PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy93M2MvL2R0ZCBodG1sIDQuMCB0cmFuc2l0aW9uYWwvL2VuIj4KPGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPHRpdGxlPkFzcGVjdEogRGV2ZWxvcG1lbnQgVG9vbHM8L3RpdGxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZGVmYXVsdF9zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIj4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIHRpdGxlPSJBSkRUIE5ld3MiIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvYWpkdC9uZXdzLnhtbCIvPgo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IiNGRkZGRkYiPgoKPHRhYmxlIEJPUkRFUj0wIENFTExTUEFDSU5HPTUgQ0VMTFBBRERJTkc9MiBXSURUSD0iMTAwJSIgPgogIDx0cj4gCiAgICA8dGQgQUxJR049TEVGVCB3aWR0aD0iNjAlIiB2YWxpZ249InRvcCI+PGZvbnQgY2xhc3M9aW5kZXh0b3A+YWpkdDwvZm9udD48YnI+Cjxmb250IGNsYXNzPWluZGV4c3ViPmFzcGVjdEogZGV2ZWxvcG1lbnQgdG9vbHMgc3VicHJvamVjdDwvZm9udD4KPC90ZD4KICAgIDx0ZCBXSURUSD0iNDAlIj48aW1nCiAgd2lkdGg9MTIwIGhlaWdodD04NiBzcmM9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvaW1hZ2VzL0lkZWEuanBnIiBhbGlnbj1jZW50ZXI+PC90ZD4KICA8L3RyPgo8L3RhYmxlPgoKPHRhYmxlIEJPUkRFUj0wIENFTExTUEFDSU5HPTUgQ0VMTFBBRERJTkc9MiBXSURUSD0iMTAwJSIgPgogIDx0cj4KICAgIDx0ZCBBTElHTj1MRUZUIFZBTElHTj1UT1AgQkdDT0xPUj0iIzAwODBDMCI+PGI+PGZvbnQgY29sb3I9IiNGRkZGRkYiIGZhY2U9IkFyaWFsLEhlbHZldGljYSI+Jm5ic3A7V2VsY29tZTwvZm9udD48L2I+PC90ZD4KICA8L3RyPgoKICA8dHI+CiAgICA8dGQgQUxJR049TEVGVCBWQUxJR049VE9QIEJHQ09MT1I9IiNGRkZGRkYiPgoKICAgICAgIDxwPlNvbWUgYXNwZWN0cyBvZiBzeXN0ZW0gaW1wbGVtZW50YXRpb24sIHN1Y2ggYXMgbG9nZ2luZywKICAgICAgIGVycm9yIGhhbmRsaW5nLCBzdGFuZGFyZHMgZW5mb3JjZW1lbnQgYW5kIGZlYXR1cmUgdmFyaWF0aW9ucwogICAgICAgYXJlIG5vdG9yaW91c2x5IGRpZmZpY3VsdCB0byBpbXBsZW1lbnQgaW4gYSBtb2R1bGFyIHdheS4gVGhlCiAgICAgICByZXN1bHQgaXMgdGhhdCBjb2RlIGlzIHRhbmdsZWQgYWNyb3NzIGEgc3lzdGVtIGFuZCBsZWFkcyB0bwogICAgICAgcXVhbGl0eSwgcHJvZHVjdGl2aXR5IGFuZCBtYWludGVuYW5jZSBwcm9ibGVtcy4gQXNwZWN0IE9yaWVudGVkCiAgICAgICBTb2Z0d2FyZSBEZXZlbG9wbWVudCBlbmFibGVzIHRoZSBjbGVhbiBtb2R1bGFyaXphdGlvbiBvZiB0aGVzZQogICAgICAgY3Jvc3NjdXR0aW5nIGNvbmNlcm5zLiBUaGUgQXNwZWN0SiBEZXZlbG9wbWVudCBUb29scyAoQUpEVCkKICAgICAgIHByb2plY3QgcHJvdmlkZXMgRWNsaXBzZSBwbGF0Zm9ybSBiYXNlZCB0b29sIHN1cHBvcnQgZm9yCiAgICAgICBBT1NEIHdpdGggQXNwZWN0Si4gT3VyIGdvYWwgaXMgdG8gZGVsaXZlciBhIHVzZXIgZXhwZXJpZW5jZQogICAgICAgdGhhdCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIEphdmEgRGV2ZWxvcG1lbnQgVG9vbHMgKEpEVCkgd2hlbgogICAgICAgd29ya2luZyB3aXRoIEFzcGVjdEogcHJvamVjdHMgYW5kIHJlc291cmNlcy4gVGhpcyB3aWxsIGJlCiAgICAgICBhY2NvbXBsaXNoZWQgYnkgZGV2ZWxvcGluZyBhbiBpbnRlZ3JhdGlvbiBsYXllciBiZXR3ZWVuIHRoZQogICAgICAgQXNwZWN0SiBEZXZlbG9wbWVudCBFbnZpcm9ubWVudCBGcmFtZXdvcmsgYW5kIEVjbGlwc2UvSkRUCiAgICAgICBleHRlbnNpb24gcG9pbnRzLjwvcD4KCiAgICAgICA8cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgQXNwZWN0SiBwcm9qZWN0LCB0aGUgQXNwZWN0SgogICAgICAgUHJvZ3JhbW1pbmcgR3VpZGUsIGV4YW1wbGVzLCBhbmQgcmVsYXRlZCBkb3dubG9hZHMgcGxlYXNlIHZpc2l0CiAgICAgICB0aGUgPGEgdGFyZ2V0PSJfdG9wIiBocmVmPSJodHRwOi8vZWNsaXBzZS5vcmcvYXNwZWN0aiI+QXNwZWN0SgogICAgICAgUHJvamVjdC48L2E+CgogICAgICAgPHA+PGI+UXVpY2sgbGluazo8L2I+IDxpPjxhIGhyZWY9ImRvd25sb2Fkcy8iPlRha2UgbWUgc3RyYWlnaHQgdG8KICAgICAgIHRoZSBkb3dubG9hZCBwYWdlITwvYT48L2k+CiAgICA8L3RkPgogIDwvdHI+CgogIDx0cj4KICAgIDx0ZCBBTElHTj1MRUZUIFZBTElHTj1UT1AgQkdDT0xPUj0iIzAwODBDMCI+PGI+PGZvbnQgY29sb3I9IiNGRkZGRkYiIGZhY2U9IkFyaWFsLEhlbHZldGljYSI+Jm5ic3A7V2hhdCdzIE5ldzwvZm9udD48L2I+PC90ZD4KICA8L3RyPgoKICA8dHI+CiAgICA8dGQ+IAogICAgICA8dGFibGUgY2VsbFNwYWNpbmc9IjUiIGNlbGxQYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj4KCiAgICA8dHI+CiAgICAgICAgICA8dGQgdkFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBoZWlnaHQ9IjEyIiB3aWR0aD0iMjMiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3RkPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiICB2YWxpZ249InRvcCI+CiAgICAgICA8Yj5Ob3ZlbWJlciAxNywgMjAwNTogQXNwZWN0SiA1IE01OjwvYj4KCQlUaGUgbGF0ZXN0IEFzcGVjdEogbWlsZXN0b25lIHJlbGVhc2UgaXMgbm93IGluY2x1ZGVkIGluIEFKRFQgZGV2ZWxvcG1lbnQKCQlidWlsZHMuIFBsZWFzZSBzZWUgdGhlIDxhIGhyZWY9Im5ld2ZlYXR1cmVzLyNjb21waWxlck01Ij5OZXcgRmVhdHVyZXMgcGFnZTwvYT4KCQlmb3IgbW9yZSBkZXRhaWxzLgogICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICAKICAgIDx0cj4KICAgICAgICAgIDx0ZCB2QWxpZ249InRvcCIgYWxpZ249ImxlZnQiIGhlaWdodD0iMTIiIHdpZHRoPSIyMyI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2VjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvdGQ+CiAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgIHZhbGlnbj0idG9wIj4KICAgICAgIDxiPk5vdmVtYmVyIDksIDIwMDU6IExvYWQtdGltZSBXZWF2aW5nOjwvYj4KCQlBSkRUIDEuMi4xIGFuZCAxLjMgaGF2ZSBhZGRlZCBzdXBwb3J0IGZvciBsb2FkLXRpbWUgd2VhdmluZyB5b3VyIGFwcGxpY2F0aW9ucy4KCQlQbGVhc2Ugc2VlIHRoZSA8YSBocmVmPSJuZXdmZWF0dXJlcy8jbHR3Ij5OZXcgRmVhdHVyZXMgcGFnZTwvYT4KCQlmb3IgbW9yZSBkZXRhaWxzLgogICAgICAgPC90ZD4KICAgIDwvdHI+CgogICAgPHRyPgogICAgICAgICAgPHRkIHZBbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgaGVpZ2h0PSIxMiIgd2lkdGg9IjIzIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vZWNsaXBzZS5vcmcvaW1hZ2VzL0FkYXJyb3cuZ2lmIiBib3JkZXI9IjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC90ZD4KICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIiAgdmFsaWduPSJ0b3AiPgogICAgICAgPGI+T2N0b2JlciAzMSwgMjAwNTogQWNjZXNzaWJpbGl0eTo8L2I+CgkJQUpEVCAxLjMgaGFzIHVuZGVyZ29uZSBhIGZ1bGwgYWNjZXNzaWJpbGl0eSByZXZpZXcgaW4gYW50aWNpcGF0aW9uIG9mIHRoZSB1cGNvbWluZyByZWxlYXNlLiAKCQlQbGVhc2Ugc2VlIHRoZSA8YSBocmVmPSJuZXdmZWF0dXJlcy8jYWNjZXNzaWJpbGl0eSI+TmV3IEZlYXR1cmVzIHBhZ2U8L2E+CgkJZm9yIG1vcmUgZGV0YWlscy4KICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgCiAgICA8dHI+CiAgICAgICAgICA8dGQgdkFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBoZWlnaHQ9IjEyIiB3aWR0aD0iMjMiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3RkPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiICB2YWxpZ249InRvcCI+CiAgICAgICA8Yj5PY3RvYmVyIDExLCAyMDA1OiBBc3BlY3RKIDUgTTQ6PC9iPgoJCVRoZSBsYXRlc3QgQXNwZWN0SiBtaWxlc3RvbmUgcmVsZWFzZSBpcyBub3cgaW5jbHVkZWQgaW4gQUpEVCBkZXZlbG9wbWVudAoJCWJ1aWxkcy4gUGxlYXNlIHNlZSB0aGUgPGEgaHJlZj0ibmV3ZmVhdHVyZXMvI2NvbXBpbGVyTTQiPk5ldyBGZWF0dXJlcyBwYWdlPC9hPgoJCWZvciBtb3JlIGRldGFpbHMuCiAgICAgICA8L3RkPgogICAgPC90cj4KCiAgICA8dHI+CiAgICAgICAgICA8dGQgdkFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBoZWlnaHQ9IjEyIiB3aWR0aD0iMjMiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3RkPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiICB2YWxpZ249InRvcCI+CiAgICAgICA8Yj5PY3RvYmVyIDMsIDIwMDU6IEludGVybmF0aW9uYWxpemF0aW9uOjwvYj4KCQlSZWNlbnRseSB3ZSBoYXZlIGJlZW4gZm9jdXNpbmcgb24gaW1wcm92aW5nIHN1cHBvcnQgZm9yIG1lc3NhZ2UgdHJhbnNsYXRpb25zIGluIEFKRFQuIEJ1dCB3ZSBuZWVkCgkJeW91ciBoZWxwIHdpdGggdGhpcyEgUGxlYXNlIHNlZSB0aGUgPGEgaHJlZj0ibmV3ZmVhdHVyZXMvI2kxOG4iPk5ldyBGZWF0dXJlcyBwYWdlPC9hPgoJCWZvciBtb3JlIGRldGFpbHMuCiAgICAgICA8L3RkPgogICAgPC90cj4KCiAgICA8dHI+CiAgICAgICAgICA8dGQgdkFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBoZWlnaHQ9IjEyIiB3aWR0aD0iMjMiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3RkPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiICB2YWxpZ249InRvcCI+CiAgICAgICA8Yj5TZXB0ZW1iZXIgMjYsIDIwMDU6IEFub3RoZXIgbmV3IGZlYXR1cmU6PC9iPgoKICAgICAgIFRoZSA8YSBocmVmPSJuZXdmZWF0dXJlcy8jY29tcGFyaXNvbiI+Q3Jvc3NjdXR0aW5nIENvbXBhcmlzb24gdmlldzwvYT4KICAgICAgIGFuZCByZWxhdGVkIGZ1bmN0aW9uYWxpdHkgaGVscHMgeW91IG1hbmFnZSBjaGFuZ2VzIHRvIHRoZSBjcm9zc2N1dHRpbmcgc3RydWN0dXJlCiAgICAgICBvZiB5b3VyIHByb2plY3QuCiAgICAgICA8L3RkPgogICAgPC90cj4KCiAgICA8dHI+CiAgICAgICAgICA8dGQgdkFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBoZWlnaHQ9IjEyIiB3aWR0aD0iMjMiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3RkPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiICB2YWxpZ249InRvcCI+CiAgICAgICA8Yj5TZXB0ZW1iZXIgMjAsIDIwMDU6IFRoaXMgd2VlaydzIG5ldyBBSkRUIGZlYXR1cmU6PC9iPgoKICAgICAgIFRoZSA8YSBocmVmPSJuZXdmZWF0dXJlcy8jbmV3YXNwZWN0Ij5OZXcgQXNwZWN0IHdpemFyZDwvYT4gbm93IG1vcmUKICAgICAgIGNsb3NlbHkgbWF0Y2hlcyB0aGUgYXBwZWFyYW5jZSBhbmQKICAgICAgIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIE5ldyBDbGFzcyB3aXphcmQsIHBsdXMgaXQgY2FuIGdlbmVyYXRlIHN0dWJzCiAgICAgICBmb3IgcG9pbnRjdXRzIGluaGVyaXRlZCBmcm9tIGFuIGFic3RyYWN0IGFzcGVjdC4gVGhlIHZlcnNpb24gb2YgdGhlCiAgICAgICBBc3BlY3RKIGNvbXBpbGVyIGluY2x1ZGVkIGluIEFKRFQgaGFzIGFsc28gYmVlbiB1cGRhdGVkLgogICAgICAgPC90ZD4KICAgIDwvdHI+CgogICAgPHRyPgogICAgICAgICAgPHRkIHZBbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgaGVpZ2h0PSIxMiIgd2lkdGg9IjIzIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vZWNsaXBzZS5vcmcvaW1hZ2VzL0FkYXJyb3cuZ2lmIiBib3JkZXI9IjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC90ZD4KICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIiAgdmFsaWduPSJ0b3AiPgogICAgICAgPGI+U2VwdGVtYmVyIDEyLCAyMDA1OiBNb3JlIG5ldyBmZWF0dXJlcyBpbiBBSkRUOjwvYj4KICAgICAgIFRoZSA8YSBocmVmPSJuZXdmZWF0dXJlcy8iPk5ldyBGZWF0dXJlczwvYT4gcGFnZSBoYXMgYmVlbiB1cGRhdGVkCiAgICAgICB0byBjb3ZlciB0aGUgZmlsdGVyaW5nIGNhcGFiaWxpdHkgYWRkZWQgdG8gdGhlIENyb3NzIFJlZmVyZW5jZXMgdmlldy4gVGhlIHZlcnNpb24gb2YgdGhlCiAgICAgICBBc3BlY3RKIGNvbXBpbGVyIGluY2x1ZGVkIGluIEFKRFQgaGFzIGFsc28gYmVlbiB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgZGV2ZWxvcG1lbnQgYnVpbGQuCiAgICAgICA8L3RkPgogICAgPC90cj4KCiAgICA8dHI+CiAgICAgICAgICA8dGQgdkFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBoZWlnaHQ9IjEyIiB3aWR0aD0iMjMiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3RkPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiICB2YWxpZ249InRvcCI+CiAgICAgICA8Yj5TZXB0ZW1iZXIgNiwgMjAwNTogTmV3IGZlYXR1cmVzIGluIEFKRFQ6PC9iPiAgICAgIAogICAgICAgRmluZCBvdXQgbW9yZSBhYm91dCB0aGUgbGF0ZXN0IG5ldyBmZWF0dXJlcyBhZGRlZCB0byBBSkRUCiAgICAgICBkZXZlbG9wbWVudCBidWlsZHMgZnJvbSB0aGUgPGEgaHJlZj0ibmV3ZmVhdHVyZXMvI3BvaW50Y3V0cyI+TmV3IEZlYXR1cmVzPC9hPiBwYWdlLAogICAgICAgc3RhcnRpbmcgdGhpcyB3ZWVrIHdpdGggc3VwcG9ydCBmb3IgbmF2aWdhdGlvbiBhbmQgc291cmNlIGhvdmVycyBmb3IKICAgICAgIHBvaW50Y3V0cy4KICAgICAgIDwvdGQ+CiAgICA8L3RyPgoKICAgIDx0cj4KICAgICAgICAgIDx0ZCB2QWxpZ249InRvcCIgYWxpZ249ImxlZnQiIGhlaWdodD0iMTIiIHdpZHRoPSIyMyI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2VjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvdGQ+CiAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgIHZhbGlnbj0idG9wIj4KICAgICAgIDxiPkF1Z3VzdCAxNSwgMjAwNTogQUpEVCBhcnRpY2xlIHB1Ymxpc2hlZCBvbiBkZXZlbG9wZXJXb3Jrczo8L2I+IAogICAgICAgPGEgdGFyZ2V0PSJfdG9wIiBocmVmPSJodHRwOi8vd3d3LmlibS5jb20vZGV2ZWxvcGVyd29ya3MvamF2YS9saWJyYXJ5L2otYW9wd29yazkvIj4KICAgICAgIE5ldyBBSkRUIHJlbGVhc2VzIGVhc2UgQU9QIGRldmVsb3BtZW50PC9hPgogICAgICAgPC90ZD4KICAgIDwvdHI+CgoKICAgIDx0cj4KICAgICAgICAgIDx0ZCB2QWxpZ249InRvcCIgYWxpZ249ImxlZnQiIGhlaWdodD0iMTIiIHdpZHRoPSIyMyI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2VjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvdGQ+CiAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiPgogICAgICAgICAgPGI+SnVseSAxMywgMjAwNTogPGEgdGFyZ2V0PSJfdG9wIiBocmVmPSJodHRwOi8vYW9zZC5uZXQvY29uZmVyZW5jZSI+QU9TRCcwNjo8L2E+IENhbGwgZm9yIENvbnRyaWJ1dGlvbnMuPC9iPgogICAgICAgICAgVGhlIGZpZnRoIGludGVybmF0aW9uYWwgY29uZmVyZW5jZSBvbiBBT1NEIG9mZmVycyBhIGdyZWF0IGNoYW5jZSBmb3IKICAgICAgICAgIEFzcGVjdEogYW5kIEFKRFQgdXNlcnMgdG8gbWVldCB1cCBhbmQgc2hhcmUgd2hhdAogICAgICAgICAgdGhleSBhcmUgZG9pbmcuIFN1Ym1pdCB5b3VyIDxhIHRhcmdldD0iX3RvcCIgaHJlZj0iaHR0cDovL2Fvc2QubmV0LzIwMDYvY2ZjL3JlcG9ydHMucGhwIj4KICAgICAgICAgIGV4cGVyaWVuY2UgcmVwb3J0PC9hPiBhYnN0cmFjdHMgYnkgU2VwdGVtYmVyIDIzcmQuICA8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICA8YSB0YXJnZXQ9Il90b3AiIGhyZWY9Imh0dHA6Ly9hb3NkLm5ldC9jb25mZXJlbmNlIj4KICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9BT1NEMDZfQnV0dG9uLmdpZiIgYm9yZGVyPSIwIiBhbHQ9IkFPU0QgMDYgY29uZmVyZW5jZSI+PC9hPgogICAgICAgICAgPC90ZD4gICAgICAKICAgIDwvdHI+CgoKICAgIDx0cj4KICAgICAgICAgIDx0ZCB2QWxpZ249InRvcCIgYWxpZ249ImxlZnQiIGhlaWdodD0iMTIiIHdpZHRoPSIyMyI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2VjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvdGQ+CiAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgIHZhbGlnbj0idG9wIj4KICAgICAgIDxiPkp1bmUgMTAsIDIwMDU6IEFKRFQgMS4yIHJlbGVhc2VkIGZvciBFY2xpcHNlIDMuMC48L2I+IAogICAgICAgVGhlIHN0YWJsZSByZWxlYXNlIGlzIG5vdyBoZXJlISBTZWUgdGhlIDxhIGhyZWY9IndoYXRzbmV3MTIvIj5OZXcgYW5kIE5vdGV3b3J0aHkgZm9yIDEuMjwvYT4KICAgICAgIGZvciBhIHN1bW1hcnkgb2YgdGhlIGNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjEuIFRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSB1cGRhdGUgc2l0ZQogICAgICAgYW5kIGFzIGEgemlwIGZpbGUuIFNlZSB0aGUgPGEgaHJlZj0iZG93bmxvYWRzLyI+ZG93bmxvYWQgcGFnZTwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uPC90ZD4KICAgIDwvdHI+CgoJPHRyPgogICAgICAgICAgPHRkIHZBbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgaGVpZ2h0PSIxMiIgd2lkdGg9IjIzIj4KPCEtLSAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2VjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPiAtLT4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgIHZhbGlnbj0idG9wIj4KCSAgPGI+PGEgaHJlZj0ibmV3c19hcmNoaXZlLmh0bWwiPk1vcmUgbmV3cy4uLjwvYT48L2I+CiAgICAgICAgICAKCSAgPC90ZD4KCSAgCgkgIAkgIDx0ZCBjb2xzcGFuPSIxIiBhbGlnbj0icmlnaHQiPgoJICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9hamR0L25ld3MueG1sIj4KCSAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy94bWwuZ2lmIiBib3JkZXI9MCBhbHQ9IlhNTC9SU1MgZmVlZCI+PC9hPgoJICAgICAgPC90ZD4KCSAgICAgIAogICAgICAgPC90cj4KCiAgICAgICAgPC90YWJsZT4KICAgICAgPC90ZD4KICA8L3RyPgoKICA8dHI+CiAgICA8dGQgQUxJR049TEVGVCBWQUxJR049VE9QIEJHQ09MT1I9IiMwMDgwQzAiPjxiPjxmb250IGNvbG9yPSIjRkZGRkZGIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EiPgogICAgJm5ic3A7UmVzb3VyY2VzPC9mb250PjwvYj48L3RkPgogIDwvdHI+CgogIDx0cj4KICAgICA8dGQ+CgogICAgICA8dGFibGUgY2VsbFNwYWNpbmc9IjEiIGNlbGxQYWRkaW5nPSIyIiB3aWR0aD0iOTAlIiBib3JkZXI9IjAiIGlkPSJ0YWJsZTEiPgogICAgICAgIDx0cj4KICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIj4KICAgICAgICAgICAgICA8Yj5HZW5lcmFsIFJlc291cmNlczo8L2I+CiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CiAgICAgICAgPHRyPgoJICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICA8YSBocmVmPSJuZXdzOi8vZWNsaXBzZS5vcmcvZWNsaXBzZS50ZWNobm9sb2d5LmFqZHQiPk5ld3Nncm91cDwvYT4gKDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbmV3c3BvcnRhbC90aHJlYWQucGhwP2dyb3VwPWVjbGlwc2UudGVjaG5vbG9neS5hamR0Ij53ZWIgaW50ZXJmYWNlPC9hPikKICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgQXNrIHF1ZXN0aW9ucyBhYm91dCBBSkRUIG9uIHRoZSBFY2xpcHNlIFRlY2hub2xvZ3kgTmV3c2dyb3VwIC4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CgkgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MiPkJ1Z3ppbGxhPC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBTdWJtaXQgYnVncyBhbmQgZmVhdHVyZSByZXF1ZXN0cy4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KCgk8dHI+PHRkPjwvdGQ+PC90cj4KCiAgICAgICAgPHRyPgogICAgICAgICAgPHRkIGNvbHNwYW49IjIiPgogICAgICAgICAgICAgIDxiPlVzZXIgUmVzb3VyY2VzOjwvYj4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KIAogICAgICAgIDx0cj4KCSAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iZG93bmxvYWRzLyI+RG93bmxvYWQ8L2E+CiAgICAgICAgICA8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIEdldCB0aGUgbGF0ZXN0IGJ1aWxkLgogICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgogICAgICAgIDx0cj4KICAgICAgICA8L3RyPgoKICAgICAgICA8dHI+CgkgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIDxhIGhyZWY9Im5ld2ZlYXR1cmVzLyI+TmV3IEZlYXR1cmVzPC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBGaW5kIG91dCBhYm91dCB0aGUgbGF0ZXN0IGZlYXR1cmVzIHJlY2VudGx5IGFkZGVkIHRvIGRldmVsb3BtZW50IGJ1aWxkcy4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CiAgICAgICAgPC90cj4KCiAgICAgICAgPHRyPgoJICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICA8YSBocmVmPSJkZW1vcy9pbmRleC5odG1sIj5EZW1vczwvYT4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgVmFyaW91cyBhbmltYXRlZCB0dXRvcmlhbHMgZm9yIEFKRFQuCiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CgogICAgICAgIDx0cj4KCSAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iZmFxLmh0bWwiPkZBUTwvYT4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgRnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbnMgYWJvdXQgQUpEVC4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KCiAgICAgICAgPHRyPgoJICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmlibS5jb20vZGV2ZWxvcGVyd29ya3MvamF2YS9saWJyYXJ5L2otYW9wd29yazkvIj5BSkRUIDEuMiAvIDEuMyBhcnRpY2xlPC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBkZXZlbG9wZXJXb3JrcyBhcnRpY2xlOiA8aT5OZXcgQUpEVCByZWxlYXNlcyBlYXNlIEFPUCBkZXZlbG9wbWVudDwvaT4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KCiAgICAgICAgPHRyPgoJICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmlibS5jb20vZGV2ZWxvcGVyd29ya3MvbGlicmFyeS9qLWFqZHQvIj5BSkRUIDEuMS4xMiBhcnRpY2xlPC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBkZXZlbG9wZXJXb3JrcyBhcnRpY2xlOiA8aT5EZXZlbG9wIGFzcGVjdC1vcmllbnRlZCBKYXZhIGFwcGxpY2F0aW9ucyB3aXRoIEVjbGlwc2UgYW5kIEFKRFQuPC9pPgogICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgoKICAgICAgICA8dHI+CgkgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIDxhIHRhcmdldD0iX3RvcCIgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9hamR0L3Zpc3VhbGlzZXIvIj5UaGUgVmlzdWFsc2VyPC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBUaGUgQUpEVCBWaXN1YWxpc2VyIGNvbXBvbmVudCBpcyBhdmFpbGFibGUgaW4gc3RhbmRhbG9uZSBmb3JtLCB3aXRoIGFkZGl0aW9uYWwgcHJvdmlkZXJzLgogICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgoKCTx0cj48dGQ+PC90ZD48L3RyPgoKICAgICAgICA8dHI+CiAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+CiAgICAgICAgICAgICAgPGI+RGV2ZWxvcGVyIFJlc291cmNlczo8L2I+CiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CgogICAgICAgIDx0cj4KCSAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2Rldi5lY2xpcHNlLm9yZy92aWV3Y3ZzL2luZGV4dGVjaC5jZ2kvb3JnLmVjbGlwc2UuYWpkdCI+Q1ZTIFJlcG9zaXRvcnk8L2E+CiAgICAgICAgICA8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgVmlldyBBSkRUIHNvdXJjZXMgdXNpbmcgdGhlIHdlYiBpbnRlcmZhY2UuCiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CgogICAgICAgIDx0cj4KCSAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2Rldi5lY2xpcHNlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FqZHQtZGV2Ij5NYWlsaW5nIExpc3Q8L2E+CiAgICAgICAgICA8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIEVtYWlsIGRldmVsb3BlcnMgYW5kIGdldCBpbnZvbHZlZCB3aXRoIEFKRFQgZGV2ZWxvcG1lbnQuCiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CgogICAgICAgIDx0cj4KCSAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0icGxhbnMuaHRtbCI+UGxhbnM8L2E+CiAgICAgICAgICA8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFBsYW5zIGZvciB1cGNvbWluZyBBSkRUIHJlbGVhc2VzLgogICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgoKICAgICAgICA8dHI+CgkgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAgIDxhIGhyZWY9InVpLmh0bWwiPlVJIERlc2lnbjwvYT4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgVXNlciBpbnRlcmZhY2UgZGVzaWduIGRpc2N1c3Npb24gYW5kIHBsYW5zCiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CgogICAgICAgIDx0cj4KCSAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgPGEgaHJlZj0idGFza3MuaHRtbCI+V29yayB0YXNrczwvYT4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgT3V0c3RhbmRpbmcgd29yayBpdGVtcyBvbiB0aGUgcHJvamVjdCAobGFyZ2UgYW5kIHNtYWxsLCBib3RoIHNob3J0IGFuZCBsb25nIHRlcm0gliB3aHkgbm90IHBpY2sgb25lIHVwIGFuZCBzdGFydCB3b3JraW5nIG9uIGl0PykKICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KCiAgICAgICAgPHRyPgoJICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICA8YSBocmVmPSJjb250cmlidXRvcnMuaHRtbCI+Q29udHJpYnV0b3JzPC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBMaXN0IG9mIGNvbnRyaWJ1dG9ycyB0byB0aGUgQUpEVCBwcm9qZWN0LgogICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgoKCiAgICAgIDwvdGFibGU+CgogICAgIDwvdGQ+CiAgPC90cj4KCjwvdGFibGU+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==