From unknown Thu Aug 14 18:38:50 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#79139 <79139@debbugs.gnu.org> To: bug#79139 <79139@debbugs.gnu.org> Subject: Status: cp --reflink truncates sparse files on ZFS Reply-To: bug#79139 <79139@debbugs.gnu.org> Date: Fri, 15 Aug 2025 01:38:50 +0000 retitle 79139 cp --reflink truncates sparse files on ZFS reassign 79139 coreutils submitter 79139 Leah Neukirchen severity 79139 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 11:01:43 2025 Received: (at submit) by debbugs.gnu.org; 1 Aug 2025 15:01:43 +0000 Received: from localhost ([127.0.0.1]:56604 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhrGQ-0005SG-D0 for submit@debbugs.gnu.org; Fri, 01 Aug 2025 11:01:42 -0400 Received: from lists.gnu.org ([2001:470:142::17]:32860) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uhrGN-0005QH-RB for submit@debbugs.gnu.org; Fri, 01 Aug 2025 11:01:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhrFW-00089D-4n for bug-coreutils@gnu.org; Fri, 01 Aug 2025 11:00:46 -0400 Received: from mail-wr1-f44.google.com ([209.85.221.44]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhrFT-0000KE-JO for bug-coreutils@gnu.org; Fri, 01 Aug 2025 11:00:45 -0400 Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3b77673fd78so1082459f8f.0 for ; Fri, 01 Aug 2025 08:00:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754060440; x=1754665240; h=mime-version:user-agent:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iV9spyANB2bGgz5HR65CiZc6zs4UHm3paTOiBnKprTM=; b=kA9ojey9epOcDwmGx6Ks7Mr7Vr6JQ5iwDKEyB/8JqhXpfXAte2UbjloJbHFkNptpVa TniB/TmZlpgLCDzNl+lSueTBCTa26ZPeQ93f4NHxGcRK5BYaVYM4YO1+jWy81yYyjcIb JiFeH8Et7qnUDq38jhXsyN3deh/OZnNnq4sgCvlLCGkieuPxvmv/4ylTvD0fvITuuIFu nc9HpkioOOcOSbzJN6c7wLBfO9p7a9ZqK6TLOnaHv4O1YjOnsM1G/E+6J6bbPIhmlWql 0Ug5BAkmycncGC1XmpoYLhFuvVGJ8QNs9Occi6C3gwfj3q633qzCYzdAwvfgGKbJ/7mt +CDQ== X-Gm-Message-State: AOJu0Yx/lUmQ3D3e/o+1BMlezvpeZUG6F2LW23TWCDypkfT5tavq1ufn 0X7jBYo3snlV9EP7ESeI4deTp3AEafaipGYVqfEeVq5KnD+8mTiPUr7/BXucbA== X-Gm-Gg: ASbGncvBEYcOiPlqcXJ1yq7+++aEfHBc0HRMn5AfC4+d2P2mIkH+Q4lMcBBv+BdgInJ /1/l69AqUH1MnQwR0B/SoQvpwKxXoopwiTJba3iduOAWuPD1pYqXzYR+ocq4aqSOQvFYuu7I4w+ xBrrqiM78me5g1rYIQYqW7qBeN8zYH0Iq6cxVeHdtz1WL68KRwhUQY5W9z4/2FpAw8uK7thqIMh t93J1bnyRJukVgSKTPpi6hQHvgNYZzfDtkBkLcFG5Yobm16prnosk0FoI6X2EeEIboN0koTvHe9 uOG/NmgWq2zLBD2/b2+1BsVi1YQOhAXDETvC0oY98D4SD6Anr9TfLJU3vHgq1ZALOAo4QXFxiL1 vsE5ZhdzYCidLxgr7hI+XdpJM/+XqRPtHQZhluAd6KVUs X-Google-Smtp-Source: AGHT+IEmUvTcUphn1EMPqN8qVSSq8NYdHzmVE2KinFOofQyD81eZJdqeeCFCCT0EEC7L01wW5dQNdQ== X-Received: by 2002:a5d:5d10:0:b0:3a4:fbaf:749e with SMTP id ffacd0b85a97d-3b8d94c2141mr47932f8f.49.1754060439375; Fri, 01 Aug 2025 08:00:39 -0700 (PDT) Received: from hera.home.vuxu.org ([2001:4ca0:0:f238:9209:dfff:fe8d:95a5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c3ac574sm6154842f8f.5.2025.08.01.08.00.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 08:00:38 -0700 (PDT) Received: from localhost (hera.home.vuxu.org [local]) by hera.home.vuxu.org (OpenSMTPD) with ESMTPA id 87f7f4d3 for ; Fri, 1 Aug 2025 15:00:36 +0000 (UTC) From: Leah Neukirchen To: bug-coreutils@gnu.org Subject: cp --reflink truncates sparse files on ZFS Date: Fri, 01 Aug 2025 17:00:36 +0200 Message-ID: <87freb9je3.fsf@vuxu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=209.85.221.44; envelope-from=chneukirchen@gmail.com; helo=mail-wr1-f44.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello, I found the following issue with coreutils 9.7, Linux 6.12.40-1-lts, zfs 2.3.3 on Arch x86_64, glibc 2.42: Copying a file with sparse holes using "cp --reflink=auto" truncates the file before the final segment. The relevant strace is: openat(AT_FDCWD, "celestis.img", O_RDONLY|O_PATH|O_DIRECTORY) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", {st_mode=S_IFREG|0644,> openat(AT_FDCWD, "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=137438953472, ...}) = 0 openat(AT_FDCWD, "celestis.img", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 ioctl(4, BTRFS_IOC_CLONE or FICLONE, 3) = -1 EXDEV (Invalid cross-device link) fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 lseek(3, 0, SEEK_DATA) = 0 fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 lseek(3, 0, SEEK_HOLE) = 131072 lseek(3, 0, SEEK_SET) = 0 copy_file_range(3, NULL, 4, NULL, 131072, 0) = 131072 lseek(3, 131072, SEEK_DATA) = 1048576 lseek(3, 1048576, SEEK_HOLE) = 1179648 lseek(3, 1048576, SEEK_SET) = 1048576 lseek(4, 917504, SEEK_CUR) = 1048576 copy_file_range(3, NULL, 4, NULL, 131072, 0) = 131072 lseek(3, 1179648, SEEK_DATA) = 4194304 lseek(3, 4194304, SEEK_HOLE) = 16646144 lseek(3, 4194304, SEEK_SET) = 4194304 lseek(4, 3014656, SEEK_CUR) = 4194304 copy_file_range(3, NULL, 4, NULL, 12451840, 0) = 12451840 lseek(3, 16646144, SEEK_DATA) = 134217728 lseek(3, 134217728, SEEK_HOLE) = 137438953472 lseek(3, 134217728, SEEK_SET) = 134217728 lseek(4, 117571584, SEEK_CUR) = 134217728 copy_file_range(3, NULL, 4, NULL, 137304735744, 0) = 137304735744 mmap(NULL, 270336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76c5df0ce000 read(3, "", 262144) = 0 ftruncate(4, 134217728) = 0 close(4) = 0 close(3) = 0 As we can see, there's a hole from 16646144 to 134217728, then data up to the end at 137438953472 (= the total file size). Both fd are thus moved to 134217728, and a copy_file_range for the rest of the file is issued and successful. However, in the end the file is truncated to the first 128MB... why? For comparison, a plain cat simply does this: fstat(1, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 openat(AT_FDCWD, "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=137438953472, ...}) = 0 fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 copy_file_range(3, NULL, 1, NULL, 9223372035781033984, 0) = 137438953472 mmap(NULL, 270336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7e7af83a9000 read(3, "", 262144) = 0 munmap(0x7e7af83a9000, 270336) = 0 close(3) = 0 close(1) = 0 close(2) = 0 This works correctly and the source and destination agree in the end. Likewise for xcp(1), which uses copy_file_range in 1MB blocks by default and does not care for holes. Thus I think this is a logic bug in cp and not a ZFS issue. Do not hesitate to contact me if you inquire further details. Thanks, -- Leah Neukirchen https://leahneukirchen.org/ From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 13:11:53 2025 Received: (at 79139) by debbugs.gnu.org; 1 Aug 2025 17:11:53 +0000 Received: from localhost ([127.0.0.1]:57000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhtIO-0004tT-Rj for submit@debbugs.gnu.org; Fri, 01 Aug 2025 13:11:53 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:53712) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uhtIM-0004tB-7w for 79139@debbugs.gnu.org; Fri, 01 Aug 2025 13:11:50 -0400 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-af922ab4849so286661466b.3 for <79139@debbugs.gnu.org>; Fri, 01 Aug 2025 10:11:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754068304; x=1754673104; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=Wlx0Vu6D9nwM+90YjmGxrnvNOWvpsZww9Ku0PWNm3og=; b=lBxC1aiYgBjPgzZtkTBxPW9XFMxE1E9snuFmxjjO8CZ0yMvcgNKDiiwuq/ZXmVMagv iMFuxXDtsvguqxuAj8HRrXhOg8P88gz5an97AORT8P53CRCPB/u9yqzBvZHJx2xIaX4W mWheWdR3lDNnIn+3F5mLYwCYfUHbvFLQkP/2MMtrwUu6rdKJEwVlYUZM61WKgyHOed5v 1Ef3MDdmr4YhkXo2ZixC2QdyDLH2TaBXviDNPDEaTO4wvMipiDIX8zNHbXK5/kn+3Wjn nwsZnZRlIfuv0Ovjj9xokH9OBLM7Cnrl/qecJeyVsLf9QZxPFLSGSq1Cw6IvjndDt7ik KxmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754068304; x=1754673104; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Wlx0Vu6D9nwM+90YjmGxrnvNOWvpsZww9Ku0PWNm3og=; b=nMNs67REKSSZZXcuEdxEhcf2Jf8VccChAwRETCJ5TT8Hl4MLHEUmheU254o+YHKHmD NNv2l5kMHB+22uOkA2mb3xScmt2zrDNBUJxA38U2iH0fwIfFintuPAHMfw65NRk7DjlF 774Z5ltll8+P9eHJ1scODoob6xdstywpqHot8Q6U2zNC9PDbXsmXNMqu3jz9NomqCHLK 4O2+jqXF6Iwi7lUMP0e966hTtRS4VV62oD2t0/+QMDC3PV2+rfOepK2Hi0QxMiWsSdb8 9YBbimiQugzzB2MeFTVJy2zhiDtVYs2VFt7BQEfwYmcNR5L8bufwcgjGFXlvp3yOYS57 htnA== X-Forwarded-Encrypted: i=1; AJvYcCVbpX7IZ7yib6Vc0+1GTHcQ4KOkikQBCZVeTLlXwKYLzVZzTmlZIDWaU8Gb0pzMGX3IrohXZg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzfO1DDfcwy9LtYhZBS0Nxfk1w+mufWP/KOZl7BnxHzTjxsEGRk 7hO0hHm6DVmCl8hJydWHCrUCgZG0w4LGv4AmDjko7F+YqPzDGP/mtzSOP/lTUg== X-Gm-Gg: ASbGncscgIDhtmSd+nOqXyGCco/tsao7E4IWaArGSIUHOkNh5GXpznkhS7WzmchsUzx HUHQd7m+ePsf37eUEZQUkO6zwvcWF7YYXcmMOtlHuSu9MduxZRr2C1/XctF9W9RxaTPKuIiVZ8/ od7dvrOEfl8VobifC1f6UUiwmk5oL+gTA0r2bWkorPEGdiu3aq6lz9bY5hhSXeSpDJHy6rT5SIk RG8/ZsKtFFf7VpZ4HfyiFGNG6RWYs3KeXCwUDBGImJntSoNFnJebgDkfQrN7mOIJLr1bDGGpNU5 wCJmPbAj55RU0sOD6rtrkNOFsmDCSsXUAZSkjOBnGwIghayUiZG4y7i6Ecb4H+w1yxCFLtfScPP ZcmNAeZCjqUxZzGc05y0UKLbgCTkp5ZxpffyDWZOpYV0IssSzQwvKmjhlVyDUPHtDZVntyfJtUy FD8g== X-Google-Smtp-Source: AGHT+IFO1K765lTVlSFa20V/n5zv4tg5JyPD0XumaDIqqOr9fUHUQyV8SSpMvX6ASc4JMLPfoqOZXA== X-Received: by 2002:a17:907:3e87:b0:ae0:bee7:ad7c with SMTP id a640c23a62f3a-af94022bf6dmr62042466b.46.1754068303579; Fri, 01 Aug 2025 10:11:43 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id a640c23a62f3a-af91a243644sm316799266b.139.2025.08.01.10.11.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 Aug 2025 10:11:43 -0700 (PDT) Message-ID: <6af73d0a-6c5b-41b2-9e50-96f1dfcdd574@draigBrady.com> Date: Fri, 1 Aug 2025 18:11:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: Leah Neukirchen , 79139@debbugs.gnu.org References: <87freb9je3.fsf@vuxu.org> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <87freb9je3.fsf@vuxu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 01/08/2025 16:00, Leah Neukirchen wrote: > Hello, > > I found the following issue with coreutils 9.7, Linux 6.12.40-1-lts, > zfs 2.3.3 on Arch x86_64, glibc 2.42: > > Copying a file with sparse holes using "cp --reflink=auto" truncates > the file before the final segment. The relevant strace is: > > openat(AT_FDCWD, "celestis.img", O_RDONLY|O_PATH|O_DIRECTORY) = -1 ENOENT (No such file or directory) > newfstatat(AT_FDCWD, "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", {st_mode=S_IFREG|0644,> > openat(AT_FDCWD, "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", O_RDONLY) = 3 > fstat(3, {st_mode=S_IFREG|0644, st_size=137438953472, ...}) = 0 > openat(AT_FDCWD, "celestis.img", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 > ioctl(4, BTRFS_IOC_CLONE or FICLONE, 3) = -1 EXDEV (Invalid cross-device link) > fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 > lseek(3, 0, SEEK_DATA) = 0 > fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 > lseek(3, 0, SEEK_HOLE) = 131072 > lseek(3, 0, SEEK_SET) = 0 > copy_file_range(3, NULL, 4, NULL, 131072, 0) = 131072 > lseek(3, 131072, SEEK_DATA) = 1048576 > lseek(3, 1048576, SEEK_HOLE) = 1179648 > lseek(3, 1048576, SEEK_SET) = 1048576 > lseek(4, 917504, SEEK_CUR) = 1048576 > copy_file_range(3, NULL, 4, NULL, 131072, 0) = 131072 > lseek(3, 1179648, SEEK_DATA) = 4194304 > lseek(3, 4194304, SEEK_HOLE) = 16646144 > lseek(3, 4194304, SEEK_SET) = 4194304 > lseek(4, 3014656, SEEK_CUR) = 4194304 > copy_file_range(3, NULL, 4, NULL, 12451840, 0) = 12451840 > lseek(3, 16646144, SEEK_DATA) = 134217728 > lseek(3, 134217728, SEEK_HOLE) = 137438953472 > lseek(3, 134217728, SEEK_SET) = 134217728 > lseek(4, 117571584, SEEK_CUR) = 134217728 > copy_file_range(3, NULL, 4, NULL, 137304735744, 0) = 137304735744 > mmap(NULL, 270336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76c5df0ce000 > read(3, "", 262144) = 0 > ftruncate(4, 134217728) = 0 > close(4) = 0 > close(3) = 0 > > As we can see, there's a hole from 16646144 to 134217728, then data up > to the end at 137438953472 (= the total file size). Both fd are thus > moved to 134217728, and a copy_file_range for the rest of the file is > issued and successful. > > However, in the end the file is truncated to the first 128MB... why? > > For comparison, a plain cat simply does this: > > fstat(1, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 > openat(AT_FDCWD, "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", O_RDONLY) = 3 > fstat(3, {st_mode=S_IFREG|0644, st_size=137438953472, ...}) = 0 > fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 > copy_file_range(3, NULL, 1, NULL, 9223372035781033984, 0) = 137438953472 > mmap(NULL, 270336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7e7af83a9000 > read(3, "", 262144) = 0 > munmap(0x7e7af83a9000, 270336) = 0 > close(3) = 0 > close(1) = 0 > close(2) = 0 > > This works correctly and the source and destination agree in the end. > Likewise for xcp(1), which uses copy_file_range in 1MB blocks by > default and does not care for holes. > > Thus I think this is a logic bug in cp and not a ZFS issue. > > Do not hesitate to contact me if you inquire further details. I haven't tried to repro yet. The syscalls look OK, so the only thing I can think of is that last large copy_file_range() syscall didn't propagate appropriately back up to cp, as there is a fallback read() which should not have occurred. What is the destination file system type? It would give us a bit more info if you gave the output from cp when run with the --debug option. thank you, Padraig From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 13:33:17 2025 Received: (at 79139) by debbugs.gnu.org; 1 Aug 2025 17:33:17 +0000 Received: from localhost ([127.0.0.1]:57061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhtd6-0006Ep-Pj for submit@debbugs.gnu.org; Fri, 01 Aug 2025 13:33:17 -0400 Received: from mail-wm1-f47.google.com ([209.85.128.47]:48481) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uhtd3-0006EU-Eg for 79139@debbugs.gnu.org; Fri, 01 Aug 2025 13:33:14 -0400 Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4560cdf235cso12920005e9.1 for <79139@debbugs.gnu.org>; Fri, 01 Aug 2025 10:33:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754069587; x=1754674387; h=mime-version:user-agent:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9DyEA8SblSE+22qqcJccP2Q4Pi3uXij5AtmSZmQD2f4=; b=bUGAkhNuWzPEnov5uZb0+vuRn9oyHX2ApaSSMI8CYUlTIXG0XP2VlKYvzvGTlrGUmW P8ELrN544iKmvDJS73fQGaLVMIuayyiHAd8umrU7DVueUwsqvJByDskQF/bFCGVy6GiJ 2bh8mi1vC0OWoo5Qh8mPNS80AIVWOlVigqAhaegXVqyblLCMYWtJvOkOrRpFtVZVfi+v FkeGcyamhUwyN6qMCaUfAzGzXH4ixEvHzXEXYxTp7kNaYwweux/wgGgogI3qXwds2SZB /gKsP3OTmk3D84xSn5tGdhnPLMdvwTBisUNgf8dX8ZawEOfJGq/PX90N/UQZplNV+n89 h4hw== X-Gm-Message-State: AOJu0YzRxnF/gNpcYhgNLHea/Oaio7OuMkmBIylAv9D3P7BvRuG/CYXy I8HFzyhXPxiOMxUY/8tsGZ8OAMurNX4mj+7GfawVhlh41Esbqxt62KrbDrD+UQ== X-Gm-Gg: ASbGncs0jpczUO5yQipqUtgm71QmrMu934BPn0K532eeeC68JoqGh2onDRm+Qrc/3AQ 76F+kB4iPbNGJjtEbskvCO/CsLet38ZHNI2mHKw7w9kEQACxAFIeSvbltJEWHrwCNDYo161CgBs hrHAz31WPtLTZ4ZmcUQsIl4p6cd9jX9rfOu7Fg2mhHHzaKwHgQ79kvBHJ1LMdLpaCd32yUYEOqq I5tPxxztRPtJqusYoX5HpxTCIsojKuoP45+l67chiwmubBdKBdaNy8/3o6hwNsTmINKXW856X4Y sZwona1AnngwqwDQTYEgZFIS+oUq/d0so7qqXAvIkADMeox6u8jrlHrlpV8n24iLdEA+drAPVfn uQmrFSPbowYlFBFa8zi0W5eE= X-Google-Smtp-Source: AGHT+IEGe9uYrqSAaJ2UrUAjqBBE2e5jsW99rIG/gYfvVwBc/aC/0cbMxKALlv7qezUJoApSrxaxTQ== X-Received: by 2002:a05:600c:4692:b0:456:21d2:c6f7 with SMTP id 5b1f17b1804b1-458b6b421e4mr1096355e9.23.1754069586971; Fri, 01 Aug 2025 10:33:06 -0700 (PDT) Received: from hera.home.vuxu.org ([2001:4ca0:0:f238:9209:dfff:fe8d:95a5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4589ee4f0easm74803475e9.16.2025.08.01.10.33.06 for <79139@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 10:33:06 -0700 (PDT) Received: from localhost (hera.home.vuxu.org [local]) by hera.home.vuxu.org (OpenSMTPD) with ESMTPA id ec99239b for <79139@debbugs.gnu.org>; Fri, 1 Aug 2025 17:33:05 +0000 (UTC) From: Leah Neukirchen To: 79139@debbugs.gnu.org Subject: Re: cp --reflink truncates sparse files on ZFS Date: Fri, 01 Aug 2025 19:33:05 +0200 Message-ID: <87bjoz9cby.fsf@vuxu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I debugged this further: The issue boils down to several things that happen rarely: - source and destination must be on different mountpoints, so FICLONE fails - the fallback copy_file_range usually copies at most 2GB segments on ZFS, however it seems to be able to copy more at once when copying from a snapshot. The problem now is that the return value is interpreted as a negative number. It's not clear to me how that happens, as ssize_t should be a signed 64-bit number and contain the value fine, however, gdb also agrees: Breakpoint 1, copy_file_range (infd=infd@entry=3, pinoff=pinoff@entry=0x0, outfd=outfd@entry=4, poutoff=poutoff@entry=0x0, length=137304735744, flags=flags@entry=0) at ../sysdeps/unix/sysv/linux/copy_file_range.c:27 27 { (gdb) fin Run till exit from #0 copy_file_range (infd=infd@entry=3, pinoff=pinoff@entry=0x0, outfd=outfd@entry=4, poutoff=poutoff@entry=0x0, length=137304735744, flags=flags@entry=0) at ../sysdeps/unix/sysv/linux/copy_file_range.c:27 sparse_copy (src_fd=src_fd@entry=3, dest_fd=dest_fd@entry=4, abuf=abuf@entry=0x7fffffffd9d8, buf_size=buf_size@entry=262144, hole_size=0, punch_holes=punch_holes@entry=true, allow_reflink=true, src_name=0x7fffffffe3d7 "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", dst_name=0x7fffffffe414 "celestis.img", max_n_read=137304735744, total_n_read=0x7fffffffd9e0, last_write_made_hole=0x7fffffffd9d0) at src/copy.c:344 344 if (n_copied == 0) Value returned is $2 = -134217728 Then the error branch is triggered and the code falsely reads errno (which is 18 from the failed FICLONE) so is_CLONENOTSUP is true, we leave the loop without error reporting, total_n_read is still 0, etc... and it ends up truncating the file thinking the file has shrunk. Unfortunate. I think the return value gets corrupted in glibc, see: https://github.com/bminor/glibc/blob/d9a348d0927c7a1aec5caf3df3fcd36956b3eb23/nptl/cancellation.c#L66 long int __syscall_cancel (__syscall_arg_t a1, __syscall_arg_t a2, __syscall_arg_t a3, __syscall_arg_t a4, __syscall_arg_t a5, __syscall_arg_t a6, __SYSCALL_CANCEL7_ARG_DEF __syscall_arg_t nr) { int r = __internal_syscall_cancel (a1, a2, a3, a4, a5, a6, __SYSCALL_CANCEL7_ARG nr); return __glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (r)) ? SYSCALL_ERROR_LABEL (INTERNAL_SYSCALL_ERRNO (r)) : r; } Here, r should be a long int. As a workaround, copy_max could be clamped to 2GB. P.S.: why does coreutils cat not fail as well? It checks the return value against -1, which it is not... -- Leah Neukirchen https://leahneukirchen.org/ From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 17:40:53 2025 Received: (at 79139) by debbugs.gnu.org; 1 Aug 2025 21:40:53 +0000 Received: from localhost ([127.0.0.1]:58431 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhxUj-0000aF-0J for submit@debbugs.gnu.org; Fri, 01 Aug 2025 17:40:53 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:50541) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uhxUg-0000Zm-61 for 79139@debbugs.gnu.org; Fri, 01 Aug 2025 17:40:51 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-458b2d9dba5so4406695e9.1 for <79139@debbugs.gnu.org>; Fri, 01 Aug 2025 14:40:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754084443; x=1754689243; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=/ioM0qweR1fmbAPDJgVicAuR3jjD1UZkRG1hgRip6zs=; b=M0oM89LlCkeaOprrRWpdOSPPwB539Fk2N0zVKF57p7f8UssDcBs+imdWQz/RxO+HVq vPKUagWoo/WEqRAy0Qr1fK0qvhHpnaqh9/ywAQraKzaHl1feS8Oo4HfuxKxUicJ0dahy okHWb0ydiKNoWd4tf0YePoTspyBk5ayTjWjQhGPxiswlEN/p5MePF1bAcOr1DFZy+oKO cO+hGDBfVKAo3EfGDT+31dUW3ToCyaeWJEIanhuuCHHJ+UAfRYC3iFr4QiOi0ASvIOC/ dM+GA5VCEf43qZsEmfd48dDTf9jYTs5Qv9qRwJQuJbq4KFMXz+lDpShIdLi1rtma4yvZ +Yyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754084443; x=1754689243; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/ioM0qweR1fmbAPDJgVicAuR3jjD1UZkRG1hgRip6zs=; b=bFPrdvrSYe5m3pj3pC/O+p5YROD84SBrhPNpVv9EXaHV4WklhGSwcrpCJlDAGKPZzJ XIMFfkTdJ2JPgm8HS7lh52+zyiTZ3VUk5n/DcjuzX6C9iw/tknjUVwrJC9pmOGtYSQ/n gaJozxY3q1DZBrgjaxJ/93OHPbi6vPaRR6FaDAr1PJyHTAGTS4uarS6TP2rL4KyO3Fkr PRIx1O6d8Ixt8Ij7II9Di1W12/HVo0siBRIPM4BaLjJzrKAqyI2XCx9lcGGFFMlgrX51 dHpaYERF3LEU2P0mr1JW6QgCWznMvO1BX1j1VHdzwkABqB6THG4Z+5Y/Q+3gzoza6Uan hkXA== X-Forwarded-Encrypted: i=1; AJvYcCWHc1hR2DivOdL6zgW/hg7UthOGhGUeo+QtVgJLgT7b+rlr1GUrCJ7hXDK3s6PUUWVS77oKpQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzsdyiFlq/zLxUPssPSZMUfa2fA9yC7UGXsxCgfr2FPXqdG24mi YyLCcJUnfevFqj0UlNH2FrYvArCol5ujeIABaWesL3GSm6x7CSIPfzTr X-Gm-Gg: ASbGncvZDMfyAnGPL0VrYJlm687vnn/2pbe90s3fOwMoaa0rvgiRy/K5HOwWHYP7oPb zeIduvOjv78V/GUZ+ISWAPnmTji732wLwhsf5aNO5e2njvHEx5uEFqyUu6j+u5WiCP32iGYTbeA jnmcTv+TNSFoKiJGks+AoxnZOrHThXxlFraQjtAkLdnXA35YzeG5AYJ2X7eHZoHmeuT623jBYol VlAhWDHkQYrcPcbdCrIwW2FD0BDtONX+SbEjPwpoJkWANRqg6qOfbB+Dz4+MQ9Gdu+uUPw5xZx3 kGAaNklNwk6pYrtTtm+4eW8Stehhb7wJJwWf4+1qBeEmuh7C3iuLgolCA0UXcKrEKlcOcRjOYC8 SrOjR07dLDMeflG6mmB4lXjc1oV2ryyeTMerEzzyRkPG1BAyukcuELqbU6Vb5CQVaEwunouCqwz EUYg== X-Google-Smtp-Source: AGHT+IER4qVG4NqyERNxQYONXs+uOQMjkzzdHHMlNeLdDu5xg5rPCw8lfy3OJECW8IRXnN0jEuNRQg== X-Received: by 2002:a05:600c:3224:b0:442:e9eb:1b48 with SMTP id 5b1f17b1804b1-458b716c2d0mr2973745e9.24.1754084443102; Fri, 01 Aug 2025 14:40:43 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4589ee4f239sm76539035e9.21.2025.08.01.14.40.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 Aug 2025 14:40:41 -0700 (PDT) Message-ID: Date: Fri, 1 Aug 2025 22:40:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: Leah Neukirchen , 79139@debbugs.gnu.org References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <87bjoz9cby.fsf@vuxu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 01/08/2025 18:33, Leah Neukirchen wrote: > I debugged this further: > > The issue boils down to several things that happen rarely: > - source and destination must be on different mountpoints, so FICLONE fails > - the fallback copy_file_range usually copies at most 2GB segments on ZFS, > however it seems to be able to copy more at once when copying from a > snapshot. > > The problem now is that the return value is interpreted as a negative > number. It's not clear to me how that happens, as ssize_t should be a > signed 64-bit number and contain the value fine, however, gdb also agrees: > > Breakpoint 1, copy_file_range (infd=infd@entry=3, pinoff=pinoff@entry=0x0, outfd=outfd@entry=4, poutoff=poutoff@entry=0x0, length=137304735744, > flags=flags@entry=0) at ../sysdeps/unix/sysv/linux/copy_file_range.c:27 > 27 { > (gdb) fin > Run till exit from #0 copy_file_range (infd=infd@entry=3, pinoff=pinoff@entry=0x0, outfd=outfd@entry=4, poutoff=poutoff@entry=0x0, length=137304735744, > flags=flags@entry=0) at ../sysdeps/unix/sysv/linux/copy_file_range.c:27 > sparse_copy (src_fd=src_fd@entry=3, dest_fd=dest_fd@entry=4, abuf=abuf@entry=0x7fffffffd9d8, buf_size=buf_size@entry=262144, hole_size=0, > punch_holes=punch_holes@entry=true, allow_reflink=true, src_name=0x7fffffffe3d7 "/.zfs/snapshot/pre-fixup/var/lib/libvirt/images/celestis.img", > dst_name=0x7fffffffe414 "celestis.img", max_n_read=137304735744, total_n_read=0x7fffffffd9e0, last_write_made_hole=0x7fffffffd9d0) at src/copy.c:344 > 344 if (n_copied == 0) > Value returned is $2 = -134217728 > > Then the error branch is triggered and the code falsely reads errno > (which is 18 from the failed FICLONE) so is_CLONENOTSUP is true, we > leave the loop without error reporting, total_n_read is still 0, > etc... and it ends up truncating the file thinking the file has > shrunk. Unfortunate. > > I think the return value gets corrupted in glibc, see: > https://github.com/bminor/glibc/blob/d9a348d0927c7a1aec5caf3df3fcd36956b3eb23/nptl/cancellation.c#L66 > > long int > __syscall_cancel (__syscall_arg_t a1, __syscall_arg_t a2, > __syscall_arg_t a3, __syscall_arg_t a4, > __syscall_arg_t a5, __syscall_arg_t a6, > __SYSCALL_CANCEL7_ARG_DEF __syscall_arg_t nr) > { > int r = __internal_syscall_cancel (a1, a2, a3, a4, a5, a6, > __SYSCALL_CANCEL7_ARG nr); > return __glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (r)) > ? SYSCALL_ERROR_LABEL (INTERNAL_SYSCALL_ERRNO (r)) > : r; > } > > Here, r should be a long int. > > As a workaround, copy_max could be clamped to 2GB. > > P.S.: why does coreutils cat not fail as well? It checks the return > value against -1, which it is not... Ouch. As I suspected, the info doesn't seem to be propagated from the syscall appropriately. The distinction between -1 and < 0 isn't useful I think since the value returned could be just truncated to a positive value. I guess all we can do is limit copy_max to INT_MAX for now. Could you log this with https://sourceware.org/bugzilla/ and reference the bug number here? thank you, Padraig From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 17:56:27 2025 Received: (at 79139) by debbugs.gnu.org; 1 Aug 2025 21:56:27 +0000 Received: from localhost ([127.0.0.1]:58484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhxjm-0001VG-U6 for submit@debbugs.gnu.org; Fri, 01 Aug 2025 17:56:27 -0400 Received: from mail-ed1-f54.google.com ([209.85.208.54]:52724) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uhxjj-0001UT-NO for 79139@debbugs.gnu.org; Fri, 01 Aug 2025 17:56:25 -0400 Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-61592ff5df8so2745880a12.1 for <79139@debbugs.gnu.org>; Fri, 01 Aug 2025 14:56:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754085377; x=1754690177; h=content-transfer-encoding:mime-version:organization:user-agent :message-id:in-reply-to:references:from:subject:cc:to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Ong7imOtJE1yc31s9XHxqxyVE6leMgZQtu+ziRYFr3k=; b=epCpFZOxm8O7RU6aYSoICnXUfTSZHZ46Xr5AVb71Q+NvV2XcbUPI7wRdC/dgZies/l aREAW2anbc0t5+CVV5vZMEOTbuA3AyClEv8bWAMLZGA60s8xrDi2jYCxCaLiJQPvaSR7 QevVxxd2fX6Ohv7eT2TDRN+Vcdgq9ZZ4WUCWV511lon4DGgCIziTyyHbBl0dPSnQfEwF FEGUC+tuCLCRXjSfJL+oLfhmkTaAAq4/wl8b4grse2d4R4Kw0GgCafz4AONvreMrlGg2 WuR9UGMo8wNLB/I4pTbshdT22C2OU6udsXUn7mwfm0sz/qNg1+M5OlsOCbagas/VrBi8 4Opw== X-Gm-Message-State: AOJu0YzE2UPIqqDEgmwwhiHpjZxcrZeoLNX8laPwgiRB9F2JTYdRR/5a Fc9ZiHcpEXYcHhDV097QBkYqok/vPWV2tXONiB91h8e9xAuqndigeJId X-Gm-Gg: ASbGnctZVzvFSAeMq5TpNRW6I4OB47vggKwmjcTEoiIeMLkbV4soLDX8fmfw4JOuZfl uBG/cMloJWenpsfw59oevv61DpVHaJeEQM6MW+ov7yDFBvmXU6bcx6M2KURZV9Q1JiDhYaGmJbd yW2ifL1aU2iMOTOdrfrSlUHdurbYYz1GeU4Pt2Np9Ko7+M9qcmgelBslZpYz3iIkaEJSVZrDj4u mmbnQCTKbvUII7cITdEXEXZ3i+SK9Iyx1QhtATYMLbah4MDTLCsq8XZFkt4PLswh0KJj5eMsf+C r6szY6cayYFo3BrkfsO/ZMgAiNB6LjcHKad2yC3mQZwIgxrhAB1OKiOo/LFRHXY2kr5tzeICrCi cMXhxpqki X-Google-Smtp-Source: AGHT+IE99MO3Tc/b/m+6rCECnhgpjIpvgkmjKVHX2Jmb82PSH5sC/Hvv6GX2sj7FT6fNWFO7MOUmfA== X-Received: by 2002:a17:907:3e8d:b0:ae0:c943:785c with SMTP id a640c23a62f3a-af9401b01eamr124814966b.35.1754085377268; Fri, 01 Aug 2025 14:56:17 -0700 (PDT) Received: from hera.home.vuxu.org ([2001:a61:be0:e700::1:28a2]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-af91a1e82a5sm342598666b.82.2025.08.01.14.56.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 14:56:16 -0700 (PDT) Received: from localhost (hera.home.vuxu.org [local]) by hera.home.vuxu.org (OpenSMTPD) with ESMTPA id 6b56d8e4; Fri, 1 Aug 2025 21:56:15 +0000 (UTC) Date: Fri, 01 Aug 2025 23:56:15 +0200 To: =?UTF-8?Q?P=C3=A1draig?= Brady Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS From: Leah Neukirchen References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> In-Reply-To: Message-Id: <3KLLW9UCUSUZR.24PKJYEZVLEG4@hera.home.vuxu.org> User-Agent: mblaze/1.3-15-g963b889-dirty (2025-07-09) Organization: vuxu.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 Cc: 79139@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Could you log this with https://sourceware.org/bugzilla/ > and reference the bug number here? >=20 > thank you, > Padraig This is https://sourceware.org/bugzilla/show_bug.cgi?id=3D33245 and a patch is at https://sourceware.org/pipermail/libc-alpha/2025-August/169096.html --=20 Leah Neukirchen https://leahneukirchen.org/ From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 17:57:18 2025 Received: (at 79139) by debbugs.gnu.org; 1 Aug 2025 21:57:18 +0000 Received: from localhost ([127.0.0.1]:58495 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhxkc-0001YM-C7 for submit@debbugs.gnu.org; Fri, 01 Aug 2025 17:57:18 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:41642) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uhxka-0001Xe-78 for 79139@debbugs.gnu.org; Fri, 01 Aug 2025 17:57:17 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id C88EA3C01086C; Fri, 1 Aug 2025 14:57:09 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id EOVlLW4RhdM7; Fri, 1 Aug 2025 14:57:09 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A11D63C0149D7; Fri, 1 Aug 2025 14:57:09 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu A11D63C0149D7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1754085429; bh=CGbIoNrzNRvtijKYYKrccW88u47t3lPjEfuzKDSuQZs=; h=Message-ID:Date:MIME-Version:To:From; b=pOJsa/TrKkKg4AS2PzV+BujdhFkuLC32HeGyVspQvujNDZYwGoTZTrVXvx6IIeiT3 easNDRv8C2lmX3W97GwyLeHhyNOxuu2S4cd7eMpCWbURaS9iZCxn4nFsXAI3cfZJxM J9uLNmotXCPcz/PfzFTqJs5ZYQektSKS+SoLL4FhG+G/HDmEqtPdRCmNcDG6m1iE5H 0i7q/cr0KsT/YoaKSwhICqWJ9Y8gPl9TuzFlV2SeBbbIfuo0w9GD8N9VWYlmbbCjZ3 k/4ZPGPAgB9aKpkvJJd7JpuX6aZi4gS6v/LkKc5dbUAZP9xLMisub0d41N9Pqw7OKc oBXmEkpWmrtMg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id 8w9MaKnAMIPc; Fri, 1 Aug 2025 14:57:09 -0700 (PDT) Received: from penguin.cs.ucla.edu (unknown [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 7B32B3C01086C; Fri, 1 Aug 2025 14:57:09 -0700 (PDT) Message-ID: <9bf9f192-9430-4f1f-8837-a92322d06739@cs.ucla.edu> Date: Fri, 1 Aug 2025 14:57:09 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: =?UTF-8?Q?P=C3=A1draig_Brady?= , Leah Neukirchen , 79139@debbugs.gnu.org References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2025-08-01 14:40, P=C3=A1draig Brady wrote: > Could you log this with https://sourceware.org/bugzilla/ He already did that, here: https://sourceware.org/bugzilla/show_bug.cgi?id=3D33245 I should have a Gnulib fix shortly. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 18:05:16 2025 Received: (at 79139) by debbugs.gnu.org; 1 Aug 2025 22:05:16 +0000 Received: from localhost ([127.0.0.1]:58589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhxsJ-0002CV-SN for submit@debbugs.gnu.org; Fri, 01 Aug 2025 18:05:16 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]:46242) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uhxsH-00028Y-5b for 79139@debbugs.gnu.org; Fri, 01 Aug 2025 18:05:13 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-24009eeb2a7so21098415ad.0 for <79139@debbugs.gnu.org>; Fri, 01 Aug 2025 15:05:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754085907; x=1754690707; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jOnNjtMI199AQnkmUaX4F0tzeeToLmActI3Tkm0kOlo=; b=gC0K/I8Ky86Td6ZP2LnCcIppctCnGXQ5qp0w5kYV8UKZ/gd50NJ5nE1Tr4o3tx5HjB TreLXooUu1peqDYDXHzymQI/F27DSydCNhcWA92129gJPGlozylBEvn9mGQ8S09UMR2Q +sn81bI1oj/ui8tjla6VQrNqQvx9sALwg/9bUDi+UiCLzLBhw+eCshmtuPCOL394A8O5 VlZywxWIUaiqBIWgLA/I7G6gv54tLfb2l9YDIdWg1srX27SNbA87a3NaCDuab5aGC1kC 8aF69CYgARdiumPpsBG7iji845rYnk0M+Fw3RCd1xGXT0/1hFWdesmxFJm1qzHlHMoib n3zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754085907; x=1754690707; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jOnNjtMI199AQnkmUaX4F0tzeeToLmActI3Tkm0kOlo=; b=pcJv/PjhT3SEJKj6NFIwfGXvDBPLsHajmRcLp56DtMUKhb0lCMuO0b7M4pEzYIGXQK SiNr+KF0zsWDYc2E6QHAZOIoj3zZ1uskWRaf9w8H2VA4v+MsNlD7HaYzDNO+MVH9dyGI PbB/QhTP1AQbZkMXMMV02c8H8kj0424rSpj7VWHR9v8/RVsnnZ3gEAB2wNz7C053MDc6 dcdUFyVfcqxoQYD/y6rijz3aAamTgxiVV4JjfkcS5Rp1lF2OIC3qjNbld1KiAcNLgVE2 uN9a06sOlUpm0Dnnrz0m1TbDjKay9g6Lno+AS/FXObof4A+4y/pldgGp1a5tXnqGInKM dmTQ== X-Forwarded-Encrypted: i=1; AJvYcCWlttVqw9/NdR0GScC8cq2d/v+cKJTWnJpjEW6KQfsySBukMMO7rPglpXaiL8GhDUE2NB4hpg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyjZlejclqHDr0UNEgvw1zGTzJ8tnoh3I8wXj42/UMthO0d6E5J A/ZC6ztqQf5WGFWnj8W/dnsJPr2sJoOv59Vm+sRSX7U2pO/gq8zNtJaKJUXxsw== X-Gm-Gg: ASbGncvvfkswUYtzH6Xptl7LNR4R0va37qpdSl2D7WoWxPDkfP0xPGiVRKEKKC4bpw7 jEyvB6BbtLCU+TmBSUiHDybzH+FxW1Pfm8sQyn5i89F8LN0nXwIeMxmtSNGBEV0JmCurMhn3nim B4abeOGjIDzaHLVOj/jxxcS1UpslqbZ4LrDMO5iQQmHpshEDr7gX8SxZzugXaErY+Y1MfVC3JVE A66elCI/gdPfMqD53TySUTLuJL4PUHStjI5LoyMbIpFCv3jic5Q6ce//1l26VRn9TcvgzQr92SX egUw+X2vUmiEWUn6kNrVMQv3l08uejUP6cRBNTD89y9b+g4PohN6V/oUziiwtio6tZ/0G1AdT00 3+A== X-Google-Smtp-Source: AGHT+IFjuj2ETuQ3tVq1dQioDwmTKTYqzU3Z1Jf3aGKDiTBoHS/XA27WU2E3auNaIsYvotQaRwX9xg== X-Received: by 2002:a17:902:f550:b0:23f:f065:f2be with SMTP id d9443c01a7336-24246fe0ec1mr13855935ad.26.1754085906710; Fri, 01 Aug 2025 15:05:06 -0700 (PDT) Received: from fedora ([2601:646:8081:3770::666]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e8aa404dsm51690145ad.148.2025.08.01.15.05.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 15:05:06 -0700 (PDT) From: Collin Funk To: Paul Eggert Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS In-Reply-To: <9bf9f192-9430-4f1f-8837-a92322d06739@cs.ucla.edu> References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> <9bf9f192-9430-4f1f-8837-a92322d06739@cs.ucla.edu> Date: Fri, 01 Aug 2025 15:05:05 -0700 Message-ID: <87jz3m1ywe.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79139 Cc: 79139@debbugs.gnu.org, =?utf-8?Q?P=C3=A1draig?= Brady , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Paul Eggert writes: > On 2025-08-01 14:40, P=C3=A1draig Brady wrote: >> Could you log this with https://sourceware.org/bugzilla/ > > He already did that, here: > > https://sourceware.org/bugzilla/show_bug.cgi?id=3D33245 That is an unfortunate bug. Thanks and good catch Leah. > I should have a Gnulib fix shortly. Thanks! I was hoping that file could be made a tiny stub, due to the workarounds for Linux 4.19 being mostly unnecessary now that it is EOL. But now we have a new problem to deal with. :) Collin From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 20:17:30 2025 Received: (at 79139-done) by debbugs.gnu.org; 2 Aug 2025 00:17:30 +0000 Received: from localhost ([127.0.0.1]:59326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uhzwH-0002d0-Km for submit@debbugs.gnu.org; Fri, 01 Aug 2025 20:17:30 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:37556) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uhzwB-0002cc-Cv for 79139-done@debbugs.gnu.org; Fri, 01 Aug 2025 20:17:27 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id D29543C01085F; Fri, 1 Aug 2025 17:17:16 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id gm9shkYR0a8V; Fri, 1 Aug 2025 17:17:16 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A80A33C010860; Fri, 1 Aug 2025 17:17:16 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu A80A33C010860 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1754093836; bh=bY2LqJlxTkFUWRmlO2f1OUrjTi03kwDRlVuDgL00lC0=; h=Message-ID:Date:MIME-Version:To:From; b=Sr6Hw2fqb2a9GUno2+8vHkDAtmVxleSh6Fyy9zyk/Y39fFQBX/5rWaXlJNch6tzqj 7t3Du9xY25chsYiXIhMHkQOfdvGEHg6YWuoHRv4lZhOIzcBuopWIMlVMUxzXwR3LOc c5mTjBh797PoPlUqi4EEyB3vn5QZGBxKSmDZ53X2dmd9pu3YiNaBPnohiDP30dx7M6 r5yh6lBAkdIgQ0R/YyyfSdbQug3/BYcv+jqAcj/L8WAJQtc67BKxhiRkzTKIGkDINb AxXG75DBHCdYTiYsGjRTVm8hs5YZIGQpjzMTTeFppnqzTx1ID9Gb/4Xhwq4CQ6aI9a vhyOaXhRqCMIw== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id HpLOi5M8c9e3; Fri, 1 Aug 2025 17:17:16 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 7BE613C01085F; Fri, 1 Aug 2025 17:17:16 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------9oZ3KXBeK20GNf0FL5oTxGnn" Message-ID: <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> Date: Fri, 1 Aug 2025 17:17:16 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: Collin Funk References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> <9bf9f192-9430-4f1f-8837-a92322d06739@cs.ucla.edu> <87jz3m1ywe.fsf@gmail.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <87jz3m1ywe.fsf@gmail.com> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139-done Cc: 79139-done@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig_Brady?= , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------9oZ3KXBeK20GNf0FL5oTxGnn Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-08-01 15:05, Collin Funk wrote: > I was hoping that file could be made a tiny stub, due to the > workarounds for Linux 4.19 being mostly unnecessary now that it is EOL. > But now we have a new problem to deal with. :) That we do. But we can more thorougly stubify the old Linux kernel bug workaround while we're in the neighborhood. Probably best not to remove it entirely as RHEL 8 still uses the no-longer-supported kernel. To do that, I installed the attached patches into Gnulib and propagated them into coreutils. Boldly closing the bug report. Thanks, Leah, for reporting it. That one was quite a whopper. --------------9oZ3KXBeK20GNf0FL5oTxGnn Content-Type: text/x-patch; charset=UTF-8; name="0001-copy-file-range-tune-for-more-modern-kernels.patch" Content-Disposition: attachment; filename="0001-copy-file-range-tune-for-more-modern-kernels.patch" Content-Transfer-Encoding: base64 RnJvbSA2MjZmMjI5OTE1YjExNDczMWNjNGM5ZDliZGE5ZWFhODJkNTgxODBiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDEgQXVnIDIwMjUgMTQ6NDY6NTEgLTA3MDAKU3ViamVjdDogW1BBVENI IDEvMl0gY29weS1maWxlLXJhbmdlOiB0dW5lIGZvciBtb3JlLW1vZGVybiBrZXJuZWxzCk1J TUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgoqIGxpYi9jb3B5LWZpbGUtcmFu Z2UuYyBbX19saW51eF9fICYmIEhBVkVfQ09QWV9GSUxFX1JBTkdFXToKSW5jbHVkZSA8bGlu dXgvdmVyc2lvbi5oPi4gIEluY2x1ZGUgPHN5cy91dHNuYW1lLmg+Cm9ubHkgZm9yIGtlcm5l bCA1LjIgYW5kIGVhcmxpZXIuCihDSEVDS19MSU5VWF9LRVJORUxfVkVSU0lPTik6IE5ldyBt YWNyby4KKGNvcHlfZmlsZV9yYW5nZSkgW19fbGludXhfXyAmJiBIQVZFX0NPUFlfRklMRV9S QU5HRV06CkNhbGwgdXRzbmFtZSBvbmx5IHdoZW4gYnVpbHQgZm9yIGtlcm5lbCA1LjIgYW5k IGVhcmxpZXIuCihjb3B5X2ZpbGVfcmFuZ2UpIFshX19saW51eF9fICYmIEhBVkVfQ09QWV9G SUxFX1JBTkdFXToKVXNlIHVuZGVybHlpbmcgY29weV9maWxlX3JhbmdlLiAgVGhpcyBkb2Vz buKAmXQgY2hhbmdlCmJlaGF2aW9yIHNpbmNlIHRoZSBjb2RlIGlzIG5vdCBjb21waWxlZCBp biB0aGlzIGNhc2UsCmJ1dCBpdCBtYWtlcyB0aGUgY29kZSBhIGJpdCBjbGVhbmVyLgoqIG1v ZHVsZXMvY29weS1maWxlLXJhbmdlIChEZXBlbmRzLW9uKTogQWRkIGJvb2wuCi0tLQogQ2hh bmdlTG9nICAgICAgICAgICAgICAgfCAxNSArKysrKysrKysrKysrCiBsaWIvY29weS1maWxl LXJhbmdlLmMgICB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tCiBtNC9jb3B5LWZpbGUtcmFuZ2UubTQgICB8ICAzICstLQogbW9kdWxlcy9jb3B5LWZp bGUtcmFuZ2UgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl eCA2MGI4ZDA4ZDM3Li5iMzNkN2ZkMDBiIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIv Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjUtMDgtMDEgIFBhdWwgRWdnZXJ0ICA8 ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJY29weS1maWxlLXJhbmdlOiB0dW5lIGZvciBtb3Jl LW1vZGVybiBrZXJuZWxzCisJKiBsaWIvY29weS1maWxlLXJhbmdlLmMgW19fbGludXhfXyAm JiBIQVZFX0NPUFlfRklMRV9SQU5HRV06CisJSW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPi4g IEluY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisJb25seSBmb3Iga2VybmVsIDUuMiBhbmQgZWFy bGllci4KKwkoQ0hFQ0tfTElOVVhfS0VSTkVMX1ZFUlNJT04pOiBOZXcgbWFjcm8uCisJKGNv cHlfZmlsZV9yYW5nZSkgW19fbGludXhfXyAmJiBIQVZFX0NPUFlfRklMRV9SQU5HRV06CisJ Q2FsbCB1dHNuYW1lIG9ubHkgd2hlbiBidWlsdCBmb3Iga2VybmVsIDUuMiBhbmQgZWFybGll ci4KKwkoY29weV9maWxlX3JhbmdlKSBbIV9fbGludXhfXyAmJiBIQVZFX0NPUFlfRklMRV9S QU5HRV06CisJVXNlIHVuZGVybHlpbmcgY29weV9maWxlX3JhbmdlLiAgVGhpcyBkb2VzbuKA mXQgY2hhbmdlCisJYmVoYXZpb3Igc2luY2UgdGhlIGNvZGUgaXMgbm90IGNvbXBpbGVkIGlu IHRoaXMgY2FzZSwKKwlidXQgaXQgbWFrZXMgdGhlIGNvZGUgYSBiaXQgY2xlYW5lci4KKwkq IG1vZHVsZXMvY29weS1maWxlLXJhbmdlIChEZXBlbmRzLW9uKTogQWRkIGJvb2wuCisKIDIw MjUtMDgtMDEgIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KIAogCXNpZ3NlZ3Y6 IFVzZSBuZXcgaW9jdGwgYXZhaWxhYmxlIGluIExpbnV4ID49IDYuMTEuCmRpZmYgLS1naXQg YS9saWIvY29weS1maWxlLXJhbmdlLmMgYi9saWIvY29weS1maWxlLXJhbmdlLmMKaW5kZXgg OGUwYzY0NGMwOC4uNzNlMDJkYjFjMSAxMDA2NDQKLS0tIGEvbGliL2NvcHktZmlsZS1yYW5n ZS5jCisrKyBiL2xpYi9jb3B5LWZpbGUtcmFuZ2UuYwpAQCAtMjEsNyArMjEsMTMgQEAKICNp bmNsdWRlIDxlcnJuby5oPgogCiAjaWYgZGVmaW5lZCBfX2xpbnV4X18gJiYgSEFWRV9DT1BZ X0ZJTEVfUkFOR0UKKyMgaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgogIyBpbmNsdWRlIDxz eXMvdXRzbmFtZS5oPgorIyBpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP TiAoNSwgMywgMCkKKyMgIGRlZmluZSBDSEVDS19MSU5VWF9LRVJORUxfVkVSU0lPTiB0cnVl CisjIGVsc2UKKyMgIGRlZmluZSBDSEVDS19MSU5VWF9LRVJORUxfVkVSU0lPTiBmYWxzZQor IyBlbmRpZgogI2VuZGlmCiAKIHNzaXplX3QKQEAgLTMxLDMyICszNywzOCBAQCBjb3B5X2Zp bGVfcmFuZ2UgKGludCBpbmZkLCBvZmZfdCAqcGlub2ZmLAogewogI3VuZGVmIGNvcHlfZmls ZV9yYW5nZQogCi0jaWYgZGVmaW5lZCBfX2xpbnV4X18gJiYgSEFWRV9DT1BZX0ZJTEVfUkFO R0UKKyNpZiBIQVZFX0NPUFlfRklMRV9SQU5HRQorICBib29sIG9rID0gdHJ1ZTsKKworIyBp ZiBDSEVDS19MSU5VWF9LRVJORUxfVkVSU0lPTgogICAvKiBUaGUgaW1wbGVtZW50YXRpb24g b2YgY29weV9maWxlX3JhbmdlICh3aGljaCBmaXJzdCBhcHBlYXJlZCBpbgogICAgICBMaW51 eCBrZXJuZWwgcmVsZWFzZSA0LjUpIGhhZCBtYW55IGlzc3VlcyBiZWZvcmUgcmVsZWFzZSA1 LjMKICAgICAgPGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy83ODk1MjcvPiwgc28gZmFpbCB3 aXRoIEVOT1NZUyBmb3IgTGludXgKICAgICAga2VybmVscyA1LjIgYW5kIGVhcmxpZXIuCiAK LSAgICAgVGhpcyB3b3JrYXJvdW5kLCBhbmQgdGhlIGNvbmZpZ3VyZS10aW1lIGNoZWNrIGZv ciBMaW51eCwgY2FuIGJlCi0gICAgIHJlbW92ZWQgd2hlbiBzdWNoIGtlcm5lbHMgKHJlbGVh c2VkIE1hcmNoIDIwMTYgdGhyb3VnaCBTZXB0ZW1iZXIKLSAgICAgMjAxOSkgYXJlIG5vIGxv bmdlciBhIGNvbnNpZGVyYXRpb24uICBBcyBvZiBKYW51YXJ5IDIwMjEsIHRoZQotICAgICBm dXJ0aGVzdC1mdXR1cmUgcGxhbm5lZCBrZXJuZWwgRU9MIGlzIERlY2VtYmVyIDIwMjQgZm9y IGtlcm5lbAotICAgICByZWxlYXNlIDQuMTkuICAqLworICAgICBUaGlzIHdvcmthcm91bmQg Y2FuIGJlIHJlbW92ZWQgd2hlbiBzdWNoIGtlcm5lbHMgKHJlbGVhc2VkIE1hcmNoCisgICAg IDIwMTYgdGhyb3VnaCBTZXB0ZW1iZXIgMjAxOSkgYXJlIG5vIGxvbmdlciBhIGNvbnNpZGVy YXRpb24uCisgICAgIEFsdGhvdWdoIGFsbCBzdWNoIGtlcm5lbHMgaGF2ZSByZWFjaGVkIEVP TCwgc29tZSBkaXN0cm9zIHVzZQorICAgICBvbGRlciBrZXJuZWxzLiAgRm9yIGV4YW1wbGUs IFJIRUwgOCB1c2VzIGtlcm5lbCA0LjE4IGFuZCBoYXMgYW4KKyAgICAgRU9MIG9mIDIwMjku ICAqLwogCi0gICAgc3RhdGljIHNpZ25lZCBjaGFyIG9rOworICBzdGF0aWMgc2lnbmVkIGNo YXIga2VybmVsX29rOworICBpZiAoISBrZXJuZWxfb2spCisgICAgeworICAgICAgc3RydWN0 IHV0c25hbWUgbmFtZTsKKyAgICAgIHVuYW1lICgmbmFtZSk7CisgICAgICBjaGFyICpwID0g bmFtZS5yZWxlYXNlOworICAgICAga2VybmVsX29rID0gKChwWzFdICE9ICcuJyB8fCAnNScg PCBwWzBdCisgICAgICAgICAgICAgICAgICAgIHx8IChwWzBdID09ICc1JyAmJiAocFszXSAh PSAnLicgfHwgJzInIDwgcFsyXSkpKQorICAgICAgICAgICAgICAgICAgID8gMSA6IC0xKTsK KyAgICB9CiAKLSAgICBpZiAoISBvaykKLSAgICAgIHsKLSAgICAgICAgc3RydWN0IHV0c25h bWUgbmFtZTsKLSAgICAgICAgdW5hbWUgKCZuYW1lKTsKLSAgICAgICAgY2hhciAqcCA9IG5h bWUucmVsZWFzZTsKLSAgICAgICAgb2sgPSAoKHBbMV0gIT0gJy4nIHx8ICc1JyA8IHBbMF0K LSAgICAgICAgICAgICAgIHx8IChwWzBdID09ICc1JyAmJiAocFszXSAhPSAnLicgfHwgJzIn IDwgcFsyXSkpKQotICAgICAgICAgICAgICA/IDEgOiAtMSk7Ci0gICAgICB9CisgIGlmIChr ZXJuZWxfb2sgPCAwKQorICAgIG9rID0gZmFsc2U7CisjIGVuZGlmCiAKLSAgICBpZiAoMCA8 IG9rKQotICAgICAgcmV0dXJuIGNvcHlfZmlsZV9yYW5nZSAoaW5mZCwgcGlub2ZmLCBvdXRm ZCwgcG91dG9mZiwgbGVuZ3RoLCBmbGFncyk7CisgIGlmIChvaykKKyAgICByZXR1cm4gY29w eV9maWxlX3JhbmdlIChpbmZkLCBwaW5vZmYsIG91dGZkLCBwb3V0b2ZmLCBsZW5ndGgsIGZs YWdzKTsKICNlbmRpZgogCiAgIC8qIFRoZXJlIGlzIGxpdHRsZSBuZWVkIHRvIGVtdWxhdGUg Y29weV9maWxlX3JhbmdlIHdpdGggcmVhZCt3cml0ZSwKZGlmZiAtLWdpdCBhL200L2NvcHkt ZmlsZS1yYW5nZS5tNCBiL200L2NvcHktZmlsZS1yYW5nZS5tNAppbmRleCAxMzA4MWQ5YjEx Li5lYzE3ZmM2OGM3IDEwMDY0NAotLS0gYS9tNC9jb3B5LWZpbGUtcmFuZ2UubTQKKysrIGIv bTQvY29weS1maWxlLXJhbmdlLm00CkBAIC01Miw4ICs1Miw3IEBAIEFDX0RFRlVOKFtnbF9G VU5DX0NPUFlfRklMRV9SQU5HRV0sCiAKICAgICBjYXNlICRob3N0X29zIGluCiAgICAgICBs aW51eCopCi0gICAgICAgICMgU2VlIGNvcHktZmlsZS1yYW5nZS5jIGNvbW1lbnQgcmUgcHJl LTUuMyBMaW51eCBrZXJuZWwgYnVncy4KLSAgICAgICAgIyBXZSBzaG91bGQgYmUgYWJsZSB0 byByZW1vdmUgdGhpcyBoYWNrIGluIDIwMjUuCisgICAgICAgICMgU2VlIGNvcHktZmlsZS1y YW5nZS5jIGNvbW1lbnQgcmUgTGludXgga2VybmVsIGJ1Z3MuCiAgICAgICAgIFJFUExBQ0Vf Q09QWV9GSUxFX1JBTkdFPTE7OwogICAgIGVzYWMKICAgZmkKZGlmZiAtLWdpdCBhL21vZHVs ZXMvY29weS1maWxlLXJhbmdlIGIvbW9kdWxlcy9jb3B5LWZpbGUtcmFuZ2UKaW5kZXggMTJi NmZjYjg2ZS4uNTczNTU4YTk0NSAxMDA2NDQKLS0tIGEvbW9kdWxlcy9jb3B5LWZpbGUtcmFu Z2UKKysrIGIvbW9kdWxlcy9jb3B5LWZpbGUtcmFuZ2UKQEAgLTYsNiArNiw3IEBAIGxpYi9j b3B5LWZpbGUtcmFuZ2UuYwogbTQvY29weS1maWxlLXJhbmdlLm00CiAKIERlcGVuZHMtb246 Citib29sCiBsYXJnZWZpbGUKIHVuaXN0ZC1oCiAKLS0gCjIuNDguMQoK --------------9oZ3KXBeK20GNf0FL5oTxGnn Content-Type: text/x-patch; charset=UTF-8; name="0002-copy-file-range-work-around-glibc-bug-33245.patch" Content-Disposition: attachment; filename="0002-copy-file-range-work-around-glibc-bug-33245.patch" Content-Transfer-Encoding: base64 RnJvbSA5NDhiYTgwMTY4MjkzZTNkOGE5MDVlZWZmYjBhYjYxNDI0YzRjMzc0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDEgQXVnIDIwMjUgMTY6MDE6MTMgLTA3MDAKU3ViamVjdDogW1BBVENI IDIvMl0gY29weS1maWxlLXJhbmdlOiB3b3JrIGFyb3VuZCBnbGliYyBidWcgMzMyNDUKClBy b2JsZW0gcmVwb3J0ZWQgYnkgTGVhaCBOZXVraXJjaGVuIDxodHRwczovL2J1Z3MuZ251Lm9y Zy83OTEzOT4uCiogbGliL2NvcHktZmlsZS1yYW5nZS5jOiBJbmNsdWRlIHN5cy1saW1pdHMu aC4KKGNvcHlfZmlsZV9yYW5nZSkgW2dsaWJjIDIuNDIgYW5kIGVhcmxpZXJdOgpDb3B5IGF0 IG1vc3QgU1lTX0JVRlNJWkVfTUFYIGJ5dGVzLgoqIG00L2NvcHktZmlsZS1yYW5nZS5tNCAo Z2xfRlVOQ19DT1BZX0ZJTEVfUkFOR0UpOgpSZXBsYWNlIG9uIGdsaWJjIHBsYXRmb3Jtcywg YXMgd2VsbCBhcyBvbiBMaW51eCBwbGF0Zm9ybXMuCiogbW9kdWxlcy9jb3B5LWZpbGUtcmFu Z2UgKEZpbGVzKTogQWRkIGxpYi9zeXMtbGltaXRzLmguCi0tLQogQ2hhbmdlTG9nICAgICAg ICAgICAgICAgfCAgOSArKysrKysrKysKIGxpYi9jb3B5LWZpbGUtcmFuZ2UuYyAgIHwgMTcg KysrKysrKysrKysrKysrKy0KIG00L2NvcHktZmlsZS1yYW5nZS5tNCAgIHwgIDQgKystLQog bW9kdWxlcy9jb3B5LWZpbGUtcmFuZ2UgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDI4IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv Q2hhbmdlTG9nCmluZGV4IGIzM2Q3ZmQwMGIuLmU2MGEzODc2MTEgMTAwNjQ0Ci0tLSBhL0No YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNCBAQAogMjAyNS0wOC0wMSAg UGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CiAKKwljb3B5LWZpbGUtcmFuZ2U6 IHdvcmsgYXJvdW5kIGdsaWJjIGJ1ZyAzMzI0NQorCVByb2JsZW0gcmVwb3J0ZWQgYnkgTGVh aCBOZXVraXJjaGVuIDxodHRwczovL2J1Z3MuZ251Lm9yZy83OTEzOT4uCisJKiBsaWIvY29w eS1maWxlLXJhbmdlLmM6IEluY2x1ZGUgc3lzLWxpbWl0cy5oLgorCShjb3B5X2ZpbGVfcmFu Z2UpIFtnbGliYyAyLjQyIGFuZCBlYXJsaWVyXToKKwlDb3B5IGF0IG1vc3QgU1lTX0JVRlNJ WkVfTUFYIGJ5dGVzLgorCSogbTQvY29weS1maWxlLXJhbmdlLm00IChnbF9GVU5DX0NPUFlf RklMRV9SQU5HRSk6CisJUmVwbGFjZSBvbiBnbGliYyBwbGF0Zm9ybXMsIGFzIHdlbGwgYXMg b24gTGludXggcGxhdGZvcm1zLgorCSogbW9kdWxlcy9jb3B5LWZpbGUtcmFuZ2UgKEZpbGVz KTogQWRkIGxpYi9zeXMtbGltaXRzLmguCisKIAljb3B5LWZpbGUtcmFuZ2U6IHR1bmUgZm9y IG1vcmUtbW9kZXJuIGtlcm5lbHMKIAkqIGxpYi9jb3B5LWZpbGUtcmFuZ2UuYyBbX19saW51 eF9fICYmIEhBVkVfQ09QWV9GSUxFX1JBTkdFXToKIAlJbmNsdWRlIDxsaW51eC92ZXJzaW9u Lmg+LiAgSW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KZGlmZiAtLWdpdCBhL2xpYi9jb3B5LWZp bGUtcmFuZ2UuYyBiL2xpYi9jb3B5LWZpbGUtcmFuZ2UuYwppbmRleCA3M2UwMmRiMWMxLi41 YzEyZjZmNzE1IDEwMDY0NAotLS0gYS9saWIvY29weS1maWxlLXJhbmdlLmMKKysrIGIvbGli L2NvcHktZmlsZS1yYW5nZS5jCkBAIC0zMCw2ICszMCw4IEBACiAjIGVuZGlmCiAjZW5kaWYK IAorI2luY2x1ZGUgInN5cy1saW1pdHMuaCIKKwogc3NpemVfdAogY29weV9maWxlX3Jhbmdl IChpbnQgaW5mZCwgb2ZmX3QgKnBpbm9mZiwKICAgICAgICAgICAgICAgICAgaW50IG91dGZk LCBvZmZfdCAqcG91dG9mZiwKQEAgLTY4LDcgKzcwLDIwIEBAIGNvcHlfZmlsZV9yYW5nZSAo aW50IGluZmQsIG9mZl90ICpwaW5vZmYsCiAjIGVuZGlmCiAKICAgaWYgKG9rKQotICAgIHJl dHVybiBjb3B5X2ZpbGVfcmFuZ2UgKGluZmQsIHBpbm9mZiwgb3V0ZmQsIHBvdXRvZmYsIGxl bmd0aCwgZmxhZ3MpOworICAgIHsKKyMgICBpZiBkZWZpbmVkIF9fR0xJQkNfXyAmJiAhICgy IDwgX19HTElCQ19fICsgKDQzIDw9IF9fR0xJQkNfTUlOT1JfXykpCisgICAgICAvKiBXb3Jr IGFyb3VuZCBnbGliYyBidWcgMzMyNDUKKyAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMzI0NT4uCisgICAgICAgICBUaGlzIGJ1 ZyBpcyBwcmVzZW50IGluIGdsaWJjIDIuNDIgKDIwMjUpIGFuZCBmaXhlZCBpbiAyLjQzLAor ICAgICAgICAgc28gdGhpcyB3b3JrYXJvdW5kLCBhbmQgdGhlIGNvbmZpZ3VyZS10aW1lIGNo ZWNrIGZvciBnbGliYywKKyAgICAgICAgIGNhbiBiZSByZW1vdmVkIG9uY2UgZ2xpYmMgMi40 MiBhbmQgZWFybGllciBpcyBubyBsb25nZXIgYQorICAgICAgICAgY29uc2lkZXJhdGlvbi4g IFBlcmhhcHMgaW4gMjA0MC4gICovCisgICAgICBpZiAoU1lTX0JVRlNJWkVfTUFYIDwgbGVu Z3RoKQorICAgICAgICBsZW5ndGggPSBTWVNfQlVGU0laRV9NQVg7CisjIGVuZGlmCisKKyAg ICAgIHJldHVybiBjb3B5X2ZpbGVfcmFuZ2UgKGluZmQsIHBpbm9mZiwgb3V0ZmQsIHBvdXRv ZmYsIGxlbmd0aCwgZmxhZ3MpOworICAgIH0KICNlbmRpZgogCiAgIC8qIFRoZXJlIGlzIGxp dHRsZSBuZWVkIHRvIGVtdWxhdGUgY29weV9maWxlX3JhbmdlIHdpdGggcmVhZCt3cml0ZSwK ZGlmZiAtLWdpdCBhL200L2NvcHktZmlsZS1yYW5nZS5tNCBiL200L2NvcHktZmlsZS1yYW5n ZS5tNAppbmRleCBlYzE3ZmM2OGM3Li44NWNmZWY3MWY0IDEwMDY0NAotLS0gYS9tNC9jb3B5 LWZpbGUtcmFuZ2UubTQKKysrIGIvbTQvY29weS1maWxlLXJhbmdlLm00CkBAIC01MSw4ICs1 MSw4IEBAIEFDX0RFRlVOKFtnbF9GVU5DX0NPUFlfRklMRV9SQU5HRV0sCiAgICAgICBbRGVm aW5lIHRvIDEgaWYgdGhlIGZ1bmN0aW9uIGNvcHlfZmlsZV9yYW5nZSBleGlzdHMuXSkKIAog ICAgIGNhc2UgJGhvc3Rfb3MgaW4KLSAgICAgIGxpbnV4KikKLSAgICAgICAgIyBTZWUgY29w eS1maWxlLXJhbmdlLmMgY29tbWVudCByZSBMaW51eCBrZXJuZWwgYnVncy4KKyAgICAgICot Z251KiB8IGdudSogfCBsaW51eCopCisgICAgICAgICMgU2VlIGNvcHktZmlsZS1yYW5nZS5j IGNvbW1lbnQgcmUgZ2xpYmMgYW5kIExpbnV4IGtlcm5lbCBidWdzLgogICAgICAgICBSRVBM QUNFX0NPUFlfRklMRV9SQU5HRT0xOzsKICAgICBlc2FjCiAgIGZpCmRpZmYgLS1naXQgYS9t b2R1bGVzL2NvcHktZmlsZS1yYW5nZSBiL21vZHVsZXMvY29weS1maWxlLXJhbmdlCmluZGV4 IDU3MzU1OGE5NDUuLmUzNTEyZWFmZmEgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvY29weS1maWxl LXJhbmdlCisrKyBiL21vZHVsZXMvY29weS1maWxlLXJhbmdlCkBAIC0zLDYgKzMsNyBAQCBD b3B5IHBhcnRzIG9mIGZpbGVzCiAKIEZpbGVzOgogbGliL2NvcHktZmlsZS1yYW5nZS5jCits aWIvc3lzLWxpbWl0cy5oCiBtNC9jb3B5LWZpbGUtcmFuZ2UubTQKIAogRGVwZW5kcy1vbjoK LS0gCjIuNDguMQoK --------------9oZ3KXBeK20GNf0FL5oTxGnn-- From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 01 23:56:27 2025 Received: (at 79139-done) by debbugs.gnu.org; 2 Aug 2025 03:56:27 +0000 Received: from localhost ([127.0.0.1]:60647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ui3MA-0000jx-IQ for submit@debbugs.gnu.org; Fri, 01 Aug 2025 23:56:27 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]:45433) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ui3M7-0000jM-6x for 79139-done@debbugs.gnu.org; Fri, 01 Aug 2025 23:56:24 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-7426c44e014so2684698b3a.3 for <79139-done@debbugs.gnu.org>; Fri, 01 Aug 2025 20:56:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754106977; x=1754711777; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=ouqtn5ItL2noCq90Q+vpxBauZ44B4JY5fwqdtoAnOEY=; b=NpqQoNHcKdrE8nWFDNcCvI4/t4WG1AaPMX1zZVx4FSFV676soULaCFcwQspYQAWJn0 IZMcLDEfQlgsFFQefWmBY91oT7FC+7hTdwXhJBE2d4YiMdSj1Wo9l+NvvK0dIoHm5pZv MbKZP9F7ECTB/KOUTY33cyUOE4VEpc3BFVbXM4d0xfhJTgwdFEI/Zt0SOjm4+cHao1BP HZ8b121OdZL1yeNovdp+Smube4QIU6LSUxjV/v0DnF7VKUNlvEb6r3fz4NQWRIysDVyb bqDJTmV9EhyMqz6g0kcACjBFize1OzvtUS0p30lQ4g41JuDQbRLcsyaJUX4IfYCVvpyS anhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754106977; x=1754711777; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ouqtn5ItL2noCq90Q+vpxBauZ44B4JY5fwqdtoAnOEY=; b=suzr/u0IOFNbdzno0rL4hrHcdQRjlP9vEHzL7QxFoFBQ2DoKmZ1JEeC6BK2tE46QAs 0E/RMGpXBk66E8tPW8QblpxmWWkth4tgzZXFZX29petgUXHe3Ljdqbpihm1I+nMAGGJX PTCGwJ4+KQLqeUuDDidHPWwOEGI7V5apjBx52z3CDmYP8ObKywdSn2hRpoIhLTFYh0AA pwNrrMje1VaUEYl7TPZLjnM9te5Zq5OKecFFDtjdXlNBII2ZC5u55Kh4MYhMYmC1fbz7 oyU16PKqiBum3jeyhlnhBg7EHKEhZ1xKyLOCM6PV4/NY6VaCSDFbY3fwC7btyy04WiN9 ILeA== X-Forwarded-Encrypted: i=1; AJvYcCXC11NhR9YZXsILbJjFEJJwNqsOV090a1xY6JUTsWHCpV25uY89eLCLUTA1qEX61Myx+k2/aJ6ygFt+@debbugs.gnu.org X-Gm-Message-State: AOJu0Yy5cVDCyLL4Fmw8As8EAfUtzsxe+dxHikFpJEnI+ucAP6afsiuQ mhW3H/tZhpALQLz+j43bjk7ub0DCA3Ei2O2XkyUPsBZxmQzUDOwgpdDK X-Gm-Gg: ASbGncvfYH+5/xynAXjepdaCVjhwnved/X45Jm89AQm5O5jmgJAVCOsoPjU01+ar50N 8yOAFQ9A0JaVuj6FCcovCgx3qvPTKQoovkILMVtrDzaDp6LlIdfixwpZ5s2RHX0P3McGD5BQzV4 HArryjgvzVoYGeRvG8kGc6SwPy94URM6ACJg152UlgITP4D3AbH5jZ4Hvk5NqE7RpKxvuRn/JIV Dy+txuVAiBnWHBhipxhf2YRcu1AYd4+8WmsoXmAQ31fx4P0ajciGisGGkwbW8j12ZynY9qAMNFW OZ9AGIf5iiVdvDMooNjvqETg4QWQJcWukTp2W+d3n2RYEw5m+sHGQ8KDTvltpJ+MKj7w7w9MU5Q b0OQ= X-Google-Smtp-Source: AGHT+IFM1jnVagkeHXUok2BMU5dbFRNb5lVu1ZIOu3E7TWOtBXeZHo7/sL2cerQQpzsLgEfIvMQGdA== X-Received: by 2002:a05:6a20:5288:b0:23d:fac8:52a7 with SMTP id adf61e73a8af0-23dfac8531bmr1786078637.45.1754106976923; Fri, 01 Aug 2025 20:56:16 -0700 (PDT) Received: from fedora ([2601:646:8081:3770::e9a2]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b422b7e4b75sm4538337a12.27.2025.08.01.20.56.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 20:56:16 -0700 (PDT) From: Collin Funk To: Paul Eggert Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS In-Reply-To: <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> <9bf9f192-9430-4f1f-8837-a92322d06739@cs.ucla.edu> <87jz3m1ywe.fsf@gmail.com> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> Date: Fri, 01 Aug 2025 20:56:15 -0700 Message-ID: <87freal6lc.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79139-done Cc: bug-gnulib@gnu.org, 79139-done@debbugs.gnu.org, =?utf-8?Q?P=C3=A1draig?= Brady , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Paul Eggert writes: > On 2025-08-01 15:05, Collin Funk wrote: >> I was hoping that file could be made a tiny stub, due to the >> workarounds for Linux 4.19 being mostly unnecessary now that it is EOL. >> But now we have a new problem to deal with. :) > > That we do. But we can more thorougly stubify the old Linux kernel bug > workaround while we're in the neighborhood. Probably best not to > remove it entirely as RHEL 8 still uses the no-longer-supported > kernel. Good point. I agree. > +# if defined __GLIBC__ && ! (2 < __GLIBC__ + (43 <= __GLIBC_MINOR__)) > + /* Work around glibc bug 33245 > + . > + This bug is present in glibc 2.42 (2025) and fixed in 2.43, > + so this workaround, and the configure-time check for glibc, > + can be removed once glibc 2.42 and earlier is no longer a > + consideration. Perhaps in 2040. */ > + if (SYS_BUFSIZE_MAX < length) > + length = SYS_BUFSIZE_MAX; > +# endif Can't we make this condition only occur for glibc 2.41 and glibc 2.42? The issue shouldn't occur before commit 89b53077d2a58f00e7debdfe58afabe953dac60d in glibc (2024-06-25). Before that commit SYSCALL_CANCEL was defined as the following: #define SYSCALL_CANCEL(...) \ ({ \ long int sc_ret; \ if (NO_SYSCALL_CANCEL_CHECKING) \ sc_ret = INLINE_SYSCALL_CALL (__VA_ARGS__); \ else \ { \ int sc_cancel_oldtype = LIBC_CANCEL_ASYNC (); \ sc_ret = INLINE_SYSCALL_CALL (__VA_ARGS__); \ LIBC_CANCEL_RESET (sc_cancel_oldtype); \ } \ sc_ret; \ }) So returning 'long int' like the now fixed version. Also, I assume this bug will cause problems in any syscall returning ssize_t (e.g. read, write, send). Collin From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 00:15:48 2025 Received: (at 79139-done) by debbugs.gnu.org; 2 Aug 2025 04:15:48 +0000 Received: from localhost ([127.0.0.1]:60737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ui3eu-00023J-4J for submit@debbugs.gnu.org; Sat, 02 Aug 2025 00:15:48 -0400 Received: from mo4-p01-ob.smtp.rzone.de ([85.215.255.52]:33071) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ui3eo-00022t-0h for 79139-done@debbugs.gnu.org; Sat, 02 Aug 2025 00:15:45 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1754108138; cv=none; d=strato.com; s=strato-dkim-0002; b=AQb8rBM0B1thaN1LPxZDyCNwaXLpXfwFY/3AFYkAAGFu9xkZpmnJw/y/yDF/bzLWoN RRz4nEXobqVNmj8tRxOIFAcxXRJrTP0LNXen3iJiYPx9tXIPrnjxcY7WA+fYKaBt4roO cHVr+QrMV0wFja1PWopaej6sLa6x3ZF9DUzlBXRevNrwxKB0e3VguW2YRD2sp4hObLnY 6uJx9ioi3U5lXJuum5o5oWCflrmCPbBzycfHSZvmKwO4guKO6AbjxUDLK76ilJw3ZNFG 567hlDwXY6kY9WZQKoDgEL0kl3FQch+S40V6M9E1n4HMbaYy5v9PwFzKY4PSVXcMGaXO v23A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1754108138; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=z/mcBZy+wSO3UeJEKbsqx5Nujlqjspg3Rfp2hbdf9kE=; b=NCQEi4mfaF0zEwwBh2ytQm9J8g/AawrWc80rCslyOjfjhyRLbXASzc5/Y30SC8GOMi iHQrPnQ4ZfQDSQ7jzB3/sAFTHXAF/tsNuGrMW83QT9MnYrs7uxiJUetUiyAwwRkjK6Gj rVyFIzxUNAUoAX2PNHMBG+vqUd2YyGdyX1z+jXVHPvZBNOWvZ5dMMZPT6WhBm3waWXIc gUzwbzltxU+jiBxdn80ZwmJhrh2r6+T4bK9t+z45g8obbrPEWLzEFNhju8cJT+TLQYdV 18dWTCvFI9aHRaU6jIlRVFlCrNKgQHVVyi2Xw6elz/DxN4cPV1QjCRKOm/prZ+hXzGG6 BLYA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo01 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1754108138; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=z/mcBZy+wSO3UeJEKbsqx5Nujlqjspg3Rfp2hbdf9kE=; b=h19aMvL+whcTltrSnrhbtUeZtumkvqiJFeMtzGyT57K53Ue5TctIctq/co4KFoeCgA 9gjjz3GsD45EGk3v9HWFd6rEhBvD/ZWKznAbnSt9moraEgH+OCas4umSHkhS0K9kxxo/ J/vvPKuzOzmgadq0Wz2mEV0dUY5esRKjgct8TpU7xO0aq+I/Rpx9jfG8m7cE8eJlwI7B 9GWqB3AqrPakOuHA9nq6staJ98nM5ARHMdB4bjIqgHbAxDLRp86T/vVEoKPB3+QOffzL svsWqQc9V8vu+iAov/BbMrxg4lRS06Aq84hMCiHjVqmkYLu2jg3omA6QwEXDGwR1D5xa hc5Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1754108138; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=z/mcBZy+wSO3UeJEKbsqx5Nujlqjspg3Rfp2hbdf9kE=; b=f2IAVjZYE+NSWsOflMswyZqCtGVaBAxvm0bW1M68Gqy+1JbBJrcP21ghgb7JhqvKxQ B2wZJq2Pl+8b9Rf/o8Bw== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqj2cEGyTtdpGJflsc2w4cO7674/G" Received: from nimes.localnet by smtp.strato.de (RZmta 52.1.2 AUTH) with ESMTPSA id N9ae631724Fb5v4 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Sat, 2 Aug 2025 06:15:37 +0200 (CEST) From: Bruno Haible To: Paul Eggert , bug-gnulib@gnu.org, Collin Funk Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS Date: Sat, 02 Aug 2025 06:15:37 +0200 Message-ID: <12120263.2WqB4rESCP@nimes> Organization: GNU In-Reply-To: <87freal6lc.fsf@gmail.com> References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139-done Cc: bug-gnulib@gnu.org, 79139-done@debbugs.gnu.org, =?ISO-8859-1?Q?P=E1draig?= Brady , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Paul Eggert wrote: > +# if defined __GLIBC__ && ! (2 < __GLIBC__ + (43 <= __GLIBC_MINOR__)) This line is mis-indented. > + /* Work around glibc bug 33245 It would be good to document the workaround in doc/glibc-functions/copy_file_range.texi. Collin Funk wrote: > Can't we make this condition only occur for glibc 2.41 and glibc 2.42? > The issue shouldn't occur before commit > 89b53077d2a58f00e7debdfe58afabe953dac60d in glibc (2024-06-25). Users are supposed to be able to create binaries with an older version of glibc, then upgrade their glibc. The binaries should continue to work. Bruno From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 00:39:56 2025 Received: (at 79139-done) by debbugs.gnu.org; 2 Aug 2025 04:39:56 +0000 Received: from localhost ([127.0.0.1]:60872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ui42G-0003bA-2P for submit@debbugs.gnu.org; Sat, 02 Aug 2025 00:39:56 -0400 Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]:59429) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ui42C-0003an-ND for 79139-done@debbugs.gnu.org; Sat, 02 Aug 2025 00:39:54 -0400 Received: by mail-pg1-x534.google.com with SMTP id 41be03b00d2f7-b3507b63c6fso1648799a12.2 for <79139-done@debbugs.gnu.org>; Fri, 01 Aug 2025 21:39:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754109586; x=1754714386; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=4m/omGPbjgkdmbXJfSryDIayiK7j6LCJZZJ9WbNHLow=; b=NQ/fzRQ63VzD1YR/zneLowZPPLDlWBfWs9GrJm5CaHPVnyqv718stK/+JK1UwGmyWd v4GZCdL5isBOOV1PF8NaHBl+Z6GOpg7iGeL9g4ttZvRmHWaUsajlHQtNfpOsXb2Ova4s UyTAoQecwCojOWczHR6kvxWtNGyTSg11gowjwrxslpEZoH9rBBj9BAvZ8zPvusOVv5H2 gxHJ5d9aeHrq/1roxO1mtmyLLR5ZjeCdQKWRsMfngOl4SeXaADasHMxVPU5SPhkBHTqH R9ZO1m2qbMwLwoNbMCwbiZ4q2IFmuLgGiI3fbfLoHHL3NrPui8568XBk3Pw/GWMWEEZV zLXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754109586; x=1754714386; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4m/omGPbjgkdmbXJfSryDIayiK7j6LCJZZJ9WbNHLow=; b=fGuFu03LcqZqFdIBxOLmzGAj+97Y07sAOfMlfpVGf+2xtiPIP7OgciTtIEnkXrb5P0 lHDIaQFeLDMF0xFD9TiDGUpKrIeD3AkmWV3iWZHnyCR2fs48hLg0oSlHckeY0y0UPux8 FdXa+Nwk4ZD/6391YY/2SFm++gHnfgsEa+r7Vf/xL7nCRmuAQVVoSopNsuBM0pPejcM1 nwfAUZSp3yyWkJznvmd/2VNQ5UwGqnPCSDbkzEXRUoiA6wNOZrNWIuknhbhsXQu3nzr5 FV7QsqJBu4ibYY2TbZejnZl52OboTaWsXrGLpuPMbrPBMNkTFzzxOVbuGQC45hA42Dsr mfsA== X-Forwarded-Encrypted: i=1; AJvYcCXCpLB63UpEyt+YKFdGztuI6N+m6lAxDZhcgNBCVVsOo3P135cijX+LDGw+uBigQGJc+2oRWWjtgQMS@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw4h45qDORl4XcRwTJWhpWuNw9SBdMCOy3mbKCetHWMQz8qlaZ3 GzZk1j+tQhijROWg29rkZV6Y3VKmaQjqJ4Zj+lNZv1Ke1LaLkw50T1D/jfZLdA== X-Gm-Gg: ASbGncseAKDKcvnGEVNAlIBHXHweqY2ZSYivy8bhM5ctmAsc2S/ySWhQ/rmnya3ZQKT gMGRw5/PYL46sx4ADv8wJuUr/LVzO5Ixo6Q3ebf4yS7RuZRJwjwbZME31LkccvUDGWiyfsjLqTt YlfOO9DU7oMRb8jWayTuWQzzfEkUDxt6IgNiMZEYj5XmN+bVxRr4tZ1yUgXpiQJebAS8FMHmJZJ vabklICXUTUrXHHE8/hfBT5ySkavHln6AIHz8eyQ1GqhdhbjS0r1/WEVuK1OozZHGpJms6BDwL8 sFdpOUeTopHhir7Ie6QUR1pW8OjPcpD6KQn6KcbOuro0umTPDxty/398rTwhhFXlB//OpYR/LqY Uark= X-Google-Smtp-Source: AGHT+IGSNpYHwSxEJq9TcZW6AMSQAQmOA1OVWuXCv/M63aFZhPltGVlSvCgeFtgjgVyv7+v2zFhEvw== X-Received: by 2002:a17:90b:53c5:b0:311:f684:d3cd with SMTP id 98e67ed59e1d1-32116203ab3mr2936940a91.12.1754109586220; Fri, 01 Aug 2025 21:39:46 -0700 (PDT) Received: from fedora ([2601:646:8081:3770::e9a2]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63f0b434sm8858405a91.28.2025.08.01.21.39.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 21:39:45 -0700 (PDT) From: Collin Funk To: Bruno Haible Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS In-Reply-To: <12120263.2WqB4rESCP@nimes> References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> <12120263.2WqB4rESCP@nimes> Date: Fri, 01 Aug 2025 21:39:44 -0700 Message-ID: <87seiaxrov.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79139-done Cc: =?utf-8?Q?P?= =?utf-8?Q?=C3=A1draig?= Brady , 79139-done@debbugs.gnu.org, Paul Eggert , bug-gnulib@gnu.org, Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Bruno Haible writes: >> + /* Work around glibc bug 33245 > > It would be good to document the workaround in > doc/glibc-functions/copy_file_range.texi. Yep, I noticed as well. Just wanted to make sure I wasn't misunderstanding the versions before doing it myself. Done with the attached patch now. > Collin Funk wrote: >> Can't we make this condition only occur for glibc 2.41 and glibc 2.42? >> The issue shouldn't occur before commit >> 89b53077d2a58f00e7debdfe58afabe953dac60d in glibc (2024-06-25). > > Users are supposed to be able to create binaries with an older version of > glibc, then upgrade their glibc. The binaries should continue to work. Right. I seemed to have forgot that every program isn't statically linked to glibc... Thanks. Collin --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-doc-Mention-the-copy_file_range-bug.patch >From c3779ad180fe169868f65d7eb6204fe62af33b80 Mon Sep 17 00:00:00 2001 Message-ID: From: Collin Funk Date: Fri, 1 Aug 2025 21:34:37 -0700 Subject: [PATCH] doc: Mention the copy_file_range bug. * doc/glibc-functions/copy_file_range.texi: Mention glibc bug 33245 in version 2.41 and 2.42. --- ChangeLog | 6 ++++++ doc/glibc-functions/copy_file_range.texi | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index e60a387611..370aefef3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-08-01 Collin Funk + + doc: Mention the copy_file_range bug. + * doc/glibc-functions/copy_file_range.texi: Mention glibc bug 33245 in + version 2.41 and 2.42. + 2025-08-01 Paul Eggert copy-file-range: work around glibc bug 33245 diff --git a/doc/glibc-functions/copy_file_range.texi b/doc/glibc-functions/copy_file_range.texi index 0878fd50fc..2b0ac85ee5 100644 --- a/doc/glibc-functions/copy_file_range.texi +++ b/doc/glibc-functions/copy_file_range.texi @@ -31,6 +31,11 @@ @node copy_file_range On these kernel versions, the replacement function always fails with error @code{ENOSYS}. +@item +@c https://sourceware.org/bugzilla/show_bug.cgi?id=33245 +This function returns an incorrect value when the number of bytes copied +exceeds @code{INT_MAX} on systems using glibc version 2.41 or 2.42. + @item This function is provided on GNU/Hurd but it is only a stub: It always fails with error @code{ENOSYS}. -- 2.50.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 01:59:09 2025 Received: (at 79139-done) by debbugs.gnu.org; 2 Aug 2025 05:59:09 +0000 Received: from localhost ([127.0.0.1]:33029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ui5Gv-0000ra-57 for submit@debbugs.gnu.org; Sat, 02 Aug 2025 01:59:09 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:41102) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ui5Gr-0000qx-7S for 79139-done@debbugs.gnu.org; Sat, 02 Aug 2025 01:59:07 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 5574E3C01086C; Fri, 1 Aug 2025 22:58:59 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id Uuw2fPZ7EczG; Fri, 1 Aug 2025 22:58:59 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 2BB473C0149CB; Fri, 1 Aug 2025 22:58:59 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 2BB473C0149CB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1754114339; bh=gOGTEqf6P+mT4LaJ4S2RKKwDFK84G/9/VkCAbHeQR6E=; h=Message-ID:Date:MIME-Version:To:From; b=kLJRNKYMLi0Q9WZXFlnOOHkVBD7ne7FL2fvZz5i2QVHw2UPgocOcWsoSRqSP3YyN1 RFaoe3q7p7V2oDf/3XeDKB7QDnhsH+zRy4UpP2bmM/kl7CG4iOzbioXsd4585EXsDj f587TKvUqVghZkbbCHbKqg0aUiqy5yURdmz/vndFgytXxhwq7tt6NM05GzoQpIkHL+ r9MOMmfN9rEDjEVnDWR7E+i2iudl8nldssIu3e6mkWJjZp12uFd3SWQqm2zg5Zbghh 9Yc9XYjMHOAtsMIkgVe6yPP7LS6pmIv8u8RJJqS95J2jWdPJ1vgRbYg0GJXKH0BOKU sZxlpJ0YZn9mw== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id fWyVMSzNOPFE; Fri, 1 Aug 2025 22:58:59 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id F23F13C01086C; Fri, 1 Aug 2025 22:58:58 -0700 (PDT) Message-ID: <5d322c0a-3683-4614-9576-0db89cacc1b2@cs.ucla.edu> Date: Fri, 1 Aug 2025 22:58:58 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: Collin Funk References: <87freb9je3.fsf@vuxu.org> <87bjoz9cby.fsf@vuxu.org> <9bf9f192-9430-4f1f-8837-a92322d06739@cs.ucla.edu> <87jz3m1ywe.fsf@gmail.com> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <87freal6lc.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139-done Cc: bug-gnulib@gnu.org, 79139-done@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig_Brady?= , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2025-08-01 20:56, Collin Funk wrote: > Also, I assume this bug will cause problems in any syscall returning > ssize_t (e.g. read, write, send). It could well do that, yes. I suspect I haven't run into it because the programs I help maintain respect SYS_BUFSIZE_MAX in their calls to those other functions. For now I suppose we could just document the bug as something Gnulib doesn't fix for those functions. If we ever run into this being a real problem, I suppose we could implement Gnulib workarounds though I hope we don't have to because they'd be a real pain due to EINTR, other errno values, programs expecting no partial reads on regular files, etc. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 04:32:52 2025 Received: (at 79139) by debbugs.gnu.org; 2 Aug 2025 08:32:52 +0000 Received: from localhost ([127.0.0.1]:33982 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ui7ff-0000dm-Oq for submit@debbugs.gnu.org; Sat, 02 Aug 2025 04:32:52 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:53415) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ui7fc-0000cg-Bw for 79139@debbugs.gnu.org; Sat, 02 Aug 2025 04:32:49 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3b7825e2775so2102123f8f.2 for <79139@debbugs.gnu.org>; Sat, 02 Aug 2025 01:32:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754123562; x=1754728362; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=0/sHKuWkhk3G8R/kbcJaE1/HiFefP+4QNQO21/ybHZc=; b=lVdmO7YbEyO0O3zU1PIPc3le2zy30ahoxEIVwSY5QRjqaq0yOjeqTog7iHzWmlRDAn xPmGvfiWkNcehdJNnk0qe+9RpO+dt7Sc331dSFLMkRSRV7o/ZEnf2nd6Cxg48g7Cgi85 gzu9XM8zOenLCbWLhRE05k5vlymCCqw68Wd/a9zCr06++R5rZDnrVRfT5AylKzV7Dw1v XayiPALbfOcFkASH80P/yuTUGayoRRipCwHaBcp75eD5zIzwQPoOzXyxAs2dXDNaCNUo sNQW05afLIQsf/V8EFfsWGPXGxQ3XH/a/ozBkze1XihFrn3sNB3xp214cRS6qkwZc2hH kvpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754123562; x=1754728362; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0/sHKuWkhk3G8R/kbcJaE1/HiFefP+4QNQO21/ybHZc=; b=KG+ioovBbVbw003ww0ml5LwIgU0bwRu07Oqc1/X5D3jaxNdzD//cM7zA99HvR9PAj4 pQk3ccexQf/B0VSTqy+7YP/MYT7sqMpBnpgsC0OsTdyBWiRvNmjOvnbGiQFm+ujiM7Zi wUXRccyNCIM3wuIDJzb8euYtnMotHE3FK6bFtBrrWxUKH7aA/zbSh/wKdBdDZlsl3N59 /q2R8q/JJcj/kE18vE5sBHfWft4fN+AJ2to42g0gFkRagOYYwmT+AbXP7UNzb6i/yos2 xN1DHs+nsq+jlaSXziNJaVjpDPlVv6ZCuUap5tXfuA1K3adpHcuRkS68NKXmY7nKunXS P0RA== X-Gm-Message-State: AOJu0Yx/y+HeESVR2OXt/DC4SR/7Pi1JpeaAEwYOp/Z5pQWfwUOGvSRx sTMZtljsw2KMICzBlMPeBgK0fiK89Zb6tw9M9Id2AtqKhYRyKxzazeyS X-Gm-Gg: ASbGncsZr5HaSgfXN/JAM3jWbQZpCnEYzd7H79dKF4t7IonjI1+Kf3as6GN38yn/4uB ZTENCRRfs5jSXUzVIFrdewgcMdP39TQjWDNb7gmvR3TPuuB5pAaEoGvA6FlPVOFevgYjvF7c7QC mA4wVqeFS0uqBSMJj1zbcFE/DkDszxMZATCFAbnm04xcqOdsrwpqTArpY8sp/x7CQ41yqapmp+0 AtXtoGeq2zGqQYbv272+upfgrz7oR8YspeKxbcS8ciTaiK5v2umQ4PVD9KaKfnOIZN9VEEmSi1q fSzOl+q9EzSyP++umXpXqO113eG0hV9cGzJyAw/dOsSMNugXtjCdx/MuHCiQxA/HJFwkCAs6Nwu FNfeQzb3W1NnFv7s0eJDIqk57281bF6IoxwFW9d/KQo399floeaJVTkAQgehJKKbXAJbQjOp0zZ sXiQ== X-Google-Smtp-Source: AGHT+IHmy2BNNwEriSMyBLVQDINsxYrRMccdymSh1L2WpXen1k3hjIVeetKkX0v6Fa/KhnyOSNWRDw== X-Received: by 2002:a05:6000:40de:b0:3b7:7680:35d3 with SMTP id ffacd0b85a97d-3b8d94bb4bbmr1904367f8f.37.1754123561751; Sat, 02 Aug 2025 01:32:41 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3b79c3ac574sm8458353f8f.5.2025.08.02.01.32.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 02 Aug 2025 01:32:41 -0700 (PDT) Message-ID: Date: Sat, 2 Aug 2025 09:32:39 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: Collin Funk References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> <12120263.2WqB4rESCP@nimes> <87seiaxrov.fsf@gmail.com> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <87seiaxrov.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 Cc: 79139@debbugs.gnu.org, Paul Eggert , bug-gnulib@gnu.org, Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 02/08/2025 05:39, Collin Funk wrote: > Bruno Haible writes: > >>> + /* Work around glibc bug 33245 >> >> It would be good to document the workaround in >> doc/glibc-functions/copy_file_range.texi. > > Yep, I noticed as well. Just wanted to make sure I wasn't > misunderstanding the versions before doing it myself. Done with the > attached patch now. > >> Collin Funk wrote: >>> Can't we make this condition only occur for glibc 2.41 and glibc 2.42? >>> The issue shouldn't occur before commit >>> 89b53077d2a58f00e7debdfe58afabe953dac60d in glibc (2024-06-25). >> >> Users are supposed to be able to create binaries with an older version of >> glibc, then upgrade their glibc. The binaries should continue to work. > > Right. I seemed to have forgot that every program isn't statically > linked to glibc... Thanks. Thanks for the prompt fixes everyone. I think the current gnulib code is good enough, but it's worth mentioning run-time vs build-time checks. For data corruption bugs we should be extra wary. Consider build hosts with new glibc building binaries to be run on older glibc (perhaps in containers etc.) We saw such issues with cp before, with the kernel version check: https://github.com/coreutils/gnulib/commit/fb034b35eb Now the kernel binary interface does have more stringent compat guarantees, than library interfaces like glibc, so this is less of a concern than for kernel version checks. For reference I made some notes on various version compat at: http://pixelbeat/programming/linux_binary_compatibility.html The thrust of that is that building on older systems should produce binaries that work on newer ones, and the current gnulib patch caters for that. For reference if we did want to be extra defensive for this silent data corruption bug, I suppose we could check the glibc version at runtime with something like: static signed char libc_ok; if (! libc_ok) { #if 2 < __GLIBC__ + (8 <= __GLIBC_MINOR__) #include char const * glibc_ver = gnu_get_libc_version(); libc_ok = (strcmp (glibc_ver, "2.41") != 0 && strcmp (glibc_ver, "2.42") != 0) ? 1 : -1; #else libc_ok = 1; #endif } Other reasons that the above might be overkill; the gnulib workaround isn't too onerous as SYS_BUFZISE_MAX is large, and I expect the glibc fix will be backported to glibc 2.41 systems promptly anyway. cheers, Padraig From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 12:03:48 2025 Received: (at 79139) by debbugs.gnu.org; 2 Aug 2025 16:03:48 +0000 Received: from localhost ([127.0.0.1]:37245 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiEi3-0001lB-Py for submit@debbugs.gnu.org; Sat, 02 Aug 2025 12:03:48 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:41088) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uiEi1-0001kc-A3 for 79139@debbugs.gnu.org; Sat, 02 Aug 2025 12:03:46 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 6DC853C01086C; Sat, 2 Aug 2025 09:03:39 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id T3bbsbqhyQMx; Sat, 2 Aug 2025 09:03:39 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 444A73C0149CB; Sat, 2 Aug 2025 09:03:39 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 444A73C0149CB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1754150619; bh=b+AY8bOe6jQMx/gjgeO2Mj02M1lNSZFKJ5z/Wvjg1G4=; h=Message-ID:Date:MIME-Version:To:From; b=Bn5nXzChaJ7qh5S9zUQH2Ff2eUwPGpKktHLYNyrgChyH2tvf+sqEexdg8Aw6JNm3K kwWCNU0mlKhEWRnoBKHxYhLSTvsUHE0HQVWqTmVkZJwu1fZyVlJWc8oVOV7Xo/q1yL 3YtoorgACOrZm1UlAmgxwGN5DcowaZ4rR+j9EXSr1vdX2S0+0vY9oJAjdD0Pm59uPm 7ZSgkfwyFZIE9GRXTM+PmSQKcjNUmp8uiTkRplJljLR+R6pxHsgiNsg5zuhpBUeUgg ogqzVV1eu7t+5bizfwe3eCSAeGSC/4z6VnwKJ7WoWr/j8npbHm75d2gjOfvige0ZGX CmTZkSFY3uhIw== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id o1kCRij5XT3r; Sat, 2 Aug 2025 09:03:39 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 1AE5F3C01086C; Sat, 2 Aug 2025 09:03:39 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------r9Kp6KulPhKNVISNJ0fI1n00" Message-ID: Date: Sat, 2 Aug 2025 09:03:38 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: =?UTF-8?Q?P=C3=A1draig_Brady?= References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> <12120263.2WqB4rESCP@nimes> <87seiaxrov.fsf@gmail.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79139 Cc: 79139@debbugs.gnu.org, bug-gnulib@gnu.org, Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------r9Kp6KulPhKNVISNJ0fI1n00 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 2025-08-02 01:32, P=C3=A1draig Brady wrote: > it's worth mentioning run-time vs build-time checks.=20 Yes, and this could be documented more. I installed the attached. > For reference I made some notes on various version compat at: > http://pixelbeat/programming/linux_binary_compatibility.html I needed to use this URL: https://www.pixelbeat.org/programming/linux_binary_compatibility.html > the gnulib workaround isn't too onerous as SYS_BUFZISE_MAX is large, > and I expect the glibc fix will be backported to glibc 2.41 systems=20 > promptly anyway. Yes, I went through similar thought processes. It didn't seem worth the=20 hassle to do the extra glibc runtime checks. Gnulib has always used=20 static checks for glibc versions, even in areas where this is serious=20 business (e.g., malloc misbehavior). So far, nobody has reported an=20 issue for this. Maybe people who build for older kernels (which is=20 dubious if you ask me) aren't building for older glibcs (which is even=20 more dubious). --------------r9Kp6KulPhKNVISNJ0fI1n00 Content-Type: text/x-patch; charset=UTF-8; name="0001-More-copy_file_range-commentary.patch" Content-Disposition: attachment; filename="0001-More-copy_file_range-commentary.patch" Content-Transfer-Encoding: base64 RnJvbSBhNDRjODVhMjI3Yzg0NTQyY2M1ODQ5Yjk3NmVhY2NkZDYxZDQ0MzU0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDIgQXVnIDIwMjUgMDg6NTI6MjkgLTA3MDAKU3ViamVjdDogW1BBVENI XSBNb3JlIGNvcHlfZmlsZV9yYW5nZSBjb21tZW50YXJ5CgotLS0KIGRvYy9nbGliYy1mdW5j dGlvbnMvY29weV9maWxlX3JhbmdlLnRleGkgfCAxMCArKysrKysrKystCiBsaWIvY29weS1m aWxlLXJhbmdlLmMgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKIDIgZmlsZXMgY2hh bmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Rv Yy9nbGliYy1mdW5jdGlvbnMvY29weV9maWxlX3JhbmdlLnRleGkgYi9kb2MvZ2xpYmMtZnVu Y3Rpb25zL2NvcHlfZmlsZV9yYW5nZS50ZXhpCmluZGV4IDJiMGFjODVlZTUuLjgwNDY5ZDA5 OTQgMTAwNjQ0Ci0tLSBhL2RvYy9nbGliYy1mdW5jdGlvbnMvY29weV9maWxlX3JhbmdlLnRl eGkKKysrIGIvZG9jL2dsaWJjLWZ1bmN0aW9ucy9jb3B5X2ZpbGVfcmFuZ2UudGV4aQpAQCAt MjgsMTMgKzI4LDE2IEBAIEJ1dCB0aGUgcmVwbGFjZW1lbnQgZnVuY3Rpb24gaXMgb25seSBh IHN0dWI6IEl0IGFsd2F5cyBmYWlscyB3aXRoIGVycm9yIEBjb2Rle0VOCiAKIEBpdGVtCiBU aGlzIGZ1bmN0aW9uIGhhcyBtYW55IHByb2JsZW1zIG9uIExpbnV4IGtlcm5lbCB2ZXJzaW9u cyBiZWZvcmUgNS4zLgorU2VlIEB1cmx7YGBGaXhlcyBmb3IgbWFqb3IgY29weV9maWxlX3Jh bmdlKCkgaXNzdWVzJycsCitodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvNzg5NTI3L30uCiBP biB0aGVzZSBrZXJuZWwgdmVyc2lvbnMsIHRoZSByZXBsYWNlbWVudCBmdW5jdGlvbiBhbHdh eXMgZmFpbHMgd2l0aAogZXJyb3IgQGNvZGV7RU5PU1lTfS4KIAogQGl0ZW0KLUBjIGh0dHBz Oi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMzMjQ1CiBUaGlz IGZ1bmN0aW9uIHJldHVybnMgYW4gaW5jb3JyZWN0IHZhbHVlIHdoZW4gdGhlIG51bWJlciBv ZiBieXRlcyBjb3BpZWQKIGV4Y2VlZHMgQGNvZGV7SU5UX01BWH0gb24gc3lzdGVtcyB1c2lu ZyBnbGliYyB2ZXJzaW9uIDIuNDEgb3IgMi40Mi4KK1NlZSBAdXJse2dsaWJjIGJ1ZyAzMzI0 NSwKK2h0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMz MjQ1fS4KIAogQGl0ZW0KIFRoaXMgZnVuY3Rpb24gaXMgcHJvdmlkZWQgb24gR05VL0h1cmQg YnV0IGl0IGlzIG9ubHkgYSBzdHViOiBJdCBhbHdheXMKQEAgLTQzLDQgKzQ2LDkgQEAgZmFp bHMgd2l0aCBlcnJvciBAY29kZXtFTk9TWVN9LgogCiBQb3J0YWJpbGl0eSBwcm9ibGVtcyBu b3QgZml4ZWQgYnkgR251bGliOgogQGl0ZW1pemUKK0BpdGVtCitJZiBidWlsdCB3aXRoIGlu Y2x1ZGUgZmlsZXMgZm9yIExpbnV4IGtlcm5lbCA1LjMgb3IgbGF0ZXIsCit0aGUgR251bGli IHN1YnN0aXR1dGUgbWF5IG1pc2JlaGF2ZSB3aGVuIHJ1biBvbiBMaW51eCBrZXJuZWwgNS4y IG9yIGVhcmxpZXIuCitBIHNpbWlsYXIgcHJvYmxlbSBleGlzdHMgaWYgYnVpbHQgd2l0aCBp bmNsdWRlIGZpbGVzIGZvciBnbGliYyAyLjQzIG9yIGxhdGVyLAorYW5kIHJ1biBvbiBnbGli YyAyLjQxIG9yIDIuNDIuCiBAZW5kIGl0ZW1pemUKZGlmZiAtLWdpdCBhL2xpYi9jb3B5LWZp bGUtcmFuZ2UuYyBiL2xpYi9jb3B5LWZpbGUtcmFuZ2UuYwppbmRleCA1YzEyZjZmNzE1Li4y NDY1YTU1ODAyIDEwMDY0NAotLS0gYS9saWIvY29weS1maWxlLXJhbmdlLmMKKysrIGIvbGli L2NvcHktZmlsZS1yYW5nZS5jCkBAIC0yMyw2ICsyMywxMSBAQAogI2lmIGRlZmluZWQgX19s aW51eF9fICYmIEhBVkVfQ09QWV9GSUxFX1JBTkdFCiAjIGluY2x1ZGUgPGxpbnV4L3ZlcnNp b24uaD4KICMgaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKy8qIEFsdGhvdWdoIGl0IGNhbiBi ZSBkaWNleSB0byB1c2Ugc3RhdGljIGNoZWNrcyBmb3IgTGludXgga2VybmVsIHZlcnNpb25z LAorICAgZHVlIHRvIHRoZSBkdWJpb3VzIHByYWN0aWNlIG9mIGJ1aWxkaW5nIG9uIG5ld2Vy IGtlcm5lbHMgZm9yIG9sZGVyIG9uZXMsCisgICBkbyBpdCBoZXJlIGFueXdheSBhcyB0aGUg YnVnZ3kga2VybmVscyBhcmUgcmFyZSAodGhleSBhcmUgYWxsIEVPTGVkKQorICAgYW5kIGJ1 aWxkZXJzIGZvciB0aGVtIGFyZSB1bmxpa2VseSB0byB1c2UgdGhlIGR1YmlvdXMgcHJhY3Rp Y2UuCisgICBDaXJjYSAyMDI5IHdlIHNob3VsZCByZW1vdmUgdGhlIG9sZC1rZXJuZWwgd29y a2Fyb3VuZHMgZW50aXJlbHkuICAqLwogIyBpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO RUxfVkVSU0lPTiAoNSwgMywgMCkKICMgIGRlZmluZSBDSEVDS19MSU5VWF9LRVJORUxfVkVS U0lPTiB0cnVlCiAjIGVsc2UKLS0gCjIuNDguMQoK --------------r9Kp6KulPhKNVISNJ0fI1n00-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 12:47:28 2025 Received: (at 79139) by debbugs.gnu.org; 2 Aug 2025 16:47:28 +0000 Received: from localhost ([127.0.0.1]:37370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiFOJ-0004Hu-VG for submit@debbugs.gnu.org; Sat, 02 Aug 2025 12:47:28 -0400 Received: from woodpecker.gentoo.org ([140.211.166.183]:58118 helo=smtp.gentoo.org) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uiFOG-0004Ha-Mm for 79139@debbugs.gnu.org; Sat, 02 Aug 2025 12:47:25 -0400 Received: from mop.sam.mop (unknown [82.8.138.118]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange secp256r1 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sam) by smtp.gentoo.org (Postfix) with ESMTPSA id AD637340BDA; Sat, 02 Aug 2025 16:47:17 +0000 (UTC) From: Sam James To: Paul Eggert Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS In-Reply-To: Organization: Gentoo References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> <12120263.2WqB4rESCP@nimes> <87seiaxrov.fsf@gmail.com> User-Agent: mu4e 1.12.11; emacs 31.0.50 Date: Sat, 02 Aug 2025 17:47:14 +0100 Message-ID: <87qzxtzn59.fsf@gentoo.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79139 Cc: bug-gnulib@gnu.org, 79139@debbugs.gnu.org, =?utf-8?Q?P=C3=A1draig?= Brady , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Paul Eggert writes: > On 2025-08-02 01:32, P=C3=A1draig Brady wrote: > >> it's worth mentioning run-time vs build-time checks.=20 > > Yes, and this could be documented more. I installed the attached. > >> For reference I made some notes on various version compat at: >> http://pixelbeat/programming/linux_binary_compatibility.html > > I needed to use this URL: > > https://www.pixelbeat.org/programming/linux_binary_compatibility.html > >> the gnulib workaround isn't too onerous as SYS_BUFZISE_MAX is large, >> and I expect the glibc fix will be backported to glibc 2.41 systems >> promptly anyway. > > Yes, I went through similar thought processes. It didn't seem worth > the hassle to do the extra glibc runtime checks. Gnulib has always > used static checks for glibc versions, even in areas where this is > serious business (e.g., malloc misbehavior). So far, nobody has > reported an issue for this. Maybe people who build for older kernels > (which is dubious if you ask me) aren't building for older glibcs > (which is even more dubious). > > [2. text/x-patch; 0001-More-copy_file_range-commentary.patch]... You can shorten sourceware (and gcc) bug URLs to: https://sourceware.org/PR123456 https://gcc.gnu.org/PR123456 if that is ever useful. The changes themselves look good. Really, c_f_r has been an API plagued with problems :( From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 13:31:05 2025 Received: (at 79139) by debbugs.gnu.org; 2 Aug 2025 17:31:05 +0000 Received: from localhost ([127.0.0.1]:37562 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiG4X-0006vf-7Q for submit@debbugs.gnu.org; Sat, 02 Aug 2025 13:31:05 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:45272) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uiG4V-0006ut-8C for 79139@debbugs.gnu.org; Sat, 02 Aug 2025 13:31:03 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E07C93C01086C; Sat, 2 Aug 2025 10:30:56 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id EfDEAMky8FwM; Sat, 2 Aug 2025 10:30:56 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id AC2073C0149D0; Sat, 2 Aug 2025 10:30:56 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu AC2073C0149D0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1754155856; bh=Fyh6BaXas1XLvoPup1U5GB26M5eSlm2/57z9FzKsJ3E=; h=Message-ID:Date:MIME-Version:To:From; b=Qs618702ttkETBQP29aR77sFtErnUrflAYautXO0F2eh6IdGfdqGUJiFyfo+X+10A LA88ad69BBopIZs7HslyIzUI8nodhJhL7N+EEovykwszZ59Ny3d4ys9KizlAMV+ekd BXZucXv7lovaXCj2nSYoES74wD+DpX26ZH2tPezbHTK0zdGwVXhNbM0yJt4PpFhsBc Wi+8p9NGksXPXYXrDL5FXffLDq+ihMqcfe919uvXxrmhJvVwRI6STga3tTgHFPfe6B zJEvaVZ+vB2ja0JHXYLV+mgmaBCAf3nTX2H1e6PLmnqaMKH9lHzOApPx/iQVT5qXgT PegBJZJWk5Z/w== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id mls4iEfGi82U; Sat, 2 Aug 2025 10:30:56 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 5C0053C01086C; Sat, 2 Aug 2025 10:30:56 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------mAA3Q9yRjPijxSh0dls0YXXW" Message-ID: <0be2f127-121a-4d53-aabb-f01c06158c05@cs.ucla.edu> Date: Sat, 2 Aug 2025 10:30:56 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS To: Sam James References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> <12120263.2WqB4rESCP@nimes> <87seiaxrov.fsf@gmail.com> <87qzxtzn59.fsf@gentoo.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <87qzxtzn59.fsf@gentoo.org> X-Debbugs-Envelope-To: 79139 Cc: bug-gnulib@gnu.org, 79139@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig_Brady?= , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------mAA3Q9yRjPijxSh0dls0YXXW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-08-02 09:47, Sam James wrote: > You can shorten sourceware (and gcc) bug URLs to: > https://sourceware.org/PR123456 > https://gcc.gnu.org/PR123456 Thanks, I didn't know that. These URL shorthands are well supported so let's use them in the code and doc, as that's a readability win. I installed the attached patches to do that. I didn't alter ChangeLog partly due to laziness, partly as it's less important there. --------------mAA3Q9yRjPijxSh0dls0YXXW Content-Type: text/x-patch; charset=UTF-8; name="0001-Shorten-glibc-bug-URLs.patch" Content-Disposition: attachment; filename="0001-Shorten-glibc-bug-URLs.patch" Content-Transfer-Encoding: base64 RnJvbSA5ODcwNDkzNzA5YzRkNDdlNjRmMDE1MDJjYzZiZmRmYTNmMjE5YTJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDIgQXVnIDIwMjUgMTA6MjE6MzYgLTA3MDAKU3ViamVjdDogW1BBVENI IDEvMl0gU2hvcnRlbiBnbGliYyBidWcgVVJMcwoKLS0tCiBjb25maWcvc3JjbGlzdC50eHQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKy0tLS0tCiBkb2MvZ2xpYmMt ZnVuY3Rpb25zL2JhY2t0cmFjZV9zeW1ib2xzX2ZkLnRleGkgfCAgMiArLQogZG9jL2dsaWJj LWZ1bmN0aW9ucy9jb3B5X2ZpbGVfcmFuZ2UudGV4aSAgICAgIHwgIDMgKy0KIGRvYy9nbGli Yy1mdW5jdGlvbnMvaW5pdHN0YXRlX3IudGV4aSAgICAgICAgICB8ICAyICstCiBkb2MvZ2xp YmMtZnVuY3Rpb25zL3JlbmFtZWF0Mi50ZXhpICAgICAgICAgICAgfCAgMiArLQogZG9jL2ds aWJjLWZ1bmN0aW9ucy9zdHJlcnJvcm5hbWVfbnAudGV4aSAgICAgIHwgIDYgKystLQogZG9j L3Bvc2l4LWZ1bmN0aW9ucy9hbGlnbmVkX2FsbG9jLnRleGkgICAgICAgIHwgIDIgKy0KIGRv Yy9wb3NpeC1mdW5jdGlvbnMvZmFjY2Vzc2F0LnRleGkgICAgICAgICAgICB8ICAyICstCiBk b2MvcG9zaXgtZnVuY3Rpb25zL2ZlZ2V0ZW52LnRleGkgICAgICAgICAgICAgfCAgMiArLQog ZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mZXNldGV4Y2VwdC50ZXhpICAgICAgICAgIHwgIDQgKy0t CiBkb2MvcG9zaXgtZnVuY3Rpb25zL2Zlc2V0ZXhjZXB0ZmxhZy50ZXhpICAgICAgfCAgNiAr Ky0tCiBkb2MvcG9zaXgtZnVuY3Rpb25zL2ZldXBkYXRlZW52LnRleGkgICAgICAgICAgfCAg NCArLS0KIGRvYy9wb3NpeC1mdW5jdGlvbnMvZm5tYXRjaC50ZXhpICAgICAgICAgICAgICB8 ICA0ICstLQogZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mdXRpbWVucy50ZXhpICAgICAgICAgICAg IHwgIDIgKy0KIGRvYy9wb3NpeC1mdW5jdGlvbnMvZ2V0cGF5bG9hZC50ZXhpICAgICAgICAg ICB8ICAyICstCiBkb2MvcG9zaXgtZnVuY3Rpb25zL2dldHBheWxvYWRmLnRleGkgICAgICAg ICAgfCAgMiArLQogZG9jL3Bvc2l4LWZ1bmN0aW9ucy9nZXRwYXlsb2FkbC50ZXhpICAgICAg ICAgIHwgIDIgKy0KIGRvYy9wb3NpeC1mdW5jdGlvbnMvaW5pdHN0YXRlLnRleGkgICAgICAg ICAgICB8ICAyICstCiBkb2MvcG9zaXgtZnVuY3Rpb25zL2xpbmthdC50ZXhpICAgICAgICAg ICAgICAgfCAgMiArLQogZG9jL3Bvc2l4LWZ1bmN0aW9ucy9sb25nam1wLnRleGkgICAgICAg ICAgICAgIHwgIDIgKy0KIGRvYy9wb3NpeC1mdW5jdGlvbnMvbWJybGVuLnRleGkgICAgICAg ICAgICAgICB8ICA0ICstLQogZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnJ0b2MxNi50ZXhpICAg ICAgICAgICAgIHwgIDggKysrLS0tCiBkb2MvcG9zaXgtZnVuY3Rpb25zL21icnRvYzMyLnRl eGkgICAgICAgICAgICAgfCAgOCArKystLS0KIGRvYy9wb3NpeC1mdW5jdGlvbnMvbWJydG93 Yy50ZXhpICAgICAgICAgICAgICB8IDEwICsrKy0tLS0KIGRvYy9wb3NpeC1mdW5jdGlvbnMv bWJzbnJ0b3djcy50ZXhpICAgICAgICAgICB8ICA0ICstLQogZG9jL3Bvc2l4LWZ1bmN0aW9u cy9tYnNydG93Y3MudGV4aSAgICAgICAgICAgIHwgIDQgKy0tCiBkb2MvcG9zaXgtZnVuY3Rp b25zL21ic3Rvd2NzLnRleGkgICAgICAgICAgICAgfCAgNCArLS0KIGRvYy9wb3NpeC1mdW5j dGlvbnMvbWJ0b3djLnRleGkgICAgICAgICAgICAgICB8ICA2ICsrLS0KIGRvYy9wb3NpeC1m dW5jdGlvbnMvcG9zaXhfbWVtYWxpZ24udGV4aSAgICAgICB8ICAyICstCiBkb2MvcG9zaXgt ZnVuY3Rpb25zL3N3cHJpbnRmLnRleGkgICAgICAgICAgICAgfCAgMiArLQogZG9jL3Bvc2l4 LWZ1bmN0aW9ucy90aW1lLnRleGkgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRvYy9wb3Np eC1mdW5jdGlvbnMvdG90YWxvcmRlci50ZXhpICAgICAgICAgICB8ICAyICstCiBkb2MvcG9z aXgtZnVuY3Rpb25zL3RvdGFsb3JkZXJmLnRleGkgICAgICAgICAgfCAgMiArLQogZG9jL3Bv c2l4LWZ1bmN0aW9ucy90b3RhbG9yZGVybC50ZXhpICAgICAgICAgIHwgIDIgKy0KIGRvYy9w b3NpeC1mdW5jdGlvbnMvdXRpbWVuc2F0LnRleGkgICAgICAgICAgICB8ICAyICstCiBkb2Mv cG9zaXgtZnVuY3Rpb25zL3djc2NtcC50ZXhpICAgICAgICAgICAgICAgfCAgMiArLQogZG9j L3Bvc2l4LWhlYWRlcnMvc3RkbGliLnRleGkgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRv Yy9wb3NpeC1oZWFkZXJzL3N5c191bi50ZXhpICAgICAgICAgICAgICAgICB8ICAyICstCiBk b2MvcmVnZXgudGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKyst LS0tCiBsaWIvYWZfYWxnLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogbGliL2NvcHktZmlsZS1yYW5nZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGxpYi9kdXBsb2NhbGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBsaWIvZmNobW9kYXQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogbGliL2ZwZS10cmFwcGluZy5oICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGxpYi9mcmVhZGluZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBsaWIvZ2VuLXVuaS10YWJsZXMuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArLS0KIGxpYi9nZXRsb2NhbGVuYW1lX2wtdW5zYWZlLmMgICAgICAgICAgICAg ICAgICB8ICAyICstCiBsaWIvZ2x0aHJlYWQvbG9jay5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogbGliL2dsdGhyZWFkL2xvY2suaCAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGxpYi9sY2htb2QuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBsaWIvbWJ0b3djLWxvY2suaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogbGliL21kNS1zdHJlYW0uYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGxpYi9ucHJvYy5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBsaWIvc2NoZWQuaW4uaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogbGliL3NoYTEtc3RyZWFtLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi9zaGEyNTYtc3RyZWFtLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBsaWIvc2hhNTEyLXN0cmVhbS5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbGliL3N0ZGlvLmluLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi9zdHJmbW9uX2wuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWIvdW5pd2lkdGgvd2lkdGguYyAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGxpYi92YXNucHJpbnRmLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA2ICsrLS0KIG00L2R1cGxvY2FsZS5tNCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtNC9mZW52LWVudmlyb25tZW50Lm00 ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKy0tCiBtNC9mbm1hdGNoLm00ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKystLS0tCiBtNC9mcmVlLm00ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIG00L2dldHBheWxv YWQubTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrLS0KIG00L21icnRv d2MubTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtNC9tZW1j aHIubTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbTQvbWVt bWVtLm00ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG00L3By aW50Zi5tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtNC9w dGhyZWFkX3J3bG9ja19yZGxvY2subTQgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbTQv c3RyY2FzZXN0ci5tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBt NC9zdHJlcnJvcm5hbWVfbnAubTQgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKy0t CiBtNC9zdHJmbW9uX2wubTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogbTQvc3Ryc3RyLm00ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg Ky0tCiBtNC9zdHJ0b2tfci5tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogbTQvdGltZS5tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIG00L3djaGFyX2gubTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiB0ZXN0cy90ZXN0LWV4ZWN1dGUtc2NyaXB0LmMgICAgICAgICAgICAgICAgICAg fCAgMiArLQogdGVzdHMvdGVzdC1leHAyLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIHRlc3RzL3Rlc3QtZm5tYXRjaC5jICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA0ICstLQogdGVzdHMvdGVzdC1nZXRhZGRyaW5mby5jICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3QtZ2V0b3B0LmggICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LWdldG9wdF9sb25nLmggICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogdGVzdHMvdGVzdC1nZXR0aW1lb2ZkYXkuYyAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3QtbWJydG9jMzItcmVndWxhci5jICAgICAgICAg ICAgICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LXBlcnJvcjIuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogdGVzdHMvdGVzdC1wb3NpeF9zcGF3bi1zY3JpcHQuYyAgICAg ICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3QtcG9zaXhfc3Bhd25wLXNjcmlwdC5jICAg ICAgICAgICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LXJhbmRvbV9yLmMgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogdGVzdHMvdGVzdC1yZWFsbG9jLXBvc2l4LmMgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3Qtc2lnc2Vndi1jYXRjaC1zdGFja292 ZXJmbG93MS5jICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LXNpZ3NlZ3YtY2F0Y2gtc3RhY2tv dmVyZmxvdzIuYyAgICAgfCAgMiArLQogdGVzdHMvdGVzdC1zbnByaW50Zi1wb3NpeC5oICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3Qtc3Bhd24tcGlwZS1zY3JpcHQu YyAgICAgICAgICAgICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LXNwcmludGYtcG9zaXguaCAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogdGVzdHMvdGVzdC1zdHJmbW9uX2wuYyAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3Qtc3RydG9kLmggICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LXN0cnRvZi5oICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogdGVzdHMvdGVzdC1zdHJ0b2xkLmggICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL3Rlc3QtdGltZXNwZWNfZ2V0 LmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LXZhc25wcmludGYt cG9zaXguYyAgICAgICAgICAgICAgICAgfCAgMiArLQogdGVzdHMvdGVzdC12YXNucHJpbnRm LXBvc2l4Mi5jICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrLS0tLS0tLS0tLQogdGVz dHMvdGVzdC12YXNud3ByaW50Zi1wb3NpeC5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIHRl c3RzL3Rlc3QtdmFzbndwcmludGYtcG9zaXgyLmMgICAgICAgICAgICAgICB8ICA0ICstLQog dGVzdHMvdGVzdC12YXNwcmludGYtcG9zaXguYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IHRlc3RzL3Rlc3QteHN0cnRvZC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICst CiB0ZXN0cy90ZXN0LXhzdHJ0b2xkLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogMTA4IGZpbGVzIGNoYW5nZWQsIDE3MyBpbnNlcnRpb25zKCspLCAxNzQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlnL3NyY2xpc3QudHh0IGIvY29uZmlnL3NyY2xpc3Qu dHh0CmluZGV4IDEzZDE2YTI0NmIuLmNkNjhmMzhjNWQgMTAwNjQ0Ci0tLSBhL2NvbmZpZy9z cmNsaXN0LnR4dAorKysgYi9jb25maWcvc3JjbGlzdC50eHQKQEAgLTExNiw3ICsxMTYsNyBA QCAkTElCQ1NSQyBzdGRsaWIvdHN0LXN0ZGNfdHJhaWxpbmdfemVyb3MuYwl0ZXN0cy9mcm9t LWdsaWJjCiAjJExJQkNTUkMgcG9zaXgvZ2V0b3B0MS5jCQlsaWIgZ3BsCiAjJExJQkNTUkMg cG9zaXgvZ2V0b3B0X2ludC5oCQlsaWIgZ3BsCiAjCi0jIGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEyOTMKKyMgaHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9QUjEyOTMKICMkTElCQ1NSQyBsaWJpZG4vaWNvbnZtZS5oCQlsaWIgZ3BsCiAjJExJ QkNTUkMgbGliaWRuL2ljb252bWUuYwkJbGliIGdwbAogCkBAIC0xMjcsNyArMTI3LDcgQEAg JExJQkNTUkMgc3RkbGliL3RzdC1zdGRjX3RyYWlsaW5nX3plcm9zLmMJdGVzdHMvZnJvbS1n bGliYwogIyAoZ251bGliIG5lZWRzIGNvbmZpZy5oPykgJExJQkNTUkMvc3RyaW5nL21lbW1l bS5jCQlsaWIgZ3BsCiAKICMKLSMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTQzOQorIyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTQzOQog IyRMSUJDU1JDIGNyeXB0L21kNS5jCQkJbGliIGdwbAogIyRMSUJDU1JDIGNyeXB0L21kNS5o CQkJbGliIGdwbAogIyBUaGVzZSBhcmUgY2xvc2UsIGJ1dCAuLi4KQEAgLTEzNywxMCArMTM3 LDEwIEBAICRMSUJDU1JDIHN0ZGxpYi90c3Qtc3RkY190cmFpbGluZ196ZXJvcy5jCXRlc3Rz L2Zyb20tZ2xpYmMKICMkTElCQ1NSQyBsb2dpbi9mb3JrcHR5LmMJCWxpYiBncGwKICMkTElC Q1NSQyBsb2dpbi9wcm9ncmFtcy9wdF9jaG93bi5jCWxpYiBncGwKICMKLSMgaHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzIxCisjIGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIzMjEKICMkTElCQ1NSQyBtYWxsb2Mvb2JzdGFjay5jCQlsaWIg Z3BsCiAjCi0jIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTMyMQorIyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzIxCiAjJExJQkNTUkMgbWFs bG9jL29ic3RhY2suaAkJbGliIGdwbAogIyRMSUJDU1JDIG1pc2MvZXJyb3IuYwkJCWxpYiBn cGwKICMkTElCQ1NSQyBtaXNjL2Vycm9yLmgJCQlsaWIvZXJyb3IuaW4uaCBncGwKQEAgLTE1 MCwxMSArMTUwLDExIEBAICRMSUJDU1JDIHN0ZGxpYi90c3Qtc3RkY190cmFpbGluZ196ZXJv cy5jCXRlc3RzL2Zyb20tZ2xpYmMKICMkTElCQ1NSQyBwb3NpeC9mbm1hdGNoLmgJCWxpYi9m bm1hdGNoLmluLmggZ3BsCiAjJExJQkNTUkMgcG9zaXgvZm5tYXRjaF9sb29wLmMJCWxpYiBn cGwKICMKLSMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/ aWQ9MTA2MAotIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0xMDYyCisjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMDYwCisjIGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIxMDYyCiAjJExJQkNTUkMgcG9zaXgvZ2xvYi5jCQkJbGliIGdw bAogIwotIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p ZD0xMDYwCisjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMDYwCiAjJExJQkNTUkMgcG9z aXgvZ2xvYi5oCQkJbGliL2dsb2ItbGliYy5oIGdwbAogIwogIyRMSUJDU1JDIHN0ZGxpYi9w dXRlbnYuYwkJbGliIGdwbApkaWZmIC0tZ2l0IGEvZG9jL2dsaWJjLWZ1bmN0aW9ucy9iYWNr dHJhY2Vfc3ltYm9sc19mZC50ZXhpIGIvZG9jL2dsaWJjLWZ1bmN0aW9ucy9iYWNrdHJhY2Vf c3ltYm9sc19mZC50ZXhpCmluZGV4IDg2Y2I3MWQyNzIuLmI1N2Q3YTQ3ZjAgMTAwNjQ0Ci0t LSBhL2RvYy9nbGliYy1mdW5jdGlvbnMvYmFja3RyYWNlX3N5bWJvbHNfZmQudGV4aQorKysg Yi9kb2MvZ2xpYmMtZnVuY3Rpb25zL2JhY2t0cmFjZV9zeW1ib2xzX2ZkLnRleGkKQEAgLTM1 LDcgKzM1LDcgQEAgRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELgogQGl0ZW0KIFRoZSBzdHJp bmdzIHByaW50ZWQgYnkgdGhpcyBmdW5jdGlvbiBub3QgdGhlIHNhbWUgYXMgdGhlIHN0cmlu Z3MgcmV0dXJuZWQgYnkKIEBjb2Rle2JhY2t0cmFjZV9zeW1ib2xzfSBvbiBzb21lIHBsYXRm b3JtczoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTMxNzMwCitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzE3MzAKIGdsaWJjIDIu MzkuCiBAaXRlbQogT24gcGxhdGZvcm1zIHdoZXJlIHRoZSBmdW5jdGlvbiBpcyBtaXNzaW5n LApkaWZmIC0tZ2l0IGEvZG9jL2dsaWJjLWZ1bmN0aW9ucy9jb3B5X2ZpbGVfcmFuZ2UudGV4 aSBiL2RvYy9nbGliYy1mdW5jdGlvbnMvY29weV9maWxlX3JhbmdlLnRleGkKaW5kZXggODA0 NjlkMDk5NC4uMzY4MDUzMjFhNyAxMDA2NDQKLS0tIGEvZG9jL2dsaWJjLWZ1bmN0aW9ucy9j b3B5X2ZpbGVfcmFuZ2UudGV4aQorKysgYi9kb2MvZ2xpYmMtZnVuY3Rpb25zL2NvcHlfZmls ZV9yYW5nZS50ZXhpCkBAIC0zNiw4ICszNiw3IEBAIGVycm9yIEBjb2Rle0VOT1NZU30uCiBA aXRlbQogVGhpcyBmdW5jdGlvbiByZXR1cm5zIGFuIGluY29ycmVjdCB2YWx1ZSB3aGVuIHRo ZSBudW1iZXIgb2YgYnl0ZXMgY29waWVkCiBleGNlZWRzIEBjb2Rle0lOVF9NQVh9IG9uIHN5 c3RlbXMgdXNpbmcgZ2xpYmMgdmVyc2lvbiAyLjQxIG9yIDIuNDIuCi1TZWUgQHVybHtnbGli YyBidWcgMzMyNDUsCi1odHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVn LmNnaT9pZD0zMzI0NX0uCitTZWUgQHVybHtnbGliYyBidWcgMzMyNDUsIGh0dHBzOi8vc291 cmNld2FyZS5vcmcvUFIzMzI0NX0uCiAKIEBpdGVtCiBUaGlzIGZ1bmN0aW9uIGlzIHByb3Zp ZGVkIG9uIEdOVS9IdXJkIGJ1dCBpdCBpcyBvbmx5IGEgc3R1YjogSXQgYWx3YXlzCmRpZmYg LS1naXQgYS9kb2MvZ2xpYmMtZnVuY3Rpb25zL2luaXRzdGF0ZV9yLnRleGkgYi9kb2MvZ2xp YmMtZnVuY3Rpb25zL2luaXRzdGF0ZV9yLnRleGkKaW5kZXggOGE0ZmJmYTY4Ny4uYTEzNWVl MDY3OSAxMDA2NDQKLS0tIGEvZG9jL2dsaWJjLWZ1bmN0aW9ucy9pbml0c3RhdGVfci50ZXhp CisrKyBiL2RvYy9nbGliYy1mdW5jdGlvbnMvaW5pdHN0YXRlX3IudGV4aQpAQCAtMzQsNyAr MzQsNyBAQCBQb3J0YWJpbGl0eSBwcm9ibGVtcyBub3QgZml4ZWQgYnkgR251bGliOgogQGl0 ZW1pemUKIEBpdGVtCiBUaGlzIGZ1bmN0aW9uIGNyYXNoZXMgaWYgdGhlIHN0YXRlIGJ1ZmZl ciBpcyB1bmFsaWduZWQgb24gc29tZSBwbGF0Zm9ybXM6Ci1AYyBodHRwczovL3NvdXJjZXdh cmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMDU4NAorQGMgaHR0cHM6Ly9zb3Vy Y2V3YXJlLm9yZy9QUjMwNTg0CiBnbGliYyAyLjM2L3NwYXJjLgogQGl0ZW0KIFRoaXMgZnVu Y3Rpb24gaGFzIGEgc2xpZ2h0bHkgZGlmZmVyZW50IChidXQgY29tcGF0aWJsZSkgZGVjbGFy YXRpb24gb24gc29tZQpkaWZmIC0tZ2l0IGEvZG9jL2dsaWJjLWZ1bmN0aW9ucy9yZW5hbWVh dDIudGV4aSBiL2RvYy9nbGliYy1mdW5jdGlvbnMvcmVuYW1lYXQyLnRleGkKaW5kZXggODlk OGQ4OTJmZi4uN2QzMjQwYmNjNiAxMDA2NDQKLS0tIGEvZG9jL2dsaWJjLWZ1bmN0aW9ucy9y ZW5hbWVhdDIudGV4aQorKysgYi9kb2MvZ2xpYmMtZnVuY3Rpb25zL3JlbmFtZWF0Mi50ZXhp CkBAIC0yMyw3ICsyMyw3IEBAIEN5Z3dpbiAzLjQuNi4KIEBjb2Rle3JlbmFtZWF0MiAoQVRf RkRDV0QsICJmaWxlIiwgQVRfRkRDV0QsICJuZXcvIiAuLi4pfSBzdWNjZWVkcwogaW5zdGVh ZCBvZiBmYWlsaW5nIGFuZCBzZXR0aW5nIEBjb2Rle2Vycm5vfSB0byBAY29kZXtFTk9URElS fSwgb24gc29tZQogcGxhdGZvcm1zOgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6 aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzI1NzAKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcv UFIzMjU3MAogR05VL0h1cmQgd2l0aCBnbGliYyAyLjQxLgogQGVuZCBpdGVtaXplCiAKZGlm ZiAtLWdpdCBhL2RvYy9nbGliYy1mdW5jdGlvbnMvc3RyZXJyb3JuYW1lX25wLnRleGkgYi9k b2MvZ2xpYmMtZnVuY3Rpb25zL3N0cmVycm9ybmFtZV9ucC50ZXhpCmluZGV4IGFhY2ZhZjEy YjIuLjAwNWUxYzdmNzQgMTAwNjQ0Ci0tLSBhL2RvYy9nbGliYy1mdW5jdGlvbnMvc3RyZXJy b3JuYW1lX25wLnRleGkKKysrIGIvZG9jL2dsaWJjLWZ1bmN0aW9ucy9zdHJlcnJvcm5hbWVf bnAudGV4aQpAQCAtMjAsOSArMjAsOSBAQCBUaGlzIGZ1bmN0aW9uIGlzIG1pc3Npbmcgb24g bWFueSBwbGF0Zm9ybXM6CiBnbGliYyAyLjMxLCBtYWNPUyAxNCwgRnJlZUJTRCAxNC4wLCBO ZXRCU0QgMTAuMCwgT3BlbkJTRCA3LjUsIE1pbml4IDMuMS44LCBBSVggNy4xLCBIUC1VWCAx MS4zMSwgU29sYXJpcyAxMS40LCBDeWd3aW4gMi45LCBtaW5ndywgTVNWQyAxNCwgQW5kcm9p ZCBBUEkgbGV2ZWwgMzQuCiBAaXRlbQogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHdyb25nIHZh bHVlcyBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVn emlsbGEvc2hvd19idWcuY2dpP2lkPTI2NTU1Ci1AYyBodHRwczovL3NvdXJjZXdhcmUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yOTU0NQotQGMgaHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzEwODAKK0BjIGh0dHBzOi8vc291cmNl d2FyZS5vcmcvUFIyNjU1NQorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjI5NTQ1CitA YyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzEwODAKIEBjIGh0dHBzOi8vd3d3LmlsbHVt b3Mub3JnL2lzc3Vlcy8xNzEzNAogZ2xpYmMgMi4zNywgU29sYXJpcyAxMSBPbW5pT1MuCiBA ZW5kIGl0ZW1pemUKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvYWxpZ25lZF9h bGxvYy50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9hbGlnbmVkX2FsbG9jLnRleGkKaW5k ZXggMDQ2MzFmZTQ4Ni4uYTgyMDVkOTkxMiAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0 aW9ucy9hbGlnbmVkX2FsbG9jLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9hbGln bmVkX2FsbG9jLnRleGkKQEAgLTQxLDcgKzQxLDcgQEAgZ2xpYmMgMi4xNSwgbWFjT1MgMTAu MTQsIEZyZWVCU0QgNi40LCBOZXRCU0QgNy4xLCBPcGVuQlNEIDYuMCwgTWluaXggMy4xLjgs IEFJWAogCiBAaXRlbQogSWYgdGhlIGFsaWdubWVudCBhbmQgc2l6ZSBhcmUgYWJzdXJkbHkg bGFyZ2UsIHRoaXMgZnVuY3Rpb24gY3Jhc2hlczoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMyMzAxCitAYyBodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMzIzMDEKIGdsaWJjIDIuNDEuCiBAZW5kIGl0ZW1pemUKIApkaWZmIC0tZ2l0 IGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mYWNjZXNzYXQudGV4aSBiL2RvYy9wb3NpeC1mdW5j dGlvbnMvZmFjY2Vzc2F0LnRleGkKaW5kZXggMDE3OWU0YmZmZi4uMDcyNjAxYzY4NCAxMDA2 NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mYWNjZXNzYXQudGV4aQorKysgYi9kb2Mv cG9zaXgtZnVuY3Rpb25zL2ZhY2Nlc3NhdC50ZXhpCkBAIC0zMiw3ICszMiw3IEBAIHdoaWNo IGlzIHN1cHBvcnRlZCBieSBHTlUgQGNvZGV7ZmFjY2Vzc2F0fS4KIEBpdGVtCiBPbiBzb21l IHBsYXRmb3JtcywgQGNvZGV7ZmFjY2Vzc2F0fSBjYW4gbWlzaGFuZGxlIEBjb2Rle0FUX0VB Q0NFU1N9CiBhZnRlciBhIHByb2Nlc3Mgc3RhcnRzIGFzIHJvb3QgYW5kIHRoZW4gYmVjb21l cyBub24tcm9vdDoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTE4NjgzCitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTg2ODMKIEdO VS9MaW51eCB3aXRoIGdsaWJjIDIuMzIuCiBAZW5kIGl0ZW1pemUKIApkaWZmIC0tZ2l0IGEv ZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mZWdldGVudi50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0aW9u cy9mZWdldGVudi50ZXhpCmluZGV4IDU3NjY5NTAyZjQuLjNjZDc3ZmE2YjEgMTAwNjQ0Ci0t LSBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZmVnZXRlbnYudGV4aQorKysgYi9kb2MvcG9zaXgt ZnVuY3Rpb25zL2ZlZ2V0ZW52LnRleGkKQEAgLTE0LDcgKzE0LDcgQEAgVGhpcyBmdW5jdGlv biBpcyBtaXNzaW5nIG9uIHNvbWUgcGxhdGZvcm1zOgogRnJlZUJTRCA1LjIuMSwgTmV0QlNE IDUuMCwgT3BlbkJTRCAzLjgsIE1pbml4IDMuMS44LCBBSVggNS4xLCBTb2xhcmlzIDksIEN5 Z3dpbiAxLjcuNywgTVNWQyA5LCBBbmRyb2lkIDQuNC4KIEBpdGVtCiBUaGlzIGZ1bmN0aW9u IGNsZWFycyBhbGwgZXhjZXB0aW9uIHRyYXAgYml0cyBvbiBzb21lIHBsYXRmb3JtczoKLUBj IGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE2MTk4 CitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTYxOTgKIGdsaWJjIDIuMTkveDg2XzY0 LAogTWFjIE9TIFggMTAuNS9pMzg2LCBNYWMgT1MgWCAxMC41L3g4Nl82NC4KIEBpdGVtCmRp ZmYgLS1naXQgYS9kb2MvcG9zaXgtZnVuY3Rpb25zL2Zlc2V0ZXhjZXB0LnRleGkgYi9kb2Mv cG9zaXgtZnVuY3Rpb25zL2Zlc2V0ZXhjZXB0LnRleGkKaW5kZXggOTE1ZmE0MmM1NS4uZDk2 ZDRjYzBiMiAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mZXNldGV4Y2VwdC50 ZXhpCisrKyBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvZmVzZXRleGNlcHQudGV4aQpAQCAtMjAs OSArMjAsOSBAQCBUaGlzIGZ1bmN0aW9uIGlzIG1pc3Npbmcgb24gYWxsIG5vbi1nbGliYyBw bGF0Zm9ybXM6CiBnbGliYyAyLjI0LCBtYWNPUyAxNCwgRnJlZUJTRCAxNC4wLCBOZXRCU0Qg MTAuMCwgT3BlbkJTRCA3LjUsIE1pbml4IDMuMS44LCBBSVggNy4xLCBIUC1VWCAxMS4zMSwg U29sYXJpcyAxMS40LCBDeWd3aW4gMi45LCBtaW5ndywgTVNWQyAxNCwgQW5kcm9pZCA5LjAu CiBAaXRlbQogVGhpcyBmdW5jdGlvbiB0cmlnZ2VycyBmbG9hdGluZy1wb2ludCBleGNlcHRp b24gdHJhcHMgYWx0aG91Z2ggaXQgc2hvdWxkbid0LCBvbgotQGMgaHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA5ODkKK0BjIGh0dHBzOi8vc291 cmNld2FyZS5vcmcvUFIzMDk4OQogZ2xpYmMgMi4zNy9pMzg2LAotQGMgaHR0cHM6Ly9zb3Vy Y2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA5ODgKK0BjIGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIzMDk4OAogZ2xpYmMgMi4zNy9wb3dlcnBjLgogQGVuZCBpdGVt aXplCiAKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZmVzZXRleGNlcHRmbGFn LnRleGkgYi9kb2MvcG9zaXgtZnVuY3Rpb25zL2Zlc2V0ZXhjZXB0ZmxhZy50ZXhpCmluZGV4 IGM1ZTZiMGQzNDMuLjNhOWQwYjdiNTQgMTAwNjQ0Ci0tLSBhL2RvYy9wb3NpeC1mdW5jdGlv bnMvZmVzZXRleGNlcHRmbGFnLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mZXNl dGV4Y2VwdGZsYWcudGV4aQpAQCAtMTQsMTQgKzE0LDE0IEBAIFRoaXMgZnVuY3Rpb24gaXMg bWlzc2luZyBvbiBzb21lIHBsYXRmb3JtczoKIEZyZWVCU0QgNS4yLjEsIE5ldEJTRCA1LjAs IE9wZW5CU0QgMy44LCBNaW5peCAzLjEuOCwgQUlYIDUuMSwgU29sYXJpcyA5LCBDeWd3aW4g MS43LjcsIE1TVkMgOSwgQW5kcm9pZCA0LjQuCiBAaXRlbQogVGhpcyBmdW5jdGlvbiB0cmln Z2VycyBmbG9hdGluZy1wb2ludCBleGNlcHRpb24gdHJhcHMgYWx0aG91Z2ggaXQgc2hvdWxk bid0LCBvbgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9MzA5OTAKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMDk5MAogZ2xpYmMg Mi4zNy9pMzg2LCBnbGliYyAyLjM3L3g4Nl82NCwKLUBjIGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMwOTg4CitAYyBodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMzA5ODgKIGdsaWJjIDIuMzcvcG93ZXJwYywKIG11c2wgbGliYywgTWFjIE9T IFggMTAuNSwgTWluaXggMy4zLCBtaW5ndywgSGFpa3UuCiBAaXRlbQogVGhpcyBmdW5jdGlv biBjbGVhcnMgdG9vIG1hbnkgZmxvYXRpbmctcG9pbnQgZXhjZXB0aW9uIGZsYWdzIG9uCi1A YyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMDk5 OAorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjMwOTk4CiBnbGliYyAyLjM3L2FscGhh LgogQGl0ZW0KIFRoaXMgZnVuY3Rpb24gbG9zZXMgdGhlIEBjb2Rle0ZFX0lOVkFMSUR9IGZs YWcgb24KZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZmV1cGRhdGVlbnYudGV4 aSBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvZmV1cGRhdGVlbnYudGV4aQppbmRleCA1ZjlhZTNh MDlmLi5kMjRjMDY0ODRmIDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtZnVuY3Rpb25zL2ZldXBk YXRlZW52LnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mZXVwZGF0ZWVudi50ZXhp CkBAIC0xNSw3ICsxNSw3IEBAIEZyZWVCU0QgNS4yLjEsIE5ldEJTRCA1LjAsIE9wZW5CU0Qg My44LCBNaW5peCAzLjEuOCwgQUlYIDUuMSwgU29sYXJpcyA5LCBDeWd3aW4KIEBpdGVtCiBU aGlzIGZ1bmN0aW9uIGNyYXNoZXMgd2hlbiBnaXZlbiB0aGUgYXJndW1lbnQgQGNvZGV7RkVf REZMX0VOVn0KIG9uIHNvbWUgcGxhdGZvcm1zOgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzEwMjIKK0BjIGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvUFIzMTAyMgogZ2xpYmMgMi4zNy9yaXNjdjY0LgogQGl0ZW0KIFRoaXMgZnVuY3Rp b24gZG9lcyBub3Qgd29yayBvbiBzb21lIHBsYXRmb3JtczoKQEAgLTM1LDcgKzM1LDcgQEAg b24gc29tZSBwbGF0Zm9ybXM6CiBtdXNsIGxpYmMvaTM4NiwgbXVzbCBsaWJjL3g4Nl82NCwg QUlYIDcuMywgU29sYXJpcyAxMCBhbmQgMTEsIG1pbmd3IDEwLgogQGl0ZW0KIFRoaXMgZnVu Y3Rpb24gZG9lcyBub3QgdHJpZ2dlciB0cmFwcyBvbgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzEwMjMKK0BjIGh0dHBzOi8vc291cmNl d2FyZS5vcmcvUFIzMTAyMwogZ2xpYmMgMi4zNy9ocHBhLAogbXVzbCBsaWJjL3MzOTB4LAog QGMgc3JjL3N5cy9hcmNoL3Bvd2VycGMvaW5jbHVkZS9mZW52Lmggc3JjL2xpYi9saWJtL2Fy Y2gvcG93ZXJwYy9mZW52LmMKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZm5t YXRjaC50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mbm1hdGNoLnRleGkKaW5kZXggMTIx NDM5MDJhMy4uOTU3NGZjOTc3YSAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9m bm1hdGNoLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mbm1hdGNoLnRleGkKQEAg LTExNSwxMiArMTE1LDEyIEBAIG9uIHNvbWUgcGxhdGZvcm1zOgogU29sYXJpcyAxMS40Lgog QGl0ZW0KIFJhbmdlcyB0aGF0IHN0YXJ0IG9yIGVuZCB3aXRoIGEgYmFja3NsYXNoIGRvbid0 IHdvcmsgcmlnaHQgb24gc29tZSBwbGF0Zm9ybXM6Ci1AYyBodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zNjEKK0BjIGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvUFIzNjEKIGdsaWJjIDIuMy4zLgogQGl0ZW0KIEluIHRoZSBwYXR0ZXJuLCBhbiBv cGVuaW5nIGJyYWNrZXQgd2l0aG91dCBjbG9zaW5nIGJyYWNrZXQgZG9lcyBub3QgbWF0Y2gK IGEgbGl0ZXJhbCBAY29kZXsnWyd9IG9uIHNvbWUgcGxhdGZvcm1zOgotQGMgaHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTIzNzgKK0BjIGh0dHBz Oi8vc291cmNld2FyZS5vcmcvUFIxMjM3OAogQGMgRmFpbGluZyB0ZXN0IGNhc2VzOgogQGMg Zm5tYXRjaCAoIltbOmFscGhhOl0nWzphbHBoYTpdXDBdIiwgImEiLCAwKSA9PSBGTk1fTk9N QVRDSAogQGMgZm5tYXRjaCAoIlthWy5cMC5dXSIsICJhIiwgMCkgPT0gRk5NX05PTUFUQ0gK ZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZnV0aW1lbnMudGV4aSBiL2RvYy9w b3NpeC1mdW5jdGlvbnMvZnV0aW1lbnMudGV4aQppbmRleCA0YmFlMjgzN2Q5Li5jODRhMDM1 YzRkIDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtZnVuY3Rpb25zL2Z1dGltZW5zLnRleGkKKysr IGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mdXRpbWVucy50ZXhpCkBAIC0zNSw3ICszNSw3IEBA IGdsaWJjIDIuMTEsIG11c2wgbGliYywgU29sYXJpcyAxMS4KIE91dC1vZi1yYW5nZSB2YWx1 ZXMgb2YgQGNvZGV7dHZfbnNlY30gZG8gbm90IGxlYWQgdG8gYSBmYWlsdXJlIG9uIHNvbWUK IHBsYXRmb3JtczoKIE5ldEJTRCAxMC4wLAotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzI4MDMKK0BjIGh0dHBzOi8vc291cmNld2FyZS5v cmcvUFIzMjgwMwogR05VL0h1cmQgd2l0aCBnbGliYyAyLjQxLgogQGVuZCBpdGVtaXplCiAK ZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZ2V0cGF5bG9hZC50ZXhpIGIvZG9j L3Bvc2l4LWZ1bmN0aW9ucy9nZXRwYXlsb2FkLnRleGkKaW5kZXggMGNiMWFlYWM3ZC4uNDUx NWI0YmQ0NCAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9nZXRwYXlsb2FkLnRl eGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9nZXRwYXlsb2FkLnRleGkKQEAgLTIyLDcg KzIyLDcgQEAgVGhpcyBmdW5jdGlvbiBpcyBtaXNzaW5nIG9uIGFsbCBub24tZ2xpYmMgcGxh dGZvcm1zOgogZ2xpYmMgMi4yNCwgbWFjT1MgMTQsIEZyZWVCU0QgMTQuMCwgTmV0QlNEIDEw LjAsIE9wZW5CU0QgNy41LCBNaW5peCAzLjEuOCwgQUlYIDcuMSwgSFAtVVggMTEuMzEsIFNv bGFyaXMgMTEuNCwgQ3lnd2luIDIuOSwgbWluZ3csIE1TVkMgMTQsIEFuZHJvaWQgOS4wLgog QGl0ZW0KIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIHdyb25nIHJlc3VsdCBmb3Igbm9uLU5h TiBhcmd1bWVudHMgb24gc29tZSBwbGF0Zm9ybXM6Ci1AYyBodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNjA3MworQGMgaHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9QUjI2MDczCiBnbGliYyAyLjMxLgogQGVuZCBpdGVtaXplCiAKZGlmZiAtLWdp dCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZ2V0cGF5bG9hZGYudGV4aSBiL2RvYy9wb3NpeC1m dW5jdGlvbnMvZ2V0cGF5bG9hZGYudGV4aQppbmRleCA0NTUwZWNjMmI5Li40YzM5YWUzMGVj IDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtZnVuY3Rpb25zL2dldHBheWxvYWRmLnRleGkKKysr IGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9nZXRwYXlsb2FkZi50ZXhpCkBAIC0yMiw3ICsyMiw3 IEBAIFRoaXMgZnVuY3Rpb24gaXMgbWlzc2luZyBvbiBhbGwgbm9uLWdsaWJjIHBsYXRmb3Jt czoKIGdsaWJjIDIuMjQsIG1hY09TIDE0LCBGcmVlQlNEIDE0LjAsIE5ldEJTRCAxMC4wLCBP cGVuQlNEIDcuNSwgTWluaXggMy4xLjgsIEFJWCA3LjEsIEhQLVVYIDExLjMxLCBTb2xhcmlz IDExLjQsIEN5Z3dpbiAyLjksIG1pbmd3LCBNU1ZDIDE0LCBBbmRyb2lkIDkuMC4KIEBpdGVt CiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSB3cm9uZyByZXN1bHQgZm9yIG5vbi1OYU4gYXJn dW1lbnRzIG9uIHNvbWUgcGxhdGZvcm1zOgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjYwNzMKK0BjIGh0dHBzOi8vc291cmNld2FyZS5v cmcvUFIyNjA3MwogZ2xpYmMgMi4zMS4KIEBlbmQgaXRlbWl6ZQogCmRpZmYgLS1naXQgYS9k b2MvcG9zaXgtZnVuY3Rpb25zL2dldHBheWxvYWRsLnRleGkgYi9kb2MvcG9zaXgtZnVuY3Rp b25zL2dldHBheWxvYWRsLnRleGkKaW5kZXggNDVmOWY3MjMzMC4uZDc5ZjE4NzZhNSAxMDA2 NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9nZXRwYXlsb2FkbC50ZXhpCisrKyBiL2Rv Yy9wb3NpeC1mdW5jdGlvbnMvZ2V0cGF5bG9hZGwudGV4aQpAQCAtMjIsNyArMjIsNyBAQCBU aGlzIGZ1bmN0aW9uIGlzIG1pc3Npbmcgb24gYWxsIG5vbi1nbGliYyBwbGF0Zm9ybXM6CiBn bGliYyAyLjI0LCBtYWNPUyAxNCwgRnJlZUJTRCAxNC4wLCBOZXRCU0QgMTAuMCwgT3BlbkJT RCA3LjUsIE1pbml4IDMuMS44LCBBSVggNy4xLCBIUC1VWCAxMS4zMSwgU29sYXJpcyAxMS40 LCBDeWd3aW4gMi45LCBtaW5ndywgTVNWQyAxNCwgQW5kcm9pZCA5LjAuCiBAaXRlbQogVGhp cyBmdW5jdGlvbiByZXR1cm5zIGEgd3JvbmcgcmVzdWx0IGZvciBub24tTmFOIGFyZ3VtZW50 cyBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTI2MDczCitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BS MjYwNzMKIGdsaWJjIDIuMzEuCiBAZW5kIGl0ZW1pemUKIApkaWZmIC0tZ2l0IGEvZG9jL3Bv c2l4LWZ1bmN0aW9ucy9pbml0c3RhdGUudGV4aSBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvaW5p dHN0YXRlLnRleGkKaW5kZXggNzJkZjFlMTU5Ni4uNDBhZmU2MjYxYiAxMDA2NDQKLS0tIGEv ZG9jL3Bvc2l4LWZ1bmN0aW9ucy9pbml0c3RhdGUudGV4aQorKysgYi9kb2MvcG9zaXgtZnVu Y3Rpb25zL2luaXRzdGF0ZS50ZXhpCkBAIC0yMSw3ICsyMSw3IEBAIFBvcnRhYmlsaXR5IHBy b2JsZW1zIG5vdCBmaXhlZCBieSBHbnVsaWI6CiBAaXRlbWl6ZQogQGl0ZW0KIFRoaXMgZnVu Y3Rpb24gY3Jhc2hlcyBpZiB0aGUgc3RhdGUgYnVmZmVyIGlzIHVuYWxpZ25lZCBvbiBzb21l IHBsYXRmb3JtczoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTMwNTg0CitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzA1ODQKIGds aWJjIDIuMzYvc3BhcmMuCiBAaXRlbQogVGhlIGZpcnN0IHBhcmFtZXRlciBpcyBAY29kZXt1 bnNpZ25lZCBsb25nfSBpbnN0ZWFkIG9mIEBjb2Rle3Vuc2lnbmVkIGludH0gb24KZGlmZiAt LWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbGlua2F0LnRleGkgYi9kb2MvcG9zaXgtZnVu Y3Rpb25zL2xpbmthdC50ZXhpCmluZGV4IGJiNGZiNTcyOGYuLjg4MjBiNjU3ZTUgMTAwNjQ0 Ci0tLSBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbGlua2F0LnRleGkKKysrIGIvZG9jL3Bvc2l4 LWZ1bmN0aW9ucy9saW5rYXQudGV4aQpAQCAtMzEsNiArMzEsNiBAQCBQb3J0YWJpbGl0eSBw cm9ibGVtcyBub3QgZml4ZWQgYnkgR251bGliOgogQGNvZGV7bGlua2F0IChmZCwgImRpcmVj dG9yeSIsIGZkLCAic3ltbGluay8iIC4uLil9IHNldHMgQGNvZGV7ZXJybm99CiB0byBAY29k ZXtFSU5WQUx9IGluc3RlYWQgb2YgQGNvZGV7RUVYSVNUfSBvciBAY29kZXtFTk9URElSfSBv biBzb21lCiBwbGF0Zm9ybXM6Ci1AYyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxh L3Nob3dfYnVnLmNnaT9pZD0zMjU2OQorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjMy NTY5CiBHTlUvSHVyZCB3aXRoIGdsaWJjIDIuNDEuCiBAZW5kIGl0ZW1pemUKZGlmZiAtLWdp dCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbG9uZ2ptcC50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0 aW9ucy9sb25nam1wLnRleGkKaW5kZXggYjYxNjNjOWRjNS4uODg2MDEzM2I2YiAxMDA2NDQK LS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9sb25nam1wLnRleGkKKysrIGIvZG9jL3Bvc2l4 LWZ1bmN0aW9ucy9sb25nam1wLnRleGkKQEAgLTI1LDYgKzI1LDYgQEAgc3RydWN0dXJlIG1h bmFnZWQgYnkgdGhlIGtlcm5lbC4KIEBpdGVtCiBUaGlzIGZ1bmN0aW9uIG1heSBjcmFzaCB3 aGVuIHRoZSBpbnZva2VyIGNvZGUgd2FzIGNvbXBpbGVkIHdpdGggb3B0aW9uCiBAY29kZXst RF9GT1JUSUZZX1NPVVJDRT0yfSwKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTMyNTIyCitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BS MzI1MjIKIG9uIEh1cmQuCiBAZW5kIGl0ZW1pemUKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1m dW5jdGlvbnMvbWJybGVuLnRleGkgYi9kb2MvcG9zaXgtZnVuY3Rpb25zL21icmxlbi50ZXhp CmluZGV4IGYzNzIzNGEwNmUuLjA3ZWNlOTRmZWUgMTAwNjQ0Ci0tLSBhL2RvYy9wb3NpeC1m dW5jdGlvbnMvbWJybGVuLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnJsZW4u dGV4aQpAQCAtMTUsOCArMTUsOCBAQCBNaW5peCAzLjEuOCwgSFAtVVggMTEuMDAsIG1pbmd3 LgogQGl0ZW0KIEluIHRoZSBDIG9yIFBPU0lYIGxvY2FsZXMsIHRoaXMgZnVuY3Rpb24gY2Fu IHJldHVybiBAY29kZXsoc2l6ZV90KSAtMX0KIGFuZCBzZXQgQGNvZGV7ZXJybm99IHRvIEBj b2Rle0VJTFNFUX06Ci1AYyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0xOTkzMgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9Mjk1MTEKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxOTkz MgorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjI5NTExCiBnbGliYyAyLjM1LgogQGl0 ZW0KIFRoaXMgZnVuY3Rpb24gcmV0dXJucyAwIGluc3RlYWQgb2YgQGNvZGV7KHNpemVfdCkg LTJ9IHdoZW4gdGhlIGlucHV0CmRpZmYgLS1naXQgYS9kb2MvcG9zaXgtZnVuY3Rpb25zL21i cnRvYzE2LnRleGkgYi9kb2MvcG9zaXgtZnVuY3Rpb25zL21icnRvYzE2LnRleGkKaW5kZXgg OWU1ZjEzODgzYy4uYzM1OWEzNGQ5MyAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9u cy9tYnJ0b2MxNi50ZXhpCisrKyBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJydG9jMTYudGV4 aQpAQCAtMTYsMTggKzE2LDE4IEBAIFRoaXMgZnVuY3Rpb24gaXMgbWlzc2luZyBvbiBtb3N0 IG5vbi1nbGliYyBwbGF0Zm9ybXM6CiBnbGliYyAyLjE1LCBtYWNPUyAxNCwgRnJlZUJTRCA2 LjQsIE5ldEJTRCAxMC4wLCBPcGVuQlNEIDcuMywgTWluaXggMy4xLjgsIEFJWCA3LjEsIEhQ LVVYIDExLjMxLCBTb2xhcmlzIDExLjMsIEN5Z3dpbiAzLjQueCwgbWluZ3csIE1TVkMgOSwg QW5kcm9pZCA0LjQuCiBAaXRlbQogVGhpcyBmdW5jdGlvbiBtYXkgY3Jhc2ggd2hlbiB0aGUg Zmlyc3QgYXJndW1lbnQgaXMgTlVMTCBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0dHBzOi8v c291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI4ODk4CitAYyBodHRw czovL3NvdXJjZXdhcmUub3JnL1BSMjg4OTgKIGdsaWJjIDIuMzYuCiBAaXRlbQogSW4gdGhl IEMgb3IgUE9TSVggbG9jYWxlcywgdGhpcyBmdW5jdGlvbiBjYW4gcmV0dXJuIEBjb2Rleyhz aXplX3QpIC0xfQogYW5kIHNldCBAY29kZXtlcnJub30gdG8gQGNvZGV7RUlMU0VRfToKLUBj IGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE5OTMy Ci1AYyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0y OTUxMQorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjE5OTMyCitAYyBodHRwczovL3Nv dXJjZXdhcmUub3JnL1BSMjk1MTEKIGdsaWJjIDIuMzYuCiBAaXRlbQogVGhpcyBmdW5jdGlv biByZXR1cm5zIDAgaW5zdGVhZCBvZiBAY29kZXsoc2l6ZV90KSAtMn0gd2hlbiB0aGUgaW5w dXQKIGlzIGVtcHR5OgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MTY5NTAKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxNjk1MAog Z2xpYmMgMi4xOSwKIEBjIGh0dHBzOi8vaXNzdWV0cmFja2VyLmdvb2dsZS5jb20vaXNzdWVz LzI4OTQxOTg4MAogQW5kcm9pZCAxMS4KZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlv bnMvbWJydG9jMzIudGV4aSBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJydG9jMzIudGV4aQpp bmRleCA3MDQ4YmZmYTA3Li42MjlhNzVkZWM0IDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtZnVu Y3Rpb25zL21icnRvYzMyLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnJ0b2Mz Mi50ZXhpCkBAIC0xOCwxMyArMTgsMTMgQEAgZ2xpYmMgMi4xNSwgbWFjT1MgMTQsIEZyZWVC U0QgNi40LCBOZXRCU0QgMTAuMCwgT3BlbkJTRCA3LjMsIE1pbml4IDMuMS44LCBBSVggNy4K IEBpdGVtCiBJbiB0aGUgQyBvciBQT1NJWCBsb2NhbGVzLCB0aGlzIGZ1bmN0aW9uIGNhbiBy ZXR1cm4gQGNvZGV7KHNpemVfdCkgLTF9CiBhbmQgc2V0IEBjb2Rle2Vycm5vfSB0byBAY29k ZXtFSUxTRVF9OgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9MTk5MzIKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTI5NTExCitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTk5MzIK K0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyOTUxMQogZ2xpYmMgMi4zNS4KIEBpdGVt CiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgMCBpbnN0ZWFkIG9mIEBjb2RleyhzaXplX3QpIC0y fSB3aGVuIHRoZSBpbnB1dAogaXMgZW1wdHk6Ci1AYyBodHRwczovL3NvdXJjZXdhcmUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNjk1MAorQGMgaHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9QUjE2OTUwCiBnbGliYyAyLjE5LAogbWluZ3csCiBAYyBodHRwczovL2lzc3VldHJh Y2tlci5nb29nbGUuY29tL2lzc3Vlcy8yODk0MTk4ODAKQEAgLTYwLDcgKzYwLDcgQEAgZXhh Y3RseSBvbmUgVW5pY29kZSBjaGFyYWN0ZXIgYW5kIHRodXMgbmV2ZXIgcmV0dXJucyBAY29k ZXsoc2l6ZV90KSAtM30uCiBAaXRlbQogVGhpcyBmdW5jdGlvbiBiZWhhdmVzIGluY29ycmVj dGx5IHdoZW4gY29udmVydGluZyBwcmVjb21wb3NlZCBjaGFyYWN0ZXJzCiBmcm9tIHRoZSBC SUc1LUhLU0NTIGVuY29kaW5nOgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9MzA2MTEKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIz MDYxMQogZ2xpYmMgMi4zNi4KIEBlbmQgaXRlbWl6ZQogCmRpZmYgLS1naXQgYS9kb2MvcG9z aXgtZnVuY3Rpb25zL21icnRvd2MudGV4aSBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJydG93 Yy50ZXhpCmluZGV4IDg2NzQ0NzhhZGYuLjI0MTA5OGFjMjEgMTAwNjQ0Ci0tLSBhL2RvYy9w b3NpeC1mdW5jdGlvbnMvbWJydG93Yy50ZXhpCisrKyBiL2RvYy9wb3NpeC1mdW5jdGlvbnMv bWJydG93Yy50ZXhpCkBAIC0xNSwxMyArMTUsMTMgQEAgTWluaXggMy4xLjgsIEhQLVVYIDEx LjAwLCBtaW5ndy4KIEBpdGVtCiBJbiB0aGUgQyBvciBQT1NJWCBsb2NhbGVzLCB0aGlzIGZ1 bmN0aW9uIGNhbiByZXR1cm4gQGNvZGV7KHNpemVfdCkgLTF9CiBhbmQgc2V0IEBjb2Rle2Vy cm5vfSB0byBAY29kZXtFSUxTRVF9OgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6 aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTk5MzIKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcv YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI5NTExCitAYyBodHRwczovL3NvdXJjZXdhcmUu b3JnL1BSMTk5MzIKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyOTUxMQogZ2xpYmMg Mi4zNS4KIEBpdGVtCiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgMCBpbnN0ZWFkIG9mIEBjb2Rl eyhzaXplX3QpIC0yfSB3aGVuIHRoZSBpbnB1dAogaXMgZW1wdHk6Ci1AYyBodHRwczovL3Nv dXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNjk1MAorQGMgaHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9QUjE2OTUwCiBnbGliYyAyLjE5LAogbWluZ3cgd2l0aCBVQ1JU LCBNU1ZDIDE0LCBBbmRyb2lkIDExLgogQGl0ZW0KQEAgLTUxLDggKzUxLDggQEAgUG9ydGFi aWxpdHkgcHJvYmxlbXMgbm90IGZpeGVkIGJ5IEdudWxpYjoKIEBpdGVtCiBJbiBVVEYtOCBs b2NhbGVzLCB0aGlzIGZ1bmN0aW9uIG1heSByZXR1cm4gd2lkZSBjaGFyYWN0ZXJzIHVwIHRv IDB4N0ZGRkZGRkYKICh0aGF0IGlzLCBiZXlvbmQgMHgwMDEwRkZGRikgb24gc29tZSBwbGF0 Zm9ybXM6Ci1AYyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0yMzczCi1AYyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVn LmNnaT9pZD0yNjAzNAorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjIzNzMKK0BjIGh0 dHBzOi8vc291cmNld2FyZS5vcmcvUFIyNjAzNAogZ2xpYmMgMi4zNC4KIEBpdGVtCiBPbiBX aW5kb3dzIGFuZCAzMi1iaXQgQUlYIHBsYXRmb3JtcywgQGNvZGV7d2NoYXJfdH0gaXMgYSAx Ni1iaXQgdHlwZSBhbmQKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJzbnJ0 b3djcy50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnNucnRvd2NzLnRleGkKaW5kZXgg ZWIzMjRiZjI3Zi4uNTQzZjdiNDE4NyAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9u cy9tYnNucnRvd2NzLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnNucnRvd2Nz LnRleGkKQEAgLTE4LDggKzE4LDggQEAgU29sYXJpcyAxMS40LgogQGl0ZW0KIEluIHRoZSBD IG9yIFBPU0lYIGxvY2FsZXMsIHRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBAY29kZXsoc2l6 ZV90KSAtMX0KIGFuZCBzZXQgQGNvZGV7ZXJybm99IHRvIEBjb2Rle0VJTFNFUX06Ci1AYyBo dHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xOTkzMgot QGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mjk1 MTEKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxOTkzMgorQGMgaHR0cHM6Ly9zb3Vy Y2V3YXJlLm9yZy9QUjI5NTExCiBnbGliYyAyLjM1LgogQGVuZCBpdGVtaXplCiAKZGlmZiAt LWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJzcnRvd2NzLnRleGkgYi9kb2MvcG9zaXgt ZnVuY3Rpb25zL21ic3J0b3djcy50ZXhpCmluZGV4IDY3ZWUxNjAxYzguLjM5NjdhMzNiZjUg MTAwNjQ0Ci0tLSBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJzcnRvd2NzLnRleGkKKysrIGIv ZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnNydG93Y3MudGV4aQpAQCAtMTgsOCArMTgsOCBAQCBI UC1VWCAxMSwgU29sYXJpcyAxMSAyMDEwLTExLgogQGl0ZW0KIEluIHRoZSBDIG9yIFBPU0lY IGxvY2FsZXMsIHRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBAY29kZXsoc2l6ZV90KSAtMX0K IGFuZCBzZXQgQGNvZGV7ZXJybm99IHRvIEBjb2Rle0VJTFNFUX06Ci1AYyBodHRwczovL3Nv dXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xOTkzMgotQGMgaHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mjk1MTEKK0BjIGh0 dHBzOi8vc291cmNld2FyZS5vcmcvUFIxOTkzMgorQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9QUjI5NTExCiBnbGliYyAyLjM1LgogQGl0ZW0KIFRoaXMgZnVuY3Rpb24gZG9lcyBub3Qg d29yayB3aGVuIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBOVUxMIG9uIHNvbWUgcGxhdGZvcm1z OgpkaWZmIC0tZ2l0IGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9tYnN0b3djcy50ZXhpIGIvZG9j L3Bvc2l4LWZ1bmN0aW9ucy9tYnN0b3djcy50ZXhpCmluZGV4IDQwYTE2NzZmMGMuLjI0Zjlh NzE3YTcgMTAwNjQ0Ci0tLSBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJzdG93Y3MudGV4aQor KysgYi9kb2MvcG9zaXgtZnVuY3Rpb25zL21ic3Rvd2NzLnRleGkKQEAgLTEyLDggKzEyLDgg QEAgUG9ydGFiaWxpdHkgcHJvYmxlbXMgZml4ZWQgYnkgR251bGliOgogQGl0ZW0KIEluIHRo ZSBDIG9yIFBPU0lYIGxvY2FsZXMsIHRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBAY29kZXso c2l6ZV90KSAtMX0KIGFuZCBzZXQgQGNvZGV7ZXJybm99IHRvIEBjb2Rle0VJTFNFUX06Ci1A YyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xOTkz MgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 Mjk1MTEKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxOTkzMgorQGMgaHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9QUjI5NTExCiBnbGliYyAyLjM1LgogQGVuZCBpdGVtaXplCiAKZGlm ZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJ0b3djLnRleGkgYi9kb2MvcG9zaXgt ZnVuY3Rpb25zL21idG93Yy50ZXhpCmluZGV4IGQ0MjMzMzU5NDQuLjU4NzRkNWE5YjQgMTAw NjQ0Ci0tLSBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvbWJ0b3djLnRleGkKKysrIGIvZG9jL3Bv c2l4LWZ1bmN0aW9ucy9tYnRvd2MudGV4aQpAQCAtMTksMTIgKzE5LDEyIEBAIFBvcnRhYmls aXR5IHByb2JsZW1zIG5vdCBmaXhlZCBieSBHbnVsaWI6CiBAaXRlbQogSW4gVVRGLTggbG9j YWxlcywgdGhpcyBmdW5jdGlvbiBtYXkgcmV0dXJuIHdpZGUgY2hhcmFjdGVycyB1cCB0byAw eDdGRkZGRkZGCiAodGhhdCBpcywgYmV5b25kIDB4MDAxMEZGRkYpIG9uIHNvbWUgcGxhdGZv cm1zOgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/ aWQ9MjM3MwotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9MjYwMzQKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyMzczCitAYyBodHRw czovL3NvdXJjZXdhcmUub3JnL1BSMjYwMzQKIGdsaWJjIDIuMzQuCiBAaXRlbQogVGhpcyBm dW5jdGlvbiBhY2N1bXVsYXRlcyBoaWRkZW4gc3RhdGUgb24gc29tZSBwbGF0Zm9ybXM6Ci1n bGliYyAyLjggKHNlZSBAdXJse2h0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTk2NzR9KS4KK2dsaWJjIDIuOCAoc2VlIEB1cmx7aHR0cHM6Ly9zb3Vy Y2V3YXJlLm9yZy9QUjk2NzR9KS4KIEBpdGVtCiBPbiBXaW5kb3dzIGFuZCAzMi1iaXQgQUlY IHBsYXRmb3JtcywgQGNvZGV7d2NoYXJfdH0gaXMgYSAxNi1iaXQgdHlwZSBhbmQgdGhlcmVm b3JlIGNhbm5vdAogYWNjb21tb2RhdGUgYWxsIFVuaWNvZGUgY2hhcmFjdGVycy4KZGlmZiAt LWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvcG9zaXhfbWVtYWxpZ24udGV4aSBiL2RvYy9w b3NpeC1mdW5jdGlvbnMvcG9zaXhfbWVtYWxpZ24udGV4aQppbmRleCA0Y2E2NWYzZGRkLi4y ZWJlMTRmNDhkIDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtZnVuY3Rpb25zL3Bvc2l4X21lbWFs aWduLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9wb3NpeF9tZW1hbGlnbi50ZXhp CkBAIC0yOCw3ICsyOCw3IEBAIFRoaXMgZnVuY3Rpb24gaXMgbWlzc2luZyBvbiBzb21lIHBs YXRmb3JtczoKIE1hYyBPUyBYIDEwLjUsIEZyZWVCU0QgNi4wLCBOZXRCU0QgMy4wLCBPcGVu QlNEIDMuOCwgTWluaXggMy4xLjgsIEFJWCA1LjEsIEhQLVVYIDExLCBTb2xhcmlzIDEwLCBD eWd3aW4gMS41LngsIG1pbmd3LCBNU1ZDIDE0LCBBbmRyb2lkIDQuMS4KIEBpdGVtCiBJZiB0 aGUgYWxpZ25tZW50IGFuZCBzaXplIGFyZSBhYnN1cmRseSBsYXJnZSwgdGhpcyBmdW5jdGlv biBjcmFzaGVzOgotQGMgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9MzIzMDEKK0BjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMjMwMQogZ2xp YmMgMi40MS4KIEBlbmQgaXRlbWl6ZQogCmRpZmYgLS1naXQgYS9kb2MvcG9zaXgtZnVuY3Rp b25zL3N3cHJpbnRmLnRleGkgYi9kb2MvcG9zaXgtZnVuY3Rpb25zL3N3cHJpbnRmLnRleGkK aW5kZXggMjE5ZmU4OTBmMy4uNTRkM2FhMGY0ZCAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1 bmN0aW9ucy9zd3ByaW50Zi50ZXhpCisrKyBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvc3dwcmlu dGYudGV4aQpAQCAtMzgsNyArMzgsNyBAQCBPbiBXaW5kb3dzLCB0aGlzIGZ1bmN0aW9uIGRv ZXMgbm90IHRha2UgYSBidWZmZXIgc2l6ZSBhcyBzZWNvbmQgYXJndW1lbnQuCiBAaXRlbQog VGhpcyBmdW5jdGlvbiBwcm9kdWNlcyB3cm9uZyB2YWx1ZXMgZm9yIHRoZSBAc2FtcHtMYX0g ZGlyZWN0aXZlCiBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEzNzI2CitAYyBodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMTM3MjYKIGdsaWJjIDIuMTUsCiBAYyBodHRwczovL2Rldi5oYWlrdS1vcy5v cmcvdGlja2V0LzE4MzUzCiBIYWlrdSwKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlv bnMvdGltZS50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90aW1lLnRleGkKaW5kZXggZTQ4 ZDRiNDZiZi4uNDlkN2JhZDViNSAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90 aW1lLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90aW1lLnRleGkKQEAgLTEyLDcg KzEyLDcgQEAgUG9ydGFiaWxpdHkgcHJvYmxlbXMgZml4ZWQgYnkgR251bGliOgogQGl0ZW0K IFRoaXMgZnVuY3Rpb24gaXMgbm90IGNvbnNpc3RlbnQgd2l0aCBAY29kZXtnZXR0aW1lb2Zk YXl9IGFuZCBAY29kZXt0aW1lc3BlY19nZXR9CiBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0 dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMwMjAwCitA YyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzAyMDAKIGdsaWJjIDIuMzEgb3IgbmV3ZXIg b24gTGludXgsCiBAYyBPbmx5IHNlZW4gb24gbWFjaGluZXMgd2l0aCAyIG9yIG1vcmUgQ1BV cy4KIEZyZWVCU0QgMTQuMCwKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvdG90 YWxvcmRlci50ZXhpIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90b3RhbG9yZGVyLnRleGkKaW5k ZXggZTIzODczNDY1ZS4uNGE0ZGFlZTY2YiAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0 aW9ucy90b3RhbG9yZGVyLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90b3RhbG9y ZGVyLnRleGkKQEAgLTM0LDYgKzM0LDYgQEAgUG9ydGFiaWxpdHkgcHJvYmxlbXMgbm90IGZp eGVkIGJ5IEdudWxpYjoKIEBpdGVtaXplCiBAaXRlbQogVGhpcyBmdW5jdGlvbiB0cmVhdHMg c2lnbmFsbGluZyBOYU5zIGluY29ycmVjdGx5IG9uIHNvbWUgcGxhdGZvcm1zOgotQGMgaHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA5NzMKK0Bj IGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMDk3MwogZ2xpYmMgMi4zNS9zaDQuCiBAZW5k IGl0ZW1pemUKZGlmZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvdG90YWxvcmRlcmYu dGV4aSBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvdG90YWxvcmRlcmYudGV4aQppbmRleCBiYmYw NDRhNDE0Li41MmFhMWIwZmI5IDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtZnVuY3Rpb25zL3Rv dGFsb3JkZXJmLnRleGkKKysrIGIvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90b3RhbG9yZGVyZi50 ZXhpCkBAIC0zNCw2ICszNCw2IEBAIFBvcnRhYmlsaXR5IHByb2JsZW1zIG5vdCBmaXhlZCBi eSBHbnVsaWI6CiBAaXRlbWl6ZQogQGl0ZW0KIFRoaXMgZnVuY3Rpb24gdHJlYXRzIHNpZ25h bGxpbmcgTmFOcyBpbmNvcnJlY3RseSBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0dHBzOi8v c291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMwOTczCitAYyBodHRw czovL3NvdXJjZXdhcmUub3JnL1BSMzA5NzMKIGdsaWJjIDIuMzUvc2g0LgogQGVuZCBpdGVt aXplCmRpZmYgLS1naXQgYS9kb2MvcG9zaXgtZnVuY3Rpb25zL3RvdGFsb3JkZXJsLnRleGkg Yi9kb2MvcG9zaXgtZnVuY3Rpb25zL3RvdGFsb3JkZXJsLnRleGkKaW5kZXggY2YwN2E5OTY1 Zi4uN2QxMTRjOTFjOSAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy90b3RhbG9y ZGVybC50ZXhpCisrKyBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvdG90YWxvcmRlcmwudGV4aQpA QCAtMzQsNiArMzQsNiBAQCBQb3J0YWJpbGl0eSBwcm9ibGVtcyBub3QgZml4ZWQgYnkgR251 bGliOgogQGl0ZW1pemUKIEBpdGVtCiBUaGlzIGZ1bmN0aW9uIHRyZWF0cyBzaWduYWxsaW5n IE5hTnMgaW5jb3JyZWN0bHkgb24gc29tZSBwbGF0Zm9ybXM6Ci1AYyBodHRwczovL3NvdXJj ZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMDk3MworQGMgaHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9QUjMwOTczCiBnbGliYyAyLjM1L3NoNC4KIEBlbmQgaXRlbWl6ZQpk aWZmIC0tZ2l0IGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy91dGltZW5zYXQudGV4aSBiL2RvYy9w b3NpeC1mdW5jdGlvbnMvdXRpbWVuc2F0LnRleGkKaW5kZXggODFkZDM2NTAzNS4uZmNlYTA2 NDIzZSAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy91dGltZW5zYXQudGV4aQor KysgYi9kb2MvcG9zaXgtZnVuY3Rpb25zL3V0aW1lbnNhdC50ZXhpCkBAIC0zNyw3ICszNyw3 IEBAIExpbnV4IGtlcm5lbCAyLjYuMzIsIG1hY09TIDE0LCBOZXRCU0QgMTAuMCwgU29sYXJp cyAxMS4xLgogT3V0LW9mLXJhbmdlIHZhbHVlcyBvZiBAY29kZXt0dl9uc2VjfSBkbyBub3Qg bGVhZCB0byBhIGZhaWx1cmUgb24gc29tZQogcGxhdGZvcm1zOgogTGludXgga2VybmVsIDIu Ni4yMi4xOSBvbiBocHBhLCBOZXRCU0QgMTAuMCwKLUBjIGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMyODAyCitAYyBodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMzI4MDIKIEdOVS9IdXJkIHdpdGggZ2xpYmMgMi40MS4KIEBpdGVtCiBPbiBz b21lIHBsYXRmb3JtcywgdGhpcyBmdW5jdGlvbiBtaXMtaGFuZGxlcyBhIHRyYWlsaW5nIHNs YXNoOgpkaWZmIC0tZ2l0IGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy93Y3NjbXAudGV4aSBiL2Rv Yy9wb3NpeC1mdW5jdGlvbnMvd2NzY21wLnRleGkKaW5kZXggOTYxZTdlMDEyMi4uMTNlMTcy M2VhZCAxMDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy93Y3NjbXAudGV4aQorKysg Yi9kb2MvcG9zaXgtZnVuY3Rpb25zL3djc2NtcC50ZXhpCkBAIC0xOSw3ICsxOSw3IEBAIE5l dEJTRCAxMC4wLCBPcGVuQlNEIDcuMiwgU29sYXJpcyAxMS40LgogQGl0ZW0KIFRoaXMgZnVu Y3Rpb24gbWF5IHJldHVybiBhIHdyb25nIHJlc3VsdCBpZiB0aGUgdHdvIGFyZ3VtZW50cyBh cmUgb2YgZGlmZmVyZW50CiBsZW5ndGgsIG9uIHNvbWUgcGxhdGZvcm1zOgotQGMgaHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA2MjAKK0BjIGh0 dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMDYyMAogZ2xpYmMgMi4zNyBvbiBhcm0gYW5kIGFy bTY0IENQVXMsCiBBSVggNy4yIGluIDY0LWJpdCBtb2RlLgogQGVuZCBpdGVtaXplCmRpZmYg LS1naXQgYS9kb2MvcG9zaXgtaGVhZGVycy9zdGRsaWIudGV4aSBiL2RvYy9wb3NpeC1oZWFk ZXJzL3N0ZGxpYi50ZXhpCmluZGV4IGJkNDAyYjhkOTUuLjdjZjRkOGQ5OTAgMTAwNjQ0Ci0t LSBhL2RvYy9wb3NpeC1oZWFkZXJzL3N0ZGxpYi50ZXhpCisrKyBiL2RvYy9wb3NpeC1oZWFk ZXJzL3N0ZGxpYi50ZXhpCkBAIC0zNiw3ICszNiw3IEBAIE1pckJTRCAxMC4KIEBpdGVtCiBU aGUgbWFjcm8gQGNvZGV7V0NPUkVEVU1QfSBpcyBub3QgZGVmaW5lZCBpbiB0aGlzIGhlYWRl ciBmaWxlIChvbmx5IGluCiBAY29kZXs8c3lzL3dhaXQuaD59KSBvbiBzb21lIHBsYXRmb3Jt czoKLUBjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk PTMyNTUxCitAYyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzI1NTEKIGdsaWJjIDIuNDEu CiBAZW5kIGl0ZW1pemUKIApkaWZmIC0tZ2l0IGEvZG9jL3Bvc2l4LWhlYWRlcnMvc3lzX3Vu LnRleGkgYi9kb2MvcG9zaXgtaGVhZGVycy9zeXNfdW4udGV4aQppbmRleCAxMTBkZTUzOTFh Li5hMTQ0NjRhNGM0IDEwMDY0NAotLS0gYS9kb2MvcG9zaXgtaGVhZGVycy9zeXNfdW4udGV4 aQorKysgYi9kb2MvcG9zaXgtaGVhZGVycy9zeXNfdW4udGV4aQpAQCAtMTksNyArMTksNyBA QCBUaGlzIGhlYWRlciBmaWxlIGRvZXMgbm90IGRlZmluZSB0aGUgQGNvZGV7c2FfZmFtaWx5 X3R9IHR5cGUgb24gc29tZSBwbGF0Zm9ybXM6CiBDeWd3aW4gMy41LjUsIG1pbmd3LCBNU1ZD IDE0LgogQGl0ZW0KIFRoaXMgaGVhZGVyIGZpbGUgY2F1c2VzIGNvbXBpbGF0aW9uIGVycm9y cyBpbiBDKysgbW9kZSBvbiBzb21lIHBsYXRmb3JtczoKLUBjIGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMyMDI0CitAYyBodHRwczovL3NvdXJj ZXdhcmUub3JnL1BSMzIwMjQKIGdsaWJjIDIuNDEuCiBAZW5kIGl0ZW1pemUKIApkaWZmIC0t Z2l0IGEvZG9jL3JlZ2V4LnRleGkgYi9kb2MvcmVnZXgudGV4aQppbmRleCA5MjViMGRiNjM5 Li5mNzk3YTAxOWRiIDEwMDY0NAotLS0gYS9kb2MvcmVnZXgudGV4aQorKysgYi9kb2MvcmVn ZXgudGV4aQpAQCAtMTE1MCwxMSArMTE1MCwxMSBAQCBwcm9ncmFtcyB0byByZXR1cm4gaW5j b3JyZWN0IGFuc3dlcnMgb3IgZXZlbiBjcmFzaCwgYW5kIGZpeGluZyB0aGVzZQogYnVncyBo YXMgb2Z0ZW4gYmVlbiBsb3ctcHJpb3JpdHk6IGZvciBleGFtcGxlLCBhcyBvZiAyMDIwIHRo ZQogQHVybHtodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhLyxHTlUgQyBsaWJyYXJ5 IGJ1ZyBkYXRhYmFzZX0KIGNvbnRhaW5lZCBiYWNrLXJlZmVyZW5jZSBidWdzCi1AdXJse2h0 dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyLCw1Mn0s Ci1AdXJse2h0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk PTEwODQ0LCwxMDg0NH0sCi1AdXJse2h0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEv c2hvd19idWcuY2dpP2lkPTExMDUzLCwxMTA1M30sCi1AdXJse2h0dHBzOi8vc291cmNld2Fy ZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI0MjY5LCwyNDI2OX0KLWFuZCBAdXJs e2h0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI1MzIy LCwyNTMyMn0sCitAdXJse2h0dHBzOi8vc291cmNld2FyZS5vcmcvUFI1MiwsNTJ9LAorQHVy bHtodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTA4NDQsLDEwODQ0fSwKK0B1cmx7aHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9QUjExMDUzLCwxMTA1M30sCitAdXJse2h0dHBzOi8vc291cmNl d2FyZS5vcmcvUFIyNDI2OSwsMjQyNjl9CithbmQgQHVybHtodHRwczovL3NvdXJjZXdhcmUu b3JnL1BSMjUzMjIsLDI1MzIyfSwKIHdpdGggbGl0dGxlIHNpZ24gb2YgZm9ydGhjb21pbmcg Zml4ZXMuICBMdWNraWx5LAogYmFjay1yZWZlcmVuY2VzIGFyZSByYXJlbHkgdXNlZnVsIGFu ZCBpdCBzaG91bGQgYmUgbGl0dGxlIHRyb3VibGUgdG8KIGF2b2lkIHRoZW0gaW4gcHJhY3Rp Y2FsIGFwcGxpY2F0aW9ucy4KZGlmZiAtLWdpdCBhL2xpYi9hZl9hbGcuYyBiL2xpYi9hZl9h bGcuYwppbmRleCBjZmE5Njk1NGU1Li4yOTQxMGUzZTc3IDEwMDY0NAotLS0gYS9saWIvYWZf YWxnLmMKKysrIGIvbGliL2FmX2FsZy5jCkBAIC0xODksNyArMTg5LDcgQEAgYWZhbGdfc3Ry ZWFtIChGSUxFICpzdHJlYW0sIGNvbnN0IGNoYXIgKmFsZywKICAgICAgICAgICAgIH0KIAog ICAgICAgICAgIC8qIERvbid0IGFzc3VtZSB0aGF0IEVPRiBpcyBzdGlja3kuIFNlZToKLSAg ICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9MTk0NzY+LiAgKi8KKyAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9QUjE5NDc2Pi4gICovCiAgICAgICAgICAgaWYgKGZlb2YgKHN0cmVhbSkpCiAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgIHJlc3VsdCA9IDA7CmRpZmYgLS1naXQgYS9saWIvY29w eS1maWxlLXJhbmdlLmMgYi9saWIvY29weS1maWxlLXJhbmdlLmMKaW5kZXggMjQ2NWE1NTgw Mi4uNzkxMzJkY2RhZiAxMDA2NDQKLS0tIGEvbGliL2NvcHktZmlsZS1yYW5nZS5jCisrKyBi L2xpYi9jb3B5LWZpbGUtcmFuZ2UuYwpAQCAtNzgsNyArNzgsNyBAQCBjb3B5X2ZpbGVfcmFu Z2UgKGludCBpbmZkLCBvZmZfdCAqcGlub2ZmLAogICAgIHsKICMgICBpZiBkZWZpbmVkIF9f R0xJQkNfXyAmJiAhICgyIDwgX19HTElCQ19fICsgKDQzIDw9IF9fR0xJQkNfTUlOT1JfXykp CiAgICAgICAvKiBXb3JrIGFyb3VuZCBnbGliYyBidWcgMzMyNDUKLSAgICAgICAgIDxodHRw czovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMzI0NT4uCisg ICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjMzMjQ1Pi4KICAgICAgICAgIFRo aXMgYnVnIGlzIHByZXNlbnQgaW4gZ2xpYmMgMi40MiAoMjAyNSkgYW5kIGZpeGVkIGluIDIu NDMsCiAgICAgICAgICBzbyB0aGlzIHdvcmthcm91bmQsIGFuZCB0aGUgY29uZmlndXJlLXRp bWUgY2hlY2sgZm9yIGdsaWJjLAogICAgICAgICAgY2FuIGJlIHJlbW92ZWQgb25jZSBnbGli YyAyLjQyIGFuZCBlYXJsaWVyIGlzIG5vIGxvbmdlciBhCmRpZmYgLS1naXQgYS9saWIvZHVw bG9jYWxlLmMgYi9saWIvZHVwbG9jYWxlLmMKaW5kZXggNDdhNjI2ZTFlNi4uZDFiYTNhYTc3 MiAxMDA2NDQKLS0tIGEvbGliL2R1cGxvY2FsZS5jCisrKyBiL2xpYi9kdXBsb2NhbGUuYwpA QCAtMzMsNyArMzMsNyBAQCBkdXBsb2NhbGUgKGxvY2FsZV90IGxvY2FsZSkKIHsKICAgLyog SW1wbGVtZW50IGR1cGxvY2FsZShMQ19HTE9CQUxfTE9DQUxFKSBvbiBwbGF0Zm9ybXMgd2l0 aG91dCBsb2NhbGVfdC4KICAgICAgQWxzbywgd29yayBhcm91bmQgY3Jhc2ggaW4gdGhlIGR1 cGxvY2FsZSBmdW5jdGlvbiBpbiBnbGliYyA8IDIuMTIuCi0gICAgIFNlZSA8aHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA5Njk+LgorICAgICBT ZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMDk2OT4uCiAgICAgIEFsc28sIG9uIEFJ WCA3LjEsIGR1cGxvY2FsZShMQ19HTE9CQUxfTE9DQUxFKSByZXR1cm5zIChsb2NhbGVfdCkw IHdpdGgKICAgICAgZXJybm8gc2V0IHRvIEVJTlZBTC4KICAgICAgQWxzbywgb24gTmV0QlNE IDcuMCwgZHVwbG9jYWxlKExDX0dMT0JBTF9MT0NBTEUpIHJldHVybnMgYSBsb2NhbGUgdGhh dApkaWZmIC0tZ2l0IGEvbGliL2ZjaG1vZGF0LmMgYi9saWIvZmNobW9kYXQuYwppbmRleCA4 ODUzZDdhM2FlLi5lYjgyZTFjYWZiIDEwMDY0NAotLS0gYS9saWIvZmNobW9kYXQuYworKysg Yi9saWIvZmNobW9kYXQuYwpAQCAtOTAsNyArOTAsNyBAQCBmY2htb2RhdCAoaW50IGRpciwg Y2hhciBjb25zdCAqZmlsZSwgbW9kZV90IG1vZGUsIGludCBmbGFncykKICAgICAgIC8qIE9w ZW4gYSBmaWxlIGRlc2NyaXB0b3Igd2l0aCBPX05PRk9MTE9XLCB0byBtYWtlIHN1cmUgd2Ug ZG9uJ3QKICAgICAgICAgIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgaWYgL3Byb2MgaXMgbW91 bnRlZC4gIE9fUEFUSCBpcyB1c2VkIHRvCiAgICAgICAgICBhdm9pZCBhIGZhaWx1cmUgaWYg dGhlIGZpbGUgaXMgbm90IHJlYWRhYmxlLgotICAgICAgICAgQ2YuIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDU3OD4gICovCisgICAgICAg ICBDZi4gPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxNDU3OD4gICovCiAgICAgICBpbnQg ZmQgPSBvcGVuYXQgKGRpciwgZmlsZSwgT19QQVRIIHwgT19OT0ZPTExPVyB8IE9fQ0xPRVhF Qyk7CiAgICAgICBpZiAoZmQgPCAwKQogICAgICAgICByZXR1cm4gZmQ7CmRpZmYgLS1naXQg YS9saWIvZnBlLXRyYXBwaW5nLmggYi9saWIvZnBlLXRyYXBwaW5nLmgKaW5kZXggZTg5NTI3 NTFlZi4uMjVmZTZiZjkyNCAxMDA2NDQKLS0tIGEvbGliL2ZwZS10cmFwcGluZy5oCisrKyBi L2xpYi9mcGUtdHJhcHBpbmcuaApAQCAtMzYsNyArMzYsNyBAQCBzaWdmcGVfb25faW52YWxp ZCAoKQogICAgICBBbHNvLCBwb3NzaWJseSBhIGJ1ZyBpbiBnbGliYy9zeXNkZXBzL202OGsv ZnB1L2ZlZW5hYmx4Y3B0LmM6IGl0IHNldHMKICAgICAgb25seSBiaXQgMTMsIGJ1dCBzaG91 bGQgYmV0dGVyIHNldCBiaXRzIDE1LCAxNCwgMTMgb2YgdGhlIGNvbnRyb2wKICAgICAgcmVn aXN0ZXIgdG9nZXRoZXIuICBTZWUKLSAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVn emlsbGEvc2hvd19idWcuY2dpP2lkPTMwOTkzPi4gICovCisgICAgIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL1BSMzA5OTM+LiAgKi8KICAgaW50IHJldCA9IGZlZW5hYmxlZXhjZXB0IChG RV9JTlZBTElEKTsKICAgaWYgKHJldCA9PSAtMSkKICAgICByZXR1cm4gLTE7CmRpZmYgLS1n aXQgYS9saWIvZnJlYWRpbmcuYyBiL2xpYi9mcmVhZGluZy5jCmluZGV4IDFhNWQwZTBkYWQu LmNmYTBkYmI5ZGEgMTAwNjQ0Ci0tLSBhL2xpYi9mcmVhZGluZy5jCisrKyBiL2xpYi9mcmVh ZGluZy5jCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAic3RkaW8taW1wbC5oIgogCiAv KiBEb24ndCB1c2UgZ2xpYmMncyBfX2ZyZWFkaW5nIGZ1bmN0aW9uIGluIGdsaWJjIDwgMi43 LCBzZWUKLSAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD00MzU5PiAgKi8KKyAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSNDM1OT4gICov CiAjaWYgIShIQVZFX19fRlJFQURJTkcgJiYgKCFkZWZpbmVkIF9fR0xJQkNfXyB8fCBkZWZp bmVkIF9fVUNMSUJDX18gfHwgX19HTElCQ19fID4gMiB8fCAoX19HTElCQ19fID09IDIgJiYg X19HTElCQ19NSU5PUl9fID49IDcpKSkKIAogYm9vbApkaWZmIC0tZ2l0IGEvbGliL2dlbi11 bmktdGFibGVzLmMgYi9saWIvZ2VuLXVuaS10YWJsZXMuYwppbmRleCBhZjZmMzNmMTdlLi4z N2YyNDVkODA1IDEwMDY0NAotLS0gYS9saWIvZ2VuLXVuaS10YWJsZXMuYworKysgYi9saWIv Z2VuLXVuaS10YWJsZXMuYwpAQCAtNjgzMyw4ICs2ODMzLDggQEAgZmlsbF93aWR0aCAoY29u c3QgY2hhciAqd2lkdGhfZmlsZW5hbWUpCiAgICAgIGluIHRoZSBVKzMxMzAuLlUrMzE4RiBi bG9jaywgYW5kIHRoZXNlIGNoYXJhY3RlcnMgYXJlIG1hcHBlZCB0byBsZWdhY3kKICAgICAg Y2hhcmFjdGVyIHNldHMsIGFuZCB0cmFkaXRpb25hbCBKYXBhbmVzZSBsYXlvdXQgbWF0dGVy cyBmb3IgdGhlbS4KICAgICAgMikgZ2xpYmMgZG9lcyB0aGUgc2FtZSB0aGluZywgc2VlCi0g ICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0y MTc1MD4KLSAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcu Y2dpP2lkPTI2MTIwPgorICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjIxNzUwPgor ICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjI2MTIwPgogICovCiAKIHN0YXRpYyBi b29sCmRpZmYgLS1naXQgYS9saWIvZ2V0bG9jYWxlbmFtZV9sLXVuc2FmZS5jIGIvbGliL2dl dGxvY2FsZW5hbWVfbC11bnNhZmUuYwppbmRleCA2NmIyYzc0NzI2Li5lMjczODgyOTRjIDEw MDY0NAotLS0gYS9saWIvZ2V0bG9jYWxlbmFtZV9sLXVuc2FmZS5jCisrKyBiL2xpYi9nZXRs b2NhbGVuYW1lX2wtdW5zYWZlLmMKQEAgLTQ3Niw3ICs0NzYsNyBAQCBnZXRsb2NhbGVuYW1l X2xfdW5zYWZlIChpbnQgY2F0ZWdvcnksIGxvY2FsZV90IGxvY2FsZSkKICNlbGlmIF9fR0xJ QkNfXyA+PSAyICYmICFkZWZpbmVkIF9fVUNMSUJDX18KICAgICAgIC8qIFdvcmsgYXJvdW5k IGFuIGluY29ycmVjdCBkZWZpbml0aW9uIG9mIHRoZSBfTkxfTE9DQUxFX05BTUUgbWFjcm8g aW4KICAgICAgICAgIGdsaWJjIDwgMi4xMi4KLSAgICAgICAgIFNlZSA8aHR0cHM6Ly9zb3Vy Y2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA5Njg+LiAgKi8KKyAgICAg ICAgIFNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjEwOTY4Pi4gICovCiAgICAgICBj b25zdCBjaGFyICpuYW1lID0KICAgICAgICAgbmxfbGFuZ2luZm9fbCAoX05MX0lURU0gKChj YXRlZ29yeSksIF9OTF9JVEVNX0lOREVYICgtMSkpLCBsb2NhbGUpOwogICAgICAgaWYgKG5h bWVbMF0gPT0gJ1wwJykKZGlmZiAtLWdpdCBhL2xpYi9nbHRocmVhZC9sb2NrLmMgYi9saWIv Z2x0aHJlYWQvbG9jay5jCmluZGV4IGRhY2U0ZmRhYjYuLmEyYzUzZGM3ZDYgMTAwNjQ0Ci0t LSBhL2xpYi9nbHRocmVhZC9sb2NrLmMKKysrIGIvbGliL2dsdGhyZWFkL2xvY2suYwpAQCAt MjU1LDcgKzI1NSw3IEBAIGdsdGhyZWFkX3JlY3Vyc2l2ZV9sb2NrX2Rlc3Ryb3kgKGdsX3Jl Y3Vyc2l2ZV9sb2NrX3QgKmxvY2spCiAjICBpZiBkZWZpbmVkIFBUSFJFQURfUldMT0NLX0lO SVRJQUxJWkVSIHx8IGRlZmluZWQgUFRIUkVBRF9SV0xPQ0tfSU5JVElBTElaRVJfTlAKIAog IyAgIGlmICFIQVZFX1BUSFJFQURfUldMT0NLX1JETE9DS19QUkVGRVJfV1JJVEVSCi0gICAg IC8qIGdsaWJjIHdpdGggYnVnIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTEzNzAxICovCisgICAgIC8qIGdsaWJjIHdpdGggYnVnIGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIxMzcwMSAqLwogCiBpbnQKIGdsdGhyZWFkX3J3bG9ja19pbml0 X2Zvcl9nbGliYyAocHRocmVhZF9yd2xvY2tfdCAqbG9jaykKZGlmZiAtLWdpdCBhL2xpYi9n bHRocmVhZC9sb2NrLmggYi9saWIvZ2x0aHJlYWQvbG9jay5oCmluZGV4IGQ2Y2NjMjAyNzEu LjE1NTQxMTVhODggMTAwNjQ0Ci0tLSBhL2xpYi9nbHRocmVhZC9sb2NrLmgKKysrIGIvbGli L2dsdGhyZWFkL2xvY2suaApAQCAtMjM5LDcgKzIzOSw3IEBAIHR5cGVkZWYgcHRocmVhZF9y d2xvY2tfdCBnbF9yd2xvY2tfdDsKICMgICAgZW5kaWYKICMgICAgZGVmaW5lIGdsdGhyZWFk X3J3bG9ja19pbml0KExPQ0spIFwKICAgICAgICAocHRocmVhZF9pbl91c2UgKCkgPyBwdGhy ZWFkX3J3bG9ja19pbml0IChMT0NLLCBOVUxMKSA6IDApCi0jICAgZWxzZSAvKiBnbGliYyB3 aXRoIGJ1ZyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p ZD0xMzcwMSAqLworIyAgIGVsc2UgLyogZ2xpYmMgd2l0aCBidWcgaHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9QUjEzNzAxICovCiAjICAgIGRlZmluZSBnbF9yd2xvY2tfaW5pdGlhbGl6ZXIg XAogICAgICAgIFBUSFJFQURfUldMT0NLX1dSSVRFUl9OT05SRUNVUlNJVkVfSU5JVElBTEla RVJfTlAKICMgICAgZGVmaW5lIGdsdGhyZWFkX3J3bG9ja19pbml0KExPQ0spIFwKZGlmZiAt LWdpdCBhL2xpYi9sY2htb2QuYyBiL2xpYi9sY2htb2QuYwppbmRleCA0MzkxYTRhYTk0Li5h YWJiMTVlMzU5IDEwMDY0NAotLS0gYS9saWIvbGNobW9kLmMKKysrIGIvbGliL2xjaG1vZC5j CkBAIC00Myw3ICs0Myw3IEBAIGxjaG1vZCAoY2hhciBjb25zdCAqZmlsZSwgbW9kZV90IG1v ZGUpCiAgIC8qIE9wZW4gYSBmaWxlIGRlc2NyaXB0b3Igd2l0aCBPX05PRk9MTE9XLCB0byBt YWtlIHN1cmUgd2UgZG9uJ3QKICAgICAgZm9sbG93IHN5bWJvbGljIGxpbmtzLCBpZiAvcHJv YyBpcyBtb3VudGVkLiAgT19QQVRIIGlzIHVzZWQgdG8KICAgICAgYXZvaWQgYSBmYWlsdXJl IGlmIHRoZSBmaWxlIGlzIG5vdCByZWFkYWJsZS4KLSAgICAgQ2YuIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDU3OD4gICovCisgICAgIENm LiA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjE0NTc4PiAgKi8KICAgaW50IGZkID0gb3Bl biAoZmlsZSwgT19QQVRIIHwgT19OT0ZPTExPVyB8IE9fQ0xPRVhFQyk7CiAgIGlmIChmZCA8 IDApCiAgICAgcmV0dXJuIGZkOwpkaWZmIC0tZ2l0IGEvbGliL21idG93Yy1sb2NrLmggYi9s aWIvbWJ0b3djLWxvY2suaAppbmRleCA1MDBmNzRjYzEzLi5kMjU3YWFhOGM4IDEwMDY0NAot LS0gYS9saWIvbWJ0b3djLWxvY2suaAorKysgYi9saWIvbWJ0b3djLWxvY2suaApAQCAtMjMs NyArMjMsNyBAQCBtYnRvd2NfdW5sb2NrZWQgKHdjaGFyX3QgKnB3YywgY29uc3QgY2hhciAq cCwgc2l6ZV90IG0pCiB7CiAgIC8qIFB1dCB0aGUgaGlkZGVuIGludGVybmFsIHN0YXRlIG9m IG1idG93YyBpbnRvIGFuIGluaXRpYWwgc3RhdGUuCiAgICAgIFRoaXMgaXMgbmVlZGVkIGF0 IGxlYXN0IHdpdGggZ2xpYmMsIHVDbGliYywgYW5kIE1TVkMgQ1JULgotICAgICBTZWUgPGh0 dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk2NzQ+LiAg Ki8KKyAgICAgU2VlIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSOTY3ND4uICAqLwogICBt YnRvd2MgKE5VTEwsIE5VTEwsIDApOwogCiAgIHJldHVybiBtYnRvd2MgKHB3YywgcCwgbSk7 CmRpZmYgLS1naXQgYS9saWIvbWQ1LXN0cmVhbS5jIGIvbGliL21kNS1zdHJlYW0uYwppbmRl eCBmZGJmOTdhNjgyLi5hNWQ2YTMxMDlhIDEwMDY0NAotLS0gYS9saWIvbWQ1LXN0cmVhbS5j CisrKyBiL2xpYi9tZDUtc3RyZWFtLmMKQEAgLTg3LDcgKzg3LDcgQEAgbWQ1X3N0cmVhbSAo RklMRSAqc3RyZWFtLCB2b2lkICpyZXNibG9jaykKICAgICAgICAgICAgICBvciB0aGUgZnJl YWQoKSBpbiBhZmFsZ19zdHJlYW0gbWF5IGhhdmUgZ290dGVuIEVPRi4KICAgICAgICAgICAg ICBXZSBuZWVkIHRvIGF2b2lkIGEgc3Vic2VxdWVudCBmcmVhZCgpIGFzIEVPRiBtYXkKICAg ICAgICAgICAgICBub3QgYmUgc3RpY2t5LiAgRm9yIGRldGFpbHMgb2Ygc3VjaCBzeXN0ZW1z LCBzZWU6Ci0gICAgICAgICAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTE5MCAgKi8KKyAgICAgICAgICAgICBodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMTE5MCAgKi8KICAgICAgICAgICBpZiAoZmVvZiAoc3RyZWFtKSkKICAgICAg ICAgICAgIGdvdG8gcHJvY2Vzc19wYXJ0aWFsX2Jsb2NrOwogCmRpZmYgLS1naXQgYS9saWIv bnByb2MuYyBiL2xpYi9ucHJvYy5jCmluZGV4IDgzNDM5YWEwZWIuLmNlY2Y2MGJjNmUgMTAw NjQ0Ci0tLSBhL2xpYi9ucHJvYy5jCisrKyBiL2xpYi9ucHJvYy5jCkBAIC0yNTgsNyArMjU4 LDcgQEAgbnVtX3Byb2Nlc3NvcnNfaWdub3Jpbmdfb21wIChlbnVtIG5wcm9jX3F1ZXJ5IHF1 ZXJ5KQogICAgICB0aGUgL3N5cyBhbmQgL3Byb2MgZmlsZSBzeXN0ZW1zIChzZWUKICAgICAg Z2xpYmMvc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYykuCiAgICAgIElu IHNvbWUgc2l0dWF0aW9ucyB0aGVzZSBmaWxlIHN5c3RlbXMgYXJlIG5vdCBtb3VudGVkLCBh bmQgdGhlIHN5c2NvbmYgY2FsbAotICAgICByZXR1cm5zIDEgb3IgMiAoPGh0dHBzOi8vc291 cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxNTQyPiksCisgICAgIHJl dHVybnMgMSBvciAyICg8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjIxNTQyPiksCiAgICAg IHdoaWNoIGRvZXMgbm90IHJlZmxlY3QgdGhlIHJlYWxpdHkuICAqLwogCiAgIGlmIChxdWVy eSA9PSBOUFJPQ19DVVJSRU5UKQpkaWZmIC0tZ2l0IGEvbGliL3NjaGVkLmluLmggYi9saWIv c2NoZWQuaW4uaAppbmRleCA1YjQwMzRjMzQwLi5jNDEwMzEyOGM4IDEwMDY0NAotLS0gYS9s aWIvc2NoZWQuaW4uaAorKysgYi9saWIvc2NoZWQuaW4uaApAQCAtNDYsNyArNDYsNyBAQAog CiAvKiBHZXQgcGlkX3QuCiAgICBUaGlzIGlzIG5lZWRlZCBvbiBnbGliYyAyLjExIChzZWUK LSAgIGdsaWJjIGJ1ZyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9MTMxOTg+KQorICAgZ2xpYmMgYnVnIDxodHRwczovL3NvdXJjZXdhcmUub3Jn L1BSMTMxOTg+KQogICAgYW5kIE1hYyBPUyBYIDEwLjUuICAqLwogI2luY2x1ZGUgPHN5cy90 eXBlcy5oPgogCmRpZmYgLS1naXQgYS9saWIvc2hhMS1zdHJlYW0uYyBiL2xpYi9zaGExLXN0 cmVhbS5jCmluZGV4IDMyZmFmNDRiZjYuLjhlNzBkYzEwYjIgMTAwNjQ0Ci0tLSBhL2xpYi9z aGExLXN0cmVhbS5jCisrKyBiL2xpYi9zaGExLXN0cmVhbS5jCkBAIC03NSw3ICs3NSw3IEBA IHNoYTFfc3RyZWFtIChGSUxFICpzdHJlYW0sIHZvaWQgKnJlc2Jsb2NrKQogICAgICAgICAg ICAgIG9yIHRoZSBmcmVhZCgpIGluIGFmYWxnX3N0cmVhbSBtYXkgaGF2ZSBnb3R0ZW4gRU9G LgogICAgICAgICAgICAgIFdlIG5lZWQgdG8gYXZvaWQgYSBzdWJzZXF1ZW50IGZyZWFkKCkg YXMgRU9GIG1heQogICAgICAgICAgICAgIG5vdCBiZSBzdGlja3kuICBGb3IgZGV0YWlscyBv ZiBzdWNoIHN5c3RlbXMsIHNlZToKLSAgICAgICAgICAgICBodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMTkwICAqLworICAgICAgICAgICAgIGh0 dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMTkwICAqLwogICAgICAgICAgIGlmIChmZW9mIChz dHJlYW0pKQogICAgICAgICAgICAgZ290byBwcm9jZXNzX3BhcnRpYWxfYmxvY2s7CiAKZGlm ZiAtLWdpdCBhL2xpYi9zaGEyNTYtc3RyZWFtLmMgYi9saWIvc2hhMjU2LXN0cmVhbS5jCmlu ZGV4IGUyNjY4MDc4NzcuLjBhNTg3ZTg4MWQgMTAwNjQ0Ci0tLSBhL2xpYi9zaGEyNTYtc3Ry ZWFtLmMKKysrIGIvbGliL3NoYTI1Ni1zdHJlYW0uYwpAQCAtNzcsNyArNzcsNyBAQCBzaGF4 eHhfc3RyZWFtIChGSUxFICpzdHJlYW0sIGNoYXIgY29uc3QgKmFsZywgdm9pZCAqcmVzYmxv Y2ssCiAgICAgICAgICAgICAgb3IgdGhlIGZyZWFkKCkgaW4gYWZhbGdfc3RyZWFtIG1heSBo YXZlIGdvdHRlbiBFT0YuCiAgICAgICAgICAgICAgV2UgbmVlZCB0byBhdm9pZCBhIHN1YnNl cXVlbnQgZnJlYWQoKSBhcyBFT0YgbWF5CiAgICAgICAgICAgICAgbm90IGJlIHN0aWNreS4g IEZvciBkZXRhaWxzIG9mIHN1Y2ggc3lzdGVtcywgc2VlOgotICAgICAgICAgICAgIGh0dHBz Oi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExOTAgICovCisg ICAgICAgICAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjExOTAgICovCiAgICAgICAg ICAgaWYgKGZlb2YgKHN0cmVhbSkpCiAgICAgICAgICAgICBnb3RvIHByb2Nlc3NfcGFydGlh bF9ibG9jazsKIApkaWZmIC0tZ2l0IGEvbGliL3NoYTUxMi1zdHJlYW0uYyBiL2xpYi9zaGE1 MTItc3RyZWFtLmMKaW5kZXggMjQ1OGIzMzlhMS4uNzkxZWU2ZThhYyAxMDA2NDQKLS0tIGEv bGliL3NoYTUxMi1zdHJlYW0uYworKysgYi9saWIvc2hhNTEyLXN0cmVhbS5jCkBAIC03Nyw3 ICs3Nyw3IEBAIHNoYXh4eF9zdHJlYW0gKEZJTEUgKnN0cmVhbSwgY2hhciBjb25zdCAqYWxn LCB2b2lkICpyZXNibG9jaywKICAgICAgICAgICAgICBvciB0aGUgZnJlYWQoKSBpbiBhZmFs Z19zdHJlYW0gbWF5IGhhdmUgZ290dGVuIEVPRi4KICAgICAgICAgICAgICBXZSBuZWVkIHRv IGF2b2lkIGEgc3Vic2VxdWVudCBmcmVhZCgpIGFzIEVPRiBtYXkKICAgICAgICAgICAgICBu b3QgYmUgc3RpY2t5LiAgRm9yIGRldGFpbHMgb2Ygc3VjaCBzeXN0ZW1zLCBzZWU6Ci0gICAg ICAgICAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/ aWQ9MTE5MCAgKi8KKyAgICAgICAgICAgICBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTE5 MCAgKi8KICAgICAgICAgICBpZiAoZmVvZiAoc3RyZWFtKSkKICAgICAgICAgICAgIGdvdG8g cHJvY2Vzc19wYXJ0aWFsX2Jsb2NrOwogCmRpZmYgLS1naXQgYS9saWIvc3RkaW8uaW4uaCBi L2xpYi9zdGRpby5pbi5oCmluZGV4IGU4MDg2MjEyNWQuLmU1MDZlMzA5OTEgMTAwNjQ0Ci0t LSBhL2xpYi9zdGRpby5pbi5oCisrKyBiL2xpYi9zdGRpby5pbi5oCkBAIC05NDUsNyArOTQ1 LDcgQEAgX0dMX0NYWEFMSUFTX1NZUyAoZndyaXRlLCBzaXplX3QsCiAgICAgICAgICAgICAg ICAgICAgRklMRSAqcmVzdHJpY3Qgc3RyZWFtKSk7CiAKIC8qIFdvcmsgYXJvdW5kIGJ1ZyAx MTk1OSB3aGVuIGZvcnRpZnlpbmcgZ2xpYmMgMi40IHRocm91Z2ggMi4xNQotICAgPGh0dHBz Oi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExOTU5PiwKKyAg IDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTE5NTk+LAogICAgd2hpY2ggc29tZXRpbWVz IGNhdXNlcyBhbiB1bndhbnRlZCBkaWFnbm9zdGljIGZvciBmd3JpdGUgY2FsbHMuCiAgICBU aGlzIGFmZmVjdHMgb25seSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBhdHRyaWJ1dGVzIHVuZGVy IGNlcnRhaW4KICAgIHZlcnNpb25zIG9mIGdjYyBhbmQgY2xhbmcsIGFuZCBpcyBub3QgbmVl ZGVkIGZvciBDKysuICAqLwpkaWZmIC0tZ2l0IGEvbGliL3N0cmZtb25fbC5jIGIvbGliL3N0 cmZtb25fbC5jCmluZGV4IDJlMWIwN2RiMjYuLjYzZjE0YWVhNzUgMTAwNjQ0Ci0tLSBhL2xp Yi9zdHJmbW9uX2wuYworKysgYi9saWIvc3RyZm1vbl9sLmMKQEAgLTEyMCw3ICsxMjAsNyBA QCBzc2l6ZV90CiBycGxfc3RyZm1vbl9sIChjaGFyICpzLCBzaXplX3QgbWF4c2l6ZSwgbG9j YWxlX3QgbG9jYWxlLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKIHsKICAgLyogV29yayBh cm91bmQgZ2xpYmMgMi4yMyBidWcKLSAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVn emlsbGEvc2hvd19idWcuY2dpP2lkPTE5NjMzPi4gICovCisgICAgIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL1BSMTk2MzM+LiAgKi8KICAgdmFfbGlzdCBhcmdwdHI7CiAgIGxvY2FsZV90 IG9yaWdfbG9jYWxlOwogICBkaXJlY3RpdmVzX3QgZGlyZWN0aXZlczsKZGlmZiAtLWdpdCBh L2xpYi91bml3aWR0aC93aWR0aC5jIGIvbGliL3VuaXdpZHRoL3dpZHRoLmMKaW5kZXggYzk5 YTc0Y2IyMS4uNWFkYTg4ZDllNiAxMDA2NDQKLS0tIGEvbGliL3VuaXdpZHRoL3dpZHRoLmMK KysrIGIvbGliL3VuaXdpZHRoL3dpZHRoLmMKQEAgLTQyLDggKzQyLDggQEAKICAgICAgaW4g dGhlIFUrMzEzMC4uVSszMThGIGJsb2NrLCBhbmQgdGhlc2UgY2hhcmFjdGVycyBhcmUgbWFw cGVkIHRvIGxlZ2FjeQogICAgICBjaGFyYWN0ZXIgc2V0cywgYW5kIHRyYWRpdGlvbmFsIEph cGFuZXNlIGxheW91dCBtYXR0ZXJzIGZvciB0aGVtLgogICAgICAyKSBnbGliYyBkb2VzIHRo ZSBzYW1lIHRoaW5nLCBzZWUKLSAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTIxNzUwPgotICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjYxMjA+CisgICAgIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL1BSMjE3NTA+CisgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMjYx MjA+CiAgKi8KICNpbmNsdWRlICJ1bml3aWR0aC93aWR0aDAuaCIKIApkaWZmIC0tZ2l0IGEv bGliL3Zhc25wcmludGYuYyBiL2xpYi92YXNucHJpbnRmLmMKaW5kZXggM2U0MjFiODdlMi4u OWM2ODY2MTIwNCAxMDA2NDQKLS0tIGEvbGliL3Zhc25wcmludGYuYworKysgYi9saWIvdmFz bnByaW50Zi5jCkBAIC03ODA3LDkgKzc4MDcsOSBAQCBWQVNOUFJJTlRGIChEQ0hBUl9UICpy ZXN1bHRidWYsIHNpemVfdCAqbGVuZ3RocCwKICAgICAgICAgICAgICAgICAgICAgICAgIC8q IGdsaWJjIHByZWZlcnMgdG8gY29tcGFyZSB0aGUgd2lkdGggYWdhaW5zdCB0aGUgbnVtYmVy CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBjaGFyYWN0ZXJzIGFzIHdlbGwsIGJ1 dCBvbmx5IGZvciBudW1lcmljIGNvbnZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNwZWNpZmllcnMuICBTZWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDxodHRw czovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yODk0Mz4KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3pp bGxhL3Nob3dfYnVnLmNnaT9pZD0zMDg4Mz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg IDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMTU0 Mj4gICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9QUjI4OTQzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgPGh0dHBzOi8vc291 cmNld2FyZS5vcmcvUFIzMDg4Mz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDxodHRw czovL3NvdXJjZXdhcmUub3JnL1BSMzE1NDI+ICAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgc3dpdGNoIChkcC0+Y29udmVyc2lvbikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdkJzogY2FzZSAnaSc6IGNhc2Ug J3UnOgpkaWZmIC0tZ2l0IGEvbTQvZHVwbG9jYWxlLm00IGIvbTQvZHVwbG9jYWxlLm00Cmlu ZGV4IGRiYTQxMmIwZjcuLjI2ZjM3ZmU2YzAgMTAwNjQ0Ci0tLSBhL200L2R1cGxvY2FsZS5t NAorKysgYi9tNC9kdXBsb2NhbGUubTQKQEAgLTE0LDcgKzE0LDcgQEAgQUNfREVGVU4oW2ds X0ZVTkNfRFVQTE9DQUxFXSwKICAgZ2xfQ0hFQ0tfRlVOQ1NfQU5EUk9JRChbZHVwbG9jYWxl XSwgW1sjaW5jbHVkZSA8bG9jYWxlLmg+XV0pCiAgIGlmIHRlc3QgJGFjX2N2X2Z1bmNfZHVw bG9jYWxlID0geWVzOyB0aGVuCiAgICAgZG5sIENoZWNrIGFnYWluc3QgZ2xpYmMgYnVnIHdo ZXJlIGR1cGxvY2FsZSBjcmFzaGVzLgotICAgIGRubCBTZWUgPGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEwOTY5Pi4KKyAgICBkbmwgU2VlIDxo dHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTA5Njk+LgogICAgIGRubCBBbHNvLCBvbiBBSVgg Ny4xLCBkdXBsb2NhbGUoTENfR0xPQkFMX0xPQ0FMRSkgcmV0dXJucyAobG9jYWxlX3QpMCB3 aXRoCiAgICAgZG5sIGVycm5vIHNldCB0byBFSU5WQUwuCiAgICAgZG5sIEFsc28sIG9uIE5l dEJTRCA3LjAsIGR1cGxvY2FsZShMQ19HTE9CQUxfTE9DQUxFKSByZXR1cm5zIGEgbG9jYWxl IHRoYXQKZGlmZiAtLWdpdCBhL200L2ZlbnYtZW52aXJvbm1lbnQubTQgYi9tNC9mZW52LWVu dmlyb25tZW50Lm00CmluZGV4IGU1ZjA4YmUyY2UuLmMzNWEzMzcyZDIgMTAwNjQ0Ci0tLSBh L200L2ZlbnYtZW52aXJvbm1lbnQubTQKKysrIGIvbTQvZmVudi1lbnZpcm9ubWVudC5tNApA QCAtMTQ1LDcgKzE0NSw3IEBAIEFDX0RFRlVOKFtnbF9GRU5WX0VOVklST05NRU5UXSwKICAg ICAgICopIFJFUExBQ0VfRkVIT0xERVhDRVBUPTEgOzsKICAgICBlc2FjCiAgICAgZG5sIFRo ZSBmZWdldGVudiBmdW5jdGlvbiBkb2VzIG5vdCB3b3JrIG9uIGdsaWJjIDIuMTkveDg2XzY0 Ci0gICAgZG5sIChzZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTE2MTk4PikKKyAgICBkbmwgKHNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9QUjE2MTk4PikKICAgICBkbmwgYW5kIE1hYyBPUyBYIDEwLjUve2kzODYseDg2XzY0fS4K ICAgICBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBmZWdldGVudiB3b3Jrc10sCiAgICAgICBb Z2xfY3ZfZnVuY19mZWdldGVudl93b3Jrc10sCkBAIC0zMDEsOSArMzAxLDkgQEAgQUNfREVG VU4oW2dsX0ZFTlZfRU5WSVJPTk1FTlRdLAogICAgICAgKikgUkVQTEFDRV9GRVNFVEVOVj0x IDs7CiAgICAgZXNhYwogICAgIGRubCBUaGUgZmV1cGRhdGVlbnYgZnVuY3Rpb24gZG9lcyBu b3Qgd29yayBvbiBnbGliYyAyLjM3L3Jpc2N2NjQKLSAgICBkbmwgKHNlZSA8aHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzEwMjI+KQorICAgIGRu bCAoc2VlIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzEwMjI+KQogICAgIGRubCBhbmQg b24gZ2xpYmMgMi4zNy9ocHBhCi0gICAgZG5sIChzZWUgPGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMxMDIzPikKKyAgICBkbmwgKHNlZSA8aHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjMxMDIzPikKICAgICBkbmwgYW5kIG9uIGdsaWJjIDIu NS97aTM4Nix4ODZfNjQsaWE2NH0gKHNlZQogICAgIGRubCA8aHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9naXQvP3A9Z2xpYmMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWE4Yzc5YzQwODhlOGMwNGU0 Mjk3OTM2ZWZhMGRlZTZjOGU2ZTk3NGQ+KQogICAgIGRubCBhbmQgb24gTWFjIE9TIFggMTAu NS97aTM4Nix4ODZfNjR9ICh3aGVyZSBpdCBmb3JnZXRzIGFib3V0IHRoZSBjdXJyZW50bHkK ZGlmZiAtLWdpdCBhL200L2ZubWF0Y2gubTQgYi9tNC9mbm1hdGNoLm00CmluZGV4IDQ4ZjZj MDdhZWQuLjdlNmEwMDA3NjcgMTAwNjQ0Ci0tLSBhL200L2ZubWF0Y2gubTQKKysrIGIvbTQv Zm5tYXRjaC5tNApAQCAtODEsNyArODEsNyBAQCBBQ19ERUZVTihbZ2xfRlVOQ19GTk1BVENI X1BPU0lYXSwKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgaWYg KCFuICgiKngiLCAiLngiLCBGTk1fUEVSSU9EKSkKICAgICAgICAgICAgICAgICByZXR1cm4g MTsKLSAgICAgICAgICAgICAgLyogZ2xpYmMgYnVnIDxodHRwczovL3NvdXJjZXdhcmUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zNjE+CisgICAgICAgICAgICAgIC8qIGdsaWJj IGJ1ZyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjM2MT4KICAgICAgICAgICAgICAgICAg ZXhpc3RzIGluIGdsaWJjIDIuMy4zLCBmaXhlZCBpbiBnbGliYyAyLjUuICAqLwogICAgICAg ICAgICAgICBpZiAoIXkgKEFwYXQsICJcXFxcIiwgMCkpCiAgICAgICAgICAgICAgICAgcmVz dWx0IHw9IDI7CkBAIC0xMDcsMTQgKzEwNywxNCBAQCBBQ19ERUZVTihbZ2xfRlVOQ19GTk1B VENIX1BPU0lYXSwKICAgICAgICAgICAgICAgICByZXN1bHQgfD0gMjsKICAgICAgICAgICAg ICAgaWYgKCEobiAoYXBhdCwgYnMwMSwgMCkgPT0gKCdhJyA8ICdcXFxcJykpKQogICAgICAg ICAgICAgICAgIHJlc3VsdCB8PSAyOwotICAgICAgICAgICAgICAvKiBnbGliYyBidWcgPGh0 dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEyMzc4Pgor ICAgICAgICAgICAgICAvKiBnbGliYyBidWcgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIx MjM3OD4KICAgICAgICAgICAgICAgICAgZXhpc3RzIGluIGdsaWJjIDIuMTIsIGZpeGVkIGlu IGdsaWJjIDIuMTMuICAqLwogICAgICAgICAgICAgICBpZiAoIXkgKCJbL2IiLCAiWy9iIiwg MCkpIC8qIl1dIiovCiAgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDQ7Ci0gICAgICAgICAg ICAgIC8qIGdsaWJjIGJ1ZyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MTcwNjI+CisgICAgICAgICAgICAgIC8qIGdsaWJjIGJ1ZyA8aHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9QUjE3MDYyPgogICAgICAgICAgICAgICAgICBpcyBmaXhlZCBp biBnbGliYyAyLjIwLgotICAgICAgICAgICAgICAgICBnbGliYyBidWdzIDxodHRwczovL3Nv dXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xODAzMj4KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTgwMzY+CisgICAgICAgICAgICAgICAgIGdsaWJjIGJ1Z3MgPGh0 dHBzOi8vc291cmNld2FyZS5vcmcvUFIxODAzMj4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjE4MDM2PgogICAgICAgICAgICAgICAg ICBhcmUgZml4ZWQgaW4gZ2xpYmMgMi4yMi4KICAgICAgICAgICAgICAgICAgVGhlc2UgYnVn cyBhcmUgbm90IGVhc3kgdG8gdGVzdCBmb3IgcmVsaWFibHkgKHdpdGhvdXQgbW1hcCksCiAg ICAgICAgICAgICAgICAgIHRoZXJlZm9yZSB0ZXN0IHRoZSBnbGliYyB2ZXJzaW9uLiAgKi8K ZGlmZiAtLWdpdCBhL200L2ZyZWUubTQgYi9tNC9mcmVlLm00CmluZGV4IDQ4NWQ4MjQzM2Uu LmJmMDNhN2QxOTAgMTAwNjQ0Ci0tLSBhL200L2ZyZWUubTQKKysrIGIvbTQvZnJlZS5tNApA QCAtMTQsMTAgKzE0LDEwIEBAIEFDX0RFRlVOKFtnbF9GVU5DX0ZSRUVdLAogCiAgIGRubCBJ biB0aGUgbmV4dCByZWxlYXNlIG9mIFBPU0lYLCBmcmVlIG11c3QgcHJlc2VydmUgZXJybm8u CiAgIGRubCBodHRwczovL3d3dy5hdXN0aW5ncm91cGJ1Z3MubmV0L3ZpZXcucGhwP2lkPTM4 NQotICBkbmwgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/ aWQ9MTc5MjQKKyAgZG5sIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxNzkyNAogICBkbmwg U28gZmFyLCB3ZSBrbm93IG9mIHRocmVlIHBsYXRmb3JtcyB0aGF0IGRvIHRoaXM6CiAgIGRu bCAqIGdsaWJjID49IDIuMzMsIHRoYW5rcyB0byB0aGUgZml4IGZvciB0aGlzIGJ1ZzoKLSAg ZG5sICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk PTE3OTI0PgorICBkbmwgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjE3OTI0PgogICBk bmwgKiBPcGVuQlNEID49IDQuNSwgdGhhbmtzIHRvIHRoaXMgY29tbWl0OgogICBkbmwgICA8 aHR0cHM6Ly9jdnN3ZWIub3BlbmJzZC5vcmcvY2dpLWJpbi9jdnN3ZWIvc3JjL2xpYi9saWJj L3N0ZGxpYi9tYWxsb2MuYy5kaWZmP3IxPTEuMTAwJnIyPTEuMTAxJmY9aD4KICAgZG5sICog U29sYXJpcywgYmVjYXVzZSBpdHMgbWFsbG9jKCkgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQg b24gYnJrKCksCmRpZmYgLS1naXQgYS9tNC9nZXRwYXlsb2FkLm00IGIvbTQvZ2V0cGF5bG9h ZC5tNAppbmRleCBiYTEzNThiMDljLi5iNDAzNzc1ODEwIDEwMDY0NAotLS0gYS9tNC9nZXRw YXlsb2FkLm00CisrKyBiL200L2dldHBheWxvYWQubTQKQEAgLTE4LDcgKzE4LDcgQEAgQUNf REVGVU4oW2dsX0ZVTkNfR0VUUEFZTE9BREZdLAogICAgIEhBVkVfR0VUUEFZTE9BREY9MAog ICBlbHNlCiAgICAgZG5sIGdsaWJjIHZlcnNpb25zIDwgMi4zMiByZXR1cm4gYSB3cm9uZyB2 YWx1ZSwKLSAgICBkbmwgc2VlIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3No b3dfYnVnLmNnaT9pZD0yNjA3Mz4uCisgICAgZG5sIHNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9QUjI2MDczPi4KICAgICBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBnZXRwYXlsb2Fk ZiB3b3Jrc10sCiAgICAgICBbZ2xfY3ZfZnVuY19nZXRwYXlsb2FkZl93b3Jrc10sCiAgICAg ICBbCkBAIC04MCw3ICs4MCw3IEBAIEFDX0RFRlVOX09OQ0UoW2dsX0ZVTkNfR0VUUEFZTE9B RF0sCiAgICAgSEFWRV9HRVRQQVlMT0FEPTAKICAgZWxzZQogICAgIGRubCBnbGliYyB2ZXJz aW9ucyA8IDIuMzIgcmV0dXJuIGEgd3JvbmcgdmFsdWUsCi0gICAgZG5sIHNlZSA8aHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjYwNzM+LgorICAg IGRubCBzZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyNjA3Mz4uCiAgICAgQUNfQ0FD SEVfQ0hFQ0soW3doZXRoZXIgZ2V0cGF5bG9hZCB3b3Jrc10sCiAgICAgICBbZ2xfY3ZfZnVu Y19nZXRwYXlsb2FkX3dvcmtzXSwKICAgICAgIFsKQEAgLTE0Myw3ICsxNDMsNyBAQCBBQ19E RUZVTihbZ2xfRlVOQ19HRVRQQVlMT0FETF0sCiAgICAgSEFWRV9HRVRQQVlMT0FETD0wCiAg IGVsc2UKICAgICBkbmwgZ2xpYmMgdmVyc2lvbnMgPCAyLjMyIHJldHVybiBhIHdyb25nIHZh bHVlLAotICAgIGRubCBzZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTI2MDczPi4KKyAgICBkbmwgc2VlIDxodHRwczovL3NvdXJjZXdhcmUu b3JnL1BSMjYwNzM+LgogICAgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIGdldHBheWxvYWRs IHdvcmtzXSwKICAgICAgIFtnbF9jdl9mdW5jX2dldHBheWxvYWRsX3dvcmtzXSwKICAgICAg IFsKZGlmZiAtLWdpdCBhL200L21icnRvd2MubTQgYi9tNC9tYnJ0b3djLm00CmluZGV4IGNj MDlhNWZiNWIuLjM2NDI5NWZlOTcgMTAwNjQ0Ci0tLSBhL200L21icnRvd2MubTQKKysrIGIv bTQvbWJydG93Yy5tNApAQCAtNzE2LDcgKzcxNiw3IEBAIEFDX0RFRlVOKFtnbF9NQlJUT1dD X0VNUFRZX0lOUFVUXSwKIGRubCBUZXN0IHdoZXRoZXIgbWJydG93YyByZXBvcnRzIGVuY29k aW5nIGVycm9ycyBpbiB0aGUgQyBsb2NhbGUuCiBkbmwgQWx0aG91Z2ggUE9TSVggd2FzIG5l dmVyIGludGVuZGVkIHRvIGFsbG93IHRoaXMsIHRoZSBHTlUgQyBMaWJyYXJ5CiBkbmwgYW5k IG90aGVyIGltcGxlbWVudGF0aW9ucyBkbyBpdC4gIFNlZToKLWRubCBodHRwczovL3NvdXJj ZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xOTkzMgorZG5sIGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIxOTkzMgogZG5sIFBPU0lYIGhhcyBub3cgY2xhcmlmaWVkIGl0 OgogZG5sIDxodHRwczovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzk2OTk5MTk3 OTkvZnVuY3Rpb25zL21icnRvd2MuaHRtbD4KIGRubCBzYXlzOiAiSW4gdGhlIFBPU0lYIGxv Y2FsZSBhbiBbRUlMU0VRXSBlcnJvciBjYW5ub3Qgb2NjdXIgc2luY2UgYWxsIGJ5dGUKZGlm ZiAtLWdpdCBhL200L21lbWNoci5tNCBiL200L21lbWNoci5tNAppbmRleCAxYzJlY2YxZGQ0 Li5kNWJjZTM5MzVjIDEwMDY0NAotLS0gYS9tNC9tZW1jaHIubTQKKysrIGIvbTQvbWVtY2hy Lm00CkBAIC0yMSw3ICsyMSw3IEBAIEFDX0RFRlVOX09OQ0UoW2dsX0ZVTkNfTUVNQ0hSXSwK ICAgIyAgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NDk5 Njg5CiAgICMgbWVtY2hyIHNob3VsZCBub3QgZGVyZWZlcmVuY2Ugb3ZlcmVzdGltYXRlZCBs ZW5ndGggYWZ0ZXIgYSBtYXRjaAogICAjICAgaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dp LWJpbi9idWdyZXBvcnQuY2dpP2J1Zz01MjE3MzcKLSAgIyAgIGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEwMTYyCisgICMgICBodHRwczovL3Nv dXJjZXdhcmUub3JnL1BSMTAxNjIKICAgIyBtZW1jaHIgc2hvdWxkIGNhc3QgdGhlIHNlY29u ZCBhcmd1bWVudCB0byAndW5zaWduZWQgY2hhcicuCiAgICMgICBUaGlzIGJ1ZyBleGlzdHMg aW4gQW5kcm9pZCA0LjMuCiAgICMgQXNzdW1lIHRoYXQgbWVtY2hyIHdvcmtzIG9uIHBsYXRm b3JtcyB0aGF0IGxhY2sgbXByb3RlY3QuCmRpZmYgLS1naXQgYS9tNC9tZW1tZW0ubTQgYi9t NC9tZW1tZW0ubTQKaW5kZXggY2U1Yjg1OTkwZS4uZTk0MGY4MjczZiAxMDA2NDQKLS0tIGEv bTQvbWVtbWVtLm00CisrKyBiL200L21lbW1lbS5tNApAQCAtMjMsNyArMjMsNyBAQCBBQ19E RUZVTihbZ2xfRlVOQ19NRU1NRU1fU0lNUExFXSwKICAgaWYgdGVzdCAkYWNfY3ZfaGF2ZV9k ZWNsX21lbW1lbSA9IG5vOyB0aGVuCiAgICAgSEFWRV9ERUNMX01FTU1FTT0wCiAgIGVsc2UK LSAgICBkbmwgRGV0ZWN0IGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTEyMDkyLgorICAgIGRubCBEZXRlY3QgaHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9QUjEyMDkyLgogICAgIGRubCBBbHNvIGNoZWNrIHRoYXQgd2UgaGFuZGxlIGVtcHR5IG5l ZWRsZXMgY29ycmVjdGx5LgogICAgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIG1lbW1lbSB3 b3Jrc10sCiAgICAgICBbZ2xfY3ZfZnVuY19tZW1tZW1fd29ya3NfYWx3YXlzXSwKZGlmZiAt LWdpdCBhL200L3ByaW50Zi5tNCBiL200L3ByaW50Zi5tNAppbmRleCA0NjE5YTQwMjUyLi5k NDhiODkyMjk0IDEwMDY0NAotLS0gYS9tNC9wcmludGYubTQKKysrIGIvbTQvcHJpbnRmLm00 CkBAIC02NTksNyArNjU5LDcgQEAgaW50IG1haW4gKCkKICAgICAgICAgICAmJiBzdHJjbXAg KGJ1ZiwgIjB4OC4wcC0yIikgIT0gMCkpCiAgICAgcmVzdWx0IHw9IDE2OwogICAvKiBUaGlz IGNhdGNoZXMgdGhlIHNhbWUgTWFjIE9TIFggMTAuMy45IChEYXJ3aW4gNy45KSBidWcgYW5k IGFsc28gYQotICAgICBnbGliYyAyLjQgYnVnIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1 Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yOTA4PgorICAgICBnbGliYyAyLjQgYnVnIDxodHRw czovL3NvdXJjZXdhcmUub3JnL1BSMjkwOD4KICAgICAgYW5kIGEgRnJlZUJTRCA2LjQsIE5l dEJTRCAxMC4wIGJ1Zy4gICovCiAgIGlmIChzcHJpbnRmIChidWYsICIlLjFMYSIsIDEuOTk5 TCkgPCAwCiAgICAgICB8fCAoc3RyY21wIChidWYsICIweDEuMHArMSIpICE9IDAKZGlmZiAt LWdpdCBhL200L3B0aHJlYWRfcndsb2NrX3JkbG9jay5tNCBiL200L3B0aHJlYWRfcndsb2Nr X3JkbG9jay5tNAppbmRleCBhZWM5ZjA3NmQ0Li4yNjBiYzI4NzAyIDEwMDY0NAotLS0gYS9t NC9wdGhyZWFkX3J3bG9ja19yZGxvY2subTQKKysrIGIvbTQvcHRocmVhZF9yd2xvY2tfcmRs b2NrLm00CkBAIC0zMiw3ICszMiw3IEBAIGRubCBodHRwczovL3B1YnMub3Blbmdyb3VwLm9y Zy9vbmxpbmVwdWJzLzk2OTk5MTk3OTkvZnVuY3Rpb25zL3B0aHJlYWRfcndsb2NrX3JkCiBk bmwgYnV0IHRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZ3VhcmFudGVlIHJlZ2FyZGxlc3Mgb2Yg VFBTIGFuZCByZWdhcmRsZXNzIG9mCiBkbmwgc2NoZWR1bGluZyBwb2xpY3kuCiBkbmwgR2xp YmMgZG9lcyBub3QgcHJvdmlkZSB0aGlzIGd1YXJhbnRlZSAoYW5kIG5ldmVyIHdpbGwgb24g TGludXgpLCBzZWUKLWRubCBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0xMzcwMQorZG5sIGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMzcwMQog ZG5sIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTQxMDA1 MgogQUNfREVGVU4oW2dsX1BUSFJFQURfUldMT0NLX1JETE9DS19QUkVGRVJfV1JJVEVSXSwK IFsKZGlmZiAtLWdpdCBhL200L3N0cmNhc2VzdHIubTQgYi9tNC9zdHJjYXNlc3RyLm00Cmlu ZGV4IGViMjg2MmYxYWEuLmIxY2Q5N2Y2ZTYgMTAwNjQ0Ci0tLSBhL200L3N0cmNhc2VzdHIu bTQKKysrIGIvbTQvc3RyY2FzZXN0ci5tNApAQCAtMjIsOCArMjIsOCBAQCBBQ19ERUZVTihb Z2xfRlVOQ19TVFJDQVNFU1RSX1NJTVBMRV0sCiAgICAgaWYgdGVzdCAkUkVQTEFDRV9NRU1D SFIgPSAxOyB0aGVuCiAgICAgICBSRVBMQUNFX1NUUkNBU0VTVFI9MQogICAgIGVsc2UKLSAg ICAgIGRubCBEZXRlY3QgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9MTIwOTIKLSAgICAgIGRubCBhbmQgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjM2MzcuCisgICAgICBkbmwgRGV0ZWN0IGh0dHBz Oi8vc291cmNld2FyZS5vcmcvUFIxMjA5MgorICAgICAgZG5sIGFuZCBodHRwczovL3NvdXJj ZXdhcmUub3JnL1BSMjM2MzcuCiAgICAgICBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBzdHJj YXNlc3RyIHdvcmtzXSwKICAgICAgICAgW2dsX2N2X2Z1bmNfc3RyY2FzZXN0cl93b3Jrc19h bHdheXNdLAogICAgICAgICBbQUNfUlVOX0lGRUxTRSgKZGlmZiAtLWdpdCBhL200L3N0cmVy cm9ybmFtZV9ucC5tNCBiL200L3N0cmVycm9ybmFtZV9ucC5tNAppbmRleCA2MWUxMWYwZWM0 Li4zYjdmMmE3Mjg5IDEwMDY0NAotLS0gYS9tNC9zdHJlcnJvcm5hbWVfbnAubTQKKysrIGIv bTQvc3RyZXJyb3JuYW1lX25wLm00CkBAIC0zOCwxMyArMzgsMTMgQEAgQUNfREVGVU4oW2ds X0NIRUNLX1NUUkVSUk9STkFNRV9OUF0sCiAgIGlmIHRlc3QgJGFjX2N2X2Z1bmNfc3RyZXJy b3JuYW1lX25wID0geWVzOyB0aGVuCiAgICAgZG5sIEluIGdsaWJjIDIuMzIsIHN0cmVycm9y bmFtZV9ucCByZXR1cm5zIEVuZ2xpc2ggZXJyb3IgZGVzY3JpcHRpb25zLCBub3QKICAgICBk bmwgZXJyb3IgbmFtZXMuCi0gICAgZG5sIFNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjY1NTU+LgorICAgIGRubCBTZWUgPGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIyNjU1NT4uCiAgICAgZG5sIEluIGdsaWJjIDIuMzYsIHN0cmVy cm9ybmFtZV9ucCByZXR1cm5zIE5VTEwgZm9yIEVERUFETE9DSyBvbiBwb3dlcnBjIGFuZAog ICAgIGRubCBzcGFyYyBwbGF0Zm9ybXMuCi0gICAgZG5sIFNlZSA8aHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mjk1NDU+LgorICAgIGRubCBTZWUg PGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyOTU0NT4uCiAgICAgZG5sIEluIGdsaWJjIDIu MzcsIHN0cmVycm9ybmFtZV9ucCByZXR1cm5zIE5VTEwgZm9yIEVOT1NZTSBhbmQKICAgICBk bmwgRVJFTU9URVJFTEVBU0Ugb24gaHBwYSBwbGF0Zm9ybXMuCi0gICAgZG5sIFNlZSA8aHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzEwODA+Lgor ICAgIGRubCBTZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMTA4MD4uCiAgICAgZG5s IEluIFNvbGFyaXMgMTEgT21uaU9TLCBzdHJlcnJvcm5hbWVfbnAgcmV0dXJucyBOVUxMIGZv ciBFUkVTVEFSVAogICAgIGRubCBhbmQgRVNUUlBJUEUuCiAgICAgZG5sIHNlZSA8aHR0cHM6 Ly93d3cuaWxsdW1vcy5vcmcvaXNzdWVzLzE3MTM0Pi4KZGlmZiAtLWdpdCBhL200L3N0cmZt b25fbC5tNCBiL200L3N0cmZtb25fbC5tNAppbmRleCBlYmEwYTJjMDBhLi5lMjFmZDIxY2U3 IDEwMDY0NAotLS0gYS9tNC9zdHJmbW9uX2wubTQKKysrIGIvbTQvc3RyZm1vbl9sLm00CkBA IC0yMCw3ICsyMCw3IEBAIEFDX0RFRlVOKFtnbF9GVU5DX1NUUkZNT05fTF0sCiAKICAgQUNf Q0hFQ0tfRlVOQ1NfT05DRShbc3RyZm1vbl9sXSkKICAgaWYgdGVzdCAkYWNfY3ZfZnVuY19z dHJmbW9uX2wgPSB5ZXM7IHRoZW4KLSAgICBkbmwgVGVzdCBmb3IgYnVnIDxodHRwczovL3Nv dXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xOTYzMz4KKyAgICBkbmwg VGVzdCBmb3IgYnVnIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTk2MzM+CiAgICAgZG5s IHdoaWNoIHdhcyBmaXhlZCBpbiBnbGliYy0yLjI0LgogICAgIEFDX0NBQ0hFX0NIRUNLKFt3 aGV0aGVyIHN0cmZtb25fbCB3b3Jrc10sCiAgICAgICBbZ2xfY3Zfc3RyZm1vbl9sX3dvcmtz XSwKZGlmZiAtLWdpdCBhL200L3N0cnN0ci5tNCBiL200L3N0cnN0ci5tNAppbmRleCAxYjVl ZjZjMTAyLi4xYmUyNzIxY2FjIDEwMDY0NAotLS0gYS9tNC9zdHJzdHIubTQKKysrIGIvbTQv c3Ryc3RyLm00CkBAIC0xNCw4ICsxNCw4IEBAIEFDX0RFRlVOKFtnbF9GVU5DX1NUUlNUUl9T SU1QTEVdLAogICBpZiB0ZXN0ICRSRVBMQUNFX01FTUNIUiA9IDE7IHRoZW4KICAgICBSRVBM QUNFX1NUUlNUUj0xCiAgIGVsc2UKLSAgICBkbmwgRGV0ZWN0IGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEyMDkyCi0gICAgZG5sIGFuZCBodHRw czovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMzYzNy4KKyAg ICBkbmwgRGV0ZWN0IGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMjA5MgorICAgIGRubCBh bmQgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjIzNjM3LgogICAgIEFDX0NBQ0hFX0NIRUNL KFt3aGV0aGVyIHN0cnN0ciB3b3Jrc10sCiAgICAgICBbZ2xfY3ZfZnVuY19zdHJzdHJfd29y a3NfYWx3YXlzXSwKICAgICAgIFtBQ19SVU5fSUZFTFNFKApkaWZmIC0tZ2l0IGEvbTQvc3Ry dG9rX3IubTQgYi9tNC9zdHJ0b2tfci5tNAppbmRleCBkNDAzNDJiZWQ0Li5lOThkYWM2MDVm IDEwMDY0NAotLS0gYS9tNC9zdHJ0b2tfci5tNAorKysgYi9tNC9zdHJ0b2tfci5tNApAQCAt MjEsNyArMjEsNyBAQCBBQ19ERUZVTihbZ2xfRlVOQ19TVFJUT0tfUl0sCiAgICAgZG5sIHdo ZW4gdGhlIHNlY29uZCBhcmd1bWVudCB0byBzdHJ0b2tfciBpcyBhIGNvbnN0YW50IHN0cmlu ZyB0aGF0IGhhcwogICAgIGRubCBleGFjdGx5IG9uZSBieXRlIGFuZCBjb21waWxpbmcgd2l0 aCBvcHRpbWl6YXRpb24uICBUaGlzIGJ1ZyBpcywgZm9yCiAgICAgZG5sIGV4YW1wbGUsIHBy ZXNlbnQgaW4gdGhlIGdsaWJjIDIuNy0xOCBwYWNrYWdlIGluIERlYmlhbiAibGVubnkiLgot ICAgIGRubCBTZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcu Y2dpP2lkPTU2MTQ+LgorICAgIGRubCBTZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFI1 NjE0Pi4KICAgICBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBzdHJ0b2tfciB3b3Jrc10sIFtn bF9jdl9mdW5jX3N0cnRva19yX3dvcmtzXSwKICAgICAgIFtBQ19SVU5fSUZFTFNFKAogICAg ICAgICAgW0FDX0xBTkdfUFJPR1JBTShbWwpkaWZmIC0tZ2l0IGEvbTQvdGltZS5tNCBiL200 L3RpbWUubTQKaW5kZXggZjYzZWMxMmY4Ny4uOGMzZWM5NDQ0YSAxMDA2NDQKLS0tIGEvbTQv dGltZS5tNAorKysgYi9tNC90aW1lLm00CkBAIC0xMSw3ICsxMSw3IEBAIGRubCBGcm9tIEJy dW5vIEhhaWJsZS4KIEFDX0RFRlVOKFtnbF9GVU5DX1RJTUVdLAogWwogICBBQ19SRVFVSVJF KFtBQ19DQU5PTklDQUxfSE9TVF0pCi0gIGRubCBnbGliYyBoYXMgdGhlIGJ1ZyBodHRwczov L3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMDIwMCAuCisgIGRu bCBnbGliYyBoYXMgdGhlIGJ1ZyBodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzAyMDAgLgog ICBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciB0aW1lKCkgd29ya3NdLAogICAgIFtnbF9jdl9m dW5jX3RpbWVfd29ya3NdLAogICAgIFtkbmwgR3Vlc3MgdGhhdCBpdCB3b3JrcyBleGNlcHQg b24KZGlmZiAtLWdpdCBhL200L3djaGFyX2gubTQgYi9tNC93Y2hhcl9oLm00CmluZGV4IDcy MmZjZmMyZDYuLjA1M2JhZmQyZjMgMTAwNjQ0Ci0tLSBhL200L3djaGFyX2gubTQKKysrIGIv bTQvd2NoYXJfaC5tNApAQCAtNjUsNyArNjUsNyBAQCBkbmwgQ2hlY2sgd2hldGhlciA8d2No YXIuaD4gaXMgdXNhYmxlIGF0IGFsbC4KIEFDX0RFRlVOKFtnbF9XQ0hBUl9IX0lOTElORV9P S10sCiBbCiAgIGRubCBUZXN0IHdoZXRoZXIgPHdjaGFyLmg+IHN1ZmZlcnMgZHVlIHRvIHRo ZSB0cmFuc2l0aW9uIGZyb20gJ19faW5saW5lJyB0bwotICBkbmwgJ2dudV9pbmxpbmUnLiBT ZWUgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTQw MjI+CisgIGRubCAnZ251X2lubGluZScuIFNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9Q UjQwMjI+CiAgIGRubCBhbmQgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTQyNDQwPi4gSW4gc3VtbWFyeSwKICAgZG5sIGdsaWJjIHZlcnNpb24gMi41 IG9yIG9sZGVyLCB0b2dldGhlciB3aXRoIGdjYyB2ZXJzaW9uIDQuMyBvciBuZXdlciBhbmQK ICAgZG5sIHRoZSBvcHRpb24gLXN0ZD1jOTkgb3IgLXN0ZD1nbnU5OSwgbGVhZHMgdG8gYSBi cm9rZW4gPHdjaGFyLmg+LgpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1leGVjdXRlLXNjcmlw dC5jIGIvdGVzdHMvdGVzdC1leGVjdXRlLXNjcmlwdC5jCmluZGV4IGFkNWUyM2ZmZWUuLjEz MDQ5MDk4MzcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtZXhlY3V0ZS1zY3JpcHQuYworKysg Yi90ZXN0cy90ZXN0LWV4ZWN1dGUtc2NyaXB0LmMKQEAgLTM0LDcgKzM0LDcgQEAgbWFpbiAo KQogCiAgIC8qIENoZWNrIGFuIGludm9jYXRpb24gb2YgYW4gZXhlY3V0YWJsZSBzY3JpcHQu CiAgICAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgc3VwcG9ydGVkIGlmIHRoZSBzY3JpcHQgaGFz IGEgJyMhJyBtYXJrZXI7IG90aGVyd2lzZQotICAgICBpdCBpcyB1bnNlY3VyZTogPGh0dHBz Oi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEzMTM0Pi4KKyAg ICAgaXQgaXMgdW5zZWN1cmU6IDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTMxMzQ+Lgog ICAgICBQT1NJWCBzYXlzIHRoYXQgdGhlIGV4ZWNscCgpIGFuZCBleGVjdnAoKSBmdW5jdGlv bnMgc3VwcG9ydCBleGVjdXRpbmcKICAgICAgc2hlbGwgc2NyaXB0cwogICAgICA8aHR0cHM6 Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy9l eGVjLmh0bWw+LApkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1leHAyLmggYi90ZXN0cy90ZXN0 LWV4cDIuaAppbmRleCBiZWQ0NmEyZGFjLi43MDM1YjgxMDc4IDEwMDY0NAotLS0gYS90ZXN0 cy90ZXN0LWV4cDIuaAorKysgYi90ZXN0cy90ZXN0LWV4cDIuaApAQCAtMzUsNyArMzUsNyBA QCB0ZXN0X2Z1bmN0aW9uICh2b2lkKQogICAgIERPVUJMRSB5ID0gRVhQMiAoeCk7CiAgICAg QVNTRVJUICh5ID09IExfKDEuMCkpOwogICB9Ci0gIC8qIDxodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMzgyND4gKi8KKyAgLyogPGh0dHBzOi8v c291cmNld2FyZS5vcmcvUFIxMzgyND4gKi8KICNpZiAhKF9fR0xJQkNfXyA9PSAyICYmIF9f R0xJQkNfTUlOT1JfXyA8IDE2ICYmIChkZWZpbmVkIF9fc3BhcmMgfHwgZGVmaW5lZCBfX3Bv d2VycGNfXykpCiAgIHsKICAgICBpbnQgZTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtZm5t YXRjaC5jIGIvdGVzdHMvdGVzdC1mbm1hdGNoLmMKaW5kZXggYzg0NDdjZDIzOS4uZjNjMTE5 YjQ5OCAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1mbm1hdGNoLmMKKysrIGIvdGVzdHMvdGVz dC1mbm1hdGNoLmMKQEAgLTU3NCw3ICs1NzQsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAq YXJndltdKQogICAgIEFTU0VSVCAoZm5tYXRjaCAoIip4IiwgIi54IiwgRk5NX1BFUklPRCkg PT0gRk5NX05PTUFUQ0gpOwogICAgIGlmIChhcmdjID09IDEgfHwgc3RyY21wIChhcmd2WzFd LCAiMSIpID09IDApCiAgICAgICB7Ci0gICAgICAgIC8qIGdsaWJjIGJ1ZyA8aHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzYxPgorICAgICAgICAv KiBnbGliYyBidWcgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIzNjE+CiAgICAgICAgICAg IGV4aXN0cyBpbiBnbGliYyAyLjMuMywgZml4ZWQgaW4gZ2xpYmMgMi41LiAgKi8KICAgICAg ICAgQVNTRVJUIChmbm1hdGNoIChBcGF0LCAiXFwiLCAwKSA9PSAwKTsKICAgICAgICAgQVNT RVJUIChmbm1hdGNoIChBcGF0LCAiQSIsIDApID09IDApOwpAQCAtNTg5LDcgKzU4OSw3IEBA IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgIEFTU0VSVCAoZm5tYXRj aCAoQXBhdCwgYnMwMSwgMCkgPT0gKCdBJyA8ICdcXCcgPyBGTk1fTk9NQVRDSCA6IDApKTsK ICAgICAgICAgQVNTRVJUIChmbm1hdGNoIChhcGF0LCBiczAxLCAwKSA9PSAoJ2EnIDwgJ1xc JyA/IEZOTV9OT01BVENIIDogMCkpOwogICAgICAgfQotICAgIC8qIGdsaWJjIGJ1ZyA8aHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTIzNzg+Cisg ICAgLyogZ2xpYmMgYnVnIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMTIzNzg+CiAgICAg ICAgZXhpc3RzIGluIGdsaWJjIDIuMTIsIGZpeGVkIGluIGdsaWJjIDIuMTMuICAqLwogICAg IEFTU0VSVCAoZm5tYXRjaCAoIlsvYiIsICJbL2IiLCAwKSA9PSAwKTsKICAgICAvKiBUaGlz IHRlc3QgZmFpbHMgb24gRnJlZUJTRCAxMy4yLCBOZXRCU0QgOS4zLCBDeWd3aW4gMy40LjYu ICAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1nZXRhZGRyaW5mby5jIGIvdGVzdHMvdGVz dC1nZXRhZGRyaW5mby5jCmluZGV4IGRmYTc5NDc5MWUuLmRlMGY0YjMyMDggMTAwNjQ0Ci0t LSBhL3Rlc3RzL3Rlc3QtZ2V0YWRkcmluZm8uYworKysgYi90ZXN0cy90ZXN0LWdldGFkZHJp bmZvLmMKQEAgLTIyMyw3ICsyMjMsNyBAQCBpbnQgbWFpbiAodm9pZCkKICNlbmRpZgogI2lm ICFkZWZpbmVkIF9fR0xJQkNfXwogICAgICAgICAgIC8qIGF2b2lkIGdsaWJjIGJ1ZywgcG9z c2libHkKLSAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MzI0NjU+ICovCisgICAgICAgICAgICAgPGh0dHBzOi8vc291cmNl d2FyZS5vcmcvUFIzMjQ2NT4gKi8KICAgICAgICAgICArIHNpbXBsZSAoMywgSE9TVDEsIFNF UlYxKQogICAgICAgICAgICsgc2ltcGxlICgzLCBIT1NUMiwgU0VSVjIpCiAgICAgICAgICAg KyBzaW1wbGUgKDMsIEhPU1QzLCBTRVJWMykKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtZ2V0 b3B0LmggYi90ZXN0cy90ZXN0LWdldG9wdC5oCmluZGV4IDg2YWMwMTRlZjAuLmIyNDRlYWQ5 MDAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtZ2V0b3B0LmgKKysrIGIvdGVzdHMvdGVzdC1n ZXRvcHQuaApAQCAtMTM2OCw3ICsxMzY4LDcgQEAgdGVzdF9nZXRvcHQgKHZvaWQpCiAgICAg fQogCiAgIC8qIENoZWNrIHRoYXQgJ1cnIGRvZXMgbm90IGR1bXAgY29yZToKLSAgICAgaHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI5MjIKKyAg ICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjEyOTIyCiAgICAgIFRlY2huaWNhbGx5LCBQ T1NJWCBzYXlzIHRoZSBwcmVzZW5jZSBvZiAnOycgaW4gdGhlIG9wdC1zdHJpbmcKICAgICAg Z2l2ZXMgdW5zcGVjaWZpZWQgYmVoYXZpb3IsIHNvIHdlIG9ubHkgdGVzdCB0aGlzIHdoZW4g R05VIGNvbXBsaWFuY2UKICAgICAgaXMgZGVzaXJlZC4gICovCmRpZmYgLS1naXQgYS90ZXN0 cy90ZXN0LWdldG9wdF9sb25nLmggYi90ZXN0cy90ZXN0LWdldG9wdF9sb25nLmgKaW5kZXgg MzNlZWEwMDczNC4uNzM0MzNjZWEzYiAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1nZXRvcHRf bG9uZy5oCisrKyBiL3Rlc3RzL3Rlc3QtZ2V0b3B0X2xvbmcuaApAQCAtMzE1LDcgKzMxNSw3 IEBAIHRlc3RfZ2V0b3B0X2xvbmcgKHZvaWQpCiAgIH0KIAogICAvKiBUZXN0IHRoYXQgJ1cn IGRvZXMgbm90IGR1bXAgY29yZToKLSAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6 aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI5MjIgICovCisgICAgIGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvUFIxMjkyMiAgKi8KICAgewogICAgIGludCBhcmdjID0gMDsKICAgICBjb25zdCBj aGFyICphcmd2WzEwXTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtZ2V0dGltZW9mZGF5LmMg Yi90ZXN0cy90ZXN0LWdldHRpbWVvZmRheS5jCmluZGV4IDRiZDdhMmI2ZTQuLjhiNTVhYzAw MmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtZ2V0dGltZW9mZGF5LmMKKysrIGIvdGVzdHMv dGVzdC1nZXR0aW1lb2ZkYXkuYwpAQCAtNzIsNyArNzIsNyBAQCB0ZXN0X2NvbnNpc3RlbmN5 ICgpCiAgIC8qIFZlcmlmeSB0aGF0IHRoZSB0dl9zZWMgZmllbGQgb2YgdGhlIHJlc3VsdCBp cyB0aGUgc2FtZSBhcyB0aW1lKE5VTEwpLiAgKi8KICAgLyogTm90ZTogSXQncyBoZXJlIHRo YXQgdGhlIGRlcGVuZGVuY3kgdG8gdGhlICd0aW1lJyBtb2R1bGUgaXMgbmVlZGVkLgogICAg ICBXaXRob3V0IGl0LCB0aGlzIGFzc2VydGlvbiB3b3VsZCBzb21ldGltZXMgZmFpbCBvbiBn bGliYyBzeXN0ZW1zLCBzZWUKLSAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDAgICovCisgICAgIGh0dHBzOi8vc291cmNld2FyZS5v cmcvUFIzMDIwMCAgKi8KICAgQVNTRVJUICh0djEudHZfc2VjIDw9IHR0Mik7CiAgIEFTU0VS VCAodHQyIDw9IHR2My50dl9zZWMpOwogICBBU1NFUlQgKHR2My50dl9zZWMgPD0gdHQ0KTsK ZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtbWJydG9jMzItcmVndWxhci5jIGIvdGVzdHMvdGVz dC1tYnJ0b2MzMi1yZWd1bGFyLmMKaW5kZXggNGE3Y2UwZjEzMi4uZDRiNzEzOWVkYSAxMDA2 NDQKLS0tIGEvdGVzdHMvdGVzdC1tYnJ0b2MzMi1yZWd1bGFyLmMKKysrIGIvdGVzdHMvdGVz dC1tYnJ0b2MzMi1yZWd1bGFyLmMKQEAgLTUzLDcgKzUzLDcgQEAgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKICAgICAgMHg4OCAweEE1ICAgIFUrMDBFQSBVKzAzMEMgICAgTEFU SU4gU01BTEwgTEVUVEVSIEUgV0lUSCBDSVJDVU1GTEVYIEFORCBDQVJPTgogCiAgICAgIFRl c3Qgb25lIG9mIHRoZW0uCi0gICAgIFNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6 aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA2MTE+LiAgKi8KKyAgICAgU2VlIDxodHRwczovL3Nv dXJjZXdhcmUub3JnL1BSMzA2MTE+LiAgKi8KICAgbWJzdGF0ZV90IHN0YXRlOwogICBtZW1z ZXQgKCZzdGF0ZSwgJ1wwJywgc2l6ZW9mIChtYnN0YXRlX3QpKTsKICAgY2hhcjMyX3QgYzMy ID0gKGNoYXIzMl90KSAweEJBREZBQ0U7CmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXBlcnJv cjIuYyBiL3Rlc3RzL3Rlc3QtcGVycm9yMi5jCmluZGV4IGI4OTk5ZTFlODkuLmEwYzg3YjIz MGYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtcGVycm9yMi5jCisrKyBiL3Rlc3RzL3Rlc3Qt cGVycm9yMi5jCkBAIC0xMjYsNyArMTI2LDcgQEAgbWFpbiAodm9pZCkKICAgICAgICBodHRw czovL3NvdXJjZXdhcmUub3JnL21sL25ld2xpYi8yMDExL21zZzAwMjI4Lmh0bWwgKi8KICAg ICBBU1NFUlQgKGVycm5vID4gMCk7CiAgICAgLyogQ29tbWVudGVkIG91dCB1bnRpbCBnbGli YyBiZWhhdmVzOgotICAgICAgIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTEyNzkyICovCisgICAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9Q UjEyNzkyICovCiAgICAgQVNTRVJUIChmZXJyb3IgKHN0ZGVycikpOwogI2VuZGlmCiAgIH0K ZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtcG9zaXhfc3Bhd24tc2NyaXB0LmMgYi90ZXN0cy90 ZXN0LXBvc2l4X3NwYXduLXNjcmlwdC5jCmluZGV4IGVmMDAyMTUyZDguLjJlYWEzODYwNDUg MTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtcG9zaXhfc3Bhd24tc2NyaXB0LmMKKysrIGIvdGVz dHMvdGVzdC1wb3NpeF9zcGF3bi1zY3JpcHQuYwpAQCAtMzcsNyArMzcsNyBAQCBtYWluICgp CiAKICAgLyogQ2hlY2sgYW4gaW52b2NhdGlvbiBvZiBhbiBleGVjdXRhYmxlIHNjcmlwdC4K ICAgICAgVGhpcyBzaG91bGQgb25seSBiZSBzdXBwb3J0ZWQgaWYgdGhlIHNjcmlwdCBoYXMg YSAnIyEnIG1hcmtlcjsgb3RoZXJ3aXNlCi0gICAgIGl0IGlzIHVuc2VjdXJlOiA8aHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTMxMzQ+LgorICAg ICBpdCBpcyB1bnNlY3VyZTogPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIxMzEzND4uCiAg ICAgIFBPU0lYIHNheXMgdGhhdCB0aGUgZXhlY2xwKCkgYW5kIGV4ZWN2cCgpIGZ1bmN0aW9u cyBzdXBwb3J0IGV4ZWN1dGluZwogICAgICBzaGVsbCBzY3JpcHRzCiAgICAgIDxodHRwczov L3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzk2OTk5MTk3OTkvZnVuY3Rpb25zL2V4 ZWMuaHRtbD4sCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXBvc2l4X3NwYXducC1zY3JpcHQu YyBiL3Rlc3RzL3Rlc3QtcG9zaXhfc3Bhd25wLXNjcmlwdC5jCmluZGV4IDEwZjBlZjM5ZmIu LjUyZTcwMjg0ODcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtcG9zaXhfc3Bhd25wLXNjcmlw dC5jCisrKyBiL3Rlc3RzL3Rlc3QtcG9zaXhfc3Bhd25wLXNjcmlwdC5jCkBAIC0zNyw3ICsz Nyw3IEBAIG1haW4gKCkKIAogICAvKiBDaGVjayBhbiBpbnZvY2F0aW9uIG9mIGFuIGV4ZWN1 dGFibGUgc2NyaXB0LgogICAgICBUaGlzIHNob3VsZCBvbmx5IGJlIHN1cHBvcnRlZCBpZiB0 aGUgc2NyaXB0IGhhcyBhICcjIScgbWFya2VyOyBvdGhlcndpc2UKLSAgICAgaXQgaXMgdW5z ZWN1cmU6IDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p ZD0xMzEzND4uCisgICAgIGl0IGlzIHVuc2VjdXJlOiA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9QUjEzMTM0Pi4KICAgICAgUE9TSVggc2F5cyB0aGF0IHRoZSBleGVjbHAoKSBhbmQgZXhl Y3ZwKCkgZnVuY3Rpb25zIHN1cHBvcnQgZXhlY3V0aW5nCiAgICAgIHNoZWxsIHNjcmlwdHMK ICAgICAgPGh0dHBzOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5 OS9mdW5jdGlvbnMvZXhlYy5odG1sPiwKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtcmFuZG9t X3IuYyBiL3Rlc3RzL3Rlc3QtcmFuZG9tX3IuYwppbmRleCAxYzBmZmRhYzVmLi5kODYyNTJl MjRlIDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0LXJhbmRvbV9yLmMKKysrIGIvdGVzdHMvdGVz dC1yYW5kb21fci5jCkBAIC0zMiw3ICszMiw3IEBAIFNJR05BVFVSRV9DSEVDSyAocmFuZG9t X3IsIGludCwgKHN0cnVjdCByYW5kb21fZGF0YSAqLCBpbnQzMl90ICopKTsKICNpbmNsdWRl ICJtYWNyb3MuaCIKIAogLyogTm90ZTogVGhpcyB0ZXN0IGNyYXNoZXMgb24gZ2xpYmMvU1BB UkMgc3lzdGVtcy4KLSAgIFJlcG9ydGVkIGF0IDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1 Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMDU4ND4uICAqLworICAgUmVwb3J0ZWQgYXQgPGh0 dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMDU4ND4uICAqLwogCiBzdGF0aWMgaW50CiB0ZXN0 X2ZhaWxlZCAoaW50IGFsaWdubWVudCkKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtcmVhbGxv Yy1wb3NpeC5jIGIvdGVzdHMvdGVzdC1yZWFsbG9jLXBvc2l4LmMKaW5kZXggOTNiM2M0ZDVk Zi4uZDUwZjg2MDM1MSAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1yZWFsbG9jLXBvc2l4LmMK KysrIGIvdGVzdHMvdGVzdC1yZWFsbG9jLXBvc2l4LmMKQEAgLTYxLDcgKzYxLDcgQEAgbWFp biAoaW50IGFyZ2MsIF9HTF9VTlVTRUQgY2hhciAqKmFyZ3YpCiAgICAgICB2b2lkICpyID0g cmVhbGxvYyAocCwgUFRSRElGRl9NQVggKyBvbmUpOwogICAgICAgQVNTRVJUIChyID09IE5V TEwpOwogICAgICAgLyogQXZvaWQgYSB0ZXN0IGZhaWx1cmUgZHVlIHRvIGdsaWJjIGJ1Zwot ICAgICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTI3ODcwPi4gICovCisgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjI3 ODcwPi4gICovCiAgICAgICBpZiAoIWdldGVudiAoIk1BTExPQ19DSEVDS18iKSkKICAgICAg ICAgQVNTRVJUIChlcnJubyA9PSBFTk9NRU0pOwogICAgIH0KZGlmZiAtLWdpdCBhL3Rlc3Rz L3Rlc3Qtc2lnc2Vndi1jYXRjaC1zdGFja292ZXJmbG93MS5jIGIvdGVzdHMvdGVzdC1zaWdz ZWd2LWNhdGNoLXN0YWNrb3ZlcmZsb3cxLmMKaW5kZXggNTlhMzE2MzA1OS4uYTM3OTEyZjNk ZCAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1zaWdzZWd2LWNhdGNoLXN0YWNrb3ZlcmZsb3cx LmMKKysrIGIvdGVzdHMvdGVzdC1zaWdzZWd2LWNhdGNoLXN0YWNrb3ZlcmZsb3cxLmMKQEAg LTIwLDcgKzIwLDcgQEAKIAogLyogT24gR05VL0h1cmQsIHdoZW4gY29tcGlsaW5nIHdpdGgg LURfRk9SVElGWV9TT1VSQ0U9MiwgYXZvaWQgYW4gZXJyb3IKICAgICIqKiogbG9uZ2ptcCBj YXVzZXMgdW5pbml0aWFsaXplZCBzdGFjayBmcmFtZSAqKio6IHRlcm1pbmF0ZWQiLgotICAg Q2YuIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0z MjUyMj4gICovCisgICBDZi4gPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIzMjUyMj4gICov CiAjaWZkZWYgX19nbnVfaHVyZF9fCiAjIHVuZGVmIF9GT1JUSUZZX1NPVVJDRQogIyB1bmRl ZiBfX1VTRV9GT1JUSUZZX0xFVkVMCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXNpZ3NlZ3Yt Y2F0Y2gtc3RhY2tvdmVyZmxvdzIuYyBiL3Rlc3RzL3Rlc3Qtc2lnc2Vndi1jYXRjaC1zdGFj a292ZXJmbG93Mi5jCmluZGV4IDNiYWNlNjZkZjUuLjFiNDk0NDJkNmEgMTAwNjQ0Ci0tLSBh L3Rlc3RzL3Rlc3Qtc2lnc2Vndi1jYXRjaC1zdGFja292ZXJmbG93Mi5jCisrKyBiL3Rlc3Rz L3Rlc3Qtc2lnc2Vndi1jYXRjaC1zdGFja292ZXJmbG93Mi5jCkBAIC0yMCw3ICsyMCw3IEBA CiAKIC8qIE9uIEdOVS9IdXJkLCB3aGVuIGNvbXBpbGluZyB3aXRoIC1EX0ZPUlRJRllfU09V UkNFPTIsIGF2b2lkIGFuIGVycm9yCiAgICAiKioqIGxvbmdqbXAgY2F1c2VzIHVuaW5pdGlh bGl6ZWQgc3RhY2sgZnJhbWUgKioqOiB0ZXJtaW5hdGVkIi4KLSAgIENmLiA8aHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzI1MjI+ICAqLworICAg Q2YuIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzI1MjI+ICAqLwogI2lmZGVmIF9fZ251 X2h1cmRfXwogIyB1bmRlZiBfRk9SVElGWV9TT1VSQ0UKICMgdW5kZWYgX19VU0VfRk9SVElG WV9MRVZFTApkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1zbnByaW50Zi1wb3NpeC5oIGIvdGVz dHMvdGVzdC1zbnByaW50Zi1wb3NpeC5oCmluZGV4IDNmYzE4YzRiYTAuLjkxOGI5OTJmNWEg MTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3Qtc25wcmludGYtcG9zaXguaAorKysgYi90ZXN0cy90 ZXN0LXNucHJpbnRmLXBvc2l4LmgKQEAgLTYwNCw3ICs2MDQsNyBAQCB0ZXN0X2Z1bmN0aW9u IChpbnQgKCpteV9zbnByaW50ZikgKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4u LikpCiAKICAgeyAvKiBSb3VuZGluZyBjYW4gdHVybiBhIC4uLkZGRiBpbnRvIGEgLi4uMDAw LgogICAgICAgIFRoaXMgc2hvd3MgYSBNYWMgT1MgWCAxMC4zLjkgKERhcndpbiA3LjkpIGJ1 ZyBhbmQgYQotICAgICAgIGdsaWJjIDIuNCBidWcgPGh0dHBzOi8vc291cmNld2FyZS5vcmcv YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI5MDg+LiAgKi8KKyAgICAgICBnbGliYyAyLjQg YnVnIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMjkwOD4uICAqLwogICAgIGludCByZXR2 YWwgPQogICAgICAgbXlfc25wcmludGYgKHJlc3VsdCwgc2l6ZW9mIChyZXN1bHQpLCAiJS4x TGEgJWQiLCAxLjk5OUwsIDMzLCA0NCwgNTUpOwogICAgIEFTU0VSVCAoc3RyY21wIChyZXN1 bHQsICIweDEuMHArMSAzMyIpID09IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3Qtc3Bhd24t cGlwZS1zY3JpcHQuYyBiL3Rlc3RzL3Rlc3Qtc3Bhd24tcGlwZS1zY3JpcHQuYwppbmRleCAz NGU5YWY3ZmE4Li5mYmVlZTAxZmEzIDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0LXNwYXduLXBp cGUtc2NyaXB0LmMKKysrIGIvdGVzdHMvdGVzdC1zcGF3bi1waXBlLXNjcmlwdC5jCkBAIC0z MSw3ICszMSw3IEBAIG1haW4gKCkKIHsKICAgLyogQ2hlY2sgYW4gaW52b2NhdGlvbiBvZiBh biBleGVjdXRhYmxlIHNjcmlwdC4KICAgICAgVGhpcyBzaG91bGQgb25seSBiZSBzdXBwb3J0 ZWQgaWYgdGhlIHNjcmlwdCBoYXMgYSAnIyEnIG1hcmtlcjsgb3RoZXJ3aXNlCi0gICAgIGl0 IGlzIHVuc2VjdXJlOiA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9MTMxMzQ+LgorICAgICBpdCBpcyB1bnNlY3VyZTogPGh0dHBzOi8vc291cmNl d2FyZS5vcmcvUFIxMzEzND4uCiAgICAgIFBPU0lYIHNheXMgdGhhdCB0aGUgZXhlY2xwKCkg YW5kIGV4ZWN2cCgpIGZ1bmN0aW9ucyBzdXBwb3J0IGV4ZWN1dGluZwogICAgICBzaGVsbCBz Y3JpcHRzCiAgICAgIDxodHRwczovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzk2 OTk5MTk3OTkvZnVuY3Rpb25zL2V4ZWMuaHRtbD4sCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0 LXNwcmludGYtcG9zaXguaCBiL3Rlc3RzL3Rlc3Qtc3ByaW50Zi1wb3NpeC5oCmluZGV4IGFh MDk4NTM2NTEuLmY2MGE2ZTBhMDUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3Qtc3ByaW50Zi1w b3NpeC5oCisrKyBiL3Rlc3RzL3Rlc3Qtc3ByaW50Zi1wb3NpeC5oCkBAIC01OTAsNyArNTkw LDcgQEAgdGVzdF9mdW5jdGlvbiAoaW50ICgqbXlfc3ByaW50ZikgKGNoYXIgKiwgY29uc3Qg Y2hhciAqLCAuLi4pKQogCiAgIHsgLyogUm91bmRpbmcgY2FuIHR1cm4gYSAuLi5GRkYgaW50 byBhIC4uLjAwMC4KICAgICAgICBUaGlzIHNob3dzIGEgTWFjIE9TIFggMTAuMy45IChEYXJ3 aW4gNy45KSBidWcgYW5kIGEKLSAgICAgICBnbGliYyAyLjQgYnVnIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yOTA4Pi4gICovCisgICAgICAg Z2xpYmMgMi40IGJ1ZyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjI5MDg+LiAgKi8KICAg ICBpbnQgcmV0dmFsID0KICAgICAgIG15X3NwcmludGYgKHJlc3VsdCwgIiUuMUxhICVkIiwg MS45OTlMLCAzMywgNDQsIDU1KTsKICAgICBBU1NFUlQgKHN0cmNtcCAocmVzdWx0LCAiMHgx LjBwKzEgMzMiKSA9PSAwCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXN0cmZtb25fbC5jIGIv dGVzdHMvdGVzdC1zdHJmbW9uX2wuYwppbmRleCBhNTdjZTBkZTJlLi5mY2U3NWU0MDQ4IDEw MDY0NAotLS0gYS90ZXN0cy90ZXN0LXN0cmZtb25fbC5jCisrKyBiL3Rlc3RzL3Rlc3Qtc3Ry Zm1vbl9sLmMKQEAgLTUyLDcgKzUyLDcgQEAgbWFpbiAodm9pZCkKICAgfQogCiAgIC8qIFRl c3Qgd2hldGhlciB0aGUgZGVjaW1hbCBwb2ludCBjb21lcyBmcm9tIHRoZSByaWdodCBsb2Nh bGU6Ci0gICAgIGdsaWJjIGJ1ZyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTk2MzM+LiAgKi8KKyAgICAgZ2xpYmMgYnVnIDxodHRwczovL3Nv dXJjZXdhcmUub3JnL1BSMTk2MzM+LiAgKi8KICAgaWYgKHNldGxvY2FsZSAoTENfQUxMLCAi ZW5fVVMuVVRGLTgiKSA9PSBOVUxMKQogICAgIHsKICAgICAgIGlmICh0ZXN0X2V4aXRfc3Rh dHVzICE9IEVYSVRfU1VDQ0VTUykKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3Qtc3RydG9kLmgg Yi90ZXN0cy90ZXN0LXN0cnRvZC5oCmluZGV4IDkyYzA3ZmY2OTAuLjc1ZTE0YjQ0ZTkgMTAw NjQ0Ci0tLSBhL3Rlc3RzL3Rlc3Qtc3RydG9kLmgKKysrIGIvdGVzdHMvdGVzdC1zdHJ0b2Qu aApAQCAtNTY3LDcgKzU2Nyw3IEBAIHRlc3RfZnVuY3Rpb24gKGRvdWJsZSAoKm15X3N0cnRv ZCkgKGNvbnN0IGNoYXIgKiwgY2hhciAqKikpCiAgICAgQVNTRVJUICgtREJMX01JTiA8PSBy ZXN1bHQgJiYgcmVzdWx0IDw9IDAuMCk7CiAjZW5kaWYKICAgICAvKiBOZWdhdGl2ZSB1bmRl cmZsb3cuICBFeHBlY3QgYSBuZWdhdGl2ZSBzaWduLCBhbHRob3VnaCBQT1NJWCBhbGxvd3Mg KzAuMC4KLSAgICAgICBTZWUgYWxzbyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9NTk5NT4uICAqLworICAgICAgIFNlZSBhbHNvIDxodHRwczov L3NvdXJjZXdhcmUub3JnL1BSNTk5NT4uICAqLwogICAgIEFTU0VSVCAoISFzaWduYml0IChy ZXN1bHQpID09ICEhc2lnbmJpdCAobWludXNfemVyb2QpKTsgLyogZ2xpYmMtMi4zLjYsIG1p bmd3ICovCiAgICAgQVNTRVJUIChwdHIgPT0gaW5wdXQgKyAxMCk7CiAgICAgQVNTRVJUIChl cnJubyA9PSBFUkFOR0UpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1zdHJ0b2YuaCBiL3Rl c3RzL3Rlc3Qtc3RydG9mLmgKaW5kZXggMDMxYTZjOGEwNS4uZDEzN2M0ZDUxNCAxMDA2NDQK LS0tIGEvdGVzdHMvdGVzdC1zdHJ0b2YuaAorKysgYi90ZXN0cy90ZXN0LXN0cnRvZi5oCkBA IC01NjcsNyArNTY3LDcgQEAgdGVzdF9mdW5jdGlvbiAoZmxvYXQgKCpteV9zdHJ0b2YpIChj b25zdCBjaGFyICosIGNoYXIgKiopKQogICAgIEFTU0VSVCAoLUZMVF9NSU4gPD0gcmVzdWx0 ICYmIHJlc3VsdCA8PSAwLjBmKTsKICNlbmRpZgogICAgIC8qIE5lZ2F0aXZlIHVuZGVyZmxv dy4gIEV4cGVjdCBhIG5lZ2F0aXZlIHNpZ24sIGFsdGhvdWdoIFBPU0lYIGFsbG93cyArMC4w Zi4KLSAgICAgICBTZWUgYWxzbyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9NTk5NT4uICAqLworICAgICAgIFNlZSBhbHNvIDxodHRwczovL3Nv dXJjZXdhcmUub3JnL1BSNTk5NT4uICAqLwogICAgIEFTU0VSVCAoISFzaWduYml0IChyZXN1 bHQpID09ICEhc2lnbmJpdCAobWludXNfemVyb2YpKTsgLyogZ2xpYmMtMi4zLjYsIG1pbmd3 ICovCiAgICAgQVNTRVJUIChwdHIgPT0gaW5wdXQgKyAxMCk7CiAgICAgQVNTRVJUIChlcnJu byA9PSBFUkFOR0UpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1zdHJ0b2xkLmggYi90ZXN0 cy90ZXN0LXN0cnRvbGQuaAppbmRleCAxZmVjZmI4Y2M0Li4zN2Y1MzdmYTgzIDEwMDY0NAot LS0gYS90ZXN0cy90ZXN0LXN0cnRvbGQuaAorKysgYi90ZXN0cy90ZXN0LXN0cnRvbGQuaApA QCAtNTc1LDcgKzU3NSw3IEBAIHRlc3RfZnVuY3Rpb24gKGxvbmcgZG91YmxlICgqbXlfc3Ry dG9sZCkgKGNvbnN0IGNoYXIgKiwgY2hhciAqKikpCiAgICAgQVNTRVJUICgtTERCTF9NSU4g PD0gcmVzdWx0ICYmIHJlc3VsdCA8PSAwLjBMKTsKICNlbmRpZgogICAgIC8qIE5lZ2F0aXZl IHVuZGVyZmxvdy4gIEV4cGVjdCBhIG5lZ2F0aXZlIHNpZ24sIGFsdGhvdWdoIFBPU0lYIGFs bG93cyArMC4wTC4KLSAgICAgICBTZWUgYWxzbyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTk5NT4uICAqLworICAgICAgIFNlZSBhbHNvIDxo dHRwczovL3NvdXJjZXdhcmUub3JnL1BSNTk5NT4uICAqLwogICAgIEFTU0VSVCAoISFzaWdu Yml0IChyZXN1bHQpID09ICEhc2lnbmJpdCAobWludXNfemVyb2wpKTsgLyogZ2xpYmMtMi4z LjIsIEhhaWt1ICovCiAgICAgQVNTRVJUIChwdHIgPT0gaW5wdXQgKyAxMCk7CiAgICAgQVNT RVJUIChlcnJubyA9PSBFUkFOR0UpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC10aW1lc3Bl Y19nZXQuYyBiL3Rlc3RzL3Rlc3QtdGltZXNwZWNfZ2V0LmMKaW5kZXggZDgzN2FhMmI1ZS4u ZWI5YzA0NzIyOCAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC10aW1lc3BlY19nZXQuYworKysg Yi90ZXN0cy90ZXN0LXRpbWVzcGVjX2dldC5jCkBAIC00OCw3ICs0OCw3IEBAIG1haW4gKHZv aWQpCiAgIC8qIFZlcmlmeSB0aGF0IHRoZSB0dl9zZWMgZmllbGQgb2YgdGhlIHJlc3VsdCBp cyB0aGUgc2FtZSBhcyB0aW1lKE5VTEwpLiAgKi8KICAgLyogTm90ZTogSXQncyBoZXJlIHRo YXQgdGhlIGRlcGVuZGVuY3kgdG8gdGhlICd0aW1lJyBtb2R1bGUgaXMgbmVlZGVkLgogICAg ICBXaXRob3V0IGl0LCB0aGlzIGFzc2VydGlvbiB3b3VsZCBzb21ldGltZXMgZmFpbCBvbiBn bGliYyBzeXN0ZW1zLCBzZWUKLSAgICAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDAgICovCisgICAgIGh0dHBzOi8vc291cmNld2FyZS5v cmcvUFIzMDIwMCAgKi8KICAgQVNTRVJUICh0czEudHZfc2VjIDw9IHR0Mik7CiAgIEFTU0VS VCAodHQyIDw9IHRzMy50dl9zZWMpOwogICBBU1NFUlQgKHRzMy50dl9zZWMgPD0gdHQ0KTsK ZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtdmFzbnByaW50Zi1wb3NpeC5jIGIvdGVzdHMvdGVz dC12YXNucHJpbnRmLXBvc2l4LmMKaW5kZXggZTM4MmE5Y2U1Zi4uZmU5MWNiNDUxNSAxMDA2 NDQKLS0tIGEvdGVzdHMvdGVzdC12YXNucHJpbnRmLXBvc2l4LmMKKysrIGIvdGVzdHMvdGVz dC12YXNucHJpbnRmLXBvc2l4LmMKQEAgLTc4Myw3ICs3ODMsNyBAQCB0ZXN0X2Z1bmN0aW9u IChjaGFyICogKCpteV9hc25wcmludGYpIChjaGFyICosIHNpemVfdCAqLCBjb25zdCBjaGFy ICosIC4uLikpCiAKICAgeyAvKiBSb3VuZGluZyBjYW4gdHVybiBhIC4uLkZGRiBpbnRvIGEg Li4uMDAwLgogICAgICAgIFRoaXMgc2hvd3MgYSBNYWMgT1MgWCAxMC4zLjkgKERhcndpbiA3 LjkpIGJ1ZyBhbmQgYQotICAgICAgIGdsaWJjIDIuNCBidWcgPGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI5MDg+LiAgKi8KKyAgICAgICBnbGli YyAyLjQgYnVnIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMjkwOD4uICAqLwogICAgIHNp emVfdCBsZW5ndGg7CiAgICAgY2hhciAqcmVzdWx0ID0KICAgICAgIG15X2FzbnByaW50ZiAo TlVMTCwgJmxlbmd0aCwgIiUuMUxhICVkIiwgMS45OTlMLCAzMywgNDQsIDU1KTsKZGlmZiAt LWdpdCBhL3Rlc3RzL3Rlc3QtdmFzbnByaW50Zi1wb3NpeDIuYyBiL3Rlc3RzL3Rlc3QtdmFz bnByaW50Zi1wb3NpeDIuYwppbmRleCA1NWFmMWY3NDg0Li4zYTI3YWYxNzgwIDEwMDY0NAot LS0gYS90ZXN0cy90ZXN0LXZhc25wcmludGYtcG9zaXgyLmMKKysrIGIvdGVzdHMvdGVzdC12 YXNucHJpbnRmLXBvc2l4Mi5jCkBAIC0xNDIsNyArMTQyLDcgQEAgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgewogICAgICAgICAgIC8qIEJ1dCB0aGVyZSBhcmUg Z29vZCBhcmd1bWVudHMgZm9yIGFkZGluZyB0aGUgZ3JvdXBpbmcgY2hhcmFjdGVyCiAgICAg ICAgICAgICAgd2l0aGluIHRoZSBsZWFkaW5nIHplcm9lcy4KLSAgICAgICAgICAgICA8aHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjM0MzI+ICAq LworICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMjM0MzI+ICAqLwog ICAgICAgICAgIEFTU0VSVCAobGVuZ3RoID09IDEwICsgMyAqIHNlcGFyYXRvcl9sZW4pOwog ICAgICAgICAgIEFTU0VSVCAobWVtY21wIChyZXN1bHQsICIwIiwgMSkgPT0gMAogICAgICAg ICAgICAgICAgICAgJiYgbWVtY21wIChyZXN1bHQgKyAxLCBzZXBhcmF0b3IsIHNlcGFyYXRv cl9sZW4pID09IDAKQEAgLTE3MSw3ICsxNzEsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAq YXJndltdKQogICAgICAgICB7CiAgICAgICAgICAgLyogQnV0IHRoZXJlIGFyZSBnb29kIGFy Z3VtZW50cyBmb3IgYWRkaW5nIHRoZSBncm91cGluZyBjaGFyYWN0ZXIKICAgICAgICAgICAg ICB3aXRoaW4gdGhlIGxlYWRpbmcgemVyb2VzLgotICAgICAgICAgICAgIDxodHRwczovL3Nv dXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMzQzMj4gICovCisgICAg ICAgICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyMzQzMj4gICovCiAgICAgICAg ICAgQVNTRVJUIChsZW5ndGggPT0gMTEgKyAzICogc2VwYXJhdG9yX2xlbik7CiAgICAgICAg ICAgQVNTRVJUIChtZW1jbXAgKHJlc3VsdCwgIi0wIiwgMikgPT0gMAogICAgICAgICAgICAg ICAgICAgJiYgbWVtY21wIChyZXN1bHQgKyAyLCBzZXBhcmF0b3IsIHNlcGFyYXRvcl9sZW4p ID09IDAKQEAgLTIwNCw5ICsyMDQsOSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltd KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAvKiBSZXN1bHQgYWNjb3JkaW5nIHRv IGdsaWJjLCB3aGljaCBtZWFzdXJlcyB0aGUgd2lkdGggaW4KICAgICAgICAgICAgICAgICAg bXVsdGlieXRlIGNoYXJhY3RlcnMgb3IgY29sdW1uIHBvc2l0aW9ucy4KLSAgICAgICAgICAg ICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk PTI4OTQzPgotICAgICAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6 aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA4ODM+Ci0gICAgICAgICAgICAgICAgIDxodHRwczov L3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMTU0Mj4gICovCisg ICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMjg5NDM+CisgICAg ICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzA4ODM+CisgICAgICAg ICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzE1NDI+ICAqLwogICAgICAg ICAgICAgICBBU1NFUlQgKGxlbmd0aCA9PSA5ICsgc2VwYXJhdG9yX2xlbik7CiAgICAgICAg ICAgICAgIEFTU0VSVCAobWVtY21wIChyZXN1bHQsICIgICAgIDEiLCA2KSA9PSAwCiAgICAg ICAgICAgICAgICAgICAgICAgJiYgbWVtY21wIChyZXN1bHQgKyA2LCBzZXBhcmF0b3IsIHNl cGFyYXRvcl9sZW4pID09IDAKQEAgLTI0MSw5ICsyNDEsOSBAQCBtYWluIChpbnQgYXJnYywg Y2hhciAqYXJndltdKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAvKiBSZXN1bHQg YWNjb3JkaW5nIHRvIGdsaWJjLCB3aGljaCBtZWFzdXJlcyB0aGUgd2lkdGggaW4KICAgICAg ICAgICAgICAgICAgbXVsdGlieXRlIGNoYXJhY3RlcnMgb3IgY29sdW1uIHBvc2l0aW9ucy4K LSAgICAgICAgICAgICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTI4OTQzPgotICAgICAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA4ODM+Ci0gICAgICAgICAgICAg ICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0z MTU0Mj4gICovCisgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BS Mjg5NDM+CisgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzA4 ODM+CisgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL1BSMzE1NDI+ ICAqLwogICAgICAgICAgICAgICBBU1NFUlQgKGxlbmd0aCA9PSA5ICsgc2VwYXJhdG9yX2xl bik7CiAgICAgICAgICAgICAgIEFTU0VSVCAobWVtY21wIChyZXN1bHQsICIgICAgLTEiLCA2 KSA9PSAwCiAgICAgICAgICAgICAgICAgICAgICAgJiYgbWVtY21wIChyZXN1bHQgKyA2LCBz ZXBhcmF0b3IsIHNlcGFyYXRvcl9sZW4pID09IDAKQEAgLTMxOCw5ICszMTgsOSBAQCBtYWlu IChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgICAgewogICAgICAgICAgICAg ICAvKiBSZXN1bHQgYWNjb3JkaW5nIHRvIGdsaWJjLCB3aGljaCBtZWFzdXJlcyB0aGUgd2lk dGggaW4KICAgICAgICAgICAgICAgICAgbXVsdGlieXRlIGNoYXJhY3RlcnMgb3IgY29sdW1u IHBvc2l0aW9ucy4KLSAgICAgICAgICAgICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcv YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI4OTQzPgotICAgICAgICAgICAgICAgICA8aHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA4ODM+Ci0g ICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0zMTU0Mj4gICovCisgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJj ZXdhcmUub3JnL1BSMjg5NDM+CisgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMzA4ODM+CisgICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUu b3JnL1BSMzE1NDI+ICAqLwogICAgICAgICAgICAgICBBU1NFUlQgKGxlbmd0aCA9PSA5ICsg c2VwYXJhdG9yX2xlbik7CiAgICAgICAgICAgICAgIEFTU0VSVCAobWVtY21wIChyZXN1bHQs ICIwMDAwMDEiLCA2KSA9PSAwCiAgICAgICAgICAgICAgICAgICAgICAgJiYgbWVtY21wIChy ZXN1bHQgKyA2LCBzZXBhcmF0b3IsIHNlcGFyYXRvcl9sZW4pID09IDAKQEAgLTQyNCw5ICs0 MjQsOSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgICAgewog ICAgICAgICAgICAgICAvKiBSZXN1bHQgYWNjb3JkaW5nIHRvIGdsaWJjLCB3aGljaCBtZWFz dXJlcyB0aGUgd2lkdGggaW4KICAgICAgICAgICAgICAgICAgbXVsdGlieXRlIGNoYXJhY3Rl cnMgb3IgY29sdW1uIHBvc2l0aW9ucy4KLSAgICAgICAgICAgICAgICAgPGh0dHBzOi8vc291 cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI4OTQzPgotICAgICAgICAg ICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/ aWQ9MzA4ODM+Ci0gICAgICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1 Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0zMTU0Mj4gICovCisgICAgICAgICAgICAgICAgIDxo dHRwczovL3NvdXJjZXdhcmUub3JnL1BSMjg5NDM+CisgICAgICAgICAgICAgICAgIDxodHRw czovL3NvdXJjZXdhcmUub3JnL1BSMzA4ODM+CisgICAgICAgICAgICAgICAgIDxodHRwczov L3NvdXJjZXdhcmUub3JnL1BSMzE1NDI+ICAqLwogICAgICAgICAgICAgICBBU1NFUlQgKGxl bmd0aCA9PSA5ICsgc2VwYXJhdG9yX2xlbik7CiAgICAgICAgICAgICAgIEFTU0VSVCAobWVt Y21wIChyZXN1bHQsICIwMDAwMDEiLCA2KSA9PSAwCiAgICAgICAgICAgICAgICAgICAgICAg JiYgbWVtY21wIChyZXN1bHQgKyA2LCBzZXBhcmF0b3IsIHNlcGFyYXRvcl9sZW4pID09IDAK ZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtdmFzbndwcmludGYtcG9zaXguYyBiL3Rlc3RzL3Rl c3QtdmFzbndwcmludGYtcG9zaXguYwppbmRleCBhZjdiZDYwYmRhLi5hYWQxNWRmN2FhIDEw MDY0NAotLS0gYS90ZXN0cy90ZXN0LXZhc253cHJpbnRmLXBvc2l4LmMKKysrIGIvdGVzdHMv dGVzdC12YXNud3ByaW50Zi1wb3NpeC5jCkBAIC03ODMsNyArNzgzLDcgQEAgdGVzdF9mdW5j dGlvbiAod2NoYXJfdCAqICgqbXlfYXNud3ByaW50ZikgKHdjaGFyX3QgKiwgc2l6ZV90ICos IGNvbnN0IHdjaGFyX3QgKiwKIAogICB7IC8qIFJvdW5kaW5nIGNhbiB0dXJuIGEgLi4uRkZG IGludG8gYSAuLi4wMDAuCiAgICAgICAgVGhpcyBzaG93cyBhIE1hYyBPUyBYIDEwLjMuOSAo RGFyd2luIDcuOSkgYnVnIGFuZCBhCi0gICAgICAgZ2xpYmMgMi40IGJ1ZyA8aHR0cHM6Ly9z b3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjkwOD4uICAqLworICAg ICAgIGdsaWJjIDIuNCBidWcgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFIyOTA4Pi4gICov CiAgICAgc2l6ZV90IGxlbmd0aDsKICAgICB3Y2hhcl90ICpyZXN1bHQgPQogICAgICAgbXlf YXNud3ByaW50ZiAoTlVMTCwgJmxlbmd0aCwgTCIlLjFMYSAlZCIsIDEuOTk5TCwgMzMsIDQ0 LCA1NSk7CmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXZhc253cHJpbnRmLXBvc2l4Mi5jIGIv dGVzdHMvdGVzdC12YXNud3ByaW50Zi1wb3NpeDIuYwppbmRleCA3MTljOTMyYTQxLi5lNDhi OTY3MmMwIDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0LXZhc253cHJpbnRmLXBvc2l4Mi5jCisr KyBiL3Rlc3RzL3Rlc3QtdmFzbndwcmludGYtcG9zaXgyLmMKQEAgLTE1Niw3ICsxNTYsNyBA QCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICB7CiAgICAgICAgICAg LyogQnV0IHRoZXJlIGFyZSBnb29kIGFyZ3VtZW50cyBmb3IgYWRkaW5nIHRoZSBncm91cGlu ZyBjaGFyYWN0ZXIKICAgICAgICAgICAgICB3aXRoaW4gdGhlIGxlYWRpbmcgemVyb2VzIHRv by4KLSAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MjM0MzI+ICAqLworICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMjM0MzI+ICAqLwogICAgICAgICAgIEFTU0VSVCAobGVuZ3RoID09IDEwICsg MyAqIHNlcGFyYXRvcl9sZW4pOwogICAgICAgICAgIEFTU0VSVCAod21lbWNtcCAocmVzdWx0 LCBMIjAiLCAxKSA9PSAwCiAgICAgICAgICAgICAgICAgICAmJiB3bWVtY21wIChyZXN1bHQg KyAxLCBzZXBhcmF0b3IsIHNlcGFyYXRvcl9sZW4pID09IDAKQEAgLTE4NSw3ICsxODUsNyBA QCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICB7CiAgICAgICAgICAg LyogQnV0IHRoZXJlIGFyZSBnb29kIGFyZ3VtZW50cyBmb3IgYWRkaW5nIHRoZSBncm91cGlu ZyBjaGFyYWN0ZXIKICAgICAgICAgICAgICB3aXRoaW4gdGhlIGxlYWRpbmcgemVyb2VzIHRv by4KLSAgICAgICAgICAgICA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MjM0MzI+ICAqLworICAgICAgICAgICAgIDxodHRwczovL3NvdXJjZXdh cmUub3JnL1BSMjM0MzI+ICAqLwogICAgICAgICAgIEFTU0VSVCAobGVuZ3RoID09IDExICsg MyAqIHNlcGFyYXRvcl9sZW4pOwogICAgICAgICAgIEFTU0VSVCAod21lbWNtcCAocmVzdWx0 LCBMIi0wIiwgMikgPT0gMAogICAgICAgICAgICAgICAgICAgJiYgd21lbWNtcCAocmVzdWx0 ICsgMiwgc2VwYXJhdG9yLCBzZXBhcmF0b3JfbGVuKSA9PSAwCmRpZmYgLS1naXQgYS90ZXN0 cy90ZXN0LXZhc3ByaW50Zi1wb3NpeC5jIGIvdGVzdHMvdGVzdC12YXNwcmludGYtcG9zaXgu YwppbmRleCBmZTkyOWI2NWFkLi5kZjg4YzQ4ZjViIDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0 LXZhc3ByaW50Zi1wb3NpeC5jCisrKyBiL3Rlc3RzL3Rlc3QtdmFzcHJpbnRmLXBvc2l4LmMK QEAgLTc2NCw3ICs3NjQsNyBAQCB0ZXN0X2Z1bmN0aW9uIChpbnQgKCpteV9hc3ByaW50Zikg KGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgLi4uKSkKIAogICB7IC8qIFJvdW5kaW5nIGNhbiB0 dXJuIGEgLi4uRkZGIGludG8gYSAuLi4wMDAuCiAgICAgICAgVGhpcyBzaG93cyBhIE1hYyBP UyBYIDEwLjMuOSAoRGFyd2luIDcuOSkgYnVnIGFuZCBhCi0gICAgICAgZ2xpYmMgMi40IGJ1 ZyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mjkw OD4uICAqLworICAgICAgIGdsaWJjIDIuNCBidWcgPGh0dHBzOi8vc291cmNld2FyZS5vcmcv UFIyOTA4Pi4gICovCiAgICAgY2hhciAqcmVzdWx0OwogICAgIGludCByZXR2YWwgPQogICAg ICAgbXlfYXNwcmludGYgKCZyZXN1bHQsICIlLjFMYSAlZCIsIDEuOTk5TCwgMzMsIDQ0LCA1 NSk7CmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXhzdHJ0b2QuYyBiL3Rlc3RzL3Rlc3QteHN0 cnRvZC5jCmluZGV4IDdjODk0YTQxZTkuLmQ4NThkYTZhMWUgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L3Rlc3QteHN0cnRvZC5jCisrKyBiL3Rlc3RzL3Rlc3QteHN0cnRvZC5jCkBAIC02OTQsNyAr Njk0LDcgQEAgbWFpbiAoKQogICAgIEFTU0VSVCAob2spOwogICAgIEFTU0VSVCAocmVzdWx0 ID09IDAuMCk7CiAgICAgLyogTmVnYXRpdmUgdW5kZXJmbG93LiAgRXhwZWN0IGEgbmVnYXRp dmUgc2lnbiwgYWx0aG91Z2ggUE9TSVggYWxsb3dzICswLjAuCi0gICAgICAgU2VlIGFsc28g PGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU5OTU+ LiAgKi8KKyAgICAgICBTZWUgYWxzbyA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9QUjU5OTU+ LiAgKi8KICAgICBBU1NFUlQgKCEhc2lnbmJpdCAocmVzdWx0KSA9PSAhIXNpZ25iaXQgKG1p bnVzX3plcm9kKSk7CiAgICAgQVNTRVJUIChwdHIgPT0gaW5wdXQgKyAxMCk7CiAgICAgQVNT RVJUIChlcnJubyA9PSBFUkFOR0UpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC14c3RydG9s ZC5jIGIvdGVzdHMvdGVzdC14c3RydG9sZC5jCmluZGV4IDM2MWE5Y2U5ZGQuLjJjNDMxMWM5 ZDYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QteHN0cnRvbGQuYworKysgYi90ZXN0cy90ZXN0 LXhzdHJ0b2xkLmMKQEAgLTcwMiw3ICs3MDIsNyBAQCBtYWluICgpCiAgICAgQVNTRVJUIChv ayk7CiAgICAgQVNTRVJUIChyZXN1bHQgPT0gMC4wTCk7CiAgICAgLyogTmVnYXRpdmUgdW5k ZXJmbG93LiAgRXhwZWN0IGEgbmVnYXRpdmUgc2lnbiwgYWx0aG91Z2ggUE9TSVggYWxsb3dz ICswLjBMLgotICAgICAgIFNlZSBhbHNvIDxodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3pp bGxhL3Nob3dfYnVnLmNnaT9pZD01OTk1Pi4gICovCisgICAgICAgU2VlIGFsc28gPGh0dHBz Oi8vc291cmNld2FyZS5vcmcvUFI1OTk1Pi4gICovCiAgICAgQVNTRVJUICghIXNpZ25iaXQg KHJlc3VsdCkgPT0gISFzaWduYml0IChtaW51c196ZXJvbCkpOwogICAgIEFTU0VSVCAocHRy ID09IGlucHV0ICsgMTApOwogICAgIEFTU0VSVCAoZXJybm8gPT0gRVJBTkdFKTsKLS0gCjIu NDguMQoK --------------mAA3Q9yRjPijxSh0dls0YXXW Content-Type: text/x-patch; charset=UTF-8; name="0002-Shorten-GCC-bug-URLs.patch" Content-Disposition: attachment; filename="0002-Shorten-GCC-bug-URLs.patch" Content-Transfer-Encoding: base64 RnJvbSAyNDEwOTg0YjViZDA2ZTQ1NDhkZmJjMDljODVlZWUzNWUyNjhlM2RjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDIgQXVnIDIwMjUgMTA6MjU6MTMgLTA3MDAKU3ViamVjdDogW1BBVENI IDIvMl0gU2hvcnRlbiBHQ0MgYnVnIFVSTHMKCi0tLQogYnVpbGQtYXV4L2djYy13YXJuaW5n LnNwZWMgICAgIHwgIDIgKy0KIGRvYy9wb3NpeC1oZWFkZXJzL3N0ZGRlZi50ZXhpICB8ICAy ICstCiBsaWIvYWxpZ25hbGxvYy5oICAgICAgICAgICAgICAgfCAgMiArLQogbGliL2MrK2Rl ZnMuaCAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogbGliL2NhcmVhZGxpbmthdC5jICAg ICAgICAgICAgIHwgIDQgKystLQogbGliL2Zsb2F0LmluLmggICAgICAgICAgICAgICAgIHwg IDggKysrKy0tLS0KIGxpYi9mcmVlLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBs aWIvaW50cHJvcHMtaW50ZXJuYWwuaCAgICAgICAgfCAgNCArKy0tCiBsaWIvcmVhbGxvYy5j ICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliL3NhdmVkaXIuYyAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGxpYi9zaWduZWQtbmFuLmggICAgICAgICAgICAgICB8IDEyICsrKysr Ky0tLS0tLQogbGliL3N0ZGRlZi5pbi5oICAgICAgICAgICAgICAgIHwgIDQgKystLQogbGli L3N0cmZ0aW1lLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi9zdHJpbmcuaW4uaCAg ICAgICAgICAgICAgICB8ICAyICstCiBsaWIvdG90YWxvcmRlci5jICAgICAgICAgICAgICAg fCAgMiArLQogbGliL3RvdGFsb3JkZXJmLmMgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi90 b3RhbG9yZGVybWFnLmMgICAgICAgICAgICB8ICAyICstCiBsaWIvdG90YWxvcmRlcm1hZ2Yu YyAgICAgICAgICAgfCAgMiArLQogbGliL3djaGFyLmluLmggICAgICAgICAgICAgICAgIHwg IDIgKy0KIG00L2J0b3djLm00ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBtNC9leHRl cm4taW5saW5lLm00ICAgICAgICAgICAgfCAgNCArKy0tCiBtNC9nbnVsaWItY29tbW9uLm00 ICAgICAgICAgICAgfCAgNCArKy0tCiBtNC9tYW55d2FybmluZ3MubTQgICAgICAgICAgICAg fCAgMiArLQogbTQvbnVsbHB0ci5tNCAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG00L3N0 ZGFsaWduLm00ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIG00L3N0ZGRlZl9oLm00ICAg ICAgICAgICAgICAgICB8ICA0ICsrLS0KIG00L3djaGFyX2gubTQgICAgICAgICAgICAgICAg ICB8ICAyICstCiBtb2R1bGVzL3VuaW5hbWUvdW5pbmFtZSAgICAgICAgfCAgMiArLQogdGVz dHMvdGVzdC1jYW5vbmljYWxpemUtbGdwbC5jIHwgIDIgKy0KIHRlc3RzL3Rlc3QtY2Fub25p Y2FsaXplLmMgICAgICB8ICAyICstCiB0ZXN0cy90ZXN0LWludHByb3BzLmMgICAgICAgICAg fCAgMiArLQogdGVzdHMvdGVzdC1wdHNuYW1lX3IuYyAgICAgICAgIHwgIDIgKy0KIHRlc3Rz L3Rlc3Qtc3ByaW50Zi1wb3NpeC5oICAgICB8ICAyICstCiAzMyBmaWxlcyBjaGFuZ2VkLCA0 OSBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9idWlsZC1h dXgvZ2NjLXdhcm5pbmcuc3BlYyBiL2J1aWxkLWF1eC9nY2Mtd2FybmluZy5zcGVjCmluZGV4 IGUxNDdmNDkxNDkuLjkyNjg5NTg4M2EgMTAwNjQ0Ci0tLSBhL2J1aWxkLWF1eC9nY2Mtd2Fy bmluZy5zcGVjCisrKyBiL2J1aWxkLWF1eC9nY2Mtd2FybmluZy5zcGVjCkBAIC0zNTQsNyAr MzU0LDcgQEAKIC1Xc3RyaW5nb3Atb3ZlcnJlYWQJCQlkZWZhdWx0CiAtV3N0cmluZ29wLXRy dW5jYXRpb24JCQlkZWZhdWx0CiAtV3N1Ym9iamVjdC1saW5rYWdlCQkJYysrIGFuZCBvYmpj KysKLS1Xc3VnZ2VzdC1hdHRyaWJ1dGU9cmV0dXJuc19ub25udWxsCWh0dHBzOi8vZ2NjLmdu dS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExNDgzMworLVdzdWdnZXN0LWF0dHJp YnV0ZT1yZXR1cm5zX25vbm51bGwJaHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExNDgzMwogLVdz dWdnZXN0LW92ZXJyaWRlCQkJYysrIGFuZCBvYmpjKysKIC1Xc3VycHJpc2luZwkJCQlmb3J0 cmFuCiAtV3N3aXRjaAkJCQllbmFibGVkIGJ5IC1XYWxsCmRpZmYgLS1naXQgYS9kb2MvcG9z aXgtaGVhZGVycy9zdGRkZWYudGV4aSBiL2RvYy9wb3NpeC1oZWFkZXJzL3N0ZGRlZi50ZXhp CmluZGV4IDdmN2FmM2JkZWYuLjc0NTE2ZWRiYTkgMTAwNjQ0Ci0tLSBhL2RvYy9wb3NpeC1o ZWFkZXJzL3N0ZGRlZi50ZXhpCisrKyBiL2RvYy9wb3NpeC1oZWFkZXJzL3N0ZGRlZi50ZXhp CkBAIC00Niw3ICs0Niw3IEBAIEdDQyAxMiwgQ2xhbmcgMTUsIGFuZCBvdGhlciBwcmUtMjAy MyBDIGNvbXBpbGVycy4KIEBpdGVtCiBTb21lIHBsYXRmb3JtcyBkZWZpbmUgQGNvZGV7bnVs bHB0cl90fSBldmVuIHdoZW4gQGNvZGV7PHN0ZGRlZi5oPn0gaXMKIG5vdCBpbmNsdWRlZDoK LUBjIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExNDg2 OQorQGMgaHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExNDg2OQogR0NDIDE0CiAKIEBpdGVtCmRp ZmYgLS1naXQgYS9saWIvYWxpZ25hbGxvYy5oIGIvbGliL2FsaWduYWxsb2MuaAppbmRleCAy Y2Q0MDUwNzUzLi4xNTk3NGI1Y2JiIDEwMDY0NAotLS0gYS9saWIvYWxpZ25hbGxvYy5oCisr KyBiL2xpYi9hbGlnbmFsbG9jLmgKQEAgLTUzLDcgKzUzLDcgQEAgZXh0ZXJuICJDIiB7CiAj ZW5kaWYKIAogLyogV29yayBhcm91bmQgQWRkcmVzc1Nhbml0aXplciBidWcuCi0gICBodHRw czovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMDQyNjIKKyAgIGh0 dHBzOi8vZ2NjLmdudS5vcmcvUFIxMDQyNjIKICAgIGh0dHBzOi8vbGlzdHMubGx2bS5vcmcv cGlwZXJtYWlsL2xsdm0tY29tbWl0cy9XZWVrLW9mLU1vbi0yMDIyMDEyNC8xMDAxOTEwLmh0 bWwKICAgICovCiAjaWZkZWYgX19TQU5JVElaRV9BRERSRVNTX18KZGlmZiAtLWdpdCBhL2xp Yi9jKytkZWZzLmggYi9saWIvYysrZGVmcy5oCmluZGV4IGRmOThhNWFlNTcuLmI3Nzk3OWEz MjUgMTAwNjQ0Ci0tLSBhL2xpYi9jKytkZWZzLmgKKysrIGIvbGliL2MrK2RlZnMuaApAQCAt MzEwLDcgKzMxMCw3IEBACiAgICBfR0xfQ1hYQUxJQVNXQVJOXzEgKGZ1bmMsIEdOVUxJQl9O QU1FU1BBQ0UpCiAjIGRlZmluZSBfR0xfQ1hYQUxJQVNXQVJOXzEoZnVuYyxuYW1lc3BhY2Up IFwKICAgIF9HTF9DWFhBTElBU1dBUk5fMiAoZnVuYywgbmFtZXNwYWNlKQotLyogVG8gd29y ayBhcm91bmQgR0NDIGJ1ZyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9NDM4ODE+LAorLyogVG8gd29yayBhcm91bmQgR0NDIGJ1ZyA8aHR0cHM6Ly9n Y2MuZ251Lm9yZy9QUjQzODgxPiwKICAgIHdlIGVuYWJsZSB0aGUgd2FybmluZyBvbmx5IHdo ZW4gbm90IG9wdGltaXppbmcuICAqLwogIyBpZiAhKGRlZmluZWQgX19HTlVDX18gJiYgIWRl ZmluZWQgX19jbGFuZ19fICYmIF9fT1BUSU1JWkVfXykKICMgIGRlZmluZSBfR0xfQ1hYQUxJ QVNXQVJOXzIoZnVuYyxuYW1lc3BhY2UpIFwKQEAgLTMzOCw3ICszMzgsNyBAQAogICAgICAg ICAgICAgICAgICAgICAgICAgR05VTElCX05BTUVTUEFDRSkKICMgZGVmaW5lIF9HTF9DWFhB TElBU1dBUk4xXzEoZnVuYyxyZXR0eXBlLHBhcmFtZXRlcnNfYW5kX2F0dHJpYnV0ZXMsbmFt ZXNwYWNlKSBcCiAgICBfR0xfQ1hYQUxJQVNXQVJOMV8yIChmdW5jLCByZXR0eXBlLCBwYXJh bWV0ZXJzX2FuZF9hdHRyaWJ1dGVzLCBuYW1lc3BhY2UpCi0vKiBUbyB3b3JrIGFyb3VuZCBH Q0MgYnVnIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00 Mzg4MT4sCisvKiBUbyB3b3JrIGFyb3VuZCBHQ0MgYnVnIDxodHRwczovL2djYy5nbnUub3Jn L1BSNDM4ODE+LAogICAgd2UgZW5hYmxlIHRoZSB3YXJuaW5nIG9ubHkgd2hlbiBub3Qgb3B0 aW1pemluZy4gICovCiAjIGlmICEoZGVmaW5lZCBfX0dOVUNfXyAmJiAhZGVmaW5lZCBfX2Ns YW5nX18gJiYgX19PUFRJTUlaRV9fKQogIyAgZGVmaW5lIF9HTF9DWFhBTElBU1dBUk4xXzIo ZnVuYyxyZXR0eXBlLHBhcmFtZXRlcnNfYW5kX2F0dHJpYnV0ZXMsbmFtZXNwYWNlKSBcCmRp ZmYgLS1naXQgYS9saWIvY2FyZWFkbGlua2F0LmMgYi9saWIvY2FyZWFkbGlua2F0LmMKaW5k ZXggOWVjM2NhMzMyMi4uOGY0YTNjMWE3MCAxMDA2NDQKLS0tIGEvbGliL2NhcmVhZGxpbmth dC5jCisrKyBiL2xpYi9jYXJlYWRsaW5rYXQuYwpAQCAtNDUsNyArNDUsNyBAQCBlbnVtIHsg U1RBQ0tfQlVGX1NJWkUgPSAxMDI0IH07CiAgICBJZiBHQ0NfTElOVCBpcyBkZWZpbmVkLCBk byBub3QgaW5saW5lIHRoaXMgZnVuY3Rpb24gd2l0aCBHQ0MgMTAuMQogICAgYW5kIGxhdGVy LCB0byBhdm9pZCBjcmVhdGluZyBhIHBvaW50ZXIgdG8gdGhlIHN0YWNrIHRoYXQgR0NDCiAg ICAtV3JldHVybi1sb2NhbC1hZGRyIGluY29ycmVjdGx5IGNvbXBsYWlucyBhYm91dC4gIFNl ZToKLSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTkz NjQ0CisgICBodHRwczovL2djYy5nbnUub3JnL1BSOTM2NDQKICAgIEFsdGhvdWdoIHRoZSBu b2lubGluZSBhdHRyaWJ1dGUgY2FuIGh1cnQgcGVyZm9ybWFuY2UgYSBiaXQsIG5vIGJldHRl ciB3YXkKICAgIHRvIHBhY2lmeSBHQ0MgaXMga25vd247IGV2ZW4gYW4gZXhwbGljaXQgI3By YWdtYSBkb2VzIG5vdCBwYWNpZnkgR0NDLgogICAgV2hlbiB0aGUgR0NDIGJ1ZyBpcyBmaXhl ZCB0aGlzIHdvcmthcm91bmQgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gdGhlCkBAIC0xNzQsNyAr MTc0LDcgQEAgY2FyZWFkbGlua2F0IChpbnQgZmQsIGNoYXIgY29uc3QgKmZpbGVuYW1lLAog ICAgICBzaHJpbmtpbmcgcmVhbGxvYy4gICovCiAgICNpZmRlZiBHQ0NfQk9HVVNfV1JFVFVS Tl9MT0NBTF9BRERSCiAgICAjd2FybmluZyAiR0NDIG1pZ2h0IGlzc3VlIGEgYm9ndXMgLVdy ZXR1cm4tbG9jYWwtYWRkciB3YXJuaW5nIGhlcmUuIgotICAgI3dhcm5pbmcgIlNlZSA8aHR0 cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTM2NDQ+LiIKKyAg ICN3YXJuaW5nICJTZWUgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFI5MzY0ND4uIgogICAjZW5k aWYKICAgY2hhciBzdGFja19idWZbU1RBQ0tfQlVGX1NJWkVdOwogICByZXR1cm4gcmVhZGxp bmtfc3RrIChmZCwgZmlsZW5hbWUsIGJ1ZmZlciwgYnVmZmVyX3NpemUsIGFsbG9jLApkaWZm IC0tZ2l0IGEvbGliL2Zsb2F0LmluLmggYi9saWIvZmxvYXQuaW4uaAppbmRleCBhYjdlYTZk NTYxLi4zMDkzZjlhMDFkIDEwMDY0NAotLS0gYS9saWIvZmxvYXQuaW4uaAorKysgYi9saWIv ZmxvYXQuaW4uaApAQCAtMTM1LDcgKzEzNSw3IEBAIGV4dGVybiBjb25zdCB1bmlvbiBnbF9s b25nX2RvdWJsZV91bmlvbiBnbF9MREJMX01BWDsKICAgIHdoaWNoIHJlcHJlc2VudHMgMHgx LmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmOHArMTAyM0wuCiAgICBBbHRob3VnaCBjb21w dXRhdGlvbnMgY2FuIHlpZWxkIHJlcHJlc2VudGF0aW9ucyBvZiBudW1iZXJzIGxhcmdlciB0 aGFuIHRoaXMsCiAgICB0aGVzZSBjb21wdXRhdGlvbnMgYXJlIGNvbnNpZGVyZWQgdG8gaGF2 ZSBvdmVyZmxvd2VkIGFuZCBiZWhhdmlvciBpcyB1bmRlZmluZWQuCi0gICBTZWUgPGh0dHBz Oi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEyMDk5Mz4uICAqLwor ICAgU2VlIDxodHRwczovL2djYy5nbnUub3JnL1BSMTIwOTkzPi4gICovCiAjIHVuZGVmIExE QkxfTUFYCiAjIGRlZmluZSBMREJMX01BWCAweDEuZmZmZmZmZmZmZmZmZjdmZmZmZmZmZmZm ZmY4cCsxMDIzTAogCkBAIC0yMzQsNyArMjM0LDcgQEAgZXh0ZXJuIGNvbnN0IHVuaW9uIGds X2xvbmdfZG91YmxlX3VuaW9uIGdsX0xEQkxfVFJVRV9NSU47CiAjIGRlZmluZSBGTFRfTk9S TV9NQVggRkxUX01BWAogI2VuZGlmCiAjaWZuZGVmIEZMVF9TTkFOCi0vKiBGb3Igc2gsIGJl d2FyZSBvZiA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MTExODE0Pi4gICovCisvKiBGb3Igc2gsIGJld2FyZSBvZiA8aHR0cHM6Ly9nY2MuZ251Lm9y Zy9QUjExMTgxND4uICAqLwogIyBpZiAoKF9fR05VQ19fICsgKF9fR05VQ19NSU5PUl9fID49 IDMpID4gMykgfHwgZGVmaW5lZCBfX2NsYW5nX18pICYmICFkZWZpbmVkIF9fc2hfXwogIyAg ZGVmaW5lIEZMVF9TTkFOIF9fYnVpbHRpbl9uYW5zZiAoIiIpCiAjIGVsc2UKQEAgLTI1OCw3 ICsyNTgsNyBAQCBleHRlcm4gZ2xfRkxUX1NOQU5fdCBnbF9GTFRfU05BTjsKICMgZGVmaW5l IERCTF9OT1JNX01BWCBEQkxfTUFYCiAjZW5kaWYKICNpZm5kZWYgREJMX1NOQU4KLS8qIEZv ciBzaCwgYmV3YXJlIG9mIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVn LmNnaT9pZD0xMTE4MTQ+LiAgKi8KKy8qIEZvciBzaCwgYmV3YXJlIG9mIDxodHRwczovL2dj Yy5nbnUub3JnL1BSMTExODE0Pi4gICovCiAjIGlmICgoX19HTlVDX18gKyAoX19HTlVDX01J Tk9SX18gPj0gMykgPiAzKSB8fCBkZWZpbmVkIF9fY2xhbmdfXykgJiYgIWRlZmluZWQgX19z aF9fCiAjICBkZWZpbmUgREJMX1NOQU4gX19idWlsdGluX25hbnMgKCIiKQogIyBlbHNlCkBA IC0yOTAsNyArMjkwLDcgQEAgZXh0ZXJuIGdsX0RCTF9TTkFOX3QgZ2xfREJMX1NOQU47CiAj IGVuZGlmCiAjZW5kaWYKICNpZm5kZWYgTERCTF9TTkFOCi0vKiBGb3Igc2gsIGJld2FyZSBv ZiA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTExODE0 Pi4gICovCisvKiBGb3Igc2gsIGJld2FyZSBvZiA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjEx MTgxND4uICAqLwogIyBpZiAoKF9fR05VQ19fICsgKF9fR05VQ19NSU5PUl9fID49IDMpID4g MykgfHwgZGVmaW5lZCBfX2NsYW5nX18pICYmICFkZWZpbmVkIF9fc2hfXwogIyAgZGVmaW5l IExEQkxfU05BTiBfX2J1aWx0aW5fbmFuc2wgKCIiKQogIyBlbHNlCmRpZmYgLS1naXQgYS9s aWIvZnJlZS5jIGIvbGliL2ZyZWUuYwppbmRleCA5OGNlYWZkN2RhLi4zOTRkOGQxMzkwIDEw MDY0NAotLS0gYS9saWIvZnJlZS5jCisrKyBiL2xpYi9mcmVlLmMKQEAgLTMzLDcgKzMzLDcg QEAgcnBsX2ZyZWUgKHZvaWQgKnApCiB7CiAjIGlmIGRlZmluZWQgX19HTlVDX18gJiYgIWRl ZmluZWQgX19jbGFuZ19fCiAgIC8qIEFuIGludmFsaWQgR0NDIG9wdGltaXphdGlvbgotICAg ICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgzOTY+ CisgICAgIDxodHRwczovL2djYy5nbnUub3JnL1BSOTgzOTY+CiAgICAgIHdvdWxkIG9wdGlt aXplIGF3YXkgdGhlIGFzc2lnbm1lbnRzIGluIHRoZSBjb2RlIGJlbG93LCB3aGVuIGxpbmst dGltZQogICAgICBvcHRpbWl6YXRpb24gKExUTykgaXMgZW5hYmxlZC4gIE1ha2UgdGhlIGNv ZGUgbW9yZSBjb21wbGljYXRlZCwgc28gdGhhdAogICAgICBHQ0MgZG9lcyBub3QgZ3JvayBo b3cgdG8gb3B0aW1pemUgaXQuICAqLwpkaWZmIC0tZ2l0IGEvbGliL2ludHByb3BzLWludGVy bmFsLmggYi9saWIvaW50cHJvcHMtaW50ZXJuYWwuaAppbmRleCA2MmRlM2M4ODllLi5hYjFh OTRmODZkIDEwMDY0NAotLS0gYS9saWIvaW50cHJvcHMtaW50ZXJuYWwuaAorKysgYi9saWIv aW50cHJvcHMtaW50ZXJuYWwuaApAQCAtMTEyLDcgKzExMiw3IEBACiAjZWxpZiBkZWZpbmVk IF9faGFzX2J1aWx0aW4KICMgZGVmaW5lIF9HTF9IQVNfQlVJTFRJTl9BRERfT1ZFUkZMT1cg X19oYXNfYnVpbHRpbiAoX19idWlsdGluX2FkZF9vdmVyZmxvdykKIC8qIF9fYnVpbHRpbl97 YWRkLHN1Yn1fb3ZlcmZsb3cgZXhpc3RzIGJ1dCBpcyBub3QgcmVsaWFibGUgaW4gR0NDIDUu eCBhbmQgNi54LAotICAgc2VlIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD05ODI2OT4uICAqLworICAgc2VlIDxodHRwczovL2djYy5nbnUub3JnL1BS OTgyNjk+LiAgKi8KICNlbGlmIDcgPD0gX19HTlVDX18KICMgZGVmaW5lIF9HTF9IQVNfQlVJ TFRJTl9BRERfT1ZFUkZMT1cgMQogI2Vsc2UKQEAgLTE4NCw3ICsxODQsNyBAQAogI2VuZGlm CiAKIC8qIE5vbnplcm8gaWYgdGhpcyBjb21waWxlciBoYXMgR0NDIGJ1ZyA2ODE5MyBvciBD bGFuZyBidWcgMjUzOTAuICBTZWU6Ci0gICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxh L3Nob3dfYnVnLmNnaT9pZD02ODE5MworICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjY4MTkz CiAgICBodHRwczovL2xsdm0ub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTI1MzkwCiAgICBG b3Igbm93LCBhc3N1bWUgR0NDIDwgMTQgYW5kIGFsbCBDbGFuZyB2ZXJzaW9ucyBnZW5lcmF0 ZSBib2d1cwogICAgd2FybmluZ3MgZm9yIF9HZW5lcmljLiAgVGhpcyBtYXR0ZXJzIG9ubHkg Zm9yIGNvbXBpbGVycyB0aGF0CmRpZmYgLS1naXQgYS9saWIvcmVhbGxvYy5jIGIvbGliL3Jl YWxsb2MuYwppbmRleCA0MjM3NTAxMDk3Li42MmVmZDVhMzlmIDEwMDY0NAotLS0gYS9saWIv cmVhbGxvYy5jCisrKyBiL2xpYi9yZWFsbG9jLmMKQEAgLTUwLDcgKzUwLDcgQEAgcnBsX3Jl YWxsb2MgKHZvaWQgKnAsIHNpemVfdCBuKQogICAgICAgICAgdW5kZWZpbmVkIGJlaGF2aW9y IGV2ZW4gdGhvdWdoIEMxNyBhbmQgZWFybGllciBwYXJ0aWFsbHkgZGVmaW5lZAogICAgICAg ICAgdGhlIGJlaGF2aW9yLiAgTGV0IHRoZSBwcm9ncmFtbWVyIGtub3cuCiAgICAgICAgICBX aGVuIHRoZSB1bmRlZmluZWQtYmVoYXZpb3VyIHNhbml0aXplcnMgcmVwb3J0IHRoaXMgY2Fz ZSwgaS5lLiB3aGVuCi0gICAgICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTE3MjMzPiBhbmQKKyAgICAgICAgIDxodHRwczovL2djYy5nbnUu b3JnL1BSMTE3MjMzPiBhbmQKICAgICAgICAgIDxodHRwczovL2dpdGh1Yi5jb20vbGx2bS9s bHZtLXByb2plY3QvaXNzdWVzLzExMzA2NT4KICAgICAgICAgIGhhdmUgYmVlbiBjbG9zZWQg YW5kIG5ldyByZWxlYXNlcyBvZiBHQ0MgYW5kIGNsYW5nIGhhdmUgYmVlbiBtYWRlLAogICAg ICAgICAgd2UgY2FuIHJldmlzaXQgdGhpcyBjb2RlLiAgKi8KZGlmZiAtLWdpdCBhL2xpYi9z YXZlZGlyLmMgYi9saWIvc2F2ZWRpci5jCmluZGV4IDQwZTNiOGNlYmMuLjJlNGY2ZjlhN2Mg MTAwNjQ0Ci0tLSBhL2xpYi9zYXZlZGlyLmMKKysrIGIvbGliL3NhdmVkaXIuYwpAQCAtNDEs NyArNDEsNyBAQAogI2luY2x1ZGUgImF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgInhhbGxvYy5o IgogCi0vKiBQYWNpZnkgR0NDIGJ1ZyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTEzOTYzPi4gICovCisvKiBQYWNpZnkgR0NDIGJ1ZyA8aHR0cHM6 Ly9nY2MuZ251Lm9yZy9QUjExMzk2Mz4uICAqLwogI2lmIF9HTF9HTlVDX1BSRVJFUSAoMTMs IDApCiAjIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FuYWx5emVyLW1hbGxv Yy1sZWFrIgogIyBwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhbmFseXplci1u dWxsLWRlcmVmZXJlbmNlIgpkaWZmIC0tZ2l0IGEvbGliL3NpZ25lZC1uYW4uaCBiL2xpYi9z aWduZWQtbmFuLmgKaW5kZXggZmNjMTJkMzRjZi4uNDEzNjBkYjU1NiAxMDA2NDQKLS0tIGEv bGliL3NpZ25lZC1uYW4uaAorKysgYi9saWIvc2lnbmVkLW5hbi5oCkBAIC01Myw3ICs1Myw3 IEBAIF9HTF9VTlVTRUQgc3RhdGljIGZsb2F0CiBwb3NpdGl2ZV9OYU5mICgpCiB7CiAgIC8q ICd2b2xhdGlsZScgd29ya3MgYXJvdW5kIGEgR0NDIGJ1ZzoKLSAgICAgPGh0dHBzOi8vZ2Nj LmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExMTY1NT4gICovCisgICAgIDxo dHRwczovL2djYy5nbnUub3JnL1BSMTExNjU1PiAgKi8KICAgZmxvYXQgdm9sYXRpbGUgbmFu ID0gTmFOZiAoKTsKICAgcmV0dXJuIChzaWduYml0IChuYW4pID8gbWludXNfTmFOZiAobmFu KSA6IG5hbik7CiB9CkBAIC02Myw3ICs2Myw3IEBAIF9HTF9VTlVTRUQgc3RhdGljIGZsb2F0 CiBuZWdhdGl2ZV9OYU5mICgpCiB7CiAgIC8qICd2b2xhdGlsZScgd29ya3MgYXJvdW5kIGEg R0NDIGJ1ZzoKLSAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcu Y2dpP2lkPTExMTY1NT4gICovCisgICAgIDxodHRwczovL2djYy5nbnUub3JnL1BSMTExNjU1 PiAgKi8KICAgZmxvYXQgdm9sYXRpbGUgbmFuID0gTmFOZiAoKTsKICAgcmV0dXJuIChzaWdu Yml0IChuYW4pID8gbmFuIDogbWludXNfTmFOZiAobmFuKSk7CiB9CkBAIC05MSw3ICs5MSw3 IEBAIF9HTF9VTlVTRUQgc3RhdGljIGRvdWJsZQogcG9zaXRpdmVfTmFOZCAoKQogewogICAv KiAndm9sYXRpbGUnIHdvcmtzIGFyb3VuZCBhIEdDQyBidWc6Ci0gICAgIDxodHRwczovL2dj Yy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMTE2NTU+ICAqLworICAgICA8 aHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExMTY1NT4gICovCiAgIGRvdWJsZSB2b2xhdGlsZSBu YW4gPSBOYU5kICgpOwogICByZXR1cm4gKHNpZ25iaXQgKG5hbikgPyBtaW51c19OYU5kIChu YW4pIDogbmFuKTsKIH0KQEAgLTEwMSw3ICsxMDEsNyBAQCBfR0xfVU5VU0VEIHN0YXRpYyBk b3VibGUKIG5lZ2F0aXZlX05hTmQgKCkKIHsKICAgLyogJ3ZvbGF0aWxlJyB3b3JrcyBhcm91 bmQgYSBHQ0MgYnVnOgotICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MTExNjU1PiAgKi8KKyAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFIx MTE2NTU+ICAqLwogICBkb3VibGUgdm9sYXRpbGUgbmFuID0gTmFOZCAoKTsKICAgcmV0dXJu IChzaWduYml0IChuYW4pID8gbmFuIDogbWludXNfTmFOZCAobmFuKSk7CiB9CkBAIC0xMjAs NyArMTIwLDcgQEAgX0dMX1VOVVNFRCBzdGF0aWMgbG9uZyBkb3VibGUKIHBvc2l0aXZlX05h TmwgKCkKIHsKICAgLyogJ3ZvbGF0aWxlJyB3b3JrcyBhcm91bmQgYSBHQ0MgYnVnOgotICAg ICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTExNjU1 PiAgKi8KKyAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFIxMTE2NTU+ICAqLwogICBsb25n IGRvdWJsZSB2b2xhdGlsZSBuYW4gPSBOYU5sICgpOwogICByZXR1cm4gKHNpZ25iaXQgKG5h bikgPyBtaW51c19OYU5sIChuYW4pIDogbmFuKTsKIH0KQEAgLTEzMCw3ICsxMzAsNyBAQCBf R0xfVU5VU0VEIHN0YXRpYyBsb25nIGRvdWJsZQogbmVnYXRpdmVfTmFObCAoKQogewogICAv KiAndm9sYXRpbGUnIHdvcmtzIGFyb3VuZCBhIEdDQyBidWc6Ci0gICAgIDxodHRwczovL2dj Yy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMTE2NTU+ICAqLworICAgICA8 aHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExMTY1NT4gICovCiAgIGxvbmcgZG91YmxlIHZvbGF0 aWxlIG5hbiA9IE5hTmwgKCk7CiAgIHJldHVybiAoc2lnbmJpdCAobmFuKSA/IG5hbiA6IG1p bnVzX05hTmwgKG5hbikpOwogfQpkaWZmIC0tZ2l0IGEvbGliL3N0ZGRlZi5pbi5oIGIvbGli L3N0ZGRlZi5pbi5oCmluZGV4IGU4YzU1ZmYxY2QuLjlhZDc2OGQ3ODUgMTAwNjQ0Ci0tLSBh L2xpYi9zdGRkZWYuaW4uaAorKysgYi9saWIvc3RkZGVmLmluLmgKQEAgLTMyLDcgKzMyLDcg QEAKICAgICAgfHwgZGVmaW5lZCBfX25lZWRfd2ludF90KSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAogICAgIC8qIEF2b2lkIHdhcm5pbmcgdHJpZ2dlcmVkIGJ5 ICJnY2MgLXN0ZD1nbnUyMyAtV3N5c3RlbS1oZWFkZXJzIiBcCiAgICAgICAgaW4gR0NDIDEz LjMgYW5kIDE0LjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSAgICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MTE0ODcwPi4gICovICAgXAorICAgICAgIDxodHRwczovL2djYy5nbnUub3JnL1BSMTE0ODcw Pi4gICovICAgXAogICAgICYmICFAU1REREVGX05PVF9JREVNUE9URU5UQAogLyogU3BlY2lh bCBpbnZvY2F0aW9uIGNvbnZlbnRpb24gaW5zaWRlIGdjYyBoZWFkZXIgZmlsZXMuICBJbgog ICAgcGFydGljdWxhciwgPHN0ZGRlZi5oPiBpbiBzb21lIGFuY2llbnQgdmVyc2lvbnMgb2Yg R0NDIGJsaW5kbHkKQEAgLTkxLDcgKzkxLDcgQEAgdHlwZWRlZiBsb25nIG1heF9hbGlnbl90 OwogCiAjICBpZiAhZGVmaW5lZCBfR0NDX05VTExQVFJfVCAmJiAhQE5VTExQVFJfVF9ORUVE U19TVERERUZACiAgICAgLyogU3VwcHJlc3MgdW53YW50ZWQgbnVsbHB0cl90IHR5cGVkZWYu ICBTZWUKLSAgICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9MTE0ODY5Pi4gICovCisgICAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFIxMTQ4 Njk+LiAgKi8KICMgICBkZWZpbmUgX0dDQ19OVUxMUFRSX1QKICMgIGVuZGlmCiAKZGlmZiAt LWdpdCBhL2xpYi9zdHJmdGltZS5jIGIvbGliL3N0cmZ0aW1lLmMKaW5kZXggNTM3MTcyZDhi ZS4uMjdlMmNhMDk3NiAxMDA2NDQKLS0tIGEvbGliL3N0cmZ0aW1lLmMKKysrIGIvbGliL3N0 cmZ0aW1lLmMKQEAgLTM1NSw3ICszNTUsNyBAQCBlbnVtIHBhZF9zdHlsZQogLyogQXZvaWQg ZmFsc2UgR0NDIHdhcm5pbmcgIidtZW1zZXQnIHNwZWNpZmllZCBzaXplIDE4NDQ2NzQ0MDcz NzA5NTUxNjE1IGV4Y2VlZHMKICAgIG1heGltdW0gb2JqZWN0IHNpemUgOTIyMzM3MjAzNjg1 NDc3NTgwNyIsIGNhdXNlZCBieSBpbnN1ZmZpY2llbnQgZGF0YSBmbG93CiAgICBhbmFseXNp cyBhbmQgdmFsdWUgcHJvcGFnYXRpb24gb2YgdGhlICd3aWR0aF9hZGQnIGV4cGFuc2lvbiB3 aGVuIEdDQyBpcyBub3QKLSAgIG9wdGltaXppbmcuICBDZi4gPGh0dHBzOi8vZ2NjLmdudS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTg4NDQzPi4gICovCisgICBvcHRpbWl6aW5n LiAgQ2YuIDxodHRwczovL2djYy5nbnUub3JnL1BSODg0NDM+LiAgKi8KICNpZiBfR0xfR05V Q19QUkVSRVEgKDcsIDApICYmICFfX09QVElNSVpFX18KICMgcHJhZ21hIEdDQyBkaWFnbm9z dGljIGlnbm9yZWQgIi1Xc3RyaW5nb3Atb3ZlcmZsb3ciCiAjZW5kaWYKZGlmZiAtLWdpdCBh L2xpYi9zdHJpbmcuaW4uaCBiL2xpYi9zdHJpbmcuaW4uaAppbmRleCA5YTAzOWM3YmEwLi40 MzMzMDU1OTkzIDEwMDY0NAotLS0gYS9saWIvc3RyaW5nLmluLmgKKysrIGIvbGliL3N0cmlu Zy5pbi5oCkBAIC05Niw3ICs5Niw3IEBACiAvKiBBcHBsaWVzIHRvOiBmdW5jdGlvbnMuICBD YW5ub3QgYmUgdXNlZCBvbiBpbmxpbmUgZnVuY3Rpb25zLiAgKi8KICNpZm5kZWYgX0dMX0FU VFJJQlVURV9ERUFMTE9DX0ZSRUUKICMgaWYgZGVmaW5lZCBfX2NwbHVzcGx1cyAmJiBkZWZp bmVkIF9fR05VQ19fICYmICFkZWZpbmVkIF9fY2xhbmdfXwotLyogV29yayBhcm91bmQgR0ND IGJ1ZyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA4 MjMxPiAqLworLyogV29yayBhcm91bmQgR0NDIGJ1ZyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9Q UjEwODIzMT4gKi8KICMgIGRlZmluZSBfR0xfQVRUUklCVVRFX0RFQUxMT0NfRlJFRSBcCiAg ICAgIF9HTF9BVFRSSUJVVEVfREVBTExPQyAoKHZvaWQgKCopICh2b2lkICopKSBmcmVlLCAx KQogIyBlbHNlCmRpZmYgLS1naXQgYS9saWIvdG90YWxvcmRlci5jIGIvbGliL3RvdGFsb3Jk ZXIuYwppbmRleCA1ODI0ZGE4MzZmLi4wZGE4NzhkNTRhIDEwMDY0NAotLS0gYS9saWIvdG90 YWxvcmRlci5jCisrKyBiL2xpYi90b3RhbG9yZGVyLmMKQEAgLTYwLDcgKzYwLDcgQEAgdG90 YWxvcmRlciAoZG91YmxlIGNvbnN0ICp4LCBkb3VibGUgY29uc3QgKnkpCiAjIGlmIGRlZmlu ZWQgX19HTlVDX18gfHwgZGVmaW5lZCBfX2NsYW5nX18KICAgLyogUHJldmVudCBnY2MgYW5k IGNsYW5nIGZyb20gcmV1c2luZyB0aGUgdmFsdWVzIG9mICp4IGFuZCAqeSAoZmV0Y2hlZCBh Ym92ZSkKICAgICAgaW4gb3B0aW1pemVkIGlubGluZWQgbWVtY3B5IGV4cGFuc2lvbnMuCi0g ICAgIFNlZW4gd2l0aCBnY2MgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTExNDY1OT4KKyAgICAgU2VlbiB3aXRoIGdjYyA8aHR0cHM6Ly9nY2MuZ251 Lm9yZy9QUjExNDY1OT4KICAgICAgYW5kIHdpdGggY2xhbmcgMTYuMC42IG9uIE9wZW5CU0Qg Ny41LiAgKi8KICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCIiIDogOiA6ICJtZW1vcnkiKTsK ICMgZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi90b3RhbG9yZGVyZi5jIGIvbGliL3RvdGFsb3Jk ZXJmLmMKaW5kZXggODhjODU4MGY5ZC4uYWU0YTJiM2M5OCAxMDA2NDQKLS0tIGEvbGliL3Rv dGFsb3JkZXJmLmMKKysrIGIvbGliL3RvdGFsb3JkZXJmLmMKQEAgLTYwLDcgKzYwLDcgQEAg dG90YWxvcmRlcmYgKGZsb2F0IGNvbnN0ICp4LCBmbG9hdCBjb25zdCAqeSkKICMgaWYgZGVm aW5lZCBfX0dOVUNfXyB8fCBkZWZpbmVkIF9fY2xhbmdfXwogICAvKiBQcmV2ZW50IGdjYyBh bmQgY2xhbmcgZnJvbSByZXVzaW5nIHRoZSB2YWx1ZXMgb2YgKnggYW5kICp5IChmZXRjaGVk IGFib3ZlKQogICAgICBpbiBvcHRpbWl6ZWQgaW5saW5lZCBtZW1jcHkgZXhwYW5zaW9ucy4K LSAgICAgU2VlbiB3aXRoIGdjYyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MTE0NjU5PgorICAgICBTZWVuIHdpdGggZ2NjIDxodHRwczovL2djYy5n bnUub3JnL1BSMTE0NjU5PgogICAgICBhbmQgd2l0aCBjbGFuZyAxNi4wLjYgb24gT3BlbkJT RCA3LjUuICAqLwogICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIiIgOiA6IDogIm1lbW9yeSIp OwogIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3RvdGFsb3JkZXJtYWcuYyBiL2xpYi90b3Rh bG9yZGVybWFnLmMKaW5kZXggMzg5M2NjZjk0ZC4uNjhmNWJlY2VjMiAxMDA2NDQKLS0tIGEv bGliL3RvdGFsb3JkZXJtYWcuYworKysgYi9saWIvdG90YWxvcmRlcm1hZy5jCkBAIC02MCw3 ICs2MCw3IEBAIHRvdGFsb3JkZXJtYWcgKGRvdWJsZSBjb25zdCAqeCwgZG91YmxlIGNvbnN0 ICp5KQogIyAgaWYgZGVmaW5lZCBfX0dOVUNfXyB8fCBkZWZpbmVkIF9fY2xhbmdfXwogICAv KiBQcmV2ZW50IGdjYyBhbmQgY2xhbmcgZnJvbSByZXVzaW5nIHRoZSB2YWx1ZXMgb2YgKngg YW5kICp5IChmZXRjaGVkIGFib3ZlKQogICAgICBpbiBvcHRpbWl6ZWQgaW5saW5lZCBtZW1j cHkgZXhwYW5zaW9ucy4KLSAgICAgU2VlbiB3aXRoIGdjYyA8aHR0cHM6Ly9nY2MuZ251Lm9y Zy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTE0NjU5PgorICAgICBTZWVuIHdpdGggZ2Nj IDxodHRwczovL2djYy5nbnUub3JnL1BSMTE0NjU5PgogICAgICBhbmQgd2l0aCBjbGFuZyAx Ni4wLjYgb24gT3BlbkJTRCA3LjUuICAqLwogICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIiIg OiA6IDogIm1lbW9yeSIpOwogIyAgZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi90b3RhbG9yZGVy bWFnZi5jIGIvbGliL3RvdGFsb3JkZXJtYWdmLmMKaW5kZXggYjY4NzllMmQyNy4uOWZlYzJj ZjdmYyAxMDA2NDQKLS0tIGEvbGliL3RvdGFsb3JkZXJtYWdmLmMKKysrIGIvbGliL3RvdGFs b3JkZXJtYWdmLmMKQEAgLTYwLDcgKzYwLDcgQEAgdG90YWxvcmRlcm1hZ2YgKGZsb2F0IGNv bnN0ICp4LCBmbG9hdCBjb25zdCAqeSkKICMgIGlmIGRlZmluZWQgX19HTlVDX18gfHwgZGVm aW5lZCBfX2NsYW5nX18KICAgLyogUHJldmVudCBnY2MgYW5kIGNsYW5nIGZyb20gcmV1c2lu ZyB0aGUgdmFsdWVzIG9mICp4IGFuZCAqeSAoZmV0Y2hlZCBhYm92ZSkKICAgICAgaW4gb3B0 aW1pemVkIGlubGluZWQgbWVtY3B5IGV4cGFuc2lvbnMuCi0gICAgIFNlZW4gd2l0aCBnY2Mg PGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExNDY1OT4K KyAgICAgU2VlbiB3aXRoIGdjYyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExNDY1OT4KICAg ICAgYW5kIHdpdGggY2xhbmcgMTYuMC42IG9uIE9wZW5CU0QgNy41LiAgKi8KICAgX19hc21f XyBfX3ZvbGF0aWxlX18gKCIiIDogOiA6ICJtZW1vcnkiKTsKICMgIGVuZGlmCmRpZmYgLS1n aXQgYS9saWIvd2NoYXIuaW4uaCBiL2xpYi93Y2hhci5pbi5oCmluZGV4IGE2YzUyZWI5YzYu LjIzZDhiM2M1YmYgMTAwNjQ0Ci0tLSBhL2xpYi93Y2hhci5pbi5oCisrKyBiL2xpYi93Y2hh ci5pbi5oCkBAIC0xMTAsNyArMTEwLDcgQEAKIC8qIEFwcGxpZXMgdG86IGZ1bmN0aW9ucy4g IENhbm5vdCBiZSB1c2VkIG9uIGlubGluZSBmdW5jdGlvbnMuICAqLwogI2lmbmRlZiBfR0xf QVRUUklCVVRFX0RFQUxMT0NfRlJFRQogIyBpZiBkZWZpbmVkIF9fY3BsdXNwbHVzICYmIGRl ZmluZWQgX19HTlVDX18gJiYgIWRlZmluZWQgX19jbGFuZ19fCi0vKiBXb3JrIGFyb3VuZCBH Q0MgYnVnIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0x MDgyMzE+ICovCisvKiBXb3JrIGFyb3VuZCBHQ0MgYnVnIDxodHRwczovL2djYy5nbnUub3Jn L1BSMTA4MjMxPiAqLwogIyAgZGVmaW5lIF9HTF9BVFRSSUJVVEVfREVBTExPQ19GUkVFIFwK ICAgICAgX0dMX0FUVFJJQlVURV9ERUFMTE9DICgodm9pZCAoKikgKHZvaWQgKikpIGZyZWUs IDEpCiAjIGVsc2UKZGlmZiAtLWdpdCBhL200L2J0b3djLm00IGIvbTQvYnRvd2MubTQKaW5k ZXggNTlkNTJiZTZmNi4uZmQxOGRiNzUzZSAxMDA2NDQKLS0tIGEvbTQvYnRvd2MubTQKKysr IGIvbTQvYnRvd2MubTQKQEAgLTEzLDcgKzEzLDcgQEAgQUNfREVGVU4oW2dsX0ZVTkNfQlRP V0NdLAogCiAgIGRubCBDaGVjayB3aGV0aGVyIDx3Y2hhci5oPiBpcyB1c2FibGUgYXQgYWxs LCBmaXJzdC4gT3RoZXJ3aXNlIHRoZSB0ZXN0CiAgIGRubCBwcm9ncmFtIGJlbG93IG1heSBs ZWFkIHRvIGFuIGVuZGxlc3MgbG9vcC4gU2VlCi0gIGRubCA8aHR0cHM6Ly9nY2MuZ251Lm9y Zy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NDI0NDA+LgorICBkbmwgPGh0dHBzOi8vZ2Nj LmdudS5vcmcvUFI0MjQ0MD4uCiAgIEFDX1JFUVVJUkUoW2dsX1dDSEFSX0hfSU5MSU5FX09L XSkKIAogICBBQ19DSEVDS19GVU5DU19PTkNFKFtidG93Y10pCmRpZmYgLS1naXQgYS9tNC9l eHRlcm4taW5saW5lLm00IGIvbTQvZXh0ZXJuLWlubGluZS5tNAppbmRleCBkNGZlNmQ4MmE1 Li4wZWJjYmEzNDc1IDEwMDY0NAotLS0gYS9tNC9leHRlcm4taW5saW5lLm00CisrKyBiL200 L2V4dGVybi1pbmxpbmUubTQKQEAgLTExMiw4ICsxMTIsOCBAQCBBQ19ERUZVTihbZ2xfRVhU RVJOX0lOTElORV0sCiAgICBzdXBwcmVzcyBib2d1cyAibm8gcHJldmlvdXMgcHJvdG90eXBl IGZvciAnRk9PJyIKICAgIGFuZCAibm8gcHJldmlvdXMgZGVjbGFyYXRpb24gZm9yICdGT08n IiBkaWFnbm9zdGljcywKICAgIHdoZW4gRk9PIGlzIGFuIGlubGluZSBmdW5jdGlvbiBpbiB0 aGUgaGVhZGVyOyBzZWUKLSAgIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD01NDExMz4gYW5kCi0gICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9NjM4Nzc+LiAgKi8KKyAgIDxodHRwczovL2djYy5nbnUub3Jn L1BSNTQxMTM+IGFuZAorICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFI2Mzg3Nz4uICAqLwog I2lmIF9fR05VQ19fID09IDQgJiYgNiA8PSBfX0dOVUNfTUlOT1JfXwogIyBpZiBkZWZpbmVk IF9fR05VQ19TVERDX0lOTElORV9fICYmIF9fR05VQ19TVERDX0lOTElORV9fCiAjICBkZWZp bmUgX0dMX0lOTElORV9IRUFERVJfQ09OU1RfUFJBR01BCmRpZmYgLS1naXQgYS9tNC9nbnVs aWItY29tbW9uLm00IGIvbTQvZ251bGliLWNvbW1vbi5tNAppbmRleCAwMzRkYWU2OWU2Li4x MzRiZmJhMjFkIDEwMDY0NAotLS0gYS9tNC9nbnVsaWItY29tbW9uLm00CisrKyBiL200L2du dWxpYi1jb21tb24ubTQKQEAgLTE2OCw3ICsxNjgsNyBAQCBBQ19ERUZVTihbZ2xfQ09NTU9O X0JPRFldLCBbCiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICBUaGlzIGdpdmVzIGEg c3ludGF4IGVycm9yCiAgICAgICAgIC0gaW4gQyBtb2RlIHdpdGggZ2NjCi0gICAgICAgICAg PGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEwODc5Nj4s IGFuZAorICAgICAgICAgIDxodHRwczovL2djYy5nbnUub3JnL1BSMTA4Nzk2PiwgYW5kCiAg ICAgICAgIC0gaW4gQysrIG1vZGUgd2l0aCBjbGFuZysrIHZlcnNpb24gPCAxNiwgYW5kCiAg ICAgICAgIC0gaW4gQysrIG1vZGUsIGluc2lkZSBleHRlcm4gIkMiIHt9LCBzdGlsbCBpbiBu ZXdlciBjbGFuZysrIHZlcnNpb25zCiAgICAgICAgICAgPGh0dHBzOi8vZ2l0aHViLmNvbS9s bHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvMTAxOTkwPi4KQEAgLTQ1MSw3ICs0NTEsNyBAQCBB Q19ERUZVTihbZ2xfQ09NTU9OX0JPRFldLCBbCiAgICB5ZXQuICAqLwogI2lmbmRlZiBfR0xf QVRUUklCVVRFX0RFQUxMT0NfRlJFRQogIyBpZiBkZWZpbmVkIF9fY3BsdXNwbHVzICYmIGRl ZmluZWQgX19HTlVDX18gJiYgIWRlZmluZWQgX19jbGFuZ19fCi0vKiBXb3JrIGFyb3VuZCBH Q0MgYnVnIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0x MDgyMzE+ICovCisvKiBXb3JrIGFyb3VuZCBHQ0MgYnVnIDxodHRwczovL2djYy5nbnUub3Jn L1BSMTA4MjMxPiAqLwogIyAgZGVmaW5lIF9HTF9BVFRSSUJVVEVfREVBTExPQ19GUkVFIFwK ICAgICAgX0dMX0FUVFJJQlVURV9ERUFMTE9DICgodm9pZCAoKikgKHZvaWQgKikpIGZyZWUs IDEpCiAjIGVsc2UKZGlmZiAtLWdpdCBhL200L21hbnl3YXJuaW5ncy5tNCBiL200L21hbnl3 YXJuaW5ncy5tNAppbmRleCBlZWJiYTkwMTgwLi5iYjViNGUxMGNkIDEwMDY0NAotLS0gYS9t NC9tYW55d2FybmluZ3MubTQKKysrIGIvbTQvbWFueXdhcm5pbmdzLm00CkBAIC0xOTgsNyAr MTk4LDcgQEAgQUNfREVGVU4oW2dsX01BTllXQVJOX0FMTF9HQ0MoQyldLAogICBmaQogCiAg ICMgVGhpcyB3YXJuaW5nIGhhdmUgdG9vIG1hbnkgZmFsc2UgYWxhcm1zIGluIEdDQyAxMS4y LjEuCi0gICMgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MTAxNzEzCisgICMgaHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjEwMTcxMwogICBBU19WQVJfQVBQ RU5EKFskMV0sIFsnIC1Xbm8tYW5hbHl6ZXItbWFsbG9jLWxlYWsnXSkKIAogICBBQ19MQU5H X1BPUChbQ10pCmRpZmYgLS1naXQgYS9tNC9udWxscHRyLm00IGIvbTQvbnVsbHB0ci5tNApp bmRleCBhYTQ1N2VkMmI2Li4yYzBiZGRlOGFhIDEwMDY0NAotLS0gYS9tNC9udWxscHRyLm00 CisrKyBiL200L251bGxwdHIubTQKQEAgLTE2LDcgKzE2LDcgQEAgQUNfREVGVU4oW2dsX05V TExQVFJdLAogICAgICAgIFtBQ19DT01QSUxFX0lGRUxTRSgKICAgICAgICAgICBbQUNfTEFO R19TT1VSQ0UoW1tpbnQgKnAgPSBudWxscHRyO11dKV0sCiAgICAgICAgICAgW2dsX2N2X2Nf bnVsbHB0cj15ZXMKLSAgICAgICAgICAgIyBXb3JrIGFyb3VuZCA8aHR0cHM6Ly9nY2MuZ251 Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTE0NzgwPi4KKyAgICAgICAgICAgIyBX b3JrIGFyb3VuZCA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExNDc4MD4uCiAgICAgICAgICAg IGdsX3NhdmVkX0NGTEFHUz0kQ0ZMQUdTCiAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyAt V2FsbCAtV2Vycm9yIgogICAgICAgICAgICBBQ19DT01QSUxFX0lGRUxTRSgKZGlmZiAtLWdp dCBhL200L3N0ZGFsaWduLm00IGIvbTQvc3RkYWxpZ24ubTQKaW5kZXggODg1ZmVhZmRkOC4u ZDIyMzYwZTEwNyAxMDA2NDQKLS0tIGEvbTQvc3RkYWxpZ24ubTQKKysrIGIvbTQvc3RkYWxp Z24ubTQKQEAgLTMwLDcgKzMwLDcgQEAgQUNfREVGVU4oW2dsX0FMSUdOQVNPRl0sCiAKICAg ICAgICAgICAgIC8qIFRlc3QgdGhhdCBhbGlnbm9mIHlpZWxkcyBhIHJlc3VsdCBjb25zaXN0 ZW50IHdpdGggb2Zmc2V0b2YuCiAgICAgICAgICAgICAgICBUaGlzIGNhdGNoZXMgR0NDIGJ1 ZyA1MjAyMwotICAgICAgICAgICAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEv c2hvd19idWcuY2dpP2lkPTUyMDIzPi4gICovCisgICAgICAgICAgICAgICA8aHR0cHM6Ly9n Y2MuZ251Lm9yZy9QUjUyMDIzPi4gICovCiAgICAgICAgICAgICAjaWZkZWYgX19jcGx1c3Bs dXMKICAgICAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyB0PiBzdHJ1Y3QgYWxpZ25vZl9o ZWxwZXIgeyBjaGFyIGE7IHQgYjsgfTsKICAgICAgICAgICAgICMgZGVmaW5lIGFvKHR5cGUp IG9mZnNldG9mIChhbGlnbm9mX2hlbHBlcjx0eXBlPiwgYikKQEAgLTEwMyw3ICsxMDMsNyBA QCBBQ19ERUZVTihbZ2xfQUxJR05BU09GXSwKICAgIHdhbnQgdG8gYmUgcG9ydGFibGUgdG8g SFAtVVggMTAuMjAgY2MgYW5kIEFJWCAzLjIuNSB4bGMuICAqLwogCiAvKiBHQ0MgcmVsZWFz ZXMgYmVmb3JlIEdDQyA0LjkgaGFkIGEgYnVnIGluIF9BbGlnbm9mLiAgU2VlIEdDQyBidWcg NTIwMjMKLSAgIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p ZD01MjAyMz4uCisgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjUyMDIzPi4KICAgIGNsYW5n IHZlcnNpb25zIDwgOC4wLjAgaGF2ZSB0aGUgc2FtZSBidWcuCiAgICBJQk0gWEwgQyBWMTYu MS4wIGNjIChub24tY2xhbmcpIGhhcyB0aGUgc2FtZSBidWcuICAqLwogIyAgaWYgKCFkZWZp bmVkIF9fU1REQ19WRVJTSU9OX18gfHwgX19TVERDX1ZFUlNJT05fXyA8IDIwMTExMiBcCmRp ZmYgLS1naXQgYS9tNC9zdGRkZWZfaC5tNCBiL200L3N0ZGRlZl9oLm00CmluZGV4IDEyN2Vj MDViNjAuLmQ1MmQ1NDk0ODkgMTAwNjQ0Ci0tLSBhL200L3N0ZGRlZl9oLm00CisrKyBiL200 L3N0ZGRlZl9oLm00CkBAIC04NSw3ICs4NSw3IEBAIEFDX0RFRlVOX09OQ0UoW2dsX1NURERF Rl9IXSwKICAgZG5sIFByb3ZpZGUgZ2xfdW5yZWFjaGFibGUoKSB1bmNvbmRpdGlvbmFsbHku CiAgIEdMX0dFTkVSQVRFX1NURERFRl9IPXRydWUKIAotICBkbmwgaHR0cHM6Ly9nY2MuZ251 Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTE0ODY5CisgIGRubCBodHRwczovL2dj Yy5nbnUub3JnL1BSMTE0ODY5CiAgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIG51bGxwdHJf dCBuZWVkcyA8c3RkZGVmLmg+XSwKICAgICBbZ2xfY3ZfbnVsbHB0cl90X25lZWRzX3N0ZGRl Zl0sCiAgICAgW0FDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX0RFRklORVNfUFJPVklERURb bnVsbHB0cl90IHg7XV0sCkBAIC05Niw3ICs5Niw3IEBAIEFDX0RFRlVOX09OQ0UoW2dsX1NU RERFRl9IXSwKICAgICBHTF9HRU5FUkFURV9TVERERUZfSD10cnVlCiAgIGZpCiAKLSAgZG5s IGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExNDg3MAor ICBkbmwgaHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjExNDg3MAogICBkbmwgYWZmZWN0cyBHQ0Mg MTMuMyBhbmQgMTQuMi4KICAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgPHN0ZGRlZi5oPiBp cyBpZGVtcG90ZW50XSwKICAgICBbZ2xfY3Zfc3RkZGVmX2lkZW1wb3RlbnRdLApkaWZmIC0t Z2l0IGEvbTQvd2NoYXJfaC5tNCBiL200L3djaGFyX2gubTQKaW5kZXggMDUzYmFmZDJmMy4u Zjg4Mjk0ZTdjNCAxMDA2NDQKLS0tIGEvbTQvd2NoYXJfaC5tNAorKysgYi9tNC93Y2hhcl9o Lm00CkBAIC02Niw3ICs2Niw3IEBAIEFDX0RFRlVOKFtnbF9XQ0hBUl9IX0lOTElORV9PS10s CiBbCiAgIGRubCBUZXN0IHdoZXRoZXIgPHdjaGFyLmg+IHN1ZmZlcnMgZHVlIHRvIHRoZSB0 cmFuc2l0aW9uIGZyb20gJ19faW5saW5lJyB0bwogICBkbmwgJ2dudV9pbmxpbmUnLiBTZWUg PGh0dHBzOi8vc291cmNld2FyZS5vcmcvUFI0MDIyPgotICBkbmwgYW5kIDxodHRwczovL2dj Yy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00MjQ0MD4uIEluIHN1bW1hcnks CisgIGRubCBhbmQgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFI0MjQ0MD4uIEluIHN1bW1hcnks CiAgIGRubCBnbGliYyB2ZXJzaW9uIDIuNSBvciBvbGRlciwgdG9nZXRoZXIgd2l0aCBnY2Mg dmVyc2lvbiA0LjMgb3IgbmV3ZXIgYW5kCiAgIGRubCB0aGUgb3B0aW9uIC1zdGQ9Yzk5IG9y IC1zdGQ9Z251OTksIGxlYWRzIHRvIGEgYnJva2VuIDx3Y2hhci5oPi4KICAgQUNfUkVRVUlS RShbQUNfQ0FOT05JQ0FMX0hPU1RdKQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy91bmluYW1lL3Vu aW5hbWUgYi9tb2R1bGVzL3VuaW5hbWUvdW5pbmFtZQppbmRleCBkMDk1MWQ4NDcyLi41ODEz ZTkyYWRhIDEwMDY0NAotLS0gYS9tb2R1bGVzL3VuaW5hbWUvdW5pbmFtZQorKysgYi9tb2R1 bGVzL3VuaW5hbWUvdW5pbmFtZQpAQCAtMTksNyArMTksNyBAQCBnbF9MSUJVTklTVFJJTkdf TU9EVUxFKFsxLjNdLCBbdW5pbmFtZS91bmluYW1lXSkKIE1ha2VmaWxlLmFtOgogaWYgTElC VU5JU1RSSU5HX0NPTVBJTEVfVU5JTkFNRV9VTklOQU1FCiAjIE5vdGU6IENvbXBpbGF0aW9u IG9mIHRoaXMgZmlsZSB0YWtlcyBhIGxvbmcgdGltZSB3aXRoIGdjYyDiiaUgMTEgYW5kIG9w dGlvbgotIyAtZmFuYWx5emVyLiBTZWUgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEv c2hvd19idWcuY2dpP2lkPTExMDExMj4uCisjIC1mYW5hbHl6ZXIuIFNlZSA8aHR0cHM6Ly9n Y2MuZ251Lm9yZy9QUjExMDExMj4uCiAjIFRoZSBiZXN0IHdvcmthcm91bmQgaXMgdG8gaW5z dGFsbCBHTlUgbGlidW5pc3RyaW5nIGZpcnN0LCBhbmQgdXNlIG1vZHVsZQogIyAnbGlidW5p c3RyaW5nLW9wdGlvbmFsJyBpbiB5b3VyIHBhY2thZ2UuCiAjIEFuIGFsdGVybmF0aXZlIHdv cmthcm91bmQgd291bGQgYmUgdG8gcGFzcyB0aGUgb3B0aW9uIC1mbm8tYW5hbHl6ZXIsIHVz aW5nCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LWNhbm9uaWNhbGl6ZS1sZ3BsLmMgYi90ZXN0 cy90ZXN0LWNhbm9uaWNhbGl6ZS1sZ3BsLmMKaW5kZXggNTQ1MGJiOWIxNC4uODRmOTRmMjMy ZCAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1jYW5vbmljYWxpemUtbGdwbC5jCisrKyBiL3Rl c3RzL3Rlc3QtY2Fub25pY2FsaXplLWxncGwuYwpAQCAtMTI1LDcgKzEyNSw3IEBAIG1haW4g KHZvaWQpCiAgICAgLyogVGhpcyB0ZXN0IHdvcmtzIG9ubHkgaWYgdGhlIGNhbm9uaWNhbGl6 ZV9maWxlX25hbWUgaW1wbGVtZW50YXRpb24KICAgICAgICBjb21lcyBmcm9tIGdudWxpYi4g IElmIGl0IGNvbWVzIGZyb20gbGliYywgd2UgaGF2ZSBubyB3YXkgdG8gcHJldmVudAogICAg ICAgIGdjYyBmcm9tICJvcHRpbWl6aW5nIiB0aGUgbnVsbF9wdHIgZnVuY3Rpb24gaW4gaW52 YWxpZCB3YXlzLiAgU2VlCi0gICAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEv c2hvd19idWcuY2dpP2lkPTkzMTU2Pi4gICovCisgICAgICAgPGh0dHBzOi8vZ2NjLmdudS5v cmcvUFI5MzE1Nj4uICAqLwogI2lmIEdOVUxJQl9kZWZpbmVkX2Nhbm9uaWNhbGl6ZV9maWxl X25hbWUKICAgICBlcnJubyA9IDA7CiAgICAgcmVzdWx0ID0gY2Fub25pY2FsaXplX2ZpbGVf bmFtZSAobnVsbF9wdHIgKCkpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1jYW5vbmljYWxp emUuYyBiL3Rlc3RzL3Rlc3QtY2Fub25pY2FsaXplLmMKaW5kZXggMDgzYmYxNzAzYS4uNjYy ZjliMDc2MiAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1jYW5vbmljYWxpemUuYworKysgYi90 ZXN0cy90ZXN0LWNhbm9uaWNhbGl6ZS5jCkBAIC0xMjksNyArMTI5LDcgQEAgbWFpbiAodm9p ZCkKICAgICAvKiBUaGlzIHRlc3Qgd29ya3Mgb25seSBpZiB0aGUgY2Fub25pY2FsaXplX2Zp bGVfbmFtZSBpbXBsZW1lbnRhdGlvbgogICAgICAgIGNvbWVzIGZyb20gZ251bGliLiAgSWYg aXQgY29tZXMgZnJvbSBsaWJjLCB3ZSBoYXZlIG5vIHdheSB0byBwcmV2ZW50CiAgICAgICAg Z2NjIGZyb20gIm9wdGltaXppbmciIHRoZSBudWxsX3B0ciBmdW5jdGlvbiBpbiBpbnZhbGlk IHdheXMuICBTZWUKLSAgICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9OTMxNTY+LiAgKi8KKyAgICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9Q UjkzMTU2Pi4gICovCiAjaWYgR05VTElCX2RlZmluZWRfY2Fub25pY2FsaXplX2ZpbGVfbmFt ZQogICAgIGVycm5vID0gMDsKICAgICByZXN1bHQxID0gY2Fub25pY2FsaXplX2ZpbGVfbmFt ZSAobnVsbF9wdHIgKCkpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1pbnRwcm9wcy5jIGIv dGVzdHMvdGVzdC1pbnRwcm9wcy5jCmluZGV4IGQxNmI2N2I1Y2UuLmNjZTEzODZlMjQgMTAw NjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QtaW50cHJvcHMuYworKysgYi90ZXN0cy90ZXN0LWludHBy b3BzLmMKQEAgLTI2LDcgKzI2LDcgQEAKICMgcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9y ZWQgIi1XdHlwZS1saW1pdHMiCiAKIC8qIFdvcmsgYXJvdW5kIGEgYnVnIGluIEdDQyA2LjEg YW5kIGVhcmxpZXI7IHNlZToKLSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTY4OTcxICAqLworICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9QUjY4OTcx ICAqLwogIyBwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdvdmVyZmxvdyIKIAog I2VuZGlmCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXB0c25hbWVfci5jIGIvdGVzdHMvdGVz dC1wdHNuYW1lX3IuYwppbmRleCAyNzBmZjg2YTlkLi5iNzkzODA1NTQyIDEwMDY0NAotLS0g YS90ZXN0cy90ZXN0LXB0c25hbWVfci5jCisrKyBiL3Rlc3RzL3Rlc3QtcHRzbmFtZV9yLmMK QEAgLTk1LDcgKzk1LDcgQEAgdGVzdF9lcnJvcnMgKGludCBmZCwgY29uc3QgY2hhciAqc2xh dmUpCiAgIC8qIFRoaXMgdGVzdCB3b3JrcyBvbmx5IGlmIHRoZSBwdHNuYW1lX3IgaW1wbGVt ZW50YXRpb24gY29tZXMgZnJvbSBnbnVsaWIuCiAgICAgIElmIGl0IGNvbWVzIGZyb20gbGli Yywgd2UgaGF2ZSBubyB3YXkgdG8gcHJldmVudCBnY2MgZnJvbSAib3B0aW1pemluZyIKICAg ICAgdGhlIG51bGxfcHRyIGZ1bmN0aW9uIGluIGludmFsaWQgd2F5cy4gIFNlZQotICAgICA8 aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTMxNTY+LiAg Ki8KKyAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvUFI5MzE1Nj4uICAqLwogI2lmIEdOVUxJ Ql9kZWZpbmVkX3B0c25hbWVfcgogICByZXN1bHQgPSBwdHNuYW1lX3IgKGZkLCBudWxsX3B0 ciAoKSwgMCk7CiAgIEFTU0VSVCAocmVzdWx0ICE9IDApOwpkaWZmIC0tZ2l0IGEvdGVzdHMv dGVzdC1zcHJpbnRmLXBvc2l4LmggYi90ZXN0cy90ZXN0LXNwcmludGYtcG9zaXguaAppbmRl eCBmNjBhNmUwYTA1Li4wYjUxMTA1MTlkIDEwMDY0NAotLS0gYS90ZXN0cy90ZXN0LXNwcmlu dGYtcG9zaXguaAorKysgYi90ZXN0cy90ZXN0LXNwcmludGYtcG9zaXguaApAQCAtMzE2OCw3 ICszMTY4LDcgQEAgdGVzdF9mdW5jdGlvbiAoaW50ICgqbXlfc3ByaW50ZikgKGNoYXIgKiwg Y29uc3QgY2hhciAqLCAuLi4pKQogICAgIC8qIFRoaXMgdGVzdCBpcyBrbm93biB0byBmYWls CiAgICAgICAgICAtIG9uIG11c2wgbGliYywKICAgICAgICAgIC0gd2l0aCBHQ0MgMTQuMSwg MTMuMiwgMTIuMywgYW5kIDExLjQKLSAgICAgICAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcv YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExNDg3Nj4gICovCisgICAgICAgICAgIDxodHRw czovL2djYy5nbnUub3JnL1BSMTE0ODc2PiAgKi8KICAgICBBU1NFUlQgKG1lbWNtcCAocmVz dWx0LCAiYVwweiAzM1wwIiwgNiArIDEpID09IDApOwogICAgIEFTU0VSVCAocmV0dmFsID09 IDYpOwogICB9Ci0tIAoyLjQ4LjEKCg== --------------mAA3Q9yRjPijxSh0dls0YXXW-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 02 15:36:26 2025 Received: (at 79139) by debbugs.gnu.org; 2 Aug 2025 19:36:26 +0000 Received: from localhost ([127.0.0.1]:37893 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiI1p-0005dt-S1 for submit@debbugs.gnu.org; Sat, 02 Aug 2025 15:36:26 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:55773) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uiI1o-0005da-I3 for 79139@debbugs.gnu.org; Sat, 02 Aug 2025 15:36:24 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-3137c20213cso3161999a91.3 for <79139@debbugs.gnu.org>; Sat, 02 Aug 2025 12:36:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754163378; x=1754768178; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=laEnJoOpemUt4ROdBBpwTAenXZYHsX6jdhGXJgqwLXA=; b=MucmJ7xvDBXtQBz+YLjnB5Z/xqFmV6V9AKoM3fyJNbVQpUAFBUfnZJHWFrGTWxe1eb Kx34pFT9EXLSrG56JKrgGqoJc4Wh4rOMMp9TNT/d+BZaBP0uzie9Od2ZifH4vFYFeMNq T7+p+Iry8Y7EfsxudYM8Xb70se91ewYfKHJPSDTKUtP2sDDmycFh53sJRRcORRQelzfH OEZ0UdV/8u/m/yI7Uu6jrh557XEZ30OiNx3Ntmb/rhjMj2eqkhMC7pFumP/H+DMsOZY9 ubghfNUYRoCGKvY0Hmy81TdDyup6N3XNxm5T+dlKDkg5qblRog9Zj1FNeL5VzbBlGHHy pJHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754163378; x=1754768178; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=laEnJoOpemUt4ROdBBpwTAenXZYHsX6jdhGXJgqwLXA=; b=YM3xT0BuUlc1srSF6p/cnu5W1fMdk0OvZ/8/kV7CfikfpKu46IyCoCfYWcxCXlV/iJ xQNMhLCL44QJWpNcXHT/n007N0Xfzo8ofqyLaLbWj65ZNgCbt7GNOWw+VdGnpxJqg+Zu pc2gBcwdownzhi+QpVtOWWRiQ1PgF6WPActZ++t04zrI/5h278wc+b+w61M6ZmJBtxBf ItcMw5zAP+5gj0Fz8oQLdCnvMxJ8wTaQPrqWqsYfifTWdtyYAwT/8EDzDtM0AxUFABxE 8E7cVcTviLauyMdwCGBB0O4U3HqYfusD5KUUSUdjDyOam6RWHvJQv0oHn+I4YFPDntIG V8gg== X-Forwarded-Encrypted: i=1; AJvYcCWHgIVeu9ofHQzYCBMi5XHq8Nijzxc2bOpu7qlUlDhpyP2UuqavxXMRSwaasnr1t0VkvuW61Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwmOFKvOk0Vdd05jxlAqQZEJAn+YO2WZ2NpElx961NKc09xIpZT xVqcTyaK+OZkECGE3g75nOK10LTcCEd09Oc97x6DlcB6oedcTNzy91M3 X-Gm-Gg: ASbGncsQHK6YoqKSv/Eh7mp6hv7I+h1SXpjVJufMsZzEsmbL5zvzpzQ6O0BiWWI9dL1 ikKkLXE9suWxoQtZ970xqazUTCA3IYXiTZ8by/lrUA+Q4vjQEnBgXH62N8HulefU8b9teWertst ZaysfgcIZUMZemQ9du0qirkg3+4tW/kPBWlJBJCRR7Bu/YRJEZiGvQZV7fLX3OQilR6yzwi6X/S rPGa2EWmiKeIWegp8RbJuTFakTHmy3635UcyA/KcT3rdDl+RluyfwEk3c8hOyFOEcb0LYz8fBT1 bQsng1wK+hBdN5VgVZTcqjAqS9DYa32YOBOfh9Dy4FAl69pcabjztXnLIGIKCH6FAmI6kKksJlq bNJk= X-Google-Smtp-Source: AGHT+IFbGvMt1RbcJuMVEXVs3x+MU5QGIigTmgjVJq1U4Mf0RjtFHtu3L5R9t0dIei6EyIbI1NfdLA== X-Received: by 2002:a17:90b:5806:b0:311:c970:c9c0 with SMTP id 98e67ed59e1d1-3211628f2f5mr4883160a91.22.1754163378239; Sat, 02 Aug 2025 12:36:18 -0700 (PDT) Received: from fedora ([2601:646:8081:3770::e9a2]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b4230ecf651sm5674032a12.7.2025.08.02.12.36.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 12:36:17 -0700 (PDT) From: Collin Funk To: Sam James Subject: Re: bug#79139: cp --reflink truncates sparse files on ZFS In-Reply-To: <87qzxtzn59.fsf@gentoo.org> References: <87freb9je3.fsf@vuxu.org> <322feded-cf4b-4599-8e4a-21f8defd0f47@cs.ucla.edu> <87freal6lc.fsf@gmail.com> <12120263.2WqB4rESCP@nimes> <87seiaxrov.fsf@gmail.com> <87qzxtzn59.fsf@gentoo.org> Date: Sat, 02 Aug 2025 12:36:16 -0700 Message-ID: <87wm7l349b.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79139 Cc: bug-gnulib@gnu.org, 79139@debbugs.gnu.org, Paul Eggert , =?utf-8?Q?P=C3=A1draig?= Brady , Leah Neukirchen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Sam James writes: > if that is ever useful. The changes themselves look good. Really, c_f_r > has been an API plagued with problems :( To be fair this is not the fault of copy_file_range itself. Not that it makes the situation any better. :) Collin