From vfeenstr at redhat.com Fri Jan 15 04:51:54 2016 Content-Type: multipart/mixed; boundary="===============3153384188733526203==" MIME-Version: 1.0 From: Vinzenz Feenstra To: users at ovirt.org Subject: Re: [ovirt-users] What's going on open channel devices when migrating the Guest ? Date: Fri, 15 Jan 2016 10:51:50 +0100 Message-ID: <90F5CE30-927A-48A3-AC82-97118A1325B4@redhat.com> In-Reply-To: 1051EFB4D3A1704680C38CCAAC5836D292F028AE@WPTXMAIL2.ptx.axway.int --===============3153384188733526203== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --Apple-Mail=3D_69325062-C30B-463A-AAA3-38735D2FCEEA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=3Dutf-8 > On Jan 15, 2016, at 10:08 AM, Jean-Pierre Ribeauville =3D wrote: >=3D20 > Hi, > =3D20 > I=3DE2=3D80=3D99m using a channel device between host and guest to exchan= ge =3D datas every 20 seconds. > =3D20 > On the Guest size , there is an open /dev/virtio file on which we read = =3D continuously what=3DE2=3D80=3D99s=3D20 > sent by the host. > =3D20 > My question is the following :=3D20 > When migrating the Guest to another host , and the migrating back to =3D the first one , =3D20 > the Guest software doesn=3DE2=3D80=3D99t receive anymore datas from the h= ost =3D unless I restart the Guest software to re-open the /dev/virtio file. > =3D20 > Is there any way to detect in the Guest that migration has been done =3D so we have to reopen the file ? Well you can look how we do it in the ovirt-guest-agent. But we=3DE2=3D80= =3D99re=3D not reopening the unix domain socket - We=3DE2=3D80=3D99re basically on re= ad =3D failure just rescheduling the read - That causes no problems after =3D migrations - it just continues=3D20 Our python code for that is here: =3D https://github.com/oVirt/ovirt-guest-agent/blob/master/ovirt-guest-agent/V= =3D irtIoChannel.py HTH > =3D20 > Any hint is welcome . > =3D20 > Thanks for help. > =3D20 > =3D20 > J.P. Ribeauville > =3D20 > P: +33.(0).1.47.17.20.49 > . > Puteaux 3 Etage 5 Bureau 4 > =3D20 > jpribeauville(a)axway.com > http://www.axway.com > =3D20 > P Pensez =3DC3=3DA0 l=3DE2=3D80=3D99environnement avant d=3DE2=3D80=3D99i= mprimer. > =3D20 > =3D20 > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users =3D --Apple-Mail=3D_69325062-C30B-463A-AAA3-38735D2FCEEA Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=3Dutf-8
On Jan 15, 2016, at 10:08 AM, Jean-Pierre Ribeauville <jpribeauville(a)axway.com> wrote:

Hi,<= o:p =3D class=3D3D"">
 
I=3D= E2=3D80=3D99=3D m using a channel device between host and guest to exchange datas every =3D 20 seconds.
 
On the Guest size , there = is =3D an open /dev/virtio file on which we read continuously what=3DE2=3D80=3D99s=  
sent by th= e =3D host.
 
My question is the followi= ng =3D : 
When migrating the Guest to another host =3D ,  and the migrating back to the first one ,  
the Guest = =3D software doesn=3DE2=3D80=3D99t receive anymore datas from the host unless I= =3D restart the Guest software to re-open the /dev/virtio file.
 
Is = =3D there any way to detect in the Guest that migration has been done so we =3D have to reopen  the file =3D ?

Wel= l=3D you can look how we do it in the ovirt-guest-agent. But we=3DE2=3D80=3D99r= e =3D not reopening the unix domain socket - We=3DE2=3D80=3D99re basically on rea= d =3D failure just rescheduling the read - That causes no problems after =3D migrations - it just continues 


HTH

 
Any = =3D hint is welcome .
 
Thanks for help.
 
 
J.P. Ribeauville
 
P: +33.(0).1.47.17.20.49
.
Puteaux 3 Etage =3D 5  Bureau 4
 
 

=
<= div =3D style=3D3D"margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: =3D Calibri, sans-serif;" class=3D3D"">P Pensez =3DC3=3DA= 0 =3D l=3DE2=3D80=3D99environnement avant d=3DE2=3D80=3D99imprimer.
 
 
_______________________________________________
Users mailing =3D list
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users
=3D --Apple-Mail=3D_69325062-C30B-463A-AAA3-38735D2FCEEA-- --===============3153384188733526203== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" Ci0tQXBwbGUtTWFpbD1fNjkzMjUwNjItQzMwQi00NjNBLUFBQTMtMzg3MzVEMkZDRUVBCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOwoJY2hhcnNldD11dGYtOAoKCj4gT24gSmFuIDE1LCAyMDE2LCBhdCAxMDowOCBBTSwg SmVhbi1QaWVycmUgUmliZWF1dmlsbGUgPQo8anByaWJlYXV2aWxsZUBheHdheS5jb20+IHdyb3Rl Ogo+PTIwCj4gSGksCj4gPTIwCj4gST1FMj04MD05OW0gdXNpbmcgYSBjaGFubmVsIGRldmljZSBi ZXR3ZWVuIGhvc3QgYW5kIGd1ZXN0IHRvIGV4Y2hhbmdlID0KZGF0YXMgZXZlcnkgMjAgc2Vjb25k cy4KPiA9MjAKPiBPbiB0aGUgR3Vlc3Qgc2l6ZSAsIHRoZXJlIGlzIGFuIG9wZW4gL2Rldi92aXJ0 aW8gZmlsZSBvbiB3aGljaCB3ZSByZWFkID0KY29udGludW91c2x5IHdoYXQ9RTI9ODA9OTlzPTIw Cj4gc2VudCBieSB0aGUgaG9zdC4KPiA9MjAKPiBNeSBxdWVzdGlvbiBpcyB0aGUgZm9sbG93aW5n IDo9MjAKPiBXaGVuIG1pZ3JhdGluZyB0aGUgR3Vlc3QgdG8gYW5vdGhlciBob3N0ICwgIGFuZCB0 aGUgbWlncmF0aW5nIGJhY2sgdG8gPQp0aGUgZmlyc3Qgb25lICwgPTIwCj4gdGhlIEd1ZXN0IHNv ZnR3YXJlIGRvZXNuPUUyPTgwPTk5dCByZWNlaXZlIGFueW1vcmUgZGF0YXMgZnJvbSB0aGUgaG9z dCA9CnVubGVzcyBJIHJlc3RhcnQgdGhlIEd1ZXN0IHNvZnR3YXJlIHRvIHJlLW9wZW4gdGhlIC9k ZXYvdmlydGlvIGZpbGUuCj4gPTIwCj4gSXMgdGhlcmUgYW55IHdheSB0byBkZXRlY3QgaW4gdGhl IEd1ZXN0IHRoYXQgbWlncmF0aW9uIGhhcyBiZWVuIGRvbmUgPQpzbyB3ZSBoYXZlIHRvIHJlb3Bl biAgdGhlIGZpbGUgPwoKV2VsbCB5b3UgY2FuIGxvb2sgaG93IHdlIGRvIGl0IGluIHRoZSBvdmly dC1ndWVzdC1hZ2VudC4gQnV0IHdlPUUyPTgwPTk5cmU9CiBub3QgcmVvcGVuaW5nIHRoZSB1bml4 IGRvbWFpbiBzb2NrZXQgLSBXZT1FMj04MD05OXJlIGJhc2ljYWxseSBvbiByZWFkID0KZmFpbHVy ZSBqdXN0IHJlc2NoZWR1bGluZyB0aGUgcmVhZCAtIFRoYXQgY2F1c2VzIG5vIHByb2JsZW1zIGFm dGVyID0KbWlncmF0aW9ucyAtIGl0IGp1c3QgY29udGludWVzPTIwCgpPdXIgcHl0aG9uIGNvZGUg Zm9yIHRoYXQgaXMgaGVyZTogPQpodHRwczovL2dpdGh1Yi5jb20vb1ZpcnQvb3ZpcnQtZ3Vlc3Qt YWdlbnQvYmxvYi9tYXN0ZXIvb3ZpcnQtZ3Vlc3QtYWdlbnQvVj0KaXJ0SW9DaGFubmVsLnB5CgpI VEgKCj4gPTIwCj4gQW55IGhpbnQgaXMgd2VsY29tZSAuCj4gPTIwCj4gVGhhbmtzIGZvciBoZWxw Lgo+ID0yMAo+ID0yMAo+IEouUC4gUmliZWF1dmlsbGUKPiA9MjAKPiBQOiArMzMuKDApLjEuNDcu MTcuMjAuNDkKPiAuCj4gUHV0ZWF1eCAzIEV0YWdlIDUgIEJ1cmVhdSA0Cj4gPTIwCj4ganByaWJl YXV2aWxsZUBheHdheS5jb20gPG1haWx0bzpqcHJpYmVhdXZpbGxlQGF4d2F5LmNvbT4KPiBodHRw Oi8vd3d3LmF4d2F5LmNvbSA8aHR0cDovL3d3dy5heHdheS5jb20vPgo+ID0yMAo+IFAgUGVuc2V6 ID1DMz1BMCBsPUUyPTgwPTk5ZW52aXJvbm5lbWVudCBhdmFudCBkPUUyPTgwPTk5aW1wcmltZXIu Cj4gPTIwCj4gPTIwCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiBVc2VycyBtYWlsaW5nIGxpc3QKPiBVc2Vyc0BvdmlydC5vcmcgPG1haWx0bzpVc2Vy c0BvdmlydC5vcmc+Cj4gaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Vz ZXJzID0KPGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vycz4KCi0t QXBwbGUtTWFpbD1fNjkzMjUwNjItQzMwQi00NjNBLUFBQTMtMzg3MzVEMkZDRUVBCkNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKQ29udGVudC1UeXBlOiB0ZXh0L2h0 bWw7CgljaGFyc2V0PXV0Zi04Cgo8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PTNEIkNvbnRl bnQtVHlwZSIgY29udGVudD0zRCJ0ZXh0L2h0bWwgPQpjaGFyc2V0PTNEdXRmLTgiPjwvaGVhZD48 Ym9keSBzdHlsZT0zRCJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7ID0KLXdlYmtpdC1uYnNwLW1vZGU6 IHNwYWNlOyAtd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlOyIgPQpjbGFzcz0z RCIiPjxiciBjbGFzcz0zRCIiPjxkaXY+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIiBjbGFzcz0z RCIiPjxkaXYgPQpjbGFzcz0zRCIiPk9uIEphbiAxNSwgMjAxNiwgYXQgMTA6MDggQU0sIEplYW4t UGllcnJlIFJpYmVhdXZpbGxlICZsdDs8YSA9CmhyZWY9M0QibWFpbHRvOmpwcmliZWF1dmlsbGVA YXh3YXkuY29tIiA9CmNsYXNzPTNEIiI+anByaWJlYXV2aWxsZUBheHdheS5jb208L2E+Jmd0OyB3 cm90ZTo8L2Rpdj48YnIgPQpjbGFzcz0zRCJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48ZGl2 IGNsYXNzPTNEIiI+PGRpdiA9CmNsYXNzPTNEIldvcmRTZWN0aW9uMSIgc3R5bGU9M0QicGFnZTog V29yZFNlY3Rpb24xOyBmb250LWZhbWlseTogPQpIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgPQpmb250LXdlaWdodDog bm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWdu OiA9CnN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt c3BhY2U6IG5vcm1hbDsgPQp3aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7Ij48ZGl2ID0Kc3R5bGU9M0QibWFyZ2luOiAwY20gMGNt IDAuMDAwMXB0OyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiA9CkNhbGlicmksIHNhbnMt c2VyaWY7IiBjbGFzcz0zRCIiPjxzcGFuIGxhbmc9M0QiRU4tVVMiIGNsYXNzPTNEIiI+SGksPG86 cCA9CmNsYXNzPTNEIiI+PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9M0QibWFyZ2luOiAw Y20gMGNtIDAuMDAwMXB0OyA9CmZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGlicmks IHNhbnMtc2VyaWY7IiBjbGFzcz0zRCIiPjxzcGFuID0KbGFuZz0zRCJFTi1VUyIgY2xhc3M9M0Qi Ij48bzpwIGNsYXNzPTNEIiI+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgPQpzdHlsZT0z RCJtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6 ID0KQ2FsaWJyaSwgc2Fucy1zZXJpZjsiIGNsYXNzPTNEIiI+PHNwYW4gbGFuZz0zRCJFTi1VUyIg Y2xhc3M9M0QiIj5JPUUyPTgwPTk5PQptIHVzaW5nIGEgY2hhbm5lbCBkZXZpY2UgYmV0d2VlbiBo b3N0IGFuZCBndWVzdCB0byBleGNoYW5nZSBkYXRhcyBldmVyeSA9CjIwIHNlY29uZHMuPG86cCBj bGFzcz0zRCIiPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPTNEIm1hcmdpbjogMGNtID0K MGNtIDAuMDAwMXB0OyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5z LXNlcmlmOyIgPQpjbGFzcz0zRCIiPjxzcGFuIGxhbmc9M0QiRU4tVVMiIGNsYXNzPTNEIiI+PG86 cCA9CmNsYXNzPTNEIiI+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9M0QibWFy Z2luOiAwY20gMGNtID0KMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENh bGlicmksIHNhbnMtc2VyaWY7IiA9CmNsYXNzPTNEIiI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgY2xh c3M9M0QiIj5PbiB0aGUgR3Vlc3Qgc2l6ZSAsIHRoZXJlIGlzID0KYW4gb3BlbiAvZGV2L3ZpcnRp byBmaWxlIG9uIHdoaWNoIHdlIHJlYWQgY29udGludW91c2x5IHdoYXQ9RTI9ODA9OTlzPHNwYW49 CiBjbGFzcz0zRCJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnIgY2xhc3M9 M0QiIj5zZW50IGJ5IHRoZSA9Cmhvc3QuPG86cCBjbGFzcz0zRCIiPjwvbzpwPjwvc3Bhbj48L2Rp dj48ZGl2IHN0eWxlPTNEIm1hcmdpbjogMGNtIDBjbSA9CjAuMDAwMXB0OyBmb250LXNpemU6IDEx cHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyIgPQpjbGFzcz0zRCIiPjxzcGFu IGxhbmc9M0QiRU4tVVMiIGNsYXNzPTNEIiI+PG86cCA9CmNsYXNzPTNEIiI+Jm5ic3A7PC9vOnA+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9M0QibWFyZ2luOiAwY20gMGNtID0KMC4wMDAxcHQ7IGZv bnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGlicmksIHNhbnMtc2VyaWY7IiA9CmNsYXNz PTNEIiI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgY2xhc3M9M0QiIj5NeSBxdWVzdGlvbiBpcyB0aGUg Zm9sbG93aW5nID0KOjxzcGFuIGNsYXNzPTNEIkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPjxvOnAgPQpjbGFzcz0zRCIiPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPTNE Im1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsgPQpmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5 OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyIgY2xhc3M9M0QiIj48c3BhbiA9Cmxhbmc9M0QiRU4tVVMi IGNsYXNzPTNEIiI+V2hlbiBtaWdyYXRpbmcgdGhlIEd1ZXN0IHRvIGFub3RoZXIgaG9zdCA9Ciwm bmJzcDsgYW5kIHRoZSBtaWdyYXRpbmcgYmFjayB0byB0aGUgZmlyc3Qgb25lICwmbmJzcDs8c3Bh biA9CmNsYXNzPTNEIkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGFz cz0zRCIiPnRoZSBHdWVzdCA9CnNvZnR3YXJlIGRvZXNuPUUyPTgwPTk5dCByZWNlaXZlIGFueW1v cmUgZGF0YXMgZnJvbSB0aGUgaG9zdCB1bmxlc3MgSSA9CnJlc3RhcnQgdGhlIEd1ZXN0IHNvZnR3 YXJlIHRvIHJlLW9wZW4gdGhlIC9kZXYvdmlydGlvIGZpbGUuPG86cCA9CmNsYXNzPTNEIiI+PC9v OnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9M0QibWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyA9 CmZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGlicmksIHNhbnMtc2VyaWY7IiBjbGFz cz0zRCIiPjxzcGFuID0KbGFuZz0zRCJFTi1VUyIgY2xhc3M9M0QiIj48bzpwIGNsYXNzPTNEIiI+ Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgPQpzdHlsZT0zRCJtYXJnaW46IDBjbSAwY20g MC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ID0KQ2FsaWJyaSwgc2Fucy1z ZXJpZjsiIGNsYXNzPTNEIiI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgY2xhc3M9M0QiIj5JcyA9CnRo ZXJlIGFueSB3YXkgdG8gZGV0ZWN0IGluIHRoZSBHdWVzdCB0aGF0IG1pZ3JhdGlvbiBoYXMgYmVl biBkb25lIHNvIHdlID0KaGF2ZSB0byByZW9wZW4gJm5ic3A7dGhlIGZpbGUgPQo/PC9zcGFuPjwv ZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxiciBjbGFzcz0zRCIiPjwvZGl2Pjxk aXY+V2VsbD0KIHlvdSBjYW4gbG9vayBob3cgd2UgZG8gaXQgaW4gdGhlIG92aXJ0LWd1ZXN0LWFn ZW50LiBCdXQgd2U9RTI9ODA9OTlyZSA9Cm5vdCByZW9wZW5pbmcgdGhlIHVuaXggZG9tYWluIHNv Y2tldCAtIFdlPUUyPTgwPTk5cmUgYmFzaWNhbGx5IG9uIHJlYWQgPQpmYWlsdXJlIGp1c3QgcmVz Y2hlZHVsaW5nIHRoZSByZWFkIC0gVGhhdCBjYXVzZXMgbm8gcHJvYmxlbXMgYWZ0ZXIgPQptaWdy YXRpb25zIC0gaXQganVzdCBjb250aW51ZXMmbmJzcDs8L2Rpdj48ZGl2PjxiciA9CmNsYXNzPTNE IiI+PC9kaXY+PGRpdj5PdXIgcHl0aG9uIGNvZGUgZm9yIHRoYXQgaXMgaGVyZTombmJzcDs8YSA9 CmhyZWY9M0QiaHR0cHM6Ly9naXRodWIuY29tL29WaXJ0L292aXJ0LWd1ZXN0LWFnZW50L2Jsb2Iv bWFzdGVyL292aXJ0LWd1ZXN0PQotYWdlbnQvVmlydElvQ2hhbm5lbC5weSIgPQpjbGFzcz0zRCIi Pmh0dHBzOi8vZ2l0aHViLmNvbS9vVmlydC9vdmlydC1ndWVzdC1hZ2VudC9ibG9iL21hc3Rlci9v dmlydC1ndT0KZXN0LWFnZW50L1ZpcnRJb0NoYW5uZWwucHk8L2E+PC9kaXY+PGRpdj48YnIgPQpj bGFzcz0zRCIiPjwvZGl2PjxkaXY+SFRIPC9kaXY+PGJyIGNsYXNzPTNEIiI+PGJsb2NrcXVvdGUg dHlwZT0zRCJjaXRlIiA9CmNsYXNzPTNEIiI+PGRpdiBjbGFzcz0zRCIiPjxkaXYgY2xhc3M9M0Qi V29yZFNlY3Rpb24xIiBzdHlsZT0zRCJwYWdlOiA9CldvcmRTZWN0aW9uMTsgZm9udC1mYW1pbHk6 IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiA9Cm5vcm1hbDsgZm9udC12 YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiA9Cm5v cm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7 ID0KdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogYXV0 bzsgd29yZC1zcGFjaW5nOiA9CjBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyI+ PGRpdiBzdHlsZT0zRCJtYXJnaW46IDBjbSAwY20gPQowLjAwMDFwdDsgZm9udC1zaXplOiAxMXB0 OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiID0KY2xhc3M9M0QiIj48c3BhbiBs YW5nPTNEIkVOLVVTIiBjbGFzcz0zRCIiPjxvOnAgPQpjbGFzcz0zRCIiPjwvbzpwPjwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPTNEIm1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsgPQpmb250LXNpemU6 IDExcHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyIgY2xhc3M9M0QiIj48c3Bh biA9Cmxhbmc9M0QiRU4tVVMiIGNsYXNzPTNEIiI+PG86cCBjbGFzcz0zRCIiPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L2Rpdj48ZGl2ID0Kc3R5bGU9M0QibWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyBm b250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiA9CkNhbGlicmksIHNhbnMtc2VyaWY7IiBjbGFz cz0zRCIiPjxzcGFuIGxhbmc9M0QiRU4tVVMiIGNsYXNzPTNEIiI+QW55ID0KaGludCBpcyB3ZWxj b21lIC48bzpwIGNsYXNzPTNEIiI+PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9M0QibWFy Z2luOiA9CjBjbSAwY20gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENh bGlicmksIHNhbnMtc2VyaWY7IiA9CmNsYXNzPTNEIiI+PHNwYW4gbGFuZz0zRCJFTi1VUyIgY2xh c3M9M0QiIj48bzpwID0KY2xhc3M9M0QiIj4mbmJzcDs8L286cD48L3NwYW4+PC9kaXY+PGRpdiBz dHlsZT0zRCJtYXJnaW46IDBjbSAwY20gPQowLjAwMDFwdDsgZm9udC1zaXplOiAxMXB0OyBmb250 LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiID0KY2xhc3M9M0QiIj48c3BhbiBsYW5nPTNE IkVOLVVTIiBjbGFzcz0zRCIiPlRoYW5rcyBmb3IgaGVscC48bzpwID0KY2xhc3M9M0QiIj48L286 cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0zRCJtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7ID0K Zm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiIGNsYXNz PTNEIiI+PHNwYW4gPQpsYW5nPTNEIkVOLVVTIiBjbGFzcz0zRCIiPjxvOnAgY2xhc3M9M0QiIj4m bmJzcDs8L286cD48L3NwYW4+PC9kaXY+PHRhYmxlID0KY2xhc3M9M0QiTXNvTm9ybWFsVGFibGUi IGJvcmRlcj0zRCIwIiBjZWxsc3BhY2luZz0zRCIwIiA9CmNlbGxwYWRkaW5nPTNEIjAiPjx0Ym9k eSBjbGFzcz0zRCIiPjx0ciBjbGFzcz0zRCIiPjx0ZCB2YWxpZ249M0QidG9wIiA9CnN0eWxlPTNE InBhZGRpbmc6IDBjbSA0LjVwdCAwY20gMGNtOyIgY2xhc3M9M0QiIj48ZGl2IHN0eWxlPTNEIm1h cmdpbjogPQowY20gMGNtIDAuMDAwMXB0OyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBD YWxpYnJpLCBzYW5zLXNlcmlmOyIgPQpjbGFzcz0zRCIiPjxiIGNsYXNzPTNEIiI+PHNwYW4gbGFu Zz0zRCJFTi1VUyIgc3R5bGU9M0QiZm9udC1zaXplOiA5cHQ7ID0KZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDEzNiwgMTM2LCAxMzYpOyIgPQpjbGFzcz0zRCIiPjxv OnAgY2xhc3M9M0QiIj4mbmJzcDs8L286cD48L3NwYW4+PC9iPjwvZGl2PjxkaXYgPQpzdHlsZT0z RCJtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6 ID0KQ2FsaWJyaSwgc2Fucy1zZXJpZjsiIGNsYXNzPTNEIiI+PGIgY2xhc3M9M0QiIj48c3BhbiBs YW5nPTNEIkVOLVVTIiA9CnN0eWxlPTNEImZvbnQtc2l6ZTogOC41cHQ7IGZvbnQtZmFtaWx5OiBB cmlhbCwgc2Fucy1zZXJpZjsgY29sb3I6ID0KcmdiKDEzNiwgMTM2LCAxMzYpOyIgY2xhc3M9M0Qi Ij5KLlAuIFJpYmVhdXZpbGxlPG86cCA9CmNsYXNzPTNEIiI+PC9vOnA+PC9zcGFuPjwvYj48L2Rp dj48ZGl2IHN0eWxlPTNEIm1hcmdpbjogMGNtIDBjbSA9CjAuMDAwMXB0OyBmb250LXNpemU6IDEx cHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyIgPQpjbGFzcz0zRCIiPjxzcGFu IGxhbmc9M0QiRU4tVVMiIHN0eWxlPTNEImZvbnQtc2l6ZTogOC41cHQ7IGZvbnQtZmFtaWx5OiA9 CkFyaWFsLCBzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDExNSwgMTE1LCAxMTUpOyIgY2xhc3M9M0Qi Ij48bzpwID0KY2xhc3M9M0QiIj4mbmJzcDs8L286cD48L3NwYW4+PC9kaXY+PC90ZD48L3RyPjx0 ciBjbGFzcz0zRCIiPjx0ZCA9CnN0eWxlPTNEInBhZGRpbmc6IDIuMjVwdCA0LjVwdCA0LjVwdCAw Y207IiBjbGFzcz0zRCIiPjxkaXYgPQpzdHlsZT0zRCJtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7 IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ID0KQ2FsaWJyaSwgc2Fucy1zZXJpZjsiIGNs YXNzPTNEIiI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOiA4LjVwdDsgPQpmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGNvbG9yOiByZWQ7IiBjbGFzcz0zRCIiPlA6PHNwYW4gPQpjbGFz cz0zRCJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gPQpz dHlsZT0zRCJmb250LXNpemU6IDguNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7 IGNvbG9yOiA9CnJnYigxMTUsIDExNSwgMTE1KTsiIGNsYXNzPTNEIiI+KzMzLigwKS4xLjQ3LjE3 LjIwLjQ5PC9zcGFuPjxzcGFuID0Kc3R5bGU9M0QiZm9udC1zaXplOiA4LjVwdDsgZm9udC1mYW1p bHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBjb2xvcjogPQpyZ2IoMTE1LCAxMTUsIDExNSk7IiBjbGFz cz0zRCIiPjxvOnAgY2xhc3M9M0QiIj48L286cD48L3NwYW4+PC9kaXY+PGRpdiA9CnN0eWxlPTNE Im1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTog PQpDYWxpYnJpLCBzYW5zLXNlcmlmOyIgY2xhc3M9M0QiIj48c3BhbiBzdHlsZT0zRCJmb250LXNp emU6IDguNXB0OyA9CmZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgY29sb3I6IHJnYigx MTUsIDExNSwgMTE1KTsiID0KY2xhc3M9M0QiIj4uPG86cCBjbGFzcz0zRCIiPjwvbzpwPjwvc3Bh bj48L2Rpdj48ZGl2IHN0eWxlPTNEIm1hcmdpbjogMGNtID0KMGNtIDAuMDAwMXB0OyBmb250LXNp emU6IDExcHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyIgPQpjbGFzcz0zRCIi PjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTogOC41cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgPQpz YW5zLXNlcmlmOyBjb2xvcjogcmdiKDExNSwgMTE1LCAxMTUpOyIgY2xhc3M9M0QiIj5QdXRlYXV4 IDMgRXRhZ2UgPQo1Jm5ic3A7IEJ1cmVhdSA0PG86cCBjbGFzcz0zRCIiPjwvbzpwPjwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPTNEIm1hcmdpbjogPQowY20gMGNtIDAuMDAwMXB0OyBmb250LXNpemU6 IDExcHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyIgPQpjbGFzcz0zRCIiPjxz cGFuIHN0eWxlPTNEImZvbnQtc2l6ZTogOC41cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgPQpzYW5z LXNlcmlmOyBjb2xvcjogcmdiKDExNSwgMTE1LCAxMTUpOyIgY2xhc3M9M0QiIj48bzpwID0KY2xh c3M9M0QiIj4mbmJzcDs8L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0zRCJtYXJnaW46IDBj bSAwY20gPQowLjAwMDFwdDsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQ2FsaWJyaSwg c2Fucy1zZXJpZjsiID0KY2xhc3M9M0QiIj48dSBjbGFzcz0zRCIiPjxzcGFuIGxhbmc9M0QiRU4t VVMiIHN0eWxlPTNEImZvbnQtc2l6ZTogOXB0OyA9CmNvbG9yOiByZWQ7IiBjbGFzcz0zRCIiPjxh IGhyZWY9M0QibWFpbHRvOmpwcmliZWF1dmlsbGVAYXh3YXkuY29tIiA9CnN0eWxlPTNEImNvbG9y OiBwdXJwbGU7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyIgY2xhc3M9M0QiIj48c3BhbiA9 Cmxhbmc9M0QiRlIiIHN0eWxlPTNEImNvbG9yOiBibHVlOyIgPQpjbGFzcz0zRCIiPmpwcmliZWF1 dmlsbGVAYXh3YXkuY29tPC9zcGFuPjwvYT48L3NwYW4+PC91Pjx1ID0KY2xhc3M9M0QiIj48c3Bh biBzdHlsZT0zRCJmb250LXNpemU6IDlwdDsgY29sb3I6IHJlZDsiIGNsYXNzPTNEIiI+PGJyID0K Y2xhc3M9M0QiIj48L3NwYW4+PC91PjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTogOXB0OyBjb2xv cjogcmVkOyIgPQpjbGFzcz0zRCIiPjxhIGhyZWY9M0QiaHR0cDovL3d3dy5heHdheS5jb20vIiBz dHlsZT0zRCJjb2xvcjogcHVycGxlOyA9CnRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyIgY2xh c3M9M0QiIj48c3BhbiBzdHlsZT0zRCJjb2xvcjogcmVkOyIgPQpjbGFzcz0zRCIiPmh0dHA6Ly93 d3cuYXh3YXkuY29tPC9zcGFuPjwvYT48bzpwID0KY2xhc3M9M0QiIj48L286cD48L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0zRCJtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7ID0KZm9udC1zaXplOiAx MXB0OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiIGNsYXNzPTNEIiI+PHNwYW4g PQpzdHlsZT0zRCJmb250LXNpemU6IDguNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGNvbG9yOiA9CnJnYigxMTUsIDExNSwgMTE1KTsiIGNsYXNzPTNEIiI+PG86cCA9CmNsYXNz PTNEIiI+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZGl2PjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+ PHAgPQpjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbjogMGNtIDBjbSAwLjAwMDFw dDsgZm9udC1zaXplOiAxMXB0OyA9CmZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyI+ PC9wPjx0YWJsZSBjbGFzcz0zRCJNc29Ob3JtYWxUYWJsZSIgPQpib3JkZXI9M0QiMCIgY2VsbHNw YWNpbmc9M0QiMCIgY2VsbHBhZGRpbmc9M0QiMCI+PHRib2R5IGNsYXNzPTNEIiI+PHRyID0KY2xh c3M9M0QiIj48dGQgc3R5bGU9M0QicGFkZGluZzogNC41cHQgNC41cHQgNC41cHQgMGNtOyIgY2xh c3M9M0QiIj48ZGl2ID0Kc3R5bGU9M0QibWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyBmb250LXNp emU6IDExcHQ7IGZvbnQtZmFtaWx5OiA9CkNhbGlicmksIHNhbnMtc2VyaWY7IiBjbGFzcz0zRCIi PjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTogMThwdDsgPQpmb250LWZhbWlseTogV2ViZGluZ3M7 IGNvbG9yOiByZ2IoMTM2LCAxMzYsIDEzNik7IiA9CmNsYXNzPTNEIiI+UDwvc3Bhbj48c3BhbiBz dHlsZT0zRCJmb250LXNpemU6IDhwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCA9CnNhbnMtc2VyaWY7 IGNvbG9yOiByZ2IoMTM2LCAxMzYsIDEzNik7IiBjbGFzcz0zRCIiPiZuYnNwO1BlbnNleiA9QzM9 QTAgPQpsPUUyPTgwPTk5ZW52aXJvbm5lbWVudCBhdmFudCBkPUUyPTgwPTk5aW1wcmltZXIuPC9z cGFuPjxzcGFuID0Kc3R5bGU9M0QiZm9udC1zaXplOiA4cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsgY29sb3I6IHJnYigxMzYsID0KMTM2LCAxMzYpOyIgY2xhc3M9M0QiIj48bzpw ID0KY2xhc3M9M0QiIj48L286cD48L3NwYW4+PC9kaXY+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJs ZT48ZGl2ID0Kc3R5bGU9M0QibWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyBmb250LXNpemU6IDEx cHQ7IGZvbnQtZmFtaWx5OiA9CkNhbGlicmksIHNhbnMtc2VyaWY7IiBjbGFzcz0zRCIiPjxzcGFu IGNsYXNzPTNEIiI+PG86cCA9CmNsYXNzPTNEIiI+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZGl2Pjxk aXYgc3R5bGU9M0QibWFyZ2luOiAwY20gMGNtID0KMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTFwdDsg Zm9udC1mYW1pbHk6IENhbGlicmksIHNhbnMtc2VyaWY7IiA9CmNsYXNzPTNEIiI+PG86cCBjbGFz cz0zRCIiPiZuYnNwOzwvbzpwPjwvZGl2PjwvZGl2PjxzcGFuID0Kc3R5bGU9M0QiZm9udC1mYW1p bHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7ID0KZm9u dC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBu b3JtYWw7ID0Kb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAw cHg7IHRleHQtdHJhbnNmb3JtOiA9Cm5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czog YXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7ID0KLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4 OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lID0KIWltcG9ydGFudDsiID0KY2xhc3M9M0Qi Ij5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzwvc3Bhbj48 YnIgPQpzdHlsZT0zRCJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZv bnQtc3R5bGU6IG5vcm1hbDsgPQpmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5v cm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgPQpvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWdu OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06ID0Kbm9uZTsgd2hpdGUt c3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRvOyB3b3JkLXNwYWNpbmc6IDBweDsgPQotd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBjbGFzcz0zRCIiPjxzcGFuIHN0eWxlPTNEImZvbnQt ZmFtaWx5OiA9CkhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7 IGZvbnQtdmFyaWFudDogbm9ybWFsOyA9CmZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFj aW5nOiBub3JtYWw7IG9ycGhhbnM6IGF1dG87IHRleHQtYWxpZ246ID0Kc3RhcnQ7IHRleHQtaW5k ZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyA9Cndp ZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6 IDBweDsgZmxvYXQ6ID0Kbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0z RCIiPlVzZXJzIG1haWxpbmcgPQpsaXN0PC9zcGFuPjxiciBzdHlsZT0zRCJmb250LWZhbWlseTog SGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7ID0KZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZh cmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgPQpsZXR0ZXItc3BhY2luZzogbm9y bWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6ID0KMHB4 OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRv OyA9CndvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBj bGFzcz0zRCIiPjxhID0KaHJlZj0zRCJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIiBzdHlsZT0zRCJj b2xvcjogcHVycGxlOyB0ZXh0LWRlY29yYXRpb246ID0KdW5kZXJsaW5lOyBmb250LWZhbWlseTog SGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgPQpmb250LXZh cmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1h bDsgPQpvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg dGV4dC10cmFuc2Zvcm06ID0Kbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRv OyB3b3JkLXNwYWNpbmc6IDBweDsgPQotd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBj bGFzcz0zRCIiPlVzZXJzQG92aXJ0Lm9yZzwvYT48YnIgPQpzdHlsZT0zRCJmb250LWZhbWlseTog SGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgPQpmb250LXZh cmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1h bDsgPQpvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg dGV4dC10cmFuc2Zvcm06ID0Kbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRv OyB3b3JkLXNwYWNpbmc6IDBweDsgPQotd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBj bGFzcz0zRCIiPjxhID0KaHJlZj0zRCJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlz dGluZm8vdXNlcnMiIHN0eWxlPTNEImNvbG9yOiA9CnB1cnBsZTsgdGV4dC1kZWNvcmF0aW9uOiB1 bmRlcmxpbmU7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogPQoxMnB4OyBmb250 LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFs OyA9CmxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IGF1dG87IHRleHQtYWxpZ246IHN0 YXJ0OyB0ZXh0LWluZGVudDogPQowcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj ZTogbm9ybWFsOyB3aWRvd3M6IGF1dG87ID0Kd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4 dC1zdHJva2Utd2lkdGg6IDBweDsiID0KY2xhc3M9M0QiIj5odHRwOi8vbGlzdHMub3ZpcnQub3Jn L21haWxtYW4vbGlzdGluZm8vdXNlcnM8L2E+PC9kaXY+PC9ibG9ja3E9CnVvdGU+PC9kaXY+PGJy IGNsYXNzPTNEIiI+PC9ib2R5PjwvaHRtbD49CgotLUFwcGxlLU1haWw9XzY5MzI1MDYyLUMzMEIt NDYzQS1BQUEzLTM4NzM1RDJGQ0VFQS0tCg== --===============3153384188733526203==--