PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPjxodG1sPjxoZWFkPjx0aXRsZT5BcGFjaGUgQXhpczIvQyAtIEFwYWNoZSBBeGlzMi9DIC0gSW5zdGFsbGF0aW9uIEd1aWRlPC90aXRsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJhbGwiPgogICAgICAgICAgQGltcG9ydCB1cmwoIi4uL3N0eWxlL21hdmVuLWJhc2UuY3NzIik7CiAgICAgICAgICAKCQkJICAgIEBpbXBvcnQgdXJsKCIuLi9zdHlsZS9tYXZlbi1jbGFzc2ljLmNzcyIpOzwvc3R5bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9zdHlsZS9wcmludC5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0icHJpbnQiPjwvbGluaz48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48L21ldGE+PC9oZWFkPjxib2R5IGNsYXNzPSJjb21wb3NpdGUiPjxkaXYgaWQ9ImJhbm5lciI+PGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyIgaWQ9Im9yZ2FuaXphdGlvbkxvZ28iPjxpbWcgYWx0PSJBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiIgc3JjPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvaW1hZ2VzL2FzZi1sb2dvLmdpZiI+PC9pbWc+PC9hPjxhIGhyZWY9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMyL2MiIGlkPSJwcm9qZWN0TG9nbyI+PGltZyBhbHQ9IkFwYWNoZSBBeGlzMi9DIiBzcmM9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMyL2ltYWdlcy9heGlzLmpwZyI+PC9pbWc+PC9hPjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJicmVhZGNydW1icyI+PGRpdiBjbGFzcz0ieGxlZnQiPgogICAgICAgICAgICAgICAgCUxhc3QgcHVibGlzaGVkOiAxNyBBcHJpbCAyMDA5CiAgICAgICAgICAgICAgICAgIHwgRG9jIGZvciAxLjYuMDwvZGl2PjxkaXYgY2xhc3M9InhyaWdodCI+PC9kaXY+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImxlZnRDb2x1bW4iPjxkaXYgaWQ9Im5hdmNvbHVtbiI+PGRpdiBpZD0ibWVudUFwYWNoZV9BeGlzMl9DIj48aDU+QXBhY2hlIEF4aXMyL0M8L2g1Pjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkFwYWNoZSBBeGlzMi9DIEhvbWU8L2E+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9heGlzMi9jL2Rvd25sb2FkLmNnaSIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPkRvd25sb2FkIEF4aXMyL0M8L2E+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iaHR0cDovL3dzLmFwYWNoZS5vcmcvYXhpczIvYy9kb3dubG9hZC5jZ2kiIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5SZWxlYXNlczwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSIuLi9kb2NzL2luZGV4Lmh0bWwiPkRvY3VtZW50YXRpb248L2E+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iLi4vZG9jcy9pbnN0YWxsYXRpb25ndWlkZS5odG1sIj5JbnN0YWxsYXRpb24gR3VpZGU8L2E+PC9saT48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uL2RvY3MvYXhpczJjX21hbnVhbC5odG1sIj5BeGlzMi9DIG1hbnVhbDwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iLi4vZG9jcy9mYXEuaHRtbCI+QXhpczIvQyBGQVE8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0iLi4vbGlzdHNfaXNzdWVzLmh0bWwiPkdldCBJbnZvbHZlZDwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSIuLi9saXN0c19pc3N1ZXMuaHRtbCI+TWFpbGluZyBMaXN0cyAmYW1wOyBJc3N1ZSBUcmFja2luZzwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iLi4vc3ZuLmh0bWwiPkNoZWNrb3V0IFNvdXJjZSBDb2RlPC9hPjwvbGk+PC91bD48L2xpPjxsaSBjbGFzcz0iZXhwYW5kZWQiPjxhIGhyZWY9Ii4uL2NvZGluZ19jb252ZW50aW9ucy5odG1sIj5EZXZlbG9wZXIgR3VpZGVsaW5lczwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSIuLi9jb2RpbmdfY29udmVudGlvbnMuaHRtbCI+Q29kaW5nIENvbnZlbnRpb248L2E+PC9saT48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uL3ZlcnNpb25pbmcuaHRtbCI+VmVyc2lvbm5pbmc8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0iLi4vdGVhbS1saXN0Lmh0bWwiPlByb2plY3QgSW5mb3JtYXRpb248L2E+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iLi4vdGVhbS1saXN0Lmh0bWwiPlByb2plY3QgVGVhbTwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iaHR0cDovL3N2bi5hcGFjaGUub3JnL3ZpZXdjdnMuY2dpL3dlYnNlcnZpY2VzL2F4aXMyL3RydW5rL2MvIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+U291cmNlIENvZGU8L2E+PC9saT48L3VsPjwvbGk+PC91bD48L2Rpdj48YSBocmVmPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy8iIHRpdGxlPSJCdWlsdCBieSBNYXZlbiIgaWQ9InBvd2VyZWRCeSI+PGltZyBhbHQ9IkJ1aWx0IGJ5IE1hdmVuIiBzcmM9Ii4uL2ltYWdlcy9sb2dvcy9tYXZlbi1idXR0b24tMS5wbmciPjwvaW1nPjwvYT48L2Rpdj48L2Rpdj48ZGl2IGlkPSJib2R5Q29sdW1uIj48ZGl2IGNsYXNzPSJjb250ZW50Qm94Ij48ZGl2IGNsYXNzPSJzZWN0aW9uIj48YSBuYW1lPSJBcGFjaGVfQXhpczJfQ19JbnN0YWxsYXRpb25fR3VpZGUiPjwvYT48aDI+QXBhY2hlIEF4aXMyL0MgSW5zdGFsbGF0aW9uIEd1aWRlPC9oMj48cD5UaGlzIGRvY3VtZW50IGd1aWRlcyB5b3Ugb24gaG93IHRvIGluc3RhbGwgQXhpczIvQywgYW5kIHJ1bgp0aGUgc2VydmVyIGFuZApjbGllbnQgc2FtcGxlcyBvbiBMaW51eCBhbmQgTWljcm9zb2Z0IFdpbmRvd3Mgb3BlcmF0aW5nIHN5c3RlbXMuPC9wPjxwPlRoaXMgcmVsZWFzZSBjb21lcyBpbiB0d28gZm9ybXMsIHNvdXJjZSBhbmQgYmluYXJ5IGFuZCB5b3UgY2FuCmRvd25sb2FkIHRoZW0gZnJvbSA8YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9heGlzMi9jL2Rvd25sb2FkLmNnaSIgdGl0bGU9IkV4dGVybmFsIExpbmsiIGNsYXNzPSJleHRlcm5hbExpbmsiPmhlcmU8L2E+LiBUaGlzCmRvY3VtZW50IGNvdmVycwpib3RoIGZvcm1zLjwvcD48cD5QbGVhc2Ugc2VuZCB5b3VyIGZlZWRiYWNrIHRvIHRoZSBkZXZlbG9wZXIgbWFpbGluZyBsaXN0OiA8YSBocmVmPSJtYWlsdG86Yy1kZXZAYXhpcy5hcGFjaGUub3JnIj5jLWRldkBheGlzLmFwYWNoZS5vcmc8L2E+CihTdWJzY3JpcHRpb24gZGV0YWlscyBhcmUgYXZhaWxhYmxlIG9uIHRoZSA8YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9heGlzMi9jL21haWwtbGlzdHMuaHRtbCIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPkF4aXMyIHNpdGU8L2E+LikKUGxlYXNlCnJlbWVtYmVyIHRvIHByZWZpeCB0aGUgc3ViamVjdCB3aXRoIFtBeGlzMl0uPC9wPjxkaXYgY2xhc3M9InNlY3Rpb24iPjxhIG5hbWU9IkNvbnRlbnRzIj48L2E+CjxoMj5Db250ZW50czwvaDI+Cjx1bD4KMS4gPGEgaHJlZj0iIzEiPkdldHRpbmcgQXhpczIvQyBXb3JraW5nIG9uIExpbnV4PC9hPgo8YnI+PC9icj4KPHVsPgoxLjEgPGEgaHJlZj0iIzFfMSI+U2V0dGluZyB1cCBQcmVyZXF1aXNpdGVzPC9hPgo8dWw+CjEuMS4xIDxhIGhyZWY9IiMxXzFfMSI+TWFuZGF0b3J5PC9hPiA8YnI+PC9icj4KMS4xLjIgPGEgaHJlZj0iIzFfMV8yIj5PcHRpb25hbDwvYT4gPGJyPjwvYnI+CjwvdWw+CjEuMiA8YSBocmVmPSIjMV8yIj5Vc2luZyBCaW5hcnkgUmVsZWFzZTwvYT4gPGJyPjwvYnI+CjEuMyA8YSBocmVmPSIjMV8zIj5Vc2luZyBTb3VyY2UgUmVsZWFzZTwvYT4gPGJyPjwvYnI+Cjx1bD4KMS4zLjEgPGEgaHJlZj0iIzFfM18xIj5CYXNpYyBCdWlsZDwvYT4gPGJyPjwvYnI+CjEuMy4yIDxhIGhyZWY9IiMxXzNfMiI+QnVpbGQgd2l0aCBPcHRpb25zPC9hPiA8YnI+PC9icj4KPHVsPgooYSkgPGEgaHJlZj0iIzFfM18yX2EiPldpdGggR3V0aHRoaWxhPC9hPiA8YnI+PC9icj4KKGIpIDxhIGhyZWY9IiMxXzNfMl9iIj5XaXRoIGxpYnhtbDI8L2E+PGJyPjwvYnI+CihjKSA8YSBocmVmPSIjMV8zXzJfYyI+V2l0aCBBTVFQIFRyYW5zcG9ydDwvYT48YnI+PC9icj4KPC91bD4KMS4zLjMgPGEgaHJlZj0iIzFfM18zIj5CdWlsZGluZyBTYW1wbGVzPC9hPiA8YnI+PC9icj4KPC91bD4KMS40IDxhIGhyZWY9IiMxXzQiPkNvbmZpZ3VyYXRpb248L2E+IDxicj48L2JyPgo8dWw+CjEuNC4xIDxhIGhyZWY9IiMxXzRfMSI+QU1RUCBUcmFuc3BvcnQ8L2E+IDxicj48L2JyPgo8L3VsPgoxLjUgPGEgaHJlZj0iIzFfNSI+UnVubmluZyBTYW1wbGVzPC9hPiA8YnI+PC9icj4KPHVsPgoxLjUuMSA8YSBocmVmPSIjMV81XzEiPkhUVFAgVHJhbnNwb3J0PC9hPiA8YnI+PC9icj4KPHVsPgooYSkgPGEgaHJlZj0iIzFfNV8xX2EiPlNlcnZlcjwvYT4gPGJyPjwvYnI+CihiKSA8YSBocmVmPSIjMV81XzFfYiI+Q2xpZW50czwvYT4gPGJyPjwvYnI+CjwvdWw+CjEuNS4yIDxhIGhyZWY9IiMxXzVfMiI+QU1RUCBUcmFuc3BvcnQ8L2E+IDxicj48L2JyPgo8dWw+CihhKSA8YSBocmVmPSIjMV81XzJfYSI+U2VydmVyPC9hPiA8YnI+PC9icj4KKGIpIDxhIGhyZWY9IiMxXzVfMl9iIj5DbGllbnQ8L2E+IDxicj48L2JyPgo8L3VsPgo8L3VsPgo8L3VsPgo8YnI+PC9icj4KMi4gPGEgaHJlZj0iIzIiPkdldHRpbmcgQXhpczIvQyBXb3JraW5nIG9uIFdpbmRvd3MgKFdpbjMyKTwvYT48YnI+PC9icj4KPHVsPgoyLjEgPGEgaHJlZj0iIzJfMSI+U2V0dGluZyB1cCBQcmVyZXF1aXNpdGVzPC9hPjxicj48L2JyPgo8dWw+CjIuMS4xIDxhIGhyZWY9IiMyXzFfMSI+TWFuZGF0b3J5PC9hPjxicj48L2JyPgoyLjEuMiA8YSBocmVmPSIjMl8xXzIiPk9wdGlvbmFsPC9hPjxicj48L2JyPgo8L3VsPgoyLjIgPGEgaHJlZj0iIzJfMiI+VXNpbmcgQmluYXJ5IFJlbGVhc2U8L2E+PGJyPjwvYnI+CjIuMyA8YSBocmVmPSIjMl8zIj5Vc2luZyBTb3VyY2UgUmVsZWFzZTwvYT48YnI+PC9icj4KPHVsPgoyLjMuMSA8YSBocmVmPSIjMl8zXzEiPlNldHRpbmcgQnVpbGQgT3B0aW9uczwvYT48YnI+PC9icj4KPHVsPgooYSkgPGEgaHJlZj0iIzJfM18xX2EiPkVuYWJsZSBHdXRodGhpbGE8L2E+PGJyPjwvYnI+CihiKSA8YSBocmVmPSIjMl8zXzFfYiI+RW5hYmxlIGxpYnhtbDI8L2E+PGJyPjwvYnI+CihjKSA8YSBocmVmPSIjMl8zXzFfYyI+RW5hYmxlIFNTTCBTdXBwb3J0PC9hPjxicj48L2JyPgooZCkgPGEgaHJlZj0iIzJfM18xX2QiPkVuYWJsZSBsaWJjdXJsPC9hPjxicj48L2JyPgooZSkgPGEgaHJlZj0iIzJfM18xX2UiPlNldHRpbmcgemxpYiBMb2NhdGlvbjwvYT48YnI+PC9icj4KPC91bD4KMi4zLjIgPGEgaHJlZj0iIzJfM18yIj5Db21waWxpbmcgdGhlIFNvdXJjZTwvYT48YnI+PC9icj4KPC91bD4KMi40IDxhIGhyZWY9IiMyXzQiPlJ1bm5pbmcgU2FtcGxlczwvYT48YnI+PC9icj4KPHVsPgoyLjQuMSA8YSBocmVmPSIjMl80XzEiPkhUVFAgdHJhbnNwb3J0PC9hPjxicj48L2JyPgo8dWw+CihhKSA8YSBocmVmPSIjMl80XzFfYSI+U2VydmVyPC9hPjxicj48L2JyPgooYikgPGEgaHJlZj0iIzJfNF8xX2IiPkNsaWVudHM8L2E+PGJyPjwvYnI+CjwvdWw+CjwvdWw+CjwvdWw+Cjxicj48L2JyPgozLiA8YSBocmVmPSIjMyI+SW5zdGFsbGluZyBBcGFjaGUyIFdlYiBTZXJ2ZXIgSW50ZWdyYXRpb24KTW9kdWxlIChtb2RfYXhpczIpPC9hPjxicj48L2JyPgo8dWw+CjMuMSA8YSBocmVmPSIjM18xIj5CdWlsZGluZyBtb2RfYXhpczIgZnJvbSBTb3VyY2U8L2E+PGJyPjwvYnI+Cjx1bD4KMy4xLjEgPGEgaHJlZj0iIzNfMV8xIj5PbiBMaW51eDwvYT48YnI+PC9icj4KMy4xLjIgPGEgaHJlZj0iIzNfMV8yIj5PbiBXaW5kb3dzIChXaW4zMik8L2E+PGJyPjwvYnI+CjwvdWw+CjMuMiA8YSBocmVmPSIjM18yIj5EZXBsb3lpbmcgaW4gQXBhY2hlMiBXZWIgU2VydmVyPC9hPjxicj48L2JyPgo8L3VsPgo8YnI+PC9icj4KNC4gPGEgaHJlZj0iIzQiPkluc3RhbGxpbmcgSUlTIChJbnRlcm5lciBJbmZvcm1hdGlvbgpTZXJ2ZXIpIEludGVncmF0aW9uIE1vZHVsZSAobW9kX2F4aXMyX0lJUyk8L2E+PGJyPjwvYnI+Cjx1bD4KNC4xIDxhIGhyZWY9IiM0XzEiPkJ1aWxkaW5nIG1vZF9heGlzMl9JSVMgZnJvbSBTb3VyY2U8L2E+PGJyPjwvYnI+CjQuMiA8YSBocmVmPSIjNF8yIj5EZXBsb3lpbmcgaW4gdGhlIElJUzwvYT48YnI+PC9icj4KPC91bD4KPC91bD4KPC9kaXY+PGJyPjwvYnI+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGEgbmFtZT0iMSI+PC9hPgo8aDI+MS4gR2V0dGluZyBBeGlzMi9DIFdvcmtpbmcgb24gTGludXg8L2gyPgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzEiPjwvYT4KPGgzPjEuMSBTZXR0aW5nIHVwIFByZXJlcXVpc2l0ZXM8L2gzPgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzFfMSI+PC9hPgo8aDQ+MS4xLjEgTWFuZGF0b3J5PC9oND4KPHA+QnkgZGVmYXVsdCBBeGlzMi9DIGlzIG5vdCBkZXBlbmRlbnQgb24gYW55IG90aGVyIHNvZnR3YXJlIGxpYnJhcmllcy48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzFfMiI+PC9hPgo8aDQ+MS4xLjIgT3B0aW9uYWw8L2g0Pgo8cD4oYSkgbGlieG1sMiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cueG1sc29mdC5vcmcvIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+aHR0cDovL3d3dy54bWxzb2Z0Lm9yZy88L2E+Cjxicj48L2JyPgooYikgbGliaWNvbnYgLSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliaWNvbnYvIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmljb252LzwvYT4KPGJyPjwvYnI+CihjKSB6bGliIC0gPGEgaHJlZj0iaHR0cDovL3d3dy56bGliLm5ldC8iIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5odHRwOi8vd3d3LnpsaWIubmV0LzwvYT4KPGJyPjwvYnI+CihkKSBBcGFjaGUgUXBpZCAtIDwvcD4KPHVsPgpZb3UgbmVlZCB0byBoYXZlIFFwaWQgbGlicmFyaWVzIGluc3RhbGxlZCBvbiB5b3VyCm1hY2hpbmUgaWYgeW91IGFyZSBnb2luZyB0byB1c2UgQU1RUCB0cmFuc3BvcnQuIEl0IGlzIGltcGVyYXRpdmUgdGhhdAp5b3UgY29tcGlsZSBhbmQgaW5zdGFsbCBRcGlkIGZyb20gU1ZOIHNvdXJjZS48YnI+PC9icj4KWW91IGNhbiBjaGVja291dCBRcGlkIFNWTiBzb3VyY2UgZnJvbSA8YSBjbGFzcz0iZXh0ZXJuYWxMaW5rIiBocmVmPSJodHRwczovL3N2bi5hcGFjaGUub3JnL3JlcG9zL2FzZi9pbmN1YmF0b3IvcXBpZC90cnVuay9xcGlkIj5odHRwczovL3N2bi5hcGFjaGUub3JnL3JlcG9zL2FzZi9pbmN1YmF0b3IvcXBpZC90cnVuay9xcGlkPC9hPi4KPC91bD4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzIiPjwvYT4KPGgzPjEuMiBVc2luZyBCaW5hcnkgUmVsZWFzZTwvaDM+CjxwPgooYSkgRXh0cmFjdCB0aGUgYmluYXJ5IHRhciBwYWNrYWdlIHRvIGEgZGlyZWN0b3J5Ljxicj48L2JyPgo8YnI+PC9icj4KKGIpIFNldCBBWElTMkNfSE9NRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBwb2ludGluZyB0byB0aGUgbG9jYXRpb24gd2hlcmUKeW91IGhhdmUgZXh0cmFjdGVkIEF4aXMyL0MuPGJyPjwvYnI+Cjxicj48L2JyPgo8Y29kZT4kIEFYSVMyQ19IT01FPScveW91cl9wYXRoX3RvX2F4aXMyYyc8L2NvZGU+PGJyPjwvYnI+Cjxjb2RlPiQgZXhwb3J0IEFYSVMyQ19IT01FPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KTk9URSA6IFlvdSB3aWxsIG5lZWQgdG8gc2V0IEFYSVMyQ19IT01FIG9ubHkgaWYgeW91IG5lZWQgdG8gcnVuIEF4aXMyL0MKc2FtcGxlcyBvciB0ZXN0cy4gVGhlIHJlYXNvbiBpcyB0aGF0IHRoZSBzYW1wbGVzIGFuZCB0ZXN0IGNvZGVzIHVzZQpBWElTMkNfSE9NRSB0byBnZXQgdGhlIHBhdGggdG8gQXhpczIvQy4gVG8gd3JpdGUgeW91ciBvd24gc2VydmljZXMgb3IKY2xpZW50cyB0aGlzIGlzIG5vdCBhIHJlcXVpcmVtZW50Ljxicj48L2JyPgo8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzMiPjwvYT4KPGgzPjEuMyBVc2luZyBTb3VyY2UgUmVsZWFzZTwvaDM+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjFfM18xIj48L2E+CjxoND4xLjMuMSBCYXNpYyBCdWlsZDwvaDQ+CihhKSBFeHRyYWN0IHRoZSBzb3VyY2UgdGFyIHBhY2thZ2UgdG8gYSBkaXJlY3Rvcnk8YnI+PC9icj4KPGJyPjwvYnI+CihiKSBTZXQgQVhJUzJDX0hPTUUgZW52aXJvbm1lbnQgdmFyaWFibGUgcG9pbnRpbmcgdG8gdGhlIGxvY2F0aW9uIHdoZXJlCnlvdSB3YW50IHRvIGluc3RhbGwgQXhpczIvQy48YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgQVhJUzJDX0hPTUU9Jy95b3VyX2Rlc2lyZWRfcGF0aF90b19heGlzMmNfaW5zdGFsbGF0aW9uJzwvY29kZT48YnI+PC9icj4KPGNvZGU+JCBleHBvcnQgQVhJUzJDX0hPTUU8L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpOT1RFIDogWW91IHdpbGwgbmVlZCB0byBzZXQgQVhJUzJDX0hPTUUgb25seSBpZiB5b3UgbmVlZCB0byBydW4gQXhpczIvQwpzYW1wbGVzIG9yIHRlc3RzLiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlIHNhbXBsZXMgYW5kIHRlc3QgY29kZXMgdXNlCkFYSVMyQ19IT01FIHRvIGdldAp0aGUgcGF0aCB0byBBeGlzMi9DLiBUbyB3cml0ZSB5b3VyIG93biBzZXJ2aWNlcyBvciBjbGllbnRzIHRoaXMgaXMgbm90CmEgcmVxdWlyZW1lbnQuPGJyPjwvYnI+Cjxicj48L2JyPgooYykgR28gdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3UgZXh0cmFjdGVkIHRoZSBzb3VyY2U8YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgY2QgL3lvdXJfcGF0aF90b19heGlzMmNfc291cmNlPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KKGQpIEJ1aWxkIHRoZSBzb3VyY2U8YnI+PC9icj4KVGhpcyBjYW4gYmUgZG9uZSBieSBydW5uaW5nIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBzZXF1ZW5jZSBpbiB0aGUKZGlyZWN0b3J5IHdoZXJlIHlvdSBoYXZlIGV4dHJhY3RlZCB0aGUgc291cmNlLjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+JCAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke0FYSVMyQ19IT01FfTwvY29kZT48YnI+PC9icj4KPGNvZGU+JCBtYWtlPC9jb2RlPjxicj48L2JyPgo8Y29kZT4kIG1ha2UgaW5zdGFsbDwvY29kZT48YnI+PC9icj4KPGJyPjwvYnI+ClBsZWFzZSBydW4gJy4vY29uZmlndXJlIC0taGVscCcgaW4gcmVzcGVjdGl2ZSBzdWIgZGlyZWN0b3JpZXMgZm9yIG1vcmUKaW5mb3JtYXRpb24gb24gdGhlc2UgY29uZmlndXJlIG9wdGlvbnMuIDxicj48L2JyPgo8YnI+PC9icj4KTk9URSA6IElmIHlvdSBkb24ndCBwcm92aWRlIHRoZSAtLXByZWZpeCBjb25maWd1cmUgb3B0aW9uLCBpdCB3aWxsIGJ5CmRlZmF1bHQgYmUgaW5zdGFsbGVkIGludG8gJy91c3IvbG9jYWwvYXhpczJjJyBkaXJlY3RvcnkuPGJyPjwvYnI+Cjxicj48L2JyPgpZb3UgY291bGQgcnVuICdtYWtlIGNoZWNrJyB0byB0ZXN0IGlmIGV2ZXJ5dGhpbmcgaXMgd29ya2luZyBmaW5lLgpIb3dldmVyLG5vdGUgdGhhdCB0aGUgdGVzdC9jb3JlL2NsaWVudGFwaS90ZXN0X2NsaWVudGFwaSBwcm9ncmFtIHdvdWxkCmZhaWwgdW5sZXNzIEFYSVMyQ19IT01FIHBvaW50cyB0byB0aGUgaW5zdGFsbGVkIGxvY2F0aW9uLihJdCdzIGxvb2tpbmcKZm9yIEF4aXMyL0MKcmVwb3NpdG9yeSkuVGhpcyBtZWFucyB5b3UgcmVhbGx5IHNob3VsZCBydW4gJ21ha2UgJmFtcDsmYW1wOwptYWtlIGluc3RhbGwnLCB0aGVuIHNldCAnQVhJUzJDX0hPTUU9L3BhdGgvdG8vaW5zdGFsbCcsIGFuZCB0aGVuICdtYWtlCmNoZWNrJy4gVGhhdCdzIGEgbGl0dGxlIGRpZmZlcmVudCB0aGFuIHRoZSB1c3VhbCAnbWFrZQomYW1wOyZhbXA7IG1ha2UgY2hlY2sgJmFtcDsmYW1wOyBtYWtlIGluc3RhbGwnIHByb2Nlc3MuPGJyPjwvYnI+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzNfMiI+PC9hPgo8aDQ+MS4zLjIgQnVpbGQgd2l0aCBPcHRpb25zPC9oND4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV8zXzJfYSI+PC9hPgo8aDQ+KGEpIFdpdGggR3V0aHRoaWxhPC9oND4KWW91IG1heSBuZWVkIHRvIHRyeSBBeGlzMi9DIHdpdGggR3V0aHRoaWxhIFhNTCBwYXJzZXIuIFlvdSBjYW4gZG8gaXQgYnkKZ2l2aW5nICctLWVuYWJsZS1ndXRodGhpbGE9eWVzJyBhcyBhIGNvbmZpZ3VyZSBvcHRpb24uPGJyPjwvYnI+Cjxicj48L2JyPgo8Y29kZT4kIC4vY29uZmlndXJlIC0tZW5hYmxlLWd1dGh0aGlsYT15ZXMgW290aGVyIGNvbmZpZ3VyYXRpb24Kb3B0aW9uc108L2NvZGU+PGJyPjwvYnI+Cjxjb2RlPiQgbWFrZTwvY29kZT48YnI+PC9icj4KPGNvZGU+JCBtYWtlIGluc3RhbGw8L2NvZGU+PGJyPjwvYnI+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzNfMl9iIj48L2E+CjxoND4oYikgV2l0aCBsaWJ4bWwyPC9oND4KWW91IG1heSBuZWVkIHRvIHRyeSBBeGlzMi9DIHdpdGggbGlieG1sMiBYTUwgcGFyc2VyLiBZb3UgY2FuIGRvIGl0IGJ5CmdpdmluZyAnLS1lbmFibGUtbGlieG1sMj15ZXMnIGFzIGEgY29uZmlndXJlIG9wdGlvbi48YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgLi9jb25maWd1cmUgLS1lbmFibGUtbGlieG1sMj15ZXMgW290aGVyIGNvbmZpZ3VyYXRpb24Kb3B0aW9uc108L2NvZGU+PGJyPjwvYnI+Cjxjb2RlPiQgbWFrZTwvY29kZT48YnI+PC9icj4KPGNvZGU+JCBtYWtlIGluc3RhbGw8L2NvZGU+PGJyPjwvYnI+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIxXzNfMl9jIj48L2E+CjxoND4oYykgV2l0aCBBTVFQIFRyYW5zcG9ydDwvaDQ+CllvdSBtYXkgbmVlZCB0byB0cnkgQXhpczIvQyB3aXRoIHRoZSBBTVFQIHRyYW5zcG9ydC4gWW91IGNhbiBkbyBpdCBieQpnaXZpbmcgJy0td2l0aC1xcGlkPS9wYXRoL3RvL3FwaWQvaG9tZScgYXMgYSBjb25maWd1cmUgb3B0aW9uLjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+JCAuL2NvbmZpZ3VyZSAtLXdpdGgtcXBpZD0vcGF0aC90by9xcGlkL2hvbWUgW290aGVyCmNvbmZpZ3VyYXRpb24gb3B0aW9uc108L2NvZGU+PGJyPjwvYnI+Cjxjb2RlPiQgbWFrZTwvY29kZT48YnI+PC9icj4KPGNvZGU+JCBtYWtlIGluc3RhbGw8L2NvZGU+PGJyPjwvYnI+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV8zXzMiPjwvYT4KPGg0PjEuMy4zIEJ1aWxkaW5nIFNhbXBsZXM8L2g0PgpJZiB5b3UgbmVlZCB0byBnZXQgdGhlIHNhbXBsZXMgd29ya2luZywgeW91IGFsc28gbmVlZCB0byBidWlsZCB0aGUKc2FtcGxlcy48YnI+PC9icj4KPGJyPjwvYnI+ClRvIGJ1aWxkIHRoZSBzYW1wbGVzOjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+JCBleHBvcnQKTERfTElCUkFSWV9QQVRIPSRMRF9MSUJSQVJZX1BBVEg6JHtBWElTMkNfSE9NRX0vbGliLzwvY29kZT48YnI+PC9icj4KPGNvZGU+JCBjZCBzYW1wbGVzPC9jb2RlPjxicj48L2JyPgo8Y29kZT4kIC4vY29uZmlndXJlIC0tcHJlZml4PSR7QVhJUzJDX0hPTUV9Ci0td2l0aC1heGlzMj0ke0FYSVMyQ19IT01FfS9pbmNsdWRlL2F4aXMyLTEuNi4wPC9jb2RlPjxicj48L2JyPgo8Y29kZT4kIG1ha2U8L2NvZGU+PGJyPjwvYnI+Cjxjb2RlPiQgbWFrZSBpbnN0YWxsPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KUGxlYXNlIHJ1biAnLi9jb25maWd1cmUgLS1oZWxwJyBpbiBzYW1wbGVzIGZvbGRlciBmb3IgbW9yZSBpbmZvcm1hdGlvbgpvbiBjb25maWd1cmUgb3B0aW9ucy48YnI+PC9icj4KPGJyPjwvYnI+Ck5PVEUgOiBJZiB5b3UgZG9uJ3QgcHJvdmlkZSBhIC0tcHJlZml4IGNvbmZpZ3VyZSBvcHRpb24sIHNhbXBsZXMgd2lsbApieSBkZWZhdWx0IGJlIGluc3RhbGxlZCBpbnRvICcvdXNyL2xvY2FsL2F4aXMyYy9zYW1wbGVzJyBkaXJlY3RvcnkuPGJyPjwvYnI+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV80Ij48L2E+CjxoMz4xLjQgQ29uZmlndXJhdGlvbjwvaDM+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjFfNF8xIj48L2E+CjxoND4xLjQuMSBBTVFQIFRyYW5zcG9ydDwvaDQ+CllvdSBuZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIGVudHJpZXMgaW50byB0aGUgYXhpczIueG1sLjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+Jmx0O3RyYW5zcG9ydFJlY2VpdmVyIG5hbWU9ImFtcXAiCmNsYXNzPSJheGlzMl9hbXFwX3JlY2VpdmVyIiZndDsgPGJyPjwvYnI+CqCgoCZsdDtwYXJhbWV0ZXIgbmFtZT0icXBpZF9icm9rZXJfaXAiCmxvY2tlZD0iZmFsc2UiJmd0OzEyNy4wLjAuMSZsdDsvcGFyYW1ldGVyJmd0Ozxicj48L2JyPgqgoKAmbHQ7cGFyYW1ldGVyIG5hbWU9InFwaWRfYnJva2VyX3BvcnQiCmxvY2tlZD0iZmFsc2UiJmd0OzU2NzImbHQ7L3BhcmFtZXRlciZndDs8YnI+PC9icj4KJmx0Oy90cmFuc3BvcnRSZWNlaXZlciZndDs8YnI+PC9icj4KPGJyPjwvYnI+CiZsdDt0cmFuc3BvcnRTZW5kZXIgbmFtZT0iYW1xcCIgY2xhc3M9ImF4aXMyX2FtcXBfc2VuZGVyIi8mZ3Q7PC9jb2RlPgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjFfNSI+PC9hPgo8aDM+MS41IFJ1bm5pbmcgU2FtcGxlczwvaDM+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjFfNV8xIj48L2E+CjxoND4xLjUuMSBIVFRQIFRyYW5zcG9ydDwvaDQ+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjFfNV8xX2EiPjwvYT4KPGg0PihhKSBTZXJ2ZXI8L2g0PgpZb3UgaGF2ZSB0byBmaXJzdCBzdGFydCB0aGUgYXhpczJfaHR0cF9zZXJ2ZXIgYXMgZm9sbG93cy48YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgY2QgJHtBWElTMkNfSE9NRX0vYmluPC9jb2RlPjxicj48L2JyPgo8Y29kZT4kIC4vYXhpczJfaHR0cF9zZXJ2ZXI8L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpZb3Ugc2hvdWxkIHNlZSB0aGUgbWVzc2FnZTxicj48L2JyPgqgoKCgoKCgoKCgoKCgoKBTdGFydGVkClNpbXBsZSBBeGlzMiBIVFRQClNlcnZlci4uLjxicj48L2JyPgo8YnI+PC9icj4KVGhpcyB3aWxsIHN0YXJ0IHRoZSBzaW1wbGUgYXhpcyBzZXJ2ZXIgb24gcG9ydCA5MDkwLiBUbyBzZWUgdGhlCnBvc3NpYmxlIGNvbW1hbmQgbGluZSBvcHRpb25zIHJ1bjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+JCAuL2F4aXMyX2h0dHBfc2VydmVyIC1oPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KTk9URSAxIDogWW91IG1heSBuZWVkIHRvIGxvZ2luIGFzIHN1cGVydXNlciB0byBydW4gdGhlCmF4aXMyX2h0dHBfc2VydmVyLjxicj48L2JyPgpOT1RFIDIgOiBJZiB5b3UgcnVuIGludG8gc2hhcmVkIGxpYiBwcm9ibGVtcywgc2V0IHRoZSBMRF9MSUJSQVJZX1BBVEgKYXMgZm9sbG93cy48YnI+PC9icj4KoKCgoKCgoKCgoKCgoKCgPGNvZGU+JApleHBvcnQKTERfTElCUkFSWV9QQVRIPSRMRF9MSUJSQVJZX1BBVEg6JHtBWElTMkNfSE9NRX0vbGliPC9jb2RlPjxicj48L2JyPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV81XzFfYiI+PC9hPgo8aDQ+KGIpIENsaWVudHM8L2g0PgpXaGVuIHRoZSBheGlzMl9odHRwX3NlcnZlciBpcyB1cCBhbmQgcnVubmluZywgeW91IGNhbiBydW4gdGhlIHNhbXBsZQpjbGllbnRzIGluIGEgbmV3IHNoZWxsIGFzIGZvbGxvd3MuPGJyPjwvYnI+Cjxicj48L2JyPgo8Y29kZT4kIGNkICR7QVhJUzJDX0hPTUV9L3NhbXBsZXMvYmluPC9jb2RlPjxicj48L2JyPgo8Y29kZT4kIC4vZWNobzwvY29kZT48YnI+PC9icj4KPGJyPjwvYnI+ClRoaXMgd2lsbCBpbnZva2UgdGhlIGVjaG8gc2VydmljZS48YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgLi9tYXRoPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KVGhpcyB3aWxsIGludm9rZSB0aGUgbWF0aCBzZXJ2aWNlLjxicj48L2JyPgo8YnI+PC9icj4KVG8gc2VlIHRoZSBwb3NzaWJsZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBmb3Igc2FtcGxlIGNsaWVudHMgcnVuIHRoZW0Kd2l0aCAnLWgnIG9wdGlvbjxicj48L2JyPgo8YnI+PC9icj4KTk9URSA6IElmIHlvdSBydW4gaW50byBzaGFyZWQgbGliIHByb2JsZW1zLCBzZXQgdGhlIExEX0xJQlJBUllfUEFUSCBhcwpmb2xsb3dzLjxicj48L2JyPgqgoKCgoKCgoKCgoKCgoKA8Y29kZT4kCmV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9JExEX0xJQlJBUllfUEFUSDoke0FYSVMyQ19IT01FfS9saWI8L2NvZGU+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV81XzIiPjwvYT4KPGg0PjEuNS4yIEFNUVAgVHJhbnNwb3J0PC9oND4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV81XzJfYSI+PC9hPgo8aDQ+KGEpIFNlcnZlcjwvaDQ+ClN0YXJ0IHRoZSBRcGlkIGJyb2tlciBhcyBmb2xsb3dzLjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+JCBjZCAke1FQSURfSE9NRX0vc2JpbjwvY29kZT48YnI+PC9icj4KPGNvZGU+JCAuL3FwaWRkIC0tZGF0YS1kaXIgLi88L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpTdGFydCB0aGUgYXhpczJfYW1xcF9zZXJ2ZXIgYXMgZm9sbG93cy48YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgY2QgJHtBWElTMkNfSE9NRX0vYmluPC9jb2RlPjxicj48L2JyPgo8Y29kZT4kIC4vYXhpczJfYW1xcF9zZXJ2ZXI8L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpZb3Ugc2hvdWxkIHNlZSB0aGUgbWVzc2FnZTxicj48L2JyPgqgoKCgoKCgoKCgoKCgoKBTdGFydGVkClNpbXBsZSBBeGlzMiBBTVFQIFNlcnZlci4uLjxicj48L2JyPgo8YnI+PC9icj4KVGhpcyB3aWxsIGNvbm5lY3QgdG8gdGhlIFFwaWQgYnJva2VyIGxpc3RlbmluZyBvbiAxMjcuMC4wLjE6NTY3Mi4gVG8Kc2VlIHRoZSBwb3NzaWJsZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBydW48YnI+PC9icj4KPGJyPjwvYnI+Cjxjb2RlPiQgLi9heGlzMl9hbXFwX3NlcnZlciAtaDwvY29kZT48YnI+PC9icj4KPGJyPjwvYnI+Ck5PVEUgMSA6IFlvdSBoYXZlIHRoZSBmbGV4aWJpbGl0eSBvZiBzdGFydGluZyB0aGUgUXBpZCBicm9rZXIgZmlyc3QgYW5kCnRoZW4gYXhpczJfYW1xcF9zZXJ2ZXIgb3IgdmlzZSB2ZXJzYS48YnI+PC9icj4KTk9URSAyIDogWW91IG1heSBuZWVkIHRvIGxvZ2luIGFzIHN1cGVydXNlciB0byBydW4gdGhlCmF4aXMyX2FtcXBfc2VydmVyLjxicj48L2JyPgpOT1RFIDMgOiBJZiB5b3UgcnVuIGludG8gc2hhcmVkIGxpYiBwcm9ibGVtcywgc2V0IHRoZSBMRF9MSUJSQVJZX1BBVEgKYXMgZm9sbG93cy48YnI+PC9icj4KoKCgoKCgoKCgoKCgoKCgPGNvZGU+JApleHBvcnQgTERfTElCUkFSWV9QQVRIPSRMRF9MSUJSQVJZX1BBVEg6JHtBWElTMkNfSE9NRX0vbGliPC9jb2RlPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMV81XzJfYiI+PC9hPgo8aDQ+KGIpIENsaWVudHM8L2g0PgpXaGVuIHRoZSBheGlzMl9hbXFwX3NlcnZlciBpcyB1cCBhbmQgcnVubmluZywgeW91IGNhbiBydW4gdGhlIHNhbXBsZQpjbGllbnRzIGluIGEgbmV3IHNoZWxsIGFzIGZvbGxvd3MuPGJyPjwvYnI+Cjxicj48L2JyPgo8Y29kZT4kIGNkICR7QVhJUzJDX0hPTUV9L3NhbXBsZS9iaW4vYW1xcDwvY29kZT48YnI+PC9icj4KPGNvZGU+JCAuL2VjaG9fYmxvY2tpbmc8L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpUaGlzIHdpbGwgaW52b2tlIHRoZSBlY2hvIHNlcnZpY2UuPGJyPjwvYnI+Cjxicj48L2JyPgpUbyBzZWUgdGhlIHBvc3NpYmxlIGNvbW1hbmQgbGluZSBvcHRpb25zIGZvciBzYW1wbGUgY2xpZW50cyBydW4gdGhlbQp3aXRoICctaCcgb3B0aW9uPGJyPjwvYnI+Cjxicj48L2JyPgpOT1RFIDogSWYgeW91IHJ1biBpbnRvIHNoYXJlZCBsaWIgcHJvYmxlbXMsIHNldCB0aGUgTERfTElCUkFSWV9QQVRIIGFzCmZvbGxvd3MuPGJyPjwvYnI+CqCgoKCgoKCgoKCgoKCgoDxjb2RlPiQKZXhwb3J0IExEX0xJQlJBUllfUEFUSD0kTERfTElCUkFSWV9QQVRIOiR7QVhJUzJDX0hPTUV9L2xpYjwvY29kZT4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+PGEgbmFtZT0iMiI+PC9hPgo8aDI+Mi4gR2V0dGluZyBBeGlzMi9DIFdvcmtpbmcgb24gV2luZG93cyAoV2luMzIpPC9oMj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMl8xIj48L2E+CjxoMz4yLjEgU2V0dGluZyB1cCBQcmVyZXF1aXNpdGVzPC9oMz4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMl8xXzEiPjwvYT4KPGg0PjIuMS4xIE1hbmRhdG9yeTwvaDQ+CihhKSBUaGUgYmluYXJpZXMgc2hpcHBlZCB3aXRoIHRoaXMgdmVyc2lvbiBhcmUgY29tcGlsZWQgd2l0aCBNaWNyb3NvZnQKVmlzdWFsIFN0dWRpbyBjb21waWxlciAoY2wpLiBBbmQgYWxzbyB0aGUgbWFrZWZpbGUgdGhhdCBpcyBzaGlwcGVkIHdpdGgKdGhpcyB2ZXJzaW9uIG5lZWRzIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIGNvbXBpbGVyIChjbCkgYW5kIG5tYWtlCmJ1aWxkIHRvb2wuIDxicj48L2JyPgo8YnI+PC9icj4KTk9URSA6IFlvdSBjYW4gPGEgaHJlZj0iaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS92c3R1ZGlvL2V4cHJlc3MvZG93bmxvYWRzLyIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPmRvd25sb2FkPC9hPgpNaWNyb3NvZnQgVlMgRXhwcmVzczIwMDUgRWRpdGlvbiBhbmQgUGxhdGZvcm0KU0RLIGZyb20gTWljcm9zb2Z0IHdlYnNpdGUuIFlvdSBuZWVkIHRvIGFkZCB0aGUgcGF0aCB0byBQbGF0Zm9ybSBTREsKSW5jbHVkZSBhbmQgTGliIGZvbGRlcnMgdG8gdGhlIG1ha2VmaWxlIGluIG9yZGVyIGZvciB5b3UgdG8gY29tcGlsZSB0aGUKc291cmNlLjxicj48L2JyPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMl8xXzIiPjwvYT4KPGg0PjIuMS4yIE9wdGlvbmFsPC9oND4KKGEpIGxpYnhtbDIgWzxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wdWIvbGlieG1sIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+aHR0cDovL3d3dy56bGF0a292aWMuY29tL3B1Yi9saWJ4bWw8L2E+CnZlcnNpb24gJmd0Oz0gbGlieG1sMi0yLjYuMjAud2luMzJdPGJyPjwvYnI+CihiKSBpY29udiBbPGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3B1Yi9saWJ4bWwiIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5odHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHViL2xpYnhtbDwvYT4KdmVyc2lvbiAmZ3Q7PSBpY29udi0xLjkuMS53aW4zMl08YnI+PC9icj4KKGMpIHpsaWIgWzxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wdWIvbGlieG1sIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+aHR0cDovL3d3dy56bGF0a292aWMuY29tL3B1Yi9saWJ4bWw8L2E+CnZlcnNpb24gJmd0Oz0gemxpYi0xLjIuMy53aW4zMl08YnI+PC9icj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzIiPjwvYT4KPGgzPjIuMiBVc2luZyBCaW5hcnkgUmVsZWFzZTwvaDM+CkV4dHJhY3QgdGhlIGJpbmFyeSBkaXN0cmlidXRpb24gdG8gYSBmb2xkZXIgb2YgeW91ciBjaG9pY2UuKGV4YW1wbGU6CkM6XGF4aXMyYyk8YnI+PC9icj4KVGhlIEM6XGF4aXMyYyBmb2xkZXIgc3RydWN0dXJlIGlzIGFzIGZvbGxvd3M6PGJyPjwvYnI+Cjx1bD4KPGxpPmJpbiAtIHNlcnZlciBhbmQgb3RoZXIgZXhlY3V0YWJsZXM8L2xpPgo8bGk+c2FtcGxlc1xiaW4gLSBjbGllbnQgc2FtcGxlIGJpbmFyaWVzIDwvbGk+CjxsaT5zYW1wbGVzXGxpYiAtIHNhbXBsZSBsaWJyYXJpZXMgPC9saT4KPGxpPnNhbXBsZXNcc3JjIC0gc2FtcGxlIHNvdXJjZXMgPC9saT4KPGxpPmxpYiAtIGxpYnJhcnkgbW9kdWxlczwvbGk+CjxsaT5zZXJ2aWNlcyAtIGRlcGxveWVkIHNlcnZpY2VzPC9saT4KPGxpPm1vZHVsZXMgLSBkZXBsb3llZCBtb2R1bGVzPC9saT4KPGxpPmluY2x1ZGUgLSBhbGwgSW5jbHVkZSBmaWxlcyBvZiBBeGlzMi9DPC9saT4KPGxpPmxvZ3MgLSBzeXN0ZW0gYW5kIGNsaWVudCBsb2dzIGFyZSB3cml0dGVuIHRvIHRoaXMgZm9sZGVyPC9saT4KPC91bD4KT3B0aW9uYWxseSB5b3UgbWlnaHQgcmVxdWlyZSB0byBjb3B5IHRoZSBpY29udi5kbGwsIGxpYnhtbDIuZGxsIGFuZCB6bGliMS5kbGwgdG8gQzpcYXhpczJjXGxpYiBhcyB3ZWxsLjxicj48L2JyPgooT3IgeW91IGNhbiBoYXZlIHRoZXNlIGRsbCdzIGluIHNvbWUgb3RoZXIgcGxhY2UgYW5kIGFkZCB0aGF0IGxvY2F0aW9uCnRvIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUpCjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzMiPjwvYT4KPGgzPjIuMyBVc2luZyBTb3VyY2UgUmVsZWFzZTwvaDM+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjJfM18xIj48L2E+CjxoND4yLjMuMSBTZXR0aW5nIEJ1aWxkIE9wdGlvbnM8L2g0Pgo8cD5QbGVhc2UgZWRpdCB0aGUKJmx0O3NvdXJjZV9kaXN0cmlidXRpb24mZ3Q7XGJ1aWxkXHdpbjMyXGNvbmZpZ3VyZS5pbiBmaWxlCnRvIHNldCB0aGUgZm9sbG93aW5nIGJ1aWxkIG9wdGlvbnMuIFRoZXNlIGFyZSBvcHRpb25hbDwvcD4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMl8zXzFfYSI+PC9hPgo8aDQ+KGEpIFNldHRpbmcgemxpYiBMb2NhdGlvbjwvaDQ+ClNldCB0aGUgWkxJQl9CSU5fRElSIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSB6bGliIGlzIGluc3RhbGxlZCB0bzxicj48L2JyPgo8YnI+PC9icj4KRGVmYXVsdCBsb2NhdGlvbiBmb3IgemxpYiBpcyBFOlx6bGliLTEuMi4zLndpbjMyIGFuZCB0aGUgZm9sZGVyCnN0cnVjdHVyZSBzaG91bGQgbG9vayBsaWtlIHRoZSBmb2xsb3dpbmc8YnI+PC9icj4KPGJyPjwvYnI+CjxpbWcgYWx0PSJGaWd1cmU6IEM6XHpsaWIgRm9sZGVyIFN0cnVjdHVyZSIgc3JjPSJpbWFnZXMvZm9sZGVyX3N0cnVjdHVyZV96bGliLmpwZyI+PC9pbWc+Cjxicj48L2JyPgpZb3UgY2FuIGVpdGhlciBleHRyYWN0IHpsaWIgdG8gdGhpcyBmb2xkZXIgb3IgZXh0cmFjdCBpdCB0byBhIGxvY2F0aW9uCm9mIHlvdXIgY2hvaWNlIGFuZCBlZGl0IHRoZSBjb25maWd1cmUuaW4gZmlsZSBhY2NvcmRpbmdseS48YnI+PC9icj4KPGJyPjwvYnI+Ck5PVEUgOiBZb3UgbmVlZCB0byBoYXZlIHpsaWIxLmRsbCBpbiB0aGUgbGlicmFyeSBwYXRoLjxicj48L2JyPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iMl8zXzFfYiI+PC9hPgo8aDQ+KGIpIEVuYWJsZSBHdXRodGhpbGE8L2g0Pgo8bGk+U2V0IHRoZSBFTkFCTEVfR1VUSFRISUxBIG9wdGlvbiB0byAxPC9saT4KPC9kaXY+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjJfM18xX2MiPjwvYT4KPGg0PihjKSBFbmFibGUgbGlieG1sMjwvaDQ+CjxsaT5TZXQgdGhlIEVOQUJMRV9MSUJYTUwyIG9wdGlvbiB0byAxPC9saT4KPGxpPlNldCB0aGUgTElCWE1MMl9CSU5fRElSIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSBsaWJ4bWwyIGlzCmluc3RhbGxlZCB0bzwvbGk+CjxsaT5TZXQgdGhlIElDT05WX0JJTl9ESVIgdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGljb252IGlzCmluc3RhbGxlZCB0bzwvbGk+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzNfMV9kIj48L2E+CjxoND4oZCkgRW5hYmxlIFNTTCBTdXBwb3J0PC9oND4KPGxpPlNldCBFTkFCTEVfU1NMIG9wdGlvbiB0byAxPC9saT4KPGxpPlNldCBPUEVOU1NMX0JJTl9ESVIgdG8gdGhlIGxvY2F0aW9uIHdoZXJlIE9wZW5TU0wgaXMKaW5zdGFsbGVkIHRvPC9saT4KPC9kaXY+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjJfM18xX2UiPjwvYT4KPGg0PihlKSBFbmFibGUgbGliY3VybDwvaDQ+CjxsaT5TZXQgRU5BQkxFX0xJQkNVUkwgdG8gMTwvbGk+CjxsaT5TZXQgTElCQ1VSTF9CSU5fRElSIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSBsaWJjdXJsIGlzCmluc3RhbGxlZCB0bzwvbGk+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzNfMiI+PC9hPgo8aDQ+Mi4zLjIgQ29tcGlsaW5nIHRoZSBTb3VyY2U8L2g0Pgo8cD5UaGUgZm9sbG93aW5nIHN0ZXBzIHdpbGwgdGFrZSB5b3UgdGhyb3VnaCB0aGUgc291cmNlCmNvbXBpbGF0aW9uLjwvcD4KPHVsPgo8bGk+RXh0cmFjdCB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbiB0byBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4KKEV4YW1wbGU6IEM6XGF4aXMyYyk8L2xpPgo8bGk+RWRpdCB0aGUgY29uZmlndXJlLmluIGZpbGUgYXMgZXhwbGFpbmVkIGluIHRoZSBzZWN0aW9uIDIuMy4xPC9saT4KPGxpPk9wZW4gYSBET1Mgc2hlbGw8L2xpPgo8bGk+PGNvZGU+Y2QgQzpcYXhpczJjXGJ1aWxkXHdpbjMyPC9jb2RlPjwvbGk+CjxsaT50byBhY2Nlc3MgLk5ldCB0b29scywgcnVuCjx1bD4KPGxpPjxjb2RlPkM6XGF4aXMyY1xidWlsZFx3aW4zMiZndDsgdmN2YXJzMzIuYmF0PC9jb2RlPjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPjogWW91IG1heSBoYXZlIHRvIHNldAp0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB2Y3ZhcnMzMi5iYXQgaWYgTVMgV2luZG93cyBnaXZlcyBhbgplcnJvciBpbmRpY2F0aW5nIHRoYXQgaXQgY2Fubm90IGZpbmQgdGhpcyBiYXRjaCBmaWxlLiBUaGlzIGZpbGUgaXMKbG9jYXRlZCBpbiAmbHQ7WW91ciBNUyBWaXN1YWwgU3R1ZGlvIEluc3RhbGwKRGlyZWN0b3J5Jmd0O1xWQ1xiaW4gZGlyZWN0b3J5LjwvcD4KPC9saT4KPGxpPlRvIGJ1aWxkIHRoZSBzeXN0ZW0gYW5kIGNyZWF0ZSB0aGUgYmluYXJ5IGZpbGVzIGluIGEKZGlyZWN0b3J5IG5hbWVkIGRlcGxveSB1bmRlciB0aGUgYnVpbGQgZGlyZWN0b3J5LAo8dWw+CjxsaT48Y29kZT5DOlxheGlzMmNcYnVpbGRcd2luMzImZ3Q7bm1ha2UgaW5zdGFsbDwvY29kZT48L2xpPgo8L3VsPgo8L2xpPgo8bGk+PHA+VGhlIGRlcGxveSBmb2xkZXIgc3RydWN0dXJlIGlzIGFzIGZvbGxvd3M6PC9wPjwvbGk+Cjx1bD4KPGxpPmJpbiAtIHNlcnZlciBhbmQgb3RoZXIgZXhlY3V0YWJsZTwvbGk+CjxsaT5zYW1wbGVzXGJpbiAtIGNsaWVudCBzYW1wbGUgYmluYXJpZXM8L2xpPgo8bGk+c2FtcGxlc1xsaWIgLSBjbGllbnQgc2FtcGxlcyBsaWJyYXJpZXM8L2xpPgo8bGk+bGliIC0gbGlicmFyeSBtb2R1bGVzPC9saT4KPGxpPnNlcnZpY2VzIC0gZGVwbG95ZWQgc2VydmljZXM8L2xpPgo8bGk+bW9kdWxlcyAtIGRlcGxveWVkIG1vZHVsZXM8L2xpPgo8bGk+aW5jbHVkZSAtIGFsbCBpbmNsdWRlIGZpbGVzIG9mIEF4aXMyIEM8L2xpPgo8bGk+bG9ncyAtIHN5c3RlbSBhbmQgY2xpZW50IGxvZ3MgYXJlIHdyaXR0ZW4gdG8gdGhpcyBmb2xkZXI8L2xpPgo8L3VsPgo8L3VsPgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjJfNCI+PC9hPgo8aDM+Mi40IFJ1bm5pbmcgU2FtcGxlczwvaDM+CllvdSBuZWVkIHRvIHNldCBhIGNvdXBsZSBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYmVmb3JlIHlvdSBjYW4gcnVuCnRoZSBzZXJ2ZXIgYW5kIHNhbXBsZXMuPGJyPjwvYnI+Cjxicj48L2JyPgpTZXQgdGhlIHZhcmlhYmxlIEFYSVMyQ19IT01FIHRvIHRoZSBkZXBsb3kgZm9sZGVyIChDOlxheGlzMmMpPGJyPjwvYnI+CkFkZCB0aGUgcGF0aCB0byBsaWIgZGlyZWN0b3J5IHRvIHRoZSBQQVRIIHZhcmlhYmxlICglQVhJUzJDX0hPTUUlXGxpYik8YnI+PC9icj4KPGJyPjwvYnI+CkNvcHkgaWNvbnYuZGxsLCB6bGliMS5kbGwsIGxpYnhtbDIuZGxsIHRvIHRoZSAlQVhJUzJDX0hPTUUlXGxpYiBmb2xkZXIuIFRoaXMgaXMgCm9wdGlvbmFsLjxicj48L2JyPgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzRfMSI+PC9hPgo8aDQ+Mi40LjEgSFRUUCB0cmFuc3BvcnQ8L2g0Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzRfMV9hIj48L2E+CjxoND4oYSkgU2VydmVyPC9oND4KPGNvZGU+Jmd0OyBjZCAlQVhJUzJDX0hPTUUlXGJpbjwvY29kZT48YnI+PC9icj4KPGNvZGU+Jmd0OyBheGlzMl9odHRwX3NlcnZlci5leGUgPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KWW91IHNob3VsZCBzZWUgdGhlIG1lc3NhZ2U8YnI+PC9icj4KoKCgoKCgoKCgoKCgoKCgU3RhcnRlZApTaW1wbGUgQXhpczIgSFRUUCBTZXJ2ZXIuLi48YnI+PC9icj4KPGJyPjwvYnI+CkJ5IGRlZmF1bHQgdGhlIGxvZyBpcyBjcmVhdGVkIHVuZGVyICVBWElTMkNfSE9NRSVcbG9ncyBmb2xkZXIgd2l0aCB0aGUKbmFtZSBheGlzMi5sb2cuPGJyPjwvYnI+Cjxicj48L2JyPgpOT1RFIDogWW91IG1heSBwcm92aWRlIGNvbW1hbmQgbGluZSBvcHRpb25zIHRvIGNoYW5nZSB0aGUgZGVmYXVsdApiZWhhdmlvdXIuIFR5cGUgJ2F4aXMyX2h0dHBfc2VydmVyLmV4ZSAtaCcgdG8gbGVhcm4gYWJvdXQgdGhlIHVzYWdlCjwvZGl2Pgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSIyXzRfMV9iIj48L2E+CjxoND4oYikgQ2xpZW50czwvaDQ+Ck5vdyB5b3UgY2FuIHJ1biBhbnkgc2FtcGxlIGNsaWVudCBkZXBsb3llZCB1bmRlcgolQVhJUzJDX0hPTUUlXHNhbXBsZXNcYmluPGJyPjwvYnI+Cjxicj48L2JyPgpFeGFtcGxlOjxicj48L2JyPgo8dWw+Cjxjb2RlPiZndDsgY2QgJUFYSVMyQ19IT01FJVxzYW1wbGVzXGJpbjwvY29kZT48YnI+PC9icj4KPGNvZGU+Jmd0OyBlY2hvLmV4ZTwvY29kZT4KPC91bD4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPjxhIG5hbWU9IjMiPjwvYT4KPGgyPjMuIEluc3RhbGxpbmcgQXBhY2hlMiBXZWIgU2VydmVyIEludGVncmF0aW9uIE1vZHVsZQoobW9kX2F4aXMyKTwvaDI+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjNfMSI+PC9hPgo8aDM+My4xIEJ1aWxkaW5nIG1vZF9heGlzMiBmcm9tIFNvdXJjZTwvaDM+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjNfMV8xIj48L2E+CjxoND4zLjEuMSBPbiBMaW51eDwvaDQ+ClByb3ZpZGUgdGhlIEFwYWNoZTIgaW5jbHVkZSBmaWxlIGxvY2F0aW9uIGFzIGEgY29uZmlndXJlIG9wdGlvbjxicj48L2JyPgo8YnI+PC9icj4KPGNvZGU+JCAuL2NvbmZpZ3VyZSAtLXdpdGgtYXBhY2hlMj0iJmx0O2FwYWNoZTIgaHR0cGQgaW5jbHVkZQpmaWxlcyBsb2NhdGlvbiZndDsiIFtvdGhlcgpjb25maWd1cmUgb3B0aW9uc108L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpOT1RFIDogU29tZSBhcGFjaGUyIGRpc3RyaWJ1dGlvbnMgaW5zdGFsbCBBUFIgKEFwYWNoZSBQb3J0YWJsZSBSdW50aW1lKQppbmNsdWRlIGZpbGVzIGluIGEgc2VwYXJhdGUgbG9jYXRpb24gd2hpY2ggaXMgcmVxdWlyZWQgdG8gYnVpbGQKbW9kX2F4aXMyLjxicj48L2JyPgo8YnI+PC9icj4KSW4gdGhhdCBjYXNlIHVzZTo8YnI+PC9icj4KPGNvZGU+JCAuL2NvbmZpZ3VyZSAtLXdpdGgtYXBhY2hlMj0iJmx0O2FwYWNoZTIgaW5jbHVkZSBmaWxlcwpsb2NhdGlvbiZndDsiIC0td2l0aC1hcHI9IiZsdDthcHIgaW5jbHVkZSBmaWxlcwpsb2NhdGlvbiZndDsiIFtvdGhlciBjb25maWd1cmUgb3B0aW9uc108L2NvZGU+PGJyPjwvYnI+Cjxicj48L2JyPgpUaGVuIGJ1aWxkIHRoZSBzb3VyY2UgdHJlZTxicj48L2JyPgo8Y29kZT4kIG1ha2U8L2NvZGU+PGJyPjwvYnI+Cjxjb2RlPiQgbWFrZSBpbnN0YWxsPC9jb2RlPjxicj48L2JyPgo8YnI+PC9icj4KVGhpcyB3aWxsIGluc3RhbGwgbW9kX2F4aXMyLnNvIGludG8geW91cgoiJmx0O3lvdXJfcGF0aF90b19heGlzMmMmZ3Q7L2xpYiIKPC9kaXY+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjNfMV8yIj48L2E+CjxoND4zLjEuMiBPbiBXaW5kb3dzIChXaW4zMik8L2g0PgpQcm92aWRlIHRoZSBhcGFjaGUyIGxvY2F0aW9uIGluIGNvbmZpZ3VyZS5pbiBmaWxlIGluIEFQQUNIRV9CSU5fRElSPGJyPjwvYnI+Cjxicj48L2JyPgpFeGFtcGxlOjxicj48L2JyPgpBUEFDSEVfQklOX0RJUiA9IEU6XEFwYWNoZTIyPGJyPjwvYnI+Cjxicj48L2JyPgpBZnRlciBjb21waWxpbmcgdGhlIHNvdXJjZXMgKGFzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDIuMykgYnVpbGQgdGhlCm1vZF9heGlzMi5kbGwgYnkgaXNzdWluZyB0aGUgY29tbWFuZCAnbm1ha2UgYXhpczJfYXBhY2hlX21vZHVsZScuPGJyPjwvYnI+ClRoaXMgd2lsbCBidWlsZCBtb2RfYXhpczIuZGxsIGFuZCBjb3B5IGl0IHRvICVBWElTMkNfSE9NRSVcbGliCmRpcmVjdG9yeS48YnI+PC9icj4KPGJyPjwvYnI+CkV4YW1wbGU6PGJyPjwvYnI+CkM6XGF4aXMyY1xidWlsZFxkZXBsb3lcbGliIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3Vic2VjdGlvbiI+PGEgbmFtZT0iM18yIj48L2E+CjxoMz4zLjIgRGVwbG95aW5nIGluIEFwYWNoZTIgV2ViIFNlcnZlcjwvaDM+Ck5PVEUgOiBUbyBkbyB0aGUgZm9sbG93aW5nIHRhc2tzLCB5b3UgbWlnaHQgbmVlZCBzdXBlciB1c2VyIHByaXZpbGVnZXMKb24geW91ciBtYWNoaW5lLiBJZiB5b3UgYXJlIHVzaW5nIHRoZSBiaW5hcnkgcmVsZWFzZSBvZiBBeGlzMi9DLCBwbGVhc2Ugbm90ZSB0aGF0IGl0IGlzIGJ1aWx0IHdpdGggQXBhY2hlIDIuMi48YnI+PC9icj4KPGJyPjwvYnI+CkNvcHkgdGhlIG1vZF9heGlzMiAobGlibW9kX2F4aXMyLnNvLjAuNi4wIG9uIExpbnV4IGFuZCBtb2RfYXhpczIuZGxsIG9uCldpbmRvd3MpIHRvICImbHQ7YXBhY2hlMiBtb2R1bGVzIGRpcmVjdG9yeSZndDsiIGFzCm1vZF9heGlzMi5zbyA8YnI+PC9icj4KPGJyPjwvYnI+CkV4YW1wbGU6PGJyPjwvYnI+Cjxjb2RlPmNwICRBWElTMkNfSE9NRS9saWIvbGlibW9kX2F4aXMyLnNvLjAuNi4wCi91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2RfYXhpczIuc28gPC9jb2RlPihvbiBMaW51eCk8YnI+PC9icj4KPGNvZGU+Y29weSBDOlxheGlzMmNcYnVpbGRcZGVwbG95XGxpYlxtb2RfYXhpczIuZGxsCkM6XEFwYWNoZTJcbW9kdWxlc1xtb2RfYXhpczIuc28gPC9jb2RlPihvbiBXaW5kb3dzKTxicj48L2JyPgo8YnI+PC9icj4KRWRpdCB0aGUgQXBhY2hlMidzIGNvbmZpZ3VyYXRpb24gZmlsZSAoZ2VuZXJhbGx5IGh0dHBkLmNvbmYpIGFuZCBhZGQKdGhlIGZvbGxvd2luZyBkaXJlY3RpdmVzPGJyPjwvYnI+Cjxicj48L2JyPgpMb2FkTW9kdWxlIGF4aXMyX21vZHVsZSAmbHQ7YXBhY2hlMiBtb2R1bGVzCmRpcmVjdG9yeSZndDsvbW9kX2F4aXMyLnNvPGJyPjwvYnI+CkF4aXMyUmVwb1BhdGggJmx0O2F4aXMyIHJlcG9zaXRvcnkgcGF0aCZndDs8YnI+PC9icj4KQXhpczJMb2dGaWxlICZsdDtheGlzMiBsb2cgZmlsZSBwYXRoJmd0Ozxicj48L2JyPgpBeGlzMk1heExvZ0ZpbGVTaXplICZsdDttYXhpbXVtIHNpemUgb2YgbG9nIGZpbGUmZ3Q7PGJyPjwvYnI+CkF4aXMyTG9nTGV2ZWwgTE9HX0xFVkVMPGJyPjwvYnI+CiZsdDtMb2NhdGlvbiAvYXhpczImZ3Q7PGJyPjwvYnI+ClNldEhhbmRsZXIgYXhpczJfbW9kdWxlPGJyPjwvYnI+CiZsdDsvTG9jYXRpb24mZ3Q7PGJyPjwvYnI+Cjxicj48L2JyPgpOT1RFOgo8dWw+CkF4aXMyIGxvZyBmaWxlIHBhdGggc2hvdWxkIGhhdmUgd3JpdGUgYWNjZXNzIHRvIGFsbCB1c2VycyBiZWNhdXNlCmJ5IGRlZmF1bHQgQXBhY2hlIFdlYiBTZXJ2ZXIgcnVucyBhcyBub2JvZHkuPGJyPjwvYnI+Cjxicj48L2JyPgpJZiB5b3Ugd2FudCB0byB1c2UgYSBTaGFyZWQgR2xvYmFsIFBvb2wgd2l0aCBBcGFjaGUgeW91IGhhdmUgdG8gZ2l2ZQphbm90aGVyIGVudHJ5IGNhbGxlZCBBeGlzMkdsb2JhbFBvb2xTaXplLiA8YnI+PC9icj4KWW91IGhhdmUgdG8gZ2l2ZSB0aGUgc2l6ZSBvZiB0aGUgc2hhcmVkIGdsb2JhbCBwb29sIGluIE1CLiA8YnI+PC9icj4KSWYgeW91IGRvbid0IHNldCB0aGUgdmFsdWUgb3IgaWYgeW91IHNldCBhIG5lZ2F0aXZlIHZhbHVlIEFwYWNoZSBtb2R1bGUKZG9lc24ndCBjcmVhdGUgc2hhcmVkIGdsb2JhbCBwb29sLjxicj48L2JyPgo8YnI+PC9icj4KQXhpczJHbG9iYWxQb29sU2l6ZSAmbHQ7Z2xvYmFsIHBvb2wgc2l6ZSBpbiBtYiZndDsgPGJyPjwvYnI+CjwvdWw+Cjxicj48L2JyPgpMT0dfTEVWRUwgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nczxicj48L2JyPgo8dWw+CjxsaT5jcml0IC0gTG9nIGNyaXRpY2FsIGVycm9ycyBvbmx5PC9saT4KPGxpPmVycm9yIC0gTG9nIGVycm9ycyBjcml0aWNhbCBlcnJvcnM8L2xpPgo8bGk+d2FybiAtIExvZyB3YXJuaW5ncyBhbmQgYWJvdmU8L2xpPgo8bGk+aW5mbyAtIExvZyBpbmZvIGFuZCBhYm92ZTwvbGk+CjxsaT5kZWJ1ZyAtIExvZyBkZWJ1ZyBhbmQgYWJvdmUgKGRlZmF1bHQpPC9saT4KPGxpPnRyYWNlIC0gTG9nIHRyYWNlIG1lc3NhZ2VzPC9saT4KPC91bD4KPGJyPjwvYnI+Ck5PVEU6IFVzZSBmb3J3YXJkIHNsYXNoZXMgIi8iIGZvciBwYXRoIHNlcGFyYXRvcnMgaW4gJmx0O2FwYWNoZTIKbW9kdWxlcyBkaXJlY3RvcnkmZ3Q7LCAmbHQ7YXhpczIgcmVwb3NpdG9yeSBwYXRoJmd0OyBhbmQKJmx0O2F4aXMyIGxvZyBmaWxlIHBhdGgmZ3Q7PGJyPjwvYnI+Cjxicj48L2JyPgpNYWtlIHN1cmUgdGhhdCB0aGUgYXBhY2hlMiB1c2VyIGhhcyB0aGUgY29ycmVjdCBwZXJtaXNzaW9ucyB0byBhYm92ZQpwYXRoczxicj48L2JyPgotIFJlYWQgcGVybWlzc2lvbiB0byB0aGUgcmVwb3NpdG9yeTxicj48L2JyPgotIFdyaXRlIHBlcm1pc3Npb24gdG8gdGhlIGxvZyBmaWxlPGJyPjwvYnI+Cjxicj48L2JyPgpSZXN0YXJ0IGFwYWNoZTIgYW5kIHRlc3Qgd2hldGhlciBtb2RfYXhpczIgbW9kdWxlIGlzIGxvYWRlZCBieSB0eXBpbmcKdGhlIFVSTCA8YSBocmVmPSJodHRwOi8vbG9jYWxob3N0L2F4aXMyL3NlcnZpY2VzIiB0aXRsZT0iRXh0ZXJuYWwgTGluayIgY2xhc3M9ImV4dGVybmFsTGluayI+aHR0cDovL2xvY2FsaG9zdC9heGlzMi9zZXJ2aWNlczwvYT4KaW4geW91ciBXZWIgYnJvd3Nlcgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPjxhIG5hbWU9IjQiPjwvYT4KPGgyPjQuIEluc3RhbGxpbmcgSUlTIChJbnRlcm5lciBJbmZvcm1hdGlvbiBTZXJ2ZXIpIEludGVncmF0aW9uCk1vZHVsZSAobW9kX2F4aXMyX0lJUyk8L2gyPgo8ZGl2IGNsYXNzPSJzdWJzZWN0aW9uIj48YSBuYW1lPSI0XzEiPjwvYT4KPGgzPjQuMSBCdWlsZGluZyBtb2RfYXhpczJfSUlTIGZyb20gU291cmNlPC9oMz4KQWZ0ZXIgY29tcGlsaW5nIHRoZSBzb3VyY2UgKGFzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDIuMykgYnVpbGQgdGhlCm1vZF9heGlzMi5kbGwgYnkgaXNzdWluZyB0aGUgY29tbWFuZCAnbm1ha2UgYXhpczJfSUlTX21vZHVsZScuPGJyPjwvYnI+ClRoaXMgd2lsbCBidWlsZCB0aGUgbW9kX2F4aXMyX0lJUy5kbGwgYW5kIGNvcHkgaXQgdG8gJUFYSVMyQ19IT01FJVxsaWIKZGlyZWN0b3J5Ljxicj48L2JyPgo8YnI+PC9icj4KRXhhbXBsZTo8YnI+PC9icj4KQzpcYXhpczJjXGJ1aWxkXGRlcGxveVxsaWIgPC9kaXY+CjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9IjRfMiI+PC9hPgo8aDM+NC4yIERlcGxveWluZyBpbiB0aGUgSUlTPC9oMz4KQWRkIHRoZSBmb2xsb3dpbmcga2V5IHRvIHRoZSByZWdpc3RlcnkuPGJyPjwvYnI+Cjxicj48L2JyPgpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcQXBhY2hlIEF4aXMyY1xJSVMgSVNBUEkgUmVkaXJlY3Rvcjxicj48L2JyPgo8YnI+PC9icj4KVW5kZXIgdGhpcyByZWdpc3RyeSBrZXkgYWRkIHRoZSBmb2xsb3dpbmcgZW50cmllcy48YnI+PC9icj4KPGJyPjwvYnI+CkEgU3RyaW5nIHZhbHVlIHdpdGggdGhlIG5hbWUgImF4aXMyY19ob21lIi4gVGhlIHZhbHVlIGlzIHRoZQpBWElTMkNfSE9NRS48YnI+PC9icj4KRXhhbXBsZSA6IGM6XGF4aXMyYzxicj48L2JyPgo8YnI+PC9icj4KQSBTdHJpbmcgdmFsdWUgd2l0aCB0aGUgbmFtZSAibG9nX2ZpbGUiLiBUaGUgdmFsdWUgaXMgdGhlIGFic29sdXRlIHBhdGgKb2YgdGhlIGxvZyBmaWxlLjxicj48L2JyPgpFeGFtcGxlOiBjOlxheGlzMmNcbG9nc1xheGlzMi5sb2c8YnI+PC9icj4KPGJyPjwvYnI+CkEgU3RyaW5nIHZhbHVlIHdpdGggdGhlIG5hbWUgImxvZ19sZXZlbCIuIFRoZSB2YWx1ZSBjYW4gYmUgb25lIG9mIHRoZQpmb2xsb3dpbmdzLjxicj48L2JyPgo8dWw+CjxsaT50cmFjZSAtIExvZyB0cmFjZSBtZXNzYWdlczwvbGk+CjxsaT5lcnJvciAtIExvZyBlcnJvcnMgY3JpdGljYWwgZXJyb3JzPC9saT4KPGxpPmluZm8gLSBMb2cgaW5mbyBhbmQgYWJvdmU8L2xpPgo8bGk+Y3JpdGljYWwgLSBMb2cgY3JpdGljYWwgZXJyb3JzIG9ubHkgPC9saT4KPGxpPmRlYnVnIC0gTG9nIGRlYnVnIGFuZCBhYm92ZSAoZGVmYXVsdCk8L2xpPgo8bGk+d2FybmluZyAtIExvZyB3YXJuaW5nczwvbGk+CjwvdWw+CjxwPgpZb3UgY2FuIGFkZCBhIHN0cmluZyB2YWx1ZSB3aXRoIHRoZSBuYW1lIDxjb2RlPnNlcnZpY2VzX3VybF9wcmVmaXg8L2NvZGU+LiBUaGlzIGlzIG9wdGlvbmFsIGFuZCBkZWZhdWx0cyB0byAiL3NlcnZpY2VzIi4KQXMgYW4gZXhhbXBsZSwgaWYgeW91IGhhdmUgIi93ZWJfc2VydmljZXMiIGFzIHRoZSBwcmVmaXgsIHRoZW4gYWxsIHRoZQpzZXJ2aWNlcyBob3N0ZWQgd291bGQgaGF2ZSB0aGUgZW5kcG9pbnQgcHJlZml4IG9mIDogPGJyPjwvYnI+Cmh0dHA6Ly9sb2NhbGhvc3QvYXhpczIvd2ViX3NlcnZpY2VzLjxicj48L2JyPk5vdGU6IGRvbid0IGZvcmdldCB0aGUgLyBhdCB0aGUgYmVnaW5pbmcuPGJyPjwvYnI+CjwvcD4KPHA+CklmIHlvdSB3aXNoLCB5b3UgY2FuIGFsc28gY2hhbmdlIHRoZSBsb2NhdGlvbiBhcyB3ZWxsIGJ5IGFkZGluZyBhIHN0cmluZyB2YWx1ZSB3aXRoIHRoZSBuYW1lIDxjb2RlPmF4aXMyX2xvY2F0aW9uPC9jb2RlPi4gVGhpcyBpcyBhbHNvIG9wdGlvbmFsIGFuZCBkZWZhdWx0cyB0byAvYXhpczIuCklmIHlvdSBoYXZlIC9teXNlcnNlciBhcyB0aGUgdmFsdWUgeW91IGNhbiBhY2Nlc3MgeW91ciB3ZWIgc2VydmljZXMgd2l0aCBhIHVybCBsaWtlIGh0dHA6Ly9sb2NhbGhvc3QvbXlzZXJ2ZXIvc2VydmljZXMuIDxicj48L2JyPk5vdGU6IERvbid0IGZvcmdldCB0aGUgLyBhdCB0aGUgYmVnaW5uaW5nLjwvcD4KPHA+Cgo8L3A+PHA+Tm93IHlvdSBjYW4gZG8gYWxsIHRoZSByZWdpc3RyeSBlZGl0aW5nIHVzaW5nIHRoZSBKU2NyaXB0IGZpbGUgYXhpczJfaWlzX3JlZ2VkaXQuanMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKV2hlbiB5b3UgYnVpbGQgYXhpczIvQyB3aXRoIHRoZSBJSVMgbW9kdWxlIHRoZSBmaWxlIGlzIGNvcGllZCB0byB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGJpbmFyeSBkaXN0cmlidXRpb24uIApKdXN0IGRvdWJsZSBjbGljayBpdCBhbmQgZXZlcnl0aGluZyB3aWxsIGJlIHNldCB0byB0aGUgZGVmYXVsdHMuIFRoZSBheGlzMmNfaG9tZSBpcyB0YWtlbiBhcyB0aGUgY3VycmVudCBkaXJlY3RvcnksIHNvIG1ha2Ugc3VyZSB5b3UgcnVuIHRoZSBmaWxlIGluIHRoZSBBeGlzMi9DIHJlcG9zaXRvcnkgbG9jYXRpb24gKG9yIHJvb3Qgb2YgdGhlIGJpbmFyeSBkaXN0cmlidXRpb24pLiBJZiB5b3Ugd2FudCB0byBjaGFuZ2UgdGhlIHZhbHVlcyB5b3UgY2FuIAptYW51YWxseSBlZGl0IHRoZSB0aGUgLmpzIGZpbGUgb3IgZ2l2ZSBpdCBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIHRvIHRoZSBzY3JpcHQgd2hlbiBydW5uaW5nIHRoZSBzY3JpcHQuIFRvIHJ1biB0aGUganNjcmlwdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUgdXNlIHRoZSBjb21tYW5kIDxjb2RlPjpcY3NjcmlwdCBheGlzMl9paXNfcmVnZWRpdC5qcyBvcHRpb25hbCBhcmd1bWVudHM8L2NvZGU+LiBXZSByZWNvbWVuZCB0aGUgbWFudWFsIGVkaXRpbmcgYXMgaXQgaXMgdGhlIGVhc2llc3Qgd2F5IHRvIHNwZWNpZnkgdGhlIHZhbHVlcy48L3A+CjxwPjxiPklJUyA1LjEgb3IgQmVsb3c8L2I+PC9wPgpVc2luZyB0aGUgSUlTIG1hbmFnZW1lbnQgY29uc29sZSwgYWRkIGEgbmV3IHZpcnR1YWwKZGlyZWN0b3J5IHRvIHlvdXIgSUlTL1BXUyB3ZWIgc2l0ZS4gVGhlIG5hbWUgb2YgdGhlIHZpcnR1YWwgZGlyZWN0b3J5Cm11c3QgYmUgPGNvZGU+YXhpczI8L2NvZGU+LiBJdHMKcGh5c2ljYWwgcGF0aCBzaG91bGQgYmUgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB5b3UgcGxhY2VkCm1vZF9heGlzMl9JSVMuZGxsIChpbiBvdXIgZXhhbXBsZSBpdCBpcwpjOlxheGlzMmNcbGliKS4gV2hlbiBjcmVhdGluZyB0aGlzIG5ldyB2aXJ0dWFsIGRpcmVjdG9yeSwgPGI+YXNzaWduCmV4ZWN1dGUgYWNjZXNzIHRvIGl0PC9iPi4KPHA+QnkgdXNpbmcgdGhlIElJUyBtYW5hZ2VtZW50IGNvbnNvbGUsIGFkZAptb2RfYXhpczJfSUlTLmRsbCBhcyBhIGZpbHRlciBpbiB5b3VyIElJUy9QV1Mgd2ViIHNpdGUgYW5kIHJlc3RhcnQgdGhlCklJUwphZG1pbiBzZXJ2aWNlLjwvcD4KPHA+PGI+SUlTIDYgJmFtcDsgNzwvYj48L3A+ClVzaW5nIHRoZSBJSVMgbWFuYWdlbWVudCBjb25zb2xlLCBhZGQgdGhlIG1vZF9heGlzMl9JSVMuZGxsIGFzIGEKV2lsZGNhcmQgU2NyaXB0IE1hcC4KPHVsPgo8bGk+RXhlY3V0YWJsZSBzaG91bGQgYmUgdGhlIGNvbXBsZXRlIHBhdGggdG8gdGhlCm1vZF9heGlzMl9JSVMuZGxsPC9saT4KPGxpPllvdSBjYW4gcHV0IGFueSBuYW1lIGFzIHRoZSBuYW1lIG9mIHRoZSBXaWxkY2FyZCBTY3JpcHQgTWFwPC9saT4KPC91bD4KPHA+UGxlYXNlIGRvbid0IGFkZCB0aGUgbW9kX2F4aXMyX0lJUy5kbGwgYXMgYSBmaWx0ZXIgdG8gSUlTIGFzCmluIHRoZSBJSVMgNS4xIGNhc2UuPC9wPgo8cD5Ob3RlOiBJZiB0aGUgQXhpczIvQyBmYWlsZWQgdG8gbG9hZCwgdmVyaWZ5IHRoYXQgQXhpczIvQyBhbmQKaXRzIGRlcGVuZGVudCBETExzIGFyZSBpbiB0aGUgU3lzdGVtIFBhdGggKG5vdCB0aGUgdXNlciBwYXRoKS4gPC9wPgo8L2Rpdj4KPC9kaXY+CjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPjxkaXYgY2xhc3M9InhyaWdodCI+qSAyMDA1LTIwMDksIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uPC9kaXY+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg==