From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederick Muriithi Subject: [PATCH] gnu: Add ldc-1.1.0-beta6 Date: Fri, 6 Jan 2017 18:04:38 +0300 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1141fa3c72b6da05456e570a Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cPW4q-0006Sx-1t for guix-devel@gnu.org; Fri, 06 Jan 2017 10:05:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cPW4j-0004AJ-KH for guix-devel@gnu.org; Fri, 06 Jan 2017 10:05:08 -0500 Received: from mail-yw0-x22f.google.com ([2607:f8b0:4002:c05::22f]:32963) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cPW4j-00049g-Dm for guix-devel@gnu.org; Fri, 06 Jan 2017 10:05:01 -0500 Received: by mail-yw0-x22f.google.com with SMTP id r204so371633899ywb.0 for ; Fri, 06 Jan 2017 07:05:01 -0800 (PST) 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" To: guix-devel@gnu.org --001a1141fa3c72b6da05456e570a Content-Type: text/plain; charset=UTF-8 Based on thread https://lists.gnu.org/archive/html/guix-devel/2017-01/msg00465.html - Fixed some issues raised by Danny Milosavljevic on thread above - Updated the beta version to 6, up from 4 - Started up a thread on ldc forum to have a version flag added to deactivate network tests when building ldc https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org -- Frederick M. Muriithi --001a1141fa3c72b6da05456e570a Content-Type: text/x-patch; charset=US-ASCII; name="0001-gnu-Add-ldc-1.1.0-beta6.patch" Content-Disposition: attachment; filename="0001-gnu-Add-ldc-1.1.0-beta6.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ixlxmkxh0 RnJvbSBhMDE4NWRjMWY1ODgxYmFlODA5NDY0MzI1MTMzNWIwNDU2MDkwMGEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNdXJpaXRoaSBGcmVkZXJpY2sgTXVyaXVraSA8ZnJlZG1hbmds aXNAZ21haWwuY29tPgpEYXRlOiBGcmksIDYgSmFuIDIwMTcgMTc6NTE6MTggKzAzMDAKU3ViamVj dDogW1BBVENIXSBnbnU6IEFkZCBsZGMtMS4xLjAtYmV0YTYKCiogZ251L3BhY2thZ2VzL2xkYy5z Y20gKGxkYy0xLjEuMC1iZXRhNik6IE5ldyB2YXJpYWJsZQoqIGdudS9wYWNrYWdlcy9sZGMuc2Nt IChsZGMtYmV0YSk6IE5ldyB2YXJpYWJsZQoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL2xkYzEuMS4w LWRpc2FibGUtZG1kLXRlc3RzLnBhdGNoOiBOZXcgcGF0Y2gKKiBnbnUvcGFja2FnZXMvcGF0Y2hl cy9sZGMxLjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaDogTmV3IHBhdGNoCi0tLQogZ251 L3BhY2thZ2VzL2xkYy5zY20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgODUgKysr KysKIC4uLi9wYXRjaGVzL2xkYzEuMS4wLWRpc2FibGUtZG1kLXRlc3RzLnBhdGNoICAgICAgIHwg IDI4ICsrCiAuLi4vcGF0Y2hlcy9sZGMxLjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaCAg ICB8IDQwNCArKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNTE3IGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0Y2hlcy9sZGMxLjEu MC1kaXNhYmxlLWRtZC10ZXN0cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdl cy9wYXRjaGVzL2xkYzEuMS4wLWRpc2FibGUtcGhvYm9zLXRlc3RzLnBhdGNoCgpkaWZmIC0tZ2l0 IGEvZ251L3BhY2thZ2VzL2xkYy5zY20gYi9nbnUvcGFja2FnZXMvbGRjLnNjbQppbmRleCA2ZWE3 ZjY2Li5iYmM1YTEwIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbGRjLnNjbQorKysgYi9nbnUv cGFja2FnZXMvbGRjLnNjbQpAQCAtMjcsNiArMjcsNyBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYmFzZSkKICAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgY29tcHJlc3Npb24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIGdkYikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGliZWRpdCkKICAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMgbGx2bSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg cHl0aG9uKQpAQCAtMTcxLDMgKzE3Miw4NyBAQCBsYXRlc3QgRE1EIGZyb250ZW5kIGFuZCB1c2Vz IExMVk0gYXMgYmFja2VuZC4iKQogICAgIChsaWNlbnNlIChsaXN0IGxpY2Vuc2U6YnNkLTMKICAg ICAgICAgICAgICAgICAgICBsaWNlbnNlOmdwbDIrCiAgICAgICAgICAgICAgICAgICAgbGljZW5z ZTpib29zdDEuMCkpKSkKKworCisoZGVmaW5lLXB1YmxpYyBsZGMtMS4xLjAtYmV0YTYKKyAgKGxl dCAoKG9sZGVyLXZlcnNpb24gIjEuMS4wLWJldGE0IikpCisgICAgKHBhY2thZ2UKKyAgICAoaW5o ZXJpdCBsZGMpCisgICAgKG5hbWUgImxkYyIpCisgICAgKHZlcnNpb24gIjEuMS4wLWJldGE2IikK KyAgICAoc291cmNlIChvcmlnaW4KKyAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisg ICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgImh0 dHBzOi8vZ2l0aHViLmNvbS9sZGMtZGV2ZWxvcGVycy9sZGMvYXJjaGl2ZS92IgorICAgICAgICAg ICAgICAgICAgICB2ZXJzaW9uICIudGFyLmd6IikpCisgICAgICAgICAgICAgIChmaWxlLW5hbWUg KHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQorICAgICAgICAgICAg ICAoc2hhMjU2CisgICAgICAgICAgICAgICAoYmFzZTMyCisgICAgICAgICAgICAgICAgIjBuNTNi cmxrbTg2amprcHB5OXhteng3bnl4eWt6ajY4a2N4Z3Y4cTdkMTBzNWhmc2N4czgiKSkpKQorICAg IChhcmd1bWVudHMKKyAgICAgYCgjOnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFu ZGFyZC1waGFzZXMKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAndW5wYWNrLXN1Ym1vZHVs ZS1zb3VyY2VzCisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhl ci1rZXlzKQorICAgICAgICAgICAgIChsZXQgKCh1bnBhY2sgKGxhbWJkYSAoc291cmNlIHRhcmdl dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lv biB0YXJnZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoemVybz8gKHN5c3RlbSog InRhciIgInh2ZiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGFzc29jLXJlZiBpbnB1dHMgc291cmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLS1zdHJpcC1jb21wb25lbnRzPTEiKSkpKSkpCisgICAgICAg ICAgICAgICAoYW5kICh1bnBhY2sgInBob2Jvcy1zcmMiICJydW50aW1lL3Bob2JvcyIpCisgICAg ICAgICAgICAgICAgICAgICh1bnBhY2sgImRydW50aW1lLXNyYyIgInJ1bnRpbWUvZHJ1bnRpbWUi KQorICAgICAgICAgICAgICAgICAgICAodW5wYWNrICJkbWQtdGVzdHN1aXRlLXNyYyIgInRlc3Rz L2QyL2RtZC10ZXN0c3VpdGUiKSkpKSkKKyAgICAgICAgIDs7IHRoZSAncGF0Y2gtZG1kMiBzdGVw IGluIGxkYyBjYXVzZXMgdGhlIGJ1aWxkIHRvIGZhaWwgc2luY2UKKyAgICAgICAgIDs7IGRtZDIv cm9vdC9wb3J0LmMgbm8gbG9uZ2VyIGV4aXN0cy4gYXJndW1lbnRzIG5lZWRlZCB0byBoYXZlCisg ICAgICAgICA7OyAncGF0Y2gtZG1kMiBzdGVwIHJlbW92ZWQsIGJ1dCByZXRhaW4gZXZlcnl0aGlu ZyBlbHNlCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2stc3VibW9kdWxlLXNvdXJjZXMgJ3Bh dGNoLXBob2JvcworICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3Ro ZXIta2V5cykKKyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInJ1bnRpbWUvcGhvYm9zL3N0ZC9w cm9jZXNzLmQiCisgICAgICAgICAgICAgICAoKCIvYmluL3NoIikgKHdoaWNoICJzaCIpKQorICAg ICAgICAgICAgICAgKCgiZWNobyIpICh3aGljaCAiZWNobyIpKSkKKyAgICAgICAgICAgICAoc3Vi c3RpdHV0ZSogInJ1bnRpbWUvcGhvYm9zL3N0ZC9kYXRldGltZS5kIgorICAgICAgICAgICAgICAg KCgiL3Vzci9zaGFyZS96b25laW5mby8iKQorICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5k IChhc3NvYy1yZWYgaW5wdXRzICJ0emRhdGEiKSAiL3NoYXJlL3pvbmVpbmZvIikpKQorICAgICAg ICAgICAgIChzdWJzdGl0dXRlKiAidGVzdHMvZDIvZG1kLXRlc3RzdWl0ZS9NYWtlZmlsZSIKKyAg ICAgICAgICAgICAgICgoIi9iaW4vYmFzaCIpICh3aGljaCAiYmFzaCIpKSkKKyAgICAgICAgICAg ICAjdCkpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImxsdm0iICxsbHZtKQorICAg ICAgICgiY2xhbmciICxjbGFuZykKKyAgICAgICAoImxkYyIgLGxkYykKKyAgICAgICAoInB5dGhv bi1saXQiICxweXRob24tbGl0KQorICAgICAgICgicHl0aG9uLXdyYXBwZXIiICxweXRob24td3Jh cHBlcikKKyAgICAgICAoInVuemlwIiAsdW56aXApCisgICAgICAgKCJnZGIiICxnZGIpCisgICAg ICAgKCJwaG9ib3Mtc3JjIgorICAgICAgICAsKG9yaWdpbgorICAgICAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKKyAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAg ICAiaHR0cHM6Ly9naXRodWIuY29tL2xkYy1kZXZlbG9wZXJzL3Bob2Jvcy9hcmNoaXZlL2xkYy12 IgorICAgICAgICAgICAgICAgICBvbGRlci12ZXJzaW9uICIudGFyLmd6IikpCisgICAgICAgICAg IChzaGEyNTYKKyAgICAgICAgICAgIChiYXNlMzIKKyAgICAgICAgICAgICAiMWl3eTVyczBycWtp Y2oxemZzYTV5cXZrOGFyZDk5YmZyOGc2OXFtaGxiemI5OHEwa3BrcyIpKQorICAgICAgICAgICAo cGF0Y2hlcyAoc2VhcmNoLXBhdGNoZXMgImxkYzEuMS4wLWRpc2FibGUtcGhvYm9zLXRlc3RzLnBh dGNoIikpKSkKKyAgICAgICAoImRydW50aW1lLXNyYyIKKyAgICAgICAgLChvcmlnaW4KKyAgICAg ICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQK KyAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9sZGMtZGV2ZWxvcGVycy9kcnVu dGltZS9hcmNoaXZlL2xkYy12IgorICAgICAgICAgICAgICAgICBvbGRlci12ZXJzaW9uICIudGFy Lmd6IikpCisgICAgICAgICAgIChzaGEyNTYKKyAgICAgICAgICAgIChiYXNlMzIKKyAgICAgICAg ICAgICAiMXFzaXc1bHoxcHI4bXM5bXlqZjhiOTRucWk3ZjE3ODFrMjI2anZ4d25oa2pnMTFkMHM2 MyIpKSkpCisgICAgICAgKCJkbWQtdGVzdHN1aXRlLXNyYyIKKyAgICAgICAgLChvcmlnaW4KKyAg ICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBl bmQKKyAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9sZGMtZGV2ZWxvcGVycy9k bWQtdGVzdHN1aXRlL2FyY2hpdmUvbGRjLXYiCisgICAgICAgICAgICAgICAgIG9sZGVyLXZlcnNp b24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgKGJhc2UzMgor ICAgICAgICAgICAgICIwanA1NGh5aTc1aTlnNDFydmdtbTN6ZzIxeXp2NTdxOGRnaHJoYjQzMnJi MG45ajE1bWJwIikpCisgICAgICAgICAgIDs7IERlYWN0aXZhdGUgc29tZSBmYWlsaW5nIGdkYiB0 ZXN0cy4gTW9zdCBvdGhlciBnZGIgdGVzdHMgcGFzcworICAgICAgICAgICAocGF0Y2hlcyAoc2Vh cmNoLXBhdGNoZXMgImxkYzEuMS4wLWRpc2FibGUtZG1kLXRlc3RzLnBhdGNoIikpKSkpKSkpKQor CisoZGVmaW5lLXB1YmxpYyBsZGMtYmV0YSBsZGMtMS4xLjAtYmV0YTYpCmRpZmYgLS1naXQgYS9n bnUvcGFja2FnZXMvcGF0Y2hlcy9sZGMxLjEuMC1kaXNhYmxlLWRtZC10ZXN0cy5wYXRjaCBiL2du dS9wYWNrYWdlcy9wYXRjaGVzL2xkYzEuMS4wLWRpc2FibGUtZG1kLXRlc3RzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1MmZjYjgKLS0tIC9kZXYvbnVsbAorKysg Yi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9sZGMxLjEuMC1kaXNhYmxlLWRtZC10ZXN0cy5wYXRjaApA QCAtMCwwICsxLDI4IEBACitkaWZmIC0tZ2l0IGEvZF9kb190ZXN0LmQgYi9kX2RvX3Rlc3QuZAor aW5kZXggYWE2NzE2OS4uN2E0ZGNjMSAxMDA3NTUKKy0tLSBhL2RfZG9fdGVzdC5kCisrKysgYi9k X2RvX3Rlc3QuZAorQEAgLTY0NSw4ICs2NDUsOCBAQCBpbnQgbWFpbihzdHJpbmdbXSBhcmdzKQor ICAgICAgICAgICAgICAgICAgICAgYXV0byBnZGJfb3V0cHV0ID0gZXhlY3V0ZShmVGhpc1J1biwg Y29tbWFuZCwgdHJ1ZSwgcmVzdWx0X3BhdGgpOworICAgICAgICAgICAgICAgICAgICAgaWYgKHRl c3RBcmdzLmdkYk1hdGNoICFpcyBudWxsKQorICAgICAgICAgICAgICAgICAgICAgeworLSAgICAg ICAgICAgICAgICAgICAgICAgIGVuZm9yY2UobWF0Y2goZ2RiX291dHB1dCwgcmVnZXgodGVzdEFy Z3MuZ2RiTWF0Y2gpKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcbkdEQiBy ZWdleDogJyJ+dGVzdEFyZ3MuZ2RiTWF0Y2h+IicgZGlkbid0IG1hdGNoIG91dHB1dDpcbi0tLS1c biJ+Z2RiX291dHB1dH4iXG4tLS0tXG4iKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAvL2Vu Zm9yY2UobWF0Y2goZ2RiX291dHB1dCwgcmVnZXgodGVzdEFyZ3MuZ2RiTWF0Y2gpKSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIlxuR0RCIHJlZ2V4OiAnIn50ZXN0QXJncy5n ZGJNYXRjaH4iJyBkaWRuJ3QgbWF0Y2ggb3V0cHV0OlxuLS0tLVxuIn5nZGJfb3V0cHV0fiJcbi0t LS1cbiIpOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgfQorZGlmZiAtLWdpdCBhL3J1bm5hYmxlL2dkYjE1NzI5LnNoIGIvcnVubmFibGUv Z2RiMTU3Mjkuc2gKK2luZGV4IDFkMzkwZTAuLjdiZDFhM2IgMTAwNzU1CistLS0gYS9ydW5uYWJs ZS9nZGIxNTcyOS5zaAorKysrIGIvcnVubmFibGUvZ2RiMTU3Mjkuc2gKK0BAIC0yMSw3ICsyMSw3 IEBAIGlmIFsgJE9TID09ICJsaW51eCIgXTsgdGhlbgorICAgICAgICBlY2hvIFJFU1VMVD0KKyAg ICAgICAgcCBzLnZhbAorIEVPRgorLSAgICBnZGIgJHtkaXJ9JHtTRVB9Z2RiMTU3MjkgLS1iYXRj aCAteCAke2Rpcn0ke1NFUH1nZGIxNTcyOS5nZGIgfCBncmVwICdSRVNVTFQ9LioxMjM0JyB8fCBl eGl0IDEKKysgICAgI2dkYiAke2Rpcn0ke1NFUH1nZGIxNTcyOSAtLWJhdGNoIC14ICR7ZGlyfSR7 U0VQfWdkYjE1NzI5LmdkYiB8IGdyZXAgJ1JFU1VMVD0uKjEyMzQnIHx8IGV4aXQgMQorIGZpCisg Cisgcm0gLWYgJHtsaWJuYW1lfSAke2Rpcn0ke1NFUH17Z2RiMTU3Mjkke09CSn0sZ2RiMTU3Mjkk e0VYRX0sZ2RiMTU3MjkuZ2RifQpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvbGRj MS4xLjAtZGlzYWJsZS1waG9ib3MtdGVzdHMucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9s ZGMxLjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi43OWRlYjExCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3Bh dGNoZXMvbGRjMS4xLjAtZGlzYWJsZS1waG9ib3MtdGVzdHMucGF0Y2gKQEAgLTAsMCArMSw0MDQg QEAKK2RpZmYgLS1naXQgYS9zdGQvZGF0ZXRpbWUuZCBiL3N0ZC9kYXRldGltZS5kCitpbmRleCA0 ZDRhZmIxLi4yYzkxYTQ0IDEwMDY0NAorLS0tIGEvc3RkL2RhdGV0aW1lLmQKKysrKyBiL3N0ZC9k YXRldGltZS5kCitAQCAtMjczMDYsOCArMjczMDYsOCBAQCBwdWJsaWM6CisgICAgICAgICAvLyBs ZWF2aW5nIGl0IGNvbW1lbnRlZCBvdXQgdW50aWwgSSBjYW4gc29ydCBpdCBvdXQuCisgICAgICAg ICAvL2Fzc2VydChlcXVhbCh0ek5hbWVzLCB0ek5hbWVzLnVuaXEoKSkpOworIAorLSAgICAgICAg Zm9yZWFjaCh0ek5hbWU7IHR6TmFtZXMpCistICAgICAgICAgICAgYXNzZXJ0Tm90VGhyb3duIURh dGVUaW1lRXhjZXB0aW9uKHRlc3RQWlN1Y2Nlc3ModHpOYW1lKSk7CisrICAgICAgICAvL2ZvcmVh Y2godHpOYW1lOyB0ek5hbWVzKQorKyAgICAgICAgICAgIC8vYXNzZXJ0Tm90VGhyb3duIURhdGVU aW1lRXhjZXB0aW9uKHRlc3RQWlN1Y2Nlc3ModHpOYW1lKSk7CisgICAgIH0KKyAKKyAKK0BAIC0y OTE3OCw4ICsyOTE3OCw4IEBAIHB1YmxpYzoKKyAKKyAgICAgICAgIGF1dG8gdHpOYW1lcyA9IGdl dEluc3RhbGxlZFRaTmFtZXMoKTsKKyAKKy0gICAgICAgIGZvcmVhY2godHpOYW1lOyB0ek5hbWVz KQorLSAgICAgICAgICAgIGFzc2VydE5vdFRocm93biFEYXRlVGltZUV4Y2VwdGlvbih0ZXN0UFRa U3VjY2Vzcyh0ek5hbWUpKTsKKysgICAgICAgIC8vZm9yZWFjaCh0ek5hbWU7IHR6TmFtZXMpCisr ICAgICAgICAgICAgLy9hc3NlcnROb3RUaHJvd24hRGF0ZVRpbWVFeGNlcHRpb24odGVzdFBUWlN1 Y2Nlc3ModHpOYW1lKSk7CisgCisgICAgICAgICAvLyBObyB0aW1lem9uZSBkaXJlY3RvcmllcyBv biBBbmRyb2lkLCBqdXN0IGEgc2luZ2xlIHR6ZGF0YSBmaWxlCisgICAgICAgICB2ZXJzaW9uKEFu ZHJvaWQpIHt9IGVsc2UKK2RpZmYgLS1naXQgYS9zdGQvbmV0L2N1cmwuZCBiL3N0ZC9uZXQvY3Vy bC5kCitpbmRleCA5YzZhZjY2Li41ZmNjYjM4IDEwMDY0NAorLS0tIGEvc3RkL25ldC9jdXJsLmQK KysrKyBiL3N0ZC9uZXQvY3VybC5kCitAQCAtNDE5LDcgKzQxOSw3IEBAIHZvaWQgZG93bmxvYWQo Q29ubiA9IEF1dG9Qcm90b2NvbCkoY29uc3QoY2hhcilbXSB1cmwsIHN0cmluZyBzYXZlVG9QYXRo LCBDb25uIGNvCisgCisgdW5pdHRlc3QKKyB7CistICAgIHN0YXRpYyBpbXBvcnQgc3RkLmZpbGU7 CisrICAgIC8qc3RhdGljIGltcG9ydCBzdGQuZmlsZTsKKyAgICAgZm9yZWFjaCAoaG9zdDsgW3Rl c3RTZXJ2ZXIuYWRkciwgImh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAgICAg ICAgIHRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7CitAQCAtNDMwLDcgKzQzMCw3IEBAIHVuaXR0ZXN0 CisgICAgICAgICBzY29wZSAoZXhpdCkgc3RkLmZpbGUucmVtb3ZlKGZuKTsKKyAgICAgICAgIGRv d25sb2FkKGhvc3QsIGZuKTsKKyAgICAgICAgIGFzc2VydChzdGQuZmlsZS5yZWFkVGV4dChmbikg PT0gIkhlbGxvIHdvcmxkIik7CistICAgIH0KKysgICAgfSovCisgfQorIAorIC8qKiBVcGxvYWQg ZmlsZSBmcm9tIGxvY2FsIGZpbGVzIHN5c3RlbSB1c2luZyB0aGUgSFRUUCBvciBGVFAgcHJvdG9j b2wuCitAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgdXBsb2FkKENvbm4gPSBBdXRvUHJvdG9jb2wp KHN0cmluZyBsb2FkRnJvbVBhdGgsIGNvbnN0KGNoYXIpW10gdXJsLCBDb25uIGNvCisgCisgdW5p dHRlc3QKKyB7CistICAgIHN0YXRpYyBpbXBvcnQgc3RkLmZpbGU7CisrICAgIC8qc3RhdGljIGlt cG9ydCBzdGQuZmlsZTsKKyAgICAgZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRkciwgImh0 dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAgICAgICAgIGF1dG8gZm4gPSBzdGQu ZmlsZS5kZWxldGVtZTsKK0BAIC00OTYsNyArNDk2LDcgQEAgdW5pdHRlc3QKKyAgICAgICAgICAg ICBzLnNlbmQoaHR0cE9LKCkpOworICAgICAgICAgfSk7CisgICAgICAgICB1cGxvYWQoZm4sIGhv c3QgfiAiL3BhdGgiKTsKKy0gICAgfQorKyAgICB9Ki8KKyB9CisgCisgLyoqIEhUVFAvRlRQIGdl dCBjb250ZW50LgorQEAgLTU1MSw3ICs1NTEsNyBAQCBUW10gZ2V0KENvbm4gPSBBdXRvUHJvdG9j b2wsIFQgPSBjaGFyKShjb25zdChjaGFyKVtdIHVybCwgQ29ubiBjb25uID0gQ29ubigpKQorIAor IHVuaXR0ZXN0CisgeworLSAgICBmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAiaHR0 cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKysgICAgLypmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZl ci5hZGRyLCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAgICAgdGVz dFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhc3NlcnQocy5yZWN2UmVxLmhkcnMu Y2FuRmluZCgiR0VUIC9wYXRoIikpOworQEAgLTU1OSw3ICs1NTksNyBAQCB1bml0dGVzdAorICAg ICAgICAgfSk7CisgICAgICAgICBhdXRvIHJlcyA9IGdldChob3N0IH4gIi9wYXRoIik7CisgICAg ICAgICBhc3NlcnQocmVzID09ICJHRVRSRVNQT05TRSIpOworLSAgICB9CisrICAgIH0qLworIH0K KyAKKyAKK0BAIC01OTgsNyArNTk4LDcgQEAgaWYgKGlzKFQgPT0gY2hhcikgfHwgaXMoVCA9PSB1 Ynl0ZSkpCisgCisgdW5pdHRlc3QKKyB7CistICAgIGZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVy LmFkZHIsICJodHRwOi8vIn50ZXN0U2VydmVyLmFkZHJdKQorKyAgICAvKmZvcmVhY2ggKGhvc3Q7 IFt0ZXN0U2VydmVyLmFkZHIsICJodHRwOi8vIn50ZXN0U2VydmVyLmFkZHJdKQorICAgICB7Cisg ICAgICAgICB0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgICAgIGF1dG8gcmVxID0g cy5yZWN2UmVxOworQEAgLTYwOCwxMiArNjA4LDEyIEBAIHVuaXR0ZXN0CisgICAgICAgICB9KTsK KyAgICAgICAgIGF1dG8gcmVzID0gcG9zdChob3N0IH4gIi9wYXRoIiwgIlBPU1RCT0RZIik7Cisg ICAgICAgICBhc3NlcnQocmVzID09ICJQT1NUUkVTUE9OU0UiKTsKKy0gICAgfQorKyAgICB9Ki8K KyB9CisgCisgdW5pdHRlc3QKKyB7CistICAgIGF1dG8gZGF0YSA9IG5ldyB1Ynl0ZVtdKDI1Nik7 CisrICAgIC8qYXV0byBkYXRhID0gbmV3IHVieXRlW10oMjU2KTsKKyAgICAgZm9yZWFjaCAoaSwg cmVmIHViOyBkYXRhKQorICAgICAgICAgdWIgPSBjYXN0KHVieXRlKWk7CisgCitAQCAtNjI0LDcg KzYyNCw3IEBAIHVuaXR0ZXN0CisgICAgICAgICBzLnNlbmQoaHR0cE9LKGNhc3QodWJ5dGVbXSlb MTcsIDI3LCAzNSwgNDFdKSk7CisgICAgIH0pOworICAgICBhdXRvIHJlcyA9IHBvc3QhdWJ5dGUo dGVzdFNlcnZlci5hZGRyLCBkYXRhKTsKKy0gICAgYXNzZXJ0KHJlcyA9PSBjYXN0KHVieXRlW10p WzE3LCAyNywgMzUsIDQxXSk7CisrICAgIGFzc2VydChyZXMgPT0gY2FzdCh1Ynl0ZVtdKVsxNywg MjcsIDM1LCA0MV0pOyovCisgfQorIAorIAorQEAgLTY4MCw3ICs2ODAsNyBAQCBUW10gcHV0KENv bm4gPSBBdXRvUHJvdG9jb2wsIFQgPSBjaGFyLCBQdXRVbml0KShjb25zdChjaGFyKVtdIHVybCwg Y29uc3QoUHV0VW5pdAorIAorIHVuaXR0ZXN0CisgeworLSAgICBmb3JlYWNoIChob3N0OyBbdGVz dFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKysgICAgLypmb3JlYWNo IChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAg ICAgeworICAgICAgICAgdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhdXRv IHJlcSA9IHMucmVjdlJlcTsKK0BAIC02OTAsNyArNjkwLDcgQEAgdW5pdHRlc3QKKyAgICAgICAg IH0pOworICAgICAgICAgYXV0byByZXMgPSBwdXQoaG9zdCB+ICIvcGF0aCIsICJQVVRCT0RZIik7 CisgICAgICAgICBhc3NlcnQocmVzID09ICJQVVRSRVNQT05TRSIpOworLSAgICB9CisrICAgIH0q LworIH0KKyAKKyAKK0BAIC03NDIsNyArNzQyLDcgQEAgdm9pZCBkZWwoQ29ubiA9IEF1dG9Qcm90 b2NvbCkoY29uc3QoY2hhcilbXSB1cmwsIENvbm4gY29ubiA9IENvbm4oKSkKKyAKKyB1bml0dGVz dAorIHsKKy0gICAgZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRkciwgImh0dHA6Ly8ifnRl c3RTZXJ2ZXIuYWRkcl0pCisrICAgIC8qZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRkciwg Imh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAgICAgICAgIHRlc3RTZXJ2ZXIu aGFuZGxlKChzKSB7CisgICAgICAgICAgICAgYXV0byByZXEgPSBzLnJlY3ZSZXE7CitAQCAtNzUw LDcgKzc1MCw3IEBAIHVuaXR0ZXN0CisgICAgICAgICAgICAgcy5zZW5kKGh0dHBPSygpKTsKKyAg ICAgICAgIH0pOworICAgICAgICAgZGVsKGhvc3QgfiAiL3BhdGgiKTsKKy0gICAgfQorKyAgICB9 Ki8KKyB9CisgCisgCitAQCAtNzk2LDEzICs3OTYsMTMgQEAgVFtdIG9wdGlvbnMoVCA9IGNoYXIs IE9wdGlvbnNVbml0KShjb25zdChjaGFyKVtdIHVybCwKKyAKKyB1bml0dGVzdAorIHsKKy0gICAg dGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKysgICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgewor ICAgICAgICAgYXV0byByZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICBhc3NlcnQocmVxLmhkcnMu Y2FuRmluZCgiT1BUSU9OUyAvcGF0aCIpKTsKKyAgICAgICAgIHMuc2VuZChodHRwT0soIk9QVElP TlNSRVNQT05TRSIpKTsKKyAgICAgfSk7CisgICAgIGF1dG8gcmVzID0gb3B0aW9ucyh0ZXN0U2Vy dmVyLmFkZHIgfiAiL3BhdGgiKTsKKy0gICAgYXNzZXJ0KHJlcyA9PSAiT1BUSU9OU1JFU1BPTlNF Iik7CisrICAgIGFzc2VydChyZXMgPT0gIk9QVElPTlNSRVNQT05TRSIpOyovCisgfQorIAorIAor QEAgLTgzNiwxMyArODM2LDEzIEBAIFRbXSB0cmFjZShUID0gY2hhcikoY29uc3QoY2hhcilbXSB1 cmwsIEhUVFAgY29ubiA9IEhUVFAoKSkKKyAKKyB1bml0dGVzdAorIHsKKy0gICAgdGVzdFNlcnZl ci5oYW5kbGUoKHMpIHsKKysgICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAg YXV0byByZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICBhc3NlcnQocmVxLmhkcnMuY2FuRmluZCgi VFJBQ0UgL3BhdGgiKSk7CisgICAgICAgICBzLnNlbmQoaHR0cE9LKCJUUkFDRVJFU1BPTlNFIikp OworICAgICB9KTsKKyAgICAgYXV0byByZXMgPSB0cmFjZSh0ZXN0U2VydmVyLmFkZHIgfiAiL3Bh dGgiKTsKKy0gICAgYXNzZXJ0KHJlcyA9PSAiVFJBQ0VSRVNQT05TRSIpOworKyAgICBhc3NlcnQo cmVzID09ICJUUkFDRVJFU1BPTlNFIik7Ki8KKyB9CisgCisgCitAQCAtODc1LDEzICs4NzUsMTMg QEAgVFtdIGNvbm5lY3QoVCA9IGNoYXIpKGNvbnN0KGNoYXIpW10gdXJsLCBIVFRQIGNvbm4gPSBI VFRQKCkpCisgCisgdW5pdHRlc3QKKyB7CistICAgIHRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7Cisr ICAgIC8qdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgIGF1dG8gcmVxID0gcy5yZWN2 UmVxOworICAgICAgICAgYXNzZXJ0KHJlcS5oZHJzLmNhbkZpbmQoIkNPTk5FQ1QgL3BhdGgiKSk7 CisgICAgICAgICBzLnNlbmQoaHR0cE9LKCJDT05ORUNUUkVTUE9OU0UiKSk7CisgICAgIH0pOwor ICAgICBhdXRvIHJlcyA9IGNvbm5lY3QodGVzdFNlcnZlci5hZGRyIH4gIi9wYXRoIik7CistICAg IGFzc2VydChyZXMgPT0gIkNPTk5FQ1RSRVNQT05TRSIpOworKyAgICBhc3NlcnQocmVzID09ICJD T05ORUNUUkVTUE9OU0UiKTsqLworIH0KKyAKKyAKK0BAIC05MTksMTQgKzkxOSwxNCBAQCBUW10g cGF0Y2goVCA9IGNoYXIsIFBhdGNoVW5pdCkoY29uc3QoY2hhcilbXSB1cmwsIGNvbnN0KFBhdGNo VW5pdClbXSBwYXRjaERhdGEsCisgCisgdW5pdHRlc3QKKyB7CistICAgIHRlc3RTZXJ2ZXIuaGFu ZGxlKChzKSB7CisrICAgIC8qdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgIGF1dG8g cmVxID0gcy5yZWN2UmVxOworICAgICAgICAgYXNzZXJ0KHJlcS5oZHJzLmNhbkZpbmQoIlBBVENI IC9wYXRoIikpOworICAgICAgICAgYXNzZXJ0KHJlcS5iZHkuY2FuRmluZCgiUEFUQ0hCT0RZIikp OworICAgICAgICAgcy5zZW5kKGh0dHBPSygiUEFUQ0hSRVNQT05TRSIpKTsKKyAgICAgfSk7Cisg ICAgIGF1dG8gcmVzID0gcGF0Y2godGVzdFNlcnZlci5hZGRyIH4gIi9wYXRoIiwgIlBBVENIQk9E WSIpOworLSAgICBhc3NlcnQocmVzID09ICJQQVRDSFJFU1BPTlNFIik7CisrICAgIGFzc2VydChy ZXMgPT0gIlBBVENIUkVTUE9OU0UiKTsqLworIH0KKyAKKyAKK0BAIC0xMDMxLDE5ICsxMDMxLDE5 IEBAIHByaXZhdGUgYXV0byBfYmFzaWNIVFRQKFQpKGNvbnN0KGNoYXIpW10gdXJsLCBjb25zdCh2 b2lkKVtdIHNlbmREYXRhLCBIVFRQIGNsaWVuCisgCisgdW5pdHRlc3QKKyB7CistICAgIHRlc3RT ZXJ2ZXIuaGFuZGxlKChzKSB7CisrICAgIC8qdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAg ICAgIGF1dG8gcmVxID0gcy5yZWN2UmVxOworICAgICAgICAgYXNzZXJ0KHJlcS5oZHJzLmNhbkZp bmQoIkdFVCAvcGF0aCIpKTsKKyAgICAgICAgIHMuc2VuZChodHRwTm90Rm91bmQoKSk7CisgICAg IH0pOworICAgICBhdXRvIGUgPSBjb2xsZWN0RXhjZXB0aW9uIUN1cmxFeGNlcHRpb24oZ2V0KHRl c3RTZXJ2ZXIuYWRkciB+ICIvcGF0aCIpKTsKKy0gICAgYXNzZXJ0KGUubXNnID09ICJIVFRQIHJl cXVlc3QgcmV0dXJuZWQgc3RhdHVzIGNvZGUgNDA0IChOb3QgRm91bmQpIik7CisrICAgIGFzc2Vy dChlLm1zZyA9PSAiSFRUUCByZXF1ZXN0IHJldHVybmVkIHN0YXR1cyBjb2RlIDQwNCAoTm90IEZv dW5kKSIpOyovCisgfQorIAorIC8vIEJ1Z3ppbGxhIDE0NzYwIC0gY29udGVudCBsZW5ndGggbXVz dCBiZSByZXNldCBhZnRlciBwb3N0CisgdW5pdHRlc3QKKyB7CistICAgIHRlc3RTZXJ2ZXIuaGFu ZGxlKChzKSB7CisrICAgIC8qdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgIGF1dG8g cmVxID0gcy5yZWN2UmVxOworICAgICAgICAgYXNzZXJ0KHJlcS5oZHJzLmNhbkZpbmQoIlBPU1Qg LyIpKTsKKyAgICAgICAgIGFzc2VydChyZXEuYmR5LmNhbkZpbmQoIlBPU1RCT0RZIikpOworQEAg LTEwNjEsNyArMTA2MSw3IEBAIHVuaXR0ZXN0CisgICAgIGF1dG8gcmVzID0gcG9zdCh0ZXN0U2Vy dmVyLmFkZHIsICJQT1NUQk9EWSIsIGh0dHApOworICAgICBhc3NlcnQocmVzID09ICJQT1NUUkVT UE9OU0UiKTsKKyAgICAgcmVzID0gdHJhY2UodGVzdFNlcnZlci5hZGRyLCBodHRwKTsKKy0gICAg YXNzZXJ0KHJlcyA9PSAiVFJBQ0VSRVNQT05TRSIpOworKyAgICBhc3NlcnQocmVzID09ICJUUkFD RVJFU1BPTlNFIik7Ki8KKyB9CisgCisgLyoKK0BAIC0xMjY1LDE0ICsxMjY1LDE0IEBAIGlmIChp c0N1cmxDb25uIUNvbm4gJiYgaXNTb21lQ2hhciFDaGFyICYmIGlzU29tZUNoYXIhVGVybWluYXRv cikKKyAKKyB1bml0dGVzdAorIHsKKy0gICAgZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRk ciwgImh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisrICAgIC8qZm9yZWFjaCAoaG9zdDsgW3Rl c3RTZXJ2ZXIuYWRkciwgImh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAgICAg ICAgIHRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7CisgICAgICAgICAgICAgYXV0byByZXEgPSBzLnJl Y3ZSZXE7CisgICAgICAgICAgICAgcy5zZW5kKGh0dHBPSygiTGluZTFcbkxpbmUyXG5MaW5lMyIp KTsKKyAgICAgICAgIH0pOworICAgICAgICAgYXNzZXJ0KGJ5TGluZShob3N0KS5lcXVhbChbIkxp bmUxIiwgIkxpbmUyIiwgIkxpbmUzIl0pKTsKKy0gICAgfQorKyAgICB9Ki8KKyB9CisgCisgLyoq IEhUVFAvRlRQIGZldGNoIGNvbnRlbnQgYXMgYSByYW5nZSBvZiBjaHVua3MuCitAQCAtMTMzNywx NCArMTMzNywxNCBAQCBhdXRvIGJ5Q2h1bmsoQ29ubiA9IEF1dG9Qcm90b2NvbCkKKyAKKyB1bml0 dGVzdAorIHsKKy0gICAgZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRkciwgImh0dHA6Ly8i fnRlc3RTZXJ2ZXIuYWRkcl0pCisrICAgIC8qZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRk ciwgImh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAgICAgICAgIHRlc3RTZXJ2 ZXIuaGFuZGxlKChzKSB7CisgICAgICAgICAgICAgYXV0byByZXEgPSBzLnJlY3ZSZXE7CisgICAg ICAgICAgICAgcy5zZW5kKGh0dHBPSyhjYXN0KHVieXRlW10pWzAsIDEsIDIsIDMsIDQsIDVdKSk7 CisgICAgICAgICB9KTsKKyAgICAgICAgIGFzc2VydChieUNodW5rKGhvc3QsIDIpLmVxdWFsKFtb MCwgMV0sIFsyLCAzXSwgWzQsIDVdXSkpOworLSAgICB9CisrICAgIH0qLworIH0KKyAKKyBwcml2 YXRlIFRbXSBfZ2V0Rm9yUmFuZ2UoVCxDb25uKShjb25zdChjaGFyKVtdIHVybCwgQ29ubiBjb25u KQorQEAgLTE2MjksMTQgKzE2MjksMTQgQEAgYXV0byBieUxpbmVBc3luYyhDb25uID0gQXV0b1By b3RvY29sLCBUZXJtaW5hdG9yID0gY2hhciwgQ2hhciA9IGNoYXIpCisgCisgdW5pdHRlc3QKKyB7 CistICAgIGZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVyLmFkZHIsICJodHRwOi8vIn50ZXN0U2Vy dmVyLmFkZHJdKQorKyAgICAvKmZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVyLmFkZHIsICJodHRw Oi8vIn50ZXN0U2VydmVyLmFkZHJdKQorICAgICB7CisgICAgICAgICB0ZXN0U2VydmVyLmhhbmRs ZSgocykgeworICAgICAgICAgICAgIGF1dG8gcmVxID0gcy5yZWN2UmVxOworICAgICAgICAgICAg IHMuc2VuZChodHRwT0soIkxpbmUxXG5MaW5lMlxuTGluZTMiKSk7CisgICAgICAgICB9KTsKKyAg ICAgICAgIGFzc2VydChieUxpbmVBc3luYyhob3N0KS5lcXVhbChbIkxpbmUxIiwgIkxpbmUyIiwg IkxpbmUzIl0pKTsKKy0gICAgfQorKyAgICB9Ki8KKyB9CisgCisgCitAQCAtMTc3OCwxNCArMTc3 OCwxNCBAQCBhdXRvIGJ5Q2h1bmtBc3luYyhDb25uID0gQXV0b1Byb3RvY29sKQorIAorIHVuaXR0 ZXN0CisgeworLSAgICBmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+ dGVzdFNlcnZlci5hZGRyXSkKKysgICAgLypmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRy LCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAgICAgdGVzdFNlcnZl ci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhdXRvIHJlcSA9IHMucmVjdlJlcTsKKyAgICAg ICAgICAgICBzLnNlbmQoaHR0cE9LKGNhc3QodWJ5dGVbXSlbMCwgMSwgMiwgMywgNCwgNV0pKTsK KyAgICAgICAgIH0pOworICAgICAgICAgYXNzZXJ0KGJ5Q2h1bmtBc3luYyhob3N0LCAyKS5lcXVh bChbWzAsIDFdLCBbMiwgM10sIFs0LCA1XV0pKTsKKy0gICAgfQorKyAgICB9Ki8KKyB9CisgCisg CitAQCAtMjA0MSw3ICsyMDQxLDcgQEAgcHJpdmF0ZSBtaXhpbiB0ZW1wbGF0ZSBQcm90b2NvbCgp CisgCisgICAgIHVuaXR0ZXN0CisgICAgIHsKKy0gICAgICAgIHRlc3RTZXJ2ZXIuaGFuZGxlKChz KSB7CisrICAgICAgICAvKnRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7CisgICAgICAgICAgICAgYXV0 byByZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICAgICAgYXNzZXJ0KHJlcS5oZHJzLmNhbkZpbmQo IkdFVCAvIikpOworICAgICAgICAgICAgIGFzc2VydChyZXEuaGRycy5jYW5GaW5kKCJCYXNpYyBk WE5sY2pwd1lYTnoiKSk7CitAQCAtMjA1MSw3ICsyMDUxLDcgQEAgcHJpdmF0ZSBtaXhpbiB0ZW1w bGF0ZSBQcm90b2NvbCgpCisgICAgICAgICBhdXRvIGh0dHAgPSBIVFRQKHRlc3RTZXJ2ZXIuYWRk cik7CisgICAgICAgICBodHRwLm9uUmVjZWl2ZSA9ICh1Ynl0ZVtdIGRhdGEpIHsgcmV0dXJuIGRh dGEubGVuZ3RoOyB9OworICAgICAgICAgaHR0cC5zZXRBdXRoZW50aWNhdGlvbigidXNlciIsICJw YXNzIik7CistICAgICAgICBodHRwLnBlcmZvcm0oKTsKKysgICAgICAgIGh0dHAucGVyZm9ybSgp OyovCisgICAgIH0KKyAKKyAgICAgLyoqCitAQCAtMjk1OSw3ICsyOTU5LDcgQEAgc3RydWN0IEhU VFAKKyAKKyAgICAgdW5pdHRlc3QKKyAgICAgeworLSAgICAgICAgdGVzdFNlcnZlci5oYW5kbGUo KHMpIHsKKysgICAgICAgIC8qdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBh dXRvIHJlcSA9IHMucmVjdlJlcSF1Ynl0ZTsKKyAgICAgICAgICAgICBhc3NlcnQocmVxLmhkcnMu Y2FuRmluZCgiUE9TVCAvcGF0aCIpKTsKKyAgICAgICAgICAgICBhc3NlcnQocmVxLmJkeS5jYW5G aW5kKGNhc3QodWJ5dGVbXSlbMCwgMSwgMiwgMywgNF0pKTsKK0BAIC0yOTc1LDcgKzI5NzUsNyBA QCBzdHJ1Y3QgSFRUUAorICAgICAgICAgdWJ5dGVbXSByZXM7CisgICAgICAgICBodHRwLm9uUmVj ZWl2ZSA9IChkYXRhKSB7IHJlcyB+PSBkYXRhOyByZXR1cm4gZGF0YS5sZW5ndGg7IH07CisgICAg ICAgICBodHRwLnBlcmZvcm0oKTsKKy0gICAgICAgIGFzc2VydChyZXMgPT0gY2FzdCh1Ynl0ZVtd KVsxNywgMjcsIDM1LCA0MV0pOworKyAgICAgICAgYXNzZXJ0KHJlcyA9PSBjYXN0KHVieXRlW10p WzE3LCAyNywgMzUsIDQxXSk7Ki8KKyAgICAgfQorIAorICAgICAvKioKK2RpZmYgLS1naXQgYS9z dGQvcGF0aC5kIGIvc3RkL3BhdGguZAoraW5kZXggNjBjODQ0Zi4uMDU5ODEwNCAxMDA2NDQKKy0t LSBhL3N0ZC9wYXRoLmQKKysrKyBiL3N0ZC9wYXRoLmQKK0BAIC0zOTUzLDggKzM5NTMsMTAgQEAg dW5pdHRlc3QKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UKKyAgICAgICAgIHsKKysvKgorICAg ICAgICAgICAgIGFzc2VydChleHBhbmRUaWxkZSgifnJvb3QiKSA9PSAiL3Jvb3QiLCBleHBhbmRU aWxkZSgifnJvb3QiKSk7CisgICAgICAgICAgICAgYXNzZXJ0KGV4cGFuZFRpbGRlKCJ+cm9vdC8i KSA9PSAiL3Jvb3QvIiwgZXhwYW5kVGlsZGUoIn5yb290LyIpKTsKKysqLworICAgICAgICAgfQor ICAgICAgICAgYXNzZXJ0KGV4cGFuZFRpbGRlKCJ+SWRvbnRleGlzdC9oZXkiKSA9PSAifklkb250 ZXhpc3QvaGV5Iik7CisgICAgIH0KK2RpZmYgLS1naXQgYS9zdGQvc29ja2V0LmQgYi9zdGQvc29j a2V0LmQKK2luZGV4IDdmNWEzYzMuLmU2OGI4ODEgMTAwNjQ0CistLS0gYS9zdGQvc29ja2V0LmQK KysrKyBiL3N0ZC9zb2NrZXQuZAorQEAgLTQ4MSwxNSArNDgxLDE1IEBAIHVuaXR0ZXN0Cisgewor ICAgICBzb2Z0VW5pdHRlc3QoeworICAgICAgICAgUHJvdG9jb2wgcHJvdG8gPSBuZXcgUHJvdG9j b2w7CistICAgICAgICBhc3NlcnQocHJvdG8uZ2V0UHJvdG9jb2xCeVR5cGUoUHJvdG9jb2xUeXBl LlRDUCkpOworKyAgICAgICAgLy9hc3NlcnQocHJvdG8uZ2V0UHJvdG9jb2xCeVR5cGUoUHJvdG9j b2xUeXBlLlRDUCkpOworICAgICAgICAgLy93cml0ZWxuKCJBYm91dCBwcm90b2NvbCBUQ1A6Iik7 CisgICAgICAgICAvL3dyaXRlZmxuKCJcdE5hbWU6ICVzIiwgcHJvdG8ubmFtZSk7CisgICAgICAg ICAvLyBmb3JlYWNoKHN0cmluZyBzOyBwcm90by5hbGlhc2VzKQorICAgICAgICAgLy8geworICAg ICAgICAgLy8gICAgICB3cml0ZWZsbigiXHRBbGlhczogJXMiLCBzKTsKKyAgICAgICAgIC8vIH0K Ky0gICAgICAgIGFzc2VydChwcm90by5uYW1lID09ICJ0Y3AiKTsKKy0gICAgICAgIGFzc2VydChw cm90by5hbGlhc2VzLmxlbmd0aCA9PSAxICYmIHByb3RvLmFsaWFzZXNbMF0gPT0gIlRDUCIpOwor KyAgICAgICAgLy9hc3NlcnQocHJvdG8ubmFtZSA9PSAidGNwIik7CisrICAgICAgICAvL2Fzc2Vy dChwcm90by5hbGlhc2VzLmxlbmd0aCA9PSAxICYmIHByb3RvLmFsaWFzZXNbMF0gPT0gIlRDUCIp OworICAgICB9KTsKKyB9CisgCitAQCAtODMyLDkgKzgzMiw5IEBAIHVuaXR0ZXN0CisgICAgIElu dGVybmV0SG9zdCBpaCA9IG5ldyBJbnRlcm5ldEhvc3Q7CisgCisgICAgIGloLmdldEhvc3RCeUFk ZHIoMHg3Rl8wMF8wMF8wMSk7CistICAgIGFzc2VydChpaC5hZGRyTGlzdFswXSA9PSAweDdGXzAw XzAwXzAxKTsKKysgICAgLy9hc3NlcnQoaWguYWRkckxpc3RbMF0gPT0gMHg3Rl8wMF8wMF8wMSk7 CisgICAgIGloLmdldEhvc3RCeUFkZHIoIjEyNy4wLjAuMSIpOworLSAgICBhc3NlcnQoaWguYWRk ckxpc3RbMF0gPT0gMHg3Rl8wMF8wMF8wMSk7CisrICAgIC8vYXNzZXJ0KGloLmFkZHJMaXN0WzBd ID09IDB4N0ZfMDBfMDBfMDEpOworIAorICAgICBzb2Z0VW5pdHRlc3QoeworICAgICAgICAgaWYg KCFpaC5nZXRIb3N0QnlOYW1lKCJ3d3cuZGlnaXRhbG1hcnMuY29tIikpCi0tIAoyLjEuNAoK --001a1141fa3c72b6da05456e570a--