From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thompson, David" Subject: Re: [PATCH] build: ruby: Rewrite build system to use gem archives. Date: Sun, 16 Aug 2015 18:19:21 -0400 Message-ID: References: <87d1zcfmyn.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a114e51b6a20291051d7513e2 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48005) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZR6H0-0005Q4-8K for guix-devel@gnu.org; Sun, 16 Aug 2015 18:19:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZR6Gw-000148-7z for guix-devel@gnu.org; Sun, 16 Aug 2015 18:19:26 -0400 Received: from mail-yk0-f176.google.com ([209.85.160.176]:36754) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZR6Gv-00012l-WD for guix-devel@gnu.org; Sun, 16 Aug 2015 18:19:22 -0400 Received: by ykfw73 with SMTP id w73so57467140ykf.3 for ; Sun, 16 Aug 2015 15:19:21 -0700 (PDT) In-Reply-To: <87d1zcfmyn.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel --001a114e51b6a20291051d7513e2 Content-Type: text/plain; charset=UTF-8 Update: On Tue, Jul 28, 2015 at 9:09 AM, David Thompson wrote: > One other caveat is that downloading gems from rubygems.org currently > *does not* work because the HTTP responses include an invalid > Content-Type header. I added a temporary hack to do my development > work (not in this patch), and I'm currently waiting on a response from > the rubygems.org admins to see if they will fix the issue. So, this > patch should not be applied until this is resolved. > > See: http://help.rubygems.org/discussions/problems/21223-invalid-content-type-header-when-downloading-gem-archive?unresolve=true This issue has been fixed by the rubygems.org admins! I would like to apply the below patch ASAP and get to work on 'guix import gem' if there are no objections. The major change from the previous version of this patch is that I figured how to unpack the source gem, allow the package build script to make any necessary dynamic patches, and then install a repacked gem as opposed to the source gem. - Dave --001a114e51b6a20291051d7513e2 Content-Type: text/x-patch; charset=US-ASCII; name="0001-build-ruby-Rewrite-build-system-to-use-gem-archives.patch" Content-Disposition: attachment; filename="0001-build-ruby-Rewrite-build-system-to-use-gem-archives.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_idf20b6u1 RnJvbSBlZTAyNzQ0MmRkOTY4NzM0ODMxZWIzNzJmY2Y1MDJkY2ZhYWQ3NjIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBUaG9tcHNvbiA8ZHRob21wc29uMkB3b3JjZXN0ZXIu ZWR1PgpEYXRlOiBTdW4sIDI2IEp1bCAyMDE1IDIyOjAxOjU0IC0wNDAwClN1YmplY3Q6IFtQQVRD SF0gYnVpbGQ6IHJ1Ynk6IFJld3JpdGUgYnVpbGQgc3lzdGVtIHRvIHVzZSBnZW0gYXJjaGl2ZXMu CgpDby1BdXRob3JlZC1CeTogUGpvdHIgUHJpbnMgPHBqb3RyLnB1YmxpYzAxQHRoZWJpcmQubmw+ CgoqIGd1aXgvYnVpbGQtc3lzdGVtL3J1Ynkuc2NtIChsb3dlcik6IFJlbW92ZSBnaXQgZGVwZW5k ZW5jeS4KICAocnVieWdlbXMtdXJpKTogTmV3IHByb2NlZHVyZS4KKiBndWl4L2J1aWxkL3J1Ynkt YnVpbGQtc3lzdGVtIChnaXRpZnksIGJ1aWxkKTogRGVsZXRlLgogICh1bnBhY2spOiBVc2UgJ2dl bSB1bnBhY2snIHV0aWxpdHkuCiAgKGNoZWNrKTogQWRkIGRvY3N0cmluZy4KICAoaW5zdGFsbCk6 IFJlYnVpbGQgdW5wYWNrZWQgZ2VtIGFuZCBpbnN0YWxsIGl0LgogICglc3RhbmRhcmQtcGhhc2Vz KTogUmVtb3ZlIGdpdGlmeSBhbmQgYnVpbGQgcGhhc2VzLgoqIGdudS9wYWNrYWdlcy9ydWJ5LnNj bSAocnVieS1ob2UsIHJ1YnktcmFrZS1jb21waWxlciwgcnVieS1pMThuLAogIHJ1YnktcnNwZWMt c3VwcG9ydCwgcnVieS1yc3BlYy1jb3JlLCBydWJ5LWRpZmYtbGNzLWZvci1yc3BlYywKICBydWJ5 LXJzcGVjLWV4cGVjdGF0aW9ucywgcnVieS1yc3BlYy1tb2NrcywgcnVieS1yc3BlYywgYnVuZGxl ciwKICBydWJ5LXVzZXJhZ2VudCwgcnVieS1iYWNvbiwgcnVieS1hcmVsLCBydWJ5LWNvbm5lY3Rp b24tcG9vbCwKICBydWJ5LW5ldC1odHRwLXBlcnNpc3RlbnQsIHJ1YnktbWluaXRlc3QsIHJ1Ynkt bWluaXRlc3Qtc3ByaW50LAogIHJ1YnktbWluaXRlc3QtYmFjb24sIHJ1YnktZGFlbW9ucywgcnVi eS1naXQsIHJ1Ynktc2xvcCwKICBydWJ5LW11bHRpcGFydC1wb3N0KTogQ29udmVydCB0byBuZXcg YnVpbGQgc3lzdGVtLgotLS0KIGdudS9wYWNrYWdlcy9ydWJ5LnNjbSAgICAgICAgICAgIHwgMjIy ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZ3VpeC9idWlsZC1zeXN0 ZW0vcnVieS5zY20gICAgICAgfCAgNDAgKysrLS0tLQogZ3VpeC9idWlsZC9ydWJ5LWJ1aWxkLXN5 c3RlbS5zY20gfCAgNjAgKysrKysrKy0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTI1IGluc2VydGlv bnMoKyksIDE5NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcnVieS5z Y20gYi9nbnUvcGFja2FnZXMvcnVieS5zY20KaW5kZXggYTQ4MTM2NS4uMTk2MDk0YyAxMDA2NDQK LS0tIGEvZ251L3BhY2thZ2VzL3J1Ynkuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9ydWJ5LnNjbQpA QCAtMTU0LDEzICsxNTQsMTEgQEAgYSBmb2N1cyBvbiBzaW1wbGljaXR5IGFuZCBwcm9kdWN0aXZp dHkuIikKICAgICAobmFtZSAicnVieS1ob2UiKQogICAgICh2ZXJzaW9uICIzLjEzLjEiKQogICAg IChzb3VyY2UgKG9yaWdpbgotICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKLSAgICAg ICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQotICAgICAgICAgICAgICAgICAgICAodXJsICJo dHRwczovL2dpdGh1Yi5jb20vc2VhdHRsZXJiL2hvZS5naXQiKQotICAgICAgICAgICAgICAgICAg ICAoY29tbWl0ICIwYzExODM2IikpKSA7IG5vIHJlbGVhc2UgdGFncyA6KAorICAgICAgICAgICAg ICAobWV0aG9kIHVybC1mZXRjaCkKKyAgICAgICAgICAgICAgKHVyaSAocnVieWdlbXMtdXJpICJo b2UiIHZlcnNpb24pKQogICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAoYmFz ZTMyCi0gICAgICAgICAgICAgICAgIjBpOGRpbWY4a3hjamdxajl4NjViYmkzbDZoYzlwOWdiZmJi MXZtcno0Mjc2NGE0ampiejkiKSkpICkKKyAgICAgICAgICAgICAgICAiMW1hYzEza3JkcmFzbjk4 MTlkZDY1eGoyN2trbGZ5MHhkYmozcDZzMmlqNHZsY2I0Nmg4cSIpKSkgKQogICAgIChidWlsZC1z eXN0ZW0gcnVieS1idWlsZC1zeXN0ZW0pCiAgICAgKHN5bm9wc2lzICJSdWJ5IHByb2plY3QgbWFu YWdlbWVudCBoZWxwZXIiKQogICAgIChkZXNjcmlwdGlvbgpAQCAtMTc4LDIyICsxNzYsMTMgQEAg YW5ub3VuY2VtZW50LiIpCiAgICAgKHZlcnNpb24gIjAuOS41IikKICAgICAoc291cmNlIChvcmln aW4KICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAgICAgICAgICh1cmkg KHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9y YWtlLWNvbXBpbGVyL3Jha2UtY29tcGlsZXIvYXJjaGl2ZS92IgotICAgICAgICAgICAgICAgICAg ICB2ZXJzaW9uICIudGFyLmd6IikpCi0gICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1h cHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQorICAgICAgICAgICAgICAodXJpIChy dWJ5Z2Vtcy11cmkgInJha2UtY29tcGlsZXIiIHZlcnNpb24pKQogICAgICAgICAgICAgICAoc2hh MjU2CiAgICAgICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgICAgIjA3bGsxdmwwanFj YXF3ampobWcwcXNocXdjeGR5cjVrc2NjOXh4bTEzbTAzODM1eGdwZjMiKSkpKQorICAgICAgICAg ICAgICAgICIxazhpbTJ2emo4NDl4ZGdqazZ3YWZzcGtpd3dhcHF3bTczOG1hamNoYjRkbmhuc2s2 NGN4IikpKSkKICAgICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVpbGQtc3lzdGVtKQogICAgIChhcmd1 bWVudHMKLSAgICAgJygjOnRlc3RzPyAjZiA7IG5lZWRzIGN1Y3VtYmVyCi0gICAgICAgIzpwaGFz ZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwotICAgICAgICAgICAgICAgICAgKGFk ZC1iZWZvcmUgJ2J1aWxkICdyZW1vdmUtY3VjdW1iZXItcmFrZS10YXNrCi0gICAgICAgICAgICAg ICAgICAgIChsYW1iZGEgXwotICAgICAgICAgICAgICAgICAgICAgIDs7IFJlbW92ZSBjdWN1bWJl ciB0ZXN0IGZpbGUgYmVjYXVzZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICA7OyBkZXBlbmRl bmNpZXMgYXJlIG5vdCBhdmFpbGFibGUgcmlnaHQgbm93LgotICAgICAgICAgICAgICAgICAgICAg IChkZWxldGUtZmlsZSAidGFza3MvY3VjdW1iZXIucmFrZSIpKSkpKSkKKyAgICAgJygjOnRlc3Rz PyAjZikpIDsgbmVlZHMgY3VjdW1iZXIKICAgICAoc3lub3BzaXMgIkJ1aWxkaW5nIGFuZCBwYWNr YWdpbmcgaGVscGVyIGZvciBSdWJ5IG5hdGl2ZSBleHRlbnNpb25zIikKICAgICAoZGVzY3JpcHRp b24gIlJha2UtY29tcGlsZXIgcHJvdmlkZXMgYSBmcmFtZXdvcmsgZm9yIGJ1aWxkaW5nIGFuZAog cGFja2FnaW5nIG5hdGl2ZSBDIGFuZCBKYXZhIGV4dGVuc2lvbnMgaW4gUnVieS4iKQpAQCAtMjA2 LDEyICsxOTUsMTAgQEAgcGFja2FnaW5nIG5hdGl2ZSBDIGFuZCBKYXZhIGV4dGVuc2lvbnMgaW4g UnVieS4iKQogICAgICh2ZXJzaW9uICIwLjYuMTEiKQogICAgIChzb3VyY2UgKG9yaWdpbgogICAg ICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAgICAgICAgICAgKHVyaSAoc3RyaW5n LWFwcGVuZCAiaHR0cHM6Ly9naXRodWIuY29tL3N2ZW5mdWNocy9pMThuL2FyY2hpdmUvdiIKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLmd6IikpCi0gICAg ICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRh ci5neiIpKQorICAgICAgICAgICAgICAodXJpIChydWJ5Z2Vtcy11cmkgImkxOG4iIHZlcnNpb24p KQogICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAoYmFzZTMyCi0gICAgICAg ICAgICAgICAgIjFmZGhuaGgxcDVnOHZpYnY0NGQ3NzB6OG5xMjA4enJtczNtMm5zd2R2cjU0MDcy eTFtNmsiKSkpKQorICAgICAgICAgICAgICAgICIwZndqbGdtZ3J5MmJsZjh6bHhuOWM1NTVjZjRh MTZwMjg3bDU5OWt6NTEwNG5janhsemRrIikpKSkKICAgICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVp bGQtc3lzdGVtKQogICAgIChhcmd1bWVudHMKICAgICAgJygjOnRlc3RzPyAjZikpIDsgcmVxdWly ZXMgYnVuZGxlcgpAQCAtMjM0LDEzICsyMjEsMTAgQEAgYW4gZXh0ZW5zaWJsZSBhcmNoaXRlY3R1 cmUgd2l0aCBhIHN3YXBwYWJsZSBiYWNrZW5kLiIpCiAgICAgKHZlcnNpb24gIjMuMi4yIikKICAg ICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAg ICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgImh0dHBz Oi8vZ2l0aHViLmNvbS9yc3BlYy9yc3BlYy1zdXBwb3J0L2FyY2hpdmUvdiIKLSAgICAgICAgICAg ICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQotICAgICAgICAgICAgICAoZmlsZS1uYW1lIChz dHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAg KHVyaSAocnVieWdlbXMtdXJpICJyc3BlYy1zdXBwb3J0IiB2ZXJzaW9uKSkKICAgICAgICAgICAg ICAgKHNoYTI1NgogICAgICAgICAgICAgICAgKGJhc2UzMgotICAgICAgICAgICAgICAgICIxcHZ6 ZnJxZ3kwejBnd21kZ2pwOWYydnoxZDljMGNhanl6ZnFqOXo4aTJzc3huem1qNGJ2IikpKSkKKyAg ICAgICAgICAgICAgICAiMTk0enJ5NTE5NWxzMmhuaTdyOTgyNHZxYjVkM3FmZzRqYjE1ZmdqOGds ZnkwcnZ3M3p4bCIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBydWJ5LWJ1aWxkLXN5c3RlbSkKICAg ICAoYXJndW1lbnRzCiAgICAgICcoIzp0ZXN0cz8gI2YpKSA7IGF2b2lkIGRlcGVuZGVuY3kgY3lj bGVzCkBAIC0yNTUsMTMgKzIzOSwxMCBAQCBhbiBleHRlbnNpYmxlIGFyY2hpdGVjdHVyZSB3aXRo IGEgc3dhcHBhYmxlIGJhY2tlbmQuIikKICAgICAodmVyc2lvbiAiMy4yLjMiKQogICAgIChzb3Vy Y2UgKG9yaWdpbgogICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAgICAgICAg ICAgKHVyaSAoc3RyaW5nLWFwcGVuZAotICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRo dWIuY29tL3JzcGVjL3JzcGVjLWNvcmUvYXJjaGl2ZS92IgotICAgICAgICAgICAgICAgICAgICB2 ZXJzaW9uICIudGFyLmd6IikpCi0gICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBl bmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQorICAgICAgICAgICAgICAodXJpIChydWJ5 Z2Vtcy11cmkgInJzcGVjLWNvcmUiIHZlcnNpb24pKQogICAgICAgICAgICAgICAoc2hhMjU2CiAg ICAgICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgICAgIjFjbHNhNGxraDVjOWM3eGMz eGEzMzZ5bTAweWNyNjdwY2hwZzFidjR5M2Z6NWh2enc4a2kiKSkpKQorICAgICAgICAgICAgICAg ICIwazI0NzFpdzMwZ2MyY3Z2NjdkYW1yeDY2NnBtc3Z4OGwwYWhrM2htMjBkaGZubWNtcHZ2Iikp KSkKICAgICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVpbGQtc3lzdGVtKQogICAgIChhcmd1bWVudHMK ICAgICAgJygjOnRlc3RzPyAjZikpIDsgYXZvaWQgZGVwZW5kZW5jeSBjeWNsZXMKQEAgLTI3OSwx MyArMjYwLDEwIEBAIGdyb3Vwcy4iKQogICAgICh2ZXJzaW9uICIxLjIuNSIpCiAgICAgKHNvdXJj ZSAob3JpZ2luCiAgICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQotICAgICAgICAgICAg ICAodXJpIChzdHJpbmctYXBwZW5kCi0gICAgICAgICAgICAgICAgICAgICJodHRwczovL2dpdGh1 Yi5jb20vaGFsb3N0YXR1ZS9kaWZmLWxjcy9hcmNoaXZlL3YiCi0gICAgICAgICAgICAgICAgICAg IHZlcnNpb24gIi50YXIuZ3oiKSkKLSAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCisgICAgICAgICAgICAgICh1cmkgKHJ1 YnlnZW1zLXVyaSAiZGlmZi1sY3MiIHZlcnNpb24pKQogICAgICAgICAgICAgICAoc2hhMjU2CiAg ICAgICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgICAgIjBrbWZ6MnFkd2JmamY5N3J4 MjdoaDlmbTM5bXYzejlhdmptdnNhanFuYjV3eGoybDVsNHMiKSkpKQorICAgICAgICAgICAgICAg ICIxdmY5Y2l2ZDQxYm5xaTZicnI1ZDlqaWZkdzczajlraGM2ZmtoZmwxZjhyOWNwa2R2bHgxIikp KSkKICAgICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVpbGQtc3lzdGVtKQogICAgIChhcmd1bWVudHMK ICAgICAgJygjOnRlc3RzPyAjZikpIDsgYXZvaWQgZGVwZW5kZW5jeSBjeWNsZXMKQEAgLTMwMywx MyArMjgxLDEwIEBAIHN0YW5kYXJkIGRpZmYtbGlrZSB0b29sLiIpCiAgICAgKHZlcnNpb24gIjMu Mi4xIikKICAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0 Y2gpCi0gICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAg ICAgImh0dHBzOi8vZ2l0aHViLmNvbS9yc3BlYy9yc3BlYy1leHBlY3RhdGlvbnMvYXJjaGl2ZS92 IgotICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICIudGFyLmd6IikpCi0gICAgICAgICAgICAg IChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQor ICAgICAgICAgICAgICAodXJpIChydWJ5Z2Vtcy11cmkgInJzcGVjLWV4cGVjdGF0aW9ucyIgdmVy c2lvbikpCiAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgIChiYXNlMzIKLSAg ICAgICAgICAgICAgICAiMGgwcnBwcmJoNmg1OWdta3NpeWkxYjh3NmN2Y2FpNHdkYmtpa2Fqd3gz dzFhc3hpNmY3eCIpKSkpCisgICAgICAgICAgICAgICAgIjAxa21jaGFiZ3BkY2FxZHNxZzhyMGc1 Z3kzODV4aHAxazFqc2RzM3cyNjR5cGluMTduMTQiKSkpKQogICAgIChidWlsZC1zeXN0ZW0gcnVi eS1idWlsZC1zeXN0ZW0pCiAgICAgKGFyZ3VtZW50cwogICAgICAnKCM6dGVzdHM/ICNmKSkgOyBh dm9pZCBkZXBlbmRlbmN5IGN5Y2xlcwpAQCAtMzI4LDEzICszMDMsMTAgQEAgb3V0Y29tZXMgb2Yg YSBjb2RlIGV4YW1wbGUuIikKICAgICAodmVyc2lvbiAiMy4yLjEiKQogICAgIChzb3VyY2UgKG9y aWdpbgogICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAgICAgICAgICAgKHVy aSAoc3RyaW5nLWFwcGVuZAotICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29t L3JzcGVjL3JzcGVjLW1vY2tzL2FyY2hpdmUvdiIKLSAgICAgICAgICAgICAgICAgICAgdmVyc2lv biAiLnRhci5neiIpKQotICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5h bWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAgKHVyaSAocnVieWdlbXMt dXJpICJyc3BlYy1tb2NrcyIgdmVyc2lvbikpCiAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAg ICAgICAgICAgIChiYXNlMzIKLSAgICAgICAgICAgICAgICAiMXh6eHNnMGlkeGtnN2N6bWpncXEx MGxjZDgyMWlidzFoanpuNDA0c2s5ajZydzBmYngyZyIpKSkpCisgICAgICAgICAgICAgICAgIjA5 eWlnMWx3Z3hsOGZzbnM3MXozeGh2N3drZzd6dmFneWRoMzdwdmFxcHc5MmR6NTVqdjIiKSkpKQog ICAgIChidWlsZC1zeXN0ZW0gcnVieS1idWlsZC1zeXN0ZW0pCiAgICAgKGFyZ3VtZW50cwogICAg ICAnKCM6dGVzdHM/ICNmKSkgOyBhdm9pZCBkZXBlbmRlbmN5IGN5Y2xlcwpAQCAtMzUzLDEzICsz MjUsMTAgQEAgc3VwcG9ydCBmb3Igc3R1YmJpbmcgYW5kIG1vY2tpbmcuIikKICAgICAodmVyc2lv biAiMy4yLjAiKQogICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKLSAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAotICAgICAgICAgICAg ICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL3JzcGVjL3JzcGVjL2FyY2hpdmUvdiIKLSAgICAg ICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQotICAgICAgICAgICAgICAoZmlsZS1u YW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAg ICAgICAgKHVyaSAocnVieWdlbXMtdXJpICJyc3BlYyIgdmVyc2lvbikpCiAgICAgICAgICAgICAg IChzaGEyNTYKICAgICAgICAgICAgICAgIChiYXNlMzIKLSAgICAgICAgICAgICAgICAiMWpnMzhk YmFrbnNkaGlhdjV2bnJ3ZmNjZzUyNGZ3Y2c2c3ExNzE1NDQxdngxeGw2cDU0cSIpKSkpCisgICAg ICAgICAgICAgICAgIjBsa3owMWo0eXhjd2IzZzV3NnIxbDlraG55dzNzeGliNHJyaDRucGQycHho MzkwZmNjNGYiKSkpKQogICAgIChidWlsZC1zeXN0ZW0gcnVieS1idWlsZC1zeXN0ZW0pCiAgICAg KGFyZ3VtZW50cwogICAgICAnKCM6dGVzdHM/ICNmKSkgOyBhdm9pZCBkZXBlbmRlbmN5IGN5Y2xl cwpAQCAtMzgyLDEyICszNTEsMTAgQEAgZXhwZWN0YXRpb25zIGFuZCBtb2NrcyBmcmFtZXdvcmtz LiIpCiAgICAgKHZlcnNpb24gIjEuOS45IikKICAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAg ICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBl bmQgImh0dHBzOi8vZ2l0aHViLmNvbS9idW5kbGVyL2J1bmRsZXIvYXJjaGl2ZS92IgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24gIi50YXIuZ3oiKSkKLSAgICAgICAg ICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6 IikpCisgICAgICAgICAgICAgICh1cmkgKHJ1YnlnZW1zLXVyaSAiYnVuZGxlciIgdmVyc2lvbikp CiAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgIChiYXNlMzIKLSAgICAgICAg ICAgICAgICAiMDhmbHgzbjloYjN5ejhtbTVrMTZjZHowc2I3Zzc3NGY2dnhuNmdjM3dmaDVsYTgz dmZ5eCIpKSkpCisgICAgICAgICAgICAgICAgIjEycWsxNTY5cHN3YTltbWlkNmxzcXkybmFwbjlm bWtibXYwazd4a2w1Mm55Zmg4cnN5NGQiKSkpKQogICAgIChidWlsZC1zeXN0ZW0gcnVieS1idWls ZC1zeXN0ZW0pCiAgICAgKGFyZ3VtZW50cwogICAgICAnKCM6dGVzdHM/ICNmKSkgOyBhdm9pZCBk ZXBlbmRlbmN5IGN5Y2xlcwpAQCAtNDAzLDE5ICszNzAsMTMgQEAgc3BlY2lmaWVkIGluIGEgXCJH ZW1maWxlXCIsIGFzIHdlbGwgYXMgdGhlaXIgZGVwZW5kZW5jaWVzLiIpCiAgICAgKHZlcnNpb24g IjAuMTMuMyIpCiAgICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgIChtZXRob2QgdXJs LWZldGNoKQotICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCi0gICAgICAgICAgICAg ICAgICAgICJodHRwczovL2dpdGh1Yi5jb20vZ3NodXRsZXIvdXNlcmFnZW50L2FyY2hpdmUvdiIK LSAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQotICAgICAgICAgICAgICAo ZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAg ICAgICAgICAgICAgKHVyaSAocnVieWdlbXMtdXJpICJ1c2VyYWdlbnQiIHZlcnNpb24pKQogICAg ICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAg ICAgIjFoajAwZncwNmkweTNyd3h4aHhtbnJxeGhwbmZmdjR6ZnF4MnNxcXBjNXFjNGZkdmQyeDki KSkpKQorICAgICAgICAgICAgICAgICIwa3o3eXl6NzUyOGJ2NGEya2Z5bXZrY204d2hxY2RkaG1n YXcxa3N3MWQ5MG4zMGhoa3BjIikpKSkKICAgICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVpbGQtc3lz dGVtKQogICAgIChhcmd1bWVudHMKLSAgICAgJygjOnRlc3QtdGFyZ2V0ICJzcGVjIikpCi0gICAg KG5hdGl2ZS1pbnB1dHMKLSAgICAgYCgoInJ1YnktcnNwZWMiICxydWJ5LXJzcGVjKQotICAgICAg ICgiYnVuZGxlciIgLGJ1bmRsZXIpKSkKKyAgICAgJygjOnRlc3RzPyAjZikpIDsgbm8gdGVzdCBz dWl0ZQogICAgIChzeW5vcHNpcyAiSFRUUCB1c2VyIGFnZW50IHBhcnNlciBmb3IgUnVieSIpCiAg ICAgKGRlc2NyaXB0aW9uICJVc2VyQWdlbnQgaXMgYSBSdWJ5IGxpYnJhcnkgdGhhdCBwYXJzZXMg YW5kIGNvbXBhcmVzIEhUVFAKIFVzZXIgQWdlbnRzLiIpCkBAIC00MjUsMjYgKzM4NiwxNCBAQCBV c2VyIEFnZW50cy4iKQogKGRlZmluZS1wdWJsaWMgcnVieS1iYWNvbgogICAocGFja2FnZQogICAg IChuYW1lICJydWJ5LWJhY29uIikKLSAgICAodmVyc2lvbiAiMS4yIikKKyAgICAodmVyc2lvbiAi MS4yLjAiKQogICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICAobWV0aG9kIHVybC1m ZXRjaCkKLSAgICAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAotICAgICAgICAgICAgICAg ICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2NobmV1a2lyY2hlbi9iYWNvbi9hcmNoaXZlLyIKLSAg ICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQotICAgICAgICAgICAgICAoZmls ZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAg ICAgICAgICAgKHVyaSAocnVieWdlbXMtdXJpICJiYWNvbiIgdmVyc2lvbikpCiAgICAgICAgICAg ICAgIChzaGEyNTYKICAgICAgICAgICAgICAgIChiYXNlMzIKLSAgICAgICAgICAgICAgICAiMGcw M2Z4aWxycngxN2Rpand3NjhuMWxxNWQ4czY5aHJ4Z3BnYThjMWkyazM1YnpjdzVqYyIpKSkpCisg ICAgICAgICAgICAgICAgIjFmMDZnZGo3N2Jtd3pjMWs1aXJhZ2wxNTk1aGJuNjd5YzdzcXZzNTZj YThwbHJyMnZtYWkiKSkpKQogICAgIChidWlsZC1zeXN0ZW0gcnVieS1idWlsZC1zeXN0ZW0pCi0g ICAgKGFyZ3VtZW50cwotICAgICBgKCM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1w aGFzZXMKLSAgICAgICAgICAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAnZ2VuZXJhdGUtZG9j cwotICAgICAgICAgICAgICAgICAgICAobGFtYmRhIF8KLSAgICAgICAgICAgICAgICAgICAgICA7 OyBUaGlzIHJha2UgdGFzayBhbHNvIHRyaWVzIHRvIGdlbmVyYXRlIGEgQ2hhbmdlTG9nCi0gICAg ICAgICAgICAgICAgICAgICAgOzsgZmlsZSBmcm9tIHRoZSBHaXQgbG9nLCB3aGljaCB3ZSBkb24n dCBoYXZlLiAgSXQgZmFpbHMKLSAgICAgICAgICAgICAgICAgICAgICA7OyBidXQgY3JlYXRlcyBh biBlbXB0eSBmaWxlLCBhbGxvd2luZyB0aGUgcmVzdCBvZiB0aGUKLSAgICAgICAgICAgICAgICAg ICAgICA7OyBidWlsZCB0byBzdWNjZWVkLgotICAgICAgICAgICAgICAgICAgICAgICh6ZXJvPyAo c3lzdGVtKiAicmFrZSIgInByZWRpc3QiKSkpKSkpKQogICAgIChzeW5vcHNpcyAiU21hbGwgUlNw ZWMgY2xvbmUiKQogICAgIChkZXNjcmlwdGlvbiAiQmFjb24gaXMgYSBzbWFsbCBSU3BlYyBjbG9u ZSBwcm92aWRpbmcgYWxsIGVzc2VudGlhbAogZmVhdHVyZXMuIikKQEAgLTQ1NywxNiArNDA2LDEz IEBAIGZlYXR1cmVzLiIpCiAgICAgKHZlcnNpb24gIjYuMC4wIikKICAgICAoc291cmNlIChvcmln aW4KICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAgICAgICAgICh1cmkg KHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9y YWlscy9hcmVsL2FyY2hpdmUvdiIKLSAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5n eiIpKQotICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZl cnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAgKHVyaSAocnVieWdlbXMtdXJpICJhcmVs IiB2ZXJzaW9uKSkKICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgKGJhc2Uz MgotICAgICAgICAgICAgICAgICIwZmxkd3AyaG1ybWRkeDIyeGY3aGRteWJuZ3p2OTdxbnY1cnZ6 M3F3NjFtOTRkZGQ2dzRuIikpKSkKKyAgICAgICAgICAgICAgICAiMTh3bmZuenIyaTVwM2Z5Z3Nk ZGpiaTFjaW13czY4MjNuYms4ZHJ4aWRtbmo4ano3aDBhciIpKSkpCiAgICAgKGJ1aWxkLXN5c3Rl bSBydWJ5LWJ1aWxkLXN5c3RlbSkKLSAgICAobmF0aXZlLWlucHV0cwotICAgICBgKCgiYnVuZGxl ciIgLGJ1bmRsZXIpKSkKKyAgICAoYXJndW1lbnRzCisgICAgICcoIzp0ZXN0cz8gI2YpKSA7IG5v IHRlc3Qgc3VpdGUKICAgICAoc3lub3BzaXMgIlNRTCBBU1QgbWFuYWdlciBmb3IgUnVieSIpCiAg ICAgKGRlc2NyaXB0aW9uICJBcmVsIGlzIGEgU1FMIEFTVCBtYW5hZ2VyIGZvciBSdWJ5LiAgSXQg c2ltcGxpZmllcyB0aGUKIGdlbmVyYXRpb24gb2YgY29tcGxleCBTUUwgcXVlcmllcyBhbmQgYWRh cHRzIHRvIHZhcmlvdXMgcmVsYXRpb25hbCBkYXRhYmFzZQpAQCAtNDgwLDEzICs0MjYsMTAgQEAg aW1wbGVtZW50YXRpb25zLiIpCiAgICAgKHZlcnNpb24gIjIuMi4wIikKICAgICAoc291cmNlIChv cmlnaW4KICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAgICAgICAgICh1 cmkgKHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNv bS9tcGVyaGFtL2Nvbm5lY3Rpb25fcG9vbC9hcmNoaXZlL3YiCi0gICAgICAgICAgICAgICAgICAg IHZlcnNpb24gIi50YXIuZ3oiKSkKLSAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFw cGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCisgICAgICAgICAgICAgICh1cmkgKHJ1 YnlnZW1zLXVyaSAiY29ubmVjdGlvbl9wb29sIiB2ZXJzaW9uKSkKICAgICAgICAgICAgICAgKHNo YTI1NgogICAgICAgICAgICAgICAgKGJhc2UzMgotICAgICAgICAgICAgICAgICIwMnM1cndobWd5 OHFxbnM3YTV5MWRhYTB5YXczOHg2bHpwd3l2bXk0NmgxeXJqOW1jNnpmIikpKSkKKyAgICAgICAg ICAgICAgICAiMWIyYmIzazM5bmk1bXpjbnFsdjl5NHlqa2JpbjIwczdka3d6cDBqdzJqZjFybXpj Z3JteSIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBydWJ5LWJ1aWxkLXN5c3RlbSkKICAgICAobmF0 aXZlLWlucHV0cwogICAgICBgKCgiYnVuZGxlciIgLGJ1bmRsZXIpKSkKQEAgLTUwMiwxMyArNDQ1 LDEwIEBAIGludGVyZmFjZSBmb3IgUnVieSBwcm9ncmFtcy4iKQogICAgICh2ZXJzaW9uICIyLjku NCIpCiAgICAgKHNvdXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNo KQotICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCi0gICAgICAgICAgICAgICAgICAg ICJodHRwczovL2dpdGh1Yi5jb20vZHJicmFpbi9uZXQtaHR0cC1wZXJzaXN0ZW50L2FyY2hpdmUv diIKLSAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQotICAgICAgICAgICAg ICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkK KyAgICAgICAgICAgICAgKHVyaSAocnVieWdlbXMtdXJpICJuZXQtaHR0cC1wZXJzaXN0ZW50IiB2 ZXJzaW9uKSkKICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgKGJhc2UzMgot ICAgICAgICAgICAgICAgICIxcTE4dmppMzF3OGdmcjZhanppcWtxczhuNWx6a3cwYmwwMGRtMmE4 czA1emhhdnp3OWo5IikpKSkKKyAgICAgICAgICAgICAgICAiMXk5ZmhhYXgwZDlra3NseWlxaTF6 eXM2Y3ZwYXF4OWEweTBjeXdwMjRycHlnd2g0czlyNCIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBy dWJ5LWJ1aWxkLXN5c3RlbSkKICAgICAobmF0aXZlLWlucHV0cwogICAgICBgKCgicnVieS1jb25u ZWN0aW9uLXBvb2wiICxydWJ5LWNvbm5lY3Rpb24tcG9vbCkKQEAgLTUyNCwxNiArNDY0LDExIEBA IHVzaW5nIE5ldDo6SFRUUCwgc3VwcG9ydGluZyByZWNvbm5lY3Rpb24gYW5kIHJldHJ5IGFjY29y ZGluZyB0byBSRkMgMjYxNi4iKQogICAgIChuYW1lICJydWJ5LW1pbml0ZXN0IikKICAgICAodmVy c2lvbiAiNS43LjAiKQogICAgIChzb3VyY2UgKG9yaWdpbgotICAgICAgICAgICAgICAobWV0aG9k IGdpdC1mZXRjaCkKLSAgICAgICAgICAgICAgOzsgTm8gcmVsZWFzZSB0YXJiYWxscyBub3IgZ2l0 IHRhZ3MuICBUaGlzIGlzIHRoZSBjb21taXQKLSAgICAgICAgICAgICAgOzsgY29ycmVzcG9uZGlu ZyB0byB0aGUgYWRkaXRpb24gb2YgdGhlIHJlbGVhc2Ugbm90ZXMgdG8KLSAgICAgICAgICAgICAg OzsgSGlzdG9yeS5yZG9jLgotICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCi0gICAg ICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9zZWF0dGxlcmIvbWluaXRl c3QuZ2l0IikKLSAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCAiZTk3NTI0OCIpKSkKKyAgICAg ICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisgICAgICAgICAgICAgICh1cmkgKHJ1YnlnZW1z LXVyaSAibWluaXRlc3QiIHZlcnNpb24pKQogICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAg ICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgICAgIjA5eGppYWhrN3E4aGlkMWkzOWFocm1n aGFzbHBqOW4zNnpuYTcyaTNhaDdrZjFiaDJsMDEiKSkpKQorICAgICAgICAgICAgICAgICIwcnhx ZmFrcDYyOW1wM3Z3ZGE3enBnYjU3bGNuczV6bmtza2lrYmZkMGtyaXd2OGkxdnE4IikpKSkKICAg ICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVpbGQtc3lzdGVtKQogICAgIChuYXRpdmUtaW5wdXRzCiAg ICAgIGAoKCJydWJ5LWhvZSIgLHJ1YnktaG9lKSkpCkBAIC01NDgsMTQgKzQ4MywxMSBAQCBmYWNp bGl0aWVzIHN1cHBvcnRpbmcgVERELCBCREQsIG1vY2tpbmcsIGFuZCBiZW5jaG1hcmtpbmcuIikK ICAgICAobmFtZSAicnVieS1taW5pdGVzdC1zcHJpbnQiKQogICAgICh2ZXJzaW9uICIxLjEuMCIp CiAgICAgKHNvdXJjZSAob3JpZ2luCi0gICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQot ICAgICAgICAgICAgICA7OyBTYW1lIHN0b3J5IGFzIHJ1YnktbWluaXRlc3QuCi0gICAgICAgICAg ICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKLSAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6 Ly9naXRodWIuY29tL3NlYXR0bGVyYi9taW5pdGVzdC1zcHJpbnQuZ2l0IikKLSAgICAgICAgICAg ICAgICAgICAgKGNvbW1pdCAiNDljMDJiYyIpKSkKKyAgICAgICAgICAgICAgKG1ldGhvZCB1cmwt ZmV0Y2gpCisgICAgICAgICAgICAgICh1cmkgKHJ1YnlnZW1zLXVyaSAibWluaXRlc3Qtc3ByaW50 IiB2ZXJzaW9uKSkKICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgKGJhc2Uz MgotICAgICAgICAgICAgICAgICIwcmJteHo5NGxxZzV2ano2MHA4djJienE4YWR3dm14NTAxYW12 azBsMTI0c2Z3bXc5NG1zIikpKSkKKyAgICAgICAgICAgICAgICAiMTc5ZDZwajU2bDl4em00NmZx c3FqMTBtemprcjFmOWZ2NGN4YTh3dmNoczk3aHF6MzN3MSIpKSkpCiAgICAgKGJ1aWxkLXN5c3Rl bSBydWJ5LWJ1aWxkLXN5c3RlbSkKICAgICAobmF0aXZlLWlucHV0cwogICAgICBgKCgicnVieS1o b2UiICxydWJ5LWhvZSkKQEAgLTU3MSwxNCArNTAzLDExIEBAIGVhc2llciB0byByZS1ydW4gaW5k aXZpZHVhbCBmYWlsaW5nIHRlc3RzLiIpCiAgICAgKG5hbWUgInJ1YnktbWluaXRlc3QtYmFjb24i KQogICAgICh2ZXJzaW9uICIxLjAuMiIpCiAgICAgKHNvdXJjZSAob3JpZ2luCi0gICAgICAgICAg ICAgIChtZXRob2QgZ2l0LWZldGNoKQotICAgICAgICAgICAgICA7OyBTYW1lIHN0b3J5IGFzIHJ1 YnktbWluaXRlc3QuCi0gICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKLSAgICAgICAg ICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3NlYXR0bGVyYi9taW5pdGVzdC1i YWNvbi5naXQiKQotICAgICAgICAgICAgICAgICAgICAoY29tbWl0ICIzODU1MWQ1IikpKQorICAg ICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKKyAgICAgICAgICAgICAgKHVyaSAocnVieWdl bXMtdXJpICJtaW5pdGVzdC1iYWNvbiIgdmVyc2lvbikpCiAgICAgICAgICAgICAgIChzaGEyNTYK ICAgICAgICAgICAgICAgIChiYXNlMzIKLSAgICAgICAgICAgICAgICAiMTlyOWZtNDFpMG1tMXhu Y3FsczhmcmJqMWk5bnIzc3ExY3gybWg4NzhyNmtkbDAyZDcwaCIpKSkpCisgICAgICAgICAgICAg ICAgIjBjbTdyNjg0MjI3NDNpM2I2Zm00cnJtMHI2Y25uam1nbHE1Z2NtbWdsMWYwcms1aG5mNnIi KSkpKQogICAgIChidWlsZC1zeXN0ZW0gcnVieS1idWlsZC1zeXN0ZW0pCiAgICAgKG5hdGl2ZS1p bnB1dHMKICAgICAgYCgoInJ1YnktaG9lIiAscnVieS1ob2UpKSkKQEAgLTU5NiwxMyArNTI1LDEw IEBAIGZ1bmN0aW9uYWxpdHksIG1ha2luZyBpdCBlYXNpZXIgdG8gbWlncmF0ZSB0ZXN0IHN1aXRl cyBmcm9tIGJhY29uIHRvIG1pbml0ZXN0LiIpCiAgICAgKHZlcnNpb24gIjEuMi4yIikKICAgICAo c291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAg ICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8v Z2l0aHViLmNvbS90aHVlaGxpbmdlci9kYWVtb25zL2FyY2hpdmUvdiIKLSAgICAgICAgICAgICAg ICAgICAgdmVyc2lvbiAiLnRhci5neiIpKQotICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJp bmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAgKHVy aSAocnVieWdlbXMtdXJpICJkYWVtb25zIiB2ZXJzaW9uKSkKICAgICAgICAgICAgICAgKHNoYTI1 NgogICAgICAgICAgICAgICAgKGJhc2UzMgotICAgICAgICAgICAgICAgICIxdjVicGR2cHZoazI0 MHBjN2ZrbjQ0dmZjbHBwbDQ0cHA2d2Q0MmlwaTVzZDVsa2s3emZkIikpKSkKKyAgICAgICAgICAg ICAgICAiMTIxYzd2a2ltZzNiYXhnYTY5eHZka3d4aXE4d2tteHF2ZGJ5cWk1aTgydmhpaDVkM2Nu MyIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBydWJ5LWJ1aWxkLXN5c3RlbSkKICAgICAoYXJndW1l bnRzCiAgICAgIGAoIzp0ZXN0cz8gI2YpKSA7IG5vIHRlc3Qgc3VpdGUKQEAgLTYxOCw0MSArNTQ0 LDI3IEBAIHJ1biBhcyBhIGRhZW1vbiBhbmQgdG8gYmUgY29udHJvbGxlZCBieSBzaW1wbGUgc3Rh cnQvc3RvcC9yZXN0YXJ0IGNvbW1hbmRzLiIpCiAgICAgKHZlcnNpb24gIjEuMi45LjEiKQogICAg IChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAg ICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAotICAgICAgICAgICAgICAgICAgICAiaHR0cHM6 Ly9naXRodWIuY29tL3NjaGFjb24vcnVieS1naXQvYXJjaGl2ZS92IgotICAgICAgICAgICAgICAg ICAgICB2ZXJzaW9uICIudGFyLmd6IikpCi0gICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmlu Zy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQorICAgICAgICAgICAgICAodXJp IChydWJ5Z2Vtcy11cmkgImdpdCIgdmVyc2lvbikpCiAgICAgICAgICAgICAgIChzaGEyNTYKICAg ICAgICAgICAgICAgIChiYXNlMzIKLSAgICAgICAgICAgICAgICAiMDh6ZzIwemM3Zjd5eTM0aXgy cWRkOGpiaXo3eGhqYzhhbGszNzA4NjlzcTNoNzVoczlqYyIpKSkpCisgICAgICAgICAgICAgICAg IjFzcWZqOGxtaGw3YzV6YW1jY2trcGlrNGl6ZnBoMnprdjZrcncwaThtemo1cGR3czVhY3MiKSkp KQogICAgIChidWlsZC1zeXN0ZW0gcnVieS1idWlsZC1zeXN0ZW0pCiAgICAgKGFyZ3VtZW50cwot ICAgICAnKCM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKLSAgICAgICAg ICAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAncGF0Y2gtZ2l0LWJpbmFyeQotICAgICAgICAg ICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAg ICAgYCgjOnRlc3RzPyAjZiA7IG5vIHRlc3RzCisgICAgICAgIzpwaGFzZXMgKG1vZGlmeS1waGFz ZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFs bCAncGF0Y2gtZ2l0LWJpbmFyeQorICAgICAgICAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkg aW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgICAgICAgICAg IDs7IE1ha2UgdGhlIGRlZmF1bHQgZ2l0IGJpbmFyeSBhbiBhYnNvbHV0ZSBwYXRoIHRvIHRoZQog ICAgICAgICAgICAgICAgICAgICAgIDs7IHN0b3JlLgotICAgICAgICAgICAgICAgICAgICAgIChs ZXQgKChnaXQgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBpbnB1dHMgImdpdCIpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2Jpbi9naXQiKSkpCi0g ICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogJygibGliL2dpdC9jb25maWcucmIi KQorICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChnaXQgICAgKHN0cmluZy1hcHBlbmQgKGFz c29jLXJlZiBpbnB1dHMgImdpdCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiL2Jpbi9naXQiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY29uZmlnIChzdHJpbmctYXBwZW5kIChnZXRlbnYgIkdFTV9IT01FIikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvZ2Vtcy9naXQtIiAsdmVy c2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ii9saWIvZ2l0L2NvbmZpZy5yYiIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0 dXRlKiAobGlzdCBjb25maWcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICgoIidnaXQnIikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICInIiBnaXQgIiciKSkp Ci0gICAgICAgICAgICAgICAgICAgICAgICA7OyBGaXggYSB0ZXN0IHRoYXQgZXhwZWN0cyB0aGUg YmluYXJ5IHRvIGJlIHNpbXBseQotICAgICAgICAgICAgICAgICAgICAgICAgOzsgJ2dpdCcuCi0g ICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogJygidGVzdHMvdW5pdHMvdGVzdF9s b2dnZXIucmIiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAoKCJkZWYgdGVzdF9sb2dnZXIi KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZGVmIHRlc3RfbG9nZ2VyXG4iCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkdpdDo6QmFzZS5jb25maWcuYmluYXJ5X3BhdGggPSAnZ2l0JyIpKSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICN0KSkpCi0gICAgICAgICAgICAgICAgICAoYWRkLWJlZm9yZSAn Y2hlY2sgJ2NyZWF0ZS1mYWtlLWhvbWUKLSAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSBfCi0g ICAgICAgICAgICAgICAgICAgICAgOzsgVGhlIHRlc3Qgc3VpdGUgcnVucyAnZ2l0IGNvbmZpZyAt LWdsb2JhbCcgY29tbWFuZHMsCi0gICAgICAgICAgICAgICAgICAgICAgOzsgc28gYSBmYWtlIGhv bWUgZGlyZWN0b3J5IGlzIG5lZWRlZCBmb3IgdGhlbSB0bwotICAgICAgICAgICAgICAgICAgICAg IDs7IHN1Y2NlZWQuCi0gICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGZha2UtaG9tZSAoc3Ry aW5nLWFwcGVuZCAoZ2V0Y3dkKSAiL2Zha2UtaG9tZSIpKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgIChta2RpciBmYWtlLWhvbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAoc2V0ZW52ICJI T01FIiBmYWtlLWhvbWUpKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAjdCkpKSkpKQog ICAgIChpbnB1dHMKICAgICAgYCgoImdpdCIgLGdpdCkpKQogICAgIChzeW5vcHNpcyAiUnVieSB3 cmFwcGVycyBmb3IgR2l0IikKQEAgLTY2NywxMyArNTc5LDEwIEBAIGFuZCBtYW5pcHVsYXRlIEdp dCByZXBvc2l0b3JpZXMgYnkgd3JhcHBpbmcgc3lzdGVtIGNhbGxzIHRvIHRoZSBnaXQgYmluYXJ5 LiIpCiAgICAgKHZlcnNpb24gIjQuMS4wIikKICAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAg ICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCi0gICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBl bmQKLSAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9sZWVqYXJ2aXMvc2xv cC9hcmNoaXZlL3YiCi0gICAgICAgICAgICAgICAgICAgIHZlcnNpb24gIi50YXIuZ3oiKSkKLSAg ICAgICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIu dGFyLmd6IikpCisgICAgICAgICAgICAgICh1cmkgKHJ1YnlnZW1zLXVyaSAic2xvcCIgdmVyc2lv bikpCiAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgIChiYXNlMzIKLSAgICAg ICAgICAgICAgICAiMGNxczUwYTBiOTlramQxOXhwbG44anBua2kwN2NqeXAzbDd3eGJmcjQ0eWNh c3I2bnpuaCIpKSkpCisgICAgICAgICAgICAgICAgIjBkajBwczZ2MW1xZDAyazg0bWd3ZDdocDU3 OG4yYnpsN2M1MWgzZ3JkaHhmbDNqa2ZzajUiKSkpKQogICAgIChidWlsZC1zeXN0ZW0gcnVieS1i dWlsZC1zeXN0ZW0pCiAgICAgKG5hdGl2ZS1pbnB1dHMKICAgICAgYCgoInJ1YnktbWluaXRlc3Qi ICxydWJ5LW1pbml0ZXN0KSkpCkBAIC02ODksMTMgKzU5OCwxMCBAQCBvcHRpb25zIGFuZCBwYXJz aW5nIGNvbW1hbmQgbGluZSBmbGFncy4iKQogICAgICh2ZXJzaW9uICIyLjAuMCIpCiAgICAgKHNv dXJjZSAob3JpZ2luCiAgICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQotICAgICAgICAg ICAgICAodXJpIChzdHJpbmctYXBwZW5kCi0gICAgICAgICAgICAgICAgICAgICJodHRwczovL2dp dGh1Yi5jb20vbmlja3NpZWdlci9tdWx0aXBhcnQtcG9zdC9hcmNoaXZlL3YiCi0gICAgICAgICAg ICAgICAgICAgIHZlcnNpb24gIi50YXIuZ3oiKSkKLSAgICAgICAgICAgICAgKGZpbGUtbmFtZSAo c3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCisgICAgICAgICAgICAg ICh1cmkgKHJ1YnlnZW1zLXVyaSAibXVsdGlwYXJ0LXBvc3QiIHZlcnNpb24pKQogICAgICAgICAg ICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgICAgIjAz bjI3MWkza25meDRqOWFpbmd4enoyYmFqZDM3OWR3OW5zd3NsbHZpcWMxNzdscTFhbm0iKSkpKQor ICAgICAgICAgICAgICAgICIwOWswYjNjeWJxaWxrMWd3cnd3YWluOTVyZHlwaXhiMnE5dzY1Z2Q0 NGdmenNkODR4aTF4IikpKSkKICAgICAoYnVpbGQtc3lzdGVtIHJ1YnktYnVpbGQtc3lzdGVtKQog ICAgIChuYXRpdmUtaW5wdXRzCiAgICAgIGAoKCJidW5kbGVyIiAsYnVuZGxlcikpKQpkaWZmIC0t Z2l0IGEvZ3VpeC9idWlsZC1zeXN0ZW0vcnVieS5zY20gYi9ndWl4L2J1aWxkLXN5c3RlbS9ydWJ5 LnNjbQppbmRleCAxMzVlZGE2Li44MTQyZTg1IDEwMDY0NAotLS0gYS9ndWl4L2J1aWxkLXN5c3Rl bS9ydWJ5LnNjbQorKysgYi9ndWl4L2J1aWxkLXN5c3RlbS9ydWJ5LnNjbQpAQCAtMjYsMTAgKzI2 LDE2IEBACiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0pCiAgICM6dXNlLW1vZHVs ZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ251KQogICAjOnVzZS1tb2R1bGUgKGljZS05IG1hdGNoKQot ICAjOmV4cG9ydCAoJXJ1YnktYnVpbGQtc3lzdGVtLW1vZHVsZXMKKyAgIzpleHBvcnQgKHJ1Ynln ZW1zLXVyaQorICAgICAgICAgICAgJXJ1YnktYnVpbGQtc3lzdGVtLW1vZHVsZXMKICAgICAgICAg ICAgIHJ1YnktYnVpbGQKICAgICAgICAgICAgIHJ1YnktYnVpbGQtc3lzdGVtKSkKIAorKGRlZmlu ZSAocnVieWdlbXMtdXJpIG5hbWUgdmVyc2lvbikKKyAgIlJldHVybiBhIFVSSSBzdHJpbmcgZm9y IHRoZSBnZW0gYXJjaGl2ZSBmb3IgdGhlIHJlbGVhc2UgY29ycmVzcG9uZGluZyB0bworTkFNRSBh bmQgVkVSU0lPTi4iCisgIChzdHJpbmctYXBwZW5kICJodHRwczovL3J1YnlnZW1zLm9yZy9kb3du bG9hZHMvIiBuYW1lICItIiB2ZXJzaW9uICIuZ2VtIikpCisKIChkZWZpbmUgJXJ1YnktYnVpbGQt c3lzdGVtLW1vZHVsZXMKICAgOzsgQnVpbGQtc2lkZSBtb2R1bGVzIGltcG9ydGVkIGJ5IGRlZmF1 bHQuCiAgIGAoKGd1aXggYnVpbGQgcnVieS1idWlsZC1zeXN0ZW0pCkBAIC01MCwyNCArNTYsMjIg QEAKICAgKGRlZmluZSBwcml2YXRlLWtleXdvcmRzCiAgICAgJygjOnNvdXJjZSAjOnRhcmdldCAj OnJ1YnkgIzppbnB1dHMgIzpuYXRpdmUtaW5wdXRzKSkKIAotICAobGV0ICgodmVyc2lvbi1jb250 cm9sIChyZXNvbHZlLWludGVyZmFjZSAnKGdudSBwYWNrYWdlcyB2ZXJzaW9uLWNvbnRyb2wpKSkp Ci0gICAgKGFuZCAobm90IHRhcmdldCkgICAgICAgICAgICAgICAgICAgIDtYWFg6IG5vIGNyb3Nz LWNvbXBpbGF0aW9uCi0gICAgICAgICAoYmFnCi0gICAgICAgICAgIChuYW1lIG5hbWUpCi0gICAg ICAgICAgIChzeXN0ZW0gc3lzdGVtKQotICAgICAgICAgICAoaG9zdC1pbnB1dHMgYCgsQChpZiBz b3VyY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgoInNvdXJjZSIgLHNvdXJj ZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKSkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgLEBpbnB1dHMKKyAgKGFuZCAobm90IHRhcmdldCkgICAgICAgICAgICAgICAg ICAgIDtYWFg6IG5vIGNyb3NzLWNvbXBpbGF0aW9uCisgICAgICAgKGJhZworICAgICAgICAgKG5h bWUgbmFtZSkKKyAgICAgICAgIChzeXN0ZW0gc3lzdGVtKQorICAgICAgICAgKGhvc3QtaW5wdXRz IGAoLEAoaWYgc291cmNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCgic291cmNl IiAsc291cmNlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICxAaW5wdXRzCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg S2VlcCB0aGUgc3RhbmRhcmQgaW5wdXRzIG9mICdnbnUtYnVpbGQtc3lzdGVtJy4KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAoc3RhbmRhcmQtcGFja2FnZXMpKSkKLSAgICAgICAgICAgKGJ1 aWxkLWlucHV0cyBgKCgicnVieSIgLHJ1YnkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAo ImdpdCIgLChtb2R1bGUtcmVmIHZlcnNpb24tY29udHJvbCAnZ2l0KSkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAbmF0aXZlLWlucHV0cykpCi0gICAgICAgICAgIChvdXRwdXRzIG91dHB1 dHMpCi0gICAgICAgICAgIChidWlsZCBydWJ5LWJ1aWxkKQotICAgICAgICAgICAoYXJndW1lbnRz IChzdHJpcC1rZXl3b3JkLWFyZ3VtZW50cyBwcml2YXRlLWtleXdvcmRzIGFyZ3VtZW50cykpKSkp KQorICAgICAgICAgICAgICAgICAgICAgICAgOzsgS2VlcCB0aGUgc3RhbmRhcmQgaW5wdXRzIG9m ICdnbnUtYnVpbGQtc3lzdGVtJy4KKyAgICAgICAgICAgICAgICAgICAgICAgICxAKHN0YW5kYXJk LXBhY2thZ2VzKSkpCisgICAgICAgICAoYnVpbGQtaW5wdXRzIGAoKCJydWJ5IiAscnVieSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAsQG5hdGl2ZS1pbnB1dHMpKQorICAgICAgICAgKG91dHB1 dHMgb3V0cHV0cykKKyAgICAgICAgIChidWlsZCBydWJ5LWJ1aWxkKQorICAgICAgICAgKGFyZ3Vt ZW50cyAoc3RyaXAta2V5d29yZC1hcmd1bWVudHMgcHJpdmF0ZS1rZXl3b3JkcyBhcmd1bWVudHMp KSkpKQogCiAoZGVmaW5lKiAocnVieS1idWlsZCBzdG9yZSBuYW1lIGlucHV0cwogICAgICAgICAg ICAgICAgICAgICAgIzprZXkKZGlmZiAtLWdpdCBhL2d1aXgvYnVpbGQvcnVieS1idWlsZC1zeXN0 ZW0uc2NtIGIvZ3VpeC9idWlsZC9ydWJ5LWJ1aWxkLXN5c3RlbS5zY20KaW5kZXggMzA3YWM5MS4u ZjgyZTRkNCAxMDA2NDQKLS0tIGEvZ3VpeC9idWlsZC9ydWJ5LWJ1aWxkLXN5c3RlbS5zY20KKysr IGIvZ3VpeC9idWlsZC9ydWJ5LWJ1aWxkLXN5c3RlbS5zY20KQEAgLTIxLDYgKzIxLDcgQEAKICAg Izp1c2UtbW9kdWxlICgoZ3VpeCBidWlsZCBnbnUtYnVpbGQtc3lzdGVtKSAjOnByZWZpeCBnbnU6 KQogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQgdXRpbHMpCiAgICM6dXNlLW1vZHVsZSAoaWNl LTkgbWF0Y2gpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgcG9wZW4pCiAgICM6dXNlLW1vZHVsZSAo aWNlLTkgcmVnZXgpCiAgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTEpCiAgICM6dXNlLW1vZHVs ZSAoc3JmaSBzcmZpLTI2KQpAQCAtNDAsNDEgKzQxLDU4IEBAIGRpcmVjdG9yeS4iCiAgICAgKChm aWxlLW5hbWUgLiBfKSBmaWxlLW5hbWUpCiAgICAgKCgpIChlcnJvciAiTm8gZmlsZXMgbWF0Y2hp bmcgcGF0dGVybjogIiBwYXR0ZXJuKSkpKQogCi07OyBNb3N0IGdlbXNwZWNzIGFzc3VtZSB0aGF0 IGJ1aWxkcyBhcmUgdGFraW5nIHBsYWNlIHdpdGhpbiBhIGdpdCByZXBvc2l0b3J5Ci07OyBieSBp bmNsdWRlIGNhbGxzIHRvICdnaXQgbHMtZmlsZXMnLiAgSW4gb3JkZXIgZm9yIHRoZXNlIGdlbXNw ZWNzIHRvIHdvcmsKLTs7IGFzLWlzLCBldmVyeSBmaWxlIGluIHRoZSBzb3VyY2UgdHJlZSBpcyBh ZGRlZCB0byB0aGUgc3RhZ2luZyBhcmVhLgotKGRlZmluZSBnaXRpZnkKLSAgKGxhbWJkYSBfCi0g ICAgKGFuZCAoemVybz8gKHN5c3RlbSogImdpdCIgImluaXQiKSkKLSAgICAgICAgICh6ZXJvPyAo c3lzdGVtKiAiZ2l0IiAiYWRkIiAiLiIpKSkpKQotCi0oZGVmaW5lIGJ1aWxkCi0gIChsYW1iZGEg XwotICAgIChtYXRjaCAoZmluZC1maWxlcyAiLiIgIlxcLmdlbXNwZWMkIikKLSAgICAgIDs7IE5v IGdlbXNwZWMsIHRyeSAncmFrZSBnZW0nIGluc3RlYWQuCi0gICAgICAoKCkKLSAgICAgICAoemVy bz8gKHN5c3RlbSogInJha2UiICJnZW0iKSkpCi0gICAgICA7OyBCdWlsZCB0aGUgZmlyc3QgbWF0 Y2hpbmcgZ2Vtc3BlYy4KLSAgICAgICgoZ2Vtc3BlYyAuIF8pCi0gICAgICAgKHplcm8/IChzeXN0 ZW0qICJnZW0iICJidWlsZCIgZ2Vtc3BlYykpKSkpKQorKGRlZmluZSogKHVucGFjayAjOmtleSBz b3VyY2UgIzphbGxvdy1vdGhlci1rZXlzKQorICAiVW5wYWNrIHRoZSBnZW0gU09VUkNFIGFuZCBl bnRlciB0aGUgcmVzdWx0aW5nIGRpcmVjdG9yeS4iCisgIChhbmQgKHplcm8/IChzeXN0ZW0qICJn ZW0iICJ1bnBhY2siIHNvdXJjZSkpCisgICAgICAgKGJlZ2luCisgICAgICAgICA7OyBUaGUgdW5w YWNrZWQgZ2VtIGRpcmVjdG9yeSBpcyBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgYXJjaGl2ZSwgc2Fu cworICAgICAgICAgOzsgdGhlICIuZ2VtIiBleHRlbnNpb24uCisgICAgICAgICAoY2hkaXIgKG1h dGNoOnN1YnN0cmluZyAoc3RyaW5nLW1hdGNoICJeKC4qKVxcLmdlbSQiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBzb3VyY2UpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSkpCisgICAgICAgICAjdCkpKQogCiAoZGVm aW5lKiAoY2hlY2sgIzprZXkgdGVzdHM/IHRlc3QtdGFyZ2V0ICM6YWxsb3ctb3RoZXIta2V5cykK KyAgIlJ1biB0aGUgZ2VtJ3MgdGVzdCBzdWl0ZSByYWtlIHRhc2sgVEVTVC1UQVJHRVQuICBTa2lw IHRoZSB0ZXN0cyBpZiBURVNUUz8KK2lzICNmLiIKICAgKGlmIHRlc3RzPwogICAgICAgKHplcm8/ IChzeXN0ZW0qICJyYWtlIiB0ZXN0LXRhcmdldCkpCiAgICAgICAjdCkpCiAKIChkZWZpbmUqIChp bnN0YWxsICM6a2V5IHNvdXJjZSBpbnB1dHMgb3V0cHV0cyAoZ2VtLWZsYWdzICcoKSkKICAgICAg ICAgICAgICAgICAgICM6YWxsb3ctb3RoZXIta2V5cykKKyAgIkluc3RhbGwgdGhlIGdlbSBhcmNo aXZlIFNPVVJDRSB0byB0aGUgb3V0cHV0IHN0b3JlIGl0ZW0uICBBZGRpdGlvbmFsCitHRU0tRkxB R1MgYXJlIHBhc3NlZCB0byB0aGUgJ2dlbScgaW52b2thdGlvbiwgaWYgcHJlc2VudC4iCiAgIChs ZXQqICgocnVieS12ZXJzaW9uCiAgICAgICAgICAgKG1hdGNoOnN1YnN0cmluZyAoc3RyaW5nLW1h dGNoICJydWJ5LSguKilcXC5bMC05XSQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChhc3NvYy1yZWYgaW5wdXRzICJydWJ5IikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAxKSkKICAgICAgICAgIChvdXQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKICAg ICAgICAgIChnZW0taG9tZSAoc3RyaW5nLWFwcGVuZCBvdXQgIi9saWIvcnVieS9nZW1zLyIgcnVi eS12ZXJzaW9uICIuMCIpKSkKKworICAgIDs7IEV4dHJhY3QgZ2Vtc3BlYyBmcm9tIHNvdXJjZSBh bmQgYnVpbGQgYSBuZXcgZ2VtIGFyY2hpdmUuICBUaGlzIGFsbG93cworICAgIDs7IGFueSBkeW5h bWljIHBhdGNoaW5nIGRvbmUgaW4gcHJldmlvdXMgcGhhc2VzIHRvIGJlIHByZXNlbnQgaW4gdGhl CisgICAgOzsgaW5zdGFsbGVkIGdlbS4KKyAgICAobGV0ICgocGlwZSAob3Blbi1waXBlKiBPUEVO X1JFQUQgImdlbSIgInNwZWMiICItLXJ1YnkiIHNvdXJjZSkpKQorICAgICAgKGR5bmFtaWMtd2lu ZAorICAgICAgICAoY29uc3QgI3QpCisgICAgICAgIChsYW1iZGEgKCkKKyAgICAgICAgICAoY2Fs bC13aXRoLW91dHB1dC1maWxlICIuZ2Vtc3BlYyIKKyAgICAgICAgICAgIChsYW1iZGEgKG91dCkK KyAgICAgICAgICAgICAgOzsgJ2dlbSBzcGVjJyB3cml0ZXMgdG8gc3Rkb3V0LCBidXQgJ2dlbSBi dWlsZCcgb25seSByZWFkcworICAgICAgICAgICAgICA7OyBnZW1zcGVjcyBmcm9tIGEgZmlsZSwg c28gd2UgcmVkaXJlY3QgdGhlIG91dHB1dCB0byBhIGZpbGUuCisgICAgICAgICAgICAgICh3aGls ZSAobm90IChlb2Ytb2JqZWN0PyAocGVlay1jaGFyIHBpcGUpKSkKKyAgICAgICAgICAgICAgICAo d3JpdGUtY2hhciAocmVhZC1jaGFyIHBpcGUpIG91dCkpKSkpCisgICAgICAgIChsYW1iZGEgKCkK KyAgICAgICAgICAoY2xvc2UtcGlwZSBwaXBlKSkpKQorCisgICAgKHN5c3RlbSogImdlbSIgImJ1 aWxkIiAiLmdlbXNwZWMiKQorCisgICAgOzsgSW5zdGFsbCB0byBHRU1fSE9NRS4KICAgICAoc2V0 ZW52ICJHRU1fSE9NRSIgZ2VtLWhvbWUpCiAgICAgKG1rZGlyLXAgZ2VtLWhvbWUpCi0gICAgKHpl cm8/IChhcHBseSBzeXN0ZW0qICJnZW0iICJpbnN0YWxsIiAiLS1sb2NhbCIKLSAgICAgICAgICAg ICAgICAgIChmaXJzdC1tYXRjaGluZy1maWxlICJcXC5nZW0kIikKKyAgICAoemVybz8gKGFwcGx5 IHN5c3RlbSogImdlbSIgImluc3RhbGwiIChmaXJzdC1tYXRjaGluZy1maWxlICJcXC5nZW0kIikK KyAgICAgICAgICAgICAgICAgICItLWxvY2FsIiAiLS1pZ25vcmUtZGVwZW5kZW5jaWVzIgogICAg ICAgICAgICAgICAgICAgOzsgRXhlY3V0YWJsZXMgc2hvdWxkIGdvIGludG8gL2Jpbiwgbm90IC9s aWIvcnVieS9nZW1zLgogICAgICAgICAgICAgICAgICAgIi0tYmluZGlyIiAoc3RyaW5nLWFwcGVu ZCBvdXQgIi9iaW4iKQogICAgICAgICAgICAgICAgICAgZ2VtLWZsYWdzKSkpKQpAQCAtODIsOCAr MTAwLDggQEAgZGlyZWN0b3J5LiIKIChkZWZpbmUgJXN0YW5kYXJkLXBoYXNlcwogICAobW9kaWZ5 LXBoYXNlcyBnbnU6JXN0YW5kYXJkLXBoYXNlcwogICAgIChkZWxldGUgJ2NvbmZpZ3VyZSkKLSAg ICAoYWRkLWFmdGVyICd1bnBhY2sgJ2dpdGlmeSBnaXRpZnkpCi0gICAgKHJlcGxhY2UgJ2J1aWxk IGJ1aWxkKQorICAgIChkZWxldGUgJ2J1aWxkKQorICAgIChyZXBsYWNlICd1bnBhY2sgdW5wYWNr KQogICAgIChyZXBsYWNlICdpbnN0YWxsIGluc3RhbGwpCiAgICAgKHJlcGxhY2UgJ2NoZWNrIGNo ZWNrKSkpCiAKLS0gCjIuNC4zCgo= --001a114e51b6a20291051d7513e2--