From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: 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 ) 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 ) 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 ) 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 ; 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: References: <20200722224713.GA213782@thinks.paulus.ozlabs.org> From: Luke Kenneth Casson Leighton Date: Fri, 24 Jul 2020 17:53:12 +0100 X-Gmail-Original-Message-ID: Message-ID: To: Benjamin Herrenschmidt 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Libre-RISCV General Development Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org" , Libre-RISCV General Development 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" Archived-At: List-Archive: 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==