From owner-svn-src-head@FreeBSD.ORG Tue May 31 22:47:22 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E035106566C; Tue, 31 May 2011 22:47:22 +0000 (UTC) (envelope-from mdf356@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 9CF5D8FC0A; Tue, 31 May 2011 22:47:21 +0000 (UTC) Received: by wyf23 with SMTP id 23so5001061wyf.13 for ; Tue, 31 May 2011 15:47:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=RD9EfHOR6df8T+x2U5RZPXP4iYNdF4NkdRrIPKH2SUg=; b=b++1/gCcuWYKCrTF/PCO/JP9jHzDqbXaGirYLT9gK/ZoU/+wfDiV3HyzeMV0qLVqyV GUXoKR87W2FxUaVItjsgY6jIoja3GmH1QRWlZvNzsH/HMGVmrx8qTNRbTqWmkVXHH70e kSH1q3mbfPXhYi5TAjahv/344+Rc/2OE0mF1s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=M2+xlBsEwdIRLPgdBHJFE7pC+lOW2f2R8sOuOvnf2ebAy54NacITsXZinawpd/ZQuU rHLdBODNPu5cIOoO8HBwIFY7laVxHgjn5FF38fv4+K/uTQm596vtMWFhf93+QrXruY3m 8BHK+iTM8stEiYei/8E3Ss9IrOJG1Qy6vi6Bg= MIME-Version: 1.0 Received: by 10.216.59.83 with SMTP id r61mr3253105wec.5.1306882040310; Tue, 31 May 2011 15:47:20 -0700 (PDT) Sender: mdf356@gmail.com Received: by 10.216.93.193 with HTTP; Tue, 31 May 2011 15:47:20 -0700 (PDT) In-Reply-To: <201105312348.59571.pieter@degoeje.nl> References: <201105131848.p4DIm1j7079495@svn.freebsd.org> <201105282103.43370.pieter@degoeje.nl> <201105312348.59571.pieter@degoeje.nl> Date: Tue, 31 May 2011 15:47:20 -0700 X-Google-Sender-Auth: qC07pP7coECpub4pZJWqzo3gh78 Message-ID: From: mdf@FreeBSD.org To: Pieter de Goeje , Bruce Evans Content-Type: multipart/mixed; boundary=000e0ce0d960c6ad8b04a49a2ff1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r221853 - in head/sys: dev/md dev/null sys vm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 22:47:22 -0000 --000e0ce0d960c6ad8b04a49a2ff1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, May 31, 2011 at 2:48 PM, Pieter de Goeje wrote: > On Sunday 29 May 2011 05:01:57 mdf@freebsd.org wrote: >> On Sat, May 28, 2011 at 12:03 PM, Pieter de Goeje wr= ote: >> > To me it looks like it's not able to cache the zeroes anymore. Is this >> > intentional? I tried to change ZERO_REGION_SIZE back to 64K but that >> > didn't help. >> >> Hmm. =A0I don't have access to my FreeBSD box over the weekend, but I'll >> run this on my box when I get back to work. >> >> Meanwhile you could try setting ZERO_REGION_SIZE to PAGE_SIZE and I >> think that will restore things to the original performance. > > Indeed it does. I couldn't find any authoritative docs stating wether or = not > the cache on this CPU is virtually indexed, but apparently at least some = of > it is. On my physical box (some Dell thing from about 2008), I ran 10 loops of dd if=3D/dev/zero of=3D/dev/null bs=3DXX count=3DXX where bs went by pow= ers of 2 from 512 bytes to 2M, and count was set so that the dd always transferred 8GB. I compared ZERO_REGION_SIZE of 64k and 2M on amd64. The summary of the ministat(1) output is: bs=3D512b - no difference bs=3D1K - no difference bs=3D2k - no difference bs=3D4k - no difference bs=3D8k - no difference bs=3D16k - no difference bs=3D32k - no difference bs=3D64k - no difference bs=3D128k - 2M is 0.69% faster bs=3D256k - 2M is 0.98% faster bs=3D512k - 2M is 0.65% faster bs=3D1M - 2M is 1.02% faster bs=3D2M - 2M is 2.17% slower I'll play again with a 4K buffer. For some applications (/dev/zero) a small size is sufficient. For some (md(4)) a ZERO_REGION_SIZE at least as large as the sectorsize is desired so that a single kernel buffer pointer can be used to set up a uio for VOP_WRITE(9). Attached is the ministat output; I hope it makes it. :-) Thanks, matthew --000e0ce0d960c6ad8b04a49a2ff1 Content-Type: text/plain; charset=US-ASCII; name="zero-ministat.txt" Content-Disposition: attachment; filename="zero-ministat.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_godfv02p0 eCAvZGF0YS96ZXJvLWFtZDY0LXNtYWxsL3plcm8tNTEyLnR4dAorIC9kYXRhL3plcm8tYW1kNjQt bGFyZ2UvemVyby01MTIudHh0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKyAgICAgICAgICAgeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAp8KyAgICAgICAgICAgICAgICAgICAgICArICAgICAreCp4KyAgK3ggeCAqICB4KyAgICB4ICsg ICAgICAgICAgICAgICAgICAgIHh8CnwgICAgICAgICAgICAgICAgICB8X19fX19fX19fX3xfX0FN X19fX19fX01BX19ffF9fX19fX198ICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKwogICAgTiAgICAgICAgICAgTWluICAgICAgICAgICBNYXggICAgICAgIE1lZGlhbiAgICAg ICAgICAgQXZnICAgICAgICBTdGRkZXYKeCAgMTAgICAgIDEzLjU2NDI3NiAgICAgMTMuNjY2NDk5 ICAgICAxMy41OTAzNzMgICAgIDEzLjU5MTk5MyAgIDAuMDMwMTcyMDgzCisgIDEwICAgICAgMTMu NDkxNzQgICAgIDEzLjYxNjI2MyAgICAgMTMuNTY5OTI1ICAgICAxMy41NjgwMDYgICAwLjAzMzg4 NDI4MQpObyBkaWZmZXJlbmNlIHByb3ZlbiBhdCA5NS4wJSBjb25maWRlbmNlCgoKCnggL2RhdGEv emVyby1hbWQ2NC1zbWFsbC96ZXJvLTEwMjQudHh0CisgL2RhdGEvemVyby1hbWQ2NC1sYXJnZS96 ZXJvLTEwMjQudHh0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCsgICAgICAgICAgICArICAgICAgICAg ICArK3h4ICAgICAgeCAgeCArKiArKyAgICAgeHgrICAgICAgICAgICAgICAgICAgICArfAp8ICAg ICAgICAgICAgICAgfF9fX19fX19fX19fX3xfX19fX19fQUFNX19NX19fX3xfX19fX19fX198ICAg ICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIE4gICAgICAgICAgIE1pbiAg ICAgICAgICAgTWF4ICAgICAgICBNZWRpYW4gICAgICAgICAgIEF2ZyAgICAgICAgU3RkZGV2Cngg IDEwICAgICAgNy4xNTUzODQgICAgICA3LjE4Mjg0OSAgICAgIDcuMTY4MDc2ICAgICA3LjE2NjEz ODIgICAgMC4wMTA0MTQ4OQorICAxMCAgICAgIDcuMTI0MjYzICAgICAgNy4yMDczNjMgICAgICA3 LjE3MDQ0OSAgICAgNy4xNjQ3ODk2ICAgMC4wMjM0NTM2NjIKTm8gZGlmZmVyZW5jZSBwcm92ZW4g YXQgOTUuMCUgY29uZmlkZW5jZQoKCgp4IC9kYXRhL3plcm8tYW1kNjQtc21hbGwvemVyby0yMDQ4 LnR4dAorIC9kYXRhL3plcm8tYW1kNjQtbGFyZ2UvemVyby0yMDQ4LnR4dAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCnwgICAgICAgICAgICAgICAgICArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCsgICAgICAgICAgKyAgICAgICsgICAgeHggICAq eCAgICsqIHh4KyAgICsreCAgICAgICAgICAgICAgICB4ICAgICAgICAgICB4fAp8ICAgICAgICAg ICAgfF9fX19fX19fX3xfX19fQV9fX19fTV9fTV9fQV98X19fX19fX19fX19fX3wgICAgICAgICAg ICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIE4gICAgICAgICAgIE1pbiAgICAgICAg ICAgTWF4ICAgICAgICBNZWRpYW4gICAgICAgICAgIEF2ZyAgICAgICAgU3RkZGV2CnggIDEwICAg ICAgMy44MjcyNDIgICAgICAzLjg2NzA5NSAgICAgIDMuODM3OTAxICAgICAgMy44Mzk5ODggICAw LjAxMjk4Mzc1NQorICAxMCAgICAgIDMuODA5MjEzICAgICAgMy44NDM2ODIgICAgICAzLjgzNTc0 OCAgICAgMy44MzAyNzY1ICAgMC4wMTEzNDAzMDcKTm8gZGlmZmVyZW5jZSBwcm92ZW4gYXQgOTUu MCUgY29uZmlkZW5jZQoKCgp4IC9kYXRhL3plcm8tYW1kNjQtc21hbGwvemVyby00MDk2LnR4dAor IC9kYXRhL3plcm8tYW1kNjQtbGFyZ2UvemVyby00MDk2LnR4dAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r CnwrICsgICArK3h4eCAgIHggICArICsgKiB4ICAgICsgICAgICAgICAgICAgICsrICAgICAgIHgg ICAgICAgICAgIHggICAgICAgeHwKfCAgIHxfX19fX19fX19fX19fX19BTV9NX19fX19BX19fX19f X3xfX19fX19fX19fX19fX19fX3wgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCiAgICBOICAgICAgICAgICBNaW4gICAgICAgICAgIE1heCAgICAgICAgTWVkaWFuICAgICAg ICAgICBBdmcgICAgICAgIFN0ZGRldgp4ICAxMCAgICAgIDIuMTY1NTQxICAgICAgMi4yMDEyMjQg ICAgICAyLjE3MzIyNyAgICAgMi4xNzY5MDI5ICAgMC4wMTM4MDMxOTMKKyAgMTAgICAgICAyLjE2 MTM2MiAgICAgIDIuMTg1OTExICAgICAgMi4xNzIzODggICAgIDIuMTcxOTYzNCAgMC4wMDg4MTI5 MzcxCk5vIGRpZmZlcmVuY2UgcHJvdmVuIGF0IDk1LjAlIGNvbmZpZGVuY2UKCgoKeCAvZGF0YS96 ZXJvLWFtZDY0LXNtYWxsL3plcm8tODE5Mi50eHQKKyAvZGF0YS96ZXJvLWFtZDY0LWxhcmdlL3pl cm8tODE5Mi50eHQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICt4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwrICAg eCAgICAgICsgICsgICt4ICArICAgIHgrK3ggICAgKyAgeCB4ICAgICAgICAgICAgeCAgKyAgICAg ICAgICAgeCAgICAgeHwKfCAgICAgICAgIHxfX19fX198X19fX19fX0FfX01fX19fX19fX19BX3xf X19fX19fX19fX19fX19fX19ffCAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAg ICBOICAgICAgICAgICBNaW4gICAgICAgICAgIE1heCAgICAgICAgTWVkaWFuICAgICAgICAgICBB dmcgICAgICAgIFN0ZGRldgp4ICAxMCAgICAgIDEuMzMyMjkxICAgICAgMS4zNjAzNDYgICAgICAx LjM0NTgxOCAgICAgMS4zNDU4MDIyICAwLjAwODcyODQyNTcKKyAgMTAgICAgICAxLjMzMDQ5OSAg ICAgIDEuMzUzMTU4ICAgICAgMS4zNDE0MjUgICAgIDEuMzQwMTQ2NCAgMC4wMDYxMjY5NjM5Ck5v IGRpZmZlcmVuY2UgcHJvdmVuIGF0IDk1LjAlIGNvbmZpZGVuY2UKCgoKeCAvZGF0YS96ZXJvLWFt ZDY0LXNtYWxsL3plcm8tMTYzODQudHh0CisgL2RhdGEvemVyby1hbWQ2NC1sYXJnZS96ZXJvLTE2 Mzg0LnR4dAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnx4ICAgICAgIHggICAgICAgICsrK3grIHggIHgg IHgrKyAgeCAgICAgICAgICArICArIHggICAgICAgICAgICArICAgICAgICsgeHwKfCAgICAgfF9f X19fX19fX19ffF9fX19fX19fTUFfX19NX19fX0FfX19fX19fX19fX198X19fX19ffCAgICAgICAg ICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICBOICAgICAgICAgICBNaW4gICAgICAg ICAgIE1heCAgICAgICAgTWVkaWFuICAgICAgICAgICBBdmcgICAgICAgIFN0ZGRldgp4ICAxMCAg ICAgIDAuOTUxNDM5ICAgICAgMC45NzE3ODYgICAgICAwLjk1ODczMiAgICAgMC45NTkwMDMzICAw LjAwNjA0MTI4ODEKKyAgMTAgICAgICAwLjk1NjEzNyAgICAgIDAuOTcxMjUyICAgICAgMC45NjAw NTYgICAgIDAuOTYxNTc4OSAgMC4wMDU0NzA0NDk2Ck5vIGRpZmZlcmVuY2UgcHJvdmVuIGF0IDk1 LjAlIGNvbmZpZGVuY2UKCgoKeCAvZGF0YS96ZXJvLWFtZDY0LXNtYWxsL3plcm8tMzI3NjgudHh0 CisgL2RhdGEvemVyby1hbWQ2NC1sYXJnZS96ZXJvLTMyNzY4LnR4dAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICAgICAgICAgICB4 ICAgICAgICAgICAgICAgICAgICAgIHwKfHggICAgICB4ICArICAgICAgICAgICAgKyAgICB4KyAq ICAgICB4ICogICAgICAgICAgIHgrICAgIHh4ICAgICArKyAgICAgICArfAp8ICAgICAgICAgICAg ICAgIHxfX19fX3xfX19fX19fX19fX19fQV9fTV9fX0FfX19fX19fX19fX198X19fX19ffCAgICAg ICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIE4gICAgICAgICAgIE1pbiAgICAgICAgICAg TWF4ICAgICAgICBNZWRpYW4gICAgICAgICAgIEF2ZyAgICAgICAgU3RkZGV2CnggIDEwICAgICAg IDAuODc4NzggICAgICAgMC44ODQxNiAgICAgIDAuODgyMzkxICAgICAwLjg4MjA5MTggIDAuMDAx ODYyMjc0MgorICAxMCAgICAgIDAuODc5NzI1ICAgICAgMC44ODU1MTQgICAgICAwLjg4MjM4NCAg ICAgMC44ODI3MDg4ICAwLjAwMTg5MTUyNTQKTm8gZGlmZmVyZW5jZSBwcm92ZW4gYXQgOTUuMCUg Y29uZmlkZW5jZQoKCgp4IC9kYXRhL3plcm8tYW1kNjQtc21hbGwvemVyby02NTUzNi50eHQKKyAv ZGF0YS96ZXJvLWFtZDY0LWxhcmdlL3plcm8tNjU1MzYudHh0CistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK fCAgICAgICAgICAgKyAgICAgICAgICAgICAgeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAp8eCAgICAgICAgICArIHggICB4eCAgK3grICAqeCArIHgrICAg ICAgICAgICAgICAgICAgICsgICAgKyAgICAgIHggICAgICAgICt8CnwgICAgICAgIHxfX19ffF9f X19fX19fX19BX01fX01fX19BX19fX19fX3xfX19fX19fX19fX198ICAgICAgICAgICAgICAgICAg IHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgTiAgICAgICAgICAgTWluICAgICAgICAgICBNYXgg ICAgICAgIE1lZGlhbiAgICAgICAgICAgQXZnICAgICAgICBTdGRkZXYKeCAgMTAgICAgICAwLjc3 NzM2NCAgICAgICAwLjc4MjQ1ICAgICAgMC43Nzk0MTMgICAgIDAuNzc5Mjk5NyAgMC4wMDEzMTM0 NTU5CisgIDEwICAgICAgMC43NzgyMDEgICAgICAwLjc4MzE2OCAgICAgIDAuNzc5NjQ4ICAgICAw Ljc4MDAyNTUgIDAuMDAxNjQzODA4MQpObyBkaWZmZXJlbmNlIHByb3ZlbiBhdCA5NS4wJSBjb25m aWRlbmNlCgoKCnggL2RhdGEvemVyby1hbWQ2NC1zbWFsbC96ZXJvLTEzMTA3Mi50eHQKKyAvZGF0 YS96ZXJvLWFtZDY0LWxhcmdlL3plcm8tMTMxMDcyLnR4dAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCnwg ICAgICAgICAgICAgICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHggIHggIHggICAgICAgIHwKfCsgICArICsrICsrICAgKyArICAgKyAgICAgICAgICAgICAgICAg ICAgICAgIHggICAgICAgICAgICB4eCAgeHggeCAgICAgICB4fAp8ICAgIHxfX19fX0FfX19fX3wg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfF9fX19fX0FNX19fX198ICAgICB8 CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIE4gICAgICAgICAgIE1pbiAgICAgICAgICAgTWF4ICAg ICAgICBNZWRpYW4gICAgICAgICAgIEF2ZyAgICAgICAgU3RkZGV2CnggIDEwICAgICAgMC43MzA4 MzUgICAgICAgMC43MzM2NCAgICAgIDAuNzMyNTY0ICAgICAwLjczMjQ1MTkgMC4wMDA3MTUxNDUy OAorICAxMCAgICAgIDAuNzI2Mzg1ICAgICAgMC43MjgzNjYgICAgICAwLjcyNzM0NSAgICAgMC43 MjczNzMxIDAuMDAwNjAwNjQ3MzMKRGlmZmVyZW5jZSBhdCA5NS4wJSBjb25maWRlbmNlCgktMC4w MDUwNzg4ICsvLSAwLjAwMDYyMDQ5MwoJLTAuNjkzMzk3JSArLy0gMC4wODQ3MTQ0JQoJKFN0dWRl bnQncyB0LCBwb29sZWQgcyA9IDAuMDAwNjYwMzgyKQoKCgp4IC9kYXRhL3plcm8tYW1kNjQtc21h bGwvemVyby0yNjIxNDQudHh0CisgL2RhdGEvemVyby1hbWQ2NC1sYXJnZS96ZXJvLTI2MjE0NC50 eHQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8KysrKyArKyAgKysgICAgKyAgKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ICB4IHh4eHggIHh8CnwgfF9fX19NQV9fX19f fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxfX0FN X3wgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgTiAgICAgICAgICAgTWluICAgICAgICAgICBN YXggICAgICAgIE1lZGlhbiAgICAgICAgICAgQXZnICAgICAgICBTdGRkZXYKeCAgMTAgICAgICAw LjcwNzQ2MyAgICAgIDAuNzA4NzU5ICAgICAgMC43MDgzMDIgICAgIDAuNzA4MjA1NyAwLjAwMDM1 MjAwMDAyCisgIDEwICAgICAgMC43MDA0MzggICAgICAwLjcwMjUxNSAgICAgICAwLjcwMTEyICAg ICAwLjcwMTIzODMgMC4wMDA2ODU3Mzk4NApEaWZmZXJlbmNlIGF0IDk1LjAlIGNvbmZpZGVuY2UK CS0wLjAwNjk2NzQgKy8tIDAuMDAwNTEyMTIKCS0wLjk4MzgxJSArLy0gMC4wNzIzMTIzJQoJKFN0 dWRlbnQncyB0LCBwb29sZWQgcyA9IDAuMDAwNTQ1MDQzKQoKCgp4IC9kYXRhL3plcm8tYW1kNjQt c21hbGwvemVyby01MjQyODgudHh0CisgL2RhdGEvemVyby1hbWQ2NC1sYXJnZS96ZXJvLTUyNDI4 OC50eHQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8KyAgICAgKyArKyAgICArKysgKyAgICAgICArICAg ICAgICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHggeHh4eHh8CnwgICAgIHxfX19f X19fX19BX19fX19fX198ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHxfQU18IHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgTiAgICAgICAgICAgTWluICAgICAgICAg ICBNYXggICAgICAgIE1lZGlhbiAgICAgICAgICAgQXZnICAgICAgICBTdGRkZXYKeCAgMTAgICAg ICAwLjY5NTk0OSAgICAgIDAuNjk2NTA0ICAgICAgMC42OTYzMjkgICAgIDAuNjk2MjY5OCAwLjAw MDE3MjU0MzU5CisgIDEwICAgICAgMC42OTA1NjEgICAgICAwLjY5MzMwOSAgICAgIDAuNjkxNzc1 ICAgICAgMC42OTE3NDUgMC4wMDA3OTkwODExNApEaWZmZXJlbmNlIGF0IDk1LjAlIGNvbmZpZGVu Y2UKCS0wLjAwNDUyNDggKy8tIDAuMDAwNTQzMTQxCgktMC42NDk4NjMlICsvLSAwLjA3ODAwNzIl CgkoU3R1ZGVudCdzIHQsIHBvb2xlZCBzID0gMC4wMDA1NzgwNTgpCgoKCnggL2RhdGEvemVyby1h bWQ2NC1zbWFsbC96ZXJvLTEwNDg1NzYudHh0CisgL2RhdGEvemVyby1hbWQ2NC1sYXJnZS96ZXJv LTEwNDg1NzYudHh0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCAgICArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICsg ICsrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeCB4eCAgICB8CnwgKyArKysgICArICAgICAgICAgICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHh4eHh4ICB4eHwKfHxfX19NX0FfX19ffCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxfQV9ffCAgfAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rCiAgICBOICAgICAgICAgICBNaW4gICAgICAgICAgIE1heCAgICAg ICAgTWVkaWFuICAgICAgICAgICBBdmcgICAgICAgIFN0ZGRldgp4ICAxMCAgICAgIDAuNjg5ODY2 ICAgICAgIDAuNjkwNzIgICAgICAwLjY5MDE5MyAgICAgMC42OTAyMDY4IDAuMDAwMjg3NjE2NTcK KyAgMTAgICAgICAwLjY4MjYxMyAgICAgIDAuNjg0Nzc1ICAgICAgIDAuNjgzMDEgICAgIDAuNjgz MTQ3MyAwLjAwMDYyNTg4NTM0CkRpZmZlcmVuY2UgYXQgOTUuMCUgY29uZmlkZW5jZQoJLTAuMDA3 MDU5NSArLy0gMC4wMDA0NTc2NAoJLTEuMDIyODElICsvLSAwLjA2NjMwNDglCgkoU3R1ZGVudCdz IHQsIHBvb2xlZCBzID0gMC4wMDA0ODcwNikKCgoKeCAvZGF0YS96ZXJvLWFtZDY0LXNtYWxsL3pl cm8tMjA5NzE1Mi50eHQKKyAvZGF0YS96ZXJvLWFtZDY0LWxhcmdlL3plcm8tMjA5NzE1Mi50eHQK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKyAgICArICAgICAgICAgICAgICB8Cnx4ICB4eCAgeCAgeHh4IHgg ICAgICAgICAgICAgIHggICAgICAgICB4ICsgICsrICAgICArICArKyAgICsgICAgICAgICAgICAg K3wKfCB8X19fX19fX19fTV9BX19fX19fX19fX198ICAgICAgICAgICAgICAgICAgfF9fX19fX19f X0FfX19fX19fX3wgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICBOICAgICAgICAg ICBNaW4gICAgICAgICAgIE1heCAgICAgICAgTWVkaWFuICAgICAgICAgICBBdmcgICAgICAgIFN0 ZGRldgp4ICAxMCAgICAgIDAuNzA3NjU4ICAgICAgMC43MjI0OTkgICAgICAwLjcxMjAxNCAgICAg MC43MTI2MTM4ICAwLjAwNDY1NzAxNjUKKyAgMTAgICAgICAwLjcyMzM5NSAgICAgICAwLjczNTUy ICAgICAgMC43MjgzNjcgICAgIDAuNzI4MTAyMiAgIDAuMDAzNTE3NzkyCkRpZmZlcmVuY2UgYXQg OTUuMCUgY29uZmlkZW5jZQoJMC4wMTU0ODg0ICsvLSAwLjAwMzg3NzYyCgkyLjE3MzQ2JSArLy0g MC41NDQxNDElCgkoU3R1ZGVudCdzIHQsIHBvb2xlZCBzID0gMC4wMDQxMjY5KQo= --000e0ce0d960c6ad8b04a49a2ff1--