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.5 required=3.0 tests=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 9149EC433DF for ; Tue, 23 Jun 2020 14:41:26 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 3CF5220720 for ; Tue, 23 Jun 2020 14:41:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3CF5220720 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=vmware.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A97346E9C2; Tue, 23 Jun 2020 14:41:25 +0000 (UTC) Received: from EX13-EDG-OU-001.vmware.com (ex13-edg-ou-001.vmware.com [208.91.0.189]) by gabe.freedesktop.org (Postfix) with ESMTPS id E42E16E9C2 for ; Tue, 23 Jun 2020 14:41:24 +0000 (UTC) Received: from sc9-mailhost2.vmware.com (10.113.161.72) by EX13-EDG-OU-001.vmware.com (10.113.208.155) with Microsoft SMTP Server id 15.0.1156.6; Tue, 23 Jun 2020 07:41:17 -0700 Received: from [0.0.0.0] (oddjob.vmware.com [10.253.4.32]) by sc9-mailhost2.vmware.com (Postfix) with ESMTP id 9BEC5B2902; Tue, 23 Jun 2020 10:41:16 -0400 (EDT) Subject: Re: [Linux-graphics-maintainer] [PATCH 2/3] drm: uapi: Use SPDX in DRM drivers uAPI headers To: Laurent Pinchart , References: <20200621020703.864-1-laurent.pinchart+renesas@ideasonboard.com> <20200621020703.864-2-laurent.pinchart+renesas@ideasonboard.com> From: Roland Scheidegger Message-ID: <24a48acc-706d-0044-d901-de95ee247a02@vmware.com> Date: Tue, 23 Jun 2020 16:41:15 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200621020703.864-2-laurent.pinchart+renesas@ideasonboard.com> Content-Language: de-DE Received-SPF: None (EX13-EDG-OU-001.vmware.com: sroland@vmware.com does not designate permitted sender hosts) X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Greg Kroah-Hartman , Thierry Reding , VMware Graphics , Ben Skeggs , Alex Deucher , Thomas Gleixner , Sean Paul , =?UTF-8?Q?Christian_K=c3=b6nig?= , Gerd Hoffmann Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QXQgbGVhc3QgZm9yIHRoZSB2bXdnZnggYml0cywgbm8gb2JqZWN0aW9ucyBoZXJlLApSZXZpZXdl ZC1ieTogUm9sYW5kIFNjaGVpZGVnZ2VyIDxzcm9sYW5kQHZtd2FyZS5jb20+CgpBbSAyMS4wNi4y MCB1bSAwNDowNyBzY2hyaWViIExhdXJlbnQgUGluY2hhcnQ6Cj4gTW9zdCBvZiB0aGUgRFJNIGRy aXZlcnMgdUFQSSBoZWFkZXJzIGFyZSBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UsCj4g YW5kIGNhcnJ5IGNvcGllcyBvZiB0aGUgbGljZW5zZSB3aXRoIHNsaWdodCB2YXJpYXRpb25zLiBS ZXBsYWNlIHRoZW0KPiB3aXRoIFNQRFggaGVhZGVycy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBMYXVy ZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4K PiAtLS0KPiAgaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggIHwgMTkgKy0tLS0tLS0tLS0t LS0tLS0tLQo+ICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgfCAyMiArLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vbWdhX2RybS5oICAgICB8IDIwICstLS0t LS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vbXNtX2RybS5oICAgICB8IDIwICst LS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vbm91dmVhdV9kcm0uaCB8IDIw ICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vcXhsX2RybS5oICAgICB8 IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vcjEyOF9kcm0uaCAg ICB8IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vcmFkZW9uX2Ry bS5oICB8IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vc2F2YWdl X2RybS5oICB8IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9kcm0vc2lz X2RybS5oICAgICB8IDIxICstLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBpbmNsdWRlL3VhcGkvZHJt L3RlZ3JhX2RybS5oICAgfCAxOSArLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFwaS9k cm0vdjNkX2RybS5oICAgICB8IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvdWFw aS9kcm0vdmM0X2RybS5oICAgICB8IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUv dWFwaS9kcm0vdmdlbV9kcm0uaCAgICB8IDIyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgaW5j bHVkZS91YXBpL2RybS92aWFfZHJtLmggICAgIHwgMjAgKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAg aW5jbHVkZS91YXBpL2RybS92aXJ0Z3B1X2RybS5oIHwgMjAgKy0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgaW5jbHVkZS91YXBpL2RybS92bXdnZnhfZHJtLmggIHwgMjEgKy0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gIDE3IGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDMyNyBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggYi9pbmNs dWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+IGluZGV4IDRlODczZGNiZTY4Zi4uYzZhZGRhNzJi ZWM3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCj4gKysrIGIv aW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPiBAQCAtMSwzICsxLDQgQEAKPiArLyogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVCAqLwo+ICAvKiBhbWRncHVfZHJtLmggLS0gUHVibGlj IGhlYWRlciBmb3IgdGhlIGFtZGdwdSBkcml2ZXIgLSotIGxpbnV4LWMgLSotCj4gICAqCj4gICAq IENvcHlyaWdodCAyMDAwIFByZWNpc2lvbiBJbnNpZ2h0LCBJbmMuLCBDZWRhciBQYXJrLCBUZXhh cy4KPiBAQCAtNSwyNCArNiw2IEBACj4gICAqIENvcHlyaWdodCAyMDAyIFR1bmdzdGVuIEdyYXBo aWNzLCBJbmMuLCBDZWRhciBQYXJrLCBUZXhhcy4KPiAgICogQ29weXJpZ2h0IDIwMTQgQWR2YW5j ZWQgTWljcm8gRGV2aWNlcywgSW5jLgo+ICAgKgo+IC0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+IC0gKiBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlICJTb2Z0d2FyZSIpLAo+IC0gKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gLSAqIHRoZSByaWdodHMg dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl bnNlLAo+IC0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVy bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiAtICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv IHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiAtICoKPiAtICogVGhl IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg YmUgaW5jbHVkZWQgaW4KPiAtICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUgU29mdHdhcmUuCj4gLSAqCj4gLSAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMg SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gLSAqIElNUExJ RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZLAo+IC0gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O SU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiAtICogVEhFIENPUFlSSUdIVCBIT0xE RVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCj4g LSAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLAo+IC0gKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKPiAtICogT1RIRVIgREVBTElOR1Mg SU4gVEhFIFNPRlRXQVJFLgo+IC0gKgo+ICAgKiBBdXRob3JzOgo+ICAgKiAgICBLZXZpbiBFLiBN YXJ0aW4gPG1hcnRpbkB2YWxpbnV4LmNvbT4KPiAgICogICAgR2FyZXRoIEh1Z2hlcyA8Z2FyZXRo QHZhbGludXguY29tPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgg Yi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiBpbmRleCAxNGI2N2NkNmI1NGIuLmMyOWUz YWNiMzAyNiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiArKysg Yi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiBAQCAtMSwyNyArMSw3IEBACj4gKy8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KPiAgLyoKPiAgICogQ29weXJpZ2h0IDIwMDMg VHVuZ3N0ZW4gR3JhcGhpY3MsIEluYy4sIENlZGFyIFBhcmssIFRleGFzLgo+ICAgKiBBbGwgUmln aHRzIFJlc2VydmVkLgo+IC0gKgo+IC0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+IC0gKiBjb3B5IG9mIHRo aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCj4gLSAq ICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9u LCBpbmNsdWRpbmcKPiAtICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAo+IC0gKiBkaXN0cmlidXRlLCBzdWIgbGljZW5z ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCj4gLSAqIHBlcm1p dCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0bwo+IC0gKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBh Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRp bmcgdGhlCj4gLSAqIG5leHQgcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zCj4gLSAqIG9mIHRoZSBTb2Z0d2FyZS4KPiAtICoK PiAtICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZIEtJTkQsIEVYUFJFU1MKPiAtICogT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgo+IC0gKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULgo+IC0gKiBJ TiBOTyBFVkVOVCBTSEFMTCBUVU5HU1RFTiBHUkFQSElDUyBBTkQvT1IgSVRTIFNVUFBMSUVSUyBC RSBMSUFCTEUgRk9SCj4gLSAqIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAo+IC0gKiBUT1JUIE9SIE9USEVSV0lT RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQo+IC0gKiBT T0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAt ICoKPiAgICovCj4gIAo+ICAjaWZuZGVmIF9VQVBJX0k5MTVfRFJNX0hfCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vbWdhX2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9tZ2FfZHJtLmgK PiBpbmRleCA4YzQzMzc1NDhhYjUuLjQ0MTVlZmVmZTBjZiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L3VhcGkvZHJtL21nYV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vbWdhX2RybS5oCj4g QEAgLTEsMyArMSw0IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KPiAg LyogbWdhX2RybS5oIC0tIFB1YmxpYyBoZWFkZXIgZm9yIHRoZSBNYXRyb3ggZzIwMC9nNDAwIGRy aXZlciAtKi0gbGludXgtYyAtKi0KPiAgICogQ3JlYXRlZDogVHVlIEphbiAyNSAwMTo1MDowMSAx OTk5IGJ5IGpoYXJ0bWFubkBwcmVjaXNpb25pbnNpZ2h0LmNvbQo+ICAgKgo+IEBAIC01LDI1ICs2 LDYgQEAKPiAgICogQ29weXJpZ2h0IDIwMDAgVkEgTGludXggU3lzdGVtcywgSW5jLiwgU3Vubnl2 YWxlLCBDYWxpZm9ybmlhLgo+ICAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICAgKgo+IC0gKiBQ ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv biBvYnRhaW5pbmcgYQo+IC0gKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+IC0gKiB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0 aW9uCj4gLSAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+IC0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiAtICogU29mdHdh cmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0 aW9uczoKPiAtICoKPiAtICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+IC0gKiBwYXJhZ3JhcGgpIHNoYWxs IGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl Cj4gLSAqIFNvZnR3YXJlLgo+IC0gKgo+IC0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+IC0gKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKPiAtICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P TklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gLSAqIFZBIExJTlVYIFNZU1RFTVMg QU5EL09SIElUUyBTVVBQTElFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IK PiAtICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg VE9SVCBPUiBPVEhFUldJU0UsCj4gLSAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgo+IC0gKiBPVEhFUiBERUFMSU5H UyBJTiBUSEUgU09GVFdBUkUuCj4gLSAqCj4gICAqIEF1dGhvcnM6Cj4gICAqICAgIEplZmYgSGFy dG1hbm4gPGpoYXJ0bWFubkB2YWxpbnV4LmNvbT4KPiAgICogICAgS2VpdGggV2hpdHdlbGwgPGtl aXRoQHR1bmdzdGVuZ3JhcGhpY3MuY29tPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJt L21zbV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vbXNtX2RybS5oCj4gaW5kZXggMGI4NWVkNmEz NzEwLi4xODlkMWE3ZjdhN2IgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9tc21fZHJt LmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL21zbV9kcm0uaAo+IEBAIC0xLDI1ICsxLDcgQEAK PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVCAqLwo+ICAvKgo+ICAgKiBDb3B5cmln aHQgKEMpIDIwMTMgUmVkIEhhdAo+ICAgKiBBdXRob3I6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdt YWlsLmNvbT4KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICogY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi KSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j bHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiAtICogYW5k L29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRv IHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0 byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBhYm92ZSBjb3B5cmln aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQK PiAtICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0 YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAtICoKPiAtICogVEhFIFNP RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs IEVYUFJFU1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ IC0gKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBD TEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+IC0gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU SU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAo+IC0gKiBP VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9U SEVSIERFQUxJTkdTIElOIFRIRQo+IC0gKiBTT0ZUV0FSRS4KPiAgICovCj4gIAo+ICAjaWZuZGVm IF9fTVNNX0RSTV9IX18KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9ub3V2ZWF1X2Ry bS5oIGIvaW5jbHVkZS91YXBpL2RybS9ub3V2ZWF1X2RybS5oCj4gaW5kZXggODUzYTMyNzQzM2Qz Li41NTUyODNiNDkwODAgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9ub3V2ZWF1X2Ry bS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9ub3V2ZWF1X2RybS5oCj4gQEAgLTEsMjUgKzEs NyBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCj4gIC8qCj4gICAqIENv cHlyaWdodCAyMDA1IFN0ZXBoYW5lIE1hcmNoZXNpbi4KPiAgICogQWxsIFJpZ2h0cyBSZXNlcnZl ZC4KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICogY29weSBvZiB0aGlzIHNvZnR3YXJl IGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiAt ICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n IHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5 LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiAtICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUg Zm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90 aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPiAtICog cGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs IHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAtICoKPiAtICogVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF U1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+IC0gKiBW QSBMSU5VWCBTWVNURU1TIEFORC9PUiBJVFMgU1VQUExJRVJTIEJFIExJQUJMRSBGT1IgQU5ZIENM QUlNLCBEQU1BR0VTIE9SCj4gLSAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ T04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+IC0gKiBBUklTSU5HIEZST00sIE9V VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKPiAt ICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ICAgKi8KPiAgCj4gICNpZm5kZWYg X19OT1VWRUFVX0RSTV9IX18KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9xeGxfZHJt LmggYi9pbmNsdWRlL3VhcGkvZHJtL3F4bF9kcm0uaAo+IGluZGV4IDg4MDk5OWQyZDg2My4uOWZi Zjk3YWQ3MjcyIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vcXhsX2RybS5oCj4gKysr IGIvaW5jbHVkZS91YXBpL2RybS9xeGxfZHJtLmgKPiBAQCAtMSwyNSArMSw3IEBACj4gKy8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KPiAgLyoKPiAgICogQ29weXJpZ2h0IDIwMTMg UmVkIEhhdAo+ICAgKiBBbGwgUmlnaHRzIFJlc2VydmVkLgo+IC0gKgo+IC0gKiBQZXJtaXNzaW9u IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p bmcgYQo+IC0gKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+IC0gKiB0byBkZWFsIGluIHRoZSBTb2Z0d2Fy ZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gLSAq IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmli dXRlLCBzdWJsaWNlbnNlLAo+IC0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl LCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiAtICogU29mdHdhcmUgaXMgZnVy bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiAt ICoKPiAtICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu b3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+IC0gKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1 ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gLSAqIFNv ZnR3YXJlLgo+IC0gKgo+IC0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lU SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+IC0gKiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSwKPiAtICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF TUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gLSAqIFRIRSBBVVRIT1JTIEFORC9PUiBJVFMgU1VQ UExJRVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCj4gLSAqIE9USEVSIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX SVNFLAo+IC0gKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF IFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKPiAtICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRX QVJFLgo+ICAgKi8KPiAgI2lmbmRlZiBRWExfRFJNX0gKPiAgI2RlZmluZSBRWExfRFJNX0gKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9yMTI4X2RybS5oIGIvaW5jbHVkZS91YXBpL2Ry bS9yMTI4X2RybS5oCj4gaW5kZXggNjkwZTljNjJmNTEwLi5jNDI2ZTZhMWM4NDMgMTAwNjQ0Cj4g LS0tIGEvaW5jbHVkZS91YXBpL2RybS9yMTI4X2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2Ry bS9yMTI4X2RybS5oCj4gQEAgLTEsMyArMSw0IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBNSVQgKi8KPiAgLyogcjEyOF9kcm0uaCAtLSBQdWJsaWMgaGVhZGVyIGZvciB0aGUgcjEy OCBkcml2ZXIgLSotIGxpbnV4LWMgLSotCj4gICAqIENyZWF0ZWQ6IFdlZCBBcHIgIDUgMTk6MjQ6 MTkgMjAwMCBieSBrZXZpbkBwcmVjaXNpb25pbnNpZ2h0LmNvbQo+ICAgKi8KPiBAQCAtNiwyNSAr Nyw2IEBACj4gICAqIENvcHlyaWdodCAyMDAwIFZBIExpbnV4IFN5c3RlbXMsIEluYy4sIFN1bm55 dmFsZSwgQ2FsaWZvcm5pYS4KPiAgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiAgICoKPiAtICog UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz b24gb2J0YWluaW5nIGEKPiAtICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiAtICogdG8gZGVhbCBpbiB0 aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh dGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz aCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiAtICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRo ZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gLSAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl cm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPiAtICogcGFyYWdyYXBoKSBzaGFs bCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo ZQo+IC0gKiBTb2Z0d2FyZS4KPiAtICoKPiAtICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJB UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiAtICogSU1Q TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJD SEFOVEFCSUxJVFksCj4gLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO T05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+IC0gKiBQUkVDSVNJT04gSU5TSUdI VCBBTkQvT1IgSVRTIFNVUFBMSUVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP Ugo+IC0gKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU LCBUT1JUIE9SIE9USEVSV0lTRSwKPiAtICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O TkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCj4gLSAqIERFQUxJ TkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAtICoKPiAgICogQXV0aG9yczoKPiAgICogICAgR2FyZXRo IEh1Z2hlcyA8Z2FyZXRoQHZhbGludXguY29tPgo+ICAgKiAgICBLZXZpbiBFLiBNYXJ0aW4gPG1h cnRpbkB2YWxpbnV4LmNvbT4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9yYWRlb25f ZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL3JhZGVvbl9kcm0uaAo+IGluZGV4IDQ5MGE1OWNjNDUz Mi4uYjVjNGVmODEzYTllIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vcmFkZW9uX2Ry bS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9yYWRlb25fZHJtLmgKPiBAQCAtMSwzICsxLDQg QEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVCAqLwo+ICAvKiByYWRlb25fZHJt LmggLS0gUHVibGljIGhlYWRlciBmb3IgdGhlIHJhZGVvbiBkcml2ZXIgLSotIGxpbnV4LWMgLSot Cj4gICAqCj4gICAqIENvcHlyaWdodCAyMDAwIFByZWNpc2lvbiBJbnNpZ2h0LCBJbmMuLCBDZWRh ciBQYXJrLCBUZXhhcy4KPiBAQCAtNSwyNSArNiw2IEBACj4gICAqIENvcHlyaWdodCAyMDAyIFR1 bmdzdGVuIEdyYXBoaWNzLCBJbmMuLCBDZWRhciBQYXJrLCBUZXhhcy4KPiAgICogQWxsIHJpZ2h0 cyByZXNlcnZlZC4KPiAgICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICogY29weSBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKPiAtICog YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z IHRvIHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj dCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBhYm92ZSBjb3B5 cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5l eHQKPiAtICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1 YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAtICoKPiAtICogVEhF IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ TkQsIEVYUFJFU1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFM TAo+IC0gKiBQUkVDSVNJT04gSU5TSUdIVCBBTkQvT1IgSVRTIFNVUFBMSUVSUyBCRSBMSUFCTEUg Rk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgo+IC0gKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKPiAtICogQVJJU0lO RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSCj4gLSAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAtICoKPiAgICog QXV0aG9yczoKPiAgICogICAgS2V2aW4gRS4gTWFydGluIDxtYXJ0aW5AdmFsaW51eC5jb20+Cj4g ICAqICAgIEdhcmV0aCBIdWdoZXMgPGdhcmV0aEB2YWxpbnV4LmNvbT4KPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS91YXBpL2RybS9zYXZhZ2VfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL3NhdmFnZV9k cm0uaAo+IGluZGV4IDBmNmVkZGVmNzRhYS4uYmQ1ZTc0MzQ4ZGI0IDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvdWFwaS9kcm0vc2F2YWdlX2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9zYXZh Z2VfZHJtLmgKPiBAQCAtMSwyNiArMSw4IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBNSVQgKi8KPiAgLyogc2F2YWdlX2RybS5oIC0tIFB1YmxpYyBoZWFkZXIgZm9yIHRoZSBzYXZh Z2UgZHJpdmVyCj4gICAqCj4gICAqIENvcHlyaWdodCAyMDA0ICBGZWxpeCBLdWVobGluZwo+ICAg KiBBbGwgUmlnaHRzIFJlc2VydmVkLgo+IC0gKgo+IC0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+IC0gKiBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlICJTb2Z0d2FyZSIpLAo+IC0gKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gLSAqIHRoZSByaWdodHMg dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWIgbGlj ZW5zZSwKPiAtICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBk byBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRo ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNs dWRpbmcgdGhlCj4gLSAqIG5leHQgcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zCj4gLSAqIG9mIHRoZSBTb2Z0d2FyZS4KPiAt ICoKPiAtICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsCj4gLSAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgo+IC0gKiBNRVJDSEFOVEFCSUxJVFksIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAo+IC0gKiBOT04tSU5GUklOR0VNRU5U LiBJTiBOTyBFVkVOVCBTSEFMTCBGRUxJWCBLVUVITElORyBCRSBMSUFCTEUgRk9SCj4gLSAqIEFO WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O IE9GCj4gLSAqIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg T0YgT1IgSU4gQ09OTkVDVElPTgo+IC0gKiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S IE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAgICovCj4gIAo+ICAjaWZuZGVmIF9f U0FWQUdFX0RSTV9IX18KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9zaXNfZHJtLmgg Yi9pbmNsdWRlL3VhcGkvZHJtL3Npc19kcm0uaAo+IGluZGV4IDNlM2Y3ZTk4OWUwYi4uOWY3ZWIx M2IxOTc1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vc2lzX2RybS5oCj4gKysrIGIv aW5jbHVkZS91YXBpL2RybS9zaXNfZHJtLmgKPiBAQCAtMSwyNyArMSw4IEBACj4gKy8qIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KPiAgLyogc2lzX2Rydi5oIC0tIFByaXZhdGUgaGVh ZGVyIGZvciBzaXMgZHJpdmVyIC0qLSBsaW51eC1jIC0qLSAqLwo+ICAvKgo+ICAgKiBDb3B5cmln aHQgMjAwNSBFcmljIEFuaG9sdAo+ICAgKiBBbGwgUmlnaHRzIFJlc2VydmVkLgo+IC0gKgo+IC0g KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl cnNvbiBvYnRhaW5pbmcgYQo+IC0gKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0 ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+IC0gKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p dGF0aW9uCj4gLSAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs aXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+IC0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiAtICogU29m dHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczoKPiAtICoKPiAtICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+IC0gKiBwYXJhZ3JhcGgpIHNo YWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg dGhlCj4gLSAqIFNvZnR3YXJlLgo+IC0gKgo+IC0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQg IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+IC0gKiBJ TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1F UkNIQU5UQUJJTElUWSwKPiAtICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E IE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gLSAqIFRIRSBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSCj4gLSAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCj4gLSAqIE9VVCBPRiBPUiBJTiBDT05ORUNU SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF Cj4gLSAqIFNPRlRXQVJFLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpZm5kZWYgX19TSVNfRFJNX0hf Xwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL3RlZ3JhX2RybS5oIGIvaW5jbHVkZS91 YXBpL2RybS90ZWdyYV9kcm0uaAo+IGluZGV4IGM0ZGYzYzM2NjhiMy4uOThjMmYxN2FhN2RlIDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vdGVncmFfZHJtLmgKPiArKysgYi9pbmNsdWRl L3VhcGkvZHJtL3RlZ3JhX2RybS5oCj4gQEAgLTEsMjMgKzEsNiBAQAo+ICsvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogTUlUICovCj4gIC8qCj4gICAqIENvcHlyaWdodCAoYykgMjAxMi0yMDEz LCBOVklESUEgQ09SUE9SQVRJT04uICBBbGwgcmlnaHRzIHJlc2VydmVkLgo+IC0gKgo+IC0gKiBQ ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv biBvYnRhaW5pbmcgYQo+IC0gKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+IC0gKiB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0 aW9uCj4gLSAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+IC0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiAtICogU29mdHdh cmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0 aW9uczoKPiAtICoKPiAtICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPiAtICogYWxsIGNvcGllcyBvciBz dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4gLSAqCj4gLSAqIFRIRSBTT0ZU V0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBF WFBSRVNTIE9SCj4gLSAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+IC0gKiBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiAt ICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5Z IENMQUlNLCBEQU1BR0VTIE9SCj4gLSAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB Q1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+IC0gKiBBUklTSU5HIEZST00s IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IK PiAtICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ICAgKi8KPiAgCj4gICNpZm5k ZWYgX1VBUElfVEVHUkFfRFJNX0hfCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vdjNk X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS92M2RfZHJtLmgKPiBpbmRleCAxY2U3NDZlMjI4ZDku Ljc4OTVmYjliYzAxOCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL3YzZF9kcm0uaAo+ ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vdjNkX2RybS5oCj4gQEAgLTEsMjQgKzEsNiBAQAo+ICsv KiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCj4gIC8qCj4gICAqIENvcHlyaWdodCDC qSAyMDE0LTIwMTggQnJvYWRjb20KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICogY29w eSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo ZSAiU29mdHdhcmUiKSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0 cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z ZSwKPiAtICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1p dCBwZXJzb25zIHRvIHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBz bywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBh Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRp bmcgdGhlIG5leHQKPiAtICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAtICoK PiAtICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBF VkVOVCBTSEFMTAo+IC0gKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC TEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+IC0gKiBMSUFCSUxJVFksIFdIRVRI RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+ IC0gKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4gLSAqIElOIFRIRSBTT0ZUV0FSRS4KPiAgICovCj4g IAo+ICAjaWZuZGVmIF9WM0RfRFJNX0hfCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0v dmM0X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS92YzRfZHJtLmgKPiBpbmRleCAyY2FjNjI3N2Ex ZDcuLjE0YjlhMjE4NmVhZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL3ZjNF9kcm0u aAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vdmM0X2RybS5oCj4gQEAgLTEsMjQgKzEsNiBAQAo+ ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCj4gIC8qCj4gICAqIENvcHlyaWdo dCDCqSAyMDE0LTIwMTUgQnJvYWRjb20KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkg Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICog Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg KHRoZSAiU29mdHdhcmUiKSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCBy ZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRz IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwKPiAtICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBk byBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRo ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNs dWRpbmcgdGhlIG5leHQKPiAtICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAt ICoKPiAtICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBO TyBFVkVOVCBTSEFMTAo+IC0gKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+IC0gKiBMSUFCSUxJVFksIFdI RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO Rwo+IC0gKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBP UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4gLSAqIElOIFRIRSBTT0ZUV0FSRS4KPiAgICov Cj4gIAo+ICAjaWZuZGVmIF9VQVBJX1ZDNF9EUk1fSF8KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2RybS92Z2VtX2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS92Z2VtX2RybS5oCj4gaW5kZXgg YmY2NmY1ZGI2ZGE4Li45NjVlMWFkMDBkY2IgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2Ry bS92Z2VtX2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS92Z2VtX2RybS5oCj4gQEAgLTEs MjcgKzEsNyBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCj4gIC8qCj4g ICAqIENvcHlyaWdodCAyMDE2IEludGVsIENvcnBvcmF0aW9uCj4gICAqIEFsbCBSaWdodHMgUmVz ZXJ2ZWQuCj4gLSAqCj4gLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gLSAqIGNvcHkgb2YgdGhpcyBzb2Z0 d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKPiAtICogIlNvZnR3 YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1 ZGluZwo+IC0gKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCj4gLSAqIGRpc3RyaWJ1dGUsIHN1YiBsaWNlbnNlLCBhbmQv b3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KPiAtICogcGVybWl0IHBlcnNv bnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv Cj4gLSAqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiAtICoKPiAtICogVGhlIGFib3ZlIGNv cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUK PiAtICogbmV4dCBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Ig c3Vic3RhbnRpYWwgcG9ydGlvbnMKPiAtICogb2YgdGhlIFNvZnR3YXJlLgo+IC0gKgo+IC0gKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUwo+IC0gKiBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE IFRPIFRIRSBXQVJSQU5USUVTIE9GCj4gLSAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuCj4gLSAqIElOIE5PIEVW RU5UIFNIQUxMIFRVTkdTVEVOIEdSQVBISUNTIEFORC9PUiBJVFMgU1VQUExJRVJTIEJFIExJQUJM RSBGT1IKPiAtICogQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCj4gLSAqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCj4gLSAqIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+IC0gKgo+ICAg Ki8KPiAgCj4gICNpZm5kZWYgX1VBUElfVkdFTV9EUk1fSF8KPiBkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL2RybS92aWFfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL3ZpYV9kcm0uaAo+IGluZGV4 IGExZTEyNWQ0MjIwOC4uZDc3YTIxZTdlYjcwIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9k cm0vdmlhX2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS92aWFfZHJtLmgKPiBAQCAtMSwy NSArMSw3IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KPiAgLyoKPiAg ICogQ29weXJpZ2h0IDE5OTgtMjAwMyBWSUEgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCBSaWdodHMg UmVzZXJ2ZWQuCj4gICAqIENvcHlyaWdodCAyMDAxLTIwMDMgUzMgR3JhcGhpY3MsIEluYy4gQWxs IFJpZ2h0cyBSZXNlcnZlZC4KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICogY29weSBv ZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAi U29mdHdhcmUiKSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmlj dGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRvIHVz ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3ViIGxpY2Vuc2Us Cj4gLSAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQo+IC0gKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+IC0gKgo+IC0gKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5n IHRoZQo+IC0gKiBuZXh0IHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGll cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucwo+IC0gKiBvZiB0aGUgU29mdHdhcmUuCj4gLSAqCj4g LSAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G IEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gLSAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+IC0gKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZF TlQgU0hBTEwKPiAtICogVklBLCBTMyBHUkFQSElDUywgQU5EL09SIElUUyBTVVBQTElFUlMgQkUg TElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKPiAtICogT1RIRVIgTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCj4gLSAq IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1IgVEhFIFVTRSBPUiBPVEhFUgo+IC0gKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gICAq Lwo+ICAjaWZuZGVmIF9WSUFfRFJNX0hfCj4gICNkZWZpbmUgX1ZJQV9EUk1fSF8KPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS91YXBpL2RybS92aXJ0Z3B1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS92 aXJ0Z3B1X2RybS5oCj4gaW5kZXggZjA2YTc4OWYzNGNkLi5jZWEwMzUyYmMzMTkgMTAwNjQ0Cj4g LS0tIGEvaW5jbHVkZS91YXBpL2RybS92aXJ0Z3B1X2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBp L2RybS92aXJ0Z3B1X2RybS5oCj4gQEAgLTEsMjUgKzEsNyBAQAo+ICsvKiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogTUlUICovCj4gIC8qCj4gICAqIENvcHlyaWdodCAyMDEzIFJlZCBIYXQKPiAg ICogQWxsIFJpZ2h0cyBSZXNlcnZlZC4KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkg Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICog Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg KHRoZSAiU29mdHdhcmUiKSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCBy ZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRz IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwKPiAtICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBk byBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRo ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNs dWRpbmcgdGhlIG5leHQKPiAtICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAt ICoKPiAtICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBO TyBFVkVOVCBTSEFMTAo+IC0gKiBUSEUgQVVUSE9SUyBBTkQvT1IgSVRTIFNVUFBMSUVSUyBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgo+IC0gKiBPVEhFUiBMSUFCSUxJVFksIFdI RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKPiAtICog QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBP UiBUSEUgVVNFIE9SCj4gLSAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAgICov Cj4gICNpZm5kZWYgVklSVEdQVV9EUk1fSAo+ICAjZGVmaW5lIFZJUlRHUFVfRFJNX0gKPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS92bXdnZnhfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJt L3Ztd2dmeF9kcm0uaAo+IGluZGV4IDAyZTkxNzUwNzQ3OS4uNzI4ZTQzMmYwOWExIDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vdm13Z2Z4X2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBp L2RybS92bXdnZnhfZHJtLmgKPiBAQCAtMSwyOCArMSw5IEBACj4gKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBNSVQgKi8KPiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gICAqCj4gICAqIENvcHly aWdodCDCqSAyMDA5LTIwMTUgVk13YXJlLCBJbmMuLCBQYWxvIEFsdG8sIENBLiwgVVNBCj4gICAq IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCj4gICAqCj4gLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gLSAqIGNv cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0 aGUKPiAtICogIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVz dHJpY3Rpb24sIGluY2x1ZGluZwo+IC0gKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0 byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCj4gLSAqIGRpc3RyaWJ1dGUsIHN1 YiBsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KPiAt ICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv IHNvLCBzdWJqZWN0IHRvCj4gLSAqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiAtICoKPiAt ICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug KGluY2x1ZGluZyB0aGUKPiAtICogbmV4dCBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGlu IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMKPiAtICogb2YgdGhlIFNvZnR3YXJl Lgo+IC0gKgo+IC0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+IC0gKiBJTVBMSUVELCBJTkNMVURJTkcg QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiAt ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQu IElOIE5PIEVWRU5UIFNIQUxMCj4gLSAqIFRIRSBDT1BZUklHSFQgSE9MREVSUywgQVVUSE9SUyBB TkQvT1IgSVRTIFNVUFBMSUVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwKPiAtICogREFNQUdF UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBU T1JUIE9SCj4gLSAqIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD VElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUKPiAtICogVVNFIE9SIE9USEVSIERFQUxJTkdT IElOIFRIRSBTT0ZUV0FSRS4KPiAtICoKPiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+ICAKPiAgI2lm bmRlZiBfX1ZNV0dGWF9EUk1fSF9fCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK