From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 951BA3858D28 for ; Fri, 3 Nov 2023 10:48:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 951BA3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 951BA3858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699008540; cv=none; b=II/xGsCKxufGpRzGnsjzGsPijw6KssEEaA02KJFyKRJhr2gylriKCXRZ+E/AY8ir7qL1b8txb1QFGC+fssYYDwhOlRD1dcoNRzT8euKPH6qoJac10+HrxhT8pKSf8PFmw3//89KYldKcBrxmuyRjjqPa03Z96UQxwWBQ0lqlmGc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699008540; c=relaxed/simple; bh=xxC4gQpYV0BWvRkN6iXpzxUOkGzt4hx4fcz1ZlXgycM=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=T4OcDiVR5wy5Cfx1iUNS7B6ec3pKtKK99UZQsxyAkYDMITKW31pq0dvjvQhnWkpem6hV+FD6OOHGiSTZ5kdXF4YS/bhFLPhBpDvaRf7wFPZjXlD4KOhotLmwHZQkrI/9TIGS6xfiJ2fCmCDtTuSguwOcmTZ2IAiXtbKtsJeP35s= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-9bf86b77a2aso284581066b.0 for ; Fri, 03 Nov 2023 03:48:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699008528; x=1699613328; darn=sourceware.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gPYIiLZ/zZuXeaxiMODeQuCA4GrA1Zyu/nymNZFi+40=; b=mVo7WI+s9gqrVF4uvN2squbMj/nbaAzCQylwS9XIEX+zAN8+suu9FS5aVwMG29Wu/U S9aogVnMPWKAAtFf4E96xyXP16cY7bi/mKNQsUAIfLvWE+WME4CHweE7hxb4l6JYZZZw 9qohtj6hgL6Huffg+HHySzYoqRxw49Tp4QQMco2PY+TnO29DqJu2EiRXeWUTXFAV0bED 8Ad7uW2DJG7xhTFtoApeEAQ69IVFrhQ8GHz+vfL24yaGcQh6/uuWUozyn4eFl3DuuSK1 omhAswX7jBgaWSwi6mZP7FGwFow+prcAe3g/9l2AO3ihoQuwVkvp7uKqMkSsRqMAzr/2 W87A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699008528; x=1699613328; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gPYIiLZ/zZuXeaxiMODeQuCA4GrA1Zyu/nymNZFi+40=; b=VKcneAWzLR6mU1bVyhl2LRKJmiuKu90E5N62yL/3izbbeBrJG7dGtytXxJ59en8bpi 0t5ojpGp08nvRHNU97QZ4W10m9dZEWQ2oaQzg5GG54vAdNHrrgXV6o47oKkERmBPrCE8 T/M4GvLgPmckFHqxqtiirOMKbTlIvEoSbW3FJRHJto60SfhBVva7ZCIY5JAXY/0prAK3 mehCrLe8LdNq6fCz/T9rCXrxqbX5uGPe3a+Y6tsmHJ0H/q8s/lHw7DIzeXBIdvRX4DYR 2cvgYs+1/u71YbcybdjbEKbDrDlaluEE9I79ULimAGsxHC5IVgaSeC9SsiUl8loIq0sO eBig== X-Gm-Message-State: AOJu0Yw3zfBzc0ycNlIOKIcpVSPdapBOa6/7y5fG3TMTPVKuKuU5i/qK 1yogfdBkO/Kl34b5WqeijdDXVm4dA5agPAWjXcqJpYcX X-Google-Smtp-Source: AGHT+IGkvAs59Jv5QfQe77cUEPlymDXlSrTXS7pF56pXW3DOedxLC29x4ENtxyRyFP2Rogj+jue9y7swlYgYd+eHjts= X-Received: by 2002:a17:907:9707:b0:9bf:32c8:3106 with SMTP id jg7-20020a170907970700b009bf32c83106mr6477651ejc.2.1699008527864; Fri, 03 Nov 2023 03:48:47 -0700 (PDT) MIME-Version: 1.0 References: <436b231e-bb91-4515-a2cf-7baca3a5a359@bothner.com> In-Reply-To: From: Damien Mattei Date: Fri, 3 Nov 2023 11:48:36 +0100 Message-ID: Subject: Re: unbound location: * To: Per Bothner Cc: kawa mailing list Content-Type: multipart/mixed; boundary="000000000000c65d1406093d3f22" X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000c65d1406093d3f22 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable i forgot a few definitions and include file in the previous post. It is okay now with the new attachments. Damien On Fri, Nov 3, 2023 at 11:42=E2=80=AFAM Damien Mattei wrote: > > in case if you have a few time to have a look to the problem i made a > simple test-case with my overloading operator problem, it is in the > two attached files and can run like that: > > kawa -Dkawa.import.path=3D"." > #|kawa:1|# (load "main-test-define.scm") > main-test-define.scm:4:1: duplicate version reference - was # (test-define) in #91> > main-test-define.scm:4:1: unknown library (#) > #|kawa:2|# + > Exception in thread "main" java.lang.VerifyError: Bad local variable type > Exception Details: > Location: > atInteractiveLevel-4.run(Lgnu/mapping/CallContext;)V @6: aload_3 > Reason: > Type top (current frame, locals[3]) is not assignable to reference ty= pe > Current Frame: > bci: @6 > flags: { } > locals: { 'atInteractiveLevel-4', 'gnu/mapping/CallContext', > 'gnu/lists/Consumer' } > stack: { 'gnu/lists/Consumer' } > Bytecode: > 0000000: 2bb4 0008 4d2c 2db9 000e 0200 b1 > > at java.base/java.lang.Class.getDeclaredFields0(Native Method) > at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3473= ) > at java.base/java.lang.Class.getDeclaredField(Class.java:2780) > at gnu.expr.ModuleContext.findInstance(ModuleContext.java:71) > at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:286) > at gnu.expr.ModuleExp.evalModule(ModuleExp.java:211) > at kawa.Shell.run(Shell.java:289) > at kawa.Shell.run(Shell.java:196) > at kawa.Shell.run(Shell.java:183) > at kawa.repl.processArgs(repl.java:724) > at kawa.repl.main(repl.java:830) > > Damien > > On Thu, Nov 2, 2023 at 10:59=E2=80=AFPM Per Bothner wro= te: > > > > > > > > On 11/2/23 14:51, Damien Mattei wrote: > > > seems a good idea but i can not fix it, i try: > > > (import (rename (gnu kawa) (proc orig-proc))) > > ... > > > Exception in thread "main" java.lang.VerifyError: Bad local variable = type > > > > That is probably a bug in the Kawa code generator. > > I'm unlikely to have time to debug that. Certainly not without a > > simplified simple-to-reproduce test-case. Even with a good test-case, t= his > > is part of Kawa I haven't looked at in a long time, and I'm busy with o= ther projects. > > -- > > --Per Bothner > > per@bothner.com http://per.bothner.com/ --000000000000c65d1406093d3f22 Content-Type: application/octet-stream; name="main-test-define.scm" Content-Disposition: attachment; filename="main-test-define.scm" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loihsahi0 OzsocmVxdWlyZSBvdmVybG9hZCkKKHJlcXVpcmUgdGVzdC1kZWZpbmUpCgooZGVmaW5lLW92ZXJs b2FkLWV4aXN0aW5nLW9wZXJhdG9yICspCgoob3ZlcmxvYWQtZXhpc3Rpbmctb3BlcmF0b3IgKyB2 ZWN0b3ItYXBwZW5kICh2ZWN0b3I/IHZlY3Rvcj8pKQoKCihkZWZpbmUgcnYgKCsgIygxIDIpICMo MyA0IDUpKSkKKG5ld2xpbmUpIChkaXNwbGF5ICJydj0iKSAoZGlzcGxheSBydikgKG5ld2xpbmUp Cgo= --000000000000c65d1406093d3f22 Content-Type: application/octet-stream; name="test-define.scm" Content-Disposition: attachment; filename="test-define.scm" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loihsjwm1 KG1vZHVsZS1uYW1lIHRlc3QtZGVmaW5lKQoKKHJlcXVpcmUgJ3NyZmktMSkKCihyZXF1aXJlICdz cmZpLTY5KQoKOzsocmVxdWlyZSBpbmZpeC1vcGVyYXRvcnMpCgooZXhwb3J0IGRlZmluZS1vdmVy bG9hZC1leGlzdGluZy1vcGVyYXRvcgoJb3ZlcmxvYWQtZXhpc3Rpbmctb3BlcmF0b3IpCgk7Oysp CgooaW5jbHVkZSAiY29uZHguc2NtIikKCgooZGVmaW5lICRvdnJsZC1odCQgKG1ha2UtaGFzaC10 YWJsZSkpIDs7IGZvciBwcm9jZWR1cmUgYW5kIG9wZXJhdG9ycwoKCihkZWZpbmUgKGNoZWNrLWFy Z3VtZW50cyBwcmVkLWxpc3QgYXJncykKICAoaWYgKD0gKGxlbmd0aCBwcmVkLWxpc3QpIChsZW5n dGggYXJncykpCiAgICAgIChsZXQgKChwcmVkLWFyZy1saXN0IChtYXAgY29ucyBwcmVkLWxpc3Qg YXJncykpKQoJOzsoYW5kbWFwIChsYW1iZGEgKHApICgoY2FyIHApIChjZHIgcCkpKQoJOzsgcmVw bGFjZSBhbmRtYXAgd2l0aCBldmVyeSBpbiBHdWlsZQoJKGV2ZXJ5IChsYW1iZGEgKHApICgoY2Fy IHApIChjZHIgcCkpKQoJICAgICAgIHByZWQtYXJnLWxpc3QpKQogICAgICAjZikpCgoKCihkZWZp bmUtc3ludGF4IGRlZmluZS1vdmVybG9hZC1leGlzdGluZy1vcGVyYXRvcgoKICAoc3ludGF4LXJ1 bGVzICgpCgogICAgKChfIHByb2MpCgogICAgIChiZWdpbgoKICAgICAgIChpbXBvcnQgKHJlbmFt ZSAodGVzdC1kZWZpbmUpIChwcm9jIG9yaWctcHJvYykpKQogICAgICAgOzsoaW1wb3J0IChyZW5h bWUgKGdudSBrYXdhKSAocHJvYyBvcmlnLXByb2MpKSkKICAgICAgIDs7KHJlcXVpcmUgKHJlbmFt ZS1pbiByYWNrZXQvYmFzZSAocHJvYwogICAgICAgCTs7CQkJICAgICAgICBvcmlnLXByb2MpKSkK CiAgICAgICAoZGlzcGxheSAicHJvYyA9IikgKGRpc3BsYXkgcHJvYykgKG5ld2xpbmUpCiAgICAg ICAoZGlzcGxheSAib3JpZy1wcm9jID0iKSAoZGlzcGxheSBvcmlnLXByb2MpIChuZXdsaW5lKQog ICAgICAgCiAgICAgICAoZGVmaW5lIHFwcm9jIChxdW90ZSBwcm9jKSkgCiAgICAgICAKICAgICAg IChkZWZpbmUgKHByb2MgLiBhcmdzLWxzdCkKCgkgOzsoZGlzcGxheSAicHJvYz0iKSAoZGlzcGxh eSBwcm9jKSAobmV3bGluZSkKCSA7OyhkZWZpbmUgaHQgKGhhc2gtdGFibGUtPmFsaXN0ICRvdnJs ZC1odCQpKQoJIDs7KGRpc3BsYXkgaHQpIChuZXdsaW5lKQoKCgkgKGRlZmluZSBwcm9jLWxzdCAo aGFzaC10YWJsZS1yZWYgJG92cmxkLWh0JCBxcHJvYykpIDs7ICBleGFtcGxlOiAoKG51bWJlcj8g c3RyaW5nPykgKGxhbWJkYSAobiBzKSAoZGlzcGxheSBuKSAoZGlzcGxheSBzKSAobmV3bGluZSkp KQoJIDs7KGRpc3BsYXkgInByb2MtbHN0PSIpIChkaXNwbGF5IHByb2MtbHN0KQoJIDs7KG5ld2xp bmUpCgkgCgkgKGRlZmluZSAoY2hlY2stYXJncy1sc3QgcHJlZC1saXN0KSA7IGNoZWNrIGFyZ3Vt ZW50cyBsaXN0IG1hdGNoIHByZWRpY2F0ZXMKCSAgIDs7KGRpc3BsYXkgInByZWQtbGlzdD0iKSAo ZGlzcGxheSBwcmVkLWxpc3QpIChuZXdsaW5lKQoJICAgOzsoZGlzcGxheSAiYXJncy1sc3Q9Iikg KGRpc3BsYXkgYXJncy1sc3QpIChuZXdsaW5lKQoJICAgKGNoZWNrLWFyZ3VtZW50cyBwcmVkLWxp c3QgYXJncy1sc3QpKQoKCgoJIChkZWZpbmUgKHRlc3QtcHJvYyBwcmVkLXByb2MtbGlzdCkgOyB0 ZXN0IHRoZSBwcm9jZWR1cmUgaWYgaXQgbWF0Y2hlcyB3aXRoIGFyZ3VtZW50cwoJICAgOzsoZGlz cGxheSAicHJlZC1wcm9jLWxpc3Q9IikgKGRpc3BsYXkgcHJlZC1wcm9jLWxpc3QpIChuZXdsaW5l KQoJICAgKGlmIChjaGVjay1hcmdzLWxzdCAoY2FyIHByZWQtcHJvYy1saXN0KSkgOzsgY2hlY2sg YXJncwoJICAgICAgIChjYXIgKGNkciAgcHJlZC1wcm9jLWxpc3QpKSA7OyByZXR1cm4gcHJvY2Vk dXJlCgkgICAgICAgI2YpKQoKCSAKCSAoZGVmaW5lIHByb2Mtc2VhcmNoLXJlc3VsdCAob3JtYXAg dGVzdC1wcm9jIHByb2MtbHN0KSkgOyBzZWFyY2ggZm9yIGEgcHJvY2VkdXJlIG1hdGNoaW5nIGFy Z3VtZW50cwoKCSAKCSA7OyhkaXNwbGF5ICJwcm9jLXNlYXJjaC1yZXN1bHQ9IikgKGRpc3BsYXkg cHJvYy1zZWFyY2gtcmVzdWx0KSAobmV3bGluZSkKCSAKCSAoY29uZHggKHByb2Mtc2VhcmNoLXJl c3VsdCAoYXBwbHkgcHJvYy1zZWFyY2gtcmVzdWx0IGFyZ3MtbHN0KSkKCQkoZXhlYwoJCSAoZGVm aW5lIG5iLWFyZ3MgKGxlbmd0aCBhcmdzLWxzdCkpKQoJCSgoPiBuYi1hcmdzIDIpICAgOzsoZGlz cGxheSAiPjIgYXJncyIpIChuZXdsaW5lKQoJCSAocHJvYyAoY2FyIGFyZ3MtbHN0KSAoYXBwbHkg cHJvYyAoY2RyIGFyZ3MtbHN0KSkpKQoJCShlbHNlCgkJIDs7KGRpc3BsYXkgImVsc2UiKSAobmV3 bGluZSkKCQkgKGFwcGx5IG9yaWctcHJvYyBhcmdzLWxzdCkpKSkKICAgICAgIAogICAgICAgOzso aGFzaC10YWJsZS1zZXQhICRvdnJsZC1odCQgcXByb2MgKGxpc3QgKGxpc3QgKGxpc3QgbnVtYmVy PyBudW1iZXI/KSBvcmlnLXByb2MpKSkKICAgICAgIChoYXNoLXRhYmxlLXNldCEgJG92cmxkLWh0 JCBxcHJvYyAnKCkpCgogICAgICAgOzsocmVwbGFjZS1vcGVyYXRvciEgb3JpZy1wcm9jIHByb2Mp CiAgICAgICAKICAgICAgICkpKSkgCgoKCgooZGVmaW5lLXN5bnRheCBvdmVybG9hZC1leGlzdGlu Zy1vcGVyYXRvcgogIAogIChzeW50YXgtcnVsZXMgKCkKCiAgICAoKF8gb3JpZy1mdW5jdCBmdW5j dCAocHJlZC1hcmcxIC4uLikpCgogICAgIChvdmVybG9hZCBvcmlnLWZ1bmN0IGZ1bmN0IChwcmVk LWFyZzEgLi4uKSkpKSkKCgooZGVmaW5lLXN5bnRheCBvdmVybG9hZAoKICAoc3ludGF4LXJ1bGVz ICgpCgogICAgOzsgYXJndW1lbnRzIGFyZSBmdW5jdGlvbiB0byBiZSBvdmVybG9hZGVkLCBwcm9j ZWR1cmUgdGhhdCBkbyB0aGUgb3ZlcmxvYWRpbmcsIGxpc3Qgb2YgcHJlZGljYXRlIHRvIGNoZWNr IHRoZSBhcmd1bWVudHMKCiAgICAoKF8gb3JpZy1mdW5jdCBmdW5jdCAocHJlZC1hcmcxIC4uLikp CgogICAgIChsZXQqICgocW9yaWctZnVuY3QgKHF1b3RlIG9yaWctZnVuY3QpKQoJICAgIChvdnJs ZC1sc3QgKGhhc2gtdGFibGUtcmVmICRvdnJsZC1odCQgcW9yaWctZnVuY3QpKSkKICAgICAgIDs7 KGRpc3BsYXkgcW9yaWctZnVuY3QpIChuZXdsaW5lKQogICAgICAgKGhhc2gtdGFibGUtc2V0ISAk b3ZybGQtaHQkIHFvcmlnLWZ1bmN0CgkJCShjb25zIChsaXN0IChsaXN0IHByZWQtYXJnMSAuLi4p IDs7IGV4YW1wbGU6ICgobnVtYmVyPyBzdHJpbmc/KSAobGFtYmRhIChuIHMpIChkaXNwbGF5IG4p IChkaXNwbGF5IHMpIChuZXdsaW5lKSkpCgkJCQkgICAgZnVuY3QpCgkJCSAgICAgIG92cmxkLWxz dCkpKSkpKQogCSAKCg== --000000000000c65d1406093d3f22 Content-Type: application/octet-stream; name="condx.scm" Content-Disposition: attachment; filename="condx.scm" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loihso562 OzsgY29uZHg6IGNvbmQoaXRpb25hbHMpIHdpdGggb3B0aW9uYWwgZXhlY3V0aW9uIG9mIHN0YXRl bWVudHMgYmVmb3JlCgkJCQkJOwoKOyBUaGlzIGZpbGUgaXMgcGFydCBvZiBTY2hlbWUrCgo7OyBD b3B5cmlnaHQgMjAyMSBEYW1pZW4gTUFUVEVJCgo7OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo7OyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQo7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgo7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKOzsg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCjs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCjs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KCjs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KCgo7IGV4YW1wbGU6 CjsoZGVmaW5lIHggMSkKOyhjb25keCAoKD0geCA3KSAnbmV2ZXIpCjsgICAgICAgIChleGVjCjsg ICAgICAgICAgKGRlZmluZSB5IDMpCjsgICAgICAgICAgKHNldCEgeCA3KSkKOyAgICAgICAgKCg9 IHkgMSkgJ2RlZmluaXRlbHlfbm90KQo7ICAgICAgICAoZXhlYwo7ICAgICAgICAgIChzZXQhIHkg MTApCjsgICAgICAgICAgKGRlZmluZSB6IDIpKQo7ICAgICAgICAoKD0geCA3KSAoKyB4IHkgeikp CjsgICAgICAgIChlbHNlICd5b3Vfc2hvdWxkX25vdF9iZV9oZXJlKSkKOwo7IDE5CgooZGVmaW5l LXN5bnRheCBjb25keAogIChzeW50YXgtcnVsZXMgKGV4ZWMgZWxzZSkKICAgICgoXykgJygpKSA7 OyBhbGxvdyBubyBlbHNlIGNsYXVzZQogICAgKChfIChlbHNlIGUgLi4uKSkKICAgICAobGV0ICgp IGUgLi4uKSkKICAgICgoXyAoZXhlYyBzIC4uLikgZDEgLi4uKQogICAgIChsZXQgKCkgcyAuLi4g KGNvbmR4IGQxIC4uLikpKQogICAgKChfICh0IGUgLi4uKSB0YWlsIC4uLikKICAgICAoaWYgdAog ICAgICAgICAobGV0ICgpIGUgLi4uKQogICAgICAgICAoY29uZHggdGFpbCAuLi4pKSkpKQoKOzsg KGRlZmluZS1zeW50YXggY29uZHgKOzsgIChzeW50YXgtcnVsZXMgKGV4ZWMgZWxzZSkKOzsgICAg KChfKQogOzsgICAgIChlcnJvciAnY29uZHggIk5vIGVsc2UgY2xhdXNlIikpCjs7ICAgICgoXyAo ZWxzZSBlIC4uLikpCjs7ICAgICAobGV0ICgpIGUgLi4uKSkKOzsgICAgKChfIChleGVjIHMgLi4u KSBkMSAuLi4pCjs7ICAgICAobGV0ICgpIHMgLi4uIChjb25keCBkMSAuLi4pKSkKOzsgICAgKChf ICh0IGUgLi4uKSB0YWlsIC4uLikKOzsgICAgIChpZiB0Cjs7ICAgICAgICAgKGxldCAoKSBlIC4u LikKOzsgICAgICAgICAoY29uZHggdGFpbCAuLi4pKSkpKQoKOzsgd2FybmluZyB0aGlzIG9uZXMg YmVoYXZlcyBkaWZmZXJlbnRseSAoY2FuIG5vdCByZW1lbWJlciB0aGUgcHJvYmxlbSkKKGRlZmlu ZS1zeW50YXggY29uZHgtYmVnaW4KICAoc3ludGF4LXJ1bGVzIChleGVjIGVsc2UpCiAgICAoKF8p ICcoKSkgOzsgYWxsb3cgbm8gZWxzZSBjbGF1c2UKICAgICgoXyAoZWxzZSBlIC4uLikpCiAgICAg KGJlZ2luIGUgLi4uKSkKICAgICgoXyAoZXhlYyBzIC4uLikgZDEgLi4uKQogICAgIChiZWdpbiBz IC4uLiAoY29uZHgtYmVnaW4gZDEgLi4uKSkpCiAgICAoKF8gKHQgZSAuLi4pIHRhaWwgLi4uKQog ICAgIChpZiB0CiAgICAgICAgIChiZWdpbiBlIC4uLikKICAgICAgICAgKGNvbmR4LWJlZ2luIHRh aWwgLi4uKSkpKSkKCgo7OyAoZGVmaW5lLXN5bnRheCBjb25keC1iZWdpbgo7OyAgIChzeW50YXgt cnVsZXMgKGV4ZWMgZWxzZSkKOzsgICAgICgoXykKOzsgICAgICAoZXJyb3IgJ2NvbmR4LWJlZ2lu ICJObyBlbHNlIGNsYXVzZSIpKQo7OyAgICAgKChfIChlbHNlIGUgLi4uKSkKOzsgICAgICAoYmVn aW4gZSAuLi4pKQo7OyAgICAgKChfIChleGVjIHMgLi4uKSBkMSAuLi4pCjs7ICAgICAgKGJlZ2lu IHMgLi4uIChjb25keC1iZWdpbiBkMSAuLi4pKSkKOzsgICAgICgoXyAodCBlIC4uLikgdGFpbCAu Li4pCjs7ICAgICAgKGlmIHQKOzsgICAgICAgICAgKGJlZ2luIGUgLi4uKQo7OyAgICAgICAgICAo Y29uZHgtYmVnaW4gdGFpbCAuLi4pKSkpKQoKCjs7IChkZWZpbmUgeCAxKQo7OyAoY29uZHggKCg9 IHggNykgJ25ldmVyKQo7OyAgICAgICAgIChleGVjCjs7ICAgICAgICAgICAoZGVmaW5lIHkgMykK OzsgICAgICAgICAgIChzZXQhIHggNykpCjs7ICAgICAgICAgKCg9IHkgMSkgJ2RlZmluaXRlbHlf bm90KQo7OyAgICAgICAgIChleGVjCjs7ICAgICAgICAgICAoc2V0ISB5IDEwKQo7OyAgICAgICAg ICAgKGRlZmluZSB6IDIpKQo7OyAgICAgICAgICgoPSB4IDcpICgrIHggeSB6KSkKOzsgICAgICAg ICAoZWxzZSAneW91X3Nob3VsZF9ub3RfYmVfaGVyZSkpCgo7OyAoZGVmaW5lIHkgMCkKOzsgKGRl ZmluZSB6IDApCjs7IChzZXQhIHggMSkKOzsgKGNvbmR4LWJlZ2luICgoPSB4IDcpICduZXZlcikK OzsgICAgICAgICAoZXhlYwo7OyAgICAgICAgICAgKHNldCEgeSAzKQo7OyAgICAgICAgICAgKHNl dCEgeCA3KSkKOzsgICAgICAgICAoKD0geSAxKSAnZGVmaW5pdGVseV9ub3QpCjs7ICAgICAgICAg KGV4ZWMKOzsgICAgICAgICAgIChzZXQhIHkgMTApCjs7ICAgICAgICAgICAoc2V0ISB6IDIpKQo7 OyAgICAgICAgICgoPSB4IDcpICgrIHggeSB6KSkKOzsgICAgICAgICAoZWxzZSAneW91X3Nob3Vs ZF9ub3RfYmVfaGVyZSkpCgo= --000000000000c65d1406093d3f22--