PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgo8aHRtbCB4bWxuczp2PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIKeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIgp4bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIgp4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgo8bWV0YSBuYW1lPVByb2dJZCBjb250ZW50PVdvcmQuRG9jdW1lbnQ+CjxtZXRhIG5hbWU9R2VuZXJhdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDkiPgo8bWV0YSBuYW1lPU9yaWdpbmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgOSI+CjxsaW5rIHJlbD1GaWxlLUxpc3QgaHJlZj0iLi9Db2xsYXRlX2ZpbGVzL2ZpbGVsaXN0LnhtbCI+CjxsaW5rIHJlbD1FZGl0LVRpbWUtRGF0YSBocmVmPSIuL0NvbGxhdGVfZmlsZXMvZWRpdGRhdGEubXNvIj4KPCEtLVtpZiAhbXNvXT4KPHN0eWxlPgp2XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9Cm9cOioge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQouc2hhcGUge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30KPC9zdHlsZT4KPCFbZW5kaWZdLS0+Cjx0aXRsZT5JbnRlcm5hdGlvbmFsIENsYXNzZXMgZm9yIFVuaWNvZGUgLSBDb2xsYXRpb248L3RpdGxlPgo8IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDxvOkRvY3VtZW50UHJvcGVydGllcz4KICA8bzpBdXRob3I+SGVsZW5hIFNoaWg8L286QXV0aG9yPgogIDxvOlRlbXBsYXRlPk5vcm1hbDwvbzpUZW1wbGF0ZT4KICA8bzpMYXN0QXV0aG9yPkhlbGVuYSBTaGloPC9vOkxhc3RBdXRob3I+CiAgPG86UmV2aXNpb24+MjwvbzpSZXZpc2lvbj4KICA8bzpUb3RhbFRpbWU+MDwvbzpUb3RhbFRpbWU+CiAgPG86Q3JlYXRlZD4yMDAwLTAxLTE1VDAyOjIwOjAwWjwvbzpDcmVhdGVkPgogIDxvOkxhc3RTYXZlZD4yMDAwLTAxLTE1VDAyOjIwOjAwWjwvbzpMYXN0U2F2ZWQ+CiAgPG86UGFnZXM+NDwvbzpQYWdlcz4KICA8bzpXb3Jkcz45ODI8L286V29yZHM+CiAgPG86Q2hhcmFjdGVycz41NTk5PC9vOkNoYXJhY3RlcnM+CiAgPG86Q29tcGFueT5JQk08L286Q29tcGFueT4KICA8bzpMaW5lcz40NjwvbzpMaW5lcz4KICA8bzpQYXJhZ3JhcGhzPjExPC9vOlBhcmFncmFwaHM+CiAgPG86Q2hhcmFjdGVyc1dpdGhTcGFjZXM+Njg3NTwvbzpDaGFyYWN0ZXJzV2l0aFNwYWNlcz4KICA8bzpWZXJzaW9uPjkuMjcyMDwvbzpWZXJzaW9uPgogPC9vOkRvY3VtZW50UHJvcGVydGllcz4KPC94bWw+PCFbZW5kaWZdLS0+CjxzdHlsZT4KPCEtLQogLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAoJe21zby1zdHlsZS1wYXJlbnQ6IiI7CgltYXJnaW46MGluOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwoJZm9udC1zaXplOjEyLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpwCgl7Zm9udC1zaXplOjEyLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpAcGFnZSBTZWN0aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEuMjVpbiAxLjBpbiAxLjI1aW47Cgltc28taGVhZGVyLW1hcmdpbjouNWluOwoJbXNvLWZvb3Rlci1tYXJnaW46LjVpbjsKCW1zby1wYXBlci1zb3VyY2U6MDt9CmRpdi5TZWN0aW9uMQoJe3BhZ2U6U2VjdGlvbjE7fQogLyogTGlzdCBEZWZpbml0aW9ucyAqLwpAbGlzdCBsMAoJe21zby1saXN0LWlkOjU2Nzg2MTI4OwoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7Cgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6MzE2OTM1MDU4IDc5OTU4MDg0MCAtMjEyOTYwNDU2NiAxODk0Njk4NDI0IC0xODg2ODYxODEyIDEwNzY1NTg3NTIgLTEzMTY0Nzg3MjYgLTE2OTQ4Mzg1MjIgLTE5NjIxMDIyMTQgLTQzMjY0Nzc3NDt9CkBsaXN0IGwwOmxldmVsMQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6U3ltYm9sO30KQGxpc3QgbDEKCXttc28tbGlzdC1pZDoyMTgxMjg2MTQ7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczo3MjY0Mjc1NzIgLTIyMDgwNjQ3MCAtNTM1MDI4NjYyIC0xMTM5MDA4MDY4IDkyNjg1Nzg4MCAxOTI5MzE3NiAtMTMzNjI3MDAwOCAtNjI5OTEwNjUyIDE5NjEzODEwMzAgLTExMjY3MTI5ODt9CkBsaXN0IGwxOmxldmVsMQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6U3ltYm9sO30KQGxpc3QgbDIKCXttc28tbGlzdC1pZDozOTg1OTY2MjU7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczoxNTgxMTc0Njc0IC0xNDU3Nzc3ODk4IC0yMDg5OTExNTQ4IC0zNTg0Mjg5NDggLTcyNDQyNDQ5NiA0ODYzMDUzNDIgLTgwMzQ0MzM2MiAxMDI2OTI5OTggLTU1NzM5MzE1NCAtOTA1MDQ5MTM0O30KQGxpc3QgbDMKCXttc28tbGlzdC1pZDozOTk4MzY1ODU7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTM2MjA5ODg4NiAxMDUwMjE4MTIgLTEyMDMyMjE5NzAgNDAyOTUzMjE0IDExNjI2ODI5OCAxOTU3MDc1NjQyIC0yMTAzOTM1MzkwIDEzNTMxMDAyNiAyMDI0NjgzMDAwIC0xMTUwNTAzNjMyO30KQGxpc3QgbDQKCXttc28tbGlzdC1pZDo1MTI5NjM2NDc7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczo4NzA4OTE5NjYgNzE4NDE2MDM2IDE2MDYxNjY3NjggLTczNDkxNTczNiAtNDU3MTY2MzMwIDE1MDI0OTI3MDYgLTQ3MjM1NDg0NiAtMTYxNzUwMTY5MCAtMTI5ODczOTg0NCAtMTI2MzM2ODMyMDt9CkBsaXN0IGw0OmxldmVsMQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6U3ltYm9sO30KQGxpc3QgbDQ6bGV2ZWwyCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6bzsKCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiQ291cmllciBOZXciOwoJbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpAbGlzdCBsNQoJe21zby1saXN0LWlkOjEyMjgyOTY2NzM7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTEyNjM3MzQzNCA2NzIzMDAyMjAgLTEzOTA0Nzk3NjYgLTI0NzcwOTMwMiAtMTAwNTE4MzE3NiA1ODY0Mzc4ODggMTY4MzQ5MTgzMiAyMDUzODA0NjA2IC0xMTkyNDM2NTQyIC0xMDY0OTI2NzM0O30KQGxpc3QgbDU6bGV2ZWwxCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6XEYwQjc7Cgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseTpTeW1ib2w7fQpAbGlzdCBsNgoJe21zby1saXN0LWlkOjEyOTI3ODk3Nzk7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczotNTE3Njc4ODcwIDc1ODI1ODU2NiAxNDUyMzA1NTI0IDIyMzI3MDM1OCAtNTM4NDY3MDAgLTUxMzc0NzM4OCAtMjA2ODMxMzQ1OCAxNTkwNTg2NjgwIC0xNzcwOTA1NTUwIC0xOTQ3ODIxMjE2O30KQGxpc3QgbDY6bGV2ZWwxCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6XEYwQjc7Cgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseTpTeW1ib2w7fQpAbGlzdCBsNwoJe21zby1saXN0LWlkOjEzMTY4MzMxNDg7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczoxMzMyMTEzMjAwIC00MjQ4NzAxMDQgMTA1MTIwODE3NiA4OTI0ODk5OTYgLTEyMzMwNjY5NjggLTE4MTA0NjA1MDAgLTEwMjI0NjEzNjIgMjA0NDI0NTkxMCAtMTczNjE0NTI1MCAtMTA4MzEzNjk3NDt9CkBsaXN0IGw3OmxldmVsMQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6U3ltYm9sO30KQGxpc3QgbDgKCXttc28tbGlzdC1pZDoxMzI3MzkyMjY2OwoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7Cgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTE0MDM4ODM4MDggLTMyNjIwMTc0NiAtMTQ5ODA5ODk3OCAyNzM2OTYwNTggMTIyMDAzNzA5MiA5Nzg3MzMyMzAgLTE2ODY3MjQyMzYgLTIxMjk5OTk0NzYgMTk5NDY4ODM0NiAtMTYyNzY0MjgwO30KQGxpc3QgbDg6bGV2ZWwxCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6XEYwQjc7Cgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseTpTeW1ib2w7fQpAbGlzdCBsOQoJe21zby1saXN0LWlkOjE2NjI1NDExNTg7Cgltc28tbGlzdC10eXBlOmh5YnJpZDsKCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTY2NDk5NTk5NiAtMTcyMTg4MzgyMCAtMTM0NTg0NTUzNiAzMTQ0Njc2MjIgLTIyNTEyNTE5NiAyMTM0OTE2MzAyIDk3MDY0NjcxNiAyMDk3NTk0Njc0IDEzMjk3OTAxMjQgLTIwNTM5NzY0O30KQGxpc3QgbDk6bGV2ZWwxCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwoJbXNvLWxldmVsLXRleHQ6XEYwQjc7Cgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0uMjVpbjsKCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseTpTeW1ib2w7fQpAbGlzdCBsMTAKCXttc28tbGlzdC1pZDoxODAwNDE5MzkxOwoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7Cgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTE2MDE1MTQ4MCAxNDkwNDUwMTYwIDE2NDk3MDk0NzYgLTkxMjM3NzI3NiAtODQzMjk1OTc2IDk1NTU0MjQ1NCAtOTU4MDkwMzkyIDEwOTAxMzA0NzQgODk3MTkwMzcyIC0xMDY0NzczMTAyO30KQGxpc3QgbDEwOmxldmVsMQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKCW1zby1sZXZlbC10ZXh0OlxGMEI3OwoJbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cgl0ZXh0LWluZGVudDotLjI1aW47Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6U3ltYm9sO30KQGxpc3QgbDExCgl7bXNvLWxpc3QtaWQ6MTgwNDA3Njk4MjsKCW1zby1saXN0LXR5cGU6aHlicmlkOwoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjI2NzY5MzUyIC0xMjczNzAxOTg2IDgxOTYyNTIyMiAtMTM1NTc4NTE0MCAxMTI1MjgxMjU2IC01NjEyMzk2NDYgLTEyNjUzNTM1NjggNzIxNTc4MzkwIDg4MjgyNzUzNiAtMTUwNzU3MDU3Njt9Cm9sCgl7bWFyZ2luLWJvdHRvbTowaW47fQp1bAoJe21hcmdpbi1ib3R0b206MGluO30KLS0+Cjwvc3R5bGU+CjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgogPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNyIvPgo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4KICA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIvPgogPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPgo8L2hlYWQ+Cgo8Ym9keSBiZ2NvbG9yPXdoaXRlIGxhbmc9RU4tVVMgbGluaz1ibHVlIHZsaW5rPWJsdWUgc3R5bGU9J3RhYi1pbnRlcnZhbDouNWluJz4KCjxkaXYgY2xhc3M9U2VjdGlvbjE+Cgo8aDE+SW50ZXJuYXRpb25hbCBDb21wb25lbnRzIGZvciBVbmljb2RlPC9oMT4KCjxoMj5Db2xsYXRpb24gRnJhbWV3b3JrPC9oMj4KCgo8ZGl2IGNsYXNzPU1zb05vcm1hbCBhbGlnbj1jZW50ZXIgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz4KCjxociBzaXplPTIgd2lkdGg9IjEwMCUiIGFsaWduPWNlbnRlcj4KCjwvZGl2PgoKCjxoMz48dT5Db250ZW50czwvdT48L2gzPgoKPHVsIHR5cGU9ZGlzYz4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw0IGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4nPldoYXQgaXMgY29sbGF0aW9uPzwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsNCBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluJz5UaGUgcnVsZSBzeW1ib2xzIGFuZCB0aGVpcgogICAgIHVzYWdlPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw0IGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4nPkludGVyZXN0aW5nIEV4YW1wbGVzPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw0IGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4nPkltcGxlbWVudGF0aW9uIERldGFpbHM8L2xpPgogPHVsIHR5cGU9Y2lyY2xlPgogIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKICAgICAgYXV0bzttc28tbGlzdDpsNCBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbic+QnVpbGRpbmcgdGhlIENvbGxhdGlvbgogICAgICBUYWJsZTwvbGk+CiAgPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgogICAgICBhdXRvO21zby1saXN0Omw0IGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluJz5JbmNyZW1lbnRhbCBDb21wYXJpc29uCiAgICAgIERpYWdyYW08L2xpPgogIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKICAgICAgYXV0bzttc28tbGlzdDpsNCBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbic+R2VuZXJhdGluZyBhIENvbGxhdGlvbgogICAgICBUYWJsZTwvbGk+CiA8L3VsPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDQgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbic+USBhbmQgQTwvbGk+CjwvdWw+Cgo8aDM+PHU+V2hhdCBpcyBjb2xsYXRpb24/PC91PjwvaDM+Cgo8cD5Db2xsYXRpb24gZnJhbWV3b3JrIHBlcmZvcm1zIGxvY2FsZS1zZW5zaXRpdmUgc3RyaW5nIGNvbXBhcmlzb24uIFRoZSB1c2VyIG9mCnRoaXMgY2xhc3MgY2FuIHVzZSB0aGlzIGNsYXNzIHRvIGJ1aWxkIHNlYXJjaGluZyBhbmQgc29ydGluZyByb3V0aW5lcyBmb3IKbmF0dXJhbCBsYW5ndWFnZSB0ZXh0LCBidWlsZCB0YWJsZSBvZiBjb250ZW50cyBmb3IgbGFyZ2UgZG9jdW1lbnRhdGlvbiBvcgpjcmVhdGUgZWZmaWNpZW50IGluZGV4IGxvb2sgdXAgZm9yIGRhdGFiYXNlIGVudHJpZXMuPGJyPgo8YnI+ClRoZSBJQ1UgQ29sbGF0b3IgY2xhc3NlcyBwcm92aWRlcyBzZXJ2aWNlcyB0byBhbGxvdzogPC9wPgoKPHVsIHR5cGU9ZGlzYz4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxMCBsZXZlbDEgbGZvMjt0YWItc3RvcHM6bGlzdCAuNWluJz5TaW1wbGUsIGRhdGEtZHJpdmVuLCB0YWJsZQogICAgIGJhc2VkIGNvbGxhdGlvbi48L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDEwIGxldmVsMSBsZm8yO3RhYi1zdG9wczpsaXN0IC41aW4nPkVhc2lseSBjdXN0b21pemJsZSBmb3IgeW91cgogICAgIG5lZWRzLjwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsMTAgbGV2ZWwxIGxmbzI7dGFiLXN0b3BzOmxpc3QgLjVpbic+TWVyZ2luZyBkaWZmZXJlbnQgcmVzb3VyY2VzCiAgICAgbWFkZSBwb3NzaWJsZS48L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDEwIGxldmVsMSBsZm8yO3RhYi1zdG9wczpsaXN0IC41aW4nPkJlaGluZCB0aGUgc2NlbmUKICAgICB0cmFuc2Zvcm1pbmcgdGhlIEFTQ0lJIGRhdGEgZmlsZSBpbnRvIGEgYmluYXJ5IGZpbGUgZm9yIGVmZmljaWVuY3kuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxMCBsZXZlbDEgbGZvMjt0YWItc3RvcHM6bGlzdCAuNWluJz5PZmZlcmluZyBib3RoIGluY3JlbWVudGFsCiAgICAgY29tcGFyaXNvbiBmb3Igc2ltcGxlIGNvbXBhcmlzb24gYW5kIGNvbGxhdGlvbiBrZXlzIGZvciBiYXRjaCBwcm9jZXNzZXMuPC9saT4KPC91bD4KCjxwPlRoZXJlIGFyZSA0IGNvbXBhcmlzb24gbGV2ZWxzIGluIHRoZSBDb2xsYXRvciBjbGFzc2VzIHRvIGFsbG93IGRpZmZlcmVudApsZXZlbHMgb2YgZGlmZmVyZW5jZSB0byBiZSBjb25zaWRlcmVkIHNpZ25pZmljYW50OiA8L3A+Cgo8dWwgdHlwZT1kaXNjPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDYgbGV2ZWwxIGxmbzM7dGFiLXN0b3BzOmxpc3QgLjVpbic+UHJpbWFyeTogYSBsZXR0ZXIgZGlmZmVyZW5jZS4KICAgICBGb3IgZXhhbXBsZSwgJ2EnIGFuZCAnYicuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw2IGxldmVsMSBsZm8zO3RhYi1zdG9wczpsaXN0IC41aW4nPlNlY29uZGFyeTogYW4gYWNjZW50CiAgICAgZGlmZmVyZW5jZS4gRm9yIGV4YW1wbGUsICfkJyBhbmQgJ+UnLjwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsNiBsZXZlbDEgbGZvMzt0YWItc3RvcHM6bGlzdCAuNWluJz5UZXJ0aWFyeTogYSBjYXNlIGRpZmZlcmVuY2UuCiAgICAgRm9yIGV4YW1wbGUsICdhJyBhbmQgJ0EnLjwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsNiBsZXZlbDEgbGZvMzt0YWItc3RvcHM6bGlzdCAuNWluJz5JZGVudGljYWw6IG5vIGRpZmZlcmVuY2UuIEZvcgogICAgIGV4YW1wbGUsICdhJyBhbmQgJ2EnLjwvbGk+CjwvdWw+Cgo8aDM+PHU+VGhlIHJ1bGUgc3ltYm9scyBhbmQgdGhlaXIgdXNhZ2U8L3U+PC9oMz4KCjxwPkEgc3RyaW5nIGlzIGRlY29tcG9zZWQgdG8gYmUgb25lIG9yIG1vcmUgY29sbGF0aW9uIGVsZW1lbnRzIHdoZW4gdXNpbmcgd2l0aAp0aGUgY29sbGF0aW9uIGNsYXNzZXMuIFRoZSBjb2xsYXRpb24gcnVsZXMgc3BlY2lmeSB0aGUgb3JkZXIgb2YgdGhlc2UgY29sbGF0aW9uCmVsZW1lbnRzLiBUaGUgY29sbGF0aW9uIHRhYmxlIGlzIGNvbXBvc2VkIG9mIGEgbGlzdCBvZiBjb2xsYXRpb24gcnVsZXMsIHdoZXJlCmVhY2ggcnVsZSBpcyBvZiB0aHJlZSBmb3JtczogPC9wPgoKPG9sIHN0YXJ0PTEgdHlwZT0xPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDMgbGV2ZWwxIGxmbzQ7dGFiLXN0b3BzOmxpc3QgLjVpbic+Jmx0O21vZGlmaWVyJmd0OzwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsMyBsZXZlbDEgbGZvNDt0YWItc3RvcHM6bGlzdCAuNWluJz4mbHQ7cmVsYXRpb24mZ3Q7CiAgICAgJmx0O3RleHQtYXJndW1lbnQmZ3Q7PC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwzIGxldmVsMSBsZm80O3RhYi1zdG9wczpsaXN0IC41aW4nPiZsdDtyZXNldCZndDsKICAgICAmbHQ7dGV4dC1hcmd1bWVudDEmZ3Q7ICZsdDtyZWxhdGlvbiZndDsgJmx0O3RleHQtYXJndW1lbnQyJmd0OzwvbGk+Cjwvb2w+Cgo8aDQ+Jmx0O21vZGlmaWVyJmd0OzwvaDQ+Cgo8dWwgdHlwZT1kaXNjPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDcgbGV2ZWwxIGxmbzU7dGFiLXN0b3BzOmxpc3QgLjVpbic+J0AnOiBGcmVuY2ggc2Vjb25kYXJ5LCBhY2NlbnQKICAgICB3ZWlnaHRzIHNvcnRlZCBiYWNrd2FyZHMuPC9saT4KPC91bD4KCjxoND4mbHQ7dGV4dC1hcmd1bWVudCZndDs8L2g0PgoKPHA+QSB0ZXh0LWFyZ3VtZW50IGlzIGFueSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgc3BlY2lhbCBjaGFyYWN0ZXJzCih0aGF0IGlzLCBjb21tb24gd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIFswMDA5LTAwMEQsIDAwMjBdIGFuZCBydWxlIHN5bnRheApjaGFyYWN0ZXJzIFswMDIxLTAwMkYsIDAwM0EtMDA0MCwgMDA1Qi0wMDYwLCAwMDdCLTAwN0VdKS4gSWYgdGhvc2UgY2hhcmFjdGVycwphcmUgZGVzaXJlZCwgeW91IGNhbiBwdXQgdGhlbSBpbiBzaW5nbGUgcXVvdGVzIChlLmcuIGFtcGVyc2FuZCA9Jmd0OyAnJmFtcDsnKS4KTm90ZSB0aGF0IHVucXVvdGVkIHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMgYXJlIGlnbm9yZWQ7IGUuZy4gJnF1b3Q7YiBjJnF1b3Q7IGlzCnRyZWF0ZWQgYXMgJnF1b3Q7YmMmcXVvdDsuPC9wPgoKPGg0PiZsdDtyZWxhdGlvbiZndDs8L2g0PgoKPHVsIHR5cGU9ZGlzYz4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw5IGxldmVsMSBsZm82O3RhYi1zdG9wczpsaXN0IC41aW4nPicmbHQ7JyA6IEdyZWF0ZXIsIGFzIGEgbGV0dGVyCiAgICAgZGlmZmVyZW5jZSAocHJpbWFyeSk8L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDkgbGV2ZWwxIGxmbzY7dGFiLXN0b3BzOmxpc3QgLjVpbic+JzsnIDogR3JlYXRlciwgYXMgYW4gYWNjZW50CiAgICAgZGlmZmVyZW5jZSAoc2Vjb25kYXJ5KTwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsOSBsZXZlbDEgbGZvNjt0YWItc3RvcHM6bGlzdCAuNWluJz4nLCcgOiBHcmVhdGVyLCBhcyBhIGNhc2UKICAgICBkaWZmZXJlbmNlICh0ZXJ0aWFyeSk8L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDkgbGV2ZWwxIGxmbzY7dGFiLXN0b3BzOmxpc3QgLjVpbic+Jz0nIDogRXF1YWw8L2xpPgo8L3VsPgoKPGg0PiZsdDtyZXNldCZndDs8L2g0PgoKPHVsIHR5cGU9ZGlzYz4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwwIGxldmVsMSBsZm83O3RhYi1zdG9wczpsaXN0IC41aW4nPicmYW1wOyc6IEluZGljYXRlcyB0aGF0CiAgICAgdGV4dC1hcmd1bWVudDIgZm9sbG93cyB0aGUgcG9zaXRpb24gdG8gd2hlcmUgdGhlIHJlc2V0IHRleHQtYXJndW1lbnQxCiAgICAgd291bGQgYmUgc29ydGVkLjwvbGk+CjwvdWw+Cgo8aDM+PHU+SW50ZXJlc3RpbmcgRXhhbXBsZXM8L3U+PC9oMz4KCjxwPlRoZSBmb2xsb3dpbmcgaXMgYSBsaXN0IG9mIGludGVyZXN0aW5nIGV4YW1wbGVzIG9mIHRoZSBydWxlcyBhbmQgc29tZSBzdHJpbmcKY29tcGFyaXNvbiByZXN1bHRzIHVzaW5nIHRob3NlIHJ1bGVzLiBUaGUgY29tcGFyaXNvbiByZWxhdGlvbiB3aWxsIGJlIGRlbm90ZWQKYXMgJnF1b3Q7Jmx0OyZxdW90OyBvZiBwcmltYXJ5IGRpZmZlcmVuY2Ugb2YgbGVzcyB0aGFuLCAmcXVvdDsmbHQ7Jmx0OyZxdW90OyBvZgpzZWNvbmRhcnkgZGlmZmVyZW5jZSBvZiBsZXNzIHRoYW4sICZxdW90OyZsdDsmbHQ7Jmx0OyZxdW90OyBvZiB0ZXJpYXRyeQpkaWZmZXJlbmNlIG9mIGxlc3MgdGhhbiBhbmQgJnF1b3Q7PT0mcXVvdDsgb2YgZXF1YWwgdG8gcmVsYXRpb25zaGlwczogPC9wPgoKPHVsIHR5cGU9ZGlzYz4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxIGxldmVsMSBsZm84O3RhYi1zdG9wczpsaXN0IC41aW4nPlJ1bGUgJnF1b3Q7IGEsIEEgJmx0OyBiLCBCCiAgICAgJmx0OyBjLCBDICZsdDsgY2gsIGNILCBDaCwgQ0ggJmx0OyBkLCBEICZsdDsgZSwgRSZxdW90OzogdGhpcyBydWxlIHNpbXBseQogICAgIHNheXMsIHNvcnRzIGxldHRlcnMgJ2EnLCAnYicsICdjJywgJ2QnIGFuZCAnZScgaW4gdGhhdCBvcmRlciB3aXRoIHByaW1hcnkKICAgICB3ZWlnaHRzLiAnY2gnIGlzIHNvcnRlZCBhcyBhIHNpZ25pZmljYW50IGxldHRlciBiZXR3ZWVuICdjJyBhbmQgJ2QnIHdpdGgKICAgICBwcmltYXJ5IHdlaWdodHMgYW5kIHVwcGVyIGNhc2VkIGxldHRlcnMgc29ydHMgYWZ0ZXIgbG93ZXIgY2FzZWQgbGV0dGVycwogICAgIHdpdGggdGVydGlhcnkgd2VpZ2h0cy4gRm9yIGV4YW1wbGUsICZxdW90O2FiYyZxdW90OyAmbHQ7Jmx0OyZsdDsKICAgICAmcXVvdDtBQkMmcXVvdDsgYW5kICZxdW90O2FjaGImcXVvdDsgJmx0OyAmcXVvdDthZGImcXVvdDsuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxIGxldmVsMSBsZm84O3RhYi1zdG9wczpsaXN0IC41aW4nPlJ1bGUgJnF1b3Q7IGEsIEEgJmx0OyBiLCBCCiAgICAgJmx0OyBjLCBDICZsdDsgZCwgRCAmbHQ7IGUsIEUgJmFtcDsgQUU7IOQgJnF1b3Q7OiB0aGlzIHdpbGwgc29ydCBsZXR0ZXJzCiAgICAgJ2EnLCAnYicsICdjJywgJ2QnIGFuZCAnZScgaW4gdGhhdCBvcmRlciB3aXRoIHByaW1hcnkgd2VpZ2h0cy4gJ+QnIHdpbGwKICAgICBzb3J0IGFzIHdpdGggYSBzZWNvbmRhcnkgbGVzcyB0aGFuIHRvIHRoZSBzZXF1ZW5jZSBvZiAnQScgZm9sbG93aW5nICdFJy4KICAgICBGb3IgZXhhbXBsZSwgJnF1b3Q7YWViJnF1b3Q7ICZsdDsmbHQ7ICZxdW90O+RiJnF1b3Q7IGFuZCAmcXVvdDthY2ImcXVvdDsKICAgICAmbHQ7ICZxdW90O+RiJnF1b3Q7LjwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsMSBsZXZlbDEgbGZvODt0YWItc3RvcHM6bGlzdCAuNWluJz5SdWxlICZxdW90Oy4uLi4gcSwgUSAmYW1wOwogICAgIFF1ZXN0aW9uJy0nbWFyayA9ICc/JyAuLi4uJnF1b3Q7OiB0aGUgcnVsZSBzaG93cyBob3cgdG8gc29ydCBzeW1ib2xzIHRvIGJlCiAgICAgZXF1aXZhbGVudCB0byB0aGUgY29ycnNwb25kaW5nIHRleHQuIEluIHRoaXMgZXhhbXBsZSwgJnF1b3Q7PyZxdW90OyA9PQogICAgICZxdW90O1F1ZXN0aW9uLW1hcmsmcXVvdDsuIE5vdGUgdGhhdCB0aGUgc3BlY2lhbCBzeW1ib2xzIG5lZWQgdG8gYmUgcXVvdGVkCiAgICAgaW4gdGhlIHJ1bGUuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxIGxldmVsMSBsZm84O3RhYi1zdG9wczpsaXN0IC41aW4nPlJ1bGUgJnF1b3Q7Li4uLiAmYW1wOyBhYSA7IGEtCiAgICAgJmFtcDsgZWUgOyBlLSAmYW1wOyBpaSA7IGktICZhbXA7IG9vIDsgby0gJmFtcDsgdXUgOyB1LSAuLi4uJnF1b3Q7OiB0aGlzCiAgICAgcnVsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHNwZWNpZnkgcHJvbG9uZ2VkIHZvd2VscyBpbiBKYXBhbmVzZS4gSW4gdGhpcwogICAgIGNhc2UsICZxdW90O2FhJnF1b3Q7IGlzIHNvcnRlZCBhcyB3aXRoIGEgc2Vjb25kYXJ5IGxlc3MgdGhhbiB0bwogICAgICZxdW90O2EtJnF1b3Q7LiBGb3IgZXhhbXBsZSwgJnF1b3Q7YmFhYiZxdW90OyAmbHQ7Jmx0OyAmcXVvdDtiYS1iJnF1b3Q7LjwvbGk+CjwvdWw+Cgo8aDM+PHU+SW1wbGVtZW50YXRpb24gRGV0YWlsczwvdT48L2gzPgoKPHA+VGhyZWUgcGFydHMgb2YgdGhlIGNvZGUgd2lsbCBiZSBjYXJlZnVsbHkgZXhhbWluZWQgaGVyZTogPC9wPgoKPHVsIHR5cGU9ZGlzYz4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw1IGxldmVsMSBsZm85O3RhYi1zdG9wczpsaXN0IC41aW4nPkJ1aWxkaW5nIHRoZSBjb2xsYXRpb24gcnVsZQogICAgIHRhYmxlLiAoc2VlIG1lcmdlY29sLmNwcCwgcHRuZW50cnkuY3BwIGFuZCB0Ymxjb2xsLmNwcCk8L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDUgbGV2ZWwxIGxmbzk7dGFiLXN0b3BzOmxpc3QgLjVpbic+SW5jcmVtZW50YWwgY29tcGFyaXNvbgogICAgIGFsZ29yaXRobSBmb3Igc2ltcGxlIHN0cmluZyBjb21wYXJpc29uLiAoUnVsZUJhc2VkQ29sbGF0b3IuY29tcGFyZSgpIGluCiAgICAgdGJsY29sbC5jcHApPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw1IGxldmVsMSBsZm85O3RhYi1zdG9wczpsaXN0IC41aW4nPkNvbGxhdGlvbiBrZXkgZ2VuZXJhdGlvbiBhbmQKICAgICBpdHMgZm9ybWF0LiAoUnVsZUJhc2VkQ29sbGF0b3IuZ2V0Q29sbGF0aW9uS2V5KCkgaW4gdGJsY29sbC5jcHApPC9saT4KPC91bD4KCjxoMz48dT5CdWlsZGluZyB0aGUgQ29sbGF0aW9uIFRhYmxlPC91PjwvaDM+Cgo8cD5UaGUgcHJvY2VzcyBvZiBidWlsZGluZyBhIGNvbGxhdGlvbiB0YWJsZSBpcyBhcyBmb2xsb3dpbmc6IDwvcD4KCjx1bCB0eXBlPWRpc2M+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsOCBsZXZlbDEgbGZvMTA7dGFiLXN0b3BzOmxpc3QgLjVpbic+UGFyc2UgdGhlIHJ1bGUgdGV4dCBpbnRvIGEKICAgICBsaXN0IG9mIHBhdHRlcm4gZW50cmllcy4gRWFjaCBwYXR0ZXJuIGhhcyB0aGUgY29udGVudCBvZiBjdXJyZW50IGNvcmUKICAgICBjaGFyYWN0ZXJzLCBleHRlbnNpb24gY2hhcmFjdGVyIGFuZCB0aGUgc3RyZW5ndGggcmVsYXRpb24uIChJbgogICAgIHB0bmVudHJ5LmNwcCk8L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDggbGV2ZWwxIGxmbzEwO3RhYi1zdG9wczpsaXN0IC41aW4nPkluc2VydHMgZWFjaCBlbnRyeSBhdCB0aGUKICAgICBjb3JyZWN0IHBvc2l0aW9uIGJhc2VkIG9uIHRoZSAmbHQ7cmVzZXQmZ3Q7IGFyZ3VlbWVudHMuIChJbiBtZXJnZWNvbC5jcHApPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0Omw4IGxldmVsMSBsZm8xMDt0YWItc3RvcHM6bGlzdCAuNWluJz5CdWlsZCB0aGUgY29tcGFjdGVkLCBoaWdobHkKICAgICBlZmZpY2llbnQgbG9vay11cCB0YWJsZSBiYXNlZCBvbiB0aGUgbGlzdCBvZiBwYXR0ZXJuIGVudHJpZXMuIChJbgogICAgIHRibGNvbGwuY3BwKTwvbGk+CjwvdWw+Cgo8cD4mbmJzcDs8L3A+Cgo8aDM+PHU+SW5jcmVtZW50YWwgQ29tcGFyaXNvbiBEaWFncmFtPC91PjwvaDM+Cgo8cD4mbmJzcDs8L3A+Cgo8cD48aW1nIHdpZHRoPTQ2OCBoZWlnaHQ9ODAwIGlkPSJfeDAwMDBfaTEwMjYiIHNyYz1jb2xsZmxvdy5naWY+PC9wPgoKPGgzPjx1PkdlbmVyYXRpbmcgYSBDb2xsYXRpb24gS2V5PC91PjwvaDM+Cgo8cD5UaGUgY29udHJvbCBmbG93IG9mIGdlbmVyYXRpbmcgYSBjb2xsYXRpb24ga2V5IGlzIGFzIHRoZSBmb2xsb3dpbmc6IDwvcD4KCjxvbCBzdGFydD0xIHR5cGU9MT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwyIGxldmVsMSBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluJz5SZXRyaWV2ZSB0aGUgbmV4dCBjb2xsYXRpb24KICAgICBlbGVtZW50IG9mIHRoZSBzb3VyY2Ugc3RyaW5nLiBHbyB0byBzdGVwIDUgd2hlbiByZWFjaGVzIHRoZSBlbmQgb2Ygc3RyaW5nLjwvbGk+CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKICAgICBtc28tbGlzdDpsMiBsZXZlbDEgbGZvMTE7dGFiLXN0b3BzOmxpc3QgLjVpbic+QXBwZW5kIHRoZSBwcmltYXJ5IHdlaWdodCBvZgogICAgIGVsZW1lbnQgdG8gdGhlIHByaW1hcnkgd2VpZ2h0IGJ1ZmZlci48L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDIgbGV2ZWwxIGxmbzExO3RhYi1zdG9wczpsaXN0IC41aW4nPkNoZWNrcyBpZiBpdCdzIG5lY2Vzc2FyeSB0bwogICAgIHByb2Nlc3Mgc2Vjb25kYXJ5IHdlaWdodHMuIElmIHNvLCBhcHBlbmQgdGhlIHNlY29uZGFyeSB3ZWlnaHRzIHRvIHRoZQogICAgIHNlY29uZGFyeSB3ZWlnaHQgYnVmZmVyLiBJZiB0aGUgY29sbGF0b3IgaXMgbWFya2VkIHRvIHByb2Nlc3MgRnJlbmNoCiAgICAgc2Vjb25kYXJ5LCByZXZlcnNlIHRoZSBvcmRlciBvZiBhbGwgdGhlIHNlY29uZGFyeSB3ZWlnaHRzIGJlZm9yZSBlbmNvdW50ZXJzCiAgICAgdGhlIG5leHQgcHJpbWFyeSB3ZWlnaHQuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwyIGxldmVsMSBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluJz5DaGVja3MgaWYgaXQncyBuZWNlc3NhcnkgdG8KICAgICBwcm9jZXNzIHRlcnRpYXJ5IHdlaWdodHMuIElmIHNvLCBhcHBlbmQgdGhlIHRlcnRpYXJ5IHdlaWdodHMgdG8gdGhlCiAgICAgdGVydGlhcnkgd2VpZ2h0IGJ1ZmZlci4gPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwyIGxldmVsMSBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluJz5Db25jYXRlbmF0ZSB0aGUgcHJpbWFyeQogICAgIHdlaWdodCBidWZmZXIsIHNlY29uZGFyeSB3ZWlnaHQgYnVmZmVyIGFuZCB0ZXJ0aWFyeSB3ZWlnaHQgYnVmZmVyIGFuZCBhZGQKICAgICBhIG51bGwgZGVsaW1pdGVyIGFtb25nIHRoZSB3ZWlnaHRzLiBSZXR1cm4gdGhlIGNvbmNhdGVuYXRlZCBidWZmZXIgYXMgdGhlCiAgICAgY29sbGF0aW9uIGtleS48L2xpPgo8L29sPgoKPGgzPjx1PlEgJmFtcDsgQTwvdT48L2gzPgoKPG9sIHN0YXJ0PTEgdHlwZT0xPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDExIGxldmVsMSBsZm8xMjt0YWItc3RvcHM6bGlzdCAuNWluJz5Ib3cgZG8gSSBjdXN0b21pemUgdGhlCiAgICAgY29sbGF0aW9uIHNlcXVlbmNlPzxicj4KICAgICBBOiBVc2luZyB0aGUgUnVsZUJhc2VkQ29sbGF0b3IgY29uc3RydWN0b3IsIHRoZSB1c2VyIG9mIHRoZSBjb2xsYXRpb24KICAgICBmcmFtZXdvcmsgY2FuIHRoZW4gY3JlYXRlIGhpcy9oZXIgb3duIENvbGxhdG9yIHdpdGggYSBjdXN0b21pemVkIHJ1bGUuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxMSBsZXZlbDEgbGZvMTI7dGFiLXN0b3BzOmxpc3QgLjVpbic+V2lsbCB0aGUgY29sbGF0aW9uIGZyYW13b3JrCiAgICAgc3VwcG9ydCB0aGUgc3Vycm9nYXRlIGFuZCBwcml2YXRlIHVzZSBjaGFyYWN0ZXJzPzxicj4KICAgICBBOiBJdCdzIHBhcnQgb2Ygb3VyIGZ1dHVyZSB3b3JrIGl0ZW1zLiZuYnNwOyBIb3dldmVyLCBubyBmaXJtIHNjaGVkdWxlIGhhcwogICAgIGJlZW4gc2V0IGZvciB0aGlzIHlldC48L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDExIGxldmVsMSBsZm8xMjt0YWItc3RvcHM6bGlzdCAuNWluJz5Ib3cgZG9lcyB0aGUgRnJlbmNoCiAgICAgc2Vjb25kYXJ5IHR1cm4tb24gYWZmZWN0IHRoZSBnZW5lcmF0aW9uIG9mIGNvbGxhdGlvbiBrZXk/PGJyPgogICAgIEE6IEluIEZyZW5jaCwgdGhlIHNlY29uZGFyeSBkaWZmZXJlbmNlcyBhcmUgc29ydGVkIGJhY2t3YXJkcyBzbyB0aGlzIHdpbGwKICAgICBpbnZva2UgdGhlIGNvbGxhdGlvbiBrZXkgdG8gcmV2ZXJzZSB0aGUgc2Vjb25kYXJ5IHdlaWdodHMgaW4gdGhlIGtleXMuPC9saT4KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwogICAgIG1zby1saXN0OmwxMSBsZXZlbDEgbGZvMTI7dGFiLXN0b3BzOmxpc3QgLjVpbic+SXMgdGhlcmUgYW55IHN1cHBvcnQgZm9yCiAgICAgY29tcG9zaW5nIGNoYXJhY3RlcnM/IElmIHNvLCBob3cgZG9lcyBpdCB3b3JrPzxicj4KICAgICBBOiBZZXMsIGl0IGlzIGJhc2VkIG9uIHRoZSBOb3JtYWxpemVyIGludGVyZmFjZS4mbmJzcDsgV2hlbiBhIGV4cGFuZGluZwogICAgIGNoYXJhY3RlciBpcyBkZXRlY3RlZCwgdGhlIHJ1bGUgYnVpbGRlciB3aWxsIGNvbnN0cnVjdCBjb2xsYXRpb24gZW50cmllcwogICAgIGZvciB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbiBpbnRlcm5hbGx5IHRvIGhhbmRsZSB0aGUgY29tcG9zZWQgY2hhcmFjdGVycwogICAgIGNvcnJlY3RseS48L2xpPgogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CiAgICAgbXNvLWxpc3Q6bDExIGxldmVsMSBsZm8xMjt0YWItc3RvcHM6bGlzdCAuNWluJz5JcyB0aGVyZSBhbnkgcGxhbiBmb3IKICAgICBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCwgZm9yIGluc3RhbmNlLCBjb250cmFjdGluZy9leHBhbmRpbmcgY2hhcmFjdGVyCiAgICAgbG9va3VwPzxicj4KICAgICBBOiBZZXMsIHRoZSBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudCBpcyBhbiBvbmdvaW5nIHdvcmsgaXRlbS48L2xpPgo8L29sPgoKPHA+Jm5ic3A7PC9wPgoKPHA+PGEgaHJlZj0iLi4vcmVhZG1lLmh0bWwiPlJlYWRNZSBmb3IgPC9hPjxhIGhyZWY9Ii4uL3JlYWRtZS5odG1sI0FQSSI+SW50ZXJuYXRpb25hbApDb21wb25lbnRzIGZvciBVbmljb2RlPC9hPjwvcD4KCgo8ZGl2IGNsYXNzPU1zb05vcm1hbCBhbGlnbj1jZW50ZXIgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz4KCjxociBzaXplPTIgd2lkdGg9IjEwMCUiIGFsaWduPWNlbnRlcj4KCjwvZGl2PgoKPC9kaXY+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==