PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5Xcml0aW5nIEF0dHJpYnV0ZTwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS41MC4wIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0icHJldmlvdXMiIGhyZWY9ImFyMDFzMDUuaHRtbCIgdGl0bGU9IldyaXRpbmcgZWxlbWVudCBjb250ZW50Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImFyMDFzMDcuaHRtbCIgdGl0bGU9IlJldHJpZXZpbmcgQXR0cmlidXRlcyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+V3JpdGluZyBBdHRyaWJ1dGU8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA1Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFyMDFzMDcuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9InhtbHR1dG9yaWFsd3JpdGluZ2F0dHJpYnV0ZSI+PC9hPldyaXRpbmcgQXR0cmlidXRlPC9oMj48L2Rpdj48L2Rpdj48cD5Xcml0aW5nIGFuIGF0dHJpYnV0ZSBpcyBzaW1pbGFyIHRvIHdyaXRpbmcgdGV4dCB0byBhIG5ldyBlbGVtZW50LiBJbgogICAgICB0aGlzIGNhc2UsIHdlJ2xsIGFkZCBhIHJlZmVyZW5jZSBVUkkgdG8gb3VyCiAgICAgIGRvY3VtZW50LiBGdWxsIGNvZGU6PGEgaHJlZj0iYXBkLmh0bWwiIHRpdGxlPSJELiBDb2RlIGZvciBBZGQgQXR0cmlidXRlIEV4YW1wbGUiPkFwcGVuZGl4IEQ8L2E+LjwvcD48cD4KICAgICAgQSA8dHQgY2xhc3M9InNnbWx0YWctZWxlbWVudCI+cmVmZXJlbmNlPC90dD4gaXMgYSBjaGlsZCBvZiB0aGUgPHR0IGNsYXNzPSJzZ21sdGFnLWVsZW1lbnQiPnN0b3J5PC90dD4KICAgICAgZWxlbWVudCwgc28gZmluZGluZyB0aGUgcGxhY2UgdG8gcHV0IG91ciBuZXcgZWxlbWVudCBhbmQgYXR0cmlidXRlIGlzCiAgICAgIHNpbXBsZS4gQXMgc29vbiBhcyB3ZSBkbyB0aGUgZXJyb3ItY2hlY2tpbmcgdGVzdCBpbiBvdXIKICAgICAgPHR0PnBhcnNlRG9jPC90dD4sIHdlIGFyZSBpbiB0aGUgcmlnaHQgc3BvdCB0byBhZGQgb3VyCiAgICAgIGVsZW1lbnQuIEJ1dCBiZWZvcmUgd2UgZG8gdGhhdCwgd2UgbmVlZCB0byBtYWtlIGEgZGVjbGFyYXRpb24gdXNpbmcgYQogICAgICBkYXRhIHR5cGUgd2UgaGF2ZSBub3Qgc2VlbiB5ZXQ6CiAgICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KCXhtbEF0dHJQdHIgbmV3YXR0cjsKICAgICAgPC9wcmU+CiAgICAgIFdlIGFsc28gbmVlZCBhbiBleHRyYSB4bWxOb2RlUHRyOgogICAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Cgl4bWxOb2RlUHRyIG5ld25vZGU7CiAgICAgIDwvcHJlPgogICAgPC9wPjxwPgogICAgICBUaGUgcmVzdCBvZiA8dHQ+cGFyc2VEb2M8L3R0PiBpcyB0aGUgc2FtZSBhcyBiZWZvcmUgdW50aWwgd2UKICAgICAgY2hlY2sgdG8gc2VlIGlmIG91ciByb290IGVsZW1lbnQgaXMgPHR0IGNsYXNzPSJzZ21sdGFnLWVsZW1lbnQiPnN0b3J5PC90dD4uIElmIGl0IGlzLAogICAgICB0aGVuIHdlIGtub3cgd2UgYXJlIGF0IHRoZSByaWdodCBzcG90IHRvIGFkZCBvdXIgZWxlbWVudDoKCiAgICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KCTxhIG5hbWU9ImFkZHJlZmVyZW5jZW5vZGUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+IG5ld25vZGUgPSB4bWxOZXdUZXh0Q2hpbGQgKGN1ciwgTlVMTCwgJnF1b3Q7cmVmZXJlbmNlJnF1b3Q7LCBOVUxMKTsKCTxhIG5hbWU9ImFkZGF0dHJpYnV0ZW5vZGUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+IG5ld2F0dHIgPSB4bWxOZXdQcm9wIChuZXdub2RlLCAmcXVvdDt1cmkmcXVvdDssIHVyaSk7CQogICAgICA8L3ByZT4KICAgICAgPC9wPjxkaXYgY2xhc3M9ImNhbGxvdXRsaXN0Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJDYWxsb3V0IGxpc3QiPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNhZGRyZWZlcmVuY2Vub2RlIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPkZpcnN0IHdlIGFkZCBhIG5ldyBub2RlIGF0IHRoZSBsb2NhdGlvbiBvZiB0aGUgY3VycmVudCBub2RlCgkgICAgcG9pbnRlciwgPHR0PmN1ci48L3R0PiB1c2luZyB0aGUgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxORVdURVhUQ0hJTEQiIHRhcmdldD0iX3RvcCI+eG1sTmV3VGV4dENoaWxkPC9hPiBmdW5jdGlvbi48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+CiAgIDwvcD48cD5PbmNlIHRoZSBub2RlIGlzIGFkZGVkLCB0aGUgZmlsZSBpcyB3cml0dGVuIHRvIGRpc2sganVzdCBhcyBpbiB0aGUKICAgIHByZXZpb3VzIGV4YW1wbGUgaW4gd2hpY2ggd2UgYWRkZWQgYW4gZWxlbWVudCB3aXRoIHRleHQgY29udGVudC48L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA1Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcjAxczA3Lmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5Xcml0aW5nIGVsZW1lbnQgY29udGVudKA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oFJldHJpZXZpbmcgQXR0cmlidXRlczwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+Cg==