From darrell.budic at zenfire.com Sat Apr 5 21:46:30 2014 Content-Type: multipart/mixed; boundary="===============1925172609921884459==" MIME-Version: 1.0 From: Darrell Budic To: users at ovirt.org Subject: Re: [Users] TSC clocksource gets lost after live migration Date: Sat, 05 Apr 2014 12:09:11 -0500 Message-ID: <26FC5FA9-AF55-43BB-B3EB-41FA872A983F@zenfire.com> In-Reply-To: C6B57894-BB8B-4D3C-AB8D-766BB03AA8F7@zenfire.com --===============1925172609921884459== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --Apple-Mail=3D_426EFAFD-B3CC-41E6-85E6-EAE4A82FC441 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=3Dwindows-1252 Whups, should note that I don=3D92t see the CPU utilization issues, just = =3D the clock source errors. This is on a 3.3.4 install with centos 6.4 =3D guests. On Apr 4, 2014, at 6:19 PM, Darrell Budic =3D wrote: > I see this on some guests as well, possibly relating to moving between = =3D hosts with the same family of CPU but different absolute CPU speeds? >=3D20 > -Darrell >=3D20 > On Apr 4, 2014, at 8:33 AM, Michal Skrivanek =3D wrote: >=3D20 >> Hi, >> this is more for the KVM folks I suppose=3D85can you get the qemu =3D process cmdline please? >>=3D20 >> Thanks, >> michal >>=3D20 >> On 3 Apr 2014, at 12:13, Markus Stockhausen wrote: >>=3D20 >>> Hello, >>>=3D20 >>> we have an up to date ovirt 3.4 installation. Inside we are running =3D SLES11 SP3 >>> VMs (Kernel 3.0.76-0.11). After live migration of these VMs they all = =3D of a sudden >>> do not react any longer and CPU usage of the VM goes to 100%. >>>=3D20 >>> We identified kvm-clock source to be the culprit and therefore =3D switched to another >>> clocksource. We ended with hpet but are not happy with that as our =3D inital goal >>> was to use the more simple designed TSC clocksoure.=3D20 >>>=3D20 >>> The reason behind that is the question I have for you experts. >>>=3D20 >>> Our hosts all have the constant_tsc CPU flag available. Just to =3D mention these >>> are not identical hosts. We have a mix of Xeon 5500 and 5600 =3D machines. E.G. >>> [root(a)colovn01 ~]# cat /proc/cpuinfo | grep constant_tsc | wc -l >>> 8 >>>=3D20 >>> When we start the VM the client sees TSC as available clocksource: >>>=3D20 >>> colvm53:~ # cat =3D /sys/devices/system/clocksource/clocksource0/available_clocksource >>> kvm-clock tsc hpet acpi_pm >>>=3D20 >>> After the first live migration to another host that also has =3D constant_tsc (see above) >>> that flag is lost inside the VM. >>>=3D20 >>> colvm53:~ # cat =3D /sys/devices/system/clocksource/clocksource0/available_clocksource >>> kvm-clock hpet acpi_pm >>>=3D20 >>> Any ideas? >>>=3D20 >>> Markus >>>=3D20 >>>=3D20 >>> =3D _______________________________________________ >>> Users mailing list >>> Users(a)ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/users >>=3D20 >> _______________________________________________ >> Users mailing list >> Users(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/users >=3D20 > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users --Apple-Mail=3D_426EFAFD-B3CC-41E6-85E6-EAE4A82FC441 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=3Dwindows-1252 Whups, = =3D should note that I don=3D92t see the CPU utilization issues, just the =3D clock source errors. This is on a 3.3.4 install with centos 6.4 =3D guests.

On Apr 4, 2014, at 6:19 PM, Darrell = =3D Budic <darrell.budic(a)zenfire.com>=3D ; wrote:

I see =3D this on some guests as well, possibly relating to moving between hosts =3D with the same family of CPU but different absolute CPU =3D speeds?

  =3D -Darrell


Hi,
this is more for the KVM folks I =3D suppose=3D85can you get the qemu process cmdline =3D please?

Thanks,
michal

On 3 Apr 2014, at 12:13, Markus Stockhausen wrote:

Hello,

we have an up to date ovirt 3.4 installation. =3D Inside we are running SLES11 SP3
VMs (Kernel 3.0.76-0.11). After live = =3D migration of these VMs they all of a sudden
do not react any longer =3D and CPU usage of the VM goes to 100%.

We identified kvm-clock =3D source to be the culprit and therefore switched to =3D another
clocksource. We ended with hpet but are not happy with that =3D as our inital goal
was to use the more simple designed TSC =3D clocksoure. 

The= =3D reason behind that is the question I have for you experts.

Our =3D hosts all have the constant_tsc CPU flag available. Just to mention =3D these
are not identical hosts. We have a mix of Xeon 5500 and 5600 =3D machines. E.G.
[root(a)colovn01 ~]# cat /proc/cpuinfo | grep =3D constant_tsc | wc -l
8

When we start the VM the client sees =3D TSC as available clocksource:

colvm53:~ # cat =3D /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-= =3D clock tsc hpet acpi_pm

After the first live migration to another =3D host that also has constant_tsc (see above)
that flag is lost inside =3D the VM.

colvm53:~ # cat =3D /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-= =3D clock hpet acpi_pm

Any =3D ideas?

Markus


<InterScan_Disclaimer.txt>____= =3D ___________________________________________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt= .=3D org/mailman/listinfo/users

__= =3D _____________________________________________
Users mailing =3D list
Users(a)ovirt.org
http://lists.ovirt= .=3D org/mailman/listinfo/users

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

= =3D --Apple-Mail=3D_426EFAFD-B3CC-41E6-85E6-EAE4A82FC441-- --===============1925172609921884459== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" Ci0tQXBwbGUtTWFpbD1fNDI2RUZBRkQtQjNDQy00MUU2LTg1RTYtRUFFNEE4MkZDNDQxCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOwoJY2hhcnNldD13aW5kb3dzLTEyNTIKCldodXBzLCBzaG91bGQgbm90ZSB0aGF0IEkg ZG9uPTkydCBzZWUgdGhlIENQVSB1dGlsaXphdGlvbiBpc3N1ZXMsIGp1c3QgPQp0aGUgY2xvY2sg c291cmNlIGVycm9ycy4gVGhpcyBpcyBvbiBhIDMuMy40IGluc3RhbGwgd2l0aCBjZW50b3MgNi40 ID0KZ3Vlc3RzLgoKT24gQXByIDQsIDIwMTQsIGF0IDY6MTkgUE0sIERhcnJlbGwgQnVkaWMgPGRh cnJlbGwuYnVkaWNAemVuZmlyZS5jb20+ID0Kd3JvdGU6Cgo+IEkgc2VlIHRoaXMgb24gc29tZSBn dWVzdHMgYXMgd2VsbCwgcG9zc2libHkgcmVsYXRpbmcgdG8gbW92aW5nIGJldHdlZW4gPQpob3N0 cyB3aXRoIHRoZSBzYW1lIGZhbWlseSBvZiBDUFUgYnV0IGRpZmZlcmVudCBhYnNvbHV0ZSBDUFUg c3BlZWRzPwo+PTIwCj4gICAtRGFycmVsbAo+PTIwCj4gT24gQXByIDQsIDIwMTQsIGF0IDg6MzMg QU0sIE1pY2hhbCBTa3JpdmFuZWsgPQo8bWljaGFsLnNrcml2YW5la0ByZWRoYXQuY29tPiB3cm90 ZToKPj0yMAo+PiBIaSwKPj4gdGhpcyBpcyBtb3JlIGZvciB0aGUgS1ZNIGZvbGtzIEkgc3VwcG9z ZT04NWNhbiB5b3UgZ2V0IHRoZSBxZW11ID0KcHJvY2VzcyBjbWRsaW5lIHBsZWFzZT8KPj49MjAK Pj4gVGhhbmtzLAo+PiBtaWNoYWwKPj49MjAKPj4gT24gMyBBcHIgMjAxNCwgYXQgMTI6MTMsIE1h cmt1cyBTdG9ja2hhdXNlbiB3cm90ZToKPj49MjAKPj4+IEhlbGxvLAo+Pj49MjAKPj4+IHdlIGhh dmUgYW4gdXAgdG8gZGF0ZSBvdmlydCAzLjQgaW5zdGFsbGF0aW9uLiBJbnNpZGUgd2UgYXJlIHJ1 bm5pbmcgPQpTTEVTMTEgU1AzCj4+PiBWTXMgKEtlcm5lbCAzLjAuNzYtMC4xMSkuIEFmdGVyIGxp dmUgbWlncmF0aW9uIG9mIHRoZXNlIFZNcyB0aGV5IGFsbCA9Cm9mIGEgc3VkZGVuCj4+PiBkbyBu b3QgcmVhY3QgYW55IGxvbmdlciBhbmQgQ1BVIHVzYWdlIG9mIHRoZSBWTSBnb2VzIHRvIDEwMCUu Cj4+Pj0yMAo+Pj4gV2UgaWRlbnRpZmllZCBrdm0tY2xvY2sgc291cmNlIHRvIGJlIHRoZSBjdWxw cml0IGFuZCB0aGVyZWZvcmUgPQpzd2l0Y2hlZCB0byBhbm90aGVyCj4+PiBjbG9ja3NvdXJjZS4g V2UgZW5kZWQgd2l0aCBocGV0IGJ1dCBhcmUgbm90IGhhcHB5IHdpdGggdGhhdCBhcyBvdXIgPQpp bml0YWwgZ29hbAo+Pj4gd2FzIHRvIHVzZSB0aGUgbW9yZSBzaW1wbGUgZGVzaWduZWQgVFNDIGNs b2Nrc291cmUuPTIwCj4+Pj0yMAo+Pj4gVGhlIHJlYXNvbiBiZWhpbmQgdGhhdCBpcyB0aGUgcXVl c3Rpb24gSSBoYXZlIGZvciB5b3UgZXhwZXJ0cy4KPj4+PTIwCj4+PiBPdXIgaG9zdHMgYWxsIGhh dmUgdGhlIGNvbnN0YW50X3RzYyBDUFUgZmxhZyBhdmFpbGFibGUuIEp1c3QgdG8gPQptZW50aW9u IHRoZXNlCj4+PiBhcmUgbm90IGlkZW50aWNhbCBob3N0cy4gV2UgaGF2ZSBhIG1peCBvZiBYZW9u IDU1MDAgYW5kIDU2MDAgPQptYWNoaW5lcy4gRS5HLgo+Pj4gW3Jvb3RAY29sb3ZuMDEgfl0jIGNh dCAvcHJvYy9jcHVpbmZvIHwgZ3JlcCBjb25zdGFudF90c2MgfCB3YyAtbAo+Pj4gOAo+Pj49MjAK Pj4+IFdoZW4gd2Ugc3RhcnQgdGhlIFZNIHRoZSBjbGllbnQgc2VlcyBUU0MgYXMgYXZhaWxhYmxl IGNsb2Nrc291cmNlOgo+Pj49MjAKPj4+IGNvbHZtNTM6fiAjIGNhdCA9Ci9zeXMvZGV2aWNlcy9z eXN0ZW0vY2xvY2tzb3VyY2UvY2xvY2tzb3VyY2UwL2F2YWlsYWJsZV9jbG9ja3NvdXJjZQo+Pj4g a3ZtLWNsb2NrIHRzYyBocGV0IGFjcGlfcG0KPj4+PTIwCj4+PiBBZnRlciB0aGUgZmlyc3QgbGl2 ZSBtaWdyYXRpb24gdG8gYW5vdGhlciBob3N0IHRoYXQgYWxzbyBoYXMgPQpjb25zdGFudF90c2Mg KHNlZSBhYm92ZSkKPj4+IHRoYXQgZmxhZyBpcyBsb3N0IGluc2lkZSB0aGUgVk0uCj4+Pj0yMAo+ Pj4gY29sdm01Mzp+ICMgY2F0ID0KL3N5cy9kZXZpY2VzL3N5c3RlbS9jbG9ja3NvdXJjZS9jbG9j a3NvdXJjZTAvYXZhaWxhYmxlX2Nsb2Nrc291cmNlCj4+PiBrdm0tY2xvY2sgaHBldCBhY3BpX3Bt Cj4+Pj0yMAo+Pj4gQW55IGlkZWFzPwo+Pj49MjAKPj4+IE1hcmt1cwo+Pj49MjAKPj4+PTIwCj4+ PiA9CjxJbnRlclNjYW5fRGlzY2xhaW1lci50eHQ+X19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPj4+IFVzZXJzIG1haWxpbmcgbGlzdAo+Pj4gVXNlcnNAb3Zp cnQub3JnCj4+PiBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMK Pj49MjAKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K Pj4gVXNlcnMgbWFpbGluZyBsaXN0Cj4+IFVzZXJzQG92aXJ0Lm9yZwo+PiBodHRwOi8vbGlzdHMu b3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMKPj0yMAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gVXNlcnMgbWFpbGluZyBsaXN0Cj4gVXNl cnNAb3ZpcnQub3JnCj4gaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Vz ZXJzCgoKLS1BcHBsZS1NYWlsPV80MjZFRkFGRC1CM0NDLTQxRTYtODVFNi1FQUU0QTgyRkM0NDEK Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50YWJsZQpDb250ZW50LVR5cGU6 IHRleHQvaHRtbDsKCWNoYXJzZXQ9d2luZG93cy0xMjUyCgo8aHRtbD48aGVhZD48bWV0YSBodHRw LWVxdWl2PTNEIkNvbnRlbnQtVHlwZSIgY29udGVudD0zRCJ0ZXh0L2h0bWwgPQpjaGFyc2V0PTNE d2luZG93cy0xMjUyIj48L2hlYWQ+PGJvZHkgc3R5bGU9M0Qid29yZC13cmFwOiBicmVhay13b3Jk OyA9Ci13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13 aGl0ZS1zcGFjZTsiPldodXBzLCA9CnNob3VsZCBub3RlIHRoYXQgSSBkb249OTJ0IHNlZSB0aGUg Q1BVIHV0aWxpemF0aW9uIGlzc3VlcywganVzdCB0aGUgPQpjbG9jayBzb3VyY2UgZXJyb3JzLiBU aGlzIGlzIG9uIGEgMy4zLjQgaW5zdGFsbCB3aXRoIGNlbnRvcyA2LjQgPQpndWVzdHMuPGRpdj48 YnI+PC9kaXY+PGRpdj48ZGl2PjxkaXY+T24gQXByIDQsIDIwMTQsIGF0IDY6MTkgUE0sIERhcnJl bGwgPQpCdWRpYyAmbHQ7PGEgPQpocmVmPTNEIm1haWx0bzpkYXJyZWxsLmJ1ZGljQHplbmZpcmUu Y29tIj5kYXJyZWxsLmJ1ZGljQHplbmZpcmUuY29tPC9hPiZndD0KOyB3cm90ZTo8L2Rpdj48YnIg Y2xhc3M9M0QiQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+PGJsb2NrcXVvdGUgPQp0eXBlPTNE ImNpdGUiPjxtZXRhIGh0dHAtZXF1aXY9M0QiQ29udGVudC1UeXBlIiBjb250ZW50PTNEInRleHQv aHRtbCA9CmNoYXJzZXQ9M0R3aW5kb3dzLTEyNTIiPjxkaXYgc3R5bGU9M0Qid29yZC13cmFwOiBi cmVhay13b3JkOyA9Ci13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFr OiBhZnRlci13aGl0ZS1zcGFjZTsiPkkgc2VlID0KdGhpcyBvbiBzb21lIGd1ZXN0cyBhcyB3ZWxs LCBwb3NzaWJseSByZWxhdGluZyB0byBtb3ZpbmcgYmV0d2VlbiBob3N0cyA9CndpdGggdGhlIHNh bWUgZmFtaWx5IG9mIENQVSBidXQgZGlmZmVyZW50IGFic29sdXRlIENQVSA9CnNwZWVkcz88ZGl2 Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyA9Ci1EYXJyZWxsPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj48ZGl2PjxkaXY+T24gQXByIDQsIDIwMTQsIGF0IDg6MzMgQU0sID0KTWljaGFsIFNrcml2YW5l ayAmbHQ7PGEgPQpocmVmPTNEIm1haWx0bzptaWNoYWwuc2tyaXZhbmVrQHJlZGhhdC5jb20iPm1p Y2hhbC5za3JpdmFuZWtAcmVkaGF0LmNvbTwvYT0KPiZndDsgd3JvdGU6PC9kaXY+PGJyIGNsYXNz PTNEIkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlID0KdHlwZT0zRCJjaXRl Ij48YmFzZSBocmVmPTNEIngtbXNnOi8vMTU3NS8iPjxkaXYgc3R5bGU9M0Qid29yZC13cmFwOiA9 CmJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFr OiA9CmFmdGVyLXdoaXRlLXNwYWNlOyAiPkhpLDxkaXY+dGhpcyBpcyBtb3JlIGZvciB0aGUgS1ZN IGZvbGtzIEkgPQpzdXBwb3NlPTg1Y2FuIHlvdSBnZXQgdGhlIHFlbXUgcHJvY2VzcyBjbWRsaW5l ID0KcGxlYXNlPzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhhbmtzLDwvZGl2PjxkaXY+bWlj aGFsPC9kaXY+PGRpdj48YnI+PGQ9Cml2PjxkaXY+T24gMyBBcHIgMjAxNCwgYXQgMTI6MTMsIE1h cmt1cyBTdG9ja2hhdXNlbiB3cm90ZTo8L2Rpdj48YnIgPQpjbGFzcz0zRCJBcHBsZS1pbnRlcmNo YW5nZS1uZXdsaW5lIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxzcGFuID0KY2xhc3M9M0Qi QXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9M0QiYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgPQpm b250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDog bm9ybWFsOyA9CmZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGxp bmUtaGVpZ2h0OiBub3JtYWw7ID0Kb3JwaGFuczogMjsgdGV4dC1hbGlnbjogLXdlYmtpdC1hdXRv OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogPQpub25lOyB3aGl0ZS1zcGFjZTog bm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyBib3JkZXItc3BhY2luZzogPQow cHg7IC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3Q6IG5vbmU7ID0KLXdlYmtpdC10 ZXh0LXN0cm9rZS13aWR0aDogMHB4OyBmb250LXNpemU6IGluaGVyaXQ7Ij48ZGl2ID0Kc3R5bGU9 M0QiZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQtc2l6ZTogPQoxMHB0 OyI+SGVsbG8sPGJyPjxicj53ZSBoYXZlIGFuIHVwIHRvIGRhdGUgb3ZpcnQgMy40IGluc3RhbGxh dGlvbi4gPQpJbnNpZGUgd2UgYXJlIHJ1bm5pbmcgU0xFUzExIFNQMzxicj5WTXMgKEtlcm5lbCAz LjAuNzYtMC4xMSkuIEFmdGVyIGxpdmUgPQptaWdyYXRpb24gb2YgdGhlc2UgVk1zIHRoZXkgYWxs IG9mIGEgc3VkZGVuPGJyPmRvIG5vdCByZWFjdCBhbnkgbG9uZ2VyID0KYW5kIENQVSB1c2FnZSBv ZiB0aGUgVk0gZ29lcyB0byAxMDAlLjxicj48YnI+V2UgaWRlbnRpZmllZCBrdm0tY2xvY2sgPQpz b3VyY2UgdG8gYmUgdGhlIGN1bHByaXQgYW5kIHRoZXJlZm9yZSBzd2l0Y2hlZCB0byA9CmFub3Ro ZXI8YnI+Y2xvY2tzb3VyY2UuIFdlIGVuZGVkIHdpdGggaHBldCBidXQgYXJlIG5vdCBoYXBweSB3 aXRoIHRoYXQgPQphcyBvdXIgaW5pdGFsIGdvYWw8YnI+d2FzIHRvIHVzZSB0aGUgbW9yZSBzaW1w bGUgZGVzaWduZWQgVFNDID0KY2xvY2tzb3VyZS48c3BhbiBjbGFzcz0zRCJBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+PGJyPlRoZSA9CnJlYXNvbiBiZWhpbmQgdGhhdCBp cyB0aGUgcXVlc3Rpb24gSSBoYXZlIGZvciB5b3UgZXhwZXJ0cy48YnI+PGJyPk91ciA9Cmhvc3Rz IGFsbCBoYXZlIHRoZSBjb25zdGFudF90c2MgQ1BVIGZsYWcgYXZhaWxhYmxlLiBKdXN0IHRvIG1l bnRpb24gPQp0aGVzZTxicj5hcmUgbm90IGlkZW50aWNhbCBob3N0cy4gV2UgaGF2ZSBhIG1peCBv ZiBYZW9uIDU1MDAgYW5kIDU2MDAgPQptYWNoaW5lcy4gRS5HLjxicj5bcm9vdEBjb2xvdm4wMSB+ XSMgY2F0IC9wcm9jL2NwdWluZm8gfCBncmVwID0KY29uc3RhbnRfdHNjIHwgd2MgLWw8YnI+ODxi cj48YnI+V2hlbiB3ZSBzdGFydCB0aGUgVk0gdGhlIGNsaWVudCBzZWVzID0KVFNDIGFzIGF2YWls YWJsZSBjbG9ja3NvdXJjZTo8YnI+PGJyPmNvbHZtNTM6fiAjIGNhdCA9Ci9zeXMvZGV2aWNlcy9z eXN0ZW0vY2xvY2tzb3VyY2UvY2xvY2tzb3VyY2UwL2F2YWlsYWJsZV9jbG9ja3NvdXJjZTxicj5r dm0tPQpjbG9jayB0c2MgaHBldCBhY3BpX3BtPGJyPjxicj5BZnRlciB0aGUgZmlyc3QgbGl2ZSBt aWdyYXRpb24gdG8gYW5vdGhlciA9Cmhvc3QgdGhhdCBhbHNvIGhhcyBjb25zdGFudF90c2MgKHNl ZSBhYm92ZSk8YnI+dGhhdCBmbGFnIGlzIGxvc3QgaW5zaWRlID0KdGhlIFZNLjxicj48YnI+Y29s dm01Mzp+ICMgY2F0ID0KL3N5cy9kZXZpY2VzL3N5c3RlbS9jbG9ja3NvdXJjZS9jbG9ja3NvdXJj ZTAvYXZhaWxhYmxlX2Nsb2Nrc291cmNlPGJyPmt2bS09CmNsb2NrIGhwZXQgYWNwaV9wbTxicj48 YnI+QW55ID0KaWRlYXM/PGJyPjxicj5NYXJrdXM8YnI+PGJyPjxicj48L2Rpdj4mbHQ7SW50ZXJT Y2FuX0Rpc2NsYWltZXIudHh0Jmd0O19fX189Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX188YnI+VXNlcnMgbWFpbGluZyBsaXN0PGJyPjxhID0KaHJlZj0zRCJtYWls dG86VXNlcnNAb3ZpcnQub3JnIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyPjxhID0KaHJlZj0zRCJo dHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMiPmh0dHA6Ly9saXN0 cy5vdmlydC49Cm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPC9hPjwvc3Bhbj48L2Jsb2NrcXVv dGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pl9fPQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+VXNlcnMgbWFpbGluZyA9Cmxpc3Q8YnI+PGEgaHJlZj0zRCJt YWlsdG86VXNlcnNAb3ZpcnQub3JnIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyPjxhID0KaHJlZj0z RCJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMiPmh0dHA6Ly9s aXN0cy5vdmlydC49Cm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPC9hPjxicj48L2Jsb2NrcXVv dGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pl9fX19fPQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+VXNlcnMgbWFpbGluZyBsaXN0PGJyPjxhID0KaHJlZj0zRCJt YWlsdG86VXNlcnNAb3ZpcnQub3JnIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyPmh0dHA6Ly9saXN0 cy5vdmlydC49Cm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPGJyPjwvYmxvY2txdW90ZT48L2Rp dj48YnI+PC9kaXY+PC9ib2R5PjwvaHRtbD49CgotLUFwcGxlLU1haWw9XzQyNkVGQUZELUIzQ0Mt NDFFNi04NUU2LUVBRTRBODJGQzQ0MS0tCg== --===============1925172609921884459==--