From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: linux: REGRESSION: drm: cmdline EDID override mechanisms broken since 4.15 Date: Wed, 15 Aug 2018 13:25:15 +0300 Message-ID: <87h8jw7wqc.fsf@intel.com> References: <4eea367179f91d3e60d1405c54befec7958e5c0f.camel@bonedaddy.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0E9FD6E345 for ; Wed, 15 Aug 2018 10:25:26 +0000 (UTC) In-Reply-To: <4eea367179f91d3e60d1405c54befec7958e5c0f.camel@bonedaddy.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Paul Wise Cc: Abdiel Janulgue , David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxNSBBdWcgMjAxOCwgUGF1bCBXaXNlIDxwYWJzM0Bib25lZGFkZHkubmV0PiB3cm90 ZToKPiBIaSBhbGwsCj4KPiBJIG5vdGljZWQgdGhhdCB0aGUgZHJtIGNtZGxpbmUgRURJRCBvdmVy cmlkZSBtZWNoYW5pc21zIG5vIGxvbmdlciB3b3JrCj4gc2luY2UgTGludXggdmVyc2lvbiA0LjE1 LgoKUGxlYXNlIGZpbGUgYSBidWcgb3ZlciBhdCBbMV0sIGRlc2NyaWJlIHRoZSBzeW1wdG9tcHMg b2YgaG93IGl0IGRvZXNuJ3QKd29yayAoYmxhY2sgc2NyZWVuLCB3cm9uZyBtb2RlLCB3aGF0Pyks IGFkZCBkcm0uZGVidWc9MTQgbW9kdWxlCnBhcmFtZXRlciwgYXR0YWNoIGRtZXNnIGZvciBiZWZv cmUvYWZ0ZXIgdGhlIGJpc2VjdGVkIGNvbW1pdC4KCkRvZXMgYWRkaW5nIHZpZGVvPVZHQS0xOmUg cGFyYW1ldGVyIG1ha2UgYSBkaWZmZXJlbmNlPwoKVGhhbmtzLApKYW5pLgoKWzFdIGh0dHBzOi8v YnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PURSSSZjb21wb25lbnQ9 RFJNL0ludGVsCgo+Cj4gTXkgbW9uaXRvciBsb3N0IGl0cyBWR0EgRURJRCBhIGxvbmcgdGltZSBh Z28sIHNvIEkgcmV0cmlldmVkIGEgY29weSBvZgo+IGl0IGZyb20gYmFja3VwcyBvZiBYb3JnIGxv Z3MgYW5kIEkgaGF2ZSB0byB1c2UgdGhlIExpbnV4IGtlcm5lbCdzIEVESUQKPiBvdmVycmlkZSBt ZWNoYW5pc21zLiBJbiBvcmRlciB0byBnZXQgdGhlIHJpZ2h0IG1vZGUgZWFybHkgaW4gYm9vdCwK PiBJIHVzZSB0aGUgTGludXgga2VybmVsIGNtZGxpbmUgb3B0aW9uIGZvciB0aGlzIGFuZCBwdXQg dGhlIHJlcXVpcmVkCj4gZmlybXdhcmUgZmlsZSBpbnRvIHRoZSBpbml0cmFtZnMgc28gbXkgY3J5 cHRzZXR1cCBwcm9tcHQgaXMgcmlnaHQ6Cj4KPiBkcm1fa21zX2hlbHBlci5lZGlkX2Zpcm13YXJl PVZHQS0xOmVkaWQvVkdBLTEKPgo+IExpbnV4IDQuMTUgZGVwcmVjYXRlcyB0aGlzIG9wdGlvbjoK Pgo+IGtlcm5lbDogW2RybV0gZHJtX2ttc19maXJtd2FyZS5lZGlkX2Zpcm13YXJlIGlzIGRlcHJl Y2F0ZWQsIHBsZWFzZSB1c2UgZHJtLmVkaWRfZmlybXdhcmUgaW50ZWFkLgo+Cj4gU28gSSBzd2l0 Y2hlZCB0byB0aGUgbmV3IG9wdGlvbjoKPgo+IGRybS5lZGlkX2Zpcm13YXJlPVZHQS0xOmVkaWQv VkdBLTEKPgo+IFRoaXMgZGlkIG5vdCBwcm9kdWNlIGFueSB3YXJuaW5ncyBvciBlcnJvcnMgaW4g ZG1lc2cgYnV0IGFsc28gZGlkIG5vdAo+IHJlc3VsdCBpbiB0aGUgRURJRCBvdmVycmlkZSBmaWxl IGJlaW5nIGFwcGxpZWQuCj4KPiBJIGFkZGVkIGJvdGggdGhlIG92ZXJyaWRlIG9wdGlvbnMgdG8g dGhlIExpbnV4IGtlcm5lbCBjb21tYW5kLWxpbmUgaW4KPiBncnViIGFuZCB0aGlzIGRpZCBub3Qg d29yayBpbiB0aGUgbmV3ZXIgdmVyc2lvbnMgb2YgTGludXguCj4KPiBJIGFsc28gdHJpZWQgdGhp cyB3aXRob3V0IHRoZSBWR0EtMTogY29ubmVjdG9yIHNwZWNpZmllciBhbmQgdGhpcyBkaWQKPiBu b3QgaW1wcm92ZSB0aGUgc2l0dWF0aW9uIGJ1dCBkaWQgcHJldmVudCB0aGUgTFZEUyBzY3JlZW4g ZnJvbSB3b3JraW5nOgo+Cj4gZHJtLmVkaWRfZmlybXdhcmU9ZWRpZC9WR0EtMSBkcm1fa21zX2hl bHBlci5lZGlkX2Zpcm13YXJlPWVkaWQvVkdBLTEKPgo+IEkgdGVzdGVkIHRoZSBEZWJpYW4gTGlu dXgga2VybmVsIGJ1aWxkcyBvbiBzbmFwc2hvdC5kZWJpYW4ub3JnIGFuZAo+IHZlcnNpb24gNC4x NX5yYzUtMX5leHAxIGNhbWUgdXAgYXMgdGhlIGZpcnN0IGJyb2tlbiBvbmUuCj4KPiBJIGNvbmZp cm1lZCB0aGF0IG92ZXJyaWRlcyBkbyBub3Qgd29yayB3aXRoIHRoZSBsYXRlc3QgTGludXgga2Vy bmVsCj4gdmVyc2lvbiBpbiBEZWJpYW4gYnVzdGVyICg0LjE3LjgtMSkuCj4KPiBJIHRoZW4gZ2l0 IGJpc2VjdGVkIHRoZSBpc3N1ZSBhbmQgY2FtZSB1cCB3aXRoIDUzZmQ0MGE5MGYzYyBhcyBiYWQu Cj4gSSBhbHNvIGNoZWNrZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbW1pdCBhYzZjMzVhNGQ4Yzcg d2FzIGFsc28gYmFkLgo+Cj4gaHR0cHM6Ly93aWtpLmRlYmlhbi5vcmcvRGViaWFuS2VybmVsL0dp dEJpc2VjdAo+Cj4gNTNmZDQwYTkwZjNjMGJkYWQ4NmVjMjY2ZWU1ZGY4MzNmNTRhY2UzOSBpcyB0 aGUgZmlyc3QgYmFkIGNvbW1pdAo+IGNvbW1pdCA1M2ZkNDBhOTBmM2MwYmRhZDg2ZWMyNjZlZTVk ZjgzM2Y1NGFjZTM5Cj4gQXV0aG9yOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29t Pgo+IERhdGU6ICAgVHVlIFNlcCAxMiAxMToxOToyNiAyMDE3ICswMzAwCj4KPiAgICAgZHJtOiBo YW5kbGUgb3ZlcnJpZGUgYW5kIGZpcm13YXJlIEVESUQgYXQgZHJtX2RvX2dldF9lZGlkKCkgbGV2 ZWwKPiAgICAgCj4gICAgIEhhbmRsZSBkZWJ1Z2ZzIG92ZXJyaWRlIGVkaWQgYW5kIGZpcm13YXJl IGVkaWQgYXQgdGhlIGxvdyBsZXZlbCB0bwo+ICAgICB0cmFuc3BhcmVudGx5IGFuZCBjb21wbGV0 ZWx5IHJlcGxhY2UgdGhlIHJlYWwgZWRpZC4gUHJldmlvdXNseSwgd2UKPiAgICAgcHJhY3RpY2Fs bHkgb25seSB1c2VkIHRoZSBtb2RlcyBmcm9tIHRoZSBvdmVycmlkZSBFRElELCBhbmQgbm9uZSBv ZiB0aGUKPiAgICAgb3RoZXIgZGF0YSwgc3VjaCBhcyBhdWRpbyBwYXJhbWV0ZXJzLgo+ICAgICAK PiAgICAgVGhpcyBjaGFuZ2UgYWxzbyBwcmV2ZW50cyBhY3R1YWwgRURJRCByZWFkcyB3aGVuIHRo ZSBFRElEIGlzIHRvIGJlCj4gICAgIG92ZXJyaWRkZW4sIGJ1dCByZXRhaW5zIHRoZSBEREMgcHJv YmUuIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSByZWFzb24gZm9yCj4gICAgIHByZWZlcnJpbmcgb3Zl cnJpZGUgRURJRCBhcmUgcHJvYmxlbXMgd2l0aCByZWFkaW5nIHRoZSBkYXRhLCBvcgo+ICAgICBj b3JydXB0aW9uIG9mIHRoZSBkYXRhLgo+ICAgICAKPiAgICAgTW92ZSBmaXJtd2FyZSBFRElEIGxv YWRpbmcgZnJvbSBoZWxwZXIgdG8gY29yZSwgYXMgdGhlIGZ1bmN0aW9uYWxpdHkKPiAgICAgbW92 ZXMgdG8gbG93ZXIgbGV2ZWwgYXMgd2VsbC4gVGhpcyB3aWxsIHJlc3VsdCBpbiBhIGNoYW5nZSBv ZiBtb2R1bGUKPiAgICAgcGFyYW1ldGVyIGZyb20gZHJtX2ttc19oZWxwZXIuZWRpZF9maXJtd2Fy ZSB0byBkcm0uZWRpZF9maXJtd2FyZSwgd2hpY2gKPiAgICAgYXJndWFibHkgbWFrZXMgbW9yZSBz ZW5zZSBhbnl3YXkuCj4gICAgIAo+ICAgICBTb21lIGZ1dHVyZSB3b3JrIHJlbWFpbnMgcmVsYXRl ZCB0byBvdmVycmlkZSBhbmQgZmlybXdhcmUgRURJRAo+ICAgICB2YWxpZGF0aW9uLiBMaWtlIGJl Zm9yZSwgbm8gdmFsaWRhdGlvbiBpcyBkb25lIGZvciBvdmVycmlkZSBFRElELiBUaGUKPiAgICAg ZmlybXdhcmUgRURJRCBpcyB2YWxpZGF0ZWQgc2VwYXJhdGVseSBpbiB0aGUgbG9hZGVyLiBTb21l IHVuaWZpY2F0aW9uCj4gICAgIGFuZCBkZWR1cGxpY2F0aW9uIHdvdWxkIGJlIGluIG9yZGVyLCB0 byB2YWxpZGF0ZSBhbGwgb2YgdGhlbSBhdCB0aGUKPiAgICAgZHJtX2RvX2dldF9lZGlkKCkgbGV2 ZWwsIGxpa2UgInJlYWwiIEVESURzLgo+ICAgICAKPiAgICAgdjI6IG1vdmUgZmlybXdhcmUgbG9h ZGluZyB0byBjb3JlCj4gICAgIAo+ICAgICB2MzogcmViYXNlLCBjb21taXQgbWVzc2FnZSByZWZy ZXNoCj4gICAgIAo+ICAgICBDYzogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGlu dXguaW50ZWwuY29tPgo+ICAgICBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZnds bC5jaD4KPiAgICAgQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4gICAgIFRlc3RlZC1ieTogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVA bGludXguaW50ZWwuY29tPgo+ICAgICBSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAgICAgQWNrZWQtYnk6IERhdmUgQWlybGllIDxh aXJsaWVkQGdtYWlsLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmku bmlrdWxhQGludGVsLmNvbT4KPiAgICAgTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0 b3Aub3JnL3BhdGNoL21zZ2lkLzFlOGE3MTBiY2FjNDZlNTEzNmMxYTdiNDMwMDc0ODkzYzgxZjM2 NGEuMTUwNTIwMzgzMS5naXQuamFuaS5uaWt1bGFAaW50ZWwuY29tCj4KPiA6MDQwMDAwIDA0MDAw MCAyYzljNmE5N2ExOGY2OTkzYWYxMDk3YzY5YjllMzZiMWY5OGFkZDQwIDYwODIyMDIwYzZjNThl NmY0NmQ2NTlkMzIxZTA4MmE2MmE1MzA2MzkgTQlEb2N1bWVudGF0aW9uCj4gOjA0MDAwMCAwNDAw MDAgZjc1ZDQ0MzQ4MjY1MGNkNDM1OTg2OGUxZTQ1MzA4N2Y5MjU0M2RhYiBkNzM3YmRiODc1OGIz Y2RmYzVlOGNhMmIzODA4MzI4YjYzOTM5ZWE4IE0JZHJpdmVycwo+Cj4gY29tbWl0IGFjNmMzNWE0 ZDhjNzcwODM1MjUwNDRhMTkyY2IxYTg3MTEzODFlOTQgKEhFQUQpCj4gQXV0aG9yOiBKYW5pIE5p a3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+IERhdGU6ICAgTW9uIFNlcCAxOCAyMToyMDow MyAyMDE3ICswMzAwCj4KPiAgICAgZHJtOiBhZGQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgc3Vw cG9ydCBmb3IgZHJtX2ttc19oZWxwZXIuZWRpZF9maXJtd2FyZQo+ICAgICAKPiAgICAgQWRkIGRy bV9rbXNfaGVscGVyLmVkaWRfZmlybXdhcmUgbW9kdWxlIHBhcmFtZXRlciB3aXRoIHBhcmFtIG9w cyBob29rcwo+ICAgICB0byBzZXQgZHJtLmVkaWRfZmlybXdhcmUgaW5zdGVhZCwgZm9yIGJhY2t3 YXJkcyBjb21wYXRpYmlsaXR5Lgo+ICAgICAKPiAgICAgU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ICAgICBDYzogQWJkaWVsIEph bnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgo+ICAgICBDYzogRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAgICAgQ2M6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gICAgIFJldmlld2VkLWJ5OiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ICAgICBBY2tlZC1i eTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29tPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBK YW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ICAgICBMaW5rOiBodHRwczovL3Bh dGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAxNzA5MTgxODIwMDMuMjIyMzgt Mi1qYW5pLm5pa3VsYUBpbnRlbC5jb20KPgo+IC0tIFBhY2thZ2Utc3BlY2lmaWMgaW5mbzoKPiAq KiBWZXJzaW9uOgo+IExpbnV4IHZlcnNpb24gNC4xNS4wLTEtYW1kNjQgKGRlYmlhbi1rZXJuZWxA bGlzdHMuZGViaWFuLm9yZykgKGdjYwo+IHZlcnNpb24gNy4zLjAgKERlYmlhbiA3LjMuMC0zKSkg IzEgU01QIERlYmlhbiA0LjE1LjQtMSAoMjAxOC0wMi0xOCkKPgo+ICoqIENvbW1hbmQgbGluZToK PiBCT09UX0lNQUdFPS92bWxpbnV6LTQuMTUuMC0xLWFtZDY0IHJvb3Q9L2Rldi9tYXBwZXIvY2hp YW5hbW8tcm9vdCBybwo+IGRybV9rbXNfaGVscGVyLmVkaWRfZmlybXdhcmU9VkdBLTE6ZWRpZC9W R0EtMSBkcm0uZWRpZF9maXJtd2FyZT1WR0EtCj4gMTplZGlkL1ZHQS0xIHF1aWV0Cj4KPiAqKiBU YWludGVkOiBPICg0MDk2KQo+ICAqIE91dC1vZi10cmVlIG1vZHVsZSBoYXMgYmVlbiBsb2FkZWQu Cj4KPiAqKiBNb2RlbCBpbmZvcm1hdGlvbgo+IHN5c192ZW5kb3I6IExFTk9WTwo+IHByb2R1Y3Rf bmFtZTogMDgzMUNUTwo+IHByb2R1Y3RfdmVyc2lvbjogVGhpbmtQYWQgWDIwMSBUYWJsZXQKPiBj aGFzc2lzX3ZlbmRvcjogTEVOT1ZPCj4gY2hhc3Npc192ZXJzaW9uOiBOb3QgQXZhaWxhYmxlCj4g Ymlvc192ZW5kb3I6IExFTk9WTwo+IGJpb3NfdmVyc2lvbjogNlFFVDYyV1cgKDEuMzIgKQo+IGJv YXJkX3ZlbmRvcjogTEVOT1ZPCj4gYm9hcmRfbmFtZTogMDgzMUNUTwo+IGJvYXJkX3ZlcnNpb246 IE5vdCBBdmFpbGFibGUKPgo+ICoqIExvYWRlZCBtb2R1bGVzOgo+IGZ1c2UKPiBjdHIKPiBjY20K PiBlYnRhYmxlX2ZpbHRlcgo+IGVidGFibGVzCj4gaXA2dGFibGVfZmlsdGVyCj4gaXA2X3RhYmxl cwo+IGlwdGFibGVfZmlsdGVyCj4gZGV2bGluawo+IHRvc2hpYmFfYWNwaQo+IGluZHVzdHJpYWxp bwo+IHNwYXJzZV9rZXltYXAKPiB0b3NoaWJhX2hhcHMKPiBocF9hY2NlbAo+IGxpczNsdjAyZAo+ IGlucHV0X3BvbGxkZXYKPiBoZGFwcwo+IHdhY29tX3c4MDAxCj4gc2VycG9ydAo+IGJpbmZtdF9t aXNjCj4gYnR1c2IKPiBidHJ0bAo+IGJ0YmNtCj4gYnRpbnRlbAo+IGJsdWV0b290aAo+IGRyYmcK PiBhbnNpX2Nwcm5nCj4gZWNkaF9nZW5lcmljCj4gc25kX2hkYV9jb2RlY19oZG1pCj4gc25kX2hk YV9jb2RlY19jb25leGFudAo+IHNuZF9oZGFfY29kZWNfZ2VuZXJpYwo+IHV2Y3ZpZGVvCj4gc25k X2hkYV9pbnRlbAo+IGludGVsX3Bvd2VyY2xhbXAKPiB2aWRlb2J1ZjJfdm1hbGxvYwo+IHNuZF9o ZGFfY29kZWMKPiBrdm1faW50ZWwKPiBzbmRfaGRhX2NvcmUKPiB2aWRlb2J1ZjJfbWVtb3BzCj4g c25kX2h3ZGVwCj4gdmlkZW9idWYyX3Y0bDIKPiBhcmM0Cj4gaXdsZHZtCj4gbWFjODAyMTEKPiBz bmRfcGNtX29zcwo+IHNuZF9taXhlcl9vc3MKPiB2aWRlb2J1ZjJfY29yZQo+IGt2bQo+IGlUQ09f d2R0Cj4gdmlkZW9kZXYKPiBpVENPX3ZlbmRvcl9zdXBwb3J0Cj4gc25kX3BjbQo+IHRoaW5rcGFk X2FjcGkKPiBudnJhbQo+IG1lZGlhCj4gc25kX3NlcV9taWRpCj4gc25kX3NlcV9taWRpX2V2ZW50 Cj4gaXJxYnlwYXNzCj4gc25kX3Jhd21pZGkKPiBpd2x3aWZpCj4gaW50ZWxfY3N0YXRlCj4gam95 ZGV2Cj4gaW50ZWxfdW5jb3JlCj4gc25kX3NlcQo+IHNuZF9zZXFfZGV2aWNlCj4gc25kX3RpbWVy Cj4gc2VyaW9fcmF3Cj4gY2ZnODAyMTEKPiBzZwo+IHNuZAo+IHJma2lsbAo+IG1laV9tZQo+IG1l aQo+IHdtaV9ibW9mCj4gaW50ZWxfaXBzCj4gc2hwY2hwCj4gYmF0dGVyeQo+IGFjCj4gZXZkZXYK PiBzb3VuZGNvcmUKPiBscGNfaWNoCj4gbWZkX2NvcmUKPiBhY3BpX2NwdWZyZXEKPiBpMmNfZGV2 Cj4gY29yZXRlbXAKPiBjZGNfZXRoZXIKPiB1c2JuZXQKPiBtaWkKPiB0cF9zbWFwaQo+IHRoaW5r cGFkX2VjCj4gbG9vcAo+IHBhcnBvcnRfcGMKPiBwcGRldgo+IGxwCj4gcGFycG9ydAo+IGlwX3Rh Ymxlcwo+IHhfdGFibGVzCj4gYXV0b2ZzNAo+IGV4dDQKPiBjcmMxNgo+IG1iY2FjaGUKPiBqYmQy Cj4gZnNjcnlwdG8KPiBlY2IKPiBidHJmcwo+IHpzdGRfZGVjb21wcmVzcwo+IHpzdGRfY29tcHJl c3MKPiB4eGhhc2gKPiBhbGdpZl9za2NpcGhlcgo+IGFmX2FsZwo+IGRtX2NyeXB0Cj4gZG1fbW9k Cj4gcmFpZDEwCj4gcmFpZDQ1Ngo+IGFzeW5jX3JhaWQ2X3JlY292Cj4gYXN5bmNfbWVtY3B5Cj4g YXN5bmNfcHEKPiBhc3luY194b3IKPiBhc3luY190eAo+IHhvcgo+IHJhaWQ2X3BxCj4gbGliY3Jj MzJjCj4gY3JjMzJjX2dlbmVyaWMKPiByYWlkMQo+IHJhaWQwCj4gbXVsdGlwYXRoCj4gbGluZWFy Cj4gbWRfbW9kCj4gc2RfbW9kCj4gdWFzCj4gdXNiX3N0b3JhZ2UKPiBoaWRfZ2VuZXJpYwo+IGhp ZF9taWNyb3NvZnQKPiB1c2JoaWQKPiBoaWQKPiBjcmN0MTBkaWZfcGNsbXVsCj4gY3JjMzJfcGNs bXVsCj4gY3JjMzJjX2ludGVsCj4gZ2hhc2hfY2xtdWxuaV9pbnRlbAo+IHBjYmMKPiBpOTE1Cj4g YWVzbmlfaW50ZWwKPiBhaGNpCj4gYWVzX3g4Nl82NAo+IGxpYmFoY2kKPiBjcnlwdG9fc2ltZAo+ IGdsdWVfaGVscGVyCj4gY3J5cHRkCj4gaTJjX2FsZ29fYml0Cj4gbGliYXRhCj4gZHJtX2ttc19o ZWxwZXIKPiBwc21vdXNlCj4gZWhjaV9wY2kKPiBpMmNfaTgwMQo+IGVoY2lfaGNkCj4gc2NzaV9t b2QKPiBkcm0KPiBlMTAwMGUKPiB1c2Jjb3JlCj4gcHRwCj4gdXNiX2NvbW1vbgo+IHBwc19jb3Jl Cj4gdGhlcm1hbAo+IHdtaQo+IHZpZGVvCj4gYnV0dG9uCj4KPiAqKiBQQ0kgZGV2aWNlczoKPiAw MDowMC4wIEhvc3QgYnJpZGdlIFswNjAwXTogSW50ZWwgQ29ycG9yYXRpb24gQ29yZSBQcm9jZXNz b3IgRFJBTQo+IENvbnRyb2xsZXIgWzgwODY6MDA0NF0gKHJldiAwMikKPiAJU3Vic3lzdGVtOiBM ZW5vdm8gQ29yZSBQcm9jZXNzb3IgRFJBTSBDb250cm9sbGVyIFsxN2FhOjIxOTNdCj4gCUNvbnRy b2w6IEkvTy0gTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtCj4g UGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KPiAJU3RhdHVzOiBDYXAr IDY2TUh6LSBVREYtIEZhc3RCMkIrIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0KPiA8VEFi b3J0LSA8TUFib3J0KyA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPiAJQ2FwYWJp bGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPgo+IDAwOjAyLjAgVkdBIGNvbXBhdGlibGUgY29udHJv bGxlciBbMDMwMF06IEludGVsIENvcnBvcmF0aW9uIENvcmUKPiBQcm9jZXNzb3IgSW50ZWdyYXRl ZCBHcmFwaGljcyBDb250cm9sbGVyIFs4MDg2OjAwNDZdIChyZXYgMDIpIChwcm9nLWlmCj4gMDAg W1ZHQSBjb250cm9sbGVyXSkKPiAJU3Vic3lzdGVtOiBMZW5vdm8gQ29yZSBQcm9jZXNzb3IgSW50 ZWdyYXRlZCBHcmFwaGljcyBDb250cm9sbGVyCj4gWzE3YWE6MjE1YV0KPiAJQ29udHJvbDogSS9P KyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnIt IFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4Kwo+IAlTdGF0dXM6IENhcCsgNjZNSHot IFVERi0gRmFzdEIyQisgUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LQo+IDxUQWJvcnQtIDxN QWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5jeTogMAo+IAlJbnRlcnJ1cHQ6IHBp biBBIHJvdXRlZCB0byBJUlEgMjYKPiAJUmVnaW9uIDA6IE1lbW9yeSBhdCBmMjAwMDAwMCAoNjQt Yml0LCBub24tcHJlZmV0Y2hhYmxlKQo+IFtzaXplPTRNXQo+IAlSZWdpb24gMjogTWVtb3J5IGF0 IGQwMDAwMDAwICg2NC1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9MjU2TV0KPiAJUmVnaW9uIDQ6 IEkvTyBwb3J0cyBhdCAxODAwIFtzaXplPThdCj4gCVt2aXJ0dWFsXSBFeHBhbnNpb24gUk9NIGF0 IDAwMGMwMDAwIFtkaXNhYmxlZF0gW3NpemU9MTI4S10KPiAJQ2FwYWJpbGl0aWVzOiA8YWNjZXNz IGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IGk5MTUKPiAJS2VybmVsIG1vZHVsZXM6 IGk5MTUKPgo+IDAwOjE2LjAgQ29tbXVuaWNhdGlvbiBjb250cm9sbGVyIFswNzgwXTogSW50ZWwg Q29ycG9yYXRpb24gNQo+IFNlcmllcy8zNDAwIFNlcmllcyBDaGlwc2V0IEhFQ0kgQ29udHJvbGxl ciBbODA4NjozYjY0XSAocmV2IDA2KQo+IAlTdWJzeXN0ZW06IExlbm92byA1IFNlcmllcy8zNDAw IFNlcmllcyBDaGlwc2V0IEhFQ0kgQ29udHJvbGxlcgo+IFsxN2FhOjIxNWZdCj4gCUNvbnRyb2w6 IEkvTy0gTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtCj4gUGFy RXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKPiAJU3RhdHVzOiBDYXArIDY2 TUh6LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0KPiA8VEFib3J0 LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPiAJSW50ZXJydXB0 OiBwaW4gQSByb3V0ZWQgdG8gSVJRIDI3Cj4gCVJlZ2lvbiAwOiBNZW1vcnkgYXQgZjI3Mjc4MDAg KDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkKPiBbc2l6ZT0xNl0KPiAJQ2FwYWJpbGl0aWVzOiA8 YWNjZXNzIGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IG1laV9tZQo+IAlLZXJuZWwg bW9kdWxlczogbWVpX21lCj4KPiAwMDoxOS4wIEV0aGVybmV0IGNvbnRyb2xsZXIgWzAyMDBdOiBJ bnRlbCBDb3Jwb3JhdGlvbiA4MjU3N0xNIEdpZ2FiaXQKPiBOZXR3b3JrIENvbm5lY3Rpb24gWzgw ODY6MTBlYV0gKHJldiAwNikKPiAJU3Vic3lzdGVtOiBMZW5vdm8gODI1NzdMTSBHaWdhYml0IE5l dHdvcmsgQ29ubmVjdGlvbgo+IFsxN2FhOjIxNTNdCj4gCUNvbnRyb2w6IEkvTysgTWVtKyBCdXNN YXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtCj4gUGFyRXJyLSBTdGVwcGluZy0g U0VSUisgRmFzdEIyQi0gRGlzSU5UeCsKPiAJU3RhdHVzOiBDYXArIDY2TUh6LSBVREYtIEZhc3RC MkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0KPiA8VEFib3J0LSA8TUFib3J0LSA+U0VS Ui0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPiAJSW50ZXJydXB0OiBwaW4gQSByb3V0ZWQg dG8gSVJRIDI0Cj4gCVJlZ2lvbiAwOiBNZW1vcnkgYXQgZjI1MDAwMDAgKDMyLWJpdCwgbm9uLXBy ZWZldGNoYWJsZSkKPiBbc2l6ZT0xMjhLXQo+IAlSZWdpb24gMTogTWVtb3J5IGF0IGYyNTI1MDAw ICgzMi1iaXQsIG5vbi1wcmVmZXRjaGFibGUpCj4gW3NpemU9NEtdCj4gCVJlZ2lvbiAyOiBJL08g cG9ydHMgYXQgMTgyMCBbc2l6ZT0zMl0KPiAJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4K PiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IGUxMDAwZQo+IAlLZXJuZWwgbW9kdWxlczogZTEwMDBl Cj4KPiAwMDoxYS4wIFVTQiBjb250cm9sbGVyIFswYzAzXTogSW50ZWwgQ29ycG9yYXRpb24gNSBT ZXJpZXMvMzQwMCBTZXJpZXMKPiBDaGlwc2V0IFVTQjIgRW5oYW5jZWQgSG9zdCBDb250cm9sbGVy IFs4MDg2OjNiM2NdIChyZXYgMDYpIChwcm9nLWlmIDIwCj4gW0VIQ0ldKQo+IAlTdWJzeXN0ZW06 IExlbm92byA1IFNlcmllcy8zNDAwIFNlcmllcyBDaGlwc2V0IFVTQjIgRW5oYW5jZWQKPiBIb3N0 IENvbnRyb2xsZXIgWzE3YWE6MjE2M10KPiAJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3Rlcisg U3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0ZXBwaW5nLSBTRVJSKyBG YXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0dXM6IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQisgUGFy RXJyLSBERVZTRUw9bWVkaXVtCj4+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBF UlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPiAJSW50ZXJydXB0OiBwaW4gRCByb3V0ZWQgdG8gSVJR IDIzCj4gCVJlZ2lvbiAwOiBNZW1vcnkgYXQgZjI3MjgwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNo YWJsZSkKPiBbc2l6ZT0xS10KPiAJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPiAJS2Vy bmVsIGRyaXZlciBpbiB1c2U6IGVoY2ktcGNpCj4gCUtlcm5lbCBtb2R1bGVzOiBlaGNpX3BjaQo+ Cj4gMDA6MWIuMCBBdWRpbyBkZXZpY2UgWzA0MDNdOiBJbnRlbCBDb3Jwb3JhdGlvbiA1IFNlcmll cy8zNDAwIFNlcmllcwo+IENoaXBzZXQgSGlnaCBEZWZpbml0aW9uIEF1ZGlvIFs4MDg2OjNiNTZd IChyZXYgMDYpCj4gCVN1YnN5c3RlbTogTGVub3ZvIDUgU2VyaWVzLzM0MDAgU2VyaWVzIENoaXBz ZXQgSGlnaCBEZWZpbml0aW9uCj4gQXVkaW8gWzE3YWE6MjE1ZV0KPiAJQ29udHJvbDogSS9PLSBN ZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0 ZXBwaW5nLSBTRVJSKyBGYXN0QjJCLSBEaXNJTlR4Kwo+IAlTdGF0dXM6IENhcCsgNjZNSHotIFVE Ri0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LQo+IDxUQWJvcnQtIDxNQWJv cnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5jeTogMCwgQ2FjaGUgTGluZSBTaXplOiA2 NCBieXRlcwo+IAlJbnRlcnJ1cHQ6IHBpbiBCIHJvdXRlZCB0byBJUlEgMjkKPiAJUmVnaW9uIDA6 IE1lbW9yeSBhdCBmMjUyMDAwMCAoNjQtYml0LCBub24tcHJlZmV0Y2hhYmxlKQo+IFtzaXplPTE2 S10KPiAJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBpbiB1 c2U6IHNuZF9oZGFfaW50ZWwKPiAJS2VybmVsIG1vZHVsZXM6IHNuZF9oZGFfaW50ZWwKPgo+IDAw OjFjLjAgUENJIGJyaWRnZSBbMDYwNF06IEludGVsIENvcnBvcmF0aW9uIDUgU2VyaWVzLzM0MDAg U2VyaWVzCj4gQ2hpcHNldCBQQ0kgRXhwcmVzcyBSb290IFBvcnQgMSBbODA4NjozYjQyXSAocmV2 IDA2KSAocHJvZy1pZiAwMAo+IFtOb3JtYWwgZGVjb2RlXSkKPiAJQ29udHJvbDogSS9PKyBNZW0r IEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0ZXBw aW5nLSBTRVJSKyBGYXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0dXM6IENhcCsgNjZNSHotIFVERi0g RmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LQo+IDxUQWJvcnQtIDxNQWJvcnQt ID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5jeTogMCwgQ2FjaGUgTGluZSBTaXplOiA2NCBi eXRlcwo+IAlJbnRlcnJ1cHQ6IHBpbiBBIHJvdXRlZCB0byBJUlEgMjAKPiAJQnVzOiBwcmltYXJ5 PTAwLCBzZWNvbmRhcnk9MGQsIHN1Ym9yZGluYXRlPTBkLCBzZWMtbGF0ZW5jeT0wCj4gCVNlY29u ZGFyeSBzdGF0dXM6IDY2TUh6LSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQt Cj4gPFRBYm9ydC0gPE1BYm9ydCsgPFNFUlItIDxQRVJSLQo+IAlCcmlkZ2VDdGw6IFBhcml0eS0g U0VSUi0gTm9JU0ErIFZHQS0gTUFib3J0LSA+UmVzZXQtIEZhc3RCMkItCj4gCQlQcmlEaXNjVG1y LSBTZWNEaXNjVG1yLSBEaXNjVG1yU3RhdC0gRGlzY1RtclNFUlJFbi0KPiAJQ2FwYWJpbGl0aWVz OiA8YWNjZXNzIGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IHBjaWVwb3J0Cj4gCUtl cm5lbCBtb2R1bGVzOiBzaHBjaHAKPgo+IDAwOjFjLjQgUENJIGJyaWRnZSBbMDYwNF06IEludGVs IENvcnBvcmF0aW9uIDUgU2VyaWVzLzM0MDAgU2VyaWVzCj4gQ2hpcHNldCBQQ0kgRXhwcmVzcyBS b290IFBvcnQgNSBbODA4NjozYjRhXSAocmV2IDA2KSAocHJvZy1pZiAwMAo+IFtOb3JtYWwgZGVj b2RlXSkKPiAJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5W LSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0ZXBwaW5nLSBTRVJSKyBGYXN0QjJCLSBEaXNJTlR4LQo+ IAlTdGF0dXM6IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+ VEFib3J0LQo+IDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5j eTogMCwgQ2FjaGUgTGluZSBTaXplOiA2NCBieXRlcwo+IAlJbnRlcnJ1cHQ6IHBpbiBBIHJvdXRl ZCB0byBJUlEgMjAKPiAJQnVzOiBwcmltYXJ5PTAwLCBzZWNvbmRhcnk9MDIsIHN1Ym9yZGluYXRl PTAyLCBzZWMtbGF0ZW5jeT0wCj4gCU1lbW9yeSBiZWhpbmQgYnJpZGdlOiBmMjQwMDAwMC1mMjRm ZmZmZgo+IAlTZWNvbmRhcnkgc3RhdHVzOiA2Nk1Iei0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9 ZmFzdCA+VEFib3J0LQo+IDxUQWJvcnQtIDxNQWJvcnQrIDxTRVJSLSA8UEVSUi0KPiAJQnJpZGdl Q3RsOiBQYXJpdHktIFNFUlItIE5vSVNBKyBWR0EtIE1BYm9ydC0gPlJlc2V0LSBGYXN0QjJCLQo+ IAkJUHJpRGlzY1Rtci0gU2VjRGlzY1Rtci0gRGlzY1RtclN0YXQtIERpc2NUbXJTRVJSRW4tCj4g CUNhcGFiaWxpdGllczogPGFjY2VzcyBkZW5pZWQ+Cj4gCUtlcm5lbCBkcml2ZXIgaW4gdXNlOiBw Y2llcG9ydAo+IAlLZXJuZWwgbW9kdWxlczogc2hwY2hwCj4KPiAwMDoxZC4wIFVTQiBjb250cm9s bGVyIFswYzAzXTogSW50ZWwgQ29ycG9yYXRpb24gNSBTZXJpZXMvMzQwMCBTZXJpZXMKPiBDaGlw c2V0IFVTQjIgRW5oYW5jZWQgSG9zdCBDb250cm9sbGVyIFs4MDg2OjNiMzRdIChyZXYgMDYpIChw cm9nLWlmIDIwCj4gW0VIQ0ldKQo+IAlTdWJzeXN0ZW06IExlbm92byA1IFNlcmllcy8zNDAwIFNl cmllcyBDaGlwc2V0IFVTQjIgRW5oYW5jZWQKPiBIb3N0IENvbnRyb2xsZXIgWzE3YWE6MjE2M10K PiAJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FT bm9vcC0KPiBQYXJFcnItIFN0ZXBwaW5nLSBTRVJSKyBGYXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0 dXM6IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQisgUGFyRXJyLSBERVZTRUw9bWVkaXVtCj4+VEFi b3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAK PiAJSW50ZXJydXB0OiBwaW4gRCByb3V0ZWQgdG8gSVJRIDE5Cj4gCVJlZ2lvbiAwOiBNZW1vcnkg YXQgZjI3Mjg0MDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJsZSkKPiBbc2l6ZT0xS10KPiAJQ2Fw YWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IGVoY2kt cGNpCj4gCUtlcm5lbCBtb2R1bGVzOiBlaGNpX3BjaQo+Cj4gMDA6MWUuMCBQQ0kgYnJpZGdlIFsw NjA0XTogSW50ZWwgQ29ycG9yYXRpb24gODI4MDEgTW9iaWxlIFBDSSBCcmlkZ2UKPiBbODA4Njoy NDQ4XSAocmV2IGE2KSAocHJvZy1pZiAwMSBbU3VidHJhY3RpdmUgZGVjb2RlXSkKPiAJQ29udHJv bDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQ YXJFcnItIFN0ZXBwaW5nLSBTRVJSKyBGYXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0dXM6IENhcCsg NjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LQo+IDxUQWJv cnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5jeTogMAo+IAlCdXM6IHBy aW1hcnk9MDAsIHNlY29uZGFyeT0wZSwgc3Vib3JkaW5hdGU9MGUsIHNlYy1sYXRlbmN5PTAKPiAJ U2Vjb25kYXJ5IHN0YXR1czogNjZNSHotIEZhc3RCMkIrIFBhckVyci0gREVWU0VMPW1lZGl1bQo+ PlRBYm9ydC0gPFRBYm9ydC0gPE1BYm9ydCsgPFNFUlItIDxQRVJSLQo+IAlCcmlkZ2VDdGw6IFBh cml0eS0gU0VSUi0gTm9JU0ErIFZHQS0gTUFib3J0LSA+UmVzZXQtIEZhc3RCMkItCj4gCQlQcmlE aXNjVG1yLSBTZWNEaXNjVG1yLSBEaXNjVG1yU3RhdC0gRGlzY1RtclNFUlJFbi0KPiAJQ2FwYWJp bGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPgo+IDAwOjFmLjAgSVNBIGJyaWRnZSBbMDYwMV06IElu dGVsIENvcnBvcmF0aW9uIFFNNTcgQ2hpcHNldCBMUEMgSW50ZXJmYWNlCj4gQ29udHJvbGxlciBb ODA4NjozYjA3XSAocmV2IDA2KQo+IAlTdWJzeXN0ZW06IExlbm92byBRTTU3IENoaXBzZXQgTFBD IEludGVyZmFjZSBDb250cm9sbGVyCj4gWzE3YWE6MjE2Nl0KPiAJQ29udHJvbDogSS9PKyBNZW0r IEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0ZXBw aW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0dXM6IENhcCsgNjZNSHotIFVERi0g RmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9bWVkaXVtCj4+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0 LSA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPiAJQ2FwYWJpbGl0aWVzOiA8YWNj ZXNzIGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IGxwY19pY2gKPiAJS2VybmVsIG1v ZHVsZXM6IGxwY19pY2gKPgo+IDAwOjFmLjIgU0FUQSBjb250cm9sbGVyIFswMTA2XTogSW50ZWwg Q29ycG9yYXRpb24gNSBTZXJpZXMvMzQwMCBTZXJpZXMKPiBDaGlwc2V0IDYgcG9ydCBTQVRBIEFI Q0kgQ29udHJvbGxlciBbODA4NjozYjJmXSAocmV2IDA2KSAocHJvZy1pZiAwMQo+IFtBSENJIDEu MF0pCj4gCVN1YnN5c3RlbTogTGVub3ZvIDUgU2VyaWVzLzM0MDAgU2VyaWVzIENoaXBzZXQgNiBw b3J0IFNBVEEgQUhDSQo+IENvbnRyb2xsZXIgWzE3YWE6MjE2OF0KPiAJQ29udHJvbDogSS9PKyBN ZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0 ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4Kwo+IAlTdGF0dXM6IENhcCsgNjZNSHorIFVE Ri0gRmFzdEIyQisgUGFyRXJyLSBERVZTRUw9bWVkaXVtCj4+VEFib3J0LSA8VEFib3J0LSA8TUFi b3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPiAJSW50ZXJydXB0OiBwaW4g QiByb3V0ZWQgdG8gSVJRIDI1Cj4gCVJlZ2lvbiAwOiBJL08gcG9ydHMgYXQgMTg2MCBbc2l6ZT04 XQo+IAlSZWdpb24gMTogSS9PIHBvcnRzIGF0IDE4MTQgW3NpemU9NF0KPiAJUmVnaW9uIDI6IEkv TyBwb3J0cyBhdCAxODE4IFtzaXplPThdCj4gCVJlZ2lvbiAzOiBJL08gcG9ydHMgYXQgMTgxMCBb c2l6ZT00XQo+IAlSZWdpb24gNDogSS9PIHBvcnRzIGF0IDE4NDAgW3NpemU9MzJdCj4gCVJlZ2lv biA1OiBNZW1vcnkgYXQgZjI3MjcwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJsZSkKPiBbc2l6 ZT0yS10KPiAJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPiAJS2VybmVsIGRyaXZlciBp biB1c2U6IGFoY2kKPiAJS2VybmVsIG1vZHVsZXM6IGFoY2kKPgo+IDAwOjFmLjMgU01CdXMgWzBj MDVdOiBJbnRlbCBDb3Jwb3JhdGlvbiA1IFNlcmllcy8zNDAwIFNlcmllcyBDaGlwc2V0Cj4gU01C dXMgQ29udHJvbGxlciBbODA4NjozYjMwXSAocmV2IDA2KQo+IAlTdWJzeXN0ZW06IExlbm92byA1 IFNlcmllcy8zNDAwIFNlcmllcyBDaGlwc2V0IFNNQnVzIENvbnRyb2xsZXIKPiBbMTdhYToyMTY3 XQo+IAlDb250cm9sOiBJL08rIE1lbSsgQnVzTWFzdGVyLSBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZH QVNub29wLQo+IFBhckVyci0gU3RlcHBpbmctIFNFUlIrIEZhc3RCMkItIERpc0lOVHgtCj4gCVN0 YXR1czogQ2FwLSA2Nk1Iei0gVURGLSBGYXN0QjJCKyBQYXJFcnItIERFVlNFTD1tZWRpdW0KPj5U QWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJSW50ZXJydXB0 OiBwaW4gQSByb3V0ZWQgdG8gSVJRIDIzCj4gCVJlZ2lvbiAwOiBNZW1vcnkgYXQgZjI3Mjg4MDAg KDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkKPiBbc2l6ZT0yNTZdCj4gCVJlZ2lvbiA0OiBJL08g cG9ydHMgYXQgMTg4MCBbc2l6ZT0zMl0KPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IGk4MDFfc21i dXMKPiAJS2VybmVsIG1vZHVsZXM6IGkyY19pODAxCj4KPiAwMDoxZi42IFNpZ25hbCBwcm9jZXNz aW5nIGNvbnRyb2xsZXIgWzExODBdOiBJbnRlbCBDb3Jwb3JhdGlvbiA1Cj4gU2VyaWVzLzM0MDAg U2VyaWVzIENoaXBzZXQgVGhlcm1hbCBTdWJzeXN0ZW0gWzgwODY6M2IzMl0gKHJldiAwNikKPiAJ U3Vic3lzdGVtOiBMZW5vdm8gNSBTZXJpZXMvMzQwMCBTZXJpZXMgQ2hpcHNldCBUaGVybWFsCj4g U3Vic3lzdGVtIFsxN2FhOjIxOTBdCj4gCUNvbnRyb2w6IEkvTy0gTWVtKyBCdXNNYXN0ZXItIFNw ZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtCj4gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFz dEIyQi0gRGlzSU5UeC0KPiAJU3RhdHVzOiBDYXArIDY2TUh6LSBVREYtIEZhc3RCMkItIFBhckVy ci0gREVWU0VMPWZhc3QgPlRBYm9ydC0KPiA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlIt IElOVHgtCj4gCUludGVycnVwdDogcGluIEQgcm91dGVkIHRvIElSUSAxOQo+IAlSZWdpb24gMDog TWVtb3J5IGF0IGYyNTI2MDAwICg2NC1iaXQsIG5vbi1wcmVmZXRjaGFibGUpCj4gW3NpemU9NEtd Cj4gCUNhcGFiaWxpdGllczogPGFjY2VzcyBkZW5pZWQ+Cj4gCUtlcm5lbCBkcml2ZXIgaW4gdXNl OiBpbnRlbCBpcHMKPiAJS2VybmVsIG1vZHVsZXM6IGludGVsX2lwcwo+Cj4gMDI6MDAuMCBOZXR3 b3JrIGNvbnRyb2xsZXIgWzAyODBdOiBJbnRlbCBDb3Jwb3JhdGlvbiBDZW50cmlubyBVbHRpbWF0 ZS0KPiBOIDYzMDAgWzgwODY6NDIzOF0gKHJldiAzNSkKPiAJU3Vic3lzdGVtOiBJbnRlbCBDb3Jw b3JhdGlvbiBDZW50cmlubyBVbHRpbWF0ZS1OIDYzMDAgM3gzIEFHTgo+IFs4MDg2OjExMTFdCj4g CUNvbnRyb2w6IEkvTy0gTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25v b3AtCj4gUGFyRXJyLSBTdGVwcGluZy0gU0VSUisgRmFzdEIyQi0gRGlzSU5UeCsKPiAJU3RhdHVz OiBDYXArIDY2TUh6LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0K PiA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAsIENh Y2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKPiAJSW50ZXJydXB0OiBwaW4gQSByb3V0ZWQgdG8gSVJR IDI4Cj4gCVJlZ2lvbiAwOiBNZW1vcnkgYXQgZjI0MDAwMDAgKDY0LWJpdCwgbm9uLXByZWZldGNo YWJsZSkKPiBbc2l6ZT04S10KPiAJQ2FwYWJpbGl0aWVzOiA8YWNjZXNzIGRlbmllZD4KPiAJS2Vy bmVsIGRyaXZlciBpbiB1c2U6IGl3bHdpZmkKPiAJS2VybmVsIG1vZHVsZXM6IGl3bHdpZmkKPgo+ IGZmOjAwLjAgSG9zdCBicmlkZ2UgWzA2MDBdOiBJbnRlbCBDb3Jwb3JhdGlvbiBDb3JlIFByb2Nl c3NvciBRdWlja1BhdGgKPiBBcmNoaXRlY3R1cmUgR2VuZXJpYyBOb24tY29yZSBSZWdpc3RlcnMg WzgwODY6MmM2Ml0gKHJldiAwMikKPiAJU3Vic3lzdGVtOiBMZW5vdm8gQ29yZSBQcm9jZXNzb3Ig UXVpY2tQYXRoIEFyY2hpdGVjdHVyZSBHZW5lcmljCj4gTm9uLWNvcmUgUmVnaXN0ZXJzIFsxN2Fh OjIxOTZdCj4gCUNvbnRyb2w6IEkvTy0gTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lO Vi0gVkdBU25vb3AtCj4gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0K PiAJU3RhdHVzOiBDYXAtIDY2TUh6LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VMPWZhc3Qg PlRBYm9ydC0KPiA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVu Y3k6IDAKPgo+IGZmOjAwLjEgSG9zdCBicmlkZ2UgWzA2MDBdOiBJbnRlbCBDb3Jwb3JhdGlvbiBD b3JlIFByb2Nlc3NvciBRdWlja1BhdGgKPiBBcmNoaXRlY3R1cmUgU3lzdGVtIEFkZHJlc3MgRGVj b2RlciBbODA4NjoyZDAxXSAocmV2IDAyKQo+IAlTdWJzeXN0ZW06IExlbm92byBDb3JlIFByb2Nl c3NvciBRdWlja1BhdGggQXJjaGl0ZWN0dXJlIFN5c3RlbQo+IEFkZHJlc3MgRGVjb2RlciBbMTdh YToyMTk2XQo+IAlDb250cm9sOiBJL08tIE1lbSsgQnVzTWFzdGVyKyBTcGVjQ3ljbGUtIE1lbVdJ TlYtIFZHQVNub29wLQo+IFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgt Cj4gCVN0YXR1czogQ2FwLSA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0 ID5UQWJvcnQtCj4gPFRBYm9ydC0gPE1BYm9ydC0gPlNFUlItIDxQRVJSLSBJTlR4LQo+IAlMYXRl bmN5OiAwCj4KPiBmZjowMi4wIEhvc3QgYnJpZGdlIFswNjAwXTogSW50ZWwgQ29ycG9yYXRpb24g Q29yZSBQcm9jZXNzb3IgUVBJIExpbmsgMAo+IFs4MDg2OjJkMTBdIChyZXYgMDIpCj4gCVN1YnN5 c3RlbTogTGVub3ZvIENvcmUgUHJvY2Vzc29yIFFQSSBMaW5rIDAgWzE3YWE6MjE5Nl0KPiAJQ29u dHJvbDogSS9PLSBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0K PiBQYXJFcnItIFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0dXM6IENh cC0gNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LQo+IDxU QWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5jeTogMAo+Cj4gZmY6 MDIuMSBIb3N0IGJyaWRnZSBbMDYwMF06IEludGVsIENvcnBvcmF0aW9uIDFzdCBHZW5lcmF0aW9u IENvcmUKPiBpMy81LzcgUHJvY2Vzc29yIFFQSSBQaHlzaWNhbCAwIFs4MDg2OjJkMTFdIChyZXYg MDIpCj4gCVN1YnN5c3RlbTogTGVub3ZvIDFzdCBHZW5lcmF0aW9uIENvcmUgaTMvNS83IFByb2Nl c3NvciBRUEkKPiBQaHlzaWNhbCAwIFsxN2FhOjIxOTZdCj4gCUNvbnRyb2w6IEkvTy0gTWVtKyBC dXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtCj4gUGFyRXJyLSBTdGVwcGlu Zy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KPiAJU3RhdHVzOiBDYXAtIDY2TUh6LSBVREYtIEZh c3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0KPiA8VEFib3J0LSA8TUFib3J0LSA+ U0VSUi0gPFBFUlItIElOVHgtCj4gCUxhdGVuY3k6IDAKPgo+IGZmOjAyLjIgSG9zdCBicmlkZ2Ug WzA2MDBdOiBJbnRlbCBDb3Jwb3JhdGlvbiAxc3QgR2VuZXJhdGlvbiBDb3JlCj4gaTMvNS83IFBy b2Nlc3NvciBSZXNlcnZlZCBbODA4NjoyZDEyXSAocmV2IDAyKQo+IAlTdWJzeXN0ZW06IExlbm92 byAxc3QgR2VuZXJhdGlvbiBDb3JlIGkzLzUvNyBQcm9jZXNzb3IgUmVzZXJ2ZWQKPiBbMTdhYToy MTk2XQo+IAlDb250cm9sOiBJL08tIE1lbSsgQnVzTWFzdGVyKyBTcGVjQ3ljbGUtIE1lbVdJTlYt IFZHQVNub29wLQo+IFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgtCj4g CVN0YXR1czogQ2FwLSA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5U QWJvcnQtCj4gPFRBYm9ydC0gPE1BYm9ydC0gPlNFUlItIDxQRVJSLSBJTlR4LQo+IAlMYXRlbmN5 OiAwCj4KPiBmZjowMi4zIEhvc3QgYnJpZGdlIFswNjAwXTogSW50ZWwgQ29ycG9yYXRpb24gMXN0 IEdlbmVyYXRpb24gQ29yZQo+IGkzLzUvNyBQcm9jZXNzb3IgUmVzZXJ2ZWQgWzgwODY6MmQxM10g KHJldiAwMikKPiAJU3Vic3lzdGVtOiBMZW5vdm8gMXN0IEdlbmVyYXRpb24gQ29yZSBpMy81Lzcg UHJvY2Vzc29yIFJlc2VydmVkCj4gWzE3YWE6MjE5Nl0KPiAJQ29udHJvbDogSS9PLSBNZW0rIEJ1 c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0KPiBQYXJFcnItIFN0ZXBwaW5n LSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQo+IAlTdGF0dXM6IENhcC0gNjZNSHotIFVERi0gRmFz dEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LQo+IDxUQWJvcnQtIDxNQWJvcnQtID5T RVJSLSA8UEVSUi0gSU5UeC0KPiAJTGF0ZW5jeTogMAo+Cj4KPiAqKiBVU0IgZGV2aWNlczoKPiBC dXMgMDAyIERldmljZSAwMDM6IElEIDA0NWU6MDA0MCBNaWNyb3NvZnQgQ29ycC4gV2hlZWwgTW91 c2UgT3B0aWNhbAo+IEJ1cyAwMDIgRGV2aWNlIDAwMjogSUQgODA4NzowMDIwIEludGVsIENvcnAu IEludGVncmF0ZWQgUmF0ZSBNYXRjaGluZwo+IEh1Ygo+IEJ1cyAwMDIgRGV2aWNlIDAwMTogSUQg MWQ2YjowMDAyIExpbnV4IEZvdW5kYXRpb24gMi4wIHJvb3QgaHViCj4gQnVzIDAwMSBEZXZpY2Ug MDA1OiBJRCAxN2VmOjQ4MTYgTGVub3ZvIEludGVncmF0ZWQgV2ViY2FtCj4gQnVzIDAwMSBEZXZp Y2UgMDAzOiBJRCAwNDVlOjA3NTAgTWljcm9zb2Z0IENvcnAuIFdpcmVkIEtleWJvYXJkIDYwMAo+ IEJ1cyAwMDEgRGV2aWNlIDAwMjogSUQgODA4NzowMDIwIEludGVsIENvcnAuIEludGVncmF0ZWQg UmF0ZSBNYXRjaGluZwo+IEh1Ygo+IEJ1cyAwMDEgRGV2aWNlIDAwMTogSUQgMWQ2YjowMDAyIExp bnV4IEZvdW5kYXRpb24gMi4wIHJvb3QgaHViCj4KPiAtLSBTeXN0ZW0gSW5mb3JtYXRpb246Cj4g RGViaWFuIFJlbGVhc2U6IGJ1c3Rlci9zaWQKPiAgIEFQVCBwcmVmZXJzIHRlc3RpbmctZGVidWcK PiAgIEFQVCBwb2xpY3k6ICg5MDAsICd0ZXN0aW5nLWRlYnVnJyksICg5MDAsICd0ZXN0aW5nJyks ICg4MDAsCj4gJ3Vuc3RhYmxlLWRlYnVnJyksICg4MDAsICd1bnN0YWJsZScpLCAoNzkwLCAnYnVp bGRkLXVuc3RhYmxlJyksICg3MDAsCj4gJ2V4cGVyaW1lbnRhbC1kZWJ1ZycpLCAoNzAwLCAnZXhw ZXJpbWVudGFsJyksICg2OTAsICdidWlsZGQtCj4gZXhwZXJpbWVudGFsJykKPiBBcmNoaXRlY3R1 cmU6IGFtZDY0ICh4ODZfNjQpCj4KPiBLZXJuZWw6IExpbnV4IDQuMTUuMC0xLWFtZDY0IChTTVAg dy80IENQVSBjb3JlcykKPiBMb2NhbGU6IExBTkc9ZW5fQVUudXRmOCwgTENfQ1RZUEU9ZW5fQVUu dXRmOCAoY2hhcm1hcD1VVEYtOCksCj4gTEFOR1VBR0U9ZW5fQVUudXRmOCAoY2hhcm1hcD1VVEYt OCkKPiBTaGVsbDogL2Jpbi9zaCBsaW5rZWQgdG8gL2Jpbi9kYXNoCj4gSW5pdDogc3lzdGVtZCAo dmlhIC9ydW4vc3lzdGVtZC9zeXN0ZW0pCj4KPiBWZXJzaW9ucyBvZiBwYWNrYWdlcyBsaW51eC1p bWFnZS00LjE1LjAtMS1hbWQ2NCBkZXBlbmRzIG9uOgo+IGlpICBpbml0cmFtZnMtdG9vbHMgW2xp bnV4LWluaXRyYW1mcy10b29sXSAgMC4xMzAKPiBpaSAga21vZCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDI1LTEKPiBpaSAgbGludXgtYmFzZSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDQuNQo+Cj4gVmVyc2lvbnMgb2YgcGFja2FnZXMgbGludXgtaW1hZ2UtNC4xNS4w LTEtYW1kNjQgcmVjb21tZW5kczoKPiBwbiAgYXBwYXJtb3IgICAgICAgICAgICAgPG5vbmU+Cj4g aWkgIGZpcm13YXJlLWxpbnV4LWZyZWUgIDMuNAo+IGlpICBpcnFiYWxhbmNlICAgICAgICAgICAx LjMuMC0wLjEKPgo+IFZlcnNpb25zIG9mIHBhY2thZ2VzIGxpbnV4LWltYWdlLTQuMTUuMC0xLWFt ZDY0IHN1Z2dlc3RzOgo+IHBuICBkZWJpYW4ta2VybmVsLWhhbmRib29rICA8bm9uZT4KPiBpaSAg ZXh0bGludXggICAgICAgICAgICAgICAgMzo2LjAzK2Rmc2cxLTIKPiBpaSAgZ3J1Yi1wYyAgICAg ICAgICAgICAgICAgMi4wMitkZnNnMS0xCj4gcG4gIGxpbnV4LWRvYy00LjE1ICAgICAgICAgIDxu b25lPgo+Cj4gVmVyc2lvbnMgb2YgcGFja2FnZXMgbGludXgtaW1hZ2UtNC4xNS4wLTEtYW1kNjQg aXMgcmVsYXRlZCB0bzoKPiBwbiAgZmlybXdhcmUtYW1kLWdyYXBoaWNzICAgICA8bm9uZT4KPiBw biAgZmlybXdhcmUtYXRoZXJvcyAgICAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtYm54MiAg ICAgICAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtYm54MnggICAgICAgICAgICA8bm9uZT4K PiBwbiAgZmlybXdhcmUtYnJjbTgwMjExICAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtY2F2 aXVtICAgICAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtaW50ZWwtc291bmQgICAgICA8bm9u ZT4KPiBwbiAgZmlybXdhcmUtaW50ZWx3aW1heCAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUt aXB3MngwMCAgICAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtaXZ0diAgICAgICAgICAgICA8 bm9uZT4KPiBpaSAgZmlybXdhcmUtaXdsd2lmaSAgICAgICAgICAyMDE3MDgyMy0xCj4gcG4gIGZp cm13YXJlLWxpYmVydGFzICAgICAgICAgPG5vbmU+Cj4gcG4gIGZpcm13YXJlLWxpbnV4LW5vbmZy ZWUgICAgPG5vbmU+Cj4gaWkgIGZpcm13YXJlLW1pc2Mtbm9uZnJlZSAgICAgMjAxNzA4MjMtMQo+ IHBuICBmaXJtd2FyZS1teXJpY29tICAgICAgICAgIDxub25lPgo+IHBuICBmaXJtd2FyZS1uZXR4 ZW4gICAgICAgICAgIDxub25lPgo+IHBuICBmaXJtd2FyZS1xbG9naWMgICAgICAgICAgIDxub25l Pgo+IGlpICBmaXJtd2FyZS1yZWFsdGVrICAgICAgICAgIDIwMTcwODIzLTEKPiBwbiAgZmlybXdh cmUtc2Ftc3VuZyAgICAgICAgICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtc2lhbm8gICAgICAgICAg ICA8bm9uZT4KPiBwbiAgZmlybXdhcmUtdGktY29ubmVjdGl2aXR5ICA8bm9uZT4KPiBwbiAgeGVu LWh5cGVydmlzb3IgICAgICAgICAgICA8bm9uZT4KCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3Bl biBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= 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=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED 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 D8FC8C46460 for ; Wed, 15 Aug 2018 10:25:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6AE5521581 for ; Wed, 15 Aug 2018 10:25:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6AE5521581 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729123AbeHONRB convert rfc822-to-8bit (ORCPT ); Wed, 15 Aug 2018 09:17:01 -0400 Received: from mga03.intel.com ([134.134.136.65]:10504 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726142AbeHONRA (ORCPT ); Wed, 15 Aug 2018 09:17:00 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Aug 2018 03:25:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,242,1531810800"; d="scan'208";a="81529880" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.72.61]) by fmsmga001.fm.intel.com with ESMTP; 15 Aug 2018 03:25:22 -0700 From: Jani Nikula To: Paul Wise Cc: Abdiel Janulgue , Ville =?utf-8?B?U3lyasOkbMOk?= , Daniel Vetter , Gustavo Padovan , Maarten Lankhorst , Sean Paul , David Airlie , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: linux: REGRESSION: drm: cmdline EDID override mechanisms broken since 4.15 In-Reply-To: <4eea367179f91d3e60d1405c54befec7958e5c0f.camel@bonedaddy.net> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <4eea367179f91d3e60d1405c54befec7958e5c0f.camel@bonedaddy.net> Date: Wed, 15 Aug 2018 13:25:15 +0300 Message-ID: <87h8jw7wqc.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 15 Aug 2018, Paul Wise wrote: > Hi all, > > I noticed that the drm cmdline EDID override mechanisms no longer work > since Linux version 4.15. Please file a bug over at [1], describe the symptomps of how it doesn't work (black screen, wrong mode, what?), add drm.debug=14 module parameter, attach dmesg for before/after the bisected commit. Does adding video=VGA-1:e parameter make a difference? Thanks, Jani. [1] https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel > > My monitor lost its VGA EDID a long time ago, so I retrieved a copy of > it from backups of Xorg logs and I have to use the Linux kernel's EDID > override mechanisms. In order to get the right mode early in boot, > I use the Linux kernel cmdline option for this and put the required > firmware file into the initramfs so my cryptsetup prompt is right: > > drm_kms_helper.edid_firmware=VGA-1:edid/VGA-1 > > Linux 4.15 deprecates this option: > > kernel: [drm] drm_kms_firmware.edid_firmware is deprecated, please use drm.edid_firmware intead. > > So I switched to the new option: > > drm.edid_firmware=VGA-1:edid/VGA-1 > > This did not produce any warnings or errors in dmesg but also did not > result in the EDID override file being applied. > > I added both the override options to the Linux kernel command-line in > grub and this did not work in the newer versions of Linux. > > I also tried this without the VGA-1: connector specifier and this did > not improve the situation but did prevent the LVDS screen from working: > > drm.edid_firmware=edid/VGA-1 drm_kms_helper.edid_firmware=edid/VGA-1 > > I tested the Debian Linux kernel builds on snapshot.debian.org and > version 4.15~rc5-1~exp1 came up as the first broken one. > > I confirmed that overrides do not work with the latest Linux kernel > version in Debian buster (4.17.8-1). > > I then git bisected the issue and came up with 53fd40a90f3c as bad. > I also checked that the following commit ac6c35a4d8c7 was also bad. > > https://wiki.debian.org/DebianKernel/GitBisect > > 53fd40a90f3c0bdad86ec266ee5df833f54ace39 is the first bad commit > commit 53fd40a90f3c0bdad86ec266ee5df833f54ace39 > Author: Jani Nikula > Date: Tue Sep 12 11:19:26 2017 +0300 > > drm: handle override and firmware EDID at drm_do_get_edid() level > > Handle debugfs override edid and firmware edid at the low level to > transparently and completely replace the real edid. Previously, we > practically only used the modes from the override EDID, and none of the > other data, such as audio parameters. > > This change also prevents actual EDID reads when the EDID is to be > overridden, but retains the DDC probe. This is useful if the reason for > preferring override EDID are problems with reading the data, or > corruption of the data. > > Move firmware EDID loading from helper to core, as the functionality > moves to lower level as well. This will result in a change of module > parameter from drm_kms_helper.edid_firmware to drm.edid_firmware, which > arguably makes more sense anyway. > > Some future work remains related to override and firmware EDID > validation. Like before, no validation is done for override EDID. The > firmware EDID is validated separately in the loader. Some unification > and deduplication would be in order, to validate all of them at the > drm_do_get_edid() level, like "real" EDIDs. > > v2: move firmware loading to core > > v3: rebase, commit message refresh > > Cc: Abdiel Janulgue > Cc: Daniel Vetter > Cc: Ville Syrjälä > Tested-by: Abdiel Janulgue > Reviewed-by: Ville Syrjälä > Acked-by: Dave Airlie > Signed-off-by: Jani Nikula > Link: https://patchwork.freedesktop.org/patch/msgid/1e8a710bcac46e5136c1a7b430074893c81f364a.1505203831.git.jani.nikula@intel.com > > :040000 040000 2c9c6a97a18f6993af1097c69b9e36b1f98add40 60822020c6c58e6f46d659d321e082a62a530639 M Documentation > :040000 040000 f75d443482650cd4359868e1e453087f92543dab d737bdb8758b3cdfc5e8ca2b3808328b63939ea8 M drivers > > commit ac6c35a4d8c77083525044a192cb1a8711381e94 (HEAD) > Author: Jani Nikula > Date: Mon Sep 18 21:20:03 2017 +0300 > > drm: add backwards compatibility support for drm_kms_helper.edid_firmware > > Add drm_kms_helper.edid_firmware module parameter with param ops hooks > to set drm.edid_firmware instead, for backwards compatibility. > > Suggested-by: Ville Syrjälä > Cc: Abdiel Janulgue > Cc: Daniel Vetter > Cc: Ville Syrjälä > Reviewed-by: Ville Syrjälä > Acked-by: Dave Airlie > Signed-off-by: Jani Nikula > Link: https://patchwork.freedesktop.org/patch/msgid/20170918182003.22238-2-jani.nikula@intel.com > > -- Package-specific info: > ** Version: > Linux version 4.15.0-1-amd64 (debian-kernel@lists.debian.org) (gcc > version 7.3.0 (Debian 7.3.0-3)) #1 SMP Debian 4.15.4-1 (2018-02-18) > > ** Command line: > BOOT_IMAGE=/vmlinuz-4.15.0-1-amd64 root=/dev/mapper/chianamo-root ro > drm_kms_helper.edid_firmware=VGA-1:edid/VGA-1 drm.edid_firmware=VGA- > 1:edid/VGA-1 quiet > > ** Tainted: O (4096) > * Out-of-tree module has been loaded. > > ** Model information > sys_vendor: LENOVO > product_name: 0831CTO > product_version: ThinkPad X201 Tablet > chassis_vendor: LENOVO > chassis_version: Not Available > bios_vendor: LENOVO > bios_version: 6QET62WW (1.32 ) > board_vendor: LENOVO > board_name: 0831CTO > board_version: Not Available > > ** Loaded modules: > fuse > ctr > ccm > ebtable_filter > ebtables > ip6table_filter > ip6_tables > iptable_filter > devlink > toshiba_acpi > industrialio > sparse_keymap > toshiba_haps > hp_accel > lis3lv02d > input_polldev > hdaps > wacom_w8001 > serport > binfmt_misc > btusb > btrtl > btbcm > btintel > bluetooth > drbg > ansi_cprng > ecdh_generic > snd_hda_codec_hdmi > snd_hda_codec_conexant > snd_hda_codec_generic > uvcvideo > snd_hda_intel > intel_powerclamp > videobuf2_vmalloc > snd_hda_codec > kvm_intel > snd_hda_core > videobuf2_memops > snd_hwdep > videobuf2_v4l2 > arc4 > iwldvm > mac80211 > snd_pcm_oss > snd_mixer_oss > videobuf2_core > kvm > iTCO_wdt > videodev > iTCO_vendor_support > snd_pcm > thinkpad_acpi > nvram > media > snd_seq_midi > snd_seq_midi_event > irqbypass > snd_rawmidi > iwlwifi > intel_cstate > joydev > intel_uncore > snd_seq > snd_seq_device > snd_timer > serio_raw > cfg80211 > sg > snd > rfkill > mei_me > mei > wmi_bmof > intel_ips > shpchp > battery > ac > evdev > soundcore > lpc_ich > mfd_core > acpi_cpufreq > i2c_dev > coretemp > cdc_ether > usbnet > mii > tp_smapi > thinkpad_ec > loop > parport_pc > ppdev > lp > parport > ip_tables > x_tables > autofs4 > ext4 > crc16 > mbcache > jbd2 > fscrypto > ecb > btrfs > zstd_decompress > zstd_compress > xxhash > algif_skcipher > af_alg > dm_crypt > dm_mod > raid10 > raid456 > async_raid6_recov > async_memcpy > async_pq > async_xor > async_tx > xor > raid6_pq > libcrc32c > crc32c_generic > raid1 > raid0 > multipath > linear > md_mod > sd_mod > uas > usb_storage > hid_generic > hid_microsoft > usbhid > hid > crct10dif_pclmul > crc32_pclmul > crc32c_intel > ghash_clmulni_intel > pcbc > i915 > aesni_intel > ahci > aes_x86_64 > libahci > crypto_simd > glue_helper > cryptd > i2c_algo_bit > libata > drm_kms_helper > psmouse > ehci_pci > i2c_i801 > ehci_hcd > scsi_mod > drm > e1000e > usbcore > ptp > usb_common > pps_core > thermal > wmi > video > button > > ** PCI devices: > 00:00.0 Host bridge [0600]: Intel Corporation Core Processor DRAM > Controller [8086:0044] (rev 02) > Subsystem: Lenovo Core Processor DRAM Controller [17aa:2193] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > Capabilities: > > 00:02.0 VGA compatible controller [0300]: Intel Corporation Core > Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if > 00 [VGA controller]) > Subsystem: Lenovo Core Processor Integrated Graphics Controller > [17aa:215a] > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx+ > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > Interrupt: pin A routed to IRQ 26 > Region 0: Memory at f2000000 (64-bit, non-prefetchable) > [size=4M] > Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M] > Region 4: I/O ports at 1800 [size=8] > [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] > Capabilities: > Kernel driver in use: i915 > Kernel modules: i915 > > 00:16.0 Communication controller [0780]: Intel Corporation 5 > Series/3400 Series Chipset HECI Controller [8086:3b64] (rev 06) > Subsystem: Lenovo 5 Series/3400 Series Chipset HECI Controller > [17aa:215f] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx+ > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > Interrupt: pin A routed to IRQ 27 > Region 0: Memory at f2727800 (64-bit, non-prefetchable) > [size=16] > Capabilities: > Kernel driver in use: mei_me > Kernel modules: mei_me > > 00:19.0 Ethernet controller [0200]: Intel Corporation 82577LM Gigabit > Network Connection [8086:10ea] (rev 06) > Subsystem: Lenovo 82577LM Gigabit Network Connection > [17aa:2153] > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx+ > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > Interrupt: pin A routed to IRQ 24 > Region 0: Memory at f2500000 (32-bit, non-prefetchable) > [size=128K] > Region 1: Memory at f2525000 (32-bit, non-prefetchable) > [size=4K] > Region 2: I/O ports at 1820 [size=32] > Capabilities: > Kernel driver in use: e1000e > Kernel modules: e1000e > > 00:1a.0 USB controller [0c03]: Intel Corporation 5 Series/3400 Series > Chipset USB2 Enhanced Host Controller [8086:3b3c] (rev 06) (prog-if 20 > [EHCI]) > Subsystem: Lenovo 5 Series/3400 Series Chipset USB2 Enhanced > Host Controller [17aa:2163] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >>TAbort- SERR- Latency: 0 > Interrupt: pin D routed to IRQ 23 > Region 0: Memory at f2728000 (32-bit, non-prefetchable) > [size=1K] > Capabilities: > Kernel driver in use: ehci-pci > Kernel modules: ehci_pci > > 00:1b.0 Audio device [0403]: Intel Corporation 5 Series/3400 Series > Chipset High Definition Audio [8086:3b56] (rev 06) > Subsystem: Lenovo 5 Series/3400 Series Chipset High Definition > Audio [17aa:215e] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx+ > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0, Cache Line Size: 64 bytes > Interrupt: pin B routed to IRQ 29 > Region 0: Memory at f2520000 (64-bit, non-prefetchable) > [size=16K] > Capabilities: > Kernel driver in use: snd_hda_intel > Kernel modules: snd_hda_intel > > 00:1c.0 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series > Chipset PCI Express Root Port 1 [8086:3b42] (rev 06) (prog-if 00 > [Normal decode]) > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0, Cache Line Size: 64 bytes > Interrupt: pin A routed to IRQ 20 > Bus: primary=00, secondary=0d, subordinate=0d, sec-latency=0 > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B- > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > Capabilities: > Kernel driver in use: pcieport > Kernel modules: shpchp > > 00:1c.4 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series > Chipset PCI Express Root Port 5 [8086:3b4a] (rev 06) (prog-if 00 > [Normal decode]) > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0, Cache Line Size: 64 bytes > Interrupt: pin A routed to IRQ 20 > Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 > Memory behind bridge: f2400000-f24fffff > Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B- > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > Capabilities: > Kernel driver in use: pcieport > Kernel modules: shpchp > > 00:1d.0 USB controller [0c03]: Intel Corporation 5 Series/3400 Series > Chipset USB2 Enhanced Host Controller [8086:3b34] (rev 06) (prog-if 20 > [EHCI]) > Subsystem: Lenovo 5 Series/3400 Series Chipset USB2 Enhanced > Host Controller [17aa:2163] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >>TAbort- SERR- Latency: 0 > Interrupt: pin D routed to IRQ 19 > Region 0: Memory at f2728400 (32-bit, non-prefetchable) > [size=1K] > Capabilities: > Kernel driver in use: ehci-pci > Kernel modules: ehci_pci > > 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge > [8086:2448] (rev a6) (prog-if 01 [Subtractive decode]) > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > Bus: primary=00, secondary=0e, subordinate=0e, sec-latency=0 > Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >>TAbort- BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B- > PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > Capabilities: > > 00:1f.0 ISA bridge [0601]: Intel Corporation QM57 Chipset LPC Interface > Controller [8086:3b07] (rev 06) > Subsystem: Lenovo QM57 Chipset LPC Interface Controller > [17aa:2166] > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >>TAbort- SERR- Latency: 0 > Capabilities: > Kernel driver in use: lpc_ich > Kernel modules: lpc_ich > > 00:1f.2 SATA controller [0106]: Intel Corporation 5 Series/3400 Series > Chipset 6 port SATA AHCI Controller [8086:3b2f] (rev 06) (prog-if 01 > [AHCI 1.0]) > Subsystem: Lenovo 5 Series/3400 Series Chipset 6 port SATA AHCI > Controller [17aa:2168] > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx+ > Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >>TAbort- SERR- Latency: 0 > Interrupt: pin B routed to IRQ 25 > Region 0: I/O ports at 1860 [size=8] > Region 1: I/O ports at 1814 [size=4] > Region 2: I/O ports at 1818 [size=8] > Region 3: I/O ports at 1810 [size=4] > Region 4: I/O ports at 1840 [size=32] > Region 5: Memory at f2727000 (32-bit, non-prefetchable) > [size=2K] > Capabilities: > Kernel driver in use: ahci > Kernel modules: ahci > > 00:1f.3 SMBus [0c05]: Intel Corporation 5 Series/3400 Series Chipset > SMBus Controller [8086:3b30] (rev 06) > Subsystem: Lenovo 5 Series/3400 Series Chipset SMBus Controller > [17aa:2167] > Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >>TAbort- SERR- Interrupt: pin A routed to IRQ 23 > Region 0: Memory at f2728800 (64-bit, non-prefetchable) > [size=256] > Region 4: I/O ports at 1880 [size=32] > Kernel driver in use: i801_smbus > Kernel modules: i2c_i801 > > 00:1f.6 Signal processing controller [1180]: Intel Corporation 5 > Series/3400 Series Chipset Thermal Subsystem [8086:3b32] (rev 06) > Subsystem: Lenovo 5 Series/3400 Series Chipset Thermal > Subsystem [17aa:2190] > Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Interrupt: pin D routed to IRQ 19 > Region 0: Memory at f2526000 (64-bit, non-prefetchable) > [size=4K] > Capabilities: > Kernel driver in use: intel ips > Kernel modules: intel_ips > > 02:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate- > N 6300 [8086:4238] (rev 35) > Subsystem: Intel Corporation Centrino Ultimate-N 6300 3x3 AGN > [8086:1111] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- DisINTx+ > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0, Cache Line Size: 64 bytes > Interrupt: pin A routed to IRQ 28 > Region 0: Memory at f2400000 (64-bit, non-prefetchable) > [size=8K] > Capabilities: > Kernel driver in use: iwlwifi > Kernel modules: iwlwifi > > ff:00.0 Host bridge [0600]: Intel Corporation Core Processor QuickPath > Architecture Generic Non-core Registers [8086:2c62] (rev 02) > Subsystem: Lenovo Core Processor QuickPath Architecture Generic > Non-core Registers [17aa:2196] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > > ff:00.1 Host bridge [0600]: Intel Corporation Core Processor QuickPath > Architecture System Address Decoder [8086:2d01] (rev 02) > Subsystem: Lenovo Core Processor QuickPath Architecture System > Address Decoder [17aa:2196] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > > ff:02.0 Host bridge [0600]: Intel Corporation Core Processor QPI Link 0 > [8086:2d10] (rev 02) > Subsystem: Lenovo Core Processor QPI Link 0 [17aa:2196] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > > ff:02.1 Host bridge [0600]: Intel Corporation 1st Generation Core > i3/5/7 Processor QPI Physical 0 [8086:2d11] (rev 02) > Subsystem: Lenovo 1st Generation Core i3/5/7 Processor QPI > Physical 0 [17aa:2196] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > > ff:02.2 Host bridge [0600]: Intel Corporation 1st Generation Core > i3/5/7 Processor Reserved [8086:2d12] (rev 02) > Subsystem: Lenovo 1st Generation Core i3/5/7 Processor Reserved > [17aa:2196] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > > ff:02.3 Host bridge [0600]: Intel Corporation 1st Generation Core > i3/5/7 Processor Reserved [8086:2d13] (rev 02) > Subsystem: Lenovo 1st Generation Core i3/5/7 Processor Reserved > [17aa:2196] > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > SERR- Latency: 0 > > > ** USB devices: > Bus 002 Device 003: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical > Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching > Hub > Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > Bus 001 Device 005: ID 17ef:4816 Lenovo Integrated Webcam > Bus 001 Device 003: ID 045e:0750 Microsoft Corp. Wired Keyboard 600 > Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching > Hub > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > > -- System Information: > Debian Release: buster/sid > APT prefers testing-debug > APT policy: (900, 'testing-debug'), (900, 'testing'), (800, > 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, > 'experimental-debug'), (700, 'experimental'), (690, 'buildd- > experimental') > Architecture: amd64 (x86_64) > > Kernel: Linux 4.15.0-1-amd64 (SMP w/4 CPU cores) > Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), > LANGUAGE=en_AU.utf8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > Init: systemd (via /run/systemd/system) > > Versions of packages linux-image-4.15.0-1-amd64 depends on: > ii initramfs-tools [linux-initramfs-tool] 0.130 > ii kmod 25-1 > ii linux-base 4.5 > > Versions of packages linux-image-4.15.0-1-amd64 recommends: > pn apparmor > ii firmware-linux-free 3.4 > ii irqbalance 1.3.0-0.1 > > Versions of packages linux-image-4.15.0-1-amd64 suggests: > pn debian-kernel-handbook > ii extlinux 3:6.03+dfsg1-2 > ii grub-pc 2.02+dfsg1-1 > pn linux-doc-4.15 > > Versions of packages linux-image-4.15.0-1-amd64 is related to: > pn firmware-amd-graphics > pn firmware-atheros > pn firmware-bnx2 > pn firmware-bnx2x > pn firmware-brcm80211 > pn firmware-cavium > pn firmware-intel-sound > pn firmware-intelwimax > pn firmware-ipw2x00 > pn firmware-ivtv > ii firmware-iwlwifi 20170823-1 > pn firmware-libertas > pn firmware-linux-nonfree > ii firmware-misc-nonfree 20170823-1 > pn firmware-myricom > pn firmware-netxen > pn firmware-qlogic > ii firmware-realtek 20170823-1 > pn firmware-samsung > pn firmware-siano > pn firmware-ti-connectivity > pn xen-hypervisor -- Jani Nikula, Intel Open Source Graphics Center