PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9hdXRoel9vd25lciAtIEFwYWNoZSBIVFRQIFNlcnZlcjwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi4zPC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLmdpZiIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+SFRUUCBTZXJ2ZXI8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy1wcm9qZWN0LyI+RG9jdW1lbnRhdGlvbjwvYT4gJmd0OyA8YSBocmVmPSIuLi8iPlZlcnNpb24gMi4zPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4vIj5Nb2R1bGVzPC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPgo8ZGl2IGlkPSJwcmVhbWJsZSI+PGgxPkFwYWNoZSBNb2R1bGUgbW9kX2F1dGh6X293bmVyPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX2F1dGh6X293bmVyLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9tb2QvbW9kX2F1dGh6X293bmVyLmh0bWwiIGhyZWZsYW5nPSJqYSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJKYXBhbmVzZSI+Jm5ic3A7amEmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4va28vbW9kL21vZF9hdXRoel9vd25lci5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+QXV0aG9yaXphdGlvbiBiYXNlZCBvbiBmaWxlIG93bmVyc2hpcDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5Nb2R1bGWgSWRlbnRpZmllcjo8L2E+PC90aD48dGQ+YXV0aHpfb3duZXJfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+U291cmNloEZpbGU6PC9hPjwvdGg+PHRkPm1vZF9hdXRoel9vd25lci5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+QXZhaWxhYmxlIGluIEFwYWNoZSAyLjEgYW5kIGxhdGVyPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8cD5UaGlzIG1vZHVsZSBhdXRob3JpemVzIGFjY2VzcyB0byBmaWxlcyBieSBjb21wYXJpbmcgdGhlIHVzZXJpZCB1c2VkCiAgICBmb3IgSFRUUCBhdXRoZW50aWNhdGlvbiAodGhlIHdlYiB1c2VyaWQpIHdpdGggdGhlIGZpbGUtc3lzdGVtIG93bmVyIG9yCiAgICBncm91cCBvZiB0aGUgcmVxdWVzdGVkIGZpbGUuIFRoZSBzdXBwbGllZCB1c2VybmFtZSBhbmQgcGFzc3dvcmQKICAgIG11c3QgYmUgYWxyZWFkeSBwcm9wZXJseSB2ZXJpZmllZCBieSBhbiBhdXRoZW50aWNhdGlvbiBtb2R1bGUsCiAgICBzdWNoIGFzIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9iYXNpYy5odG1sIj5tb2RfYXV0aF9iYXNpYzwvYT48L2NvZGU+IG9yCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhfZGlnZXN0Lmh0bWwiPm1vZF9hdXRoX2RpZ2VzdDwvYT48L2NvZGU+LiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X293bmVyLmh0bWwiPm1vZF9hdXRoel9vd25lcjwvYT48L2NvZGU+CiAgICByZWNvZ25pemVzIHR3byBhcmd1bWVudHMgZm9yIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPiBkaXJlY3RpdmUsIDxjb2RlPmZpbGUtb3duZXI8L2NvZGU+IGFuZAogICAgPGNvZGU+ZmlsZS1ncm91cDwvY29kZT4sIGFzIGZvbGxvd3M6PC9wPgoKICAgIDxkbD4KICAgICAgPGR0Pjxjb2RlPmZpbGUtb3duZXI8L2NvZGU+PC9kdD4KICAgICAgPGRkPlRoZSBzdXBwbGllZCB3ZWItdXNlcm5hbWUgbXVzdCBtYXRjaCB0aGUgc3lzdGVtJ3MgbmFtZSBmb3IgdGhlCiAgICAgIG93bmVyIG9mIHRoZSBmaWxlIGJlaW5nIHJlcXVlc3RlZC4gVGhhdCBpcywgaWYgdGhlIG9wZXJhdGluZyBzeXN0ZW0KICAgICAgc2F5cyB0aGUgcmVxdWVzdGVkIGZpbGUgaXMgb3duZWQgYnkgPGNvZGU+am9uZXM8L2NvZGU+LCB0aGVuIHRoZQogICAgICB1c2VybmFtZSB1c2VkIHRvIGFjY2VzcyBpdCB0aHJvdWdoIHRoZSB3ZWIgbXVzdCBiZSA8Y29kZT5qb25lczwvY29kZT4KICAgICAgYXMgd2VsbC48L2RkPgoKICAgICAgPGR0Pjxjb2RlPmZpbGUtZ3JvdXA8L2NvZGU+PC9kdD4KICAgICAgPGRkPlRoZSBuYW1lIG9mIHRoZSBzeXN0ZW0gZ3JvdXAgdGhhdCBvd25zIHRoZSBmaWxlIG11c3QgYmUgcHJlc2VudAogICAgICBpbiBhIGdyb3VwIGRhdGFiYXNlLCB3aGljaCBpcyBwcm92aWRlZCwgZm9yIGV4YW1wbGUsIGJ5IDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfZ3JvdXBmaWxlLmh0bWwiPm1vZF9hdXRoel9ncm91cGZpbGU8L2E+PC9jb2RlPiBvciA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X2RibS5odG1sIj5tb2RfYXV0aHpfZGJtPC9hPjwvY29kZT4sCiAgICAgIGFuZCB0aGUgd2ViLXVzZXJuYW1lIG11c3QgYmUgYSBtZW1iZXIgb2YgdGhhdCBncm91cC4gRm9yIGV4YW1wbGUsIGlmCiAgICAgIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHNheXMgdGhlIHJlcXVlc3RlZCBmaWxlIGlzIG93bmVkIGJ5IChzeXN0ZW0pCiAgICAgIGdyb3VwIDxjb2RlPmFjY291bnRzPC9jb2RlPiwgdGhlIGdyb3VwIDxjb2RlPmFjY291bnRzPC9jb2RlPiBtdXN0CiAgICAgIGFwcGVhciBpbiB0aGUgZ3JvdXAgZGF0YWJhc2UgYW5kIHRoZSB3ZWItdXNlcm5hbWUgdXNlZCBpbiB0aGUgcmVxdWVzdAogICAgICBtdXN0IGJlIGEgbWVtYmVyIG9mIHRoYXQgZ3JvdXAuPC9kZD4KICAgIDwvZGw+CgogICAgPGRpdiBjbGFzcz0ibm90ZSI+PGgzPk5vdGU8L2gzPgogICAgICA8cD5JZiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X293bmVyLmh0bWwiPm1vZF9hdXRoel9vd25lcjwvYT48L2NvZGU+IGlzIHVzZWQgaW4gb3JkZXIgdG8gYXV0aG9yaXplCiAgICAgIGEgcmVzb3VyY2UgdGhhdCBpcyBub3QgYWN0dWFsbHkgcHJlc2VudCBpbiB0aGUgZmlsZXN5c3RlbQogICAgICAoPGVtPmkuZS48L2VtPiBhIHZpcnR1YWwgcmVzb3VyY2UpLCBpdCB3aWxsIGRlbnkgdGhlIGFjY2Vzcy48L3A+CgogICAgICA8cD5QYXJ0aWN1bGFybHkgaXQgd2lsbCBuZXZlciBhdXRob3JpemUgPGEgaHJlZj0iLi4vY29udGVudC1uZWdvdGlhdGlvbi5odG1sI211bHRpdmlld3MiPmNvbnRlbnQgbmVnb3RpYXRlZAogICAgICAiTXVsdGlWaWV3cyI8L2E+IHJlc291cmNlcy48L3A+CiAgICA8L2Rpdj4KPC9kaXY+CjxkaXYgaWQ9InF1aWNrdmlldyI+PGgzIGNsYXNzPSJkaXJlY3RpdmVzIj5EaXJlY3RpdmVzPC9oMz4KPHVsIGlkPSJ0b2MiPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNhdXRoem93bmVyYXV0aG9yaXRhdGl2ZSI+QXV0aHpPd25lckF1dGhvcml0YXRpdmU8L2E+PC9saT4KPC91bD4KPGgzPlRvcGljczwvaDM+Cjx1bCBpZD0idG9waWNzIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZXhhbXBsZXMiPkNvbmZpZ3VyYXRpb24gRXhhbXBsZXM8L2E+PC9saT4KPC91bD48aDM+U2VlIGFsc288L2gzPgo8dWwgY2xhc3M9InNlZWFsc28iPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNyZXF1aXJlIj5SZXF1aXJlPC9hPjwvY29kZT48L2xpPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNzYXRpc2Z5Ij5TYXRpc2Z5PC9hPjwvY29kZT48L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJleGFtcGxlcyIgaWQ9ImV4YW1wbGVzIj5Db25maWd1cmF0aW9uIEV4YW1wbGVzPC9hPjwvaDI+CgogICAgPGgzPjxhIG5hbWU9ImV4YW1wbGVzLmZpbGUtb3duZXIiIGlkPSJleGFtcGxlcy5maWxlLW93bmVyIj5SZXF1aXJlIGZpbGUtb3duZXI8L2E+PC9oMz4KICAgICAgPHA+Q29uc2lkZXIgYSBtdWx0aS11c2VyIHN5c3RlbSBydW5uaW5nIHRoZSBBcGFjaGUgV2ViIHNlcnZlciwgd2l0aAogICAgICBlYWNoIHVzZXIgaGF2aW5nIGhpcyBvciBoZXIgb3duIGZpbGVzIGluIDxjb2RlPn4vcHVibGljX2h0bWwvcHJpdmF0ZTwvY29kZT4uIEFzc3VtaW5nIHRoYXQgdGhlcmUgaXMgYSBzaW5nbGUKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRobl9kYm0uaHRtbCNhdXRoZGJtdXNlcmZpbGUiPkF1dGhEQk1Vc2VyRmlsZTwvYT48L2NvZGU+IGRhdGFiYXNlCiAgICAgIHRoYXQgbGlzdHMgYWxsIG9mIHRoZWlyIHdlYi11c2VybmFtZXMsIGFuZCB0aGF0IHRoZXNlIHVzZXJuYW1lcyBtYXRjaAogICAgICB0aGUgc3lzdGVtJ3MgdXNlcm5hbWVzIHRoYXQgYWN0dWFsbHkgb3duIHRoZSBmaWxlcyBvbiB0aGUgc2VydmVyLCB0aGVuCiAgICAgIHRoZSBmb2xsb3dpbmcgc3RhbnphIHdvdWxkIGFsbG93IG9ubHkgdGhlIHVzZXIgaGltc2VsZiBhY2Nlc3MgdG8gaGlzCiAgICAgIG93biBmaWxlcy4gVXNlciA8Y29kZT5qb25lczwvY29kZT4gd291bGQgbm90IGJlIGFsbG93ZWQgdG8gYWNjZXNzCiAgICAgIGZpbGVzIGluIDxjb2RlPi9ob21lL3NtaXRoL3B1YmxpY19odG1sL3ByaXZhdGU8L2NvZGU+IHVubGVzcyB0aGV5CiAgICAgIHdlcmUgb3duZWQgYnkgPGNvZGU+am9uZXM8L2NvZGU+IGluc3RlYWQgb2YgPGNvZGU+c21pdGg8L2NvZGU+LjwvcD4KCiAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICAgICZsdDtEaXJlY3RvcnkgL2hvbWUvKi9wdWJsaWNfaHRtbC9wcml2YXRlJmd0OzxiciAvPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbmRlbnQiPgogICAgICAgICAgQXV0aFR5cGUgQmFzaWM8YnIgLz4KICAgICAgICAgIEF1dGhOYW1lIE15UHJpdmF0ZUZpbGVzPGJyIC8+CiAgICAgICAgICBBdXRoQmFzaWNQcm92aWRlciBkYm08YnIgLz4KICAgICAgICAgIEF1dGhEQk1Vc2VyRmlsZSAvdXNyL2xvY2FsL2FwYWNoZTIvZXRjLy5odGRibS1hbGw8YnIgLz4KICAgICAgICAgIFNhdGlzZnkgQWxsPGJyIC8+CiAgICAgICAgICBSZXF1aXJlIGZpbGUtb3duZXI8YnIgLz4KICAgICAgICA8L3NwYW4+CiAgICAgICAgJmx0Oy9EaXJlY3RvcnkmZ3Q7CiAgICAgIDwvY29kZT48L3A+PC9kaXY+CiAgICAKCiAgICA8aDM+PGEgbmFtZT0iZXhhbXBsZXMuZmlsZS1ncm91cCIgaWQ9ImV4YW1wbGVzLmZpbGUtZ3JvdXAiPlJlcXVpcmUgZmlsZS1ncm91cDwvYT48L2gzPgogICAgICA8cD5Db25zaWRlciBhIHN5c3RlbSBzaW1pbGFyIHRvIHRoZSBvbmUgZGVzY3JpYmVkIGFib3ZlLCBidXQgd2l0aAogICAgICBzb21lIHVzZXJzIHRoYXQgc2hhcmUgdGhlaXIgcHJvamVjdCBmaWxlcyBpbgogICAgICA8Y29kZT5+L3B1YmxpY19odG1sL3Byb2plY3QtZm9vPC9jb2RlPi4gVGhlIGZpbGVzIGFyZSBvd25lZCBieSB0aGUKICAgICAgc3lzdGVtIGdyb3VwIDxjb2RlPmZvbzwvY29kZT4gYW5kIHRoZXJlIGlzIGEgc2luZ2xlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfZGJtLmh0bWwjYXV0aGRibWdyb3VwZmlsZSI+QXV0aERCTUdyb3VwRmlsZTwvYT48L2NvZGU+IGRhdGFiYXNlIHRoYXQKICAgICAgY29udGFpbnMgYWxsIG9mIHRoZSB3ZWItdXNlcm5hbWVzIGFuZCB0aGVpciBncm91cCBtZW1iZXJzaGlwLAogICAgICA8ZW0+aS5lLjwvZW0+IHRoZXkgbXVzdCBiZSBhdCBsZWFzdCBtZW1iZXIgb2YgYSBncm91cCBuYW1lZAogICAgICA8Y29kZT5mb288L2NvZGU+LiBTbyBpZiA8Y29kZT5qb25lczwvY29kZT4gYW5kIDxjb2RlPnNtaXRoPC9jb2RlPgogICAgICBhcmUgYm90aCBtZW1iZXIgb2YgdGhlIGdyb3VwIDxjb2RlPmZvbzwvY29kZT4sIHRoZW4gYm90aCB3aWxsIGJlCiAgICAgIGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoZSA8Y29kZT5wcm9qZWN0LWZvbzwvY29kZT4gZGlyZWN0b3JpZXMgb2YKICAgICAgZWFjaCBvdGhlci48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgICAmbHQ7RGlyZWN0b3J5IC9ob21lLyovcHVibGljX2h0bWwvcHJvamVjdC1mb28mZ3Q7PGJyIC8+CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgICBBdXRoVHlwZSBCYXNpYzxiciAvPgogICAgICAgICAgQXV0aE5hbWUgIlByb2plY3QgRm9vIEZpbGVzIjxiciAvPgogICAgICAgICAgQXV0aEJhc2ljUHJvdmlkZXIgZGJtPGJyIC8+CiAgICAgICAgICA8YnIgLz4KICAgICAgICAgICMgY29tYmluZWQgdXNlci9ncm91cCBkYXRhYmFzZTxiciAvPgogICAgICAgICAgQXV0aERCTVVzZXJGaWxlICAvdXNyL2xvY2FsL2FwYWNoZTIvZXRjLy5odGRibS1hbGw8YnIgLz4KICAgICAgICAgIEF1dGhEQk1Hcm91cEZpbGUgL3Vzci9sb2NhbC9hcGFjaGUyL2V0Yy8uaHRkYm0tYWxsPGJyIC8+CiAgICAgICAgICA8YnIgLz4KICAgICAgICAgIFNhdGlzZnkgQWxsPGJyIC8+CiAgICAgICAgICBSZXF1aXJlIGZpbGUtZ3JvdXA8YnIgLz4KICAgICAgICA8L3NwYW4+CiAgICAgICAgJmx0Oy9EaXJlY3RvcnkmZ3Q7CiAgICAgIDwvY29kZT48L3A+PC9kaXY+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkF1dGh6T3duZXJBdXRob3JpdGF0aXZlIiBpZD0iQXV0aHpPd25lckF1dGhvcml0YXRpdmUiPkF1dGh6T3duZXJBdXRob3JpdGF0aXZlPC9hPiA8YSBuYW1lPSJhdXRoem93bmVyYXV0aG9yaXRhdGl2ZSIgaWQ9ImF1dGh6b3duZXJhdXRob3JpdGF0aXZlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TZXRzIHdoZXRoZXIgYXV0aG9yaXphdGlvbiB3aWxsIGJlIHBhc3NlZCBvbiB0byBsb3dlciBsZXZlbAptb2R1bGVzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkF1dGh6T3duZXJBdXRob3JpdGF0aXZlIE9ufE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5BdXRoek93bmVyQXV0aG9yaXRhdGl2ZSBPbjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGh6X293bmVyPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+U2V0dGluZyB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+QXV0aHpPd25lckF1dGhvcml0YXRpdmU8L2NvZGU+CiAgICBkaXJlY3RpdmUgZXhwbGljaXRseSB0byA8Y29kZT5PZmY8L2NvZGU+IGFsbG93cyBmb3IKICAgIHVzZXIgYXV0aG9yaXphdGlvbiB0byBiZSBwYXNzZWQgb24gdG8gbG93ZXIgbGV2ZWwgbW9kdWxlcyAoYXMgZGVmaW5lZAogICAgaW4gdGhlIDxjb2RlPm1vZHVsZXMuYzwvY29kZT4gZmlsZXMpIGlmOjwvcD4KCiAgICA8dWw+CiAgICA8bGk+aW4gdGhlIGNhc2Ugb2YgPGNvZGU+ZmlsZS1vd25lcjwvY29kZT4gdGhlIGZpbGUtc3lzdGVtIG93bmVyIGRvZXMgbm90CiAgICBtYXRjaCB0aGUgc3VwcGxpZWQgd2ViLXVzZXJuYW1lIG9yIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLCBvcjwvbGk+CgogICAgPGxpPmluIHRoZSBjYXNlIG9mIDxjb2RlPmZpbGUtZ3JvdXA8L2NvZGU+IHRoZSBmaWxlLXN5c3RlbSBncm91cCBkb2VzIG5vdAogICAgY29udGFpbiB0aGUgc3VwcGxpZWQgd2ViLXVzZXJuYW1lIG9yIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLjwvbGk+CiAgICA8L3VsPgoKICAgIDxwPk5vdGUgdGhhdCBzZXR0aW5nIHRoZSB2YWx1ZSB0byA8Y29kZT5PZmY8L2NvZGU+IGFsc28gYWxsb3dzIHRoZQogICAgY29tYmluYXRpb24gb2YgPGNvZGU+ZmlsZS1vd25lcjwvY29kZT4gYW5kIDxjb2RlPmZpbGUtZ3JvdXA8L2NvZGU+LCBzbwogICAgYWNjZXNzIHdpbGwgYmUgYWxsb3dlZCBpZiBlaXRoZXIgb25lIG9yIHRoZSBvdGhlciAob3IgYm90aCkgbWF0Y2guPC9wPgoKICAgIDxwPkJ5IGRlZmF1bHQsIGNvbnRyb2wgaXMgbm90IHBhc3NlZCBvbiBhbmQgYW4gYXV0aG9yaXphdGlvbiBmYWlsdXJlCiAgICB3aWxsIHJlc3VsdCBpbiBhbiAiQXV0aGVudGljYXRpb24gUmVxdWlyZWQiIHJlcGx5LiBOb3QKICAgIHNldHRpbmcgaXQgdG8gPGNvZGU+T2ZmPC9jb2RlPiB0aHVzIGtlZXBzIHRoZSBzeXN0ZW0gc2VjdXJlIGFuZCBmb3JjZXMKICAgIGFuIE5DU0EgY29tcGxpYW50IGJlaGF2aW91ci48L3A+Cgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9hdXRoel9vd25lci5odG1sIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vamEvbW9kL21vZF9hdXRoel9vd25lci5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2tvL21vZC9tb2RfYXV0aHpfb3duZXIuaHRtbCIgaHJlZmxhbmc9ImtvIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IktvcmVhbiI+Jm5ic3A7a28mbmJzcDs8L2E+PC9wPgo8L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMTk5NS0yMDA1IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiBvciBpdHMgbGljZW5zb3JzLCBhcyBhcHBsaWNhYmxlLjxiciAvPkxpY2Vuc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAiPkFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMDwvYT4uPC9wPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Ii4uL2ZhcS8iPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FyeTwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPlNpdGVtYXA8L2E+PC9wPjwvZGl2Pgo8L2JvZHk+PC9odG1sPg==