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=-3.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 AFEDFC43603 for ; Wed, 4 Dec 2019 18:48:45 +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 86E5020675 for ; Wed, 4 Dec 2019 18:48:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86E5020675 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0038D6F4F2; Wed, 4 Dec 2019 18:48:45 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id E1F3F6F4F2 for ; Wed, 4 Dec 2019 18:48:43 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Dec 2019 10:48:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,278,1571727600"; d="scan'208";a="263038807" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by FMSMGA003.fm.intel.com with ESMTP; 04 Dec 2019 10:48:43 -0800 Received: from fmsmsx157.amr.corp.intel.com (10.18.116.73) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 4 Dec 2019 10:48:43 -0800 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.27]) by FMSMSX157.amr.corp.intel.com ([169.254.14.160]) with mapi id 14.03.0439.000; Wed, 4 Dec 2019 10:48:42 -0800 From: "Souza, Jose" To: "ville.syrjala@linux.intel.com" Thread-Topic: [PATCH 3/7] drm/i915/tgl: Select master trasconder for MST stream Thread-Index: AQHVoZin5FYdqMcxWECRBMTa77MVw6eebLqAgAAG4QCAAYm2gIAAWACAgAC2OYCABvASgIAA9tmAgACeCgCAANUEAIAAhEyA Date: Wed, 4 Dec 2019 18:48:42 +0000 Message-ID: References: <20191123005459.155383-1-jose.souza@intel.com> <20191123005459.155383-3-jose.souza@intel.com> <20191126200553.GG1208@intel.com> <20191127195939.GO1208@intel.com> <72b17babbf755de61f3f6a1170c6fcd7fa646786.camel@intel.com> <20191128120649.GS1208@intel.com> <58e7e51346d894fed206ad7a0ddd1cf25642eb29.camel@intel.com> <20191203124707.GL1208@intel.com> <95b18888b466e9b9c0ceca2c32934301dc1374da.camel@intel.com> <20191204105510.GX1208@intel.com> In-Reply-To: <20191204105510.GX1208@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.98.40.67] Content-ID: <493EF8D565189E4889743B7A0AA48AB2@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 3/7] drm/i915/tgl: Select master trasconder for MST stream X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "intel-gfx@lists.freedesktop.org" , "De Marchi, Lucas" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCAyMDE5LTEyLTA0IGF0IDEyOjU1ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFR1ZSwgRGVjIDAzLCAyMDE5IGF0IDEwOjEyOjQ3UE0gKzAwMDAsIFNvdXphLCBKb3Nl IHdyb3RlOg0KPiA+IE9uIFR1ZSwgMjAxOS0xMi0wMyBhdCAxNDo0NyArMDIwMCwgVmlsbGUgU3ly asOkbMOkIHdyb3RlOg0KPiA+ID4gT24gTW9uLCBEZWMgMDIsIDIwMTkgYXQgMTA6MDM6MzhQTSAr MDAwMCwgU291emEsIEpvc2Ugd3JvdGU6DQo+ID4gPiA+IE9uIFRodSwgMjAxOS0xMS0yOCBhdCAx NDowNiArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOg0KPiA+ID4gPiA+IE9uIFRodSwgTm92 IDI4LCAyMDE5IGF0IDAxOjE0OjM3QU0gKzAwMDAsIFNvdXphLCBKb3NlIHdyb3RlOg0KPiA+ID4g PiA+ID4gT24gV2VkLCAyMDE5LTExLTI3IGF0IDIxOjU5ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qg d3JvdGU6DQo+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgTm92IDI2LCAyMDE5IGF0IDA4OjMwOjMxUE0g KzAwMDAsIFNvdXphLCBKb3NlDQo+ID4gPiA+ID4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ IE9uIFR1ZSwgMjAxOS0xMS0yNiBhdCAyMjowNSArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3Rl Og0KPiA+ID4gPiA+ID4gPiA+ID4gT24gRnJpLCBOb3YgMjIsIDIwMTkgYXQgMDQ6NTQ6NTVQTSAt MDgwMCwgSm9zw6kNCj4gPiA+ID4gPiA+ID4gPiA+IFJvYmVydG8gZGUNCj4gPiA+ID4gPiA+ID4g PiA+IFNvdXphDQo+ID4gPiA+ID4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4g T24gVEdMIHRoZSBibGVuZGluZyBvZiBhbGwgdGhlIHN0cmVhbXMgaGF2ZSBtb3ZlZA0KPiA+ID4g PiA+ID4gPiA+ID4gPiBmcm9tDQo+ID4gPiA+ID4gPiA+ID4gPiA+IERESQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0cmFuc2NvZGVyLCBzbyBub3cgZXZlcnkg dHJhbnNjb2RlciB3b3JraW5nIG92ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IHNhbWUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gTVNUDQo+ID4gPiA+ID4gPiA+ ID4gPiA+IHBvcnQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbXVzdA0KPiA+ID4gPiA+ID4gPiA+ID4g PiBzZW5kIGl0cyBzdHJlYW0gdG8gYSBtYXN0ZXIgdHJhbnNjb2RlciBhbmQgbWFzdGVyDQo+ID4g PiA+ID4gPiA+ID4gPiA+IHdpbGwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gc2VuZA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBEREkNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gcmVzcGVjdGluZyB0aGUgdGltZSBzbG90cy4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4g PiA+ID4gPiA+ID4gPiA+IEEgcHJldmlvdXMgYXBwcm9hY2ggd2FzIHVzaW5nIHRoZSBsb3dlc3QN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gcGlwZS90cmFuc2NvZGVyIGFzDQo+ID4gPiA+ID4gPiA+ID4g PiA+IG1hc3Rlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0cmFuc2NvZGVyIGJ1dCBhcyB0aGUgY29t bWVudCBpbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBza2xfY29tbWl0X21vZGVzZXRfZW5hYmxlcygp DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHN0YXRlcywNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhhdCBp cyBub3QgYWx3YXlzIHRydWUuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBTbyBoZXJlIHByb21vdGluZyB0aGUgZmlyc3QgcGlwZS90cmFuc2NvZGVyIG9mIHRoZQ0K PiA+ID4gPiA+ID4gPiA+ID4gPiBzdHJlYW0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gYXMNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gbWFzdGVyLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGF0IGNhdXNlZCBz ZXZlcmFsIG90aGVyIHByb2JsZW1zIGFzIGR1cmluZyB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4g Y29tbWl0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHBoYXNlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRo ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzdGF0ZSBjb21wdXRlZCBzaG91bGQgbm90IGJlIGNoYW5n ZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTbyB0aGUgbWFz dGVyIHRyYW5zY29kZXIgaXMgc3RvcmUgaW50byBpbnRlbF9kcCBhbmQNCj4gPiA+ID4gPiA+ID4g PiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG1vZGVzZXQNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gaW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gc2xhdmUgcGlwZXMvdHJhbnNjb2RlcnMgaXMgZm9y Y2VkIHVzaW5nDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG1zdF9tYXN0ZXJfdHJhbnNfcGVuZGluZy4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHYyOg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiAtIGFkZGVkIG1pc3NpbmcgY29uZmlnIGNvbXB1dGUgdG8gdHJpZ2dlcg0KPiA+ ID4gPiA+ID4gPiA+ID4gPiBmdWxsbW9kZXNldA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbg0KPiA+ ID4gPiA+ID4gPiA+ID4gPiBzbGF2ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0cmFuc2NvZGVycw0K PiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gQlNwZWM6IDUwNDkzDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IEJTcGVjOiA0OTE5MA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBDYzog VmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gQ2M6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29t Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNv dXphIDwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gam9zZS5zb3V6YUBpbnRlbC5jb20+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgIDENCj4gPiA+ID4gPiA+ID4gPiA+ID4gMCAr LQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMgIHwgIDUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gOA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiArKysrKystDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgIA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAzICsNCj4g PiA+ID4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAu YyAgICAgICB8ICAgDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDEgKw0KPiA+ID4gPiA+ID4gPiA+ID4g PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYyAgIHwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gMTQ5DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysr LQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcF9tc3QuaCAgIHwgICANCj4gPiA+ID4gPiA+ID4gPiA+ID4gMiArDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDIxNiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygt KQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0K PiA+ID4gPiA+ID4gPiA+ID4gPiBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RkaS5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGluZGV4IGE5NzY2MDZkMjFjNy4uZDJm MGQzOTNkM2VlIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gQEAgLTM1LDYgKzM1LDcgQEANCj4gPiA+ID4gPiA+ID4gPiA+ID4gICNpbmNsdWRlICJpbnRl bF9kaXNwbGF5X3R5cGVzLmgiDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSAiaW50ZWxf ZHAuaCINCj4gPiA+ID4gPiA+ID4gPiA+ID4gICNpbmNsdWRlICJpbnRlbF9kcF9saW5rX3RyYWlu aW5nLmgiDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsjaW5jbHVkZSAiaW50ZWxfZHBfbXN0LmgiDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSAiaW50ZWxfZHBpb19waHkuaCINCj4gPiA+ID4g PiA+ID4gPiA+ID4gICNpbmNsdWRlICJpbnRlbF9kc2kuaCINCj4gPiA+ID4gPiA+ID4gPiA+ID4g ICNpbmNsdWRlICJpbnRlbF9maWZvX3VuZGVycnVuLmgiDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEBA IC0xOTAzLDggKzE5MDQsMTMgQEANCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW50ZWxfZGRpX3RyYW5z Y29kZXJfZnVuY19yZWdfdmFsX2dldChjb25zdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIAkJdGVt cCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFBfTVNUOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAg CQl0ZW1wIHw9IERESV9QT1JUX1dJRFRIKGNydGNfc3RhdGUtDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gbGFuZV9jb3VudCk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICANCj4gPiA+ID4gPiA+ID4gPiA+ ID4gLQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTIpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IC0JCQl0ZW1wIHw9DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFRSQU5TX0RESV9NU1RfVFJBTlNQT1JU X1NFTEVDVChjcnRjX3N0YXRlLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGNwdV90cmFuc2NvZGVy KTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTIp IHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCWVudW0gdHJhbnNjb2RlciBtYXN0ZXI7DQo+ID4g PiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKwkJCW1hc3RlciA9DQo+ID4g PiA+ID4gPiA+ID4gPiA+IGludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KGVuY29kZXIpOw0K PiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiBXaHkgaXNuJ3QgdGhhdCBqdXN0 IHN0b3JlZCBpbiB0aGUgY3J0YyBzdGF0ZSBsaWtlDQo+ID4gPiA+ID4gPiA+ID4gPiBldmVyeXRo aW5nDQo+ID4gPiA+ID4gPiA+ID4gPiBlbHNlPw0KPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gPiA+ID4gPiBJJ20gdGhpbmtpbmcgd2Ugc2hvdWxkIG1heWJlIGRvIGl0IGp1c3QgbGlrZSBw b3J0DQo+ID4gPiA+ID4gPiA+ID4gPiBzeW5jDQo+ID4gPiA+ID4gPiA+ID4gPiBhbmQNCj4gPiA+ ID4gPiA+ID4gPiA+IGhhdmUNCj4gPiA+ID4gPiA+ID4gPiA+IGJvdGgNCj4gPiA+ID4gPiA+ID4g PiA+IG1hc3RlciArIHNsYXZlX21hc2suIFRoYXQgd2F5IGl0IHNob3VsZCBiZSBwcmV0dHkNCj4g PiA+ID4gPiA+ID4gPiA+IHRyaXZpYWwNCj4gPiA+ID4gPiA+ID4gPiA+IHRvDQo+ID4gPiA+ID4g PiA+ID4gPiBhZGQNCj4gPiA+ID4gPiA+ID4gPiA+IGFsbA0KPiA+ID4gPiA+ID4gPiA+ID4gdGhl IHJlbGV2YW50IGNydGNzIHRvIHRoZSBzdGF0ZSB3aGVuIG5lZWRlZC4NCj4gPiA+ID4gPiA+ID4g PiANCj4gPiA+ID4gPiA+ID4gPiBJIGd1ZXNzIHBvcnQgc3luYyBpcyBub3QgZG9pbmcgdGhlIHJp Z2h0IHRoaW5nIGFuZCBpdA0KPiA+ID4gPiA+ID4gPiA+IGNvdWxkDQo+ID4gPiA+ID4gPiA+ID4g Y2F1c2UNCj4gPiA+ID4gPiA+ID4gPiB1bmRlcnJ1bnMuDQo+ID4gPiA+ID4gPiA+ID4gV2hlbiBp dCBpcyBnb2luZyB0byBlbmFibGUgdGhlIG1hc3RlciBDUlRDIG9mIHRoZSBwb3J0DQo+ID4gPiA+ ID4gPiA+ID4gc3luYw0KPiA+ID4gPiA+ID4gPiA+IGl0DQo+ID4gPiA+ID4gPiA+ID4gZm9yY2li bHkNCj4gPiA+ID4gPiA+ID4gPiBlbmFibGVzIHRoZSBzbGF2ZSBmaXJzdCwgd2hhdCBjb3VsZCBj YXVzZSB1bmRlcnJ1bnMNCj4gPiA+ID4gPiA+ID4gPiBiZWNhdXNlDQo+ID4gPiA+ID4gPiA+ID4g b2YNCj4gPiA+ID4gPiA+ID4gPiBvdmVybGFwDQo+ID4gPiA+ID4gPiA+ID4gaW4gZGRiIGFsbG9j YXRpb25zKHRoYXQgaXMgd2hhdCBJIHVuZGVyc3Rvb2QgZnJvbSB0aGUNCj4gPiA+ID4gPiA+ID4g PiBjb21tZW50DQo+ID4gPiA+ID4gPiA+ID4gaW4NCj4gPiA+ID4gPiA+ID4gPiBza2xfY29tbWl0 X21vZGVzZXRfZW5hYmxlcygpKS4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IE5vdCBu ZWNlc3NhcmlseSBqdXN0IHVuZGVycnVucyBidXQgZXZlbiBhIHN5c3RlbSBoYW5nLg0KPiA+ID4g PiA+ID4gPiBUaGUNCj4gPiA+ID4gPiA+ID4gZml4DQo+ID4gPiA+ID4gPiA+IHNob3VsZA0KPiA+ ID4gPiA+ID4gPiBiZQ0KPiA+ID4gPiA+ID4gPiBhIHRyaXZpYWwgImNoZWNrIHRoZSBzbGF2ZSBm b3IgZGRiIG92ZXJsYXAgYXMgd2VsbCIsIGJ1dA0KPiA+ID4gPiA+ID4gPiBhcHBhcmVudGx5IEkN Cj4gPiA+ID4gPiA+ID4gZmFpbGVkIGF0IGNvbnZpY2luZyBwZW9wbGUgdG8gZG8gdGhhdC4NCj4g PiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IEkndmUgYWN0dWFsbHkgYmVlbiBwb25kZXJpbmcg YWJvdXQgZGVjb3VwbGluZyB0aGUgcGxhbmUNCj4gPiA+ID4gPiA+ID4gdXBkYXRlcw0KPiA+ID4g PiA+ID4gPiBmcm9tDQo+ID4gPiA+ID4gPiA+IHRoZSBjcnRjIGVuYWJsZSBzdHVmZiBlbnRpcmVs eS4gQXQgbGVhc3QgdGhlb3JldGljYWxseQ0KPiA+ID4gPiA+ID4gPiBjcnRjDQo+ID4gPiA+ID4g PiA+IGVuYWJsZQ0KPiA+ID4gPiA+ID4gPiBzaG91bGQgYmUgYWJsZSB0byBleGN1dGUgaW4gYW55 IG9yZGVyIGFzIGxvbmcgd2UgZG9uJ3QNCj4gPiA+ID4gPiA+ID4gZW5hYmxlDQo+ID4gPiA+ID4g PiA+IGFueQ0KPiA+ID4gPiA+ID4gPiBuZXcgcGxhbmVzLg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ ID4gPiA+ID4gQnV0IG5vbmUgb2YgdGhhdCByZWFsbHkgbWF0dGVycyBmb3IgdGhlIGRpc2N1c3Np b24gYXQNCj4gPiA+ID4gPiA+ID4gaGFuZC4NCj4gPiA+ID4gPiA+ID4gVGhvdWdoDQo+ID4gPiA+ ID4gPiA+IHRoZXJlIGFyZSBvdGhlciBwcm9ibGVtcyB3aXRoIHRoZSBwb3J0IHN5bmMgc3R1ZmYg dGhhdA0KPiA+ID4gPiA+ID4gPiB3b3VsZA0KPiA+ID4gPiA+ID4gPiBuZWVkDQo+ID4gPiA+ID4g PiA+IHRvIGJlIGhhbmRsZWQgYmV0dGVyLiBFZy4gSSB0aGluayBpdCBub3cgYWRkcyBib3RoIGNy dGNzDQo+ID4gPiA+ID4gPiA+IHRvDQo+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiBz dGF0ZQ0KPiA+ID4gPiA+ID4gPiBhbHdheXMgd2hpY2ggaXMgZ29pbmcgdG8gY3V0IHRoZSBmcHMg aW4gaGFsZi4gQWxzbyB0aGUNCj4gPiA+ID4gPiA+ID4gcGxhY2UNCj4gPiA+ID4gPiA+ID4gd2hl cmUNCj4gPiA+ID4gPiA+ID4gaXQgZG9lcyB0aGF0IHN0dWZmIGlzIHJhdGhlciBzdXNwaWNpb3Vz LiBBbGwgdGhhdCBzdHVmZg0KPiA+ID4gPiA+ID4gPiBzaG91bGQgYmUNCj4gPiA+ID4gPiA+ID4g c29tZXdoZXJlIGEgYml0IGhpZ2hlciB1cCBJTU8uDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ ID4gPiA+IFNvIGZvciBNU1Qgd2Ugb25seSBrbm93IHdobyBpcyB0aGUgbWFzdGVyIGluIHRoZSBj b21taXQNCj4gPiA+ID4gPiA+ID4gPiBwaGFzZQ0KPiA+ID4gPiA+ID4gPiA+IGFuZA0KPiA+ID4g PiA+ID4gPiA+IGF0DQo+ID4gPiA+ID4gPiA+ID4gdGhpcyBwb2ludCB3ZSBzaG91bGQgbm90IG1v ZGlmeSB0aGUgY29tcHV0ZWQgc3RhdGUuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBJ J20gbm90IHN1Z2dlc3RpbmcgbW9kaWZ5aW5nIGFueXRoaW5nIGR1cmluZyBjb21taXQNCj4gPiA+ ID4gPiA+ID4gcGhhc2UuIEkNCj4gPiA+ID4gPiA+ID4gdGhpbmsNCj4gPiA+ID4gPiA+ID4geW91 IGFyZSBlZmZlY3RpZWx5IGRvaW5nIHRoYXQgcmlnaHQgbm93IGJ5IHN0dWZmaW5nIHRoYXQNCj4g PiA+ID4gPiA+ID4gbXN0DQo+ID4gPiA+ID4gPiA+IG1hc3Rlcg0KPiA+ID4gPiA+ID4gPiB0cmFu c2NvZGVyIGludG8gaW50ZWxfZHAuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IFNvcnJ5LCBJ IHN0aWxsIGRvbid0IGdldCB3aGF0IGFwcHJvYWNoIGFyZSB5b3Ugc3VnZ2VzdGluZw0KPiA+ID4g PiA+ID4gaGVyZS4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gSWYgd2UgY2FuJ3QgbW9kaWZ5 IHRoZSBzdGF0ZSBpbiB0aGUgY29tbWl0IHBoYXNlLCBhZGRpbmcNCj4gPiA+ID4gPiA+IG1zdF9t YXN0ZXJfdHJhbnNjb2RlciBpbiB0aGUgQ1JUQyBzdGF0ZSB3aWxsIG5vdCBiZQ0KPiA+ID4gPiA+ ID4gcG9zc2libGUNCj4gPiA+ID4gPiA+IHdoaWxlDQo+ID4gPiA+ID4gPiByZXNwZWN0aW5nIHRo ZSBvcmRlciBpbXBvc2VkIGJ5IGRkYiBhbGxvY2F0aW9ucy4NCj4gPiA+ID4gPiANCj4gPiA+ID4g PiBUaGUgZGRiIGFsbG9jYXRpb24gb3JkZXJpbmcgb25seSBjb21lcyBpbnRvIHBsYXkgd2hlbiB0 aGVyZQ0KPiA+ID4gPiA+IGFyZQ0KPiA+ID4gPiA+IGFscmVhZHkgYWN0aXZlIHBpcGVzLiBJdCBz aG91bGQgYWx3YXlzIGJlIHBvc3NpYmxlIHRvIG5vdA0KPiA+ID4gPiA+IGVuYWJsZQ0KPiA+ID4g PiA+IHRoZSBzbGF2ZXMgdW50aWwgdGhlIG1hc3RlciBoYXMgYmVlbiBzaHVmZmxlZCBpbnRvIHBs YWNlIGluDQo+ID4gPiA+ID4gdGhlIA0KPiA+ID4gPiA+IGRkYiBhbmQgZW5hYmxlZC4NCj4gPiA+ ID4gDQo+ID4gPiA+IFRoaXMgc291bmRzIGNvbnRyYWRpY3RvcnkgdG8gd2hhdCB5b3UgYW5zd2Vy ZWQgaGVyZTogDQo+ID4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVz L2ludGVsLWdmeC8yMDE5LU5vdmVtYmVyLzIyMTYwOC5odG1sDQo+ID4gPiA+IA0KPiA+ID4gPiBX aWxsIG5lZWQgdG8gc29tZSB0ZXN0aW5nIHRvIGdldCB0aGUgc3RlcHMgYnV0IEkgd2FzIGFibGUN Cj4gPiA+ID4gY29uc2lzdGVudCB0bw0KPiA+ID4gPiBnZXQgdG8gc3RhdGUgd2VyZSBkb2luZyBh IGZ1bGwgbW9kZXNldCBpbiBwaXBlIEEobXN0IG1hc3RlcikNCj4gPiA+ID4gY2F1c2VkDQo+ID4g PiA+IHRoZQ0KPiA+ID4gPiBwaXBlIEIobXN0IHNsYXZlKSB0byBlbmFibGVkIGZpcnN0IGJlY2F1 c2Ugb2YgdGhlIGRkYg0KPiA+ID4gPiBhbGxvY2F0aW9ucy4NCj4gPiA+ID4gDQo+ID4gPiA+IFNv IGNhbiBJIG9yIG5vdCBkbyBzb21ldGhpbmcgbGlrZSBwb3J0IHN5bmMgZG9lcz8gQW5kIGZvcmNl IHRoZQ0KPiA+ID4gPiBlbmFibGUNCj4gPiA+ID4gb2YgbWFzdGVyIGJlZm9yZSB0aGUgc2xhdmVz PyBJZiBwb3NzaWJsZSwgdGhlIGNvbW1lbnQgaW4NCj4gPiA+ID4gc2tsX2NvbW1pdF9tb2Rlc2V0 X2VuYWJsZXMoKSB3aWxsIG5lZWQgc29tZSBjaGFuZ2VzLg0KPiA+ID4gDQo+ID4gPiBJIHN1c3Bl Y3QgZm9yIHRoZSBtc3Qgc3R1ZmYgd2Ugc2hvdWxkIGRvOg0KPiA+ID4gDQo+ID4gPiB3aGlsZV9k aXJ0eV9tc3RfbWFzdGVycygpIHsNCj4gPiA+IAlpZiAoIWRkYl9vdmVybGFwKQ0KPiA+ID4gCQll bmFibGUoKTsNCj4gPiA+IH0NCj4gPiA+IHdoaWxlX2RpcnR5X21zdF9zbGF2ZXMoKSB7DQo+ID4g PiAJaWYgKCFkZGJfb3ZlcmxhcCkNCj4gPiA+IAkJZW5hYmxlKCk7DQo+ID4gPiB9DQo+ID4gDQo+ ID4gV2hhdCBhYm91dCB0aGlzIGNhc2U/DQo+ID4gDQo+ID4gUGlwZS90cmFuc2NvZGVyIEEgYW5k IEIgaW4gdGhlIHNhbWUgTVNUIHN0cmVhbQ0KPiA+IA0KPiA+ICMgb2xkIHN0YXRlIC0gRERCIGFs bG9jYXRpb246IEFBQkJCDQo+ID4gbXN0IG1hc3RlciA9IHRyYW5zY29kZXIgQShjb21wdXRlZCBp biBhdG9taWMgY2hlY2sgcGhhc2UpDQo+ID4gZW50cmllc1swXS5zdGFydCA9IDANCj4gPiBlbnRy aWVzWzBdLmVuZCA9IDENCj4gPiBlbnRyaWVzWzFdLnN0YXJ0ID0gMg0KPiA+IGVudHJpZXNbMV0u ZW5kID0gNA0KPiA+IA0KPiA+ICMgbmV3IHN0YXRlIC0gRERCIGFsbG9jYXRpb246IEFBQUJCQg0K PiA+IG1zdCBtYXN0ZXIgPSB0cmFuc2NvZGVyIEEoY29tcHV0ZWQgaW4gYXRvbWljIGNoZWNrIHBo YXNlKQ0KPiA+IGVudHJpZXNbMF0uc3RhcnQgPSAwDQo+ID4gZW50cmllc1swXS5lbmQgPSAyDQo+ ID4gZW50cmllc1sxXS5zdGFydCA9IDMNCj4gPiBlbnRyaWVzWzFdLmVuZCA9IDUNCj4gPiANCj4g PiB3aGlsZV9kaXJ0eV9tc3RfbWFzdGVycygpDQo+ID4gCWZpcnN0IGl0ZXJhdGlvbjogcGlwZSBB IHdpbGwgb3ZlcmxhcCB3aXRoIG9sZCBwaXBlIEIgRERCDQo+IA0KPiBUaGVyZSB3b24ndCBiZSBh biBvbGQgRERCIGFsbG9jYXRpb24gZm9yIGEgcGlwZSBpZiBpdCdzIGdvaW5nDQo+IHRyb3VnaCBh IG1vZGVzZXQuDQoNCkp1c3QgYWRkZWQgc29tZSBkZWJ1ZyBtZXNzYWdlcyB0byBza2xfY29tbWl0 X21vZGVzZXRfZW5hYmxlcygpLCBjaGFuZ2VkDQp0aGUgcmVzb2x1dGlvbiBvZiB0aGUgMiBwaXBl cyBlbmFibGVkIGluIHRoZSBzYW1lIE1TVCBzdHJlYW0gYW5kDQpvbGRfY3J0Y19zdGF0ZS0+d20u c2tsLmRkYiBpcyBzZXQga2VwdCBzZXQgd2l0aCB0aGUgb2xkIHZhbHVlcy4NCg0KU28gc2hvdWxk IHdlIGZpeCB0aGF0IGZpcnN0IGxvb3AgaW4gc2tsX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoKT8N Cg0KZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9j cnRjX3N0YXRlLA0KbmV3X2NydGNfc3RhdGUsIGkpDQoJLyogaWdub3JlIGFsbG9jYXRpb25zIGZv ciBjcnRjJ3MgdGhhdCBoYXZlIGJlZW4gdHVybmVkIG9mZi4gKi8NCglpZiAoIW5lZWRzX21vZGVz ZXQobmV3X2NydGNfc3RhdGUpICYmIG5ld19jcnRjX3N0YXRlLQ0KPmh3LmFjdGl2ZSkNCgkJZW50 cmllc1tpXSA9IG9sZF9jcnRjX3N0YXRlLT53bS5za2wuZGRiOw0KDQoNCkluIHRoaXMgY2FzZSB0 aGVyZSBpcyBub3QgZGlmZmVyZW5jZSBiZXR3ZWVuIG9sZF9jcnRjX3N0YXRlLT53bS5za2wuZGRi IA0Kb3IgbmV3X2NydGNfc3RhdGUtPndtLnNrbC5kZGIsIHNvIG1heWJlIGFsc28gY2hhbmdlIHRv IG5ld19jcnRjX3N0YXRlPw0KDQo+IA0KPiA+IGFsbG9jYXRpb24NCj4gPiAJc2Vjb25kIGl0ZXJh dGlvbjogcGlwZSBCIGlzIHNsYXZlIG9mIEENCj4gPiAJdGhpcmQgaXRlcmF0aW9uOiA/DQo+ID4g DQo+ID4gDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=