ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="0054cf67b7a5f1cdb3672fba4df7f601f3617369b04f3aacee15c22f76ba7d335707d1efe4547f0933da7ef9142c04680cc3f586137e6e0a1bd673602da2a0adce57258a018f19f98cac7e89f16752db5f27302434232567c006a741d129f7ed56e34756a7aab7175fe22ee8123dfe609da2cad24711727337"], 0x0) 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3a, r2}, 0x2c, {'wfdno', 0x3d, r1}}) 15:36:43 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000080)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x1}}, 0x12) close_range(r0, 0xffffffffffffffff, 0x0) [ 840.954927][ T6694] netlink: 44 bytes leftover after parsing attributes in process `syz-executor.2'. [ 840.986590][ T6699] 9pnet_fd: Insufficient options for proto=fd 15:36:43 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) sendto$inet6(r0, &(0x7f00000002c0)="29edcb9f33fb4806580afb9291f3afa5162e93b568f43c7e834578c037b4d24a9ebe7aa0398d15e57f14d5b4c98af75837994d5203b1a7728a3f7f4291e86a263684d98c790c7fc85786cb8399748ad41d9c9878cbd7825d2cacea2714520013930380bf9b168b7915f149ebdd0b0ba782b74189d1ac14cd2814937e353770f2325f30b6724d10666adc0258b43ea391cab3c0fa9b55cc15f74fa5da7fbccb5de85224e5924d0bdd2ac1bcc08d21a6442e906d97fd4e9a4d98a44f4a535e524daf36d20dc07706311ceebae06d56", 0xce, 0x4040000, &(0x7f0000000180)={0xa, 0x4e20, 0x48c, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0xaf}, 0x1c) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') creat(&(0x7f0000000140)='./file0/file0\x00', 0x8c) syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) (async) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) (async) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) sendto$inet6(r0, &(0x7f00000002c0)="29edcb9f33fb4806580afb9291f3afa5162e93b568f43c7e834578c037b4d24a9ebe7aa0398d15e57f14d5b4c98af75837994d5203b1a7728a3f7f4291e86a263684d98c790c7fc85786cb8399748ad41d9c9878cbd7825d2cacea2714520013930380bf9b168b7915f149ebdd0b0ba782b74189d1ac14cd2814937e353770f2325f30b6724d10666adc0258b43ea391cab3c0fa9b55cc15f74fa5da7fbccb5de85224e5924d0bdd2ac1bcc08d21a6442e906d97fd4e9a4d98a44f4a535e524daf36d20dc07706311ceebae06d56", 0xce, 0x4040000, &(0x7f0000000180)={0xa, 0x4e20, 0x48c, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0xaf}, 0x1c) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') (async) creat(&(0x7f0000000140)='./file0/file0\x00', 0x8c) (async) 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x122a, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:43 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) (async) r1 = socket(0x11, 0x80a, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000300)={'bond0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="6800000010000104000000e25a00000000100000", @ANYRES32=r2, @ANYBLOB="00000700000000001c00128009000100626f6e64000000000c00028008001f"], 0x68}}, 0x0) (async) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r3, 0x0) (async) preadv(r3, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) getsockopt$inet_mreqn(r1, 0x0, 0x7, &(0x7f0000000040)={@local, @dev, 0x0}, &(0x7f0000000080)=0xc) sendmsg$nl_route_sched(r3, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f00000000c0)={&(0x7f00000003c0)=@newqdisc={0x1ec, 0x24, 0x8, 0x70bd25, 0x25dfdbfe, {0x0, 0x0, 0x0, r4, {0xb, 0xe}, {0x0, 0xfff3}, {0x5, 0x5}}, [@TCA_STAB={0xec, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x6, 0x5, 0x7ff, 0xf1, 0x1, 0x4, 0x7ff, 0x5}}, {0xe, 0x2, [0x3, 0x1, 0x1, 0x101, 0x3f]}}, {{0x1c, 0x1, {0x36, 0x3, 0xfd4e, 0x6, 0x1, 0x10001, 0x70c, 0x8}}, {0x14, 0x2, [0x4, 0xb95, 0x4, 0x8, 0xbb44, 0xffff, 0x1, 0x714]}}, {{0x1c, 0x1, {0xc8, 0x1, 0x7, 0x40, 0x2, 0x9, 0xfff, 0x5}}, {0xe, 0x2, [0x9, 0xaf6, 0x2c68, 0x1ff, 0x8]}}, {{0x1c, 0x1, {0x4, 0x9, 0x100, 0x1f, 0x2, 0x4, 0x91, 0x8}}, {0x14, 0x2, [0x9, 0x5, 0x6, 0x7f, 0x3, 0x8, 0x3, 0x2]}}, {{0x1c, 0x1, {0xb, 0x0, 0xfffd, 0x8, 0x0, 0x2, 0x7, 0x8}}, {0x14, 0x2, [0x8, 0xd9a4, 0xc9c, 0x101, 0x57, 0x7, 0x9, 0x1ff]}}]}, @TCA_STAB={0xcc, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x1, 0x5b, 0x4, 0x2, 0x2, 0x9, 0x7f, 0x7}}, {0x12, 0x2, [0x81, 0x3, 0x7, 0x7632, 0x2, 0xffff, 0x6f8]}}, {{0x1c, 0x1, {0x6, 0x0, 0x8001, 0x1, 0x0, 0x1, 0x96c, 0x7}}, {0x12, 0x2, [0x2800, 0x5, 0x81, 0x9, 0x9, 0xfff8, 0x4]}}, {{0x1c, 0x1, {0xd0, 0x1, 0x9, 0x0, 0x2, 0x10001, 0x81, 0x9}}, {0x16, 0x2, [0x4, 0xc57a, 0x3ff, 0x6, 0x9, 0x1, 0x2, 0x69, 0xfffd]}}, {{0x1c, 0x1, {0x8, 0x3, 0x0, 0x30, 0x0, 0x2, 0x4, 0xa}}, {0x18, 0x2, [0x1000, 0x20, 0x8, 0x400, 0x9, 0x0, 0x1, 0x4, 0x3, 0x3]}}]}, @qdisc_kind_options=@q_blackhole={0xe}]}, 0x1ec}, 0x1, 0x0, 0x0, 0x800}, 0x4000) 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3b, r2}, 0x2c, {'wfdno', 0x3d, r1}}) 15:36:43 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000080)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x1}}, 0x12) close_range(r0, 0xffffffffffffffff, 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) syz_init_net_socket$x25(0x9, 0x5, 0x0) (async) bind$x25(r1, &(0x7f0000000080)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x1}}, 0x12) (async) close_range(r0, 0xffffffffffffffff, 0x0) (async) [ 841.058824][ T6698] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 841.087960][ T6710] loop1: detected capacity change from 0 to 4095 [ 841.096682][ T6712] 9pnet_fd: Insufficient options for proto=fd 15:36:43 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x11, 0x80a, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000300)={'bond0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="6800000010000104000000e25a00000000100000", @ANYRES32=r2, @ANYBLOB="00000700000000001c00128009000100626f6e64000000000c00028008001f"], 0x68}}, 0x0) (async) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r3, 0x0) (async) preadv(r3, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) getsockopt$inet_mreqn(r1, 0x0, 0x7, &(0x7f0000000040)={@local, @dev, 0x0}, &(0x7f0000000080)=0xc) sendmsg$nl_route_sched(r3, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f00000000c0)={&(0x7f00000003c0)=@newqdisc={0x1ec, 0x24, 0x8, 0x70bd25, 0x25dfdbfe, {0x0, 0x0, 0x0, r4, {0xb, 0xe}, {0x0, 0xfff3}, {0x5, 0x5}}, [@TCA_STAB={0xec, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x6, 0x5, 0x7ff, 0xf1, 0x1, 0x4, 0x7ff, 0x5}}, {0xe, 0x2, [0x3, 0x1, 0x1, 0x101, 0x3f]}}, {{0x1c, 0x1, {0x36, 0x3, 0xfd4e, 0x6, 0x1, 0x10001, 0x70c, 0x8}}, {0x14, 0x2, [0x4, 0xb95, 0x4, 0x8, 0xbb44, 0xffff, 0x1, 0x714]}}, {{0x1c, 0x1, {0xc8, 0x1, 0x7, 0x40, 0x2, 0x9, 0xfff, 0x5}}, {0xe, 0x2, [0x9, 0xaf6, 0x2c68, 0x1ff, 0x8]}}, {{0x1c, 0x1, {0x4, 0x9, 0x100, 0x1f, 0x2, 0x4, 0x91, 0x8}}, {0x14, 0x2, [0x9, 0x5, 0x6, 0x7f, 0x3, 0x8, 0x3, 0x2]}}, {{0x1c, 0x1, {0xb, 0x0, 0xfffd, 0x8, 0x0, 0x2, 0x7, 0x8}}, {0x14, 0x2, [0x8, 0xd9a4, 0xc9c, 0x101, 0x57, 0x7, 0x9, 0x1ff]}}]}, @TCA_STAB={0xcc, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x1, 0x5b, 0x4, 0x2, 0x2, 0x9, 0x7f, 0x7}}, {0x12, 0x2, [0x81, 0x3, 0x7, 0x7632, 0x2, 0xffff, 0x6f8]}}, {{0x1c, 0x1, {0x6, 0x0, 0x8001, 0x1, 0x0, 0x1, 0x96c, 0x7}}, {0x12, 0x2, [0x2800, 0x5, 0x81, 0x9, 0x9, 0xfff8, 0x4]}}, {{0x1c, 0x1, {0xd0, 0x1, 0x9, 0x0, 0x2, 0x10001, 0x81, 0x9}}, {0x16, 0x2, [0x4, 0xc57a, 0x3ff, 0x6, 0x9, 0x1, 0x2, 0x69, 0xfffd]}}, {{0x1c, 0x1, {0x8, 0x3, 0x0, 0x30, 0x0, 0x2, 0x4, 0xa}}, {0x18, 0x2, [0x1000, 0x20, 0x8, 0x400, 0x9, 0x0, 0x1, 0x4, 0x3, 0x3]}}]}, @qdisc_kind_options=@q_blackhole={0xe}]}, 0x1ec}, 0x1, 0x0, 0x0, 0x800}, 0x4000) 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x12ad, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:43 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000080)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x1}}, 0x12) close_range(r0, 0xffffffffffffffff, 0x0) [ 841.138550][ T6710] ntfs3: loop1: Different NTFS' sector size (1024) and media sector size (512) [ 841.152840][ T6719] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3c, r2}, 0x2c, {'wfdno', 0x3d, r1}}) [ 841.185279][ T6724] 9pnet_fd: Insufficient options for proto=fd [ 841.191889][ T6710] ntfs3: loop1: ntfs_evict_inode r=1 failed, -22. [ 841.218132][ T6710] ntfs3: loop1: Mark volume as dirty due to NTFS errors [ 841.251672][ T6738] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 841.273078][ T6710] ntfs3: loop1: volume is dirty and "force" flag is not set! [ 841.273169][ T6737] netlink: 44 bytes leftover after parsing attributes in process `syz-executor.2'. 15:36:43 executing program 0: r0 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000080), 0x4340, 0x0) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r0, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) ioctl$KVM_HYPERV_EVENTFD(r3, 0xae45, 0x0) ioctl$LOOP_CHANGE_FD(r1, 0x4c06, r3) ioctl$TCSETS2(r0, 0x402c542b, &(0x7f00000000c0)={0x20, 0xb6cd, 0x7, 0x6, 0x1, "d8c1a575bf5d12118ab2eb86365752bf7cc56f", 0x9, 0x8}) r4 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r5 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r5, &(0x7f0000000000), 0x12) close_range(r4, 0xffffffffffffffff, 0x0) 15:36:43 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) sendto$inet6(r0, &(0x7f00000002c0)="29edcb9f33fb4806580afb9291f3afa5162e93b568f43c7e834578c037b4d24a9ebe7aa0398d15e57f14d5b4c98af75837994d5203b1a7728a3f7f4291e86a263684d98c790c7fc85786cb8399748ad41d9c9878cbd7825d2cacea2714520013930380bf9b168b7915f149ebdd0b0ba782b74189d1ac14cd2814937e353770f2325f30b6724d10666adc0258b43ea391cab3c0fa9b55cc15f74fa5da7fbccb5de85224e5924d0bdd2ac1bcc08d21a6442e906d97fd4e9a4d98a44f4a535e524daf36d20dc07706311ceebae06d56", 0xce, 0x4040000, &(0x7f0000000180)={0xa, 0x4e20, 0x48c, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0xaf}, 0x1c) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') creat(&(0x7f0000000140)='./file0/file0\x00', 0x8c) syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) (async) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) (async) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) sendto$inet6(r0, &(0x7f00000002c0)="29edcb9f33fb4806580afb9291f3afa5162e93b568f43c7e834578c037b4d24a9ebe7aa0398d15e57f14d5b4c98af75837994d5203b1a7728a3f7f4291e86a263684d98c790c7fc85786cb8399748ad41d9c9878cbd7825d2cacea2714520013930380bf9b168b7915f149ebdd0b0ba782b74189d1ac14cd2814937e353770f2325f30b6724d10666adc0258b43ea391cab3c0fa9b55cc15f74fa5da7fbccb5de85224e5924d0bdd2ac1bcc08d21a6442e906d97fd4e9a4d98a44f4a535e524daf36d20dc07706311ceebae06d56", 0xce, 0x4040000, &(0x7f0000000180)={0xa, 0x4e20, 0x48c, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0xaf}, 0x1c) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') (async) creat(&(0x7f0000000140)='./file0/file0\x00', 0x8c) (async) 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x1f00, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x3d, {'wfdno', 0x3d, r1}}) 15:36:43 executing program 2: ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10000}}, './file0\x00'}) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000180)=@raw={'raw\x00', 0x9, 0x3, 0x2e0, 0x100, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x210, 0xffffffff, 0xffffffff, 0x210, 0xffffffff, 0x3, &(0x7f0000000080), {[{{@uncond, 0x0, 0xd8, 0x100, 0x0, {}, [@common=@frag={{0x30}, {[0x34, 0x400], 0x80000000, 0x4, 0x5}}]}, @common=@unspec=@NFQUEUE0={0x28}}, {{@uncond, 0x0, 0xa8, 0x110}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x8, 0xab, 0x8001, 0x0, 'pptp\x00', 'syz0\x00', {0x1}}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x340) r1 = dup(r0) r2 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$UI_DEV_SETUP(r2, 0x405c5503, &(0x7f0000000100)={{}, 'syz1\x00'}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x10) ioctl$UI_DEV_CREATE(r2, 0x5501) r3 = bpf$ITER_CREATE(0x21, &(0x7f0000000a00)={r0}, 0x8) ioctl$UI_DEV_CREATE(r3, 0x5501) r4 = bpf$ITER_CREATE(0x21, &(0x7f00000000c0)={r1}, 0x8) write$binfmt_elf32(r4, &(0x7f00000004c0)={{0x7f, 0x45, 0x4c, 0x46, 0xc1, 0x3, 0x9e, 0x81, 0x401, 0x3, 0x6, 0x4, 0x197, 0x38, 0x37d, 0x3, 0x200, 0x20, 0x2, 0x2, 0x4, 0xc36}, [{0x70000000, 0xffff0000, 0x0, 0x7, 0x6, 0x8e8a, 0x3f, 0x7f45}, {0x6474e551, 0x101, 0xf762, 0x1, 0x6, 0x8001, 0x2, 0x4}], "c3c4444383e06e25c9d815d817f10fd5e5b9071da7b4ac641a31ec105cd185eef5c820e1f1dc71817ff1cefdb535f10d68d4cf37dacb5ecfea0b4f4bb1cad78ab253e723aa97d438c3f73e7d857d65d908ca889329351114d8caa008dc88a20364da49595baf762f77f565c0579d64f9f4158f0707087322490e76b6d3c223e192a7f4bd1409a1d2d59917113ee8a50505b8b7e3cb", ['\x00', '\x00', '\x00', '\x00']}, 0x50d) ioctl$UI_SET_EVBIT(0xffffffffffffffff, 0x40045564, 0x1d) ioctl$UI_ABS_SETUP(r2, 0x401c5504, 0x0) [ 841.297013][ T6744] 9pnet_fd: Insufficient options for proto=fd 15:36:43 executing program 1: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000044000000000000000f8000000000000000000000000000080008000ff0500000000000002000000000000000f00000000000000f6000000f4", 0x45}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000001000000000000000100000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000000001000000000000000100000000001101020000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000001000000000008000000000000000800000000000000110101", 0x18b, 0x20000}, {&(0x7f0000000340)="000000000000000000000000000000000000000000000000ff0000000000020046494c4530000300000000000000000001000100380001005801000000040000000000170000000100000002000000000000f910000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000020000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372ec237c4d8010000010000d21bd2cc00000000000100000000000600000000000000080324004d00460054004d0069007200720000000040000080000000480000000000f53f135a93a16706b5d556e38acf3b7afccd21ccda1cf57a01b60ebe90f2cb4fab072c72955522fa8ebcda126e1825711d95b77527c2a955d77ea13b2b93f7aab7b905493dfda79f8419eb63a1b9510209b11aa4add404ef995da6be68a0b93116a443f5db5eddce60892d8adef0839cbd83370eeba697f7a9c668c50a3988d703407ae66e67a716e94c1a5175b15b797e2f4977b7a0fdc9b5a68878", 0x1cd, 0x203e0}, {&(0x7f0000010480)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c00650000000000000080000000480000000100400000000100000000000000000003000000000000004000000000000000000004000000000000000400000000000000040000000000110410", 0x16b, 0x207e0}, {&(0x7f0000010620)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x20be0}, {&(0x7f0000000540)="00000000000000000000000000000000000000003d080000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d8010000010000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400020000000000000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000000a000000000000000a00000000000011010732ffec260588c3606a9a9a92a2a1fba9d82b674ff3aeef178f9794a365f8d6", 0x1f2, 0x20fe0}, {&(0x7f0000010a40)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000372e4237c4d8019262a24237c4d8019262a24237c4d80100372e4237c4d80126200010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000000000000000000400000000000000000000100000000002c100000000000002c100000000000001101050000000000900000005800000000041800000003003800000020000000240049003300300030000000010000000010000008", 0x175, 0x213e0}, {&(0x7f0000010c60)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000001000000000008000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000000001000000000008000000000000000800000000000000110108", 0x163, 0x217e0}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff000000008000000018000000000018000000020000000000180000008000000050000000010440000000010000000000000000001e00000000000000480000000000000000001f000000000000001f000000000000000000000000002400420061006400011f", 0x18a, 0x21fe0}, {&(0x7f00000111c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000040000000000000048000000000000000000050000000000700104000000000070010400000000002400530044005300110509000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000800000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000008000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x223e0}, {&(0x7f0000000740)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000000100000000000000400000000000000000000200000000000000020000000000000002000000000011010e110106d4338a57283996ec3b649ef257675be6716bf913112883422ff3ab0a670ca3453bf3dce7827d0b2f44d6b2275132711257f7bed53b427a10a1ab0d87189d7cc5b8cd16a8019557a94b54cba9c5648543d18b059b9ed410857002f04f5a9bd0d1de05c2b793e84766534e4b2165001646367fe7bf45caa1339b310cb2932a15c502d7ffe260671ce2320f989137c5e547b2363b7c8554ad4daf9f2e812f8ede1155ddbe18708239223e40f0bb3d097c0e516a46bc60920a677d39db6c07c1dae148306090bcb25c13516fc511b6686a", 0x235, 0x227e0}, {&(0x7f00000153c0)="10", 0x1, 0x70080}, {&(0x7f000002a4a0)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="0054cf67b7a5f1cdb3672fba4df7f601f3617369b04f3aacee15c22f76ba7d335707d1efe4547f0933da7ef9142c04680cc3f586137e6e0a1bd673602da2a0adce57258a018f19f98cac7e89f16752db5f27302434232567c006a741d129f7ed56e34756a7aab7175fe22ee8123dfe609da2cad24711727337"], 0x0) [ 841.382037][ T6757] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 841.412107][ T6763] loop1: detected capacity change from 0 to 4095 [ 841.418938][ T6765] input: syz1 as /devices/virtual/input/input23 15:36:43 executing program 2: ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10000}}, './file0\x00'}) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000180)=@raw={'raw\x00', 0x9, 0x3, 0x2e0, 0x100, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x210, 0xffffffff, 0xffffffff, 0x210, 0xffffffff, 0x3, &(0x7f0000000080), {[{{@uncond, 0x0, 0xd8, 0x100, 0x0, {}, [@common=@frag={{0x30}, {[0x34, 0x400], 0x80000000, 0x4, 0x5}}]}, @common=@unspec=@NFQUEUE0={0x28}}, {{@uncond, 0x0, 0xa8, 0x110}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x8, 0xab, 0x8001, 0x0, 'pptp\x00', 'syz0\x00', {0x1}}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x340) r1 = dup(r0) r2 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$UI_DEV_SETUP(r2, 0x405c5503, &(0x7f0000000100)={{}, 'syz1\x00'}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x10) ioctl$UI_DEV_CREATE(r2, 0x5501) r3 = bpf$ITER_CREATE(0x21, &(0x7f0000000a00)={r0}, 0x8) ioctl$UI_DEV_CREATE(r3, 0x5501) r4 = bpf$ITER_CREATE(0x21, &(0x7f00000000c0)={r1}, 0x8) write$binfmt_elf32(r4, &(0x7f00000004c0)={{0x7f, 0x45, 0x4c, 0x46, 0xc1, 0x3, 0x9e, 0x81, 0x401, 0x3, 0x6, 0x4, 0x197, 0x38, 0x37d, 0x3, 0x200, 0x20, 0x2, 0x2, 0x4, 0xc36}, [{0x70000000, 0xffff0000, 0x0, 0x7, 0x6, 0x8e8a, 0x3f, 0x7f45}, {0x6474e551, 0x101, 0xf762, 0x1, 0x6, 0x8001, 0x2, 0x4}], "c3c4444383e06e25c9d815d817f10fd5e5b9071da7b4ac641a31ec105cd185eef5c820e1f1dc71817ff1cefdb535f10d68d4cf37dacb5ecfea0b4f4bb1cad78ab253e723aa97d438c3f73e7d857d65d908ca889329351114d8caa008dc88a20364da49595baf762f77f565c0579d64f9f4158f0707087322490e76b6d3c223e192a7f4bd1409a1d2d59917113ee8a50505b8b7e3cb", ['\x00', '\x00', '\x00', '\x00']}, 0x50d) ioctl$UI_SET_EVBIT(0xffffffffffffffff, 0x40045564, 0x1d) ioctl$UI_ABS_SETUP(r2, 0x401c5504, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10000}}, './file0\x00'}) (async) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000180)=@raw={'raw\x00', 0x9, 0x3, 0x2e0, 0x100, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x210, 0xffffffff, 0xffffffff, 0x210, 0xffffffff, 0x3, &(0x7f0000000080), {[{{@uncond, 0x0, 0xd8, 0x100, 0x0, {}, [@common=@frag={{0x30}, {[0x34, 0x400], 0x80000000, 0x4, 0x5}}]}, @common=@unspec=@NFQUEUE0={0x28}}, {{@uncond, 0x0, 0xa8, 0x110}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x8, 0xab, 0x8001, 0x0, 'pptp\x00', 'syz0\x00', {0x1}}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x340) (async) dup(r0) (async) openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) ioctl$UI_DEV_SETUP(r2, 0x405c5503, &(0x7f0000000100)={{}, 'syz1\x00'}) (async) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x10) (async) ioctl$UI_DEV_CREATE(r2, 0x5501) (async) bpf$ITER_CREATE(0x21, &(0x7f0000000a00)={r0}, 0x8) (async) ioctl$UI_DEV_CREATE(r3, 0x5501) (async) bpf$ITER_CREATE(0x21, &(0x7f00000000c0)={r1}, 0x8) (async) write$binfmt_elf32(r4, &(0x7f00000004c0)={{0x7f, 0x45, 0x4c, 0x46, 0xc1, 0x3, 0x9e, 0x81, 0x401, 0x3, 0x6, 0x4, 0x197, 0x38, 0x37d, 0x3, 0x200, 0x20, 0x2, 0x2, 0x4, 0xc36}, [{0x70000000, 0xffff0000, 0x0, 0x7, 0x6, 0x8e8a, 0x3f, 0x7f45}, {0x6474e551, 0x101, 0xf762, 0x1, 0x6, 0x8001, 0x2, 0x4}], "c3c4444383e06e25c9d815d817f10fd5e5b9071da7b4ac641a31ec105cd185eef5c820e1f1dc71817ff1cefdb535f10d68d4cf37dacb5ecfea0b4f4bb1cad78ab253e723aa97d438c3f73e7d857d65d908ca889329351114d8caa008dc88a20364da49595baf762f77f565c0579d64f9f4158f0707087322490e76b6d3c223e192a7f4bd1409a1d2d59917113ee8a50505b8b7e3cb", ['\x00', '\x00', '\x00', '\x00']}, 0x50d) (async) ioctl$UI_SET_EVBIT(0xffffffffffffffff, 0x40045564, 0x1d) (async) ioctl$UI_ABS_SETUP(r2, 0x401c5504, 0x0) (async) 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x2000, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x2, r1}}) [ 841.433057][ T6766] 9pnet_fd: Insufficient options for proto=fd 15:36:43 executing program 0: r0 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000080), 0x4340, 0x0) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r0, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) ioctl$KVM_HYPERV_EVENTFD(r3, 0xae45, 0x0) ioctl$LOOP_CHANGE_FD(r1, 0x4c06, r3) ioctl$TCSETS2(r0, 0x402c542b, &(0x7f00000000c0)={0x20, 0xb6cd, 0x7, 0x6, 0x1, "d8c1a575bf5d12118ab2eb86365752bf7cc56f", 0x9, 0x8}) r4 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r5 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r5, &(0x7f0000000000), 0x12) close_range(r4, 0xffffffffffffffff, 0x0) openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000080), 0x4340, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r0, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) (async) openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) (async) ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) (async) ioctl$KVM_HYPERV_EVENTFD(r3, 0xae45, 0x0) (async) ioctl$LOOP_CHANGE_FD(r1, 0x4c06, r3) (async) ioctl$TCSETS2(r0, 0x402c542b, &(0x7f00000000c0)={0x20, 0xb6cd, 0x7, 0x6, 0x1, "d8c1a575bf5d12118ab2eb86365752bf7cc56f", 0x9, 0x8}) (async) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) syz_init_net_socket$x25(0x9, 0x5, 0x0) (async) bind$x25(r5, &(0x7f0000000000), 0x12) (async) close_range(r4, 0xffffffffffffffff, 0x0) (async) [ 841.518700][ T6763] ntfs3: loop1: Different NTFS' sector size (1024) and media sector size (512) [ 841.525318][ T6771] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 841.535256][ T6770] input: syz1 as /devices/virtual/input/input24 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x2a12, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3, r1}}) [ 841.564674][ T6763] ntfs3: loop1: ntfs_evict_inode r=1 failed, -22. [ 841.586466][ T6773] 9pnet_fd: Insufficient options for proto=fd [ 841.590479][ T6763] ntfs3: loop1: Mark volume as dirty due to NTFS errors 15:36:43 executing program 2: ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10000}}, './file0\x00'}) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000180)=@raw={'raw\x00', 0x9, 0x3, 0x2e0, 0x100, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x210, 0xffffffff, 0xffffffff, 0x210, 0xffffffff, 0x3, &(0x7f0000000080), {[{{@uncond, 0x0, 0xd8, 0x100, 0x0, {}, [@common=@frag={{0x30}, {[0x34, 0x400], 0x80000000, 0x4, 0x5}}]}, @common=@unspec=@NFQUEUE0={0x28}}, {{@uncond, 0x0, 0xa8, 0x110}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x8, 0xab, 0x8001, 0x0, 'pptp\x00', 'syz0\x00', {0x1}}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x340) r1 = dup(r0) (async) r2 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$UI_DEV_SETUP(r2, 0x405c5503, &(0x7f0000000100)={{}, 'syz1\x00'}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x10) ioctl$UI_DEV_CREATE(r2, 0x5501) (async) r3 = bpf$ITER_CREATE(0x21, &(0x7f0000000a00)={r0}, 0x8) ioctl$UI_DEV_CREATE(r3, 0x5501) (async) r4 = bpf$ITER_CREATE(0x21, &(0x7f00000000c0)={r1}, 0x8) write$binfmt_elf32(r4, &(0x7f00000004c0)={{0x7f, 0x45, 0x4c, 0x46, 0xc1, 0x3, 0x9e, 0x81, 0x401, 0x3, 0x6, 0x4, 0x197, 0x38, 0x37d, 0x3, 0x200, 0x20, 0x2, 0x2, 0x4, 0xc36}, [{0x70000000, 0xffff0000, 0x0, 0x7, 0x6, 0x8e8a, 0x3f, 0x7f45}, {0x6474e551, 0x101, 0xf762, 0x1, 0x6, 0x8001, 0x2, 0x4}], "c3c4444383e06e25c9d815d817f10fd5e5b9071da7b4ac641a31ec105cd185eef5c820e1f1dc71817ff1cefdb535f10d68d4cf37dacb5ecfea0b4f4bb1cad78ab253e723aa97d438c3f73e7d857d65d908ca889329351114d8caa008dc88a20364da49595baf762f77f565c0579d64f9f4158f0707087322490e76b6d3c223e192a7f4bd1409a1d2d59917113ee8a50505b8b7e3cb", ['\x00', '\x00', '\x00', '\x00']}, 0x50d) (async) ioctl$UI_SET_EVBIT(0xffffffffffffffff, 0x40045564, 0x1d) ioctl$UI_ABS_SETUP(r2, 0x401c5504, 0x0) [ 841.618669][ T6763] ntfs3: loop1: volume is dirty and "force" flag is not set! 15:36:43 executing program 4: r0 = syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) ioctl$KVM_HYPERV_EVENTFD(r2, 0xae45, 0x0) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x400, 0x0, 0x0, 0x40000, &(0x7f0000000140)=ANY=[@ANYRES8=r0, @ANYRES8=r2], 0x0) mkdir(&(0x7f0000000040)='./file1\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x4, r1}}) 15:36:43 executing program 1: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000044000000000000000f8000000000000000000000000000080008000ff0500000000000002000000000000000f00000000000000f6000000f4", 0x45}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000001000000000000000100000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000000001000000000000000100000000001101020000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000001000000000008000000000000000800000000000000110101", 0x18b, 0x20000}, {&(0x7f0000000340)="000000000000000000000000000000000000000000000000ff0000000000020046494c4530000300000000000000000001000100380001005801000000040000000000170000000100000002000000000000f910000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000020000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372ec237c4d8010000010000d21bd2cc00000000000100000000000600000000000000080324004d00460054004d0069007200720000000040000080000000480000000000f53f135a93a16706b5d556e38acf3b7afccd21ccda1cf57a01b60ebe90f2cb4fab072c72955522fa8ebcda126e1825711d95b77527c2a955d77ea13b2b93f7aab7b905493dfda79f8419eb63a1b9510209b11aa4add404ef995da6be68a0b93116a443f5db5eddce60892d8adef0839cbd83370eeba697f7a9c668c50a3988d703407ae66e67a716e94c1a5175b15b797e2f4977b7a0fdc9b5a68878", 0x1cd, 0x203e0}, {&(0x7f0000010480)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c00650000000000000080000000480000000100400000000100000000000000000003000000000000004000000000000000000004000000000000000400000000000000040000000000110410", 0x16b, 0x207e0}, {&(0x7f0000010620)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x20be0}, {&(0x7f0000000540)="00000000000000000000000000000000000000003d080000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d8010000010000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400020000000000000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000000a000000000000000a00000000000011010732ffec260588c3606a9a9a92a2a1fba9d82b674ff3aeef178f9794a365f8d6", 0x1f2, 0x20fe0}, {&(0x7f0000010a40)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000372e4237c4d8019262a24237c4d8019262a24237c4d80100372e4237c4d80126200010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000000000000000000400000000000000000000100000000002c100000000000002c100000000000001101050000000000900000005800000000041800000003003800000020000000240049003300300030000000010000000010000008", 0x175, 0x213e0}, {&(0x7f0000010c60)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000001000000000008000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000000001000000000008000000000000000800000000000000110108", 0x163, 0x217e0}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff000000008000000018000000000018000000020000000000180000008000000050000000010440000000010000000000000000001e00000000000000480000000000000000001f000000000000001f000000000000000000000000002400420061006400011f", 0x18a, 0x21fe0}, {&(0x7f00000111c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000040000000000000048000000000000000000050000000000700104000000000070010400000000002400530044005300110509000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000800000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000008000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x223e0}, {&(0x7f0000000740)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000372e4237c4d80100372e4237c4d80100372e4237c4d80100372e4237c4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000000100000000000000400000000000000000000200000000000000020000000000000002000000000011010e110106d4338a57283996ec3b649ef257675be6716bf913112883422ff3ab0a670ca3453bf3dce7827d0b2f44d6b2275132711257f7bed53b427a10a1ab0d87189d7cc5b8cd16a8019557a94b54cba9c5648543d18b059b9ed410857002f04f5a9bd0d1de05c2b793e84766534e4b2165001646367fe7bf45caa1339b310cb2932a15c502d7ffe260671ce2320f989137c5e547b2363b7c8554ad4daf9f2e812f8ede1155ddbe18708239223e40f0bb3d097c0e516a46bc60920a677d39db6c07c1dae148306090bcb25c13516fc511b6686a", 0x235, 0x227e0}, {&(0x7f00000153c0)="10", 0x1, 0x70080}, {&(0x7f000002a4a0)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="0054cf67b7a5f1cdb3672fba4df7f601f3617369b04f3aacee15c22f76ba7d335707d1efe4547f0933da7ef9142c04680cc3f586137e6e0a1bd673602da2a0adce57258a018f19f98cac7e89f16752db5f27302434232567c006a741d129f7ed56e34756a7aab7175fe22ee8123dfe609da2cad24711727337"], 0x0) [ 841.689871][ T6799] 9pnet_fd: Insufficient options for proto=fd [ 841.719179][ T6797] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x5, r1}}) 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x4800, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) [ 841.744272][ T6801] input: syz1 as /devices/virtual/input/input25 [ 841.777231][ T6805] 9pnet_fd: Insufficient options for proto=fd [ 841.784936][ T6806] loop1: detected capacity change from 0 to 4095 15:36:43 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xd, 0x4, &(0x7f0000000400)=ANY=[@ANYBLOB="b40080000000000061119c0000000000c6001a00000000009500000000000000"], &(0x7f0000000080)='GPL\x00', 0x4, 0x3e0, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xffffffffffffffb4, 0x10, &(0x7f0000000000), 0x76}, 0x48) 15:36:43 executing program 0: r0 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000080), 0x4340, 0x0) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r0, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) (async) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) ioctl$KVM_HYPERV_EVENTFD(r3, 0xae45, 0x0) (async) ioctl$LOOP_CHANGE_FD(r1, 0x4c06, r3) (async) ioctl$TCSETS2(r0, 0x402c542b, &(0x7f00000000c0)={0x20, 0xb6cd, 0x7, 0x6, 0x1, "d8c1a575bf5d12118ab2eb86365752bf7cc56f", 0x9, 0x8}) (async) r4 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r5 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r5, &(0x7f0000000000), 0x12) (async) close_range(r4, 0xffffffffffffffff, 0x0) [ 841.821267][ T6806] ntfs3: loop1: Different NTFS' sector size (1024) and media sector size (512) 15:36:43 executing program 4: r0 = syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) ioctl$KVM_HYPERV_EVENTFD(r2, 0xae45, 0x0) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x400, 0x0, 0x0, 0x40000, &(0x7f0000000140)=ANY=[@ANYRES8=r0, @ANYRES8=r2], 0x0) (async) mkdir(&(0x7f0000000040)='./file1\x00', 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:43 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x4c00, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:43 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x6, r1}}) 15:36:43 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xd, 0x4, &(0x7f0000000400)=ANY=[@ANYBLOB="b40080000000000061119c0000000000c6001a00000000009500000000000000"], &(0x7f0000000080)='GPL\x00', 0x4, 0x3e0, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xffffffffffffffb4, 0x10, &(0x7f0000000000), 0x76}, 0x48) [ 841.861777][ T6810] 9pnet_fd: Insufficient options for proto=fd [ 841.880100][ T6806] ntfs3: loop1: ntfs_evict_inode r=1 failed, -22. [ 841.909517][ T6806] ntfs3: loop1: Mark volume as dirty due to NTFS errors 15:36:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x5865, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:44 executing program 4: r0 = syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) ioctl$KVM_HYPERV_EVENTFD(r2, 0xae45, 0x0) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x400, 0x0, 0x0, 0x40000, &(0x7f0000000140)=ANY=[@ANYRES8=r0, @ANYRES8=r2], 0x0) (async) mkdir(&(0x7f0000000040)='./file1\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:44 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xd, 0x4, &(0x7f0000000400)=ANY=[@ANYBLOB="b40080000000000061119c0000000000c6001a00000000009500000000000000"], &(0x7f0000000080)='GPL\x00', 0x4, 0x3e0, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xffffffffffffffb4, 0x10, &(0x7f0000000000), 0x76}, 0x48) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xd, 0x4, &(0x7f0000000400)=ANY=[@ANYBLOB="b40080000000000061119c0000000000c6001a00000000009500000000000000"], &(0x7f0000000080)='GPL\x00', 0x4, 0x3e0, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xffffffffffffffb4, 0x10, &(0x7f0000000000), 0x76}, 0x48) (async) [ 841.982823][ T6806] ntfs3: loop1: volume is dirty and "force" flag is not set! [ 842.001846][ T6833] 9pnet_fd: Insufficient options for proto=fd 15:36:44 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x7, r1}}) 15:36:44 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) close_range(r0, 0xffffffffffffffff, 0x0) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) dup(r2) 15:36:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x6000, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:44 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000100)=ANY=[@ANYBLOB="12010000000000206dff82404000010200ce0c0000000080d3c08a0003baa42e0177c3000001000400000000000000000000000000000000000087c0b22e9f474adc0d60519cffa836082dece3d0ef87ff033b000024f34ae1a7fcd805b7b7e84670fbe53b5af9e0d9c48cbb3bb10bc9bbc4a80efcdd97753c02eea13a5b9fd1b36740cd49b5ba7d53f057756dfa7e2ee54b656fa1e1", @ANYRES8=r0, @ANYBLOB="0e1bc9e00206270000"], 0x0) 15:36:44 executing program 1: syz_read_part_table(0xfffffffffffffffd, 0x0, 0x0) syz_read_part_table(0x2, 0x9, &(0x7f0000001500)=[{&(0x7f0000000000)="0a8f5e118943af42a57b7d897408f92700dc00e7371eda3a6fa0825195b744c7de540cb062d6e557d5804a101b1396681dc9d5c157e64e3c535cad2ebc06fc0446dbe263ab657daff025f0d90e702f2a78488ef82170d4afc5e50fb659f9be3f32cb2f39e75ee43ed06efd95d0c78ec970a129e84f175e2e73d4d169b98b323b07b9ba7280ae3ae392f20370278f83058f0aaff0f2028535", 0x98, 0x40}, {&(0x7f00000000c0)="fa1b67b3362b653fb30b260b2db553f7f06068f413a799d69de36883db6d57a1d74ddd137e48123aef06a51cbeb6f22a8b4d2402a8f13f36f9aec880c6b611f54c558222f84d06498e8c52111d0c31747a12c42e1db3c207bc6d5fac8f231be496fd3d77c496149ed3ed9307aa4a7c1f4692daaea07e8399381b2c6cf2954c50cd11d764d25253f1a6ad034e384e1998b44dff9239f259a05addba058a8ebace572913636d29735c1a2cfcba3d1052123a4a0ab4ebcff34b2d8cc1bdf4e068971442ce4be328aba14255ea01f0b515e45748584c0f46ae22a417099a27592202bc5b6528d2a6f3f037a9f71357c6d96387c6e4ce6ce23751abe5a0e57cc935b65d531166953a2966b8791380900bfc610a925c4db7db4cda7a64a6bb667008aca72631154af433305d3c27279d3e3cc7a478e223563da92c5cb2bceff40f67be3971b284af795a5943d23f0161e71bb1831cb84f32bccea91cf91e92be06c4d7cd0690f864d818d8c096b05e89f1a868c5bfab19609e9b325e1693bde7bdab4dbfd2e68fbe2a58216df85d01e49eda2ca8e9deb0b73b94c27c85d3db45aca3a4611eb59158ab3c7e9642ac754c60bbf6ef05b171351cf71ca9437b1b2dd61be1714bd34e632d756ec9b700cab61ce14497fb7aed261d984c2394eba246b8946af007aa2f32671b2e6db4321c308f76ecd77eb34b760efa4f9e6666fe105b0db546ea714a4c1bd35c4185f41014a6417e445574813b45ff0f756fd20c3fcf3ec8914379bb31f5abbbd70f346e4930e0aad58f75497478680702c7f6b35ad845f58217f9915e3ad09c2fcdda4c72fa9f716d2a64b50ae5333c24f41a3a146de816cdebd0ef7a98fb81b443044c4712feb53735fba4a0fdaeb5bc281a8bcbe0937fb5a2d22a6272d88b3904325174d9e7369be3d58e80fe6051cf367924b8f59327822b0bd6febe84224ece96f0e776201db7254dd3441bb3f9ecf5ef3c98674551f42c7d75084abbcb0a3c4b2666aaf561744bfa73cde7c7ad8af524f260036cae566f604d40790f3ef926e224f0605048b8f099e3228b07750c27babdaaeb5ece16eae12074e96a147c9b20a40e626e47ff519f5d1a3f6701e80342e8f17c3d55c113a157aae7e641646071c3c255b49510ea908901e01850d2e0aa5bc86c329c053bb848ef6769a0b1f9db4e79343cccbc66e56574968b7b82d0b25615a8b1fcc47f90f9ef334bebb53775aa4610cff3a8293888cac77276e65bff6bbc50bea6db694b4598d42e0cf2e350b7ca07a838f898c628670c9f353ef6f42761db9821a84d678508db57a4240e37db0bd3a717433b7b3e93cd67a11b6d6055f6ab4ded23481eb1ab5cf374909c54792e40d00a11a046de13a37c19e19dfa32e311f7b5335bdbb99e250835a6e8f708903b2f159734201889d43c8bc3cc0127d09305b1676d81f28f5e099db8b89d071d66e24dd4c75c173c6c061457f8b64e7a2944df93d2a0038b8fae31b9e8cef805d2c1d5513c01c775423309d55002b77b57bfa59dbb1ac2f11c0f850405fddaeb3f58091bb8872e56e9b7080618f8ebaa87e983b72eb1318147f2cd0176e1c6fd5627f6523901cc3fee42c15b8844b47984d9603722e56a7e75834a851ac9489c9cfa943651b3bfbe01dc31d3e996ab900ffd2a4ff12a256338a8ce0218426722004d054b0c02726a3c187b983e494c48f4ea7502142af6d68e4f1ce520b9a867f56185231fecbfaf5912b09caa281f5ac1c086ace4caa951ec2eb61e14ef6e0bcb48929908ea5cb7fe77d76b1f0caffe2462b241a30b1ed60ef68a5a5abce99ef1b1bcd7b440c60d4357f693a7f4366e62b7d67a513d6461f8371051a21f1df86f8ab92b8d466dea533c3827dddb2efc72811745b189414085812c30b874f317cca07895379f3c4df8921badbfc2a7c6490d6ef4fdd9fc18c1fd33a327bc064e18cfe9d5578bcb70e948dbd0435fd2433bace90af391abb32530a721cc4b060a2e1aea4bc7ace64a96c5562a307591b5ce39ffd0ee99a22627a18d2bae3710dfcddcb99135579fbbeeb42b9fb46f5810d3fd1284dc06f1a5b628cdb30ee8905d17e8939f3a9cf4be49043577e48c75f9269c3cef6f648594de660493ed62f22602fab91e730d32b5f0216cac123b504aa4ecf0e0008df3380fa39ce6a3fb1783a53ca5edbce19eeb3eaf12f8bbb0b395ebdfd505f666ec2301b7e792e72123773e6dc976c1305007de1218ae4bd5032eef25be140746e493f289e3201ee66c692c87184c65ca13157d1045f932e045861d7e07e5172a2f9a57964ad34bc6e00da897e236501416681fd6552c5a75363093f862bb755a175a1e1a02c49f3c64a50510fe250bba07eee62f05f72484c75ec9d3b8a5658a9d02591cca5b270a61d00ed854b8581def8cdd2fa8a6239ae198c95094e74267d8e7adbbb5a1807b6caf37c94f4c86a845e0e7778356f7c36214367820b584a51a6a41938a4f412c2812f3bbd38da22e2386700f39ed2a98f201242d49aa4998706a5ebf2485ee795d5197a938fde273f82f508b3cda30ef430c6d1a3eba17b3b82d3b5a9432b26318a9f67002f4f1b6164635b15491bb077be437c419ad416a813d3694302c9db9e1ce7682bec7ff64fee30acaf4032dcde491cbdec9bb5784a0210c086a9fb61c7e3638d956bc26de3773f14d2af2c8813542c57f113473b4760ea03027f84c776da6bb4c24f002e2456a975741df9fcd38d6261d56afaf4cfb8c6f135fbe6c179c94ff4169ef45a1d8969574c98a1dcfd1abde7dcd51925436b18a11d3cf6229e9fa67b225eb730ed8c130898cf80052bfa75b20d442dd315c6b108f9950a2fecd902f20c3e7616aefb13097bebac5d3e2f74bf38bc12745544b27fe3ae8243b78bfdedebf7f01e9535e1f895ed9f44789314eaa2e1404d418ae571e3e4ac3c04d5bf400ba79570b71013270d278bf275d3e4533607259764af4ac3a4542f3ad2e7edff1e38dba7420725fa3414368ee0385bb6663bf55f29c0d86a6b198fe455089cd71cb869df670dfd01e00255069b16a150dde4d221302392bd9e01214ebf873b08ff5d364c4bc5521b9de72cd4fa55dcb79612c37e77538f37a785fc50c36645e3f69bb7ac262789db40d929eb29eb91206278019753b2f2de0481450fedd7942c0b31d66a8bd5587df3e2d44995a7cf2ca6e9a468a68f7db324d2b3565f7c4b85946dffde41f439a1687bdd4695c9763e7c62872ff6d49cdfbf3e6c526a4f0d0a0ace4df17d1327bcfa45e8306d3411072c601e6dad0011ad42bde5461f6c1fb9ef6b4bd4ab50025da74350d25d583d414b53e1e7176b395bcbf14a5e73950fa18c002a07cfcbb04e62770dbe6af52ac289b2d252bdf7f31842830bcc63f9b2ef36446324d21ec98c281e1884251bda40b2be2395524ab396551b2896813a7db1801d004385937eb806a9c198fd03038ca3c373de602f2ea51e57c2bae1e1be08940619035ca8003e87ea62daa9d014227fac1401ae36e800754c3ae1de9d79369c34e5f51e82d7d57d311968640a3f854f527d2ddb75d86aed78aa4b23f15c917bb707d8bf5004e1d11edf86d3c1ee10e09f52cf8718e57fad4f4d570fd5bd9ccd70bca4a9502be978510b696d2826d9df23e3816c85b434e9e07876c003bf3365d390fbe9b008aa6cd2c31140851e2cfe1d4e61ab5c590be2b1633dab604a397fc17a80e23a74a537785e787df854386dae847f5c724ba3ece4cab53a68d316ba79d167889fe08905d1d7746f78e465d08681a4afb790ad70d44a1d59e46be5e8582eeab56561b0cde10dae6a759da3b8a5a474e2d057230c25e49480eaf211c57f7ab5e5861952b944e6a2f33d982434895532c435127b4817ceb7d336a730dad97b7b0fab48d812da42d5f87ffe472b6e561618b13065e6ae7fd8ffaf132ee2859eb8e32d8166421a5d949100b8f2b43f257f2c4e87bc77dd7f92fd29a5d4bc983b88f710e43648c72a6742a1062014df180067ac2e207acd60e9310154320bb58e6f56c503b817be3a0e2e9f30561d0a4c478b57732d7d2029129d9c0ab28afdeb9065d4fdb177cff80907119ec69c06f161558f1a23d3a3cab8b78af25ef6abaff192742f45f9c52537f94b600f76d8e78e779a4d2346fb27e6d07f22c3c12c6b2d04b21547f0c1a6a7659725a749ca3f4645eec13db2084f81437a1729b3d2bd6440a31ec99a09d45f99bbad8bd4a7c228bdd89e5bd5b5114aaca62cde78a7ae37519dc14a89509bf3c3bd8769ef0e7eddb5b331ade33b70d40076217e542ba1ebb99769471fa8477cebf32bb6f26653fed811c2afce04d53f765f194d08cd3282272c7d1f96daa81963115c2580c0a9e9cfef21697283b8f904bbd79264fac436933f719b519425d4f36086a38478d369e53f2ff130b1f96e0f7b30ac1d24e2fb978049444c4cb70cd47bacfb51edbd72a94b54aaf0b52707eec4ae6c4758bb9ab181688284ef0d37e0ee54d172ea2d0c8746b90926624be53ba88ec5d307c4c13e7044aa060a0c686bfeac10d11f8e06895dbe07f9540f4207bfc0a578c45b2170ba93f8a60080cd7997b284d8385209e68c570bbe64cf1eb87cc26805b61f5ac89e61a43dbd3970b3810bfd64fa5c5dfee24b321ed37df5d82fa36fb21de9243327740f9ee0e9eb499e29da2408a094bc10ba757d044cc857ee14f1266d2c3984f1648be4b4b7c86d0e835dd66e0ff6b74997b52765928b501a4236fefc3ba98518b73433c559b168f2f2f300cb10ece7c3a56849d16d2574069f79292331c68766a5620b8e569a7eb86df4db32940f4a2f3cc121cbdfa4268a5059939d76b4838d819d722b2c69a8e4f4b34b5f591336efb1e35ff5d84e3935106086f15983c18afec0b760707a847c0eabd02f4f5028a1adb1da2f2ca9f476a1270eccafe3eb771f25c7e15d1663a6866cbc6a25b0a09aee67ac70c948487be6a9207839e48e05c240d0d39cb85a287c3930ed3486f505c1a89f559409ffd654dd19c0275100042a3c03c57ae38d0dd6ed39f1643f02f4552617de622d5560b7ddbce17ce147dada548f5153d6740579e998e895da12135d4a3105ff547e89ecfbf58495519488942115c3695648d77431356dc9f16cc6c69a7fb4995a379a71571ea2a6ca74511ab500814e59189fcd81df7d2219d85a066376e0bdccf987f566c20dc4cb3bb73ed3abc9e542b572afd12a3d874693a4f704112b243125708759be0f95fc52b88b037785cadbaecfd8a4d95a6b3ec2e17c2f82b0de7fe5b5181bc0b31ae6d071f5fa0e812c0125a1620314cc3f493f30120feafef93bdb1212ddb57804e732191d6356a9a8aa269d4d59935d84b12b371ef8b32cb8d860e8fe5f40f5be72f739bfc7a2abbe0ff89bf725eca7d6a0aece0c2380131782a35db35fa19522e4f996fd0b26989bebb507f590160eeb537d9ed688c95e601c53366d7fafa8335e6873c78af76a86b2d58a8741f641e28443dfcab2f483b94185ec47364f1e820d18d0d6558b599fe2f85164a56fbf4762db3ed687b94d49a6373d90e3fefbb6a70b3cd5fb182eb92adb7cd5dbd4c2048c04d37c56393e55355d07a9aecd55d71c5f5ae93ac97aec9d2418638814defc7dcff810c4e4e4ab3ee24e4901c81b20f295685387add94b4d2853b9e35e64c265061d3317c5ee35528b760b05909b70c2d6b0dd843b17589220cfd55e3d1e8b3bc6e3fc7d693ee7e1df46fdc45aece1463c2a07d66923974d447f84ce7e9", 0x1000, 0x8001}, {&(0x7f00000010c0)="5b286a9c2f5e29c9bb227bde3d414ed298b3939ba7fc9d745c37fd80ea97befd0d457abb126084ff369694fefa75c6606ca34cf6f9e6cd42f38643a1c56e09b7476892a57a1022d92e2987e0bce787f77464f6cd98137a35d95017e06ee23ed76e553b03f2186dca08f3db59355d91d23bdaba12739dc84d5c8ca688716f1177327b4b878db506a1399049904821992849e1cd138ef1c975743d315f558ef62c51427a57f823acba970dedabd2146233dc3deafc0188efa24f94cabdbca786ba634c52dca7bf113200e1c34f0dee1ab30fac53b47253317d21477cdb4febf5f487e02a829936dc31addf451f763f3241a96a1b7e", 0xf4, 0xfa18}, {&(0x7f00000011c0)="7938d026c8b4581997736491aaefa1b22d06b63f8ace7c221e5caf249cddec30e29049d5c077fe7cece77ec9d4b5543248a077194f544838cf12ea0884892d4153e77a3231ea0941b5726621401cef2ae9b6d1280504448e8ce41b094919be180021a9402bc7b165a88472c0e792d86cfd93bf", 0x73, 0x101}, {&(0x7f0000001240)="43e5ca4492976f41920c6d21fe34e4c81e38e8177ca48a23c0a7f1d32fe5768cf5bf905d2d41a8a541777fdaea47014b96b70a27f55cd659c4aef41822e74bfa552766e8fc974f16f93cf143591203622a6e3f9218681b1aaf99f3df59f34d1889b2a1d36d09df27eea148b1a24216f50f88e699bec7c9676303e625a30dad61516dc48ae62fce4fab9b3e24fa8b11c9b400763d274cbe0bc5fd9ba53fe7d438c3264e850756be16efe4d7342e4cc8bcfddf8f62b9049d472aa349e630a856bd90aa4943b16694e7f69502164d33d48a85ea1c66b5282e727f19d40e9f27bdb5da", 0xe1, 0x300000000}, {&(0x7f0000001340)="2e0d49af60fa478a6791b0b4b445e7286525c2df82f2aa7f51d57a420d7ae7f589513db995e0dcb8ab2bb035e3663b78dab0148477858d8d419f5fe537309dd1c9cb02586c5749dc4787d29237753e54f2b5b33b5ee2b979f6e1964a97da4bdc1bbf2016", 0x64, 0x8}, {&(0x7f00000013c0)="d752628996053fa0e5b98bd39980b6c493b4a3a865a09519e93ddd60ab4cc91c4ed6f2b5", 0x24, 0x6}, {&(0x7f0000001400)="4a9e7e13eb0041216087afa0bdb0fa583365d0f866231acb50338be1748f56ce865b8631a1749e9ab2840fcda520ab2346b1400195b4a972884215545676c9a40ce8d583ea9a2f1fe0617f7a9410ee7534d0dd8aed1c8213a5698163d191af5a232e5e969e854ff726d7326b8204b967a57c92b7ea3b", 0x76, 0x4}, {&(0x7f0000001480)="f9d4fcd734ba4a22fa8974bde5a4510d40a856a8ffb29a75f15c5dce2f2d596327c21a6a09faff132a68155145ba8f237aa6b8a27cb72b55310d3c35e25f56af1d62b67007f548a97cd2633cefb99a3925fb467491e5f37455202cde9ee43fc002f8068afaf74ad09419", 0x6a, 0x3}]) 15:36:44 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x7}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000140)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:44 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x8, r1}}) 15:36:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x6558, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:44 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x7}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000140)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:44 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x9, r1}}) [ 842.144339][ T6846] 9pnet_fd: Insufficient options for proto=fd [ 842.171621][ T6854] loop1: detected capacity change from 0 to 264192 15:36:44 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) (async) close_range(r0, 0xffffffffffffffff, 0x0) (async) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) (async) dup(r2) 15:36:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x6800, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:44 executing program 1: syz_read_part_table(0xfffffffffffffffd, 0x0, 0x0) (async) syz_read_part_table(0x2, 0x9, &(0x7f0000001500)=[{&(0x7f0000000000)="0a8f5e118943af42a57b7d897408f92700dc00e7371eda3a6fa0825195b744c7de540cb062d6e557d5804a101b1396681dc9d5c157e64e3c535cad2ebc06fc0446dbe263ab657daff025f0d90e702f2a78488ef82170d4afc5e50fb659f9be3f32cb2f39e75ee43ed06efd95d0c78ec970a129e84f175e2e73d4d169b98b323b07b9ba7280ae3ae392f20370278f83058f0aaff0f2028535", 0x98, 0x40}, {&(0x7f00000000c0)="fa1b67b3362b653fb30b260b2db553f7f06068f413a799d69de36883db6d57a1d74ddd137e48123aef06a51cbeb6f22a8b4d2402a8f13f36f9aec880c6b611f54c558222f84d06498e8c52111d0c31747a12c42e1db3c207bc6d5fac8f231be496fd3d77c496149ed3ed9307aa4a7c1f4692daaea07e8399381b2c6cf2954c50cd11d764d25253f1a6ad034e384e1998b44dff9239f259a05addba058a8ebace572913636d29735c1a2cfcba3d1052123a4a0ab4ebcff34b2d8cc1bdf4e068971442ce4be328aba14255ea01f0b515e45748584c0f46ae22a417099a27592202bc5b6528d2a6f3f037a9f71357c6d96387c6e4ce6ce23751abe5a0e57cc935b65d531166953a2966b8791380900bfc610a925c4db7db4cda7a64a6bb667008aca72631154af433305d3c27279d3e3cc7a478e223563da92c5cb2bceff40f67be3971b284af795a5943d23f0161e71bb1831cb84f32bccea91cf91e92be06c4d7cd0690f864d818d8c096b05e89f1a868c5bfab19609e9b325e1693bde7bdab4dbfd2e68fbe2a58216df85d01e49eda2ca8e9deb0b73b94c27c85d3db45aca3a4611eb59158ab3c7e9642ac754c60bbf6ef05b171351cf71ca9437b1b2dd61be1714bd34e632d756ec9b700cab61ce14497fb7aed261d984c2394eba246b8946af007aa2f32671b2e6db4321c308f76ecd77eb34b760efa4f9e6666fe105b0db546ea714a4c1bd35c4185f41014a6417e445574813b45ff0f756fd20c3fcf3ec8914379bb31f5abbbd70f346e4930e0aad58f75497478680702c7f6b35ad845f58217f9915e3ad09c2fcdda4c72fa9f716d2a64b50ae5333c24f41a3a146de816cdebd0ef7a98fb81b443044c4712feb53735fba4a0fdaeb5bc281a8bcbe0937fb5a2d22a6272d88b3904325174d9e7369be3d58e80fe6051cf367924b8f59327822b0bd6febe84224ece96f0e776201db7254dd3441bb3f9ecf5ef3c98674551f42c7d75084abbcb0a3c4b2666aaf561744bfa73cde7c7ad8af524f260036cae566f604d40790f3ef926e224f0605048b8f099e3228b07750c27babdaaeb5ece16eae12074e96a147c9b20a40e626e47ff519f5d1a3f6701e80342e8f17c3d55c113a157aae7e641646071c3c255b49510ea908901e01850d2e0aa5bc86c329c053bb848ef6769a0b1f9db4e79343cccbc66e56574968b7b82d0b25615a8b1fcc47f90f9ef334bebb53775aa4610cff3a8293888cac77276e65bff6bbc50bea6db694b4598d42e0cf2e350b7ca07a838f898c628670c9f353ef6f42761db9821a84d678508db57a4240e37db0bd3a717433b7b3e93cd67a11b6d6055f6ab4ded23481eb1ab5cf374909c54792e40d00a11a046de13a37c19e19dfa32e311f7b5335bdbb99e250835a6e8f708903b2f159734201889d43c8bc3cc0127d09305b1676d81f28f5e099db8b89d071d66e24dd4c75c173c6c061457f8b64e7a2944df93d2a0038b8fae31b9e8cef805d2c1d5513c01c775423309d55002b77b57bfa59dbb1ac2f11c0f850405fddaeb3f58091bb8872e56e9b7080618f8ebaa87e983b72eb1318147f2cd0176e1c6fd5627f6523901cc3fee42c15b8844b47984d9603722e56a7e75834a851ac9489c9cfa943651b3bfbe01dc31d3e996ab900ffd2a4ff12a256338a8ce0218426722004d054b0c02726a3c187b983e494c48f4ea7502142af6d68e4f1ce520b9a867f56185231fecbfaf5912b09caa281f5ac1c086ace4caa951ec2eb61e14ef6e0bcb48929908ea5cb7fe77d76b1f0caffe2462b241a30b1ed60ef68a5a5abce99ef1b1bcd7b440c60d4357f693a7f4366e62b7d67a513d6461f8371051a21f1df86f8ab92b8d466dea533c3827dddb2efc72811745b189414085812c30b874f317cca07895379f3c4df8921badbfc2a7c6490d6ef4fdd9fc18c1fd33a327bc064e18cfe9d5578bcb70e948dbd0435fd2433bace90af391abb32530a721cc4b060a2e1aea4bc7ace64a96c5562a307591b5ce39ffd0ee99a22627a18d2bae3710dfcddcb99135579fbbeeb42b9fb46f5810d3fd1284dc06f1a5b628cdb30ee8905d17e8939f3a9cf4be49043577e48c75f9269c3cef6f648594de660493ed62f22602fab91e730d32b5f0216cac123b504aa4ecf0e0008df3380fa39ce6a3fb1783a53ca5edbce19eeb3eaf12f8bbb0b395ebdfd505f666ec2301b7e792e72123773e6dc976c1305007de1218ae4bd5032eef25be140746e493f289e3201ee66c692c87184c65ca13157d1045f932e045861d7e07e5172a2f9a57964ad34bc6e00da897e236501416681fd6552c5a75363093f862bb755a175a1e1a02c49f3c64a50510fe250bba07eee62f05f72484c75ec9d3b8a5658a9d02591cca5b270a61d00ed854b8581def8cdd2fa8a6239ae198c95094e74267d8e7adbbb5a1807b6caf37c94f4c86a845e0e7778356f7c36214367820b584a51a6a41938a4f412c2812f3bbd38da22e2386700f39ed2a98f201242d49aa4998706a5ebf2485ee795d5197a938fde273f82f508b3cda30ef430c6d1a3eba17b3b82d3b5a9432b26318a9f67002f4f1b6164635b15491bb077be437c419ad416a813d3694302c9db9e1ce7682bec7ff64fee30acaf4032dcde491cbdec9bb5784a0210c086a9fb61c7e3638d956bc26de3773f14d2af2c8813542c57f113473b4760ea03027f84c776da6bb4c24f002e2456a975741df9fcd38d6261d56afaf4cfb8c6f135fbe6c179c94ff4169ef45a1d8969574c98a1dcfd1abde7dcd51925436b18a11d3cf6229e9fa67b225eb730ed8c130898cf80052bfa75b20d442dd315c6b108f9950a2fecd902f20c3e7616aefb13097bebac5d3e2f74bf38bc12745544b27fe3ae8243b78bfdedebf7f01e9535e1f895ed9f44789314eaa2e1404d418ae571e3e4ac3c04d5bf400ba79570b71013270d278bf275d3e4533607259764af4ac3a4542f3ad2e7edff1e38dba7420725fa3414368ee0385bb6663bf55f29c0d86a6b198fe455089cd71cb869df670dfd01e00255069b16a150dde4d221302392bd9e01214ebf873b08ff5d364c4bc5521b9de72cd4fa55dcb79612c37e77538f37a785fc50c36645e3f69bb7ac262789db40d929eb29eb91206278019753b2f2de0481450fedd7942c0b31d66a8bd5587df3e2d44995a7cf2ca6e9a468a68f7db324d2b3565f7c4b85946dffde41f439a1687bdd4695c9763e7c62872ff6d49cdfbf3e6c526a4f0d0a0ace4df17d1327bcfa45e8306d3411072c601e6dad0011ad42bde5461f6c1fb9ef6b4bd4ab50025da74350d25d583d414b53e1e7176b395bcbf14a5e73950fa18c002a07cfcbb04e62770dbe6af52ac289b2d252bdf7f31842830bcc63f9b2ef36446324d21ec98c281e1884251bda40b2be2395524ab396551b2896813a7db1801d004385937eb806a9c198fd03038ca3c373de602f2ea51e57c2bae1e1be08940619035ca8003e87ea62daa9d014227fac1401ae36e800754c3ae1de9d79369c34e5f51e82d7d57d311968640a3f854f527d2ddb75d86aed78aa4b23f15c917bb707d8bf5004e1d11edf86d3c1ee10e09f52cf8718e57fad4f4d570fd5bd9ccd70bca4a9502be978510b696d2826d9df23e3816c85b434e9e07876c003bf3365d390fbe9b008aa6cd2c31140851e2cfe1d4e61ab5c590be2b1633dab604a397fc17a80e23a74a537785e787df854386dae847f5c724ba3ece4cab53a68d316ba79d167889fe08905d1d7746f78e465d08681a4afb790ad70d44a1d59e46be5e8582eeab56561b0cde10dae6a759da3b8a5a474e2d057230c25e49480eaf211c57f7ab5e5861952b944e6a2f33d982434895532c435127b4817ceb7d336a730dad97b7b0fab48d812da42d5f87ffe472b6e561618b13065e6ae7fd8ffaf132ee2859eb8e32d8166421a5d949100b8f2b43f257f2c4e87bc77dd7f92fd29a5d4bc983b88f710e43648c72a6742a1062014df180067ac2e207acd60e9310154320bb58e6f56c503b817be3a0e2e9f30561d0a4c478b57732d7d2029129d9c0ab28afdeb9065d4fdb177cff80907119ec69c06f161558f1a23d3a3cab8b78af25ef6abaff192742f45f9c52537f94b600f76d8e78e779a4d2346fb27e6d07f22c3c12c6b2d04b21547f0c1a6a7659725a749ca3f4645eec13db2084f81437a1729b3d2bd6440a31ec99a09d45f99bbad8bd4a7c228bdd89e5bd5b5114aaca62cde78a7ae37519dc14a89509bf3c3bd8769ef0e7eddb5b331ade33b70d40076217e542ba1ebb99769471fa8477cebf32bb6f26653fed811c2afce04d53f765f194d08cd3282272c7d1f96daa81963115c2580c0a9e9cfef21697283b8f904bbd79264fac436933f719b519425d4f36086a38478d369e53f2ff130b1f96e0f7b30ac1d24e2fb978049444c4cb70cd47bacfb51edbd72a94b54aaf0b52707eec4ae6c4758bb9ab181688284ef0d37e0ee54d172ea2d0c8746b90926624be53ba88ec5d307c4c13e7044aa060a0c686bfeac10d11f8e06895dbe07f9540f4207bfc0a578c45b2170ba93f8a60080cd7997b284d8385209e68c570bbe64cf1eb87cc26805b61f5ac89e61a43dbd3970b3810bfd64fa5c5dfee24b321ed37df5d82fa36fb21de9243327740f9ee0e9eb499e29da2408a094bc10ba757d044cc857ee14f1266d2c3984f1648be4b4b7c86d0e835dd66e0ff6b74997b52765928b501a4236fefc3ba98518b73433c559b168f2f2f300cb10ece7c3a56849d16d2574069f79292331c68766a5620b8e569a7eb86df4db32940f4a2f3cc121cbdfa4268a5059939d76b4838d819d722b2c69a8e4f4b34b5f591336efb1e35ff5d84e3935106086f15983c18afec0b760707a847c0eabd02f4f5028a1adb1da2f2ca9f476a1270eccafe3eb771f25c7e15d1663a6866cbc6a25b0a09aee67ac70c948487be6a9207839e48e05c240d0d39cb85a287c3930ed3486f505c1a89f559409ffd654dd19c0275100042a3c03c57ae38d0dd6ed39f1643f02f4552617de622d5560b7ddbce17ce147dada548f5153d6740579e998e895da12135d4a3105ff547e89ecfbf58495519488942115c3695648d77431356dc9f16cc6c69a7fb4995a379a71571ea2a6ca74511ab500814e59189fcd81df7d2219d85a066376e0bdccf987f566c20dc4cb3bb73ed3abc9e542b572afd12a3d874693a4f704112b243125708759be0f95fc52b88b037785cadbaecfd8a4d95a6b3ec2e17c2f82b0de7fe5b5181bc0b31ae6d071f5fa0e812c0125a1620314cc3f493f30120feafef93bdb1212ddb57804e732191d6356a9a8aa269d4d59935d84b12b371ef8b32cb8d860e8fe5f40f5be72f739bfc7a2abbe0ff89bf725eca7d6a0aece0c2380131782a35db35fa19522e4f996fd0b26989bebb507f590160eeb537d9ed688c95e601c53366d7fafa8335e6873c78af76a86b2d58a8741f641e28443dfcab2f483b94185ec47364f1e820d18d0d6558b599fe2f85164a56fbf4762db3ed687b94d49a6373d90e3fefbb6a70b3cd5fb182eb92adb7cd5dbd4c2048c04d37c56393e55355d07a9aecd55d71c5f5ae93ac97aec9d2418638814defc7dcff810c4e4e4ab3ee24e4901c81b20f295685387add94b4d2853b9e35e64c265061d3317c5ee35528b760b05909b70c2d6b0dd843b17589220cfd55e3d1e8b3bc6e3fc7d693ee7e1df46fdc45aece1463c2a07d66923974d447f84ce7e9", 0x1000, 0x8001}, {&(0x7f00000010c0)="5b286a9c2f5e29c9bb227bde3d414ed298b3939ba7fc9d745c37fd80ea97befd0d457abb126084ff369694fefa75c6606ca34cf6f9e6cd42f38643a1c56e09b7476892a57a1022d92e2987e0bce787f77464f6cd98137a35d95017e06ee23ed76e553b03f2186dca08f3db59355d91d23bdaba12739dc84d5c8ca688716f1177327b4b878db506a1399049904821992849e1cd138ef1c975743d315f558ef62c51427a57f823acba970dedabd2146233dc3deafc0188efa24f94cabdbca786ba634c52dca7bf113200e1c34f0dee1ab30fac53b47253317d21477cdb4febf5f487e02a829936dc31addf451f763f3241a96a1b7e", 0xf4, 0xfa18}, {&(0x7f00000011c0)="7938d026c8b4581997736491aaefa1b22d06b63f8ace7c221e5caf249cddec30e29049d5c077fe7cece77ec9d4b5543248a077194f544838cf12ea0884892d4153e77a3231ea0941b5726621401cef2ae9b6d1280504448e8ce41b094919be180021a9402bc7b165a88472c0e792d86cfd93bf", 0x73, 0x101}, {&(0x7f0000001240)="43e5ca4492976f41920c6d21fe34e4c81e38e8177ca48a23c0a7f1d32fe5768cf5bf905d2d41a8a541777fdaea47014b96b70a27f55cd659c4aef41822e74bfa552766e8fc974f16f93cf143591203622a6e3f9218681b1aaf99f3df59f34d1889b2a1d36d09df27eea148b1a24216f50f88e699bec7c9676303e625a30dad61516dc48ae62fce4fab9b3e24fa8b11c9b400763d274cbe0bc5fd9ba53fe7d438c3264e850756be16efe4d7342e4cc8bcfddf8f62b9049d472aa349e630a856bd90aa4943b16694e7f69502164d33d48a85ea1c66b5282e727f19d40e9f27bdb5da", 0xe1, 0x300000000}, {&(0x7f0000001340)="2e0d49af60fa478a6791b0b4b445e7286525c2df82f2aa7f51d57a420d7ae7f589513db995e0dcb8ab2bb035e3663b78dab0148477858d8d419f5fe537309dd1c9cb02586c5749dc4787d29237753e54f2b5b33b5ee2b979f6e1964a97da4bdc1bbf2016", 0x64, 0x8}, {&(0x7f00000013c0)="d752628996053fa0e5b98bd39980b6c493b4a3a865a09519e93ddd60ab4cc91c4ed6f2b5", 0x24, 0x6}, {&(0x7f0000001400)="4a9e7e13eb0041216087afa0bdb0fa583365d0f866231acb50338be1748f56ce865b8631a1749e9ab2840fcda520ab2346b1400195b4a972884215545676c9a40ce8d583ea9a2f1fe0617f7a9410ee7534d0dd8aed1c8213a5698163d191af5a232e5e969e854ff726d7326b8204b967a57c92b7ea3b", 0x76, 0x4}, {&(0x7f0000001480)="f9d4fcd734ba4a22fa8974bde5a4510d40a856a8ffb29a75f15c5dce2f2d596327c21a6a09faff132a68155145ba8f237aa6b8a27cb72b55310d3c35e25f56af1d62b67007f548a97cd2633cefb99a3925fb467491e5f37455202cde9ee43fc002f8068afaf74ad09419", 0x6a, 0x3}]) [ 842.208915][ T6859] 9pnet_fd: Insufficient options for proto=fd 15:36:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x6c00, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:44 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x7}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000140)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') [ 842.260567][ T6869] 9pnet_fd: Insufficient options for proto=fd [ 842.299783][ T6879] loop1: detected capacity change from 0 to 264192 [ 842.504067][ T4306] usb 3-1: new high-speed USB device number 42 using dummy_hcd [ 842.754074][ T4306] usb 3-1: Using ep0 maxpacket: 32 [ 842.794327][ T4306] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 842.914268][ T4306] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 842.921899][ T4306] usb 3-1: can't read configurations, error -61 [ 843.074043][ T4306] usb 3-1: new high-speed USB device number 43 using dummy_hcd [ 843.314063][ T4306] usb 3-1: Using ep0 maxpacket: 32 [ 843.354188][ T4306] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 843.474154][ T4306] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 843.481806][ T4306] usb 3-1: can't read configurations, error -61 [ 843.488309][ T4306] usb usb3-port1: attempt power cycle [ 843.894085][ T4306] usb 3-1: new high-speed USB device number 44 using dummy_hcd [ 843.984164][ T4306] usb 3-1: Using ep0 maxpacket: 32 [ 844.024159][ T4306] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 844.144542][ T4306] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 844.152133][ T4306] usb 3-1: can't read configurations, error -61 [ 844.324087][ T4306] usb 3-1: new high-speed USB device number 45 using dummy_hcd [ 844.434205][ T4306] usb 3-1: Using ep0 maxpacket: 32 [ 844.484250][ T4306] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 844.604195][ T4306] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 844.611801][ T4306] usb 3-1: can't read configurations, error -61 [ 844.618530][ T4306] usb usb3-port1: unable to enumerate USB device 15:36:47 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000100)=ANY=[@ANYBLOB="12010000000000206dff82404000010200ce0c0000000080d3c08a0003baa42e0177c3000001000400000000000000000000000000000000000087c0b22e9f474adc0d60519cffa836082dece3d0ef87ff033b000024f34ae1a7fcd805b7b7e84670fbe53b5af9e0d9c48cbb3bb10bc9bbc4a80efcdd97753c02eea13a5b9fd1b36740cd49b5ba7d53f057756dfa7e2ee54b656fa1e1", @ANYRES8=r0, @ANYBLOB="0e1bc9e00206270000"], 0x0) openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) (async) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) (async) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000100)=ANY=[@ANYBLOB="12010000000000206dff82404000010200ce0c0000000080d3c08a0003baa42e0177c3000001000400000000000000000000000000000000000087c0b22e9f474adc0d60519cffa836082dece3d0ef87ff033b000024f34ae1a7fcd805b7b7e84670fbe53b5af9e0d9c48cbb3bb10bc9bbc4a80efcdd97753c02eea13a5b9fd1b36740cd49b5ba7d53f057756dfa7e2ee54b656fa1e1", @ANYRES8=r0, @ANYBLOB="0e1bc9e00206270000"], 0x0) (async) 15:36:47 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0xa, r1}}) 15:36:47 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000140), 0x40, 0x0) openat(r0, &(0x7f0000000180)='./file1/file0\x00', 0x0, 0x5) 15:36:47 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x7400, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:47 executing program 1: syz_read_part_table(0xfffffffffffffffd, 0x0, 0x0) (async) syz_read_part_table(0x2, 0x9, &(0x7f0000001500)=[{&(0x7f0000000000)="0a8f5e118943af42a57b7d897408f92700dc00e7371eda3a6fa0825195b744c7de540cb062d6e557d5804a101b1396681dc9d5c157e64e3c535cad2ebc06fc0446dbe263ab657daff025f0d90e702f2a78488ef82170d4afc5e50fb659f9be3f32cb2f39e75ee43ed06efd95d0c78ec970a129e84f175e2e73d4d169b98b323b07b9ba7280ae3ae392f20370278f83058f0aaff0f2028535", 0x98, 0x40}, {&(0x7f00000000c0)="fa1b67b3362b653fb30b260b2db553f7f06068f413a799d69de36883db6d57a1d74ddd137e48123aef06a51cbeb6f22a8b4d2402a8f13f36f9aec880c6b611f54c558222f84d06498e8c52111d0c31747a12c42e1db3c207bc6d5fac8f231be496fd3d77c496149ed3ed9307aa4a7c1f4692daaea07e8399381b2c6cf2954c50cd11d764d25253f1a6ad034e384e1998b44dff9239f259a05addba058a8ebace572913636d29735c1a2cfcba3d1052123a4a0ab4ebcff34b2d8cc1bdf4e068971442ce4be328aba14255ea01f0b515e45748584c0f46ae22a417099a27592202bc5b6528d2a6f3f037a9f71357c6d96387c6e4ce6ce23751abe5a0e57cc935b65d531166953a2966b8791380900bfc610a925c4db7db4cda7a64a6bb667008aca72631154af433305d3c27279d3e3cc7a478e223563da92c5cb2bceff40f67be3971b284af795a5943d23f0161e71bb1831cb84f32bccea91cf91e92be06c4d7cd0690f864d818d8c096b05e89f1a868c5bfab19609e9b325e1693bde7bdab4dbfd2e68fbe2a58216df85d01e49eda2ca8e9deb0b73b94c27c85d3db45aca3a4611eb59158ab3c7e9642ac754c60bbf6ef05b171351cf71ca9437b1b2dd61be1714bd34e632d756ec9b700cab61ce14497fb7aed261d984c2394eba246b8946af007aa2f32671b2e6db4321c308f76ecd77eb34b760efa4f9e6666fe105b0db546ea714a4c1bd35c4185f41014a6417e445574813b45ff0f756fd20c3fcf3ec8914379bb31f5abbbd70f346e4930e0aad58f75497478680702c7f6b35ad845f58217f9915e3ad09c2fcdda4c72fa9f716d2a64b50ae5333c24f41a3a146de816cdebd0ef7a98fb81b443044c4712feb53735fba4a0fdaeb5bc281a8bcbe0937fb5a2d22a6272d88b3904325174d9e7369be3d58e80fe6051cf367924b8f59327822b0bd6febe84224ece96f0e776201db7254dd3441bb3f9ecf5ef3c98674551f42c7d75084abbcb0a3c4b2666aaf561744bfa73cde7c7ad8af524f260036cae566f604d40790f3ef926e224f0605048b8f099e3228b07750c27babdaaeb5ece16eae12074e96a147c9b20a40e626e47ff519f5d1a3f6701e80342e8f17c3d55c113a157aae7e641646071c3c255b49510ea908901e01850d2e0aa5bc86c329c053bb848ef6769a0b1f9db4e79343cccbc66e56574968b7b82d0b25615a8b1fcc47f90f9ef334bebb53775aa4610cff3a8293888cac77276e65bff6bbc50bea6db694b4598d42e0cf2e350b7ca07a838f898c628670c9f353ef6f42761db9821a84d678508db57a4240e37db0bd3a717433b7b3e93cd67a11b6d6055f6ab4ded23481eb1ab5cf374909c54792e40d00a11a046de13a37c19e19dfa32e311f7b5335bdbb99e250835a6e8f708903b2f159734201889d43c8bc3cc0127d09305b1676d81f28f5e099db8b89d071d66e24dd4c75c173c6c061457f8b64e7a2944df93d2a0038b8fae31b9e8cef805d2c1d5513c01c775423309d55002b77b57bfa59dbb1ac2f11c0f850405fddaeb3f58091bb8872e56e9b7080618f8ebaa87e983b72eb1318147f2cd0176e1c6fd5627f6523901cc3fee42c15b8844b47984d9603722e56a7e75834a851ac9489c9cfa943651b3bfbe01dc31d3e996ab900ffd2a4ff12a256338a8ce0218426722004d054b0c02726a3c187b983e494c48f4ea7502142af6d68e4f1ce520b9a867f56185231fecbfaf5912b09caa281f5ac1c086ace4caa951ec2eb61e14ef6e0bcb48929908ea5cb7fe77d76b1f0caffe2462b241a30b1ed60ef68a5a5abce99ef1b1bcd7b440c60d4357f693a7f4366e62b7d67a513d6461f8371051a21f1df86f8ab92b8d466dea533c3827dddb2efc72811745b189414085812c30b874f317cca07895379f3c4df8921badbfc2a7c6490d6ef4fdd9fc18c1fd33a327bc064e18cfe9d5578bcb70e948dbd0435fd2433bace90af391abb32530a721cc4b060a2e1aea4bc7ace64a96c5562a307591b5ce39ffd0ee99a22627a18d2bae3710dfcddcb99135579fbbeeb42b9fb46f5810d3fd1284dc06f1a5b628cdb30ee8905d17e8939f3a9cf4be49043577e48c75f9269c3cef6f648594de660493ed62f22602fab91e730d32b5f0216cac123b504aa4ecf0e0008df3380fa39ce6a3fb1783a53ca5edbce19eeb3eaf12f8bbb0b395ebdfd505f666ec2301b7e792e72123773e6dc976c1305007de1218ae4bd5032eef25be140746e493f289e3201ee66c692c87184c65ca13157d1045f932e045861d7e07e5172a2f9a57964ad34bc6e00da897e236501416681fd6552c5a75363093f862bb755a175a1e1a02c49f3c64a50510fe250bba07eee62f05f72484c75ec9d3b8a5658a9d02591cca5b270a61d00ed854b8581def8cdd2fa8a6239ae198c95094e74267d8e7adbbb5a1807b6caf37c94f4c86a845e0e7778356f7c36214367820b584a51a6a41938a4f412c2812f3bbd38da22e2386700f39ed2a98f201242d49aa4998706a5ebf2485ee795d5197a938fde273f82f508b3cda30ef430c6d1a3eba17b3b82d3b5a9432b26318a9f67002f4f1b6164635b15491bb077be437c419ad416a813d3694302c9db9e1ce7682bec7ff64fee30acaf4032dcde491cbdec9bb5784a0210c086a9fb61c7e3638d956bc26de3773f14d2af2c8813542c57f113473b4760ea03027f84c776da6bb4c24f002e2456a975741df9fcd38d6261d56afaf4cfb8c6f135fbe6c179c94ff4169ef45a1d8969574c98a1dcfd1abde7dcd51925436b18a11d3cf6229e9fa67b225eb730ed8c130898cf80052bfa75b20d442dd315c6b108f9950a2fecd902f20c3e7616aefb13097bebac5d3e2f74bf38bc12745544b27fe3ae8243b78bfdedebf7f01e9535e1f895ed9f44789314eaa2e1404d418ae571e3e4ac3c04d5bf400ba79570b71013270d278bf275d3e4533607259764af4ac3a4542f3ad2e7edff1e38dba7420725fa3414368ee0385bb6663bf55f29c0d86a6b198fe455089cd71cb869df670dfd01e00255069b16a150dde4d221302392bd9e01214ebf873b08ff5d364c4bc5521b9de72cd4fa55dcb79612c37e77538f37a785fc50c36645e3f69bb7ac262789db40d929eb29eb91206278019753b2f2de0481450fedd7942c0b31d66a8bd5587df3e2d44995a7cf2ca6e9a468a68f7db324d2b3565f7c4b85946dffde41f439a1687bdd4695c9763e7c62872ff6d49cdfbf3e6c526a4f0d0a0ace4df17d1327bcfa45e8306d3411072c601e6dad0011ad42bde5461f6c1fb9ef6b4bd4ab50025da74350d25d583d414b53e1e7176b395bcbf14a5e73950fa18c002a07cfcbb04e62770dbe6af52ac289b2d252bdf7f31842830bcc63f9b2ef36446324d21ec98c281e1884251bda40b2be2395524ab396551b2896813a7db1801d004385937eb806a9c198fd03038ca3c373de602f2ea51e57c2bae1e1be08940619035ca8003e87ea62daa9d014227fac1401ae36e800754c3ae1de9d79369c34e5f51e82d7d57d311968640a3f854f527d2ddb75d86aed78aa4b23f15c917bb707d8bf5004e1d11edf86d3c1ee10e09f52cf8718e57fad4f4d570fd5bd9ccd70bca4a9502be978510b696d2826d9df23e3816c85b434e9e07876c003bf3365d390fbe9b008aa6cd2c31140851e2cfe1d4e61ab5c590be2b1633dab604a397fc17a80e23a74a537785e787df854386dae847f5c724ba3ece4cab53a68d316ba79d167889fe08905d1d7746f78e465d08681a4afb790ad70d44a1d59e46be5e8582eeab56561b0cde10dae6a759da3b8a5a474e2d057230c25e49480eaf211c57f7ab5e5861952b944e6a2f33d982434895532c435127b4817ceb7d336a730dad97b7b0fab48d812da42d5f87ffe472b6e561618b13065e6ae7fd8ffaf132ee2859eb8e32d8166421a5d949100b8f2b43f257f2c4e87bc77dd7f92fd29a5d4bc983b88f710e43648c72a6742a1062014df180067ac2e207acd60e9310154320bb58e6f56c503b817be3a0e2e9f30561d0a4c478b57732d7d2029129d9c0ab28afdeb9065d4fdb177cff80907119ec69c06f161558f1a23d3a3cab8b78af25ef6abaff192742f45f9c52537f94b600f76d8e78e779a4d2346fb27e6d07f22c3c12c6b2d04b21547f0c1a6a7659725a749ca3f4645eec13db2084f81437a1729b3d2bd6440a31ec99a09d45f99bbad8bd4a7c228bdd89e5bd5b5114aaca62cde78a7ae37519dc14a89509bf3c3bd8769ef0e7eddb5b331ade33b70d40076217e542ba1ebb99769471fa8477cebf32bb6f26653fed811c2afce04d53f765f194d08cd3282272c7d1f96daa81963115c2580c0a9e9cfef21697283b8f904bbd79264fac436933f719b519425d4f36086a38478d369e53f2ff130b1f96e0f7b30ac1d24e2fb978049444c4cb70cd47bacfb51edbd72a94b54aaf0b52707eec4ae6c4758bb9ab181688284ef0d37e0ee54d172ea2d0c8746b90926624be53ba88ec5d307c4c13e7044aa060a0c686bfeac10d11f8e06895dbe07f9540f4207bfc0a578c45b2170ba93f8a60080cd7997b284d8385209e68c570bbe64cf1eb87cc26805b61f5ac89e61a43dbd3970b3810bfd64fa5c5dfee24b321ed37df5d82fa36fb21de9243327740f9ee0e9eb499e29da2408a094bc10ba757d044cc857ee14f1266d2c3984f1648be4b4b7c86d0e835dd66e0ff6b74997b52765928b501a4236fefc3ba98518b73433c559b168f2f2f300cb10ece7c3a56849d16d2574069f79292331c68766a5620b8e569a7eb86df4db32940f4a2f3cc121cbdfa4268a5059939d76b4838d819d722b2c69a8e4f4b34b5f591336efb1e35ff5d84e3935106086f15983c18afec0b760707a847c0eabd02f4f5028a1adb1da2f2ca9f476a1270eccafe3eb771f25c7e15d1663a6866cbc6a25b0a09aee67ac70c948487be6a9207839e48e05c240d0d39cb85a287c3930ed3486f505c1a89f559409ffd654dd19c0275100042a3c03c57ae38d0dd6ed39f1643f02f4552617de622d5560b7ddbce17ce147dada548f5153d6740579e998e895da12135d4a3105ff547e89ecfbf58495519488942115c3695648d77431356dc9f16cc6c69a7fb4995a379a71571ea2a6ca74511ab500814e59189fcd81df7d2219d85a066376e0bdccf987f566c20dc4cb3bb73ed3abc9e542b572afd12a3d874693a4f704112b243125708759be0f95fc52b88b037785cadbaecfd8a4d95a6b3ec2e17c2f82b0de7fe5b5181bc0b31ae6d071f5fa0e812c0125a1620314cc3f493f30120feafef93bdb1212ddb57804e732191d6356a9a8aa269d4d59935d84b12b371ef8b32cb8d860e8fe5f40f5be72f739bfc7a2abbe0ff89bf725eca7d6a0aece0c2380131782a35db35fa19522e4f996fd0b26989bebb507f590160eeb537d9ed688c95e601c53366d7fafa8335e6873c78af76a86b2d58a8741f641e28443dfcab2f483b94185ec47364f1e820d18d0d6558b599fe2f85164a56fbf4762db3ed687b94d49a6373d90e3fefbb6a70b3cd5fb182eb92adb7cd5dbd4c2048c04d37c56393e55355d07a9aecd55d71c5f5ae93ac97aec9d2418638814defc7dcff810c4e4e4ab3ee24e4901c81b20f295685387add94b4d2853b9e35e64c265061d3317c5ee35528b760b05909b70c2d6b0dd843b17589220cfd55e3d1e8b3bc6e3fc7d693ee7e1df46fdc45aece1463c2a07d66923974d447f84ce7e9", 0x1000, 0x8001}, {&(0x7f00000010c0)="5b286a9c2f5e29c9bb227bde3d414ed298b3939ba7fc9d745c37fd80ea97befd0d457abb126084ff369694fefa75c6606ca34cf6f9e6cd42f38643a1c56e09b7476892a57a1022d92e2987e0bce787f77464f6cd98137a35d95017e06ee23ed76e553b03f2186dca08f3db59355d91d23bdaba12739dc84d5c8ca688716f1177327b4b878db506a1399049904821992849e1cd138ef1c975743d315f558ef62c51427a57f823acba970dedabd2146233dc3deafc0188efa24f94cabdbca786ba634c52dca7bf113200e1c34f0dee1ab30fac53b47253317d21477cdb4febf5f487e02a829936dc31addf451f763f3241a96a1b7e", 0xf4, 0xfa18}, {&(0x7f00000011c0)="7938d026c8b4581997736491aaefa1b22d06b63f8ace7c221e5caf249cddec30e29049d5c077fe7cece77ec9d4b5543248a077194f544838cf12ea0884892d4153e77a3231ea0941b5726621401cef2ae9b6d1280504448e8ce41b094919be180021a9402bc7b165a88472c0e792d86cfd93bf", 0x73, 0x101}, {&(0x7f0000001240)="43e5ca4492976f41920c6d21fe34e4c81e38e8177ca48a23c0a7f1d32fe5768cf5bf905d2d41a8a541777fdaea47014b96b70a27f55cd659c4aef41822e74bfa552766e8fc974f16f93cf143591203622a6e3f9218681b1aaf99f3df59f34d1889b2a1d36d09df27eea148b1a24216f50f88e699bec7c9676303e625a30dad61516dc48ae62fce4fab9b3e24fa8b11c9b400763d274cbe0bc5fd9ba53fe7d438c3264e850756be16efe4d7342e4cc8bcfddf8f62b9049d472aa349e630a856bd90aa4943b16694e7f69502164d33d48a85ea1c66b5282e727f19d40e9f27bdb5da", 0xe1, 0x300000000}, {&(0x7f0000001340)="2e0d49af60fa478a6791b0b4b445e7286525c2df82f2aa7f51d57a420d7ae7f589513db995e0dcb8ab2bb035e3663b78dab0148477858d8d419f5fe537309dd1c9cb02586c5749dc4787d29237753e54f2b5b33b5ee2b979f6e1964a97da4bdc1bbf2016", 0x64, 0x8}, {&(0x7f00000013c0)="d752628996053fa0e5b98bd39980b6c493b4a3a865a09519e93ddd60ab4cc91c4ed6f2b5", 0x24, 0x6}, {&(0x7f0000001400)="4a9e7e13eb0041216087afa0bdb0fa583365d0f866231acb50338be1748f56ce865b8631a1749e9ab2840fcda520ab2346b1400195b4a972884215545676c9a40ce8d583ea9a2f1fe0617f7a9410ee7534d0dd8aed1c8213a5698163d191af5a232e5e969e854ff726d7326b8204b967a57c92b7ea3b", 0x76, 0x4}, {&(0x7f0000001480)="f9d4fcd734ba4a22fa8974bde5a4510d40a856a8ffb29a75f15c5dce2f2d596327c21a6a09faff132a68155145ba8f237aa6b8a27cb72b55310d3c35e25f56af1d62b67007f548a97cd2633cefb99a3925fb467491e5f37455202cde9ee43fc002f8068afaf74ad09419", 0x6a, 0x3}]) 15:36:47 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) close_range(r0, 0xffffffffffffffff, 0x0) (async) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) dup(r2) 15:36:47 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x7a00, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:47 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async, rerun: 32) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') (async, rerun: 32) r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000140), 0x40, 0x0) openat(r0, &(0x7f0000000180)='./file1/file0\x00', 0x0, 0x5) 15:36:47 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0xb, r1}}) [ 845.239917][ T6895] loop1: detected capacity change from 0 to 135168 [ 845.247321][ T6896] 9pnet_fd: Insufficient options for proto=fd 15:36:47 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0xc, r1}}) 15:36:47 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async, rerun: 64) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async, rerun: 64) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000140), 0x40, 0x0) openat(r0, &(0x7f0000000180)='./file1/file0\x00', 0x0, 0x5) 15:36:47 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$SIOCX25GSUBSCRIP(r2, 0x89e0, &(0x7f0000000080)={'virt_wifi0\x00', 0x6, 0x8}) mknodat(r2, &(0x7f00000001c0)='./file0\x00', 0x8000, 0x890) close_range(r0, 0xffffffffffffffff, 0x0) [ 845.317111][ T6912] 9pnet_fd: Insufficient options for proto=fd [ 845.410059][ T6921] 9pnet_fd: Insufficient options for proto=fd [ 845.604062][ T23] usb 3-1: new high-speed USB device number 46 using dummy_hcd [ 845.845149][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 845.884200][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 846.004196][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 846.011785][ T23] usb 3-1: can't read configurations, error -61 [ 846.175903][ T23] usb 3-1: new high-speed USB device number 47 using dummy_hcd [ 846.424048][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 846.464231][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 846.584100][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 846.591763][ T23] usb 3-1: can't read configurations, error -61 [ 846.598240][ T23] usb usb3-port1: attempt power cycle [ 847.004043][ T23] usb 3-1: new high-speed USB device number 48 using dummy_hcd [ 847.094175][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 847.134304][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 847.254172][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 847.261832][ T23] usb 3-1: can't read configurations, error -61 [ 847.414061][ T23] usb 3-1: new high-speed USB device number 49 using dummy_hcd [ 847.504324][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 847.544124][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 847.664197][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 847.671851][ T23] usb 3-1: can't read configurations, error -61 [ 847.678493][ T23] usb usb3-port1: unable to enumerate USB device 15:36:50 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000100)=ANY=[@ANYBLOB="12010000000000206dff82404000010200ce0c0000000080d3c08a0003baa42e0177c3000001000400000000000000000000000000000000000087c0b22e9f474adc0d60519cffa836082dece3d0ef87ff033b000024f34ae1a7fcd805b7b7e84670fbe53b5af9e0d9c48cbb3bb10bc9bbc4a80efcdd97753c02eea13a5b9fd1b36740cd49b5ba7d53f057756dfa7e2ee54b656fa1e1", @ANYRES8=r0, @ANYBLOB="0e1bc9e00206270000"], 0x0) openat$kvm(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) (async) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) (async) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000100)=ANY=[@ANYBLOB="12010000000000206dff82404000010200ce0c0000000080d3c08a0003baa42e0177c3000001000400000000000000000000000000000000000087c0b22e9f474adc0d60519cffa836082dece3d0ef87ff033b000024f34ae1a7fcd805b7b7e84670fbe53b5af9e0d9c48cbb3bb10bc9bbc4a80efcdd97753c02eea13a5b9fd1b36740cd49b5ba7d53f057756dfa7e2ee54b656fa1e1", @ANYRES8=r0, @ANYBLOB="0e1bc9e00206270000"], 0x0) (async) 15:36:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x80fe, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:50 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x5}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:50 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() process_vm_readv(r0, 0x0, 0x0, &(0x7f0000008640), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000040)='cpu.stat\x00', 0x0, 0x0) r3 = syz_clone(0x65248000, &(0x7f0000000080)="b7fcb5feeb170bd23af76650818c6217f736fa6909e104d462025ea9f150cfc95ada0f8ca11160100b75e78de14c8fad71f743afef7eafca6467b70cc862b8b6c3cb4583b2b85a65d582ac54c3aa4ef1644c66e977960a2795363dc360c7ca1c050c86f95677e651708650008e494edc1c87833f2f6e7523d9486fb99ba80919f0fdbbfc20cbb4ccda81a9d3c075b4fb8c2e993075a37c760312c8f033d0b2a5666121deffdc54150727ff8ea51cfab009a2f77107e18d0847008714aecf0d36a5d3fffead26359af37ed9a051bb37723dfbdbc3c62b6c0cd7517abf23dc1e2944e9b18c596a02d88eb497dae05f52b9357811864747706098", 0xf9, &(0x7f0000000180), &(0x7f00000001c0), &(0x7f0000000200)="781873bda11d72d8ae9618b87653dac46a93d893") write$cgroup_pid(r2, &(0x7f0000000240)=r3, 0x12) r4 = getegid() sendmmsg$unix(0xffffffffffffffff, &(0x7f0000003140)=[{{&(0x7f0000000480)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000000700)=[{&(0x7f0000000200)}, {&(0x7f0000000600)="746fc25a05cf559fd28808ab507f9a4ecd8fb63a13074277e4f377f1803dc5ed9f99bd8f4e34a56468c1f33934d6e785ad0a74db9714d1f3b8976d6bd92cf282934bb4029323c787238742713fe3f95ac3babb6b2eafe38e7cefe35a635a996c86e25c9114f5c17d7153563d7c8ef402990da952408f1409b59933b6d1dc6697744ebf42b41807cbd5fa63fe3901f24363010ad952f2d1467b8c38b24704866faf28419ce72e25545ab7e13081982c603d3c769f66a063f0a9050f17a940d899a6fd5dc1b9", 0xc5}], 0x2, &(0x7f0000000840)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00, 0xffffffffffffffff}}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x10}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0xc8, 0x4080}}, {{0x0, 0x0, &(0x7f0000000c80)=[{&(0x7f0000000940)="348fd70962a7685987694f0ff6c22ab6fbdd9345242c90afdac9067cd9ba970139c61d0052435155df39c3b536d92fa501903a871ce0b6555e64bcaa3bdbd6615f36b9e5c5a264db5ad56bd5cca40056f853e22bd257be22586bd086e87be11d604df025d180d8e9e9713fb0b4353a75631e7a73b530d072965288246180c6a548cea0821f522c5eb37d716654a734b11190659a4f4b97f23a86c70cda8fbcdb3e19a495cb0fffef84d42bab8d653775c083bef26253292b028c6ef87227f3eb4df26371d0fc2d50faabbfd3565374", 0xcf}, {&(0x7f0000000a40)="ab4ef08996cdad537b7c7a56e36776eced5e8dab9cf0d275effd91d57c0b649e3148a98796346880a32cafa644107bf283207015c057936c5bdac34e4d7541a15280891fe6b4852c181f7a1957ea1c565a8c6fd6f72639a6a0c17d601c4e2c5fbffc6e35a92f6a4147374ae355e5d8a258038163d135ea65314789ca0533bf69b7d5383999f7062e02bbdc27ac5ae98ef48c90e5add0fbd74b3a6deb6a9670d8e6d44025001b776fc526d4a3aedddb8122", 0xb1}, {&(0x7f0000000b00)="8b6557c6c1143e243f6d33f8593f2a1f40ddc0ff5f25b0e95ae63d23fd0e6f8ed23e2eda70fb678fc15e4074372b7dd3cde08e98550131380b582794856f672e8de2453ff8c3ff0c28e18d77080a00b30a828a548b2a11d1a6a3c596e50e92b94cf44c646dd703cbd6072cd153c333107ed3a70c713f071eee", 0x79}, {&(0x7f0000000b80)="769f2f18919242bda625c1e2cbeecd0e9a0235a2f84d0ba41d1d65752de8f4dc9fcd86989bd4d8d71f45fa09a63e9a55a4a89f219da6c5d269dc06b1d512d8e52b64d6f6a91a5eb5114c38450df343309afb8ff31ca594621b08032f9a3ac29773197da0932061553df97d07dda7387dd318b82094879a025325f405eca45c8dd83918927bdf543a25fc000449b06e15093fa138cee9c91370fdf015869fa4edde1fe18efb9ab22cd52bcab03f5339204ecf662db02ba9ff60597648ad22ac319908ac56bdb752ce490a376cae6e77a1073a9f37a12435cd645944c5b170b02efa275d2c11befffbbbdfd24583", 0xed}], 0x4, 0x0, 0x0, 0x4040000}}, {{&(0x7f0000000cc0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000000ec0)=[{&(0x7f0000000d40)="ffa43e93af7090dfd8f35943941eb0b5194db5ce19e1317f6bff62f2f3f9ca787371da811c99a02b8f571c66492754549a9bdd711d2a88b332533c11701cb5d0fab283bc39b0092dd5ec6c2a119a02e2c0f37c5688e6c7510a104f4ab011f03ddf5750a5dcdb1417fc396354194d7975b812d5f1f9fe920943efb047ce2e3ac3d085115319031b89466ec2c2e5209b7170e055e92252c7198ba2736eb94efb5afac8f54945085bc216587a8601c9b5e7b152770b29e12d", 0xb7}, {&(0x7f0000000e00)="13feac03f53ace45e1df1dfa9306d92eac71342618f41daee64a89ef996389b42a9cf8ebf7e2a27e8333e568096d24479d09d2be5f216bc92c2cc1db3039a0c32c68db61eb0ed8d7291fe78958fce4f2a1148e9cfdd5e937af97ba43f5004707813c88d31774b42575965b91e93b801e09e57c4784f58a45177d47b37faebd49a311b2ae952b586571e59eee7e4ce742d20fb97c8df4d718a0708f2627a95ced7efe6ccf4127a4a3be6b239780ca86ac099d5654", 0xb4}, {&(0x7f0000003a00)="54843999b97be29e94d5372df06cbe70c2b9138b4fa33ba9648d570da09716ca825a232cfe2e80603d17dc209b31e8aab5ed492d52ecc2a87ebf18021c69045d2963300bdc7b753fb6ec9be75707ae65b8301f43a6b54665ff499b99af571a2fd332853baad2cc1e6ba98bc66f4b15f422f896b99ef8d804c18214660b5cf5d2b80422d8d346284eb34338bcfe938beb1c097f65e12a00a0ce735712dac2458521844bcb192261a83bb058665ce5080d56e51e0e5c4a309f7ea8a671563770b87ad6e546898b1198ac30c8e4780264c7d0c8cfb172e5b408e7f52a8cc61fdd93180c87056f569d1f1a42d6b78d348c9916ac50e02006009db531121c1d855a745971d84c5417ebc9e89ffc9620cda27f7dd6a1d239e40b3abbfa1f5f814506594e34d63d1403d58ee576fd73c27192c84e3f94d3352c036dcc672976227df2db270c752ff4a4f7d3f7c9702af359485baece3f0c20f478aea20a05e860cdbfc03aaa2a1dd6b0f836164718c9d472289f40274b885734193ae02d8fac62e1bbf54a0b1ae980b7837b782f3c63616656bec801492b33955c81c939440272e645de63273260938e09b5b3cc205a0814908a6700a2465e1ffc8f54ace57e7f5103b7f3a06f0ea8bfd3e4ca1ba1916938daef3caebc4e50f6b05836b6038644996e2ef3fc8aabe1ac85773450d08c78d4f7b5bc37f4105d6b3b90c02ed072b5621dc448ad6793d6214d071ff2bae633913a7fe9efcc693590970ad3ce1b431b1557e896fa1e5551e8a254deccaccdf4ad9d6ccb33d2c5bb60ea1761f5307a00b748aa69becfbbfbdf88f1ebcad4f9b74a21969a922f0db0bf2aa4dd951fc45900fc9de0e768f88703930c84da37f6551f3d827a4e3579c111595dc36e54b961ea3daafa63534ab7d8945652bd4e2bde4a8b71e293386dd64360023b913258cc65c48021f80c26a7a8d5136e65219c09204cfd0e826bd816daf409fe4e65cfb2234364bcec3c4c192a3e6839e07354ca944625b08a590d0681c49567df81aded5e0b92f35e868f947945639b6f730119cf858a3773616bd5e14c53eb8c63aa4fbd5a183a08030e33bf13764019952d57be6f74a966bcc3de07c1ccb0c564101ea44ab456cf3655f54729443b9bb2944680dd27b165ab913a06f08a49085872ecd240b6795238411b5880055937acbdae8d505e56b99fefc1fb7d3e23fde7f17e12be7a0772df84249c891343d92b4091fc7f797482baa1dd923d4e07a339b83b5c798bb6508b4a7c96a03fd3c1e1172af3b38be98e378976bb4561be7c3471a8d126b27d58c32d11cd1657ccabbb25b215c0734e60042d1a1f57781d734d8269c9e186a839a041890e100b5017183942dac3838c0875938132651f96c88dd636868a9031ca73d9c58afd3dc5a442e313431cd3943d8aba25f1fa0e9de071e5e75eade8b269d4f5f9de9700200be76bbfdf47c119dc4e622e2f4e68232598157e5b75631418746583b2eb8ce85156cd49f8938663121d874ca59f60fb3e21f72db5aed0233b108d3ec07d25da1995d047e488fdee6d6396ac56e941342aaa6120cc51980cbe4c76110f039c31dde41b83b891a86ad3dc1515bba75ce15e1d4756e9e4167493d70c8a7fe61b1bb4702e66d9c844be881647ab67ae0134033be2ce729d1d4ab8493269ffad302c9276ecbbca67c045ad6674ed3c72f3edec701526afb3a15bb7588b31ad2cdc52546aa3a1a64b5bd4ddb26153e26bd479a5d079248084bde7e0522d6b1689b8dde5f36b20c1f86c246a38491c258d38cef8fc0f48d8c33dcba1633163fa046873bf7c7a06335cbc6b1d42eacfeee8954f86db998f034404ad5529688c6c988748967a62a9c48025ed6e267be64847536b69fe442c548b87e4e9a1b20091083bcf6f403bc6b33fe54485a6e66f8b1368b13ec4e48ea2fdc205f17b9655c0cd295ac957021f9040fbffc9822b7dd2dcb46195ee02c0cd6de777a129d15c3f00e2f894f263c73310967c202412127a09302473275d01a68f4197f7ca32a02b6c0839e0c1ea6f1ed1f4d6eaa80b2de63ed02e1384f4fe7a456e3324328a107650b5cd192c0211a62928231559361e6ffc347f8c0da5001a3201ac60282ff8f3213f965abcfa6cd80c6e4c1e6ac9e9b177473511569c3d477476c5e7984a17337d5ae48a1eaf25094c129ed0ce7e51bb7322dcc141e644e7ba04f50b5fcbf9e0f938ad67c01e735287d10c23e9aa9af28c2e50d66cb0e93354b2f06047ec06e3860df7ae4d128749271fc46fa3c6a4fba0a61b4154279a749cf14f187aa0c5068b347499aa84c4d663169f5453aac6a428f04ef2ded55d95f35514742e05dd695ec405b86337fb5453d0fa94297676fb9ffb21198b2019760434d18dad63d28f9fe44aba446f4189a37daffa8e7688896da032e342e1b6c1b7deb22360ba1a30836fad132f08ad9022b0420f394746b7d33114ea6082ebf6bc9ebbfb22e3b5048a17e8f0ba737ec85ff08ac2a8d396a7f55643d13c8b6c0af556279550d4c996e2a3daabfd1167a407b9232b5c858789276a46549f445fd8aba7caf75bff2b7e97c6774665e38d8f438fe2a86db2ae65b572dd7de1e59ef7106eb25f5055c124ab691344418d72e2a0791c29aa6412941c5405f4bd96eb4b87f3c127a106c1a864146598bc5b5bf731070f91034a8ead9cdbba5032398809da116bc8bce0165e2c7187c855889adebbe1c33bf0154e24bcc92e04fc8f8c87db38ba9c4729077f376f6a615552d4585c48b978731deee6f851220f9fd3113e4ba96f2b90e43756b3c76a8ae56272f7bdb6a7344edd8cf7e4e5059b15efd61a7899526ce19586469acbc6074e28b5fc8c38bedf0d345dbe34af8b0f4ebb1a0e0af6e855f449ff03af2e3705bcaca93effcc40d0a07eba076611b75fa0fc8cad133bde55b66cfcd73ef4837257b1ea8800cebd232d7a6e28b2175284ec65febf91eff00bd866a5d0a44bcc9a774dbdaa665c8d1c293906386be07a69e17ed4e6586661b473c29790ee00de23a4e29f375e25c38fa5f3c134ca41d5a77f004216fc27136e5cfc2b87e549427a6ea68c10dbe734547357d3a28c7c47f4793fbcef90ac410b28f7f8d431b4777b1784d9b4a79fa75e62eb25a82653b0bf89f0c7704aab61341938237a1a6ceacc9363a97454eafdc3d55688604601ba496042f8654cd22bd63a2c46eabbea9d68d310432aeb722e7be258912542bce55227679eb9305ec66c43e0c4fda27f6ad07e8f44be8cbaf076cb7dd36ca4e21279e7726e601cb1efa08abbaf3e771424e6684d8cae5d564b189dfc24cf0853dfe4f542a7a726bbc9df07e27ef9409b080df86b2e5db01cb299de6f0d9b26e81d0925e458b3018df2ddf0f2d0e8dc468c787b4823dca07c92bd3afa4bbffa35557e6703ba4adf281c1f8fd17159fa41883b8a0c8f86a5dfcf81200b61e0fac3c623600d9e9c7f8d4785a9347b7e0ba0c08981eb215d68acd5ec6f3a8b152937a8351102d060a768c64864249389bc8cec6c1ae5e7f8785a3c647fa8e6c055d5bc1c061c6d8486c0b2baa3ecb5b4d1ceca10d2fa21b3460f0d1beb895003b4e9ef9af85f981e62a50e75a4ead8c995ad1e3aa4fcc0fa02ead7398a31c6bc4ec58e09a390ce9067fbe5815a03d386340e6cf8dc596a2c17c4e63e7e16b293237caf39d53e680448b0c32cad2343bf9ace5a2d0caa3f34e0e59bd71465a1b3a9cbab56c9137938549871a7e2dd72bcca5dedd9b6cf22577f425d925babfa36f993a52c7407f637187ed2482a36d18ab47ea8ac2f528cbb199c4c4a99fef924704dc674a088cc217696eaa8e7c6db062cc75e3e711db704f90ca970bfb06de75f860aa10856d179c3c96149ae07ca7a16075a4c17b13a2e866bf86c3b26595ecb92336b6c5dfbe41f8cc89960aa30cb0998502ac2922c486bbb152611768e413119c2434f8ee9b160881a3612e45d82b72c65071ed1133fbd0a037160ca93fe1c456ca72a6c6d0ba6631ef172adabe1293992226c4c04237b65bebbd8e2631a88ee58cd3bd4bfb6fe429a216ac4016e7ec0e5834a18685376762ba5853f49867b80208295ab646f93a651deb7d9624432149c2ae50dd105f2450e3d24b549169fdcd7d54c252f3e096fe3e84e0ae9724a1e790e7a00b6548d63976f454e06dadd93639defd7fab276e27c532c18f83ac0785abfdfcfe67c3e282fc917f46101ee4ad08422c9d1b991ebe99a628f99492debfe86ea2b3372f656879b44fac6c5b06b86c250d2fc1957a38b873dad8053a053cdbe78fce4a1c3ef0de9a4c18b2a8fd0bbb037602fabd5b240bf5a8df59ae2f1a2442f71eb525d36758a709efa86b95f61770aee32bba784536895f4544f8b08b1878c1264e565e2c79d99586e01b6e555983ed9d18ae42e2062a78d9735e852ff2ac75c8805c60c5d86aabbc7b5586e5bdde3e237cbf985ecd0905e08de339abac57e56a666596be0dc107e95b109c11d3fbab49e3801d8c66940f83c7d250cd4b32eb7514602efae61fe019e0ceefa574f4ce304fe0450904493890da1a938c170482e0bdb9812ba91b8cdcca2056bce23d259073a15afcf11a689b12b5edc238753442051fbef7e45455dc692dcd318728ee0634bf1c89fb1d216857a445818b515dc8d15b6a4ed248637d2f0a167c76e47441e5a37ae97f5b07fc7b8f1ee0e2dceef6529b77e23006fc8745420ec93ab9b01ebaf1cbf7f24913b19108e14ac7928441db8279ff18f8fee531fe1be741ee588f683712e7c2848c92477990710182b6b223c45f95431d935cfc84eaa964fb9b10de98ee142706b083e7ee2bd7679aef721f5d5fcf74d9a235d2523a041e531eb614cc9785c5289bc5fbfea9be38a8cbed7199ebf939f4ba413c46c7ed91088ed6d4f899d101925ff6f1dcdd47da268b5377b742ff61684dd0f8921caba561bad9e9f81eaf1716a1b12ffb6a195b431a35efa7f24edf4c7f0a0500835b170ac828329c1ded7cc502fcf10b156e193724435f0af8838e4ffd8f1630ea7f6078c108f04f832f81a3d7f719269fb27a73d2dc15c826677aee91181b602c27231f6a0a9f614a119858f0811a1401e727ed7cf73e105a35ac41e5800c97b14d6fd4c255e745bb2272e3c0f42f472af7cec1ac929ba737f1821e9d4f4b44855b748795b16f7ef86b9afbeced0b1baf1efc5c0a5046b1f046bb20e658ff8de44358068e0b2c97929658c41ee73e82dd527cef796d1c72f9115f5abf8bd16a4403421645d49bb47be223b2de3dafb166ca8a16c11f3345be724bbd5edb5c78c28b161849f80300161ff87748dbb4323dc9039adc213f80a62c601ef00cd1bc0d3e14f69cfdc5fd3468d2eec036ec65ddde9e027fec986197040d6cdef3cbd0b08a62d76774239413fcdcc6e0d799a9bd0173e3698eb2717b2c4b0e8092177fd381ef9004567d70b52781e389a3ddf93264ac57617f1a5e692e75fe2569bee745890005f3a1a65aaa4552cdaa4d3452194caecd9da3a141949d7ad660f00e35c3a1ec331382360680a74c8a0b18ce5a257828637de84ce76128728773323f09e4e9d8ac6ab55202a9e28fcee27761d0c8bbe5dc58599da686ab8f47b950e55a6a1f30c57ee1a43f6acb95ebfd06f571eb459608c869a8fb59cf0fc71fcac29a6adbb625279fa82159e578fc3136c988502a25f58a694562df8ae99abd1b2dfe365c1c2240e0fdd7066b550be4fbfb7b7a35e6d0e40e97b1f67e5d9d200c7db4436ed71cd954d53242a", 0x1000}], 0x3, &(0x7f0000000f40)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x40000}}, {{&(0x7f0000000f80)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000001340)=[{&(0x7f0000001000)="23fe63cba31a12acad268e193a7b5d1158c69c2aa79cca363f9689b502b9a4d640677b667063347db33cc2d1081a5ce19e3ec9cc30edd81397296183571b8f00cc74a8954ee3e7ee904d50ce90e0a94906ddfe113627b07a434c62c958e7971967c6ddbc37ea136c08a841db6827dcf82dc9bd1ec7f50e1d5fa1e67f072fbd3636c9e00e77e5bc1eadc9030184b5dad2738f88f418b4576022333b4ed3c74372754f0cdb39ad6c65be6398d4831e4ba832630d196e9c6eabc0e5e023a2d47f549a9a9bb32798df4f4d7132e8ff67aa383dbc0034df66da0513720d762e75ec0e32220336de04932423a2b94ccbd2e69752ff175d49b1f7d9c2f80286", 0xfc}, {&(0x7f0000001100)="f48d411d21c58f49a89babada0e815fe48863e44989841fc", 0x18}, {&(0x7f0000001140)="cc6c42c4d4de49a00e2a2620a9de7ce8c589c6044869cf3a498fee4967e66943217811d8eb493b7d34e007f6d24c9a8b1d0790696ebb5d4761de699ccde47a5741d91ef80c4ef4bf470bb669811a7b22c6d2a196530c2a9c9939408d0921", 0x5e}, {&(0x7f00000011c0)="0d4cfd8ca40124d225454ca5e1565f74c5dd0dac47b7edf4bb70d5e028d472b940da8cfd97c4e995e50608ec9a6aff5fd720cde51664ffc68e277b0bb6d050ff0753d9873f3513ea7723a9dfa4ac871d2d5f2aa87d1b9ae361566ef2a4636f24a504f69d9167332934b92abdcecd229cf3341f9bca8b3b9e38e0eb9c0f33b9560161cb", 0x83}, {&(0x7f0000001280)="20c24981c69460cf4e1d018b8246f55b1ceb26ed121f516cc6078f689bfebd40bb87258c381a78548ed1e4e53144aa6c2b9d4e33d98260e96d7918f19e442850c6196fbdd1f88d3aaf89807e791ca5cf07547e5cad507add800ab4fb266692b9c01305f97c487a0a08717c557b0a651490e9efa7809fc0b005d7c88c466c9374a503099c740bbc5d98238b28a9de", 0x8e}, {&(0x7f0000004a00)="f102121d603c0ab7e3cbe06c0e79bc5f83439f58c4707524404a2083d50375c3facb0db68230e7cdc8b7beb7e64cdc42bcfd783be7145e112c682e30d1b409f231b26d32c73f459307255c1c60de47fba95a46138da06d6770a95adec81121ef2842e8108adf01087070bb7791101a9816d7e64c505a72cb8eda1fad73e8239c3a31e6ef725445af71bfd50ad6e190f6d012becd626dc39eaf07f712d33b7a41ef668b663d2eeb6205ff59d13f77cd6f617c52c6fda502a3b945ead835962868246220b4aaba853d36f067966eaae6ed281a0ea656ec258a20f3c9fa6fecd0fe59ab47f5de75d9d774b341295a530523ba1010515e1ca9758f9ecdd4af3ccebd35f153045a74007e11346314f21aa818abf8f9e56afac827bf74354f286bc01e3eecdf6c3c3ec8b7fe5e422dd1cac2bdceb0358ed1fe52ad9f6a4e12c410e8767bfc8b825cbe66e21f7865bbd5d2d9db1776ff12131d9eba59e532096417cc3bb7192f273b621227a74a3558768cfab6d52e4ad5abf5de61e0913da08df510e0263e53f20220ab72d3e2b3a6eca8fc0e145ddac6941fdc63ddd1ea7e87f27b73582681b171c5dce744b3fd94a43b6fa375a89048350a508855391ef59ccbb26ba84267eed6315f59a41b10a098c4b7ebb2a529b5157a09a23fc272ad8cc9c7d213162c2df8c2b22d1a888ec7b7afa75724e5e3616e3203aabb59e585d4c77fa372eee992b1488a228e803c11fd0002e72cf2c34b91952489ff8fae80b9c221fc9607a64a60487ad2dbbb9b9be2e12cd424386828e74747393353da4c92e65bacac7631d44f81042a752cb0baa638b6eb7f1871963fba56896d482144e6b89dcade2a945f4f1dd482853a51408221774f7f5771f498b1875271c8cd0b5beb4ff482e2e5cd0592c2a7199f4824ec6a37cdde9e7a3b066132d7db0112855bf59b2dc1818fa105dab2e38839ee4a5dceee25ce9f3a0f51df2d4d919e92c6a5c52a97e65eb91b283713c1f810b1b006b663c9438e8eb84949fcee33c4c88489bc60f11c99959b0a5a2a7b6215cd498e1dbf97e5d2e38e9abb616235119b620231f197beb04c2190599409aa152b25fca237e120c5b5e738b4eb4367785972a82569274a4da76e0616d35a7966251c2ba0af4a16a4aefd3685d39ac5a5b50a88b2e0857f6b2e479dc01ebbec757d35a0980a16bcbdc78ff1f8f793c8420060f674f5ebddd21ccb0a3f3967bdd15c145e8ed148c3d810ff59174594f6bb897aab433fb63c5fc3ae32616885b1b4f59fd51ea81ea5b770b6cb5840621167b10d35d5e0b3c96920d6f96c43525040bde85834d1b3a4c093a2bea4940cc8ba425262290aa53efec775716406d597c6f60853a07cffc6313365100698f35236b13fa516968a07968191d9f4bbd0d0e76ab52d85ca744ff75f2abbe6be074c4d93553b0a9118be6783555477a3a61532a63f9d71d566404ef9812ce0e2ea43c90ac7f0af0ddf2387b38b18980d905f7819f2365f111bcc7303bce910b9121cec14b2e5f272c36043d2a6c0e9b2ed23546c6cb9300a046b63cd9c7aa16bda15d2fb51fc1f3c7c04a65079d87b1b86140554fd60f95c22dea01ead612ec938f66c5215d67f8b67506a237047d4e9214f91566b5bd81764efa587aaf57a9a9cd98b00888531cb5594d68cbf38d082b58ec2225745ebc160cb3a005f914ff5b19a7284a3a0f6ffb0dd391fe2c093261a461afbc574da7989fcb0f25f27f8b7789d65d252f3a394fee1acff39f7d3aeb2939b5b9eaadde4752881d187f30ccc96d1e36cc5abc8b38cf6de9864046dca46413b98f123292f5fb7f876d53481c43444a7f94c04c709bbc4f96921b83fa2dafbf479117d5478506eb240fdd41586415428fda2ae97512eb4620f0e17148c1c27e935a3cfa589579543d26d61214be7ffbeb76f9eabc7c8b4b7845df60faa15f040f7f8f333015c41ba8d882dc3bf83ff6d78fd23c920a66f850f25c43489439f1c887db685c9a20cff685af51a6fafc6059bdf1e3b5e96cf1dec256b1435871156c0a1218f4787125c667db830634bf88f2219cb3bd79e33e8060a9fcab7b383f786e232713fc389ed3879f905271cd5cf94a708b490b5e8c05e25c18f7e682c9304a8709cc13ab65163cb913835bf1944a890738b91adde4958caf4375e1cd78eccc4fa7c7b574c8a81570898799201848efa1a2ecf6e5e7e6ee73a3b565cfb3bb04cec81c7d0edf85e7a285133f411ad331f2814de7fe7ef4419f190e55728bfdd2a27790ca025148ccaf5d51bd969bb3e71ae61be47be199926e505c8611aa6fd54e173110717ad38b03ed8f9eedffb08e7a7011325e4f546a5213b541efb185faf5d35e5ed197341f8357e46a62fb4cf6e6f28482ae6dea52843a80892043372550f283fc9fa9cba67c6d6ef4b590ca8bdc15d0b4c2d62d53ef8d3b678514d8c8212285db53f529567396803ae1fd60d5d62bdd98f2eac5e7f4ee32677ae2c3bf07f1f18805a706b539f5b2c57f32d1c8ad93cf1551043119c9b14edc4813b9bed7c34eb5ce8dea9e91ae9e8f98e5c326cbafa2d59916c6c41ea2fb3c0acfc4902d594b8cc1f50de95e0f1b3f4c2cd8ea4ef817fa87cec32564dd604c68f6c4bdefd0c890701b8773726bd27b63b958588f2db05027fbe799138bf1c5d1402ac629bdec1754035efcda7a9390c0914f3021ceb2fd60180cef1f0e0b3f5e2580c853c1f5281d724f21bbaa77da847f8bb0e46ae639a502981580cc19a6e9065579f14f980de6db84c074a8f900851bba31000d6f1f4807efab17671ebe08c50049cf1c2ba4d06bbeb0302b756b6e6c94ab04c33cecd3a4f775a9bc3aba2cba853c3e22c60e68e9606539abe93ed7c490b592bddb6e89d4695d668d5e33daeb4ce3d1a20c303b177c0c9ccff5fe653a455672953d31f44eee948b4d29d6cf1143e64def9bdb646c9e66647124b888f41a352b76649a18c7d759f255e59e087c776ff40b0bb36fae0b7c48e82961d0b37fdbe698eb968515a826b6e85dafe4507597f056e33528c00158129b2511de2a2fdc7916b4c1ff4ae1c2909fe063448b960e083e3bb1ccf60fbf64324d4c5a21678349a1a9e39711b3ee4ab9fffa5682523e287524f88aedcf4762e289a042aced70500d2413ff807de310c12f1aaaf4f10858312de08a1b82f388a705fcbdb9438ac9e04e79e424c600c3e56d652ce4578a7e53221e8407c47add8e269db569a17c3ec2b5646c534be4afca3519720ee9f1b826ba6b08558ad5bac57203d4a56728f9b256cf16687b5b99d8377b134e026678f86091271da5623b1b780bd42fe72a122b889ec62a449344a6d8afab5cb312271cfe6a311f8d114fb51b64d0da3524f3b3206cc790c7c52d87c471859a62579f355eba247fa449c55577e685a7874147932c7c4bef94200b0dd72fe192ca4d25b49376b6fd243fd1abdf2c902d65e5061038c380901b748cd47eb6431edf475402422a0f1e85364a2d2563b3aedae16be8d54ce46276e2c354a86ae06d73172e3c1488174e7d486db461ffabfa3512c70b3e9e0896faa20193d654223e81a74cbf086bfc335681bb3bcff1d4b8954bf5648cc7111c2d5546e7351f940ae3a2bbd6c0ac4fe113c08da8caca252c3ff9ff27360262f7f0924cd9837ac8e4ff26352557373ac518ab871f33a5d7a7e90739b5d534461e934f1e65d594c6596c154cd839e188268f8e3f2de5b0643c1255d0027b784eaa6ce3ae9de8e6401dce16c70fe36b8443ad5495238639abcae0e4ecdc67430913143f86ff2c3707d99dd530e37e90e8da4608912fc650240bd7e5b38a5eac4e9e571695c749d7a9179d59f011d3a8718c1c645cb6365f69c2fac5d04fa8c73fa7454c1e97cd19c42946db384f1dfe1cf5ca998df87676851049fc2dd30e03c2f9111de85e27b67b41f83d5102cd0b8408466ed44ee0308589c1db48f6a2af7db011913bbb36167426e6cdc11a5d17b4e0538037d09787bc817b43afefeac02cbdd42491acb375cf1634883b2d17c01df5fb893942c631341c7fb90673af4b5c00d5dc90e474608a3f32676a5bc4694c0a9960dd45038b0e77c5aae8023c9634d41b3f48743757bf5e3dca8c9a7d83ddc98027b910a1cd9ba736b7c91ddf09c3ff9f472cdc9e9977ae3169ed5d6d9e60ae755f4aff0af066eef3b000c98234bb3d6d9aaf79df61bcd71e0f02b1f48fcbcbbfa6dba12c1ab1de3c811d107eab49395149ec2127bbe9dc2a8a0b2ef9dd46e3e11a91968e52c15b7a9e6e64cb59eda115c5a7552868194f5d6fb0c159c500e738e2c9b77ab7e3e1370e5d99d65d9baf8cd3335305234f64d115ed8b20a1ce02e66bbe611ee9c55f0842b69667318a3bc326e4d04b87f53f98a98fc467f21eaa0641e8f39c6f6ff4390b9369bb10571897fd1d1fa6f87fb5b3cc681eef9b7ea282811850e659192f7b27cbe722e575695fe04802549795e21a8171b8be7c87589498d8034e6c83ff482ce1b29cd07bce5bccf14c9b7aa28add7bdd205509dedcab26566072664160a56b1fc291a3bcf3fd83c52093c159d30440883aab1a6b4acbacc8852a33adcf3cfe017e3a333a28bf5e44b4977c287ff4f391007bf2eef69de66d726ad376dab117567271f2e05b137809bddd862c6f20bb81ecf5b42423a9a6f57db54c63f13510fa0f7d9863580dceba039f23df714b2710213247e9a803d98979a26ee64a2ab16596526059034f04f38b8ae3131c2a4091c484843744d5412f6b56c0983f2bc67c8dc82afb3fc7ee9000ba17b168218a1e50654f28ad777c4bfd402c7231810cb30abe5d5b9043be3c4e776a8ffffd4c42290ed7c5d8f987c0ef9a11191125ca616c78eb3a6b7d36458b890d72b8777359f982aad66757951fc77dcf871243e3ef7c7ba10aa4a93c0adac10ca583c81fc6e42bedbe5654cad8c8aba2492f7dec52c4d0efee767a0410ffecd991db99b9887ef207fcba50687ee67223236f37be11600a4ff28e3dcab2fc1bd271b834ae64c400d2a155ba6e6704be3475201f21750421b0e181ce5920c4ef622381f037d2ee9f396422fed97fd61e51020bf258478edc7b813ae1f00ab1259c3b10c425e05f6399443a1dd09b81de4c3e9daa98b56d1e62254d1a7c9647d3701ff59eec97d652d912242281a61ac89df8e8667f13e4be00fea570bacf41109f8153576e97e3bc7c6041fbf22f5b384cb99842a3d2b96a8913990fee680c678f50b1baa58ec95e979530ad6629e1fae8f1abb41aed1519d9c37e5464b4b6bffd854adeabf2cf17ea538d25b19cf133da3c20bb93f6e9c9a1570e46acdd2d60418453a0ff9501316838831f52175f6c60d8ea087b7c155f7dd6588751a50a5124bdf0db14ee6669d92c9da4942b25625d33272354610667cdc69ee97f8f0ad618178960976c101e8d0bad2e86ee4b089d31507001b60d21c9621381339e075246d0f6ff9358c381bb621f114f626584ac66fc282a98525243f467a2279e69180abb6f493c85bb113295def41ffa4b843771550698ec157eb6212ff2dc85353e980f440f76a0563c97a9028efa2471a006d9bc04bcf4ea44058fbf46ff7daa4e5b58d3e8d478673d91dde8da2f49cedcffbe8c88373356f449c75d1f3d66e409ac411335d27b425432773afaa061f4e3323f065791b6b12c738a974b6200145bb3da296d0dbd05c19f8a4096178c674e8952ba2e026c1dec7bc3b5b954ed905cdf29506d6274fec035d52dfd971922d9e836f1d4ca915a17647", 0x1000}], 0x6, &(0x7f0000005c40)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01, 0xee00}}}, @cred={{0x1c}}, @rights={{0x38, 0x1, 0x1, [r1, r1, 0xffffffffffffffff, r2, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, r1, r2]}}], 0x98, 0x50}}, {{&(0x7f00000015c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000001740)=[{&(0x7f0000006240)="5b50df6c0da9bbb178bd0ee79097ae96596ab24cddbc301ee14cd153af36cf0e24b204f1c1144497f162fe43bc28cabaaffccbe3dbdae3f6ec64f44f636c22e03aac91df31dde2452ab55918614764787b9dd50ffa537c6f2fd5f036d0675517f0998b7bc51d050939fbf2771b762eefd21a18b4ce766cec89e817ed7e206d615d5f006dcd69dadc276da10787f7ce5131ed54c7172d70526cfa82081e8b122082dad295b4c058382ccfb47da92759cbfcbcc3f36997106df6165e083afa2aa6771717873ac436fc67db2a796fae85df4febf061e30f82ac8697831daa7033f9a3763fb293bc71966aac16f66640afdb9a1b9ded669d8d1109259f59831cf70c5695ebf4759848ac449662b36e8c1ba1ccfd839185d39cca65a955033f47351bc89c16816ed313694e11d7f6e4e19f7d3441d890bada3126577ce5385cc7855d5b435a93cb0688cf27d8b30e27fdf9e01e97ceccd09b3fe57ba1663856d3641e1f94ece76a020db94115c09e0f0ec1efc9b483f788f62b6bd395aa20a23a7241134bcd7ba1902e03269323f4bea13a8d707c0fb037dfb65b01bbb85bcffe11167b50e45e018f2fde66e9bb7a0265d72f056954f128f62847e72913db1450fe98e8cceb88d98cd6107110e7199ae8d42f9d389082cf6eb16fc0e23ef858ad2cc8401de44d15cd2fb210c7462e2f35726970d6e3bb5b859f7108e2670451dda54a1175b22d6e3face9b079b694af43b25df6e4c1c2440f1b44a111639917974b7a04d30dbfb4963fc70d5887da9905a0be8457e07f769191dc1b67c823399fc8377895b82151a9354b2d4f9bce974b09e856512fee3fb7ffa3452fa984bfd3725431fd03dc758b4cb7a38989f7cf056abe88d1e0caa39a20ee0512686fd5de1de6a2cda6450ccc8d1dced1d867496df4223ede2fa85585871a681ae38760e1817439025b418e1a25e1115ad419a333778cb4515fdeb27dfe5fb4561f8be2587dc8c891e4190e2e006143daa02f524240d1b30181bafe457860f988fe6539084a328f9ea55eebaa4ad8dd62eac5f026fe5eb595e5fb7a86209bac93cf64b94156f544426c977bb4bdcc41bc60112baba9a106d5681bc47eada3ff0e81f18ed9e929740d6bfc877a0b821fcb8bd2479d769b66f535f1cf3643c55f9076314acdff4434c40a733ce827fc88315e2e64e87b635216821ebedeba3e70cca91eea8f575f7e4246a5868764433aa8e31711da743f52b48f88af1255b260f88dc93e0521325a9f534e9db7036fffdd094d50745c51287a5e60203df2e599b409352ecfcb50659972faafde54aef31b280a8559c1a00b08ce2bddcdffa08378922aed08519620a038cae1bf36407574f52f9aa448477d4c886c0f3a9ad3f7edfb4369c483531d817d224a2d499ef41d7dbc067495baae9e4fdd3da2054b9495beb9c3013d7aae9af3e68baa648684680dd2ca91705b5e9833948ea4fca5f5559874622a43926ef15d41a89b8e1eb3e6271bd963098762058f3a6a38eacc645dc4e4807465b7b94a424abfffe8548da5bfa566bd376f1a187f65f9dc592fdeef36b00b09338cd80444f15e6bc76ab7266059629cec4d443f058ab4a2cb05559d41faaf5d5478125f74431feed9620ae8d326cedfc3a58a3b1fc9e02f931fd7c80043ec19abd5e7e09caf0955881f353582a18037b722a29587b1b2ae829ade9ca0e7ddf8aef29d0fe543b62a85a2290c6f623057c6da68006adc6402ae3b53dee3ca0eb78aea15239195389d5769a5cf5544b15ee6c2324c29d2a7d147b1b8d7a4dd9d88e9cfbd0ae0def7628417a668ae61ec3b8ef2cb0e79a6638a0a19dda4f3f02a485a39ec43b142c38e063f809684eab6a2fbf793f0ab5c8720fb88a7b14c61242495982607637be4b510c72f4f23b50b7ed21b4c9e46bcd1df9a95e75c0a79e7bcb37bb286affb1ab7a89bec3f01615bb4ab39624120086f0b0ec7793818ef334cc6615baf3c8c04c024ebd1e070889726f8bb6d4751437963b438f381191ef4ce24f86a94af5cb2072b1b5036f6642c677cfeec6afe5a8ec493f9ecde546d31d8973564e83a0e3917f2bc42c1b4b1c1513700a72d9894550cdce69bb6d5ae68518a217abb4f08936872ae185c2b343f6a09b2657384b1d22b82f01daf0483137cae4b5ba547d8b1fc803bcde1e12a375f28f5d78b36bdacf603078f38939c6a3ed2ae9203d85b6599ca7f8dd2d38e947290d78575afc17c5e61fd2d7bdaeeae3af618781012f689d0bfefa5246e53d5b9de433676e5a11dea00a55ced08e7b749f881b53f84d16636651ffdf52ed40a58181214e61b3ea0165d9ef084b3638c9f46192abf83c8a3fe2ac1aea054f2523cd42866ebe9a7c5ee8c894996c5f0fdfdddb105af92114262b741deb22680db2b3e3e10e9faa9380c370a0b86e6026e5ff45403305b5dc5552e4b204d38b60a1d26db756972eeb0051c485983bb630e16ca49601b70b7832f6fe7ce6edda48e2bf7145c9a852f3826874a7619a0184eeb3ff09201238e075b4bb7269f5084bbcb9e51e0e356fa8733975ed86dc8bf22e651c604bccfede731992d13ff9bc3f330193aaffddf3d5e14d51d5e719ce2451e5ca5fb170be85ed3c707cd82c08c4d94fc2865a2e3bac7d18278c74a020cdbbf889b4e1654dc04a101a60d0b4ff522453bc48f2fe5e85b704f43c4f1e5581d65910555c629dfcca656dd35756e6a058796da09d61c0ae99f86d273fa027816e8d4fb30ca66ce5cd6b5bbd86c4bd06fcf1829504b6c64f0ddf79f9ee82b0d3d8fa7f0c5bfe51460e1a724490de841b7199856952338ca69d41da884383d6b03d07f818bb2f677aed5f0ee28c90c538a07d13791b25fea1a38686268e78cd172b22361a80cf738376342d8816d7ecc80cae92b5a915bb1529a5437967a0d825c520103391bf290117aefd9208c1f8a115ae7f9f39c5124f9c31834e3e9ad03157e5194f6ff0673a5d0c2ed7a89a6dc4c4ed1c11880c9dd13e1c4e4b6d106d409fce058cdad7b95b7480d4f59a9743a6b04b4602784d401d207a991dfa1a7b934f4f4cdc7688a4b8125f0dd15977f7acbad3d177b0587a53e2ea4835810641da4fba00feb1ccca6daa98e2bf6e24dd832f42c0b71156b84b85d7b12a9e15402196850cd69d41dd29a56fdf595ccbd366555a2bbd7e1fd852bbd7f98a8fd7074e1fe33c31619ecdcc99496cb49d82a90a7d7f9e56c7459bb663b5e3984edba095067b9d7e724c3a24cd27a46158f6768fdb0f1344ba3b52f446f6e4e5f676fec2b741fec5bb5ef210781e57585ce31179f822e776dac09a2952ec2495ddcf02ea1dba348146454d55468abe6a2c18e3b2f0c92ae2e7c2f3e9a2d1b39071aa2f4c78c3f64c33c0ed0395e99ea840756c19fa84dc13b24a702c94ea7e5bd22689720bdcab91df671bb336c34bd917b649bea4d2fa4cba7a5e85f57434e4eb279c5992853382e86eee67905357106199cb1b2a12406b2cfd794775d215676f9ee2997bb907a22c6f16f26ba03891df9d67648542ce0fd4fbd7843ea99c1e77b25da9bf75bf78100c1ca2b829ab50d176776fc78d83d9a3323d67b4f6609c54b5141787bd229b0d343b6921cf737a6d0be29d9689009235388b47f4472182e419da4f8a4a1b6f430b81611eb93b75c47a92605c4cbb510948058f6242969adc23935e81e04b9296423b878851ceb136a2f7a35721335fa734e6f0ebccb13ce2f9300ee536e3bba26b466a2dc059ca685e622beb0b799f51fed606b8d9630659189b314a1ab87dc2db4b97db928c771dcac79f108b6be556e1b6b7f4ba018a63e7e7a193be126a3d11a4bb92245bdd8f58ec6146aea6cb8f86401c83eeaec430ceda5ad93f9f2b32d658fdc84ac7bffea335a2d4c1bb7fff6c8c477cf4be32ac5b20b6b3c22f448879a3f9e34c7af5966f5f088d80ed6fd09a6fff8cf06f3c571350c729c87c45a66d9fe7f0a7b5dec12238435a486443f1b58fb130d2ea018fad3d7912a36f9de4026230b7c3a07e5eb7703fa9a607998f1b5e4d391843cb5ccbc8a243987e2cefc704aec8cef7242d852e10ce104712e832089f3d6bfa1d9cd747fe1ef4afb5abe159b418902e0a2359790b1df87b9de7055f9d5102b640415711297de9d134fe540f5e251031bfe97a9293643181933e6d04ae7400286a3620b4d559550ca23aa446fd32a3243da347aae87abea10a3d210b478d45b4cd77be9555253ceada8c6c89d6061286ef399cd8d4dfa5435165b302edd846a699d67825417f80538ae70b2fb30ab8cdc5e8f609c589be1ee9ced70fa96e1831661d32c8e19db113d5cebf020052e400c0d6122e7ae97a2399431fb515ba160f156db3cbb3fc61ea90b318b7eb517964c99ef711b2cbe0a33489bb96a0ea53e21830ac613fa5592e27a59bce0666e4691541c43b802fd762115f2d3ec995396b5bd9419ca5cdf0bb444713ab2a5eb0d657197f74de872f86e4fe27395e0b4a230213fda8f3552967be9978667e568c888acad3b77d66293ada8d03d36190bbbb0dd38cc91483bfc427d579e48cf042b16f0d3dc41c069cb4a3e7219532b9e3e00726d356901f5e7a5365839b2917d7101d1bd9da8060aedc4cc9627332bf7928e007d4de22ef8813162cb14ade7064bdb464ae1735cceb75ba7c9db3147d1c4331bdd0979d83ac184bfb6382a1ddb9e5b0bef9940f90347ca35c0edb85eef1a8319fa06d07aa7895667f9c1d8d6081c5fdc893569085a7e1d9fd3f5024d01fac1114cfadd574fb252bbe3da589ed554978778fb4fec092b8feb2058b4b06c620b038929b6558ac1d088eef052f615b082c7e1194f6ee3244bd09d6d4dc0d48c2660446f88781f6cd7ae76067e121abc871c9942d52995cb2e6d9e7b5af869a57d55693860b05e4462aa191a2ac3097dfd893019d9734dac2bc69de1921f8fa505e46453be300a642509530d5bdc2d7fe13609fde64889aec6158c510fc3bde2751742cf3486a31e3da90d8b09852e129025a9a784254711b5173315fcede98cee3d51973708ac99da05ec38af5c79149e67968b9025c24b6557d06bb0ff782776d6f545ec94c8b0f091fe5e4e1a875e0e1de78753cacfdc9fb197279f5c4071bac75ede4d620d932c8e51cf26aedade595071e95378383d4e402cde703922ecb66ab407142bfe47887bdb415de3f0796f6d2670d74df8c45502833f4cf45707065d049d58168d8c2f7c5b1b236456202516d2609c468252b47268e01424503b3f92e2ad3d2abb774587297fe1c83ffaf99a98223b5d267f59547e05b47d59be3b92a2fa76b87f02f19d004f877d2df5179ddbb23b302879b4087ce8ee0f7e5ea02011993239de04985d9cf437788b458e2353baa6971a51c70ee744a51540dff0c9f13aefbf22898f0cb67ce50019007dc21a9258a0d4f7d74c1f3f644d9a7a860b9dff8d850c6882bd9182fd2e707af834749d4bf6818d7d86b8328945ac165e8c6bc9b64c4c003f6bc6450ea5a71bb704a8d13b1b19693af66a8316f7720dfa3759ebc28d3abdfc057956fb4cd87ef8a503f4001873c87c496894a04dfd74926a73f6ea7fd64e2b4fc35b155411b6e390936da5b394ab2c03725e69245f18327210afb7ebf9d50e984cc07fea78e7c3b88d319946564b6366e0de2f4e2b4bfe82c34e77c51ef7084845d0fcca2ddb861dabf2695addcad28e0a4d105b0954555c0c642a5a9cff282a0efbfb08cc057a3a63e6c3c8050c7236d8f6eca01d089af75bb36a04dc7cfc", 0x1000}, {&(0x7f0000001640)="07ae933e6820e2caae3c6c4d4f2ced499b", 0x11}, {&(0x7f0000001680)="e4e115d8c26205f9002b5a7a1b91cc7cb0900983481634d27d0f0fa045ba10", 0x1f}, {&(0x7f00000016c0)}], 0x4, &(0x7f0000003080)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0xee01, @ANYBLOB="0000000028000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="2c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0052eee3e800", @ANYRES32=r3, @ANYRES32=0xee01, @ANYRES32=r4, @ANYBLOB='\x00\x00\x00\x00'], 0x98, 0x80}}], 0x5, 0x0) r5 = getpid() process_vm_readv(r5, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) process_vm_readv(r5, 0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f00000003c0)=""/131, 0x83}, {&(0x7f0000001700)=""/5, 0x5}], 0x2, 0x0) process_vm_readv(0x0, &(0x7f0000000140)=[{&(0x7f0000000240)=""/67, 0x43}, {&(0x7f0000000340)=""/75, 0x4b}], 0x2, &(0x7f00000005c0)=[{0x0}, {&(0x7f0000000500)=""/139, 0x8b}, {&(0x7f00000017c0)=""/4096, 0x1000}], 0x3, 0x0) r6 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r6, 0x1, 0x19, &(0x7f00000000c0)='sit0\x00', 0x10) connect$inet(r6, &(0x7f0000000040)={0x2, 0x0, @remote}, 0x10) r7 = syz_open_dev$vcsn(&(0x7f0000000100), 0x3ff, 0x2a002) bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@bloom_filter={0x1e, 0x8, 0x9, 0x0, 0x40, 0xffffffffffffffff, 0x9, '\x00', 0x0, r7, 0x2, 0x0, 0x5}, 0x48) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f00000027c0)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d9fa743db8db03d4b7745fef1504ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba5870786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000200000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0281d58638f061f86132a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d09d2fbf06c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bec70d0e0e391ad30c83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a644e9e3d769db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f163330d"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) sendmmsg(r6, &(0x7f00000038c0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}}, {{&(0x7f0000000740)=@l2tp6={0xa, 0x0, 0x7ff, @empty, 0x7, 0x4}, 0x80, &(0x7f0000003500)=[{&(0x7f00000013c0)="9f8c1a5229d29879004fcc112a8bdc4d30d5455a369e95ee42515bc1ea01007733beb5a732544b8b53b3289bde5a989a80e31d9e737e9bbe0642a592bc60df6d56d51946e36c006d7304ce60948ee84d36640f056037f6743898f23f32bc81c8f9bb527926e02f9ca9f8a6be493ddb5f24dcabeaa343d7d926be07b8b35c5eca4348d11cc472208180a3146828ac711dd513548699e7d49a72176810d7de8c0d9c0dd3765cfe66f97ae6026ce934", 0xae}, {&(0x7f0000001480)="b552889418ae220c2bb59f5a21b82bb1beaebf16b2c80b421020bc75c21d981354b74954e4d5a4b06408af46e3b2dcca57baeab1737c362463e509d8f4922e90938306b056f16133f7518001c8b4d2a4d7c20fc78b08d19ced1a0abb2ada737f4c9d0185c535c425405561add0506b043db5c3fb1069fe19a97a9c3a25fe7f8a4bf3830b184471ec963fda890f0e725a8e13768f4d0cee6d85", 0x99}, {&(0x7f00000007c0)="c54bfae095ee25fc6c7676aa64c925208970c75a2bc23712bffcda461b53dfe2af9e1ff3bcd80cefb0cde94cb01222f737c1d90c5fead416642d0acde996439a3ba697a5ac61cbbfc073c659050e6477d86f69bc9c563f41a8aadd10", 0x5c}, {&(0x7f0000000f00)="66b6d157a789e74564d2696e9d545a0563426e1a28f774beeaff17925b715793dd90ed4654eb05ca28e1b4688d11b8fdb5356f96ae0264038ebe74d47fea228c", 0x40}, {&(0x7f0000005d00)="75eab1ea7f105e120aa7179d9005e2ad79ed45d941d6f7620c983d4f56bedbeacf1659b78ea58b5fa2323698baeacccb7a352c7675cd7e328aa396876e73feab028ebc8937feccad9f4a334644c20fa88c46d820a885656a10257ed742dc1fa50ce443187a057c7c7664cf147816e674ea86fbe817f795e576c57776f3b1fcd6a19c9f86f8d5a7ae3f2ba2dc3de0e327", 0x90}, {&(0x7f0000007240)="640a613a3b219c754bf17d90d241bc29fd5d53b122334d737b53a37aa9fc6dbff34437c02de6cb2766a2f36025a6cecca2b777371de37503dfd5fce87ecb12f9030e25946f13664413a4423fa193f6d4e11801c2d93e5062290bf03b5a318f2508ca3d4962340ca27ae1a9275345aa0288fdeb6259e6ebe8fbf96a44322c82bd27467d76578cf0a98487c478f9462e40ce6e5985196e374edca97776069b8dc519cd406e97a1b353f30d7c0864dfcfed76cb5aa223e2eeac45cd5125db755948a73baa7a03d2032f3c1e38553e391fcadfd0fe76c69e0877ffd80a90f249e3a753e0060e4d19647edacfa3f15af43724fd6ddc2c5a0ab61ad824c30168dbde526281083fa5c8e8a53e1762de63b11dd12c6f23a5ab28b8db4fd5008c022dd0cfa08daa60a08fb9d2edd719ef748a925be5f0b1ad36d84b944c872b63277fd19003b576741163ffc8e2c2849b077188eb06f2bef37dbbc379670bdb0318adf2e1a9f87d2fcda727e6a6c44696d200ddf0f1c78ab00fbb3a1b07f1b9199010e20142c9a6963f6a868d2861af3c9cdab66a028c19e7e4f5e14bafe7ca3393223ea3feb96e711774e08fe2b93a65bd5b87938f41aff4d725b36b50a943eb9f13e233f10489ce77a2cc1138fdf2e19bc52643c7b799bc84aaeaa1c04201e6ce2c7ff90bb6c760825fdc58cdbdb3f56009a39a36f96b65b18050fc38c59b6e6b9020ad99caec0eb6fda03e894c236e03f7986889614eb6deeffb2fea00270a6baa8a3d79b1d48eb6d1a68f1e2bf5a598e770e84aa60a27d7045fcd4b03be8ddafb857a72dc859624fb4fc187fd840205c41e5788d95c25b33d06dc06c3a6ac6de51aecf6672df9151a300f6ae49bae45d4d7f03efca99f631a1aa339493ff0933fc0d0352887b896dae3a0bdfa52dfbf5edd84b8b901c379b56d656325492e07afd4b978282088fa4b39f4eff1266bc789f720bcff7b48b067d70a9ad3f495964c818f5dcd8a1229e3c72d4cfad0963049166a31dc67e2b4628ac70aa242250e1e834e8a452ef14974546e2985bbfb2cfd6c4d67643be1cfbaaeb8014533ba90edcebc687767020764d44309b5cd004e3b7d9778f36d0ff1a5aae60cdb72fee45c3f3fa334db5188e21f384d235665448a746a0e77279b2dbf48a56828bce8ef7c8fc3c950b457413b833a9deef51881111f83e84f09dfa0db1628e64bfeeddee41681d9911802ed9ce344f368a2095e8ab6465b1a0cd922cef680e46b719ddb15a3777de95d4a2f1ced077a5339b47a269ba5c0e6d6be90e16f3028e95e795e91efe0392f2d1227797e5028e8c0519f8f9adaac361c9e44bec5a1ffcbf53e19b96aa018392f48efd84e7dcfe16ac795733c7257e87d9ace63fece1f061361a7124b5834d773a74c3bf0b329badfde00c48886daa32c13e72abf0356f3b84e1d6ba16a06d6d55255af4990723caaf11518815efe176c3e27bbd024ec4ca06c13306f6e9c01c2e4b2bdb6e3e4ffbd0dc30a9f07f73df160fb7283df7a4f092491c3837f20d6d8aafb091716631c1e1cf19216c5bc34b666d89137bcff395d60a8a2beb94dd55ec0dd4119a07409b902e4764ca0e32847f7f2e9cbcd451a730db3e9c830f830a8c3aac85e14abda110a844cfeee1d8711344e8eea390b39e013af00a10d82467cfabae0a3f72eacec633d7de878ba9654e0502d558413ce942d37ba7c9141d93031b874cd2f859a793a13f0a9a99dc1d99263097b87c70ed1fe075544729bdfa11375b104bcc871e5d3bf84970312369bed5cbaa153d873e8e68dd47d01aefb2b275e211eaff57c5f7fd8158b5d6a821e86b92db9e46467d1403d97a8de2b88299522efe81c1fbde3d1b62a9ba04b03e477473c85c1862624cb2b4758294c252e3ad44fe0ac64364a3621fd10ebe45bb7a765a9c2195b97d6af0abf4e7e3d2437becaacd54171cc3aab9c253937adbae44f668828257be6079e5e23b6f0d5be79d0d9112118f19b80b7972853d7a71fcbd682f36ec63d68c20086140fc73ed2df526fd2c8882700516225cf838a5d8b261dd6d00889422d99cb4754ffc209d399427c337148ecb5d8f2b8ee01d8ab4eb25200aff5b19af7385550b6682793fa0b08af5111f6db01c24b24a2fb0558719d31f5e4e22ca626eb4364af65d1323f49c266db0ac93c99c5887628af2a38cb996fe524c21d7beabb783942b5a39799ca0d5e07aa88c5ce2e67b47a0900c7a823f8f920bd0722331e8ae40182d078bfaa31b237f0ae7c6505258fb4cd33cd79381565945336a01d8468a1c36817c2baad0d57ae3a34550688ecc78b1d4c96a9625e799ad1c28e12394ddc0b94d5396f9f970d1d6b0c2438f4cba8fe2bad2dc61e74425df19c68fac0127a1ba773ad7fcac6e09a09d1e25b84b3929ddaccfcf538b8e3a68ec8c18561f904e489d05fbc4c045eef717c92fb2f7d4194f5e2ea51cb8c2b4701b76360c28bdb811ef90854115d1b5ec3a18cab01bda14fa585aea42e5a96998a1c2fbb14724cc5b07d4cd56c571198db10d9938a29c14d271f68862099f0bb5f1d97d0c6fc43f2b9f00368fd52e4b25347b8f525ce69e2ec5365702c2d17d98f729796cc36bcf9eca4df68bc98a9fedd86790706de0f7c05950613ac07eb538bc822654b92fa0db57c2ef8a19737834448b3ff9d5c7d2c20d29ae040673a11939e9b2747c683706a49d5c03f844e61b7f07f71e4f07877ace0d91de6e6d393dff23349042013012878d25c01f3c4230a55d2b230e20f8b078bce65273070a2b36569b90a8f72e11c17f133b30364b9e7ff94fb30fd1e3e1b368b440bb28c8615ed639a998ea1f884caa16421a59e4c60f252e4175ab32f58c619d42a94508a2400094eac87d1b116e3588ef79e2d5f22b11d801d3a42cf4f0e0872f242281a221d3d725ed27dc11031f302c89dcc62044cd36fc37fea44ca643fb6bbfd01d964ee3ef04a7685d20a804e7178db7e28cf6a735ae2f1d9b7fe45167c9ab17d8b2a84ad644b6b8d744d37d54fd612e2f51cc762e7eec2bba937ee47c86886bbf9a1bf336f78d69f33cfb86b64ed9e6ee59a586dca8efb408d7032f1f8b838a50c69da239dfcc8f2fa47249f834e981ec4425b57386f93d4e034f5f20a726688175aaa73561bd1a577a3c9457c727edfaad7096bf1a6d21a902db2c053912c9e357b7511ce490c08b31355a52adb19cff8933a265766428ccca5b291c0d964028fe9c9ed13f692765ba20645e39b0b2e5a5b075c8e013e24ab7d12d99046db44bb27e4367e79221ecba0afca547650329997b4196df0a06673a3fa82be8ef4e5ce1968ac95fb9f00093dd3b85014d75bc57af09a3fadebc52a58b9247ccb0f750844ff2688cd2eb78a354a1a83d4ac4a599c0317378d0db8b494b6bef5e8c7ce4113b49829e332b4749a3b57441a4c390e405ab4583de2b98c86342998920478fe5831ef3a014bf52d324f9aae9062368292e2e12a7c0b45f7904e384b8a3aeba98d64c1a3ca69a08a5c63ed93a1a9eacd600daa10b398fec64a3da986e3ad8f72497330b2b7294285d9027200d7df8e5526fae7f6bfc184b494ed728c11afacaeebc6842a787944b445780e92b49d880de5bb7b1ef5061d7de7716b6d130bade2bfc4c0671d741f40c26e458c94ab942bbabce0677b98603a022bf3d60603d74887fa4fb3fb9198eb3d455ea4632c4046c06c4cc4efafce59cf56a7e3e564617fc5843e46c77e9cdc0eb0471c1af86f97ba617f44c20ffd07983dbd0dc5fcc66c76d976760a0acec8e687b88693b529d28ee6245ca8ce767fd9d9f212411c269dfd7f4affcfc3b4c30cd4a5a173112d4869cb8bd12cda02f47248cc345f0eed610740462d95097f932e659e0f5e6c2f0871ef4bb0658613d878a42b56195da28c8d937c23e652cbcd7eb6a29724529329cab63ebeaef8b7b3b7cbfb2b397decf72f4998e3beb1bcccd93370c1242f73ee0a42fef4bd4c5a79aa378280f93cb5e2b8581296f09a7ec1472deddeebf3b685eb2ab6663938044df383c2d7b932e10fa1cc8b2974844c748fa856ceefd6fc6a83ad52b5f5875e3e9dce05370966bc290fae7f4256650b715f143a43ee14bebd8722124084eb2a1aefe7418ef75fb4977bf1e0f966e1db9eb66392345ef8965d2190476616707d72c36846467a7884433b3b7b20fca9d7b452912a06ea9de1a18e97bff8ea95ee0d7c305171b1e81a71478f545900e364373f8dcba0e1aa678a651e78d33a4dbe1349ec5b87d62cae43bc0a182fe21afaad13cfe846a3526ce3e642ecba069fde5202a74e349c9c50eb5bb9f13f09a325e90352798c8d6f007ed9117314ef04a84d1b117ffafb10d90053cbe6c95e5ed7b6dc97ca242ae40a15f06369c52fee60c8fef1b3d08b7b65fff91bdd6d907cbdde5066839ab74787070a88c34aebf939e0610234677d9c84e73008d7ca2f3a3ca3b6ab61b9d59173a2e58acc744973e3f2e2cb814e4f9cf67d8248892fb4a42cec893574d5398c8b6f535b595c92c61cdec9a939993835401d58704342f7ae5bbbb7220da973bbbe45af88ff6bcfca03a60bfa740f6a4b1da725cdde86768671fcbdc44d6c6a207fd4d3c7d31769feeafd75fc9a919da717dd64db9482de0915a49b0273ee3dffff3d29e167c1fd5999d38605e22a62c9f069623141bb7ebb63ea26a849c145cae4b9b7e78b1d190c989832cf87d99a7bd107bf1f3e081e6e97d7b2b921dd672b194bf09e7b4c4f7137505a07eee381cc7097a86d874f18fabcde7ea088d7231fa52fb637d98b66472f75a94b91bd17a33eb751a26c81fba8c51213d1c45996f08b8e2a2efc951789b3e6da392c5bf68a742cfaf721bc0ec7352a20cfa96d410521e1a838afc267b9f11f704b0d2d071b9b2c3cde85cde0de3aac861f77296f349fc4cbaa2639ca56ecf98abc5a171030e5cef32fcb55d1db3c63bb453d62232909a4c9370e6372a0a161e4fe5245cb1eb7fbc6b3c039f8449ca1600830f88a3405386eab42abf25c7bd90de149ee67c1423a78a501636bd40deb65b00cccc7446b7e0122292b506cc8df1b7819fba95f3b2b480b408b007e44d726fd7068830105362537f27956dd82e0c40d40f70a166ed65508cd5e66491e4b20434e9136edb057d994288deff74dbe86cdd52574730a00e9a776e32f8b3032c722d71e2d172218c8c5b75b86a4f5e02493ccc06a70f1de5a10f85af4ef3f8f7ea45d573f00a0658f64bc51aa6e8f331bd3a035e8a6051bfc85a6403e25984185f4e6c5758e22a6b5ff2971c61abf9caeba86f5c5f31cd0cca275557306f9a2a4eb762fa984d2ca58bfa314c9b5ce1e2e3d938cff19a78bed5366c2079f8d2a9659d38cd1568e0b56200f53001522654a99a1692ecb525da9b1ed39594e1732fb1b8abcaa2606f2c37711d12e6e7b18e5dac07718e4eb904cdfa9a0b2c26886a369e4841c29340ff21c22a989eb7bb9d3c08f0e0f9adf6912bab9d1826c821de237fc7df7095398b7bdcacbb7ff1da551026db05b265713881b50a64952e17466d08e1aef582dc2e775c490efc72362024efb7299fe1fe13707ced6c91d7ba799457034eb83bbe17dd55c47cb2b3f9a976c88df23b09848d216b3d54b664d0ed4a4aac3548dd6bb52d6110c876e9a418d16b1fe68b4467448218124198c2dd26d73141de6518247fec8388ddf26edd3dcd1476cba1db0cdc27a7cb2dbfedfeeeed8aad59221fb50c49c16ce7cf9befe76a487dba76c83caeadceef0313bc1a985c2", 0x1000}, {&(0x7f0000003340)="cd8f1d08cfebb7904647a2ef55329bec8ff4f9218ecce2ac6ad1365e233de4a02189b5c85a421c4054234d84f6aeb0a3d324fbc3b3561bee268cdbc204b9194314d34d145465ac2dfd4590fe2c26633f3a44cb3db82035a0c5eb82565dcf35f5c6a55835b247a1121232fdec80cc387a2b8476cd2700c50f339e4a6072b67f739e3544192a8024b44cfe3fb5da3d7a4a5a5911ea4b34c391ea775fdee5fe", 0x9e}, {&(0x7f0000003400)="0872ddfba4a3cc9925d4dba9ca1e375f8ec063c9b94198b8a061646434de158bcc0e39007c07c80f6c51663a337e8dd72fdc58f6232c7c1fb66b783928866c5a833f317ecb26216b32fbc18f0d937b973cf8d66adc55f3143a44f25c69fc69ca1238c9134db50af0d770640cb78804ba9d5bc07e255fbe89e9ec8e6584dc1fbf5a4db9c5a295987a880073f2b03cfe48ad76082e1d4abbce7ebaa658827f0731df7b1bd3075631118cd675636de8e495727cff028ebffb453040ab89e8d089452c07424f8a4ea41bddd15c17d4e81ae057f238", 0xd3}], 0x8, &(0x7f0000008680)=[{0xc0, 0x118, 0x9, "3b7792f0d18ab08aed720af081c61a530748ffd2fb02903669e177b15834849df311ceb416ebc3ae90c8614c9659e524e6918d2ea1edf6ae0d8ba56ac4b97764217535285aa909bc1ba3af60d6cedd346c041507d7452444b70697d76e1f0249b8acb2b53eee58bbb94ed801194c3705a35656e553178d6f7906a06c52622152538fcee77764c38d56c75ba35ad1b0af3e5b594a38664137c345e378299ed986029c24f80b0486ab5dc5bed5d13f"}, {0x78, 0x11, 0xfffffff9, "77d81ec7425df99871131ffd9a4379ccf55e2d3329ec8afcc95709c33891f2ba119938740bb574b37a4bebba1e0543e71f95de24d55f7e3f4e950f3236b876513cf599fb750aa4961f4c7bfa924d87c81dcc1582a8bc86aafe2be80cbfb03c66af77c409c4dbeda1"}, {0x20, 0x101, 0x8, "9d15976ec86830caeeeab6b1af"}, {0x1010, 0x111, 0xffffffe0, "b40028abfa0b71a33ee5fbdaef9d35ed69dda7067c1666df4a6c1279852f962b8b9122846ce1d451b87a5c5aa3f7e678cfd9cf1a9733d6c0e7203f778151fa8820b0b24455b06a8b8ac1af12b65888290f1d64efba2c9082705d7dbe775cd5520176ae892a7f17f7b77509635a93472587233c17d5ffe65c3e9a7c0fbd9b935b9ae8c6732a06e5b143da99f16edcef74f0af7ebebf52c82a9df4ffc3c5dda4bece2969631e1d51c178c653cf74f8714a78a8ef2f75851aba4494bacbf81437a5cab14176c52ea5d6f9bdb71a9f4d6ac5b661cc426f764e9489d99b02c5d2323f3dd13c13dc13e5adee5a4d69a11f2b247a6e301672f1f66d9fdc9ad0ab80543d8ed18e808efef9199c6c777eb5fb95ce342f98ff12cb105905ed20726ddf6ec09ef4cb1a116c972cf99d745a79582b98bcc2fb03fb1e3a09d6556d6d28570ed23c7e69977ce3ca30a50c06d004b0f3e77fcebe3de9bf742402eee32547dfb23232cb38079f1b035e5fa5ca81d47e331b76452db52101ed36f9002eb6150fd1367e43dd8aefd6193393433ed365a2efabe90a62cd14965948d3952d28c0565354377e05461963ad9ada4d325a1c10150b0006edae469747ef9affc8f0f46c0475d02405b5ed4a5759b41420d6932d8db539421ab94ee3f5e733f355292ebe4b0409302ec1a19daa788014d56559cf956bd12f8b4ead1487f163620dc8b58cd94a2abd5550ac5016cbcd1d1ce965bbb28af60423cb7528fa6e24400296ca30f6281bbcf8b6cb274db8168c971f9d56eb2e71db5b7b91d6765c07e73f91f7ded85499938863109933d1779fbe9e371741c483ebaf51bdae65565031892313d880a7e7a87ab8495b62b209fec9d2c37dcc1c0fdad1b51d05fa4dca711f50b16aaabfad99ca9a96f653a6b0565ad1adfc87a10f4d5e75bec6960053d3bbbf24602b0f5c9b4eb77d7e21e30983a7e481498062719c6dc073a9e51ef7580ca9b7f2621781ae90172e5e8efe65a46222843b928b990d3bdbb4d4a695f33124de712689279e00b644bf349538c1cde5c4051e323bb388eeed1469c7476c7fd79b43fd8e64953a92aa6bfed600b7b63281c027d652f219edcad5c60b5b6087e814fe9d607c3c387ae8f91afef42cdb5ba2e434f6ac89e8fe672c1abcd791b18e5df1cf9628ffaeef378e768365b65551e0b0230253c2c9a9fb550607d3ae126f6a1e8b55d095126c3e4fb7c801c2c8b03f1ea9a6b4d680a78d8459b468a02a7137b1323d6a10dbf4e222b532f4eb3ecc98a8dc036781a89cc5b8d10029fc1dc38329bccec31f79e5db5989f63c0c5aa3bf701747aadd1ad93877f1a324d1eda9efc3347bb22eaaa30cdb760845c3c1dae028eb0dd95dae63b2191b9488fe945a7832557110cf76982bb2ce073ad931048a8060d2733201cdcadb187c69cdeff5a61b58726ab9b8ce0850c103a2959fdaf4ac59098e6b82e9d941b3ee70ff80a726eec49ca776f8cedb152c20bf70815e7b428b539abe56f1c9cbee0232e7820589602f39ffdcb8aaa004d6933ceb6717e82d873b67588bfc9c4c1667e6c7c41d076c896d2c11181a564b6bd2d5f0cafcd525d0164bd5b8dde2664a26ec42c55e7b7015d1c271ce3772b4d111caf4374a0e8d9d60af466b5686b998113adb2ad0c47681309cfa0a0cad5feca277c8bbbcfb9b6b8052afcfcaa389bedf476e967db798f1be2f5357d32393d9a4ad229bbf6c6c90508b8c005fc112d6c4d2b6e3118b4ad3abba722749faa96cc245df59660874b9f6815e2deb57f149ce5b0d95f128eaac6f2e0e80b84b49fdfb86ec75d377ef9bbbe306277942b236dffafaa14991e70e708a3cfb9a1737d0b1541562a32b61815036b4b2d383afbbc213f1955fcfa2cbb3f19b759bb0fd6127c3ffcd460aa7936bec88cba5be09cc1e00bcc3025be6bbebd0a2ea35689b22161f9df946dd2e43dc6046fee3f01c57c6335dd8dffa72864c528350a0d6fc653e52c89e6843b066c15aab7036638d71a9a37c83953bde23c5605d35a3e5fd3cfdc88f2d0a80e779d4f366a40561b467c0518a3725da87f03c16641b0d1a5a52c0a2101ed59c603fa695b0fae4577c474144d793d2719ea9fa606681e3817644caaf11837bba674d3a2c630fed02cba995be63a2dd90c4427d16fa440844e0e886dbb5b154624032564d49e8b82f3dec21cd73956497ab6b4eea8da93354b8ba7ba3bcd482717df4e8cd39a0aeb333cc59b0e86fdad581d3911fac4cdd8551b7f59c45f51fe030743ee5f2684076c979caf5b3f57361631afd25a556d3f6800d6eb49f96b8aeb4ef4a57528cc4771b8a9316a0442035a2cbea525815d9f81c3c1737b4bb542186c5200ba974196cc5ff9726d4cd27c873e9669d1255103b3a20ad950b946bc3c31a8b1deb59d1effb6522c58cac34770a54a6e50c80fa51cc873cb01b860c4baa9d3b11cf42fd7464803e03686e9a45b131011764e76d99298e12367c22a2600eff5940ccbd089c1a887ea6dae147f23b98e934376fbd4cef6e205e791f9e78fb44952ce5c5e79203c030f5723368ed53ff62a9a51c0b4b09e19944693202d027fbf7dbeaed6b462a7c8c3286cd5fcc4428af5af4829b5720f511380a4e774e8f7854f04d98a3cecf20130231371e0a8ca0a34d66abb48974c400b66a866c63fd1ffd034c1e99852c5f086855e828a0bd257a8752eda3fb48cddea878437081b6f3019e042b9889b4df5008cc148bf6ec3ab7bb80442517cdecc396f31ad7cf5bded5ee69b8131a07592069590eef517eafea2d0821c26d121185bfbed38963bae6b4ece4ef7016a993ba9989fa817fd1f7f0be616f18fadaa2d206a1d0b24aac728cac879b4bfa0ad2328fb9125e8183d360b6756fa205d817500dd4e5622e6b0f8c50d93dd071b3afbfab969ff92568375af947f3e042e4c463401448cfc92cf99413a4897388934b2671d73ba3a17a215c5e5cce6fe18af52c9eb50287c61a7e55136ae1856700b6b474dbe7df3c910c8e4f3455dd83b755fcc8b486995f3de3edec361edbf1769592734ccf1d17ce4b098bad8073513fa803c43dd759a595a6f2b32700a1d7c8a17ec7185319f1554813adeae2b1ea41aa7b96feecf4bb6b2b1faa24c0bbee9197e2768c667c3be959037a453caf9428760dc00011bda340c8063db9cc99def7a6282503de082c2ea4390d01bde88d53c0cb6e54dd1b0745f2039a337bdcdef972c8a7d4c999253312109f0297d6861bb8673e2324d5219b0ef14c10475f9d6afaddddb9085c6c8312f598d0d38e9df8f05fdb31a3eba4c3a4492a3b446844c222c7cbafae8d81fb2e10f9fb11239c17a581a2937a9bb2a1d362281b656a896a099b0680fdf5c35f04b38c83272e74d621142e947960da80263974151ce8e044e84a6efc1c73ec5ea08d9209416ae4d20fd9fba64fa04413c626f47918c69dceccda8a919ca49ece4400e736c357c2cdd9d9891690a1a869aa3860468db1800b54adadce1df7805c0e798656d94a2fb2914e4dfcf8c97a5ae75c5099dec1dbf430de63a828b17bc8ba4f592a5dc8e1acd64ea0697460bf202f423e389a479c6ca4c89782e0d30841fdae83df5892aacbbc09bcc2ac98f5030801795816b2dedf3b22c04c127553d1853cf96dd2b571afefba9cb1436b165238fed98840ea3731b289e8d5b222bd9cb463aa99543e42e79529689c61f83af488db9794460c2d6f49353ab4f2fc1f86018ad898bd6a43a1bb1670ebe22b61d3eb548cc95399e22396ccaacd8e9fc912db208167f55ecca5a7285fb6cce69fe5f3b4311c7dc9fd2ff981b1374af01b666f2483c3e8fa5193fa6a908d1963bf1d23586bc9bb2b5878814eb570f5cc33b5f8f96db6231168d6071d6133677c35644afbafa531cac0c545049a1c1a1098c5647309d10c2f0183f7f41b3b02ce4621bb6e775acc3490822a9d67f38265b60733dd2d20ea858946e83bc783769b3f3461a7d3449a462341ad3295223fe7824e078346b607aada54ecfb22d209b6b61cd7c2f6c506b1ac17d715be7bba709aba8b45009770ce3df7fc21dec5f1ba68af9f4e9625763338b4b03dfd3135872b4d0527dd2f6bcc27e6d687585f8a13972e774d9a20f75ad53d7e99d078484eaf73c883256058f191d28271fd4eb933636d5b055cc6cf3a21ef6c73d80d444de2cdf6ecaf433f1ae1a3b19b152cd3fc92efc9983fe82d71645a2f01ea8d82ddc2c3d1afdb92f82f02798cb0e32ed1cf4d5aef6c0f899e0455512175197ea654dbd5f1dc05f00f159dd09f41aaeabd5f235eec59ec2298a9fecd5e8286b8dfa09c8b22a3a53bb18e026a5cb4b3f7952bcf60409424bad16b90ddf39609e47bf7f84eade7fdac8ecaf9b48ffb2f8decb94269aa581c2477e29e0a3350a44b84847e716c30ed538ee75d8266787e32db7990cafdca7e9bdf0d3ae2c093a3be99fafb655e232defb720fef4be6cffaaca2a8b344e7f80f3e249ab630896d46ad5dee41d6a70bb6dd56909c5f81a4a14e45ea1e772a20b664a8f22445c6b47b07176cf17d1069fb0051222b718d50f3a057e416aa88d80f54f6d892ad8eb500728f2829379a230fc53701320719fedccb9e4b0ad175e792f2bda529845377d71ce9ae2297a70d404e86aa9fd79802ce564463ace8a23f982ba0d4596515178f4dad8c592836f1cd41ce93df937ee0fa01c9ebec0e48d6d60670a0783b81125a8c3c9e1c75aad4b47cc3a4197fb55c97161b05c424a5d8d2f774f903fb82a18499d857fa7dcb4292954786696ff4f8ba61acba63adfe48aba881e6a881fce6c01979281c4a72aea68206853231d88171a5ad92e5d0d3167c836db62ac27538f3e914c7993b89435879dbc9e985f2a68de208bfabcdf6036c11e8281e1dab69504847e192c2d72397c3488871f653a31396bd9256e65682b16e43dc7d3f4160645c131cb479286bdebc277535fb2314ada1bbf21f9e113c2285728ae91b94217351b685878313dbed120bdadd509438636a431073d2fd636a33f09591570528d7033461430ba3966399d9bb1f632667d4cf06dc78e2bc2574a4681446cfa227b927dde628f70bf206590698394339b40f6781123d0346936e94c228b620d15d370c53c864d1f4f4d9c45141f2f806314d5a8c0e46b00c8d7c1d35346c51886086b47b657c8dd851f3c498a88c63cd3c5012d67f2c159cbe5bcd3b14647b9276c92125227dc450adef6932f8ff2a756e07cf7d3b624ebd5b9ad6a3cc7d2e90376ed629ffd67edcdb4c4a97c04e85959e8717d154916f7ab0d18896f6a48b309f9ca33673e84919257e336e232853ff3c0d16f4c6519c612799f356edb5bf6879b1fb800dd8c6a9c80989161eea6ac0356fc94bc50ca1a3da308614302094050f4f7ad7348d843cf873bb661c072ea808c93ef75b1bdbd3a2eb6a626c68ae2826ea53f730040305bbfabbb5aa1b60be8ef35762d8c7aede9ee4c40e301c9cbb10d0e905a3a9e40086e1f54f61f05e339fb37b7ff0a107118d208aa8aab7080f958efad6e5367da1d9df3ab104c7db32726240a05773b554ae58747500e41d8617b89cb0e2f4c6ea413b2f61548419c8398ce436e947139d2395546236f481cbfa07e01777b93d815fe0e26d1d2c72175aa90b808dadc4b77883ce3140424b6c55b8004fedaf041e1132e81dd9288d0ca2353a362c44bb6f95b8dbe998f59d8cf31521ee9e01eaefb9a175cd3063a865f65bcabb3bcbceca15d9f1a1343c95d4207db7bade97d3c54b9"}, {0x45, 0x10e, 0xa4ab, "6fe56c797e34b489f1c54dc4babc43437b26f12efa8679bb2d5d8965606ce154f38317d36aec5bf9231e0a9dcea6beb7abbb0f09edb80b0d52e8b14098986a74"}, {0xc0, 0x0, 0x401, "2e7ecb2fc449d7516fa45c81ddd7fe46495c75fd7f2a3268e475f07c47a02fb9a4036c94e7fb75b075f0cae442dd1857f39aeedf63b5a58e60d48277565670f45e0ac9bcb3c0876f7f696553efac3194483fe6e27b5cb0d6d1616c96ea4d2ae0f1470fd1b7626ab4d1c76cda41f77cc788e7f6c033bc279de7dfc7244caf3d5d36a6ca3f095694f0eebd4e8b36afb94b2926d40dcbf368a9045423a5f03efc4cc85ca81aa98aa166071b"}, {0xd8, 0x10c, 0x3, "e0284a6d4246fa3116703d3cbdc60f57734198521c4eab0374a74ac3359a2ad48356bd1a5b5f09567c00574d168942ecd77dd58b1579c111985e4f1fb2c6ee98c1fb5ab31c530bf6f95c014995258971db39fcb3620fe821f710e30499a43089edff788ef8956ae6646045a485bc5db62edae9dd233e17a6872f8f6430d290e782d0eac1f059f294b0f3ea27e84ed58c206b24c4e256f4875b9052a7ab5d15da2dcc9290190914d6d3e9042142b6934dbd99f9a382e1adea4a12744eebf7be4a260247f1"}, {0x40, 0x104, 0x2dc, "d8d0d994fc2809c1d0480ba1a43b3c78dc90e936122c97a7f64f374da0a167e6e0f176cfd527eac765e88d04d036"}, {0x90, 0x101, 0x100, "c5b884cbb506c13c78ee20d98302e19490e0208b5b0d6c9c2611b5dd04dc44d99ce11e7a48837ff0d5762e6643dcdc6514f9ca45ffd978db74a528bc8a6edb662b9b60af6bd516b5324405b5733a6ce6611a680737b24a1f682ce0449daae8d531c9546174cd682569bcf21be4a292becf0ae6293e0a215e01b18d2a729f"}, {0xa0, 0x1, 0x9, "f9cbdd12fda102dc9b6880e63f019718d1ed916284dfcc3a8026778dda24051d0134758bf2add22f4d7eb8b41278f001de19725ef48a79cb1952588ca5459cb2bde2c606178acbfa67a081767af8d46630ad17737e6031c4a6166a61effc004b0f529b651c43d98b987634831dc396b7c2d73b6c1138f146dad414a2eee7d0d6e4a5b5f6603a2e2806adaf"}], 0x14c0}}, {{&(0x7f0000003580)=@tipc=@name={0x1e, 0x2, 0x2, {{0x41, 0x3}, 0x6}}, 0x80, &(0x7f00000016c0)=[{&(0x7f0000003600)="b62b463ceb28f42a9ad45681d9282d70a1e5ef8a7bdee290c42358adb390eb1b60258f941f83f8783e37cce477a8a3282abf7a794a9d3bb7d8e4b945f5ac0bcbf429e4ca8b8380c9c54898e4f9dfd4584dd200bce0ad737a739ec3d0efcb0060f1983a4af9e1a84cd6d40c59a34b72c1f1f1c279fe4b7ae1d6b25995c3d0d42557017bd99c9415979f5cef52f376b40adb6ee2ec61ce241c3019e6241adefcebe23f0e752f5da216d45bb70b75f2e2b5760e96e61c984986a19fcf0fb2d970042b45", 0xc2}, {&(0x7f0000003700)="9064196771390647facd4f098140b6bd3939a48525b624ac4031d2925fc8f02fc2d2067b63a903ae33bb9dc4f272d74206f41f7fbf06f67b4ce06f72e7d871438a929d10f7e80a04cddea4641d11262d61f7ca51859cbb6a672dfea7274a109d5927feb007d5ba2b79486fe7152b51d098721852c23aad780889c4b385cde71570aff195dcc0fd1f918d29463dac63", 0x8f}, {&(0x7f00000037c0)="af2f0925744a0ed89f9e4cac799755529c36fe0c9f371a66610f5d6d50ff2b25ad024a0e78400566dac829a30d9867775b25735d426bf49a2886cbcee3ff065008b283fe8110c3819a331a79034b637fb247a3b89173b4e1fb6431de3c0129288029d2fcb9e8115b639cb50f2efeee86dae9267e9b4a3300e891056994d991c5daa55a1f0b35957986031bfa31b79b53ab0279b030efc593895e38a564a2eca4980d93ed74fe15d43c143feb473e73b30b93fe2038bb21624bd062e4d8bc53dd2e022d3ac2959d44122781e1a7ddf039333662bd8e01443b41a0950f1be782ffddf4114203e33227f8b3e68758b1f3ef285d78f57aec43403423", 0xfa}], 0x3, &(0x7f0000005a00)=[{0x98, 0x11d, 0xc10, "8ed727577ae517c08facc02f2236c6869ff18dd3f8a464e5ce2e8621e42d909a43a2eeabd31f4f3fdeb952ee76c08e516b96596780cf16504b68f861e51cce6d34d759b1bfddf3510b74a85c7314d2939f7cd71ea976ff54352ca0055ad24c555e2e0e7979cf5c8d42bb416c1e5857ea0cdf0628ef28643695ac1382ea9f54f4e5085bff"}, {0xc8, 0x10e, 0x4, "75c86daed4c2450379f3c49f6367e0cb4a4aaa2608e088f955aa620dd3122c268e905f1e7469206c45a03b3382bc63ec4d9468379fe11794be59ed866ace3216cea169853eddb9887a409d14f0379ed0ecea26bdca5fa5126fe8646f70c6ccb2b31cfcba7bf9d73e64061bb596236cc6b86166b2a7f9837adc1a2041f466ca7626a2cf9e74817f78961e9649d83978921ddcb2f1c1254510f626207ba78faaa8e116682ab85e5ac5b42c00dcd8e47b9f06"}, {0xc8, 0x119, 0x100, "063a85ba1b1aad6fae035b14f25eaaabc3c3d5243001ef7c024357784a63ad6ca56b359a75f96bc675f1d4f5cfea8427360646df23b9f0df0c79f7dbe83416bdd60385d36f6de953bf7f8f00277d79117ef0e716a7a6aaaffeeac52d4cf07e8774c24467005ad824f66663e27c29fd57061314b794f9f3f7052efa129fbf47681835e9f0698e99ef3a35c39738091d763062bc750646cd282b8252960e2e1112060bdbe42bd56dfc3d13b1a56d089d2a9229"}], 0x228}}], 0x3, 0x7000000) 15:36:50 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0xd, r1}}) 15:36:50 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$SIOCX25GSUBSCRIP(r2, 0x89e0, &(0x7f0000000080)={'virt_wifi0\x00', 0x6, 0x8}) mknodat(r2, &(0x7f00000001c0)='./file0\x00', 0x8000, 0x890) close_range(r0, 0xffffffffffffffff, 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) syz_init_net_socket$x25(0x9, 0x5, 0x0) (async) bind$x25(r1, &(0x7f0000000000), 0x12) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) (async) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) (async) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) ioctl$SIOCX25GSUBSCRIP(r2, 0x89e0, &(0x7f0000000080)={'virt_wifi0\x00', 0x6, 0x8}) (async) mknodat(r2, &(0x7f00000001c0)='./file0\x00', 0x8000, 0x890) (async) close_range(r0, 0xffffffffffffffff, 0x0) (async) 15:36:50 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x5}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:50 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0xe, r1}}) [ 848.346407][ T6929] 9pnet_fd: Insufficient options for proto=fd [ 848.348126][ T6933] validate_nla: 9 callbacks suppressed [ 848.348142][ T6933] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 15:36:50 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x5}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async, rerun: 32) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (rerun: 32) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0x8100, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:50 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0xf, r1}}) [ 848.414511][ T6944] 9pnet_fd: Insufficient options for proto=fd 15:36:50 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) mount(&(0x7f0000000140)=@sg0, &(0x7f0000000180)='./file0/file0\x00', &(0x7f00000002c0)='aio\x00', 0x0, 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) fchmodat(r0, &(0x7f0000000300)='./file0\x00', 0x16) [ 848.505800][ T6961] 9pnet_fd: Insufficient options for proto=fd [ 848.528026][ T6963] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 848.704297][ T23] usb 3-1: new high-speed USB device number 50 using dummy_hcd [ 848.964075][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 849.004224][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 849.125160][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 849.132751][ T23] usb 3-1: can't read configurations, error -61 [ 849.285007][ T23] usb 3-1: new high-speed USB device number 51 using dummy_hcd [ 849.544081][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 849.584271][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 849.704228][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 849.711897][ T23] usb 3-1: can't read configurations, error -61 [ 849.718500][ T23] usb usb3-port1: attempt power cycle [ 850.124071][ T23] usb 3-1: new high-speed USB device number 52 using dummy_hcd [ 850.224367][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 850.264252][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 850.385955][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 850.393545][ T23] usb 3-1: can't read configurations, error -61 [ 850.544689][ T23] usb 3-1: new high-speed USB device number 53 using dummy_hcd [ 850.634173][ T23] usb 3-1: Using ep0 maxpacket: 32 [ 850.674194][ T23] usb 3-1: too many configurations: 206, using maximum allowed: 8 [ 850.794169][ T23] usb 3-1: unable to read config index 0 descriptor/start: -61 [ 850.801770][ T23] usb 3-1: can't read configurations, error -61 [ 850.808346][ T23] usb usb3-port1: unable to enumerate USB device 15:36:53 executing program 2: mkdir(&(0x7f0000000800)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup/syz0\x00', 0x1ff) mount$fuse(0x20000000, &(0x7f0000000240)='./file0\x00', 0x0, 0xa51000, 0x0) r0 = open(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r1 = openat$cgroup_procs(r0, &(0x7f0000000180)='cgroup.procs\x00', 0x2, 0x0) writev(r1, &(0x7f0000000040)=[{&(0x7f0000000100)="aaa5eccc0813f3d82eaa7a44dd4678c3", 0x10}], 0x1) r2 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) sendfile(r2, r1, 0x0, 0x80000001) r3 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup/cgroup.procs\x00', 0x8802, 0x0) write$cgroup_pid(r3, &(0x7f00000000c0), 0x12) preadv(r1, &(0x7f00000006c0)=[{&(0x7f0000000140)=""/36, 0x24}], 0x1, 0x0, 0x0) 15:36:53 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x10, r1}}) 15:36:53 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) (async) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$SIOCX25GSUBSCRIP(r2, 0x89e0, &(0x7f0000000080)={'virt_wifi0\x00', 0x6, 0x8}) (async, rerun: 32) mknodat(r2, &(0x7f00000001c0)='./file0\x00', 0x8000, 0x890) (async, rerun: 32) close_range(r0, 0xffffffffffffffff, 0x0) 15:36:53 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0xa000, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:53 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) mount(&(0x7f0000000140)=@sg0, &(0x7f0000000180)='./file0/file0\x00', &(0x7f00000002c0)='aio\x00', 0x0, 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) fchmodat(r0, &(0x7f0000000300)='./file0\x00', 0x16) syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) mount(&(0x7f0000000140)=@sg0, &(0x7f0000000180)='./file0/file0\x00', &(0x7f00000002c0)='aio\x00', 0x0, 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) (async) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) (async) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) fchmodat(r0, &(0x7f0000000300)='./file0\x00', 0x16) (async) 15:36:53 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() process_vm_readv(r0, 0x0, 0x0, &(0x7f0000008640), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) (async) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000040)='cpu.stat\x00', 0x0, 0x0) (async) r3 = syz_clone(0x65248000, &(0x7f0000000080)="b7fcb5feeb170bd23af76650818c6217f736fa6909e104d462025ea9f150cfc95ada0f8ca11160100b75e78de14c8fad71f743afef7eafca6467b70cc862b8b6c3cb4583b2b85a65d582ac54c3aa4ef1644c66e977960a2795363dc360c7ca1c050c86f95677e651708650008e494edc1c87833f2f6e7523d9486fb99ba80919f0fdbbfc20cbb4ccda81a9d3c075b4fb8c2e993075a37c760312c8f033d0b2a5666121deffdc54150727ff8ea51cfab009a2f77107e18d0847008714aecf0d36a5d3fffead26359af37ed9a051bb37723dfbdbc3c62b6c0cd7517abf23dc1e2944e9b18c596a02d88eb497dae05f52b9357811864747706098", 0xf9, &(0x7f0000000180), &(0x7f00000001c0), &(0x7f0000000200)="781873bda11d72d8ae9618b87653dac46a93d893") write$cgroup_pid(r2, &(0x7f0000000240)=r3, 0x12) (async) r4 = getegid() sendmmsg$unix(0xffffffffffffffff, &(0x7f0000003140)=[{{&(0x7f0000000480)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000000700)=[{&(0x7f0000000200)}, {&(0x7f0000000600)="746fc25a05cf559fd28808ab507f9a4ecd8fb63a13074277e4f377f1803dc5ed9f99bd8f4e34a56468c1f33934d6e785ad0a74db9714d1f3b8976d6bd92cf282934bb4029323c787238742713fe3f95ac3babb6b2eafe38e7cefe35a635a996c86e25c9114f5c17d7153563d7c8ef402990da952408f1409b59933b6d1dc6697744ebf42b41807cbd5fa63fe3901f24363010ad952f2d1467b8c38b24704866faf28419ce72e25545ab7e13081982c603d3c769f66a063f0a9050f17a940d899a6fd5dc1b9", 0xc5}], 0x2, &(0x7f0000000840)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00, 0xffffffffffffffff}}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x10}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0xc8, 0x4080}}, {{0x0, 0x0, &(0x7f0000000c80)=[{&(0x7f0000000940)="348fd70962a7685987694f0ff6c22ab6fbdd9345242c90afdac9067cd9ba970139c61d0052435155df39c3b536d92fa501903a871ce0b6555e64bcaa3bdbd6615f36b9e5c5a264db5ad56bd5cca40056f853e22bd257be22586bd086e87be11d604df025d180d8e9e9713fb0b4353a75631e7a73b530d072965288246180c6a548cea0821f522c5eb37d716654a734b11190659a4f4b97f23a86c70cda8fbcdb3e19a495cb0fffef84d42bab8d653775c083bef26253292b028c6ef87227f3eb4df26371d0fc2d50faabbfd3565374", 0xcf}, {&(0x7f0000000a40)="ab4ef08996cdad537b7c7a56e36776eced5e8dab9cf0d275effd91d57c0b649e3148a98796346880a32cafa644107bf283207015c057936c5bdac34e4d7541a15280891fe6b4852c181f7a1957ea1c565a8c6fd6f72639a6a0c17d601c4e2c5fbffc6e35a92f6a4147374ae355e5d8a258038163d135ea65314789ca0533bf69b7d5383999f7062e02bbdc27ac5ae98ef48c90e5add0fbd74b3a6deb6a9670d8e6d44025001b776fc526d4a3aedddb8122", 0xb1}, {&(0x7f0000000b00)="8b6557c6c1143e243f6d33f8593f2a1f40ddc0ff5f25b0e95ae63d23fd0e6f8ed23e2eda70fb678fc15e4074372b7dd3cde08e98550131380b582794856f672e8de2453ff8c3ff0c28e18d77080a00b30a828a548b2a11d1a6a3c596e50e92b94cf44c646dd703cbd6072cd153c333107ed3a70c713f071eee", 0x79}, {&(0x7f0000000b80)="769f2f18919242bda625c1e2cbeecd0e9a0235a2f84d0ba41d1d65752de8f4dc9fcd86989bd4d8d71f45fa09a63e9a55a4a89f219da6c5d269dc06b1d512d8e52b64d6f6a91a5eb5114c38450df343309afb8ff31ca594621b08032f9a3ac29773197da0932061553df97d07dda7387dd318b82094879a025325f405eca45c8dd83918927bdf543a25fc000449b06e15093fa138cee9c91370fdf015869fa4edde1fe18efb9ab22cd52bcab03f5339204ecf662db02ba9ff60597648ad22ac319908ac56bdb752ce490a376cae6e77a1073a9f37a12435cd645944c5b170b02efa275d2c11befffbbbdfd24583", 0xed}], 0x4, 0x0, 0x0, 0x4040000}}, {{&(0x7f0000000cc0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000000ec0)=[{&(0x7f0000000d40)="ffa43e93af7090dfd8f35943941eb0b5194db5ce19e1317f6bff62f2f3f9ca787371da811c99a02b8f571c66492754549a9bdd711d2a88b332533c11701cb5d0fab283bc39b0092dd5ec6c2a119a02e2c0f37c5688e6c7510a104f4ab011f03ddf5750a5dcdb1417fc396354194d7975b812d5f1f9fe920943efb047ce2e3ac3d085115319031b89466ec2c2e5209b7170e055e92252c7198ba2736eb94efb5afac8f54945085bc216587a8601c9b5e7b152770b29e12d", 0xb7}, {&(0x7f0000000e00)="13feac03f53ace45e1df1dfa9306d92eac71342618f41daee64a89ef996389b42a9cf8ebf7e2a27e8333e568096d24479d09d2be5f216bc92c2cc1db3039a0c32c68db61eb0ed8d7291fe78958fce4f2a1148e9cfdd5e937af97ba43f5004707813c88d31774b42575965b91e93b801e09e57c4784f58a45177d47b37faebd49a311b2ae952b586571e59eee7e4ce742d20fb97c8df4d718a0708f2627a95ced7efe6ccf4127a4a3be6b239780ca86ac099d5654", 0xb4}, {&(0x7f0000003a00)="54843999b97be29e94d5372df06cbe70c2b9138b4fa33ba9648d570da09716ca825a232cfe2e80603d17dc209b31e8aab5ed492d52ecc2a87ebf18021c69045d2963300bdc7b753fb6ec9be75707ae65b8301f43a6b54665ff499b99af571a2fd332853baad2cc1e6ba98bc66f4b15f422f896b99ef8d804c18214660b5cf5d2b80422d8d346284eb34338bcfe938beb1c097f65e12a00a0ce735712dac2458521844bcb192261a83bb058665ce5080d56e51e0e5c4a309f7ea8a671563770b87ad6e546898b1198ac30c8e4780264c7d0c8cfb172e5b408e7f52a8cc61fdd93180c87056f569d1f1a42d6b78d348c9916ac50e02006009db531121c1d855a745971d84c5417ebc9e89ffc9620cda27f7dd6a1d239e40b3abbfa1f5f814506594e34d63d1403d58ee576fd73c27192c84e3f94d3352c036dcc672976227df2db270c752ff4a4f7d3f7c9702af359485baece3f0c20f478aea20a05e860cdbfc03aaa2a1dd6b0f836164718c9d472289f40274b885734193ae02d8fac62e1bbf54a0b1ae980b7837b782f3c63616656bec801492b33955c81c939440272e645de63273260938e09b5b3cc205a0814908a6700a2465e1ffc8f54ace57e7f5103b7f3a06f0ea8bfd3e4ca1ba1916938daef3caebc4e50f6b05836b6038644996e2ef3fc8aabe1ac85773450d08c78d4f7b5bc37f4105d6b3b90c02ed072b5621dc448ad6793d6214d071ff2bae633913a7fe9efcc693590970ad3ce1b431b1557e896fa1e5551e8a254deccaccdf4ad9d6ccb33d2c5bb60ea1761f5307a00b748aa69becfbbfbdf88f1ebcad4f9b74a21969a922f0db0bf2aa4dd951fc45900fc9de0e768f88703930c84da37f6551f3d827a4e3579c111595dc36e54b961ea3daafa63534ab7d8945652bd4e2bde4a8b71e293386dd64360023b913258cc65c48021f80c26a7a8d5136e65219c09204cfd0e826bd816daf409fe4e65cfb2234364bcec3c4c192a3e6839e07354ca944625b08a590d0681c49567df81aded5e0b92f35e868f947945639b6f730119cf858a3773616bd5e14c53eb8c63aa4fbd5a183a08030e33bf13764019952d57be6f74a966bcc3de07c1ccb0c564101ea44ab456cf3655f54729443b9bb2944680dd27b165ab913a06f08a49085872ecd240b6795238411b5880055937acbdae8d505e56b99fefc1fb7d3e23fde7f17e12be7a0772df84249c891343d92b4091fc7f797482baa1dd923d4e07a339b83b5c798bb6508b4a7c96a03fd3c1e1172af3b38be98e378976bb4561be7c3471a8d126b27d58c32d11cd1657ccabbb25b215c0734e60042d1a1f57781d734d8269c9e186a839a041890e100b5017183942dac3838c0875938132651f96c88dd636868a9031ca73d9c58afd3dc5a442e313431cd3943d8aba25f1fa0e9de071e5e75eade8b269d4f5f9de9700200be76bbfdf47c119dc4e622e2f4e68232598157e5b75631418746583b2eb8ce85156cd49f8938663121d874ca59f60fb3e21f72db5aed0233b108d3ec07d25da1995d047e488fdee6d6396ac56e941342aaa6120cc51980cbe4c76110f039c31dde41b83b891a86ad3dc1515bba75ce15e1d4756e9e4167493d70c8a7fe61b1bb4702e66d9c844be881647ab67ae0134033be2ce729d1d4ab8493269ffad302c9276ecbbca67c045ad6674ed3c72f3edec701526afb3a15bb7588b31ad2cdc52546aa3a1a64b5bd4ddb26153e26bd479a5d079248084bde7e0522d6b1689b8dde5f36b20c1f86c246a38491c258d38cef8fc0f48d8c33dcba1633163fa046873bf7c7a06335cbc6b1d42eacfeee8954f86db998f034404ad5529688c6c988748967a62a9c48025ed6e267be64847536b69fe442c548b87e4e9a1b20091083bcf6f403bc6b33fe54485a6e66f8b1368b13ec4e48ea2fdc205f17b9655c0cd295ac957021f9040fbffc9822b7dd2dcb46195ee02c0cd6de777a129d15c3f00e2f894f263c73310967c202412127a09302473275d01a68f4197f7ca32a02b6c0839e0c1ea6f1ed1f4d6eaa80b2de63ed02e1384f4fe7a456e3324328a107650b5cd192c0211a62928231559361e6ffc347f8c0da5001a3201ac60282ff8f3213f965abcfa6cd80c6e4c1e6ac9e9b177473511569c3d477476c5e7984a17337d5ae48a1eaf25094c129ed0ce7e51bb7322dcc141e644e7ba04f50b5fcbf9e0f938ad67c01e735287d10c23e9aa9af28c2e50d66cb0e93354b2f06047ec06e3860df7ae4d128749271fc46fa3c6a4fba0a61b4154279a749cf14f187aa0c5068b347499aa84c4d663169f5453aac6a428f04ef2ded55d95f35514742e05dd695ec405b86337fb5453d0fa94297676fb9ffb21198b2019760434d18dad63d28f9fe44aba446f4189a37daffa8e7688896da032e342e1b6c1b7deb22360ba1a30836fad132f08ad9022b0420f394746b7d33114ea6082ebf6bc9ebbfb22e3b5048a17e8f0ba737ec85ff08ac2a8d396a7f55643d13c8b6c0af556279550d4c996e2a3daabfd1167a407b9232b5c858789276a46549f445fd8aba7caf75bff2b7e97c6774665e38d8f438fe2a86db2ae65b572dd7de1e59ef7106eb25f5055c124ab691344418d72e2a0791c29aa6412941c5405f4bd96eb4b87f3c127a106c1a864146598bc5b5bf731070f91034a8ead9cdbba5032398809da116bc8bce0165e2c7187c855889adebbe1c33bf0154e24bcc92e04fc8f8c87db38ba9c4729077f376f6a615552d4585c48b978731deee6f851220f9fd3113e4ba96f2b90e43756b3c76a8ae56272f7bdb6a7344edd8cf7e4e5059b15efd61a7899526ce19586469acbc6074e28b5fc8c38bedf0d345dbe34af8b0f4ebb1a0e0af6e855f449ff03af2e3705bcaca93effcc40d0a07eba076611b75fa0fc8cad133bde55b66cfcd73ef4837257b1ea8800cebd232d7a6e28b2175284ec65febf91eff00bd866a5d0a44bcc9a774dbdaa665c8d1c293906386be07a69e17ed4e6586661b473c29790ee00de23a4e29f375e25c38fa5f3c134ca41d5a77f004216fc27136e5cfc2b87e549427a6ea68c10dbe734547357d3a28c7c47f4793fbcef90ac410b28f7f8d431b4777b1784d9b4a79fa75e62eb25a82653b0bf89f0c7704aab61341938237a1a6ceacc9363a97454eafdc3d55688604601ba496042f8654cd22bd63a2c46eabbea9d68d310432aeb722e7be258912542bce55227679eb9305ec66c43e0c4fda27f6ad07e8f44be8cbaf076cb7dd36ca4e21279e7726e601cb1efa08abbaf3e771424e6684d8cae5d564b189dfc24cf0853dfe4f542a7a726bbc9df07e27ef9409b080df86b2e5db01cb299de6f0d9b26e81d0925e458b3018df2ddf0f2d0e8dc468c787b4823dca07c92bd3afa4bbffa35557e6703ba4adf281c1f8fd17159fa41883b8a0c8f86a5dfcf81200b61e0fac3c623600d9e9c7f8d4785a9347b7e0ba0c08981eb215d68acd5ec6f3a8b152937a8351102d060a768c64864249389bc8cec6c1ae5e7f8785a3c647fa8e6c055d5bc1c061c6d8486c0b2baa3ecb5b4d1ceca10d2fa21b3460f0d1beb895003b4e9ef9af85f981e62a50e75a4ead8c995ad1e3aa4fcc0fa02ead7398a31c6bc4ec58e09a390ce9067fbe5815a03d386340e6cf8dc596a2c17c4e63e7e16b293237caf39d53e680448b0c32cad2343bf9ace5a2d0caa3f34e0e59bd71465a1b3a9cbab56c9137938549871a7e2dd72bcca5dedd9b6cf22577f425d925babfa36f993a52c7407f637187ed2482a36d18ab47ea8ac2f528cbb199c4c4a99fef924704dc674a088cc217696eaa8e7c6db062cc75e3e711db704f90ca970bfb06de75f860aa10856d179c3c96149ae07ca7a16075a4c17b13a2e866bf86c3b26595ecb92336b6c5dfbe41f8cc89960aa30cb0998502ac2922c486bbb152611768e413119c2434f8ee9b160881a3612e45d82b72c65071ed1133fbd0a037160ca93fe1c456ca72a6c6d0ba6631ef172adabe1293992226c4c04237b65bebbd8e2631a88ee58cd3bd4bfb6fe429a216ac4016e7ec0e5834a18685376762ba5853f49867b80208295ab646f93a651deb7d9624432149c2ae50dd105f2450e3d24b549169fdcd7d54c252f3e096fe3e84e0ae9724a1e790e7a00b6548d63976f454e06dadd93639defd7fab276e27c532c18f83ac0785abfdfcfe67c3e282fc917f46101ee4ad08422c9d1b991ebe99a628f99492debfe86ea2b3372f656879b44fac6c5b06b86c250d2fc1957a38b873dad8053a053cdbe78fce4a1c3ef0de9a4c18b2a8fd0bbb037602fabd5b240bf5a8df59ae2f1a2442f71eb525d36758a709efa86b95f61770aee32bba784536895f4544f8b08b1878c1264e565e2c79d99586e01b6e555983ed9d18ae42e2062a78d9735e852ff2ac75c8805c60c5d86aabbc7b5586e5bdde3e237cbf985ecd0905e08de339abac57e56a666596be0dc107e95b109c11d3fbab49e3801d8c66940f83c7d250cd4b32eb7514602efae61fe019e0ceefa574f4ce304fe0450904493890da1a938c170482e0bdb9812ba91b8cdcca2056bce23d259073a15afcf11a689b12b5edc238753442051fbef7e45455dc692dcd318728ee0634bf1c89fb1d216857a445818b515dc8d15b6a4ed248637d2f0a167c76e47441e5a37ae97f5b07fc7b8f1ee0e2dceef6529b77e23006fc8745420ec93ab9b01ebaf1cbf7f24913b19108e14ac7928441db8279ff18f8fee531fe1be741ee588f683712e7c2848c92477990710182b6b223c45f95431d935cfc84eaa964fb9b10de98ee142706b083e7ee2bd7679aef721f5d5fcf74d9a235d2523a041e531eb614cc9785c5289bc5fbfea9be38a8cbed7199ebf939f4ba413c46c7ed91088ed6d4f899d101925ff6f1dcdd47da268b5377b742ff61684dd0f8921caba561bad9e9f81eaf1716a1b12ffb6a195b431a35efa7f24edf4c7f0a0500835b170ac828329c1ded7cc502fcf10b156e193724435f0af8838e4ffd8f1630ea7f6078c108f04f832f81a3d7f719269fb27a73d2dc15c826677aee91181b602c27231f6a0a9f614a119858f0811a1401e727ed7cf73e105a35ac41e5800c97b14d6fd4c255e745bb2272e3c0f42f472af7cec1ac929ba737f1821e9d4f4b44855b748795b16f7ef86b9afbeced0b1baf1efc5c0a5046b1f046bb20e658ff8de44358068e0b2c97929658c41ee73e82dd527cef796d1c72f9115f5abf8bd16a4403421645d49bb47be223b2de3dafb166ca8a16c11f3345be724bbd5edb5c78c28b161849f80300161ff87748dbb4323dc9039adc213f80a62c601ef00cd1bc0d3e14f69cfdc5fd3468d2eec036ec65ddde9e027fec986197040d6cdef3cbd0b08a62d76774239413fcdcc6e0d799a9bd0173e3698eb2717b2c4b0e8092177fd381ef9004567d70b52781e389a3ddf93264ac57617f1a5e692e75fe2569bee745890005f3a1a65aaa4552cdaa4d3452194caecd9da3a141949d7ad660f00e35c3a1ec331382360680a74c8a0b18ce5a257828637de84ce76128728773323f09e4e9d8ac6ab55202a9e28fcee27761d0c8bbe5dc58599da686ab8f47b950e55a6a1f30c57ee1a43f6acb95ebfd06f571eb459608c869a8fb59cf0fc71fcac29a6adbb625279fa82159e578fc3136c988502a25f58a694562df8ae99abd1b2dfe365c1c2240e0fdd7066b550be4fbfb7b7a35e6d0e40e97b1f67e5d9d200c7db4436ed71cd954d53242a", 0x1000}], 0x3, &(0x7f0000000f40)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x40000}}, {{&(0x7f0000000f80)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000001340)=[{&(0x7f0000001000)="23fe63cba31a12acad268e193a7b5d1158c69c2aa79cca363f9689b502b9a4d640677b667063347db33cc2d1081a5ce19e3ec9cc30edd81397296183571b8f00cc74a8954ee3e7ee904d50ce90e0a94906ddfe113627b07a434c62c958e7971967c6ddbc37ea136c08a841db6827dcf82dc9bd1ec7f50e1d5fa1e67f072fbd3636c9e00e77e5bc1eadc9030184b5dad2738f88f418b4576022333b4ed3c74372754f0cdb39ad6c65be6398d4831e4ba832630d196e9c6eabc0e5e023a2d47f549a9a9bb32798df4f4d7132e8ff67aa383dbc0034df66da0513720d762e75ec0e32220336de04932423a2b94ccbd2e69752ff175d49b1f7d9c2f80286", 0xfc}, {&(0x7f0000001100)="f48d411d21c58f49a89babada0e815fe48863e44989841fc", 0x18}, {&(0x7f0000001140)="cc6c42c4d4de49a00e2a2620a9de7ce8c589c6044869cf3a498fee4967e66943217811d8eb493b7d34e007f6d24c9a8b1d0790696ebb5d4761de699ccde47a5741d91ef80c4ef4bf470bb669811a7b22c6d2a196530c2a9c9939408d0921", 0x5e}, {&(0x7f00000011c0)="0d4cfd8ca40124d225454ca5e1565f74c5dd0dac47b7edf4bb70d5e028d472b940da8cfd97c4e995e50608ec9a6aff5fd720cde51664ffc68e277b0bb6d050ff0753d9873f3513ea7723a9dfa4ac871d2d5f2aa87d1b9ae361566ef2a4636f24a504f69d9167332934b92abdcecd229cf3341f9bca8b3b9e38e0eb9c0f33b9560161cb", 0x83}, {&(0x7f0000001280)="20c24981c69460cf4e1d018b8246f55b1ceb26ed121f516cc6078f689bfebd40bb87258c381a78548ed1e4e53144aa6c2b9d4e33d98260e96d7918f19e442850c6196fbdd1f88d3aaf89807e791ca5cf07547e5cad507add800ab4fb266692b9c01305f97c487a0a08717c557b0a651490e9efa7809fc0b005d7c88c466c9374a503099c740bbc5d98238b28a9de", 0x8e}, {&(0x7f0000004a00)="f102121d603c0ab7e3cbe06c0e79bc5f83439f58c4707524404a2083d50375c3facb0db68230e7cdc8b7beb7e64cdc42bcfd783be7145e112c682e30d1b409f231b26d32c73f459307255c1c60de47fba95a46138da06d6770a95adec81121ef2842e8108adf01087070bb7791101a9816d7e64c505a72cb8eda1fad73e8239c3a31e6ef725445af71bfd50ad6e190f6d012becd626dc39eaf07f712d33b7a41ef668b663d2eeb6205ff59d13f77cd6f617c52c6fda502a3b945ead835962868246220b4aaba853d36f067966eaae6ed281a0ea656ec258a20f3c9fa6fecd0fe59ab47f5de75d9d774b341295a530523ba1010515e1ca9758f9ecdd4af3ccebd35f153045a74007e11346314f21aa818abf8f9e56afac827bf74354f286bc01e3eecdf6c3c3ec8b7fe5e422dd1cac2bdceb0358ed1fe52ad9f6a4e12c410e8767bfc8b825cbe66e21f7865bbd5d2d9db1776ff12131d9eba59e532096417cc3bb7192f273b621227a74a3558768cfab6d52e4ad5abf5de61e0913da08df510e0263e53f20220ab72d3e2b3a6eca8fc0e145ddac6941fdc63ddd1ea7e87f27b73582681b171c5dce744b3fd94a43b6fa375a89048350a508855391ef59ccbb26ba84267eed6315f59a41b10a098c4b7ebb2a529b5157a09a23fc272ad8cc9c7d213162c2df8c2b22d1a888ec7b7afa75724e5e3616e3203aabb59e585d4c77fa372eee992b1488a228e803c11fd0002e72cf2c34b91952489ff8fae80b9c221fc9607a64a60487ad2dbbb9b9be2e12cd424386828e74747393353da4c92e65bacac7631d44f81042a752cb0baa638b6eb7f1871963fba56896d482144e6b89dcade2a945f4f1dd482853a51408221774f7f5771f498b1875271c8cd0b5beb4ff482e2e5cd0592c2a7199f4824ec6a37cdde9e7a3b066132d7db0112855bf59b2dc1818fa105dab2e38839ee4a5dceee25ce9f3a0f51df2d4d919e92c6a5c52a97e65eb91b283713c1f810b1b006b663c9438e8eb84949fcee33c4c88489bc60f11c99959b0a5a2a7b6215cd498e1dbf97e5d2e38e9abb616235119b620231f197beb04c2190599409aa152b25fca237e120c5b5e738b4eb4367785972a82569274a4da76e0616d35a7966251c2ba0af4a16a4aefd3685d39ac5a5b50a88b2e0857f6b2e479dc01ebbec757d35a0980a16bcbdc78ff1f8f793c8420060f674f5ebddd21ccb0a3f3967bdd15c145e8ed148c3d810ff59174594f6bb897aab433fb63c5fc3ae32616885b1b4f59fd51ea81ea5b770b6cb5840621167b10d35d5e0b3c96920d6f96c43525040bde85834d1b3a4c093a2bea4940cc8ba425262290aa53efec775716406d597c6f60853a07cffc6313365100698f35236b13fa516968a07968191d9f4bbd0d0e76ab52d85ca744ff75f2abbe6be074c4d93553b0a9118be6783555477a3a61532a63f9d71d566404ef9812ce0e2ea43c90ac7f0af0ddf2387b38b18980d905f7819f2365f111bcc7303bce910b9121cec14b2e5f272c36043d2a6c0e9b2ed23546c6cb9300a046b63cd9c7aa16bda15d2fb51fc1f3c7c04a65079d87b1b86140554fd60f95c22dea01ead612ec938f66c5215d67f8b67506a237047d4e9214f91566b5bd81764efa587aaf57a9a9cd98b00888531cb5594d68cbf38d082b58ec2225745ebc160cb3a005f914ff5b19a7284a3a0f6ffb0dd391fe2c093261a461afbc574da7989fcb0f25f27f8b7789d65d252f3a394fee1acff39f7d3aeb2939b5b9eaadde4752881d187f30ccc96d1e36cc5abc8b38cf6de9864046dca46413b98f123292f5fb7f876d53481c43444a7f94c04c709bbc4f96921b83fa2dafbf479117d5478506eb240fdd41586415428fda2ae97512eb4620f0e17148c1c27e935a3cfa589579543d26d61214be7ffbeb76f9eabc7c8b4b7845df60faa15f040f7f8f333015c41ba8d882dc3bf83ff6d78fd23c920a66f850f25c43489439f1c887db685c9a20cff685af51a6fafc6059bdf1e3b5e96cf1dec256b1435871156c0a1218f4787125c667db830634bf88f2219cb3bd79e33e8060a9fcab7b383f786e232713fc389ed3879f905271cd5cf94a708b490b5e8c05e25c18f7e682c9304a8709cc13ab65163cb913835bf1944a890738b91adde4958caf4375e1cd78eccc4fa7c7b574c8a81570898799201848efa1a2ecf6e5e7e6ee73a3b565cfb3bb04cec81c7d0edf85e7a285133f411ad331f2814de7fe7ef4419f190e55728bfdd2a27790ca025148ccaf5d51bd969bb3e71ae61be47be199926e505c8611aa6fd54e173110717ad38b03ed8f9eedffb08e7a7011325e4f546a5213b541efb185faf5d35e5ed197341f8357e46a62fb4cf6e6f28482ae6dea52843a80892043372550f283fc9fa9cba67c6d6ef4b590ca8bdc15d0b4c2d62d53ef8d3b678514d8c8212285db53f529567396803ae1fd60d5d62bdd98f2eac5e7f4ee32677ae2c3bf07f1f18805a706b539f5b2c57f32d1c8ad93cf1551043119c9b14edc4813b9bed7c34eb5ce8dea9e91ae9e8f98e5c326cbafa2d59916c6c41ea2fb3c0acfc4902d594b8cc1f50de95e0f1b3f4c2cd8ea4ef817fa87cec32564dd604c68f6c4bdefd0c890701b8773726bd27b63b958588f2db05027fbe799138bf1c5d1402ac629bdec1754035efcda7a9390c0914f3021ceb2fd60180cef1f0e0b3f5e2580c853c1f5281d724f21bbaa77da847f8bb0e46ae639a502981580cc19a6e9065579f14f980de6db84c074a8f900851bba31000d6f1f4807efab17671ebe08c50049cf1c2ba4d06bbeb0302b756b6e6c94ab04c33cecd3a4f775a9bc3aba2cba853c3e22c60e68e9606539abe93ed7c490b592bddb6e89d4695d668d5e33daeb4ce3d1a20c303b177c0c9ccff5fe653a455672953d31f44eee948b4d29d6cf1143e64def9bdb646c9e66647124b888f41a352b76649a18c7d759f255e59e087c776ff40b0bb36fae0b7c48e82961d0b37fdbe698eb968515a826b6e85dafe4507597f056e33528c00158129b2511de2a2fdc7916b4c1ff4ae1c2909fe063448b960e083e3bb1ccf60fbf64324d4c5a21678349a1a9e39711b3ee4ab9fffa5682523e287524f88aedcf4762e289a042aced70500d2413ff807de310c12f1aaaf4f10858312de08a1b82f388a705fcbdb9438ac9e04e79e424c600c3e56d652ce4578a7e53221e8407c47add8e269db569a17c3ec2b5646c534be4afca3519720ee9f1b826ba6b08558ad5bac57203d4a56728f9b256cf16687b5b99d8377b134e026678f86091271da5623b1b780bd42fe72a122b889ec62a449344a6d8afab5cb312271cfe6a311f8d114fb51b64d0da3524f3b3206cc790c7c52d87c471859a62579f355eba247fa449c55577e685a7874147932c7c4bef94200b0dd72fe192ca4d25b49376b6fd243fd1abdf2c902d65e5061038c380901b748cd47eb6431edf475402422a0f1e85364a2d2563b3aedae16be8d54ce46276e2c354a86ae06d73172e3c1488174e7d486db461ffabfa3512c70b3e9e0896faa20193d654223e81a74cbf086bfc335681bb3bcff1d4b8954bf5648cc7111c2d5546e7351f940ae3a2bbd6c0ac4fe113c08da8caca252c3ff9ff27360262f7f0924cd9837ac8e4ff26352557373ac518ab871f33a5d7a7e90739b5d534461e934f1e65d594c6596c154cd839e188268f8e3f2de5b0643c1255d0027b784eaa6ce3ae9de8e6401dce16c70fe36b8443ad5495238639abcae0e4ecdc67430913143f86ff2c3707d99dd530e37e90e8da4608912fc650240bd7e5b38a5eac4e9e571695c749d7a9179d59f011d3a8718c1c645cb6365f69c2fac5d04fa8c73fa7454c1e97cd19c42946db384f1dfe1cf5ca998df87676851049fc2dd30e03c2f9111de85e27b67b41f83d5102cd0b8408466ed44ee0308589c1db48f6a2af7db011913bbb36167426e6cdc11a5d17b4e0538037d09787bc817b43afefeac02cbdd42491acb375cf1634883b2d17c01df5fb893942c631341c7fb90673af4b5c00d5dc90e474608a3f32676a5bc4694c0a9960dd45038b0e77c5aae8023c9634d41b3f48743757bf5e3dca8c9a7d83ddc98027b910a1cd9ba736b7c91ddf09c3ff9f472cdc9e9977ae3169ed5d6d9e60ae755f4aff0af066eef3b000c98234bb3d6d9aaf79df61bcd71e0f02b1f48fcbcbbfa6dba12c1ab1de3c811d107eab49395149ec2127bbe9dc2a8a0b2ef9dd46e3e11a91968e52c15b7a9e6e64cb59eda115c5a7552868194f5d6fb0c159c500e738e2c9b77ab7e3e1370e5d99d65d9baf8cd3335305234f64d115ed8b20a1ce02e66bbe611ee9c55f0842b69667318a3bc326e4d04b87f53f98a98fc467f21eaa0641e8f39c6f6ff4390b9369bb10571897fd1d1fa6f87fb5b3cc681eef9b7ea282811850e659192f7b27cbe722e575695fe04802549795e21a8171b8be7c87589498d8034e6c83ff482ce1b29cd07bce5bccf14c9b7aa28add7bdd205509dedcab26566072664160a56b1fc291a3bcf3fd83c52093c159d30440883aab1a6b4acbacc8852a33adcf3cfe017e3a333a28bf5e44b4977c287ff4f391007bf2eef69de66d726ad376dab117567271f2e05b137809bddd862c6f20bb81ecf5b42423a9a6f57db54c63f13510fa0f7d9863580dceba039f23df714b2710213247e9a803d98979a26ee64a2ab16596526059034f04f38b8ae3131c2a4091c484843744d5412f6b56c0983f2bc67c8dc82afb3fc7ee9000ba17b168218a1e50654f28ad777c4bfd402c7231810cb30abe5d5b9043be3c4e776a8ffffd4c42290ed7c5d8f987c0ef9a11191125ca616c78eb3a6b7d36458b890d72b8777359f982aad66757951fc77dcf871243e3ef7c7ba10aa4a93c0adac10ca583c81fc6e42bedbe5654cad8c8aba2492f7dec52c4d0efee767a0410ffecd991db99b9887ef207fcba50687ee67223236f37be11600a4ff28e3dcab2fc1bd271b834ae64c400d2a155ba6e6704be3475201f21750421b0e181ce5920c4ef622381f037d2ee9f396422fed97fd61e51020bf258478edc7b813ae1f00ab1259c3b10c425e05f6399443a1dd09b81de4c3e9daa98b56d1e62254d1a7c9647d3701ff59eec97d652d912242281a61ac89df8e8667f13e4be00fea570bacf41109f8153576e97e3bc7c6041fbf22f5b384cb99842a3d2b96a8913990fee680c678f50b1baa58ec95e979530ad6629e1fae8f1abb41aed1519d9c37e5464b4b6bffd854adeabf2cf17ea538d25b19cf133da3c20bb93f6e9c9a1570e46acdd2d60418453a0ff9501316838831f52175f6c60d8ea087b7c155f7dd6588751a50a5124bdf0db14ee6669d92c9da4942b25625d33272354610667cdc69ee97f8f0ad618178960976c101e8d0bad2e86ee4b089d31507001b60d21c9621381339e075246d0f6ff9358c381bb621f114f626584ac66fc282a98525243f467a2279e69180abb6f493c85bb113295def41ffa4b843771550698ec157eb6212ff2dc85353e980f440f76a0563c97a9028efa2471a006d9bc04bcf4ea44058fbf46ff7daa4e5b58d3e8d478673d91dde8da2f49cedcffbe8c88373356f449c75d1f3d66e409ac411335d27b425432773afaa061f4e3323f065791b6b12c738a974b6200145bb3da296d0dbd05c19f8a4096178c674e8952ba2e026c1dec7bc3b5b954ed905cdf29506d6274fec035d52dfd971922d9e836f1d4ca915a17647", 0x1000}], 0x6, &(0x7f0000005c40)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01, 0xee00}}}, @cred={{0x1c}}, @rights={{0x38, 0x1, 0x1, [r1, r1, 0xffffffffffffffff, r2, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, r1, r2]}}], 0x98, 0x50}}, {{&(0x7f00000015c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000001740)=[{&(0x7f0000006240)="5b50df6c0da9bbb178bd0ee79097ae96596ab24cddbc301ee14cd153af36cf0e24b204f1c1144497f162fe43bc28cabaaffccbe3dbdae3f6ec64f44f636c22e03aac91df31dde2452ab55918614764787b9dd50ffa537c6f2fd5f036d0675517f0998b7bc51d050939fbf2771b762eefd21a18b4ce766cec89e817ed7e206d615d5f006dcd69dadc276da10787f7ce5131ed54c7172d70526cfa82081e8b122082dad295b4c058382ccfb47da92759cbfcbcc3f36997106df6165e083afa2aa6771717873ac436fc67db2a796fae85df4febf061e30f82ac8697831daa7033f9a3763fb293bc71966aac16f66640afdb9a1b9ded669d8d1109259f59831cf70c5695ebf4759848ac449662b36e8c1ba1ccfd839185d39cca65a955033f47351bc89c16816ed313694e11d7f6e4e19f7d3441d890bada3126577ce5385cc7855d5b435a93cb0688cf27d8b30e27fdf9e01e97ceccd09b3fe57ba1663856d3641e1f94ece76a020db94115c09e0f0ec1efc9b483f788f62b6bd395aa20a23a7241134bcd7ba1902e03269323f4bea13a8d707c0fb037dfb65b01bbb85bcffe11167b50e45e018f2fde66e9bb7a0265d72f056954f128f62847e72913db1450fe98e8cceb88d98cd6107110e7199ae8d42f9d389082cf6eb16fc0e23ef858ad2cc8401de44d15cd2fb210c7462e2f35726970d6e3bb5b859f7108e2670451dda54a1175b22d6e3face9b079b694af43b25df6e4c1c2440f1b44a111639917974b7a04d30dbfb4963fc70d5887da9905a0be8457e07f769191dc1b67c823399fc8377895b82151a9354b2d4f9bce974b09e856512fee3fb7ffa3452fa984bfd3725431fd03dc758b4cb7a38989f7cf056abe88d1e0caa39a20ee0512686fd5de1de6a2cda6450ccc8d1dced1d867496df4223ede2fa85585871a681ae38760e1817439025b418e1a25e1115ad419a333778cb4515fdeb27dfe5fb4561f8be2587dc8c891e4190e2e006143daa02f524240d1b30181bafe457860f988fe6539084a328f9ea55eebaa4ad8dd62eac5f026fe5eb595e5fb7a86209bac93cf64b94156f544426c977bb4bdcc41bc60112baba9a106d5681bc47eada3ff0e81f18ed9e929740d6bfc877a0b821fcb8bd2479d769b66f535f1cf3643c55f9076314acdff4434c40a733ce827fc88315e2e64e87b635216821ebedeba3e70cca91eea8f575f7e4246a5868764433aa8e31711da743f52b48f88af1255b260f88dc93e0521325a9f534e9db7036fffdd094d50745c51287a5e60203df2e599b409352ecfcb50659972faafde54aef31b280a8559c1a00b08ce2bddcdffa08378922aed08519620a038cae1bf36407574f52f9aa448477d4c886c0f3a9ad3f7edfb4369c483531d817d224a2d499ef41d7dbc067495baae9e4fdd3da2054b9495beb9c3013d7aae9af3e68baa648684680dd2ca91705b5e9833948ea4fca5f5559874622a43926ef15d41a89b8e1eb3e6271bd963098762058f3a6a38eacc645dc4e4807465b7b94a424abfffe8548da5bfa566bd376f1a187f65f9dc592fdeef36b00b09338cd80444f15e6bc76ab7266059629cec4d443f058ab4a2cb05559d41faaf5d5478125f74431feed9620ae8d326cedfc3a58a3b1fc9e02f931fd7c80043ec19abd5e7e09caf0955881f353582a18037b722a29587b1b2ae829ade9ca0e7ddf8aef29d0fe543b62a85a2290c6f623057c6da68006adc6402ae3b53dee3ca0eb78aea15239195389d5769a5cf5544b15ee6c2324c29d2a7d147b1b8d7a4dd9d88e9cfbd0ae0def7628417a668ae61ec3b8ef2cb0e79a6638a0a19dda4f3f02a485a39ec43b142c38e063f809684eab6a2fbf793f0ab5c8720fb88a7b14c61242495982607637be4b510c72f4f23b50b7ed21b4c9e46bcd1df9a95e75c0a79e7bcb37bb286affb1ab7a89bec3f01615bb4ab39624120086f0b0ec7793818ef334cc6615baf3c8c04c024ebd1e070889726f8bb6d4751437963b438f381191ef4ce24f86a94af5cb2072b1b5036f6642c677cfeec6afe5a8ec493f9ecde546d31d8973564e83a0e3917f2bc42c1b4b1c1513700a72d9894550cdce69bb6d5ae68518a217abb4f08936872ae185c2b343f6a09b2657384b1d22b82f01daf0483137cae4b5ba547d8b1fc803bcde1e12a375f28f5d78b36bdacf603078f38939c6a3ed2ae9203d85b6599ca7f8dd2d38e947290d78575afc17c5e61fd2d7bdaeeae3af618781012f689d0bfefa5246e53d5b9de433676e5a11dea00a55ced08e7b749f881b53f84d16636651ffdf52ed40a58181214e61b3ea0165d9ef084b3638c9f46192abf83c8a3fe2ac1aea054f2523cd42866ebe9a7c5ee8c894996c5f0fdfdddb105af92114262b741deb22680db2b3e3e10e9faa9380c370a0b86e6026e5ff45403305b5dc5552e4b204d38b60a1d26db756972eeb0051c485983bb630e16ca49601b70b7832f6fe7ce6edda48e2bf7145c9a852f3826874a7619a0184eeb3ff09201238e075b4bb7269f5084bbcb9e51e0e356fa8733975ed86dc8bf22e651c604bccfede731992d13ff9bc3f330193aaffddf3d5e14d51d5e719ce2451e5ca5fb170be85ed3c707cd82c08c4d94fc2865a2e3bac7d18278c74a020cdbbf889b4e1654dc04a101a60d0b4ff522453bc48f2fe5e85b704f43c4f1e5581d65910555c629dfcca656dd35756e6a058796da09d61c0ae99f86d273fa027816e8d4fb30ca66ce5cd6b5bbd86c4bd06fcf1829504b6c64f0ddf79f9ee82b0d3d8fa7f0c5bfe51460e1a724490de841b7199856952338ca69d41da884383d6b03d07f818bb2f677aed5f0ee28c90c538a07d13791b25fea1a38686268e78cd172b22361a80cf738376342d8816d7ecc80cae92b5a915bb1529a5437967a0d825c520103391bf290117aefd9208c1f8a115ae7f9f39c5124f9c31834e3e9ad03157e5194f6ff0673a5d0c2ed7a89a6dc4c4ed1c11880c9dd13e1c4e4b6d106d409fce058cdad7b95b7480d4f59a9743a6b04b4602784d401d207a991dfa1a7b934f4f4cdc7688a4b8125f0dd15977f7acbad3d177b0587a53e2ea4835810641da4fba00feb1ccca6daa98e2bf6e24dd832f42c0b71156b84b85d7b12a9e15402196850cd69d41dd29a56fdf595ccbd366555a2bbd7e1fd852bbd7f98a8fd7074e1fe33c31619ecdcc99496cb49d82a90a7d7f9e56c7459bb663b5e3984edba095067b9d7e724c3a24cd27a46158f6768fdb0f1344ba3b52f446f6e4e5f676fec2b741fec5bb5ef210781e57585ce31179f822e776dac09a2952ec2495ddcf02ea1dba348146454d55468abe6a2c18e3b2f0c92ae2e7c2f3e9a2d1b39071aa2f4c78c3f64c33c0ed0395e99ea840756c19fa84dc13b24a702c94ea7e5bd22689720bdcab91df671bb336c34bd917b649bea4d2fa4cba7a5e85f57434e4eb279c5992853382e86eee67905357106199cb1b2a12406b2cfd794775d215676f9ee2997bb907a22c6f16f26ba03891df9d67648542ce0fd4fbd7843ea99c1e77b25da9bf75bf78100c1ca2b829ab50d176776fc78d83d9a3323d67b4f6609c54b5141787bd229b0d343b6921cf737a6d0be29d9689009235388b47f4472182e419da4f8a4a1b6f430b81611eb93b75c47a92605c4cbb510948058f6242969adc23935e81e04b9296423b878851ceb136a2f7a35721335fa734e6f0ebccb13ce2f9300ee536e3bba26b466a2dc059ca685e622beb0b799f51fed606b8d9630659189b314a1ab87dc2db4b97db928c771dcac79f108b6be556e1b6b7f4ba018a63e7e7a193be126a3d11a4bb92245bdd8f58ec6146aea6cb8f86401c83eeaec430ceda5ad93f9f2b32d658fdc84ac7bffea335a2d4c1bb7fff6c8c477cf4be32ac5b20b6b3c22f448879a3f9e34c7af5966f5f088d80ed6fd09a6fff8cf06f3c571350c729c87c45a66d9fe7f0a7b5dec12238435a486443f1b58fb130d2ea018fad3d7912a36f9de4026230b7c3a07e5eb7703fa9a607998f1b5e4d391843cb5ccbc8a243987e2cefc704aec8cef7242d852e10ce104712e832089f3d6bfa1d9cd747fe1ef4afb5abe159b418902e0a2359790b1df87b9de7055f9d5102b640415711297de9d134fe540f5e251031bfe97a9293643181933e6d04ae7400286a3620b4d559550ca23aa446fd32a3243da347aae87abea10a3d210b478d45b4cd77be9555253ceada8c6c89d6061286ef399cd8d4dfa5435165b302edd846a699d67825417f80538ae70b2fb30ab8cdc5e8f609c589be1ee9ced70fa96e1831661d32c8e19db113d5cebf020052e400c0d6122e7ae97a2399431fb515ba160f156db3cbb3fc61ea90b318b7eb517964c99ef711b2cbe0a33489bb96a0ea53e21830ac613fa5592e27a59bce0666e4691541c43b802fd762115f2d3ec995396b5bd9419ca5cdf0bb444713ab2a5eb0d657197f74de872f86e4fe27395e0b4a230213fda8f3552967be9978667e568c888acad3b77d66293ada8d03d36190bbbb0dd38cc91483bfc427d579e48cf042b16f0d3dc41c069cb4a3e7219532b9e3e00726d356901f5e7a5365839b2917d7101d1bd9da8060aedc4cc9627332bf7928e007d4de22ef8813162cb14ade7064bdb464ae1735cceb75ba7c9db3147d1c4331bdd0979d83ac184bfb6382a1ddb9e5b0bef9940f90347ca35c0edb85eef1a8319fa06d07aa7895667f9c1d8d6081c5fdc893569085a7e1d9fd3f5024d01fac1114cfadd574fb252bbe3da589ed554978778fb4fec092b8feb2058b4b06c620b038929b6558ac1d088eef052f615b082c7e1194f6ee3244bd09d6d4dc0d48c2660446f88781f6cd7ae76067e121abc871c9942d52995cb2e6d9e7b5af869a57d55693860b05e4462aa191a2ac3097dfd893019d9734dac2bc69de1921f8fa505e46453be300a642509530d5bdc2d7fe13609fde64889aec6158c510fc3bde2751742cf3486a31e3da90d8b09852e129025a9a784254711b5173315fcede98cee3d51973708ac99da05ec38af5c79149e67968b9025c24b6557d06bb0ff782776d6f545ec94c8b0f091fe5e4e1a875e0e1de78753cacfdc9fb197279f5c4071bac75ede4d620d932c8e51cf26aedade595071e95378383d4e402cde703922ecb66ab407142bfe47887bdb415de3f0796f6d2670d74df8c45502833f4cf45707065d049d58168d8c2f7c5b1b236456202516d2609c468252b47268e01424503b3f92e2ad3d2abb774587297fe1c83ffaf99a98223b5d267f59547e05b47d59be3b92a2fa76b87f02f19d004f877d2df5179ddbb23b302879b4087ce8ee0f7e5ea02011993239de04985d9cf437788b458e2353baa6971a51c70ee744a51540dff0c9f13aefbf22898f0cb67ce50019007dc21a9258a0d4f7d74c1f3f644d9a7a860b9dff8d850c6882bd9182fd2e707af834749d4bf6818d7d86b8328945ac165e8c6bc9b64c4c003f6bc6450ea5a71bb704a8d13b1b19693af66a8316f7720dfa3759ebc28d3abdfc057956fb4cd87ef8a503f4001873c87c496894a04dfd74926a73f6ea7fd64e2b4fc35b155411b6e390936da5b394ab2c03725e69245f18327210afb7ebf9d50e984cc07fea78e7c3b88d319946564b6366e0de2f4e2b4bfe82c34e77c51ef7084845d0fcca2ddb861dabf2695addcad28e0a4d105b0954555c0c642a5a9cff282a0efbfb08cc057a3a63e6c3c8050c7236d8f6eca01d089af75bb36a04dc7cfc", 0x1000}, {&(0x7f0000001640)="07ae933e6820e2caae3c6c4d4f2ced499b", 0x11}, {&(0x7f0000001680)="e4e115d8c26205f9002b5a7a1b91cc7cb0900983481634d27d0f0fa045ba10", 0x1f}, {&(0x7f00000016c0)}], 0x4, &(0x7f0000003080)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0xee01, @ANYBLOB="0000000028000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="2c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0052eee3e800", @ANYRES32=r3, @ANYRES32=0xee01, @ANYRES32=r4, @ANYBLOB='\x00\x00\x00\x00'], 0x98, 0x80}}], 0x5, 0x0) (async) r5 = getpid() process_vm_readv(r5, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) (async) process_vm_readv(r5, 0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f00000003c0)=""/131, 0x83}, {&(0x7f0000001700)=""/5, 0x5}], 0x2, 0x0) (async) process_vm_readv(0x0, &(0x7f0000000140)=[{&(0x7f0000000240)=""/67, 0x43}, {&(0x7f0000000340)=""/75, 0x4b}], 0x2, &(0x7f00000005c0)=[{0x0}, {&(0x7f0000000500)=""/139, 0x8b}, {&(0x7f00000017c0)=""/4096, 0x1000}], 0x3, 0x0) (async) r6 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r6, 0x1, 0x19, &(0x7f00000000c0)='sit0\x00', 0x10) (async) connect$inet(r6, &(0x7f0000000040)={0x2, 0x0, @remote}, 0x10) r7 = syz_open_dev$vcsn(&(0x7f0000000100), 0x3ff, 0x2a002) bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@bloom_filter={0x1e, 0x8, 0x9, 0x0, 0x40, 0xffffffffffffffff, 0x9, '\x00', 0x0, r7, 0x2, 0x0, 0x5}, 0x48) (async) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f00000027c0)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d9fa743db8db03d4b7745fef1504ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba5870786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000200000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0281d58638f061f86132a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d09d2fbf06c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bec70d0e0e391ad30c83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a644e9e3d769db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f163330d"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) (async) sendmmsg(r6, &(0x7f00000038c0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}}, {{&(0x7f0000000740)=@l2tp6={0xa, 0x0, 0x7ff, @empty, 0x7, 0x4}, 0x80, &(0x7f0000003500)=[{&(0x7f00000013c0)="9f8c1a5229d29879004fcc112a8bdc4d30d5455a369e95ee42515bc1ea01007733beb5a732544b8b53b3289bde5a989a80e31d9e737e9bbe0642a592bc60df6d56d51946e36c006d7304ce60948ee84d36640f056037f6743898f23f32bc81c8f9bb527926e02f9ca9f8a6be493ddb5f24dcabeaa343d7d926be07b8b35c5eca4348d11cc472208180a3146828ac711dd513548699e7d49a72176810d7de8c0d9c0dd3765cfe66f97ae6026ce934", 0xae}, {&(0x7f0000001480)="b552889418ae220c2bb59f5a21b82bb1beaebf16b2c80b421020bc75c21d981354b74954e4d5a4b06408af46e3b2dcca57baeab1737c362463e509d8f4922e90938306b056f16133f7518001c8b4d2a4d7c20fc78b08d19ced1a0abb2ada737f4c9d0185c535c425405561add0506b043db5c3fb1069fe19a97a9c3a25fe7f8a4bf3830b184471ec963fda890f0e725a8e13768f4d0cee6d85", 0x99}, {&(0x7f00000007c0)="c54bfae095ee25fc6c7676aa64c925208970c75a2bc23712bffcda461b53dfe2af9e1ff3bcd80cefb0cde94cb01222f737c1d90c5fead416642d0acde996439a3ba697a5ac61cbbfc073c659050e6477d86f69bc9c563f41a8aadd10", 0x5c}, {&(0x7f0000000f00)="66b6d157a789e74564d2696e9d545a0563426e1a28f774beeaff17925b715793dd90ed4654eb05ca28e1b4688d11b8fdb5356f96ae0264038ebe74d47fea228c", 0x40}, {&(0x7f0000005d00)="75eab1ea7f105e120aa7179d9005e2ad79ed45d941d6f7620c983d4f56bedbeacf1659b78ea58b5fa2323698baeacccb7a352c7675cd7e328aa396876e73feab028ebc8937feccad9f4a334644c20fa88c46d820a885656a10257ed742dc1fa50ce443187a057c7c7664cf147816e674ea86fbe817f795e576c57776f3b1fcd6a19c9f86f8d5a7ae3f2ba2dc3de0e327", 0x90}, {&(0x7f0000007240)="640a613a3b219c754bf17d90d241bc29fd5d53b122334d737b53a37aa9fc6dbff34437c02de6cb2766a2f36025a6cecca2b777371de37503dfd5fce87ecb12f9030e25946f13664413a4423fa193f6d4e11801c2d93e5062290bf03b5a318f2508ca3d4962340ca27ae1a9275345aa0288fdeb6259e6ebe8fbf96a44322c82bd27467d76578cf0a98487c478f9462e40ce6e5985196e374edca97776069b8dc519cd406e97a1b353f30d7c0864dfcfed76cb5aa223e2eeac45cd5125db755948a73baa7a03d2032f3c1e38553e391fcadfd0fe76c69e0877ffd80a90f249e3a753e0060e4d19647edacfa3f15af43724fd6ddc2c5a0ab61ad824c30168dbde526281083fa5c8e8a53e1762de63b11dd12c6f23a5ab28b8db4fd5008c022dd0cfa08daa60a08fb9d2edd719ef748a925be5f0b1ad36d84b944c872b63277fd19003b576741163ffc8e2c2849b077188eb06f2bef37dbbc379670bdb0318adf2e1a9f87d2fcda727e6a6c44696d200ddf0f1c78ab00fbb3a1b07f1b9199010e20142c9a6963f6a868d2861af3c9cdab66a028c19e7e4f5e14bafe7ca3393223ea3feb96e711774e08fe2b93a65bd5b87938f41aff4d725b36b50a943eb9f13e233f10489ce77a2cc1138fdf2e19bc52643c7b799bc84aaeaa1c04201e6ce2c7ff90bb6c760825fdc58cdbdb3f56009a39a36f96b65b18050fc38c59b6e6b9020ad99caec0eb6fda03e894c236e03f7986889614eb6deeffb2fea00270a6baa8a3d79b1d48eb6d1a68f1e2bf5a598e770e84aa60a27d7045fcd4b03be8ddafb857a72dc859624fb4fc187fd840205c41e5788d95c25b33d06dc06c3a6ac6de51aecf6672df9151a300f6ae49bae45d4d7f03efca99f631a1aa339493ff0933fc0d0352887b896dae3a0bdfa52dfbf5edd84b8b901c379b56d656325492e07afd4b978282088fa4b39f4eff1266bc789f720bcff7b48b067d70a9ad3f495964c818f5dcd8a1229e3c72d4cfad0963049166a31dc67e2b4628ac70aa242250e1e834e8a452ef14974546e2985bbfb2cfd6c4d67643be1cfbaaeb8014533ba90edcebc687767020764d44309b5cd004e3b7d9778f36d0ff1a5aae60cdb72fee45c3f3fa334db5188e21f384d235665448a746a0e77279b2dbf48a56828bce8ef7c8fc3c950b457413b833a9deef51881111f83e84f09dfa0db1628e64bfeeddee41681d9911802ed9ce344f368a2095e8ab6465b1a0cd922cef680e46b719ddb15a3777de95d4a2f1ced077a5339b47a269ba5c0e6d6be90e16f3028e95e795e91efe0392f2d1227797e5028e8c0519f8f9adaac361c9e44bec5a1ffcbf53e19b96aa018392f48efd84e7dcfe16ac795733c7257e87d9ace63fece1f061361a7124b5834d773a74c3bf0b329badfde00c48886daa32c13e72abf0356f3b84e1d6ba16a06d6d55255af4990723caaf11518815efe176c3e27bbd024ec4ca06c13306f6e9c01c2e4b2bdb6e3e4ffbd0dc30a9f07f73df160fb7283df7a4f092491c3837f20d6d8aafb091716631c1e1cf19216c5bc34b666d89137bcff395d60a8a2beb94dd55ec0dd4119a07409b902e4764ca0e32847f7f2e9cbcd451a730db3e9c830f830a8c3aac85e14abda110a844cfeee1d8711344e8eea390b39e013af00a10d82467cfabae0a3f72eacec633d7de878ba9654e0502d558413ce942d37ba7c9141d93031b874cd2f859a793a13f0a9a99dc1d99263097b87c70ed1fe075544729bdfa11375b104bcc871e5d3bf84970312369bed5cbaa153d873e8e68dd47d01aefb2b275e211eaff57c5f7fd8158b5d6a821e86b92db9e46467d1403d97a8de2b88299522efe81c1fbde3d1b62a9ba04b03e477473c85c1862624cb2b4758294c252e3ad44fe0ac64364a3621fd10ebe45bb7a765a9c2195b97d6af0abf4e7e3d2437becaacd54171cc3aab9c253937adbae44f668828257be6079e5e23b6f0d5be79d0d9112118f19b80b7972853d7a71fcbd682f36ec63d68c20086140fc73ed2df526fd2c8882700516225cf838a5d8b261dd6d00889422d99cb4754ffc209d399427c337148ecb5d8f2b8ee01d8ab4eb25200aff5b19af7385550b6682793fa0b08af5111f6db01c24b24a2fb0558719d31f5e4e22ca626eb4364af65d1323f49c266db0ac93c99c5887628af2a38cb996fe524c21d7beabb783942b5a39799ca0d5e07aa88c5ce2e67b47a0900c7a823f8f920bd0722331e8ae40182d078bfaa31b237f0ae7c6505258fb4cd33cd79381565945336a01d8468a1c36817c2baad0d57ae3a34550688ecc78b1d4c96a9625e799ad1c28e12394ddc0b94d5396f9f970d1d6b0c2438f4cba8fe2bad2dc61e74425df19c68fac0127a1ba773ad7fcac6e09a09d1e25b84b3929ddaccfcf538b8e3a68ec8c18561f904e489d05fbc4c045eef717c92fb2f7d4194f5e2ea51cb8c2b4701b76360c28bdb811ef90854115d1b5ec3a18cab01bda14fa585aea42e5a96998a1c2fbb14724cc5b07d4cd56c571198db10d9938a29c14d271f68862099f0bb5f1d97d0c6fc43f2b9f00368fd52e4b25347b8f525ce69e2ec5365702c2d17d98f729796cc36bcf9eca4df68bc98a9fedd86790706de0f7c05950613ac07eb538bc822654b92fa0db57c2ef8a19737834448b3ff9d5c7d2c20d29ae040673a11939e9b2747c683706a49d5c03f844e61b7f07f71e4f07877ace0d91de6e6d393dff23349042013012878d25c01f3c4230a55d2b230e20f8b078bce65273070a2b36569b90a8f72e11c17f133b30364b9e7ff94fb30fd1e3e1b368b440bb28c8615ed639a998ea1f884caa16421a59e4c60f252e4175ab32f58c619d42a94508a2400094eac87d1b116e3588ef79e2d5f22b11d801d3a42cf4f0e0872f242281a221d3d725ed27dc11031f302c89dcc62044cd36fc37fea44ca643fb6bbfd01d964ee3ef04a7685d20a804e7178db7e28cf6a735ae2f1d9b7fe45167c9ab17d8b2a84ad644b6b8d744d37d54fd612e2f51cc762e7eec2bba937ee47c86886bbf9a1bf336f78d69f33cfb86b64ed9e6ee59a586dca8efb408d7032f1f8b838a50c69da239dfcc8f2fa47249f834e981ec4425b57386f93d4e034f5f20a726688175aaa73561bd1a577a3c9457c727edfaad7096bf1a6d21a902db2c053912c9e357b7511ce490c08b31355a52adb19cff8933a265766428ccca5b291c0d964028fe9c9ed13f692765ba20645e39b0b2e5a5b075c8e013e24ab7d12d99046db44bb27e4367e79221ecba0afca547650329997b4196df0a06673a3fa82be8ef4e5ce1968ac95fb9f00093dd3b85014d75bc57af09a3fadebc52a58b9247ccb0f750844ff2688cd2eb78a354a1a83d4ac4a599c0317378d0db8b494b6bef5e8c7ce4113b49829e332b4749a3b57441a4c390e405ab4583de2b98c86342998920478fe5831ef3a014bf52d324f9aae9062368292e2e12a7c0b45f7904e384b8a3aeba98d64c1a3ca69a08a5c63ed93a1a9eacd600daa10b398fec64a3da986e3ad8f72497330b2b7294285d9027200d7df8e5526fae7f6bfc184b494ed728c11afacaeebc6842a787944b445780e92b49d880de5bb7b1ef5061d7de7716b6d130bade2bfc4c0671d741f40c26e458c94ab942bbabce0677b98603a022bf3d60603d74887fa4fb3fb9198eb3d455ea4632c4046c06c4cc4efafce59cf56a7e3e564617fc5843e46c77e9cdc0eb0471c1af86f97ba617f44c20ffd07983dbd0dc5fcc66c76d976760a0acec8e687b88693b529d28ee6245ca8ce767fd9d9f212411c269dfd7f4affcfc3b4c30cd4a5a173112d4869cb8bd12cda02f47248cc345f0eed610740462d95097f932e659e0f5e6c2f0871ef4bb0658613d878a42b56195da28c8d937c23e652cbcd7eb6a29724529329cab63ebeaef8b7b3b7cbfb2b397decf72f4998e3beb1bcccd93370c1242f73ee0a42fef4bd4c5a79aa378280f93cb5e2b8581296f09a7ec1472deddeebf3b685eb2ab6663938044df383c2d7b932e10fa1cc8b2974844c748fa856ceefd6fc6a83ad52b5f5875e3e9dce05370966bc290fae7f4256650b715f143a43ee14bebd8722124084eb2a1aefe7418ef75fb4977bf1e0f966e1db9eb66392345ef8965d2190476616707d72c36846467a7884433b3b7b20fca9d7b452912a06ea9de1a18e97bff8ea95ee0d7c305171b1e81a71478f545900e364373f8dcba0e1aa678a651e78d33a4dbe1349ec5b87d62cae43bc0a182fe21afaad13cfe846a3526ce3e642ecba069fde5202a74e349c9c50eb5bb9f13f09a325e90352798c8d6f007ed9117314ef04a84d1b117ffafb10d90053cbe6c95e5ed7b6dc97ca242ae40a15f06369c52fee60c8fef1b3d08b7b65fff91bdd6d907cbdde5066839ab74787070a88c34aebf939e0610234677d9c84e73008d7ca2f3a3ca3b6ab61b9d59173a2e58acc744973e3f2e2cb814e4f9cf67d8248892fb4a42cec893574d5398c8b6f535b595c92c61cdec9a939993835401d58704342f7ae5bbbb7220da973bbbe45af88ff6bcfca03a60bfa740f6a4b1da725cdde86768671fcbdc44d6c6a207fd4d3c7d31769feeafd75fc9a919da717dd64db9482de0915a49b0273ee3dffff3d29e167c1fd5999d38605e22a62c9f069623141bb7ebb63ea26a849c145cae4b9b7e78b1d190c989832cf87d99a7bd107bf1f3e081e6e97d7b2b921dd672b194bf09e7b4c4f7137505a07eee381cc7097a86d874f18fabcde7ea088d7231fa52fb637d98b66472f75a94b91bd17a33eb751a26c81fba8c51213d1c45996f08b8e2a2efc951789b3e6da392c5bf68a742cfaf721bc0ec7352a20cfa96d410521e1a838afc267b9f11f704b0d2d071b9b2c3cde85cde0de3aac861f77296f349fc4cbaa2639ca56ecf98abc5a171030e5cef32fcb55d1db3c63bb453d62232909a4c9370e6372a0a161e4fe5245cb1eb7fbc6b3c039f8449ca1600830f88a3405386eab42abf25c7bd90de149ee67c1423a78a501636bd40deb65b00cccc7446b7e0122292b506cc8df1b7819fba95f3b2b480b408b007e44d726fd7068830105362537f27956dd82e0c40d40f70a166ed65508cd5e66491e4b20434e9136edb057d994288deff74dbe86cdd52574730a00e9a776e32f8b3032c722d71e2d172218c8c5b75b86a4f5e02493ccc06a70f1de5a10f85af4ef3f8f7ea45d573f00a0658f64bc51aa6e8f331bd3a035e8a6051bfc85a6403e25984185f4e6c5758e22a6b5ff2971c61abf9caeba86f5c5f31cd0cca275557306f9a2a4eb762fa984d2ca58bfa314c9b5ce1e2e3d938cff19a78bed5366c2079f8d2a9659d38cd1568e0b56200f53001522654a99a1692ecb525da9b1ed39594e1732fb1b8abcaa2606f2c37711d12e6e7b18e5dac07718e4eb904cdfa9a0b2c26886a369e4841c29340ff21c22a989eb7bb9d3c08f0e0f9adf6912bab9d1826c821de237fc7df7095398b7bdcacbb7ff1da551026db05b265713881b50a64952e17466d08e1aef582dc2e775c490efc72362024efb7299fe1fe13707ced6c91d7ba799457034eb83bbe17dd55c47cb2b3f9a976c88df23b09848d216b3d54b664d0ed4a4aac3548dd6bb52d6110c876e9a418d16b1fe68b4467448218124198c2dd26d73141de6518247fec8388ddf26edd3dcd1476cba1db0cdc27a7cb2dbfedfeeeed8aad59221fb50c49c16ce7cf9befe76a487dba76c83caeadceef0313bc1a985c2", 0x1000}, {&(0x7f0000003340)="cd8f1d08cfebb7904647a2ef55329bec8ff4f9218ecce2ac6ad1365e233de4a02189b5c85a421c4054234d84f6aeb0a3d324fbc3b3561bee268cdbc204b9194314d34d145465ac2dfd4590fe2c26633f3a44cb3db82035a0c5eb82565dcf35f5c6a55835b247a1121232fdec80cc387a2b8476cd2700c50f339e4a6072b67f739e3544192a8024b44cfe3fb5da3d7a4a5a5911ea4b34c391ea775fdee5fe", 0x9e}, {&(0x7f0000003400)="0872ddfba4a3cc9925d4dba9ca1e375f8ec063c9b94198b8a061646434de158bcc0e39007c07c80f6c51663a337e8dd72fdc58f6232c7c1fb66b783928866c5a833f317ecb26216b32fbc18f0d937b973cf8d66adc55f3143a44f25c69fc69ca1238c9134db50af0d770640cb78804ba9d5bc07e255fbe89e9ec8e6584dc1fbf5a4db9c5a295987a880073f2b03cfe48ad76082e1d4abbce7ebaa658827f0731df7b1bd3075631118cd675636de8e495727cff028ebffb453040ab89e8d089452c07424f8a4ea41bddd15c17d4e81ae057f238", 0xd3}], 0x8, &(0x7f0000008680)=[{0xc0, 0x118, 0x9, "3b7792f0d18ab08aed720af081c61a530748ffd2fb02903669e177b15834849df311ceb416ebc3ae90c8614c9659e524e6918d2ea1edf6ae0d8ba56ac4b97764217535285aa909bc1ba3af60d6cedd346c041507d7452444b70697d76e1f0249b8acb2b53eee58bbb94ed801194c3705a35656e553178d6f7906a06c52622152538fcee77764c38d56c75ba35ad1b0af3e5b594a38664137c345e378299ed986029c24f80b0486ab5dc5bed5d13f"}, {0x78, 0x11, 0xfffffff9, "77d81ec7425df99871131ffd9a4379ccf55e2d3329ec8afcc95709c33891f2ba119938740bb574b37a4bebba1e0543e71f95de24d55f7e3f4e950f3236b876513cf599fb750aa4961f4c7bfa924d87c81dcc1582a8bc86aafe2be80cbfb03c66af77c409c4dbeda1"}, {0x20, 0x101, 0x8, "9d15976ec86830caeeeab6b1af"}, {0x1010, 0x111, 0xffffffe0, "b40028abfa0b71a33ee5fbdaef9d35ed69dda7067c1666df4a6c1279852f962b8b9122846ce1d451b87a5c5aa3f7e678cfd9cf1a9733d6c0e7203f778151fa8820b0b24455b06a8b8ac1af12b65888290f1d64efba2c9082705d7dbe775cd5520176ae892a7f17f7b77509635a93472587233c17d5ffe65c3e9a7c0fbd9b935b9ae8c6732a06e5b143da99f16edcef74f0af7ebebf52c82a9df4ffc3c5dda4bece2969631e1d51c178c653cf74f8714a78a8ef2f75851aba4494bacbf81437a5cab14176c52ea5d6f9bdb71a9f4d6ac5b661cc426f764e9489d99b02c5d2323f3dd13c13dc13e5adee5a4d69a11f2b247a6e301672f1f66d9fdc9ad0ab80543d8ed18e808efef9199c6c777eb5fb95ce342f98ff12cb105905ed20726ddf6ec09ef4cb1a116c972cf99d745a79582b98bcc2fb03fb1e3a09d6556d6d28570ed23c7e69977ce3ca30a50c06d004b0f3e77fcebe3de9bf742402eee32547dfb23232cb38079f1b035e5fa5ca81d47e331b76452db52101ed36f9002eb6150fd1367e43dd8aefd6193393433ed365a2efabe90a62cd14965948d3952d28c0565354377e05461963ad9ada4d325a1c10150b0006edae469747ef9affc8f0f46c0475d02405b5ed4a5759b41420d6932d8db539421ab94ee3f5e733f355292ebe4b0409302ec1a19daa788014d56559cf956bd12f8b4ead1487f163620dc8b58cd94a2abd5550ac5016cbcd1d1ce965bbb28af60423cb7528fa6e24400296ca30f6281bbcf8b6cb274db8168c971f9d56eb2e71db5b7b91d6765c07e73f91f7ded85499938863109933d1779fbe9e371741c483ebaf51bdae65565031892313d880a7e7a87ab8495b62b209fec9d2c37dcc1c0fdad1b51d05fa4dca711f50b16aaabfad99ca9a96f653a6b0565ad1adfc87a10f4d5e75bec6960053d3bbbf24602b0f5c9b4eb77d7e21e30983a7e481498062719c6dc073a9e51ef7580ca9b7f2621781ae90172e5e8efe65a46222843b928b990d3bdbb4d4a695f33124de712689279e00b644bf349538c1cde5c4051e323bb388eeed1469c7476c7fd79b43fd8e64953a92aa6bfed600b7b63281c027d652f219edcad5c60b5b6087e814fe9d607c3c387ae8f91afef42cdb5ba2e434f6ac89e8fe672c1abcd791b18e5df1cf9628ffaeef378e768365b65551e0b0230253c2c9a9fb550607d3ae126f6a1e8b55d095126c3e4fb7c801c2c8b03f1ea9a6b4d680a78d8459b468a02a7137b1323d6a10dbf4e222b532f4eb3ecc98a8dc036781a89cc5b8d10029fc1dc38329bccec31f79e5db5989f63c0c5aa3bf701747aadd1ad93877f1a324d1eda9efc3347bb22eaaa30cdb760845c3c1dae028eb0dd95dae63b2191b9488fe945a7832557110cf76982bb2ce073ad931048a8060d2733201cdcadb187c69cdeff5a61b58726ab9b8ce0850c103a2959fdaf4ac59098e6b82e9d941b3ee70ff80a726eec49ca776f8cedb152c20bf70815e7b428b539abe56f1c9cbee0232e7820589602f39ffdcb8aaa004d6933ceb6717e82d873b67588bfc9c4c1667e6c7c41d076c896d2c11181a564b6bd2d5f0cafcd525d0164bd5b8dde2664a26ec42c55e7b7015d1c271ce3772b4d111caf4374a0e8d9d60af466b5686b998113adb2ad0c47681309cfa0a0cad5feca277c8bbbcfb9b6b8052afcfcaa389bedf476e967db798f1be2f5357d32393d9a4ad229bbf6c6c90508b8c005fc112d6c4d2b6e3118b4ad3abba722749faa96cc245df59660874b9f6815e2deb57f149ce5b0d95f128eaac6f2e0e80b84b49fdfb86ec75d377ef9bbbe306277942b236dffafaa14991e70e708a3cfb9a1737d0b1541562a32b61815036b4b2d383afbbc213f1955fcfa2cbb3f19b759bb0fd6127c3ffcd460aa7936bec88cba5be09cc1e00bcc3025be6bbebd0a2ea35689b22161f9df946dd2e43dc6046fee3f01c57c6335dd8dffa72864c528350a0d6fc653e52c89e6843b066c15aab7036638d71a9a37c83953bde23c5605d35a3e5fd3cfdc88f2d0a80e779d4f366a40561b467c0518a3725da87f03c16641b0d1a5a52c0a2101ed59c603fa695b0fae4577c474144d793d2719ea9fa606681e3817644caaf11837bba674d3a2c630fed02cba995be63a2dd90c4427d16fa440844e0e886dbb5b154624032564d49e8b82f3dec21cd73956497ab6b4eea8da93354b8ba7ba3bcd482717df4e8cd39a0aeb333cc59b0e86fdad581d3911fac4cdd8551b7f59c45f51fe030743ee5f2684076c979caf5b3f57361631afd25a556d3f6800d6eb49f96b8aeb4ef4a57528cc4771b8a9316a0442035a2cbea525815d9f81c3c1737b4bb542186c5200ba974196cc5ff9726d4cd27c873e9669d1255103b3a20ad950b946bc3c31a8b1deb59d1effb6522c58cac34770a54a6e50c80fa51cc873cb01b860c4baa9d3b11cf42fd7464803e03686e9a45b131011764e76d99298e12367c22a2600eff5940ccbd089c1a887ea6dae147f23b98e934376fbd4cef6e205e791f9e78fb44952ce5c5e79203c030f5723368ed53ff62a9a51c0b4b09e19944693202d027fbf7dbeaed6b462a7c8c3286cd5fcc4428af5af4829b5720f511380a4e774e8f7854f04d98a3cecf20130231371e0a8ca0a34d66abb48974c400b66a866c63fd1ffd034c1e99852c5f086855e828a0bd257a8752eda3fb48cddea878437081b6f3019e042b9889b4df5008cc148bf6ec3ab7bb80442517cdecc396f31ad7cf5bded5ee69b8131a07592069590eef517eafea2d0821c26d121185bfbed38963bae6b4ece4ef7016a993ba9989fa817fd1f7f0be616f18fadaa2d206a1d0b24aac728cac879b4bfa0ad2328fb9125e8183d360b6756fa205d817500dd4e5622e6b0f8c50d93dd071b3afbfab969ff92568375af947f3e042e4c463401448cfc92cf99413a4897388934b2671d73ba3a17a215c5e5cce6fe18af52c9eb50287c61a7e55136ae1856700b6b474dbe7df3c910c8e4f3455dd83b755fcc8b486995f3de3edec361edbf1769592734ccf1d17ce4b098bad8073513fa803c43dd759a595a6f2b32700a1d7c8a17ec7185319f1554813adeae2b1ea41aa7b96feecf4bb6b2b1faa24c0bbee9197e2768c667c3be959037a453caf9428760dc00011bda340c8063db9cc99def7a6282503de082c2ea4390d01bde88d53c0cb6e54dd1b0745f2039a337bdcdef972c8a7d4c999253312109f0297d6861bb8673e2324d5219b0ef14c10475f9d6afaddddb9085c6c8312f598d0d38e9df8f05fdb31a3eba4c3a4492a3b446844c222c7cbafae8d81fb2e10f9fb11239c17a581a2937a9bb2a1d362281b656a896a099b0680fdf5c35f04b38c83272e74d621142e947960da80263974151ce8e044e84a6efc1c73ec5ea08d9209416ae4d20fd9fba64fa04413c626f47918c69dceccda8a919ca49ece4400e736c357c2cdd9d9891690a1a869aa3860468db1800b54adadce1df7805c0e798656d94a2fb2914e4dfcf8c97a5ae75c5099dec1dbf430de63a828b17bc8ba4f592a5dc8e1acd64ea0697460bf202f423e389a479c6ca4c89782e0d30841fdae83df5892aacbbc09bcc2ac98f5030801795816b2dedf3b22c04c127553d1853cf96dd2b571afefba9cb1436b165238fed98840ea3731b289e8d5b222bd9cb463aa99543e42e79529689c61f83af488db9794460c2d6f49353ab4f2fc1f86018ad898bd6a43a1bb1670ebe22b61d3eb548cc95399e22396ccaacd8e9fc912db208167f55ecca5a7285fb6cce69fe5f3b4311c7dc9fd2ff981b1374af01b666f2483c3e8fa5193fa6a908d1963bf1d23586bc9bb2b5878814eb570f5cc33b5f8f96db6231168d6071d6133677c35644afbafa531cac0c545049a1c1a1098c5647309d10c2f0183f7f41b3b02ce4621bb6e775acc3490822a9d67f38265b60733dd2d20ea858946e83bc783769b3f3461a7d3449a462341ad3295223fe7824e078346b607aada54ecfb22d209b6b61cd7c2f6c506b1ac17d715be7bba709aba8b45009770ce3df7fc21dec5f1ba68af9f4e9625763338b4b03dfd3135872b4d0527dd2f6bcc27e6d687585f8a13972e774d9a20f75ad53d7e99d078484eaf73c883256058f191d28271fd4eb933636d5b055cc6cf3a21ef6c73d80d444de2cdf6ecaf433f1ae1a3b19b152cd3fc92efc9983fe82d71645a2f01ea8d82ddc2c3d1afdb92f82f02798cb0e32ed1cf4d5aef6c0f899e0455512175197ea654dbd5f1dc05f00f159dd09f41aaeabd5f235eec59ec2298a9fecd5e8286b8dfa09c8b22a3a53bb18e026a5cb4b3f7952bcf60409424bad16b90ddf39609e47bf7f84eade7fdac8ecaf9b48ffb2f8decb94269aa581c2477e29e0a3350a44b84847e716c30ed538ee75d8266787e32db7990cafdca7e9bdf0d3ae2c093a3be99fafb655e232defb720fef4be6cffaaca2a8b344e7f80f3e249ab630896d46ad5dee41d6a70bb6dd56909c5f81a4a14e45ea1e772a20b664a8f22445c6b47b07176cf17d1069fb0051222b718d50f3a057e416aa88d80f54f6d892ad8eb500728f2829379a230fc53701320719fedccb9e4b0ad175e792f2bda529845377d71ce9ae2297a70d404e86aa9fd79802ce564463ace8a23f982ba0d4596515178f4dad8c592836f1cd41ce93df937ee0fa01c9ebec0e48d6d60670a0783b81125a8c3c9e1c75aad4b47cc3a4197fb55c97161b05c424a5d8d2f774f903fb82a18499d857fa7dcb4292954786696ff4f8ba61acba63adfe48aba881e6a881fce6c01979281c4a72aea68206853231d88171a5ad92e5d0d3167c836db62ac27538f3e914c7993b89435879dbc9e985f2a68de208bfabcdf6036c11e8281e1dab69504847e192c2d72397c3488871f653a31396bd9256e65682b16e43dc7d3f4160645c131cb479286bdebc277535fb2314ada1bbf21f9e113c2285728ae91b94217351b685878313dbed120bdadd509438636a431073d2fd636a33f09591570528d7033461430ba3966399d9bb1f632667d4cf06dc78e2bc2574a4681446cfa227b927dde628f70bf206590698394339b40f6781123d0346936e94c228b620d15d370c53c864d1f4f4d9c45141f2f806314d5a8c0e46b00c8d7c1d35346c51886086b47b657c8dd851f3c498a88c63cd3c5012d67f2c159cbe5bcd3b14647b9276c92125227dc450adef6932f8ff2a756e07cf7d3b624ebd5b9ad6a3cc7d2e90376ed629ffd67edcdb4c4a97c04e85959e8717d154916f7ab0d18896f6a48b309f9ca33673e84919257e336e232853ff3c0d16f4c6519c612799f356edb5bf6879b1fb800dd8c6a9c80989161eea6ac0356fc94bc50ca1a3da308614302094050f4f7ad7348d843cf873bb661c072ea808c93ef75b1bdbd3a2eb6a626c68ae2826ea53f730040305bbfabbb5aa1b60be8ef35762d8c7aede9ee4c40e301c9cbb10d0e905a3a9e40086e1f54f61f05e339fb37b7ff0a107118d208aa8aab7080f958efad6e5367da1d9df3ab104c7db32726240a05773b554ae58747500e41d8617b89cb0e2f4c6ea413b2f61548419c8398ce436e947139d2395546236f481cbfa07e01777b93d815fe0e26d1d2c72175aa90b808dadc4b77883ce3140424b6c55b8004fedaf041e1132e81dd9288d0ca2353a362c44bb6f95b8dbe998f59d8cf31521ee9e01eaefb9a175cd3063a865f65bcabb3bcbceca15d9f1a1343c95d4207db7bade97d3c54b9"}, {0x45, 0x10e, 0xa4ab, "6fe56c797e34b489f1c54dc4babc43437b26f12efa8679bb2d5d8965606ce154f38317d36aec5bf9231e0a9dcea6beb7abbb0f09edb80b0d52e8b14098986a74"}, {0xc0, 0x0, 0x401, "2e7ecb2fc449d7516fa45c81ddd7fe46495c75fd7f2a3268e475f07c47a02fb9a4036c94e7fb75b075f0cae442dd1857f39aeedf63b5a58e60d48277565670f45e0ac9bcb3c0876f7f696553efac3194483fe6e27b5cb0d6d1616c96ea4d2ae0f1470fd1b7626ab4d1c76cda41f77cc788e7f6c033bc279de7dfc7244caf3d5d36a6ca3f095694f0eebd4e8b36afb94b2926d40dcbf368a9045423a5f03efc4cc85ca81aa98aa166071b"}, {0xd8, 0x10c, 0x3, "e0284a6d4246fa3116703d3cbdc60f57734198521c4eab0374a74ac3359a2ad48356bd1a5b5f09567c00574d168942ecd77dd58b1579c111985e4f1fb2c6ee98c1fb5ab31c530bf6f95c014995258971db39fcb3620fe821f710e30499a43089edff788ef8956ae6646045a485bc5db62edae9dd233e17a6872f8f6430d290e782d0eac1f059f294b0f3ea27e84ed58c206b24c4e256f4875b9052a7ab5d15da2dcc9290190914d6d3e9042142b6934dbd99f9a382e1adea4a12744eebf7be4a260247f1"}, {0x40, 0x104, 0x2dc, "d8d0d994fc2809c1d0480ba1a43b3c78dc90e936122c97a7f64f374da0a167e6e0f176cfd527eac765e88d04d036"}, {0x90, 0x101, 0x100, "c5b884cbb506c13c78ee20d98302e19490e0208b5b0d6c9c2611b5dd04dc44d99ce11e7a48837ff0d5762e6643dcdc6514f9ca45ffd978db74a528bc8a6edb662b9b60af6bd516b5324405b5733a6ce6611a680737b24a1f682ce0449daae8d531c9546174cd682569bcf21be4a292becf0ae6293e0a215e01b18d2a729f"}, {0xa0, 0x1, 0x9, "f9cbdd12fda102dc9b6880e63f019718d1ed916284dfcc3a8026778dda24051d0134758bf2add22f4d7eb8b41278f001de19725ef48a79cb1952588ca5459cb2bde2c606178acbfa67a081767af8d46630ad17737e6031c4a6166a61effc004b0f529b651c43d98b987634831dc396b7c2d73b6c1138f146dad414a2eee7d0d6e4a5b5f6603a2e2806adaf"}], 0x14c0}}, {{&(0x7f0000003580)=@tipc=@name={0x1e, 0x2, 0x2, {{0x41, 0x3}, 0x6}}, 0x80, &(0x7f00000016c0)=[{&(0x7f0000003600)="b62b463ceb28f42a9ad45681d9282d70a1e5ef8a7bdee290c42358adb390eb1b60258f941f83f8783e37cce477a8a3282abf7a794a9d3bb7d8e4b945f5ac0bcbf429e4ca8b8380c9c54898e4f9dfd4584dd200bce0ad737a739ec3d0efcb0060f1983a4af9e1a84cd6d40c59a34b72c1f1f1c279fe4b7ae1d6b25995c3d0d42557017bd99c9415979f5cef52f376b40adb6ee2ec61ce241c3019e6241adefcebe23f0e752f5da216d45bb70b75f2e2b5760e96e61c984986a19fcf0fb2d970042b45", 0xc2}, {&(0x7f0000003700)="9064196771390647facd4f098140b6bd3939a48525b624ac4031d2925fc8f02fc2d2067b63a903ae33bb9dc4f272d74206f41f7fbf06f67b4ce06f72e7d871438a929d10f7e80a04cddea4641d11262d61f7ca51859cbb6a672dfea7274a109d5927feb007d5ba2b79486fe7152b51d098721852c23aad780889c4b385cde71570aff195dcc0fd1f918d29463dac63", 0x8f}, {&(0x7f00000037c0)="af2f0925744a0ed89f9e4cac799755529c36fe0c9f371a66610f5d6d50ff2b25ad024a0e78400566dac829a30d9867775b25735d426bf49a2886cbcee3ff065008b283fe8110c3819a331a79034b637fb247a3b89173b4e1fb6431de3c0129288029d2fcb9e8115b639cb50f2efeee86dae9267e9b4a3300e891056994d991c5daa55a1f0b35957986031bfa31b79b53ab0279b030efc593895e38a564a2eca4980d93ed74fe15d43c143feb473e73b30b93fe2038bb21624bd062e4d8bc53dd2e022d3ac2959d44122781e1a7ddf039333662bd8e01443b41a0950f1be782ffddf4114203e33227f8b3e68758b1f3ef285d78f57aec43403423", 0xfa}], 0x3, &(0x7f0000005a00)=[{0x98, 0x11d, 0xc10, "8ed727577ae517c08facc02f2236c6869ff18dd3f8a464e5ce2e8621e42d909a43a2eeabd31f4f3fdeb952ee76c08e516b96596780cf16504b68f861e51cce6d34d759b1bfddf3510b74a85c7314d2939f7cd71ea976ff54352ca0055ad24c555e2e0e7979cf5c8d42bb416c1e5857ea0cdf0628ef28643695ac1382ea9f54f4e5085bff"}, {0xc8, 0x10e, 0x4, "75c86daed4c2450379f3c49f6367e0cb4a4aaa2608e088f955aa620dd3122c268e905f1e7469206c45a03b3382bc63ec4d9468379fe11794be59ed866ace3216cea169853eddb9887a409d14f0379ed0ecea26bdca5fa5126fe8646f70c6ccb2b31cfcba7bf9d73e64061bb596236cc6b86166b2a7f9837adc1a2041f466ca7626a2cf9e74817f78961e9649d83978921ddcb2f1c1254510f626207ba78faaa8e116682ab85e5ac5b42c00dcd8e47b9f06"}, {0xc8, 0x119, 0x100, "063a85ba1b1aad6fae035b14f25eaaabc3c3d5243001ef7c024357784a63ad6ca56b359a75f96bc675f1d4f5cfea8427360646df23b9f0df0c79f7dbe83416bdd60385d36f6de953bf7f8f00277d79117ef0e716a7a6aaaffeeac52d4cf07e8774c24467005ad824f66663e27c29fd57061314b794f9f3f7052efa129fbf47681835e9f0698e99ef3a35c39738091d763062bc750646cd282b8252960e2e1112060bdbe42bd56dfc3d13b1a56d089d2a9229"}], 0x228}}], 0x3, 0x7000000) 15:36:53 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x11, r1}}) 15:36:53 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000140), 0x240c0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x3}}, 0x12) read$sequencer(r0, &(0x7f00000001c0)=""/215, 0xd7) close_range(r0, 0xffffffffffffffff, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$EVIOCSKEYCODE(r2, 0x40084504, &(0x7f0000000080)=[0x7, 0x3]) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000040)=@t={0x81, 0x5, 0x4, 0x9, @generic=0x9}) [ 851.434817][ T6973] 9pnet_fd: Insufficient options for proto=fd 15:36:53 executing program 2: mkdir(&(0x7f0000000800)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup/syz0\x00', 0x1ff) mount$fuse(0x20000000, &(0x7f0000000240)='./file0\x00', 0x0, 0xa51000, 0x0) r0 = open(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r1 = openat$cgroup_procs(r0, &(0x7f0000000180)='cgroup.procs\x00', 0x2, 0x0) writev(r1, &(0x7f0000000040)=[{&(0x7f0000000100)="aaa5eccc0813f3d82eaa7a44dd4678c3", 0x10}], 0x1) (async) r2 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) sendfile(r2, r1, 0x0, 0x80000001) (async) r3 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup/cgroup.procs\x00', 0x8802, 0x0) write$cgroup_pid(r3, &(0x7f00000000c0), 0x12) preadv(r1, &(0x7f00000006c0)=[{&(0x7f0000000140)=""/36, 0x24}], 0x1, 0x0, 0x0) 15:36:53 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0xad12, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:53 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) mount(&(0x7f0000000140)=@sg0, &(0x7f0000000180)='./file0/file0\x00', &(0x7f00000002c0)='aio\x00', 0x0, 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') (async) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) (async) preadv(r0, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) fchmodat(r0, &(0x7f0000000300)='./file0\x00', 0x16) [ 851.513648][ T6977] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 15:36:53 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x12, r1}}) 15:36:53 executing program 2: mkdir(&(0x7f0000000800)='./file0\x00', 0x0) (async) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup/syz0\x00', 0x1ff) mount$fuse(0x20000000, &(0x7f0000000240)='./file0\x00', 0x0, 0xa51000, 0x0) r0 = open(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r1 = openat$cgroup_procs(r0, &(0x7f0000000180)='cgroup.procs\x00', 0x2, 0x0) writev(r1, &(0x7f0000000040)=[{&(0x7f0000000100)="aaa5eccc0813f3d82eaa7a44dd4678c3", 0x10}], 0x1) (async) r2 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) sendfile(r2, r1, 0x0, 0x80000001) r3 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup/cgroup.procs\x00', 0x8802, 0x0) write$cgroup_pid(r3, &(0x7f00000000c0), 0x12) (async) preadv(r1, &(0x7f00000006c0)=[{&(0x7f0000000140)=""/36, 0x24}], 0x1, 0x0, 0x0) [ 851.562933][ T6995] 9pnet_fd: Insufficient options for proto=fd 15:36:53 executing program 2: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x6, 0x31, 0xffffffffffffffff, 0x0) remap_file_pages(&(0x7f00002ec000/0x200000)=nil, 0x200000, 0x0, 0x0, 0x0) r0 = userfaultfd(0x80001) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f00000000c0)) ioctl$UFFDIO_REGISTER(r0, 0xc020aa00, &(0x7f0000000080)={{&(0x7f00000e2000/0xc00000)=nil, 0xc00000}, 0x1}) mbind(&(0x7f0000e66000/0x3000)=nil, 0x3000, 0x1, &(0x7f0000000000)=0x9, 0x0, 0x0) ioctl$UFFDIO_CONTINUE(r0, 0xc020aa07, &(0x7f0000000100)={{&(0x7f00001a1000/0x3000)=nil, 0x3000}, 0x1}) 15:36:53 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000140), 0x240c0, 0x0) (async) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x3}}, 0x12) (async) read$sequencer(r0, &(0x7f00000001c0)=""/215, 0xd7) close_range(r0, 0xffffffffffffffff, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) ioctl$EVIOCSKEYCODE(r2, 0x40084504, &(0x7f0000000080)=[0x7, 0x3]) (async) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000040)=@t={0x81, 0x5, 0x4, 0x9, @generic=0x9}) 15:36:53 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x13, r1}}) 15:36:53 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0xc0fe, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) [ 851.653369][ T7006] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 851.667635][ T7014] 9pnet_fd: Insufficient options for proto=fd [ 851.708280][ T7019] 9pnet_fd: Insufficient options for proto=fd [ 851.772448][ T7028] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 15:36:54 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x14, r1}}) 15:36:54 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) 15:36:54 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000140), 0x240c0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000)={0x9, @remote={'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', 0x3}}, 0x12) read$sequencer(r0, &(0x7f00000001c0)=""/215, 0xd7) (async) close_range(r0, 0xffffffffffffffff, 0x0) (async) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000100)=ANY=[@ANYBLOB="4132a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) (async) ioctl$EVIOCSKEYCODE(r2, 0x40084504, &(0x7f0000000080)=[0x7, 0x3]) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000040)=@t={0x81, 0x5, 0x4, 0x9, @generic=0x9}) 15:36:54 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0xcf00, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:54 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() process_vm_readv(r0, 0x0, 0x0, &(0x7f0000008640), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000040)='cpu.stat\x00', 0x0, 0x0) r3 = syz_clone(0x65248000, &(0x7f0000000080)="b7fcb5feeb170bd23af76650818c6217f736fa6909e104d462025ea9f150cfc95ada0f8ca11160100b75e78de14c8fad71f743afef7eafca6467b70cc862b8b6c3cb4583b2b85a65d582ac54c3aa4ef1644c66e977960a2795363dc360c7ca1c050c86f95677e651708650008e494edc1c87833f2f6e7523d9486fb99ba80919f0fdbbfc20cbb4ccda81a9d3c075b4fb8c2e993075a37c760312c8f033d0b2a5666121deffdc54150727ff8ea51cfab009a2f77107e18d0847008714aecf0d36a5d3fffead26359af37ed9a051bb37723dfbdbc3c62b6c0cd7517abf23dc1e2944e9b18c596a02d88eb497dae05f52b9357811864747706098", 0xf9, &(0x7f0000000180), &(0x7f00000001c0), &(0x7f0000000200)="781873bda11d72d8ae9618b87653dac46a93d893") write$cgroup_pid(r2, &(0x7f0000000240)=r3, 0x12) r4 = getegid() sendmmsg$unix(0xffffffffffffffff, &(0x7f0000003140)=[{{&(0x7f0000000480)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000000700)=[{&(0x7f0000000200)}, {&(0x7f0000000600)="746fc25a05cf559fd28808ab507f9a4ecd8fb63a13074277e4f377f1803dc5ed9f99bd8f4e34a56468c1f33934d6e785ad0a74db9714d1f3b8976d6bd92cf282934bb4029323c787238742713fe3f95ac3babb6b2eafe38e7cefe35a635a996c86e25c9114f5c17d7153563d7c8ef402990da952408f1409b59933b6d1dc6697744ebf42b41807cbd5fa63fe3901f24363010ad952f2d1467b8c38b24704866faf28419ce72e25545ab7e13081982c603d3c769f66a063f0a9050f17a940d899a6fd5dc1b9", 0xc5}], 0x2, &(0x7f0000000840)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00, 0xffffffffffffffff}}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x10}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0xc8, 0x4080}}, {{0x0, 0x0, &(0x7f0000000c80)=[{&(0x7f0000000940)="348fd70962a7685987694f0ff6c22ab6fbdd9345242c90afdac9067cd9ba970139c61d0052435155df39c3b536d92fa501903a871ce0b6555e64bcaa3bdbd6615f36b9e5c5a264db5ad56bd5cca40056f853e22bd257be22586bd086e87be11d604df025d180d8e9e9713fb0b4353a75631e7a73b530d072965288246180c6a548cea0821f522c5eb37d716654a734b11190659a4f4b97f23a86c70cda8fbcdb3e19a495cb0fffef84d42bab8d653775c083bef26253292b028c6ef87227f3eb4df26371d0fc2d50faabbfd3565374", 0xcf}, {&(0x7f0000000a40)="ab4ef08996cdad537b7c7a56e36776eced5e8dab9cf0d275effd91d57c0b649e3148a98796346880a32cafa644107bf283207015c057936c5bdac34e4d7541a15280891fe6b4852c181f7a1957ea1c565a8c6fd6f72639a6a0c17d601c4e2c5fbffc6e35a92f6a4147374ae355e5d8a258038163d135ea65314789ca0533bf69b7d5383999f7062e02bbdc27ac5ae98ef48c90e5add0fbd74b3a6deb6a9670d8e6d44025001b776fc526d4a3aedddb8122", 0xb1}, {&(0x7f0000000b00)="8b6557c6c1143e243f6d33f8593f2a1f40ddc0ff5f25b0e95ae63d23fd0e6f8ed23e2eda70fb678fc15e4074372b7dd3cde08e98550131380b582794856f672e8de2453ff8c3ff0c28e18d77080a00b30a828a548b2a11d1a6a3c596e50e92b94cf44c646dd703cbd6072cd153c333107ed3a70c713f071eee", 0x79}, {&(0x7f0000000b80)="769f2f18919242bda625c1e2cbeecd0e9a0235a2f84d0ba41d1d65752de8f4dc9fcd86989bd4d8d71f45fa09a63e9a55a4a89f219da6c5d269dc06b1d512d8e52b64d6f6a91a5eb5114c38450df343309afb8ff31ca594621b08032f9a3ac29773197da0932061553df97d07dda7387dd318b82094879a025325f405eca45c8dd83918927bdf543a25fc000449b06e15093fa138cee9c91370fdf015869fa4edde1fe18efb9ab22cd52bcab03f5339204ecf662db02ba9ff60597648ad22ac319908ac56bdb752ce490a376cae6e77a1073a9f37a12435cd645944c5b170b02efa275d2c11befffbbbdfd24583", 0xed}], 0x4, 0x0, 0x0, 0x4040000}}, {{&(0x7f0000000cc0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000000ec0)=[{&(0x7f0000000d40)="ffa43e93af7090dfd8f35943941eb0b5194db5ce19e1317f6bff62f2f3f9ca787371da811c99a02b8f571c66492754549a9bdd711d2a88b332533c11701cb5d0fab283bc39b0092dd5ec6c2a119a02e2c0f37c5688e6c7510a104f4ab011f03ddf5750a5dcdb1417fc396354194d7975b812d5f1f9fe920943efb047ce2e3ac3d085115319031b89466ec2c2e5209b7170e055e92252c7198ba2736eb94efb5afac8f54945085bc216587a8601c9b5e7b152770b29e12d", 0xb7}, {&(0x7f0000000e00)="13feac03f53ace45e1df1dfa9306d92eac71342618f41daee64a89ef996389b42a9cf8ebf7e2a27e8333e568096d24479d09d2be5f216bc92c2cc1db3039a0c32c68db61eb0ed8d7291fe78958fce4f2a1148e9cfdd5e937af97ba43f5004707813c88d31774b42575965b91e93b801e09e57c4784f58a45177d47b37faebd49a311b2ae952b586571e59eee7e4ce742d20fb97c8df4d718a0708f2627a95ced7efe6ccf4127a4a3be6b239780ca86ac099d5654", 0xb4}, {&(0x7f0000003a00)="54843999b97be29e94d5372df06cbe70c2b9138b4fa33ba9648d570da09716ca825a232cfe2e80603d17dc209b31e8aab5ed492d52ecc2a87ebf18021c69045d2963300bdc7b753fb6ec9be75707ae65b8301f43a6b54665ff499b99af571a2fd332853baad2cc1e6ba98bc66f4b15f422f896b99ef8d804c18214660b5cf5d2b80422d8d346284eb34338bcfe938beb1c097f65e12a00a0ce735712dac2458521844bcb192261a83bb058665ce5080d56e51e0e5c4a309f7ea8a671563770b87ad6e546898b1198ac30c8e4780264c7d0c8cfb172e5b408e7f52a8cc61fdd93180c87056f569d1f1a42d6b78d348c9916ac50e02006009db531121c1d855a745971d84c5417ebc9e89ffc9620cda27f7dd6a1d239e40b3abbfa1f5f814506594e34d63d1403d58ee576fd73c27192c84e3f94d3352c036dcc672976227df2db270c752ff4a4f7d3f7c9702af359485baece3f0c20f478aea20a05e860cdbfc03aaa2a1dd6b0f836164718c9d472289f40274b885734193ae02d8fac62e1bbf54a0b1ae980b7837b782f3c63616656bec801492b33955c81c939440272e645de63273260938e09b5b3cc205a0814908a6700a2465e1ffc8f54ace57e7f5103b7f3a06f0ea8bfd3e4ca1ba1916938daef3caebc4e50f6b05836b6038644996e2ef3fc8aabe1ac85773450d08c78d4f7b5bc37f4105d6b3b90c02ed072b5621dc448ad6793d6214d071ff2bae633913a7fe9efcc693590970ad3ce1b431b1557e896fa1e5551e8a254deccaccdf4ad9d6ccb33d2c5bb60ea1761f5307a00b748aa69becfbbfbdf88f1ebcad4f9b74a21969a922f0db0bf2aa4dd951fc45900fc9de0e768f88703930c84da37f6551f3d827a4e3579c111595dc36e54b961ea3daafa63534ab7d8945652bd4e2bde4a8b71e293386dd64360023b913258cc65c48021f80c26a7a8d5136e65219c09204cfd0e826bd816daf409fe4e65cfb2234364bcec3c4c192a3e6839e07354ca944625b08a590d0681c49567df81aded5e0b92f35e868f947945639b6f730119cf858a3773616bd5e14c53eb8c63aa4fbd5a183a08030e33bf13764019952d57be6f74a966bcc3de07c1ccb0c564101ea44ab456cf3655f54729443b9bb2944680dd27b165ab913a06f08a49085872ecd240b6795238411b5880055937acbdae8d505e56b99fefc1fb7d3e23fde7f17e12be7a0772df84249c891343d92b4091fc7f797482baa1dd923d4e07a339b83b5c798bb6508b4a7c96a03fd3c1e1172af3b38be98e378976bb4561be7c3471a8d126b27d58c32d11cd1657ccabbb25b215c0734e60042d1a1f57781d734d8269c9e186a839a041890e100b5017183942dac3838c0875938132651f96c88dd636868a9031ca73d9c58afd3dc5a442e313431cd3943d8aba25f1fa0e9de071e5e75eade8b269d4f5f9de9700200be76bbfdf47c119dc4e622e2f4e68232598157e5b75631418746583b2eb8ce85156cd49f8938663121d874ca59f60fb3e21f72db5aed0233b108d3ec07d25da1995d047e488fdee6d6396ac56e941342aaa6120cc51980cbe4c76110f039c31dde41b83b891a86ad3dc1515bba75ce15e1d4756e9e4167493d70c8a7fe61b1bb4702e66d9c844be881647ab67ae0134033be2ce729d1d4ab8493269ffad302c9276ecbbca67c045ad6674ed3c72f3edec701526afb3a15bb7588b31ad2cdc52546aa3a1a64b5bd4ddb26153e26bd479a5d079248084bde7e0522d6b1689b8dde5f36b20c1f86c246a38491c258d38cef8fc0f48d8c33dcba1633163fa046873bf7c7a06335cbc6b1d42eacfeee8954f86db998f034404ad5529688c6c988748967a62a9c48025ed6e267be64847536b69fe442c548b87e4e9a1b20091083bcf6f403bc6b33fe54485a6e66f8b1368b13ec4e48ea2fdc205f17b9655c0cd295ac957021f9040fbffc9822b7dd2dcb46195ee02c0cd6de777a129d15c3f00e2f894f263c73310967c202412127a09302473275d01a68f4197f7ca32a02b6c0839e0c1ea6f1ed1f4d6eaa80b2de63ed02e1384f4fe7a456e3324328a107650b5cd192c0211a62928231559361e6ffc347f8c0da5001a3201ac60282ff8f3213f965abcfa6cd80c6e4c1e6ac9e9b177473511569c3d477476c5e7984a17337d5ae48a1eaf25094c129ed0ce7e51bb7322dcc141e644e7ba04f50b5fcbf9e0f938ad67c01e735287d10c23e9aa9af28c2e50d66cb0e93354b2f06047ec06e3860df7ae4d128749271fc46fa3c6a4fba0a61b4154279a749cf14f187aa0c5068b347499aa84c4d663169f5453aac6a428f04ef2ded55d95f35514742e05dd695ec405b86337fb5453d0fa94297676fb9ffb21198b2019760434d18dad63d28f9fe44aba446f4189a37daffa8e7688896da032e342e1b6c1b7deb22360ba1a30836fad132f08ad9022b0420f394746b7d33114ea6082ebf6bc9ebbfb22e3b5048a17e8f0ba737ec85ff08ac2a8d396a7f55643d13c8b6c0af556279550d4c996e2a3daabfd1167a407b9232b5c858789276a46549f445fd8aba7caf75bff2b7e97c6774665e38d8f438fe2a86db2ae65b572dd7de1e59ef7106eb25f5055c124ab691344418d72e2a0791c29aa6412941c5405f4bd96eb4b87f3c127a106c1a864146598bc5b5bf731070f91034a8ead9cdbba5032398809da116bc8bce0165e2c7187c855889adebbe1c33bf0154e24bcc92e04fc8f8c87db38ba9c4729077f376f6a615552d4585c48b978731deee6f851220f9fd3113e4ba96f2b90e43756b3c76a8ae56272f7bdb6a7344edd8cf7e4e5059b15efd61a7899526ce19586469acbc6074e28b5fc8c38bedf0d345dbe34af8b0f4ebb1a0e0af6e855f449ff03af2e3705bcaca93effcc40d0a07eba076611b75fa0fc8cad133bde55b66cfcd73ef4837257b1ea8800cebd232d7a6e28b2175284ec65febf91eff00bd866a5d0a44bcc9a774dbdaa665c8d1c293906386be07a69e17ed4e6586661b473c29790ee00de23a4e29f375e25c38fa5f3c134ca41d5a77f004216fc27136e5cfc2b87e549427a6ea68c10dbe734547357d3a28c7c47f4793fbcef90ac410b28f7f8d431b4777b1784d9b4a79fa75e62eb25a82653b0bf89f0c7704aab61341938237a1a6ceacc9363a97454eafdc3d55688604601ba496042f8654cd22bd63a2c46eabbea9d68d310432aeb722e7be258912542bce55227679eb9305ec66c43e0c4fda27f6ad07e8f44be8cbaf076cb7dd36ca4e21279e7726e601cb1efa08abbaf3e771424e6684d8cae5d564b189dfc24cf0853dfe4f542a7a726bbc9df07e27ef9409b080df86b2e5db01cb299de6f0d9b26e81d0925e458b3018df2ddf0f2d0e8dc468c787b4823dca07c92bd3afa4bbffa35557e6703ba4adf281c1f8fd17159fa41883b8a0c8f86a5dfcf81200b61e0fac3c623600d9e9c7f8d4785a9347b7e0ba0c08981eb215d68acd5ec6f3a8b152937a8351102d060a768c64864249389bc8cec6c1ae5e7f8785a3c647fa8e6c055d5bc1c061c6d8486c0b2baa3ecb5b4d1ceca10d2fa21b3460f0d1beb895003b4e9ef9af85f981e62a50e75a4ead8c995ad1e3aa4fcc0fa02ead7398a31c6bc4ec58e09a390ce9067fbe5815a03d386340e6cf8dc596a2c17c4e63e7e16b293237caf39d53e680448b0c32cad2343bf9ace5a2d0caa3f34e0e59bd71465a1b3a9cbab56c9137938549871a7e2dd72bcca5dedd9b6cf22577f425d925babfa36f993a52c7407f637187ed2482a36d18ab47ea8ac2f528cbb199c4c4a99fef924704dc674a088cc217696eaa8e7c6db062cc75e3e711db704f90ca970bfb06de75f860aa10856d179c3c96149ae07ca7a16075a4c17b13a2e866bf86c3b26595ecb92336b6c5dfbe41f8cc89960aa30cb0998502ac2922c486bbb152611768e413119c2434f8ee9b160881a3612e45d82b72c65071ed1133fbd0a037160ca93fe1c456ca72a6c6d0ba6631ef172adabe1293992226c4c04237b65bebbd8e2631a88ee58cd3bd4bfb6fe429a216ac4016e7ec0e5834a18685376762ba5853f49867b80208295ab646f93a651deb7d9624432149c2ae50dd105f2450e3d24b549169fdcd7d54c252f3e096fe3e84e0ae9724a1e790e7a00b6548d63976f454e06dadd93639defd7fab276e27c532c18f83ac0785abfdfcfe67c3e282fc917f46101ee4ad08422c9d1b991ebe99a628f99492debfe86ea2b3372f656879b44fac6c5b06b86c250d2fc1957a38b873dad8053a053cdbe78fce4a1c3ef0de9a4c18b2a8fd0bbb037602fabd5b240bf5a8df59ae2f1a2442f71eb525d36758a709efa86b95f61770aee32bba784536895f4544f8b08b1878c1264e565e2c79d99586e01b6e555983ed9d18ae42e2062a78d9735e852ff2ac75c8805c60c5d86aabbc7b5586e5bdde3e237cbf985ecd0905e08de339abac57e56a666596be0dc107e95b109c11d3fbab49e3801d8c66940f83c7d250cd4b32eb7514602efae61fe019e0ceefa574f4ce304fe0450904493890da1a938c170482e0bdb9812ba91b8cdcca2056bce23d259073a15afcf11a689b12b5edc238753442051fbef7e45455dc692dcd318728ee0634bf1c89fb1d216857a445818b515dc8d15b6a4ed248637d2f0a167c76e47441e5a37ae97f5b07fc7b8f1ee0e2dceef6529b77e23006fc8745420ec93ab9b01ebaf1cbf7f24913b19108e14ac7928441db8279ff18f8fee531fe1be741ee588f683712e7c2848c92477990710182b6b223c45f95431d935cfc84eaa964fb9b10de98ee142706b083e7ee2bd7679aef721f5d5fcf74d9a235d2523a041e531eb614cc9785c5289bc5fbfea9be38a8cbed7199ebf939f4ba413c46c7ed91088ed6d4f899d101925ff6f1dcdd47da268b5377b742ff61684dd0f8921caba561bad9e9f81eaf1716a1b12ffb6a195b431a35efa7f24edf4c7f0a0500835b170ac828329c1ded7cc502fcf10b156e193724435f0af8838e4ffd8f1630ea7f6078c108f04f832f81a3d7f719269fb27a73d2dc15c826677aee91181b602c27231f6a0a9f614a119858f0811a1401e727ed7cf73e105a35ac41e5800c97b14d6fd4c255e745bb2272e3c0f42f472af7cec1ac929ba737f1821e9d4f4b44855b748795b16f7ef86b9afbeced0b1baf1efc5c0a5046b1f046bb20e658ff8de44358068e0b2c97929658c41ee73e82dd527cef796d1c72f9115f5abf8bd16a4403421645d49bb47be223b2de3dafb166ca8a16c11f3345be724bbd5edb5c78c28b161849f80300161ff87748dbb4323dc9039adc213f80a62c601ef00cd1bc0d3e14f69cfdc5fd3468d2eec036ec65ddde9e027fec986197040d6cdef3cbd0b08a62d76774239413fcdcc6e0d799a9bd0173e3698eb2717b2c4b0e8092177fd381ef9004567d70b52781e389a3ddf93264ac57617f1a5e692e75fe2569bee745890005f3a1a65aaa4552cdaa4d3452194caecd9da3a141949d7ad660f00e35c3a1ec331382360680a74c8a0b18ce5a257828637de84ce76128728773323f09e4e9d8ac6ab55202a9e28fcee27761d0c8bbe5dc58599da686ab8f47b950e55a6a1f30c57ee1a43f6acb95ebfd06f571eb459608c869a8fb59cf0fc71fcac29a6adbb625279fa82159e578fc3136c988502a25f58a694562df8ae99abd1b2dfe365c1c2240e0fdd7066b550be4fbfb7b7a35e6d0e40e97b1f67e5d9d200c7db4436ed71cd954d53242a", 0x1000}], 0x3, &(0x7f0000000f40)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x40000}}, {{&(0x7f0000000f80)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000001340)=[{&(0x7f0000001000)="23fe63cba31a12acad268e193a7b5d1158c69c2aa79cca363f9689b502b9a4d640677b667063347db33cc2d1081a5ce19e3ec9cc30edd81397296183571b8f00cc74a8954ee3e7ee904d50ce90e0a94906ddfe113627b07a434c62c958e7971967c6ddbc37ea136c08a841db6827dcf82dc9bd1ec7f50e1d5fa1e67f072fbd3636c9e00e77e5bc1eadc9030184b5dad2738f88f418b4576022333b4ed3c74372754f0cdb39ad6c65be6398d4831e4ba832630d196e9c6eabc0e5e023a2d47f549a9a9bb32798df4f4d7132e8ff67aa383dbc0034df66da0513720d762e75ec0e32220336de04932423a2b94ccbd2e69752ff175d49b1f7d9c2f80286", 0xfc}, {&(0x7f0000001100)="f48d411d21c58f49a89babada0e815fe48863e44989841fc", 0x18}, {&(0x7f0000001140)="cc6c42c4d4de49a00e2a2620a9de7ce8c589c6044869cf3a498fee4967e66943217811d8eb493b7d34e007f6d24c9a8b1d0790696ebb5d4761de699ccde47a5741d91ef80c4ef4bf470bb669811a7b22c6d2a196530c2a9c9939408d0921", 0x5e}, {&(0x7f00000011c0)="0d4cfd8ca40124d225454ca5e1565f74c5dd0dac47b7edf4bb70d5e028d472b940da8cfd97c4e995e50608ec9a6aff5fd720cde51664ffc68e277b0bb6d050ff0753d9873f3513ea7723a9dfa4ac871d2d5f2aa87d1b9ae361566ef2a4636f24a504f69d9167332934b92abdcecd229cf3341f9bca8b3b9e38e0eb9c0f33b9560161cb", 0x83}, {&(0x7f0000001280)="20c24981c69460cf4e1d018b8246f55b1ceb26ed121f516cc6078f689bfebd40bb87258c381a78548ed1e4e53144aa6c2b9d4e33d98260e96d7918f19e442850c6196fbdd1f88d3aaf89807e791ca5cf07547e5cad507add800ab4fb266692b9c01305f97c487a0a08717c557b0a651490e9efa7809fc0b005d7c88c466c9374a503099c740bbc5d98238b28a9de", 0x8e}, {&(0x7f0000004a00)="f102121d603c0ab7e3cbe06c0e79bc5f83439f58c4707524404a2083d50375c3facb0db68230e7cdc8b7beb7e64cdc42bcfd783be7145e112c682e30d1b409f231b26d32c73f459307255c1c60de47fba95a46138da06d6770a95adec81121ef2842e8108adf01087070bb7791101a9816d7e64c505a72cb8eda1fad73e8239c3a31e6ef725445af71bfd50ad6e190f6d012becd626dc39eaf07f712d33b7a41ef668b663d2eeb6205ff59d13f77cd6f617c52c6fda502a3b945ead835962868246220b4aaba853d36f067966eaae6ed281a0ea656ec258a20f3c9fa6fecd0fe59ab47f5de75d9d774b341295a530523ba1010515e1ca9758f9ecdd4af3ccebd35f153045a74007e11346314f21aa818abf8f9e56afac827bf74354f286bc01e3eecdf6c3c3ec8b7fe5e422dd1cac2bdceb0358ed1fe52ad9f6a4e12c410e8767bfc8b825cbe66e21f7865bbd5d2d9db1776ff12131d9eba59e532096417cc3bb7192f273b621227a74a3558768cfab6d52e4ad5abf5de61e0913da08df510e0263e53f20220ab72d3e2b3a6eca8fc0e145ddac6941fdc63ddd1ea7e87f27b73582681b171c5dce744b3fd94a43b6fa375a89048350a508855391ef59ccbb26ba84267eed6315f59a41b10a098c4b7ebb2a529b5157a09a23fc272ad8cc9c7d213162c2df8c2b22d1a888ec7b7afa75724e5e3616e3203aabb59e585d4c77fa372eee992b1488a228e803c11fd0002e72cf2c34b91952489ff8fae80b9c221fc9607a64a60487ad2dbbb9b9be2e12cd424386828e74747393353da4c92e65bacac7631d44f81042a752cb0baa638b6eb7f1871963fba56896d482144e6b89dcade2a945f4f1dd482853a51408221774f7f5771f498b1875271c8cd0b5beb4ff482e2e5cd0592c2a7199f4824ec6a37cdde9e7a3b066132d7db0112855bf59b2dc1818fa105dab2e38839ee4a5dceee25ce9f3a0f51df2d4d919e92c6a5c52a97e65eb91b283713c1f810b1b006b663c9438e8eb84949fcee33c4c88489bc60f11c99959b0a5a2a7b6215cd498e1dbf97e5d2e38e9abb616235119b620231f197beb04c2190599409aa152b25fca237e120c5b5e738b4eb4367785972a82569274a4da76e0616d35a7966251c2ba0af4a16a4aefd3685d39ac5a5b50a88b2e0857f6b2e479dc01ebbec757d35a0980a16bcbdc78ff1f8f793c8420060f674f5ebddd21ccb0a3f3967bdd15c145e8ed148c3d810ff59174594f6bb897aab433fb63c5fc3ae32616885b1b4f59fd51ea81ea5b770b6cb5840621167b10d35d5e0b3c96920d6f96c43525040bde85834d1b3a4c093a2bea4940cc8ba425262290aa53efec775716406d597c6f60853a07cffc6313365100698f35236b13fa516968a07968191d9f4bbd0d0e76ab52d85ca744ff75f2abbe6be074c4d93553b0a9118be6783555477a3a61532a63f9d71d566404ef9812ce0e2ea43c90ac7f0af0ddf2387b38b18980d905f7819f2365f111bcc7303bce910b9121cec14b2e5f272c36043d2a6c0e9b2ed23546c6cb9300a046b63cd9c7aa16bda15d2fb51fc1f3c7c04a65079d87b1b86140554fd60f95c22dea01ead612ec938f66c5215d67f8b67506a237047d4e9214f91566b5bd81764efa587aaf57a9a9cd98b00888531cb5594d68cbf38d082b58ec2225745ebc160cb3a005f914ff5b19a7284a3a0f6ffb0dd391fe2c093261a461afbc574da7989fcb0f25f27f8b7789d65d252f3a394fee1acff39f7d3aeb2939b5b9eaadde4752881d187f30ccc96d1e36cc5abc8b38cf6de9864046dca46413b98f123292f5fb7f876d53481c43444a7f94c04c709bbc4f96921b83fa2dafbf479117d5478506eb240fdd41586415428fda2ae97512eb4620f0e17148c1c27e935a3cfa589579543d26d61214be7ffbeb76f9eabc7c8b4b7845df60faa15f040f7f8f333015c41ba8d882dc3bf83ff6d78fd23c920a66f850f25c43489439f1c887db685c9a20cff685af51a6fafc6059bdf1e3b5e96cf1dec256b1435871156c0a1218f4787125c667db830634bf88f2219cb3bd79e33e8060a9fcab7b383f786e232713fc389ed3879f905271cd5cf94a708b490b5e8c05e25c18f7e682c9304a8709cc13ab65163cb913835bf1944a890738b91adde4958caf4375e1cd78eccc4fa7c7b574c8a81570898799201848efa1a2ecf6e5e7e6ee73a3b565cfb3bb04cec81c7d0edf85e7a285133f411ad331f2814de7fe7ef4419f190e55728bfdd2a27790ca025148ccaf5d51bd969bb3e71ae61be47be199926e505c8611aa6fd54e173110717ad38b03ed8f9eedffb08e7a7011325e4f546a5213b541efb185faf5d35e5ed197341f8357e46a62fb4cf6e6f28482ae6dea52843a80892043372550f283fc9fa9cba67c6d6ef4b590ca8bdc15d0b4c2d62d53ef8d3b678514d8c8212285db53f529567396803ae1fd60d5d62bdd98f2eac5e7f4ee32677ae2c3bf07f1f18805a706b539f5b2c57f32d1c8ad93cf1551043119c9b14edc4813b9bed7c34eb5ce8dea9e91ae9e8f98e5c326cbafa2d59916c6c41ea2fb3c0acfc4902d594b8cc1f50de95e0f1b3f4c2cd8ea4ef817fa87cec32564dd604c68f6c4bdefd0c890701b8773726bd27b63b958588f2db05027fbe799138bf1c5d1402ac629bdec1754035efcda7a9390c0914f3021ceb2fd60180cef1f0e0b3f5e2580c853c1f5281d724f21bbaa77da847f8bb0e46ae639a502981580cc19a6e9065579f14f980de6db84c074a8f900851bba31000d6f1f4807efab17671ebe08c50049cf1c2ba4d06bbeb0302b756b6e6c94ab04c33cecd3a4f775a9bc3aba2cba853c3e22c60e68e9606539abe93ed7c490b592bddb6e89d4695d668d5e33daeb4ce3d1a20c303b177c0c9ccff5fe653a455672953d31f44eee948b4d29d6cf1143e64def9bdb646c9e66647124b888f41a352b76649a18c7d759f255e59e087c776ff40b0bb36fae0b7c48e82961d0b37fdbe698eb968515a826b6e85dafe4507597f056e33528c00158129b2511de2a2fdc7916b4c1ff4ae1c2909fe063448b960e083e3bb1ccf60fbf64324d4c5a21678349a1a9e39711b3ee4ab9fffa5682523e287524f88aedcf4762e289a042aced70500d2413ff807de310c12f1aaaf4f10858312de08a1b82f388a705fcbdb9438ac9e04e79e424c600c3e56d652ce4578a7e53221e8407c47add8e269db569a17c3ec2b5646c534be4afca3519720ee9f1b826ba6b08558ad5bac57203d4a56728f9b256cf16687b5b99d8377b134e026678f86091271da5623b1b780bd42fe72a122b889ec62a449344a6d8afab5cb312271cfe6a311f8d114fb51b64d0da3524f3b3206cc790c7c52d87c471859a62579f355eba247fa449c55577e685a7874147932c7c4bef94200b0dd72fe192ca4d25b49376b6fd243fd1abdf2c902d65e5061038c380901b748cd47eb6431edf475402422a0f1e85364a2d2563b3aedae16be8d54ce46276e2c354a86ae06d73172e3c1488174e7d486db461ffabfa3512c70b3e9e0896faa20193d654223e81a74cbf086bfc335681bb3bcff1d4b8954bf5648cc7111c2d5546e7351f940ae3a2bbd6c0ac4fe113c08da8caca252c3ff9ff27360262f7f0924cd9837ac8e4ff26352557373ac518ab871f33a5d7a7e90739b5d534461e934f1e65d594c6596c154cd839e188268f8e3f2de5b0643c1255d0027b784eaa6ce3ae9de8e6401dce16c70fe36b8443ad5495238639abcae0e4ecdc67430913143f86ff2c3707d99dd530e37e90e8da4608912fc650240bd7e5b38a5eac4e9e571695c749d7a9179d59f011d3a8718c1c645cb6365f69c2fac5d04fa8c73fa7454c1e97cd19c42946db384f1dfe1cf5ca998df87676851049fc2dd30e03c2f9111de85e27b67b41f83d5102cd0b8408466ed44ee0308589c1db48f6a2af7db011913bbb36167426e6cdc11a5d17b4e0538037d09787bc817b43afefeac02cbdd42491acb375cf1634883b2d17c01df5fb893942c631341c7fb90673af4b5c00d5dc90e474608a3f32676a5bc4694c0a9960dd45038b0e77c5aae8023c9634d41b3f48743757bf5e3dca8c9a7d83ddc98027b910a1cd9ba736b7c91ddf09c3ff9f472cdc9e9977ae3169ed5d6d9e60ae755f4aff0af066eef3b000c98234bb3d6d9aaf79df61bcd71e0f02b1f48fcbcbbfa6dba12c1ab1de3c811d107eab49395149ec2127bbe9dc2a8a0b2ef9dd46e3e11a91968e52c15b7a9e6e64cb59eda115c5a7552868194f5d6fb0c159c500e738e2c9b77ab7e3e1370e5d99d65d9baf8cd3335305234f64d115ed8b20a1ce02e66bbe611ee9c55f0842b69667318a3bc326e4d04b87f53f98a98fc467f21eaa0641e8f39c6f6ff4390b9369bb10571897fd1d1fa6f87fb5b3cc681eef9b7ea282811850e659192f7b27cbe722e575695fe04802549795e21a8171b8be7c87589498d8034e6c83ff482ce1b29cd07bce5bccf14c9b7aa28add7bdd205509dedcab26566072664160a56b1fc291a3bcf3fd83c52093c159d30440883aab1a6b4acbacc8852a33adcf3cfe017e3a333a28bf5e44b4977c287ff4f391007bf2eef69de66d726ad376dab117567271f2e05b137809bddd862c6f20bb81ecf5b42423a9a6f57db54c63f13510fa0f7d9863580dceba039f23df714b2710213247e9a803d98979a26ee64a2ab16596526059034f04f38b8ae3131c2a4091c484843744d5412f6b56c0983f2bc67c8dc82afb3fc7ee9000ba17b168218a1e50654f28ad777c4bfd402c7231810cb30abe5d5b9043be3c4e776a8ffffd4c42290ed7c5d8f987c0ef9a11191125ca616c78eb3a6b7d36458b890d72b8777359f982aad66757951fc77dcf871243e3ef7c7ba10aa4a93c0adac10ca583c81fc6e42bedbe5654cad8c8aba2492f7dec52c4d0efee767a0410ffecd991db99b9887ef207fcba50687ee67223236f37be11600a4ff28e3dcab2fc1bd271b834ae64c400d2a155ba6e6704be3475201f21750421b0e181ce5920c4ef622381f037d2ee9f396422fed97fd61e51020bf258478edc7b813ae1f00ab1259c3b10c425e05f6399443a1dd09b81de4c3e9daa98b56d1e62254d1a7c9647d3701ff59eec97d652d912242281a61ac89df8e8667f13e4be00fea570bacf41109f8153576e97e3bc7c6041fbf22f5b384cb99842a3d2b96a8913990fee680c678f50b1baa58ec95e979530ad6629e1fae8f1abb41aed1519d9c37e5464b4b6bffd854adeabf2cf17ea538d25b19cf133da3c20bb93f6e9c9a1570e46acdd2d60418453a0ff9501316838831f52175f6c60d8ea087b7c155f7dd6588751a50a5124bdf0db14ee6669d92c9da4942b25625d33272354610667cdc69ee97f8f0ad618178960976c101e8d0bad2e86ee4b089d31507001b60d21c9621381339e075246d0f6ff9358c381bb621f114f626584ac66fc282a98525243f467a2279e69180abb6f493c85bb113295def41ffa4b843771550698ec157eb6212ff2dc85353e980f440f76a0563c97a9028efa2471a006d9bc04bcf4ea44058fbf46ff7daa4e5b58d3e8d478673d91dde8da2f49cedcffbe8c88373356f449c75d1f3d66e409ac411335d27b425432773afaa061f4e3323f065791b6b12c738a974b6200145bb3da296d0dbd05c19f8a4096178c674e8952ba2e026c1dec7bc3b5b954ed905cdf29506d6274fec035d52dfd971922d9e836f1d4ca915a17647", 0x1000}], 0x6, &(0x7f0000005c40)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01, 0xee00}}}, @cred={{0x1c}}, @rights={{0x38, 0x1, 0x1, [r1, r1, 0xffffffffffffffff, r2, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, r1, r2]}}], 0x98, 0x50}}, {{&(0x7f00000015c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000001740)=[{&(0x7f0000006240)="5b50df6c0da9bbb178bd0ee79097ae96596ab24cddbc301ee14cd153af36cf0e24b204f1c1144497f162fe43bc28cabaaffccbe3dbdae3f6ec64f44f636c22e03aac91df31dde2452ab55918614764787b9dd50ffa537c6f2fd5f036d0675517f0998b7bc51d050939fbf2771b762eefd21a18b4ce766cec89e817ed7e206d615d5f006dcd69dadc276da10787f7ce5131ed54c7172d70526cfa82081e8b122082dad295b4c058382ccfb47da92759cbfcbcc3f36997106df6165e083afa2aa6771717873ac436fc67db2a796fae85df4febf061e30f82ac8697831daa7033f9a3763fb293bc71966aac16f66640afdb9a1b9ded669d8d1109259f59831cf70c5695ebf4759848ac449662b36e8c1ba1ccfd839185d39cca65a955033f47351bc89c16816ed313694e11d7f6e4e19f7d3441d890bada3126577ce5385cc7855d5b435a93cb0688cf27d8b30e27fdf9e01e97ceccd09b3fe57ba1663856d3641e1f94ece76a020db94115c09e0f0ec1efc9b483f788f62b6bd395aa20a23a7241134bcd7ba1902e03269323f4bea13a8d707c0fb037dfb65b01bbb85bcffe11167b50e45e018f2fde66e9bb7a0265d72f056954f128f62847e72913db1450fe98e8cceb88d98cd6107110e7199ae8d42f9d389082cf6eb16fc0e23ef858ad2cc8401de44d15cd2fb210c7462e2f35726970d6e3bb5b859f7108e2670451dda54a1175b22d6e3face9b079b694af43b25df6e4c1c2440f1b44a111639917974b7a04d30dbfb4963fc70d5887da9905a0be8457e07f769191dc1b67c823399fc8377895b82151a9354b2d4f9bce974b09e856512fee3fb7ffa3452fa984bfd3725431fd03dc758b4cb7a38989f7cf056abe88d1e0caa39a20ee0512686fd5de1de6a2cda6450ccc8d1dced1d867496df4223ede2fa85585871a681ae38760e1817439025b418e1a25e1115ad419a333778cb4515fdeb27dfe5fb4561f8be2587dc8c891e4190e2e006143daa02f524240d1b30181bafe457860f988fe6539084a328f9ea55eebaa4ad8dd62eac5f026fe5eb595e5fb7a86209bac93cf64b94156f544426c977bb4bdcc41bc60112baba9a106d5681bc47eada3ff0e81f18ed9e929740d6bfc877a0b821fcb8bd2479d769b66f535f1cf3643c55f9076314acdff4434c40a733ce827fc88315e2e64e87b635216821ebedeba3e70cca91eea8f575f7e4246a5868764433aa8e31711da743f52b48f88af1255b260f88dc93e0521325a9f534e9db7036fffdd094d50745c51287a5e60203df2e599b409352ecfcb50659972faafde54aef31b280a8559c1a00b08ce2bddcdffa08378922aed08519620a038cae1bf36407574f52f9aa448477d4c886c0f3a9ad3f7edfb4369c483531d817d224a2d499ef41d7dbc067495baae9e4fdd3da2054b9495beb9c3013d7aae9af3e68baa648684680dd2ca91705b5e9833948ea4fca5f5559874622a43926ef15d41a89b8e1eb3e6271bd963098762058f3a6a38eacc645dc4e4807465b7b94a424abfffe8548da5bfa566bd376f1a187f65f9dc592fdeef36b00b09338cd80444f15e6bc76ab7266059629cec4d443f058ab4a2cb05559d41faaf5d5478125f74431feed9620ae8d326cedfc3a58a3b1fc9e02f931fd7c80043ec19abd5e7e09caf0955881f353582a18037b722a29587b1b2ae829ade9ca0e7ddf8aef29d0fe543b62a85a2290c6f623057c6da68006adc6402ae3b53dee3ca0eb78aea15239195389d5769a5cf5544b15ee6c2324c29d2a7d147b1b8d7a4dd9d88e9cfbd0ae0def7628417a668ae61ec3b8ef2cb0e79a6638a0a19dda4f3f02a485a39ec43b142c38e063f809684eab6a2fbf793f0ab5c8720fb88a7b14c61242495982607637be4b510c72f4f23b50b7ed21b4c9e46bcd1df9a95e75c0a79e7bcb37bb286affb1ab7a89bec3f01615bb4ab39624120086f0b0ec7793818ef334cc6615baf3c8c04c024ebd1e070889726f8bb6d4751437963b438f381191ef4ce24f86a94af5cb2072b1b5036f6642c677cfeec6afe5a8ec493f9ecde546d31d8973564e83a0e3917f2bc42c1b4b1c1513700a72d9894550cdce69bb6d5ae68518a217abb4f08936872ae185c2b343f6a09b2657384b1d22b82f01daf0483137cae4b5ba547d8b1fc803bcde1e12a375f28f5d78b36bdacf603078f38939c6a3ed2ae9203d85b6599ca7f8dd2d38e947290d78575afc17c5e61fd2d7bdaeeae3af618781012f689d0bfefa5246e53d5b9de433676e5a11dea00a55ced08e7b749f881b53f84d16636651ffdf52ed40a58181214e61b3ea0165d9ef084b3638c9f46192abf83c8a3fe2ac1aea054f2523cd42866ebe9a7c5ee8c894996c5f0fdfdddb105af92114262b741deb22680db2b3e3e10e9faa9380c370a0b86e6026e5ff45403305b5dc5552e4b204d38b60a1d26db756972eeb0051c485983bb630e16ca49601b70b7832f6fe7ce6edda48e2bf7145c9a852f3826874a7619a0184eeb3ff09201238e075b4bb7269f5084bbcb9e51e0e356fa8733975ed86dc8bf22e651c604bccfede731992d13ff9bc3f330193aaffddf3d5e14d51d5e719ce2451e5ca5fb170be85ed3c707cd82c08c4d94fc2865a2e3bac7d18278c74a020cdbbf889b4e1654dc04a101a60d0b4ff522453bc48f2fe5e85b704f43c4f1e5581d65910555c629dfcca656dd35756e6a058796da09d61c0ae99f86d273fa027816e8d4fb30ca66ce5cd6b5bbd86c4bd06fcf1829504b6c64f0ddf79f9ee82b0d3d8fa7f0c5bfe51460e1a724490de841b7199856952338ca69d41da884383d6b03d07f818bb2f677aed5f0ee28c90c538a07d13791b25fea1a38686268e78cd172b22361a80cf738376342d8816d7ecc80cae92b5a915bb1529a5437967a0d825c520103391bf290117aefd9208c1f8a115ae7f9f39c5124f9c31834e3e9ad03157e5194f6ff0673a5d0c2ed7a89a6dc4c4ed1c11880c9dd13e1c4e4b6d106d409fce058cdad7b95b7480d4f59a9743a6b04b4602784d401d207a991dfa1a7b934f4f4cdc7688a4b8125f0dd15977f7acbad3d177b0587a53e2ea4835810641da4fba00feb1ccca6daa98e2bf6e24dd832f42c0b71156b84b85d7b12a9e15402196850cd69d41dd29a56fdf595ccbd366555a2bbd7e1fd852bbd7f98a8fd7074e1fe33c31619ecdcc99496cb49d82a90a7d7f9e56c7459bb663b5e3984edba095067b9d7e724c3a24cd27a46158f6768fdb0f1344ba3b52f446f6e4e5f676fec2b741fec5bb5ef210781e57585ce31179f822e776dac09a2952ec2495ddcf02ea1dba348146454d55468abe6a2c18e3b2f0c92ae2e7c2f3e9a2d1b39071aa2f4c78c3f64c33c0ed0395e99ea840756c19fa84dc13b24a702c94ea7e5bd22689720bdcab91df671bb336c34bd917b649bea4d2fa4cba7a5e85f57434e4eb279c5992853382e86eee67905357106199cb1b2a12406b2cfd794775d215676f9ee2997bb907a22c6f16f26ba03891df9d67648542ce0fd4fbd7843ea99c1e77b25da9bf75bf78100c1ca2b829ab50d176776fc78d83d9a3323d67b4f6609c54b5141787bd229b0d343b6921cf737a6d0be29d9689009235388b47f4472182e419da4f8a4a1b6f430b81611eb93b75c47a92605c4cbb510948058f6242969adc23935e81e04b9296423b878851ceb136a2f7a35721335fa734e6f0ebccb13ce2f9300ee536e3bba26b466a2dc059ca685e622beb0b799f51fed606b8d9630659189b314a1ab87dc2db4b97db928c771dcac79f108b6be556e1b6b7f4ba018a63e7e7a193be126a3d11a4bb92245bdd8f58ec6146aea6cb8f86401c83eeaec430ceda5ad93f9f2b32d658fdc84ac7bffea335a2d4c1bb7fff6c8c477cf4be32ac5b20b6b3c22f448879a3f9e34c7af5966f5f088d80ed6fd09a6fff8cf06f3c571350c729c87c45a66d9fe7f0a7b5dec12238435a486443f1b58fb130d2ea018fad3d7912a36f9de4026230b7c3a07e5eb7703fa9a607998f1b5e4d391843cb5ccbc8a243987e2cefc704aec8cef7242d852e10ce104712e832089f3d6bfa1d9cd747fe1ef4afb5abe159b418902e0a2359790b1df87b9de7055f9d5102b640415711297de9d134fe540f5e251031bfe97a9293643181933e6d04ae7400286a3620b4d559550ca23aa446fd32a3243da347aae87abea10a3d210b478d45b4cd77be9555253ceada8c6c89d6061286ef399cd8d4dfa5435165b302edd846a699d67825417f80538ae70b2fb30ab8cdc5e8f609c589be1ee9ced70fa96e1831661d32c8e19db113d5cebf020052e400c0d6122e7ae97a2399431fb515ba160f156db3cbb3fc61ea90b318b7eb517964c99ef711b2cbe0a33489bb96a0ea53e21830ac613fa5592e27a59bce0666e4691541c43b802fd762115f2d3ec995396b5bd9419ca5cdf0bb444713ab2a5eb0d657197f74de872f86e4fe27395e0b4a230213fda8f3552967be9978667e568c888acad3b77d66293ada8d03d36190bbbb0dd38cc91483bfc427d579e48cf042b16f0d3dc41c069cb4a3e7219532b9e3e00726d356901f5e7a5365839b2917d7101d1bd9da8060aedc4cc9627332bf7928e007d4de22ef8813162cb14ade7064bdb464ae1735cceb75ba7c9db3147d1c4331bdd0979d83ac184bfb6382a1ddb9e5b0bef9940f90347ca35c0edb85eef1a8319fa06d07aa7895667f9c1d8d6081c5fdc893569085a7e1d9fd3f5024d01fac1114cfadd574fb252bbe3da589ed554978778fb4fec092b8feb2058b4b06c620b038929b6558ac1d088eef052f615b082c7e1194f6ee3244bd09d6d4dc0d48c2660446f88781f6cd7ae76067e121abc871c9942d52995cb2e6d9e7b5af869a57d55693860b05e4462aa191a2ac3097dfd893019d9734dac2bc69de1921f8fa505e46453be300a642509530d5bdc2d7fe13609fde64889aec6158c510fc3bde2751742cf3486a31e3da90d8b09852e129025a9a784254711b5173315fcede98cee3d51973708ac99da05ec38af5c79149e67968b9025c24b6557d06bb0ff782776d6f545ec94c8b0f091fe5e4e1a875e0e1de78753cacfdc9fb197279f5c4071bac75ede4d620d932c8e51cf26aedade595071e95378383d4e402cde703922ecb66ab407142bfe47887bdb415de3f0796f6d2670d74df8c45502833f4cf45707065d049d58168d8c2f7c5b1b236456202516d2609c468252b47268e01424503b3f92e2ad3d2abb774587297fe1c83ffaf99a98223b5d267f59547e05b47d59be3b92a2fa76b87f02f19d004f877d2df5179ddbb23b302879b4087ce8ee0f7e5ea02011993239de04985d9cf437788b458e2353baa6971a51c70ee744a51540dff0c9f13aefbf22898f0cb67ce50019007dc21a9258a0d4f7d74c1f3f644d9a7a860b9dff8d850c6882bd9182fd2e707af834749d4bf6818d7d86b8328945ac165e8c6bc9b64c4c003f6bc6450ea5a71bb704a8d13b1b19693af66a8316f7720dfa3759ebc28d3abdfc057956fb4cd87ef8a503f4001873c87c496894a04dfd74926a73f6ea7fd64e2b4fc35b155411b6e390936da5b394ab2c03725e69245f18327210afb7ebf9d50e984cc07fea78e7c3b88d319946564b6366e0de2f4e2b4bfe82c34e77c51ef7084845d0fcca2ddb861dabf2695addcad28e0a4d105b0954555c0c642a5a9cff282a0efbfb08cc057a3a63e6c3c8050c7236d8f6eca01d089af75bb36a04dc7cfc", 0x1000}, {&(0x7f0000001640)="07ae933e6820e2caae3c6c4d4f2ced499b", 0x11}, {&(0x7f0000001680)="e4e115d8c26205f9002b5a7a1b91cc7cb0900983481634d27d0f0fa045ba10", 0x1f}, {&(0x7f00000016c0)}], 0x4, &(0x7f0000003080)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0xee01, @ANYBLOB="0000000028000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="2c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0052eee3e800", @ANYRES32=r3, @ANYRES32=0xee01, @ANYRES32=r4, @ANYBLOB='\x00\x00\x00\x00'], 0x98, 0x80}}], 0x5, 0x0) r5 = getpid() process_vm_readv(r5, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) process_vm_readv(r5, 0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f00000003c0)=""/131, 0x83}, {&(0x7f0000001700)=""/5, 0x5}], 0x2, 0x0) process_vm_readv(0x0, &(0x7f0000000140)=[{&(0x7f0000000240)=""/67, 0x43}, {&(0x7f0000000340)=""/75, 0x4b}], 0x2, &(0x7f00000005c0)=[{0x0}, {&(0x7f0000000500)=""/139, 0x8b}, {&(0x7f00000017c0)=""/4096, 0x1000}], 0x3, 0x0) r6 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r6, 0x1, 0x19, &(0x7f00000000c0)='sit0\x00', 0x10) connect$inet(r6, &(0x7f0000000040)={0x2, 0x0, @remote}, 0x10) r7 = syz_open_dev$vcsn(&(0x7f0000000100), 0x3ff, 0x2a002) bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@bloom_filter={0x1e, 0x8, 0x9, 0x0, 0x40, 0xffffffffffffffff, 0x9, '\x00', 0x0, r7, 0x2, 0x0, 0x5}, 0x48) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f00000027c0)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d9fa743db8db03d4b7745fef1504ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba5870786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000200000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0281d58638f061f86132a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d09d2fbf06c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bec70d0e0e391ad30c83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a644e9e3d769db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f163330d"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) sendmmsg(r6, &(0x7f00000038c0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}}, {{&(0x7f0000000740)=@l2tp6={0xa, 0x0, 0x7ff, @empty, 0x7, 0x4}, 0x80, &(0x7f0000003500)=[{&(0x7f00000013c0)="9f8c1a5229d29879004fcc112a8bdc4d30d5455a369e95ee42515bc1ea01007733beb5a732544b8b53b3289bde5a989a80e31d9e737e9bbe0642a592bc60df6d56d51946e36c006d7304ce60948ee84d36640f056037f6743898f23f32bc81c8f9bb527926e02f9ca9f8a6be493ddb5f24dcabeaa343d7d926be07b8b35c5eca4348d11cc472208180a3146828ac711dd513548699e7d49a72176810d7de8c0d9c0dd3765cfe66f97ae6026ce934", 0xae}, {&(0x7f0000001480)="b552889418ae220c2bb59f5a21b82bb1beaebf16b2c80b421020bc75c21d981354b74954e4d5a4b06408af46e3b2dcca57baeab1737c362463e509d8f4922e90938306b056f16133f7518001c8b4d2a4d7c20fc78b08d19ced1a0abb2ada737f4c9d0185c535c425405561add0506b043db5c3fb1069fe19a97a9c3a25fe7f8a4bf3830b184471ec963fda890f0e725a8e13768f4d0cee6d85", 0x99}, {&(0x7f00000007c0)="c54bfae095ee25fc6c7676aa64c925208970c75a2bc23712bffcda461b53dfe2af9e1ff3bcd80cefb0cde94cb01222f737c1d90c5fead416642d0acde996439a3ba697a5ac61cbbfc073c659050e6477d86f69bc9c563f41a8aadd10", 0x5c}, {&(0x7f0000000f00)="66b6d157a789e74564d2696e9d545a0563426e1a28f774beeaff17925b715793dd90ed4654eb05ca28e1b4688d11b8fdb5356f96ae0264038ebe74d47fea228c", 0x40}, {&(0x7f0000005d00)="75eab1ea7f105e120aa7179d9005e2ad79ed45d941d6f7620c983d4f56bedbeacf1659b78ea58b5fa2323698baeacccb7a352c7675cd7e328aa396876e73feab028ebc8937feccad9f4a334644c20fa88c46d820a885656a10257ed742dc1fa50ce443187a057c7c7664cf147816e674ea86fbe817f795e576c57776f3b1fcd6a19c9f86f8d5a7ae3f2ba2dc3de0e327", 0x90}, {&(0x7f0000007240)="640a613a3b219c754bf17d90d241bc29fd5d53b122334d737b53a37aa9fc6dbff34437c02de6cb2766a2f36025a6cecca2b777371de37503dfd5fce87ecb12f9030e25946f13664413a4423fa193f6d4e11801c2d93e5062290bf03b5a318f2508ca3d4962340ca27ae1a9275345aa0288fdeb6259e6ebe8fbf96a44322c82bd27467d76578cf0a98487c478f9462e40ce6e5985196e374edca97776069b8dc519cd406e97a1b353f30d7c0864dfcfed76cb5aa223e2eeac45cd5125db755948a73baa7a03d2032f3c1e38553e391fcadfd0fe76c69e0877ffd80a90f249e3a753e0060e4d19647edacfa3f15af43724fd6ddc2c5a0ab61ad824c30168dbde526281083fa5c8e8a53e1762de63b11dd12c6f23a5ab28b8db4fd5008c022dd0cfa08daa60a08fb9d2edd719ef748a925be5f0b1ad36d84b944c872b63277fd19003b576741163ffc8e2c2849b077188eb06f2bef37dbbc379670bdb0318adf2e1a9f87d2fcda727e6a6c44696d200ddf0f1c78ab00fbb3a1b07f1b9199010e20142c9a6963f6a868d2861af3c9cdab66a028c19e7e4f5e14bafe7ca3393223ea3feb96e711774e08fe2b93a65bd5b87938f41aff4d725b36b50a943eb9f13e233f10489ce77a2cc1138fdf2e19bc52643c7b799bc84aaeaa1c04201e6ce2c7ff90bb6c760825fdc58cdbdb3f56009a39a36f96b65b18050fc38c59b6e6b9020ad99caec0eb6fda03e894c236e03f7986889614eb6deeffb2fea00270a6baa8a3d79b1d48eb6d1a68f1e2bf5a598e770e84aa60a27d7045fcd4b03be8ddafb857a72dc859624fb4fc187fd840205c41e5788d95c25b33d06dc06c3a6ac6de51aecf6672df9151a300f6ae49bae45d4d7f03efca99f631a1aa339493ff0933fc0d0352887b896dae3a0bdfa52dfbf5edd84b8b901c379b56d656325492e07afd4b978282088fa4b39f4eff1266bc789f720bcff7b48b067d70a9ad3f495964c818f5dcd8a1229e3c72d4cfad0963049166a31dc67e2b4628ac70aa242250e1e834e8a452ef14974546e2985bbfb2cfd6c4d67643be1cfbaaeb8014533ba90edcebc687767020764d44309b5cd004e3b7d9778f36d0ff1a5aae60cdb72fee45c3f3fa334db5188e21f384d235665448a746a0e77279b2dbf48a56828bce8ef7c8fc3c950b457413b833a9deef51881111f83e84f09dfa0db1628e64bfeeddee41681d9911802ed9ce344f368a2095e8ab6465b1a0cd922cef680e46b719ddb15a3777de95d4a2f1ced077a5339b47a269ba5c0e6d6be90e16f3028e95e795e91efe0392f2d1227797e5028e8c0519f8f9adaac361c9e44bec5a1ffcbf53e19b96aa018392f48efd84e7dcfe16ac795733c7257e87d9ace63fece1f061361a7124b5834d773a74c3bf0b329badfde00c48886daa32c13e72abf0356f3b84e1d6ba16a06d6d55255af4990723caaf11518815efe176c3e27bbd024ec4ca06c13306f6e9c01c2e4b2bdb6e3e4ffbd0dc30a9f07f73df160fb7283df7a4f092491c3837f20d6d8aafb091716631c1e1cf19216c5bc34b666d89137bcff395d60a8a2beb94dd55ec0dd4119a07409b902e4764ca0e32847f7f2e9cbcd451a730db3e9c830f830a8c3aac85e14abda110a844cfeee1d8711344e8eea390b39e013af00a10d82467cfabae0a3f72eacec633d7de878ba9654e0502d558413ce942d37ba7c9141d93031b874cd2f859a793a13f0a9a99dc1d99263097b87c70ed1fe075544729bdfa11375b104bcc871e5d3bf84970312369bed5cbaa153d873e8e68dd47d01aefb2b275e211eaff57c5f7fd8158b5d6a821e86b92db9e46467d1403d97a8de2b88299522efe81c1fbde3d1b62a9ba04b03e477473c85c1862624cb2b4758294c252e3ad44fe0ac64364a3621fd10ebe45bb7a765a9c2195b97d6af0abf4e7e3d2437becaacd54171cc3aab9c253937adbae44f668828257be6079e5e23b6f0d5be79d0d9112118f19b80b7972853d7a71fcbd682f36ec63d68c20086140fc73ed2df526fd2c8882700516225cf838a5d8b261dd6d00889422d99cb4754ffc209d399427c337148ecb5d8f2b8ee01d8ab4eb25200aff5b19af7385550b6682793fa0b08af5111f6db01c24b24a2fb0558719d31f5e4e22ca626eb4364af65d1323f49c266db0ac93c99c5887628af2a38cb996fe524c21d7beabb783942b5a39799ca0d5e07aa88c5ce2e67b47a0900c7a823f8f920bd0722331e8ae40182d078bfaa31b237f0ae7c6505258fb4cd33cd79381565945336a01d8468a1c36817c2baad0d57ae3a34550688ecc78b1d4c96a9625e799ad1c28e12394ddc0b94d5396f9f970d1d6b0c2438f4cba8fe2bad2dc61e74425df19c68fac0127a1ba773ad7fcac6e09a09d1e25b84b3929ddaccfcf538b8e3a68ec8c18561f904e489d05fbc4c045eef717c92fb2f7d4194f5e2ea51cb8c2b4701b76360c28bdb811ef90854115d1b5ec3a18cab01bda14fa585aea42e5a96998a1c2fbb14724cc5b07d4cd56c571198db10d9938a29c14d271f68862099f0bb5f1d97d0c6fc43f2b9f00368fd52e4b25347b8f525ce69e2ec5365702c2d17d98f729796cc36bcf9eca4df68bc98a9fedd86790706de0f7c05950613ac07eb538bc822654b92fa0db57c2ef8a19737834448b3ff9d5c7d2c20d29ae040673a11939e9b2747c683706a49d5c03f844e61b7f07f71e4f07877ace0d91de6e6d393dff23349042013012878d25c01f3c4230a55d2b230e20f8b078bce65273070a2b36569b90a8f72e11c17f133b30364b9e7ff94fb30fd1e3e1b368b440bb28c8615ed639a998ea1f884caa16421a59e4c60f252e4175ab32f58c619d42a94508a2400094eac87d1b116e3588ef79e2d5f22b11d801d3a42cf4f0e0872f242281a221d3d725ed27dc11031f302c89dcc62044cd36fc37fea44ca643fb6bbfd01d964ee3ef04a7685d20a804e7178db7e28cf6a735ae2f1d9b7fe45167c9ab17d8b2a84ad644b6b8d744d37d54fd612e2f51cc762e7eec2bba937ee47c86886bbf9a1bf336f78d69f33cfb86b64ed9e6ee59a586dca8efb408d7032f1f8b838a50c69da239dfcc8f2fa47249f834e981ec4425b57386f93d4e034f5f20a726688175aaa73561bd1a577a3c9457c727edfaad7096bf1a6d21a902db2c053912c9e357b7511ce490c08b31355a52adb19cff8933a265766428ccca5b291c0d964028fe9c9ed13f692765ba20645e39b0b2e5a5b075c8e013e24ab7d12d99046db44bb27e4367e79221ecba0afca547650329997b4196df0a06673a3fa82be8ef4e5ce1968ac95fb9f00093dd3b85014d75bc57af09a3fadebc52a58b9247ccb0f750844ff2688cd2eb78a354a1a83d4ac4a599c0317378d0db8b494b6bef5e8c7ce4113b49829e332b4749a3b57441a4c390e405ab4583de2b98c86342998920478fe5831ef3a014bf52d324f9aae9062368292e2e12a7c0b45f7904e384b8a3aeba98d64c1a3ca69a08a5c63ed93a1a9eacd600daa10b398fec64a3da986e3ad8f72497330b2b7294285d9027200d7df8e5526fae7f6bfc184b494ed728c11afacaeebc6842a787944b445780e92b49d880de5bb7b1ef5061d7de7716b6d130bade2bfc4c0671d741f40c26e458c94ab942bbabce0677b98603a022bf3d60603d74887fa4fb3fb9198eb3d455ea4632c4046c06c4cc4efafce59cf56a7e3e564617fc5843e46c77e9cdc0eb0471c1af86f97ba617f44c20ffd07983dbd0dc5fcc66c76d976760a0acec8e687b88693b529d28ee6245ca8ce767fd9d9f212411c269dfd7f4affcfc3b4c30cd4a5a173112d4869cb8bd12cda02f47248cc345f0eed610740462d95097f932e659e0f5e6c2f0871ef4bb0658613d878a42b56195da28c8d937c23e652cbcd7eb6a29724529329cab63ebeaef8b7b3b7cbfb2b397decf72f4998e3beb1bcccd93370c1242f73ee0a42fef4bd4c5a79aa378280f93cb5e2b8581296f09a7ec1472deddeebf3b685eb2ab6663938044df383c2d7b932e10fa1cc8b2974844c748fa856ceefd6fc6a83ad52b5f5875e3e9dce05370966bc290fae7f4256650b715f143a43ee14bebd8722124084eb2a1aefe7418ef75fb4977bf1e0f966e1db9eb66392345ef8965d2190476616707d72c36846467a7884433b3b7b20fca9d7b452912a06ea9de1a18e97bff8ea95ee0d7c305171b1e81a71478f545900e364373f8dcba0e1aa678a651e78d33a4dbe1349ec5b87d62cae43bc0a182fe21afaad13cfe846a3526ce3e642ecba069fde5202a74e349c9c50eb5bb9f13f09a325e90352798c8d6f007ed9117314ef04a84d1b117ffafb10d90053cbe6c95e5ed7b6dc97ca242ae40a15f06369c52fee60c8fef1b3d08b7b65fff91bdd6d907cbdde5066839ab74787070a88c34aebf939e0610234677d9c84e73008d7ca2f3a3ca3b6ab61b9d59173a2e58acc744973e3f2e2cb814e4f9cf67d8248892fb4a42cec893574d5398c8b6f535b595c92c61cdec9a939993835401d58704342f7ae5bbbb7220da973bbbe45af88ff6bcfca03a60bfa740f6a4b1da725cdde86768671fcbdc44d6c6a207fd4d3c7d31769feeafd75fc9a919da717dd64db9482de0915a49b0273ee3dffff3d29e167c1fd5999d38605e22a62c9f069623141bb7ebb63ea26a849c145cae4b9b7e78b1d190c989832cf87d99a7bd107bf1f3e081e6e97d7b2b921dd672b194bf09e7b4c4f7137505a07eee381cc7097a86d874f18fabcde7ea088d7231fa52fb637d98b66472f75a94b91bd17a33eb751a26c81fba8c51213d1c45996f08b8e2a2efc951789b3e6da392c5bf68a742cfaf721bc0ec7352a20cfa96d410521e1a838afc267b9f11f704b0d2d071b9b2c3cde85cde0de3aac861f77296f349fc4cbaa2639ca56ecf98abc5a171030e5cef32fcb55d1db3c63bb453d62232909a4c9370e6372a0a161e4fe5245cb1eb7fbc6b3c039f8449ca1600830f88a3405386eab42abf25c7bd90de149ee67c1423a78a501636bd40deb65b00cccc7446b7e0122292b506cc8df1b7819fba95f3b2b480b408b007e44d726fd7068830105362537f27956dd82e0c40d40f70a166ed65508cd5e66491e4b20434e9136edb057d994288deff74dbe86cdd52574730a00e9a776e32f8b3032c722d71e2d172218c8c5b75b86a4f5e02493ccc06a70f1de5a10f85af4ef3f8f7ea45d573f00a0658f64bc51aa6e8f331bd3a035e8a6051bfc85a6403e25984185f4e6c5758e22a6b5ff2971c61abf9caeba86f5c5f31cd0cca275557306f9a2a4eb762fa984d2ca58bfa314c9b5ce1e2e3d938cff19a78bed5366c2079f8d2a9659d38cd1568e0b56200f53001522654a99a1692ecb525da9b1ed39594e1732fb1b8abcaa2606f2c37711d12e6e7b18e5dac07718e4eb904cdfa9a0b2c26886a369e4841c29340ff21c22a989eb7bb9d3c08f0e0f9adf6912bab9d1826c821de237fc7df7095398b7bdcacbb7ff1da551026db05b265713881b50a64952e17466d08e1aef582dc2e775c490efc72362024efb7299fe1fe13707ced6c91d7ba799457034eb83bbe17dd55c47cb2b3f9a976c88df23b09848d216b3d54b664d0ed4a4aac3548dd6bb52d6110c876e9a418d16b1fe68b4467448218124198c2dd26d73141de6518247fec8388ddf26edd3dcd1476cba1db0cdc27a7cb2dbfedfeeeed8aad59221fb50c49c16ce7cf9befe76a487dba76c83caeadceef0313bc1a985c2", 0x1000}, {&(0x7f0000003340)="cd8f1d08cfebb7904647a2ef55329bec8ff4f9218ecce2ac6ad1365e233de4a02189b5c85a421c4054234d84f6aeb0a3d324fbc3b3561bee268cdbc204b9194314d34d145465ac2dfd4590fe2c26633f3a44cb3db82035a0c5eb82565dcf35f5c6a55835b247a1121232fdec80cc387a2b8476cd2700c50f339e4a6072b67f739e3544192a8024b44cfe3fb5da3d7a4a5a5911ea4b34c391ea775fdee5fe", 0x9e}, {&(0x7f0000003400)="0872ddfba4a3cc9925d4dba9ca1e375f8ec063c9b94198b8a061646434de158bcc0e39007c07c80f6c51663a337e8dd72fdc58f6232c7c1fb66b783928866c5a833f317ecb26216b32fbc18f0d937b973cf8d66adc55f3143a44f25c69fc69ca1238c9134db50af0d770640cb78804ba9d5bc07e255fbe89e9ec8e6584dc1fbf5a4db9c5a295987a880073f2b03cfe48ad76082e1d4abbce7ebaa658827f0731df7b1bd3075631118cd675636de8e495727cff028ebffb453040ab89e8d089452c07424f8a4ea41bddd15c17d4e81ae057f238", 0xd3}], 0x8, &(0x7f0000008680)=[{0xc0, 0x118, 0x9, "3b7792f0d18ab08aed720af081c61a530748ffd2fb02903669e177b15834849df311ceb416ebc3ae90c8614c9659e524e6918d2ea1edf6ae0d8ba56ac4b97764217535285aa909bc1ba3af60d6cedd346c041507d7452444b70697d76e1f0249b8acb2b53eee58bbb94ed801194c3705a35656e553178d6f7906a06c52622152538fcee77764c38d56c75ba35ad1b0af3e5b594a38664137c345e378299ed986029c24f80b0486ab5dc5bed5d13f"}, {0x78, 0x11, 0xfffffff9, "77d81ec7425df99871131ffd9a4379ccf55e2d3329ec8afcc95709c33891f2ba119938740bb574b37a4bebba1e0543e71f95de24d55f7e3f4e950f3236b876513cf599fb750aa4961f4c7bfa924d87c81dcc1582a8bc86aafe2be80cbfb03c66af77c409c4dbeda1"}, {0x20, 0x101, 0x8, "9d15976ec86830caeeeab6b1af"}, {0x1010, 0x111, 0xffffffe0, "b40028abfa0b71a33ee5fbdaef9d35ed69dda7067c1666df4a6c1279852f962b8b9122846ce1d451b87a5c5aa3f7e678cfd9cf1a9733d6c0e7203f778151fa8820b0b24455b06a8b8ac1af12b65888290f1d64efba2c9082705d7dbe775cd5520176ae892a7f17f7b77509635a93472587233c17d5ffe65c3e9a7c0fbd9b935b9ae8c6732a06e5b143da99f16edcef74f0af7ebebf52c82a9df4ffc3c5dda4bece2969631e1d51c178c653cf74f8714a78a8ef2f75851aba4494bacbf81437a5cab14176c52ea5d6f9bdb71a9f4d6ac5b661cc426f764e9489d99b02c5d2323f3dd13c13dc13e5adee5a4d69a11f2b247a6e301672f1f66d9fdc9ad0ab80543d8ed18e808efef9199c6c777eb5fb95ce342f98ff12cb105905ed20726ddf6ec09ef4cb1a116c972cf99d745a79582b98bcc2fb03fb1e3a09d6556d6d28570ed23c7e69977ce3ca30a50c06d004b0f3e77fcebe3de9bf742402eee32547dfb23232cb38079f1b035e5fa5ca81d47e331b76452db52101ed36f9002eb6150fd1367e43dd8aefd6193393433ed365a2efabe90a62cd14965948d3952d28c0565354377e05461963ad9ada4d325a1c10150b0006edae469747ef9affc8f0f46c0475d02405b5ed4a5759b41420d6932d8db539421ab94ee3f5e733f355292ebe4b0409302ec1a19daa788014d56559cf956bd12f8b4ead1487f163620dc8b58cd94a2abd5550ac5016cbcd1d1ce965bbb28af60423cb7528fa6e24400296ca30f6281bbcf8b6cb274db8168c971f9d56eb2e71db5b7b91d6765c07e73f91f7ded85499938863109933d1779fbe9e371741c483ebaf51bdae65565031892313d880a7e7a87ab8495b62b209fec9d2c37dcc1c0fdad1b51d05fa4dca711f50b16aaabfad99ca9a96f653a6b0565ad1adfc87a10f4d5e75bec6960053d3bbbf24602b0f5c9b4eb77d7e21e30983a7e481498062719c6dc073a9e51ef7580ca9b7f2621781ae90172e5e8efe65a46222843b928b990d3bdbb4d4a695f33124de712689279e00b644bf349538c1cde5c4051e323bb388eeed1469c7476c7fd79b43fd8e64953a92aa6bfed600b7b63281c027d652f219edcad5c60b5b6087e814fe9d607c3c387ae8f91afef42cdb5ba2e434f6ac89e8fe672c1abcd791b18e5df1cf9628ffaeef378e768365b65551e0b0230253c2c9a9fb550607d3ae126f6a1e8b55d095126c3e4fb7c801c2c8b03f1ea9a6b4d680a78d8459b468a02a7137b1323d6a10dbf4e222b532f4eb3ecc98a8dc036781a89cc5b8d10029fc1dc38329bccec31f79e5db5989f63c0c5aa3bf701747aadd1ad93877f1a324d1eda9efc3347bb22eaaa30cdb760845c3c1dae028eb0dd95dae63b2191b9488fe945a7832557110cf76982bb2ce073ad931048a8060d2733201cdcadb187c69cdeff5a61b58726ab9b8ce0850c103a2959fdaf4ac59098e6b82e9d941b3ee70ff80a726eec49ca776f8cedb152c20bf70815e7b428b539abe56f1c9cbee0232e7820589602f39ffdcb8aaa004d6933ceb6717e82d873b67588bfc9c4c1667e6c7c41d076c896d2c11181a564b6bd2d5f0cafcd525d0164bd5b8dde2664a26ec42c55e7b7015d1c271ce3772b4d111caf4374a0e8d9d60af466b5686b998113adb2ad0c47681309cfa0a0cad5feca277c8bbbcfb9b6b8052afcfcaa389bedf476e967db798f1be2f5357d32393d9a4ad229bbf6c6c90508b8c005fc112d6c4d2b6e3118b4ad3abba722749faa96cc245df59660874b9f6815e2deb57f149ce5b0d95f128eaac6f2e0e80b84b49fdfb86ec75d377ef9bbbe306277942b236dffafaa14991e70e708a3cfb9a1737d0b1541562a32b61815036b4b2d383afbbc213f1955fcfa2cbb3f19b759bb0fd6127c3ffcd460aa7936bec88cba5be09cc1e00bcc3025be6bbebd0a2ea35689b22161f9df946dd2e43dc6046fee3f01c57c6335dd8dffa72864c528350a0d6fc653e52c89e6843b066c15aab7036638d71a9a37c83953bde23c5605d35a3e5fd3cfdc88f2d0a80e779d4f366a40561b467c0518a3725da87f03c16641b0d1a5a52c0a2101ed59c603fa695b0fae4577c474144d793d2719ea9fa606681e3817644caaf11837bba674d3a2c630fed02cba995be63a2dd90c4427d16fa440844e0e886dbb5b154624032564d49e8b82f3dec21cd73956497ab6b4eea8da93354b8ba7ba3bcd482717df4e8cd39a0aeb333cc59b0e86fdad581d3911fac4cdd8551b7f59c45f51fe030743ee5f2684076c979caf5b3f57361631afd25a556d3f6800d6eb49f96b8aeb4ef4a57528cc4771b8a9316a0442035a2cbea525815d9f81c3c1737b4bb542186c5200ba974196cc5ff9726d4cd27c873e9669d1255103b3a20ad950b946bc3c31a8b1deb59d1effb6522c58cac34770a54a6e50c80fa51cc873cb01b860c4baa9d3b11cf42fd7464803e03686e9a45b131011764e76d99298e12367c22a2600eff5940ccbd089c1a887ea6dae147f23b98e934376fbd4cef6e205e791f9e78fb44952ce5c5e79203c030f5723368ed53ff62a9a51c0b4b09e19944693202d027fbf7dbeaed6b462a7c8c3286cd5fcc4428af5af4829b5720f511380a4e774e8f7854f04d98a3cecf20130231371e0a8ca0a34d66abb48974c400b66a866c63fd1ffd034c1e99852c5f086855e828a0bd257a8752eda3fb48cddea878437081b6f3019e042b9889b4df5008cc148bf6ec3ab7bb80442517cdecc396f31ad7cf5bded5ee69b8131a07592069590eef517eafea2d0821c26d121185bfbed38963bae6b4ece4ef7016a993ba9989fa817fd1f7f0be616f18fadaa2d206a1d0b24aac728cac879b4bfa0ad2328fb9125e8183d360b6756fa205d817500dd4e5622e6b0f8c50d93dd071b3afbfab969ff92568375af947f3e042e4c463401448cfc92cf99413a4897388934b2671d73ba3a17a215c5e5cce6fe18af52c9eb50287c61a7e55136ae1856700b6b474dbe7df3c910c8e4f3455dd83b755fcc8b486995f3de3edec361edbf1769592734ccf1d17ce4b098bad8073513fa803c43dd759a595a6f2b32700a1d7c8a17ec7185319f1554813adeae2b1ea41aa7b96feecf4bb6b2b1faa24c0bbee9197e2768c667c3be959037a453caf9428760dc00011bda340c8063db9cc99def7a6282503de082c2ea4390d01bde88d53c0cb6e54dd1b0745f2039a337bdcdef972c8a7d4c999253312109f0297d6861bb8673e2324d5219b0ef14c10475f9d6afaddddb9085c6c8312f598d0d38e9df8f05fdb31a3eba4c3a4492a3b446844c222c7cbafae8d81fb2e10f9fb11239c17a581a2937a9bb2a1d362281b656a896a099b0680fdf5c35f04b38c83272e74d621142e947960da80263974151ce8e044e84a6efc1c73ec5ea08d9209416ae4d20fd9fba64fa04413c626f47918c69dceccda8a919ca49ece4400e736c357c2cdd9d9891690a1a869aa3860468db1800b54adadce1df7805c0e798656d94a2fb2914e4dfcf8c97a5ae75c5099dec1dbf430de63a828b17bc8ba4f592a5dc8e1acd64ea0697460bf202f423e389a479c6ca4c89782e0d30841fdae83df5892aacbbc09bcc2ac98f5030801795816b2dedf3b22c04c127553d1853cf96dd2b571afefba9cb1436b165238fed98840ea3731b289e8d5b222bd9cb463aa99543e42e79529689c61f83af488db9794460c2d6f49353ab4f2fc1f86018ad898bd6a43a1bb1670ebe22b61d3eb548cc95399e22396ccaacd8e9fc912db208167f55ecca5a7285fb6cce69fe5f3b4311c7dc9fd2ff981b1374af01b666f2483c3e8fa5193fa6a908d1963bf1d23586bc9bb2b5878814eb570f5cc33b5f8f96db6231168d6071d6133677c35644afbafa531cac0c545049a1c1a1098c5647309d10c2f0183f7f41b3b02ce4621bb6e775acc3490822a9d67f38265b60733dd2d20ea858946e83bc783769b3f3461a7d3449a462341ad3295223fe7824e078346b607aada54ecfb22d209b6b61cd7c2f6c506b1ac17d715be7bba709aba8b45009770ce3df7fc21dec5f1ba68af9f4e9625763338b4b03dfd3135872b4d0527dd2f6bcc27e6d687585f8a13972e774d9a20f75ad53d7e99d078484eaf73c883256058f191d28271fd4eb933636d5b055cc6cf3a21ef6c73d80d444de2cdf6ecaf433f1ae1a3b19b152cd3fc92efc9983fe82d71645a2f01ea8d82ddc2c3d1afdb92f82f02798cb0e32ed1cf4d5aef6c0f899e0455512175197ea654dbd5f1dc05f00f159dd09f41aaeabd5f235eec59ec2298a9fecd5e8286b8dfa09c8b22a3a53bb18e026a5cb4b3f7952bcf60409424bad16b90ddf39609e47bf7f84eade7fdac8ecaf9b48ffb2f8decb94269aa581c2477e29e0a3350a44b84847e716c30ed538ee75d8266787e32db7990cafdca7e9bdf0d3ae2c093a3be99fafb655e232defb720fef4be6cffaaca2a8b344e7f80f3e249ab630896d46ad5dee41d6a70bb6dd56909c5f81a4a14e45ea1e772a20b664a8f22445c6b47b07176cf17d1069fb0051222b718d50f3a057e416aa88d80f54f6d892ad8eb500728f2829379a230fc53701320719fedccb9e4b0ad175e792f2bda529845377d71ce9ae2297a70d404e86aa9fd79802ce564463ace8a23f982ba0d4596515178f4dad8c592836f1cd41ce93df937ee0fa01c9ebec0e48d6d60670a0783b81125a8c3c9e1c75aad4b47cc3a4197fb55c97161b05c424a5d8d2f774f903fb82a18499d857fa7dcb4292954786696ff4f8ba61acba63adfe48aba881e6a881fce6c01979281c4a72aea68206853231d88171a5ad92e5d0d3167c836db62ac27538f3e914c7993b89435879dbc9e985f2a68de208bfabcdf6036c11e8281e1dab69504847e192c2d72397c3488871f653a31396bd9256e65682b16e43dc7d3f4160645c131cb479286bdebc277535fb2314ada1bbf21f9e113c2285728ae91b94217351b685878313dbed120bdadd509438636a431073d2fd636a33f09591570528d7033461430ba3966399d9bb1f632667d4cf06dc78e2bc2574a4681446cfa227b927dde628f70bf206590698394339b40f6781123d0346936e94c228b620d15d370c53c864d1f4f4d9c45141f2f806314d5a8c0e46b00c8d7c1d35346c51886086b47b657c8dd851f3c498a88c63cd3c5012d67f2c159cbe5bcd3b14647b9276c92125227dc450adef6932f8ff2a756e07cf7d3b624ebd5b9ad6a3cc7d2e90376ed629ffd67edcdb4c4a97c04e85959e8717d154916f7ab0d18896f6a48b309f9ca33673e84919257e336e232853ff3c0d16f4c6519c612799f356edb5bf6879b1fb800dd8c6a9c80989161eea6ac0356fc94bc50ca1a3da308614302094050f4f7ad7348d843cf873bb661c072ea808c93ef75b1bdbd3a2eb6a626c68ae2826ea53f730040305bbfabbb5aa1b60be8ef35762d8c7aede9ee4c40e301c9cbb10d0e905a3a9e40086e1f54f61f05e339fb37b7ff0a107118d208aa8aab7080f958efad6e5367da1d9df3ab104c7db32726240a05773b554ae58747500e41d8617b89cb0e2f4c6ea413b2f61548419c8398ce436e947139d2395546236f481cbfa07e01777b93d815fe0e26d1d2c72175aa90b808dadc4b77883ce3140424b6c55b8004fedaf041e1132e81dd9288d0ca2353a362c44bb6f95b8dbe998f59d8cf31521ee9e01eaefb9a175cd3063a865f65bcabb3bcbceca15d9f1a1343c95d4207db7bade97d3c54b9"}, {0x45, 0x10e, 0xa4ab, "6fe56c797e34b489f1c54dc4babc43437b26f12efa8679bb2d5d8965606ce154f38317d36aec5bf9231e0a9dcea6beb7abbb0f09edb80b0d52e8b14098986a74"}, {0xc0, 0x0, 0x401, "2e7ecb2fc449d7516fa45c81ddd7fe46495c75fd7f2a3268e475f07c47a02fb9a4036c94e7fb75b075f0cae442dd1857f39aeedf63b5a58e60d48277565670f45e0ac9bcb3c0876f7f696553efac3194483fe6e27b5cb0d6d1616c96ea4d2ae0f1470fd1b7626ab4d1c76cda41f77cc788e7f6c033bc279de7dfc7244caf3d5d36a6ca3f095694f0eebd4e8b36afb94b2926d40dcbf368a9045423a5f03efc4cc85ca81aa98aa166071b"}, {0xd8, 0x10c, 0x3, "e0284a6d4246fa3116703d3cbdc60f57734198521c4eab0374a74ac3359a2ad48356bd1a5b5f09567c00574d168942ecd77dd58b1579c111985e4f1fb2c6ee98c1fb5ab31c530bf6f95c014995258971db39fcb3620fe821f710e30499a43089edff788ef8956ae6646045a485bc5db62edae9dd233e17a6872f8f6430d290e782d0eac1f059f294b0f3ea27e84ed58c206b24c4e256f4875b9052a7ab5d15da2dcc9290190914d6d3e9042142b6934dbd99f9a382e1adea4a12744eebf7be4a260247f1"}, {0x40, 0x104, 0x2dc, "d8d0d994fc2809c1d0480ba1a43b3c78dc90e936122c97a7f64f374da0a167e6e0f176cfd527eac765e88d04d036"}, {0x90, 0x101, 0x100, "c5b884cbb506c13c78ee20d98302e19490e0208b5b0d6c9c2611b5dd04dc44d99ce11e7a48837ff0d5762e6643dcdc6514f9ca45ffd978db74a528bc8a6edb662b9b60af6bd516b5324405b5733a6ce6611a680737b24a1f682ce0449daae8d531c9546174cd682569bcf21be4a292becf0ae6293e0a215e01b18d2a729f"}, {0xa0, 0x1, 0x9, "f9cbdd12fda102dc9b6880e63f019718d1ed916284dfcc3a8026778dda24051d0134758bf2add22f4d7eb8b41278f001de19725ef48a79cb1952588ca5459cb2bde2c606178acbfa67a081767af8d46630ad17737e6031c4a6166a61effc004b0f529b651c43d98b987634831dc396b7c2d73b6c1138f146dad414a2eee7d0d6e4a5b5f6603a2e2806adaf"}], 0x14c0}}, {{&(0x7f0000003580)=@tipc=@name={0x1e, 0x2, 0x2, {{0x41, 0x3}, 0x6}}, 0x80, &(0x7f00000016c0)=[{&(0x7f0000003600)="b62b463ceb28f42a9ad45681d9282d70a1e5ef8a7bdee290c42358adb390eb1b60258f941f83f8783e37cce477a8a3282abf7a794a9d3bb7d8e4b945f5ac0bcbf429e4ca8b8380c9c54898e4f9dfd4584dd200bce0ad737a739ec3d0efcb0060f1983a4af9e1a84cd6d40c59a34b72c1f1f1c279fe4b7ae1d6b25995c3d0d42557017bd99c9415979f5cef52f376b40adb6ee2ec61ce241c3019e6241adefcebe23f0e752f5da216d45bb70b75f2e2b5760e96e61c984986a19fcf0fb2d970042b45", 0xc2}, {&(0x7f0000003700)="9064196771390647facd4f098140b6bd3939a48525b624ac4031d2925fc8f02fc2d2067b63a903ae33bb9dc4f272d74206f41f7fbf06f67b4ce06f72e7d871438a929d10f7e80a04cddea4641d11262d61f7ca51859cbb6a672dfea7274a109d5927feb007d5ba2b79486fe7152b51d098721852c23aad780889c4b385cde71570aff195dcc0fd1f918d29463dac63", 0x8f}, {&(0x7f00000037c0)="af2f0925744a0ed89f9e4cac799755529c36fe0c9f371a66610f5d6d50ff2b25ad024a0e78400566dac829a30d9867775b25735d426bf49a2886cbcee3ff065008b283fe8110c3819a331a79034b637fb247a3b89173b4e1fb6431de3c0129288029d2fcb9e8115b639cb50f2efeee86dae9267e9b4a3300e891056994d991c5daa55a1f0b35957986031bfa31b79b53ab0279b030efc593895e38a564a2eca4980d93ed74fe15d43c143feb473e73b30b93fe2038bb21624bd062e4d8bc53dd2e022d3ac2959d44122781e1a7ddf039333662bd8e01443b41a0950f1be782ffddf4114203e33227f8b3e68758b1f3ef285d78f57aec43403423", 0xfa}], 0x3, &(0x7f0000005a00)=[{0x98, 0x11d, 0xc10, "8ed727577ae517c08facc02f2236c6869ff18dd3f8a464e5ce2e8621e42d909a43a2eeabd31f4f3fdeb952ee76c08e516b96596780cf16504b68f861e51cce6d34d759b1bfddf3510b74a85c7314d2939f7cd71ea976ff54352ca0055ad24c555e2e0e7979cf5c8d42bb416c1e5857ea0cdf0628ef28643695ac1382ea9f54f4e5085bff"}, {0xc8, 0x10e, 0x4, "75c86daed4c2450379f3c49f6367e0cb4a4aaa2608e088f955aa620dd3122c268e905f1e7469206c45a03b3382bc63ec4d9468379fe11794be59ed866ace3216cea169853eddb9887a409d14f0379ed0ecea26bdca5fa5126fe8646f70c6ccb2b31cfcba7bf9d73e64061bb596236cc6b86166b2a7f9837adc1a2041f466ca7626a2cf9e74817f78961e9649d83978921ddcb2f1c1254510f626207ba78faaa8e116682ab85e5ac5b42c00dcd8e47b9f06"}, {0xc8, 0x119, 0x100, "063a85ba1b1aad6fae035b14f25eaaabc3c3d5243001ef7c024357784a63ad6ca56b359a75f96bc675f1d4f5cfea8427360646df23b9f0df0c79f7dbe83416bdd60385d36f6de953bf7f8f00277d79117ef0e716a7a6aaaffeeac52d4cf07e8774c24467005ad824f66663e27c29fd57061314b794f9f3f7052efa129fbf47681835e9f0698e99ef3a35c39738091d763062bc750646cd282b8252960e2e1112060bdbe42bd56dfc3d13b1a56d089d2a9229"}], 0x228}}], 0x3, 0x7000000) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) (async) getpid() (async) process_vm_readv(r0, 0x0, 0x0, &(0x7f0000008640), 0x0, 0x0) (async) ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) (async) openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000040)='cpu.stat\x00', 0x0, 0x0) (async) syz_clone(0x65248000, &(0x7f0000000080)="b7fcb5feeb170bd23af76650818c6217f736fa6909e104d462025ea9f150cfc95ada0f8ca11160100b75e78de14c8fad71f743afef7eafca6467b70cc862b8b6c3cb4583b2b85a65d582ac54c3aa4ef1644c66e977960a2795363dc360c7ca1c050c86f95677e651708650008e494edc1c87833f2f6e7523d9486fb99ba80919f0fdbbfc20cbb4ccda81a9d3c075b4fb8c2e993075a37c760312c8f033d0b2a5666121deffdc54150727ff8ea51cfab009a2f77107e18d0847008714aecf0d36a5d3fffead26359af37ed9a051bb37723dfbdbc3c62b6c0cd7517abf23dc1e2944e9b18c596a02d88eb497dae05f52b9357811864747706098", 0xf9, &(0x7f0000000180), &(0x7f00000001c0), &(0x7f0000000200)="781873bda11d72d8ae9618b87653dac46a93d893") (async) write$cgroup_pid(r2, &(0x7f0000000240)=r3, 0x12) (async) getegid() (async) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000003140)=[{{&(0x7f0000000480)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000000700)=[{&(0x7f0000000200)}, {&(0x7f0000000600)="746fc25a05cf559fd28808ab507f9a4ecd8fb63a13074277e4f377f1803dc5ed9f99bd8f4e34a56468c1f33934d6e785ad0a74db9714d1f3b8976d6bd92cf282934bb4029323c787238742713fe3f95ac3babb6b2eafe38e7cefe35a635a996c86e25c9114f5c17d7153563d7c8ef402990da952408f1409b59933b6d1dc6697744ebf42b41807cbd5fa63fe3901f24363010ad952f2d1467b8c38b24704866faf28419ce72e25545ab7e13081982c603d3c769f66a063f0a9050f17a940d899a6fd5dc1b9", 0xc5}], 0x2, &(0x7f0000000840)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00, 0xffffffffffffffff}}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x10}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0xc8, 0x4080}}, {{0x0, 0x0, &(0x7f0000000c80)=[{&(0x7f0000000940)="348fd70962a7685987694f0ff6c22ab6fbdd9345242c90afdac9067cd9ba970139c61d0052435155df39c3b536d92fa501903a871ce0b6555e64bcaa3bdbd6615f36b9e5c5a264db5ad56bd5cca40056f853e22bd257be22586bd086e87be11d604df025d180d8e9e9713fb0b4353a75631e7a73b530d072965288246180c6a548cea0821f522c5eb37d716654a734b11190659a4f4b97f23a86c70cda8fbcdb3e19a495cb0fffef84d42bab8d653775c083bef26253292b028c6ef87227f3eb4df26371d0fc2d50faabbfd3565374", 0xcf}, {&(0x7f0000000a40)="ab4ef08996cdad537b7c7a56e36776eced5e8dab9cf0d275effd91d57c0b649e3148a98796346880a32cafa644107bf283207015c057936c5bdac34e4d7541a15280891fe6b4852c181f7a1957ea1c565a8c6fd6f72639a6a0c17d601c4e2c5fbffc6e35a92f6a4147374ae355e5d8a258038163d135ea65314789ca0533bf69b7d5383999f7062e02bbdc27ac5ae98ef48c90e5add0fbd74b3a6deb6a9670d8e6d44025001b776fc526d4a3aedddb8122", 0xb1}, {&(0x7f0000000b00)="8b6557c6c1143e243f6d33f8593f2a1f40ddc0ff5f25b0e95ae63d23fd0e6f8ed23e2eda70fb678fc15e4074372b7dd3cde08e98550131380b582794856f672e8de2453ff8c3ff0c28e18d77080a00b30a828a548b2a11d1a6a3c596e50e92b94cf44c646dd703cbd6072cd153c333107ed3a70c713f071eee", 0x79}, {&(0x7f0000000b80)="769f2f18919242bda625c1e2cbeecd0e9a0235a2f84d0ba41d1d65752de8f4dc9fcd86989bd4d8d71f45fa09a63e9a55a4a89f219da6c5d269dc06b1d512d8e52b64d6f6a91a5eb5114c38450df343309afb8ff31ca594621b08032f9a3ac29773197da0932061553df97d07dda7387dd318b82094879a025325f405eca45c8dd83918927bdf543a25fc000449b06e15093fa138cee9c91370fdf015869fa4edde1fe18efb9ab22cd52bcab03f5339204ecf662db02ba9ff60597648ad22ac319908ac56bdb752ce490a376cae6e77a1073a9f37a12435cd645944c5b170b02efa275d2c11befffbbbdfd24583", 0xed}], 0x4, 0x0, 0x0, 0x4040000}}, {{&(0x7f0000000cc0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000000ec0)=[{&(0x7f0000000d40)="ffa43e93af7090dfd8f35943941eb0b5194db5ce19e1317f6bff62f2f3f9ca787371da811c99a02b8f571c66492754549a9bdd711d2a88b332533c11701cb5d0fab283bc39b0092dd5ec6c2a119a02e2c0f37c5688e6c7510a104f4ab011f03ddf5750a5dcdb1417fc396354194d7975b812d5f1f9fe920943efb047ce2e3ac3d085115319031b89466ec2c2e5209b7170e055e92252c7198ba2736eb94efb5afac8f54945085bc216587a8601c9b5e7b152770b29e12d", 0xb7}, {&(0x7f0000000e00)="13feac03f53ace45e1df1dfa9306d92eac71342618f41daee64a89ef996389b42a9cf8ebf7e2a27e8333e568096d24479d09d2be5f216bc92c2cc1db3039a0c32c68db61eb0ed8d7291fe78958fce4f2a1148e9cfdd5e937af97ba43f5004707813c88d31774b42575965b91e93b801e09e57c4784f58a45177d47b37faebd49a311b2ae952b586571e59eee7e4ce742d20fb97c8df4d718a0708f2627a95ced7efe6ccf4127a4a3be6b239780ca86ac099d5654", 0xb4}, {&(0x7f0000003a00)="54843999b97be29e94d5372df06cbe70c2b9138b4fa33ba9648d570da09716ca825a232cfe2e80603d17dc209b31e8aab5ed492d52ecc2a87ebf18021c69045d2963300bdc7b753fb6ec9be75707ae65b8301f43a6b54665ff499b99af571a2fd332853baad2cc1e6ba98bc66f4b15f422f896b99ef8d804c18214660b5cf5d2b80422d8d346284eb34338bcfe938beb1c097f65e12a00a0ce735712dac2458521844bcb192261a83bb058665ce5080d56e51e0e5c4a309f7ea8a671563770b87ad6e546898b1198ac30c8e4780264c7d0c8cfb172e5b408e7f52a8cc61fdd93180c87056f569d1f1a42d6b78d348c9916ac50e02006009db531121c1d855a745971d84c5417ebc9e89ffc9620cda27f7dd6a1d239e40b3abbfa1f5f814506594e34d63d1403d58ee576fd73c27192c84e3f94d3352c036dcc672976227df2db270c752ff4a4f7d3f7c9702af359485baece3f0c20f478aea20a05e860cdbfc03aaa2a1dd6b0f836164718c9d472289f40274b885734193ae02d8fac62e1bbf54a0b1ae980b7837b782f3c63616656bec801492b33955c81c939440272e645de63273260938e09b5b3cc205a0814908a6700a2465e1ffc8f54ace57e7f5103b7f3a06f0ea8bfd3e4ca1ba1916938daef3caebc4e50f6b05836b6038644996e2ef3fc8aabe1ac85773450d08c78d4f7b5bc37f4105d6b3b90c02ed072b5621dc448ad6793d6214d071ff2bae633913a7fe9efcc693590970ad3ce1b431b1557e896fa1e5551e8a254deccaccdf4ad9d6ccb33d2c5bb60ea1761f5307a00b748aa69becfbbfbdf88f1ebcad4f9b74a21969a922f0db0bf2aa4dd951fc45900fc9de0e768f88703930c84da37f6551f3d827a4e3579c111595dc36e54b961ea3daafa63534ab7d8945652bd4e2bde4a8b71e293386dd64360023b913258cc65c48021f80c26a7a8d5136e65219c09204cfd0e826bd816daf409fe4e65cfb2234364bcec3c4c192a3e6839e07354ca944625b08a590d0681c49567df81aded5e0b92f35e868f947945639b6f730119cf858a3773616bd5e14c53eb8c63aa4fbd5a183a08030e33bf13764019952d57be6f74a966bcc3de07c1ccb0c564101ea44ab456cf3655f54729443b9bb2944680dd27b165ab913a06f08a49085872ecd240b6795238411b5880055937acbdae8d505e56b99fefc1fb7d3e23fde7f17e12be7a0772df84249c891343d92b4091fc7f797482baa1dd923d4e07a339b83b5c798bb6508b4a7c96a03fd3c1e1172af3b38be98e378976bb4561be7c3471a8d126b27d58c32d11cd1657ccabbb25b215c0734e60042d1a1f57781d734d8269c9e186a839a041890e100b5017183942dac3838c0875938132651f96c88dd636868a9031ca73d9c58afd3dc5a442e313431cd3943d8aba25f1fa0e9de071e5e75eade8b269d4f5f9de9700200be76bbfdf47c119dc4e622e2f4e68232598157e5b75631418746583b2eb8ce85156cd49f8938663121d874ca59f60fb3e21f72db5aed0233b108d3ec07d25da1995d047e488fdee6d6396ac56e941342aaa6120cc51980cbe4c76110f039c31dde41b83b891a86ad3dc1515bba75ce15e1d4756e9e4167493d70c8a7fe61b1bb4702e66d9c844be881647ab67ae0134033be2ce729d1d4ab8493269ffad302c9276ecbbca67c045ad6674ed3c72f3edec701526afb3a15bb7588b31ad2cdc52546aa3a1a64b5bd4ddb26153e26bd479a5d079248084bde7e0522d6b1689b8dde5f36b20c1f86c246a38491c258d38cef8fc0f48d8c33dcba1633163fa046873bf7c7a06335cbc6b1d42eacfeee8954f86db998f034404ad5529688c6c988748967a62a9c48025ed6e267be64847536b69fe442c548b87e4e9a1b20091083bcf6f403bc6b33fe54485a6e66f8b1368b13ec4e48ea2fdc205f17b9655c0cd295ac957021f9040fbffc9822b7dd2dcb46195ee02c0cd6de777a129d15c3f00e2f894f263c73310967c202412127a09302473275d01a68f4197f7ca32a02b6c0839e0c1ea6f1ed1f4d6eaa80b2de63ed02e1384f4fe7a456e3324328a107650b5cd192c0211a62928231559361e6ffc347f8c0da5001a3201ac60282ff8f3213f965abcfa6cd80c6e4c1e6ac9e9b177473511569c3d477476c5e7984a17337d5ae48a1eaf25094c129ed0ce7e51bb7322dcc141e644e7ba04f50b5fcbf9e0f938ad67c01e735287d10c23e9aa9af28c2e50d66cb0e93354b2f06047ec06e3860df7ae4d128749271fc46fa3c6a4fba0a61b4154279a749cf14f187aa0c5068b347499aa84c4d663169f5453aac6a428f04ef2ded55d95f35514742e05dd695ec405b86337fb5453d0fa94297676fb9ffb21198b2019760434d18dad63d28f9fe44aba446f4189a37daffa8e7688896da032e342e1b6c1b7deb22360ba1a30836fad132f08ad9022b0420f394746b7d33114ea6082ebf6bc9ebbfb22e3b5048a17e8f0ba737ec85ff08ac2a8d396a7f55643d13c8b6c0af556279550d4c996e2a3daabfd1167a407b9232b5c858789276a46549f445fd8aba7caf75bff2b7e97c6774665e38d8f438fe2a86db2ae65b572dd7de1e59ef7106eb25f5055c124ab691344418d72e2a0791c29aa6412941c5405f4bd96eb4b87f3c127a106c1a864146598bc5b5bf731070f91034a8ead9cdbba5032398809da116bc8bce0165e2c7187c855889adebbe1c33bf0154e24bcc92e04fc8f8c87db38ba9c4729077f376f6a615552d4585c48b978731deee6f851220f9fd3113e4ba96f2b90e43756b3c76a8ae56272f7bdb6a7344edd8cf7e4e5059b15efd61a7899526ce19586469acbc6074e28b5fc8c38bedf0d345dbe34af8b0f4ebb1a0e0af6e855f449ff03af2e3705bcaca93effcc40d0a07eba076611b75fa0fc8cad133bde55b66cfcd73ef4837257b1ea8800cebd232d7a6e28b2175284ec65febf91eff00bd866a5d0a44bcc9a774dbdaa665c8d1c293906386be07a69e17ed4e6586661b473c29790ee00de23a4e29f375e25c38fa5f3c134ca41d5a77f004216fc27136e5cfc2b87e549427a6ea68c10dbe734547357d3a28c7c47f4793fbcef90ac410b28f7f8d431b4777b1784d9b4a79fa75e62eb25a82653b0bf89f0c7704aab61341938237a1a6ceacc9363a97454eafdc3d55688604601ba496042f8654cd22bd63a2c46eabbea9d68d310432aeb722e7be258912542bce55227679eb9305ec66c43e0c4fda27f6ad07e8f44be8cbaf076cb7dd36ca4e21279e7726e601cb1efa08abbaf3e771424e6684d8cae5d564b189dfc24cf0853dfe4f542a7a726bbc9df07e27ef9409b080df86b2e5db01cb299de6f0d9b26e81d0925e458b3018df2ddf0f2d0e8dc468c787b4823dca07c92bd3afa4bbffa35557e6703ba4adf281c1f8fd17159fa41883b8a0c8f86a5dfcf81200b61e0fac3c623600d9e9c7f8d4785a9347b7e0ba0c08981eb215d68acd5ec6f3a8b152937a8351102d060a768c64864249389bc8cec6c1ae5e7f8785a3c647fa8e6c055d5bc1c061c6d8486c0b2baa3ecb5b4d1ceca10d2fa21b3460f0d1beb895003b4e9ef9af85f981e62a50e75a4ead8c995ad1e3aa4fcc0fa02ead7398a31c6bc4ec58e09a390ce9067fbe5815a03d386340e6cf8dc596a2c17c4e63e7e16b293237caf39d53e680448b0c32cad2343bf9ace5a2d0caa3f34e0e59bd71465a1b3a9cbab56c9137938549871a7e2dd72bcca5dedd9b6cf22577f425d925babfa36f993a52c7407f637187ed2482a36d18ab47ea8ac2f528cbb199c4c4a99fef924704dc674a088cc217696eaa8e7c6db062cc75e3e711db704f90ca970bfb06de75f860aa10856d179c3c96149ae07ca7a16075a4c17b13a2e866bf86c3b26595ecb92336b6c5dfbe41f8cc89960aa30cb0998502ac2922c486bbb152611768e413119c2434f8ee9b160881a3612e45d82b72c65071ed1133fbd0a037160ca93fe1c456ca72a6c6d0ba6631ef172adabe1293992226c4c04237b65bebbd8e2631a88ee58cd3bd4bfb6fe429a216ac4016e7ec0e5834a18685376762ba5853f49867b80208295ab646f93a651deb7d9624432149c2ae50dd105f2450e3d24b549169fdcd7d54c252f3e096fe3e84e0ae9724a1e790e7a00b6548d63976f454e06dadd93639defd7fab276e27c532c18f83ac0785abfdfcfe67c3e282fc917f46101ee4ad08422c9d1b991ebe99a628f99492debfe86ea2b3372f656879b44fac6c5b06b86c250d2fc1957a38b873dad8053a053cdbe78fce4a1c3ef0de9a4c18b2a8fd0bbb037602fabd5b240bf5a8df59ae2f1a2442f71eb525d36758a709efa86b95f61770aee32bba784536895f4544f8b08b1878c1264e565e2c79d99586e01b6e555983ed9d18ae42e2062a78d9735e852ff2ac75c8805c60c5d86aabbc7b5586e5bdde3e237cbf985ecd0905e08de339abac57e56a666596be0dc107e95b109c11d3fbab49e3801d8c66940f83c7d250cd4b32eb7514602efae61fe019e0ceefa574f4ce304fe0450904493890da1a938c170482e0bdb9812ba91b8cdcca2056bce23d259073a15afcf11a689b12b5edc238753442051fbef7e45455dc692dcd318728ee0634bf1c89fb1d216857a445818b515dc8d15b6a4ed248637d2f0a167c76e47441e5a37ae97f5b07fc7b8f1ee0e2dceef6529b77e23006fc8745420ec93ab9b01ebaf1cbf7f24913b19108e14ac7928441db8279ff18f8fee531fe1be741ee588f683712e7c2848c92477990710182b6b223c45f95431d935cfc84eaa964fb9b10de98ee142706b083e7ee2bd7679aef721f5d5fcf74d9a235d2523a041e531eb614cc9785c5289bc5fbfea9be38a8cbed7199ebf939f4ba413c46c7ed91088ed6d4f899d101925ff6f1dcdd47da268b5377b742ff61684dd0f8921caba561bad9e9f81eaf1716a1b12ffb6a195b431a35efa7f24edf4c7f0a0500835b170ac828329c1ded7cc502fcf10b156e193724435f0af8838e4ffd8f1630ea7f6078c108f04f832f81a3d7f719269fb27a73d2dc15c826677aee91181b602c27231f6a0a9f614a119858f0811a1401e727ed7cf73e105a35ac41e5800c97b14d6fd4c255e745bb2272e3c0f42f472af7cec1ac929ba737f1821e9d4f4b44855b748795b16f7ef86b9afbeced0b1baf1efc5c0a5046b1f046bb20e658ff8de44358068e0b2c97929658c41ee73e82dd527cef796d1c72f9115f5abf8bd16a4403421645d49bb47be223b2de3dafb166ca8a16c11f3345be724bbd5edb5c78c28b161849f80300161ff87748dbb4323dc9039adc213f80a62c601ef00cd1bc0d3e14f69cfdc5fd3468d2eec036ec65ddde9e027fec986197040d6cdef3cbd0b08a62d76774239413fcdcc6e0d799a9bd0173e3698eb2717b2c4b0e8092177fd381ef9004567d70b52781e389a3ddf93264ac57617f1a5e692e75fe2569bee745890005f3a1a65aaa4552cdaa4d3452194caecd9da3a141949d7ad660f00e35c3a1ec331382360680a74c8a0b18ce5a257828637de84ce76128728773323f09e4e9d8ac6ab55202a9e28fcee27761d0c8bbe5dc58599da686ab8f47b950e55a6a1f30c57ee1a43f6acb95ebfd06f571eb459608c869a8fb59cf0fc71fcac29a6adbb625279fa82159e578fc3136c988502a25f58a694562df8ae99abd1b2dfe365c1c2240e0fdd7066b550be4fbfb7b7a35e6d0e40e97b1f67e5d9d200c7db4436ed71cd954d53242a", 0x1000}], 0x3, &(0x7f0000000f40)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x40000}}, {{&(0x7f0000000f80)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000001340)=[{&(0x7f0000001000)="23fe63cba31a12acad268e193a7b5d1158c69c2aa79cca363f9689b502b9a4d640677b667063347db33cc2d1081a5ce19e3ec9cc30edd81397296183571b8f00cc74a8954ee3e7ee904d50ce90e0a94906ddfe113627b07a434c62c958e7971967c6ddbc37ea136c08a841db6827dcf82dc9bd1ec7f50e1d5fa1e67f072fbd3636c9e00e77e5bc1eadc9030184b5dad2738f88f418b4576022333b4ed3c74372754f0cdb39ad6c65be6398d4831e4ba832630d196e9c6eabc0e5e023a2d47f549a9a9bb32798df4f4d7132e8ff67aa383dbc0034df66da0513720d762e75ec0e32220336de04932423a2b94ccbd2e69752ff175d49b1f7d9c2f80286", 0xfc}, {&(0x7f0000001100)="f48d411d21c58f49a89babada0e815fe48863e44989841fc", 0x18}, {&(0x7f0000001140)="cc6c42c4d4de49a00e2a2620a9de7ce8c589c6044869cf3a498fee4967e66943217811d8eb493b7d34e007f6d24c9a8b1d0790696ebb5d4761de699ccde47a5741d91ef80c4ef4bf470bb669811a7b22c6d2a196530c2a9c9939408d0921", 0x5e}, {&(0x7f00000011c0)="0d4cfd8ca40124d225454ca5e1565f74c5dd0dac47b7edf4bb70d5e028d472b940da8cfd97c4e995e50608ec9a6aff5fd720cde51664ffc68e277b0bb6d050ff0753d9873f3513ea7723a9dfa4ac871d2d5f2aa87d1b9ae361566ef2a4636f24a504f69d9167332934b92abdcecd229cf3341f9bca8b3b9e38e0eb9c0f33b9560161cb", 0x83}, {&(0x7f0000001280)="20c24981c69460cf4e1d018b8246f55b1ceb26ed121f516cc6078f689bfebd40bb87258c381a78548ed1e4e53144aa6c2b9d4e33d98260e96d7918f19e442850c6196fbdd1f88d3aaf89807e791ca5cf07547e5cad507add800ab4fb266692b9c01305f97c487a0a08717c557b0a651490e9efa7809fc0b005d7c88c466c9374a503099c740bbc5d98238b28a9de", 0x8e}, {&(0x7f0000004a00)="f102121d603c0ab7e3cbe06c0e79bc5f83439f58c4707524404a2083d50375c3facb0db68230e7cdc8b7beb7e64cdc42bcfd783be7145e112c682e30d1b409f231b26d32c73f459307255c1c60de47fba95a46138da06d6770a95adec81121ef2842e8108adf01087070bb7791101a9816d7e64c505a72cb8eda1fad73e8239c3a31e6ef725445af71bfd50ad6e190f6d012becd626dc39eaf07f712d33b7a41ef668b663d2eeb6205ff59d13f77cd6f617c52c6fda502a3b945ead835962868246220b4aaba853d36f067966eaae6ed281a0ea656ec258a20f3c9fa6fecd0fe59ab47f5de75d9d774b341295a530523ba1010515e1ca9758f9ecdd4af3ccebd35f153045a74007e11346314f21aa818abf8f9e56afac827bf74354f286bc01e3eecdf6c3c3ec8b7fe5e422dd1cac2bdceb0358ed1fe52ad9f6a4e12c410e8767bfc8b825cbe66e21f7865bbd5d2d9db1776ff12131d9eba59e532096417cc3bb7192f273b621227a74a3558768cfab6d52e4ad5abf5de61e0913da08df510e0263e53f20220ab72d3e2b3a6eca8fc0e145ddac6941fdc63ddd1ea7e87f27b73582681b171c5dce744b3fd94a43b6fa375a89048350a508855391ef59ccbb26ba84267eed6315f59a41b10a098c4b7ebb2a529b5157a09a23fc272ad8cc9c7d213162c2df8c2b22d1a888ec7b7afa75724e5e3616e3203aabb59e585d4c77fa372eee992b1488a228e803c11fd0002e72cf2c34b91952489ff8fae80b9c221fc9607a64a60487ad2dbbb9b9be2e12cd424386828e74747393353da4c92e65bacac7631d44f81042a752cb0baa638b6eb7f1871963fba56896d482144e6b89dcade2a945f4f1dd482853a51408221774f7f5771f498b1875271c8cd0b5beb4ff482e2e5cd0592c2a7199f4824ec6a37cdde9e7a3b066132d7db0112855bf59b2dc1818fa105dab2e38839ee4a5dceee25ce9f3a0f51df2d4d919e92c6a5c52a97e65eb91b283713c1f810b1b006b663c9438e8eb84949fcee33c4c88489bc60f11c99959b0a5a2a7b6215cd498e1dbf97e5d2e38e9abb616235119b620231f197beb04c2190599409aa152b25fca237e120c5b5e738b4eb4367785972a82569274a4da76e0616d35a7966251c2ba0af4a16a4aefd3685d39ac5a5b50a88b2e0857f6b2e479dc01ebbec757d35a0980a16bcbdc78ff1f8f793c8420060f674f5ebddd21ccb0a3f3967bdd15c145e8ed148c3d810ff59174594f6bb897aab433fb63c5fc3ae32616885b1b4f59fd51ea81ea5b770b6cb5840621167b10d35d5e0b3c96920d6f96c43525040bde85834d1b3a4c093a2bea4940cc8ba425262290aa53efec775716406d597c6f60853a07cffc6313365100698f35236b13fa516968a07968191d9f4bbd0d0e76ab52d85ca744ff75f2abbe6be074c4d93553b0a9118be6783555477a3a61532a63f9d71d566404ef9812ce0e2ea43c90ac7f0af0ddf2387b38b18980d905f7819f2365f111bcc7303bce910b9121cec14b2e5f272c36043d2a6c0e9b2ed23546c6cb9300a046b63cd9c7aa16bda15d2fb51fc1f3c7c04a65079d87b1b86140554fd60f95c22dea01ead612ec938f66c5215d67f8b67506a237047d4e9214f91566b5bd81764efa587aaf57a9a9cd98b00888531cb5594d68cbf38d082b58ec2225745ebc160cb3a005f914ff5b19a7284a3a0f6ffb0dd391fe2c093261a461afbc574da7989fcb0f25f27f8b7789d65d252f3a394fee1acff39f7d3aeb2939b5b9eaadde4752881d187f30ccc96d1e36cc5abc8b38cf6de9864046dca46413b98f123292f5fb7f876d53481c43444a7f94c04c709bbc4f96921b83fa2dafbf479117d5478506eb240fdd41586415428fda2ae97512eb4620f0e17148c1c27e935a3cfa589579543d26d61214be7ffbeb76f9eabc7c8b4b7845df60faa15f040f7f8f333015c41ba8d882dc3bf83ff6d78fd23c920a66f850f25c43489439f1c887db685c9a20cff685af51a6fafc6059bdf1e3b5e96cf1dec256b1435871156c0a1218f4787125c667db830634bf88f2219cb3bd79e33e8060a9fcab7b383f786e232713fc389ed3879f905271cd5cf94a708b490b5e8c05e25c18f7e682c9304a8709cc13ab65163cb913835bf1944a890738b91adde4958caf4375e1cd78eccc4fa7c7b574c8a81570898799201848efa1a2ecf6e5e7e6ee73a3b565cfb3bb04cec81c7d0edf85e7a285133f411ad331f2814de7fe7ef4419f190e55728bfdd2a27790ca025148ccaf5d51bd969bb3e71ae61be47be199926e505c8611aa6fd54e173110717ad38b03ed8f9eedffb08e7a7011325e4f546a5213b541efb185faf5d35e5ed197341f8357e46a62fb4cf6e6f28482ae6dea52843a80892043372550f283fc9fa9cba67c6d6ef4b590ca8bdc15d0b4c2d62d53ef8d3b678514d8c8212285db53f529567396803ae1fd60d5d62bdd98f2eac5e7f4ee32677ae2c3bf07f1f18805a706b539f5b2c57f32d1c8ad93cf1551043119c9b14edc4813b9bed7c34eb5ce8dea9e91ae9e8f98e5c326cbafa2d59916c6c41ea2fb3c0acfc4902d594b8cc1f50de95e0f1b3f4c2cd8ea4ef817fa87cec32564dd604c68f6c4bdefd0c890701b8773726bd27b63b958588f2db05027fbe799138bf1c5d1402ac629bdec1754035efcda7a9390c0914f3021ceb2fd60180cef1f0e0b3f5e2580c853c1f5281d724f21bbaa77da847f8bb0e46ae639a502981580cc19a6e9065579f14f980de6db84c074a8f900851bba31000d6f1f4807efab17671ebe08c50049cf1c2ba4d06bbeb0302b756b6e6c94ab04c33cecd3a4f775a9bc3aba2cba853c3e22c60e68e9606539abe93ed7c490b592bddb6e89d4695d668d5e33daeb4ce3d1a20c303b177c0c9ccff5fe653a455672953d31f44eee948b4d29d6cf1143e64def9bdb646c9e66647124b888f41a352b76649a18c7d759f255e59e087c776ff40b0bb36fae0b7c48e82961d0b37fdbe698eb968515a826b6e85dafe4507597f056e33528c00158129b2511de2a2fdc7916b4c1ff4ae1c2909fe063448b960e083e3bb1ccf60fbf64324d4c5a21678349a1a9e39711b3ee4ab9fffa5682523e287524f88aedcf4762e289a042aced70500d2413ff807de310c12f1aaaf4f10858312de08a1b82f388a705fcbdb9438ac9e04e79e424c600c3e56d652ce4578a7e53221e8407c47add8e269db569a17c3ec2b5646c534be4afca3519720ee9f1b826ba6b08558ad5bac57203d4a56728f9b256cf16687b5b99d8377b134e026678f86091271da5623b1b780bd42fe72a122b889ec62a449344a6d8afab5cb312271cfe6a311f8d114fb51b64d0da3524f3b3206cc790c7c52d87c471859a62579f355eba247fa449c55577e685a7874147932c7c4bef94200b0dd72fe192ca4d25b49376b6fd243fd1abdf2c902d65e5061038c380901b748cd47eb6431edf475402422a0f1e85364a2d2563b3aedae16be8d54ce46276e2c354a86ae06d73172e3c1488174e7d486db461ffabfa3512c70b3e9e0896faa20193d654223e81a74cbf086bfc335681bb3bcff1d4b8954bf5648cc7111c2d5546e7351f940ae3a2bbd6c0ac4fe113c08da8caca252c3ff9ff27360262f7f0924cd9837ac8e4ff26352557373ac518ab871f33a5d7a7e90739b5d534461e934f1e65d594c6596c154cd839e188268f8e3f2de5b0643c1255d0027b784eaa6ce3ae9de8e6401dce16c70fe36b8443ad5495238639abcae0e4ecdc67430913143f86ff2c3707d99dd530e37e90e8da4608912fc650240bd7e5b38a5eac4e9e571695c749d7a9179d59f011d3a8718c1c645cb6365f69c2fac5d04fa8c73fa7454c1e97cd19c42946db384f1dfe1cf5ca998df87676851049fc2dd30e03c2f9111de85e27b67b41f83d5102cd0b8408466ed44ee0308589c1db48f6a2af7db011913bbb36167426e6cdc11a5d17b4e0538037d09787bc817b43afefeac02cbdd42491acb375cf1634883b2d17c01df5fb893942c631341c7fb90673af4b5c00d5dc90e474608a3f32676a5bc4694c0a9960dd45038b0e77c5aae8023c9634d41b3f48743757bf5e3dca8c9a7d83ddc98027b910a1cd9ba736b7c91ddf09c3ff9f472cdc9e9977ae3169ed5d6d9e60ae755f4aff0af066eef3b000c98234bb3d6d9aaf79df61bcd71e0f02b1f48fcbcbbfa6dba12c1ab1de3c811d107eab49395149ec2127bbe9dc2a8a0b2ef9dd46e3e11a91968e52c15b7a9e6e64cb59eda115c5a7552868194f5d6fb0c159c500e738e2c9b77ab7e3e1370e5d99d65d9baf8cd3335305234f64d115ed8b20a1ce02e66bbe611ee9c55f0842b69667318a3bc326e4d04b87f53f98a98fc467f21eaa0641e8f39c6f6ff4390b9369bb10571897fd1d1fa6f87fb5b3cc681eef9b7ea282811850e659192f7b27cbe722e575695fe04802549795e21a8171b8be7c87589498d8034e6c83ff482ce1b29cd07bce5bccf14c9b7aa28add7bdd205509dedcab26566072664160a56b1fc291a3bcf3fd83c52093c159d30440883aab1a6b4acbacc8852a33adcf3cfe017e3a333a28bf5e44b4977c287ff4f391007bf2eef69de66d726ad376dab117567271f2e05b137809bddd862c6f20bb81ecf5b42423a9a6f57db54c63f13510fa0f7d9863580dceba039f23df714b2710213247e9a803d98979a26ee64a2ab16596526059034f04f38b8ae3131c2a4091c484843744d5412f6b56c0983f2bc67c8dc82afb3fc7ee9000ba17b168218a1e50654f28ad777c4bfd402c7231810cb30abe5d5b9043be3c4e776a8ffffd4c42290ed7c5d8f987c0ef9a11191125ca616c78eb3a6b7d36458b890d72b8777359f982aad66757951fc77dcf871243e3ef7c7ba10aa4a93c0adac10ca583c81fc6e42bedbe5654cad8c8aba2492f7dec52c4d0efee767a0410ffecd991db99b9887ef207fcba50687ee67223236f37be11600a4ff28e3dcab2fc1bd271b834ae64c400d2a155ba6e6704be3475201f21750421b0e181ce5920c4ef622381f037d2ee9f396422fed97fd61e51020bf258478edc7b813ae1f00ab1259c3b10c425e05f6399443a1dd09b81de4c3e9daa98b56d1e62254d1a7c9647d3701ff59eec97d652d912242281a61ac89df8e8667f13e4be00fea570bacf41109f8153576e97e3bc7c6041fbf22f5b384cb99842a3d2b96a8913990fee680c678f50b1baa58ec95e979530ad6629e1fae8f1abb41aed1519d9c37e5464b4b6bffd854adeabf2cf17ea538d25b19cf133da3c20bb93f6e9c9a1570e46acdd2d60418453a0ff9501316838831f52175f6c60d8ea087b7c155f7dd6588751a50a5124bdf0db14ee6669d92c9da4942b25625d33272354610667cdc69ee97f8f0ad618178960976c101e8d0bad2e86ee4b089d31507001b60d21c9621381339e075246d0f6ff9358c381bb621f114f626584ac66fc282a98525243f467a2279e69180abb6f493c85bb113295def41ffa4b843771550698ec157eb6212ff2dc85353e980f440f76a0563c97a9028efa2471a006d9bc04bcf4ea44058fbf46ff7daa4e5b58d3e8d478673d91dde8da2f49cedcffbe8c88373356f449c75d1f3d66e409ac411335d27b425432773afaa061f4e3323f065791b6b12c738a974b6200145bb3da296d0dbd05c19f8a4096178c674e8952ba2e026c1dec7bc3b5b954ed905cdf29506d6274fec035d52dfd971922d9e836f1d4ca915a17647", 0x1000}], 0x6, &(0x7f0000005c40)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01, 0xee00}}}, @cred={{0x1c}}, @rights={{0x38, 0x1, 0x1, [r1, r1, 0xffffffffffffffff, r2, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, r1, r2]}}], 0x98, 0x50}}, {{&(0x7f00000015c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000001740)=[{&(0x7f0000006240)="5b50df6c0da9bbb178bd0ee79097ae96596ab24cddbc301ee14cd153af36cf0e24b204f1c1144497f162fe43bc28cabaaffccbe3dbdae3f6ec64f44f636c22e03aac91df31dde2452ab55918614764787b9dd50ffa537c6f2fd5f036d0675517f0998b7bc51d050939fbf2771b762eefd21a18b4ce766cec89e817ed7e206d615d5f006dcd69dadc276da10787f7ce5131ed54c7172d70526cfa82081e8b122082dad295b4c058382ccfb47da92759cbfcbcc3f36997106df6165e083afa2aa6771717873ac436fc67db2a796fae85df4febf061e30f82ac8697831daa7033f9a3763fb293bc71966aac16f66640afdb9a1b9ded669d8d1109259f59831cf70c5695ebf4759848ac449662b36e8c1ba1ccfd839185d39cca65a955033f47351bc89c16816ed313694e11d7f6e4e19f7d3441d890bada3126577ce5385cc7855d5b435a93cb0688cf27d8b30e27fdf9e01e97ceccd09b3fe57ba1663856d3641e1f94ece76a020db94115c09e0f0ec1efc9b483f788f62b6bd395aa20a23a7241134bcd7ba1902e03269323f4bea13a8d707c0fb037dfb65b01bbb85bcffe11167b50e45e018f2fde66e9bb7a0265d72f056954f128f62847e72913db1450fe98e8cceb88d98cd6107110e7199ae8d42f9d389082cf6eb16fc0e23ef858ad2cc8401de44d15cd2fb210c7462e2f35726970d6e3bb5b859f7108e2670451dda54a1175b22d6e3face9b079b694af43b25df6e4c1c2440f1b44a111639917974b7a04d30dbfb4963fc70d5887da9905a0be8457e07f769191dc1b67c823399fc8377895b82151a9354b2d4f9bce974b09e856512fee3fb7ffa3452fa984bfd3725431fd03dc758b4cb7a38989f7cf056abe88d1e0caa39a20ee0512686fd5de1de6a2cda6450ccc8d1dced1d867496df4223ede2fa85585871a681ae38760e1817439025b418e1a25e1115ad419a333778cb4515fdeb27dfe5fb4561f8be2587dc8c891e4190e2e006143daa02f524240d1b30181bafe457860f988fe6539084a328f9ea55eebaa4ad8dd62eac5f026fe5eb595e5fb7a86209bac93cf64b94156f544426c977bb4bdcc41bc60112baba9a106d5681bc47eada3ff0e81f18ed9e929740d6bfc877a0b821fcb8bd2479d769b66f535f1cf3643c55f9076314acdff4434c40a733ce827fc88315e2e64e87b635216821ebedeba3e70cca91eea8f575f7e4246a5868764433aa8e31711da743f52b48f88af1255b260f88dc93e0521325a9f534e9db7036fffdd094d50745c51287a5e60203df2e599b409352ecfcb50659972faafde54aef31b280a8559c1a00b08ce2bddcdffa08378922aed08519620a038cae1bf36407574f52f9aa448477d4c886c0f3a9ad3f7edfb4369c483531d817d224a2d499ef41d7dbc067495baae9e4fdd3da2054b9495beb9c3013d7aae9af3e68baa648684680dd2ca91705b5e9833948ea4fca5f5559874622a43926ef15d41a89b8e1eb3e6271bd963098762058f3a6a38eacc645dc4e4807465b7b94a424abfffe8548da5bfa566bd376f1a187f65f9dc592fdeef36b00b09338cd80444f15e6bc76ab7266059629cec4d443f058ab4a2cb05559d41faaf5d5478125f74431feed9620ae8d326cedfc3a58a3b1fc9e02f931fd7c80043ec19abd5e7e09caf0955881f353582a18037b722a29587b1b2ae829ade9ca0e7ddf8aef29d0fe543b62a85a2290c6f623057c6da68006adc6402ae3b53dee3ca0eb78aea15239195389d5769a5cf5544b15ee6c2324c29d2a7d147b1b8d7a4dd9d88e9cfbd0ae0def7628417a668ae61ec3b8ef2cb0e79a6638a0a19dda4f3f02a485a39ec43b142c38e063f809684eab6a2fbf793f0ab5c8720fb88a7b14c61242495982607637be4b510c72f4f23b50b7ed21b4c9e46bcd1df9a95e75c0a79e7bcb37bb286affb1ab7a89bec3f01615bb4ab39624120086f0b0ec7793818ef334cc6615baf3c8c04c024ebd1e070889726f8bb6d4751437963b438f381191ef4ce24f86a94af5cb2072b1b5036f6642c677cfeec6afe5a8ec493f9ecde546d31d8973564e83a0e3917f2bc42c1b4b1c1513700a72d9894550cdce69bb6d5ae68518a217abb4f08936872ae185c2b343f6a09b2657384b1d22b82f01daf0483137cae4b5ba547d8b1fc803bcde1e12a375f28f5d78b36bdacf603078f38939c6a3ed2ae9203d85b6599ca7f8dd2d38e947290d78575afc17c5e61fd2d7bdaeeae3af618781012f689d0bfefa5246e53d5b9de433676e5a11dea00a55ced08e7b749f881b53f84d16636651ffdf52ed40a58181214e61b3ea0165d9ef084b3638c9f46192abf83c8a3fe2ac1aea054f2523cd42866ebe9a7c5ee8c894996c5f0fdfdddb105af92114262b741deb22680db2b3e3e10e9faa9380c370a0b86e6026e5ff45403305b5dc5552e4b204d38b60a1d26db756972eeb0051c485983bb630e16ca49601b70b7832f6fe7ce6edda48e2bf7145c9a852f3826874a7619a0184eeb3ff09201238e075b4bb7269f5084bbcb9e51e0e356fa8733975ed86dc8bf22e651c604bccfede731992d13ff9bc3f330193aaffddf3d5e14d51d5e719ce2451e5ca5fb170be85ed3c707cd82c08c4d94fc2865a2e3bac7d18278c74a020cdbbf889b4e1654dc04a101a60d0b4ff522453bc48f2fe5e85b704f43c4f1e5581d65910555c629dfcca656dd35756e6a058796da09d61c0ae99f86d273fa027816e8d4fb30ca66ce5cd6b5bbd86c4bd06fcf1829504b6c64f0ddf79f9ee82b0d3d8fa7f0c5bfe51460e1a724490de841b7199856952338ca69d41da884383d6b03d07f818bb2f677aed5f0ee28c90c538a07d13791b25fea1a38686268e78cd172b22361a80cf738376342d8816d7ecc80cae92b5a915bb1529a5437967a0d825c520103391bf290117aefd9208c1f8a115ae7f9f39c5124f9c31834e3e9ad03157e5194f6ff0673a5d0c2ed7a89a6dc4c4ed1c11880c9dd13e1c4e4b6d106d409fce058cdad7b95b7480d4f59a9743a6b04b4602784d401d207a991dfa1a7b934f4f4cdc7688a4b8125f0dd15977f7acbad3d177b0587a53e2ea4835810641da4fba00feb1ccca6daa98e2bf6e24dd832f42c0b71156b84b85d7b12a9e15402196850cd69d41dd29a56fdf595ccbd366555a2bbd7e1fd852bbd7f98a8fd7074e1fe33c31619ecdcc99496cb49d82a90a7d7f9e56c7459bb663b5e3984edba095067b9d7e724c3a24cd27a46158f6768fdb0f1344ba3b52f446f6e4e5f676fec2b741fec5bb5ef210781e57585ce31179f822e776dac09a2952ec2495ddcf02ea1dba348146454d55468abe6a2c18e3b2f0c92ae2e7c2f3e9a2d1b39071aa2f4c78c3f64c33c0ed0395e99ea840756c19fa84dc13b24a702c94ea7e5bd22689720bdcab91df671bb336c34bd917b649bea4d2fa4cba7a5e85f57434e4eb279c5992853382e86eee67905357106199cb1b2a12406b2cfd794775d215676f9ee2997bb907a22c6f16f26ba03891df9d67648542ce0fd4fbd7843ea99c1e77b25da9bf75bf78100c1ca2b829ab50d176776fc78d83d9a3323d67b4f6609c54b5141787bd229b0d343b6921cf737a6d0be29d9689009235388b47f4472182e419da4f8a4a1b6f430b81611eb93b75c47a92605c4cbb510948058f6242969adc23935e81e04b9296423b878851ceb136a2f7a35721335fa734e6f0ebccb13ce2f9300ee536e3bba26b466a2dc059ca685e622beb0b799f51fed606b8d9630659189b314a1ab87dc2db4b97db928c771dcac79f108b6be556e1b6b7f4ba018a63e7e7a193be126a3d11a4bb92245bdd8f58ec6146aea6cb8f86401c83eeaec430ceda5ad93f9f2b32d658fdc84ac7bffea335a2d4c1bb7fff6c8c477cf4be32ac5b20b6b3c22f448879a3f9e34c7af5966f5f088d80ed6fd09a6fff8cf06f3c571350c729c87c45a66d9fe7f0a7b5dec12238435a486443f1b58fb130d2ea018fad3d7912a36f9de4026230b7c3a07e5eb7703fa9a607998f1b5e4d391843cb5ccbc8a243987e2cefc704aec8cef7242d852e10ce104712e832089f3d6bfa1d9cd747fe1ef4afb5abe159b418902e0a2359790b1df87b9de7055f9d5102b640415711297de9d134fe540f5e251031bfe97a9293643181933e6d04ae7400286a3620b4d559550ca23aa446fd32a3243da347aae87abea10a3d210b478d45b4cd77be9555253ceada8c6c89d6061286ef399cd8d4dfa5435165b302edd846a699d67825417f80538ae70b2fb30ab8cdc5e8f609c589be1ee9ced70fa96e1831661d32c8e19db113d5cebf020052e400c0d6122e7ae97a2399431fb515ba160f156db3cbb3fc61ea90b318b7eb517964c99ef711b2cbe0a33489bb96a0ea53e21830ac613fa5592e27a59bce0666e4691541c43b802fd762115f2d3ec995396b5bd9419ca5cdf0bb444713ab2a5eb0d657197f74de872f86e4fe27395e0b4a230213fda8f3552967be9978667e568c888acad3b77d66293ada8d03d36190bbbb0dd38cc91483bfc427d579e48cf042b16f0d3dc41c069cb4a3e7219532b9e3e00726d356901f5e7a5365839b2917d7101d1bd9da8060aedc4cc9627332bf7928e007d4de22ef8813162cb14ade7064bdb464ae1735cceb75ba7c9db3147d1c4331bdd0979d83ac184bfb6382a1ddb9e5b0bef9940f90347ca35c0edb85eef1a8319fa06d07aa7895667f9c1d8d6081c5fdc893569085a7e1d9fd3f5024d01fac1114cfadd574fb252bbe3da589ed554978778fb4fec092b8feb2058b4b06c620b038929b6558ac1d088eef052f615b082c7e1194f6ee3244bd09d6d4dc0d48c2660446f88781f6cd7ae76067e121abc871c9942d52995cb2e6d9e7b5af869a57d55693860b05e4462aa191a2ac3097dfd893019d9734dac2bc69de1921f8fa505e46453be300a642509530d5bdc2d7fe13609fde64889aec6158c510fc3bde2751742cf3486a31e3da90d8b09852e129025a9a784254711b5173315fcede98cee3d51973708ac99da05ec38af5c79149e67968b9025c24b6557d06bb0ff782776d6f545ec94c8b0f091fe5e4e1a875e0e1de78753cacfdc9fb197279f5c4071bac75ede4d620d932c8e51cf26aedade595071e95378383d4e402cde703922ecb66ab407142bfe47887bdb415de3f0796f6d2670d74df8c45502833f4cf45707065d049d58168d8c2f7c5b1b236456202516d2609c468252b47268e01424503b3f92e2ad3d2abb774587297fe1c83ffaf99a98223b5d267f59547e05b47d59be3b92a2fa76b87f02f19d004f877d2df5179ddbb23b302879b4087ce8ee0f7e5ea02011993239de04985d9cf437788b458e2353baa6971a51c70ee744a51540dff0c9f13aefbf22898f0cb67ce50019007dc21a9258a0d4f7d74c1f3f644d9a7a860b9dff8d850c6882bd9182fd2e707af834749d4bf6818d7d86b8328945ac165e8c6bc9b64c4c003f6bc6450ea5a71bb704a8d13b1b19693af66a8316f7720dfa3759ebc28d3abdfc057956fb4cd87ef8a503f4001873c87c496894a04dfd74926a73f6ea7fd64e2b4fc35b155411b6e390936da5b394ab2c03725e69245f18327210afb7ebf9d50e984cc07fea78e7c3b88d319946564b6366e0de2f4e2b4bfe82c34e77c51ef7084845d0fcca2ddb861dabf2695addcad28e0a4d105b0954555c0c642a5a9cff282a0efbfb08cc057a3a63e6c3c8050c7236d8f6eca01d089af75bb36a04dc7cfc", 0x1000}, {&(0x7f0000001640)="07ae933e6820e2caae3c6c4d4f2ced499b", 0x11}, {&(0x7f0000001680)="e4e115d8c26205f9002b5a7a1b91cc7cb0900983481634d27d0f0fa045ba10", 0x1f}, {&(0x7f00000016c0)}], 0x4, &(0x7f0000003080)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0xee01, @ANYBLOB="0000000028000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="2c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0052eee3e800", @ANYRES32=r3, @ANYRES32=0xee01, @ANYRES32=r4, @ANYBLOB='\x00\x00\x00\x00'], 0x98, 0x80}}], 0x5, 0x0) (async) getpid() (async) process_vm_readv(r5, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) (async) process_vm_readv(r5, 0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f00000003c0)=""/131, 0x83}, {&(0x7f0000001700)=""/5, 0x5}], 0x2, 0x0) (async) process_vm_readv(0x0, &(0x7f0000000140)=[{&(0x7f0000000240)=""/67, 0x43}, {&(0x7f0000000340)=""/75, 0x4b}], 0x2, &(0x7f00000005c0)=[{0x0}, {&(0x7f0000000500)=""/139, 0x8b}, {&(0x7f00000017c0)=""/4096, 0x1000}], 0x3, 0x0) (async) socket$inet_udp(0x2, 0x2, 0x0) (async) setsockopt$SO_BINDTODEVICE(r6, 0x1, 0x19, &(0x7f00000000c0)='sit0\x00', 0x10) (async) connect$inet(r6, &(0x7f0000000040)={0x2, 0x0, @remote}, 0x10) (async) syz_open_dev$vcsn(&(0x7f0000000100), 0x3ff, 0x2a002) (async) bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@bloom_filter={0x1e, 0x8, 0x9, 0x0, 0x40, 0xffffffffffffffff, 0x9, '\x00', 0x0, r7, 0x2, 0x0, 0x5}, 0x48) (async) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f00000027c0)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d9fa743db8db03d4b7745fef1504ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba5870786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000200000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0281d58638f061f86132a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d09d2fbf06c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bec70d0e0e391ad30c83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a644e9e3d769db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f163330d"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) (async) sendmmsg(r6, &(0x7f00000038c0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}}, {{&(0x7f0000000740)=@l2tp6={0xa, 0x0, 0x7ff, @empty, 0x7, 0x4}, 0x80, &(0x7f0000003500)=[{&(0x7f00000013c0)="9f8c1a5229d29879004fcc112a8bdc4d30d5455a369e95ee42515bc1ea01007733beb5a732544b8b53b3289bde5a989a80e31d9e737e9bbe0642a592bc60df6d56d51946e36c006d7304ce60948ee84d36640f056037f6743898f23f32bc81c8f9bb527926e02f9ca9f8a6be493ddb5f24dcabeaa343d7d926be07b8b35c5eca4348d11cc472208180a3146828ac711dd513548699e7d49a72176810d7de8c0d9c0dd3765cfe66f97ae6026ce934", 0xae}, {&(0x7f0000001480)="b552889418ae220c2bb59f5a21b82bb1beaebf16b2c80b421020bc75c21d981354b74954e4d5a4b06408af46e3b2dcca57baeab1737c362463e509d8f4922e90938306b056f16133f7518001c8b4d2a4d7c20fc78b08d19ced1a0abb2ada737f4c9d0185c535c425405561add0506b043db5c3fb1069fe19a97a9c3a25fe7f8a4bf3830b184471ec963fda890f0e725a8e13768f4d0cee6d85", 0x99}, {&(0x7f00000007c0)="c54bfae095ee25fc6c7676aa64c925208970c75a2bc23712bffcda461b53dfe2af9e1ff3bcd80cefb0cde94cb01222f737c1d90c5fead416642d0acde996439a3ba697a5ac61cbbfc073c659050e6477d86f69bc9c563f41a8aadd10", 0x5c}, {&(0x7f0000000f00)="66b6d157a789e74564d2696e9d545a0563426e1a28f774beeaff17925b715793dd90ed4654eb05ca28e1b4688d11b8fdb5356f96ae0264038ebe74d47fea228c", 0x40}, {&(0x7f0000005d00)="75eab1ea7f105e120aa7179d9005e2ad79ed45d941d6f7620c983d4f56bedbeacf1659b78ea58b5fa2323698baeacccb7a352c7675cd7e328aa396876e73feab028ebc8937feccad9f4a334644c20fa88c46d820a885656a10257ed742dc1fa50ce443187a057c7c7664cf147816e674ea86fbe817f795e576c57776f3b1fcd6a19c9f86f8d5a7ae3f2ba2dc3de0e327", 0x90}, {&(0x7f0000007240)="640a613a3b219c754bf17d90d241bc29fd5d53b122334d737b53a37aa9fc6dbff34437c02de6cb2766a2f36025a6cecca2b777371de37503dfd5fce87ecb12f9030e25946f13664413a4423fa193f6d4e11801c2d93e5062290bf03b5a318f2508ca3d4962340ca27ae1a9275345aa0288fdeb6259e6ebe8fbf96a44322c82bd27467d76578cf0a98487c478f9462e40ce6e5985196e374edca97776069b8dc519cd406e97a1b353f30d7c0864dfcfed76cb5aa223e2eeac45cd5125db755948a73baa7a03d2032f3c1e38553e391fcadfd0fe76c69e0877ffd80a90f249e3a753e0060e4d19647edacfa3f15af43724fd6ddc2c5a0ab61ad824c30168dbde526281083fa5c8e8a53e1762de63b11dd12c6f23a5ab28b8db4fd5008c022dd0cfa08daa60a08fb9d2edd719ef748a925be5f0b1ad36d84b944c872b63277fd19003b576741163ffc8e2c2849b077188eb06f2bef37dbbc379670bdb0318adf2e1a9f87d2fcda727e6a6c44696d200ddf0f1c78ab00fbb3a1b07f1b9199010e20142c9a6963f6a868d2861af3c9cdab66a028c19e7e4f5e14bafe7ca3393223ea3feb96e711774e08fe2b93a65bd5b87938f41aff4d725b36b50a943eb9f13e233f10489ce77a2cc1138fdf2e19bc52643c7b799bc84aaeaa1c04201e6ce2c7ff90bb6c760825fdc58cdbdb3f56009a39a36f96b65b18050fc38c59b6e6b9020ad99caec0eb6fda03e894c236e03f7986889614eb6deeffb2fea00270a6baa8a3d79b1d48eb6d1a68f1e2bf5a598e770e84aa60a27d7045fcd4b03be8ddafb857a72dc859624fb4fc187fd840205c41e5788d95c25b33d06dc06c3a6ac6de51aecf6672df9151a300f6ae49bae45d4d7f03efca99f631a1aa339493ff0933fc0d0352887b896dae3a0bdfa52dfbf5edd84b8b901c379b56d656325492e07afd4b978282088fa4b39f4eff1266bc789f720bcff7b48b067d70a9ad3f495964c818f5dcd8a1229e3c72d4cfad0963049166a31dc67e2b4628ac70aa242250e1e834e8a452ef14974546e2985bbfb2cfd6c4d67643be1cfbaaeb8014533ba90edcebc687767020764d44309b5cd004e3b7d9778f36d0ff1a5aae60cdb72fee45c3f3fa334db5188e21f384d235665448a746a0e77279b2dbf48a56828bce8ef7c8fc3c950b457413b833a9deef51881111f83e84f09dfa0db1628e64bfeeddee41681d9911802ed9ce344f368a2095e8ab6465b1a0cd922cef680e46b719ddb15a3777de95d4a2f1ced077a5339b47a269ba5c0e6d6be90e16f3028e95e795e91efe0392f2d1227797e5028e8c0519f8f9adaac361c9e44bec5a1ffcbf53e19b96aa018392f48efd84e7dcfe16ac795733c7257e87d9ace63fece1f061361a7124b5834d773a74c3bf0b329badfde00c48886daa32c13e72abf0356f3b84e1d6ba16a06d6d55255af4990723caaf11518815efe176c3e27bbd024ec4ca06c13306f6e9c01c2e4b2bdb6e3e4ffbd0dc30a9f07f73df160fb7283df7a4f092491c3837f20d6d8aafb091716631c1e1cf19216c5bc34b666d89137bcff395d60a8a2beb94dd55ec0dd4119a07409b902e4764ca0e32847f7f2e9cbcd451a730db3e9c830f830a8c3aac85e14abda110a844cfeee1d8711344e8eea390b39e013af00a10d82467cfabae0a3f72eacec633d7de878ba9654e0502d558413ce942d37ba7c9141d93031b874cd2f859a793a13f0a9a99dc1d99263097b87c70ed1fe075544729bdfa11375b104bcc871e5d3bf84970312369bed5cbaa153d873e8e68dd47d01aefb2b275e211eaff57c5f7fd8158b5d6a821e86b92db9e46467d1403d97a8de2b88299522efe81c1fbde3d1b62a9ba04b03e477473c85c1862624cb2b4758294c252e3ad44fe0ac64364a3621fd10ebe45bb7a765a9c2195b97d6af0abf4e7e3d2437becaacd54171cc3aab9c253937adbae44f668828257be6079e5e23b6f0d5be79d0d9112118f19b80b7972853d7a71fcbd682f36ec63d68c20086140fc73ed2df526fd2c8882700516225cf838a5d8b261dd6d00889422d99cb4754ffc209d399427c337148ecb5d8f2b8ee01d8ab4eb25200aff5b19af7385550b6682793fa0b08af5111f6db01c24b24a2fb0558719d31f5e4e22ca626eb4364af65d1323f49c266db0ac93c99c5887628af2a38cb996fe524c21d7beabb783942b5a39799ca0d5e07aa88c5ce2e67b47a0900c7a823f8f920bd0722331e8ae40182d078bfaa31b237f0ae7c6505258fb4cd33cd79381565945336a01d8468a1c36817c2baad0d57ae3a34550688ecc78b1d4c96a9625e799ad1c28e12394ddc0b94d5396f9f970d1d6b0c2438f4cba8fe2bad2dc61e74425df19c68fac0127a1ba773ad7fcac6e09a09d1e25b84b3929ddaccfcf538b8e3a68ec8c18561f904e489d05fbc4c045eef717c92fb2f7d4194f5e2ea51cb8c2b4701b76360c28bdb811ef90854115d1b5ec3a18cab01bda14fa585aea42e5a96998a1c2fbb14724cc5b07d4cd56c571198db10d9938a29c14d271f68862099f0bb5f1d97d0c6fc43f2b9f00368fd52e4b25347b8f525ce69e2ec5365702c2d17d98f729796cc36bcf9eca4df68bc98a9fedd86790706de0f7c05950613ac07eb538bc822654b92fa0db57c2ef8a19737834448b3ff9d5c7d2c20d29ae040673a11939e9b2747c683706a49d5c03f844e61b7f07f71e4f07877ace0d91de6e6d393dff23349042013012878d25c01f3c4230a55d2b230e20f8b078bce65273070a2b36569b90a8f72e11c17f133b30364b9e7ff94fb30fd1e3e1b368b440bb28c8615ed639a998ea1f884caa16421a59e4c60f252e4175ab32f58c619d42a94508a2400094eac87d1b116e3588ef79e2d5f22b11d801d3a42cf4f0e0872f242281a221d3d725ed27dc11031f302c89dcc62044cd36fc37fea44ca643fb6bbfd01d964ee3ef04a7685d20a804e7178db7e28cf6a735ae2f1d9b7fe45167c9ab17d8b2a84ad644b6b8d744d37d54fd612e2f51cc762e7eec2bba937ee47c86886bbf9a1bf336f78d69f33cfb86b64ed9e6ee59a586dca8efb408d7032f1f8b838a50c69da239dfcc8f2fa47249f834e981ec4425b57386f93d4e034f5f20a726688175aaa73561bd1a577a3c9457c727edfaad7096bf1a6d21a902db2c053912c9e357b7511ce490c08b31355a52adb19cff8933a265766428ccca5b291c0d964028fe9c9ed13f692765ba20645e39b0b2e5a5b075c8e013e24ab7d12d99046db44bb27e4367e79221ecba0afca547650329997b4196df0a06673a3fa82be8ef4e5ce1968ac95fb9f00093dd3b85014d75bc57af09a3fadebc52a58b9247ccb0f750844ff2688cd2eb78a354a1a83d4ac4a599c0317378d0db8b494b6bef5e8c7ce4113b49829e332b4749a3b57441a4c390e405ab4583de2b98c86342998920478fe5831ef3a014bf52d324f9aae9062368292e2e12a7c0b45f7904e384b8a3aeba98d64c1a3ca69a08a5c63ed93a1a9eacd600daa10b398fec64a3da986e3ad8f72497330b2b7294285d9027200d7df8e5526fae7f6bfc184b494ed728c11afacaeebc6842a787944b445780e92b49d880de5bb7b1ef5061d7de7716b6d130bade2bfc4c0671d741f40c26e458c94ab942bbabce0677b98603a022bf3d60603d74887fa4fb3fb9198eb3d455ea4632c4046c06c4cc4efafce59cf56a7e3e564617fc5843e46c77e9cdc0eb0471c1af86f97ba617f44c20ffd07983dbd0dc5fcc66c76d976760a0acec8e687b88693b529d28ee6245ca8ce767fd9d9f212411c269dfd7f4affcfc3b4c30cd4a5a173112d4869cb8bd12cda02f47248cc345f0eed610740462d95097f932e659e0f5e6c2f0871ef4bb0658613d878a42b56195da28c8d937c23e652cbcd7eb6a29724529329cab63ebeaef8b7b3b7cbfb2b397decf72f4998e3beb1bcccd93370c1242f73ee0a42fef4bd4c5a79aa378280f93cb5e2b8581296f09a7ec1472deddeebf3b685eb2ab6663938044df383c2d7b932e10fa1cc8b2974844c748fa856ceefd6fc6a83ad52b5f5875e3e9dce05370966bc290fae7f4256650b715f143a43ee14bebd8722124084eb2a1aefe7418ef75fb4977bf1e0f966e1db9eb66392345ef8965d2190476616707d72c36846467a7884433b3b7b20fca9d7b452912a06ea9de1a18e97bff8ea95ee0d7c305171b1e81a71478f545900e364373f8dcba0e1aa678a651e78d33a4dbe1349ec5b87d62cae43bc0a182fe21afaad13cfe846a3526ce3e642ecba069fde5202a74e349c9c50eb5bb9f13f09a325e90352798c8d6f007ed9117314ef04a84d1b117ffafb10d90053cbe6c95e5ed7b6dc97ca242ae40a15f06369c52fee60c8fef1b3d08b7b65fff91bdd6d907cbdde5066839ab74787070a88c34aebf939e0610234677d9c84e73008d7ca2f3a3ca3b6ab61b9d59173a2e58acc744973e3f2e2cb814e4f9cf67d8248892fb4a42cec893574d5398c8b6f535b595c92c61cdec9a939993835401d58704342f7ae5bbbb7220da973bbbe45af88ff6bcfca03a60bfa740f6a4b1da725cdde86768671fcbdc44d6c6a207fd4d3c7d31769feeafd75fc9a919da717dd64db9482de0915a49b0273ee3dffff3d29e167c1fd5999d38605e22a62c9f069623141bb7ebb63ea26a849c145cae4b9b7e78b1d190c989832cf87d99a7bd107bf1f3e081e6e97d7b2b921dd672b194bf09e7b4c4f7137505a07eee381cc7097a86d874f18fabcde7ea088d7231fa52fb637d98b66472f75a94b91bd17a33eb751a26c81fba8c51213d1c45996f08b8e2a2efc951789b3e6da392c5bf68a742cfaf721bc0ec7352a20cfa96d410521e1a838afc267b9f11f704b0d2d071b9b2c3cde85cde0de3aac861f77296f349fc4cbaa2639ca56ecf98abc5a171030e5cef32fcb55d1db3c63bb453d62232909a4c9370e6372a0a161e4fe5245cb1eb7fbc6b3c039f8449ca1600830f88a3405386eab42abf25c7bd90de149ee67c1423a78a501636bd40deb65b00cccc7446b7e0122292b506cc8df1b7819fba95f3b2b480b408b007e44d726fd7068830105362537f27956dd82e0c40d40f70a166ed65508cd5e66491e4b20434e9136edb057d994288deff74dbe86cdd52574730a00e9a776e32f8b3032c722d71e2d172218c8c5b75b86a4f5e02493ccc06a70f1de5a10f85af4ef3f8f7ea45d573f00a0658f64bc51aa6e8f331bd3a035e8a6051bfc85a6403e25984185f4e6c5758e22a6b5ff2971c61abf9caeba86f5c5f31cd0cca275557306f9a2a4eb762fa984d2ca58bfa314c9b5ce1e2e3d938cff19a78bed5366c2079f8d2a9659d38cd1568e0b56200f53001522654a99a1692ecb525da9b1ed39594e1732fb1b8abcaa2606f2c37711d12e6e7b18e5dac07718e4eb904cdfa9a0b2c26886a369e4841c29340ff21c22a989eb7bb9d3c08f0e0f9adf6912bab9d1826c821de237fc7df7095398b7bdcacbb7ff1da551026db05b265713881b50a64952e17466d08e1aef582dc2e775c490efc72362024efb7299fe1fe13707ced6c91d7ba799457034eb83bbe17dd55c47cb2b3f9a976c88df23b09848d216b3d54b664d0ed4a4aac3548dd6bb52d6110c876e9a418d16b1fe68b4467448218124198c2dd26d73141de6518247fec8388ddf26edd3dcd1476cba1db0cdc27a7cb2dbfedfeeeed8aad59221fb50c49c16ce7cf9befe76a487dba76c83caeadceef0313bc1a985c2", 0x1000}, {&(0x7f0000003340)="cd8f1d08cfebb7904647a2ef55329bec8ff4f9218ecce2ac6ad1365e233de4a02189b5c85a421c4054234d84f6aeb0a3d324fbc3b3561bee268cdbc204b9194314d34d145465ac2dfd4590fe2c26633f3a44cb3db82035a0c5eb82565dcf35f5c6a55835b247a1121232fdec80cc387a2b8476cd2700c50f339e4a6072b67f739e3544192a8024b44cfe3fb5da3d7a4a5a5911ea4b34c391ea775fdee5fe", 0x9e}, {&(0x7f0000003400)="0872ddfba4a3cc9925d4dba9ca1e375f8ec063c9b94198b8a061646434de158bcc0e39007c07c80f6c51663a337e8dd72fdc58f6232c7c1fb66b783928866c5a833f317ecb26216b32fbc18f0d937b973cf8d66adc55f3143a44f25c69fc69ca1238c9134db50af0d770640cb78804ba9d5bc07e255fbe89e9ec8e6584dc1fbf5a4db9c5a295987a880073f2b03cfe48ad76082e1d4abbce7ebaa658827f0731df7b1bd3075631118cd675636de8e495727cff028ebffb453040ab89e8d089452c07424f8a4ea41bddd15c17d4e81ae057f238", 0xd3}], 0x8, &(0x7f0000008680)=[{0xc0, 0x118, 0x9, "3b7792f0d18ab08aed720af081c61a530748ffd2fb02903669e177b15834849df311ceb416ebc3ae90c8614c9659e524e6918d2ea1edf6ae0d8ba56ac4b97764217535285aa909bc1ba3af60d6cedd346c041507d7452444b70697d76e1f0249b8acb2b53eee58bbb94ed801194c3705a35656e553178d6f7906a06c52622152538fcee77764c38d56c75ba35ad1b0af3e5b594a38664137c345e378299ed986029c24f80b0486ab5dc5bed5d13f"}, {0x78, 0x11, 0xfffffff9, "77d81ec7425df99871131ffd9a4379ccf55e2d3329ec8afcc95709c33891f2ba119938740bb574b37a4bebba1e0543e71f95de24d55f7e3f4e950f3236b876513cf599fb750aa4961f4c7bfa924d87c81dcc1582a8bc86aafe2be80cbfb03c66af77c409c4dbeda1"}, {0x20, 0x101, 0x8, "9d15976ec86830caeeeab6b1af"}, {0x1010, 0x111, 0xffffffe0, "b40028abfa0b71a33ee5fbdaef9d35ed69dda7067c1666df4a6c1279852f962b8b9122846ce1d451b87a5c5aa3f7e678cfd9cf1a9733d6c0e7203f778151fa8820b0b24455b06a8b8ac1af12b65888290f1d64efba2c9082705d7dbe775cd5520176ae892a7f17f7b77509635a93472587233c17d5ffe65c3e9a7c0fbd9b935b9ae8c6732a06e5b143da99f16edcef74f0af7ebebf52c82a9df4ffc3c5dda4bece2969631e1d51c178c653cf74f8714a78a8ef2f75851aba4494bacbf81437a5cab14176c52ea5d6f9bdb71a9f4d6ac5b661cc426f764e9489d99b02c5d2323f3dd13c13dc13e5adee5a4d69a11f2b247a6e301672f1f66d9fdc9ad0ab80543d8ed18e808efef9199c6c777eb5fb95ce342f98ff12cb105905ed20726ddf6ec09ef4cb1a116c972cf99d745a79582b98bcc2fb03fb1e3a09d6556d6d28570ed23c7e69977ce3ca30a50c06d004b0f3e77fcebe3de9bf742402eee32547dfb23232cb38079f1b035e5fa5ca81d47e331b76452db52101ed36f9002eb6150fd1367e43dd8aefd6193393433ed365a2efabe90a62cd14965948d3952d28c0565354377e05461963ad9ada4d325a1c10150b0006edae469747ef9affc8f0f46c0475d02405b5ed4a5759b41420d6932d8db539421ab94ee3f5e733f355292ebe4b0409302ec1a19daa788014d56559cf956bd12f8b4ead1487f163620dc8b58cd94a2abd5550ac5016cbcd1d1ce965bbb28af60423cb7528fa6e24400296ca30f6281bbcf8b6cb274db8168c971f9d56eb2e71db5b7b91d6765c07e73f91f7ded85499938863109933d1779fbe9e371741c483ebaf51bdae65565031892313d880a7e7a87ab8495b62b209fec9d2c37dcc1c0fdad1b51d05fa4dca711f50b16aaabfad99ca9a96f653a6b0565ad1adfc87a10f4d5e75bec6960053d3bbbf24602b0f5c9b4eb77d7e21e30983a7e481498062719c6dc073a9e51ef7580ca9b7f2621781ae90172e5e8efe65a46222843b928b990d3bdbb4d4a695f33124de712689279e00b644bf349538c1cde5c4051e323bb388eeed1469c7476c7fd79b43fd8e64953a92aa6bfed600b7b63281c027d652f219edcad5c60b5b6087e814fe9d607c3c387ae8f91afef42cdb5ba2e434f6ac89e8fe672c1abcd791b18e5df1cf9628ffaeef378e768365b65551e0b0230253c2c9a9fb550607d3ae126f6a1e8b55d095126c3e4fb7c801c2c8b03f1ea9a6b4d680a78d8459b468a02a7137b1323d6a10dbf4e222b532f4eb3ecc98a8dc036781a89cc5b8d10029fc1dc38329bccec31f79e5db5989f63c0c5aa3bf701747aadd1ad93877f1a324d1eda9efc3347bb22eaaa30cdb760845c3c1dae028eb0dd95dae63b2191b9488fe945a7832557110cf76982bb2ce073ad931048a8060d2733201cdcadb187c69cdeff5a61b58726ab9b8ce0850c103a2959fdaf4ac59098e6b82e9d941b3ee70ff80a726eec49ca776f8cedb152c20bf70815e7b428b539abe56f1c9cbee0232e7820589602f39ffdcb8aaa004d6933ceb6717e82d873b67588bfc9c4c1667e6c7c41d076c896d2c11181a564b6bd2d5f0cafcd525d0164bd5b8dde2664a26ec42c55e7b7015d1c271ce3772b4d111caf4374a0e8d9d60af466b5686b998113adb2ad0c47681309cfa0a0cad5feca277c8bbbcfb9b6b8052afcfcaa389bedf476e967db798f1be2f5357d32393d9a4ad229bbf6c6c90508b8c005fc112d6c4d2b6e3118b4ad3abba722749faa96cc245df59660874b9f6815e2deb57f149ce5b0d95f128eaac6f2e0e80b84b49fdfb86ec75d377ef9bbbe306277942b236dffafaa14991e70e708a3cfb9a1737d0b1541562a32b61815036b4b2d383afbbc213f1955fcfa2cbb3f19b759bb0fd6127c3ffcd460aa7936bec88cba5be09cc1e00bcc3025be6bbebd0a2ea35689b22161f9df946dd2e43dc6046fee3f01c57c6335dd8dffa72864c528350a0d6fc653e52c89e6843b066c15aab7036638d71a9a37c83953bde23c5605d35a3e5fd3cfdc88f2d0a80e779d4f366a40561b467c0518a3725da87f03c16641b0d1a5a52c0a2101ed59c603fa695b0fae4577c474144d793d2719ea9fa606681e3817644caaf11837bba674d3a2c630fed02cba995be63a2dd90c4427d16fa440844e0e886dbb5b154624032564d49e8b82f3dec21cd73956497ab6b4eea8da93354b8ba7ba3bcd482717df4e8cd39a0aeb333cc59b0e86fdad581d3911fac4cdd8551b7f59c45f51fe030743ee5f2684076c979caf5b3f57361631afd25a556d3f6800d6eb49f96b8aeb4ef4a57528cc4771b8a9316a0442035a2cbea525815d9f81c3c1737b4bb542186c5200ba974196cc5ff9726d4cd27c873e9669d1255103b3a20ad950b946bc3c31a8b1deb59d1effb6522c58cac34770a54a6e50c80fa51cc873cb01b860c4baa9d3b11cf42fd7464803e03686e9a45b131011764e76d99298e12367c22a2600eff5940ccbd089c1a887ea6dae147f23b98e934376fbd4cef6e205e791f9e78fb44952ce5c5e79203c030f5723368ed53ff62a9a51c0b4b09e19944693202d027fbf7dbeaed6b462a7c8c3286cd5fcc4428af5af4829b5720f511380a4e774e8f7854f04d98a3cecf20130231371e0a8ca0a34d66abb48974c400b66a866c63fd1ffd034c1e99852c5f086855e828a0bd257a8752eda3fb48cddea878437081b6f3019e042b9889b4df5008cc148bf6ec3ab7bb80442517cdecc396f31ad7cf5bded5ee69b8131a07592069590eef517eafea2d0821c26d121185bfbed38963bae6b4ece4ef7016a993ba9989fa817fd1f7f0be616f18fadaa2d206a1d0b24aac728cac879b4bfa0ad2328fb9125e8183d360b6756fa205d817500dd4e5622e6b0f8c50d93dd071b3afbfab969ff92568375af947f3e042e4c463401448cfc92cf99413a4897388934b2671d73ba3a17a215c5e5cce6fe18af52c9eb50287c61a7e55136ae1856700b6b474dbe7df3c910c8e4f3455dd83b755fcc8b486995f3de3edec361edbf1769592734ccf1d17ce4b098bad8073513fa803c43dd759a595a6f2b32700a1d7c8a17ec7185319f1554813adeae2b1ea41aa7b96feecf4bb6b2b1faa24c0bbee9197e2768c667c3be959037a453caf9428760dc00011bda340c8063db9cc99def7a6282503de082c2ea4390d01bde88d53c0cb6e54dd1b0745f2039a337bdcdef972c8a7d4c999253312109f0297d6861bb8673e2324d5219b0ef14c10475f9d6afaddddb9085c6c8312f598d0d38e9df8f05fdb31a3eba4c3a4492a3b446844c222c7cbafae8d81fb2e10f9fb11239c17a581a2937a9bb2a1d362281b656a896a099b0680fdf5c35f04b38c83272e74d621142e947960da80263974151ce8e044e84a6efc1c73ec5ea08d9209416ae4d20fd9fba64fa04413c626f47918c69dceccda8a919ca49ece4400e736c357c2cdd9d9891690a1a869aa3860468db1800b54adadce1df7805c0e798656d94a2fb2914e4dfcf8c97a5ae75c5099dec1dbf430de63a828b17bc8ba4f592a5dc8e1acd64ea0697460bf202f423e389a479c6ca4c89782e0d30841fdae83df5892aacbbc09bcc2ac98f5030801795816b2dedf3b22c04c127553d1853cf96dd2b571afefba9cb1436b165238fed98840ea3731b289e8d5b222bd9cb463aa99543e42e79529689c61f83af488db9794460c2d6f49353ab4f2fc1f86018ad898bd6a43a1bb1670ebe22b61d3eb548cc95399e22396ccaacd8e9fc912db208167f55ecca5a7285fb6cce69fe5f3b4311c7dc9fd2ff981b1374af01b666f2483c3e8fa5193fa6a908d1963bf1d23586bc9bb2b5878814eb570f5cc33b5f8f96db6231168d6071d6133677c35644afbafa531cac0c545049a1c1a1098c5647309d10c2f0183f7f41b3b02ce4621bb6e775acc3490822a9d67f38265b60733dd2d20ea858946e83bc783769b3f3461a7d3449a462341ad3295223fe7824e078346b607aada54ecfb22d209b6b61cd7c2f6c506b1ac17d715be7bba709aba8b45009770ce3df7fc21dec5f1ba68af9f4e9625763338b4b03dfd3135872b4d0527dd2f6bcc27e6d687585f8a13972e774d9a20f75ad53d7e99d078484eaf73c883256058f191d28271fd4eb933636d5b055cc6cf3a21ef6c73d80d444de2cdf6ecaf433f1ae1a3b19b152cd3fc92efc9983fe82d71645a2f01ea8d82ddc2c3d1afdb92f82f02798cb0e32ed1cf4d5aef6c0f899e0455512175197ea654dbd5f1dc05f00f159dd09f41aaeabd5f235eec59ec2298a9fecd5e8286b8dfa09c8b22a3a53bb18e026a5cb4b3f7952bcf60409424bad16b90ddf39609e47bf7f84eade7fdac8ecaf9b48ffb2f8decb94269aa581c2477e29e0a3350a44b84847e716c30ed538ee75d8266787e32db7990cafdca7e9bdf0d3ae2c093a3be99fafb655e232defb720fef4be6cffaaca2a8b344e7f80f3e249ab630896d46ad5dee41d6a70bb6dd56909c5f81a4a14e45ea1e772a20b664a8f22445c6b47b07176cf17d1069fb0051222b718d50f3a057e416aa88d80f54f6d892ad8eb500728f2829379a230fc53701320719fedccb9e4b0ad175e792f2bda529845377d71ce9ae2297a70d404e86aa9fd79802ce564463ace8a23f982ba0d4596515178f4dad8c592836f1cd41ce93df937ee0fa01c9ebec0e48d6d60670a0783b81125a8c3c9e1c75aad4b47cc3a4197fb55c97161b05c424a5d8d2f774f903fb82a18499d857fa7dcb4292954786696ff4f8ba61acba63adfe48aba881e6a881fce6c01979281c4a72aea68206853231d88171a5ad92e5d0d3167c836db62ac27538f3e914c7993b89435879dbc9e985f2a68de208bfabcdf6036c11e8281e1dab69504847e192c2d72397c3488871f653a31396bd9256e65682b16e43dc7d3f4160645c131cb479286bdebc277535fb2314ada1bbf21f9e113c2285728ae91b94217351b685878313dbed120bdadd509438636a431073d2fd636a33f09591570528d7033461430ba3966399d9bb1f632667d4cf06dc78e2bc2574a4681446cfa227b927dde628f70bf206590698394339b40f6781123d0346936e94c228b620d15d370c53c864d1f4f4d9c45141f2f806314d5a8c0e46b00c8d7c1d35346c51886086b47b657c8dd851f3c498a88c63cd3c5012d67f2c159cbe5bcd3b14647b9276c92125227dc450adef6932f8ff2a756e07cf7d3b624ebd5b9ad6a3cc7d2e90376ed629ffd67edcdb4c4a97c04e85959e8717d154916f7ab0d18896f6a48b309f9ca33673e84919257e336e232853ff3c0d16f4c6519c612799f356edb5bf6879b1fb800dd8c6a9c80989161eea6ac0356fc94bc50ca1a3da308614302094050f4f7ad7348d843cf873bb661c072ea808c93ef75b1bdbd3a2eb6a626c68ae2826ea53f730040305bbfabbb5aa1b60be8ef35762d8c7aede9ee4c40e301c9cbb10d0e905a3a9e40086e1f54f61f05e339fb37b7ff0a107118d208aa8aab7080f958efad6e5367da1d9df3ab104c7db32726240a05773b554ae58747500e41d8617b89cb0e2f4c6ea413b2f61548419c8398ce436e947139d2395546236f481cbfa07e01777b93d815fe0e26d1d2c72175aa90b808dadc4b77883ce3140424b6c55b8004fedaf041e1132e81dd9288d0ca2353a362c44bb6f95b8dbe998f59d8cf31521ee9e01eaefb9a175cd3063a865f65bcabb3bcbceca15d9f1a1343c95d4207db7bade97d3c54b9"}, {0x45, 0x10e, 0xa4ab, "6fe56c797e34b489f1c54dc4babc43437b26f12efa8679bb2d5d8965606ce154f38317d36aec5bf9231e0a9dcea6beb7abbb0f09edb80b0d52e8b14098986a74"}, {0xc0, 0x0, 0x401, "2e7ecb2fc449d7516fa45c81ddd7fe46495c75fd7f2a3268e475f07c47a02fb9a4036c94e7fb75b075f0cae442dd1857f39aeedf63b5a58e60d48277565670f45e0ac9bcb3c0876f7f696553efac3194483fe6e27b5cb0d6d1616c96ea4d2ae0f1470fd1b7626ab4d1c76cda41f77cc788e7f6c033bc279de7dfc7244caf3d5d36a6ca3f095694f0eebd4e8b36afb94b2926d40dcbf368a9045423a5f03efc4cc85ca81aa98aa166071b"}, {0xd8, 0x10c, 0x3, "e0284a6d4246fa3116703d3cbdc60f57734198521c4eab0374a74ac3359a2ad48356bd1a5b5f09567c00574d168942ecd77dd58b1579c111985e4f1fb2c6ee98c1fb5ab31c530bf6f95c014995258971db39fcb3620fe821f710e30499a43089edff788ef8956ae6646045a485bc5db62edae9dd233e17a6872f8f6430d290e782d0eac1f059f294b0f3ea27e84ed58c206b24c4e256f4875b9052a7ab5d15da2dcc9290190914d6d3e9042142b6934dbd99f9a382e1adea4a12744eebf7be4a260247f1"}, {0x40, 0x104, 0x2dc, "d8d0d994fc2809c1d0480ba1a43b3c78dc90e936122c97a7f64f374da0a167e6e0f176cfd527eac765e88d04d036"}, {0x90, 0x101, 0x100, "c5b884cbb506c13c78ee20d98302e19490e0208b5b0d6c9c2611b5dd04dc44d99ce11e7a48837ff0d5762e6643dcdc6514f9ca45ffd978db74a528bc8a6edb662b9b60af6bd516b5324405b5733a6ce6611a680737b24a1f682ce0449daae8d531c9546174cd682569bcf21be4a292becf0ae6293e0a215e01b18d2a729f"}, {0xa0, 0x1, 0x9, "f9cbdd12fda102dc9b6880e63f019718d1ed916284dfcc3a8026778dda24051d0134758bf2add22f4d7eb8b41278f001de19725ef48a79cb1952588ca5459cb2bde2c606178acbfa67a081767af8d46630ad17737e6031c4a6166a61effc004b0f529b651c43d98b987634831dc396b7c2d73b6c1138f146dad414a2eee7d0d6e4a5b5f6603a2e2806adaf"}], 0x14c0}}, {{&(0x7f0000003580)=@tipc=@name={0x1e, 0x2, 0x2, {{0x41, 0x3}, 0x6}}, 0x80, &(0x7f00000016c0)=[{&(0x7f0000003600)="b62b463ceb28f42a9ad45681d9282d70a1e5ef8a7bdee290c42358adb390eb1b60258f941f83f8783e37cce477a8a3282abf7a794a9d3bb7d8e4b945f5ac0bcbf429e4ca8b8380c9c54898e4f9dfd4584dd200bce0ad737a739ec3d0efcb0060f1983a4af9e1a84cd6d40c59a34b72c1f1f1c279fe4b7ae1d6b25995c3d0d42557017bd99c9415979f5cef52f376b40adb6ee2ec61ce241c3019e6241adefcebe23f0e752f5da216d45bb70b75f2e2b5760e96e61c984986a19fcf0fb2d970042b45", 0xc2}, {&(0x7f0000003700)="9064196771390647facd4f098140b6bd3939a48525b624ac4031d2925fc8f02fc2d2067b63a903ae33bb9dc4f272d74206f41f7fbf06f67b4ce06f72e7d871438a929d10f7e80a04cddea4641d11262d61f7ca51859cbb6a672dfea7274a109d5927feb007d5ba2b79486fe7152b51d098721852c23aad780889c4b385cde71570aff195dcc0fd1f918d29463dac63", 0x8f}, {&(0x7f00000037c0)="af2f0925744a0ed89f9e4cac799755529c36fe0c9f371a66610f5d6d50ff2b25ad024a0e78400566dac829a30d9867775b25735d426bf49a2886cbcee3ff065008b283fe8110c3819a331a79034b637fb247a3b89173b4e1fb6431de3c0129288029d2fcb9e8115b639cb50f2efeee86dae9267e9b4a3300e891056994d991c5daa55a1f0b35957986031bfa31b79b53ab0279b030efc593895e38a564a2eca4980d93ed74fe15d43c143feb473e73b30b93fe2038bb21624bd062e4d8bc53dd2e022d3ac2959d44122781e1a7ddf039333662bd8e01443b41a0950f1be782ffddf4114203e33227f8b3e68758b1f3ef285d78f57aec43403423", 0xfa}], 0x3, &(0x7f0000005a00)=[{0x98, 0x11d, 0xc10, "8ed727577ae517c08facc02f2236c6869ff18dd3f8a464e5ce2e8621e42d909a43a2eeabd31f4f3fdeb952ee76c08e516b96596780cf16504b68f861e51cce6d34d759b1bfddf3510b74a85c7314d2939f7cd71ea976ff54352ca0055ad24c555e2e0e7979cf5c8d42bb416c1e5857ea0cdf0628ef28643695ac1382ea9f54f4e5085bff"}, {0xc8, 0x10e, 0x4, "75c86daed4c2450379f3c49f6367e0cb4a4aaa2608e088f955aa620dd3122c268e905f1e7469206c45a03b3382bc63ec4d9468379fe11794be59ed866ace3216cea169853eddb9887a409d14f0379ed0ecea26bdca5fa5126fe8646f70c6ccb2b31cfcba7bf9d73e64061bb596236cc6b86166b2a7f9837adc1a2041f466ca7626a2cf9e74817f78961e9649d83978921ddcb2f1c1254510f626207ba78faaa8e116682ab85e5ac5b42c00dcd8e47b9f06"}, {0xc8, 0x119, 0x100, "063a85ba1b1aad6fae035b14f25eaaabc3c3d5243001ef7c024357784a63ad6ca56b359a75f96bc675f1d4f5cfea8427360646df23b9f0df0c79f7dbe83416bdd60385d36f6de953bf7f8f00277d79117ef0e716a7a6aaaffeeac52d4cf07e8774c24467005ad824f66663e27c29fd57061314b794f9f3f7052efa129fbf47681835e9f0698e99ef3a35c39738091d763062bc750646cd282b8252960e2e1112060bdbe42bd56dfc3d13b1a56d089d2a9229"}], 0x228}}], 0x3, 0x7000000) (async) 15:36:54 executing program 2: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x6, 0x31, 0xffffffffffffffff, 0x0) (async) remap_file_pages(&(0x7f00002ec000/0x200000)=nil, 0x200000, 0x0, 0x0, 0x0) (async) r0 = userfaultfd(0x80001) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f00000000c0)) (async) ioctl$UFFDIO_REGISTER(r0, 0xc020aa00, &(0x7f0000000080)={{&(0x7f00000e2000/0xc00000)=nil, 0xc00000}, 0x1}) mbind(&(0x7f0000e66000/0x3000)=nil, 0x3000, 0x1, &(0x7f0000000000)=0x9, 0x0, 0x0) (async) ioctl$UFFDIO_CONTINUE(r0, 0xc020aa07, &(0x7f0000000100)={{&(0x7f00001a1000/0x3000)=nil, 0x3000}, 0x1}) [ 852.269876][ T7032] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 852.285245][ T7041] general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN [ 852.297004][ T7041] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] [ 852.305432][ T7041] CPU: 1 PID: 7041 Comm: syz-executor.2 Not tainted 6.0.0-rc6-next-20220923-syzkaller #0 [ 852.315241][ T7041] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/26/2022 [ 852.325292][ T7041] RIP: 0010:PageHeadHuge+0x1d/0x200 [ 852.330502][ T7041] Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 55 48 89 fd 53 e8 64 af b9 ff 48 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 a2 01 00 00 48 8b 5d 00 48 c7 c7 ff ff ff ff 48 [ 852.350110][ T7041] RSP: 0000:ffffc9001614f8c0 EFLAGS: 00010246 [ 852.356175][ T7041] RAX: dffffc0000000000 RBX: ffffc9001614faa8 RCX: 0000000000000000 [ 852.364147][ T7041] RDX: 0000000000000000 RSI: ffffffff81c2e49c RDI: 0000000000000000 [ 852.372119][ T7041] RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 [ 852.380090][ T7041] R10: 0000000000000000 R11: 000000000008c07e R12: ffffc9001614fab8 [ 852.388059][ T7041] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001 [ 852.396032][ T7041] FS: 00007f427a1ca700(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 [ 852.404964][ T7041] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 852.411552][ T7041] CR2: 0000001b30421000 CR3: 000000007561e000 CR4: 00000000003506e0 [ 852.419527][ T7041] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 852.427496][ T7041] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 852.435464][ T7041] Call Trace: [ 852.438740][ T7041] [ 852.441672][ T7041] shmem_fault+0x27c/0x8a0 [ 852.446100][ T7041] ? shmem_get_folio_gfp+0x1a60/0x1a60 [ 852.451565][ T7041] ? file_fdatawait_range+0x60/0x60 [ 852.456773][ T7041] __do_fault+0x107/0x600 [ 852.461111][ T7041] __handle_mm_fault+0x2184/0x3a40 [ 852.466236][ T7041] ? lock_acquire+0x4fc/0x630 [ 852.470917][ T7041] ? vm_iomap_memory+0x180/0x180 [ 852.475866][ T7041] ? lock_release+0x810/0x810 [ 852.480553][ T7041] handle_mm_fault+0x1c8/0x780 [ 852.485326][ T7041] __get_user_pages+0x497/0xf10 [ 852.490185][ T7041] ? follow_page_mask+0x12d0/0x12d0 [ 852.495387][ T7041] ? find_vma_intersection+0x10a/0x1b0 [ 852.500865][ T7041] populate_vma_page_range+0x23d/0x320 [ 852.506332][ T7041] __mm_populate+0x101/0x3a0 [ 852.510928][ T7041] ? faultin_vma_page_range+0x300/0x300 [ 852.516518][ T7041] ? up_write+0x1ac/0x520 [ 852.520884][ T7041] __do_sys_remap_file_pages+0x574/0x650 [ 852.526538][ T7041] ? do_mmap+0xf50/0xf50 [ 852.530793][ T7041] ? vtime_user_exit+0x218/0x6c0 [ 852.535752][ T7041] ? syscall_enter_from_user_mode+0x22/0xb0 [ 852.541667][ T7041] ? trace_hardirqs_on+0x2d/0x160 [ 852.546699][ T7041] do_syscall_64+0x35/0xb0 [ 852.551142][ T7041] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 852.557055][ T7041] RIP: 0033:0x7f427908a669 15:36:54 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) [ 852.561473][ T7041] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 852.581533][ T7041] RSP: 002b:00007f427a1ca168 EFLAGS: 00000246 ORIG_RAX: 00000000000000d8 [ 852.589961][ T7041] RAX: ffffffffffffffda RBX: 00007f42791ac050 RCX: 00007f427908a669 [ 852.597951][ T7041] RDX: 0000000000000000 RSI: 0000000000200000 RDI: 00000000202ec000 [ 852.605937][ T7041] RBP: 00007f42790e5560 R08: 0000000000000000 R09: 0000000000000000 15:36:54 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0xea03, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) 15:36:54 executing program 4: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) [ 852.613922][ T7041] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 852.621894][ T7041] R13: 00007ffe5a7c34af R14: 00007f427a1ca300 R15: 0000000000022000 [ 852.629879][ T7041] [ 852.632910][ T7041] Modules linked in: 15:36:54 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x15, r1}}) [ 852.663235][ T7036] 9pnet_fd: Insufficient options for proto=fd [ 852.701347][ T7054] netlink: 'syz-executor.3': attribute type 1 has an invalid length. 15:36:54 executing program 4: r0 = syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) ioctl$DMA_HEAP_IOCTL_ALLOC(0xffffffffffffffff, 0xc0184800, &(0x7f0000000140)={0x9, r0, 0x1}) connect$pppoe(r1, &(0x7f0000000180)={0x18, 0x0, {0x4, @random="957376c52b8f", 'team_slave_0\x00'}}, 0x1e) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') 15:36:54 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) bind$x25(r1, &(0x7f0000000000), 0x12) close_range(r0, 0xffffffffffffffff, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f00000005c0)=ANY=[@ANYBLOB="4332a11c490f30"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r2, 0xc0189375, &(0x7f0000000140)={{0x1, 0x1, 0x18, r1}, './file0\x00'}) write$binfmt_elf64(r3, &(0x7f00000002c0)={{0x7f, 0x45, 0x4c, 0x46, 0x7, 0x28, 0xa4, 0x2, 0x1, 0x3, 0x6, 0x100, 0x161, 0x40, 0x28b, 0xffff, 0x3f, 0x38, 0x1, 0x7, 0x40, 0xff01}, [{0x4, 0x2, 0x7fffffff, 0x1, 0x2, 0xff85, 0x8000000000000000, 0x4}], "0c4a48058c53170d8166b8c529882d55383d6a4e79078c4399c8c976bec2b6ab4f679d0b80d1f7b901516f14f300994549513ea1424d407be00b25573e49e47fae611796ea6bbf1a1bdac010b9e0e978ee255d5a6e7216ff191e9b05723a97a4d7600f51f20c9dabbbb59b1bfabb783a35e390e645d27d516acaf664b8417e4f283b7a824913", ['\x00', '\x00']}, 0x2fe) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) getsockopt$inet_sctp_SCTP_RESET_STREAMS(0xffffffffffffffff, 0x84, 0x77, &(0x7f00000001c0)=ANY=[@ANYRES32=0x0, @ANYBLOB="ea620100ff03661fc2136cac65979e67e799b80adda1f244c4baacf5144e4b67dc8521fc88119dd0928b69586adf2ab60633daf12ce14a41e64870baf25d83893f0e94c215a3f1ebb83e92ca9f54f8e2f9c1207d3d04f141163e1bfabb833075dba341f785ed2cfb487d44663e8df9250bd45a8e9f6a928c117519bb44769c077229d7af69c7c0f24b1a8521fc3526a048b05cdbaffbe606ff38abd228b9fba009fab43a49091870d1332ab2668c64b81f139cc7e4251194a4de3f6ab7"], &(0x7f00000000c0)=0xa) setsockopt$inet_sctp6_SCTP_AUTH_ACTIVE_KEY(r2, 0x84, 0x18, &(0x7f0000000100)={r4}, 0x8) 15:36:54 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000180)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)={&(0x7f0000000380)=@ipv6_newroute={0x44, 0x18, 0x1, 0x0, 0xf000, {}, [@RTA_ENCAP={0x18, 0x16, 0x0, 0x0, @SEG6_IPTUNNEL_SRH={0x4}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x44}}, 0x0) [ 852.703349][ T7041] ---[ end trace 0000000000000000 ]--- [ 852.716784][ T7041] RIP: 0010:PageHeadHuge+0x1d/0x200 [ 852.722268][ T7041] Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 55 48 89 fd 53 e8 64 af b9 ff 48 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 a2 01 00 00 48 8b 5d 00 48 c7 c7 ff ff ff ff 48 [ 852.747698][ T7041] RSP: 0000:ffffc9001614f8c0 EFLAGS: 00010246 15:36:54 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x16, r1}}) 15:36:54 executing program 4: r0 = syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x800000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400000000100010008000000ffffff7f6824010020", 0x15, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed4103008076535f700000006f1f1f636f1f1f636f1f1f6308000000000000000000000000000000000000000000000000000000000000000000000000000000ed41020000000000400000006f1f1f636f1f1f636f1f1f6309", 0x859, 0x800}, {&(0x7f0000000080)="01002e0000000000000000000000000001002e2e000000000000000000000000020066696c6530", 0x27, 0x2003}], 0x0, &(0x7f0000000400)=ANY=[], 0x1) ioctl$DMA_HEAP_IOCTL_ALLOC(0xffffffffffffffff, 0xc0184800, &(0x7f0000000140)={0x9, r0, 0x1}) connect$pppoe(r1, &(0x7f0000000180)={0x18, 0x0, {0x4, @random="957376c52b8f", 'team_slave_0\x00'}}, 0x1e) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x2001030, &(0x7f0000001780)=ANY=[], 0x0) (async) mkdir(&(0x7f0000000040)='./file0/file0\x00', 0x0) (async) rename(&(0x7f0000000280)='./file0/file0\x00', &(0x7f00000001c0)='./file1\x00') [ 852.767493][ T7059] 9pnet_fd: Insufficient options for proto=fd [ 852.781212][ T7041] RAX: dffffc0000000000 RBX: ffffc9001614faa8 RCX: 0000000000000000 [ 852.804436][ T7041] RDX: 0000000000000000 RSI: ffffffff81c2e49c RDI: 0000000000000000 [ 852.835668][ T7041] RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 [ 852.843915][ T7064] netlink: 'syz-executor.3': attribute type 1 has an invalid length. [ 852.854900][ T7068] 9pnet_fd: Insufficient options for proto=fd [ 852.864533][ T7041] R10: 0000000000000000 R11: 000000000008c07e R12: ffffc9001614fab8 15:36:54 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x4) writev(r0, &(0x7f0000000140)=[{&(0x7f0000000280)="8e0e9b63081b28559b336d", 0xb}], 0x1) ioctl$AUTOFS_DEV_IOCTL_SETPIPEFD(0xffffffffffffffff, 0xc0189378, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {r0}}, './file0\x00'}) ioctl$BTRFS_IOC_QGROUP_CREATE(r1, 0x4010942a, &(0x7f0000000040)={0x1, 0x67}) 15:36:54 executing program 5: r0 = socket$unix(0x1, 0x5, 0x0) bind$unix(r0, &(0x7f0000000200)=@file={0x1, './file0\x00'}, 0x6e) listen(r0, 0x0) r1 = dup(r0) r2 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x17, r1}}) [ 852.896173][ T7041] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001 [ 852.919243][ T7041] FS: 00007f427a1ca700(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000 [ 852.931053][ T7041] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 852.944102][ T7041] CR2: 000000002028a000 CR3: 000000007561e000 CR4: 00000000003506f0 [ 852.953266][ T7041] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 852.964092][ T7041] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 852.980754][ T7078] 9pnet_fd: Insufficient options for proto=fd [ 852.989406][ T7041] Kernel panic - not syncing: Fatal exception [ 852.995753][ T7041] Kernel Offset: disabled [ 853.000077][ T7041] Rebooting in 86400 seconds..