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=-20.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable 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 67C37C47082 for ; Tue, 8 Jun 2021 11:24:57 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 354766101A for ; Tue, 8 Jun 2021 11:24:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 354766101A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To:MIME-Version: Date:Message-ID:From:Cc:To:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=c7AODHcgnNNVBiAP6KStf7OrJA5pTs91hO1oR/7K07M=; b=Tzg3x0PqIKYT45 yB5x+NS2NjUb9VslFLAVBwP/0rnrLDr7OkA3tTpTPI6Siqo7va49TA5Z8C0vZbua+sVMI13csirMh lpTT4wMa5oUsbVmcyLpy36pF+18Mheede2zZbgWhu9FcDW2rOY1PFKP117zZ9cbtjyMAVhaydlWC7 VR4E8tFQbPyW8SWNVDFG/Tg9uCbIN6HbrgPILbcON35fUnRjSc8RgnklvAFsxpe7N8bFzba7bbzrL +tI545W7G2tGNMQFr+W/uA5iaGmGK7nqlPrTX3HwFKnCtQN4MKRbxwsnY0kQnE5EJm67RtWFnMzh7 9l4Nz1XovvXXxq8T38rg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqZnm-007yf0-BY; Tue, 08 Jun 2021 11:21:47 +0000 Received: from mailout1.w1.samsung.com ([210.118.77.11]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqZhr-007vTA-4H for linux-arm-kernel@lists.infradead.org; Tue, 08 Jun 2021 11:15:44 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20210608111535euoutp0184e137c6b514f2ae661c8a4ac1e719e5~Glyz4F-Lm2277222772euoutp016 for ; Tue, 8 Jun 2021 11:15:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20210608111535euoutp0184e137c6b514f2ae661c8a4ac1e719e5~Glyz4F-Lm2277222772euoutp016 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1623150935; bh=eqhH0ePZ/Lt0/MDubJaKuxwzcaa8sMBBRU+/nKeUfH8=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=pQL75lZSdtsYKP1/MO/qsr2SINnWYP2QscZh2ehTM1GhfaA5QV1iQAL2NlwYr0QLu y56rGIpjKUFSk7dFLBBckev9bx4JtUlMtj60SbZKGeCG7O02PaVnAhc5k1QNPx5fgY ooV99BoGaP7RLVmrC5YFm6V4qxnqxbb4TydkeAao= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20210608111534eucas1p157dcbca9d5cbd7fff3c21ef75fac4b1e~GlyzhZ27K2095020950eucas1p1s; Tue, 8 Jun 2021 11:15:34 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 9A.81.09452.6515FB06; Tue, 8 Jun 2021 12:15:34 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20210608111534eucas1p2964e360336878b9e7a791c0fbeb12940~GlyzFCMvp1410814108eucas1p2k; Tue, 8 Jun 2021 11:15:34 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20210608111534eusmtrp2df2623a5e0a764305ca5a731c18f52de~GlyzEL88r0071800718eusmtrp2i; Tue, 8 Jun 2021 11:15:34 +0000 (GMT) X-AuditID: cbfec7f2-ab7ff700000024ec-27-60bf515637c3 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 6F.D9.08696.6515FB06; Tue, 8 Jun 2021 12:15:34 +0100 (BST) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20210608111533eusmtip1399afe58db5f8ef107c7a4a493e64ea3~Glyyadmej2866928669eusmtip1g; Tue, 8 Jun 2021 11:15:33 +0000 (GMT) Subject: Re: [PATCH v2 6/8] arm64: Import latest memcpy()/memmove() implementation To: Robin Murphy , will@kernel.org, catalin.marinas@arm.com, Neil Armstrong Cc: linux-arm-kernel@lists.infradead.org, mark.rutland@arm.com, linux-amlogic@lists.infradead.org, Bartlomiej Zolnierkiewicz From: Marek Szyprowski Message-ID: Date: Tue, 8 Jun 2021 13:15:33 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 MIME-Version: 1.0 In-Reply-To: <3c953af43506581b2422f61952261e76949ba711.1622128527.git.robin.murphy@arm.com> Content-Language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrIKsWRmVeSWpSXmKPExsWy7djP87phgfsTDA51aVhsnLGe1eL9sh5G iwWzuS02Pb7GarH0+kUmi0N90RYHPzxhtWi5Y+rA4bFm3hpGj/c3Wtk9Nq3qZPPYvKTeo2/L KsYA1igum5TUnMyy1CJ9uwSujL2XLrIWnO1irFjb2sbYwHgqu4uRg0NCwERi00L1LkYuDiGB FYwSv64vZ4ZwvjBKrF0zAcr5zCjxYWU7SxcjJ1jHy+vtTBCJ5YwSN5tWQ1V9ZJTo+PWMGaRK WCBE4saXlUwgtohArcTKH5NYQIqYBWYzSvy59wgswSZgKNH1tosNxOYVsJM4MHkvWJxFQEWi p20ZI8iBogLJEr836kKUCEqcnPkE7ApOgWiJdb/a2EFsZgF5ieats5khbHGJW0/mg10nIfCA Q6L/wzOos10kjp55yQphC0u8Or6FHcKWkfi/E6ahmVHi4bm17BBOD6PE5aYZjBBV1hJ3zv1i A7mIWUBTYv0ufYiwo8TFvVeZISHJJ3HjrSDEEXwSk7ZNhwrzSnS0CUFUq0nMOr4Obu3BC5eY JzAqzULy2iwk78xC8s4shL0LGFlWMYqnlhbnpqcWG+allusVJ+YWl+al6yXn525iBKai0/+O f9rBOPfVR71DjEwcjIcYJTiYlUR4ywz3JQjxpiRWVqUW5ccXleakFh9ilOZgURLnXTV7TbyQ QHpiSWp2ampBahFMlomDU6qBqfv5e2YRjV/TQx3YTq6Uvxq17ECZask+/tP2kbLus77k751z +eiKt7dbStMuFe9uioj+Hngg9q8e/zRLMyOFty4z5VcdrpNlnyxloszfE3j1HvfGp1uuZYpE P3PSUdTfyK8hHdSwVXOJym7HTXvcFFt+ccr0igg2F/cpHFQzi21V5PSutrU9d7/7wudTWw0b m7oXKFeZau+/LxY92bVMW/bttj0LMjrzZ23b+kaiV+VLxGM+V8byNv9/pvPW7v57MqjBpSYg v0zLUXOda87uc24bHPz1fzIeMUlKYbh33tp40vdnZpcCp6YXXzZcV5+pIyA+e4nBlQU80y5J qbV8WH7D+of/ldM7JL8o+ixXYinOSDTUYi4qTgQAdVsWB7QDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKIsWRmVeSWpSXmKPExsVy+t/xu7phgfsTDLoWsVpsnLGe1eL9sh5G iwWzuS02Pb7GarH0+kUmi0N90RYHPzxhtWi5Y+rA4bFm3hpGj/c3Wtk9Nq3qZPPYvKTeo2/L KsYA1ig9m6L80pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9 jL2XLrIWnO1irFjb2sbYwHgqu4uRk0NCwETi5fV2pi5GLg4hgaWMErP+rmeBSMhInJzWwAph C0v8udbFBlH0nlFiU+dhNpCEsECIxI0vK5lAbBGBWond/1axgBQxC8xmlLj3+wgrREcHo8SC w0/YQarYBAwlut52gXXzCthJHJi8F6ybRUBFoqdtGSOILSqQLLGh/T8rRI2gxMmZT8BO4hSI llj3qw1sDrOAmcS8zQ+ZIWx5ieats6FscYlbT+YzTWAUmoWkfRaSlllIWmYhaVnAyLKKUSS1 tDg3PbfYSK84Mbe4NC9dLzk/dxMjMP62Hfu5ZQfjylcf9Q4xMnEwHmKU4GBWEuEtM9yXIMSb klhZlVqUH19UmpNafIjRFOificxSosn5wASQVxJvaGZgamhiZmlgamlmrCTOa3JkTbyQQHpi SWp2ampBahFMHxMHp1QDk+gkgYOG36wOLrD1EZXNfjyx+d60sl6vy00qJi9PaDPrWqbuEQg3 i9OKn/nuOd+NjgvLRF48Kj2fHnpiprRG1JGz2oW1uYJ5x1fyak2zMo7afylvdbum0cytYYsr BHcv7uvryU9xrn55xz7xUl8mP9eFrQ+5T5kvnNC7Y78Q38oDzm9N3/3Mk5lnuOqB1SmrHU5a plYtsdPmBb/bGdlfbT9DhGP+zmVOX48n3NlhZHPp7DF2qXumE6XfvnZ5/Tu67QdPr2Z4SX/s 5wkeUeVGje6dTyUnz3GRfjtr6WWtryePBU8QsW21rdNxEXp67tRezRrln7FMLca/X+Yc/lWb 91/odCuD9YUQlhNBBTuXKLEUZyQaajEXFScCAGonuRtIAwAA X-CMS-MailID: 20210608111534eucas1p2964e360336878b9e7a791c0fbeb12940 X-Msg-Generator: CA X-RootMTR: 20210608111534eucas1p2964e360336878b9e7a791c0fbeb12940 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20210608111534eucas1p2964e360336878b9e7a791c0fbeb12940 References: <3c953af43506581b2422f61952261e76949ba711.1622128527.git.robin.murphy@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210608_041539_476565_D4641106 X-CRM114-Status: GOOD ( 32.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 SGkgUm9iaW4sCgpPbiAyNy4wNS4yMDIxIDE3OjM0LCBSb2JpbiBNdXJwaHkgd3JvdGU6Cj4gSW1w b3J0IHRoZSBsYXRlc3QgaW1wbGVtZW50YXRpb24gb2YgbWVtY3B5KCksIGJhc2VkIG9uIHRoZQo+ IHVwc3RyZWFtIGNvZGUgb2Ygc3RyaW5nL2FhcmNoNjQvbWVtY3B5LlMgYXQgY29tbWl0IGFmZDYy NDQgZnJvbQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9BUk0tc29mdHdhcmUvb3B0aW1pemVkLXJvdXRp bmVzLCBhbmQgc3Vic3VtaW5nCj4gbWVtbW92ZSgpIGluIHRoZSBwcm9jZXNzLgo+Cj4gTm90ZSB0 aGF0IGZvciBzaW1wbGljaXR5IEFybSBoYXZlIGNob3NlbiB0byBjb250cmlidXRlIHRoaXMgY29k ZQo+IHRvIExpbnV4IHVuZGVyIEdQTHYyIHJhdGhlciB0aGFuIHRoZSBvcmlnaW5hbCBNSVQgbGlj ZW5zZS4KPgo+IE5vdGUgYWxzbyB0aGF0IHRoZSBuZWVkcyBvZiB0aGUgdXNlcmNvcHkgcm91dGlu ZXMgdnMuIHJlZ3VsYXIgbWVtY3B5KCkKPiBoYXZlIG5vdyBkaXZlcmdlZCBzbyBmYXIgdGhhdCB3 ZSBhYmFuZG9uIHRoZSBzaGFyZWQgdGVtcGxhdGUgaWRlYQo+IGFuZCB0aGUgZGFtYWdlIHdoaWNo IHRoYXQgaW5jdXJyZWQgdG8gdGhlIHR1bmluZyBvZiBMRFAvU1RQIGxvb3BzLgo+IFdlJ2xsIGJl IGJhY2sgdG8gdGFja2xlIHRob3NlIHJvdXRpbmVzIHNlcGFyYXRlbHkgaW4gZnV0dXJlLgo+Cj4g U2lnbmVkLW9mZi1ieTogUm9iaW4gTXVycGh5IDxyb2Jpbi5tdXJwaHlAYXJtLmNvbT4KClRoaXMg cGF0Y2ggbGFuZGVkIHJlY2VudGx5IGluIGxpbnV4LW5leHQgYXMgY29tbWl0IDI4NTEzMzA0MGU2 YyAoImFybTY0OiAKSW1wb3J0IGxhdGVzdCBtZW1jcHkoKS9tZW1tb3ZlKCkgaW1wbGVtZW50YXRp b24iKS4gU2FkbHkgaXQgY2F1c2VzIApzZXJpb3VzIGlzc3VlcyBvbiBLaGFkYXMgVklNMyBib2Fy ZC4gUmV2ZXJ0aW5nIGl0IG9uIHRvcCBvZiBsaW51eCAKbmV4dC0yMDIxMDYwNyAodG9nZXRoZXIg d2l0aCA2YjhmNjQ4OTU5ZTUgYW5kIHJlc29sdmluZyB0aGUgY29uZmxpY3QgaW4gCnRoZSBNYWtl ZmlsZSkgZml4ZXMgdGhlIGlzc3VlLiBIZXJlIGlzIHRoZSBrZXJuZWwgbG9nOgoKVW5hYmxlIHRv IGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIGZmZmY4MDAw MTM2YmQyMDQKTWVtIGFib3J0IGluZm86CiDCoCBFU1IgPSAweDk2MDAwMDYxCiDCoCBFQyA9IDB4 MjU6IERBQlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKIMKgIFNFVCA9IDAsIEZuViA9IDAK IMKgIEVBID0gMCwgUzFQVFcgPSAwCkRhdGEgYWJvcnQgaW5mbzoKIMKgIElTViA9IDAsIElTUyA9 IDB4MDAwMDAwNjEKIMKgIENNID0gMCwgV25SID0gMQpzd2FwcGVyIHBndGFibGU6IDRrIHBhZ2Vz LCA0OC1iaXQgVkFzLCBwZ2RwPTAwMDAwMDAwMDlkYTYwMDAKW2ZmZmY4MDAwMTM2YmQyMDRdIHBn ZD0xMDAwMDAwMGY0ODA2MDAzLCBwNGQ9MTAwMDAwMDBmNDgwNjAwMywgCnB1ZD0xMDAwMDAwMGY0 ODA1MDAzLCBwbWQ9MTAwMDAwMDAwMDM2NTAwMywgcHRlPTAwNjgwMDAwZmZlMDM3MTMKSW50ZXJu YWwgZXJyb3I6IE9vcHM6IDk2MDAwMDYxIFsjMV0gUFJFRU1QVCBTTVAKTW9kdWxlcyBsaW5rZWQg aW46IGJyY21mbWFjIGJyY211dGlsIGNmZzgwMjExIGR3X2hkbWlfaTJzX2F1ZGlvIAptZXNvbl9n eGwgaGNpX3VhcnQgYnRxY2EgYnRiY20gYmx1ZXRvb3RoIHBhbmZyb3N0IGVjZGhfZ2VuZXJpYyBl Y2MgCnNuZF9zb2NfbWVzb25fYXhnX3NvdW5kX2NhcmQgY3JjdDEwZGlmX2NlIHNuZF9zb2NfbWVz b25fY2FyZF91dGlscyAKcmZraWxsIHJ0Y19oeW04NTYzIGdwdV9zY2hlZCBkd21hY19nZW5lcmlj IHJjX2toYWRhcyBtZXNvbl9neGJiX3dkdCAKbWVzb25faXIgcHdtX21lc29uIHNuZF9zb2NfbWVz b25fYXhnX3RkbWluIHNuZF9zb2NfbWVzb25fZzEyYV90b2hkbWl0eCAKcnRjX21lc29uX3ZydGMg c25kX3NvY19tZXNvbl9heGdfdGRtb3V0IHNuZF9zb2NfbWVzb25fYXhnX2ZyZGRyIApyZXNldF9t ZXNvbl9hdWRpb19hcmIgc25kX3NvY19tZXNvbl9jb2RlY19nbHVlIGF4Z19hdWRpbyBtZXNvbl9y bmcgCnNjbGtfZGl2IGR3bWFjX21lc29uOGIgc25kX3NvY19tZXNvbl9heGdfdG9kZHIgbWRpb19t dXhfbWVzb25fZzEyYSAKY2xrX3BoYXNlIHN0bW1hY19wbGF0Zm9ybSBybmdfY29yZSBzbmRfc29j X21lc29uX2F4Z19maWZvIG1lc29uX2R3X2hkbWkgCnN0bW1hYyBtZXNvbl9kcm0gbWVzb25fY2Fu dmFzIGR3X2hkbWkgcGNzX3hwY3MgZGlzcGxheV9jb25uZWN0b3IgCnNuZF9zb2NfbWVzb25fYXhn X3RkbV9pbnRlcmZhY2UgbnZtZW1fbWVzb25fZWZ1c2UgYWRjX2tleXMgCnNuZF9zb2NfbWVzb25f YXhnX3RkbV9mb3JtYXR0ZXIKQ1BVOiA0IFBJRDogMTM1IENvbW06IGt3b3JrZXIvNDozIE5vdCB0 YWludGVkIDUuMTMuMC1yYzUtbmV4dC0yMDIxMDYwNyAKIzEwNDQxCkhhcmR3YXJlIG5hbWU6IEto YWRhcyBWSU0zIChEVCkKV29ya3F1ZXVlOiBldmVudHMgcmVxdWVzdF9maXJtd2FyZV93b3JrX2Z1 bmMKcHN0YXRlOiAyMDAwMDAwNSAobnpDdiBkYWlmIC1QQU4gLVVBTyAtVENPIEJUWVBFPS0tKQpw YyA6IF9fbWVtY3B5KzB4MmMvMHgyNjAKbHIgOiBzZ19jb3B5X2J1ZmZlcisweDkwLzB4MTE4Ci4u LgpDYWxsIHRyYWNlOgogwqBfX21lbWNweSsweDJjLzB4MjYwCiDCoHNnX2NvcHlfdG9fYnVmZmVy KzB4MTQvMHgyMAogwqBtZXNvbl9tbWNfc3RhcnRfY21kKzB4ZjQvMHgyYzgKIMKgbWVzb25fbW1j X3JlcXVlc3QrMHg0Yy8weGI4CiDCoF9fbW1jX3N0YXJ0X3JlcXVlc3QrMHhhNC8weDJhOAogwqBt bWNfc3RhcnRfcmVxdWVzdCsweDgwLzB4YTgKIMKgbW1jX3dhaXRfZm9yX3JlcSsweDY4LzB4ZDgK IMKgbW1jX2lvX3J3X2V4dGVuZGVkKzB4MWQ0LzB4MmUwCiDCoHNkaW9faW9fcndfZXh0X2hlbHBl cisweGIwLzB4MWU4CiDCoHNkaW9fbWVtY3B5X3RvaW8rMHgyMC8weDI4CiDCoGJyY21mX3NkaW9k X3NrYnVmZl93cml0ZS5pc3JhLjE4KzB4MmMvMHg2OCBbYnJjbWZtYWNdCiDCoGJyY21mX3NkaW9k X3JhbXJ3KzB4ZTAvMHgyMzAgW2JyY21mbWFjXQogwqBicmNtZl9zZGlvX2Zpcm13YXJlX2NhbGxi YWNrKzB4YTgvMHg3YzggW2JyY21mbWFjXQogwqBicmNtZl9md19yZXF1ZXN0X2RvbmUrMHg3Yy8w eDEwMCBbYnJjbWZtYWNdCiDCoHJlcXVlc3RfZmlybXdhcmVfd29ya19mdW5jKzB4NGMvMHhkOAog wqBwcm9jZXNzX29uZV93b3JrKzB4MmE4LzB4NzE4CiDCoHdvcmtlcl90aHJlYWQrMHg0OC8weDQ2 MAogwqBrdGhyZWFkKzB4MTJjLzB4MTYwCiDCoHJldF9mcm9tX2ZvcmsrMHgxMC8weDE4CkNvZGU6 IDU0MDAwMGMzIGE5NDAxYzI2IGE5N2YzNDhjIGE5MDAxYzA2IChhOTNmMzRhYykKLS0tWyBlbmQg dHJhY2UgYmU4M2ZhMjgzZGM4MjQxNSBdLS0tCgpJIGhvcGUgdGhhdCB0aGUgYWJvdmUgbG9nIGhl bHBzIGZpeGluZyB0aGUgaXNzdWUuIElJUkMgdGhlIFNESENJIGRyaXZlciAKb24gVklNMyBib2Fy ZCB1c2VzIGludGVybmFsIFNSQU0gZm9yIHRyYW5zZmVycmluZyBkYXRhIChpbnN0ZWFkIG9mIERN QSksIApzbyB0aGUgaXNzdWUgaXMgc29tZWhvdyByZWxhdGVkIHRvIHRoYXQuCgo+IC0tLQo+ICAg YXJjaC9hcm02NC9saWIvTWFrZWZpbGUgIHwgICAyICstCj4gICBhcmNoL2FybTY0L2xpYi9tZW1j cHkuUyAgfCAyNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gICBh cmNoL2FybTY0L2xpYi9tZW1tb3ZlLlMgfCAxODkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gICAzIGZpbGVzIGNoYW5nZWQsIDIzMCBpbnNlcnRpb25zKCspLCAyMzMgZGVsZXRpb25zKC0p Cj4gICBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9saWIvbWVtbW92ZS5TCj4KPiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm02NC9saWIvTWFrZWZpbGUgYi9hcmNoL2FybTY0L2xpYi9NYWtlZmls ZQo+IGluZGV4IGQzMWUxMTY5ZDliOC4uMDFjNTk2YWE1MzljIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtNjQvbGliL01ha2VmaWxlCj4gKysrIGIvYXJjaC9hcm02NC9saWIvTWFrZWZpbGUKPiBAQCAt MSw3ICsxLDcgQEAKPiAgICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgIGxp Yi15CQk6PSBjbGVhcl91c2VyLm8gZGVsYXkubyBjb3B5X2Zyb21fdXNlci5vCQlcCj4gICAJCSAg IGNvcHlfdG9fdXNlci5vIGNvcHlfaW5fdXNlci5vIGNvcHlfcGFnZS5vCQlcCj4gLQkJICAgY2xl YXJfcGFnZS5vIGNzdW0ubyBtZW1jaHIubyBtZW1jcHkubyBtZW1tb3ZlLm8JXAo+ICsJCSAgIGNs ZWFyX3BhZ2UubyBjc3VtLm8gbWVtY2hyLm8gbWVtY3B5Lm8JCVwKPiAgIAkJICAgbWVtc2V0Lm8g bWVtY21wLm8gc3RyY21wLm8gc3RybmNtcC5vIHN0cmxlbi5vCVwKPiAgIAkJICAgc3Rybmxlbi5v IHN0cmNoci5vIHN0cnJjaHIubyB0aXNoaWZ0Lm8KPiAgIAo+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bTY0L2xpYi9tZW1jcHkuUyBiL2FyY2gvYXJtNjQvbGliL21lbWNweS5TCj4gaW5kZXggZGM4ZDJh MjE2YTZlLi4zMTA3M2E4MzA0ZmIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9saWIvbWVtY3B5 LlMKPiArKysgYi9hcmNoL2FybTY0L2xpYi9tZW1jcHkuUwo+IEBAIC0xLDY2ICsxLDI1MiBAQAo+ ICAgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwo+ICAgLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDEzIEFSTSBMdGQuCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBM aW5hcm8uCj4gKyAqIENvcHlyaWdodCAoYykgMjAxMi0yMDIwLCBBcm0gTGltaXRlZC4KPiAgICAq Cj4gLSAqIFRoaXMgY29kZSBpcyBiYXNlZCBvbiBnbGliYyBjb3J0ZXggc3RyaW5ncyB3b3JrIG9y aWdpbmFsbHkgYXV0aG9yZWQgYnkgTGluYXJvCj4gLSAqIGJlIGZvdW5kIEAKPiAtICoKPiAtICog aHR0cDovL2JhemFhci5sYXVuY2hwYWQubmV0L35saW5hcm8tdG9vbGNoYWluLWRldi9jb3J0ZXgt c3RyaW5ncy90cnVuay8KPiAtICogZmlsZXMvaGVhZDovc3JjL2FhcmNoNjQvCj4gKyAqIEFkYXB0 ZWQgZnJvbSB0aGUgb3JpZ2luYWwgYXQ6Cj4gKyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9BUk0tc29m dHdhcmUvb3B0aW1pemVkLXJvdXRpbmVzL2Jsb2IvbWFzdGVyL3N0cmluZy9hYXJjaDY0L21lbWNw eS5TCj4gICAgKi8KPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KPiAgICNpbmNs dWRlIDxhc20vYXNzZW1ibGVyLmg+Cj4gLSNpbmNsdWRlIDxhc20vY2FjaGUuaD4KPiAgIAo+IC0v Kgo+IC0gKiBDb3B5IGEgYnVmZmVyIGZyb20gc3JjIHRvIGRlc3QgKGFsaWdubWVudCBoYW5kbGVk IGJ5IHRoZSBoYXJkd2FyZSkKPiArLyogQXNzdW1wdGlvbnM6Cj4gKyAqCj4gKyAqIEFSTXY4LWEs IEFBcmNoNjQsIHVuYWxpZ25lZCBhY2Nlc3Nlcy4KPiAgICAqCj4gLSAqIFBhcmFtZXRlcnM6Cj4g LSAqCXgwIC0gZGVzdAo+IC0gKgl4MSAtIHNyYwo+IC0gKgl4MiAtIG4KPiAtICogUmV0dXJuczoK PiAtICoJeDAgLSBkZXN0Cj4gICAgKi8KPiAtCS5tYWNybyBsZHJiMSByZWcsIHB0ciwgdmFsCj4g LQlsZHJiICBccmVnLCBbXHB0cl0sIFx2YWwKPiAtCS5lbmRtCj4gICAKPiAtCS5tYWNybyBzdHJi MSByZWcsIHB0ciwgdmFsCj4gLQlzdHJiIFxyZWcsIFtccHRyXSwgXHZhbAo+IC0JLmVuZG0KPiAr I2RlZmluZSBMKGxhYmVsKSAuTCAjIyBsYWJlbAo+ICAgCj4gLQkubWFjcm8gbGRyaDEgcmVnLCBw dHIsIHZhbAo+IC0JbGRyaCAgXHJlZywgW1xwdHJdLCBcdmFsCj4gLQkuZW5kbQo+ICsjZGVmaW5l IGRzdGluCXgwCj4gKyNkZWZpbmUgc3JjCXgxCj4gKyNkZWZpbmUgY291bnQJeDIKPiArI2RlZmlu ZSBkc3QJeDMKPiArI2RlZmluZSBzcmNlbmQJeDQKPiArI2RlZmluZSBkc3RlbmQJeDUKPiArI2Rl ZmluZSBBX2wJeDYKPiArI2RlZmluZSBBX2x3CXc2Cj4gKyNkZWZpbmUgQV9oCXg3Cj4gKyNkZWZp bmUgQl9sCXg4Cj4gKyNkZWZpbmUgQl9sdwl3OAo+ICsjZGVmaW5lIEJfaAl4OQo+ICsjZGVmaW5l IENfbAl4MTAKPiArI2RlZmluZSBDX2x3CXcxMAo+ICsjZGVmaW5lIENfaAl4MTEKPiArI2RlZmlu ZSBEX2wJeDEyCj4gKyNkZWZpbmUgRF9oCXgxMwo+ICsjZGVmaW5lIEVfbAl4MTQKPiArI2RlZmlu ZSBFX2gJeDE1Cj4gKyNkZWZpbmUgRl9sCXgxNgo+ICsjZGVmaW5lIEZfaAl4MTcKPiArI2RlZmlu ZSBHX2wJY291bnQKPiArI2RlZmluZSBHX2gJZHN0Cj4gKyNkZWZpbmUgSF9sCXNyYwo+ICsjZGVm aW5lIEhfaAlzcmNlbmQKPiArI2RlZmluZSB0bXAxCXgxNAo+ICAgCj4gLQkubWFjcm8gc3RyaDEg cmVnLCBwdHIsIHZhbAo+IC0Jc3RyaCBccmVnLCBbXHB0cl0sIFx2YWwKPiAtCS5lbmRtCj4gKy8q IFRoaXMgaW1wbGVtZW50YXRpb24gaGFuZGxlcyBvdmVybGFwcyBhbmQgc3VwcG9ydHMgYm90aCBt ZW1jcHkgYW5kIG1lbW1vdmUKPiArICAgZnJvbSBhIHNpbmdsZSBlbnRyeSBwb2ludC4gIEl0IHVz ZXMgdW5hbGlnbmVkIGFjY2Vzc2VzIGFuZCBicmFuY2hsZXNzCj4gKyAgIHNlcXVlbmNlcyB0byBr ZWVwIHRoZSBjb2RlIHNtYWxsLCBzaW1wbGUgYW5kIGltcHJvdmUgcGVyZm9ybWFuY2UuCj4gICAK PiAtCS5tYWNybyBsZHIxIHJlZywgcHRyLCB2YWwKPiAtCWxkciBccmVnLCBbXHB0cl0sIFx2YWwK PiAtCS5lbmRtCj4gKyAgIENvcGllcyBhcmUgc3BsaXQgaW50byAzIG1haW4gY2FzZXM6IHNtYWxs IGNvcGllcyBvZiB1cCB0byAzMiBieXRlcywgbWVkaXVtCj4gKyAgIGNvcGllcyBvZiB1cCB0byAx MjggYnl0ZXMsIGFuZCBsYXJnZSBjb3BpZXMuICBUaGUgb3ZlcmhlYWQgb2YgdGhlIG92ZXJsYXAK PiArICAgY2hlY2sgaXMgbmVnbGlnaWJsZSBzaW5jZSBpdCBpcyBvbmx5IHJlcXVpcmVkIGZvciBs YXJnZSBjb3BpZXMuCj4gICAKPiAtCS5tYWNybyBzdHIxIHJlZywgcHRyLCB2YWwKPiAtCXN0ciBc cmVnLCBbXHB0cl0sIFx2YWwKPiAtCS5lbmRtCj4gLQo+IC0JLm1hY3JvIGxkcDEgcmVnMSwgcmVn MiwgcHRyLCB2YWwKPiAtCWxkcCBccmVnMSwgXHJlZzIsIFtccHRyXSwgXHZhbAo+IC0JLmVuZG0K PiAtCj4gLQkubWFjcm8gc3RwMSByZWcxLCByZWcyLCBwdHIsIHZhbAo+IC0Jc3RwIFxyZWcxLCBc cmVnMiwgW1xwdHJdLCBcdmFsCj4gLQkuZW5kbQo+ICsgICBMYXJnZSBjb3BpZXMgdXNlIGEgc29m dHdhcmUgcGlwZWxpbmVkIGxvb3AgcHJvY2Vzc2luZyA2NCBieXRlcyBwZXIgaXRlcmF0aW9uLgo+ ICsgICBUaGUgZGVzdGluYXRpb24gcG9pbnRlciBpcyAxNi1ieXRlIGFsaWduZWQgdG8gbWluaW1p emUgdW5hbGlnbmVkIGFjY2Vzc2VzLgo+ICsgICBUaGUgbG9vcCB0YWlsIGlzIGhhbmRsZWQgYnkg YWx3YXlzIGNvcHlpbmcgNjQgYnl0ZXMgZnJvbSB0aGUgZW5kLgo+ICsqLwo+ICAgCj4gK1NZTV9G VU5DX1NUQVJUX0FMSUFTKF9fbWVtbW92ZSkKPiArU1lNX0ZVTkNfU1RBUlRfV0VBS19BTElBU19Q SShtZW1tb3ZlKQo+ICAgU1lNX0ZVTkNfU1RBUlRfQUxJQVMoX19tZW1jcHkpCj4gICBTWU1fRlVO Q19TVEFSVF9XRUFLX1BJKG1lbWNweSkKPiAtI2luY2x1ZGUgImNvcHlfdGVtcGxhdGUuUyIKPiAr CWFkZAlzcmNlbmQsIHNyYywgY291bnQKPiArCWFkZAlkc3RlbmQsIGRzdGluLCBjb3VudAo+ICsJ Y21wCWNvdW50LCAxMjgKPiArCWIuaGkJTChjb3B5X2xvbmcpCj4gKwljbXAJY291bnQsIDMyCj4g KwliLmhpCUwoY29weTMyXzEyOCkKPiArCj4gKwkvKiBTbWFsbCBjb3BpZXM6IDAuLjMyIGJ5dGVz LiAgKi8KPiArCWNtcAljb3VudCwgMTYKPiArCWIubG8JTChjb3B5MTYpCj4gKwlsZHAJQV9sLCBB X2gsIFtzcmNdCj4gKwlsZHAJRF9sLCBEX2gsIFtzcmNlbmQsIC0xNl0KPiArCXN0cAlBX2wsIEFf aCwgW2RzdGluXQo+ICsJc3RwCURfbCwgRF9oLCBbZHN0ZW5kLCAtMTZdCj4gICAJcmV0Cj4gKwo+ ICsJLyogQ29weSA4LTE1IGJ5dGVzLiAgKi8KPiArTChjb3B5MTYpOgo+ICsJdGJ6CWNvdW50LCAz LCBMKGNvcHk4KQo+ICsJbGRyCUFfbCwgW3NyY10KPiArCWxkcglBX2gsIFtzcmNlbmQsIC04XQo+ ICsJc3RyCUFfbCwgW2RzdGluXQo+ICsJc3RyCUFfaCwgW2RzdGVuZCwgLThdCj4gKwlyZXQKPiAr Cj4gKwkucDJhbGlnbiAzCj4gKwkvKiBDb3B5IDQtNyBieXRlcy4gICovCj4gK0woY29weTgpOgo+ ICsJdGJ6CWNvdW50LCAyLCBMKGNvcHk0KQo+ICsJbGRyCUFfbHcsIFtzcmNdCj4gKwlsZHIJQl9s dywgW3NyY2VuZCwgLTRdCj4gKwlzdHIJQV9sdywgW2RzdGluXQo+ICsJc3RyCUJfbHcsIFtkc3Rl bmQsIC00XQo+ICsJcmV0Cj4gKwo+ICsJLyogQ29weSAwLi4zIGJ5dGVzIHVzaW5nIGEgYnJhbmNo bGVzcyBzZXF1ZW5jZS4gICovCj4gK0woY29weTQpOgo+ICsJY2J6CWNvdW50LCBMKGNvcHkwKQo+ ICsJbHNyCXRtcDEsIGNvdW50LCAxCj4gKwlsZHJiCUFfbHcsIFtzcmNdCj4gKwlsZHJiCUNfbHcs IFtzcmNlbmQsIC0xXQo+ICsJbGRyYglCX2x3LCBbc3JjLCB0bXAxXQo+ICsJc3RyYglBX2x3LCBb ZHN0aW5dCj4gKwlzdHJiCUJfbHcsIFtkc3RpbiwgdG1wMV0KPiArCXN0cmIJQ19sdywgW2RzdGVu ZCwgLTFdCj4gK0woY29weTApOgo+ICsJcmV0Cj4gKwo+ICsJLnAyYWxpZ24gNAo+ICsJLyogTWVk aXVtIGNvcGllczogMzMuLjEyOCBieXRlcy4gICovCj4gK0woY29weTMyXzEyOCk6Cj4gKwlsZHAJ QV9sLCBBX2gsIFtzcmNdCj4gKwlsZHAJQl9sLCBCX2gsIFtzcmMsIDE2XQo+ICsJbGRwCUNfbCwg Q19oLCBbc3JjZW5kLCAtMzJdCj4gKwlsZHAJRF9sLCBEX2gsIFtzcmNlbmQsIC0xNl0KPiArCWNt cAljb3VudCwgNjQKPiArCWIuaGkJTChjb3B5MTI4KQo+ICsJc3RwCUFfbCwgQV9oLCBbZHN0aW5d Cj4gKwlzdHAJQl9sLCBCX2gsIFtkc3RpbiwgMTZdCj4gKwlzdHAJQ19sLCBDX2gsIFtkc3RlbmQs IC0zMl0KPiArCXN0cAlEX2wsIERfaCwgW2RzdGVuZCwgLTE2XQo+ICsJcmV0Cj4gKwo+ICsJLnAy YWxpZ24gNAo+ICsJLyogQ29weSA2NS4uMTI4IGJ5dGVzLiAgKi8KPiArTChjb3B5MTI4KToKPiAr CWxkcAlFX2wsIEVfaCwgW3NyYywgMzJdCj4gKwlsZHAJRl9sLCBGX2gsIFtzcmMsIDQ4XQo+ICsJ Y21wCWNvdW50LCA5Ngo+ICsJYi5scwlMKGNvcHk5NikKPiArCWxkcAlHX2wsIEdfaCwgW3NyY2Vu ZCwgLTY0XQo+ICsJbGRwCUhfbCwgSF9oLCBbc3JjZW5kLCAtNDhdCj4gKwlzdHAJR19sLCBHX2gs IFtkc3RlbmQsIC02NF0KPiArCXN0cAlIX2wsIEhfaCwgW2RzdGVuZCwgLTQ4XQo+ICtMKGNvcHk5 Nik6Cj4gKwlzdHAJQV9sLCBBX2gsIFtkc3Rpbl0KPiArCXN0cAlCX2wsIEJfaCwgW2RzdGluLCAx Nl0KPiArCXN0cAlFX2wsIEVfaCwgW2RzdGluLCAzMl0KPiArCXN0cAlGX2wsIEZfaCwgW2RzdGlu LCA0OF0KPiArCXN0cAlDX2wsIENfaCwgW2RzdGVuZCwgLTMyXQo+ICsJc3RwCURfbCwgRF9oLCBb ZHN0ZW5kLCAtMTZdCj4gKwlyZXQKPiArCj4gKwkucDJhbGlnbiA0Cj4gKwkvKiBDb3B5IG1vcmUg dGhhbiAxMjggYnl0ZXMuICAqLwo+ICtMKGNvcHlfbG9uZyk6Cj4gKwkvKiBVc2UgYmFja3dhcmRz IGNvcHkgaWYgdGhlcmUgaXMgYW4gb3ZlcmxhcC4gICovCj4gKwlzdWIJdG1wMSwgZHN0aW4sIHNy Ywo+ICsJY2J6CXRtcDEsIEwoY29weTApCj4gKwljbXAJdG1wMSwgY291bnQKPiArCWIubG8JTChj b3B5X2xvbmdfYmFja3dhcmRzKQo+ICsKPiArCS8qIENvcHkgMTYgYnl0ZXMgYW5kIHRoZW4gYWxp Z24gZHN0IHRvIDE2LWJ5dGUgYWxpZ25tZW50LiAgKi8KPiArCj4gKwlsZHAJRF9sLCBEX2gsIFtz cmNdCj4gKwlhbmQJdG1wMSwgZHN0aW4sIDE1Cj4gKwliaWMJZHN0LCBkc3RpbiwgMTUKPiArCXN1 YglzcmMsIHNyYywgdG1wMQo+ICsJYWRkCWNvdW50LCBjb3VudCwgdG1wMQkvKiBDb3VudCBpcyBu b3cgMTYgdG9vIGxhcmdlLiAgKi8KPiArCWxkcAlBX2wsIEFfaCwgW3NyYywgMTZdCj4gKwlzdHAJ RF9sLCBEX2gsIFtkc3Rpbl0KPiArCWxkcAlCX2wsIEJfaCwgW3NyYywgMzJdCj4gKwlsZHAJQ19s LCBDX2gsIFtzcmMsIDQ4XQo+ICsJbGRwCURfbCwgRF9oLCBbc3JjLCA2NF0hCj4gKwlzdWJzCWNv dW50LCBjb3VudCwgMTI4ICsgMTYJLyogVGVzdCBhbmQgcmVhZGp1c3QgY291bnQuICAqLwo+ICsJ Yi5scwlMKGNvcHk2NF9mcm9tX2VuZCkKPiArCj4gK0wobG9vcDY0KToKPiArCXN0cAlBX2wsIEFf aCwgW2RzdCwgMTZdCj4gKwlsZHAJQV9sLCBBX2gsIFtzcmMsIDE2XQo+ICsJc3RwCUJfbCwgQl9o LCBbZHN0LCAzMl0KPiArCWxkcAlCX2wsIEJfaCwgW3NyYywgMzJdCj4gKwlzdHAJQ19sLCBDX2gs IFtkc3QsIDQ4XQo+ICsJbGRwCUNfbCwgQ19oLCBbc3JjLCA0OF0KPiArCXN0cAlEX2wsIERfaCwg W2RzdCwgNjRdIQo+ICsJbGRwCURfbCwgRF9oLCBbc3JjLCA2NF0hCj4gKwlzdWJzCWNvdW50LCBj b3VudCwgNjQKPiArCWIuaGkJTChsb29wNjQpCj4gKwo+ICsJLyogV3JpdGUgdGhlIGxhc3QgaXRl cmF0aW9uIGFuZCBjb3B5IDY0IGJ5dGVzIGZyb20gdGhlIGVuZC4gICovCj4gK0woY29weTY0X2Zy b21fZW5kKToKPiArCWxkcAlFX2wsIEVfaCwgW3NyY2VuZCwgLTY0XQo+ICsJc3RwCUFfbCwgQV9o LCBbZHN0LCAxNl0KPiArCWxkcAlBX2wsIEFfaCwgW3NyY2VuZCwgLTQ4XQo+ICsJc3RwCUJfbCwg Ql9oLCBbZHN0LCAzMl0KPiArCWxkcAlCX2wsIEJfaCwgW3NyY2VuZCwgLTMyXQo+ICsJc3RwCUNf bCwgQ19oLCBbZHN0LCA0OF0KPiArCWxkcAlDX2wsIENfaCwgW3NyY2VuZCwgLTE2XQo+ICsJc3Rw CURfbCwgRF9oLCBbZHN0LCA2NF0KPiArCXN0cAlFX2wsIEVfaCwgW2RzdGVuZCwgLTY0XQo+ICsJ c3RwCUFfbCwgQV9oLCBbZHN0ZW5kLCAtNDhdCj4gKwlzdHAJQl9sLCBCX2gsIFtkc3RlbmQsIC0z Ml0KPiArCXN0cAlDX2wsIENfaCwgW2RzdGVuZCwgLTE2XQo+ICsJcmV0Cj4gKwo+ICsJLnAyYWxp Z24gNAo+ICsKPiArCS8qIExhcmdlIGJhY2t3YXJkcyBjb3B5IGZvciBvdmVybGFwcGluZyBjb3Bp ZXMuCj4gKwkgICBDb3B5IDE2IGJ5dGVzIGFuZCB0aGVuIGFsaWduIGRzdCB0byAxNi1ieXRlIGFs aWdubWVudC4gICovCj4gK0woY29weV9sb25nX2JhY2t3YXJkcyk6Cj4gKwlsZHAJRF9sLCBEX2gs IFtzcmNlbmQsIC0xNl0KPiArCWFuZAl0bXAxLCBkc3RlbmQsIDE1Cj4gKwlzdWIJc3JjZW5kLCBz cmNlbmQsIHRtcDEKPiArCXN1Ygljb3VudCwgY291bnQsIHRtcDEKPiArCWxkcAlBX2wsIEFfaCwg W3NyY2VuZCwgLTE2XQo+ICsJc3RwCURfbCwgRF9oLCBbZHN0ZW5kLCAtMTZdCj4gKwlsZHAJQl9s LCBCX2gsIFtzcmNlbmQsIC0zMl0KPiArCWxkcAlDX2wsIENfaCwgW3NyY2VuZCwgLTQ4XQo+ICsJ bGRwCURfbCwgRF9oLCBbc3JjZW5kLCAtNjRdIQo+ICsJc3ViCWRzdGVuZCwgZHN0ZW5kLCB0bXAx Cj4gKwlzdWJzCWNvdW50LCBjb3VudCwgMTI4Cj4gKwliLmxzCUwoY29weTY0X2Zyb21fc3RhcnQp Cj4gKwo+ICtMKGxvb3A2NF9iYWNrd2FyZHMpOgo+ICsJc3RwCUFfbCwgQV9oLCBbZHN0ZW5kLCAt MTZdCj4gKwlsZHAJQV9sLCBBX2gsIFtzcmNlbmQsIC0xNl0KPiArCXN0cAlCX2wsIEJfaCwgW2Rz dGVuZCwgLTMyXQo+ICsJbGRwCUJfbCwgQl9oLCBbc3JjZW5kLCAtMzJdCj4gKwlzdHAJQ19sLCBD X2gsIFtkc3RlbmQsIC00OF0KPiArCWxkcAlDX2wsIENfaCwgW3NyY2VuZCwgLTQ4XQo+ICsJc3Rw CURfbCwgRF9oLCBbZHN0ZW5kLCAtNjRdIQo+ICsJbGRwCURfbCwgRF9oLCBbc3JjZW5kLCAtNjRd IQo+ICsJc3Vicwljb3VudCwgY291bnQsIDY0Cj4gKwliLmhpCUwobG9vcDY0X2JhY2t3YXJkcykK PiArCj4gKwkvKiBXcml0ZSB0aGUgbGFzdCBpdGVyYXRpb24gYW5kIGNvcHkgNjQgYnl0ZXMgZnJv bSB0aGUgc3RhcnQuICAqLwo+ICtMKGNvcHk2NF9mcm9tX3N0YXJ0KToKPiArCWxkcAlHX2wsIEdf aCwgW3NyYywgNDhdCj4gKwlzdHAJQV9sLCBBX2gsIFtkc3RlbmQsIC0xNl0KPiArCWxkcAlBX2ws IEFfaCwgW3NyYywgMzJdCj4gKwlzdHAJQl9sLCBCX2gsIFtkc3RlbmQsIC0zMl0KPiArCWxkcAlC X2wsIEJfaCwgW3NyYywgMTZdCj4gKwlzdHAJQ19sLCBDX2gsIFtkc3RlbmQsIC00OF0KPiArCWxk cAlDX2wsIENfaCwgW3NyY10KPiArCXN0cAlEX2wsIERfaCwgW2RzdGVuZCwgLTY0XQo+ICsJc3Rw CUdfbCwgR19oLCBbZHN0aW4sIDQ4XQo+ICsJc3RwCUFfbCwgQV9oLCBbZHN0aW4sIDMyXQo+ICsJ c3RwCUJfbCwgQl9oLCBbZHN0aW4sIDE2XQo+ICsJc3RwCUNfbCwgQ19oLCBbZHN0aW5dCj4gKwly ZXQKPiArCj4gICBTWU1fRlVOQ19FTkRfUEkobWVtY3B5KQo+ICAgRVhQT1JUX1NZTUJPTChtZW1j cHkpCj4gICBTWU1fRlVOQ19FTkRfQUxJQVMoX19tZW1jcHkpCj4gICBFWFBPUlRfU1lNQk9MKF9f bWVtY3B5KQo+ICtTWU1fRlVOQ19FTkRfQUxJQVNfUEkobWVtbW92ZSkKPiArRVhQT1JUX1NZTUJP TChtZW1tb3ZlKQo+ICtTWU1fRlVOQ19FTkRfQUxJQVMoX19tZW1tb3ZlKQo+ICtFWFBPUlRfU1lN Qk9MKF9fbWVtbW92ZSkKPiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9saWIvbWVtbW92ZS5TIGIvYXJjaC9hcm02NC9saWIvbWVtbW92ZS5TCj4g ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMTAzNWRjZTRiZGFmLi4wMDAwMDAwMDAw MDAKPiAtLS0gYS9hcmNoL2FybTY0L2xpYi9tZW1tb3ZlLlMKPiArKysgL2Rldi9udWxsCj4gQEAg LTEsMTg5ICswLDAgQEAKPiAtLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eSAqLwo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQVJNIEx0ZC4KPiAtICogQ29weXJp Z2h0IChDKSAyMDEzIExpbmFyby4KPiAtICoKPiAtICogVGhpcyBjb2RlIGlzIGJhc2VkIG9uIGds aWJjIGNvcnRleCBzdHJpbmdzIHdvcmsgb3JpZ2luYWxseSBhdXRob3JlZCBieSBMaW5hcm8KPiAt ICogYmUgZm91bmQgQAo+IC0gKgo+IC0gKiBodHRwOi8vYmF6YWFyLmxhdW5jaHBhZC5uZXQvfmxp bmFyby10b29sY2hhaW4tZGV2L2NvcnRleC1zdHJpbmdzL3RydW5rLwo+IC0gKiBmaWxlcy9oZWFk Oi9zcmMvYWFyY2g2NC8KPiAtICovCj4gLQo+IC0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgo+ IC0jaW5jbHVkZSA8YXNtL2Fzc2VtYmxlci5oPgo+IC0jaW5jbHVkZSA8YXNtL2NhY2hlLmg+Cj4g LQo+IC0vKgo+IC0gKiBNb3ZlIGEgYnVmZmVyIGZyb20gc3JjIHRvIHRlc3QgKGFsaWdubWVudCBo YW5kbGVkIGJ5IHRoZSBoYXJkd2FyZSkuCj4gLSAqIElmIGRlc3QgPD0gc3JjLCBjYWxsIG1lbWNw eSwgb3RoZXJ3aXNlIGNvcHkgaW4gcmV2ZXJzZSBvcmRlci4KPiAtICoKPiAtICogUGFyYW1ldGVy czoKPiAtICoJeDAgLSBkZXN0Cj4gLSAqCXgxIC0gc3JjCj4gLSAqCXgyIC0gbgo+IC0gKiBSZXR1 cm5zOgo+IC0gKgl4MCAtIGRlc3QKPiAtICovCj4gLWRzdGluCS5yZXEJeDAKPiAtc3JjCS5yZXEJ eDEKPiAtY291bnQJLnJlcQl4Mgo+IC10bXAxCS5yZXEJeDMKPiAtdG1wMXcJLnJlcQl3Mwo+IC10 bXAyCS5yZXEJeDQKPiAtdG1wMncJLnJlcQl3NAo+IC10bXAzCS5yZXEJeDUKPiAtdG1wM3cJLnJl cQl3NQo+IC1kc3QJLnJlcQl4Ngo+IC0KPiAtQV9sCS5yZXEJeDcKPiAtQV9oCS5yZXEJeDgKPiAt Ql9sCS5yZXEJeDkKPiAtQl9oCS5yZXEJeDEwCj4gLUNfbAkucmVxCXgxMQo+IC1DX2gJLnJlcQl4 MTIKPiAtRF9sCS5yZXEJeDEzCj4gLURfaAkucmVxCXgxNAo+IC0KPiAtU1lNX0ZVTkNfU1RBUlRf QUxJQVMoX19tZW1tb3ZlKQo+IC1TWU1fRlVOQ19TVEFSVF9XRUFLX1BJKG1lbW1vdmUpCj4gLQlj bXAJZHN0aW4sIHNyYwo+IC0JYi5sbwlfX21lbWNweQo+IC0JYWRkCXRtcDEsIHNyYywgY291bnQK PiAtCWNtcAlkc3RpbiwgdG1wMQo+IC0JYi5ocwlfX21lbWNweQkJLyogTm8gb3ZlcmxhcC4gICov Cj4gLQo+IC0JYWRkCWRzdCwgZHN0aW4sIGNvdW50Cj4gLQlhZGQJc3JjLCBzcmMsIGNvdW50Cj4g LQljbXAJY291bnQsICMxNgo+IC0JYi5sbwkuTHRhaWwxNSAgLypwcm9iYWJseSBub24tYWxpZ25t ZW50IGFjY2Vzc2VzLiovCj4gLQo+IC0JYW5kcwl0bXAyLCBzcmMsICMxNSAgICAgLyogQnl0ZXMg dG8gcmVhY2ggYWxpZ25tZW50LiAgKi8KPiAtCWIuZXEJLkxTcmNBbGlnbmVkCj4gLQlzdWIJY291 bnQsIGNvdW50LCB0bXAyCj4gLQkvKgo+IC0JKiBwcm9jZXNzIHRoZSBhbGlnbmVkIG9mZnNldCBs ZW5ndGggdG8gbWFrZSB0aGUgc3JjIGFsaWduZWQgZmlyc3RseS4KPiAtCSogdGhvc2UgZXh0cmEg aW5zdHJ1Y3Rpb25zJyBjb3N0IGlzIGFjY2VwdGFibGUuIEl0IGFsc28gbWFrZSB0aGUKPiAtCSog Y29taW5nIGFjY2Vzc2VzIGFyZSBiYXNlZCBvbiBhbGlnbmVkIGFkZHJlc3MuCj4gLQkqLwo+IC0J dGJ6CXRtcDIsICMwLCAxZgo+IC0JbGRyYgl0bXAxdywgW3NyYywgIy0xXSEKPiAtCXN0cmIJdG1w MXcsIFtkc3QsICMtMV0hCj4gLTE6Cj4gLQl0YnoJdG1wMiwgIzEsIDJmCj4gLQlsZHJoCXRtcDF3 LCBbc3JjLCAjLTJdIQo+IC0Jc3RyaAl0bXAxdywgW2RzdCwgIy0yXSEKPiAtMjoKPiAtCXRiegl0 bXAyLCAjMiwgM2YKPiAtCWxkcgl0bXAxdywgW3NyYywgIy00XSEKPiAtCXN0cgl0bXAxdywgW2Rz dCwgIy00XSEKPiAtMzoKPiAtCXRiegl0bXAyLCAjMywgLkxTcmNBbGlnbmVkCj4gLQlsZHIJdG1w MSwgW3NyYywgIy04XSEKPiAtCXN0cgl0bXAxLCBbZHN0LCAjLThdIQo+IC0KPiAtLkxTcmNBbGln bmVkOgo+IC0JY21wCWNvdW50LCAjNjQKPiAtCWIuZ2UJLkxjcHlfb3ZlcjY0Cj4gLQo+IC0JLyoK PiAtCSogRGVhbCB3aXRoIHNtYWxsIGNvcGllcyBxdWlja2x5IGJ5IGRyb3BwaW5nIHN0cmFpZ2h0 IGludG8gdGhlCj4gLQkqIGV4aXQgYmxvY2suCj4gLQkqLwo+IC0uTHRhaWw2MzoKPiAtCS8qCj4g LQkqIENvcHkgdXAgdG8gNDggYnl0ZXMgb2YgZGF0YS4gQXQgdGhpcyBwb2ludCB3ZSBvbmx5IG5l ZWQgdGhlCj4gLQkqIGJvdHRvbSA2IGJpdHMgb2YgY291bnQgdG8gYmUgYWNjdXJhdGUuCj4gLQkq Lwo+IC0JYW5kcwl0bXAxLCBjb3VudCwgIzB4MzAKPiAtCWIuZXEJLkx0YWlsMTUKPiAtCWNtcAl0 bXAxdywgIzB4MjAKPiAtCWIuZXEJMWYKPiAtCWIubHQJMmYKPiAtCWxkcAlBX2wsIEFfaCwgW3Ny YywgIy0xNl0hCj4gLQlzdHAJQV9sLCBBX2gsIFtkc3QsICMtMTZdIQo+IC0xOgo+IC0JbGRwCUFf bCwgQV9oLCBbc3JjLCAjLTE2XSEKPiAtCXN0cAlBX2wsIEFfaCwgW2RzdCwgIy0xNl0hCj4gLTI6 Cj4gLQlsZHAJQV9sLCBBX2gsIFtzcmMsICMtMTZdIQo+IC0Jc3RwCUFfbCwgQV9oLCBbZHN0LCAj LTE2XSEKPiAtCj4gLS5MdGFpbDE1Ogo+IC0JdGJ6CWNvdW50LCAjMywgMWYKPiAtCWxkcgl0bXAx LCBbc3JjLCAjLThdIQo+IC0Jc3RyCXRtcDEsIFtkc3QsICMtOF0hCj4gLTE6Cj4gLQl0YnoJY291 bnQsICMyLCAyZgo+IC0JbGRyCXRtcDF3LCBbc3JjLCAjLTRdIQo+IC0Jc3RyCXRtcDF3LCBbZHN0 LCAjLTRdIQo+IC0yOgo+IC0JdGJ6CWNvdW50LCAjMSwgM2YKPiAtCWxkcmgJdG1wMXcsIFtzcmMs ICMtMl0hCj4gLQlzdHJoCXRtcDF3LCBbZHN0LCAjLTJdIQo+IC0zOgo+IC0JdGJ6CWNvdW50LCAj MCwgLkxleGl0ZnVuYwo+IC0JbGRyYgl0bXAxdywgW3NyYywgIy0xXQo+IC0Jc3RyYgl0bXAxdywg W2RzdCwgIy0xXQo+IC0KPiAtLkxleGl0ZnVuYzoKPiAtCXJldAo+IC0KPiAtLkxjcHlfb3ZlcjY0 Ogo+IC0Jc3Vicwljb3VudCwgY291bnQsICMxMjgKPiAtCWIuZ2UJLkxjcHlfYm9keV9sYXJnZQo+ IC0JLyoKPiAtCSogTGVzcyB0aGFuIDEyOCBieXRlcyB0byBjb3B5LCBzbyBoYW5kbGUgNjQgYnl0 ZXMgaGVyZSBhbmQgdGhlbiBqdW1wCj4gLQkqIHRvIHRoZSB0YWlsLgo+IC0JKi8KPiAtCWxkcAlB X2wsIEFfaCwgW3NyYywgIy0xNl0KPiAtCXN0cAlBX2wsIEFfaCwgW2RzdCwgIy0xNl0KPiAtCWxk cAlCX2wsIEJfaCwgW3NyYywgIy0zMl0KPiAtCWxkcAlDX2wsIENfaCwgW3NyYywgIy00OF0KPiAt CXN0cAlCX2wsIEJfaCwgW2RzdCwgIy0zMl0KPiAtCXN0cAlDX2wsIENfaCwgW2RzdCwgIy00OF0K PiAtCWxkcAlEX2wsIERfaCwgW3NyYywgIy02NF0hCj4gLQlzdHAJRF9sLCBEX2gsIFtkc3QsICMt NjRdIQo+IC0KPiAtCXRzdAljb3VudCwgIzB4M2YKPiAtCWIubmUJLkx0YWlsNjMKPiAtCXJldAo+ IC0KPiAtCS8qCj4gLQkqIENyaXRpY2FsIGxvb3AuIFN0YXJ0IGF0IGEgbmV3IGNhY2hlIGxpbmUg Ym91bmRhcnkuIEFzc3VtaW5nCj4gLQkqIDY0IGJ5dGVzIHBlciBsaW5lIHRoaXMgZW5zdXJlcyB0 aGUgZW50aXJlIGxvb3AgaXMgaW4gb25lIGxpbmUuCj4gLQkqLwo+IC0JLnAyYWxpZ24JTDFfQ0FD SEVfU0hJRlQKPiAtLkxjcHlfYm9keV9sYXJnZToKPiAtCS8qIHByZS1sb2FkIDY0IGJ5dGVzIGRh dGEuICovCj4gLQlsZHAJQV9sLCBBX2gsIFtzcmMsICMtMTZdCj4gLQlsZHAJQl9sLCBCX2gsIFtz cmMsICMtMzJdCj4gLQlsZHAJQ19sLCBDX2gsIFtzcmMsICMtNDhdCj4gLQlsZHAJRF9sLCBEX2gs IFtzcmMsICMtNjRdIQo+IC0xOgo+IC0JLyoKPiAtCSogaW50ZXJsYWNlIHRoZSBsb2FkIG9mIG5l eHQgNjQgYnl0ZXMgZGF0YSBibG9jayB3aXRoIHN0b3JlIG9mIHRoZSBsYXN0Cj4gLQkqIGxvYWRl ZCA2NCBieXRlcyBkYXRhLgo+IC0JKi8KPiAtCXN0cAlBX2wsIEFfaCwgW2RzdCwgIy0xNl0KPiAt CWxkcAlBX2wsIEFfaCwgW3NyYywgIy0xNl0KPiAtCXN0cAlCX2wsIEJfaCwgW2RzdCwgIy0zMl0K PiAtCWxkcAlCX2wsIEJfaCwgW3NyYywgIy0zMl0KPiAtCXN0cAlDX2wsIENfaCwgW2RzdCwgIy00 OF0KPiAtCWxkcAlDX2wsIENfaCwgW3NyYywgIy00OF0KPiAtCXN0cAlEX2wsIERfaCwgW2RzdCwg Iy02NF0hCj4gLQlsZHAJRF9sLCBEX2gsIFtzcmMsICMtNjRdIQo+IC0Jc3Vicwljb3VudCwgY291 bnQsICM2NAo+IC0JYi5nZQkxYgo+IC0Jc3RwCUFfbCwgQV9oLCBbZHN0LCAjLTE2XQo+IC0Jc3Rw CUJfbCwgQl9oLCBbZHN0LCAjLTMyXQo+IC0Jc3RwCUNfbCwgQ19oLCBbZHN0LCAjLTQ4XQo+IC0J c3RwCURfbCwgRF9oLCBbZHN0LCAjLTY0XSEKPiAtCj4gLQl0c3QJY291bnQsICMweDNmCj4gLQli Lm5lCS5MdGFpbDYzCj4gLQlyZXQKPiAtU1lNX0ZVTkNfRU5EX1BJKG1lbW1vdmUpCj4gLUVYUE9S VF9TWU1CT0wobWVtbW92ZSkKPiAtU1lNX0ZVTkNfRU5EX0FMSUFTKF9fbWVtbW92ZSkKPiAtRVhQ T1JUX1NZTUJPTChfX21lbW1vdmUpCgpCZXN0IHJlZ2FyZHMKLS0gCk1hcmVrIFN6eXByb3dza2ks IFBoRApTYW1zdW5nIFImRCBJbnN0aXR1dGUgUG9sYW5kCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=