Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1842926ybx; Thu, 7 Nov 2019 18:23:16 -0800 (PST) X-Google-Smtp-Source: APXvYqzqDvCMZllMWnVgUOstlvkP2ZvBWyP0ZOJ5Qe3UfHlvl3XVeHwq7P6dZPsfUEeBfutE4T13 X-Received: by 2002:a17:906:b310:: with SMTP id n16mr6450239ejz.129.1573179796029; Thu, 07 Nov 2019 18:23:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573179796; cv=none; d=google.com; s=arc-20160816; b=IruFKZZURyWiJGdtRJdwEWqch0MHl9vcEHOE0Dl70oJvt/SM1iv4sJXBEAsEE6XH1g MawTGWXhP3Dlaf3h55GFTACKnyrIVx3pj3/GCaTxpJcOSF12xaqlugZIY3mnIdOAH2OG IRu8p5JoM+VXz8h33PsnSd4wpcq+1+TeGhvpo18+g9Gf5zoQJ2aibV61xxQfZ/ZyWSZL 4oJ/AeL5Jkjgvft7s5Y6G3c4fjJtVOHAYerrJBB/Bg8ALYl+x80/g0mAfSVwcHzsk+sh 5cWccnKg/6OymyDc3edXIdjEfr9RJWNXTO9hYwgNaHOc1IqICENXyaXXk2Z05ReBOxRH xJ3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=0Xm4fAKhS0Bda/OxRyEAzGQRB5Nhu6QEXel6VOH0gas=; b=DFoMyt0ul7+Nd5ll6/XuTpD9gz/lH9CWDuskBdWqLxr7gwVgrMLCBhT+PlJ9OqeTrW UpYYY8LvXqIy2N2JKshQX9lMp3DRwOvL2PXiiAiIit4r5mQxtx3EECLhBd2kIWUBV/Nb 5GmcRBslIlqyDAN2ZBomIfuAJOYyXiZDiozL2pV5nL2znh4pSZ5VEaDzqMNbdp9er2I4 v29ghglblSYdkdBguD/415oMAeahnM1RHyGEi350xii0eI5a1rMicVe2kX8LRyjzC6wg Wrxx/v2mhvz5QvY5HtEP5NRkR2qYRHOEODQpYKEODBFSlNgOCQLCuzAvuxfjjiR1ZTaz 5VYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q8si3250540edi.445.2019.11.07.18.22.52; Thu, 07 Nov 2019 18:23:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728302AbfKHCTQ (ORCPT + 99 others); Thu, 7 Nov 2019 21:19:16 -0500 Received: from sci-ig2.spreadtrum.com ([222.66.158.135]:12462 "EHLO SHSQR01.spreadtrum.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726219AbfKHCTQ (ORCPT ); Thu, 7 Nov 2019 21:19:16 -0500 Received: from ig2.spreadtrum.com (bjmbx02.spreadtrum.com [10.0.64.8]) by SHSQR01.spreadtrum.com with ESMTPS id xA82GTW0012313 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO); Fri, 8 Nov 2019 10:16:30 +0800 (CST) (envelope-from lvqiang.huang@unisoc.com) Received: from BJMBX01.spreadtrum.com (10.0.64.7) by BJMBX02.spreadtrum.com (10.0.64.8) with Microsoft SMTP Server (TLS) id 15.0.847.32; Fri, 8 Nov 2019 10:16:37 +0800 Received: from BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7]) by BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7%16]) with mapi id 15.00.0847.030; Fri, 8 Nov 2019 10:16:19 +0800 From: =?gb2312?B?u8bCwMe/IChMdnFpYW5nIEh1YW5nKQ==?= To: Russell King - ARM Linux admin CC: "ebiederm@xmission.com" , "dave.hansen@linux.intel.com" , "anshuman.khandual@arm.com" , "akpm@linux-foundation.org" , "f.fainelli@gmail.com" , "will@kernel.org" , "tglx@linutronix.de" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "'26332949@qq.com'" <26332949@qq.com>, =?gb2312?B?s/6298C0IChFbmxhaSBDaHUp?= Subject: RE: [PATCH] ARM: check __ex_table in do_bad() Thread-Topic: [PATCH] ARM: check __ex_table in do_bad() Thread-Index: AQHVlT9LZv+9LX02T0yFglLQtX/ntKd+6ZYAgAEL2yeAAIimAA== Date: Fri, 8 Nov 2019 02:16:18 +0000 Message-ID: <2bf9a1c1950941aabc383fd196e5768a@BJMBX01.spreadtrum.com> References: <1573112713-10115-1-git-send-email-Lvqiang.Huang@unisoc.com>,<20191107092404.GV25745@shell.armlinux.org.uk> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.0.64.20] Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MAIL: SHSQR01.spreadtrum.com xA82GTW0012313 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U29ycnkgZm9yIG5vdCBoYXZpbmcgZGVzY3JpYmVkIGl0IGNsZWFybHksIHBsZWFzZSBsZXQgbWUg YWRkIHNvbWUgbW9yZSBpbmZvcm1hdGlvbi4gDQoNClRoZSBrZXJuZWwgbG9nIGZvciB0aGUgc2Nl bmFyaW8NClsyMDQ2MS4yNzEzNzRdIHN5c3JxOiBTeXNScSA6IFNob3cgQmxvY2tlZCBTdGF0ZQ0K WzIwNDYxLjI3MTQwNV0gICB0YXNrICAgICAgICAgICAgICAgIFBDIHN0YWNrICAgcGlkIGZhdGhl cg0KWzIwNDYxLjI3MTQzNl0gbWJveC1zZW5kLXRocmVhIEQgYzA4Y2ZhZDggICAgIDAgICAgMzgg ICAgICAyIDB4MDAwMDAwMDANCi8qYW5kIGlnbm9yZSBzb21lIGxvZ3MgYWJvcnQgdGhlIGJhY2t0 cmFjZSBkdW1wIG9mIHNvbWUgVEFTS19VTklOVEVSUlVQVElCTEUgdGFza3MgKi8NClsyMDQ2MS4y NzMzODddIGZzY2suZXhmYXQgICAgICBEIGMwOGNmYWQ4ICAgICAwICA2MjIxICAgMjI3NiAweDAw MDAwMDAwDQpbMjA0NjEuMjczNDA4XSBCYWNrdHJhY2U6DQpbMjA0NjEuMjczNDMwXSBbPGMwOGNm NWQwPl0gKF9fc2NoZWR1bGUpIGZyb20gWzxjMDhjZmY4ND5dIChzY2hlZHVsZSsweDkwLzB4YTgp DQpbMjA0NjEuMjczNDQyXSAgcjEwOmNlMDA5ZWYwIHI5OmNlMDA5ZGY0IHI4OmMwZDA3OTBjIHI3 OjAwMDAwMDgyIHI2OjdmZmZmZmZmIHI1OjAwMDAwMDAwDQpbMjA0NjEuMjczNDc3XSAgcjQ6Y2Uw MDgwMDANClsyMDQ2MS4yNzM0OTddIFs8YzA4Y2ZlZjQ+XSAoc2NoZWR1bGUpIGZyb20gWzxjMDhk MmI5MD5dIChzY2hlZHVsZV90aW1lb3V0KzB4MmMvMHgyNmMpDQpbMjA0NjEuMjczNTA5XSAgcjQ6 N2ZmZmZmZmYgcjM6ZGM4YmE2OTMNClsyMDQ2MS4yNzM1NjFdIFVuaGFuZGxlZCBmYXVsdDogcGFn ZSBkb21haW4gZmF1bHQgKDB4MDFiKSBhdCAweDMyODQ4YzAyDQpbMjA0NjEuMjczNTc2XSBwZ2Qg PSBkMTg1NDAwMA0KWzIwNDYxLjI3MzU4N10gWzMyODQ4YzAyXSAqcGdkPWJiMjFlODM1DQpbMjA0 NjEuMjczNjA3XSBJbnRlcm5hbCBlcnJvcjogOiAxYiBbIzFdIFBSRUVNUFQgU01QIEFSTQ0KWzIw NDYxLjI3ODkwM10gQ1BVOiAyIFBJRDogNTkxNyBDb21tOiB3YXRjaGRvZyBUYWludGVkOiBHICAg ICAgICBXICBPICAgIDQuNC4xNDcrICMxDQpbMjA0NjEuMjc4OTI5XSB0YXNrOiBlOWJlZWNjMCB0 YXNrLnN0YWNrOiBlMzBhNDAwMA0KWzIwNDYxLjI3ODk0OV0gUEMgaXMgYXQgZm9yX2VhY2hfZnJh bWUrMHgxOC8weDg4DQpbMjA0NjEuMjc4OTY1XSBMUiBpcyBhdCB2cHJpbnRrX2VtaXQrMHg0NzAv MHg0ZWMNCg0KVGhlIFRhc2sgQTogZmluYWxseSBjcmFzaGVkIHRhc2ssIFBJRDogNTkxNyBDb21t OiB3YXRjaGRvZywgcnVubmluZyBvbiBDUFUgMiwgZHVtcGluZyBiYWNrdHJhY2Ugb2YgYWxsIFVO IHRhc2tzLg0KVGhlIFRhc2sgQjogVEFTS19VTklOVEVSUlVQVElCTEUgdG8gVEFTS19SVU5OSU5H IHdoZW4gVGFzayBBIGlzIHRyeWluZyB0byBkdW1wIGl0cyBiYWNrdHJhY2UuIA0KDQpUaGUgZmly c3QgMiBmcmFtZXMgZHVtcCBmb3IgdGFzayBCIGFyZSBvaywgc2VlIA0KWzIwNDYxLjI3MzQzMF0g WzxjMDhjZjVkMD5dIChfX3NjaGVkdWxlKSBmcm9tIFs8YzA4Y2ZmODQ+XSAoc2NoZWR1bGUrMHg5 MC8weGE4KQ0KWzIwNDYxLjI3MzQ5N10gWzxjMDhjZmVmND5dIChzY2hlZHVsZSkgZnJvbSBbPGMw OGQyYjkwPl0gKHNjaGVkdWxlX3RpbWVvdXQrMHgyYy8weDI2YykNCg0KVGhlbiB0YXNrIEEgY3Jh c2hlZDoNClsyMDQ2MS4yNzM1NjFdIFVuaGFuZGxlZCBmYXVsdDogcGFnZSBkb21haW4gZmF1bHQg KDB4MDFiKSBhdCAweDMyODQ4YzAyDQoNCkZyb20gdGhlIFJBTSBkdW1wIGFmdGVyIGtlcm5lbCBj cmFzaCwgd2UgY2FuIHNlZSBUYXNrIEIgaGFkIGJlZW4gc2NoZWR1bGVkIHRvIHJ1bm5pbmcgb24g Q1BVIDAuIA0KY3Jhc2hfYXJtPiBwcyA2MjIxDQogICBQSUQgICAgUFBJRCAgQ1BVICAgVEFTSyAg ICBTVCAgJU1FTSAgICAgVlNaICAgIFJTUyAgQ09NTQ0KPiAgNjIyMSAgIDIyNzYgICAwICBjZGUw NDg4MCAgUlUgICAwLjQgICAxNzc4NCAgMTM1OTYgIGZzY2suZXhmYXQNCg0KQW5kIHRoZSBiYWNr dHJhY2Ugc2hvdWxkIGNoYW5nZWQsIHdoaWNoIGNhdXNlIHRoZSBjcmFzaCBvZiBUYXNrIEEuDQpj cmFzaF9hcm0+IGJ0IDYyMjENClBJRDogNjIyMSAgIFRBU0s6IGNkZTA0ODgwICBDUFU6IDAgICBD T01NQU5EOiAiZnNjay5leGZhdCINCiAjMCBbPGMwMTE3YTVjPl0gKF9fa3VubWFwX2F0b21pYykg ZnJvbSBbPGMwNDEzYWU4Pl0NCiAjMSBbPGMwNDEzODk0Pl0gKGNvcHlfcGFnZV90b19pdGVyKSBm cm9tIFs8YzAxZjQ3ODg+XQ0KICMyIFs8YzAxZjQzOWM+XSAoZ2VuZXJpY19maWxlX3JlYWRfaXRl cikgZnJvbSBbPGMwMjcyNWU4Pl0NCiAjMyBbPGMwMjcyNTdjPl0gKGJsa2Rldl9yZWFkX2l0ZXIp IGZyb20gWzxjMDIzYjViMD5dDQogIzQgWzxjMDIzYjRmOD5dIChfX3Zmc19yZWFkKSBmcm9tIFs8 YzAyM2JkMDQ+XQ0KICM1IFs8YzAyM2JjNzg+XSAodmZzX3JlYWQpIGZyb20gWzxjMDIzYzdlMD5d DQogIzYgWzxjMDIzYzc2Yz5dIChzeXNfcHJlYWQ2NCkgZnJvbSBbPGMwMTA3OWEwPl0NCg0KVGhp cyBpcyB0aGUgcmFjZSBjb25kaXRpb24sIHRyeSB0byBiYWNrdHJhY2UgYW5vdGhlciB0YXNrIGlz IG5vdCBzYWZlLiBXZSBjYW4ndCBhc3N1bWUgdGhlIHRhc2sgd29uJ3QgYmUgc2NoZWR1bGVkIHRv IGV4ZWN1dGlvbiBkdXJpbmcgdGhlIGJhY2t0cmFjZSBkdW1wLiBUaGUgc3RhY2sgZnJhbWUgc2hv dWxkIHRvdGFsbHkgY2hhbmdlIG9uY2UgZXhlY3V0ZSBhZ2Fpbi4gDQoNClRoZSBfX2V4X3RhYmxl IGVudHJ5IGluIEBmb3JfZWFjaF9mcmFtZSBzaG91bGQgYWRkaW5nIGZvciB0aGlzIHNjZW5hcmlv LiBCdXQgd2l0aCBDT05GSUdfQ1BVX1NXX0RPTUFJTl9QQU49eSwgcGFnZSBkb21haW4gZmF1bHQg bWF5IGhpdCBhbmQgZ28gdGhlIGRvX2JhZCgpIGluc3RlYWQgb2YgZG9fcGFnZV9mYXVsdCgpLg0K DQpUaGUgcGF0aCBtYXkgbm90IGFuIG9wdGltYWwgc29sdXRpb24sIEkganVzdCB3YW50IHRvIHBv aW50IG91dCB0aGUgcHJvYmxlbSwgYW5kIGlzIHRoZXJlIGFueSBjb25jZXJuIGlmIHdlIGNoZWNr IF9fZXhfdGFibGUgaW4gZG9fYmFkKCk/IA0KDQpOb3csIG91ciBwcm9qZWN0IGhhZCBlbmFibGVk IENPTkZJR19BUk1fVU5XSU5EPXksIGl0IHdpbGwgZmFpbCB0byBnZXQgYW4gdW53aW5kX2lkeCB3 aGVuIGdldCBhIHdyb25nIHN2X3BjLCB0aGVuIHRoZSB1bndpbmQgYWJvcnQgd2l0aG91dCBrZXJu ZWwgY3Jhc2guDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiC7xsLAx78gKEx2 cWlhbmcgSHVhbmcpIA0KU2VudDogRnJpZGF5LCBOb3ZlbWJlciAwOCwgMjAxOSAxOjIzIEFNDQpU bzogUnVzc2VsbCBLaW5nIC0gQVJNIExpbnV4IGFkbWluDQpDYzogZWJpZWRlcm1AeG1pc3Npb24u Y29tOyBkYXZlLmhhbnNlbkBsaW51eC5pbnRlbC5jb207IGFuc2h1bWFuLmtoYW5kdWFsQGFybS5j b207IGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc7IGYuZmFpbmVsbGlAZ21haWwuY29tOyB3aWxs QGtlcm5lbC5vcmc7IHRnbHhAbGludXRyb25peC5kZTsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnDQpTdWJqZWN0OiBSZTog W1BBVENIXSBBUk06IGNoZWNrIF9fZXhfdGFibGUgaW4gZG9fYmFkKCkNCg0KDQo+INTaIDIwMTnE 6jEx1MI3yNWjrDE3OjI0o6xSdXNzZWxsIEtpbmcgLSBBUk0gTGludXggYWRtaW4gDQo+IDxsaW51 eEBhcm1saW51eC5vcmcudWs+INC0tcCjug0KPiANCj4+IE9uIFRodSwgTm92IDA3LCAyMDE5IGF0 IDAzOjQ1OjEzUE0gKzA4MDAsIEx2cWlhbmcgd3JvdGU6DQo+PiANCj4+IFdlIGdvdCBtYW55IGNy YXNocyBpbiBmb3JfZWFjaF9mcmFtZSsweDE4IGFyY2gvYXJtL2xpYi9iYWNrdHJhY2UuUw0KPj4g ICAgMTAwMzogbGRyIHIyLCBbc3ZfcGMsICMtNF0NCj4+IA0KPj4gVGhlIGJhY2t0cmFjZSBpcw0K Pj4gICAgZHVtcF9iYWNrdHJhY2UNCj4+ICAgIHNob3dfc3RhY2sNCj4+ICAgIHNjaGVkX3Nob3df dGFzaw0KPj4gICAgc2hvd19zdGF0ZV9maWx0ZXINCj4+ICAgIHN5c3JxX2hhbmRsZV9zaG93c3Rh dGVfYmxvY2tlZA0KPj4gICAgX19oYW5kbGVfc3lzcnENCj4+ICAgIHdyaXRlX3N5c3JxX3RyaWdn ZXINCj4+ICAgIHByb2NfcmVnX3dyaXRlDQo+PiAgICBfX3Zmc193cml0ZQ0KPj4gICAgdmZzX3dy aXRlDQo+PiAgICBzeXNfd3JpdGUNCj4+IA0KPj4gUmVsYXRlZCBLZXJuZWwgY29uZmlnDQo+PiAg ICBDT05GSUdfQ1BVX1NXX0RPTUFJTl9QQU49eQ0KPj4gICAgIyBDT05GSUdfQVJNX1VOV0lORCBp cyBub3Qgc2V0DQo+PiAgICBDT05GSUdfRlJBTUVfUE9JTlRFUj15DQo+PiANCj4+IFRoZSB0YXNr IEEgd2FzIGR1bXBpbmcgdGhlIHN0YWNrIG9mIGFuIFVOIHRhc2sgQi4gSG93ZXZlciwgdGhlIHRh c2sgQg0KPiANCj4gV2hhdCBpcyAiYW4gVU4gdGFzayBCIj8NCg0KVU4gbWVhbnMgVEFTS19VTklO VEVSUlVQVElCTEUuIA0KKFNvcnJ5IGZvciB0aGUgdHlwbyBpbiB0aGUgbGFzdCByZXBseSkNCg0K Pj4gc2NoZWR1bGVkIHRvIHJ1biBvbiBhbm90aGVyIENQVSwgd2hpY2ggY2F1c2UgaXQgc3RhY2sg Y29udGVudCBjaGFuZ2VkLg0KPj4gVGhlbiwgdGFzayBBIG1heSBoaXQgYSBwYWdlIGRvbWFpbiBm YXVsdCBhbmQgZGllKCkuDQo+PiAgICBbNTIwLjY2MTMxNF0gVW5oYW5kbGVkIGZhdWx0OiBwYWdl IGRvbWFpbiBmYXVsdCAoMHgwMWIpIGF0IA0KPj4gMHgzMjg0OGMwMg0KPiANCj4gU28sIHRoZSBi YWNrdHJhY2UgY29kZSBpcyB0cnlpbmcgdG8gYWNjZXNzIHVzZXJzcGFjZS4gIEl0IGlzbid0IA0K PiBzdXBwb3NlZCB0byBiZSBhY2Nlc3NpbmcgdXNlcnNwYWNlIC0gdGhlcmUgYXJlIG5vIGd1YXJh bnRlZXMgdGhhdCANCj4gdXNlcnNwYWNlIHdpbGwgYmUgdXNpbmcgZnJhbWUgcG9pbnRlcnMuICBU aGF0IGlzIHRoZSBidWcuDQo+IA0KDQpUaGVyZSBpcyBhIHJhY2UgY29uZGl0aW9uIHdoZW4gdHJ5 IHRvIGdldCB0aGUgYmFja3RyYWNlIG9mIGFub3RoZXIgdGFza6Osd2hvc2UgZnJhbWVzIG1heSB0 b3RhbGx5IGNoYW5nZWQgZHVyaW5nIHRoZSBleGVjdXRpb24uIA0KDQo+IC0tDQo+IFJNSydzIFBh dGNoIHN5c3RlbTogaHR0cHM6Ly93d3cuYXJtbGludXgub3JnLnVrL2RldmVsb3Blci9wYXRjaGVz Lw0KPiBGVFRDIGJyb2FkYmFuZCBmb3IgMC44bWlsZSBsaW5lIGluIHN1YnVyYmlhOiBzeW5jIGF0 IDEyLjFNYnBzIGRvd24gDQo+IDYyMmticHMgdXAgQWNjb3JkaW5nIHRvIHNwZWVkdGVzdC5uZXQ6 IDExLjlNYnBzIGRvd24gNTAwa2JwcyB1cA0KDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClRoaXMg ZW1haWwgKGluY2x1ZGluZyBpdHMgYXR0YWNobWVudHMpIGlzIGludGVuZGVkIG9ubHkgZm9yIHRo ZSBwZXJzb24gb3IgZW50aXR5IHRvIHdoaWNoIGl0IGlzIGFkZHJlc3NlZCBhbmQgbWF5IGNvbnRh aW4gaW5mb3JtYXRpb24gdGhhdCBpcyBwcml2aWxlZ2VkLCBjb25maWRlbnRpYWwgb3Igb3RoZXJ3 aXNlIHByb3RlY3RlZCBmcm9tIGRpc2Nsb3N1cmUuIFVuYXV0aG9yaXplZCB1c2UsIGRpc3NlbWlu YXRpb24sIGRpc3RyaWJ1dGlvbiBvciBjb3B5aW5nIG9mIHRoaXMgZW1haWwgb3IgdGhlIGluZm9y bWF0aW9uIGhlcmVpbiBvciB0YWtpbmcgYW55IGFjdGlvbiBpbiByZWxpYW5jZSBvbiB0aGUgY29u dGVudHMgb2YgdGhpcyBlbWFpbCBvciB0aGUgaW5mb3JtYXRpb24gaGVyZWluLCBieSBhbnlvbmUg b3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBvciBhbiBlbXBsb3llZSBvciBhZ2Vu dCByZXNwb25zaWJsZSBmb3IgZGVsaXZlcmluZyB0aGUgbWVzc2FnZSB0byB0aGUgaW50ZW5kZWQg cmVjaXBpZW50LCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50 ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2UgZG8gbm90IHJlYWQsIGNvcHksIHVzZSBvciBkaXNjbG9z ZSBhbnkgcGFydCBvZiB0aGlzIGUtbWFpbCB0byBvdGhlcnMuIFBsZWFzZSBub3RpZnkgdGhlIHNl bmRlciBpbW1lZGlhdGVseSBhbmQgcGVybWFuZW50bHkgZGVsZXRlIHRoaXMgZS1tYWlsIGFuZCBh bnkgYXR0YWNobWVudHMgaWYgeW91IHJlY2VpdmVkIGl0IGluIGVycm9yLiBJbnRlcm5ldCBjb21t dW5pY2F0aW9ucyBjYW5ub3QgYmUgZ3VhcmFudGVlZCB0byBiZSB0aW1lbHksIHNlY3VyZSwgZXJy b3ItZnJlZSBvciB2aXJ1cy1mcmVlLiBUaGUgc2VuZGVyIGRvZXMgbm90IGFjY2VwdCBsaWFiaWxp dHkgZm9yIGFueSBlcnJvcnMgb3Igb21pc3Npb25zLiANCrG+08q8/rywxuS4vbz+vt/T0LGjw9zQ 1NbKo6zK3Leowsmxo7uksru1w9C5wrajrL32t6LLzbj4sb7Tyrz+y/nWuMzYtqjK1bz+yMuho9HP vfu3x76tytrIqMq508OhotD7tKuhoreisry78ri01saxvtPKvP678sbkxNrI3aGjyPS3x7jDzNi2 qMrVvP7Iy6Osx+vO8NTEtsGhori01sahoiDKudPDu/LF+8K2sb7Tyrz+tcTIzrrOxNrI3aGjyPTO 88rVsb7Tyrz+o6zH67TTz7XNs9bQ08C+w9DUyb6z/bG+08q8/rywy/nT0Li9vP6jrLKi0tS72Li0 08q8/rXEt73Kvby0v8y45taqt6K8/sjLoaPO3reosaPWpLulwarN+M2o0MW8sMqxoaKwssiroaLO 3s7zu/K3wLa+oaO3orz+yMu21MjOus607cKpvvmyu7PQtaPU8MjOoaMNCg==