From sabose at redhat.com Wed Feb 6 23:32:41 2013 Content-Type: multipart/mixed; boundary="===============2168103459347638023==" MIME-Version: 1.0 From: Sahina Bose To: devel at ovirt.org Subject: Re: [Engine-devel] NPE during addStorageServer command Date: Thu, 07 Feb 2013 10:02:39 +0530 Message-ID: <51132E67.4030707@redhat.com> In-Reply-To: 5112474B.1090909@redhat.com --===============2168103459347638023== 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. --------------030603050508060606000206 Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Content-Transfer-Encoding: 7bit On 02/06/2013 05:36 PM, Shireesh Anjal wrote: > On 02/06/2013 04:55 PM, Sahina Bose wrote: >> Looking at the code, it looks like you need a Storage helper called = >> GLUSTERFSStorageHelper in package org.ovirt.engine.core.bll.storage. = > > Which is introduced by Sharad's this patch: http://gerrit.ovirt.org/8834 > I guess you don't have this patch in your local repository. In this patch, you will need to rename the file as it's case sensitive = on linux- GlusterFsStorageHelper should be GLUSTERFSStorageHelper. Hope this helps, cheers sahina > >> The NPE seems to be because the Storage helper is null for the = >> storage type. >> >> On 02/06/2013 04:42 PM, Deepak C Shetty wrote: >>> Hi All, >>> I am trying to compile ovirt engine after applying sharad's = >>> glusterfs domain support patches @ >>> http://gerrit.ovirt.org/#/q/project:ovirt-engine+branch:master+topic:gl= usterfs,n,z = >>> >>> >>> After compiling, deploying the engine ( by following the steps in = >>> wiki.ovirt.org/Building_Ovirt_Engine ) >>> I connect to the weadmin GUI, add a VDSM host ( this is my own vdsm = >>> host with VDSM glsuter domain support ) and the host is "Up" state. >>> >>> Then I select New SD->None in DC -> select my vdsm host->provide the = >>> args (remote path =3D volfileserver:volume, vfstype=3Dglusterfs, mount = >>> =3D> left blank) and click on OK >>> >>> I see NPE in the engine side during addStorageServer cmd ( IIUC ) = >>> and then engine tries to send disconnectStorageServer, which reaches = >>> my VDSM host and it throws a excp, since the domain is not mounted = >>> at all. >>> >>> I have captured the logs on the engien and vdsm side and attached here. >>> >>> I am looking for some help on why the NPE is being seen on the = >>> engien side during adding a new SD ? >>> >>> thanx, >>> deepak >>> >>> >>> >>> _______________________________________________ >>> Engine-devel mailing list >>> Engine-devel(a)ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/engine-devel >> >> >> >> _______________________________________________ >> Engine-devel mailing list >> Engine-devel(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/engine-devel > > > > _______________________________________________ > Engine-devel mailing list > Engine-devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/engine-devel --------------030603050508060606000206 Content-Type: text/html; charset=3DISO-8859-1 Content-Transfer-Encoding: 7bit
On 02/06/2013 05:36 PM, Shireesh Anjal wrote:
On 02/06/2013 04:55 PM, Sahina Bose wrote:
Looking at the code, it looks like you need a Storage helper called GLUSTERFSStorageHelper in package org.ovirt.engine.core.bll.storage.

Which is introduced by Sharad's this patch: http://gerrit.ovirt.org/8834<= /a>
I guess you don't have this patch in your local repository.
In this patch, you will need to rename the file as it's case sensitive on linux- GlusterFsStorageHelper should be GLUSTERFSStorageHelper.

Hope this helps,
cheers
sahina
<= br>
T= he NPE seems to be because the Storage helper is null for the storage type.

On 02/06/2013 04:42 PM, Deepak C Shetty wrote:
Hi All,
   I am trying to compile ovirt engine after applying s= harad's glusterfs domain support patches @
http://gerrit.ovirt.org/#/q/project:ovirt-engine+branch:ma= ster+topic:glusterfs,n,z

After compiling, deploying the engine ( by following the steps in wiki.ovirt.org/Building_Ovirt_Engine )
I connect to the weadmin GUI, add a VDSM host ( this is my own vdsm host with VDSM glsuter domain support ) and the host is "Up" state.

Then I select New SD->None in DC -> select my vdsm host->provide the args (remote path =3D volfileserver:volume, vfstype=3Dglusterfs, mount =3D> left blank) and click on OK
I see NPE in the engine side during addStorageServer cmd ( IIUC ) and then engine tries to send disconnectStorageServer, which reaches my VDSM host and it throws a excp, since the domain is not mounted at all.

I have captured the logs on the engien and vdsm side and attached here.

I am looking for some help on why the NPE is being seen on the engien side during adding a new SD ?

thanx,
deepak



_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailm=
an/listinfo/engine-devel



_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailm=
an/listinfo/engine-devel



_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel<=
/a>

--------------030603050508060606000206-- --===============2168103459347638023== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wMzA2MDMwNTA1MDgwNjA2MDYwMDAyMDYKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PUlTTy04ODU5LTE7IGZvcm1hdD1mbG93ZWQKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAoKCk9uIDAyLzA2LzIwMTMgMDU6MzYgUE0sIFNoaXJlZXNoIEFuamFsIHdyb3RlOgo+IE9u IDAyLzA2LzIwMTMgMDQ6NTUgUE0sIFNhaGluYSBCb3NlIHdyb3RlOgo+PiBMb29raW5nIGF0IHRo ZSBjb2RlLCBpdCBsb29rcyBsaWtlIHlvdSBuZWVkIGEgU3RvcmFnZSBoZWxwZXIgY2FsbGVkIAo+ PiBHTFVTVEVSRlNTdG9yYWdlSGVscGVyIGluIHBhY2thZ2Ugb3JnLm92aXJ0LmVuZ2luZS5jb3Jl LmJsbC5zdG9yYWdlLiAKPgo+IFdoaWNoIGlzIGludHJvZHVjZWQgYnkgU2hhcmFkJ3MgdGhpcyBw YXRjaDogaHR0cDovL2dlcnJpdC5vdmlydC5vcmcvODgzNAo+IEkgZ3Vlc3MgeW91IGRvbid0IGhh dmUgdGhpcyBwYXRjaCBpbiB5b3VyIGxvY2FsIHJlcG9zaXRvcnkuCkluIHRoaXMgcGF0Y2gsIHlv dSB3aWxsIG5lZWQgdG8gcmVuYW1lIHRoZSBmaWxlIGFzIGl0J3MgY2FzZSBzZW5zaXRpdmUgCm9u IGxpbnV4LSBHbHVzdGVyRnNTdG9yYWdlSGVscGVyIHNob3VsZCBiZSBHTFVTVEVSRlNTdG9yYWdl SGVscGVyLgoKSG9wZSB0aGlzIGhlbHBzLApjaGVlcnMKc2FoaW5hCj4KPj4gVGhlIE5QRSBzZWVt cyB0byBiZSBiZWNhdXNlIHRoZSBTdG9yYWdlIGhlbHBlciBpcyBudWxsIGZvciB0aGUgCj4+IHN0 b3JhZ2UgdHlwZS4KPj4KPj4gT24gMDIvMDYvMjAxMyAwNDo0MiBQTSwgRGVlcGFrIEMgU2hldHR5 IHdyb3RlOgo+Pj4gSGkgQWxsLAo+Pj4gICAgSSBhbSB0cnlpbmcgdG8gY29tcGlsZSBvdmlydCBl bmdpbmUgYWZ0ZXIgYXBwbHlpbmcgc2hhcmFkJ3MgCj4+PiBnbHVzdGVyZnMgZG9tYWluIHN1cHBv cnQgcGF0Y2hlcyBACj4+PiBodHRwOi8vZ2Vycml0Lm92aXJ0Lm9yZy8jL3EvcHJvamVjdDpvdmly dC1lbmdpbmUrYnJhbmNoOm1hc3Rlcit0b3BpYzpnbHVzdGVyZnMsbix6IAo+Pj4KPj4+Cj4+PiBB ZnRlciBjb21waWxpbmcsIGRlcGxveWluZyB0aGUgZW5naW5lICggYnkgZm9sbG93aW5nIHRoZSBz dGVwcyBpbiAKPj4+IHdpa2kub3ZpcnQub3JnL0J1aWxkaW5nX092aXJ0X0VuZ2luZSApCj4+PiBJ IGNvbm5lY3QgdG8gdGhlIHdlYWRtaW4gR1VJLCBhZGQgYSBWRFNNIGhvc3QgKCB0aGlzIGlzIG15 IG93biB2ZHNtIAo+Pj4gaG9zdCB3aXRoIFZEU00gZ2xzdXRlciBkb21haW4gc3VwcG9ydCApIGFu ZCB0aGUgaG9zdCBpcyAiVXAiIHN0YXRlLgo+Pj4KPj4+IFRoZW4gSSBzZWxlY3QgTmV3IFNELT5O b25lIGluIERDIC0+IHNlbGVjdCBteSB2ZHNtIGhvc3QtPnByb3ZpZGUgdGhlIAo+Pj4gYXJncyAo cmVtb3RlIHBhdGggPSB2b2xmaWxlc2VydmVyOnZvbHVtZSwgdmZzdHlwZT1nbHVzdGVyZnMsIG1v dW50IAo+Pj4gPT4gbGVmdCBibGFuaykgYW5kIGNsaWNrIG9uIE9LCj4+Pgo+Pj4gSSBzZWUgTlBF IGluIHRoZSBlbmdpbmUgc2lkZSBkdXJpbmcgYWRkU3RvcmFnZVNlcnZlciBjbWQgKCBJSVVDICkg Cj4+PiBhbmQgdGhlbiBlbmdpbmUgdHJpZXMgdG8gc2VuZCBkaXNjb25uZWN0U3RvcmFnZVNlcnZl ciwgd2hpY2ggcmVhY2hlcyAKPj4+IG15IFZEU00gaG9zdCBhbmQgaXQgdGhyb3dzIGEgZXhjcCwg c2luY2UgdGhlIGRvbWFpbiBpcyBub3QgbW91bnRlZCAKPj4+IGF0IGFsbC4KPj4+Cj4+PiBJIGhh dmUgY2FwdHVyZWQgdGhlIGxvZ3Mgb24gdGhlIGVuZ2llbiBhbmQgdmRzbSBzaWRlIGFuZCBhdHRh Y2hlZCBoZXJlLgo+Pj4KPj4+IEkgYW0gbG9va2luZyBmb3Igc29tZSBoZWxwIG9uIHdoeSB0aGUg TlBFIGlzIGJlaW5nIHNlZW4gb24gdGhlIAo+Pj4gZW5naWVuIHNpZGUgZHVyaW5nIGFkZGluZyBh IG5ldyBTRCA/Cj4+Pgo+Pj4gdGhhbngsCj4+PiBkZWVwYWsKPj4+Cj4+Pgo+Pj4KPj4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBFbmdpbmUtZGV2 ZWwgbWFpbGluZyBsaXN0Cj4+PiBFbmdpbmUtZGV2ZWxAb3ZpcnQub3JnCj4+PiBodHRwOi8vbGlz dHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZW5naW5lLWRldmVsCj4+Cj4+Cj4+Cj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEVuZ2luZS1k ZXZlbCBtYWlsaW5nIGxpc3QKPj4gRW5naW5lLWRldmVsQG92aXJ0Lm9yZwo+PiBodHRwOi8vbGlz dHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZW5naW5lLWRldmVsCj4KPgo+Cj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBFbmdpbmUtZGV2ZWwg bWFpbGluZyBsaXN0Cj4gRW5naW5lLWRldmVsQG92aXJ0Lm9yZwo+IGh0dHA6Ly9saXN0cy5vdmly dC5vcmcvbWFpbG1hbi9saXN0aW5mby9lbmdpbmUtZGV2ZWwKCgotLS0tLS0tLS0tLS0tLTAzMDYw MzA1MDUwODA2MDYwNjAwMDIwNgpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08t ODg1OS0xCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKCjxodG1sPgogIDxoZWFkPgog ICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiCiAgICAgIGh0 dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29sb3I9IiNGRkZG RkYiIHRleHQ9IiMwMDAwMDAiPgogICAgPGJyPgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJl Zml4Ij5PbiAwMi8wNi8yMDEzIDA1OjM2IFBNLCBTaGlyZWVzaCBBbmphbAogICAgICB3cm90ZTo8 YnI+CiAgICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlIGNpdGU9Im1pZDo1MTEyNDc0Qi4xMDkwOTA5 QHJlZGhhdC5jb20iIHR5cGU9ImNpdGUiPgogICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7 IGNoYXJzZXQ9SVNPLTg4NTktMSIKICAgICAgICBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiPgog ICAgICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDAyLzA2LzIwMTMgMDQ6NTUgUE0s IFNhaGluYSBCb3NlCiAgICAgICAgd3JvdGU6PGJyPgogICAgICA8L2Rpdj4KICAgICAgPGJsb2Nr cXVvdGUgY2l0ZT0ibWlkOjUxMTIzRDkxLjMwMjA1QHJlZGhhdC5jb20iIHR5cGU9ImNpdGUiPgog ICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIgogICAg ICAgICAgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4KICAgICAgICBMb29raW5nIGF0IHRoZSBj b2RlLCBpdCBsb29rcyBsaWtlIHlvdSBuZWVkIGEgU3RvcmFnZSBoZWxwZXIKICAgICAgICBjYWxs ZWQgR0xVU1RFUkZTU3RvcmFnZUhlbHBlciBpbiBwYWNrYWdlCiAgICAgICAgb3JnLm92aXJ0LmVu Z2luZS5jb3JlLmJsbC5zdG9yYWdlLiA8L2Jsb2NrcXVvdGU+CiAgICAgIDxicj4KICAgICAgV2hp Y2ggaXMgaW50cm9kdWNlZCBieSBTaGFyYWQncyB0aGlzIHBhdGNoOiA8YQogICAgICAgIG1vei1k by1ub3Qtc2VuZD0idHJ1ZSIgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCIKICAgICAgICBo cmVmPSJodHRwOi8vZ2Vycml0Lm92aXJ0Lm9yZy84ODM0Ij5odHRwOi8vZ2Vycml0Lm92aXJ0Lm9y Zy84ODM0PC9hPjxicj4KICAgICAgSSBndWVzcyB5b3UgZG9uJ3QgaGF2ZSB0aGlzIHBhdGNoIGlu IHlvdXIgbG9jYWwgcmVwb3NpdG9yeS48YnI+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICBJbiB0aGlz IHBhdGNoLCB5b3Ugd2lsbCBuZWVkIHRvIHJlbmFtZSB0aGUgZmlsZSBhcyBpdCdzIGNhc2UKICAg IHNlbnNpdGl2ZSBvbiBsaW51eC0gR2x1c3RlckZzU3RvcmFnZUhlbHBlciBzaG91bGQgYmUKICAg IEdMVVNURVJGU1N0b3JhZ2VIZWxwZXIuPGJyPgogICAgPGJyPgogICAgSG9wZSB0aGlzIGhlbHBz LDxicj4KICAgIGNoZWVyczxicj4KICAgIHNhaGluYTxicj4KICAgIDxibG9ja3F1b3RlIGNpdGU9 Im1pZDo1MTEyNDc0Qi4xMDkwOTA5QHJlZGhhdC5jb20iIHR5cGU9ImNpdGUiPiA8YnI+CiAgICAg IDxibG9ja3F1b3RlIGNpdGU9Im1pZDo1MTEyM0Q5MS4zMDIwNUByZWRoYXQuY29tIiB0eXBlPSJj aXRlIj4gVGhlCiAgICAgICAgTlBFIHNlZW1zIHRvIGJlIGJlY2F1c2UgdGhlIFN0b3JhZ2UgaGVs cGVyIGlzIG51bGwgZm9yIHRoZQogICAgICAgIHN0b3JhZ2UgdHlwZS48YnI+CiAgICAgICAgPGJy PgogICAgICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZpeCI+T24gMDIvMDYvMjAxMyAwNDo0 MiBQTSwgRGVlcGFrIEMKICAgICAgICAgIFNoZXR0eSB3cm90ZTo8YnI+CiAgICAgICAgPC9kaXY+ CiAgICAgICAgPGJsb2NrcXVvdGUgY2l0ZT0ibWlkOjUxMTIzQUFFLjUwNjAxMDFAbGludXgudm5l dC5pYm0uY29tIgogICAgICAgICAgdHlwZT0iY2l0ZSI+SGkgQWxsLCA8YnI+CiAgICAgICAgICAm bmJzcDsmbmJzcDsgSSBhbSB0cnlpbmcgdG8gY29tcGlsZSBvdmlydCBlbmdpbmUgYWZ0ZXIgYXBw bHlpbmcgc2hhcmFkJ3MKICAgICAgICAgIGdsdXN0ZXJmcyBkb21haW4gc3VwcG9ydCBwYXRjaGVz IEAgPGJyPgogICAgICAgICAgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBjbGFzcz0ibW96LXR4 dC1saW5rLWZyZWV0ZXh0IgpocmVmPSJodHRwOi8vZ2Vycml0Lm92aXJ0Lm9yZy8jL3EvcHJvamVj dDpvdmlydC1lbmdpbmUrYnJhbmNoOm1hc3Rlcit0b3BpYzpnbHVzdGVyZnMsbix6Ij5odHRwOi8v Z2Vycml0Lm92aXJ0Lm9yZy8jL3EvcHJvamVjdDpvdmlydC1lbmdpbmUrYnJhbmNoOm1hc3Rlcit0 b3BpYzpnbHVzdGVyZnMsbix6PC9hPgogICAgICAgICAgPGJyPgogICAgICAgICAgPGJyPgogICAg ICAgICAgQWZ0ZXIgY29tcGlsaW5nLCBkZXBsb3lpbmcgdGhlIGVuZ2luZSAoIGJ5IGZvbGxvd2lu ZyB0aGUgc3RlcHMKICAgICAgICAgIGluIHdpa2kub3ZpcnQub3JnL0J1aWxkaW5nX092aXJ0X0Vu Z2luZSApIDxicj4KICAgICAgICAgIEkgY29ubmVjdCB0byB0aGUgd2VhZG1pbiBHVUksIGFkZCBh IFZEU00gaG9zdCAoIHRoaXMgaXMgbXkgb3duCiAgICAgICAgICB2ZHNtIGhvc3Qgd2l0aCBWRFNN IGdsc3V0ZXIgZG9tYWluIHN1cHBvcnQgKSBhbmQgdGhlIGhvc3QgaXMKICAgICAgICAgICJVcCIg c3RhdGUuIDxicj4KICAgICAgICAgIDxicj4KICAgICAgICAgIFRoZW4gSSBzZWxlY3QgTmV3IFNE LSZndDtOb25lIGluIERDIC0mZ3Q7IHNlbGVjdCBteSB2ZHNtCiAgICAgICAgICBob3N0LSZndDtw cm92aWRlIHRoZSBhcmdzIChyZW1vdGUgcGF0aCA9IHZvbGZpbGVzZXJ2ZXI6dm9sdW1lLAogICAg ICAgICAgdmZzdHlwZT1nbHVzdGVyZnMsIG1vdW50ID0mZ3Q7IGxlZnQgYmxhbmspIGFuZCBjbGlj ayBvbiBPSyA8YnI+CiAgICAgICAgICA8YnI+CiAgICAgICAgICBJIHNlZSBOUEUgaW4gdGhlIGVu Z2luZSBzaWRlIGR1cmluZyBhZGRTdG9yYWdlU2VydmVyIGNtZCAoCiAgICAgICAgICBJSVVDICkg YW5kIHRoZW4gZW5naW5lIHRyaWVzIHRvIHNlbmQgZGlzY29ubmVjdFN0b3JhZ2VTZXJ2ZXIsCiAg ICAgICAgICB3aGljaCByZWFjaGVzIG15IFZEU00gaG9zdCBhbmQgaXQgdGhyb3dzIGEgZXhjcCwg c2luY2UgdGhlCiAgICAgICAgICBkb21haW4gaXMgbm90IG1vdW50ZWQgYXQgYWxsLiA8YnI+CiAg ICAgICAgICA8YnI+CiAgICAgICAgICBJIGhhdmUgY2FwdHVyZWQgdGhlIGxvZ3Mgb24gdGhlIGVu Z2llbiBhbmQgdmRzbSBzaWRlIGFuZAogICAgICAgICAgYXR0YWNoZWQgaGVyZS4gPGJyPgogICAg ICAgICAgPGJyPgogICAgICAgICAgSSBhbSBsb29raW5nIGZvciBzb21lIGhlbHAgb24gd2h5IHRo ZSBOUEUgaXMgYmVpbmcgc2VlbiBvbiB0aGUKICAgICAgICAgIGVuZ2llbiBzaWRlIGR1cmluZyBh ZGRpbmcgYSBuZXcgU0QgPyA8YnI+CiAgICAgICAgICA8YnI+CiAgICAgICAgICB0aGFueCwgPGJy PgogICAgICAgICAgZGVlcGFrIDxicj4KICAgICAgICAgIDxicj4KICAgICAgICAgIDxicj4KICAg ICAgICAgIDxmaWVsZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFkZXIiPjwvZmllbGRzZXQ+ CiAgICAgICAgICA8YnI+CiAgICAgICAgICA8cHJlIHdyYXA9IiI+X19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRW5naW5lLWRldmVsIG1haWxpbmcgbGlzdAo8 YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQi IGhyZWY9Im1haWx0bzpFbmdpbmUtZGV2ZWxAb3ZpcnQub3JnIj5FbmdpbmUtZGV2ZWxAb3ZpcnQu b3JnPC9hPgo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGNsYXNzPSJtb3otdHh0LWxpbmstZnJl ZXRleHQiIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby9lbmdp bmUtZGV2ZWwiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby9lbmdpbmUt ZGV2ZWw8L2E+CjwvcHJlPgogICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8YnI+CiAgICAg ICAgPGJyPgogICAgICAgIDxmaWVsZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFkZXIiPjwv ZmllbGRzZXQ+CiAgICAgICAgPGJyPgogICAgICAgIDxwcmUgd3JhcD0iIj5fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpFbmdpbmUtZGV2ZWwgbWFpbGluZyBs aXN0CjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZp YXRlZCIgaHJlZj0ibWFpbHRvOkVuZ2luZS1kZXZlbEBvdmlydC5vcmciPkVuZ2luZS1kZXZlbEBv dmlydC5vcmc8L2E+CjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgY2xhc3M9Im1vei10eHQtbGlu ay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L2VuZ2luZS1kZXZlbCI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Vu Z2luZS1kZXZlbDwvYT4KPC9wcmU+CiAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgPGJyPgogICAg ICA8YnI+CiAgICAgIDxmaWVsZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFkZXIiPjwvZmll bGRzZXQ+CiAgICAgIDxicj4KICAgICAgPHByZSB3cmFwPSIiPl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkVuZ2luZS1kZXZlbCBtYWlsaW5nIGxpc3QKPGEg Y2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOkVuZ2luZS1kZXZl bEBvdmlydC5vcmciPkVuZ2luZS1kZXZlbEBvdmlydC5vcmc8L2E+CjxhIGNsYXNzPSJtb3otdHh0 LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0 aW5mby9lbmdpbmUtZGV2ZWwiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5m by9lbmdpbmUtZGV2ZWw8L2E+CjwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJyPgogIDwv Ym9keT4KPC9odG1sPgoKLS0tLS0tLS0tLS0tLS0wMzA2MDMwNTA1MDgwNjA2MDYwMDAyMDYtLQo= --===============2168103459347638023==--