PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM6c3QxPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiDQp4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+DQo8bWV0YSBuYW1lPVByb2dJZCBjb250ZW50PVdvcmQuRG9jdW1lbnQ+DQo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxMSI+DQo8bWV0YSBuYW1lPU9yaWdpbmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTEiPg0KPGxpbmsgcmVsPUZpbGUtTGlzdCBocmVmPSJKRVRfUHJvZ3JhbW1pbmdfTWFudWFsX2ZpbGVzL2ZpbGVsaXN0LnhtbCI+DQo8bGluayByZWw9RWRpdC1UaW1lLURhdGEgaHJlZj0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9lZGl0ZGF0YS5tc28iPg0KPGxpbmsgcmVsPU9MRS1PYmplY3QtRGF0YSBocmVmPSJKRVRfUHJvZ3JhbW1pbmdfTWFudWFsX2ZpbGVzL29sZWRhdGEubXNvIj4NCjwhLS1baWYgIW1zb10+DQo8c3R5bGU+DQp2XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQpvXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQp3XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQouc2hhcGUge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30NCjwvc3R5bGU+DQo8IVtlbmRpZl0tLT4NCjx0aXRsZT5KRVQgUFJPR1JBTU1JTkcgTUFOVUFMPC90aXRsZT4NCjxvOlNtYXJ0VGFnVHlwZSBuYW1lc3BhY2V1cmk9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNtYXJ0dGFncyINCiBuYW1lPSJwbGFjZSIvPg0KPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86RG9jdW1lbnRQcm9wZXJ0aWVzPg0KICA8bzpBdXRob3I+RGF2ZSBTcGFya3M8L286QXV0aG9yPg0KICA8bzpUZW1wbGF0ZT5TT05pVk9YIFRlY2huaWNhbCBOb3RlLmRvdDwvbzpUZW1wbGF0ZT4NCiAgPG86TGFzdEF1dGhvcj5KZW5uaWZlciBIcnVza2E8L286TGFzdEF1dGhvcj4NCiAgPG86UmV2aXNpb24+NTwvbzpSZXZpc2lvbj4NCiAgPG86VG90YWxUaW1lPjM0PC9vOlRvdGFsVGltZT4NCiAgPG86TGFzdFByaW50ZWQ+MjAwNi0wNi0zMFQxOTowNjowMFo8L286TGFzdFByaW50ZWQ+DQogIDxvOkNyZWF0ZWQ+MjAwOS0wMy0xM1QxODo0NTowMFo8L286Q3JlYXRlZD4NCiAgPG86TGFzdFNhdmVkPjIwMDktMDMtMTlUMTQ6MjA6MDBaPC9vOkxhc3RTYXZlZD4NCiAgPG86UGFnZXM+MTwvbzpQYWdlcz4NCiAgPG86V29yZHM+Mzg4NzwvbzpXb3Jkcz4NCiAgPG86Q2hhcmFjdGVycz4yMjE1NzwvbzpDaGFyYWN0ZXJzPg0KICA8bzpDb21wYW55PiA8L286Q29tcGFueT4NCiAgPG86TGluZXM+MTg0PC9vOkxpbmVzPg0KICA8bzpQYXJhZ3JhcGhzPjUxPC9vOlBhcmFncmFwaHM+DQogIDxvOkNoYXJhY3RlcnNXaXRoU3BhY2VzPjI1OTkzPC9vOkNoYXJhY3RlcnNXaXRoU3BhY2VzPg0KICA8bzpWZXJzaW9uPjExLjk5OTk8L286VmVyc2lvbj4NCiA8L286RG9jdW1lbnRQcm9wZXJ0aWVzPg0KIDxvOk9mZmljZURvY3VtZW50U2V0dGluZ3M+DQogIDxvOkFsbG93UE5HLz4NCiA8L286T2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDx3OldvcmREb2N1bWVudD4NCiAgPHc6RHJhd2luZ0dyaWRIb3Jpem9udGFsU3BhY2luZz42IHB0PC93OkRyYXdpbmdHcmlkSG9yaXpvbnRhbFNwYWNpbmc+DQogIDx3OkRyYXdpbmdHcmlkVmVydGljYWxTcGFjaW5nPjguMTUgcHQ8L3c6RHJhd2luZ0dyaWRWZXJ0aWNhbFNwYWNpbmc+DQogIDx3OkRpc3BsYXlIb3Jpem9udGFsRHJhd2luZ0dyaWRFdmVyeT4yPC93OkRpc3BsYXlIb3Jpem9udGFsRHJhd2luZ0dyaWRFdmVyeT4NCiAgPHc6RGlzcGxheVZlcnRpY2FsRHJhd2luZ0dyaWRFdmVyeT4yPC93OkRpc3BsYXlWZXJ0aWNhbERyYXdpbmdHcmlkRXZlcnk+DQogIDx3OlZhbGlkYXRlQWdhaW5zdFNjaGVtYXMvPg0KICA8dzpTYXZlSWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+DQogIDx3Oklnbm9yZU1peGVkQ29udGVudD5mYWxzZTwvdzpJZ25vcmVNaXhlZENvbnRlbnQ+DQogIDx3OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+ZmFsc2U8L3c6QWx3YXlzU2hvd1BsYWNlaG9sZGVyVGV4dD4NCiAgPHc6Q29tcGF0aWJpbGl0eT4NCiAgIDx3OkJyZWFrV3JhcHBlZFRhYmxlcy8+DQogICA8dzpTbmFwVG9HcmlkSW5DZWxsLz4NCiAgIDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4NCiAgIDx3OlVzZUFzaWFuQnJlYWtSdWxlcy8+DQogICA8dzpVc2VXb3JkMjAwMlRhYmxlU3R5bGVSdWxlcy8+DQogIDwvdzpDb21wYXRpYmlsaXR5Pg0KICA8dzpCcm93c2VyTGV2ZWw+TWljcm9zb2Z0SW50ZXJuZXRFeHBsb3JlcjQ8L3c6QnJvd3NlckxldmVsPg0KIDwvdzpXb3JkRG9jdW1lbnQ+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNlIiBMYXRlbnRTdHlsZUNvdW50PSIxNTYiPg0KIDwvdzpMYXRlbnRTdHlsZXM+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmICFtc29dPjxvYmplY3QNCiBjbGFzc2lkPSJjbHNpZDozODQ4MTgwNy1DQTBFLTQyRDItQkYzOS1CMzNBRjEzNUNDNEQiIGlkPWllb291aT48L29iamVjdD4NCjxzdHlsZT4NCnN0MVw6KntiZWhhdmlvcjp1cmwoI2llb291aSkgfQ0KPC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPHN0eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglwYW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDsNCgltc28tZm9udC1jaGFyc2V0OjA7DQoJbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7DQoJbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7DQoJbXNvLWZvbnQtc2lnbmF0dXJlOjE2Mjc0MjEzMTkgLTIxNDc0ODM2NDggOCAwIDY2MDQ3IDA7fQ0KIC8qIFN0eWxlIERlZmluaXRpb25zICovDQogcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttc28tc3R5bGUtcGFyZW50OiIiOw0KCW1hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCmgxDQoJe21zby1zdHlsZS1uZXh0Ok5vcm1hbDsNCgltYXJnaW4tdG9wOjEyLjBwdDsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206My4wcHQ7DQoJbWFyZ2luLWxlZnQ6MGluOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOw0KCW1zby1vdXRsaW5lLWxldmVsOjE7DQoJZm9udC1zaXplOjE2LjBwdDsNCglmb250LWZhbWlseTpBcmlhbDsNCgltc28tZm9udC1rZXJuaW5nOjE2LjBwdDt9DQpoMg0KCXttc28tc3R5bGUtbGluazoiSGVhZGluZyAyIENoYXIiOw0KCW1zby1zdHlsZS1uZXh0Ok5vcm1hbDsNCgltYXJnaW4tdG9wOjEyLjBwdDsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206My4wcHQ7DQoJbWFyZ2luLWxlZnQ6MGluOw0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOw0KCW1zby1vdXRsaW5lLWxldmVsOjI7DQoJZm9udC1zaXplOjE0LjBwdDsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXN0eWxlOml0YWxpYzt9DQpoMw0KCXttc28tc3R5bGUtbmV4dDpOb3JtYWw7DQoJbWFyZ2luLXRvcDoxMi4wcHQ7DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltYXJnaW4tYm90dG9tOjMuMHB0Ow0KCW1hcmdpbi1sZWZ0OjBpbjsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsNCgltc28tb3V0bGluZS1sZXZlbDozOw0KCWZvbnQtc2l6ZToxMy4wcHQ7DQoJZm9udC1mYW1pbHk6QXJpYWw7fQ0KaDQNCgl7bXNvLXN0eWxlLW5leHQ6Tm9ybWFsOw0KCW1hcmdpbi10b3A6MTIuMHB0Ow0KCW1hcmdpbi1yaWdodDowaW47DQoJbWFyZ2luLWJvdHRvbTozLjBwdDsNCgltYXJnaW4tbGVmdDowaW47DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7DQoJbXNvLW91dGxpbmUtbGV2ZWw6NDsNCglmb250LXNpemU6MTIuMHB0Ow0KCW1zby1iaWRpLWZvbnQtc2l6ZToxNC4wcHQ7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJZm9udC1zdHlsZTppdGFsaWM7DQoJbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWw7fQ0KcC5Nc29Ub2MxLCBsaS5Nc29Ub2MxLCBkaXYuTXNvVG9jMQ0KCXttc28tc3R5bGUtdXBkYXRlOmF1dG87DQoJbXNvLXN0eWxlLW5vc2hvdzp5ZXM7DQoJbXNvLXN0eWxlLW5leHQ6Tm9ybWFsOw0KCW1hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCnAuTXNvVG9jMiwgbGkuTXNvVG9jMiwgZGl2Lk1zb1RvYzINCgl7bXNvLXN0eWxlLXVwZGF0ZTphdXRvOw0KCW1zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1zby1zdHlsZS1uZXh0Ok5vcm1hbDsNCgltYXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206MGluOw0KCW1hcmdpbi1sZWZ0OjEyLjBwdDsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KcC5Nc29Ub2MzLCBsaS5Nc29Ub2MzLCBkaXYuTXNvVG9jMw0KCXttc28tc3R5bGUtdXBkYXRlOmF1dG87DQoJbXNvLXN0eWxlLW5vc2hvdzp5ZXM7DQoJbXNvLXN0eWxlLW5leHQ6Tm9ybWFsOw0KCW1hcmdpbi10b3A6MGluOw0KCW1hcmdpbi1yaWdodDowaW47DQoJbWFyZ2luLWJvdHRvbTowaW47DQoJbWFyZ2luLWxlZnQ6MjQuMHB0Ow0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTpBcmlhbDsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQpwLk1zb1RvYzQsIGxpLk1zb1RvYzQsIGRpdi5Nc29Ub2M0DQoJe21zby1zdHlsZS11cGRhdGU6YXV0bzsNCgltc28tc3R5bGUtbm9zaG93OnllczsNCgltc28tc3R5bGUtbmV4dDpOb3JtYWw7DQoJbWFyZ2luLXRvcDowaW47DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltYXJnaW4tYm90dG9tOjBpbjsNCgltYXJnaW4tbGVmdDouNWluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTpBcmlhbDsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQpwLk1zb0NvbW1lbnRUZXh0LCBsaS5Nc29Db21tZW50VGV4dCwgZGl2Lk1zb0NvbW1lbnRUZXh0DQoJe21zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCnAuTXNvSGVhZGVyLCBsaS5Nc29IZWFkZXIsIGRpdi5Nc29IZWFkZXINCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCXRhYi1zdG9wczpjZW50ZXIgMy4waW4gcmlnaHQgNi4waW47DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTpBcmlhbDsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQpwLk1zb0Zvb3RlciwgbGkuTXNvRm9vdGVyLCBkaXYuTXNvRm9vdGVyDQoJe21hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCgl0YWItc3RvcHM6Y2VudGVyIDMuMGluIHJpZ2h0IDYuMGluOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KcC5Nc29DYXB0aW9uLCBsaS5Nc29DYXB0aW9uLCBkaXYuTXNvQ2FwdGlvbg0KCXttc28tc3R5bGUtbm9zaG93OnllczsNCgltc28tc3R5bGUtbmV4dDpOb3JtYWw7DQoJbWFyZ2luLXRvcDo2LjBwdDsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206Ni4wcHQ7DQoJbWFyZ2luLWxlZnQ6MGluOw0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7fQ0Kc3Bhbi5Nc29Db21tZW50UmVmZXJlbmNlDQoJe21zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1zby1hbnNpLWZvbnQtc2l6ZTo4LjBwdDsNCgltc28tYmlkaS1mb250LXNpemU6OC4wcHQ7fQ0KcC5Nc29UaXRsZSwgbGkuTXNvVGl0bGUsIGRpdi5Nc29UaXRsZQ0KCXttYXJnaW4tdG9wOjEyLjBwdDsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206My4wcHQ7DQoJbWFyZ2luLWxlZnQ6MGluOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbiBsaW5lcy10b2dldGhlcjsNCgltc28tb3V0bGluZS1sZXZlbDoxOw0KCWZvbnQtc2l6ZToxNi4wcHQ7DQoJbXNvLWJpZGktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpBcmlhbDsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tZm9udC1rZXJuaW5nOjE0LjBwdDsNCgltc28tYW5zaS1sYW5ndWFnZTpFTi1JRTsNCglmb250LXdlaWdodDpib2xkOw0KCW1zby1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbDt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe2NvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCgl0ZXh0LXVuZGVybGluZTpzaW5nbGU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe2NvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCXRleHQtdW5kZXJsaW5lOnNpbmdsZTt9DQpwLk1zb0NvbW1lbnRTdWJqZWN0LCBsaS5Nc29Db21tZW50U3ViamVjdCwgZGl2Lk1zb0NvbW1lbnRTdWJqZWN0DQoJe21zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1zby1zdHlsZS1wYXJlbnQ6IkNvbW1lbnQgVGV4dCI7DQoJbXNvLXN0eWxlLW5leHQ6IkNvbW1lbnQgVGV4dCI7DQoJbWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJZm9udC13ZWlnaHQ6Ym9sZDt9DQpwLk1zb0FjZXRhdGUsIGxpLk1zb0FjZXRhdGUsIGRpdi5Nc29BY2V0YXRlDQoJe21zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6OC4wcHQ7DQoJZm9udC1mYW1pbHk6VGFob21hOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCnNwYW4uSGVhZGluZzJDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDIgQ2hhciI7DQoJbXNvLXN0eWxlLWxvY2tlZDp5ZXM7DQoJbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiI7DQoJbXNvLWFuc2ktZm9udC1zaXplOjE0LjBwdDsNCgltc28tYmlkaS1mb250LXNpemU6MTQuMHB0Ow0KCWZvbnQtZmFtaWx5OkFyaWFsOw0KCW1zby1hc2NpaS1mb250LWZhbWlseTpBcmlhbDsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWJpZGktZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7DQoJbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVM7DQoJbXNvLWJpZGktbGFuZ3VhZ2U6QVItU0E7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglmb250LXN0eWxlOml0YWxpYzt9DQpwLlN0eWxlMSwgbGkuU3R5bGUxLCBkaXYuU3R5bGUxDQoJe21zby1zdHlsZS1uYW1lOlN0eWxlMTsNCgltc28tc3R5bGUtcGFyZW50OiJIZWFkaW5nIDQiOw0KCW1hcmdpbi10b3A6MTIuMHB0Ow0KCW1hcmdpbi1yaWdodDowaW47DQoJbWFyZ2luLWJvdHRvbTozLjBwdDsNCgltYXJnaW4tbGVmdDowaW47DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7DQoJbXNvLW91dGxpbmUtbGV2ZWw6NDsNCglmb250LXNpemU6MTIuMHB0Ow0KCW1zby1iaWRpLWZvbnQtc2l6ZToxNC4wcHQ7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglmb250LXN0eWxlOml0YWxpYzsNCgltc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbDt9DQpwLkNvZGUsIGxpLkNvZGUsIGRpdi5Db2RlDQoJe21zby1zdHlsZS1uYW1lOkNvZGU7DQoJbWFyZ2luLXRvcDowaW47DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltYXJnaW4tYm90dG9tOjBpbjsNCgltYXJnaW4tbGVmdDouNWluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCiAvKiBQYWdlIERlZmluaXRpb25zICovDQogQHBhZ2UNCgl7bXNvLWZvb3Rub3RlLXNlcGFyYXRvcjp1cmwoIkpFVF9Qcm9ncmFtbWluZ19NYW51YWxfZmlsZXMvaGVhZGVyLmh0bSIpIGZzOw0KCW1zby1mb290bm90ZS1jb250aW51YXRpb24tc2VwYXJhdG9yOnVybCgiSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9oZWFkZXIuaHRtIikgZmNzOw0KCW1zby1lbmRub3RlLXNlcGFyYXRvcjp1cmwoIkpFVF9Qcm9ncmFtbWluZ19NYW51YWxfZmlsZXMvaGVhZGVyLmh0bSIpIGVzOw0KCW1zby1lbmRub3RlLWNvbnRpbnVhdGlvbi1zZXBhcmF0b3I6dXJsKCJKRVRfUHJvZ3JhbW1pbmdfTWFudWFsX2ZpbGVzL2hlYWRlci5odG0iKSBlY3M7fQ0KQHBhZ2UgU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMjVpbiAxLjBpbiAxLjI1aW47DQoJbXNvLWhlYWRlci1tYXJnaW46LjVpbjsNCgltc28tZm9vdGVyLW1hcmdpbjouNWluOw0KCW1zby1mb290ZXI6dXJsKCJKRVRfUHJvZ3JhbW1pbmdfTWFudWFsX2ZpbGVzL2hlYWRlci5odG0iKSBmMTsNCgltc28tcGFwZXItc291cmNlOjA7fQ0KZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPg0KPCEtLVtpZiBndGUgbXNvIDEwXT4NCjxzdHlsZT4NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHRhYmxlLk1zb05vcm1hbFRhYmxlDQoJe21zby1zdHlsZS1uYW1lOiJUYWJsZSBOb3JtYWwiOw0KCW1zby10c3R5bGUtcm93YmFuZC1zaXplOjA7DQoJbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsNCgltc28tc3R5bGUtbm9zaG93OnllczsNCgltc28tc3R5bGUtcGFyZW50OiIiOw0KCW1zby1wYWRkaW5nLWFsdDowaW4gNS40cHQgMGluIDUuNHB0Ow0KCW1zby1wYXJhLW1hcmdpbjowaW47DQoJbXNvLXBhcmEtbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1hbnNpLWxhbmd1YWdlOiMwNDAwOw0KCW1zby1mYXJlYXN0LWxhbmd1YWdlOiMwNDAwOw0KCW1zby1iaWRpLWxhbmd1YWdlOiMwNDAwO30NCnRhYmxlLk1zb1RhYmxlR3JpZA0KCXttc28tc3R5bGUtbmFtZToiVGFibGUgR3JpZCI7DQoJbXNvLXRzdHlsZS1yb3diYW5kLXNpemU6MDsNCgltc28tdHN0eWxlLWNvbGJhbmQtc2l6ZTowOw0KCWJvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0Ow0KCW1zby1ib3JkZXItYWx0OnNvbGlkIHdpbmRvd3RleHQgLjVwdDsNCgltc28tcGFkZGluZy1hbHQ6MGluIDUuNHB0IDBpbiA1LjRwdDsNCgltc28tYm9yZGVyLWluc2lkZWg6LjVwdCBzb2xpZCB3aW5kb3d0ZXh0Ow0KCW1zby1ib3JkZXItaW5zaWRldjouNXB0IHNvbGlkIHdpbmRvd3RleHQ7DQoJbXNvLXBhcmEtbWFyZ2luOjBpbjsNCgltc28tcGFyYS1tYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWFuc2ktbGFuZ3VhZ2U6IzA0MDA7DQoJbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6IzA0MDA7DQoJbXNvLWJpZGktbGFuZ3VhZ2U6IzA0MDA7fQ0KPC9zdHlsZT4NCjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjUxMjIiPg0KICA8bzpjb2xvcm1lbnUgdjpleHQ9ImVkaXQiIGZpbGxjb2xvcj0ibm9uZSIgc3Ryb2tlY29sb3I9Im5vbmUiLz4NCiA8L286c2hhcGVkZWZhdWx0cz48L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIi8+DQogPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KDQo8Ym9keSBsYW5nPUVOLVVTIGxpbms9Ymx1ZSB2bGluaz1wdXJwbGUgc3R5bGU9J3RhYi1pbnRlcnZhbDouNWluJz4NCg0KPHByZT4NCiAgIENvcHlyaWdodCAoQykgMjAwOSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0DQoNCiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQoNCiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KDQogICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCjwvcHJlPg0KDQo8ZGl2IGNsYXNzPVNlY3Rpb24xPg0KDQo8cCBjbGFzcz1Nc29UaXRsZSBhbGlnbj1sZWZ0IHN0eWxlPSd0ZXh0LWFsaWduOmxlZnQnPjxhIG5hbWU9Il9Ub2MyMDMyOTIyNDYiPjwvYT48YQ0KbmFtZT0iX1RvYzIwMzI5ODA3NSI+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjkyMjQ2Jz48c3BhbiBsYW5nPUVOLUlFDQpzdHlsZT0nZm9udC1zaXplOjIwLjBwdCc+SkVUmSBQcm9ncmFtbWluZyBNYW51YWw8bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9hPjwvcD4NCg0KPHAgY2xhc3M9TXNvVGl0bGUgYWxpZ249bGVmdCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0Jz48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOg0KX1RvYzIwMzI5ODA3NSc+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjkyMjQ2Jz48c3BhbiBsYW5nPUVOLUlFPkpFVA0KSW50ZXJhY3RpdmUgTXVzaWMgRW5naW5lPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29UaXRsZSBhbGlnbj1sZWZ0IHN0eWxlPSd0ZXh0LWFsaWduOmxlZnQnPjxzcGFuIHN0eWxlPSdtc28tYm9va21hcms6DQpfVG9jMjAzMjk4MDc1Jz48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOl9Ub2MyMDMyOTIyNDYnPjxzcGFuIGxhbmc9RU4tSUUNCnN0eWxlPSdmb250LXNpemU6MTIuMHB0Jz5WcnMgMi4wPG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb1RpdGxlIGFsaWduPWxlZnQgc3R5bGU9J3RleHQtYWxpZ246bGVmdCc+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazoNCl9Ub2MyMDMyOTgwNzUnPjxzcGFuIHN0eWxlPSdtc28tYm9va21hcms6X1RvYzIwMzI5MjI0Nic+PHNwYW4gbGFuZz1FTi1JRQ0Kc3R5bGU9J2ZvbnQtc2l6ZToxMi4wcHQnPkF1dGhvcmVkIGJ5IFNPTmlWT1g8bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvVGl0bGUgYWxpZ249bGVmdCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0Jz48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOg0KX1RvYzIwMzI5ODA3NSc+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjkyMjQ2Jz48L3NwYW4+PC9zcGFuPjxhDQpocmVmPSJodHRwOi8vd3d3LnNvbml2b3hyb2Nrcy5jb20vIj48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOl9Ub2MyMDMyOTgwNzUnPjxzcGFuDQpzdHlsZT0nbXNvLWJvb2ttYXJrOl9Ub2MyMDMyOTIyNDYnPjxzcGFuIGxhbmc9RU4tSUUgc3R5bGU9J2ZvbnQtc2l6ZToxMi4wcHQnPnd3dy5zb25pdm94cm9ja3MuY29tPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4NCnN0eWxlPSdtc28tYm9va21hcms6X1RvYzIwMzI5ODA3NSc+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjkyMjQ2Jz48L3NwYW4+PC9zcGFuPjwvYT48c3Bhbg0Kc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjk4MDc1Jz48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOl9Ub2MyMDMyOTIyNDYnPjxzcGFuDQpsYW5nPUVOLUlFIHN0eWxlPSdmb250LXNpemU6MTIuMHB0Jz48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvVGl0bGUgYWxpZ249bGVmdCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0Jz48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOg0KX1RvYzIwMzI5ODA3NSc+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjkyMjQ2Jz48c3BhbiBsYW5nPUVOLUlFDQpzdHlsZT0nZm9udC1zaXplOjEyLjBwdCc+Q29weXJpZ2h0IDIwMDkgU29uaWMgTmV0d29yaywgSW5jLjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9wPg0KDQo8c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOl9Ub2MyMDMyOTIyNDYnPjwvc3Bhbj48c3BhbiBzdHlsZT0nbXNvLWJvb2ttYXJrOl9Ub2MyMDMyOTgwNzUnPjwvc3Bhbj4NCg0KPHAgY2xhc3M9TXNvQ29tbWVudFRleHQ+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb0hlYWRlcj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvSGVhZGVyPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8aDEgYWxpZ249bGVmdCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0Jz48YSBuYW1lPSJfVG9jMjAzMjk4MDgyIj48L2E+PGENCm5hbWU9Il9Ub2M0ODIxNjE1MTUiPjxzcGFuIHN0eWxlPSdtc28tYm9va21hcms6X1RvYzIwMzI5ODA4Mic+PGkNCnN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+SW50cm9kdWN0aW9uPC9pPjwvc3Bhbj48L2E+PGkNCnN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+PG86cD48L286cD48L2k+PC9oMT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlRoaXMgZG9jdW1lbnQgY29udGFpbnMgcHJvZ3JhbW1lciBndWlkZWxpbmVzIGZvciB0aGUgU09OaVZPWA0KSkVUIEludGVyYWN0aXZlIE11c2ljIFN5c3RlbS4gSkVUIGlzIGFuIGludGVyYWN0aXZlIG11c2ljIHBsYXllciBmb3Igc21hbGwNCmVtYmVkZGVkIGRldmljZXMsIGluY2x1ZGluZyB0aGUgR29vZ2xlIEFuZHJvaWQgcGxhdGZvcm0uIEl0IGFsbG93cyBhcHBsaWNhdGlvbnMNCnRvIGluY2x1ZGUgaW50ZXJhY3RpdmUgbXVzaWMgc291bmR0cmFja3MsIGluIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4NCmZvcm1hdCwgdGhhdCByZXNwb25kIGluIHJlYWwtdGltZSB0byBnYW1lIHBsYXkgZXZlbnRzIGFuZCB1c2VyIGludGVyYWN0aW9uLiA8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkpFVCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIFNPTmlWT1iScyBFbWJlZGRlZCBBdWRpbw0KU3ludGhlc2l6ZXIgKEVBUykgd2hpY2ggaXMgdGhlIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gcGxheWJhY2sNCmRldmljZSBmb3IgQW5kcm9pZC48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+Qm90aCB0aGUgSkVUIGFuZCBFQVMNCmVuZ2luZXMgYXJlIGludGVncmF0ZWQgaW50byB0aGUgQW5kcm9pZCBlbWJlZGRlZCBwbGF0Zm9ybSBhcyB3ZWxsIGFzIGluaGVyZW50DQppbiA8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPkpFVCBDcmVhdG9yPC9pPiwgYW4gYXBwbGljYXRpb24gZm9yDQphdXRob3JpbmcgSkVUIGNvbnRlbnQgZmlsZXMuIEFzIHN1Y2gsIHRoZSBKRVQgY29udGVudCBhdXRob3IgY2FuIGJlIHN1cmUgdGhhdA0KdGhlIHBsYXliYWNrIHdpbGwgc291bmQgZXhhY3RseSB0aGUgc2FtZSBpbiBib3RoIDxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOg0Kbm9ybWFsJz5KRVQgQ3JlYXRvcjwvaT4gYW5kIHRoZSBmaW5hbCBBbmRyb2lkIGFwcGxpY2F0aW9uIHBsYXlpbmcgYmFjayBvbg0KQW5kcm9pZCBtb2JpbGUgZGV2aWNlcy48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlRoZSBwcm9ncmFtbWVyIG9mIGEgSkVUIGFwcGxpY2F0aW9uIHdpbGwgd2FudCB0byB3b3JrDQpjbG9zZWx5IHdpdGggdGhlIGNvbnRlbnQgYXV0aG9yIGluIGRlc2lnbmluZyBob3cgcmVhbC10aW1lIGFwcGxpY2F0aW9uIGV2ZW50cw0KYW5kIG11c2ljIHdpbGwgaW50ZXJhY3RpdmVseSB3b3JrIHRvZ2V0aGVyLiBPbmNlIGRlY2lkZWQsIHRoZSBjb250ZW50IGF1dGhvcg0Kd2lsbCBjcmVhdGUgdGhlIGNvbnRlbnQgYW5kIHVsdGltYXRlbHkgc2F2ZSBhIC5qZXQgZmlsZSBmb3IgdGhlIHByb2dyYW1tZXIgdG8NCmluY2x1ZGUgaW4gdGhlIGFwcGxpY2F0aW9uLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+UGxlYXNlIHNlZSCTSkVUIENyZWF0b3IgVXNlciBEb2N1bWVudGF0aW9ulCBmb3IgYWRkaXRpb25hbA0KaW5mb3JtYXRpb24gb24gYXV0aG9yaW5nIEpFVCBjb250ZW50LjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8aDI+PGEgbmFtZT0iX1RvYzIwMzI5ODA4NCI+QWJicmV2aWF0aW9ucyBhbmQgQ29tbW9uIFRlcm1zPC9hPjwvaDI+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5JdCBpcyBpbXBvcnRhbnQgdG8gdXNlIGEgY29tbW9uIHNldCBvZiB0ZXJtcyB0byBtaW5pbWl6ZSBjb25mdXNpb24uDQpTaW5jZSBKRVQgdXNlcyA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IGluIGEgdW5pcXVlIHdheSwgbm9ybWFsDQppbmR1c3RyeSB0ZXJtcyBtYXkgbm90IGFsd2F5cyBzdWZmaWNlLiBIZXJlIGlzIHRoZSBkZWZpbml0aW9uIG9mIHRlcm1zIGFzIHRoZXkNCmFyZSB1c2VkIGluIHRoaXMgZG9jdW1lbnQgYW5kIGluIHRoZSBKRVQgQ3JlYXRvciBhcHBsaWNhdGlvbjo8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+Q2hhbm5lbDwvaT46IE1JREkgZGF0YQ0KYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBjaGFubmVsLg0KU3RhbmRhcmQgTUlESSBhbGxvd3MgZm9yIDE2IGNoYW5uZWxzIG9mIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4NCmRhdGEgZWFjaCBvZiB3aGljaCBhcmUgdHlwaWNhbGx5IGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIGluc3RydW1lbnQuIDwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5Db250cm9sbGVyPC9pPjogQSA8c3QxOnBsYWNlDQp3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBldmVudCBjb25zaXN0aW5nIG9mIGEgY2hhbm5lbCBudW1iZXIsIGNvbnRyb2xsZXINCm51bWJlciwgYW5kIGEgY29udHJvbGxlciB2YWx1ZS4gVGhlIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gc3BlYw0KYXNzb2NpYXRlcyBtYW55IGNvbnRyb2xsZXIgbnVtYmVycyB3aXRoIHNwZWNpZmljIGZ1bmN0aW9ucywgc3VjaCBhcyB2b2x1bWUsDQpleHByZXNzaW9uLCBzdXN0YWluIHBlZGFsLCBldGMuIEpFVCBhbHNvIHVzZXMgY29udHJvbGxlciBldmVudHMgYXMgYSBtZWFucyBvZg0KZW1iZWRkaW5nIHNwZWNpYWwgY29udHJvbCBpbmZvcm1hdGlvbiBpbiBhIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4NCnNlcXVlbmNlIHRvIHByb3ZpZGUgZm9yIGF1ZGlvIHN5bmNocm9uaXphdGlvbi48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+REFXPC9pPjogRGlnaXRhbCBBdWRpbw0KV29ya3N0YXRpb24uIEEgY29tbW9uIHRlcm0gZm9yIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gYW5kIGF1ZGlvDQpzZXF1ZW5jaW5nIGFwcGxpY2F0aW9ucyBzdWNoIGFzIExvZ2ljLCBTT05BUiwgQ3ViYXNlIGFuZCBvdGhlcnMuIDwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5FQVM6PC9pPiBFbWJlZGRlZCA8c3QxOnBsYWNlDQp3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBTeW50aGVzaXplci4gVGhlIG5hbWUgb2YgdGhlIFNPTmlWT1ggTUlESQ0Kc3ludGhlc2l6ZXIgZW5naW5lLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5KRVQ8L2k+OiBKZXQNCkludGVyYWN0aXZlIEVuZ2luZS4gVGhlIG5hbWUgb2YgdGhlIFNPTmlWT1ggSkVUIGludGVyYWN0aXZlIG11c2ljIGVuZ2luZS48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+U2VnbWVudDwvaT46IEEgbXVzaWNhbA0Kc2VjdGlvbiBzdWNoIGFzIGEgY2hvcnVzIG9yIHZlcnNlIHRoYXQgaXMgYSBjb21wb25lbnQgb2YgdGhlIG92ZXJhbGwNCmNvbXBvc2l0aW9uLiBJbiBKRVQsIGEgc2VnbWVudCBjYW4gYmUgYW4gZW50aXJlIE1JREkgZmlsZSBvciBhIGRlcml2ZWQgZnJvbSBhDQpwb3J0aW9uIG9mIGEgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBmaWxlLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5TTUYtMDwvaT46IFN0YW5kYXJkDQpNSURJIEZpbGUgVHlwZSAwLCBhIE1JREkgZmlsZSB0aGF0IGNvbnRhaW5zIGEgc2luZ2xlIHRyYWNrLCBidXQgbWF5IGJlIG1hZGUgdXANCm9mIG11bHRpcGxlIGNoYW5uZWxzIG9mIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gZGF0YS48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+U01GLTE8L2k+OiBTdGFuZGFyZA0KTUlESSBGaWxlIFR5cGUgMSwgYSBNSURJIGZpbGUgdGhhdCBjb250YWlucyBhIG9uZSBtb3JlIHRyYWNrcywgYW5kIGVhY2ggdHJhY2sNCm1heSBpbiB0dXJuIGJlIG1hZGUgdXAgb2Ygb25lIG9yIG1vcmUgY2hhbm5lbHMgb2YgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPg0KZGF0YS4gQnkgY29udmVudGlvbiwgZWFjaCBjaGFubmVsIGlzIHN0b3JlZCBvbiBhIHNlcGFyYXRlIHRyYWNrIGluIGFuIFNNRi0xDQpmaWxlLiBIb3dldmVyLCBpdCBpcyBwb3NzaWJsZSB0byBoYXZlIG11bHRpcGxlIE1JREkgY2hhbm5lbHMgb24gYSBzaW5nbGUgdHJhY2ssDQpvciBtdWx0aXBsZSB0cmFja3MgdGhhdCBjb250YWluIGRhdGEgZm9yIHRoZSBzYW1lIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4NCmNoYW5uZWwuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPlRyYWNrPC9pPjogQSBzaW5nbGUNCnRyYWNrIGluIGEgREFXIGNvbnRhaW5pbmcgYSB0aW1lZCBzZXF1ZW5jZSBvZiA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+DQpldmVudHMuIEJlIGNhcmVmdWwgbm90IHRvIGNvbmZ1c2UgVHJhY2tzIHdpdGggQ2hhbm5lbHMuIEEgTUlESSBmaWxlIG1heSBjb250YWluDQptYW55IHRyYWNrcyB3aXRoIHNldmVyYWwgdHJhY2tzIHV0aWxpemluZyB0aGUgc2FtZSA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+DQpjaGFubmVsLiA8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8aDEgYWxpZ249bGVmdCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0Jz48YSBuYW1lPSJfVG9jMjAzMjk4MDg1Ij48L2E+PGENCm5hbWU9Il9Ub2MxMzU3MjMwNzYiPjwvYT48YSBuYW1lPSJfVG9jMTM1NzIzNzkzIj48L2E+PGEgbmFtZT0iX1RvYzEzNTcyNDAxNiI+PC9hPjxhDQpuYW1lPSJfVG9jMTM1NzI0MjQxIj48L2E+PGEgbmFtZT0iX1RvYzEzNTcyNDQ2NCI+PC9hPjxhIG5hbWU9Il9Ub2MxMzU3MjQ2ODciPjwvYT48YQ0KbmFtZT0iX1RvYzEzNTcyNDkwOSI+PC9hPjxhIG5hbWU9Il9Ub2MxMzU3MjUxMzIiPjwvYT48YSBuYW1lPSJfVG9jMTM1NzI2NjA3Ij48L2E+PGENCm5hbWU9Il9Ub2MxMzU3Mjc3NzYiPjwvYT48YSBuYW1lPSJfVG9jMTM3MDA0NDUyIj48L2E+PGEgbmFtZT0iX1RvYzEzNTcyNDY4OSI+PC9hPjxhDQpuYW1lPSJfVG9jMTM1NzI0NDY3Ij48L2E+PHNwYW4gc3R5bGU9J21zby1ib29rbWFyazpfVG9jMjAzMjk4MDg1Jz5UaGUgSkVUDQpJbnRlcmFjdGl2ZSBNdXNpYyBDb25jZXB0PC9zcGFuPjwvaDE+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5JbnRlcmFjdGl2ZSBtdXNpYyBjYW4gYmUgZGVmaW5lZCBhcyBtdXNpYyB0aGF0IGNoYW5nZXMgaW4NCnJlYWwtdGltZSBhY2NvcmRpbmcgdG8gbm9uLXByZWRpY3RhYmxlIGV2ZW50cyBzdWNoIGFzIHVzZXIgaW50ZXJhY3Rpb24gb3IgZ2FtZQ0KcGxheSBldmVudHMuIEluIHRoaXMgd2F5LCBpbnRlcmFjdGl2ZSBtdXNpYyBpcyBtdWNoIG1vcmUgZW5nYWdpbmcgYXMgaXQgaGFzIHRoZQ0KYWJpbGl0eSB0byBtYXRjaCB0aGUgZW5lcmd5IGFuZCBtb29kIG9mIGEgZ2FtZSBtdWNoIGNsb3NlciB0aGFuIGEgcHJlLWNvbXBvc2VkDQpjb21wb3NpdGlvbiB0aGF0IG5ldmVyIGNoYW5nZXMuIEluIHNvbWUgYXBwbGljYXRpb25zIGFuZCBnYW1lcywgaW50ZXJhY3RpdmUNCm11c2ljIGlzIGNlbnRyYWwgdG8gdGhlIGdhbWUgcGxheS4gR3VpdGFyIEhlcm8gaXMgb25lIHN1Y2ggcG9wdWxhciBnYW1lLiBXaGVuDQp0aGUgZW5kIHVzZXIgc3VjY2Vzc2Z1bGx5IJFjYXB0dXJlc5IgdGhlIG11c2ljYWwgbm90ZXMgY29taW5nIGRvd24gdGhlIGZyZXQNCmJvYXJkLCB0aGUgbXVzaWMgYWRhcHRzIGl0c2VsZiBhbmQgc2ltdWx0YW5lb3VzbHkga2VlcHMgc2NvcmUgb2Ygc3VjY2Vzc2VzIGFuZA0KZmFpbHVyZXMuIEpFVCBhbGxvd3MgZm9yIHRoZXNlIHR5cGVzIG9mIG11c2ljIGRyaXZlbiBnYW1lcyBhcyB3ZWxsLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+VGhlcmUgYXJlIHNldmVyYWwgbWV0aG9kcyBmb3IgbWFraW5nIGFuZCBjb250cm9sbGluZw0KaW50ZXJhY3RpdmUgbXVzaWMgYW5kIEpFVCBpcyBvbmUgc3VjaCBtZXRob2QuIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlDQpmZWF0dXJlcyBvZiBKRVQgYW5kIGhvdyB0aGV5IG1pZ2h0IGJlIHVzZWQgaW4gYSBnYW1lIG9yIHNvZnR3YXJlIGFwcGxpY2F0aW9uLg0KSXQgYWxzbyBkZXNjcmliZXMgaG93IEpFVCBjYW4gYmUgdXNlZCB0byBzYXZlIG1lbW9yeSBpbiBzbWFsbCBmb290cHJpbnQgZGV2aWNlcw0Kc3VjaCBhcyBBbmRyb2lkIGVuYWJsZWQgbW9iaWxlIGhhbmRzZXRzLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8aDI+SkVUIE9wZXJhdGlvbjwvaDI+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5KRVQgc3VwcG9ydHMgYSBmbGV4aWJsZSBtdXNpYyBmb3JtYXQgdGhhdCBjYW4gYmUgdXNlZCB0bw0KY3JlYXRlIGV4dGVuZGVkIG11c2ljYWwgc2VxdWVuY2VzIHdpdGggYSBtaW5pbWFsIGFtb3VudCBvZiBkYXRhLiBBIG11c2ljYWwNCmNvbXBvc2l0aW9uIGlzIGJyb2tlbiB1cCBpbnRvIHNlZ21lbnRzIHRoYXQgY2FuIGJlIHNlcXVlbmNlZCB0byBjcmVhdGUgYSBsb25nZXINCnBpZWNlLiBUaGUgc2VxdWVuY2luZyBjYW4gYmUgZml4ZWQgYXQgdGhlIHRpbWUgdGhlIG11c2ljIGZpbGUgaXMgYXV0aG9yZWQsIG9yDQppdCBjYW4gYmUgY3JlYXRlZCBkeW5hbWljYWxseSB1bmRlciBwcm9ncmFtIGNvbnRyb2wuPC9wPg0KDQo8aDM+PHNwYW4gY2xhc3M9SGVhZGluZzJDaGFyPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTQuMHB0Jz5MaW5lYXIgTXVzaWMNCkV4YW1wbGU8bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9oMz4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjwhLS1baWYgZ3RlIHZtbCAxXT48djpzaGFwZXR5cGUgaWQ9Il94MDAwMF90NzUiIGNvb3Jkc2l6ZT0iMjE2MDAsMjE2MDAiDQogbzpzcHQ9Ijc1IiBvOnByZWZlcnJlbGF0aXZlPSJ0IiBwYXRoPSJtQDRANWxANEAxMUA5QDExQDlANXhlIiBmaWxsZWQ9ImYiDQogc3Ryb2tlZD0iZiI+DQogPHY6c3Ryb2tlIGpvaW5zdHlsZT0ibWl0ZXIiLz4NCiA8djpmb3JtdWxhcz4NCiAgPHY6ZiBlcW49ImlmIGxpbmVEcmF3biBwaXhlbExpbmVXaWR0aCAwIi8+DQogIDx2OmYgZXFuPSJzdW0gQDAgMSAwIi8+DQogIDx2OmYgZXFuPSJzdW0gMCAwIEAxIi8+DQogIDx2OmYgZXFuPSJwcm9kIEAyIDEgMiIvPg0KICA8djpmIGVxbj0icHJvZCBAMyAyMTYwMCBwaXhlbFdpZHRoIi8+DQogIDx2OmYgZXFuPSJwcm9kIEAzIDIxNjAwIHBpeGVsSGVpZ2h0Ii8+DQogIDx2OmYgZXFuPSJzdW0gQDAgMCAxIi8+DQogIDx2OmYgZXFuPSJwcm9kIEA2IDEgMiIvPg0KICA8djpmIGVxbj0icHJvZCBANyAyMTYwMCBwaXhlbFdpZHRoIi8+DQogIDx2OmYgZXFuPSJzdW0gQDggMjE2MDAgMCIvPg0KICA8djpmIGVxbj0icHJvZCBANyAyMTYwMCBwaXhlbEhlaWdodCIvPg0KICA8djpmIGVxbj0ic3VtIEAxMCAyMTYwMCAwIi8+DQogPC92OmZvcm11bGFzPg0KIDx2OnBhdGggbzpleHRydXNpb25vaz0iZiIgZ3JhZGllbnRzaGFwZW9rPSJ0IiBvOmNvbm5lY3R0eXBlPSJyZWN0Ii8+DQogPG86bG9jayB2OmV4dD0iZWRpdCIgYXNwZWN0cmF0aW89InQiLz4NCjwvdjpzaGFwZXR5cGU+PHY6c2hhcGUgaWQ9Il94MDAwMF9pMTAyNSIgdHlwZT0iI194MDAwMF90NzUiIHN0eWxlPSd3aWR0aDo0MzEuMjVwdDsNCiBoZWlnaHQ6Mjk0Ljc1cHQnIG86b2xlPSIiPg0KIDx2OmltYWdlZGF0YSBzcmM9IkpFVF9Qcm9ncmFtbWluZ19NYW51YWxfZmlsZXMvaW1hZ2UwMTMuZW16IiBvOnRpdGxlPSIiLz4NCjwvdjpzaGFwZT48IVtlbmRpZl0tLT48IVtpZiAhdm1sXT48aW1nIGJvcmRlcj0wIHdpZHRoPTU3NSBoZWlnaHQ9MzkzDQpzcmM9IkpFVF9Qcm9ncmFtbWluZ19NYW51YWxfZmlsZXMvaW1hZ2UwMDIucG5nIiB2OnNoYXBlcz0iX3gwMDAwX2kxMDI1Ij48IVtlbmRpZl0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86T0xFT2JqZWN0IFR5cGU9IkVtYmVkIiBQcm9nSUQ9IlZpc2lvLkRyYXdpbmcuMTEiIFNoYXBlSUQ9Il94MDAwMF9pMTAyNSINCiAgRHJhd0FzcGVjdD0iQ29udGVudCIgT2JqZWN0SUQ9Il8xMjk4OTYzMjM2Ij4NCiA8L286T0xFT2JqZWN0Pg0KPC94bWw+PCFbZW5kaWZdLS0+PC9wPg0KDQo8cCBjbGFzcz1Nc29DYXB0aW9uPkZpZ3VyZSA8IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuIHN0eWxlPSdtc28tZWxlbWVudDoNCmZpZWxkLWJlZ2luJz48L3NwYW4+PHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqA8L3NwYW4+U0VRIEZpZ3VyZSBcKiBBUkFCSUMNCjxzcGFuIHN0eWxlPSdtc28tZWxlbWVudDpmaWVsZC1zZXBhcmF0b3InPjwvc3Bhbj48IVtlbmRpZl0tLT48c3Bhbg0Kc3R5bGU9J21zby1uby1wcm9vZjp5ZXMnPjE8L3NwYW4+PCEtLVtpZiBzdXBwb3J0RmllbGRzXT48c3BhbiBzdHlsZT0nbXNvLWVsZW1lbnQ6DQpmaWVsZC1lbmQnPjwvc3Bhbj48IVtlbmRpZl0tLT46IExpbmVhciBNdXNpYyBQaWVjZTwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+VGhpcyBkaWFncmFtIHNob3dzIGhvdyBtdXNpY2FsIHNlZ21lbnRzIGFyZSBzdG9yZWQuIEVhY2gNCnNlZ21lbnQgaXMgYXV0aG9yZWQgYXMgYSBzZXBhcmF0ZSA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IGZpbGUuIEENCnBvc3QtcHJvY2Vzc2luZyB0b29sIGNvbWJpbmVzIHRoZSBmaWxlcyBpbnRvIGEgc2luZ2xlIGNvbnRhaW5lciBmaWxlLiBFYWNoDQpzZWdtZW50IGNhbiBjb250YWluIGFsdGVybmF0ZSBtdXNpYyB0cmFja3MgdGhhdCBjYW4gYmUgbXV0ZWQgb3IgdW4tbXV0ZWQgdG8NCmNyZWF0ZSBhZGRpdGlvbmFsIGludGVyZXN0LiBBbiBleGFtcGxlIG1pZ2h0IGJlIGEgYnJhc3MgYWNjZW50IGluIHRoZSBjaG9ydXMNCnRoYXQgaXMgcGxheWVkIG9ubHkgdGhlIGxhc3QgdGltZSB0aHJvdWdoLiBBbHNvLCBzZWdtZW50cyBjYW4gYmUgdHJhbnNwb3NlZCB1cA0Kb3IgZG93bi48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlRoZSBib3R0b20gcGFydCBvZiB0aGUgZGlhZ3JhbSBzaG93cyBob3cgdGhlIG11c2ljYWwNCnNlZ21lbnRzIGNhbiBiZSByZWNvbWJpbmVkIHRvIGNyZWF0ZSBhIGxpbmVhciBtdXNpYyBwaWVjZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUNCmJyaWRnZSBtaWdodCBlbmQgd2l0aCBhIGhhbGYtc3RlcCBrZXkgbW9kdWxhdGlvbiBhbmQgdGhlIHJlbWFpbmluZyBzZWdtZW50cw0KY291bGQgYmUgdHJhbnNwb3NlZCB1cCBhIGhhbGYtc3RlcCB0byBtYXRjaC48L3A+DQoNCjxoMz5Ob24tbGluZWFyIE11c2ljIEV4YW1wbGU8L2gzPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQnPjwhLS1baWYgZ3RlIHZtbCAxXT48djpzaGFwZQ0KIGlkPSJfeDAwMDBfaTEwMjYiIHR5cGU9IiNfeDAwMDBfdDc1IiBzdHlsZT0nd2lkdGg6NmluO2hlaWdodDoyOTEuNzVwdCcgbzpvbGU9IiI+DQogPHY6aW1hZ2VkYXRhIHNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAxNC5lbXoiIG86dGl0bGU9IiIvPg0KPC92OnNoYXBlPjwhW2VuZGlmXS0tPjwhW2lmICF2bWxdPjxpbWcgYm9yZGVyPTAgd2lkdGg9NTc2IGhlaWdodD0zODkNCnNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAwNC5wbmciIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjYiPjwhW2VuZGlmXT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpPTEVPYmplY3QgVHlwZT0iRW1iZWQiIFByb2dJRD0iVmlzaW8uRHJhd2luZy4xMSIgU2hhcGVJRD0iX3gwMDAwX2kxMDI2Ig0KICBEcmF3QXNwZWN0PSJDb250ZW50IiBPYmplY3RJRD0iXzEyOTg5NjMyMzciPg0KIDwvbzpPTEVPYmplY3Q+DQo8L3htbD48IVtlbmRpZl0tLT48L3A+DQoNCjxwIGNsYXNzPU1zb0NhcHRpb24+RmlndXJlIDwhLS1baWYgc3VwcG9ydEZpZWxkc10+PHNwYW4gc3R5bGU9J21zby1lbGVtZW50Og0KZmllbGQtYmVnaW4nPjwvc3Bhbj48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oDwvc3Bhbj5TRVEgRmlndXJlIFwqIEFSQUJJQw0KPHNwYW4gc3R5bGU9J21zby1lbGVtZW50OmZpZWxkLXNlcGFyYXRvcic+PC9zcGFuPjwhW2VuZGlmXS0tPjxzcGFuDQpzdHlsZT0nbXNvLW5vLXByb29mOnllcyc+Mjwvc3Bhbj48IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuIHN0eWxlPSdtc28tZWxlbWVudDoNCmZpZWxkLWVuZCc+PC9zcGFuPjwhW2VuZGlmXS0tPjogTm9uLWxpbmVhciBtdXNpYyBwaWVjZTwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+SW4gdGhpcyBkaWFncmFtLCB3ZSBzZWUgYSBub24tbGluZWFyIG11c2ljIHBpZWNlLiBUaGUNCnNjZW5hcmlvIGlzIGEgZmlyc3QtcGVyc29uLXNob290ZXIgKEZQUykgYW5kIEpFVCBpcyBwcm92aWRpbmcgdGhlIGJhY2tncm91bmQNCm11c2ljLiBUaGUgaW50cm8gcGxheXMgYXMgdGhlIGxldmVsIGlzIGxvYWRpbmcgYW5kIHRoZW4gdHJhbnNpdGlvbnMgdW5kZXINCnByb2dyYW0gY29udHJvbCB0byB0aGUgU2VhcmNoaW5nIHNlZ21lbnQuIFRoaXMgc2VnbWVudCBpcyByZXBlYXRlZA0KaW5kZWZpbml0ZWx5LCBwZXJoYXBzIHdpdGggc21hbGwgdmFyaWF0aW9ucyAodXNpbmcgdGhlIG11dGUvdW4tbXV0ZSBmZWF0dXJlKQ0KdW50aWwgYWN0aXZpdHkgaW4gdGhlIGdhbWUgZGljdGF0ZXMgYSBjaGFuZ2UuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5BcyB0aGUgcGxheWVyIG5lYXJzIGEgbW9uc3RlciBsYWlyLCB0aGUgcHJvZ3JhbSBzdGFydHMgYQ0Kc3luY2hyb25pemVkIHRyYW5zaXRpb24gdG8gdGhlIERhbmdlciBzZWdtZW50LCBpbmNyZWFzaW5nIHRoZSB0ZW5zaW9uIGxldmVsIGluDQp0aGUgYXVkaW8uIEFzIHRoZSBwbGF5ZXIgZHJhd3MgY2xvc2VyIHRvIHRoZSBsYWlyLCBhZGRpdGlvbmFsIHRyYWNrcyBhcmUNCnVuLW11dGVkIHRvIGluY3JlYXNlIHRoZSB0ZW5zaW9uLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+QXMgdGhlIHBsYXllciBlbnRlcnMgaW50byBjb21iYXQgd2l0aCB0aGUgbW9uc3RlciwgdGhlDQpwcm9ncmFtIHN0YXJ0cyBhIHN5bmNocm9uaXplZCB0cmFuc2l0aW9uIHRvIHRoZSBDb21iYXQgc2VnbWVudC4gVGhlIHNlZ21lbnQNCnJlcGVhdHMgaW5kZWZpbml0ZWx5IGFzIHRoZSBjb21iYXQgY29udGludWVzLiBBIEJvbnVzIEhpdCB0ZW1wb3JhcmlseSB1bi1tdXRlcw0KYSBkZWNvcmF0aXZlIHRyYWNrIHRoYXQgbm90aWZpZXMgdGhlIHBsYXllciBvZiBhIHN1Y2Nlc3NmdWwgYXR0YWNrLCBhbmQNCnNpbWlsYXJseSwgYW5vdGhlciB0cmFjayBpcyB0ZW1wb3JhcmlseSB1bi1tdXRlZCB0byBzaWduaWZ5IHdoZW4gdGhlIHBsYXllcg0KcmVjZWl2ZXMgU3BlY2lhbCBEYW1hZ2UuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5BdCB0aGUgZW5kIG9mIGNvbWJhdCwgdGhlIG11c2ljIHRyYW5zaXRpb25zIHRvIGEgdmljdG9yeSBvcg0KZGVmZWF0IHNlZ21lbnQgYmFzZWQgb24gdGhlIG91dGNvbWUgb2YgYmF0dGxlLjwvcD4NCg0KPGgzPk11dGUvVW4tbXV0ZSBTeW5jaHJvbml6YXRpb248L2gzPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+SkVUIGNhbiBhbHNvIHN5bmNocm9uaXplIHRoZSBtdXRpbmcgYW5kIHVuLW11dGluZyBvZiB0cmFja3MNCnRvIGV2ZW50cyBpbiB0aGUgbXVzaWMuIEZvciBleGFtcGxlLCBpbiB0aGUgRlBTIGdhbWUsIGl0IHdvdWxkIHByb2JhYmx5IGJlDQpkZXNpcmFibGUgdG8gcGxhY2UgdGhlIG11c2ljYWwgZXZlbnRzIHJlbGF0aW5nIHRvIGJvbnVzZXMgYW5kIGRhbWFnZSBhcyBjbG9zZQ0KdG8gdGhlIGFjdHVhbCBnYW1lIGV2ZW50IGFzIHBvc3NpYmxlLiBIb3dldmVyLCBzaW1wbHkgdW4tbXV0aW5nIGEgdHJhY2sgYXQgdGhlDQptb21lbnQgdGhlIGdhbWUgZXZlbnQgb2NjdXJzIG1pZ2h0IHJlc3VsdCBpbiBhIG11c2ljIGNsaXAgc3RhcnRpbmcgaW4gdGhlDQptaWRkbGUuIEFsdGVybmF0aXZlbHksIGEgY2xpcCBjb3VsZCBiZSBzdGFydGVkIGZyb20gdGhlIGJlZ2lubmluZywgYnV0IHRoZW4gaXQNCndvdWxkbpJ0IGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSBvdGhlciBtdXNpYyB0cmFja3MuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5Ib3dldmVyLCB3aXRoIHRoZSBKRVQgc3luYyBlbmdpbmUsIGEgY2xpcCBjYW4gYmUgc3RhcnRlZCBhdA0KdGhlIG5leHQgb3Bwb3J0dW5lIG1vbWVudCBhbmQgbWFpbnRhaW4gc3luY2hyb25pemF0aW9uLiBUaGlzIGNhbiBiZQ0KYWNjb21wbGlzaGVkIGJ5IHBsYWNpbmcgYSBudW1iZXIgb2Ygc2hvcnQgbXVzaWMgY2xpcHMgb24gYSBkZWNvcmF0aXZlIHRyYWNrLiBBIDxzdDE6cGxhY2UNCnc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IGV2ZW50IGluIHRoZSBzdHJlYW0gc2lnbmlmaWVzIHRoZSBzdGFydCBvZiBhIGNsaXANCmFuZCBhIHNlY29uZCBldmVudCBzaWduaWZpZXMgdGhlIGVuZCBvZiBhIGNsaXAuIFdoZW4gdGhlIGFwcGxpY2F0aW9uIGNhbGxzIHRoZQ0KSkVUIGNsaXAgZnVuY3Rpb24sIHRoZSBuZXh0IGNsaXAgaW4gdGhlIHRyYWNrIGlzIGFsbG93ZWQgdG8gcGxheSBmdWxseQ0Kc3luY2hyb25pemVkIHRvIHRoZSBtdXNpYy4gT3B0aW9uYWxseSwgdGhlIHRyYWNrIGNhbiBiZSBhdXRvbWF0aWNhbGx5IG11dGVkIGJ5DQphIHNlY29uZCA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IGV2ZW50LjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQnPjwhLS1baWYgZ3RlIHZtbCAxXT48djpzaGFwZQ0KIGlkPSJfeDAwMDBfaTEwMjciIHR5cGU9IiNfeDAwMDBfdDc1IiBzdHlsZT0nd2lkdGg6NmluO2hlaWdodDoxMTYuMjVwdCcgbzpvbGU9IiI+DQogPHY6aW1hZ2VkYXRhIHNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAxNS5lbXoiIG86dGl0bGU9IiIvPg0KPC92OnNoYXBlPjwhW2VuZGlmXS0tPjwhW2lmICF2bWxdPjxpbWcgYm9yZGVyPTAgd2lkdGg9NTc2IGhlaWdodD0xNTUNCnNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAwNi5wbmciIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjciPjwhW2VuZGlmXT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpPTEVPYmplY3QgVHlwZT0iRW1iZWQiIFByb2dJRD0iVmlzaW8uRHJhd2luZy4xMSIgU2hhcGVJRD0iX3gwMDAwX2kxMDI3Ig0KICBEcmF3QXNwZWN0PSJDb250ZW50IiBPYmplY3RJRD0iXzEyOTg5NjMyMzgiPg0KIDwvbzpPTEVPYmplY3Q+DQo8L3htbD48IVtlbmRpZl0tLT48L3A+DQoNCjxwIGNsYXNzPU1zb0NhcHRpb24+RmlndXJlIDwhLS1baWYgc3VwcG9ydEZpZWxkc10+PHNwYW4gc3R5bGU9J21zby1lbGVtZW50Og0KZmllbGQtYmVnaW4nPjwvc3Bhbj48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oDwvc3Bhbj5TRVEgRmlndXJlIFwqIEFSQUJJQw0KPHNwYW4gc3R5bGU9J21zby1lbGVtZW50OmZpZWxkLXNlcGFyYXRvcic+PC9zcGFuPjwhW2VuZGlmXS0tPjxzcGFuDQpzdHlsZT0nbXNvLW5vLXByb29mOnllcyc+Mzwvc3Bhbj48IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuIHN0eWxlPSdtc28tZWxlbWVudDoNCmZpZWxkLWVuZCc+PC9zcGFuPjwhW2VuZGlmXS0tPjogU3luY2hyb25pemVkIE11dGUvVW5tdXRlPC9wPg0KDQo8aDI+QXVkaW8gU3luY2hyb25pemF0aW9uPC9oMj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkpFVCBwcm92aWRlcyBhbiBhdWRpbyBzeW5jaHJvbml6YXRpb24gQVBJIHRoYXQgYWxsb3dzIGdhbWUNCnBsYXkgdG8gYmUgc3luY2hyb25pemVkIHRvIGV2ZW50cyBpbiB0aGUgYXVkaW8uIFRoZSBtZWNoYW5pc20gcmVsaWVzIG9uIGRhdGENCmVtYmVkZGVkIGluIHRoZSA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IGZpbGUgYXQgdGhlIHRpbWUgdGhlDQpjb250ZW50IGlzIGF1dGhvcmVkLiBXaGVuIHRoZSBKRVQgZW5naW5lIHNlbnNlcyBhbiBldmVudCBkdXJpbmcgcGxheWJhY2sgaXQNCmdlbmVyYXRlcyBhIGNhbGxiYWNrIGludG8gdGhlIGFwcGxpY2F0aW9uIHByb2dyYW0uIFRoZSB0aW1pbmcgb2YgdGhlIGNhbGxiYWNrDQpjYW4gYmUgYWRqdXN0ZWQgdG8gY29tcGVuc2F0ZSBmb3IgYW55IGxhdGVuY3kgaW4gdGhlIGF1ZGlvIHBsYXliYWNrIHN5c3RlbSBzbw0KdGhhdCBhdWRpbyBhbmQgdmlkZW8gY2FuIGJlIHN5bmNocm9uaXplZC4gVGhlIGRpYWdyYW0gYmVsb3cgc2hvd3MgYW4gZXhhbXBsZSBvZg0KYSBzaW1wbGUgbXVzaWMgZ2FtZSB0aGF0IGludm9sdmVzIHByZXNzaW5nIHRoZSBsZWZ0IGFuZCByaWdodCBhcnJvd3MgaW4gdGltZQ0Kd2l0aCB0aGUgbXVzaWMuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdwYWdlLWJyZWFrLWFmdGVyOmF2b2lkJz48IS0tW2lmIGd0ZSB2bWwgMV0+PHY6c2hhcGUNCiBpZD0iX3gwMDAwX2kxMDI4IiB0eXBlPSIjX3gwMDAwX3Q3NSIgc3R5bGU9J3dpZHRoOjZpbjtoZWlnaHQ6MTAwLjVwdCcgbzpvbGU9IiI+DQogPHY6aW1hZ2VkYXRhIHNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAxNi5lbXoiIG86dGl0bGU9IiIvPg0KPC92OnNoYXBlPjwhW2VuZGlmXS0tPjwhW2lmICF2bWxdPjxpbWcgYm9yZGVyPTAgd2lkdGg9NTc2IGhlaWdodD0xMzQNCnNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAwOC5wbmciIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjgiPjwhW2VuZGlmXT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpPTEVPYmplY3QgVHlwZT0iRW1iZWQiIFByb2dJRD0iVmlzaW8uRHJhd2luZy4xMSIgU2hhcGVJRD0iX3gwMDAwX2kxMDI4Ig0KICBEcmF3QXNwZWN0PSJDb250ZW50IiBPYmplY3RJRD0iXzEyOTg5NjMyMzkiPg0KIDwvbzpPTEVPYmplY3Q+DQo8L3htbD48IVtlbmRpZl0tLT48L3A+DQoNCjxwIGNsYXNzPU1zb0NhcHRpb24+RmlndXJlIDwhLS1baWYgc3VwcG9ydEZpZWxkc10+PHNwYW4gc3R5bGU9J21zby1lbGVtZW50Og0KZmllbGQtYmVnaW4nPjwvc3Bhbj48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oDwvc3Bhbj5TRVEgRmlndXJlIFwqIEFSQUJJQw0KPHNwYW4gc3R5bGU9J21zby1lbGVtZW50OmZpZWxkLXNlcGFyYXRvcic+PC9zcGFuPjwhW2VuZGlmXS0tPjxzcGFuDQpzdHlsZT0nbXNvLW5vLXByb29mOnllcyc+NDwvc3Bhbj48IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuIHN0eWxlPSdtc28tZWxlbWVudDoNCmZpZWxkLWVuZCc+PC9zcGFuPjwhW2VuZGlmXS0tPjogTXVzaWMgR2FtZTxzcGFuIHN0eWxlPSdtc28tbm8tcHJvb2Y6eWVzJz4gd2l0aA0KU3luY2hyb25pemF0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5UaGUgYXJyb3dzIHJlcHJlc2VudCBldmVudHMgaW4gdGhlIG11c2ljIHNlcXVlbmNlIHdoZXJlIGdhbWUNCmV2ZW50cyBuZWVkIHRvIGJlIHN5bmNocm9uaXplZC4gSW4gdGhpcyBjYXNlLCB0aGUgYmx1ZSBhcnJvdyByZXByZXNlbnRzIGEgdGltZQ0Kd2hlcmUgdGhlIHBsYXllciBpcyBzdXBwb3NlZCB0byBwcmVzcyB0aGUgbGVmdCBidXR0b24sIGFuZCB0aGUgcmVkIGFycm93IGlzIGZvcg0KdGhlIHJpZ2h0IGJ1dHRvbi4gVGhlIHllbGxvdyBhcnJvdyB0ZWxscyB0aGUgZ2FtZSBlbmdpbmUgdGhhdCB0aGUgc2VxdWVuY2UgaXMNCmNvbXBsZXRlLiBUaGUgcGxheWVyIGlzIGFsbG93ZWQgYSBjZXJ0YWluIHRpbWUgd2luZG93IGJlZm9yZSBhbmQgYWZ0ZXIgdGhlDQpldmVudCB0byBwcmVzcyB0aGUgYXBwcm9wcmlhdGUga2V5LjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+SWYgYW4gZXZlbnQgaXMgcmVjZWl2ZWQgYW5kIHRoZSBwbGF5ZXIgaGFzIG5vdCBwcmVzc2VkIGENCmJ1dHRvbiwgYSB0aW1lciBpcyBzZXQgdG8gaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSB3aW5kb3cuIElmIHRoZSBwbGF5ZXIgcHJlc3Nlcw0KdGhlIGJ1dHRvbiBiZWZvcmUgdGhlIHRpbWVyIGV4cGlyZXMsIHRoZSBnYW1lIHJlZ2lzdGVycyBhIHN1Y2Nlc3MsIGFuZCBpZiBub3QsDQp0aGUgZ2FtZSByZWdpc3RlcnMgYSBmYWlsdXJlLiA8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPklmIHRoZSBwbGF5ZXIgcHJlc3NlcyB0aGUgYnV0dG9uIGJlZm9yZSB0aGUgZXZlbnQgaXMNCnJlY2VpdmVkLCBhIHRpbWVyIGlzIHNldCB0byBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIHdpbmRvdy4gSWYgYW4gZXZlbnQgaXMNCnJlY2VpdmVkIGJlZm9yZSB0aGUgdGltZXIgZXhwaXJlcywgdGhlIGdhbWUgcmVnaXN0ZXJzIGEgc3VjY2VzcywgYW5kIGlmIG5vdCwNCnRoZSBnYW1lIHJlZ2lzdGVycyBhIGZhaWx1cmUuIEdhbWUgcGxheSBtaWdodCBhbHNvIGluY2x1ZGUgYm9udXNlcyBmb3IgZ2V0dGluZw0KY2xvc2UgdG8gdGhlIHRpbWluZyBvZiB0aGUgYWN0dWFsIGV2ZW50LiA8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPGgyPk9wZXJhdGlvbmFsIERldGFpbHM8L2gyPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+SkVUIHVzZXMgdGhlIHN0YW5kYXJkIEVBUyBsaWJyYXJ5IGNhbGxzIHRvIG1hbmFnZSBtdWx0aXBsZSA8c3QxOnBsYWNlDQp3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBzdHJlYW1zIHRoYXQgYXJlIHN5bmNocm9uaXplZCB0byBzb3VuZCBsaWtlIGENCnNlYW1sZXNzIGF1ZGlvIHRyYWNrLiBKRVQgcmVxdWlyZXMgdGhlIHVzZSBvZiB0aGUgZHluYW1pYyBtZW1vcnkgbW9kZWwsIGkuZS4NCnN1cHBvcnQgZm9yIG1hbGxvYygpIGFuZCBmcmVlKCkgbWVtb3J5IGFsbG9jYXRpb24gZnVuY3Rpb25zIG9yIHRoZWlyDQplcXVpdmFsZW50LiBKRVQgYWxzbyByZXF1aXJlcyB0aGUgRExTIHBhcnNlciBhbmQgc3ludGhlc2l6ZXIgbW9kdWxlIHRvIHN1cHBvcnQNCmN1c3RvbSBpbnN0cnVtZW50cyBpbiBKRVQgY29udGVudCBmaWxlcy48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkpFVCB1c2VzIHN0YW5kYXJkIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4NCmV2ZW50cyBmb3IgYXVkaW8gc3luY2hyb25pemF0aW9uLiBUaGlzIHNpbXBsaWZpZXMgdGhlIGF1dGhvcmluZyBwcm9jZXNzIGJ5DQphbGxvd2luZyBjb250ZW50IGF1dGhvcnMgdG8gdXNlIHRoZWlyIGZhdm9yaXRlIHRvb2xzIGZvciBkZXZlbG9waW5nIGNvbnRlbnQuDQpBZnRlciB0aGUgY29udGVudCBoYXMgYmVlbiBkZXZlbG9wZWQsIGEgc2ltcGxlIHBvc3QtcHJvY2Vzc2luZyB0b29sIHB1bGxzIHRoZQ0KY29udGVudCB0b2dldGhlciBpbnRvIGEgSkVUIGNvbXBhdGlibGUgY29udGVudCBmaWxlLjwvcD4NCg0KPGgzPlN5bmNocm9uaXphdGlvbiBFdmVudHM8L2gzPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+SkVUIHVzZXMgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBjb250cm9sbGVyDQpldmVudHMgdG8gc3luY2hyb25pemUgYXVkaW8uIFRoZSBjb250cm9sbGVycyB1c2VkIGJ5IEpFVCBhcmUgYW1vbmcgdGhvc2Ugbm90DQpkZWZpbmVkIGZvciBzcGVjaWZpYyB1c2UgYnkgdGhlIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4NCnNwZWNpZmljYXRpb24uIFRoZSBzcGVjaWZpYyBjb250cm9sbGVyIGRlZmluaXRpb25zIGFyZSBhcyBmb2xsb3dzOjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6MSc+oKCgoKCgoKCgoKAgPC9zcGFuPkNvbnRyb2xsZXJzDQo4MC04MzxzcGFuIHN0eWxlPSdtc28tdGFiLWNvdW50OjInPqCgoKCgoKCgoKCgoKCgoKAgPC9zcGFuPlJlc2VydmVkIGZvciB1c2UgYnkNCmFwcGxpY2F0aW9uPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6MSc+oKCgoKCgoKCgoKAgPC9zcGFuPkNvbnRyb2xsZXIgMTAyPHNwYW4NCnN0eWxlPSdtc28tdGFiLWNvdW50OjInPqCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgPC9zcGFuPkpFVCBldmVudCBtYXJrZXI8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nbXNvLXRhYi1jb3VudDoxJz6goKCgoKCgoKCgoCA8L3NwYW4+Q29udHJvbGxlcg0KMTAzPHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6Mic+oKCgoKCgoKCgoKCgoKCgoKCgoKCgoCA8L3NwYW4+SkVUIGNsaXAgbWFya2VyPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6MSc+oKCgoKCgoKCgoKAgPC9zcGFuPkNvbnRyb2xsZXJzDQoxMDQtMTE5PHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6Mic+oKCgoKCgoKCgoKCgIDwvc3Bhbj5SZXNlcnZlZCBmb3IgZnV0dXJlDQp1c2U8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPGg0PkNvbnRyb2xsZXJzIDgwLTgzIJYgQXBwbGljYXRpb24gQ29udHJvbGxlcnM8L2g0Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+VGhlIGFwcGxpY2F0aW9uIG1heSB1c2UgY29udHJvbGxlcnMgaW4gdGhpcyByYW5nZSBmb3IgaXRzDQpvd24gcHVycG9zZXMuIFdoZW4gYSBjb250cm9sbGVyIGluIHRoaXMgcmFuZ2UgaXMgZW5jb3VudGVyZWQsIHRoZSBldmVudCBpcw0KZW50ZXJlZCBpbnRvIGFuIGV2ZW50IHF1ZXVlIHRoYXQgY2FuIGJlIHF1ZXJpZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBTb21lDQpwb3NzaWJsZSB1c2VzIGluY2x1ZGUgc3luY2hyb25pemluZyB2aWRlbyBldmVudHMgd2l0aCBhdWRpbyBhbmQgbWFya2luZyBhIHBvaW50DQppbiBhIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gc2VnbWVudCB0byBxdWV1ZSB1cCB0aGUgbmV4dA0Kc2VnbWVudC4gVGhlIHJhbmdlIG9mIGNvbnRyb2xsZXJzIG1vbml0b3JlZCBieSB0aGUgYXBwbGljYXRpb24gY2FuIGJlIG1vZGlmaWVkDQpieSB0aGUgYXBwbGljYXRpb24gZHVyaW5nIGluaXRpYWxpemF0aW9uLjwvcD4NCg0KPGg0PkNvbnRyb2xsZXIgMTAyIJYgSkVUIEV2ZW50IE1hcmtlcjwvaDQ+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5Db250cm9sbGVyIDEwMiBpcyByZXNlcnZlZCBmb3IgbWFya2luZyBldmVudHMgaW4gdGhlIDxzdDE6cGxhY2UNCnc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IHN0cmVhbXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gSkVUIGZ1bmN0aW9uYWxpdHkuDQpDdXJyZW50bHksIHRoZSBvbmx5IGRlZmluZWQgdmFsdWUgaXMgMCwgd2hpY2ggbWFya3MgdGhlIGVuZCBvZiBhIHNlZ21lbnQgZm9yDQp0aW1pbmcgcHVycG9zZXMuIDwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+Tm9ybWFsbHksIEpFVCBzdGFydHMgcGxheWJhY2sgb2YgdGhlIG5leHQgc2VnbWVudCAob3INCnJlcGVhdHMgdGhlIGN1cnJlbnQgc2VnbWVudCkgd2hlbiB0aGUgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPg0KZW5kLW9mLXRyYWNrIG1ldGEtZXZlbnQgaXMgZW5jb3VudGVyZWQuIFNvbWUgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPg0KYXV0aG9yaW5nIHRvb2xzIG1ha2UgaXQgZGlmZmljdWx0IHRvIHBsYWNlIHRoZSBlbmQtb2YtdHJhY2sgbWFya2VyIGFjY3VyYXRlbHksDQpyZXN1bHRpbmcgaW4gc3luY2hyb25pemF0aW9uIHByb2JsZW1zIHdoZW4gc2VnbWVudHMgYXJlIGpvaW5lZCB0b2dldGhlci48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlRvIGF2b2lkIHRoaXMgcHJvYmxlbSwgdGhlIGF1dGhvciBjYW4gcGxhY2UgYSBKRVQNCmVuZC1vZi1zZWdtZW50IG1hcmtlciAoY29udHJvbGxlcj0xMDIsIHZhbHVlPTApIGF0IHRoZSBwb2ludCB3aGVyZSB0aGUgc2VnbWVudCBpcw0KdG8gYmUgbG9vcGVkLiBXaGVuIHRoZSBlbmQtb2Ytc2VnbWVudCBtYXJrZXIgaXMgZW5jb3VudGVyZWQsIHRoZSBuZXh0IHNlZ21lbnQNCndpbGwgYmUgdHJpZ2dlcmVkLCBvciBpZiB0aGUgY3VycmVudCBzZWdtZW50IGlzIGxvb3BlZCwgcGxheWJhY2sgd2lsbCByZXN1bWUgYXQNCnRoZSBzdGFydCBvZiB0aGUgc2VnbWVudC48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlRoZSBlbmQtb2Ytc2VnbWVudCBtYXJrZXIgY2FuIGFsc28gYmUgdXNlZCB0byBhbGxvdyBmb3INCmNvbXBsZXRpb24gb2YgYSBtdXNpY2FsIGZpZ3VyZSBiZXlvbmQgdGhlIGVuZCBvZiBtZWFzdXJlIHRoYXQgbWFya3MgdGhlIHN0YXJ0DQpvZiB0aGUgbmV4dCBzZWdtZW50LiBGb3IgZXhhbXBsZSwgdGhlIGNvbnRlbnQgYXV0aG9yIG1pZ2h0IGNyZWF0ZSBhIDQtYmFyDQpzZWdtZW50IHdpdGggYSBkcnVtIGZpbGwgdGhhdCBlbmRzIG9uIGJlYXQgMSBvZiB0aGUgNTxzdXA+dGg8L3N1cD4gYmFyIJYgYSBiYXINCmJleW9uZCB0aGUgbmF0dXJhbCBlbmQgb2YgdGhlIHNlZ21lbnQuIEJ5IHBsYWNpbmcgYW4gZW5kLW9mLXNlZ21lbnQgbWFya2VyIGF0DQp0aGUgZW5kIG9mIHRoZSA0PHN1cD50aDwvc3VwPiBiYXIsIHRoZSBuZXh0IHNlZ21lbnQgd2lsbCBiZSB0cmlnZ2VyZWQsIGJ1dCB0aGUNCmRydW0gZmlsbCB3aWxsIGNvbnRpbnVlIGluIHBhcmFsbGVsIHdpdGggdGhlIG5leHQgc2VnbWVudCBwcm92aWRpbmcgbXVzaWNhbA0KY29udGludWl0eS48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIGFsaWduPWNlbnRlciBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7cGFnZS1icmVhay1hZnRlcjphdm9pZCc+PCEtLVtpZiBndGUgdm1sIDFdPjx2OnNoYXBlDQogaWQ9Il94MDAwMF9pMTAyOSIgdHlwZT0iI194MDAwMF90NzUiIHN0eWxlPSd3aWR0aDozNTAuMjVwdDtoZWlnaHQ6MTM4Ljc1cHQnDQogbzpvbGU9IiI+DQogPHY6aW1hZ2VkYXRhIHNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAxNy5lbXoiIG86dGl0bGU9IiIvPg0KPC92OnNoYXBlPjwhW2VuZGlmXS0tPjwhW2lmICF2bWxdPjxpbWcgYm9yZGVyPTAgd2lkdGg9NDY3IGhlaWdodD0xODUNCnNyYz0iSkVUX1Byb2dyYW1taW5nX01hbnVhbF9maWxlcy9pbWFnZTAxMC5wbmciIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjkiPjwhW2VuZGlmXT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpPTEVPYmplY3QgVHlwZT0iRW1iZWQiIFByb2dJRD0iVmlzaW8uRHJhd2luZy4xMSIgU2hhcGVJRD0iX3gwMDAwX2kxMDI5Ig0KICBEcmF3QXNwZWN0PSJDb250ZW50IiBPYmplY3RJRD0iXzEyOTg5NjMyNDAiPg0KIDwvbzpPTEVPYmplY3Q+DQo8L3htbD48IVtlbmRpZl0tLT48L3A+DQoNCjxwIGNsYXNzPU1zb0NhcHRpb24gYWxpZ249Y2VudGVyIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+RmlndXJlIDwhLS1baWYgc3VwcG9ydEZpZWxkc10+PHNwYW4NCnN0eWxlPSdtc28tZWxlbWVudDpmaWVsZC1iZWdpbic+PC9zcGFuPjxzcGFuDQpzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oDwvc3Bhbj5TRVEgRmlndXJlIFwqIEFSQUJJQyA8c3BhbiBzdHlsZT0nbXNvLWVsZW1lbnQ6DQpmaWVsZC1zZXBhcmF0b3InPjwvc3Bhbj48IVtlbmRpZl0tLT48c3BhbiBzdHlsZT0nbXNvLW5vLXByb29mOnllcyc+NTwvc3Bhbj48IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuDQpzdHlsZT0nbXNvLWVsZW1lbnQ6ZmllbGQtZW5kJz48L3NwYW4+PCFbZW5kaWZdLS0+OiBFbmQtb2Ytc2VnbWVudCBNYXJrZXI8L3A+DQoNCjxoND5Db250cm9sbGVyIDEwMyCWIEpFVCBDbGlwIE1hcmtlcjwvaDQ+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5Db250cm9sbGVyIDEwMyBpcyByZXNlcnZlZCBmb3IgbWFya2luZyBjbGlwcyBpbiBhIDxzdDE6cGxhY2UNCnc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IHRyYWNrIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCBieSB0aGUgSkVUX1RyaWdnZXJDbGlwDQpBUEkgY2FsbC4gVGhlIGNsaXAgSUQgaXMgZW5jb2RlZCBpbiB0aGUgbG93IDYgYml0cyBvZiB0aGUgY29udHJvbGxlciB2YWx1ZS4gQml0DQo2IGlzIHNldCB0byBvbmUgdG8gaW5kaWNhdGUgdGhlIHN0YXJ0IG9mIGEgY2xpcCwgYW5kIHNldCB0byB6ZXJvIHRvIGluZGljYXRlDQp0aGUgZW5kIG9mIGEgY2xpcC48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkZvciBleGFtcGxlLCB0byBpZGVudGlmeSBhIGNsaXAgd2l0aCBhIGNsaXAgSUQgb2YgMSwgdGhlDQphdXRob3IgaW5zZXJ0cyBhIDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gY29udHJvbGxlciBldmVudCB3aXRoDQpjb250cm9sbGVyPTEwMyBhbmQgdmFsdWU9NjUgYXQgdGhlIHN0YXJ0IG9mIHRoZSBjbGlwIGFuZCBhbm90aGVyIGV2ZW50IHdpdGggY29udHJvbGxlcj0xMDMNCmFuZCB2YWx1ZT0xIGF0IHRoZSBlbmQgb2YgdGhlIGNsaXAuIFdoZW4gdGhlIEpFVF9UcmlnZ2VyQ2xpcCgpIGZ1bmN0aW9uIGlzDQpjYWxsZWQgd2l0aCBhIGNsaXAgSUQgb2YgMSwgdGhlIHRyYWNrIHdpbGwgYmUgdW4tbXV0ZWQgd2hlbiB0aGUgY29udHJvbGxlcg0KdmFsdWUgNjUgaXMgZW5jb3VudGVyZWQgYW5kIG11dGVkIGFnYWluIHdoZW4gdGhlIGNvbnRyb2xsZXIgdmFsdWUgMSBpcw0KZW5jb3VudGVyZWQuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBhbGlnbj1jZW50ZXIgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQnPjwhLS1baWYgZ3RlIHZtbCAxXT48djpzaGFwZQ0KIGlkPSJfeDAwMDBfaTEwMzAiIHR5cGU9IiNfeDAwMDBfdDc1IiBzdHlsZT0nd2lkdGg6MzY5cHQ7aGVpZ2h0OjI3NS4yNXB0Jw0KIG86b2xlPSIiPg0KIDx2OmltYWdlZGF0YSBzcmM9IkpFVF9Qcm9ncmFtbWluZ19NYW51YWxfZmlsZXMvaW1hZ2UwMTguZW16IiBvOnRpdGxlPSIiLz4NCjwvdjpzaGFwZT48IVtlbmRpZl0tLT48IVtpZiAhdm1sXT48aW1nIGJvcmRlcj0wIHdpZHRoPTQ5MiBoZWlnaHQ9MzY3DQpzcmM9IkpFVF9Qcm9ncmFtbWluZ19NYW51YWxfZmlsZXMvaW1hZ2UwMTIucG5nIiB2OnNoYXBlcz0iX3gwMDAwX2kxMDMwIj48IVtlbmRpZl0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86T0xFT2JqZWN0IFR5cGU9IkVtYmVkIiBQcm9nSUQ9IlZpc2lvLkRyYXdpbmcuMTEiIFNoYXBlSUQ9Il94MDAwMF9pMTAzMCINCiAgRHJhd0FzcGVjdD0iQ29udGVudCIgT2JqZWN0SUQ9Il8xMjk4OTYzMjQxIj4NCiA8L286T0xFT2JqZWN0Pg0KPC94bWw+PCFbZW5kaWZdLS0+PC9wPg0KDQo8cCBjbGFzcz1Nc29DYXB0aW9uIGFsaWduPWNlbnRlciBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXInPkZpZ3VyZSA8IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuDQpzdHlsZT0nbXNvLWVsZW1lbnQ6ZmllbGQtYmVnaW4nPjwvc3Bhbj48c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqA8L3NwYW4+U0VRIEZpZ3VyZSBcKiBBUkFCSUMgPHNwYW4gc3R5bGU9J21zby1lbGVtZW50Og0KZmllbGQtc2VwYXJhdG9yJz48L3NwYW4+PCFbZW5kaWZdLS0+PHNwYW4gc3R5bGU9J21zby1uby1wcm9vZjp5ZXMnPjY8L3NwYW4+PCEtLVtpZiBzdXBwb3J0RmllbGRzXT48c3Bhbg0Kc3R5bGU9J21zby1lbGVtZW50OmZpZWxkLWVuZCc+PC9zcGFuPjwhW2VuZGlmXS0tPjogU3luY2hyb25pemVkIENsaXA8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkluIHRoZSBmaWd1cmUgYWJvdmUsIGlmIHRoZSBKRVRfVHJpZ2dlckNsaXAoKSBmdW5jdGlvbiBpcw0KY2FsbGVkIHByaW9yIHRvIHRoZSBmaXJzdCBjb250cm9sbGVyIGV2ZW50LCBUcmFjayAzIHdpbGwgYmUgdW4tbXV0ZWQgd2hlbiB0aGUNCmZpcnN0IGNvbnRyb2xsZXIgZXZlbnQgb2NjdXJzLCB0aGUgZmlyc3QgY2xpcCB3aWxsIHBsYXksIGFuZCB0aGUgdHJhY2sgd2lsbCBiZQ0KbXV0ZWQgd2hlbiB0aGUgc2Vjb25kIGNvbnRyb2xsZXIgZXZlbnQgb2NjdXJzLiBJZiB0aGUgSkVUX1RyaWdnZXJDbGlwKCkNCmZ1bmN0aW9uIGlzIGNhbGxlZCBhZnRlciB0aGUgZmlyc3QgY29udHJvbGxlciBldmVudCBoYXMgb2NjdXJyZWQsIFRyYWNrIDMgd2lsbA0KYmUgdW4tbXV0ZWQgd2hlbiB0aGUgdGhpcmQgY29udHJvbGxlciBldmVudCBvY2N1cnMsIHRoZSBzZWNvbmQgY2xpcCB3aWxsIHBsYXksDQphbmQgdGhlIHRyYWNrIHdpbGwgYmUgbXV0ZWQgYWdhaW4gd2hlbiB0aGUgZm91cnRoIGNvbnRyb2xsZXIgZXZlbnQgb2NjdXJzLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGIgc3R5bGU9J21zby1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+Tm90ZTo8L2I+IE5vcm1hbGx5LA0KdGhlIHRyYWNrIGNvbnRhaW5pbmcgdGhlIGNsaXAgaXMgbXV0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHdoZW4gdGhlIHNlZ21lbnQgaXMNCmluaXRpYWxseSBxdWV1ZWQgYnkgdGhlIGNhbGwgdG8gSkVUX1F1ZXVlU2VnbWVudCgpLiBJZiBpdCBpcyBub3QgbXV0ZWQsIHRoZSBjbGlwDQp3aWxsIGFsd2F5cyBwbGF5IHVudGlsIEpldF9UcmlnZ2VyQ2xpcCgpIGhhcyBiZWVuIGNhbGxlZCB3aXRoIHRoZSBjbGlwIElELjwvcD4NCg0KPGgyPkpFVCBQcm9ncmFtbWluZzwvaDI+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5UaGUgSkVUIGxpYnJhcnkgYnVpbGRzIG9uIGZ1bmN0aW9uYWxpdHkgaW4gdGhlIEVBUyBsaWJyYXJ5Lg0KSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSByZWFkZXIgaXMgZmFtaWxpYXIgd2l0aCBFQVMgYW5kIGhhcyBpbXBsZW1lbnRlZCBiYXNpYw0KRUFTIGF1ZGlvIGZ1bmN0aW9uYWxpdHkgaW4gdGhlIGFwcGxpY2F0aW9uLiBTcGVjaWZpY2FsbHksIHRoZSBhcHBsaWNhdGlvbiBtdXN0DQpmaXJzdCBpbml0aWFsaXplIEVBUyBieSBjYWxsaW5nIEVBU19Jbml0KCkgYW5kIG11c3QgY2FsbCBFQVNfUmVuZGVyKCkgYXQNCmFwcHJvcHJpYXRlIHRpbWVzIHRvIHJlbmRlciBhdWRpbyBhbmQgc3RyZWFtIGl0IHRvIHRoZSBhdWRpbyBoYXJkd2FyZS4gSkVUIGFsc28NCnJlcXVpcmVzIHRoZSB1c2Ugb2YgdGhlIGR5bmFtaWMgbWVtb3J5IG1vZGVsIHdoaWNoIHVzZXMgbWFsbG9jKCkgYW5kIGZyZWUoKSBvcg0KZnVuY3Rpb25hbCBlcXVpdmFsZW50cy4gPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5Nb3N0IEpFVCBmdW5jdGlvbiBjYWxscyByZXR1cm4gYW4gRUFTX1JFU1VMVCB0eXBlIHdoaWNoDQpzaG91bGQgYmUgY2hlY2tlZCBhZ2FpbnN0IHRoZSBFQVNfU1VDQ0VTUyByZXR1cm4gY29kZS4gTW9zdCBmYWlsdXJlcyBhcmUgbm90DQpmYXRhbCwgaS5lLiB0aGV5IHdpbGwgbm90IHB1dCB0aGUgbGlicmFyeSBpbiBhIHN0YXRlIHdoZXJlIGl0IG11c3QgYmUNCnJlLWluaXRpYWxpemVkLiBIb3dldmVyLCBzb21lIGZhaWx1cmVzIHN1Y2ggYXMgbWVtb3J5IGFsbG9jYXRpb24gb3IgZmlsZQ0Kb3Blbi9yZWFkIGVycm9ycyB3aWxsIGxpa2VseSByZXN1bHQgaW4gdGhlIHNwZWNpZmljIG9wZW4gY29udGVudCBmYWlsaW5nIHRvDQpyZW5kZXIuPC9wPg0KDQo8aDM+SkVUIEFwcGxpY2F0aW9uIEluaXRpYWxpemF0aW9uPC9oMz4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlRoZSBKRVQgbGlicmFyeSBpcyBpbml0aWFsaXplZCBieSB0aGUgSkVUX0luaXQoKSBmdW5jdGlvbi4NClRoZSBhcHBsaWNhdGlvbiBtdXN0IGZpcnN0IGNhbGwgRUFTX0luaXQoKSBhbmQgdGhlbiBwYXNzIHRoZSBFQVMgZGF0YSBoYW5kbGUNCnJldHVybmVkIGJ5IEVBU19Jbml0KCkgdG8gdGhlIEpFVF9Jbml0KCkgZnVuY3Rpb24uIEN1cnJlbnRseSwgb25seSBhIHNpbmdsZSBKRVQNCmFwcGxpY2F0aW9uIGNhbiBiZSBhY3RpdmUgYXQgYSB0aW1lLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+VGhlIEpFVF9Jbml0IGZ1bmN0aW9uIHRha2VzIDMgYXJndW1lbnRzOiBUaGUgZmlyc3QgaXMgdGhlDQpFQVMgZGF0YSBoYW5kbGUuIFRoZSBzZWNvbmQgaXMgYSBwb2ludGVyIHRvIGEgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUNClNfSkVUX0NPTkZJRyBhbmQgdGhlIHRoaXJkIGlzIHRoZSBzaXplIG9mIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4gRm9yIG1vc3QNCmFwcGxpY2F0aW9ucywgaXQgaXMgc3VmZmljaWVudCB0byBwYXNzIGEgTlVMTCBwb2ludGVyIGFuZCBzaXplIDAgZm9yIHRoZQ0KY29uZmlndXJhdGlvbiBkYXRhLiA8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkhvd2V2ZXIsIGlmIGRlc2lyZWQsIHRoZSBjb25maWd1cmF0aW9uIGNhbiBiZSBtb2RpZmllZCB0bw0KYWxsb3cgdGhlIGFwcGxpY2F0aW9uIHRvIG1vbml0b3IgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPiBldmVudHMNCm91dHNpZGUgdGhlIG5vcm1hbCByYW5nZSBvZiBjb250cm9sbGVycyBhbGxvY2F0ZWQgZm9yIEpFVCBhcHBsaWNhdGlvbiBldmVudHMuDQpJbiB0aGlzIGNhc2UsIGEgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgc2hvdWxkIGJlIGFsbG9jYXRlZCBhbmQgdGhlIGRhdGEgZmllbGRzDQppbml0aWFsaXplZCB3aXRoIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMgd2l0aCB0aGUgbG93IGFuZCBoaWdoIGNvbnRyb2xsZXINCm51bWJlcnMgdG8gYmUgbW9uaXRvcmVkLiBUaGUgc2l6ZSBmaWVsZCBzaG91bGQgYmUgdGhlIHNpemVvZigpIG9mIHRoZSBkYXRhDQpzdHJ1Y3R1cmUuIFRoaXMgaXMgdG8gYWxsb3cgZm9yIGZ1dHVyZSBlbmhhbmNlbWVudCBvZiB0aGUgY29uZmlndXJhdGlvbiBkYXRhDQp3aGlsZSBtYWludGFpbmluZyBjb21wYXRpYmlsaXR5LjwvcD4NCg0KPGgzPkpFVCBBcHBsaWNhdGlvbiBUZXJtaW5hdGlvbjwvaDM+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5XaGVuIHRoZSBKRVQgYXBwbGljYXRpb24gdGVybWluYXRlcywgaXQgc2hvdWxkIGNhbGwNCkpFVF9TaHV0ZG93bigpIHRvIHJlbGVhc2UgdGhlIHJlc291cmNlcyBhbGxvY2F0ZWQgYnkgdGhlIEpFVCBlbmdpbmUuPHNwYW4NCnN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gIDwvc3Bhbj5JZiB0aGUgYXBwbGljYXRpb24gaGFzIG5vIG90aGVyIHVzZSBmb3IgdGhlDQpFQVMgbGlicmFyeSwgaXQgc2hvdWxkIGFsc28gY2FsbCBFQVNfU2h1dGRvd24oKS4gPC9wPg0KDQo8aDM+SkVUIEF1ZGlvIFByb2Nlc3Npbmc8L2gzPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+VG8gc3RhcnQgdGhlIEpFVCBlbmdpbmUsIHRoZSBjb250ZW50IG11c3QgZmlyc3QgYmUgb3BlbmVkDQp3aXRoIHRoZSBKRVRfT3BlbkZpbGUoKSBmdW5jdGlvbi4gSnVzdCBhcyB3aXRoIEVBU19PcGVuRmlsZSgpLCB0aGUgZmlsZSBsb2NhdG9yDQppcyBhbiBvcGFxdWUgdmFsdWUgdGhhdCBpcyBwYXNzZWQgdG8gdGhlIEVBU19IV09wZW5GaWxlKCkgZnVuY3Rpb24uIEl0IGNhbg0KZWl0aGVyIGJlIGEgcG9pbnRlciB0byBhIGZpbGVuYW1lLCBvciBhIHBvaW50ZXIgdG8gYW4gaW4tbWVtb3J5IG9iamVjdCwNCmRlcGVuZGluZyBvbiB0aGUgdXNlciBpbXBsZW1lbnRhdGlvbiBvZiBmaWxlIEkvTyBpbiB0aGUgZWFzX2hvc3QuYyBvcg0KZWFzX2hvc3RtbS5jIG1vZHVsZS4gT25seSBhIHNpbmdsZSBKRVQgY29udGVudCBmaWxlIGNhbiBiZSBvcGVuZWQgYXQgYSB0aW1lLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+T25jZSB0aGUgSkVUIGZpbGUgaXMgb3BlbmVkLCB0aGUgYXBwbGljYXRpb24gY2FuIGJlZ2luDQpxdWV1aW5nIHVwIHNlZ21lbnRzIGZvciBwbGF5YmFjayBieSBjYWxsaW5nIHRoZSBKRVRfUXVldWVTZWdtZW50KCkgZnVuY3Rpb24uDQpHZW5lcmFsbHksIGl0IGlzIGFkdmlzYWJsZSB0byBrZWVwIGEgbWluaW11bSBvZiB0d28gc2VnbWVudHMgcXVldWVkIGF0IGFsbA0KdGltZXM6PHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPnRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50DQpwbHVzIGFuIGFkZGl0aW9uYWwgc2VnbWVudCB0aGF0IGlzIHJlYWR5IHRvIHN0YXJ0IHBsYXlpbmcgd2hlbiB0aGUgY3VycmVudA0Kc2VnbWVudCBmaW5pc2hlcy4gSG93ZXZlciwgd2l0aCBwcm9wZXIgcHJvZ3JhbW1pbmcsIGl0IGlzIHBvc3NpYmxlIHRvIHF1ZXVlIHVwDQpzZWdtZW50cyB1c2luZyBhIJNqdXN0LWluLXRpbWWUIHRlY2huaXF1ZS4gVGhpcyB0ZWNobmlxdWUgdHlwaWNhbGx5IGludm9sdmVzDQpjYXJlZnVsIHBsYWNlbWVudCBvZiBhcHBsaWNhdGlvbiBjb250cm9sbGVyIGV2ZW50cyBuZWFyIHRoZSBlbmQgb2YgYSBzZWdtZW50IHNvDQp0aGF0IHRoZSBhcHBsaWNhdGlvbiBpcyBpbmZvcm1lZCB3aGVuIGEgc2VnbWVudCBpcyBhYm91dCB0byBlbmQuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5BZnRlciB0aGUgc2VnbWVudChzKSBhcmUgcXVldWVkIHVwLCBwbGF5YmFjayBjYW4gYmVnaW4uIEJ5DQpkZWZhdWx0LCB0aGUgc2VnbWVudHMgYXJlIGluaXRpYWxpemVkIGluIGEgcGF1c2VkIHN0YXRlLiBUbyBzdGFydCBwbGF5YmFjaywNCmNhbGwgdGhlIEpFVF9QbGF5KCkgZnVuY3Rpb24uIFBsYXliYWNrIGNhbiBiZSBwYXVzZWQgYWdhaW4gYnkgY2FsbGluZyB0aGUgSkVUX1BhdXNlKCkNCmZ1bmN0aW9uLiBPbmNlIGluaXRpYXRlZCwgcGxheWJhY2sgd2lsbCBjb250aW51ZSBhcyBsb25nIGFzIHRoZSBhcHBsaWNhdGlvbg0KY29udGludWVzIHRvIHF1ZXVlIHVwIG5ldyBzZWdtZW50cyBiZWZvcmUgYWxsIHRoZSBzZWdtZW50cyBpbiB0aGUgcXVldWUgYXJlDQpleGhhdXN0ZWQuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5UaGUgSkVUX1N0YXR1cygpIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIG1vbml0b3IgcHJvZ3Jlc3MuDQpJdCByZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2VnbWVudHMgcXVldWVkLCByZXBlYXQgY291bnQsIGN1cnJlbnQgc2VnbWVudCBJRCwgYW5kDQpwbGF5IHN0YXR1cy4gQnkgbW9uaXRvciB0aGUgbnVtYmVyIG9mIHNlZ21lbnRzIHF1ZXVlZCwgdGhlIGFwcGxpY2F0aW9uIGNhbg0KZGV0ZXJtaW5lIHdoZW4gaXQgbmVlZHMgdG8gcXVldWUgYW5vdGhlciBzZWdtZW50IGFuZCB3aGVuIHBsYXliYWNrIGhhcw0KY29tcGxldGVkLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+V2hlbiBwbGF5YmFjayBoYXMgY29tcGxldGVkIGFuZCB0aGUgYXBwbGljYXRpb24gaXMgZmluaXNoZWQNCndpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBjdXJyZW50bHkgb3BlbiBmaWxlLCB0aGUgYXBwbGljYXRpb24gc2hvdWxkIGNhbGwNCkpFVF9DbG9zZUZpbGUoKSB0byBjbG9zZSB0aGUgZmlsZSBhbmQgcmVsZWFzZSBhbnkgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUNCmZpbGUuPC9wPg0KDQo8aDQ+SkVUX0luaXQ8L2g0Pg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPkVBU19QVUJMSUMgRUFTX1JFU1VMVCBKRVRfSW5pdA0KKEVBU19EQVRBX0hBTkRMRSBlYXNIYW5kbGUsIFNfSkVUX0NPTkZJRyAqcENvbmZpZywgRUFTX0lOVCBjb25maWdTaXplKTwvcD4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkluaXRpYWxpemVzIEpFVCBsaWJyYXJ5IGZvciB1c2UgYnkgYXBwbGljYXRpb24uIE1vc3QNCmFwcGxpY2F0aW9uIHNob3VsZCBzaW1wbHkgcGFzcyBhIE5VTEwgZm9yIHBDb25maWcgYW5kIDAgZm9yIGNvbmZpZ1NpemUsIHdoaWNoDQptZWFucyB0aGF0IG9ubHkgY29udHJvbGxlciBldmVudHMgaW4gdGhlIGFwcGxpY2F0aW9uIHJhbmdlICg4MC04Mykgd2lsbCBlbmQgdXANCmluIHRoZSBhcHBsaWNhdGlvbiBldmVudCBxdWV1ZS4gSWYgZGVzaXJlZCwgdGhlIGFwcGxpY2F0aW9uIGNhbiBpbnN0YW50aWF0ZSBhbg0KU19KRVRfQ09ORklHIGRhdGEgc3RydWN0dXJlIGFuZCBzZXQgdGhlIGNvbnRyb2xsZXIgcmFuZ2UgdG8gYSBkaWZmZXJlbnQgcmFuZ2UuDQpJbiB0aGlzIGNhc2UsIHRoZSBjb25maWdTaXplIHBhcmFtZXRlciBzaG91bGQgYmUgc2V0IHRvIHNpemVvZihTX0pFVF9DT05GSUcpLjwvcD4NCg0KPGg0PkpFVF9TaHV0ZG93bjwvaDQ+DQoNCjxwIGNsYXNzPUNvZGUgc3R5bGU9J21hcmdpbi1sZWZ0OjBpbic+RUFTX1BVQkxJQyBFQVNfUkVTVUxUIEpFVF9TaHV0ZG93bg0KKEVBU19EQVRBX0hBTkRMRSBlYXNIYW5kbGUpPC9wPg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+UmVsZWFzZXMgcmVzb3VyY2VzIHVzZWQgYnkgdGhlIEpFVCBsaWJyYXJ5LiBUaGUgYXBwbGljYXRpb24NCnNob3VsZCBjYWxsIHRoaXMgZnVuY3Rpb24gd2hlbiBpdCBpcyBubyBsb25nZXIgdXNpbmcgdGhlIEpFVCBsaWJyYXJ5LjwvcD4NCg0KPGg0PkpFVF8gT3BlbkZpbGU8L2g0Pg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPkVBU19QVUJMSUMgRUFTX1JFU1VMVCBKRVRfT3BlbkZpbGUNCihFQVNfREFUQV9IQU5ETEUgZWFzSGFuZGxlLCBFQVNfRklMRV9MT0NBVE9SIGxvY2F0b3IpPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5PcGVucyBhIEpFVCBjb250ZW50IGZpbGUgZm9yIHBsYXliYWNrLiBDb250ZW50IG11c3QgYmUNCmZvcm1hdHRlZCBmb3IgdXNlIGJ5IHRoZSBKRVQgbGlicmFyeSwgd2hpY2ggaXMgdHlwaWNhbGx5IGFjY29tcGxpc2hlZCB3aXRoIHRoZQ0KamV0ZmlsZS5weSBzY3JpcHQgKHNlZSCTQ3JlYXRpbmcgSkVUIENvbnRlbnSUKS4gT25seSBhIHNpbmdsZSBKRVQgY29udGVudCBmaWxlDQpjYW4gYmUgb3BlbmVkIGF0IGEgdGltZS4gSG93ZXZlciwgc2luY2UgSkVUIGNhbiBjb250YWluIG1hbnkgPHN0MTpwbGFjZSB3OnN0PSJvbiI+TUlESTwvc3QxOnBsYWNlPg0KZmlsZXMgYW5kIERMUyBsaWJyYXJpZXMsIHRoaXMgbGltaXRhdGlvbiBpcyBub3JtYWxseSBub3QgYW4gaXNzdWUuPC9wPg0KDQo8aDQ+SkVUXyBDbG9zZUZpbGU8L2g0Pg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPkVBU19QVUJMSUMgRUFTX1JFU1VMVCBKRVRfQ2xvc2VGaWxlDQooRUFTX0RBVEFfSEFORExFIGVhc0hhbmRsZSk8L3A+DQoNCjxwIGNsYXNzPUNvZGUgc3R5bGU9J21hcmdpbi1sZWZ0OjBpbic+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5DbG9zZXMgYSBKRVQgZmlsZSBhbmQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBpdC48L3A+DQoNCjxoND5KRVRfIFN0YXR1czwvaDQ+DQoNCjxwIGNsYXNzPUNvZGUgc3R5bGU9J21hcmdpbi1sZWZ0OjBpbic+RUFTX1BVQkxJQyBFQVNfUkVTVUxUIEpFVF9TdGF0dXMNCihFQVNfREFUQV9IQU5ETEUgZWFzSGFuZGxlLCBTX0pFVF9TVEFUVVMgKnBTdGF0dXMpPC9wPg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+UmV0dXJucyB0aGUgY3VycmVudCBKRVQgc3RhdHVzLiBUaGUgZWxlbWVudHMgb2YgdGhlIHN0YXR1cw0KZGF0YSBzdHJ1Y3R1cmUgYXJlIGFzIGZvbGxvd3M6PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPUNvZGU+dHlwZWRlZiBzdHJ1Y3Qgc19qZXRfc3RhdHVzX3RhZzwvcD4NCg0KPHAgY2xhc3M9Q29kZT57PC9wPg0KDQo8cCBjbGFzcz1Db2RlPjxzcGFuIHN0eWxlPSdtc28tdGFiLWNvdW50OjEnPqCgoKAgPC9zcGFuPkVBU19JTlQgPHNwYW4NCnN0eWxlPSdtc28tdGFiLWNvdW50OjEnPqAgPC9zcGFuPmN1cnJlbnRVc2VySUQ7PC9wPg0KDQo8cCBjbGFzcz1Db2RlPjxzcGFuIHN0eWxlPSdtc28tdGFiLWNvdW50OjEnPqCgoKAgPC9zcGFuPkVBU19JTlQgPHNwYW4NCnN0eWxlPSdtc28tdGFiLWNvdW50OjEnPqAgPC9zcGFuPnNlZ21lbnRSZXBlYXRDb3VudDs8L3A+DQoNCjxwIGNsYXNzPUNvZGU+PHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6MSc+oKCgoCA8L3NwYW4+RUFTX0lOVCA8c3Bhbg0Kc3R5bGU9J21zby10YWItY291bnQ6MSc+oCA8L3NwYW4+bnVtUXVldWVkU2VnbWVudHM7PC9wPg0KDQo8cCBjbGFzcz1Db2RlPjxzcGFuIHN0eWxlPSdtc28tdGFiLWNvdW50OjEnPqCgoKAgPC9zcGFuPkVBU19CT09MIDxzcGFuDQpzdHlsZT0nbXNvLXRhYi1jb3VudDoxJz4gPC9zcGFuPnBhdXNlZDs8L3A+DQoNCjxwIGNsYXNzPUNvZGU+fSBTX0pFVF9TVEFUVVM7PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPmN1cnJlbnRVc2VySUQ8L2k+OiBBbg0KOC1iaXQgdmFsdWUgYXNzaWduZWQgYnkgdGhlIGFwcGxpY2F0aW9uLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+PG86cD4mbmJzcDs8L286cD48L2k+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5zZWdtZW50UmVwZWF0Q291bnQ8L2k+Og0KTnVtYmVyIG9mIHRpbWVzIGxlZnQgdG8gcmVwZWF0LiBaZXJvIGluZGljYXRlcyBubyByZXBlYXRzLCBhIG5lZ2F0aXZlIG51bWJlcg0KaW5kaWNhdGVzIGFuIGluZmluaXRlIG51bWJlciBvZiByZXBlYXRzLiBBbnkgcG9zaXRpdmUgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlDQpzZWdtZW50IHdpbGwgcGxheSBuKzEgdGltZXMuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPm51bVF1ZXVlZFNlZ21lbnRzPC9pPjoNCk51bWJlciBvZiBzZWdtZW50cyBjdXJyZW50bHkgcXVldWVkIHRvIHBsYXkgaW5jbHVkaW5nIHRoZSBjdXJyZW50bHkgcGxheWluZw0Kc2VnbWVudC4gQSB2YWx1ZSBvZiB6ZXJvIGluZGljYXRlcyB0aGF0IG5vdGhpbmcgaXMgcGxheWluZy4gTm9ybWFsbHksIHRoZQ0KYXBwbGljYXRpb24gd2lsbCBxdWV1ZSBhIG5ldyBzZWdtZW50IGVhY2ggdGltZSB0aGUgdmFsdWUgaXMgMSBzbyB0aGF0IHBsYXliYWNrDQppcyB1bmludGVycnVwdGVkLjwvcD4NCg0KPGg0PkpFVF8gUXVldWVTZWdtZW50PC9oND4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz5FQVNfUFVCTElDIEVBU19SRVNVTFQgSkVUX1F1ZXVlU2VnbWVudA0KKEVBU19EQVRBX0hBTkRMRSBlYXNIYW5kbGUsIEVBU19JTlQgc2VnbWVudE51bSwgRUFTX0lOVCBsaWJOdW0sIEVBU19JTlQNCnJlcGVhdENvdW50LCBFQVNfSU5UIHRyYW5zcG9zZSwgRUFTX1UzMiBtdXRlRmxhZ3MsIEVBU19VOCB1c2VySUQpPC9wPg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+UXVldWVzIHVwIGEgSkVUIE1JREkgc2VnbWVudCBmb3IgcGxheWJhY2suIFRoZSBwYXJhbWV0ZXJzDQphcmUgYXMgZm9sbG93czo8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+c2VnbWVudE51bTwvaT46DQpTZWdtZW50IG51bWJlciBhcyBpZGVudGlmaWVkIGluIHRoZSBKRVQgY29udGVudCBjb25maWd1cmF0aW9uIGZpbGUuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPmxpYk51bTwvaT46IFRoZSBsaWJyYXJ5DQpudW1iZXIgYXMgc3BlY2lmaWVkIGluIHRoZSBKRVQgY29udGVudCBjb25maWd1cmF0aW9uIGZpbGUuIFVzZSAtMSB0byBzZWxlY3QgdGhlDQpzdGFuZGFyZCBHZW5lcmFsIE1JREkgbGlicmFyeS48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+cmVwZWF0Q291bnQ8L2k+OiBUaGUNCm51bWJlciBvZiB0aW1lcyB0aGlzIHNlZ21lbnQgc2hvdWxkIHJlcGVhdC4gWmVybyBpbmRpY2F0ZXMgbm8gcmVwZWF0LCBpLmUuIHBsYXkNCm9ubHkgb25jZS4gQW55IHBvc2l0aXZlIG51bWJlciBpbmRpY2F0ZXMgdG8gcGxheSBuKzEgdGltZXMuIFNldCB0byAtMSB0byByZXBlYXQNCmluZGVmaW5pdGVseS48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+dHJhbnNwb3NlOjwvaT4gVGhlDQphbW91bnQgb2YgcGl0Y2ggdHJhbnNwb3NpdGlvbi4gU2V0IHRvIDAgZm9yIG5vcm1hbCBwbGF5YmFjay4gUmFuZ2UgaXMgLTEyIHRvDQorMTIuPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPm11dGVGbGFnczwvaT46DQpTcGVjaWZpYyB3aGljaCBNSURJIHRyYWNrcyAobm90IDxzdDE6cGxhY2UgdzpzdD0ib24iPk1JREk8L3N0MTpwbGFjZT4gY2hhbm5lbHMpDQpzaG91bGQgYmUgbXV0ZWQgZHVyaW5nIHBsYXliYWNrLiBUaGVzZSBmbGFncyBjYW4gYmUgY2hhbmdlZCBkeW5hbWljYWxseSB1c2luZw0KdGhlIG11dGUgZnVuY3Rpb25zLiBCaXQgMCA9IHRyYWNrIDAsIGJpdCAxID0gdHJhY2sgMSwgZXRjLjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz51c2VySUQ8L2k+OiA4LWJpdA0KdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBhcHBsaWNhdGlvbiB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHNlZ21lbnQuIFRoaXMNCnZhbHVlIGlzIHJldHVybmVkIGluIHRoZSBKRVRfU3RhdHVzKCkgZnVuY3Rpb24gYXMgd2VsbCBhcyBieSB0aGUgYXBwbGljYXRpb24NCmV2ZW50IHdoZW4gYW4gZXZlbnQgaXMgZGV0ZWN0ZWQgaW4gYSBzZWdtZW50LiBOb3JtYWxseSwgdGhlIGFwcGxpY2F0aW9uIGtlZXBzDQphbiA4LWJpdCB2YWx1ZSB0aGF0IGlzIGluY3JlbWVudGVkIGVhY2ggdGltZSBhIG5ldyBzZWdtZW50IGlzIHF1ZXVlZCB1cC4gVGhpcw0KY2FuIGJlIHVzZWQgdG8gbG9vayB1cCBhbnkgc3BlY2lhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhhdCB0cmFjayBpbmNsdWRpbmcNCnRyaWdnZXIgY2xpcHMgYW5kIG11dGUgZmxhZ3MuPC9wPg0KDQo8aDQ+SkVUXyBQbGF5PC9oND4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz5FQVNfUFVCTElDIEVBU19SRVNVTFQgSkVUX1BsYXkNCihFQVNfREFUQV9IQU5ETEUgZWFzSGFuZGxlKTwvcD4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPlN0YXJ0cyBwbGF5YmFjayBvZiB0aGUgY3VycmVudCBzZWdtZW50LiBUaGlzIGZ1bmN0aW9uIG11c3QNCmJlIGNhbGxlZCBvbmNlIGFmdGVyIHRoZSBpbml0aWFsIHNlZ21lbnRzIGFyZSBxdWV1ZWQgdXAgdG8gc3RhcnQgcGxheWJhY2suIEl0DQppcyBhbHNvIGNhbGxlZCBhZnRlciBKRVRfUGF1c2UoKSB0byByZXN1bWUgcGxheWJhY2suPC9wPg0KDQo8aDQ+SkVUXyBQYXVzZTwvaDQ+DQoNCjxwIGNsYXNzPUNvZGUgc3R5bGU9J21hcmdpbi1sZWZ0OjBpbic+RUFTX1BVQkxJQyBFQVNfUkVTVUxUIEpFVF9QYXVzZQ0KKEVBU19EQVRBX0hBTkRMRSBlYXNIYW5kbGUpPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5QYXVzZXMgcGxheWJhY2sgb2YgdGhlIGN1cnJlbnQgc2VnbWVudC4gQ2FsbCBKRVRfUGF1c2UoKSB0bw0KcmVzdW1lIHBsYXliYWNrLjwvcD4NCg0KPGg0PkpFVF8gU2V0TXV0ZUZsYWdzPC9oND4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz5FQVNfUFVCTElDIEVBU19SRVNVTFQgSkVUX1NldE11dGVGbGFncw0KKEVBU19EQVRBX0hBTkRMRSBlYXNIYW5kbGUsIEVBU19VMzIgbXV0ZUZsYWdzLCBFQVNfQk9PTCBzeW5jKTwvcD4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPk1vZGlmaWVzIHRoZSBtdXRlIGZsYWdzIGR1cmluZyBwbGF5YmFjay4gSWYgdGhlIDxpDQpzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPnN5bmM8L2k+IHBhcmFtZXRlciBpcyBmYWxzZSwgdGhlIG11dGUgZmxhZ3MNCmFyZSB1cGRhdGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5leHQgcmVuZGVyLiBUaGlzIG1lYW5zIHRoYXQgYW55IG5ldyBub3Rlcw0Kb3IgY29udHJvbGxlciBldmVudHMgd2lsbCBiZSBwcm9jZXNzZWQgZHVyaW5nIHRoZSBuZXh0IGF1ZGlvIGZyYW1lLiBJZiB0aGUgPGkNCnN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+c3luYzwvaT4gcGFyYW1ldGVyIGlzIHRydWUsIHRoZSBtdXRlIGZsYWdzDQp3aWxsIGJlIHVwZGF0ZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IHNlZ21lbnQuIElmIHRoZSBzZWdtZW50IGlzIHJlcGVhdGVkLA0KdGhlIGZsYWdzIHdpbGwgdGFrZSBlZmZlY3QgdGhlIG5leHQgdGltZSBzZWdtZW50IGlzIHJlcGVhdGVkLiA8L3A+DQoNCjxoND5KRVRfIFNldE11dGVGbGFnPC9oND4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz5FQVNfUFVCTElDIEVBU19SRVNVTFQgSkVUX1NldE11dGVGbGFnDQooRUFTX0RBVEFfSEFORExFIGVhc0hhbmRsZSwgRUFTX0lOVCB0cmFja051bSwgRUFTX0JPT0wgbXV0ZUZsYWcsIEVBU19CT09MIHN5bmMpPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+TW9kaWZpZXMgYSBtdXRlIGZsYWcgZm9yIGEgc2luZ2xlIHRyYWNrIGR1cmluZyBwbGF5YmFjay4gSWYNCnRoZSA8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPnN5bmM8L2k+IHBhcmFtZXRlciBpcyBmYWxzZSwgdGhlIG11dGUNCmZsYWcgaXMgdXBkYXRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IHJlbmRlci4gVGhpcyBtZWFucyB0aGF0IGFueSBuZXcNCm5vdGVzIG9yIGNvbnRyb2xsZXIgZXZlbnRzIHdpbGwgYmUgcHJvY2Vzc2VkIGR1cmluZyB0aGUgbmV4dCBhdWRpbyBmcmFtZS4gSWYNCnRoZSA8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPnN5bmM8L2k+IHBhcmFtZXRlciBpcyB0cnVlLCB0aGUgbXV0ZQ0KZmxhZyB3aWxsIGJlIHVwZGF0ZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IHNlZ21lbnQuIElmIHRoZSBzZWdtZW50IGlzDQpyZXBlYXRlZCwgdGhlIGZsYWcgd2lsbCB0YWtlIGVmZmVjdCB0aGUgbmV4dCB0aW1lIHNlZ21lbnQgaXMgcmVwZWF0ZWQuIDwvcD4NCg0KPGg0PkpFVF8gVHJpZ2dlckNsaXA8L2g0Pg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPkVBU19QVUJMSUMgRUFTX1JFU1VMVCBKRVRfVHJpZ2dlckNsaXANCihFQVNfREFUQV9IQU5ETEUgZWFzSGFuZGxlLCBFQVNfSU5UIGNsaXBJRCk8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPkF1dG9tYXRpY2FsbHkgdXBkYXRlcyBtdXRlIGZsYWdzIGluIHN5bmMgd2l0aCB0aGUgSkVUIENsaXANCk1hcmtlciAoY29udHJvbGxlciAxMDMpLiBUaGUgcGFyYW1ldGVyIDxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+Y2xpcElEPC9pPg0KbXVzdCBiZSBpbiB0aGUgcmFuZ2Ugb2YgMC02My4gQWZ0ZXIgdGhlIGNhbGwgdG8gSkVUX1RyaWdnZXJDbGlwLCB3aGVuIEpFVCBuZXh0DQplbmNvdW50ZXJzIGEgY29udHJvbGxlciBldmVudCAxMDMgd2l0aCBiaXRzIDAtNSBvZiB0aGUgdmFsdWUgZXF1YWwgdG8gPGkNCnN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+Y2xpcElEIDwvaT5hbmQ8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZToNCm5vcm1hbCc+IDwvaT5iaXQgNiBzZXQgdG8gMSwgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHVuLW11dGUgdGhlIHRyYWNrIGNvbnRhaW5pbmcNCnRoZSBjb250cm9sbGVyIGV2ZW50LiBXaGVuIEpFVCBlbmNvdW50ZXJzIHRoZSBjb21wbGVtZW50YXJ5IGNvbnRyb2xsZXIgZXZlbnQNCjEwMyB3aXRoIGJpdHMgMC01IG9mIHRoZSB2YWx1ZSBlcXVhbCB0byA8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPmNsaXBJRA0KPC9pPmFuZDxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+IDwvaT5iaXQgNiBzZXQgdG8gMCwgaXQgd2lsbCBtdXRlDQp0aGUgdHJhY2sgYWdhaW4uPC9wPg0KDQo8aDQ+SkVUXyBHZXRFdmVudDwvaDQ+DQoNCjxwIGNsYXNzPUNvZGUgc3R5bGU9J21hcmdpbi1sZWZ0OjBpbic+RUFTX0JPT0wgSkVUX0dldEV2ZW50IChFQVNfREFUQV9IQU5ETEUNCmVhc0hhbmRsZSwgRUFTX1UzMiAqcEV2ZW50UmF3LCBTX0pFVF9FVkVOVCAqcEV2ZW50KTwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+QXR0ZW1wdHMgdG8gcmVhZCBhbiBldmVudCBmcm9tIHRoZSBhcHBsaWNhdGlvbiBldmVudCBxdWV1ZSwNCnJldHVybiBFQVNfVFJVRSBpZiBhbiBldmVudCBpcyBmb3VuZCBhbmQgRUFTX0ZBTFNFIGlmIG5vdC4gSWYgdGhlIGFwcGxpY2F0aW9uDQpwYXNzZXMgYSB2YWxpZCBwb2ludGVyIGZvciA8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPnBFdmVudFJhdzwvaT4sDQphIDMyLWJpdCBjb21wcmVzc2VkIGV2ZW50IGNvZGUgaXMgcmV0dXJuZWQuIElmIHRoZSBhcHBsaWNhdGlvbiBwYXNzZXMgYSB2YWxpZA0KcG9pbnRlciBmb3IgPGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5wRXZlbnQ8L2k+LCB0aGUgZXZlbnQgaXMNCnBhcnNlZCBpbnRvIHRoZSBTX0pFVF9FVkVOVCBmaWVsZHMuIFRoZSBhcHBsaWNhdGlvbiBjYW4gcGFzcyBOVUxMIGZvciBlaXRoZXINCnBhcmFtZXRlciBhbmQgdGhhdCB2YXJpYWJsZSB3aWxsIGJlIGlnbm9yZWQuIE5vcm1hbGx5LCB0aGUgYXBwbGljYXRpb24gd2lsbA0KY2FsbCBKRVRfR2V0RXZlbnQoKSByZXBlYXRlZGx5IHRvIHJldHJpZXZlIGV2ZW50cyB1bnRpbCBpdCByZXR1cm5zIEVBU19GQUxTRS48L3A+DQoNCjxoND5KRVRfIFBhcnNlRXZlbnQ8L2g0Pg0KDQo8cCBjbGFzcz1Db2RlIHN0eWxlPSdtYXJnaW4tbGVmdDowaW4nPkVBU19QVUJMSUMgdm9pZCBKRVRfUGFyc2VFdmVudCAoRUFTX1UzMg0KZXZlbnQsIFNfSkVUX0VWRU5UICpwRXZlbnQpPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+UGFyc2VzIGEgMzItYml0IGNvbXByZXNzZWQgZXZlbnQgY29kZSBpbnRvIGEgZGF0YSBzdHJ1Y3R1cmUuDQpUaGUgYXBwbGljYXRpb24gcGFzc2VzIHRoZSBldmVudCBjb2RlIHJlY2VpdmVkIGZyb20gSkVUX0dldEV2ZW50KCkuIFRoZSBwYXJzZWQNCmV2ZW50IGRhdGEgaXMgcmV0dXJuZWQgaW4gdGhlIG1lbW9yeSBwb2ludGVkIHRvIGJ5IDxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOg0Kbm9ybWFsJz5wRXZlbnQ8L2k+LjwvcD4NCg0KPGg0PkpFVF9HZXRBcHBEYXRhPC9oND4NCg0KPHAgY2xhc3M9Q29kZSBzdHlsZT0nbWFyZ2luLWxlZnQ6MGluJz5FQVNfUkVTVUxUIEpFVF9HZXRBcHBEYXRhDQooRUFTX0RBVEFfSEFORExFIGVhc0hhbmRsZSwgRUFTX0kzMiAqcEFwcERhdGFPZmZzZXQsIEVBU19JMzIgKnBBcHBEYXRhU2l6ZSk8L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5SZXR1cm5zIHRoZSBvZmZzZXQgYW5kIHNpemUgb2YgdGhlIEpBUFAgY2h1bmsgaW4gdGhlIEpFVA0KZmlsZS4gVGhlIGFwcGxpY2F0aW9uIGNhbiB1c2UgdGhlIGZpbGUgSS9PIGZ1bmN0aW9ucyBpbiB0aGUgZWFzX2hvc3QgbW9kdWxlIHRvDQpyZXRyaWV2ZSBhcHBsaWNhdGlvbiBzcGVjaWZpYyBkYXRhIGZyb20gdGhlIGZpbGUuIDwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxoMj5DcmVhdGluZyBKRVQgQ29udGVudDwvaDI+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5KRVQgdXNlcyBzdGFuZGFyZCBNSURJIGZpbGVzIGFuZCBETFMgZmlsZXMgdGhhdCBjYW4gYmUNCmNyZWF0ZWQgd2l0aCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlIGNvbnRlbnQgdG9vbHMgc3VjaCBhcyBMb2dpYywgQ3ViYXNlLA0KRGlnaXRhbCBQZXJmb3JtZXIsIG9yIFNPTkFSIGZvciA8c3QxOnBsYWNlIHc6c3Q9Im9uIj5NSURJPC9zdDE6cGxhY2U+IGZpbGVzIGFuZA0KQXdhdmUgZm9yIERMUzIgZmlsZXMuIFRoZXNlIHNvdXJjZSBmaWxlcyBhcmUgdGhlbiBidW5kbGVkIGludG8gYSAuamV0IHBhY2thZ2UNCmZpbGUgc3VpdGFibGUgZm9yIHVzZSBpbiBhIEpFVCBhcHBsaWNhdGlvbi4gPC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5UbyBjcmVhdGUgSkVUIGZpbGUgdXNlIHRoZSCTSkVUIENyZWF0b3KUIGRlc2t0b3ANCmFwcGxpY2F0aW9uLiBUaGUgSkVUIENyZWF0b3IgYXBwbGljYXRpb24gaXMgd3JpdHRlbiBpbiBQeXRob24gYW5kIGluY2x1ZGVzIGENCmZ1bGwgZ3JhcGhpY2FsIGludGVyZmFjZS4gSXQgaXMgYXZhaWxhYmxlIGZvciBNQUMgYW5kIFBDIHBsYXRmb3Jtcy4gU2VlIJNKRVQNCkNyZWF0b3IgVXNlciBNYW51YWyUIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0K