Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 24 Jul 2020 16:53:12 +0000 (17:53 +0100)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Fri, 24 Jul 2020 16:53:37 +0000 (17:53 +0100)
69/18b5c9ba79670c9ad74535318bcec937a10f6a [new file with mode: 0644]

diff --git a/69/18b5c9ba79670c9ad74535318bcec937a10f6a b/69/18b5c9ba79670c9ad74535318bcec937a10f6a
new file mode 100644 (file)
index 0000000..8e209ea
--- /dev/null
@@ -0,0 +1,224 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Fri, 24 Jul 2020 17:53:38 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+       by libre-soc.org with esmtp (Exim 4.92)
+       (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+       id 1jz0wz-0002vs-7s; Fri, 24 Jul 2020 17:53:37 +0100
+Received: from lkcl.net ([217.147.94.29])
+ by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.92) (envelope-from <lkcl@lkcl.net>) id 1jz0wx-0002vZ-E5
+ for libre-riscv-dev@lists.libre-riscv.org; Fri, 24 Jul 2020 17:53:35 +0100
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
+ s=201607131; 
+ h=Content-Type:Cc:To:Subject:Message-ID:Date:From:References:In-Reply-To:MIME-Version;
+ bh=9sIIeYutOk4Nz8v6gDsb/j/L3SKHfzUvwLN6jUoHMuc=; 
+ b=QnrxLbrsaxNBv9s7DGYnZ3AbOsen6I/PrskmpbAZnR40TXNJYCEFnOGAc6YtPiovBewdqDvE/tbvUovdHEwOGFdtbbEe2vZb49/jcVdikBMCb/M6s5qqm2h0uc+8iZ/QG69fA8KpM/wN0aY1amLXqjmsEf/+qTp4iox8N36RqG0=;
+Received: from mail-lf1-f44.google.com ([209.85.167.44])
+ by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jz0ww-0004oA-Qb
+ for libre-riscv-dev@lists.libre-riscv.org; Fri, 24 Jul 2020 16:53:35 +0000
+Received: by mail-lf1-f44.google.com with SMTP id 140so5546343lfi.5
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Fri, 24 Jul 2020 09:53:19 -0700 (PDT)
+X-Gm-Message-State: AOAM532wj+vNUU8adwrjavfjoggkRyxuZsXFC1DzPpTEiUjSpVBZ892d
+ dU+Ad/ZiVYYXNhwgAF0DGQxNXJuipktK8b01YMg=
+X-Google-Smtp-Source: ABdhPJxlSom0FpkcQehqN0BT+PuLPopTT3gtjUDdvnecfkAFW3fuyo4uTSeIrkVepjbxNpBHKD4yzWbgE0rkL7Klv00=
+X-Received: by 2002:a19:c206:: with SMTP id l6mr5456150lfc.152.1595609593593; 
+ Fri, 24 Jul 2020 09:53:13 -0700 (PDT)
+MIME-Version: 1.0
+Received: by 2002:a05:6504:702:0:0:0:0 with HTTP; Fri, 24 Jul 2020 09:53:12
+ -0700 (PDT)
+In-Reply-To: <b3a6d1be404b96594d69d9b59701c574957c8d2a.camel@kernel.crashing.org>
+References: <CAPweEDzJpX8mDE1QJO6=rPEQfz0jCt+Yi9sS48cE4bXcu8AwcQ@mail.gmail.com>
+ <20200722224713.GA213782@thinks.paulus.ozlabs.org>
+ <CAPweEDxxJqcy4kAcL0+wDYQh9A0KtW3dSi9kMdQ-_YotuRSsQw@mail.gmail.com>
+ <bc0527a82b8a777486388ab6084ce364db4c278c.camel@kernel.crashing.org>
+ <CAPweEDx_gUy8KoQUrfE+Xn-URqFQsMiiT8A9WcLsK67E5bY8Jg@mail.gmail.com>
+ <b3a6d1be404b96594d69d9b59701c574957c8d2a.camel@kernel.crashing.org>
+From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+Date: Fri, 24 Jul 2020 17:53:12 +0100
+X-Gmail-Original-Message-ID: <CAPweEDws3LZYJuYmMuDd89Q5RWjHPYX3tWbQp9VjPZC_AFSDWg@mail.gmail.com>
+Message-ID: <CAPweEDws3LZYJuYmMuDd89Q5RWjHPYX3tWbQp9VjPZC_AFSDWg@mail.gmail.com>
+To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+X-Content-Filtered-By: Mailman/MimeDel 2.1.23
+Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
+X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
+X-Mailman-Version: 2.1.23
+Precedence: list
+List-Id: Libre-RISCV General Development
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org"
+ <openpower-hdl-cores@mailinglist.openpowerfoundation.org>,
+ Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: base64
+Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
+Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+T24gVGh1cnNkYXksIEp1bHkgMjMsIDIwMjAsIEJlbmphbWluIEhlcnJlbnNjaG1pZHQgPGJlbmhA
+a2VybmVsLmNyYXNoaW5nLm9yZz4Kd3JvdGU6Cgo+IE9uIFRodSwgMjAyMC0wNy0yMyBhdCAwNTox
+NiArMDEwMCwgTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiB3cm90ZToKPiA+Cj4gPiB3aGF0
+IGkgaGF2ZSBvYnNlcnZlZCAoYWdhaW4gdGhpcyBpcyBmcm9tIFJJU0NWKSwgZm9yIGluc3RydWN0
+aW9ucwo+ID4gdGhhdCBjYW4gYmUgInNhZmVseSBpZ25vcmVkIiBhcmUgb2YgYSAiaGludCIgdHlw
+ZS4KPgo+IFNlZSB3aGF0IFBhdWwgc2FpZC4uLiB0aGUgaWRlYSBpcyB0aGF0IGFueSBjaGFuZ2Ug
+dG8gYW4gZXhpc3RpbmcKPiBpbnN0cnVjdGlvbiB0aGF0IG1ha2VzIHVzZSBvZiBmb3JtZXJseSBy
+ZXNlcnZlZCBiaXRzIG5lZWRzIHRvIGJlIGRvbmUKPiBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlIGln
+bm9yaW5nIHRoZSBiaXRzIGlzIGEgY29ycmVjdCBpbXBsZW1lbnRhdGlvbi4KCgp0aGlzIHdvcmtz
+IHdlbGwgaWYgZXh0cmVtZWx5IGNhcmVmdWxseSBtYW5hZ2VkLCBhbmQgcGxhbm5lZCB3ZWxsIGlu
+IGFkdmFuY2UuCgphdCBubyB0aW1lIGNhbiB0aGUgbmV3IGZ1bmN0aW9uYWxpdHkgc3RlcCAqdXAq
+IG9yIG90aGVyd2lzZSBiZSBhbnl0aGluZwpvdGhlciB0aGFuIGFuIG9wdGltaXNhdGlvbi4KCklu
+IHByYWN0aWNlIHRoYXQgb2Z0ZW4gbWVhbnMgdGhlIG5ldyBiaXRzIGFyZSBpbmRlZWQgaGludHMs
+CgoKdGhpcyBpcyBhbiBhY2NpZGVudGFsIGRpc2NvdmVyeSEgIGkgaGFkIG5vdCBtZWFudCB0aGVt
+IHRvIGJlIGNvbnNpZGVyZWQKImhpbnRzIiBob3dldmVyIG5vdyB0aGF0IHlvdSBtZW50aW9uIGl0
+LCBpdCBtYWtlcyBhIGxvdCBvZiBzZW5zZS4KCmx3c3luYyB3b3VsZCBmYWxsIGludG8gdGhpcyBj
+YXRlZ29yeS4KCiBidXQgbm90Cj4gYWx3YXlzLCBzZWUgUGF1bCBleGFtcGxlIGFib3V0IG1mb2Ny
+Zi4KCgppbmRlZWQuICBhbHRob3VnaCBpdCBtYWtlcyBtZSBuZXJ2b3VzLCB0aGF0IDIvMiBjYXNl
+cyBxdW90ZWQgaGF2ZSBrbm93bgppc3N1ZSB3aGVyZSB0aGV5IGRpZCBub3QgZ28gYXMgcGxhbm5l
+ZC4KCmkgYW0gZ3Vlc3NpbmcgdGhhdCBtdG1zciBMPTAvMSBtYXkgYWxzbyBoYXZlIGJlZW4gZXh0
+ZW5kZWQgYXQgc29tZSBwb2ludD8KdGhhdCBpbiBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlIHNw
+ZWMgaXQgd2FzIG9ubHkgTD0wPwoKCgo+ID4gaS5lLiBvbGQgc3luYyBpcyBhICJzdXBlcnNldCIg
+b2YgbHdzeW5jPwo+Cj4gc3luYyBpcyBhIG1lbW9yeSBiYXJyaWVyLiBsd3N5bmMgaXMgYSBsaWdo
+dGVyIHdlaWdodCB2ZXJzaW9uIG9mIGl0LCBzbwo+IHllcywgc3luYyBpcyBhIHN1cGVyc2V0IG9m
+IGx3c3luYy4KCgpvaywgZ29vZC4gIHNvIGl0IGlzIGFuIG9wdGltaXNhdGlvbi4gIGFzIGEgImhp
+bnQiIHR5cGUgaXQgd291bGQgYmUgInNhZmUiCgpoaW50cyBhcmUgb25seSBzYWZlIHRvIGFkZCBw
+cmVjaXNlbHkgYmVjYXVzZSB0aGV5IGFyZSBkZWNsYXJlZCBpbiBhZHZhbmNlIC0KbG9uZyBiZWZv
+cmUgYW55b25lIGV2ZW4gaW1wbGVtZW50cyB0aGUgdmVyeSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBv
+ZiB0aGUKdmVyeSBmaXJzdCBjb3JlIC0gdG8gaGF2ZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
+eSwgbWVyZWx5IGFuIG9wcG9ydHVuaXR5CmZvciBwZXJmb3JtYW5jZSBvcHRpbWlzYXRpb24uCgoK
+PiA+IGJpdCBkaWQgbm90IG1hdHRlciwgdGhlIHRyYXAgd291bGQgY2FsbCB0aGUgYWx0ZXJuYXRp
+dmUgc3luYwo+ID4gaW5zdHJ1Y3Rpb24sIGFuZCByZXR1cm4gZnJvbSB0aGUgdHJhcC4KPgo+IFRo
+ZSBwZXJmb3JtYW5jZSBpbXBhY3Qgb2YgdGhpcyB3b3VsZCBtYWtlIGl0IGVudGlyZWx5IHVudXNh
+YmxlIGhvd2V2ZXIuCgoKaW4gdGhhdCBleGFtcGxlLCB5ZXMuICBtb3N0IHVuZm9ydHVuYXRlLgoK
+Cgo+Cj4gPiBpIGRvIG5vdCBrbm93IHRoZSBmdWxsIHN0b3J5IGFib3V0IHdoYXQgRlNMIGlzOiB3
+aXRob3V0IGtub3dpbmcgdGhlCj4gPiBkZXRhaWxzIGkgc3VzcGVjdCB0aGF0IGEgdHJhcCAqY291
+bGQqIGhhdmUgc29ydGVkIHRoaW5ncyBvdXQsIHRoZXJlLAo+ID4gKmlmKiB0aGUgb2xkZXIgcHJv
+Y2Vzc29yIHdhcyByZXF1aXJlZCB0byByYWlzZSAiaWxsZWdhbCBpbnN0cnVjdGlvbiIKPgo+IEZT
+TCBpcyBGcmVlc2NhbGUuCgoKYWhoIG9rLgoKCj4KPgoKU29tZSB2YXJpYW50cyBvZiB0aGVpciBl
+bWJlZGRlZCBjb3JlcyBkaWQgdHJhcCwgd2hpY2gKPiBmb3JjZWQgdGhlIGtlcm5lbCB0byBkbyBz
+b21lIG5hc3R5IGR5bmFtaWMgcGF0Y2hpbmcgYXQgcnVudGltZSB0byBnZXQKPiByaWQgb2YgbHdz
+eW5jJ3Mgb24gdGhlc2UuCgoKYSBsb3ctZ3JhZGUgdmVyc2lvbiBvZiBKSVQgdHJhbnNsYXRpb24s
+IHdoaWNoIGlzIG9uZSBzb2x1dGlvbi4gIGV4cGVuc2l2ZSwKYnV0IGEgc29sdXRpb24uCgphbHRo
+b3VnaCBpIGhhdmUgdG8gYXNrIHdoeSwgZm9yIEVtYmVkZGVkLCB0aGV5IGRpZCBub3QganVzdCBy
+ZWNvbXBpbGUgdGhlCnNvdXJjZSBjb2RlLCBjdXN0b21pc2VkIGZvciB0aGF0IGVuZHVzZXIgYXBw
+bGljYXRpb24uCgpob3dldmVyIHRoaXMgYWxzbyBhY3R1YWxseSBpbGx1c3RyYXRlcyBwcmVjaXNl
+bHkgd2h5IGkgbWVudGlvbmVkIHRoYXQgZm9yCmJlc3QgcmVzdWx0cywgYSBzcGVjIGhhcyB0byBo
+YXZlIGRpZmZlcmVudCBwbGF0Zm9ybSBiZWhhdmlvdXIgZm9yIEVtYmVkZGVkCmFzIGNvbXBsZXRl
+bHkgc2VwYXJhdGUgYW5kIGRpc3RpbmN0IGZyb20gVU5JWC4KCnRoZSBydWxlcyBmb3IgRW1iZWRk
+ZWQgaW4gUklTQ1Ygc3RhdGUgdGhhdCB0cmFwcyBhcmUgKm5vdCogbmVlZGVkIGZvcgppbGxlZ2Fs
+IGluc3RydWN0aW9ucyAoaXQgaXMgdXAgdG8gYW4gaW1wbGVtZW50b3IgdG8gZGVjaWRlIGlmIHRo
+ZXkgd2lzaCB0bwphZGQgdGhlbSkuICB0aGUgQ29uZm9ybWFuY2UgVGVzdCBTdWl0ZSBkb2VzICpu
+b3QqIHRlc3QgZm9yIGlsbGVnYWwKaW5zdHJ1Y3Rpb25zLgoKdGhpcyBvbiB0aGUgYmFzaXMgdGhh
+dCBFbWJlZGRlZCBNYXJrZXRzIGFyZSB0eXBpY2FsbHkgb25lLW9mZiBkZXBsb3ltZW50LAp3aGVy
+ZSB0aGUgdG9vbGNoYWluIGFuZCBhbGwgYnVpbGQgc291cmNlIGlzICJzbmFwc2hvdHRlZCIgYXQg
+cHJvZHVjdApyZWxlYXNlIHRpbWUsIHVzZWQgaW50ZXJuYWxseSBhbmQgdGhlIHNvdXJjZSBjb2Rl
+IGFuZCB0b29sY2hhaW4gYWxtb3N0Cm5ldmVyIHNlZSB0aGUgbGlnaHQgb2YgZGF5LiAgbWFpbmxp
+bmUgdXBncmFkZXMgYXJlIGV4Y2VwdGlvbmFsbHkgcmFyZS4KCmV4YW1wbGVzIGluY2x1ZGUgVHJp
+bmFtaWMgU3RlcHBlciBBU0lDcywgd2hpY2ggYWN0dWFsbHkgaGl0IHRoZSBzaGVsdmVzCmV2ZW4g
+YmVmb3JlIFJJU0NWIFN0YW5kYXJkaXNhdGlvbiB3YXMgcmF0aWZpZWQuCgp0aGUgYmluYXJpZXMg
+YXJlIGluIFJPTS4gIHdoYXRldmVyIHRyYXAgc3BlYyBpbmNvbXBhdGliaWxpdHkgd2l0aCAiTGF0
+ZXN0CmFuZCBHcmVhdGVzdCIgYXJlIHV0dGVybHkgaXJyZWxldmFudCBmb3IgdGhlbSBhbmQgdGhl
+aXIgY3VzdG9tZXJzLgoKCnNvIGluIHRoYXQgY29udGV4dCwgaSBhbSBzbGlnaHRseSBjb25mdXNl
+ZCB0byBoZWFyIHRoYXQgZm9yIEZyZWVzY2FsZQoqRW1iZWRkZWQqIHByb2Nlc3NvcnMgdGhhdCB0
+aGVyZSBpcyBldmVuIGEgYmluYXJ5IGluY29tcGF0aWJpbGl0eSBwcm9ibGVtCndpdGggbHdzeW5j
+ICphdCBhbGwqLgoKaWYgeW91IGhhdmUgdGltZSBpJ2QgbG92ZSB0byBoZWFyIG1vcmUsIHdoYXQn
+cyB0aGUgc3RvcnkgdGhlcmU/CgoKCgo+ID4gYnV0IGJlY2F1c2UgdGhlIGJpdCBpcyBpZ25vcmVk
+LCB0aGVyZSBpcyBubyB3YXkgdGhhdCBjYW4gYmUgZG9uZS4KPgo+IEJ1dCB0aGF0J3MgZmluZSBi
+ZWNhdXNlICJzeW5jIiBpcyBhIHN0cmljdCBzdXBlcnNldCBzbyBpZ25vcmluZyB0aGUgYml0Cj4g
+d29ya3MganVzdCBmaW5lLgoKCmluIHRoaXMgY2FzZSwgeWVzLgoKCgo+Cj4gPiBzbyB3aGlsc3Qg
+b24gdGhlIGZhY2Ugb2YgaXQsIGx3c3luYyAqc291bmRzKiBsaWtlIGEgY291bnRlcmV4YW1wbGUs
+Cj4gPiBpbnN0ZWFkIChjYXZlYXQsIGkgZG8gbm90IGtub3cgd2hhdCBGU0wgaXMpLCBpdCBzZWVt
+cyBtb3JlIHRvIHN1cHBvcnQKPiA+IHRoZSBjYXNlICpmb3IqIHVzZSBvZiByZXNlcnZlZCBiaXRz
+IHJhaXNpbmcgaWxsZWdhbCBpbnN0cnVjdGlvbnMgW29uCj4gPiBVTklYIHBsYXRmb3Jtc10KPgo+
+IEkgZmFpbCB0byBmb2xsb3cgeW91ciBsb2dpYy4gVGhlIHRyYXAgY2FzZSBpcyBhIGNvbXBsZXRl
+IG5vbi1zdGFydGVyCj4gZm9yIGFuIGluc3RydWN0aW9uIG1lYW50IHRvIGJlIGEgbGlnaHR3ZWln
+aHQgbWVtb3J5IGJhcnJpZXIuCgoKb2sgZ2l2ZW4gdGhhdCBpdCBpcyBhICJoaW50IiB0eXBlIGFu
+ZCBub3QgcXVpdGUgc3VpdGVkIHRvICJyZXNlcnZlZCIgd2UgYXJlCm5vdyBhdCBjcm9zcyBwdXJw
+b3Nlcy4KCmFuZCwgYWxzbywgaXQgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBoYXBwZW5zIHRvIGdh
+dmUsIGFzIG9uZSBvZiBpdHMKcmVxdWlyZW1lbnRzLCB0byBiZSAibGlnaHR3ZWlnaHQiIGluIG9y
+ZGVyIHRvIGJlIHVzZWZ1bC4KClRoZQo+IHRyYW5zcGFyZW50ICJmYWxsYmFjayIgdG8gYSBmdWxs
+IG1lbW9yeSBiYXJyaWVyIG9uIHRoZSBjb250cmFyeSB3b3Jrcwo+IGZpbmUuIFRoZXJlIGlzIG5l
+dmVyIGFueSBjYXNlIHdoZXJlICJ0cmFwcGluZyBhbiBlbXVsYXRpbmciIGlzIHRoZQo+IGRlc2ly
+ZWQgYmVoYXZpb3VyLgoKCmluZGVlZC4uLiBpbiB0aGlzIHZlcnkgc3BlY2lhbCBjYXNlIHRoYXQg
+d2UgaGF2ZSBlc3RhYmxpc2hlZCwgYnkgaXQKZWZmZWN0aXZlbHkgYmVpbmcgYSAiaGludCIsIGZh
+bGxzIGNvbXBsZXRlbHkgb3V0c2lkZSBvZiB3aGF0IGkgYW0gY29uY2VybmVkCmFib3V0CgoKPgo+
+ID4KPiA+ID4gPiBpZiBob3dldmVyIHJlc2VydmVkIGJpdHMgYmVpbmcgc2V0IGNhdXNlIGFuIGV4
+Y2VwdGlvbiwgdGhlICJvbGQiCj4gPiA+ID4gcHJvY2Vzc29yIHN0YW5kcyBhIGNoYW5jZSBvZiBl
+bXVsYXRpbmcgdGhlIG5ldyBiZWhhdmlvdXIgKGluCj4gPiA+ID4gc29mdHdhcmUsIGV2ZW4gaWYg
+dGhhdCdzIHNsb3cpLCBnaXZpbmcgaXQgYSBjaGFuY2Ugb2Yga2VlcGluZyBvdXQKPiA+ID4gb2YK
+PiA+ID4gPiBsYW5kZmlsbCBmb3Igc2xpZ2h0bHkgbG9uZ2VyLgo+ID4gPgo+ID4gPiBXaGljaCBp
+cyB3aHkgcG93ZXJwYyB0ZW5kcyBub3QgdG8gImFkZCBiaXRzIiB0byBpbnN0cnVjdGlvbnMgdW5s
+ZXNzCj4gPiA+IGlnbm9yaW5nIHRoZW0gaXMgYSBzYWZlIGZhbGxiYWNrLgo+ID4KPiA+IGFzIHdl
+IGNhbiBzZWUgYWJvdmUsIHRoZSBleGFtcGxlIHRoYXQgd2FzIGdpdmVuICBzaG93cyB0aGF0IHRo
+aXMgaXMgYQo+ID4gcHJvYmxlbWF0aWMgYXBwcm9hY2guCj4KPiBJIGZhaWwgdG8gdW5kZXJzdGFu
+ZCB0aGUgInByb2JsZW0iIGluIHlvdXIgZXhhbXBsZSwgbWF5YmUgeW91IGNhbgo+IHJlcGhyYXNl
+IGl0ID8KCgp3ZSd2ZSBpZGVudGlmaWVkIHRoYXQgbHdzeW5jIGlzIGEgImhpbnQiIHNvIGNhbiBk
+aXNjb3VudCBpdC4KCmknbGwgbmVlZCB0byB0YWtlIHNvbWUgbW9yZSB0aW1lIHRvIHRoaW5rIGFi
+b3V0IGl0LiAgYWxzbywgaXQgcmVxdWlyZXMKZXhwbGFpbmluZyB0aGUgY29udGV4dC4KCk9wZW5Q
+T1dFUiBpcywgdW5kZXIgdGhlIGF1c3BpY2VzIG9mIHRoZSBGb3VuZGF0aW9uLCBpIGdhdGhlciBh
+aW1pbmcgZm9yCm11Y2ggd2lkZXIgYWRvcHRpb24gd2hpbHN0IGFsc28gcmV0YWluaW5nIHRoZSBy
+ZXB1dGF0aW9uIGZvciBwZXJmb3JtYW5jZQphbmQgc3RhYmlsaXR5LCAqYW5kKiBhbGxvd2luZyBm
+b3IgZXh0ZW5zaW9ucyBhbmQgY3VzdG9taXNhdGlvbiB1bmRlciB0aGUKc3Rld2FyZHNoaXAgb2Yg
+dGhlIEZvdW5kYXRpb24uCgp3aXRoIHNvIGZldyBtZW1iZXJzIHVzaW5nIFBPV0VSIHVwIHRvIHRo
+aXMgcG9pbnQsIHRoZXJlIGhhcyBiZWVuIGxpdHRsZSBpbgp0aGUgd2F5IG9mIGNvbmZsaWN0IGJl
+Y2F1c2UgdGhlcmUgaXMgbm8gInB1bGxpbmcgaW4gZGlmZmVyZW50IGRpcmVjdGlvbnMiCmFuZCwg
+YXMgUGF1bCBwb2ludGVkIG91dCwgYSBsb3Qgb2YgY2FyZSBhbmQgdGhvdWdodCBoYXMgZ29uZSBp
+bnRvIGFueQp1cGdyYWRlcy4KCmxvb2tpbmcgZm9yIGNvbXBhcmlzb25zIC0gZXhhbXBsZXMgZnJv
+bSB0aGUgcGFzdCAtIGlzIHRoZXJlZm9yZSBhY3R1YWxseQpnb2luZyB0byBiZSBkaWZmaWN1bHQu
+CgoKPiA+IGkgaGF2ZSBub3Qgc3BlbGxlZCBpdCBvdXQgZXhwbGljaXRseSwgc2Vla2luZyBpbnN0
+ZWFkIHRvIHVzZSBsb2dpY2FsCj4gPiByZWFzb25pbmcgcmF0aGVyIHRoYW4gbWFrZSBjYXRlZ29y
+aWNhbCBzdGF0ZW1lbnRzLCBidXQgdGhpcyBpcwo+ID4gYWN0dWFsbHkgYSByZWFsbHkgc2VyaW91
+cyBwcm9ibGVtLgo+Cj4gQWdhaW4sIGV4cGVyaWVuY2Ugc2VlbXMgdG8gaW5kaWNhdGUgdGhpcyBp
+cyBub3QgYXMgbG9uZyBhcyB0aGUKPiBkZWZpbml0aW9uIG9mIHRoZSBhcmNoaXRlY3R1cmUgaXMg
+Y2FyZWZ1bCBpbiBob3cgdGhlIHJlc2VydmVkIGJpdHMgZ2V0Cj4gYWxsb2NhdGVkIGluIHRoZSBm
+dXR1cmUuCgoKaWYgdGhleSBhcmUgZ2VudWluZWx5IHN5bm9ueW1vdXMgd2l0aCAoZWZmZWN0aXZl
+bHkpIGEgImhpbnQiIHRoZW4gdGhlcmUgaXMKYWJzb2x1dGVseSBubyBwcm9ibGVtIGF0IGFsbC4u
+LiAqYXMgbG9uZyBhcyogdGhlIGVudGlyZSBhcmVhIGhhcyBiZWVuCmRlY2xhcmVkIGZ1bGx5IGFu
+ZCB3ZWxsIGluIGFkdmFuY2UgdGhhdCBpdCBpcyBvZiB0eXBlICJoaW50Ii4KCmZvciBleGFtcGxl
+IG10bXNyIEw9MSAod2hpY2ggaSBhbSBhc3N1bWluZyBwZXJoYXBzIGluY29ycmVjdGx5IHdhcyBh
+ZGRlZApsb25nIGFmdGVyIEw9MCwgaXMgdGhhdCBjb3JyZWN0PyBpZiBub3QgbGV0IHVzIGFzc3Vt
+ZSBoeXBvdGhldGljYWxseSB0aGF0Cml0IHdhcykgYWJzb2x1dGVseSBpbiBubyB3YXkgZmFsbHMg
+aW50byB0aGUgInNhZmUiIGNhdGVnb3J5IGJlY2F1c2UgaXQKZGFtYWdlcyBiaXRzIG9mIE1TUiB1
+bmV4cGVjdGVkbHkuICBvciBvbmx5IHVwZGF0ZXMgc29tZSBvZiB0aGVtLgoKaW4gdGhpcyAoaHlw
+b3RoZXRpY2FsPykgY2FzZSwgbW9kZXJuIHNvZnR3YXJlIHJ1bm5pbmcgb24gYW4gb2xkZXIgVU5J
+WApQbGF0Zm9ybSBwcm9jZXNzb3IgdGhhdCBvbmx5IHN1cHBvcnRlZCBMPTEgY291bGQgKm9ubHkq
+IHNvcnQgdGhpbmdzIG91dAoqaWYqIGEgdHJhcCB3YXMgdGFrZW4uCgphbmQgeWV0IHRoZSBzcGVj
+IGV4cGxpY2l0bHkgc2F5cywgImRvbid0IGJvdGhlciIsIHdoaWNoIGlzICpndWFyYW50ZWVkKiB0
+bwpjYXVzZSBwcm9ibGVtcy4KCgpTQyBoYXZpbmcgTEVWID4gMSBpbiB0aGUgZnV0dXJlIGlzIGFs
+c28gYSBzcGVjaWFsIGNhc2UgYmVjYXVzZSBpdCBpcwoqYWxyZWFkeSogcmFpc2luZyBhIHRyYXAu
+ICBubyBleHRyYSBjb3N0LCB0aGVyZS4gIHRoaW5ncyBjYW4gYmUgc29ydGVkCm91dC4uLi4gaW4g
+dGhlIHRyYXAuCgoKCj4gPiBpbiBvdGhlciB3b3JkcyB0aGUgYXBwcm9hY2ggb2YgaWdub3Jpbmcg
+cmVzZXJ2ZWQgYml0cyBoYXMgb25seSB3b3JrZWQKPiA+IChmb3IgdGhlIHBhc3QgMjAgeWVhcnM/
+KSBiZWNhdXNlIElCTSwgcmVhbGlzdGljYWxseSwgaXMgdGhlIG9ubHkKPiA+IChub24tRW1iZWRk
+ZWQpIGltcGxlbWVudG9yIG9mIFVOSVggUGxhdGZvcm0gcHJvY2Vzc29ycy4KPgo+IFRoYXQgd2Fz
+bid0IGFsd2F5cyB0cnVlIGFuZCBzdGlsbCBkaWRuJ3QgYmVjb21lIGEgcHJvYmxlbS4KPgo+IEFn
+YWluLCBJIHJlYWxseSBmYWlsIHRvIHNlZSB0aGUgc21va2luZyBndW4geW91IHNlZW0gdG8gYmUg
+aW1wbHlpbmcKPiB0aGVyZSBpcy4KCgpubyBndW4uCgppdCBpcyB0aGF0IHRoaW5ncyBoYXZlIGNo
+YW5nZWQsIG5vdy4KCndoZXJlIGJlZm9yZSB0aGUgc3BlY2lmaWNhdGlvbiBjb3VsZCBiZSBtYW5h
+Z2VkIGJ5IGEgZmV3IHZlbmRvcnMsIGZvciBhIGZldwp2ZW5kb3JzIChtYW5hZ2VkIGV4dHJlbWVs
+eSB3ZWxsKSB0aGUgaW50ZW50aW9uIGFzIGkgdW5kZXJzdGFuZCBpdCBpcyB0bwpleHBhbmQgdGhl
+IHJlYWNoIG9mIE9wZW5QT1dFUiwgYW5kIGFsbG93IGRvemVucyBpZiBub3QgaHVuZHJlZHMgb2YK
+aW1wbGVtZW50b3JzIHRvIHBhcnRpY2lwYXRlIGluIGl0cyBvbmdvaW5nIGV2b2x1dGlvbiwganVz
+dCBhcyBpcyBkb25lIHdpdGgKUklTQ1YuCgp1bmRlciBzdWNoIGNoYW5nZWQgY2lyY3Vtc3RhbmNl
+IGl0IGlzIHdlbGwga25vd24gYW5kIHdlbGwgZXN0YWJsaXNoZWQgdGhhdAppdCBpcyAqbm90IHNh
+ZmUqIHRvIGhhdmUgcmVzZXJ2ZWQgYml0cyAqbm90KiB0aHJvdyBleGNlcHRpb25zIG9uIHRoZSBV
+TklYClBsYXRmb3JtLgoKYmVhciBpbiBtaW5kIHRoYXQgd2UgZXN0YWJsaXNoZWQgdGhhdCBsd3N5
+bmMgaXMgYSAiaGludCIsIGFuZCB0aGF0IGhpbnRzCiphcmUqIHNhZmUgdG8gYWRkIChhcyBsb25n
+IGFzIHRoZSBhdmFpbGFibGUgcmFuZ2UgaXMgcmVzZXJ2ZWQgZnVsbHksIGluCmFkdmFuY2UpIGFu
+ZCBkbyBub3QgYW5kIHNob3VsZCBub3QgcmFpc2UgZXhjZXB0aW9ucyBiZWNhdXNlIHRoZXkgYXJl
+CnBlcmZvcm1hbmNlIG9wdGltaXNhdGlvbnMuCgpsLgoKCgotLSAKLS0tCmNyb3dkLWZ1bmRlZCBl
+Y28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93ZHN1cHBseS5jb20vZW9tYTY4
+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJlLXJp
+c2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9y
+ZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlz
+Y3YtZGV2Cg==
+