From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A72BEC3F68F for ; Tue, 14 Jan 2020 10:04:59 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6B3A02467E for ; Tue, 14 Jan 2020 10:04:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="UEFVIIiq" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6B3A02467E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1irJ3x-0001I5-QE; Tue, 14 Jan 2020 10:04:41 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1irJ3w-0001Hz-RD for xen-devel@lists.xenproject.org; Tue, 14 Jan 2020 10:04:40 +0000 X-Inumbo-ID: 45cf9bf4-36b5-11ea-835f-12813bfff9fa Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 45cf9bf4-36b5-11ea-835f-12813bfff9fa; Tue, 14 Jan 2020 10:04:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1578996279; h=date:from:to:cc:subject:message-id:references: mime-version:content-transfer-encoding:in-reply-to; bh=qxx3rA9hhMlVPBelH0+xqpyRUHbQaUMIaiHea6JarYk=; b=UEFVIIiqMxyIUAFJRygRLWQ2XMoItTewAVzwx73dPKHRC9F+lnwjpM6g TknDKrKERUeZChGpsiMAbfAdIXvlpa/PjjDeQXBrmTM0xRImNpHbTHwt2 8SV6pwwK4u7tqww+zDMUo4D1i09YeGiF/vCy4bbkfOUnCwTnlwckcHdzw M=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa3.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: sghE+WHFnhZzApVd7UGFx09uGuh5xokj5Vfu6eoVGE96Nb/Tme3ifWwBRgpOHjJ8Oi3gnppU+z XBFOnJHDebAboMUOjp8mRhDLgQngNbUNLx9KTjU5vqZeNXe3ayp49yYNAif7QTSRIKwDsIdada xDa0Bc+6xbEVs5lfsI4ee3+K0tfqe+Oh0hIq6Vg9udrdNoIk6DeIFBlA1mEOz2s0aCcX1KCJ3+ DiH1N+88oUD2sT4jNfinb/1ELpzaTGTD4HWlz/s9HMY9kWNP93IxLzyuA5vngncRmuYlZ0802g dw8= X-SBRS: 2.7 X-MesageID: 10874124 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.69,432,1571716800"; d="scan'208";a="10874124" Date: Tue, 14 Jan 2020 11:04:06 +0100 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= To: Jason Andryuk Message-ID: <20200114100406.GF11756@Air-de-Roger> References: <20190311180216.18811-1-jandryuk@gmail.com> <20190311180216.18811-7-jandryuk@gmail.com> <57dc1083d20a469785f05a2e5250a820@AMSPEX02CL02.citrite.net> <20190322030936.fkiajz5ifgaejkd4@MacBook-Air-de-Roger.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: AMSPEX02CAS02.citrite.net (10.69.22.113) To AMSPEX02CL01.citrite.net (10.69.22.125) Subject: Re: [Xen-devel] [PATCH 6/6] xen-pt: Round pci regions sizes to XEN_PAGE_SIZE X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Andrew Cooper , "marmarek@invisiblethingslab.com" , "qemu-devel@nongnu.org" , Simon Gaiser , Paul Durrant , Anthony Perard , "xen-devel@lists.xenproject.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gTW9uLCBKYW4gMTMsIDIwMjAgYXQgMDI6MDE6NDdQTSAtMDUwMCwgSmFzb24gQW5kcnl1ayB3 cm90ZToKPiBPbiBGcmksIE1hciAyMiwgMjAxOSBhdCAzOjQzIFBNIEphc29uIEFuZHJ5dWsgPGph bmRyeXVrQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gVGh1LCBNYXIgMjEsIDIwMTkgYXQg MTE6MDkgUE0gUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+IHdyb3RlOgo+ ID4gPgo+ID4gPiBPbiBXZWQsIE1hciAyMCwgMjAxOSBhdCAwMToyODo0N1BNIC0wNDAwLCBKYXNv biBBbmRyeXVrIHdyb3RlOgo+ID4gPiA+IE9uIEZyaSwgTWFyIDE1LCAyMDE5IGF0IDEyOjI4IFBN IEFuZHJldyBDb29wZXIKPiA+ID4gPiA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6 Cj4gPiA+ID4gPgo+ID4gPiA+ID4gT24gMTUvMDMvMjAxOSAwOToxNywgUGF1bCBEdXJyYW50IHdy b3RlOgo+ID4gPiA+ID4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiA+ID4+ IEZyb206IEphc29uIEFuZHJ5dWsgW21haWx0bzpqYW5kcnl1a0BnbWFpbC5jb21dCj4gPiA+ID4g PiA+PiBTZW50OiAxNCBNYXJjaCAyMDE5IDE4OjE2Cj4gPiA+ID4gPiA+PiBUbzogUGF1bCBEdXJy YW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiA+ID4gPiA+ID4+IENjOiBxZW11LWRldmVs QG5vbmdudS5vcmc7IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgbWFybWFyZWtAaW52 aXNpYmxldGhpbmdzbGFiLmNvbTsgU2ltb24KPiA+ID4gPiA+ID4+IEdhaXNlciA8c2ltb25AaW52 aXNpYmxldGhpbmdzbGFiLmNvbT47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy bmVsLm9yZz47IEFudGhvbnkgUGVyYXJkCj4gPiA+ID4gPiA+PiA8YW50aG9ueS5wZXJhcmRAY2l0 cml4LmNvbT4KPiA+ID4gPiA+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNi82XSB4ZW4tcHQ6IFJv dW5kIHBjaSByZWdpb25zIHNpemVzIHRvIFhFTl9QQUdFX1NJWkUKPiA+ID4gPiA+ID4+Cj4gPiA+ ID4gPiA+PiBPbiBXZWQsIE1hciAxMywgMjAxOSBhdCAxMTowOSBBTSBQYXVsIER1cnJhbnQgPFBh dWwuRHVycmFudEBjaXRyaXguY29tPiB3cm90ZToKPiA+ID4gPiA+ID4+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0KPiA+ID4gPiA+ID4+Pj4gRnJvbTogSmFzb24gQW5kcnl1ayBbbWFpbHRv OmphbmRyeXVrQGdtYWlsLmNvbV0KPiA+ID4gPiA+ID4+Pj4gU2VudDogMTEgTWFyY2ggMjAxOSAx ODowMgo+ID4gPiA+ID4gPj4+PiBUbzogcWVtdS1kZXZlbEBub25nbnUub3JnCj4gPiA+ID4gPiA+ Pj4+IENjOiB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IG1hcm1hcmVrQGludmlzaWJs ZXRoaW5nc2xhYi5jb207IFNpbW9uIEdhaXNlcgo+ID4gPiA+ID4gPj4+PiA8c2ltb25AaW52aXNp YmxldGhpbmdzbGFiLmNvbT47IEphc29uIEFuZHJ5dWsgPGphbmRyeXVrQGdtYWlsLmNvbT47IFN0 ZWZhbm8gU3RhYmVsbGluaQo+ID4gPiA+ID4gPj4+PiA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47 IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPjsgUGF1bCBEdXJyYW50 Cj4gPiA+ID4gPiA+Pj4+IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiA+ID4gPiA+ID4+Pj4g U3ViamVjdDogW1BBVENIIDYvNl0geGVuLXB0OiBSb3VuZCBwY2kgcmVnaW9ucyBzaXplcyB0byBY RU5fUEFHRV9TSVpFCj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+Pj4+IEZyb206IFNpbW9uIEdh aXNlciA8c2ltb25AaW52aXNpYmxldGhpbmdzbGFiLmNvbT4KPiA+ID4gPiA+ID4+Pj4KPiA+ID4g PiA+ID4+Pj4gSWYgYSBwY2kgbWVtb3J5IHJlZ2lvbiBoYXMgYSBzaXplIDwgWEVOX1BBR0VfU0la RSBpdCBjYW4gZ2V0IGxvY2F0ZWQgYXQKPiA+ID4gPiA+ID4+Pj4gYW4gYWRkcmVzcyB3aGljaCBp cyBub3QgcGFnZSBhbGlnbmVkLgo+ID4gPiA+ID4gPj4+IElJUkMgdGhlIFBDSSBzcGVjIHNheXMg dGhhdCB0aGUgbWluaW11bSBtZW1vcnkgcmVnaW9uIHNpemUgc2hvdWxkIGJlIGF0IGxlYXN0IDRr LiBTaG91bGQgd2UgZXZlbiBiZQo+ID4gPiA+ID4gPj4gdG9sZXJhdGluZyBCQVJzIHNtYWxsZXIg dGhhbiB0aGF0Pwo+ID4gPiA+ID4gPj4+ICAgUGF1bAo+ID4gPiA+ID4gPj4+Cj4gPiA+ID4gPiA+ PiBIaSwgUGF1bC4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBTaW1vbiBmb3VuZCB0aGlzLCBz byBpdCBhZmZlY3RzIGEgcmVhbCBkZXZpY2UuICBTaW1vbiwgZG8geW91IHJlY2FsbAo+ID4gPiA+ ID4gPj4gd2hpY2ggZGV2aWNlIHdhcyBhZmZlY3RlZD8KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+ PiBJIHRoaW5rIEJBUnMgb25seSBuZWVkIHRvIGJlIHBvd2VyLW9mLXR3byBzaXplIGFuZCBhbGln bmVkLCBhbmQgNGsgaXMKPiA+ID4gPiA+ID4+IG5vdCBhIG1pbmltdW0uICAxNmJ5dGVzIG1heSBi ZSBhIG1pbmltdW0sIGJ1dCBJIGRvbid0IGtub3cgd2hhdCB0aGUKPiA+ID4gPiA+ID4+IHNwZWMg c2F5cy4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBPbiBhbiBJdnkgQnJpZGdlIHN5c3RlbSwg aGVyZSBhcmUgc29tZSBvZiB0aGUgZGV2aWNlcyB3aXRoIEJBUnMgc21hbGxlciB0aGFuIDRLOgo+ ID4gPiA+ID4gPj4gMDA6MTYuMCBDb21tdW5pY2F0aW9uIGNvbnRyb2xsZXI6IEludGVsIENvcnBv cmF0aW9uIDcgU2VyaWVzL0MyMTAKPiA+ID4gPiA+ID4+IFNlcmllcyBDaGlwc2V0IEZhbWlseSBN RUkgQ29udHJvbGxlciAjMSAocmV2IDA0KQo+ID4gPiA+ID4gPj4gICAgTWVtb3J5IGF0IGQwNzM1 MDAwICg2NC1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtkaXNhYmxlZF0gW3NpemU9MTZdCj4gPiA+ ID4gPiA+PiAwMDoxZC4wIFVTQiBjb250cm9sbGVyOiBJbnRlbCBDb3Jwb3JhdGlvbiA3IFNlcmll cy9DMjEwIFNlcmllcyBDaGlwc2V0Cj4gPiA+ID4gPiA+PiBGYW1pbHkgVVNCIEVuaGFuY2VkIEhv c3QgQ29udHJvbGxlciAjMSAocmV2IDA0KSAocHJvZy1pZiAyMCBbRUhDSV0pCj4gPiA+ID4gPiA+ PiAgICBNZW1vcnkgYXQgZDA3MzkwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW2Rpc2Fi bGVkXSBbc2l6ZT0xS10KPiA+ID4gPiA+ID4+IDAwOjFmLjMgU01CdXM6IEludGVsIENvcnBvcmF0 aW9uIDcgU2VyaWVzL0MyMTAgU2VyaWVzIENoaXBzZXQgRmFtaWx5Cj4gPiA+ID4gPiA+PiBTTUJ1 cyBDb250cm9sbGVyIChyZXYgMDQpCj4gPiA+ID4gPiA+PiAgICBNZW1vcnkgYXQgZDA3MzQwMDAg KDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW2Rpc2FibGVkXSBbc2l6ZT0yNTZdCj4gPiA+ID4g PiA+PiAwMjowMC4wIFN5c3RlbSBwZXJpcGhlcmFsOiBKTWljcm9uIFRlY2hub2xvZ3kgQ29ycC4g U0QvTU1DIEhvc3QKPiA+ID4gPiA+ID4+IENvbnRyb2xsZXIgKHJldiAzMCkKPiA+ID4gPiA+ID4+ ICAgIE1lbW9yeSBhdCBkMDUwMzAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbZGlzYWJs ZWRdIFtzaXplPTI1Nl0KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBUaGVzZSBleGFtcGxlcyBh cmUgYWxsIDRLIGFsaWduZWQsIHNvIHRoaXMgaXMgbm90IGFuIGlzc3VlIG9uIHRoaXMgbWFjaGlu ZS4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBSZXZpZXdpbmcgdGhlIGNvZGUsIEknbSBub3cg d29uZGVyaW5nIGlmIHRoZSBmb2xsb3dpbmcgaW4KPiA+ID4gPiA+ID4+IGh3L3hlbi94ZW5fcHQu Yzp4ZW5fcHRfcmVnaW9uX3VwZGF0ZSBpcyB3cm9uZzogICAgICAgIHJjID0KPiA+ID4gPiA+ID4+ IHhjX2RvbWFpbl9tZW1vcnlfbWFwcGluZyh4ZW5feGMsIHhlbl9kb21pZCwKPiA+ID4gPiA+ID4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fUEZOKGd1ZXN0X2FkZHIg KyBYQ19QQUdFX1NJWkUgLSAxKSwKPiA+ID4gPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBYRU5fUEZOKG1hY2hpbmVfYWRkciArIFhDX1BBR0VfU0laRSAtIDEpLAo+ ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9QRk4o c2l6ZSArIFhDX1BBR0VfU0laRSAtIDEpLAo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9wKTsKPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBJZiBhIGJh ciBvZiBzaXplIDB4MTAwIGlzIGF0IDB4ZDA1MDA4MDAsIHRoZW4gdGhlIG1hY2hpbmVfYWRkciBw YXNzZWQKPiA+ID4gPiA+ID4+IGluIHdvdWxkIGJlIDB4ZDA1MDEwMDAgd2hpY2ggaXMgcGFzdCB0 aGUgYWN0dWFsIGxvY2F0aW9uLiAgU2hvdWxkIHRoZQo+ID4gPiA+ID4gPj4gY2FsbCBhcmd1bWVu dHMganVzdCBiZSBYRU5fUEZOKGd1ZXN0X2FkZHIpICYgWEVOX1BGTihtYWNoaW5lX2FkZHIpPwo+ ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IEJBUnMgc21hbGxlciB0aGFuIGEgcGFnZSB3b3VsZCBh bHNvIGJlIGEgcHJvYmxlbSBpZiBCQVJzIGZvciBkaWZmZXJlbnQKPiA+ID4gPiA+ID4+IGRldmlj ZXMgc2hhcmVkIHRoZSBzYW1lIHBhZ2UuCj4gPiA+ID4gPiA+IEV4YWN0bHkuIFdlIGNhbm5vdCBw YXNzIHRoZW0gdGhyb3VnaCB3aXRoIGFueSBkZWdyZWUgb2Ygc2FmZXR5IChub3QgdGhhdCBwYXNz dGhyb3VnaCBvZiBhbiBhcmJpdHJhcnkgZGV2aWNlIGlzIGEgcGFydGljdWxhcmx5IHNhZmUgdGhp bmcgdG8gZG8gYW55d2F5KS4gVGhlIHhlbi1wdCBjb2RlIHdvdWxkIGluc3RlYWQgbmVlZCB0byB0 cmFwIHRob3NlIEJBUnMgYW5kIHBlcmZvcm0gdGhlIGFjY2Vzc2VzIHRvIHRoZSByZWFsIEJBUiBp dHNlbGYuIFVsdGltYXRlbHkgdGhvdWdoIEkgdGhpbmsgd2Ugc2hvdWxkIGJlIHJldGlyaW5nIHRo ZSB4ZW4tcHQgY29kZSBpbiBmYXZvdXIgb2YgYSBzdGFuZGFsb25lIGVtdWxhdG9yLgo+ID4gPiA+ ID4KPiA+ID4gPiA+IEl0IGRvZXNuJ3QgbWF0dGVyIGlmIHRoZSBCQVIgaXMgc21hbGxlciB0aGFu IDRrLCBpZiB0aGVyZSBhcmUgaG9sZXMgbmV4dAo+ID4gPiA+ID4gdG8gaXQuCj4gPiA+ID4gPgo+ ID4gPiA+ID4gRG8gd2Uga25vdyB3aGF0IHRoZSBjYXNlIGlzIGluIHByYWN0aWNlIGZvciB0aGVz ZSBVU0IgY29udHJvbGxlcnM/Cj4gPiA+ID4gPgo+ID4gPiA+ID4gSWYgdGhlIHdvcnN0IGNvbWVz IHRvIHRoZSB3b3JzdCwgd2UgY2FuIHJlLWVudW1lcmF0ZSB0aGUgUENJIGJ1cyB0bwo+ID4gPiA+ ID4gZW5zdXJlIHRoYXQgYWxsIGJhcnMgc21hbGxlciB0aGFuIDRrIHN0aWxsIGhhdmUgNGsgYWxp Z25tZW50IGJldHdlZW4KPiA+ID4gPiA+IHRoZW0uICBUaGF0IHdheSB3ZSBjYW4gc2FmZWx5IHBh c3MgdGhlbSB0aHJvdWdoIGV2ZW4gd2hlbiB0aGV5IGFyZSBzbWFsbGVyLgo+ID4gPiA+Cj4gPiA+ ID4gQW5kcmV3LCB0aGFua3MgZm9yIGNoZWNraW5nIHRoZSBzcGVjIG9uIHRoZSBtaW5pbXVtIEJB UiBzaXplLgo+ID4gPiA+Cj4gPiA+ID4gRHJvcHBpbmcgdGhlIFJvdW5kIFBDSSByZWdpb24gcGF0 Y2ggZnJvbSBRTUVVLCB0aGUgZ3Vlc3QgSFZNIHdpbGwgaGF2ZToKPiA+ID4gPgo+ID4gPiA+IDAw OjA2LjAgU0QgSG9zdCBjb250cm9sbGVyOiBSaWNvaCBDbyBMdGQgUENJZSBTRFhDL01NQyBIb3N0 IENvbnRyb2xsZXIgKHJldiAwNykKPiA+ID4gPiAgICAgTWVtb3J5IGF0IGYyMDI4ODAwICgzMi1i aXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXplPTI1Nl0KPiA+ID4gPiAwMDowNy4wIFVTQiBjb250 cm9sbGVyOiBORUMgQ29ycG9yYXRpb24gdVBENzIwMjAwIFVTQiAzLjAgSG9zdAo+ID4gPiA+IENv bnRyb2xsZXIgKHJldiAwNCkgKHByb2ctaWYgMzAgW1hIQ0ldKQo+ID4gPiA+ICAgICBNZW1vcnkg YXQgZjIwMjQwMDAgKDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW3NpemU9OEtdCj4gPiA+ID4g MDA6MDguMCBVU0IgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gNiBTZXJpZXMvQzIwMCBT ZXJpZXMgQ2hpcHNldAo+ID4gPiA+IEZhbWlseSBVU0IgRW5oYW5jZWQgSG9zdCBDb250cm9sbGVy ICMyIChyZXYgMDUpIChwcm9nLWlmIDIwIFtFSENJXSkKPiA+ID4gPiAgICAgTWVtb3J5IGF0IGYy MDI4MDAwICgzMi1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXplPTFLXQo+ID4gPiA+IDAwOjA5 LjAgVVNCIGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIDYgU2VyaWVzL0MyMDAgU2VyaWVz IENoaXBzZXQKPiA+ID4gPiBGYW1pbHkgVVNCIEVuaGFuY2VkIEhvc3QgQ29udHJvbGxlciAjMSAo cmV2IDA1KSAocHJvZy1pZiAyMCBbRUhDSV0pCj4gPiA+ID4gICAgIE1lbW9yeSBhdCBmMjAyODQw MCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT0xS10KPiA+ID4gPgo+ID4gPiA+IDAw OjA5LjAsIDAwOjA4LjAgJiAwMDowNi4wIGFsbCBzaGFyZSB0aGUgc2FtZSBwYWdlLiAgT25seSAw MDowOC4wIGlzCj4gPiA+ID4gd29ya2luZy4gIFdpdGggc29tZSBhZGRlZCBkZWJ1Z2dpbmcgb3V0 cHV0LCB5b3UnbGwgc2VlIHRoYXQgdGhlIHNhbWUKPiA+ID4gPiBwYWdlKiBpcyB1c2VkIGZvciB0 aHJlZSBvZiB0aGUgQkFScy4KPiA+ID4gPgo+ID4gPiA+IFswMDowNi4wXSBtYXBwaW5nIGd1ZXN0 X2FkZHIgMHhmMjAyODgwMCBnZm4gMHhmMjAyOCB0byBtYWRkcgo+ID4gPiA+IDB4ZTFhMzAwMDAg bWZuIDB4ZTFhMzAKPiA+ID4gPiBbMDA6MDcuMF0gbWFwcGluZyBndWVzdF9hZGRyIDB4ZjIwMjQw MDAgZ2ZuIDB4ZjIwMjQgdG8gbWFkZHIKPiA+ID4gPiAweGUwODAwMDAwIG1mbiAweGUwODAwCj4g PiA+ID4gWzAwOjA5LjBdIG1hcHBpbmcgZ3Vlc3RfYWRkciAweGYyMDI4NDAwIGdmbiAweGYyMDI4 IHRvIG1hZGRyCj4gPiA+ID4gMHhlMTkwMDAwMCBtZm4gMHhlMTkwMAo+ID4gPiA+IFswMDowOC4w XSBtYXBwaW5nIGd1ZXN0X2FkZHIgMHhmMjAyODAwMCBnZm4gMHhmMjAyOCB0byBtYWRkcgo+ID4g PiA+IDB4ZTFhMmYwMDAgbWZuIDB4ZTFhMmYKPiA+ID4KPiA+ID4gVGhlIHBhdGNoIGJlbG93IHNo b3VsZCBwcmV2ZW50IGh2bWxvYWRlciBmcm9tIHBsYWNpbmcgbXVsdGlwbGUgQkFScyBvbgo+ID4g PiB0aGUgc2FtZSBwYWdlLCBjb3VsZCB5b3UgZ2l2ZSBpdCBhIHRyeT8KPiA+ID4KPiA+ID4gTm90 ZSB0aGF0IHRoaXMgaXMgbm90IGdvaW5nIHRvIHByZXZlbnQgdGhlIGd1ZXN0IGZyb20gbW92aW5n IHRob3NlCj4gPiA+IEJBUnMgYXJvdW5kIGFuZCBwbGFjZSB0aGVtIGluIHRoZSBzYW1lIHBhZ2Us IHRodXMgYnJlYWtpbmcgdGhlIGluaXRpYWwKPiA+ID4gcGxhY2VtZW50IGRvbmUgYnkgaHZtbG9h ZGVyLgo+ID4gPgo+ID4gPiBUaGFua3MsIFJvZ2VyLgo+ID4KPiA+IEhpLCBSb2dlci4KPiA+Cj4g PiBJJ3ZlIG1pbmltYWxseSB0ZXN0ZWQgdGhpcy4gIFllcywgdGhpcyBwYXRjaCBzZWVtcyB0byBw bGFjZSBzbWFsbCBCQVJzCj4gPiBpbnRvIHNlcGFyYXRlIHBhZ2VzLiAgVGhlIGxpbnV4IHN0dWJk b20gYW5kIFFFTVUgdGhlbiB1c2UgdGhlIHNwYWNpbmcKPiA+IGFzIHByb3ZpZGVkIGJ5IGh2bWxv YWRlci4KPiAKPiBSb2dlciwKPiAKPiBXb3VsZCB5b3UgbWluZCBzdWJtaXR0aW5nIHRoaXMgcGF0 Y2ggdG8gWGVuPwoKSG0sIEknbSBoYWxmIG1pbmRlZCByZWdhcmRpbmcgdGhpcyBwYXRjaC4gSXQg ZmVlbHMgbW9yZSBsaWtlIGEgYmFuZGFpZAp0aGFuIGEgcHJvcGVyIHNvbHV0aW9uLiBNYXBwaW5n IEJBUnMgbm90IG11bHRpcGxlIG9mIHBhZ2Utc2l6ZXMgaXMKZGFuZ2Vyb3VzIGJlY2F1c2UgQUZB SUsgdGhlcmUncyBubyBlbnRpdHkgdGhhdCBhc3NlcnRzIHRoZXJlIGlzbid0IGFueQpvdGhlciBC QVIgZnJvbSBhIGRpZmZlcmVudCBkZXZpY2Ugb24gdGhlIHNhbWUgcGFnZSwgYW5kIGhlbmNlIHlv dQptaWdodCBlbmQgdXAgbWFwcGluZyBzb21lIE1NSU8gcmVnaW9uIGZyb20gYW5vdGhlciBkZXZp Y2UKaW5hZHZlcnRlbnRseS4KCkFueXdheSwgSSBjYW4gZm9ybWFsbHkgc3VibWl0IHRoZSBwYXRj aCBzaW5jZSBpdCdzIG5vIHdvcnNlIHRoYW4Kd2hhdCdzIGN1cnJlbnRseSBkb25lLCBidXQgSSB3 b3VsZCBjbGVhcmx5IHN0YXRlIHRoaXMgaXMgbm90IHNhZmUgaW4KaXQncyBjdXJyZW50IHN0YXRl LgoKVGhhbmtzLCBSb2dlci4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=