[libre-riscv-dev] Some recent documenting of work performed for tape-out
[libre-riscv-dev.git] / e4 / f904ee43f2dffc167ba2b8f3ada84ecf5efc4c
1 Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
2 Envelope-to: publicinbox@libre-riscv.org
3 Delivery-date: Thu, 23 Jul 2020 05:17:04 +0100
4 Received: from localhost ([::1] helo=libre-riscv.org)
5 by libre-soc.org with esmtp (Exim 4.92)
6 (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
7 id 1jySfH-0006gi-5O; Thu, 23 Jul 2020 05:17:03 +0100
8 Received: from lkcl.net ([217.147.94.29])
9 by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
10 (Exim 4.92) (envelope-from <lkcl@lkcl.net>) id 1jySfF-0006gY-1Z
11 for libre-riscv-dev@lists.libre-riscv.org; Thu, 23 Jul 2020 05:17:01 +0100
12 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
13 s=201607131;
14 h=Content-Type:Cc:To:Subject:Message-ID:Date:From:References:In-Reply-To:MIME-Version;
15 bh=wSLT3/DFNNO0EENL1I20kEQjmyO6xVHcHlz9XMs9NvE=;
16 b=CgPOuCmeeZ3Kr3L5niGneLMGShG9+5jIp0cJmY4qCj5jWSJYv3J1B/H6/RrU9V6JrXGBahKSHK0scaLkwcpYq8DTFGHwwQGR2o2jK3cBysaMVr0f09tVXDXKK6yiUkyfj+RSodwP2H/34rIgrPZPEKFf7+8kUbqqm0iSG4J7y3I=;
17 Received: from mail-lj1-f172.google.com ([209.85.208.172])
18 by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
19 (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jySfE-0002X6-8B
20 for libre-riscv-dev@lists.libre-riscv.org; Thu, 23 Jul 2020 04:17:00 +0000
21 Received: by mail-lj1-f172.google.com with SMTP id e8so4902662ljb.0
22 for <libre-riscv-dev@lists.libre-riscv.org>;
23 Wed, 22 Jul 2020 21:16:44 -0700 (PDT)
24 X-Gm-Message-State: AOAM532mDkywTfs1sZGz7RCmW6v3fAvpdFx0Kv44PQ/eIj9Z4BS5wTI4
25 ZnITTHjOX6dCKIM7co2023DVkRw8WLaEecnymqc=
26 X-Google-Smtp-Source: ABdhPJx0LVAi8EJPj0fiRreCTlkgcIbVw97ytVjV99YzlUIFXF6lrCp6v9bl/j/P7jQZlplK1ZTNSk5Akbg3/PiYqhA=
27 X-Received: by 2002:a2e:8693:: with SMTP id l19mr951722lji.361.1595477799029;
28 Wed, 22 Jul 2020 21:16:39 -0700 (PDT)
29 MIME-Version: 1.0
30 Received: by 2002:a05:6504:702:0:0:0:0 with HTTP; Wed, 22 Jul 2020 21:16:38
31 -0700 (PDT)
32 In-Reply-To: <bc0527a82b8a777486388ab6084ce364db4c278c.camel@kernel.crashing.org>
33 References: <CAPweEDzJpX8mDE1QJO6=rPEQfz0jCt+Yi9sS48cE4bXcu8AwcQ@mail.gmail.com>
34 <20200722224713.GA213782@thinks.paulus.ozlabs.org>
35 <CAPweEDxxJqcy4kAcL0+wDYQh9A0KtW3dSi9kMdQ-_YotuRSsQw@mail.gmail.com>
36 <bc0527a82b8a777486388ab6084ce364db4c278c.camel@kernel.crashing.org>
37 From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
38 Date: Thu, 23 Jul 2020 05:16:38 +0100
39 X-Gmail-Original-Message-ID: <CAPweEDx_gUy8KoQUrfE+Xn-URqFQsMiiT8A9WcLsK67E5bY8Jg@mail.gmail.com>
40 Message-ID: <CAPweEDx_gUy8KoQUrfE+Xn-URqFQsMiiT8A9WcLsK67E5bY8Jg@mail.gmail.com>
41 To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
42 X-Content-Filtered-By: Mailman/MimeDel 2.1.23
43 Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
44 X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
45 X-Mailman-Version: 2.1.23
46 Precedence: list
47 List-Id: Libre-RISCV General Development
48 <libre-riscv-dev.lists.libre-riscv.org>
49 List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
50 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
51 List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
52 List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
53 List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
54 List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
55 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
56 Reply-To: Libre-RISCV General Development
57 <libre-riscv-dev@lists.libre-riscv.org>
58 Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org"
59 <openpower-hdl-cores@mailinglist.openpowerfoundation.org>,
60 Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
61 Content-Type: text/plain; charset="utf-8"
62 Content-Transfer-Encoding: base64
63 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
64 Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
65
66 aGkgYmVuamFtaW4sIHdlbGNvbWUsIGFuZCB0aGFuayB5b3UgZm9yIHlvdXIgaW5zaWdodHMuCgpP
67 biBUaHVyc2RheSwgSnVseSAyMywgMjAyMCwgQmVuamFtaW4gSGVycmVuc2NobWlkdCA8YmVuaEBr
68 ZXJuZWwuY3Jhc2hpbmcub3JnPgp3cm90ZToKCj4gT24gVGh1LCAyMDIwLTA3LTIzIGF0IDAwOjQx
69 ICswMTAwLCBMdWtlIEtlbm5ldGggQ2Fzc29uIExlaWdodG9uIHdyb3RlOgo+Cj4gPiBzbywgd2hl
70 biBzb21lIGJpdCBpcyBhZGRlZCBpbiB0aGUgZnV0dXJlLCBhbiBvbGRlciBwcm9jZXNzb3IgKGFu
71 ZCB0aGUKPiA+IGRldmljZSBpdCBpcyBpbikgYmFzaWNhbGx5IGhhcyB0byBiZSB0aHJvd24gaW50
72 byBsYW5kZmlsbC4KPgo+IERlcGVuZHMsIGl0IGdvZXMgYm90aCB3YXlzLiBGb3IgZXhhbXBsZSwg
73 dGhpcyBpcyB3aGF0IGFsbG93ZWQgdGhlCj4gYWRkaXRpb24gb2YgbHdzeW5jIHdpdGhvdXQgdGhy
74 b3dpbmcgb2xkZXIgcHJvY2Vzc29ycyBpbnRvIHRoZSBsYW5kZmlsbAo+IGJlY2F1c2UgaXQgd291
75 bGQgYXV0b21hdGljYWxseSAiZXNjYWxhdGUiIHRvIGEgZnVsbCBzeW5jIG9uIHByb2Nlc3NvcnMK
76 PiB0aGF0IGRpZG4ndCBpbXBsZW1lbnQgaXQKCgphaC4gICBvbiBmaXJzdCBnbGFuY2UgdGhpcyBz
77 ZWVtcyBvay4KCgo+IChvciBzaG91bGQgaGF2ZS4uLiBGU0wgZGlkIHNjcmV3IHRoYXQgdXAgb24K
78 PiBzb21lIGNvcmVzKS4KCgpvaCB3aG9vcHMgOikKCndoYXQgaSBoYXZlIG9ic2VydmVkIChhZ2Fp
79 biB0aGlzIGlzIGZyb20gUklTQ1YpLCBmb3IgaW5zdHJ1Y3Rpb25zIHRoYXQgY2FuCmJlICJzYWZl
80 bHkgaWdub3JlZCIgYXJlIG9mIGEgImhpbnQiIHR5cGUuCgp0aGUgUklTQ1YgRmVuY2UgaW5zdHJ1
81 Y3Rpb25zIGFsc28gZmVsbCBpbnRvIHRoaXMgY2F0ZWdvcnkuICBiZWluZwpvcHRpbWlzYXRpb25z
82 LCBsZXNzIGNvbXBsZXggaW1wbGVtZW50YXRpb25zIGNvdWxkIGNvbXBsZXRlbHkgaWdub3JlIHRo
83 ZW0uCgpob3dldmVyIGluIHRoZSBleGFtcGxlIHRoYXQgeW91IGdpdmUgLSBsd3N5bmMgLSBpIHRh
84 a2UgaXQgdGhhdCB0aGlzIGlzIGEKImxlc3MgY29zdGx5IiBjYWNoZS9zeW5jIGZsdXNoIHR5cGUg
85 aW5zdHJ1Y3Rpb24gdGhhbiB0aGUgb25lIHRoYXQgaXQgd2FzCmFkZGVkIHRvPwoKaS5lLiBvbGQg
86 c3luYyBpcyBhICJzdXBlcnNldCIgb2YgbHdzeW5jPwoKdGhpcyBpcyB2ZXJ5IGludGVyZXN0aW5n
87 IHRvIG1lLCBiZWNhdXNlIGkgaGF2ZSBtYWRlIGEgbG9uZ3Rlcm0gc3R1ZHkgb2YKImhvdyB0byBk
88 ZXZlbG9wIHN0YWJsZSBzcGVjaWZpY2F0aW9ucyIsIGFuZCBpdCBpcyB0aGUgZmlyc3QgdGltZSBp
89 biAyNQp5ZWFycyB0aGF0IGkgaGF2ZSBlbmNvdW50ZXJlZCBhIGNvdW50ZXJleGFtcGxlIHRvIHRo
90 ZSBwcmFjdGljZSBvZgpkaXNhbGxvd2luZyAicmVzZXJ2ZWQgYmVoYXZpb3VyIi4KCnRoZSAibm9y
91 bWFsIiB3YXkgaW4gInJlc2VydmVkIGlzIGlsbGVnYWwiIHNwZWNpZmljYXRpb25zLCB3b3VsZCBi
92 ZSB0aGF0Cmx3c3luYyB3b3VsZCByYWlzZSBhbiBpbGxlZ2FsIGluc3RydWN0aW9uIG9uIGEgcHJv
93 Y2Vzc29yIHRoYXQgZGlkIG5vdApzdXBwb3J0IGl0LCB0aGUgYXV0aG9yIG9mIHRoZSB0cmFwIHdv
94 dWxkIGtub3cgdGhhdCB0aGUgZXh0cmEgYml0IGRpZCBub3QKbWF0dGVyLCB0aGUgdHJhcCB3b3Vs
95 ZCBjYWxsIHRoZSBhbHRlcm5hdGl2ZSBzeW5jIGluc3RydWN0aW9uLCBhbmQgcmV0dXJuCmZyb20g
96 dGhlIHRyYXAuCgppIGRvIG5vdCBrbm93IHRoZSBmdWxsIHN0b3J5IGFib3V0IHdoYXQgRlNMIGlz
97 OiB3aXRob3V0IGtub3dpbmcgdGhlIGRldGFpbHMKaSBzdXNwZWN0IHRoYXQgYSB0cmFwICpjb3Vs
98 ZCogaGF2ZSBzb3J0ZWQgdGhpbmdzIG91dCwgdGhlcmUsICppZiogdGhlIG9sZGVyCnByb2Nlc3Nv
99 ciB3YXMgcmVxdWlyZWQgdG8gcmFpc2UgImlsbGVnYWwgaW5zdHJ1Y3Rpb24iCgpidXQgYmVjYXVz
100 ZSB0aGUgYml0IGlzIGlnbm9yZWQsIHRoZXJlIGlzIG5vIHdheSB0aGF0IGNhbiBiZSBkb25lLgoK
101 c28gd2hpbHN0IG9uIHRoZSBmYWNlIG9mIGl0LCBsd3N5bmMgKnNvdW5kcyogbGlrZSBhIGNvdW50
102 ZXJleGFtcGxlLCBpbnN0ZWFkCihjYXZlYXQsIGkgZG8gbm90IGtub3cgd2hhdCBGU0wgaXMpLCBp
103 dCBzZWVtcyBtb3JlIHRvIHN1cHBvcnQgdGhlIGNhc2UKKmZvciogdXNlIG9mIHJlc2VydmVkIGJp
104 dHMgcmFpc2luZyBpbGxlZ2FsIGluc3RydWN0aW9ucyBbb24gVU5JWCBwbGF0Zm9ybXNdCgp3aGVy
105 ZSBvZiBjb3Vyc2UgdGhpcyB3b3VsZCBiZWNvbWUgcHJvYmxlbWF0aWMgaXMgaWYgbHdzeW5jIChv
106 ciBvdGhlciBmdXR1cmUKYWRkZWQgaW5zdHJ1Y3Rpb24pIHdhcyBwYXJ0IG9mIGEgdGlnaHQsIHBl
107 cmZvcm1hbmNlLWNyaXRpY2FsIGxvb3AuICBhIHRyYXAKYW5kIGVtdWxhdGUgaW4gdGhlIG1pZGRs
108 ZSBvZiB0aGF0IHdvdWxkIHNldmVyZWx5IGRlZ3JhZGUgb2xkZXIgcHJvY2Vzc29yCnBlcmZvcm1h
109 bmNlLiAgdGhlcmUgaXMgbm90aGluZyB0aGF0IGNhbiBiZSBkb25lIGFib3V0IHRoYXQuCgoKPiBp
110 ZiBob3dldmVyIHJlc2VydmVkIGJpdHMgYmVpbmcgc2V0IGNhdXNlIGFuIGV4Y2VwdGlvbiwgdGhl
111 ICJvbGQiCj4gPiBwcm9jZXNzb3Igc3RhbmRzIGEgY2hhbmNlIG9mIGVtdWxhdGluZyB0aGUgbmV3
112 IGJlaGF2aW91ciAoaW4KPiA+IHNvZnR3YXJlLCBldmVuIGlmIHRoYXQncyBzbG93KSwgZ2l2aW5n
113 IGl0IGEgY2hhbmNlIG9mIGtlZXBpbmcgb3V0IG9mCj4gPiBsYW5kZmlsbCBmb3Igc2xpZ2h0bHkg
114 bG9uZ2VyLgo+Cj4gV2hpY2ggaXMgd2h5IHBvd2VycGMgdGVuZHMgbm90IHRvICJhZGQgYml0cyIg
115 dG8gaW5zdHJ1Y3Rpb25zIHVubGVzcwo+IGlnbm9yaW5nIHRoZW0gaXMgYSBzYWZlIGZhbGxiYWNr
116 LgoKCmFzIHdlIGNhbiBzZWUgYWJvdmUsIHRoZSBleGFtcGxlIHRoYXQgd2FzIGdpdmVuICBzaG93
117 cyB0aGF0IHRoaXMgaXMgYQpwcm9ibGVtYXRpYyBhcHByb2FjaC4KCml0ICpzb3VuZHMqIHNhZmUg
118 dG8gImRvd25ncmFkZSIgYW4gaW5zdHJ1Y3Rpb24gdGhhdCBkb2VzIG1vcmUgd29yayAobW9yZQpz
119 eW5jaW5nKSB0byBvbmUgdGhhdCBkb2VzIGxlc3MsIGhvd2V2ZXIgdGhpcyBpcyBhIHByZXR0eSB1
120 bmlxdWUgY2FzZS4KCmkgd291bGQgc2F5IHRoYXQgUG93ZXJJU0EgInNob3VsZCBoYXZlIGhhZCIg
121 c3BhY2UgZm9yIHN1Y2ggZG93bmdyYWRpbmcKYWxyZWFkeSBwbGFubmVkIGluIGFkdmFuY2UsIGV4
122 Y2VwdCwgcnVlZnVsbHkgYW5kIHJlZ3JldGZ1bGx5LCBzdWNoIGlzIG5vdApwb3NzaWJsZSBvciBw
123 cmFjdGljYWwgKGNoYW5naW5nIHRoZSBwYXN0KSBhbmQgcHJhZ21hdGljYWxseSB3ZSBoYXZlIHRv
124 IHdvcmsKd2l0aCBob3cgdGhpbmdzIGFyZSwgbm93LgoKdXNlIG9mICJoaW50cyIgd291bGQgbm90
125 IGhlbHAgaGVyZSBlaXRoZXIgdW5sZXNzIHRoZXkgd2VyZSBhIG1hY3JvLW9wIGZ1c2VkCnR5cGUg
126 b2YgaGludC4KCndhaXQuLi4gdGhhdCB3b3VsZCB3b3JrLgoKYSBzZXF1ZW5jZSBhcyBmb2xsb3dz
127 OgoKKiBoaW50IGluc3RydWN0aW9uICJuZXh0IGluc3RydWN0aW9uIGlzIHRvIGJlIGx3c3luYyIK
128 KiBvbGQgc3luYyBpbnN0cnVjdGlvbgoKb2xkZXIgcHJvY2Vzc29ycyB3b3VsZDoKCiogaWdub3Jl
129 IHRoZSBoaW50CiogZXhlY3V0ZSB0aGUgb2xkIHN5bmMgaW5zdHJ1Y3Rpb24gYXMtaXMsIHNhZmVs
130 eSBkb2luZyBtb3JlIHdvcmsgdGhhbgpuZWNlc3NhcnkuCgpuZXdlciBwcm9jZXNzb3JzIHdvdWxk
131 IG1hY3JvLW9wIGZ1c2UgdGhlIHR3byBpbnRvIGFuIGx3c3luYy4KCm9mIGNvdXJzZSBub3cgd2l0
132 aCBwcmVmaXhlcyBpbiBQT1dFUjEwIC8gdjMuMSwgcHJlZml4ZXMgY291bGQgZG8gdGhlIHNhbWUK
133 am9iIHdpdGhvdXQgcnVubmluZyBvdXQgb2YgaGludCBzcGFjZSB2ZXJ5IHJhcGlkbHkuCgphbmQg
134 T3Bjb2RlIDEgaXMgb2YgY291cnNlICJpbGxlZ2FsIGluc3RydWN0aW9uIiwgYW5kIGNvdWxkIGJl
135 IHVzZWQKZXh0ZW5zaXZlbHkgZm9yICJpbnN0cnVjdGlvbiB1cGdyYWRpbmciCgp0aGlzIHdvdWxk
136 IHdvcmsgcmVhbGx5IHdlbGwsIGxlYXZpbmcgaGludCBtYWNyby1vcCBmdXNpb24gZm9yIHRob3Nl
137 IHZlcnkKc3BlY2lhbCBjYXNlcyBzaW1pbGFyIHRvIGx3c3luYyB3aGVyZSAiYmVoYXZpb3VyIGRv
138 d25ncmFkaW5nIiBpcyBuZWVkZWQuCgpoaW50IG1hY3JvLW9wIGZ1c2lvbiB3b3VsZCBhbHNvIHdv
139 cmsgcmVhbGx5IHdlbGwgaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwKbG9vcHMsIHRvby4KCgo+ID4g
140 Ym90dG9tIGxpbmUgaWYgaXQgaXMgY29ycmVjdCB0aGF0IG9uIHRoZSBQb3dlcklTQSBVTklYIFBs
141 YXRmb3JtCj4gPiByZXNlcnZlZCBiaXRzIGNhbiBiZSBpZ25vcmVkIHRoYXQgaXMgY2F1c2UgZm9y
142 IHNvbWUgY29uY2Vybiwgd2hlcmUKPiA+IGZvciBFbWJlZGRlZCBpdCB3b3VsZCBiZSB0aGUgb3Ro
143 ZXIgd2F5IHJvdW5kOiBjYXVzZSBmb3IgY29uY2VybiBpZgo+ID4gdGhlIHJlc2VydmVkIGJpdHMg
144 Y291bGQgKm5vdCogYmUgaWdub3JlZC4KPgo+IERvIHlvdSBoYXZlIG1vcmUgc3BlY2lmaWMgY29u
145 Y2VybnMgaGVyZSA/CgoKc29ycnksIEJlbmphbWluLCBpIGFwb2xvZ2lzZSBmb3Igc2F5aW5nIHRo
146 aXM6IHRoZSBxdWVzdGlvbiBhcHBlYXJzIHRvIGJlCmltcGx5aW5nLCB2ZXJ5IHN1YnRseSwgdGhh
147 dCB5b3UndmUgbm90IHRha2VuIG9uIGJvYXJkIHdoYXQgaSd2ZSBzYWlkLiBpZgp5b3UgaGFkIHN1
148 bW1hcmlzZWQgd2hhdCBpIHdyb3RlLCBpbiB5b3VyIG93biB3b3JkcywgaSB3b3VsZCBoYXZlIGEg
149 Y2xlYXIKaW5kaWNhdG9yIHRoYXQgeW91J2QgaGVhcmQgbWUuIGlmIHRoYXQgaXMgYSBtaXNpbnRl
150 cnByZXRhdGlvbiBpIGFwb2xvZ2lzZS4KCnRoZSBzcGVjaWZpYyBjb25jZXJuICppcyogdGhhdCBy
151 ZXNlcnZlZCBiaXRzIGRvIG5vdCBjYXVzZSBpbGxlZ2FsCmluc3RydWN0aW9ucyB0byBiZSByYWlz
152 ZWQgb24gdGhlIFVOSVggUGxhdGZvcm0sIGJlY2F1c2Ugd2l0aG91dCB0aGF0IGluCnBsYWNlLCBV
153 TklYIHBsYXRmb3JtIGxvbmd0ZXJtIHNlYW1sZXNzIHVwZ3JhZGVhYmlsaXR5IGFuZCBpbnRlcm9w
154 ZXJhYmlsaXR5CmJldHdlZW4gdmVuZG9ycyBhY3Jvc3MgYWxsIHRoZWlyIHByb2R1Y3QgcmFuZ2Vz
155 IG92ZXIgdGltZSBpcyBzaW1wbHkgbm90CnBvc3NpYmxlLgoKaSBoYXZlIG5vdCBzcGVsbGVkIGl0
156 IG91dCBleHBsaWNpdGx5LCBzZWVraW5nIGluc3RlYWQgdG8gdXNlIGxvZ2ljYWwKcmVhc29uaW5n
157 IHJhdGhlciB0aGFuIG1ha2UgY2F0ZWdvcmljYWwgc3RhdGVtZW50cywgYnV0IHRoaXMgaXMgYWN0
158 dWFsbHkgYQpyZWFsbHkgc2VyaW91cyBwcm9ibGVtLgoKCklFLiBBY3R1YWwgZXhhbXBsZXMgd2hl
159 cmUKPiB0aGlzIGhhcyBiZWVuIGNhdXNlIG9mIGJyZWFrYWdlIGluIHRoZSBwYXN0ID8KCgp3aXRo
160 IFBvd2VySVNBIGhhdmluZyBvbmx5IGEgZmV3IGltcGxlbWVudG9ycywgZXZlbiB0aG91Z2ggaSBh
161 bSBuZXcgdG8KUG93ZXJJU0EgaSBkbyBub3QgZXhwZWN0IHRoZXJlIHRvIGJlIG1hbnkgc3VjaCBl
162 eGFtcGxlcywgc2ltcGx5IGJlY2F1c2UgYXMKaSBzYWlkLCBmb3IgaGUgIkVtYmVkZGVkIiBjbGFz
163 cyBwcm9jZXNzb3JzIChNb3Rvcm9sYSdzIDMyIGJpdCByYW5nZSwgYW5kCmV2ZW4gdGhlIFF1b3Js
164 IDY0IGJpdCByYW5nZSBjYW4gYmUgc2FpZCB0byBiZSB0YXJnZXR0ZWQgYXQgdGhlICJFbWJlZGRl
165 ZCIKbWFya2V0IG9mIE5ldHdvcmtpbmcgYW5kIFJvdXRpbmcpLCB0aGVzZSB3aWxsIG5vdCBlbmNv
166 dW50ZXIgdGhpcyBhcyBhCnByb2JsZW0gKGJlY2F1c2Ugb2YgdGhlIGN1c3RvbWlzZWQgZmlybXdh
167 cmUgdGhhdCB0aGV5IHJ1bikuCgppdCBpcyBvbmx5IHRoZSAqVU5JWCogUGxhdGZvcm0gd2hlcmUg
168 dGhpcyBtYXR0ZXJzLgoKdGhhdCBsZWF2ZXMsIHJlYWxpc3RpY2FsbHksIG9ubHkgdGhlIElCTSBQ
169 T1dFUiByYW5nZS4gIGFuZCB3aGVuIHRoZXJlIGlzCm9ubHkgb25lIHZlbmRvciwgaW50ZXJvcGVy
170 YWJpbGl0eSB3aXRoIG90aGVyIHZlbmRvcnMgaXMgbm90IGltcG9ydGFudCB3aGVuCnRoZXJlIGFy
171 ZW4ndCBhbnkgb3RoZXIgdmVuZG9ycyEKCmhvd2V2ZXIgaWYgUG93ZXJJU0EgZXhwYW5kcyAoYXMg
172 d2Uga25vdyBpdCB3b3VsZCBsaWtlIHRvKSwgYW5kIHRoaXMgaXMgbm90CmNoYW5nZWQsIGkgKmd1
173 YXJhbnRlZSogdGhhdCB3aGVuIG1vcmUgaW1wbGVtZW50b3JzIGFyZSBpbnZvbHZlZCB0aGVyZSB3
174 aWxsCmJlIHByb2JsZW1zLCBoZXJlLgoKaW4gb3RoZXIgd29yZHMgdGhlIGFwcHJvYWNoIG9mIGln
175 bm9yaW5nIHJlc2VydmVkIGJpdHMgaGFzIG9ubHkgd29ya2VkIChmb3IKdGhlIHBhc3QgMjAgeWVh
176 cnM/KSBiZWNhdXNlIElCTSwgcmVhbGlzdGljYWxseSwgaXMgdGhlIG9ubHkgKG5vbi1FbWJlZGRl
177 ZCkKaW1wbGVtZW50b3Igb2YgVU5JWCBQbGF0Zm9ybSBwcm9jZXNzb3JzLgoKCj4gTEUvQkUgYW1h
178 emluZ2x5IHNlZW1zIHRvIHdvcmsgb24gTGlicmVTT0MsIGl0IHdhcyBxdWl0ZSBmdW5ueSBoYXZp
179 bmcKPiA+IHRoZSB0cmFwIGp1bXAgaW50byAweDcwMCB3aGVuIHRlc3RpbmcgYWdhaW5zdCBxZW11
180 IChydW5uaW5nCj4gPiBzaW5nbGVzdGVwIHVuZGVyIGdkYiksIG9ubHkgdG8gZmluZCB0aGF0IHFl
181 bXUgdHJhcHMgY2hhbmdlIHRoZSBMRSBiaXQKPiA+IGFuZCBvZiBjb3Vyc2UgaW4gcWVtdSBvbmNl
182 IHRoYXQncyBjaGFuZ2VkIGdkYiBjYW4ndCByZWFkIHJlZ2lzdGVycwo+ID4gY29ycmVjdGx5LiBz
183 aWdoLgo+Cj4gSXQgY2FuIGlmIHlvdSBtYW51YWxseSBjaGFuZ2UgZW5kaWFuIGluIGdkYiBubyA/
184 CgoKdGhpcyAoZm9yIGEgZ2VlaykgaXMgd2h5IGl0IGlzIGFtdXNpbmcsIGJlY2F1c2Ugd2UgZGlk
185 IGV4YWN0bHkgdGhhdC4KCmR1cmluZyBzZXR1cCwgaSBjYWxsIHRoZSBtYWNoaW5lLWludGVyZmFj
186 ZSAic2V0IGVuZGlhbiIgY29tbWFuZCBkZXBlbmRpbmcKb24gd2hldGhlciB0aGUgcHJvZ3JhbSBi
187 ZWluZyBleGVjdXRlZCBpcyBMRSBvciBCRS4KCmJyZWFrcG9pbnRzIGFyZSBzZXQgb24gMHg3MDAg
188 YW5kIGVuZCBvZiBwcm9ncmFtLgoKYWxsIGdvb2Qgc28gZmFyCgp0aGVuIHRoZSB0cmFwIG9jY3Vy
189 cywgYW5kIHRoZSBNU1IgY2hhbmdlcyBhdCB0aGUgdHJhcCBicmVha3BvaW50LgoKd2hlbiB3ZSBy
190 ZWFkIHRoZSBQQyBpdCBpcyAweDAwNzAwMDAwMDAwMDAwMDAgbm90IDB4NzAwCgp3aGVuIHdlIHJl
191 YWQgdGhlIE1TUiBpdCBpcyAqYWxzbyogYnl0ZSByZXZlcnNlZC4KCnNvIHRoZXJlIGlzIG5vIHdh
192 eSB0byByZWFkIHRoZSBNU1IgYW5kIGRldGVybWluZSBmcm9tIHRoZSBiaXRzIHJldHVybmVkIGlm
193 CnRoZSBiaXRzIG5lZWQgdG8gYmUgcmV2ZXJzZWQgYmVjYXVzZSB0aGUgYml0cyB0aGF0IHRlbGwg
194 eW91IHlvdSBzaG91bGQKcmV2ZXJzZSB0aGUgYml0cyBhcmUgYWxyZWFkeSByZXZlcnNlZC4KCmRv
195 aCA6KQoKbC4KCgoKLS0gCi0tLQpjcm93ZC1mdW5kZWQgZWNvLWNvbnNjaW91cyBoYXJkd2FyZTog
196 aHR0cHM6Ly93d3cuY3Jvd2RzdXBwbHkuY29tL2VvbWE2OApfX19fX19fX19fX19fX19fX19fX19f
197 X19fX19fX19fX19fX19fX19fX19fX19fXwpsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0Cmxp
198 YnJlLXJpc2N2LWRldkBsaXN0cy5saWJyZS1yaXNjdi5vcmcKaHR0cDovL2xpc3RzLmxpYnJlLXJp
199 c2N2Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpYnJlLXJpc2N2LWRldgo=
200