From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?J=C3=A9ssica_?= =?UTF-8?Q?Milar=C3=A9?= Newsgroups: gmane.lisp.guile.bugs Subject: bug#33827: Patch Date: Sun, 23 Dec 2018 15:09:22 -0200 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000004d8042057db38bed" X-Trace: blaine.gmane.org 1545584894 21934 195.159.176.226 (23 Dec 2018 17:08:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 23 Dec 2018 17:08:14 +0000 (UTC) To: 33827@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sun Dec 23 18:08:10 2018 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gb7EW-0005bU-BJ for guile-bugs@m.gmane.org; Sun, 23 Dec 2018 18:08:08 +0100 Original-Received: from localhost ([::1]:35843 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gb7Gd-00057X-3J for guile-bugs@m.gmane.org; Sun, 23 Dec 2018 12:10:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gb7GS-00057D-EO for bug-guile@gnu.org; Sun, 23 Dec 2018 12:10:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gb7GO-0002ah-15 for bug-guile@gnu.org; Sun, 23 Dec 2018 12:10:08 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:57941) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gb7GN-0002aP-QQ for bug-guile@gnu.org; Sun, 23 Dec 2018 12:10:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gb7GM-0005uJ-59 for bug-guile@gnu.org; Sun, 23 Dec 2018 12:10:03 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: =?UTF-8?Q?J=C3=A9ssica_?= =?UTF-8?Q?Milar=C3=A9?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Sun, 23 Dec 2018 17:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33827 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 33827-submit@debbugs.gnu.org id=B33827.154558498222678 (code B ref 33827); Sun, 23 Dec 2018 17:10:02 +0000 Original-Received: (at 33827) by debbugs.gnu.org; 23 Dec 2018 17:09:42 +0000 Original-Received: from localhost ([127.0.0.1]:33966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gb7G1-0005th-Ia for submit@debbugs.gnu.org; Sun, 23 Dec 2018 12:09:42 -0500 Original-Received: from mail-io1-f47.google.com ([209.85.166.47]:43217) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gb7Fz-0005tU-A2 for 33827@debbugs.gnu.org; Sun, 23 Dec 2018 12:09:40 -0500 Original-Received: by mail-io1-f47.google.com with SMTP id q17so4151119ior.10 for <33827@debbugs.gnu.org>; Sun, 23 Dec 2018 09:09:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=gPxRgx/PXSiUvuxxbLLlD7TRxE9/gR3n6MpbGVuzHGs=; b=nV6BldKApEzuHtIR+P9O0inLtyaK6Vs1JlBsr+1yvpLM7sH/YcqPE101MNDK2YFIHU 4V/AI2AoseP1nWXEgB900NHmJuyIQxbwrVzDXUxlgykZ+MSSkyHUTRcxt/go5NYM+cem 7eELVrvpoaFzdW+t7fVzEABeeTnfv5uBs7KXFE8g+kg5//7decjmYBIbPMPMKTj7/seQ qxya20PR9f7m3P/49T1Cknv5xZY4XVmHOAV81SyNA1pAy0uPzd2k1lEx6POepRC6bfSf rhAKelXPCRE5PqkKZzbWJzBezTZMt1EZ1jrYI4flxHNZ9mFBh+Honkc1r6iOkUzdUhhv w2dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=gPxRgx/PXSiUvuxxbLLlD7TRxE9/gR3n6MpbGVuzHGs=; b=k1OXwsdTmkJ0nSmrcvl0DlQiC8FK2AKE+Aaw8OGc56I+Hjz0IhE4Q8to3XHr/r7oQA KEibkUUmEMRgyOlKIPnp0Pj1QzGqPE821rvmKgX0U+isA2HobQWj2se1UziJ6wIW5e8A lQd7r71jtVpWdP7x1d9ycfVDUWsa0JDflQLUXMGBAFwcJ+iQlZAmx0BJcbseA1myT0Kw gHeomQv0tMyihFlD2gbH/imwuf9MTPshs7OhRYR+0qPXBljn4EAJXVRwbpONh7itWMuB yWF6Cv4dspkwzZdRZdqAqFhyLq1pnzII3dbaEi5OfAhTWGrk5fgCgjYGzzS2ayRKjkD4 cIjg== X-Gm-Message-State: AJcUukcA05edCyoh6/+sL7z1KlaxF+HIgRueI+8xJIG6jmPMYUaJ8GWz Fb2eAbn7Q3UFPAMy8Yl4wBaxFpUi9aEoD1sFc8awWQ== X-Google-Smtp-Source: ALg8bN5B1ZrQ3bVVjPhIcFf9A3pX4ejXKy/bsQY/r+Fb9Mp5HAI8VJw8wLDnx5tZobD0NXnBQP2C4Ow1DI0hRkcTmMU= X-Received: by 2002:a6b:600b:: with SMTP id r11mr7537125iog.259.1545584973273; Sun, 23 Dec 2018 09:09:33 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:9293 Archived-At: --0000000000004d8042057db38bed Content-Type: multipart/alternative; boundary="0000000000004d8040057db38beb" --0000000000004d8040057db38beb Content-Type: text/plain; charset="UTF-8" --0000000000004d8040057db38beb Content-Type: text/html; charset="UTF-8"

--0000000000004d8040057db38beb-- --0000000000004d8042057db38bed Content-Type: text/x-patch; charset="UTF-8"; name="0001-Fix-SRFI-69-don-t-use-handles-with-weak-tables-anymo.patch" Content-Disposition: attachment; filename="0001-Fix-SRFI-69-don-t-use-handles-with-weak-tables-anymo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jq15dexw0 RnJvbSA4N2ZmNTE5YjkyODhkZWRjYzYyYTJmZDFiMmMwM2VjY2JmNjMxZTU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sj1DMz1BOXNzaWNhPTIwTWlsYXI9QzM9QTk/ PSA8amVzc3ltaWxhcmVAZ21haWwuY29tPgpEYXRlOiBTdW4sIDIzIERlYyAyMDE4IDE1OjA3OjMy IC0wMjAwClN1YmplY3Q6IFtQQVRDSF0gRml4OiAoU1JGSSA6NjkpIGRvbid0IHVzZSBoYW5kbGVz IHdpdGggd2VhayB0YWJsZXMgYW55bW9yZS4KCk1hbnkgcHJvY2VkdXJlcyB1c2VkIGhhc2h4LWdl dC1oYW5kbGUgYW5kIGhhc2h4LWNyZWF0ZS1oYW5kbGUhIHdpdGhvdXQKY2hlY2tpbmcgd2hldGhl ciByZWFsLWhhc2gtdGFibGUgd2FzIHdlYWsuIE5vdyB0aGF0IGlzbid0IHRoZSBjYXNlCmFueW1v cmUgKEJ1ZyAzMzgyNykuIEEgYnVnIHdhcyBmaXhlZCBpbiBoYXNoLXRhYmxlLW1lcmdlISBhbmQg YSB0ZXN0IGNhc2UKd2FzIGFkZGVkLiBBIGZldyBvdGhlciBvcHRpbWl6YXRpb25zIHdlcmUgbWFk ZS4KCiogbW9kdWxlL3NyZmkvc3JmaS02OS5zY20gKGFsaXN0LT5oYXNoLXRhYmxlKToKKGhhc2gt dGFibGUtZGVsZXRlISk6CihoYXNoLXRhYmxlLWV4aXN0cz8pOgooaGFzaC10YWJsZS1yZWYpOiBE b24ndCB1c2UgaGFzaHgtZ2V0LWhhbmRsZS4KKGhhc2gtdGFibGUtc2V0ISk6IElmIHdlYWtuZXNz IGlzIHNldCwgZG9uJ3QgdXNlIGhhc2h4LWNyZWF0ZS1oYW5kbGUhCmFuZCBkb24ndCB1cGRhdGUg c2l6ZS4KKGhhc2gtdGFibGUtdXBkYXRlISk6IElmIHdlYWtuZXNzIGlzIHNldCwgZG9uJ3QgdXNl IGhhc2h4LWdldC1oYW5kbGUKYW5kIGRvbid0IHVwZGF0ZSBzaXplLiBPdGhlcndpc2UsIGNoZWNr IHdoZXRoZXIgZGVmYXVsdC10aHVuayBpcyBnaXZlbgphbmQsIGlmIHNvLCB1c2UgaGFzaHgtY3Jl YXRlLWhhbmRsZSEgdG8gYXZvaWQgZG91YmxlIGxvb2t1cC4KKGhhc2gtdGFibGUtdXBkYXRlIS9k ZWZhdWx0KTogQWRkZWQgYW4gaW1wbGVtZW50YXRpb24gdGhhdCBkb2Vzbid0IGNhbGwKaGFzaC10 YWJsZS11cGRhdGUhLCBhdm9pZGluZyBhbGxvY2F0aW5nIGEgcHJvY2VkdXJlLgooaGFzaC10YWJs ZS1zaXplKTogU2V0IGh0LXNpemUgZm9yIHdlYWsgaGFzaC10YWJsZXMuCihoYXNoLXRhYmxlLXdh bGspOgooaGFzaC10YWJsZS1jb3B5KTogVXNlIG5hdGl2ZSBoYXNoLWZvci1lYWNoIGluc3RlYWQg b2YgaGFzaC10YWJsZS1mb2xkLgooaGFzaC10YWJsZS0+YWxpc3QpOiBVc2UgbmF0aXZlIGhhc2gt bWFwLT5saXN0IGluc3RlYWQgb2YgaGFzaC10YWJsZS1mb2xkLgooaGFzaC10YWJsZS1tZXJnZSEp OiBVc2UgbmF0aXZlIGhhc2gtZm9yLWVhY2ggaW5zdGVhZCBvZiBoYXNoLXRhYmxlLWZvbGQuCldh bGtzIG92ZXIgb3RoZXItaHQgcmF0aGVyIHRoYW4gd2Fsa2luZyBodCAoYW5kIGRvaW5nIG5vdGhp bmcpLgoqIHRlc3Qtc3VpdGUvdGVzdHMvc3JmaS02OS50ZXN0OiBhbGwgYXBwcm9wcmlhdGUgdGVz dCBhcmUgcmVwbGljYXRlZCBmb3IKYWxsIHBvc3NpYmxlIHdlYWs6IGFyZ3VtZW50cy4gQWRkZWQg YSB0ZXN0IGZvciBoYXNoLXRhYmxlLW1lcmdlIS4KLS0tCiBUSEFOS1MgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMSArCiBtb2R1bGUvc3JmaS9zcmZpLTY5LnNjbSAgICAgICB8IDE0OSArKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tCiB0ZXN0LXN1aXRlL3Rlc3RzL3NyZmktNjkudGVzdCB8 IDE3NyArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQs IDIwNSBpbnNlcnRpb25zKCspLCAxMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvVEhBTktT IGIvVEhBTktTCmluZGV4IDYxNmQzYjA0Yi4uOTA1NmE3OTVjIDEwMDY0NAotLS0gYS9USEFOS1MK KysrIGIvVEhBTktTCkBAIC0yMCw2ICsyMCw3IEBAIENvbnRyaWJ1dG9ycyBzaW5jZSB0aGUgbGFz dCByZWxlYXNlOgogICAgICAgICAgICBOb2FoIExhdmluZQogICAgICAgICAgRGFuaWVsIExsb3Jl bnMKICAgICAgICAgR3JlZ29yeSBNYXJ0b24KKyAgICAgICAgSsOpc3NpY2EgTWlsYXLDqQogICAg ICAgVGhpZW4tVGhpIE5ndXllbgogICAgICAgICBIYW4tV2VuIE5pZW5odXlzCiAgICAgICAgICAg ICBKYW4gTmlldXdlbmh1aXplbgpkaWZmIC0tZ2l0IGEvbW9kdWxlL3NyZmkvc3JmaS02OS5zY20g Yi9tb2R1bGUvc3JmaS9zcmZpLTY5LnNjbQppbmRleCBiOTQ4NmM0NjUuLmEwNWVjNjFlYSAxMDA2 NDQKLS0tIGEvbW9kdWxlL3NyZmkvc3JmaS02OS5zY20KKysrIGIvbW9kdWxlL3NyZmkvc3JmaS02 OS5zY20KQEAgLTYyLDYgKzYyLDE0IEBACiA7OyBpbXBsZW1lbnRhdGlvbiwgYm90aCBhbnN3ZXIg KCJ4WSIpLiAgSG93ZXZlciwgSSBkb24ndCBndWFyYW50ZWUgdGhhdAogOzsgdGhpcyB3b24ndCBj aGFuZ2UgaW4gdGhlIGZ1dHVyZS4KIAorCis7Ozs7IENvbW1lbnRhcnkgYnkgSmVzc2ljYSBNaWxh cmUgMjAxOAorCis7OyBNYWtlIGJ1ZyBmaXhlcyBmb3Igd2VhayBoYXNoLXRhYmxlcywgc2luY2Ug aGFuZGxlcyBkb24ndCB3b3JrIGFueW1vcmUsCis7OyBhbmQgYWxzbyBzb21lIG9wdGltaXphdGlv bnMuCis7OworOzsgTXkgcGVyc29uYWwgY29tbWVudHMgYXJlIG1hcmtlZCBieSBKLk0uCisKIDs7 OyBDb2RlOgogDAogOzs7OyBNb2R1bGUgZGVmaW5pdGlvbiAmIGV4cG9ydHMKQEAgLTczLDE4ICs4 MSwxOCBAQAogICAjOnVzZS1tb2R1bGUgKGljZS05IG9wdGFyZ3MpCiAgICM6ZXhwb3J0ICg7OyBU eXBlIGNvbnN0cnVjdG9ycyAmIHByZWRpY2F0ZQogCSAgICBtYWtlLWhhc2gtdGFibGUgaGFzaC10 YWJsZT8gYWxpc3QtPmhhc2gtdGFibGUKLQkgICAgOzsgUmVmbGVjdGl2ZSBxdWVyaWVzCi0JICAg IGhhc2gtdGFibGUtZXF1aXZhbGVuY2UtZnVuY3Rpb24gaGFzaC10YWJsZS1oYXNoLWZ1bmN0aW9u Ci0JICAgIDs7IERlYWxpbmcgd2l0aCBzaW5nbGUgZWxlbWVudHMKLQkgICAgaGFzaC10YWJsZS1y ZWYgaGFzaC10YWJsZS1yZWYvZGVmYXVsdCBoYXNoLXRhYmxlLXNldCEKLQkgICAgaGFzaC10YWJs ZS1kZWxldGUhIGhhc2gtdGFibGUtZXhpc3RzPyBoYXNoLXRhYmxlLXVwZGF0ZSEKLQkgICAgaGFz aC10YWJsZS11cGRhdGUhL2RlZmF1bHQKLQkgICAgOzsgRGVhbGluZyB3aXRoIHRoZSB3aG9sZSBj b250ZW50cwotCSAgICBoYXNoLXRhYmxlLXNpemUgaGFzaC10YWJsZS1rZXlzIGhhc2gtdGFibGUt dmFsdWVzCi0JICAgIGhhc2gtdGFibGUtd2FsayBoYXNoLXRhYmxlLWZvbGQgaGFzaC10YWJsZS0+ YWxpc3QKLQkgICAgaGFzaC10YWJsZS1jb3B5IGhhc2gtdGFibGUtbWVyZ2UhCi0JICAgIDs7IEhh c2hpbmcKLQkgICAgc3RyaW5nLWNpLWhhc2ggaGFzaC1ieS1pZGVudGl0eSkKKyAgICAgICAgICAg IDs7IFJlZmxlY3RpdmUgcXVlcmllcworICAgICAgICAgICAgaGFzaC10YWJsZS1lcXVpdmFsZW5j ZS1mdW5jdGlvbiBoYXNoLXRhYmxlLWhhc2gtZnVuY3Rpb24KKyAgICAgICAgICAgIDs7IERlYWxp bmcgd2l0aCBzaW5nbGUgZWxlbWVudHMKKyAgICAgICAgICAgIGhhc2gtdGFibGUtcmVmIGhhc2gt dGFibGUtcmVmL2RlZmF1bHQgaGFzaC10YWJsZS1zZXQhCisgICAgICAgICAgICBoYXNoLXRhYmxl LWRlbGV0ZSEgaGFzaC10YWJsZS1leGlzdHM/IGhhc2gtdGFibGUtdXBkYXRlIQorICAgICAgICAg ICAgaGFzaC10YWJsZS11cGRhdGUhL2RlZmF1bHQKKyAgICAgICAgICAgIDs7IERlYWxpbmcgd2l0 aCB0aGUgd2hvbGUgY29udGVudHMKKyAgICAgICAgICAgIGhhc2gtdGFibGUtc2l6ZSBoYXNoLXRh YmxlLWtleXMgaGFzaC10YWJsZS12YWx1ZXMKKyAgICAgICAgICAgIGhhc2gtdGFibGUtd2FsayBo YXNoLXRhYmxlLWZvbGQgaGFzaC10YWJsZS0+YWxpc3QKKyAgICAgICAgICAgIGhhc2gtdGFibGUt Y29weSBoYXNoLXRhYmxlLW1lcmdlIQorICAgICAgICAgICAgOzsgSGFzaGluZworICAgICAgICAg ICAgc3RyaW5nLWNpLWhhc2ggaGFzaC1ieS1pZGVudGl0eSkKICAgIzpyZS1leHBvcnQgKHN0cmlu Zy1oYXNoKQogICAjOnJlcGxhY2UgKGhhc2ggbWFrZS1oYXNoLXRhYmxlIGhhc2gtdGFibGU/KSkK IApAQCAtMjA0LDMwICsyMTIsMzIgQEAgbWFudWFsIGZvciBzcGVjaWZpY3MsIG9mIHdoaWNoIHRo ZXJlIGFyZSBtYW55LiIKIAkgKHNpemUgKGh0LXNpemUgcmVzdWx0KSkpCiAgICAgKHdpdGgtaGFz aHgtdmFsdWVzIChoYXNoLXByb2MgYXNzb2NpYXRvciByZWFsLXRhYmxlKSByZXN1bHQKICAgICAg IChmb3ItZWFjaCAobGFtYmRhIChwYWlyKQotCQkgIChsZXQgKChoYW5kbGUgKGhhc2h4LWdldC1o YW5kbGUgaGFzaC1wcm9jIGFzc29jaWF0b3IKLQkJCQkJCSAgcmVhbC10YWJsZSAoY2FyIHBhaXIp KSkpCi0JCSAgICAoY29uZCAoKG5vdCBoYW5kbGUpCi0JCQkgICAoc2V0ISBzaXplICgxKyBzaXpl KSkKLQkJCSAgIChoYXNoeC1zZXQhIGhhc2gtcHJvYyBhc3NvY2lhdG9yIHJlYWwtdGFibGUKLQkJ CQkgICAgICAgKGNhciBwYWlyKSAoY2RyIHBhaXIpKSkpKSkKLQkJYWxpc3QpKQorICAgICAgICAg ICAgICAgICAgKGxldCAoKHZhbHVlIChoYXNoeC1yZWYgaGFzaC1wcm9jIGFzc29jaWF0b3IKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWwtdGFibGUgKGNhciBw YWlyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHQtdW5zcGVj aWZpZWQpKSkKKyAgICAgICAgICAgICAgICAgICAgKGNvbmQgKChlcT8gaHQtdW5zcGVjaWZpZWQg dmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0ISBzaXplICgxKyBzaXplKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYXNoeC1zZXQhIGhhc2gtcHJvYyBhc3NvY2lh dG9yIHJlYWwtdGFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChj YXIgcGFpcikgKGNkciBwYWlyKSkpKSkpCisgICAgICAgICAgICAgICAgYWxpc3QpKQogICAgICho dC1zaXplISByZXN1bHQgc2l6ZSkKICAgICByZXN1bHQpKQogDAogOzs7OyBBY2Nlc3NpbmcgdGFi bGUgaXRlbXMKIAogOzsgV2UgdXNlIHRoaXMgdG8gZGVub3RlIG1pc3Npbmcgb3IgdW5zcGVjaWZp ZWQgdmFsdWVzIHRvIGF2b2lkCisKIDs7IHBvc3NpYmxlIGNvbGxpc2lvbiB3aXRoICp1bnNwZWNp ZmllZCouCiAoZGVmaW5lIGh0LXVuc3BlY2lmaWVkIChjb25zICp1bnNwZWNpZmllZCogImh0LXZh bHVlIikpCiAKLShkZWZpbmUgKGhhc2gtdGFibGUtcmVmIGh0IGtleSAuIGRlZmF1bHQtdGh1bmst bHN0KQorKGRlZmluZSogKGhhc2gtdGFibGUtcmVmIGh0IGtleSAgIzpvcHRpb25hbCAoZGVmYXVs dC10aHVuayBodC11bnNwZWNpZmllZCkpCiAgICJMb29rdXAgS0VZIGluIEhUIGFuZCBhbnN3ZXIg dGhlIHZhbHVlLCBpbnZva2UgREVGQVVMVC1USFVOSyBpZiBLRVkKIGlzbid0IHByZXNlbnQsIG9y IHNpZ25hbCBhbiBlcnJvciBpZiBERUZBVUxULVRIVU5LIGlzbid0IHByb3ZpZGVkLiIKICAgKGxl dCAoKHJlc3VsdCAoaGFzaHgtaW52b2tlIGhhc2h4LXJlZiBodCBrZXkgaHQtdW5zcGVjaWZpZWQp KSkKICAgICAoaWYgKGVxPyBodC11bnNwZWNpZmllZCByZXN1bHQpCi0JKGlmIChwYWlyPyBkZWZh dWx0LXRodW5rLWxzdCkKLQkgICAgKChmaXJzdCBkZWZhdWx0LXRodW5rLWxzdCkpCi0JICAgIChl cnJvciAiS2V5IG5vdCBpbiB0YWJsZSIga2V5IGh0KSkKKwkoaWYgKGVxPyBodC11bnNwZWNpZmll ZCBkZWZhdWx0LXRodW5rKQorCSAgICAoZXJyb3IgIktleSBub3QgaW4gdGFibGUiIGtleSBodCkK KwkgICAgKGRlZmF1bHQtdGh1bmspKQogCXJlc3VsdCkpKQogCiAoZGVmaW5lIChoYXNoLXRhYmxl LXJlZi9kZWZhdWx0IGh0IGtleSBkZWZhdWx0KQpAQCAtMjM3LDQ5ICsyNDcsNzkgQEAgcHJlc2Vu dC4iCiAKIChkZWZpbmUgKGhhc2gtdGFibGUtc2V0ISBodCBrZXkgbmV3LXZhbHVlKQogICAiU2V0 IEtFWSB0byBORVctVkFMVUUgaW4gSFQuIgotICAobGV0ICgoaGFuZGxlIChoYXNoeC1pbnZva2Ug aGFzaHgtY3JlYXRlLWhhbmRsZSEgaHQga2V5IGh0LXVuc3BlY2lmaWVkKSkpCi0gICAgKGlmIChl cT8gaHQtdW5zcGVjaWZpZWQgKGNkciBoYW5kbGUpKQotCShodC1zaXplISBodCAoMSsgKGh0LXNp emUgaHQpKSkpCi0gICAgKHNldC1jZHIhIGhhbmRsZSBuZXctdmFsdWUpKQorICAoaWYgKGh0LXdl YWtuZXNzIGh0KQorICAgICAgOzsgSi5NLiBzZXBhcmF0ZSB0aGUgY2FzZSB3aGVyZSBodCBpcyB3 ZWFrIC0gZG9uJ3QgdXNlIGhhbmRsZQorICAgICAgOzsgSi5NLiBkb24ndCBuZWVkIHRvIHVwZGF0 ZSBzaXplIGZvciB3ZWFrIGhhc2gtdGFibGVzCisgICAgICAoaGFzaHgtaW52b2tlIGhhc2h4LXNl dCEgaHQga2V5IG5ldy12YWx1ZSkKKyAgICAgIChsZXQgKChoYW5kbGUgKGhhc2h4LWludm9rZSBo YXNoeC1jcmVhdGUtaGFuZGxlISBodCBrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBodC11bnNwZWNpZmllZCkpKQorICAgICAgICAoaWYgKGVxPyBodC11bnNwZWNpZmllZCAo Y2RyIGhhbmRsZSkpCisgICAgICAgICAgICAoaHQtc2l6ZSEgaHQgKDErIChodC1zaXplIGh0KSkp KQorICAgICAgICAoc2V0LWNkciEgaGFuZGxlIG5ldy12YWx1ZSkpKQogICAqdW5zcGVjaWZpZWQq KQogCiAoZGVmaW5lIChoYXNoLXRhYmxlLWRlbGV0ZSEgaHQga2V5KQogICAiUmVtb3ZlIEtFWSdz IGFzc29jaWF0aW9uIGluIEhULiIKICAgKHdpdGgtaGFzaHgtdmFsdWVzIChoIGEgcmVhbC1odCkg aHQKLSAgICAoaWYgKGhhc2h4LWdldC1oYW5kbGUgaCBhIHJlYWwtaHQga2V5KQotCShiZWdpbgot CSAgKGh0LXNpemUhIGh0ICgxLSAoaHQtc2l6ZSBodCkpKQotCSAgKGhhc2h4LXJlbW92ZSEgaCBh IHJlYWwtaHQga2V5KSkpKQorICAgIChpZiAobm90IChlcT8gaHQtdW5zcGVjaWZpZWQgKGhhc2h4 LXJlZiBoIGEgcmVhbC1odCBrZXkgaHQtdW5zcGVjaWZpZWQpKSkKKyAgICAgICAgKGJlZ2luCisg ICAgICAgICAgKGh0LXNpemUhIGh0ICgxLSAoaHQtc2l6ZSBodCkpKQorICAgICAgICAgIChoYXNo eC1yZW1vdmUhIGggYSByZWFsLWh0IGtleSkpKSkKICAgKnVuc3BlY2lmaWVkKikKIAogKGRlZmlu ZSAoaGFzaC10YWJsZS1leGlzdHM/IGh0IGtleSkKICAgIlJldHVybiB3aGV0aGVyIEtFWSBpcyBh IGtleSBpbiBIVC4iCi0gIChhbmQgKGhhc2h4LWludm9rZSBoYXNoeC1nZXQtaGFuZGxlIGh0IGtl eSkgI3QpKQorICAobm90IChlcT8gaHQtdW5zcGVjaWZpZWQgKGhhc2h4LWludm9rZSBoYXNoeC1y ZWYgaHQga2V5IGh0LXVuc3BlY2lmaWVkKSkpKQogCi07OzsgYGhhc2h4LXNldCEnIGR1cGxpY2F0 ZXMgdGhlIGhhc2ggbG9va3VwLCBidXQgd2UgdXNlIGl0IGFueXdheSB0bwotOzs7IGF2b2lkIGNy ZWF0aW5nIGEgaGFuZGxlIGluIGNhc2UgREVGQVVMVC1USFVOSyBleGl0cwogOzs7IGBoYXNoLXRh YmxlLXVwZGF0ZSEnIG5vbi1sb2NhbGx5LgotKGRlZmluZSAoaGFzaC10YWJsZS11cGRhdGUhIGh0 IGtleSBtb2RpZmllciAuIGRlZmF1bHQtdGh1bmstbHN0KQorKGRlZmluZSogKGhhc2gtdGFibGUt dXBkYXRlISBodCBrZXkgbW9kaWZpZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpv cHRpb25hbCAoZGVmYXVsdC10aHVuayBodC11bnNwZWNpZmllZCkpCiAgICJNb2RpZnkgSFQncyB2 YWx1ZSBhdCBLRVkgYnkgcGFzc2luZyBpdHMgdmFsdWUgdG8gTU9ESUZJRVIgYW5kCiBzZXR0aW5n IGl0IHRvIHRoZSByZXN1bHQgdGhlcmVvZi4gIEludm9rZSBERUZBVUxULVRIVU5LIGZvciB0aGUg b2xkCiB2YWx1ZSBpZiBLRVkgaXNuJ3QgaW4gSFQsIG9yIHNpZ25hbCBhbiBlcnJvciBpZiBERUZB VUxULVRIVU5LIGlzIG5vdAogcHJvdmlkZWQuIgogICAod2l0aC1oYXNoeC12YWx1ZXMgKGhhc2gt cHJvYyBhc3NvY2lhdG9yIHJlYWwtdGFibGUpIGh0Ci0gICAgKGxldCAoKGhhbmRsZSAoaGFzaHgt Z2V0LWhhbmRsZSBoYXNoLXByb2MgYXNzb2NpYXRvciByZWFsLXRhYmxlIGtleSkpKQotICAgICAg KGNvbmQgKGhhbmRsZQotCSAgICAgKHNldC1jZHIhIGhhbmRsZSAobW9kaWZpZXIgKGNkciBoYW5k bGUpKSkpCi0JICAgIChlbHNlCi0JICAgICAoaGFzaHgtc2V0ISBoYXNoLXByb2MgYXNzb2NpYXRv ciByZWFsLXRhYmxlIGtleQotCQkJIChpZiAocGFpcj8gZGVmYXVsdC10aHVuay1sc3QpCi0JCQkg ICAgIChtb2RpZmllciAoKGNhciBkZWZhdWx0LXRodW5rLWxzdCkpKQotCQkJICAgICAoZXJyb3Ig IktleSBub3QgaW4gdGFibGUiIGtleSBodCkpKQotCSAgICAgKGh0LXNpemUhIGh0ICgxKyAoaHQt c2l6ZSBodCkpKSkpKSkKKyAgICAoaWYgKGh0LXdlYWtuZXNzIGh0KQorICAgICAgICA7OyBKLk0u IHNlcGFyYXRlIHRoZSBjYXNlIHdoZXJlIGh0IGlzIHdlYWsgLSBkb24ndCB1c2UgaGFuZGxlCisg ICAgICAgIChsZXQqICgob2xkIChoYXNoeC1yZWYgaGFzaC1wcm9jIGFzc29jaWF0b3IgcmVhbC10 YWJsZSBrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodC11bnNwZWNpZmllZCkp KQorICAgICAgICAgIChjb25kICgoZXE/IGh0LXVuc3BlY2lmaWVkIG9sZCkKKyAgICAgICAgICAg ICAgICAgKGlmIChlcT8gaHQtdW5zcGVjaWZpZWQgZGVmYXVsdC10aHVuaykKKyAgICAgICAgICAg ICAgICAgICAgIChlcnJvciAiS2V5IG5vdCBpbiB0YWJsZSIga2V5IGh0KQorICAgICAgICAgICAg ICAgICAgICAgKGhhc2h4LXNldCEgaGFzaC1wcm9jIGFzc29jaWF0b3IgcmVhbC10YWJsZSBrZXkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RpZmllciAoZGVmYXVsdC10aHVu aykpKSkpCisgICAgICAgICAgICAgICAgKGVsc2UKKyAgICAgICAgICAgICAgICAgKGhhc2h4LXNl dCEgaGFzaC1wcm9jIGFzc29jaWF0b3IgcmVhbC10YWJsZSBrZXkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG1vZGlmaWVyIG9sZCkpKSkpCisgICAgICAgIChsZXQgKChoYW5kbGUKKyAg ICAgICAgICAgICAgIChpZiAoZXE/IGh0LXVuc3BlY2lmaWVkIGRlZmF1bHQtdGh1bmspCisgICAg ICAgICAgICAgICAgICAgKGhhc2h4LWdldC1oYW5kbGUgaGFzaC1wcm9jIGFzc29jaWF0b3IgcmVh bC10YWJsZSBrZXkpCisgICAgICAgICAgICAgICAgICAgKGhhc2h4LWNyZWF0ZS1oYW5kbGUhIGhh c2gtcHJvYyBhc3NvY2lhdG9yIHJlYWwtdGFibGUga2V5CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGh0LXVuc3BlY2lmaWVkKSkpKQorICAgICAgICAgIChjb25kICho YW5kbGUKKyAgICAgICAgICAgICAgICAgKGlmIChlcT8gaHQtdW5zcGVjaWZpZWQgKGNkciBoYW5k bGUpKQorICAgICAgICAgICAgICAgICAgICAgKGJlZ2luIChodC1zaXplISBodCAoMSsgKGh0LXNp emUgaHQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0LWNkciEgaGFuZGxlICht b2RpZmllciAoZGVmYXVsdC10aHVuaykpKSkKKyAgICAgICAgICAgICAgICAgICAgIChzZXQtY2Ry ISBoYW5kbGUgKG1vZGlmaWVyIChjZHIgaGFuZGxlKSkpKSkKKyAgICAgICAgICAgICAgICAoZWxz ZQorICAgICAgICAgICAgICAgICAoZXJyb3IgIktleSBub3QgaW4gdGFibGUiIGtleSBodCkpKSkp KQogICAqdW5zcGVjaWZpZWQqKQogCis7OzsgSi5NLiBDdXN0b20gaW1wbGVtZW50YXRpb24gaW5z dGVhZCBvZiB1c2luZyBoYXNoLXRhYmxlLXVwZGF0ZSEKIChkZWZpbmUgKGhhc2gtdGFibGUtdXBk YXRlIS9kZWZhdWx0IGh0IGtleSBtb2RpZmllciBkZWZhdWx0KQogICAiTW9kaWZ5IEhUJ3MgdmFs dWUgYXQgS0VZIGJ5IHBhc3NpbmcgaXRzIG9sZCB2YWx1ZSwgb3IgREVGQVVMVCBpZiBpdAogZG9l c24ndCBoYXZlIG9uZSwgdG8gTU9ESUZJRVIsIGFuZCBzZXR0aW5nIGl0IHRvIHRoZSByZXN1bHQg dGhlcmVvZi4iCi0gIChoYXNoLXRhYmxlLXVwZGF0ZSEgaHQga2V5IG1vZGlmaWVyIChsYW1iZGEg KCkgZGVmYXVsdCkpKQorICAod2l0aC1oYXNoeC12YWx1ZXMgKGhhc2gtcHJvYyBhc3NvY2lhdG9y IHJlYWwtdGFibGUpIGh0CisgICAgKGlmIChodC13ZWFrbmVzcyBodCkKKyAgICAgICAgOzsgSi5N LiBzZXBhcmF0ZSB0aGUgY2FzZSB3aGVyZSBodCBpcyB3ZWFrIC0gZG9uJ3QgdXNlIGhhbmRsZQor ICAgICAgICAobGV0KiAoKG9sZCAoaGFzaHgtcmVmIGhhc2gtcHJvYyBhc3NvY2lhdG9yIHJlYWwt dGFibGUga2V5IGRlZmF1bHQpKSkKKyAgICAgICAgICAoaGFzaHgtc2V0ISBoYXNoLXByb2MgYXNz b2NpYXRvciByZWFsLXRhYmxlIGtleSAobW9kaWZpZXIgb2xkKSkpCisgICAgICAgIChsZXQgKCho YW5kbGUgKGhhc2h4LWNyZWF0ZS1oYW5kbGUhIGhhc2gtcHJvYyBhc3NvY2lhdG9yIHJlYWwtdGFi bGUga2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0LXVu c3BlY2lmaWVkKSkpCisgICAgICAgICAgKGlmIChlcT8gaHQtdW5zcGVjaWZpZWQgKGNkciBoYW5k bGUpKQorICAgICAgICAgICAgICAoYmVnaW4gKGh0LXNpemUhIGh0ICgxKyAoaHQtc2l6ZSBodCkp KQorICAgICAgICAgICAgICAgICAgICAgKHNldC1jZHIhIGhhbmRsZSAobW9kaWZpZXIgZGVmYXVs dCkpKQorICAgICAgICAgICAgICAoc2V0LWNkciEgaGFuZGxlIChtb2RpZmllciAoY2RyIGhhbmRs ZSkpKSkpKSkpCiAMCiA7Ozs7IEFjY2Vzc2luZyB3aG9sZSB0YWJsZXMKIApAQCAtMjg3LDcgKzMy Nyw5IEBAIGRvZXNuJ3QgaGF2ZSBvbmUsIHRvIE1PRElGSUVSLCBhbmQgc2V0dGluZyBpdCB0byB0 aGUgcmVzdWx0IHRoZXJlb2YuIgogICAiUmV0dXJuIHRoZSBudW1iZXIgb2YgYXNzb2NpYXRpb25z IGluIEhULiAgVGhpcyBpcyBndWFyYW50ZWVkIE8oMSkKIGZvciB0YWJsZXMgd2hlcmUgIzp3ZWFr IHdhcyAjZiBvciBub3Qgc3BlY2lmaWVkIGF0IGNyZWF0aW9uIHRpbWUuIgogICAoaWYgKGh0LXdl YWtuZXNzIGh0KQotICAgICAgKGhhc2gtdGFibGUtZm9sZCBodCAobGFtYmRhIChrIHYgYW5zKSAo MSsgYW5zKSkgMCkKKyAgICAgIChsZXQgKChzaXplIChoYXNoLXRhYmxlLWZvbGQgaHQgKGxhbWJk YSAoayB2IGFucykgKDErIGFucykpIDApKSkKKyAgICAgICAgKGh0LXNpemUhIGh0IHNpemUpCisg ICAgICAgIHNpemUpCiAgICAgICAoaHQtc2l6ZSBodCkpKQogCiAoZGVmaW5lIChoYXNoLXRhYmxl LWtleXMgaHQpCkBAIC0zMDAsMTAgKzM0Miw3IEBAIGZvciB0YWJsZXMgd2hlcmUgIzp3ZWFrIHdh cyAjZiBvciBub3Qgc3BlY2lmaWVkIGF0IGNyZWF0aW9uIHRpbWUuIgogCiAoZGVmaW5lIChoYXNo LXRhYmxlLXdhbGsgaHQgcHJvYykKICAgIkNhbGwgUFJPQyB3aXRoIGVhY2gga2V5IGFuZCB2YWx1 ZSBhcyB0d28gYXJndW1lbnRzLiIKLSAgKGhhc2gtdGFibGUtZm9sZCBodCAobGFtYmRhIChrIHYg dW5zcGVjKQotICAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC12YWx1ZXMgKGxhbWJk YSAoKSAocHJvYyBrIHYpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIHZhbHMg dW5zcGVjKSkpCi0JCSAgICp1bnNwZWNpZmllZCopKQorICAoaGFzaC1mb3ItZWFjaCBwcm9jICho dC1yZWFsLXRhYmxlIGh0KSkpCiAKIChkZWZpbmUgKGhhc2gtdGFibGUtZm9sZCBodCBmIGtuaWwp CiAgICJJbnZva2UgKEYgS0VZIFZBTCBQUkVWKSBmb3IgZWFjaCBLRVkgYW5kIFZBTCBpbiBIVCwg d2hlcmUgUFJFViBpcwpAQCAtMzEzLDE1ICszNTIsMTUgQEAgQW5zd2VyIHRoZSBmaW5hbCBGIHJl c3VsdC4iCiAKIChkZWZpbmUgKGhhc2gtdGFibGUtPmFsaXN0IGh0KQogICAiUmV0dXJuIGFuIGFs aXN0IGZvciBIVC4iCi0gIChoYXNoLXRhYmxlLWZvbGQgaHQgYWxpc3QtY29ucyAnKCkpKQorICAo aGFzaC1tYXAtPmxpc3QgY29ucyAoaHQtcmVhbC10YWJsZSBodCkpKQogCiAoZGVmaW5lIChoYXNo LXRhYmxlLWNvcHkgaHQpCiAgICJBbnN3ZXIgYSBjb3B5IG9mIEhULiIKICAgKHdpdGgtaGFzaHgt dmFsdWVzIChoIGEgcmVhbC1odCkgaHQKICAgICAobGV0KiAoKHNpemUgKGhhc2gtdGFibGUtc2l6 ZSBodCkpICh3ZWFrIChodC13ZWFrbmVzcyBodCkpCiAJICAgKG5ldy1yZWFsLWh0ICgoZ3VpbGUt aHQtY3RvciB3ZWFrKSBzaXplKSkpCi0gICAgICAoaGFzaC1mb2xkIChsYW1iZGEgKGsgdiBpZ24p IChoYXNoeC1zZXQhIGggYSBuZXctcmVhbC1odCBrIHYpKQotCQkgI2YgcmVhbC1odCkKKyAgICAg IChoYXNoLWZvci1lYWNoIChsYW1iZGEgKGsgdikgKGhhc2h4LXNldCEgaCBhIG5ldy1yZWFsLWh0 IGsgdikpCisgICAgICAgICAgICAgICAgICAgICByZWFsLWh0KQogICAgICAgKG1ha2Utc3JmaS02 OS1oYXNoLXRhYmxlCQk7cmVhbCxhc3NvYyxzaXplLHdlYWssZXF1aXYsaAogICAgICAgIG5ldy1y ZWFsLWh0IGEgc2l6ZSB3ZWFrCiAgICAgICAgKGhhc2gtdGFibGUtZXF1aXZhbGVuY2UtZnVuY3Rp b24gaHQpIGgpKSkpCkBAIC0zMjksOCArMzY4LDggQEAgQW5zd2VyIHRoZSBmaW5hbCBGIHJlc3Vs dC4iCiAoZGVmaW5lIChoYXNoLXRhYmxlLW1lcmdlISBodCBvdGhlci1odCkKICAgIkFkZCBhbGwg a2V5L3ZhbHVlIHBhaXJzIGZyb20gT1RIRVItSFQgdG8gSFQsIG92ZXJyaWRpbmcgSFQncwogbWFw cGluZ3Mgd2hlcmUgcHJlc2VudC4gIFJldHVybiBIVC4iCi0gIChoYXNoLXRhYmxlLWZvbGQKLSAg IGh0IChsYW1iZGEgKGsgdiBpZ24pIChoYXNoLXRhYmxlLXNldCEgaHQgayB2KSkgI2YpCisgICho YXNoLWZvci1lYWNoIChsYW1iZGEgKGsgdikgKGhhc2gtdGFibGUtc2V0ISBodCBrIHYpKQorICAg ICAgICAgICAgICAgICAoaHQtcmVhbC10YWJsZSBvdGhlci1odCkpCiAgIGh0KQogCiA7Ozsgc3Jm aS02OS5zY20gZW5kcyBoZXJlCmRpZmYgLS1naXQgYS90ZXN0LXN1aXRlL3Rlc3RzL3NyZmktNjku dGVzdCBiL3Rlc3Qtc3VpdGUvdGVzdHMvc3JmaS02OS50ZXN0CmluZGV4IGU5OWI3NmM2ZC4uMTA1 YWUzNzU5IDEwMDY0NAotLS0gYS90ZXN0LXN1aXRlL3Rlc3RzL3NyZmktNjkudGVzdAorKysgYi90 ZXN0LXN1aXRlL3Rlc3RzL3NyZmktNjkudGVzdApAQCAtMjgsODAgKzI4LDEyMyBAQCBjYXNlLWlu c2Vuc2l0aXZlIHN0cmluZ3MgdG8gYGVxdWFsPyctdGVzdGVkIHZhbHVlcy4iCiAgIChhbmQgKHN0 cmluZy1jaT0/IChjYXIgbGVmdCkgKGNhciByaWdodCkpCiAgICAgICAgKGVxdWFsPyAoY2RyIGxl ZnQpIChjZHIgcmlnaHQpKSkpCiAKKyhkZWZpbmUtc3ludGF4IHdpdGgtd2Vha25lc3MtbGlzdAor ICAoc3ludGF4LXJ1bGVzICgpCisgICAgKCh3aXRoLXdlYWtuZXNzLWxpc3Qgd2Vha25lc3Mgd2Vh a25lc3MtbGlzdCBleHByIC4uLikKKyAgICAgKGxldCBsb29wICgod2Vha25lc3MtbGlzdCogd2Vh a25lc3MtbGlzdCkpCisgICAgICAgKG9yIChudWxsPyB3ZWFrbmVzcy1saXN0KikKKyAgICAgICAg ICAgKGFuZCAobGV0ICgod2Vha25lc3MgKGNhciB3ZWFrbmVzcy1saXN0KikpKQorICAgICAgICAg ICAgICAgICAgZXhwciAuLi4pCisgICAgICAgICAgICAgICAgKGxvb3AgKGNkciB3ZWFrbmVzcy1s aXN0KikpKSkpKSkpCisKKyhkZWZpbmUgKHRlc3Qtc3RyLXdlYWtuZXNzIHN0ciB3ZWFrbmVzcykK KyAgKGlmIChub3Qgd2Vha25lc3MpIHN0ciAoZm9ybWF0ICNmICJ+YSAod2VhazogfmEpIiBzdHIg d2Vha25lc3MpKSkKKwogKHdpdGgtdGVzdC1wcmVmaXggIlNSRkktNjkiCiAKLSAgKHBhc3MtaWYg InNtYWxsIGFsaXN0PC0+aGFzaCB0YWJsZXMgcm91bmQtdHJpcCIKLSAgICAobGV0KiAoKHN0YXJ0 LWFsaXN0ICcoKGEgLiAxKSAoYiAuIDIpIChjIC4gMykgKGEgLiA0MikpKQotCSAgIChodCAoYWxp c3QtPmhhc2gtdGFibGUgc3RhcnQtYWxpc3QgZXE/KSkKLQkgICAoZW5kLWFsaXN0IChoYXNoLXRh YmxlLT5hbGlzdCBodCkpKQotICAgICAgKGFuZCAoPSAzIChoYXNoLXRhYmxlLXNpemUgaHQpKQot CSAgIChsc2V0PSBlcXVhbD8gZW5kLWFsaXN0ICh0YWtlIHN0YXJ0LWFsaXN0IDMpKQotCSAgICg9 IDEgKGhhc2gtdGFibGUtcmVmIGh0ICdhKSkKLQkgICAoPSAyIChoYXNoLXRhYmxlLXJlZiBodCAn YikpCi0JICAgKD0gMyAoaGFzaC10YWJsZS1yZWYgaHQgJ2MpKSkpKQotCi0gIChwYXNzLWlmICJz dHJpbmctY2k9PyB0YWJsZXMgd29yayBieSBkZWZhdWx0IgotICAgIChsZXQgKChodCAoYWxpc3Qt Pmhhc2gtdGFibGUgJygoInhZIiAuIDIpICgiYWJjIiAuIDU0KSkgc3RyaW5nLWNpPT8pKSkKLSAg ICAgIChoYXNoLXRhYmxlLXNldCEgaHQgIlhZIiA0MikKLSAgICAgIChoYXNoLXRhYmxlLXNldCEg aHQgInFxcSIgMTAwKQotICAgICAgKGFuZCAoPSA1NCAoaGFzaC10YWJsZS1yZWYgaHQgIkFCYyIp KQotCSAgICg9IDQyIChoYXNoLXRhYmxlLXJlZiBodCAieHkiKSkKLQkgICAoPSAzIChoYXNoLXRh YmxlLXNpemUgaHQpKQotCSAgIChsc2V0PSBzdHJpbmctY2ktYXNzb2MtZXF1YWw/Ci0JCSAgJygo Inh5IiAuIDQyKSAoImFiYyIgLiA1NCkgKCJxcXEiIC4gMTAwKSkKLQkJICAoaGFzaC10YWJsZS0+ YWxpc3QgaHQpKSkpKQorICAod2l0aC13ZWFrbmVzcy1saXN0IHdlYWtuZXNzIChsaXN0ICNmICdr ZXkgJ3ZhbHVlICdrZXktb3ItdmFsdWUpCisgICAgKHBhc3MtaWYgKHRlc3Qtc3RyLXdlYWtuZXNz ICJzbWFsbCBhbGlzdDwtPmhhc2ggdGFibGVzIHJvdW5kLXRyaXAiIHdlYWtuZXNzKQorICAgICAg KGxldCogKChzdGFydC1hbGlzdCAnKChhIC4gMSkgKGIgLiAyKSAoYyAuIDMpIChhIC4gNDIpKSkK KyAgICAgICAgICAgICAoaHQgKGFsaXN0LT5oYXNoLXRhYmxlIHN0YXJ0LWFsaXN0IGVxPykpCisg ICAgICAgICAgICAgKGVuZC1hbGlzdCAoaGFzaC10YWJsZS0+YWxpc3QgaHQpKSkKKyAgICAgICAg KGFuZCAoPSAzIChoYXNoLXRhYmxlLXNpemUgaHQpKQorICAgICAgICAgICAgIChsc2V0PSBlcXVh bD8gZW5kLWFsaXN0ICh0YWtlIHN0YXJ0LWFsaXN0IDMpKQorICAgICAgICAgICAgICg9IDEgKGhh c2gtdGFibGUtcmVmIGh0ICdhKSkKKyAgICAgICAgICAgICAoPSAyIChoYXNoLXRhYmxlLXJlZiBo dCAnYikpCisgICAgICAgICAgICAgKD0gMyAoaGFzaC10YWJsZS1yZWYgaHQgJ2MpKSkpKSkKKwor ICAod2l0aC13ZWFrbmVzcy1saXN0IHdlYWtuZXNzIChsaXN0ICNmICdrZXkgJ3ZhbHVlICdrZXkt b3ItdmFsdWUpCisgICAgKHBhc3MtaWYgKHRlc3Qtc3RyLXdlYWtuZXNzICJzdHJpbmctY2k9PyB0 YWJsZXMgd29yayBieSBkZWZhdWx0IiB3ZWFrbmVzcykKKyAgICAgIChsZXQgKChodCAoYWxpc3Qt Pmhhc2gtdGFibGUgJygoInhZIiAuIDIpICgiYWJjIiAuIDU0KSkgc3RyaW5nLWNpPT8KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzp3ZWFrIHdlYWtuZXNzKSkpCisgICAgICAg IChoYXNoLXRhYmxlLXNldCEgaHQgIlhZIiA0MikKKyAgICAgICAgKGhhc2gtdGFibGUtc2V0ISBo dCAicXFxIiAxMDApCisgICAgICAgIChhbmQgKD0gNTQgKGhhc2gtdGFibGUtcmVmIGh0ICJBQmMi KSkKKyAgICAgICAgICAgICAoPSA0MiAoaGFzaC10YWJsZS1yZWYgaHQgInh5IikpCisgICAgICAg ICAgICAgKD0gMyAoaGFzaC10YWJsZS1zaXplIGh0KSkKKyAgICAgICAgICAgICAobHNldD0gc3Ry aW5nLWNpLWFzc29jLWVxdWFsPworICAgICAgICAgICAgICAgICAgICAnKCgieHkiIC4gNDIpICgi YWJjIiAuIDU0KSAoInFxcSIgLiAxMDApKQorICAgICAgICAgICAgICAgICAgICAoaGFzaC10YWJs ZS0+YWxpc3QgaHQpKSkpKSkKIAogICAocGFzcy1pZi1leGNlcHRpb24gIkJhZCB3ZWFrbmVzcyBh cmcgdG8gbWh0IHNpZ25hbHMgYW4gZXJyb3IiCi0JCSAgICAgJyhtaXNjLWVycm9yIC4gIl5JbnZh bGlkIHdlYWsgaGFzaCB0YWJsZSB0eXBlIikKKyAgICAgICAgICAgICAgICAgICAgICcobWlzYy1l cnJvciAuICJeSW52YWxpZCB3ZWFrIGhhc2ggdGFibGUgdHlwZSIpCiAgICAgKG1ha2UtaGFzaC10 YWJsZSBlcXVhbD8gaGFzaCAjOndlYWsgJ2tleS1hbmQtdmFsdWUpKQogCi0gIChwYXNzLWlmICJl bXB0eSBoYXNoIHRhYmxlcyBhcmUgZW1wdHkiCi0gICAgKG51bGw/IChoYXNoLXRhYmxlLT5hbGlz dCAobWFrZS1oYXNoLXRhYmxlIGVxPykpKSkKLQotICAocGFzcy1pZiAiaGFzaC10YWJsZS1yZWYg dXNlcyBkZWZhdWx0IgotICAgIChlcXVhbD8gJyg0KQotCSAgICAoaGFzaC10YWJsZS1yZWYgKGFs aXN0LT5oYXNoLXRhYmxlICcoKGEgLiAxKSkgZXE/KQotCQkJICAgICdiIChjdXQgbGlzdCAoKyAy IDIpKSkpKQotCi0gIChwYXNzLWlmICJoYXNoLXRhYmxlLWRlbGV0ZSEgZGVsZXRlcyBwcmVzZW50 IGFzc29jcywgaWdub3JlcyBvdGhlcnMiCi0gICAgKGxldCAoKGh0IChhbGlzdC0+aGFzaC10YWJs ZSAnKChhIC4gMSkgKGIgLiAyKSkgZXE/KSkpCi0gICAgICAoaGFzaC10YWJsZS1kZWxldGUhIGh0 ICdjKQotICAgICAgKGFuZCAoPSAyIChoYXNoLXRhYmxlLXNpemUgaHQpKQotCSAgIChiZWdpbgot CSAgICAgKGhhc2gtdGFibGUtZGVsZXRlISBodCAnYSkKLQkgICAgICg9IDEgKGhhc2gtdGFibGUt c2l6ZSBodCkpKQotCSAgIChsc2V0PSBlcXVhbD8gJygoYiAuIDIpKSAoaGFzaC10YWJsZS0+YWxp c3QgaHQpKSkpKQotCi0gIChwYXNzLWlmICJhbGlzdC0+aGFzaC10YWJsZSBkb2VzIG5vdCByZXF1 aXJlIGxpbmVhciBzdGFjayBzcGFjZSIKLSAgICAoZXF2PyA5OTk5OQotCSAgKGhhc2gtdGFibGUt cmVmIChhbGlzdC0+aGFzaC10YWJsZQotCQkJICAgKHVuZm9sZC1yaWdodCAoY3V0ID49IDw+IDEw MDAwMCkKLQkJCQkJIChsYW1iZGEgKHMpIGAoeCAuICxzKSkgMSsgMCkKLQkJCSAgIGVxPykKLQkJ CSAgJ3gpKSkKLQotICAocGFzcy1pZiAiaGFzaC10YWJsZS13YWxrIGlnbm9yZXMgcmV0dXJuIHZh bHVlcyIKLSAgICAobGV0ICgoaHQgKGFsaXN0LT5oYXNoLXRhYmxlICcoKGEgLiAxKSAoYiAuIDIp IChjIC4gMykpIGVxPykpKQotICAgICAgKGZvci1lYWNoIChjdXQgaGFzaC10YWJsZS13YWxrIGh0 IDw+KQotCQkobGlzdCAobGFtYmRhIChrIHYpICh2YWx1ZXMpKQotCQkgICAgICAobGFtYmRhIChr IHYpICh2YWx1ZXMgMSAyIDMpKSkpCi0gICAgICAjdCkpCi0KLSAgKHBhc3MtaWYgImhhc2gtdGFi bGUtdXBkYXRlISBtb2RpZmllcyBleGlzdGluZyBiaW5kaW5nIgotICAgIChsZXQgKChodCAoYWxp c3QtPmhhc2gtdGFibGUgJygoYSAuIDEpKSBlcT8pKSkKLSAgICAgIChoYXNoLXRhYmxlLXVwZGF0 ZSEgaHQgJ2EgMSspCi0gICAgICAoaGFzaC10YWJsZS11cGRhdGUhIGh0ICdhIChjdXQgKyA0IDw+ KSAobGFtYmRhICgpIDQyKSkKLSAgICAgIChhbmQgKD0gMSAoaGFzaC10YWJsZS1zaXplIGh0KSkK LQkgICAobHNldD0gZXF1YWw/ICcoKGEgLiA2KSkgKGhhc2gtdGFibGUtPmFsaXN0IGh0KSkpKSkK LQotICAocGFzcy1pZiAiaGFzaC10YWJsZS11cGRhdGUhIGNyZWF0ZXMgbmV3IGJpbmRpbmcgd2hl biBhcHByb3ByaWF0ZSIKLSAgICAobGV0ICgoaHQgKG1ha2UtaGFzaC10YWJsZSBlcT8pKSkKLSAg ICAgIChoYXNoLXRhYmxlLXVwZGF0ZSEgaHQgJ2IgMSsgKGxhbWJkYSAoKSA0MikpCi0gICAgICAo aGFzaC10YWJsZS11cGRhdGUhIGh0ICdiIChjdXQgKyAxMCA8PikpCi0gICAgICAoYW5kICg9IDEg KGhhc2gtdGFibGUtc2l6ZSBodCkpCi0JICAgKGxzZXQ9IGVxdWFsPyAnKChiIC4gNTMpKSAoaGFz aC10YWJsZS0+YWxpc3QgaHQpKSkpKQorICAod2l0aC13ZWFrbmVzcy1saXN0IHdlYWtuZXNzIChs aXN0ICNmICdrZXkgJ3ZhbHVlICdrZXktb3ItdmFsdWUpCisgICAgKHBhc3MtaWYgKHRlc3Qtc3Ry LXdlYWtuZXNzICJlbXB0eSBoYXNoIHRhYmxlcyBhcmUgZW1wdHkiIHdlYWtuZXNzKQorICAgICAg KGxldCBsb29wICgod2Vha25lc3MtbGlzdCAobGlzdCAjZiAna2V5ICd2YWx1ZSAna2V5LW9yLXZh bHVlKSkpCisgICAgICAgIChvciAobnVsbD8gd2Vha25lc3MtbGlzdCkKKyAgICAgICAgICAgIChs ZXQgKCh3ZWFrbmVzcyAoY2FyIHdlYWtuZXNzLWxpc3QpKSkKKyAgICAgICAgICAgICAgKGFuZCAo bnVsbD8gKGhhc2gtdGFibGUtPmFsaXN0IChtYWtlLWhhc2gtdGFibGUgZXE/ICM6d2VhayB3ZWFr bmVzcykpKQorICAgICAgICAgICAgICAgICAgIChsb29wIChjZHIgd2Vha25lc3MtbGlzdCkpKSkp KSkpCisKKyAgKHdpdGgtd2Vha25lc3MtbGlzdCB3ZWFrbmVzcyAobGlzdCAjZiAna2V5ICd2YWx1 ZSAna2V5LW9yLXZhbHVlKQorICAgIChwYXNzLWlmICh0ZXN0LXN0ci13ZWFrbmVzcyAiaGFzaC10 YWJsZS1yZWYgdXNlcyBkZWZhdWx0IiB3ZWFrbmVzcykKKyAgICAgIChlcXVhbD8gJyg0KQorICAg ICAgICAgICAgICAoaGFzaC10YWJsZS1yZWYgKGFsaXN0LT5oYXNoLXRhYmxlICcoKGEgLiAxKSkg ZXE/ICM6d2VhayB3ZWFrbmVzcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiIChj dXQgbGlzdCAoKyAyIDIpKSkpKSkKKworICAod2l0aC13ZWFrbmVzcy1saXN0IHdlYWtuZXNzIChs aXN0ICNmICdrZXkgJ3ZhbHVlICdrZXktb3ItdmFsdWUpCisgICAgKHBhc3MtaWYgKHRlc3Qtc3Ry LXdlYWtuZXNzICJoYXNoLXRhYmxlLWRlbGV0ZSEgZGVsZXRlcyBwcmVzZW50IGFzc29jcywgaWdu b3JlcyBvdGhlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYWtuZXNzKQor ICAgICAgKGxldCAoKGh0IChhbGlzdC0+aGFzaC10YWJsZSAnKChhIC4gMSkgKGIgLiAyKSkgZXE/ ICM6d2VhayB3ZWFrbmVzcykpKQorICAgICAgICAoaGFzaC10YWJsZS1kZWxldGUhIGh0ICdjKQor ICAgICAgICAoYW5kICg9IDIgKGhhc2gtdGFibGUtc2l6ZSBodCkpCisgICAgICAgICAgICAgKGJl Z2luCisgICAgICAgICAgICAgICAoaGFzaC10YWJsZS1kZWxldGUhIGh0ICdhKQorICAgICAgICAg ICAgICAgKD0gMSAoaGFzaC10YWJsZS1zaXplIGh0KSkpCisgICAgICAgICAgICAgKGxzZXQ9IGVx dWFsPyAnKChiIC4gMikpIChoYXNoLXRhYmxlLT5hbGlzdCBodCkpKSkpKQorCisgICh3aXRoLXdl YWtuZXNzLWxpc3Qgd2Vha25lc3MgKGxpc3QgI2YgJ2tleSAndmFsdWUgJ2tleS1vci12YWx1ZSkK KyAgICAocGFzcy1pZiAodGVzdC1zdHItd2Vha25lc3MgImFsaXN0LT5oYXNoLXRhYmxlIGRvZXMg bm90IHJlcXVpcmUgbGluZWFyIHN0YWNrIHNwYWNlIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB3ZWFrbmVzcykKKyAgICAgIChlcXY/IDk5OTk5CisgICAgICAgICAgICAoaGFzaC10 YWJsZS1yZWYgKGFsaXN0LT5oYXNoLXRhYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh1bmZvbGQtcmlnaHQgKGN1dCA+PSA8PiAxMDAwMDApCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAocykgYCh4IC4gLHMpKSAxKyAwKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlcT8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Izp3ZWFrIHdlYWtuZXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4KSkpKQorCisg ICh3aXRoLXdlYWtuZXNzLWxpc3Qgd2Vha25lc3MgKGxpc3QgI2YgJ2tleSAndmFsdWUgJ2tleS1v ci12YWx1ZSkKKyAgICAocGFzcy1pZiAodGVzdC1zdHItd2Vha25lc3MgImhhc2gtdGFibGUtd2Fs ayBpZ25vcmVzIHJldHVybiB2YWx1ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHdlYWtuZXNzKQorICAgICAgKGxldCAoKGh0IChhbGlzdC0+aGFzaC10YWJsZSAnKChhIC4gMSkg KGIgLiAyKSAoYyAuIDMpKSBlcT8pKSkKKyAgICAgICAgKGZvci1lYWNoIChjdXQgaGFzaC10YWJs ZS13YWxrIGh0IDw+KQorICAgICAgICAgICAgICAgICAgKGxpc3QgKGxhbWJkYSAoayB2KSAodmFs dWVzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGsgdikgKHZhbHVlcyAxIDIg MykpKSkKKyAgICAgICAgI3QpKSkKKworICAod2l0aC13ZWFrbmVzcy1saXN0IHdlYWtuZXNzIChs aXN0ICNmICdrZXkgJ3ZhbHVlICdrZXktb3ItdmFsdWUpCisgICAgKHBhc3MtaWYgKHRlc3Qtc3Ry LXdlYWtuZXNzICJoYXNoLXRhYmxlLXVwZGF0ZSEgbW9kaWZpZXMgZXhpc3RpbmcgYmluZGluZyIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Vha25lc3MpCisgICAgICAobGV0ICgo aHQgKGFsaXN0LT5oYXNoLXRhYmxlICcoKGEgLiAxKSkgZXE/ICM6d2VhayB3ZWFrbmVzcykpKQor ICAgICAgICAoaGFzaC10YWJsZS11cGRhdGUhIGh0ICdhIDErKQorICAgICAgICAoaGFzaC10YWJs ZS11cGRhdGUhIGh0ICdhIChjdXQgKyA0IDw+KSAobGFtYmRhICgpIDQyKSkKKyAgICAgICAgKGFu ZCAoPSAxIChoYXNoLXRhYmxlLXNpemUgaHQpKQorICAgICAgICAgICAgIChsc2V0PSBlcXVhbD8g JygoYSAuIDYpKSAoaGFzaC10YWJsZS0+YWxpc3QgaHQpKSkpKSkKKworICAod2l0aC13ZWFrbmVz cy1saXN0IHdlYWtuZXNzIChsaXN0ICNmICdrZXkgJ3ZhbHVlICdrZXktb3ItdmFsdWUpCisgICAg KHBhc3MtaWYgKHRlc3Qtc3RyLXdlYWtuZXNzICJoYXNoLXRhYmxlLXVwZGF0ZSEgY3JlYXRlcyBu ZXcgYmluZGluZyB3aGVuIGFwcHJvcHJpYXRlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3ZWFrbmVzcykKKyAgICAgIChsZXQgKChodCAobWFrZS1oYXNoLXRhYmxlIGVxPyAjOndl YWsgd2Vha25lc3MpKSkKKyAgICAgICAgKGhhc2gtdGFibGUtdXBkYXRlISBodCAnYiAxKyAobGFt YmRhICgpIDQyKSkKKyAgICAgICAgKGhhc2gtdGFibGUtdXBkYXRlISBodCAnYiAoY3V0ICsgMTAg PD4pKQorICAgICAgICAoYW5kICg9IDEgKGhhc2gtdGFibGUtc2l6ZSBodCkpCisgICAgICAgICAg ICAgKGxzZXQ9IGVxdWFsPyAnKChiIC4gNTMpKSAoaGFzaC10YWJsZS0+YWxpc3QgaHQpKSkpKSkK KworICAod2l0aC13ZWFrbmVzcy1saXN0IHdlYWtuZXNzIChsaXN0ICNmICdrZXkgJ3ZhbHVlICdr ZXktb3ItdmFsdWUpCisgICAgKHBhc3MtaWYgKHRlc3Qtc3RyLXdlYWtuZXNzICJoYXNoLXRhYmxl LW1lcmdlISBmdW5jdGlvbnMgcHJvcGVybHkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHdlYWtuZXNzKQorICAgICAgKGxldCogKChodDEgKGFsaXN0LT5oYXNoLXRhYmxlICcoKGEg LiAxKSAoYiAuIDIpKSBlcT8gIzp3ZWFrIHdlYWtuZXNzKSkKKyAgICAgICAgICAgICAoaHQyIChh bGlzdC0+aGFzaC10YWJsZSAnKChiIC4gMykgKGMgLiA0KSkgZXE/ICM6d2VhayB3ZWFrbmVzcykp KQorICAgICAgICAoc2V0ISBodDEgKGhhc2gtdGFibGUtbWVyZ2UhIGh0MSBodDIpKQorICAgICAg ICAoYW5kICg9IDMgKGhhc2gtdGFibGUtc2l6ZSBodDEpKQorICAgICAgICAgICAgICg9IDIgKGhh c2gtdGFibGUtc2l6ZSBodDIpKQorICAgICAgICAgICAgIChsc2V0PSBlcXVhbD8gJygoYSAuIDEp IChiIC4gMykgKGMgLiA0KSkgKGhhc2gtdGFibGUtPmFsaXN0IGh0MSkpCisgICAgICAgICAgICAg KGxzZXQ9IGVxdWFsPyAnKChiIC4gMykgKGMgLiA0KSkgKGhhc2gtdGFibGUtPmFsaXN0IGh0Mikp KSkpKQogCiAgIChwYXNzLWlmICJjYW4gdXNlIGFsbCBhcmd1bWVudHMsIGluY2x1ZGluZyBzaXpl IgogICAgIChoYXNoLXRhYmxlPyAobWFrZS1oYXNoLXRhYmxlIGVxdWFsPyBoYXNoICM6d2VhayAn a2V5IDMxKSkpCiAKLSkKKyAgKQotLSAKMi4xOS4xCgo= --0000000000004d8042057db38bed--