From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Wilck Subject: Re: [RFC PATCH 14/16] multipath.rules: find_multipaths+ignore_wwids logic Date: Sat, 20 Jan 2018 02:20:58 +0100 Message-ID: <1516411258.4005.49.camel@suse.com> References: <20180119002916.10323-1-mwilck@suse.com> <20180119002916.10323-15-mwilck@suse.com> <20180119181219.GD5638@octiron.msp.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180119181219.GD5638@octiron.msp.redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Benjamin Marzinski Cc: dm-devel@redhat.com, Xose Vazquez Perez List-Id: dm-devel.ids T24gRnJpLCAyMDE4LTAxLTE5IGF0IDEyOjEyIC0wNjAwLCBCZW5qYW1pbiBNYXJ6aW5za2kgd3Jv dGU6Cj4gT24gRnJpLCBKYW4gMTksIDIwMTggYXQgMDE6Mjk6MTRBTSArMDEwMCwgTWFydGluIFdp bGNrIHdyb3RlOgo+ID4gU29sdmUgdGhlIHByb2JsZW0gdGhhdCwgd2hlbiB0aGUgZmlyc3QgcGF0 aCB0byBhIGRldmljZSBhcHBlYXJzLAo+ID4gd2UgZG9uJ3Qga25vdyBpZiBtb3JlIHBhdGhzIGFy ZSBnb2luZyB0byBmb2xsb3cuCj4gPiAKPiA+IFRoZXNlIHJ1bGVzIGFwcGx5IG9ubHkgaWYgYm90 aCBmaW5kX211bHRpcGF0aHMgYW5kIGlnbm9yZV93d2lkcyBhcmUKPiA+IHNldCBpbiBtdWx0aXBh dGguY29uZi4KPiA+IAo+ID4gbXVsdGlwYXRoIC11IHNldHMgRE1fTVVMVElQQVRIX0RFVklDRV9Q QVRIPTIgaWYgYSBkZXZpY2UgaXMgIm1heWJlIgo+ID4gYSBtdWx0aXBhdGggbWVtYmVyIChub3Qg YmxhY2tsaXN0ZWQsIG9ubHkgb25lIHBhdGggc2VlbikuCj4gPiBJbiB0aGF0IGNhc2UsIHByZXRl bmQgdG8gYmUgYSBtdWx0aXBhdGggbWVtYmVyIGFuZCBkaXNhbGxvdyBmdXJ0aGVyCj4gPiBwcm9j ZXNzaW5nIGJ5IHN5c3RlbWQgKGFsbG93aW5nIG11bHRpcGF0aGQgc29tZSB0aW1lIHRvIGdyYWIg dGhlCj4gPiBwYXRoKSwKPiA+IGFuZCBjaGVjayBhZ2FpbiBhZnRlciBzb21lIHRpbWUuIElmIHRo ZSBwYXRoIGlzIHN0aWxsIG5vdAo+ID4gbXVsdGlwYXRoZWQgYnkgdGhlbiwKPiA+IHBhc3MgaXQg b24gdG8gc3lzdGVtZCBmb3IgZnVydGhlciBwcm9jZXNzaW5nLiBFbnN1cmUgdGhhdCB0aGlzCj4g PiBoYXBwZW5zIG9ubHkKPiA+IG9uY2UuIFRoZSB0aW1lb3V0IHZhbHVlcyBGSU5EX01VTFRJUEFU SFNfQk9PVF9UTU8gKHRpbWUgdG8gd2FpdAo+ID4gc2luY2Ugc3lzdGVtCj4gPiBib290KSBhbmQg RklORF9NVUxUSVBBVEhTX1BBVEhfVE1PICh0aW1lIHRvIHdhaXQgYWZ0ZXIgZGV0ZWN0aW9uIG9m Cj4gPiBmaXJzdAo+ID4gcGF0aCkgY2FuIGJlIGNvbmZpZ3VyZWQgaW4gdWRldiBydWxlcyB0aGF0 IGFyZSBydW4gYmVmb3JlCj4gPiAibXVsdGlwYXRoLnJ1bGVzIi4KPiA+IFRoZSBlYXJsaWVyIHRp bWVvdXQgd2lucywgdGh1cyBpZiB0aGUgZmlyc3QgcGF0aCBpcyBkZXRlY3RlZCBhZnRlcgo+ID4g RklORF9NVUxUSVBBVEhTX0JPT1RfVE1PIGhhcyBleHBpcmVkLCB0aGUgdGltZXIgd2lsbCBleHBp cmUKPiA+IGltbWVkaWF0ZWx5Lgo+IAo+IFJlZEhhdCBkZWZhdWx0cyB0byB1c2luZyBmaW5kX211 bHRpcGF0aHMuIE1vc3QgY3VzdG9tZXJzIGhhdmUgc29tZQo+IGxvY2FsCj4gbm9uLW11bHRpcGF0 aGVkIHN0b3JhZ2UuICBBcyBmYXIgYXMgSSBjYW4gc2VlLCB0aGlzIGNoYW5nZSBpcyBhZGRpbmcK PiBhdAo+IGxlYXN0IDMwIHNlY29uZHMgdG8gdGhlIGJvb3QgdGltZSBvciBldmVyeSBib290IGlu IG91ciBzdGFuZGFyZCBjYXNlLAo+IHRvCj4gc29sdmUgYSBwcm9ibGVtIHRoYXQgaXMgZWl0aGVy IGluIHlvdXIgTmljZS10by1IYXZlIGNhdGVnb3J5LCBvciBpcwo+IGFzCj4gZmFyIGFzIEkga25v dywgb25seSB0aGVvcmV0aWNhbCwgYW5kIGFsc28gd2hpY2ggY2FuIGJlIGZpeGVkIGJ5Cj4gc2lt cGx5Cj4gbW91bnRpbmcgYSBmaWxlc3lzdGVtLCBhbGJlaXQgZnJvbSBhbiBlbWVyZ2VuY3kgc2hl bGwuCgpUaGlzIGlzIG5vdCB0aGUgY2FzZS4gRmlyc3RseSwgSSB0aG91Z2h0IHRoYXQgaW4gYW4g ZWFybGllciBtYWlsIHlvdQpzYWlkIHRoYXQgeW91IHdlcmUgdXNpbmcgaWdub3JlX25ld19kZXZz ID0geWVzIGluIHRoZSBpbml0cmQuICh3aXRoIG15CnBhdGNoIHRoYXQgd291bGQgdHJhbnNmb3Jt IHRvICJpZ25vcmVfd3dpZHMgPSBubyIpLiBJbiB0aGF0IGNhc2UsIHRoaXMKbG9naWMgZG9lc24n dCBhcHBseSwgYW5kIG5vIGRlbGF5cyBvY2N1ci4gTW9yZW92ZXIsIHRoZSB0aW1lb3V0CmRlZmF1 bHRzIEkgdXNlZCBjYW4gb2YgY291cnNlIGJlIHNldCBtdWNoIGxvd2VyLCBzbyB0aGF0IGV2ZW4g d2l0aAppZ25vcmVfd3dpZHMgPSB5ZXMsIHRoZSBkZWxheSB3b3VsZCBiZSBoYXJkbHkgbm90aWNl YWJsZS4gSWYgeW91IHJlYWxseQpkaXNsaWtlIGl0IHNvIG11Y2gsIHlvdSBjYW4gc2V0IGJvdGgg dGltZW91dHMgdG8gMCBhbmQgdGhlIGJlaGF2aW9yCndpbGwgYmUgYXMgdXN1YWwgKCJtYXliZSIg cGF0aHMgd2lsbCBiZSB0cmVhdGVkIGFzIG5vbi1tdWx0aXBhdGgpLgoKTGFzdGx5LCB0aGUgc2Fm ZXN0IHdheSB0byBnZXQgeW91ciBkZXZpY2UgKm5vdCogbXVsdGlwYXRoZWQgaXMgc3RpbGwKYmxh Y2tsaXN0aW5nLCBhbmQgdGhlIHNhZmVzdCB3YXkgdG8gKm1ha2Ugc3VyZSogaXQncyBtdWx0aXBh dGhlZCBpcyB0bwphZGQgaXQgdG8gdGhlIHd3aWRzIGZpbGUuIEJvdGggbWV0aG9kcyBzdGlsbCB3 b3JrLCB3aXRoIG5vIGRlbGF5cywgYW5kCnRoZSB3d2lkcyBmaWxlIGlzIHN0aWxsIHVwZGF0ZWQg d2l0aCBldmVyeSBkZXRlY3RlZCBtdWx0aXBhdGggbWFwLgpOb3RoaW5nIGhlcmUgZGlmZmVycyBm cm9tIHN0YW5kYXJkIGZpbmRfbXVsdGlwYXRoIHVzYWdlLgoKVGhpcyBsb2dpYyBpcyBzb2xlbHkg Zm9yIHRoZSBjYXNlIHdoZXJlIGl0J3MgdW5rb3duIHdoZXRoZXIgb3Igbm90IGEKZGV2aWNlIHdp bGwgYmUgYSBtdWx0aXBhdGggZGV2aWNlLgoKPiAgIFJlZEhhdCBoYXMgYmVlbgo+IGRlZmF1bHRp bmcgdG8gZmluZF9tdWx0aXBhdGhzIHNpbmNlIG5vdCBsb25nIGFmdGVyIEkgZmlyc3QgcG9zdGVk IGl0Cj4gKHdoaWNoIGlzIGxvbmcgYmVmb3JlIGl0IGZpbmFsbHkgZ290IGFjY2VwdGVkIHVwc3Ry ZWFtKSwgYW5kIGxpa2UgSQo+IHNhaWQsIEkndmUgbmV2ZXIgcmVjZWlldmVkIGEgYnVnIHJlcG9y dCBmb3IgdGhhdCBpc3N1ZSB3aXRoIG5ldwo+IHN0b3JhZ2UKPiBjYXVzaW5nIGJvb3QgdG8gZmFp bC4gCgpUaGF0J3MgYSB0aGluZyBIYW5uZXMgYW5kIEkgbmVlZCB0byB0aGluayBhYm91dCA7LSkK Cj4gSSB3b3VsZCBwZXJzb25hbGx5IGJlIG11Y2ggaGFwcGllciBpZiB5b3UganVzdCBhZGRlZCB0 aGUgIi1pIiB0byB0aGUKPiB1cHN0cmVhbSBydWxlcywgYW5kIFJlZEhhdCBqdXN0IHJldmVydGVk IHNvbWUgY29tbWl0cyBvbiBvdXIgb3duLiAKCkhtLCBJIHRob3VnaHQgeW91IGRpc2xpa2VkIHRo ZSAiLWkiLi4uIE1heWJlIHRoZSBtb3N0IGltcG9ydGFudCBwb2ludApvZiB0aGlzIHBhdGNoIHNl cmllcyBpcyB0aGUgaWRlYSBub3QgdG8gdXNlIHRoaXMgb3B0aW9uIGFueSBtb3JlLCBidXQKdXNl IGEgY29uZmlnIGZpbGUgb3B0aW9uIGluc3RlYWQgd2hpY2ggaXMgc2hhcmVkIGJldHdlZW4gbXVs dGlwYXRoIGFuZAptdWx0aXBhdGhkLiBJJ20gbm90IHN1cmUgSSB1bmRlcnN0YW5kIHdoYXQgeW91 J3JlIGFza2luZyBmb3IuCgo+IDMwCj4gc2Vjb25kcyBmZWVscyB0b28gbG9uZyB0byB3YWl0IG9u IGV2ZXJ5IGJvb3QgaW4gdGhlIChmb3IgdXMpIHN0YW5kYXJkCj4gY2FzZSwgYW5kIG1ha2luZyB0 aGUgdGltZW91dCBzaG9ydCBlbm91Z2ggdG8gbm90IGJlIGJvdGhlcnNvbWUKPiBkb2Vzbid0Cj4g KG9yIGRpZG4ndCB3aGVuIEkgdHJpZWQgc29tZXRoaW5nIHNpbWlsYXIsIHdoZW4gSSBmaXJzdCB3 cm90ZQo+IGZpbmRfbXVsdGlwYXRocykgd29yayB3aGVuIHRoZXJlIHdlcmUgYSBsYXJnZSBudW1i ZXIgb2YgZGV2aWNlcyBiZWluZwo+IGRpc2NvdmVyZWQgYXQgYm9vdC4gIAoKT2YgY291cnNlIGl0 IGlzbid0IHBlcmZlY3QsIGFuZCB0aW1lb3V0cyBhcmUgc29tZXRoaW5nIHRoYXQncwppbXBvc3Np YmxlIHRvIGdldCByaWdodCBmb3IgYWxsIHVzZSBjYXNlcywgd2Uga25vdyB0aGF0IGFsbCB0b28g d2VsbC4KSG93ZXZlciwgaWYgd2UgZG9uJ3Qga25vdyB3aGV0aGVyIG9yIG5vdCBhZGRpdGlvbmFs IHBhdGhzIHdpbGwgYmUKZGV0ZWN0ZWQsIHdoYXQgZWxzZSBjYW4gd2UgZG8gZXhjZXB0IHdhaXQ/ IElmIHlvdSBoYXZlIGEgc3lzdGVtIHdoZXJlCnlvdSBzZWUgb25lIHBhdGgsIHRoZW4gNTAwMCBv dGhlciBkZXZpY2VzLCBhbmQgZmluYWxseSBhbm90aGVyIHBhdGggdG8KdGhlIHNhbWUgZGV2aWNl IGFmdGVyIDMwIG1pbnV0ZXMsIHRoaXMgYXBwcm9hY2ggY2FuJ3Qgd29yaywgYW5kIHRoZQphZG1p biB3b3VsZCBiZSB3ZWxsLWFkdmlzZWQgdG8gYWRkIHRoZSBkZXZpY2UgdG8gdGhlIHd3aWRzIGZp bGUuCgpCdXQgaXQgY2FuIGF2b2lkIHVucGxlYXNhbnQgc3VycHJpc2VzIGluIG90aGVyIGNhc2Vz LCBJIGJlbGlldmUuCnYKPiBBbmQgaWYgdGhlIHRpbWVvdXQgaXMgdG9vIHNob3J0LCB5b3UgZW5k IHVwIGluIHRoZQo+IHNhbWUgc2l0dWF0aW9uIHRoYXQgdGhlIGN1cnJlbnQgUmVkSGF0IHNldHVw IGhhcywgd2l0aCBvbmUgaW1wb3J0YW50Cj4gZGlmZmVyZW5jZS4gTXVsdGlwYXRoZCBpcyBub3cg bXVjaCBtb3JlIGxpa2VseSB0byB3aW4gdGhlIHJhY2UsIGFuZAo+IG11bHRpcGF0aCBhIGRldmlj ZSB0aGF0IGl0IGhhcyBub3QgY2xhaW1lZCwgd2hpY2ggaXMgdGhlIG9ubHkgd2F5IHlvdQo+IGNh biBnZXQgaW50byB0aGUgbW9yZSBzZXJpb3VzIGJvb3QgaXNzdWUgSSBkZXNjcmliZWQgYmVmb3Jl LgoKSSBkb24ndCBnZXQgdGhhdC4gTXVsdGlwYXRoIG9ubHkgIndpbnMiIGlmIGl0IHNlZXMgbW9y ZSB0aGFuIGEgc2luZ2xlCnBhdGgsIGluIHdoaWNoIGNhc2UgaXQncyBjb3JyZWN0IHRoYXQgaXQg IndpbnMiLgoKPiBJTUhPIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGlzIHdvdWxkIGJlIHRvIGdp dmUgbXVsdGlwYXRoZCBhCj4gY29uZmlndXJhYmxlIHRpbWVvdXQgdG8gd2FpdCBiZWZvcmUgY3Jl YXRpbmcgYSBtdWx0aXBhdGggZGV2aWNlIG9uCj4gbmV3Cj4gc3RvcmFnZSBpZiBmaW5kX211bHRp cGF0aHMgaXMgc2V0LCBpdCBvcmRlciB0byBnaXZlIHlvdSB0aGUgc2FtZSBzb3J0Cj4gb2YKPiBn dWFyYW50ZWUgdGhhdCB0aGUgcmFjZSB3aWxsIGdvIG9uZSB3YXkuCgpZb3UgbWVhbiwgd2FpdCB3 aXRoIGEgc2luZ2xlIHBhdGgsIGFuZCB0aGVuIGFmdGVyIHNvbWUgdGltZSwgZ3JhYiB0aGUKcGF0 aCBldmVuIGlmIG5vIG90aGVyIHBhdGhzIGFyZSBmb3VuZD8gSSBkb24ndCBsaWtlIHRoYXQgaWRl YS4gQWZ0ZXIKYWxsLCB0aGUgbG9uZ2VyIHdlIHdhaXQsIHRoZSBsZXNzIGxpa2VseSBpdCBiZWNv bWVzIHRoYXQgYW5vdGhlciBwYXRoCndpbGwgcG9wIHVwLiAKCj4gIEkgcmVhbGl6ZSB0aGF0IGlm IHRoZXJlIGlzCj4gZXhpc3RpbmcgbWV0YWRhdGEgb24gdGhlIGRldmljZSBvciBhIGZzdGFiIGVu dHJ5IGZvciBpdCwgdGhpcyB3b3VsZAo+IG1ha2UKPiB0aGUgbmV3IGRldmljZSBhbHdheXMgYmUg aW5jb3JyZWN0bHkgbm90IG11bHRpcGF0aGVkLCBidXQgaXQgaGFzIHRoZQo+IGJlbmVmaXQgb2Yg bm90IHNsb3dpbmcgYm9vdCBhbmQgcmVkdWNpbmcgdGhlIGNoYW5jZSBvZiB0aGUgd29yc3QKPiBv dXRjb21lLCByZWdhcmRsZXNzIG9mIGhvdyBsb25nIHRoZSB0aW1lb3V0IGlzLiAKCkkgaGF2ZW4n dCB1bmRlcnN0b29kIHdoYXQgeW91IGNvbnNpZGVyIHRoZSB3b3JzdCBvdXRjb21lLCBidXQgSSBh ZG1pdApJJ3ZlIHlldCB0byByZWFkIHlvdXIgb3RoZXIgbG9uZ2VyIHBvc3RpbmcgaW4gZGV0YWls LiBJbiBteSBvcGluaW9uIHRoZQp3b3JzdCB0aGluZyBpcyBkZXZpY2VzIGJlaW5nIHBlcm1hbmVu dGx5IHVuYXZhaWxhYmxlLCBhbmQgSSdtIHF1aXRlCnBvc2l0aXZlIHRoYXQgbXkgcGF0Y2ggY2Fu IGF2b2lkIHRoYXQgc2l0dWF0aW9uLgoKPiBJdCB3b3VsZCBlc3NlbnRpYWxseSBiZQo+IGxpa2Ug a2VlcGluZyB0aGUgZ3VhcmFudGVlcyBvZiB5b3VyIG9yaWdpbmFsICJpbXBseSAtbiIgcGF0Y2gs IGJ1dAo+IHdpdGgKPiB0aGUgYmVuZWZpdCB0aGF0IGlmIG5vdGhpbmcgZWxzZSB3YW50ZWQgdG8g YXNzZW1ibGUgb24gdGhlIGRldmljZSwKPiBtdWx0aXBhdGhkIHdvdWxkIGV2ZW50dWFsbHkgdHJ5 IGFuZCBzdWNjZWVkLCBhbmQgdGhlbiB1cGRhdGUgdGhlIHVkZXYKPiBkYXRhYmFzZSBhZnRlcndh cmRzLgoKSSB1bmRlcnN0YW5kIHRoYXQgeW91J3JlIG5vdCB0b28gaGFwcHkgYWJvdXQgbXkgcHJv cG9zYWwuIEJlIGFzc3VyZWQKdGhhdCBpdCdzIG5vdCBteSBpbnRlbnRpb24gdG8gYnJlYWsgUmVk IEhhdCdzIGRlZmF1bHQgc2V0dXAuIFRoaXMgc3R1ZmYKbmVlZHMgc29tZSBtb3JlIHRlc3Rpbmcg YW5kIHdvcmsgdG8gc3RhYmlsaXplLCBidXQgd2hlbiB0aGF0J3MgZG9uZSwKSSdkIGJlIGdyYXRl ZnVsIGlmIHlvdSdkIGdpdmUgaXQgYSB0cnkgaW4gcHJhY3RpY2UuCgpSZWdhcmRzCk1hcnRpbgoK PiAKPiBUaG91Z2h0cz8KPiAtQmVuCj4gCj4gPiAtLS0KPiA+ICBtdWx0aXBhdGgvbXVsdGlwYXRo LnJ1bGVzIHwgNTkKPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLnJ1bGVzIGIvbXVs dGlwYXRoL211bHRpcGF0aC5ydWxlcwo+ID4gaW5kZXggNWIzYzNjOWMxMTM1Li42YjRhNDE4ZDAw MDkgMTAwNjQ0Cj4gPiAtLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLnJ1bGVzCj4gPiArKysgYi9t dWx0aXBhdGgvbXVsdGlwYXRoLnJ1bGVzCj4gPiBAQCAtMTksOSArMTksNjQgQEAgTEFCRUw9InRl c3RfZGV2Igo+ID4gIEVOVntNUEFUSF9TQklOX1BBVEh9PSIvc2JpbiIKPiA+ICBURVNUIT0iJGVu dntNUEFUSF9TQklOX1BBVEh9L211bHRpcGF0aCIsCj4gPiBFTlZ7TVBBVEhfU0JJTl9QQVRIfT0i L3Vzci9zYmluIgo+ID4gIAo+ID4gKyMgZmluZF9tdWx0aXBhdGhzICsgaWdub3JlX3d3aWRzIGxv Z2ljLCBwYXJ0IDEKPiA+ICsjCj4gPiArIyBSZWNvdmVyIGVudmlyb25tZW50IG9uIG5leHQgdWV2 ZW50IGFmdGVyIHdhaXRpbmcgZm9yIHRoZSB0aW1lci4KPiA+ICsjIFRoaXMgaGFwcGVucyBvbmx5 IG9uY2UgYmVjYXVzZSBETV9NVUxUSVBBVEhfU0FWRURfRlNfVFlQRSB3aWxsCj4gPiBiZSBlbXB0 eQo+ID4gKyMgb24gc3Vic2VxdWVudCBldmVudHMuCj4gPiArCj4gPiArSU1QT1JUe2RifT0iRE1f TVVMVElQQVRIX1dBSVRfRE9ORSIKPiA+ICtJTVBPUlR7ZGJ9PSJETV9NVUxUSVBBVEhfU0FWRURf RlNfVFlQRSIKPiA+ICtFTlZ7RE1fTVVMVElQQVRIX1dBSVRfRE9ORX0hPSIxIiwgR09UTz0ic2tp cF9yZXN0b3JlIgo+ID4gK0VOVntETV9NVUxUSVBBVEhfU0FWRURfRlNfVFlQRX09PSIiLCBHT1RP PSJza2lwX3Jlc3RvcmUiCj4gPiArCj4gPiArIyBSZXNldCBpZiBpdCdzIG91ciBkdW1teSB2YWx1 ZSwgc2VlIGJlbG93Cj4gPiArRU5We0RNX01VTFRJUEFUSF9TQVZFRF9GU19UWVBFfT09ImRtX211 bHRpcGF0aF91bmtvd24iLAo+ID4gRU5We0RNX01VTFRJUEFUSF9TQVZFRF9GU19UWVBFfT0iIgo+ ID4gK0VOVntJRF9GU19UWVBFfT0iJGVudntETV9NVUxUSVBBVEhfU0FWRURfRlNfVFlQRX0iCj4g PiArRU5We0RNX01VTFRJUEFUSF9TQVZFRF9GU19UWVBFfT0iIgo+ID4gK0VOVntETV9NVUxUSVBB VEhfREVWSUNFX1BBVEh9PSIiCj4gPiArRU5We1NZU1RFTURfUkVBRFl9PSIiCj4gPiArCj4gPiAr IyBTcGVjaWFsIGNhc2U6Cj4gPiArIyBBbiAiYWRkIiBldmVudCBoYXBwZW5lZCB3aGlsZSB3ZSB3 ZXJlIHdhaXRpbmcgZm9yIHRoZSB0aW1lci4KPiA+ICsjIFRoaXMgaGFwcGVucyBkdXJpbmcgImNv bGRwbHVnIiBhZnRlciBzd2l0Y2hpbmcgcm9vdCBGUywgaWYgYQo+ID4gdGltZXIKPiA+ICsjIHN0 YXJ0ZWQgZHVyaW5nIGluaXRyYW1mcyBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZC4gV2UgbWF5 IG5vdAo+ID4gaGF2ZQo+ID4gKyMgd2FpdGVkIGxvbmcgZW5vdWdoOiB0cnkgYWdhaW4uCj4gPiAr QUNUSU9OPT0iYWRkIiwgRU5We0RNX01VTFRJUEFUSF9XQUlUX0RPTkV9PSIiCj4gPiArCj4gPiAr TEFCRUw9InNraXBfcmVzdG9yZSIKPiA+ICsKPiA+ICAjIG11bHRpcGF0aCAtdSBzZXRzIERNX01V TFRJUEFUSF9ERVZJQ0VfUEFUSAo+ID4gLUVOVntETV9NVUxUSVBBVEhfREVWSUNFX1BBVEh9IT0i MSIsCj4gPiBJTVBPUlQ9IiRlbnZ7TVBBVEhfU0JJTl9QQVRIfS9tdWx0aXBhdGggLXUgJWsiCj4g PiArRU5We0RNX01VTFRJUEFUSF9ERVZJQ0VfUEFUSH0hPSIxIiwKPiA+IElNUE9SVHtwcm9ncmFt fT0iJGVudntNUEFUSF9TQklOX1BBVEh9L211bHRpcGF0aCAtdSAlayIKPiA+ICBFTlZ7RE1fTVVM VElQQVRIX0RFVklDRV9QQVRIfT09IjEiLAo+ID4gRU5We0lEX0ZTX1RZUEV9PSJtcGF0aF9tZW1i ZXIiLCBcCj4gPiAtCUVOVntTWVNURU1EX1JFQURZfT0iMCIKPiA+ICsJRU5We1NZU1RFTURfUkVB RFl9PSIwIiwgR09UTz0iZW5kX21wYXRoIgo+ID4gKwo+ID4gKyMgZmluZF9tdWx0aXBhdGhzICsg aWdub3JlX3d3aWRzIGxvZ2ljLCBwYXJ0IDIKPiA+ICsjCj4gPiArIyBtdWx0aXBhdGggLXUgc2V0 cyBETV9NVUxUSVBBVEhfREVWSUNFX1BBVEg9MiBpZiBhIGRldmljZSBpcwo+ID4gIm1heWJlIgo+ ID4gKyMgYSBtdWx0aXBhdGggbWVtYmVyIChub3QgYmxhY2tsaXN0ZWQsIG9ubHkgb25lIHBhdGgg c2VlbikuCj4gPiArIyBJbiB0aGF0IGNhc2UsIHByZXRlbmQgdG8gYmUgYSBtdWx0aXBhdGggbWVt YmVyIChhbGxvd2luZwo+ID4gbXVsdGlwYXRoZAo+ID4gKyMgc29tZSB0aW1lIHRvIGdyYWIgdGhl IHBhdGgpLCBhbmQgY2hlY2sgYWdhaW4gYWZ0ZXIgc29tZSB0aW1lLgo+ID4gKyMgSWYgdGhlIHBh dGggaXMgc3RpbGwgbm90IG11bHRpcGF0aGVkIGJ5IHRoZW4sIHBhc3MgaXQgb24gdG8KPiA+IHN5 c3RlbWQKPiA+ICsjIGZvciBmdXJ0aGVyIHByb2Nlc3NpbmcuCj4gPiArIyBETV9NVUxUSVBBVEhf V0FJVF9ET05FIGVuc3VyZXMgdGhhdCB0aGlzIGhhcHBlbnMgb25seSBvbmNlLgo+ID4gKyMgKEJ1 dCBzZWUgInNwZWNpYWwgY2FzZSIgZXhjZXB0aW9uIGFib3ZlKS4KPiA+ICsKPiA+ICtFTlZ7RE1f TVVMVElQQVRIX1dBSVRfRE9ORX09PSIxIiwgR09UTz0iZW5kX21wYXRoIgo+ID4gK0VOVntETV9N VUxUSVBBVEhfREVWSUNFX1BBVEh9IT0iMiIsIEdPVE89ImVuZF9tcGF0aCIKPiA+ICsKPiA+ICsj IERlZmF1bHQgdGltZW91dCB2YWx1ZXMgZm9yIHRoZSB0aW1lci4gVXNlIGVhcmx5IHVkZXYgcnVs ZXMgZmlsZXMKPiA+IHRvIGN1c3RvbWl6ZS4KPiA+ICsjIFRpbWVvdXRzIGFyZSBpbiBzZWNvbmRz IGFmdGVyIHN5c3RlbSBib290LCBhbmQgc2Vjb25kcyBhZnRlcgo+ID4gZmlyc3QgcGF0aAo+ID4g KyMgZGlzY292ZXJ5LCByZXNwZWN0aXZlbHkuIFRoZSBlYXJsaWVyIHRpbWVvdXQgd2lucy4KPiA+ ICtFTlZ7RklORF9NVUxUSVBBVEhTX0JPT1RfVE1PfSE9Ij8qIiwKPiA+IEVOVntGSU5EX01VTFRJ UEFUSFNfQk9PVF9UTU99PSIxODAiCj4gPiArRU5We0ZJTkRfTVVMVElQQVRIU19QQVRIX1RNT30h PSI/KiIsCj4gPiBFTlZ7RklORF9NVUxUSVBBVEhTX1BBVEhfVE1PfT0iMzAiCj4gPiArCj4gPiAr RU5We0RNX01VTFRJUEFUSF9XQUlUX0RPTkV9PSIxIgo+ID4gK0VOVntETV9NVUxUSVBBVEhfU0FW RURfRlNfVFlQRX09IiRlbnZ7SURfRlNfVFlQRX0iCj4gPiArRU5We0RNX01VTFRJUEFUSF9TQVZF RF9GU19UWVBFfT09IiIsCj4gPiBFTlZ7RE1fTVVMVElQQVRIX1NBVkVEX0ZTX1RZUEV9PSJkbV9t dWx0aXBhdGhfdW5rb3duIgo+ID4gK0VOVntJRF9GU19UWVBFfT0ibWF5YmVfbXBhdGhfbWVtYmVy Igo+ID4gK0VOVntETV9NVUxUSVBBVEhfREVWSUNFX1BBVEh9PSIxIgo+ID4gK0VOVntTWVNURU1E X1JFQURZfT0iMCIKPiA+ICtSVU4rPSIvdXNyL2Jpbi9zeXN0ZW1kLXJ1biAtLWFjdGlvbiBjaGFu Z2UgLS1vbi1ib290Cj4gPiAkZW52e0ZJTkRfTVVMVElQQVRIU19CT09UX1RNT30gLS1vbi1hY3Rp dmUKPiA+ICRlbnZ7RklORF9NVUxUSVBBVEhTX1BBVEhfVE1PfSAvdXNyL2Jpbi91ZGV2YWRtIHRy aWdnZXIKPiA+ICRzeXMkZGV2cGF0aCIKPiA+ICAKPiA+ICBMQUJFTD0iZW5kX21wYXRoIgo+ID4g LS0gCj4gPiAyLjE1LjEKPiAKPiAKCi0tIApEci4gTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5j b20+LCBUZWwuICs0OSAoMCk5MTEgNzQwNTMgMjEwNwpTVVNFIExpbnV4IEdtYkgsIEdGOiBGZWxp eCBJbWVuZMO2cmZmZXIsIEphbmUgU21pdGhhcmQsIEdyYWhhbSBOb3J0b24KSFJCIDIxMjg0IChB RyBOw7xybmJlcmcpCgotLQpkbS1kZXZlbCBtYWlsaW5nIGxpc3QKZG0tZGV2ZWxAcmVkaGF0LmNv bQpodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vbGlzdGluZm8vZG0tZGV2ZWw=