From blanchet at abes.fr Mon Jan 23 13:20:28 2017 Content-Type: multipart/mixed; boundary="===============5706163020655478163==" MIME-Version: 1.0 From: =?utf-8?q?Nathana=C3=ABl_Blanchet_=3Cblanchet_at_abes=2Efr=3E?= To: users at ovirt.org Subject: Re: [ovirt-users] packages that can be updated without maintening hosts Date: Mon, 23 Jan 2017 14:20:27 +0100 Message-ID: In-Reply-To: CAJgorsZscAF9uQ=WcjwFEg0EB1XNOEV2Abnrr0NxNiKZrpHwaA@mail.gmail.com --===============5706163020655478163== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------E83A5F83A0804BCBACCC816A Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed Content-Transfer-Encoding: quoted-printable Le 23/01/2017 =3DC3=3DA0 13:08, Yaniv Kaul a =3DC3=3DA9crit : > > > On Mon, Jan 23, 2017 at 1:38 PM, Nathana=3DC3=3DABl Blanchet > wrote: > > Hi > > The update notifier in the webadmin was originally designed to > alert for new vdsm* packages. Now, I noticed that available update > of virt packages and more are notified. I know that hot updating > qemu-kvm package does break vms that are running on concerned > hosts, but what about other one like libvirt-client? I know it is > recommended to put in maintenance while updating, but can we > update some minor packages without waiting for migration? > > > Hot-updating any package should not break any running VMs. If it does,=3D= 20 > it's a bug. The last time I did a qemu-kvm upgrade, my host became down and the vms=3D20 on it with a question mark and no possibility to interact with them. My=3D20 only solution was to use the "confirm host has rebooted" to fence the=3D20 vms, and then the nightmare began : the high availaible vms rebooted on=3D20 an other host while they were still active on the first one, so they=3D20 were up on two hosts at the same time. Their disk began to be written by=3D= 20 two vms at the same time and I had to fscsk them to make them up on the=3D20 next boot. Some database vms were completely unusabled! So I'm very surprised to hear that it is possible to do hot-updating on=3D20 these kind of upgrade, and I won't do it anymore! > I personally agree it's not the best habit to do it nevertheless, and=3D20 > I expect users to put hosts to maintenance before performing any upgrad= =3D e. > > We cannot tell which update requires maintenance and which doesn't (or=3D= 20 > for that matter - requires a reboot or a service restart) - there's no=3D= 20 > metadata available to do attached to the packages that can tell us that= =3D . > Y. > > > > --=3D20 > Nathana=3DC3=3DABl Blanchet > > Supervision r=3DC3=3DA9seau > P=3DC3=3DB4le Infrastrutures Informatiques > 227 avenue Professeur-Jean-Louis-Viala > 34193 MONTPELLIER CEDEX 5 > T=3DC3=3DA9l. 33 (0)4 67 54 84 55 > Fax 33 (0)4 67 54 84 14 > blanchet(a)abes.fr > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > > --=3D20 Nathana=3DC3=3DABl Blanchet Supervision r=3DC3=3DA9seau P=3DC3=3DB4le Infrastrutures Informatiques 227 avenue Professeur-Jean-Louis-Viala 34193 MONTPELLIER CEDEX 5 =3D09 T=3DC3=3DA9l. 33 (0)4 67 54 84 55 Fax 33 (0)4 67 54 84 14 blanchet(a)abes.fr --------------E83A5F83A0804BCBACCC816A Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: quoted-printable



Le 23/01/2017 =3DC3=3DA0 13:08, Yaniv = Kaul=3D a =3DC3=3DA9crit=3DC2=3DA0:


On Mon, Jan 23, 2017 at 1:38 PM, Nathana=3DC3=3DABl Blanchet <blanchet(a)abes.fr> w= rote=3D :
Hi

The update notifier in the webadmin was originally designed to alert for new vdsm* packages. Now, I noticed that available update of virt packages and more are notified. I know that hot updating qemu-kvm package does break vms that are running on concerned hosts, but what about other one like libvirt-client? I know it is recommended to put in maintenance while updating, but can we update some minor packages without waiting for migration?

Hot-updating any package should not break any running VMs. If it does, it's a bug.
The last time I did a qemu-kvm upgrade, my host became down and the vms on it with a question mark and no possibility to interact with them. My only solution was to use the "confirm host has rebooted" to fence the vms, and then the nightmare began : the high availaible vms rebooted on an other host while they were still active on the first one, so they were up on two hosts at the same time. Their disk began to be written by two vms at the same time and I had to fscsk them to make them up on the next boot. Some database vms were completely unusabled!

So I'm very surprised to hear that it is possible to do=3DC2=3DA0 hot-updating on these kind of upgrade, and I won't do it anymore!
I personally agree it's not the best habit to do it nevertheless, and I expect users to put hosts to maintenance before performing any upgrade.

We cannot tell which update requires maintenance and which doesn't (or for that matter - requires a reboot or a service restart) - there's no metadata available to do attached to the packages that can tell us that.
Y.
=3DC2=3DA0


--
Nathana=3DC3=3DABl Blanchet

Supervision r=3DC3=3DA9seau
P=3DC3=3DB4le Infrastrutures Informatiques
227 avenue Professeur-Jean-Louis-Viala
34193 MONTPELLIER CEDEX 5=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3D= C2=3DA0
T=3DC3=3DA9l. 33 (0)4 67 54 84 55
Fax=3DC2=3DA0 33 (0)4 67 54 84 14
blanchet(a)abes.fr

_______________________________________________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt= .o=3D rg/mailman/listinfo/users


--=3D20
Nathana=3DC3=3DABl Blanchet

Supervision r=3DC3=3DA9seau
P=3DC3=3DB4le Infrastrutures Informatiques
227 avenue Professeur-Jean-Louis-Viala
34193 MONTPELLIER CEDEX 5 =3D09
T=3DC3=3DA9l. 33 (0)4 67 54 84 55
Fax  33 (0)4 67 54 84 14
bl=3D
anchet(a)abes.fr 
--------------E83A5F83A0804BCBACCC816A-- --===============5706163020655478163== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS1FODNBNUY4M0EwODA0QkNCQUNDQzgxNkEKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3Rl ZC1wcmludGFibGUKCgoKTGUgMjMvMDEvMjAxNyA9QzM9QTAgMTM6MDgsIFlhbml2IEthdWwgYSA9 QzM9QTljcml0IDoKPgo+Cj4gT24gTW9uLCBKYW4gMjMsIDIwMTcgYXQgMTozOCBQTSwgTmF0aGFu YT1DMz1BQmwgQmxhbmNoZXQgPGJsYW5jaGV0QGFiZXM9Ci5mcj0yMAo+IDxtYWlsdG86YmxhbmNo ZXRAYWJlcy5mcj4+IHdyb3RlOgo+Cj4gICAgIEhpCj4KPiAgICAgVGhlIHVwZGF0ZSBub3RpZmll ciBpbiB0aGUgd2ViYWRtaW4gd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgdG8KPiAgICAgYWxlcnQg Zm9yIG5ldyB2ZHNtKiBwYWNrYWdlcy4gTm93LCBJIG5vdGljZWQgdGhhdCBhdmFpbGFibGUgdXBk YXRlCj4gICAgIG9mIHZpcnQgcGFja2FnZXMgYW5kIG1vcmUgYXJlIG5vdGlmaWVkLiBJIGtub3cg dGhhdCBob3QgdXBkYXRpbmcKPiAgICAgcWVtdS1rdm0gcGFja2FnZSBkb2VzIGJyZWFrIHZtcyB0 aGF0IGFyZSBydW5uaW5nIG9uIGNvbmNlcm5lZAo+ICAgICBob3N0cywgYnV0IHdoYXQgYWJvdXQg b3RoZXIgb25lIGxpa2UgbGlidmlydC1jbGllbnQ/IEkga25vdyBpdCBpcwo+ICAgICByZWNvbW1l bmRlZCB0byBwdXQgaW4gbWFpbnRlbmFuY2Ugd2hpbGUgdXBkYXRpbmcsIGJ1dCBjYW4gd2UKPiAg ICAgdXBkYXRlIHNvbWUgbWlub3IgcGFja2FnZXMgd2l0aG91dCB3YWl0aW5nIGZvciBtaWdyYXRp b24/Cj4KPgo+IEhvdC11cGRhdGluZyBhbnkgcGFja2FnZSBzaG91bGQgbm90IGJyZWFrIGFueSBy dW5uaW5nIFZNcy4gSWYgaXQgZG9lcyw9MjAKPiBpdCdzIGEgYnVnLgpUaGUgbGFzdCB0aW1lIEkg ZGlkIGEgcWVtdS1rdm0gdXBncmFkZSwgbXkgaG9zdCBiZWNhbWUgZG93biBhbmQgdGhlIHZtcz0y MApvbiBpdCB3aXRoIGEgcXVlc3Rpb24gbWFyayBhbmQgbm8gcG9zc2liaWxpdHkgdG8gaW50ZXJh Y3Qgd2l0aCB0aGVtLiBNeT0yMApvbmx5IHNvbHV0aW9uIHdhcyB0byB1c2UgdGhlICJjb25maXJt IGhvc3QgaGFzIHJlYm9vdGVkIiB0byBmZW5jZSB0aGU9MjAKdm1zLCBhbmQgdGhlbiB0aGUgbmln aHRtYXJlIGJlZ2FuIDogdGhlIGhpZ2ggYXZhaWxhaWJsZSB2bXMgcmVib290ZWQgb249MjAKYW4g b3RoZXIgaG9zdCB3aGlsZSB0aGV5IHdlcmUgc3RpbGwgYWN0aXZlIG9uIHRoZSBmaXJzdCBvbmUs IHNvIHRoZXk9MjAKd2VyZSB1cCBvbiB0d28gaG9zdHMgYXQgdGhlIHNhbWUgdGltZS4gVGhlaXIg ZGlzayBiZWdhbiB0byBiZSB3cml0dGVuIGJ5PTIwCnR3byB2bXMgYXQgdGhlIHNhbWUgdGltZSBh bmQgSSBoYWQgdG8gZnNjc2sgdGhlbSB0byBtYWtlIHRoZW0gdXAgb24gdGhlPTIwCm5leHQgYm9v dC4gU29tZSBkYXRhYmFzZSB2bXMgd2VyZSBjb21wbGV0ZWx5IHVudXNhYmxlZCEKClNvIEknbSB2 ZXJ5IHN1cnByaXNlZCB0byBoZWFyIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gZG8gaG90LXVwZGF0 aW5nIG9uPTIwCnRoZXNlIGtpbmQgb2YgdXBncmFkZSwgYW5kIEkgd29uJ3QgZG8gaXQgYW55bW9y ZSEKPiBJIHBlcnNvbmFsbHkgYWdyZWUgaXQncyBub3QgdGhlIGJlc3QgaGFiaXQgdG8gZG8gaXQg bmV2ZXJ0aGVsZXNzLCBhbmQ9MjAKPiBJIGV4cGVjdCB1c2VycyB0byBwdXQgaG9zdHMgdG8gbWFp bnRlbmFuY2UgYmVmb3JlIHBlcmZvcm1pbmcgYW55IHVwZ3JhZD0KZS4KPgo+IFdlIGNhbm5vdCB0 ZWxsIHdoaWNoIHVwZGF0ZSByZXF1aXJlcyBtYWludGVuYW5jZSBhbmQgd2hpY2ggZG9lc24ndCAo b3I9MjAKPiBmb3IgdGhhdCBtYXR0ZXIgLSByZXF1aXJlcyBhIHJlYm9vdCBvciBhIHNlcnZpY2Ug cmVzdGFydCkgLSB0aGVyZSdzIG5vPTIwCj4gbWV0YWRhdGEgYXZhaWxhYmxlIHRvIGRvIGF0dGFj aGVkIHRvIHRoZSBwYWNrYWdlcyB0aGF0IGNhbiB0ZWxsIHVzIHRoYXQ9Ci4KPiBZLgo+Cj4KPgo+ ICAgICAtLT0yMAo+ICAgICBOYXRoYW5hPUMzPUFCbCBCbGFuY2hldAo+Cj4gICAgIFN1cGVydmlz aW9uIHI9QzM9QTlzZWF1Cj4gICAgIFA9QzM9QjRsZSBJbmZyYXN0cnV0dXJlcyBJbmZvcm1hdGlx dWVzCj4gICAgIDIyNyBhdmVudWUgUHJvZmVzc2V1ci1KZWFuLUxvdWlzLVZpYWxhCj4gICAgIDM0 MTkzIE1PTlRQRUxMSUVSIENFREVYIDUKPiAgICAgVD1DMz1BOWwuIDMzICgwKTQgNjcgNTQgODQg NTUKPiAgICAgRmF4ICAzMyAoMCk0IDY3IDU0IDg0IDE0Cj4gICAgIGJsYW5jaGV0QGFiZXMuZnIg PG1haWx0bzpibGFuY2hldEBhYmVzLmZyPgo+Cj4gICAgIF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gICAgIFVzZXJzIG1haWxpbmcgbGlzdAo+ICAgICBV c2Vyc0BvdmlydC5vcmcgPG1haWx0bzpVc2Vyc0BvdmlydC5vcmc+Cj4gICAgIGh0dHA6Ly9saXN0 cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vycwo+ICAgICA8aHR0cDovL2xpc3RzLm92 aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPgo+Cj4KCi0tPTIwCk5hdGhhbmE9QzM9QUJs IEJsYW5jaGV0CgpTdXBlcnZpc2lvbiByPUMzPUE5c2VhdQpQPUMzPUI0bGUgSW5mcmFzdHJ1dHVy ZXMgSW5mb3JtYXRpcXVlcwoyMjcgYXZlbnVlIFByb2Zlc3NldXItSmVhbi1Mb3Vpcy1WaWFsYQoz NDE5MyBNT05UUEVMTElFUiBDRURFWCA1ID0wOQpUPUMzPUE5bC4gMzMgKDApNCA2NyA1NCA4NCA1 NQpGYXggIDMzICgwKTQgNjcgNTQgODQgMTQKYmxhbmNoZXRAYWJlcy5mcgoKCi0tLS0tLS0tLS0t LS0tRTgzQTVGODNBMDgwNEJDQkFDQ0M4MTZBCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFy c2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKCjxo dG1sPgogIDxoZWFkPgogICAgPG1ldGEgY29udGVudD0zRCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9M0R1 dGYtOCIgaHR0cC1lcXVpdj0zRCJDb250ZW50LVR5PQpwZSI+CiAgPC9oZWFkPgogIDxib2R5IHRl eHQ9M0QiIzAwMDAwMCIgYmdjb2xvcj0zRCIjRkZGRkZGIj4KICAgIDxwPjxicj4KICAgIDwvcD4K ICAgIDxicj4KICAgIDxkaXYgY2xhc3M9M0QibW96LWNpdGUtcHJlZml4Ij5MZSAyMy8wMS8yMDE3 ID1DMz1BMCAxMzowOCwgWWFuaXYgS2F1bD0KIGEKICAgICAgPUMzPUE5Y3JpdD1DMj1BMDo8YnI+ CiAgICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlCmNpdGU9M0QibWlkOkNBSmdvcnNac2NBRjl1UT0z RFdjandGRWcwRUIxWE5PRVYyQWJucnIwTnhOaUtacnBId2FBQG1haWwuZ209CmFpbC5jb20iCiAg ICAgIHR5cGU9M0QiY2l0ZSI+CiAgICAgIDxkaXYgZGlyPTNEImx0ciI+PGJyPgogICAgICAgIDxk aXYgY2xhc3M9M0QiZ21haWxfZXh0cmEiPjxicj4KICAgICAgICAgIDxkaXYgY2xhc3M9M0QiZ21h aWxfcXVvdGUiPk9uIE1vbiwgSmFuIDIzLCAyMDE3IGF0IDE6MzggUE0sCiAgICAgICAgICAgIE5h dGhhbmE9QzM9QUJsIEJsYW5jaGV0IDxzcGFuIGRpcj0zRCJsdHIiPiZsdDs8YQogICAgICAgICAg ICAgICAgbW96LWRvLW5vdC1zZW5kPTNEInRydWUiIGhyZWY9M0QibWFpbHRvOmJsYW5jaGV0QGFi ZXMuZnIiCiAgICAgICAgICAgICAgICB0YXJnZXQ9M0QiX2JsYW5rIj48YSBjbGFzcz0zRCJtb3ot dHh0LWxpbmstYWJicmV2aWF0ZWQiIGg9CnJlZj0zRCJtYWlsdG86YmxhbmNoZXRAYWJlcy5mciI+ YmxhbmNoZXRAYWJlcy5mcjwvYT48L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU9Cjo8YnI+CiAgICAgICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPTNEImdtYWlsX3F1b3RlIiBzdHlsZT0zRCJtYXJnaW46MCAw IDAKICAgICAgICAgICAgICAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct bGVmdDoxZXgiPkhpPGJyPgogICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICBUaGUgdXBk YXRlIG5vdGlmaWVyIGluIHRoZSB3ZWJhZG1pbiB3YXMgb3JpZ2luYWxseQogICAgICAgICAgICAg IGRlc2lnbmVkIHRvIGFsZXJ0IGZvciBuZXcgdmRzbSogcGFja2FnZXMuIE5vdywgSSBub3RpY2Vk CiAgICAgICAgICAgICAgdGhhdCBhdmFpbGFibGUgdXBkYXRlIG9mIHZpcnQgcGFja2FnZXMgYW5k IG1vcmUgYXJlCiAgICAgICAgICAgICAgbm90aWZpZWQuIEkga25vdyB0aGF0IGhvdCB1cGRhdGlu ZyBxZW11LWt2bSBwYWNrYWdlIGRvZXMKICAgICAgICAgICAgICBicmVhayB2bXMgdGhhdCBhcmUg cnVubmluZyBvbiBjb25jZXJuZWQgaG9zdHMsIGJ1dCB3aGF0CiAgICAgICAgICAgICAgYWJvdXQg b3RoZXIgb25lIGxpa2UgbGlidmlydC1jbGllbnQ/IEkga25vdyBpdCBpcwogICAgICAgICAgICAg IHJlY29tbWVuZGVkIHRvIHB1dCBpbiBtYWludGVuYW5jZSB3aGlsZSB1cGRhdGluZywgYnV0IGNh bgogICAgICAgICAgICAgIHdlIHVwZGF0ZSBzb21lIG1pbm9yIHBhY2thZ2VzIHdpdGhvdXQgd2Fp dGluZyBmb3IKICAgICAgICAgICAgICBtaWdyYXRpb24/PGJyPgogICAgICAgICAgICA8L2Jsb2Nr cXVvdGU+CiAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg ICAgPGRpdj5Ib3QtdXBkYXRpbmcgYW55IHBhY2thZ2Ugc2hvdWxkIG5vdCBicmVhayBhbnkgcnVu bmluZwogICAgICAgICAgICAgIFZNcy4gSWYgaXQgZG9lcywgaXQncyBhIGJ1Zy48L2Rpdj4KICAg ICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvYmxvY2txdW90 ZT4KICAgIFRoZSBsYXN0IHRpbWUgSSBkaWQgYSBxZW11LWt2bSB1cGdyYWRlLCBteSBob3N0IGJl Y2FtZSBkb3duIGFuZCB0aGUKICAgIHZtcyBvbiBpdCB3aXRoIGEgcXVlc3Rpb24gbWFyayBhbmQg bm8gcG9zc2liaWxpdHkgdG8gaW50ZXJhY3Qgd2l0aAogICAgdGhlbS4gTXkgb25seSBzb2x1dGlv biB3YXMgdG8gdXNlIHRoZSAiY29uZmlybSBob3N0IGhhcyByZWJvb3RlZCIgdG8KICAgIGZlbmNl IHRoZSB2bXMsIGFuZCB0aGVuIHRoZSBuaWdodG1hcmUgYmVnYW4gOiB0aGUgaGlnaCBhdmFpbGFp YmxlCiAgICB2bXMgcmVib290ZWQgb24gYW4gb3RoZXIgaG9zdCB3aGlsZSB0aGV5IHdlcmUgc3Rp bGwgYWN0aXZlIG9uIHRoZQogICAgZmlyc3Qgb25lLCBzbyB0aGV5IHdlcmUgdXAgb24gdHdvIGhv c3RzIGF0IHRoZSBzYW1lIHRpbWUuIFRoZWlyIGRpc2sKICAgIGJlZ2FuIHRvIGJlIHdyaXR0ZW4g YnkgdHdvIHZtcyBhdCB0aGUgc2FtZSB0aW1lIGFuZCBJIGhhZCB0byBmc2NzawogICAgdGhlbSB0 byBtYWtlIHRoZW0gdXAgb24gdGhlIG5leHQgYm9vdC4gU29tZSBkYXRhYmFzZSB2bXMgd2VyZQog ICAgY29tcGxldGVseSB1bnVzYWJsZWQhPGJyPgogICAgPGJyPgogICAgU28gSSdtIHZlcnkgc3Vy cHJpc2VkIHRvIGhlYXIgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBkbz1DMj1BMAogICAgaG90LXVw ZGF0aW5nIG9uIHRoZXNlIGtpbmQgb2YgdXBncmFkZSwgYW5kIEkgd29uJ3QgZG8gaXQgYW55bW9y ZSE8YnI+CiAgICA8YmxvY2txdW90ZQpjaXRlPTNEIm1pZDpDQUpnb3JzWnNjQUY5dVE9M0RXY2p3 RkVnMEVCMVhOT0VWMkFibnJyME54TmlLWnJwSHdhQUBtYWlsLmdtPQphaWwuY29tIgogICAgICB0 eXBlPTNEImNpdGUiPgogICAgICA8ZGl2IGRpcj0zRCJsdHIiPgogICAgICAgIDxkaXYgY2xhc3M9 M0QiZ21haWxfZXh0cmEiPgogICAgICAgICAgPGRpdiBjbGFzcz0zRCJnbWFpbF9xdW90ZSI+CiAg ICAgICAgICAgIDxkaXY+SSBwZXJzb25hbGx5IGFncmVlIGl0J3Mgbm90IHRoZSBiZXN0IGhhYml0 IHRvIGRvIGl0CiAgICAgICAgICAgICAgbmV2ZXJ0aGVsZXNzLCBhbmQgSSBleHBlY3QgdXNlcnMg dG8gcHV0IGhvc3RzIHRvCiAgICAgICAgICAgICAgbWFpbnRlbmFuY2UgYmVmb3JlIHBlcmZvcm1p bmcgYW55IHVwZ3JhZGUuPC9kaXY+CiAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICA8 L2Rpdj4KICAgICAgICAgICAgPGRpdj5XZSBjYW5ub3QgdGVsbCB3aGljaCB1cGRhdGUgcmVxdWly ZXMgbWFpbnRlbmFuY2UgYW5kCiAgICAgICAgICAgICAgd2hpY2ggZG9lc24ndCAob3IgZm9yIHRo YXQgbWF0dGVyIC0gcmVxdWlyZXMgYSByZWJvb3Qgb3IgYQogICAgICAgICAgICAgIHNlcnZpY2Ug cmVzdGFydCkgLSB0aGVyZSdzIG5vIG1ldGFkYXRhIGF2YWlsYWJsZSB0byBkbwogICAgICAgICAg ICAgIGF0dGFjaGVkIHRvIHRoZSBwYWNrYWdlcyB0aGF0IGNhbiB0ZWxsIHVzIHRoYXQuPC9kaXY+ CiAgICAgICAgICAgIDxkaXY+WS48L2Rpdj4KICAgICAgICAgICAgPGRpdj49QzI9QTA8L2Rpdj4K ICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9M0QiZ21haWxfcXVvdGUiIHN0eWxlPTNEIm1h cmdpbjowIDAgMAogICAgICAgICAgICAgIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7 cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgIDxicj4K ICAgICAgICAgICAgICAtLSA8YnI+CiAgICAgICAgICAgICAgTmF0aGFuYT1DMz1BQmwgQmxhbmNo ZXQ8YnI+CiAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgIFN1cGVydmlzaW9uIHI9QzM9 QTlzZWF1PGJyPgogICAgICAgICAgICAgIFA9QzM9QjRsZSBJbmZyYXN0cnV0dXJlcyBJbmZvcm1h dGlxdWVzPGJyPgogICAgICAgICAgICAgIDIyNyBhdmVudWUgUHJvZmVzc2V1ci1KZWFuLUxvdWlz LVZpYWxhPGJyPgogICAgICAgICAgICAgIDM0MTkzIE1PTlRQRUxMSUVSIENFREVYIDU9QzI9QTAg PUMyPUEwID1DMj1BMCA9QzI9QTA8YnI+CiAgICAgICAgICAgICAgVD1DMz1BOWwuIDMzICgwKTQg NjcgNTQgODQgNTU8YnI+CiAgICAgICAgICAgICAgRmF4PUMyPUEwIDMzICgwKTQgNjcgNTQgODQg MTQ8YnI+CiAgICAgICAgICAgICAgPGEgbW96LWRvLW5vdC1zZW5kPTNEInRydWUiIGhyZWY9M0Qi bWFpbHRvOmJsYW5jaGV0QGFiZXMuZnI9CiIKICAgICAgICAgICAgICAgIHRhcmdldD0zRCJfYmxh bmsiPmJsYW5jaGV0QGFiZXMuZnI8L2E+PGJyPgogICAgICAgICAgICAgIDxicj4KICAgICAgICAg ICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19fX19fX19f PGJyPgogICAgICAgICAgICAgIFVzZXJzIG1haWxpbmcgbGlzdDxicj4KICAgICAgICAgICAgICA8 YSBtb3otZG8tbm90LXNlbmQ9M0QidHJ1ZSIgaHJlZj0zRCJtYWlsdG86VXNlcnNAb3ZpcnQub3Jn IgogICAgICAgICAgICAgICAgdGFyZ2V0PTNEIl9ibGFuayI+VXNlcnNAb3ZpcnQub3JnPC9hPjxi cj4KICAgICAgICAgICAgICA8YSBtb3otZG8tbm90LXNlbmQ9M0QidHJ1ZSIKICAgICAgICAgICAg ICAgIGhyZWY9M0QiaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJz IgogICAgICAgICAgICAgICAgcmVsPTNEIm5vcmVmZXJyZXIiIHRhcmdldD0zRCJfYmxhbmsiPmh0 dHA6Ly9saXN0cy5vdmlydC5vPQpyZy9tYWlsbWFuPHdicj4vbGlzdGluZm8vdXNlcnM8L2E+PGJy PgogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxi cj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+ CiAgICA8cHJlIGNsYXNzPTNEIm1vei1zaWduYXR1cmUiIGNvbHM9M0QiNzIiPi0tPTIwCk5hdGhh bmE9QzM9QUJsIEJsYW5jaGV0CgpTdXBlcnZpc2lvbiByPUMzPUE5c2VhdQpQPUMzPUI0bGUgSW5m cmFzdHJ1dHVyZXMgSW5mb3JtYXRpcXVlcwoyMjcgYXZlbnVlIFByb2Zlc3NldXItSmVhbi1Mb3Vp cy1WaWFsYQozNDE5MyBNT05UUEVMTElFUiBDRURFWCA1ID0wOQpUPUMzPUE5bC4gMzMgKDApNCA2 NyA1NCA4NCA1NQpGYXggIDMzICgwKTQgNjcgNTQgODQgMTQKPGEgY2xhc3M9M0QibW96LXR4dC1s aW5rLWFiYnJldmlhdGVkIiBocmVmPTNEIm1haWx0bzpibGFuY2hldEBhYmVzLmZyIj5ibD0KYW5j aGV0QGFiZXMuZnI8L2E+IDwvcHJlPgogIDwvYm9keT4KPC9odG1sPgoKLS0tLS0tLS0tLS0tLS1F ODNBNUY4M0EwODA0QkNCQUNDQzgxNkEtLQo= --===============5706163020655478163==--