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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 57036EB64D9 for ; Tue, 27 Jun 2023 15:13:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jXEAW3WjCw/H7lrChZWRldasbSHLyH5vs1npPO/GaBY=; b=fzRKpKo8s524xX ZghYa+OClLZf+kxhSdwFiH5vklmCbsC2KiWzUBjp5VKtb3ZtXFqUyg5ExTHaAic5pIARKVNtMLjKf faMKYF1giuCI0b2UH97ZtX48fXe7mZVfX3AwTPZ1CSv2DERwWMEIKt6brbrvxKLsod2Y9s6A1GH1u nbT6xOYfO1scNmot8zwdSsvA0Rhwb83svEl45nR/ysWnOBGWgp1Xvu+McrAFQrHYzwDFxj9o7j9EF Es/bphQnFCDVuN0JAs5A2C1/irtZ7a9Kwfawjmg0akuMxOzV2R3f90n1zB58aH6z0mp9yBqeFpZk5 k0TWM5FvggkcjPyI8gIg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qEANj-00DTtl-2z; Tue, 27 Jun 2023 15:13:27 +0000 Received: from mail-pf1-f175.google.com ([209.85.210.175]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qEANg-00DTt7-2r for linux-riscv@lists.infradead.org; Tue, 27 Jun 2023 15:13:27 +0000 Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-66c729f5618so3119887b3a.1 for ; Tue, 27 Jun 2023 08:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687878802; x=1690470802; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=VXZOH/PHDrh2TthSxMggay95849Ug6bU1pXX4QAThzI=; b=ftlRh0wF1ZPcLPZCxuDzvQ8gQPRtrtqFJFlZaHtuM43lCMmg/ckslMbJ2KLp7L0X8F eIHPu2fi2ib22kvQn4EA97roFzMgFwT9IFM4892mtxoSgPexysYUCAFJgKRgdIRMlkqb WxAmUYQNAaeLtyfKpncyLmjsTQGi5f+r+RNM0f29ZhUAptJu6ma43UDEGbkrFK/lHoqY RKRJgvYIJuJWk4181YK5Z02mkIiJZtALLzCCtEaSKzSwMSvqpbE/MEoCGiIXebGNLIn/ KqSLySi242JuMyPxuEOSSwTjNtT+cZ8bhTxF1cKmuYWGsdjly+SL0Y2aZqVvLiq+0f3C S07g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687878802; x=1690470802; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VXZOH/PHDrh2TthSxMggay95849Ug6bU1pXX4QAThzI=; b=NoLaV5JHnyt2ZAsjVDSJGGEni+1KrKWTw81EhC79/pSG9tQPSstBudggU2H9NN5Lpe hppfKcaIIZXlYpg7rLYjvEzPp/cIaPMrcfgQo56fyLzz0Dlu66+KKWhBDSAU/YJoQ21h hJoKVU6GbSVb3t+GoV/vpliDFXQEay06uADWNKRuq+6uz72Iu/7OJTcpAVOLqKf2mbxa 5NNVK55Vc5TLph91KII1lI5T1Gb9azEP4kOI03WS9nDSUYqPnvWc04ZcwM9qIu8eo8m1 dqmKgRiq9OpxCFOuFt1S9HGHV0j8pafDUUvMIAt40b4WHGX03Le0LEB9W0hNlXzW56Zg /wUQ== X-Gm-Message-State: AC+VfDy6tjal0XlDmKbgrE3CzjOLoiMJqxX5PemRSTbTZGTSX6/szhv9 h5J3f3ak2evSUo4t1S4Oay4= X-Google-Smtp-Source: ACHHUZ5tlxW0msX3NuUhoJjfu5y1DELLaJLraiQT0vX/NleFFtiBgovgyltyL56aD2U5XdxDNNDEJA== X-Received: by 2002:a05:6a20:3956:b0:128:86a3:f7f3 with SMTP id r22-20020a056a20395600b0012886a3f7f3mr4880428pzg.48.1687878802273; Tue, 27 Jun 2023 08:13:22 -0700 (PDT) Received: from [0.0.0.0] ([5.180.77.117]) by smtp.gmail.com with ESMTPSA id m18-20020aa79012000000b0064fc715b380sm5705428pfo.176.2023.06.27.08.13.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 27 Jun 2023 08:13:21 -0700 (PDT) Message-ID: <33372b6e-853f-e7d2-9785-167e2218947c@gmail.com> Date: Tue, 27 Jun 2023 23:13:11 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0 Subject: Re: [PATCH V1 0/3] Revert huge-paged linear mapping and its related fixups To: Alexandre Ghiti Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, robh+dt@kernel.org, frowand.list@gmail.com, ajones@ventanamicro.com, mpe@ellerman.id.au, arnd@arndb.de, rppt@kernel.org, samuel@sholland.org, panqinglin2020@iscas.ac.cn, conor.dooley@microchip.com, anup@brainfault.org, xianting.tian@linux.alibaba.com, anshuman.khandual@arm.com, heiko@sntech.de, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org References: <20230625140931.1266216-1-songshuaishuai@tinylab.org> From: Song Shuai In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230627_081324_927839_2AF1C286 X-CRM114-Status: GOOD ( 38.60 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgQWxleCwKCuWcqCAyMDIzLzYvMjcgMTk6NDcsIEFsZXhhbmRyZSBHaGl0aSDlhpnpgZM6Cj4g T24gU3VuLCBKdW4gMjUsIDIwMjMgYXQgMTA6MzbigK9QTSBBbGV4YW5kcmUgR2hpdGkgPGFsZXhn aGl0aUByaXZvc2luYy5jb20+IHdyb3RlOgo+Pgo+PiBIaSBTb25nLAo+Pgo+PiBPbiBTdW4sIEp1 biAyNSwgMjAyMyBhdCA0OjEw4oCvUE0gU29uZyBTaHVhaSA8c29uZ3NodWFpc2h1YWlAdGlueWxh Yi5vcmc+IHdyb3RlOgo+Pj4KPj4+IFdlIGhhdmUgZW5jb3VudGVyZWQgdGhlc2UgdHdvIGlzc3Vl cyBhYm91dCBodWdlLXBhZ2VkIGxpbmVhciBtYXBwaW5nIHNpbmNlIHY2LjQtcmMxOgo+Pj4KPj4+ IDEuIEJ1ZyByZXBvcnQ6IGtlcm5lbCBwYW5pY2VkIHdoZW4gc3lzdGVtIGhpYmVybmF0ZXNbMV0K Pj4+Cj4+PiBPcGVuU2JpIFt2MC44LHYxLjMpIHNldCB0aGUgUE1QIHJlZ2lvbnMgYXMgIW5vLW1h cCwgYW5kIHRoZSBjb21taXQgMzMzNTA2OGY4NzIxCj4+PiAoInJpc2N2OiBVc2UgUFVEL1A0RC9Q R0QgcGFnZXMgZm9yIHRoZSBsaW5lYXIgbWFwcGluZyIpIG1hcHBlZCB0aGVtIGluIGxpbmVhciBt YXBwaW5nLgo+Pj4gVGhlIGhpYmVybmF0aW9uIHByb2Nlc3MgYXR0ZW1wdGVkIHRvIHNhdmUvcmVz dG9yZSB0aGVzZSBtYXBwZWQgcmVnaW9ucyByZXN1bHRpbmcgaW4gYWNjZXNzIGZhdWx0Lgo+Pj4K Pj4+IFRoaXMgaXNzdWUgd2FzIHRlbXBvcmFyaWx5IGZpeGVkIGJ5IGNvbW1pdCBlZDMwOWNlNTIy MTggKCJSSVNDLVY6IG1hcmsgaGliZXJuYXRpb24gYXMgbm9ucG9ydGFibGUiKS4KPj4+IEJ1dCBh cyBBbGV4J3MgUkZDIGFuZCBSb2IncyByZXNwb25zZSBzdGF0cyBpbiBhbm90aGVyIHRocmVhZCBb Ml0gLAo+Pj4gIkhpYmVybmF0aW9uIGlzIG9ubHkgb25lIGNhc2UuIFNwZWN1bGF0aXZlIGFjY2Vz c2VzIGNvdWxkIGFsc28gb2NjdXIuIgo+Pj4gU28gdGhpcyBmaXhpbmcgY29tbWl0IHNlZW1zIG5v dCB0aGUgcGVyZmVjdCBhbnN3ZXIgdG8gdGhpcyBpc3N1ZS4KPj4+Cj4+Pgo+Pj4gMi4gQnVnIHJl cG9ydDoga2VybmVsIHBhbmljZWQgd2hpbGUgYm9vdGluZyAod2l0aCBVRUZJIClbM10KPj4+Cj4+ PiBEdXJpbmcgdGhlIGJvb3Rpbmcgd2l0aCBVRUZJLCBVRUZJIE1lbW9yeSBNYXBwaW5nIG92ZXJ3 cm90ZSB0aGUgbWVtYmxvY2suCj4+PiBUaGUgcGh5c19yYW1fYmFzZSB3YXMgc2V0IGFzIHRoZSBl bmQgYWRkcmVzcyBvZiBtbW9kZXJlczAgKGxpa2UgMHg4MDA0MDAwMCBmb3IgMjU2IEtpQiBtbW9k ZXJlczBAODAwMDAwMDApLAo+Pj4gd2hpY2ggcmVzdWx0ZWQgdGhlIFZBIGJhc2VkIG9uIDJNLWFs aWduZWQgUEEgd2FzIG5vdCAyTS1hbGlnbmVkIHVzaW5nIHZhX3BhX29mZnNldAo+Pj4gKFBBR0Vf T0ZGU0VUIC0gcGh5c19yYW1fYmFzZSkgdG8gdHJhbnNsYXRlLgo+Pj4KPj4+IFRoZSBiZXN0X21h cF9zaXplKCkgZnJvbSBjb21taXQgMzMzNTA2OGY4NzIxIGRpZG4ndCBjaGVjayB0aGUgdmlydHVh bCBhbGlnbm1lbnQKPj4+IGJlZm9yZSBjaG9vc2luZyBhIG1hcCBzaXplLiBhbmQgdGhlbiBhICJW QSBob2xlIiB3YXMgY3JlYXRlZCB3aGVyZSBwYWdlIGZhdWx0cyBhbHdheXMgb2NjdXJyZWQuCj4+ Pgo+Pj4gVGhpcyBpc3N1ZSB3YXMgZml4ZWQgYnkgY29tbWl0IDQ5YTBhMzczMTU5NiAoInJpc2N2 OiBDaGVjayB0aGUgdmlydHVhbCBhbGlnbm1lbnQgYmVmb3JlIGNob29zaW5nIGEgbWFwIHNpemUi KSwKPj4+IEJ1dCB0aGlzIGZpeGluZyBjb21taXQgaGFzIGEgc2lkZS1lZmZlY3QgKCJ0aGUgcG9z c2libGUgdGhpcmQgb25lIiBhcyBBbGV4IHNhaWQgaW4gdGhpcyB0aHJlYWQpLgo+Pj4gVGhlcmUg YXJlIG51bWVyb3VzIFBURSBhbGxvY2F0aW9ucyBzbG93aW5nIGRvd24gdGhlIGJvb3QgdGltZSBh bmQgY29uc3VtaW5nIHNvbWUgc3lzdGVtIG1lbW9yeSB3aGVuIFVFRkkgYm9vdGluZwo+Pj4gKE5v dGUgdGhhdCBpdCdzIG5vdCBpbnZvbHZlZCB3aGVuIGJvb3RpbmcgZGlyZWN0bHkgd2l0aCBPcGVu U2JpLCB3aGVyZSBwaHlzX3JhbV9iYXNlIGlzIHRoZSAyTS1hbGlnbmVkIGJhc2Ugb2YgRFJBTSku Cj4+Pgo+Pj4gSW4gbXkgdGVzdCwgY29tcGFyZWQgd2l0aC9vdXQgcmV2ZXJ0aW5nIGJvdGggY29t bWl0IDQ5YTBhMzczMTU5NiBhbmQgY29tbWl0IDMzMzUwNjhmODcyMSwKPj4+IEkgbXVzdCB3YWl0 IH4yMHMgZm9yIHRoZSBsaW5lYXIgbWFwcGluZyBjcmVhdGlvbiBhbmQgbWVtX2luaXRfcHJpbnRf aW5mbygpIHJlcG9ydGVkIH44TSBleHRyYSByZXNlcnZlZCBtZW1vcnkuCj4+Cj4+IEluZGVlZCwg cGh5c19yYW1fYmFzZSBpcyBub3QgYWxpZ25lZCBvbiBhIDJNQiBib3VuZGFyeSB3aGVuIGJvb3Rp bmcKPj4gd2l0aCBFREsyLCBJSVJDIHRoYXQncyBiZWNhdXNlIHRoZSBmaXJzdCBjaHVuayBvZiBt ZW1vcnkgYXQKPj4gMHg4MDAwXzAwMDAgaXMgbWFya2VkIGFzIFVDIGFuZCBpcyB0aGVuIGNvbXBs ZXRlbHkgZXZpY3RlZC4KPj4KPj4+Cj4+PiBUbyBlbGltaW5hdGUgdGhpcyBzaWRlLWVmZmVjdCwg V2Ugc2hvdWxkIGZpbmQgYSB3YXkgdG8gYWxpZ24gVkEgYW5kIFBBIG9uIGEgMk1CIGJvdW5kYXJ5 Lgo+Pj4gVGhlIHNpbXBsZXN0IHdheSBpcyByZXZlcnRpbmcgdGhlIGNvbW1pdCAzMzM1MDY4Zjg3 MjEgKCJyaXNjdjogVXNlIFBVRC9QNEQvUEdEIHBhZ2VzIGZvciB0aGUgbGluZWFyIG1hcHBpbmci KS4KPj4+Cj4+Cj4+IEkgZGlzYWdyZWUsIHRoZSBzaW1wbGVzdCB3YXkgaXMgdG8gYWxpZ24gcGh5 c19yYW1fYmFzZSBvbiBhIDJNQgo+PiBib3VuZGFyeSwgZWl0aGVyIGJ5IGFsaWduaW5nIHRvIHRo ZSB1cHBlciBib3VuZGFyeSAoYW5kIHRoZW4gd2FzdGVzCj4+IG1lbW9yeSwgbGlrZSB3ZSB1c2Vk IHRvKSBvciBieSBhbGlnbmluZyB0byB0aGUgbG93ZXIgYm91bmRhcnkgKGJ1dCBJCj4+IHdhbnQg dG8gbWFrZSBzdXJlIGl0IHdvcmtzKS4KPj4KPj4gSSdsbCBjb21lIHVwIHdpdGggc29tZXRoaW5n IHRvbW9ycm93Lgo+IAo+IEBTb25nIFNodWFpIDogY2FuIHlvdSB0ZXN0IHRoZSBmb2xsb3dpbmcg cGxlYXNlPwo+IAo+IGNvbW1pdCBhMzViNWU1ZTNmMjllNDE1ZjU0ZmVhMDY0MTc2MzE1ZTc5ZTIx ZmI3IChIRUFEIC0+Cj4gZGV2L2FsZXgvYWxpZ25fdmFfcGFfdjEpCj4gQXV0aG9yOiBBbGV4YW5k cmUgR2hpdGkgPGFsZXhnaGl0aUByaXZvc2luYy5jb20+Cj4gRGF0ZTogICBNb24gSnVuIDUgMTQ6 MjY6NTUgMjAyMyArMDAwMAo+IAo+ICAgICAgcmlzY3Y6IFN0YXJ0IG9mIERSQU0gc2hvdWxkIGF0 IGxlYXN0IGJlIGFsaWduZWQgb24gUE1EIHNpemUgZm9yCj4gdGhlIGRpcmVjdCBtYXBwaW5nCj4g Cj4gICAgICBTbyB0aGF0IHdlIGRvIG5vdCBlbmQgdXAgbWFwcGluZyB0aGUgd2hvbGUgbGluZWFy IG1hcHBpbmcgdXNpbmcgNEsKPiAgICAgIHBhZ2VzLCB3aGljaCBpcyBzbG93IGF0IGJvb3QgdGlt ZSwgYW5kIGFsc28gdmVyeSBsaWtlbHkgYXQgcnVudGltZS4KPiAKPiAgICAgIFNvIG1ha2Ugc3Vy ZSB3ZSBhbGlnbiB0aGUgc3RhcnQgb2YgRFJBTSBvbiBhIFBNRCBib3VuZGFyeS4KPiAKPiAgICAg IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRyZSBHaGl0aSA8YWxleGdoaXRpQHJpdm9zaW5jLmNvbT4K PiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9tbS9pbml0LmMgYi9hcmNoL3Jpc2N2L21tL2lu aXQuYwo+IGluZGV4IDRmYTQyMGZhYTc4MC4uNGE0M2VjMjc1YzZkIDEwMDY0NAo+IC0tLSBhL2Fy Y2gvcmlzY3YvbW0vaW5pdC5jCj4gKysrIGIvYXJjaC9yaXNjdi9tbS9pbml0LmMKPiBAQCAtMjE0 LDggKzIxNCwxMyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfYm9vdG1lbSh2b2lkKQo+ICAg ICAgICAgIG1lbWJsb2NrX3Jlc2VydmUodm1saW51eF9zdGFydCwgdm1saW51eF9lbmQgLSB2bWxp bnV4X3N0YXJ0KTsKPiAKPiAgICAgICAgICBwaHlzX3JhbV9lbmQgPSBtZW1ibG9ja19lbmRfb2Zf RFJBTSgpOwo+ICsKPiArICAgICAgIC8qCj4gKyAgICAgICAgKiBNYWtlIHN1cmUgd2UgYWxpZ24g dGhlIHN0YXJ0IG9mIHRoZSBtZW1vcnkgb24gYSBQTUQgYm91bmRhcnkgc28gdGhhdAo+ICsgICAg ICAgICogYXQgd29yc3QsIHdlIG1hcCB0aGUgbGluZWFyIG1hcHBpbmcgd2l0aCBQTUQgbWFwcGlu Z3MuCj4gKyAgICAgICAgKi8KPiAgICAgICAgICBpZiAoIUlTX0VOQUJMRUQoQ09ORklHX1hJUF9L RVJORUwpKQo+IC0gICAgICAgICAgICAgICBwaHlzX3JhbV9iYXNlID0gbWVtYmxvY2tfc3RhcnRf b2ZfRFJBTSgpOwo+ICsgICAgICAgICAgICAgICBwaHlzX3JhbV9iYXNlID0gbWVtYmxvY2tfc3Rh cnRfb2ZfRFJBTSgpICYgUE1EX01BU0s7Cj4gCj4gICAgICAgICAgLyoKPiAgICAgICAgICAgKiBJ biA2NC1iaXQsIGFueSB1c2Ugb2YgX192YS9fX3BhIGJlZm9yZSB0aGlzIHBvaW50IGlzIHdyb25n IGFzIHdlCj4gCkkgdGVzdGVkIHlvdXIgcGF0Y2ggYW5kIGl0IHJlYWxseSBmaXhlZCB3aGF0IEkg Y29uY2VybmVkIDoKCmBUaGVyZSBhcmUgbnVtZXJvdXMgUFRFIGFsbG9jYXRpb25zIHNsb3dpbmcg ZG93biB0aGUgYm9vdCB0aW1lIGFuZCAKY29uc3VtaW5nIHNvbWUgc3lzdGVtIG1lbW9yeSB3aGVu IFVFRkkgYm9vdGluZy5gCgpGWUksIEkgcG9zdGVkIHRoZSBgcHRkbXBgIGFuZCB0aGUgYXZhaWxh YmxlIG1lbW9yeSB3aXRoL291dCB0aGUgcGF0Y2ggCmZyb20gbXkgdGVzdDoKCmBgYAogPj4gdjYu NAoKLS0tWyBMaW5lYXIgbWFwcGluZyBdLS0tCjB4ZmY2MDAwMDAwMDAwMDAwMC0weGZmNjAwMDAw MDAxYzAwMDAgICAgMHgwMDAwMDAwMDgwMDQwMDAwICAgICAgMTc5MksgClBURSAgICAgRCBBIEcg LiAuIFcgUiBWCjB4ZmY2MDAwMDAwMDFjMDAwMC0weGZmNjAwMDAwMDBiYzAwMDAgICAgMHgwMDAw MDAwMDgwMjAwMDAwICAgICAgICAxME0gClBURSAgICAgRCBBIEcgLiAuIC4gUiBWCjB4ZmY2MDAw MDAwMGJjMDAwMC0weGZmNjAwMDAwMDBmYzAwMDAgICAgMHgwMDAwMDAwMDgwYzAwMDAwICAgICAg ICAgNE0gClBURSAgICAgRCBBIEcgLiAuIFcgUiBWCjB4ZmY2MDAwMDAwMGZjMDAwMC0weGZmNjAw MDAwMDE1YzAwMDAgICAgMHgwMDAwMDAwMDgxMDAwMDAwICAgICAgICAgNk0gClBURSAgICAgRCBB IEcgLiAuIC4gUiBWCjB4ZmY2MDAwMDAwMTVjMDAwMC0weGZmNjAwMDAwZmZkZmQwMDAgICAgMHgw MDAwMDAwMDgxNjAwMDAwICAgNDE2OTk3MksgClBURSAgICAgRCBBIEcgLiAuIFcgUiBWCjB4ZmY2 MDAwMDBmZmZiZjAwMC0weGZmNjAwMDAwZmZmYzAwMDAgICAgMHgwMDAwMDAwMTdmZmZmMDAwICAg ICAgICAgNEsgClBURSAgICAgRCBBIEcgLiAuIFcgUiBWCgogPj4gdjYuNCB3aXRoIHRoZSBwYXRj aAoKLS0tWyBMaW5lYXIgbWFwcGluZyBdLS0tCjB4ZmY2MDAwMDAwMDA0MDAwMC0weGZmNjAwMDAw MDAyMDAwMDAgICAgMHgwMDAwMDAwMDgwMDQwMDAwICAgICAgMTc5MksgClBURSAgICAgRCBBIEcg LiAuIFcgUiBWCjB4ZmY2MDAwMDAwMDIwMDAwMC0weGZmNjAwMDAwMDBjMDAwMDAgICAgMHgwMDAw MDAwMDgwMjAwMDAwICAgICAgICAxME0gClBNRCAgICAgRCBBIEcgLiAuIC4gUiBWCjB4ZmY2MDAw MDAwMGMwMDAwMC0weGZmNjAwMDAwMDEwMDAwMDAgICAgMHgwMDAwMDAwMDgwYzAwMDAwICAgICAg ICAgNE0gClBNRCAgICAgRCBBIEcgLiAuIFcgUiBWCjB4ZmY2MDAwMDAwMTAwMDAwMC0weGZmNjAw MDAwMDE2MDAwMDAgICAgMHgwMDAwMDAwMDgxMDAwMDAwICAgICAgICAgNk0gClBNRCAgICAgRCBB IEcgLiAuIC4gUiBWCjB4ZmY2MDAwMDAwMTYwMDAwMC0weGZmNjAwMDAwNDAwMDAwMDAgICAgMHgw MDAwMDAwMDgxNjAwMDAwICAgICAgMTAwMk0gClBNRCAgICAgRCBBIEcgLiAuIFcgUiBWCjB4ZmY2 MDAwMDA0MDAwMDAwMC0weGZmNjAwMDAwYzAwMDAwMDAgICAgMHgwMDAwMDAwMGMwMDAwMDAwICAg ICAgICAgMkcgClBVRCAgICAgRCBBIEcgLiAuIFcgUiBWCjB4ZmY2MDAwMDBjMDAwMDAwMC0weGZm NjAwMDAwZmZlMDAwMDAgICAgMHgwMDAwMDAwMTQwMDAwMDAwICAgICAgMTAyMk0gClBNRCAgICAg RCBBIEcgLiAuIFcgUiBWCjB4ZmY2MDAwMDBmZmUwMDAwMC0weGZmNjAwMDAwZmZlM2QwMDAgICAg MHgwMDAwMDAwMTdmZTAwMDAwICAgICAgIDI0NEsgClBURSAgICAgRCBBIEcgLiAuIFcgUiBWCjB4 ZmY2MDAwMDBmZmZmZjAwMC0weGZmNjAwMDAxMDAwMDAwMDAgICAgMHgwMDAwMDAwMTdmZmZmMDAw ICAgICAgICAgNEsgClBURSAgICAgRCBBIEcgLiAuIFcgUiBWCmBgYAoKYGBgCiA+PiB2Ni40CgpN ZW1vcnk6IDM5NDUzNDBLLzQxOTQwNDhLIGF2YWlsYWJsZSAoODM5MUsga2VybmVsIGNvZGUsIDQ5 NTlLIHJ3ZGF0YSwgCjQwOTZLIHJvZGF0YSwgMjE5NUsgaW5pdCwgNDc2SyBic3MsIDI0ODcwOEsg cmVzZXJ2ZWQsIDBLIGNtYS1yZXNlcnZlZCkKCiA+PiB2Ni40IHdpdGggdGhlIHBhdGNoCgpNZW1v cnk6IDM5NTM1MjRLLzQxOTQwNDhLIGF2YWlsYWJsZSAoODM5MUsga2VybmVsIGNvZGUsIDQ5NTlL IHJ3ZGF0YSwgCjQwOTZLIHJvZGF0YSwgMjE5NUsgaW5pdCwgNDc2SyBic3MsIDI0MDUyNEsgcmVz ZXJ2ZWQsIDBLIGNtYS1yZXNlcnZlZCkKYGBgCj4gQW4gZXhhbXBsZSBvZiBvdXRwdXQgd2hlbiBw aHlzX3JhbV9iYXNlIGlzIG5vdCBhbGlnbmVkIG9uIGEgMk1CIGJvdW5kYXJ5Ogo+IAo+IC0tLVsg TGluZWFyIG1hcHBpbmcgXS0tLQo+IDB4ZmZmZmFmODAwMDAwODAwMC0weGZmZmZhZjgwMDAyMDAw MDAgICAgMHgwMDAwMDAwMDgwMDA4MDAwICAgICAgMjAxNksKPiBQVEUgICAgIEQgQSBHIC4gLiBX IFIgVgo+IDB4ZmZmZmFmODAwMDIwMDAwMC0weGZmZmZhZjgwMDBlMDAwMDAgICAgMHgwMDAwMDAw MDgwMjAwMDAwICAgICAgICAxMk0KPiBQTUQgICAgIEQgQSBHIC4gLiAuIFIgVgo+IDB4ZmZmZmFm ODAwMGUwMDAwMC0weGZmZmZhZjgwMDEyMDAwMDAgICAgMHgwMDAwMDAwMDgwZTAwMDAwICAgICAg ICAgNE0KPiBQTUQgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODAwMTIwMDAwMC0weGZm ZmZhZjgwMDFhMDAwMDAgICAgMHgwMDAwMDAwMDgxMjAwMDAwICAgICAgICAgOE0KPiBQTUQgICAg IEQgQSBHIC4gLiAuIFIgVgo+IDB4ZmZmZmFmODAwMWEwMDAwMC0weGZmZmZhZjgwN2U2MDAwMDAg ICAgMHgwMDAwMDAwMDgxYTAwMDAwICAgICAgMTk5Nk0KPiBQTUQgICAgIEQgQSBHIC4gLiBXIFIg Vgo+IDB4ZmZmZmFmODA3ZTYwMDAwMC0weGZmZmZhZjgwN2U3MTQwMDAgICAgMHgwMDAwMDAwMGZl NjAwMDAwICAgICAgMTEwNEsKPiBQVEUgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODA3 ZTcxNTAwMC0weGZmZmZhZjgwN2U3MTgwMDAgICAgMHgwMDAwMDAwMGZlNzE1MDAwICAgICAgICAx MksKPiBQVEUgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODA3ZTcxYjAwMC0weGZmZmZh ZjgwN2U3MWMwMDAgICAgMHgwMDAwMDAwMGZlNzFiMDAwICAgICAgICAgNEsKPiBQVEUgICAgIEQg QSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODA3ZTcyMDAwMC0weGZmZmZhZjgwN2U4MDAwMDAgICAg MHgwMDAwMDAwMGZlNzIwMDAwICAgICAgIDg5NksKPiBQVEUgICAgIEQgQSBHIC4gLiBXIFIgVgo+ IDB4ZmZmZmFmODA3ZTgwMDAwMC0weGZmZmZhZjgwN2ZlMDAwMDAgICAgMHgwMDAwMDAwMGZlODAw MDAwICAgICAgICAyMk0KPiBQTUQgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODA3ZmUw MDAwMC0weGZmZmZhZjgwN2ZmNTQwMDAgICAgMHgwMDAwMDAwMGZmZTAwMDAwICAgICAgMTM2MEsK PiBQVEUgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODA3ZmY1NTAwMC0weGZmZmZhZjgw ODAwMDAwMDAgICAgMHgwMDAwMDAwMGZmZjU1MDAwICAgICAgIDY4NEsKPiBQVEUgICAgIEQgQSBH IC4gLiBXIFIgVgo+IDB4ZmZmZmFmODA4MDAwMDAwMC0weGZmZmZhZjgzYzAwMDAwMDAgICAgMHgw MDAwMDAwMTAwMDAwMDAwICAgICAgICAxM0cKPiBQVUQgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4 ZmZmZmFmODNjMDAwMDAwMC0weGZmZmZhZjgzZmZlMDAwMDAgICAgMHgwMDAwMDAwNDQwMDAwMDAw ICAgICAgMTAyMk0KPiBQTUQgICAgIEQgQSBHIC4gLiBXIFIgVgo+IDB4ZmZmZmFmODNmZmUwMDAw MC0weGZmZmZhZjg0MDAwMDAwMDAgICAgMHgwMDAwMDAwNDdmZTAwMDAwICAgICAgICAgMk0KPiBQ VEUgICAgIEQgQSBHIC4gLiBXIFIgVgo+IAo+IEkgZm91bmQgdGhhdCBpdCB3YXMgZWFzaWVyIHRv IGFsaWduIHBoeXNfcmFtX2Jhc2Ugb24gdGhlIGxvd2VyIDJNQgo+IGJvdW5kYXJ5LiBBbGlnbmlu ZyBvbiB0aGUgdXBwZXIgYm91bmRhcnkgaXMgbW9yZSBjb21wbGljYXRlZCB0byBtZQo+IHNpbmNl IHRoZXJlIG1heSBiZSAic29tZXRoaW5nIiBiZXR3ZWVuIHBoeXNfcmFtX2Jhc2UgYW5kIHRoZSB1 cHBlciAyTUIKPiBib3VuZGFyeSB0aGF0IG5lZWRzIHRvIGJlIGFjY2Vzc2VkIHVzaW5nIHRoZSBs aW5lYXIgbWFwcGluZyAoRFQgaXMKPiBhY2Nlc3NlZCB1c2luZyBmaXhtYXAgc28gbm90IGEgcHJv YmxlbSwgaW5pdHJkPyBBQ1BJIHRhYmxlcz8gSSBkb24ndAo+IGtub3cgYWN0dWFsbHkpLgo+IAoK QW5kIHdvdWxkIHRoZXJlIGJlIHBvc3NpYmxlIGluZmx1ZW5jZSBmcm9tIHRoZSBkaWZmIGJldHdl ZW4gCnBoeXNfcmFtX2Jhc2UgYW5kIG1lbWJsb2NrX3N0YXJ0X29mX0RSQU0oKT8KCj4gV2VpcmRs eSBzaW1wbGUgdGhvdWdoLCBJIG1heSBiZSBtaXNzaW5nIHNvbWV0aGluZywgc28gYW55IGNvbW1l bnQvdGVzdAo+IGlzIHdlbGNvbWUsIGl0IGlzIGN1cnJlbnRseSBydW5uaW5nIG91ciBpbnRlcm5h bCBDSS4KPiAKPiBUaGFua3MsCj4gCj4gQWxleAo+IAo+Pgo+PiBUaGFua3MsCj4+Cj4+IEFsZXgK Pj4KPj4+Cj4+Pgo+Pj4gVXNpbmcgUFVEL1A0RC9QR0QgcGFnZXMgZm9yIHRoZSBsaW5lYXIgbWFw cGluZyB0byBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBpcyBtYXJnaW5hbCBmcm9tIGEgcmVjZW50 IHRhbGsgWzRdCj4+PiBmcm9tIE1pa2UgUmFwb3BvcnQuIE9wZW5TYmkgaGFkIG1hcmtlZCBhbGwg dGhlIFBNUC1wcm90ZWN0ZWQgcmVnaW9ucyBhcyAibm8tbWFwIiBbNV0gdG8gcHJhY3RpY2UgdGhp cyB0YWxrLgo+Pj4KCkkgbm90aWNlZCBiZXN0X21hcF9zaXplKCkgc3RpbGwgY3JlYXRlcyBzb21l IGh1Z2UtcGFnZWQgbWFwcGluZyAobGlrZSAKYWJvdmUgMkcgUFVEKSB3aXRoIHRoaXMgcGF0Y2gu CkhvdyBhYm91dCB0byByZXZlcnQgYmVzdF9tYXBfc2l6ZSgpIHRvIGRpc2FibGUgaHVnZS1wYWdl ZCBtYXBwaW5nIHRvIApwcmFjdGljZSB0aGUgTWlrZSdzIHRhbGsuCgo+Pj4gRm9yIGFsbCB0aG9z ZSByZWFzb25zLCBsZXQncyByZXZlcnQgdGhlc2UgcmVsYXRlZCBjb21taXRzOgo+Pj4KPj4+IC0g Y29tbWl0IDMzMzUwNjhmODcyMSAoInJpc2N2OiBVc2UgUFVEL1A0RC9QR0QgcGFnZXMgZm9yIHRo ZSBsaW5lYXIgbWFwcGluZyIpCj4+PiAtIGNvbW1pdCA0OWEwYTM3MzE1OTYgKCJyaXNjdjogQ2hl Y2sgdGhlIHZpcnR1YWwgYWxpZ25tZW50IGJlZm9yZSBjaG9vc2luZyBhIG1hcCBzaXplIikKPj4+ IC0gY29tbWl0IGVkMzA5Y2U1MjIxOCAoIlJJU0MtVjogbWFyayBoaWJlcm5hdGlvbiBhcyBub25w b3J0YWJsZSIpCj4+Pgo+Pj4gWzFdOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1yaXNj di9DQUFZczI9Z1F2a2hUZWlvTW1xUkRWR2pkdE5GX3ZoQit2bV8xZEhKeFBOaTc1WURRX1FAbWFp bC5nbWFpbC5jb20vCj4+PiBbMl06IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWtlcm5l bC8yMDIzMDUzMDA4MDQyNS4xODYxMi0xLWFsZXhnaGl0aUByaXZvc2luYy5jb20vCj4+PiBbM106 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LXJpc2N2L3RlbmNlbnRfN0MzQjU4MEI0N0Mx QjE3QzE2NDg4RUMxQHFxLmNvbS8KPj4+IFs0XTogaHR0cHM6Ly9sd24ubmV0L0FydGljbGVzLzkz MTQwNi8KPj4+IFs1XTogaHR0cHM6Ly9naXRodWIuY29tL3Jpc2N2LXNvZnR3YXJlLXNyYy9vcGVu c2JpL2NvbW1pdC84MTUzYjI2MjJiMDg4MDJjYzU0MmYzMGExZmNiYTQwN2E1NjY3YWI5Cj4+Pgo+ Pj4gU29uZyBTaHVhaSAoMyk6Cj4+PiAgICBSZXZlcnQgIlJJU0MtVjogbWFyayBoaWJlcm5hdGlv biBhcyBub25wb3J0YWJsZSIKPj4+ICAgIFJldmVydCAicmlzY3Y6IENoZWNrIHRoZSB2aXJ0dWFs IGFsaWdubWVudCBiZWZvcmUgY2hvb3NpbmcgYSBtYXAgc2l6ZSIKPj4+ICAgIFJldmVydCAicmlz Y3Y6IFVzZSBQVUQvUDREL1BHRCBwYWdlcyBmb3IgdGhlIGxpbmVhciBtYXBwaW5nIgo+Pj4KPj4+ ICAgYXJjaC9yaXNjdi9LY29uZmlnICAgICAgICAgICAgfCAgNSArLS0tCj4+PiAgIGFyY2gvcmlz Y3YvaW5jbHVkZS9hc20vcGFnZS5oIHwgMTYgLS0tLS0tLS0tLS0tLQo+Pj4gICBhcmNoL3Jpc2N2 L21tL2luaXQuYyAgICAgICAgICB8IDQzICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4+PiAgIGFyY2gvcmlzY3YvbW0vcGh5c2FkZHIuYyAgICAgIHwgMTYgLS0tLS0tLS0tLS0t LQo+Pj4gICBkcml2ZXJzL29mL2ZkdC5jICAgICAgICAgICAgICB8IDExICsrKystLS0tLQo+Pj4g ICA1IGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQo+Pj4K Pj4+IC0tCj4+PiAyLjIwLjEKPj4+Cj4gCgotLSAKVGhhbmtzClNvbmcgU2h1YWkKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxp bmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK