From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id B9B8F5A0281 for ; Tue, 16 May 2023 04:01:44 +0200 (CEST) Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4QKzxd0W9Wz4x4F; Tue, 16 May 2023 12:01:41 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=201602; t=1684202501; bh=EGyN6Y7vp0+esxkqpnm5BoQsTCE3NPmaA8sSzH+Ab7g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=On5rrSO75b6PhuNvgXXrr9ZMjAH4srvcfWQ9LuHZwSp/4BlHV/xNQxkPMiXA5/fWQ B2WTYi37LLwGzZ08AmGCALlQe3xLyfQBHkOvlJBBAYV1jXO8uBznvZhsTthEZ+T4bp HW+WMFQFkODMAntMnMSyV5/Tp7PtSRK0fDOKgFO8= From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH v2 03/21] avocado: Make a duplicate copy of testsuite for comparison purposes Date: Tue, 16 May 2023 12:01:17 +1000 Message-Id: <20230516020135.1901256-4-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230516020135.1901256-1-david@gibson.dropbear.id.au> References: <20230516020135.1901256-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Hits: max-size X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; digests; suspicious-header Message-ID-Hash: EUVJVCXRKUHOI564YT6UCFIYEFDZXF4V X-Message-ID-Hash: EUVJVCXRKUHOI564YT6UCFIYEFDZXF4V X-Mailman-Approved-At: Tue, 16 May 2023 08:19:35 +0200 CC: jarichte@redhat.com, Cleber Rosa , David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: U3Vic2VxdWVudCBwYXRjaGVzIHdpbGwgc3RhcnQgY29udmVydGluZyB2YXJpb3VzIHBhcnRzIG9m IHRoZSB0ZXN0c3VpdGUgdG8NCnVzZSBBdm9jYWRvLCByYXRoZXIgdGhhbiBvdXIgaGFuZC1yb2xs ZWQgdGVzdHN1aXRlLiAgV2hpbGUgd2UncmUgaW4NCnRyYW5zaXRpb24sIGl0IHdpbGwgYmUgdXNl ZnVsIHRvIHJ1biB0aGUgZXF1aXZhbGVudCB0ZXN0cyBzaWRlIGJ5IHNpZGUNCmluIEF2b2NhZG8g YW5kIHRoZSBvbGQgc3VpdGUuDQoNClRvIHRoYXQgZW5kLCB0YWtlIGEgc25hcHNob3Qgb2YgdGhl IG9sZCB0ZXN0c3VpdGUgaW4gdGhlIG5ldyBkaXJlY3RvcnkNCm9sZHRlc3QvLiAgQXBhcnQgZnJv bSByZWZlcmVuY2luZyBmaWxlcyBpbiB0aGUgbmV3IGRpcmVjdG9yeSwgdGhlIG9ubHkNCmRpZmZl cmVuY2UgaXMgdGhhdCBmb3Igbm93IGFsbCB0ZXN0cyBhcmUgc2tpcHBlZC4gIEFzIHdlIGNvbnZl cnQgdGVzdHMsIHRoZQ0Kb2xkIHZlcnNpb25zIHdpbGwgYmUgYWRkZWQgdG8gb2xkdGVzdC9ydW4g c28gdGhhdCBhIHJlYXNvbmFibHkgZXF1aXZhbGVudA0Kc2lkZSBieSBzaWRlIGNvbXBhcmlzb24g b2YgdGhlIHR3byBmcmFtZXdvcmtzIGNhbiBiZSBtYWRlLg0KDQpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBHaWJzb24gPGRhdmlkQGdpYnNvbi5kcm9wYmVhci5pZC5hdT4NCi0tLQ0KIG9sZHRlc3QvLmdp dGlnbm9yZSAgICAgICAgICAgICAgICB8ICAxMSArDQogb2xkdGVzdC9NYWtlZmlsZSAgICAgICAg ICAgICAgICAgIHwgMjAzICsrKysrKysrDQogb2xkdGVzdC9SRUFETUUubWQgICAgICAgICAgICAg ICAgIHwgMTM3ICsrKysrDQogb2xkdGVzdC9idWlsZC9hbGwgICAgICAgICAgICAgICAgIHwgIDYx ICsrKw0KIG9sZHRlc3QvYnVpbGQvY2xhbmdfdGlkeSAgICAgICAgICB8ICAxNyArDQogb2xkdGVz dC9idWlsZC9jcHBjaGVjayAgICAgICAgICAgIHwgIDE3ICsNCiBvbGR0ZXN0L2NpICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKw0KIG9sZHRlc3QvZGVtby9wYXNzdCAgICAgICAgICAgICAg ICB8IDI0NSArKysrKysrKysNCiBvbGR0ZXN0L2RlbW8vcGFzdGEgICAgICAgICAgICAgICAgfCAy NzQgKysrKysrKysrKw0KIG9sZHRlc3QvZGVtby9wb2RtYW4gICAgICAgICAgICAgICB8IDgxOSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBvbGR0ZXN0L2Rpc3Ryby9kZWJpYW4gICAg ICAgICAgICAgfCAyNTIgKysrKysrKysrDQogb2xkdGVzdC9kaXN0cm8vZmVkb3JhICAgICAgICAg ICAgIHwgMzk2ICsrKysrKysrKysrKysrKw0KIG9sZHRlc3QvZGlzdHJvL29wZW5zdXNlICAgICAg ICAgICB8IDIwOCArKysrKysrKw0KIG9sZHRlc3QvZGlzdHJvL3VidW50dSAgICAgICAgICAgICB8 IDIxNiArKysrKysrKw0KIG9sZHRlc3QvZW52L21hdGUtdGVybWluYWwucHJvZmlsZSB8ICA0MiAr Kw0KIG9sZHRlc3QvZmluZC1hcm02NC1maXJtd2FyZS5zaCAgICB8ICAxMyArDQogb2xkdGVzdC9s aWIvY29udGV4dCAgICAgICAgICAgICAgIHwgMTMwICsrKysrDQogb2xkdGVzdC9saWIvbGF5b3V0 ICAgICAgICAgICAgICAgIHwgMjU5ICsrKysrKysrKysNCiBvbGR0ZXN0L2xpYi9sYXlvdXRfdWds eSAgICAgICAgICAgfCAxMTMgKysrKysNCiBvbGR0ZXN0L2xpYi9wZXJmX3JlcG9ydCAgICAgICAg ICAgfCAyNzIgKysrKysrKysrKw0KIG9sZHRlc3QvbGliL3NldHVwICAgICAgICAgICAgICAgICB8 IDM4NSArKysrKysrKysrKysrKw0KIG9sZHRlc3QvbGliL3NldHVwX3VnbHkgICAgICAgICAgICB8 ICA1OCArKysNCiBvbGR0ZXN0L2xpYi90ZXJtICAgICAgICAgICAgICAgICAgfCA3NTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrDQogb2xkdGVzdC9saWIvdGVzdCAgICAgICAgICAgICAgICAg IHwgMzk4ICsrKysrKysrKysrKysrKw0KIG9sZHRlc3QvbGliL3V0aWwgICAgICAgICAgICAgICAg ICB8IDEzMyArKysrKw0KIG9sZHRlc3QvbGliL3ZpZGVvICAgICAgICAgICAgICAgICB8IDE1MiAr KysrKysNCiBvbGR0ZXN0L21lbW9yeS9wYXNzdCAgICAgICAgICAgICAgfCAxODcgKysrKysrKw0K IG9sZHRlc3QvbnN0b29sLmMgICAgICAgICAgICAgICAgICB8IDU2NSArKysrKysrKysrKysrKysr KysrKysNCiBvbGR0ZXN0L3Bhc3N0Lm1idXRvICAgICAgICAgICAgICAgfCAgODMgKysrDQogb2xk dGVzdC9wYXNzdC5tZW0ubWJ1dG8gICAgICAgICAgIHwgIDQ0ICsrDQogb2xkdGVzdC9wYXNzdC9k aGNwICAgICAgICAgICAgICAgIHwgIDcwICsrKw0KIG9sZHRlc3QvcGFzc3QvbmRwICAgICAgICAg ICAgICAgICB8ICAzMyArKw0KIG9sZHRlc3QvcGFzc3Qvc2h1dGRvd24gICAgICAgICAgICB8ICAx OSArDQogb2xkdGVzdC9wYXNzdC90Y3AgICAgICAgICAgICAgICAgIHwgIDc2ICsrKw0KIG9sZHRl c3QvcGFzc3QvdWRwICAgICAgICAgICAgICAgICB8ICA0NiArKw0KIG9sZHRlc3QvcGFzc3RfaW5f bnMvaWNtcCAgICAgICAgICB8ICAzMiArKw0KIG9sZHRlc3QvcGFzc3RfaW5fbnMvc2h1dGRvd24g ICAgICB8ICAxOSArDQogb2xkdGVzdC9wYXNzdF9pbl9ucy90Y3AgICAgICAgICAgIHwgMjU2ICsr KysrKysrKysNCiBvbGR0ZXN0L3Bhc3N0X2luX25zL3VkcCAgICAgICAgICAgfCAxMzggKysrKysN CiBvbGR0ZXN0L3Bhc3RhL2RoY3AgICAgICAgICAgICAgICAgfCAgNDYgKysNCiBvbGR0ZXN0L3Bh c3RhL25kcCAgICAgICAgICAgICAgICAgfCAgMzMgKysNCiBvbGR0ZXN0L3Bhc3RhL3RjcCAgICAg ICAgICAgICAgICAgfCAgOTYgKysrKw0KIG9sZHRlc3QvcGFzdGEvdWRwICAgICAgICAgICAgICAg ICB8ICA1OSArKysNCiBvbGR0ZXN0L3Bhc3RhX29wdGlvbnMvbG9nX3RvX2ZpbGUgfCAgOTMgKysr Kw0KIG9sZHRlc3QvcGVyZi9wYXNzdF90Y3AgICAgICAgICAgICB8IDIxNSArKysrKysrKw0KIG9s ZHRlc3QvcGVyZi9wYXNzdF91ZHAgICAgICAgICAgICB8IDE2NSArKysrKysNCiBvbGR0ZXN0L3Bl cmYvcGFzdGFfdGNwICAgICAgICAgICAgfCAzMDAgKysrKysrKysrKysNCiBvbGR0ZXN0L3BlcmYv cGFzdGFfdWRwICAgICAgICAgICAgfCAyMTkgKysrKysrKysNCiBvbGR0ZXN0L3ByZXBhcmUtZGlz dHJvLWltZy5zaCAgICAgfCAgMTggKw0KIG9sZHRlc3QvcnVuICAgICAgICAgICAgICAgICAgICAg ICB8IDIzOCArKysrKysrKysNCiBvbGR0ZXN0L3J1bl9kZW1vICAgICAgICAgICAgICAgICAgfCAg IDEgKw0KIG9sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYyAgICAgICAgICB8ICA4MCArKysNCiBvbGR0 ZXN0L3ZhbGdyaW5kLnN1cHAgICAgICAgICAgICAgfCAgIDkgKw0KIDUzIGZpbGVzIGNoYW5nZWQs IDg3MDIgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0Ly5naXRpZ25v cmUNCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9NYWtlZmlsZQ0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBvbGR0ZXN0L1JFQURNRS5tZA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2J1aWxk L2FsbA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2J1aWxkL2NsYW5nX3RpZHkNCiBjcmVh dGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9idWlsZC9jcHBjaGVjaw0KIGNyZWF0ZSBtb2RlIDEyMDAw MCBvbGR0ZXN0L2NpDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvZGVtby9wYXNzdA0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2RlbW8vcGFzdGENCiBjcmVhdGUgbW9kZSAxMDA2NDQg b2xkdGVzdC9kZW1vL3BvZG1hbg0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2Rpc3Ryby9k ZWJpYW4NCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9kaXN0cm8vZmVkb3JhDQogY3JlYXRl IG1vZGUgMTAwNjQ0IG9sZHRlc3QvZGlzdHJvL29wZW5zdXNlDQogY3JlYXRlIG1vZGUgMTAwNjQ0 IG9sZHRlc3QvZGlzdHJvL3VidW50dQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L2Vudi9t YXRlLXRlcm1pbmFsLnByb2ZpbGUNCiBjcmVhdGUgbW9kZSAxMDA3NTUgb2xkdGVzdC9maW5kLWFy bTY0LWZpcm13YXJlLnNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvbGliL2NvbnRleHQN CiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9saWIvbGF5b3V0DQogY3JlYXRlIG1vZGUgMTAw NjQ0IG9sZHRlc3QvbGliL2xheW91dF91Z2x5DQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3Qv bGliL3BlcmZfcmVwb3J0DQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3QvbGliL3NldHVwDQog Y3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3QvbGliL3NldHVwX3VnbHkNCiBjcmVhdGUgbW9kZSAx MDA3NTUgb2xkdGVzdC9saWIvdGVybQ0KIGNyZWF0ZSBtb2RlIDEwMDc1NSBvbGR0ZXN0L2xpYi90 ZXN0DQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRlc3QvbGliL3V0aWwNCiBjcmVhdGUgbW9kZSAx MDA3NTUgb2xkdGVzdC9saWIvdmlkZW8NCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9tZW1v cnkvcGFzc3QNCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9uc3Rvb2wuYw0KIGNyZWF0ZSBt b2RlIDEwMDc1NSBvbGR0ZXN0L3Bhc3N0Lm1idXRvDQogY3JlYXRlIG1vZGUgMTAwNzU1IG9sZHRl c3QvcGFzc3QubWVtLm1idXRvDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3QvZGhj cA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3N0L25kcA0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBvbGR0ZXN0L3Bhc3N0L3NodXRkb3duDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3Qv cGFzc3QvdGNwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3QvdWRwDQogY3JlYXRl IG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3RfaW5fbnMvaWNtcA0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBvbGR0ZXN0L3Bhc3N0X2luX25zL3NodXRkb3duDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRl c3QvcGFzc3RfaW5fbnMvdGNwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzc3RfaW5f bnMvdWRwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGFzdGEvZGhjcA0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3RhL25kcA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0 L3Bhc3RhL3RjcA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3RhL3VkcA0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3Bhc3RhX29wdGlvbnMvbG9nX3RvX2ZpbGUNCiBjcmVhdGUg bW9kZSAxMDA2NDQgb2xkdGVzdC9wZXJmL3Bhc3N0X3RjcA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBv bGR0ZXN0L3BlcmYvcGFzc3RfdWRwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvcGVyZi9w YXN0YV90Y3ANCiBjcmVhdGUgbW9kZSAxMDA2NDQgb2xkdGVzdC9wZXJmL3Bhc3RhX3VkcA0KIGNy ZWF0ZSBtb2RlIDEwMDc1NSBvbGR0ZXN0L3ByZXBhcmUtZGlzdHJvLWltZy5zaA0KIGNyZWF0ZSBt b2RlIDEwMDc1NSBvbGR0ZXN0L3J1bg0KIGNyZWF0ZSBtb2RlIDEyMDAwMCBvbGR0ZXN0L3J1bl9k ZW1vDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG9sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYw0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBvbGR0ZXN0L3ZhbGdyaW5kLnN1cHANCg0KZGlmZiAtLWdpdCBhL29sZHRl c3QvLmdpdGlnbm9yZSBiL29sZHRlc3QvLmdpdGlnbm9yZQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAuLjQ4Mzc0MDINCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvLmdp dGlnbm9yZQ0KQEAgLTAsMCArMSwxMSBAQA0KK3Rlc3RfbG9ncy8NCittYnV0by8NCisqLmltZw0K K1FFTVVfRUZJLmZkDQorKi5xY293Mg0KKyoucmF3DQorKi5yYXcueHoNCisqLmJpbg0KK25zdG9v bA0KK2d1ZXN0LWtleQ0KK2d1ZXN0LWtleS5wdWINCmRpZmYgLS1naXQgYS9vbGR0ZXN0L01ha2Vm aWxlIGIvb2xkdGVzdC9NYWtlZmlsZQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAuLjdiMDBiZWYNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvTWFrZWZpbGUNCkBAIC0w LDAgKzEsMjAzIEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cg0KKyMNCisjIFRlc3RzIG1ha2VmaWxlDQorIw0KKyMgQ29weXJpZ2h0IFJlZCBIYXQNCisjIEF1 dGhvcjogRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24uZHJvcGJlYXIuaWQuYXU+DQorDQorV0dF VCA9IHdnZXQgLWMNCisNCitERUJJQU5fSU1HUyA9IGRlYmlhbi04LjExLjAtb3BlbnN0YWNrLWFt ZDY0LnFjb3cyIFwNCisJZGViaWFuLTktbm9jbG91ZC1hbWQ2NC1kYWlseS0yMDIwMDIxMC0xNjYu cWNvdzIgXA0KKwlkZWJpYW4tMTAtbm9jbG91ZC1hbWQ2NC5xY293MiBcDQorCWRlYmlhbi0xMC1n ZW5lcmljLWFybTY0LnFjb3cyIFwNCisJZGViaWFuLTEwLWdlbmVyaWMtcHBjNjRlbC0yMDIyMDkx MS0xMTM1LnFjb3cyIFwNCisJZGViaWFuLTExLW5vY2xvdWQtYW1kNjQucWNvdzIgXA0KKwlkZWJp YW4tMTEtZ2VuZXJpYy1hcm02NC5xY293MiBcDQorCWRlYmlhbi0xMS1nZW5lcmljLXBwYzY0ZWwu cWNvdzIgXA0KKwlkZWJpYW4tc2lkLW5vY2xvdWQtYW1kNjQtZGFpbHkucWNvdzIgXA0KKwlkZWJp YW4tc2lkLW5vY2xvdWQtYXJtNjQtZGFpbHkucWNvdzIgXA0KKwlkZWJpYW4tc2lkLW5vY2xvdWQt cHBjNjRlbC1kYWlseS5xY293Mg0KKw0KK0ZFRE9SQV9JTUdTID0gRmVkb3JhLUNsb3VkLUJhc2Ut MjYtMS41Lng4Nl82NC5xY293MiBcDQorCUZlZG9yYS1DbG91ZC1CYXNlLTI3LTEuNi54ODZfNjQu cWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQtQmFzZS0yOC0xLjEueDg2XzY0LnFjb3cyIFwNCisJRmVk b3JhLUNsb3VkLUJhc2UtMjgtMS4xLmFhcmNoNjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQtQmFz ZS0yOS0xLjIueDg2XzY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMjktMS4yLmFhcmNo NjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQtQmFzZS0zMC0xLjIueDg2XzY0LnFjb3cyIFwNCisJ RmVkb3JhLUNsb3VkLUJhc2UtMzAtMS4yLmFhcmNoNjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQt QmFzZS0zMS0xLjkueDg2XzY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzEtMS45LmFh cmNoNjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQtQmFzZS0zMi0xLjYueDg2XzY0LnFjb3cyIFwN CisJRmVkb3JhLUNsb3VkLUJhc2UtMzItMS42LmFhcmNoNjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xv dWQtQmFzZS0zMy0xLjIueDg2XzY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzMtMS4y LmFhcmNoNjQucWNvdzIgXA0KKwlGZWRvcmEtQ2xvdWQtQmFzZS0zNC0xLjIueDg2XzY0LnFjb3cy IFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzQtMS4yLmFhcmNoNjQucWNvdzIgXA0KKwlGZWRvcmEt Q2xvdWQtQmFzZS0zNS0xLjIueDg2XzY0LnFjb3cyIFwNCisJRmVkb3JhLUNsb3VkLUJhc2UtMzUt MS4yLmFhcmNoNjQucWNvdzINCisNCitPUEVOU1VTRV9JTUdTID0gb3BlblNVU0UtTGVhcC0xNS4x LUplT1MueDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyIFwNCisJb3BlblNVU0UtTGVhcC0xNS4yLUpl T1MueDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyIFwNCisJb3BlblNVU0UtTGVhcC0xNS4zLUplT1Mu eDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyIFwNCisJb3BlblNVU0UtVHVtYmxld2VlZC1BUk0tSmVP Uy1lZmkuYWFyY2g2NC5yYXcueHogXA0KKwlvcGVuU1VTRS1UdW1ibGV3ZWVkLUFSTS1KZU9TLWVm aS5hcm12N2wucmF3Lnh6IFwNCisJb3BlblNVU0UtVHVtYmxld2VlZC1KZU9TLng4Nl82NC1rdm0t YW5kLXhlbi5xY293Mg0KKw0KK1VCVU5UVV9PTERfSU1HUyA9IHRydXN0eS1zZXJ2ZXItY2xvdWRp bWctYW1kNjQtZGlzazEuaW1nIFwNCisJdHJ1c3R5LXNlcnZlci1jbG91ZGltZy1pMzg2LWRpc2sx LmltZyBcDQorCXRydXN0eS1zZXJ2ZXItY2xvdWRpbWctcHBjNjRlbC1kaXNrMS5pbWcNCitVQlVO VFVfTkVXX0lNR1MgPSB4ZW5pYWwtc2VydmVyLWNsb3VkaW1nLXBvd2VycGMtZGlzazEuaW1nIFwN CisJamFtbXktc2VydmVyLWNsb3VkaW1nLXMzOTB4LmltZw0KK1VCVU5UVV9JTUdTID0gJChVQlVO VFVfT0xEX0lNR1MpICQoVUJVTlRVX05FV19JTUdTKQ0KKw0KK0RPV05MT0FEX0FTU0VUUyA9IG1i dXRvIFwNCisJJChERUJJQU5fSU1HUykgJChGRURPUkFfSU1HUykgJChPUEVOU1VTRV9JTUdTKSAk KFVCVU5UVV9JTUdTKQ0KK1RFU1REQVRBX0FTU0VUUyA9IHNtYWxsLmJpbiBiaWcuYmluIG1lZGl1 bS5iaW4NCitMT0NBTF9BU1NFVFMgPSBtYnV0by5pbWcgbWJ1dG8ubWVtLmltZyBRRU1VX0VGSS5m ZCBcDQorCSQoREVCSUFOX0lNR1M6JT1wcmVwYXJlZC0lKSAkKEZFRE9SQV9JTUdTOiU9cHJlcGFy ZWQtJSkgXA0KKwkkKFVCVU5UVV9ORVdfSU1HUzolPXByZXBhcmVkLSUpIFwNCisJbnN0b29sIGd1 ZXN0LWtleSBndWVzdC1rZXkucHViIFwNCisJJChURVNUREFUQV9BU1NFVFMpDQorDQorQVNTRVRT ID0gJChET1dOTE9BRF9BU1NFVFMpICQoTE9DQUxfQVNTRVRTKQ0KKw0KK0NGTEFHUyA9IC1XYWxs IC1XZXJyb3IgLVdleHRyYSAtcGVkYW50aWMgLXN0ZD1jOTkNCisNCithc3NldHM6ICQoQVNTRVRT KQ0KKw0KK21idXRvOg0KKwlnaXQgY2xvbmUgZ2l0Oi8vbWJ1dG8uc2gvbWJ1dG8NCisNCitndWVz dC1rZXkgZ3Vlc3Qta2V5LnB1YjoNCisJc3NoLWtleWdlbiAtZiBndWVzdC1rZXkgLU4gJycNCisN CittYnV0by5pbWc6IHBhc3N0Lm1idXRvIG1idXRvIGd1ZXN0LWtleS5wdWIgJChURVNUREFUQV9B U1NFVFMpDQorCS4vbWJ1dG8vbWJ1dG8gLXAgLi8kPCAtYyBsejQgLWYgJEANCisNCittYnV0by5t ZW0uaW1nOiBwYXNzdC5tZW0ubWJ1dG8gbWJ1dG8gLi4vcGFzc3QuYXZ4Mg0KKwkuL21idXRvL21i dXRvIC1wIC4vJDwgLWMgbHo0IC1mICRADQorDQorbnN0b29sOiBuc3Rvb2wuYw0KKwkkKENDKSAk KENGTEFHUykgLW8gJEAgJF4NCisNCitRRU1VX0VGSS5mZDoNCisJLi9maW5kLWFybTY0LWZpcm13 YXJlLnNoICRADQorDQorcHJlcGFyZWQtJS5xY293MjogJS5xY293MiAuL3ByZXBhcmUtZGlzdHJv LWltZy5zaA0KKwlxZW11LWltZyBjcmVhdGUgLWYgcWNvdzIgLUYgcWNvdzIgLWIgJDwgJEANCisJ Li9wcmVwYXJlLWRpc3Ryby1pbWcuc2ggJEANCisNCitwcmVwYXJlZC0lLmltZzogJS5pbWcgLi9w cmVwYXJlLWRpc3Ryby1pbWcuc2gNCisJcWVtdS1pbWcgY3JlYXRlIC1mIHFjb3cyIC1GIHFjb3cy IC1iICQ8ICRADQorCS4vcHJlcGFyZS1kaXN0cm8taW1nLnNoICQoSU1HVFlQRSkgJEANCisNCitz bWFsbC5iaW46DQorCWRkIGlmPS9kZXYvdXJhbmRvbSBicz0yayBjb3VudD0xIG9mPSRADQorDQor bWVkaXVtLmJpbjoNCisJZGQgaWY9L2Rldi91cmFuZG9tIGJzPTFrIGNvdW50PTUgb2Y9JEANCisN CitiaWcuYmluOg0KKwlkZCBpZj0vZGV2L3VyYW5kb20gYnM9MU0gY291bnQ9MTAgb2Y9JEANCisN CitjaGVjazogYXNzZXRzDQorCS4vcnVuDQorDQorZGVidWc6IGFzc2V0cw0KKwlERUJVRz0xIC4v cnVuDQorDQorY2xlYW46DQorCXJtIC1mIHBlcmYuanMgKn4NCisJcm0gLWYgJChMT0NBTF9BU1NF VFMpDQorCXJtIC1yZiB0ZXN0X2xvZ3MNCisJcm0gLWYgcHJlcGFyZWQtKi5xY293MiBwcmVwYXJl ZC0qLmltZw0KKw0KK3JlYWxjbGVhbjogY2xlYW4NCisJcm0gLXJmICQoRE9XTkxPQURfQVNTRVRT KQ0KKw0KKyMgRGViaWFuIGRvd25sb2Fkcw0KK2RlYmlhbi04LjExLjAtb3BlbnN0YWNrLSUucWNv dzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC5kZWJpYW4ub3JnL2ltYWdlcy9jbG91 ZC9PcGVuU3RhY2svYXJjaGl2ZS84LjExLjAvZGViaWFuLTguMTEuMC1vcGVuc3RhY2stJCoucWNv dzINCisNCitkZWJpYW4tOS1ub2Nsb3VkLSUtZGFpbHktMjAyMDAyMTAtMTY2LnFjb3cyOg0KKwkk KFdHRVQpIC1PICRAIGh0dHBzOi8vY2xvdWQuZGViaWFuLm9yZy9pbWFnZXMvY2xvdWQvc3RyZXRj aC9kYWlseS8yMDIwMDIxMC0xNjYvZGViaWFuLTktbm9jbG91ZC0kKi1kYWlseS0yMDIwMDIxMC0x NjYucWNvdzINCisNCitkZWJpYW4tMTAtbm9jbG91ZC0lLnFjb3cyOg0KKwkkKFdHRVQpIC1PICRA IGh0dHBzOi8vY2xvdWQuZGViaWFuLm9yZy9pbWFnZXMvY2xvdWQvYnVzdGVyL2xhdGVzdC9kZWJp YW4tMTAtbm9jbG91ZC0kKi5xY293Mg0KKw0KK2RlYmlhbi0xMC1nZW5lcmljLXBwYzY0ZWwtMjAy MjA5MTEtMTEzNS5xY293MjoNCisJJChXR0VUKSAtTyAkQCBodHRwczovL2Nsb3VkLmRlYmlhbi5v cmcvaW1hZ2VzL2Nsb3VkL2J1c3Rlci8yMDIyMDkxMS0xMTM1L2RlYmlhbi0xMC1nZW5lcmljLXBw YzY0ZWwtMjAyMjA5MTEtMTEzNS5xY293Mg0KKw0KK2RlYmlhbi0xMC1nZW5lcmljLSUucWNvdzI6 DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC5kZWJpYW4ub3JnL2ltYWdlcy9jbG91ZC9i dXN0ZXIvbGF0ZXN0L2RlYmlhbi0xMC1nZW5lcmljLSQqLnFjb3cyDQorDQorZGViaWFuLTExLW5v Y2xvdWQtJS5xY293MjoNCisJJChXR0VUKSAtTyAkQCBodHRwczovL2Nsb3VkLmRlYmlhbi5vcmcv aW1hZ2VzL2Nsb3VkL2J1bGxzZXllL2xhdGVzdC9kZWJpYW4tMTEtbm9jbG91ZC0kKi5xY293Mg0K Kw0KK2RlYmlhbi0xMS1nZW5lcmljLSUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9j bG91ZC5kZWJpYW4ub3JnL2ltYWdlcy9jbG91ZC9idWxsc2V5ZS9sYXRlc3QvZGViaWFuLTExLWdl bmVyaWMtJCoucWNvdzINCisNCitkZWJpYW4tc2lkLW5vY2xvdWQtJS1kYWlseS5xY293MjoNCisJ JChXR0VUKSAtTyAkQCBodHRwczovL2Nsb3VkLmRlYmlhbi5vcmcvaW1hZ2VzL2Nsb3VkL3NpZC9k YWlseS9sYXRlc3QvZGViaWFuLXNpZC1ub2Nsb3VkLSQqLWRhaWx5LnFjb3cyDQorDQorIyBGZWRv cmEgZG93bmxvYWRzDQorRmVkb3JhLUNsb3VkLUJhc2UtMjYtMS41LiUucWNvdzI6DQorCSQoV0dF VCkgLU8gJEAgaHR0cDovL2FyY2hpdmVzLmZlZG9yYXByb2plY3Qub3JnL3B1Yi9hcmNoaXZlL2Zl ZG9yYS9saW51eC9yZWxlYXNlcy8yNi9DbG91ZEltYWdlcy8kKi9pbWFnZXMvRmVkb3JhLUNsb3Vk LUJhc2UtMjYtMS41LiQqLnFjb3cyDQorDQorRmVkb3JhLUNsb3VkLUJhc2UtMjctMS42LiUucWNv dzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cDovL2FyY2hpdmVzLmZlZG9yYXByb2plY3Qub3JnL3B1 Yi9hcmNoaXZlL2ZlZG9yYS9saW51eC9yZWxlYXNlcy8yNy9DbG91ZEltYWdlcy8kKi9pbWFnZXMv RmVkb3JhLUNsb3VkLUJhc2UtMjctMS42LiQqLnFjb3cyDQorDQorRmVkb3JhLUNsb3VkLUJhc2Ut MjgtMS4xLiUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cDovL2FyY2hpdmVzLmZlZG9yYXBy b2plY3Qub3JnL3B1Yi9hcmNoaXZlL2ZlZG9yYS9saW51eC9yZWxlYXNlcy8yOC9DbG91ZC8kKi9p bWFnZXMvRmVkb3JhLUNsb3VkLUJhc2UtMjgtMS4xLiQqLnFjb3cyDQorDQorRmVkb3JhLUNsb3Vk LUJhc2UtMjktMS4yLiUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cDovL2FyY2hpdmVzLmZl ZG9yYXByb2plY3Qub3JnL3B1Yi9hcmNoaXZlL2ZlZG9yYS9saW51eC9yZWxlYXNlcy8yOS9DbG91 ZC8kKi9pbWFnZXMvRmVkb3JhLUNsb3VkLUJhc2UtMjktMS4yLiQqLnFjb3cyDQorDQorRmVkb3Jh LUNsb3VkLUJhc2UtMzAtMS4yLiUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cDovL2FyY2hp dmVzLmZlZG9yYXByb2plY3Qub3JnL3B1Yi9hcmNoaXZlL2ZlZG9yYS9saW51eC9yZWxlYXNlcy8z MC9DbG91ZC8kKi9pbWFnZXMvRmVkb3JhLUNsb3VkLUJhc2UtMzAtMS4yLiQqLnFjb3cyDQorDQor RmVkb3JhLUNsb3VkLUJhc2UtMzEtMS45LiUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cDov L2FyY2hpdmVzLmZlZG9yYXByb2plY3Qub3JnL3B1Yi9hcmNoaXZlL2ZlZG9yYS9saW51eC9yZWxl YXNlcy8zMS9DbG91ZC8kKi9pbWFnZXMvRmVkb3JhLUNsb3VkLUJhc2UtMzEtMS45LiQqLnFjb3cy DQorDQorRmVkb3JhLUNsb3VkLUJhc2UtMzItMS42LiUucWNvdzI6DQorCSQoV0dFVCkgLU8gJEAg aHR0cHM6Ly9hcmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvYXJjaGl2ZS9mZWRvcmEvbGlu dXgvcmVsZWFzZXMvMzIvQ2xvdWQvJCovaW1hZ2VzL0ZlZG9yYS1DbG91ZC1CYXNlLTMyLTEuNi4k Ki5xY293Mg0KKw0KK0ZlZG9yYS1DbG91ZC1CYXNlLTMzLTEuMi4lLnFjb3cyOg0KKwkkKFdHRVQp IC1PICRAIGh0dHBzOi8vYXJjaGl2ZXMuZmVkb3JhcHJvamVjdC5vcmcvcHViL2FyY2hpdmUvZmVk b3JhL2xpbnV4L3JlbGVhc2VzLzMzL0Nsb3VkLyQqL2ltYWdlcy9GZWRvcmEtQ2xvdWQtQmFzZS0z My0xLjIuJCoucWNvdzINCisNCitGZWRvcmEtQ2xvdWQtQmFzZS0zNC0xLjIuJS5xY293MjoNCisJ JChXR0VUKSAtTyAkQCBodHRwczovL2FyY2hpdmVzLmZlZG9yYXByb2plY3Qub3JnL3B1Yi9hcmNo aXZlL2ZlZG9yYS9saW51eC9yZWxlYXNlcy8zNC9DbG91ZC8kKi9pbWFnZXMvRmVkb3JhLUNsb3Vk LUJhc2UtMzQtMS4yLiQqLnFjb3cyDQorDQorRmVkb3JhLUNsb3VkLUJhc2UtMzUtMS4yLiUucWNv dzI6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9hcmNoaXZlcy5mZWRvcmFwcm9qZWN0Lm9yZy9w dWIvYXJjaGl2ZS9mZWRvcmEvbGludXgvcmVsZWFzZXMvMzUvQ2xvdWQvJCovaW1hZ2VzL0ZlZG9y YS1DbG91ZC1CYXNlLTM1LTEuMi4kKi5xY293Mg0KKw0KKyMgT3BlblN1U0UgZG93bmxvYWRzDQor b3BlblNVU0UtTGVhcC0xNS4xLUplT1MueDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyOg0KKwkkKFdH RVQpIC1PICRAIGh0dHBzOi8vZG93bmxvYWQub3BlbnN1c2Uub3JnL2Rpc3RyaWJ1dGlvbi9sZWFw LzE1LjEvamVvcy9vcGVuU1VTRS1MZWFwLTE1LjEtSmVPUy54ODZfNjQta3ZtLWFuZC14ZW4ucWNv dzINCisNCitvcGVuU1VTRS1MZWFwLTE1LjItSmVPUy54ODZfNjQta3ZtLWFuZC14ZW4ucWNvdzI6 DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9kb3dubG9hZC5vcGVuc3VzZS5vcmcvZGlzdHJpYnV0 aW9uL2xlYXAvMTUuMi9hcHBsaWFuY2VzL29wZW5TVVNFLUxlYXAtMTUuMi1KZU9TLng4Nl82NC1r dm0tYW5kLXhlbi5xY293Mg0KKw0KK29wZW5TVVNFLUxlYXAtMTUuMy1KZU9TLng4Nl82NC1rdm0t YW5kLXhlbi5xY293MjoNCisJJChXR0VUKSAtTyAkQCBodHRwczovL2Rvd25sb2FkLm9wZW5zdXNl Lm9yZy9kaXN0cmlidXRpb24vbGVhcC8xNS4zL2FwcGxpYW5jZXMvb3BlblNVU0UtTGVhcC0xNS4z LUplT1MueDg2XzY0LWt2bS1hbmQteGVuLnFjb3cyDQorDQorb3BlblNVU0UtVHVtYmxld2VlZC1B Uk0tSmVPUy1lZmkuYWFyY2g2NC5yYXcueHo6DQorCSQoV0dFVCkgLU8gJEAgaHR0cDovL2Rvd25s b2FkLm9wZW5zdXNlLm9yZy9wb3J0cy9hYXJjaDY0L3R1bWJsZXdlZWQvYXBwbGlhbmNlcy9vcGVu U1VTRS1UdW1ibGV3ZWVkLUFSTS1KZU9TLWVmaS5hYXJjaDY0LnJhdy54eg0KKw0KK29wZW5TVVNF LVR1bWJsZXdlZWQtQVJNLUplT1MtZWZpLmFybXY3bC5yYXcueHo6DQorCSQoV0dFVCkgLU8gJEAg aHR0cDovL2Rvd25sb2FkLm9wZW5zdXNlLm9yZy9wb3J0cy9hcm12N2hsL3R1bWJsZXdlZWQvYXBw bGlhbmNlcy9vcGVuU1VTRS1UdW1ibGV3ZWVkLUFSTS1KZU9TLWVmaS5hcm12N2wucmF3Lnh6DQor DQorb3BlblNVU0UtVHVtYmxld2VlZC1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MjoNCisJ JChXR0VUKSAtTyAkQCBodHRwczovL2Rvd25sb2FkLm9wZW5zdXNlLm9yZy90dW1ibGV3ZWVkL2Fw cGxpYW5jZXMvb3BlblNVU0UtVHVtYmxld2VlZC1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293 Mg0KKw0KKyMgVWJ1bnR1IGRvd25sb2Fkcw0KK3RydXN0eS1zZXJ2ZXItY2xvdWRpbWctJS1kaXNr MS5pbWc6DQorCSQoV0dFVCkgLU8gJEAgaHR0cHM6Ly9jbG91ZC1pbWFnZXMudWJ1bnR1LmNvbS90 cnVzdHkvY3VycmVudC90cnVzdHktc2VydmVyLWNsb3VkaW1nLSQqLWRpc2sxLmltZw0KKw0KK3hl bmlhbC1zZXJ2ZXItY2xvdWRpbWctcG93ZXJwYy1kaXNrMS5pbWc6DQorCSQoV0dFVCkgLU8gJEAg aHR0cHM6Ly9jbG91ZC1pbWFnZXMudWJ1bnR1LmNvbS94ZW5pYWwvY3VycmVudC94ZW5pYWwtc2Vy dmVyLWNsb3VkaW1nLXBvd2VycGMtZGlzazEuaW1nDQorDQoramFtbXktc2VydmVyLWNsb3VkaW1n LXMzOTB4LmltZzoNCisJJChXR0VUKSAtTyAkQCBodHRwczovL2Nsb3VkLWltYWdlcy51YnVudHUu Y29tL2phbW15L2N1cnJlbnQvamFtbXktc2VydmVyLWNsb3VkaW1nLXMzOTB4LmltZw0KZGlmZiAt LWdpdCBhL29sZHRlc3QvUkVBRE1FLm1kIGIvb2xkdGVzdC9SRUFETUUubWQNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4wM2M3ZjU3DQotLS0gL2Rldi9udWxsDQorKysgYi9v bGR0ZXN0L1JFQURNRS5tZA0KQEAgLTAsMCArMSwxMzcgQEANCis8IS0tLQ0KK1NQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorQ29weXJpZ2h0IChjKSAyMDIxLTIwMjIg UmVkIEhhdCBHbWJIDQorQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29t Pg0KKy0tPg0KKw0KKyMgU2NvcGUNCisNCitUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0ZXN0IGNh c2VzIGZvciBfcGFzc3RfIGFuZCBfcGFzdGFfIGFuZCBhIHNpbXBsZQ0KK1BPU0lYIHNoZWxsLWJh c2VkIGZyYW1ld29yayB0byBkZWZpbmUgdGhlbSwgYW5kIHJ1biB0aGVtIGFzIGEgc3VpdGUuDQor DQorVGhlc2UgdGVzdHMgY2FuIGJlIHJ1biBhcyBwYXJ0IG9mIGEgY29udGludW91cyBpbnRlZ3Jh dGlvbiB3b3JrZmxvdywgYW5kIGFyZQ0KK2Fsc28gdXNlZCB0byBwcm92aWRlIHNob3J0IHVzYWdl IGRlbW9zLCB3aXRoIHZpZGVvIHJlY29yZGluZywgZm9yIF9wYXNzdF8gYW5kDQorX3Bhc3RhXyBi YXNpYyB1c2UgY2FzZXMuDQorDQorIyBSdW4NCisNCisjIyBEZXBlbmRlbmNpZXMNCisNCisjIyMg UGFja2FnZXMNCisNCitUaGUgdGVzdHMgcmVxdWlyZSBzb21lIHBhY2thZ2UgZGVwZW5kZW5jaWVz IGNvbW1vbmx5IGF2YWlsYWJsZSBpbiBMaW51eA0KK2Rpc3RyaWJ1dGlvbnMuIElmIHNvbWUgcGFj a2FnZXMgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSB0ZXN0IGdyb3VwcyB0aGF0IG5lZWQNCit0aGVt IHdpbGwgYmUgc2VsZWN0aXZlbHkgc2tpcHBlZC4NCisNCitUaGlzIGlzIGEgbm9uLWV4aGF1c3Rp dmUgbGlzdCBvZiBwYWNrYWdlcyB0aGF0IG1pZ2h0IG5vdCBjb21tb25seSBiZSBpbnN0YWxsZWQN CitvbiBhIHN5c3RlbSwgaS5lLiBjb21tb24gdXRpbGl0aWVzIHN1Y2ggYXMgYSBzaGVsbCBhcmUg bm90IGluY2x1ZGVkIGhlcmUuDQorDQorRXhhbXBsZSBmb3IgRGViaWFuLCBhbmQgcG9zc2libHkg bW9zdCBEZWJpYW4tYmFzZWQgZGlzdHJpYnV0aW9uczoNCisNCisgICAgYnVpbGQtZXNzZW50aWFs IGdpdCBqcSBzdHJhY2UgaXBlcmYzIHFlbXUtc3lzdGVtLXg4NiB0bXV4IHNpcGNhbGMgYmMNCisg ICAgY2xhbmctdGlkeSBjcHBjaGVjayBpc2MtZGhjcC1jb21tb24gcHNtaXNjIGxpbnV4LWNwdXBv d2VyIHNvY2F0DQorICAgIG5ldGNhdC1vcGVuYnNkIGZha2Vyb290IGx6NCBsbS1zZW5zb3JzIHFl bXUtc3lzdGVtLWFybSBxZW11LXN5c3RlbS1wcGMNCisgICAgcWVtdS1zeXN0ZW0tbWlzYyBxZW11 LXN5c3RlbS14ODYgdmFsZ3JpbmQNCisNCitOT1RFOiB0aGUgdGVzdHMgbmVlZCBhIHFlbXUgdmVy c2lvbiA+PSA3LjIsIG9yIG9uZSB0aGF0IGNvbnRhaW5zIGNvbW1pdA0KKzEzYzZiZTk2NjE4YyAo Im5ldDogc3RyZWFtOiBhZGQgdW5peCBzb2NrZXQiKTogdGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBz dXBwb3J0DQorZm9yIFVOSVggZG9tYWluIHNvY2tldHMgYXMgbmV0d29yayBkZXZpY2UgYmFjay1l bmQsIHdoaWNoIHFlbXUgdXNlcyB0byBjb25uZWN0DQordG8gcGFzc3QuDQorDQorIyMjIE90aGVy IHRvb2xzDQorDQorVGVzdCBtZWFzdXJpbmcgcmVxdWVzdC1yZXNwb25zZSBhbmQgY29ubmVjdC1y ZXF1ZXN0LXJlc3BvbnNlIGxhdGVuY2llcyB1c2UNCitgbmVwZXJgLCB3aGljaCBpcyBub3QgY29t bW9ubHkgcGFja2FnZWQgYnkgZGlzdHJpYnV0aW9ucyBhbmQgbmVlZHMgdG8gYmUgYnVpbHQNCith bmQgaW5zdGFsbGVkIG1hbnVhbGx5Og0KKw0KKyAgICBnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIu Y29tL2dvb2dsZS9uZXBlcg0KKyAgICBjZCBuZXBlcjsgbWFrZQ0KKyAgICBjcCB0Y3BfY3JyIHRj cF9yciB1ZHBfcnIgL3Vzci9sb2NhbC9iaW4NCisNCitWaXJ0dWFsIG1hY2hpbmUgaW1hZ2VzIGFy ZSBidWlsdCBkdXJpbmcgdGVzdCBleGVjdXRpb25zIHVzaW5nDQorW21idXRvXShodHRwczovL21i dXRvLmxhbWVleGN1LnNlLyksIHRoZSBzaGVsbCBzY3JpcHQgaXMgc291cmNlZCB2aWEgX2dpdF8N CithcyBuZWVkZWQsIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBhY3R1YWxseSBpbnN0YWxsIGl0Lg0K Kw0KKyMjIyBLZXJuZWwgcGFyYW1ldGVycw0KKw0KK1BlcmZvcm1hbmNlIHRlc3RzIHVzZSBpcGVy ZjMgd2l0aCByYXRoZXIgbGFyZ2UgVENQIHJlY2VpdmluZyBhbmQgc2VuZGluZw0KK3dpbmRvd3Ms IHRvIGRlY3JlYXNlIHRoZSBsaWtlbGlob29kIG9mIGlwZXJmMyBpdHNlbGYgYmVjb21pbmcgdGhl IGJvdHRsZW5lY2suDQorVGhlc2UgdmFsdWVzIG5lZWQgdG8gYmUgYWxsb3dlZCBieSB0aGUga2Vy bmVsIG9mIHRoZSBob3N0IHJ1bm5pbmcgdGhlIHRlc3RzLg0KK0V4YW1wbGUgZm9yIC9ldGMvc3lz Y3RsLmNvbmY6DQorDQorICBuZXQuY29yZS5ybWVtX21heCA9IDEzNDIxNzcyOA0KKyAgbmV0LmNv cmUud21lbV9tYXggPSAxMzQyMTc3MjgNCisNCitGdXJ0aGVyLCB0aGUgcGFzc3QgZGVtbyB1c2Vz IHBlcmYoMSksIHJlbHlpbmcgb24gaGFyZHdhcmUgZXZlbnRzIGZvciBwZXJmb3JtYW5jZQ0KK2Nv dW50ZXJzLCB0byBkaXNwbGF5IHN5c2NhbGwgb3ZlcmhlYWQuIFRoZSBrZXJuZWwgbmVlZHMgdG8g YWxsb3cgdW5wcml2aWxlZ2VkDQordXNlcnMgdG8gYWNjZXNzIHRoZXNlIGV2ZW50cy4gU3VnZ2Vz dGVkIGVudHJ5IGZvciAvZXRjL3N5c2N0bC5jb25mOg0KKw0KKyAga2VybmVsLnBlcmZfZXZlbnRf cGFyYW5vaWQgPSAtMQ0KKw0KKyMjIyBTcGVjaWFsIHJlcXVpcmVtZW50cyBmb3IgY29udGludW91 cyBpbnRlZ3JhdGlvbiBhbmQgZGVtbyBtb2Rlcw0KKw0KK1J1bm5pbmcgdGhlIHRlc3Qgc3VpdGUg YXMgY29udGludW91cyBpbnRlZ3JhdGlvbiBvciBkZW1vIG1vZGVzIHdpbGwgcmVjb3JkIHRoZQ0K K3Rlcm1pbmFsIHdpdGggdGhlIHN0ZXBzIGJlaW5nIGV4ZWN1dGVkLCB1c2luZyBhc2NpaW5lbWEo MSksIGFuZCBjcmVhdGUgYmluYXJ5DQorcGFja2FnZXMuDQorDQorVGhlIGZvbGxvd2luZyBhZGRp dGlvbmFsIHBhY2thZ2VzIGFyZSBjb21tb25seSBuZWVkZWQ6DQorDQorICAgIGFsaWVuIGFzY2lp bmVtYSBsaW51eC1wZXJmIHRzaGFyaw0KKw0KKyMjIFJlZ3VsYXIgdGVzdA0KKw0KK0p1c3QgaXNz dWU6DQorDQorICAgIC4vcnVuDQorDQorZnJvbSB0aGUgYHRlc3RgIGRpcmVjdG9yeS4gRWxldmF0 ZWQgcHJpdmlsZWdlcyBhcmUgbm90IG5lZWRlZC4gRW52aXJvbm1lbnQNCit2YXJpYWJsZSBzZXR0 aW5nczogREVCVUc9MSBlbmFibGVzIGRlYnVnZ2luZyBtZXNzYWdlcywgVFJBQ0U9MSBlbmFibGVz IHRyYWNpbmcNCisoZnVydGhlciBkZWJ1Z2dpbmcgbWVzc2FnZXMpLCBQQ0FQPTEgZW5hYmxlcyBw YWNrZXQgY2FwdHVyZXMuIEV4YW1wbGU6DQorDQorICAgIFBDQVA9MSBUUkFDRT0xIC4vcnVuDQor DQorIyMgUnVubmluZyBzZWxlY3RlZCB0ZXN0cw0KKw0KK1J1ZGltZW50YXJ5IHN1cHBvcnQgdG8g cnVuIGEgbGlzdCBvZiBzZWxlY3RlZCB0ZXN0cywgd2l0aG91dCBzdXBwb3J0IGZvcg0KK2RlcGVu ZGVuY2llcywgaXMgYXZhaWxhYmxlLiBUZXN0cyBuZWVkIHRvIGhhdmUgYSBzZXR1cCBmdW5jdGlv biBjb3JyZXNwb25kaW5nIHRvDQordGhlaXIgcGF0aC4gRm9yIGV4YW1wbGU6DQorDQorICAgIC4v cnVuIHBhc3N0L25kcCBwYXNzdC9kaGNwIHBhc3RhL25kcA0KKw0KK3dpbGwgY2FsbCB0aGUgJ3Bh c3N0JyBzZXR1cCBmdW5jdGlvbiAoZnJvbSBsaWIvc2V0dXApLCBydW4gdGhlIHR3byBjb3JyZXNw b25kaW5nDQordGVzdHMsIGNhbGwgdGhlICdwYXNzdCcgdGVhcmRvd24gZnVuY3Rpb24sIHRoZSAn cGFzdGEnIHNldHVwLCBydW4gdGhlIHBhc3RhL25kcA0KK3Rlc3QsIGFuZCBmaW5hbGx5IHRlYXIg ZG93biB0aGUgJ3Bhc3RhJyBzZXR1cC4NCisNCitOb3RlIHRoYXQgcmVxdWlyZW1lbnRzIG9uIHN0 ZXBzIGltcGxlbWVudGVkIGJ5IHJlbGF0ZWQgdGVzdHMgYXJlIG5vdCBoYW5kbGVkLg0KK0ZvciBl eGFtcGxlLCBpZiB0aGUgJ3Bhc3N0L3RjcCcgbmVlZHMgZ3Vlc3QgY29ubmVjdGl2aXR5IHNldCB1 cCBieSB0aGUNCisncGFzc3QvbmRwJyBhbmQgJ3Bhc3N0L2RoY3AnIHRlc3RzLCB0aG9zZSBuZWVk IHRvIGJlIGxpc3RlZCBleHBsaWNpdGx5Lg0KKw0KKyMjIENvbnRpbnVvdXMgaW50ZWdyYXRpb24N CisNCitJc3N1aW5nOg0KKw0KKyAgICAuL2NpDQorDQord2lsbCBydW4gdGhlIHdob2xlIHRlc3Qg c3VpdGUgd2hpbGUgcmVjb3JkaW5nIHRoZSBleGVjdXRpb24sIGFuZCBpdCB3aWxsIGFsc28NCiti dWlsZCBKYXZhU2NyaXB0IGZyYWdtZW50cyB1c2VkIG9uIGh0dHA6Ly9wYXNzdC50b3AvIGZvciBw ZXJmb3JtYW5jZSBkYXRhIHRhYmxlcw0KK2FuZCBsaW5rcyB0byBzcGVjaWZpYyBvZmZzZXRzIGlu IHRoZSBjYXB0dXJlcy4NCisNCisjIyBEZW1vIG1vZGUNCisNCitJc3N1aW5nOg0KKw0KKyAgICAu L2RlbW8NCisNCit3aWxsIHJ1biB0aGUgZGVtbyBjYXNlcyB1bmRlciBgZGVtb2AsIHdpdGggdGVy bWluYWwgY2FwdHVyZXMgYXMgd2VsbC4NCisNCisjIEZyYW1ld29yaw0KKw0KK1RoZSBpbXBsZW1l bnRhdGlvbiBvZiB0aGUgdGVzdGluZyBmcmFtZXdvcmsgaXMgdW5kZXIgYGxpYmAsIGFuZCBpdCBw cm92aWRlcw0KK2ZhY2lsaXRpZXMgZm9yIHRlcm1pbmFsIGFuZCBfdG11eF8gc2Vzc2lvbiBtYW5h Z2VtZW50LCBpbnRlcnByZXRhdGlvbiBvZiB0ZXN0DQorZGlyZWN0aXZlcywgdmlkZW8gcmVjb3Jk aW5nLCBhbmQgc3VjaGxpa2UuIFRlc3QgY2FzZXMgYXJlIG9yZ2FuaXNlZCBpbiB0aGUNCityZW1h aW5pbmcgZGlyZWN0b3JpZXMuDQorDQorVGVzdCBjYXNlcyBjYW4gYmUgaW1wbGVtZW50ZWQgYXMg UE9TSVggc2hlbGwgc2NyaXB0cywgb3IgYXMgYSBzZXQgb2YgZGlyZWN0aXZlcywNCit3aGljaCBh cmUgbm90IGZvcm1hbGx5IGRvY3VtZW50ZWQgaGVyZSwgYnV0IHNob3VsZCBiZSBjbGVhciBlbm91 Z2ggZnJvbSB0aGUNCitleGlzdGluZyBjYXNlcy4gVGhlIGVudHJ5IHBvaW50IGZvciBpbnRlcnBy ZXRhdGlvbiBvZiB0ZXN0IGRpcmVjdGl2ZXMgaXMNCitpbXBsZW1lbnRlZCBpbiBgbGliL3Rlc3Rg Lg0KZGlmZiAtLWdpdCBhL29sZHRlc3QvYnVpbGQvYWxsIGIvb2xkdGVzdC9idWlsZC9hbGwNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4xZjc5ZTBkDQotLS0gL2Rldi9udWxs DQorKysgYi9vbGR0ZXN0L2J1aWxkL2FsbA0KQEAgLTAsMCArMSw2MSBAQA0KKyMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBT aW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBt b2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZv ciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2J1aWxkL2Fs bCAtIEJ1aWxkIHRhcmdldHMsIG9uZSBieSBvbmUsIHRoZW4gYWxsIHRvZ2V0aGVyLCBjaGVjayBv dXRwdXQNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6 IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQoraHRvb2xzCW1ha2UgY2Mg cm0gdW5hbWUgZ2V0Y29uZiBta2RpciBjcCBybSBtYW4NCisNCit0ZXN0CUJ1aWxkIHBhc3N0DQor aG9zdAltYWtlIGNsZWFuDQorY2hlY2sJISBbIC1lIHBhc3N0IF0NCitob3N0CUNGTEFHUz0iLVdl cnJvciIgbWFrZSBwYXNzdA0KK2NoZWNrCVsgLWYgcGFzc3QgXQ0KKw0KK3Rlc3QJQnVpbGQgcGFz dGENCitob3N0CW1ha2UgY2xlYW4NCitjaGVjawkhIFsgLWUgcGFzdGEgXQ0KK2hvc3QJQ0ZMQUdT PSItV2Vycm9yIiBtYWtlIHBhc3RhDQorY2hlY2sJWyAtaCBwYXN0YSBdDQorDQordGVzdAlCdWls ZCBxcmFwDQoraG9zdAltYWtlIGNsZWFuDQorY2hlY2sJISBbIC1lIHFyYXAgXQ0KK2hvc3QJQ0ZM QUdTPSItV2Vycm9yIiBtYWtlIHFyYXANCitjaGVjawlbIC1mIHFyYXAgXQ0KKw0KK3Rlc3QJQnVp bGQgYWxsDQoraG9zdAltYWtlIGNsZWFuDQorY2hlY2sJISBbIC1lIHBhc3N0IF0NCitjaGVjawkh IFsgLWUgcGFzdGEgXQ0KK2NoZWNrCSEgWyAtZSBxcmFwIF0NCitob3N0CUNGTEFHUz0iLVdlcnJv ciIgbWFrZQ0KK2NoZWNrCVsgLWYgcGFzc3QgXQ0KK2NoZWNrCVsgLWggcGFzdGEgXQ0KK2NoZWNr CVsgLWYgcXJhcCBdDQorDQordGVzdAlJbnN0YWxsDQoraG9zdAlta2RpciBfX1NUQVRFRElSX18v cHJlZml4DQoraG9zdAlwcmVmaXg9X19TVEFURURJUl9fL3ByZWZpeCBtYWtlIGluc3RhbGwNCitj aGVjawlbIC1mIF9fU1RBVEVESVJfXy9wcmVmaXgvYmluL3Bhc3N0IF0NCitjaGVjawlbIC1oIF9f U1RBVEVESVJfXy9wcmVmaXgvYmluL3Bhc3RhIF0NCitjaGVjawlbIC1mIF9fU1RBVEVESVJfXy9w cmVmaXgvYmluL3FyYXAgXQ0KK2NoZWNrCW1hbiAtTSBfX1NUQVRFRElSX18vcHJlZml4L3NoYXJl L21hbiAtVyBwYXNzdA0KK2NoZWNrCW1hbiAtTSBfX1NUQVRFRElSX18vcHJlZml4L3NoYXJlL21h biAtVyBwYXN0YQ0KK2NoZWNrCW1hbiAtTSBfX1NUQVRFRElSX18vcHJlZml4L3NoYXJlL21hbiAt VyBxcmFwDQorDQordGVzdAlVbmluc3RhbGwNCitob3N0CXByZWZpeD1fX1NUQVRFRElSX18vcHJl Zml4IG1ha2UgdW5pbnN0YWxsDQorY2hlY2sJISBbIC1mIF9fU1RBVEVESVJfXy9wcmVmaXgvYmlu L3Bhc3N0IF0NCitjaGVjawkhIFsgLWggX19TVEFURURJUl9fL3ByZWZpeC9iaW4vcGFzdGEgXQ0K K2NoZWNrCSEgWyAtZiBfX1NUQVRFRElSX18vcHJlZml4L2Jpbi9xcmFwIF0NCitjaGVjawkhIG1h biAtTSBfX1NUQVRFRElSX18vcHJlZml4L3NoYXJlL21hbiAtVyBwYXNzdCAyPi9kZXYvbnVsbA0K K2NoZWNrCSEgbWFuIC1NIF9fU1RBVEVESVJfXy9wcmVmaXgvc2hhcmUvbWFuIC1XIHBhc3RhIDI+ L2Rldi9udWxsDQorY2hlY2sJISBtYW4gLU0gX19TVEFURURJUl9fL3ByZWZpeC9zaGFyZS9tYW4g LVcgcXJhcCAyPi9kZXYvbnVsbA0KZGlmZiAtLWdpdCBhL29sZHRlc3QvYnVpbGQvY2xhbmdfdGlk eSBiL29sZHRlc3QvYnVpbGQvY2xhbmdfdGlkeQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAuLjQwNTczYmYNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvYnVpbGQvY2xh bmdfdGlkeQ0KQEAgLTAsMCArMSwxNyBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5z cG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEg LSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFj ZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2J1aWxkL2NsYW5nX3RpZHkgLSBSdW4gc291 cmNlIHRocm91Z2ggY2xhbmctdGlkeSgxKSBsaW50ZXINCisjDQorIyBDb3B5cmlnaHQgKGMpIDIw MjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhh dC5jb20+DQorDQoraHRvb2xzCWNsYW5nLXRpZHkNCisNCit0ZXN0CVJ1biBjbGFuZy10aWR5DQor aG9zdAltYWtlIGNsYW5nLXRpZHkNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2J1aWxkL2NwcGNoZWNr IGIvb2xkdGVzdC9idWlsZC9jcHBjaGVjaw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAuLjBlMWRiY2UNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvYnVpbGQvY3BwY2hl Y2sNCkBAIC0wLDAgKzEsMTcgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQN CisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFj ayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFw IGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9idWlsZC9jcHBjaGVjayAtIFJ1biBzb3VyY2UgdGhy b3VnaCBjcHBjaGVjaygxKSBsaW50ZXINCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhh dCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQor DQoraHRvb2xzCWNwcGNoZWNrDQorDQordGVzdAlSdW4gY3BwY2hlY2sNCitob3N0CW1ha2UgY3Bw Y2hlY2sNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2NpIGIvb2xkdGVzdC9jaQ0KbmV3IGZpbGUgbW9k ZSAxMjAwMDANCmluZGV4IDAwMDAwMDAuLmU1MjI0ZDUNCi0tLSAvZGV2L251bGwNCisrKyBiL29s ZHRlc3QvY2kNCkBAIC0wLDAgKzEgQEANCitydW4NClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvZGVtby9wYXNzdCBiL29sZHRlc3QvZGVtby9wYXNzdA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmEzYzE4YjgNCi0tLSAvZGV2L251 bGwNCisrKyBiL29sZHRlc3QvZGVtby9wYXNzdA0KQEAgLTAsMCArMSwyNDUgQEANCisjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVn IEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2Nr ZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisj ICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9kZW1v L3Bhc3N0IC0gUXVpY2sgaW50cm9kdWN0aW9uIHRvIHBhc3N0DQorIw0KKyMgQ29weXJpZ2h0IChj KSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0By ZWRoYXQuY29tPg0KKw0KK3NheQlUaGlzIGlzIGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIA0KK2Vt CXBhc3N0DQorc2F5CS4NCitubA0KK25sDQorc2xlZXAJMw0KKw0KK3NheQlMZXQncyBmZXRjaCB0 aGUgc291cmNlDQorc2xlZXAJMQ0KK2hvc3QJY2QgX19TVEFURURJUl9fDQoraG9zdAlnaXQgY2xv bmUgZ2l0Oi8vcGFzc3QudG9wL3Bhc3N0DQorc2xlZXAJMQ0KKw0KK3NheQkgYW5kIGJ1aWxkIGl0 Lg0KK3NsZWVwCTENCitob3N0CWNkIHBhc3N0DQoraG9zdAltYWtlDQorc2xlZXAJMQ0KKw0KK25s DQorbmwNCitzYXkJQSBxdWljayBsb29rIGF0IHRoZSBtYW4gcGFnZS4uLg0KK3NsZWVwCTENCito b3N0YgltYW4gLi9wYXNzdC4xDQorc2xlZXAJNQ0KK2hvc3RiCS9wb3J0cw0KK3NsZWVwCTINCito b3N0YgluDQorc2xlZXAJMg0KK2hvc3RiCW4NCitzbGVlcAkxMA0KKw0KK25sDQorc2F5CSAgJy10 JyB0byBmb3J3YXJkIFRDUCBwb3J0cy4NCitzbGVlcAkzDQoraG9zdAlxDQorDQorbmwNCitubA0K K3NheQlMZXQncyBjcmVhdGUgYSBzbWFsbCBpbml0cmFtZnMgaW1hZ2UgZm9yIHRoZSBndWVzdC4N CitndWVzdAljZCBfX1NUQVRFRElSX18NCitndWVzdAlnaXQgY2xvbmUgZ2l0Oi8vbWJ1dG8uc2gv bWJ1dG8NCitndWVzdAkuL21idXRvL21idXRvIC1mIHBhc3N0LmltZyAtcCBwYXNzdC90ZXN0L3Bh c3N0Lm1idXRvIC1jIGx6NA0KK3NsZWVwCTINCisNCitubA0KK25sDQorc2F5CVdlIHdhbnQgdG8g aXNvbGF0ZSBwYXNzdCBhbmQgZ3Vlc3QgaW4gYQ0KK25sDQorc2F5CSAgbmV0d29yayBuYW1lc3Bh Y2UuIEZvciBjb252ZW5pZW5jZSwgd2UnbGwNCitubA0KK3NheQkgIGNyZWF0ZSBpdCB3aXRoICdw YXN0YScsIHNlZSBhbHNvIHRoZQ0KK25sDQorc2F5CSAgJ3Bhc3RhJyBkZW1vIGFib3ZlLg0KK3Ns ZWVwCTMNCisNCitwYXNzdAljZCBfX1NUQVRFRElSX18vcGFzc3QNCitwYXNzdGIJLi9wYXN0YSAt UCBwYXN0YS5waWQNCitzbGVlcAkzDQorcGFzc3QJL3NiaW4vZGhjbGllbnQgLTQgLS1uby1waWQN CitzbGVlcAkyDQorcGFzc3QJL3NiaW4vZGhjbGllbnQgLTYgLS1uby1waWQNCitzbGVlcAkyDQor DQorbmwNCitubA0KK3NheQlOb3cgbGV0J3MgcnVuICdwYXNzdCcgaW4gdGhlIG5ldyBuYW1lc3Bh Y2UsIGFuZA0KK25sDQorc2F5CSAgZW50ZXIgdGhpcyBuYW1lc3BhY2UgZnJvbSB0aGUgZ3Vlc3Qg dGVybWluYWwgdG9vLg0KK3NsZWVwCTMNCitndWVzdAljZCBwYXNzdA0KK2dvdXQJVEFSR0VUX1BJ RCBwZ3JlcCAtUCAkKGNhdCBwYXN0YS5waWQpDQorc2xlZXAJMQ0KKw0KK3Bhc3N0YgkuL3Bhc3N0 IC1mIC10IDEwMDAxLDEwMDAzIC1zIF9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQNCitzbGVlcAky DQorDQorZ3Vlc3QJbnNlbnRlciAtdCBfX1RBUkdFVF9QSURfXyAtVSAtbiAtLXByZXNlcnZlLWNy ZWRlbnRpYWxzDQorc2xlZXAJNQ0KKw0KK25sDQorbmwNCitzYXkJV2UncmUgcmVhZHkgdG8gc3Rh cnQgcWVtdQ0KK25sDQorc2xlZXAJMg0KK2hvdXQJVk1MSU5VWiBlY2hvICIvYm9vdC92bWxpbnV6 LSQodW5hbWUgLXIpIg0KK2d1ZXN0CXFlbXUtc3lzdGVtLXg4Nl82NCAtZW5hYmxlLWt2bSAtbSA0 MDk2IC1jcHUgaG9zdCAtc21wIDQgLWtlcm5lbCBfX1ZNTElOVVpfXyAtaW5pdHJkIC4uL3Bhc3N0 LmltZyAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLWFwcGVuZCAiY29uc29s ZT10dHlTMCIgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0s aWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bh c3N0LnNvY2tldA0KK3NsZWVwCTEwDQorDQorbmwNCitubA0KK2d1ZXN0CWlwIGxpbmsgc2hvdw0K K3NsZWVwCTMNCitzYXkJR3Vlc3QgaXMgdXAuIExldCdzIGNvbmZpZ3VyZSBJUHY0IGZpcnN0Li4u DQorc2xlZXAJMg0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBldGgwIHVwDQorc2xlZXAJMg0KK2d1 ZXN0CWRoY2xpZW50IC00DQorc2xlZXAJMg0KK2d1ZXN0CWlwIGFkZHIgc2hvdw0KK3NsZWVwCTUN CisNCitubA0KK3NheQkgIFNMQUFDIGlzIGFscmVhZHkgZG9uZSwgYnV0IHdlIGNhbiBhbHNvDQor bmwNCitzYXkJICBnZXQgYW5vdGhlciBhZGRyZXNzIHZpYSBESENQdjYuDQorc2xlZXAJMw0KK2d1 ZXN0CWRoY2xpZW50IC02DQorc2xlZXAJMw0KKw0KK25sDQorbmwNCitzYXkJTGV0J3MgdHJ5IHRv IGNvbW11bmljYXRlIGJldHdlZW4gaG9zdCBhbmQgZ3Vlc3QuDQorc2xlZXAJMg0KK2d1ZXN0Yglz b2NhdCBUQ1A2LUxJU1RFTjoxMDAwMSBTVERJTw0KK3NsZWVwCTINCitob3N0CWVjaG8gIkhlbGxv IGZyb20gdGhlIGhvc3QiIHwgc29jYXQgLXUgU1RESU4gVENQNjpbOjoxXToxMDAwMQ0KK3NsZWVw CTUNCisNCitubA0KK25sDQorc2F5CU5vdyB0aGUgb3RoZXIgd2F5IGFyb3VuZC4uLiB1c2luZw0K K25sDQorc2F5CSAgIHRoZSBhZGRyZXNzIG9mIHRoZSBkZWZhdWx0IGdhdGV3YXkuDQorc2xlZXAJ Mg0KK2dvdXQJR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0 ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitzbGVlcAk1DQoraG9zdGIJc29jYXQgVENQNC1MSVNU RU46MzEzMzcgU1RESU8NCitzbGVlcAkyDQorZ3Vlc3QJZWNobyAiSGVsbG8gZnJvbSB0aGUgZ3Vl c3QiIHwgc29jYXQgLXUgU1RESU4gVENQNDpfX0dXX186MzEzMzcNCitzbGVlcAkzDQorDQorbmwN CitubA0KK3NheQlMZXQncyBoYXZlIGEgKHF1aWNrISkgbG9vayBhdCBwZXJmb3JtYW5jZQ0KK25s DQorc2F5CSAgbW9yZSBpbiB0aGUgIlBlcmZvcm1hbmNlIiBzZWN0aW9uIGJlbG93Lg0KK3NsZWVw CTMNCisNCitob3N0CW5zZW50ZXIgLXQgX19UQVJHRVRfUElEX18gLVUgLW4gLS1wcmVzZXJ2ZS1j cmVkZW50aWFscw0KKw0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29yZS5ybWVtX21heD01 MzY4NzA5MTINCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmNvcmUud21lbV9tYXg9NTM2ODcw OTEyDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5jb3JlLnJtZW1fZGVmYXVsdD0zMzU1NDQz Mg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuY29yZS53bWVtX2RlZmF1bHQ9MzM1NTQ0MzIN CitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmlwdjQudGNwX3JtZW09IjQwOTYgMTMxMDcyIDI2 ODQzNTQ1NiINCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmlwdjQudGNwX3dtZW09IjQwOTYg MTMxMDcyIDI2ODQzNTQ1NiINCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmlwdjQudGNwX3Rp bWVzdGFtcHM9MA0KKw0KK2hvc3QJc3lzY3RsIC13IG5ldC5pcHY0LnRjcF9ybWVtPSI0MDk2IDUy NDI4OCAxMzQyMTc3MjgiDQoraG9zdAlzeXNjdGwgLXcgbmV0LmlwdjQudGNwX3dtZW09IjQwOTYg NTI0Mjg4IDEzNDIxNzcyOCINCitob3N0CXN5c2N0bCAtdyBuZXQuaXB2NC50Y3BfdGltZXN0YW1w cz0wDQorDQorZ291dAlHVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVj dCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitnb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNo b3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScN CitubA0KK25sDQoraW5mbwlUaHJvdWdocHV0IGluIEdicHMsIGxhdGVuY3kgaW4gwrVzDQordGgJ ZmxvdyBob3N0Pmd1ZXN0IGd1ZXN0Pmhvc3QNCisNCitzZXQJT1BUUyAtUDQgLXcgNjRNIC1sIDFN IC1pMSAtLXBhY2luZy10aW1lciAxMDAwMDANCisNCit0cglUQ1AvSVB2NiB0aHJvdWdocHV0DQor aG9zdGIJc2xlZXAgMTA7IGlwZXJmMyAtYyA6OjEgLXAgMTAwMDEgX19PUFRTX18NCitnb3V0CUJX IGlwZXJmMyAtczFKIC1wIDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Bl cl9zZWNvbmQiDQorYncJX19CV19fIDIuMCAzLjANCitzbGVlcAk1DQorZ3Vlc3RiCXNsZWVwIDEw OyBpcGVyZjMgLWMgX19HVzZfXyVfX0lGTkFNRV9fIC1wIDEwMDAyIF9fT1BUU19fIC1PMw0KK2hv dXQJQlcgaXBlcmYzIC1zMUogLXAgMTAwMDIgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJp dHNfcGVyX3NlY29uZCINCitidwlfX0JXX18gMi4wIDMuMA0KKw0KK3RsCVRDUC9JUHY2IFJSIGxh dGVuY3kNCitndWVzdGIJdGNwX3JyIC1DIDEwMDAxIC1QIDEwMDAzIC02IC0tbm9sb2cNCitzbGVl cAkyDQoraG91dAlMQVQgdGNwX3JyIC1DIDEwMDAxIC1QIDEwMDAzIC0tbm9sb2cgLWMgLUggOjox IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAg ODAwDQorc2xlZXAJMg0KK2hvc3RiCXRjcF9yciAtNiAtLW5vbG9nDQorc2xlZXAJMg0KK2dvdXQJ TEFUIHRjcF9yciAtLW5vbG9nIC1jIC1IIF9fR1c2X18lX19JRk5BTUVfXyB8IHNlZCAtbiAncy9e dGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTIN CisNCit0bAlUQ1AvSVB2NiBDUlIgbGF0ZW5jeQ0KK2d1ZXN0Ygl0Y3BfY3JyIC1DIDEwMDAxIC1Q IDEwMDAzIC02IC0tbm9sb2cNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX2NyciAtQyAxMDAwMSAt UCAxMDAwMyAtLW5vbG9nIC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkv XDEvcCcNCitsYXQJX19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTINCitob3N0Ygl0Y3BfY3JyIC02 IC0tbm9sb2cNCitzbGVlcAkyDQorZ291dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIF9fR1c2 X18lX19JRk5BTUVfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJ X19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTINCisNCit0cglUQ1AvSVB2NCB0aHJvdWdocHV0DQor aG9zdGIJc2xlZXAgMTA7IGlwZXJmMyAtYyAxMjcuMC4wLjEgLXAgMTAwMDEgX19PUFRTX18NCitn b3V0CUJXIGlwZXJmMyAtcCAxMDAwMSAtczFKIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5i aXRzX3Blcl9zZWNvbmQiDQorYncJX19CV19fIDIuMCAzLjANCitzbGVlcAk1DQorZ3Vlc3RiCXNs ZWVwIDEwOyBpcGVyZjMgLWMgX19HV19fIC1wIDEwMDAyIF9fT1BUU19fIC1PMw0KK2hvdXQJQlcg aXBlcmYzIC1zMUogLXAgMTAwMDIgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVy X3NlY29uZCINCitidwlfX0JXX18gMi4wIDMuMA0KKw0KK3RsCVRDUC9JUHY0IFJSIGxhdGVuY3kN CitndWVzdGIJdGNwX3JyIC1DIDEwMDAxIC1QIDEwMDAzIC00IC0tbm9sb2cNCitzbGVlcAkyDQor aG91dAlMQVQgdGNwX3JyIC1DIDEwMDAxIC1QIDEwMDAzIC0tbm9sb2cgLWMgLUggMTI3LjAuMC4x IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAg ODAwDQorc2xlZXAJMg0KK2hvc3RiCXRjcF9yciAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK2dvdXQJ TEFUIHRjcF9yciAtLW5vbG9nIC1jIC1IIF9fR1dfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1c KC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTINCisNCit0bAlUQ1Av SVB2NCBDUlIgbGF0ZW5jeQ0KK2d1ZXN0Ygl0Y3BfY3JyIC1DIDEwMDAxIC1QIDEwMDAzIC00IC0t bm9sb2cNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX2NyciAtQyAxMDAwMSAtUCAxMDAwMyAtLW5v bG9nIC1jIC1IIDEyNy4wLjAuMSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcN CitsYXQJX19MQVRfXyAxMDAwIDgwMA0KK3NsZWVwCTINCitob3N0Ygl0Y3BfY3JyIC00IC0tbm9s b2cNCitzbGVlcAkyDQorZ291dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIF9fR1dfXyB8IHNl ZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwIDgwMA0K K3NsZWVwCTINCisNCitubA0KK25sDQorc2F5CVRoYW5rcyBmb3Igd2F0Y2hpbmchDQorc2xlZXAJ NQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvZGVtby9wYXN0YSBiL29sZHRlc3QvZGVtby9wYXN0YQ0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmY0ODU4NWQNCi0tLSAvZGV2L251 bGwNCisrKyBiL29sZHRlc3QvZGVtby9wYXN0YQ0KQEAgLTAsMCArMSwyNzQgQEANCisjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVn IEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2Nr ZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisj ICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9kZW1v L3Bhc3RhIC0gUXVpY2sgaW50cm9kdWN0aW9uIHRvIHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChj KSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0By ZWRoYXQuY29tPg0KKw0KK3NheQlUaGlzIGlzIGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIA0KK2Vt CXBhc3RhDQorc2F5CS4NCitubA0KK25sDQorc2xlZXAJMw0KKw0KK3NheQlMZXQncyBmZXRjaCB0 aGUgc291cmNlDQorc2xlZXAJMQ0KK2hvc3QJY2QgX19TVEFURURJUl9fDQoraG9zdAlnaXQgY2xv bmUgZ2l0Oi8vcGFzc3QudG9wL3Bhc3N0DQorc2xlZXAJMQ0KKw0KK3NheQkgYW5kIGJ1aWxkIGl0 Lg0KK3NsZWVwCTENCitob3N0CWNkIHBhc3N0DQoraG9zdAltYWtlDQorc2xlZXAJMQ0KKw0KK25s DQorbmwNCitzYXkJQSBxdWljayBsb29rIGF0IHRoZSBtYW4gcGFnZS4uLg0KK3NsZWVwCTENCito b3N0YgltYW4gLi9wYXN0YS4xDQorc2xlZXAJNQ0KK2hvc3RiCS9wYXN0YQ0KK3NsZWVwCTINCito b3N0YgluDQorc2xlZXAJMg0KK2hvc3RiCW4NCitzbGVlcAkxMA0KKw0KK25sDQorc2F5CSAgd2l0 aG91dCBQSUQsIGl0IHdpbGwgY3JlYXRlIGEgbmFtZXNwYWNlLg0KK3NsZWVwCTMNCitwYXNzdAlj ZCBfX1NUQVRFRElSX18vcGFzc3QNCitwYXNzdGIJLi9wYXN0YSAtUCBwYXN0YS5waWQNCitzbGVl cAkzDQorDQorbmwNCitubA0KK3NheQlGb3IgY29udmVuaWVuY2UsIGxldCdzIGVudGVyIHRoaXMg bmFtZXNwYWNlDQorbmwNCitzYXkJICBmcm9tIGFub3RoZXIgdGVybWluYWwuDQorc2xlZXAJMw0K K25zCWNkIF9fU1RBVEVESVJfXy9wYXNzdA0KK25zb3V0CVRBUkdFVF9QSUQgcGdyZXAgLVAgJChj YXQgcGFzdGEucGlkKQ0KK3NsZWVwCTENCisNCitucwluc2VudGVyIC10IF9fVEFSR0VUX1BJRF9f IC1VIC1uIC0tcHJlc2VydmUtY3JlZGVudGlhbHMNCitzbGVlcAk1DQorDQorbmwNCitubA0KK3Nh eQlOb3csIHdlJ3JlIHJlYWR5IHRvIGNvbmZpZ3VyZSBuZXR3b3JraW5nLg0KK3NsZWVwCTINCito b3N0CXENCisNCitubA0KK25sDQorbnMJaXAgbGluayBzaG93DQorc2xlZXAJMw0KK3NheQlMZXQn cyBjb25maWd1cmUgSVB2NCBmaXJzdC4uLg0KK3NsZWVwCTINCitucwkvc2Jpbi9kaGNsaWVudCAt NCAtLW5vLXBpZA0KK3NsZWVwCTINCitucwlpcCBhZGRyIHNob3cNCitzbGVlcAk1DQorDQorbmwN CitzYXkJICBTTEFBQyBpcyBhbHJlYWR5IGRvbmUsIGJ1dCB3ZSBjYW4gYWxzbw0KK25sDQorc2F5 CSAgZ2V0IGFub3RoZXIgYWRkcmVzcyB2aWEgREhDUHY2Lg0KK3NsZWVwCTMNCitucwkvc2Jpbi9k aGNsaWVudCAtNiAtLW5vLXBpZA0KK3NsZWVwCTMNCisNCitubA0KK25sDQorc2F5CUxldCdzIHRy eSB0byBjb21tdW5pY2F0ZSBiZXR3ZWVuIGhvc3QgYW5kIG5hbWVzcGFjZQ0KK3NsZWVwCTINCitu bA0KK3NheQkgIC4uLnRoZXJlJ3Mgbm8gbmVlZCB0byBjb25maWd1cmUgcG9ydCBmb3J3YXJkaW5n LA0KK25sDQorc2F5CSAgcGFzdGEgZGV0ZWN0cyBib3VuZCBwb3J0cyBhbmQgZm9yd2FyZHMgdGhl bS4NCitzbGVlcAkzDQorDQorbnNiCXNvY2F0IFRDUDYtTElTVEVOOjMxMzM3LGJpbmQ9Wzo6MV0g U1RET1VUDQorc2xlZXAJMg0KK2hvc3QJZWNobyAiSGVsbG8gZnJvbSB0aGUgaG9zdCIgfCBzb2Nh dCAtdSBTVERJTiBUQ1A2Ols6OjFdOjMxMzM3DQorc2xlZXAJNQ0KKw0KK25sDQorbmwNCitzYXkJ Tm93IHRoZSBvdGhlciB3YXkgYXJvdW5kLi4uDQorbmwNCitzYXkJICB3ZSBjYW4gdXNlIGEgbG9v cGJhY2sgYWRkcmVzcw0KK3NsZWVwCTINCitob3N0Yglzb2NhdCBUQ1A2LUxJU1RFTjozMTMzNyxi aW5kPVs6OjFdIFNURElPDQorc2xlZXAJMg0KK25zCWVjaG8gIkhlbGxvIGZyb20gdGhlIG5hbWVz cGFjZSIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjMxMzM3DQorc2xlZXAJNQ0KKw0KK25s DQorc2F5CSAgb3IgdGhlIGFkZHJlc3Mgb2YgdGhlIGRlZmF1bHQgZ2F0ZXdheS4NCitzbGVlcAky DQorbnNvdXQJR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0 ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitzbGVlcAk1DQoraG9zdGIJc29jYXQgVENQNC1MSVNU RU46MzEzMzcgU1RESU8NCitzbGVlcAkyDQorbnMJZWNobyAiSGVsbG8gZnJvbSB0aGUgbmFtZXNw YWNlIiB8IHNvY2F0IC11IFNURElOIFRDUDQ6X19HV19fOjMxMzM3DQorc2xlZXAJMw0KKw0KK25s DQorbmwNCitzYXkJVURQLi4uDQorc2xlZXAJMg0KK25zCWhvc3QgLXQgQSBwYXNzdC50b3ANCitz bGVlcAkzDQorc2F5CSBzZWVtcyB0byB3b3JrIHRvby4NCitzbGVlcAkzDQorDQorbmwNCitubA0K K2VtCXBhc3RhDQorc2F5CSBjYW4gYWxzbyB0YWtlIHBhY2tldCBjYXB0dXJlcy4NCitzbGVlcAkz DQorcGFzc3QJZXhpdA0KK3NsZWVwCTINCitwYXNzdGIJLi9wYXN0YSAtcCAuLi9kZW1vX3Bhc3Rh LnBjYXANCitzbGVlcAkyDQorcGFzc3QJDQorcGFzc3QJL3NiaW4vZGhjbGllbnQgLTQgLS1uby1w aWQNCitzbGVlcAkyDQoraG9zdGIJdHNoYXJrIC1yIC4uL2RlbW9fcGFzdGEucGNhcA0KK3NsZWVw CTUNCisNCitubA0KK25sDQorc2F5CUFuZCB0aGVyZSBhcmUgdG9ucyBvZiB0b3RhbGx5IHVzZWxl c3MNCitzbGVlcAkxDQorYnNwCTE0DQorc2F5CWFic29sdXRlbHkgdXNlZnVsIGZlYXR1cmVzDQor bmwNCitzYXkJICB5b3UgY2FuIGZpbmQgZGVzY3JpYmVkIGluIHRoZSBtYW4gcGFnZS4NCitzbGVl cAk1DQorDQorbmwNCitubA0KK3NheQlMZXQncyBoYXZlIGEgKHF1aWNrISkgbG9vayBhdCBwZXJm b3JtYW5jZQ0KK25sDQorc2F5CSAgbW9yZSBpbiB0aGUgIlBlcmZvcm1hbmNlIiBzZWN0aW9uIGJl bG93Lg0KK3NsZWVwCTMNCitucwlleGl0DQorcGFzc3QJZXhpdA0KK3Bhc3N0CW1ha2UgY2xlYW4N CitwYXNzdAlDRkxBR1M9Ii1nIiBtYWtlDQorc2xlZXAJMg0KK3Bhc3N0YglwZXJmIHJlY29yZCAt ZyAuL3Bhc3RhIC1QIHBhc3RhLnBpZA0KK3NsZWVwCTINCisNCituc291dAlUQVJHRVRfUElEIHBn cmVwIC1QICQoY2F0IHBhc3RhLnBpZCkNCitzbGVlcAkxDQorbnMJbnNlbnRlciAtdCBfX1RBUkdF VF9QSURfXyAtVSAtbiAtLXByZXNlcnZlLWNyZWRlbnRpYWxzDQorc2xlZXAJNQ0KKw0KK25sDQor bmwNCitpbmZvCVRocm91Z2hwdXQgaW4gR2JwcywgbGF0ZW5jeSBpbiDCtXMNCit0aAlmbG93IGlu aXQ+bnMgbnM+aW5pdA0KKw0KK3NldAlPUFRTIC1QNCAtbCAxTSAtdyAzMk0gLWkxIC0tcGFjaW5n LXRpbWVyIDEwMDAwMA0KKw0KK3RyCVRDUC9JUHY2IHRocm91Z2hwdXQNCitob3N0YglzbGVlcCAx MDsgaXBlcmYzIC1jIDo6MSAtcCAxMDAwMSBfX09QVFNfXw0KK25zb3V0CUJXIGlwZXJmMyAtczFK IC1wIDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiDQor YncJX19CV19fIDEwLjAgMjAuMA0KK3NsZWVwCTUNCituc2IJc2xlZXAgMTA7IGlwZXJmMyAtYyA6 OjEgLXAgMTAwMDEgX19PUFRTX18NCitob3V0CUJXIGlwZXJmMyAtczFKIC1wIDEwMDAxIHwganEg LXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiDQorYncJX19CV19fIDEwLjAg MjAuMA0KKw0KK3RsCVRDUC9JUHY2IFJSIGxhdGVuY3kNCituc2IJdGNwX3JyIC02IC0tbm9sb2cN CitzbGVlcAkyDQoraG91dAlMQVQgdGNwX3JyIC0tbm9sb2cgLWMgLUggOjoxIHwgc2VkIC1uICdz L150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAgNTAwDQorc2xlZXAJ Mg0KK2hvc3RiCXRjcF9yciAtNiAtLW5vbG9nDQorc2xlZXAJMg0KK25zb3V0CUxBVCB0Y3BfcnIg LS1ub2xvZyAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQor bGF0CV9fTEFUX18gMTAwMCA1MDANCitzbGVlcAkyDQorDQordGwJVENQL0lQdjYgQ1JSIGxhdGVu Y3kNCituc2IJdGNwX2NyciAtNiAtLW5vbG9nDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9jcnIg LS1ub2xvZyAtYyAtSCA6OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQor bGF0CV9fTEFUX18gMTAwMCA1MDANCitzbGVlcAkyDQoraG9zdGIJdGNwX2NyciAtNiAtLW5vbG9n DQorc2xlZXAJMg0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLWMgLUggOjoxIHwgc2VkIC1u ICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAgNTAwDQorc2xl ZXAJMg0KKw0KK3RyCVRDUC9JUHY0IHRocm91Z2hwdXQNCitob3N0YglzbGVlcCAxMDsgaXBlcmYz IC1jIDEyNy4wLjAuMSAtcCAxMDAwMSBfX09QVFNfXw0KK25zb3V0CUJXIGlwZXJmMyAtczFKIC1w IDEwMDAxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiDQorYncJ X19CV19fIDEwLjAgMjAuMA0KK3NsZWVwCTUNCituc2IJc2xlZXAgMTA7IGlwZXJmMyAtYyAxMjcu MC4wLjEgLXAgMTAwMDEgX19PUFRTX18NCitob3V0CUJXIGlwZXJmMyAtczFKIC1wIDEwMDAxIHwg anEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiDQorYncJX19CV19fIDEw LjAgMjAuMA0KKw0KK3RsCVRDUC9JUHY0IFJSIGxhdGVuY3kNCituc2IJdGNwX3JyIC00IC0tbm9s b2cNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX3JyIC0tbm9sb2cgLWMgLUggMTI3LjAuMC4xIHwg c2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAgNTAw DQorc2xlZXAJMg0KK2hvc3RiCXRjcF9yciAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK25zb3V0CUxB VCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9 XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA1MDANCitzbGVlcAkyDQorDQordGwJVENQ L0lQdjQgQ1JSIGxhdGVuY3kNCituc2IJdGNwX2NyciAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK2hv dXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgfCBzZWQgLW4gJ3MvXnRocm91 Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMCA1MDANCitzbGVlcAkyDQoraG9z dGIJdGNwX2NyciAtNCAtLW5vbG9nDQorc2xlZXAJMg0KK25zb3V0CUxBVCB0Y3BfY3JyIC0tbm9s b2cgLWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0K K2xhdAlfX0xBVF9fIDEwMDAgNTAwDQorc2xlZXAJMg0KKw0KK3NsZWVwCTUNCitwYXNzdAlleGl0 DQorc2xlZXAJMg0KK2tpbGxwCVBBU1NUDQora2lsbHAJSE9TVA0KK3NsZWVwCTINCituc2IJcGVy ZiByZXBvcnQgLWcgLS1tYXgtc3RhY2sgMw0KK3NsZWVwCTEwDQorDQorbmwNCitubA0KK3NheQlJ IA0KK2VtCWtuZXcNCitzYXkJIGl0LiANCitlbQlzeXNjYWxscw0KK3NheQkuDQorc2xlZXAJNQ0K Kw0KK25sDQorbmwNCitzYXkJVGhhbmtzIGZvciB3YXRjaGluZyENCitzbGVlcAk1DQpkaWZmIC0t Z2l0IGEvb2xkdGVzdC9kZW1vL3BvZG1hbiBiL29sZHRlc3QvZGVtby9wb2RtYW4NCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5lZGQ0MDNhDQotLS0gL2Rldi9udWxsDQorKysg Yi9vbGR0ZXN0L2RlbW8vcG9kbWFuDQpAQCAtMCwwICsxLDgxOSBAQA0KKyMgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1w bGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2Rl DQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBu ZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2RlbW8vcG9kbWFu IC0gU2hvdyBwYXN0YSBvcGVyYXRpb24gd2l0aCBQb2RtYW4NCisjDQorIyBDb3B5cmlnaHQgKGMp IDIwMjIgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJl ZGhhdC5jb20+DQorDQorc2V0CU9QVFMgLVogLXcgNE0gLWwgMU0gLVAgMiAtdDEwIC0tcGFjaW5n LXRpbWVyIDEwMDAwDQorDQorc2F5CVRoaXMgaXMgYW4gb3ZlcnZpZXcgb2YgDQorZW0JUG9kbWFu DQorc2F5CSB1c2luZyANCitlbQlwYXN0YQ0KK3NheQkuDQorbmwNCitubA0KK3NsZWVwCTMNCisN CitzYXkJTGV0J3MgZmV0Y2ggUG9kbWFuDQorc2xlZXAJMQ0KK2hvc3QJZ2l0IC1DIF9fU1RBVEVE SVJfXyBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vY29udGFpbmVycy9wb2RtYW4uZ2l0DQorc2xl ZXAJMQ0KKw0KK3NheQksIHBhdGNoIGl0DQorc2xlZXAJMQ0KK2hvc3QJY3AgLi4vY29udHJpYi9w b2RtYW4vMDAwMS1saWJwb2QtQWRkLXBhc3RhLW5ldHdvcmtpbmctbW9kZS5wYXRjaCBfX1NUQVRF RElSX18vcG9kbWFuDQoraG9zdAljZCBfX1NUQVRFRElSX18vcG9kbWFuDQoraG9zdAlnaXQgYW0g LTMgMDAwMS1saWJwb2QtQWRkLXBhc3RhLW5ldHdvcmtpbmctbW9kZS5wYXRjaA0KK3NsZWVwCTEN CisNCitzYXkJLCBhbmQgYnVpbGQgaXQuDQoraG9zdAlnbyBnZXQgZ2l0aHViLmNvbS9wa2cvZXJy b3JzQHYwLjkuMQ0KK2hvc3QJZ28gbW9kIHZlbmRvcg0KK2hvc3QJbWFrZQ0KK3NsZWVwCTENCisN CitubA0KK25sDQorc2F5CUJ5IGRlZmF1bHQsIGZvciANCitlbQlyb290bGVzcw0KK3NheQkgbW9k ZSwgUG9kbWFuIHdpbGwgcGljaw0KK25sDQorZW0Jc2xpcnA0bmV0bnMNCitzYXkJIHRvIG9wZXJh dGUgdGhlIG5ldHdvcmsuDQorbmwNCitubA0KK3NheQlMZXQncyBzdGFydCBhIGNvbnRhaW5lciB3 aXRoIGl0DQorc2xlZXAJMQ0KKw0KK25zMQljZCBfX1NUQVRFRElSX18vcG9kbWFuDQorbnMxYgku L2Jpbi9wb2RtYW4gcnVuIC0tcm0gLXRpIGFscGluZSBzaA0KK3NsZWVwCTINCisNCitzYXkJLA0K K25sDQorc2F5CWFuZCBvbmUgd2l0aCANCitlbQlwYXN0YQ0KK3NheQkgaW5zdGVhZC4NCisNCitu czIJY2QgX19TVEFURURJUl9fL3BvZG1hbg0KK25zMmIJLi9iaW4vcG9kbWFuIHJ1biAtLW5ldD1w YXN0YSAtLXJtIC10aSBhbHBpbmUgc2gNCitzbGVlcAkyDQorDQorbmwNCitubA0KK3NheQlXZSBj YW4gb2JzZXJ2ZSBzb21lIHByYWN0aWNhbCBkaWZmZXJlbmNlczoNCitubA0KKw0KK25zMWIJaXAg YWRkciBzaG93DQorc2xlZXAJMw0KK3NheQktIHNsaXJwNG5ldG5zIHVzZXMgYSBwcmVkZWZpbmVk IElQdjQgYWRkcmVzcw0KK2hsCU5TMQ0KK3NsZWVwCTINCisNCituczJiCWlwIGFkZHIgc2hvdw0K K3NsZWVwCTMNCitzYXkJLA0KK25sDQorc2F5CSAgcGFzdGEgY29waWVzIGFkZHJlc3NlcyBmcm9t IHRoZSBob3N0DQoraGwJTlMyDQorc2xlZXAJMg0KKw0KK25sDQorc2F5CS0gc2xpcnA0bmV0bnMg dXNlcyANCitlbQl0YXAwDQorc2F5CSBhcyBpbnRlcmZhY2UgbmFtZQ0KK2hsCU5TMQ0KK3NsZWVw CTINCisNCitzYXkJLCBwYXN0YQ0KK25sDQorc2F5CSAgdGFrZXMgYW4gaW50ZXJmYWNlIG5hbWUg ZnJvbSB0aGUgaG9zdA0KK2hsCU5TMg0KK3NsZWVwCTINCisNCitubA0KK3NheQktIHNhbWUgZm9y IHJvdXRlczoNCisNCituczFiCWlwIHJvdXRlIHNob3cNCitzbGVlcAkzDQorc2F5CSBzbGlycDRu ZXRucyBkZWZpbmVzIGl0cyBvd24NCitubA0KK3NheQkgIGdhdGV3YXkgYWRkcmVzcw0KK2hsCU5T MQ0KK3NsZWVwCTINCisNCitzYXkJLCBwYXN0YSBjb3BpZXMgaXQgZnJvbSB0aGUgaG9zdA0KK25z MmIJaXAgcm91dGUgc2hvdw0KK25zMmIJaXAgLTYgcm91dGUgc2hvdw0KK3NsZWVwCTUNCisNCitu bA0KK25sDQorc2F5CUxldCdzIGNoZWNrIGNvbm5lY3Rpdml0eS4uLg0KK3NsZWVwCTINCituczFi CXdnZXQgcmlzb3R0by5taWxhbmUuc2UNCituczJiCXdnZXQgbXlmaW5nZS5ycw0KK3NsZWVwCTIN CitzYXkJIGZpbmUuDQorc2xlZXAJNQ0KK25sDQorbmwNCisNCitzYXkJTGV0J3MgcnVuIGEgc2Vy dmljZSBpbiB0aGUgY29udGFpbmVyLA0KK25sDQorc2F5CWNvbmZpZ3VyaW5nIHBvcnQgZm9yd2Fy ZGluZyBmaXJzdA0KK3NsZWVwCTUNCisNCituczFiCWV4aXQNCitzbGVlcAkyDQorbnMxYglwb2Rt YW4gcnVuIC0tcm0gLXAgODA4MDo4MDgwL3RjcCAtdGkgYWxwaW5lIHNoDQorc2xlZXAJNQ0KKw0K K25zMmIJZXhpdA0KK3NsZWVwCTINCituczJiCS4vYmluL3BvZG1hbiBydW4gLS1uZXQ9cGFzdGEg LS1ybSAtcCA4MDgxOjgwODEvdGNwIC10aSBhbHBpbmUgc2gNCitzbGVlcAk1DQorDQorbmwNCitu bA0KK3NheQkuLi5hbmQgbm93IGFjdHVhbGx5IHN0YXJ0IHRoZSBzZXJ2aWNlDQorbnMxYglhcGsg YWRkIHRodHRwZA0KK25zMmIJYXBrIGFkZCB0aHR0cGQNCituczFiCT5pbmRleC5odG1sIGNhdCA8 PCBFT0YNCituczFiCTwhZG9jdHlwZSBodG1sPjxib2R5PkhlbGxvIHZpYSBzbGlycDRuZXRuczwv Ym9keT4NCituczFiCUVPRg0KK25zMmIJPmluZGV4Lmh0bWwgY2F0IDw8IEVPRg0KK25zMmIJPCFk b2N0eXBlIGh0bWw+PGJvZHk+SGVsbG8gdmlhIHBhc3RhPC9ib2R5Pg0KK25zMmIJRU9GDQorbnMx Ygl0aHR0cGQgLXAgODA4MA0KK25zMmIJdGh0dHBkIC1wIDgwODENCisNCitzbGVlcAkzDQorc2F5 CSwgdGhlbiBjaGVjaw0KK25sDQorc2F5CXRoYXQgaXQncyBhY2Nlc3NpYmxlLg0KK3NsZWVwCTMN CisNCitob3N0YglseW54IGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC8NCitzbGVlcAk1DQoraG9zdGIJ cQ0KK2hvc3RiCWx5bnggaHR0cDovL1s6OjFdOjgwODEvDQorc2xlZXAJNQ0KK2hvc3RiCXENCitz bGVlcAkyDQorDQorbmwNCitubA0KK3NheQlXaGF0IGFib3V0IHBlcmZvcm1hbmNlLCB5b3UgbWln aHQgYXNrLg0KK25sDQorc2F5CUZvciBzaW1wbGljaXR5LCB3ZSdsbCBtZWFzdXJlIGJldHdlZW4g aW5pdA0KK25sDQorc2F5CW5hbWVzcGFjZSAodGhlICJob3N0IikgYW5kIGNvbnRhaW5lci4gVG8g ZG8NCitubA0KK3NheQl0aGF0LCB3ZSBuZWVkIHRvIGFsbG93IHRoZSBjb250YWluZXIgZGlyZWN0 DQorbmwNCitzYXkJYWNjZXNzIHRvIHRoZSBob3N0LCB3aGljaCBuZWVkcyBhbiBleHRyYSBvcHRp b24NCitubA0KK3NheQlpbiBzbGlycDRuZXRucy4gTGV0J3MgcmVzdGFydCB0aGF0IGNvbnRhaW5l ciwNCitubA0KK3NheQl3aGlsZSBhbHNvIG1hcHBpbmcgcG9ydHMgZm9yIGlwZXJmMyBhbmQgbmVw ZXIuDQorbmwNCitzbGVlcAkzDQorDQorbnMxCWV4aXQNCisNCituczFiCXBvZG1hbiBydW4gLS1y bSAtLW5ldD1zbGlycDRuZXRuczphbGxvd19ob3N0X2xvb3BiYWNrPXRydWUsZW5hYmxlX2lwdjY9 dHJ1ZSAtcCA1MjIxLTUyMjI6NTIyMS01MjIyL3RjcCAtcCA1MjIxLTUyMjI6NTIyMS01MjIyL3Vk cCAtdGkgYWxwaW5lIHNoDQorc2xlZXAJNQ0KK25sDQorbmwNCitzYXkJcGFzdGEgYWxsb3dzIHRo YXQgYnkgZGVmYXVsdCwgc28gd2Ugd291bGRuJ3QgbmVlZA0KK25sDQorc2F5CXRvIHRvdWNoIHRo ZSBjb250YWluZXIgdXNpbmcgcGFzdGEsIGJ1dCBsZXQncw0KK25sDQorc2F5CXRha2UgdGhlIGNo YW5jZSB0byBsb29rIGF0IHBhc3NpbmcgZXh0cmEgb3B0aW9ucw0KK25sDQorc2F5CXRoZXJlIGFz IHdlbGwuDQorbmwNCitubA0KK25zMglleGl0DQorDQorc2F5CU9wdGlvbnMgYWZ0ZXIgJy0tbmV0 PXBhc3RhOicgYXJlIHRoZSBzYW1lIGFzDQorbmwNCitzYXkJZG9jdW1lbnRlZCBmb3IgdGhlIGNv bW1hbmQgbGluZSBvZiBwYXN0YSgxKS4NCitubA0KK3NheQlGb3IgZXhhbXBsZSwgd2UgY2FuIGVu YWJsZSBwYWNrZXQgY2FwdHVyZXMNCitzbGVlcAkzDQorbnMyYgkuL2Jpbi9wb2RtYW4gcnVuIC0t bmV0PXBhc3RhOi0tcGNhcCxkZW1vLnBjYXAgLS1ybSAtdGkgYWxwaW5lIHNoDQorc2xlZXAJNQ0K Kw0KK3NheQksDQorbmwNCitzYXkJYW5kIGdlbmVyYXRlIHNvbWUgdHJhZmZpYyB3ZSBjYW4gbG9v ayBhdC4NCitubA0KK3NsZWVwCTINCituczJiCXdnZXQgLU8gLSBsYW1lZXhjdS5zZQ0KK3NsZWVw CTINCitob3N0Ygl0c2hhcmsgLXIgZGVtby5wY2FwIHRjcA0KK3NsZWVwCTUNCisNCitubA0KK3Nh eQlCdXQgYmFjayB0byBwZXJmb3JtYW5jZSBub3cuIEJ5IHRoZSB3YXksDQorbmwNCitzYXkJcGFz dGEgY2FuIGFsc28gZm9yd2FyZCBwb3J0cyB0aHJvdWdoIHRoZQ0KK25sDQorc2F5CWxvb3BiYWNr IGludGVyZmFjZSBmb3IgaW1wcm92ZWQgdGhyb3VnaHB1dC4NCitubA0KK3NheQlMZXQncyBjb25m aWd1cmUgdGhhdC4NCitubA0KK3NsZWVwCTINCituczJiCWV4aXQNCitzbGVlcAkxDQorbnMyYgku L2Jpbi9wb2RtYW4gcnVuIC0tbmV0PXBhc3RhOi1ULDUyMTMtNTIxNCwtVSw1MjEzLTUyMTQgLXAg NTIyMy01MjI0OjUyMjMtNTIyNC90Y3AgLXAgNTIyMy01MjI0OjUyMjMtNTIyNC91ZHAgLS1ybSAt dGkgYWxwaW5lIHNoDQorc2xlZXAJNQ0KKw0KK25sDQorc2F5CUluIHNsaXJwNG5ldG5zIG1vZGUs IFBvZG1hbiBlbmFibGVzIGJ5DQorbmwNCitzYXkJZGVmYXVsdCB0aGUgcG9ydCBmb3J3YXJkZXIg ZnJvbSAncm9vdGxlc3NraXQnDQorbmwNCitzYXkJZm9yIGJldHRlciBwZXJmb3JtYW5jZS4NCitu bA0KK3NheQlIb3dldmVyLCBpdCBjYW4ndCBiZSB1c2VkIGZvciBub24tbG9jYWwNCitubA0KK3Nh eQltYXBwaW5ncyAodHJhZmZpYyB3aXRob3V0IGxvb3BiYWNrIHNvdXJjZSANCitubA0KK2VtCWFu ZA0KK3NheQkgZGVzdGluYXRpb24pIGJlY2F1c2UgaXQgZG9lc24ndCBwcmVzZXJ2ZQ0KK25sDQor c2F5CXRoZSBjb3JyZWN0IHNvdXJjZSBhZGRyZXNzIGFzIGl0IGZvcndhcmRzDQorbmwNCitzYXkJ cGFja2V0cyB0byB0aGUgY29udGFpbmVyLg0KK3NsZWVwCTMNCitubA0KK25sDQorc2F5CVdlJ2xs IGNoZWNrIG5vbi1sb29wYmFjayBtYXBwaW5ncyBmaXJzdCBmb3INCitubA0KK3NheQlib3RoIHBh c3RhIGFuZCBzbGlycDRuZXRucywgdGhlbiByZXN0YXJ0IHRoZQ0KK25sDQorc2F5CXNsaXJwNG5l dG5zIGNvbnRhaW5lciB3aXRoIHJvb3RsZXNza2l0IGFuZA0KK25sDQorc2F5CXN3aXRjaCB0byBs b29wYmFjayBtYXBwaW5ncy4gcGFzdGEgZG9lc24ndA0KK25sDQorc2F5CWhhdmUgdGhpcyBsaW1p dGF0aW9uLg0KK25sDQorbmwNCitzYXkJT25lIGxhc3Qgbm90ZTogc2xpcnA0bmV0bnMgZG9lc24n dCBzdXBwb3J0DQorbmwNCitzYXkJZm9yd2FyZGluZyBvZiBJUHY2IHBvcnRzICh0byB0aGUgY29u dGFpbmVyKToNCitubA0KK3NheQlnaXRodWIuY29tL3Jvb3RsZXNzLWNvbnRhaW5lcnMvc2xpcnA0 bmV0bnMvaXNzdWVzLzI1Mw0KK25sDQorc2F5CXNvIHdlJ2xsIHNraXAgSVB2NiB0ZXN0cyBmb3Ig c2xpcnA0bmV0bnMgYXMNCitubA0KK3NheQlwb3J0IGZvcndhcmRlciAob24gdGhlIHBhdGggdG8g dGhlIGNvbnRhaW5lcikuDQorDQorc2xlZXAJNQ0KK25zMQlleGl0DQorbnMxYglwb2RtYW4gcnVu IC0tcm0gLS1uZXQ9c2xpcnA0bmV0bnM6YWxsb3dfaG9zdF9sb29wYmFjaz10cnVlLGVuYWJsZV9p cHY2PXRydWUscG9ydF9oYW5kbGVyPXNsaXJwNG5ldG5zIC1wIDUyMjEtNTIyMjo1MjIxLTUyMjIv dGNwIC1wIDUyMjEtNTIyMjo1MjIxLTUyMjIvdWRwIC10aSBhbHBpbmUgc2gNCitzbGVlcAkzDQor DQorbmwNCitubA0KK3NheQlXZSdsbCB1c2UgaXBlcmYzKDEpIGZvciB0aHJvdWdocHV0DQorc2xl ZXAJMg0KK25zMWIJYXBrIGFkZCBpcGVyZjMganEgYmMNCituczJiCWFwayBhZGQgaXBlcmYzIGpx IGJjDQorc2xlZXAJMg0KK3NheQkgYW5kIHN0YXRpYw0KK25sDQorc2F5CWJ1aWxkcyBvZiBuZXBl ciAoZ2l0aHViLmNvbS9nb29nbGUvbmVwZXIpIGZvcg0KK25sDQorc2F5CWxhdGVuY3kuDQorbnMx CXdnZXQgbGFtZWV4Y3Uuc2UvdGNwX3JyOyBjaG1vZCA3NTUgdGNwX3JyDQorbnMyCXdnZXQgbGFt ZWV4Y3Uuc2UvdGNwX3JyOyBjaG1vZCA3NTUgdGNwX3JyDQorbnMxCXdnZXQgbGFtZWV4Y3Uuc2Uv dGNwX2NycjsgY2htb2QgNzU1IHRjcF9jcnINCituczIJd2dldCBsYW1lZXhjdS5zZS90Y3BfY3Jy OyBjaG1vZCA3NTUgdGNwX2Nycg0KK25zMQl3Z2V0IGxhbWVleGN1LnNlL3VkcF9ycjsgY2htb2Qg NzU1IHVkcF9ycg0KK25zMgl3Z2V0IGxhbWVleGN1LnNlL3VkcF9ycjsgY2htb2QgNzU1IHVkcF9y cg0KK3NsZWVwCTUNCisNCitubA0KK25sDQorc2F5CUV2ZXJ5dGhpbmcgaXMgc2V0IG5vdywgbGV0 J3Mgc3RhcnQNCitzbGVlcAkyDQoraG91dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJN ICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQoraG91dAlBRERS NCBpcCAtaiAtNCBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19J Rk5BTUVfXyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5zY29wZSA9PSAiZ2xvYmFsIikubG9jYWwn DQoraG91dAlBRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlm bmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5zY29wZSA9PSAiZ2xv YmFsIikubG9jYWwnDQoraG91dAlHVzQgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8 IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitob3V0CUdXNiBpcCAtaiAtNiBy b3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5 Jw0KKw0KK25sDQorbmwNCityZXNpemUJSU5GTyBEIDE1DQoraW5mbwlUaHJvdWdocHV0IGluIEdi cHMsIGxhdGVuY3kgaW4gwrVzDQoraW5mbwkgIG5vbi1sb29wYmFjayAodGFwKSBjb25uZWN0aW9u cw0KK3RoCW1vZGUgc2xpcnA0bmV0bnMgcGFzdGENCisNCit0cglUQ1AvSVB2NiB0byBucw0KKyNu czFiCWlwZXJmMyAtczFKIC1wIDUyMjEgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNf cGVyX3NlY29uZCIgPnQxDQorI2hvc3RiCWlwZXJmMyAtYyBfX0FERFI2X18gLXAgNTIyMSBfX09Q VFNfXw0KKyNuczFvdXQJQlcgY2F0IHQxDQorI2J3CV9fQldfXyAwLjAgMC4wDQorYncJLQ0KK25z MmIJaXBlcmYzIC1zMUogLXAgNTIyMyB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19w ZXJfc2Vjb25kIiA+dDENCitob3N0YglpcGVyZjMgLWMgX19BRERSNl9fIC1wIDUyMjMgX19PUFRT X18NCitzbGVlcAkxMg0KK25zMmIJDQorbnMyb3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAg MC4wDQoraG9zdGIJDQorDQordGwJICBSUiBsYXRlbmN5DQorI25zMWIJLi90Y3BfcnIgLTYgLS1u b2xvZyAtQyA1MjIxIC1QIDUyMjINCisjc2xlZXAJMg0KKyNob3V0CUxBVCB0Y3BfcnIgLS1ub2xv ZyAtYyAtSCBfX0FERFI2X18gLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91 Z2hwdXQ9XCguKlwpL1wxL3AnDQorI2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCitsYXQJLQ0K K25zMmIJLi90Y3BfcnIgLTYgLS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91 dAlMQVQgdGNwX3JyIC0tbm9sb2cgLWMgLUggX19BRERSNl9fIC1DIDUyMjMgLVAgNTIyNCAtbCA1 IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAw MCAxMDAwMDANCisNCit0bAkgIENSUiBsYXRlbmN5DQorI25zMWIJLi90Y3BfY3JyIC02IC0tbm9s b2cgLUMgNTIyMSAtUCA1MjIyDQorI3NsZWVwCTINCisjaG91dAlMQVQgdGNwX2NyciAtLW5vbG9n IC1jIC1IIF9fQUREUjZfXyAtQyA1MjIxIC1QIDUyMjIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3Vn aHB1dD1cKC4qXCkvXDEvcCcNCisjbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK2xhdAktDQor bnMyYgkuL3RjcF9jcnIgLTYgLS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91 dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIF9fQUREUjZfXyAtQyA1MjIzIC1QIDUyMjQgLWwg NSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAw MDAgMTAwMDAwDQorDQordGwJVENQL0lQdjQgdG8gbnMNCituczFiCWlwZXJmMyAtczFKIC1wIDUy MjEgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQxDQoraG9z dGIJaXBlcmYzIC1jIF9fQUREUjRfXyAtcCA1MjIxIF9fT1BUU19fDQorc2xlZXAJMTINCituczFi CQ0KK25zMW91dAlCVyBjYXQgdDENCitidwlfX0JXX18gMC4wIDAuMA0KK25zMmIJaXBlcmYzIC1z MUogLXAgNTIyMyB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+ dDENCitob3N0YglpcGVyZjMgLWMgX19BRERSNF9fIC1wIDUyMjMgX19PUFRTX18NCitzbGVlcAkx Mg0KK25zMmIJDQorbnMyb3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9zdGIJ DQorDQordGwJICBSUiBsYXRlbmN5DQorbnMxYgkuL3RjcF9yciAtNCAtLW5vbG9nIC1DIDUyMjEg LVAgNTIyMg0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfcnIgLS1ub2xvZyAtYyAtSCBfX0FERFI0 X18gLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wx L3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK25zMmIJLi90Y3BfcnIgLTQgLS1ub2xv ZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX3JyIC0tbm9sb2cgLWMg LUggX19BRERSNF9fIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0 PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAkgIENSUiBs YXRlbmN5DQorbnMxYgkuL3RjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjIxIC1QIDUyMjINCitzbGVl cAkyDQoraG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIF9fQUREUjRfXyAtQyA1MjIxIC1Q IDUyMjIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19M QVRfXyAxMDAwMDAgMTAwMDAwDQorbnMyYgkuL3RjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjIzIC1Q IDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIF9fQUREUjRf XyAtQyA1MjIzIC1QIDUyMjQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordHIJVENQL0lQdjYgdG8gaG9zdA0K K2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTEgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJp dHNfcGVyX3NlY29uZCIgPnQxDQorbnMxYglpcGVyZjMgLWMgZmQwMDo6MiAtcCA1MjExIF9fT1BU U19fDQorc2xlZXAJMTINCitob3N0YgkNCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAg MC4wDQoraG9zdGIJaXBlcmYzIC1zMUogLXAgNTIxMyB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2 ZWQuYml0c19wZXJfc2Vjb25kIiA+dDENCituczJiCWlwZXJmMyAtYyBfX0dXNl9fJV9fSUZOQU1F X18gLXAgNTIxMyBfX09QVFNfXw0KK3NsZWVwCTEyDQoraG9zdGIJDQoraG91dAlCVyBjYXQgdDEN CitidwlfX0JXX18gMC4wIDAuMA0KK25zMWIJDQorbnMyYgkNCisNCit0bAkgIFJSIGxhdGVuY3kN Citob3N0Ygl0Y3BfcnIgLTYgLS1ub2xvZyAtQyA1MjExIC1QIDUyMTINCitzbGVlcAkyDQorbnMx b3V0CUxBVCAuL3RjcF9yciAtLW5vbG9nIC1jIC1IIGZkMDA6OjIgLUMgNTIxMSAtUCA1MjEyIC1s IDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAw MDAwIDEwMDAwMA0KK2hvc3RiCXRjcF9yciAtNiAtLW5vbG9nIC1DIDUyMTMgLVAgNTIxNA0KK3Ns ZWVwCTINCituczJvdXQJTEFUIC4vdGNwX3JyIC0tbm9sb2cgLWMgLUggX19HVzZfXyVfX0lGTkFN RV9fIC1DIDUyMTMgLVAgNTIxNCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9c MS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0bAkgIENSUiBsYXRlbmN5DQor aG9zdGIJdGNwX2NyciAtNiAtLW5vbG9nIC1DIDUyMTEgLVAgNTIxMg0KK3NsZWVwCTINCituczFv dXQJTEFUIC4vdGNwX2NyciAtLW5vbG9nIC1jIC1IIGZkMDA6OjIgLUMgNTIxMSAtUCA1MjEyIC1s IDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAw MDAwIDEwMDAwMA0KK2hvc3RiCXRjcF9jcnIgLTYgLS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQNCitz bGVlcAkyDQorbnMyb3V0CUxBVCAuL3RjcF9jcnIgLS1ub2xvZyAtYyAtSCBfX0dXNl9fJV9fSUZO QU1FX18gLUMgNTIxMyAtUCA1MjE0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwp L1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KK3RsCVRDUC9JUHY0IHRvIGhv c3QNCitob3N0YglpcGVyZjMgLXMxSiAtcCA1MjExIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZl ZC5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK25zMWIJaXBlcmYzIC1jIDEwLjAuMi4yIC1wIDUyMTEg X19PUFRTX18NCitzbGVlcAkxMg0KK2hvc3RiCQ0KK2hvdXQJQlcgY2F0IHQxDQorYncJX19CV19f IDAuMCAwLjANCitob3N0YglpcGVyZjMgLXMxSiAtcCA1MjEzIHwganEgLXJNICIuZW5kLnN1bV9y ZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK25zMmIJaXBlcmYzIC1jIF9fR1c0X18gLXAg NTIxMyBfX09QVFNfXw0KK3NsZWVwCTEwDQoraG9zdGIJDQoraG91dAlCVyBjYXQgdDENCitidwlf X0JXX18gMC4wIDAuMA0KK25zMWIJDQorbnMyYgkNCisNCit0bAkgIFJSIGxhdGVuY3kNCitob3N0 Ygl0Y3BfcnIgLTQgLS1ub2xvZyAtQyA1MjExIC1QIDUyMTINCitzbGVlcAkyDQorbnMxb3V0CUxB VCAuL3RjcF9yciAtLW5vbG9nIC1jIC1IIDEwLjAuMi4yIC1DIDUyMTEgLVAgNTIxMiAtbCA1IHwg c2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAx MDAwMDANCitob3N0Ygl0Y3BfcnIgLTQgLS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQNCitzbGVlcAky DQorbnMyb3V0CUxBVCAuL3RjcF9yciAtLW5vbG9nIC1jIC1IIF9fR1c0X18gLUMgNTIxMyAtUCA1 MjE0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFU X18gMTAwMDAwIDEwMDAwMA0KKw0KK3RsCSAgQ1JSIGxhdGVuY3kNCitob3N0Ygl0Y3BfY3JyIC00 IC0tbm9sb2cgLUMgNTIxMSAtUCA1MjEyDQorc2xlZXAJMg0KK25zMW91dAlMQVQgLi90Y3BfY3Jy IC0tbm9sb2cgLWMgLUggMTAuMC4yLjIgLUMgNTIxMSAtUCA1MjEyIC1sIDUgfCBzZWQgLW4gJ3Mv XnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK2hv c3RiCXRjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQNCitzbGVlcAkyDQorbnMyb3V0 CUxBVCAuL3RjcF9jcnIgLS1ub2xvZyAtYyAtSCBfX0dXNF9fIC1DIDUyMTMgLVAgNTIxNCAtbCA1 IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAw MCAxMDAwMDANCisNCitzbGVlcAk1DQorDQorDQordHIJVURQL0lQdjYgdG8gbnMNCisjbnMxYglp cGVyZjMgLXMxSiAtcCA1MjIxIHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9z ZWNvbmQiID50MQ0KKyNob3N0YglpcGVyZjMgLXUgLWMgX19BRERSNl9fIC1wIDUyMjEgLXQ1IC1i IDM1Rw0KKyNzbGVlcAkxMA0KKyNuczFvdXQJQlcgY2F0IHQxDQorI2J3CV9fQldfXyAwLjAgMC4w DQorYncJLQ0KK25zMmIJaXBlcmYzIC1zMUogLXAgNTIyNCB8IGpxIC1yTSAiLmludGVydmFsc1sw XS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDENCitob3N0YglpcGVyZjMgLXUgLWMgX19BRERSNl9f IC1wIDUyMjQgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQorbnMyb3V0CUJXIGNhdCB0MQ0KK2J3CV9f QldfXyAwLjAgMC4wDQorDQordGwJICBSUiBsYXRlbmN5DQorI25zMWIJLi91ZHBfcnIgLTYgLS1u b2xvZyAtQyA1MjIxIC1QIDUyMjINCisjc2xlZXAJMg0KKyNob3V0CUxBVCB1ZHBfcnIgLS1ub2xv ZyAtYyAtSCBfX0FERFI2X18gLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91 Z2hwdXQ9XCguKlwpL1wxL3AnDQorI2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCitsYXQJLQ0K K25zMmIJLi91ZHBfcnIgLTYgLS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91 dAlMQVQgdWRwX3JyIC0tbm9sb2cgLWMgLUggX19BRERSNl9fIC1DIDUyMjMgLVAgNTIyNCAtbCA1 IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAw MCAxMDAwMDANCisNCit0bAlVRFAvSVB2NCB0byBucw0KK25zMWIJaXBlcmYzIC1zMUogLXAgNTIy MSB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDENCitob3N0 YglpcGVyZjMgLXUgLWMgX19BRERSNF9fIC1wIDUyMjEgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQor bnMxb3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMyYglpcGVyZjMgLXMxSiAt cCA1MjI0IHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0K K2hvc3RiCWlwZXJmMyAtdSAtYyBfX0FERFI0X18gLXAgNTIyNCAtdDUgLWIgMzVHDQorc2xlZXAJ MTANCituczJvdXQJQlcgY2F0IHQxDQorYncJX19CV19fIDAuMCAwLjANCisNCit0bAkgIFJSIGxh dGVuY3kNCituczFiCS4vdWRwX3JyIC02IC0tbm9sb2cgLUMgNTIyMSAtUCA1MjIyDQorc2xlZXAJ Mg0KK2hvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1jIC1IIF9fQUREUjRfXyAtQyA1MjIxIC1QIDUy MjIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRf XyAxMDAwMDAgMTAwMDAwDQorbnMyYgkuL3VkcF9yciAtNiAtLW5vbG9nIC1DIDUyMjMgLVAgNTIy NA0KK3NsZWVwCTINCitob3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtYyAtSCBfX0FERFI0X18gLUMg NTIyMyAtUCA1MjI0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQor bGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KK3RyCVVEUC9JUHY2IHRvIGhvc3QNCitob3N0 YglpcGVyZjMgLXMxSiAtcCA1MjExIHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Bl cl9zZWNvbmQiID50MQ0KK25zMWIJaXBlcmYzIC11IC1jIGZkMDA6OjIgLXAgNTIxMSAtdDUgLWIg MzVHDQorc2xlZXAJMTANCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9z dGIJaXBlcmYzIC1zMUogLXAgNTIxNCB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0uYml0c19w ZXJfc2Vjb25kIiA+dDENCituczJiCWlwZXJmMyAtdSAtYyBfX0dXNl9fJV9fSUZOQU1FX18gLXAg NTIxNCAtdDUgLWIgMzVHDQorc2xlZXAJMTANCitob3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAw LjAgMC4wDQorDQordGwJICBSUiBsYXRlbmN5DQoraG9zdGIJdWRwX3JyIC02IC0tbm9sb2cgLUMg NTIxMSAtUCA1MjEyDQorc2xlZXAJMg0KK25zMW91dAlMQVQgLi91ZHBfcnIgLS1ub2xvZyAtYyAt SCBmZDAwOjoyIC1DIDUyMTEgLVAgNTIxMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwo LipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCitob3N0Ygl1ZHBfcnIgLTYg LS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQNCitzbGVlcAkyDQorbnMyb3V0CUxBVCAuL3VkcF9yciAt LW5vbG9nIC1jIC1IIF9fR1c2X18lX19JRk5BTUVfXyAtQyA1MjEzIC1QIDUyMTQgLWwgNSB8IHNl ZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAw MDAwDQorDQordGwJVURQL0lQdjQgdG8gaG9zdA0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTEg fCBqcSAtck0gIi5pbnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorbnMxYglp cGVyZjMgLXUgLWMgMTAuMC4yLjIgLXAgNTIxMSAtdDUgLWIgMzVHDQorc2xlZXAJMTANCitob3V0 CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9zdGIJaXBlcmYzIC1zMUogLXAgNTIx NCB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDENCituczJi CWlwZXJmMyAtdSAtYyBfX0dXNF9fIC1wIDUyMTQgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQoraG91 dAlCVyBjYXQgdDENCitidwlfX0JXX18gMC4wIDAuMA0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK2hv c3RiCXVkcF9yciAtNiAtLW5vbG9nIC1DIDUyMTEgLVAgNTIxMg0KK3NsZWVwCTINCituczFvdXQJ TEFUIC4vdWRwX3JyIC0tbm9sb2cgLWMgLUggMTAuMC4yLjIgLUMgNTIxMSAtUCA1MjEyIC1sIDUg fCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAw IDEwMDAwMA0KK2hvc3RiCXVkcF9yciAtNiAtLW5vbG9nIC1DIDUyMTMgLVAgNTIxNA0KK3NsZWVw CTINCituczJvdXQJTEFUIC4vdWRwX3JyIC0tbm9sb2cgLWMgLUggX19HVzRfXyAtQyA1MjEzIC1Q IDUyMTQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19M QVRfXyAxMDAwMDAgMTAwMDAwDQorDQorDQorbnMxCWV4aXQNCituczEJcG9kbWFuIHJ1biAtLXJt IC0tbmV0PXNsaXJwNG5ldG5zOmFsbG93X2hvc3RfbG9vcGJhY2s9dHJ1ZSxlbmFibGVfaXB2Nj10 cnVlIC1wIDUyMjEtNTIyMjo1MjIxLTUyMjIvdGNwIC1wIDUyMjEtNTIyMjo1MjIxLTUyMjIvdWRw IC10aSBhbHBpbmUgc2gNCituczEJYXBrIGFkZCBpcGVyZjMganEgYmMNCituczEJd2dldCBsYW1l ZXhjdS5zZS90Y3BfcnI7IGNobW9kIDc1NSB0Y3BfcnINCituczEJd2dldCBsYW1lZXhjdS5zZS90 Y3BfY3JyOyBjaG1vZCA3NTUgdGNwX2Nycg0KK25zMQl3Z2V0IGxhbWVleGN1LnNlL3VkcF9ycjsg Y2htb2QgNzU1IHVkcF9ycg0KK2luZm8JDQoraW5mbwkNCitpbmZvCSAgbG9vcGJhY2sgKGxvKSBj b25uZWN0aW9ucw0KK3RoCW1vZGUgcm9vdGxlc3NraXQgcGFzdGENCisNCisNCit0cglUQ1AvSVB2 NiB0byBucw0KK25zMWIJKGlwZXJmMyAtczFKIC1wIDUyMjEgfCBqcSAtck0gIi5lbmQuc3VtX3Jl Y2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQxKSAmDQorbnMxYglpcGVyZjMgLXMxSiAtcCA1MjIy IHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50Mg0KK2hvc3Ri CWlwZXJmMyAtYyA6OjEgLXAgNTIyMSBfX09QVFNfXyAmIGlwZXJmMyAtYyA6OjEgLXAgNTIyMiBf X09QVFNfXw0KK3NsZWVwCTEyDQorbnMxYgkNCituczFvdXQJQlcgZWNobyAiJChjYXQgdDEpICsg JChjYXQgdDIpIiB8IGJjIC1sDQorYncJX19CV19fIDAuMCAwLjANCituczJiCShpcGVyZjMgLXMx SiAtcCA1MjIzIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50 MSkgJg0KK25zMmIJaXBlcmYzIC1zMUogLXAgNTIyNCB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2 ZWQuYml0c19wZXJfc2Vjb25kIiA+dDINCitob3N0YglpcGVyZjMgLWMgOjoxIC1wIDUyMjMgX19P UFRTX18gJiBpcGVyZjMgLWMgOjoxIC1wIDUyMjQgX19PUFRTX18NCitzbGVlcAkxMg0KK25zMmIJ DQorbnMyb3V0CUJXIGVjaG8gIiQoY2F0IHQxKSArICQoY2F0IHQyKSIgfCBiYyAtbA0KK2J3CV9f QldfXyAwLjAgMC4wDQoraG9zdGIJDQorDQordGwJICBSUiBsYXRlbmN5DQorbnMxYgkuL3RjcF9y ciAtNiAtLW5vbG9nIC1DIDUyMjEgLVAgNTIyMg0KK3NsZWVwCTINCitob3V0CUxBVCB0Y3BfcnIg LS1ub2xvZyAtYyAtSCA6OjEgLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91 Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK25zMmIJLi90 Y3BfcnIgLTYgLS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdGNw X3JyIC0tbm9sb2cgLWMgLUggOjoxIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150 aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0 bAkgIENSUiBsYXRlbmN5DQorbnMxYgkuL3RjcF9jcnIgLTYgLS1ub2xvZyAtQyA1MjIxIC1QIDUy MjINCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIDo6MSAtQyA1MjIx IC1QIDUyMjIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJ X19MQVRfXyAxMDAwMDAgMTAwMDAwDQorbnMyYgkuL3RjcF9jcnIgLTYgLS1ub2xvZyAtQyA1MjIz IC1QIDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1jIC1IIDo6MSAt QyA1MjIzIC1QIDUyMjQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcN CitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordGwJVENQL0lQdjQgdG8gbnMNCituczFi CShpcGVyZjMgLXMxSiAtcCA1MjIxIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Bl cl9zZWNvbmQiID50MSkgJg0KK25zMWIJaXBlcmYzIC1zMUogLXAgNTIyMiB8IGpxIC1yTSAiLmVu ZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDINCitob3N0YglpcGVyZjMgLWMgMTI3 LjAuMC4xIC1wIDUyMjEgX19PUFRTX18gJiBpcGVyZjMgLWMgMTI3LjAuMC4xIC1wIDUyMjIgX19P UFRTX18NCitzbGVlcAkxMg0KK25zMWIJDQorbnMxb3V0CUJXIGVjaG8gIiQoY2F0IHQxKSArICQo Y2F0IHQyKSIgfCBiYyAtbA0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMyYgkoaXBlcmYzIC1zMUog LXAgNTIyMyB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDEp ICYNCituczJiCWlwZXJmMyAtczFKIC1wIDUyMjQgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVk LmJpdHNfcGVyX3NlY29uZCIgPnQyDQoraG9zdGIJaXBlcmYzIC1jIDEyNy4wLjAuMSAtcCA1MjIz IF9fT1BUU19fICYgaXBlcmYzIC1jIDEyNy4wLjAuMSAtcCA1MjI0IF9fT1BUU19fDQorc2xlZXAJ MTINCituczJiCQ0KK25zMm91dAlCVyBlY2hvICIkKGNhdCB0MSkgKyAkKGNhdCB0MikiIHwgYmMg LWwNCitidwlfX0JXX18gMC4wIDAuMA0KK2hvc3RiCQ0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK25z MWIJLi90Y3BfcnIgLTQgLS1ub2xvZyAtQyA1MjIxIC1QIDUyMjINCitzbGVlcAkyDQoraG91dAlM QVQgdGNwX3JyIC0tbm9sb2cgLWMgLUggMTI3LjAuMC4xIC1DIDUyMjEgLVAgNTIyMiAtbCA1IHwg c2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAx MDAwMDANCituczJiCS4vdGNwX3JyIC00IC0tbm9sb2cgLUMgNTIyMyAtUCA1MjI0DQorc2xlZXAJ Mg0KK2hvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1jIC1IIDEyNy4wLjAuMSAtQyA1MjIzIC1QIDUy MjQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRf XyAxMDAwMDAgMTAwMDAwDQorDQordGwJICBDUlIgbGF0ZW5jeQ0KK25zMWIJLi90Y3BfY3JyIC00 IC0tbm9sb2cgLUMgNTIyMSAtUCA1MjIyDQorc2xlZXAJMg0KK2hvdXQJTEFUIHRjcF9jcnIgLS1u b2xvZyAtYyAtSCAxMjcuMC4wLjEgLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRo cm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK25zMmIJ Li90Y3BfY3JyIC00IC0tbm9sb2cgLUMgNTIyMyAtUCA1MjI0DQorc2xlZXAJMg0KK2hvdXQJTEFU IHRjcF9jcnIgLS1ub2xvZyAtYyAtSCAxMjcuMC4wLjEgLUMgNTIyMyAtUCA1MjI0IC1sIDUgfCBz ZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEw MDAwMA0KKw0KK3RyCVRDUC9JUHY2IHRvIGhvc3QNCitob3N0YgkoaXBlcmYzIC1zMUogLXAgNTIx MSB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDEpICYNCito b3N0YglpcGVyZjMgLXMxSiAtcCA1MjEyIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRz X3Blcl9zZWNvbmQiID50Mg0KK25zMWIJaXBlcmYzIC1jIGZkMDA6OjIgLXAgNTIxMSBfX09QVFNf XyAmIGlwZXJmMyAtYyBmZDAwOjoyIC1wIDUyMTIgX19PUFRTX18NCitzbGVlcAkxMg0KK2hvc3Ri CQ0KK2hvdXQJQlcgZWNobyAiJChjYXQgdDEpICsgJChjYXQgdDIpIiB8IGJjIC1sDQorYncJX19C V19fIDAuMCAwLjANCitob3N0YgkoaXBlcmYzIC1zMUogLXAgNTIxMyB8IGpxIC1yTSAiLmVuZC5z dW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25kIiA+dDEpICYNCitob3N0YglpcGVyZjMgLXMxSiAt cCA1MjE0IHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRzX3Blcl9zZWNvbmQiID50Mg0K K25zMmIJaXBlcmYzIC1jIDo6MSAtcCA1MjEzIF9fT1BUU19fICYgaXBlcmYzIC1jIDo6MSAtcCA1 MjE0IF9fT1BUU19fDQorc2xlZXAJMTINCitob3N0YgkNCitob3V0CUJXIGVjaG8gIiQoY2F0IHQx KSArICQoY2F0IHQyKSIgfCBiYyAtbA0KK2J3CV9fQldfXyAwLjAgMC4wDQorbnMxYgkNCituczJi CQ0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK2hvc3RiCXRjcF9yciAtNiAtLW5vbG9nIC1DIDUyMTEg LVAgNTIxMg0KK3NsZWVwCTINCituczFvdXQJTEFUIC4vdGNwX3JyIC0tbm9sb2cgLWMgLUggZmQw MDo6MiAtQyA1MjExIC1QIDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkv XDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdGNwX3JyIC02IC0tbm9s b2cgLUMgNTIxMyAtUCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi90Y3BfcnIgLS1ub2xv ZyAtYyAtSCA6OjEgLUMgNTIxMyAtUCA1MjE0IC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9 XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0KK3RsCSAgQ1JSIGxh dGVuY3kNCitob3N0Ygl0Y3BfY3JyIC02IC0tbm9sb2cgLUMgNTIxMSAtUCA1MjEyDQorc2xlZXAJ Mg0KK25zMW91dAlMQVQgLi90Y3BfY3JyIC0tbm9sb2cgLWMgLUggZmQwMDo6MiAtQyA1MjExIC1Q IDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19M QVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdGNwX2NyciAtNiAtLW5vbG9nIC1DIDUyMTMgLVAg NTIxNA0KK3NsZWVwCTINCituczJvdXQJTEFUIC4vdGNwX2NyciAtLW5vbG9nIC1jIC1IIDo6MSAt QyA1MjEzIC1QIDUyMTQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcN CitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordGwJVENQL0lQdjQgdG8gaG9zdA0KK2hv c3RiCShpcGVyZjMgLXMxSiAtcCA1MjExIHwganEgLXJNICIuZW5kLnN1bV9yZWNlaXZlZC5iaXRz X3Blcl9zZWNvbmQiID50MSkgJg0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTIgfCBqcSAtck0g Ii5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQyDQorbnMxYglpcGVyZjMgLWMg MTAuMC4yLjIgLXAgNTIxMSBfX09QVFNfXyAmIGlwZXJmMyAtYyAxMC4wLjIuMiAtcCA1MjEyIF9f T1BUU19fDQorc2xlZXAJMTINCitob3N0YgkNCitob3V0CUJXIGVjaG8gIiQoY2F0IHQxKSArICQo Y2F0IHQyKSIgfCBiYyAtbA0KK2J3CV9fQldfXyAwLjAgMC4wDQoraG9zdGIJKGlwZXJmMyAtczFK IC1wIDUyMTMgfCBqcSAtck0gIi5lbmQuc3VtX3JlY2VpdmVkLmJpdHNfcGVyX3NlY29uZCIgPnQx KSAmDQoraG9zdGIJaXBlcmYzIC1zMUogLXAgNTIxNCB8IGpxIC1yTSAiLmVuZC5zdW1fcmVjZWl2 ZWQuYml0c19wZXJfc2Vjb25kIiA+dDINCituczJiCWlwZXJmMyAtYyAxMjcuMC4wLjEgLXAgNTIx MyBfX09QVFNfXyAmIGlwZXJmMyAtYyAxMjcuMC4wLjEgLXAgNTIxNCBfX09QVFNfXw0KK3NsZWVw CTEyDQoraG9zdGIJDQoraG91dAlCVyBlY2hvICIkKGNhdCB0MSkgKyAkKGNhdCB0MikiIHwgYmMg LWwNCitidwlfX0JXX18gMC4wIDAuMA0KK25zMWIJDQorbnMyYgkNCisNCit0bAkgIFJSIGxhdGVu Y3kNCitob3N0Ygl0Y3BfcnIgLTQgLS1ub2xvZyAtQyA1MjExIC1QIDUyMTINCitzbGVlcAkyDQor bnMxb3V0CUxBVCAuL3RjcF9yciAtLW5vbG9nIC1jIC1IIDEwLjAuMi4yIC1DIDUyMTEgLVAgNTIx MiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9f IDEwMDAwMCAxMDAwMDANCitob3N0Ygl0Y3BfcnIgLTQgLS1ub2xvZyAtQyA1MjEzIC1QIDUyMTQN CitzbGVlcAkyDQorbnMyb3V0CUxBVCAuL3RjcF9yciAtLW5vbG9nIC1jIC1IIDEyNy4wLjAuMSAt QyA1MjEzIC1QIDUyMTQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcN CitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordGwJICBDUlIgbGF0ZW5jeQ0KK2hvc3Ri CXRjcF9jcnIgLTQgLS1ub2xvZyAtQyA1MjExIC1QIDUyMTINCitzbGVlcAkyDQorbnMxb3V0CUxB VCAuL3RjcF9jcnIgLS1ub2xvZyAtYyAtSCAxMC4wLjIuMiAtQyA1MjExIC1QIDUyMTIgLWwgNSB8 IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAg MTAwMDAwDQoraG9zdGIJdGNwX2NyciAtNCAtLW5vbG9nIC1DIDUyMTMgLVAgNTIxNA0KK3NsZWVw CTINCituczJvdXQJTEFUIC4vdGNwX2NyciAtLW5vbG9nIC1jIC1IIDEyNy4wLjAuMSAtQyA1MjEz IC1QIDUyMTQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJ X19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQorc2xlZXAJNQ0KKw0KKw0KK3RyCVVEUC9JUHY2IHRv IG5zDQorbnMxYglpcGVyZjMgLXMxSiAtcCA1MjIxIHwganEgLXJNICIuaW50ZXJ2YWxzWzBdLnN1 bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK2hvc3RiCWlwZXJmMyAtdSAtYyA6OjEgLXAgNTIyMSAt dDUgLWIgMzVHDQorc2xlZXAJMTANCituczFvdXQJQlcgY2F0IHQxDQorYncJX19CV19fIDAuMCAw LjANCituczJiCWlwZXJmMyAtczFKIC1wIDUyMjQgfCBqcSAtck0gIi5pbnRlcnZhbHNbMF0uc3Vt LmJpdHNfcGVyX3NlY29uZCIgPnQxDQoraG9zdGIJaXBlcmYzIC11IC1jIDo6MSAtcCA1MjI0IC10 NSAtYiAzNUcNCitzbGVlcAkxMA0KK25zMm91dAlCVyBjYXQgdDENCitidwlfX0JXX18gMC4wIDAu MA0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK25zMWIJLi91ZHBfcnIgLTYgLS1ub2xvZyAtQyA1MjIx IC1QIDUyMjINCitzbGVlcAkyDQoraG91dAlMQVQgdWRwX3JyIC0tbm9sb2cgLWMgLUggOjoxIC1D IDUyMjEgLVAgNTIyMiAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0K K2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCituczJiCS4vdWRwX3JyIC02IC0tbm9sb2cgLUMg NTIyMyAtUCA1MjI0DQorc2xlZXAJMg0KK2hvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1jIC1IIDo6 MSAtQyA1MjIzIC1QIDUyMjQgLWwgNSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQorDQordGwJVURQL0lQdjQgdG8gbnMNCitu czFiCWlwZXJmMyAtczFKIC1wIDUyMjEgfCBqcSAtck0gIi5pbnRlcnZhbHNbMF0uc3VtLmJpdHNf cGVyX3NlY29uZCIgPnQxDQoraG9zdGIJaXBlcmYzIC11IC1jIDEyNy4wLjAuMSAtcCA1MjIxIC10 NSAtYiAzNUcNCitzbGVlcAkxMA0KK25zMW91dAlCVyBjYXQgdDENCitidwlfX0JXX18gMC4wIDAu MA0KK25zMmIJaXBlcmYzIC1zMUogLXAgNTIyNCB8IGpxIC1yTSAiLmludGVydmFsc1swXS5zdW0u Yml0c19wZXJfc2Vjb25kIiA+dDENCitob3N0YglpcGVyZjMgLXUgLWMgMTI3LjAuMC4xIC1wIDUy MjQgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQorbnMyb3V0CUJXIGNhdCB0MQ0KK2J3CV9fQldfXyAw LjAgMC4wDQorDQordGwJICBSUiBsYXRlbmN5DQorbnMxYgkuL3VkcF9yciAtNiAtLW5vbG9nIC1D IDUyMjEgLVAgNTIyMg0KK3NsZWVwCTINCitob3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtYyAtSCAx MjcuMC4wLjEgLUMgNTIyMSAtUCA1MjIyIC1sIDUgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCgu KlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KK25zMmIJLi91ZHBfcnIgLTYg LS1ub2xvZyAtQyA1MjIzIC1QIDUyMjQNCitzbGVlcAkyDQoraG91dAlMQVQgdWRwX3JyIC0tbm9s b2cgLWMgLUggMTI3LjAuMC4xIC1DIDUyMjMgLVAgNTIyNCAtbCA1IHwgc2VkIC1uICdzL150aHJv dWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDEwMDAwMCAxMDAwMDANCisNCit0cglV RFAvSVB2NiB0byBob3N0DQoraG9zdGIJaXBlcmYzIC1zMUogLXAgNTIxMSB8IGpxIC1yTSAiLmlu dGVydmFsc1swXS5zdW0uYml0c19wZXJfc2Vjb25kIiA+dDENCituczFiCWlwZXJmMyAtdSAtYyBm ZDAwOjoyIC1wIDUyMTEgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQoraG91dAlCVyBjYXQgdDENCiti dwlfX0JXX18gMC4wIDAuMA0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTQgfCBqcSAtck0gIi5p bnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorbnMyYglpcGVyZjMgLXUgLWMg OjoxIC1wIDUyMTQgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQoraG91dAlCVyBjYXQgdDENCitidwlf X0JXX18gMC4wIDAuMA0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK2hvc3RiCXVkcF9yciAtNiAtLW5v bG9nIC1DIDUyMTEgLVAgNTIxMg0KK3NsZWVwCTINCituczFvdXQJTEFUIC4vdWRwX3JyIC0tbm9s b2cgLWMgLUggZmQwMDo6MiAtQyA1MjExIC1QIDUyMTIgLWwgNSB8IHNlZCAtbiAncy9edGhyb3Vn aHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAxMDAwMDAgMTAwMDAwDQoraG9zdGIJdWRw X3JyIC02IC0tbm9sb2cgLUMgNTIxMyAtUCA1MjE0DQorc2xlZXAJMg0KK25zMm91dAlMQVQgLi91 ZHBfcnIgLS1ub2xvZyAtYyAtSCA6OjEgLUMgNTIxMyAtUCA1MjE0IC1sIDUgfCBzZWQgLW4gJ3Mv XnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAwMA0KKw0K K3RsCVVEUC9JUHY0IHRvIGhvc3QNCitob3N0YglpcGVyZjMgLXMxSiAtcCA1MjExIHwganEgLXJN ICIuaW50ZXJ2YWxzWzBdLnN1bS5iaXRzX3Blcl9zZWNvbmQiID50MQ0KK25zMWIJaXBlcmYzIC11 IC1jIDEwLjAuMi4yIC1wIDUyMTEgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQoraG91dAlCVyBjYXQg dDENCitidwlfX0JXX18gMC4wIDAuMA0KK2hvc3RiCWlwZXJmMyAtczFKIC1wIDUyMTQgfCBqcSAt ck0gIi5pbnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIgPnQxDQorbnMyYglpcGVyZjMg LXUgLWMgMTI3LjAuMC4xIC1wIDUyMTQgLXQ1IC1iIDM1Rw0KK3NsZWVwCTEwDQoraG91dAlCVyBj YXQgdDENCitidwlfX0JXX18gMC4wIDAuMA0KKw0KK3RsCSAgUlIgbGF0ZW5jeQ0KK2hvc3RiCXVk cF9yciAtNiAtLW5vbG9nIC1DIDUyMTEgLVAgNTIxMg0KK3NsZWVwCTINCituczFvdXQJTEFUIC4v dWRwX3JyIC0tbm9sb2cgLWMgLUggMTAuMC4yLjIgLUMgNTIxMSAtUCA1MjEyIC1sIDUgfCBzZWQg LW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18gMTAwMDAwIDEwMDAw MA0KK2hvc3RiCXVkcF9yciAtNiAtLW5vbG9nIC1DIDUyMTMgLVAgNTIxNA0KK3NsZWVwCTINCitu czJvdXQJTEFUIC4vdWRwX3JyIC0tbm9sb2cgLWMgLUggMTI3LjAuMC4xIC1DIDUyMTMgLVAgNTIx NCAtbCA1IHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9f IDEwMDAwMCAxMDAwMDANCisNCisNCitubA0KK25sDQorc2F5CVRoYW5rcyBmb3Igd2F0Y2hpbmch DQorc2xlZXAJMTUNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2Rpc3Ryby9kZWJpYW4gYi9vbGR0ZXN0 L2Rpc3Ryby9kZWJpYW4NCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi40Mjkx NGY4DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2Rpc3Ryby9kZWJpYW4NCkBAIC0wLDAg KzEsMjUyIEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0K KyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFl bXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUg VGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9k ZQ0KKyMNCisjIHRlc3QvZGlzdHJvL2RlYmlhbiAtIERlYmlhbiBidWlsZHMsIGdldCBwYWNrYWdl cyB2aWEgcGFzc3QsIHRlc3QgcGFzdGENCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhh dCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQor DQorc2V0CVBJREZJTEUgX19TVEFURURJUl9fL3Bhc3N0LnBpZA0KK2h0b29scwljYXQga2lsbCBx ZW11LXN5c3RlbS14ODZfNjQgcWVtdS1zeXN0ZW0tYWFyY2g2NCBxZW11LXN5c3RlbS1wcGM2NA0K Kw0KKyMgUXVpY2sgcGFzdGEgdGVzdDogc2VuZCBtZXNzYWdlIGZyb20gaW5pdCB0byBucywgYW5k IGZyb20gbnMgdG8gaW5pdA0KK2RlZglkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KK2hvc3QJZXhw b3J0IFNIRUxMPSIvYmluL2Rhc2giDQoraG9zdAlkYXNoDQoraG9zdAkoc29jYXQgLXUgVENQNi1M SVNURU46MTAwMDAgT1BFTjovdG1wL2luaXRfbXNnLGNyZWF0ZSx0cnVuYzsgZWNobyAiZnJvbV9p bml0IiB8IHNvY2F0IC11IFNURElOIFRDUDY6Wzo6MV06OTk5OSkgJg0KK2hvc3RiCS4vcGFzdGEN CitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBUQ1A2LUxJU1RFTjo5OTk5IE9QRU46L3RtcC9uc19t c2csY3JlYXRlLHRydW5jICYNCitzbGVlcAkyDQoraG9zdAllY2hvICJmcm9tX25zIiB8IHNvY2F0 IC11IFNURElOIFRDUDY6Wzo6MV06MTAwMDANCitzbGVlcAkyDQoraG9zdAllY2hvDQorc2xlZXAJ MQ0KK2hvdXQJTlNfTVNHIGNhdCAvdG1wL25zX21zZw0KK2NoZWNrCVsgX19OU19NU0dfXyA9ICJm cm9tX2luaXQiIF0NCitob3N0YglleGl0DQoraG9zdAllY2hvDQoraG91dAlJTklUX01TRyBjYXQg L3RtcC9pbml0X21zZw0KK2NoZWNrCVsgX19JTklUX01TR19fID0gImZyb21fbnMiIF0NCitlbmRl Zg0KKw0KKyMgU3RhcnQgcGFzc3QsIHNldCBjb21tb24gdmFyaWFibGVzDQoraG9zdGIJLi9wYXNz dCAtcyBfX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1QIF9fUElERklMRV9fICYNCitzbGVlcAkx DQoraG9zdAllY2hvDQorDQorDQordGVzdAlEZWJpYW4gR05VL0xpbnV4IDggKGplc3NpZSksIGFt ZDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAx MDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dy YXBoaWMgLXZnYSBub25lIC1kcml2ZSBmaWxlPV9fQkFTRVBBVEhfXy9wcmVwYXJlZC1kZWJpYW4t OC4xMS4wLW9wZW5zdGFjay1hbWQ2NC5xY293MixpZj12aXJ0aW8gLWRldmljZSB2aXJ0aW8tbmV0 LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9 dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldCAtc25hcHNob3QNCitob3N0 CVBTMT0nJCAnDQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1cGRhdGUNCitob3N0CWFwdC1nZXQg LXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZM QUdTPSItV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8tbWlzc2luZy1icmFjZXMg LVduby10eXBlLWxpbWl0cyIgbWFrZQ0KKw0KKyMgVE9ETzogcGFzdGEgdGVzdCBza2lwcGVkIGZv ciB0aGUgbW9tZW50OiBjbG9uZSgpIGFzIGNhbGxlZCBieSBOU19DQUxMIGhhbmdzDQorIyB3aXRo IHdyYXBwZXIgcHJvdmlkZWQgYnkgZ2xpYmMgMi4xOSwgcHJvYmFibHkgd3JvbmcgYXJndW1lbnQg b3JkZXIuDQorDQoraGludA0KK3NsZWVwCTENCisNCisjIFBJREZJTEUgaXMgY2xlYW5lZCB1cCB3 aGVuIHRoZSBuZXh0IHRlc3Qgc3RhcnRzLCByZWFkIGl0IG5vdw0KK2hvdXQJUElEIGNhdCBfX1BJ REZJTEVfXw0KKw0KKw0KK3Rlc3QJRGViaWFuIEdOVS9MaW51eCA5IChzdHJldGNoLCBvbGRvbGRz dGFibGUpLCBhbWQ2NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2 bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJl Ym9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLTkt bm9jbG91ZC1hbWQ2NC1kYWlseS0yMDIwMDIxMC0xNjYucWNvdzIgLWRldmljZSB2aXJ0aW8tbmV0 LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9 dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldCAtc25hcHNob3QNCitob3N0 CVBTMT0nJCAnDQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1cGRhdGUNCitob3N0CWFwdC1nZXQg LXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZM QUdTPSItV2Vycm9yIiBtYWtlDQorDQoraG9zdAlzeXNjdGwgLXcga2VybmVsLnVucHJpdmlsZWdl ZF91c2VybnNfY2xvbmU9MQ0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3Ns ZWVwCTENCisNCisNCit0ZXN0CURlYmlhbiBHTlUvTGludXggMTAgKGJ1c3Rlciwgb2xkc3RhYmxl KSwgYW1kNjQNCisNCitob3N0CXFlbXUtc3lzdGVtLXg4Nl82NCAtTSBwYyxhY2NlbD1rdm06dGNn IC1tIDEwMjQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRzIC1uby1yZWJvb3Qg LW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19CQVNFUEFUSF9fL3ByZXBhcmVkLWRlYmlhbi0xMC1ub2Ns b3VkLWFtZDY0LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYg c3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVE SVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCito b3N0CWFwdC1nZXQgdXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3RhbGwgbWFrZSBnY2Mgc29j YXQNCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIgbWFrZQ0KKw0K K2hvc3QJc3lzY3RsIC13IGtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPTENCitkaXN0 cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQordGVzdAlEZWJp YW4gR05VL0xpbnV4IDEwIChidXN0ZXIsIG9sZHN0YWJsZSksIGFhcmNoNjQNCisNCitob3N0CXFl bXUtc3lzdGVtLWFhcmNoNjQgLW0gMjA0OCAtY3B1IGNvcnRleC1hNTcgLXNtcCAyIC1NIHZpcnQg LWJpb3MgX19CQVNFUEFUSF9fL1FFTVVfRUZJLmZkIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAt bm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhfXy9w cmVwYXJlZC1kZWJpYW4tMTAtZ2VuZXJpYy1hcm02NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQt cGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11 bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJ UFMxPSckICcNCitzbGVlcAkyDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAt eSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxB R1M9Ii1XZXJyb3IiIG1ha2UNCisNCitob3N0CXN5c2N0bCAtdyBrZXJuZWwudW5wcml2aWxlZ2Vk X3VzZXJuc19jbG9uZT0xDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xl ZXAJMQ0KKw0KKw0KK3Rlc3QJRGViaWFuIEdOVS9MaW51eCAxMCAoYnVzdGVyLCBvbGRzdGFibGUp LCBwcGM2NGxlDQorDQoraG9zdAlxZW11LXN5c3RlbS1wcGM2NCAtbSAyMDQ4IC1zbXAgMiAtbm9n cmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12 Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLTEwLWdlbmVyaWMtcHBjNjRlbC0y MDIyMDkxMS0xMTM1LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRk ZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RB VEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTIN Citob3N0CWFwdC1nZXQgdXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3RhbGwgbWFrZSBnY2Mg c29jYXQNCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIgbWFrZQ0K Kw0KK2hvc3QJc3lzY3RsIC13IGtlcm5lbC51bnByaXZpbGVnZWRfdXNlcm5zX2Nsb25lPTENCitk aXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQN CisNCisNCit0ZXN0CURlYmlhbiBHTlUvTGludXggMTEgKGJ1bGxzZXllLCBzdGFibGUpLCBhbWQ2 NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAy NCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFw aGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtZGViaWFuLTExLW5vY2xvdWQtYW1k NjQucWNvdzIgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0s aWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bh c3N0LnNvY2tldCAtc25hcHNob3QNCitzbGVlcAkyDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hv c3QJYXB0LWdldCAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFu DQoraG9zdAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVz dA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQordGVzdAlEZWJpYW4gR05VL0xpbnV4IDExIChi dWxsc2V5ZSwgc3RhYmxlKSwgYWFyY2g2NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0tYWFyY2g2NCAt bSAyMDQ4IC1jcHUgY29ydGV4LWE1NyAtc21wIDIgLU0gdmlydCAtYmlvcyBfX0JBU0VQQVRIX18v UUVNVV9FRkkuZmQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRzIC1uby1yZWJv b3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19CQVNFUEFUSF9fL3ByZXBhcmVkLWRlYmlhbi0xMS1n ZW5lcmljLWFybTY0LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRk ZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RB VEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQorc2xlZXAJMg0KK2hvc3QJYXB0LWdldCB1 cGRhdGUNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJ bWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJvX3F1aWNr X3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRGViaWFuIEdOVS9M aW51eCAxMSAoYnVsbHNleWUsIHN0YWJsZSksIHBwYzY0bGUNCisNCitob3N0CXFlbXUtc3lzdGVt LXBwYzY0IC1tIDIwNDggLXNtcCAyIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0 cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1k ZWJpYW4tMTEtZ2VuZXJpYy1wcGM2NGVsLnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0 ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRk ci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQorc2xlZXAJMg0KK2hv c3QJYXB0LWdldCB1cGRhdGUNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2Nh dA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQor ZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KK2hvc3RiCXJlc2V0 DQorDQorDQorIyBIQUNLOiBXZSBuZWVkIHNvbWUgYWRkaXRpb25hbCBzcGFjZSB0byBpbnN0YWxs IGdjYy0xMiBvbiAnc2lkJyBpbWFnZXMgZm9yDQorIyBhbWQ2NCBhbmQgYWFyY2g2NCwgYnV0IGlm IHdlIHVzZSB2aXJ0LXJlc2l6ZSB0byBjYWxsIHJlc2l6ZTJmcyBpbiB0aGUNCisjIHByZXBhcmF0 aW9uIHN0ZXAsIHBhcnRpdGlvbnMgd2lsbCBiZSByZWFycmFuZ2VkIGFuZCB3ZSB3b3VsZCBhbHNv IG5lZWQgdG8NCisjIGFkanVzdCBib290IHBhcmFtZXRlcnMuIEluc3RlYWQsIHJlc2l6ZSB0aGUg aW1hZ2VzIG9mZmxpbmUgZmlyc3QsIGFuZCBleHBhbmQNCisjIHBhcnRpdGlvbnMgYW5kIGZpbGVz eXN0ZW1zIG9ubGluZSwgbGF0ZXIuDQorDQordGVzdAlEZWJpYW4gR05VL0xpbnV4IHNpZCAoZXhw ZXJpbWVudGFsKSwgYW1kNjQNCisNCitob3N0CXFlbXUtaW1nIHJlc2l6ZSBfX0JBU0VQQVRIX18v cHJlcGFyZWQtZGViaWFuLXNpZC1ub2Nsb3VkLWFtZDY0LWRhaWx5LnFjb3cyIDRHDQoraG9zdAlx ZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMg LXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25l IF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1kZWJpYW4tc2lkLW5vY2xvdWQtYW1kNjQtZGFpbHkucWNv dzIgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAs c2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNv Y2tldCAtc25hcHNob3QNCitzbGVlcAkyDQoraG9zdAlncm93cGFydCAvZGV2L3NkYSAxDQoraG9z dAlyZXNpemUyZnMgLXAgL2Rldi9zZGExDQoraG9zdAlleHBvcnQgREVCSUFOX0ZST05URU5EPW5v bmludGVyYWN0aXZlDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAteSBpbnN0 YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1X ZXJyb3IiIG1ha2UNCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVl cAkxDQorDQorDQordGVzdAlEZWJpYW4gR05VL0xpbnV4IHNpZCAoZXhwZXJpbWVudGFsKSwgYWFy Y2g2NA0KKw0KK2hvc3QJcWVtdS1pbWcgcmVzaXplIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1kZWJp YW4tc2lkLW5vY2xvdWQtYXJtNjQtZGFpbHkucWNvdzIgNEcNCitob3N0CXFlbXUtc3lzdGVtLWFh cmNoNjQgLW0gMjA0OCAtY3B1IGNvcnRleC1hNTcgLXNtcCAyIC1NIHZpcnQgLWJpb3MgX19CQVNF UEFUSF9fL1FFTVVfRUZJLmZkIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAt bm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1kZWJp YW4tc2lkLW5vY2xvdWQtYXJtNjQtZGFpbHkucWNvdzIgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxu ZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxh ZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldCAtc25hcHNob3QNCitzbGVlcAkyDQor aG9zdAlncm93cGFydCAvZGV2L3ZkYSAxDQoraG9zdAlyZXNpemUyZnMgLXAgL2Rldi92ZGExDQor aG9zdAlleHBvcnQgREVCSUFOX0ZST05URU5EPW5vbmludGVyYWN0aXZlDQoraG9zdAlhcHQtZ2V0 IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9z dAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitkaXN0cm9fcXVp Y2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQordGVzdAlEZWJpYW4gR05V L0xpbnV4IHNpZCAoZXhwZXJpbWVudGFsKSwgcHBjNjRsZQ0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0t cHBjNjQgLW0gMjA0OCAtc21wIDIgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRz IC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19CQVNFUEFUSF9fL3ByZXBhcmVkLWRl Ymlhbi1zaWQtbm9jbG91ZC1wcGM2NGVsLWRhaWx5LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5ldC1w Y2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVu aXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQorc2xlZXAJ Mg0KK2hvc3QJZXhwb3J0IERFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZQ0KK2hvc3QJYXB0 LWdldCB1cGRhdGUNCitob3N0CWFwdC1nZXQgLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0K K2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJv X3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KK2hvc3RiCXJlc2V0DQorDQor DQorc2xlZXAJMQ0KK2hvc3QJa2lsbCBfX1BJRF9fDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9kaXN0 cm8vZmVkb3JhIGIvb2xkdGVzdC9kaXN0cm8vZmVkb3JhDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMC4uMzMxZjkwYg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9kaXN0 cm8vZmVkb3JhDQpAQCAtMCwwICsxLDM5NiBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRy YW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFT VEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVz cGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2Rpc3Ryby9mZWRvcmEgLSBGZWRvcmEg YnVpbGRzLCBnZXQgcGFja2FnZXMgdmlhIHBhc3N0LCB0ZXN0IHBhc3RhDQorIw0KKyMgQ29weXJp Z2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2Jy aXZpb0ByZWRoYXQuY29tPg0KKw0KK3NldAlQSURGSUxFIF9fU1RBVEVESVJfXy9wYXNzdC5waWQN CitodG9vbHMJY2F0IGtpbGwgcWVtdS1zeXN0ZW0teDg2XzY0DQorDQorIyBRdWljayBwYXN0YSB0 ZXN0OiBzZW5kIG1lc3NhZ2UgZnJvbSBpbml0IHRvIG5zLCBhbmQgZnJvbSBucyB0byBpbml0DQor ZGVmCWRpc3Ryb19xdWlja19wYXN0YV90ZXN0DQoraG9zdAkoc29jYXQgLXUgVENQNi1MSVNURU46 MTAwMDAsYmluZD1bOjoxXSBPUEVOOi90bXAvaW5pdF9tc2csY3JlYXRlLHRydW5jOyBlY2hvICJm cm9tX2luaXQiIHwgc29jYXQgLXUgU1RESU4gVENQNjpbOjoxXTo5OTk5KSAmDQoraG9zdGIJLi9w YXN0YQ0KK3NsZWVwCTENCitob3N0CVBTMT0nJCAnDQoraG9zdAlzb2NhdCAtdSBUQ1A2LUxJU1RF Tjo5OTk5LGJpbmQ9Wzo6MV0gT1BFTjovdG1wL25zX21zZyxjcmVhdGUsdHJ1bmMgJg0KK3NsZWVw CTINCitob3N0CWVjaG8gImZyb21fbnMiIHwgc29jYXQgLXUgU1RESU4gVENQNjpbOjoxXToxMDAw MA0KK3NsZWVwCTINCitob3N0CWVjaG8NCitzbGVlcAkxDQoraG91dAlOU19NU0cgY2F0IC90bXAv bnNfbXNnDQorY2hlY2sJWyBfX05TX01TR19fID0gImZyb21faW5pdCIgXQ0KK2hvc3RiCWV4aXQN Citob3N0CWVjaG8NCitob3V0CUlOSVRfTVNHIGNhdCAvdG1wL2luaXRfbXNnDQorY2hlY2sJWyBf X0lOSVRfTVNHX18gPSAiZnJvbV9ucyIgXQ0KK2VuZGVmDQorDQorIyBCcmFja2V0ZWQgcGFzdGUg bW9kZSBvZmYsIG5lZWRlZCBmcm9tIEZlZG9yYSAzNA0KK2RlZglkaXN0cm9fcXVpY2tfcGFzdGFf dGVzdF9mZWRvcmEzNA0KK2hvc3QJYmluZCAnc2V0IGVuYWJsZS1icmFja2V0ZWQtcGFzdGUgb2Zm Jw0KK2hvc3QJKHNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAwLGJpbmQ9Wzo6MV0gT1BFTjovdG1w L2luaXRfbXNnLGNyZWF0ZSx0cnVuYzsgZWNobyAiZnJvbV9pbml0IiB8IHNvY2F0IC11IFNURElO IFRDUDY6Wzo6MV06OTk5OSkgJg0KK2hvc3RiCS4vcGFzdGENCitzbGVlcAkxDQoraG9zdAlQUzE9 JyQgJw0KK2hvc3QJYmluZCAnc2V0IGVuYWJsZS1icmFja2V0ZWQtcGFzdGUgb2ZmJw0KK2hvc3QJ c29jYXQgLXUgVENQNi1MSVNURU46OTk5OSxiaW5kPVs6OjFdIE9QRU46L3RtcC9uc19tc2csY3Jl YXRlLHRydW5jICYNCitzbGVlcAkyDQoraG9zdAllY2hvICJmcm9tX25zIiB8IHNvY2F0IC11IFNU RElOIFRDUDY6Wzo6MV06MTAwMDANCitzbGVlcAkyDQoraG9zdAllY2hvDQoraG91dAlOU19NU0cg Y2F0IC90bXAvbnNfbXNnDQorY2hlY2sJWyBfX05TX01TR19fID0gImZyb21faW5pdCIgXQ0KK2hv c3RiCWV4aXQNCitob3N0CWVjaG8NCitob3V0CUlOSVRfTVNHIGNhdCAvdG1wL2luaXRfbXNnDQor Y2hlY2sJWyBfX0lOSVRfTVNHX18gPSAiZnJvbV9ucyIgXQ0KK2VuZGVmDQorDQorIyBTdGFydCBw YXNzdCwgc2V0IGNvbW1vbiB2YXJpYWJsZXMNCitob3N0YgkuL3Bhc3N0IC1zIF9fU1RBVEVESVJf Xy9wYXNzdC5zb2NrZXQgLVAgX19QSURGSUxFX18gJg0KK3NsZWVwCTENCitob3N0CWVjaG8NCisN Cit0ZXN0CUZlZG9yYSAyNiwgeDg2XzY0DQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZfNjQgLU0g cGMsYWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZh dWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBBVEhfXy9wcmVwYXJl ZC1GZWRvcmEtQ2xvdWQtQmFzZS0yNi0xLjUueDg2XzY0LnFjb3cyIC1kZXZpY2UgdmlydGlvLW5l dC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBl PXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNuYXBzaG90DQoraG9z dAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0 DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBl Y2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFf dGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorIyBQSURGSUxFIGlzIGNsZWFuZWQgdXAgd2hl biB0aGUgbmV4dCB0ZXN0IHN0YXJ0cywgcmVhZCBpdCBub3cNCitob3V0CVBJRCBjYXQgX19QSURG SUxFX18NCisNCisNCit0ZXN0CUZlZG9yYSAyNywgeDg2XzY0DQorDQoraG9zdAlxZW11LXN5c3Rl bS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAtbSAxMDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBz dGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fQkFTRVBB VEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0yNy0xLjYueDg2XzY0LnFjb3cyIC1kZXZp Y2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1v ZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLXNu YXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1h a2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vy cm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9f cXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQorDQorDQordGVzdAlGZWRvcmEg MjgsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0 Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9v dCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3Vk LUJhc2UtMjgtMS4xLng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1z MCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0 aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitz bGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFr ZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNr CVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50 DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDI4LCBhYXJjaDY0DQorDQoraG9zdAlxZW11 LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1i aW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Eg bm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFz ZS0yOC0xLjEuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAt bmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1f X1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90 DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2Nj IHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBt YWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tf cGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQor aG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMjksIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1z eXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJp YWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JB U0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMjktMS4yLng4Nl82NC5xY293MiAt ZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2 ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0 IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFs bCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0i LVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlz dHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVk b3JhIDI5LCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNw dSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5m ZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBB VEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0yOS0xLjIuYWFyY2g2NC5xY293MiAtZGV2 aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9 b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1k ZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTIN Citob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFu DQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JF VF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVl cAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRv cmEgMzAsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2 bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJl Ym9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNs b3VkLUJhc2UtMzAtMS4yLng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRl dj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIu cGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcN CitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJ bWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2No ZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCito aW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDMwLCBhYXJjaDY0DQorDQoraG9zdAlx ZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0 IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12 Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQt QmFzZS0zMC0xLjIuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1z MCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0 aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBz aG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2Ug Z2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9y IiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVp Y2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkx DQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMzEsIHg4Nl82NA0KKw0KK2hvc3QJcWVt dS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1z ZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBf X0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMzEtMS45Lng4Nl82NC5xY293 MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxz ZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29j a2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5z dGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFH Uz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQor ZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJ RmVkb3JhIDMxLCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDgg LWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VG SS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFT RVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0zMS0xLjkuYWFyY2g2NC5xY293MiAt ZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2 ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0 IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVw CTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNs ZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBf X1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitz bGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlG ZWRvcmEgMzIsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2Vs PWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5v LXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3Jh LUNsb3VkLUJhc2UtMzItMS42Lng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5l dGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFk ZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSck ICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hv c3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0K K2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisN CitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDMyLCBhYXJjaDY0DQorDQoraG9z dAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2 aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGlj IC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xv dWQtQmFzZS0zMi0xLjYuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRl dj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIu cGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNu YXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1h a2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vy cm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9f cXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVl cAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEgMzMsIHg4Nl82NA0KKw0KK2hvc3QJ cWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGlj IC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9u ZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3VkLUJhc2UtMzMtMS4yLng4Nl82NC5x Y293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1z MCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Qu c29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkg aW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENG TEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQor DQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rl c3QJRmVkb3JhIDMzLCBhYXJjaDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIw NDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1V X0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9f QkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEtQ2xvdWQtQmFzZS0zMy0xLjIuYWFyY2g2NC5xY293 MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxz ZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29j a2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3Ns ZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtl IGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJ WyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQN CitzbGVlcAkxDQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVz dAlGZWRvcmEgMzQsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFj Y2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMg LW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVk b3JhLUNsb3VkLUJhc2UtMzQtMS4yLng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNp LG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4 LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMx PSckICcNCitzbGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0K K2hvc3QJbWFrZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAk Pw0KK2NoZWNrCVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3Rf ZmVkb3JhMzQNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDM0LCBhYXJj aDY0DQorDQoraG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3 IC1zbXAgMiAtTSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0 cyAtbm9ncmFwaGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJl ZC1GZWRvcmEtQ2xvdWQtQmFzZS0zNC0xLjIuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1u ZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlw ZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlv LXJuZy1wY2kgLXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAt eSBpbnN0YWxsIG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQg Q0ZMQUdTPSItV2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0N CisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdF9mZWRvcmEzNA0KKw0KK2hpbnQNCitzbGVlcAkx DQoraG9zdGIJcmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQordGVzdAlGZWRvcmEg MzUsIHg4Nl82NA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFjY2VsPWt2bTp0 Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMgLW5vLXJlYm9v dCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0JBU0VQQVRIX18vcHJlcGFyZWQtRmVkb3JhLUNsb3Vk LUJhc2UtMzUtMS4yLng4Nl82NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1z MCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0 aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1zbmFwc2hvdA0KK2hvc3QJUFMxPSckICcNCitz bGVlcAkyDQoraG9zdAl5dW0gLXkgaW5zdGFsbCBtYWtlIGdjYyBzb2NhdA0KKw0KK2hvc3QJbWFr ZSBjbGVhbg0KK2hvdXQJUkVUIENGTEFHUz0iLVdlcnJvciIgbWFrZTsgZWNobyAkPw0KK2NoZWNr CVsgX19SRVRfXyAtZXEgMCBdDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3RfZmVkb3JhMzQN CisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJRmVkb3JhIDM1LCBhYXJjaDY0DQorDQor aG9zdAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAt TSB2aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFw aGljIC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1GZWRvcmEt Q2xvdWQtQmFzZS0zNS0xLjIuYWFyY2g2NC5xY293MiAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5l dGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFk ZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kg LXNuYXBzaG90DQoraG9zdAlQUzE9JyQgJw0KK3NsZWVwCTINCitob3N0CXl1bSAteSBpbnN0YWxs IG1ha2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG91dAlSRVQgQ0ZMQUdTPSIt V2Vycm9yIiBtYWtlOyBlY2hvICQ/DQorY2hlY2sJWyBfX1JFVF9fIC1lcSAwIF0NCisNCitkaXN0 cm9fcXVpY2tfcGFzdGFfdGVzdF9mZWRvcmEzNA0KKw0KK2hpbnQNCitzbGVlcAkxDQoraG9zdGIJ cmVzZXQNCitzbGVlcAkxDQoraG9zdAllY2hvDQorDQorDQoraG9zdAlraWxsIF9fUElEX18NCmRp ZmYgLS1naXQgYS9vbGR0ZXN0L2Rpc3Ryby9vcGVuc3VzZSBiL29sZHRlc3QvZGlzdHJvL29wZW5z dXNlDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uZWFiNzIyYg0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9kaXN0cm8vb3BlbnN1c2UNCkBAIC0wLDAgKzEsMjA4IEBA DQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBB U1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBk b21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3Ry YWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisj IHRlc3QvZGlzdHJvL29wZW5zdXNlIC0gT3BlblNVU0UgYnVpbGRzLCBnZXQgcGFja2FnZXMgdmlh IHBhc3N0LCB0ZXN0IHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21i SA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3Nl dAlQSURGSUxFIF9fU1RBVEVESVJfXy9wYXNzdC5waWQNCitodG9vbHMJcWVtdS1pbWcgdmlydC1l ZGl0IGd1ZXN0ZmlzaCBoZWFkIHNlZCBjYXQga2lsbCBxZW11LXN5c3RlbS14ODZfNjQgcWVtdS1z eXN0ZW0tYWFyY2g2NCB4emNhdCB0cg0KKw0KKyMgUXVpY2sgcGFzdGEgdGVzdDogc2VuZCBtZXNz YWdlIGZyb20gaW5pdCB0byBucywgYW5kIGZyb20gbnMgdG8gaW5pdA0KK2RlZglkaXN0cm9fcXVp Y2tfcGFzdGFfdGVzdA0KK2hvc3QJKHNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAwIE9QRU46L3Rt cC9pbml0X21zZyxjcmVhdGUsdHJ1bmM7IGVjaG8gImZyb21faW5pdCIgfCBzb2NhdCAtdSBTVERJ TiBUQ1A2Ols6OjFdOjk5OTkpICYNCitob3N0YgkuL3Bhc3RhDQorc2xlZXAJMQ0KK2hvc3QJUFMx PSckICcNCitob3N0CXNvY2F0IC11IFRDUDYtTElTVEVOOjk5OTkgT1BFTjovdG1wL25zX21zZyxj cmVhdGUsdHJ1bmMgJg0KK3NsZWVwCTINCitob3N0CWVjaG8gImZyb21fbnMiIHwgc29jYXQgLXUg U1RESU4gVENQNjpbOjoxXToxMDAwMA0KK3NsZWVwCTINCitob3N0CWVjaG8NCitzbGVlcAkxDQor aG91dAlOU19NU0cgY2F0IC90bXAvbnNfbXNnDQorY2hlY2sJWyBfX05TX01TR19fID0gImZyb21f aW5pdCIgXQ0KK2hvc3RiCWV4aXQNCitob3N0CWVjaG8NCitob3V0CUlOSVRfTVNHIGNhdCAvdG1w L2luaXRfbXNnDQorY2hlY2sJWyBfX0lOSVRfTVNHX18gPSAiZnJvbV9ucyIgXQ0KK2VuZGVmDQor DQorIyBTdGFydCBwYXNzdCwgc2V0IGNvbW1vbiB2YXJpYWJsZXMNCitob3N0YgkuL3Bhc3N0IC1z IF9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLVAgX19QSURGSUxFX18gJg0KK3NsZWVwCTENCito b3N0CWVjaG8NCitob3V0CUROUzYgc2VkIC1uICdzL15uYW1lc2VydmVyIFwoW146XSo6XClcKFte JV0qXCkuKi9cMVwyL3AnIC9ldGMvcmVzb2x2LmNvbmYgfCBoZWFkIC0xDQoraG91dAlHVUVTVF9G SUxFUyBscyAtMSAqLmMgKi5oICouc2ggcGFzc3QuMSBxcmFwLjEgTWFrZWZpbGUgUkVBRE1FLm1k IHwgdHIgJ1xuJyAnICc7IGVjaG8NCisNCisNCit0ZXN0CU9wZW5TVVNFIExlYXAgMTUuMQ0KKw0K K3NldAlJTUcgX19TVEFURURJUl9fL29wZW5zdXNlLTE1LjEteDg2XzY0LmltZw0KK2hvc3QJcWVt dS1pbWcgY3JlYXRlIC1mIHFjb3cyIC1GIHFjb3cyIC1iIF9fQkFTRVBBVEhfXy9vcGVuU1VTRS1M ZWFwLTE1LjEtSmVPUy54ODZfNjQta3ZtLWFuZC14ZW4ucWNvdzIgX19JTUdfXw0KK2hvc3QJZ3Vl c3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAnL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vc3lz dGVtZC1qb3VybmFsZC5zZXJ2aWNlJw0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAt aSBybSAvZXRjL3N5c3RlbWQvc3lzdGVtL2RlZmF1bHQudGFyZ2V0LndhbnRzL2plb3MtZmlyc3Ri b290LnNlcnZpY2UNCitob3N0CXZpcnQtZWRpdCAtYSBfX0lNR19fIC9ldGMvc3lzdGVtZC9zeXN0 ZW0vZ2V0dHkudGFyZ2V0LndhbnRzL2dldHR5QHR0eTEuc2VydmljZSAtZSAncy9FeGVjU3RhcnQ9 LiovRXhlY1N0YXJ0PVwvc2JpblwvYWdldHR5IC0tdGltZW91dCA1MDAwIC0tYXV0b2xvZ2luIHJv b3QgLWkgLTggLS1rZWVwLWJhdWQgMTE1MjAwLDM4NDAwLDk2MDAgdHR5UzAgJFRFUk0vZycNCito b3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgY29weS1pbiBfX0dVRVNUX0ZJTEVTX18g L3Jvb3QvDQorDQoraG9zdAlxZW11LXN5c3RlbS14ODZfNjQgLU0gcGMsYWNjZWw9a3ZtOnRjZyAt bSAxMDI0IC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVib290IC1u b2dyYXBoaWMgLXZnYSBub25lIF9fSU1HX18gLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9 czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBh dGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldA0KK2hvc3QJUFMxPSckICcNCitob3N0CWlwIGxp bmsgc2V0IGV0aDAgdXANCitzbGVlcAkyDQoraG9zdAllY2hvICJETlNTRVJWRVJTPSdfX0ROUzZf XyciIHwgbmV0Y29uZmlnIG1vZGlmeSAtcyBkbnNfcmVzb2x2ZXIgLWkgZXRoMA0KKyMgenlwcGVy IHNvbWV0aW1lcyBzZWdmYXVsdHMsIGhlbmNlIHRoZSByZXRyaWVzDQoraG9zdAlmb3IgaSBpbiAk KHNlcSAxIDEwKTsgZG8genlwcGVyIGluc3RhbGwgLXkgZ2NjIG1ha2Ugc29jYXQgJiYgYnJlYWs7 IGRvbmU7IGVjaG8NCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIg bWFrZQ0KKw0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3NsZWVwCTENCisN CisjIFBJREZJTEUgaXMgY2xlYW5lZCB1cCB3aGVuIHRoZSBuZXh0IHRlc3Qgc3RhcnRzLCByZWFk IGl0IG5vdw0KK2hvdXQJUElEIGNhdCBfX1BJREZJTEVfXw0KKw0KKw0KK3Rlc3QJT3BlblNVU0Ug TGVhcCAxNS4yDQorDQorc2V0CUlNRyBfX1NUQVRFRElSX18vb3BlbnN1c2UtMTUuMi14ODZfNjQu aW1nDQoraG9zdAlxZW11LWltZyBjcmVhdGUgLWYgcWNvdzIgLUYgcWNvdzIgLWIgX19CQVNFUEFU SF9fL29wZW5TVVNFLUxlYXAtMTUuMi1KZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MiBfX0lN R19fDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtICcvdXNyL2xpYi9zeXN0 ZW1kL3N5c3RlbS9zeXN0ZW1kLWpvdXJuYWxkLnNlcnZpY2UnDQoraG9zdAlndWVzdGZpc2ggLS1y dyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvc3lzdGVtZC9zeXN0ZW0vZGVmYXVsdC50YXJnZXQud2Fu dHMvamVvcy1maXJzdGJvb3Quc2VydmljZQ0KK2hvc3QJdmlydC1lZGl0IC1hIF9fSU1HX18gL2V0 Yy9zeXN0ZW1kL3N5c3RlbS9nZXR0eS50YXJnZXQud2FudHMvZ2V0dHlAdHR5MS5zZXJ2aWNlIC1l ICdzL0V4ZWNTdGFydD0uKi9FeGVjU3RhcnQ9XC9zYmluXC9hZ2V0dHkgLS10aW1lb3V0IDUwMDAg LS1hdXRvbG9naW4gcm9vdCAtaSAtOCAtLWtlZXAtYmF1ZCAxMTUyMDAsMzg0MDAsOTYwMCB0dHlT MCAkVEVSTS9nJw0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBjb3B5LWluIF9f R1VFU1RfRklMRVNfXyAvcm9vdC8NCisNCitob3N0CXFlbXUtc3lzdGVtLXg4Nl82NCAtTSBwYyxh Y2NlbD1rdm06dGNnIC1tIDEwMjQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRz IC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgX19JTUdfXyAtZGV2aWNlIHZpcnRpby1u ZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlw ZT11bml4LGFkZHIucGF0aD1fX1NUQVRFRElSX18vcGFzc3Quc29ja2V0DQoraG9zdAlQUzE9JyQg Jw0KK2hvc3QJaXAgbGluayBzZXQgZXRoMCB1cA0KK3NsZWVwCTINCitob3N0CWVjaG8gIkROU1NF UlZFUlM9J19fRE5TNl9fJyIgfCBuZXRjb25maWcgbW9kaWZ5IC1zIGRuc19yZXNvbHZlciAtaSBl dGgwDQorIyB6eXBwZXIgc29tZXRpbWVzIHNlZ2ZhdWx0cywgaGVuY2UgdGhlIHJldHJpZXMNCito b3N0CWZvciBpIGluICQoc2VxIDEgMTApOyBkbyB6eXBwZXIgaW5zdGFsbCAteSBnY2MgbWFrZSBz b2NhdCAmJiBicmVhazsgZG9uZTsgZWNobw0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZM QUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50 DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJT3BlblNVU0UgTGVhcCAxNS4zDQorDQorc2V0CUlNRyBf X1NUQVRFRElSX18vb3BlbnN1c2UtMTUuMy14ODZfNjQuaW1nDQoraG9zdAlxZW11LWltZyBjcmVh dGUgLWYgcWNvdzIgLUYgcWNvdzIgLWIgX19CQVNFUEFUSF9fL29wZW5TVVNFLUxlYXAtMTUuMy1K ZU9TLng4Nl82NC1rdm0tYW5kLXhlbi5xY293MiBfX0lNR19fDQoraG9zdAlndWVzdGZpc2ggLS1y dyAtYSBfX0lNR19fIC1pIHJtICcvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9zeXN0ZW1kLWpvdXJu YWxkLnNlcnZpY2UnDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMv c3lzdGVtZC9zeXN0ZW0vZGVmYXVsdC50YXJnZXQud2FudHMvamVvcy1maXJzdGJvb3Quc2Vydmlj ZQ0KK2hvc3QJdmlydC1lZGl0IC1hIF9fSU1HX18gL2V0Yy9zeXN0ZW1kL3N5c3RlbS9nZXR0eS50 YXJnZXQud2FudHMvZ2V0dHlAdHR5MS5zZXJ2aWNlIC1lICdzL0V4ZWNTdGFydD0uKi9FeGVjU3Rh cnQ9XC9zYmluXC9hZ2V0dHkgLS10aW1lb3V0IDUwMDAgLS1hdXRvbG9naW4gcm9vdCAtaSAtOCAt LWtlZXAtYmF1ZCAxMTUyMDAsMzg0MDAsOTYwMCB0dHlTMCAkVEVSTS9nJw0KK2hvc3QJZ3Vlc3Rm aXNoIC0tcncgLWEgX19JTUdfXyAtaSBjb3B5LWluIF9fR1VFU1RfRklMRVNfXyAvcm9vdC8NCisN Citob3N0CXFlbXUtc3lzdGVtLXg4Nl82NCAtTSBwYyxhY2NlbD1rdm06dGNnIC1tIDEwMjQgLW5v Z3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAt dmdhIG5vbmUgX19JTUdfXyAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAtbmV0ZGV2 IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD1fX1NUQVRF RElSX18vcGFzc3Quc29ja2V0DQorIyBNdWx0aXBsZSBwcm9tcHQgbG9naW5zIG1pZ2h0IGNvbWUg dXAgaGVyZQ0KK3NsZWVwCTEwDQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJaXAgbGluayBzZXQgZXRo MCB1cA0KK3NsZWVwCTINCitob3N0CWVjaG8gIkROU1NFUlZFUlM9J19fRE5TNl9fJyIgfCBuZXRj b25maWcgbW9kaWZ5IC1zIGRuc19yZXNvbHZlciAtaSBldGgwDQorIyB6eXBwZXIgc29tZXRpbWVz IHNlZ2ZhdWx0cywgaGVuY2UgdGhlIHJldHJpZXMNCitob3N0CWZvciBpIGluICQoc2VxIDEgMTAp OyBkbyB6eXBwZXIgaW5zdGFsbCAteSBnY2MgbWFrZSBzb2NhdCAmJiBicmVhazsgZG9uZTsgZWNo bw0KKw0KK2hvc3QJbWFrZSBjbGVhbg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQor ZGlzdHJvX3F1aWNrX3Bhc3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJ T3BlblNVU0UgVHVtYmxld2VlZCBhYXJjaDY0DQorDQorc2V0CUlNRyBfX1NUQVRFRElSX18vb3Bl bnN1c2UtdHVtYmxld2VlZC1hYXJjaDY0LmltZw0KK2hvc3QJeHpjYXQgX19CQVNFUEFUSF9fL29w ZW5TVVNFLVR1bWJsZXdlZWQtQVJNLUplT1MtZWZpLmFhcmNoNjQucmF3Lnh6ID4gX19JTUdfXw0K K2hvc3QJdmlydC1lZGl0IC1hIF9fSU1HX18gLW0gL2Rldi9zZGEzIC91c3IvbGliL3N5c3RlbWQv c3lzdGVtL3NlcmlhbC1nZXR0eUAuc2VydmljZSAtZSAncy9FeGVjU3RhcnQ9LiovRXhlY1N0YXJ0 PVwvc2JpblwvYWdldHR5IC0tdGltZW91dCA1MDAwIC0tYXV0b2xvZ2luIHJvb3QgLWkgLTggLS1r ZWVwLWJhdWQgMTE1MjAwLDM4NDAwLDk2MDAgJUkgJFRFUk0vZycNCitob3N0CWd1ZXN0ZmlzaCAt LXJ3IC1hIF9fSU1HX18gLWkgY29weS1pbiBfX0dVRVNUX0ZJTEVTX18gL3Jvb3QvDQorDQoraG9z dAlxZW11LXN5c3RlbS1hYXJjaDY0IC1tIDIwNDggLWNwdSBjb3J0ZXgtYTU3IC1zbXAgMiAtTSB2 aXJ0IC1iaW9zIF9fQkFTRVBBVEhfXy9RRU1VX0VGSS5mZCAtbm9kZWZhdWx0cyAtbm9ncmFwaGlj IC12Z2Egbm9uZSAtc2VyaWFsIHN0ZGlvIF9fSU1HX18gLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxu ZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxh ZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldA0KK2hvc3QJUFMxPSckICcNCitob3N0 CWlwIGxpbmsgc2V0IGVucDBzMSB1cA0KK3NsZWVwCTEwDQoraG9zdAllY2hvICJETlNTRVJWRVJT PSdfX0ROUzZfXyciIHwgbmV0Y29uZmlnIG1vZGlmeSAtcyBkbnNfcmVzb2x2ZXIgLWkgZW5wMHMx DQorc2xlZXAJMTANCisjIE5vIHNlZ2ZhdWx0cyBldmVyIHNlZW4gd2l0aCB0aGlzDQoraG9zdAl6 eXBwZXIgaW5zdGFsbCAteSBnY2MgbWFrZSBzb2NhdDsgZWNobw0KKw0KK2hvc3QJbWFrZSBjbGVh bg0KK2hvc3QJQ0ZMQUdTPSItV2Vycm9yIiBtYWtlDQorDQorZGlzdHJvX3F1aWNrX3Bhc3RhX3Rl c3QNCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJT3BlblNVU0UgVHVtYmxld2VlZCBh cm12N2wNCisNCitzZXQJSU1HIF9fU1RBVEVESVJfXy9vcGVuc3VzZS10dW1ibGV3ZWVkLWFybXY3 bC5pbWcNCitzZXQJWklNQUdFIF9fU1RBVEVESVJfXy9vcGVuc3VzZS10dW1ibGV3ZWVkLWFybXY3 bC56aW1hZ2UNCitzZXQJSU5JVFJEIF9fU1RBVEVESVJfXy9vcGVuc3VzZS10dW1ibGV3ZWVkLWFy bXY3bC5pbml0cmQNCitob3N0CXh6Y2F0IF9fQkFTRVBBVEhfXy9vcGVuU1VTRS1UdW1ibGV3ZWVk LUFSTS1KZU9TLWVmaS5hcm12N2wucmF3Lnh6ID4gX19JTUdfXw0KK2hvc3QJZ3Vlc3RmaXNoIC1h IF9fSU1HX18gLWkgZG93bmxvYWQgL2Jvb3QvekltYWdlIF9fWklNQUdFX18NCitob3N0CWd1ZXN0 ZmlzaCAtYSBfX0lNR19fIC1pIGRvd25sb2FkIC9ib290L2luaXRyZCBfX0lOSVRSRF9fDQoraG9z dAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAtbSAvZGV2L3NkYTMgL3Vzci9saWIvc3lzdGVtZC9zeXN0 ZW0vc2VyaWFsLWdldHR5QC5zZXJ2aWNlIC1lICdzL0V4ZWNTdGFydD0uKi9FeGVjU3RhcnQ9XC9z YmluXC9hZ2V0dHkgLS10aW1lb3V0IDUwMDAgLS1hdXRvbG9naW4gcm9vdCAtaSAtOCAtLWtlZXAt YmF1ZCAxMTUyMDAsMzg0MDAsOTYwMCAlSSAkVEVSTS9nJw0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncg LWEgX19JTUdfXyAtaSBjb3B5LWluIF9fR1VFU1RfRklMRVNfXyAvcm9vdC8NCisNCitob3N0CXFl bXUtc3lzdGVtLWFybSAtTSB2aXJ0IC1tIDEwMjQgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvIC1u b2RlZmF1bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUgLWtlcm5lbCBfX1pJTUFH RV9fIC1pbml0cmQgX19JTklUUkRfXyAtYXBwZW5kICdyb290PS9kZXYvc2RhMycgLWRyaXZlIGlm PW5vbmUsZmlsZT1fX0lNR19fLGZvcm1hdD1yYXcsaWQ9aGQsbWVkaWE9ZGlzayAtZGV2aWNlIHZp cnRpby1zY3NpLWRldmljZSAtZGV2aWNlIHNjc2ktaGQsZHJpdmU9aGQgLW5ldGRldiBzb2NrZXQs ZmQ9NSxpZD1wYXNzdCAtZGV2aWNlIHZpcnRpby1uZXQtZGV2aWNlLG5ldGRldj1wYXNzdA0KK2hv c3QJUFMxPSckICcNCitob3N0CWlwIGxpbmsgc2V0IGV0aDAgdXANCitzbGVlcAkxMA0KK2hvc3QJ ZWNobyAiRE5TU0VSVkVSUz0nX19ETlM2X18nIiB8IG5ldGNvbmZpZyBtb2RpZnkgLXMgZG5zX3Jl c29sdmVyIC1pIGV0aDANCitzbGVlcAkxMA0KK2hvc3QJenlwcGVyIGluc3RhbGwgLXkgZ2NjIG1h a2Ugc29jYXQ7IGVjaG8NCisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJv ciIgbWFrZQ0KKw0KK2Rpc3Ryb19xdWlja19wYXN0YV90ZXN0DQorDQoraGludA0KK3NsZWVwCTEN CisNCisNCit0ZXN0CU9wZW5TVVNFIFR1bWJsZXdlZWQNCisNCitzZXQJSU1HIF9fU1RBVEVESVJf Xy9vcGVuc3VzZS10dW1ibGV3ZWVkLXg4Nl82NC5pbWcNCitob3N0CXFlbXUtaW1nIGNyZWF0ZSAt ZiBxY293MiAtRiBxY293MiAtYiBfX0JBU0VQQVRIX18vb3BlblNVU0UtVHVtYmxld2VlZC1KZU9T Lng4Nl82NC1rdm0tYW5kLXhlbi5xY293MiBfX0lNR19fDQoraG9zdAlndWVzdGZpc2ggLS1ydyAt YSBfX0lNR19fIC1pIHJtIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtL3N5c3RlbWQtam91cm5hbGQu c2VydmljZQ0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL3N5c3Rl bWQvc3lzdGVtL2RlZmF1bHQudGFyZ2V0LndhbnRzL2plb3MtZmlyc3Rib290LnNlcnZpY2UNCito b3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL3Vzci9saWIvc3lzdGVtZC9zeXN0 ZW0vc2VyaWFsLWdldHR5QC5zZXJ2aWNlDQoraG9zdAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAvZXRj L3N5c3RlbWQvc3lzdGVtL2dldHR5LnRhcmdldC53YW50cy9nZXR0eUB0dHkxLnNlcnZpY2UgLWUg J3MvRXhlY1N0YXJ0PS4qL0V4ZWNTdGFydD1cL3NiaW5cL2FnZXR0eSAtLXRpbWVvdXQgNTAwMCAt LWF1dG9sb2dpbiByb290IC1pIC04IC0ta2VlcC1iYXVkIDExNTIwMCwzODQwMCw5NjAwIHR0eVMw ICRURVJNL2cnDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIGNvcHktaW4gX19H VUVTVF9GSUxFU19fIC9yb290Lw0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0teDg2XzY0IC1NIHBjLGFj Y2VsPWt2bTp0Y2cgLW0gMTAyNCAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8gLW5vZGVmYXVsdHMg LW5vLXJlYm9vdCAtbm9ncmFwaGljIC12Z2Egbm9uZSBfX0lNR19fIC1kZXZpY2UgdmlydGlvLW5l dC1wY2ksbmV0ZGV2PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBl PXVuaXgsYWRkci5wYXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQNCitob3N0CVBTMT0nJCAn DQoraG9zdAlpcCBsaW5rIHNldCBlbnMyIHVwDQorc2xlZXAJMg0KK2hvc3QJZWNobyAiRE5TU0VS VkVSUz0nX19ETlM2X18nIiB8IG5ldGNvbmZpZyBtb2RpZnkgLXMgZG5zX3Jlc29sdmVyIC1pIGVu czINCisjIHp5cHBlciBzb21ldGltZXMgc2VnZmF1bHRzLCBoZW5jZSB0aGUgcmV0cmllcw0KK2hv c3QJZm9yIGkgaW4gJChzZXEgMSAxMCk7IGRvIHp5cHBlciBpbnN0YWxsIC15IGdjYyBtYWtlIHNv Y2F0ICYmIGJyZWFrOyBkb25lOyBlY2hvDQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxB R1M9Ii1XZXJyb3IiIG1ha2UNCisNCitkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KKw0KK2hpbnQN CitzbGVlcAkxDQorDQorDQoraG9zdAlraWxsIF9fUElEX18NCmRpZmYgLS1naXQgYS9vbGR0ZXN0 L2Rpc3Ryby91YnVudHUgYi9vbGR0ZXN0L2Rpc3Ryby91YnVudHUNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwLi44NzUwNDU1DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0 L2Rpc3Ryby91YnVudHUNCkBAIC0wLDAgKzEsMjE2IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2Nr ZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQor IyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsg bmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvZGlzdHJvL3VidW50dSAtIFVi dW50dSBidWlsZHMsIGdldCBwYWNrYWdlcyB2aWEgcGFzc3QsIHRlc3QgcGFzdGENCisjDQorIyBD b3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlv IDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorc2V0CVBJREZJTEUgX19TVEFURURJUl9fL3Bhc3N0 LnBpZA0KK2h0b29scwlxZW11LWltZyB2aXJ0LWVkaXQgZ3Vlc3RmaXNoIGNhdCBraWxsIHFlbXUt c3lzdGVtLXg4Nl82NCBxZW11LXN5c3RlbS1wcGM2NCBxZW11LXN5c3RlbS1zMzkweA0KKw0KKyMg UXVpY2sgcGFzdGEgdGVzdDogc2VuZCBtZXNzYWdlIGZyb20gaW5pdCB0byBucywgYW5kIGZyb20g bnMgdG8gaW5pdA0KK2RlZglkaXN0cm9fcXVpY2tfcGFzdGFfdGVzdA0KK2hvc3QJKHNvY2F0IC11 IFRDUDYtTElTVEVOOjEwMDAwIE9QRU46L3RtcC9pbml0X21zZyxjcmVhdGUsdHJ1bmM7IGVjaG8g ImZyb21faW5pdCIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2Ols6OjFdOjk5OTkpICYNCitob3N0Ygku L3Bhc3RhDQorc2xlZXAJMQ0KK2hvc3QJUFMxPSckICcNCitob3N0CXNvY2F0IC11IFRDUDYtTElT VEVOOjk5OTkgT1BFTjovdG1wL25zX21zZyxjcmVhdGUsdHJ1bmMgJg0KK3NsZWVwCTINCitob3N0 CWVjaG8gImZyb21fbnMiIHwgc29jYXQgLXUgU1RESU4gVENQNjpbOjoxXToxMDAwMA0KK3NsZWVw CTINCitob3N0CWVjaG8NCitzbGVlcAkxDQoraG91dAlOU19NU0cgY2F0IC90bXAvbnNfbXNnDQor Y2hlY2sJWyBfX05TX01TR19fID0gImZyb21faW5pdCIgXQ0KK2hvc3RiCWV4aXQNCitob3N0CWVj aG8NCitob3V0CUlOSVRfTVNHIGNhdCAvdG1wL2luaXRfbXNnDQorY2hlY2sJWyBfX0lOSVRfTVNH X18gPSAiZnJvbV9ucyIgXQ0KK2VuZGVmDQorDQorIyBRdWljayBwYXN0YSB0ZXN0OiBuZXRjYXQt b3BlbmJzZCB2ZXJzaW9uIGZvciBVYnVudHUgMTYuMDQgcHBjNjQNCitkZWYJZGlzdHJvX3F1aWNr X3Bhc3RhX3Rlc3RfbmV0Y2F0DQoraG9zdAkobmMgLXcxIC02IC1sIC1wIDEwMDAwID4gL3RtcC9p bml0X21zZzsgZWNobyAiZnJvbV9pbml0IiB8IG5jIC1xMCA6OjEgOTk5OSkgJg0KK2hvc3RiCS4v cGFzdGENCitzbGVlcAkxDQoraG9zdAlQUzE9JyQgJw0KK2hvc3QJbmMgLXcxIC02IC1sIC1wIDk5 OTkgPiAvdG1wL25zX21zZyAmDQorc2xlZXAJMg0KK2hvc3QJZWNobyAiZnJvbV9ucyIgfCBuYyAt cTAgOjoxIDEwMDAwDQorc2xlZXAJMg0KK2hvc3QJZWNobw0KK3NsZWVwCTENCitob3V0CU5TX01T RyBjYXQgL3RtcC9uc19tc2cNCitjaGVjawlbIF9fTlNfTVNHX18gPSAiZnJvbV9pbml0IiBdDQor aG9zdGIJZXhpdA0KK2hvc3QJZWNobw0KK2hvdXQJSU5JVF9NU0cgY2F0IC90bXAvaW5pdF9tc2cN CitjaGVjawlbIF9fSU5JVF9NU0dfXyA9ICJmcm9tX25zIiBdDQorZW5kZWYNCisNCisjIFdpdGgg c3lzdGVtZC1yZXNvbHZlZCBhbmQgVENHLCBETlMgbWlnaHQgdGFrZSBhIHdoaWxlIHRvIHdvcmsN CitkZWYJZG5zX3JlYWR5X3dhaXQNCitob3N0CXI9MTA7IHdoaWxlIFsgXCR7cn0gLWd0IDAgXTsg ZG8gaG9zdCB1YnVudHUuY29tICYmIGJyZWFrOyBzbGVlcCA1OyByPVwkKChyIC0gMSkpOyBkb25l DQorZW5kZWYNCisNCisjIFN0YXJ0IHBhc3N0LCBzZXQgY29tbW9uIHZhcmlhYmxlcw0KK2hvc3Ri CS4vcGFzc3QgLXMgX19TVEFURURJUl9fL3Bhc3N0LnNvY2tldCAtUCBfX1BJREZJTEVfXyAmDQor c2xlZXAJMQ0KK2hvc3QJZWNobw0KK2hvdXQJR1VFU1RfRklMRVMgbHMgLTEgKi5jICouaCAqLnNo IHBhc3N0LjEgcXJhcC4xIE1ha2VmaWxlIFJFQURNRS5tZCB8IHRyICdcbicgJyAnOyBlY2hvDQor DQorDQordGVzdAlVYnVudHUgMTQuMDQuNSBMVFMgKFRydXN0eSBUYWhyKSwgYW1kNjQNCisNCitz ZXQJSU1HIF9fU1RBVEVESVJfXy91YnVudHUtMTQuMDQtYW1kNjQuaW1nDQoraG9zdAlxZW11LWlt ZyBjcmVhdGUgLWYgcWNvdzIgLUYgcWNvdzIgLWIgX19CQVNFUEFUSF9fL3RydXN0eS1zZXJ2ZXIt Y2xvdWRpbWctYW1kNjQtZGlzazEuaW1nIF9fSU1HX18NCitob3N0CXZpcnQtZWRpdCAtYSBfX0lN R19fIC9ldGMvaW5pdC90dHlTMC5jb25mIC1lICdzL1wvZ2V0dHkvXC9nZXR0eSAtLWF1dG9sb2dp biByb290LycNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0 L2Nsb3VkLWNvbmZpZy5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJt IC9ldGMvaW5pdC9jbG91ZC1maW5hbC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lN R19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LWNvbnRhaW5lci5jb25mDQoraG9zdAlndWVz dGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LWxvY2FsLmNv bmYNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3Vk LWluaXQtbm9uZXQuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAv ZXRjL2luaXQvY2xvdWQtaW5pdC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19f IC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1sb2ctc2h1dGRvd24uY29uZg0KK2hvc3QJZ3Vlc3RmaXNo IC0tcncgLWEgX19JTUdfXyAtaSBjb3B5LWluIF9fR1VFU1RfRklMRVNfXyAvcm9vdC8NCisNCito b3N0CXFlbXUtc3lzdGVtLXg4Nl82NCAtTSBwYyxhY2NlbD1rdm06dGNnIC1tIDEwMjQgLW5vZ3Jh cGhpYyAtc2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdh IG5vbmUgLWRyaXZlIGZpbGU9X19JTUdfXyxpZj12aXJ0aW8gLWRldmljZSB2aXJ0aW8tbmV0LXBj aSxuZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5p eCxhZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldA0KK2hvc3QJUFMxPSckICcNCitz bGVlcAkyDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAteSBpbnN0YWxsIG1h a2UgZ2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1Xbm8tbWlz c2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby1taXNzaW5nLWJyYWNlcyAtV25vLXR5cGUtbGlt aXRzIiBtYWtlDQorDQorIyBUT0RPOiBwYXN0YSB0ZXN0IHNraXBwZWQgZm9yIHRoZSBtb21lbnQ6 IGNsb25lKCkgYXMgY2FsbGVkIGJ5IE5TX0NBTEwgaGFuZ3MNCisjIHdpdGggd3JhcHBlciBwcm92 aWRlZCBieSBnbGliYyAyLjE5LCBwcm9iYWJseSB3cm9uZyBhcmd1bWVudCBvcmRlci4NCisNCito aW50DQorc2xlZXAJMQ0KKw0KKyMgUElERklMRSBpcyBjbGVhbmVkIHVwIHdoZW4gdGhlIG5leHQg dGVzdCBzdGFydHMsIHJlYWQgaXQgbm93DQoraG91dAlQSUQgY2F0IF9fUElERklMRV9fDQorDQor DQordGVzdAlVYnVudHUgMTQuMDQuNSBMVFMgKFRydXN0eSBUYWhyKSwgaTM4Ng0KKw0KK3NldAlJ TUcgX19TVEFURURJUl9fL3VidW50dS0xNC4wNC1pMzg2LmltZw0KK2hvc3QJcWVtdS1pbWcgY3Jl YXRlIC1mIHFjb3cyIC1GIHFjb3cyIC1iIF9fQkFTRVBBVEhfXy90cnVzdHktc2VydmVyLWNsb3Vk aW1nLWkzODYtZGlzazEuaW1nIF9fSU1HX18NCitob3N0CXZpcnQtZWRpdCAtYSBfX0lNR19fIC9l dGMvaW5pdC90dHlTMC5jb25mIC1lICdzL1wvZ2V0dHkvXC9nZXR0eSAtLWF1dG9sb2dpbiByb290 LycNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3Vk LWNvbmZpZy5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMv aW5pdC9jbG91ZC1maW5hbC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1p IHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LWNvbnRhaW5lci5jb25mDQoraG9zdAlndWVzdGZpc2gg LS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LWxvY2FsLmNvbmYNCito b3N0CWd1ZXN0ZmlzaCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3VkLWluaXQt bm9uZXQuY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2lu aXQvY2xvdWQtaW5pdC5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJt IC9ldGMvaW5pdC9jbG91ZC1sb2ctc2h1dGRvd24uY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncg LWEgX19JTUdfXyAtaSBjb3B5LWluIF9fR1VFU1RfRklMRVNfXyAvcm9vdC8NCisNCitob3N0CXFl bXUtc3lzdGVtLXg4Nl82NCAtTSBwYyxhY2NlbD1rdm06dGNnIC1tIDEwMjQgLW5vZ3JhcGhpYyAt c2VyaWFsIHN0ZGlvIC1ub2RlZmF1bHRzIC1uby1yZWJvb3QgLW5vZ3JhcGhpYyAtdmdhIG5vbmUg LWRyaXZlIGZpbGU9X19JTUdfXyxpZj12aXJ0aW8gLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRk ZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRy LnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldA0KK2hvc3QJUFMxPSckICcNCitzbGVlcAky DQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAteSBpbnN0YWxsIG1ha2UgZ2Nj IHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1Xbm8tbWlzc2luZy1m aWVsZC1pbml0aWFsaXplcnMgLVduby1taXNzaW5nLWJyYWNlcyAtV25vLXR5cGUtbGltaXRzIC1X bm8tc2lnbi1jb21wYXJlIiBtYWtlDQorDQorIyBUT0RPOiBwYXN0YSB0ZXN0IHNraXBwZWQgZm9y IHRoZSBtb21lbnQ6IGNsb25lKCkgYXMgY2FsbGVkIGJ5IE5TX0NBTEwgaGFuZ3MNCisjIHdpdGgg d3JhcHBlciBwcm92aWRlZCBieSBnbGliYyAyLjE5LCBwcm9iYWJseSB3cm9uZyBhcmd1bWVudCBv cmRlci4NCisNCitoaW50DQorc2xlZXAJMQ0KKw0KKw0KK3Rlc3QJVWJ1bnR1IDE0LjA0LjUgTFRT IChUcnVzdHkgVGFociksIHBwYzY0bGUNCisNCitzZXQJSU1HIF9fU1RBVEVESVJfXy91YnVudHUt MTQuMDQtcHBjNjRsZS5pbWcNCitob3N0CXFlbXUtaW1nIGNyZWF0ZSAtZiBxY293MiAtRiBxY293 MiAtYiBfX0JBU0VQQVRIX18vdHJ1c3R5LXNlcnZlci1jbG91ZGltZy1wcGM2NGVsLWRpc2sxLmlt ZyBfX0lNR19fDQoraG9zdAl2aXJ0LWVkaXQgLWEgX19JTUdfXyAvZXRjL2luaXQvaHZjMC5jb25m IC1lICdzL1wvZ2V0dHkvXC9nZXR0eSAtLWF1dG9sb2dpbiByb290LycNCitob3N0CWd1ZXN0Zmlz aCAtLXJ3IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3VkLWNvbmZpZy5jb25mDQoraG9z dAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1maW5hbC5j b25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91 ZC1pbml0LWNvbnRhaW5lci5jb25mDQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1p IHJtIC9ldGMvaW5pdC9jbG91ZC1pbml0LWxvY2FsLmNvbmYNCitob3N0CWd1ZXN0ZmlzaCAtLXJ3 IC1hIF9fSU1HX18gLWkgcm0gL2V0Yy9pbml0L2Nsb3VkLWluaXQtbm9uZXQuY29uZg0KK2hvc3QJ Z3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBybSAvZXRjL2luaXQvY2xvdWQtaW5pdC5jb25m DQoraG9zdAlndWVzdGZpc2ggLS1ydyAtYSBfX0lNR19fIC1pIHJtIC9ldGMvaW5pdC9jbG91ZC1s b2ctc2h1dGRvd24uY29uZg0KK2hvc3QJZ3Vlc3RmaXNoIC0tcncgLWEgX19JTUdfXyAtaSBjb3B5 LWluIF9fR1VFU1RfRklMRVNfXyAvcm9vdC8NCisNCitob3N0CXFlbXUtc3lzdGVtLXBwYzY0IC1t IDIwNDggLXNtcCAyIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbyAtbm9kZWZhdWx0cyAtbm8tcmVi b290IC1ub2dyYXBoaWMgLXZnYSBub25lIF9fSU1HX18gLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxu ZXRkZXY9czAgLW5ldGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxh ZGRyLnBhdGg9X19TVEFURURJUl9fL3Bhc3N0LnNvY2tldA0KK2hvc3QJUFMxPSckICcNCitzbGVl cAkyDQoraG9zdAlhcHQtZ2V0IHVwZGF0ZQ0KK2hvc3QJYXB0LWdldCAteSBpbnN0YWxsIG1ha2Ug Z2NjIHNvY2F0DQorDQoraG9zdAltYWtlIGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLVduby1taXNzaW5nLWJyYWNlcyAtV25vLXR5cGUtbGltaXRz IC1Xbm8tc2lnbi1jb21wYXJlIiBtYWtlDQorDQorIyBUT0RPOiBwYXN0YSB0ZXN0IHNraXBwZWQg Zm9yIHRoZSBtb21lbnQ6IGNsb25lKCkgYXMgY2FsbGVkIGJ5IE5TX0NBTEwgaGFuZ3MNCisjIHdp dGggd3JhcHBlciBwcm92aWRlZCBieSBnbGliYyAyLjE5LCBwcm9iYWJseSB3cm9uZyBhcmd1bWVu dCBvcmRlci4NCisNCitoaW50DQorc2xlZXAJMQ0KK2hvc3RiCXJlc2V0DQorc2xlZXAJMQ0KK2hv c3QJZWNobw0KKw0KKw0KK3Rlc3QJVWJ1bnR1IDE2LjA0IExUUyAoWGVuaWFsIFhlcnVzKSwgcHBj NjQgKGJlKQ0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0tcHBjNjQgLW0gMTAyNCAtTSBwc2VyaWVzIC1u b2dyYXBoaWMgLW5vZGVmYXVsdHMgLXNlcmlhbCBzdGRpbyAtbm8tcmVib290IC1ub2dyYXBoaWMg LXZnYSBub25lIC1oZGEgX19CQVNFUEFUSF9fL3ByZXBhcmVkLXhlbmlhbC1zZXJ2ZXItY2xvdWRp bWctcG93ZXJwYy1kaXNrMS5pbWcgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxuZXRkZXY9czAgLW5l dGRldiBzdHJlYW0saWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9X19T VEFURURJUl9fL3Bhc3N0LnNvY2tldCAtc25hcHNob3QNCitob3N0CVBTMT0nJCAnDQoraG9zdAlk aGNsaWVudCAtNA0KKyMgU2tpcCBhcHQtZ2V0IHVwZGF0ZSBoZXJlOiBzb21lIHVwZGF0ZXMgdG8g eGVuaWFsLXVwZGF0ZXMgYXJvdW5kIDIwMjItMDEtMzANCisjIGJyb2tlIGRlcGVuZGVuY2llcyBm b3IgbGliYzYgYW5kIGdjYy01IC0tIG5vdGUgdGhhdCBwb3dlcnBjIGlzIG5vdCBvZmZpY2lhbGx5 DQorIyBzdXBwb3J0ZWQgb24gdGhpcyB2ZXJzaW9uDQorDQorIyBzb2NhdCBub3QgYXZhaWxhYmxl OiBpbnN0YWxsIG5ldGNhdC1vcGVuYnNkIGFuZCBydW4gdGhlIHRlc3Qgd2l0aCBpdA0KK2hvc3QJ YXB0LWdldCAteSBpbnN0YWxsIG1ha2UgZ2NjIG5ldGNhdC1vcGVuYnNkDQorDQoraG9zdAltYWtl IGNsZWFuDQoraG9zdAlDRkxBR1M9Ii1XZXJyb3IiIG1ha2UNCisNCitkaXN0cm9fcXVpY2tfcGFz dGFfdGVzdF9uZXRjYXQNCisNCitoaW50DQorc2xlZXAJMQ0KK2hvc3RiCXJlc2V0DQorc2xlZXAJ MQ0KK2hvc3QJZWNobw0KKw0KKw0KK3Rlc3QJVWJ1bnR1IDIyLjA0IChKYW1teSBKZWxseWZpc2gp LCBzMzkweA0KKw0KK2hvc3QJcWVtdS1zeXN0ZW0tczM5MHggLW0gMjA0OCAtc21wIDIgLXNlcmlh bCBzdGRpbyAtbm9kZWZhdWx0cyAtbm9ncmFwaGljIF9fQkFTRVBBVEhfXy9wcmVwYXJlZC1qYW1t eS1zZXJ2ZXItY2xvdWRpbWctczM5MHguaW1nIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbmV0ZGV2 PXMwIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5w YXRoPV9fU1RBVEVESVJfXy9wYXNzdC5zb2NrZXQgLWRldmljZSB2aXJ0aW8tcm5nLWNjdyAtc25h cHNob3QNCisNCitob3N0CWV4cG9ydCBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUNCito b3N0CXNlcnZpY2Ugc3lzdGVtZC1uZXR3b3JrZCBzdG9wDQoraG9zdAlzZXJ2aWNlIHN5c3RlbWQt cmVzb2x2ZWQgc3RvcA0KK2hvc3QJcm0gL2V0Yy9kaGNwL2RoY2xpZW50LWVudGVyLWhvb2tzLmQv cmVzb2x2ZWQtZW50ZXINCitob3N0CWRoY2xpZW50IC00DQorZG5zX3JlYWR5X3dhaXQNCitob3N0 CWFwdC1nZXQgdXBkYXRlDQoraG9zdAlhcHQtZ2V0IC15IGluc3RhbGwgbWFrZSBnY2Mgc29jYXQN CisNCitob3N0CW1ha2UgY2xlYW4NCitob3N0CUNGTEFHUz0iLVdlcnJvciIgbWFrZQ0KKw0KK2hv c3QJZXhwb3J0IFNIRUxMPSIvYmluL2Rhc2giDQoraG9zdAlkYXNoDQorZGlzdHJvX3F1aWNrX3Bh c3RhX3Rlc3QNCisNCitoaW50DQorc2xlZXAJMQ0KK2hvc3RiCXJlc2V0DQorc2xlZXAJMQ0KK2hv c3QJZWNobw0KKw0KKw0KK2hvc3QJa2lsbCBfX1BJRF9fDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9l bnYvbWF0ZS10ZXJtaW5hbC5wcm9maWxlIGIvb2xkdGVzdC9lbnYvbWF0ZS10ZXJtaW5hbC5wcm9m aWxlDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uYTRjZTg5OQ0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9lbnYvbWF0ZS10ZXJtaW5hbC5wcm9maWxlDQpAQCAtMCww ICsxLDQyIEBADQorIyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIxIFJlZCBIYXQgR21iSCA8 c2JyaXZpb0ByZWRoYXQuY29tPg0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXINCisNCitbL10NCithbGxvdy1ib2xkPXRydWUNCitiYWNrZ3JvdW5kLWNvbG9yPScj MTIxMjEyMTIxMjEyJw0KK2JhY2tncm91bmQtZGFya25lc3M9MC41DQorYmFja2dyb3VuZC1pbWFn ZT0nJw0KK2JhY2tncm91bmQtdHlwZT0nc29saWQnDQorYmFja3NwYWNlLWJpbmRpbmc9J2FzY2lp LWRlbCcNCitib2xkLWNvbG9yPScjMDAwMDAwMDAwMDAwJw0KK2JvbGQtY29sb3Itc2FtZS1hcy1m Zz10cnVlDQorY29weS1zZWxlY3Rpb249ZmFsc2UNCitjdXJzb3ItYmxpbmstbW9kZT0nb24nDQor Y3Vyc29yLXNoYXBlPSdibG9jaycNCitjdXN0b20tY29tbWFuZD0nJw0KK2RlZmF1bHQtc2hvdy1t ZW51YmFyPXRydWUNCitkZWZhdWx0LXNpemUtY29sdW1ucz0xODANCitkZWZhdWx0LXNpemUtcm93 cz00MA0KK2RlbGV0ZS1iaW5kaW5nPSdlc2NhcGUtc2VxdWVuY2UnDQorZXhpdC1hY3Rpb249J2Ns b3NlJw0KK2ZvbnQ9J0JpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyA5Jw0KK2ZvcmVncm91bmQtY29s b3I9JyM1MDRGQTJBMjYxNjAnDQorbG9naW4tc2hlbGw9ZmFsc2UNCitwYWxldHRlPScjMDAwMDAw MDAwMDAwOiNGRkZGOEY4RjhGOEY6IzUwNEZBMkEyNjE2MDojQ0JDQjZDNkMwNTA1OiM4RThFQTNB MkZGRkY6I0M0QzQ1OTU5QzRDNDojMDAwMEFBQUFBQUFBOiNBQUFBQUFBQUFBQUE6IzU1NTQ1NTU0 NTU1NDojRkZGRjhGOEY4RjhGOiM1MDRGQTJBMjYxNjA6I0NCQ0I2QzZDMDUwNTojOEU4RUEzQTJG RkZGOiNDNEM0NTk1OUM0QzQ6IzU1NTRGRkZGRkZGRjojRkZGRkZGRkZGRkZGJw0KK3Njcm9sbC1i YWNrZ3JvdW5kPXRydWUNCitzY3JvbGwtb24ta2V5c3Ryb2tlPXRydWUNCitzY3JvbGwtb24tb3V0 cHV0PWZhbHNlDQorc2Nyb2xsYmFjay1saW5lcz01MTINCitzY3JvbGxiYWNrLXVubGltaXRlZD10 cnVlDQorc2Nyb2xsYmFyLXBvc2l0aW9uPSdoaWRkZW4nDQorc2lsZW50LWJlbGw9ZmFsc2UNCit0 aXRsZT0nVGVybWluYWwnDQordGl0bGUtbW9kZT0ncmVwbGFjZScNCit1c2UtY3VzdG9tLWNvbW1h bmQ9ZmFsc2UNCit1c2UtY3VzdG9tLWRlZmF1bHQtc2l6ZT10cnVlDQordXNlLXNrZXk9dHJ1ZQ0K K3VzZS1zeXN0ZW0tZm9udD1mYWxzZQ0KK3VzZS10aGVtZS1jb2xvcnM9ZmFsc2UNCit1c2UtdXJs cz10cnVlDQordmlzaWJsZS1uYW1lPSdwYXNzdF9jaScNCit3b3JkLWNoYXJzPSctQS1aYS16MC05 LC4vPyUmIzpfPStAficNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2ZpbmQtYXJtNjQtZmlybXdhcmUu c2ggYi9vbGR0ZXN0L2ZpbmQtYXJtNjQtZmlybXdhcmUuc2gNCm5ldyBmaWxlIG1vZGUgMTAwNzU1 DQppbmRleCAwMDAwMDAwLi4zMTgyNjIwDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2Zp bmQtYXJtNjQtZmlybXdhcmUuc2gNCkBAIC0wLDAgKzEsMTMgQEANCisjISAvYmluL3NoDQorDQor TE9DQVRJT05TPSIvdXNyL3NoYXJlL3FlbXUtZWZpLWFhcmNoNjQgL3Vzci9zaGFyZS9lZGsyL2Fh cmNoNjQiDQorDQorZm9yIGwgaW4gJExPQ0FUSU9OUzsgZG8NCisgICAgaWYgWyAtZiAiJGwvUUVN VV9FRkkuZmQiIF07IHRoZW4NCisJbG4gLXMgIiRsL1FFTVVfRUZJLmZkIiAiJDEiDQorCWV4aXQg MA0KKyAgICBmaQ0KK2RvbmUNCisNCitlY2hvICJDb3VsZG4ndCBmaW5kIFFFTVVfRUZJLmZkIiA+ JjINCitleGl0IDENCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi9jb250ZXh0IGIvb2xkdGVzdC9s aWIvY29udGV4dA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjQ3NDFhNTUN Ci0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvbGliL2NvbnRleHQNCkBAIC0wLDAgKzEsMTMw IEBADQorIyEgL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQN CisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFj ayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFw IGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9saWIvY29udGV4dCAtIFJ1biBjb21tYW5kcyBpbiBk aWZmZXJlbnQgY29udGV4dHMgKGhvc3QsIGd1ZXN0LCBuYW1lc3BhY2UgZXRjLikNCisjDQorIyBD b3B5cmlnaHQgUmVkIEhhdA0KKyMgQXV0aG9yOiBEYXZpZCBHaWJzb24gPGRhdmlkQGdpYnNvbi5k cm9wYmVhci5pZC5hdT4NCisNCitOU1RPT0w9IiR7QkFTRVBBVEh9L25zdG9vbCINCisNCisjIGNv bnRleHRfc2V0dXBfY29tbW9uKCkgLSBDcmVhdGUgb3V0bGluZSBvZiBhIG5ldyBjb250ZXh0DQor IyAkMToJQ29udGV4dCBuYW1lDQorY29udGV4dF9zZXR1cF9jb21tb24oKSB7DQorCV9fbmFtZT0i JDEiDQorCV9fbG9nPSIke0xPR0RJUn0vY29udGV4dF8ke19fbmFtZX0ubG9nIg0KKwllY2hvIC1u ICIke19fbmFtZX0kICIgPiAiJHtfX2xvZ30iDQorfQ0KKw0KKyMgY29udGV4dF9zZXR1cF9ob3N0 KCkgLSBDcmVhdGUgYSBuZXcgY29udGV4dCBmb3IgcnVubmluZyBjb21tYW5kcyBvbiB0aGUgaG9z dA0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KK2NvbnRleHRfc2V0dXBfaG9zdCgpIHsNCisJX19uYW1l PSIkMSINCisJX19lbnRlcj0iJHtTVEFURVNFVFVQfS9jb250ZXh0XyR7X19uYW1lfS5lbnRlciIN CisJY29udGV4dF9zZXR1cF9jb21tb24gIiR7X19uYW1lfSINCisJZWNobyBzaCAtYyA+ICIke19f ZW50ZXJ9Ig0KK30NCisNCisjIGNvbnRleHRfc2V0dXBfbnN0b29sKCkgLSBDcmVhdGUgYSBuZXcg Y29udGV4dCBmb3IgcnVubmluZyBjb21tYW5kcyB3aXRoIG5zdG9vbCBleGVjDQorIyAkMToJQ29u dGV4dCBuYW1lDQorIyAkMjoJbnN0b29sIGNvbnRyb2wgc29ja2V0DQorY29udGV4dF9zZXR1cF9u c3Rvb2woKSB7DQorCV9fbmFtZT0iJDEiDQorCV9fc29jaz0iJDIiDQorCV9fZW50ZXI9IiR7U1RB VEVTRVRVUH0vY29udGV4dF8ke19fbmFtZX0uZW50ZXIiDQorCSMgV2FpdCBmb3IgdGhlIG5zIHRv IGJlIHJlYWR5DQorCSR7TlNUT09MfSBpbmZvIC13ICIke19fc29ja30iID4gL2Rldi9udWxsDQor CWNvbnRleHRfc2V0dXBfY29tbW9uICIke19fbmFtZX0iDQorCWVjaG8gIiR7TlNUT09MfSBleGVj ICR7X19zb2NrfSAtLSBzaCAtYyIgPiAiJHtfX2VudGVyfSINCit9DQorDQorIyBjb250ZXh0X3Nl dHVwX2d1ZXN0KCkgLSBDcmVhdGUgYSBuZXcgY29udGV4dCBmb3IgcnVubmluZyBjb21tYW5kcyBp biBhIGd1ZXN0DQorIyAkMTogICAgICAgIENvbnRleHQgbmFtZQ0KKyMgJDI6ICAgICAgICBDSUQg dG8gdXNlIGZvciB2c29jaw0KK2NvbnRleHRfc2V0dXBfZ3Vlc3QoKSB7DQorCV9fbmFtZT0iJDEi DQorCV9fY2lkPSIkMiINCisJX19lbnRlcj0iJHtTVEFURVNFVFVQfS9jb250ZXh0XyR7X19uYW1l fS5lbnRlciINCisJX19zc2g9IiR7U1RBVEVTRVRVUH0vY29udGV4dF8ke19fbmFtZX0uc3NoIg0K Kwljb250ZXh0X3NldHVwX2NvbW1vbiAiJHtfX25hbWV9Ig0KKw0KKwljYXQgPiAiJHtfX3NzaH0i IDw8RU9GDQorSG9zdCAke19fbmFtZX0NCisJVXNlciByb290DQorCVVzZXJLbm93bkhvc3RzRmls ZSAke1NUQVRFU0VUVVB9L2NvbnRleHRfJHtfX25hbWV9Lmhvc3RzDQorCVN0cmljdEhvc3RLZXlD aGVja2luZyBubw0KKwlJZGVudGl0eUZpbGUgJHtCQVNFUEFUSH0vZ3Vlc3Qta2V5DQorCUlkZW50 aXR5QWdlbnQgbm9uZQ0KKwlQcm94eUNvbW1hbmQgc29jYXQgLSBWU09DSy1DT05ORUNUOiR7X19j aWR9OjIyDQorRU9GDQorCWVjaG8gInNzaCAtRiAke19fc3NofSAke19fbmFtZX0iID4gIiR7X19l bnRlcn0iDQorDQorCSMgV2FpdCBmb3IgdGhlIGd1ZXN0IHRvIGJlIGJvb3RlZCBhbmQgYWNjZXB0 aW5nIGNvbm5lY3Rpb25zDQorCXdhaXRfZm9yIHNzaCAtRiAiJHtfX3NzaH0iICIke19fbmFtZX0i IDoNCit9DQorDQorIyBjb250ZXh0X3RlYXJkb3duKCkgLSBSZW1vdmUgYSBjb250ZXh0IChsZWF2 ZSBsb2cgZmlsZXMgaW50YWN0KQ0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KK2NvbnRleHRfdGVhcmRv d24oKSB7DQorCV9fbmFtZT0iJDEiDQorCV9fcHJlZml4PSIke1NUQVRFU0VUVVB9L2NvbnRleHRf JHtfX25hbWV9Ig0KKwlybSAtZiAiJHtfX3ByZWZpeH0uZW50ZXIiICIke19fcHJlZml4fS5zc2gi ICIke19fcHJlZml4fS5ob3N0cyINCit9DQorDQorIyBjb250ZXh0X2V4aXN0cygpIC0gVGVzdCBp ZiBhIGNvbnRleHQgY3VycmVudGx5IGV4aXN0cw0KKyMgJDE6CUNvbnRleHQgbmFtZQ0KK2NvbnRl eHRfZXhpc3RzKCkgew0KKwlfX25hbWU9IiQxIg0KKwlfX2VudGVyPSIke1NUQVRFU0VUVVB9L2Nv bnRleHRfJHtfX25hbWV9LmVudGVyIg0KKwlbIC1mICIke19fZW50ZXJ9IiBdDQorfQ0KKw0KKyMg Y29udGV4dF9ydW4oKSAtIFJ1biBhIHNoZWxsIGNvbW1hbmQgaW4gYSBjb250ZXh0LCBhbmQgd2Fp dCBmb3IgaXQgdG8gZmluaXNoDQorIyAkMToJQ29udGV4dCBuYW1lDQorIyAkKjoJQ29tbWFuZCB0 byBzdGFydA0KK2NvbnRleHRfcnVuKCkgew0KKwlfX25hbWU9IiQxIg0KKwlfX2xvZz0iJHtMT0dE SVJ9L2NvbnRleHRfJHtfX25hbWV9LmxvZyINCisJX19lbnRlcj0iJHtTVEFURVNFVFVQfS9jb250 ZXh0XyR7X19uYW1lfS5lbnRlciINCisJX19zdGRvdXQ9IiQobWt0ZW1wIC11ICIke1NUQVRFU0VU VVB9L2NvbnRleHRfJHtfX25hbWV9LnN0ZG91dC5YWFhYWFhYWCIpIg0KKwlfX3N0ZGVycj0iJCht a3RlbXAgLXUgIiR7U1RBVEVTRVRVUH0vY29udGV4dF8ke19fbmFtZX0uc3RkZXJyLlhYWFhYWFhY IikiDQorCXNoaWZ0DQorCWVjaG8gIiQqIiA+PiAiJHtfX2xvZ30iDQorCW1rZmlmbyAiJHtfX3N0 ZG91dH0iICIke19fc3RkZXJyfSINCisJdGVlIC1hICIke19fbG9nfSIgPCAiJHtfX3N0ZG91dH0i ICYNCisJdGVlIC1hICIke19fbG9nfSIgPCAiJHtfX3N0ZGVycn0iID4mMiAmDQorCSQoY2F0ICR7 X19lbnRlcn0pICIkKiIgPj4gIiR7X19zdGRvdXR9IiAyPj4gIiR7X19zdGRlcnJ9Ig0KKwlyYz0k Pw0KKwlybSAiJHtfX3N0ZG91dH0iICIke19fc3RkZXJyfSINCisJWyAke0RFQlVHfSAtZXEgMSBd ICYmIGVjaG8gIltFeGl0IGNvZGU6ICRyY10iID4+ICIke19fbG9nfSINCisJZWNobyAtbiAiJHtf X25hbWV9JCAiID4+ICIke19fbG9nfSINCisJcmV0dXJuICRyYw0KK30NCisNCisjIGNvbnRleHRf cnVuX2JnKCkgLSBTdGFydCBhIHNoZWxsIGNvbW1hbmQgaW4gYSBjb250ZXh0DQorIyAkMToJQ29u dGV4dCBuYW1lDQorIyAkKjoJQ29tbWFuZCB0byBzdGFydA0KK2NvbnRleHRfcnVuX2JnKCkgew0K KwlfX25hbWU9IiQxIg0KKwlfX3BpZGZpbGU9IiR7U1RBVEVTRVRVUH0vY29udGV4dF8ke19fbmFt ZX0ucGlkIg0KKwljb250ZXh0X3J1biAiJEAiICYNCisJZWNobyAkISA+ICIke19fcGlkZmlsZX0i DQorfQ0KKw0KKyMgY29udGV4dF93YWl0KCkgLSBXYWl0IGZvciBiYWNrZ3JvdW5kIGNvbW1hbmQg aW4gYSBjb250ZXh0IHRvIGNvbXBsZXRlDQorIyAkMToJQ29udGV4dCBuYW1lDQorIyBSZXR1cm5z IHRoZSBzdGF0dXMgb2YgdGhlIGNvbXBsZXRlZCBjb21tYW5kDQorY29udGV4dF93YWl0KCkgew0K KwlfX25hbWU9IiQxIg0KKwlfX3BpZGZpbGU9IiR7U1RBVEVTRVRVUH0vY29udGV4dF8ke19fbmFt ZX0ucGlkIg0KKwlfX3BpZD0kKGNhdCAiJHtfX3BpZGZpbGV9IikNCisJcm0gIiR7X19waWRmaWxl fSINCisJd2FpdCAke19fcGlkfQ0KK30NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi9sYXlvdXQg Yi9vbGR0ZXN0L2xpYi9sYXlvdXQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw Li5mOWExY2YxDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2xpYi9sYXlvdXQNCkBAIC0w LDAgKzEsMjU5IEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRy YW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFT VEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVz cGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2xpYi9sYXlvdXQgLSB0bXV4IHBhbmUg bGF5b3V0cw0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhv cjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCisjIGxheW91dF9wYXN0 YSgpIC0gUGFuZXMgZm9yIGhvc3QsIHBhc3RhLCBhbmQgc2VwYXJhdGUgb25lIGZvciBuYW1lc3Bh Y2UNCitsYXlvdXRfcGFzdGEoKSB7DQorCXNsZWVwIDMNCisNCisJdG11eCBraWxsLXBhbmUgLWEg LXQgMA0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtdiAtdCBw YXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10IHBhc3N0X3Rlc3QNCisJdG11eCBz cGxpdC13aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFORV9OUz0w DQorCVBBTkVfSU5GTz0xDQorCVBBTkVfSE9TVD0yDQorCVBBTkVfUEFTU1Q9Mw0KKw0KKwlnZXRf aW5mb19jb2xzDQorDQorCXRtdXggc2VuZC1rZXlzIC1sIC10ICR7UEFORV9JTkZPfSAnd2hpbGUg Y2F0ICciJFNUQVRFQkFTRS9sb2dfcGlwZSInOyBkbyA6OyBkb25lJw0KKwl0bXV4IHNlbmQta2V5 cyAtdCAke1BBTkVfSU5GT30gLU4gMTAwIEMtbQ0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFO RV9JTkZPfSAtVCAidGVzdCBsb2ciDQorDQorCXBhbmVfd2F0Y2hfY29udGV4dHMgJHtQQU5FX0hP U1R9IGhvc3QgaG9zdA0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9QQVNTVH0gcGFzdGEg cGFzc3QNCisJcGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfTlN9ICJuYW1lc3BhY2UiIHVuc2hh cmUgbnMNCisNCisJaW5mb19sYXlvdXQgInNpbmdsZSBwYXN0YSBpbnN0YW5jZSB3aXRoIG5hbWVz cGFjZSINCisNCisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91dF9wYXNzdCgpIC0gUGFuZXMgZm9y IGhvc3QsIHBhc3N0LCBhbmQgZ3Vlc3QNCitsYXlvdXRfcGFzc3QoKSB7DQorCXNsZWVwIDMNCisN CisJdG11eCBraWxsLXBhbmUgLWEgLXQgMA0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4 IHNwbGl0LXdpbmRvdyAtdiAtdCBwYXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10 IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVz dDoxLjANCisNCisJUEFORV9HVUVTVD0wDQorCVBBTkVfSU5GTz0xDQorCVBBTkVfSE9TVD0yDQor CVBBTkVfUEFTU1Q9Mw0KKw0KKwlnZXRfaW5mb19jb2xzDQorDQorCXRtdXggc2VuZC1rZXlzIC1s IC10ICR7UEFORV9JTkZPfSAnd2hpbGUgY2F0ICciJFNUQVRFQkFTRS9sb2dfcGlwZSInOyBkbyA6 OyBkb25lJw0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gLU4gMTAwIEMtbQ0KKwl0 bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfSAtVCAidGVzdCBsb2ciDQorDQorCXBhbmVf d2F0Y2hfY29udGV4dHMgJHtQQU5FX0hPU1R9IGhvc3QgaG9zdA0KKwlwYW5lX3dhdGNoX2NvbnRl eHRzICR7UEFORV9QQVNTVH0gcGFzc3QgcGFzc3QNCisJcGFuZV93YXRjaF9jb250ZXh0cyAke1BB TkVfR1VFU1R9IGd1ZXN0IHFlbXUgZ3Vlc3QNCisNCisJaW5mb19sYXlvdXQgInNpbmdsZSBwYXNz dCBpbnN0YW5jZSB3aXRoIGd1ZXN0Ig0KKw0KKwlzbGVlcCAxDQorfQ0KKw0KKyMgbGF5b3V0X3Bh c3N0X2luX3Bhc3RhKCkgLSBIb3N0LCBwYXNzdCB3aXRoaW4gcGFzdGEsIG5hbWVzcGFjZSBhbmQg Z3Vlc3QNCitsYXlvdXRfcGFzc3RfaW5fcGFzdGEoKSB7DQorCXNsZWVwIDMNCisNCisJdG11eCBr aWxsLXBhbmUgLWEgLXQgMA0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0LXdp bmRvdyAtdiAtbCAnNDUlJyAtdCBwYXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10 IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVz dDoxLjANCisJdG11eCBzcGxpdC13aW5kb3cgLXYgLXQgcGFzc3RfdGVzdDoxLjANCisNCisJUEFO RV9HVUVTVD0wDQorCVBBTkVfTlM9MQ0KKwlQQU5FX0lORk89Mg0KKwlQQU5FX0hPU1Q9Mw0KKwlQ QU5FX1BBU1NUPTQNCisNCisJZ2V0X2luZm9fY29scw0KKw0KKwlwYW5lX3dhdGNoX2NvbnRleHRz ICR7UEFORV9HVUVTVH0gImd1ZXN0IiBxZW11IGd1ZXN0DQorCXBhbmVfd2F0Y2hfY29udGV4dHMg JHtQQU5FX05TfSAibmFtZXNwYWNlIiBucw0KKw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BB TkVfSU5GT30gJ3doaWxlIGNhdCAnIiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScN CisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxl Y3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQgInRlc3QgbG9nIg0KKw0KKwlwYW5lX3dhdGNoX2Nv bnRleHRzICR7UEFORV9IT1NUfSBob3N0IGhvc3QNCisNCisJcGFuZV93YXRjaF9jb250ZXh0cyAk e1BBTkVfUEFTU1R9ICJwYXNzdCBpbiBwYXN0YSAobmFtZXNwYWNlKSIgcGFzdGEgcGFzc3QNCisN CisJaW5mb19sYXlvdXQgInBhc3N0IGFuZCBndWVzdCBpbiBuYW1lc3BhY2UsIGNvbm5lY3RlZCBi eSBwYXN0YSINCisNCisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91dF90d29fZ3Vlc3RzKCkgLSBU d28gZ3Vlc3QgcGFuZXMsIHR3byBwYXNzdCBwYW5lcywgcGx1cyBob3N0IGFuZCBsb2cNCitsYXlv dXRfdHdvX2d1ZXN0cygpIHsNCisJc2xlZXAgMw0KKw0KKwl0bXV4IGtpbGwtcGFuZSAtYSAtdCAw DQorCWNtZF93cml0ZSAwIGNsZWFyDQorDQorCXRtdXggc3BsaXQtd2luZG93IC12IC10IHBhc3N0 X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzMzJScNCisJdG11eCBzcGxpdC13aW5k b3cgLWggLXQgcGFzc3RfdGVzdDoxLjENCisNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzM1 JScgLXQgcGFzc3RfdGVzdDoxLjANCisJdG11eCBzcGxpdC13aW5kb3cgLXYgLXQgcGFzc3RfdGVz dDoxLjANCisNCisJUEFORV9HVUVTVF8xPTANCisJUEFORV9HVUVTVF8yPTENCisJUEFORV9JTkZP PTINCisJUEFORV9IT1NUPTMNCisJUEFORV9QQVNTVF8xPTQNCisJUEFORV9QQVNTVF8yPTUNCisN CisJZ2V0X2luZm9fY29scw0KKw0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9HVUVTVF8x fSAiZ3Vlc3QgIzEgaW4gbmFtZXNwYWNlICMxIiBxZW11XzEgZ3Vlc3RfMQ0KKwlwYW5lX3dhdGNo X2NvbnRleHRzICR7UEFORV9HVUVTVF8yfSAiZ3Vlc3QgIzIgaW4gbmFtZXNwYWNlICMyIiBxZW11 XzIgZ3Vlc3RfMg0KKw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxl IGNhdCAnIiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtl eXMgLXQgJHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BB TkVfSU5GT30gLVQgInRlc3QgbG9nIg0KKw0KKwlwYW5lX3dhdGNoX2NvbnRleHRzICR7UEFORV9I T1NUfSBob3N0IGhvc3QNCisJcGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfUEFTU1RfMX0gInBh c3N0ICMxIGluIG5hbWVzcGFjZSAjMSIgcGFzdGFfMSBwYXNzdF8xDQorCXBhbmVfd2F0Y2hfY29u dGV4dHMgJHtQQU5FX1BBU1NUXzJ9ICJwYXNzdCAjMiBpbiBuYW1lc3BhY2UgIzIiIHBhc3RhXzIg cGFzc3RfMg0KKw0KKwlpbmZvX2xheW91dCAidHdvIGd1ZXN0cywgdHdvIHBhc3N0IGluc3RhbmNl cywgaW4gbmFtZXNwYWNlcyINCisNCisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91dF9kZW1vX3Bh c3RhKCkgLSBGb3VyIHBhbmVzIGZvciBwYXN0YSBkZW1vDQorbGF5b3V0X2RlbW9fcGFzdGEoKSB7 DQorCXNsZWVwIDMNCisNCisJY21kX3dyaXRlIDAgY2QgJHtCQVNFUEFUSH0NCisJY21kX3dyaXRl IDAgY2xlYXINCisJc2xlZXAgMQ0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKw0KKwl0bXV4IHNwbGl0 LXdpbmRvdyAtdiAtdCBwYXNzdF90ZXN0DQorCXRtdXggc3BsaXQtd2luZG93IC1oIC10IHBhc3N0 X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzQyJScgLXQgcGFzc3RfdGVzdDoxLjAN CisNCisJUEFORV9OUz0wDQorCVBBTkVfSU5GTz0xDQorCVBBTkVfSE9TVD0yDQorCVBBTkVfUEFT U1Q9Mw0KKw0KKwlnZXRfaW5mb19jb2xzDQorDQorCXRtdXggcGlwZS1wYW5lIC1PIC10ICR7UEFO RV9OU30gImNhdCA+PiAke0xPR0RJUn0vcGFuZV9ucy5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUg LXQgJHtQQU5FX05TfSAtVCAibmFtZXNwYWNlIg0KKw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAk e1BBTkVfSU5GT30gJ3doaWxlIGNhdCAnIiRTVEFURUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9u ZScNCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBz ZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQgIiINCisNCisJdG11eCBwaXBlLXBhbmUgLU8g LXQgJHtQQU5FX0hPU1R9ICJjYXQgPj4gJHtMT0dESVJ9L3BhbmVfaG9zdC5sb2ciDQorCXRtdXgg c2VsZWN0LXBhbmUgLXQgJHtQQU5FX0hPU1R9IC1UICJob3N0Ig0KKw0KKwl0bXV4IHBpcGUtcGFu ZSAtTyAtdCAke1BBTkVfUEFTU1R9ICJjYXQgPj4gJHtMT0dESVJ9L3BhbmVfcGFzc3QubG9nIg0K Kwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9QQVNTVH0gLVQgInBhc3RhIg0KKw0KKwlzbGVl cCAxDQorfQ0KKw0KKyMgbGF5b3V0X2RlbW9fcGFzc3QoKSAtIEZvdXIgcGFuZXMgZm9yIHBhc3N0 IGRlbW8NCitsYXlvdXRfZGVtb19wYXNzdCgpIHsNCisJc2xlZXAgMw0KKw0KKwljbWRfd3JpdGUg MCBjZCAke0JBU0VQQVRIfQ0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKwlzbGVlcCAxDQorCWNtZF93 cml0ZSAwIGNsZWFyDQorDQorCXRtdXggc3BsaXQtd2luZG93IC12IC10IHBhc3N0X3Rlc3QNCisJ dG11eCBzcGxpdC13aW5kb3cgLWggLXQgcGFzc3RfdGVzdA0KKwl0bXV4IHNwbGl0LXdpbmRvdyAt aCAtbCAnNDIlJyAtdCBwYXNzdF90ZXN0OjEuMA0KKw0KKwlQQU5FX0dVRVNUPTANCisJUEFORV9J TkZPPTENCisJUEFORV9IT1NUPTINCisJUEFORV9QQVNTVD0zDQorDQorCWdldF9pbmZvX2NvbHMN CisNCisJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX0dVRVNUfSAiY2F0ID4+ICR7TE9HRElS fS9wYW5lX2d1ZXN0LmxvZyINCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfR1VFU1R9IC1U ICJndWVzdCINCisNCisJdG11eCBzZW5kLWtleXMgLWwgLXQgJHtQQU5FX0lORk99ICd3aGlsZSBj YXQgJyIkU1RBVEVCQVNFL2xvZ19waXBlIic7IGRvIDo7IGRvbmUnDQorCXRtdXggc2VuZC1rZXlz IC10ICR7UEFORV9JTkZPfSAtTiAxMDAgQy1tDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5F X0lORk99IC1UICIiDQorDQorCXRtdXggcGlwZS1wYW5lIC1PIC10ICR7UEFORV9IT1NUfSAiY2F0 ID4+ICR7TE9HRElSfS9wYW5lX2hvc3QubG9nIg0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFO RV9IT1NUfSAtVCAiaG9zdCINCisNCisJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX1BBU1NU fSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX3Bhc3N0LmxvZyINCisJdG11eCBzZWxlY3QtcGFuZSAt dCAke1BBTkVfUEFTU1R9IC1UICJwYXNzdCBpbiBwYXN0YSAobmFtZXNwYWNlKSINCisNCisJc2xl ZXAgMQ0KK30NCisNCisjIGxheW91dF9kZW1vX3BvZG1hbigpIC0gRm91ciBwYW5lcyBmb3IgcGFz dGEgZGVtbyB3aXRoIFBvZG1hbg0KK2xheW91dF9kZW1vX3BvZG1hbigpIHsNCisJc2xlZXAgMw0K Kw0KKwljbWRfd3JpdGUgMCBjZCAke0JBU0VQQVRIfQ0KKwljbWRfd3JpdGUgMCBjbGVhcg0KKwlz bGVlcCAxDQorCWNtZF93cml0ZSAwIGNsZWFyDQorDQorCXRtdXggc3BsaXQtd2luZG93IC12IC1s ICc2NSUnIC10IHBhc3N0X3Rlc3QNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLXQgcGFzc3RfdGVz dA0KKwl0bXV4IHNwbGl0LXdpbmRvdyAtaCAtbCAnNDIlJyAtdCBwYXNzdF90ZXN0OjEuMA0KKw0K KwlQQU5FX0hPU1Q9MA0KKwlQQU5FX0lORk89MQ0KKwlQQU5FX05TMT0yDQorCVBBTkVfTlMyPTMN CisNCisJZ2V0X2luZm9fY29scw0KKw0KKwl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfTlMx fSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX25zMS5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUgLXQg JHtQQU5FX05TMX0gLVQgIlBvZG1hbiB3aXRoIHNsaXJwNG5ldG5zIg0KKw0KKwl0bXV4IHBpcGUt cGFuZSAtTyAtdCAke1BBTkVfTlMyfSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX25zMi5sb2ciDQor CXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX05TMn0gLVQgIlBvZG1hbiB3aXRoIHBhc3RhIg0K Kw0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNhdCAnIiRTVEFU RUJBU0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5F X0lORk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQg IiINCisNCisJdG11eCBwaXBlLXBhbmUgLU8gLXQgJHtQQU5FX0hPU1R9ICJjYXQgPj4gJHtMT0dE SVJ9L3BhbmVfaG9zdC5sb2ciDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX0hPU1R9IC1U ICJob3N0Ig0KKw0KKwlzbGVlcCAxDQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvbGliL2xheW91 dF91Z2x5IGIvb2xkdGVzdC9saWIvbGF5b3V0X3VnbHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwLi4yYWFmMWVjDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L2xpYi9s YXlvdXRfdWdseQ0KQEAgLTAsMCArMSwxMTMgQEANCisjIS9iaW4vc2gNCisjDQorIyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBB IFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0 IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAg Zm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvbGliL2xh eW91dF91Z2x5IC0gc2NyZWVuLXNjcmFwZWQgdG11eCBwYW5lIGxheW91dHMNCisjDQorIyBDb3B5 cmlnaHQgKGMpIDIwMjIgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxz YnJpdmlvQHJlZGhhdC5jb20+DQorDQorIyBsYXlvdXRfaG9zdCgpIC0gU2ltcGxlIGhvc3QgY29t bWFuZHMgbGF5b3V0IHdpdGggaW5mbyBhbmQgaG9zdCBwYW5lcw0KK2xheW91dF9ob3N0KCkgew0K KwlzbGVlcCAzDQorDQorCXRtdXgga2lsbC1wYW5lIC1hIC10IDANCisJY21kX3dyaXRlIDAgY2xl YXINCisNCisJdG11eCBzcGxpdC13aW5kb3cgLWggLWwgJzM1JScgLXQgcGFzc3RfdGVzdDoxLjAN CisNCisJUEFORV9IT1NUPTANCisJUEFORV9JTkZPPTENCisNCisJZ2V0X2luZm9fY29scw0KKw0K Kwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gJ3doaWxlIGNhdCAnIiRTVEFURUJB U0UvbG9nX3BpcGUiJzsgZG8gOjsgZG9uZScNCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lO Rk99IC1OIDEwMCBDLW0NCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BBTkVfSU5GT30gLVQgInRl c3QgbG9nIg0KKw0KKwlpZiBjb250ZXh0X2V4aXN0cyBob3N0OyB0aGVuDQorCQlwYW5lX3dhdGNo X2NvbnRleHRzIDAgaG9zdCBob3N0DQorCWVsc2UNCisJCXRtdXggcGlwZS1wYW5lIC1PIC10ICR7 UEFORV9IT1NUfSAiY2F0ID4+ICR7TE9HRElSfS9wYW5lX2hvc3QubG9nIg0KKwkJdG11eCBzZWxl Y3QtcGFuZSAtdCAke1BBTkVfSE9TVH0gLVQgImhvc3QiDQorCWZpDQorDQorCWluZm9fbGF5b3V0 ICJob3N0IGNvbW1hbmRzIG9ubHkiDQorDQorCXNsZWVwIDENCit9DQorDQorIyBsYXlvdXRfcGFz dGFfc2ltcGxlKCkgLSBQYW5lcyBmb3IgaG9zdCBhbmQgcGFzdGENCitsYXlvdXRfcGFzdGFfc2lt cGxlKCkgew0KKwlzbGVlcCAzDQorDQorCXRtdXgga2lsbC1wYW5lIC1hIC10IDANCisJY21kX3dy aXRlIDAgY2xlYXINCisNCisJdG11eCBzcGxpdC13aW5kb3cgLXYgLXQgcGFzc3RfdGVzdA0KKwl0 bXV4IHNwbGl0LXdpbmRvdyAtaCAtdCBwYXNzdF90ZXN0DQorDQorCVBBTkVfUEFTU1Q9MA0KKwlQ QU5FX0hPU1Q9MQ0KKwlQQU5FX0lORk89Mg0KKw0KKwlnZXRfaW5mb19jb2xzDQorDQorCXRtdXgg c2VuZC1rZXlzIC1sIC10ICR7UEFORV9JTkZPfSAnd2hpbGUgY2F0ICciJFNUQVRFQkFTRS9sb2df cGlwZSInOyBkbyA6OyBkb25lJw0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gLU4g MTAwIEMtbQ0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfSAtVCAidGVzdCBsb2ci DQorDQorCWlmIGNvbnRleHRfZXhpc3RzIGhvc3Q7IHRoZW4NCisJCXBhbmVfd2F0Y2hfY29udGV4 dHMgJHtQQU5FX0hPU1R9IGhvc3QgaG9zdA0KKwllbHNlDQorCQl0bXV4IHBpcGUtcGFuZSAtTyAt dCAke1BBTkVfSE9TVH0gImNhdCA+PiAke0xPR0RJUn0vcGFuZV9ob3N0LmxvZyINCisJCXRtdXgg c2VsZWN0LXBhbmUgLXQgJHtQQU5FX0hPU1R9IC1UICJob3N0Ig0KKwlmaQ0KKw0KKwlpZiBjb250 ZXh0X2V4aXN0cyBwYXNzdDsgdGhlbg0KKwkJcGFuZV93YXRjaF9jb250ZXh0cyAke1BBTkVfUEFT U1R9IGhvc3QgaG9zdA0KKwllbHNlDQorCQl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfUEFT U1R9ICJjYXQgPj4gJHtMT0dESVJ9L3BhbmVfcGFzc3QubG9nIg0KKwkJdG11eCBzZWxlY3QtcGFu ZSAtdCAke1BBTkVfUEFTU1R9IC1UICJwYXN0YSINCisJZmkNCisNCisJaW5mb19sYXlvdXQgInNp bmdsZSBwYXN0YSBpbnN0YW5jZSINCisNCisJc2xlZXAgMQ0KK30NCisNCisjIGxheW91dF9tZW1v cnkoKSAtIFNjcmVlbi1zY3JhcGVkIHBhbmVzIGZvciBtZW1vcnkgdXNhZ2UgdGVzdHMsIGJpZyBn dWVzdCBwYW5lDQorbGF5b3V0X21lbW9yeSgpIHsNCisJc2xlZXAgMw0KKw0KKwl0bXV4IGtpbGwt cGFuZSAtYSAtdCAwDQorCWNtZF93cml0ZSAwIGNsZWFyDQorDQorCXRtdXggc3BsaXQtd2luZG93 IC1oIC1sICczNSUnIC10IHBhc3N0X3Rlc3QNCisNCisJUEFORV9HVUVTVD0wDQorCVBBTkVfSU5G Tz0xDQorDQorCWdldF9pbmZvX2NvbHMNCisNCisJdG11eCBzZW5kLWtleXMgLWwgLXQgJHtQQU5F X0lORk99ICd3aGlsZSBjYXQgJyIkU1RBVEVCQVNFL2xvZ19waXBlIic7IGRvIDo7IGRvbmUnDQor CXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSAtTiAxMDAgQy1tDQorCXRtdXggc2VsZWN0 LXBhbmUgLXQgJHtQQU5FX0lORk99IC1UICJ0ZXN0IGxvZyINCisNCisJaWYgY29udGV4dF9leGlz dHMgZ3Vlc3Q7IHRoZW4NCisJCXBhbmVfd2F0Y2hfY29udGV4dHMgJHtQQU5FX0dVRVNUfSBndWVz dCBndWVzdA0KKwllbHNlDQorCQl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfR1VFU1R9ICJj YXQgPj4gJHtMT0dESVJ9L3BhbmVfZ3Vlc3QubG9nIg0KKwkJdG11eCBzZWxlY3QtcGFuZSAtdCAk e1BBTkVfR1VFU1R9IC1UICJndWVzdCINCisJZmkNCisNCisJaW5mb19sYXlvdXQgIm1lbW9yeSB1 c2FnZSINCisNCisJc2xlZXAgMQ0KK30NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi9wZXJmX3Jl cG9ydCBiL29sZHRlc3QvbGliL3BlcmZfcmVwb3J0DQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5k ZXggMDAwMDAwMC4uZDUxYTJiNA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9saWIvcGVy Zl9yZXBvcnQNCkBAIC0wLDAgKzEsMjcyIEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBT aW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBt b2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZv ciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2xpYi9wZXJm X3JlcG9ydCAtIFByZXBhcmUgSmF2YVNjcmlwdCByZXBvcnQgZm9yIHBlcmZvcm1hbmNlIHRlc3Rz DQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVm YW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK1BFUkZfSU5JVD0wDQorUEVSRl9M SU5LX0NPVU5UPTANCitQRVJGX0pTPSIke0xPR0RJUn0vd2ViL3BlcmYuanMiDQorDQorUEVSRl9U RU1QTEFURV9IVE1MPSJkb2N1bWVudC53cml0ZSgnIicNCitUaHJvdWdocHV0IGluIEdicHMsIGxh dGVuY3kgaW4gwrVzLiBUaHJlYWRzIGFyZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IG1vbm9z cGFjZTsiPmlwZXJmMzwvc3Bhbj4gcHJvY2Vzc2VzLCA8aT5wYXNzdDwvaT4gYW5kIDxpPnBhc3Rh PC9pPiBhcmUgY3VycmVudGx5IHNpbmdsZS10aHJlYWRlZC48YnIvPg0KK0NsaWNrIG9uIG51bWJl cnMgdG8gc2hvdyB0ZXN0IGV4ZWN1dGlvbi4gTWVhc3VyZWQgYXQgaGVhZCwgY29tbWl0IDxzcGFu IHN0eWxlPSJmb250LWZhbWlseTogbW9ub3NwYWNlOyI+X19jb21taXRfXzwvc3Bhbj4uDQorDQor PHN0eWxlIHR5cGU9InRleHQvQ1NTIj4NCit0YWJsZS5wYXNzdCB0ZCB7IGJvcmRlcjogMHB4IHNv bGlkOyBwYWRkaW5nOiA2cHg7IGxpbmUtaGVpZ2h0OiAxOyB9DQordGFibGUucGFzc3QgdGQgeyB0 ZXh0LWFsaWduOiByaWdodDsgfQ0KK3RhYmxlLnBhc3N0IHRoIHsgdGV4dC1hbGlnbjogY2VudGVy OyBmb250LXdlaWdodDogYm9sZDsgfQ0KK3RhYmxlLnBhc3N0IHRyOm5vdCg6Zmlyc3Qtb2YtdHlw ZSkgdGQ6bm90KDpmaXJzdC1vZi10eXBlKSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQt d2VpZ2h0OiBib2xkZXI7IH0NCit0YWJsZS5wYXNzdCB0cjpudGgtY2hpbGQoM24rMCkgeyBiYWNr Z3JvdW5kLWNvbG9yOiAjMTEyMzE1OyB9DQordGFibGUucGFzc3QgdHI6bm90KDpudGgtY2hpbGQo M24rMCkpIHRkIHsgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxMDsgfQ0KK3RhYmxlLnBhc3N0IHRk Om50aC1jaGlsZCg2bis3KSB7IGJhY2tncm91bmQtY29sb3I6ICM2MDMzMDI7IH0NCit0YWJsZS5w YXNzdCB0cjpudGgtY2hpbGQoMSkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzZTYxOyB9DQordGQ6 ZW1wdHkgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH0NCis8L3N0eWxlPg0KKw0KKzx1bD4NCis8bGk+ PHA+cGFzc3Q8L3A+DQorPHRhYmxlIGNsYXNzPSJwYXNzdCIgd2lkdGg9IjcwJSI+DQorCTx0cj4N CisJCTx0aC8+DQorCQk8dGggaWQ9InBlcmZfcGFzc3RfdGNwIiBjb2xzcGFuPSJfX3Bhc3N0X3Rj cF9jb2xzX18iPlRDUCwgX19wYXNzdF90Y3BfdGhyZWFkc19fIGF0IF9fcGFzc3RfdGNwX2ZyZXFf XyBHSHo8L3RoPg0KKwkJPHRoIGlkPSJwZXJmX3Bhc3N0X3VkcCIgY29sc3Bhbj0iX19wYXNzdF91 ZHBfY29sc19fIj5VRFAsIF9fcGFzc3RfdWRwX3RocmVhZHNfXyBhdCBfX3Bhc3N0X3VkcF9mcmVx X18gR0h6PC90aD4NCisJPC90cj4NCisJPHRyPg0KKwkJPHRkIGFsaWduPSJyaWdodCI+TVRVOjwv dGQ+DQorCQlfX3Bhc3N0X3RjcF9oZWFkZXJfXw0KKwkJX19wYXNzdF91ZHBfaGVhZGVyX18NCisJ PC90cj4NCisJX19wYXNzdF90Y3BfTElORV9fIF9fcGFzc3RfdWRwX0xJTkVfXw0KKzwvdGFibGU+ DQorDQorPHN0eWxlIHR5cGU9InRleHQvQ1NTIj4NCit0YWJsZS5wYXN0YSB0ZCB7IGJvcmRlcjog MHB4IHNvbGlkOyBwYWRkaW5nOiA2cHg7IGxpbmUtaGVpZ2h0OiAxOyB9DQordGFibGUucGFzdGEg dGQgeyB0ZXh0LWFsaWduOiByaWdodDsgfQ0KK3RhYmxlLnBhc3RhIHRoIHsgdGV4dC1hbGlnbjog Y2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgfQ0KK3RhYmxlLnBhc3RhIHRyOm5vdCg6Zmlyc3Qt b2YtdHlwZSkgdGQ6bm90KDpmaXJzdC1vZi10eXBlKSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7 IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH0NCit0YWJsZS5wYXN0YSB0cjpudGgtY2hpbGQoM24rMCkg eyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTEyMzE1OyB9DQordGFibGUucGFzdGEgdHI6bm90KDpudGgt Y2hpbGQoM24rMCkpIHRkIHsgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxMDsgfQ0KK3RhYmxlLnBh c3RhIHRkOm50aC1jaGlsZCg0bis1KSB7IGJhY2tncm91bmQtY29sb3I6ICM2MDMzMDI7IH0NCit0 YWJsZS5wYXN0YSB0cjpudGgtY2hpbGQoMSkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzZTYxOyB9 DQordGQ6ZW1wdHkgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH0NCis8L3N0eWxlPg0KKw0KKzwvbGk+ PGxpPjxwPnBhc3RhOiBsb2NhbCBjb25uZWN0aW9ucy90cmFmZmljPC9wPg0KKzx0YWJsZSBjbGFz cz0icGFzdGEiIHdpZHRoPSI3MCUiPg0KKwk8dHI+DQorCQk8dGgvPg0KKwkJPHRoIGlkPSJwZXJm X3Bhc3RhX2xvX3RjcCIgY29sc3Bhbj0iX19wYXN0YV9sb190Y3BfY29sc19fIj5UQ1AsIF9fcGFz dGFfbG9fdGNwX3RocmVhZHNfXyBhdCBfX3Bhc3RhX2xvX3RjcF9mcmVxX18gR0h6PC90aD4NCisJ CTx0aCBpZD0icGVyZl9wYXN0YV9sb191ZHAiIGNvbHNwYW49Il9fcGFzdGFfbG9fdWRwX2NvbHNf XyI+VURQLCBfX3Bhc3RhX2xvX3VkcF90aHJlYWRzX18gYXQgX19wYXN0YV9sb191ZHBfZnJlcV9f IEdIejwvdGg+DQorCTwvdGg+DQorCTx0cj4NCisJCTx0ZCBhbGlnbj0icmlnaHQiPk1UVTo8L3Rk Pg0KKwkJX19wYXN0YV9sb190Y3BfaGVhZGVyX18NCisJCV9fcGFzdGFfbG9fdWRwX2hlYWRlcl9f DQorCTwvdHI+DQorCV9fcGFzdGFfbG9fdGNwX0xJTkVfXyBfX3Bhc3RhX2xvX3VkcF9MSU5FX18N Cis8L3RhYmxlPg0KKw0KKzwvbGk+PGxpPjxwPnBhc3RhOiBjb25uZWN0aW9ucy90cmFmZmljIHZp YSB0YXA8L3A+DQorPHRhYmxlIGNsYXNzPSJwYXN0YSIgd2lkdGg9IjcwJSI+DQorCTx0cj4NCisJ CTx0aC8+DQorCQk8dGggaWQ9InBlcmZfcGFzdGFfdGFwX3RjcCIgY29sc3Bhbj0iX19wYXN0YV90 YXBfdGNwX2NvbHNfXyI+VENQLCBfX3Bhc3RhX3RhcF90Y3BfdGhyZWFkc19fIGF0IF9fcGFzdGFf dGFwX3RjcF9mcmVxX18gR0h6PC90aD4NCisJCTx0aCBpZD0icGVyZl9wYXN0YV90YXBfdWRwIiBj b2xzcGFuPSJfX3Bhc3RhX3RhcF91ZHBfY29sc19fIj5VRFAsIF9fcGFzdGFfdGFwX3VkcF90aHJl YWRzX18gYXQgX19wYXN0YV90YXBfdWRwX2ZyZXFfXyBHSHo8L3RoPg0KKwk8L3RyPg0KKwk8dHI+ DQorCQk8dGQgYWxpZ249InJpZ2h0Ij5NVFU6PC90ZD4NCisJCV9fcGFzdGFfdGFwX3RjcF9oZWFk ZXJfXw0KKwkJX19wYXN0YV90YXBfdWRwX2hlYWRlcl9fDQorCTwvdHI+DQorCV9fcGFzdGFfdGFw X3RjcF9MSU5FX18gX19wYXN0YV90YXBfdWRwX0xJTkVfXw0KKzwvdGFibGU+DQorDQorPC9saT48 L3VsPicNCisNCitQRVJGX1RFTVBMQVRFX0pTPSInKTsNCisNCit2YXIgcGVyZl9saW5rcyA9IFsN CisiDQorDQorUEVSRl9URU1QTEFURV9QT1NUPSddOw0KKw0KK2ZvciAodmFyIGkgPSAwOyBpIDwg cGVyZl9saW5rcy5sZW5ndGg7IGkrKykgew0KKwl2YXIgb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQocGVyZl9saW5rc1tpXVswXSk7DQorDQorCW9iai5hZGRFdmVudExpc3RlbmVyKCJjbGlj ayIsIGZ1bmN0aW9uKGV2ZW50KSB7DQorCQl2YXIgY2lfdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgiY2kiKTsNCisJCXZhciB0b3AgPSBjaV92aWRlby5vZmZzZXRUb3AgLSA1Ow0KKwkJ dmFyIHNlZWs7DQorDQorCQlmb3IgKHZhciBpID0gMDsgaSA8IHBlcmZfbGlua3MubGVuZ3RoOyBp KyspIHsNCisJCQlpZiAodGhpcy5pZCA9PSBwZXJmX2xpbmtzW2ldWzBdKSB7DQorCQkJCXNlZWsg PSBwZXJmX2xpbmtzW2ldWzFdOw0KKwkJCX0NCisJCX0NCisNCisJCWV2ZW50LnByZXZlbnREZWZh dWx0KCk7DQorCQljaV9wbGF5ZXIuZGlzcG9zZSgpOw0KKwkJY2lfcGxheWVyID0gQXNjaWluZW1h UGxheWVyLmNyZWF0ZSgiL2J1aWxkcy9sYXRlc3Qvd2ViL2NpLmNhc3QiLA0KKwkJCQkJCSAgIGNp X3ZpZGVvLA0KKwkJCQkJCSAgIHsgY29sczogMjQwLCByb3dzOiA1MSwgcG9zdGVyOiAibnB0Ojk5 OTowIiwgc3RhcnRBdDogc2VlaywgYXV0b3BsYXk6IHRydWUgfSk7DQorDQorCQl3aW5kb3cuc2Ny b2xsVG8oeyB0b3A6IHRvcCwgYmVoYXZpb3I6ICJzbW9vdGgiIH0pDQorCX0sIGZhbHNlKTsNCit9 DQorJw0KKw0KKyMgcGVyZl9pbml0KCkgLSBQcm9jZXNzIGZpcnN0IHBhcnQgb2YgdGVtcGxhdGUN CitwZXJmX2luaXQoKSB7DQorICAgICAgICBta2RpciAtcCAiJChkaXJuYW1lICIke1BFUkZfSlN9 IikiDQorCWVjaG8gIiR7UEVSRl9URU1QTEFURV9IVE1MfSIgPiAiJHtQRVJGX0pTfSINCisJcGVy Zl9yZXBvcnRfc3ViIGNvbW1pdCAiJChlY2hvICR7Q09NTUlUfSB8IHNlZCAicy8nL1xcXCcvZyIp Ig0KKwlQRVJGX0lOSVQ9MQ0KK30NCisNCisjIHBlcmZfZmlsbF9saW5lcygpIC0gRmlsbCBtdWx0 aXBsZSAiTElORSIgZGlyZWN0aXZlcyBpbiB0ZW1wbGF0ZSwgbWF0Y2hpbmcgcm93cw0KK3BlcmZf ZmlsbF9saW5lcygpIHsNCisJd2hpbGUgdHJ1ZTsgZG8NCisJCV9fZmlsZV9saW5lPSIkKHNlZCAt biAnL19fLipfTElORV9fL3s9O3F9JyAiJHtQRVJGX0pTfSIpIg0KKwkJWyAteiAiJHtfX2ZpbGVf bGluZX0iIF0gJiYgYnJlYWsNCisNCisJCV9fbGluZV9ubz0wDQorCQlfX2RvbmU9MA0KKwkJX19s aW5lX2J1Zj0iPHRyPiINCisJCXdoaWxlIHRydWU7IGRvDQorCQkJX19tYXRjaF9maXJzdF90ZD0w DQorCQkJZm9yIF9fdCBpbiAkKHNlZCAtbiAnL19fLipfTElORV9fL3twO3F9JyAiJHtQRVJGX0pT fSIpOyBkbw0KKwkJCQlpZiBbICR7X19tYXRjaF9maXJzdF90ZH0gLWVxIDEgXTsgdGhlbg0KKwkJ CQkJX19tYXRjaGluZ19saW5lX25vPTANCisJCQkJCXdoaWxlIHRydWU7IGRvDQorCQkJCQkJX19s aW5lX3BhcnQ9DQorCQkJCQkJX192YXJfbmFtZT0iJChlY2hvICRfX3QgfCBzZWQgLW4gJ3MvX19c KC4qXClfXy9cMV8nIiR7X19tYXRjaGluZ19saW5lX25vfSInL3AnKSINCisJCQkJCQlbIC16ICIk KGV2YWwgZWNobyBcJCR7X192YXJfbmFtZX0pIiBdICYmIGJyZWFrDQorCQkJCQkJX19saW5lX3Bh cnQ9IiQoZXZhbCBlY2hvIFwkJHtfX3Zhcl9uYW1lfSkiDQorCQkJCQkJX190ZF9jaGVjaz0iJChl Y2hvICIke19fbGluZV9wYXJ0fSIgfCBzZWQgLW4gJ3MvXjx0ZD5cKFtePl0qXCk8XC90ZD4uKiQv XDEvcCcpIg0KKwkJCQkJCWlmIFsgIiR7X190ZF9jaGVja30iID0gIiR7X190ZF9tYXRjaH0iIF07 IHRoZW4NCisJCQkJCQkJX19saW5lX3BhcnQ9IiQoZWNobyAiJHtfX2xpbmVfcGFydH0iIHwgc2Vk IC1uICdzL148dGQ+W14+XSo8XC90ZD5cKC4qXCkkL1wxL3AnKSINCisJCQkJCQkJYnJlYWsNCisJ CQkJCQlmaQ0KKwkJCQkJCV9fbWF0Y2hpbmdfbGluZV9ubz0kKChfX21hdGNoaW5nX2xpbmVfbm8g KyAxKSkNCisJCQkJCWRvbmUNCisJCQkJZWxzZQ0KKwkJCQkJX192YXJfbmFtZT0iJChlY2hvICRf X3QgfCBzZWQgLW4gJ3MvX19cKC4qXClfXy9cMV8nIiR7X19saW5lX25vfSInL3AnKSINCisJCQkJ CVsgLXogIiQoZXZhbCBlY2hvIFwkJHtfX3Zhcl9uYW1lfSkiIF0gJiYgX19kb25lPTEgJiYgYnJl YWsNCisJCQkJCV9fbGluZV9wYXJ0PSIkKGV2YWwgZWNobyBcJCR7X192YXJfbmFtZX0pIg0KKwkJ CQkJX190ZF9tYXRjaD0iJChlY2hvICIke19fbGluZV9wYXJ0fSIgfCBzZWQgLW4gJ3MvXjx0ZD5c KFtePl0qXCk8XC90ZD4uKiQvXDEvcCcpIg0KKwkJCQlmaQ0KKwkJCQlfX2xpbmVfYnVmPSIke19f bGluZV9idWZ9JHtfX2xpbmVfcGFydH0iDQorCQkJCV9fbWF0Y2hfZmlyc3RfdGQ9MQ0KKwkJCWRv bmUNCisJCQlbICR7X19kb25lfSAtZXEgMSBdICYmIGJyZWFrDQorCQkJX19saW5lX25vPSQoKF9f bGluZV9ubyArIDEpKQ0KKwkJCV9fbGluZV9idWY9IiR7X19saW5lX2J1Zn08L3RyPjx0cj4iDQor CQlkb25lDQorCQlfX2xpbmVfYnVmPSIke19fbGluZV9idWZ9PC90cj4iDQorCQlfX2xpbmVfYnVm PSIkKHByaW50ZiAnJXNcbicgIiR7X19saW5lX2J1Zn0iIHwgc2VkIC1lICdzL1tdXC8kKi5eW10v XFwmL2cnKSINCisJCXNlZCAtaSAiJHtfX2ZpbGVfbGluZX1zLy4qLyR7X19saW5lX2J1Zn0vIiAi JHtQRVJGX0pTfSINCisJZG9uZQ0KK30NCisNCisjIHBlcmZfZmluaXNoKCkgLSBBZGQgdHJhaWxp bmcgYmFja3NsYXNoZXMgYW5kIHByb2Nlc3MgZW5kaW5nIHRlbXBsYXRlcw0KK3BlcmZfZmluaXNo KCkgew0KKwlQRVJGX0lOSVQ9MA0KKwlwZXJmX2ZpbGxfbGluZXMNCisJc2VkIC1pICdzL14uKiQv JlxcL2cnICIke1BFUkZfSlN9Ig0KKwllY2hvICIke1BFUkZfVEVNUExBVEVfSlN9IiA+PiAiJHtQ RVJGX0pTfSINCisJZWNobyAiJHtQRVJGX1RFTVBMQVRFX1BPU1R9IiA+PiAiJHtQRVJGX0pTfSIN Cit9DQorDQorIyBwZXJmX3JlcG9ydF9zdWIoKSAtIEFwcGx5IHNpbXBsZSBzdWJzdGl0dXRpb25z IGluIHRlbXBsYXRlDQorcGVyZl9yZXBvcnRfc3ViKCkgew0KKwlfX2V0PSIkKHByaW50ZiAnJXNc bicgIiR7MX0iIHwgc2VkIC1lICdzL1tcLyZdL1xcJi9nJykiDQorCV9fZXM9IiQocHJpbnRmICcl c1xuJyAiJHsyfSIgfCBzZWQgLWUgJ3MvW11cLyQqLl5bXS9cXCYvZycpIg0KKw0KKwlzZWQgLWkg J3MvX18nIiR7X19ldH0iJ19fLyciJHtfX2VzfSInL2cnICIke1BFUkZfSlN9Ig0KK30NCisNCisj IHBlcmZfcmVwb3J0X2FwcGVuZF9qcygpIC0gQXBwZW5kIGdlbmVyaWMgc3RyaW5nIHRvIGN1cnJl bnQgdGVtcGxhdGUgYnVmZmVyDQorcGVyZl9yZXBvcnRfYXBwZW5kX2pzKCkgew0KKwlQRVJGX1RF TVBMQVRFX0pTPSIke1BFUkZfVEVNUExBVEVfSlN9JHtAfSINCit9DQorDQorIyBwZXJmX3JlcG9y dCgpIC0gU3RhcnQgb2Ygc2luZ2xlIHRlc3QgcmVwb3J0DQorcGVyZl9yZXBvcnQoKSB7DQorCV9f bW9kZT0iJHsxfSINCisJX19wcm90bz0iJHsyfSINCisJX190aHJlYWRzPSIkezN9Ig0KKwlfX2Zy ZXE9IiR7NH0iDQorDQorCVJFUE9SVF9JTj0iJHtfX21vZGV9XyR7X19wcm90b30iDQorDQorCVsg JHtfX3RocmVhZHN9IC1lcSAxIF0gJiYgX190aHJlYWRzPSJvbmUgdGhyZWFkIiB8fCBfX3RocmVh ZHM9IiR7X190aHJlYWRzfSB0aHJlYWRzIg0KKwlwZXJmX3JlcG9ydF9zdWIgIiR7X19tb2RlfV8k e19fcHJvdG99X3RocmVhZHMiICIke19fdGhyZWFkc30iDQorCXBlcmZfcmVwb3J0X3N1YiAiJHtf X21vZGV9XyR7X19wcm90b31fZnJlcSIgIiR7X19mcmVxfSINCisNCisJcGVyZl9yZXBvcnRfYXBw ZW5kX2pzICJbICdwZXJmXyR7X19tb2RlfV8ke19fcHJvdG99JywgJCh2aWRlb190aW1lX25vdykg XSwiDQorfQ0KKw0KKyMgcGVyZl90aCgpIC0gVGFibGUgaGVhZGVyIGZvciBhIHNldCBvZiB0ZXN0 cw0KK3BlcmZfdGgoKSB7DQorCVsgJHtQRVJGX0lOSVR9IC1lcSAwIF0gJiYgcmV0dXJuDQorDQor CXNoaWZ0DQorDQorCV9fdGhfYnVmPQ0KKwlfX2NvbHNfY291bnQ9MA0KKwlmb3IgX19hcmc7IGRv DQorCQlfX3RoX2J1Zj0iJHtfX3RoX2J1Zn08dGQ+JHtfX2FyZ308L3RkPiINCisJCV9fY29sc19j b3VudD0kKChfX2NvbHNfY291bnQgKyAxKSkNCisJZG9uZQ0KKwlwZXJmX3JlcG9ydF9zdWIgIiR7 UkVQT1JUX0lOfV9oZWFkZXIiICIke19fdGhfYnVmfSINCisJcGVyZl9yZXBvcnRfc3ViICIke1JF UE9SVF9JTn1fY29scyIgJHtfX2NvbHNfY291bnR9DQorfQ0KKw0KKyMgcGVyZl90cigpIC0gTWFp biB0YWJsZSByb3cNCitwZXJmX3RyKCkgew0KKwlbICR7UEVSRl9JTklUfSAtZXEgMCBdICYmIHJl dHVybg0KKw0KKwlfX2xpbmVfbm89MA0KKwlzaGlmdA0KKwl3aGlsZSB0cnVlOyBkbw0KKwkJWyAt eiAiJChldmFsIGVjaG8gXCQke1JFUE9SVF9JTn1fTElORV8ke19fbGluZV9ub30pIiBdICYmIGJy ZWFrDQorCQlfX2xpbmVfbm89JCgoX19saW5lX25vICsgMSkpDQorCWRvbmUNCisJZXZhbCAke1JF UE9SVF9JTn1fTElORV8ke19fbGluZV9ub309IlwiPHRkPiR7QH08L3RkPlwiIg0KK30NCisNCisj IHBlcmZfdGQoKSAtIFNpbmdsZSBjZWxsIHdpdGggdGVzdCByZXN1bHQNCitwZXJmX3RkKCkgew0K KwlbICR7UEVSRl9JTklUfSAtZXEgMCBdICYmIHJldHVybg0KKw0KKwlfX3Jld2luZD0iJHsxfSIN CisJc2hpZnQNCisNCisJX19saW5lX25vPTANCisJd2hpbGUgdHJ1ZTsgZG8NCisJCVsgLXogIiQo ZXZhbCBlY2hvIFwkJHtSRVBPUlRfSU59X0xJTkVfJHtfX2xpbmVfbm99KSIgXSAmJiBicmVhaw0K KwkJX19saW5lX25vPSQoKF9fbGluZV9ubyArIDEpKQ0KKwlkb25lDQorCV9fbGluZV9ubz0kKChf X2xpbmVfbm8gLSAxKSkNCisJWyAteiAiJHsxfSIgXSAmJiBfX2lkPTAgfHwgX19pZD0icGVyZl8k e1BFUkZfTElOS19DT1VOVH0iDQorCWV2YWwgJHtSRVBPUlRfSU59X0xJTkVfJHtfX2xpbmVfbm99 PVwiIlwkeyR7UkVQT1JUX0lOfV9MSU5FXyR7X19saW5lX25vfX08dGQgaWQ9XCIke19faWR9XCI+ JHsxfTwvdGQ+IlwiDQorCVsgLXogIiR7MX0iIF0gJiYgcmV0dXJuDQorDQorCXBlcmZfcmVwb3J0 X2FwcGVuZF9qcyAiWyAnJHtfX2lkfScsICQoKCQodmlkZW9fdGltZV9ub3cpIC0gJHtfX3Jld2lu ZH0pKSBdLCINCisJUEVSRl9MSU5LX0NPVU5UPSQoKFBFUkZfTElOS19DT1VOVCArIDEpKQ0KK30N CisNCisjIHBlcmZfdGUoKSAtIEVuZCBvZiBhIHRhYmxlLCBjdXJyZW50bHkgdW51c2VkDQorcGVy dF90ZSgpIHsNCisJOg0KK30NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi9zZXR1cCBiL29sZHRl c3QvbGliL3NldHVwDQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5kZXggMDAwMDAwMC4uOWIzOWI5 Zg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9saWIvc2V0dXANCkBAIC0wLDAgKzEsMzg1 IEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0K KyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNr IEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAg ZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2xpYi9zZXR1cCAtIFNldCB1cCBhbmQgdGVhciBkb3du IHBhc3N0IGFuZCBwYXN0YSBlbnZpcm9ubWVudHMNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEg UmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5j b20+DQorDQorSU5JVFJBTUZTPSIke0JBU0VQQVRIfS9tYnV0by5pbWciDQorVkNQVVM9IiQoIFsg JChucHJvYykgLWdlIDggXSAmJiBlY2hvIDYgfHwgZWNobyAkKCggJChucHJvYykgLyAyICsgMSAp KSApIg0KK19fbWVtX2tpYj0iJChzZWQgLW4gJ3MvTWVtVG90YWw6WyBdKlwoWzAtOV0qXCkga0Iv XDEvcCcgL3Byb2MvbWVtaW5mbykiDQorVk1FTT0iJCgoJHtfX21lbV9raWJ9IC8gMTAyNCAvIDQp KSINCisNCisjIHNldHVwX2J1aWxkKCkgLSBTZXQgdXAgcGFuZSBsYXlvdXQgZm9yIGJ1aWxkIHRl c3RzDQorc2V0dXBfYnVpbGQoKSB7DQorCWNvbnRleHRfc2V0dXBfaG9zdCBob3N0DQorDQorCWxh eW91dF9ob3N0DQorfQ0KKw0KKyMgc2V0dXBfcGFzc3QoKSAtIFN0YXJ0IHFlbXUgYW5kIHBhc3N0 DQorc2V0dXBfcGFzc3QoKSB7DQorCWNvbnRleHRfc2V0dXBfaG9zdCBob3N0DQorCWNvbnRleHRf c2V0dXBfaG9zdCBwYXNzdA0KKwljb250ZXh0X3NldHVwX2hvc3QgcWVtdQ0KKw0KKwlsYXlvdXRf cGFzc3QNCisNCisJIyBQb3J0czoNCisJIw0KKwkjICAgICAgICAgICAgICBndWVzdCAgICB8ICAg ICAgICBob3N0DQorCSMgICAgICAgICAtLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t LS0NCisJIyAgMTAwMDEgICAgIGFzIHNlcnZlciAgfCAgZm9yd2FyZGVkIHRvIGd1ZXN0DQorCSMg IDEwMDAzICAgICAgICAgICAgICAgIHwgICAgICBhcyBzZXJ2ZXINCisNCisJX19vcHRzPQ0KKwlb ICR7UENBUH0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzc3Qu cGNhcCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0KKwlb ICR7VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJY29u dGV4dF9ydW4gcGFzc3QgIm1ha2UgY2xlYW4iDQorCWNvbnRleHRfcnVuIHBhc3N0ICJtYWtlIHZh bGdyaW5kIg0KKwljb250ZXh0X3J1bl9iZyBwYXNzdCAidmFsZ3JpbmQgLS1tYXgtc3RhY2tmcmFt ZT0kKCg0ICogMTAyNCAqIDEwMjQpKSAtLXRyYWNlLWNoaWxkcmVuPXllcyAtLXZnZGI9bm8gLS1l cnJvci1leGl0Y29kZT0xIC0tc3VwcHJlc3Npb25zPXRlc3QvdmFsZ3JpbmQuc3VwcCAuL3Bhc3N0 ICR7X19vcHRzfSAtcyAke1NUQVRFU0VUVVB9L3Bhc3N0LnNvY2tldCAtZiAtdCAxMDAwMSAtdSAx MDAwMSAtUCAke1NUQVRFU0VUVVB9L3Bhc3N0LnBpZCINCisNCisJIyBwaWRmaWxlIGlzbid0IGNy ZWF0ZWQgdW50aWwgcGFzc3QgaXMgbGlzdGVuaW5nDQorCXdhaXRfZm9yIFsgLWYgIiR7U1RBVEVT RVRVUH0vcGFzc3QucGlkIiBdDQorDQorCUdVRVNUX0NJRD05NDU1Nw0KKwljb250ZXh0X3J1bl9i ZyBxZW11ICdxZW11LXN5c3RlbS0kKHVuYW1lIC1tKScJCQkgICBcDQorCQknIC1tYWNoaW5lIGFj Y2VsPWt2bScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisJCScgLW0g JyR7Vk1FTX0nIC1jcHUgaG9zdCAtc21wICcke1ZDUFVTfSAgICAgICAgICAgICAgICAgICAgXA0K KwkJJyAta2VybmVsICcgIi9ib290L3ZtbGludXotJCh1bmFtZSAtcikiCQkJICAgXA0KKwkJJyAt aW5pdHJkICcke0lOSVRSQU1GU30nIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbycJICAgXA0KKwkJ JyAtbm9kZWZhdWx0cycJCQkJCQkgICBcDQorCQknIC1hcHBlbmQgImNvbnNvbGU9dHR5UzAgbWl0 aWdhdGlvbnM9b2ZmIGFwcGFybW9yPTAiICcJICAgXA0KKwkJJyAtZGV2aWNlIHZpcnRpby1uZXQt cGNpLG5ldGRldj1zMCAnCQkJICAgXA0KKwkJIiAtbmV0ZGV2IHN0cmVhbSxpZD1zMCxzZXJ2ZXI9 b2ZmLGFkZHIudHlwZT11bml4LGFkZHIucGF0aD0ke1NUQVRFU0VUVVB9L3Bhc3N0LnNvY2tldCAi IFwNCisJCSIgLXBpZGZpbGUgJHtTVEFURVNFVFVQfS9xZW11LnBpZCIJCQkgICBcDQorCQkiIC1k ZXZpY2Ugdmhvc3QtdnNvY2stcGNpLGd1ZXN0LWNpZD0kR1VFU1RfQ0lEIg0KKw0KKwljb250ZXh0 X3NldHVwX2d1ZXN0IGd1ZXN0ICRHVUVTVF9DSUQNCit9DQorDQorIyBzZXR1cF9wYXN0YSgpIC0g Q3JlYXRlIGEgbmV0d29yayBhbmQgdXNlciBuYW1lc3BhY2UsIGNvbm5lY3QgcGFzdGEgdG8gaXQN CitzZXR1cF9wYXN0YSgpIHsNCisJY29udGV4dF9zZXR1cF9ob3N0IGhvc3QNCisJY29udGV4dF9z ZXR1cF9ob3N0IHBhc3N0DQorCWNvbnRleHRfc2V0dXBfaG9zdCB1bnNoYXJlDQorDQorCWxheW91 dF9wYXN0YQ0KKw0KKwljb250ZXh0X3J1bl9iZyB1bnNoYXJlICJ1bnNoYXJlIC1yVW5wZiAke05T VE9PTH0gaG9sZCAke1NUQVRFU0VUVVB9L25zLmhvbGQiDQorDQorCWNvbnRleHRfc2V0dXBfbnN0 b29sIG5zICR7U1RBVEVTRVRVUH0vbnMuaG9sZA0KKw0KKwkjIFBvcnRzOg0KKwkjDQorCSMgICAg ICAgICAgICAgICAgIG5zICAgICAgICB8ICAgICAgICAgaG9zdA0KKwkjICAgICAgICAgLS0tLS0t LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKwkjICAxMDAwMiAgICAgIGFzIHNl cnZlciAgICAgfCAgICBzcGxpY2VkIHRvIG5zDQorCSMgIDEwMDAzICAgc3BsaWNlZCB0byBpbml0 ICB8ICAgICAgYXMgc2VydmVyDQorDQorCV9fb3B0cz0NCisJWyAke1BDQVB9IC1lcSAxIF0gJiYg X19vcHRzPSIke19fb3B0c30gLXAgJHtMT0dESVJ9L3Bhc3RhLnBjYXAiDQorCVsgJHtERUJVR30g LWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtZCINCisJWyAke1RSQUNFfSAtZXEgMSBdICYm IF9fb3B0cz0iJHtfX29wdHN9IC0tdHJhY2UiDQorDQorCWNvbnRleHRfcnVuX2JnIHBhc3N0ICIu L3Bhc3RhICR7X19vcHRzfSAtZiAtdCAxMDAwMiAtVCAxMDAwMyAtdSAxMDAwMiAtVSAxMDAwMyAt UCAke1NUQVRFU0VUVVB9L3Bhc3N0LnBpZCAkKCR7TlNUT09MfSBpbmZvIC1wdyAke1NUQVRFU0VU VVB9L25zLmhvbGQpIg0KKw0KKwkjIHBpZGZpbGUgaXNuJ3QgY3JlYXRlZCB1bnRpbCBwYXN0YSBp cyByZWFkeQ0KKwl3YWl0X2ZvciBbIC1mICIke1NUQVRFU0VUVVB9L3Bhc3N0LnBpZCIgXQ0KK30N CisNCisjIHNldHVwX3Bhc3N0X2luX25zKCkgLSBTZXQgdXAgbmFtZXNwYWNlICh3aXRoIHBhc3Rh KSwgcnVuIHFlbXUgYW5kIHBhc3N0IGludG8gaXQNCitzZXR1cF9wYXNzdF9pbl9ucygpIHsNCisJ Y29udGV4dF9zZXR1cF9ob3N0IGhvc3QNCisJY29udGV4dF9zZXR1cF9ob3N0IHBhc3RhDQorDQor CWxheW91dF9wYXNzdF9pbl9wYXN0YQ0KKw0KKwkjIFBvcnRzOg0KKwkjDQorCSMgICAgICAgICAg ICAgZ3Vlc3QgICAgfCAgICAgICAgIG5zICAgICAgICAgfCAgICAgICBob3N0DQorCSMgICAgICAg ICAtLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tDQor CSMgIDEwMDAxICAgIGFzIHNlcnZlciAgfCBmb3J3YXJkZWQgdG8gZ3Vlc3QgfCAgc3BsaWNlZCB0 byBucw0KKwkjICAxMDAwMiAgICAgICAgICAgICAgIHwgICAgIGFzIHNlcnZlciAgICAgIHwgIHNw bGljZWQgdG8gbnMNCisJIyAgMTAwMDMgICAgICAgICAgICAgICB8ICAgc3BsaWNlZCB0byBpbml0 ICB8ICAgIGFzIHNlcnZlcg0KKwkjICAxMDAxMSAgICBhcyBzZXJ2ZXIgIHwgZm9yd2FyZGVkIHRv IGd1ZXN0IHwgIHNwbGljZWQgdG8gbnMNCisJIyAgMTAwMTIgICAgICAgICAgICAgICB8ICAgICBh cyBzZXJ2ZXIgICAgICB8ICBzcGxpY2VkIHRvIG5zDQorCSMgIDEwMDEzICAgICAgICAgICAgICAg fCAgIHNwbGljZWQgdG8gaW5pdCAgfCAgICBhcyBzZXJ2ZXINCisJIw0KKwkjICAxMDAyMSAgICBh cyBzZXJ2ZXIgIHwgZm9yd2FyZGVkIHRvIGd1ZXN0IHwNCisJIyAgMTAwMzEgICAgYXMgc2VydmVy ICB8IGZvcndhcmRlZCB0byBndWVzdCB8DQorDQorCV9fb3B0cz0NCisJWyAke1BDQVB9IC1lcSAx IF0gJiYgX19vcHRzPSIke19fb3B0c30gLXAgJHtMT0dESVJ9L3Bhc3RhX3dpdGhfcGFzc3QucGNh cCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0KKwlbICR7 VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJY29udGV4 dF9ydW5fYmcgcGFzdGEgIi4vcGFzdGEgJHtfX29wdHN9IC10IDEwMDAxLDEwMDAyLDEwMDExLDEw MDEyIC1UIDEwMDAzLDEwMDEzIC11IDEwMDAxLDEwMDAyLDEwMDExLDEwMDEyIC1VIDEwMDAzLDEw MDEzIC1QICR7U1RBVEVTRVRVUH0vcGFzdGEucGlkIC0tY29uZmlnLW5ldCAke05TVE9PTH0gaG9s ZCAke1NUQVRFU0VUVVB9L25zLmhvbGQiDQorCXdhaXRfZm9yIFsgLWYgIiR7U1RBVEVTRVRVUH0v cGFzdGEucGlkIiBdDQorDQorCWNvbnRleHRfc2V0dXBfbnN0b29sIHFlbXUgJHtTVEFURVNFVFVQ fS9ucy5ob2xkDQorCWNvbnRleHRfc2V0dXBfbnN0b29sIG5zICR7U1RBVEVTRVRVUH0vbnMuaG9s ZA0KKwljb250ZXh0X3NldHVwX25zdG9vbCBwYXNzdCAke1NUQVRFU0VUVVB9L25zLmhvbGQNCisN CisJX19vcHRzPQ0KKwlbICR7UENBUH0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAk e0xPR0RJUn0vcGFzc3RfaW5fcGFzdGEucGNhcCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9f b3B0cz0iJHtfX29wdHN9IC1kIg0KKwlbICR7VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19f b3B0c30gLS10cmFjZSINCisNCisJaWYgWyAke1ZBTEdSSU5EfSAtZXEgMSBdOyB0aGVuDQorCQlj b250ZXh0X3J1biBwYXNzdCAibWFrZSBjbGVhbiINCisJCWNvbnRleHRfcnVuIHBhc3N0ICJtYWtl IHZhbGdyaW5kIg0KKwkJY29udGV4dF9ydW5fYmcgcGFzc3QgInZhbGdyaW5kIC0tbWF4LXN0YWNr ZnJhbWU9JCgoNCAqIDEwMjQgKiAxMDI0KSkgLS10cmFjZS1jaGlsZHJlbj15ZXMgLS12Z2RiPW5v IC0tZXJyb3ItZXhpdGNvZGU9MSAtLXN1cHByZXNzaW9ucz10ZXN0L3ZhbGdyaW5kLnN1cHAgLi9w YXNzdCAtZiAke19fb3B0c30gLXMgJHtTVEFURVNFVFVQfS9wYXNzdC5zb2NrZXQgLXQgMTAwMDEs MTAwMTEsMTAwMjEsMTAwMzEgLXUgMTAwMDEsMTAwMTEsMTAwMjEsMTAwMzEgLVAgJHtTVEFURVNF VFVQfS9wYXNzdC5waWQiDQorCWVsc2UNCisJCWNvbnRleHRfcnVuIHBhc3N0ICJtYWtlIGNsZWFu Ig0KKwkJY29udGV4dF9ydW4gcGFzc3QgIm1ha2UiDQorCQljb250ZXh0X3J1bl9iZyBwYXNzdCAi Li9wYXNzdCAtZiAke19fb3B0c30gLXMgJHtTVEFURVNFVFVQfS9wYXNzdC5zb2NrZXQgLXQgMTAw MDEsMTAwMTEsMTAwMjEsMTAwMzEgLXUgMTAwMDEsMTAwMTEsMTAwMjEsMTAwMzEgLVAgJHtTVEFU RVNFVFVQfS9wYXNzdC5waWQiDQorCWZpDQorCXdhaXRfZm9yIFsgLWYgIiR7U1RBVEVTRVRVUH0v cGFzc3QucGlkIiBdDQorDQorCUdVRVNUX0NJRD05NDU1Nw0KKwljb250ZXh0X3J1bl9iZyBxZW11 ICdxZW11LXN5c3RlbS0kKHVuYW1lIC1tKScJCQkgICBcDQorCQknIC1tYWNoaW5lIGFjY2VsPWt2 bScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisJCScgLU0gYWNjZWw9 a3ZtOnRjZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAt bSAnJHtWTUVNfScgLWNwdSBob3N0IC1zbXAgJyR7VkNQVVN9ICAgICAgICAgICAgICAgICAgICBc DQorCQknIC1rZXJuZWwgJyAiL2Jvb3Qvdm1saW51ei0kKHVuYW1lIC1yKSIJCQkgICBcDQorCQkn IC1pbml0cmQgJyR7SU5JVFJBTUZTfScgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvJwkgICBcDQor CQknIC1ub2RlZmF1bHRzJwkJCQkJCSAgIFwNCisJCScgLWFwcGVuZCAiY29uc29sZT10dHlTMCBt aXRpZ2F0aW9ucz1vZmYgYXBwYXJtb3I9MCIgJwkgICBcDQorCQknIC1kZXZpY2UgdmlydGlvLW5l dC1wY2ksbmV0ZGV2PXMwICcJCQkgICBcDQorCQkiIC1uZXRkZXYgc3RyZWFtLGlkPXMwLHNlcnZl cj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPSR7U1RBVEVTRVRVUH0vcGFzc3Quc29ja2V0 ICIgXA0KKwkJIiAtcGlkZmlsZSAke1NUQVRFU0VUVVB9L3FlbXUucGlkIgkJCSAgIFwNCisJCSIg LWRldmljZSB2aG9zdC12c29jay1wY2ksZ3Vlc3QtY2lkPSRHVUVTVF9DSUQiDQorDQorCWNvbnRl eHRfc2V0dXBfZ3Vlc3QgZ3Vlc3QgJEdVRVNUX0NJRA0KK30NCisNCisjIHNldHVwX3R3b19ndWVz dHMoKSAtIFNldCB1cCB0d28gbmFtZXNwYWNlLCBydW4gcWVtdSBhbmQgcGFzc3QgaW4gYm90aCBv ZiB0aGVtDQorc2V0dXBfdHdvX2d1ZXN0cygpIHsNCisJY29udGV4dF9zZXR1cF9ob3N0IGhvc3QN CisJY29udGV4dF9zZXR1cF9ob3N0IHBhc3RhXzENCisJY29udGV4dF9zZXR1cF9ob3N0IHBhc3Rh XzINCisNCisJbGF5b3V0X3R3b19ndWVzdHMNCisNCisJIyBQb3J0czoNCisJIw0KKwkjICAgICAg ICAgZ3Vlc3QgIzEgIHwgIGd1ZXN0ICMyIHwgICBucyAjMSAgIHwgICAgbnMgIzIgICB8ICAgIGhv c3QNCisJIyAgICAgICAgIC0tLS0tLS0tLSB8LS0tLS0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0t LS0tLS0tfC0tLS0tLS0tLS0tLQ0KKwkjICAxMDAwMSAgYXMgc2VydmVyIHwgICAgICAgICAgIHwg dG8gZ3Vlc3QgIHwgIHRvIGluaXQgICB8ICB0byBucyAjMQ0KKwkjICAxMDAwMiAgICAgICAgICAg IHwgICAgICAgICAgIHwgYXMgc2VydmVyIHwgICAgICAgICAgICB8ICB0byBucyAjMQ0KKwkjICAx MDAwMyAgICAgICAgICAgIHwgICAgICAgICAgIHwgIHRvIGluaXQgIHwgIHRvIGluaXQgICB8ICBh cyBzZXJ2ZXINCisJIyAgMTAwMDQgICAgICAgICAgICB8IGFzIHNlcnZlciB8ICB0byBpbml0ICB8 ICB0byBndWVzdCAgfCAgdG8gbnMgIzINCisJIyAgMTAwMDUgICAgICAgICAgICB8ICAgICAgICAg ICB8ICAgICAgICAgICB8ICBhcyBzZXJ2ZXIgfCAgdG8gbnMgIzINCisNCisJX19vcHRzPQ0KKwlb ICR7UENBUH0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzdGFf MS5wY2FwIg0KKwlbICR7REVCVUd9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLWQiDQor CVsgJHtUUkFDRX0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtLXRyYWNlIg0KKwljb250 ZXh0X3J1bl9iZyBwYXN0YV8xICIuL3Bhc3RhICR7X19vcHRzfSAtLXRyYWNlIC1sIC90bXAvcGFz dGExLmxvZyAtUCAke1NUQVRFU0VUVVB9L3Bhc3RhXzEucGlkIC10IDEwMDAxLDEwMDAyIC1UIDEw MDAzLDEwMDA0IC11IDEwMDAxLDEwMDAyIC1VIDEwMDAzLDEwMDA0IC0tY29uZmlnLW5ldCAke05T VE9PTH0gaG9sZCAke1NUQVRFU0VUVVB9L25zMS5ob2xkIg0KKwljb250ZXh0X3NldHVwX25zdG9v bCBwYXNzdF8xICR7U1RBVEVTRVRVUH0vbnMxLmhvbGQNCisNCisJX19vcHRzPQ0KKwlbICR7UENB UH0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtcCAke0xPR0RJUn0vcGFzdGFfMi5wY2Fw Ig0KKwlbICR7REVCVUd9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLWQiDQorCVsgJHtU UkFDRX0gLWVxIDEgXSAmJiBfX29wdHM9IiR7X19vcHRzfSAtLXRyYWNlIg0KKwljb250ZXh0X3J1 bl9iZyBwYXN0YV8yICIuL3Bhc3RhICR7X19vcHRzfSAtLXRyYWNlIC1sIC90bXAvcGFzdGEyLmxv ZyAtUCAke1NUQVRFU0VUVVB9L3Bhc3RhXzIucGlkIC10IDEwMDA0LDEwMDA1IC1UIDEwMDAzLDEw MDAxIC11IDEwMDA0LDEwMDA1IC1VIDEwMDAzLDEwMDAxIC0tY29uZmlnLW5ldCAke05TVE9PTH0g aG9sZCAke1NUQVRFU0VUVVB9L25zMi5ob2xkIg0KKwljb250ZXh0X3NldHVwX25zdG9vbCBwYXNz dF8yICR7U1RBVEVTRVRVUH0vbnMyLmhvbGQNCisNCisJY29udGV4dF9zZXR1cF9uc3Rvb2wgcWVt dV8xICR7U1RBVEVTRVRVUH0vbnMxLmhvbGQNCisJY29udGV4dF9zZXR1cF9uc3Rvb2wgcWVtdV8y ICR7U1RBVEVTRVRVUH0vbnMyLmhvbGQNCisNCisJX19pZm5hbWU9IiQoY29udGV4dF9ydW4gcWVt dV8xICJpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09 IFwiZXRoZXJcIikuaWZuYW1lJyIpIg0KKw0KKwlzbGVlcCAxDQorDQorCV9fb3B0cz0NCisJWyAk e1BDQVB9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLXAgJHtMT0dESVJ9L3Bhc3N0XzEu cGNhcCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9fb3B0cz0iJHtfX29wdHN9IC1kIg0KKwlb ICR7VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLS10cmFjZSINCisNCisJY29u dGV4dF9ydW5fYmcgcGFzc3RfMSAiLi9wYXNzdCAtcyAke1NUQVRFU0VUVVB9L3Bhc3N0XzEuc29j a2V0IC1QICR7U1RBVEVTRVRVUH0vcGFzc3RfMS5waWQgLWYgJHtfX29wdHN9IC10IDEwMDAxIC11 IDEwMDAxIg0KKwl3YWl0X2ZvciBbIC1mICIke1NUQVRFU0VUVVB9L3Bhc3N0XzEucGlkIiBdDQor DQorCV9fb3B0cz0NCisJWyAke1BDQVB9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30gLXAg JHtMT0dESVJ9L3Bhc3N0XzIucGNhcCINCisJWyAke0RFQlVHfSAtZXEgMSBdICYmIF9fb3B0cz0i JHtfX29wdHN9IC1kIg0KKwlbICR7VFJBQ0V9IC1lcSAxIF0gJiYgX19vcHRzPSIke19fb3B0c30g LS10cmFjZSINCisNCisJY29udGV4dF9ydW5fYmcgcGFzc3RfMiAiLi9wYXNzdCAtcyAke1NUQVRF U0VUVVB9L3Bhc3N0XzIuc29ja2V0IC1QICR7U1RBVEVTRVRVUH0vcGFzc3RfMi5waWQgLWYgJHtf X29wdHN9IC10IDEwMDA0IC11IDEwMDA0Ig0KKwl3YWl0X2ZvciBbIC1mICIke1NUQVRFU0VUVVB9 L3Bhc3N0XzIucGlkIiBdDQorDQorCUdVRVNUXzFfQ0lEPTk0NTU3DQorCWNvbnRleHRfcnVuX2Jn IHFlbXVfMSAncWVtdS1zeXN0ZW0tJCh1bmFtZSAtbSknCQkJICAgICBcDQorCQknIC1NIGFjY2Vs PWt2bTp0Y2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKwkJ JyAtbSAnJHtWTUVNfScgLWNwdSBob3N0IC1zbXAgJyR7VkNQVVN9ICAgICAgICAgICAgICAgICAg ICAgIFwNCisJCScgLWtlcm5lbCAnICIvYm9vdC92bWxpbnV6LSQodW5hbWUgLXIpIgkJCSAgICAg XA0KKwkJJyAtaW5pdHJkICcke0lOSVRSQU1GU30nIC1ub2dyYXBoaWMgLXNlcmlhbCBzdGRpbycJ ICAgICBcDQorCQknIC1ub2RlZmF1bHRzJwkJCQkJCSAgICAgXA0KKwkJJyAtYXBwZW5kICJjb25z b2xlPXR0eVMwIG1pdGlnYXRpb25zPW9mZiBhcHBhcm1vcj0wIiAnCSAgICAgXA0KKwkJJyAtZGV2 aWNlIHZpcnRpby1uZXQtcGNpLG5ldGRldj1zMCAnCQkJICAgICBcDQorCQkiIC1uZXRkZXYgc3Ry ZWFtLGlkPXMwLHNlcnZlcj1vZmYsYWRkci50eXBlPXVuaXgsYWRkci5wYXRoPSR7U1RBVEVTRVRV UH0vcGFzc3RfMS5zb2NrZXQgIiBcDQorCQkiIC1waWRmaWxlICR7U1RBVEVTRVRVUH0vcWVtdV8x LnBpZCIJCQkgICAgIFwNCisJCSIgLWRldmljZSB2aG9zdC12c29jay1wY2ksZ3Vlc3QtY2lkPSRH VUVTVF8xX0NJRCINCisNCisJR1VFU1RfMl9DSUQ9OTQ1NTgNCisJY29udGV4dF9ydW5fYmcgcWVt dV8yICdxZW11LXN5c3RlbS0kKHVuYW1lIC1tKScJCQkgICAgIFwNCisJCScgLU0gYWNjZWw9a3Zt OnRjZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorCQknIC1t ICcke1ZNRU19JyAtY3B1IGhvc3QgLXNtcCAnJHtWQ1BVU30gICAgICAgICAgICAgICAgICAgICAg XA0KKwkJJyAta2VybmVsICcgIi9ib290L3ZtbGludXotJCh1bmFtZSAtcikiCQkJICAgICBcDQor CQknIC1pbml0cmQgJyR7SU5JVFJBTUZTfScgLW5vZ3JhcGhpYyAtc2VyaWFsIHN0ZGlvJwkgICAg IFwNCisJCScgLW5vZGVmYXVsdHMnCQkJCQkJICAgICBcDQorCQknIC1hcHBlbmQgImNvbnNvbGU9 dHR5UzAgbWl0aWdhdGlvbnM9b2ZmIGFwcGFybW9yPTAiICcJICAgICBcDQorCQknIC1kZXZpY2Ug dmlydGlvLW5ldC1wY2ksbmV0ZGV2PXMwICcJCQkgICAgIFwNCisJCSIgLW5ldGRldiBzdHJlYW0s aWQ9czAsc2VydmVyPW9mZixhZGRyLnR5cGU9dW5peCxhZGRyLnBhdGg9JHtTVEFURVNFVFVQfS9w YXNzdF8yLnNvY2tldCAiIFwNCisJCSIgLXBpZGZpbGUgJHtTVEFURVNFVFVQfS9xZW11XzIucGlk IgkJCSAgICAgXA0KKwkJIiAtZGV2aWNlIHZob3N0LXZzb2NrLXBjaSxndWVzdC1jaWQ9JEdVRVNU XzJfQ0lEIg0KKw0KKwljb250ZXh0X3NldHVwX2d1ZXN0IGd1ZXN0XzEgJHtHVUVTVF8xX0NJRH0N CisJY29udGV4dF9zZXR1cF9ndWVzdCBndWVzdF8yICR7R1VFU1RfMl9DSUR9DQorfQ0KKw0KKyMg dGVhcmRvd25fY29udGV4dF93YXRjaCgpIC0gUmVtb3ZlIGNvbnRleHRzIGFuZCBzdG9wIHBhbmVz IHdhdGNoaW5nIHRoZW0NCisjICQxOglQYW5lIG51bWJlciB3YXRjaGluZw0KKyMgJEA6CUNvbnRl eHQgbmFtZXMNCit0ZWFyZG93bl9jb250ZXh0X3dhdGNoKCkgew0KKwlfX3BhbmU9IiQxIg0KKwlz aGlmdA0KKwlmb3IgX19jOyBkbw0KKwkJY29udGV4dF90ZWFyZG93biAiJHtfX2N9Ig0KKwlkb25l DQorCXRtdXggc2VuZC1rZXlzIC10ICR7X19wYW5lfSAiQy1jIg0KK30NCisNCisjIHRlYXJkb3du X2J1aWxkKCkgLSBOb3RoaW5nIHRvIGRvLCB5ZXQNCit0ZWFyZG93bl9idWlsZCgpIHsNCisJdGVh cmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfSE9TVH0gaG9zdA0KK30NCisNCisjIHRlYXJkb3du X3Bhc3N0KCkgLSBLaWxsIHFlbXUsIHJlbW92ZSBwYXNzdCBQSUQgZmlsZQ0KK3RlYXJkb3duX3Bh c3N0KCkgew0KKwlraWxsICQoY2F0ICIke1NUQVRFU0VUVVB9L3FlbXUucGlkIikNCisNCisJcm0g IiR7U1RBVEVTRVRVUH0vcGFzc3QucGlkIg0KKw0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7 UEFORV9IT1NUfSBob3N0DQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5FX1BBU1NUfSBw YXNzdA0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9HVUVTVH0gcWVtdSBndWVzdA0K K30NCisNCisjIHRlYXJkb3duX3Bhc3RhKCkgLSBFeGl0IG5hbWVzcGFjZSwga2lsbCBwYXN0YSBw cm9jZXNzDQordGVhcmRvd25fcGFzdGEoKSB7DQorCSR7TlNUT09MfSBzdG9wICIke1NUQVRFU0VU VVB9L25zLmhvbGQiDQorCWNvbnRleHRfd2FpdCB1bnNoYXJlDQorDQorCXRlYXJkb3duX2NvbnRl eHRfd2F0Y2ggJHtQQU5FX0hPU1R9IGhvc3QNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BB TkVfUEFTU1R9IHBhc3N0DQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5FX05TfSB1bnNo YXJlIG5zDQorfQ0KKw0KKyMgdGVhcmRvd25fcGFzc3RfaW5fbnMoKSAtIEV4aXQgbmFtZXNwYWNl LCBraWxsIHFlbXUgYW5kIHBhc3RhLCByZW1vdmUgcGlkIGZpbGUNCit0ZWFyZG93bl9wYXNzdF9p bl9ucygpIHsNCisJY29udGV4dF9ydW4gbnMga2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9xZW11 LnBpZCIpDQorCWNvbnRleHRfd2FpdCBxZW11DQorDQorCSR7TlNUT09MfSBzdG9wICIke1NUQVRF U0VUVVB9L25zLmhvbGQiDQorCWNvbnRleHRfd2FpdCBwYXN0YQ0KKw0KKwlybSAiJHtTVEFURVNF VFVQfS9wYXNzdC5waWQiICIke1NUQVRFU0VUVVB9L3Bhc3RhLnBpZCINCisNCisJdGVhcmRvd25f Y29udGV4dF93YXRjaCAke1BBTkVfSE9TVH0gaG9zdA0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNo ICR7UEFORV9QQVNTVH0gcGFzdGEgcGFzc3QNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BB TkVfTlN9IG5zDQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5FX0dVRVNUfSBxZW11IGd1 ZXN0DQorfQ0KKw0KKyMgdGVhcmRvd25fdHdvX2d1ZXN0cygpIC0gRXhpdCBuYW1lc3BhY2VzLCBr aWxsIHFlbXUgcHJvY2Vzc2VzLCBwYXNzdCBhbmQgcGFzdGENCit0ZWFyZG93bl90d29fZ3Vlc3Rz KCkgew0KKwkke05TVE9PTH0gZXhlYyAke1NUQVRFU0VUVVB9L25zMS5ob2xkIC0tIGtpbGwgJChj YXQgIiR7U1RBVEVTRVRVUH0vcWVtdV8xLnBpZCIpDQorCSR7TlNUT09MfSBleGVjICR7U1RBVEVT RVRVUH0vbnMyLmhvbGQgLS0ga2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9xZW11XzIucGlkIikN CisJY29udGV4dF93YWl0IHFlbXVfMQ0KKwljb250ZXh0X3dhaXQgcWVtdV8yDQorDQorCSR7TlNU T09MfSBleGVjICR7U1RBVEVTRVRVUH0vbnMxLmhvbGQgLS0ga2lsbCAkKGNhdCAiJHtTVEFURVNF VFVQfS9wYXNzdF8xLnBpZCIpDQorCSR7TlNUT09MfSBleGVjICR7U1RBVEVTRVRVUH0vbnMyLmhv bGQgLS0ga2lsbCAkKGNhdCAiJHtTVEFURVNFVFVQfS9wYXNzdF8yLnBpZCIpDQorCWNvbnRleHRf d2FpdCBwYXNzdF8xDQorCWNvbnRleHRfd2FpdCBwYXNzdF8yDQorCSR7TlNUT09MfSBzdG9wICIk e1NUQVRFU0VUVVB9L25zMS5ob2xkIg0KKwkke05TVE9PTH0gc3RvcCAiJHtTVEFURVNFVFVQfS9u czIuaG9sZCINCisJY29udGV4dF93YWl0IHBhc3RhXzENCisJY29udGV4dF93YWl0IHBhc3RhXzIN CisNCisJcm0gLWYgIiR7U1RBVEVTRVRVUH0vcGFzc3RfX1sxMl0ucGlkIiAiJHtTVEFURVNFVFVQ fS9wYXN0YV9bMTJdLnBpZCINCisNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfSE9T VH0gaG9zdA0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9HVUVTVF8xfSBxZW11XzEg Z3Vlc3RfMQ0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9HVUVTVF8yfSBxZW11XzIg Z3Vlc3RfMg0KKwl0ZWFyZG93bl9jb250ZXh0X3dhdGNoICR7UEFORV9QQVNTVF8xfSBwYXN0YV8x IHBhc3N0XzENCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfUEFTU1RfMn0gcGFzdGFf MiBwYXNzdF8yDQorfQ0KKw0KKyMgdGVhcmRvd25fZGVtb19wYXNzdCgpIC0gRXhpdCBuYW1lc3Bh Y2UsIGtpbGwgcWVtdSwgcGFzc3QgYW5kIHBhc3RhDQordGVhcmRvd25fZGVtb19wYXNzdCgpIHsN CisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0dVRVNUfSAiQy1jIg0KKwlwYW5lX3dhaXQgR1VF U1QNCisNCisJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0dVRVNUfSAiQy1kIg0KKwl0bXV4IHNl bmQta2V5cyAtdCAke1BBTkVfUEFTU1R9ICJDLWMiDQorDQorCXBhbmVfd2FpdCBHVUVTVA0KKwlw YW5lX3dhaXQgSE9TVA0KKwlwYW5lX3dhaXQgUEFTU1QNCisNCisJdG11eCBraWxsLXBhbmUgLWEg LXQgMA0KKwl0bXV4IHNlbmQta2V5cyAtdCAwICJDLWMiDQorfQ0KKw0KKyMgdGVhcmRvd25fZGVt b19wYXN0YSgpIC0gRXhpdCBwZXJmIGFuZCBuYW1lc3BhY2UgZnJvbSByZW1haW5pbmcgcGFuZQ0K K3RlYXJkb3duX2RlbW9fcGFzdGEoKSB7DQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9OU30g InEiDQorCXBhbmVfd2FpdCBOUw0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfTlN9ICJDLWQi DQorCXBhbmVfd2FpdCBOUw0KKw0KKwl0bXV4IGtpbGwtcGFuZSAtYSAtdCAwDQorCXRtdXggc2Vu ZC1rZXlzIC10IDAgIkMtYyINCit9DQorDQorIyB0ZWFyZG93bl9kZW1vX3BvZG1hbigpIC0gRXhp dCBuYW1lc3BhY2VzDQordGVhcmRvd25fZGVtb19wb2RtYW4oKSB7DQorCXRtdXggc2VuZC1rZXlz IC10ICR7UEFORV9OUzF9ICJDLWQiDQorCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9OUzJ9ICJD LWQiDQorCXBhbmVfd2FpdCBOUzENCisJcGFuZV93YWl0IE5TMg0KKw0KKwl0bXV4IGtpbGwtcGFu ZSAtYSAtdCAwDQorCXRtdXggc2VuZC1rZXlzIC10IDAgIkMtYyINCit9DQorDQorIyBzZXR1cCgp IC0gUnVuIHNldHVwXyooKSBmdW5jdGlvbnMNCisjICQqOglTdWZmaXggbGlzdCBvZiBzZXR1cF8q KCkgZnVuY3Rpb25zIHRvIGJlIGNhbGxlZA0KK3NldHVwKCkgew0KKwlmb3IgYXJnIGRvDQorCQlT VEFURVNFVFVQPSIke1NUQVRFQkFTRX0vJHthcmd9Ig0KKwkJbWtkaXIgLXAgIiR7U1RBVEVTRVRV UH0iDQorCQlldmFsIHNldHVwXyR7YXJnfQ0KKwlkb25lDQorfQ0KKw0KKyMgdGVhcmRvd24oKSAt IFJ1biB0ZWFyZG93bl8qKCkgZnVuY3Rpb25zDQorIyAkKjoJU3VmZml4IGxpc3Qgb2YgdGVhcmRv d25fKigpIGZ1bmN0aW9ucyB0byBiZSBjYWxsZWQNCit0ZWFyZG93bigpIHsNCisJZm9yIGFyZyBk bw0KKwkJZXZhbCB0ZWFyZG93bl8ke2FyZ30NCisJZG9uZQ0KK30NCmRpZmYgLS1naXQgYS9vbGR0 ZXN0L2xpYi9zZXR1cF91Z2x5IGIvb2xkdGVzdC9saWIvc2V0dXBfdWdseQ0KbmV3IGZpbGUgbW9k ZSAxMDA3NTUNCmluZGV4IDAwMDAwMDAuLjRiMmEwNzcNCi0tLSAvZGV2L251bGwNCisrKyBiL29s ZHRlc3QvbGliL3NldHVwX3VnbHkNCkBAIC0wLDAgKzEsNTggQEANCisjIS9iaW4vc2gNCisjDQor IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NU IC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21h aW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0 aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRl c3QvbGliL3NldHVwX3VnbHkgLSBTZXR1cCBmdW5jdGlvbnMgdXNpbmcgc2NyZWVuLXNjcmFwaW5n IGluc3RlYWQgb2YgY29udGV4dA0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMiBSZWQgSGF0IEdt YkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitJ TklUUkFNRlNfTUVNPSIke0JBU0VQQVRIfS9tYnV0by5tZW0uaW1nIg0KKw0KKyMgc2V0dXBfZGlz dHJvKCkgLSBTZXQgdXAgcGFuZSBsYXlvdXQgZm9yIGRpc3RybyB0ZXN0cw0KK3NldHVwX2Rpc3Ry bygpIHsNCisJbGF5b3V0X2hvc3QNCit9DQorDQorIyBzZXR1cF9wYXN0YV9vcHRpb25zKCkgLSBT ZXQgdXAgbGF5b3V0IGFuZCBob3N0IGNvbnRleHQgd2l0aG91dCBzdGFydGluZyBwYXN0YQ0KK3Nl dHVwX3Bhc3RhX29wdGlvbnMoKSB7DQorCWNvbnRleHRfc2V0dXBfaG9zdCBob3N0DQorDQorCWxh eW91dF9wYXN0YV9zaW1wbGUNCit9DQorDQorIyBzZXR1cF9tZW1vcnkoKSAtIFN0YXJ0IHFlbXUg aW4gZ3Vlc3QgcGFuZSwgYW5kIHBhc3N0IGluIHBhc3N0IGNvbnRleHQNCitzZXR1cF9tZW1vcnko KSB7DQorCWxheW91dF9tZW1vcnkNCisNCisJcGFuZV9vcl9jb250ZXh0X3J1biBndWVzdCAncWVt dS1zeXN0ZW0tJCh1bmFtZSAtbSknCQkgICBcDQorCQknIC1tYWNoaW5lIGFjY2VsPWt2bScgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisJCScgLW0gJyR7Vk1FTX0nIC1j cHUgaG9zdCAtc21wICcke1ZDUFVTfSAgICAgICAgICAgICAgICAgICAgXA0KKwkJJyAta2VybmVs ICcgIi9ib290L3ZtbGludXotJCh1bmFtZSAtcikiCQkJICAgXA0KKwkJJyAtaW5pdHJkICcke0lO SVRSQU1GU19NRU19JyAtbm9ncmFwaGljIC1zZXJpYWwgc3RkaW8nCSAgIFwNCisJCScgLW5vZGVm YXVsdHMnCQkJCQkJICAgXA0KKwkJJyAtYXBwZW5kICJjb25zb2xlPXR0eVMwIG1pdGlnYXRpb25z PW9mZiBhcHBhcm1vcj0wIicJICAgXA0KKwkJIiAtcGlkZmlsZSAke1NUQVRFU0VUVVB9L3FlbXUu cGlkIg0KK30NCisNCisjIHRlYXJkb3duX2Rpc3RybygpIC0gTm90aGluZyB0byBkbywgeWV0DQor dGVhcmRvd25fZGlzdHJvKCkgew0KKwk6DQorfQ0KKw0KKyMgdGVhcmRvd25fcGFzdGFfb3B0aW9u cygpIC0gVGVhciBkb3duIHBhc3RhIGFuZCBob3N0IGNvbnRleHQsIG5vIG5hbWVzcGFjZQ0KK3Rl YXJkb3duX3Bhc3RhX29wdGlvbnMoKSB7DQorCXRlYXJkb3duX2NvbnRleHRfd2F0Y2ggJHtQQU5F X0hPU1R9IGhvc3QNCisJdGVhcmRvd25fY29udGV4dF93YXRjaCAke1BBTkVfUEFTU1R9IHBhc3N0 DQorfQ0KKw0KKyMgdGVhcmRvd25fcGFzc3QoKSAtIEtpbGwgcWVtdSB3aXRoIF5DLCByZW1vdmUg cGFzc3QgUElEIGZpbGUNCit0ZWFyZG93bl9tZW1vcnkoKSB7DQorCWtpbGwgJChjYXQgIiR7U1RB VEVTRVRVUH0vcWVtdS5waWQiKQ0KK30NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi90ZXJtIGIv b2xkdGVzdC9saWIvdGVybQ0KbmV3IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4IDAwMDAwMDAuLmFh MDViZjENCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvbGliL3Rlcm0NCkBAIC0wLDAgKzEs NzUwIEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9y dA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQ YWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90 YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L2xpYi90ZXJtIC0gU2V0IHVwIHRtdXggc2Vzc2lv bnMgYW5kIHBhbmVzLCBoYW5kbGUgdGVybWluYWxzIGFuZCBsb2dzDQorIw0KKyMgQ29weXJpZ2h0 IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZp b0ByZWRoYXQuY29tPg0KKw0KK1NUQVRVU19GSUxFPQ0KK1NUQVRVU19GSUxFX05URVNUUz0NCitT VEFUVVNfRklMRV9JTkRFWD0wDQorU1RBVFVTX0NPTFM9DQorU1RBVFVTX1BBU1M9MA0KK1NUQVRV U19GQUlMPTANCisNCitQUl9SRUQ9J1wwMzNbMTszMW0nDQorUFJfR1JFRU49J1wwMzNbMTszMm0n DQorUFJfWUVMTE9XPSdcMDMzWzE7MzNtJw0KK1BSX0JMVUU9J1wwMzNbMTszNG0nDQorUFJfTkM9 J1wwMzNbMG0nDQorUFJfREVMQVlfSU5JVD0xMDAgIyBtcw0KKw0KKyMgaW5mbygpIC0gSGlnaGxp Z2h0IHRlc3QgbG9nIHBhbmUsIHByaW50IG1lc3NhZ2UgdG8gaXQgYW5kIHRvIGxvZyBmaWxlDQor IyAkQDoJTWVzc2FnZSB0byBwcmludA0KK2luZm8oKSB7DQorCXRtdXggc2VsZWN0LXBhbmUgLXQg JHtQQU5FX0lORk99DQorCWVjaG8gIiR7QH0iID4+ICRTVEFURUJBU0UvbG9nX3BpcGUNCisJZWNo byAiJHtAfSIgPj4gIiR7TE9HRklMRX0iDQorfQ0KKw0KKyMgaW5mb19uKCkgLSBIaWdobGlnaHQs IHByaW50IG1lc3NhZ2UgdG8gcGFuZSBhbmQgdG8gbG9nIGZpbGUgd2l0aG91dCBuZXdsaW5lDQor IyAkQDoJTWVzc2FnZSB0byBwcmludA0KK2luZm9fbigpIHsNCisJdG11eCBzZWxlY3QtcGFuZSAt dCAke1BBTkVfSU5GT30NCisJcHJpbnRmICIke0B9IiA+PiAkU1RBVEVCQVNFL2xvZ19waXBlDQor CXByaW50ZiAiJHtAfSIgPj4gIiR7TE9HRklMRX0iDQorfQ0KKw0KKyMgaW5mb19ub2xvZygpIC0g SGlnaGxpZ2h0IHRlc3QgbG9nIHBhbmUsIHByaW50IG1lc3NhZ2UgdG8gaXQNCisjICRAOglNZXNz YWdlIHRvIHByaW50DQoraW5mb19ub2xvZygpIHsNCisJdG11eCBzZWxlY3QtcGFuZSAtdCAke1BB TkVfSU5GT30NCisJZWNobyAiJHtAfSIgPj4gJFNUQVRFQkFTRS9sb2dfcGlwZQ0KK30NCisNCisj IGluZm9fbm9sb2coKSAtIFByaW50IG1lc3NhZ2UgdG8gbG9nIGZpbGUNCisjICRAOglNZXNzYWdl IHRvIHByaW50DQorbG9nKCkgew0KKwllY2hvICIke0B9IiA+PiAiJHtMT0dGSUxFfSINCit9DQor DQorIyBpbmZvX25vbG9nX24oKSAtIFNlbmQgbWVzc2FnZSB0byBwYW5lIHdpdGhvdXQgaGlnaGxp Z2h0aW5nIGl0LCB3aXRob3V0IG5ld2xpbmUNCisjICRAOglNZXNzYWdlIHRvIHByaW50DQoraW5m b19ub2xvZ19uKCkgew0KKwl0bXV4IHNlbmQta2V5cyAtbCAtdCAke1BBTkVfSU5GT30gIiR7QH0i DQorfQ0KKw0KKyMgaW5mb19zZXAoKSAtIFByaW50IGdpdmVuIHNlcGFyYXRvciwgaG9yaXpvbnRh bGx5IGZpbGxpbmcgdGVzdCBsb2cgcGFuZQ0KKyMgJDE6CVNlcGFyYXRvciBjaGFyYWN0ZXINCitp bmZvX3NlcCgpIHsNCisJdG11eCBzZW5kLWtleXMgLWwgLU4gJHtTVEFUVVNfQ09MU30gLXQgJHtQ QU5FX0lORk99ICIkezF9Ig0KKwl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gQy1tDQor fQ0KKw0KKyMgc2xlZXBfY2hhcigpIC0gU2xlZXAgZm9yIHR5cGVkIGNoYXJhY3RlZCByZXNlbWJs aW5nIGludGVyYWN0aXZlIGlucHV0DQorIyAkMToJQ2hhcmFjdGVyIHR5cGVkIHRvIHBhbmUNCitz bGVlcF9jaGFyKCkgew0KKwlbICR7RkFTVH0gLWVxIDEgXSAmJiByZXR1cm4NCisNCisJaWYgWyAi JHsxfSIgPSAiICIgXTsgdGhlbg0KKwkJUFJfREVMQVk9JCgoUFJfREVMQVkgKyA0MCkpDQorCWVs aWYgWyAtbiAiJChwcmludGYgJyVzJyAiJHsxfSIgfCB0ciAtZCBbOmFsbnVtOl0pIiBdOyB0aGVu DQorCQlQUl9ERUxBWT0kKChQUl9ERUxBWSArIDMwKSkNCisJZWxpZiBbICR7UFJfREVMQVl9IC1n ZSAzMCBdOyB0aGVuDQorCQlQUl9ERUxBWT0kKChQUl9ERUxBWSAvIDMgKiAyKSkNCisJZmkNCisN CisJc2xlZXAgIiQocHJpbnRmIDAuJTAzaSAke1BSX0RFTEFZfSkiIHx8IHNsZWVwIDENCit9DQor DQorIyBkaXNwbGF5X2RlbGF5KCkgLSBTaW1wbGUgZGVsYXksIG9taXR0ZWQgaWYgJEZBU1QgaXMg c2V0DQorZGlzcGxheV9kZWxheSgpIHsNCisJWyAke0ZBU1R9IC1lcSAxIF0gJiYgcmV0dXJuDQor DQorCXNsZWVwICIkezF9IiB8fCBzbGVlcCAxDQorfQ0KKw0KKyMgc3dpdGNoX3BhbmUoKSAtIEhp Z2hsaWdodCBnaXZlbiBwYW5lIGFuZCByZXNldCBjaGFyYWN0ZXIgZGVsYXkNCisjICQxOglQYW5l IG51bWJlcg0KK3N3aXRjaF9wYW5lKCkgew0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7MX0NCisJ UFJfREVMQVk9JHtQUl9ERUxBWV9JTklUfQ0KKwlkaXNwbGF5X2RlbGF5ICIwLjIiDQorfQ0KKw0K KyMgY21kX3dyaXRlKCkgLSBXcml0ZSBhIGNvbW1hbmQgdG8gYSBwYW5lLCBsZXR0ZXIgYnkgbGV0 dGVyLCBhbmQgZXhlY3V0ZSBpdA0KKyMgJDE6CVBhbmUgbnVtYmVyDQorIyAkQDoJQ29tbWFuZCB0 byBpc3N1ZQ0KK2NtZF93cml0ZSgpIHsNCisJX19wYW5lX25vPSR7MX0NCisJc2hpZnQNCisNCisJ c3dpdGNoX3BhbmUgJHtfX3BhbmVfbm99DQorDQorCV9fc3RyPSIke0B9Ig0KKwl3aGlsZSBbIC1u ICIke19fc3RyfSIgXTsgZG8NCisJCV9fcmVtPSIke19fc3RyIz99Ig0KKwkJX19maXJzdD0iJHtf X3N0ciUiJF9fcmVtIn0iDQorCQlpZiBbICIke19fZmlyc3R9IiA9ICI7IiBdOyB0aGVuDQorCQkJ dG11eCBzZW5kLWtleXMgLXQgJHtfX3BhbmVfbm99IC1sICdcOycNCisJCWVsc2UNCisJCQl0bXV4 IHNlbmQta2V5cyAtdCAke19fcGFuZV9ub30gLWwgIiR7X19maXJzdH0iDQorCQlmaQ0KKwkJc2xl ZXBfY2hhciAiJHtfX2ZpcnN0fSINCisJCV9fc3RyPSIke19fcmVtfSINCisJZG9uZQ0KKwl0bXV4 IHNlbmQta2V5cyAtdCAke19fcGFuZV9ub30gIkMtbSINCit9DQorDQorIyB0ZXh0X3dyaXRlKCkg LSBXcml0ZSB0ZXh0IHRvIGluZm8gcGFuZSwgbGV0dGVyIGJ5IGxldHRlcg0KKyMgJDE6CVBhbmUg bnVtYmVyDQorIyAkQDoJQ29tbWFuZCB0byBpc3N1ZQ0KK3RleHRfd3JpdGUoKSB7DQorCV9fc3Ry PSIke0B9Ig0KKwl3aGlsZSBbIC1uICIke19fc3RyfSIgXTsgZG8NCisJCV9fcmVtPSIke19fc3Ry Iz99Ig0KKwkJX19maXJzdD0iJHtfX3N0ciUiJF9fcmVtIn0iDQorCQlpZiBbICIke19fZmlyc3R9 IiA9ICI7IiBdOyB0aGVuDQorCQkJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX0lORk99IC1sICdc OycNCisJCWVsc2UNCisJCQl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVfSU5GT30gLWwgIiR7X19m aXJzdH0iDQorCQlmaQ0KKwkJc2xlZXBfY2hhciAiJHtfX2ZpcnN0fSINCisJCV9fc3RyPSIke19f cmVtfSINCisJZG9uZQ0KK30NCisNCisjIHRleHRfYmFja3NwYWNlKCkgLSBTbG93IGJhY2tzcGFj ZSBtb3Rpb24gZm9yIGRlbW8NCisjICQxOglOdW1iZXIgb2YgYmFja3NwYWNlIGNoYXJhY3RlcnMN Cit0ZXh0X2JhY2tzcGFjZSgpIHsNCisJZm9yIF9fY291bnQgaW4gJChzZXEgMCAkezF9KTsgZG8N CisJCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSBCc3BhY2UNCisJCXNsZWVwIDAuMQ0K Kwlkb25lDQorfQ0KKw0KKyMgZW1fd3JpdGUoKSAtIFdyaXRlIHRvIGxvZyBwYW5lIGluIHJlZCwg Zm9yIGRlbW8NCisjICRAOglUZXh0DQorZW1fd3JpdGUoKSB7DQorCWluZm9fbiAiJHtQUl9SRUR9 JHtAfSR7UFJfTkN9Ig0KK30NCisNCisjIHBhbmVfa2lsbCgpIC0gS2lsbCBhIHNpbmdsZSBwYW5l IGdpdmVuIGl0cyBuYW1lDQorIyAkMToJUGFuZSBuYW1lDQorcGFuZV9raWxsKCkgew0KKwlfX3Bh bmVfbnVtYmVyPSQoZXZhbCBlY2hvIFwkUEFORV8kezF9KQ0KKwl0bXV4IGtpbGwtcGFuZSAtdCAk e19fcGFuZV9udW1iZXJ9DQorfQ0KKw0KKyMgcGFuZV9oaWdobGlnaHQoKSAtIEhpZ2hsaWdodCBh IHNpbmdsZSBwYW5lIGdpdmVuIGl0cyBuYW1lDQorIyAkMToJUGFuZSBuYW1lDQorcGFuZV9oaWdo bGlnaHQoKSB7DQorCV9fcGFuZV9udW1iZXI9JChldmFsIGVjaG8gXCRQQU5FXyR7MX0pDQorCXN3 aXRjaF9wYW5lICR7X19wYW5lX251bWJlcn0NCisJc2xlZXAgMw0KK30NCisNCisjIHBhbmVfcmVz aXplKCkgLSBSZXNpemUgYSBwYW5lIGdpdmVuIGl0cyBuYW1lDQorIyAkMToJUGFuZSBuYW1lDQor IyAkMjoJRGlyZWN0aW9uOiBVLCBELCBMLCBvciBSDQorIyAkMzoJQWRqdXN0bWVudCBpbiBsaW5l cyBvciBjb2x1bW5zDQorcGFuZV9yZXNpemUoKSB7DQorCV9fcGFuZV9udW1iZXI9JChldmFsIGVj aG8gXCRQQU5FXyR7MX0pDQorCXRtdXggcmVzaXplLXBhbmUgLSR7Mn0gLXQgJHtfX3BhbmVfbnVt YmVyfSAkezN9DQorfQ0KKw0KKyMgcGFuZV9ydW4oKSAtIElzc3VlIGEgY29tbWFuZCBpbiBnaXZl biBwYW5lIG5hbWUNCisjICQxOglQYW5lIG5hbWUNCisjICRAOglDb21tYW5kIHRvIGlzc3VlDQor cGFuZV9ydW4oKSB7DQorCV9fcGFuZV9uYW1lPSIkezF9Ig0KKwlzaGlmdA0KKw0KKwlfX3BhbmVf bnVtYmVyPSQoZXZhbCBlY2hvIFwkUEFORV8ke19fcGFuZV9uYW1lfSkNCisNCisJZXZhbCAke19f cGFuZV9uYW1lfV9MQVNUX0NNRD1cIlwke0B9XCINCisNCisJY21kX3dyaXRlICR7X19wYW5lX251 bWJlcn0gIiR7QH0iDQorfQ0KKw0KKyMgcGFuZV93YWl0KCkgLSBXYWl0IGZvciBjb21tYW5kIHRv IGJlIGRvbmUgaW4gZ2l2ZW4gcGFuZSBuYW1lDQorIyAkMToJUGFuZSBuYW1lDQorcGFuZV93YWl0 KCkgew0KKwlfX2xjPSIkKGVjaG8gIiR7MX0iIHwgdHIgW0EtWl0gW2Etel0pIg0KKwlzbGVlcCAw LjEgfHwgc2xlZXAgMQ0KKw0KKwlfX2RvbmU9MA0KKwl3aGlsZQ0KKwkJX19sPSIkKHRhaWwgLTEg JHtMT0dESVJ9L3BhbmVfJHtfX2xjfS5sb2cgfCB0ciAtZCBbOmNudHJsOl0pIg0KKwkJY2FzZSAk e19fbH0gaW4NCisJCSckICcgfCAnIyAnIHwgJyMgIyAnIHwgKiIkICIgfCAqIiMgIikgcmV0dXJu IDs7DQorCQkqIiAjW20gIiB8ICoiICNbbSBbSyIgfCAqIl0jIFsiKikgcmV0dXJuIDs7DQorCQkq JyAkIFs2bicgfCAqJyAjIFs2bicgKSByZXR1cm4gOzsNCisJCWVzYWMNCisJZG8gc2xlZXAgMC4x IHx8IHNsZWVwIDE7IGRvbmUNCit9DQorDQorIyBwYW5lX3BhcnNlKCkgLSBQcmludCBsYXN0IGxp bmUsIEBFTVBUWUAgaWYgY29tbWFuZCBoYWQgbm8gb3V0cHV0DQorIyAkMToJUGFuZSBuYW1lDQor cGFuZV9wYXJzZSgpIHsNCisJX19wYW5lX2xjPSIkKGVjaG8gIiR7MX0iIHwgdHIgW0EtWl0gW2Et el0pIg0KKw0KKwlfX2J1Zj0iJCh0YWlsIC1uMiAke0xPR0RJUn0vcGFuZV8ke19fcGFuZV9sY30u bG9nIHwgaGVhZCAtbjEgfCBzZWQgJ3MvXlteXHJdKlxyXChbXlxyXVwpL1wxLycgfCB0ciAtZCAn XHJcbicpIg0KKw0KKwlbICIjICQoZXZhbCBwcmludGYgJyVzJyBcIlwkJHsxfV9MQVNUX0NNRFwi KSIgIT0gIiR7X19idWZ9IiBdICYmIFwNCisJWyAiJCAkKGV2YWwgcHJpbnRmICclcycgXCJcJCR7 MX1fTEFTVF9DTURcIikiICE9ICIke19fYnVmfSIgXSAmJg0KKwkJcHJpbnRmICclcycgIiR7X19i dWZ9IiB8fCBwcmludGYgJ0BFTVBUWUAnDQorfQ0KKw0KKyMgcGFuZV9zdGF0dXMoKSAtIFdhaXQg Zm9yIGNvbW1hbmQgdG8gY29tcGxldGUgYW5kIHJldHVybiBpdHMgZXhpdCBzdGF0dXMNCisjICQx OglQYW5lIG5hbWUNCitwYW5lX3N0YXR1cygpIHsNCisJcGFuZV93YWl0ICIkezF9Ig0KKw0KKwlb ICR7REVNT30gLWVxIDEgXSAmJiByZXR1cm4gMA0KKw0KKwlfX3N0YXR1cz0iJChwYW5lX3BhcnNl ICIkezF9IikiDQorCXdoaWxlICEgWyAiJHtfX3N0YXR1c30iIC1lcSAiJHtfX3N0YXR1c30iIF0g Mj4vZGV2L251bGw7IGRvDQorCQlzbGVlcCAxDQorCQlwYW5lX3J1biAiJHsxfSIgJ2VjaG8gJD8n DQorCQlwYW5lX3dhaXQgIiR7MX0iDQorCQlfX3N0YXR1cz0iJChwYW5lX3BhcnNlICIkezF9Iiki DQorCWRvbmUNCisJcmV0dXJuICR7X19zdGF0dXN9DQorfQ0KKw0KKyMgcGFuZV93YXRjaF9jb250 ZXh0KCkgLSBTZXQgdXAgcGFuZSB0byB3YXRjaCBjb21tYW5kcyBleGVjdXRpbmcgaW4gY29udGV4 dChzKQ0KKyMgJDE6CVBhbmUgbnVtYmVyDQorIyAkMjoJRGVzY3JpcHRpb24gKGZvciBwYW5lIGxh YmVsKQ0KKyMgJEA6CUNvbnRleHQgbmFtZSBvciBuYW1lcw0KK3BhbmVfd2F0Y2hfY29udGV4dHMo KSB7DQorCV9fcGFuZV9udW1iZXI9IiR7MX0iDQorCV9fZGVzYz0iJHsyfSINCisJc2hpZnQgMg0K KwlfX25hbWU9IiR7Mn0iDQorDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtfX3BhbmVfbnVtYmVy fSAtVCAiJHtfX2Rlc2N9Ig0KKwlfX2NtZD0idGFpbCAtZiAtLXJldHJ5Ig0KKwlmb3IgYzsgZG8N CisJCV9fY21kPSIke19fY21kfSAke0xPR0RJUn0vY29udGV4dF8ke2N9LmxvZyINCisJZG9uZQ0K KwljbWRfd3JpdGUgJHtfX3BhbmVfbnVtYmVyfSAiJHtfX2NtZH0iDQorfQ0KKw0KKyMgcGFuZV9v cl9jb250ZXh0X3J1bigpIC0gSXNzdWUgYSBjb21tYW5kIGluIGdpdmVuIGNvbnRleHQgb3IgcGFu ZQ0KKyMgJDE6CUNvbnRleHQgb3IgbG93ZXItY2FzZSBwYW5lIG5hbWUNCisjICRAOglDb21tYW5k IHRvIGlzc3VlDQorcGFuZV9vcl9jb250ZXh0X3J1bigpIHsNCisJX19uYW1lPSIkezF9Ig0KKwlz aGlmdA0KKwlpZiBjb250ZXh0X2V4aXN0cyAiJHtfX25hbWV9IjsgdGhlbg0KKwkJIyBSZWRpcmVj dCBzdGRpbiB0byBzdG9wIHNzaCBmcm9tIGVhdGluZyB0aGUgdGVzdCBpbnN0cnVjdGlvbnMgZmls ZSB3ZSBoYXZlIG9uIHN0ZGluDQorCQljb250ZXh0X3J1biAiJHtfX25hbWV9IiAiJEAiID4vZGV2 L251bGwgMj4mMSA8IC9kZXYvbnVsbA0KKwllbHNlDQorCQlfX3VjPSIkKGVjaG8gIiR7X19uYW1l fSIgfCB0ciBbYS16XSBbQS1aXSkiDQorCQlwYW5lX3J1biAiJHtfX3VjfSIgIiRAIg0KKwkJcGFu ZV9zdGF0dXMgIiR7X191Y30iDQorCWZpDQorfQ0KKw0KKyMgcGFuZV9vcl9jb250ZXh0X3J1bl9i ZygpIC0gSXNzdWUgYSBiYWNrZ3JvdW5kIGNvbW1hbmQgaW4gZ2l2ZW4gY29udGV4dCBvciBwYW5l DQorIyAkMToJQ29udGV4dCBvciBsb3dlci1jYXNlIHBhbmUgbmFtZQ0KKyMgJEA6CUNvbW1hbmQg dG8gaXNzdWUNCitwYW5lX29yX2NvbnRleHRfcnVuX2JnKCkgew0KKwlfX25hbWU9IiR7MX0iDQor CXNoaWZ0DQorCWlmIGNvbnRleHRfZXhpc3RzICIke19fbmFtZX0iOyB0aGVuDQorCQkjIFJlZGly ZWN0IHN0ZGluIHRvIHN0b3Agc3NoIGZyb20gZWF0aW5nIHRoZSB0ZXN0IGluc3RydWN0aW9ucyBm aWxlIHdlIGhhdmUgb24gc3RkaW4NCisJCWNvbnRleHRfcnVuX2JnICIke19fbmFtZX0iICIkQCIg Pi9kZXYvbnVsbCAyPiYxIDwgL2Rldi9udWxsDQorCWVsc2UNCisJCV9fdWM9IiQoZWNobyAiJHtf X25hbWV9IiB8IHRyIFthLXpdIFtBLVpdKSINCisJCXBhbmVfcnVuICIke19fdWN9IiAiJEAiDQor CWZpDQorfQ0KKw0KKyMgcGFuZV9vcl9jb250ZXh0X291dHB1dCgpIC0gR2V0IG91dHB1dCBmcm9t IGEgY29tbWFuZCBpbiBhIGNvbnRleHQgb3IgcGFuZQ0KKyMgJDE6CUNvbnRleHQgb3IgbG93ZXIt Y2FzZSBwYW5lIG5hbWUNCisjICRAOglDb21tYW5kIHRvIGlzc3VlDQorcGFuZV9vcl9jb250ZXh0 X291dHB1dCgpIHsNCisJX19uYW1lPSIkezF9Ig0KKwlzaGlmdA0KKwlpZiBjb250ZXh0X2V4aXN0 cyAiJHtfX25hbWV9IjsgdGhlbg0KKwkJIyBSZWRpcmVjdCBzdGRpbiB0byBzdG9wIHNzaCBmcm9t IGVhdGluZyB0aGUgdGVzdCBpbnN0cnVjdGlvbnMgZmlsZSB3ZSBoYXZlIG9uIHN0ZGluDQorCQlf X291dHB1dD0kKGNvbnRleHRfcnVuICIke19fbmFtZX0iICIkQCIgMj4vZGV2L251bGwgPC9kZXYv bnVsbCkNCisJCWlmIFsgLXogIiR7X19vdXRwdXR9IiBdOyB0aGVuDQorCQkJZWNobyAiQEVNUFRZ QCINCisJCWVsc2UNCisJCQllY2hvICIke19fb3V0cHV0fSINCisJCWZpDQorCWVsc2UNCisJCV9f dWM9IiQoZWNobyAiJHtfX25hbWV9IiB8IHRyIFthLXpdIFtBLVpdKSINCisJCXBhbmVfcnVuICIk e19fdWN9IiAiJEAiDQorCQlwYW5lX3dhaXQgIiR7X191Y30iDQorCQlwYW5lX3BhcnNlICIke19f dWN9Ig0KKwlmaQ0KK30NCisNCisjIHBhbmVfb3JfY29udGV4dF93YWl0KCkgLSBXYWl0IGZvciBh IGNvbW1hbmQgdG8gYmUgZG9uZSBpbiBhIGNvbnRleHQgb3IgcGFuZQ0KKyMgJDE6CUNvbnRleHQg b3IgbG93ZXItY2FzZSBwYW5lIG5hbWUNCitwYW5lX29yX2NvbnRleHRfd2FpdCgpIHsNCisJX19u YW1lPSIkezF9Ig0KKwlzaGlmdA0KKwlpZiBjb250ZXh0X2V4aXN0cyAiJHtfX25hbWV9IjsgdGhl bg0KKwkJY29udGV4dF93YWl0ICIke19fbmFtZX0iDQorCWVsc2UNCisJCV9fdWM9IiQoZWNobyAi JHtfX25hbWV9IiB8IHRyIFthLXpdIFtBLVpdKSINCisJCXBhbmVfd2FpdCAiJHtfX3VjfSINCisJ ZmkNCit9DQorDQorIyBzdGF0dXNfZmlsZV9lbmQoKSAtIERpc3BsYXkgYW5kIGxvZyBtZXNzYWdl cyB3aGVuIHRlc3RzIGZyb20gb25lIGZpbGUgYXJlIGRvbmUNCitzdGF0dXNfZmlsZV9lbmQoKSB7 DQorCVsgLXogIiR7U1RBVFVTX0ZJTEV9IiBdICYmIHJldHVybg0KKw0KKwlpbmZvX3NlcCAiPSIN CisJbG9nDQorCXRtdXggc2VsZWN0LXBhbmUgLXQgJHtQQU5FX0lORk99IC1UICIiDQorCVNUQVRV U19GSUxFPQ0KK30NCisNCisjIHN0YXR1c19maWxlX3N0YXJ0KCkgLSBEaXNwbGF5IGFuZCBsb2cg bWVzc2FnZXMgd2hlbiB0ZXN0cyBmcm9tIG9uZSBmaWxlIHN0YXJ0DQorc3RhdHVzX2ZpbGVfc3Rh cnQoKSB7DQorCXN3aXRjaF9wYW5lICR7UEFORV9JTkZPfQ0KKw0KKwlzdGF0dXNfZmlsZV9lbmQN CisNCisJaW5mb19ub2xvZyAiU3RhcnRpbmcgdGVzdHMgaW4gZmlsZTogJHsxfVxuIg0KKwlsb2cg Ij09PSAkezF9Ig0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfSAtVCAiJHsxfSIN CisNCisJU1RBVFVTX0ZJTEU9IiR7MX0iDQorCVNUQVRVU19GSUxFX05URVNUUz0iJHsyfSINCisJ U1RBVFVTX0ZJTEVfSU5ERVg9MA0KK30NCisNCisjIHN0YXR1c19maWxlX3N0YXJ0KCkgLSBEaXNw bGF5IGFuZCBsb2cgbWVzc2FnZXMgd2hlbiBhIHNpbmdsZSB0ZXN0IHN0YXJ0cw0KK3N0YXR1c190 ZXN0X3N0YXJ0KCkgew0KKwlzd2l0Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJaW5mb19ub2xv ZyAiU3RhcnRpbmcgdGVzdDogJHsxfSINCisJbG9nICI+ICR7MX0iDQorDQorCVNUQVRVU19GSUxF X0lOREVYPSQoKFNUQVRVU19GSUxFX0lOREVYICsgMSkpDQorCXRtdXggc2VsZWN0LXBhbmUgLXQg JHtQQU5FX0lORk99IC1UICIke1NUQVRVU19GSUxFfSBbJHtTVEFUVVNfRklMRV9JTkRFWH0vJHtT VEFUVVNfRklMRV9OVEVTVFN9XSAtICR7MX0iDQorfQ0KKw0KKyMgaW5mb19jaGVjaygpIC0gRGlz cGxheSBhbmQgbG9nIG1lc3NhZ2VzIGZvciBhIHNpbmdsZSB0ZXN0IGNvbmRpdGlvbiBjaGVjaw0K K2luZm9fY2hlY2soKSB7DQorCXN3aXRjaF9wYW5lICR7UEFORV9JTkZPfQ0KKw0KKwlwcmludGYg IiR7UFJfWUVMTE9XfT8ke1BSX05DfSAke0B9IiA+PiAkU1RBVEVCQVNFL2xvZ19waXBlDQorCXBy aW50ZiAiPyAke0B9IiA+PiAiJHtMT0dGSUxFfSINCit9DQorDQorIyBpbmZvX2NoZWNrX3Bhc3Nl ZCgpIC0gRGlzcGxheSBhbmQgbG9nIGEgbmV3IGxpbmUgd2hlbiBhIGNoZWNrIHBhc3Nlcw0KK2lu Zm9fY2hlY2tfcGFzc2VkKCkgew0KKwlzd2l0Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJcHJp bnRmICJcbiIgPj4gJFNUQVRFQkFTRS9sb2dfcGlwZQ0KKwlwcmludGYgIlxuIiA+PiAke0xPR0ZJ TEV9DQorfQ0KKw0KKyMgaW5mb19jaGVja19mYWlsZWQoKSAtIERpc3BsYXkgYW5kIGxvZyBtZXNz YWdlcyB3aGVuIGEgY2hlY2sgZmFpbHMNCitpbmZvX2NoZWNrX2ZhaWxlZCgpIHsNCisJc3dpdGNo X3BhbmUgJHtQQU5FX0lORk99DQorDQorCXByaW50ZiAiICR7UFJfUkVEfSEke1BSX05DfVxuIiA+ PiAkU1RBVEVCQVNFL2xvZ19waXBlDQorCXByaW50ZiAiIDwgZmFpbGVkLlxuIiA+PiAiJHtMT0dG SUxFfSINCit9DQorDQorIyBpbmZvX3Bhc3NlZCgpIC0gRGlzcGxheSwgbG9nLCBhbmQgbWFrZSBz dGF0dXMgYmFyIGJsaW5rIHdoZW4gYSB0ZXN0IHBhc3Nlcw0KK2luZm9fcGFzc2VkKCkgew0KKwlz d2l0Y2hfcGFuZSAke1BBTkVfSU5GT30NCisNCisJaW5mb19ub2xvZyAiLi4uJHtQUl9HUkVFTn1w YXNzZWQke1BSX05DfS5cbiINCisJbG9nICIuLi5wYXNzZWQuIg0KKwlsb2cNCisNCisJZm9yIGkg aW4gYHNlcSAxIDNgOyBkbw0KKwkJdG11eCBzZXQgc3RhdHVzLXJpZ2h0LXN0eWxlICdiZz1jb2xv dXIxIGZnPWNvbG91cjIgYm9sZCcNCisJCXNsZWVwICIwLjEiDQorCQl0bXV4IHNldCBzdGF0dXMt cmlnaHQtc3R5bGUgJ2JnPWNvbG91cjEgZmc9Y29sb3VyMjMzIGJvbGQnDQorCQlzbGVlcCAiMC4x Ig0KKwlkb25lDQorfQ0KKw0KKyMgaW5mb19mYWlsZWQoKSAtIERpc3BsYXksIGxvZywgYW5kIG1h a2Ugc3RhdHVzIGJhciBibGluayB3aGVuIGEgdGVzdCBwYXNzZXMNCitpbmZvX2ZhaWxlZCgpIHsN CisJc3dpdGNoX3BhbmUgJHtQQU5FX0lORk99DQorDQorCWluZm9fbm9sb2cgIi4uLiR7UFJfUkVE fWZhaWxlZCR7UFJfTkN9LlxuIg0KKwlsb2cgIi4uLmZhaWxlZC4iDQorCWxvZw0KKw0KKwlmb3Ig aSBpbiBgc2VxIDEgM2A7IGRvDQorCQl0bXV4IHNldCBzdGF0dXMtcmlnaHQtc3R5bGUgJ2JnPWNv bG91cjEgZmc9Y29sb3VyMTk2IGJvbGQnDQorCQlzbGVlcCAiMC4xIg0KKwkJdG11eCBzZXQgc3Rh dHVzLXJpZ2h0LXN0eWxlICdiZz1jb2xvdXIxIGZnPWNvbG91cjIzMyBib2xkJw0KKwkJc2xlZXAg IjAuMSINCisJZG9uZQ0KKw0KKwlwYXVzZV9jb250aW51ZSBcDQorCQkiUHJlc3MgYW55IGtleSB0 byBwYXVzZSB0ZXN0IHNlc3Npb24iCQlcDQorCQkiUmVzdW1pbmcgaW4gIgkJCQkJXA0KKwkJIlBh dXNlZCwgcHJlc3MgYW55IGtleSB0byBjb250aW51ZSIJCVwNCisJCTUNCit9DQorDQorIyBpbmZv X3NraXBwZWQoKSAtIERpc3BsYXkgYW5kIGxvZyBza2lwcGVkIHRlc3QNCitpbmZvX3NraXBwZWQo KSB7DQorCXN3aXRjaF9wYW5lICR7UEFORV9JTkZPfQ0KKw0KKwlpbmZvX25vbG9nICIuLi4ke1BS X1lFTExPV31za2lwcGVkJHtQUl9OQ30uXG4iDQorCWxvZyAiLi4uc2tpcHBlZC4iDQorCWxvZw0K K30NCisNCisjIGluZm9fbGF5b3V0KCkgLSBEaXNwbGF5IHN0cmluZyBmb3IgbmV3IHRlc3QgbGF5 b3V0DQoraW5mb19sYXlvdXQoKSB7DQorCXN3aXRjaF9wYW5lICR7UEFORV9JTkZPfQ0KKw0KKwlp bmZvX25vbG9nICJUZXN0IGxheW91dDogJHtQUl9CTFVFfSR7QH0ke1BSX05DfS5cbiINCit9DQor DQorIyBzdGF0dXNfdGVzdF9vaygpIC0gVXBkYXRlIGNvdW50ZXIgb2YgcGFzc2VkIHRlc3RzLCBs b2cgYW5kIGRpc3BsYXkgbWVzc2FnZQ0KK3N0YXR1c190ZXN0X29rKCkgew0KKwlTVEFUVVNfUEFT Uz0kKChTVEFUVVNfUEFTUyArIDEpKQ0KKwl0bXV4IHNldCBzdGF0dXMtcmlnaHQgIlBBU1M6ICR7 U1RBVFVTX1BBU1N9IHwgRkFJTDogJHtTVEFUVVNfRkFJTH0gfCAjKFRaPSJVVEMiIGRhdGUgLUlz ZWNvbmRzKSINCisJaW5mb19wYXNzZWQNCit9DQorDQorIyBzdGF0dXNfdGVzdF9mYWlsKCkgLSBV cGRhdGUgY291bnRlciBvZiBmYWlsZWQgdGVzdHMsIGxvZyBhbmQgZGlzcGxheSBtZXNzYWdlDQor c3RhdHVzX3Rlc3RfZmFpbCgpIHsNCisJU1RBVFVTX0ZBSUw9JCgoU1RBVFVTX0ZBSUwgKyAxKSkN CisJdG11eCBzZXQgc3RhdHVzLXJpZ2h0ICJQQVNTOiAke1NUQVRVU19QQVNTfSB8IEZBSUw6ICR7 U1RBVFVTX0ZBSUx9IHwgIyhUWj0iVVRDIiBkYXRlIC1Jc2Vjb25kcykiDQorCWluZm9fZmFpbGVk DQorfQ0KKw0KKyMgc3RhdHVzX3Rlc3RfZmFpbCgpIC0gVXBkYXRlIGNvdW50ZXIgb2YgZmFpbGVk IHRlc3RzLCBsb2cgYW5kIGRpc3BsYXkgbWVzc2FnZQ0KK3N0YXR1c190ZXN0X3NraXAoKSB7DQor CWluZm9fc2tpcHBlZA0KK30NCisNCisjIHRhYmxlX2hlYWRlcigpIC0gUHJpbnQgdGFibGUgaGVh ZGVyIHRvIGxvZyBwYW5lDQorIyAkMToJSGVhZGVyIGRlc2NyaXB0aW9uDQorIyAkQDoJQ29sdW1u IGhlYWRlcnMNCit0YWJsZV9oZWFkZXIoKSB7DQorCXBlcmZfdGggJHtAfQ0KKw0KKwlfX2lmcz0i JHtJRlN9Ig0KKwlJRlM9IiAiDQorDQorCV9fZGVzYz0iJHsxfSINCisJc2hpZnQNCisNCisJX19t YXhfbGVuPTQNCisJX19jb3VudD0wDQorCWZvciBfX2ggaW4gJHtAfTsgZG8NCisJCVsgJHsjX19o fSAtZ3QgJHtfX21heF9sZW59IF0gJiYgX19tYXhfbGVuPSR7I19faH0NCisJCV9fY291bnQ9JCgo X19jb3VudCArIDEpKQ0KKwlkb25lDQorDQorCSMgPiB4eHh4IHw8DQorCV9fb3V0ZXJfbGVuPSQo KF9fbWF4X2xlbiArIDMpKQ0KKwlfX3dpZHRoX2ZpZWxkcz0kKChfX291dGVyX2xlbiAqIF9fY291 bnQgKyAxKSkNCisNCisJVEFCTEVfSEVBREVSX0xFRlQ9JCgoU1RBVFVTX0NPTFMgLSBfX3dpZHRo X2ZpZWxkcykpDQorCVRBQkxFX0NFTExfU0laRT0kKChfX21heF9sZW4gKyAyKSkNCisJVEFCTEVf Q09MUz0ke19fY291bnR9DQorDQorCV9fcGFkX2xlZnQ9JCgoVEFCTEVfSEVBREVSX0xFRlQgLSAk eyNfX2Rlc2N9IC0gMikpDQorCV9fYnVmPSIkKHByaW50ZiAlLSR7X19wYWRfbGVmdH1zJXMgIiIg IiR7X19kZXNjfTogIikiDQorCWZvciBfX2ggaW4gJHtAfTsgZG8NCisJCV9fcGFkX2xlZnQ9JCgo IChUQUJMRV9DRUxMX1NJWkUgLSAkeyNfX2h9ICsgMSkgLyAyKSkNCisJCV9fcGFkX3JpZ2h0PSQo KCAoVEFCTEVfQ0VMTF9TSVpFIC0gJHsjX19ofSkgLyAyKSkNCisJCV9fYnVmPSIke19fYnVmfSQo cHJpbnRmICJ8JS0ke19fcGFkX2xlZnR9cyVzJS0ke19fcGFkX3JpZ2h0fXMiICIiICR7X19ofSAi IikiDQorCWRvbmUNCisNCisJaW5mb19uICIke19fYnVmfXwiDQorDQorCUlGUz0iJHtfX2lmc30i DQorfQ0KKw0KKyMgdGFibGVfcm93KCkgLSBQcmludCBtYWluIHRhYmxlIHJvdyB0byBsb2cgcGFu ZQ0KKyMgJEA6CUNvbHVtbiBoZWFkZXJzDQordGFibGVfcm93KCkgew0KKwlwZXJmX3RyICR7QH0N CisNCisJX19saW5lPSIke0B9Ig0KKwlfX2J1Zj0iJChwcmludGYgJS0ke1RBQkxFX0hFQURFUl9M RUZUfXMgIiIpIg0KKwlmb3IgX19pIGluICQoc2VxIDEgJHtUQUJMRV9DT0xTfSk7IGRvDQorCQlf X2J1Zj0iJHtfX2J1Zn18Ig0KKwkJZm9yIF9faiBpbiAkKHNlcSAxICR7VEFCTEVfQ0VMTF9TSVpF fSk7IGRvDQorCQkJX19idWY9IiR7X19idWZ9LSINCisJCWRvbmUNCisJZG9uZQ0KKwlpbmZvX24g IlxuJHtfX2J1Zn18XG4iDQorDQorCV9fcGFkX2xlZnQ9JCgoIChUQUJMRV9IRUFERVJfTEVGVCAt ICR7I19fbGluZX0gKyAxKSAvIDIpKQ0KKwlfX3BhZF9yaWdodD0kKCggKFRBQkxFX0hFQURFUl9M RUZUIC0gJHsjX19saW5lfSkgLyAyKSkNCisJaW5mb19uICIkKHByaW50ZiAiJS0ke19fcGFkX2xl ZnR9cyVzJS0ke19fcGFkX3JpZ2h0fXN8IiAiIiAiJHtfX2xpbmV9IiAiIikiDQorfQ0KKw0KKyMg dGFibGVfbGluZSgpIC0gUHJpbnQgc2ltcGxlIGxpbmUgdG8gbG9nIHBhbmUNCisjICRAOglDb2x1 bW4gaGVhZGVycw0KK3RhYmxlX2xpbmUoKSB7DQorCXBlcmZfdHIgJHtAfQ0KKw0KKwlfX2xpbmU9 IiR7QH0iDQorCWluZm9fbiAiXG4iDQorDQorCV9fcGFkX2xlZnQ9JCgoIChUQUJMRV9IRUFERVJf TEVGVCAtICR7I19fbGluZX0gKyAxKSAvIDIpKQ0KKwlfX3BhZF9yaWdodD0kKCggKFRBQkxFX0hF QURFUl9MRUZUIC0gJHsjX19saW5lfSkgLyAyKSkNCisJaW5mb19uICIkKHByaW50ZiAiJS0ke19f cGFkX2xlZnR9cyVzJS0ke19fcGFkX3JpZ2h0fXN8IiAiIiAiJHtfX2xpbmV9IiAiIikiDQorfQ0K Kw0KK3RhYmxlX2NlbGwoKSB7DQorCV9fbGVuPSIkezF9Ig0KKwlzaGlmdA0KKw0KKwlfX2NvbnRl bnQ9IiR7QH0iDQorDQorCV9fcGFkX2xlZnQ9JCgoVEFCTEVfQ0VMTF9TSVpFIC0gX19sZW4gLSAx KSkNCisJaW5mb19uICIkKHByaW50ZiAiJS0ke19fcGFkX2xlZnR9cyVzIHwiICIiICIke19fY29u dGVudH0iKSINCit9DQorDQordGFibGVfZW5kKCkgew0KKwlfX2J1Zj0iJChwcmludGYgJS0ke1RB QkxFX0hFQURFUl9MRUZUfXMgIiIpIg0KKwlmb3IgX19pIGluICQoc2VxIDEgJHtUQUJMRV9DT0xT fSk7IGRvDQorCQlfX2J1Zj0iJHtfX2J1Zn0nIg0KKwkJZm9yIF9faiBpbiAkKHNlcSAxICR7VEFC TEVfQ0VMTF9TSVpFfSk7IGRvDQorCQkJX19idWY9IiR7X19idWZ9LSINCisJCWRvbmUNCisJZG9u ZQ0KKwlpbmZvX24gIlxuJHtfX2J1Zn0nXG4iDQorfQ0KKw0KKyMgdGFibGVfdmFsdWUoKSAtIFBy aW50IGdlbmVyaWMgdGFibGUgdmFsdWUgaW4gaXRzIG93biBjZWxsDQorIyAkMToJVmFsdWUsIGNh biBiZSAnLScgdG8gaW5kaWNhdGUgYSBmaWxsZXINCisjICQyOglTY2FsZSwgZXhwb25lbnQgb2Yg MTANCisjICQzOglFcnJvciB2YWx1ZSwgc2NhbGVkOiBpZiB2YWx1ZSBpcyBsZXNzIHRoYW4gdGhp cywgcHJpbnQgaW4gcmVkDQorIyAkNDoJV2FybmluZyB2YWx1ZSwgc2NhbGVkOiBpZiB2YWx1ZSBp cyBsZXNzIHRoYW4gdGhpcywgcHJpbnQgaW4geWVsbG93DQordGFibGVfdmFsdWUoKSB7DQorCVsg IiR7MX0iID0gIi0iIF0gJiYgdGFibGVfY2VsbCAxICItIiAmJiBwZXJmX3RkIDAgIiIgJiYgcmV0 dXJuIDANCisJaWYgWyAiJHsyfSIgIT0gIjAiIF07IHRoZW4NCisJCV9fdj0iJChlY2hvICJzY2Fs ZT0xOyB4PSggJHsxfSArIDEwXiQoKCR7Mn0gLSAxKSkgLyAyICkgLyAxMF4kezJ9OyBpZiAoIHgg PCAxICYmIHggPiAwICkgcHJpbnQgMDsgeCIgfCBiYyAtbCkiDQorCWVsc2UNCisJCV9fdj0iJHsx fSINCisJZmkNCisJcGVyZl90ZCAwICIke19fdn0iDQorDQorCV9fcmVkPSIkezN9Ig0KKwlfX3ll bGxvdz0iJHs0fSINCisJaWYgWyAiJChlY2hvICIke19fdn0gPCAke19fcmVkfSIgfCBiYyAtbCki ID0gIjEiIF07IHRoZW4NCisJCXRhYmxlX2NlbGwgJHsjX192fSAiJHtQUl9SRUR9JHtfX3Z9JHtQ Ul9OQ30iDQorCQlyZXR1cm4gMQ0KKwllbGlmIFsgIiQoZWNobyAiJHtfX3Z9IDwgJHtfX3llbGxv d30iIHwgYmMgLWwpIiA9ICIxIiBdOyB0aGVuDQorCQl0YWJsZV9jZWxsICR7I19fdn0gIiR7UFJf WUVMTE9XfSR7X192fSR7UFJfTkN9Ig0KKwkJcmV0dXJuIDENCisJZWxzZQ0KKwkJdGFibGVfY2Vs bCAkeyNfX3Z9ICIke1BSX0dSRUVOfSR7X192fSR7UFJfTkN9Ig0KKwkJcmV0dXJuIDANCisJZmkN Cit9DQorDQordGFibGVfdmFsdWVfdGhyb3VnaHB1dCgpIHsNCisJWyAiJHsxfSIgPSAiLSIgXSAm JiB0YWJsZV9jZWxsIDEgIi0iICYmIHBlcmZfdGQgMCAiIiAmJiByZXR1cm4gMA0KKwlfX3Y9IiQo ZWNobyAic2NhbGU9MTsgeD0oICR7MX0gKyAxMF44IC8gMiApIC8gMTBeOTsgaWYgKCB4IDwgMSAm JiB4ID4gMCApIHByaW50IDA7IHgiIHwgYmMgLWwpIg0KKwlwZXJmX3RkIDMxICIke19fdn0iDQor DQorCV9fcmVkPSIkezJ9Ig0KKwlfX3llbGxvdz0iJHszfSINCisJaWYgWyAiJChlY2hvICIke19f dn0gPCAke19fcmVkfSIgfCBiYyAtbCkiID0gIjEiIF07IHRoZW4NCisJCXRhYmxlX2NlbGwgJHsj X192fSAiJHtQUl9SRUR9JHtfX3Z9JHtQUl9OQ30iDQorCQlyZXR1cm4gMQ0KKwllbGlmIFsgIiQo ZWNobyAiJHtfX3Z9IDwgJHtfX3llbGxvd30iIHwgYmMgLWwpIiA9ICIxIiBdOyB0aGVuDQorCQl0 YWJsZV9jZWxsICR7I19fdn0gIiR7UFJfWUVMTE9XfSR7X192fSR7UFJfTkN9Ig0KKwkJcmV0dXJu IDENCisJZWxzZQ0KKwkJdGFibGVfY2VsbCAkeyNfX3Z9ICIke1BSX0dSRUVOfSR7X192fSR7UFJf TkN9Ig0KKwkJcmV0dXJuIDANCisJZmkNCit9DQorDQordGFibGVfdmFsdWVfbGF0ZW5jeSgpIHsN CisJWyAiJHsxfSIgPSAiLSIgXSAmJiB0YWJsZV9jZWxsIDEgIi0iICYmIHBlcmZfdGQgMCAiIiAm JiByZXR1cm4gMA0KKw0KKwlfX3Y9IiQoZWNobyAic2NhbGU9NjsgMSAvICR7MX0gKiAxMF42IiB8 IGJjIC1sKSINCisJX192PSIke19fdiUuKn0iDQorDQorCXBlcmZfdGQgMTEgIiR7X192fSINCisN CisJX19yZWQ9IiR7Mn0iDQorCV9feWVsbG93PSIkezN9Ig0KKwlpZiBbICIkKGVjaG8gIiR7X192 fSA+ICR7X19yZWR9IiB8IGJjIC1sKSIgPSAiMSIgXTsgdGhlbg0KKwkJdGFibGVfY2VsbCAkeyNf X3Z9ICIke1BSX1JFRH0ke19fdn0ke1BSX05DfSINCisJCXJldHVybiAxDQorCWVsaWYgWyAiJChl Y2hvICIke19fdn0gPiAke19feWVsbG93fSIgfCBiYyAtbCkiID0gIjEiIF07IHRoZW4NCisJCXRh YmxlX2NlbGwgJHsjX192fSAiJHtQUl9ZRUxMT1d9JHtfX3Z9JHtQUl9OQ30iDQorCQlyZXR1cm4g MQ0KKwllbHNlDQorCQl0YWJsZV9jZWxsICR7I19fdn0gIiR7UFJfR1JFRU59JHtfX3Z9JHtQUl9O Q30iDQorCQlyZXR1cm4gMA0KKwlmaQ0KK30NCisNCisjIHBhdXNlX2NvbnRpbnVlKCkgLSBQYXVz ZSBmb3IgYSB3aGlsZSwgd2FpdCBmb3Iga2V5c3Ryb2tlLCByZXN1bWUgb24gc2Vjb25kIG9uZQ0K K3BhdXNlX2NvbnRpbnVlKCkgew0KKwl0bXV4IHNlbGVjdC1wYW5lIC10ICR7UEFORV9JTkZPfQ0K KwlpbmZvX25vbG9nICIkezF9Ig0KKwlpbmZvX25vbG9nX24gIiR7Mn0iDQorDQorCV9fcGF1c2Vf dG1wPSIke1NUQVRFQkFTRX0vcGF1c2UudG1wIg0KKwllY2hvID4gIiR7X19wYXVzZV90bXB9Ig0K Kwl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfSU5GT30gImNhdCA+PiAke19fcGF1c2VfdG1w fSINCisJX19wYW5lX2J1Zj0NCisJX193YWl0PTANCisJc2xlZXAgMQ0KKwlmb3IgX19pIGluICQo c2VxICR7NH0gLTEgMCk7IGRvDQorCQlpZiBbICIkKHRhaWwgLW4xICR7X19wYXVzZV90bXB9IHwg dHIgLWQgLWMgWzpwcmludDpdKSIgIT0gIiR7X19wYW5lX2J1Zn0iIF07IHRoZW4NCisJCQlfX3dh aXQ9MQ0KKwkJCWJyZWFrDQorCQlmaQ0KKw0KKwkJaWYgWyAke19faX0gLW5lICR7NH0gXTsgdGhl bg0KKwkJCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSBCc3BhY2UNCisJCQl0bXV4IHNl bmQta2V5cyAtdCAke1BBTkVfSU5GT30gQnNwYWNlDQorCQkJX19wYW5lX2J1Zj0iJHtfX3BhbmVf YnVmfSAgIg0KKwkJZmkNCisJCWluZm9fbm9sb2dfbiAiJHtfX2l9ICINCisJCV9fcGFuZV9idWY9 IiR7X19wYW5lX2J1Zn0ke19faX0gIg0KKwkJc2xlZXAgMQ0KKwlkb25lDQorDQorCWlmIFsgJHtf X3dhaXR9IC1lcSAxIF07IHRoZW4NCisJCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSBC c3BhY2UNCisJCXRtdXggc2VuZC1rZXlzIC10ICR7UEFORV9JTkZPfSBCc3BhY2UNCisJCWluZm9f bm9sb2cgIiINCisJCWluZm9fbm9sb2cgIiR7M30iDQorCQlfX3BhbmVfYnVmPSIkKHRhaWwgLW4x ICR7X19wYXVzZV90bXB9KSINCisJCXdoaWxlIHRydWU7IGRvDQorCQkJWyAiJCh0YWlsIC1uMSAk e19fcGF1c2VfdG1wfSkiICE9ICIke19fcGFuZV9idWZ9IiBdICYmIGJyZWFrDQorCQkJc2xlZXAg MQ0KKwkJZG9uZQ0KKwlmaQ0KKwl0bXV4IHBpcGUtcGFuZSAtTyAtdCAke1BBTkVfSU5GT30gIiIN CisJcm0gIiR7X19wYXVzZV90bXB9Ig0KKwlpbmZvX25vbG9nICIiDQorfQ0KKw0KKyMgcnVuX3Rl cm0oKSAtIFN0YXJ0IHRtdXggc2Vzc2lvbiwgcnVubmluZyBlbnRyeSBwb2ludCwgd2l0aCByZWNv cmRpbmcgaWYgbmVlZGVkDQorcnVuX3Rlcm0oKSB7DQorCVRNVVg9InRtdXggbmV3LXNlc3Npb24g LXMgcGFzc3RfdGVzdCAtZVNUQVRFQkFTRT0kU1RBVEVCQVNFIC1lUENBUD0kUENBUCAtZURFQlVH PSRERUJVRyINCisNCisJaWYgWyAke0NJfSAtZXEgMSBdOyB0aGVuDQorCQlwcmludGYgJ1xlWzg7 NTA7MjQwdCcNCisJCWFzY2lpbmVtYSByZWMgLS1vdmVyd3JpdGUgIiR7U1RBVEVCQVNFfS9jaS51 bmN1dCIgLWMgIiRUTVVYIC9iaW4vc2ggLWMgJy4vY2kgZnJvbV90ZXJtJyINCisJCXZpZGVvX3Bv c3Rwcm9jZXNzICIke1NUQVRFQkFTRX0vY2kudW5jdXQiDQorCWVsaWYgWyAke0RFTU99IC1lcSAx IF07IHRoZW4NCisJCXByaW50ZiAnXGVbODs0MDsxMzB0Jw0KKwkJYXNjaWluZW1hIHJlYyAtLW92 ZXJ3cml0ZSAiJHtTVEFURUJBU0V9L2RlbW8udW5jdXQiIC1jICIkVE1VWCAvYmluL3NoIC1jICcu L3J1bl9kZW1vIGZyb21fdGVybSciDQorCQl2aWRlb19wb3N0cHJvY2VzcyAiJHtTVEFURUJBU0V9 L2RlbW8udW5jdXQiDQorCWVsc2UNCisJCSRUTVVYIC9iaW4vc2ggLWMgIi4vcnVuIGZyb21fdGVy bSAkeyp9Ig0KKwlmaQ0KK30NCisNCisjIHRlcm0oKSAtIFNldCB1cCB0ZXJtaW5hbCB3aW5kb3cg YW5kIHBhbmVzIGZvciByZWd1bGFyIHRlc3RzIG9yIENJDQordGVybSgpIHsNCisJdG11eCBzZXQt b3B0aW9uIGRlZmF1bHQtc2hlbGwgIi9iaW4vc2giDQorDQorCXRtdXggc2V0IHN0YXR1cy1pbnRl cnZhbCAxDQorCXRtdXggcmVuYW1lLXdpbmRvdyAnJw0KKw0KKwl0bXV4IHNldCB3aW5kb3ctc3Rh dHVzLWZvcm1hdCAnI1cnDQorCXRtdXggc2V0IHdpbmRvdy1zdGF0dXMtY3VycmVudC1mb3JtYXQg JyNXJw0KKwl0bXV4IHNldCBzdGF0dXMtbGVmdCAnJw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVz LXNlcGFyYXRvciAnJw0KKw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLXN0eWxlICdiZz1jb2xv dXIxIGZnPWNvbG91cjIzMyBib2xkJw0KKwl0bXV4IHNldCBzdGF0dXMtc3R5bGUgJ2JnPWNvbG91 cjEgZmc9Y29sb3VyMjMzIGJvbGQnDQorCXRtdXggc2V0IHN0YXR1cy1yaWdodC1zdHlsZSAnYmc9 Y29sb3VyMSBmZz1jb2xvdXIyMzMgYm9sZCcNCisNCisJdG11eCBuZXctd2luZG93IC1uICJUZXN0 aW5nIGNvbW1pdDogJHtDT01NSVR9Ig0KKw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLWZvcm1h dCAnI1cnDQorCXRtdXggc2V0IHdpbmRvdy1zdGF0dXMtY3VycmVudC1mb3JtYXQgJyNXJw0KKwl0 bXV4IHNldCBzdGF0dXMtbGVmdCAnJw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLXNlcGFyYXRv ciAnJw0KKw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLWN1cnJlbnQtc3R5bGUgJ2JnPWNvbG91 cjEgZmc9Y29sb3VyMjMzIGJvbGQnDQorCXRtdXggc2V0IHN0YXR1cy1yaWdodCAnIyhUWj0iVVRD IiBkYXRlIC1Jc2Vjb25kcyknDQorCXRtdXggc2V0IHN0YXR1cy1yaWdodC1sZW5ndGggNTANCisJ dG11eCBzZXQgc3RhdHVzLXJpZ2h0LXN0eWxlICdiZz1jb2xvdXIxIGZnPWNvbG91cjIzMyBib2xk Jw0KKw0KKwl0bXV4IHNldCBoaXN0b3J5LWxpbWl0IDUwMDAwMA0KKwl0bXV4IHNlbGVjdC1wYW5l IC10IDAgLVQgJycNCisJdG11eCBzZXQgcGFuZS1ib3JkZXItZm9ybWF0ICcjVCcNCisJdG11eCBz ZXQgcGFuZS1ib3JkZXItc3R5bGUgJ2ZnPWNvbG91cjIgYmc9Y29sb3VyMjMzJw0KKwl0bXV4IHNl dCBwYW5lLWFjdGl2ZS1ib3JkZXItc3R5bGUgJ2ZnPWNvbG91cjIzMyBiZz1jb2xvdXI0IGJvbGQn DQorCXRtdXggc2V0IHBhbmUtYm9yZGVyLXN0YXR1cyBib3R0b20NCit9DQorDQorIyB0ZXJtX2Rl bW8oKSAtIFNldCB1cCB0ZXJtaW5hbCB3aW5kb3cgYW5kIHBhbmVzIGZvciBkZW1vDQordGVybV9k ZW1vKCkgew0KKwl0bXV4IHNldC1vcHRpb24gZGVmYXVsdC1zaGVsbCAiL2Jpbi9zaCINCisNCisJ dG11eCBzZXQgc3RhdHVzLWludGVydmFsIDENCisJdG11eCByZW5hbWUtd2luZG93ICcnDQorDQor CXRtdXggc2V0IHdpbmRvdy1zdGF0dXMtZm9ybWF0ICcjVycNCisJdG11eCBzZXQgd2luZG93LXN0 YXR1cy1jdXJyZW50LWZvcm1hdCAnI1cnDQorCXRtdXggc2V0IHN0YXR1cy1sZWZ0ICcnDQorCXRt dXggc2V0IHdpbmRvdy1zdGF0dXMtc2VwYXJhdG9yICcnDQorDQorCXRtdXggc2V0IHdpbmRvdy1z dGF0dXMtc3R5bGUgJ2JnPWNvbG91cjEgZmc9Y29sb3VyMTUgYm9sZCcNCisJdG11eCBzZXQgc3Rh dHVzLXJpZ2h0ICcnDQorCXRtdXggc2V0IHN0YXR1cy1zdHlsZSAnYmc9Y29sb3VyMSBmZz1jb2xv dXIxNSBib2xkJw0KKwl0bXV4IHNldCBzdGF0dXMtcmlnaHQtc3R5bGUgJ2JnPWNvbG91cjEgZmc9 Y29sb3VyMTUgYm9sZCcNCisNCisJdG11eCBuZXctd2luZG93IC1uICJEZW1vIGF0IGNvbW1pdDog JHtDT01NSVR9Ig0KKw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLWZvcm1hdCAnI1cnDQorCXRt dXggc2V0IHdpbmRvdy1zdGF0dXMtY3VycmVudC1mb3JtYXQgJyNXJw0KKwl0bXV4IHNldCBzdGF0 dXMtbGVmdCAnJw0KKwl0bXV4IHNldCB3aW5kb3ctc3RhdHVzLXNlcGFyYXRvciAnJw0KKw0KKwl0 bXV4IHNlbGVjdC1wYW5lIC10IDAgLVQgJycNCisJdG11eCBzZXQgcGFuZS1ib3JkZXItZm9ybWF0 ICcjVCcNCisJdG11eCBzZXQgcGFuZS1ib3JkZXItc3R5bGUgJ2ZnPWNvbG91cjIgYmc9Y29sb3Vy MjMzJw0KKwl0bXV4IHNldCBwYW5lLWFjdGl2ZS1ib3JkZXItc3R5bGUgJ2ZnPWNvbG91cjE1IGJn PWNvbG91cjQgYm9sZCcNCisJdG11eCBzZXQgcGFuZS1ib3JkZXItc3RhdHVzIGJvdHRvbQ0KK30N CmRpZmYgLS1naXQgYS9vbGR0ZXN0L2xpYi90ZXN0IGIvb2xkdGVzdC9saWIvdGVzdA0KbmV3IGZp bGUgbW9kZSAxMDA3NTUNCmluZGV4IDAwMDAwMDAuLjYwYmRhZTkNCi0tLSAvZGV2L251bGwNCisr KyBiL29sZHRlc3QvbGliL3Rlc3QNCkBAIC0wLDAgKzEsMzk4IEBADQorIyEvYmluL3NoDQorIw0K KyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNT VCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9t YWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFj dGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0 ZXN0L2xpYi90ZXN0IC0gTGlzdCB0ZXN0cyBhbmQgcnVuIHRoZW0sIGV2YWx1YXRpbmcgZGlyZWN0 aXZlcyBmcm9tIGZpbGVzDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0K KyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KKyMgdGVz dF9pcGVyZjMoKSAtIFVnbHkgaGVscGVyIGZvciBpcGVyZjMgZGlyZWN0aXZlDQorIyAkMToJVmFy aWFibGUgbmFtZTogdG8gcHV0IHRoZSBtZWFzdXJlIGJhbmR3aWR0aCBpbnRvDQorIyAkMjoJU291 cmNlL2NsaWVudCBjb250ZXh0DQorIyAkMzoJRGVzdGluYXRpb24vc2VydmVyIGNvbnRleHQNCisj ICQ0OglEZXN0aW5hdGlvbiBuYW1lIG9yIGFkZHJlc3MgZm9yIGNsaWVudA0KKyMgJDU6CVBvcnQg bnVtYmVyLCAke2l9IGlzIHRyYW5zbGF0ZWQgdG8gcHJvY2VzcyBpbmRleA0KKyMgJDY6CU51bWJl ciBvZiBwcm9jZXNzZXMgdG8gcnVuIGluIHBhcmFsbGVsDQorIyAkNzoJUnVuIHRpbWUsIGluIHNl Y29uZHMNCisjICRAOglDbGllbnQgb3B0aW9ucw0KK3Rlc3RfaXBlcmYzKCkgew0KKwlfX3Zhcj0i JHsxfSI7IHNoaWZ0DQorCV9fY2N0eD0iJHsxfSI7IHNoaWZ0DQorCV9fc2N0eD0iJHsxfSI7IHNo aWZ0DQorCV9fZGVzdD0iJHsxfSI7IHNoaWZ0DQorCV9fcG9ydD0iJHsxfSI7IHNoaWZ0DQorCV9f cHJvY3M9IiQoKCR7MX0gLSAxKSkiOyBzaGlmdA0KKwlfX3RpbWU9IiR7MX0iOyBzaGlmdA0KKw0K KwlwYW5lX29yX2NvbnRleHRfcnVuICIke19fc2N0eH0iICdybSAtZiBzKi5qc29uJw0KKw0KKwlw YW5lX29yX2NvbnRleHRfcnVuX2JnICIke19fc2N0eH0iIAkJCQlcDQorCQkgJ2ZvciBpIGluICQo c2VxIDAgJyR7X19wcm9jc30nKTsgZG8nCQkJXA0KKwkJICcJKGlwZXJmMyAtczFKIC1wJyR7X19w b3J0fScgLWknJHtfX3RpbWV9CQlcDQorCQkgJwkgPiBzJHtpfS5qc29uKSAmJwkJCQlcDQorCQkg JwllY2hvICQhID4gcyR7aX0ucGlkICYnCQkJCVwNCisJCSAnZG9uZScJCQkJCQkJXA0KKw0KKwlz bGVlcCAxCQkjIFdhaXQgZm9yIHNlcnZlciB0byBiZSByZWFkeQ0KKw0KKwlwYW5lX29yX2NvbnRl eHRfcnVuX2JnICIke19fY2N0eH0iIAkJCQlcDQorCQkgJygnCQkJCQkJCVwNCisJCSAnCWZvciBp IGluICQoc2VxIDAgJyR7X19wcm9jc30nKTsgZG8nCQlcDQorCQkgJwkJaXBlcmYzIC1jICcke19f ZGVzdH0nIC1wICcke19fcG9ydH0JXA0KKwkJICcJCSAtdCcke19fdGltZX0nIC1pMCAtVCBzJHtp fSAnIiR7QH0iJyAmJyBcDQorCQkgJwlkb25lOycJCQkJCQlcDQorCQkgJwl3YWl0JwkJCQkJCVwN CisJCSAnKScNCisNCisJc2xlZXAgJCgoX190aW1lICsgNSkpDQorDQorCSMgSWYgY2xpZW50IGZh aWxzIHRvIGRlbGl2ZXIgY29udHJvbCBtZXNzYWdlLCB0ZWxsIHNlcnZlciB3ZSdyZSBkb25lDQor CXBhbmVfb3JfY29udGV4dF9ydW4gIiR7X19zY3R4fSIgJ2tpbGwgLUlOVCAkKGNhdCBzKi5waWQp OyBybSBzKi5waWQnDQorDQorCXNsZWVwIDEJCSMgLi4uYW5kIHdhaXQgZm9yIG91dHB1dCB0byBi ZSBmbHVzaGVkDQorDQorCV9fanZhbD0iLmVuZC5zdW1fcmVjZWl2ZWQuYml0c19wZXJfc2Vjb25k Ig0KKwlmb3IgX19vcHQgaW4gJHtAfTsgZG8NCisJCSMgVURQIHRlc3QNCisJCVsgIiR7X19vcHR9 IiA9ICItdSIgXSAmJiBfX2p2YWw9Ii5pbnRlcnZhbHNbMF0uc3VtLmJpdHNfcGVyX3NlY29uZCIN CisJZG9uZQ0KKw0KKwlfX2J3PSQocGFuZV9vcl9jb250ZXh0X291dHB1dCAiJHtfX3NjdHh9IgkJ CVwNCisJCSAnY2F0IHMqLmpzb24gfCBqcSAtck1zICJtYXAoJyR7X19qdmFsfScpIHwgYWRkIicp DQorDQorCVRFU1RfT05FX3N1YnM9IiQobGlzdF9hZGRfcGFpciAiJHtURVNUX09ORV9zdWJzfSIg Il9fJHtfX3Zhcn1fXyIgIiR7X19id30iICkiDQorDQorCXNsZWVwIDMJCSMgV2FpdCBmb3Iga2Vy bmVsIHRvIGZyZWUgdXAgcG9ydHMNCit9DQorDQordGVzdF9vbmVfbGluZSgpIHsNCisJX19saW5l PSIkezF9Ig0KKw0KKwlbICR7REVCVUd9IC1lcSAxIF0gJiYgaW5mbyBERUJVRzogIiR7X19saW5l fSINCisNCisJIyBTdHJpcCBjb21tZW50cw0KKwlfX2xpbmU9IiR7X19saW5lJSUjKn0iDQorDQor CWlmIFsgLW4gIiR7VEVTVF9PTkVfaW5fZGVmfSIgXTsgdGhlbg0KKwkJWyAiJHtfX2xpbmV9IiA9 ICJlbmRlZiIgXSAmJiBURVNUX09ORV9pbl9kZWY9ICYmIHJldHVybg0KKwkJIyBBcHBlbmQgJF9f bGluZSB0byB2YXJpYWJsZSBURVNUX09ORV9ERUZfPGRlZmluaXRpb24gbmFtZT4NCisJCV9faWZz PSIke0lGU30iDQorCQlJRlM9DQorCQlldmFsIFRFU1RfT05FX0RFRl8kVEVTVF9PTkVfaW5fZGVm PVwiXCRcKHByaW50ZiBcIiVzXFxuJXNcIiBcIlwkVEVTVF9PTkVfREVGXyRURVNUX09ORV9pbl9k ZWZcIiBcIiRfX2xpbmVcIlwpXCINCisJCUlGUz0iJHtfX2lmc30iDQorCQlyZXR1cm4NCisJZmkN CisNCisJIyB0YWItc3BsaXQgY29tbWFuZCBhbmQgYXJndW1lbnRzLCBhcHBseSB2YXJpYWJsZSBz dWJzdGl0dXRpb25zDQorCV9fY21kPSIke19fbGluZSUlJChwcmludGYgJ1x0JykqfSINCisJX19h cmc9IiR7X19saW5lIyokKHByaW50ZiAnXHQnKSp9Ig0KKwlfX2FyZz0iJChzdWJzX2FwcGx5ICIk e1RFU1RfT05FX3N1YnN9IiAiJHtfX2FyZ30iKSINCisNCisJWyAke1RFU1RfT05FX25va30gLWVx IDEgXSAmJiBbICIke19fY21kfSIgIT0gInRlc3QiIF0gJiYgY29udGludWUNCisJY2FzZSAke19f Y21kfSBpbg0KKwkiZGVmIikNCisJCVRFU1RfT05FX2luX2RlZj0iJHtfX2FyZ30iDQorCQkjIENs ZWFyIHZhcmlhYmxlIFRFU1RfT05FX0RFRl88ZGVmaW5pdGlvbiBuYW1lPg0KKwkJX19pZnM9IiR7 SUZTfSINCisJCUlGUz0gZXZhbCBURVNUX09ORV9ERUZfJFRFU1RfT05FX2luX2RlZj0NCisJCUlG Uz0iJHtfX2lmc30iDQorCQk7Ow0KKwkidGVzdCIpDQorCQlbICR7VEVTVF9PTkVfcGVyZl9ub2t9 IC1lcSAwIF0gfHwgVEVTVF9PTkVfbm9rPTENCisJCVsgJHtURVNUX09ORV9ub2t9IC1lcSAxIF0g JiYgc3RhdHVzX3Rlc3RfZmFpbA0KKwkJWyAke1RFU1RfT05FX25va30gLWVxIDAgXSAmJiBzdGF0 dXNfdGVzdF9vaw0KKw0KKwkJc3RhdHVzX3Rlc3Rfc3RhcnQgIiR7X19hcmd9Ig0KKwkJVEVTVF9P TkVfbm9rPTANCisJCVRFU1RfT05FX3BlcmZfbm9rPTANCisJCTs7DQorCSJob3N0IikNCisJCXBh bmVfb3JfY29udGV4dF9ydW4gaG9zdCAiJHtfX2FyZ30iIHx8IFRFU1RfT05FX25vaz0xDQorCQk7 Ow0KKwkiaG9zdGIiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1bl9iZyBob3N0ICIke19fYXJnfSIN CisJCTs7DQorCSJob3N0dyIpDQorCQlwYW5lX29yX2NvbnRleHRfd2FpdCBob3N0IHx8IFRFU1Rf T05FX25vaz0xDQorCQk7Ow0KKwkiaGludCIpDQorCQl0bXV4IHNlbmQta2V5cyAtdCAke1BBTkVf SE9TVH0gIkMtYyINCisJCTs7DQorCSJodG9vbHMiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBo b3N0ICd3aGljaCAnIiR7X19hcmd9IicgPi9kZXYvbnVsbCcgfHwgVEVTVF9PTkVfc2tpcD0xDQor CQk7Ow0KKwkicGFzc3QiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBwYXNzdCAiJHtfX2FyZ30i IHx8IFRFU1RfT05FX25vaz0xDQorCQk7Ow0KKwkicGFzc3RiIikNCisJCXBhbmVfb3JfY29udGV4 dF9ydW5fYmcgcGFzc3QgIiR7X19hcmd9Ig0KKwkJOzsNCisJInBhc3N0dyIpDQorCQlwYW5lX29y X2NvbnRleHRfd2FpdCBwYXNzdCB8fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsNCisJInBpbnQiKQ0K KwkJdG11eCBzZW5kLWtleXMgLXQgJHtQQU5FX1BBU1NUfSAiQy1jIg0KKwkJOzsNCisJInBvdXQi KQ0KKwkJX192YXJuYW1lPSIke19fYXJnJSUgKn0iDQorCQlfX291dHB1dD0iJChwYW5lX29yX2Nv bnRleHRfb3V0cHV0IHBhc3N0ICIke19fYXJnIyogfSIpIg0KKwkJVEVTVF9PTkVfc3Vicz0iJChs aXN0X2FkZF9wYWlyICIke1RFU1RfT05FX3N1YnN9IiAiX18ke19fdmFybmFtZX1fXyIgIiR7X19v dXRwdXR9IikiDQorCQk7Ow0KKwkiZ3Vlc3QiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBndWVz dCAiJHtfX2FyZ30iIHx8IFRFU1RfT05FX25vaz0xDQorCQk7Ow0KKwkiZ3Vlc3RiIikNCisJCXBh bmVfb3JfY29udGV4dF9ydW5fYmcgZ3Vlc3QgIiR7X19hcmd9Ig0KKwkJOzsNCisJImd1ZXN0dyIp DQorCQlwYW5lX29yX2NvbnRleHRfd2FpdCBndWVzdCB8fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsN CisJImd1ZXN0MSIpDQorCQlwYW5lX29yX2NvbnRleHRfcnVuIGd1ZXN0XzEgIiR7X19hcmd9IiB8 fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsNCisJImd1ZXN0MWIiKQ0KKwkJcGFuZV9vcl9jb250ZXh0 X3J1bl9iZyBndWVzdF8xICIke19fYXJnfSINCisJCTs7DQorCSJndWVzdDF3IikNCisJCXBhbmVf b3JfY29udGV4dF93YWl0IGd1ZXN0XzEgfHwgVEVTVF9PTkVfbm9rPTENCisJCTs7DQorCSJndG9v bHMiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBndWVzdCAnd2hpY2ggJyIke19fYXJnfSInID4v ZGV2L251bGwnIHx8IFRFU1RfT05FX3NraXA9MQ0KKwkJOzsNCisJImcxdG9vbHMiKQ0KKwkJcGFu ZV9vcl9jb250ZXh0X3J1biBndWVzdF8xICd3aGljaCAnIiR7X19hcmd9IicgPi9kZXYvbnVsbCcg fHwgVEVTVF9PTkVfc2tpcD0xDQorCQk7Ow0KKwkiZzJ0b29scyIpDQorCQlwYW5lX29yX2NvbnRl eHRfcnVuIGd1ZXN0XzIgJ3doaWNoICciJHtfX2FyZ30iJyA+L2Rldi9udWxsJyB8fCBURVNUX09O RV9za2lwPTENCisJCTs7DQorCSJndWVzdDIiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBndWVz dF8yICIke19fYXJnfSIgfHwgVEVTVF9PTkVfbm9rPTENCisJCTs7DQorCSJndWVzdDJiIikNCisJ CXBhbmVfb3JfY29udGV4dF9ydW5fYmcgZ3Vlc3RfMiAiJHtfX2FyZ30iDQorCQk7Ow0KKwkiZ3Vl c3QydyIpDQorCQlwYW5lX29yX2NvbnRleHRfd2FpdCBndWVzdF8yIHx8IFRFU1RfT05FX25vaz0x DQorCQk7Ow0KKwkibnMiKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3J1biBucyAiJHtfX2FyZ30iIHx8 IFRFU1RfT05FX25vaz0xDQorCQk7Ow0KKwkibnMxIikNCisJCXBhbmVfb3JfY29udGV4dF9ydW4g bnMxICIke19fYXJnfSIgfHwgVEVTVF9PTkVfbm9rPTENCisJCTs7DQorCSJuczIiKQ0KKwkJcGFu ZV9vcl9jb250ZXh0X3J1biBuczIgIiR7X19hcmd9IiB8fCBURVNUX09ORV9ub2s9MQ0KKwkJOzsN CisJIm5zYiIpDQorCQlwYW5lX29yX2NvbnRleHRfcnVuX2JnIG5zICIke19fYXJnfSINCisJCTs7 DQorCSJuczFiIikNCisJCXBhbmVfb3JfY29udGV4dF9ydW5fYmcgbnMxICIke19fYXJnfSINCisJ CTs7DQorCSJuczJiIikNCisJCXBhbmVfb3JfY29udGV4dF9ydW5fYmcgbnMyICIke19fYXJnfSIN CisJCTs7DQorCSJuc3ciKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3dhaXQgbnMgfHwgVEVTVF9PTkVf bm9rPTENCisJCTs7DQorCSJuczF3IikNCisJCXBhbmVfb3JfY29udGV4dF93YWl0IG5zMSB8fCBU RVNUX09ORV9ub2s9MQ0KKwkJOzsNCisJIm5zMnciKQ0KKwkJcGFuZV9vcl9jb250ZXh0X3dhaXQg bnMyIHx8IFRFU1RfT05FX25vaz0xDQorCQk7Ow0KKwkibnN0b29scyIpDQorCQlwYW5lX29yX2Nv bnRleHRfcnVuIG5zICd3aGljaCAnIiR7X19hcmd9IicgPi9kZXYvbnVsbCcgfHwgVEVTVF9PTkVf c2tpcD0xDQorCQk7Ow0KKwkiZ291dCIpDQorCQlfX3Zhcm5hbWU9IiR7X19hcmclJSAqfSINCisJ CV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9vdXRwdXQgZ3Vlc3QgIiR7X19hcmcjKiB9Iiki DQorCQlURVNUX09ORV9zdWJzPSIkKGxpc3RfYWRkX3BhaXIgIiR7VEVTVF9PTkVfc3Vic30iICJf XyR7X192YXJuYW1lfV9fIiAiJHtfX291dHB1dH0iKSINCisJCTs7DQorCSJnMW91dCIpDQorCQlf X3Zhcm5hbWU9IiR7X19hcmclJSAqfSINCisJCV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9v dXRwdXQgZ3Vlc3RfMSAiJHtfX2FyZyMqIH0iKSINCisJCVRFU1RfT05FX3N1YnM9IiQobGlzdF9h ZGRfcGFpciAiJHtURVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zhcm5hbWV9X18iICIke19fb3V0cHV0 fSIpIg0KKwkJOzsNCisJImcyb3V0IikNCisJCV9fdmFybmFtZT0iJHtfX2FyZyUlICp9Ig0KKwkJ X19vdXRwdXQ9IiQocGFuZV9vcl9jb250ZXh0X291dHB1dCBndWVzdF8yICIke19fYXJnIyogfSIp Ig0KKwkJVEVTVF9PTkVfc3Vicz0iJChsaXN0X2FkZF9wYWlyICIke1RFU1RfT05FX3N1YnN9IiAi X18ke19fdmFybmFtZX1fXyIgIiR7X19vdXRwdXR9IikiDQorCQk7Ow0KKwkiaG91dCIpDQorCQlf X3Zhcm5hbWU9IiR7X19hcmclJSAqfSINCisJCV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9v dXRwdXQgaG9zdCAiJHtfX2FyZyMqIH0iKSINCisJCVRFU1RfT05FX3N1YnM9IiQobGlzdF9hZGRf cGFpciAiJHtURVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zhcm5hbWV9X18iICIke19fb3V0cHV0fSIp Ig0KKwkJOzsNCisJIm5zb3V0IikNCisJCV9fdmFybmFtZT0iJHtfX2FyZyUlICp9Ig0KKwkJX19v dXRwdXQ9IiQocGFuZV9vcl9jb250ZXh0X291dHB1dCBucyAiJHtfX2FyZyMqIH0iKSINCisJCVRF U1RfT05FX3N1YnM9IiQobGlzdF9hZGRfcGFpciAiJHtURVNUX09ORV9zdWJzfSIgIl9fJHtfX3Zh cm5hbWV9X18iICIke19fb3V0cHV0fSIpIg0KKwkJOzsNCisJIm5zMW91dCIpDQorCQlfX3Zhcm5h bWU9IiR7X19hcmclJSAqfSINCisJCV9fb3V0cHV0PSIkKHBhbmVfb3JfY29udGV4dF9vdXRwdXQg bnMxICIke19fYXJnIyogfSIpIg0KKwkJVEVTVF9PTkVfc3Vicz0iJChsaXN0X2FkZF9wYWlyICIk e1RFU1RfT05FX3N1YnN9IiAiX18ke19fdmFybmFtZX1fXyIgIiR7X19vdXRwdXR9IikiDQorCQk7 Ow0KKwkibnMyb3V0IikNCisJCV9fdmFybmFtZT0iJHtfX2FyZyUlICp9Ig0KKwkJX19vdXRwdXQ9 IiQocGFuZV9vcl9jb250ZXh0X291dHB1dCBuczIgIiR7X19hcmcjKiB9IikiDQorCQlURVNUX09O RV9zdWJzPSIkKGxpc3RfYWRkX3BhaXIgIiR7VEVTVF9PTkVfc3Vic30iICJfXyR7X192YXJuYW1l fV9fIiAiJHtfX291dHB1dH0iKSINCisJCTs7DQorCSJjaGVjayIpDQorCQlpbmZvX2NoZWNrICIk e19fYXJnfSINCisJCV9fbm9rPTANCisJCWV2YWwgIiR7X19hcmd9IHx8IF9fbm9rPTEiDQorCQlp ZiBbICR7X19ub2t9IC1lcSAxIF07IHRoZW4NCisJCQlURVNUX09ORV9ub2s9MQ0KKwkJCWluZm9f Y2hlY2tfZmFpbGVkDQorCQllbHNlDQorCQkJaW5mb19jaGVja19wYXNzZWQNCisJCWZpDQorCQk7 Ow0KKwkic2xlZXAiKQ0KKwkJc2xlZXAgIiR7X19hcmd9Ig0KKwkJOzsNCisJImluZm8iKQ0KKwkJ aW5mbyAiJHtfX2FyZ30iDQorCQk7Ow0KKwkicmVwb3J0IikNCisJCXBlcmZfcmVwb3J0ICR7X19h cmd9DQorCQk7Ow0KKwkidGgiKQ0KKwkJdGFibGVfaGVhZGVyICR7X19hcmd9DQorCQk7Ow0KKwki dHIiKQ0KKwkJdGFibGVfcm93ICIke19fYXJnfSINCisJCTs7DQorCSJ0bCIpDQorCQl0YWJsZV9s aW5lICIke19fYXJnfSINCisJCTs7DQorCSJ0ZSIpDQorCQl0YWJsZV9lbmQNCisJCTs7DQorCSJ0 ZCIpDQorCQl0YWJsZV92YWx1ZSAke19fYXJnfSB8fCBURVNUX09ORV9wZXJmX25vaz0xDQorCQk7 Ow0KKwkiYnciKQ0KKwkJdGFibGVfdmFsdWVfdGhyb3VnaHB1dCAke19fYXJnfSB8fCBURVNUX09O RV9wZXJmX25vaz0xDQorCQk7Ow0KKwkibGF0IikNCisJCXRhYmxlX3ZhbHVlX2xhdGVuY3kgJHtf X2FyZ30gfHwgVEVTVF9PTkVfcGVyZl9ub2s9MQ0KKwkJOzsNCisJImlwZXJmMyIpDQorCQl0ZXN0 X2lwZXJmMyAke19fYXJnfQ0KKwkJOzsNCisJInNldCIpDQorCQlURVNUX09ORV9zdWJzPSIkKGxp c3RfYWRkX3BhaXIgIiR7VEVTVF9PTkVfc3Vic30iICJfXyR7X19hcmclJSAqfV9fIiAiJHtfX2Fy ZyMqIH0iKSINCisJCTs7DQorDQorCSMgRGVtbyBjb21tYW5kcw0KKwkic2F5IikNCisJCXRleHRf d3JpdGUgIiR7X19hcmd9Ig0KKwkJOzsNCisJImVtIikNCisJCWVtX3dyaXRlICIke19fYXJnfSIN CisJCTs7DQorCSJubCIpDQorCQlpbmZvX25vbG9nICIiDQorCQk7Ow0KKwkiaGwiKQ0KKwkJcGFu ZV9oaWdobGlnaHQgIiR7X19hcmd9Ig0KKwkJOzsNCisJImJzcCIpDQorCQl0ZXh0X2JhY2tzcGFj ZSAiJHtfX2FyZ30iDQorCQk7Ow0KKwkia2lsbHAiKQ0KKwkJcGFuZV9raWxsICIke19fYXJnfSIN CisJCTs7DQorCSJyZXNpemUiKQ0KKwkJcGFuZV9yZXNpemUgJHtfX2FyZ30NCisJCTs7DQorCSop DQorCQlfX2RlZl9ib2R5PSIkKGV2YWwgcHJpbnRmIFwiXCRURVNUX09ORV9ERUZfJF9fY21kXCIp Ig0KKwkJaWYgWyAtbiAiJHtfX2RlZl9ib2R5fSIgXTsgdGhlbg0KKwkJCV9faWZzPSIke0lGU30i DQorCQkJSUZTPScNCisnDQorCQkJZm9yIF9fZGVmX2xpbmUgaW4gJHtfX2RlZl9ib2R5fTsgZG8N CisJCQkJSUZTPSIke19faWZzfSIgdGVzdF9vbmVfbGluZSAiJHtfX2RlZl9saW5lfSINCisJCQlk b25lDQorCQkJSUZTPSIke19faWZzfSINCisJCWZpDQorCQk7Ow0KKwllc2FjDQorfQ0KKw0KKyMg dGVzdF9vbmUoKSAtIFJ1biBhIHNpbmdsZSB0ZXN0IGZpbGUgZXZhbHVhdGluZyBkaXJlY3RpdmVz DQorIyAkMToJTmFtZSBvZiB0ZXN0IGZpbGUsIHJlbGF0aXZlIHRvIG9sZHRlc3QvIGRpcmVjdG9y eQ0KK3Rlc3Rfb25lKCkgew0KKwlURVNUX09ORV9kaXJjbGVhbj0NCisJX190ZXN0X2ZpbGU9Im9s ZHRlc3QvJHsxfSINCisNCisJX190eXBlPSIkKGZpbGUgLWIgLS1taW1lLXR5cGUgJHtfX3Rlc3Rf ZmlsZX0pIg0KKwlpZiBbICIke19fdHlwZX0iID0gInRleHQveC1zaGVsbHNjcmlwdCIgXTsgdGhl bg0KKwkJc3RhdHVzX2ZpbGVfc3RhcnQgIiR7MX0iIDENCisJCSIke19fdGVzdF9maWxlfSIgJiYg c3RhdHVzX3Rlc3Rfb2sgfHwgc3RhdHVzX3Rlc3RfZmFpbA0KKwkJcmV0dXJuDQorCWZpDQorDQor CWlmIFsgJHtERU1PfSAtZXEgMCBdOyB0aGVuDQorCQlfX250ZXN0cz0iJChncmVwIC1jICJedGVz dCQocHJpbnRmICdcdCcpIiAiJHtfX3Rlc3RfZmlsZX0iKSINCisJCXN0YXR1c19maWxlX3N0YXJ0 ICIkezF9IiAiJHtfX250ZXN0c30iDQorCWZpDQorDQorCVsgJHtDSX0gLWVxIDEgXSAmJiB2aWRl b19saW5rICIkezF9Ig0KKw0KKwlURVNUX09ORV9zdWJzPSIkKGxpc3RfYWRkX3BhaXIgIiIgIl9f QkFTRVBBVEhfXyIgIiR7QkFTRVBBVEh9IikiDQorCVRFU1RfT05FX3N1YnM9IiQobGlzdF9hZGRf cGFpciAiJHtURVNUX09ORV9zdWJzfSIgIl9fU1RBVEVTRVRVUF9fIiAiJHtTVEFURVNFVFVQfSIp Ig0KKwlTVEFURURJUj0iJHtTVEFURUJBU0V9LyR7MX0iDQorCW1rZGlyIC1wICIke1NUQVRFRElS fSINCisJVEVTVF9PTkVfc3Vicz0iJChsaXN0X2FkZF9wYWlyICIke1RFU1RfT05FX3N1YnN9IiAi X19TVEFURURJUl9fIiAiJHtTVEFURURJUn0iKSINCisJVEVTVF9PTkVfbm9rPS0xDQorCVRFU1Rf T05FX3BlcmZfbm9rPTANCisJVEVTVF9PTkVfc2tpcD0wDQorCVRFU1RfT05FX2luX2RlZj0NCisJ d2hpbGUgSUZTPSByZWFkIC1yIF9fbGluZTsgZG8NCisJCXRlc3Rfb25lX2xpbmUgIiR7X19saW5l fSINCisJCVsgJHtURVNUX09ORV9za2lwfSAtZXEgMSBdICYmIGJyZWFrDQorCWRvbmUgPCAiJHtf X3Rlc3RfZmlsZX0iDQorDQorCWZvciBfX2QgaW4gJHtURVNUX09ORV9kaXJjbGVhbn07IGRvDQor CQlybSAtcmYgJHtfX2R9DQorCWRvbmUNCisNCisJWyAke0RFTU99IC1lcSAxIF0gJiYgcmV0dXJu DQorDQorCVsgJHtURVNUX09ORV9za2lwfSAtZXEgMSBdICYmIHN0YXR1c190ZXN0X3NraXAgJiYg cmV0dXJuDQorCVsgJHtURVNUX09ORV9wZXJmX25va30gLWVxIDAgXSB8fCBURVNUX09ORV9ub2s9 MQ0KKwlbICR7VEVTVF9PTkVfbm9rfSAtZXEgMCBdICYmIHN0YXR1c190ZXN0X29rIHx8IHN0YXR1 c190ZXN0X2ZhaWwNCit9DQorDQorIyB0ZXN0KCkgLSBCdWlsZCBsaXN0IG9mIHRlc3RzIHRvIHJ1 biwgaW4gb3JkZXIsIHRoZW4gaXNzdWUgdGVzdF9vbmUoKQ0KKyMgJEA6CVRlc3QgZmlsZXMgdG8g cnVuLCByZWxhdGl2ZSB0byBvbGR0ZXN0Lw0KK3Rlc3QoKSB7DQorCV9fbGlzdD0NCisNCisJY2Qg dGVzdA0KKwlmb3IgX19mOyBkbw0KKwkJX190eXBlPSIkKGZpbGUgLWIgLS1taW1lLXR5cGUgJHtf X2Z9KSINCisJCWlmIFsgIiR7X190eXBlfSIgPSAidGV4dC94LXNoZWxsc2NyaXB0IiBdOyB0aGVu DQorCQkJX19saXN0PSIkKGxpc3RfYWRkICIke19fbGlzdH0iICIke19fZn0iKSINCisJCQljb250 aW51ZQ0KKwkJZmkNCisJCV9fbGlzdD0iJChsaXN0X2FkZCAiJHtfX2xpc3R9IiAiJHtfX2Z9Iiki DQorCWRvbmUNCisJY2QgLi4NCisNCisJZm9yIF9fZiBpbiAke19fbGlzdH07IGRvDQorCQl0ZXN0 X29uZSAiJHtfX2Z9Ig0KKwlkb25lDQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvbGliL3V0aWwg Yi9vbGR0ZXN0L2xpYi91dGlsDQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5kZXggMDAwMDAwMC4u OThjYjlkOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9saWIvdXRpbA0KQEAgLTAsMCAr MSwxMzMgQEANCisjIS9iaW4vc2gNCisjDQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNw b3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAt IFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNl L3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvbGliL3V0aWwgLSBDb252ZW5pZW5jZSBmdW5j dGlvbnMNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6 IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorIyBsaXN0X2hhcygpIC0g Q2hlY2sgd2hldGhlciBhIHRhYi1zZXBhcmF0ZWQgbGlzdCBjb250YWlucyBhIGdpdmVuIHRva2Vu DQorIyAkMToJTGlzdA0KKyMgJDI6CVRva2VuDQorIyBSZXR1cm46IDAgaWYgdG9rZW4gd2FzIGZv dW5kIG9yIGlzIGVtcHR5LCAxIG90aGVyd2lzZQ0KK2xpc3RfaGFzKCkgew0KKwlbIC16ICIkezJ9 IiBdICYmIHJldHVybiAwDQorDQorCV9faWZzPSIke0lGU30iDQorCUlGUz0nCScNCisJZm9yIF9f dCBpbiAkezF9OyBkbw0KKwkJWyAiJHtfX3R9IiA9ICIkezJ9IiBdICYmIElGUz0iJHtfX2lmc30i ICYmIHJldHVybiAwDQorCWRvbmUNCisNCisJSUZTPSIke19faWZzfSINCisJcmV0dXJuIDENCit9 DQorDQorIyBsaXN0X2FkZCgpIC0gQWRkIHRva2VuIHRvIHRhYi1zZXBhcmF0ZWQgbGlzdCwgdW5s ZXNzIGl0J3MgYWxyZWFkeSBwcmVzZW50DQorIyAkMToJTGlzdA0KKyMgJDI6CVRva2VuDQorbGlz dF9hZGQoKSB7DQorCWxpc3RfaGFzICIkezF9IiAiJHsyfSIgJiYgcmV0dXJuDQorCVsgLW4gIiR7 MX0iIF0gJiYgcHJpbnRmICclc1x0JXNcbicgIiR7MX0iICIkezJ9IiB8fCBwcmludGYgJyVzXG4n ICIkezJ9Ig0KK30NCisNCisjIGxpc3RfcmVtb3ZlX3BhaXIoKSAtIERyb3AgcGFpciB3aXRoIGdp dmVuIGtleSBpZiBwcmVzZW50DQorIyAkMToJTGlzdA0KKyMgJDI6CUtleQ0KK2xpc3RfcmVtb3Zl X3BhaXIoKQ0KK3sNCisJX19pZnM9IiR7SUZTfSINCisJSUZTPScJJw0KKwlfX3NraXBfbmV4dD0w DQorCWZvciBfX3QgaW4gJHsxfTsgZG8NCisJCVsgJHtfX3NraXBfbmV4dH0gLWVxIDEgXSAmJiBf X3NraXBfbmV4dD0wICYmIGNvbnRpbnVlDQorCQlbICIke19fdH0iID0gIiR7Mn0iIF0gJiYgX19z a2lwX25leHQ9MSAmJiBjb250aW51ZQ0KKwkJcHJpbnRmICclc1x0JyAiJHtfX3R9Ig0KKwlkb25l DQorCXByaW50ZiAiXG4iDQorCUlGUz0iJHtfX2lmc30iDQorfQ0KKw0KKyMgbGlzdF9hZGRfcGFp cigpIC0gQWRkIHRva2VuIHBhaXIgdG8gbGlzdCwgcmVwbGFjZSBpZiB0aGUgZmlyc3Qgb25lIGlz IHByZXNlbnQNCisjICQxOglMaXN0DQorIyAkMjoJRmlyc3QgdG9rZW4NCisjICQzOglTZWNvbmQg dG9rZW4NCitsaXN0X2FkZF9wYWlyKCkgew0KKwlbIC16ICIkezN9IiBdICYmIHJldHVybg0KKw0K Kw0KKwlpZiBbIC1uICIkezF9IiBdOyB0aGVuDQorCQlfX25ld19saXN0PSIkKGxpc3RfcmVtb3Zl X3BhaXIgIiR7MX0iICIkezJ9IikiDQorCQlwcmludGYgJyVzXHQlc1x0JXMnICIke19fbmV3X2xp c3R9IiAiJHsyfSIgIiR7M30iDQorCWVsc2UNCisJCXByaW50ZiAnJXNcdCVzJyAiJHsyfSIgIiR7 M30iDQorCWZpDQorCXByaW50ZiAiXG4iDQorfQ0KKw0KKyMgbGlzdF9oYXNfYWxsKCkgLSBDaGVj ayB3aGV0aGVyIGEgbGlzdCBjb250YWlucyBhbGwgZ2l2ZW4gSUZTLXNlcGFyYXRlZCB0b2tlbnMN CisjICQxOglMaXN0DQorIyAkMjoJTGlzdCBvZiB0b2tlbnMNCisjIFJldHVybjogMCBpZiBsaXN0 IG9mIHRva2VucyB3YXMgZm91bmQgb3IgaXMgZW1wdHksIDEgb3RoZXJ3aXNlDQorbGlzdF9oYXNf YWxsKCkgew0KKwlbIC16ICIkezJ9IiBdICYmIHJldHVybiAwDQorDQorCWZvciBfX2kgaW4gJHsy fTsgZG8NCisJCWxpc3RfaGFzICIkezF9IiAiJHtfX2l9IiB8fCByZXR1cm4gMQ0KKwlkb25lDQor CXJldHVybiAwDQorfQ0KKw0KKyMgZmlsZV9kZWYoKSAtIExpc3Qgb2YgdG9rZW5zIHRhYi1zZXBh cmF0ZWQgbGluZSBmcm9tIGZpbGUsIHN0YXJ0aW5nIHdpdGgga2V5DQorIyAkMToJRmlsZW5hbWUN CisjICQyOglUb2tlbg0KK2ZpbGVfZGVmKCkgew0KKwlzZWQgLW4gJ3MvXiciJHsyfSInXHRcKC4q XCkvXDEvcCcgIiR7MX0iIHwgdHIgJyAnICdcdCcNCit9DQorDQorIyBzdWJzX2FwcGx5KCkgLSBB cHBseSBzdWJzdGl0dXRpb25zIHVzaW5nIGEgbGlzdCBvZiB0b2tlbiBwYWlycw0KKyMgJDE6CUxp c3Qgb2Ygc3Vic3RpdHV0aW9ucw0KKyMgJDI6CVN0cmluZyB3aGVyZSBzdWJzdGl0dXRpb25zIGhh dmUgdG8gYmUgYXBwbGllZA0KK3N1YnNfYXBwbHkoKSB7DQorCV9faWZzPSIke0lGU30iDQorCUlG Uz0nCScNCisJX19uZXdhcmc9IiR7Mn0iDQorCV9fcz0NCisJZm9yIF9fdCBpbiAkezF9OyBkbw0K KwkJWyAteiAiJHtfX3N9IiBdICYmIF9fcz0iJHtfX3R9IiAmJiBjb250aW51ZQ0KKw0KKwkJX19l dD0iJChwcmludGYgJyVzXG4nICIkX190IiB8IHNlZCAtZSAncy9bXC8mXS9cXCYvZycpIg0KKwkJ X19lcz0iJChwcmludGYgJyVzXG4nICIkX19zIiB8IHNlZCAtZSAncy9bXVwvJCouXltdL1xcJi9n JykiDQorDQorCQlfX25ld2FyZz0iJChwcmludGYgJyVzJyAiJHtfX25ld2FyZ30iIHwgc2VkICJz LyR7X19lc30vJHtfX2V0fS9nIikiDQorCQlfX3M9DQorCWRvbmUNCisNCisJcHJpbnRmICclcycg IiR7X19uZXdhcmd9Ig0KKwlJRlM9IiR7X19pZnN9Ig0KK30NCisNCisjIGdldF9pbmZvX2NvbHMo KSAtIEdldCBudW1iZXIgb2YgY29sdW1ucyBmb3IgaW5mbyBwYW5lDQorZ2V0X2luZm9fY29scygp IHsNCisJX19sb2dfcGFuZV9jb2xzPQ0KKwlfX2o9MA0KKwlmb3IgX19pIGluICQodG11eCBsaXN0 LXBhbmVzIC10IHBhc3N0X3Rlc3Q6MS4wIC1GICIje3BhbmVfd2lkdGh9Iik7IGRvDQorCQlbICR7 X19qfSAtZXEgJHtQQU5FX0lORk99IF0gJiYgU1RBVFVTX0NPTFM9JHtfX2l9ICYmIGJyZWFrDQor CQlfX2o9JCgoX19qICsgMSkpDQorCWRvbmUNCit9DQorDQorIyB3YWl0X2ZvcigpIC0gUmV0cnkg YSBjb21tYW5kIHVudGlsIGl0IHN1Y2NlZWRzDQorIyAkQDoJQ29tbWFuZCB0byBydW4NCit3YWl0 X2ZvcigpIHsNCisgICAgICAgIHdoaWxlICEgIiRAIjsgZG8NCisgICAgICAgICAgICAgICAgc2xl ZXAgMC4xIHx8IHNsZWVwIDENCisgICAgICAgIGRvbmUNCit9DQpkaWZmIC0tZ2l0IGEvb2xkdGVz dC9saWIvdmlkZW8gYi9vbGR0ZXN0L2xpYi92aWRlbw0KbmV3IGZpbGUgbW9kZSAxMDA3NTUNCmlu ZGV4IDAwMDAwMDAuLjMyMGQ0YTANCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvbGliL3Zp ZGVvDQpAQCAtMCwwICsxLDE1MiBAQA0KKyMhL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxl IFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0K KyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0 d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9saWIvdmlkZW8gLSBT ZXNzaW9uIHJlY29yZGluZywgSmF2YVNjcmlwdCBmcmFnbWVudHMgd2l0aCBsaW5rcw0KKyMNCisj IENvcHlyaWdodCAoYykgMjAyMS0yMDIyIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5v IEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK1ZJREVPX1NUQVJUX1NFQ09ORFM9DQor VklERU9fTkFNRT0NCisNCitWSURFT19MSU5LU19URU1QTEFURT0iZG9jdW1lbnQud3JpdGUoJyIn DQorCVNraXAgdG86DQorJw0KKw0KK1ZJREVPX0xJTktTX1RFTVBMQVRFX0pTPSINCisnKTsNCisN Cit2YXIgdmlkZW9fX19WSURFT19OQU1FX19saW5rcyA9IFsNCisiDQorDQorVklERU9fTElOS1Nf VEVNUExBVEVfUE9TVD0nXTsNCisNCitmb3IgKHZhciBpID0gMDsgaSA8IHZpZGVvX19fVklERU9f TkFNRV9fbGlua3MubGVuZ3RoOyBpKyspIHsNCisJdmFyIG9iaiA9IGRvY3VtZW50LmdldEVsZW1l bnRCeUlkKHZpZGVvX19fVklERU9fTkFNRV9fbGlua3NbaV1bMF0pOw0KKw0KKwlvYmouYWRkRXZl bnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihldmVudCkgew0KKwkJdmFyIF9fVklERU9fTkFN RV9fX2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJfX1ZJREVPX05BTUVfXyIpOw0KKwkJ dmFyIHRvcCA9IF9fVklERU9fTkFNRV9fX2Rpdi5vZmZzZXRUb3AgLSA1Ow0KKwkJdmFyIHNlZWs7 DQorDQorCQlmb3IgKHZhciBpID0gMDsgaSA8IHZpZGVvX19fVklERU9fTkFNRV9fbGlua3MubGVu Z3RoOyBpKyspIHsNCisJCQlpZiAodGhpcy5pZCA9PSB2aWRlb19fX1ZJREVPX05BTUVfX2xpbmtz W2ldWzBdKSB7DQorCQkJCXNlZWsgPSB2aWRlb19fX1ZJREVPX05BTUVfX2xpbmtzW2ldWzFdOw0K KwkJCX0NCisJCX0NCisNCisJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQorCQlfX1ZJREVPX05B TUVfX19wbGF5ZXIuZGlzcG9zZSgpOw0KKwkJX19WSURFT19OQU1FX19fcGxheWVyID0gQXNjaWlu ZW1hUGxheWVyLmNyZWF0ZSgNCisJCQkiL2J1aWxkcy9sYXRlc3Qvd2ViL19fVklERU9fTkFNRV9f LmNhc3QiLA0KKwkJCV9fVklERU9fTkFNRV9fX2RpdiwNCisJCQl7IGNvbHM6IDI0MCwgcm93czog NTEsIHBvc3RlcjogIm5wdDo5OTk6MCIsIHN0YXJ0QXQ6IHNlZWssIGF1dG9wbGF5OiB0cnVlIH0p Ow0KKw0KKwkJd2luZG93LnNjcm9sbFRvKHsgdG9wOiB0b3AsIGJlaGF2aW9yOiAic21vb3RoIiB9 KQ0KKwl9LCBmYWxzZSk7DQorfQ0KKycNCisNCitWSURFT19MSU5LU19CVUY9DQorVklERU9fTElO S1NfQ09VTlQ9MA0KKw0KKyMgdmlkZW9fYXBwZW5kX2xpbmtzKCkgLSBBcHBlbmQgZ2VuZXJpYyBz dHJpbmcgdG8gSmF2YVNjcmlwdCBsaW5rcyBmaWxlDQordmlkZW9fYXBwZW5kX2xpbmtzKCkNCit7 DQorICAgICAgICBfX3dlYj0iJHtMT0dESVJ9L3dlYiINCisJcHJpbnRmICIke0B9IiA+PiAiJHtf X3dlYn0vJHtWSURFT19OQU1FfS5qcyINCit9DQorDQorIyB2aWRlb19hcHBlbmRfbGlua3MoKSAt IEFwcGVuZCBnZW5lcmljIHN0cmluZyB0byBidWZmZXIgZm9yIGxpbmtzDQordmlkZW9fYXBwZW5k X2xpbmtzX2pzKCkNCit7DQorCVZJREVPX0xJTktTX0JVRj0iJHtWSURFT19MSU5LU19CVUZ9JHtA fSINCit9DQorDQorIyB2aWRlb19zdGFydCgpIC0gTWFyayBzdGFydCBvZiBhIHRlc3QgaW4gY2Fw dHVyZSwgcmVjb3JkIHN0YXJ0IHRpbWVzdGFtcA0KK3ZpZGVvX3N0YXJ0KCkgew0KKwlWSURFT19O QU1FPSIkezF9Ig0KKyAgICAgICAgX193ZWI9IiR7TE9HRElSfS93ZWIiDQorICAgICAgICBta2Rp ciAtcCAiJHtfX3dlYn0iDQorCWVjaG8gIiR7VklERU9fTElOS1NfVEVNUExBVEV9IiA+ICIke19f d2VifS8ke1ZJREVPX05BTUV9LmpzIg0KKwlWSURFT19TVEFSVF9TRUNPTkRTPSQoc2VkIC1uICdz L1woWzAtOV0qXCkuWzAtOV0qIFswLTldKi5bMC05XSovXDEvcCcgL3Byb2MvdXB0aW1lKQ0KKw0K KwlzeW5jDQorCVsgJHtERU1PfSAtZXEgMSBdICYmIHRhaWwgLTEgIiR7U1RBVEVCQVNFfS9kZW1v LnVuY3V0IiA+ICIke1NUQVRFQkFTRX0vJHtWSURFT19OQU1FfS5zdGFydCINCisJWyAke0NJfSAt ZXEgMSBdICYmIHRhaWwgLTEgIiR7U1RBVEVCQVNFfS9jaS51bmN1dCIgPiAiJHtTVEFURUJBU0V9 LyR7VklERU9fTkFNRX0uc3RhcnQiDQorCXN5bmMNCisNCisJdG11eCByZWZyZXNoLWNsaWVudA0K K30NCisNCisjIHZpZGVvX3N0b3AoKSAtIE1hcmsgc3RvcCBvZiBhIHRlc3QgaW4gY2FwdHVyZSwg ZmluYWxpc2UgSmF2YVNjcmlwdCBmcmFnbWVudHMNCit2aWRlb19zdG9wKCkgew0KKyAgICAgICAg X193ZWI9IiR7TE9HRElSfS93ZWIiDQorCXRtdXggcmVmcmVzaC1jbGllbnQNCisNCisJc3luYw0K KwlbICR7REVNT30gLWVxIDEgXSAmJiB0YWlsIC0xICIke1NUQVRFQkFTRX0vZGVtby51bmN1dCIg PiAiJHtTVEFURUJBU0V9LyR7VklERU9fTkFNRX0uc3RvcCINCisJWyAke0NJfSAtZXEgMSBdICYm IHRhaWwgLTEgIiR7U1RBVEVCQVNFfS9jaS51bmN1dCIgPiAiJHtTVEFURUJBU0V9LyR7VklERU9f TkFNRX0uc3RvcCINCisJc3luYw0KKw0KKwlzZWQgLWkgJ3MvXi4qJC8mXFwvZycgIiR7X193ZWJ9 LyR7VklERU9fTkFNRX0uanMiDQorCWVjaG8gIiR7VklERU9fTElOS1NfVEVNUExBVEVfSlN9IiB8 IHNlZCAicy9fX1ZJREVPX05BTUVfXy8ke1ZJREVPX05BTUV9L2ciID4+ICIke19fd2VifS8ke1ZJ REVPX05BTUV9LmpzIg0KKwllY2hvICIke1ZJREVPX0xJTktTX0JVRn0iID4+ICIke19fd2VifS8k e1ZJREVPX05BTUV9LmpzIg0KKwllY2hvICIke1ZJREVPX0xJTktTX1RFTVBMQVRFX1BPU1R9IiAg fCBzZWQgInMvX19WSURFT19OQU1FX18vJHtWSURFT19OQU1FfS9nIiA+PiAiJHtfX3dlYn0vJHtW SURFT19OQU1FfS5qcyINCit9DQorDQorIyB2aWRlb19wb3N0cHJvY2VzcygpIC0gQ3V0IHRlcm1p bmFsIHJlY29yZGluZ3MgYmFzZWQgb24gLnN0YXJ0IGFuZCAuc3RvcCBmaWxlcw0KK3ZpZGVvX3Bv c3Rwcm9jZXNzKCkgew0KKwlJRlM9Jw0KKycNCisgICAgICAgIF9fd2ViPSIke0xPR0RJUn0vd2Vi Ig0KKwlfX2Nhc3RfbmFtZT0NCisJZm9yIF9fbCBpbiAkKGNhdCAkezF9KTsgZG8NCisJCVsgLXog IiR7X19oZWFkZXJ9IiBdICYmIF9faGVhZGVyPSIke19fbH0iICYmIGNvbnRpbnVlDQorDQorCQlp ZiBbIC16ICIke19fY2FzdF9uYW1lfSIgXTsgdGhlbg0KKwkJICAgICAgICBmb3IgX19jYXN0X2N1 dCBpbiAiJHtTVEFURUJBU0V9LyIqLnN0YXJ0OyBkbw0KKwkJCQlbICIke19fbH0iICE9ICIkKGNh dCAiJHtfX2Nhc3RfY3V0fSIpIiBdICYmIGNvbnRpbnVlDQorCQkJCV9fY2FzdF9uYW1lPSIkKGJh c2VuYW1lICIke19fY2FzdF9jdXR9IikiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBfX2Nhc3RfbmFtZT0iJHtfX2Nhc3RfbmFtZSUuc3RhcnR9Ig0KKwkJCQlfX2Nhc3Rfb2Zmc2V0 PQ0KKwkJCQlfX3N0b3BfbGluZT0iJChjYXQgIiR7U1RBVEVCQVNFfS8ke19fY2FzdF9uYW1lfS5z dG9wIikiDQorCQkJCWVjaG8gIiR7X19oZWFkZXJ9IiA+ICIke19fd2VifS8ke19fY2FzdF9uYW1l fS5jYXN0Ig0KKwkJCQlicmVhaw0KKwkJCWRvbmUNCisJCQljb250aW51ZQ0KKwkJZmkNCisNCisJ CVsgIiR7X19sfSIgPSAiJHtfX3N0b3BfbGluZX0iIF0gJiYgX19jYXN0X25hbWU9ICYmIGNvbnRp bnVlDQorDQorCQlfX2xfb2Zmc2V0PSIkKGVjaG8gJHtfX2wlJS4qfXx0ciAtYyAtZCAnWzpkaWdp dDpdJykiDQorCQlfX2xfcmVzdD0iJHtfX2wjKi59Ig0KKwkJWyAteiAiJHtfX2Nhc3Rfb2Zmc2V0 fSIgXSAmJiBfX2Nhc3Rfb2Zmc2V0PSR7X19sX29mZnNldH0NCisJCV9fbF9vZmZzZXQ9JCgoX19s X29mZnNldCAtIF9fY2FzdF9vZmZzZXQpKQ0KKwkJcHJpbnRmICdbJXMuJXNcbicgIiR7X19sX29m ZnNldH0iICIke19fbF9yZXN0fSIgPj4gIiR7X193ZWJ9LyR7X19jYXN0X25hbWV9Ii5jYXN0DQor CWRvbmUNCisJdW5zZXQgSUZTDQorfQ0KKw0KKyMgdmlkZW9fdGltZV9ub3coKSAtIFByaW50IGN1 cnJlbnQgdmlkZW8gdGltZXN0YW1wLCBpbiBzZWNvbmRzDQordmlkZW9fdGltZV9ub3coKSB7DQor CV9fbm93PSQoc2VkIC1uICdzL1woWzAtOV0qXCkuWzAtOV0qIFswLTldKi5bMC05XSovXDEvcCcg L3Byb2MvdXB0aW1lKQ0KKwllY2hvICQoKF9fbm93IC0gVklERU9fU1RBUlRfU0VDT05EUykpDQor fQ0KKw0KKyMgdmlkZW9fbGluaygpIC0gQXBwZW5kIHNpbmdsZSBsaW5rIHRvIGdpdmVuIHZpZGVv IGNoYXB0ZXINCit2aWRlb19saW5rKCkgew0KKwlbICR7VklERU9fTElOS1NfQ09VTlR9IC1lcSAw IF0gJiYgX19zZXA9IiIgfHwgX19zZXA9IiB8Ig0KKwlfX2lkPSJ2aWRlb19saW5rXyR7VklERU9f TElOS1NfQ09VTlR9Ig0KKwl2aWRlb19hcHBlbmRfbGlua3MgIiR7X19zZXB9IDxhIGlkPVwiJHtf X2lkfVwiIGhyZWY9XCIkezF9XCI+JHsxfTwvYT4iDQorCXZpZGVvX2FwcGVuZF9saW5rc19qcyAi WyAnJHtfX2lkfScsICQoKCQodmlkZW9fdGltZV9ub3cpIC0gMSkpIF0sIg0KKw0KKwlWSURFT19M SU5LU19DT1VOVD0kKChWSURFT19MSU5LU19DT1VOVCArIDEpKQ0KK30NCmRpZmYgLS1naXQgYS9v bGR0ZXN0L21lbW9yeS9wYXNzdCBiL29sZHRlc3QvbWVtb3J5L3Bhc3N0DQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMTE5M2FmOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xk dGVzdC9tZW1vcnkvcGFzc3QNCkBAIC0wLDAgKzEsMTg3IEBADQorIyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBT b2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisj DQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdv cmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvbWVtb3J5L3Bhc3N0IC0g U2hvdyBtZW1vcnkgdXNhZ2Ugb2YgcGFzc3QgaW4ga2VybmVsIGFuZCB1c2Vyc3BhY2UNCisjDQor IyBDb3B5cmlnaHQgKGMpIDIwMjIgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJp dmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorZ3Rvb2xzCXNlZCBjYXQgZGlmZiBubSBzb3J0 IGtpbGwgdGVlIGhlYWQgdGFpbCBjaHJvb3QgdW5zaGFyZSBtb3VudCBta2RpciBjcCANCisNCitk ZWYJbWVtaW5mb19yb3cNCitnb3V0CURJRkYgbWVtaW5mb19kaWZmIC90bXAvbWVtaW5mby5iZWZv cmUgL3RtcC9tZW1pbmZvLmFmdGVyIF9fV0hBVF9fDQordGwJX19OQU1FX18NCit0ZAlfX0RJRkZf XyAzIDAgMA0KK2VuZGVmDQorDQorZGVmCW1lbWluZm9fcmV2ZXJzZV9yb3cNCitnb3V0CURJRkYg bWVtaW5mb19kaWZmIC90bXAvbWVtaW5mby5hZnRlciAvdG1wL21lbWluZm8uYmVmb3JlIF9fV0hB VF9fDQordGwJX19OQU1FX18NCit0ZAlfX0RJRkZfXyAzIDAgMA0KK2VuZGVmDQorDQorZGVmCW5t X3Jvdw0KK2dvdXQJU0laRSBubV9zaXplIC90bXAvbm0uc2l6ZSBfX1dIQVRfXw0KK3RsCV9fV0hB VF9fDQordGQJX19TSVpFX18gNiAwIDANCitlbmRlZg0KKw0KK2RlZglzbGFiX3Jvdw0KK2dvdXQJ Q09VTlQgc2xhYl9kaWZmX2NvdW50IC90bXAvc2xhYmluZm8uYmVmb3JlIC90bXAvc2xhYmluZm8u YWZ0ZXIgX19XSEFUX18NCitnb3V0CVNJWkUgc2xhYl9zaXplIC90bXAvc2xhYmluZm8uYmVmb3Jl IF9fV0hBVF9fDQorZ291dAlESUZGIHNsYWJfZGlmZl9zaXplIC90bXAvc2xhYmluZm8uYmVmb3Jl IC90bXAvc2xhYmluZm8uYWZ0ZXIgX19XSEFUX18NCit0bAlfX1dIQVRfXw0KK3RkCV9fQ09VTlRf XyAwIDAgMA0KK3RkCV9fU0laRV9fIDAgMCAwDQordGQJX19ESUZGX18gNiAwIDANCitlbmRlZg0K Kw0KK2RlZglzdGFydF9zdG9wX2RpZmYNCitndWVzdAlzZWQgL3Byb2Mvc2xhYmluZm8gLW5lICdz L15cKFteIF0qICpbXiBdKiAqW14gXSogKlteIF0qXCkuKi9cXFwxL3AnID4gL3RtcC9zbGFiaW5m by5iZWZvcmUNCitndWVzdAljYXQgL3Byb2MvbWVtaW5mbyA+IC90bXAvbWVtaW5mby5iZWZvcmUN CitndWVzdAkvYmluL3Bhc3N0LmF2eDIgLWwgL3RtcC9sb2cgLXMgL3RtcC9zb2NrIC1QIC90bXAv cGlkIF9fT1BUU19fIC0tbmV0bnMtb25seQ0KK3NsZWVwCTINCitndWVzdAljYXQgL3Byb2MvbWVt aW5mbyA+IC90bXAvbWVtaW5mby5hZnRlcg0KK2d1ZXN0CXNlZCAvcHJvYy9zbGFiaW5mbyAtbmUg J3MvXlwoW14gXSogKlteIF0qICpbXiBdKiAqW14gXSpcKS4qL1xcXDEvcCcgPiAvdG1wL3NsYWJp bmZvLmFmdGVyDQorZ3Vlc3QJa2lsbCBcJChjYXQgL3RtcC9waWQpDQorZ3Vlc3QJZGlmZiAteSAt LXN1cHByZXNzLWNvbW1vbi1saW5lcyAvdG1wL21lbWluZm8uYmVmb3JlIC90bXAvbWVtaW5mby5h ZnRlciB8fCA6DQorZ3Vlc3QJbm0gLXRkIC1TciAtLXNpemUtc29ydCAtUCAvYmluL3Bhc3N0LmF2 eDIgfCBoZWFkIC0zMCB8IHRlZSAvdG1wL25tLnNpemUNCitndWVzdAlzZWQgL3Byb2Mvc2xhYmlu Zm8gLW5lICdzL1woLio8b2Jqc2l6ZT5cKS4qJC9cMS9wJyB8IHRhaWwgLTE7IChkaWZmIC15IC0t c3VwcHJlc3MtY29tbW9uLWxpbmVzIC90bXAvc2xhYmluZm8uYmVmb3JlIC90bXAvc2xhYmluZm8u YWZ0ZXIgfCBzb3J0IC1ncms4KQ0KK2VuZGVmDQorDQorZGVmCXN1bW1hcnkNCitpbmZvCU1lbW9y eSB1c2FnZSBzdW1tYXJ5DQoraW5mbwkNCit0aAl0eXBlIE1pQg0KK3NldAlXSEFUIE1lbUZyZWUN CitzZXQJTkFNRSB1c2VkDQorbWVtaW5mb19yZXZlcnNlX3Jvdw0KK3NldAlXSEFUIEFub25QYWdl cw0KK3NldAlOQU1FIHVzZXJzcGFjZQ0KK21lbWluZm9fcm93DQorc2V0CVdIQVQgU2xhYg0KK3Nl dAlOQU1FIGtlcm5lbA0KK21lbWluZm9fcm93DQordGUNCitlbmRlZg0KKw0KKw0KK2d1ZXN0CW1r ZGlyIC90ZXN0DQorZ3Vlc3QJbW91bnQgLXQgdG1wZnMgbm9uZSAvdGVzdA0KK2d1ZXN0CW1rZGly IC90ZXN0L3Byb2MgL3Rlc3QvZGV2IC90ZXN0L3RtcA0KK2d1ZXN0CW1vdW50IC1vIGJpbmQgL3By b2MgL3Rlc3QvcHJvYw0KK2d1ZXN0CW1vdW50IC1vIGJpbmQgL2RldiAvdGVzdC9kZXYNCitndWVz dAljcCAtTHIgL2JpbiAvbGliIC9saWI2NCAvdXNyIC9zYmluIC90ZXN0Lw0KKw0KK2d1ZXN0CXVs aW1pdCAtSG4gMzAwMDAwDQorZ3Vlc3QJdW5zaGFyZSAtclVtIC1SIC90ZXN0DQorZ3Vlc3QJY2hy b290IC4NCisNCitndWVzdAltZW1pbmZvX3NpemUoKSB7IGdyZXAgIl4kMjoiICQxIHwgdHIgLXMg JyAnIHwgY3V0IC1mMiAtZCAnICc7IH0NCitndWVzdAltZW1pbmZvX2RpZmYoKSB7IGVjaG8gJCgo ICQobWVtaW5mb19zaXplICQyICQzKSAtICQobWVtaW5mb19zaXplICQxICQzKSApKTsgfQ0KKw0K K2d1ZXN0CW5tX3NpemUoKSB7IGdyZXAgLW0xICJeJDIgIiAkMSB8IGN1dCAtZjQgLWQgJyAnOyB9 DQorDQorZ3Vlc3QJc2xhYl9jb3VudCgpIHsgZ3JlcCAiXiQyICIgJDEgfCB0ciAtcyAnICcgfCBj dXQgLWYzIC1kICcgJzsgfQ0KK2d1ZXN0CXNsYWJfc2l6ZSgpIHsgZ3JlcCAiXiQyICIgJDEgfCB0 ciAtcyAnICcgfCBjdXQgLWY0IC1kICcgJzsgfQ0KK2d1ZXN0CXNsYWJfZGlmZl9jb3VudCgpIHsg ZWNobyAkKCggJChzbGFiX2NvdW50ICQyICQzKSAtICQoc2xhYl9jb3VudCAkMSAkMykgKSk7IH0N CitndWVzdAlzbGFiX2RpZmZfc2l6ZSgpIHsgZWNobyAkKCggJChzbGFiX2NvdW50ICQyICQzKSAq ICQoc2xhYl9zaXplICQyICQzKSAtICQoc2xhYl9jb3VudCAkMSAkMykgKiAkKHNsYWJfc2l6ZSAk MSAkMykgKSk7IH0NCisNCisNCit0ZXN0CU1lbW9yeSB1c2FnZTogYWxsIFRDUCBhbmQgVURQIHBv cnRzIGZvcndhcmRlZCwgSVB2NCBhbmQgSVB2Ng0KK3NldAlPUFRTIC10IGFsbCAtdSBhbGwNCitz dGFydF9zdG9wX2RpZmYNCitzdW1tYXJ5DQorDQoraW5mbwlVc2Vyc3BhY2UgbWVtb3J5IGRldGFp bA0KK2luZm8JDQordGgJc3ltYm9sIE1pQg0KK3NldAlXSEFUIHRjcF9idWZfZGlzY2FyZA0KK25t X3Jvdw0KK3NldAlXSEFUIHRjcDZfbDJfYnVmDQorbm1fcm93DQorc2V0CVdIQVQgdGNwNF9sMl9i dWYNCitubV9yb3cNCitzZXQJV0hBVCB0Yw0KK25tX3Jvdw0KK3NldAlXSEFUIHBrdF9idWYNCitu bV9yb3cNCitzZXQJV0hBVCB1ZHBfc3BsaWNlX21hcA0KK25tX3Jvdw0KK3NldAlXSEFUIHVkcDZf bDJfYnVmDQorbm1fcm93DQorc2V0CVdIQVQgdWRwNF9sMl9idWYNCitubV9yb3cNCitzZXQJV0hB VCB1ZHBfdGFwX21hcA0KK25tX3Jvdw0KK3NldAlXSEFUIGljbXBfaWRfbWFwDQorbm1fcm93DQor c2V0CVdIQVQgdWRwX3NwbGljZV9idWYNCitubV9yb3cNCitzZXQJV0hBVCB0Y19oYXNoDQorbm1f cm93DQorc2V0CVdIQVQgcG9vbF90YXA2X3N0b3JhZ2UNCitubV9yb3cNCitzZXQJV0hBVCBwb29s X3RhcDRfc3RvcmFnZQ0KK25tX3Jvdw0KK3NldAlXSEFUIHRhcDZfbDQNCitubV9yb3cNCitzZXQJ V0hBVCB0YXA0X2w0DQorbm1fcm93DQordGUNCisNCitpbmZvCUtlcm5lbCBtZW1vcnkgZGV0YWls DQoraW5mbwkNCit0aAlvYmplY3RzIGNvdW50IHNpemUgTWlCDQorc2V0CVdIQVQgcGlkDQorc2xh Yl9yb3cNCitzZXQJV0hBVCBkZW50cnkNCitzbGFiX3Jvdw0KK3NldAlXSEFUIEFjcGktUGFyc2UN CitzbGFiX3Jvdw0KK3NldAlXSEFUIGttYWxsb2MtNjQNCitzbGFiX3Jvdw0KK3NldAlXSEFUIGtt YWxsb2MtMzINCitzbGFiX3Jvdw0KK3NldAlXSEFUIGxzbV9maWxlX2NhY2hlDQorc2xhYl9yb3cN CitzZXQJV0hBVCBmaWxwDQorc2xhYl9yb3cNCitzZXQJV0hBVCBhbm9uX3ZtYV9jaGFpbg0KK3Ns YWJfcm93DQorc2V0CVdIQVQgZXBfaGVhZA0KK3NsYWJfcm93DQorc2V0CVdIQVQgc29ja19pbm9k ZV9jYWNoZQ0KK3NsYWJfcm93DQorc2V0CVdIQVQgc2lnbmFsX2NhY2hlDQorc2xhYl9yb3cNCitz ZXQJV0hBVCBUQ1B2Ng0KK3NsYWJfcm93DQorc2V0CVdIQVQgVENQDQorc2xhYl9yb3cNCitzZXQJ V0hBVCBVRFB2Ng0KK3NsYWJfcm93DQordGUNCisNCisNCit0ZXN0CU1lbW9yeSB1c2FnZTogYWxs IFRDUCBwb3J0cyBmb3J3YXJkZWQsIElQdjQNCitzZXQJT1BUUyAtdCBhbGwgLTQNCitzdGFydF9z dG9wX2RpZmYNCitzdW1tYXJ5DQorDQorDQordGVzdAlNZW1vcnkgdXNhZ2U6IGFsbCBUQ1AgYW5k IFVEUCBwb3J0cyBmb3J3YXJkZWQsIElQdjQNCitzZXQJT1BUUyAtdCBhbGwgLXUgYWxsIC00DQor c3RhcnRfc3RvcF9kaWZmDQorc3VtbWFyeQ0KKw0KKw0KK3Rlc3QJTWVtb3J5IHVzYWdlOiBubyBw b3J0cyBmb3J3YXJkZWQNCitzZXQJT1BUUyAtdCBub25lIC11IG5vbmUNCitzdGFydF9zdG9wX2Rp ZmYNCitzdW1tYXJ5DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9uc3Rvb2wuYyBiL29sZHRlc3QvbnN0 b29sLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5lNmQ3ZDM3DQotLS0g L2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L25zdG9vbC5jDQpAQCAtMCwwICsxLDU2NSBAQA0KKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorDQorLyogbnN0b29s IC0gbWFpbnRhaW4gYSBuYW1lc3BhY2UgdG8gYmUgZW50ZXJlZCBieSBvdGhlciBwcm9jZXNzZXMN CisgKg0KKyAqIENvcHlyaWdodCBSZWQgSGF0DQorICogQXV0aG9yOiBEYXZpZCBHaWJzb24gPGRh dmlkQGdpYnNvbi5kcm9wYmVhci5pZC5hdT4NCisgKi8NCisNCisjZGVmaW5lIF9HTlVfU09VUkNF DQorDQorI2luY2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1ZGUgPHN0ZGxpYi5oPg0KKyNpbmNsdWRl IDxzdHJpbmcuaD4NCisjaW5jbHVkZSA8c3RkYm9vbC5oPg0KKyNpbmNsdWRlIDxzdGRpbnQuaD4N CisjaW5jbHVkZSA8ZXJybm8uaD4NCisjaW5jbHVkZSA8dW5pc3RkLmg+DQorI2luY2x1ZGUgPGdl dG9wdC5oPg0KKyNpbmNsdWRlIDxzdGRhcmcuaD4NCisjaW5jbHVkZSA8bGltaXRzLmg+DQorI2lu Y2x1ZGUgPGZjbnRsLmg+DQorI2luY2x1ZGUgPGxpbWl0cy5oPg0KKyNpbmNsdWRlIDx1bmlzdGQu aD4NCisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KKyNp bmNsdWRlIDxzeXMvc3lzY2FsbC5oPg0KKyNpbmNsdWRlIDxzeXMvcHJjdGwuaD4NCisjaW5jbHVk ZSA8bGludXgvdW4uaD4NCisjaW5jbHVkZSA8c2NoZWQuaD4NCisjaW5jbHVkZSA8bGludXgvY2Fw YWJpbGl0eS5oPg0KKw0KKyNkZWZpbmUJQVJSQVlfU0laRShhKQkoKGludCkoc2l6ZW9mKGEpIC8g c2l6ZW9mKChhKVswXSkpKQ0KKw0KKyNkZWZpbmUgZGllKC4uLikJCQkJXA0KKwlkbyB7CQkJCQlc DQorCQlmcHJpbnRmKHN0ZGVyciwgX19WQV9BUkdTX18pOwlcDQorCQlleGl0KDEpOwkJCVwNCisJ fSB3aGlsZSAoMCkNCisNCitzdHJ1Y3QgbnNfdHlwZSB7DQorCWludCBmbGFnOw0KKwljb25zdCBj aGFyICpuYW1lOw0KK307DQorDQorY29uc3Qgc3RydWN0IG5zX3R5cGUgbnN0eXBlc1tdID0gew0K Kwl7IENMT05FX05FV0NHUk9VUCwgImNncm91cCIgfSwNCisJeyBDTE9ORV9ORVdJUEMsICJpcGMi IH0sDQorCXsgQ0xPTkVfTkVXTkVULCAibmV0IiB9LA0KKwl7IENMT05FX05FV05TLCAibW50IiB9 LA0KKwl7IENMT05FX05FV1BJRCwgInBpZCIgfSwNCisJeyBDTE9ORV9ORVdUSU1FLCAidGltZSIg fSwNCisJeyBDTE9ORV9ORVdVU0VSLCAidXNlciIgfSwNCisJeyBDTE9ORV9ORVdVVFMsICJ1dHMi IH0sDQorfTsNCisNCisjZGVmaW5lIGZvcl9lYWNoX25zdChfbnN0LCBfZmxhZ3MpCQkJCVwNCisJ Zm9yICgoX25zdCkgPSAmbnN0eXBlc1swXTsJCQkJXA0KKwkgICAgICgoX25zdCkgLSBuc3R5cGVz KSA8IEFSUkFZX1NJWkUobnN0eXBlcyk7CQlcDQorCSAgICAgKF9uc3QpKyspCQkJCQkJXA0KKwkJ aWYgKChfZmxhZ3MpICYgKF9uc3QpLT5mbGFnKQ0KKw0KKyNkZWZpbmUgZm9yX2V2ZXJ5X25zdChf bnN0KQlmb3JfZWFjaF9uc3QoX25zdCwgSU5UX01BWCkNCisNCisjZGVmaW5lIE5TVE9PTF9NQUdJ QwkweDc1NzAwMTc1NzU2MDFkNzVVTEwNCisNCitzdHJ1Y3QgaG9sZGVyX2luZm8gew0KKwl1aW50 NjRfdCBtYWdpYzsNCisJcGlkX3QgcGlkOw0KKwl1aWRfdCB1aWQ7DQorCWdpZF90IGdpZDsNCisJ Y2hhciBjd2RbUEFUSF9NQVhdOw0KK307DQorDQorc3RhdGljIHZvaWQgdXNhZ2Uodm9pZCkNCit7 DQorCWRpZSgiVXNhZ2U6XG4iDQorCSAgICAiICBuc3Rvb2wgaG9sZCBTT0NLXG4iDQorCSAgICAi ICAgIFJ1biB3aXRoaW4gYSBzZXQgb2YgbmFtZXNwYWNlcywgb3BlbiBhIFVuaXggZG9tYWluIHNv Y2tldFxuIg0KKwkgICAgIiAgICAodGhlIFwiY29udHJvbCBzb2NrZXRcIikgYXQgU09DSyBhbmQg d2FpdCBmb3IgcmVxdWVzdHMgZnJvbVxuIg0KKwkgICAgIiAgICBvdGhlciBuc3Rvb2wgc3ViY29t bWFuZHMuXG4iDQorCSAgICAiICBuc3Rvb2wgaW5mbyBbLXB3XSBwaWQgU09DS1xuIg0KKwkgICAg IiAgICBQcmludCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbnN0b29sIGhvbGQgcHJvY2VzcyB3aXRo IGNvbnRyb2xcbiINCisJICAgICIgICAgc29ja2V0IGF0IFNPQ0tcbiINCisJICAgICIgICAgICAt cCAgICAgICAgICBQcmludCBqdXN0IHRoZSBob2xkZXIncyBQSUQgYXMgc2VlbiBieSB0aGUgY2Fs bGVyXG4iDQorCSAgICAiICAgICAgLXcgICAgICAgICAgUmV0cnkgY29ubmVjdGluZyB0byBTT0NL IHVudGlsIGl0IGlzIHJlYWR5XG4iDQorCSAgICAiICBuc3Rvb2wgZXhlYyBbLS1rZWVwLWNhcHNd IFNPQ0sgW0NPTU1BTkQgW0FSR1MuLi5dXVxuIg0KKwkgICAgIiAgICBFeGVjdXRlIGNvbW1hbmQg b3Igc2hlbGwgaW4gdGhlIG5hbWVzcGFjZXMgb2YgdGhlIG5zdG9vbCBob2xkXG4iDQorCSAgICAi ICAgIHdpdGggY29udHJvbCBzb2NrZXQgYXQgU09DS1xuIg0KKwkgICAgIiAgICAgIC0ta2VlcC1j YXBzIEdpdmUgYWxsIHBvc3NpYmxlIGNhcGFiaWxpdGllcyB0byBDT01NQU5EIHZpYVxuIg0KKwkg ICAgIiAgICAgICAgICAgICAgICAgIHRoZSBhbWJpZW50IGNhcGFiaWxpdHkgbWFza1xuIg0KKwkg ICAgIiAgbnN0b29sIHN0b3AgU09DS1xuIg0KKwkgICAgIiAgICBJbnN0cnVjdCB0aGUgbnN0b29s IGhvbGQgd2l0aCBjb250cm9sIHNvY2tldCBhdCBTT0NLIHRvXG4iDQorCSAgICAiICAgIHRlcm1p bmF0ZS5cbiIpOw0KK30NCisNCitzdGF0aWMgaW50IGNvbm5lY3RfY3RsKGNvbnN0IGNoYXIgKnNv Y2twYXRoLCBib29sIHdhaXQsDQorCQkgICAgICAgc3RydWN0IGhvbGRlcl9pbmZvICppbmZvLA0K KwkJICAgICAgIHN0cnVjdCB1Y3JlZCAqcGVlcmNyZWQpDQorew0KKwlpbnQgZmQgPSBzb2NrZXQo QUZfVU5JWCwgU09DS19TVFJFQU0gfCBTT0NLX0NMT0VYRUMsIFBGX1VOSVgpOw0KKwlzdHJ1Y3Qg c29ja2FkZHJfdW4gYWRkciA9IHsNCisJCS5zdW5fZmFtaWx5ID0gQUZfVU5JWCwNCisJfTsNCisJ c3RydWN0IGhvbGRlcl9pbmZvIGRpc2NhcmQ7DQorCXNzaXplX3QgbGVuOw0KKwlpbnQgcmM7DQor DQorCWlmIChmZCA8IDApDQorCQlkaWUoInNvY2tldCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8p KTsNCisNCisJc3RybmNweShhZGRyLnN1bl9wYXRoLCBzb2NrcGF0aCwgVU5JWF9QQVRIX01BWCk7 DQorDQorCWRvIHsNCisJCXJjID0gY29ubmVjdChmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZhZGRy LCBzaXplb2YoYWRkcikpOw0KKwkJaWYgKHJjIDwgMCAmJg0KKwkJICAgICghd2FpdCB8fCAoZXJy bm8gIT0gRU5PRU5UICYmIGVycm5vICE9IEVDT05OUkVGVVNFRCkpKQ0KKwkJCWRpZSgiY29ubmVj dCgpIHRvICVzOiAlc1xuIiwgc29ja3BhdGgsIHN0cmVycm9yKGVycm5vKSk7DQorCX0gd2hpbGUg KHJjIDwgMCk7DQorDQorCWlmICghaW5mbykNCisJCWluZm8gPSAmZGlzY2FyZDsNCisNCisJLyog QWx3YXlzIHJlYWQgdGhlIGluZm8gc3RydWN0dXJlLCBldmVuIGlmIHdlIGRvbid0IG5lZWQgaXQs DQorCSAqIHNvIHRoYXQgdGhlIGhvbGRlciBkb2Vzbid0IGdldCBhIGJyb2tlbiBwaXBlIGVycm9y DQorCSAqLw0KKwlsZW4gPSByZWFkKGZkLCBpbmZvLCBzaXplb2YoKmluZm8pKTsNCisJaWYgKGxl biA8IDApDQorCQlkaWUoInJlYWQoKSBvbiBjb250cm9sIHNvY2tldCAlczogJXNcbiIsIHNvY2tw YXRoLCBzdHJlcnJvcihlcnJubykpOw0KKwlpZiAoKHNpemVfdClsZW4gPCBzaXplb2YoKmluZm8p KQ0KKwkJZGllKCJzaG9ydCByZWFkKCkgb24gY29udHJvbCBzb2NrZXQgJXNcbiIsIHNvY2twYXRo KTsNCisNCisJaWYgKGluZm8tPm1hZ2ljICE9IE5TVE9PTF9NQUdJQykNCisJCWRpZSgiQ29udHJv bCBzb2NrZXQgJXMgZG9lc24ndCBhcHBlYXIgdG8gYmVsb25nIHRvIG5zdG9vbFxuIiwNCisJCSAg ICBzb2NrcGF0aCk7DQorDQorCWlmIChwZWVyY3JlZCkgew0KKwkJc29ja2xlbl90IG9wdGxlbiA9 IHNpemVvZigqcGVlcmNyZWQpOw0KKw0KKwkJcmMgPSBnZXRzb2Nrb3B0KGZkLCBTT0xfU09DS0VU LCBTT19QRUVSQ1JFRCwNCisJCQkJcGVlcmNyZWQsICZvcHRsZW4pOw0KKwkJaWYgKHJjIDwgMCkN CisJCQlkaWUoImdldHNvY2tvcGV0KFNPX1BFRVJDUkVEKSAlczogJXNcbiIsDQorCQkJICAgIHNv Y2twYXRoLCBzdHJlcnJvcihlcnJubykpOw0KKwl9DQorDQorCXJldHVybiBmZDsNCit9DQorDQor c3RhdGljIHZvaWQgY21kX2hvbGQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCit7DQorCWludCBm ZCA9IHNvY2tldChBRl9VTklYLCBTT0NLX1NUUkVBTSB8IFNPQ0tfQ0xPRVhFQywgUEZfVU5JWCk7 DQorCXN0cnVjdCBzb2NrYWRkcl91biBhZGRyID0gew0KKwkJLnN1bl9mYW1pbHkgPSBBRl9VTklY LA0KKwl9Ow0KKwljb25zdCBjaGFyICpzb2NrcGF0aCA9IGFyZ3ZbMV07DQorCXN0cnVjdCBob2xk ZXJfaW5mbyBpbmZvOw0KKwlpbnQgcmM7DQorDQorCWlmIChhcmdjICE9IDIpDQorCQl1c2FnZSgp Ow0KKw0KKwlpZiAoZmQgPCAwKQ0KKwkJZGllKCJzb2NrZXQoKTogJXNcbiIsIHN0cmVycm9yKGVy cm5vKSk7DQorDQorCXN0cm5jcHkoYWRkci5zdW5fcGF0aCwgc29ja3BhdGgsIFVOSVhfUEFUSF9N QVgpOw0KKw0KKwlyYyA9IGJpbmQoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkciwgc2l6ZW9m KGFkZHIpKTsNCisJaWYgKHJjIDwgMCkNCisJCWRpZSgiYmluZCgpIHRvICVzOiAlc1xuIiwgc29j a3BhdGgsIHN0cmVycm9yKGVycm5vKSk7DQorDQorCXJjID0gbGlzdGVuKGZkLCAwKTsNCisJaWYg KHJjIDwgMCkNCisJCWRpZSgibGlzdGVuKCkgb24gJXM6ICVzXG4iLCBzb2NrcGF0aCwgc3RyZXJy b3IoZXJybm8pKTsNCisNCisJaW5mby5tYWdpYyA9IE5TVE9PTF9NQUdJQzsNCisJaW5mby5waWQg PSBnZXRwaWQoKTsNCisJaW5mby51aWQgPSBnZXR1aWQoKTsNCisJaW5mby5naWQgPSBnZXRnaWQo KTsNCisJaWYgKCFnZXRjd2QoaW5mby5jd2QsIHNpemVvZihpbmZvLmN3ZCkpKQ0KKwkJZGllKCJn ZXRjd2QoKTogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQorDQorCWRvIHsNCisJCWludCBhZmQg PSBhY2NlcHQoZmQsIE5VTEwsIE5VTEwpOw0KKwkJY2hhciBidWY7DQorDQorCQlpZiAoYWZkIDwg MCkNCisJCQlkaWUoImFjY2VwdCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisNCisJCXJj ID0gd3JpdGUoYWZkLCAmaW5mbywgc2l6ZW9mKGluZm8pKTsNCisJCWlmIChyYyA8IDApDQorCQkJ ZGllKCJ3cml0ZSgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisJCWlmICgoc2l6ZV90KXJj IDwgc2l6ZW9mKGluZm8pKQ0KKwkJCWRpZSgic2hvcnQgd3JpdGUoKSBvbiBjb250cm9sIHNvY2tl dFxuIik7DQorDQorCQlyYyA9IHJlYWQoYWZkLCAmYnVmLCBzaXplb2YoYnVmKSk7DQorCQlpZiAo cmMgPCAwKQ0KKwkJCWRpZSgicmVhZCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisJfSB3 aGlsZSAocmMgPT0gMCk7DQorDQorCXVubGluayhzb2NrcGF0aCk7DQorfQ0KKw0KK3N0YXRpYyBz c2l6ZV90IGdldGxpbmsoY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6LCBjb25zdCBjaGFyICpmbXQs IC4uLikNCit7DQorCWNoYXIgbGlua3BhdGhbUEFUSF9NQVhdOw0KKwlzc2l6ZV90IGxpbmtsZW47 DQorCXZhX2xpc3QgYXA7DQorDQorCXZhX3N0YXJ0KGFwLCBmbXQpOw0KKwlpZiAodnNucHJpbnRm KGxpbmtwYXRoLCBzaXplb2YobGlua3BhdGgpLCBmbXQsIGFwKSA+PSBQQVRIX01BWCkNCisJCWRp ZSgiVHJ1bmNhdGVkIHBhdGggXCIlc1wiXG4iLCBsaW5rcGF0aCk7DQorCXZhX2VuZChhcCk7DQor DQorCWxpbmtsZW4gPSByZWFkbGluayhsaW5rcGF0aCwgYnVmLCBidWZzaXopOw0KKwlpZiAobGlu a2xlbiA8IDApDQorCQlkaWUoInJlYWRsaW5rKCkgb24gJXM6ICVzXG4iLCBsaW5rcGF0aCwgc3Ry ZXJyb3IoZXJybm8pKTsNCisJaWYgKChzaXplX3QpbGlua2xlbiA+PSBidWZzaXopDQorCQlkaWUo IlRhcmdldCBvZiBzeW1ib2xpYyBsaW5rICVzIGlzIHRvbyBsb25nXG4iLCBsaW5rcGF0aCk7DQor DQorCXJldHVybiBsaW5rbGVuOw0KK30NCisNCitzdGF0aWMgaW50IGRldGVjdF9uYW1lc3BhY2Vz KHBpZF90IHBpZCkNCit7DQorCWNvbnN0IHN0cnVjdCBuc190eXBlICpuc3Q7DQorCWludCBmbGFn cyA9IDA7DQorDQorCWZvcl9ldmVyeV9uc3QobnN0KSB7DQorCQljaGFyIHNlbGZsaW5rW1BBVEhf TUFYXSwgcGlkbGlua1tQQVRIX01BWF07DQorCQlzc2l6ZV90IHNlbGZsZW4sIHBpZGxlbjsNCisN CisJCXNlbGZsZW4gPSBnZXRsaW5rKHNlbGZsaW5rLCBzaXplb2Yoc2VsZmxpbmspLA0KKwkJCQkg ICIvcHJvYy9zZWxmL25zLyVzIiwgbnN0LT5uYW1lKTsNCisJCXBpZGxlbiA9IGdldGxpbmsocGlk bGluaywgc2l6ZW9mKHBpZGxpbmspLA0KKwkJCQkgIi9wcm9jLyVkL25zLyVzIiwgcGlkLCBuc3Qt Pm5hbWUpOw0KKw0KKwkJaWYgKChzZWxmbGVuICE9IHBpZGxlbikgfHwgbWVtY21wKHNlbGZsaW5r LCBwaWRsaW5rLCBzZWxmbGVuKSkNCisJCQlmbGFncyB8PSBuc3QtPmZsYWc7DQorCX0NCisNCisJ cmV0dXJuIGZsYWdzOw0KK30NCisNCitzdGF0aWMgdm9pZCBwcmludF9uc3R5cGVzKGludCBmbGFn cykNCit7DQorCWNvbnN0IHN0cnVjdCBuc190eXBlICpuc3Q7DQorCWJvb2wgZmlyc3QgPSB0cnVl Ow0KKw0KKwlmb3JfZWFjaF9uc3QobnN0LCBmbGFncykgew0KKwkJcHJpbnRmKCIlcyVzIiwgZmly c3QgPyAiIiA6ICIsICIgLCBuc3QtPm5hbWUpOw0KKwkJZmlyc3QgPSBmYWxzZTsNCisJCWZsYWdz ICY9IH5uc3QtPmZsYWc7DQorCX0NCisNCisJaWYgKGZsYWdzKQ0KKwkJcHJpbnRmKCIlczB4JXgi LCBmaXJzdCA/ICIiIDogIiwgIiwgZmxhZ3MpOw0KK30NCisNCitzdGF0aWMgdm9pZCBjbWRfaW5m byhpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KK3sNCisJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRp b25zW10gPSB7DQorCQl7InBpZCIsCQlub19hcmd1bWVudCwgCU5VTEwsCSdwJyB9LA0KKwkJeyJ3 YWl0IiwJbm9fYXJndW1lbnQsCU5VTEwsCSd3JyB9LA0KKwkJeyAwIH0sDQorCX07DQorCWJvb2wg cGlkb25seSA9IGZhbHNlLCB3YWl0Zm9yc29jayA9IGZhbHNlOw0KKwljb25zdCBjaGFyICpvcHRz dHJpbmcgPSAicHciOw0KKwlzdHJ1Y3QgaG9sZGVyX2luZm8gaW5mbzsNCisJc3RydWN0IHVjcmVk IHBlZXJjcmVkOw0KKwljb25zdCBjaGFyICpzb2NrcGF0aDsNCisJaW50IGZkLCBvcHQ7DQorDQor CWRvIHsNCisJCW9wdCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsIG9wdHN0cmluZywgb3B0aW9u cywgTlVMTCk7DQorDQorCQlzd2l0Y2ggKG9wdCkgew0KKwkJY2FzZSAncCc6DQorCQkJcGlkb25s eSA9IHRydWU7DQorCQkJYnJlYWs7DQorCQljYXNlICd3JzoNCisJCQl3YWl0Zm9yc29jayA9IHRy dWU7DQorCQkJYnJlYWs7DQorCQljYXNlIC0xOg0KKwkJCWJyZWFrOw0KKwkJZGVmYXVsdDoNCisJ CQl1c2FnZSgpOw0KKwkJfQ0KKwl9IHdoaWxlIChvcHQgIT0gLTEpOw0KKw0KKwlpZiAob3B0aW5k ICE9IGFyZ2MgLSAxKSB7DQorCQl1c2FnZSgpOw0KKwl9DQorDQorCXNvY2twYXRoID0gYXJndltv cHRpbmRdOw0KKw0KKwlmZCA9IGNvbm5lY3RfY3RsKHNvY2twYXRoLCB3YWl0Zm9yc29jaywgJmlu Zm8sICZwZWVyY3JlZCk7DQorDQorCWNsb3NlKGZkKTsNCisNCisJaWYgKHBpZG9ubHkpIHsNCisJ CXByaW50ZigiJWRcbiIsIHBlZXJjcmVkLnBpZCk7DQorCX0gZWxzZSB7DQorCQlpbnQgZmxhZ3Mg PSBkZXRlY3RfbmFtZXNwYWNlcyhwZWVyY3JlZC5waWQpOw0KKw0KKwkJcHJpbnRmKCJOYW1lc3Bh Y2VzOiAiKTsNCisJCXByaW50X25zdHlwZXMoZmxhZ3MpOw0KKwkJcHJpbnRmKCJcbiIpOw0KKw0K KwkJcHJpbnRmKCJBcyBzZWVuIGZyb20gY2FsbGluZyBjb250ZXh0OlxuIik7DQorCQlwcmludGYo Ilx0UElEOlx0JWRcbiIsIHBlZXJjcmVkLnBpZCk7DQorCQlwcmludGYoIlx0VUlEOlx0JXVcbiIs IHBlZXJjcmVkLnVpZCk7DQorCQlwcmludGYoIlx0R0lEOlx0JXVcbiIsIHBlZXJjcmVkLmdpZCk7 DQorDQorCQlwcmludGYoIkFzIHNlZW4gZnJvbSBob2xkaW5nIGNvbnRleHQ6XG4iKTsNCisJCXBy aW50ZigiXHRQSUQ6XHQlZFxuIiwgaW5mby5waWQpOw0KKwkJcHJpbnRmKCJcdFVJRDpcdCV1XG4i LCBpbmZvLnVpZCk7DQorCQlwcmludGYoIlx0R0lEOlx0JXVcbiIsIGluZm8uZ2lkKTsNCisJCXBy aW50ZigiXHRDV0Q6XHQlc1xuIiwgaW5mby5jd2QpOw0KKwl9DQorfQ0KKw0KK3N0YXRpYyBpbnQg b3Blbm5zKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQ0KK3sNCisJY2hhciBuc3BhdGhbUEFUSF9NQVhd Ow0KKwl2YV9saXN0IGFwOw0KKwlpbnQgZmQ7DQorDQorCXZhX3N0YXJ0KGFwLCBmbXQpOw0KKwlp ZiAodnNucHJpbnRmKG5zcGF0aCwgc2l6ZW9mKG5zcGF0aCksIGZtdCwgYXApID49IFBBVEhfTUFY KQ0KKwkJZGllKCJUcnVuY2F0ZWQgcGF0aCBcIiVzXCJcbiIsIG5zcGF0aCk7DQorCXZhX2VuZChh cCk7DQorDQorCWZkID0gb3Blbihuc3BhdGgsIE9fUkRPTkxZIHwgT19DTE9FWEVDKTsNCisJaWYg KGZkIDwgMCkNCisJCWRpZSgib3BlbigpICVzOiAlc1xuIiwgbnNwYXRoLCBzdHJlcnJvcihlcnJu bykpOw0KKw0KKwlyZXR1cm4gZmQ7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIHdhaXRfZm9yX2NoaWxk KHBpZF90IHBpZCkNCit7DQorCWludCBzdGF0dXM7DQorDQorCS8qIE1hdGNoIHRoZSBjaGlsZCdz IGV4aXQgc3RhdHVzLCBpZiBwb3NzaWJsZSAqLw0KKwlmb3IgKDs7KSB7DQorCQlwaWRfdCByYzsN CisNCisJCXJjID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIFdVTlRSQUNFRCk7DQorCQlpZiAocmMg PCAwKQ0KKwkJCWRpZSgid2FpdHBpZCgpIG9uICVkOiAlc1xuIiwgcGlkLCBzdHJlcnJvcihlcnJu bykpOw0KKwkJaWYgKHJjICE9IHBpZCkNCisJCQlkaWUoIndhaXRwaWQoKSBvbiAlZCByZXR1cm5l ZCAlZCIsIHBpZCwgcmMpOw0KKwkJaWYgKFdJRlNUT1BQRUQoc3RhdHVzKSkgew0KKwkJCS8qIFN0 b3AgdGhlIHBhcmVudCB0byBwYXRjaCAqLw0KKwkJCWtpbGwoZ2V0cGlkKCksIFNJR1NUT1ApOw0K KwkJCS8qIFdlIG11c3QgaGF2ZSByZXN1bWVkLCByZXN1bWUgdGhlIGNoaWxkICovDQorCQkJa2ls bChwaWQsIFNJR0NPTlQpOw0KKwkJCWNvbnRpbnVlOw0KKwkJfQ0KKw0KKwkJYnJlYWs7DQorCX0N CisNCisJaWYgKFdJRkVYSVRFRChzdGF0dXMpKQ0KKwkJZXhpdChXRVhJVFNUQVRVUyhzdGF0dXMp KTsNCisJZWxzZSBpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkNCisJCWtpbGwoZ2V0cGlkKCksIFdU RVJNU0lHKHN0YXR1cykpOw0KKw0KKwlkaWUoIlVuZXhwZWN0ZWQgc3RhdHVzIGZvciBjaGlsZCAl ZFxuIiwgcGlkKTsNCit9DQorDQorc3RhdGljIHZvaWQgY2Fwc190b19hbWJpZW50KHZvaWQpDQor ew0KKwkvKiBVc2UgcmF3IHN5c3RlbSBjYWxscyB0byBhdm9pZCB0aGUgb3Zlcmx5IGNvbXBsZXgg Y2Fwcw0KKwkgKiBsaWJyYXJpZXMuICovDQorCXN0cnVjdCBfX3VzZXJfY2FwX2hlYWRlcl9zdHJ1 Y3QgaGVhZGVyID0gew0KKwkJLnZlcnNpb24gPSBfTElOVVhfQ0FQQUJJTElUWV9WRVJTSU9OXzMs DQorCQkucGlkID0gMCwNCisJfTsNCisJc3RydWN0IF9fdXNlcl9jYXBfZGF0YV9zdHJ1Y3QgcGF5 bG9hZFtfTElOVVhfQ0FQQUJJTElUWV9VMzJTXzNdID0NCisJCXt7IDAgfX07DQorCXVpbnQ2NF90 IGVmZmVjdGl2ZSwgY2FwOw0KKw0KKwlpZiAoc3lzY2FsbChTWVNfY2FwZ2V0LCAmaGVhZGVyLCBw YXlsb2FkKSA8IDApDQorCQlkaWUoImNhcGdldCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsN CisNCisJLyogRmlyc3QgbWFrZSBjYXBzIGluaGVyaXRhYmxlICovDQorCXBheWxvYWRbMF0uaW5o ZXJpdGFibGUgPSBwYXlsb2FkWzBdLnBlcm1pdHRlZDsNCisJcGF5bG9hZFsxXS5pbmhlcml0YWJs ZSA9IHBheWxvYWRbMV0ucGVybWl0dGVkOw0KKw0KKwlpZiAoc3lzY2FsbChTWVNfY2Fwc2V0LCAm aGVhZGVyLCBwYXlsb2FkKSA8IDApDQorCQlkaWUoImNhcHNldCgpOiAlc1xuIiwgc3RyZXJyb3Io ZXJybm8pKTsNCisNCisJZWZmZWN0aXZlID0gKCh1aW50NjRfdClwYXlsb2FkWzFdLmVmZmVjdGl2 ZSA8PCAzMikgfCAodWludDY0X3QpcGF5bG9hZFswXS5lZmZlY3RpdmU7DQorDQorCWZvciAoY2Fw ID0gMDsgY2FwIDwgKHNpemVvZihlZmZlY3RpdmUpICogOCk7IGNhcCsrKSB7DQorCQkvKiBTa2lw IG5vbi1leGlzdGVudCBjYXBzICovDQorCQlpZiAocHJjdGwoUFJfQ0FQQlNFVF9SRUFELCBjYXAs IDAsIDAsIDApIDwgMCkNCisJCQljb250aW51ZTsNCisNCisJCWlmICgoZWZmZWN0aXZlICYgKDEg PDwgY2FwKSkNCisJCSAgICAmJiBwcmN0bChQUl9DQVBfQU1CSUVOVCwgUFJfQ0FQX0FNQklFTlRf UkFJU0UsIGNhcCwgMCwgMCkgPCAwKQ0KKwkJCWRpZSgicHJjdGwoUFJfQ0FQX0FNQklFTlQpOiAl c1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisJfQ0KK30NCisNCitzdGF0aWMgdm9pZCBjbWRfZXhl YyhpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KK3sNCisJZW51bSB7DQorCQlPUFRfRVhFQ19LRUVQ Q0FQUyA9IENIQVJfTUFYICsgMSwNCisJfTsNCisJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25z W10gPSB7DQorCQl7ImtlZXAtY2FwcyIsCW5vX2FyZ3VtZW50LCAJTlVMTCwJT1BUX0VYRUNfS0VF UENBUFMgfSwNCisJCXsgMCB9LA0KKwl9Ow0KKwljb25zdCBjaGFyICpzaGFyZ3NbXSA9IHsgTlVM TCwgTlVMTCB9Ow0KKwljb25zdCBjaGFyICpzb2NrcGF0aCA9IGFyZ3ZbMV07DQorCWludCBuZmRb QVJSQVlfU0laRShuc3R5cGVzKV07DQorCWNvbnN0IGNoYXIgKm9wdHN0cmluZyA9ICIiOw0KKwlj b25zdCBzdHJ1Y3QgbnNfdHlwZSAqbnN0Ow0KKwlpbnQgY3RsZmQsIGZsYWdzLCBvcHQsIHJjOw0K Kwljb25zdCBjaGFyICpjb25zdCAqeGFyZ3M7DQorCXN0cnVjdCBob2xkZXJfaW5mbyBpbmZvOw0K Kwlib29sIGtlZXBjYXBzID0gZmFsc2U7DQorCXN0cnVjdCB1Y3JlZCBwZWVyY3JlZDsNCisJY29u c3QgY2hhciAqZXhlOw0KKwlwaWRfdCB4cGlkOw0KKw0KKwlkbyB7DQorCQlvcHQgPSBnZXRvcHRf bG9uZyhhcmdjLCBhcmd2LCBvcHRzdHJpbmcsIG9wdGlvbnMsIE5VTEwpOw0KKw0KKwkJc3dpdGNo IChvcHQpIHsNCisJCWNhc2UgT1BUX0VYRUNfS0VFUENBUFM6DQorCQkJa2VlcGNhcHMgPSB0cnVl Ow0KKwkJCWJyZWFrOw0KKwkJY2FzZSAtMToNCisJCQlicmVhazsNCisJCWRlZmF1bHQ6DQorCQkJ dXNhZ2UoKTsNCisJCX0NCisJfSB3aGlsZSAob3B0ICE9IC0xKTsNCisNCisJaWYgKGFyZ2MgPCBv cHRpbmQgKyAxKQ0KKwkJdXNhZ2UoKTsNCisNCisJc29ja3BhdGggPSBhcmd2W29wdGluZF07DQor DQorCWN0bGZkID0gY29ubmVjdF9jdGwoc29ja3BhdGgsIGZhbHNlLCAmaW5mbywgJnBlZXJjcmVk KTsNCisNCisJZmxhZ3MgPSBkZXRlY3RfbmFtZXNwYWNlcyhwZWVyY3JlZC5waWQpOw0KKw0KKwlm b3JfZWFjaF9uc3QobnN0LCBmbGFncykgew0KKwkJaW50ICpmZCA9ICZuZmRbbnN0IC0gbnN0eXBl c107DQorCQkqZmQgPSBvcGVubnMoIi9wcm9jLyVkL25zLyVzIiwgcGVlcmNyZWQucGlkLCBuc3Qt Pm5hbWUpOw0KKwl9DQorDQorCS8qIEZpcnN0IHBhc3MsIHdpbGwgZ2V0IHRoaW5ncyB3aGVyZSB3 ZSBuZWVkIHRoZSBwcml2aWxlZ2VzIG9mDQorCSAqIHRoZSBpbml0aWFsIHVzZXJucyAqLw0KKwlm b3JfZWFjaF9uc3QobnN0LCBmbGFncykgew0KKwkJaW50IGZkID0gbmZkW25zdCAtIG5zdHlwZXNd Ow0KKw0KKwkJcmMgPSBzZXRucyhmZCwgbnN0LT5mbGFnKTsNCisJCWlmIChyYyA9PSAwKSB7DQor CQkJZmxhZ3MgJj0gfm5zdC0+ZmxhZzsNCisJCX0NCisJfQ0KKw0KKwkvKiBTZWNvbmQgcGFzcywg d2lsbCBnZXQgdGhpbmdzIHdoZXJlIHdlIG5lZWQgdGhlIHByaXZpbGVnZXMNCisJICogb2YgdGhl IHRhcmdldCB1c2VybnMgKi8NCisJZm9yX2VhY2hfbnN0KG5zdCwgZmxhZ3MpIHsNCisJCWludCBm ZCA9IG5mZFtuc3QgLSBuc3R5cGVzXTsNCisNCisJCXJjID0gc2V0bnMoZmQsIG5zdC0+ZmxhZyk7 DQorCQlpZiAocmMgPCAwKQ0KKwkJCWRpZSgic2V0bnMoKSB0eXBlICVzOiAlc1xuIiwNCisJCQkg ICAgbnN0LT5uYW1lLCBzdHJlcnJvcihlcnJubykpOw0KKwl9DQorDQorCS8qIElmIHdlJ3ZlIGVu dGVyZWQgYSBtb3VudCBucywgb3VyIGN3ZCBoYXMgY2hhbmdlZCB0byAvLg0KKwkgKiBTd2l0Y2gg dG8gdGhlIGN3ZCBvZiB0aGUgaG9sZGVyLCB3aGljaCBpcyBwcm9iYWJseSBsZXNzDQorCSAqIHN1 cnByaXNpbmcuICovDQorCWlmIChmbGFncyAmIENMT05FX05FV05TKSB7DQorCQlyYyA9IGNoZGly KGluZm8uY3dkKTsNCisJCWlmIChyYyA8IDApDQorCQkJZGllKCJjaGRpcihcIiVzXCIpOiAlc1xu IiwgaW5mby5jd2QsIHN0cmVycm9yKGVycm5vKSk7DQorCX0NCisNCisJLyogRm9yayB0byBwcm9w ZXJseSBlbnRlciBQSUQgbmFtZXNwYWNlICovDQorCXhwaWQgPSBmb3JrKCk7DQorCWlmICh4cGlk IDwgMCkNCisJCWRpZSgiZm9yaygpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisNCisJaWYg KHhwaWQgPiAwKSB7DQorCQkvKiBDbG9zZSB0aGUgY29udHJvbCBzb2NrZXQgc28gdGhlIHdhaXRp bmcgcGFyZW50DQorCQkgKiBkb2Vzbid0IGJsb2NrIHRoZSBob2xkZXIgKi8NCisJCWNsb3NlKGN0 bGZkKTsNCisJCXdhaXRfZm9yX2NoaWxkKHhwaWQpOw0KKwl9DQorDQorCS8qIENISUxEICovDQor CWlmIChhcmdjID4gb3B0aW5kICsgMSkgew0KKwkJZXhlID0gYXJndltvcHRpbmQgKyAxXTsNCisJ CXhhcmdzID0gKGNvbnN0IGNoYXIgKiBjb25zdCopKGFyZ3YgKyBvcHRpbmQgKyAxKTsNCisJfSBl bHNlIHsNCisJCWV4ZSA9IGdldGVudigiU0hFTEwiKTsNCisJCWlmICghZXhlKQ0KKwkJCWV4ZSA9 ICIvYmluL3NoIjsNCisNCisJCXNoYXJnc1swXSA9IGV4ZTsNCisNCisJCXhhcmdzID0gc2hhcmdz Ow0KKwl9DQorDQorCWlmIChrZWVwY2FwcykNCisJCWNhcHNfdG9fYW1iaWVudCgpOw0KKw0KKwly YyA9IGV4ZWN2cChleGUsIChjaGFyICpjb25zdCAqKXhhcmdzKTsNCisJaWYgKHJjIDwgMCkNCisJ CWRpZSgiZXhlY3YoKSAlczogJXNcbiIsIGV4ZSwgc3RyZXJyb3IoZXJybm8pKTsNCisJZGllKCJS ZXR1cm5lZCBmcm9tIGV4ZWMoKVxuIik7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGNtZF9zdG9wKGlu dCBhcmdjLCBjaGFyICphcmd2W10pDQorew0KKwljb25zdCBjaGFyICpzb2NrcGF0aCA9IGFyZ3Zb MV07DQorCWludCBmZCwgcmM7DQorCWNoYXIgYnVmID0gJ1EnOw0KKw0KKwlpZiAoYXJnYyAhPSAy KQ0KKwkJdXNhZ2UoKTsNCisNCisJZmQgPSBjb25uZWN0X2N0bChzb2NrcGF0aCwgZmFsc2UsIE5V TEwsIE5VTEwpOw0KKw0KKwlyYyA9IHdyaXRlKGZkLCAmYnVmLCBzaXplb2YoYnVmKSk7DQorCWlm IChyYyA8IDApDQorCQlkaWUoIndyaXRlKCkgdG8gJXM6ICVzXG4iLCBzb2NrcGF0aCwgc3RyZXJy b3IoZXJybm8pKTsNCisNCisJY2xvc2UoZmQpOw0KK30NCisNCitpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqYXJndltdKQ0KK3sNCisJY29uc3QgY2hhciAqc3ViY21kID0gYXJndlsxXTsNCisJaW50 IGZkOw0KKw0KKwlpZiAoYXJnYyA8IDIpDQorCQl1c2FnZSgpOw0KKw0KKwlmZCA9IHNvY2tldChB Rl9VTklYLCBTT0NLX1NUUkVBTSwgUEZfVU5JWCk7DQorCWlmIChmZCA8IDApDQorCQlkaWUoInNv Y2tldCgpOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisNCisJaWYgKHN0cmNtcChzdWJjbWQs ICJob2xkIikgPT0gMCkNCisJCWNtZF9ob2xkKGFyZ2MgLSAxLCBhcmd2ICsgMSk7DQorCWVsc2Ug aWYgKHN0cmNtcChzdWJjbWQsICJpbmZvIikgPT0gMCkNCisJCWNtZF9pbmZvKGFyZ2MgLSAxLCBh cmd2ICsgMSk7DQorCWVsc2UgaWYgKHN0cmNtcChzdWJjbWQsICJleGVjIikgPT0gMCkNCisJCWNt ZF9leGVjKGFyZ2MgLSAxLCBhcmd2ICsgMSk7DQorCWVsc2UgaWYgKHN0cmNtcChzdWJjbWQsICJz dG9wIikgPT0gMCkNCisJCWNtZF9zdG9wKGFyZ2MgLSAxLCBhcmd2ICsgMSk7DQorCWVsc2UNCisJ CXVzYWdlKCk7DQorDQorCWV4aXQoMCk7DQorfQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzc3Qu bWJ1dG8gYi9vbGR0ZXN0L3Bhc3N0Lm1idXRvDQpuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KaW5kZXgg MDAwMDAwMC4uOTA4MTZkMg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXNzdC5tYnV0 bw0KQEAgLTAsMCArMSw4MyBAQA0KKyMhL2Jpbi9zaA0KKyMNCisjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNv Y2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMN CisjIHRlc3QvcGFzc3QubWJ1dG8gLSBtYnV0byAoaHR0cHM6Ly9tYnV0by5zaCkgcHJvZmlsZSBm b3IgdGVzdCBpbWFnZXMNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjIgUmVkIEhhdCBHbWJIDQor IyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorUFJPR1M9 IiR7UFJPR1M6LWFzaCxkYXNoLGJhc2ggaXAgbW91bnQgbHMgaW5zbW9kIG1rZGlyIGxuIGNhdCBj aG1vZCBsc21vZA0KKyAgICAgICBtb2Rwcm9iZSBmaW5kIGdyZXAgbWtub2QgbXYgcm0gdW1vdW50 IGpxIGlwZXJmMyBkaGNsaWVudCBob3N0bmFtZQ0KKyAgICAgICBzZWQgdHIgY2hvd24gc2lwY2Fs YyBjdXQgc29jYXQgZGQgc3RyYWNlIHBpbmcgdGFpbCBraWxsYWxsIHNsZWVwIHN5c2N0bA0KKyAg ICAgICBucHJvYyB0Y3BfcnIgdGNwX2NyciB1ZHBfcnIgd2hpY2ggdGVlIHNlcSBiYyBzc2hkIHNz aC1rZXlnZW4gY21wfSINCisNCitLTU9EUz0iJHtLTU9EUzotIHZpcnRpb19uZXQgdmlydGlvX3Bj aSB2bXdfdnNvY2tfdmlydGlvX3RyYW5zcG9ydH0iDQorDQorTElOS1M9IiR7TElOS1M6LQ0KKwkg YXNoLGRhc2gsYmFzaAkJL2luaXQNCisJIGFzaCxkYXNoLGJhc2gJCS9iaW4vc2h9Ig0KKw0KK0RJ UlM9IiR7RElSU30gL3RtcCAvc2JpbiAvdXNyL3NoYXJlIC92YXIvbG9nIC92YXIvbGliIC9ldGMv c3NoIC9ydW4vc3NoZCAvcm9vdC8uc3NoIg0KKw0KK0NPUElFUz0iJHtDT1BJRVN9IHNtYWxsLmJp biwvcm9vdC9zbWFsbC5iaW4gbWVkaXVtLmJpbiwvcm9vdC9tZWRpdW0uYmluIGJpZy5iaW4sL3Jv b3QvYmlnLmJpbiINCisNCitGSVhVUD0iJHtGSVhVUH0iJw0KKwljYXQgPiAvc2Jpbi9kaGNsaWVu dC1zY3JpcHQgPDwgRU9GDQorIyEvYmluL3NoDQorTE9HPS92YXIvbG9nL2RoY2xpZW50LXNjcmlw dC5sb2cNCitlY2hvIFwke3JlYXNvbn0gXCR7aW50ZXJmYWNlfSA+PiBcJExPRw0KK3NldCA+PiBc JExPRw0KKw0KK1sgLW4gIlwke25ld19pbnRlcmZhY2VfbXR1fSIgXSAgICAgICAmJiBpcCBsaW5r IHNldCBkZXYgXCR7aW50ZXJmYWNlfSBtdHUgXCR7bmV3X2ludGVyZmFjZV9tdHV9DQorDQorWyAt biAiXCR7bmV3X2lwX2FkZHJlc3N9IiBdICAgICAgICAgICYmIGlwIGFkZHIgYWRkIFwke25ld19p cF9hZGRyZXNzfS9cJHtuZXdfc3VibmV0X21hc2t9IGRldiBcJHtpbnRlcmZhY2V9DQorWyAtbiAi XCR7bmV3X3JvdXRlcnN9IiBdICAgICAgICAgICAgICYmIGZvciByIGluIFwke25ld19yb3V0ZXJz fTsgZG8gaXAgcm91dGUgYWRkIGRlZmF1bHQgdmlhIFwke3J9IGRldiBcJHtpbnRlcmZhY2V9OyBk b25lDQorOj4gL2V0Yy9yZXNvbHYuY29uZg0KK1sgLW4gIlwke25ld19kb21haW5fbmFtZV9zZXJ2 ZXJzfSIgXSAmJiBmb3IgZCBpbiBcJHtuZXdfZG9tYWluX25hbWVfc2VydmVyc307IGRvIGVjaG8g Im5hbWVzZXJ2ZXIgXCR7ZH0iID4+IC9ldGMvcmVzb2x2LmNvbmY7IGRvbmUNCitbIC1uICJcJHtu ZXdfZG9tYWluX25hbWV9IiBdICAgICAgICAgJiYgZWNobyAic2VhcmNoIFwke25ld19kb21haW5f bmFtZX0iID4+IC9ldGMvcmVzb2xmLmNvbmYNCitbIC1uICJcJHtuZXdfZG9tYWluX3NlYXJjaH0i IF0gICAgICAgJiYgKHByaW50ZiAic2VhcmNoIjsgZm9yIGQgaW4gXCR7bmV3X2RvbWFpbl9zZWFy Y2h9OyBkbyBwcmludGYgIiAlcyIgIlwke2R9IjsgZG9uZTsgcHJpbnRmICJcbiIpID4+IC9ldGMv cmVzb2x2LmNvbmYNCitbIC1uICJcJHtuZXdfaXA2X2FkZHJlc3N9IiBdICAgICAgICAgJiYgaXAg YWRkciBhZGQgXCR7bmV3X2lwNl9hZGRyZXNzfS9cJHtuZXdfaXA2X3ByZWZpeGxlbn0gZGV2IFwk e2ludGVyZmFjZX0NCitbIC1uICJcJHtuZXdfZGhjcDZfbmFtZV9zZXJ2ZXJzfSIgXSAgJiYgZm9y IGQgaW4gXCR7bmV3X2RoY3A2X25hbWVfc2VydmVyc307IGRvIGVjaG8gIm5hbWVzZXJ2ZXIgXCR7 ZH0lXCR7aW50ZXJmYWNlfSIgPj4gL2V0Yy9yZXNvbHYuY29uZjsgZG9uZQ0KK1sgLW4gIlwke25l d19kaGNwNl9kb21haW5fc2VhcmNofSIgXSAmJiAocHJpbnRmICJzZWFyY2giOyBmb3IgZCBpbiBc JHtuZXdfZGhjcDZfZG9tYWluX3NlYXJjaH07IGRvIHByaW50ZiAiICVzIiAiXCR7ZH0iOyBkb25l OyBwcmludGYgIlxuIikgPj4gL2V0Yy9yZXNvbHYuY29uZg0KK1sgLW4gIlwke25ld19ob3N0X25h bWV9IiBdICAgICAgICAgICAmJiBob3N0bmFtZSAiXCR7bmV3X2hvc3RfbmFtZX0iDQorZXhpdCAw DQorRU9GDQorCWNobW9kIDc1NSAvc2Jpbi9kaGNsaWVudC1zY3JpcHQNCisJbG4gLXMgL3NiaW4g L3Vzci9zYmluDQorCWxuIC1zIC9iaW4gL3Vzci9iaW4NCisJbG4gLXMgL3J1biAvdmFyL3J1bg0K Kwk6PiAvZXRjL2ZzdGFiDQorDQorCSMgc3NoZChkcm9wYmVhcikgdmlhIHZzb2NrDQorCWNhdCA+ IC9ldGMvcGFzc3dkIDw8IEVPRg0KK3Jvb3Q6eDowOjA6cm9vdDovcm9vdDovYmluL3NoDQorc3No ZDp4OjEwMDoxMDA6UHJpdmlsZWdlLXNlcGFyYXRlZCBTU0g6L3Zhci9lbXB0eS9zc2hkOi9zYmlu L25vbG9naW4NCitFT0YNCisJY2F0ID4gL2V0Yy9zaGFkb3cgPDwgRU9GDQorcm9vdDo6OjA6OTk5 OTk6Nzo6Og0KK0VPRg0KKwljaG1vZCAwMDAgL2V0Yy9zaGFkb3cNCisNCisJOj4gL2V0Yy9zc2gv c3NoZF9jb25maWcNCisJc3NoLWtleWdlbiAtQQ0KKwljaG1vZCA3MDAgL3Jvb3QvLnNzaA0KKwlj aG1vZCA3MDAgL3J1bi9zc2hkDQorCSMgQWx0ZXJuYXRpdmUgbG9jYXRpb24gZm9yIHRoZSBwcml2 IHNlcGFyYXRpb24gZGlyDQorCWxuIC1zIC9ydW4vc3NoZCAvdXNyL3NoYXJlL2VtcHR5LnNzaGQN CisNCisJY2F0ID4gL3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXMgPDxFT0YNCisnIiQoY2F0IGd1 ZXN0LWtleS5wdWIgMj4vZGV2L251bGwgfHwgOikiJw0KK0VPRg0KKwljaG1vZCA2MDAgL3Jvb3Qv LnNzaC9hdXRob3JpemVkX2tleXMNCisJY2htb2QgNzAwIC9yb290DQorCXNvY2F0IFZTT0NLLUxJ U1RFTjoyMixmb3JrIEVYRUM6InNzaGQgLWkgLWUiIDI+IC92YXIvbG9nL3Zzb2NrLXNzaC5sb2cg Jg0KKwlzaCArbQ0KKycNCisNCitPVVRQVVQ9IktFUk5FTD1fX0tFUk5FTF9fDQorSU5JVFJEPV9f SU5JVFJEX18NCisiDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNzdC5tZW0ubWJ1dG8gYi9vbGR0 ZXN0L3Bhc3N0Lm1lbS5tYnV0bw0KbmV3IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4IDAwMDAwMDAu LjU2ZjUxMzkNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzc3QubWVtLm1idXRvDQpA QCAtMCwwICsxLDQ0IEBADQorIyEvYmluL3NoDQorIw0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0 IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMg dGVzdC9wYXNzdC5tZW0ubWJ1dG8gLSBtYnV0byAoaHR0cHM6Ly9tYnV0by5zaCkgcHJvZmlsZSBm b3IgbWVtb3J5IHVzYWdlIHRlc3RzDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBIYXQg R21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0K K1BST0dTPSIke1BST0dTOi1hc2gsZGFzaCxiYXNoIGNobW9kIGlwIG1vdW50IGluc21vZCBta2Rp ciBsbiBjYXQgY2htb2QgbW9kcHJvYmUNCisgICAgICAgZ3JlcCBta25vZCBzZWQgY2hvd24gc2xl ZXAgYmMgbHMgcHMgbW91bnQgdW5zaGFyZSBjaHJvb3QgY3Aga2lsbCBkaWZmDQorICAgICAgIGhl YWQgdGFpbCBzb3J0IHRyIHRlZSBjdXQgbm0gd2hpY2h9Ig0KKw0KK0tNT0RTPSIke0tNT0RTOi0g ZHVtbXl9Ig0KKw0KK05PREVTPSIke05PREVTOi1jb25zb2xlIGttc2cgbnVsbCBwdG14IHJhbmRv bSB1cmFuZG9tIHplcm99Ig0KKw0KK0xJTktTPSIke0xJTktTOi0NCisJIGFzaCxkYXNoLGJhc2gJ CS9pbml0DQorCSBhc2gsZGFzaCxiYXNoCQkvYmluL3NofSINCisNCitESVJTPSIke0RJUlN9IC90 bXAgL3NiaW4iDQorDQorQ09QSUVTPSIke0NPUElFU30gLi4vcGFzc3QuYXZ4MiwvYmluL3Bhc3N0 LmF2eDIiDQorDQorRklYVVA9IiR7RklYVVB9IicNCitsbiAtcyAvYmluIC91c3IvYmluDQorY2ht b2QgNzc3IC90bXANCitpcCBsaW5rIGFkZCBldGgwIHR5cGUgZHVtbXkNCitpcCBsaW5rIHNldCBl dGgwIHVwDQoraXAgYWRkcmVzcyBhZGQgMTkyLjAuMi4yLzI0IGRldiBldGgwDQoraXAgYWRkcmVz cyBhZGQgMjAwMTpkYjg6OjIvNjQgZGV2IGV0aDANCitpcCByb3V0ZSBhZGQgZGVmYXVsdCB2aWEg MTkyLjAuMi4xDQoraXAgLTYgcm91dGUgYWRkIGRlZmF1bHQgdmlhIDIwMDE6ZGI4OjoxIGRldiBl dGgwDQorc2xlZXAgMg0KK3NoICttDQorJw0KKw0KK09VVFBVVD0iS0VSTkVMPV9fS0VSTkVMX18N CitJTklUUkQ9X19JTklUUkRfXw0KKyINCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3Bhc3N0L2RoY3Ag Yi9vbGR0ZXN0L3Bhc3N0L2RoY3ANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw Li43MjcyNzU1DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3N0L2RoY3ANCkBAIC0w LDAgKzEsNzAgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVy DQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3Ig cWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRs ZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBt b2RlDQorIw0KKyMgdGVzdC9wYXNzdC9kaGNwIC0gQ2hlY2sgREhDUCBhbmQgREhDUHY2IGZ1bmN0 aW9uYWxpdHkgaW4gcGFzc3QgbW9kZQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0 IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisN CitndG9vbHMJaXAganEgZGhjbGllbnQgc2VkIHRyDQoraHRvb2xzCWlwIGpxIHNlZCB0ciBoZWFk DQorDQordGVzdAlJbnRlcmZhY2UgbmFtZQ0KK2dvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8 IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK2hv dXQJSE9TVF9JRk5BTUUgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxlY3Qo LmRzdCA9PSAiZGVmYXVsdCIpLmRldl0gfCAuWzBdJw0KK2hvdXQJSE9TVF9JRk5BTUU2IGlwIC1q IC02IHJvdXRlIHNob3d8anEgLXJNICdbLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5k ZXZdIHwgLlswXScNCitjaGVjawlbIC1uICJfX0lGTkFNRV9fIiBdDQorDQordGVzdAlESENQOiBh ZGRyZXNzDQorZ3Vlc3QJL3NiaW4vZGhjbGllbnQgLTQgX19JRk5BTUVfXw0KK2dvdXQJQUREUiBp cCAtaiAtNCBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5B TUVfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcNCitob3V0CUhPU1RfQUREUiBpcCAtaiAtNCBhZGRy IHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19IT1NUX0lGTkFNRV9fIiku YWRkcl9pbmZvWzBdLmxvY2FsJw0KK2NoZWNrCVsgIl9fQUREUl9fIiA9ICJfX0hPU1RfQUREUl9f IiBdDQorDQordGVzdAlESENQOiByb3V0ZQ0KK2dvdXQJR1cgaXAgLWogLTQgcm91dGUgc2hvd3xq cSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitob3V0CUhP U1RfR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9PSAi ZGVmYXVsdCIpLmdhdGV3YXldIHwgLlswXScNCitjaGVjawlbICJfX0dXX18iID0gIl9fSE9TVF9H V19fIiBdDQorDQordGVzdAlESENQOiBNVFUNCitnb3V0CU1UVSBpcCAtaiBsaW5rIHNob3cgfCBq cSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikubXR1Jw0KK2NoZWNr CVsgX19NVFVfXyA9IDY1NTIwIF0NCisNCit0ZXN0CURIQ1A6IEROUw0KK2dvdXQJRE5TIHNlZCAt biAncy9ebmFtZXNlcnZlciBcKFswLTldKlwuXClcKC4qXCkvXDFcMi9wJyAvZXRjL3Jlc29sdi5j b25mIHwgdHIgJ1xuJyAnLCcgfCBzZWQgJ3MvLCQvLztzLyQvXG4vJw0KK2hvdXQJSE9TVF9ETlMg c2VkIC1uICdzL15uYW1lc2VydmVyIFwoWzAtOV0qXC5cKVwoLipcKS9cMVwyL3AnIC9ldGMvcmVz b2x2LmNvbmYgfCBoZWFkIC1uMyB8IHRyICdcbicgJywnIHwgc2VkICdzLywkLy87cy8kL1xuLycN CitjaGVjawlbICJfX0ROU19fIiA9ICJfX0hPU1RfRE5TX18iIF0gfHwgWyAiX19ETlNfXyIgPSAi X19IT1NUX0dXX18iIC1hICJfX0hPU1RfRE5TX18iID0gIjEyNy4wLjAuMSIgXQ0KKw0KKyMgRlFE TnMgc2hvdWxkIGJlIHRlcm1pbmF0ZWQgYnkgZG90cywgYnV0IHRoZSBndWVzdCBESENQIGNsaWVu dCBtaWdodCBvbWl0IHRoZW06DQorIyBzdHJpcCB0aGVtIGZpcnN0DQordGVzdAlESENQOiBzZWFy Y2ggbGlzdA0KK2dvdXQJU0VBUkNIIHNlZCAncy9cLiAvIC9nJyAvZXRjL3Jlc29sdi5jb25mIHwg c2VkICdzL1wuJC8vZycgfCBzZWQgLW4gJ3MvXnNlYXJjaCBcKC4qXCkvXDEvcCcgfCB0ciAnIFxu JyAnLCcgfCBzZWQgJ3MvLCQvLztzLyQvXG4vJw0KK2hvdXQJSE9TVF9TRUFSQ0ggc2VkICdzL1wu IC8gL2cnIC9ldGMvcmVzb2x2LmNvbmYgfCBzZWQgJ3MvXC4kLy9nJyB8IHNlZCAtbiAncy9ec2Vh cmNoIFwoLipcKS9cMS9wJyB8IHRyICcgXG4nICcsJyB8IHNlZCAncy8sJC8vO3MvJC9cbi8nDQor Y2hlY2sJWyAiX19TRUFSQ0hfXyIgPSAiX19IT1NUX1NFQVJDSF9fIiBdDQorDQordGVzdAlESENQ djY6IGFkZHJlc3MNCitndWVzdAkvc2Jpbi9kaGNsaWVudCAtNiBfX0lGTkFNRV9fDQorZ291dAlB RERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAi X19JRk5BTUVfXyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5wcmVmaXhsZW4gPT0gMTI4KS5sb2Nh bCcNCitob3V0CUhPU1RfQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2Vs ZWN0KC5pZm5hbWUgPT0gIl9fSE9TVF9JRk5BTUU2X18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCgu c2NvcGUgPT0gImdsb2JhbCIpLmxvY2FsJw0KK2NoZWNrCVsgIl9fQUREUjZfXyIgPSAiX19IT1NU X0FERFI2X18iIF0NCisNCit0ZXN0CURIQ1B2Njogcm91dGUNCitnb3V0CUdXNiBpcCAtaiAtNiBy b3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5 Jw0KK2hvdXQJSE9TVF9HVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxl Y3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXldIHwgLlswXScNCitjaGVjawlbICJfX0dXNl9f IiA9ICJfX0hPU1RfR1c2X18iIF0NCisNCisjIFN0cmlwIGludGVyZmFjZSBzcGVjaWZpZXI6IGlu dGVyZmFjZSBuYW1lcyBtaWdodCBkaWZmZXIgYmV0d2VlbiBob3N0IGFuZCBndWVzdA0KK3Rlc3QJ REhDUHY2OiBETlMNCitnb3V0CUROUzYgc2VkIC1uICdzL15uYW1lc2VydmVyIFwoW146XSo6XClc KFteJV0qXCkuKi9cMVwyL3AnIC9ldGMvcmVzb2x2LmNvbmYgfCB0ciAnXG4nICcsJyB8IHNlZCAn cy8sJC8vO3MvJC9cbi8nDQoraG91dAlIT1NUX0ROUzYgc2VkIC1uICdzL15uYW1lc2VydmVyIFwo W146XSo6XClcKFteJV0qXCkuKi9cMVwyL3AnIC9ldGMvcmVzb2x2LmNvbmYgfCB0ciAnXG4nICcs JyB8IHNlZCAncy8sJC8vO3MvJC9cbi8nDQorY2hlY2sJWyAiX19ETlM2X18iID0gIl9fSE9TVF9E TlM2X18iIF0gfHwgWyAiX19ETlM2X18iID0gIl9fSE9TVF9HVzZfXyIgLWEgIl9fSE9TVF9ETlM2 X18iID0gIjo6MSIgXQ0KKw0KK3Rlc3QJREhDUHY2OiBzZWFyY2ggbGlzdA0KK2dvdXQJU0VBUkNI NiBzZWQgJ3MvXC4gLyAvZycgL2V0Yy9yZXNvbHYuY29uZiB8IHNlZCAncy9cLiQvL2cnIHwgc2Vk IC1uICdzL15zZWFyY2ggXCguKlwpL1wxL3AnIHwgdHIgJyBcbicgJywnIHwgc2VkICdzLywkLy87 cy8kL1xuLycNCitob3V0CUhPU1RfU0VBUkNINiBzZWQgJ3MvXC4gLyAvZycgL2V0Yy9yZXNvbHYu Y29uZiB8IHNlZCAncy9cLiQvL2cnIHwgc2VkIC1uICdzL15zZWFyY2ggXCguKlwpL1wxL3AnIHwg dHIgJyBcbicgJywnIHwgc2VkICdzLywkLy87cy8kL1xuLycNCitjaGVjawlbICJfX1NFQVJDSDZf XyIgPSAiX19IT1NUX1NFQVJDSDZfXyIgXQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzc3QvbmRw IGIvb2xkdGVzdC9wYXNzdC9uZHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw Li42ZGU0MDgxDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3N0L25kcA0KQEAgLTAs MCArMSwzMyBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIN CisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBx ZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxl IFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1v ZGUNCisjDQorIyB0ZXN0L3Bhc3N0L25kcCAtIENoZWNrIE5EUCBmdW5jdGlvbmFsaXR5IGluIHBh c3N0IG1vZGUNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRo b3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorZ3Rvb2xzCWlwIGpx IHNpcGNhbGMgZ3JlcA0KK2h0b29scwlpcCBqcSBzaXBjYWxjIGdyZXAgY3V0DQorDQordGVzdAlJ bnRlcmZhY2UgbmFtZQ0KK2dvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltd IHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK2d1ZXN0CWlwIGxpbmsg c2V0IGRldiBfX0lGTkFNRV9fIHVwICYmIHNsZWVwIDINCitob3V0CUhPU1RfSUZOQU1FNiBpcCAt aiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0Iiku ZGV2XSB8IC5bMF0nDQorY2hlY2sJWyAtbiAiX19JRk5BTUVfXyIgXQ0KKw0KK3Rlc3QJU0xBQUM6 IHByZWZpeA0KK2dvdXQJQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2Vs ZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2NvcGUg PT0gImdsb2JhbCIgYW5kIC5wcmVmaXhsZW4gPT0gNjQpLmxvY2FsJw0KK2dvdXQJUFJFRklYNiBz aXBjYWxjIF9fQUREUjZfXy82NCB8IGdyZXAgcHJlZml4IHwgY3V0IC1kJyAnIC1mNA0KK2hvdXQJ SE9TVF9BRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFt ZSA9PSAiX19IT1NUX0lGTkFNRTZfXyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0KC5zY29wZSA9PSAi Z2xvYmFsIikubG9jYWwnDQoraG91dAlIT1NUX1BSRUZJWDYgc2lwY2FsYyBfX0hPU1RfQUREUjZf Xy82NCB8IGdyZXAgcHJlZml4IHwgY3V0IC1kJyAnIC1mNA0KK2NoZWNrCVsgIl9fUFJFRklYNl9f IiA9ICJfX0hPU1RfUFJFRklYNl9fIiBdDQorDQordGVzdAlTTEFBQzogcm91dGUNCitnb3V0CUdX NiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1 bHQiKS5nYXRld2F5Jw0KK2hvdXQJSE9TVF9HVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0g J1suW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXldIHwgLlswXScNCitjaGVj awlbIF9fR1c2X18gPSBfX0hPU1RfR1c2X18gXQ0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzc3Qv c2h1dGRvd24gYi9vbGR0ZXN0L3Bhc3N0L3NodXRkb3duDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMC4uMDJjNmMxMA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXNz dC9zaHV0ZG93bg0KQEAgLTAsMCArMSwxOSBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRy YW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFT VEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVz cGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L3Bhc3N0L3NodXRkb3duIC0gU2h1dCBk b3duIHBhc3N0IChvciBwYXN0YSkgYW5kIGNoZWNrIGV4aXQgY29kZSAod2lsbA0KKyMgICAgICAg ICAgICAgICAgICAgICAgIGRldGVjdCB2YWxncmluZCBlcnJvcnMgYW1vbmdzdCBvdGhlcnMpDQor Iw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5v IEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK3Rlc3QJc2h1dGRvd246IGV4aXQgY29k ZQ0KKw0KK2hvdXQJUEFTU1RfUElEIGNhdCBfX1NUQVRFU0VUVVBfXy9wYXNzdC5waWQNCitob3N0 CWtpbGwgX19QQVNTVF9QSURfXw0KK3Bhc3N0dw0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzc3Qv dGNwIGIvb2xkdGVzdC9wYXNzdC90Y3ANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwLi45MWU0OWUwDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3N0L3RjcA0KQEAg LTAsMCArMSw3NiBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZv ciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3Vi dGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNl IG1vZGUNCisjDQorIyB0ZXN0L3Bhc3N0L3RjcCAtIENoZWNrIFRDUCBmdW5jdGlvbmFsaXR5IGlu IHBhc3N0IG1vZGUNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBB dXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorZ3Rvb2xzCXNv Y2F0IGlwIGpxIGNtcA0KK2h0b29scwlzb2NhdCBpcCBqcQ0KKw0KK3NldAlURU1QX0JJRyBfX1NU QVRFRElSX18vdGVzdF9iaWcuYmluDQorc2V0CVRFTVBfU01BTEwgX19TVEFURURJUl9fL3Rlc3Rf c21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NDogaG9zdCB0byBndWVzdDogYmlnIHRyYW5zZmVy DQorZ3Vlc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAxLHJldXNlYWRkciBPUEVOOnRlc3Rf YmlnLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBPUEVOOl9fQkFT RVBBVEhfXy9iaWcuYmluIFRDUDQ6MTI3LjAuMC4xOjEwMDAxDQorZ3Vlc3R3DQorZ3Vlc3QJY21w IC9yb290L2JpZy5iaW4gdGVzdF9iaWcuYmluDQorDQordGVzdAlUQ1AvSVB2NDogZ3Vlc3QgdG8g aG9zdDogYmlnIHRyYW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDMsYmlu ZD0xMjcuMC4wLjEscmV1c2VhZGRyIE9QRU46X19URU1QX0JJR19fLGNyZWF0ZSx0cnVuYw0KK2dv dXQJR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJk ZWZhdWx0IikuZ2F0ZXdheScNCitndWVzdAlzb2NhdCAtdSBPUEVOOi9yb290L2JpZy5iaW4gVENQ NDpfX0dXX186MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vYmlnLmJpbiBf X1RFTVBfQklHX18NCisNCit0ZXN0CVRDUC9JUHY0OiBob3N0IHRvIGd1ZXN0OiBzbWFsbCB0cmFu c2Zlcg0KK2d1ZXN0Yglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMSxyZXVzZWFkZHIgT1BFTjp0 ZXN0X3NtYWxsLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBPUEVO Ol9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDENCitndWVzdHcNCitn dWVzdAljbXAgL3Jvb3Qvc21hbGwuYmluIHRlc3Rfc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2 NDogZ3Vlc3QgdG8gaG9zdDogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0LUxJ U1RFTjoxMDAwMyxiaW5kPTEyNy4wLjAuMSxyZXVzZWFkZHIgT1BFTjpfX1RFTVBfU01BTExfXyxj cmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjovcm9vdC9zbWFsbC5i aW4gVENQNDpfX0dXX186MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vc21h bGwuYmluIF9fVEVNUF9TTUFMTF9fDQorDQorDQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBndWVz dDogYmlnIHRyYW5zZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAxLHJldXNl YWRkciBPUEVOOnRlc3RfYmlnLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2Nh dCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9iaWcuYmluIFRDUDY6Wzo6MV06MTAwMDENCitndWVzdHcN CitndWVzdAljbXAgL3Jvb3QvYmlnLmJpbiB0ZXN0X2JpZy5iaW4NCisNCit0ZXN0CVRDUC9JUHY2 OiBndWVzdCB0byBob3N0OiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RF TjoxMDAwMyxiaW5kPVs6OjFdLHJldXNlYWRkciBPUEVOOl9fVEVNUF9CSUdfXyxjcmVhdGUsdHJ1 bmMNCitnb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5k c3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2dvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8 IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK2d1 ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3QvYmlnLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1FX19d OjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL2JpZy5iaW4gX19URU1QX0JJ R19fDQorDQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBndWVzdDogc21hbGwgdHJhbnNmZXINCitn dWVzdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDEscmV1c2VhZGRyIE9QRU46dGVzdF9zbWFs bC5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQ QVRIX18vc21hbGwuYmluIFRDUDY6Wzo6MV06MTAwMDENCitndWVzdHcNCitndWVzdAljbXAgL3Jv b3Qvc21hbGwuYmluIHRlc3Rfc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NjogZ3Vlc3QgdG8g aG9zdDogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyxi aW5kPVs6OjFdLHJldXNlYWRkciBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK3Ns ZWVwCTENCitndWVzdAlzb2NhdCAtdSBPUEVOOi9yb290L3NtYWxsLmJpbiBUQ1A2OltfX0dXNl9f JV9fSUZOQU1FX19dOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL3NtYWxs LmJpbiBfX1RFTVBfU01BTExfXw0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzc3QvdWRwIGIvb2xk dGVzdC9wYXNzdC91ZHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi44MGQw ZmEzDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3N0L3VkcA0KQEAgLTAsMCArMSw0 NiBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQor IyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VO SVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBB YnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisj DQorIyB0ZXN0L3Bhc3N0L3VkcCAtIENoZWNrIFVEUCBmdW5jdGlvbmFsaXR5IGluIHBhc3N0IG1v ZGUNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0 ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorZ3Rvb2xzCXNvY2F0IGlwIGpx IGNtcA0KK2h0b29scwlzb2NhdCBqcQ0KKw0KK3NldAlURU1QIF9fU1RBVEVESVJfXy90ZXN0LmJp bg0KKw0KK3Rlc3QJVURQL0lQdjQ6IGhvc3QgdG8gZ3Vlc3QNCitndWVzdGIJc29jYXQgLXUgVURQ NC1MSVNURU46MTAwMDEsbnVsbC1lb2YgT1BFTjp0ZXN0LmJpbixjcmVhdGUsdHJ1bmMNCitzbGVl cAkxDQoraG9zdAlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDQ6MTI3 LjAuMC4xOjEwMDAxLHNodXQtbnVsbA0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCAvcm9vdC9tZWRpdW0u YmluIHRlc3QuYmluDQorDQordGVzdAlVRFAvSVB2NDogZ3Vlc3QgdG8gaG9zdA0KK2hvc3RiCXNv Y2F0IC11IFVEUDQtTElTVEVOOjEwMDAzLGJpbmQ9MTI3LjAuMC4xLG51bGwtZW9mIE9QRU46X19U RU1QX18sY3JlYXRlLHRydW5jDQorZ291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAn LltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2d1ZXN0CXNvY2F0IC11 IE9QRU46L3Jvb3QvbWVkaXVtLmJpbiBVRFA0Ol9fR1dfXzoxMDAwMyxzaHV0LW51bGwNCitob3N0 dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBfX1RFTVBfXw0KKw0KK3Rlc3QJ VURQL0lQdjY6IGhvc3QgdG8gZ3Vlc3QNCitndWVzdGIJc29jYXQgLXUgVURQNi1MSVNURU46MTAw MDEsbnVsbC1lb2YgT1BFTjp0ZXN0LmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlz b2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDY6Wzo6MV06MTAwMDEsc2h1 dC1udWxsDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIC9yb290L21lZGl1bS5iaW4gdGVzdC5iaW4NCisN Cit0ZXN0CVVEUC9JUHY2OiBndWVzdCB0byBob3N0DQoraG9zdGIJc29jYXQgLXUgVURQNi1MSVNU RU46MTAwMDMsYmluZD1bOjoxXSxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0K K2dvdXQJR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9 PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorZ291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEg LXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorZ3Vlc3QJ c29jYXQgLXUgT1BFTjovcm9vdC9tZWRpdW0uYmluIFVEUDY6W19fR1c2X18lX19JRk5BTUVfX106 MTAwMDMsc2h1dC1udWxsDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL21lZGl1bS5i aW4gX19URU1QX18NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3Bhc3N0X2luX25zL2ljbXAgYi9vbGR0 ZXN0L3Bhc3N0X2luX25zL2ljbXANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw Li5hMjY5N2RiDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3N0X2luX25zL2ljbXAN CkBAIC0wLDAgKzEsMzIgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisj ICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBB IFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRl dmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXNzdF9pbl9ucy9pY21wIC0gQ2hlY2sgSUNNUC9JQ01Q djYgZnVuY3Rpb25hbGl0eSBmb3IgcGFzc3QgaW4gbnMNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIw MjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhh dC5jb20+DQorIw0KKyMgVGhlc2UgdGVzdHMgY2FuIHdvcmsgcmVsaWFibHkgb25seSB3aXRoaW4g YW4gaXNvbGF0ZWQgbmFtZXNwYWNlOiB0aGUgaG9zdA0KKyMgbWlnaHQgaGF2ZSBhIG5ldC5pcHY0 LnBpbmdfZ3JvdXBfcmFuZ2Ugc3lzY3RsIHZhbHVlIG5vdCBhbGxvd2luZyBwYXN0YSdzIGdpZA0K KyMgdG8gY3JlYXRlICJwaW5nIiBzb2NrZXRzLiBJbnNpZGUgdGhlIG5hbWVzcGFjZSwgdGhlcmUn cyBhIHNpbmdsZSBncm91cCwgd2hpY2gNCisjIGlzIGFsbG93ZWQgYnkgZGVmYXVsdCB0byBjcmVh dGUgdGhlbS4NCisNCituc3Rvb2xzCWlwIGpxIHNsZWVwDQorZ3Rvb2xzCXBpbmcgaXAganENCisN Cit0ZXN0CUlDTVAgZWNobzogZ3Vlc3QgdG8gbnMNCituc291dAlJRk5BTUVfTlMgaXAgLWogbGlu ayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5h bWUnDQorbnMJaXAgYWRkciBhZGQgMTkyLjAuMi4xLzMyIGRldiBfX0lGTkFNRV9OU19fDQorZ3Vl c3QJcGluZyAtYzEgLXcxIDE5Mi4wLjIuMQ0KK25zCWlwIGFkZHIgZGVsIDE5Mi4wLjIuMS8zMiBk ZXYgX19JRk5BTUVfTlNfXw0KKw0KK3Rlc3QJSUNNUHY2IGVjaG86IGd1ZXN0IHRvIG5zDQorbnMJ aXAgYWRkciBhZGQgMjAwMTpkYjg6OjEgZGV2IF9fSUZOQU1FX05TX18gJiYgc2xlZXAgMiAjIERB RA0KK2dvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5s aW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK2d1ZXN0CXBpbmcgLWMxIC13MSAyMDAxOmRi ODo6MQ0KK25zCWlwIGFkZHIgZGVsIDIwMDE6ZGI4OjoxIGRldiBfX0lGTkFNRV9OU19fDQpkaWZm IC0tZ2l0IGEvb2xkdGVzdC9wYXNzdF9pbl9ucy9zaHV0ZG93biBiL29sZHRlc3QvcGFzc3RfaW5f bnMvc2h1dGRvd24NCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5jZDZjYjE5 DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3N0X2luX25zL3NodXRkb3duDQpAQCAt MCwwICsxLDE5IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9y IHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0 bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2Ug bW9kZQ0KKyMNCisjIHRlc3QvcGFzc3RfaW5fbnMvc2h1dGRvd24gLSBTaHV0IGRvd24gcGFzc3Qg YW5kIGNoZWNrIGV4aXQgY29kZSAod2lsbCBkZXRlY3QNCisjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2YWxncmluZCBlcnJvcnMgYW1vbmdzdCBvdGhlcnMpDQorIw0KKyMgQ29weXJpZ2h0 IChjKSAyMDIyIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZp b0ByZWRoYXQuY29tPg0KKw0KK3Rlc3QJc2h1dGRvd246IGV4aXQgY29kZQ0KKw0KK25zb3V0CVBB U1NUX1BJRCBjYXQgX19TVEFURVNFVFVQX18vcGFzc3QucGlkDQorbnMJa2lsbCBfX1BBU1NUX1BJ RF9fDQorcGFzc3R3DQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXNzdF9pbl9ucy90Y3AgYi9vbGR0 ZXN0L3Bhc3N0X2luX25zL3RjcA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAu LmNkYjcwNjANCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzc3RfaW5fbnMvdGNwDQpA QCAtMCwwICsxLDI1NiBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMg IGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEg U3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2 aWNlIG1vZGUNCisjDQorIyB0ZXN0L3Bhc3N0X2luX25zL3RjcCAtIENoZWNrIFRDUCBmdW5jdGlv bmFsaXR5IGZvciBwYXNzdCBpbiBucyB3aXRoIHBhc3RhDQorIw0KKyMgQ29weXJpZ2h0IChjKSAy MDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRo YXQuY29tPg0KKw0KK2d0b29scwlzb2NhdCBpcCBqcQ0KK2h0b29scwlzb2NhdCBpcCBqcQ0KK25z dG9vbHMJc29jYXQgaXAganENCisNCitzZXQJVEVNUF9CSUcgX19TVEFURURJUl9fL3Rlc3RfYmln LmJpbg0KK3NldAlURU1QX1NNQUxMIF9fU1RBVEVESVJfXy90ZXN0X3NtYWxsLmJpbg0KK3NldAlU RU1QX05TX0JJRyBfX1NUQVRFRElSX18vdGVzdF9uc19iaWcuYmluDQorc2V0CVRFTVBfTlNfU01B TEwgX19TVEFURURJUl9fL3Rlc3RfbnNfc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NDogaG9z dCB0byBndWVzdDogYmlnIHRyYW5zZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEw MDAxIE9QRU46dGVzdF9iaWcuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0 IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDENCitndWVz dHcNCitndWVzdAljbXAgdGVzdF9iaWcuYmluIC9yb290L2JpZy5iaW4NCisNCit0ZXN0CVRDUC9J UHY0OiBob3N0IHRvIG5zOiBiaWcgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNC1MSVNURU46 MTAwMDIgT1BFTjpfX1RFTVBfTlNfQklHX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJ c29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMg0K K25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNfQklHX18gX19CQVNFUEFUSF9fL2JpZy5iaW4NCisN Cit0ZXN0CVRDUC9JUHY0OiBndWVzdCB0byBob3N0OiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2Nh dCAtdSBUQ1A0LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9CSUdfXyxjcmVhdGUsdHJ1bmMNCitn b3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAi ZGVmYXVsdCIpLmdhdGV3YXknDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3Qv YmlnLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9CSUdf XyBfX0JBU0VQQVRIX18vYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjQ6IGd1ZXN0IHRvIG5zOiBi aWcgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDIgT1BFTjpfX1RFTVBf TlNfQklHX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jv b3QvYmlnLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMg0KK25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNf QklHX18gX19CQVNFUEFUSF9fL2JpZy5iaW4NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0byBob3N0 IChzcGxpY2VkKTogYmlnIHRyYW5zZmVyDQoraG9zdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAw MDMgT1BFTjpfX1RFTVBfQklHX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11 IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDMNCitob3N0dw0K K2NoZWNrCWNtcCBfX1RFTVBfQklHX18gX19CQVNFUEFUSF9fL2JpZy5iaW4NCisNCit0ZXN0CVRD UC9JUHY0OiBucyB0byBob3N0ICh2aWEgdGFwKTogYmlnIHRyYW5zZmVyDQoraG9zdGIJc29jYXQg LXUgVENQNC1MSVNURU46MTAwMDMgT1BFTjpfX1RFTVBfQklHX18sY3JlYXRlLHRydW5jDQorc2xl ZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDpfX0dXX186 MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBfX1RFTVBfQklHX18gX19CQVNFUEFUSF9fL2JpZy5i aW4NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0byBndWVzdCAodXNpbmcgbG9vcGJhY2sgYWRkcmVz cyk6IGJpZyB0cmFuc2Zlcg0KK2d1ZXN0Yglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMSBPUEVO OnRlc3RfYmlnLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpf X0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0 CWNtcCB0ZXN0X2JpZy5iaW4gL3Jvb3QvYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjQ6IG5zIHRv IGd1ZXN0ICh1c2luZyBuYW1lc3BhY2UgYWRkcmVzcyk6IGJpZyB0cmFuc2Zlcg0KK2d1ZXN0Yglz b2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMSBPUEVOOnRlc3RfYmlnLmJpbixjcmVhdGUsdHJ1bmMN Cituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxp bmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorbnNvdXQJQUREUiBpcCAtaiAtNCBhZGRyIHNo b3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5m b1swXS5sb2NhbCcNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmln LmJpbiBUQ1A0Ol9fQUREUl9fOjEwMDAxDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3RfYmlnLmJp biAvcm9vdC9iaWcuYmluDQorDQordGVzdAlUQ1AvSVB2NDogaG9zdCB0byBndWVzdDogc21hbGwg dHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X3Nt YWxsLmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBPUEVOOl9fQkFT RVBBVEhfXy9zbWFsbC5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDENCitndWVzdHcNCitndWVzdAlj bXAgdGVzdF9zbWFsbC5iaW4gL3Jvb3Qvc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NDogaG9z dCB0byBuczogc21hbGwgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDIg T1BFTjpfX1RFTVBfTlNfU01BTExfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2Nh dCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNDoxMjcuMC4wLjE6MTAwMDINCitu c3cNCitjaGVjawljbXAgX19URU1QX05TX1NNQUxMX18gX19CQVNFUEFUSF9fL3NtYWxsLmJpbg0K Kw0KK3Rlc3QJVENQL0lQdjQ6IGd1ZXN0IHRvIGhvc3Q6IHNtYWxsIHRyYW5zZmVyDQoraG9zdGIJ c29jYXQgLXUgVENQNC1MSVNURU46MTAwMDMgT1BFTjpfX1RFTVBfU01BTExfXyxjcmVhdGUsdHJ1 bmMNCitnb3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRz dCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46 L3Jvb3Qvc21hbGwuYmluIFRDUDQ6X19HV19fOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19U RU1QX1NNQUxMX18gX19CQVNFUEFUSF9fL3NtYWxsLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjQ6IGd1 ZXN0IHRvIG5zOiBzbWFsbCB0cmFuc2Zlcg0KK25zYglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAw MiBPUEVOOl9fVEVNUF9OU19TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitndWVzdAlz b2NhdCAtdSBPUEVOOi9yb290L3NtYWxsLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMg0KK25zdw0KK2No ZWNrCWNtcCBfX1RFTVBfTlNfU01BTExfXyBfX0JBU0VQQVRIX18vc21hbGwuYmluDQorDQordGVz dAlUQ1AvSVB2NDogbnMgdG8gaG9zdCAoc3BsaWNlZCk6IHNtYWxsIHRyYW5zZmVyDQoraG9zdGIJ c29jYXQgLXUgVENQNC1MSVNURU46MTAwMDMgT1BFTjpfX1RFTVBfU01BTExfXyxjcmVhdGUsdHJ1 bmMNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRD UDQ6MTI3LjAuMC4xOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19URU1QX1NNQUxMX18gX19C QVNFUEFUSF9fL3NtYWxsLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjQ6IG5zIHRvIGhvc3QgKHZpYSB0 YXApOiBzbWFsbCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAzIE9Q RU46X19URU1QX1NNQUxMX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9Q RU46X19CQVNFUEFUSF9fL3NtYWxsLmJpbiBUQ1A0Ol9fR1dfXzoxMDAwMw0KK2hvc3R3DQorY2hl Y2sJY21wIF9fVEVNUF9TTUFMTF9fIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4NCisNCit0ZXN0CVRD UC9JUHY0OiBucyB0byBndWVzdCAodXNpbmcgbG9vcGJhY2sgYWRkcmVzcyk6IHNtYWxsIHRyYW5z ZmVyDQorZ3Vlc3RiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAxIE9QRU46dGVzdF9zbWFsbC5i aW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9f L3NtYWxsLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0 X3NtYWxsLmJpbiAvcm9vdC9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0byBndWVz dCAodXNpbmcgbmFtZXNwYWNlIGFkZHJlc3MpOiBzbWFsbCB0cmFuc2Zlcg0KK2d1ZXN0Yglzb2Nh dCAtdSBUQ1A0LUxJU1RFTjoxMDAwMSBPUEVOOnRlc3Rfc21hbGwuYmluLGNyZWF0ZSx0cnVuYw0K K3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNDpf X0FERFJfXzoxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0X3NtYWxsLmJpbiAvcm9vdC9z bWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBob3N0IHRvIGd1ZXN0OiBiaWcgdHJhbnNmZXIN CitndWVzdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X2JpZy5iaW4sY3Jl YXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmln LmJpbiBUQ1A2Ols6OjFdOjEwMDAxDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3RfYmlnLmJpbiAv cm9vdC9iaWcuYmluDQorDQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBuczogYmlnIHRyYW5zZmVy DQorbnNiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAyIE9QRU46X19URU1QX05TX0JJR19fLGNy ZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL2Jp Zy5iaW4gVENQNjpbOjoxXToxMDAwMg0KK25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNfQklHX18g X19CQVNFUEFUSF9fL2JpZy5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBndWVzdCB0byBob3N0OiBi aWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVN UF9CSUdfXyxjcmVhdGUsdHJ1bmMNCitnb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1y TSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2dvdXQJSUZOQU1F IGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0 aGVyIikuaWZuYW1lJw0KK3NsZWVwCTENCitndWVzdAlzb2NhdCAtdSBPUEVOOi9yb290L2JpZy5i aW4gVENQNjpbX19HVzZfXyVfX0lGTkFNRV9fXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9f VEVNUF9CSUdfXyBfX0JBU0VQQVRIX18vYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjY6IGd1ZXN0 IHRvIG5zOiBiaWcgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDIgT1BF TjpfX1RFTVBfTlNfQklHX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11 IE9QRU46L3Jvb3QvYmlnLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAyDQorbnN3 DQorY2hlY2sJY21wIF9fVEVNUF9OU19CSUdfXyBfX0JBU0VQQVRIX18vYmlnLmJpbg0KKw0KK3Rl c3QJVENQL0lQdjY6IG5zIHRvIGhvc3QgKHNwbGljZWQpOiBiaWcgdHJhbnNmZXINCitob3N0Yglz b2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9CSUdfXyxjcmVhdGUsdHJ1bmMN CitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A2Ols6 OjFdOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19URU1QX0JJR19fIF9fQkFTRVBBVEhfXy9i aWcuYmluDQorDQordGVzdAlUQ1AvSVB2NjogbnMgdG8gaG9zdCAodmlhIHRhcCk6IGJpZyB0cmFu c2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAzIE9QRU46X19URU1QX0JJR19f LGNyZWF0ZSx0cnVuYw0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5b XSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitzbGVlcAkxDQorbnMJ c29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1F X19dOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19URU1QX0JJR19fIF9fQkFTRVBBVEhfXy9i aWcuYmluDQorDQordGVzdAlUQ1AvSVB2NjogbnMgdG8gZ3Vlc3QgKHVzaW5nIGxvb3BiYWNrIGFk ZHJlc3MpOiBiaWcgdHJhbnNmZXINCitndWVzdGIJc29jYXQgLXUgVENQNi1MSVNURU46MTAwMDEg T1BFTjp0ZXN0X2JpZy5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9Q RU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNjpbOjoxXToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0 CWNtcCB0ZXN0X2JpZy5iaW4gL3Jvb3QvYmlnLmJpbg0KKw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRv IGd1ZXN0ICh1c2luZyBuYW1lc3BhY2UgYWRkcmVzcyk6IGJpZyB0cmFuc2Zlcg0KK2d1ZXN0Yglz b2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMSBPUEVOOnRlc3RfYmlnLmJpbixjcmVhdGUsdHJ1bmMN Cituc291dAlBRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlm bmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcNCitzbGVlcAkxDQorbnMJ c29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A2OltfX0FERFI2X19dOjEwMDAx DQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3RfYmlnLmJpbiAvcm9vdC9iaWcuYmluDQorDQordGVz dAlUQ1AvSVB2NjogaG9zdCB0byBndWVzdDogc21hbGwgdHJhbnNmZXINCitndWVzdGIJc29jYXQg LXUgVENQNi1MSVNURU46MTAwMDEgT1BFTjp0ZXN0X3NtYWxsLmJpbixjcmVhdGUsdHJ1bmMNCitz bGVlcAkxDQoraG9zdAlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNjpb OjoxXToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0X3NtYWxsLmJpbiAvcm9vdC9zbWFs bC5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBob3N0IHRvIG5zOiBzbWFsbCB0cmFuc2Zlcg0KK25z Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMiBPUEVOOl9fVEVNUF9OU19TTUFMTF9fLGNyZWF0 ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL3NtYWxs LmJpbiBUQ1A2Ols6OjFdOjEwMDAyDQorbnN3DQorY2hlY2sJY21wIF9fVEVNUF9OU19TTUFMTF9f IF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBndWVzdCB0byBob3N0 OiBzbWFsbCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAzIE9QRU46 X19URU1QX1NNQUxMX18sY3JlYXRlLHRydW5jDQorZ291dAlHVzYgaXAgLWogLTYgcm91dGUgc2hv d3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitnb3V0 CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBl ID09ICJldGhlciIpLmlmbmFtZScNCitzbGVlcAkxDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjovcm9v dC9zbWFsbC5iaW4gVENQNjpbX19HVzZfXyVfX0lGTkFNRV9fXToxMDAwMw0KK2hvc3R3DQorY2hl Y2sJY21wIF9fVEVNUF9TTUFMTF9fIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4NCisNCit0ZXN0CVRD UC9JUHY2OiBndWVzdCB0byBuczogc21hbGwgdHJhbnNmZXINCituc2IJc29jYXQgLXUgVENQNi1M SVNURU46MTAwMDIgT1BFTjpfX1RFTVBfTlNfU01BTExfXw0KK3NsZWVwCTENCitndWVzdAlzb2Nh dCAtdSBPUEVOOi9yb290L3NtYWxsLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAy DQorbnN3DQorY2hlY2sJY21wIF9fVEVNUF9OU19TTUFMTF9fIF9fQkFTRVBBVEhfXy9zbWFsbC5i aW4NCisNCit0ZXN0CVRDUC9JUHY2OiBucyB0byBob3N0IChzcGxpY2VkKTogc21hbGwgdHJhbnNm ZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9TTUFMTF9f LGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9z bWFsbC5iaW4gVENQNjpbOjoxXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9TTUFM TF9fIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBucyB0byBob3N0 ICh2aWEgdGFwKTogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjox MDAwMyBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK25zb3V0CUlGTkFNRSBpcCAt aiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIp LmlmbmFtZScNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwu YmluIFRDUDY6W19fR1c2X18lX19JRk5BTUVfX106MTAwMDMNCitob3N0dw0KK2NoZWNrCWNtcCBf X1RFTVBfU01BTExfXyBfX0JBU0VQQVRIX18vc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2Njog bnMgdG8gZ3Vlc3QgKHVzaW5nIGxvb3BiYWNrIGFkZHJlc3MpOiBzbWFsbCB0cmFuc2Zlcg0KK2d1 ZXN0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMSBPUEVOOnRlc3Rfc21hbGwuYmluLGNyZWF0 ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5i aW4gVENQNjpbOjoxXToxMDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0X3NtYWxsLmJpbiAv cm9vdC9zbWFsbC5iaW4NCisNCit0ZXN0CVRDUC9JUHY2OiBucyB0byBndWVzdCAodXNpbmcgbmFt ZXNwYWNlIGFkZHJlc3MpOiBzbWFsbCB0cmFuc2Zlcg0KK2d1ZXN0Yglzb2NhdCAtdSBUQ1A2LUxJ U1RFTjoxMDAwMSBPUEVOOnRlc3Rfc21hbGwuYmluLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitu cwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNjpbX19BRERSNl9fXTox MDAwMQ0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0X3NtYWxsLmJpbiAvcm9vdC9zbWFsbC5iaW4N CmRpZmYgLS1naXQgYS9vbGR0ZXN0L3Bhc3N0X2luX25zL3VkcCBiL29sZHRlc3QvcGFzc3RfaW5f bnMvdWRwDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uOGEwMjUxMw0KLS0t IC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXNzdF9pbl9ucy91ZHANCkBAIC0wLDAgKzEsMTM4 IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisj IFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5J WCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFi c3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMN CisjIHRlc3QvcGFzc3RfaW5fbnMvdWRwIC0gQ2hlY2sgVURQIGZ1bmN0aW9uYWxpdHkgZm9yIHBh c3N0IGluIG5zIGFuZCBwYXN0YQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdt YkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitn dG9vbHMJc29jYXQgaXAganENCituc3Rvb2xzCXNvY2F0IGlwIGpxDQoraHRvb2xzCXNvY2F0IGlw IGpxDQorDQorc2V0CVRFTVAgX19TVEFURURJUl9fL3Rlc3QuYmluDQorc2V0CVRFTVBfTlMgX19T VEFURURJUl9fL3Rlc3RfbnMuYmluDQorDQordGVzdAlVRFAvSVB2NDogaG9zdCB0byBndWVzdA0K K2d1ZXN0Yglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMSxudWxsLWVvZiBPUEVOOnRlc3QuYmlu LGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitob3N0CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9f L21lZGl1bS5iaW4gVURQNDoxMjcuMC4wLjE6MTAwMDEsc2h1dC1udWxsDQorZ3Vlc3R3DQorZ3Vl c3QJY21wIHRlc3QuYmluIC9yb290L21lZGl1bS5iaW4NCisNCit0ZXN0CVVEUC9JUHY0OiBob3N0 IHRvIG5zDQorbnNiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAyLG51bGwtZW9mIE9QRU46X19U RU1QX05TX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JB U0VQQVRIX18vbWVkaXVtLmJpbiBVRFA0OjEyNy4wLjAuMToxMDAwMixzaHV0LW51bGwNCituc3cN CitjaGVjawljbXAgX19URU1QX05TX18gX19CQVNFUEFUSF9fL21lZGl1bS5iaW4NCisNCit0ZXN0 CVVEUC9JUHY0OiBndWVzdCB0byBob3N0DQoraG9zdGIJc29jYXQgLXUgVURQNC1MSVNURU46MTAw MDMsbnVsbC1lb2YgT1BFTjpfX1RFTVBfXyxjcmVhdGUsdHJ1bmMNCitnb3V0CUdXIGlwIC1qIC00 IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3 YXknDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3QvbWVkaXVtLmJpbiBVRFA0 Ol9fR1dfXzoxMDAwMyxzaHV0LW51bGwNCitob3N0dw0KK2NoZWNrCWNtcCBfX1RFTVBfXyBfX0JB U0VQQVRIX18vbWVkaXVtLmJpbg0KKw0KK3Rlc3QJVURQL0lQdjQ6IGd1ZXN0IHRvIG5zDQorbnNi CXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAyLG51bGwtZW9mIE9QRU46X19URU1QX05TX18sY3Jl YXRlLHRydW5jDQorc2xlZXAJMQ0KK2d1ZXN0CXNvY2F0IC11IE9QRU46L3Jvb3QvbWVkaXVtLmJp biBVRFA0Ol9fR1dfXzoxMDAwMixzaHV0LW51bGwNCituc3cNCitjaGVjawljbXAgX19URU1QX05T X18gX19CQVNFUEFUSF9fL21lZGl1bS5iaW4NCisNCit0ZXN0CVVEUC9JUHY0OiBucyB0byBob3N0 IChyZWN2bW1zZy9zZW5kbW1zZykNCitob3N0Yglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMyxu dWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCAt dSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDQ6MTI3LjAuMC4xOjEwMDAzLHNodXQt bnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9fIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmlu DQorDQordGVzdAlVRFAvSVB2NDogbnMgdG8gaG9zdCAodmlhIHRhcCkNCitob3N0Yglzb2NhdCAt dSBVRFA0LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0K K3NsZWVwCTENCitucwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDQ6 X19HV19fOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9fIF9fQkFT RVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NDogbnMgdG8gZ3Vlc3QgKHVzaW5n IGxvb3BiYWNrIGFkZHJlc3MpDQorZ3Vlc3RiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAxLG51 bGwtZW9mIE9QRU46dGVzdC5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11 IE9QRU46X19CQVNFUEFUSF9fL21lZGl1bS5iaW4gVURQNDoxMjcuMC4wLjE6MTAwMDEsc2h1dC1u dWxsDQorZ3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3QuYmluIC9yb290L21lZGl1bS5iaW4NCisNCit0 ZXN0CVVEUC9JUHY0OiBucyB0byBndWVzdCAodXNpbmcgbmFtZXNwYWNlIGFkZHJlc3MpDQorZ3Vl c3RiCXNvY2F0IC11IFVEUDQtTElTVEVOOjEwMDAxLG51bGwtZW9mIE9QRU46dGVzdC5iaW4sY3Jl YXRlLHRydW5jDQorbnNvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltdIHwg c2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KK25zb3V0CUFERFIgaXAgLWog LTQgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18i KS5hZGRyX2luZm9bMF0ubG9jYWwnDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNF UEFUSF9fL21lZGl1bS5iaW4gVURQNDpfX0FERFJfXzoxMDAwMSxzaHV0LW51bGwNCitndWVzdHcN CitndWVzdAljbXAgdGVzdC5iaW4gL3Jvb3QvbWVkaXVtLmJpbg0KKw0KK3Rlc3QJVURQL0lQdjY6 IGhvc3QgdG8gZ3Vlc3QNCitndWVzdGIJc29jYXQgLXUgVURQNi1MSVNURU46MTAwMDEsbnVsbC1l b2YgT1BFTjp0ZXN0LmJpbixjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQoraG9zdAlzb2NhdCAtdSBP UEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDY6Wzo6MV06MTAwMDEsc2h1dC1udWxsDQor Z3Vlc3R3DQorZ3Vlc3QJY21wIHRlc3QuYmluIC9yb290L21lZGl1bS5iaW4NCisNCit0ZXN0CVVE UC9JUHY2OiBob3N0IHRvIG5zDQorbnNiCXNvY2F0IC11IFVEUDYtTElTVEVOOjEwMDAyLG51bGwt ZW9mIE9QRU46X19URU1QX05TX18sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK2hvc3QJc29jYXQg LXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2Ols6OjFdOjEwMDAyLHNodXQtbnVs bA0KK25zdw0KK2NoZWNrCWNtcCBfX1RFTVBfTlNfXyBfX0JBU0VQQVRIX18vbWVkaXVtLmJpbg0K Kw0KK3Rlc3QJVURQL0lQdjY6IGd1ZXN0IHRvIGhvc3QNCitob3N0Yglzb2NhdCAtdSBVRFA2LUxJ U1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0KK2dvdXQJR1c2 IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVs dCIpLmdhdGV3YXknDQorZ291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10g fCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorc2xlZXAJMQ0KK2d1ZXN0 CXNvY2F0IC11IE9QRU46L3Jvb3QvbWVkaXVtLmJpbiBVRFA2OltfX0dXNl9fJV9fSUZOQU1FX19d OjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9fIF9fQkFTRVBBVEhf Xy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NjogZ3Vlc3QgdG8gbnMNCituc2IJc29jYXQg LXUgVURQNi1MSVNURU46MTAwMDIsbnVsbC1lb2YgT1BFTjpfX1RFTVBfTlNfXyxjcmVhdGUsdHJ1 bmMNCitzbGVlcAkxDQorZ3Vlc3QJc29jYXQgLXUgT1BFTjovcm9vdC9tZWRpdW0uYmluIFVEUDY6 W19fR1c2X18lX19JRk5BTUVfX106MTAwMDIsc2h1dC1udWxsDQorbnN3DQorY2hlY2sJY21wIF9f VEVNUF9OU19fIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluDQorDQordGVzdAlVRFAvSVB2NjogbnMg dG8gaG9zdCAocmVjdm1tc2cvc2VuZG1tc2cpDQoraG9zdGIJc29jYXQgLXUgVURQNi1MSVNURU46 MTAwMDMsbnVsbC1lb2YgT1BFTjpfX1RFTVBfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorbnMJ c29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2Ols6OjFdOjEwMDAzLHNo dXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9fIF9fQkFTRVBBVEhfXy9tZWRpdW0u YmluDQorDQordGVzdAlVRFAvSVB2NjogbnMgdG8gaG9zdCAodmlhIHRhcCkNCitob3N0Yglzb2Nh dCAtdSBVRFA2LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVu Yw0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgu bGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitzbGVlcAkxDQorbnMJc29jYXQgLXUgT1BF TjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAz LHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fVEVNUF9fIF9fQkFTRVBBVEhfXy9tZWRp dW0uYmluDQorDQordGVzdAlVRFAvSVB2NjogbnMgdG8gZ3Vlc3QgKHVzaW5nIGxvb3BiYWNrIGFk ZHJlc3MpDQorZ3Vlc3RiCXNvY2F0IC11IFVEUDYtTElTVEVOOjEwMDAxLG51bGwtZW9mIE9QRU46 dGVzdC5iaW4sY3JlYXRlLHRydW5jDQorc2xlZXAJMQ0KK25zCXNvY2F0IC11IE9QRU46X19CQVNF UEFUSF9fL21lZGl1bS5iaW4gVURQNjpbOjoxXToxMDAwMSxzaHV0LW51bGwNCitndWVzdHcNCitn dWVzdAljbXAgdGVzdC5iaW4gL3Jvb3QvbWVkaXVtLmJpbg0KKw0KK3Rlc3QJVURQL0lQdjY6IG5z IHRvIGd1ZXN0ICh1c2luZyBuYW1lc3BhY2UgYWRkcmVzcykNCitndWVzdGIJc29jYXQgLXUgVURQ Ni1MSVNURU46MTAwMDEsbnVsbC1lb2YgT1BFTjp0ZXN0LmJpbixjcmVhdGUsdHJ1bmMNCituc291 dAlBRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9 PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcNCitzbGVlcAkxDQorbnMJc29jYXQg LXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2OltfX0FERFI2X19dOjEwMDAxLHNo dXQtbnVsbA0KK2d1ZXN0dw0KK2d1ZXN0CWNtcCB0ZXN0LmJpbiAvcm9vdC9tZWRpdW0uYmluDQpk aWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXN0YS9kaGNwIGIvb2xkdGVzdC9wYXN0YS9kaGNwDQpuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMzA5MDAxYg0KLS0tIC9kZXYvbnVsbA0K KysrIGIvb2xkdGVzdC9wYXN0YS9kaGNwDQpAQCAtMCwwICsxLDQ2IEBADQorIyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNp bXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1v ZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9y IG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGFzdGEvZGhj cCAtIENoZWNrIERIQ1AgYW5kIERIQ1B2NiBmdW5jdGlvbmFsaXR5IGluIHBhc3RhIG1vZGUNCisj DQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8g QnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorbnN0b29scwlpcCBqcSAvc2Jpbi9kaGNs aWVudA0KK2h0b29scwlpcCBqcQ0KKw0KK3Rlc3QJSW50ZXJmYWNlIG5hbWUNCituc291dAlJRk5B TUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAi ZXRoZXIiKS5pZm5hbWUnDQorY2hlY2sJWyAtbiAiX19JRk5BTUVfXyIgXQ0KKw0KK3Rlc3QJREhD UDogYWRkcmVzcw0KK25zCS9zYmluL2RoY2xpZW50IC00IC0tbm8tcGlkIF9fSUZOQU1FX18NCitu c291dAlBRERSIGlwIC1qIC00IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1l ID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvWzBdLmxvY2FsJw0KK2hvdXQJSE9TVF9BRERSIGlw IC1qIC00IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFN RV9fIikuYWRkcl9pbmZvWzBdLmxvY2FsJw0KK2NoZWNrCVsgX19BRERSX18gPSBfX0hPU1RfQURE Ul9fIF0NCisNCit0ZXN0CURIQ1A6IHJvdXRlDQorbnNvdXQJR1cgaXAgLWogLTQgcm91dGUgc2hv d3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitob3V0 CUhPU1RfR1cgaXAgLWogLTQgcm91dGUgc2hvd3xqcSAtck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9 PSAiZGVmYXVsdCIpLmdhdGV3YXldIHwgLlswXScNCitjaGVjawlbIF9fR1dfXyA9IF9fSE9TVF9H V19fIF0NCisNCit0ZXN0CURIQ1A6IE1UVQ0KK25zb3V0CU1UVSBpcCAtaiBsaW5rIHNob3cgfCBq cSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikubXR1Jw0KK2NoZWNr CVsgX19NVFVfXyA9IDY1NTIwIF0NCisNCit0ZXN0CURIQ1B2NjogYWRkcmVzcw0KK25zCS9zYmlu L2RoY2xpZW50IC02IC0tbm8tcGlkIF9fSUZOQU1FX18NCitob3V0CUhPU1RfSUZOQU1FNiBpcCAt aiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0Iiku ZGV2XSB8IC5bMF0nDQorbnNvdXQJQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltd IHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCgu cHJlZml4bGVuID09IDEyOCkubG9jYWwnDQoraG91dAlIT1NUX0FERFI2IGlwIC1qIC02IGFkZHIg c2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0hPU1RfSUZOQU1FNl9fIiku YWRkcl9pbmZvW10gfCBzZWxlY3QoLnNjb3BlID09ICJnbG9iYWwiKS5sb2NhbCcNCitjaGVjawlb IF9fQUREUjZfXyA9IF9fSE9TVF9BRERSNl9fIF0NCisNCit0ZXN0CURIQ1B2Njogcm91dGUNCitu c291dAlHVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09 ICJkZWZhdWx0IikuZ2F0ZXdheScNCitob3V0CUhPU1RfR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8 anEgLXJNICdbLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5XSB8IC5bMF0n DQorY2hlY2sJWyBfX0dXNl9fID0gX19IT1NUX0dXNl9fIF0NCmRpZmYgLS1naXQgYS9vbGR0ZXN0 L3Bhc3RhL25kcCBiL29sZHRlc3QvcGFzdGEvbmRwDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMC4uYmIzMzExMA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVzdC9wYXN0YS9u ZHANCkBAIC0wLDAgKzEsMzMgQEANCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyDQorIw0KKyMgUEFTU1QgLSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQN CisjICBmb3IgcWVtdS9VTklYIGRvbWFpbiBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFj ayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rpb24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFw IGRldmljZSBtb2RlDQorIw0KKyMgdGVzdC9wYXN0YS9uZHAgLSBDaGVjayBESENQIGFuZCBESENQ djYgZnVuY3Rpb25hbGl0eSBpbiBwYXN0YSBtb2RlDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIx IFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQu Y29tPg0KKw0KK25zdG9vbHMJaXAganEgc2lwY2FsYyBncmVwIGN1dA0KK2h0b29scwlpcCBqcSBz aXBjYWxjIGdyZXAgY3V0DQorDQordGVzdAlJbnRlcmZhY2UgbmFtZQ0KK25zb3V0CUlGTkFNRSBp cCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhl ciIpLmlmbmFtZScNCitjaGVjawlbIC1uICJfX0lGTkFNRV9fIiBdDQorbnMJaXAgbGluayBzZXQg ZGV2IF9fSUZOQU1FX18gdXANCitzbGVlcAkyDQorDQordGVzdAlTTEFBQzogcHJlZml4DQorbnNv dXQJQUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUg PT0gIl9fSUZOQU1FX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2NvcGUgPT0gImdsb2JhbCIg YW5kIC5wcmVmaXhsZW4gPT0gNjQpLmxvY2FsJw0KK25zb3V0CVBSRUZJWDYgc2lwY2FsYyBfX0FE RFI2X18vNjQgfCBncmVwIHByZWZpeCB8IGN1dCAtZCcgJyAtZjQNCitob3V0CUhPU1RfQUREUjYg aXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0gIl9fSUZO QU1FX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2NvcGUgPT0gImdsb2JhbCIpLmxvY2FsJw0K K2hvdXQJSE9TVF9QUkVGSVg2IHNpcGNhbGMgX19IT1NUX0FERFI2X18vNjQgfCBncmVwIHByZWZp eCB8IGN1dCAtZCcgJyAtZjQNCitjaGVjawlbICJfX1BSRUZJWDZfXyIgPSAiX19IT1NUX1BSRUZJ WDZfXyIgXQ0KKw0KK3Rlc3QJU0xBQUM6IHJvdXRlDQorbnNvdXQJR1c2IGlwIC1qIC02IHJvdXRl IHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQor aG91dAlIT1NUX0dXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8IHNlbGVjdCgu ZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheV0gfCAuWzBdJw0KK2NoZWNrCVsgX19HVzZfXyA9IF9f SE9TVF9HVzZfXyBdDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wYXN0YS90Y3AgYi9vbGR0ZXN0L3Bh c3RhL3RjcA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjZhYjE4YzUNCi0t LSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGFzdGEvdGNwDQpAQCAtMCwwICsxLDk2IEBADQor IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NU IC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21h aW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0 aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRl c3QvcGFzdGEvdGNwIC0gQ2hlY2sgVENQIGZ1bmN0aW9uYWxpdHkgZm9yIHBhc3RhDQorIw0KKyMg Q29weXJpZ2h0IChjKSAyMDIxIFJlZCBIYXQgR21iSA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZp byA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2h0b29scwlzb2NhdCBpcCBqcQ0KK25zdG9vbHMJ c29jYXQgaXAganENCisNCitzZXQJVEVNUF9CSUcgX19TVEFURURJUl9fL3Rlc3RfYmlnLmJpbg0K K3NldAlURU1QX05TX0JJRyBfX1NUQVRFRElSX18vdGVzdF9uc19iaWcuYmluDQorc2V0CVRFTVBf U01BTEwgX19TVEFURURJUl9fL3Rlc3Rfc21hbGwuYmluDQorc2V0CVRFTVBfTlNfU01BTEwgX19T VEFURURJUl9fL3Rlc3RfbnNfc21hbGwuYmluDQorDQordGVzdAlUQ1AvSVB2NDogaG9zdCB0byBu czogYmlnIHRyYW5zZmVyDQorbnNiCXNvY2F0IC11IFRDUDQtTElTVEVOOjEwMDAyLGJpbmQ9MTI3 LjAuMC4xIE9QRU46X19URU1QX05TX0JJR19fLGNyZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgLXUg T1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMg0KK25zdw0KK2No ZWNrCWNtcCBfX0JBU0VQQVRIX18vYmlnLmJpbiBfX1RFTVBfTlNfQklHX18NCisNCit0ZXN0CVRD UC9JUHY0OiBucyB0byBob3N0IChzcGxpY2VkKTogYmlnIHRyYW5zZmVyDQoraG9zdGIJc29jYXQg LXUgVENQNC1MSVNURU46MTAwMDMsYmluZD0xMjcuMC4wLjEgT1BFTjpfX1RFTVBfQklHX18sY3Jl YXRlLHRydW5jDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A0OjEy Ny4wLjAuMToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9iaWcuYmluIF9f VEVNUF9CSUdfXw0KKw0KK3Rlc3QJVENQL0lQdjQ6IG5zIHRvIGhvc3QgKHZpYSB0YXApOiBiaWcg dHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9C SUdfXyxjcmVhdGUsdHJ1bmMNCituc291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAn LltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK25zCXNvY2F0IC11IE9Q RU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNDpfX0dXX186MTAwMDMNCitob3N0dw0KK2NoZWNr CWNtcCBfX0JBU0VQQVRIX18vYmlnLmJpbiBfX1RFTVBfQklHX18NCisNCit0ZXN0CVRDUC9JUHY0 OiBob3N0IHRvIG5zOiBzbWFsbCB0cmFuc2Zlcg0KK25zYglzb2NhdCAtdSBUQ1A0LUxJU1RFTjox MDAwMixiaW5kPTEyNy4wLjAuMSBPUEVOOl9fVEVNUF9OU19TTUFMTF9fLGNyZWF0ZSx0cnVuYw0K K2hvc3QJc29jYXQgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRDUDQ6MTI3LjAuMC4xOjEw MDAyDQorbnN3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gX19URU1QX05TX1NN QUxMX18NCisNCit0ZXN0CVRDUC9JUHY0OiBucyB0byBob3N0IChzcGxpY2VkKTogc21hbGwgdHJh bnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0LUxJU1RFTjoxMDAwMyxiaW5kPTEyNy4wLjAuMSBP UEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK25zCXNvY2F0IE9QRU46X19CQVNFUEFU SF9fL3NtYWxsLmJpbiBUQ1A0OjEyNy4wLjAuMToxMDAwMw0KK2hvc3R3DQorY2hlY2sJY21wIF9f QkFTRVBBVEhfXy9zbWFsbC5iaW4gX19URU1QX1NNQUxMX18NCisNCit0ZXN0CVRDUC9JUHY0OiBu cyB0byBob3N0ICh2aWEgdGFwKTogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A0 LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK25zb3V0CUdX IGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVs dCIpLmdhdGV3YXknDQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRD UDQ6X19HV19fOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL3NtYWxsLmJp biBfX1RFTVBfU01BTExfXw0KKw0KK3Rlc3QJVENQL0lQdjY6IGhvc3QgdG8gbnM6IGJpZyB0cmFu c2Zlcg0KK25zYglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMixiaW5kPVs6OjFdIE9QRU46X19U RU1QX05TX0JJR19fLGNyZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRI X18vYmlnLmJpbiBUQ1A2Ols6OjFdOjEwMDAyDQorbnN3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhf Xy9iaWcuYmluIF9fVEVNUF9OU19CSUdfXw0KKw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRvIGhvc3Qg KHNwbGljZWQpOiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAw MyxiaW5kPVs6OjFdIE9QRU46X19URU1QX0JJR19fLGNyZWF0ZSx0cnVuYw0KK25zCXNvY2F0IC11 IE9QRU46X19CQVNFUEFUSF9fL2JpZy5iaW4gVENQNjpbOjoxXToxMDAwMw0KK2hvc3R3DQorY2hl Y2sJY21wIF9fQkFTRVBBVEhfXy9iaWcuYmluIF9fVEVNUF9CSUdfXw0KKw0KK3Rlc3QJVENQL0lQ djY6IG5zIHRvIGhvc3QgKHZpYSB0YXApOiBiaWcgdHJhbnNmZXINCitob3N0Yglzb2NhdCAtdSBU Q1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9CSUdfXyxjcmVhdGUsdHJ1bmMNCituc291dAlH VzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZh dWx0IikuZ2F0ZXdheScNCituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEgLXJNICcu W10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorbnMJc29jYXQgLXUg T1BFTjpfX0JBU0VQQVRIX18vYmlnLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZOQU1FX19dOjEwMDAz DQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL2JpZy5iaW4gX19URU1QX0JJR19fDQor DQordGVzdAlUQ1AvSVB2NjogaG9zdCB0byBuczogc21hbGwgdHJhbnNmZXINCituc2IJc29jYXQg LXUgVENQNi1MSVNURU46MTAwMDIsYmluZD1bOjoxXSBPUEVOOl9fVEVNUF9OU19TTUFMTF9fLGNy ZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vc21hbGwuYmluIFRD UDY6Wzo6MV06MTAwMDINCituc3cNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL3NtYWxsLmJpbiBf X1RFTVBfTlNfU01BTExfXw0KKw0KK3Rlc3QJVENQL0lQdjY6IG5zIHRvIGhvc3QgKHNwbGljZWQp OiBzbWFsbCB0cmFuc2Zlcg0KK2hvc3RiCXNvY2F0IC11IFRDUDYtTElTVEVOOjEwMDAzLGJpbmQ9 Wzo6MV0gT1BFTjpfX1RFTVBfU01BTExfXyxjcmVhdGUsdHJ1bmMNCitucwlzb2NhdCAtdSBPUEVO Ol9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gVENQNjpbOjoxXToxMDAwMw0KK2hvc3R3DQorY2hlY2sJ Y21wIF9fQkFTRVBBVEhfXy9zbWFsbC5iaW4gX19URU1QX1NNQUxMX18NCisNCit0ZXN0CVRDUC9J UHY2OiBucyB0byBob3N0ICh2aWEgdGFwKTogc21hbGwgdHJhbnNmZXINCitob3N0Yglzb2NhdCAt dSBUQ1A2LUxJU1RFTjoxMDAwMyBPUEVOOl9fVEVNUF9TTUFMTF9fLGNyZWF0ZSx0cnVuYw0KK25z CXNvY2F0IC11IE9QRU46X19CQVNFUEFUSF9fL3NtYWxsLmJpbiBUQ1A2OltfX0dXNl9fJV9fSUZO QU1FX19dOjEwMDAzDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL3NtYWxsLmJpbiBf X1RFTVBfU01BTExfXw0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcGFzdGEvdWRwIGIvb2xkdGVzdC9w YXN0YS91ZHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4zMGUzYTg1DQot LS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3Bhc3RhL3VkcA0KQEAgLTAsMCArMSw1OSBAQA0K KyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNT VCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9t YWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFj dGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0 ZXN0L3Bhc3RhL3VkcCAtIENoZWNrIFVEUCBmdW5jdGlvbmFsaXR5IGZvciBwYXN0YQ0KKyMNCisj IENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2 aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCituc3Rvb2xzCXNvY2F0IGlwIGpxDQoraHRvb2xz CWRkIHNvY2F0IGlwIGpxDQorDQorc2V0CVRFTVAgX19TVEFURURJUl9fL3Rlc3QuYmluDQorc2V0 CVRFTVBfTlMgX19TVEFURURJUl9fL3Rlc3RfbnMuYmluDQorDQordGVzdAlVRFAvSVB2NDogaG9z dCB0byBucw0KK25zYglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMixiaW5kPTEyNy4wLjAuMSxu dWxsLWVvZiBPUEVOOl9fVEVNUF9OU19fLGNyZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgT1BFTjpf X0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA0OjEyNy4wLjAuMToxMDAwMixzaHV0LW51bGwNCitu c3cNCitjaGVjawljbXAgX19CQVNFUEFUSF9fL21lZGl1bS5iaW4gX19URU1QX05TX18NCisNCit0 ZXN0CVVEUC9JUHY0OiBucyB0byBob3N0IChyZWN2bW1zZy9zZW5kbW1zZykNCitob3N0Yglzb2Nh dCAtdSBVRFA0LUxJU1RFTjoxMDAwMyxiaW5kPTEyNy4wLjAuMSxudWxsLWVvZiBPUEVOOl9fVEVN UF9fLGNyZWF0ZSx0cnVuYw0KK3NsZWVwCTENCitucwlzb2NhdCBPUEVOOl9fQkFTRVBBVEhfXy9t ZWRpdW0uYmluIFVEUDQ6MTI3LjAuMC4xOjEwMDAzLHNodXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJ Y21wIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIF9fVEVNUF9fDQorDQordGVzdAlVRFAvSVB2NDog bnMgdG8gaG9zdCAodmlhIHRhcCkNCitob3N0Yglzb2NhdCAtdSBVRFA0LUxJU1RFTjoxMDAwMyxu dWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVuYw0KK25zb3V0CUdXIGlwIC1qIC00IHJv dXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXkn DQorbnMJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA0Ol9fR1dfXzox MDAwMyxzaHV0LW51bGwNCitob3N0dw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18vbWVkaXVtLmJp biBfX1RFTVBfXw0KKw0KK3Rlc3QJVURQL0lQdjY6IGhvc3QgdG8gbnMNCituc2IJc29jYXQgLXUg VURQNi1MSVNURU46MTAwMDIsYmluZD1bOjoxXSxudWxsLWVvZiBPUEVOOl9fVEVNUF9OU19fLGNy ZWF0ZSx0cnVuYw0KK2hvc3QJc29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBV RFA2Ols6OjFdOjEwMDAyLHNodXQtbnVsbA0KK25zdw0KK2NoZWNrCWNtcCBfX0JBU0VQQVRIX18v bWVkaXVtLmJpbiBfX1RFTVBfTlNfXw0KKw0KK3Rlc3QJVURQL0lQdjY6IG5zIHRvIGhvc3QgKHJl Y3ZtbXNnL3NlbmRtbXNnKQ0KK2hvc3RiCXNvY2F0IC11IFVEUDYtTElTVEVOOjEwMDAzLGJpbmQ9 Wzo6MV0sbnVsbC1lb2YgT1BFTjpfX1RFTVBfXyxjcmVhdGUsdHJ1bmMNCitzbGVlcAkxDQorbnMJ c29jYXQgLXUgT1BFTjpfX0JBU0VQQVRIX18vbWVkaXVtLmJpbiBVRFA2Ols6OjFdOjEwMDAzLHNo dXQtbnVsbA0KK2hvc3R3DQorY2hlY2sJY21wIF9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIF9fVEVN UF9fDQorDQordGVzdAlVRFAvSVB2NjogbnMgdG8gaG9zdCAodmlhIHRhcCkNCitob3N0Yglzb2Nh dCAtdSBVRFA2LUxJU1RFTjoxMDAwMyxudWxsLWVvZiBPUEVOOl9fVEVNUF9fLGNyZWF0ZSx0cnVu Yw0KK25zb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5k c3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cg fCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCitu cwlzb2NhdCAtdSBPUEVOOl9fQkFTRVBBVEhfXy9tZWRpdW0uYmluIFVEUDY6W19fR1c2X18lX19J Rk5BTUVfX106MTAwMDMsc2h1dC1udWxsDQoraG9zdHcNCitjaGVjawljbXAgX19CQVNFUEFUSF9f L21lZGl1bS5iaW4gX19URU1QX18NCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3Bhc3RhX29wdGlvbnMv bG9nX3RvX2ZpbGUgYi9vbGR0ZXN0L3Bhc3RhX29wdGlvbnMvbG9nX3RvX2ZpbGUNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5mY2RkNTUzDQotLS0gL2Rldi9udWxsDQorKysg Yi9vbGR0ZXN0L3Bhc3RhX29wdGlvbnMvbG9nX3RvX2ZpbGUNCkBAIC0wLDAgKzEsOTMgQEANCisj IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQorIw0KKyMgUEFTU1Qg LSBQbHVnIEEgU2ltcGxlIFNvY2tldCBUcmFuc3BvcnQNCisjICBmb3IgcWVtdS9VTklYIGRvbWFp biBzb2NrZXQgbW9kZQ0KKyMNCisjIFBBU1RBIC0gUGFjayBBIFN1YnRsZSBUYXAgQWJzdHJhY3Rp b24NCisjICBmb3IgbmV0d29yayBuYW1lc3BhY2UvdGFwIGRldmljZSBtb2RlDQorIw0KKyMgdGVz dC9wYXN0YV9vcHRpb25zL2xvZ190b19maWxlIC0gQ2hlY2sgbG9nIGNyZWF0aW9uLCByb3RhdGlv bnMgYW5kIGNvbnNpc3RlbmN5DQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIyIFJlZCBIYXQgR21i SA0KKyMgQXV0aG9yOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KKw0KK2h0 b29scwl3YyB0Y3BfcnIgdGFpbCBjdXQgdHIgc29ydA0KKw0KK2RlZglmbG9vZF9sb2dfc2VydmVy DQorcGFzc3RiCXRjcF9jcnIgLS1ub2xvZyAtUCAxMDAwMSAtQyAxMDAwMiAtNg0KK3NsZWVwCTEN CitlbmRlZg0KKw0KK2RlZglmbG9vZF9sb2dfY2xpZW50DQoraG9zdAl0Y3BfY3JyIC0tbm9sb2cg LVAgMTAwMDEgLUMgMTAwMDIgLTYgLWMgLUggOjoxDQorZW5kZWYNCisNCitkZWYJY2hlY2tfbG9n X3NpemVfbW91bnRucw0KK3BvdXQJU0laRSBjYXQgX19MT0dfRklMRV9fIHwgd2MgLWMNCitjaGVj awlbIF9fU0laRV9fIC1ndCAkKCg1MCAqIDEwMjQpKSBdDQorY2hlY2sJWyBfX1NJWkVfXyAtbHQg JCgoMTAwICogMTAyNCkpIF0NCitlbmRlZg0KKw0KK3Rlc3QJTG9nIGNyZWF0aW9uDQorDQorc2V0 CVBPUlRTIC10IDEwMDAxLDEwMDAyIC11IDEwMDAxLDEwMDAyDQorc2V0CUxPR19GSUxFIF9fU1RB VEVESVJfXy9wYXN0YS5sb2cNCisNCitwYXNzdAkuL3Bhc3RhIC1sIF9fTE9HX0ZJTEVfXw0KK3Bh c3N0YglleGl0DQorc2xlZXAJMQ0KK2NoZWNrCVsgLXMgX19MT0dfRklMRV9fIF0NCisNCit0ZXN0 CUxvZyB0cnVuY2F0ZWQgb24gY3JlYXRpb24NCitwYXNzdAkuL3Bhc3RhIC1sIF9fTE9HX0ZJTEVf Xw0KK3Bhc3N0YglleGl0DQorc2xlZXAJMQ0KK2NoZWNrCVsgJChjYXQgX19MT0dfRklMRV9fIHwg d2MgLWwpIC1lcSAxIF0NCisNCit0ZXN0CU1heGltdW0gbG9nIHNpemUNCitwYXNzdGIJLi9wYXN0 YSAtLWNvbmZpZy1uZXQgLWQgLWYgLWwgX19MT0dfRklMRV9fIC0tbG9nLXNpemUgJCgoMTAwICog MTAyNCkpIC0tIHNoIC1jICd3aGlsZSB0cnVlOyBkbyB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDEg LUMgMTAwMDIgLTY7IGRvbmUnDQorc2xlZXAJMQ0KKw0KK2Zsb29kX2xvZ19jbGllbnQNCitjaGVj awlbICQoY2F0IF9fTE9HX0ZJTEVfXyB8IHdjIC1jKSAtZ3QgJCgoNTAgKiAxMDI0KSkgXQ0KK2No ZWNrCVsgJChjYXQgX19MT0dfRklMRV9fIHwgd2MgLWMpIC1sdCAkKCgxMDAgKiAxMDI0KSkgXQ0K Kw0KK2Zsb29kX2xvZ19jbGllbnQNCitjaGVjawlbICQoY2F0IF9fTE9HX0ZJTEVfXyB8IHdjIC1j KSAtZ3QgJCgoNTAgKiAxMDI0KSkgXQ0KK2NoZWNrCVsgJChjYXQgX19MT0dfRklMRV9fIHwgd2Mg LWMpIC1sdCAkKCgxMDAgKiAxMDI0KSkgXQ0KKw0KK2Zsb29kX2xvZ19jbGllbnQNCitjaGVjawlb ICQoY2F0IF9fTE9HX0ZJTEVfXyB8IHdjIC1jKSAtZ3QgJCgoNTAgKiAxMDI0KSkgXQ0KK2NoZWNr CVsgJChjYXQgX19MT0dfRklMRV9fIHwgd2MgLWMpIC1sdCAkKCgxMDAgKiAxMDI0KSkgXQ0KKw0K K3BpbnQNCisNCit0ZXN0CVRpbWVzdGFtcCBjb25zaXN0ZW5jeSBhZnRlciByb3RhdGlvbnMNCitj aGVjawl0YWlsIC1uICsyIF9fTE9HX0ZJTEVfXyB8IGN1dCAtZjEgLWQnICcgfCB0ciAtZCBbLjpd IHwgc29ydCAtYw0KKw0KK3Rlc3QJTWF4aW11bSBsb2cgc2l6ZSBvbiB0bXBmcyAobm8gRkFMTE9D X0ZMX0NPTExBUFNFX1JBTkdFKQ0KK3Bhc3N0CXVuc2hhcmUgLXJVbQ0KK3Bhc3N0CW1rZGlyIF9f U1RBVEVESVJfXy90DQorcGFzc3QJbW91bnQgLXQgdG1wZnMgbm9uZSBfX1NUQVRFRElSX18vdA0K K3NldAlMT0dfRklMRSBfX1NUQVRFRElSX18vdC9sb2cNCitwYXNzdAkuL3Bhc3RhIC0tY29uZmln LW5ldCAtZCAtbCBfX0xPR19GSUxFX18gLS1sb2ctc2l6ZSAkKCgxMDAgKiAxMDI0KSkNCisNCitm bG9vZF9sb2dfc2VydmVyDQorZmxvb2RfbG9nX2NsaWVudA0KK2NoZWNrX2xvZ19zaXplX21vdW50 bnMNCisNCitmbG9vZF9sb2dfc2VydmVyDQorZmxvb2RfbG9nX2NsaWVudA0KK2NoZWNrX2xvZ19z aXplX21vdW50bnMNCisNCitmbG9vZF9sb2dfc2VydmVyDQorZmxvb2RfbG9nX2NsaWVudA0KK2No ZWNrX2xvZ19zaXplX21vdW50bnMNCisNCit0ZXN0CVRpbWVzdGFtcCBjb25zaXN0ZW5jeSBhZnRl ciByb3RhdGlvbnMgKG5vIEZBTExPQ19GTF9DT0xMQVBTRV9SQU5HRSkNCitjaGVjawl0YWlsIC1u ICsyIF9fTE9HX0ZJTEVfXyB8IGN1dCAtZjEgLWQnICcgfCB0ciAtZCBbLjpdIHwgc29ydCAtYw0K Kw0KK3Bhc3N0YglleGl0DQorc2xlZXAJMQ0KK3Bhc3N0CXVtb3VudCBfX1NUQVRFRElSX18vdA0K K3Bhc3N0CWV4aXQNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3BlcmYvcGFzc3RfdGNwIGIvb2xkdGVz dC9wZXJmL3Bhc3N0X3RjcA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjcw NDZmM2MNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcGVyZi9wYXNzdF90Y3ANCkBAIC0w LDAgKzEsMjE1IEBADQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9y IHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0 bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2Ug bW9kZQ0KKyMNCisjIHRlc3QvcGVyZi9wYXNzdF90Y3AgLSBDaGVjayBUQ1AgcGVyZm9ybWFuY2Ug aW4gcGFzc3QgbW9kZQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisj IEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitndG9vbHMJ L3NiaW4vc3lzY3RsIGlwIGpxIG5wcm9jIHNlcSBzbGVlcCBpcGVyZjMgdGNwX3JyIHRjcF9jcnIg IyBGcm9tIG5lcGVyDQorbnN0b29scwkvc2Jpbi9zeXNjdGwgaXAganEgbnByb2Mgc2VxIHNsZWVw IGlwZXJmMyB0Y3BfcnIgdGNwX2Nycg0KK2h0b29scwliYyBoZWFkIHNlZCBzZXENCisNCit0ZXN0 CXBhc3N0OiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5DQorDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13 IG5ldC5jb3JlLnJtZW1fbWF4PTUzNjg3MDkxMg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQu Y29yZS53bWVtX21heD01MzY4NzA5MTINCitndWVzdAkvc2Jpbi9zeXNjdGwgLXcgbmV0LmNvcmUu cm1lbV9kZWZhdWx0PTMzNTU0NDMyDQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13IG5ldC5jb3JlLndt ZW1fZGVmYXVsdD0zMzU1NDQzMg0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQuaXB2NC50Y3Bf cm1lbT0iNDA5NiAxMzEwNzIgMjY4NDM1NDU2Ig0KK2d1ZXN0CS9zYmluL3N5c2N0bCAtdyBuZXQu aXB2NC50Y3Bfd21lbT0iNDA5NiAxMzEwNzIgMjY4NDM1NDU2Ig0KK2d1ZXN0CS9zYmluL3N5c2N0 bCAtdyBuZXQuaXB2NC50Y3BfdGltZXN0YW1wcz0wDQorDQorbnMJL3NiaW4vc3lzY3RsIC13IG5l dC5pcHY0LnRjcF9ybWVtPSI0MDk2IDUyNDI4OCAxMzQyMTc3MjgiDQorbnMJL3NiaW4vc3lzY3Rs IC13IG5ldC5pcHY0LnRjcF93bWVtPSI0MDk2IDUyNDI4OCAxMzQyMTc3MjgiDQorbnMJL3NiaW4v c3lzY3RsIC13IG5ldC5pcHY0LnRjcF90aW1lc3RhbXBzPTANCisNCitnb3V0CUdXIGlwIC1qIC00 IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3 YXknDQorZ291dAlHVzYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCgu ZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScNCitnb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cg fCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCisN Citob3V0CUZSRVFfUFJPQ0ZTIChlY2hvICJzY2FsZT0xIjsgc2VkIC1uICdzL2NwdSBNSHouKjog XChbMC05XSpcKVwuLiokLyhcMSsxMF4yXC8yKVwvMTBeMy9wJyAvcHJvYy9jcHVpbmZvKSB8IGJj IC1sIHwgaGVhZCAtbjENCitob3V0CUZSRVFfQ1BVRlJFUSAoZWNobyAic2NhbGU9MSI7IHByaW50 ZiAnKCAlaSArIDEwXjUgLyAyICkgLyAxMF42XG4nICQoY2F0IC9zeXMvZGV2aWNlcy9zeXN0ZW0v Y3B1L2NwdTAvY3B1ZnJlcS9zY2FsaW5nX21heF9mcmVxKSApIHwgYmMgLWwNCitob3V0CUZSRVEg WyAtbiAiX19GUkVRX0NQVUZSRVFfXyIgXSAmJiBlY2hvIF9fRlJFUV9DUFVGUkVRX18gfHwgZWNo byBfX0ZSRVFfUFJPQ0ZTX18NCisNCitzZXQJVEhSRUFEUyAxDQorc2V0CVNUUkVBTVMgOA0KK3Nl dAlUSU1FIDEwDQoraG91dAlPTUlUIGVjaG8gX19USU1FX18gLyA2IHwgYmMgLWwNCitzZXQJT1BU UyAtWiAtUCBfX1NUUkVBTVNfXyAtbCAxTSAtT19fT01JVF9fIC0tcGFjaW5nLXRpbWVyIDEwMDAw MDANCisNCitpbmZvCVRocm91Z2hwdXQgaW4gR2JwcywgbGF0ZW5jeSBpbiDCtXMsIG9uZSB0aHJl YWQgYXQgX19GUkVRX18gR0h6LCBfX1NUUkVBTVNfXyBzdHJlYW1zDQorcmVwb3J0CXBhc3N0IHRj cCBfX1RIUkVBRFNfXyBfX0ZSRVFfXw0KKw0KK3RoCU1UVSAyNTZCIDU3NkIgMTI4MEIgMTUwMEIg OTAwMEIgNjU1MjBCDQorDQorDQordHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBndWVzdCB0 byBob3N0DQorYncJLQ0KK2J3CS0NCisNCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVf XyBtdHUgMTI4MA0KK2lwZXJmMwlCVyBndWVzdCBucyBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtp fTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcgNE0NCitidwlfX0JXX18gMS4yIDEu NQ0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJX IGd1ZXN0IG5zIF9fR1c2X18lX19JRk5BTUVfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVf XyBfX09QVFNfXyAtdyA0TQ0KK2J3CV9fQldfXyAxLjYgMS44DQorZ3Vlc3QJaXAgbGluayBzZXQg ZGV2IF9fSUZOQU1FX18gbXR1IDkwMDANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HVzZfXyVfX0lG TkFNRV9fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDhNDQorYncJ X19CV19fIDQuMCA1LjANCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNjU1 MjANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0yIF9fVEhS RUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDE2TQ0KK2J3CV9fQldfXyA3LjAgOC4wDQorDQor dGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJUHY2OiBndWVzdCB0byBob3N0DQorbGF0CS0NCitsYXQJ LQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl0Y3BfcnIgLS1ub2xvZyAtNg0KK2dvdXQJ TEFUIHRjcF9yciAtLW5vbG9nIC02IC1jIC1IIF9fR1c2X18lX19JRk5BTUVfXyB8IHNlZCAtbiAn cy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQordGwJ VENQIENSUiBsYXRlbmN5IG92ZXIgSVB2NjogZ3Vlc3QgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0N CitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCituc2IJdGNwX2NyciAtLW5vbG9nIC02DQorZ291dAlM QVQgdGNwX2NyciAtLW5vbG9nIC02IC1jIC1IIF9fR1c2X18lX19JRk5BTUVfXyB8IHNlZCAtbiAn cy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyA1MDAgNDAwDQorDQorDQor dHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY0OiBndWVzdCB0byBob3N0DQorZ3Vlc3QJaXAgbGlu ayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDI1Ng0KK2lwZXJmMwlCVyBndWVzdCBucyBfX0dXX18g MTAwJHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcgMU0NCitidwlfX0JXX18g MC4yIDAuMw0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSA1NzYNCitpcGVy ZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BU U19fIC13IDFNDQorYncJX19CV19fIDAuNSAwLjgNCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19J Rk5BTUVfXyBtdHUgMTI4MA0KK2lwZXJmMwlCVyBndWVzdCBucyBfX0dXX18gMTAwJHtpfTIgX19U SFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcgNE0NCitidwlfX0JXX18gMS4yIDEuNQ0KK2d1 ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIGd1ZXN0 IG5zIF9fR1dfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtdyA0TQ0K K2J3CV9fQldfXyAxLjYgMS44DQorZ3Vlc3QJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1 IDkwMDANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9f VElNRV9fIF9fT1BUU19fIC13IDhNDQorYncJX19CV19fIDQuMCA1LjANCitndWVzdAlpcCBsaW5r IHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNjU1MjANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19f IDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDE2TQ0KK2J3CV9fQldf XyA3LjAgOC4wDQorDQordGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJUHY0OiBndWVzdCB0byBob3N0 DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl0Y3BfcnIgLS1u b2xvZyAtNA0KK2dvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC00IC1jIC1IIF9fR1dfXyB8IHNlZCAt biAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQor dGwJVENQIENSUiBsYXRlbmN5IG92ZXIgSVB2NDogZ3Vlc3QgdG8gaG9zdA0KK2xhdAktDQorbGF0 CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCituc2IJdGNwX2NyciAtLW5vbG9nIC00DQorZ291 dAlMQVQgdGNwX2NyciAtLW5vbG9nIC00IC1jIC1IIF9fR1dfXyB8IHNlZCAtbiAncy9edGhyb3Vn aHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyA1MDAgNDAwDQorDQorDQordHIJVENQIHRo cm91Z2hwdXQgb3ZlciBJUHY2OiBob3N0IHRvIGd1ZXN0DQorYncJLQ0KK2J3CS0NCitucwlpcCBs aW5rIHNldCBkZXYgbG8gbXR1IDEyODANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEwMCR7aX0x IF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDEuMCAxLjINCitucwlp cCBsaW5rIHNldCBkZXYgbG8gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEwMCR7 aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDIuMCAzLjANCitu cwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDkwMDANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgOjoxIDEw MCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDUuMCA2LjAN CitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTIwDQoraXBlcmYzCUJXIG5zIGd1ZXN0IDo6 MSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyA2LjAg Ni44DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA2NTUzNQ0KKw0KK3RsCVRDUCBSUiBsYXRl bmN5IG92ZXIgSVB2NjogaG9zdCB0byBndWVzdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2xh dAktDQorbGF0CS0NCitndWVzdGIJdGNwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTYN CitzbGVlcAkxDQorbnNvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1QIDEwMDAxIC1DIDEwMDExIC02 IC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19M QVRfXyAyMDAgMTUwDQorDQordGwJVENQIENSUiBsYXRlbmN5IG92ZXIgSVB2NjogaG9zdCB0byBn dWVzdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitndWVzdGIJdGNw X2NyciAtLW5vbG9nIC1QIDEwMDAxIC1DIDEwMDExIC02DQorc2xlZXAJMQ0KK25zb3V0CUxBVCB0 Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTYgLWMgLUggOjoxIHwgc2VkIC1uICdz L150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDUwMCAzNTANCisNCisNCit0 cglUQ1AgdGhyb3VnaHB1dCBvdmVyIElQdjQ6IGhvc3QgdG8gZ3Vlc3QNCitucwlpcCBsaW5rIHNl dCBkZXYgbG8gbXR1IDI1Ng0KK2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEg X19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMC4zIDAuNQ0KK25zCWlw IGxpbmsgc2V0IGRldiBsbyBtdHUgNTc2DQoraXBlcmYzCUJXIG5zIGd1ZXN0IDEyNy4wLjAuMSAx MDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXw0KK2J3CV9fQldfXyAwLjUgMS4w DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAxMjgwDQorbnMJaXAgYWRkciBhZGQgOjoxIGRl diBsbw0KK2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJFQURTX18g X19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMi4wIDMuMA0KK25zCWlwIGxpbmsgc2V0IGRl diBsbyBtdHUgMTUwMA0KK2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19U SFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMi4wIDMuMA0KK25zCWlwIGxp bmsgc2V0IGRldiBsbyBtdHUgOTAwMA0KK2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAw JHtpfTEgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gNS4wIDYuMA0K K25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgNjU1MjANCitpcGVyZjMJQlcgbnMgZ3Vlc3QgMTI3 LjAuMC4xIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19f IDYuMCA2LjgNCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDY1NTM1DQorDQordGwJVENQIFJS IGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0IHRvIGd1ZXN0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAkt DQorbGF0CS0NCitsYXQJLQ0KK2d1ZXN0Ygl0Y3BfcnIgLS1ub2xvZyAtUCAxMDAwMSAtQyAxMDAx MSAtNA0KK3NsZWVwCTENCituc291dAlMQVQgdGNwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAw MTEgLTQgLWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9w Jw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCit0bAlUQ1AgQ1JSIGxhdGVuY3kgb3ZlciBJUHY2 OiBob3N0IHRvIGd1ZXN0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0K K2d1ZXN0Ygl0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEgLTQNCitzbGVlcAkxDQor bnNvdXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAtUCAxMDAwMSAtQyAxMDAxMSAtNCAtYyAtSCAxMjcu MC4wLjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbGF0CV9fTEFUX18g NTAwIDMwMA0KKw0KK3RlDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wZXJmL3Bhc3N0X3VkcCBiL29s ZHRlc3QvcGVyZi9wYXNzdF91ZHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw Li5hMTE3YjZhDQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3BlcmYvcGFzc3RfdWRwDQpA QCAtMCwwICsxLDE2NSBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMg IGZvciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEg U3VidGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2 aWNlIG1vZGUNCisjDQorIyB0ZXN0L3BlcmYvcGFzc3RfdWRwIC0gQ2hlY2sgVURQIHBlcmZvcm1h bmNlIGluIHBhc3N0IG1vZGUNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJI DQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQorZ3Rv b2xzCS9zYmluL3N5c2N0bCBpcCBqcSBucHJvYyBzbGVlcCBpcGVyZjMgdWRwX3JyICMgRnJvbSBu ZXBlcg0KK25zdG9vbHMJaXAganEgc2xlZXAgaXBlcmYzIHVkcF9ycg0KK2h0b29scwliYyBoZWFk IHNlZA0KKw0KK3Rlc3QJcGFzc3Q6IHRocm91Z2hwdXQgYW5kIGxhdGVuY3kNCisNCitndWVzdAkv c2Jpbi9zeXNjdGwgLXcgbmV0LmNvcmUucm1lbV9tYXg9MTY3NzcyMTYNCitndWVzdAkvc2Jpbi9z eXNjdGwgLXcgbmV0LmNvcmUud21lbV9tYXg9MTY3NzcyMTYNCitndWVzdAkvc2Jpbi9zeXNjdGwg LXcgbmV0LmNvcmUucm1lbV9kZWZhdWx0PTE2Nzc3MjE2DQorZ3Vlc3QJL3NiaW4vc3lzY3RsIC13 IG5ldC5jb3JlLndtZW1fZGVmYXVsdD0xNjc3NzIxNg0KKw0KK2dvdXQJR1cgaXAgLWogLTQgcm91 dGUgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0IikuZ2F0ZXdheScN Citnb3V0CUdXNiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3Qg PT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2dvdXQJSUZOQU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpx IC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZuYW1lJw0KKw0KK2hv dXQJRlJFUV9QUk9DRlMgKGVjaG8gInNjYWxlPTEiOyBzZWQgLW4gJ3MvY3B1IE1Iei4qOiBcKFsw LTldKlwpXC4uKiQvKFwxKzEwXjJcLzIpXC8xMF4zL3AnIC9wcm9jL2NwdWluZm8pIHwgYmMgLWwg fCBoZWFkIC1uMQ0KK2hvdXQJRlJFUV9DUFVGUkVRIChlY2hvICJzY2FsZT0xIjsgcHJpbnRmICco ICVpICsgMTBeNSAvIDIgKSAvIDEwXjZcbicgJChjYXQgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUv Y3B1MC9jcHVmcmVxL3NjYWxpbmdfbWF4X2ZyZXEpICkgfCBiYyAtbA0KK2hvdXQJRlJFUSBbIC1u ICJfX0ZSRVFfQ1BVRlJFUV9fIiBdICYmIGVjaG8gX19GUkVRX0NQVUZSRVFfXyB8fCBlY2hvIF9f RlJFUV9QUk9DRlNfXw0KKw0KK3NldAlUSFJFQURTIDQNCitzZXQJU1RSRUFNUyAxDQorc2V0CVRJ TUUgMTANCitzZXQJT1BUUyAtdSAtUCBfX1NUUkVBTVNfXyAtLXBhY2luZy10aW1lciAxMDAwDQor DQoraW5mbwlUaHJvdWdocHV0IGluIEdicHMsIGxhdGVuY3kgaW4gwrVzLCBfX1RIUkVBRFNfXyB0 aHJlYWRzIGF0IF9fRlJFUV9fIEdIeiwgb25lIHN0cmVhbSBlYWNoDQorDQorcmVwb3J0CXBhc3N0 IHVkcCBfX1RIUkVBRFNfXyBfX0ZSRVFfXw0KKw0KK3RoCU1UVSAyNTZCIDU3NkIgMTI4MEIgMTUw MEIgOTAwMEIgNjU1MjBCDQorDQorDQordHIJVURQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBndWVz dCB0byBob3N0DQorYncJLQ0KK2J3CS0NCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVf XyBtdHUgMTI4MA0KK2lwZXJmMwlCVyBndWVzdCBucyBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtp fTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgMkcNCitidwlfX0JXX18gMC44IDEu Mg0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJX IGd1ZXN0IG5zIF9fR1c2X18lX19JRk5BTUVfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVf XyBfX09QVFNfXyAtYiAzRw0KK2J3CV9fQldfXyAxLjAgMS41DQorZ3Vlc3QJaXAgbGluayBzZXQg ZGV2IF9fSUZOQU1FX18gbXR1IDkwMDANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HVzZfXyVfX0lG TkFNRV9fIDEwMCR7aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDVHDQorYncJ X19CV19fIDQuMCA1LjANCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNjU1 MjANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0yIF9fVEhS RUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDdHDQorYncJX19CV19fIDQuMCA1LjANCisNCit0 bAlVRFAgUlIgbGF0ZW5jeSBvdmVyIElQdjY6IGd1ZXN0IHRvIGhvc3QNCitsYXQJLQ0KK2xhdAkt DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbnNiCXVkcF9yciAtLW5vbG9nIC02DQorZ291dAlM QVQgdWRwX3JyIC0tbm9sb2cgLTYgLWMgLUggX19HVzZfXyVfX0lGTkFNRV9fIHwgc2VkIC1uICdz L150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCisNCit0 cglVRFAgdGhyb3VnaHB1dCBvdmVyIElQdjQ6IGd1ZXN0IHRvIGhvc3QNCitndWVzdAlpcCBsaW5r IHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMjU2DQoraXBlcmYzCUJXIGd1ZXN0IG5zIF9fR1dfXyAx MDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiA1MDBNDQorYncJX19CV19f IDAuMCAwLjANCitndWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNTc2DQoraXBl cmYzCUJXIGd1ZXN0IG5zIF9fR1dfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09Q VFNfXyAtYiAxRw0KK2J3CV9fQldfXyAwLjQgMC42DQorZ3Vlc3QJaXAgbGluayBzZXQgZGV2IF9f SUZOQU1FX18gbXR1IDEyODANCitpcGVyZjMJQlcgZ3Vlc3QgbnMgX19HV19fIDEwMCR7aX0yIF9f VEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDJHDQorYncJX19CV19fIDAuOCAxLjINCitn dWVzdAlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMTUwMA0KK2lwZXJmMwlCVyBndWVz dCBucyBfX0dXX18gMTAwJHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgM0cN CitidwlfX0JXX18gMS4wIDEuNQ0KK2d1ZXN0CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10 dSA5MDAwDQoraXBlcmYzCUJXIGd1ZXN0IG5zIF9fR1dfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBf X1RJTUVfXyBfX09QVFNfXyAtYiA2Rw0KK2J3CV9fQldfXyA0LjAgNS4wDQorZ3Vlc3QJaXAgbGlu ayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDY1NTIwDQoraXBlcmYzCUJXIGd1ZXN0IG5zIF9fR1df XyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiA3Rw0KK2J3CV9fQldf XyA0LjAgNS4wDQorDQordGwJVURQIFJSIGxhdGVuY3kgb3ZlciBJUHY0OiBndWVzdCB0byBob3N0 DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl1ZHBfcnIgLS1u b2xvZyAtNA0KK2dvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC00IC1jIC1IIF9fR1dfXyB8IHNlZCAt biAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQor DQordHIJVURQIHRocm91Z2hwdXQgb3ZlciBJUHY2OiBob3N0IHRvIGd1ZXN0DQorYncJLQ0KK2J3 CS0NCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDEyODANCitpcGVyZjMJQlcgbnMgZ3Vlc3Qg IDo6MSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAyRw0KK2J3CV9f QldfXyAwLjggMS4yDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAxNTAwDQoraXBlcmYzCUJX IG5zIGd1ZXN0IDo6MSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAy Rw0KK2J3CV9fQldfXyAxLjAgMS41DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA5MDAwDQor aXBlcmYzCUJXIG5zIGd1ZXN0IDo6MSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09Q VFNfXyAtYiAzRw0KK2J3CV9fQldfXyAzLjAgNC4wDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10 dSA2NTUyMA0KK2lwZXJmMwlCVyBucyBndWVzdCA6OjEgMTAwJHtpfTEgX19USFJFQURTX18gX19U SU1FX18gX19PUFRTX18gLWIgM0cNCitidwlfX0JXX18gMy4wIDQuMA0KKw0KK3RsCVVEUCBSUiBs YXRlbmN5IG92ZXIgSVB2NjogaG9zdCB0byBndWVzdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0K K2xhdAktDQorbGF0CS0NCitndWVzdGIJdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMgMTAwMTEg LTYNCitzbGVlcAkxDQorbnNvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAxIC1DIDEwMDEx IC02IC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitsYXQJ X19MQVRfXyAyMDAgMTUwDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA2NTUzNQ0KKw0KKw0K K3RyCVVEUCB0aHJvdWdocHV0IG92ZXIgSVB2NDogaG9zdCB0byBndWVzdA0KK25zCWlwIGxpbmsg c2V0IGRldiBsbyBtdHUgMjU2DQoraXBlcmYzCUJXIG5zIGd1ZXN0IDEyNy4wLjAuMSAxMDAke2l9 MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAxRw0KK2J3CV9fQldfXyAwLjAgMC4w DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA1NzYNCitpcGVyZjMJQlcgbnMgZ3Vlc3QgMTI3 LjAuMC4xIDEwMCR7aX0xIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDFHDQorYncJ X19CV19fIDAuNCAwLjYNCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDEyODANCitucwlpcCBh ZGRyIGFkZCA6OjEgZGV2IGxvDQoraXBlcmYzCUJXIG5zIGd1ZXN0IDEyNy4wLjAuMSAxMDAke2l9 MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0KK2J3CV9fQldfXyAwLjggMS4y DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAxNTAwDQoraXBlcmYzCUJXIG5zIGd1ZXN0IDEy Ny4wLjAuMSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAzRw0KK2J3 CV9fQldfXyAxLjAgMS41DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA5MDAwDQoraXBlcmYz CUJXIG5zIGd1ZXN0IDEyNy4wLjAuMSAxMDAke2l9MSBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09Q VFNfXyAtYiAzRw0KK2J3CV9fQldfXyAzLjAgNC4wDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10 dSA2NTUyMA0KK2lwZXJmMwlCVyBucyBndWVzdCAxMjcuMC4wLjEgMTAwJHtpfTEgX19USFJFQURT X18gX19USU1FX18gX19PUFRTX18gLWIgM0cNCitidwlfX0JXX18gMy4wIDQuMA0KKw0KK3RsCVVE UCBSUiBsYXRlbmN5IG92ZXIgSVB2NDogaG9zdCB0byBndWVzdA0KK2xhdAktDQorbGF0CS0NCits YXQJLQ0KK2xhdAktDQorbGF0CS0NCitndWVzdGIJdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDEgLUMg MTAwMTEgLTQNCitzbGVlcAkxDQorbnNvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAxIC1D IDEwMDExIC00IC1jIC1IIDEyNy4wLjAuMSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkv XDEvcCcNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSA2 NTUzNQ0KKw0KK3RlDQpkaWZmIC0tZ2l0IGEvb2xkdGVzdC9wZXJmL3Bhc3RhX3RjcCBiL29sZHRl c3QvcGVyZi9wYXN0YV90Y3ANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi40 YjEzMzg0DQotLS0gL2Rldi9udWxsDQorKysgYi9vbGR0ZXN0L3BlcmYvcGFzdGFfdGNwDQpAQCAt MCwwICsxLDMwMCBAQA0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXINCisjDQorIyBQQVNTVCAtIFBsdWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZv ciBxZW11L1VOSVggZG9tYWluIHNvY2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3Vi dGxlIFRhcCBBYnN0cmFjdGlvbg0KKyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNl IG1vZGUNCisjDQorIyB0ZXN0L3BlcmYvcGFzdGFfdGNwIC0gQ2hlY2sgVENQIHBlcmZvcm1hbmNl IGluIHBhc3RhIG1vZGUNCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQor IyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+DQorDQoraHRvb2xz CWhlYWQgaXAgc2VxIGJjIHNsZWVwIGlwZXJmMyB0Y3BfcnIgdGNwX2NyciBqcSBzZWQNCituc3Rv b2xzCS9zYmluL3N5c2N0bCBucHJvYyBpcCBzZXEgc2xlZXAgaXBlcmYzIHRjcF9yciB0Y3BfY3Jy IGpxIHNlZA0KKw0KK3Rlc3QJcGFzdGE6IHRocm91Z2hwdXQgYW5kIGxhdGVuY3kgKGxvY2FsIGNv bm5lY3Rpb25zKQ0KKw0KK25zCS9zYmluL3N5c2N0bCAtdyBuZXQuaXB2NC50Y3Bfcm1lbT0iMTMx MDcyIDUyNDI4OCAxMzQyMTc3MjgiDQorbnMJL3NiaW4vc3lzY3RsIC13IG5ldC5pcHY0LnRjcF93 bWVtPSIxMzEwNzIgNTI0Mjg4IDEzNDIxNzcyOCINCitucwkvc2Jpbi9zeXNjdGwgLXcgbmV0Lmlw djQudGNwX3RpbWVzdGFtcHM9MA0KKw0KKw0KK3NldAlUSFJFQURTIDINCitzZXQJU1RSRUFNUyAy DQorc2V0CVRJTUUgMTANCitob3V0CU9NSVQgZWNobyBfX1RJTUVfXyAvIDYgfCBiYyAtbA0KK3Nl dAlPUFRTIC1aIC13IDRNIC1sIDFNIC1QIF9fU1RSRUFNU19fIC1PX19PTUlUX18gLS1wYWNpbmct dGltZXIgMTAwMDANCisNCitob3V0CUZSRVFfUFJPQ0ZTIChlY2hvICJzY2FsZT0xIjsgc2VkIC1u ICdzL2NwdSBNSHouKjogXChbMC05XSpcKVwuLiokLyhcMSsxMF4yXC8yKVwvMTBeMy9wJyAvcHJv Yy9jcHVpbmZvKSB8IGJjIC1sIHwgaGVhZCAtbjENCitob3V0CUZSRVFfQ1BVRlJFUSAoZWNobyAi c2NhbGU9MSI7IHByaW50ZiAnKCAlaSArIDEwXjUgLyAyICkgLyAxMF42XG4nICQoY2F0IC9zeXMv ZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdTAvY3B1ZnJlcS9zY2FsaW5nX21heF9mcmVxKSApIHwgYmMg LWwNCitob3V0CUZSRVEgWyAtbiAiX19GUkVRX0NQVUZSRVFfXyIgXSAmJiBlY2hvIF9fRlJFUV9D UFVGUkVRX18gfHwgZWNobyBfX0ZSRVFfUFJPQ0ZTX18NCisNCisNCitpbmZvCVRocm91Z2hwdXQg aW4gR2JwcywgbGF0ZW5jeSBpbiDCtXMsIF9fVEhSRUFEU19fIHRocmVhZHMgYXQgX19GUkVRX18g R0h6LCBfX1NUUkVBTVNfXyBzdHJlYW1zIGVhY2gNCityZXBvcnQJcGFzdGEgbG9fdGNwIF9fVEhS RUFEU19fIF9fRlJFUV9fDQorDQordGgJTVRVIDE1MDBCIDQwMDBCIDE2Mzg0QiA2NTUzNUINCisN CisNCit0cglUQ1AgdGhyb3VnaHB1dCBvdmVyIElQdjY6IG5zIHRvIGhvc3QNCitucwlpcCBsaW5r IHNldCBkZXYgbG8gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgaG9zdCA6OjEgMTAwJHtpfTMgX19U SFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMTUuMCAyMC4wDQorbnMJaXAg bGluayBzZXQgZGV2IGxvIG10dSA0MDAwDQoraXBlcmYzYwlucyA6OjEgMTAwJHtpfTMgX19USFJF QURTX18gX19USU1FX18gX19PUFRTX18NCitpcGVyZjNzCUJXIGhvc3QgMTAwJHtpfTMgX19USFJF QURTX18NCitidwlfX0JXX18gMTUuMCAyMC4wDQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10dSAx NjM4NA0KK2lwZXJmMwlCVyBucyBob3N0IDo6MSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVf XyBfX09QVFNfXw0KK2J3CV9fQldfXyAxNS4wIDIwLjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8g bXR1IDY1NTM1DQoraXBlcmYzCUJXIG5zIGhvc3QgOjoxIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9f VElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDE1LjAgMjAuMA0KKw0KK3RsCVRDUCBSUiBsYXRl bmN5IG92ZXIgSVB2NjogbnMgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3Ri CXRjcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02DQorbnNvdXQJTEFUIHRjcF9yciAt LW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02IC1jIC1IIDo6MSB8IHNlZCAtbiAncy9edGhyb3Vn aHB1dD1cKC4qXCkvXDEvcCcNCitob3N0dw0KK2xhdAlfX0xBVF9fIDE1MCAxMDANCisNCit0bAlU Q1AgQ1JSIGxhdGVuY3kgb3ZlciBJUHY2OiBucyB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xh dAktDQoraG9zdGIJdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02DQorbnNvdXQJ TEFUIHRjcF9jcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNiAtYyAtSCA6OjEgfCBzZWQg LW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJX19MQVRfXyA1MDAg MzUwDQorDQorDQordHIJVENQIHRocm91Z2hwdXQgb3ZlciBJUHY0OiBucyB0byBob3N0DQorbnMJ aXAgbGluayBzZXQgZGV2IGxvIG10dSAxNTAwDQoraXBlcmYzCUJXIG5zIGhvc3QgMTI3LjAuMC4x IDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDE1LjAg MjAuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgNDAwMA0KK2lwZXJmMwlCVyBucyBob3N0 IDEyNy4wLjAuMSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXw0KK2J3CV9f QldfXyAxNS4wIDIwLjANCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDE2Mzg0DQoraXBlcmYz CUJXIG5zIGhvc3QgMTI3LjAuMC4xIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BU U19fDQorYncJX19CV19fIDE1LjAgMjAuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgNjU1 MzUNCitpcGVyZjMJQlcgbnMgaG9zdCAxMjcuMC4wLjEgMTAwJHtpfTMgX19USFJFQURTX18gX19U SU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMTUuMCAyMC4wDQorDQordGwJVENQIFJSIGxhdGVu Y3kgb3ZlciBJUHY0OiBucyB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQoraG9zdGIJ dGNwX3JyIC0tbm9sb2cgLVAgMTAwMDMgLUMgMTAwMTMgLTQNCituc291dAlMQVQgdGNwX3JyIC0t bm9sb2cgLVAgMTAwMDMgLUMgMTAwMTMgLTQgLWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150 aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2hvc3R3DQorbGF0CV9fTEFUX18gMTUwIDEwMA0KKw0K K3RsCVRDUCBDUlIgbGF0ZW5jeSBvdmVyIElQdjQ6IG5zIHRvIGhvc3QNCitsYXQJLQ0KK2xhdAkt DQorbGF0CS0NCitob3N0Ygl0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDMgLUMgMTAwMTMgLTQNCitu c291dAlMQVQgdGNwX2NyciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC00IC1jIC1IIDEyNy4w LjAuMSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitob3N0dw0KK2xhdAlf X0xBVF9fIDUwMCAzNTANCisNCisNCit0cglUQ1AgdGhyb3VnaHB1dCBvdmVyIElQdjY6IGhvc3Qg dG8gbnMNCitidwktDQorYncJLQ0KK2J3CS0NCitpcGVyZjMJQlcgaG9zdCBucyA6OjEgMTAwJHtp fTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMTUuMCAyMC4wDQor DQordGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJUHY2OiBob3N0IHRvIG5zDQorbGF0CS0NCitsYXQJ LQ0KK2xhdAktDQorbnNiCXRjcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC02DQoraG91 dAlMQVQgdGNwX3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYgLWMgLUggOjoxIHwgc2Vk IC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDE1MCAx MDANCisNCit0bAlUQ1AgQ1JSIGxhdGVuY3kgb3ZlciBJUHY2OiBob3N0IHRvIG5zDQorbGF0CS0N CitsYXQJLQ0KK2xhdAktDQorbnNiCXRjcF9jcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAt Ng0KK2hvdXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNiAtYyAtSCA6 OjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbnN3DQorbGF0CV9fTEFU X18gMTAwMCA3MDANCisNCisNCit0cglUQ1AgdGhyb3VnaHB1dCBvdmVyIElQdjQ6IGhvc3QgdG8g bnMNCitidwktDQorYncJLQ0KK2J3CS0NCitpcGVyZjMJQlcgaG9zdCBucyAxMjcuMC4wLjEgMTAw JHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18NCitidwlfX0JXX18gMTUuMCAyMC4w DQorDQordGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQorbGF0CS0NCits YXQJLQ0KK2xhdAktDQorbnNiCXRjcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00DQor aG91dAlMQVQgdGNwX3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTQgLWMgLUggMTI3LjAu MC4xIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xB VF9fIDE1MCAxMDANCisNCit0bAlUQ1AgQ1JSIGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0IHRvIG5z DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQorc2xlZXAJMQ0KK25zYgl0Y3BfY3JyIC0tbm9sb2cg LVAgMTAwMDIgLUMgMTAwMTIgLTQNCitob3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDIg LUMgMTAwMTIgLTQgLWMgLUggMTI3LjAuMC4xIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipc KS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDEwMDAgNzAwDQorDQordGUNCisNCisNCit0ZXN0 CXBhc3RhOiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5IChjb25uZWN0aW9ucyB2aWEgdGFwKQ0KKw0K K25zb3V0CUdXIGlwIC1qIC00IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9 PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorbnNvdXQJR1c2IGlwIC1qIC02IHJvdXRlIHNob3d8anEg LXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmdhdGV3YXknDQorbnNvdXQJSUZO QU1FIGlwIC1qIGxpbmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0g ImV0aGVyIikuaWZuYW1lJw0KK3NldAlUSFJFQURTIDENCitzZXQJU1RSRUFNUyAyDQorc2V0CU9Q VFMgLVogLVAgX19TVFJFQU1TX18gLWkxIC1PX19PTUlUX18gLS1wYWNpbmctdGltZXIgMTAwMDAw DQorDQoraW5mbwlUaHJvdWdocHV0IGluIEdicHMsIGxhdGVuY3kgaW4gwrVzLCBvbmUgdGhyZWFk IGF0IF9fRlJFUV9fIEdIeiwgX19TVFJFQU1TX18gc3RyZWFtcw0KK3JlcG9ydAlwYXN0YSB0YXBf dGNwIF9fVEhSRUFEU19fIF9fRlJFUV9fDQorDQordGgJTVRVIDE1MDBCIDQwMDBCIDE2Mzg0QiA2 NTUyMEINCisNCisNCit0cglUQ1AgdGhyb3VnaHB1dCBvdmVyIElQdjY6IG5zIHRvIGhvc3QNCitu cwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgMTUwMA0KK2lwZXJmMwlCVyBucyBob3N0 IF9fR1c2X18lX19JRk5BTUVfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNf XyAtdyA1MTJrDQorYncJX19CV19fIDAuMiAwLjQNCitucwlpcCBsaW5rIHNldCBkZXYgX19JRk5B TUVfXyBtdHUgNDAwMA0KK2lwZXJmMwlCVyBucyBob3N0IF9fR1c2X18lX19JRk5BTUVfXyAxMDAk e2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtdyAxTQ0KK2J3CV9fQldfXyAwLjMg MC41DQorbnMJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18gbXR1IDE2Mzg0DQoraXBlcmYzCUJX IG5zIGhvc3QgX19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9f IF9fT1BUU19fIC13IDhNDQorYncJX19CV19fIDEuNSAyLjANCitucwlpcCBsaW5rIHNldCBkZXYg X19JRk5BTUVfXyBtdHUgNjU1MjANCitpcGVyZjMJQlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1F X18gMTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcgOE0NCitidwlfX0JX X18gMi4wIDIuNQ0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5IG92ZXIgSVB2NjogbnMgdG8gaG9zdA0K K2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXRjcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1D IDEwMDEzIC02DQorbnNvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02 IC1jIC1IIF9fR1c2X18lX19JRk5BTUVfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkv XDEvcCcNCitob3N0dw0KK2xhdAlfX0xBVF9fIDE1MCAxMDANCisNCit0bAlUQ1AgQ1JSIGxhdGVu Y3kgb3ZlciBJUHY2OiBucyB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQoraG9zdGIJ dGNwX2NyciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02DQorbnNvdXQJTEFUIHRjcF9jcnIg LS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNiAtYyAtSCBfX0dXNl9fJV9fSUZOQU1FX18gfCBz ZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJX19MQVRfXyAx NTAwIDUwMA0KKw0KKw0KK3RyCVRDUCB0aHJvdWdocHV0IG92ZXIgSVB2NDogbnMgdG8gaG9zdA0K K25zCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIG5zIGhv c3QgX19HV19fIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDUxMmsN CitidwlfX0JXX18gMC4yIDAuNA0KK25zCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSA0 MDAwDQoraXBlcmYzcwlCVyBucyBob3N0IF9fR1dfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJ TUVfXyBfX09QVFNfXyAtdyAxTQ0KK2J3CV9fQldfXyAwLjMgMC41DQorbnMJaXAgbGluayBzZXQg ZGV2IF9fSUZOQU1FX18gbXR1IDE2Mzg0DQoraXBlcmYzCUJXIG5zIGhvc3QgX19HV19fIDEwMCR7 aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC13IDhNDQorYncJX19CV19fIDEuNSAy LjANCitucwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNjU1MjANCitpcGVyZjMJQlcg bnMgaG9zdCBfX0dXX18gMTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLXcg OE0NCitidwlfX0JXX18gMi4wIDIuNQ0KKw0KK3RsCVRDUCBSUiBsYXRlbmN5IG92ZXIgSVB2NDog bnMgdG8gaG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXRjcF9yciAtLW5vbG9n IC1QIDEwMDAzIC1DIDEwMDEzIC00DQorbnNvdXQJTEFUIHRjcF9yciAtLW5vbG9nIC1QIDEwMDAz IC1DIDEwMDEzIC00IC1jIC1IIF9fR1dfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkv XDEvcCcNCitob3N0dw0KK2xhdAlfX0xBVF9fIDE1MCAxMDANCisNCit0bAlUQ1AgQ1JSIGxhdGVu Y3kgb3ZlciBJUHY0OiBucyB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQoraG9zdGIJ dGNwX2NyciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC00DQorbnNvdXQJTEFUIHRjcF9jcnIg LS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNCAtYyAtSCBfX0dXX18gfCBzZWQgLW4gJ3MvXnRo cm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcNCitsYXQJX19MQVRfXyAxNTAwIDUwMA0KKw0K Kw0KK3RyCVRDUCB0aHJvdWdocHV0IG92ZXIgSVB2NjogaG9zdCB0byBucw0KK25zb3V0CUlGTkFN RSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5bXSB8IHNlbGVjdCgubGlua190eXBlID09ICJl dGhlciIpLmlmbmFtZScNCituc291dAlBRERSNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcu W10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJfaW5mb1tdIHwgc2VsZWN0 KC5zY29wZSA9PSAiZ2xvYmFsIiBhbmQgLnByZWZpeGxlbiA9PSA2NCkubG9jYWwnDQorYncJLQ0K K2J3CS0NCitidwktDQoraXBlcmYzCUJXIGhvc3QgbnMgX19BRERSNl9fIDEwMCR7aX0yIF9fVEhS RUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDguMCAxMC4wDQorDQordGwJVENQ IFJSIGxhdGVuY3kgb3ZlciBJUHY2OiBob3N0IHRvIG5zDQorbGF0CS0NCitsYXQJLQ0KK2xhdAkt DQorbnNiCXRjcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC02DQoraG91dAlMQVQgdGNw X3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYgLWMgLUggX19BRERSNl9fIHwgc2VkIC1u ICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDE1MCAxMDAN CisNCit0bAlUQ1AgQ1JSIGxhdGVuY3kgb3ZlciBJUHY2OiBob3N0IHRvIG5zDQorbGF0CS0NCits YXQJLQ0KK2xhdAktDQorc2xlZXAJMQ0KK25zYgl0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMg MTAwMTIgLTYNCitob3V0CUxBVCB0Y3BfY3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYg LWMgLUggX19BRERSNl9fIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK25z dw0KK2xhdAlfX0xBVF9fIDUwMDAgMTAwMDANCisNCisNCit0cglUQ1AgdGhyb3VnaHB1dCBvdmVy IElQdjQ6IGhvc3QgdG8gbnMNCituc291dAlBRERSIGlwIC1qIC00IGFkZHIgc2hvd3xqcSAtck0g Jy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0lGTkFNRV9fIikuYWRkcl9pbmZvWzBdLmxvY2Fs Jw0KK2J3CS0NCitidwktDQorYncJLQ0KK2lwZXJmMwlCVyBob3N0IG5zIF9fQUREUl9fIDEwMCR7 aX0yIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fDQorYncJX19CV19fIDguMCAxMC4wDQor DQordGwJVENQIFJSIGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQorbGF0CS0NCitsYXQJ LQ0KK2xhdAktDQorbnNiCXRjcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00DQoraG91 dAlMQVQgdGNwX3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTQgLWMgLUggX19BRERSX18g fCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbnN3DQorbGF0CV9fTEFUX18g MTUwIDEwMA0KKw0KK3RsCVRDUCBDUlIgbGF0ZW5jeSBvdmVyIElQdjQ6IGhvc3QgdG8gbnMNCits YXQJLQ0KK2xhdAktDQorbGF0CS0NCitzbGVlcAkxDQorbnNiCXRjcF9jcnIgLS1ub2xvZyAtUCAx MDAwMiAtQyAxMDAxMiAtNA0KK2hvdXQJTEFUIHRjcF9jcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAx MDAxMiAtNCAtYyAtSCBfX0FERFJfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEv cCcNCituc3cNCitsYXQJX19MQVRfXyA1MDAwIDEwMDAwDQorDQordGUNCmRpZmYgLS1naXQgYS9v bGR0ZXN0L3BlcmYvcGFzdGFfdWRwIGIvb2xkdGVzdC9wZXJmL3Bhc3RhX3VkcA0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjcwMDdiNmYNCi0tLSAvZGV2L251bGwNCisrKyBi L29sZHRlc3QvcGVyZi9wYXN0YV91ZHANCkBAIC0wLDAgKzEsMjE5IEBADQorIyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1ZyBBIFNp bXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29ja2V0IG1v ZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQorIyAgZm9y IG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcGVyZi9wYXN0 YV91ZHAgLSBDaGVjayBVRFAgcGVyZm9ybWFuY2UgaW4gcGFzdGEgbW9kZQ0KKyMNCisjIENvcHly aWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3RlZmFubyBCcml2aW8gPHNi cml2aW9AcmVkaGF0LmNvbT4NCisNCitodG9vbHMJYmMgaGVhZCBpcCBzbGVlcCBpcGVyZjMgdWRw X3JyIGpxIHNlZA0KK25zdG9vbHMJaXAgc2xlZXAgaXBlcmYzIHVkcF9yciBqcSBzZWQNCisNCit0 ZXN0CXBhc3RhOiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5IChsb2NhbCB0cmFmZmljKQ0KKw0KK2hv dXQJRlJFUV9QUk9DRlMgKGVjaG8gInNjYWxlPTEiOyBzZWQgLW4gJ3MvY3B1IE1Iei4qOiBcKFsw LTldKlwpXC4uKiQvKFwxKzEwXjJcLzIpXC8xMF4zL3AnIC9wcm9jL2NwdWluZm8pIHwgYmMgLWwg fCBoZWFkIC1uMQ0KK2hvdXQJRlJFUV9DUFVGUkVRIChlY2hvICJzY2FsZT0xIjsgcHJpbnRmICco ICVpICsgMTBeNSAvIDIgKSAvIDEwXjZcbicgJChjYXQgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUv Y3B1MC9jcHVmcmVxL3NjYWxpbmdfbWF4X2ZyZXEpICkgfCBiYyAtbA0KK2hvdXQJRlJFUSBbIC1u ICJfX0ZSRVFfQ1BVRlJFUV9fIiBdICYmIGVjaG8gX19GUkVRX0NQVUZSRVFfXyB8fCBlY2hvIF9f RlJFUV9QUk9DRlNfXw0KKw0KK3NldAlUSFJFQURTIDENCitzZXQJU1RSRUFNUyA0DQorc2V0CVRJ TUUgMTANCitzZXQJT1BUUyAtdSAtUCBfX1NUUkVBTVNfXw0KKw0KK2luZm8JVGhyb3VnaHB1dCBp biBHYnBzLCBsYXRlbmN5IGluIMK1cywgb25lIHRocmVhZCBhdCBfX0ZSRVFfXyBHSHosIF9fU1RS RUFNU19fIHN0cmVhbXMNCisNCityZXBvcnQJcGFzdGEgbG9fdWRwIDEgX19GUkVRX18NCisNCit0 aAlNVFUgMTUwMEIgNDAwMEIgMTYzODRCIDY1NTM1Qg0KKw0KKw0KK3RyCVVEUCB0aHJvdWdocHV0 IG92ZXIgSVB2NjogbnMgdG8gaG9zdA0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgMTUwMA0K K2lwZXJmMwlCVyBucyBob3N0IDo6MSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09Q VFNfXyAtYiAzRw0KK2J3CV9fQldfXyAxLjAgMS41DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10 dSA0MDAwDQoraXBlcmYzCUJXIG5zIGhvc3QgOjoxIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElN RV9fIF9fT1BUU19fIC1iIDNHDQorYncJX19CV19fIDEuMiAxLjgNCitucwlpcCBsaW5rIHNldCBk ZXYgbG8gbXR1IDE2Mzg0DQoraXBlcmYzCUJXIG5zIGhvc3QgOjoxIDEwMCR7aX0zIF9fVEhSRUFE U19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDEwRw0KK2J3CV9fQldfXyA1LjAgNi4wDQorbnMJaXAg bGluayBzZXQgZGV2IGxvIG10dSA2NTUzNQ0KK2lwZXJmMwlCVyBucyBob3N0IDo6MSAxMDAke2l9 MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAxNUcNCitidwlfX0JXX18gNy4wIDku MA0KKw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIgSVB2NjogbnMgdG8gaG9zdA0KK2xhdAktDQor bGF0CS0NCitsYXQJLQ0KK2hvc3RiCXVkcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02 DQorbnNvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEwMDEzIC02IC1jIC1IIDo6 MSB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcNCitob3N0dw0KK2xhdAlfX0xB VF9fIDIwMCAxNTANCisNCisNCit0cglVRFAgdGhyb3VnaHB1dCBvdmVyIElQdjQ6IG5zIHRvIGhv c3QNCitucwlpcCBsaW5rIHNldCBkZXYgbG8gbXR1IDE1MDANCitpcGVyZjMJQlcgbnMgaG9zdCAx MjcuMC4wLjEgMTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgM0cNCiti dwlfX0JXX18gMS4wIDEuNQ0KK25zCWlwIGxpbmsgc2V0IGRldiBsbyBtdHUgNDAwMA0KK2lwZXJm MwlCVyBucyBob3N0IDEyNy4wLjAuMSAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09Q VFNfXyAtYiAzRw0KK2J3CV9fQldfXyAxLjIgMS44DQorbnMJaXAgbGluayBzZXQgZGV2IGxvIG10 dSAxNjM4NA0KK2lwZXJmMwlCVyBucyBob3N0IDEyNy4wLjAuMSAxMDAke2l9MyBfX1RIUkVBRFNf XyBfX1RJTUVfXyBfX09QVFNfXyAtYiAxMEcNCitidwlfX0JXX18gNS4wIDYuMA0KK25zCWlwIGxp bmsgc2V0IGRldiBsbyBtdHUgNjU1MzUNCitpcGVyZjMJQlcgbnMgaG9zdCAxMjcuMC4wLjEgMTAw JHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgMTVHDQorYncJX19CV19fIDcu MCA5LjANCisNCit0bAlVRFAgUlIgbGF0ZW5jeSBvdmVyIElQdjQ6IG5zIHRvIGhvc3QNCitsYXQJ LQ0KK2xhdAktDQorbGF0CS0NCitob3N0Ygl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAx MyAtNA0KK25zb3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMyAtQyAxMDAxMyAtNCAtYyAt SCAxMjcuMC4wLjEgfCBzZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQoraG9zdHcN CitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQorDQordHIJVURQIHRocm91Z2hwdXQgb3ZlciBJUHY2 OiBob3N0IHRvIG5zDQorYncJLQ0KK2J3CS0NCitidwktDQorI2lwZXJmM2MJaG9zdCA6OjEgMTAw JHtpfTIgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgMTVHDQorI2lwZXJmM3MJQlcg bnMgMTAwJHtpfTIgX19USFJFQURTX18NCitpcGVyZjMJQlcgaG9zdCBucyA6OjEgMTAwJHtpfTIg X19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgMTVHDQorYncJX19CV19fIDcuMCA5LjAN CisNCit0bAlVRFAgUlIgbGF0ZW5jeSBvdmVyIElQdjY6IGhvc3QgdG8gbnMNCitsYXQJLQ0KK2xh dAktDQorbGF0CS0NCituc2IJdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTYNCito b3V0CUxBVCB1ZHBfcnIgLS1ub2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNiAtYyAtSCA6OjEgfCBz ZWQgLW4gJ3MvXnRocm91Z2hwdXQ9XCguKlwpL1wxL3AnDQorbnN3DQorbGF0CV9fTEFUX18gMjAw IDE1MA0KKw0KKw0KK3RyCVVEUCB0aHJvdWdocHV0IG92ZXIgSVB2NDogaG9zdCB0byBucw0KK2J3 CS0NCitidwktDQorYncJLQ0KKyNpcGVyZjNjCWhvc3QgMTI3LjAuMC4xIDEwMCR7aX0yIF9fVEhS RUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDE1Rw0KKyNpcGVyZjNzCUJXIG5zIDEwMCR7aX0y IF9fVEhSRUFEU19fDQoraXBlcmYzCUJXIGhvc3QgbnMgMTI3LjAuMC4xIDEwMCR7aX0yIF9fVEhS RUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDE1Rw0KK2J3CV9fQldfXyA3LjAgOS4wDQorDQor dGwJVURQIFJSIGxhdGVuY3kgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQorbGF0CS0NCitsYXQJLQ0K K2xhdAktDQorbnNiCXVkcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEyIC00DQoraG91dAlM QVQgdWRwX3JyIC0tbm9sb2cgLVAgMTAwMDIgLUMgMTAwMTIgLTQgLWMgLUggMTI3LjAuMC4xIHwg c2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK25zdw0KK2xhdAlfX0xBVF9fIDIw MCAxNTANCisNCit0ZQ0KKw0KKw0KKw0KK3Rlc3QJcGFzdGE6IHRocm91Z2hwdXQgYW5kIGxhdGVu Y3kgKHRyYWZmaWMgdmlhIHRhcCkNCisNCituc291dAlHVyBpcCAtaiAtNCByb3V0ZSBzaG93fGpx IC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK25zb3V0CUdX NiBpcCAtaiAtNiByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3QgPT0gImRlZmF1 bHQiKS5nYXRld2F5Jw0KK25zb3V0CUlGTkFNRSBpcCAtaiBsaW5rIHNob3cgfCBqcSAtck0gJy5b XSB8IHNlbGVjdCgubGlua190eXBlID09ICJldGhlciIpLmlmbmFtZScNCisNCitpbmZvCVRocm91 Z2hwdXQgaW4gR2JwcywgbGF0ZW5jeSBpbiDCtXMsIG9uZSB0aHJlYWQgYXQgX19GUkVRX18gR0h6 LCBfX1NUUkVBTVNfXyBzdHJlYW1zDQorcmVwb3J0CXBhc3RhIHRhcF91ZHAgMSBfX0ZSRVFfXw0K Kw0KK3RoCU1UVSAxNTAwQiA0MDAwQiAxNjM4NEIgNjU1MjBCDQorDQordHIJVURQIHRocm91Z2hw dXQgb3ZlciBJUHY2OiBucyB0byBob3N0DQorbnMJaXAgbGluayBzZXQgZGV2IF9fSUZOQU1FX18g bXR1IDE1MDANCitpcGVyZjMJQlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1FX18gMTAwJHtpfTMg X19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgMkcNCitidwlfX0JXX18gMC4zIDAuNQ0K K25zCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSA0MDAwDQoraXBlcmYzCUJXIG5zIGhv c3QgX19HVzZfXyVfX0lGTkFNRV9fIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BU U19fIC1iIDNHDQorYncJX19CV19fIDAuNSAwLjgNCitucwlpcCBsaW5rIHNldCBkZXYgX19JRk5B TUVfXyBtdHUgMTYzODQNCitpcGVyZjMJQlcgbnMgaG9zdCBfX0dXNl9fJV9fSUZOQU1FX18gMTAw JHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgNEcNCitidwlfX0JXX18gMy4w IDQuMA0KK25zCWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSA2NTUyMA0KK2lwZXJmMwlC VyBucyBob3N0IF9fR1c2X18lX19JRk5BTUVfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVf XyBfX09QVFNfXyAtYiA2Rw0KK2J3CV9fQldfXyA2LjAgNy4wDQorDQordGwJVURQIFJSIGxhdGVu Y3kgb3ZlciBJUHY2OiBucyB0byBob3N0DQorbGF0CS0NCitsYXQJLQ0KK2xhdAktDQoraG9zdGIJ dWRwX3JyIC0tbm9sb2cgLVAgMTAwMDMgLUMgMTAwMTMgLTYNCituc291dAlMQVQgdWRwX3JyIC0t bm9sb2cgLVAgMTAwMDMgLUMgMTAwMTMgLTYgLWMgLUggX19HVzZfXyVfX0lGTkFNRV9fIHwgc2Vk IC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0KK2hvc3R3DQorbGF0CV9fTEFUX18gMjAw IDE1MA0KKw0KKw0KK3RyCVVEUCB0aHJvdWdocHV0IG92ZXIgSVB2NDogbnMgdG8gaG9zdA0KK25z CWlwIGxpbmsgc2V0IGRldiBfX0lGTkFNRV9fIG10dSAxNTAwDQoraXBlcmYzCUJXIG5zIGhvc3Qg X19HV19fIDEwMCR7aX0zIF9fVEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDJHDQorYncJ X19CV19fIDAuMyAwLjUNCitucwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNDAwMA0K K2lwZXJmMwlCVyBucyBob3N0IF9fR1dfXyAxMDAke2l9MyBfX1RIUkVBRFNfXyBfX1RJTUVfXyBf X09QVFNfXyAtYiAzRw0KK2J3CV9fQldfXyAwLjUgMC44DQorbnMJaXAgbGluayBzZXQgZGV2IF9f SUZOQU1FX18gbXR1IDE2Mzg0DQoraXBlcmYzCUJXIG5zIGhvc3QgX19HV19fIDEwMCR7aX0zIF9f VEhSRUFEU19fIF9fVElNRV9fIF9fT1BUU19fIC1iIDRHDQorYncJX19CV19fIDMuMCA0LjANCitu cwlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUVfXyBtdHUgNjU1MjANCitpcGVyZjMJQlcgbnMgaG9z dCBfX0dXX18gMTAwJHtpfTMgX19USFJFQURTX18gX19USU1FX18gX19PUFRTX18gLWIgNkcNCiti dwlfX0JXX18gNi4wIDcuMA0KKw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIgSVB2NDogbnMgdG8g aG9zdA0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK2hvc3RiCXVkcF9yciAtLW5vbG9nIC1QIDEw MDAzIC1DIDEwMDEzIC00DQorbnNvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAzIC1DIDEw MDEzIC00IC1jIC1IIF9fR1dfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1cKC4qXCkvXDEvcCcN Citob3N0dw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCisNCit0cglVRFAgdGhyb3VnaHB1dCBv dmVyIElQdjY6IGhvc3QgdG8gbnMNCituc291dAlJRk5BTUUgaXAgLWogbGluayBzaG93IHwganEg LXJNICcuW10gfCBzZWxlY3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQorbnNvdXQJ QUREUjYgaXAgLWogLTYgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5pZm5hbWUgPT0g Il9fSUZOQU1FX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCguc2NvcGUgPT0gImdsb2JhbCIgYW5k IC5wcmVmaXhsZW4gPT0gNjQpLmxvY2FsJw0KK2J3CS0NCitidwktDQorYncJLQ0KK2lwZXJmMwlC VyBob3N0IG5zIF9fQUREUjZfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNf XyAtYiAxNUcNCitidwlfX0JXX18gNy4wIDkuMA0KKw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIg SVB2NjogaG9zdCB0byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl1ZHBfcnIgLS1u b2xvZyAtUCAxMDAwMiAtQyAxMDAxMiAtNg0KK2hvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEw MDAyIC1DIDEwMDEyIC02IC1jIC1IIF9fQUREUjZfXyB8IHNlZCAtbiAncy9edGhyb3VnaHB1dD1c KC4qXCkvXDEvcCcNCituc3cNCitsYXQJX19MQVRfXyAyMDAgMTUwDQorDQorDQordHIJVURQIHRo cm91Z2hwdXQgb3ZlciBJUHY0OiBob3N0IHRvIG5zDQorbnNvdXQJQUREUiBpcCAtaiAtNCBhZGRy IHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19JRk5BTUVfXyIpLmFkZHJf aW5mb1swXS5sb2NhbCcNCitidwktDQorYncJLQ0KK2J3CS0NCitpcGVyZjMJQlcgaG9zdCBucyBf X0FERFJfXyAxMDAke2l9MiBfX1RIUkVBRFNfXyBfX1RJTUVfXyBfX09QVFNfXyAtYiAxNUcNCiti dwlfX0JXX18gNy4wIDkuMA0KKw0KK3RsCVVEUCBSUiBsYXRlbmN5IG92ZXIgSVB2NDogaG9zdCB0 byBucw0KK2xhdAktDQorbGF0CS0NCitsYXQJLQ0KK25zYgl1ZHBfcnIgLS1ub2xvZyAtUCAxMDAw MiAtQyAxMDAxMiAtNA0KK2hvdXQJTEFUIHVkcF9yciAtLW5vbG9nIC1QIDEwMDAyIC1DIDEwMDEy IC00IC1jIC1IIF9fQUREUl9fIHwgc2VkIC1uICdzL150aHJvdWdocHV0PVwoLipcKS9cMS9wJw0K K25zdw0KK2xhdAlfX0xBVF9fIDIwMCAxNTANCisNCit0ZQ0KZGlmZiAtLWdpdCBhL29sZHRlc3Qv cHJlcGFyZS1kaXN0cm8taW1nLnNoIGIvb2xkdGVzdC9wcmVwYXJlLWRpc3Ryby1pbWcuc2gNCm5l dyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwLi40NmJjMTI2DQotLS0gL2Rldi9udWxs DQorKysgYi9vbGR0ZXN0L3ByZXBhcmUtZGlzdHJvLWltZy5zaA0KQEAgLTAsMCArMSwxOCBAQA0K KyMhIC9iaW4vc2ggLWUNCisNCitJTUc9IiQxIg0KK1BBU1NUX0ZJTEVTPSIkKGVjaG8gLi4vKi5j IC4uLyouaCAuLi8qLnNoIC4uLyouMSAuLi9NYWtlZmlsZSAuLi9SRUFETUUubWQpIg0KKw0KK3Zp cnQtZWRpdCAtYSAkSU1HIC9saWIvc3lzdGVtZC9zeXN0ZW0vc2VyaWFsLWdldHR5QC5zZXJ2aWNl IC1lICdzL0V4ZWNTdGFydD0uKi9FeGVjU3RhcnQ9XC9zYmluXC9hZ2V0dHkgLS1hdXRvbG9naW4g cm9vdCAtOCAtLWtlZXAtYmF1ZCAxMTUyMDAsMzg0MDAsOTYwMCAlSSAkVEVSTS9nJw0KKw0KK2d1 ZXN0ZmlzaCAtLXJ3IC1hICRJTUcgLWkgPDxFT0YNCitybS1mIC91c3IvbGliL3N5c3RlbWQvc3lz dGVtL2Nsb3VkLWNvbmZpZy5zZXJ2aWNlDQorcm0tZiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9j bG91ZC1pbml0LnNlcnZpY2UNCitybS1mIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtL2Nsb3VkLWlu aXQtbG9jYWwuc2VydmljZQ0KK3JtLWYgL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vY2xvdWQtZmlu YWwuc2VydmljZQ0KK3JtLWYgL2V0Yy9pbml0LmQvY2xvdWQtY29uZmlnDQorcm0tZiAvZXRjL2lu aXQuZC9jbG91ZC1maW5hbA0KK3JtLWYgL2V0Yy9pbml0LmQvY2xvdWQtaW5pdA0KK3JtLWYgL2V0 Yy9pbml0LmQvY2xvdWQtaW5pdC1sb2NhbA0KK2NvcHktaW4gJFBBU1NUX0ZJTEVTIC9yb290Lw0K K0VPRg0KZGlmZiAtLWdpdCBhL29sZHRlc3QvcnVuIGIvb2xkdGVzdC9ydW4NCm5ldyBmaWxlIG1v ZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwLi43NTMwOWY2DQotLS0gL2Rldi9udWxsDQorKysgYi9v bGR0ZXN0L3J1bg0KQEAgLTAsMCArMSwyMzggQEANCisjIS9iaW4vc2ggLWUNCisjDQorIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcg0KKyMNCisjIFBBU1NUIC0gUGx1 ZyBBIFNpbXBsZSBTb2NrZXQgVHJhbnNwb3J0DQorIyAgZm9yIHFlbXUvVU5JWCBkb21haW4gc29j a2V0IG1vZGUNCisjDQorIyBQQVNUQSAtIFBhY2sgQSBTdWJ0bGUgVGFwIEFic3RyYWN0aW9uDQor IyAgZm9yIG5ldHdvcmsgbmFtZXNwYWNlL3RhcCBkZXZpY2UgbW9kZQ0KKyMNCisjIHRlc3QvcnVu IC0gRW50cnkgcG9pbnQgdG8gcnVuIHRlc3QgY2FzZXMgYW5kIGRlbW8NCisjDQorIyBDb3B5cmln aHQgKGMpIDIwMjEgUmVkIEhhdCBHbWJIDQorIyBBdXRob3I6IFN0ZWZhbm8gQnJpdmlvIDxzYnJp dmlvQHJlZGhhdC5jb20+DQorDQorIyBTdGFydCBhbiBYIHRlcm1pbmFsIGFuZCBjYXB0dXJlIGEg dmlkZW8gb2YgdGhlIHRlc3QgcnVuIChhbHNvIHNldCBmb3IgLi9jaSkNCitDST0ke0NJOi0wfQ0K Kw0KKyMgU3RhcnQgYW4gWCB0ZXJtaW5hbCBhbmQgc2hvdyB0aGUgZGVtbyAoYWxzbyBzZXQgZm9y IC4vZGVtbykNCitERU1PPSR7REVNTzotMH0NCisNCisjIEJhc2UgcGF0aCBmb3Igb3V0cHV0IGZp bGVzDQorQkFTRVBBVEg9JHtCQVNFUEFUSDotIiQocHdkKSJ9DQorDQorIyBMb2NhdGlvbiBvZiBs b2cgZmlsZXMgZm9yIHRlc3QgcnVuDQorTE9HRElSPSR7TE9HRElSOi0iJHtCQVNFUEFUSH0vdGVz dF9sb2dzIn0NCitMT0dGSUxFPSR7TE9HRklMRTotIiR7TE9HRElSfS90ZXN0LmxvZyJ9DQorDQor IyBJZiBzZXQsIHNraXAgdHlwaW5nIGRlbGF5cyB3aGlsZSBpc3N1aW5nIGNvbW1hbmRzIGluIHBh bmVzDQorRkFTVD0ke0ZBU1Q6LTF9DQorDQorIyBJZiBzZXQsIHJ1biBwYXNzdCBhbmQgcGFzdGEg d2l0aCBkZWJ1ZyBvcHRpb25zDQorREVCVUc9JHtERUJVRzotMH0NCisNCisjIElmIHNldCwgcnVu IHBhc3N0IGFuZCBwYXN0YSB3aXRoIHRyYWNlIG9wdGlvbnMNCitUUkFDRT0ke1RSQUNFOi0wfQ0K Kw0KKyMgSWYgc2V0LCB0ZWxsIHBhc3N0IGFuZCBwYXN0YSB0byB0YWtlIHBhY2tldCBjYXB0dXJl cw0KK1BDQVA9JHtQQ0FQOi0wfQ0KKw0KK0NPTU1JVD0iJChnaXQgbG9nIC0tb25lbGluZSAtLW5v LWRlY29yYXRlIC0xKSINCisNCisuIGxpYi91dGlsDQorLiBsaWIvY29udGV4dA0KKy4gbGliL3Nl dHVwDQorLiBsaWIvc2V0dXBfdWdseQ0KKy4gbGliL3Rlcm0NCisuIGxpYi9wZXJmX3JlcG9ydA0K Ky4gbGliL2xheW91dA0KKy4gbGliL2xheW91dF91Z2x5DQorLiBsaWIvdGVzdA0KKy4gbGliL3Zp ZGVvDQorDQorIyBjbGVhbnVwKCkgLSBSZW1vdmUgdGVtcG9yYXJ5IGZpbGVzDQorY2xlYW51cCgp IHsNCisJWyAke0RFQlVHfSAtZXEgMSBdIHx8IHJtIC1yZiAiJHtTVEFURUJBU0V9Ig0KK30NCisN CisjIHJ1bigpIC0gQ2FsbCBzZXR1cCBmdW5jdGlvbnMsIHJ1biB0ZXN0cywgaGFuZGxlIGV4aXQg ZnJvbSB0ZXN0IHNlc3Npb24NCitydW4oKSB7DQorCW1rZmlmbyAkU1RBVEVCQVNFL2xvZ19waXBl DQorDQorCXRlcm0NCisJcGVyZl9pbml0DQorCVsgJHtDSX0gLWVxIDEgXSAgICYmIHZpZGVvX3N0 YXJ0IGNpDQorDQorCXNldHVwIGJ1aWxkDQorIwl0ZXN0IGJ1aWxkL2FsbA0KKyMJdGVzdCBidWls ZC9jcHBjaGVjaw0KKyMJdGVzdCBidWlsZC9jbGFuZ190aWR5DQorCXRlYXJkb3duIGJ1aWxkDQor DQorIwlzZXR1cCBwYXN0YQ0KKyMJdGVzdCBwYXN0YS9uZHANCisjCXRlc3QgcGFzdGEvZGhjcA0K KyMJdGVzdCBwYXN0YS90Y3ANCisjCXRlc3QgcGFzdGEvdWRwDQorIwl0ZXN0IHBhc3N0L3NodXRk b3duDQorIwl0ZWFyZG93biBwYXN0YQ0KKw0KKyMJc2V0dXAgcGFzdGFfb3B0aW9ucw0KKyMJdGVz dCBwYXN0YV9vcHRpb25zL2xvZ190b19maWxlDQorIwl0ZWFyZG93biBwYXN0YV9vcHRpb25zDQor DQorIwlzZXR1cCBtZW1vcnkNCisjCXRlc3QgbWVtb3J5L3Bhc3N0DQorIwl0ZWFyZG93biBtZW1v cnkNCisNCisjCXNldHVwIHBhc3N0DQorIwl0ZXN0IHBhc3N0L25kcA0KKyMJdGVzdCBwYXNzdC9k aGNwDQorIwl0ZXN0IHBhc3N0L3RjcA0KKyMJdGVzdCBwYXNzdC91ZHANCisjCXRlc3QgcGFzc3Qv c2h1dGRvd24NCisjCXRlYXJkb3duIHBhc3N0DQorDQorIwlWQUxHUklORD0xDQorIwlzZXR1cCBw YXNzdF9pbl9ucw0KKyMJdGVzdCBwYXNzdC9uZHANCisjCXRlc3QgcGFzc3QvZGhjcA0KKyMJdGVz dCBwYXNzdF9pbl9ucy9pY21wDQorIwl0ZXN0IHBhc3N0X2luX25zL3RjcA0KKyMJdGVzdCBwYXNz dF9pbl9ucy91ZHANCisjCXRlc3QgcGFzc3RfaW5fbnMvc2h1dGRvd24NCisjCXRlYXJkb3duIHBh c3N0X2luX25zDQorDQorIwlzZXR1cCB0d29fZ3Vlc3RzDQorIwl0ZXN0IHR3b19ndWVzdHMvYmFz aWMNCisjCXRlYXJkb3duIHR3b19ndWVzdHMNCisNCisjCVZBTEdSSU5EPTANCisjCXNldHVwIHBh c3N0X2luX25zDQorIwl0ZXN0IHBhc3N0L25kcA0KKyMJdGVzdCBwYXNzdC9kaGNwDQorIwl0ZXN0 IHBlcmYvcGFzc3RfdGNwDQorIwl0ZXN0IHBlcmYvcGFzc3RfdWRwDQorIwl0ZXN0IHBlcmYvcGFz dGFfdGNwDQorIwl0ZXN0IHBlcmYvcGFzdGFfdWRwDQorIwl0ZXN0IHBhc3N0X2luX25zL3NodXRk b3duDQorIwl0ZWFyZG93biBwYXNzdF9pbl9ucw0KKw0KKwkjIFRPRE86IE1ha2UgdGhvc2UgZmFz dGVyIGJ5IGF0IGxlYXN0IHByZS1pbnN0YWxsaW5nIGdjYyBhbmQgbWFrZSBvbg0KKwkjIG5vbi14 ODYgaW1hZ2VzLCB0aGVuIHJlLWVuYWJsZS4NCitza2lwX2Rpc3RybygpIHsNCisJc2V0dXAgZGlz dHJvDQorCXRlc3QgZGlzdHJvL2RlYmlhbg0KKwl0ZXN0IGRpc3Ryby9mZWRvcmENCisJdGVzdCBk aXN0cm8vb3BlbnN1c2UNCisJdGVzdCBkaXN0cm8vdWJ1bnR1DQorCXRlYXJkb3duIGRpc3Rybw0K K30NCisNCisJcGVyZl9maW5pc2gNCisJWyAke0NJfSAtZXEgMSBdICYmIHZpZGVvX3N0b3ANCisN CisJbG9nICJQQVNTOiAke1NUQVRVU19QQVNTfSwgRkFJTDogJHtTVEFUVVNfRkFJTH0iDQorDQor CXBhdXNlX2NvbnRpbnVlIFwNCisJCSJQcmVzcyBhbnkga2V5IHRvIGtlZXAgdGVzdCBzZXNzaW9u IG9wZW4iCVwNCisJCSJDbG9zaW5nIGluICIJCQkJCVwNCisJCSJJbnRlcnJ1cHRlZCwgcHJlc3Mg YW55IGtleSB0byBxdWl0IgkJXA0KKwkJOQ0KKw0KKwlyZXR1cm4gMA0KK30NCisNCisjIHJ1bl9z ZWxlY3RlZCgpIC0gUnVuIGxpc3Qgb2YgdGVzdHMsIHdpdGggc2V0dXAvdGVhcmRvd24gYmFzZWQg b24gdGVzdCBwYXRoDQorIyAkQDoJTGlzdCBvZiB0ZXN0cw0KK3J1bl9zZWxlY3RlZCgpIHsNCisJ bWtmaWZvICRTVEFURUJBU0UvbG9nX3BpcGUNCisNCisJdGVybQ0KKwlWQUxHUklORD0xDQorDQor CV9fc2V0dXA9DQorCWZvciBfX3Rlc3Q7IGRvDQorCQlpZiBbICIke19fdGVzdCUlLyp9IiAhPSAi JHtfX3NldHVwfSIgXTsgdGhlbg0KKwkJCVsgLW4gIiR7X19zZXR1cH0iIF0gJiYgdGVhcmRvd24g IiR7X19zZXR1cH0iDQorCQkJX19zZXR1cD0iJHtfX3Rlc3QlJS8qfSINCisJCQlzZXR1cCAiJHtf X3NldHVwfSINCisJCWZpDQorDQorCQl0ZXN0ICIke19fdGVzdH0iDQorCWRvbmUNCisJdGVhcmRv d24gIiR7X19zZXR1cH0iDQorDQorCWxvZyAiUEFTUzogJHtTVEFUVVNfUEFTU30sIEZBSUw6ICR7 U1RBVFVTX0ZBSUx9Ig0KKw0KKwlwYXVzZV9jb250aW51ZSBcDQorCQkiUHJlc3MgYW55IGtleSB0 byBrZWVwIHRlc3Qgc2Vzc2lvbiBvcGVuIglcDQorCQkiQ2xvc2luZyBpbiAiCQkJCQlcDQorCQki SW50ZXJydXB0ZWQsIHByZXNzIGFueSBrZXkgdG8gcXVpdCIJCVwNCisJCTkNCisNCisJcmV0dXJu IDANCit9DQorDQorIyBkZW1vKCkgLSBTaW1wbGVyIHBhdGggZm9yIGRlbW8gcHVycG9zZXMNCitk ZW1vKCkgew0KKwlta2ZpZm8gJFNUQVRFQkFTRS9sb2dfcGlwZQ0KKw0KKwlGQVNUPTANCisNCisJ dGVybV9kZW1vDQorDQorCWxheW91dF9kZW1vX3Bhc3N0DQorCXZpZGVvX3N0YXJ0IGRlbW9fcGFz c3QNCisJdGVzdCBkZW1vL3Bhc3N0DQorCXZpZGVvX3N0b3ANCisJdGVhcmRvd24gZGVtb19wYXNz dA0KKw0KKwlsYXlvdXRfZGVtb19wYXN0YQ0KKwl2aWRlb19zdGFydCBkZW1vX3Bhc3RhDQorCXRl c3QgZGVtby9wYXN0YQ0KKwl2aWRlb19zdG9wDQorCXRlYXJkb3duIGRlbW9fcGFzdGENCisNCisJ bGF5b3V0X2RlbW9fcG9kbWFuDQorCXZpZGVvX3N0YXJ0IGRlbW9fcG9kbWFuDQorCXRlc3QgZGVt by9wb2RtYW4NCisJdmlkZW9fc3RvcA0KKwl0ZWFyZG93bl9kZW1vX3BvZG1hbg0KKw0KKwlyZXR1 cm4gMA0KK30NCisNCitbICIkKGJhc2VuYW1lICIkezB9IikiID0gImNpIiBdICAgICAgICYmIENJ PTENCitbICIkKGJhc2VuYW1lICIkezB9IikiID0gInJ1bl9kZW1vIiBdICYmIERFTU89MQ0KKw0K K2lmIFsgIiR7MX0iID0gImZyb21fdGVybSIgXTsgdGhlbg0KKwlzaGlmdA0KKw0KKwlleGVjID4g JHtMT0dESVJ9L3NjcmlwdC5sb2cgMj4mMQ0KKwlbICR7REVCVUd9IC1lcSAxIF0gJiYgc2V0IC14 DQorCWNkIC4uDQorCWlmIFsgJHtERU1PfSAtZXEgMSBdOyB0aGVuDQorCQlkZW1vDQorCWVsaWYg WyAtbiAiJHsxfSIgXTsgdGhlbg0KKwkJcnVuX3NlbGVjdGVkICR7Kn0NCisJZWxzZQ0KKwkJcnVu DQorCWZpDQorCXRtdXgga2lsbC1zZXNzaW9uIC10IHBhc3N0X3Rlc3QNCisJZXhpdA0KK2Vsc2UN CisJcm0gLXJmICIke0xPR0RJUn0iDQorCW1rZGlyIC1wICIke0xPR0RJUn0iDQorCTo+ICIke0xP R0ZJTEV9Ig0KKwlTVEFURUJBU0U9IiQobWt0ZW1wIC1kIC0tdG1wZGlyIHBhc3N0LXRlc3RzLVhY WFhYWCkiDQorCXRyYXAgImNsZWFudXAiIEVYSVQNCisJcnVuX3Rlcm0gJHsqfQ0KK2ZpDQorDQor WyAke0RFTU99IC1lcSAxIF0gJiYgZXhpdCAwDQorDQordGFpbCAtbjEgJHtMT0dGSUxFfQ0KK2Vj aG8gIkxvZyBhdCAke0xPR0ZJTEV9Ig0KK2V4aXQgJCh0YWlsIC1uMSAke0xPR0ZJTEV9IHwgc2Vk IC1uICdzLy4qRkFJTDogXCguKlwpJC9cMS9wJykNCmRpZmYgLS1naXQgYS9vbGR0ZXN0L3J1bl9k ZW1vIGIvb2xkdGVzdC9ydW5fZGVtbw0KbmV3IGZpbGUgbW9kZSAxMjAwMDANCmluZGV4IDAwMDAw MDAuLmU1MjI0ZDUNCi0tLSAvZGV2L251bGwNCisrKyBiL29sZHRlc3QvcnVuX2RlbW8NCkBAIC0w LDAgKzEgQEANCitydW4NClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KZGlmZiAtLWdpdCBh L29sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYyBiL29sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYw0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjA5ZmJkM2UNCi0tLSAvZGV2L251bGwN CisrKyBiL29sZHRlc3QvdHdvX2d1ZXN0cy9iYXNpYw0KQEAgLTAsMCArMSw4MCBAQA0KKyMgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCisjDQorIyBQQVNTVCAtIFBs dWcgQSBTaW1wbGUgU29ja2V0IFRyYW5zcG9ydA0KKyMgIGZvciBxZW11L1VOSVggZG9tYWluIHNv Y2tldCBtb2RlDQorIw0KKyMgUEFTVEEgLSBQYWNrIEEgU3VidGxlIFRhcCBBYnN0cmFjdGlvbg0K KyMgIGZvciBuZXR3b3JrIG5hbWVzcGFjZS90YXAgZGV2aWNlIG1vZGUNCisjDQorIyB0ZXN0L3R3 b19ndWVzdHMvYmFzaWMgLSBDaGVjayBiYXNpYyBmdW5jdGlvbmFsaXR5IHdpdGggdHdvIGd1ZXN0 cw0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMSBSZWQgSGF0IEdtYkgNCisjIEF1dGhvcjogU3Rl ZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4NCisNCitnMXRvb2xzCWlwIGpxIGRoY2xp ZW50IHNvY2F0IGNhdA0KK2cydG9vbHMJaXAganEgZGhjbGllbnQgc29jYXQgY2F0DQoraHRvb2xz CWlwIGpxDQorDQordGVzdAlJbnRlcmZhY2UgbmFtZXMNCitnMW91dAlJRk5BTUUxIGlwIC1qIGxp bmsgc2hvdyB8IGpxIC1yTSAnLltdIHwgc2VsZWN0KC5saW5rX3R5cGUgPT0gImV0aGVyIikuaWZu YW1lJw0KK2cyb3V0CUlGTkFNRTIgaXAgLWogbGluayBzaG93IHwganEgLXJNICcuW10gfCBzZWxl Y3QoLmxpbmtfdHlwZSA9PSAiZXRoZXIiKS5pZm5hbWUnDQoraG91dAlIT1NUX0lGTkFNRSBpcCAt aiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnWy5bXSB8IHNlbGVjdCguZHN0ID09ICJkZWZhdWx0Iiku ZGV2XSB8IC5bMF0nDQoraG91dAlIT1NUX0lGTkFNRTYgaXAgLWogLTYgcm91dGUgc2hvd3xqcSAt ck0gJ1suW10gfCBzZWxlY3QoLmRzdCA9PSAiZGVmYXVsdCIpLmRldl0gfCAuWzBdJw0KK2NoZWNr CVsgLW4gIl9fSUZOQU1FMV9fIiBdDQorY2hlY2sJWyAtbiAiX19JRk5BTUUyX18iIF0NCisNCit0 ZXN0CURIQ1A6IGFkZHJlc3Nlcw0KK2d1ZXN0MQlpcCBsaW5rIHNldCBkZXYgX19JRk5BTUUxX18g dXANCitndWVzdDEJL3NiaW4vZGhjbGllbnQgLTQgX19JRk5BTUUxX18NCitndWVzdDIJaXAgbGlu ayBzZXQgZGV2IF9fSUZOQU1FMl9fIHVwDQorZ3Vlc3QyCS9zYmluL2RoY2xpZW50IC00IF9fSUZO QU1FMl9fDQorZzFvdXQJQUREUjEgaXAgLWogLTQgYWRkciBzaG93fGpxIC1yTSAnLltdIHwgc2Vs ZWN0KC5pZm5hbWUgPT0gIl9fSUZOQU1FMV9fIikuYWRkcl9pbmZvWzBdLmxvY2FsJw0KK2cyb3V0 CUFERFIyIGlwIC1qIC00IGFkZHIgc2hvd3xqcSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09 ICJfX0lGTkFNRTJfXyIpLmFkZHJfaW5mb1swXS5sb2NhbCcNCitob3V0CUhPU1RfQUREUiBpcCAt aiAtNCBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAiX19IT1NUX0lG TkFNRV9fIikuYWRkcl9pbmZvWzBdLmxvY2FsJw0KK2NoZWNrCVsgIl9fQUREUjFfXyIgPSAiX19I T1NUX0FERFJfXyIgXQ0KK2NoZWNrCVsgIl9fQUREUjJfXyIgPSAiX19IT1NUX0FERFJfXyIgXQ0K Kw0KK3Rlc3QJREhDUHY2OiBhZGRyZXNzZXMNCisjIExpbmsgaXMgdXAgbm93LCB3YWl0IGZvciBE QUQgdG8gY29tcGxldGUNCitzbGVlcAkyDQorZ3Vlc3QxCS9zYmluL2RoY2xpZW50IC02IF9fSUZO QU1FMV9fDQorZ3Vlc3QyCS9zYmluL2RoY2xpZW50IC02IF9fSUZOQU1FMl9fDQorZzFvdXQJQURE UjFfNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmlmbmFtZSA9PSAi X19JRk5BTUUxX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCgucHJlZml4bGVuID09IDEyOCkubG9j YWwnDQorZzJvdXQJQUREUjJfNiBpcCAtaiAtNiBhZGRyIHNob3d8anEgLXJNICcuW10gfCBzZWxl Y3QoLmlmbmFtZSA9PSAiX19JRk5BTUUyX18iKS5hZGRyX2luZm9bXSB8IHNlbGVjdCgucHJlZml4 bGVuID09IDEyOCkubG9jYWwnDQoraG91dAlIT1NUX0FERFI2IGlwIC1qIC02IGFkZHIgc2hvd3xq cSAtck0gJy5bXSB8IHNlbGVjdCguaWZuYW1lID09ICJfX0hPU1RfSUZOQU1FNl9fIikuYWRkcl9p bmZvW10gfCBzZWxlY3QoLnNjb3BlID09ICJnbG9iYWwiKS5sb2NhbCcNCitjaGVjawlbICJfX0FE RFIxXzZfXyIgPSAiX19IT1NUX0FERFI2X18iIF0NCitjaGVjawlbICJfX0FERFIyXzZfXyIgPSAi X19IT1NUX0FERFI2X18iIF0NCisNCit0ZXN0CVRDUC9JUHY0OiBndWVzdCAxID4gZ3Vlc3QgMg0K K2cxb3V0CUdXMSBpcCAtaiAtNCByb3V0ZSBzaG93fGpxIC1yTSAnLltdIHwgc2VsZWN0KC5kc3Qg PT0gImRlZmF1bHQiKS5nYXRld2F5Jw0KK2d1ZXN0MmIJc29jYXQgLXUgVENQNC1MSVNURU46MTAw MDQgT1BFTjptc2csY3JlYXRlLHRydW5jDQorZ3Vlc3QxCWVjaG8gIkhlbGxvX2Zyb21fZ3Vlc3Rf MSIgfCBzb2NhdCAtdSBTVERJTiBUQ1A0Ol9fR1cxX186MTAwMDQNCitndWVzdDJ3DQorc2xlZXAJ MQ0KK2cyb3V0CU1TRzIgY2F0IG1zZw0KK2NoZWNrCVsgIl9fTVNHMl9fIiA9ICJIZWxsb19mcm9t X2d1ZXN0XzEiIF0NCisNCit0ZXN0CVRDUC9JUHY2OiBndWVzdCAyID4gZ3Vlc3QgMQ0KK2cyb3V0 CUdXMl82IGlwIC1qIC02IHJvdXRlIHNob3d8anEgLXJNICcuW10gfCBzZWxlY3QoLmRzdCA9PSAi ZGVmYXVsdCIpLmdhdGV3YXknDQorZ3Vlc3QxYglzb2NhdCAtdSBUQ1A2LUxJU1RFTjoxMDAwMSBP UEVOOm1zZyxjcmVhdGUsdHJ1bmMNCitndWVzdDIJZWNobyAiSGVsbG9fZnJvbV9ndWVzdF8yIiB8 IHNvY2F0IC11IFNURElOIFRDUDY6W19fR1cyXzZfXyVfX0lGTkFNRTJfX106MTAwMDENCitndWVz dDF3DQorc2xlZXAJMQ0KK2cxb3V0CU1TRzEgY2F0IG1zZw0KK2NoZWNrCVsgIl9fTVNHMV9fIiA9 ICJIZWxsb19mcm9tX2d1ZXN0XzIiIF0NCisNCit0ZXN0CVVEUC9JUHY0OiBndWVzdCAxID4gZ3Vl c3QgMg0KK2d1ZXN0MmIJc29jYXQgLXUgVENQNC1MSVNURU46MTAwMDQgT1BFTjptc2csY3JlYXRl LHRydW5jDQorZ3Vlc3QxCWVjaG8gIkhlbGxvX2Zyb21fZ3Vlc3RfMSIgfCBzb2NhdCAtdSBTVERJ TiBUQ1A0Ol9fR1cxX186MTAwMDQNCitndWVzdDJ3DQorc2xlZXAJMQ0KK2cyb3V0CU1TRzIgY2F0 IG1zZw0KK2NoZWNrCVsgIl9fTVNHMl9fIiA9ICJIZWxsb19mcm9tX2d1ZXN0XzEiIF0NCisNCit0 ZXN0CVVEUC9JUHY2OiBndWVzdCAyID4gZ3Vlc3QgMQ0KK2d1ZXN0MWIJc29jYXQgLXUgVENQNi1M SVNURU46MTAwMDEgT1BFTjptc2csY3JlYXRlLHRydW5jDQorZ3Vlc3QyCWVjaG8gIkhlbGxvX2Zy b21fZ3Vlc3RfMiIgfCBzb2NhdCAtdSBTVERJTiBUQ1A2OltfX0dXMl82X18lX19JRk5BTUUyX19d OjEwMDAxDQorZ3Vlc3Qxdw0KK3NsZWVwCTENCitnMW91dAlNU0cxIGNhdCBtc2cNCitjaGVjawlb ICJfX01TRzFfXyIgPSAiSGVsbG9fZnJvbV9ndWVzdF8yIiBdDQpkaWZmIC0tZ2l0IGEvb2xkdGVz dC92YWxncmluZC5zdXBwIGIvb2xkdGVzdC92YWxncmluZC5zdXBwDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMC4uMTIyODA1Ng0KLS0tIC9kZXYvbnVsbA0KKysrIGIvb2xkdGVz dC92YWxncmluZC5zdXBwDQpAQCAtMCwwICsxLDkgQEANCisjIHRjcF9zb2NrX2NvbnN1bWUoKSBj YWxscyByZWN2KCkgd2l0aCBNU0dfVFJVTkMgYW5kIG5vIGJ1ZmZlciB0byBkaXNjYXJkIGRhdGEN Cit7DQorICAgcGFzc3RfcmVjdl9NU0dfVFJVTkNfaW50b19OVUxMX2J1ZmZlcg0KKyAgIE1lbWNo ZWNrOlBhcmFtDQorICAgc29ja2V0Y2FsbC5yZWN2ZnJvbShidWYpDQorICAgZnVuOnJlY3YNCisg ICAuLi4NCisgICBmdW46dGNwX3NvY2tfY29uc3VtZSoNCit9DQotLSANCjIuNDAuMQ0KDQo=