PGh0bWw+CjwhLS0gJElkJCAtLT4KPGhlYWQ+Cjx0aXRsZT5UYXBlc3RyeTogSmF2YSBXZWIgQ29tcG9uZW50czwvdGl0bGU+CjxsaW5rIHJlbD0iU1RZTEVTSEVFVCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IndlYi9zY3JpcHRzL3N0eWxlX3ZpcnRsaWJfcGNJRTU1LmNzcyI+CjwvaGVhZD4KCjxib2R5IGxlZnRtYXJnaW49IjAiIHRvcG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJnY29sb3I9IndoaXRlIj4KCTx0cj4KCQk8dGQgaGVpZ2h0PSI1Ij48SU1HIGhlaWdodD0xIHNyYz0id2ViL2ltYWdlcy9zcGFjZXIuZ2lmIiB3aWR0aD0xIGJvcmRlcj0wPgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGhlaWdodD0iMjAiPjxzcGFuIGNsYXNzPSJyZWxlYXNlIj5SZWxlYXNlIEBWRVJTSU9OQDwvUkVMRUFTRT48L3NwYW4+CgkJPC90ZD4KCTwvdHI+Cgk8dHIgYmdjb2xvcj0iIzRiNTg4NyI+CgkJPHRkIGNvbHNwYW49IjMiIGhlaWdodD0iMjAiPjxJTUcgaGVpZ2h0PTEgc3JjPSJ3ZWIvaW1hZ2VzL3NwYWNlci5naWYiIHdpZHRoPTEgYm9yZGVyPTA+CgkJPC90ZD4KCTwvdHI+CjwvdGFibGU+Cgo8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4KCTx0cj4KCQk8dGQ+PElNRyBzcmM9IndlYi9pbWFnZXMvVGFwZXN0cnktQmFubmVyLnBuZyIgYWxpZ249YWJzTWlkZGxlIGJvcmRlcj0wPgo8cD5UYXBlc3RyeSBpcyBhIGNvbXBvbmVudCBiYXNlZCBmcmFtZXdvcmsgZm9yIGNyZWF0aW5nIHNvcGhpc3RpY2F0ZWQgd2ViIGFwcGxpY2F0aW9ucy4KSXQncyB1c2VkIHdpdGggZXhpc3RpbmcgYXBwbGljYXRpb24gc2VydmVycywgYWN0aW5nIGFzIGEga2luZCBvZiAic3VwZXIgc2VydmxldCIuIApUYXBlc3RyeSBhcHBsaWNhdGlvbnMgYXJlIGJ1aWx0IGJ5IGNvbmZpZ3VyaW5nIGFuZCBjb21iaW5pbmcgY29tcG9uZW50cyB0byBmb3JtIHBhZ2VzLiAgWW91CmdldCBzdXJwcmlzaW5nbHkgbGFyZ2UgYW1vdW50cyBvZiByb2J1c3QgZnVuY3Rpb25hbGl0eSBmb3IKc3RhcnRpbmdseSBzbWFsbCBhbW91bnRzIG9mIGVmZm9ydCBhbmQgY29kZSEKCgo8cD5UaGUgSkFScyB3ZXJlIGNyZWF0ZWQgb24gCkBPU19OQU1FQCBAT1NfVkVSU0lPTkAKdXNpbmcgdGhlIApASkFWQV9WRU5ET1JAIEpESyBASkFWQV9WTV9WRVJTSU9OQCAKY29tcGlsZXIuCgo8cD5UaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAKKDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPmh0dHA6Ly93d3cuYXBhY2hlLm9yZy88L2E+KS4KCjxicj48YnI+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi48YnI+PGJyPgo8aDI+Tm9uLUFTTCBMaWJyYXJpZXM8L2gyPgoKPHA+ClRhcGVzdHJ5IGRlcGVuZHMgb24gYSBoYW5kZnVsIG9mIG5vbi1BU0wgbGlicmFyaWVzLiBCZWNhdXNlIHRoZXNlIGxpYnJhcmllcyBhcmUgbm90IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcwpvZiB0aGUgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UsIHRoZXkgbWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIHdpdGggYXMgcGFydCBvZiBUYXBlc3RyeS4gVGFwZXN0cnkncyBidWlsZCBzY3JpcHRzIHdpbGwKYXV0b21hdGljYWxseSBkb3dubG9hZCB0aGUgbGlicmFyaWVzIGFzIG5lZWRlZC4gU2V2ZXJhbCBsaWJyYXJpZXMgYXJlIG9ubHkgbmVlZGVkIGF0IGJ1aWxkIHRpbWUsIGJ1dApzb21lIGFyZSBuZWVkZWQgYXQgcnVudGltZSAoYW5kIGFyZSB0eXBpY2FsbHkgY29waWVkIGludG8gPGNvZGU+V0VCLUlORi9saWI8L2NvZGU+KS4gVGhlIHR3byBydW50aW1lIGxpYnJhcmllcyBhcmU6Cjx1bD4KPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub2dubC5vcmcvIj5PR05MPC9hPiAoT2JqZWN0IEdyYXBoIE5hdmlnYXRpb24gTGlicmFyeSksIHZlcnNpb24gQE9HTkxfVkVSU0lPTkAKPGxpPjxhIGhyZWY9Imh0dHA6Ly9qYm9zcy5vcmcvZGV2ZWxvcGVycy9wcm9qZWN0cy9qYXZhc3Npc3QuaHRtbCI+SmF2YXNzaXN0PC9hPiAoYnl0ZSBjb2RlIGVuaGFuY2VtZW50IGxpYnJhcnkpLCB2ZXJzaW9uIEBKQVZBU1NJU1RfVkVSU0lPTkAKPC91bD4KCjxwPgpUaGUgbmVjZXNzYXJ5IGxpYnJhcmllcyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZG93bmxvYWRlZCB3aGVuIGJ1aWxkaW5nIHRoZSBleGFtcGxlcy4gVGhlCkFudCB0YXJnZXQgPGNvZGU+ZG93bmxvYWQtZXh0LWZyYW1ld29yazwvY29kZT4gd2lsbCBhbHNvIGRvd25sb2FkIHRoZSBsaWJyYXJpZXMuIElmIHlvdQphcmUgYmVoaW5kIGEgZmlyZXdhbGwsIHlvdSBtYXkgbmVlZCB0byA8YSBocmVmPSJleHQtZGlzdC9SRUFETUUuaHRtbCI+cHJvdmlkZSBzb21lIGFkZGl0aW9uYWwgcHJvcGVydGllczwvYT4gaW4KPGNvZGU+Y29uZmlnL2J1aWxkLnByb3BlcnRpZXM8L2NvZGU+LgoKPGJyPjxicj4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLjxicj48YnI+CjxoMj5Db25maWd1cmF0aW9uPC9oMj4KCjxwPgpJbiBvcmRlciB0byBydW4gdGhlIFRhcGVzdHJ5IGRlbW9zLCB5b3UgbmVlZCBvbmx5IHRoZSA8Yj5iaW5hcnk8L2I+IGRpc3RyaWJ1dGlvbiAoaXQgaW5jbHVkZXMgdGhlIHNvdXJjZSBjb2RlCmZvciB0aGUgZXhhbXBsZXMpLiBUaGUgQW50IGJ1aWxkIHNjcmlwdHMgd2lsbCBjb21waWxlIGFuZCBidWlsZCB0aGUgV29ya2JlbmNoIGFuZCB0aGUgVmlydHVhbCBMaWJyYXJ5IGV4YW1wbGUKYXBwbGljYXRpb25zIG9uIHlvdXIgd29ya3N0YXRpb24sIHRoZW4gZGVwbG95IHRoZW0gaW50byBKZXR0eSwgVG9tY2F0IG9yIEpCb3NzLgoKPHBUbyBydW4gdGhlc2UgVGFwZXN0cnkgYXBwbGljYXRpb25zIHBsZWFzZSBlbnN1cmU6CgkJCTx1bD4KCQkJCTxsaT5KREsgMS4zIG9yIG5ld2VyIEpWTSBpcyBpbnN0YWxsZWQsIGFuZCB0aGUgPHR0PkpBVkFfSE9NRTwvdHQ+IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldC48L0I+CgkJCQk8bGk+PGI+PGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy9hbnQiPkFudDwvYT48L2I+IDEuNSBvciBuZXdlciBpcyBpbnN0YWxsZWQsIGFuZCBpcyBhZGRlZCAKdG8gdGhlIHN5c3RlbSA8dHQ+UEFUSDwvdHQ+LjwvbGk+CjxsaT5Zb3UgaGF2ZSBib3RoIHRoZSA8Yj5iaW5hcnk8L2I+IGFuZCB0aGUgPGI+c291cmNlPC9iPiBUYXBlc3RyeSBkaXN0cmlidXRpb25zIGluc3RhbGxlZAoJCQk8L3VsPgoJCQkKPHA+CkJhc2ljIHNldHVwOiAgVGhlIGRlbW9zIHJlcXVpcmUgc2V2ZXJhbCBleHRlcm5hbCBkZXBlbmRlbmNpZXMgdGhhdCBjYW5ub3QgYmUgZGlzdHJpYnV0ZWQgd2l0aCBUYXBlc3RyeQpiZWNhdXNlIG9mIGxpY2Vuc2luZyBjb25mbGljdHMuICBZb3Ugd2lsbCBuZWVkIG9uZSBvZiB0aGUgZm9sbG93aW5nOgo8dWw+CjxsaT48YSBocmVmPSJodHRwOi8vc2YubmV0L3Byb2plY3RzL2pldHR5Ij5KZXR0eTwvYT4gc2VydmxldCBjb250YWluZXIsIHJlbGVhc2UgNC4yIG9yIGFib3ZlLgo8bGk+PGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy90b21jYXQvaW5kZXguaHRtbCI+VG9tY2F0PC9hPiBzZXJ2bGV0IGNvbnRhaW5lciwgcmVsZWFzZSA0LjEgb3IgYWJvdmUuCjxsaT48YSBocmVmPSJodHRwOi8vd3d3Lmpib3NzLm9yZyI+SkJvc3M8L2E+IGFwcGxpY2F0aW9uIHNlcnZlciwgcmVsZWFzZSAzLjAuNi4gCiAgICAgICAgUnVubmluZyB0aGUgVmlydHVhbCBMaWJyYXJ5IGFwcGxpY2F0aW9uIHJlcXVpcmVzIEpCb3NzLjwvbGk+ICAgICAgICAgCgo8L3VsPgoKPHA+CkluIGVhY2ggY2FzZSB5b3Ugd2lsbCBjcmVhdGUgdGhlIGZpbGUgCjxjb2RlPmNvbmZpZy9idWlsZC5wcm9wZXJ0aWVzPC9jb2RlPgphbmQgcHV0IGFuIDxlbT5hYnNvbHV0ZSBwYXRoPC9lbT4gdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgKG9mIEpldHR5LCBKQm9zcyBvciBUb21jYXQpLgo8Yj5BbHdheXMgdXNlIG9ubHkgZm9yd2FyZCBzbGFzaGVzIGluIHRoZSBwYXRoIG5hbWUuPC9iPgoKPHA+CkEgc2FtcGxlIGZpbGUsIDxjb2RlPmNvbmZpZy9idWlsZC5wcm9wZXJ0aWVzLnRlbXBsYXRlPC9jb2RlPiwgaXMgcHJvdmlkZWQuICBZb3UgbWF5ICBlZGl0CmFuZCByZW5hbWUgdGhpcyBmaWxlLgoKPHA+ClRoZSBidWlsZCBwcm9jZXNzIGRvd25sb2FkcyBhIG51bWJlciBvZiBleHRyYSBmaWxlcyBpbnRvIHRoZQo8Y29kZT5leHQtZGlzdDwvY29kZT4gYW5kIDxjb2RlPmxpYi9leHQ8L2NvZGU+CmRpcmVjdG9yaWVzLiAgU2VlIHRoZSA8QSBocmVmPSJleHQtZGlzdC9SRUFETUUuaHRtbCI+UkVBRE1FLmh0bWw8L2E+IGluIHRoYXQgZGlyZWN0b3J5CmZvciBtb3JlIGRldGFpbHMuCgo8aDM+Q29uZmlndXJpbmcgSkJvc3M8L2gzPgoKPHA+VG8gcnVuIHRoZSBUYXBlc3RyeSBXb3JrYmVuY2ggYW5kIHRoZSBWaXJ0dWFsIExpYnJhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlIAo8YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2pib3NzIj5KQm9zczwvYT4gc2VydmVyOgoJCQk8dWw+CgkJCQk8bGk+RG93bmxvYWQgYW5kIGluc3RhbGwgPGEgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9qYm9zcy9qYm9zcy0zLjAuNi56aXA/ZG93bmxvYWQiPkpCb3NzIDMuMC42PC9hPi4KCQkJCTxicj5KQm9zcyBpcyBhbiBvcGVuLXNvdXJjZSBhcHBsaWNhdGlvbiBzZXJ2ZXIsIHVzZWQgdG8gcnVuIHRoZSBkYXRhYmFzZSBhbmQgRW50ZXJwcmlzZSBKYXZhQmVhbnMgaW4gdGhlIFZpcnR1YWwgTGlicmFyeS4KPHA+PHNwYW4gY2xhc3M9Imh5cGVyLWVtIj5UaGlzIGF1dG8tY29uZmlndXJhdGlvbiByZXF1aXJlcyBKQm9zcyAzLjAuNiBleGFjdGx5LCBub3QgYSBsYXRlciByZWxlYXNlLiAgClRoaXMgb25seSBhZmZlY3RzIHRoZXNlIHR1cm4ta2V5CmRlbW9zLCBub3QgZGVwbG95bWVudCBvZiB5b3VyIG93biBUYXBlc3RyeSBhcHBsaWNhdGlvbnMuPC9zcGFuPjwvcD4KCQkJCTxsaT4KCQkJVXBkYXRlIDxjb2RlPmNvbmZpZy9idWlsZC5wcm9wZXJ0aWVzPC9jb2RlPgoJCQlhbmQgc2V0IHByb3BlcnR5CgkJCTxiPjxjb2RlPmpib3NzLmRpcjwvY29kZT48L2I+CgkJCXRvIHRoZSBhYnNvbHV0ZSBwYXRoIG5hbWUKCQkJb2YgdGhlIEpCb3NzIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkuCgkJCQk8bGk+RG93bmxvYWQgdGhlIGV4dGVybmFsIGRlcGVuZGVuY2llcy4KCQkJCTxsaT5FeGVjdXRlIHRoZSBjb21tYW5kOgoJCQkJPGJyPgoJCQk8Yj48Y29kZT5hbnQgLWVtYWNzIGNvbmZpZ3VyZSBydW4tamJvc3M8L2NvZGU+PC9iPgoJCQkKCQkJPGJyPlRoaXMgd2lsbCBidWlsZCwgY29weSBhbmQgY29uZmlndXJlIHRoZSBuZWNlc3NhcnkgZmlsZXMgaW4gdGhlIEpCb3NzIGluc3RhbGxhdGlvbiBkaXJlY3RvcnksIHRoZW4KcnVuIHRoZSBKQm9zcyBzZXJ2ZXIsIGF1dG9tYXRpY2FsbHkgZGVwbG95aW5nIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9ucy4gCiAoVGhlCgkJCTxjb2RlPi1lbWFjczwvY29kZT4gb3B0aW9uIAogICAgICAgIGNoYW5nZXMgdGhlIEFudCBvdXRwdXQgZm9ybWF0IHRvIGJlIGxlc3MgdmVyYm9zZSkuPC9saT4KCQkJPC91bD4KCQkJCgkJPGJsb2NrcXVvdGU+WW91IGNhbiBub3cgcnVuIHRoZSAKPGEgaHJlZj0iaHR0cDovL2xvY2FsaG9zdC93b3JrYmVuY2giPlRhcGVzdHJ5IFdvcmtiZW5jaDwvYT4Kb3IgdGhlCjxhIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3QiPlZpcnR1YWwgTGlicmFyeTwvYT4gYXBwbGljYXRpb25zLjwvYmxvY2txdW90ZT4KCgo8aDM+Q29uZmlndXJpbmcgSmV0dHk8L2gzPgoKPHA+VG8gcnVuIHRoZSBUYXBlc3RyeSBXb3JrYmVuY2ggYXBwbGljYXRpb24gd2l0aCAKSmV0dHkgc2VydmxldCBjb250YWluZXI6CgkJCTx1bD4KCQkJCTxsaT5PYnRhaW4gYW5kIGluc3RhbGwgYSBjb3B5IG9mIEpldHR5LgoJCQkJPGxpPgoJCQlVcGRhdGUgPGNvZGU+Y29uZmlnL2J1aWxkLnByb3BlcnRpZXM8L2NvZGU+CgkJCWFuZCBzZXQgcHJvcGVydHkKCQkJPGI+PGNvZGU+amV0dHkuZGlyPC9jb2RlPjwvYj4KCQkJdG8gdGhlIGFic29sdXRlIHBhdGggbmFtZQoJCQlvZiB0aGUgSmV0dHkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4KCQoJCQkJPGxpPkV4ZWN1dGUgdGhlIGNvbW1hbmQ6CgkJCQk8YnI+CgkJCQk8Yj4KCQkJPGNvZGU+YW50IC1lbWFjcyBydW4td29ya2JlbmNoPC9jb2RlPjwvYj48YnI+VGhpcyB3aWxsIHJ1biB0aGUgZW1iZWRkZWQgCgkJCUpldHR5IHNlcnZlci4gCgkJCTxicj48L2xpPgoJCQk8L3VsPgoJCQkKCQk8YmxvY2txdW90ZT5Zb3UgY2FuIG5vdyBydW4gdGhlIAo8YSBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwODAvd29ya2JlbmNoIj5UYXBlc3RyeSBXb3JrYmVuY2g8L2E+IGFwcGxpY2F0aW9uLgo8L2Jsb2NrcXVvdGU+CgoJCQk8aDM+Q29uZmlndXJpbmcgVG9tY2F0PC9oMz4KCQkJCjxwPlRvIGRlcGxveSB0aGUgVGFwZXN0cnkgV29ya2JlbmNoIGFwcGxpY2F0aW9uIG9udG8gYW4gZXhpc3RpbmcgClRvbWNhdCBpbnN0YWxsYXRpb246Cgo8cD5UbyBydW4gdGhlIFRhcGVzdHJ5IFdvcmtiZW5jaCBhcHBsaWNhdGlvbiB3aXRoIApUb21jYXQgc2VydmxldCBjb250YWluZXI6CgkJCTx1bD4KCQkJCTxsaT5PYnRhaW4gYW5kIGluc3RhbGwgYSBjb3B5IG9mIFRvbWNhdC4KCQkJCTxsaT4KCQkJVXBkYXRlIDxjb2RlPmNvbmZpZy9idWlsZC5wcm9wZXJ0aWVzPC9jb2RlPgoJCQlhbmQgc2V0IHByb3BlcnR5CgkJCTxiPjxjb2RlPnRvbWNhdC5kaXI8L2NvZGU+PC9iPgoJCQl0byB0aGUgYWJzb2x1dGUgcGF0aCBuYW1lCgkJCW9mIHRoZSBUb21jYXQgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwgZm9yIGV4YW1wbGUgPGNvZGU+QzovUHJvZ3JhbSBGaWxlcy9BcGFjaGUgR3JvdXAvVG9tY2F0IDQuMTwvY29kZT4uCgoJCQkJPGxpPkV4ZWN1dGUgdGhlIGNvbW1hbmQ6CgkJCQk8YnI+CgkJCQk8Yj4KCQkJPGNvZGU+YW50IC1lbWFjcyBkZXBsb3ktdG9tY2F0PC9jb2RlPjwvYj4KCQkJCgkJCTxicj5UaGlzIHdpbGwgZGVwbG95IHRoZSBXb3JrYmVuY2ggYXBwbGljYXRpb24gaW50byBUb21jYXQuICBJZiBUb21jYXQgaXMgcnVubmluZywgeW91IHdpbGwKCQkJYmUgYWJsZSB0byBhY2Nlc3MgdGhlIGFwcGxpY2F0aW9uIGltbWVkaWF0ZWx5LiAKCQkJPGJyPjwvbGk+CgkJCTwvdWw+CgkJCQoJCTxibG9ja3F1b3RlPllvdSBjYW4gdGhlbiBydW4gdGhlIAo8YSBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwODAvd29ya2JlbmNoIj5UYXBlc3RyeSBXb3JrYmVuY2g8L2E+IGFwcGxpY2F0aW9uLgo8L2Jsb2NrcXVvdGU+Cgo8YnI+PGJyPi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uPGJyPjxicj4KPGgyPkJ1aWxkaW5nIGZyb20gU291cmNlPC9oMj4KCjxwPgpUaGUgc291cmNlIGRpc3RyaWJ1dGlvbiBpbmNsdWRlcyB0aGUgc291cmNlIGNvZGUgZm9yIHRoZSBmcmFtZXdvcmsgYW5kIHRoZSBjb250cmliIGxpYnJhcnkuIFlvdSBzaG91bGQgZXh0cmFjdAp0aGUgc291cmNlIGRpc3RyaWJ1dGlvbiB0byB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGhlIGJpbmFyeSBkaXN0cmlidXRpb24uCllvdSBtYXkgdGhlbiBleGVjdXRlIDxiPjxjb2RlPmFudCBpbnN0YWxsPC9jb2RlPjwvYj4gdG8gY29tcGlsZSBhbGwgdGhlIGZyYW1ld29ya3MgYW5kIGV4YW1wbGVzLgpCdWlsZGluZyBkb2N1bWVudGF0aW9uIGFuZCBydW5uaW5nIHRoZSB1bml0IHRlc3RzIHJlcXVpcmVzIHNvbWUgYWRkaXRpb25hbApzZXR1cCB0aGF0IGlzIGRpc2N1c3NlZCBpbgp0aGUgPEEgaHJlZj0id2ViL2RvYy9Db250cmlidXRvcnNHdWlkZS9Db250cmlidXRvcnNHdWlkZS5odG1sIj5UYXBlc3RyeSBDb250cmlidXRvcidzIEd1aWRlPC9BPi4KPC9wPgoJCQkKPGJyPjxicj4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLjxicj48YnI+CjxoMj5Eb2N1bWVudGF0aW9uPC9oMj4KCkEgY29tcGxldGUgc2V0IG9mIDxhIGhyZWY9IndlYi9kb2MuaHRtbCI+ZG9jdW1lbnRhdGlvbjwvYT4gaXMgZGlzdHJpYnV0ZWQgd2l0aCBUYXBlc3RyeS4KCgoJCTxicj48YnI+CgkJLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCQk8YnI+PGJyPgoKPHA+VGFwZXN0cnkgaXMgYW4gb3BlbiBzb3VyY2UgcHJvamVjdCwgaG9zdGVkIGJ5CiA8YSBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnIj5UaGUgSmFrYXJ0YSBQcm9qZWN0PC9hPiAKICAgICAgIGFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMKb2YgdGhlIDxBIGhyZWY9IkxJQ0VOU0UtMi4wLnR4dCI+QXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wPC9BPi48L3A+PC90ZD48L3RyPjwvdGFibGU+Cgo8cD4KPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZyI+PElNRyBhbHQ9Ikpha2FydGEgQmFubmVyIiBzcmM9IndlYi9pbWFnZXMvamFrYXJ0YS5wbmciIGJvcmRlcj0wID48L2E+Cjxicj6pIAoyMDAzLTIwMDQgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uPC9wPiAgICAKCgo8L2JvZHk+Cgo8L2h0bWw+Cgo=