From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <1525328436.6214.10.camel@mtkswgap22> Subject: Re: [PATCH V4 5/8] soc: mediatek: pwrap: add pwrap for mt6797 SoCs From: Argus Lin Date: Thu, 3 May 2018 14:20:36 +0800 In-Reply-To: <1525320067.14792.95.camel@mtkswgap22> References: <20180502092112.3991-1-argus.lin@mediatek.com> <20180502092112.3991-6-argus.lin@mediatek.com> <1525320067.14792.95.camel@mtkswgap22> Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Content-Type: multipart/related; boundary="__=_Part_Boundary_004_432459330.242051236" To: Sean Wang Cc: Rob Herring , Mark Rutland , Matthias Brugger , Catalin Marinas , Will Deacon , Chenglin Xu , wsd_upstream@mediatek.com, henryc.chen@mediatek.com, flora.fu@mediatek.com, Chen Zhong , Christophe Jaillet , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org List-ID: --__=_Part_Boundary_004_432459330.242051236 Content-Transfer-Encoding: base64 Content-Type: multipart/alternative; boundary="__=_Part_Boundary_005_2100364474.78933635" --__=_Part_Boundary_005_2100364474.78933635 Content-Type: text/html Content-Transfer-Encoding: base64 PHByZT4NCk9uJiMzMjtUaHUsJiMzMjsyMDE4LTA1LTAzJiMzMjthdCYjMzI7MTI6MDEmIzMyOysw ODAwLCYjMzI7U2VhbiYjMzI7V2FuZyYjMzI7d3JvdGU6DQomZ3Q7JiMzMjtIaSwmIzMyO0FyZ3Vz DQomZ3Q7JiMzMjsNCiZndDsmIzMyO09uJiMzMjtXZWQsJiMzMjsyMDE4LTA1LTAyJiMzMjthdCYj MzI7MTc6MjEmIzMyOyswODAwLCYjMzI7YXJndXMubGluQG1lZGlhdGVrLmNvbSYjMzI7d3JvdGU6 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtGcm9tOiYjMzI7QXJndXMmIzMyO0xpbiYjMzI7Jmx0O2FyZ3Vz LmxpbkBtZWRpYXRlay5jb20mZ3Q7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsm IzMyO210Njc5NyYjMzI7aXMmIzMyO2EmIzMyO2hpZ2hseSYjMzI7aW50ZWdyYXRlZCYjMzI7U29D cywmIzMyO2l0JiMzMjt1c2VzJiMzMjttdDYzNTEmIzMyO2ZvciYjMzI7cG93ZXINCiZndDsmIzMy OyZndDsmIzMyO21hbmFnZW1lbnQuJiMzMjtXZSYjMzI7bmVlZCYjMzI7dG8mIzMyO2FkZCYjMzI7 cHdyYXAmIzMyO3N1cHBvcnQmIzMyO3RvJiMzMjthY2Nlc3MmIzMyO210NjM1MS4NCiZndDsmIzMy OyZndDsmIzMyO1B3cmFwJiMzMjtvZiYjMzI7bXQ2Nzk3JiMzMjtzdXBwb3J0JiMzMjtuZXcmIzMy O2ZlYXR1cmUmIzMyO2luY2x1ZGUmIzMyO3N0YXJ2YXRpb24mIzMyO2FuZCYjMzI7Y2hhbm5lbA0K Jmd0OyYjMzI7Jmd0OyYjMzI7cmVxdWVzdCYjMzI7ZXhjZXB0aW9uJiMzMjtpbnRlcnJ1cHQsJiMz MjtkeW5hbWljJiMzMjtzdGFydmF0aW9uJiMzMjtwcmlvcml0eQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 YWRqdXN0bWVudCYjMzI7bWVjaGFuaXNtLg0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtzdWdnZXN0JiMz MjtsaW5lJiMzMjt3cmFwcGluZyYjMzI7Y2xvc2VseSYjMzI7YXQmIzMyOzc1JiMzMjtjb2x1bW5z DQpubyYjMzI7cHJvYmxlbQ0KJmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsNCiZndDsmIzMy OyZndDsmIzMyO1NpZ25lZC1vZmYtYnk6JiMzMjtBcmd1cyYjMzI7TGluJiMzMjsmbHQ7YXJndXMu bGluQG1lZGlhdGVrLmNvbSZndDsNCiZndDsmIzMyOyZndDsmIzMyOy0tLQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7JiMzMjtkcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstcG1pYy13cmFwLmMmIzMyO3wmIzMy OzExMCYjMzI7KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCiZndDsmIzMyOyZn dDsmIzMyOyYjMzI7MSYjMzI7ZmlsZSYjMzI7Y2hhbmdlZCwmIzMyOzEwMiYjMzI7aW5zZXJ0aW9u cygrKSwmIzMyOzgmIzMyO2RlbGV0aW9ucygtKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjtkaWZmJiMzMjstLWdpdCYjMzI7YS9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGst cG1pYy13cmFwLmMmIzMyO2IvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLXBtaWMtd3JhcC5jDQom Z3Q7JiMzMjsmZ3Q7JiMzMjtpbmRleCYjMzI7YTYzNjZmMTQ3Yjc5Li4wZDRhMmRhZTY5MTImIzMy OzEwMDY0NA0KJmd0OyYjMzI7Jmd0OyYjMzI7LS0tJiMzMjthL2RyaXZlcnMvc29jL21lZGlhdGVr L210ay1wbWljLXdyYXAuYw0KJmd0OyYjMzI7Jmd0OyYjMzI7KysrJiMzMjtiL2RyaXZlcnMvc29j L21lZGlhdGVrL210ay1wbWljLXdyYXAuYw0KJmd0OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy0yODQs NiYjMzI7KzI4NCwxMiYjMzI7QEAmIzMyO2VudW0mIzMyO3B3cmFwX3JlZ3MmIzMyO3sNCiZndDsm IzMyOyZndDsmIzMyOyYjMzI7UFdSQVBfRFZGU19XREFUQTcsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsm IzMyO1BXUkFQX1NQTUlORl9TVEEsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO1BXUkFQX0NJUEhF Ul9FTiwNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOysvKiYjMzI7TVQ2 Nzk3JiMzMjtzZXJpZXMmIzMyO3JlZ3MmIzMyOyovDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrUFdSQVBf SU5UMV9FTiwNCiZndDsmIzMyOyZndDsmIzMyOytQV1JBUF9JTlQxX0ZMR19SQVcsDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrUFdSQVBfSU5UMV9GTEcsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrUFdSQVBfSU5U MV9DTFIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMy Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtzdGF0aWMmIzMyO2ludCYjMzI7bXQyNzAxX3JlZ3Nb XSYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy0zNzIsNiYjMzI7KzM3OCw0 MyYjMzI7QEAmIzMyO3N0YXRpYyYjMzI7aW50JiMzMjttdDI3MDFfcmVnc1tdJiMzMjs9JiMzMjt7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO1tQV1JBUF9BRENfUkRBVEFfQUREUjJdJiMzMjs9MHgx NTQsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K3N0YXRpYyYjMzI7aW50JiMzMjttdDY3OTdfcmVnc1tdJiMzMjs9 JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW1BXUkFQX01VWF9TRUxdJiMzMjs9MHgwLA0KJmd0 OyYjMzI7Jmd0OyYjMzI7K1tQV1JBUF9XUkFQX0VOXSYjMzI7PTB4NCwNCiZndDsmIzMyOyZndDsm IzMyOytbUFdSQVBfRElPX0VOXSYjMzI7PTB4OCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBf U0lETFldJiMzMjs9MHhDLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tQV1JBUF9SRERNWV0mIzMyOz0w eDEwLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tQV1JBUF9DU0hFWFRfV1JJVEVdJiMzMjs9MHgxOCwN CiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfQ1NIRVhUX1JFQURdJiMzMjs9MHgxQywNCiZndDsm IzMyOyZndDsmIzMyOytbUFdSQVBfQ1NMRVhUX1NUQVJUXSYjMzI7PTB4MjAsDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrW1BXUkFQX0NTTEVYVF9FTkRdJiMzMjs9MHgyNCwNCiZndDsmIzMyOyZndDsmIzMy OytbUFdSQVBfU1RBVVBEX1BSRF0mIzMyOz0weDI4LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tQV1JB UF9IQVJCX0hQUklPXSYjMzI7PTB4NTAsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW1BXUkFQX0hJUFJJ T19BUkJfRU5dJiMzMjs9MHg1NCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfTUFOX0VOXSYj MzI7PTB4NjAsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW1BXUkFQX01BTl9DTURdJiMzMjs9MHg2NCwN CiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfV0FDUzBfRU5dJiMzMjs9MHg3MCwNCiZndDsmIzMy OyZndDsmIzMyOytbUFdSQVBfV0FDUzFfRU5dJiMzMjs9MHg4NCwNCiZndDsmIzMyOyZndDsmIzMy OytbUFdSQVBfV0FDUzJfRU5dJiMzMjs9MHg5OCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBf SU5JVF9ET05FMl0mIzMyOz0weDlDLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tQV1JBUF9XQUNTMl9D TURdJiMzMjs9MHhBMCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfV0FDUzJfUkRBVEFdJiMz Mjs9MHhBNCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfV0FDUzJfVkxEQ0xSXSYjMzI7PTB4 QTgsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW1BXUkFQX0lOVF9FTl0mIzMyOz0weEMwLA0KJmd0OyYj MzI7Jmd0OyYjMzI7K1tQV1JBUF9JTlRfRkxHX1JBV10mIzMyOz0weEM0LA0KJmd0OyYjMzI7Jmd0 OyYjMzI7K1tQV1JBUF9JTlRfRkxHXSYjMzI7PTB4QzgsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW1BX UkFQX0lOVF9DTFJdJiMzMjs9MHhDQywNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfSU5UMV9F Tl0mIzMyOz0weEQwLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tQV1JBUF9JTlQxX0ZMR19SQVddJiMz Mjs9MHhENCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfSU5UMV9GTEddJiMzMjs9MHhEOCwN CiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfSU5UMV9DTFJdJiMzMjs9MHhEQywNCiZndDsmIzMy OyZndDsmIzMyOytbUFdSQVBfVElNRVJfRU5dJiMzMjs9MHhGNCwNCiZndDsmIzMyOyZndDsmIzMy OytbUFdSQVBfV0RUX1VOSVRdJiMzMjs9MHhGQywNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBf V0RUX1NSQ19FTl0mIzMyOz0weDEwMCwNCiZndDsmIzMyOyZndDsmIzMyOytbUFdSQVBfRENNX0VO XSYjMzI7PTB4MUNDLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tQV1JBUF9EQ01fREJDX1BSRF0mIzMy Oz0weDFENCwNCiZndDsmIzMyOyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0 OyYjMzI7DQomZ3Q7JiMzMjt0cmltJiMzMjt1bnVzZWQmIzMyO3JlZ2lzdGVycyYjMzI7aWYmIzMy O2FueQ0KSSYjMzI7cmVtb3ZlZCYjMzI7SU5UMSYjMzI7cmVsYXRlZCYjMzI7cmVnaXN0ZXJzLg0K Jmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO3N0YXRpYyYjMzI7aW50JiMzMjttdDc2 MjJfcmVnc1tdJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO1tQV1JBUF9NVVhf U0VMXSYjMzI7PTB4MCwNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7W1BXUkFQX1dSQVBfRU5dJiMz Mjs9MHg0LA0KJmd0OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy02NDcsNiYjMzI7KzY5MCw3JiMzMjtA QCYjMzI7ZW51bSYjMzI7cG1pY190eXBlJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOw0K Jmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtlbnVtJiMzMjtwd3JhcF90eXBlJiMzMjt7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsmIzMyO1BXUkFQX01UMjcwMSwNCiZndDsmIzMyOyZndDsmIzMyOytQV1JBUF9N VDY3OTcsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO1BXUkFQX01UNzYyMiwNCiZndDsmIzMyOyZn dDsmIzMyOyYjMzI7UFdSQVBfTVQ4MTM1LA0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtQV1JBUF9N VDgxNzMsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTEwMDYsNiYjMzI7KzEwNTAsMTImIzMy O0BAJiMzMjtzdGF0aWMmIzMyO3ZvaWQmIzMyO3B3cmFwX2luaXRfY2hpcF9zZWxlY3RfZXh0KHN0 cnVjdCYjMzI7cG1pY193cmFwcGVyJiMzMjsqd3JwLCYjMzI7dTgmIzMyO2hleHRfd3JpdGUsDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO3N0YXRpYyYjMzI7aW50JiMzMjtwd3JhcF9jb21tb25faW5p dF9yZWdfY2xvY2soc3RydWN0JiMzMjtwbWljX3dyYXBwZXImIzMyOyp3cnApDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7c3dpdGNoJiMzMjsod3JwLSZn dDttYXN0ZXItJmd0O3R5cGUpJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrY2FzZSYjMzI7UFdS QVBfTVQ2Nzk3Og0KJmd0OyYjMzI7Jmd0OyYjMzI7K3B3cmFwX3dyaXRlbCh3cnAsJiMzMjsweDgs JiMzMjtQV1JBUF9SRERNWSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcHdyYXBfd3JpdGUod3JwLCYj MzI7d3JwLSZndDtzbGF2ZS0mZ3Q7ZGV3X3JlZ3NbUFdSQVBfREVXX1JERE1ZX05PXSwNCiZndDsm IzMyOyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOzB4OCk7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrcHdyYXBfaW5pdF9jaGlwX3NlbGVjdF9leHQod3JwLCYjMzI7MHg4OCwmIzMyOzB4NTUsJiMz MjszLCYjMzI7MCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrYnJlYWs7DQomZ3Q7JiMzMjsNCiZndDsm IzMyO3RoZSYjMzI7c2V0dXAmIzMyO2ZvciYjMzI7dGltaW5nJiMzMjtpcyYjMzI7bXVjaCYjMzI7 c2ltaWxhciYjMzI7dG8mIzMyO210MjcwMSYjMzI7KyYjMzI7bXQ2MzIzDQomZ3Q7JiMzMjsNCiZn dDsmIzMyO3NvJiMzMjt3ZSYjMzI7Y2FuJiMzMjttZXJnZSYjMzI7dGhlJiMzMjtib3RoJiMzMjts b2dpYyYjMzI7aW50byYjMzI7b25lLCYjMzI7YW5kJiMzMjt0aGVuJiMzMjtob3BlJiMzMjt0byYj MzI7ZWxpbWluYXRlJiMzMjtzcGVjaWZpYyYjMzI7cHdyYXBfbXQyNzAxX2luaXRfcmVnX2Nsb2Nr JiMzMjt0b3RhbGx5DQpobW0sJiMzMjt3ZSYjMzI7Y2FuJiMzMjtvbmx5JiMzMjtrZWVwJiMzMjtw d3JhcF9pbml0X2NoaXBfc2VsZWN0X2V4dCh3cnAsJiMzMjsweDg4LCYjMzI7MHg1NSwmIzMyOzMs JiMzMjswKTsNCmhlcmUuDQomZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7Y2FzZSYj MzI7UFdSQVBfTVQ4MTczOg0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtwd3JhcF9pbml0X2NoaXBf c2VsZWN0X2V4dCh3cnAsJiMzMjswLCYjMzI7NCwmIzMyOzIsJiMzMjsyKTsNCiZndDsmIzMyOyZn dDsmIzMyOyYjMzI7YnJlYWs7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTEwNzYsMTEmIzMy OysxMTI2LDE0JiMzMjtAQCYjMzI7c3RhdGljJiMzMjtpbnQmIzMyO3B3cmFwX2luaXRfY2lwaGVy KHN0cnVjdCYjMzI7cG1pY193cmFwcGVyJiMzMjsqd3JwKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMz MjticmVhazsNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7Y2FzZSYjMzI7UFdSQVBfTVQyNzAxOg0K Jmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtjYXNlJiMzMjtQV1JBUF9NVDgxNzM6DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrY2FzZSYjMzI7UFdSQVBfTVQ2Nzk3Og0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtuZWVk JiMzMjt0byYjMzI7YmUmIzMyO2xpc3RlZCYjMzI7aW4mIzMyO2FscGhhYmV0aWNhbCYjMzI7b3Jk ZXINCm5vJiMzMjtwcm9ibGVtDQomZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7cHdy YXBfd3JpdGVsKHdycCwmIzMyOzEsJiMzMjtQV1JBUF9DSVBIRVJfRU4pOw0KJmd0OyYjMzI7Jmd0 OyYjMzI7JiMzMjticmVhazsNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7Y2FzZSYjMzI7UFdSQVBf TVQ3NjIyOg0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtwd3JhcF93cml0ZWwod3JwLCYjMzI7MCwm IzMyO1BXUkFQX0NJUEhFUl9FTik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO2JyZWFrOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K2RlZmF1bHQ6DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrYnJlYWs7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsmIzMyO30NCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsmIzMyOy8qJiMzMjtDb25maWcmIzMyO2NpcGhlciYjMzI7bW9kZSYjMzI7QFBNSUMm IzMyOyovDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTEzMjUsNiYjMzI7KzEzNzgsMTUmIzMy O0BAJiMzMjtzdGF0aWMmIzMyO2lycXJldHVybl90JiMzMjtwd3JhcF9pbnRlcnJ1cHQoaW50JiMz MjtpcnFubywmIzMyO3ZvaWQmIzMyOypkZXZfaWQpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOw0K Jmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtwd3JhcF93cml0ZWwod3JwLCYjMzI7MHhmZmZmZmZmZiwm IzMyO1BXUkFQX0lOVF9DTFIpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjsNCiZndDsmIzMyOyZn dDsmIzMyOysvKiYjMzI7SWYmIzMyO3dlJiMzMjtzdXBwb3J0JiMzMjtJTlQxJiMzMjtpbnRlcnJ1 cHQsJiMzMjt3ZSYjMzI7YWxzbyYjMzI7bmVlZCYjMzI7dG8mIzMyO2NsZWFyJiMzMjtpdCYjMzI7 Ki8NCiZndDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KEhBU19DQVAod3JwLSZndDttYXN0ZXItJmd0 O2NhcHMsJiMzMjtQV1JBUF9DQVBfSU5UMV9FTikpJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr cmRhdGEmIzMyOz0mIzMyO3B3cmFwX3JlYWRsKHdycCwmIzMyO1BXUkFQX0lOVDFfRkxHKTsNCiZn dDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytkZXZfZXJyKHdycC0mZ3Q7ZGV2 LCYjMzI7JnF1b3Q7dW5leHBlY3RlZCYjMzI7aW50ZXJydXB0JiMzMjtpbnQxPTB4JXgmIzkyO24m cXVvdDssJiMzMjtyZGF0YSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrcHdyYXBfd3JpdGVsKHdycCwmIzMyO3JkYXRhLCYjMzI7UFdSQVBfSU5UMV9DTFIpOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOw0KJmd0OyYj MzI7aXQmIzMyO3NlZW1zJiMzMjtubyYjMzI7cmVxdWlyZWQmIzMyO3RvJiMzMjthZGQmIzMyO1BX UkFQX0NBUF9JTlQxX0VOOg0KJmd0OyYjMzI7DQomZ3Q7JiMzMjt0aGUmIzMyO0NBUCYjMzI7aXMm IzMyO25vdCYjMzI7dG8mIzMyO3Rha2UmIzMyO2FueSYjMzI7YWN0aW9uJiMzMjtmb3ImIzMyO2Fu eSYjMzI7SU5UcyYjMzI7cmFpc2VkLCYjMzI7aW5zdGVhZCwmIzMyO2l0JiMzMjtjYW4mIzMyO2Jl JiMzMjtkaXNhYmxlZCYjMzI7YXQmIzMyO2luaXRpYWwuDQoNCmhtbSwmIzMyO0kmIzMyO3RoaW5r JiMzMjtpdCYjMzk7cyYjMzI7ZmluZSYjMzI7d2l0aG91dCYjMzI7YWRkaW5nJiMzMjtQV1JBUF9D QVBfSU5UMV9FTi4NCiZndDsmIzMyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjtyZXR1cm4mIzMy O0lSUV9IQU5ETEVEOw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjt9DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsmIzMyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy0xNDQ2LDYmIzMyOysxNTA4LDE5JiMz MjtAQCYjMzI7c3RhdGljJiMzMjtjb25zdCYjMzI7c3RydWN0JiMzMjtwbWljX3dyYXBwZXJfdHlw ZSYjMzI7cHdyYXBfbXQ4MTczJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOy5p bml0X3NvY19zcGVjaWZpYyYjMzI7PSYjMzI7cHdyYXBfbXQ4MTczX2luaXRfc29jX3NwZWNpZmlj LA0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjsNCiZn dDsmIzMyOyZndDsmIzMyOytzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3QmIzMyO3BtaWNfd3Jh cHBlcl90eXBlJiMzMjtwd3JhcF9tdDY3OTcmIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMy OysucmVncyYjMzI7PSYjMzI7bXQ2Nzk3X3JlZ3MsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLnR5cGUm IzMyOz0mIzMyO1BXUkFQX01UNjc5NywNCiZndDsmIzMyOyZndDsmIzMyOysuYXJiX2VuX2FsbCYj MzI7PSYjMzI7MHgwMWZmZiwNCiZndDsmIzMyOyZndDsmIzMyOysuaW50X2VuX2FsbCYjMzI7PSYj MzI7MHhmZmZmZmZjNiwNCiZndDsmIzMyOyZndDsmIzMyOysuaW50MV9lbl9hbGwmIzMyOz0mIzMy OzB4MDAwMWZmZmYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLnNwaV93JiMzMjs9JiMzMjtQV1JBUF9N QU5fQ01EX1NQSV9XUklURSwNCiZndDsmIzMyOyZndDsmIzMyOysud2R0X3NyYyYjMzI7PSYjMzI7 UFdSQVBfV0RUX1NSQ19NQVNLX0FMTCwNCiZndDsmIzMyOyZndDsmIzMyOysuY2FwcyYjMzI7PSYj MzI7UFdSQVBfQ0FQX0RDTSYjMzI7fCYjMzI7UFdSQVBfQ0FQX0lOVDFfRU4sDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrLmluaXRfcmVnX2Nsb2NrJiMzMjs9JiMzMjtwd3JhcF9jb21tb25faW5pdF9yZWdf Y2xvY2ssDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLmluaXRfc29jX3NwZWNpZmljJiMzMjs9JiMzMjtO VUxMLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsmIzMyO3N0YXRpYyYjMzI7Y29uc3QmIzMyO3N0cnVjdCYjMzI7b2ZfZGV2aWNl X2lkJiMzMjtvZl9wd3JhcF9tYXRjaF90YmxbXSYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYj MzI7JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOy5jb21wYXRpYmxlJiMzMjs9JiMzMjsm cXVvdDttZWRpYXRlayxtdDI3MDEtcHdyYXAmcXVvdDssDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYj MzI7LTE0NjAsNiYjMzI7KzE1MzUsOSYjMzI7QEAmIzMyO3N0YXRpYyYjMzI7Y29uc3QmIzMyO3N0 cnVjdCYjMzI7b2ZfZGV2aWNlX2lkJiMzMjtvZl9wd3JhcF9tYXRjaF90YmxbXSYjMzI7PSYjMzI7 ew0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjsuY29tcGF0aWJsZSYjMzI7PSYjMzI7JnF1b3Q7bWVk aWF0ZWssbXQ4MTczLXB3cmFwJnF1b3Q7LA0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjsuZGF0YSYj MzI7PSYjMzI7JmFtcDtwd3JhcF9tdDgxNzMsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO30sJiMz Mjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLmNvbXBhdGlibGUmIzMyOz0mIzMyOyZxdW90O21lZGlh dGVrLG10Njc5Ny1wd3JhcCZxdW90OywNCiZndDsmIzMyOyZndDsmIzMyOysuZGF0YSYjMzI7PSYj MzI7JmFtcDtwd3JhcF9tdDY3OTcsDQomZ3Q7JiMzMjsNCiZndDsmIzMyO2VhY2gmIzMyO2VudHJ5 JiMzMjtuZWVkcyYjMzI7dG8mIzMyO2JlJiMzMjtzb3J0ZWQmIzMyO2luJiMzMjthbHBoYWJldGlj YWwmIzMyO29yZGVyDQpubyYjMzI7cHJvYmxlbQ0KJmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrfSwmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7LyomIzMyO3NlbnRpbmVsJiMzMjsq Lw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyO307DQom Z3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTE1MDMsMTEmIzMyOysxNTgxLDEzJiMzMjtAQCYjMzI7 c3RhdGljJiMzMjtpbnQmIzMyO3B3cmFwX3Byb2JlKHN0cnVjdCYjMzI7cGxhdGZvcm1fZGV2aWNl JiMzMjsqcGRldikNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7aWYmIzMyOyhJU19FUlIod3JwLSZn dDtiYXNlKSkNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7cmV0dXJuJiMzMjtQVFJfRVJSKHdycC0m Z3Q7YmFzZSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7LXdy cC0mZ3Q7cnN0YyYjMzI7PSYjMzI7ZGV2bV9yZXNldF9jb250cm9sX2dldCh3cnAtJmd0O2Rldiwm IzMyOyZxdW90O3B3cmFwJnF1b3Q7KTsNCiZndDsmIzMyOyZndDsmIzMyOy1pZiYjMzI7KElTX0VS Uih3cnAtJmd0O3JzdGMpKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7LXJldCYjMzI7PSYjMzI7 UFRSX0VSUih3cnAtJmd0O3JzdGMpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7LWRldl9kYmcod3JwLSZn dDtkZXYsJiMzMjsmcXVvdDtjYW5ub3QmIzMyO2dldCYjMzI7cHdyYXAmIzMyO3Jlc2V0OiYjMzI7 JWQmIzkyO24mcXVvdDssJiMzMjtyZXQpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7LXJldHVybiYjMzI7 cmV0Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsoSEFTX0NBUCh3cnAtJmd0O21hc3Rlci0m Z3Q7Y2FwcywmIzMyO1BXUkFQX0NBUF9SRVNFVCkpJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr d3JwLSZndDtyc3RjJiMzMjs9JiMzMjtkZXZtX3Jlc2V0X2NvbnRyb2xfZ2V0KHdycC0mZ3Q7ZGV2 LCYjMzI7JnF1b3Q7cHdyYXAmcXVvdDspOw0KJmd0OyYjMzI7DQomZ3Q7JiMzMjt0aGVyZSYjMzI7 c2hvdWxkJiMzMjtiZSYjMzI7YSYjMzI7cmVzZXQmIzMyO2JpdCYjMzI7cHJlc2VudCYjMzI7Zm9y JiMzMjtwd3JhcCYjMzI7b24mIzMyO2luZnJhc3lzLg0KJmd0OyYjMzI7DQomZ3Q7JiMzMjt0aGUm IzMyO3NwZWNpZmljJiMzMjtjb25kaXRpb24mIzMyO2NhbiYjMzI7YmUmIzMyO2Ryb3BwZWQmIzMy O3doZW4mIzMyO3RoZSYjMzI7cmVzZXQmIzMyO2NlbGwmIzMyO2lzJiMzMjtleHBvcnRlZCYjMzI7 ZnJvbSYjMzI7aW5mcmFzeXMmIzMyO2FuZCYjMzI7dGhlbiYjMzI7dGhlJiMzMjtkZXZpY2UmIzMy O2hhcyYjMzI7YSYjMzI7cmVmZXJlbmNlJiMzMjt0byYjMzI7aXQuDQpobW0sJiMzMjtJJiMzMjt0 aGluayYjMzI7aXQmIzMyO25lZWQmIzMyO3RvJiMzMjtrZWVwJiMzMjtoZXJlLg0KYmVjYXVzZSYj MzI7YWZ0ZXImIzMyO3B3cmFwJiMzMjtpbml0aWFsaXplZCwmIzMyO2l0JiMzMjtjYW4mIzM5O3Qm IzMyO2JlJiMzMjtyZXNldCYjMzI7YWxvbmUuDQpJdCYjMzI7bmVlZHMmIzMyO3RvJiMzMjtyZXNl dCYjMzI7UE1JQyYjMzI7c2ltdWx0YW5lb3VzbHksJiMzMjt0b28uDQomZ3Q7JiMzMjsNCiZndDsm IzMyOyZndDsmIzMyOytpZiYjMzI7KElTX0VSUih3cnAtJmd0O3JzdGMpKSYjMzI7ew0KJmd0OyYj MzI7Jmd0OyYjMzI7K3JldCYjMzI7PSYjMzI7UFRSX0VSUih3cnAtJmd0O3JzdGMpOw0KJmd0OyYj MzI7Jmd0OyYjMzI7K2Rldl9kYmcod3JwLSZndDtkZXYsJiMzMjsmcXVvdDtjYW5ub3QmIzMyO2dl dCYjMzI7cHdyYXAmIzMyO3Jlc2V0OiYjMzI7JWQmIzkyO24mcXVvdDssJiMzMjtyZXQpOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7cmV0Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZn dDsmIzMyOyZndDsmIzMyOyYjMzI7fQ0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjsNCiZndDsmIzMy OyZndDsmIzMyOyYjMzI7aWYmIzMyOyhIQVNfQ0FQKHdycC0mZ3Q7bWFzdGVyLSZndDtjYXBzLCYj MzI7UFdSQVBfQ0FQX0JSSURHRSkpJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTE1 NDksOSYjMzI7KzE2MjksMTcmIzMyO0BAJiMzMjtzdGF0aWMmIzMyO2ludCYjMzI7cHdyYXBfcHJv YmUoc3RydWN0JiMzMjtwbGF0Zm9ybV9kZXZpY2UmIzMyOypwZGV2KQ0KJmd0OyYjMzI7Jmd0OyYj MzI7JiMzMjtpZiYjMzI7KHJldCkNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7Z290byYjMzI7ZXJy X291dDE7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzMyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7LS8qJiMz MjtFbmFibGUmIzMyO2ludGVybmFsJiMzMjtkeW5hbWljJiMzMjtjbG9jayYjMzI7Ki8NCiZndDsm IzMyOyZndDsmIzMyOy1wd3JhcF93cml0ZWwod3JwLCYjMzI7MSwmIzMyO1BXUkFQX0RDTV9FTik7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjstcHdyYXBfd3JpdGVsKHdycCwmIzMyOzAsJiMzMjtQV1JBUF9E Q01fREJDX1BSRCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLyoNCiZndDsmIzMyOyZndDsmIzMyOysm IzMyOyomIzMyO2FkZCYjMzI7ZGNtJiMzMjtjYXBhYmlsaXR5JiMzMjtjaGVjaw0KJmd0OyYjMzI7 Jmd0OyYjMzI7KyYjMzI7Ki8NCiZndDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KEhBU19DQVAod3Jw LSZndDttYXN0ZXItJmd0O2NhcHMsJiMzMjtQV1JBUF9DQVBfRENNKSkmIzMyO3sNCiZndDsmIzMy Ow0KJmd0OyYjMzI7dGhlJiMzMjtzcGVjaWZpYyYjMzI7Y29uZGl0aW9uJiMzMjtjYW4mIzMyO2Jl JiMzMjtkcm9wcGVkJiMzMjtzaW5jZSYjMzI7c28mIzMyO2ZhciYjMzI7YWxsJiMzMjtkZXZpY2Vz JiMzMjt0aGUmIzMyO2RyaXZlciYjMzI7Y2FuJiMzMjtzdXBwb3J0JiMzMjthcmUmIzMyO293bmlu ZyYjMzI7UFdSQVBfQ0FQX0RDTQ0KV2UmIzMyO2RpZCYjMzI7bm90JiMzMjtzdXBwb3J0JiMzMjtE Q00mIzMyO2ZvciYjMzI7ZnV0dXJlJiMzMjtjaGlwcy4NCk1UNjc5NyYjMzI7aXMmIzMyO3RoZSYj MzI7bGFzdCYjMzI7b25lLg0KVGhpcyYjMzI7d2h5JiMzMjtJJiMzMjt3YW50JiMzMjt0byYjMzI7 YWRkJiMzMjtqdWRnZW1lbnQmIzMyO2hlcmUuDQomZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsmIzMy OytpZiYjMzI7KHdycC0mZ3Q7bWFzdGVyLSZndDt0eXBlJiMzMjs9PSYjMzI7UFdSQVBfTVQ2Nzk3 KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3B3cmFwX3dyaXRlbCh3cnAsJiMzMjszLCYjMzI7UFdSQVBf RENNX0VOKTsNCiZndDsmIzMyOw0KJmd0OyYjMzI7dGhlJiMzMjtzZXR1cCYjMzI7Zm9yJiMzMjtN VDY3OTcmIzMyO2NhbiYjMzI7YmUmIzMyO21vdmVkJiMzMjtpbnRvJiMzMjsuaW5pdF9zb2Nfc3Bl Y2lmaWMmIzMyO2NhbGxiYWNrJiMzMjsmIzYzOw0KDQpJJiMzMjt0aGluayYjMzI7cHV0JiMzMjtp dCYjMzI7aGVyZSYjMzI7aXMmIzMyO21vcmUmIzMyO2dlbmVyYWxseS4NCiZndDsmIzMyOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K2Vsc2UNCiZndDsmIzMyOyZndDsmIzMyOytwd3JhcF93cml0ZWwod3Jw LCYjMzI7MSwmIzMyO1BXUkFQX0RDTV9FTik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrcHdyYXBfd3JpdGVsKHdycCwmIzMyOzAsJiMzMjtQV1JBUF9EQ01fREJDX1BS RCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMzMjsNCiZndDsm IzMyOyZndDsmIzMyOyYjMzI7LyoNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7JiMzMjsqJiMzMjtU aGUmIzMyO1BNSUMmIzMyO2NvdWxkJiMzMjthbHJlYWR5JiMzMjtiZSYjMzI7aW5pdGlhbGl6ZWQm IzMyO2J5JiMzMjt0aGUmIzMyO2Jvb3Rsb2FkZXIuDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7 LTE1ODAsNiYjMzI7KzE2NjgsMTImIzMyO0BAJiMzMjtzdGF0aWMmIzMyO2ludCYjMzI7cHdyYXBf cHJvYmUoc3RydWN0JiMzMjtwbGF0Zm9ybV9kZXZpY2UmIzMyOypwZGV2KQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7JiMzMjtwd3JhcF93cml0ZWwod3JwLCYjMzI7d3JwLSZndDttYXN0ZXItJmd0O3dkdF9z cmMsJiMzMjtQV1JBUF9XRFRfU1JDX0VOKTsNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7cHdyYXBf d3JpdGVsKHdycCwmIzMyOzB4MSwmIzMyO1BXUkFQX1RJTUVSX0VOKTsNCiZndDsmIzMyOyZndDsm IzMyOyYjMzI7cHdyYXBfd3JpdGVsKHdycCwmIzMyO3dycC0mZ3Q7bWFzdGVyLSZndDtpbnRfZW5f YWxsLCYjMzI7UFdSQVBfSU5UX0VOKTsNCiZndDsmIzMyOyZndDsmIzMyOysvKg0KJmd0OyYjMzI7 Jmd0OyYjMzI7KyYjMzI7KiYjMzI7V2UmIzMyO2FkZCYjMzI7SU5UMSYjMzI7aW50ZXJydXB0JiMz Mjt0byYjMzI7aGFuZGxlJiMzMjtzdGFydmF0aW9uJiMzMjthbmQmIzMyO3JlcXVlc3QmIzMyO2V4 Y2VwdGlvbg0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMzI7KiYjMzI7SWYmIzMyO3dlJiMzMjtzdXBw b3J0JiMzMjtpdCwmIzMyO3dlJiMzMjtzaG91bGQmIzMyO2VuYWJsZSYjMzI7dGhlbSYjMzI7aGVy ZS4NCiZndDsmIzMyOyZndDsmIzMyOysmIzMyOyovDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMy OyhIQVNfQ0FQKHdycC0mZ3Q7bWFzdGVyLSZndDtjYXBzLCYjMzI7UFdSQVBfQ0FQX0lOVDFfRU4p KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3B3cmFwX3dyaXRlbCh3cnAsJiMzMjt3cnAtJmd0O21hc3Rl ci0mZ3Q7aW50MV9lbl9hbGwsJiMzMjtQV1JBUF9JTlQxX0VOKTsNCiZndDsmIzMyOyZndDsmIzMy OyYjMzI7DQomZ3Q7JiMzMjsNCiZndDsmIzMyO2lmJiMzMjt0aGVyZSYjMzI7aXMmIzMyO25vJiMz MjtleHBsaWNpdGx5JiMzMjtlbmFibGluZyYjMzI7b24mIzMyO0lOVDEsJiMzMjt0aGVuJiMzMjtJ U1ImIzMyO2hhbmRsaW5nJiMzMjtmb3ImIzMyO0lOVDEmIzMyO2lzJiMzMjthbHNvJiMzMjt1bm5l Y2Vzc2FyeQ0KDQpJdCYjMzk7cyYjMzI7b2smIzMyO2ZvciYjMzI7bWUuDQomZ3Q7JiMzMjsNCiZn dDsmIzMyOyZndDsmIzMyOyYjMzI7aXJxJiMzMjs9JiMzMjtwbGF0Zm9ybV9nZXRfaXJxKHBkZXYs JiMzMjswKTsNCiZndDsmIzMyOyZndDsmIzMyOyYjMzI7cmV0JiMzMjs9JiMzMjtkZXZtX3JlcXVl c3RfaXJxKHdycC0mZ3Q7ZGV2LCYjMzI7aXJxLCYjMzI7cHdyYXBfaW50ZXJydXB0LA0KJmd0OyYj MzI7DQomZ3Q7JiMzMjsNCiZndDsmIzMyOw0KDQoNCjwvcHJlPjwhLS10eXBlOnRleHQtLT48IS0t ey0tPjxwcmU+KioqKioqKioqKioqKiBFbWFpbCBDb25maWRlbnRpYWxpdHkgTm90aWNlICoqKioq KioqKioqKioqKioqKioqDQpUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZS1tYWls IG1lc3NhZ2UgKGluY2x1ZGluZyBhbnkgDQphdHRhY2htZW50cykgbWF5IGJlIGNvbmZpZGVudGlh bCwgcHJvcHJpZXRhcnksIHByaXZpbGVnZWQsIG9yIG90aGVyd2lzZQ0KZXhlbXB0IGZyb20gZGlz Y2xvc3VyZSB1bmRlciBhcHBsaWNhYmxlIGxhd3MuIEl0IGlzIGludGVuZGVkIHRvIGJlIA0KY29u dmV5ZWQgb25seSB0byB0aGUgZGVzaWduYXRlZCByZWNpcGllbnQocykuIEFueSB1c2UsIGRpc3Nl bWluYXRpb24sIA0KZGlzdHJpYnV0aW9uLCBwcmludGluZywgcmV0YWluaW5nIG9yIGNvcHlpbmcg b2YgdGhpcyBlLW1haWwgKGluY2x1ZGluZyBpdHMgDQphdHRhY2htZW50cykgYnkgdW5pbnRlbmRl ZCByZWNpcGllbnQocykgaXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgbWF5IA0KYmUgdW5sYXdm dWwuIElmIHlvdSBhcmUgbm90IGFuIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGUtbWFpbCwg b3IgYmVsaWV2ZSANCnRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3Is IHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciANCmltbWVkaWF0ZWx5IChieSByZXBseWluZyB0byB0 aGlzIGUtbWFpbCksIGRlbGV0ZSBhbnkgYW5kIGFsbCBjb3BpZXMgb2YgDQp0aGlzIGUtbWFpbCAo aW5jbHVkaW5nIGFueSBhdHRhY2htZW50cykgZnJvbSB5b3VyIHN5c3RlbSwgYW5kIGRvIG5vdA0K ZGlzY2xvc2UgdGhlIGNvbnRlbnQgb2YgdGhpcyBlLW1haWwgdG8gYW55IG90aGVyIHBlcnNvbi4g VGhhbmsgeW91ITwvcHJlPjwhLS19LS0+ --__=_Part_Boundary_005_2100364474.78933635 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 T24gVGh1LCAyMDE4LTA1LTAzIGF0IDEyOjAxICswODAwLCBTZWFuIFdhbmcgd3JvdGU6DQo+IEhp LCBBcmd1cw0KPiANCj4gT24gV2VkLCAyMDE4LTA1LTAyIGF0IDE3OjIxICswODAwLCBhcmd1cy5s aW5AbWVkaWF0ZWsuY29tIHdyb3RlOg0KPiA+IEZyb206IEFyZ3VzIExpbiA8YXJndXMubGluQG1l ZGlhdGVrLmNvbT4NCj4gPiANCj4gPiBtdDY3OTcgaXMgYSBoaWdobHkgaW50ZWdyYXRlZCBTb0Nz LCBpdCB1c2VzIG10NjM1MSBmb3IgcG93ZXINCj4gPiBtYW5hZ2VtZW50LiBXZSBuZWVkIHRvIGFk ZCBwd3JhcCBzdXBwb3J0IHRvIGFjY2VzcyBtdDYzNTEuDQo+ID4gUHdyYXAgb2YgbXQ2Nzk3IHN1 cHBvcnQgbmV3IGZlYXR1cmUgaW5jbHVkZSBzdGFydmF0aW9uIGFuZCBjaGFubmVsDQo+ID4gcmVx dWVzdCBleGNlcHRpb24gaW50ZXJydXB0LCBkeW5hbWljIHN0YXJ2YXRpb24gcHJpb3JpdHkNCj4g PiBhZGp1c3RtZW50IG1lY2hhbmlzbS4NCj4gDQo+IHN1Z2dlc3QgbGluZSB3cmFwcGluZyBjbG9z ZWx5IGF0IDc1IGNvbHVtbnMNCm5vIHByb2JsZW0NCj4gDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1i eTogQXJndXMgTGluIDxhcmd1cy5saW5AbWVkaWF0ZWsuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2 ZXJzL3NvYy9tZWRpYXRlay9tdGstcG1pYy13cmFwLmMgfCAxMTAgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9tZWRp YXRlay9tdGstcG1pYy13cmFwLmMgYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstcG1pYy13cmFw LmMNCj4gPiBpbmRleCBhNjM2NmYxNDdiNzkuLjBkNGEyZGFlNjkxMiAxMDA2NDQNCj4gPiAtLS0g YS9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstcG1pYy13cmFwLmMNCj4gPiArKysgYi9kcml2ZXJz L3NvYy9tZWRpYXRlay9tdGstcG1pYy13cmFwLmMNCj4gPiBAQCAtMjg0LDYgKzI4NCwxMiBAQCBl bnVtIHB3cmFwX3JlZ3Mgew0KPiA+ICAJUFdSQVBfRFZGU19XREFUQTcsDQo+ID4gIAlQV1JBUF9T UE1JTkZfU1RBLA0KPiA+ICAJUFdSQVBfQ0lQSEVSX0VOLA0KPiA+ICsNCj4gPiArCS8qIE1UNjc5 NyBzZXJpZXMgcmVncyAqLw0KPiA+ICsJUFdSQVBfSU5UMV9FTiwNCj4gPiArCVBXUkFQX0lOVDFf RkxHX1JBVywNCj4gPiArCVBXUkFQX0lOVDFfRkxHLA0KPiA+ICsJUFdSQVBfSU5UMV9DTFIsDQo+ ID4gIH07DQo+ID4gIA0KPiA+ICBzdGF0aWMgaW50IG10MjcwMV9yZWdzW10gPSB7DQo+ID4gQEAg LTM3Miw2ICszNzgsNDMgQEAgc3RhdGljIGludCBtdDI3MDFfcmVnc1tdID0gew0KPiA+ICAJW1BX UkFQX0FEQ19SREFUQV9BRERSMl0gPQkweDE1NCwNCj4gPiAgfTsNCj4gPiAgDQo+ID4gK3N0YXRp YyBpbnQgbXQ2Nzk3X3JlZ3NbXSA9IHsNCj4gPiArCVtQV1JBUF9NVVhfU0VMXSA9CQkweDAsDQo+ ID4gKwlbUFdSQVBfV1JBUF9FTl0gPQkJMHg0LA0KPiA+ICsJW1BXUkFQX0RJT19FTl0gPQkJMHg4 LA0KPiA+ICsJW1BXUkFQX1NJRExZXSA9CQkJMHhDLA0KPiA+ICsJW1BXUkFQX1JERE1ZXSA9CQkJ MHgxMCwNCj4gPiArCVtQV1JBUF9DU0hFWFRfV1JJVEVdID0JCTB4MTgsDQo+ID4gKwlbUFdSQVBf Q1NIRVhUX1JFQURdID0JCTB4MUMsDQo+ID4gKwlbUFdSQVBfQ1NMRVhUX1NUQVJUXSA9CQkweDIw LA0KPiA+ICsJW1BXUkFQX0NTTEVYVF9FTkRdID0JCTB4MjQsDQo+ID4gKwlbUFdSQVBfU1RBVVBE X1BSRF0gPQkJMHgyOCwNCj4gPiArCVtQV1JBUF9IQVJCX0hQUklPXSA9CQkweDUwLA0KPiA+ICsJ W1BXUkFQX0hJUFJJT19BUkJfRU5dID0JCTB4NTQsDQo+ID4gKwlbUFdSQVBfTUFOX0VOXSA9CQkw eDYwLA0KPiA+ICsJW1BXUkFQX01BTl9DTURdID0JCTB4NjQsDQo+ID4gKwlbUFdSQVBfV0FDUzBf RU5dID0JCTB4NzAsDQo+ID4gKwlbUFdSQVBfV0FDUzFfRU5dID0JCTB4ODQsDQo+ID4gKwlbUFdS QVBfV0FDUzJfRU5dID0JCTB4OTgsDQo+ID4gKwlbUFdSQVBfSU5JVF9ET05FMl0gPQkJMHg5QywN Cj4gPiArCVtQV1JBUF9XQUNTMl9DTURdID0JCTB4QTAsDQo+ID4gKwlbUFdSQVBfV0FDUzJfUkRB VEFdID0JCTB4QTQsDQo+ID4gKwlbUFdSQVBfV0FDUzJfVkxEQ0xSXSA9CQkweEE4LA0KPiA+ICsJ W1BXUkFQX0lOVF9FTl0gPQkJMHhDMCwNCj4gPiArCVtQV1JBUF9JTlRfRkxHX1JBV10gPQkJMHhD NCwNCj4gPiArCVtQV1JBUF9JTlRfRkxHXSA9CQkweEM4LA0KPiA+ICsJW1BXUkFQX0lOVF9DTFJd ID0JCTB4Q0MsDQo+ID4gKwlbUFdSQVBfSU5UMV9FTl0gPQkJMHhEMCwNCj4gPiArCVtQV1JBUF9J TlQxX0ZMR19SQVddID0JCTB4RDQsDQo+ID4gKwlbUFdSQVBfSU5UMV9GTEddID0JCTB4RDgsDQo+ ID4gKwlbUFdSQVBfSU5UMV9DTFJdID0JCTB4REMsDQo+ID4gKwlbUFdSQVBfVElNRVJfRU5dID0J CTB4RjQsDQo+ID4gKwlbUFdSQVBfV0RUX1VOSVRdID0JCTB4RkMsDQo+ID4gKwlbUFdSQVBfV0RU X1NSQ19FTl0gPQkJMHgxMDAsDQo+ID4gKwlbUFdSQVBfRENNX0VOXSA9CQkweDFDQywNCj4gPiAr CVtQV1JBUF9EQ01fREJDX1BSRF0gPQkJMHgxRDQsDQo+ID4gK307DQo+ID4gKw0KPiANCj4gdHJp bSB1bnVzZWQgcmVnaXN0ZXJzIGlmIGFueQ0KSSByZW1vdmVkIElOVDEgcmVsYXRlZCByZWdpc3Rl cnMuDQo+IA0KPiA+ICBzdGF0aWMgaW50IG10NzYyMl9yZWdzW10gPSB7DQo+ID4gIAlbUFdSQVBf TVVYX1NFTF0gPQkJMHgwLA0KPiA+ICAJW1BXUkFQX1dSQVBfRU5dID0JCTB4NCwNCj4gPiBAQCAt NjQ3LDYgKzY5MCw3IEBAIGVudW0gcG1pY190eXBlIHsNCj4gPiAgDQo+ID4gIGVudW0gcHdyYXBf dHlwZSB7DQo+ID4gIAlQV1JBUF9NVDI3MDEsDQo+ID4gKwlQV1JBUF9NVDY3OTcsDQo+ID4gIAlQ V1JBUF9NVDc2MjIsDQo+ID4gIAlQV1JBUF9NVDgxMzUsDQo+ID4gIAlQV1JBUF9NVDgxNzMsDQo+ ID4gQEAgLTEwMDYsNiArMTA1MCwxMiBAQCBzdGF0aWMgdm9pZCBwd3JhcF9pbml0X2NoaXBfc2Vs ZWN0X2V4dChzdHJ1Y3QgcG1pY193cmFwcGVyICp3cnAsIHU4IGhleHRfd3JpdGUsDQo+ID4gIHN0 YXRpYyBpbnQgcHdyYXBfY29tbW9uX2luaXRfcmVnX2Nsb2NrKHN0cnVjdCBwbWljX3dyYXBwZXIg KndycCkNCj4gPiAgew0KPiA+ICAJc3dpdGNoICh3cnAtPm1hc3Rlci0+dHlwZSkgew0KPiA+ICsJ Y2FzZSBQV1JBUF9NVDY3OTc6DQo+ID4gKwkJcHdyYXBfd3JpdGVsKHdycCwgMHg4LCBQV1JBUF9S RERNWSk7DQo+ID4gKwkJcHdyYXBfd3JpdGUod3JwLCB3cnAtPnNsYXZlLT5kZXdfcmVnc1tQV1JB UF9ERVdfUkRETVlfTk9dLA0KPiA+ICsJCQkgICAgMHg4KTsNCj4gPiArCQlwd3JhcF9pbml0X2No aXBfc2VsZWN0X2V4dCh3cnAsIDB4ODgsIDB4NTUsIDMsIDApOw0KPiA+ICsJCWJyZWFrOw0KPiAN Cj4gdGhlIHNldHVwIGZvciB0aW1pbmcgaXMgbXVjaCBzaW1pbGFyIHRvIG10MjcwMSArIG10NjMy Mw0KPiANCj4gc28gd2UgY2FuIG1lcmdlIHRoZSBib3RoIGxvZ2ljIGludG8gb25lLCBhbmQgdGhl biBob3BlIHRvIGVsaW1pbmF0ZSBzcGVjaWZpYyBwd3JhcF9tdDI3MDFfaW5pdF9yZWdfY2xvY2sg dG90YWxseQ0KaG1tLCB3ZSBjYW4gb25seSBrZWVwIHB3cmFwX2luaXRfY2hpcF9zZWxlY3RfZXh0 KHdycCwgMHg4OCwgMHg1NSwgMywgMCk7DQpoZXJlLg0KPiANCj4gPiAgCWNhc2UgUFdSQVBfTVQ4 MTczOg0KPiA+ICAJCXB3cmFwX2luaXRfY2hpcF9zZWxlY3RfZXh0KHdycCwgMCwgNCwgMiwgMik7 DQo+ID4gIAkJYnJlYWs7DQo+ID4gQEAgLTEwNzYsMTEgKzExMjYsMTQgQEAgc3RhdGljIGludCBw d3JhcF9pbml0X2NpcGhlcihzdHJ1Y3QgcG1pY193cmFwcGVyICp3cnApDQo+ID4gIAkJYnJlYWs7 DQo+ID4gIAljYXNlIFBXUkFQX01UMjcwMToNCj4gPiAgCWNhc2UgUFdSQVBfTVQ4MTczOg0KPiA+ ICsJY2FzZSBQV1JBUF9NVDY3OTc6DQo+IA0KPiBuZWVkIHRvIGJlIGxpc3RlZCBpbiBhbHBoYWJl dGljYWwgb3JkZXINCm5vIHByb2JsZW0NCj4gDQo+ID4gIAkJcHdyYXBfd3JpdGVsKHdycCwgMSwg UFdSQVBfQ0lQSEVSX0VOKTsNCj4gPiAgCQlicmVhazsNCj4gPiAgCWNhc2UgUFdSQVBfTVQ3NjIy Og0KPiA+ICAJCXB3cmFwX3dyaXRlbCh3cnAsIDAsIFBXUkFQX0NJUEhFUl9FTik7DQo+ID4gIAkJ YnJlYWs7DQo+ID4gKwlkZWZhdWx0Og0KPiA+ICsJCWJyZWFrOw0KPiA+ICAJfQ0KPiA+ICANCj4g PiAgCS8qIENvbmZpZyBjaXBoZXIgbW9kZSBAUE1JQyAqLw0KPiA+IEBAIC0xMzI1LDYgKzEzNzgs MTUgQEAgc3RhdGljIGlycXJldHVybl90IHB3cmFwX2ludGVycnVwdChpbnQgaXJxbm8sIHZvaWQg KmRldl9pZCkNCj4gPiAgDQo+ID4gIAlwd3JhcF93cml0ZWwod3JwLCAweGZmZmZmZmZmLCBQV1JB UF9JTlRfQ0xSKTsNCj4gPiAgDQo+ID4gKwkvKiBJZiB3ZSBzdXBwb3J0IElOVDEgaW50ZXJydXB0 LCB3ZSBhbHNvIG5lZWQgdG8gY2xlYXIgaXQgKi8NCj4gPiArCWlmIChIQVNfQ0FQKHdycC0+bWFz dGVyLT5jYXBzLCBQV1JBUF9DQVBfSU5UMV9FTikpIHsNCj4gPiArCQlyZGF0YSA9IHB3cmFwX3Jl YWRsKHdycCwgUFdSQVBfSU5UMV9GTEcpOw0KPiA+ICsNCj4gPiArCQlkZXZfZXJyKHdycC0+ZGV2 LCAidW5leHBlY3RlZCBpbnRlcnJ1cHQgaW50MT0weCV4XG4iLCByZGF0YSk7DQo+ID4gKw0KPiA+ ICsJCXB3cmFwX3dyaXRlbCh3cnAsIHJkYXRhLCBQV1JBUF9JTlQxX0NMUik7DQo+ID4gKwl9DQo+ ID4gKw0KPiANCj4gaXQgc2VlbXMgbm8gcmVxdWlyZWQgdG8gYWRkIFBXUkFQX0NBUF9JTlQxX0VO Og0KPiANCj4gdGhlIENBUCBpcyBub3QgdG8gdGFrZSBhbnkgYWN0aW9uIGZvciBhbnkgSU5UcyBy YWlzZWQsIGluc3RlYWQsIGl0IGNhbiBiZSBkaXNhYmxlZCBhdCBpbml0aWFsLg0KDQpobW0sIEkg dGhpbmsgaXQncyBmaW5lIHdpdGhvdXQgYWRkaW5nIFBXUkFQX0NBUF9JTlQxX0VOLg0KPiANCj4g PiAgCXJldHVybiBJUlFfSEFORExFRDsNCj4gPiAgfQ0KPiA+ICANCj4gPiBAQCAtMTQ0Niw2ICsx NTA4LDE5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcG1pY193cmFwcGVyX3R5cGUgcHdyYXBfbXQ4 MTczID0gew0KPiA+ICAJLmluaXRfc29jX3NwZWNpZmljID0gcHdyYXBfbXQ4MTczX2luaXRfc29j X3NwZWNpZmljLA0KPiA+ICB9Ow0KPiA+ICANCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwbWlj X3dyYXBwZXJfdHlwZSBwd3JhcF9tdDY3OTcgPSB7DQo+ID4gKwkucmVncyA9IG10Njc5N19yZWdz LA0KPiA+ICsJLnR5cGUgPSBQV1JBUF9NVDY3OTcsDQo+ID4gKwkuYXJiX2VuX2FsbCA9IDB4MDFm ZmYsDQo+ID4gKwkuaW50X2VuX2FsbCA9IDB4ZmZmZmZmYzYsDQo+ID4gKwkuaW50MV9lbl9hbGwg PSAweDAwMDFmZmZmLA0KPiA+ICsJLnNwaV93ID0gUFdSQVBfTUFOX0NNRF9TUElfV1JJVEUsDQo+ ID4gKwkud2R0X3NyYyA9IFBXUkFQX1dEVF9TUkNfTUFTS19BTEwsDQo+ID4gKwkuY2FwcyA9IFBX UkFQX0NBUF9EQ00gfCBQV1JBUF9DQVBfSU5UMV9FTiwNCj4gPiArCS5pbml0X3JlZ19jbG9jayA9 IHB3cmFwX2NvbW1vbl9pbml0X3JlZ19jbG9jaywNCj4gPiArCS5pbml0X3NvY19zcGVjaWZpYyA9 IE5VTEwsDQo+ID4gK307DQo+ID4gKw0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBvZl9wd3JhcF9tYXRjaF90YmxbXSA9IHsNCj4gPiAgCXsNCj4gPiAgCQkuY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDI3MDEtcHdyYXAiLA0KPiA+IEBAIC0xNDYwLDYgKzE1MzUsOSBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9wd3JhcF9tYXRjaF90YmxbXSA9IHsN Cj4gPiAgCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtcHdyYXAiLA0KPiA+ICAJCS5k YXRhID0gJnB3cmFwX210ODE3MywNCj4gPiAgCX0sIHsNCj4gPiArCQkuY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDY3OTctcHdyYXAiLA0KPiA+ICsJCS5kYXRhID0gJnB3cmFwX210Njc5NywNCj4g DQo+IGVhY2ggZW50cnkgbmVlZHMgdG8gYmUgc29ydGVkIGluIGFscGhhYmV0aWNhbCBvcmRlcg0K bm8gcHJvYmxlbQ0KPiANCj4gPiArCX0sIHsNCj4gPiAgCQkvKiBzZW50aW5lbCAqLw0KPiA+ICAJ fQ0KPiA+ICB9Ow0KPiA+IEBAIC0xNTAzLDExICsxNTgxLDEzIEBAIHN0YXRpYyBpbnQgcHdyYXBf cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gPiAgCWlmIChJU19FUlIod3Jw LT5iYXNlKSkNCj4gPiAgCQlyZXR1cm4gUFRSX0VSUih3cnAtPmJhc2UpOw0KPiA+ICANCj4gPiAt CXdycC0+cnN0YyA9IGRldm1fcmVzZXRfY29udHJvbF9nZXQod3JwLT5kZXYsICJwd3JhcCIpOw0K PiA+IC0JaWYgKElTX0VSUih3cnAtPnJzdGMpKSB7DQo+ID4gLQkJcmV0ID0gUFRSX0VSUih3cnAt PnJzdGMpOw0KPiA+IC0JCWRldl9kYmcod3JwLT5kZXYsICJjYW5ub3QgZ2V0IHB3cmFwIHJlc2V0 OiAlZFxuIiwgcmV0KTsNCj4gPiAtCQlyZXR1cm4gcmV0Ow0KPiA+ICsJaWYgKEhBU19DQVAod3Jw LT5tYXN0ZXItPmNhcHMsIFBXUkFQX0NBUF9SRVNFVCkpIHsNCj4gPiArCQl3cnAtPnJzdGMgPSBk ZXZtX3Jlc2V0X2NvbnRyb2xfZ2V0KHdycC0+ZGV2LCAicHdyYXAiKTsNCj4gDQo+IHRoZXJlIHNo b3VsZCBiZSBhIHJlc2V0IGJpdCBwcmVzZW50IGZvciBwd3JhcCBvbiBpbmZyYXN5cy4NCj4gDQo+ IHRoZSBzcGVjaWZpYyBjb25kaXRpb24gY2FuIGJlIGRyb3BwZWQgd2hlbiB0aGUgcmVzZXQgY2Vs bCBpcyBleHBvcnRlZCBmcm9tIGluZnJhc3lzIGFuZCB0aGVuIHRoZSBkZXZpY2UgaGFzIGEgcmVm ZXJlbmNlIHRvIGl0Lg0KaG1tLCBJIHRoaW5rIGl0IG5lZWQgdG8ga2VlcCBoZXJlLg0KYmVjYXVz ZSBhZnRlciBwd3JhcCBpbml0aWFsaXplZCwgaXQgY2FuJ3QgYmUgcmVzZXQgYWxvbmUuDQpJdCBu ZWVkcyB0byByZXNldCBQTUlDIHNpbXVsdGFuZW91c2x5LCB0b28uDQo+IA0KPiA+ICsJCWlmIChJ U19FUlIod3JwLT5yc3RjKSkgew0KPiA+ICsJCQlyZXQgPSBQVFJfRVJSKHdycC0+cnN0Yyk7DQo+ ID4gKwkJCWRldl9kYmcod3JwLT5kZXYsICJjYW5ub3QgZ2V0IHB3cmFwIHJlc2V0OiAlZFxuIiwg cmV0KTsNCj4gPiArCQkJcmV0dXJuIHJldDsNCj4gPiArCQl9DQo+ID4gIAl9DQo+ID4gIA0KPiA+ ICAJaWYgKEhBU19DQVAod3JwLT5tYXN0ZXItPmNhcHMsIFBXUkFQX0NBUF9CUklER0UpKSB7DQo+ ID4gQEAgLTE1NDksOSArMTYyOSwxNyBAQCBzdGF0aWMgaW50IHB3cmFwX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gIAlpZiAocmV0KQ0KPiA+ICAJCWdvdG8gZXJyX291 dDE7DQo+ID4gIA0KPiA+IC0JLyogRW5hYmxlIGludGVybmFsIGR5bmFtaWMgY2xvY2sgKi8NCj4g PiAtCXB3cmFwX3dyaXRlbCh3cnAsIDEsIFBXUkFQX0RDTV9FTik7DQo+ID4gLQlwd3JhcF93cml0 ZWwod3JwLCAwLCBQV1JBUF9EQ01fREJDX1BSRCk7DQo+ID4gKwkvKg0KPiA+ICsJICogYWRkIGRj bSBjYXBhYmlsaXR5IGNoZWNrDQo+ID4gKwkgKi8NCj4gPiArCWlmIChIQVNfQ0FQKHdycC0+bWFz dGVyLT5jYXBzLCBQV1JBUF9DQVBfRENNKSkgew0KPiANCj4gdGhlIHNwZWNpZmljIGNvbmRpdGlv biBjYW4gYmUgZHJvcHBlZCBzaW5jZSBzbyBmYXIgYWxsIGRldmljZXMgdGhlIGRyaXZlciBjYW4g c3VwcG9ydCBhcmUgb3duaW5nIFBXUkFQX0NBUF9EQ00NCldlIGRpZCBub3Qgc3VwcG9ydCBEQ00g Zm9yIGZ1dHVyZSBjaGlwcy4NCk1UNjc5NyBpcyB0aGUgbGFzdCBvbmUuDQpUaGlzIHdoeSBJIHdh bnQgdG8gYWRkIGp1ZGdlbWVudCBoZXJlLg0KPiANCj4gPiArCQlpZiAod3JwLT5tYXN0ZXItPnR5 cGUgPT0gUFdSQVBfTVQ2Nzk3KQ0KPiA+ICsJCQlwd3JhcF93cml0ZWwod3JwLCAzLCBQV1JBUF9E Q01fRU4pOw0KPiANCj4gdGhlIHNldHVwIGZvciBNVDY3OTcgY2FuIGJlIG1vdmVkIGludG8gLmlu aXRfc29jX3NwZWNpZmljIGNhbGxiYWNrID8NCg0KSSB0aGluayBwdXQgaXQgaGVyZSBpcyBtb3Jl IGdlbmVyYWxseS4NCj4gDQo+ID4gKwkJZWxzZQ0KPiA+ICsJCQlwd3JhcF93cml0ZWwod3JwLCAx LCBQV1JBUF9EQ01fRU4pOw0KPiA+ICsNCj4gPiArCQlwd3JhcF93cml0ZWwod3JwLCAwLCBQV1JB UF9EQ01fREJDX1BSRCk7DQo+ID4gKwl9DQo+ID4gIA0KPiA+ICAJLyoNCj4gPiAgCSAqIFRoZSBQ TUlDIGNvdWxkIGFscmVhZHkgYmUgaW5pdGlhbGl6ZWQgYnkgdGhlIGJvb3Rsb2FkZXIuDQo+ID4g QEAgLTE1ODAsNiArMTY2OCwxMiBAQCBzdGF0aWMgaW50IHB3cmFwX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gIAlwd3JhcF93cml0ZWwod3JwLCB3cnAtPm1hc3Rlci0+ d2R0X3NyYywgUFdSQVBfV0RUX1NSQ19FTik7DQo+ID4gIAlwd3JhcF93cml0ZWwod3JwLCAweDEs IFBXUkFQX1RJTUVSX0VOKTsNCj4gPiAgCXB3cmFwX3dyaXRlbCh3cnAsIHdycC0+bWFzdGVyLT5p bnRfZW5fYWxsLCBQV1JBUF9JTlRfRU4pOw0KPiA+ICsJLyoNCj4gPiArCSAqIFdlIGFkZCBJTlQx IGludGVycnVwdCB0byBoYW5kbGUgc3RhcnZhdGlvbiBhbmQgcmVxdWVzdCBleGNlcHRpb24NCj4g PiArCSAqIElmIHdlIHN1cHBvcnQgaXQsIHdlIHNob3VsZCBlbmFibGUgdGhlbSBoZXJlLg0KPiA+ ICsJICovDQo+ID4gKwlpZiAoSEFTX0NBUCh3cnAtPm1hc3Rlci0+Y2FwcywgUFdSQVBfQ0FQX0lO VDFfRU4pKQ0KPiA+ICsJCXB3cmFwX3dyaXRlbCh3cnAsIHdycC0+bWFzdGVyLT5pbnQxX2VuX2Fs bCwgUFdSQVBfSU5UMV9FTik7DQo+ID4gIA0KPiANCj4gaWYgdGhlcmUgaXMgbm8gZXhwbGljaXRs eSBlbmFibGluZyBvbiBJTlQxLCB0aGVuIElTUiBoYW5kbGluZyBmb3IgSU5UMSBpcyBhbHNvIHVu bmVjZXNzYXJ5DQoNCkl0J3Mgb2sgZm9yIG1lLg0KPiANCj4gPiAgCWlycSA9IHBsYXRmb3JtX2dl dF9pcnEocGRldiwgMCk7DQo+ID4gIAlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKHdycC0+ZGV2LCBp cnEsIHB3cmFwX2ludGVycnVwdCwNCj4gDQo+IA0KPiANCg0K --__=_Part_Boundary_005_2100364474.78933635-- --__=_Part_Boundary_004_432459330.242051236--