From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id CBOVHUwWH1+lEQAA0tVLHw (envelope-from ) for ; Mon, 27 Jul 2020 18:00:44 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id wEc+GUwWH19dIwAAbx9fmQ (envelope-from ) for ; Mon, 27 Jul 2020 18:00:44 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [144.217.243.247]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (2048 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BEBF094077C for ; Mon, 27 Jul 2020 18:00:42 +0000 (UTC) Received: from [144.217.243.247] (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id 5DA2C27C31; Mon, 27 Jul 2020 14:00:34 -0400 (EDT) Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) by mail.notmuchmail.org (Postfix) with ESMTPS id EBE821F9FA for ; Mon, 27 Jul 2020 14:00:31 -0400 (EDT) Received: from guru.guru-group.fi (unknown [IPv6:2a02:2380:1:9:5054:ff:feb7:a4bc]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: too) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 9245F1B00592; Mon, 27 Jul 2020 21:00:30 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1595872830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Xpn2URrfMwKiS12JzEpAD1tyfpi/Y6WtmCf1xqRjK3Y=; b=JjuKoKzczkfqayVwKx+CeDTq5/kZ/J/95WaivgTazVtZU+UpKo2DcXkdT5sPHwhJMNhM01 XngYb90Oe09byKV2uN8oNWJWdgMrbwFW+0eufS3OrM3CFPVcVr0K5MszqXRtqJErCy1D1g hwg+27ilOvcimzAHe586mIddVfL6oQBUgmav86MWRArCJthKaPutFioVcQxAayxziA/W4T /qy6XqB6fUK1Jbx0nOVw5AokewNiBDxzoZOst+SOgYeHl04htuuv5Xln5giWoTnV0KV87C hXW8X8MLawJ2GPxVcVFlAJN0NQgnddiDTKMpzWn5Es3B83xM01UPvHESNHSNSw== From: Tomi Ollila To: Jonas Bernoulli , notmuch@notmuchmail.org Subject: Re: [PATCH 02/23] emacs: Remove excess empty lines In-Reply-To: <20200726165818.400-3-jonas@bernoul.li> References: <20200726165818.400-1-jonas@bernoul.li> <20200726165818.400-3-jonas@bernoul.li> User-Agent: Notmuch/0.30+12~g9f4381f (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1595872830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Xpn2URrfMwKiS12JzEpAD1tyfpi/Y6WtmCf1xqRjK3Y=; b=GIHxn4SlYuQMBcYwJ0h6uD1Q1zWPgrYRHg9urRXY09TH05D5FubRHfQsSbKo0qJAaLJyJo kr40SgHxVzTGmRxDNQrrmepEgVtYCGwPxOAwkP7b0C2Ve8NNkFkal2/dXGpb/yECiCvfyj D568zp78A1h0Of2DWTwDCcrKvP7l9CCj1urUXqmzaGTJ7gFnNTiVTpyIgOD/yhDHr50kAN 6nVqr/S6scyBwnzCz8siERZPFP5EV45sf+8/lNumOmkH8ppZ8mWCxxB+592SIg4/RrItoa YOisxe9qlNgZlVCWpWvxtS5DpCpo/d2KZU6c2wqoW7HrHNtugbENKfWrGs7phw== ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1595872830; a=rsa-sha256; cv=none; b=Mpu5YM4mPXjY5JPR0wJf2HGArwp+OYh+9YlLBGHWJEk9a/3o+Rzt87h3NwJRTqB0su+KFA S3RViAumqDVCt30i/XoXFDGK1AXYVkQCmPbGCwfhoz5w3avXF2GrATegsGNJPowbYdx5HC bMQg3J/HHXL87RmilwY0Uc8Buqcy4caA1jdWJ7x3ic5k/m1jApYeR2TzY85hEebfqwIEMA CSu6GoBlsrw5pXWOFIHHPUNd1EqrQln2sXjd3+VEI/TdHaNpV9GDQA88Asfg8O/VIuQkWu 4zZJ+eUd34EE74P9qQ/8/ATFSv66OAZaj3w+uLeELEbUf/FWEDVr9vWWMh5Aug== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=too smtp.mailfrom=tomi.ollila@iki.fi Message-ID-Hash: M3MMVFRFCZ7IK3DGCA63JBUTLFZNBQHD X-Message-ID-Hash: M3MMVFRFCZ7IK3DGCA63JBUTLFZNBQHD X-MailFrom: tomi.ollila@iki.fi X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (body hash did not verify) header.d=iki.fi header.s=lahtoruutu header.b=JjuKoKzc; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 144.217.243.247 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Spam-Score: 2.13 X-TUID: S2TGv7DwigHJ T24gU3VuLCBKdWwgMjYgMjAyMCwgSm9uYXMgQmVybm91bGxpIHdyb3RlOg0KDQo+IE1vc3QgcGVv cGxlIHdobyB3cml0ZSBsb3RzIG9mIGxpc3AgdGVuZCB0byBvbmx5IHNwYXJzZWx5IHVzZSBlbXB0 eQ0KPiAic2VwYXJhdG9yIiBsaW5lcyB3aXRoaW4gZm9ybXMuICBJbiBsaXNwIHRoZXkgZmVlbCB1 bm5lY2Vzc2FyeSBhbmQNCj4gc2luY2UgbW9zdCBmaWxlcyBzdGljayB0byB0aGlzIGNvbnZlbnRp b24gd2UgZ2V0IGEgYml0IGNvbmZ1c2VkDQo+IHdoZW4gdGhlcmUgYXJlIGV4dHJhIGVtcHR5IGxp bmVzLiAgSXQgZmVlbHMgbGlrZSB0aGUgcy1leHByZXNzaW9ucw0KPiBhcmUgZmFsbGluZyBpbnRv IHBpZWNlcy4NCj4NCj4gQWxsIG9mIHRoaXMgaXMgZXNwZWNpYWxseSB0cnVlIGJldHdlZW4gYSBm dW5jdGlvbidzIGRvYy1zdHJpbmcgYW5kDQo+IGJvZHkgYmVjYXVzZSB0aGUgZG9jLXN0cmluZyBp cyBjb2xvcmVkIGRpZmZlcmVudGx5LCB3aGljaCB2aXN1YWxseQ0KPiBhbHJlYWR5IHNlcGFyYXRl cyBpdCBxdWl0ZSBzdWZmaWNpZW50bHkgZnJvbSB0aGUgY29kZSB0aGF0IGZvbGxvd3MuDQo+IC0t LQ0KPiAgZW1hY3MvbWFrZS1kZXBzLmVsICAgICAgICAgICB8ICAyIC0NCj4gIGVtYWNzL25vdG11 Y2gtYWRkcmVzcy5lbCAgICAgfCAgMiAtDQo+ICBlbWFjcy9ub3RtdWNoLWNyeXB0by5lbCAgICAg IHwgIDQgLS0NCj4gIGVtYWNzL25vdG11Y2gtaGVsbG8uZWwgICAgICAgfCAxOCAtLS0tLS0tLS0N Cj4gIGVtYWNzL25vdG11Y2gtanVtcC5lbCAgICAgICAgfCAgNSAtLS0NCj4gIGVtYWNzL25vdG11 Y2gtbGliLmVsICAgICAgICAgfCAxMCAtLS0tLQ0KPiAgZW1hY3Mvbm90bXVjaC1tYWlsZGlyLWZj Yy5lbCB8ICA3IC0tLS0NCj4gIGVtYWNzL25vdG11Y2gtbXVhLmVsICAgICAgICAgfCAyNiAtLS0t LS0tLS0tLS0tDQo+ICBlbWFjcy9ub3RtdWNoLXBhcnNlci5lbCAgICAgIHwgIDUgLS0tDQo+ICBl bWFjcy9ub3RtdWNoLXNob3cuZWwgICAgICAgIHwgNzUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICBlbWFjcy9ub3RtdWNoLXRhZy5lbCAgICAgICAgIHwgIDMgLS0NCj4g IGVtYWNzL25vdG11Y2gtdHJlZS5lbCAgICAgICAgfCAgOSAtLS0tLQ0KPiAgZW1hY3Mvbm90bXVj aC13YXNoLmVsICAgICAgICB8IDE4ICstLS0tLS0tLQ0KPiAgZW1hY3Mvbm90bXVjaC5lbCAgICAg ICAgICAgICB8ICA3IC0tLS0NCj4gIDE0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwg MTg2IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZW1hY3MvbWFrZS1kZXBzLmVsIGIv ZW1hY3MvbWFrZS1kZXBzLmVsDQo+IGluZGV4IDViNmRiNjk4Li5kY2FjMzE5YyAxMDA2NDQNCj4g LS0tIGEvZW1hY3MvbWFrZS1kZXBzLmVsDQo+ICsrKyBiL2VtYWNzL21ha2UtZGVwcy5lbA0KPiBA QCAtMjMsNyArMjMsNiBAQA0KPiAgDQo+ICAoZGVmdW4gYmF0Y2gtbWFrZS1kZXBzICgpDQo+ICAg ICJJbnZva2UgYG1ha2UtZGVwcycgZm9yIGVhY2ggZmlsZSBvbiB0aGUgY29tbWFuZCBsaW5lLiIN Cj4gLQ0KPiAgICAoc2V0cSBkZWJ1Zy1vbi1lcnJvciB0KQ0KPiAgICAoZG9saXN0IChmaWxlIGNv bW1hbmQtbGluZS1hcmdzLWxlZnQpDQo+ICAgICAgKGxldCAoKGRlZmF1bHQtZGlyZWN0b3J5IGNv bW1hbmQtbGluZS1kZWZhdWx0LWRpcmVjdG9yeSkpDQo+IEBAIC0zNyw3ICszNiw2IEBAIChkZWZ1 biBtYWtlLWRlcHMgKCZvcHRpb25hbCBkaXIpDQo+ICBUaGlzIHByaW50cyBtYWtlIGRlcGVuZGVu Y2llcyB0byBgc3RhbmRhcmQtb3V0cHV0JyBiYXNlZCBvbiB0aGUNCj4gIHRvcC1sZXZlbCBgcmVx dWlyZScgZXhwcmVzc2lvbnMgaW4gdGhlIGN1cnJlbnQgYnVmZmVyLiAgUGF0aHMgaW4NCj4gIHJ1 bGVzIHdpbGwgYmUgZ2l2ZW4gcmVsYXRpdmUgdG8gRElSLCBvciBgZGVmYXVsdC1kaXJlY3Rvcnkn LiINCj4gLQ0KPiAgICAoc2V0cSBkaXIgKG9yIGRpciBkZWZhdWx0LWRpcmVjdG9yeSkpDQo+ICAg IChzYXZlLWV4Y3Vyc2lvbg0KPiAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQo+IGRpZmYg LS1naXQgYS9lbWFjcy9ub3RtdWNoLWFkZHJlc3MuZWwgYi9lbWFjcy9ub3RtdWNoLWFkZHJlc3Mu ZWwNCj4gaW5kZXggMmE5YzQxMWEuLmNhNGRhM2YzIDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3Rt dWNoLWFkZHJlc3MuZWwNCj4gKysrIGIvZW1hY3Mvbm90bXVjaC1hZGRyZXNzLmVsDQo+IEBAIC0z MDIsNyArMzAyLDYgQEAgKGRlZnVuIG5vdG11Y2gtYWRkcmVzcy1oYXJ2ZXN0ICgmb3B0aW9uYWwg YWRkci1wcmVmaXggc3luY2hyb25vdXMgY2FsbGJhY2spDQo+ICBBZGRyZXNzIGhhcnZlc3Rpbmcg bWF5IHRha2Ugc29tZSB0aW1lIHNvIHRoZSBhZGRyZXNzIGNvbGxlY3Rpb24gcnVucw0KPiAgYXN5 bmNocm9ub3VzbHkgdW5sZXNzIFNZTkNIUk9OT1VTIGlzIHQuIEluIGNhc2Ugb2YgYXN5bmNocm9u b3VzDQo+ICBleGVjdXRpb24sIENBTExCQUNLIGlzIGNhbGxlZCB3aGVuIGhhcnZlc3RpbmcgZmlu aXNoZXMuIg0KPiAtDQo+ICAgIChsZXQqICgoc2VudCAoZXEgKGNhciBub3RtdWNoLWFkZHJlc3Mt aW50ZXJuYWwtY29tcGxldGlvbikgJ3NlbnQpKQ0KPiAgCSAoY29uZmlnLXF1ZXJ5IChjYWRyIG5v dG11Y2gtYWRkcmVzcy1pbnRlcm5hbC1jb21wbGV0aW9uKSkNCj4gIAkgKHByZWZpeC1xdWVyeSAo d2hlbiBhZGRyLXByZWZpeA0KPiBAQCAtMzM1LDcgKzMzNCw2IEBAIChkZWZ1biBub3RtdWNoLWFk ZHJlc3MtaGFydmVzdCAoJm9wdGlvbmFsIGFkZHItcHJlZml4IHN5bmNocm9ub3VzIGNhbGxiYWNr KQ0KPiAgCTs7IEtpbGwgYW55IGV4aXN0aW5nIHByb2Nlc3MNCj4gIAkod2hlbiBjdXJyZW50LXBy b2MNCj4gIAkgIChraWxsLWJ1ZmZlciAocHJvY2Vzcy1idWZmZXIgY3VycmVudC1wcm9jKSkpIDsg dGhpcyBhbHNvIGtpbGxzIHRoZSBwcm9jZXNzDQo+IC0NCj4gIAkoc2V0cSBjdXJyZW50LXByb2MN Cj4gIAkgICAgICAoYXBwbHkgJ25vdG11Y2gtc3RhcnQtbm90bXVjaCBwcm9jLW5hbWUgcHJvYy1i dWYNCj4gIAkJICAgICBjYWxsYmFjawkJCQk7IHByb2Nlc3Mgc2VudGluZWwNCj4gZGlmZiAtLWdp dCBhL2VtYWNzL25vdG11Y2gtY3J5cHRvLmVsIGIvZW1hY3Mvbm90bXVjaC1jcnlwdG8uZWwNCj4g aW5kZXggMjMyN2ZmMWYuLjU4OTQ3YTIwIDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLWNy eXB0by5lbA0KPiArKysgYi9lbWFjcy9ub3RtdWNoLWNyeXB0by5lbA0KPiBAQCAtMTIzLDE3ICsx MjMsMTQgQEAgKGRlZnVuIG5vdG11Y2gtY3J5cHRvLWluc2VydC1zaWdzdGF0dXMtYnV0dG9uIChz aWdzdGF0dXMgZnJvbSkNCj4gIAkJZmFjZSAnbm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLWdvb2Qt a2V5KSkNCj4gIAkoc2V0cSBidXR0b24tYWN0aW9uICdub3RtdWNoLWNyeXB0by1zaWdzdGF0dXMt Z29vZC1jYWxsYmFjaw0KPiAgCSAgICAgIGhlbHAtbXNnIChjb25jYXQgIkNsaWNrIHRvIGxpc3Qg a2V5IElEIDB4IiBmaW5nZXJwcmludCAiLiIpKSkpDQo+IC0NCj4gICAgICAgKChzdHJpbmc9IHN0 YXR1cyAiZXJyb3IiKQ0KPiAgICAgICAgKHNldHEgbGFiZWwgKGNvbmNhdCAiVW5rbm93biBrZXkg SUQgIiBrZXlpZCAiIG9yIHVuc3VwcG9ydGVkIGFsZ29yaXRobSIpDQo+ICAJICAgIGJ1dHRvbi1h Y3Rpb24gJ25vdG11Y2gtY3J5cHRvLXNpZ3N0YXR1cy1lcnJvci1jYWxsYmFjaw0KPiAgCSAgICBo ZWxwLW1zZyAoY29uY2F0ICJDbGljayB0byByZXRyaWV2ZSBrZXkgSUQgIiBrZXlpZA0KPiAgCQkJ ICAgICAiIGZyb20ga2V5c2VydmVyLiIpKSkNCj4gLQ0KPiAgICAgICAoKHN0cmluZz0gc3RhdHVz ICJiYWQiKQ0KPiAgICAgICAgKHNldHEgbGFiZWwgKGNvbmNhdCAiQmFkIHNpZ25hdHVyZSAoY2xh aW1lZCBrZXkgSUQgIiBrZXlpZCAiKSIpDQo+ICAJICAgIGZhY2UgJ25vdG11Y2gtY3J5cHRvLXNp Z25hdHVyZS1iYWQpKQ0KPiAtDQo+ICAgICAgIChzdGF0dXMNCj4gICAgICAgIChzZXRxIGxhYmVs IChjb25jYXQgIlVua25vd24gc2lnbmF0dXJlIHN0YXR1czogIiBzdGF0dXMpKSkNCj4gICAgICAg KHQNCj4gQEAgLTIzMiw3ICsyMjksNiBAQCAoZGVmdW4gbm90bXVjaC1jcnlwdG8tc2lnc3RhdHVz LWVycm9yLWNhbGxiYWNrIChidXR0b24pDQo+ICAJICAgIChwcm9jZXNzLXB1dCBwIDpub3RtdWNo LXNob3ctYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpDQo+ICAJICAgIChwcm9jZXNzLXB1dCBwIDpu b3RtdWNoLXNob3ctcG9pbnQgKHBvaW50KSkNCj4gIAkgICAgKG1lc3NhZ2UgIkdldHRpbmcgdGhl IEdQRyBrZXkgJXMgYXN5bmNocm9ub3VzbHkuLi4iIGtleWlkKSkpDQo+IC0NCj4gICAgICAgIChs ZXQgKCh3aW5kb3cgKGRpc3BsYXktYnVmZmVyIGJ1ZmZlcikpKQ0KPiAgCSh3aXRoLXNlbGVjdGVk LXdpbmRvdyB3aW5kb3cNCj4gIAkgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGJ1ZmZlcg0KPiBkaWZm IC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1oZWxsby5lbCBiL2VtYWNzL25vdG11Y2gtaGVsbG8uZWwN Cj4gaW5kZXggMTFjNjI1ZWEuLmU3MWU1NWYzIDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNo LWhlbGxvLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtaGVsbG8uZWwNCj4gQEAgLTE1MCw3ICsx NTAsNiBAQCAoZGVmY3VzdG9tIG5vdG11Y2gtc2F2ZWQtc2VhcmNoZXMNCj4gIDs7IFRoZSBzYXZl ZC1zZWFyY2ggZm9ybWF0IGlzIGFsc28gdXNlZCBieSB0aGUgYWxsLXRhZ3Mgbm90bXVjaC1oZWxs bw0KPiAgOzsgc2VjdGlvbi4gVGhpcyBzZWN0aW9uIGdlbmVyYXRlcyBpdHMgb3duIHNhdmVkLXNl YXJjaCBsaXN0IGluIG9uZSBvZg0KPiAgOzsgdGhlIGxhdHRlciB0d28gZm9ybXMuDQo+IC0NCj4g ICAgOmdldCAnbm90bXVjaC1oZWxsby0tc2F2ZWQtc2VhcmNoZXMtdG8tcGxpc3QNCj4gICAgOnR5 cGUgJyhyZXBlYXQgbm90bXVjaC1zYXZlZC1zZWFyY2gtcGxpc3QpDQo+ICAgIDp0YWcgIkxpc3Qg b2YgU2F2ZWQgU2VhcmNoZXMiDQo+IEBAIC00ODIsMjAgKzQ4MSwxNyBAQCAoZGVmdW4gbm90bXVj aC1oZWxsby10YWdzLXBlci1saW5lICh3aWRlc3QpDQo+ICAJCSAgIDs7IENvdW50IGlzIDkgd2lk ZSAoOCBkaWdpdHMgcGx1cyBzcGFjZSksIDEgZm9yIHRoZSBzcGFjZQ0KPiAgCQkgICA7OyBhZnRl ciB0aGUgbmFtZS4NCj4gIAkJICAgKCsgOSAxIChtYXggbm90bXVjaC1jb2x1bW4tY29udHJvbCB3 aWRlc3QpKSkpKQ0KPiAtDQo+ICAJICAoKGZsb2F0cCBub3RtdWNoLWNvbHVtbi1jb250cm9sKQ0K PiAgCSAgIChsZXQqICgoYXZhaWxhYmxlLXdpZHRoICgtICh3aW5kb3ctd2lkdGgpIG5vdG11Y2gt aGVsbG8taW5kZW50KSkNCj4gIAkJICAocHJvcG9zZWQtd2lkdGggKG1heCAoKiBhdmFpbGFibGUt d2lkdGggbm90bXVjaC1jb2x1bW4tY29udHJvbCkNCj4gIAkJCQkgICAgICAgd2lkZXN0KSkpDQo+ ICAJICAgICAoZmxvb3IgYXZhaWxhYmxlLXdpZHRoIHByb3Bvc2VkLXdpZHRoKSkpDQo+IC0NCj4g IAkgICh0DQo+ICAJICAgKG1heCAxDQo+ICAJCSgvICgtICh3aW5kb3ctd2lkdGgpIG5vdG11Y2gt aGVsbG8taW5kZW50KQ0KPiAgCQkgICA7OyBDb3VudCBpcyA5IHdpZGUgKDggZGlnaXRzIHBsdXMg c3BhY2UpLCAxIGZvciB0aGUgc3BhY2UNCj4gIAkJICAgOzsgYWZ0ZXIgdGhlIG5hbWUuDQo+ICAJ CSAgICgrIDkgMSB3aWRlc3QpKSkpKSkpDQo+IC0NCj4gICAgICAoY29ucyB0YWdzLXBlci1saW5l ICgvIChtYXggMQ0KPiAgCQkJCSgtICh3aW5kb3ctd2lkdGgpIG5vdG11Y2gtaGVsbG8taW5kZW50 DQo+ICAJCQkJICAgOzsgQ291bnQgaXMgOSB3aWRlICg4IGRpZ2l0cyBwbHVzDQo+IEBAIC01NDUs NyArNTQxLDYgQEAgKGRlZnVuIG5vdG11Y2gtaGVsbG8tcXVlcnktY291bnRzIChxdWVyeS1saXN0 ICZyZXN0IG9wdGlvbnMpDQo+ICAJCQkJCShvciAocGxpc3QtZ2V0IG9wdGlvbnMgOmZpbHRlci1j b3VudCkNCj4gIAkJCQkJICAgIChwbGlzdC1nZXQgb3B0aW9ucyA6ZmlsdGVyKSkpKQ0KPiAgCSAg IlxuIikpKQ0KPiAtDQo+ICAgICAgKHVubGVzcyAoPSAoY2FsbC1wcm9jZXNzLXJlZ2lvbiAocG9p bnQtbWluKSAocG9pbnQtbWF4KSBub3RtdWNoLWNvbW1hbmQNCj4gIAkJCQkgICAgdCB0IG5pbCAi Y291bnQiICItLWJhdGNoIikgMCkNCj4gICAgICAgIChub3RtdWNoLWxvZ2dlZC1lcnJvcg0KPiBA QCAtNTUzLDkgKzU0OCw3IEBAIChkZWZ1biBub3RtdWNoLWhlbGxvLXF1ZXJ5LWNvdW50cyAocXVl cnktbGlzdCAmcmVzdCBvcHRpb25zKQ0KPiAgICAgICAgICJQbGVhc2UgY2hlY2sgdGhhdCB0aGUg bm90bXVjaCBDTEkgaXMgbmV3IGVub3VnaCB0byBzdXBwb3J0IGBjb3VudA0KPiAgLS1iYXRjaCcu IEluIGdlbmVyYWwgd2UgcmVjb21tZW5kIHJ1bm5pbmcgbWF0Y2hpbmcgdmVyc2lvbnMgb2YNCj4g IHRoZSBDTEkgYW5kIGVtYWNzIGludGVyZmFjZS4iKSkNCj4gLQ0KPiAgICAgIChnb3RvLWNoYXIg KHBvaW50LW1pbikpDQo+IC0NCj4gICAgICAobm90bXVjaC1yZW1vdmUtaWYtbm90DQo+ICAgICAg ICMnaWRlbnRpdHkNCj4gICAgICAgKG1hcGNhcg0KPiBAQCAtNjIxLDcgKzYxNCw2IEBAIChkZWZ1 biBub3RtdWNoLWhlbGxvLWluc2VydC1idXR0b25zIChzZWFyY2hlcykNCj4gIAkgICAgICAoc2V0 cSBjb2x1bW4taW5kZW50IDApDQo+ICAJICAgICAgKHdpZGdldC1pbnNlcnQgIlxuIikpKQ0KPiAg CSAgcmVvcmRlcmVkLWxpc3QpDQo+IC0NCj4gICAgICA7OyBJZiB0aGUgbGFzdCBsaW5lIHdhcyBu b3QgZnVsbCAoYW5kIGhlbmNlIGRpZCBub3QgaW5jbHVkZSBhDQo+ICAgICAgOzsgY2FycmlhZ2Ug cmV0dXJuKSwgaW5zZXJ0IG9uZSBub3cuDQo+ICAgICAgKHVubGVzcyAoZXEgKCUgY291bnQgdGFn cy1wZXItbGluZSkgMCkNCj4gQEAgLTc4MCw3ICs3NzIsNiBAQCAoZGVmdW4gbm90bXVjaC1oZWxs by1pbnNlcnQtaGVhZGVyICgpDQo+ICAJCSAgICAgKGNhciAocHJvY2Vzcy1saW5lcyBub3RtdWNo LWNvbW1hbmQgImNvdW50IikpKSkpDQo+ICAgICAgKHdpZGdldC1pbnNlcnQgIiBtZXNzYWdlcy5c biIpKSkNCj4gIA0KPiAtDQo+ICAoZGVmdW4gbm90bXVjaC1oZWxsby1pbnNlcnQtc2F2ZWQtc2Vh cmNoZXMgKCkNCj4gICAgIkluc2VydCB0aGUgc2F2ZWQtc2VhcmNoZXMgc2VjdGlvbi4iDQo+ICAg IChsZXQgKChzZWFyY2hlcyAobm90bXVjaC1oZWxsby1xdWVyeS1jb3VudHMNCj4gQEAgLTk3Nyw3 ICs5NjgsNiBAQCAoZGVmdW4gbm90bXVjaC1oZWxsby1pbnNlcnQtZm9vdGVyICgpDQo+ICAoZGVm dW4gbm90bXVjaC1oZWxsbyAoJm9wdGlvbmFsIG5vLWRpc3BsYXkpDQo+ICAgICJSdW4gbm90bXVj aCBhbmQgZGlzcGxheSBzYXZlZCBzZWFyY2hlcywga25vd24gdGFncywgZXRjLiINCj4gICAgKGlu dGVyYWN0aXZlKQ0KPiAtDQo+ICAgIChub3RtdWNoLWFzc2VydC1jbGktc2FuZSkNCj4gICAgOzsg VGhpcyBtYXkgY2F1c2UgYSB3aW5kb3cgY29uZmlndXJhdGlvbiBjaGFuZ2UsIHNvIGlmIHRoZQ0K PiAgICA7OyBhdXRvLXJlZnJlc2ggaG9vayBpcyBhbHJlYWR5IGluc3RhbGxlZCwgYXZvaWQgcmVj dXJzaXZlIHJlZnJlc2guDQo+IEBAIC05ODUsMzIgKzk3NSwyNSBAQCAoZGVmdW4gbm90bXVjaC1o ZWxsbyAoJm9wdGlvbmFsIG5vLWRpc3BsYXkpDQo+ICAgICAgKGlmIG5vLWRpc3BsYXkNCj4gIAko c2V0LWJ1ZmZlciAiKm5vdG11Y2gtaGVsbG8qIikNCj4gICAgICAgIChzd2l0Y2gtdG8tYnVmZmVy ICIqbm90bXVjaC1oZWxsbyoiKSkpDQo+IC0NCj4gICAgOzsgSW5zdGFsbCBhdXRvLXJlZnJlc2gg aG9vaw0KPiAgICAod2hlbiBub3RtdWNoLWhlbGxvLWF1dG8tcmVmcmVzaA0KPiAgICAgIChhZGQt aG9vayAnd2luZG93LWNvbmZpZ3VyYXRpb24tY2hhbmdlLWhvb2sNCj4gIAkgICAgICAjJ25vdG11 Y2gtaGVsbG8td2luZG93LWNvbmZpZ3VyYXRpb24tY2hhbmdlKSkNCj4gLQ0KPiAgICAobGV0ICgo dGFyZ2V0LWxpbmUgKGxpbmUtbnVtYmVyLWF0LXBvcykpDQo+ICAJKHRhcmdldC1jb2x1bW4gKGN1 cnJlbnQtY29sdW1uKSkNCj4gIAkoaW5oaWJpdC1yZWFkLW9ubHkgdCkpDQo+IC0NCj4gICAgICA7 OyBEZWxldGUgYWxsIGVkaXRhYmxlIHdpZGdldCBmaWVsZHMuICBFZGl0YWJsZSB3aWRnZXQgZmll bGRzIGFyZQ0KPiAgICAgIDs7IHRyYWNrZWQgaW4gYSBidWZmZXIgbG9jYWwgdmFyaWFibGUgYHdp ZGdldC1maWVsZC1saXN0JyAoYW5kDQo+ICAgICAgOzsgb3RoZXJzKS4gIElmIHdlIGRvIGBlcmFz ZS1idWZmZXInIHdpdGhvdXQgcHJvcGVybHkgZGVsZXRpbmcgdGhlDQo+ICAgICAgOzsgd2lkZ2V0 cywgc29tZSB3aWRnZXQtcmVsYXRlZCBmdW5jdGlvbnMgYXJlIGNvbmZ1c2VkIGxhdGVyLg0KPiAg ICAgIChtYXBjICd3aWRnZXQtZGVsZXRlIHdpZGdldC1maWVsZC1saXN0KQ0KPiAtDQo+ICAgICAg KGVyYXNlLWJ1ZmZlcikNCj4gLQ0KPiAgICAgICh1bmxlc3MgKGVxIG1ham9yLW1vZGUgJ25vdG11 Y2gtaGVsbG8tbW9kZSkNCj4gICAgICAgIChub3RtdWNoLWhlbGxvLW1vZGUpKQ0KPiAtDQo+ICAg ICAgKGxldCAoKGFsbCAob3ZlcmxheS1saXN0cykpKQ0KPiAgICAgICAgOzsgRGVsZXRlIGFsbCB0 aGUgb3ZlcmxheXMuDQo+ICAgICAgICAobWFwYyAnZGVsZXRlLW92ZXJsYXkgKGNhciBhbGwpKQ0K PiAgICAgICAgKG1hcGMgJ2RlbGV0ZS1vdmVybGF5IChjZHIgYWxsKSkpDQo+IC0NCj4gICAgICAo bWFwYw0KPiAgICAgICAobGFtYmRhIChzZWN0aW9uKQ0KPiAgICAgICAgIChsZXQgKChwb2ludC1i ZWZvcmUgKHBvaW50KSkpDQo+IEBAIC0xMDIzLDcgKzEwMDYsNiBAQCAoZGVmdW4gbm90bXVjaC1o ZWxsbyAoJm9wdGlvbmFsIG5vLWRpc3BsYXkpDQo+ICAJICAgKHdpZGdldC1pbnNlcnQgIlxuIikp KSkNCj4gICAgICAgbm90bXVjaC1oZWxsby1zZWN0aW9ucykNCj4gICAgICAod2lkZ2V0LXNldHVw KQ0KPiAtDQo+ICAgICAgOzsgTW92ZSBwb2ludCBiYWNrIHRvIHdoZXJlIGl0IHdhcyBiZWZvcmUg cmVmcmVzaC4gVXNlIGxpbmUgYW5kDQo+ICAgICAgOzsgY29sdW1uIGluc3RlYWQgb2YgcG9pbnQg ZGlyZWN0bHkgdG8gYmUgaW5zZW5zaXRpdmUgdG8gYWRkaXRpb25zDQo+ICAgICAgOzsgYW5kIHJl bW92YWxzIG9mIHRleHQgd2l0aGluIGVhcmxpZXIgbGluZXMuDQo+IGRpZmYgLS1naXQgYS9lbWFj cy9ub3RtdWNoLWp1bXAuZWwgYi9lbWFjcy9ub3RtdWNoLWp1bXAuZWwNCj4gaW5kZXggNmQ4Y2Q5 N2YuLmFkZjc5NjUwIDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLWp1bXAuZWwNCj4gKysr IGIvZW1hY3Mvbm90bXVjaC1qdW1wLmVsDQo+IEBAIC00Myw3ICs0Myw2IEBAIChkZWZ1biBub3Rt dWNoLWp1bXAtc2VhcmNoICgpDQo+ICBUeXBpY2FsbHkgdGhlc2Ugc2hvcnRjdXRzIGFyZSBhIHNp bmdsZSBrZXkgbG9uZywgc28gdGhpcyBpcyBhDQo+ICBmYXN0IHdheSB0byBqdW1wIHRvIGEgc2F2 ZWQgc2VhcmNoIGZyb20gYW55d2hlcmUgaW4gTm90bXVjaC4iDQo+ICAgIChpbnRlcmFjdGl2ZSkN Cj4gLQ0KPiAgICA7OyBCdWlsZCB0aGUgYWN0aW9uIG1hcA0KPiAgICAobGV0IChhY3Rpb24tbWFw KQ0KPiAgICAgIChkb2xpc3QgKHNhdmVkLXNlYXJjaCBub3RtdWNoLXNhdmVkLXNlYXJjaGVzKQ0K PiBAQCAtNjcsNyArNjYsNiBAQCAoZGVmdW4gbm90bXVjaC1qdW1wLXNlYXJjaCAoKQ0KPiAgCQkJ ICBgKGxhbWJkYSAoKSAobm90bXVjaC1zZWFyY2ggJyxxdWVyeSAnLG9sZGVzdC1maXJzdCkpKSkp DQo+ICAJCSAgYWN0aW9uLW1hcCkpKSkpDQo+ICAgICAgKHNldHEgYWN0aW9uLW1hcCAobnJldmVy c2UgYWN0aW9uLW1hcCkpDQo+IC0NCj4gICAgICAoaWYgYWN0aW9uLW1hcA0KPiAgCShub3RtdWNo LWp1bXAgYWN0aW9uLW1hcCAiU2VhcmNoOiAiKQ0KPiAgICAgICAgKGVycm9yICJUbyB1c2Ugbm90 bXVjaC1qdW1wLCBcDQo+IEBAIC05MCw3ICs4OCw2IEBAIChkZWZ1biBub3RtdWNoLWp1bXAgKGFj dGlvbi1tYXAgcHJvbXB0KQ0KPiAgdGhlIGJ1ZmZlciwgYW5kIEFDVElPTiBpcyBhIG51bGxhcnkg ZnVuY3Rpb24gdG8gY2FsbC4gIExBQkVMIG1heQ0KPiAgYmUgbnVsbCwgaW4gd2hpY2ggY2FzZSB0 aGUgYWN0aW9uIHdpbGwgc3RpbGwgYmUgYm91bmQsIGJ1dCB3aWxsDQo+ICBub3QgYXBwZWFyIGlu IHRoZSBwb3AtdXAgYnVmZmVyLiINCj4gLQ0KPiAgICAobGV0KiAoKGl0ZW1zIChub3RtdWNoLWp1 bXAtLWZvcm1hdC1hY3Rpb25zIGFjdGlvbi1tYXApKQ0KPiAgCSA7OyBGb3JtYXQgdGhlIHRhYmxl IG9mIGJpbmRpbmdzIGFuZCB0aGUgZnVsbCBwcm9tcHQNCj4gIAkgKHRhYmxlDQo+IEBAIC0xMTUs NyArMTEyLDYgQEAgKGRlZnVuIG5vdG11Y2gtanVtcCAoYWN0aW9uLW1hcCBwcm9tcHQpDQo+ICAJ IChub3RtdWNoLWp1bXAtLWFjdGlvbiBuaWwpKQ0KPiAgICAgIDs7IFJlYWQgdGhlIGFjdGlvbg0K PiAgICAgIChyZWFkLWZyb20tbWluaWJ1ZmZlciBmdWxsLXByb21wdCBuaWwgbWluaWJ1ZmZlci1t YXApDQo+IC0NCj4gICAgICA7OyBJZiB3ZSBnb3QgYW4gYWN0aW9uLCBkbyBpdA0KPiAgICAgICh3 aGVuIG5vdG11Y2gtanVtcC0tYWN0aW9uDQo+ICAgICAgICAoZnVuY2FsbCBub3RtdWNoLWp1bXAt LWFjdGlvbikpKSkNCj4gQEAgLTEyNiw3ICsxMjIsNiBAQCAoZGVmdW4gbm90bXVjaC1qdW1wLS1m b3JtYXQtYWN0aW9ucyAoYWN0aW9uLW1hcCkNCj4gIFJldHVybnMgYSBsaXN0IG9mIHN0cmluZ3Ms IG9uZSBmb3IgZWFjaCBpdGVtIHdpdGggYSBsYWJlbCBpbg0KPiAgQUNUSU9OLU1BUC4gIFRoZXNl IHN0cmluZ3MgY2FuIGJlIGluc2VydGVkIGludG8gYSB0YWJ1bGFyDQo+ICBidWZmZXIuIg0KPiAt DQo+ICAgIDs7IENvbXB1dGUgdGhlIG1heGltdW0ga2V5IGRlc2NyaXB0aW9uIHdpZHRoDQo+ICAg IChsZXQgKChrZXktd2lkdGggMSkpDQo+ICAgICAgKHBjYXNlLWRvbGlzdCAoYCgsa2V5ICxkZXNj KSBhY3Rpb24tbWFwKQ0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1saWIuZWwgYi9lbWFj cy9ub3RtdWNoLWxpYi5lbA0KPiBpbmRleCA5MzM5ZjlkMC4uNjE1MjA3ZWQgMTAwNjQ0DQo+IC0t LSBhL2VtYWNzL25vdG11Y2gtbGliLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtbGliLmVsDQo+ IEBAIC00MTgsNyArNDE4LDYgQEAgKGRlZnVuIG5vdG11Y2gtc3Via2V5bWFwLWhlbHAgKCkNCj4g ICAgICAod2hpbGUgKDwgaSAobGVuZ3RoIHByZWZpeCkpDQo+ICAgICAgICAoYXNldCBwcmVmaXgg aSAoYXJlZiBrZXkgaSkpDQo+ICAgICAgICAoc2V0cSBpICgxKyBpKSkpDQo+IC0NCj4gICAgICAo bGV0KiAoKHN1YmtleW1hcCAoa2V5LWJpbmRpbmcgcHJlZml4KSkNCj4gIAkgICAodWEta2V5cyAo d2hlcmUtaXMtaW50ZXJuYWwgJ3VuaXZlcnNhbC1hcmd1bWVudCBuaWwgdCkpDQo+ICAJICAgKHBy ZWZpeC1zdHJpbmcgKG5vdG11Y2gtcHJlZml4LWtleS1kZXNjcmlwdGlvbiBwcmVmaXgpKQ0KPiBA QCAtNDg2LDcgKzQ4NSw2IEBAIChkZWZ1biBub3RtdWNoLWVzY2FwZS1ib29sZWFuLXRlcm0gKHRl cm0pDQo+ICBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBwcmVwZW5kaW5nIHRoZSB0ZXJt IHByZWZpeCBhbmQgYQ0KPiAgY29sb24uICBUaGlzIHBlcmZvcm1zIG1pbmltYWwgZXNjYXBpbmcg aW4gb3JkZXIgdG8gcHJvZHVjZQ0KPiAgdXNlci1mcmllbmRseSBxdWVyaWVzLiINCj4gLQ0KPiAg ICAoc2F2ZS1tYXRjaC1kYXRhDQo+ICAgICAgKGlmIChvciAoZXF1YWwgdGVybSAiIikNCj4gIAkg ICAgOzsgVG8gYmUgcGVzc2ltaXN0aWMsIG9ubHkgcGFzcyB0aHJvdWdoIHRlcm1zIGNvbXBvc2Vk DQo+IEBAIC03MzEsNyArNzI5LDYgQEAgKGRlZnVuIG5vdG11Y2gtYXBwbHktZmFjZSAob2JqZWN0 IGZhY2UgJm9wdGlvbmFsIGJlbG93IHN0YXJ0IGVuZCkNCj4gIGF0dHJpYnV0ZXMsIG9yIGEgbGlz dCBvZiB0aGVzZS4gIElmIFNUQVJUIGFuZC9vciBFTkQgYXJlIG9taXR0ZWQsDQo+ICB0aGV5IGRl ZmF1bHQgdG8gdGhlIGJlZ2lubmluZy9lbmQgb2YgT0JKRUNULiAgRm9yIGNvbnZlbmllbmNlDQo+ ICB3aGVuIGFwcGxpZWQgdG8gc3RyaW5ncywgdGhpcyByZXR1cm5zIE9CSkVDVC4iDQo+IC0NCj4g ICAgOzsgQSBmYWNlIHByb3BlcnR5IGNhbiBoYXZlIHRocmVlIGZvcm1zOiBhIGZhY2UgbmFtZSAo YSBzdHJpbmcgb3INCj4gICAgOzsgc3ltYm9sKSwgYSBwcm9wZXJ0eSBsaXN0LCBvciBhIGxpc3Qg b2YgdGhlc2UgdHdvIGZvcm1zLiAgSW4gdGhlDQo+ICAgIDs7IGxpc3QgY2FzZSwgdGhlIGZhY2Vz IHdpbGwgYmUgY29tYmluZWQsIHdpdGggdGhlIGVhcmxpZXIgZmFjZXMNCj4gQEAgLTc3NCw3ICs3 NzEsNiBAQCAoZGVmdW4gbm90bXVjaC1sb2dnZWQtZXJyb3IgKG1zZyAmb3B0aW9uYWwgZXh0cmEp DQo+ICBzaWduYWxzIE1TRyBhcyBhbiBlcnJvci4gIElmIEVYVFJBIGlzIG5vbi1uaWwsIHRleHQg cmVmZXJyaW5nIHRoZQ0KPiAgdXNlciB0byB0aGUgKk5vdG11Y2ggZXJyb3JzKiBidWZmZXIgd2ls bCBiZSBhcHBlbmRlZCB0byB0aGUNCj4gIHNpZ25hbGVkIGVycm9yLiAgVGhpcyBmdW5jdGlvbiBk b2VzIG5vdCByZXR1cm4uIg0KPiAtDQo+ICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVm ZmVyLWNyZWF0ZSAiKk5vdG11Y2ggZXJyb3JzKiIpDQo+ICAgICAgKGdvdG8tY2hhciAocG9pbnQt bWF4KSkNCj4gICAgICAodW5sZXNzIChib2JwKQ0KPiBAQCAtODE5LDcgKzgxNSw2IEBAIChkZWZ1 biBub3RtdWNoLWNoZWNrLWV4aXQtc3RhdHVzIChleGl0LXN0YXR1cyBjb21tYW5kICZvcHRpb25h bCBvdXRwdXQgZXJyKQ0KPiAgZ2l2aW5nIHRoZSBvdXRwdXQgb2YgY29tbWFuZC4gIEVSUiwgaWYg cHJvdmlkZWQsIGlzIHRoZSBlcnJvcg0KPiAgb3V0cHV0IG9mIGNvbW1hbmQuICBPVVRQVVQgYW5k IEVSUiB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBlcnJvcg0KPiAgbWVzc2FnZS4iDQo+IC0NCj4g ICAgKGNvbmQNCj4gICAgICgoZXEgZXhpdC1zdGF0dXMgMCkgdCkNCj4gICAgICgoZXEgZXhpdC1z dGF0dXMgMjApDQo+IEBAIC04NjUsNyArODYwLDYgQEAgKGRlZnVuIG5vdG11Y2gtY2FsbC1ub3Rt dWNoLS1oZWxwZXIgKGRlc3RpbmF0aW9uIGFyZ3MpDQo+ICBUaGlzIHdyYXBzIGBjYWxsLXByb2Nl c3MnLiAgREVTVElOQVRJT04gaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMNCj4gIGZvciBgY2FsbC1w cm9jZXNzJy4gIEFSR1MgaXMgYXMgZGVzY3JpYmVkIGZvcg0KPiAgYG5vdG11Y2gtY2FsbC1ub3Rt dWNoLXByb2Nlc3MnLiINCj4gLQ0KPiAgICAobGV0IChzdGRpbi1zdHJpbmcpDQo+ICAgICAgKHdo aWxlIChrZXl3b3JkcCAoY2FyIGFyZ3MpKQ0KPiAgICAgICAgKGNsLWNhc2UgKGNhciBhcmdzKQ0K PiBAQCAtOTAzLDcgKzg5Nyw2IEBAIChkZWZ1biBub3RtdWNoLWNhbGwtbm90bXVjaC1zZXhwICgm cmVzdCBhcmdzKQ0KPiAgTGlrZSBgbm90bXVjaC1jYWxsLW5vdG11Y2gtcHJvY2VzcycsIGlmIG5v dG11Y2ggZXhpdHMgd2l0aCBhDQo+ICBub24temVybyBzdGF0dXMsIHRoaXMgd2lsbCByZXBvcnQg aXRzIG91dHB1dCBhbmQgc2lnbmFsIGFuDQo+ICBlcnJvci4iDQo+IC0NCj4gICAgKHdpdGgtdGVt cC1idWZmZXINCj4gICAgICAobGV0ICgoZXJyLWZpbGUgKG1ha2UtdGVtcC1maWxlICJubWVyciIp KSkNCj4gICAgICAgICh1bndpbmQtcHJvdGVjdA0KPiBAQCAtOTMxLDcgKzkyNCw2IEBAIChkZWZ1 biBub3RtdWNoLXN0YXJ0LW5vdG11Y2ggKG5hbWUgYnVmZmVyIHNlbnRpbmVsICZyZXN0IGFyZ3Mp DQo+ICBpbnZva2UgYHNldC1wcm9jZXNzLXNlbnRpbmVsJyBkaXJlY3RseSBvbiB0aGUgcmV0dXJu ZWQgcHJvY2VzcywNCj4gIGFzIHRoYXQgd2lsbCBpbnRlcmZlcmUgd2l0aCB0aGUgaGFuZGxpbmcg b2Ygc3RkZXJyIGFuZCB0aGUgZXhpdA0KPiAgc3RhdHVzLiINCj4gLQ0KPiAgICAobGV0IChlcnIt ZmlsZSBlcnItYnVmZmVyIHByb2MgZXJyLXByb2MNCj4gIAk7OyBGaW5kIG5vdG11Y2ggdXNpbmcg RW1hY3MnIGBleGVjLXBhdGgnDQo+ICAJKGNvbW1hbmQgKG9yIChleGVjdXRhYmxlLWZpbmQgbm90 bXVjaC1jb21tYW5kKQ0KPiBAQCAtOTU2LDcgKzk0OCw2IEBAIChkZWZ1biBub3RtdWNoLXN0YXJ0 LW5vdG11Y2ggKG5hbWUgYnVmZmVyIHNlbnRpbmVsICZyZXN0IGFyZ3MpDQo+ICAJICAocHJvY2Vz cy1wdXQgZXJyLXByb2MgJ2Vyci1maWxlIGVyci1maWxlKQ0KPiAgCSAgKHByb2Nlc3MtcHV0IGVy ci1wcm9jICdlcnItYnVmZmVyIGVyci1idWZmZXIpDQo+ICAJICAoc2V0LXByb2Nlc3Mtc2VudGlu ZWwgZXJyLXByb2MgIydub3RtdWNoLXN0YXJ0LW5vdG11Y2gtZXJyb3Itc2VudGluZWwpKQ0KPiAt DQo+ICAgICAgICA7OyBPbiBFbWFjcyB2ZXJzaW9ucyBiZWZvcmUgMjUsIHRoZXJlIGlzIG5vIHdh eSB0byBjYXB0dXJlDQo+ICAgICAgICA7OyBzdGRvdXQgYW5kIHN0ZGVyciBzZXBhcmF0ZWx5IGZv ciBhc3luY2hyb25vdXMgcHJvY2Vzc2VzLCBvcg0KPiAgICAgICAgOzsgZXZlbiB0byByZWRpcmVj dCBzdGRlcnIgdG8gYSBmaWxlLCBzbyB3ZSB1c2UgYSB0cml2aWFsIHNoZWxsDQo+IEBAIC05Njks NyArOTYwLDYgQEAgKGRlZnVuIG5vdG11Y2gtc3RhcnQtbm90bXVjaCAobmFtZSBidWZmZXIgc2Vu dGluZWwgJnJlc3QgYXJncykNCj4gIAkJCSAgImV4ZWMgMj5cIiQxXCI7IHNoaWZ0OyBleGVjIFwi JDBcIiBcIiRAXCIiDQo+ICAJCQkgIGNvbW1hbmQgZXJyLWZpbGUgYXJncykpKQ0KPiAgICAgICAg KHByb2Nlc3MtcHV0IHByb2MgJ2Vyci1maWxlIGVyci1maWxlKSkNCj4gLQ0KPiAgICAgIChwcm9j ZXNzLXB1dCBwcm9jICdzdWItc2VudGluZWwgc2VudGluZWwpDQo+ICAgICAgKHByb2Nlc3MtcHV0 IHByb2MgJ3JlYWwtY29tbWFuZCAoY29ucyBub3RtdWNoLWNvbW1hbmQgYXJncykpDQo+ICAgICAg KHNldC1wcm9jZXNzLXNlbnRpbmVsIHByb2MgIydub3RtdWNoLXN0YXJ0LW5vdG11Y2gtc2VudGlu ZWwpDQo+IGRpZmYgLS1naXQgYS9lbWFjcy9ub3RtdWNoLW1haWxkaXItZmNjLmVsIGIvZW1hY3Mv bm90bXVjaC1tYWlsZGlyLWZjYy5lbA0KPiBpbmRleCA0YjEwYTczMS4uNjZmMzJmZDQgMTAwNjQ0 DQo+IC0tLSBhL2VtYWNzL25vdG11Y2gtbWFpbGRpci1mY2MuZWwNCj4gKysrIGIvZW1hY3Mvbm90 bXVjaC1tYWlsZGlyLWZjYy5lbA0KPiBAQCAtOTQsMjIgKzk0LDE4IEBAIChkZWZ1biBub3RtdWNo LWZjYy1oZWFkZXItc2V0dXAgKCkNCj4gIA0KPiAgT3JpZ2luYWxseSBpbnRlbmRlZCB0byBiZSB1 c2UgYSBob29rIGZ1bmN0aW9uLCBidXQgbm93IGNhbGxlZCBkaXJlY3RseQ0KPiAgYnkgbm90bXVj aC1tdWEtbWFpbC4iDQo+IC0NCj4gICAgKGxldCAoKHN1YmRpcg0KPiAgCSAoY29uZA0KPiAgCSAg KChvciAobm90IG5vdG11Y2gtZmNjLWRpcnMpDQo+ICAJICAgICAgIChtZXNzYWdlLWZpZWxkLXZh bHVlICJGY2MiKSkNCj4gIAkgICA7OyBOb3RoaW5nIHNldCBvciBhbiBleGlzdGluZyBoZWFkZXIu DQo+ICAJICAgbmlsKQ0KPiAtDQo+ICAJICAoKHN0cmluZ3Agbm90bXVjaC1mY2MtZGlycykNCj4g IAkgICBub3RtdWNoLWZjYy1kaXJzKQ0KPiAtDQo+ICAJICAoKGFuZCAobGlzdHAgbm90bXVjaC1m Y2MtZGlycykNCj4gIAkJKHN0cmluZ3AgKGNhciBub3RtdWNoLWZjYy1kaXJzKSkpDQo+ICAJICAg OzsgT2xkIHN0eWxlIC0gbm8gbG9uZ2VyIHdvcmtzLg0KPiAgCSAgIChlcnJvciAiSW52YWxpZCBg bm90bXVjaC1mY2MtZGlycycgc2V0dGluZyAob2xkIHN0eWxlKSIpKQ0KPiAtDQo+ICAJICAoKGxp c3RwIG5vdG11Y2gtZmNjLWRpcnMpDQo+ICAJICAgKGxldCogKChmcm9tIChtZXNzYWdlLWZpZWxk LXZhbHVlICJGcm9tIikpDQo+ICAJCSAgKG1hdGNoDQo+IEBAIC0xMjEsMTAgKzExNyw4IEBAIChk ZWZ1biBub3RtdWNoLWZjYy1oZWFkZXItc2V0dXAgKCkNCj4gIAkJIChjZHIgbWF0Y2gpDQo+ICAJ ICAgICAgIChtZXNzYWdlICJObyBGY2MgaGVhZGVyIGFkZGVkLiIpDQo+ICAJICAgICAgIG5pbCkp KQ0KPiAtDQo+ICAJICAodA0KPiAgCSAgIChlcnJvciAiSW52YWxpZCBgbm90bXVjaC1mY2MtZGly cycgc2V0dGluZyAobmVpdGhlciBzdHJpbmcgbm9yIGxpc3QpIikpKSkpDQo+IC0NCj4gICAgICAo d2hlbiBzdWJkaXINCj4gICAgICAgIChpZiBub3RtdWNoLW1haWxkaXItdXNlLW5vdG11Y2gtaW5z ZXJ0DQo+ICAJICAobm90bXVjaC1tYWlsZGlyLWFkZC1ub3RtdWNoLWluc2VydC1zdHlsZS1mY2Mt aGVhZGVyIHN1YmRpcikNCj4gQEAgLTEzMyw3ICsxMjcsNiBAQCAoZGVmdW4gbm90bXVjaC1mY2Mt aGVhZGVyLXNldHVwICgpDQo+ICAoZGVmdW4gbm90bXVjaC1tYWlsZGlyLWFkZC1ub3RtdWNoLWlu c2VydC1zdHlsZS1mY2MtaGVhZGVyIChzdWJkaXIpDQo+ICAgIDs7IE5vdG11Y2ggaW5zZXJ0IGRv ZXMgbm90IGFjY2VwdCBhYnNvbHV0ZSBwYXRocywgc28gY2hlY2sgdGhlIHVzZXINCj4gICAgOzsg cmVhbGx5IHdhbnQgdGhpcyBoZWFkZXIgaW5zZXJ0ZWQuDQo+IC0NCj4gICAgKHdoZW4gKG9yIChu b3QgKD0gKGVsdCBzdWJkaXIgMCkgPy8pKQ0KPiAgCSAgICAoeS1vci1uLXANCj4gIAkgICAgIChm b3JtYXQgIkZjYyBoZWFkZXIgJXMgaXMgYW4gYWJzb2x1dGUgcGF0aCBhbmQgbm90bXVjaCBpbnNl cnQgaXMgcmVxdWVzdGVkLg0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1tdWEuZWwgYi9l bWFjcy9ub3RtdWNoLW11YS5lbA0KPiBpbmRleCA3NGRmYjM4NC4uM2JjMDZiNGIgMTAwNjQ0DQo+ IC0tLSBhL2VtYWNzL25vdG11Y2gtbXVhLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtbXVhLmVs DQo+IEBAIC0yMjgsMjIgKzIyOCwxNyBAQCAoZGVmdW4gbm90bXVjaC1tdWEtcmVwbHkgKHF1ZXJ5 LXN0cmluZyAmb3B0aW9uYWwgc2VuZGVyIHJlcGx5LWFsbCkNCj4gIAlvcmlnaW5hbCkNCj4gICAg ICAod2hlbiBwcm9jZXNzLWNyeXB0bw0KPiAgICAgICAgKHNldHEgYXJncyAoYXBwZW5kIGFyZ3Mg JygiLS1kZWNyeXB0PXRydWUiKSkpKQ0KPiAtDQo+ICAgICAgKGlmIHJlcGx5LWFsbA0KPiAgCShz ZXRxIGFyZ3MgKGFwcGVuZCBhcmdzICcoIi0tcmVwbHktdG89YWxsIikpKQ0KPiAgICAgICAgKHNl dHEgYXJncyAoYXBwZW5kIGFyZ3MgJygiLS1yZXBseS10bz1zZW5kZXIiKSkpKQ0KPiAgICAgIChz ZXRxIGFyZ3MgKGFwcGVuZCBhcmdzIChsaXN0IHF1ZXJ5LXN0cmluZykpKQ0KPiAtDQo+ICAgICAg OzsgR2V0IHRoZSByZXBseSBvYmplY3QgYXMgU0VYUCwgYW5kIHBhcnNlIGl0IGludG8gYW4gZWxp c3Agb2JqZWN0Lg0KPiAgICAgIChzZXRxIHJlcGx5IChhcHBseSAjJ25vdG11Y2gtY2FsbC1ub3Rt dWNoLXNleHAgYXJncykpDQo+IC0NCj4gICAgICA7OyBFeHRyYWN0IHRoZSBvcmlnaW5hbCBtZXNz YWdlIHRvIHNpbXBsaWZ5IHRoZSBmb2xsb3dpbmcgY29kZS4NCj4gICAgICAoc2V0cSBvcmlnaW5h bCAocGxpc3QtZ2V0IHJlcGx5IDpvcmlnaW5hbCkpDQo+IC0NCj4gICAgICA7OyBFeHRyYWN0IHRo ZSBoZWFkZXJzIG9mIGJvdGggdGhlIHJlcGx5IGFuZCB0aGUgb3JpZ2luYWwgbWVzc2FnZS4NCj4g ICAgICAobGV0KiAoKG9yaWdpbmFsLWhlYWRlcnMgKHBsaXN0LWdldCBvcmlnaW5hbCA6aGVhZGVy cykpDQo+ICAJICAgKHJlcGx5LWhlYWRlcnMgKHBsaXN0LWdldCByZXBseSA6cmVwbHktaGVhZGVy cykpKQ0KPiAtDQo+ICAgICAgICA7OyBJZiBzZW5kZXIgaXMgbm9uLW5pbCwgc2V0IHRoZSBGcm9t OiBoZWFkZXIgdG8gaXRzIHZhbHVlLg0KPiAgICAgICAgKHdoZW4gc2VuZGVyDQo+ICAJKHBsaXN0 LXB1dCByZXBseS1oZWFkZXJzIDpGcm9tIHNlbmRlcikpDQo+IEBAIC0yNTEsNyArMjQ2LDYgQEAg KGRlZnVuIG5vdG11Y2gtbXVhLXJlcGx5IChxdWVyeS1zdHJpbmcgJm9wdGlvbmFsIHNlbmRlciBy ZXBseS1hbGwpDQo+ICAJICA7OyBPdmVybGF5IHRoZSBjb21wb3NpdGlvbiB3aW5kb3cgb24gdGhh dCBiZWluZyB1c2VkIHRvIHJlYWQNCj4gIAkgIDs7IHRoZSBvcmlnaW5hbCBtZXNzYWdlLg0KPiAg CSAgKChzYW1lLXdpbmRvdy1yZWdleHBzICcoIlxcKm1haWwgLioiKSkpDQo+IC0NCj4gIAk7OyBX ZSBtb2RpZnkgbWVzc2FnZS1oZWFkZXItZm9ybWF0LWFsaXN0IHRvIGdldCBhcm91bmQNCj4gIAk7 OyBhIGJ1ZyBpbiBtZXNzYWdlLmVsLiAgU2VlIHRoZSBjb21tZW50IGFib3ZlIG9uDQo+ICAJOzsg bm90bXVjaC1tdWEtaW5zZXJ0LXJlZmVyZW5jZXMuDQo+IEBAIC0yNjgsMTMgKzI2MiwxMSBAQCAo ZGVmdW4gbm90bXVjaC1tdWEtcmVwbHkgKHF1ZXJ5LXN0cmluZyAmb3B0aW9uYWwgc2VuZGVyIHJl cGx5LWFsbCkNCj4gIAkJCSAgICAobm90bXVjaC1zYW5pdGl6ZSAocGxpc3QtZ2V0IHJlcGx5LWhl YWRlcnMgOlN1YmplY3QpKQ0KPiAgCQkJICAgIChub3RtdWNoLWhlYWRlcnMtcGxpc3QtdG8tYWxp c3QgcmVwbHktaGVhZGVycykNCj4gIAkJCSAgICBuaWwgKG5vdG11Y2gtbXVhLWdldC1zd2l0Y2gt ZnVuY3Rpb24pKSkpDQo+IC0NCj4gICAgICAgIDs7IENyZWF0ZSBhIGJ1ZmZlci1sb2NhbCBxdWV1 ZSBmb3IgdGFnIGNoYW5nZXMgdHJpZ2dlcmVkIHdoZW4NCj4gICAgICAgIDs7IHNlbmRpbmcgdGhl IHJlcGx5Lg0KPiAgICAgICAgKHdoZW4gbm90bXVjaC1tZXNzYWdlLXJlcGxpZWQtdGFncw0KPiAg CShzZXRxLWxvY2FsIG5vdG11Y2gtbWVzc2FnZS1xdWV1ZWQtdGFnLWNoYW5nZXMNCj4gIAkJICAg IChsaXN0IChjb25zIHF1ZXJ5LXN0cmluZyBub3RtdWNoLW1lc3NhZ2UtcmVwbGllZC10YWdzKSkp KQ0KPiAtDQo+ICAgICAgICA7OyBJbnNlcnQgdGhlIG1lc3NhZ2UgYm9keSAtIGJ1dCBwdXQgaXQg aW4gZnJvbnQgb2YgdGhlIHNpZ25hdHVyZQ0KPiAgICAgICAgOzsgaWYgb25lIGlzIHByZXNlbnQs IGFuZCBhZnRlciBhbnkgb3RoZXIgY29udGVudA0KPiAgICAgICAgOzsgbWVzc2FnZSpzZXR1cC1o b29rcyBtYXkgaGF2ZSBhZGRlZCB0byB0aGUgbWVzc2FnZSBib2R5IGFscmVhZHkuDQo+IEBAIC0y ODYsMTcgKzI3OCwxNCBAQCAoZGVmdW4gbm90bXVjaC1tdWEtcmVwbHkgKHF1ZXJ5LXN0cmluZyAm b3B0aW9uYWwgc2VuZGVyIHJlcGx5LWFsbCkNCj4gIAkgICAgKGlmIG1lc3NhZ2Utc2lnbmF0dXJl LWluc2VydC1lbXB0eS1saW5lDQo+ICAJCShmb3J3YXJkLWxpbmUgLTEpKQ0KPiAgCSAgKGdvdG8t Y2hhciAocG9pbnQtbWF4KSkpKQ0KPiAtDQo+ICAgICAgICAobGV0ICgoZnJvbSAocGxpc3QtZ2V0 IG9yaWdpbmFsLWhlYWRlcnMgOkZyb20pKQ0KPiAgCSAgICAoZGF0ZSAocGxpc3QtZ2V0IG9yaWdp bmFsLWhlYWRlcnMgOkRhdGUpKQ0KPiAgCSAgICAoc3RhcnQgKHBvaW50KSkpDQo+IC0NCj4gIAk7 OyBub3RtdWNoLW11YS1jaXRlLWZ1bmN0aW9uIGNvbnN0cnVjdHMgYSBjaXRhdGlvbiBsaW5lIGJh c2VkDQo+ICAJOzsgb24gdGhlIEZyb20gYW5kIERhdGUgaGVhZGVycyBvZiB0aGUgb3JpZ2luYWwg bWVzc2FnZSwgd2hpY2gNCj4gIAk7OyBhcmUgYXNzdW1lZCB0byBiZSBpbiB0aGUgYnVmZmVyLg0K PiAgCShpbnNlcnQgIkZyb206ICIgZnJvbSAiXG4iKQ0KPiAgCShpbnNlcnQgIkRhdGU6ICIgZGF0 ZSAiXG5cbiIpDQo+IC0NCj4gIAkoaW5zZXJ0DQo+ICAJICh3aXRoLXRlbXAtYnVmZmVyDQo+ICAJ ICAgKGxldA0KPiBAQCAtMzIwLDIyICszMDksMTggQEAgKGRlZnVuIG5vdG11Y2gtbXVhLXJlcGx5 IChxdWVyeS1zdHJpbmcgJm9wdGlvbmFsIHNlbmRlciByZXBseS1hbGwpDQo+ICAJCSAgICAgICAo KHN5bWJvbC1mdW5jdGlvbiAnbm90bXVjaC1jcnlwdG8taW5zZXJ0LWVuY3N0YXR1cy1idXR0b24p ICMnaWdub3JlKSkNCj4gIAkgICAgICAgKG5vdG11Y2gtc2hvdy1pbnNlcnQtYm9keSBvcmlnaW5h bCAocGxpc3QtZ2V0IG9yaWdpbmFsIDpib2R5KSAwKQ0KPiAgCSAgICAgICAoYnVmZmVyLXN1YnN0 cmluZy1uby1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpKSkpKSkNCj4gLQ0KPiAg CShzZXQtbWFyayAocG9pbnQpKQ0KPiAgCShnb3RvLWNoYXIgc3RhcnQpDQo+ICAJOzsgUXVvdGUg dGhlIG9yaWdpbmFsIG1lc3NhZ2UgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBz dHlsZS4NCj4gIAkoZnVuY2FsbCBub3RtdWNoLW11YS1jaXRlLWZ1bmN0aW9uKSkpDQo+IC0NCj4g ICAgICA7OyBDcnlwdG8gcHJvY2Vzc2luZyBiYXNlZCBjcnlwdG8gY29udGVudCBvZiB0aGUgb3Jp Z2luYWwgbWVzc2FnZQ0KPiAgICAgICh3aGVuIHByb2Nlc3MtY3J5cHRvDQo+ICAgICAgICAobm90 bXVjaC1tdWEtcmVwbHktY3J5cHRvIChwbGlzdC1nZXQgb3JpZ2luYWwgOmJvZHkpKSkpDQo+IC0N Cj4gICAgOzsgUHVzaCBtYXJrIHJpZ2h0IGJlZm9yZSBzaWduYXR1cmUsIGlmIGFueS4NCj4gICAg KG1lc3NhZ2UtZ290by1zaWduYXR1cmUpDQo+ICAgICh1bmxlc3MgKGVvYnApDQo+ICAgICAgKGVu ZC1vZi1saW5lIC0xKSkNCj4gICAgKHB1c2gtbWFyaykNCj4gLQ0KPiAgICAobWVzc2FnZS1nb3Rv LWJvZHkpDQo+ICAgIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAgbmlsKSkNCj4gIA0KPiBAQCAtMzgx LDE4ICszNjYsMTUgQEAgKGRlZnVuIG5vdG11Y2gtbXVhLW1haWwgKCZvcHRpb25hbCB0byBzdWJq ZWN0IG90aGVyLWhlYWRlcnMgY29udGludWUNCj4gIAkJCQkgICByZXR1cm4tYWN0aW9uICZyZXN0 IGlnbm9yZWQpDQo+ICAgICJJbnZva2UgdGhlIG5vdG11Y2ggbWFpbCBjb21wb3NpdGlvbiB3aW5k b3cuIg0KPiAgICAoaW50ZXJhY3RpdmUpDQo+IC0NCj4gICAgKHdoZW4gbm90bXVjaC1tdWEtdXNl ci1hZ2VudC1mdW5jdGlvbg0KPiAgICAgIChsZXQgKCh1c2VyLWFnZW50IChmdW5jYWxsIG5vdG11 Y2gtbXVhLXVzZXItYWdlbnQtZnVuY3Rpb24pKSkNCj4gICAgICAgICh3aGVuIChub3QgKHN0cmlu Zz0gIiIgdXNlci1hZ2VudCkpDQo+ICAJKHB1c2ggKGNvbnMgJ1VzZXItQWdlbnQgdXNlci1hZ2Vu dCkgb3RoZXItaGVhZGVycykpKSkNCj4gLQ0KPiAgICAodW5sZXNzIChhc3NxICdGcm9tIG90aGVy LWhlYWRlcnMpDQo+ICAgICAgKHB1c2ggKGNvbnMgJ0Zyb20gKG1lc3NhZ2UtbWFrZS1mcm9tDQo+ ICAJCSAgICAgICAobm90bXVjaC11c2VyLW5hbWUpDQo+ICAJCSAgICAgICAobm90bXVjaC11c2Vy LXByaW1hcnktZW1haWwpKSkNCj4gIAkgIG90aGVyLWhlYWRlcnMpKQ0KPiAtDQo+ICAgIChub3Rt dWNoLW11YS1wb3AtdG8tYnVmZmVyIChtZXNzYWdlLWJ1ZmZlci1uYW1lICJtYWlsIiB0bykNCj4g IAkJCSAgICAgKG9yIHN3aXRjaC1mdW5jdGlvbg0KPiAgCQkJCSAobm90bXVjaC1tdWEtZ2V0LXN3 aXRjaC1mdW5jdGlvbikpKQ0KPiBAQCAtNDIyLDcgKzQwNCw2IEBAIChkZWZ1biBub3RtdWNoLW11 YS1tYWlsICgmb3B0aW9uYWwgdG8gc3ViamVjdCBvdGhlci1oZWFkZXJzIGNvbnRpbnVlDQo+ICAg IChtZXNzYWdlLWhpZGUtaGVhZGVycykNCj4gICAgKHNldC1idWZmZXItbW9kaWZpZWQtcCBuaWwp DQo+ICAgIChub3RtdWNoLW11YS1tYXliZS1zZXQtd2luZG93LWRlZGljYXRlZCkNCj4gLQ0KPiAg ICAobWVzc2FnZS1nb3RvLXRvKSkNCj4gIA0KPiAgKGRlZmN1c3RvbSBub3RtdWNoLWlkZW50aXRp ZXMgbmlsDQo+IEBAIC00OTUsMTAgKzQ3Niw4IEBAIChkZWZ1biBub3RtdWNoLW11YS1uZXctZm9y d2FyZC1tZXNzYWdlcyAobWVzc2FnZXMgJm9wdGlvbmFsIHByb21wdC1mb3Itc2VuZGVyKQ0KPiAg CQkJICA7OyBhcHBsaWVkIGxhdGVyLg0KPiAgCSBmb3J3YXJkLXJlZmVyZW5jZXMgOzsgTGlzdCBv ZiBhY2N1bXVsYXRlZCBtZXNzYWdlLXJlZmVyZW5jZXMgb2YgZm9yd2FyZGVkIG1lc3NhZ2VzDQo+ ICAJIGZvcndhcmQtcXVlcmllcykgOzsgTGlzdCBvZiBjb3JyZXNwb25kaW5nIG1lc3NhZ2UtcXVl cnkNCj4gLQ0KPiAgICAgIDs7IEdlbmVyYXRlIHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIG91dGdvaW5n IG1lc3NhZ2UuDQo+ICAgICAgKG5vdG11Y2gtbXVhLW1haWwgbmlsICIiIG90aGVyLWhlYWRlcnMg bmlsIChub3RtdWNoLW11YS1nZXQtc3dpdGNoLWZ1bmN0aW9uKSkNCj4gLQ0KPiAgICAgIChzYXZl LWV4Y3Vyc2lvbg0KPiAgICAgICAgOzsgSW5zZXJ0IGFsbCBvZiB0aGUgZm9yd2FyZGVkIG1lc3Nh Z2VzLg0KPiAgICAgICAgKG1hcGMgKGxhbWJkYSAoaWQpDQo+IEBAIC01MjQsNyArNTAzLDYgQEAg KGRlZnVuIG5vdG11Y2gtbXVhLW5ldy1mb3J3YXJkLW1lc3NhZ2VzIChtZXNzYWdlcyAmb3B0aW9u YWwgcHJvbXB0LWZvci1zZW5kZXIpDQo+ICAJICAgIDs7IGBtZXNzYWdlLWZvcndhcmQtbWFrZS1i b2R5JyBhbHdheXMgcHV0cyB0aGUgbWVzc2FnZSBhdA0KPiAgCSAgICA7OyB0aGUgdG9wLCBzbyBk byB0aGVtIGluIHJldmVyc2Ugb3JkZXIuDQo+ICAJICAgIChyZXZlcnNlIG1lc3NhZ2VzKSkNCj4g LQ0KPiAgICAgICAgOzsgQWRkIGluIHRoZSBhcHByb3ByaWF0ZSBzdWJqZWN0Lg0KPiAgICAgICAg KHNhdmUtcmVzdHJpY3Rpb24NCj4gIAkobWVzc2FnZS1uYXJyb3ctdG8taGVhZGVycykNCj4gQEAg LTUzMyw3ICs1MTEsNiBAQCAoZGVmdW4gbm90bXVjaC1tdWEtbmV3LWZvcndhcmQtbWVzc2FnZXMg KG1lc3NhZ2VzICZvcHRpb25hbCBwcm9tcHQtZm9yLXNlbmRlcikNCj4gIAkobWVzc2FnZS1yZW1v dmUtaGVhZGVyICJSZWZlcmVuY2VzIikNCj4gIAkobWVzc2FnZS1hZGQtaGVhZGVyIChjb25jYXQg IlJlZmVyZW5jZXM6ICINCj4gIAkJCQkgICAgKG1hcGNvbmNhdCAnaWRlbnRpdHkgZm9yd2FyZC1y ZWZlcmVuY2VzICIgIikpKSkNCj4gLQ0KPiAgICAgICAgOzsgQ3JlYXRlIGEgYnVmZmVyLWxvY2Fs IHF1ZXVlIGZvciB0YWcgY2hhbmdlcyB0cmlnZ2VyZWQgd2hlbg0KPiAgICAgICAgOzsgc2VuZGlu ZyB0aGUgbWVzc2FnZS4NCj4gICAgICAgICh3aGVuIG5vdG11Y2gtbWVzc2FnZS1mb3J3YXJkZWQt dGFncw0KPiBAQCAtNTQxLDcgKzUxOCw2IEBAIChkZWZ1biBub3RtdWNoLW11YS1uZXctZm9yd2Fy ZC1tZXNzYWdlcyAobWVzc2FnZXMgJm9wdGlvbmFsIHByb21wdC1mb3Itc2VuZGVyKQ0KPiAgCQkg ICAgKGNsLWxvb3AgZm9yIGlkIGluIGZvcndhcmQtcXVlcmllcw0KPiAgCQkJICAgICBjb2xsZWN0 DQo+ICAJCQkgICAgIChjb25zIGlkIG5vdG11Y2gtbWVzc2FnZS1mb3J3YXJkZWQtdGFncykpKSkN Cj4gLQ0KPiAgICAgICAgOzsgYG1lc3NhZ2UtZm9yd2FyZC1tYWtlLWJvZHknIHNob3dzIHRoZSBV c2VyLWFnZW50IGhlYWRlci4gIEhpZGUNCj4gICAgICAgIDs7IGl0IGFnYWluLg0KPiAgICAgICAg KG1lc3NhZ2UtaGlkZS1oZWFkZXJzKQ0KPiBAQCAtNTUzLDcgKzUyOSw2IEBAIChkZWZ1biBub3Rt dWNoLW11YS1uZXctcmVwbHkgKHF1ZXJ5LXN0cmluZyAmb3B0aW9uYWwgcHJvbXB0LWZvci1zZW5k ZXIgcmVwbHktYWxsDQo+ICBJZiBQUk9NUFQtRk9SLVNFTkRFUiBpcyBub24tbmlsLCB0aGUgdXNl ciB3aWxsIGJlIHByb21wdGVkIGZvcg0KPiAgdGhlIEZyb206IGFkZHJlc3MgZmlyc3QuICBJZiBS RVBMWS1BTEwgaXMgbm9uLW5pbCwgdGhlIG1lc3NhZ2UNCj4gIHdpbGwgYmUgYWRkcmVzc2VkIHRv IGFsbCByZWNpcGllbnRzIG9mIHRoZSBzb3VyY2UgbWVzc2FnZS4iDQo+IC0NCj4gIDs7IEluIGN1 cnJlbnQgZW1hY3MgKDI0LjMpIHNlbGVjdC1hY3RpdmUtcmVnaW9ucyBpcyBzZXQgdG8gdCBieQ0K PiAgOzsgZGVmYXVsdC4gVGhlIHJlcGx5IGluc2VydGlvbiBjb2RlIHNldHMgdGhlIHJlZ2lvbiB0 byB0aGUgcXVvdGVkDQo+ICA7OyBtZXNzYWdlIHRvIG1ha2UgaXQgZWFzeSB0byBkZWxldGUgKGtp bGwtcmVnaW9uIG9yIEMtdykuIFRoZXNlIHR3bw0KPiBAQCAtNTY1LDcgKzU0MCw2IEBAIChkZWZ1 biBub3RtdWNoLW11YS1uZXctcmVwbHkgKHF1ZXJ5LXN0cmluZyAmb3B0aW9uYWwgcHJvbXB0LWZv ci1zZW5kZXIgcmVwbHktYWxsDQo+ICA7OyBwcmltYXJ5IHNlbGVjdGlvbiB3YXMgcHJldmlvdXNs eSBpbiBhIG5vbi1lbWFjcyB3aW5kb3cgYnV0IG5vdCBpZg0KPiAgOzsgaXQgd2FzIGluIGFuIGVt YWNzIHdpbmRvdy4gVG8gYXZvaWQgdGhlIHByb2JsZW0gaW4gdGhlIGxhdHRlciBjYXNlDQo+ICA7 OyB3ZSBkZWFjdGl2YXRlIG1hcmsuDQo+IC0NCj4gICAgKGxldCAoKHNlbmRlcg0KPiAgCSAod2hl biBwcm9tcHQtZm9yLXNlbmRlcg0KPiAgCSAgIChub3RtdWNoLW11YS1wcm9tcHQtZm9yLXNlbmRl cikpKQ0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1wYXJzZXIuZWwgYi9lbWFjcy9ub3Rt dWNoLXBhcnNlci5lbA0KPiBpbmRleCBkYzlmYmUyZi4uMDZlNzQ4N2IgMTAwNjQ0DQo+IC0tLSBh L2VtYWNzL25vdG11Y2gtcGFyc2VyLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtcGFyc2VyLmVs DQo+IEBAIC0zOCw3ICszOCw2IEBAIChkZWZ1biBub3RtdWNoLXNleHAtY3JlYXRlLXBhcnNlciAo KQ0KPiAgVGhlIHBhcnNlciBhbHdheXMgY29uc3VtZXMgaW5wdXQgZnJvbSBwb2ludCBpbiB0aGUg Y3VycmVudA0KPiAgYnVmZmVyLiAgSGVuY2UsIHRoZSBjYWxsZXIgaXMgYWxsb3dlZCB0byBkZWxl dGUgYW55IGRhdGEgYmVmb3JlDQo+ICBwb2ludCBhbmQgbWF5IHJlc3luY2hyb25pemUgYWZ0ZXIg YW4gZXJyb3IgYnkgbW92aW5nIHBvaW50LiINCj4gLQ0KPiAgICAodmVjdG9yICdub3RtdWNoLXNl eHAtcGFyc2VyDQo+ICAJICA7OyBMaXN0IGRlcHRoDQo+ICAJICAwDQo+IEBAIC02MCw3ICs1OSw2 IEBAIChkZWZ1biBub3RtdWNoLXNleHAtcmVhZCAoc3ApDQo+ICBsaXN0LCB0aGlzIG1vdmVzIHBv aW50IGp1c3QgcGFzdCB0aGUgdGVybWluYXRvciBhbmQgcmV0dXJucyAnZW5kLg0KPiAgT3RoZXJ3 aXNlLCB0aGlzIG1vdmVzIHBvaW50IHRvIGp1c3QgcGFzdCB0aGUgZW5kIG9mIHRoZSB2YWx1ZSBh bmQNCj4gIHJldHVybnMgdGhlIHZhbHVlLiINCj4gLQ0KPiAgICAoc2tpcC1jaGFycy1mb3J3YXJk ICIgXG5cclx0IikNCj4gICAgKGNvbmQgKChlb2JwKSAncmV0cnkpDQo+ICAJKCg9IChjaGFyLWFm dGVyKSA/XCkpDQo+IEBAIC0xMzQsNyArMTMyLDYgQEAgKGRlZnVuIG5vdG11Y2gtc2V4cC1iZWdp bi1saXN0IChzcCkNCj4gIHJldHVybnMgdC4gIExhdGVyIGNhbGxzIHRvIGBub3RtdWNoLXNleHAt cmVhZCcgd2lsbCByZXR1cm4gdGhlDQo+ICBlbGVtZW50cyBpbnNpZGUgdGhlIGxpc3QuICBJZiB0 aGUgaW5wdXQgaW4gYnVmZmVyIGlzIG5vdCB0aGUNCj4gIGJlZ2lubmluZyBvZiBhIGxpc3QsIHRo cm93IGludmFsaWQtcmVhZC1zeW50YXguIg0KPiAtDQo+ICAgIChza2lwLWNoYXJzLWZvcndhcmQg IiBcblxyXHQiKQ0KPiAgICAoY29uZCAoKGVvYnApICdyZXRyeSkNCj4gIAkoKD0gKGNoYXItYWZ0 ZXIpID9cKCkNCj4gQEAgLTE1MSw3ICsxNDgsNiBAQCAoZGVmdW4gbm90bXVjaC1zZXhwLWVvZiAo c3ApDQo+ICANCj4gIE1vdmVzIHBvaW50IHRvIHRoZSBiZWdpbm5pbmcgb2YgYW55IHRyYWlsaW5n IGRhdGEgb3IgdG8gdGhlIGVuZA0KPiAgb2YgdGhlIGJ1ZmZlciBpZiB0aGVyZSBpcyBvbmx5IHRy YWlsaW5nIHdoaXRlc3BhY2UuIg0KPiAtDQo+ICAgIChza2lwLWNoYXJzLWZvcndhcmQgIiBcblxy XHQiKQ0KPiAgICAodW5sZXNzIChlb2JwKQ0KPiAgICAgIChlcnJvciAiVHJhaWxpbmcgZ2FyYmFn ZSBmb2xsb3dpbmcgZXhwcmVzc2lvbiIpKSkNCj4gQEAgLTE3Myw3ICsxNjksNiBAQCAoZGVmdW4g bm90bXVjaC1zZXhwLXBhcnNlLXBhcnRpYWwtbGlzdCAocmVzdWx0LWZ1bmN0aW9uIHJlc3VsdC1i dWZmZXIpDQo+ICBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIGlucHV0IGJ1ZmZlciBoYXMgYmVlbiBl eHRlbmRlZCB3aXRoDQo+ICBhZGRpdGlvbmFsIGRhdGEuICBUaGUgY2FsbGVyIGp1c3QgbmVlZHMg dG8gZW5zdXJlIGl0IGRvZXMgbm90DQo+ICBtb3ZlIHBvaW50IGluIHRoZSBpbnB1dCBidWZmZXIu Ig0KPiAtDQo+ICAgIDs7IFNldCB1cCB0aGUgaW5pdGlhbCBzdGF0ZQ0KPiAgICAodW5sZXNzIChs b2NhbC12YXJpYWJsZS1wICdub3RtdWNoLXNleHAtLXBhcnNlcikNCj4gICAgICAoc2V0IChtYWtl LWxvY2FsLXZhcmlhYmxlICdub3RtdWNoLXNleHAtLXBhcnNlcikNCj4gZGlmZiAtLWdpdCBhL2Vt YWNzL25vdG11Y2gtc2hvdy5lbCBiL2VtYWNzL25vdG11Y2gtc2hvdy5lbA0KPiBpbmRleCAyNmI0 MTYwMy4uNmUyM2E5ODAgMTAwNjQ0DQo+IC0tLSBhL2VtYWNzL25vdG11Y2gtc2hvdy5lbA0KPiAr KysgYi9lbWFjcy9ub3RtdWNoLXNob3cuZWwNCj4gQEAgLTMyMCw3ICszMjAsNiBAQCAoZGVmdW4g bm90bXVjaC1zaG93LXdpdGgtbWVzc2FnZS1hcy10ZXh0IChmbikNCj4gIA0KPiAgRk4gaXMgY2Fs bGVkIHdpdGggb25lIGFyZ3VtZW50LCB0aGUgbWVzc2FnZSBwcm9wZXJ0aWVzLiBJdCBzaG91bGQN Cj4gIG9wZXJhdGlvbiBvbiB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgYnVmZmVyLiINCj4g LQ0KPiAgICA7OyBSZW1ha2UgdGhlIGhlYWRlciB0byBlbnN1cmUgdGhhdCBhbGwgaW5mb3JtYXRp b24gaXMgYXZhaWxhYmxlLg0KPiAgICAobGV0KiAoKHRvIChub3RtdWNoLXNob3ctZ2V0LXRvKSkN Cj4gIAkgKGNjIChub3RtdWNoLXNob3ctZ2V0LWNjKSkNCj4gQEAgLTMyOSw3ICszMjgsNiBAQCAo ZGVmdW4gbm90bXVjaC1zaG93LXdpdGgtbWVzc2FnZS1hcy10ZXh0IChmbikNCj4gIAkgKGRhdGUg KG5vdG11Y2gtc2hvdy1nZXQtZGF0ZSkpDQo+ICAJICh0YWdzIChub3RtdWNoLXNob3ctZ2V0LXRh Z3MpKQ0KPiAgCSAoZGVwdGggKG5vdG11Y2gtc2hvdy1nZXQtZGVwdGgpKQ0KPiAtDQo+ICAJICho ZWFkZXIgKGNvbmNhdA0KPiAgCQkgICJTdWJqZWN0OiAiIHN1YmplY3QgIlxuIg0KPiAgCQkgICJU bzogIiB0byAiXG4iDQo+IEBAIC0zNzUsNyArMzczLDYgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1m b250aWZ5LWhlYWRlciAoKQ0KPiAgCQknbWVzc2FnZS1oZWFkZXItc3ViamVjdCkNCj4gIAkgICAg ICAgKHQNCj4gIAkJJ21lc3NhZ2UtaGVhZGVyLW90aGVyKSkpKQ0KPiAtDQo+ICAgICAgKG92ZXJs YXktcHV0IChtYWtlLW92ZXJsYXkgKHBvaW50KSAocmUtc2VhcmNoLWZvcndhcmQgIjoiKSkNCj4g IAkJICdmYWNlICdtZXNzYWdlLWhlYWRlci1uYW1lKQ0KPiAgICAgIChvdmVybGF5LXB1dCAobWFr ZS1vdmVybGF5IChwb2ludCkgKHJlLXNlYXJjaC1mb3J3YXJkICIuKiQiKSkNCj4gQEAgLTQyMSwz OSArNDE4LDMwIEBAIChkZWZ1biBub3RtdWNoLWNsZWFuLWFkZHJlc3MgKGFkZHJlc3MpDQo+ICAg ICAgICAgKChzdHJpbmctbWF0Y2ggIlxcKC4qXFwpIDxcXCguKlxcKT4iIGFkZHJlc3MpDQo+ICAJ KHNldHEgcC1uYW1lIChtYXRjaC1zdHJpbmcgMSBhZGRyZXNzKQ0KPiAgCSAgICAgIHAtYWRkcmVz cyAobWF0Y2gtc3RyaW5nIDIgYWRkcmVzcykpKQ0KPiAtDQo+ICAgICAgICAgOzsgIjx1c2VyQGRv bS5haW4+IiBzdHlsZS4NCj4gICAgICAgICAoKHN0cmluZy1tYXRjaCAiPFxcKC4qXFwpPiIgYWRk cmVzcykNCj4gIAkoc2V0cSBwLWFkZHJlc3MgKG1hdGNoLXN0cmluZyAxIGFkZHJlc3MpKSkNCj4g LQ0KPiAgICAgICAgIDs7IEV2ZXJ5dGhpbmcgZWxzZS4NCj4gICAgICAgICAodA0KPiAgCShzZXRx IHAtYWRkcmVzcyBhZGRyZXNzKSkpDQo+IC0NCj4gICAgICAgICh3aGVuIHAtbmFtZQ0KPiAgCTs7 IFJlbW92ZSBlbGVtZW50cyBvZiB0aGUgbWFpbGJveCBwYXJ0IHRoYXQgYXJlIG5vdCByZWxldmFu dCBmb3INCj4gIAk7OyBkaXNwbGF5LCBldmVuIGlmIHRoZXkgYXJlIHJlcXVpcmVkIGR1cmluZyB0 cmFuc3BvcnQ6DQo+ICAJOzsNCj4gIAk7OyBCYWNrc2xhc2hlcy4NCj4gIAkoc2V0cSBwLW5hbWUg KHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAiXFxcXCIgIiIgcC1uYW1lKSkNCj4gLQ0KPiAgCTs7 IE91dGVyIHNpbmdsZSBhbmQgZG91YmxlIHF1b3Rlcywgd2hpY2ggbWlnaHQgYmUgbmVzdGVkLg0K PiAgCShjbC1sb29wIHdpdGggc3RhcnQtb2YtbG9vcA0KPiAtCQkgZG8gKHNldHEgc3RhcnQtb2Yt bG9vcCBwLW5hbWUpDQo+IC0NCj4gKwkJIGRvICAgKHNldHEgc3RhcnQtb2YtbG9vcCBwLW5hbWUp DQoNClRoZXNlIGNoYW5nZXMgaW4gc3BhY2VzIGFmdGVyIGBkb2AgSSBkb24ndCB1bmRlcnN0YW5k Li4uDQoNCk90aGVyd2lzZSBsb29rcyBnb29kLi4uDQoNClRvbWkNCg0KPiAgCQkgd2hlbiAoc3Ry aW5nLW1hdGNoICJeXCJcXCguKlxcKVwiJCIgcC1uYW1lKQ0KPiAtCQkgZG8gKHNldHEgcC1uYW1l IChtYXRjaC1zdHJpbmcgMSBwLW5hbWUpKQ0KPiAtDQo+ICsJCSBkbyAgIChzZXRxIHAtbmFtZSAo bWF0Y2gtc3RyaW5nIDEgcC1uYW1lKSkNCj4gIAkJIHdoZW4gKHN0cmluZy1tYXRjaCAiXidcXCgu KlxcKSckIiBwLW5hbWUpDQo+IC0JCSBkbyAoc2V0cSBwLW5hbWUgKG1hdGNoLXN0cmluZyAxIHAt bmFtZSkpDQo+IC0NCj4gKwkJIGRvICAgKHNldHEgcC1uYW1lIChtYXRjaC1zdHJpbmcgMSBwLW5h bWUpKQ0KPiAgCQkgdW50aWwgKHN0cmluZz0gc3RhcnQtb2YtbG9vcCBwLW5hbWUpKSkNCj4gLQ0K PiAgICAgICAgOzsgSWYgdGhlIGFkZHJlc3MgaXMgJ2Zvb0BiYXIuY29tIDxmb29AYmFyLmNvbT4n IHRoZW4gc2hvdyBqdXN0DQo+ICAgICAgICA7OyAnZm9vQGJhci5jb20nLg0KPiAgICAgICAgKHdo ZW4gKHN0cmluZz0gcC1uYW1lIHAtYWRkcmVzcykNCj4gIAkoc2V0cSBwLW5hbWUgbmlsKSkNCj4g LQ0KPiAgICAgICAgKGNvbnMgcC1hZGRyZXNzIHAtbmFtZSkpDQo+ICAgICAgKGVycm9yIChjb25z IGFkZHJlc3MgbmlsKSkpKQ0KPiAgDQo+IEBAIC01MTcsNyArNTA1LDYgQEAgKGRlZnVuIG5vdG11 Y2gtc2hvdy1pbnNlcnQtcGFydC1oZWFkZXIgKG50aCBjb250ZW50LXR5cGUgZGVjbGFyZWQtdHlw ZQ0KPiAgCQkJICAgICh1bmxlc3MgKHN0cmluZy1lcXVhbCBkZWNsYXJlZC10eXBlIGNvbnRlbnQt dHlwZSkNCj4gIAkJCSAgICAgIChjb25jYXQgIiAoYXMgIiBjb250ZW50LXR5cGUgIikiKSkNCj4g IAkJCSAgICBjb21tZW50KSkpDQo+IC0NCj4gICAgICAoc2V0cSBidXR0b24NCj4gIAkgIChpbnNl cnQtYnV0dG9uDQo+ICAJICAgKGNvbmNhdCAiWyAiIGJhc2UtbGFiZWwgIiBdIikNCj4gQEAgLTY1 OCwxNCArNjQ1LDEyIEBAIChkZWZ1biBub3RtdWNoLXNob3ctaW5zZXJ0LXBhcnQtbXVsdGlwYXJ0 L2FsdGVybmF0aXZlIChtc2cgcGFydCBjb250ZW50LXR5cGUgbnRoDQo+ICAoZGVmdW4gbm90bXVj aC1zaG93LWluc2VydC1wYXJ0LW11bHRpcGFydC9yZWxhdGVkIChtc2cgcGFydCBjb250ZW50LXR5 cGUgbnRoIGRlcHRoIGJ1dHRvbikNCj4gICAgKGxldCAoKGlubmVyLXBhcnRzIChwbGlzdC1nZXQg cGFydCA6Y29udGVudCkpDQo+ICAJKHN0YXJ0IChwb2ludCkpKQ0KPiAtDQo+ICAgICAgOzsgUmVu ZGVyIHRoZSBwcmltYXJ5IHBhcnQuICBGSVhNRTogU3VwcG9ydCBSRkMgMjM4NyBTdGFydCBoZWFk ZXIuDQo+ICAgICAgKG5vdG11Y2gtc2hvdy1pbnNlcnQtYm9keXBhcnQgbXNnIChjYXIgaW5uZXIt cGFydHMpIGRlcHRoKQ0KPiAgICAgIDs7IEFkZCBoaWRkZW4gYnV0dG9ucyBmb3IgdGhlIHJlc3QN Cj4gICAgICAobWFwYyAobGFtYmRhIChpbm5lci1wYXJ0KQ0KPiAgCSAgICAobm90bXVjaC1zaG93 LWluc2VydC1ib2R5cGFydCBtc2cgaW5uZXItcGFydCBkZXB0aCB0KSkNCj4gIAkgIChjZHIgaW5u ZXItcGFydHMpKQ0KPiAtDQo+ICAgICAgKHdoZW4gbm90bXVjaC1zaG93LWluZGVudC1tdWx0aXBh cnQNCj4gICAgICAgIChpbmRlbnQtcmlnaWRseSBzdGFydCAocG9pbnQpIDEpKSkNCj4gICAgdCkN Cj4gQEAgLTY3MywxOCArNjU4LDE1IEBAIChkZWZ1biBub3RtdWNoLXNob3ctaW5zZXJ0LXBhcnQt bXVsdGlwYXJ0L3JlbGF0ZWQgKG1zZyBwYXJ0IGNvbnRlbnQtdHlwZSBudGggZGVwDQo+ICAoZGVm dW4gbm90bXVjaC1zaG93LWluc2VydC1wYXJ0LW11bHRpcGFydC9zaWduZWQgKG1zZyBwYXJ0IGNv bnRlbnQtdHlwZSBudGggZGVwdGggYnV0dG9uKQ0KPiAgICAod2hlbiBidXR0b24NCj4gICAgICAo YnV0dG9uLXB1dCBidXR0b24gJ2ZhY2UgJ25vdG11Y2gtY3J5cHRvLXBhcnQtaGVhZGVyKSkNCj4g LQ0KPiAgICA7OyBJbnNlcnQgYSBidXR0b24gZGV0YWlsaW5nIHRoZSBzaWduYXR1cmUgc3RhdHVz Lg0KPiAgICAobm90bXVjaC1jcnlwdG8taW5zZXJ0LXNpZ3N0YXR1cy1idXR0b24gKGNhciAocGxp c3QtZ2V0IHBhcnQgOnNpZ3N0YXR1cykpDQo+ICAJCQkJCSAgKG5vdG11Y2gtc2hvdy1nZXQtaGVh ZGVyIDpGcm9tIG1zZykpDQo+IC0NCj4gICAgKGxldCAoKGlubmVyLXBhcnRzIChwbGlzdC1nZXQg cGFydCA6Y29udGVudCkpDQo+ICAJKHN0YXJ0IChwb2ludCkpKQ0KPiAgICAgIDs7IFNob3cgYWxs IG9mIHRoZSBwYXJ0cy4NCj4gICAgICAobWFwYyAobGFtYmRhIChpbm5lci1wYXJ0KQ0KPiAgCSAg ICAobm90bXVjaC1zaG93LWluc2VydC1ib2R5cGFydCBtc2cgaW5uZXItcGFydCBkZXB0aCkpDQo+ ICAJICBpbm5lci1wYXJ0cykNCj4gLQ0KPiAgICAgICh3aGVuIG5vdG11Y2gtc2hvdy1pbmRlbnQt bXVsdGlwYXJ0DQo+ICAgICAgICAoaW5kZW50LXJpZ2lkbHkgc3RhcnQgKHBvaW50KSAxKSkpDQo+ ICAgIHQpDQo+IEBAIC02OTIsMjEgKzY3NCwxNyBAQCAoZGVmdW4gbm90bXVjaC1zaG93LWluc2Vy dC1wYXJ0LW11bHRpcGFydC9zaWduZWQgKG1zZyBwYXJ0IGNvbnRlbnQtdHlwZSBudGggZGVwdA0K PiAgKGRlZnVuIG5vdG11Y2gtc2hvdy1pbnNlcnQtcGFydC1tdWx0aXBhcnQvZW5jcnlwdGVkICht c2cgcGFydCBjb250ZW50LXR5cGUgbnRoIGRlcHRoIGJ1dHRvbikNCj4gICAgKHdoZW4gYnV0dG9u DQo+ICAgICAgKGJ1dHRvbi1wdXQgYnV0dG9uICdmYWNlICdub3RtdWNoLWNyeXB0by1wYXJ0LWhl YWRlcikpDQo+IC0NCj4gICAgOzsgSW5zZXJ0IGEgYnV0dG9uIGRldGFpbGluZyB0aGUgZW5jcnlw dGlvbiBzdGF0dXMuDQo+ICAgIChub3RtdWNoLWNyeXB0by1pbnNlcnQtZW5jc3RhdHVzLWJ1dHRv biAoY2FyIChwbGlzdC1nZXQgcGFydCA6ZW5jc3RhdHVzKSkpDQo+IC0NCj4gICAgOzsgSW5zZXJ0 IGEgYnV0dG9uIGRldGFpbGluZyB0aGUgc2lnbmF0dXJlIHN0YXR1cy4NCj4gICAgKG5vdG11Y2gt Y3J5cHRvLWluc2VydC1zaWdzdGF0dXMtYnV0dG9uIChjYXIgKHBsaXN0LWdldCBwYXJ0IDpzaWdz dGF0dXMpKQ0KPiAgCQkJCQkgIChub3RtdWNoLXNob3ctZ2V0LWhlYWRlciA6RnJvbSBtc2cpKQ0K PiAtDQo+ICAgIChsZXQgKChpbm5lci1wYXJ0cyAocGxpc3QtZ2V0IHBhcnQgOmNvbnRlbnQpKQ0K PiAgCShzdGFydCAocG9pbnQpKSkNCj4gICAgICA7OyBTaG93IGFsbCBvZiB0aGUgcGFydHMuDQo+ ICAgICAgKG1hcGMgKGxhbWJkYSAoaW5uZXItcGFydCkNCj4gIAkgICAgKG5vdG11Y2gtc2hvdy1p bnNlcnQtYm9keXBhcnQgbXNnIGlubmVyLXBhcnQgZGVwdGgpKQ0KPiAgCSAgaW5uZXItcGFydHMp DQo+IC0NCj4gICAgICAod2hlbiBub3RtdWNoLXNob3ctaW5kZW50LW11bHRpcGFydA0KPiAgICAg ICAgKGluZGVudC1yaWdpZGx5IHN0YXJ0IChwb2ludCkgMSkpKQ0KPiAgICB0KQ0KPiBAQCAtNzIx LDcgKzY5OSw2IEBAIChkZWZ1biBub3RtdWNoLXNob3ctaW5zZXJ0LXBhcnQtbXVsdGlwYXJ0Lyog KG1zZyBwYXJ0IGNvbnRlbnQtdHlwZSBudGggZGVwdGggYnV0DQo+ICAgICAgKG1hcGMgKGxhbWJk YSAoaW5uZXItcGFydCkNCj4gIAkgICAgKG5vdG11Y2gtc2hvdy1pbnNlcnQtYm9keXBhcnQgbXNn IGlubmVyLXBhcnQgZGVwdGgpKQ0KPiAgCSAgaW5uZXItcGFydHMpDQo+IC0NCj4gICAgICAod2hl biBub3RtdWNoLXNob3ctaW5kZW50LW11bHRpcGFydA0KPiAgICAgICAgKGluZGVudC1yaWdpZGx5 IHN0YXJ0IChwb2ludCkgMSkpKQ0KPiAgICB0KQ0KPiBAQCAtNzMwLDE5ICs3MDcsMTUgQEAgKGRl ZnVuIG5vdG11Y2gtc2hvdy1pbnNlcnQtcGFydC1tZXNzYWdlL3JmYzgyMiAobXNnIHBhcnQgY29u dGVudC10eXBlIG50aCBkZXB0aA0KPiAgICAobGV0KiAoKG1lc3NhZ2UgKGNhciAocGxpc3QtZ2V0 IHBhcnQgOmNvbnRlbnQpKSkNCj4gIAkgKGJvZHkgKGNhciAocGxpc3QtZ2V0IG1lc3NhZ2UgOmJv ZHkpKSkNCj4gIAkgKHN0YXJ0IChwb2ludCkpKQ0KPiAtDQo+ICAgICAgOzsgT3ZlcnJpZGUgYG5v dG11Y2gtbWVzc2FnZS1oZWFkZXJzJyB0byBmb3JjZSBgRnJvbScgdG8gYmUNCj4gICAgICA7OyBk aXNwbGF5ZWQuDQo+ICAgICAgKGxldCAoKG5vdG11Y2gtbWVzc2FnZS1oZWFkZXJzICcoIkZyb20i ICJTdWJqZWN0IiAiVG8iICJDYyIgIkRhdGUiKSkpDQo+ICAgICAgICAobm90bXVjaC1zaG93LWlu c2VydC1oZWFkZXJzIChwbGlzdC1nZXQgbWVzc2FnZSA6aGVhZGVycykpKQ0KPiAtDQo+ICAgICAg OzsgQmxhbmsgbGluZSBhZnRlciBoZWFkZXJzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgbm9y bWFsDQo+ICAgICAgOzsgbWVzc2FnZSBkaXNwbGF5Lg0KPiAgICAgIChpbnNlcnQgIlxuIikNCj4g LQ0KPiAgICAgIDs7IFNob3cgdGhlIGJvZHkNCj4gICAgICAobm90bXVjaC1zaG93LWluc2VydC1i b2R5cGFydCBtc2cgYm9keSBkZXB0aCkNCj4gLQ0KPiAgICAgICh3aGVuIG5vdG11Y2gtc2hvdy1p bmRlbnQtbXVsdGlwYXJ0DQo+ICAgICAgICAoaW5kZW50LXJpZ2lkbHkgc3RhcnQgKHBvaW50KSAx KSkpDQo+ICAgIHQpDQo+IEBAIC04MjYsNyArNzk5LDYgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1p bnNlcnQtcGFydC10ZXh0L2h0bWwgKG1zZyBwYXJ0IGNvbnRlbnQtdHlwZSBudGggZGVwdGggYnV0 dG8NCj4gICAgICAgIDs7IEl0J3MgZWFzaWVyIHRvIGRyaXZlIHNociBvdXJzZWx2ZXMgdGhhbiB0 byB3b3JrIGFyb3VuZCB0aGUNCj4gICAgICAgIDs7IGdvb2Z5IHRoaW5ncyBgbW0tc2hyJyBkb2Vz IChsaWtlIGlycmV2ZXJzaWJseSB0YWtpbmcgb3Zlcg0KPiAgICAgICAgOzsgY29udGVudCBJRCBo YW5kbGluZykuDQo+IC0NCj4gICAgICAgIDs7IEZJWE1FOiBJZiB3ZSBibG9jayBhbiBpbWFnZSwg b2ZmZXIgYSBidXR0b24gdG8gbG9hZCBleHRlcm5hbA0KPiAgICAgICAgOzsgaW1hZ2VzLg0KPiAg ICAgICAgKGxldCAoKHNoci1ibG9ja2VkLWltYWdlcyBub3RtdWNoLXNob3ctdGV4dC9odG1sLWJs b2NrZWQtaW1hZ2VzKSkNCj4gQEAgLTkwMiw3ICs4NzQsNiBAQCAoZGVmdW4gbm90bXVjaC1zaG93 LWluc2VydC1ib2R5cGFydC1pbnRlcm5hbCAobXNnIHBhcnQgY29udGVudC10eXBlIG50aCBkZXB0 aCBidQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC1zaG93LWNyZWF0ZS1wYXJ0LW92ZXJsYXlzIChi dXR0b24gYmVnIGVuZCkNCj4gICAgIkFkZCBhbiBvdmVybGF5IHRvIHRoZSBwYXJ0IGJldHdlZW4g QkVHIGFuZCBFTkQuIg0KPiAtDQo+ICAgIDs7IElmIHRoZXJlIGlzIG5vIGJ1dHRvbiAoaS5lLiwg dGhlIHBhcnQgaXMgdGV4dC9wbGFpbiBhbmQgdGhlIGZpcnN0DQo+ICAgIDs7IHBhcnQpIG9yIGlm IHRoZSBwYXJ0IGhhcyBubyBjb250ZW50IHRoZW4gd2UgZG9uJ3QgbWFrZSB0aGUgcGFydA0KPiAg ICA7OyB0b2dnbGVhYmxlLg0KPiBAQCAtOTEzLDcgKzg4NCw2IEBAIChkZWZ1biBub3RtdWNoLXNo b3ctY3JlYXRlLXBhcnQtb3ZlcmxheXMgKGJ1dHRvbiBiZWcgZW5kKQ0KPiAgDQo+ICAoZGVmdW4g bm90bXVjaC1zaG93LXJlY29yZC1wYXJ0LWluZm9ybWF0aW9uIChwYXJ0IGJlZyBlbmQpDQo+ICAg ICJTdG9yZSBQQVJUIGFzIGEgdGV4dCBwcm9wZXJ0eSBmcm9tIEJFRyB0byBFTkQuIg0KPiAtDQo+ ICAgIDs7IFJlY29yZCBwYXJ0IGluZm9ybWF0aW9uLiAgU2luY2Ugd2UgYWxyZWFkeSBpbnNlcnRl ZCBzdWJwYXJ0cywNCj4gICAgOzsgZG9uJ3Qgb3ZlcnJpZGUgZXhpc3RpbmcgOm5vdG11Y2gtcGFy dCBwcm9wZXJ0aWVzLg0KPiAgICAobm90bXVjaC1tYXAtdGV4dC1wcm9wZXJ0eSBiZWcgZW5kIDpu b3RtdWNoLXBhcnQNCj4gQEAgLTEwMTEsNyArOTgxLDYgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1p bnNlcnQtYm9keXBhcnQgKG1zZyBwYXJ0IGRlcHRoICZvcHRpb25hbCBoaWRlKQ0KPiAgSElERSBk ZXRlcm1pbmVzIHdoZXRoZXIgdG8gc2hvdyBvciBoaWRlIHRoZSBwYXJ0IGFuZCB0aGUgYnV0dG9u DQo+ICBhcyBmb2xsb3dzOiBJZiBISURFIGlzIG5pbCwgc2hvdyB0aGUgcGFydCBhbmQgdGhlIGJ1 dHRvbi4gSWYgSElERQ0KPiAgaXMgdCwgaGlkZSB0aGUgcGFydCBpbml0aWFsbHkgYW5kIHNob3cg dGhlIGJ1dHRvbi4iDQo+IC0NCj4gICAgKGxldCogKChjb250ZW50LXR5cGUgKGRvd25jYXNlIChw bGlzdC1nZXQgcGFydCA6Y29udGVudC10eXBlKSkpDQo+ICAJIChtaW1lLXR5cGUgKG5vdG11Y2gt c2hvdy1taW1lLXR5cGUgcGFydCkpDQo+ICAJIChudGggKHBsaXN0LWdldCBwYXJ0IDppZCkpDQo+ IEBAIC0xMDMwLDE2ICs5OTksMTMgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1pbnNlcnQtYm9keXBh cnQgKG1zZyBwYXJ0IGRlcHRoICZvcHRpb25hbCBoaWRlKQ0KPiAgCSAoc2hvdy1wYXJ0IChub3Qg KG9yIChlcXVhbCBoaWRlIHQpDQo+ICAJCQkgICAgIChhbmQgbG9uZyBidXR0b24pKSkpDQo+ICAJ IChjb250ZW50LWJlZyAocG9pbnQpKSkNCj4gLQ0KPiAgICAgIDs7IFN0b3JlIHRoZSBjb21wdXRl ZCBtaW1lLXR5cGUgZm9yIGxhdGVyIHVzZSAoZS5nLiBieSBhdHRhY2htZW50IGhhbmRsZXJzKS4N Cj4gICAgICAocGxpc3QtcHV0IHBhcnQgOmNvbXB1dGVkLXR5cGUgbWltZS10eXBlKQ0KPiAtDQo+ ICAgICAgKGlmIHNob3ctcGFydA0KPiAgICAgICAgICAobm90bXVjaC1zaG93LWluc2VydC1ib2R5 cGFydC1pbnRlcm5hbCBtc2cgcGFydCBtaW1lLXR5cGUgbnRoIGRlcHRoIGJ1dHRvbikNCj4gICAg ICAgICh3aGVuIGJ1dHRvbg0KPiAgCShidXR0b24tcHV0IGJ1dHRvbiA6bm90bXVjaC1sYXp5LXBh cnQNCj4gIAkJICAgIChsaXN0IG1zZyBwYXJ0IG1pbWUtdHlwZSBudGggZGVwdGggYnV0dG9uKSkp KQ0KPiAtDQo+ICAgICAgOzsgU29tZSBvZiB0aGUgYm9keSBwYXJ0IGhhbmRsZXJzIGxlYXZlIHBv aW50IHNvbWV3aGVyZSB1cCBpbiB0aGUNCj4gICAgICA7OyBwYXJ0LCBzbyB3ZSBtYWtlIHN1cmUg dGhhdCB3ZSdyZSBkb3duIGF0IHRoZSBlbmQuDQo+ICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4 KSkNCj4gQEAgLTEwNTYsMTIgKzEwMjIsMTAgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1pbnNlcnQt Ym9keXBhcnQgKG1zZyBwYXJ0IGRlcHRoICZvcHRpb25hbCBoaWRlKQ0KPiAgDQo+ICAoZGVmdW4g bm90bXVjaC1zaG93LWluc2VydC1ib2R5IChtc2cgYm9keSBkZXB0aCkNCj4gICAgIkluc2VydCB0 aGUgYm9keSBCT0RZIGF0IGRlcHRoIERFUFRIIGluIHRoZSBjdXJyZW50IHRocmVhZC4iDQo+IC0N Cj4gICAgOzsgUmVnaXN0ZXIgYWxsIGNvbnRlbnQgSURzIGZvciB0aGlzIG1lc3NhZ2UuICBBY2Nv cmRpbmcgdG8gUkZDDQo+ICAgIDs7IDIzOTIsIGNvbnRlbnQgSURzIGFyZSAqZ2xvYmFsKiwgYnV0 IGl0J3Mgb2theSBpZiBhbiBNVUEgdHJlYXRzDQo+ICAgIDs7IHRoZW0gYXMgb25seSBnbG9iYWwg d2l0aGluIGEgbWVzc2FnZS4NCj4gICAgKG5vdG11Y2gtc2hvdy0tcmVnaXN0ZXItY2lkcyBtc2cg KGNhciBib2R5KSkNCj4gLQ0KPiAgICAobWFwYyAobGFtYmRhIChwYXJ0KSAobm90bXVjaC1zaG93 LWluc2VydC1ib2R5cGFydCBtc2cgcGFydCBkZXB0aCkpIGJvZHkpKQ0KPiAgDQo+ICAoZGVmdW4g bm90bXVjaC1zaG93LW1ha2Utc3ltYm9sICh0eXBlKQ0KPiBAQCAtMTA4MiwxOCArMTA0NiwxNCBA QCAoZGVmdW4gbm90bXVjaC1zaG93LWluc2VydC1tc2cgKG1zZyBkZXB0aCkNCj4gIAkgY29udGVu dC1zdGFydCBjb250ZW50LWVuZA0KPiAgCSBoZWFkZXJzLXN0YXJ0IGhlYWRlcnMtZW5kDQo+ICAJ IChiYXJlLXN1YmplY3QgKG5vdG11Y2gtc2hvdy1zdHJpcC1yZSAocGxpc3QtZ2V0IGhlYWRlcnMg OlN1YmplY3QpKSkpDQo+IC0NCj4gICAgICAoc2V0cSBtZXNzYWdlLXN0YXJ0IChwb2ludC1tYXJr ZXIpKQ0KPiAtDQo+ICAgICAgKG5vdG11Y2gtc2hvdy1pbnNlcnQtaGVhZGVybGluZSBoZWFkZXJz DQo+ICAJCQkJICAgIChvciAoaWYgbm90bXVjaC1zaG93LXJlbGF0aXZlLWRhdGVzDQo+ICAJCQkJ CSAgICAocGxpc3QtZ2V0IG1zZyA6ZGF0ZV9yZWxhdGl2ZSkNCj4gIAkJCQkJICBuaWwpDQo+ICAJ CQkJCShwbGlzdC1nZXQgaGVhZGVycyA6RGF0ZSkpDQo+ICAJCQkJICAgIChwbGlzdC1nZXQgbXNn IDp0YWdzKSBkZXB0aCkNCj4gLQ0KPiAgICAgIChzZXRxIGNvbnRlbnQtc3RhcnQgKHBvaW50LW1h cmtlcikpDQo+IC0NCj4gICAgICA7OyBTZXQgYGhlYWRlcnMtc3RhcnQnIHRvIHBvaW50IGFmdGVy IHRoZSAnU3ViamVjdDonIGhlYWRlciB0byBiZQ0KPiAgICAgIDs7IGNvbXBhdGlibGUgd2l0aCB0 aGUgZXhpc3RpbmcgaW1wbGVtZW50YXRpb24uIFRoaXMganVzdCBzZXRzIGl0DQo+ICAgICAgOzsg dG8gYWZ0ZXIgdGhlIGZpcnN0IGhlYWRlci4NCj4gQEAgLTExMDgsOSArMTA2OCw3IEBAIChkZWZ1 biBub3RtdWNoLXNob3ctaW5zZXJ0LW1zZyAobXNnIGRlcHRoKQ0KPiAgCShmb3J3YXJkLWxpbmUg MSkpDQo+ICAgICAgICAoc2V0cSBoZWFkZXJzLXN0YXJ0IChwb2ludC1tYXJrZXIpKSkNCj4gICAg ICAoc2V0cSBoZWFkZXJzLWVuZCAocG9pbnQtbWFya2VyKSkNCj4gLQ0KPiAgICAgIChzZXRxIG5v dG11Y2gtc2hvdy1wcmV2aW91cy1zdWJqZWN0IGJhcmUtc3ViamVjdCkNCj4gLQ0KPiAgICAgIDs7 IEEgYmxhbmsgbGluZSBiZXR3ZWVuIHRoZSBoZWFkZXJzIGFuZCB0aGUgYm9keS4NCj4gICAgICAo aW5zZXJ0ICJcbiIpDQo+ICAgICAgKG5vdG11Y2gtc2hvdy1pbnNlcnQtYm9keSBtc2cgKHBsaXN0 LWdldCBtc2cgOmJvZHkpDQo+IEBAIC0xMTE5LDM2ICsxMDc3LDI4IEBAIChkZWZ1biBub3RtdWNo LXNob3ctaW5zZXJ0LW1zZyAobXNnIGRlcHRoKQ0KPiAgICAgICh1bmxlc3MgKGJvbHApDQo+ICAg ICAgICAoaW5zZXJ0ICJcbiIpKQ0KPiAgICAgIChzZXRxIGNvbnRlbnQtZW5kIChwb2ludC1tYXJr ZXIpKQ0KPiAtDQo+ICAgICAgOzsgSW5kZW50IGFjY29yZGluZyB0byB0aGUgZGVwdGggaW4gdGhl IHRocmVhZC4NCj4gICAgICAoaWYgbm90bXVjaC1zaG93LWluZGVudC1jb250ZW50DQo+ICAJKGlu ZGVudC1yaWdpZGx5IGNvbnRlbnQtc3RhcnQNCj4gIAkJCWNvbnRlbnQtZW5kDQo+ICAJCQkoKiBu b3RtdWNoLXNob3ctaW5kZW50LW1lc3NhZ2VzLXdpZHRoIGRlcHRoKSkpDQo+IC0NCj4gICAgICAo c2V0cSBtZXNzYWdlLWVuZCAocG9pbnQtbWF4LW1hcmtlcikpDQo+IC0NCj4gICAgICA7OyBTYXZl IHRoZSBleHRlbnRzIG9mIHRoaXMgbWVzc2FnZSBvdmVyIHRoZSB3aG9sZSB0ZXh0IG9mIHRoZQ0K PiAgICAgIDs7IG1lc3NhZ2UuDQo+ICAgICAgKHB1dC10ZXh0LXByb3BlcnR5IG1lc3NhZ2Utc3Rh cnQgbWVzc2FnZS1lbmQNCj4gIAkJICAgICAgIDpub3RtdWNoLW1lc3NhZ2UtZXh0ZW50DQo+ICAJ CSAgICAgICAoY29ucyBtZXNzYWdlLXN0YXJ0IG1lc3NhZ2UtZW5kKSkNCj4gLQ0KPiAgICAgIDs7 IENyZWF0ZSBvdmVybGF5cyB1c2VkIHRvIGNvbnRyb2wgdmlzaWJpbGl0eQ0KPiAgICAgIChwbGlz dC1wdXQgbXNnIDpoZWFkZXJzLW92ZXJsYXkgKG1ha2Utb3ZlcmxheSBoZWFkZXJzLXN0YXJ0IGhl YWRlcnMtZW5kKSkNCj4gICAgICAocGxpc3QtcHV0IG1zZyA6bWVzc2FnZS1vdmVybGF5IChtYWtl LW92ZXJsYXkgaGVhZGVycy1zdGFydCBjb250ZW50LWVuZCkpDQo+IC0NCj4gICAgICAocGxpc3Qt cHV0IG1zZyA6ZGVwdGggZGVwdGgpDQo+IC0NCj4gICAgICA7OyBTYXZlIHRoZSBwcm9wZXJ0aWVz IGZvciB0aGlzIG1lc3NhZ2UuIEN1cnJlbnRseSB0aGlzIHNhdmVzIHRoZQ0KPiAgICAgIDs7IGVu dGlyZSBtZXNzYWdlIChhdWdtZW50ZWQgaXQgd2l0aCBvdGhlciBzdHVmZiksIHdoaWNoIHNlZW1z DQo+ICAgICAgOzsgbGlrZSBvdmVya2lsbC4gV2UgbWlnaHQgc2F2ZSBhIHJlZHVjZWQgc3Vic2V0 IChmb3IgZXhhbXBsZSwgbm90DQo+ICAgICAgOzsgdGhlIGNvbnRlbnQpLg0KPiAgICAgIChub3Rt dWNoLXNob3ctc2V0LW1lc3NhZ2UtcHJvcGVydGllcyBtc2cpDQo+IC0NCj4gICAgICA7OyBTZXQg aGVhZGVyIHZpc2liaWxpdHkuDQo+ICAgICAgKG5vdG11Y2gtc2hvdy1oZWFkZXJzLXZpc2libGUg bXNnIG5vdG11Y2gtbWVzc2FnZS1oZWFkZXJzLXZpc2libGUpDQo+IC0NCj4gICAgICA7OyBNZXNz YWdlIHZpc2liaWxpdHkgZGVwZW5kcyBvbiB3aGV0aGVyIGl0IG1hdGNoZWQgdGhlIHNlYXJjaA0K PiAgICAgIDs7IGNyaXRlcmlhLg0KPiAgICAgIChub3RtdWNoLXNob3ctbWVzc2FnZS12aXNpYmxl IG1zZyAoYW5kIChwbGlzdC1nZXQgbXNnIDptYXRjaCkNCj4gQEAgLTEyOTYsOSArMTI0Niw3IEBA IChkZWZ1biBub3RtdWNoLXNob3cgKHRocmVhZC1pZCAmb3B0aW9uYWwgZWxpZGUtdG9nZ2xlIHBh cmVudC1idWZmZXIgcXVlcnktY29udGV4DQo+ICAgICAgKHN3aXRjaC10by1idWZmZXIgKGdldC1i dWZmZXItY3JlYXRlIGJ1ZmZlci1uYW1lKSkNCj4gICAgICA7OyBObyBuZWVkIHRvIHRyYWNrIHVu ZG8gaW5mb3JtYXRpb24gZm9yIHRoaXMgYnVmZmVyLg0KPiAgICAgIChzZXRxIGJ1ZmZlci11bmRv LWxpc3QgdCkNCj4gLQ0KPiAgICAgIChub3RtdWNoLXNob3ctbW9kZSkNCj4gLQ0KPiAgICAgIDs7 IFNldCB2YXJpb3VzIGJ1ZmZlciBsb2NhbCB2YXJpYWJsZXMgdG8gdGhlaXIgYXBwcm9wcmlhdGUg aW5pdGlhbA0KPiAgICAgIDs7IHN0YXRlLiBEbyB0aGlzIGFmdGVyIGVuYWJsaW5nIGBub3RtdWNo LXNob3ctbW9kZScgc28gdGhhdCB0aGV5DQo+ICAgICAgOzsgYXJlbid0IHdpcGVkIG91dC4NCj4g QEAgLTEzMDcsMjQgKzEyNTUsMTkgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdyAodGhyZWFkLWlkICZv cHRpb25hbCBlbGlkZS10b2dnbGUgcGFyZW50LWJ1ZmZlciBxdWVyeS1jb250ZXgNCj4gIAkgIG5v dG11Y2gtc2hvdy1xdWVyeS1jb250ZXh0IChpZiAob3IgKHN0cmluZz0gcXVlcnktY29udGV4dCAi IikNCj4gIAkJCQkJICAgICAoc3RyaW5nPSBxdWVyeS1jb250ZXh0ICIqIikpDQo+ICAJCQkJCSBu aWwgcXVlcnktY29udGV4dCkNCj4gLQ0KPiAgCSAgbm90bXVjaC1zaG93LXByb2Nlc3MtY3J5cHRv IG5vdG11Y2gtY3J5cHRvLXByb2Nlc3MtbWltZQ0KPiAgCSAgOzsgSWYgYGVsaWRlLXRvZ2dsZScs IGludmVydCB0aGUgZGVmYXVsdCB2YWx1ZS4NCj4gIAkgIG5vdG11Y2gtc2hvdy1lbGlkZS1ub24t bWF0Y2hpbmctbWVzc2FnZXMNCj4gIAkgIChpZiBlbGlkZS10b2dnbGUNCj4gIAkgICAgICAobm90 IG5vdG11Y2gtc2hvdy1vbmx5LW1hdGNoaW5nLW1lc3NhZ2VzKQ0KPiAgCSAgICBub3RtdWNoLXNo b3ctb25seS1tYXRjaGluZy1tZXNzYWdlcykpDQo+IC0NCj4gICAgICAoYWRkLWhvb2sgJ3Bvc3Qt Y29tbWFuZC1ob29rICMnbm90bXVjaC1zaG93LWNvbW1hbmQtaG9vayBuaWwgdCkNCj4gICAgICAo aml0LWxvY2stcmVnaXN0ZXIgIydub3RtdWNoLXNob3ctYnV0dG9uaXNlLWxpbmtzKQ0KPiAtDQo+ ICAgICAgKG5vdG11Y2gtdGFnLWNsZWFyLWNhY2hlKQ0KPiAtDQo+ICAgICAgKGxldCAoKGluaGli aXQtcmVhZC1vbmx5IHQpKQ0KPiAgICAgICAgKGlmIChub3RtdWNoLXNob3ctLWJ1aWxkLWJ1ZmZl cikNCj4gIAkgIDs7IE1lc3NhZ2VzIHdlcmUgaW5zZXJ0ZWQgaW50byB0aGUgYnVmZmVyLg0KPiAg CSAgKGN1cnJlbnQtYnVmZmVyKQ0KPiAtDQo+ICAJOzsgTm8gbWVzc2FnZXMgd2VyZSBpbnNlcnRl ZCAtIHByZXN1bWFibHkgbm9uZSBtYXRjaGVkIHRoZQ0KPiAgCTs7IHF1ZXJ5Lg0KPiAgCShraWxs LWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKQ0KPiBAQCAtMTM2NywyNiArMTMxMCwyMSBAQCAoZGVm dW4gbm90bXVjaC1zaG93LS1idWlsZC1idWZmZXIgKCZvcHRpb25hbCBzdGF0ZSkNCj4gICAgICAg IChzZXRxIHF1ZXJpZXMgKGNkciBxdWVyaWVzKSkpDQo+ICAgICAgKHdoZW4gZm9yZXN0DQo+ICAg ICAgICAobm90bXVjaC1zaG93LWluc2VydC1mb3Jlc3QgZm9yZXN0KQ0KPiAtDQo+ICAgICAgICA7 OyBTdG9yZSB0aGUgb3JpZ2luYWwgdGFncyBmb3IgZWFjaCBtZXNzYWdlIHNvIHRoYXQgd2UgY2Fu DQo+ICAgICAgICA7OyBkaXNwbGF5IGNoYW5nZXMuDQo+ICAgICAgICAobm90bXVjaC1zaG93LW1h cGMNCj4gICAgICAgICAobGFtYmRhICgpIChub3RtdWNoLXNob3ctc2V0LXByb3AgOm9yaWctdGFn cyAobm90bXVjaC1zaG93LWdldC10YWdzKSkpKQ0KPiAtDQo+ICAgICAgICA7OyBTZXQgdGhlIGhl YWRlciBsaW5lIHRvIHRoZSBzdWJqZWN0IG9mIHRoZSBmaXJzdCBtZXNzYWdlLg0KPiAgICAgICAg KHNldHEgaGVhZGVyLWxpbmUtZm9ybWF0DQo+ICAJICAgIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJp bmcgIiUiICIlJSINCj4gIAkJCQkgICAgICAobm90bXVjaC1zYW5pdGl6ZQ0KPiAgCQkJCSAgICAg ICAobm90bXVjaC1zaG93LXN0cmlwLXJlDQo+ICAJCQkJCShub3RtdWNoLXNob3ctZ2V0LXN1Ympl Y3QpKSkpKQ0KPiAtDQo+ICAgICAgICAocnVuLWhvb2tzICdub3RtdWNoLXNob3ctaG9vaykNCj4g LQ0KPiAgICAgICAgKGlmIHN0YXRlDQo+ICAJICAobm90bXVjaC1zaG93LWFwcGx5LXN0YXRlIHN0 YXRlKQ0KPiAgCTs7IFdpdGggbm8gc3RhdGUgdG8gYXBwbHksIGp1c3QgZ28gdG8gdGhlIGZpcnN0 IG1lc3NhZ2UuDQo+ICAJKG5vdG11Y2gtc2hvdy1nb3RvLWZpcnN0LXdhbnRlZC1tZXNzYWdlKSkp DQo+IC0NCj4gICAgICA7OyBSZXBvcnQgYmFjayB0byB0aGUgY2FsbGVyIHdoZXRoZXIgYW55IG1l c3NhZ2VzIG1hdGNoZWQuDQo+ICAgICAgZm9yZXN0KSkNCj4gIA0KPiBAQCAtMTQzMSwxNCArMTM2 OSwxMiBAQCAoZGVmdW4gbm90bXVjaC1zaG93LWFwcGx5LXN0YXRlIChzdGF0ZSkNCj4gICAtIG1v dmluZyB0byB0aGUgY29ycmVjdCBjdXJyZW50IG1lc3NhZ2UgaW4gZXZlcnkgZGlzcGxheWVkIHdp bmRvdy4iDQo+ICAgIChsZXQgKCh3aW4tbXNnLWFsaXN0IChjYXIgc3RhdGUpKQ0KPiAgCShvcGVu IChjYWRyIHN0YXRlKSkpDQo+IC0NCj4gICAgICA7OyBPcGVuIHRob3NlIHRoYXQgd2VyZSBvcGVu Lg0KPiAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQo+ICAgICAgKGNsLWxvb3AgZG8gKG5v dG11Y2gtc2hvdy1tZXNzYWdlLXZpc2libGUNCj4gIAkJIChub3RtdWNoLXNob3ctZ2V0LW1lc3Nh Z2UtcHJvcGVydGllcykNCj4gIAkJIChtZW1iZXIgKG5vdG11Y2gtc2hvdy1nZXQtbWVzc2FnZS1p ZCkgb3BlbikpDQo+ICAJICAgICB1bnRpbCAobm90IChub3RtdWNoLXNob3ctZ290by1tZXNzYWdl LW5leHQpKSkNCj4gLQ0KPiAgICAgIChkb2xpc3QgKHdpbi1tc2ctcGFpciB3aW4tbXNnLWFsaXN0 KQ0KPiAgICAgICAgKHdpdGgtc2VsZWN0ZWQtd2luZG93IChjYXIgd2luLW1zZy1wYWlyKQ0KPiAg CTs7IEdvIHRvIHRoZSBwcmV2aW91c2x5IG9wZW4gbWVzc2FnZSBpbiB0aGlzIHdpbmRvdw0KPiBA QCAtMTQ2MCw3ICsxMzk2LDYgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1yZWZyZXNoLXZpZXcgKCZv cHRpb25hbCByZXNldC1zdGF0ZSkNCj4gICAgICA7OyBtYW51YWxseS4NCj4gICAgICAocmVtb3Zl LW92ZXJsYXlzKQ0KPiAgICAgIChlcmFzZS1idWZmZXIpDQo+IC0NCj4gICAgICAodW5sZXNzIChu b3RtdWNoLXNob3ctLWJ1aWxkLWJ1ZmZlciBzdGF0ZSkNCj4gICAgICAgIDs7IE5vIG1lc3NhZ2Vz IHdlcmUgaW5zZXJ0ZWQuDQo+ICAgICAgICAoa2lsbC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkN Cj4gQEAgLTE4ODEsMTYgKzE4MTYsMTMgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1hZHZhbmNlICgp DQo+ICAJICAgKD4gdmlzaWJsZS1lbmQtb2YtdGhpcy1tZXNzYWdlICh3aW5kb3ctZW5kKSkpDQo+ ICAgICAgICA7OyBUaGUgYm90dG9tIG9mIHRoaXMgbWVzc2FnZSBpcyBub3QgdmlzaWJsZSAtIHNj cm9sbC4NCj4gICAgICAgIChzY3JvbGwtdXAgbmlsKSkNCj4gLQ0KPiAgICAgICAoKG5vdCAoPSBl bmQtb2YtdGhpcy1tZXNzYWdlIChwb2ludC1tYXgpKSkNCj4gICAgICAgIDs7IFRoaXMgaXMgbm90 IHRoZSBsYXN0IG1lc3NhZ2UgLSBtb3ZlIHRvIHRoZSBuZXh0IHZpc2libGUgb25lLg0KPiAgICAg ICAgKG5vdG11Y2gtc2hvdy1uZXh0LW9wZW4tbWVzc2FnZSkpDQo+IC0NCj4gICAgICAgKChub3Qg KD0gKHBvaW50KSAocG9pbnQtbWF4KSkpDQo+ICAgICAgICA7OyBUaGlzIGlzIHRoZSBsYXN0IG1l c3NhZ2UsIGJ1dCB0aGUgY3Vyc29yIGlzIG5vdCBhdCB0aGUgZW5kIG9mDQo+ICAgICAgICA7OyB0 aGUgYnVmZmVyLiBNb3ZlIGl0IHRoZXJlLg0KPiAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4 KSkpDQo+IC0NCj4gICAgICAgKHQNCj4gICAgICAgIDs7IFRoaXMgaXMgdGhlIGxhc3QgbWVzc2Fn ZSAtIGNoYW5nZSB0aGUgcmV0dXJuIHZhbHVlDQo+ICAgICAgICAoc2V0cSByZXQgdCkpKQ0KPiBA QCAtMjUyNyw3ICsyNDU5LDYgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy1waXBlLXBhcnQgKCkNCj4g ICAgKGludGVyYWN0aXZlKQ0KPiAgICAobm90bXVjaC1zaG93LWFwcGx5LXRvLWN1cnJlbnQtcGFy dC1oYW5kbGUgIydtbS1waXBlLXBhcnQpKQ0KPiAgDQo+IC0NCj4gIChkZWZ1biBub3RtdWNoLXNo b3ctLW1tLWRpc3BsYXktcGFydCAoaGFuZGxlKQ0KPiAgICAiVXNlIG1tLWRpc3BsYXktcGFydCB0 byBkaXNwbGF5IEhBTkRMRSBpbiBhIG5ldyBidWZmZXIuDQo+ICANCj4gZGlmZiAtLWdpdCBhL2Vt YWNzL25vdG11Y2gtdGFnLmVsIGIvZW1hY3Mvbm90bXVjaC10YWcuZWwNCj4gaW5kZXggMzRjZDQ5 M2EuLjg1YzgwZjU0IDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLXRhZy5lbA0KPiArKysg Yi9lbWFjcy9ub3RtdWNoLXRhZy5lbA0KPiBAQCAtMzMxLDcgKzMzMSw2IEBAIChkZWZ1biBub3Rt dWNoLXRhZy1mb3JtYXQtdGFnICh0YWdzIG9yaWctdGFncyB0YWcpDQo+ICAJCSAgICAob3RoZXJ3 aXNlIG5pbCkpKSkNCj4gIAkoc2V0cSBmb3JtYXR0ZWQtdGFnIChub3RtdWNoLXRhZy0tZG8tZm9y bWF0IHRhZyB0YWcgYmFzZSkpDQo+ICAJKHNldHEgZm9ybWF0dGVkLXRhZyAobm90bXVjaC10YWct LWRvLWZvcm1hdCB0YWcgZm9ybWF0dGVkLXRhZyBvdmVyKSkNCj4gLQ0KPiAgCShwdXRoYXNoIChj b25zIHRhZyB0YWctc3RhdGUpIGZvcm1hdHRlZC10YWcgbm90bXVjaC10YWctLWZvcm1hdC1jYWNo ZSkpKQ0KPiAgICAgIGZvcm1hdHRlZC10YWcpKQ0KPiAgDQo+IEBAIC0zNTYsNyArMzU1LDYgQEAg KGRlZmN1c3RvbSBub3RtdWNoLWJlZm9yZS10YWctaG9vayBuaWwNCj4gIGEgbGlzdCBvZiBzdHJp bmdzIG9mIHRoZSBmb3JtIFwiK1RBR1wiIG9yIFwiLVRBR1wiLg0KPiAgJ3F1ZXJ5JyB3aWxsIGJl IGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHNlYXJjaCBxdWVyeSB0aGF0IGRldGVybWluZXMNCj4g IHRoZSBtZXNzYWdlcyB0aGF0IGFyZSBhYm91dCB0byBiZSB0YWdnZWQuIg0KPiAtDQo+ICAgIDp0 eXBlICdob29rDQo+ICAgIDpvcHRpb25zICcobm90bXVjaC1obC1saW5lLW1vZGUpDQo+ICAgIDpn cm91cCAnbm90bXVjaC1ob29rcykNCj4gQEAgLTQwNiw3ICs0MDQsNiBAQCAoZGVmdW4gbm90bXVj aC1yZWFkLXRhZy1jaGFuZ2VzIChjdXJyZW50LXRhZ3MgJm9wdGlvbmFsIHByb21wdCBpbml0aWFs LWlucHV0KQ0KPiAgbm9uLW5pbCwgaXMgdGhlIHF1ZXJ5IHN0cmluZyB0byBwcmVzZW50IGluIHRo ZSBtaW5pYnVmZmVyLiAgSXQNCj4gIGRlZmF1bHRzIHRvIFwiVGFnc1wiLiAgSU5JVElBTC1JTlBV VCwgaWYgbm9uLW5pbCwgd2lsbCBiZSB0aGUNCj4gIGluaXRpYWwgaW5wdXQgaW4gdGhlIG1pbmli dWZmZXIuIg0KPiAtDQo+ICAgIChsZXQqICgoYWxsLXRhZy1saXN0IChub3RtdWNoLXRhZy1jb21w bGV0aW9ucykpDQo+ICAJIChhZGQtdGFnLWxpc3QgKG1hcGNhciAoYXBwbHktcGFydGlhbGx5ICdj b25jYXQgIisiKSBhbGwtdGFnLWxpc3QpKQ0KPiAgCSAocmVtb3ZlLXRhZy1saXN0IChtYXBjYXIg KGFwcGx5LXBhcnRpYWxseSAnY29uY2F0ICItIikgY3VycmVudC10YWdzKSkNCj4gZGlmZiAtLWdp dCBhL2VtYWNzL25vdG11Y2gtdHJlZS5lbCBiL2VtYWNzL25vdG11Y2gtdHJlZS5lbA0KPiBpbmRl eCBmY2ZiOTcyZC4uZDkwZjJhYTAgMTAwNjQ0DQo+IC0tLSBhL2VtYWNzL25vdG11Y2gtdHJlZS5l bA0KPiArKysgYi9lbWFjcy9ub3RtdWNoLXRyZWUuZWwNCj4gQEAgLTg5MSw3ICs4OTEsNiBAQCAo ZGVmdW4gbm90bXVjaC10cmVlLWluc2VydC10cmVlICh0cmVlIGRlcHRoIHRyZWUtc3RhdHVzIGZp cnN0IGxhc3QpDQo+ICBtZXNzYWdlIHRvZ2V0aGVyIHdpdGggYWxsIGl0cyBkZXNjZW5kZW50cy4i DQo+ICAgIChsZXQgKChtc2cgKGNhciB0cmVlKSkNCj4gIAkocmVwbGllcyAoY2FkciB0cmVlKSkp DQo+IC0NCj4gICAgICAgIChjb25kDQo+ICAgICAgICAgKChhbmQgKDwgMCBkZXB0aCkgKG5vdCBs YXN0KSkNCj4gIAkocHVzaCAi4pScIiB0cmVlLXN0YXR1cykpDQo+IEBAIC05MDcsNyArOTA2LDYg QEAgKGRlZnVuIG5vdG11Y2gtdHJlZS1pbnNlcnQtdHJlZSAodHJlZSBkZXB0aCB0cmVlLXN0YXR1 cyBmaXJzdCBsYXN0KQ0KPiAgCShwdXNoICLilbAiIHRyZWUtc3RhdHVzKSkNCj4gICAgICAgICAo KGFuZCAoZXEgMCBkZXB0aCkgKG5vdCBmaXJzdCkgKG5vdCBsYXN0KSkNCj4gIAkocHVzaCAi4pSc IiB0cmVlLXN0YXR1cykpKQ0KPiAtDQo+ICAgICAgICAocHVzaCAoY29uY2F0IChpZiByZXBsaWVz ICLilKwiICLilIAiKSAi4pa6IikgdHJlZS1zdGF0dXMpDQo+ICAgICAgICAoc2V0cSBtc2cgKHBs aXN0LXB1dCBtc2cgOmZpcnN0IChhbmQgZmlyc3QgKGVxIDAgZGVwdGgpKSkpDQo+ICAgICAgICAo c2V0cSBtc2cgKHBsaXN0LXB1dCBtc2cgOnRyZWUtc3RhdHVzIHRyZWUtc3RhdHVzKSkNCj4gQEAg LTkxNSwxMSArOTEzLDkgQEAgKGRlZnVuIG5vdG11Y2gtdHJlZS1pbnNlcnQtdHJlZSAodHJlZSBk ZXB0aCB0cmVlLXN0YXR1cyBmaXJzdCBsYXN0KQ0KPiAgICAgICAgKG5vdG11Y2gtdHJlZS1nb3Rv LWFuZC1pbnNlcnQtbXNnIG1zZykNCj4gICAgICAgIChwb3AgdHJlZS1zdGF0dXMpDQo+ICAgICAg ICAocG9wIHRyZWUtc3RhdHVzKQ0KPiAtDQo+ICAgICAgICAoaWYgbGFzdA0KPiAgCSAgKHB1c2gg IiAiIHRyZWUtc3RhdHVzKQ0KPiAgCShwdXNoICLilIIiIHRyZWUtc3RhdHVzKSkNCj4gLQ0KPiAg ICAgIChub3RtdWNoLXRyZWUtaW5zZXJ0LXRocmVhZCByZXBsaWVzICgxKyBkZXB0aCkgdHJlZS1z dGF0dXMpKSkNCj4gIA0KPiAgKGRlZnVuIG5vdG11Y2gtdHJlZS1pbnNlcnQtdGhyZWFkICh0aHJl YWQgZGVwdGggdHJlZS1zdGF0dXMpDQo+IEBAIC05NTgsNyArOTU0LDYgQEAgKGRlZmluZS1kZXJp dmVkLW1vZGUgbm90bXVjaC10cmVlLW1vZGUgZnVuZGFtZW50YWwtbW9kZSAibm90bXVjaC10cmVl Ig0KPiAgQ29tcGxldGUgbGlzdCBvZiBjdXJyZW50bHkgYXZhaWxhYmxlIGtleSBiaW5kaW5nczoN Cj4gIA0KPiAgXFx7bm90bXVjaC10cmVlLW1vZGUtbWFwfSINCj4gLQ0KPiAgICAoc2V0cSBub3Rt dWNoLWJ1ZmZlci1yZWZyZXNoLWZ1bmN0aW9uICMnbm90bXVjaC10cmVlLXJlZnJlc2gtdmlldykN Cj4gICAgKGhsLWxpbmUtbW9kZSAxKQ0KPiAgICAoc2V0cSBidWZmZXItcmVhZC1vbmx5IHQNCj4g QEAgLTEwMjIsNyArMTAxNyw2IEBAIChkZWZ1biBub3RtdWNoLXRyZWUtd29ya2VyIChiYXNpYy1x dWVyeSAmb3B0aW9uYWwgcXVlcnktY29udGV4dCB0YXJnZXQgb3Blbi10YXJnDQo+ICAgIDs7IChz dWNoIGFzIHJlcGx5KSBkby4gSXQgaXMgYSBidWZmZXIgbG9jYWwgdmFyaWFibGUgc28gc2V0dGlu ZyBpdA0KPiAgICA7OyB3aWxsIG5vdCBhZmZlY3QgZ2VudWluZSBzaG93IGJ1ZmZlcnMuDQo+ICAg IChzZXRxIG5vdG11Y2gtc2hvdy1wcm9jZXNzLWNyeXB0byBub3RtdWNoLWNyeXB0by1wcm9jZXNz LW1pbWUpDQo+IC0NCj4gICAgKGVyYXNlLWJ1ZmZlcikNCj4gICAgKGdvdG8tY2hhciAocG9pbnQt bWluKSkNCj4gICAgKGxldCogKChzZWFyY2gtYXJncyAoY29uY2F0IGJhc2ljLXF1ZXJ5DQo+IEBA IC0xMDc5LDEzICsxMDczLDEwIEBAIChkZWZ1biBub3RtdWNoLXRyZWUgKCZvcHRpb25hbCBxdWVy eSBxdWVyeS1jb250ZXh0IHRhcmdldCBidWZmZXItbmFtZSBvcGVuLXRhcmdlDQo+ICAJCQkJCQko aWYgdW50aHJlYWRlZCAidW50aHJlYWRlZC0iICJ0cmVlLSIpDQo+ICAJCQkJCQlxdWVyeSAiKiIp KSkpKQ0KPiAgCShpbmhpYml0LXJlYWQtb25seSB0KSkNCj4gLQ0KPiAgICAgIChzd2l0Y2gtdG8t YnVmZmVyIGJ1ZmZlcikpDQo+ICAgIDs7IERvbid0IHRyYWNrIHVuZG8gaW5mb3JtYXRpb24gZm9y IHRoaXMgYnVmZmVyDQo+ICAgIChzZXQgJ2J1ZmZlci11bmRvLWxpc3QgdCkNCj4gLQ0KPiAgICAo bm90bXVjaC10cmVlLXdvcmtlciBxdWVyeSBxdWVyeS1jb250ZXh0IHRhcmdldCBvcGVuLXRhcmdl dCB1bnRocmVhZGVkKQ0KPiAtDQo+ICAgIChzZXRxIHRydW5jYXRlLWxpbmVzIHQpKQ0KPiAgDQo+ ICAoZGVmdW4gbm90bXVjaC11bnRocmVhZGVkICgmb3B0aW9uYWwgcXVlcnkgcXVlcnktY29udGV4 dCB0YXJnZXQgYnVmZmVyLW5hbWUgb3Blbi10YXJnZXQpDQo+IGRpZmYgLS1naXQgYS9lbWFjcy9u b3RtdWNoLXdhc2guZWwgYi9lbWFjcy9ub3RtdWNoLXdhc2guZWwNCj4gaW5kZXggM2E5ZmZkZDAu LmMzYjI0Y2I5IDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLXdhc2guZWwNCj4gKysrIGIv ZW1hY3Mvbm90bXVjaC13YXNoLmVsDQo+IEBAIC0yMDMsMTIgKzIwMywxMCBAQCAoZGVmdW4gbm90 bXVjaC13YXNoLXJlZ2lvbi10by1idXR0b24gKG1zZyBiZWcgZW5kIHR5cGUgJm9wdGlvbmFsIHBy ZWZpeCkNCj4gIFwiY2l0YXRpb25cIiBvciBcInNpZ25hdHVyZVwiLiBPcHRpb25hbCBQUkVGSVgg aXMgc29tZSBhcmJpdHJhcnkNCj4gIHRleHQgdG8gaW5zZXJ0IGJlZm9yZSB0aGUgYnV0dG9uLCBw cm9iYWJseSBmb3IgaW5kZW50YXRpb24uICBOb3RlDQo+ICB0aGF0IFBSRUZJWCBzaG91bGQgbm90 IGluY2x1ZGUgYSBuZXdsaW5lLiINCj4gLQ0KPiAgICA7OyBUaGlzIHVzZXMgc29tZSBzbGlnaHRs eSB0cmlja3kgY29udmVyc2lvbnMgYmV0d2VlbiBzdHJpbmdzIGFuZA0KPiAgICA7OyBzeW1ib2xz IGJlY2F1c2Ugb2YgdGhlIHdheSB0aGUgYnV0dG9uIGNvZGUgd29ya3MuIE5vdGUgdGhhdA0KPiAg ICA7OyByZXBsYWNpbmcgaW50ZXJuLXNvZnQgd2l0aCBtYWtlLXN5bWJvbCB3aWxsIGNhdXNlIHRo aXMgdG8gZmFpbCwNCj4gICAgOzsgc2luY2UgdGhlIG5ld2x5IGNyZWF0ZWQgc3ltYm9sIGhhcyBu byBwbGlzdC4NCj4gLQ0KPiAgICAobGV0ICgob3ZlcmxheSAobWFrZS1vdmVybGF5IGJlZyBlbmQp KQ0KPiAgCShidXR0b24tdHlwZSAoaW50ZXJuLXNvZnQgKGNvbmNhdCAibm90bXVjaC13YXNoLWJ1 dHRvbi0iDQo+ICAJCQkJCSAgdHlwZSAiLXRvZ2dsZS10eXBlIikpKSkNCj4gQEAgLTI3NiwyNSAr Mjc0LDIwIEBAIChkZWZ1biBub3RtdWNoLXdhc2gtZXhjZXJwdC1jaXRhdGlvbnMgKG1zZyBkZXB0 aCkNCj4gIA0KPiAgKGRlZnVuIG5vdG11Y2gtd2FzaC1lbGlkZS1ibGFuay1saW5lcyAobXNnIGRl cHRoKQ0KPiAgICAiRWxpZGUgbGVhZGluZywgdHJhaWxpbmcgYW5kIHN1Y2Nlc3NpdmUgYmxhbmsg bGluZXMuIg0KPiAtDQo+ICAgIDs7IEFsZ29yaXRobSBkZXJpdmVkIGZyb20gYGFydGljbGUtc3Ry aXAtbXVsdGlwbGUtYmxhbmstbGluZXMnIGluDQo+ICAgIDs7IGBnbnVzLWFydC5lbCcuDQo+IC0N Cj4gICAgOzsgTWFrZSBhbGwgYmxhbmsgbGluZXMgZW1wdHkuDQo+ICAgIChnb3RvLWNoYXIgKHBv aW50LW1pbikpDQo+ICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgIl5bWzpzcGFjZTpdXHRd KyQiIG5pbCB0KQ0KPiAgICAgIChyZXBsYWNlLW1hdGNoICIiIG5pbCB0KSkNCj4gLQ0KPiAgICA7 OyBSZXBsYWNlIG11bHRpcGxlIGVtcHR5IGxpbmVzIHdpdGggYSBzaW5nbGUgZW1wdHkgbGluZS4N Cj4gICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkNCj4gICAgKHdoaWxlIChyZS1zZWFyY2gtZm9y d2FyZCAiXlxuXFwoXG4rXFwpIiBuaWwgdCkNCj4gICAgICAoZGVsZXRlLXJlZ2lvbiAobWF0Y2gt YmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkpKQ0KPiAtDQo+ICAgIDs7IFJlbW92ZSBhIGxlYWRp bmcgYmxhbmsgbGluZS4NCj4gICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkNCj4gICAgKGlmIChs b29raW5nLWF0ICJcbiIpDQo+ICAgICAgICAoZGVsZXRlLXJlZ2lvbiAobWF0Y2gtYmVnaW5uaW5n IDApIChtYXRjaC1lbmQgMCkpKQ0KPiAtDQo+ICAgIDs7IFJlbW92ZSBhIHRyYWlsaW5nIGJsYW5r IGxpbmUuDQo+ICAgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpDQo+ICAgIChpZiAobG9va2luZy1h dCAiXG4iKQ0KPiBAQCAtMzEzLDIwICszMDYsMTUgQEAgKGRlZnVuIG5vdG11Y2gtd2FzaC10aWR5 LWNpdGF0aW9ucyAobXNnIGRlcHRoKQ0KPiAgICB0ZXh0LA0KPiAgLSBSZW1vdmUgY2l0YXRpb24g dHJhaWxlcnMgc3RhbmRpbmcgYWxvbmUgYWZ0ZXIgYSBibG9jayBvZiBjaXRlZA0KPiAgICB0ZXh0 LiINCj4gLQ0KPiAgICA7OyBSZW1vdmUgbGluZXMgb2YgcmVwZWF0ZWQgY2l0YXRpb24gbGVhZGVy cyB3aXRoIG5vIG90aGVyIGNvbnRlbnQuDQo+ICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQo+ ICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgIlxcKF4+Wz4gXSpcblxcKVxcezIsXFx9IiBu aWwgdCkNCj4gICAgICAocmVwbGFjZS1tYXRjaCAiXFwxIikpDQo+IC0NCj4gLSAgOzsgUmVtb3Zl IGNpdGF0aW9uIGxlYWRlcnMgc3RhbmRpbmcgYWxvbmUgYmVmb3JlIGEgYmxvY2sgb2YgY2l0ZWQN Cj4gLSAgOzsgdGV4dC4NCj4gKyAgOzsgUmVtb3ZlIGNpdGF0aW9uIGxlYWRlcnMgc3RhbmRpbmcg YWxvbmUgYmVmb3JlIGEgYmxvY2sgb2YgY2l0ZWQgdGV4dC4NCj4gICAgKGdvdG8tY2hhciAocG9p bnQtbWluKSkNCj4gICAgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCAiXFwoXG5cXHxeW14+XS4q XFwpXG5cXChePls+IF0qXG5cXCkiIG5pbCB0KQ0KPiAgICAgIChyZXBsYWNlLW1hdGNoICJcXDFc biIpKQ0KPiAtDQo+IC0gIDs7IFJlbW92ZSBjaXRhdGlvbiB0cmFpbGVycyBzdGFuZGluZyBhbG9u ZSBhZnRlciBhIGJsb2NrIG9mIGNpdGVkDQo+IC0gIDs7IHRleHQuDQo+ICsgIDs7IFJlbW92ZSBj aXRhdGlvbiB0cmFpbGVycyBzdGFuZGluZyBhbG9uZSBhZnRlciBhIGJsb2NrIG9mIGNpdGVkIHRl eHQuDQo+ICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQo+ICAgICh3aGlsZSAocmUtc2VhcmNo LWZvcndhcmQgIlxcKF4+Wz4gXSpcblxcKVxcKF4kXFx8XltePl0uKlxcKSIgbmlsIHQpDQo+ICAg ICAgKHJlcGxhY2UtbWF0Y2ggIlxcMiIpKSkNCj4gQEAgLTM0MSw3ICszMjksNiBAQCAoZGVmdW4g bm90bXVjaC13YXNoLXdyYXAtbG9uZy1saW5lcyAobXNnIGRlcHRoKQ0KPiAgaXRzIHZhbHVlLiBP dGhlcndpc2UsIHRoaXMgZnVuY3Rpb24gd2lsbCB3cmFwIGxvbmcgbGluZXMgaW4gdGhlDQo+ICBt ZXNzYWdlIGF0IHRoZSB3aW5kb3cgd2lkdGguIFdoZW4gZG9pbmcgc28sIGNpdGF0aW9uIGxlYWRl cnMgaW4NCj4gIHRoZSB3cmFwcGVkIHRleHQgYXJlIG1haW50YWluZWQuIg0KPiAtDQo+ICAgIChs ZXQqICgoY29vbGotd3JhcC1mb2xsb3dzLXdpbmRvdy1zaXplIG5pbCkNCj4gIAkgKGluZGVudCAo KiBkZXB0aCBub3RtdWNoLXNob3ctaW5kZW50LW1lc3NhZ2VzLXdpZHRoKSkNCj4gIAkgKGxpbWl0 IChpZiAobnVtYmVycCBub3RtdWNoLXdhc2gtd3JhcC1saW5lcy1sZW5ndGgpDQo+IEBAIC00MDUs NyArMzkyLDYgQEAgKGRlZnVuIG5vdG11Y2gtd2FzaC1jb252ZXJ0LWlubGluZS1wYXRjaC10by1w YXJ0IChtc2cgZGVwdGgpDQo+ICBHaXZlbiB0aGF0IHRoaXMgZnVuY3Rpb24gZ3Vlc3NlcyB3aGV0 aGVyIGEgYnVmZmVyIGluY2x1ZGVzIGENCj4gIHBhdGNoIGFuZCB0aGVuIGd1ZXNzZXMgdGhlIGV4 dGVudCBvZiB0aGUgcGF0Y2gsIHRoZXJlIGlzIHNjb3BlDQo+ICBmb3IgZXJyb3IuIg0KPiAtDQo+ ICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQo+ICAgICh3aGVuIChyZS1zZWFyY2gtZm9yd2Fy ZCBkaWZmLWZpbGUtaGVhZGVyLXJlIG5pbCB0KQ0KPiAgICAgIChiZWdpbm5pbmctb2YtbGluZSAt MSkNCj4gZGlmZiAtLWdpdCBhL2VtYWNzL25vdG11Y2guZWwgYi9lbWFjcy9ub3RtdWNoLmVsDQo+ IGluZGV4IDA3YTU4ZGE3Li4wNDMzNGM3NiAxMDA2NDQNCj4gLS0tIGEvZW1hY3Mvbm90bXVjaC5l bA0KPiArKysgYi9lbWFjcy9ub3RtdWNoLmVsDQo+IEBAIC03NTUsNyArNzU1LDYgQEAgKGRlZnVu IG5vdG11Y2gtc2VhcmNoLWluc2VydC1hdXRob3JzIChmb3JtYXQtc3RyaW5nIGF1dGhvcnMpDQo+ ICAJICAgKHZpc2libGUtc3RyaW5nIGZvcm1hdHRlZC1hdXRob3JzKQ0KPiAgCSAgIChpbnZpc2li bGUtc3RyaW5nICIiKQ0KPiAgCSAgIChwYWRkaW5nICIiKSkNCj4gLQ0KPiAgICAgICAgOzsgVHJ1 bmNhdGUgdGhlIGF1dGhvciBzdHJpbmcgdG8gZml0IHRoZSBzcGVjaWZpY2F0aW9uLg0KPiAgICAg ICAgKGlmICg+IChsZW5ndGggZm9ybWF0dGVkLWF1dGhvcnMpDQo+ICAJICAgICAobGVuZ3RoIGZv cm1hdHRlZC1zYW1wbGUpKQ0KPiBAQCAtNzgyLDcgKzc4MSw2IEBAIChkZWZ1biBub3RtdWNoLXNl YXJjaC1pbnNlcnQtYXV0aG9ycyAoZm9ybWF0LXN0cmluZyBhdXRob3JzKQ0KPiAgCQkJCQkgIChs ZW5ndGggdmlzaWJsZS1zdHJpbmcpDQo+ICAJCQkJCSAgKGxlbmd0aCAiLi4uIikpDQo+ICAJCQkJ ICAgICAgID8gKSkpKQ0KPiAtDQo+ICAgICAgICA7OyBVc2UgZGlmZmVyZW50IGZhY2VzIHRvIHNo b3cgbWF0Y2hpbmcgYW5kIG5vbi1tYXRjaGluZyBhdXRob3JzLg0KPiAgICAgICAgKGlmIChzdHJp bmctbWF0Y2ggIlxcKC4qXFwpfFxcKC4qXFwpIiB2aXNpYmxlLXN0cmluZykNCj4gIAkgIDs7IFRo ZSB2aXNpYmxlIHN0cmluZyBjb250YWlucyBib3RoIG1hdGNoaW5nIGFuZA0KPiBAQCAtNzk4LDE0 ICs3OTYsMTIgQEAgKGRlZnVuIG5vdG11Y2gtc2VhcmNoLWluc2VydC1hdXRob3JzIChmb3JtYXQt c3RyaW5nIGF1dGhvcnMpDQo+ICAJICAgICAgOzsgVGhlIGludmlzaWJsZSBzdHJpbmcgbWF5IGNv bnRhaW4gYm90aCBtYXRjaGluZyBhbmQNCj4gIAkgICAgICA7OyBub24tbWF0Y2hpbmcgYXV0aG9y cy4NCj4gIAkgICAgICBpbnZpc2libGUtc3RyaW5nIChub3RtdWNoLXNlYXJjaC1hdXRob3ItcHJv cGVydGl6ZSBpbnZpc2libGUtc3RyaW5nKSkpDQo+IC0NCj4gICAgICAgIDs7IElmIHRoZXJlIGlz IGFueSBpbnZpc2libGUgdGV4dCwgYWRkIGl0IGFzIGEgdG9vbHRpcCB0byB0aGUNCj4gICAgICAg IDs7IHZpc2libGUgdGV4dC4NCj4gICAgICAgICh3aGVuIChub3QgKHN0cmluZz0gaW52aXNpYmxl LXN0cmluZyAiIikpDQo+ICAJKHNldHEgdmlzaWJsZS1zdHJpbmcNCj4gIAkgICAgICAocHJvcGVy dGl6ZSB2aXNpYmxlLXN0cmluZw0KPiAgCQkJICAnaGVscC1lY2hvIChjb25jYXQgIi4uLiIgaW52 aXNpYmxlLXN0cmluZykpKSkNCj4gLQ0KPiAgICAgICAgOzsgSW5zZXJ0IHRoZSB2aXNpYmxlIGFu ZCwgaWYgcHJlc2VudCwgaW52aXNpYmxlIGF1dGhvciBzdHJpbmdzLg0KPiAgICAgICAgKGluc2Vy dCB2aXNpYmxlLXN0cmluZykNCj4gICAgICAgICh3aGVuIChub3QgKHN0cmluZz0gaW52aXNpYmxl LXN0cmluZyAiIikpDQo+IEBAIC04MzEsMTEgKzgyNyw5IEBAIChkZWZ1biBub3RtdWNoLXNlYXJj aC1pbnNlcnQtZmllbGQgKGZpZWxkIGZvcm1hdC1zdHJpbmcgcmVzdWx0KQ0KPiAgICAgIChpbnNl cnQgKHByb3BlcnRpemUgKGZvcm1hdCBmb3JtYXQtc3RyaW5nDQo+ICAJCQkJKG5vdG11Y2gtc2Fu aXRpemUgKHBsaXN0LWdldCByZXN1bHQgOnN1YmplY3QpKSkNCj4gIAkJCSdmYWNlICdub3RtdWNo LXNlYXJjaC1zdWJqZWN0KSkpDQo+IC0NCj4gICAgICgoc3RyaW5nLWVxdWFsIGZpZWxkICJhdXRo b3JzIikNCj4gICAgICAobm90bXVjaC1zZWFyY2gtaW5zZXJ0LWF1dGhvcnMNCj4gICAgICAgZm9y bWF0LXN0cmluZyAobm90bXVjaC1zYW5pdGl6ZSAocGxpc3QtZ2V0IHJlc3VsdCA6YXV0aG9ycykp KSkNCj4gLQ0KPiAgICAgKChzdHJpbmctZXF1YWwgZmllbGQgInRhZ3MiKQ0KPiAgICAgIChsZXQg KCh0YWdzIChwbGlzdC1nZXQgcmVzdWx0IDp0YWdzKSkNCj4gIAkgIChvcmlnLXRhZ3MgKHBsaXN0 LWdldCByZXN1bHQgOm9yaWctdGFncykpKQ0KPiBAQCAtMTExOCw3ICsxMTEyLDYgQEAgKGRlZnVu IG5vdG11Y2gtY3ljbGUtbm90bXVjaC1idWZmZXJzICgpDQo+ICBJZiB0aGUgY3VycmVudCBidWZm ZXIgaXMgdGhlIG9ubHkgbm90bXVjaCBidWZmZXIsIGJ1cnkgaXQuIElmIG5vDQo+ICBub3RtdWNo IGJ1ZmZlcnMgZXhpc3QsIHJ1biBgbm90bXVjaCcuIg0KPiAgICAoaW50ZXJhY3RpdmUpDQo+IC0N Cj4gICAgKGxldCAoc3RhcnQgZmlyc3QpDQo+ICAgICAgOzsgSWYgdGhlIGN1cnJlbnQgYnVmZmVy IGlzIGEgbm90bXVjaCBidWZmZXIsIHJlbWVtYmVyIGl0IGFuZCB0aGVuDQo+ICAgICAgOzsgYnVy eSBpdC4NCj4gLS0gDQo+IDIuMjYuMA==