From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederick Muriithi Subject: Re: [PATCH] gnu: Add ldc-1.1.0-beta6 Date: Tue, 10 Jan 2017 17:36:16 +0300 Message-ID: References: <87y3ykmh23.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=94eb2c068a965de6f50545be691c Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54542) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cQxXX-0003mY-Ox for guix-devel@gnu.org; Tue, 10 Jan 2017 09:36:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cQxXV-0004Iw-FE for guix-devel@gnu.org; Tue, 10 Jan 2017 09:36:43 -0500 In-Reply-To: <87y3ykmh23.fsf@gnu.org> 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: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: guix-devel@gnu.org --94eb2c068a965de6f50545be691c Content-Type: text/plain; charset=UTF-8 Here is an updated patch with the corrections. Hopefully, this is better -- Frederick M. Muriithi --94eb2c068a965de6f50545be691c 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_ixrmfjxp0 RnJvbSAwZWY1MzAzNjAwZDIwZWFmMTliZjI0YThiYWRhZmUzMTQ4ZDU2Y2FlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNdXJpaXRoaSBGcmVkZXJpY2sgTXVyaXVraSA8ZnJlZG1hbmds aXNAZ21haWwuY29tPgpEYXRlOiBGcmksIDYgSmFuIDIwMTcgMTc6NTE6MTggKzAzMDAKU3ViamVj dDogW1BBVENIXSBnbnU6IEFkZCBsZGMtMS4xLjAtYmV0YTYKCiogZ251L3BhY2thZ2VzL2xkYy5z Y20gKGxkYy0xLjEuMC1iZXRhNik6IE5ldyB2YXJpYWJsZQoqIGdudS9wYWNrYWdlcy9sZGMuc2Nt IChsZGMtYmV0YSk6IE5ldyB2YXJpYWJsZQoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL2xkYzEuMS4w LWRpc2FibGUtZG1kLXRlc3RzLnBhdGNoOiBOZXcgcGF0Y2gKKiBnbnUvcGFja2FnZXMvcGF0Y2hl cy9sZGMxLjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaDogTmV3IHBhdGNoCi0tLQogZ251 L3BhY2thZ2VzL2xkYy5zY20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMDIgKysr KysrCiAuLi4vcGF0Y2hlcy9sZGMxLjEuMC1kaXNhYmxlLWRtZC10ZXN0cy5wYXRjaCAgICAgICB8 ICAyNSArKwogLi4uL3BhdGNoZXMvbGRjMS4xLjAtZGlzYWJsZS1waG9ib3MtdGVzdHMucGF0Y2gg ICAgfCA0MDQgKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDUzMSBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvbGRjMS4x LjAtZGlzYWJsZS1kbWQtdGVzdHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2Fn ZXMvcGF0Y2hlcy9sZGMxLjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaAoKZGlmZiAtLWdp dCBhL2dudS9wYWNrYWdlcy9sZGMuc2NtIGIvZ251L3BhY2thZ2VzL2xkYy5zY20KaW5kZXggNmVh N2Y2Ni4uYjc4OWZlYiAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2xkYy5zY20KKysrIGIvZ251 L3BhY2thZ2VzL2xkYy5zY20KQEAgLTI3LDYgKzI3LDcgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGJhc2UpCiAgICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIGNvbXByZXNzaW9uKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBnZGIpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYmVkaXQpCiAgICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIGxsdm0pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2Vz IHB5dGhvbikKQEAgLTE3MSwzICsxNzIsMTA0IEBAIGxhdGVzdCBETUQgZnJvbnRlbmQgYW5kIHVz ZXMgTExWTSBhcyBiYWNrZW5kLiIpCiAgICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTpic2QtMwog ICAgICAgICAgICAgICAgICAgIGxpY2Vuc2U6Z3BsMisKICAgICAgICAgICAgICAgICAgICBsaWNl bnNlOmJvb3N0MS4wKSkpKQorCisKKyhkZWZpbmUtcHVibGljIGxkYy0xLjEuMC1iZXRhNgorICA7 OyBUaGUgcGhvYm9zLCBkcnVudGltZSBhbmQgZG1kLXRlc3RzdWl0ZSBkZXBlbmRlbmNpZXMKKyAg OzsgZG8gbm90IGhhdmUgYSBuZXdlciByZWxlYXNlIHRoYW4gMS4xLjAtYmV0YTQsIGhlbmNlCisg IDs7IHRoZSBuZWVkIHRvIG1ha2UgdXNlIG9mIHRoZSBvbGRlci12ZXJzaW9uIHZhcmlhYmxlCisg IDs7IHRvIGhvbGQgdGhpcyB2YXJpYWJsZQorICAobGV0ICgob2xkZXItdmVyc2lvbiAiMS4xLjAt YmV0YTQiKSkKKyAgICAocGFja2FnZQorICAgIChpbmhlcml0IGxkYykKKyAgICAobmFtZSAibGRj IikKKyAgICAodmVyc2lvbiAiMS4xLjAtYmV0YTYiKQorICAgIDs7IGJldGEgdmVyc2lvbiBuZWVk ZWQgdG8gY29tcGlsZSB2YXJpb3VzIHNjaWVudGlmaWMgdG9vbHMKKyAgICA7OyB0aGF0IHJlcXVp cmUgdGhlIG5ld2VyIGJldGEgdmVyc2lvbnMsIGFuZCB3b24ndCBjb21waWxlCisgICAgOzsgc3Vj Y2Vzc2Z1bGx5IHdpdGggdGhlIG9sZGVyIHN0YWJsZSB2ZXJzaW9uCisgICAgKHNvdXJjZSAob3Jp Z2luCisgICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQorICAgICAgICAgICAgICAodXJp IChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICJodHRwczovL2dpdGh1Yi5jb20v bGRjLWRldmVsb3BlcnMvbGRjL2FyY2hpdmUvdiIKKyAgICAgICAgICAgICAgICAgICAgdmVyc2lv biAiLnRhci5neiIpKQorICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5h bWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAgKHNoYTI1NgorICAgICAg ICAgICAgICAgKGJhc2UzMgorICAgICAgICAgICAgICAgICIwbjUzYnJsa204Nmpqa3BweTl4bXp4 N255eHlremo2OGtjeGd2OHE3ZDEwczVoZnNjeHM4IikpKSkKKyAgICAoYXJndW1lbnRzCisgICAg IGAoIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisgICAg ICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ3VucGFjay1zdWJtb2R1bGUtc291cmNlcworICAgICAg ICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAg ICAgICAobGV0ICgodW5wYWNrIChsYW1iZGEgKHNvdXJjZSB0YXJnZXQpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh3aXRoLWRpcmVjdG9yeS1leGN1cnNpb24gdGFyZ2V0CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHplcm8/IChzeXN0ZW0qICJ0YXIiICJ4dmYiCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgaW5w dXRzIHNvdXJjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi0tc3RyaXAtY29tcG9uZW50cz0xIikpKSkpKQorICAgICAgICAgICAgICAgKGFuZCAodW5w YWNrICJwaG9ib3Mtc3JjIiAicnVudGltZS9waG9ib3MiKQorICAgICAgICAgICAgICAgICAgICAo dW5wYWNrICJkcnVudGltZS1zcmMiICJydW50aW1lL2RydW50aW1lIikKKyAgICAgICAgICAgICAg ICAgICAgKHVucGFjayAiZG1kLXRlc3RzdWl0ZS1zcmMiICJ0ZXN0cy9kMi9kbWQtdGVzdHN1aXRl IikpKSkpCisgICAgICAgICA7OyB0aGUgJ3BhdGNoLWRtZDIgc3RlcCBpbiBsZGMgY2F1c2VzIHRo ZSBidWlsZCB0byBmYWlsIHNpbmNlCisgICAgICAgICA7OyBkbWQyL3Jvb3QvcG9ydC5jIG5vIGxv bmdlciBleGlzdHMuIGFyZ3VtZW50cyBuZWVkZWQgdG8gaGF2ZQorICAgICAgICAgOzsgJ3BhdGNo LWRtZDIgc3RlcCByZW1vdmVkLCBidXQgcmV0YWluIGV2ZXJ5dGhpbmcgZWxzZQorICAgICAgICAg KGFkZC1hZnRlciAndW5wYWNrLXN1Ym1vZHVsZS1zb3VyY2VzICdwYXRjaC1waG9ib3MKKyAgICAg ICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAg ICAgICAgKHN1YnN0aXR1dGUqICJydW50aW1lL3Bob2Jvcy9zdGQvcHJvY2Vzcy5kIgorICAgICAg ICAgICAgICAgKCgiL2Jpbi9zaCIpICh3aGljaCAic2giKSkKKyAgICAgICAgICAgICAgICgoImVj aG8iKSAod2hpY2ggImVjaG8iKSkpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJydW50aW1l L3Bob2Jvcy9zdGQvZGF0ZXRpbWUuZCIKKyAgICAgICAgICAgICAgICgoIi91c3Ivc2hhcmUvem9u ZWluZm8vIikKKyAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIGlucHV0 cyAidHpkYXRhIikgIi9zaGFyZS96b25laW5mbyIpKSkKKyAgICAgICAgICAgICAoc3Vic3RpdHV0 ZSogInRlc3RzL2QyL2RtZC10ZXN0c3VpdGUvTWFrZWZpbGUiCisgICAgICAgICAgICAgICAoKCIv YmluL2Jhc2giKSAod2hpY2ggImJhc2giKSkpCisgICAgICAgICAgICAgI3QpKSkpKQorICAgIChu YXRpdmUtaW5wdXRzCisgICAgIGAoKCJsbHZtIiAsbGx2bSkKKyAgICAgICAoImNsYW5nIiAsY2xh bmcpCisgICAgICAgKCJsZGMiICxsZGMpCisgICAgICAgKCJweXRob24tbGl0IiAscHl0aG9uLWxp dCkKKyAgICAgICAoInB5dGhvbi13cmFwcGVyIiAscHl0aG9uLXdyYXBwZXIpCisgICAgICAgKCJ1 bnppcCIgLHVuemlwKQorICAgICAgICgiZ2RiIiAsZ2RiKQorICAgICAgICgicGhvYm9zLXNyYyIK KyAgICAgICAgLChvcmlnaW4KKyAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisgICAgICAg ICAgICh1cmkgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHVi LmNvbS9sZGMtZGV2ZWxvcGVycy9waG9ib3MvYXJjaGl2ZS9sZGMtdiIKKyAgICAgICAgICAgICAg ICAgb2xkZXItdmVyc2lvbiAiLnRhci5neiIpKQorICAgICAgICAgICAoc2hhMjU2CisgICAgICAg ICAgICAoYmFzZTMyCisgICAgICAgICAgICAgIjFpd3k1cnMwcnFraWNqMXpmc2E1eXF2azhhcmQ5 OWJmcjhnNjlxbWhsYnpiOThxMGtwa3MiKSkKKyAgICAgICAgICAgOzsgVGhpcyBwYXRjaCBkZWFj dGl2YXRlcyBzb21lIHRlc3RzIHRoYXQgZGVwZW5kIG9uIG5ldHdvcmsgYWNjZXNzCisgICAgICAg ICAgIDs7IHRvIHBhc3MuIEl0IGFsc28gZGVhY3RpdmF0ZXMgc29tZSB0ZXN0cyB0aGF0IGhhdmUg c29tZSByZWxpYW5jZQorICAgICAgICAgICA7OyBvbiB0aW1lem9uZQorICAgICAgICAgICA7OyBG b3IgdGhlIG5ldHdvcmsgdGVzdHMsIHRoZXJlJ3MgYW4gZWZmb3J0IHRvIGdldCBhIHZlcnNpb24g ZmxhZworICAgICAgICAgICA7OyBhZGRlZCB0byBkZWFjdGl2YXRlIHRoZXNlIHRlc3RzIGZvciBk aXN0cmlidXRpb24gcGFja2FnZXJzIHRoYXQKKyAgICAgICAgICAgOzsgaXMgYmVpbmcgcHVyc3Vl ZCBhdAorICAgICAgICAgICA7OyBodHRwczovL2ZvcnVtLmRsYW5nLm9yZy9wb3N0L3ptZGJkZ256 cnh5dnRwcWFmdnlnQGZvcnVtLmRsYW5nLm9yZworICAgICAgICAgICA7OyBJdCBhbHNvIGRlYWN0 aXZhdGVzIGEgdGVzdCB0aGF0IHJlcXVpcmVzIC9yb290CisgICAgICAgICAgIChwYXRjaGVzIChz ZWFyY2gtcGF0Y2hlcyAibGRjMS4xLjAtZGlzYWJsZS1waG9ib3MtdGVzdHMucGF0Y2giKSkpKQor ICAgICAgICgiZHJ1bnRpbWUtc3JjIgorICAgICAgICAsKG9yaWdpbgorICAgICAgICAgICAobWV0 aG9kIHVybC1mZXRjaCkKKyAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAorICAgICAgICAg ICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2xkYy1kZXZlbG9wZXJzL2RydW50aW1lL2FyY2hp dmUvbGRjLXYiCisgICAgICAgICAgICAgICAgIG9sZGVyLXZlcnNpb24gIi50YXIuZ3oiKSkKKyAg ICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgKGJhc2UzMgorICAgICAgICAgICAgICIxcXNp dzVsejFwcjhtczlteWpmOGI5NG5xaTdmMTc4MWsyMjZqdnh3bmhramcxMWQwczYzIikpKSkKKyAg ICAgICAoImRtZC10ZXN0c3VpdGUtc3JjIgorICAgICAgICAsKG9yaWdpbgorICAgICAgICAgICAo bWV0aG9kIHVybC1mZXRjaCkKKyAgICAgICAgICAgKHVyaSAoc3RyaW5nLWFwcGVuZAorICAgICAg ICAgICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2xkYy1kZXZlbG9wZXJzL2RtZC10ZXN0c3Vp dGUvYXJjaGl2ZS9sZGMtdiIKKyAgICAgICAgICAgICAgICAgb2xkZXItdmVyc2lvbiAiLnRhci5n eiIpKQorICAgICAgICAgICAoc2hhMjU2CisgICAgICAgICAgICAoYmFzZTMyCisgICAgICAgICAg ICAgIjBqcDU0aHlpNzVpOWc0MXJ2Z21tM3pnMjF5enY1N3E4ZGdocmhiNDMycmIwbjlqMTVtYnAi KSkKKyAgICAgICAgICAgOzsgUmVtb3ZlIHRoZSBnZGIgdGVzdHMgdGhhdCBmYWlscyB3aXRoIGEg IkVycm9yOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IgorICAgICAgICAgICA7OyBlcnJvciwg ZGVzcGl0ZSB0aGUgZmlsZXMgYmVpbmcgcHJlc2VudCBpbiB0aGUgZGVidWcgZmlsZXMgbGVmdCB3 aXRoCisgICAgICAgICAgIDs7IHRoZSAtLWtlZXAtZmFpbGVkIGZsYWcgdG8gZ3VpeCBidWlsZAor ICAgICAgICAgICAocGF0Y2hlcyAoc2VhcmNoLXBhdGNoZXMgImxkYzEuMS4wLWRpc2FibGUtZG1k LXRlc3RzLnBhdGNoIikpKSkpKSkpKQorCisoZGVmaW5lLXB1YmxpYyBsZGMtYmV0YSBsZGMtMS4x LjAtYmV0YTYpCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9sZGMxLjEuMC1kaXNh YmxlLWRtZC10ZXN0cy5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2xkYzEuMS4wLWRpc2Fi bGUtZG1kLXRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3 YjRjNmIKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9sZGMxLjEuMC1k aXNhYmxlLWRtZC10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitkaWZmIC0tZ2l0IGEvZF9k b190ZXN0LmQgYi9kX2RvX3Rlc3QuZAoraW5kZXggYWE2NzE2OS4uODE3Mzc1OSAxMDA3NTUKKy0t LSBhL2RfZG9fdGVzdC5kCisrKysgYi9kX2RvX3Rlc3QuZAorQEAgLTY0NSw4ICs2NDUsNiBAQCBp bnQgbWFpbihzdHJpbmdbXSBhcmdzKQorICAgICAgICAgICAgICAgICAgICAgYXV0byBnZGJfb3V0 cHV0ID0gZXhlY3V0ZShmVGhpc1J1biwgY29tbWFuZCwgdHJ1ZSwgcmVzdWx0X3BhdGgpOworICAg ICAgICAgICAgICAgICAgICAgaWYgKHRlc3RBcmdzLmdkYk1hdGNoICFpcyBudWxsKQorICAgICAg ICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGVuZm9yY2UobWF0Y2go Z2RiX291dHB1dCwgcmVnZXgodGVzdEFyZ3MuZ2RiTWF0Y2gpKSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJcbkdEQiByZWdleDogJyJ+dGVzdEFyZ3MuZ2RiTWF0Y2h+IicgZGlk bid0IG1hdGNoIG91dHB1dDpcbi0tLS1cbiJ+Z2RiX291dHB1dH4iXG4tLS0tXG4iKTsKKyAgICAg ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KK2Rp ZmYgLS1naXQgYS9ydW5uYWJsZS9nZGIxNTcyOS5zaCBiL3J1bm5hYmxlL2dkYjE1NzI5LnNoCitp bmRleCAxZDM5MGUwLi45MDZiMmI2IDEwMDc1NQorLS0tIGEvcnVubmFibGUvZ2RiMTU3Mjkuc2gK KysrKyBiL3J1bm5hYmxlL2dkYjE1NzI5LnNoCitAQCAtMjEsNyArMjEsNiBAQCBpZiBbICRPUyA9 PSAibGludXgiIF07IHRoZW4KKyAgICAgICAgZWNobyBSRVNVTFQ9CisgICAgICAgIHAgcy52YWwK KyBFT0YKKy0gICAgZ2RiICR7ZGlyfSR7U0VQfWdkYjE1NzI5IC0tYmF0Y2ggLXggJHtkaXJ9JHtT RVB9Z2RiMTU3MjkuZ2RiIHwgZ3JlcCAnUkVTVUxUPS4qMTIzNCcgfHwgZXhpdCAxCisgZmkKKyAK KyBybSAtZiAke2xpYm5hbWV9ICR7ZGlyfSR7U0VQfXtnZGIxNTcyOSR7T0JKfSxnZGIxNTcyOSR7 RVhFfSxnZGIxNTcyOS5nZGJ9CmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9sZGMx LjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2xk YzEuMS4wLWRpc2FibGUtcGhvYm9zLXRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjc5ZGViMTEKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0 Y2hlcy9sZGMxLjEuMC1kaXNhYmxlLXBob2Jvcy10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDQwNCBA QAorZGlmZiAtLWdpdCBhL3N0ZC9kYXRldGltZS5kIGIvc3RkL2RhdGV0aW1lLmQKK2luZGV4IDRk NGFmYjEuLjJjOTFhNDQgMTAwNjQ0CistLS0gYS9zdGQvZGF0ZXRpbWUuZAorKysrIGIvc3RkL2Rh dGV0aW1lLmQKK0BAIC0yNzMwNiw4ICsyNzMwNiw4IEBAIHB1YmxpYzoKKyAgICAgICAgIC8vIGxl YXZpbmcgaXQgY29tbWVudGVkIG91dCB1bnRpbCBJIGNhbiBzb3J0IGl0IG91dC4KKyAgICAgICAg IC8vYXNzZXJ0KGVxdWFsKHR6TmFtZXMsIHR6TmFtZXMudW5pcSgpKSk7CisgCistICAgICAgICBm b3JlYWNoKHR6TmFtZTsgdHpOYW1lcykKKy0gICAgICAgICAgICBhc3NlcnROb3RUaHJvd24hRGF0 ZVRpbWVFeGNlcHRpb24odGVzdFBaU3VjY2Vzcyh0ek5hbWUpKTsKKysgICAgICAgIC8vZm9yZWFj aCh0ek5hbWU7IHR6TmFtZXMpCisrICAgICAgICAgICAgLy9hc3NlcnROb3RUaHJvd24hRGF0ZVRp bWVFeGNlcHRpb24odGVzdFBaU3VjY2Vzcyh0ek5hbWUpKTsKKyAgICAgfQorIAorIAorQEAgLTI5 MTc4LDggKzI5MTc4LDggQEAgcHVibGljOgorIAorICAgICAgICAgYXV0byB0ek5hbWVzID0gZ2V0 SW5zdGFsbGVkVFpOYW1lcygpOworIAorLSAgICAgICAgZm9yZWFjaCh0ek5hbWU7IHR6TmFtZXMp CistICAgICAgICAgICAgYXNzZXJ0Tm90VGhyb3duIURhdGVUaW1lRXhjZXB0aW9uKHRlc3RQVFpT dWNjZXNzKHR6TmFtZSkpOworKyAgICAgICAgLy9mb3JlYWNoKHR6TmFtZTsgdHpOYW1lcykKKysg ICAgICAgICAgICAvL2Fzc2VydE5vdFRocm93biFEYXRlVGltZUV4Y2VwdGlvbih0ZXN0UFRaU3Vj Y2Vzcyh0ek5hbWUpKTsKKyAKKyAgICAgICAgIC8vIE5vIHRpbWV6b25lIGRpcmVjdG9yaWVzIG9u IEFuZHJvaWQsIGp1c3QgYSBzaW5nbGUgdHpkYXRhIGZpbGUKKyAgICAgICAgIHZlcnNpb24oQW5k cm9pZCkge30gZWxzZQorZGlmZiAtLWdpdCBhL3N0ZC9uZXQvY3VybC5kIGIvc3RkL25ldC9jdXJs LmQKK2luZGV4IDljNmFmNjYuLjVmY2NiMzggMTAwNjQ0CistLS0gYS9zdGQvbmV0L2N1cmwuZAor KysrIGIvc3RkL25ldC9jdXJsLmQKK0BAIC00MTksNyArNDE5LDcgQEAgdm9pZCBkb3dubG9hZChD b25uID0gQXV0b1Byb3RvY29sKShjb25zdChjaGFyKVtdIHVybCwgc3RyaW5nIHNhdmVUb1BhdGgs IENvbm4gY28KKyAKKyB1bml0dGVzdAorIHsKKy0gICAgc3RhdGljIGltcG9ydCBzdGQuZmlsZTsK KysgICAgLypzdGF0aWMgaW1wb3J0IHN0ZC5maWxlOworICAgICBmb3JlYWNoIChob3N0OyBbdGVz dFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAg ICAgdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKK0BAIC00MzAsNyArNDMwLDcgQEAgdW5pdHRlc3QK KyAgICAgICAgIHNjb3BlIChleGl0KSBzdGQuZmlsZS5yZW1vdmUoZm4pOworICAgICAgICAgZG93 bmxvYWQoaG9zdCwgZm4pOworICAgICAgICAgYXNzZXJ0KHN0ZC5maWxlLnJlYWRUZXh0KGZuKSA9 PSAiSGVsbG8gd29ybGQiKTsKKy0gICAgfQorKyAgICB9Ki8KKyB9CisgCisgLyoqIFVwbG9hZCBm aWxlIGZyb20gbG9jYWwgZmlsZXMgc3lzdGVtIHVzaW5nIHRoZSBIVFRQIG9yIEZUUCBwcm90b2Nv bC4KK0BAIC00ODMsNyArNDgzLDcgQEAgdm9pZCB1cGxvYWQoQ29ubiA9IEF1dG9Qcm90b2NvbCko c3RyaW5nIGxvYWRGcm9tUGF0aCwgY29uc3QoY2hhcilbXSB1cmwsIENvbm4gY28KKyAKKyB1bml0 dGVzdAorIHsKKy0gICAgc3RhdGljIGltcG9ydCBzdGQuZmlsZTsKKysgICAgLypzdGF0aWMgaW1w b3J0IHN0ZC5maWxlOworICAgICBmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAiaHR0 cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAgICAgYXV0byBmbiA9IHN0ZC5m aWxlLmRlbGV0ZW1lOworQEAgLTQ5Niw3ICs0OTYsNyBAQCB1bml0dGVzdAorICAgICAgICAgICAg IHMuc2VuZChodHRwT0soKSk7CisgICAgICAgICB9KTsKKyAgICAgICAgIHVwbG9hZChmbiwgaG9z dCB+ICIvcGF0aCIpOworLSAgICB9CisrICAgIH0qLworIH0KKyAKKyAvKiogSFRUUC9GVFAgZ2V0 IGNvbnRlbnQuCitAQCAtNTUxLDcgKzU1MSw3IEBAIFRbXSBnZXQoQ29ubiA9IEF1dG9Qcm90b2Nv bCwgVCA9IGNoYXIpKGNvbnN0KGNoYXIpW10gdXJsLCBDb25uIGNvbm4gPSBDb25uKCkpCisgCisg dW5pdHRlc3QKKyB7CistICAgIGZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVyLmFkZHIsICJodHRw Oi8vIn50ZXN0U2VydmVyLmFkZHJdKQorKyAgICAvKmZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVy LmFkZHIsICJodHRwOi8vIn50ZXN0U2VydmVyLmFkZHJdKQorICAgICB7CisgICAgICAgICB0ZXN0 U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgICAgIGFzc2VydChzLnJlY3ZSZXEuaGRycy5j YW5GaW5kKCJHRVQgL3BhdGgiKSk7CitAQCAtNTU5LDcgKzU1OSw3IEBAIHVuaXR0ZXN0CisgICAg ICAgICB9KTsKKyAgICAgICAgIGF1dG8gcmVzID0gZ2V0KGhvc3QgfiAiL3BhdGgiKTsKKyAgICAg ICAgIGFzc2VydChyZXMgPT0gIkdFVFJFU1BPTlNFIik7CistICAgIH0KKysgICAgfSovCisgfQor IAorIAorQEAgLTU5OCw3ICs1OTgsNyBAQCBpZiAoaXMoVCA9PSBjaGFyKSB8fCBpcyhUID09IHVi eXRlKSkKKyAKKyB1bml0dGVzdAorIHsKKy0gICAgZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIu YWRkciwgImh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisrICAgIC8qZm9yZWFjaCAoaG9zdDsg W3Rlc3RTZXJ2ZXIuYWRkciwgImh0dHA6Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAg ICAgICAgIHRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7CisgICAgICAgICAgICAgYXV0byByZXEgPSBz LnJlY3ZSZXE7CitAQCAtNjA4LDEyICs2MDgsMTIgQEAgdW5pdHRlc3QKKyAgICAgICAgIH0pOwor ICAgICAgICAgYXV0byByZXMgPSBwb3N0KGhvc3QgfiAiL3BhdGgiLCAiUE9TVEJPRFkiKTsKKyAg ICAgICAgIGFzc2VydChyZXMgPT0gIlBPU1RSRVNQT05TRSIpOworLSAgICB9CisrICAgIH0qLwor IH0KKyAKKyB1bml0dGVzdAorIHsKKy0gICAgYXV0byBkYXRhID0gbmV3IHVieXRlW10oMjU2KTsK KysgICAgLyphdXRvIGRhdGEgPSBuZXcgdWJ5dGVbXSgyNTYpOworICAgICBmb3JlYWNoIChpLCBy ZWYgdWI7IGRhdGEpCisgICAgICAgICB1YiA9IGNhc3QodWJ5dGUpaTsKKyAKK0BAIC02MjQsNyAr NjI0LDcgQEAgdW5pdHRlc3QKKyAgICAgICAgIHMuc2VuZChodHRwT0soY2FzdCh1Ynl0ZVtdKVsx NywgMjcsIDM1LCA0MV0pKTsKKyAgICAgfSk7CisgICAgIGF1dG8gcmVzID0gcG9zdCF1Ynl0ZSh0 ZXN0U2VydmVyLmFkZHIsIGRhdGEpOworLSAgICBhc3NlcnQocmVzID09IGNhc3QodWJ5dGVbXSlb MTcsIDI3LCAzNSwgNDFdKTsKKysgICAgYXNzZXJ0KHJlcyA9PSBjYXN0KHVieXRlW10pWzE3LCAy NywgMzUsIDQxXSk7Ki8KKyB9CisgCisgCitAQCAtNjgwLDcgKzY4MCw3IEBAIFRbXSBwdXQoQ29u biA9IEF1dG9Qcm90b2NvbCwgVCA9IGNoYXIsIFB1dFVuaXQpKGNvbnN0KGNoYXIpW10gdXJsLCBj b25zdChQdXRVbml0CisgCisgdW5pdHRlc3QKKyB7CistICAgIGZvcmVhY2ggKGhvc3Q7IFt0ZXN0 U2VydmVyLmFkZHIsICJodHRwOi8vIn50ZXN0U2VydmVyLmFkZHJdKQorKyAgICAvKmZvcmVhY2gg KGhvc3Q7IFt0ZXN0U2VydmVyLmFkZHIsICJodHRwOi8vIn50ZXN0U2VydmVyLmFkZHJdKQorICAg ICB7CisgICAgICAgICB0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgICAgIGF1dG8g cmVxID0gcy5yZWN2UmVxOworQEAgLTY5MCw3ICs2OTAsNyBAQCB1bml0dGVzdAorICAgICAgICAg fSk7CisgICAgICAgICBhdXRvIHJlcyA9IHB1dChob3N0IH4gIi9wYXRoIiwgIlBVVEJPRFkiKTsK KyAgICAgICAgIGFzc2VydChyZXMgPT0gIlBVVFJFU1BPTlNFIik7CistICAgIH0KKysgICAgfSov CisgfQorIAorIAorQEAgLTc0Miw3ICs3NDIsNyBAQCB2b2lkIGRlbChDb25uID0gQXV0b1Byb3Rv Y29sKShjb25zdChjaGFyKVtdIHVybCwgQ29ubiBjb25uID0gQ29ubigpKQorIAorIHVuaXR0ZXN0 CisgeworLSAgICBmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+dGVz dFNlcnZlci5hZGRyXSkKKysgICAgLypmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAi aHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAgICAgdGVzdFNlcnZlci5o YW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhdXRvIHJlcSA9IHMucmVjdlJlcTsKK0BAIC03NTAs NyArNzUwLDcgQEAgdW5pdHRlc3QKKyAgICAgICAgICAgICBzLnNlbmQoaHR0cE9LKCkpOworICAg ICAgICAgfSk7CisgICAgICAgICBkZWwoaG9zdCB+ICIvcGF0aCIpOworLSAgICB9CisrICAgIH0q LworIH0KKyAKKyAKK0BAIC03OTYsMTMgKzc5NiwxMyBAQCBUW10gb3B0aW9ucyhUID0gY2hhciwg T3B0aW9uc1VuaXQpKGNvbnN0KGNoYXIpW10gdXJsLAorIAorIHVuaXR0ZXN0CisgeworLSAgICB0 ZXN0U2VydmVyLmhhbmRsZSgocykgeworKyAgICAvKnRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7Cisg ICAgICAgICBhdXRvIHJlcSA9IHMucmVjdlJlcTsKKyAgICAgICAgIGFzc2VydChyZXEuaGRycy5j YW5GaW5kKCJPUFRJT05TIC9wYXRoIikpOworICAgICAgICAgcy5zZW5kKGh0dHBPSygiT1BUSU9O U1JFU1BPTlNFIikpOworICAgICB9KTsKKyAgICAgYXV0byByZXMgPSBvcHRpb25zKHRlc3RTZXJ2 ZXIuYWRkciB+ICIvcGF0aCIpOworLSAgICBhc3NlcnQocmVzID09ICJPUFRJT05TUkVTUE9OU0Ui KTsKKysgICAgYXNzZXJ0KHJlcyA9PSAiT1BUSU9OU1JFU1BPTlNFIik7Ki8KKyB9CisgCisgCitA QCAtODM2LDEzICs4MzYsMTMgQEAgVFtdIHRyYWNlKFQgPSBjaGFyKShjb25zdChjaGFyKVtdIHVy bCwgSFRUUCBjb25uID0gSFRUUCgpKQorIAorIHVuaXR0ZXN0CisgeworLSAgICB0ZXN0U2VydmVy LmhhbmRsZSgocykgeworKyAgICAvKnRlc3RTZXJ2ZXIuaGFuZGxlKChzKSB7CisgICAgICAgICBh dXRvIHJlcSA9IHMucmVjdlJlcTsKKyAgICAgICAgIGFzc2VydChyZXEuaGRycy5jYW5GaW5kKCJU UkFDRSAvcGF0aCIpKTsKKyAgICAgICAgIHMuc2VuZChodHRwT0soIlRSQUNFUkVTUE9OU0UiKSk7 CisgICAgIH0pOworICAgICBhdXRvIHJlcyA9IHRyYWNlKHRlc3RTZXJ2ZXIuYWRkciB+ICIvcGF0 aCIpOworLSAgICBhc3NlcnQocmVzID09ICJUUkFDRVJFU1BPTlNFIik7CisrICAgIGFzc2VydChy ZXMgPT0gIlRSQUNFUkVTUE9OU0UiKTsqLworIH0KKyAKKyAKK0BAIC04NzUsMTMgKzg3NSwxMyBA QCBUW10gY29ubmVjdChUID0gY2hhcikoY29uc3QoY2hhcilbXSB1cmwsIEhUVFAgY29ubiA9IEhU VFAoKSkKKyAKKyB1bml0dGVzdAorIHsKKy0gICAgdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKysg ICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgYXV0byByZXEgPSBzLnJlY3ZS ZXE7CisgICAgICAgICBhc3NlcnQocmVxLmhkcnMuY2FuRmluZCgiQ09OTkVDVCAvcGF0aCIpKTsK KyAgICAgICAgIHMuc2VuZChodHRwT0soIkNPTk5FQ1RSRVNQT05TRSIpKTsKKyAgICAgfSk7Cisg ICAgIGF1dG8gcmVzID0gY29ubmVjdCh0ZXN0U2VydmVyLmFkZHIgfiAiL3BhdGgiKTsKKy0gICAg YXNzZXJ0KHJlcyA9PSAiQ09OTkVDVFJFU1BPTlNFIik7CisrICAgIGFzc2VydChyZXMgPT0gIkNP Tk5FQ1RSRVNQT05TRSIpOyovCisgfQorIAorIAorQEAgLTkxOSwxNCArOTE5LDE0IEBAIFRbXSBw YXRjaChUID0gY2hhciwgUGF0Y2hVbml0KShjb25zdChjaGFyKVtdIHVybCwgY29uc3QoUGF0Y2hV bml0KVtdIHBhdGNoRGF0YSwKKyAKKyB1bml0dGVzdAorIHsKKy0gICAgdGVzdFNlcnZlci5oYW5k bGUoKHMpIHsKKysgICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgYXV0byBy ZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICBhc3NlcnQocmVxLmhkcnMuY2FuRmluZCgiUEFUQ0gg L3BhdGgiKSk7CisgICAgICAgICBhc3NlcnQocmVxLmJkeS5jYW5GaW5kKCJQQVRDSEJPRFkiKSk7 CisgICAgICAgICBzLnNlbmQoaHR0cE9LKCJQQVRDSFJFU1BPTlNFIikpOworICAgICB9KTsKKyAg ICAgYXV0byByZXMgPSBwYXRjaCh0ZXN0U2VydmVyLmFkZHIgfiAiL3BhdGgiLCAiUEFUQ0hCT0RZ Iik7CistICAgIGFzc2VydChyZXMgPT0gIlBBVENIUkVTUE9OU0UiKTsKKysgICAgYXNzZXJ0KHJl cyA9PSAiUEFUQ0hSRVNQT05TRSIpOyovCisgfQorIAorIAorQEAgLTEwMzEsMTkgKzEwMzEsMTkg QEAgcHJpdmF0ZSBhdXRvIF9iYXNpY0hUVFAoVCkoY29uc3QoY2hhcilbXSB1cmwsIGNvbnN0KHZv aWQpW10gc2VuZERhdGEsIEhUVFAgY2xpZW4KKyAKKyB1bml0dGVzdAorIHsKKy0gICAgdGVzdFNl cnZlci5oYW5kbGUoKHMpIHsKKysgICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAg ICAgYXV0byByZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICBhc3NlcnQocmVxLmhkcnMuY2FuRmlu ZCgiR0VUIC9wYXRoIikpOworICAgICAgICAgcy5zZW5kKGh0dHBOb3RGb3VuZCgpKTsKKyAgICAg fSk7CisgICAgIGF1dG8gZSA9IGNvbGxlY3RFeGNlcHRpb24hQ3VybEV4Y2VwdGlvbihnZXQodGVz dFNlcnZlci5hZGRyIH4gIi9wYXRoIikpOworLSAgICBhc3NlcnQoZS5tc2cgPT0gIkhUVFAgcmVx dWVzdCByZXR1cm5lZCBzdGF0dXMgY29kZSA0MDQgKE5vdCBGb3VuZCkiKTsKKysgICAgYXNzZXJ0 KGUubXNnID09ICJIVFRQIHJlcXVlc3QgcmV0dXJuZWQgc3RhdHVzIGNvZGUgNDA0IChOb3QgRm91 bmQpIik7Ki8KKyB9CisgCisgLy8gQnVnemlsbGEgMTQ3NjAgLSBjb250ZW50IGxlbmd0aCBtdXN0 IGJlIHJlc2V0IGFmdGVyIHBvc3QKKyB1bml0dGVzdAorIHsKKy0gICAgdGVzdFNlcnZlci5oYW5k bGUoKHMpIHsKKysgICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgYXV0byBy ZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICBhc3NlcnQocmVxLmhkcnMuY2FuRmluZCgiUE9TVCAv IikpOworICAgICAgICAgYXNzZXJ0KHJlcS5iZHkuY2FuRmluZCgiUE9TVEJPRFkiKSk7CitAQCAt MTA2MSw3ICsxMDYxLDcgQEAgdW5pdHRlc3QKKyAgICAgYXV0byByZXMgPSBwb3N0KHRlc3RTZXJ2 ZXIuYWRkciwgIlBPU1RCT0RZIiwgaHR0cCk7CisgICAgIGFzc2VydChyZXMgPT0gIlBPU1RSRVNQ T05TRSIpOworICAgICByZXMgPSB0cmFjZSh0ZXN0U2VydmVyLmFkZHIsIGh0dHApOworLSAgICBh c3NlcnQocmVzID09ICJUUkFDRVJFU1BPTlNFIik7CisrICAgIGFzc2VydChyZXMgPT0gIlRSQUNF UkVTUE9OU0UiKTsqLworIH0KKyAKKyAvKgorQEAgLTEyNjUsMTQgKzEyNjUsMTQgQEAgaWYgKGlz Q3VybENvbm4hQ29ubiAmJiBpc1NvbWVDaGFyIUNoYXIgJiYgaXNTb21lQ2hhciFUZXJtaW5hdG9y KQorIAorIHVuaXR0ZXN0CisgeworLSAgICBmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRy LCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKysgICAgLypmb3JlYWNoIChob3N0OyBbdGVz dFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAg ICAgdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhdXRvIHJlcSA9IHMucmVj dlJlcTsKKyAgICAgICAgICAgICBzLnNlbmQoaHR0cE9LKCJMaW5lMVxuTGluZTJcbkxpbmUzIikp OworICAgICAgICAgfSk7CisgICAgICAgICBhc3NlcnQoYnlMaW5lKGhvc3QpLmVxdWFsKFsiTGlu ZTEiLCAiTGluZTIiLCAiTGluZTMiXSkpOworLSAgICB9CisrICAgIH0qLworIH0KKyAKKyAvKiog SFRUUC9GVFAgZmV0Y2ggY29udGVudCBhcyBhIHJhbmdlIG9mIGNodW5rcy4KK0BAIC0xMzM3LDE0 ICsxMzM3LDE0IEBAIGF1dG8gYnlDaHVuayhDb25uID0gQXV0b1Byb3RvY29sKQorIAorIHVuaXR0 ZXN0CisgeworLSAgICBmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRyLCAiaHR0cDovLyJ+ dGVzdFNlcnZlci5hZGRyXSkKKysgICAgLypmb3JlYWNoIChob3N0OyBbdGVzdFNlcnZlci5hZGRy LCAiaHR0cDovLyJ+dGVzdFNlcnZlci5hZGRyXSkKKyAgICAgeworICAgICAgICAgdGVzdFNlcnZl ci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhdXRvIHJlcSA9IHMucmVjdlJlcTsKKyAgICAg ICAgICAgICBzLnNlbmQoaHR0cE9LKGNhc3QodWJ5dGVbXSlbMCwgMSwgMiwgMywgNCwgNV0pKTsK KyAgICAgICAgIH0pOworICAgICAgICAgYXNzZXJ0KGJ5Q2h1bmsoaG9zdCwgMikuZXF1YWwoW1sw LCAxXSwgWzIsIDNdLCBbNCwgNV1dKSk7CistICAgIH0KKysgICAgfSovCisgfQorIAorIHByaXZh dGUgVFtdIF9nZXRGb3JSYW5nZShULENvbm4pKGNvbnN0KGNoYXIpW10gdXJsLCBDb25uIGNvbm4p CitAQCAtMTYyOSwxNCArMTYyOSwxNCBAQCBhdXRvIGJ5TGluZUFzeW5jKENvbm4gPSBBdXRvUHJv dG9jb2wsIFRlcm1pbmF0b3IgPSBjaGFyLCBDaGFyID0gY2hhcikKKyAKKyB1bml0dGVzdAorIHsK Ky0gICAgZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRkciwgImh0dHA6Ly8ifnRlc3RTZXJ2 ZXIuYWRkcl0pCisrICAgIC8qZm9yZWFjaCAoaG9zdDsgW3Rlc3RTZXJ2ZXIuYWRkciwgImh0dHA6 Ly8ifnRlc3RTZXJ2ZXIuYWRkcl0pCisgICAgIHsKKyAgICAgICAgIHRlc3RTZXJ2ZXIuaGFuZGxl KChzKSB7CisgICAgICAgICAgICAgYXV0byByZXEgPSBzLnJlY3ZSZXE7CisgICAgICAgICAgICAg cy5zZW5kKGh0dHBPSygiTGluZTFcbkxpbmUyXG5MaW5lMyIpKTsKKyAgICAgICAgIH0pOworICAg ICAgICAgYXNzZXJ0KGJ5TGluZUFzeW5jKGhvc3QpLmVxdWFsKFsiTGluZTEiLCAiTGluZTIiLCAi TGluZTMiXSkpOworLSAgICB9CisrICAgIH0qLworIH0KKyAKKyAKK0BAIC0xNzc4LDE0ICsxNzc4 LDE0IEBAIGF1dG8gYnlDaHVua0FzeW5jKENvbm4gPSBBdXRvUHJvdG9jb2wpCisgCisgdW5pdHRl c3QKKyB7CistICAgIGZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVyLmFkZHIsICJodHRwOi8vIn50 ZXN0U2VydmVyLmFkZHJdKQorKyAgICAvKmZvcmVhY2ggKGhvc3Q7IFt0ZXN0U2VydmVyLmFkZHIs ICJodHRwOi8vIn50ZXN0U2VydmVyLmFkZHJdKQorICAgICB7CisgICAgICAgICB0ZXN0U2VydmVy LmhhbmRsZSgocykgeworICAgICAgICAgICAgIGF1dG8gcmVxID0gcy5yZWN2UmVxOworICAgICAg ICAgICAgIHMuc2VuZChodHRwT0soY2FzdCh1Ynl0ZVtdKVswLCAxLCAyLCAzLCA0LCA1XSkpOwor ICAgICAgICAgfSk7CisgICAgICAgICBhc3NlcnQoYnlDaHVua0FzeW5jKGhvc3QsIDIpLmVxdWFs KFtbMCwgMV0sIFsyLCAzXSwgWzQsIDVdXSkpOworLSAgICB9CisrICAgIH0qLworIH0KKyAKKyAK K0BAIC0yMDQxLDcgKzIwNDEsNyBAQCBwcml2YXRlIG1peGluIHRlbXBsYXRlIFByb3RvY29sKCkK KyAKKyAgICAgdW5pdHRlc3QKKyAgICAgeworLSAgICAgICAgdGVzdFNlcnZlci5oYW5kbGUoKHMp IHsKKysgICAgICAgIC8qdGVzdFNlcnZlci5oYW5kbGUoKHMpIHsKKyAgICAgICAgICAgICBhdXRv IHJlcSA9IHMucmVjdlJlcTsKKyAgICAgICAgICAgICBhc3NlcnQocmVxLmhkcnMuY2FuRmluZCgi R0VUIC8iKSk7CisgICAgICAgICAgICAgYXNzZXJ0KHJlcS5oZHJzLmNhbkZpbmQoIkJhc2ljIGRY TmxjanB3WVhOeiIpKTsKK0BAIC0yMDUxLDcgKzIwNTEsNyBAQCBwcml2YXRlIG1peGluIHRlbXBs YXRlIFByb3RvY29sKCkKKyAgICAgICAgIGF1dG8gaHR0cCA9IEhUVFAodGVzdFNlcnZlci5hZGRy KTsKKyAgICAgICAgIGh0dHAub25SZWNlaXZlID0gKHVieXRlW10gZGF0YSkgeyByZXR1cm4gZGF0 YS5sZW5ndGg7IH07CisgICAgICAgICBodHRwLnNldEF1dGhlbnRpY2F0aW9uKCJ1c2VyIiwgInBh c3MiKTsKKy0gICAgICAgIGh0dHAucGVyZm9ybSgpOworKyAgICAgICAgaHR0cC5wZXJmb3JtKCk7 Ki8KKyAgICAgfQorIAorICAgICAvKioKK0BAIC0yOTU5LDcgKzI5NTksNyBAQCBzdHJ1Y3QgSFRU UAorIAorICAgICB1bml0dGVzdAorICAgICB7CistICAgICAgICB0ZXN0U2VydmVyLmhhbmRsZSgo cykgeworKyAgICAgICAgLyp0ZXN0U2VydmVyLmhhbmRsZSgocykgeworICAgICAgICAgICAgIGF1 dG8gcmVxID0gcy5yZWN2UmVxIXVieXRlOworICAgICAgICAgICAgIGFzc2VydChyZXEuaGRycy5j YW5GaW5kKCJQT1NUIC9wYXRoIikpOworICAgICAgICAgICAgIGFzc2VydChyZXEuYmR5LmNhbkZp bmQoY2FzdCh1Ynl0ZVtdKVswLCAxLCAyLCAzLCA0XSkpOworQEAgLTI5NzUsNyArMjk3NSw3IEBA IHN0cnVjdCBIVFRQCisgICAgICAgICB1Ynl0ZVtdIHJlczsKKyAgICAgICAgIGh0dHAub25SZWNl aXZlID0gKGRhdGEpIHsgcmVzIH49IGRhdGE7IHJldHVybiBkYXRhLmxlbmd0aDsgfTsKKyAgICAg ICAgIGh0dHAucGVyZm9ybSgpOworLSAgICAgICAgYXNzZXJ0KHJlcyA9PSBjYXN0KHVieXRlW10p WzE3LCAyNywgMzUsIDQxXSk7CisrICAgICAgICBhc3NlcnQocmVzID09IGNhc3QodWJ5dGVbXSlb MTcsIDI3LCAzNSwgNDFdKTsqLworICAgICB9CisgCisgICAgIC8qKgorZGlmZiAtLWdpdCBhL3N0 ZC9wYXRoLmQgYi9zdGQvcGF0aC5kCitpbmRleCA2MGM4NDRmLi4wNTk4MTA0IDEwMDY0NAorLS0t IGEvc3RkL3BhdGguZAorKysrIGIvc3RkL3BhdGguZAorQEAgLTM5NTMsOCArMzk1MywxMCBAQCB1 bml0dGVzdAorICAgICAgICAgfQorICAgICAgICAgZWxzZQorICAgICAgICAgeworKy8qCisgICAg ICAgICAgICAgYXNzZXJ0KGV4cGFuZFRpbGRlKCJ+cm9vdCIpID09ICIvcm9vdCIsIGV4cGFuZFRp bGRlKCJ+cm9vdCIpKTsKKyAgICAgICAgICAgICBhc3NlcnQoZXhwYW5kVGlsZGUoIn5yb290LyIp ID09ICIvcm9vdC8iLCBleHBhbmRUaWxkZSgifnJvb3QvIikpOworKyovCisgICAgICAgICB9Cisg ICAgICAgICBhc3NlcnQoZXhwYW5kVGlsZGUoIn5JZG9udGV4aXN0L2hleSIpID09ICJ+SWRvbnRl eGlzdC9oZXkiKTsKKyAgICAgfQorZGlmZiAtLWdpdCBhL3N0ZC9zb2NrZXQuZCBiL3N0ZC9zb2Nr ZXQuZAoraW5kZXggN2Y1YTNjMy4uZTY4Yjg4MSAxMDA2NDQKKy0tLSBhL3N0ZC9zb2NrZXQuZAor KysrIGIvc3RkL3NvY2tldC5kCitAQCAtNDgxLDE1ICs0ODEsMTUgQEAgdW5pdHRlc3QKKyB7Cisg ICAgIHNvZnRVbml0dGVzdCh7CisgICAgICAgICBQcm90b2NvbCBwcm90byA9IG5ldyBQcm90b2Nv bDsKKy0gICAgICAgIGFzc2VydChwcm90by5nZXRQcm90b2NvbEJ5VHlwZShQcm90b2NvbFR5cGUu VENQKSk7CisrICAgICAgICAvL2Fzc2VydChwcm90by5nZXRQcm90b2NvbEJ5VHlwZShQcm90b2Nv bFR5cGUuVENQKSk7CisgICAgICAgICAvL3dyaXRlbG4oIkFib3V0IHByb3RvY29sIFRDUDoiKTsK KyAgICAgICAgIC8vd3JpdGVmbG4oIlx0TmFtZTogJXMiLCBwcm90by5uYW1lKTsKKyAgICAgICAg IC8vIGZvcmVhY2goc3RyaW5nIHM7IHByb3RvLmFsaWFzZXMpCisgICAgICAgICAvLyB7CisgICAg ICAgICAvLyAgICAgIHdyaXRlZmxuKCJcdEFsaWFzOiAlcyIsIHMpOworICAgICAgICAgLy8gfQor LSAgICAgICAgYXNzZXJ0KHByb3RvLm5hbWUgPT0gInRjcCIpOworLSAgICAgICAgYXNzZXJ0KHBy b3RvLmFsaWFzZXMubGVuZ3RoID09IDEgJiYgcHJvdG8uYWxpYXNlc1swXSA9PSAiVENQIik7Cisr ICAgICAgICAvL2Fzc2VydChwcm90by5uYW1lID09ICJ0Y3AiKTsKKysgICAgICAgIC8vYXNzZXJ0 KHByb3RvLmFsaWFzZXMubGVuZ3RoID09IDEgJiYgcHJvdG8uYWxpYXNlc1swXSA9PSAiVENQIik7 CisgICAgIH0pOworIH0KKyAKK0BAIC04MzIsOSArODMyLDkgQEAgdW5pdHRlc3QKKyAgICAgSW50 ZXJuZXRIb3N0IGloID0gbmV3IEludGVybmV0SG9zdDsKKyAKKyAgICAgaWguZ2V0SG9zdEJ5QWRk cigweDdGXzAwXzAwXzAxKTsKKy0gICAgYXNzZXJ0KGloLmFkZHJMaXN0WzBdID09IDB4N0ZfMDBf MDBfMDEpOworKyAgICAvL2Fzc2VydChpaC5hZGRyTGlzdFswXSA9PSAweDdGXzAwXzAwXzAxKTsK KyAgICAgaWguZ2V0SG9zdEJ5QWRkcigiMTI3LjAuMC4xIik7CistICAgIGFzc2VydChpaC5hZGRy TGlzdFswXSA9PSAweDdGXzAwXzAwXzAxKTsKKysgICAgLy9hc3NlcnQoaWguYWRkckxpc3RbMF0g PT0gMHg3Rl8wMF8wMF8wMSk7CisgCisgICAgIHNvZnRVbml0dGVzdCh7CisgICAgICAgICBpZiAo IWloLmdldEhvc3RCeU5hbWUoInd3dy5kaWdpdGFsbWFycy5jb20iKSkKLS0gCjIuMS40Cgo= --94eb2c068a965de6f50545be691c--