From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Wilck Subject: Re: [PATCH 0/3] New approach at handling changed WWIDs Date: Tue, 19 Mar 2019 19:44:09 +0100 Message-ID: <402a4da867abb74c04511e98623e5abb6b144b7e.camel@suse.com> References: <20190318121235.8942-1-mwilck@suse.com> <20190319171115.GF13295@octiron.msp.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190319171115.GF13295@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 List-Id: dm-devel.ids T24gVHVlLCAyMDE5LTAzLTE5IGF0IDEyOjExIC0wNTAwLCBCZW5qYW1pbiBNYXJ6aW5za2kgd3Jv dGU6Cj4gT24gTW9uLCBNYXIgMTgsIDIwMTkgYXQgMDE6MTI6MzJQTSArMDEwMCwgTWFydGluIFdp bGNrIHdyb3RlOgo+ID4gSGkgQmVuLCBoaSBDaHJpc3RvcGhlLAo+ID4gCj4gPiBhZnRlciByZXZp ZXdpbmcgQmVuJ3MgbGFzdCBwYXRjaCBzZXQsIEkndmUgYmVlbiBwb25kZXJpbmcgb3ZlciB0aGUK PiA+IGhhbmRsaW5nIG9mIGNoYW5nZWQgV1dJRHMsIHdoaWNoIHNlZW1zIHRvIGhhdmUgYmVjb21l IGEgYml0IHRvbwo+ID4gY2xldmVyCj4gPiBhbmQgY29tcGxleCBmb3IgbXkgdGFzdGUsIGFuZCBJ IGNhbWUgdXAgd2l0aCB0aGlzIG5ldyBhcHByb2FjaAo+ID4gaW5zdGVhZC4KPiA+IAo+ID4gVEw7 RFI6IGluc3RlYWQgb2YgdHJlYXRpbmcgcGF0aHMgd2l0aCBjaGFuZ2VkIFdXSURzIGFzIGZhdWx0 eSwgYWN0Cj4gPiBhcyBpZiB0aGUgcGF0aCB3YXMgcmVtb3ZlZCwgYW5kIGFub3RoZXIgcGF0aCB3 YXMgdGhlbiBhZGRlZCBhbmQKPiA+IG9idGFpbmVkIHRoZSBkZXZpY2UgSUQgb2YgdGhlIHJlbW92 ZWQgcGF0aC4KPiA+IAo+ID4gTG9uZyB2ZXJzaW9uOgo+IAo+IE1pbmUgaXMgZXZlbiBsb25nZXIu IFNvcnJ5IDooCgpOUCwgYnV0IHlvdSdsbCBmb3JnaXZlIG1lIGZvciBzaG9ydGVuaW5nIGl0IGEg YSBiaXQgZm9yIG15IHJlcGx5IDotKQoKPiBXaGlsZSBJIGFncmVlIHRoYXQgYSBwYXRoJ3Mgd3dp ZCBjaGFuZ2luZyB0byBhIGRpZmZlcmVudCBub24tbnVsbAo+IHd3aWQKPiBpcyBhbHdheXMgYmFk LCBhbmQgcmVtb3ZpbmcgYW5kIHJlLWFkZGluZyB0aGUgcGF0aCBzZWVtcyBwZXJmZWN0bHkKPiBz ZW5zaWJsZSBmb3IgdGhhdCBzY2VuYXJpbywgSSd2ZSBjYW4gdGhpbmsgb2YgdHdvIG90aGVyIGNh c2Ugd2hlcmUKPiB0aGUKPiB3d2lkIGNhbiBjaGFuZ2UgdG8gbnVsbC4gIGQpIGEgY2hhbmdlIGV2 ZW50IGhhcHBlbnMgd2hpbGUgdGhlIHBhdGggaXMKPiBkb3duLiAgZSkgdGhlcmUgaXMgYSB1ZXZl bnQgc3Rvcm0gYW5kIHVkZXYgdGltZXMgb3V0IHdoaWxlIGhhbmRsaW5nIGEKPiBjaGFuZ2UgZXZl bnQuCj4gCj4gZCkgYW5kIGUpIHNlZW0gdG8gbWUgbGlrZSBieSBmYXIgdGhlIG1vc3QgbGlrZWx5 IHNjZW5hcmlvcywgc28gZG9pbmcKPiBzb21ldGhpbmcgc3Vib3B0aW1hbCBmb3IgdGhlbSwgaW4g b3JkZXIgdG8gb3B0aW1pemUgdGhlIHZlcnkgdW5saWtlbHkKPiBzY2VuYXJpb3Mgc2VlbXMgd3Jv bmcuCgpZb3UndmUgd29ya2VkIG9uIHRoaXMgZmFyIG1vcmUgdGhhbiBJIGRpZCwgc28gSSB0cnVz dCB5b3VyIGp1ZGdlbWVudC4KCk9uZSByZW1hcms6IFdpdGggdGhlIGtlcm5lbCBleHBvcnRpbmcg dGhlIFZQRCBwYWdlcyBpbiBzeXNmcwphbmQgbXkgbGF0ZSAibXVsdGlwYXRoIC11IiBwYXRjaCBz ZXJpZXMsIHVkZXYgc2hvdWxkIGJlIGFibGUgdG8gcHJvY2Vzcwp1ZXZlbnRzIGZvciBwYXRoIGRl dmljZXMgd2l0aG91dCBhIHNpbmdsZSBhY3R1YWwgZGV2aWNlIElPLiAoKikgCldoaWxlIHRoZXJl IGFyZSBzdGlsbCBwb3NzaWJsZSBjYXVzZXMgZm9yIHVkZXYgcHJvY2Vzc2luZyB0byBnZXQgc3R1 Y2ssCnRoaXMgd291bGQgbWFrZSBpdCBtdWNoIGxlc3MgbGlrZWx5LgoKPiA+IFdoYXQgcmVtYWlu cyB0byBiZSBjb25zaWRlcmVkIGlzIHdoYXQgQmVuIHdhcyBkZWFsaW5nIHdpdGggaW4gaGlzCj4g PiBsYXRlc3Qgc2V0LAo+ID4gYSBwZXJtYW5lbnQgb3IgdGVtcG9yYXJ5IGZhaWx1cmUgdG8gcmV0 cmlldmUgdGhlIFdXSUQsIHJlc3VsdGluZyBpbgo+ID4gYSAwLWxlbmd0aAo+ID4gV1dJRCB0byBi ZSByZXR1cm5lZC4gSU1PIGl0J3MgYWN0dWFsbHkgdGhlIGJlc3QgdGhpbmcgYWJvdXQgdGhpcwo+ ID4gbmV3IGFwcHJvYWNoCj4gPiB0aGF0IHRoaXMgZG9lc24ndCBuZWVkIHRvIGJlIHNwZWNpYWwt Y2FzZWQuIFRoZSBwYXRoIGluaXRpYWxpemF0aW9uCj4gPiBsb2dpYwo+ID4gdGhhdCB3ZSBhbHJl YWR5IGhhdmUgd291bGQgdGFrZSBjYXJlIG9mIGl0IHVzaW5nIHRoZQo+ID4gSU5JVF9NSVNTSU5H X1VERVYgbG9naWMuCj4gPiBFaXRoZXIgdGhlIFdXSUQgd291bGQgYmUgc3VjY2Vzc2Z1bGx5IHJl dHJpZXZlZCBldmVudHVhbGx5LCBpbgo+ID4gd2hpY2ggY2FzZSB0aGUKPiA+IHBhdGggd291bGQg YmUgcmUtYWRkZWQgdG8gdGhlIHByZXZpb3VzIG1hcCwgb3IgKGRlcGVuZGluZyBvbgo+ID4gY29u ZmlndXJhdGlvbikKPiA+IGFkZGVkIHRvIGEgbmV3IG1hcCBvciBsZWZ0IGFsb25lLiBPciB0aGUg ZmFpbHVyZSBpcyBwZXJtYW5lbnQsIGluCj4gPiB3aGljaCBjYXNlCj4gPiBtdWx0aXBhdGhkIHdv dWxkIGV2ZW50dWFsbHkgZ2l2ZSB1cCBhbmQgb3JwaGFuIHRoZSBwYXRoLiBBRkFJQ1MKPiA+IHRo aXMgd291bGQKPiA+IGJlIHRoZSAicmlnaHQgdGhpbmciIHRvIGRvIGluIGFsbCB0aGVzZSBkaWZm ZXJlbnQgY2FzZXMsIHdpdGhvdXQKPiA+IGFueQo+ID4gYWRkaXRpb25hbCBsb2dpYy4KPiAKPiBU aGlzIGlzIHdoZXJlIEkgZG9uJ3QgZnVsbHkgYWdyZWUuIEl0IG1lYW5zIHRoYXQgd2UgY2FuIGJl IHN0dWNrCj4gd2FpdGluZwo+IGZvciBhIHVldmVudCB0byBvY2N1ciB3aGVuIHRoZSBkZXZpY2Ug aGFzIGNvbWUgYmFjayB1cCwgaW5zdGVhZCBvZgo+IGp1c3QKPiByZXN0b3JpbmcgaXQuICBJIHdv dWxkIHJlYWxseSBsaWtlIHRvIGtlZXAgYXMgbGl0dGxlIGNvZGUgYXMgcG9zc2libGUKPiB0aGF0 IG5lZWRzIHRvIGdldCBydW4gYmVmb3JlIHdlIHJlc3RvcmUgYSB3b3JraW5nIHBhdGgsIGJlY2F1 c2UgdGhhdAo+IGNvdWxkIGJlLCBmb3IgaW5zdGFuY2UsIHRoZSBsYXN0IHBhdGggdG8geW91ciBy b290IGZpbGVzeXN0ZW0sIGFuZAo+IHlvdQo+IGNhbid0IHRvdWNoIGFueSBub24tY2FjaGVkIGZp bGVzIG9uIGl0LCB1bnRpbCB5b3UgcmVzdG9yZSB0aGF0IHBhdGguCj4gCj4gRXZlbiBhc2lkZSBm cm9tIHRoZSBleHRyZW1lIGNhc2UsIG11bHRpcGF0aGQgaXMgZG9pbmcgYSBsb3Qgb2YgZXh0cmEK PiB3b3JrLCBhbmQgcXVpdGUgcG9zc2libHkgYWRkaW5nIGEgbG90IG9mIGNvbmZ1c2luZyBsb2cg bWVzc2FnZXMsCj4gc2ltcGx5Cj4gYmVjYXVzZSBvZiBhbiB1bmZvcnR1bmF0ZWx5IHRpbWVkIGNo YW5nZSBldmVudC4KPiAgCj4gPiBOb3RlIGFsc28gdGhhdCBpZiBhICJyZWNvbmZpZ3VyZSIgd2Fz IGNhcnJpZWQgb3V0IGluIHRoZSBwcmVzZW5jZQo+ID4gb2YKPiA+IHBhdGhzIHdpdGggY2hhbmdl ZCBXV0lELCB0aGUgZmluYWwgb3V0Y29tZSB3b3VsZCBsaWtlbHkgYmUgdGhlIHNhbWUKPiA+IHRo YXQKPiA+IG15IHBhdGNoIG5vdyBhY2hpZXZlcyB3aXRob3V0ICJyZWNvbmZpZ3VyZSIuCj4gCj4g WWVhaC4gSSBqdXN0IGNoZWNrZWQsIGFuZCB0aGlzIGlzIHZlcnkgYnJva2VuLCBhbmQgc29tZXRo aW5nIG5lZWRzIHRvCj4gYmUKPiBkb25lIHRvIGZpeCBpdC4gIElmIGEgZGV2aWNlIGdldHMgYSBj aGFuZ2UgZXZlbnQgd2hpbGUgaXQncyBkb3duLCBpdAo+IHdpbGwgbm8gbG9uZ2VyIGhhdmUgdGhl IHVkZXYgcHJvcGVydGllcyBuZWNlc3NhcnkgdG8gbm90IGJlCj4gYmxhY2tsaXN0ZWQsCj4gc28g dGhlIGRldmljZSBnZXRzIGJsYWNrbGlzdGVkLCBhbmQgaWdub3JlZC4gIEV2ZW4gYWZ0ZXIgaXQg Y29tZXMKPiBiYWNrCj4gdXAgYW5kIGdlc3QgYW5vdGhlciBjaGFuZ2UgZXZlbnQgdG8gcmVzdG9y ZSB0aGVzZSB2YWx1ZXMsIG11bHRpcGF0aGQKPiBzdGlsbCBpZ25vcmVzIGl0LCBiZWNhdXNlIHRo ZSBkZXZpY2Ugd2FzIGJsYWNrbGlzdGVkIGR1cmluZyBpdHMgYWRkCj4gZXZlbnQuCgpJIHdhc24n dCBhd2FyZSBvZiB0aGF0LgoKPiBIb3dldmVyLCBpZiB5b3UganVzdCBzZXQgdGhlIHd3aWQgb2Yg YSBwYXRoIHRvIE5VTEwgYW5kIHJ1bgo+IHJlY29uZmlndXJlLAo+IGl0IHdpbGwgc3RheSBhZGRl ZCB0byB0aGUgbWFwLCBhbmQgZ2V0IGl0J3Mgd3dpZCByZXN0b3JlZCB0byB0aGUKPiBtdWx0aXBh dGggZGV2aWNlJ3Mgd3dpZCwgYmVjYXVzZSBjb25maWd1cmUoKSBjYWxscyBtYXBfZGlzY292ZXJ5 KCksCj4gd2hpY2ggZW5kcyB1cCBjYWxsaW5nIGRpc2Fzc2VtYmxlX21hcCgpLiBUaGlzIHdpbGwg c2V0IGEgTlVMTCBwYXRoCj4gd3dpZAo+IHRvIHRoZSBtdWx0aXBhdGggZGV2aWNlIHd3aWQsIHNp bmNlIGRpc2Fzc2VtYmxlX21hcCgpIGFzc3VtZXMgdGhhdAo+IE5VTEwKPiB3d2lkcyBqdXN0IG1l YW4gdGhhdCBtdWx0aXBhdGhkIGNvdWxkbid0IGdldCB0aGUgd3dpZCB0ZW1wb3JhcmlseS4KCk15 IHRoaW5raW5nIHdhcyB0aGF0IHJlY29uZmlndXJlIGNhbGxzIHBhdGhfZGlzY292ZXJ5KCksIHdo aWNoIHdvdWxkCmNhbGwgcGF0aGluZm8oKSBvbiBhbGwgYXZhaWxhYmxlIHBhdGhzIGFnYWluLiBJ IHVuZGVyc3RhbmQgbm93IC0gaWYKdGhlcmUgd2FzIGFuIGVycm9yIHByb2Nlc3NpbmcgdGhlIGxh c3QgdWV2ZW50IGZvciBhIGRldmljZSwgdGhlCmluZm9ybWF0aW9uIGluIHRoZSB1ZGV2IERCIHdp bGwgc3RpbGwgYmUgaW5jb21wbGV0ZSwgYW5kCnBhdGhfZGlzY292ZXJ5KCkgd2lsbCBvYnRhaW4g dGhlIHNhbWUgYnJva2VuIGluZm9ybWF0aW9uLCBwb3NzaWJseQpibGFja2xpc3RpbmcgdGhlIGRl dmljZS4gSSB0aG91Z2h0IHRoZSBXV0lEIG1pZ2h0IHRoZW4gYmUgcmVzdG9yZWQgYnkKdGhlIElO SVRfTUlTU0lOR19VREVWIGxvZ2ljLCBidXQgZGlzYXNzZW1ibGVfbWFwKCkgd291bGQgYWxtb3N0 CmNlcnRhaW5seSBjb21lIGZpcnN0LiBJJ20gbm90IHN1cmUgSSBsaWtlIGl0IHRoYXQgZGlzYXNz ZW1ibGVfbWFwKCkKdHJpZXMgdG8gZmlsbCBpbiBwYXRoIGluZm9ybWF0aW9uLiBJdCdzIG9rIHRv IGRvIHRoaXMgZm9yIHBhdGhzCnRoYXQgaGF2ZW4ndCBiZWVuIGRldGVjdGVkIGF0IGFsbCAocHAg PT0gTlVMTCBjYXNlKSBidXQgaW4gY2FzZSBvZgpwYXRocyB0aGF0IGFyZSBwcmVzZW50IGluIHRo ZSB1ZGV2IGRiLCBJJ20gdW5jZXJ0YWluLgoKVGhpcyB3b3VsZCBhbHNvIGFmZmVjdCB5b3VyIHRy ZWF0bWVudCBvZiAiV1dJRCBjaGFuZ2VkIHRvIHplcm8iLCBubz8KQW55IGNhbGwgdG8gc2V0dXBf bXVsdGlwYXRoKCkgb3IgdXBkYXRlX211bHRpcGF0aCgpIHdvdWxkIGNhbGwKZGlzYXNzZW1ibGVf bWFwKCksIHdoaWNoIHdvdWxkIHBvc3NpYmx5IG1lc3Mgd2l0aCB0aGUgcGF0aCdzIHd3aWQuLi4K Cgo+IAo+ID4gSSBjYXNlIEkndmUgY29tZSB0byB0aGUgd3JvbmcgY29uY2x1c2lvbnMgYmVjYXVz ZSBJIG92ZXJsb29rZWQKPiA+IHNvbWV0aGluZwo+ID4gZXNzZW50aWFsLCBwbGVhc2UgdGVsbCBt ZS4KPiA+IAo+ID4gR29pbmcgb25lIHN0ZXAgZnV0aGVyLCBJJ3ZlIGFjdHVhbGx5IGNvbWUgdG8g dGhpbmsgZGlmZmVyZW50bHkKPiA+IGFib3V0IHRoZQo+ID4gImZhbGxiYWNrIGxvZ2ljIiBmb3Ig dGhlIGNhc2UgdGhhdCBubyBXV0lEIGNhbiBiZSBvYnRhaW5lZCBmcm9tCj4gPiB1ZGV2LiBJCj4g PiBiZWxpZXZlIG5vdyB0aGF0IHN1Y2ggZmFsbGJhY2sgbG9naWMgc2hvdWxkIF9ub3RfIGJlIHVz ZWQuIFRoZQo+ID4gcG9pbnQgaXMgbm90Cj4gPiB0byBkZXJpdmUgX3NvbWVfIFdXSUQsIGJ1dCBf dGhlIHJpZ2h0IG9uZV8sIGFuZCB0aGF0J3MgdWRldidzIGpvYi4KPiA+IEJ1dCB1ZGV2Cj4gPiBj YW4gYmUgY3VzdG9taXplZCBpbiBjb21wbGV4IHdheXMgdGhhdCBtdWx0aXBhdGhkIGhhcyBubyBp ZGVhCj4gPiBhYm91dC4KPiA+IEluIHRoZSB3b3JzdCBjYXNlLCB3ZSdkIHJlY2VpdmUgc29tZSBX V0lEcyBmcm9tIHVkZXYgYW5kIHNvbWUgZnJvbQo+ID4gb3VyCj4gPiBvd24gbG9naWMsIGFuZCBj b21iaW5lIHBhdGhzIGludG8gYSBtYXAgd2hpY2ggd291bGRuJ3QgYWN1dGFsbHkKPiA+IGJlbG9u Zwo+ID4gdG9nZXRoZXIuIFRoZXJlZm9yZSBJIHZvdGUgZm9yIHJpcHBpbmcgb3V0IHRoZSBmYWxs YmFjayBsb2dpYwo+ID4gYWx0b2dldGhlcgo+ID4gYW5kIGRlcGVuZCBvbiB1ZGV2IGV4Y2x1c2l2 ZWx5IGZvciBXV0lEIGdlbmVyYXRpb24uIEkgaGF2ZW4ndAo+ID4gaW5jbHVkZWQgdGhpcwo+ID4g aW4gdGhlIGN1cnJlbnQgcGF0Y2ggc2V0IGluIG9yZGVyIG5vdCB0byBtYWtlIGl0IHRvbyBjb250 cm92ZXJzaWFsLgo+ID4gCj4gPiBUaGUgb25seSBwdXJwb3NlIGZvciB0aGUgZmFsbGJhY2sgbG9n aWMgdGhhdCBJIGNvdWxkIHNlZSBpcyB0bwo+ID4gcHJvdmlkZQo+ID4gYSBjb25maWd1cmF0aW9u IG9wdGlvbiB0byBmb3JjZSBtdWx0aXBhdGhkIHRvIF9hbHdheXNfIGRldGVybWluZQo+ID4gdGhl Cj4gPiBXV0lEIGJ5IGl0c2VsZiwgaWdub3JpbmcgdWRldiBkZXZpY2UgcHJvcGVydGllcy4KPiAK PiBJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJuLiAgVGhlcmUgYXJlIGN1cnJlbnRseSBzYWZlZ3Vh cmRzIChvYnZpb3VzbHkKPiBub3QgZm9vbHByb29mIG9uZXMpLiBUaGUgZmFsbGJhY2sgd3dpZCBo YXMgdG8gbWF0Y2ggdGhlIGV4aXN0aW5nCj4gd3dpZCwKPiBvdGhlcndpc2UgdGhlIHBhdGggZ2V0 cyBkaXNhYmxlZC4gSXQgc2VlbXMgdmVyeSB1bmxpa2VseSB0aGF0IGEgcGF0aAo+IGNvbmZpZ3Vy ZWQgdG8gdXNlIHRoZSBkZWZhdWx0IHVpZF9hdHRyaWJ1dGUsIHdoaWNoIHN3aXRjaGVkIHRvIHRo ZQo+IGZhbGxiYWNrIG1ldGhvZCBhbmQgc3RpbGwgZ290IHRoZSBzYW1lIHd3aWQsIHNob3VsZCBh Y3R1YWxseSBoYXZlIGEKPiBkaWZmZXJlbnQgdWRldiB3d2lkIHRoYW4gdGhlIG9uZSBpdCBwcmV2 aW91c2x5IGhhZCBhbmQgdGhhdCB0aGUKPiBmYWxsYmFjawo+IG1ldGhvZCBzdGlsbCBoYXMuICBB bHNvLCBvbmNlIGEgcGF0aCBzdGFydHMgdXNpbmcgdGhlIGZhbGxiYWNrCj4gbWV0aG9kLAo+IGl0 IGNsZWFycyB1aWRfYXR0cmlidXRlLCBzbyB0aGF0IGl0IGtlZXBzIHVzaW5nIHRoZSBmYWxsYmFj ayBtZXRob2QuCj4gCj4gQnV0IHRvIGdldCBiYWNrIHRvIGRlYWxpbmcgd2l0aCBjaGFuZ2VkIHd3 aWRzLCBJIGFncmVlIHdpdGggcmVtb3ZpbmcKPiBhbgo+IHJlLWFkZGluZyBhIGRldmljZSBpZiBp dCdzIHd3aWQgaGFzIGNoYW5nZWQuIFNvLCBsZWF2aW5nIHRoYXQgYXNpZGUsCj4gdGhlCj4gc3Rp Y2t5IHF1ZXN0aW9uIGlzICJ3aGF0IHRvIGRvIHdpdGggYSBwYXRoIHRoYXQgaGFzIGEgTlVMTCB3 d2lkPyIKPiAKPiBUaGVyZSBhcmUgYSBudW1iZXIgb2Ygb3B0aW9uczoKPiAKPiAxLiBJZ25vcmUg dGhlIE5VTEwgd3dpZC4gVGhpcyBpcyB3aGF0IG15IHBhdGNoIDA3IGRvZXMsIGFuZCBJJ2QgbGlr ZQo+IHRvCj4gbWFrZSB0aGUgY2FzZSBmb3IgdGhpcyB5ZXQgYWdhaW4uIAoKWW91J2QgcmV2ZXJ0 ZWQgdGhpcyBjaGFuZ2UgaW4geW91ciBwYXRjaCAxMiwgd2hpY2ggY29uZnVzZWQgbWUgcXVpdGUg YQpiaXQuIFdoYXQgaXMgeW91ciBwcmVmZXJlbmNlLCByZWFsbHk/Cgo+IEkgZmVlbCBwcmV0dHkg c3VyZSB0aGF0IGEgTlVMTCB3d2lkIG9uCj4gYSBjaGFuZ2UgZXZlbnQgaXMgYWxtb3N0IGFsd2F5 cyBnb2luZyB0byBvY2N1ciBiZWNhdXNlIHRoYXQgY2hhbmdlCj4gZXZlbnQKPiBoYXBwZW5lZCB3 aGVuIHRoZSBwYXRoIHdhcyBkb3duLiBJZiB0aGF0J3Mgbm90IHRoZSByZWFzb24sIHRoZW4gSQo+ IGJlbGlldmUgaXQgaXMgZWl0aGVyIHlvdXIgcmVhc29ucyBhKSBvciBjKSBmcm9tIGFib3ZlLiBh KSBpcyBub3QKPiBmaXhhYmxlLiBjKSBpcyBub3QgcmVhbGx5IG91ciBwcm9ibGVtLiBJdCdzIGEg c2VydmljZSB0byB0cnkgc2F2aW5nCj4gdGhlCj4gc3lzYWRtaW4gZnJvbSB0aGVpciBvd24gbWlz dGFrZXMuIEJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gbWFrZSBpdAo+IGZvb2xwcm9vZi4gSXQgaXMg YWx3YXlzIHBvc3NpYmxlIGZvciB0aGUgZGV2aWNlIHRvIGdldCByZW1hcHBlZCBhbmQKPiBzdGFy dCBnZXR0aW5nIElPIGJlZm9yZSBtdWx0aXBhdGhkIGV2ZXIgZ2V0cyB0aGUgdWV2ZW50LiBUaGUg YmVzdCB3ZQo+IGNhbgo+IGd1YXJhbnRlZSBpcyB0aGF0IHdlIHdpbGwgZXZlbnR1YWxseSBkZXRl Y3Qgd2hlbiB0aGlzIGhhcHBlbnMsIHJlcG9ydAo+IGl0LCBhbmQgc3RvcCBpdCBmcm9tIGRvaW5n IG1vcmUgZGFtYWdlLiAgR2l2ZW4gdGhpcywgSSB0aGluayBpdCdzCj4gcGVyZmVjdGx5IHJlYXNv bmFibGUgdG8ganVzdCBsZXQgTlVMTCB3d2lkcyBzbGlkZSwgYmVjYXVzZSB0aGF0J3MKPiB1c3Vz YWxseSB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIGFuZCBldmVyeXRoaW5nIGVsc2UgbWFrZXMgdGhl IGNvbW1vbgo+IGNhc2Ugd29yayB3b3JzZSwgd2hpbGUgc3RpbGwgbm90IHByb3ZpZGluZyBhIGd1 YXJhbnRlZSB0aGF0IHRoZSB3b3JzdAo+IGNhc2UgaXMgYXZvaWRlZC4gVGhpcyBpcyBzdGlsbCBt eSBwcmVmZXJyZWQgc29sdXRpb24uCj4gCj4gMi4gRmFpbCB0aGUgcGF0aCBvbiBhIE5VTEwgd3dp ZC4gSW4gdGhlIGNoZWNrZXIgbG9vcCwgd2hlbiB0aGUgcGF0aAo+IGlzCj4gdXAgYWdhaW4sIHJl LWF0dGVtcHQgdG8gZ2V0IHRoZSB3d2lkLiAgSG93ZXZlciwgc2luY2UgdGhlIHVkZXYKPiBpbmZv cm1hdGlvbiB3ZSBoYXZlIHdvbid0IGNvbnRhaW4gdGhlIG5ldyB3d2lkLCB1c2UgdGhlIGZhbGxi YWNrCj4gaW5mb3JtYXRpb24uIFRoaXMgaXMgbXkgcGF0Y2ggMTIsIGFuZCBJIGFncmVlIHRoYXQg dGhlcmUgY291bGQgYmUKPiBpc3N1ZXMKPiB3aXRoIHRoZSBmYWxsYmFjayB3d2lkIGJlaW5nIGRl dGVybWluZWQgZGlmZmVyZW50bHksIGFsdGhvdWdoIGxpa2UgSQo+IG1lbnRpb25lZCBhYm92ZSwg bXVsdGlwYXRoZCB0cmllcyB0byBkZWFsIHdpdGggdGhlbS4KPiAKPiAzLiBGYWlsIHRoZSBwYXRo IG9uIGEgTlVMTCB3d2lkLiBJbiB0aGUgY2hlY2tlciBsb29wLCB3aGVuIHRoZSBwYXRoCj4gaXMK PiB1cCBhZ2FpbiwgdHJpZ2dlciBhIGNoYW5nZSB1ZXZlbnQgdG8gZ2V0IHRoZSBuZXcgaW5mb3Jt YXRpb24uIFRoaXMKPiBkZWxheXMgcmVzdG9yaW5nIGEgcGF0aCBvbmNlIGl0J3MgdXAsIGFuZCBp bmNyZWFzZXMgdGhlIG51bWJlciBvZgo+IHRoaW5ncwo+IG91dHNpZGUgb2YgbXVsdGlwYXRoZCdz IGNvbnRyb2wgdGhhdCBjb3VsZCBnbyB3cm9uZyB3aGljaCB3b3VsZCBrZWVwCj4gdGhlCj4gcGF0 aCBmcm9tIGdldHRpbmcgcmVzdG9yZWQgKHVkZXYgdGltZW91dHMsIGluYWJpbGl0eSBmb3IgdWRl diB0bwo+IGNvbXBsZXRlLCBiZWNhdXNlIGFjY2VzcyB0byBhIG5lY2Vzc2FyeSBkZXZpY2UgaXMg ZG93bikuCj4gCj4gNC4gU29tZSBzb3J0IG9mIGh5YnJpZCBvZiAyIGFuZCAzLCB3aGVyZSBkZXZp Y2VzIGNhbiBlaXRoZXIgZ2V0IHRoZWlyCj4gd3dpZCBmcm9tIHVkZXYgb3IgZGlyZWN0bHkgZnJv bSB0aGUgZGV2aWNlLCBhbmQgZGVwZW5kaW5nIG9uIGhvdyB0aGV5Cj4gZ2V0IHRoZWlyIHd3aWQs IGJ5IG5lY2Vzc2l0eSB0aGV5IGRvIGRpZmZlcmVudCB0aGluZ3MuIFRoaXMgaXMKPiB3b3JrYWJs ZQo+IGJ1dCBhIGxvdCBvZiBjb2RlIGZvciBzb21ldGhpbmcgdGhhdCBpcyBqdXN0IGEgYmVzdC1l ZmZvcnQgYXR0ZW1wdCB0bwo+IHByb3RlY3Qgc3lzYWRtaW5zIGZyb20gdGhlbXNlbHZlcy4KCllv dSBoYXZlIGFyZ3VlZCB3ZWxsIHRoYXQgMi4gaXMgYmVzdCBmb3IgcmUtYWNxdWlyaW5nIGEgcmVh c29uYWJsZSBXV0lECnF1aWNrbHkuIEFueXdheSwgSSBkb24ndCB0aGluayBpdCdzIGhlYWx0aHkg aWYgdGhlIHVkZXYgaW5mb3JtYXRpb24gaXMKd3JvbmcgZm9yIGEgZGV2aWNlLCBhbmQgcmVtYWlu cyB3cm9uZy4gVGh1cywgSU1PLCBhbm90aGVyIGNoYW5nZSBldmVudApzaG91bGQgYmUgdHJpZ2dl cmVkIGFueXdheSwgaG9waW5nIHRvIHJlc3RvcmUgYSBzdGF0ZSB3aGVyZSB1ZGV2CnByb3BlcnRp ZXMgY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBkZXZpY2UuIElmIHRoZSBicm9rZW4gSUQgaXMgcmVh bGx5Cmp1c3QgdGhlIHJlc3VsdCBvZiBiYWQgdGltaW5nIGFzIHlvdSBzdWdnZXN0LCB0aGF0IHNo b3VsZCBsaWtlbHkgYmUKc3VjY2Vzc2Z1bC4gU29tZSBjYXJlIG1heSBiZSBuZWVkZWQgdG8gbWFr ZSBzdXJlIHRoYXQgd2UgZG9uJ3QgY29uZnVzZQpvdXJzZWx2ZXMgd2l0aCB0aGF0IHNlbGYtZ2Vu ZXJhdGVkIHVldmVudC4KCj4gNC4gQ29tcGxldGVseSByZW1vdmUgdGhlIHBhdGgsIGFuZCB0cnkg dG8gcmUtYWRkIGl0LiAgVGhpcyBtZXRob2QKPiB3aWxsCj4gbGlrZWx5IGNhdXNlIGF0IGxlYXN0 IGFzIG11Y2ggZGVsYXkgYXMgMywgd2l0aCBhbiBldmVuIGxhcmdlciBjaGFuY2UKPiB0aGF0IHNv bWV0aGluZyBnb2VzIHdyb25nIGFuZCBrZWVwcyBhY2Nlc3MgZnJvbSBiZWluZyByZXN0b3JlZC4K PiBUaGF0J3MKPiBjb21wbGV0ZWx5IGZpbmUgaWYgdGhlIHd3aWQgaGFzIGNoYW5nZWQgdG8gc29t ZXRoaW5nIGVsc2UsIGJ1dCBJCj4gcmVhbGx5Cj4gZG9uJ3QgbGlrZSBoYXZpbmcgdG8gZG8gYWxs IHRoYXQgd29yayBqdXN0IGJlY2F1c2UgYSBjaGFuZ2UgZXZlbnQKPiBvY2N1cnJlZCBvbiBhIGRl dmljZSB0aGF0IHdhcyBkb3duLgo+IAo+IFRob3VnaHRzPwoKTGV0J3MgZ28gZm9yIHRoZSByZW1v dmFsIGFuZCByZS1hZGRpdGlvbiBmb3IgdGhlIG5vbi1OVUxMIGNoYW5nZWQgV1dJRApjYXNlLCBh bmQgdXNlIHRoZSBxdWljayBwYXRoIGZvciB0aGUgTlVMTC1XV0lEIGNhc2UgKG1heWJlIHdlIGNv dWxkCmV2ZW4gdHJ5IHRoZSAiZmFsbGJhY2siIGltbWVkaWF0ZWx5IGluIHVldl91cGRhdGVfcGF0 aCgpPykuCgpZb3UgaGF2ZSBhIG1vcmUgY29tcGxldGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgd2hv bGUgaXNzdWUgdGhhbiBtZSwgc28gSQp0cnVzdCB0aGF0IHlvdSdsbCBjb21lIHVwIHdpdGggYSB2 MyBzZXJpZXMgYWRkcmVzc2luZyBhbGwgdGhlc2UgaXNzdWVzLgoKUmVnYXJkcwpNYXJ0aW4KCigq KSBUaGlzIHdvcmtzIG9ubHkgaWYgdGhlIHRvb2wgdXNlZCB0byByZXRyaWV2ZSB0aGUgVlBEcyBz dXBwb3J0CnJlYWRpbmcgZnJvbSBzeXNmcywgb2YgY291cnNlLCBhcyBzZ19pbnEgZG9lcyAoc2Nz aV9pZCBkb2VzIG5vdCwKY3VycmVudGx5KS4KCi0tIApEci4gTWFydGluIFdpbGNrIDxtd2lsY2tA c3VzZS5jb20+LCBUZWwuICs0OSAoMCk5MTEgNzQwNTMgMjEwNwpTVVNFIExpbnV4IEdtYkgsIEdG OiBGZWxpeCBJbWVuZMO2cmZmZXIsIEphbmUgU21pdGhhcmQsIEdyYWhhbSBOb3J0b24KSFJCIDIx Mjg0IChBRyBOw7xybmJlcmcpCgoKLS0KZG0tZGV2ZWwgbWFpbGluZyBsaXN0CmRtLWRldmVsQHJl ZGhhdC5jb20KaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2RtLWRldmVs