PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPjxodG1sPjxoZWFkPjx0aXRsZT5BcGFjaGUgUmFtcGFydC9DIC0gQXJjaGl2ZWQgTmV3czwvdGl0bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIj4KICAgICAgICAgIEBpbXBvcnQgdXJsKCIuL3N0eWxlL21hdmVuLWJhc2UuY3NzIik7CiAgICAgICAgICAKCQkJICAgIEBpbXBvcnQgdXJsKCIuL3N0eWxlL21hdmVuLWNsYXNzaWMuY3NzIik7PC9zdHlsZT48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4vc3R5bGUvcHJpbnQuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InByaW50Ij48L2xpbms+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PC9tZXRhPjwvaGVhZD48Ym9keSBjbGFzcz0iY29tcG9zaXRlIj48ZGl2IGlkPSJiYW5uZXIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iIGlkPSJvcmdhbml6YXRpb25Mb2dvIj48aW1nIGFsdD0iQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24iIHNyYz0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2ltYWdlcy9hc2YtbG9nby5naWYiPjwvaW1nPjwvYT48YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9yYW1wYXJ0L2MiIGlkPSJwcm9qZWN0TG9nbyI+PGltZyBhbHQ9IkFwYWNoZSBSYW1wYXJ0L0MiIHNyYz0iaHR0cDovL3dzLmFwYWNoZS5vcmcvcmFtcGFydC9jL2ltYWdlcy9yYW1wYXJ0Y19sb2dvLmpwZyI+PC9pbWc+PC9hPjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJicmVhZGNydW1icyI+PGRpdiBjbGFzcz0ieGxlZnQiPgogICAgICAgICAgICAgICAgCUxhc3QgcHVibGlzaGVkOiAxMyBNYXkgMjAwOQogICAgICAgICAgICAgICAgICB8IERvYyBmb3IgMS4zLjA8L2Rpdj48ZGl2IGNsYXNzPSJ4cmlnaHQiPjwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJsZWZ0Q29sdW1uIj48ZGl2IGlkPSJuYXZjb2x1bW4iPjxkaXYgaWQ9Im1lbnVBcGFjaGVfUmFtcGFydF9DIj48aDU+QXBhY2hlIFJhbXBhcnQvQzwvaDU+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QXBhY2hlIFJhbXBhcnQvQyBIb21lPC9hPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0iZG93bmxvYWQuY2dpIj5Eb3dubG9hZCBSYW1wYXJ0L0M8L2E+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iZG93bmxvYWQuY2dpIj5SZWxlYXNlczwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSJkb2NzL2luZGV4Lmh0bWwiPkRvY3VtZW50YXRpb248L2E+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iZG9jcy9pbnN0YWxsYXRpb25ndWlkZS5odG1sIj5JbnN0YWxsYXRpb24gR3VpZGU8L2E+PC9saT48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9ImRvY3MvcmFtcGFydGNfbWFudWFsLmh0bWwiPlJhbXBhcnQvQyBtYW51YWw8L2E+PC9saT48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9ImRvY3MvY29uZmlndXJhdGlvbnMuaHRtbCI+Q29uZmlndXJhdGlvbnMgZ3VpZGU8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0ibGlzdHNfaXNzdWVzLmh0bWwiPkdldCBJbnZvbHZlZDwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJsaXN0c19pc3N1ZXMuaHRtbCI+TWFpbGluZyBMaXN0cyAmYW1wOyBJc3N1ZSBUcmFja2luZzwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0ic3ZuLmh0bWwiPkNoZWNrb3V0IFNvdXJjZSBDb2RlPC9hPjwvbGk+PC91bD48L2xpPjxsaSBjbGFzcz0iZXhwYW5kZWQiPjxhIGhyZWY9ImNvZGluZ19jb252ZW50aW9ucy5odG1sIj5EZXZlbG9wZXIgR3VpZGVsaW5lczwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJjb2RpbmdfY29udmVudGlvbnMuaHRtbCI+Q29kaW5nIENvbnZlbnRpb248L2E+PC9saT48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9InZlcnNpb25pbmcuaHRtbCI+VmVyc2lvbm5pbmc8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0idGVhbS1saXN0Lmh0bWwiPlByb2plY3QgSW5mb3JtYXRpb248L2E+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0idGVhbS1saXN0Lmh0bWwiPlByb2plY3QgVGVhbTwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iaHR0cDovL3N2bi5hcGFjaGUub3JnL3ZpZXdjdnMuY2dpL3dlYnNlcnZpY2VzL3JhbXBhcnQvdHJ1bmsvYy8iIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5Tb3VyY2UgQ29kZTwvYT48L2xpPjwvdWw+PC9saT48L3VsPjwvZGl2PjxhIGhyZWY9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnLyIgdGl0bGU9IkJ1aWx0IGJ5IE1hdmVuIiBpZD0icG93ZXJlZEJ5Ij48aW1nIGFsdD0iQnVpbHQgYnkgTWF2ZW4iIHNyYz0iLi9pbWFnZXMvbG9nb3MvbWF2ZW4tYnV0dG9uLTEucG5nIj48L2ltZz48L2E+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYm9keUNvbHVtbiI+PGRpdiBjbGFzcz0iY29udGVudEJveCI+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGEgbmFtZT0iQXBhY2hlX1JhbWFwcnRfQ19BcmNoaXZlZF9OZXdzIj48L2E+PGgyPkFwYWNoZSBSYW1hcHJ0L0MgQXJjaGl2ZWQgTmV3czwvaDI+PHA+VGhpcyBwYWdlIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHByZXZpb3VzIHJlbGVhc2VzIHJ1bm5pbmcgdXAgdG8gdGhlCmxhdGVzdC48L3A+PHA+PGEgaWQ9IjEuMi4wIj48L2E+PC9wPjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjEzdGhfTWF5XzIwMDhfLV9BcGFjaGVfUmFtcGFydF9DX1ZlcnNpb25fMV8yXzBfUmVsZWFzZWQiPjwvYT48aDM+MTN0aCBNYXkgMjAwOCAtIEFwYWNoZSBSYW1wYXJ0L0MgVmVyc2lvbiAxLjIuMCBSZWxlYXNlZDwvaDM+PHA+PGEgaHJlZj0iaHR0cDovL3dzLmFwYWNoZS5vcmcvcmFtcGFydC9jL2Rvd25sb2FkLmNnaSIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPkRvd25sb2FkIDEuMjwvYT48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iS2V5X0ZlYXR1cmVzIj48L2E+PGgzPktleSBGZWF0dXJlczwvaDM+PG9sPgo8bGk+QWJpbGl0eSB0byBzZW5kIGFuZCB2ZXJpZnkgVXNlcm5hbWVUb2tlbnMgd2l0aAogICAgPHVsPiAKICAgIDxsaT5Vc2VybmFtZSBhbmQgUGxhaW5UZXh0IHBhc3N3b3JkCiAgICA8L2xpPjxsaT5Vc2VybmFtZSBhbmQgRGlnZXN0ZWQgcGFzc3dvcmQKICAgIDwvbGk+PC91bD4KPC9saT48bGk+QWJpbGl0eSB0byBzZW5kIFRpbWVzdGFtcCB0b2tlbnMKPC9saT48bGk+U09BUCBtZXNzYWdlIGVuY3J5cHRpb24KICAgIDx1bD4KICAgIDxsaT4gV2l0aCBkZXJpdmVkIGtleSBzdXBwb3J0IGZvciBpbXByb3ZlZCBzZWN1cml0eQogICAgPC9saT48bGk+IFN5bW1ldHJpYyBhbmQgQXN5bW1ldHJpYyBtb2RlcyBvZiBvcGVyYXRpb25zCiAgICA8L2xpPjxsaT4gU3VwcG9ydCBmb3IgQUVTIGFuZCBUcmlwcGxlIERFUyBlbmNyeXB0aW9uCiAgICA8L2xpPjxsaT4gU2lnbmF0dXJlIGVuY3J5cHRpb24KICAgIDwvbGk+PGxpPiBLZXlzIGVuY3J5cHRpb24KICAgIDwvbGk+PC91bD4KPC9saT48bGk+U09BUCBtZXNzYWdlIHNpZ25hdHVyZQogICAgPHVsPgogICAgPGxpPiBYTUwgc2lnbmF0dXJlIHdpdGggUlNBLVNIQTEKICAgIDwvbGk+PGxpPiBNZXNzYWdlIGF1dGhlbnRpY2F0aW9uIHdpdGggSE1BQy1TSEExCiAgICA8L2xpPjxsaT4gU2lnbmF0dXJlIGNvbmZpcm1hdGlvbiBzdXBwb3J0CiAgICA8L2xpPjxsaT4gU09BUCBIZWFkZXIgc2lnbmluZwogICAgPC9saT48L3VsPgo8L2xpPjxsaT5XUy1TZWN1cml0eSBQb2xpY3kgKHNwZWMgMS4xKSBiYXNlZCBjb25maWd1cmF0aW9ucwogICAgPHVsPgogICAgPGxpPiBTdXBwb3J0IGZvciBib3RoIFN5bW1ldHJpYyBhcyB3ZWxsIGFzIEFzeW1tZXRyaWMgcG9saWN5IGJpbmRpbmdzCiAgICA8L2xpPjxsaT4gU3VwcG9ydCBmb3IgZGlmZmVyZW50IG1vZGVzIG9mIGtleSBpZGVudGlmaWVycwogICAgPC9saT48bGk+IFN1cHBvcnQgZm9yIGRpZmZlcmVudCBhbGdvcml0aG0gc3VpdGVzPGJyPjwvYnI+CiAgICAgICAgW0Jhc2ljMTI4LCBCYXNpYyAxOTIsIEJhc2ljMjU2LCBUcmlwcGxlREVTLCBCYXNpYzEyOFJzYTE1LCBCYXNpYzE5MlJzYTE1LEJhc2ljMjU2UnNhMTUsIFRyaXBsZURlc1JzYTE1XQogICAgIDwvbGk+PC91bD4KPC9saT48bGk+UmVwbGF5IGRldGVjdGlvbiBzdXBwb3J0CiAgICA8dWw+CiAgICA8bGk+IEVhc3kgdG8gdXNlIGJ1aWx0LWluIHJlcGxheSBkZXRlY3Rpb24gbW9kdWxlCiAgICA8L2xpPjxsaT4gQWJpbGl0eSB0byBkZXBsb3kgYSBjdXN0b21pemVkIHJlcGxheSBkZXRlY3Rpb24gbW9kdWxlCiAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPkRpZmZlcmVudCBwcm90ZWN0aW9uIG9yZGVycwogICAgPHVsPgogICAgPGxpPiBFbmNyeXB0IGJlZm9yZSBzaWduaW5nCiAgICA8L2xpPjxsaT4gU2lnbiBiZWZvcmUgZW5jcnlwdGluZwogICAgPC9saT48L3VsPgo8L2xpPjxsaT5FeHRlbnNpYmxlIG1vZHVsZXMKICAgIDx1bD4KICAgIDxsaT4gUGFzc3dvcmQgY2FsbGJhY2sgbW9kdWxlCiAgICA8L2xpPjxsaT4gQXV0aGVudGljYXRpb24gbW9kdWxlCiAgICA8L2xpPjxsaT4gQ3JlZGVudGlhbHMgbW9kdWxlCiAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPktleXMgbWFuYWdlbWVudAogICAgPHVsPgogICAgPGxpPiBTdXBwb3J0IGZvciBYNTA5IHRva2VuIHByb2ZpbGUKICAgIDwvbGk+PGxpPiBTdXBwb3J0IGZvciBLZXkgaWRlbnRpZmllcnMsIFRodW1iIHByaW50cywgSXNzdWVyL1NlcmlhbCBwYWlycywgRW1iZWRkZWQgYW5kIERpcmVjdCByZWZlcmVuY2VzCiAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPiBXUy1TZWN1cmUgQ29udmVyc2F0aW9uIExhbmd1YWdlIHN1cHBvcnQgKEV4cGVyaW1lbnRhbCkKICAgIDx1bD4KICAgIDxsaT4gRXN0YWJsaXNoaW5nIFNlY3VyaXR5IENvbnRleHQgYW5kIHRoZXJlYnkgbWFpbnRhaW5pbmcgYSBzZXNzaW9uCiAgICA8L2xpPjxsaT4gUGVyIG1lc3NhZ2Uga2V5IGRlcml2YXRpb24KICAgIDwvbGk+PGxpPiBTdXBwb3J0IGZvciBzdG9yZWQgc2VjdXJ0aXkgY29udGV4dCB0b2tlbgogICAgPC9saT48L3VsPgo8L2xpPjxsaT4gV1MtVHJ1c3QgTGFuZ3VhZ2Ugc3VwcG9ydCAoRXhwZXJpbWVudGFsKQogICAgPHVsPgogICAgPGxpPiBTZWN1cml0eSBUb2tlbiBTZXJ2aWNlcyAoU1RTKQogICAgPC9saT48bGk+IFNUUyBDbGllbnQKICAgIDwvbGk+PGxpPiBTZXJ2ZXIgYW5kIENsaWVudCBlbnRyb3BoeSBzdXBwb3J0CiAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPk90aGVyCiAgICA8dWw+CiAgICA8bGk+IEVhc3kgdG8gdXNlIGRlcGxveW1lbnQgc2NyaXB0cwogICAgPC9saT48bGk+IEEgY29tcHJlaGVuc2l2ZSBzZXQgb2Ygc2FtcGxlcwogICAgPC9saT48L3VsPgo8L2xpPjwvb2w+PGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iTWFqb3JfQ2hhbmdlc19TaW5jZV9MYXN0X1JlbGVhc2UiPjwvYT48aDM+TWFqb3IgQ2hhbmdlcyBTaW5jZSBMYXN0IFJlbGVhc2U8L2gzPjxwPgo8b2w+CiAgICA8bGk+IFdTLVNlY3VyZSBDb252ZXJzYXRpb24gTGFuZ3VhZ2Ugc3VwcG9ydCAoRXhwZXJpbWVudGFsKQogICAgPC9saT48bGk+IFdTLVRydXN0IExhbmd1YWdlIHN1cHBvcnQgKEV4cGVyaW1lbnRhbCkKICAgIDwvbGk+PGxpPiBTQU1MIFN1cHBvcnQKICAgIDwvbGk+PGxpPiBNZW1vcnkgbGVhayBmaXhlczwvbGk+CiAgICA8bGk+IE1hbnkgYnVnIGZpeGVzPC9saT4KIDwvb2w+Cgo8YSBpZD0iMS4xLjAiPjwvYT4KPC9wPjxoMz4xNnRoIEphbiAyMDA4IC0gQXBhY2hlIFJhbXBhcnQvQyBWZXJzaW9uIDEuMSBSZWxlYXNlZDwvaDM+CiAgICA8YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9yYW1wYXJ0L2MvZG93bmxvYWQuY2dpIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+RG93bmxvYWQgMS4xPC9hPgogICAgPGg0PktleSBGZWF0dXJlczwvaDQ+CjxvbD4KPGxpPkFiaWxpdHkgdG8gc2VuZCBhbmQgdmVyaWZ5IFVzZXJuYW1lVG9rZW5zIHdpdGgKICAgIDx1bD4gCiAgICA8bGk+VXNlcm5hbWUgYW5kIFBsYWluVGV4dCBwYXNzd29yZAogICAgPC9saT48bGk+VXNlcm5hbWUgYW5kIERpZ2VzdGVkIHBhc3N3b3JkCiAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPkFiaWxpdHkgdG8gc2VuZCBUaW1lc3RhbXAgdG9rZW5zCjwvbGk+PGxpPlNPQVAgbWVzc2FnZSBlbmNyeXB0aW9uCiAgICA8dWw+CiAgICA8bGk+IFdpdGggZGVyaXZlZCBrZXkgc3VwcG9ydCBmb3IgaW1wcm92ZWQgc2VjdXJpdHkKICAgIDwvbGk+PGxpPiBTeW1tZXRyaWMgYW5kIEFzeW1tZXRyaWMgbW9kZXMgb2Ygb3BlcmF0aW9ucwogICAgPC9saT48bGk+IFN1cHBvcnQgZm9yIEFFUyBhbmQgVHJpcHBsZSBERVMgZW5jcnlwdGlvbgogICAgPC9saT48bGk+IFNpZ25hdHVyZSBlbmNyeXB0aW9uCiAgICA8L2xpPjxsaT4gS2V5cyBlbmNyeXB0aW9uCiAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPlNPQVAgbWVzc2FnZSBzaWduYXR1cmUKICAgIDx1bD4KICAgIDxsaT4gWE1MIHNpZ25hdHVyZSB3aXRoIFJTQS1TSEExCiAgICA8L2xpPjxsaT4gTWVzc2FnZSBhdXRoZW50aWNhdGlvbiB3aXRoIEhNQUMtU0hBMQogICAgPC9saT48bGk+IFNpZ25hdHVyZSBjb25maXJtYXRpb24gc3VwcG9ydAogICAgPC9saT48bGk+IFNPQVAgSGVhZGVyIHNpZ25pbmcKICAgIDwvbGk+PC91bD4KPC9saT48bGk+V1MtU2VjdXJpdHkgUG9saWN5IChzcGVjIDEuMSkgYmFzZWQgY29uZmlndXJhdGlvbnMKICAgIDx1bD4KICAgIDxsaT4gU3VwcG9ydCBmb3IgYm90aCBTeW1tZXRyaWMgYXMgd2VsbCBhcyBBc3ltbWV0cmljIHBvbGljeSBiaW5kaW5ncwogICAgPC9saT48bGk+IFN1cHBvcnQgZm9yIGRpZmZlcmVudCBtb2RlcyBvZiBrZXkgaWRlbnRpZmllcnMKICAgIDwvbGk+PGxpPiBTdXBwb3J0IGZvciBkaWZmZXJlbnQgYWxnb3JpdGhtIHN1aXRlczxicj48L2JyPgogICAgICAgIFtCYXNpYzEyOCwgQmFzaWMgMTkyLCBCYXNpYzI1NiwgVHJpcHBsZURFUywgQmFzaWMxMjhSc2ExNSwgQmFzaWMxOTJSc2ExNSxCYXNpYzI1NlJzYTE1LCBUcmlwbGVEZXNSc2ExNV0KICAgICA8L2xpPjwvdWw+CjwvbGk+PGxpPlJlcGxheSBkZXRlY3Rpb24gc3VwcG9ydAogICAgPHVsPgogICAgPGxpPiBFYXN5IHRvIHVzZSBidWlsdC1pbiByZXBsYXkgZGV0ZWN0aW9uIG1vZHVsZQogICAgPC9saT48bGk+IEFiaWxpdHkgdG8gZGVwbG95IGEgY3VzdG9taXplZCByZXBsYXkgZGV0ZWN0aW9uIG1vZHVsZQogICAgPC9saT48L3VsPgo8L2xpPjxsaT5EaWZmZXJlbnQgcHJvdGVjdGlvbiBvcmRlcnMKICAgIDx1bD4KICAgIDxsaT4gRW5jcnlwdCBiZWZvcmUgc2lnbmluZwogICAgPC9saT48bGk+IFNpZ24gYmVmb3JlIGVuY3J5cHRpbmcKICAgIDwvbGk+PC91bD4KPC9saT48bGk+RXh0ZW5zaWJsZSBtb2R1bGVzCiAgICA8dWw+CiAgICA8bGk+IFBhc3N3b3JkIGNhbGxiYWNrIG1vZHVsZQogICAgPC9saT48bGk+IEF1dGhlbnRpY2F0aW9uIG1vZHVsZQogICAgPC9saT48bGk+IENyZWRlbnRpYWxzIG1vZHVsZQogICAgPC9saT48L3VsPgo8L2xpPjxsaT5LZXlzIG1hbmFnZW1lbnQKICAgIDx1bD4KICAgIDxsaT4gU3VwcG9ydCBmb3IgWDUwOSB0b2tlbiBwcm9maWxlCiAgICA8L2xpPjxsaT4gU3VwcG9ydCBmb3IgS2V5IGlkZW50aWZpZXJzLCBUaHVtYiBwcmludHMsIElzc3Vlci9TZXJpYWwgcGFpcnMsIEVtYmVkZGVkIGFuZCBEaXJlY3QgcmVmZXJlbmNlcwogICAgPC9saT48L3VsPgo8L2xpPjxsaT5PdGhlcgogICAgPHVsPgogICAgPGxpPiBFYXN5IHRvIHVzZSBkZXBsb3ltZW50IHNjcmlwdHMKICAgIDwvbGk+PGxpPiBBIGNvbXByZWhlbnNpdmUgc2V0IG9mIHNhbXBsZXMKICAgIDwvbGk+PC91bD4KPC9saT48L29sPjwvZGl2PjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9Ik1ham9yX0NoYW5nZXNfU2luY2VfTGFzdF9SZWxlYXNlIj48L2E+PGgzPk1ham9yIENoYW5nZXMgU2luY2UgTGFzdCBSZWxlYXNlPC9oMz48cD4KPG9sPgogICAgPGxpPiBNQUMgc3VwcG9ydCB3aXRoIEhNQUMtU0hBMQogICAgPC9saT48bGk+RGVycml2ZWQga2V5IGVuY3J5cHRpb24KICAgIDwvbGk+PGxpPkRlcml2ZWQga2V5IHNpZ25pbmcKICAgIDwvbGk+PGxpPlN5bW1ldHJpYyBwb2xpY3kgYmluZGluZ3MKICAgIDwvbGk+PGxpPk5ldyBzZWN1cml0eSBoZWFkZXIgcHJvY2Vzc29yIGJhc2VkIG9uIFNPQVAgaGVhZGVyIGxheW91dAogICAgPC9saT48bGk+U2VjdXJpdHkgcG9saWN5IHZhbGlkYXRvcgogICAgPC9saT48bGk+RXh0ZW5zaWJsZSBSZXBsYXkgZGV0ZWN0aW9uIG1vZHVsZQogICAgPC9saT48bGk+U2lnbmF0dXJlIGNvbmZpcm1hdGlvbiBzdXBwb3J0CiAgICA8L2xpPjxsaT5TdXBwb3J0IGZvciBYNTA5IHRodW1iIHByaW50cwogICAgPC9saT48bGk+RWFzeSB0byB1c2UgZGVwbG95bWVudCBzY3JpcHRzCgk8L2xpPjxsaT5NZW1vcnkgbGVhayBmaXhlczwvbGk+Cgk8bGk+TWFueSBidWcgZml4ZXM8L2xpPgogPC9vbD4KCjxhIGlkPSIxLjAuMCI+PC9hPgo8L3A+PGgzPjA1dGggT2N0IDIwMDcgLSBBcGFjaGUgUmFtcGFydC9DIFZlcnNpb24gMS4wIFJlbGVhc2VkPC9oMz4KICAgIDxhIGhyZWY9Imh0dHA6Ly93cy5hcGFjaGUub3JnL3JhbXBhcnQvYy9kb3dubG9hZC5jZ2kiIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5Eb3dubG9hZCAxLjA8L2E+CiAgICA8aDQ+S2V5IEZlYXR1cmVzPC9oND4KPG9sPgogICAgPGxpPjxzdHJvbmc+U09BUCBtZXNzYWdlIGVuY3J5cHRpb248L3N0cm9uZz4gOiBBbGxvd3MgZGlmZmVyZW50IHBhcnRzIG9mIGEgU09BUCBtZXNzYWdlIHRvIGJlIGVuY3J5cHRlZCB0byBrZWVwIHRoZSBjb25maWRlbnRpYWxpdHkgb2YgdGhlIG1lc3NhZ2U8L2xpPgogICAgPGxpPjxzdHJvbmc+U09BUCBtZXNzYWdlIHNpZ25hdHVyZTwvc3Ryb25nPiA6IEFsbG93cyBkaWZmZXJlbnQgcGFydHMgb2YgYSBTT0FQIG1lc3NhZ2UgdG8gYmUgc2lnbmVkIHRvIGtlZXAgdGhlIGludGVncml0eSBvZiB0aGUgbWVzc2FnZTwvbGk+CiAgICA8bGk+QWJpbGl0eSB0byBzZW5kIGFuZCB2ZXJpZnkgPHN0cm9uZz5Vc2VybmFtZVRva2Vuczwvc3Ryb25nPiB3aXRoPC9saT4KICAgIDxvbD4KICAgICAgICA8bGk+UGxhaW5UZXh0IHBhc3N3b3JkPC9saT4KICAgICAgICA8bGk+RGlnZXN0ZWQgcGFzc3dvcmQ8L2xpPgogICAgICAgIDxicj48L2JyPkFsbG93cyB1c2VycyB0byBzZW5kIFVzZXJuYW1lIHRva2VucyBmb3IgYXV0aGVudGljYXRpb24gcHVycG9zZXMgYXMgcGVyIFdlYiBzZXJ2aWNlcyBzZWN1cml0eSB1c2VybmFtZSB0b2tlbiBwcm9maWxlCiAgICA8L29sPgogICAgPGxpPkFiaWxpdHkgdG8gc2VuZCA8c3Ryb25nPlRpbWVzdGFtcCB0b2tlbnM8L3N0cm9uZz4gOiBBbGxvd3MgdXNlcnMgdG8gYWRkIHRpbWVzdGFtcHMgdG8gdGhlaXIgU09BUCBtZXNzYWdlcyBpbiBvcmRlciB0byBlbnN1cmUgdGhlIGZyZXNobmVzczwvbGk+CiAgICA8bGk+V1MtU2VjdXJpdHkgUG9saWN5IChzcGVjIDEuMSkgUG9saWN5IGJhc2VkIGNvbmZpZ3VyYXRpb25zIGFzIHBlciBXUy1TZWN1cml0eSBQb2xpY3kgOiBBbGxvd3MgdXNlcnMgdG8gZXhwcmVzcyB0aGVpciBzZWN1cml0eSByZWxhdGVkIHJlcXVpcmVtZW50cyBhbmQgY29uc3RyYWludHM8L2xpPgo8bGk+UmVwbGF5IGRldGVjdGlvbiBzdXBwb3J0PC9saT4KPGxpPkltcHJvdmVtZW50cyB0byB0aGUgY29udGV4dCBtb2RlbDwvbGk+CjxsaT5BdXRoZW50aWNhdGlvbiBtb2R1bGUgaW1wbGVtZW50YXRpb248L2xpPgo8bGk+Q3JlZGVudGlhbHMgbW9kdWxlIGltcGxlbWVudGF0aW9uPC9saT4KPGxpPkltcHJvdmVtZW50cyB0byBLZXkvQ2VydGlmaWNhdGUgbG9hZGluZyBtZWNoYW5pc21zPC9saT4KPGxpPkVhc3kgdG8gdXNlIGRlcGxveW1lbnQgc2NyaXB0czwvbGk+Cjwvb2w+Cgo8YSBpZD0iMC45MCI+PC9hPgo8aDM+MTF0aCBNYXkgMjAwNyAtIEFwYWNoZSBSYW1wYXJ0L0MgVmVyc2lvbiAwLjkwIFJlbGVhc2VkPC9oMz4KICAgIDxhIGhyZWY9Imh0dHA6Ly93cy5hcGFjaGUub3JnL3JhbXBhcnQvYy9kb3dubG9hZC5jZ2kiIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5Eb3dubG9hZCAwLjkwPC9hPgogICAgPGg0PktleSBGZWF0dXJlczwvaDQ+CiAgIDxvbD4KICAgIDxsaT48c3Ryb25nPlNPQVAgbWVzc2FnZSBlbmNyeXB0aW9uPC9zdHJvbmc+IDogQWxsb3dzIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgYm9keSBvZiBTT0FQIG1lc3NhZ2UgdG8gYmUgZW5jcnlwdGVkIHRvIGtlZXAgdGhlIGNvbmZpZGVudGlhbGl0eSBvZiB0aGUgbWVzc2FnZTwvbGk+CiAgICA8bGk+PHN0cm9uZz5TT0FQIG1lc3NhZ2Ugc2lnbmF0dXJlPC9zdHJvbmc+IDogQWxsb3dzIGRpZmZlcmVudCBwYXJ0cyBvZiBhIFNPQVAgbWVzc2FnZSB0byBiZSBzaWduZWQgdG8ga2VlcCB0aGUgaW50ZWdyaXR5IG9mIHRoZSBtZXNzYWdlPC9saT4KICAgIDxsaT5BYmlsaXR5IHRvIHNlbmQgYW5kIHZlcmlmeSA8c3Ryb25nPlVzZXJuYW1lVG9rZW5zPC9zdHJvbmc+IHdpdGg8L2xpPgogICAgPG9sPgogICAgICAgIDxsaT5QbGFpblRleHQgcGFzc3dvcmQ8L2xpPgogICAgICAgIDxsaT5EaWdlc3RlZCBwYXNzd29yZDwvbGk+CiAgICAgICAgPGJyPjwvYnI+QWxsb3dzIHVzZXJzIHRvIHNlbmQgVXNlcm5hbWUgdG9rZW5zIGZvciBhdXRoZW50aWNhdGlvbiBwdXJwb3NlcyBhcyBwZXIgV2ViIHNlcnZpY2VzIHNlY3VyaXR5IHVzZXJuYW1lIHRva2VuIHByb2ZpbGUKICAgIDwvb2w+CiAgICA8bGk+QWJpbGl0eSB0byBzZW5kIDxzdHJvbmc+VGltZXN0YW1wIHRva2Vuczwvc3Ryb25nPiA6IEFsbG93cyB1c2VycyB0byBhZGQgdGltZXN0YW1wcyB0byB0aGVpciBTT0FQIG1lc3NhZ2VzIGluIG9yZGVyIHRvIGVuc3VyZSB0aGUgZnJlc2huZXNzPC9saT4KICAgIDxsaT48c3Ryb25nPlBvbGljeSBiYXNlZCBjb25maWd1cmF0aW9uczwvc3Ryb25nPjogQWxsb3dzIGNsaWVudHMgYW5kIHNlcnZpY2VzIHRvIGV4cHJlc3MgdGhlaXIgc2VjdXJpdHkgcmVsYXRlZCByZXF1aXJlbWVudHMgYW5kIGNvbnN0cmFpbnRzPC9saT4KPC9vbD4KCgo8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhciI+PGhyPjwvaHI+PC9kaXY+PGRpdiBpZD0iZm9vdGVyIj48ZGl2IGNsYXNzPSJ4cmlnaHQiPqkgMjAwNS0yMDA5LCBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1sPg==