Re: [libre-riscv-dev] Introduction and Questions
authorJeremy Singher <thejsingher@gmail.com>
Fri, 15 May 2020 20:50:23 +0000 (13:50 -0700)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Fri, 15 May 2020 20:50:36 +0000 (21:50 +0100)
0e/cc239311deaa9729b7e85de574ded2198d1602 [new file with mode: 0644]

diff --git a/0e/cc239311deaa9729b7e85de574ded2198d1602 b/0e/cc239311deaa9729b7e85de574ded2198d1602
new file mode 100644 (file)
index 0000000..caa32eb
--- /dev/null
@@ -0,0 +1,195 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Fri, 15 May 2020 21:50:37 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+       by libre-soc.org with esmtp (Exim 4.89)
+       (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+       id 1jZhHw-0001nG-Kn; Fri, 15 May 2020 21:50:36 +0100
+Received: from mail-lj1-f179.google.com ([209.85.208.179])
+ by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.89) (envelope-from <thejsingher@gmail.com>)
+ id 1jZhHv-0001nA-Be
+ for libre-riscv-dev@lists.libre-riscv.org; Fri, 15 May 2020 21:50:35 +0100
+Received: by mail-lj1-f179.google.com with SMTP id a21so3656159ljj.11
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Fri, 15 May 2020 13:50:35 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=mime-version:references:in-reply-to:from:date:message-id:subject:to
+ :content-transfer-encoding;
+ bh=5HFxd/eFcpxUFOukBZeFHQGlNZjXYGiUeoZgytxXwtg=;
+ b=FiMaP50BsaWomo/5EUs6pW2RUZkCaRKURxjfiIg8dv/g4eGFe9wWEuJXoL7FGurlwe
+ kBJ8Y9JGfNW65Q37w7UeLMCk7WqPFeoEFnb/PDyyHNLmJA4cOD66NhIPs4a+WOFykR85
+ rJGyVrcbrcJHjVQEoyVRhOoyEAEkVIZI925zroSzuQb2kOHAucVNQWhVEls8S09YkJW9
+ +Sg+Q8wnpjIPdM4z15hk/RTGIKnupSDsWO4mu5lWsmNz9QOD12QHDMaabgHd1ImFfdqf
+ k1lY1irxdJUyXD0zV3AnzM2vepW0uSf/I/i1ve6poHdbYbAs9dEkrapHiNp3TcOt5k9t
+ uvUg==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:mime-version:references:in-reply-to:from:date
+ :message-id:subject:to:content-transfer-encoding;
+ bh=5HFxd/eFcpxUFOukBZeFHQGlNZjXYGiUeoZgytxXwtg=;
+ b=hNpxZ7ULyr3XREuyIE03u33iQKvowLwuzB+kRPxSiLs9h6yd9hrMq79DZy1wF9Njxm
+ PzPufMwFWZ+PzmoM04sRPsD2RtytIv3KNgbTV14PpBkOYp5BstmKzXnTOnuY/sGFSPe/
+ Hxir5ORqOuP9raZJS5Jl1m2Dv++PhQfkAp18o2P55zFF4AfQfEQhDKkJwJ3b4U14r/lb
+ /ZVjrziPYxiX8KJGx7ZJUN+bWIrjs9/T8EiWS8exHAmS95vXS9SFacZP7J6veut8dkbQ
+ Sgb9Fu0eUGXipqGe22/SefP3fpcJ5ciS+Uijqyo1vXwyFjRIobWC0hr+DBlSHJkmcIYi
+ iKHQ==
+X-Gm-Message-State: AOAM533vEzeGkLHJpnoEvL+nQUU2jXOMGUH4YiD3hu862rBgHyT9lbac
+ WZ1b1uwmJI/UKLhUCvabTjd8qn8R7ltR2GDQD89PhuyI
+X-Google-Smtp-Source: ABdhPJyd6pdwp0TFjhyHTXXlrsVix/ghp19oGc7t+sg4o4C20QCRIk754CCQY/xgS/9JwxgI7+c9pXIKxM+j0xGyn4k=
+X-Received: by 2002:a05:651c:50e:: with SMTP id
+ o14mr3475035ljp.52.1589575834307; 
+ Fri, 15 May 2020 13:50:34 -0700 (PDT)
+MIME-Version: 1.0
+References: <CAEoCstQz36UuDJ+ZUgLRJNeQkA=pTfYuzCr+XgF-FJY9+yJsvA@mail.gmail.com>
+ <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu>
+ <CAEoCstRUXkB_LxXXubx4A0dhLGvFqq6EPL+GzukDQORpHopaiw@mail.gmail.com>
+ <4BDA96A5-9063-42A6-9548-CAE3CBEBEBAC@gatech.edu>
+ <CAPweEDyZQEBsh8uZ4VkzzALPcoiTgs0AvTmTwS6B0Dc+jy+mfw@mail.gmail.com>
+In-Reply-To: <CAPweEDyZQEBsh8uZ4VkzzALPcoiTgs0AvTmTwS6B0Dc+jy+mfw@mail.gmail.com>
+From: Jeremy Singher <thejsingher@gmail.com>
+Date: Fri, 15 May 2020 13:50:23 -0700
+Message-ID: <CAEoCstTERH=Z84je148ffL7_yiBYFj_Zet2VfOzkbe86MVmyQQ@mail.gmail.com>
+To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+Subject: Re: [libre-riscv-dev] Introduction and Questions
+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>
+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>
+
+PiBhIHRlZW55IHRpbnkgYml0IG92ZXIgd2hhdCB3ZSBpbml0aWFsbHkgcGxhbm5lZCwgdGhlbiA6
+KQoKVGhhbmtzIEx1a2UsIHRoZXNlIG51bWJlcnMgYXJlIGNsb3NlciB0byB3aGF0IHNlZW1zIHJl
+YXNvbmFibGUgdG8gbWUuCkEgc2ltcGxlIHN1cGVyc2NhbGFyIGNvcmUgd2l0aCAyIEZQVSBmdW5j
+dGlvbmFsIHVuaXRzIHNob3VsZCBiZSBhYmxlCnRvIGFjaGlldmUgNCBHRkxPUFMsIHNvIGEgdmVj
+dG9yIHVuaXQgd291bGQgbmVlZCB0byBnbyBoaWdoZXIgdGhhbgp0aGF0IHRvIGJlIHdvcnRoIHRo
+ZSBleHRyYSBzaWxpY29uLgoKPiBieSBvdmVybG9hZGluZyAibXVsdGktaXNzdWUiLiAgYSBoYXJk
+d2FyZSBmb3ItbG9vcCBhdCB0aGUgaW5zdHJ1Y3Rpb24KPiBleGVjdXRpb24gcGhhc2Ugd2lsbCBw
+dXNoIG11bHRpcGxlIHNlcXVlbnRpYWwgaW5zdHJ1Y3Rpb25zIGludG8gdGhlCj4gT29PIGVuZ2lu
+ZSBmcm9tIGEgKnNpbmdsZSogaW5zdHJ1Y3Rpb24uCgpJIHNlZSwgc28gYSBmb3JtIG9mIG1pY3Jv
+LW9wIGZpc3Npb24sIGVzc2VudGlhbGx5IHlvdSBhcmUgZGVjb2RpbmcKY29tcGxleCB2ZWN0b3Ig
+KG9yICJHUFUiKSBpbnN0cnVjdGlvbnMgaW50byBhIHNlcXVlbnRpYWwgc3RyZWFtIG9mCnNpbXBs
+ZSBtaWNyby1vcHM/IFRoaXMgc2VlbXMgbGlrZSBhIHByZXR0eSByZWFzb25hYmxlIGRlc2lnbiBw
+b2ludC4KCj4gdGhlIERJViBwaXBlbGluZSB3aWxsIGJlLi4uIDggKG1heWJlIG1vcmUpLCBNVUwg
+d2lsbCBiZSAyLCBBREQgKGV0Yy4pIHdpbGwgYmUgMS4KPiAqIGZldGNoOiAxLgo+ICogZGVjb2Rl
+OiAxLgo+ICogaXNzdWUgYW5kIHJlZy1yZWFkOiAxIChtaW5pbXVtKS4KPiAqIGV4ZWN1dGU6IGJl
+dHdlZW4gMSBhbmQgOCAobWF5YmUgbW9yZSkKPiAqIHdyaXRlOiAxIChtaW5pbXVtKQoKU28gdGhp
+cyBpcyBqdXN0IGZvciB0aGUgcHJlbGltaW5hcnkgdGFwZW91dD8gSSB3b3VsZCBleHBlY3QgYW4g
+T09PCmNvcmUgdGFyZ2V0aW5nIDFHSHorIHRvIGhhdmUgbW9yZSBwaXBlbGluZSBzdGFnZXMgdGhh
+biB0aGlzICgxMCspLiBUaGUKQTcyLCBTa3lsYWtlLCBaZW4sIGFuZCBCT09NIGFsbCBzZWVtIHRv
+IHRhcmdldCAxMCsgc3RhZ2VzLgoKPiBiYXNpY2FsbHkgdGhpcyBpcyB3aHkgd2UncmUgZG9pbmcg
+T29PIGJlY2F1c2UgY29vcmRpbmF0aW5nIGFsbCB0aGF0IGluCj4gYW4gaW4tb3JkZXIgc3lzdGVt
+IHdvdWxkIGJlIGFic29sdXRlIGhlbGwuCgpJJ20gYSBiaXQgY29uZnVzZWQgbm93LiBJbi1vcmRl
+ciBleGVjdXRpb24gd2l0aCB2YXJpYWJsZS1sYXRlbmN5CmZ1bmN0aW9uYWwgdW5pdHMgY2FuIGJl
+IGFjaGlldmVkIHdpdGggYSBzY29yZWJvYXJkLCBhbmQgdGhlIHBpcGVsaW5lCnN0YWdlcyB5b3Ug
+ZGVzY3JpYmUgcmVtaW5kcyBtZSBvZiBhIGluLW9yZGVyIGNvcmUgd2l0aCBPT08gd3JpdGUtYmFj
+ay4KSXMgdGhpcyB3aGF0IHlvdSBhcmUgZG9pbmc/IE9yIGFyZSB5b3UgcHVyc3VpbmcgdHJ1ZSBP
+T08gZXhlY3V0aW9uCndpdGggcmVnaXN0ZXItcmVuYW1pbmc/Cgo+IGl0J3MgZG93biB1bHRpbWF0
+ZWx5IHRvIGhvdyB3aWRlIHRoZSByZWdpc3RlciBwYXRocyBhcmUsIGJldHdlZW4gdGhlCj4gUmVn
+ZmlsZSBhbmQgdGhlIEZ1bmN0aW9uIFVuaXRzLiAgaWYgd2UgaGF2ZSBtdWx0aXBsZSBSZWdpc3Rl
+ciBEYXRhCj4gQnVzZXMsIGFuZCBjYW4gaW1wbGVtZW50IHRoZSBtdWx0aS1pc3N1ZSBwYXJ0IGlu
+IHRpbWUsIGl0J2xsIGJlIGNvZGVkCj4gaW4gYSBnZW5lcmFsLXB1cnBvc2UgZW5vdWdoIHdheSB0
+aGF0IHdlIGNvdWxkIGNvbnNpZGVyIDQtaXNzdWUuCj4gaG93ZXZlci4uLiB3aXRob3V0IHRoZSBy
+ZWdpc3RlciBkYXRhIHBhdGhzLCB0aGVyZSdzIG5vIHBvaW50LgoKRmFpciBlbm91Z2guIEJhbGFu
+Y2luZyB0aGUgdGhyb3VnaHB1dCBvZiBhbGwgdGhlIGNvbXBvbmVudHMgaW4gYSBPT08KY29yZSBp
+cyB0cmlja3ksIGFuZCByZWdpc3RlciByZWFkIGNhbiBjZXJ0YWlubHkgYmUgYSBib3R0bGVuZWNr
+LgoKPiBXZSBoYWQgc29tZSB1bmZvcnR1bmF0ZSBydW4taW5zIHdpdGggQmVya2VsZXkgYW5kIFJJ
+U0NWIC0gYW5kIHdlIGRlY2lkZWQgdG8gZ28gd2l0aCBQT1dFUiBiZWNhdXNlIHdlIGhhdmUgYWNj
+ZXNzIHRvIHNvbWUgaW1wb3J0YW50IHJlbGF0aW9ucyBhdCBJQk0KCkhhdmUgeW91IGxvb2tlZCBh
+dCB0aGUgb3BlbiBSSVNDLVYgbWljcm8tYXJjaGl0ZWN0dXJlcyB0aG91Z2g/IEV2ZW4gaWYKdGhp
+cyBjb3JlIHJ1bnMgUE9XRVIsIGl0IHNob3VsZCBiZSBub3QgdG9vIGRpZmZpY3VsdCB0byBwb3J0
+IGRlc2lnbgppZGVhcyBmcm9tIGV4aXN0aW5nIGNvcmVzLCB0byBhdm9pZCByZWludmVudGluZyB0
+aGUgd2hlZWwgZXZlcnl3aGVyZS4KCgoKT24gRnJpLCBNYXkgMTUsIDIwMjAgYXQgMToxMiBQTSBM
+dWtlIEtlbm5ldGggQ2Fzc29uIExlaWdodG9uCjxsa2NsQGxrY2wubmV0PiB3cm90ZToKPgo+IGhp
+IGplcmVteSwgd2VsY29tZS4KPgo+IGhlcmUgeW91IG1heSBoYXZlIG5vdGljZWQsIHRoZXJlIGFy
+ZSB0d28gY2hpcHM6IHRoZSAxODBubSB0ZXN0IEFTSUMKPiB3aGljaCB3ZSBoYXZlIGEgdGlnaHQg
+ZGVhZGxpbmUgdG8gbWVldCwgbWlkLWF1Z3VzdCB3ZSBuZWVkIHRvIGZyZWV6ZQo+IHRoZSBkZXNp
+Z24gYW5kIGltbWVkaWF0ZWx5IG1vdmUgdG8gZG9pbmcgbGF5b3V0IHVzaW5nIENvcmlvbGlzMi4g
+IHRoaXMKPiBvbmUgd2UgYXJlIGV4dHJlbWVseSB1bmxpa2VseSB0byBldmVuIGhhdmUgRlAgb3Bl
+cmF0aW9ucy4KPgo+IGJleW9uZCB0aGF0IHdlIGhhdmUgYSBzZWNvbmQgQVNJQyB0byBkbywgdGhl
+IHF1YWQtY29yZSBTTVAgODAwbWh6Cj4gZHVhbC1pc3N1ZS4gIHRoYXQncyB3aGVyZSB5b3Ugc2F3
+IHRoZSBudW1iZXJzIGZvci4KPgo+IE9uIEZyaSwgTWF5IDE1LCAyMDIwIGF0IDg6MzMgUE0gWWVo
+b3dzaHVhIDx5aW1tYW51ZWwzQGdhdGVjaC5lZHU+IHdyb3RlOgo+Cj4gPiBJIGtub3cgd2UgaW5p
+dGlhbGx5IHdlcmUgdGFyZ2V0aW5nIDVHRkxPUFMgZm9yIHRoZSBHUFUgb24gdGhlIGZpcnN0IHRh
+cGVvdXQuCj4KPiB0aGlzIHdhcyB0byBiZSA1LTYgR01BQ3MgY2FwYWJpbGl0eSBmb3IgdGhlIHF1
+YWQtY29yZSBTTVAgODAwbWh6Cj4gZHVhbC1pc3N1ZSAoc2Vjb25kIHRhcmdldCkuICBob3dldmVy
+Li4uICpzaGVlcGlzaCouLi4gd2Uga2luZGEKPiBkcmFzdGljYWxseSBvdmVyc2hvdCB0aGF0IG9u
+IHRoZSBpbnRlcm5hbCBhcmNoaXRlY3R1cmUgOikgIGl0IHdhcyB0bwo+IGJlIDUtNiBHTUFDUyB3
+aGljaCBpcyBvZiBjb3Vyc2UgMTAtMTIgR0ZMT1BTIChGUCBNVUwgYW5kIEZQIEFERCBpbgo+IEZQ
+TUFDIGNvdW50aW5nIGFzIDIpLgo+Cj4gYWxzbyBlYWNoIGNvcmUgLSBhbGwgZm91ciBvZiB0aGVt
+IC0gaXMgYXJjaGl0ZWN0ZWQgdG8gaGFuZGxlIGEgbWluaW11bQo+IDEyOC1iaXQtd2lkZSBMT0FE
+L1NUT1JFIGRhdGEgcGF0aCAoNHggRlAzMiksIGFuZCB0aGVyZSB3aWxsIGJlIDR4IEZQMzIKPiAt
+IEZNQUNzIC0gcGVyIGNsb2NrIGN5Y2xlLCBiZWNhdXNlIHRoZXkgd2lsbCBiZSBpc3N1ZWQgYXMg
+MnggNjQtYml0Cj4gb3BlcmF0aW9ucyAoMnggMzItYml0IEZQcyBpbiBlYWNoIDY0LWJpdCkgYW5k
+IGl0IGlzIGR1YWwgaXNzdWUuCj4KPiA4MDBtaHogeCAyIGlzc3VlIHggMi0zMiBwZXIgNjQtYml0
+IHggNCA9IDEyLjggR01BQ3Mgd2hpY2ggeDIgYmVjYXVzZQo+IEZQTVVMIGFuZCBGUEFERCBpcyAy
+IG9wcyA9IDI1LjYgR0ZMT1BzLgo+Cj4gYSB0ZWVueSB0aW55IGJpdCBvdmVyIHdoYXQgd2UgaW5p
+dGlhbGx5IHBsYW5uZWQsIHRoZW4gOikKPgo+ID4gQmFzaWNhbGx5LCB0aGUgd2F5IHdl4oCZcmUg
+ZG9pbmcgdGhlIEdQVSBpcyB0aGUgYWRkIGEgdmVjdG9yIEZQVSBhbG9uZyB3aXRoCj4gPiBhY2Nv
+bXBhbnlpbmcgaW5zdHJ1Y3Rpb25zIGludG8gdGhlIGFjdHVhbCBDUFUuCj4KPiBieSBvdmVybG9h
+ZGluZyAibXVsdGktaXNzdWUiLiAgYSBoYXJkd2FyZSBmb3ItbG9vcCBhdCB0aGUgaW5zdHJ1Y3Rp
+b24KPiBleGVjdXRpb24gcGhhc2Ugd2lsbCBwdXNoIG11bHRpcGxlIHNlcXVlbnRpYWwgaW5zdHJ1
+Y3Rpb25zIGludG8gdGhlCj4gT29PIGVuZ2luZSBmcm9tIGEgKnNpbmdsZSogaW5zdHJ1Y3Rpb24u
+Cj4KPiA+IFdlIHdvdWxkIHRoZW4ganVzdCB3cml0ZSB0aGUgZHJpdmVycyB0aGF0IHRyYW5zbGF0
+ZSB2YXJpb3VzIHNoYWRlcnMgYW5kIGRyYXdpbmcKPiA+IGNvbW1hbmRzIGludG8gdmVjdG9yIGlu
+c3RydWN0aW9ucyB3aGljaCBjYW4gYmUgc2NoZWR1bGVkIG9uIHRoZSBzY29yZWJvYXJkLgo+Cj4g
+cmF0aGVyIHRoYW4gaGF2aW5nIGEgcmlkaWN1bG91cyAiUmVtb3RlIFByb2NlZHVyZSBDYWxsIiBz
+eXN0ZW0gdGhhdAo+IHBhY2tzIHVwIFZ1bGthbiAvIE9wZW5HTCBjb21tYW5kcyBpbnRvIGEgc2Vy
+aWFsIG1hcnNoYWxsZWQgZGF0YSBzdHJlYW0KPiBmcm9tIHRoZSBhcHBsaWNhdGlvbiwgY29tbXVu
+aWNhdGVkIHRvIHRoZSBrZXJuZWwsIHNoaXBwZWQgb3ZlciBQQ0llIG9yCj4gb3RoZXIgbWVtb3J5
+IGJ1cyBhcmNoaXRlY3R1cmUsIHVucGFja2VkIGF0IHRoZSBHUFUsIHR1cm5lZCBpbnRvCj4gaW5z
+dHJ1Y3Rpb25zLCBleGVjdXRlZCwgYW5kIHRoZSByZXN1bHRzIHNoaXBwZWQgKmJhY2sqIHRoZSBv
+dGhlciB3YXkKPgo+IHRvdGFsIGluc2FuaXR5Lgo+Cj4gPiBSZWFsaXN0aWNhbGx5LCBmb3Igb3Vy
+IGZpcnN0IHRhcGVvdXQod2XigJlyZSB1c2luZyBHb29nbGXigJlzIHNodXR0bGUgc2VydmljZSBv
+biAxODAwbm0gVFNNQyksCj4gPiB3ZeKAmWQgZG8gYSBDUFUgd2l0aCBubyB2ZWN0b3IgaW5zdHJ1
+Y3Rpb25zKGVmZmVjdGl2ZWx5IG5vIEdQVSkgZm9yIE9jdG9iZXIuCj4KPiBzdHJhaWdodCBQT1dF
+UjkgaG93ZXZlciBzdGlsbCBPb08KPgo+ID4gU2luY2Ugd2XigJlyZSBkb2luZyBGT1NTIGRvd24g
+dG8gdGhlIFZMU0kgZGVzaWduIGNlbGxzKHdl4oCZcmUgdXNpbmcgVGltZSBBbnNlbGzigJlzIE9w
+ZW5QREsgYXMgYW4gaW50ZXJtZWRpYXRlKSwgd2UgbmVlZCBzb21lYm9keSB0byBkbyBhIFBMTC4K
+Pgo+IGEgUHJvZmVzc29yIGZyb20gTElQNiBoYXMgb2ZmZXJlZCB0byBkbyB0aGF0LiAgaSBpbnRy
+b2R1Y2VkIHlvdSB0byBoaW0KPiBhbmQgVGltLCB5ZWhvd3NodWEuCj4KPiA+IFdpdGggYSBGT1NT
+IFBMTCBpbiBwbGFjZSwgd2UgY2FuIGdldCAzMDBNSFogb24gdGhlIGZpcnN0IHRhcGVvdXQuIFdl
+4oCZcmUgZG9pbmcgYSBzaW5nbGUgY29yZSBmb3IgdGhlCj4gPiBmaXJzdCB0YXBlIG91dCwgd2l0
+aCA2IHN0YWdlcyBJIHRoaW5r4oCmCj4KPiB0aGUgRElWIHBpcGVsaW5lIHdpbGwgYmUuLi4gOCAo
+bWF5YmUgbW9yZSksIE1VTCB3aWxsIGJlIDIsIEFERCAoZXRjLikgd2lsbCBiZSAxLgo+Cj4gKiBm
+ZXRjaDogMS4KPiAqIGRlY29kZTogMS4KPiAqIGlzc3VlIGFuZCByZWctcmVhZDogMSAobWluaW11
+bSkuCj4gKiBleGVjdXRlOiBiZXR3ZWVuIDEgYW5kIDggKG1heWJlIG1vcmUpCj4gKiB3cml0ZTog
+MSAobWluaW11bSkKPgo+IFBPV0VSOSBoYXMgdXBkYXRlIG1vZGUgZm9yIExEL1NUIHNvIHRob3Nl
+IHdvdWxkIHRha2UgMSBleHRyYS4gIHNvbWUKPiBBTFUgb3BlcmF0aW9ucyBuZWVkIHRvIHdyaXRl
+IHRvIHRoZSBDb25kaXRpb24gUmVnaXN0ZXIsIHRoYXQncyBhbm90aGVyCj4gZXh0cmEgMSB3cml0
+ZSAocG9zc2libHkpLgo+Cj4gZXRjLgo+Cj4gYmFzaWNhbGx5IHRoaXMgaXMgd2h5IHdlJ3JlIGRv
+aW5nIE9vTyBiZWNhdXNlIGNvb3JkaW5hdGluZyBhbGwgdGhhdCBpbgo+IGFuIGluLW9yZGVyIHN5
+c3RlbSB3b3VsZCBiZSBhYnNvbHV0ZSBoZWxsLgo+Cj4gPiBXaXRoIG5vIFBMTCwgSSB0aGluayB3
+ZeKAmXJlIGxpbWl0ZWQgdG8gMjUtNTBNSHouCj4KPiBTdGFmIG1lbnRpb25lZCB0aGF0IHRoZXJl
+J3Mgbm8gcmVhc29uIHdoeSB3ZSBzaG91bGQgbm90IGF0dGVtcHQgdG8KPiBkcml2ZSB0aGUgZXh0
+ZXJuYWwgQ0xLIGxpbmUgYXQgMTAwbWh6LiAgaXQgY291bGQgcG90ZW50aWFsbHkgcmFkaWF0ZQo+
+IEVNIGxpa2Ugc3RpbmssIGhvd2V2ZXIgaXQgbWlnaHQgd29yay4gIHdlJ2xsIHNlZSA6KQo+Cj4g
+PiBTb21lIHNpbXBsZSBtYXRoIGNvdWxkIGdpdmUgYSBETUlQUyBlc3RpbWF0ZS4KPgo+IGl0J3Mg
+ZG93biB1bHRpbWF0ZWx5IHRvIGhvdyB3aWRlIHRoZSByZWdpc3RlciBwYXRocyBhcmUsIGJldHdl
+ZW4gdGhlCj4gUmVnZmlsZSBhbmQgdGhlIEZ1bmN0aW9uIFVuaXRzLiAgaWYgd2UgaGF2ZSBtdWx0
+aXBsZSBSZWdpc3RlciBEYXRhCj4gQnVzZXMsIGFuZCBjYW4gaW1wbGVtZW50IHRoZSBtdWx0aS1p
+c3N1ZSBwYXJ0IGluIHRpbWUsIGl0J2xsIGJlIGNvZGVkCj4gaW4gYSBnZW5lcmFsLXB1cnBvc2Ug
+ZW5vdWdoIHdheSB0aGF0IHdlIGNvdWxkIGNvbnNpZGVyIDQtaXNzdWUuCj4gaG93ZXZlci4uLiB3
+aXRob3V0IHRoZSByZWdpc3RlciBkYXRhIHBhdGhzLCB0aGVyZSdzIG5vIHBvaW50Lgo+Cj4gaXQg
+Y29tZXMgZG93biB0byBob3cgbXVjaCB0aW1lIHdlIGhhdmUuCj4KPiBsLgo+Cj4gX19fX19fX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBsaWJyZS1yaXNjdi1kZXYg
+bWFpbGluZyBsaXN0Cj4gbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwo+IGh0
+dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1k
+ZXYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJl
+LXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2
+Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUt
+cmlzY3YtZGV2Cg==
+