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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CA31BC43334 for ; Mon, 6 Jun 2022 19:58:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232884AbiFFT6e (ORCPT ); Mon, 6 Jun 2022 15:58:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52568 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232815AbiFFT6c (ORCPT ); Mon, 6 Jun 2022 15:58:32 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6FD1B25EAC for ; Mon, 6 Jun 2022 12:58:27 -0700 (PDT) Message-ID: <20220606195511.998456125@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1654545506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VyK25anpbQ8QnjmMySxdPP+uyGb1MC0KrsapkI+fFuE=; b=tlANB0tl/fgMQ70p1BW7IRqyZBjVeOlUX5oVc7KmEeN84zcnQj8I0x17bT3WBKpRZWTLAS JX5DLY7bgabPn2KMJXKi0MIQJuCZerBK+GrGU1tGAi1QbdFiuHl1lYTxt72OIpl5T6EVN4 opHQieaC5iP1hICbjG5S4Ft8Gy/chRG2dK8h6uTI0bX6rxz6OGbzinV7BJO/0mEenGd43k AwQ22Tk8+M9ND9uAyINvGZ2Wx+yQoJmAIjbY0JwOghWkGacF5CoiDOwxyFPnbotmhK94Ug Mcm7URfkkPfc85ApubJc1M7tC6JLU+eevJ0lrlOXGSsCGGku8NeWaVjYpwIInQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1654545506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VyK25anpbQ8QnjmMySxdPP+uyGb1MC0KrsapkI+fFuE=; b=4c4AJgJjztSV6SKU72dXez7T9qetgl+al6m4zUVj4/0g4dt5BoRrDiqIqHMZwyGSvKubbm s6AocZDVDRBWBqDA== From: Thomas Gleixner To: linux-spdx@vger.kernel.org Subject: [Batch 1 - patch 02/25] treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_13.RULE MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Mon, 6 Jun 2022 21:58:25 +0200 (CEST) Precedence: bulk List-ID: X-Mailing-List: linux-spdx@vger.kernel.org Rm9sa3MhClJlZmVyZW5jZXM6IDwyMDIyMDYwNjE5NDA0Mi40Mjg1Njg5MzJAbGludXRyb25peC5k ZT4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CgpCYXNlZCBvbiB0aGUgbm9ybWFsaXplZCBwYXR0ZXJuOgoKICAgIHRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQK ICAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5IHRoZQogICAgZnJlZSBzb2Z0d2FyZSBmb3VuZGF0aW9uIHZlcnNpb24gMiBv ZiB0aGUgbGljZW5zZSAgdGhpcyBwcm9ncmFtIGlzCiAgICBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsIGJ1dCB3aXRob3V0IGFueQogICAgd2FycmFudHkgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIG1lcmNoYW50YWJpbGl0eSBvcgogICAg Zml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2Ugc2VlIHRoZSBnbnUgZ2VuZXJhbCBwdWJs aWMgbGljZW5zZQogICAgZm9yIG1vcmUgZGV0YWlscyAgbm8gd2FycmFudHkgdGhlIHByb2dyYW0g aXMgcHJvdmlkZWQgb24gYW4gYXMgaXMKICAgIGJhc2lzIHdpdGhvdXQgd2FycmFudGllcyBvciBj b25kaXRpb25zIG9mIGFueSBraW5kIGVpdGhlciBleHByZXNzIG9yCiAgICBpbXBsaWVkIGluY2x1 ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZgog ICAgdGl0bGUgbm9uLWluZnJpbmdlbWVudCBtZXJjaGFudGFiaWxpdHkgb3IgZml0bmVzcyBmb3Ig YSBwYXJ0aWN1bGFyCiAgICBwdXJwb3NlIGVhY2ggcmVjaXBpZW50IGlzIHNvbGVseSByZXNwb25z aWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCiAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgYW5k IGRpc3RyaWJ1dGluZyB0aGUgcHJvZ3JhbSBhbmQgYXNzdW1lcyBhbGwKICAgIHJpc2tzIGFzc29j aWF0ZWQgd2l0aCBpdHMgZXhlcmNpc2Ugb2YgcmlnaHRzIHVuZGVyIHRoaXMgYWdyZWVtZW50CiAg ICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSByaXNrcyBhbmQgY29zdHMgb2YgcHJv Z3JhbSBlcnJvcnMKICAgIGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEgcHJvZ3JhbXMgb3IgZXF1 aXBtZW50IGFuZCB1bmF2YWlsYWJpbGl0eSBvcgogICAgaW50ZXJydXB0aW9uIG9mIG9wZXJhdGlv bnMgIGRpc2NsYWltZXIgb2YgbGlhYmlsaXR5IG5laXRoZXIgcmVjaXBpZW50CiAgICBub3IgYW55 IGNvbnRyaWJ1dG9ycyBzaGFsbCBoYXZlIGFueSBsaWFiaWxpdHkgZm9yIGFueSBkaXJlY3QgaW5k aXJlY3QKICAgIGluY2lkZW50YWwgc3BlY2lhbCBleGVtcGxhcnkgb3IgY29uc2VxdWVudGlhbCBk YW1hZ2VzIChpbmNsdWRpbmcKICAgIHdpdGhvdXQgbGltaXRhdGlvbiBsb3N0IHByb2ZpdHMpIGhv d2V2ZXIgY2F1c2VkIGFuZCBvbiBhbnkgdGhlb3J5IG9mCiAgICBsaWFiaWxpdHkgd2hldGhlciBp biBjb250cmFjdCBzdHJpY3QgbGlhYmlsaXR5IG9yIHRvcnQgKGluY2x1ZGluZwogICAgbmVnbGln ZW5jZSBvciBvdGhlcndpc2UpIGFyaXNpbmcgaW4gYW55IHdheSBvdXQgb2YgdGhlIHVzZSBvcgog ICAgZGlzdHJpYnV0aW9uIG9mIHRoZSBwcm9ncmFtIG9yIHRoZSBleGVyY2lzZSBvZiBhbnkgcmln aHRzIGdyYW50ZWQKICAgIGhlcmV1bmRlciBldmVuIGlmIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmls aXR5IG9mIHN1Y2ggZGFtYWdlcyAgeW91CiAgICBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlIGFsb25nCiAgICB3aXRoIHRoaXMgcHJv Z3JhbSBpZiBub3Qgd3JpdGUgdG8gdGhlIGZyZWUgc29mdHdhcmUgZm91bmRhdGlvbiBpbmMgNTkK ICAgIHRlbXBsZSBwbGFjZSBzdWl0ZSAzMzAgYm9zdG9uIG1hIDAyMTExLTEzMDcgdXNhCgpleHRy YWN0ZWQgYnkgdGhlIHNjYW5jb2RlIGxpY2Vuc2Ugc2Nhbm5lciB0aGUgU1BEWCBsaWNlbnNlIGlk ZW50aWZpZXIKCiAgICBHUEwtMi4wLW9ubHkKCmhhcyBiZWVuIGNob3NlbiB0byByZXBsYWNlIHRo ZSBib2lsZXJwbGF0ZS9yZWZlcmVuY2UuCgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgR2xlaXhuZXIg PHRnbHhAbGludXRyb25peC5kZT4KLS0tCiBkcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2Uu aCAgfCAgIDM3ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv bWVzc2FnZS9mdXNpb24vbXB0Y3RsLmggICB8ICAgMzcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRsYW4uaCAgIHwgICAzOCAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9tZXNzYWdlL2Z1 c2lvbi9tcHRzYXMuaCAgIHwgICAzNyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNjc2loLmggfCAgIDM2ICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9zY3NpLzN3LTl4eHguaCAgICAgICAg ICAgIHwgICAzNSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9z Y3NpLzN3LXNhcy5oICAgICAgICAgICAgIHwgICAzNSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogZHJpdmVycy9zY3NpLzN3LXh4eHguaCAgICAgICAgICAgIHwgICAzNCArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL3Njc2kvZXNhczJyL2F0aW9j dGwuaCAgICAgfCAgIDM2ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9zY3NpL2VzYXMyci9hdHZkYS5oICAgICAgIHwgICAzNyArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL3Njc2kvZXNhczJyL2VzYXMycl9kaXNjLmMgfCAg IDM2ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9zY3NpL2Vz YXMyci9lc2FzMnJfaW50LmMgIHwgICAzNiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvc2NzaS9lc2FzMnIvZXNhczJyX3ZkYS5jICB8ICAgMzYgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRp b25zKCspLCA0NTcgZGVsZXRpb25zKC0pCgotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21w dGJhc2UuaAorKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuaApAQCAtMSwzICsx LDQgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KIC8qCiAg KiAgbGludXgvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmgKICAqICAgICAgSGlnaCBw ZXJmb3JtYW5jZSBTQ1NJICsgTEFOIC8gRmlicmUgQ2hhbm5lbCBkZXZpY2UgZHJpdmVycy4KQEAg LTcsNDMgKzgsOCBAQAogICoKICAqICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwOCBMU0kgQ29ycG9y YXRpb24KICAqICAobWFpbHRvOkRMLU1QVEZ1c2lvbkxpbnV4QGxzaS5jb20pCi0gKgogICovCiAv Kj0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPSovCi0vKgotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExp Y2Vuc2UuCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgTk8gV0FSUkFOVFkKLSAg ICBUSEUgUFJPR1JBTSBJUyBQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdB UlJBTlRJRVMgT1IKLSAgICBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBP UiBJTVBMSUVEIElOQ0xVRElORywgV0lUSE9VVAotICAgIExJTUlUQVRJT04sIEFOWSBXQVJSQU5U SUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsCi0gICAgTUVSQ0hB TlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lw aWVudCBpcwotICAgIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFwcHJv cHJpYXRlbmVzcyBvZiB1c2luZyBhbmQKLSAgICBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gYW5k IGFzc3VtZXMgYWxsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBpdHMKLSAgICBleGVyY2lzZSBvZiBy aWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8K LSAgICB0aGUgcmlza3MgYW5kIGNvc3RzIG9mIHByb2dyYW0gZXJyb3JzLCBkYW1hZ2UgdG8gb3Ig bG9zcyBvZiBkYXRhLAotICAgIHByb2dyYW1zIG9yIGVxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmls aXR5IG9yIGludGVycnVwdGlvbiBvZiBvcGVyYXRpb25zLgotCi0gICAgRElTQ0xBSU1FUiBPRiBM SUFCSUxJVFkKLSAgICBORUlUSEVSIFJFQ0lQSUVOVCBOT1IgQU5ZIENPTlRSSUJVVE9SUyBTSEFM TCBIQVZFIEFOWSBMSUFCSUxJVFkgRk9SIEFOWQotICAgIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICAgIERBTUFHRVMg KElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVT RUQgQU5ECi0gICAgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCi0gICAgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQotICAgIFVTRSBPUiBE SVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMg R1JBTlRFRAotICAgIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRVMKLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgICBGb3VuZGF0aW9u LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMw NyAgVVNBCi0qLwogCiAjaWZuZGVmIE1QVEJBU0VfSF9JTkNMVURFRAogI2RlZmluZSBNUFRCQVNF X0hfSU5DTFVERUQKQEAgLTEwMDQsNCArOTcwLDMgQEAgZXh0ZXJuIGludCBtcHRfZndmYXVsdF9k ZWJ1ZzsKIAogLyp9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0qLwogI2VuZGlmCi0KLS0tIGEvZHJpdmVycy9t ZXNzYWdlL2Z1c2lvbi9tcHRjdGwuaAorKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0 bC5oCkBAIC0xLDMgKzEsNCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seSAqLwogLyoKICAqICBsaW51eC9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGlvY3RsLmgK ICAqICAgICAgRnVzaW9uIE1QVCBtaXNjIGRldmljZSAoaW9jdGwpIGRyaXZlci4KQEAgLTcsNDMg KzgsOCBAQAogICoKICAqICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwOCBMU0kgQ29ycG9yYXRpb24K ICAqICAobWFpbHRvOkRMLU1QVEZ1c2lvbkxpbnV4QGxzaS5jb20pCi0gKgogICovCiAvKj0tPS09 LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPSovCi0vKgotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAg ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Uu Ci0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgTk8gV0FSUkFOVFkKLSAgICBUSEUg UFJPR1JBTSBJUyBQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJ RVMgT1IKLSAgICBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBM SUVEIElOQ0xVRElORywgV0lUSE9VVAotICAgIExJTUlUQVRJT04sIEFOWSBXQVJSQU5USUVTIE9S IENPTkRJVElPTlMgT0YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsCi0gICAgTUVSQ0hBTlRBQklM SVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBp cwotICAgIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFwcHJvcHJpYXRl bmVzcyBvZiB1c2luZyBhbmQKLSAgICBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gYW5kIGFzc3Vt ZXMgYWxsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBpdHMKLSAgICBleGVyY2lzZSBvZiByaWdodHMg dW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KLSAgICB0 aGUgcmlza3MgYW5kIGNvc3RzIG9mIHByb2dyYW0gZXJyb3JzLCBkYW1hZ2UgdG8gb3IgbG9zcyBv ZiBkYXRhLAotICAgIHByb2dyYW1zIG9yIGVxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9y IGludGVycnVwdGlvbiBvZiBvcGVyYXRpb25zLgotCi0gICAgRElTQ0xBSU1FUiBPRiBMSUFCSUxJ VFkKLSAgICBORUlUSEVSIFJFQ0lQSUVOVCBOT1IgQU5ZIENPTlRSSUJVVE9SUyBTSEFMTCBIQVZF IEFOWSBMSUFCSUxJVFkgRk9SIEFOWQotICAgIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICAgIERBTUFHRVMgKElOQ0xV RElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQgQU5E Ci0gICAgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU UklDVCBMSUFCSUxJVFksIE9SCi0gICAgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQotICAgIFVTRSBPUiBESVNUUklC VVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JBTlRF RAotICAgIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT VUNIIERBTUFHRVMKLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgICBGb3VuZGF0aW9uLCBJbmMu LCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNB Ci0qLwogCiAjaWZuZGVmIE1QVENUTF9IX0lOQ0xVREVECiAjZGVmaW5lIE1QVENUTF9IX0lOQ0xV REVECkBAIC00NjQsNCArNDMwLDMgQEAgdHlwZWRlZiBzdHJ1Y3QgX2hwX3RhcmdldF9pbmZvIHsK IC8qPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09Ki8KIAogI2VuZGlmCi0KLS0tIGEvZHJpdmVycy9tZXNzYWdl L2Z1c2lvbi9tcHRsYW4uaAorKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGxhbi5oCkBA IC0xLDMgKzEsNCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAq LwogLyoKICAqICBsaW51eC9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGxhbi5oCiAgKiAgICAg IElQIE92ZXIgRmlicmUgQ2hhbm5lbCBkZXZpY2UgZHJpdmVyLgpAQCAtNiw0NCArNyw4IEBACiAg KgogICogIENvcHlyaWdodCAoYykgMjAwMC0yMDA4IExTSSBDb3Jwb3JhdGlvbgogICogIChtYWls dG86REwtTVBURnVzaW9uTGludXhAbHNpLmNvbSkKLSAqCiAgKi8KIC8qPS09LT0tPS09LT0tPS09 LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09Ki8KLS8qCi0gICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICAgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KLQotICAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBOTyBXQVJSQU5UWQotICAgIFRIRSBQUk9HUkFNIElT IFBST1ZJREVEIE9OIEFOICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUgotICAg IENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVE SU5HLCBXSVRIT1VUCi0gICAgTElNSVRBVElPTiwgQU5ZIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9O UyBPRiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwKLSAgICBNRVJDSEFOVEFCSUxJVFkgT1IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIEVhY2ggUmVjaXBpZW50IGlzCi0gICAgc29s ZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVz aW5nIGFuZAotICAgIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSBhbmQgYXNzdW1lcyBhbGwgcmlz a3MgYXNzb2NpYXRlZCB3aXRoIGl0cwotICAgIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlz IEFncmVlbWVudCwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICAgIHRoZSByaXNrcyBh bmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEsCi0g ICAgcHJvZ3JhbXMgb3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0 aW9uIG9mIG9wZXJhdGlvbnMuCi0KLSAgICBESVNDTEFJTUVSIE9GIExJQUJJTElUWQotICAgIE5F SVRIRVIgUkVDSVBJRU5UIE5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJ TElUWSBGT1IgQU5ZCi0gICAgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gICAgREFNQUdFUyAoSU5DTFVESU5HIFdJVEhP VVQgTElNSVRBVElPTiBMT1NUIFBST0ZJVFMpLCBIT1dFVkVSIENBVVNFRCBBTkQKLSAgICBPTiBB TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ TElUWSwgT1IKLSAgICBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCi0gICAgVVNFIE9SIERJU1RSSUJVVElPTiBPRiBU SEUgUFJPR1JBTSBPUiBUSEUgRVhFUkNJU0UgT0YgQU5ZIFJJR0hUUyBHUkFOVEVECi0gICAgSEVS RVVOREVSLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF UwotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs ZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKLSovCi0vKj0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPS09LT0tPS09LT0tPSovCiAKIC8qIG1wdGxhbi5oICovCiAKQEAgLTEyNyw0ICs5MiwzIEBA IE1PRFVMRV9ERVNDUklQVElPTihMQU5BTUUpOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAj ZW5kaWYKLQotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNhcy5oCisrKyBiL2RyaXZl cnMvbWVzc2FnZS9mdXNpb24vbXB0c2FzLmgKQEAgLTEsMyArMSw0IEBACisvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICogIGxpbnV4L2RyaXZlcnMvbWVz c2FnZS9mdXNpb24vbXB0c2FzLmgKICAqICAgICAgSGlnaCBwZXJmb3JtYW5jZSBTQ1NJICsgTEFO IC8gRmlicmUgQ2hhbm5lbCBkZXZpY2UgZHJpdmVycy4KQEAgLTcsNDQgKzgsOCBAQAogICoKICAq ICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwOCBMU0kgQ29ycG9yYXRpb24KICAqICAobWFpbHRvOkRM LU1QVEZ1c2lvbkxpbnV4QGxzaS5jb20pCi0gKgogICovCiAvKj0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPSov Ci0vKgotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCi0KLSAgICBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgotCi0gICAgTk8gV0FSUkFOVFkKLSAgICBUSEUgUFJPR1JBTSBJUyBQUk9W SURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IKLSAgICBDT05E SVRJT05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVEIElOQ0xVRElORywg V0lUSE9VVAotICAgIExJTUlUQVRJT04sIEFOWSBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0Yg VElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsCi0gICAgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcwotICAgIHNvbGVseSBy ZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBh bmQKLSAgICBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gYW5kIGFzc3VtZXMgYWxsIHJpc2tzIGFz c29jaWF0ZWQgd2l0aCBpdHMKLSAgICBleGVyY2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcyBBZ3Jl ZW1lbnQsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KLSAgICB0aGUgcmlza3MgYW5kIGNv c3RzIG9mIHByb2dyYW0gZXJyb3JzLCBkYW1hZ2UgdG8gb3IgbG9zcyBvZiBkYXRhLAotICAgIHBy b2dyYW1zIG9yIGVxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9yIGludGVycnVwdGlvbiBv ZiBvcGVyYXRpb25zLgotCi0gICAgRElTQ0xBSU1FUiBPRiBMSUFCSUxJVFkKLSAgICBORUlUSEVS IFJFQ0lQSUVOVCBOT1IgQU5ZIENPTlRSSUJVVE9SUyBTSEFMTCBIQVZFIEFOWSBMSUFCSUxJVFkg Rk9SIEFOWQotICAgIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q TEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICAgIERBTUFHRVMgKElOQ0xVRElORyBXSVRIT1VUIExJ TUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQgQU5ECi0gICAgT04gQU5ZIFRI RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks IE9SCi0gICAgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H IElOIEFOWSBXQVkgT1VUIE9GIFRIRQotICAgIFVTRSBPUiBESVNUUklCVVRJT04gT0YgVEhFIFBS T0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JBTlRFRAotICAgIEhFUkVVTkRF UiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMKLQot ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0qLwotCiAjaWZuZGVm IE1QVFNBU19IX0lOQ0xVREVECiAjZGVmaW5lIE1QVFNBU19IX0lOQ0xVREVECiAvKnstPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPS09LT0tPSovCi0tLSBhL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0c2NzaWguaAorKysg Yi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNjc2loLmgKQEAgLTEsMyArMSw0IEBACisvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICogIGxpbnV4L2Ry aXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0c2NzaWguaAogICogICAgICBIaWdoIHBlcmZvcm1hbmNl IFNDU0kgLyBGaWJyZSBDaGFubmVsIFNDU0kgSG9zdCBkZXZpY2UgZHJpdmVyLgpAQCAtNyw0MyAr OCw4IEBACiAgKgogICogIENvcHlyaWdodCAoYykgMTk5OS0yMDA4IExTSSBDb3Jwb3JhdGlvbgog ICogIChtYWlsdG86REwtTVBURnVzaW9uTGludXhAbHNpLmNvbSkKLSAqCiAgKi8KIC8qPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPS09LT0tPS09Ki8KLS8qCi0gICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgICBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICAg IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4K LQotICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBOTyBXQVJSQU5UWQotICAgIFRIRSBQ Uk9HUkFNIElTIFBST1ZJREVEIE9OIEFOICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElF UyBPUgotICAgIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJ RUQgSU5DTFVESU5HLCBXSVRIT1VUCi0gICAgTElNSVRBVElPTiwgQU5ZIFdBUlJBTlRJRVMgT1Ig Q09ORElUSU9OUyBPRiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwKLSAgICBNRVJDSEFOVEFCSUxJ VFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIEVhY2ggUmVjaXBpZW50IGlz Ci0gICAgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVu ZXNzIG9mIHVzaW5nIGFuZAotICAgIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSBhbmQgYXNzdW1l cyBhbGwgcmlza3MgYXNzb2NpYXRlZCB3aXRoIGl0cwotICAgIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1 bmRlciB0aGlzIEFncmVlbWVudCwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICAgIHRo ZSByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGRhbWFnZSB0byBvciBsb3NzIG9m IGRhdGEsCi0gICAgcHJvZ3JhbXMgb3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3Ig aW50ZXJydXB0aW9uIG9mIG9wZXJhdGlvbnMuCi0KLSAgICBESVNDTEFJTUVSIE9GIExJQUJJTElU WQotICAgIE5FSVRIRVIgUkVDSVBJRU5UIE5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUg QU5ZIExJQUJJTElUWSBGT1IgQU5ZCi0gICAgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gICAgREFNQUdFUyAoSU5DTFVE SU5HIFdJVEhPVVQgTElNSVRBVElPTiBMT1NUIFBST0ZJVFMpLCBIT1dFVkVSIENBVVNFRCBBTkQK LSAgICBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS SUNUIExJQUJJTElUWSwgT1IKLSAgICBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCi0gICAgVVNFIE9SIERJU1RSSUJV VElPTiBPRiBUSEUgUFJPR1JBTSBPUiBUSEUgRVhFUkNJU0UgT0YgQU5ZIFJJR0hUUyBHUkFOVEVE Ci0gICAgSEVSRVVOREVSLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV Q0ggREFNQUdFUwotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4s IDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EK LSovCiAKICNpZm5kZWYgU0NTSUhPU1RfSF9JTkNMVURFRAogI2RlZmluZSBTQ1NJSE9TVF9IX0lO Q0xVREVECi0tLSBhL2RyaXZlcnMvc2NzaS8zdy05eHh4LmgKKysrIGIvZHJpdmVycy9zY3NpLzN3 LTl4eHguaApAQCAtMSwzICsxLDQgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkgKi8KIC8qCiAgICAzdy05eHh4LmggLS0gM3dhcmUgOTAwMCBTdG9yYWdlIENvbnRy b2xsZXIgZGV2aWNlIGRyaXZlciBmb3IgTGludXguCiAKQEAgLTcsMzkgKzgsNiBAQAogICAgQ29w eXJpZ2h0IChDKSAyMDA0LTIwMDkgQXBwbGllZCBNaWNybyBDaXJjdWl0cyBDb3Jwb3JhdGlvbi4K ICAgIENvcHlyaWdodCAoQykgMjAxMCBMU0kgQ29ycG9yYXRpb24uCiAKLSAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQotICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lv biAyIG9mIHRoZSBMaWNlbnNlLgotCi0gICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICBOTyBXQVJS QU5UWQotICAgVEhFIFBST0dSQU0gSVMgUFJPVklERUQgT04gQU4gIkFTIElTIiBCQVNJUywgV0lU SE9VVCBXQVJSQU5USUVTIE9SCi0gICBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQ UkVTUyBPUiBJTVBMSUVEIElOQ0xVRElORywgV0lUSE9VVAotICAgTElNSVRBVElPTiwgQU5ZIFdB UlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwKLSAgIE1F UkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gRWFjaCBS ZWNpcGllbnQgaXMKLSAgIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFw cHJvcHJpYXRlbmVzcyBvZiB1c2luZyBhbmQKLSAgIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSBh bmQgYXNzdW1lcyBhbGwgcmlza3MgYXNzb2NpYXRlZCB3aXRoIGl0cwotICAgZXhlcmNpc2Ugb2Yg cmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRv Ci0gICB0aGUgcmlza3MgYW5kIGNvc3RzIG9mIHByb2dyYW0gZXJyb3JzLCBkYW1hZ2UgdG8gb3Ig bG9zcyBvZiBkYXRhLAotICAgcHJvZ3JhbXMgb3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxp dHkgb3IgaW50ZXJydXB0aW9uIG9mIG9wZXJhdGlvbnMuCi0KLSAgIERJU0NMQUlNRVIgT0YgTElB QklMSVRZCi0gICBORUlUSEVSIFJFQ0lQSUVOVCBOT1IgQU5ZIENPTlRSSUJVVE9SUyBTSEFMTCBI QVZFIEFOWSBMSUFCSUxJVFkgRk9SIEFOWQotICAgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gICBEQU1BR0VTIChJTkNM VURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIExPU1QgUFJPRklUUyksIEhPV0VWRVIgQ0FVU0VEIEFO RAotICAgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU UklDVCBMSUFCSUxJVFksIE9SCi0gICBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCi0gICBVU0UgT1IgRElTVFJJQlVU SU9OIE9GIFRIRSBQUk9HUkFNIE9SIFRIRSBFWEVSQ0lTRSBPRiBBTlkgUklHSFRTIEdSQU5URUQK LSAgIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI IERBTUFHRVMKLQotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU ZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0KICAg IEJ1Z3MvQ29tbWVudHMvU3VnZ2VzdGlvbnMgc2hvdWxkIGJlIG1haWxlZCB0bzoKICAgIGFyYWRm b3JkQGdtYWlsLmNvbQogKi8KQEAgLTY5Miw0ICs2NjAsMyBAQCB0eXBlZGVmIHN0cnVjdCBUQUdf VFdfRGV2aWNlX0V4dGVuc2lvbiB7CiB9IFRXX0RldmljZV9FeHRlbnNpb247CiAKICNlbmRpZiAv KiBfM1dfOVhYWF9IICovCi0KLS0tIGEvZHJpdmVycy9zY3NpLzN3LXNhcy5oCisrKyBiL2RyaXZl cnMvc2NzaS8zdy1zYXMuaApAQCAtMSwzICsxLDQgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkgKi8KIC8qCiAgICAzdy1zYXMuaCAtLSBMU0kgM3dhcmUgU0FTL1NB VEEtUkFJRCBDb250cm9sbGVyIGRldmljZSBkcml2ZXIgZm9yIExpbnV4LgogCkBAIC01LDM5ICs2 LDYgQEAKIAogICAgQ29weXJpZ2h0IChDKSAyMDA5IExTSSBDb3Jwb3JhdGlvbi4KIAotICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCi0KLSAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAg IE5PIFdBUlJBTlRZCi0gICBUSEUgUFJPR1JBTSBJUyBQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJB U0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IKLSAgIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJ VEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUCi0gICBMSU1JVEFUSU9O LCBBTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5U LAotICAgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiBFYWNoIFJlY2lwaWVudCBpcwotICAgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmlu ZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZAotICAgZGlzdHJpYnV0aW5nIHRoZSBQ cm9ncmFtIGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzCi0gICBleGVy Y2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBidXQgbm90IGxp bWl0ZWQgdG8KLSAgIHRoZSByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGRhbWFn ZSB0byBvciBsb3NzIG9mIGRhdGEsCi0gICBwcm9ncmFtcyBvciBlcXVpcG1lbnQsIGFuZCB1bmF2 YWlsYWJpbGl0eSBvciBpbnRlcnJ1cHRpb24gb2Ygb3BlcmF0aW9ucy4KLQotICAgRElTQ0xBSU1F UiBPRiBMSUFCSUxJVFkKLSAgIE5FSVRIRVIgUkVDSVBJRU5UIE5PUiBBTlkgQ09OVFJJQlVUT1JT IFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZCi0gICBESVJFQ1QsIElORElSRUNULCBJ TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAgIERBTUFH RVMgKElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBD QVVTRUQgQU5ECi0gICBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKLSAgIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKLSAgIFVTRSBPUiBE SVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMg R1JBTlRFRAotICAgSEVSRVVOREVSLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ IE9GIFNVQ0ggREFNQUdFUwotCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgIEZvdW5kYXRpb24sIElu Yy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBV U0EKLQogICAgQnVncy9Db21tZW50cy9TdWdnZXN0aW9ucyBzaG91bGQgYmUgbWFpbGVkIHRvOgog ICAgYXJhZGZvcmRAZ21haWwuY29tCiAqLwpAQCAtNDAyLDQgKzM3MCwzIEBAIHR5cGVkZWYgc3Ry dWN0IFRBR19UV19EZXZpY2VfRXh0ZW5zaW9uIHsKIH0gVFdfRGV2aWNlX0V4dGVuc2lvbjsKIAog I2VuZGlmIC8qIF8zV19TQVNfSCAqLwotCi0tLSBhL2RyaXZlcnMvc2NzaS8zdy14eHh4LmgKKysr IGIvZHJpdmVycy9zY3NpLzN3LXh4eHguaApAQCAtMSwzICsxLDQgQEAKKy8qIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KIC8qCiAgICAzdy14eHh4LmggLS0gM3dhcmUg U3RvcmFnZSBDb250cm9sbGVyIGRldmljZSBkcml2ZXIgZm9yIExpbnV4LgogCkBAIC0xMSwzOSAr MTIsNiBAQAogICAgS2VybmVsIGNvbXBhdGliaWxpdHkgQnk6CUFuZHJlIEhlZHJpY2sgPGFuZHJl QHN1c2UuY29tPgogICAgTm9uLUNvcHlyaWdodCAoQykgMjAwMAlBbmRyZSBIZWRyaWNrIDxhbmRy ZUBzdXNlLmNvbT4KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCi0KLSAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0KLSAgIE5PIFdBUlJBTlRZCi0gICBUSEUgUFJPR1JBTSBJUyBQUk9W SURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IKLSAgIENPTkRJ VElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBX SVRIT1VUCi0gICBMSU1JVEFUSU9OLCBBTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJ VExFLCBOT04tSU5GUklOR0VNRU5ULAotICAgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcwotICAgc29sZWx5IHJlc3Bv bnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZAot ICAgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lh dGVkIHdpdGggaXRzCi0gICBleGVyY2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQs IGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KLSAgIHRoZSByaXNrcyBhbmQgY29zdHMgb2Yg cHJvZ3JhbSBlcnJvcnMsIGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEsCi0gICBwcm9ncmFtcyBv ciBlcXVpcG1lbnQsIGFuZCB1bmF2YWlsYWJpbGl0eSBvciBpbnRlcnJ1cHRpb24gb2Ygb3BlcmF0 aW9ucy4KLQotICAgRElTQ0xBSU1FUiBPRiBMSUFCSUxJVFkKLSAgIE5FSVRIRVIgUkVDSVBJRU5U IE5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZCi0g ICBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP TlNFUVVFTlRJQUwKLSAgIERBTUFHRVMgKElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9T VCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQgQU5ECi0gICBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKLSAgIFRPUlQg KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V VCBPRiBUSEUKLSAgIFVTRSBPUiBESVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVY RVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JBTlRFRAotICAgSEVSRVVOREVSLCBFVkVOIElGIEFEVklT RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUwotCi0gICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh cmUKLSAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0 b24sIE1BICAwMjExMS0xMzA3ICBVU0EKLQogICAgQnVncy9Db21tZW50cy9TdWdnZXN0aW9ucyBz aG91bGQgYmUgbWFpbGVkIHRvOgogCiAgICBhcmFkZm9yZEBnbWFpbC5jb20KLS0tIGEvZHJpdmVy cy9zY3NpL2VzYXMyci9hdGlvY3RsLmgKKysrIGIvZHJpdmVycy9zY3NpL2VzYXMyci9hdGlvY3Rs LmgKQEAgLTEsMyArMSw0IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5ICovCiAvKiAgbGludXgvZHJpdmVycy9zY3NpL2VzYXMyci9hdGlvY3RsLmgKICAqICAgICAg QVRUTyBJT0NUTCBIYW5kbGluZwogICoKQEAgLTUsNDEgKzYsNiBAQAogICogIChtYWlsdG86bGlu dXhkcml2ZXJzQGF0dG90ZWNoLmNvbSkKICAqLwogLyo9LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0qLwotLyoK LSAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgotICoKLSAqICBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLSAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotICoKLSAqICBOTyBXQVJSQU5UWQotICogIFRIRSBQUk9HUkFNIElTIFBST1ZJ REVEIE9OIEFOICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUgotICogIENPTkRJ VElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBX SVRIT1VUCi0gKiAgTElNSVRBVElPTiwgQU5ZIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBU SVRMRSwgTk9OLUlORlJJTkdFTUVOVCwKLSAqICBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIEVhY2ggUmVjaXBpZW50IGlzCi0gKiAgc29sZWx5IHJl c3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFu ZAotICogIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSBhbmQgYXNzdW1lcyBhbGwgcmlza3MgYXNz b2NpYXRlZCB3aXRoIGl0cwotICogIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzIEFncmVl bWVudCwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICogIHRoZSByaXNrcyBhbmQgY29z dHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEsCi0gKiAgcHJv Z3JhbXMgb3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0aW9uIG9m IG9wZXJhdGlvbnMuCi0gKgotICogIERJU0NMQUlNRVIgT0YgTElBQklMSVRZCi0gKiAgTkVJVEhF UiBSRUNJUElFTlQgTk9SIEFOWSBDT05UUklCVVRPUlMgU0hBTEwgSEFWRSBBTlkgTElBQklMSVRZ IEZPUiBBTlkKLSAqICBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN UExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqICBEQU1BR0VTIChJTkNMVURJTkcgV0lUSE9VVCBM SU1JVEFUSU9OIExPU1QgUFJPRklUUyksIEhPV0VWRVIgQ0FVU0VEIEFORAotICogIE9OIEFOWSBU SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ LCBPUgotICogIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKLSAqICBVU0UgT1IgRElTVFJJQlVUSU9OIE9GIFRIRSBQ Uk9HUkFNIE9SIFRIRSBFWEVSQ0lTRSBPRiBBTlkgUklHSFRTIEdSQU5URUQKLSAqICBIRVJFVU5E RVIsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTCi0g KgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg UGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0gKi8KLS8qPS09 LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09Ki8KIAogI2luY2x1ZGUgImF0dmRhLmgiCiAKLS0tIGEvZHJpdmVycy9z Y3NpL2VzYXMyci9hdHZkYS5oCisrKyBiL2RyaXZlcnMvc2NzaS9lc2FzMnIvYXR2ZGEuaApAQCAt MSwzICsxLDQgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8K IC8qICBsaW51eC9kcml2ZXJzL3Njc2kvZXNhczJyL2F0dmRhLmgKICAqICAgICAgIEFUVE8gVkRB IGludGVyZmFjZSBkZWZpbml0aW9ucwogICoKQEAgLTUsNDIgKzYsNiBAQAogICogIChtYWlsdG86 bGludXhkcml2ZXJzQGF0dG90ZWNoLmNvbSkKICAqLwogLyo9LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0qLwot LyoKLSAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgotICoKLSAqICBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgotICoKLSAqICBOTyBXQVJSQU5UWQotICogIFRIRSBQUk9HUkFNIElTIFBS T1ZJREVEIE9OIEFOICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUgotICogIENP TkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5H LCBXSVRIT1VUCi0gKiAgTElNSVRBVElPTiwgQU5ZIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBP RiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwKLSAqICBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIEVhY2ggUmVjaXBpZW50IGlzCi0gKiAgc29sZWx5 IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5n IGFuZAotICogIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSBhbmQgYXNzdW1lcyBhbGwgcmlza3Mg YXNzb2NpYXRlZCB3aXRoIGl0cwotICogIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzIEFn cmVlbWVudCwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICogIHRoZSByaXNrcyBhbmQg Y29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEsCi0gKiAg cHJvZ3JhbXMgb3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0aW9u IG9mIG9wZXJhdGlvbnMuCi0gKgotICogIERJU0NMQUlNRVIgT0YgTElBQklMSVRZCi0gKiAgTkVJ VEhFUiBSRUNJUElFTlQgTk9SIEFOWSBDT05UUklCVVRPUlMgU0hBTEwgSEFWRSBBTlkgTElBQklM SVRZIEZPUiBBTlkKLSAqICBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqICBEQU1BR0VTIChJTkNMVURJTkcgV0lUSE9V VCBMSU1JVEFUSU9OIExPU1QgUFJPRklUUyksIEhPV0VWRVIgQ0FVU0VEIEFORAotICogIE9OIEFO WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM SVRZLCBPUgotICogIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKLSAqICBVU0UgT1IgRElTVFJJQlVUSU9OIE9GIFRI RSBQUk9HUkFNIE9SIFRIRSBFWEVSQ0lTRSBPRiBBTlkgUklHSFRTIEdSQU5URUQKLSAqICBIRVJF VU5ERVIsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VT Ci0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwg d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w bGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0gKi8KLS8q PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPS09LT0tPS09LT0tPS09Ki8KLQogCiAjaWZuZGVmIEFUVkRBX0gKICNkZWZpbmUgQVRWREFf SAotLS0gYS9kcml2ZXJzL3Njc2kvZXNhczJyL2VzYXMycl9kaXNjLmMKKysrIGIvZHJpdmVycy9z Y3NpL2VzYXMyci9lc2FzMnJfZGlzYy5jCkBAIC0xLDMgKzEsNCBAQAorLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoKICAqICBsaW51eC9kcml2ZXJzL3Njc2kvZXNh czJyL2VzYXMycl9kaXNjLmMKICAqICAgICAgZXNhczJyIGRldmljZSBkaXNjb3Zlcnkgcm91dGlu ZXMKQEAgLTYsNDEgKzcsNiBAQAogICogIChtYWlsdG86bGludXhkcml2ZXJzQGF0dG90ZWNoLmNv bSkKICAqLwogLyo9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0qLwotLyoKLSAqICBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICog IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5Ci0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAy IG9mIHRoZSBMaWNlbnNlLgotICoKLSAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAq ICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBO TyBXQVJSQU5UWQotICogIFRIRSBQUk9HUkFNIElTIFBST1ZJREVEIE9OIEFOICJBUyBJUyIgQkFT SVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUgotICogIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJ VEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUCi0gKiAgTElNSVRBVElP TiwgQU5ZIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgTk9OLUlORlJJTkdFTUVO VCwKLSAqICBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuIEVhY2ggUmVjaXBpZW50IGlzCi0gKiAgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1p bmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZAotICogIGRpc3RyaWJ1dGluZyB0 aGUgUHJvZ3JhbSBhbmQgYXNzdW1lcyBhbGwgcmlza3MgYXNzb2NpYXRlZCB3aXRoIGl0cwotICog IGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzIEFncmVlbWVudCwgaW5jbHVkaW5nIGJ1dCBu b3QgbGltaXRlZCB0bwotICogIHRoZSByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMs IGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEsCi0gKiAgcHJvZ3JhbXMgb3IgZXF1aXBtZW50LCBh bmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0aW9uIG9mIG9wZXJhdGlvbnMuCi0gKgotICog IERJU0NMQUlNRVIgT0YgTElBQklMSVRZCi0gKiAgTkVJVEhFUiBSRUNJUElFTlQgTk9SIEFOWSBD T05UUklCVVRPUlMgU0hBTEwgSEFWRSBBTlkgTElBQklMSVRZIEZPUiBBTlkKLSAqICBESVJFQ1Qs IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ QUwKLSAqICBEQU1BR0VTIChJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIExPU1QgUFJPRklU UyksIEhPV0VWRVIgQ0FVU0VEIEFORAotICogIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgotICogIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUKLSAqICBVU0UgT1IgRElTVFJJQlVUSU9OIE9GIFRIRSBQUk9HUkFNIE9SIFRIRSBFWEVSQ0lT RSBPRiBBTlkgUklHSFRTIEdSQU5URUQKLSAqICBIRVJFVU5ERVIsIEVWRU4gSUYgQURWSVNFRCBP RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTCi0gKgotICogIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh cmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9z dG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0gKi8KLS8qPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09Ki8KIAog I2luY2x1ZGUgImVzYXMyci5oIgogCi0tLSBhL2RyaXZlcnMvc2NzaS9lc2FzMnIvZXNhczJyX2lu dC5jCisrKyBiL2RyaXZlcnMvc2NzaS9lc2FzMnIvZXNhczJyX2ludC5jCkBAIC0xLDMgKzEsNCBA QAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoKICAqICBsaW51 eC9kcml2ZXJzL3Njc2kvZXNhczJyL2VzYXMycl9pbnQuYwogICogICAgICBlc2FzMnIgaW50ZXJy dXB0IGhhbmRsaW5nCkBAIC02LDQxICs3LDYgQEAKICAqICAobWFpbHRvOmxpbnV4ZHJpdmVyc0Bh dHRvdGVjaC5jb20pCiAgKi8KIC8qPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09Ki8KLS8qCi0gKiAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKLSAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KLSAqCi0gKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCi0gKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K LSAqCi0gKiAgTk8gV0FSUkFOVFkKLSAqICBUSEUgUFJPR1JBTSBJUyBQUk9WSURFRCBPTiBBTiAi QVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IKLSAqICBDT05ESVRJT05TIE9GIEFO WSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVEIElOQ0xVRElORywgV0lUSE9VVAotICog IExJTUlUQVRJT04sIEFOWSBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIE5PTi1J TkZSSU5HRU1FTlQsCi0gKiAgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcwotICogIHNvbGVseSByZXNwb25zaWJsZSBm b3IgZGV0ZXJtaW5pbmcgdGhlIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBhbmQKLSAqICBkaXN0 cmlidXRpbmcgdGhlIFByb2dyYW0gYW5kIGFzc3VtZXMgYWxsIHJpc2tzIGFzc29jaWF0ZWQgd2l0 aCBpdHMKLSAqICBleGVyY2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1 ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KLSAqICB0aGUgcmlza3MgYW5kIGNvc3RzIG9mIHByb2dy YW0gZXJyb3JzLCBkYW1hZ2UgdG8gb3IgbG9zcyBvZiBkYXRhLAotICogIHByb2dyYW1zIG9yIGVx dWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9yIGludGVycnVwdGlvbiBvZiBvcGVyYXRpb25z LgotICoKLSAqICBESVNDTEFJTUVSIE9GIExJQUJJTElUWQotICogIE5FSVRIRVIgUkVDSVBJRU5U IE5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZCi0g KiAgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD T05TRVFVRU5USUFMCi0gKiAgREFNQUdFUyAoSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBM T1NUIFBST0ZJVFMpLCBIT1dFVkVSIENBVVNFRCBBTkQKLSAqICBPTiBBTlkgVEhFT1JZIE9GIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKLSAqICBU T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB WSBPVVQgT0YgVEhFCi0gKiAgVVNFIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgUFJPR1JBTSBPUiBU SEUgRVhFUkNJU0UgT0YgQU5ZIFJJR0hUUyBHUkFOVEVECi0gKiAgSEVSRVVOREVSLCBFVkVOIElG IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUwotICoKLSAqICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG cmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0 ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQotICovCi0vKj0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPSovCiAKICNpbmNsdWRlICJlc2FzMnIuaCIKIAotLS0gYS9kcml2ZXJzL3Njc2kvZXNhczJy L2VzYXMycl92ZGEuYworKysgYi9kcml2ZXJzL3Njc2kvZXNhczJyL2VzYXMycl92ZGEuYwpAQCAt MSwzICsxLDQgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8q CiAgKiAgbGludXgvZHJpdmVycy9zY3NpL2VzYXMyci9lc2FzMnJfdmRhLmMKICAqICAgICAgZXNh czJyIGRyaXZlciBWREEgZmlybXdhcmUgaW50ZXJmYWNlIGZ1bmN0aW9ucwpAQCAtNiw0MSArNyw2 IEBACiAgKiAgKG1haWx0bzpsaW51eGRyaXZlcnNAYXR0b3RlY2guY29tKQogICovCiAvKj0tPS09 LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPSovCi0vKgotICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAq ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Uu Ci0gKgotICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIE5PIFdBUlJBTlRZCi0gKiAg VEhFIFBST0dSQU0gSVMgUFJPVklERUQgT04gQU4gIkFTIElTIiBCQVNJUywgV0lUSE9VVCBXQVJS QU5USUVTIE9SCi0gKiAgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1MgT1Ig SU1QTElFRCBJTkNMVURJTkcsIFdJVEhPVVQKLSAqICBMSU1JVEFUSU9OLCBBTlkgV0FSUkFOVElF UyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULAotICogIE1FUkNIQU5U QUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gRWFjaCBSZWNpcGll bnQgaXMKLSAqICBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBhcHByb3By aWF0ZW5lc3Mgb2YgdXNpbmcgYW5kCi0gKiAgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIGFuZCBh c3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzCi0gKiAgZXhlcmNpc2Ugb2Ygcmln aHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvCi0g KiAgdGhlIHJpc2tzIGFuZCBjb3N0cyBvZiBwcm9ncmFtIGVycm9ycywgZGFtYWdlIHRvIG9yIGxv c3Mgb2YgZGF0YSwKLSAqICBwcm9ncmFtcyBvciBlcXVpcG1lbnQsIGFuZCB1bmF2YWlsYWJpbGl0 eSBvciBpbnRlcnJ1cHRpb24gb2Ygb3BlcmF0aW9ucy4KLSAqCi0gKiAgRElTQ0xBSU1FUiBPRiBM SUFCSUxJVFkKLSAqICBORUlUSEVSIFJFQ0lQSUVOVCBOT1IgQU5ZIENPTlRSSUJVVE9SUyBTSEFM TCBIQVZFIEFOWSBMSUFCSUxJVFkgRk9SIEFOWQotICogIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogIERBTUFHRVMg KElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVT RUQgQU5ECi0gKiAgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCi0gKiAgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQotICogIFVTRSBPUiBE SVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMg R1JBTlRFRAotICogIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRVMKLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRp b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0x MzA3ICBVU0EKLSAqLwotLyo9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0qLwogCiAjaW5jbHVkZSAiZXNhczJy LmgiCiAKCg==