From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Julian Graham Newsgroups: gmane.lisp.guile.devel Subject: Re: r6rs libraries, round three Date: Sun, 1 Nov 2009 15:26:49 -0400 Message-ID: <2bc5f8210911011126j66abb05ck57e0610903932146@mail.gmail.com> References: <2bc5f8210909261310q7a32ff83x8ebceb44a78d55c5@mail.gmail.com> <2bc5f8210909302132w258d3f09tf1259bdfd6b1ca9e@mail.gmail.com> <2bc5f8210910241210t11ee37a9o60f3991eb35eab55@mail.gmail.com> <2bc5f8210910252053o31424493re2648f133bf7691f@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e6db2d7b13eb730477543e06 X-Trace: ger.gmane.org 1257103637 20543 80.91.229.12 (1 Nov 2009 19:27:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 1 Nov 2009 19:27:17 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Nov 01 20:27:09 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N4g4v-0002jD-92 for guile-devel@m.gmane.org; Sun, 01 Nov 2009 20:27:09 +0100 Original-Received: from localhost ([127.0.0.1]:55792 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N4g4u-0004iJ-7J for guile-devel@m.gmane.org; Sun, 01 Nov 2009 14:27:04 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N4g4o-0004gx-TS for guile-devel@gnu.org; Sun, 01 Nov 2009 14:26:58 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N4g4j-0004fO-31 for guile-devel@gnu.org; Sun, 01 Nov 2009 14:26:57 -0500 Original-Received: from [199.232.76.173] (port=36770 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N4g4i-0004fD-UU for guile-devel@gnu.org; Sun, 01 Nov 2009 14:26:52 -0500 Original-Received: from mail-ew0-f211.google.com ([209.85.219.211]:43682) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N4g4h-0002La-B4 for guile-devel@gnu.org; Sun, 01 Nov 2009 14:26:52 -0500 Original-Received: by ewy7 with SMTP id 7so2158476ewy.31 for ; Sun, 01 Nov 2009 11:26:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=PeUto0IKZjz21vUPFGDYCoW3E2Ram7KZTiYxjYjey7Q=; b=CEVVuifR/oCF5mZbXr5iGZV4FEyTaTE4S3Ne94J3OCo7gd+ZdkWZ3QH9uA4devaHGJ Bt7xX7kbWL6wQM1Pc7z7y4lV3Gx37AsTs3VwFu9CO1/Kh/P/5CcThpzIP32vK0Tr83yT Yv54yWHIekmpwglyH7CjwzfeVCuYI/oTigH8s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=lwPcqvP/l11a4LVED0KkyRFc6A/5Zn8oZNg3bX25Iq85i08fnXMseiZoTLbKCxIzM5 TqN+ejUqEBgh22oQY2uE+lng0yopjunVs8xdA0j/Uh/1wrkrbHkowwXeKDh5yKtkIGzu euGapaIvNknO8MsmDQKfqWeJ+hWI5ExeiCqk0= Original-Received: by 10.216.87.5 with SMTP id x5mr3247366wee.75.1257103609293; Sun, 01 Nov 2009 11:26:49 -0800 (PST) In-Reply-To: <2bc5f8210910252053o31424493re2648f133bf7691f@mail.gmail.com> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:9624 Archived-At: --0016e6db2d7b13eb730477543e06 Content-Type: text/plain; charset=ISO-8859-1 Hi all, Find attached a working prototype of R6RS library support, in the form of a Guile module called `(r6rs-libraries)'. The module depends on the two attached patches, which add, respectively, support for the `#:version' keyword [1] and support for renaming bindings on export [2]. It works by transforming the R6RS `library' form into Guile's native `define-module' form. Because it's implemented as a macro, it's only required at expansion time -- the resulting compiled module has no dependencies on anything besides other Guile modules. Andreas Rottmann's quasisyntax implementation is included as part of `(r6rs-libraries)' since it's not yet in master and I was finding it difficult to model some things without `unsyntax-splicing'. Also attached are a minimal set of R6RS libraries (as `r6rs-libs.tar.gz') needed to bootstrap the examples from chapter 7 of the R6RS spec (attached as `r6rs-examples.tar.gz'). If you place the r6rs-libraries.scm and the contents of these tarballs somwhere in your `%load-path', you can run the "balloon party" example as follows: scheme@(guile-user)> (use-modules (r6rs-libraries)) scheme@(guile-user)> (use-modules (main)) Boom 108 Boom 24 ...and the "let-div" example as follows: scheme@(guile-user)> (use-modules (r6rs-libraries)) scheme@(guile-user)> (use-modules (let-div)) scheme@(guile-user)> (let-div 5 2 (q r) (display "q: ") (display q) (display " r: ") (display r) (newline)) q: 2 r: 1 There are certainly some aspects of this implementation that require review -- in particular, I've added infrastructure to distinguish between imports targeted for different "phases" (i.e., `run', `expand' ... (meta n)), but at the moment, all imports are currently included via #:use-module, which means they're visible at every point from expansion to runtime. R6RS seems to explicitly allow this, though, and, quite frankly, it's much easier to implement. As I said earlier, I'm happy to provide full documentation for all of this code if the consensus is that I'm on the right track. Regards, Julian [1] - http://www.mail-archive.com/guile-devel@gnu.org/msg04506.html [2] - http://www.mail-archive.com/guile-devel@gnu.org/msg04660.html --0016e6db2d7b13eb730477543e06 Content-Type: text/x-diff; charset=US-ASCII; name="0001-Complete-support-for-version-information-in-Guile-s.patch" Content-Disposition: attachment; filename="0001-Complete-support-for-version-information-in-Guile-s.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1i635nm5 RnJvbSBhZGNiYzc3Y2E0Y2E2OGYyNmRhMDVhMjA0MTU0ZDgyNmE4MzJhN2I3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpYW4gR3JhaGFtIDxqdWxpYW4uZ3JhaGFtQGF5YS55YWxl LmVkdT4KRGF0ZTogU3VuLCAyNSBPY3QgMjAwOSAxMzoxNzo0MCAtMDQwMApTdWJqZWN0OiBbUEFU Q0hdIENvbXBsZXRlIHN1cHBvcnQgZm9yIHZlcnNpb24gaW5mb3JtYXRpb24gaW4gR3VpbGUncyBg bW9kdWxlJyBmb3JtLgoKKiBtb2R1bGUvaWNlLTkvYm9vdC05LnNjbSAodHJ5LWxvYWQtbW9kdWxl LCB0cnktbW9kdWxlLWF1dG9sb2FkKTogQ2hlY2sgZm9yIHZlcnNpb24gYXJndW1lbnQgYW5kIHVz ZSBgZmluZC12ZXJzaW9uZWQtbW9kdWxlJyBpZiBwcmVzZW50LgoqIG1vZHVsZS9pY2UtOS9ib290 LTkuc2NtIChmaW5kLXZlcnNpb25lZC1tb2R1bGUsIHZlcnNpb24tbWF0Y2hlcz8sIG1vZHVsZS12 ZXJzaW9uLCBzZXQtbW9kdWxlLXZlcnNpb24hLCB2ZXJzaW9uLW1hdGNoZXM/KTogTmV3IGZ1bmN0 aW9ucy4KKiBtb2R1bGUvaWNlLTkvYm9vdC05LnNjbSAobW9kdWxlLXR5cGUsIG1ha2UtbW9kdWxl LCByZXNvbHZlLW1vZHVsZSwgdHJ5LWxvYWQtbW9kdWxlLCBwcm9jZXNzLWRlZmluZS1tb2R1bGUs IG1ha2UtYXV0b2xvYWQtaW50ZXJmYWNlLCBjb21waWxlLWludGVyZmFjZS1zcGVjKTogQWRkIGF3 YXJlbmVzcyBhbmQgY2hlY2tpbmcgb2YgdmVyc2lvbiBpbmZvcm1hdGlvbi4KLS0tCiBtb2R1bGUv aWNlLTkvYm9vdC05LnNjbSB8ICAxNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0KIDEgZmlsZXMgY2hhbmdlZCwgMTMzIGluc2VydGlvbnMoKyksIDE2IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21vZHVsZS9pY2UtOS9ib290LTkuc2NtIGIvbW9kdWxl L2ljZS05L2Jvb3QtOS5zY20KaW5kZXggNTg1MjQ3Ny4uM2Q5MmZhZCAxMDA2NDQKLS0tIGEvbW9k dWxlL2ljZS05L2Jvb3QtOS5zY20KKysrIGIvbW9kdWxlL2ljZS05L2Jvb3QtOS5zY20KQEAgLTEz MzMsNyArMTMzMyw3IEBACiAgIChtYWtlLXJlY29yZC10eXBlICdtb2R1bGUKIAkJICAgICcob2Jh cnJheSB1c2VzIGJpbmRlciBldmFsLWNsb3N1cmUgdHJhbnNmb3JtZXIgbmFtZSBraW5kCiAJCSAg ICAgIGR1cGxpY2F0ZXMtaGFuZGxlcnMgaW1wb3J0LW9iYXJyYXkKLQkJICAgICAgb2JzZXJ2ZXJz IHdlYWstb2JzZXJ2ZXJzKQorCQkgICAgICBvYnNlcnZlcnMgd2Vhay1vYnNlcnZlcnMgdmVyc2lv bikKIAkJICAgICVwcmludC1tb2R1bGUpKQogCiA7OyBtYWtlLW1vZHVsZSAmb3B0IHNpemUgdXNl cyBiaW5kZXIKQEAgLTEzNzQsNyArMTM3NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjZiAjZiAjZgogCQkJCQkgIChtYWtlLWhhc2gtdGFibGUgJWRlZmF1 bHQtaW1wb3J0LXNpemUpCiAJCQkJCSAgJygpCi0JCQkJCSAgKG1ha2Utd2Vhay1rZXktaGFzaC10 YWJsZSAzMSkpKSkKKwkJCQkJICAobWFrZS13ZWFrLWtleS1oYXNoLXRhYmxlIDMxKSAjZikpKQog CiAJICA7OyBXZSBjYW4ndCBwYXNzIHRoaXMgYXMgYW4gYXJndW1lbnQgdG8gbW9kdWxlLWNvbnN0 cnVjdG9yLAogCSAgOzsgYmVjYXVzZSB3ZSBuZWVkIGl0IHRvIGNsb3NlIG92ZXIgYSBwb2ludGVy IHRvIHRoZSBtb2R1bGUKQEAgLTEzOTYsNiArMTM5Niw4IEBACiAKIChkZWZpbmUgbW9kdWxlLXRy YW5zZm9ybWVyIChyZWNvcmQtYWNjZXNzb3IgbW9kdWxlLXR5cGUgJ3RyYW5zZm9ybWVyKSkKIChk ZWZpbmUgc2V0LW1vZHVsZS10cmFuc2Zvcm1lciEgKHJlY29yZC1tb2RpZmllciBtb2R1bGUtdHlw ZSAndHJhbnNmb3JtZXIpKQorKGRlZmluZSBtb2R1bGUtdmVyc2lvbiAocmVjb3JkLWFjY2Vzc29y IG1vZHVsZS10eXBlICd2ZXJzaW9uKSkKKyhkZWZpbmUgc2V0LW1vZHVsZS12ZXJzaW9uISAocmVj b3JkLW1vZGlmaWVyIG1vZHVsZS10eXBlICd2ZXJzaW9uKSkKIDs7IChkZWZpbmUgbW9kdWxlLW5h bWUgKHJlY29yZC1hY2Nlc3NvciBtb2R1bGUtdHlwZSAnbmFtZSkpIHdhaXQgdW50aWwgbW9kcyBh cmUgYm9vdGVkCiAoZGVmaW5lIHNldC1tb2R1bGUtbmFtZSEgKHJlY29yZC1tb2RpZmllciBtb2R1 bGUtdHlwZSAnbmFtZSkpCiAoZGVmaW5lIG1vZHVsZS1raW5kIChyZWNvcmQtYWNjZXNzb3IgbW9k dWxlLXR5cGUgJ2tpbmQpKQpAQCAtMjAwMSw2ICsyMDAzLDcgQEAKIAkgICAgKGVxPyBpbnRlcmZh Y2UgbW9kdWxlKSkKIAkobGV0ICgoaW50ZXJmYWNlIChtYWtlLW1vZHVsZSAzMSkpKQogCSAgKHNl dC1tb2R1bGUtbmFtZSEgaW50ZXJmYWNlIChtb2R1bGUtbmFtZSBtb2R1bGUpKQorCSAgKHNldC1t b2R1bGUtdmVyc2lvbiEgaW50ZXJmYWNlIChtb2R1bGUtdmVyc2lvbiBtb2R1bGUpKQogCSAgKHNl dC1tb2R1bGUta2luZCEgaW50ZXJmYWNlICdpbnRlcmZhY2UpCiAJICAoc2V0LW1vZHVsZS1wdWJs aWMtaW50ZXJmYWNlISBtb2R1bGUgaW50ZXJmYWNlKSkpKQogICAoaWYgKGFuZCAobm90IChtZW1x IHRoZS1zY20tbW9kdWxlIChtb2R1bGUtdXNlcyBtb2R1bGUpKSkKQEAgLTIwMDgsNiArMjAxMSwx MDEgQEAKICAgICAgIDs7IEltcG9ydCB0aGUgZGVmYXVsdCBzZXQgb2YgYmluZGluZ3MgKGZyb20g dGhlIFNDTSBtb2R1bGUpIGluIE1PRFVMRS4KICAgICAgIChtb2R1bGUtdXNlISBtb2R1bGUgdGhl LXNjbS1tb2R1bGUpKSkKIAorKGRlZmluZSAodmVyc2lvbi1tYXRjaGVzPyB2ZXJzaW9uLXJlZiB0 YXJnZXQpCisgIChkZWZpbmUgKGFueSBwcmVjIGxzdCkKKyAgICAoYW5kIChub3QgKG51bGw/IGxz dCkpIChvciAocHJlYyAoY2FyIGxzdCkpIChhbnkgcHJlYyAoY2RyIGxzdCkpKSkpCisgIChkZWZp bmUgKGV2ZXJ5IHByZWMgbHN0KSAKKyAgICAob3IgKG51bGw/IGxzdCkgKGFuZCAocHJlYyAoY2Fy IGxzdCkpIChldmVyeSBwcmVjIChjZHIgbHN0KSkpKSkKKyAgKGRlZmluZSAoc3ViLXZlcnNpb25z LW1hdGNoPyB2LXJlZnMgdCkKKyAgICAoZGVmaW5lIChzdWItdmVyc2lvbi1tYXRjaGVzPyB2LXJl ZiB0KQorICAgICAgKGRlZmluZSAoY3VycmllZC1zdWItdmVyc2lvbi1tYXRjaGVzPyB2KSAoc3Vi LXZlcnNpb24tbWF0Y2hlcz8gdiB0KSkKKyAgICAgIChjb25kICgobnVtYmVyPyB2LXJlZikgKGVx dj8gdi1yZWYgdCkpCisJICAgICgobGlzdD8gdi1yZWYpCisJICAgICAobGV0ICgoY3YgKGNhciB2 LXJlZikpKQorCSAgICAgICAoY29uZCAoKGVxPyBjdiAnPj0pICg+PSB0IChjYWRyIHYtcmVmKSkp CisJCSAgICAgKChlcT8gY3YgJzw9KSAoPD0gdCAoY2FkciB2LXJlZikpKQorCQkgICAgICgoZXE/ IGN2ICdhbmQpIAorCQkgICAgICAoZXZlcnkgY3VycmllZC1zdWItdmVyc2lvbi1tYXRjaGVzPyAo Y2RyIHYtcmVmKSkpCisJCSAgICAgKChlcT8gY3YgJ29yKQorCQkgICAgICAoYW55IGN1cnJpZWQt c3ViLXZlcnNpb24tbWF0Y2hlcz8gKGNkciB2LXJlZikpKQorCQkgICAgICgoZXE/IGN2ICdub3Qp IChub3QgKHN1Yi12ZXJzaW9uLW1hdGNoZXM/IChjYWRyIHYtcmVmKSB0KSkpCisJCSAgICAgKGVs c2UgKGVycm9yICJJbmNvbXBhdGlibGUgc3ViLXZlcnNpb24gcmVmZXJlbmNlIiBjdikpKSkpCisJ ICAgIChlbHNlIChlcnJvciAiSW5jb21wYXRpYmxlIHN1Yi12ZXJzaW9uIHJlZmVyZW5jZSIgdi1y ZWYpKSkpCisgICAgKG9yIChudWxsPyB2LXJlZnMpCisJKGFuZCAobm90IChudWxsPyB0KSkKKwkg ICAgIChzdWItdmVyc2lvbi1tYXRjaGVzPyAoY2FyIHYtcmVmcykgKGNhciB0KSkKKwkgICAgIChz dWItdmVyc2lvbnMtbWF0Y2g/IChjZHIgdi1yZWZzKSAoY2RyIHQpKSkpKQorICAoZGVmaW5lIChj dXJyaWVkLXZlcnNpb24tbWF0Y2hlcz8gdikgKHZlcnNpb24tbWF0Y2hlcz8gdiB0YXJnZXQpKQor ICAob3IgKG51bGw/IHZlcnNpb24tcmVmKQorICAgICAgKGxldCAoKGN2IChjYXIgdmVyc2lvbi1y ZWYpKSkKKwkoY29uZCAoKGVxPyBjdiAnYW5kKSAoZXZlcnkgY3VycmllZC12ZXJzaW9uLW1hdGNo ZXM/IChjZHIgdmVyc2lvbi1yZWYpKSkKKwkgICAgICAoKGVxPyBjdiAnb3IpIChhbnkgY3Vycmll ZC12ZXJzaW9uLW1hdGNoZXM/IChjZHIgdmVyc2lvbi1yZWYpKSkKKwkgICAgICAoKGVxPyBjdiAn bm90KSAobm90IHZlcnNpb24tbWF0Y2hlcz8gKGNhZHIgdmVyc2lvbi1yZWYpIHRhcmdldCkpCisJ ICAgICAgKGVsc2UgKHN1Yi12ZXJzaW9ucy1tYXRjaD8gdmVyc2lvbi1yZWYgdGFyZ2V0KSkpKSkp CisKKyhkZWZpbmUgKGZpbmQtdmVyc2lvbmVkLW1vZHVsZSBkaXItaGludCBuYW1lIHZlcnNpb24t cmVmIHJvb3RzKQorICAoZGVmaW5lIChzdWJkaXItcGFpci1sZXNzIHBhaXIxIHBhaXIyKQorICAg IChkZWZpbmUgKG51bWxpc3QtbGVzcyBsc3QxIGxzdDIpCisgICAgICAob3IgKG51bGw/IGxzdDIp IAorCSAgKGFuZCAobm90IChudWxsPyBsc3QxKSkKKwkgICAgICAgKGNvbmQgKCg+IChjYXIgbHN0 MSkgKGNhciBsc3QyKSkgI3QpCisJCSAgICAgKCg8IChjYXIgbHN0MSkgKGNhciBsc3QyKSkgI2Yp CisJCSAgICAgKGVsc2UgKG51bWxpc3QtbGVzcyAoY2RyIGxzdDEpIChjZHIgbHN0MikpKSkpKSkK KyAgICAobnVtbGlzdC1sZXNzIChjYXIgcGFpcjEpIChjYXIgcGFpcjIpKSkKKyAgCisgIChkZWZp bmUgKG1hdGNoLXZlcnNpb24tYW5kLWZpbGUgcGFpcikKKyAgICAoYW5kICh2ZXJzaW9uLW1hdGNo ZXM/IHZlcnNpb24tcmVmIChjYXIgcGFpcikpCisJIChsZXQgKChmaWxlbmFtZXMgCQkJICAgICAK KwkJKGZpbHRlciAobGFtYmRhIChmaWxlKQorCQkJICAobGV0ICgocyAoZmFsc2UtaWYtZXhjZXB0 aW9uIChzdGF0IGZpbGUpKSkpCisJCQkgICAgKGFuZCBzIChlcT8gKHN0YXQ6dHlwZSBzKSAncmVn dWxhcikpKSkKKwkJCShtYXAgKGxhbWJkYSAoZXh0KQorCQkJICAgICAgIChzdHJpbmctYXBwZW5k IChjZHIgcGFpcikgIi8iIG5hbWUgZXh0KSkKKwkJCSAgICAgJWxvYWQtZXh0ZW5zaW9ucykpKSkK KwkgICAoYW5kIChub3QgKG51bGw/IGZpbGVuYW1lcykpCisJCShjb25zIChjYXIgcGFpcikgKGNh ciBmaWxlbmFtZXMpKSkpKSkKKyAgICAKKyAgKGRlZmluZSAobWF0Y2gtdmVyc2lvbi1yZWN1cnNp dmUgcm9vdC1wYWlycyBsZWFmLXBhaXJzKQorICAgIChkZWZpbmUgKGZpbHRlci1zdWJkaXJzIHJv b3QtcGFpcnMgcmV0KQorICAgICAgKGRlZmluZSAoZmlsdGVyLXN1YmRpciByb290LXBhaXIgZHN0 cm0gc3ViZGlyLXBhaXJzKQorCShsZXQgKChlbnRyeSAocmVhZGRpciBkc3RybSkpKQorCSAgKGlm IChlb2Ytb2JqZWN0PyBlbnRyeSkKKwkgICAgICBzdWJkaXItcGFpcnMKKwkgICAgICAobGV0KiAo KHN1YmRpciAoc3RyaW5nLWFwcGVuZCAoY2RyIHJvb3QtcGFpcikgIi8iIGVudHJ5KSkKKwkJICAg ICAobnVtIChzdHJpbmctPm51bWJlciBlbnRyeSkpCisJCSAgICAgKG51bSAoYW5kIG51bSAoYXBw ZW5kIChjYXIgcm9vdC1wYWlyKSAobGlzdCBudW0pKSkpKQorCQkoaWYgKGFuZCBudW0gKGVxPyAo c3RhdDp0eXBlIChzdGF0IHN1YmRpcikpICdkaXJlY3RvcnkpKQorCQkgICAgKGZpbHRlci1zdWJk aXIgCisJCSAgICAgcm9vdC1wYWlyIGRzdHJtIChjb25zIChjb25zIG51bSBzdWJkaXIpIHN1YmRp ci1wYWlycykpCisJCSAgICAoZmlsdGVyLXN1YmRpciByb290LXBhaXIgZHN0cm0gc3ViZGlyLXBh aXJzKSkpKSkpCisgICAgICAKKyAgICAgIChvciAoYW5kIChudWxsPyByb290LXBhaXJzKSByZXQp CisJICAobGV0KiAoKHJwIChjYXIgcm9vdC1wYWlycykpCisJCSAoZHN0cm0gKGZhbHNlLWlmLWV4 Y2VwdGlvbiAob3BlbmRpciAoY2RyIHJwKSkpKSkKKwkgICAgKGlmIGRzdHJtCisJCShsZXQgKChz dWJkaXItcGFpcnMgKGZpbHRlci1zdWJkaXIgcnAgZHN0cm0gJygpKSkpCisJCSAgKGNsb3NlZGly IGRzdHJtKQorCQkgIChmaWx0ZXItc3ViZGlycyAoY2RyIHJvb3QtcGFpcnMpIAorCQkJCSAgKG9y IChhbmQgKG51bGw/IHN1YmRpci1wYWlycykgcmV0KQorCQkJCSAgICAgIChhcHBlbmQgcmV0IHN1 YmRpci1wYWlycykpKSkKKwkJKGZpbHRlci1zdWJkaXJzIChjZHIgcm9vdC1wYWlycykgcmV0KSkp KSkKKyAgICAKKyAgICAob3IgKGFuZCAobnVsbD8gcm9vdC1wYWlycykgbGVhZi1wYWlycykKKwko bGV0ICgobWF0Y2hpbmctc3ViZGlyLXBhaXJzIChmaWx0ZXItc3ViZGlycyByb290LXBhaXJzICco KSkpKQorCSAgKG1hdGNoLXZlcnNpb24tcmVjdXJzaXZlCisJICAgbWF0Y2hpbmctc3ViZGlyLXBh aXJzCisJICAgKGFwcGVuZCBsZWFmLXBhaXJzIChmaWx0ZXIgcGFpcj8gKG1hcCBtYXRjaC12ZXJz aW9uLWFuZC1maWxlIAorCQkJCQkJIG1hdGNoaW5nLXN1YmRpci1wYWlycykpKSkpKSkKKyAgCisg IChkZWZpbmUgKG1ha2Utcm9vdC1wYWlyIHJvb3QpIChjb25zICcoKSAoc3RyaW5nLWFwcGVuZCBy b290ICIvIiBkaXItaGludCkpKQorICAobGV0KiAoKHJvb3QtcGFpcnMgKG1hcCBtYWtlLXJvb3Qt cGFpciByb290cykpCisJIChtYXRjaGVzIChpZiAobnVsbD8gdmVyc2lvbi1yZWYpIAorCQkgICAg ICAoZmlsdGVyIHBhaXI/IChtYXAgbWF0Y2gtdmVyc2lvbi1hbmQtZmlsZSByb290LXBhaXJzKSkK KwkJICAgICAgJygpKSkKKwkgKG1hdGNoZXMgKGFwcGVuZCBtYXRjaGVzIChtYXRjaC12ZXJzaW9u LXJlY3Vyc2l2ZSByb290LXBhaXJzICcoKSkpKSkKKyAgICAoYW5kIChudWxsPyBtYXRjaGVzKSAo ZXJyb3IgIk5vIG1hdGNoaW5nIG1vZHVsZXMgZm91bmQuIikpCisgICAgKGNkYXIgKHNvcnQgbWF0 Y2hlcyBzdWJkaXItcGFpci1sZXNzKSkpKQorCiAoZGVmaW5lIChtYWtlLWZyZXNoLXVzZXItbW9k dWxlKQogICAobGV0ICgobSAobWFrZS1tb2R1bGUpKSkKICAgICAoYmVhdXRpZnktdXNlci1tb2R1 bGUhIG0pCkBAIC0yMDE3LDIwICsyMTE1LDI1IEBACiA7OwogKGRlZmluZSByZXNvbHZlLW1vZHVs ZQogICAobGV0ICgodGhlLXJvb3QtbW9kdWxlIHRoZS1yb290LW1vZHVsZSkpCi0gICAgKGxhbWJk YSAobmFtZSAuIG1heWJlLWF1dG9sb2FkKQorICAgIChsYW1iZGEgKG5hbWUgLiBhcmdzKQogICAg ICAgKGlmIChlcXVhbD8gbmFtZSAnKGd1aWxlKSkKICAgICAgICAgICB0aGUtcm9vdC1tb2R1bGUK ICAgICAgICAgICAobGV0ICgoZnVsbC1uYW1lIChhcHBlbmQgJyglYXBwIG1vZHVsZXMpIG5hbWUp KSkKLSAgICAgICAgICAgIChsZXQgKChhbHJlYWR5IChuZXN0ZWQtcmVmIHRoZS1yb290LW1vZHVs ZSBmdWxsLW5hbWUpKQotICAgICAgICAgICAgICAgICAgKGF1dG9sb2FkIChvciAobnVsbD8gbWF5 YmUtYXV0b2xvYWQpIChjYXIgbWF5YmUtYXV0b2xvYWQpKSkpCisgICAgICAgICAgICAobGV0KiAo KGFscmVhZHkgKG5lc3RlZC1yZWYgdGhlLXJvb3QtbW9kdWxlIGZ1bGwtbmFtZSkpCisJCSAgIChu dW1hcmdzIChsZW5ndGggYXJncykpCisJCSAgIChhdXRvbG9hZCAob3IgKD0gbnVtYXJncyAwKSAo Y2FyIGFyZ3MpKSkKKwkJICAgKHZlcnNpb24gKGFuZCAoPiBudW1hcmdzIDEpIChjYWRyIGFyZ3Mp KSkpCiAgICAgICAgICAgICAgIChjb25kCiAgICAgICAgICAgICAgICAoKGFuZCBhbHJlYWR5ICht b2R1bGU/IGFscmVhZHkpCiAgICAgICAgICAgICAgICAgICAgICAob3IgKG5vdCBhdXRvbG9hZCkg KG1vZHVsZS1wdWJsaWMtaW50ZXJmYWNlIGFscmVhZHkpKSkKICAgICAgICAgICAgICAgICA7OyBB IGhpdCwgYSBwYWxwYWJsZSBoaXQuCi0gICAgICAgICAgICAgICAgYWxyZWFkeSkKLSAgICAgICAg ICAgICAgIChhdXRvbG9hZAorCQkoYW5kIHZlcnNpb24gCisJCSAgICAgKG5vdCAodmVyc2lvbi1t YXRjaGVzPyB2ZXJzaW9uIChtb2R1bGUtdmVyc2lvbiBhbHJlYWR5KSkpCisJCSAgICAgKGVycm9y ICJpbmNvbXBhdGlibGUgbW9kdWxlIHZlcnNpb24gYWxyZWFkeSBsb2FkZWQiIG5hbWUpKQorCQlh bHJlYWR5KQorCSAgICAgICAoYXV0b2xvYWQKICAgICAgICAgICAgICAgICA7OyBUcnkgdG8gYXV0 b2xvYWQgdGhlIG1vZHVsZSwgYW5kIHJlY3Vyc2UuCi0gICAgICAgICAgICAgICAgKHRyeS1sb2Fk LW1vZHVsZSBuYW1lKQorICAgICAgICAgICAgICAgICh0cnktbG9hZC1tb2R1bGUgbmFtZSB2ZXJz aW9uKQogICAgICAgICAgICAgICAgIChyZXNvbHZlLW1vZHVsZSBuYW1lICNmKSkKICAgICAgICAg ICAgICAgIChlbHNlCiAgICAgICAgICAgICAgICAgOzsgQSBtb2R1bGUgaXMgbm90IGJvdW5kIChi dXQgbWF5YmUgc29tZXRoaW5nIGVsc2UgaXMpLApAQCAtMjA3Niw4ICsyMTc5LDggQEAKIAogOzsg KGRlZmluZS1zcGVjaWFsLXZhbHVlICcoJWFwcCBtb2R1bGVzIG5ldy13cykgKGxhbWJkYSAoKSAo bWFrZS1zY20tbW9kdWxlKSkpCiAKLShkZWZpbmUgKHRyeS1sb2FkLW1vZHVsZSBuYW1lKQotICAo dHJ5LW1vZHVsZS1hdXRvbG9hZCBuYW1lKSkKKyhkZWZpbmUgKHRyeS1sb2FkLW1vZHVsZSBuYW1l IHZlcnNpb24pCisgICh0cnktbW9kdWxlLWF1dG9sb2FkIG5hbWUgdmVyc2lvbikpCiAKIChkZWZp bmUgKHB1cmlmeS1tb2R1bGUhIG1vZHVsZSkKICAgIlJlbW92ZXMgYmluZGluZ3MgaW4gTU9EVUxF IHdoaWNoIGFyZSBpbmhlcml0ZWQgZnJvbSB0aGUgKGd1aWxlKSBtb2R1bGUuIgpAQCAtMjEzNyw3 ICsyMjQwLDggQEAKIAkJICAgICAgKGxldCAoKHByZWZpeCAoZ2V0LWtleXdvcmQtYXJnIGFyZ3Mg IzpwcmVmaXggI2YpKSkKIAkJCShhbmQgcHJlZml4IChzeW1ib2wtcHJlZml4LXByb2MgcHJlZml4 KSkpCiAJCSAgICAgIGlkZW50aXR5KSkKLSAgICAgICAgIChtb2R1bGUgKHJlc29sdmUtbW9kdWxl IG5hbWUpKQorCSAodmVyc2lvbiAoZ2V0LWtleXdvcmQtYXJnIGFyZ3MgIzp2ZXJzaW9uICNmKSkK KyAgICAgICAgIChtb2R1bGUgKHJlc29sdmUtbW9kdWxlIG5hbWUgI3QgdmVyc2lvbikpCiAgICAg ICAgICAocHVibGljLWkgKGFuZCBtb2R1bGUgKG1vZHVsZS1wdWJsaWMtaW50ZXJmYWNlIG1vZHVs ZSkpKSkKICAgICAoYW5kIChvciAobm90IG1vZHVsZSkgKG5vdCBwdWJsaWMtaSkpCiAgICAgICAg ICAoZXJyb3IgIm5vIGNvZGUgZm9yIG1vZHVsZSIgbmFtZSkpCkBAIC0yMjU4LDYgKzIzNjIsMTQg QEAKICAgICAgICAgICAgICAocHVyaWZ5LW1vZHVsZSEgbW9kdWxlKQogICAgICAgICAgICAgIChs b29wIChjZHIga3dzKSByZXZlcnNlZC1pbnRlcmZhY2VzIGV4cG9ydHMgcmUtZXhwb3J0cwogICAg ICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50cyBhdXRvbG9hZHMpKQorCSAgICAoKCM6dmVyc2lv bikKKyAgICAgICAgICAgICAob3IgKHBhaXI/IChjZHIga3dzKSkKKyAgICAgICAgICAgICAgICAg KHVucmVjb2duaXplZCBrd3MpKQorCSAgICAgKGxldCAoKHZlcnNpb24gKGNhZHIga3dzKSkpCisJ ICAgICAgIChzZXQtbW9kdWxlLXZlcnNpb24hIG1vZHVsZSB2ZXJzaW9uKQorCSAgICAgICAoc2V0 LW1vZHVsZS12ZXJzaW9uISAobW9kdWxlLXB1YmxpYy1pbnRlcmZhY2UgbW9kdWxlKSB2ZXJzaW9u KSkKKwkgICAgIChsb29wIChjZGRyIGt3cykgcmV2ZXJzZWQtaW50ZXJmYWNlcyBleHBvcnRzIHJl LWV4cG9ydHMKKwkJICAgcmVwbGFjZW1lbnRzIGF1dG9sb2FkcykpCiAgICAgICAgICAgICAoKCM6 ZHVwbGljYXRlcykKICAgICAgICAgICAgICAoaWYgKG5vdCAocGFpcj8gKGNkciBrd3MpKSkKICAg ICAgICAgICAgICAgICAgKHVucmVjb2duaXplZCBrd3MpKQpAQCAtMjMyMSw3ICsyNDMzLDcgQEAK IAkJCSAgKHNldC1jYXIhIGF1dG9sb2FkIGkpKSkKIAkJICAgIChtb2R1bGUtbG9jYWwtdmFyaWFi bGUgaSBzeW0pKSkpKSkKICAgICAobW9kdWxlLWNvbnN0cnVjdG9yIChtYWtlLWhhc2gtdGFibGUg MCkgJygpIGIgI2YgI2YgbmFtZSAnYXV0b2xvYWQgI2YKLSAgICAgICAgICAgICAgICAgICAgICAg IChtYWtlLWhhc2gtdGFibGUgMCkgJygpIChtYWtlLXdlYWstdmFsdWUtaGFzaC10YWJsZSAzMSkp KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLWhhc2gtdGFibGUgMCkgJygpIChtYWtl LXdlYWstdmFsdWUtaGFzaC10YWJsZSAzMSkgI2YpKSkKIAogKGRlZmluZSAobW9kdWxlLWF1dG9s b2FkISBtb2R1bGUgLiBhcmdzKQogICAiSGF2ZSBAdmFye21vZHVsZX0gYXV0b21hdGljYWxseSBs b2FkIHRoZSBtb2R1bGUgbmFtZWQgQHZhcntuYW1lfSB3aGVuIG9uZQpAQCAtMjM1MSw5ICsyNDYz LDEwIEBAIG1vZHVsZSAnKGljZS05IHEpICcobWFrZS1xIHEtbGVuZ3RoKSl9LiIKIDs7IFRoaXMg ZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gIm1vZHVsZXMuYyIuICBJZiB5b3UgY2hhbmdlIGl0LCBi ZQogOzsgc3VyZSB0byB1cGRhdGUgIm1vZHVsZXMuYyIgYXMgd2VsbC4KIAotKGRlZmluZSAodHJ5 LW1vZHVsZS1hdXRvbG9hZCBtb2R1bGUtbmFtZSkKKyhkZWZpbmUgKHRyeS1tb2R1bGUtYXV0b2xv YWQgbW9kdWxlLW5hbWUgLiBhcmdzKQogICAobGV0KiAoKHJldmVyc2UtbmFtZSAocmV2ZXJzZSBt b2R1bGUtbmFtZSkpCiAJIChuYW1lIChzeW1ib2wtPnN0cmluZyAoY2FyIHJldmVyc2UtbmFtZSkp KQorCSAodmVyc2lvbiAoYW5kIChub3QgKG51bGw/IGFyZ3MpKSAoY2FyIGFyZ3MpKSkKIAkgKGRp ci1oaW50LW1vZHVsZS1uYW1lIChyZXZlcnNlIChjZHIgcmV2ZXJzZS1uYW1lKSkpCiAJIChkaXIt aGludCAoYXBwbHkgc3RyaW5nLWFwcGVuZAogCQkJICAobWFwIChsYW1iZGEgKGVsdCkKQEAgLTIz NjksOCArMjQ4MiwxMSBAQCBtb2R1bGUgJyhpY2UtOSBxKSAnKG1ha2UtcSBxLWxlbmd0aCkpfS4i CiAgICAgICAgICAgICAgICAgKGxhbWJkYSAoKQogICAgICAgICAgICAgICAgICAgKHNhdmUtbW9k dWxlLWV4Y3Vyc2lvbgogICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKCkgCi0gICAgICAgICAg ICAgICAgICAgICAocHJpbWl0aXZlLWxvYWQtcGF0aCAoaW4tdmljaW5pdHkgZGlyLWhpbnQgbmFt ZSkgI2YpCi0gICAgICAgICAgICAgICAgICAgICAoc2V0ISBkaWRpdCAjdCkpKSkpKQorCQkgICAg IChpZiB2ZXJzaW9uCisJCQkgKGxvYWQgKGZpbmQtdmVyc2lvbmVkLW1vZHVsZQorCQkJCWRpci1o aW50IG5hbWUgdmVyc2lvbiAlbG9hZC1wYXRoKSkKKwkJCSAocHJpbWl0aXZlLWxvYWQtcGF0aCAo aW4tdmljaW5pdHkgZGlyLWhpbnQgbmFtZSkgI2YpKQorCQkgICAgIChzZXQhIGRpZGl0ICN0KSkp KSkpCiAJICAgIChsYW1iZGEgKCkgKHNldC1hdXRvbG9hZGVkISBkaXItaGludCBuYW1lIGRpZGl0 KSkpCiAJICAgZGlkaXQpKSkpCiAKQEAgLTI5MjcsNyArMzA0Myw4IEBAIG1vZHVsZSAnKGljZS05 IHEpICcobWFrZS1xIHEtbGVuZ3RoKSl9LiIKICAgICAnKCg6c2VsZWN0ICM6c2VsZWN0ICN0KQog ICAgICAgKDpoaWRlICAgIzpoaWRlCSN0KQogICAgICAgKDpwcmVmaXggIzpwcmVmaXggI3QpCi0g ICAgICAoOnJlbmFtZXIgIzpyZW5hbWVyICNmKSkpCisgICAgICAoOnJlbmFtZXIgIzpyZW5hbWVy ICNmKQorICAgICAgKDp2ZXJzaW9uICM6dmVyc2lvbiAjdCkpKQogICAoaWYgKG5vdCAocGFpcj8g KGNhciBzcGVjKSkpCiAgICAgICBgKCcsc3BlYykKICAgICAgIGAoJywoY2FyIHNwZWMpCi0tIAox LjYuMC40Cgo= --0016e6db2d7b13eb730477543e06 Content-Type: text/x-diff; charset=US-ASCII; name="0001-Support-for-renaming-bindings-on-module-export.patch" Content-Disposition: attachment; filename="0001-Support-for-renaming-bindings-on-module-export.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1i6404e4 RnJvbSBkNWIxY2E1MDllNjg4ODExOTcwMmU3NWNlMzVjZDFlNTVkMjk1NTI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpYW4gR3JhaGFtIDxqdWxpYW4uZ3JhaGFtQGF5YS55YWxl LmVkdT4KRGF0ZTogU2F0LCAzMSBPY3QgMjAwOSAxMzowMjoxMyAtMDQwMApTdWJqZWN0OiBbUEFU Q0hdIFN1cHBvcnQgZm9yIHJlbmFtaW5nIGJpbmRpbmdzIG9uIG1vZHVsZSBleHBvcnQuCgoqIG1v ZHVsZS9pY2UtOS9ib290LTkuc2NtIChtb2R1bGUtZXhwb3J0ISwgbW9kdWxlLXJlcGxhY2UhLCBt b2R1bGUtcmUtZXhwb3J0ISk6CkFsbG93IG1lbWJlcnMgb2YgZXhwb3J0IGxpc3QgdG8gYmUgcGFp cnMsIG1hcHBpbmcgaW50ZXJuYWwgbmFtZXMgdG8gZXh0ZXJuYWwgb25lcy4KLS0tCiBtb2R1bGUv aWNlLTkvYm9vdC05LnNjbSB8ICAgMjQgKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGVz IGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bW9kdWxlL2ljZS05L2Jvb3QtOS5zY20gYi9tb2R1bGUvaWNlLTkvYm9vdC05LnNjbQppbmRleCAz ZDkyZmFkLi42M2YxNDkzIDEwMDY0NAotLS0gYS9tb2R1bGUvaWNlLTkvYm9vdC05LnNjbQorKysg Yi9tb2R1bGUvaWNlLTkvYm9vdC05LnNjbQpAQCAtMzE2NSwxNiArMzE2NSwyMCBAQCBtb2R1bGUg JyhpY2UtOSBxKSAnKG1ha2UtcSBxLWxlbmd0aCkpfS4iCiAoZGVmaW5lIChtb2R1bGUtZXhwb3J0 ISBtIG5hbWVzKQogICAobGV0ICgocHVibGljLWkgKG1vZHVsZS1wdWJsaWMtaW50ZXJmYWNlIG0p KSkKICAgICAoZm9yLWVhY2ggKGxhbWJkYSAobmFtZSkKLQkJKGxldCAoKHZhciAobW9kdWxlLWVu c3VyZS1sb2NhbC12YXJpYWJsZSEgbSBuYW1lKSkpCi0JCSAgKG1vZHVsZS1hZGQhIHB1YmxpYy1p IG5hbWUgdmFyKSkpCisJCShsZXQqICgoaW50ZXJuYWwtbmFtZSAoaWYgKHBhaXI/IG5hbWUpIChj YXIgbmFtZSkgbmFtZSkpCisJCSAgICAgICAoZXh0ZXJuYWwtbmFtZSAoaWYgKHBhaXI/IG5hbWUp IChjZHIgbmFtZSkgbmFtZSkpCisJCSAgICAgICAodmFyIChtb2R1bGUtZW5zdXJlLWxvY2FsLXZh cmlhYmxlISBtIGludGVybmFsLW5hbWUpKSkKKwkJICAobW9kdWxlLWFkZCEgcHVibGljLWkgZXh0 ZXJuYWwtbmFtZSB2YXIpKSkKIAkgICAgICBuYW1lcykpKQogCiAoZGVmaW5lIChtb2R1bGUtcmVw bGFjZSEgbSBuYW1lcykKICAgKGxldCAoKHB1YmxpYy1pIChtb2R1bGUtcHVibGljLWludGVyZmFj ZSBtKSkpCiAgICAgKGZvci1lYWNoIChsYW1iZGEgKG5hbWUpCi0JCShsZXQgKCh2YXIgKG1vZHVs ZS1lbnN1cmUtbG9jYWwtdmFyaWFibGUhIG0gbmFtZSkpKQorCQkobGV0KiAoKGludGVybmFsLW5h bWUgKGlmIChwYWlyPyBuYW1lKSAoY2FyIG5hbWUpIG5hbWUpKQorCQkgICAgICAgKGV4dGVybmFs LW5hbWUgKGlmIChwYWlyPyBuYW1lKSAoY2RyIG5hbWUpIG5hbWUpKQorCQkgICAgICAgKHZhciAo bW9kdWxlLWVuc3VyZS1sb2NhbC12YXJpYWJsZSEgbSBpbnRlcm5hbC1uYW1lKSkpCiAJCSAgKHNl dC1vYmplY3QtcHJvcGVydHkhIHZhciAncmVwbGFjZSAjdCkKLQkJICAobW9kdWxlLWFkZCEgcHVi bGljLWkgbmFtZSB2YXIpKSkKKwkJICAobW9kdWxlLWFkZCEgcHVibGljLWkgZXh0ZXJuYWwtbmFt ZSB2YXIpKSkKIAkgICAgICBuYW1lcykpKQogCiA7OyBSZS1leHBvcnQgYSBpbXBvcnRlZCB2YXJp YWJsZQpAQCAtMzE4MiwxMyArMzE4NiwxNSBAQCBtb2R1bGUgJyhpY2UtOSBxKSAnKG1ha2UtcSBx LWxlbmd0aCkpfS4iCiAoZGVmaW5lIChtb2R1bGUtcmUtZXhwb3J0ISBtIG5hbWVzKQogICAobGV0 ICgocHVibGljLWkgKG1vZHVsZS1wdWJsaWMtaW50ZXJmYWNlIG0pKSkKICAgICAoZm9yLWVhY2gg KGxhbWJkYSAobmFtZSkKLQkJKGxldCAoKHZhciAobW9kdWxlLXZhcmlhYmxlIG0gbmFtZSkpKQor CQkobGV0KiAoKGludGVybmFsLW5hbWUgKGlmIChwYWlyPyBuYW1lKSAoY2FyIG5hbWUpIG5hbWUp KQorCQkgICAgICAgKGV4dGVybmFsLW5hbWUgKGlmIChwYWlyPyBuYW1lKSAoY2RyIG5hbWUpIG5h bWUpKQorCQkgICAgICAgKHZhciAobW9kdWxlLXZhcmlhYmxlIG0gaW50ZXJuYWwtbmFtZSkpKQog CQkgIChjb25kICgobm90IHZhcikKLQkJCSAoZXJyb3IgIlVuZGVmaW5lZCB2YXJpYWJsZToiIG5h bWUpKQotCQkJKChlcT8gdmFyIChtb2R1bGUtbG9jYWwtdmFyaWFibGUgbSBuYW1lKSkKLQkJCSAo ZXJyb3IgInJlLWV4cG9ydGluZyBsb2NhbCB2YXJpYWJsZToiIG5hbWUpKQorCQkJIChlcnJvciAi VW5kZWZpbmVkIHZhcmlhYmxlOiIgaW50ZXJuYWwtbmFtZSkpCisJCQkoKGVxPyB2YXIgKG1vZHVs ZS1sb2NhbC12YXJpYWJsZSBtIGludGVybmFsLW5hbWUpKQorCQkJIChlcnJvciAicmUtZXhwb3J0 aW5nIGxvY2FsIHZhcmlhYmxlOiIgaW50ZXJuYWwtbmFtZSkpCiAJCQkoZWxzZQotCQkJIChtb2R1 bGUtYWRkISBwdWJsaWMtaSBuYW1lIHZhcikpKSkpCisJCQkgKG1vZHVsZS1hZGQhIHB1YmxpYy1p IGV4dGVybmFsLW5hbWUgdmFyKSkpKSkKIAkgICAgICBuYW1lcykpKQogCiAoZGVmbWFjcm8gZXhw b3J0IG5hbWVzCi0tIAoxLjYuMC40Cgo= --0016e6db2d7b13eb730477543e06 Content-Type: text/x-scheme; charset=US-ASCII; name="r6rs-libraries.scm" Content-Disposition: attachment; filename="r6rs-libraries.scm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1i659ek4 KGRlZmluZS1tb2R1bGUgKHI2cnMtbGlicmFyaWVzKQogICM6ZXhwb3J0LXN5bnRheCAobGlicmFy eSkpCgoodXNlLW1vZHVsZXMgKGljZS05IHJlY2VpdmUpKQoodXNlLW1vZHVsZXMgKHNyZmkgc3Jm aS0xKSkKCihkZWZpbmUtc3ludGF4IHF1YXNpc3ludGF4CiAgKGxhbWJkYSAoZSkKICAgIAogICAg OzsgRXhwYW5kIHJldHVybnMgYSBsaXN0IG9mIHRoZSBmb3JtCiAgICA7OyAgICBbdGVtcGxhdGVb dC9lLCAuLi5dIChyZXBsYWNlbWVudCAuLi4pXQogICAgOzsgSGVyZSB0ZW1wbGF0ZVt0L2UgLi4u XSBkZW5vdGVzIHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZQogICAgOzsgd2l0aCB1bnF1b3RlZCBleHBy ZXNzaW9ucyBlIHJlcGxhY2VkIGJ5IGZyZXNoCiAgICA7OyB2YXJpYWJsZXMgdCwgZm9sbG93ZWQg YnkgdGhlIGFwcHJvcHJpYXRlIGVsbGlwc2VzCiAgICA7OyBpZiBlIGlzIGFsc28gc3BsaWNlZC4K ICAgIDs7IFRoZSBzZWNvbmQgcGFydCBvZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBsaXN0IG9m CiAgICA7OyByZXBsYWNlbWVudHMsIGVhY2ggb2YgdGhlIGZvcm0gKHQgZSkgaWYgZSBpcyBqdXN0 CiAgICA7OyB1bnF1b3RlZCwgb3IgKCh0IC4uLikgZSkgaWYgZSBpcyBhbHNvIHNwbGljZWQuCiAg ICA7OyBUaGlzIHdpbGwgYmUgdGhlIGxpc3Qgb2YgYmluZGluZ3Mgb2YgdGhlIHJlc3VsdGluZwog ICAgOzsgd2l0aC1zeW50YXggZXhwcmVzc2lvbi4KICAgIAogICAgKGRlZmluZSAoZXhwYW5kIHgg bGV2ZWwpCiAgICAgIChzeW50YXgtY2FzZSB4IChxdWFzaXN5bnRheCB1bnN5bnRheCB1bnN5bnRh eC1zcGxpY2luZykKICAgICAgICAoKHF1YXNpc3ludGF4IGUpCiAgICAgICAgICh3aXRoLXN5bnRh eCAoKChrIF8pICAgICB4KSA7OyBvcmlnaW5hbCBpZGVudGlmaWVyIG11c3QgYmUgY29waWVkCiAg ICAgICAgICAgICAgICAgICAgICAgKChlKiByZXBzKSAoZXhwYW5kIChzeW50YXggZSkgKCsgbGV2 ZWwgMSkpKSkKICAgICAgICAgICAoc3ludGF4ICgoayBlKikgcmVwcykpKSkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgKCh1bnN5bnRheCBlKQogICAgICAgICAoPSBs ZXZlbCAwKQogICAgICAgICAod2l0aC1zeW50YXggKCgodCkgKGdlbmVyYXRlLXRlbXBvcmFyaWVz ICcodCkpKSkKICAgICAgICAgICAoc3ludGF4ICh0ICgodCBlKSkpKSkpCiAgICAgICAgKCgodW5z eW50YXggZSAuLi4pIC4gcikKICAgICAgICAgKD0gbGV2ZWwgMCkKICAgICAgICAgKHdpdGgtc3lu dGF4ICgoKHIqIChyZXAgLi4uKSkgKGV4cGFuZCAoc3ludGF4IHIpIDApKQogICAgICAgICAgICAg ICAgICAgICAgICgodCAuLi4pICAgICAgICAoZ2VuZXJhdGUtdGVtcG9yYXJpZXMgKHN5bnRheCAo ZSAuLi4pKSkpKQogICAgICAgICAgIChzeW50YXggKCh0IC4uLiAuIHIqKQogICAgICAgICAgICAg ICAgICAgICgodCBlKSAuLi4gcmVwIC4uLikpKSkpCiAgICAgICAgKCgodW5zeW50YXgtc3BsaWNp bmcgZSAuLi4pIC4gcikKICAgICAgICAgKD0gbGV2ZWwgMCkKICAgICAgICAgKHdpdGgtc3ludGF4 ICgoKHIqIChyZXAgLi4uKSkgKGV4cGFuZCAoc3ludGF4IHIpIDApKQogICAgICAgICAgICAgICAg ICAgICAgICgodCAuLi4pICAgICAgICAoZ2VuZXJhdGUtdGVtcG9yYXJpZXMgKHN5bnRheCAoZSAu Li4pKSkpKQogICAgICAgICAgICh3aXRoLXN5bnRheCAoKCgodCAuLi4pIC4uLikgKHN5bnRheCAo KHQgKC4uLiAuLi4pKSAuLi4pKSkpCiAgICAgICAgICAgICAoc3ludGF4ICgodCAuLi4gLi4uIC4g ciopCiAgICAgICAgICAgICAgICAgICAgICAoKCh0IC4uLikgZSkgLi4uIHJlcCAuLi4pKSkpKSkK ICAgICAgICAoKGsgLiByKQogICAgICAgICAoYW5kICg+IGxldmVsIDApCiAgICAgICAgICAgICAg KGlkZW50aWZpZXI/IChzeW50YXggaykpCiAgICAgICAgICAgICAgKG9yIChmcmVlLWlkZW50aWZp ZXI9PyAoc3ludGF4IGspIChzeW50YXggdW5zeW50YXgpKQogICAgICAgICAgICAgICAgICAoZnJl ZS1pZGVudGlmaWVyPT8gKHN5bnRheCBrKSAoc3ludGF4IHVuc3ludGF4LXNwbGljaW5nKSkpKQog ICAgICAgICAod2l0aC1zeW50YXggKCgociogcmVwcykgKGV4cGFuZCAoc3ludGF4IHIpICgtIGxl dmVsIDEpKSkpCiAgICAgICAgICAgKHN5bnRheCAoKGsgLiByKikgcmVwcykpKSkKICAgICAgICAo KGggLiB0KQogICAgICAgICAod2l0aC1zeW50YXggKCgoaCogKHJlcDEgLi4uKSkgKGV4cGFuZCAo c3ludGF4IGgpIGxldmVsKSkKICAgICAgICAgICAgICAgICAgICAgICAoKHQqIChyZXAyIC4uLikp IChleHBhbmQgKHN5bnRheCB0KSBsZXZlbCkpKQogICAgICAgICAgIChzeW50YXggKChoKiAuIHQq KQogICAgICAgICAgICAgICAgICAgIChyZXAxIC4uLiByZXAyIC4uLikpKSkpCiAgICAgICAgKCMo ZSAuLi4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICh3aXRoLXN5bnRheCAoKCgoZSogLi4uKSByZXBzKQogICAg ICAgICAgICAgICAgICAgICAgICAoZXhwYW5kICh2ZWN0b3ItPmxpc3QgKHN5bnRheCAjKGUgLi4u KSkpIGxldmVsKSkpCiAgICAgICAgICAgKHN5bnRheCAoIyhlKiAuLi4pIHJlcHMpKSkpCiAgICAg ICAgKG90aGVyCiAgICAgICAgIChzeW50YXggKG90aGVyICgpKSkpKSkKICAgIAogICAgKHN5bnRh eC1jYXNlIGUgKCkKICAgICAgKChfIHRlbXBsYXRlKQogICAgICAgKHdpdGgtc3ludGF4ICgoKHRl bXBsYXRlKiByZXBsYWNlbWVudHMpIChleHBhbmQgKHN5bnRheCB0ZW1wbGF0ZSkgMCkpKQogICAg ICAgICAoc3ludGF4CiAgICAgICAgICAod2l0aC1zeW50YXggcmVwbGFjZW1lbnRzIChzeW50YXgg dGVtcGxhdGUqKSkpKSkpKSkKCihkZWZpbmUtc3ludGF4IHVuc3ludGF4CiAgKGxhbWJkYSAoZSkK ICAgIChzeW50YXgtdmlvbGF0aW9uICd1bnN5bnRheCAiSW52YWxpZCBleHByZXNzaW9uIiBlKSkp CgooZGVmaW5lLXN5bnRheCB1bnN5bnRheC1zcGxpY2luZwogIChsYW1iZGEgKGUpCiAgICAoc3lu dGF4LXZpb2xhdGlvbiAndW5zeW50YXggIkludmFsaWQgZXhwcmVzc2lvbiIgZSkpKQoKKGRlZmlu ZSAoZmxhdHRlbi1pbXBvcnQtc3BlYyBpbXBvcnQtc3BlYyBwaGFzZS1tYXAgaW1wb3J0LW1hcCkK ICAoZGVmaW5lIChmbGF0dGVuLWlubmVyIGltcG9ydC1zZXQpCiAgICAoZGVmaW5lIChsb2FkLWxp YnJhcnkgbGlicmFyeS1yZWYpCiAgICAgIChsZXQqICgodiAoY2FyIChsYXN0LXBhaXIgbGlicmFy eS1yZWYpKSkpCgkoaWYgKHBhaXI/IHYpCgkgICAgKHJlc29sdmUtaW50ZXJmYWNlIAoJICAgICAo ZHJvcC1yaWdodCBsaWJyYXJ5LXJlZiAxKSAjOnZlcnNpb24gdikKCSAgICAocmVzb2x2ZS1pbnRl cmZhY2UgbGlicmFyeS1yZWYgIzp2ZXJzaW9uICcoKSkpKSkKICAgIChkZWZpbmUgKGV4cG9ydC1l cT8geCB5KSAKICAgICAgKGlmIChsaXN0PyB5KSAoZXE/IHggKGNhZHIgeSkpIChlcT8geCB5KSkp CiAgICAoaWYgKG9yIChub3QgKGxpc3Q/IGltcG9ydC1zZXQpKSkKCShlcnJvcikpCiAgICAoY2Fz ZSAoY2FyIGltcG9ydC1zZXQpCiAgICAgICgobGlicmFyeSkgCiAgICAgICAobGV0ICgobCAobG9h ZC1saWJyYXJ5IChjYWRyIGltcG9ydC1zZXQpKSkpCgkgKGNvbnMgbCAobW9kdWxlLW1hcCAobGFt YmRhIChzeW0gdmFyKSBzeW0pIGwpKSkpIAogICAgICAoKG9ubHkpIAogICAgICAgKGxldCAoKGwg KGZsYXR0ZW4taW5uZXIgKGNhZHIgaW1wb3J0LXNldCkpKSkKCSAoY29ucyAoY2FyIGwpIChsc2V0 LWludGVyc2VjdGlvbiAKCQkJZXhwb3J0LWVxPyAoY2RyIGwpIChjZGRyIGltcG9ydC1zZXQpKSkp KQogICAgICAoKGV4Y2VwdCkgCiAgICAgICAobGV0ICgobCAoZmxhdHRlbi1pbm5lciAoY2FkciBp bXBvcnQtc2V0KSkpKQoJIChjb25zIChjYXIgbCkgKGxzZXQtZGlmZmVyZW5jZSAKCQkJZXhwb3J0 LWVxPyAoY2RyIGwpIChjZGRyIGltcG9ydC1zZXQpKSkpKQogICAgICAoKHByZWZpeCkgCiAgICAg ICAobGV0ICgobCAoZmxhdHRlbi1pbm5lciAoY2FkciBpbXBvcnQtc2V0KSkpCgkgICAgIChwIChz eW1ib2wtcHJlZml4LXByb2MgKGNhZGRyIGltcG9ydC1zZXQpKSkpCgkgKGNvbnMgKGNhciBsKSAK CSAgICAgICAobWFwIChsYW1iZGEgKHgpCgkJICAgICAgKGlmIChsaXN0PyB4KSAKCQkJICAoY29u cyAoY2FyIHgpIChwIChjYWRyIHgpKSkKCQkJICAoY29ucyB4IChwIHgpKSkpCgkJICAgIChjZHIg bCkpKSkpCiAgICAgICgocmVuYW1lKSAKICAgICAgIChsZXQgKChsIChmbGF0dGVuLWlubmVyIChj YWRyIGltcG9ydC1zZXQpKSkpCgkgKGNvbnMgKGNhciBsKSAKCSAgICAgICAobWFwIChsYW1iZGEg KHgpCgkJICAgICAgKGxldCAoKHIgKGZpbmQgKGxhbWJkYSAoeSkKCQkJCSAgICAgICAoZXE/IChj YXIgeSkgCgkJCQkJICAgIChpZiAobGlzdD8geCkgCgkJCQkJCShjYXIgeCkgeCkpKQoJCQkJICAg ICAoY2RkciBpbXBvcnQtc2V0KSkpKQoJCQkoaWYgciAoY29ucyAoaWYgKGxpc3Q/IHgpIChjYXIg eCkgeCkgCgkJCQkgICAgKGNhZHIgeCkpIHgpKSkKCQkgICAgKGNkciBsKSkpKSkKICAgICAgKGVs c2UgKGxldCAoKGwgKGxvYWQtbGlicmFyeSBpbXBvcnQtc2V0KSkpCgkgICAgICAoY29ucyBsICht b2R1bGUtbWFwIChsYW1iZGEgKHN5bSB2YXIpIHN5bSkgbCkpKSkpKQoKICAobGV0KiAoKHBoYXNl IChhbmQgKGVxPyAoY2FyIGltcG9ydC1zcGVjKSAnZm9yKQoJCSAgICAgKGxldCAoKHAgKGxpc3Qt cmVmIGltcG9ydC1zcGVjIDIpKSkKCQkgICAgICAgKGNhc2UgcCAoKHJ1bikgMCkgKChleHBhbmQp IDEpIChlbHNlIChjYWRyIHApKSkpKSkKCSAodW53cmFwcGVkLWltcG9ydC1zcGVjIChpZiBwaGFz ZSAoY2FkciBpbXBvcnQtc3BlYykgaW1wb3J0LXNwZWMpKQoJIChpbGlzdCAoZmxhdHRlbi1pbm5l ciB1bndyYXBwZWQtaW1wb3J0LXNwZWMpKQoJIChwdWJsaWMtaW50ZXJmYWNlIChjYXIgaWxpc3Qp KQoJIChpbnRlcmZhY2UKCSAgKGFwcGVuZCAobGlzdCAobW9kdWxlLW5hbWUgcHVibGljLWludGVy ZmFjZSkpCgkJICAoaWYgKG1vZHVsZS12ZXJzaW9uIHB1YmxpYy1pbnRlcmZhY2UpCgkJICAgICAg KGxpc3QgIzp2ZXJzaW9uIChtb2R1bGUtdmVyc2lvbiBwdWJsaWMtaW50ZXJmYWNlKSkKCQkgICAg ICAobGlzdCkpCgkJICAoaWYgKG51bGw/IChjZHIgaWxpc3QpKSAnKCkgKGxpc3QgIzpzZWxlY3Qg KGNkciBpbGlzdCkpKSkpKQogICAgKGZvci1lYWNoIChsYW1iZGEgKHgpIChoYXNocS1zZXQhIGlt cG9ydC1tYXAgeCAjdCkpCgkgICAgICAobWFwIChsYW1iZGEgKHgpIChpZiAocGFpcj8geCkgKGNk ciB4KSB4KSkgKGNkciBpbGlzdCkpKQogICAgKGxldCogKChwaGFzZSAob3IgcGhhc2UgMCkpCgkg ICAocGhhc2VkLWltcG9ydHMgKGhhc2h2LXJlZiBwaGFzZS1tYXAgcGhhc2UpKSkKICAgICAgKGlm IHBoYXNlZC1pbXBvcnRzCgkgIChoYXNodi1zZXQhIHBoYXNlLW1hcCBwaGFzZSAoYXBwZW5kIHBo YXNlZC1pbXBvcnRzIChsaXN0IGludGVyZmFjZSkpKQoJICAoaGFzaHYtc2V0ISBwaGFzZS1tYXAg cGhhc2UgKGxpc3QgaW50ZXJmYWNlKSkpKSkpCgooZGVmaW5lIChyZXNvbHZlLWV4cG9ydC1zcGVj IGV4cG9ydC1zcGVjcyBpbXBvcnQtbWFwKQogIChkZWZpbmUgKGltcG9ydGVkPyBzeW0pIChoYXNo cS1yZWYgaW1wb3J0LW1hcCAoaWYgKHBhaXI/IHN5bSkgKGNhciBzeW0pIHN5bSkpKQogIChkZWZp bmUgKGZsYXR0ZW4tcmVuYW1lcyBleHBvcnQtc3BlYykKICAgIChpZiAobGlzdD8gZXhwb3J0LXNw ZWMpCgkobWFwIChsYW1iZGEgKHgpIChjb25zIChjYXIgeCkgKGNhZHIgeCkpKSAoY2RyIGV4cG9y dC1zcGVjKSkKCShsaXN0IGV4cG9ydC1zcGVjKSkpCiAgKHBhcnRpdGlvbiBpbXBvcnRlZD8gKGFw cGx5IGFwcGVuZCAobWFwIGZsYXR0ZW4tcmVuYW1lcyBleHBvcnQtc3BlY3MpKSkpCgooZGVmaW5l LXN5bnRheCBsaWJyYXJ5IAogIChsYW1iZGEgKHgpCiAgKHN5bnRheC1jYXNlIHggKGV4cG9ydCBp bXBvcnQpCiAgICAoKF8gbGlicmFyeS1uYW1lCgkoZXhwb3J0IC4gZXhwb3J0LXNwZWNzKQoJKGlt cG9ydCAuIGltcG9ydC1zcGVjcykKCS4gbGlicmFyeS1ib2R5KQogICAgIChsZXQqICgoaW1wb3J0 cyAoc3ludGF4LT5kYXR1bSAoc3ludGF4IGltcG9ydC1zcGVjcykpKQoJICAgIChpbXBvcnQtbWFw IChtYWtlLWhhc2gtdGFibGUpKQoJICAgIChwaGFzZS1tYXAgKG1ha2UtaGFzaC10YWJsZSkpCgkg ICAgKGxuLWRhdHVtIChzeW50YXgtPmRhdHVtIChzeW50YXggbGlicmFyeS1uYW1lKSkpCgkgICAg KHZlcnNpb24gKGxldCAoKHYgKGNhciAobGFzdC1wYWlyIGxuLWRhdHVtKSkpKSAoYW5kIChsaXN0 PyB2KSB2KSkpCgkgICAgKG5hbWUgKGlmIHZlcnNpb24gKGRyb3AtcmlnaHQgbG4tZGF0dW0gMSkg bG4tZGF0dW0pKQoJICAgIChleHBvcnRzIChzeW50YXgtPmRhdHVtIChzeW50YXggZXhwb3J0LXNw ZWNzKSkpCgkgICAgKGJvZHktZXhwcnMgKHN5bnRheC0+ZGF0dW0gKHN5bnRheCBsaWJyYXJ5LWJv ZHkpKSkpCgogICAgICAgKGZvci1lYWNoIChsYW1iZGEgKHgpIChmbGF0dGVuLWltcG9ydC1zcGVj IHggcGhhc2UtbWFwIGltcG9ydC1tYXApKQoJCSBpbXBvcnRzKQoKICAgICAgIChsZXQgKChydW50 aW1lLWltcG9ydHMgKGhhc2h2LXJlZiBwaGFzZS1tYXAgMCkpCgkgICAgIChAQC1pbXBvcnQgJygo KGd1aWxlKSAjOnNlbGVjdCAoQEAgcXVvdGUpKSkpKQoJIChpZiBydW50aW1lLWltcG9ydHMKCSAg ICAgKGhhc2h2LXNldCEgcGhhc2UtbWFwIDAgKGFwcGVuZCBydW50aW1lLWltcG9ydHMgQEAtaW1w b3J0KSkpKQoKICAgICAgIChyZWNlaXZlCgkocmUtZXhwb3J0cyBleHBvcnRzKQoJKHJlc29sdmUt ZXhwb3J0LXNwZWMgZXhwb3J0cyBpbXBvcnQtbWFwKQoJKHdpdGgtc3ludGF4CgkgKChuYW1lIChk YXR1bS0+c3ludGF4ICMnbGlicmFyeS1uYW1lIG5hbWUpKQkgIAoJICAoYWxsLWltcG9ydHMgKGlm IChub3QgKG51bGw/IGltcG9ydHMpKQoJCQkgICAoZGF0dW0tPnN5bnRheCAKCQkJICAgICMnaW1w b3J0LXNwZWNzCgkJCSAgICAoYXBwbHkgYXBwZW5kICcoKQoJCQkJICAgKG1hcCAobGFtYmRhICh4 KSAobGlzdCAjOnVzZS1tb2R1bGUgeCkpCgkJCQkJKGFwcGx5IGFwcGVuZCAnKCkKCQkJCQkgICAg ICAgKGhhc2gtbWFwLT5saXN0IChsYW1iZGEgKGsgdikgdikKCQkJCQkJCSAgICAgICBwaGFzZS1t YXApKSkpKQoJCQkgICAnKCkpKQoJICAoYm9keS1leHBycyAoaWYgKG5vdCAobnVsbD8gYm9keS1l eHBycykpCgkJCSAgKGRhdHVtLT5zeW50YXggIydsaWJyYXJ5LWJvZHkgYm9keS1leHBycykKCQkJ ICAnKCkpKSkKCgkgI2AoYmVnaW4KCSAgICAgKGRlZmluZS1tb2R1bGUgbmFtZQoJICAgICAgICMs QChpZiB2ZXJzaW9uIChsaXN0ICM6dmVyc2lvbiB2ZXJzaW9uKSAnKCkpCgkgICAgICAgIzpwdXJl CgkgICAgICAgIyxAKHN5bnRheCBhbGwtaW1wb3J0cykKCSAgICAgICAjLEAoaWYgKG5vdCAobnVs bD8gcmUtZXhwb3J0cykpCgkJICAgICAgKGRhdHVtLT5zeW50YXggIydleHBvcnQtc3BlY3MgYCgj OnJlLWV4cG9ydCAscmUtZXhwb3J0cykpCgkJICAgICAgJygpKQoKCSAgICAgICAjLEAoaWYgKG5v dCAobnVsbD8gZXhwb3J0cykpCgkJICAgICAgKGRhdHVtLT5zeW50YXggIydleHBvcnQtc3BlY3Mg YCgjOmV4cG9ydCAsZXhwb3J0cykpCgkJICAgICAgJygpKSkKCgkgICAgICMsQChzeW50YXggYm9k eS1leHBycykpKSkpKSkpKQo= --0016e6db2d7b13eb730477543e06 Content-Type: application/x-gzip; name="r6rs-examples.tar.gz" Content-Disposition: attachment; filename="r6rs-examples.tar.gz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1i6gvfz3 H4sICAzc7UoAA3I2cnMtZXhhbXBsZXMudGFyAO1Ze2+jOBDPv8mnmO4/B7eihwGD7qRTpf0iKye4 Kru81kCbfPsbv3ikRFnpUq7dY1QF4hmP7Ux/87KIRePxIyvqnDd/bN6EfKSEUvkkCfXHT0sbQoIk DClNKNn4JCQB3QB9m+1MqWtaJgA237o8Y+VluWv8D0piYn/8LQ7f75tDcdM1pIHjKLpo/4jExv5R nAQB2j9KQrS/f9NdXKD/uf2dPNsLJk7gKNu7uy04/FhXooWCfedQd83THdRVfQe8qNvTnZLICiXh iFI0rhpJ+WNWcnDkJBdQa9PCb447ZWplDTyjRMNb78CE/OocqhIH8YmWQH1nk+TajdTJcUVHiRm5 3Xa7BaSpslRzLfN5qk6fQikczVJbdXf/tTWWpyn+8Sf20uz5xh7gGv4p8iT+A0KDJMY4QShJkhX/ S9CAf2N7dwe9BxgPTSCPgEKon7wnntdcIHZZ3vHGa9ru8VEzpRgIqtyDnG7h96Or2oyX7WfBC5aV KRdQQipXAIvwH4OU4rmai3y9DKCAhxznd3yT7MkSXnMqW3a0e9eK9ZgnOvwnB6fX53yVC+ByIFzY V+nJV59wf39vZfCYz3ZbKHRp/+rQks60vHuvMsX/nuV5hc74tg7gGv5DBLvEPwrFfuRL/Ef4WPG/ AA34t7YfO4A+BZAZwGs3MIW2En6BJ9cEdPnqjgWUoj2wojV4V2KIZRX4967igPNZxvD++5mKqpYM PT3NmjpnJ/j0paoK+OROR9E9WL1Gn3EkTslfctT23qG5CE3xP7j0W5aCP1//RTENVPwPCFnrvyXo ov2zVIfzG4SCq/VfEir7k4TEMhYgN4ri1f8vQYP/H6Vz1vbjUID+N/XSbj4K9P7ZSkGu5FiJ2VXN MvGgB6BP8zDU1JhUCY51onLP+ZDnmdCQDl9Rsuzy/AGkvDtaZmYqyu6rDvlZinla9phx8feDDgW5 q59Ky3jKhWGH5w0eSu9VrqQl3Pef1v00XcT/OKX/lz7gav0XDviPffT/gR+u+d8yNIv/aTk3Sgdl KfTaASAeKzHvQABnohOYrdCUNlP4sWKfMtmDOvbFmanZDgwhiOOybNvKis1xslTVVlL3TN22xQSv asc+wqxn55n+kh5VxeoBU1/vJWufPH1yW8z1+zJr6fF+1O5jpub7MP7hDP9Y0t68/XsV/4E/1H9Y AMr+L6Vkxf8SNMI/2n4E9jmY10y0p2nVV+u6z7MsMA1bnSeY7rEp/XSFSIG6QCaiHwQrvyJN8a+s uPj9TxwQHf9JFIR+ou5/aLTifwka8K8RPIr2mJyXrOB9Z+gvBV91wbOTVyv9uG4Q4YdugyrQy5fB MeiWsFGnRjwNffwwHZ7X/eWqzPtrqfPLKC1RC3RCx1HrCuyWZlpTXn/AvtPcmPuqocNsb6imZyY+ /l0VCuDPXqY5a1uNjmx20P94srawfnD1hCuttNJKK6200tvTP2KIHIsAKAAA --0016e6db2d7b13eb730477543e06 Content-Type: application/x-gzip; name="r6rs-libs.tar.gz" Content-Disposition: attachment; filename="r6rs-libs.tar.gz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1i6hor74 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 --0016e6db2d7b13eb730477543e06--