[libre-riscv-dev] Some recent documenting of work performed for tape-out
[libre-riscv-dev.git] / 00 / 8e25b951b75bcb1689c574475b4d9ed99e3a1a
1 Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
2 Envelope-to: publicinbox@libre-riscv.org
3 Delivery-date: Fri, 03 Apr 2020 13:05:31 +0100
4 Received: from localhost ([::1] helo=libre-riscv.org)
5 by libre-riscv.org with esmtp (Exim 4.89)
6 (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
7 id 1jKL4k-00088p-Jo; Fri, 03 Apr 2020 13:05:30 +0100
8 Received: from localhost ([127.0.0.1] helo=bugs.libre-riscv.org)
9 by libre-riscv.org with esmtp (Exim 4.89)
10 (envelope-from <bugzilla-daemon@libre-riscv.org>) id 1jKL4j-00088h-5T
11 for libre-riscv-dev@lists.libre-riscv.org; Fri, 03 Apr 2020 13:05:29 +0100
12 From: bugzilla-daemon@libre-riscv.org
13 To: libre-riscv-dev@lists.libre-riscv.org
14 Date: Fri, 03 Apr 2020 12:05:29 +0000
15 X-Bugzilla-Reason: CC
16 X-Bugzilla-Type: changed
17 X-Bugzilla-Watch-Reason: None
18 X-Bugzilla-Product: Libre-SOC's first SoC
19 X-Bugzilla-Component: Source Code
20 X-Bugzilla-Version: unspecified
21 X-Bugzilla-Keywords:
22 X-Bugzilla-Severity: enhancement
23 X-Bugzilla-Who: lkcl@lkcl.net
24 X-Bugzilla-Status: CONFIRMED
25 X-Bugzilla-Resolution:
26 X-Bugzilla-Priority: ---
27 X-Bugzilla-Assigned-To: lkcl@lkcl.net
28 X-Bugzilla-Flags:
29 X-Bugzilla-Changed-Fields:
30 Message-ID: <bug-276-13-XCCSJWf0Zl@http.bugs.libre-riscv.org/>
31 In-Reply-To: <bug-276-13@http.bugs.libre-riscv.org/>
32 References: <bug-276-13@http.bugs.libre-riscv.org/>
33 X-Bugzilla-URL: http://bugs.libre-riscv.org/
34 Auto-Submitted: auto-generated
35 MIME-Version: 1.0
36 Subject: [libre-riscv-dev] [Bug 276] SR NAND Latch needed in nmigen
37 X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
38 X-Mailman-Version: 2.1.23
39 Precedence: list
40 List-Id: Libre-RISCV General Development
41 <libre-riscv-dev.lists.libre-riscv.org>
42 List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
43 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
44 List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
45 List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
46 List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
47 List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
48 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
49 Reply-To: Libre-RISCV General Development
50 <libre-riscv-dev@lists.libre-riscv.org>
51 Content-Type: text/plain; charset="utf-8"
52 Content-Transfer-Encoding: base64
53 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
54 Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
55
56 aHR0cDovL2J1Z3MubGlicmUtcmlzY3Yub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzYKCi0tLSBDb21t
57 ZW50ICMyIGZyb20gTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4g
58 LS0tCihJbiByZXBseSB0byB3aGl0ZXF1YXJrIGZyb20gY29tbWVudCAjMSkKPiAoVGhlIGZvbGxv
59 d2luZyBjb21tZW50IGlzIGNvcGllZCBmcm9tIHRoZSBlbWFpbCBJIHNlbnQgZWFybGllciwgc28g
60 dGhhdCBpdAo+IGlzIGFjY2Vzc2libGUgcHVibGljbHkuKQoKYXBwcmVjaWF0ZWQsIHdoaXRlcXVh
61 cmsuCgpzdW1tYXJ5ICh0aGUgcmVzdCBpcyBhcmNoaXZlLXN1aXRhYmxlIC8gY29udGV4dCkgaXM6
62 IHdlJ2QgbGlrZSB0byBiZSBhYmxlCnRvIGRvICJleGFjdCIgbmV0bGlzdCAod2UgYWxyZWFkeSBo
63 YXZlIHNlbWktZXF1aXZhbGVudCwgYW5kIHRoaXMgaXMgd29ya2luZykuCgoKPiBPZiB0aGUgdGhp
64 bmdzIHlvdSBtZW50aW9uZWQsIHRoaXMgaW5jbHVkZXMgb25seSB0aGUgU1IgbGF0Y2ggaXNzdWUu
65 Cj4gCj4gVGhpcyBpc3N1ZSBpcyB1bmZvcnR1bmF0ZWx5IHF1aXRlIGludm9sdmVkLiAobilNaWdl
66 biBpcyBkZXNpZ25lZCB0bwo+IGNvbm5lY3QgbGFyZ2UgaXNsYW5kcyBvZiBwdXJlbHkgc3luY2hy
67 b25vdXMgbG9naWMgd2l0aCBhIGZldyBhc3luYwo+IGJyaWRnZXMuIEl0IGRvZXMgbm90LCB2ZXJ5
68 IGRlbGliZXJhdGVseSwgZGlyZWN0bHkgc3VwcG9ydCBhcmJpdHJhcnkKPiBhc3luY2hyb25vdXMg
69 cHJpbWl0aXZlcyBsaWtlIHRoZSBTUiBsYXRjaC4gU28geW91IGNhbid0IGp1c3QgZHJvcCBvbmUK
70 PiBpbnRvIHlvdXIgZGVzaWduIGFuZCBoYXZlIGl0IHdvcmsgdGhlIHNhbWUgd2F5IG5vcm1hbCBs
71 b2dpYyB3b3Jrcy4KCnllcy4gIHZlcnkgbXVjaCBhd2FyZSB0aGF0IHN0YW5kYXJkIHByb3ByaWV0
72 YXJ5IGNvbW1lcmNpYWwgdG9vbHMgY29tcGxldGVseQpkcm9wcGVkIHN1cHBvcnQgZm9yIFNSIGxh
73 dGNoZXMuCgoocmVpdGVyYXRpbmcgdGhpcyBmb3IgdGhlIGFyY2hpdmVzOgpob3dldmVyIHdlIHJl
74 YWxseSBjYW5ub3QgdXNlIERGRnMsIGhlcmUuICB0aGF0IGlzIDEwIGdhdGVzIHJhdGhlciB0aGFu
75 IDIsCmFuZCB0aGUgbnVtYmVyIG9mIENlbGxzIG5lZWRlZCBpcyBtYXNzaXZlOiBvbmUgb2YgdGhl
76 IE1hdHJpY2VzIG1heSBuZWVkCnRvIGJlIDEyOCB4IDMwLCB3aXRoIGF0IGxlYXN0IGZvdXIgbWF5
77 YmUgZml2ZSBsYXRjaGVzIHBlciBDZWxsLiAgdGhhdCdzCjE5MiwwMDAgZ2F0ZXMgKmp1c3QgZm9y
78 IHRoYXQgTWF0cml4KiBpZiB3ZSB1c2UgREZGcy4KaWYgd2UgdXNlIFNSIExhdGNoZXMsIGl0J3Mg
79 Mzg0MDAgZ2F0ZXMsIHdoaWNoIGlzIHRvbGVyYWJsZSkKCgo+IEhvd2V2ZXIsIHlvdSdyZSBpbiBs
80 dWNrIGJlY2F1c2UgYmV0dGVyIHN1cHBvcnQgZm9yIGFzeW5jaHJvbm91cwo+IHNpZ25hbHMgd2Fz
81 IHNvbWV0aGluZyBJIHRvb2sgaW50byBhY2NvdW50IHdoZW4gZGVzaWduaW5nIG5NaWdlbiBhbmQK
82 PiBib3RoIG9mIHRoZSBuZXcgc2ltdWxhdG9ycywgcHlzaW0gYW5kIGN4eHNpbS4KCndoZXcgOikK
83 Cj4gVG8gc29sdmUgdGhpcyBpc3N1ZSwgd2UnbGwgbmVlZCB0byB3b3JrIHRvZ2V0aGVyIHRvIGRl
84 dGVybWluZSB5b3VyCj4gc3BlY2lmaWMgdXNlIGNhc2UuIERvIHlvdSB3YW50IHRvIHVzZSB0aGUg
85 ZXhhY3Qgc2FtZSBuZXRsaXN0IGZvcgo+IG5NaWdlbiBzaW11bGF0aW9uIGFuZCBzeW50aGVzaXM/
86 CgppIGhvbmVzdGx5IGRvbid0IGtub3c6IHdlJ3JlIG9wZW4gdG8gc3VnZ2VzdGlvbnMuICAoaGF2
87 aW5nIHJlYWQgYWhlYWQpCmlmIHdlIGNhbiBkbyBib3RoIChhbmQgdXNlIG9uZSBmb3IgcmFwaWQg
88 cHJvdG90eXBpbmcgYW5kIHRoZSBvdGhlciBhcwphIGNyb3NzLWNoZWNrIGJlZm9yZSBtb3Zpbmcg
89 dG8gc3ludGhldGhpcykgdGhhdCB3b3VsZCBiZSBncmVhdC4KCnJpZ2h0IG5vdyB3ZSBoYXZlIHNv
90 bWV0aGluZyB0aGF0ICJ3b3JrcyIgaG93ZXZlcgppdCB1c2VzIERGRnMsIG5vdCBTUiBsYXRjaGVz
91 IChzZWUgbGF0Y2gucHkgbGluaywgYmVsb3cpLgoKPiBJZiBub3QsIGl0IG1lYW5zIHlvdSBjYW4g
92 bW9kZWwKPiB3aGF0ZXZlciBpdCBpcyB0aGF0IGNvbnRhaW5zIHRoZSBTUiBsYXRjaGVzIChJJ20g
93 bm90IHN1cmUgd2hhdAo+IG1hdHJpY2VzIHlvdSdyZSByZWZlcnJpbmcgdG8sIGhlcmUpCgpPdXQt
94 b2YtT3JkZXIgUmVhZC9Xcml0ZSBIYXphcmQgZGV0ZWN0aW9uIGFuZCBhdm9pZGFuY2UgbWF0cmlj
95 ZXMuCnNlZSAiTW9kaWZpY2F0aW9ucyB0byBEZXBlbmRlbmN5IENlbGwiCmh0dHBzOi8vbGlicmUt
96 cmlzY3Yub3JnLzNkX2dwdS9hcmNoaXRlY3R1cmUvNjYwMHNjb3JlYm9hcmQvCgoqIHRoZSBETXMg
97 ZW5jb2RlIGFsbCByZWdpc3RlcnMgaW4gVW5hcnkgKHNpbmdsZSBiaXQgYWN0aXZhdGlvbikuCiAg
98 dGh1cyBvbmUgInJvdyIgcmVwcmVzZW50cyBhbGwgcmVnaXN0ZXJzIHVzZWQgZm9yIGEgZ2l2ZW4g
99 RnVuY3Rpb25Vbml0CiAgW2FuZCBhY2Nlc3MgdG8gaXRzIEFMVV0uCiogZWFjaCBDZWxsIHRodXMg
100 cmVjb3JkcywgaW4gYml0LWxldmVsICh1bmFyeSkgZm9ybSwgdGhlIGZhY3QgdGhhdCByZWFkL3dy
101 aXRlCiAgZm9yIGEgZ2l2ZW4gZnVuY3Rpb24gKGFkZCkgaXMgbmVlZGVkLCBieSByYWlzaW5nIHRo
102 ZSAiUmVnIDUgbmVlZHMgUkVBRCIKICBhbmQgIlJlZyA3IG5lZWRzIFdSSVRFIiBTUiBMYXRjaGVz
103 CiogdGhlc2Ugbm93LWFjdGl2ZSBzaWduYWxzIGluZGljYXRlIHRvIHN1YnNlcXVlbnQgaW5zdHJ1
104 Y3Rpb25zCiAgImhlbGxvIGkgaGF2ZSBhIHJlYWQgaGF6YXJkLCBoZWxsbyBpIGhhdmUgYSB3cml0
105 ZSBoYXphcmQiIHJlc3BlY3RpdmVseS4KICBhdHRlbXB0cyB0byB1c2UgdGhvc2UgcmVnaXN0ZXJz
106 IHRodXMgU1RPUHMgdGhhdCBGdW5jdGlvblVuaXQgZnJvbSBleGVjdXRpbmcuCiogaGF6YXJkcyBn
107 ZXQgY2xlYXJlZCBvdXQgb25jZSByZXN1bHRzIGFyZSB3cml0dGVuCiogd2hlbiB0aGVyZSBhcmUg
108 emVybyBoYXphcmRzIChpbiBhbnkgZ2l2ZW4gcm93KSwgdGhhdCBpbnN0cnVjdGlvbgogIGJlY29t
109 ZXMgZnJlZS1hbmQtY2xlYXIgdG8gcHJvY2VlZC4KCml0J3MgYWN0dWFsbHkgaW5jcmVkaWJseSBz
110 aW1wbGUuCgpoZXJlJ3Mgb25lIGZvciBSZWdpc3Rlci10by1GdW5jdGlvblVuaXQgKEZVIGJlaW5n
111 IHRoZSAiYXJiaXRyYXRvciIgZm9yIGFjY2Vzcwp0byBhbiBBTFUgcGlwZWxpbmUpLCB5b3UgaGF2
112 ZSB0byBkcmlsbCBkb3duIGEgYml0ICh0aHJvdWdoIERlcGVuZGVuY3lSb3cpCnRvIGdldCB0byB0
113 aGUgU1IgTGF0Y2hlcyB0aGVtc2VsdmVzCgpodHRwczovL2dpdC5saWJyZS1yaXNjdi5vcmcvP3A9
114 c29jLmdpdDthPWJsb2I7Zj1zcmMvc29jL3Njb3JlYm9hcmQvZnVfcmVnX21hdHJpeC5weTtoPTA2
115 MzgwNDM0YzhkN2QyMDgyOGQ4MGMzZDBlMDIwMTYxYmNiMmMyZTQ7aGI9YjAxZjZiYzBhZDI4Y2Rh
116 MTMxYmVhZTMzZTVmZTMzOGRhYWY1ZTllYQoKPiB1c2luZyBzeW5jaHJvbm91cyBjb2RlLCAKCmZ1
117 bm5pbHkgZW5vdWdoIHRoYXQncyB3aGVyZSB3ZSBhcmUgcmlnaHQgbm93OgpodHRwczovL2dpdC5s
118 aWJyZS1yaXNjdi5vcmcvP3A9bm11dGlsLmdpdDthPWJsb2I7Zj1zcmMvbm11dGlsL2xhdGNoLnB5
119 O2g9N2Q2YTFlZmUyMmM4ODE1ODVhNjI2ZTM5NzU5MDMzNzE4NmY2ZWYxYjtoYj1IRUFEI2w0MQoK
120 PiBhbmQKPiByZXBsYWNlIHRoZW0gd2l0aCB0cnVlIFNSIGxhdGNoZXMgZm9yIHN5bnRoZXNpcy4g
121 T2YgY291cnNlLCB5b3Ugd2lsbAo+IG5lZWQgdG8gY29udmluY2UgeW91cnNlbGYgdGhlc2UgdHdv
122 IGRlc2lnbnMgYXJlIGVxdWl2YWxlbnQuCgp5ZXMuICBmb3J0dW5hdGVseSwgY29yaW9saXMyIGhh
123 cyBnYXRlLWxldmVsIHNpbXVsYXRpb24gKHdoaWNoIG5lZWRzCmludmVzdGlnYXRpb24pIHNvIHdl
124 IGNhbiB0cmlwbGUtY2hlY2suCgoKPiBJZiB5b3UgKmRvKiB3YW50IHRvIHVzZSB0aGUgZXhhY3Qg
125 c2FtZSBuZXRsaXN0LCB0aGVyZSBhcmUgYSBmZXcKPiBvcHRpb25zLiBCb3RoIHRoZSBuZXcgbk1p
126 Z2VuIHNpbXVsYXRvciBhbmQgY3h4cnRsIHVzZSBhbiBhcmNoaXRlY3R1cmUKPiB0aGF0LCBpbiBw
127 cmluY2lwbGUsIHN1cHBvcnRzIGxvZ2ljIGZlZWRiYWNrIGxvb3BzLiBTbyB5b3UgY2FuIG1vZGVs
128 Cj4gdGhlIFNSIGxhdGNoIHVzaW5nIHR3byBvcmRpbmFyeSBOQU5EIGdhdGVzLiBJZiB5b3UgaGF2
129 ZSBhbiBpbnN0YW5jZQo+IG9mIGEgU1JOQU5EIGNlbGwsIHlvdSBjYW4gcHJvdmlkZSBhIHNpbXVs
130 YXRpb24gbW9kZWwgZm9yIHRoaXMgaW5zdGFuY2UKPiB0aGF0IHVzZXMgdHdvIE5BTkQgZ2F0ZXMs
131 IGFuZCBpdCdsbCB3b3JrLiAKCndpdGggdGhlIGNhdmVhdCB0aGF0IHRoZSBjdXJyZW50IFNSTGF0
132 Y2ggY2xhc3MgaXMgYWN0dWFsbHkgYSBSZXNldC1wcmlvcml0eQpTUiBsYXRjaCwgaSAqYmVsaWV2
133 ZSogd2UgYWxyZWFkeSBoYXZlIHRoZSBmb3JtZXIsIHNvIHRoaXMgbGF0dGVyIGlzIHJlYWxseQp3
134 aGF0IHdlJ2QgbGlrZSB0byBoYXZlLgoKd2UgY2FuIGFsd2F5cyBmbGlwIGluL291dCB0aGUgY3Vy
135 cmVudCBTUiBMYXRjaCBmb3IgYSBwcm9wZXJseSBhc3luY2hyb25vdXMKb25lIChleGFjdCBzYW1l
136 IG5ldGxpc3QpLCBydW4gc29tZSAodW5iZWxpZXZhYmx5IHNsb3cpIHRlc3RzLCB0aGVuIGdlbmVy
137 YXRlCnRoZSBhY3R1YWwgbmV0bGlzdCB0byBiZSBoYW5kZWQgdG8geW9zeXMgKGFuZCBmcm9tIHRo
138 ZXJlIHRvIGNvcmlvbGlzMikuCgoKPiBIb3dldmVyLCBJIG11c3Qgd2FybiB5b3UKPiB0aGF0IGJv
139 dGggZm9yIG5NaWdlbiBweXNpbSBhbmQgY3h4cnRsLCB0aGlzIHdpbGwgY29tZSB3aXRoIGEgc2V2
140 ZXJlCj4gcGVyZm9ybWFuY2UgcGVuYWx0eSBvZiBhdCBsZWFzdCB+MTB4LCBwb3NzaWJseSB3b3Jz
141 ZSBkZXBlbmRpbmcgb24geW91cgo+IGV4YWN0IGRlc2lnbi4gSWYgeW91IGFyZSBwbGFubmluZyB0
142 byB1c2UgZmluZSBTUk5BTkQgY2VsbHMgKG9uZSBwZXIKPiBiaXQgcmF0aGVyIHRoYW4gb25lIHBl
143 ciB3b3JkKSwgZXhwZWN0IGEgZnVydGhlciBzbG93ZG93biBvZiB0aGUgd29yZAo+IHNpemUgZmFj
144 dG9yLgoKaW50ZXJlc3RpbmcsIGJlY2F1c2UgYSBtdWx0aS13b3JkIGRlc2lnbiB0dXJuZWQgb3V0
145 IHRvIGJlIG5lY2Vzc2FyeQp0byBnZXQgYSBzcGVlZHVwIGZhY3RvciAoc29tZSBvZiB0aGUgTWF0
146 cmljZXMgYXJlIHNvIGxhcmdlIC0gMTI4IHggMzApIHRoYXQKd2UgZ2V0IHNlY29uZHMgcGVyIGNs
147 b2NrIGluIHB5c2ltIGlmIGRvbmUgYXMgaW5kaXZpZHVhbCBvbmUtYml0IENlbGxzLgp0aGUgTWF0
148 cmljZXMgYXJlIHNvIGxhcmdlIC0gMTI4IHggMzAgd2lsbCBiZSB0aGUgbGFyZ2VzdCAtIHRoYXQg
149 d2l0aCBhCjQgdG8gNSBsZXZlbCBoaWVyYXJjaHkgb2YgRWxhYm9yYXRhYmxlIGNsYXNzZXMgaXQg
150 d2FzIGludG9sZXJhYmxlLgoKYnkgcmVtb3Zpbmcgb25lIGxldmVsIG9mIGhpZXJhcmNoeSwgcHlz
151 aW0gcmFuIGluIHJlYXNvbmFibGUgdGltZS4KCmkgZm91bmQgdGhpcyBnZW5lcmFsbHkgdG8gYmUg
152 dHJ1ZTogdGhlIG1vcmUgbGV2ZWxzIG9mIGhpZXJhcmNoeSwgdGhlCnNsb3dlciBweXNpbSBnb3Qu
153 ICBhbmQgZHVlIHRvIHRoZSBNQVNTSVZFIHNpemUgb2Ygb3VyIGRlc2lnbnMsIHdlIG5lZWQKaGll
154 cmFyY2hpY2FsbHktbGFpZC1vdXQgY2xhc3NlcyAod2VsbCBvdmVyIDI1MCBzbyBmYXIpLgoKCj4g
155 QW5vdGhlciBpc3N1ZSBpcyB0aGF0IG5laXRoZXIgcHlzaW0gbm9yIGN4eHNpbSBwcm92aWRlCj4g
156 YW55IHdheSB0byBjb250cm9sIHRoZSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbnMuIFRoYXQgaXMs
157 IHRoZSBTUk5BTkQKPiBsYXRjaCB0aGF0IGlzIHNpbXVsYXRlZCBpbiBweXNpbSBvciBjeHhzaW0g
158 d2lsbCBpbml0aWFsaXplIHRvCj4gYW4gaW5kZXRlcm1pbmF0ZSB2YWx1ZSwgYW5kIGNoYWluaW5n
159 IHRoZW0gdG9nZXRoZXIgd2lsbCBsZWFkIHRvCj4gdW5wcmVkaWN0YWJsZSByZXN1bHRzLgoKeW91
160 J2xsIGxpa2UgdGhpczogaXQncyBtdWNoICJ3b3JzZSIgdGhhbiBpdCBsb29rcyA6KSAgd2UgYWN0
161 dWFsbHkgaGF2ZQphIHRyaXBsZS1jb25uZWN0ZWQgcmluZyBvZiBTUk5BTkQgbGF0Y2hlcywgYWN0
162 aW5nIGFzIGEgcHNldWRvIHBpcGVsaW5lLgoKaG93ZXZlciwgaXQgdHVybnMgb3V0IHRoYXQgdGhl
163 IHNldC1yZXNldCBsb2dpYyB3aGljaCAqZW5hYmxlcyogdGhlIHRocmVlClNSTkFORHMgaXMgdmVy
164 eSwgdmVyeSBzcGVjaWZpY2FsbHkgb3JnYW5pc2VkIHN1Y2ggdGhhdCBvbmx5IHR3byBvZiB0aGVt
165 CmFyZSBldmVyIHBvc3NpYmxlIHRvIGhhdmUgYWN0aXZlIGF0IGFueSBvbmUgdGltZSwgYW5kIHRo
166 dXMgd2UgY3JlYXRlCmEgInJldm9sdmluZyBkb29yIiBlZmZlY3QuCgp0aG9zZSAicHJvdGVjdGlv
167 bnMiIGFyZSBhbGwgc3luY2hyb25vdXMuICBzbyB3aGlsc3QgdGhlIFNSTkFORCBjZWxscwphcmUg
168 YXN5bmNocm9ub3VzIGFuZCBjb3VsZCBoeXBvdGhldGljYWxseSBlbmQgdXAgaW4gInVua25vd24i
169 LCBpbgpwcmFjdGljZSB0aGlzIGNhbiAqbmV2ZXIqIG9jY3VyIGJlY2F1c2UgdGhlIGNvbmRpdGlv
170 bnMgd2hpY2ggY3JlYXRlCiJ1bmtub3duIiBhcmUgc3BlY2lmaWNhbGx5IGF2b2lkZWQgKGFuZCBh
171 dm9pZGVkIHVzaW5nIHN5bmNocm9ub3VzCmxvZ2ljKS4KCmluIGNhc2UgeW91IHdlcmUgd29uZGVy
172 aW5nOiB0aGlzIGlzIGEgcHJvdmVuIGRlc2lnbi4gIGl0IHdhcyB1c2VkIGluIHRoZQpvcmlnaW5h
173 bCBDREMgNjYwMCwgYW5kIGFsc28gaW4gdGhlIEFNRCBPcHRlcm9uIFNlcmllcy4gIGhvd2V2ZXIs
174 IGluIHRoZQpDREMgNjYwMCB0aGV5IHVzZWQgdHJhbnNpc3RvcnMgKGFzIGluOiAqYWN0dWFsKiB0
175 aHJlZS1wcm9uZ2VkIHRyYW5zaXN0b3JzLAp0aGUgbGFyZ2VzdCBldmVyIHNpbmdsZSBvcmRlciBt
176 YWRlIGZvciB0cmFuc2lzdG9ycyBpbiB0aGUgd29ybGQpLCBhbmQKaW4gdGhlIEFNRCBPcHRlcm9u
177 IFNlcmllcyB0aGV5IG9mIGNvdXJzZSBoYWQgdGhlIGZpbmFuY2lhbCBidWRnZXQgYW5kCnJlc291
178 cmNlcyBvZiBhIG11bHRpLWJpbGxpb24tZG9sbGFyIGNvbXBhbnkgYW5kIHNvIGNvdWxkIGhhcHBp
179 bHkgcGF5IGZvcgpjdXN0b20gc2lsaWNvbi4KCnNvLiAgY29uY2x1c2lvbiwgYWZ0ZXIgYWxsIHRo
180 YXQgKGFwb2xvZ2llcyksIGlzIGJhY2sgYXQgdGhlIHRvcC4KCi0tIApZb3UgYXJlIHJlY2Vpdmlu
181 ZyB0aGlzIG1haWwgYmVjYXVzZToKWW91IGFyZSBvbiB0aGUgQ0MgbGlzdCBmb3IgdGhlIGJ1Zy4K
182 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlz
183 Y3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3Jn
184 Cmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNj
185 di1kZXYK
186