PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPlNTTC9UTFMgU3Ryb25nIEVuY3J5cHRpb246IEhvdy1UbyAtIEFwYWNoZSBIVFRQIFNlcnZlcjwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuMzwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5naWYiIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjM8L2E+ICZndDsgPGEgaHJlZj0iLi8iPlNTTC9UTFM8L2E+PC9kaXY+PGRpdiBpZD0icGFnZS1jb250ZW50Ij48ZGl2IGlkPSJwcmVhbWJsZSI+PGgxPlNTTC9UTFMgU3Ryb25nIEVuY3J5cHRpb246IEhvdy1UbzwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vc3NsL3NzbF9ob3d0by5odG1sIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vZnIvc3NsL3NzbF9ob3d0by5odG1sIiBocmVmbGFuZz0iZnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPjwvcD4KPC9kaXY+CgoKPHA+VGhpcyBkb2N1bWVudGVkIGlzIGludGVuZGVkIHRvIGdldCB5b3Ugc3RhcnRlZCwgYW5kIGdldCBhIGZldyB0aGluZ3MKd29ya2luZy4gWW91IGFyZSBzdHJvbmdseSBlbmNvdXJhZ2VkIHRvIHJlYWQgdGhlIHJlc3Qgb2YgdGhlIFNTTApkb2N1bWVudGF0aW9uLCBhbmQgYXJyaXZlIGF0IGEgZGVlcGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIG1hdGVyaWFsLApiZWZvcmUgcHJvZ3Jlc3NpbmcgdG8gdGhlIGFkdmFuY2VkIHRlY2huaXF1ZXMuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48dWwgaWQ9InRvYyI+PGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY29uZmlnZXhhbXBsZSI+QmFzaWMgQ29uZmlndXJhdGlvbiBFeGFtcGxlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NpcGhlcnN1aXRlcyI+Q2lwaGVyIFN1aXRlcyBhbmQgRW5mb3JjaW5nIFN0cm9uZyBTZWN1cml0eTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNhY2Nlc3Njb250cm9sIj5DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEFjY2VzcyBDb250cm9sPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2xvZ2dpbmciPkxvZ2dpbmc8L2E+PC9saT4KPC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iY29uZmlnZXhhbXBsZSIgaWQ9ImNvbmZpZ2V4YW1wbGUiPkJhc2ljIENvbmZpZ3VyYXRpb24gRXhhbXBsZTwvYT48L2gyPgoKCjxwPllvdXIgU1NMIGNvbmZpZ3VyYXRpb24gd2lsbCBuZWVkIHRvIGNvbnRhaW4sIGF0IGEgbWludW11bSwgdGhlCmZvbGxvd2luZyBkaXJlY3RpdmVzLjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICBMaXN0ZW4gNDQzPGJyIC8+CiAgICZsdDtWaXJ0dWFsSG9zdCAqOjQ0MyZndDs8YnIgLz4KICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgU2VydmVyTmFtZSB3d3cuZXhhbXBsZS5jb208YnIgLz4KICAgICAgICBTU0xFbmdpbmUgb248YnIgLz4KICAgICAgICBTU0xDZXJ0aWZpY2F0ZUZpbGUgL3BhdGgvdG8vd3d3LmV4YW1wbGUuY29tLmNlcnQ8YnIgLz4KICAgICAgICBTU0xDZXJ0aWZpY2F0ZUtleUZpbGUgL3BhdGgvdG8vd3d3LmV4YW1wbGUuY29tLmtleTxiciAvPgogICA8L3NwYW4+CiAgICZsdDsvVmlydHVhbEhvc3QmZ3Q7CjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJjaXBoZXJzdWl0ZXMiIGlkPSJjaXBoZXJzdWl0ZXMiPkNpcGhlciBTdWl0ZXMgYW5kIEVuZm9yY2luZyBTdHJvbmcgU2VjdXJpdHk8L2E+PC9oMj4KCjx1bD4KPGxpPjxhIGhyZWY9IiNvbmx5c3Ryb25nIj5Ib3cgY2FuIEkgY3JlYXRlIGFuIFNTTCBzZXJ2ZXIgd2hpY2ggYWNjZXB0cyBzdHJvbmcgZW5jcnlwdGlvbiBvbmx5PzwvYT48L2xpPgo8bGk+PGEgaHJlZj0iI3N0cm9uZ3VybCI+SG93IGNhbiBJIGNyZWF0ZSBhbiBTU0wgc2VydmVyIHdoaWNoIGFjY2VwdHMgYWxsIHR5cGVzIG9mIGNpcGhlcnMgaW4gZ2VuZXJhbCwgYnV0IApyZXF1aXJlcyBhIHN0cm9uZyBjaXBoZXIgZm9yIGFjY2VzcyB0byBhIHBhcnRpY3VsYXIgVVJMPzwvYT48L2xpPgo8L3VsPgoKPGgzPjxhIG5hbWU9Im9ubHlzdHJvbmciIGlkPSJvbmx5c3Ryb25nIj5Ib3cgY2FuIEkgY3JlYXRlIGFuIFNTTCBzZXJ2ZXIgd2hpY2ggYWNjZXB0cyBzdHJvbmcgZW5jcnlwdGlvbgpvbmx5PzwvYT48L2gzPgoKICAgIDxwPlRoZSBmb2xsb3dpbmcgZW5hYmxlcyBvbmx5IHRoZSBzdHJvbmdlc3QgY2lwaGVyczo8L3A+CiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+aHR0cGQuY29uZjwvaDM+PHA+PGNvZGU+CiAgICAgIFNTTFByb3RvY29sIGFsbCAtU1NMdjI8YnIgLz4KICAgICAgU1NMQ2lwaGVyU3VpdGUgSElHSDohYU5VTEw6IUVYUDohTUQ1OiFOVUxMPGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPldoaWxlIHdpdGggdGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIHlvdSBlbmFibGUgdHdvIGNpcGhlcnMKICAgIHdoaWNoIGFyZSByZXNvbmFibHkgc2VjdXJlLCBhbmQgZmFzdDo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPmh0dHBkLmNvbmY8L2gzPjxwPjxjb2RlPgogICAgICBTU0xQcm90b2NvbCBhbGwgLVNTTHYyPGJyIC8+CiAgICAgIFNTTENpcGhlclN1aXRlIFJDNC1TSEE6QUVTMTI4LVNIQTpISUdIOiFhTlVMTDohRVhQOiFNRDU6IU5VTEw8YnIgLz4KICAgICAgU1NMSG9ub3JDaXBoZXJPcmRlciBvbgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5UaGlzIHN0cm9uZ2x5IHJlZmxlY3RzIHRoZSBkZWZhdWx0IHZhbHVlIG9mIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3NsLmh0bWwjc3NsY2lwaGVyc3VpdGUiPlNTTENpcGhlclN1aXRlPC9hPjwvY29kZT4gYW5kIGlzIHRoZSByZWNvbW1hbmRlZCB3YXkgdG8gY29uZmlndXJlIGl0LjwvcD4KCgo8aDM+PGEgbmFtZT0ic3Ryb25ndXJsIiBpZD0ic3Ryb25ndXJsIj5Ib3cgY2FuIEkgY3JlYXRlIGFuIFNTTCBzZXJ2ZXIgd2hpY2ggYWNjZXB0cyBhbGwgdHlwZXMgb2YgY2lwaGVycwppbiBnZW5lcmFsLCBidXQgcmVxdWlyZXMgYSBzdHJvbmcgY2lwaGVycyBmb3IgYWNjZXNzIHRvIGEgcGFydGljdWxhcgpVUkw/PC9hPjwvaDM+CgogICAgPHA+T2J2aW91c2x5LCBhIHNlcnZlci13aWRlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3NsLmh0bWwjc3NsY2lwaGVyc3VpdGUiPlNTTENpcGhlclN1aXRlPC9hPjwvY29kZT4gd2hpY2ggcmVzdHJpY3RzIAogICAgY2lwaGVycyB0byB0aGUgc3Ryb25nIHZhcmlhbnRzLCBpc24ndCB0aGUgYW5zd2VyIGhlcmUuIEhvd2V2ZXIsIAogICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9zc2wuaHRtbCI+bW9kX3NzbDwvYT48L2NvZGU+IGNhbiBiZSByZWNvbmZpZ3VyZWQgd2l0aGluIDxjb2RlPkxvY2F0aW9uPC9jb2RlPgogICAgYmxvY2tzLCB0byBnaXZlIGEgcGVyLWRpcmVjdG9yeSBzb2x1dGlvbiwgYW5kIGNhbiBhdXRvbWF0aWNhbGx5IGZvcmNlCiAgICBhIHJlbmVnb3RpYXRpb24gb2YgdGhlIFNTTCBwYXJhbWV0ZXJzIHRvIG1lZXQgdGhlIG5ldyBjb25maWd1cmF0aW9uLgogICAgVGhpcyBjYW4gYmUgZG9uZSBhcyBmb2xsb3dzOjwvcD4KICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICAjIGJlIGxpYmVyYWwgaW4gZ2VuZXJhbDxiciAvPgogICAgICBTU0xDaXBoZXJTdWl0ZSBBTEw6IWFOVUxMOlJDNCtSU0E6K0hJR0g6K01FRElVTTorTE9XOitTU0x2MjorRVhQOitlTlVMTDxiciAvPgogICAgICA8YnIgLz4KICAgICAgJmx0O0xvY2F0aW9uIC9zdHJvbmcvYXJlYSZndDs8YnIgLz4KICAgICAgIyBidXQgaHR0cHM6Ly9ob3N0bmFtZS9zdHJvbmcvYXJlYS8gYW5kIGJlbG93PGJyIC8+CiAgICAgICMgcmVxdWlyZXMgc3Ryb25nIGNpcGhlcnM8YnIgLz4KICAgICAgU1NMQ2lwaGVyU3VpdGUgSElHSDohYU5VTEw6IUVYUDohTUQ1OiFOVUxMPGJyIC8+CiAgICAgICZsdDsvTG9jYXRpb24mZ3Q7CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iYWNjZXNzY29udHJvbCIgaWQ9ImFjY2Vzc2NvbnRyb2wiPkNsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgQWNjZXNzIENvbnRyb2w8L2E+PC9oMj4KCjx1bD4KPGxpPjxhIGhyZWY9IiNhbGxjbGllbnRzIj5Ib3cgY2FuIEkgZm9yY2UgY2xpZW50cyB0byBhdXRoZW50aWNhdGUgdXNpbmcgY2VydGlmaWNhdGVzPzwvYT48L2xpPgo8bGk+PGEgaHJlZj0iI2FyYml0cmFyeWNsaWVudHMiPkhvdyBjYW4gSSBmb3JjZSBjbGllbnRzIHRvIGF1dGhlbnRpY2F0ZSB1c2luZyBjZXJ0aWZpY2F0ZXMgZm9yIGEgCiAgICAgICAgcGFydGljdWxhciBVUkwsIGJ1dCBzdGlsbCBhbGxvdyBhcmJpdHJhcnkgY2xpZW50cyB0byBhY2Nlc3MgdGhlIHJlc3Qgb2YgdGhlIHNlcnZlcj88L2E+PC9saT4KPGxpPjxhIGhyZWY9IiNjZXJ0YXV0aGVudGljYXRlIj5Ib3cgY2FuIEkgYWxsb3cgb25seSBjbGllbnRzIHdobyBoYXZlIGNlcnRpZmljYXRlcyB0byBhY2Nlc3MgYQogICAgICAgIHBhcnRpY3VsYXIgVVJMLCBidXQgYWxsb3cgYWxsIGNsaWVudHMgdG8gYWNjZXNzIHRoZSByZXN0IG9mIHRoZSBzZXJ2ZXI/PC9hPjwvbGk+CjxsaT48YSBocmVmPSIjaW50cmFuZXQiPkhvdyBjYW4gSSByZXF1aXJlIEhUVFBTIHdpdGggc3Ryb25nIGNpcGhlcnMsIGFuZCBlaXRoZXIKYmFzaWMgYXV0aGVudGljYXRpb24gb3IgY2xpZW50IGNlcnRpZmljYXRlcywgZm9yIGFjY2VzcyB0byBwYXJ0IG9mIHRoZQpJbnRyYW5ldCB3ZWJzaXRlLCBmb3IgY2xpZW50cyBjb21pbmcgZnJvbSB0aGUgSW50ZXJuZXQ/PC9hPjwvbGk+CjwvdWw+Cgo8aDM+PGEgbmFtZT0iYWxsY2xpZW50cyIgaWQ9ImFsbGNsaWVudHMiPkhvdyBjYW4gSSBmb3JjZSBjbGllbnRzIHRvIGF1dGhlbnRpY2F0ZSB1c2luZyBjZXJ0aWZpY2F0ZXM/PC9hPjwvaDM+CgoKICAgIDxwPldoZW4geW91IGtub3cgYWxsIG9mIHlvdXIgdXNlcnMgKGVnLCBhcyBpcyBvZnRlbiB0aGUgY2FzZSBvbiBhIGNvcnBvcmF0ZQogICAgSW50cmFuZXQpLCB5b3UgY2FuIHJlcXVpcmUgcGxhaW4gY2VydGlmaWNhdGUgYXV0aGVudGljYXRpb24uIEFsbCB5b3UKICAgIG5lZWQgdG8gZG8gaXMgdG8gY3JlYXRlIGNsaWVudCBjZXJ0aWZpY2F0ZXMgc2lnbmVkIGJ5IHlvdXIgb3duIENBCiAgICBjZXJ0aWZpY2F0ZSAoPGNvZGU+Y2EuY3J0PC9jb2RlPikgYW5kIHRoZW4gdmVyaWZ5IHRoZSBjbGllbnRzIGFnYWluc3QgdGhpcwogICAgY2VydGlmaWNhdGUuPC9wPgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPmh0dHBkLmNvbmY8L2gzPjxwPjxjb2RlPgogICAgICAjIHJlcXVpcmUgYSBjbGllbnQgY2VydGlmaWNhdGUgd2hpY2ggaGFzIHRvIGJlIGRpcmVjdGx5PGJyIC8+CiAgICAgICMgc2lnbmVkIGJ5IG91ciBDQSBjZXJ0aWZpY2F0ZSBpbiBjYS5jcnQ8YnIgLz4KICAgICAgU1NMVmVyaWZ5Q2xpZW50IHJlcXVpcmU8YnIgLz4KICAgICAgU1NMVmVyaWZ5RGVwdGggMTxiciAvPgogICAgICBTU0xDQUNlcnRpZmljYXRlRmlsZSBjb25mL3NzbC5jcnQvY2EuY3J0CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKCjxoMz48YSBuYW1lPSJhcmJpdHJhcnljbGllbnRzIiBpZD0iYXJiaXRyYXJ5Y2xpZW50cyI+SG93IGNhbiBJIGZvcmNlIGNsaWVudHMgdG8gYXV0aGVudGljYXRlIHVzaW5nIGNlcnRpZmljYXRlcyBmb3IgYQogIHBhcnRpY3VsYXIgVVJMLCBidXQgc3RpbGwgYWxsb3cgYXJiaXRyYXJ5IGNsaWVudHMgdG8gYWNjZXNzIHRoZSByZXN0IG9mIHRoZSBzZXJ2ZXI/PC9hPjwvaDM+CgoKICAgIDxwPlRvIGZvcmNlIGNsaWVudHMgdG8gYXV0aGVudGljYXRlIHVzaW5nIGNlcnRpZmljYXRlcyBmb3IgYSBwYXJ0aWN1bGFyIFVSTCwKICAgIHlvdSBjYW4gdXNlIHRoZSBwZXItZGlyZWN0b3J5IHJlY29uZmlndXJhdGlvbiBmZWF0dXJlcyBvZgogICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9zc2wuaHRtbCI+bW9kX3NzbDwvYT48L2NvZGU+OjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+aHR0cGQuY29uZjwvaDM+PHA+PGNvZGU+CiAgICBTU0xWZXJpZnlDbGllbnQgbm9uZTxiciAvPgogICAgU1NMQ0FDZXJ0aWZpY2F0ZUZpbGUgY29uZi9zc2wuY3J0L2NhLmNydDxiciAvPgogICAgPGJyIC8+CiAgICAmbHQ7TG9jYXRpb24gL3NlY3VyZS9hcmVhJmd0OzxiciAvPgogICAgU1NMVmVyaWZ5Q2xpZW50IHJlcXVpcmU8YnIgLz4KICAgIFNTTFZlcmlmeURlcHRoIDE8YnIgLz4KICAgICZsdDsvTG9jYXRpb24mZ3Q7PGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKCjxoMz48YSBuYW1lPSJjZXJ0YXV0aGVudGljYXRlIiBpZD0iY2VydGF1dGhlbnRpY2F0ZSI+SG93IGNhbiBJIGFsbG93IG9ubHkgY2xpZW50cyB3aG8gaGF2ZSBjZXJ0aWZpY2F0ZXMgdG8gYWNjZXNzIGEKICBwYXJ0aWN1bGFyIFVSTCwgYnV0IGFsbG93IGFsbCBjbGllbnRzIHRvIGFjY2VzcyB0aGUgcmVzdCBvZiB0aGUgc2VydmVyPzwvYT48L2gzPgoKCiAgICA8cD5UaGUga2V5IHRvIGRvaW5nIHRoaXMgaXMgY2hlY2tpbmcgdGhhdCBwYXJ0IG9mIHRoZSBjbGllbnQgY2VydGlmaWNhdGUKICAgIG1hdGNoZXMgd2hhdCB5b3UgZXhwZWN0LiBVc3VhbGx5IHRoaXMgbWVhbnMgY2hlY2tpbmcgYWxsIG9yIHBhcnQgb2YgdGhlCiAgICBEaXN0aW5ndWlzaGVkIE5hbWUgKEROKSwgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIHNvbWUga25vd24gc3RyaW5nLgogICAgVGhlcmUgYXJlIHR3byB3YXlzIHRvIGRvIHRoaXMsIHVzaW5nIGVpdGhlciA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhfYmFzaWMuaHRtbCI+bW9kX2F1dGhfYmFzaWM8L2E+PC9jb2RlPiBvcgogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9zc2wuaHRtbCNzc2xyZXF1aXJlIj5TU0xSZXF1aXJlPC9hPjwvY29kZT4uPC9wPiAKICAgIAogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9iYXNpYy5odG1sIj5tb2RfYXV0aF9iYXNpYzwvYT48L2NvZGU+IG1ldGhvZCBpcyBnZW5lcmFsbHkgcmVxdWlyZWQgd2hlbgogICAgdGhlIGNlcnRpZmljYXRlcyBhcmUgY29tcGxldGVseSBhcmJpdHJhcnksIG9yIHdoZW4gdGhlaXIgRE5zIGhhdmUKICAgIG5vIGNvbW1vbiBmaWVsZHMgKHVzdWFsbHkgdGhlIG9yZ2FuaXNhdGlvbiwgZXRjLikuIEluIHRoaXMgY2FzZSwKICAgIHlvdSBzaG91bGQgZXN0YWJsaXNoIGEgcGFzc3dvcmQgZGF0YWJhc2UgY29udGFpbmluZyA8ZW0+YWxsPC9lbT4KICAgIGNsaWVudHMgYWxsb3dlZCwgYXMgZm9sbG93czo8L3A+CiAgICAKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5odHRwZC5jb25mPC9oMz48cHJlPgpTU0xWZXJpZnlDbGllbnQgICAgICBub25lCiZsdDtEaXJlY3RvcnkgL3Vzci9sb2NhbC9hcGFjaGUyL2h0ZG9jcy9zZWN1cmUvYXJlYSZndDsKClNTTFZlcmlmeUNsaWVudCAgICAgIHJlcXVpcmUKU1NMVmVyaWZ5RGVwdGggICAgICAgNQpTU0xDQUNlcnRpZmljYXRlRmlsZSBjb25mL3NzbC5jcnQvY2EuY3J0ClNTTENBQ2VydGlmaWNhdGVQYXRoIGNvbmYvc3NsLmNydApTU0xPcHRpb25zICAgICAgICAgICArRmFrZUJhc2ljQXV0aApTU0xSZXF1aXJlU1NMCkF1dGhOYW1lICAgICAgICAgICAgICJTbmFrZSBPaWwgQXV0aGVudGljYXRpb24iCkF1dGhUeXBlICAgICAgICAgICAgIEJhc2ljCkF1dGhCYXNpY1Byb3ZpZGVyICAgIGZpbGUKQXV0aFVzZXJGaWxlICAgICAgICAgL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvaHR0cGQucGFzc3dkClJlcXVpcmUgICAgICAgICAgICAgIHZhbGlkLXVzZXIKJmx0Oy9EaXJlY3RvcnkmZ3Q7PC9wcmU+PC9kaXY+CiAgICAKICAgIDxwPlRoZSBwYXNzd29yZCB1c2VkIGluIHRoaXMgZXhhbXBsZSBpcyB0aGUgREVTIGVuY3J5cHRlZCBzdHJpbmcgInBhc3N3b3JkIi4KICAgIFNlZSB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9zc2wuaHRtbCNzc2xvcHRpb25zIj5TU0xPcHRpb25zPC9hPjwvY29kZT4gZG9jcyBmb3IgbW9yZSAKICAgIGluZm9ybWF0aW9uLjwvcD4KICAgIAogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPmh0dHBkLnBhc3N3ZDwvaDM+PHByZT4KL0M9REUvTD1NdW5pY2gvTz1TbmFrZSBPaWwsIEx0ZC4vT1U9U3RhZmYvQ049Rm9vOnh4ajMxWk1UWnprVkEKL0M9VVMvTD1TLkYuL089U25ha2UgT2lsLCBMdGQuL09VPUNBL0NOPUJhcjp4eGozMVpNVFp6a1ZBCi9DPVVTL0w9TC5BLi9PPVNuYWtlIE9pbCwgTHRkLi9PVT1EZXYvQ049UXV1eDp4eGozMVpNVFp6a1ZBPC9wcmU+PC9kaXY+CgogICAgPHA+V2hlbiB5b3VyIGNsaWVudHMgYXJlIGFsbCBwYXJ0IG9mIGEgY29tbW9uIGhpZXJhcmNoeSwgd2hpY2ggaXMgZW5jb2RlZAogICAgaW50byB0aGUgRE4sIHlvdSBjYW4gbWF0Y2ggdGhlbSBtb3JlIGVhc2lseSB1c2luZyA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX3NzbC5odG1sI3NzbHJlcXVpcmUiPlNTTFJlcXVpcmU8L2E+PC9jb2RlPiwgYXMgZm9sbG93czo8L3A+CgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5odHRwZC5jb25mPC9oMz48cHJlPgpTU0xWZXJpZnlDbGllbnQgICAgICBub25lCiZsdDtEaXJlY3RvcnkgL3Vzci9sb2NhbC9hcGFjaGUyL2h0ZG9jcy9zZWN1cmUvYXJlYSZndDsKCiAgU1NMVmVyaWZ5Q2xpZW50ICAgICAgcmVxdWlyZQogIFNTTFZlcmlmeURlcHRoICAgICAgIDUKICBTU0xDQUNlcnRpZmljYXRlRmlsZSBjb25mL3NzbC5jcnQvY2EuY3J0CiAgU1NMQ0FDZXJ0aWZpY2F0ZVBhdGggY29uZi9zc2wuY3J0CiAgU1NMT3B0aW9ucyAgICAgICAgICAgK0Zha2VCYXNpY0F1dGgKICBTU0xSZXF1aXJlU1NMCiAgU1NMUmVxdWlyZSAgICAgICAle1NTTF9DTElFTlRfU19ETl9PfSAgZXEgIlNuYWtlIE9pbCwgTHRkLiIgXAogICAgICAgICAgICAgICBhbmQgJXtTU0xfQ0xJRU5UX1NfRE5fT1V9IGluIHsiU3RhZmYiLCAiQ0EiLCAiRGV2In0KJmx0Oy9EaXJlY3RvcnkmZ3Q7PC9wcmU+PC9kaXY+CgoKPGgzPjxhIG5hbWU9ImludHJhbmV0IiBpZD0iaW50cmFuZXQiPkhvdyBjYW4gSSByZXF1aXJlIEhUVFBTIHdpdGggc3Ryb25nIGNpcGhlcnMsIGFuZCBlaXRoZXIgYmFzaWMKYXV0aGVudGljYXRpb24gb3IgY2xpZW50IGNlcnRpZmljYXRlcywgZm9yIGFjY2VzcyB0byBwYXJ0IG9mIHRoZQpJbnRyYW5ldCB3ZWJzaXRlLCBmb3IgY2xpZW50cyBjb21pbmcgZnJvbSB0aGUgSW50ZXJuZXQ/IEkgc3RpbGwgd2FudCB0byBhbGxvdwpwbGFpbiBIVFRQIGFjY2VzcyBmb3IgY2xpZW50cyBvbiB0aGUgSW50cmFuZXQuPC9hPjwvaDM+CgogICAKICAgPHA+VGhlc2UgZXhhbXBsZXMgcHJlc3VtZSB0aGF0IGNsaWVudHMgb24gdGhlIEludHJhbmV0IGhhdmUgSVBzIGluIHRoZSByYW5nZSAKICAgMTkyLjE2OC4xLjAvMjQsIGFuZCB0aGF0IHRoZSBwYXJ0IG9mIHRoZSBJbnRyYW5ldCB3ZWJzaXRlIHlvdSB3YW50IHRvIGFsbG93CiAgIGludGVybmV0IGFjY2VzcyB0byBpcyA8Y29kZT4vdXNyL2xvY2FsL2FwYWNoZTIvaHRkb2NzL3N1YmFyZWE8L2NvZGU+LiAKICAgVGhpcyBjb25maWd1cmF0aW9uIHNob3VsZCByZW1haW4gb3V0c2lkZSBvZiB5b3VyIEhUVFBTIHZpcnR1YWwgaG9zdCwgc28KICAgdGhhdCBpdCBhcHBsaWVzIHRvIGJvdGggSFRUUFMgYW5kIEhUVFAuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5odHRwZC5jb25mPC9oMz48cHJlPgpTU0xDQUNlcnRpZmljYXRlRmlsZSBjb25mL3NzbC5jcnQvY29tcGFueS1jYS5jcnQKCiZsdDtEaXJlY3RvcnkgL3Vzci9sb2NhbC9hcGFjaGUyL2h0ZG9jcyZndDsKIyAgIE91dHNpZGUgdGhlIHN1YmFyZWEgb25seSBJbnRyYW5ldCBhY2Nlc3MgaXMgZ3JhbnRlZApPcmRlciAgICAgICAgICAgICAgICBkZW55LGFsbG93CkRlbnkgICAgICAgICAgICAgICAgIGZyb20gYWxsCkFsbG93ICAgICAgICAgICAgICAgIGZyb20gMTkyLjE2OC4xLjAvMjQKJmx0Oy9EaXJlY3RvcnkmZ3Q7CgombHQ7RGlyZWN0b3J5IC91c3IvbG9jYWwvYXBhY2hlMi9odGRvY3Mvc3ViYXJlYSZndDsKIyAgIEluc2lkZSB0aGUgc3ViYXJlYSBhbnkgSW50cmFuZXQgYWNjZXNzIGlzIGFsbG93ZWQKIyAgIGJ1dCBmcm9tIHRoZSBJbnRlcm5ldCBvbmx5IEhUVFBTICsgU3Ryb25nLUNpcGhlciArIFBhc3N3b3JkCiMgICBvciB0aGUgYWx0ZXJuYXRpdmUgSFRUUFMgKyBTdHJvbmctQ2lwaGVyICsgQ2xpZW50LUNlcnRpZmljYXRlCgojICAgSWYgSFRUUFMgaXMgdXNlZCwgbWFrZSBzdXJlIGEgc3Ryb25nIGNpcGhlciBpcyB1c2VkLgojICAgQWRkaXRpb25hbGx5IGFsbG93IGNsaWVudCBjZXJ0cyBhcyBhbHRlcm5hdGl2ZSB0byBiYXNpYyBhdXRoLgpTU0xWZXJpZnlDbGllbnQgICAgICBvcHRpb25hbApTU0xWZXJpZnlEZXB0aCAgICAgICAxClNTTE9wdGlvbnMgICAgICAgICAgICtGYWtlQmFzaWNBdXRoICtTdHJpY3RSZXF1aXJlClNTTFJlcXVpcmUgICAgICAgICAgICV7U1NMX0NJUEhFUl9VU0VLRVlTSVpFfSAmZ3Q7PSAxMjgKCiMgICBGb3JjZSBjbGllbnRzIGZyb20gdGhlIEludGVybmV0IHRvIHVzZSBIVFRQUwpSZXdyaXRlRW5naW5lICAgICAgICBvbgpSZXdyaXRlQ29uZCAgICAgICAgICAle1JFTU9URV9BRERSfSAhXjE5MlwuMTY4XC4xXC5bMC05XSskClJld3JpdGVDb25kICAgICAgICAgICV7SFRUUFN9ICE9b24KUmV3cml0ZVJ1bGUgICAgICAgICAgLiAtIFtGXQoKIyAgIEFsbG93IE5ldHdvcmsgQWNjZXNzIGFuZC9vciBCYXNpYyBBdXRoClNhdGlzZnkgICAgICAgICAgICAgIGFueQoKIyAgIE5ldHdvcmsgQWNjZXNzIENvbnRyb2wKT3JkZXIgICAgICAgICAgICAgICAgZGVueSxhbGxvdwpEZW55ICAgICAgICAgICAgICAgICBmcm9tIGFsbApBbGxvdyAgICAgICAgICAgICAgICAxOTIuMTY4LjEuMC8yNAoKIyAgIEhUVFAgQmFzaWMgQXV0aGVudGljYXRpb24KQXV0aFR5cGUgICAgICAgICAgICAgYmFzaWMKQXV0aE5hbWUgICAgICAgICAgICAgIlByb3RlY3RlZCBJbnRyYW5ldCBBcmVhIgpBdXRoQmFzaWNQcm92aWRlciAgICBmaWxlCkF1dGhVc2VyRmlsZSAgICAgICAgIGNvbmYvcHJvdGVjdGVkLnBhc3N3ZApSZXF1aXJlICAgICAgICAgICAgICB2YWxpZC11c2VyCiZsdDsvRGlyZWN0b3J5Jmd0OzwvcHJlPjwvZGl2PgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0ibG9nZ2luZyIgaWQ9ImxvZ2dpbmciPkxvZ2dpbmc8L2E+PC9oMj4KICAgIAoKICAgIDxwPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3NsLmh0bWwiPm1vZF9zc2w8L2E+PC9jb2RlPiBjYW4gbG9nIGV4dHJlbWVseSB2ZXJib3NlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbgogICAgdG8gdGhlIGVycm9yIGxvZywgd2hlbiBpdHMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNsb2dsZXZlbCI+TG9nTGV2ZWw8L2E+PC9jb2RlPiBpcwogICAgc2V0IHRvIHRoZSBoaWdoZXIgdHJhY2UgbGV2ZWxzLiBPbiB0aGUgb3RoZXIgaGFuZCwgb24gYSB2ZXJ5IGJ1c3kgc2VydmVyLAogICAgbGV2ZWwgPGNvZGU+aW5mbzwvY29kZT4gbWF5IGFscmVhZHkgYmUgdG9vIG11Y2guIFJlbWVtYmVyIHRoYXQgeW91IGNhbgogICAgY29uZmlndXJlIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2xvZ2xldmVsIj5Mb2dMZXZlbDwvYT48L2NvZGU+IHBlciBtb2R1bGUgdG8KICAgIHN1aXRlIHlvdXIgbmVlZHMuPC9wPgo8L2Rpdj48L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9zc2wvc3NsX2hvd3RvLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9zc2wvc3NsX2hvd3RvLmh0bWwiIGhyZWZsYW5nPSJmciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+PC9wPgo8L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMjAxMSBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uPGJyIC8+TGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+PC9kaXY+CjwvYm9keT48L2h0bWw+