From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7984C433E0 for ; Thu, 9 Jul 2020 11:13:02 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 701772076A for ; Thu, 9 Jul 2020 11:13:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="xO2GTYUR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 701772076A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References: To:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GlJ//unsT9Mmv4RWSBeIdxK7bnaXTSXt82PbeBGQxR0=; b=xO2GTYURT5dGG+ydGoPdOYl6k 5lDuO/X9Nq3ap4o6NYEmMIwU5rNO3cmELhK8mgmAs3YfeyZpqiXeT6E8ABRfLaUikQMnBYcLajCFV 1gOhGjSM/2dKuCg1Dg/IcYaHR7bb3ylQ/yCldi6i3Q117JnucV740GdArDjHDqeWWjvs3OYbGmfQJ m9ukhZfr2A9Mj4AwgnSvJyRLni0VDpUtR8/5Ime7rYh0Be/7m6Hv+4e4C5i384wBW8Fg/+fGVa+Dp 0NG79v0g1dmOeez6Bt0fjoKGDp1C1hjcF67s689Qq+jqcSmF3+2ZIoiUGwO5KDKgdGcim25Ilrxbr pwLP2D85A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jtUSh-00062g-T2; Thu, 09 Jul 2020 11:11:31 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jtUSe-00061t-Ct for linux-arm-kernel@lists.infradead.org; Thu, 09 Jul 2020 11:11:29 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0DB3E1045; Thu, 9 Jul 2020 04:11:27 -0700 (PDT) Received: from [10.37.8.195] (unknown [10.37.8.195]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 042173F887; Thu, 9 Jul 2020 04:11:24 -0700 (PDT) Subject: Re: [PATCH] arm64/alternatives: use subsections for replacement sequences From: Alexandru Elisei To: Ard Biesheuvel , linux-arm-kernel@lists.infradead.org References: <20200630081921.13443-1-ardb@kernel.org> <45e53113-75bb-9e7b-cd81-72d782bbb57d@arm.com> Message-ID: <7b503f04-f4fd-54a8-db42-fcf927ee96fa@arm.com> Date: Thu, 9 Jul 2020 12:12:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <45e53113-75bb-9e7b-cd81-72d782bbb57d@arm.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200709_071128_540955_909B29AF X-CRM114-Status: GOOD ( 26.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, anders.roxell@linaro.org, arnd@arndb.de, Suzuki K Poulose , catalin.marinas@arm.com, James Morse , Andre Przywara , will@kernel.org, Dave P Martin Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpJIHNob3VsZCBwb3N0IHRoZSBlbnRpcmUgYm9vdCBsb2c6CgpbwqDCoMKgIDAuMDAwMDAw XSBCb290aW5nIExpbnV4IG9uIHBoeXNpY2FsIENQVSAweDAwMDAwMDAwMDAgWzB4NDEwZmQwZjBd ClvCoMKgwqAgMC4wMDAwMDBdIExpbnV4IHZlcnNpb24gNS44LjAtcmMxLTAwMDI0LWdmN2I5M2Q0 Mjk0NWMtZGlydHkgKGFsZXhAbW9ub2xpdGgpCihhYXJjaDY0LWxpbnV4LWdudS1nY2MgKEdDQykg MTAuMS4wLCBHTlUgbGQgKEdOVSBCaW51dGlscykgMi4zNCkgIzEzNSBTTVAgUFJFRU1QVApUaHUg SnVsIDkgMTE6Mjg6NTUgQlNUIDIwMjAKW8KgwqDCoCAwLjAwMDAwMF0gTWFjaGluZSBtb2RlbDog RlZQIEJhc2UKW8KgwqDCoCAwLjAwMDAwMF0gZWFybHljb246IHBsMTEgYXQgTU1JTyAweDAwMDAw MDAwMWMwOTAwMDAgKG9wdGlvbnMgJycpClvCoMKgwqAgMC4wMDAwMDBdIHByaW50azogYm9vdGNv bnNvbGUgW3BsMTFdIGVuYWJsZWQKW8KgwqDCoCAwLjAwMDAwMF0gZWZpOiBVRUZJIG5vdCBmb3Vu ZC4KW8KgwqDCoCAwLjAwMDAwMF0gW0Zpcm13YXJlIEJ1Z106IEtlcm5lbCBpbWFnZSBtaXNhbGln bmVkIGF0IGJvb3QsIHBsZWFzZSBmaXggeW91cgpib290bG9hZGVyIQpbwqDCoMKgIDAuMDAwMDAw XSBjbWE6IFJlc2VydmVkIDMyIE1pQiBhdCAweDAwMDAwMDAwZmUwMDAwMDAKW8KgwqDCoCAwLjAw MDAwMF0gTlVNQTogTm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kClvCoMKgwqAgMC4wMDAwMDBd IE5VTUE6IEZha2luZyBhIG5vZGUgYXQgW21lbSAweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAw OGZmZmZmZmZmXQpbwqDCoMKgIDAuMDAwMDAwXSBOVU1BOiBOT0RFX0RBVEEgW21lbSAweDhmZjdm MTEwMC0weDhmZjdmMmZmZl0KW8KgwqDCoCAwLjAwMDAwMF0gWm9uZSByYW5nZXM6ClvCoMKgwqAg MC4wMDAwMDBdwqDCoCBETUHCoMKgwqDCoMKgIFttZW0gMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAw MDAwMDBiZmZmZmZmZl0KW8KgwqDCoCAwLjAwMDAwMF3CoMKgIERNQTMywqDCoMKgIFttZW0gMHgw MDAwMDAwMGMwMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0KW8KgwqDCoCAwLjAwMDAwMF3CoMKg IE5vcm1hbMKgwqAgW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwOGZmZmZmZmZmXQpb wqDCoMKgIDAuMDAwMDAwXSBNb3ZhYmxlIHpvbmUgc3RhcnQgZm9yIGVhY2ggbm9kZQpbwqDCoMKg IDAuMDAwMDAwXSBFYXJseSBtZW1vcnkgbm9kZSByYW5nZXMKW8KgwqDCoCAwLjAwMDAwMF3CoMKg IG5vZGXCoMKgIDA6IFttZW0gMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0K W8KgwqDCoCAwLjAwMDAwMF3CoMKgIG5vZGXCoMKgIDA6IFttZW0gMHgwMDAwMDAwODgwMDAwMDAw LTB4MDAwMDAwMDhmZmZmZmZmZl0KW8KgwqDCoCAwLjAwMDAwMF0gSW5pdG1lbSBzZXR1cCBub2Rl IDAgW21lbSAweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwOGZmZmZmZmZmXQpbwqDCoMKgIDAu MDAwMDAwXSBwc2NpOiBwcm9iaW5nIGZvciBjb25kdWl0IG1ldGhvZCBmcm9tIERULgpbwqDCoMKg IDAuMDAwMDAwXSBwc2NpOiBVc2luZyBQU0NJIHYwLjEgRnVuY3Rpb24gSURzIGZyb20gRFQKW8Kg wqDCoCAwLjAwMDAwMF0gcGVyY3B1OiBFbWJlZGRlZCAyMyBwYWdlcy9jcHUgczUzOTEyIHI4MTky IGQzMjEwNCB1OTQyMDgKW8KgwqDCoCAwLjAwMDAwMF0gRGV0ZWN0ZWQgUElQVCBJLWNhY2hlIG9u IENQVTAKW8KgwqDCoCAwLjAwMDAwMF0gQ1BVIGZlYXR1cmVzOiBkZXRlY3RlZDogR0lDIHN5c3Rl bSByZWdpc3RlciBDUFUgaW50ZXJmYWNlClvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczog ZGV0ZWN0ZWQ6IFZpcnR1YWxpemF0aW9uIEhvc3QgRXh0ZW5zaW9ucwpbwqDCoMKgIDAuMDAwMDAw XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBIYXJkd2FyZSBkaXJ0eSBiaXQgbWFuYWdlbWVudApb wqDCoMKgIDAuMDAwMDAwXSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBTcGVjdWxhdGl2ZSBTdG9y ZSBCeXBhc3NpbmcgU2FmZSAoU1NCUykKW8KgwqDCoCAwLjAwMDAwMF0gQ1BVIGZlYXR1cmVzOiBk ZXRlY3RlZDogQWRkcmVzcyBhdXRoZW50aWNhdGlvbiAoSU1QIERFRiBhbGdvcml0aG0pClvCoMKg wqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IElSUSBwcmlvcml0eSBtYXNraW5n ClvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IEJyYW5jaCBUYXJnZXQg SWRlbnRpZmljYXRpb24KW8KgwqDCoCAwLjAwMDAwMF0gYWx0ZXJuYXRpdmVzOiBwYXRjaGluZyBr ZXJuZWwgY29kZQpbwqDCoMKgIDAuMDAwMDAwXSBCdWlsdCAxIHpvbmVsaXN0cywgbW9iaWxpdHkg Z3JvdXBpbmcgb24uwqAgVG90YWwgcGFnZXM6IDEwMzIxOTIKW8KgwqDCoCAwLjAwMDAwMF0gUG9s aWN5IHpvbmU6IE5vcm1hbApbwqDCoMKgIDAuMDAwMDAwXSBLZXJuZWwgY29tbWFuZCBsaW5lOiBl YXJseWNvbj1wbDAxMSwweDFjMDkwMDAwIGNvbnNvbGU9dHR5QU1BMAppcnFjaGlwLmdpY3YzX3Bz ZXVkb19ubWk9MQpbwqDCoMKgIDAuMDAwMDAwXSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRy aWVzOiA1MjQyODggKG9yZGVyOiAxMCwgNDE5NDMwNCBieXRlcywKbGluZWFyKQpbwqDCoMKgIDAu MDAwMDAwXSBJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDI2MjE0NCAob3JkZXI6IDks IDIwOTcxNTIgYnl0ZXMsCmxpbmVhcikKW8KgwqDCoCAwLjAwMDAwMF0gbWVtIGF1dG8taW5pdDog c3RhY2s6b2ZmLCBoZWFwIGFsbG9jOm9mZiwgaGVhcCBmcmVlOm9mZgpbwqDCoMKgIDAuMDAwMDAw XSBzb2Z0d2FyZSBJTyBUTEI6IG1hcHBlZCBbbWVtIDB4YmJmZmYwMDAtMHhiZmZmZjAwMF0gKDY0 TUIpClvCoMKgwqAgMC4wMDAwMDBdIE1lbW9yeTogMzg5NjIwMEsvNDE5NDMwNEsgYXZhaWxhYmxl ICgxMzg4NEsga2VybmVsIGNvZGUsIDIxNzBLCnJ3ZGF0YSwgNzQ0MEsgcm9kYXRhLCA1NTY4SyBp bml0LCA0ODFLIGJzcywgMjY1MzM2SyByZXNlcnZlZCwgMzI3NjhLIGNtYS1yZXNlcnZlZCkKW8Kg wqDCoCAwLjAwMDAwMF0gU0xVQjogSFdhbGlnbj02NCwgT3JkZXI9MC0zLCBNaW5PYmplY3RzPTAs IENQVXM9NCwgTm9kZXM9MQpbwqDCoMKgIDAuMDAwMDAwXSByY3U6IFByZWVtcHRpYmxlIGhpZXJh cmNoaWNhbCBSQ1UgaW1wbGVtZW50YXRpb24uClvCoMKgwqAgMC4wMDAwMDBdIHJjdTogwqDCoMKg IFJDVSBldmVudCB0cmFjaW5nIGlzIGVuYWJsZWQuClvCoMKgwqAgMC4wMDAwMDBdIHJjdTogwqDC oMKgIFJDVSByZXN0cmljdGluZyBDUFVzIGZyb20gTlJfQ1BVUz0yNTYgdG8gbnJfY3B1X2lkcz00 LgpbwqDCoMKgIDAuMDAwMDAwXSDCoMKgwqAgVHJhbXBvbGluZSB2YXJpYW50IG9mIFRhc2tzIFJD VSBlbmFibGVkLgpbwqDCoMKgIDAuMDAwMDAwXSByY3U6IFJDVSBjYWxjdWxhdGVkIHZhbHVlIG9m IHNjaGVkdWxlci1lbmxpc3RtZW50IGRlbGF5IGlzIDI1IGppZmZpZXMuClvCoMKgwqAgMC4wMDAw MDBdIHJjdTogQWRqdXN0aW5nIGdlb21ldHJ5IGZvciByY3VfZmFub3V0X2xlYWY9MTYsIG5yX2Nw dV9pZHM9NApbwqDCoMKgIDAuMDAwMDAwXSBOUl9JUlFTOiA2NCwgbnJfaXJxczogNjQsIHByZWFs bG9jYXRlZCBpcnFzOiAwClvCoMKgwqAgMC4wMDAwMDBdIEdJQ3YzOiBHSUM6IFVzaW5nIHNwbGl0 IEVPSS9EZWFjdGl2YXRlIG1vZGUKW8KgwqDCoCAwLjAwMDAwMF0gR0lDdjM6IDIyNCBTUElzIGlt cGxlbWVudGVkClvCoMKgwqAgMC4wMDAwMDBdIEdJQ3YzOiAwIEV4dGVuZGVkIFNQSXMgaW1wbGVt ZW50ZWQKW8KgwqDCoCAwLjAwMDAwMF0gR0lDdjM6IERpc3RyaWJ1dG9yIGhhcyBubyBSYW5nZSBT ZWxlY3RvciBzdXBwb3J0ClvCoMKgwqAgMC4wMDAwMDBdIEdJQ3YzOiAxNiBQUElzIGltcGxlbWVu dGVkClvCoMKgwqAgMC4wMDAwMDBdIEdJQ3YzOiBDUFUwOiBmb3VuZCByZWRpc3RyaWJ1dG9yIDAg cmVnaW9uIDA6MHgwMDAwMDAwMDJmMTAwMDAwClvCoMKgwqAgMC4wMDAwMDBdIElUUyBbbWVtIDB4 MmYwMjAwMDAtMHgyZjAzZmZmZl0KW8KgwqDCoCAwLjAwMDAwMF0gSVRTQDB4MDAwMDAwMDAyZjAy MDAwMDogYWxsb2NhdGVkIDgxOTIgRGV2aWNlcyBAOGZhYzQwMDAwCihpbmRpcmVjdCwgZXN6IDgs IHBzeiA2NEssIHNociAxKQpbwqDCoMKgIDAuMDAwMDAwXSBJVFNAMHgwMDAwMDAwMDJmMDIwMDAw OiBhbGxvY2F0ZWQgODE5MiBWaXJ0dWFsIENQVXMgQDhmYWM1MDAwMAooaW5kaXJlY3QsIGVzeiA4 LCBwc3ogNjRLLCBzaHIgMSkKW8KgwqDCoCAwLjAwMDAwMF0gSVRTQDB4MDAwMDAwMDAyZjAyMDAw MDogYWxsb2NhdGVkIDgxOTIgSW50ZXJydXB0IENvbGxlY3Rpb25zCkA4ZmFjNjAwMDAgKGZsYXQs IGVzeiA4LCBwc3ogNjRLLCBzaHIgMSkKW8KgwqDCoCAwLjAwMDAwMF0gR0lDdjM6IHVzaW5nIExQ SSBwcm9wZXJ0eSB0YWJsZSBAMHgwMDAwMDAwOGZhYzcwMDAwClvCoMKgwqAgMC4wMDAwMDBdIEdJ Q3YzOiBDUFUwOiB1c2luZyBhbGxvY2F0ZWQgTFBJIHBlbmRpbmcgdGFibGUgQDB4MDAwMDAwMDhm YWM4MDAwMApbwqDCoMKgIDAuMDAwMDAwXSBHSUN2MzogUmVsYXhpbmcgSUNDX1BNUl9FTDEgc3lu Y2hyb25pc2F0aW9uClvCoMKgwqAgMC4wMDAwMDBdIHJhbmRvbTogZ2V0X3JhbmRvbV9ieXRlcyBj YWxsZWQgZnJvbSBzdGFydF9rZXJuZWwrMHgzMTQvMHg0ZjAgd2l0aApjcm5nX2luaXQ9MApbwqDC oMKgIDAuMDAwMDAwXSBhcmNoX3RpbWVyOiBjcDE1IHRpbWVyKHMpIHJ1bm5pbmcgYXQgMTAwMC4w ME1IeiAocGh5cykuClvCoMKgwqAgMC4wMDAwMDBdIGNsb2Nrc291cmNlOiBhcmNoX3N5c19jb3Vu dGVyOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6CjB4MWNkNDJlNGRmZmIsIG1h eF9pZGxlX25zOiA4ODE1OTA1OTE0ODMgbnMKW8KgwqDCoCAwLjAwMDAwNF0gc2NoZWRfY2xvY2s6 IDU2IGJpdHMgYXQgMTAwME1IeiwgcmVzb2x1dGlvbiAxbnMsIHdyYXBzIGV2ZXJ5CjQzOTgwNDY1 MTExMDNucwpbwqDCoMKgIDAuMDAwMTg0XSBzcDgwNDogdGltZXIgY2xvY2sgbm90IGZvdW5kOiAt NTE3ClvCoMKgwqAgMC4wMDAyMDZdIHNwODA0OiBhcm0sc3A4MDQgY2xvY2sgbm90IGZvdW5kOiAt MgpbwqDCoMKgIDAuMDAwMjE0XSBGYWlsZWQgdG8gaW5pdGlhbGl6ZQonL3NtYkA4MDAwMDAwL21v dGhlcmJvYXJkL2lvZnBnYUAzMDAwMDAwMDAvdGltZXJAMTEwMDAwJzogLTIKW8KgwqDCoCAwLjAw MDI0NV0gc3A4MDQ6IHRpbWVyIGNsb2NrIG5vdCBmb3VuZDogLTUxNwpbwqDCoMKgIDAuMDAwMjY2 XSBzcDgwNDogYXJtLHNwODA0IGNsb2NrIG5vdCBmb3VuZDogLTIKW8KgwqDCoCAwLjAwMDI3N10g RmFpbGVkIHRvIGluaXRpYWxpemUKJy9zbWJAODAwMDAwMC9tb3RoZXJib2FyZC9pb2ZwZ2FAMzAw MDAwMDAwL3RpbWVyQDEyMDAwMCc6IC0yClvCoMKgwqAgMC4wMDAzNzRdIENvbnNvbGU6IGNvbG91 ciBkdW1teSBkZXZpY2UgODB4MjUKW8KgwqDCoCAwLjAwMDQxNl0gQ2FsaWJyYXRpbmcgZGVsYXkg bG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcgdGltZXIKZnJlcXVlbmN5Li4g MjAwMC4wMCBCb2dvTUlQUyAobHBqPTQwMDAwMDApClvCoMKgwqAgMC4wMDA0MjddIHBpZF9tYXg6 IGRlZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQpbwqDCoMKgIDAuMDAwNDg0XSBMU006IFNlY3Vy aXR5IEZyYW1ld29yayBpbml0aWFsaXppbmcKW8KgwqDCoCAwLjAwMDUxNF0gTW91bnQtY2FjaGUg aGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNCwgNjU1MzYgYnl0ZXMsIGxpbmVhcikK W8KgwqDCoCAwLjAwMDUyNF0gTW91bnRwb2ludC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDgx OTIgKG9yZGVyOiA0LCA2NTUzNiBieXRlcywKbGluZWFyKQpbwqDCoMKgIDAuMDAxMTI0XSByY3U6 IEhpZXJhcmNoaWNhbCBTUkNVIGltcGxlbWVudGF0aW9uLgpbwqDCoMKgIDAuMDAxMjA2XSBQbGF0 Zm9ybSBNU0k6IGl0c0AyZjAyMDAwMCBkb21haW4gY3JlYXRlZApbwqDCoMKgIDAuMDAxMjQ0XSBQ Q0kvTVNJOiAvaW50ZXJydXB0LWNvbnRyb2xsZXJAMmYwMDAwMDAvaXRzQDJmMDIwMDAwIGRvbWFp biBjcmVhdGVkClvCoMKgwqAgMC4wMDEyODRdIGZzbC1tYyBNU0k6IC9pbnRlcnJ1cHQtY29udHJv bGxlckAyZjAwMDAwMC9pdHNAMmYwMjAwMDAgZG9tYWluIGNyZWF0ZWQKW8KgwqDCoCAwLjAwMTgx NV0gRUZJIHNlcnZpY2VzIHdpbGwgbm90IGJlIGF2YWlsYWJsZS4KW8KgwqDCoCAwLjAwMTkxMF0g c21wOiBCcmluZ2luZyB1cCBzZWNvbmRhcnkgQ1BVcyAuLi4KW8KgwqDCoCAwLjAwMjA2NF0gRGV0 ZWN0ZWQgUElQVCBJLWNhY2hlIG9uIENQVTEKW8KgwqDCoCAwLjAwMjA4Ml0gR0lDdjM6IENQVTE6 IGZvdW5kIHJlZGlzdHJpYnV0b3IgMSByZWdpb24gMDoweDAwMDAwMDAwMmYxMjAwMDAKW8KgwqDC oCAwLjAwMjA4NF0gR0lDdjM6IENQVTE6IHVzaW5nIGFsbG9jYXRlZCBMUEkgcGVuZGluZyB0YWJs ZSBAMHgwMDAwMDAwOGZhYzkwMDAwClvCoMKgwqAgMC4wMDIwOTRdIENQVTE6IEJvb3RlZCBzZWNv bmRhcnkgcHJvY2Vzc29yIDB4MDAwMDAwMDAwMSBbMHg0MTBmZDBmMF0KW8KgwqDCoCAwLjAwMjEw M10gVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IHZp cnR1YWwgYWRkcmVzcwowMDAwMDAwMDAwMDAwMTMwClvCoMKgwqAgMC4wMDIxMjRdIE1lbSBhYm9y dCBpbmZvOgpbwqDCoMKgIDAuMDAyMTI0XcKgwqAgRVNSID0gMHg5NjAwMDAwNApbwqDCoMKgIDAu MDAyMTM1XcKgwqAgRUMgPSAweDI1OiBEQUJUIChjdXJyZW50IEVMKSwgSUwgPSAzMiBiaXRzClvC oMKgwqAgMC4wMDIxMzVdwqDCoCBTRVQgPSAwLCBGblYgPSAwClvCoMKgwqAgMC4wMDIxNDZdwqDC oCBFQSA9IDAsIFMxUFRXID0gMApbwqDCoMKgIDAuMDAyMTQ2XSBEYXRhIGFib3J0IGluZm86ClvC oMKgwqAgMC4wMDIxNTRdwqDCoCBJU1YgPSAwLCBJU1MgPSAweDAwMDAwMDA0ClvCoMKgwqAgMC4w MDIxNTZdwqDCoCBDTSA9IDAsIFduUiA9IDAKW8KgwqDCoCAwLjAwMjE2NF0gWzAwMDAwMDAwMDAw MDAxMzBdIHVzZXIgYWRkcmVzcyBidXQgYWN0aXZlX21tIGlzIHN3YXBwZXIKW8KgwqDCoCAwLjAw MjE2N10gSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDk2MDAwMDA0IFsjMV0gUFJFRU1QVCBTTVAKW8Kg wqDCoCAwLjAwMjE3NF0gTW9kdWxlcyBsaW5rZWQgaW46ClvCoMKgwqAgMC4wMDIxODRdIENQVTog MCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5vdCB0YWludGVkCjUuOC4wLXJjMS0wMDAyNC1nZjdi OTNkNDI5NDVjLWRpcnR5ICMxMzUKW8KgwqDCoCAwLjAwMjE4OF0gSGFyZHdhcmUgbmFtZTogRlZQ IEJhc2UgKERUKQpbwqDCoMKgIDAuMDAyMTk0XSBwc3RhdGU6IDAwMDAwM2M5IChuemN2IERBSUYg LVBBTiAtVUFPIEJUWVBFPS0tKQpbwqDCoMKgIDAuMDAyMjA0XSBwYyA6IHdvcmtfcGVuZGluZysw eDMyYy8weDM0OApbwqDCoMKgIDAuMDAyMjEwXSBsciA6IGVsMV9pcnErMHhjYy8weDE4MApbwqDC oMKgIDAuMDAyMjE0XSBzcCA6IGZmZmZkN2M1ZGNlZDNkOTAKW8KgwqDCoCAwLjAwMjIyMF0gcG1y X3NhdmU6IDAwMDAwMGYwClvCoMKgwqAgMC4wMDIyMjRdIHgyOTogZmZmZmQ3YzVkY2VkM2VjMCB4 Mjg6IGZmZmZkN2M1ZGNlZTJlMDAKW8KgwqDCoCAwLjAwMjIzMV0geDI3OiBmZmZmZDdjNWRjZWUy ZTAwIHgyNjogZmZmZjI4NDJhMmNlOTAwMApbwqDCoMKgIDAuMDAyMjQyXSB4MjU6IGZmZmY4MDAw MTAwMDAwMDAgeDI0OiAwMDAwMDAwMDAwMDAwMDAxClvCoMKgwqAgMC4wMDIyNDRdIHgyMzogM2My ZGQyMjVlZTc3YjY1ZiB4MjI6IDI1NzZkNGMzMWU2OTg3MTIKW8KgwqDCoCAwLjAwMjI1NF0geDIx OiAwMDAwMDAwMDAwMDAwNDAyIHgyMDogMDAwMDAwMDAwMDAwMDBmMApbwqDCoMKgIDAuMDAyMjY0 XSB4MTk6IGZmZmZkN2M1ZGNlZDNkOTAgeDE4OiAwMDAwMDAwMDAwMDAwMDIwClvCoMKgwqAgMC4w MDIyNzRdIHgxNzogMDAwMDAwMDA2NmYyZDg2MCB4MTY6IDAwMDAwMDAwMDAwMDAwMDEKW8KgwqDC oCAwLjAwMjI3NF0geDE1OiAwMDAwMDAwMDAwMDAwMDAwIHgxNDogMDAwMDAwMDAwMDAwMDAwMApb wqDCoMKgIDAuMDAyMjg0XSB4MTM6IDAwMDAwMDAwZmE4M2IyZGEgeDEyOiAwMDAwMDAwMDAwMDAw MDAwClvCoMKgwqAgMC4wMDIyOTVdIHgxMTogMDAwMDAwMDAwMDAwMDAwMCB4MTA6IDNjMmRkMjI1 ZWU3N2I2NWYKW8KgwqDCoCAwLjAwMjMwNl0geDkgOiAyNTc2ZDRjMzFlNjk4NzEyIHg4IDogZmZm ZmQ3YzVkY2VlM2JkOApbwqDCoMKgIDAuMDAyMzE0XSB4NyA6IDAwMDAwMDAwMDAwMGJhNWUgeDYg OiAwMDAwMDAwMGZmZmVkYjA4ClvCoMKgwqAgMC4wMDIzMTZdIHg1IDogMDAwMDAwMDBmZmZmZmZm ZiB4NCA6IGZmZmYyODQyYTJjZTkwMDAKW8KgwqDCoCAwLjAwMjMyN10geDMgOiAwMDAwMDAwMDAw MDAwMGYwIHgyIDogMDAwMDAwMDAwMDAwMDBmMApbwqDCoMKgIDAuMDAyMzM4XSB4MSA6IGZmZmYy ODQyYTJjZTkwMDAgeDAgOiAwMDAwMDAwMDAwMDAwMGYwClvCoMKgwqAgMC4wMDIzNDRdIENhbGwg dHJhY2U6ClvCoMKgwqAgMC4wMDIzNDhdwqAgd29ya19wZW5kaW5nKzB4MzJjLzB4MzQ4ClvCoMKg wqAgMC4wMDIzNTRdwqAgZG9faWRsZSsweDIzMC8weDMwYwpbwqDCoMKgIDAuMDAyMzY0XcKgIGNw dV9zdGFydHVwX2VudHJ5KzB4MjQvMHg4MApbwqDCoMKgIDAuMDAyMzcwXcKgIHJlc3RfaW5pdCsw eGQ4LzB4ZTgKW8KgwqDCoCAwLjAwMjM4MF3CoCBhcmNoX2NhbGxfcmVzdF9pbml0KzB4MTAvMHgx YwpbwqDCoMKgIDAuMDAyMzg0XcKgIHN0YXJ0X2tlcm5lbCsweDRiOC8weDRmMApbwqDCoMKgIDAu MDAyMzk0XSBDb2RlOiBkNTAzM2Y5ZiBkNTE4ZDAzZiBkNTAzMjAxZiBkNTAzMjAxZiAoYTk0NDA4 MDEpClvCoMKgwqAgMC4wMDI0MDRdIC0tLVsgZW5kIHRyYWNlIDA4YjM0ZTQ5Yzg4ZTAyNTIgXS0t LQpbwqDCoMKgIDAuMDAyNDEzXSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogQXR0ZW1wdGVk IHRvIGtpbGwgdGhlIGlkbGUgdGFzayEKW8KgwqDCoCAwLjAwMjQxNF0gU01QOiBzdG9wcGluZyBz ZWNvbmRhcnkgQ1BVcwpbwqDCoMKgIDAuMDAyNDM0XSAtLS1bIGVuZCBLZXJuZWwgcGFuaWMgLSBu b3Qgc3luY2luZzogQXR0ZW1wdGVkIHRvIGtpbGwgdGhlIGlkbGUKdGFzayEgXS0tLQoKSWYgaXQg aGVscHMsIEkgdHJpZWQgaXQgd2l0aCBjYWNoZXMgZW5hYmxlZCBhbmQgdGhlIGxvZ3Mgd2VyZSBp ZGVudGljYWwgKGNoZWNrZWQKd2l0aCBkaWZmKS4KClRoYW5rcywKCkFsZXgKCk9uIDcvOS8yMCAx MTo1NyBBTSwgQWxleGFuZHJ1IEVsaXNlaSB3cm90ZToKPiBIaSwKPgo+IEkgdGhpbmsgdGhpcyBw YXRjaCBicmVha3MgcHNldWRvLU5NSXMuIEkgYmlzZWN0ZWQgdGhlIGZvbGxvd2luZyBzcGxhdCB0 byB0aGlzIGNvbW1pdDoKPgo+IFvCoMKgwqAgMC4wMDIxMDNdIFVuYWJsZSB0byBoYW5kbGUga2Vy bmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCB2aXJ0dWFsIGFkZHJlc3MKPiAwMDAwMDAw MDAwMDAwMTMwCj4gW8KgwqDCoCAwLjAwMjEyNF0gTWVtIGFib3J0IGluZm86Cj4gW8KgwqDCoCAw LjAwMjEyNF3CoMKgIEVTUiA9IDB4OTYwMDAwMDQKPiBbwqDCoMKgIDAuMDAyMTM1XcKgwqAgRUMg PSAweDI1OiBEQUJUIChjdXJyZW50IEVMKSwgSUwgPSAzMiBiaXRzCj4gW8KgwqDCoCAwLjAwMjEz NV3CoMKgIFNFVCA9IDAsIEZuViA9IDAKPiBbwqDCoMKgIDAuMDAyMTQ2XcKgwqAgRUEgPSAwLCBT MVBUVyA9IDAKPiBbwqDCoMKgIDAuMDAyMTQ2XSBEYXRhIGFib3J0IGluZm86Cj4gW8KgwqDCoCAw LjAwMjE1NF3CoMKgIElTViA9IDAsIElTUyA9IDB4MDAwMDAwMDQKPiBbwqDCoMKgIDAuMDAyMTU2 XcKgwqAgQ00gPSAwLCBXblIgPSAwCj4gW8KgwqDCoCAwLjAwMjE2NF0gWzAwMDAwMDAwMDAwMDAx MzBdIHVzZXIgYWRkcmVzcyBidXQgYWN0aXZlX21tIGlzIHN3YXBwZXIKPiBbwqDCoMKgIDAuMDAy MTY3XSBJbnRlcm5hbCBlcnJvcjogT29wczogOTYwMDAwMDQgWyMxXSBQUkVFTVBUIFNNUAo+IFvC oMKgwqAgMC4wMDIxNzRdIE1vZHVsZXMgbGlua2VkIGluOgo+IFvCoMKgwqAgMC4wMDIxODRdIENQ VTogMCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5vdCB0YWludGVkCj4gNS44LjAtcmMxLTAwMDI0 LWdmN2I5M2Q0Mjk0NWMtZGlydHkgIzEzNQo+IFvCoMKgwqAgMC4wMDIxODhdIEhhcmR3YXJlIG5h bWU6IEZWUCBCYXNlIChEVCkKPiBbwqDCoMKgIDAuMDAyMTk0XSBwc3RhdGU6IDAwMDAwM2M5IChu emN2IERBSUYgLVBBTiAtVUFPIEJUWVBFPS0tKQo+IFvCoMKgwqAgMC4wMDIyMDRdIHBjIDogd29y a19wZW5kaW5nKzB4MzJjLzB4MzQ4Cj4gW8KgwqDCoCAwLjAwMjIxMF0gbHIgOiBlbDFfaXJxKzB4 Y2MvMHgxODAKPiBbwqDCoMKgIDAuMDAyMjE0XSBzcCA6IGZmZmZkN2M1ZGNlZDNkOTAKPiBbwqDC oMKgIDAuMDAyMjIwXSBwbXJfc2F2ZTogMDAwMDAwZjAKPiBbwqDCoMKgIDAuMDAyMjI0XSB4Mjk6 IGZmZmZkN2M1ZGNlZDNlYzAgeDI4OiBmZmZmZDdjNWRjZWUyZTAwCj4gW8KgwqDCoCAwLjAwMjIz MV0geDI3OiBmZmZmZDdjNWRjZWUyZTAwIHgyNjogZmZmZjI4NDJhMmNlOTAwMAo+IFvCoMKgwqAg MC4wMDIyNDJdIHgyNTogZmZmZjgwMDAxMDAwMDAwMCB4MjQ6IDAwMDAwMDAwMDAwMDAwMDEKPiBb wqDCoMKgIDAuMDAyMjQ0XSB4MjM6IDNjMmRkMjI1ZWU3N2I2NWYgeDIyOiAyNTc2ZDRjMzFlNjk4 NzEyCj4gW8KgwqDCoCAwLjAwMjI1NF0geDIxOiAwMDAwMDAwMDAwMDAwNDAyIHgyMDogMDAwMDAw MDAwMDAwMDBmMAo+IFvCoMKgwqAgMC4wMDIyNjRdIHgxOTogZmZmZmQ3YzVkY2VkM2Q5MCB4MTg6 IDAwMDAwMDAwMDAwMDAwMjAKPiBbwqDCoMKgIDAuMDAyMjc0XSB4MTc6IDAwMDAwMDAwNjZmMmQ4 NjAgeDE2OiAwMDAwMDAwMDAwMDAwMDAxCj4gW8KgwqDCoCAwLjAwMjI3NF0geDE1OiAwMDAwMDAw MDAwMDAwMDAwIHgxNDogMDAwMDAwMDAwMDAwMDAwMAo+IFvCoMKgwqAgMC4wMDIyODRdIHgxMzog MDAwMDAwMDBmYTgzYjJkYSB4MTI6IDAwMDAwMDAwMDAwMDAwMDAKPiBbwqDCoMKgIDAuMDAyMjk1 XSB4MTE6IDAwMDAwMDAwMDAwMDAwMDAgeDEwOiAzYzJkZDIyNWVlNzdiNjVmCj4gW8KgwqDCoCAw LjAwMjMwNl0geDkgOiAyNTc2ZDRjMzFlNjk4NzEyIHg4IDogZmZmZmQ3YzVkY2VlM2JkOAo+IFvC oMKgwqAgMC4wMDIzMTRdIHg3IDogMDAwMDAwMDAwMDAwYmE1ZSB4NiA6IDAwMDAwMDAwZmZmZWRi MDgKPiBbwqDCoMKgIDAuMDAyMzE2XSB4NSA6IDAwMDAwMDAwZmZmZmZmZmYgeDQgOiBmZmZmMjg0 MmEyY2U5MDAwCj4gW8KgwqDCoCAwLjAwMjMyN10geDMgOiAwMDAwMDAwMDAwMDAwMGYwIHgyIDog MDAwMDAwMDAwMDAwMDBmMAo+IFvCoMKgwqAgMC4wMDIzMzhdIHgxIDogZmZmZjI4NDJhMmNlOTAw MCB4MCA6IDAwMDAwMDAwMDAwMDAwZjAKPiBbwqDCoMKgIDAuMDAyMzQ0XSBDYWxsIHRyYWNlOgo+ IFvCoMKgwqAgMC4wMDIzNDhdwqAgd29ya19wZW5kaW5nKzB4MzJjLzB4MzQ4Cj4gW8KgwqDCoCAw LjAwMjM1NF3CoCBkb19pZGxlKzB4MjMwLzB4MzBjCj4gW8KgwqDCoCAwLjAwMjM2NF3CoCBjcHVf c3RhcnR1cF9lbnRyeSsweDI0LzB4ODAKPiBbwqDCoMKgIDAuMDAyMzcwXcKgIHJlc3RfaW5pdCsw eGQ4LzB4ZTgKPiBbwqDCoMKgIDAuMDAyMzgwXcKgIGFyY2hfY2FsbF9yZXN0X2luaXQrMHgxMC8w eDFjCj4gW8KgwqDCoCAwLjAwMjM4NF3CoCBzdGFydF9rZXJuZWwrMHg0YjgvMHg0ZjAKPiBbwqDC oMKgIDAuMDAyMzk0XSBDb2RlOiBkNTAzM2Y5ZiBkNTE4ZDAzZiBkNTAzMjAxZiBkNTAzMjAxZiAo YTk0NDA4MDEpCj4gW8KgwqDCoCAwLjAwMjQwNF0gLS0tWyBlbmQgdHJhY2UgMDhiMzRlNDljODhl MDI1MiBdLS0tCj4gW8KgwqDCoCAwLjAwMjQxM10gS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6 IEF0dGVtcHRlZCB0byBraWxsIHRoZSBpZGxlIHRhc2shCj4gW8KgwqDCoCAwLjAwMjQxNF0gU01Q OiBzdG9wcGluZyBzZWNvbmRhcnkgQ1BVcwo+IFvCoMKgwqAgMC4wMDI0MzRdIC0tLVsgZW5kIEtl cm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBBdHRlbXB0ZWQgdG8ga2lsbCB0aGUgaWRsZQo+IHRh c2shIF0tLS0KPgo+IFRoZSBjb25maWcgSSB1c2VkIGlzIGRlZmNvbmZpZyArIHBzZXVkby1OTUlz IGVuYWJsZWQgKENPTkZJR19BUk02NF9QU0VVRE9fTk1JPXkKPiBvciwgaW4gbWVudWNvbmZpZywg S2VybmVsIGZlYXR1cmVzIC0+IFN1cHBvcnQgZm9yIE5NSS1saWtlIGludGVycnVwdHMpLiBUaGUK PiBjb21waWxlciB0aGF0IEkgdXNlZDoKPgo+ICQgYWFyY2g2NC1saW51eC1nbnUtZ2NjIC0tdmVy c2lvbgo+IGFhcmNoNjQtbGludXgtZ251LWdjYyAoR0NDKSAxMC4xLjAKPiBDb3B5cmlnaHQgKEMp IDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCj4gVGhpcyBpcyBmcmVlIHNvZnR3 YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLsKgIFRoZXJlIGlzIE5P Cj4gd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuCj4KPiBUaGUga2VybmVsIHdhcyBydW4gb24gdGhlIG1vZGVs LiBDb21tYW5kIGxpbmUgdG8gbGF1bmNoIHRoZSBtb2RlbDoKPgo+ICRNT0RFTCAtLWFwcGxpY2F0 aW9uIGNsdXN0ZXIwLio9JFBBWUxPQUQgLS1jb25maWctZmlsZSAkQ09ORklHIFwKPiDCoMKgwqAg LUMgYnAucGwwMTFfdWFydDAub3V0X2ZpbGU9JExPR0ZJTEUKPgo+IENvbmZpZyBmaWxlOgo+Cj4g YnAuZHJhbV9zaXplPTgKPiBicC5wbDAxMV91YXJ0MC51bmJ1ZmZlcmVkX291dHB1dD0xCj4gYnAu cGwwMTFfdWFydDAudW50aW1lZF9maWZvcz10cnVlCj4gYnAucmVmY291bnRlci5ub25fYXJjaF9z dGFydF9hdF9kZWZhdWx0PTEKPiBicC5zZWN1cmVfbWVtb3J5PTAKPiBicC5zbXNjXzkxYzExMS5l bmFibGVkPTAKPiBicC52ZV9zeXNyZWdzLm1tYlNpdGVEZWZhdWx0PTAKPiBjYWNoZV9zdGF0ZV9t b2RlbGxlZD1mYWxzZQo+IGNsdXN0ZXIwLk5VTV9DT1JFUz00Cj4gY2x1c3RlcjAuYW11X2hhc19l eHRlcm5hbF9pbnRlcmZhY2U9MQo+IGNsdXN0ZXIwLmNwdTAuQ09ORklHNjQ9MQo+IGNsdXN0ZXIw LmNwdTAuY3J5cHRvX3NoYTM9MQo+IGNsdXN0ZXIwLmNwdTAuY3J5cHRvX3NoYTUxMj0xCj4gY2x1 c3RlcjAuY3B1MC5jcnlwdG9fc20zPTEKPiBjbHVzdGVyMC5jcHUwLmNyeXB0b19zbTQ9MQo+IGNs dXN0ZXIwLmNwdTAuZW5hYmxlX2NyYzMyPTEKPiBjbHVzdGVyMC5oYXNfMTZrX2dyYW51bGU9MQo+ IGNsdXN0ZXIwLmhhc180a19ncmFudWxlPTEKPiBjbHVzdGVyMC5oYXNfNjRrX2dyYW51bGU9MQo+ IGNsdXN0ZXIwLmhhc19hbXU9MQo+IGNsdXN0ZXIwLmhhc19hcm1fdjgtMT0xCj4gY2x1c3RlcjAu aGFzX2FybV92OC0yPTEKPiBjbHVzdGVyMC5oYXNfYXJtX3Y4LTM9MQo+IGNsdXN0ZXIwLmhhc19h cm1fdjgtND0xCj4gY2x1c3RlcjAuaGFzX2FybV92OC01PTEKPiBjbHVzdGVyMC5oYXNfYnJhbmNo X3RhcmdldF9leGNlcHRpb249MQo+IGNsdXN0ZXIwLmhhc19jY2lkeD0xCj4gY2x1c3RlcjAuaGFz X2RhdGFfYWxpZ25tZW50X2ZsYWc9MQo+IGNsdXN0ZXIwLmhhc19mcDE2PTEKPiBjbHVzdGVyMC5o YXNfbGFyZ2Vfc3lzdGVtX2V4dD0xCj4gY2x1c3RlcjAuaGFzX2xhcmdlX3ZhPTEKPiBjbHVzdGVy MC5oYXNfbGRtX3N0bV9vcmRlcmluZ19jb250cm9sPTEKPiBjbHVzdGVyMC5oYXNfbHJjcGM9MQo+ IGNsdXN0ZXIwLmhhc19tcGFtPTEKPiBjbHVzdGVyMC5oYXNfcmFzPTEKPiBjbHVzdGVyMC5oYXNf cmFzX2RvdWJsZV9mYXVsdD0xCj4gY2x1c3RlcjAuaGFzX3JuZHI9MQo+IGNsdXN0ZXIwLmhhc19l bDM9McKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgIyAoYm9vbMKgICwgaW5pdC10aW1lKQo+IGRlZmF1bHQgPSAnMSfC oMKgwqDCoMKgIDogSW1wbGVtZW50cyBFTDMKPiBnaWNfZGlzdHJpYnV0b3IuR0lUU19CQVNFUjAt dHlwZT0xCj4gZ2ljX2Rpc3RyaWJ1dG9yLklUUy1jb3VudD0xCj4gZ2ljX2Rpc3RyaWJ1dG9yLklU Uy1oYXJkd2FyZS1jb2xsZWN0aW9uLWNvdW50PTEKPiBnaWNfZGlzdHJpYnV0b3IuZGlyZWN0LWxw aS1zdXBwb3J0PTEKPiBwY3RsLnN0YXJ0dXA9MC4qLiouKgo+Cj4gSSB3cmFwcGVkIHRoZSBrZXJu ZWwgd2l0aCBib290d3JhcHBlciwgd2l0aCB0aGlzIHBhdGNoIG9uIHRvcCB0byBjbGVhciBTQ1Jf RUwzLkZJUQo+IGFuZCBtYWtlIHBzZXVkby1OTUlzIHdvcms6Cj4KPiBkaWZmIC0tZ2l0IGEvYXJj aC9hYXJjaDY0L2Jvb3QuUyBiL2FyY2gvYWFyY2g2NC9ib290LlMKPiBpbmRleCA3NDcwNWNkZWQz MzguLjIxZTcyZjMzNjA1NyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FhcmNoNjQvYm9vdC5TCj4gKysr IGIvYXJjaC9hYXJjaDY0L2Jvb3QuUwo+IEBAIC01MSw2ICs1MSw3IEBAIF9zdGFydDoKPiDCoCNp Zm5kZWYgS0VSTkVMXzMyCj4gwqDCoMKgwqDCoMKgwqAgb3JywqDCoMKgwqAgeDAsIHgwLCAjKDEg PDwgMTApwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8gNjQtYml0IEVMMgo+IMKgI2VuZGlm Cj4gK8KgwqDCoMKgwqDCoCBvcnLCoMKgwqDCoCB4MCwgeDAsICMoMSA8PCAyKcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgLy8gUm91dGUgRklRcyB0byBFTDMKPiDCoMKgwqDCoMKgwqDCoCBt c3LCoMKgwqDCoCBzY3JfZWwzLCB4MAo+IMKgCj4gwqDCoMKgwqDCoMKgwqAgbXNywqDCoMKgwqAg Y3B0cl9lbDMsIHh6csKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBEaXNh YmxlIGNvcHJvLiB0cmFwcyB0byBFTDMKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hYXJjaDY0L2luY2x1 ZGUvYXNtL2dpYy12My5oIGIvYXJjaC9hYXJjaDY0L2luY2x1ZGUvYXNtL2dpYy12My5oCj4gaW5k ZXggZTc0M2MwMmZmZTVlLi5lYTc4NjI3NDU4NzIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hYXJjaDY0 L2luY2x1ZGUvYXNtL2dpYy12My5oCj4gKysrIGIvYXJjaC9hYXJjaDY0L2luY2x1ZGUvYXNtL2dp Yy12My5oCj4gQEAgLTMyLDQgKzMyLDkgQEAgc3RhdGljIGlubGluZSB2b2lkIGdpY193cml0ZV9p Y2NfY3Rscih1aW50MzJfdCB2YWwpCj4gwqDCoMKgwqDCoMKgwqAgYXNtIHZvbGF0aWxlICgibXNy ICIgSUNDX0NUTFJfRUwzICIsICUwIiA6IDogInIiICh2YWwpKTsKPiDCoH0KPiDCoAo+ICtzdGF0 aWMgaW5saW5lIHZvaWQgZ2ljX3dyaXRlX2ljY19wbXIodWludDY0X3QgdmFsKQo+ICt7Cj4gK8Kg wqDCoMKgwqDCoCBhc20gdm9sYXRpbGUgKCJtc3IgIiBJQ0NfUE1SX0VMMSAiLCAlMCIgOiA6ICJy IiAodmFsKSk7Cj4gK30KPiArCj4gwqAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2ljLXYzLmMgYi9n aWMtdjMuYwo+IGluZGV4IGMyZjY2YmFlNGMzNS4uNWFlYjUxYTFhN2JlIDEwMDY0NAo+IC0tLSBh L2dpYy12My5jCj4gKysrIGIvZ2ljLXYzLmMKPiBAQCAtMTIyLDYgKzEyMiw5IEBAIHZvaWQgZ2lj X3NlY3VyZV9pbml0KHZvaWQpCj4gwqDCoMKgwqDCoMKgwqAgZ2ljX3dyaXRlX2ljY19zcmUoc3Jl KTsKPiDCoMKgwqDCoMKgwqDCoCBpc2IoKTsKPiDCoAo+ICvCoMKgwqDCoMKgwqAgZ2ljX3dyaXRl X2ljY19wbXIoMHhmZik7Cj4gK8KgwqDCoMKgwqDCoCBpc2IoKTsKPiArCj4gwqDCoMKgwqDCoMKg wqAgZ2ljX3dyaXRlX2ljY19jdGxyKDApOwo+IMKgwqDCoMKgwqDCoMKgIGlzYigpOwo+IMKgfQo+ Cj4gQm9vdHdyYXBwZXIgY29tbWFuZCBsaW5lOgo+Cj4gLi9jb25maWd1cmUgXAo+IMKgwqDCoCAt LWhvc3Q9YWFyY2g2NC1saW51eC1nbnUgXAo+IMKgwqDCoCAtLXdpdGgta2VybmVsLWRpcj0ke0hP U1RfS0VSTkVMX0RJUn0gXAo+IMKgwqDCoCAtLXdpdGgtZHRiPSR7SE9TVF9LRVJORUxfRElSfS9h cmNoL2FybTY0L2Jvb3QvZHRzL2FybS9iYXNlX2dpY3YzLmR0YiBcCj4gwqDCoMKgIC0td2l0aC1j bWRsaW5lPSJlYXJseWNvbj1wbDAxMSwweDFjMDkwMDAwIGNvbnNvbGU9dHR5QU1BMAo+IGlycWNo aXAuZ2ljdjNfcHNldWRvX25taT0xIiBcCj4gwqDCoMKgIC0tZW5hYmxlLWdpY3YzIFwKPiDCoMKg wqAgLS1lbmFibGUtcHNjaSBcCj4gwqDCoMKgIC0td2l0aC1pbml0cmQ9JHtIT1NUX0JVSUxEUk9P VF9ESVJ9L291dHB1dC9pbWFnZXMvcm9vdGZzLmNwaW8uZ3oKPgo+IEkgd2FzIGFsc28gYWJsZSB0 byByZXByb2R1Y2UgaXQgb24gbXkgcm9ja3BybzY0LCBidXQgSSB3YXMgdXNpbmcgdGhlIHBzZXVk by1OTUkKPiBzZXJpZXMgdGhhdCBhbGxvd3MgdGhlbSB0byBiZSB1c2VkIG9uIHRoZSBib2FyZCBb MV0gYW5kIGEgbW9kaWZpZWQgZHRiIHRvIHJlbW92ZQo+IHRoZSBiaWcgY29yZXMuIEkgY2FuIHBv c3QgdGhlIGxvZyArIHdoYXRldmVyIGVsc2UgaXMgbmVlZCB0byByZXByb2R1Y2UgaXQsIGlmCj4g YW55b25lIHRoaW5rcyB0aGF0IHdvdWxkIGhlbHAuCj4KPiBbMV0gaHR0cHM6Ly9saXN0cy5pbmZy YWRlYWQub3JnL3BpcGVybWFpbC9saW51eC1hcm0ta2VybmVsLzIwMjAtSnVuZS81ODAxNDMuaHRt bAo+Cj4gVGhhbmtzLAo+Cj4gQWxleAo+Cj4gT24gNi8zMC8yMCA5OjE5IEFNLCBBcmQgQmllc2hl dXZlbCB3cm90ZToKPj4gV2hlbiBidWlsZGluZyB2ZXJ5IGxhcmdlIGtlcm5lbHMsIHRoZSBsb2dp YyB0aGF0IGVtaXRzIHJlcGxhY2VtZW50Cj4+IHNlcXVlbmNlcyBmb3IgYWx0ZXJuYXRpdmVzIGZh aWxzIHdoZW4gcmVsYXRpdmUgYnJhbmNoZXMgYXJlIHByZXNlbnQKPj4gaW4gdGhlIGNvZGUgdGhh dCBpcyBlbWl0dGVkIGludG8gdGhlIC5hbHRpbnN0cl9yZXBsYWNlbWVudCBzZWN0aW9uCj4+IGFu ZCBwYXRjaGVkIGluIGF0IHRoZSBvcmlnaW5hbCBzaXRlIGFuZCBmaXhlZCB1cC4gVGhlIHJlYXNv biBpcyB0aGF0Cj4+IHRoZSBsaW5rZXIgd2lsbCBpbnNlcnQgdmVuZWVycyBpZiByZWxhdGl2ZSBi cmFuY2hlcyBnbyBvdXQgb2YgcmFuZ2UsCj4+IGFuZCBkdWUgdG8gdGhlIHJlbGF0aXZlIGRpc3Rh bmNlIG9mIHRoZSAuYWx0aW5zdHJfcmVwbGFjZW1lbnQgZnJvbQo+PiB0aGUgLnRleHQgc2VjdGlv biB3aGVyZSBpdHMgYnJhbmNoIHRhcmdldHMgdXN1YWxseSBsaXZlLCB2ZW5lZXJzCj4+IG1heSBi ZSBlbWl0dGVkIGF0IHRoZSBlbmQgb2YgdGhlIC5hbHRpbnN0cl9yZXBsYWNlbWVudCBzZWN0aW9u LCB3aXRoCj4+IHRoZSByZWxhdGl2ZSBicmFuY2hlcyBpbiB0aGUgc2VxdWVuY2UgcG9pbnRlZCBh dCB0aGUgdmVuZWVycyBpbnN0ZWFkCj4+IG9mIHRoZSBhY3R1YWwgdGFyZ2V0Lgo+Pgo+PiBUaGUg YWx0ZXJuYXRpdmVzIHBhdGNoaW5nIGxvZ2ljIHdpbGwgYXR0ZW1wdCB0byBmaXggdXAgdGhlIGJy YW5jaCB0bwo+PiBwb2ludCB0byBpdHMgb3JpZ2luYWwgdGFyZ2V0LCB3aGljaCB3aWxsIGJlIHRo ZSB2ZW5lZXIgaW4gdGhpcyBjYXNlLAo+PiBidXQgZ2l2ZW4gdGhhdCB0aGUgcGF0Y2ggc2l0ZSBp cyBsaWtlbHkgdG8gYmUgZmFyIGF3YXkgYXMgd2VsbCwgaXQKPj4gd2lsbCBiZSBvdXQgb2YgcmFu Z2UgYW5kIHNvIHBhdGNoaW5nIHdpbGwgZmFpbC4gVGhlcmUgYXJlIG90aGVyIGNhc2VzCj4+IHdo ZXJlIHRoZXNlIHZlbmVlcnMgYXJlIHByb2JsZW1hdGljLCBlLmcuLCB3aGVuIHRoZSB0YXJnZXQg b2YgdGhlCj4+IGJyYW5jaCBpcyBpbiAudGV4dCB3aGlsZSB0aGUgcGF0Y2ggc2l0ZSBpcyBpbiAu aW5pdC50ZXh0LCBpbiB3aGljaAo+PiBjYXNlIHB1dHRpbmcgdGhlIHJlcGxhY2VtZW50IHNlcXVl bmNlIGluc2lkZSAudGV4dCBtYXkgbm90IGhlbHAgZWl0aGVyLgo+Pgo+PiBTbyBsZXQncyB1c2Ug c3Vic2VjdGlvbnMgdG8gZW1pdCB0aGUgcmVwbGFjZW1lbnQgY29kZSBhcyBjbG9zZWx5IGFzCj4+ IHBvc3NpYmxlIHRvIHRoZSBwYXRjaCBzaXRlLCB0byBlbnN1cmUgdGhhdCB2ZW5lZXJzIGFyZSBv bmx5IGxpa2VseSB0bwo+PiBiZSBlbWl0dGVkIGlmIHRoZXkgYXJlIHJlcXVpcmVkIGF0IHRoZSBw YXRjaCBzaXRlIGFzIHdlbGwsIGluIHdoaWNoCj4+IGNhc2UgdGhleSB3aWxsIGJlIGluIHJhbmdl IGZvciB0aGUgcmVwbGFjZW1lbnQgc2VxdWVuY2UgYm90aCBiZWZvcmUKPj4gYW5kIGFmdGVyIGl0 IGlzIHRyYW5zcG9ydGVkIHRvIHRoZSBwYXRjaCBzaXRlLgo+Pgo+PiBUaGlzIHdpbGwgcHJldmVu dCBhbHRlcm5hdGl2ZSBzZXF1ZW5jZXMgaW4gbm9uLWluaXQgY29kZSBmcm9tIGJlaW5nCj4+IHJl bGVhc2VkIGZyb20gbWVtb3J5IGFmdGVyIGJvb3QsIGJ1dCB0aGlzIGlzIHRvbGVyYWJsZSBnaXZl biB0aGF0IHRoZQo+PiBlbnRpcmUgc2VjdGlvbiBpcyBvbmx5IDUxMiBLQiBvbiBhbiBhbGx5ZXNj b25maWcgYnVpbGQgKHdoaWNoIHdlaWdocyBpbgo+PiBhdCA1MDArIE1CIGZvciB0aGUgZW50aXJl IEltYWdlKS4gQWxzbywgbm90ZSB0aGF0IG1vZHVsZXMgdG9kYXkgY2FycnkKPj4gdGhlIHJlcGxh Y2VtZW50IHNlcXVlbmNlcyBpbiBub24taW5pdCBzZWN0aW9ucyBhcyB3ZWxsLCBhbmQgYW55IG9m Cj4+IHRob3NlIHRoYXQgdGFyZ2V0IGluaXQgY29kZSB3aWxsIGJlIGVtaXR0ZWQgaW50byBpbml0 IHNlY3Rpb25zIGFmdGVyCj4+IHRoaXMgY2hhbmdlLgo+Pgo+PiBUaGlzIGZpeGVzIGFuIGVhcmx5 IGNyYXNoIHdoZW4gYm9vdGluZyBhbiBhbGx5ZXNjb25maWcga2VybmVsIG9uIGEKPj4gc3lzdGVt IHdoZXJlIGFueSBvZiB0aGUgYWx0ZXJuYXRpdmVzIHNlcXVlbmNlcyBjb250YWluaW5nIHJlbGF0 aXZlCj4+IGJyYW5jaGVzIGFyZSBhY3RpdmF0ZWQgYXQgYm9vdCAoZS5nLiwgQVJNNjRfSEFTX1BB TiBvbiBUWDIpCj4+Cj4+IENjOiBTdXp1a2kgSyBQb3Vsb3NlIDxzdXp1a2kucG91bG9zZUBhcm0u Y29tPgo+PiBDYzogSmFtZXMgTW9yc2UgPGphbWVzLm1vcnNlQGFybS5jb20+Cj4+IENjOiBBbmRy ZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPj4gQ2M6IERhdmUgUCBNYXJ0aW4g PGRhdmUubWFydGluQGFybS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEFyZCBCaWVzaGV1dmVsIDxh cmRiQGtlcm5lbC5vcmc+Cj4+IC0tLQo+PiAgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hbHRlcm5h dGl2ZS5oIHwgMTYgKysrKysrKystLS0tLS0tLQo+PiAgYXJjaC9hcm02NC9rZXJuZWwvdm1saW51 eC5sZHMuUyAgICAgIHwgIDMgLS0tCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KSwgMTEgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUv YXNtL2FsdGVybmF0aXZlLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2FsdGVybmF0aXZlLmgK Pj4gaW5kZXggNWU1ZGMwNWQ2M2EwLi4xMmYwZWI1NmExY2MgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gv YXJtNjQvaW5jbHVkZS9hc20vYWx0ZXJuYXRpdmUuaAo+PiArKysgYi9hcmNoL2FybTY0L2luY2x1 ZGUvYXNtL2FsdGVybmF0aXZlLmgKPj4gQEAgLTczLDExICs3MywxMSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVzX21vZHVsZSh2b2lkICpzdGFydCwgc2l6ZV90IGxlbmd0 aCkgeyB9Cj4+ICAJIi5wdXNoc2VjdGlvbiAuYWx0aW5zdHJ1Y3Rpb25zLFwiYVwiXG4iCQkJCVwK Pj4gIAlBTFRJTlNUUl9FTlRSWShmZWF0dXJlKQkJCQkJCVwKPj4gIAkiLnBvcHNlY3Rpb25cbiIJ CQkJCQkJXAo+PiAtCSIucHVzaHNlY3Rpb24gLmFsdGluc3RyX3JlcGxhY2VtZW50LCBcImFcIlxu IgkJCVwKPj4gKwkiLnN1YnNlY3Rpb24gMVxuIgkJCQkJCVwKPj4gIAkiNjYzOlxuXHQiCQkJCQkJ CVwKPj4gIAluZXdpbnN0ciAiXG4iCQkJCQkJCVwKPj4gIAkiNjY0OlxuXHQiCQkJCQkJCVwKPj4g LQkiLnBvcHNlY3Rpb25cblx0IgkJCQkJCVwKPj4gKwkiLnByZXZpb3VzXG5cdCIJCQkJCQkJXAo+ PiAgCSIub3JnCS4gLSAoNjY0Yi02NjNiKSArICg2NjJiLTY2MWIpXG5cdCIJCQlcCj4+ICAJIi5v cmcJLiAtICg2NjJiLTY2MWIpICsgKDY2NGItNjYzYilcbiIJCQlcCj4+ICAJIi5lbmRpZlxuIgo+ PiBAQCAtMTE3LDkgKzExNyw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhcHBseV9hbHRlcm5hdGl2 ZXNfbW9kdWxlKHZvaWQgKnN0YXJ0LCBzaXplX3QgbGVuZ3RoKSB7IH0KPj4gIDY2MjoJLnB1c2hz ZWN0aW9uIC5hbHRpbnN0cnVjdGlvbnMsICJhIgo+PiAgCWFsdGluc3RydWN0aW9uX2VudHJ5IDY2 MWIsIDY2M2YsIFxjYXAsIDY2MmItNjYxYiwgNjY0Zi02NjNmCj4+ICAJLnBvcHNlY3Rpb24KPj4g LQkucHVzaHNlY3Rpb24gLmFsdGluc3RyX3JlcGxhY2VtZW50LCAiYXgiCj4+ICsJLnN1YnNlY3Rp b24gMQo+PiAgNjYzOglcaW5zbjIKPj4gLTY2NDoJLnBvcHNlY3Rpb24KPj4gKzY2NDoJLnByZXZp b3VzCj4+ICAJLm9yZwkuIC0gKDY2NGItNjYzYikgKyAoNjYyYi02NjFiKQo+PiAgCS5vcmcJLiAt ICg2NjJiLTY2MWIpICsgKDY2NGItNjYzYikKPj4gIAkuZW5kaWYKPj4gQEAgLTE2MCw3ICsxNjAs NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVzX21vZHVsZSh2b2lkICpz dGFydCwgc2l6ZV90IGxlbmd0aCkgeyB9Cj4+ICAJLnB1c2hzZWN0aW9uIC5hbHRpbnN0cnVjdGlv bnMsICJhIgo+PiAgCWFsdGluc3RydWN0aW9uX2VudHJ5IDY2M2YsIDY2MWYsIFxjYXAsIDY2NGYt NjYzZiwgNjYyZi02NjFmCj4+ICAJLnBvcHNlY3Rpb24KPj4gLQkucHVzaHNlY3Rpb24gLmFsdGlu c3RyX3JlcGxhY2VtZW50LCAiYXgiCj4+ICsJLnN1YnNlY3Rpb24gMQo+PiAgCS5hbGlnbiAyCS8q IFNvIEdBUyBrbm93cyBsYWJlbCA2NjEgaXMgc3VpdGFibHkgYWxpZ25lZCAqLwo+PiAgNjYxOgo+ PiAgLmVuZG0KPj4gQEAgLTE3OSw5ICsxNzksOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwbHlf YWx0ZXJuYXRpdmVzX21vZHVsZSh2b2lkICpzdGFydCwgc2l6ZV90IGxlbmd0aCkgeyB9Cj4+ICAu bWFjcm8gYWx0ZXJuYXRpdmVfZWxzZQo+PiAgNjYyOgo+PiAgCS5pZiAuTGFzbV9hbHRfbW9kZT09 MAo+PiAtCS5wdXNoc2VjdGlvbiAuYWx0aW5zdHJfcmVwbGFjZW1lbnQsICJheCIKPj4gKwkuc3Vi c2VjdGlvbiAxCj4+ICAJLmVsc2UKPj4gLQkucG9wc2VjdGlvbgo+PiArCS5wcmV2aW91cwo+PiAg CS5lbmRpZgo+PiAgNjYzOgo+PiAgLmVuZG0KPj4gQEAgLTE5Miw3ICsxOTIsNyBAQCBzdGF0aWMg aW5saW5lIHZvaWQgYXBwbHlfYWx0ZXJuYXRpdmVzX21vZHVsZSh2b2lkICpzdGFydCwgc2l6ZV90 IGxlbmd0aCkgeyB9Cj4+ICAubWFjcm8gYWx0ZXJuYXRpdmVfZW5kaWYKPj4gIDY2NDoKPj4gIAku aWYgLkxhc21fYWx0X21vZGU9PTAKPj4gLQkucG9wc2VjdGlvbgo+PiArCS5wcmV2aW91cwo+PiAg CS5lbmRpZgo+PiAgCS5vcmcJLiAtICg2NjRiLTY2M2IpICsgKDY2MmItNjYxYikKPj4gIAkub3Jn CS4gLSAoNjYyYi02NjFiKSArICg2NjRiLTY2M2IpCj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0 L2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9hcm02NC9rZXJuZWwvdm1saW51eC5sZHMuUwo+ PiBpbmRleCA2ODI3ZGE3ZjNhYTUuLjU0MjNmZmUwYTk4NyAxMDA2NDQKPj4gLS0tIGEvYXJjaC9h cm02NC9rZXJuZWwvdm1saW51eC5sZHMuUwo+PiArKysgYi9hcmNoL2FybTY0L2tlcm5lbC92bWxp bnV4Lmxkcy5TCj4+IEBAIC0xNjUsOSArMTY1LDYgQEAgU0VDVElPTlMKPj4gIAkJKiguYWx0aW5z dHJ1Y3Rpb25zKQo+PiAgCQlfX2FsdF9pbnN0cnVjdGlvbnNfZW5kID0gLjsKPj4gIAl9Cj4+IC0J LmFsdGluc3RyX3JlcGxhY2VtZW50IDogewo+PiAtCQkqKC5hbHRpbnN0cl9yZXBsYWNlbWVudCkK Pj4gLQl9Cj4+ICAKPj4gIAkuID0gQUxJR04oU0VHTUVOVF9BTElHTik7Cj4+ICAJX19pbml0dGV4 dF9lbmQgPSAuOwo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKPiBsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK