PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZW4tdXMiPgo8bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBGcm9udFBhZ2UgNS4wIj4KPG1ldGEgbmFtZT0iUHJvZ0lkIiBjb250ZW50PSJGcm9udFBhZ2UuRWRpdG9yLkRvY3VtZW50Ij4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KPHRpdGxlPkZpbGVzeXN0ZW0gRkFRPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vLi4vLi4vLi4vZG9jL3NyYy9taW5pbWFsLmNzcyI+CjwvaGVhZD4KCjxib2R5PgoKPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSIgYm9yZGVyY29sb3I9IiMxMTExMTEiPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iMjc3Ij4KPGEgaHJlZj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtIj4KPGltZyBzcmM9Ii4uLy4uLy4uLy4uL2Jvb3N0LnBuZyIgYWx0PSJib29zdC5wbmcgKDY4OTcgYnl0ZXMpIiBhbGlnbj0ibWlkZGxlIiB3aWR0aD0iMzAwIiBoZWlnaHQ9Ijg2IiBib3JkZXI9IjAiPjwvYT48L3RkPgogICAgPHRkIGFsaWduPSJtaWRkbGUiPgogICAgPGZvbnQgc2l6ZT0iNyI+RmlsZXN5c3RlbSBGQVE8L2ZvbnQ+CiAgICA8L3RkPgogIDwvdHI+CjwvdGFibGU+Cgo8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlIiBib3JkZXJjb2xvcj0iIzExMTExMSIgYmdjb2xvcj0iI0Q3RUVGRiIgd2lkdGg9IjEwMCUiPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuLi8uLi8uLi8uLi9pbmRleC5odG0iPkJvb3N0IEhvbWU8L2E+ICZuYnNwOyZuYnNwOwogICAgPGEgaHJlZj0iaW5kZXguaHRtIj5MaWJyYXJ5IEhvbWU8L2E+ICZuYnNwOyZuYnNwOwogICAgPGEgaHJlZj0icmVmZXJlbmNlLmh0bWwiPlJlZmVyZW5jZTwvYT4gJm5ic3A7Jm5ic3A7CiAgICA8YSBocmVmPSJ0dXRvcmlhbC5odG1sIj5UdXRvcmlhbDwvYT4gJm5ic3A7Jm5ic3A7CiAgICA8YSBocmVmPSJmYXEuaHRtIj5GQVE8L2E+ICZuYnNwOyZuYnNwOwogICAgPGEgaHJlZj0icG9ydGFiaWxpdHlfZ3VpZGUuaHRtIj5Qb3J0YWJpbGl0eTwvYT4gJm5ic3A7Jm5ic3A7CiAgICA8YSBocmVmPSJ2My5odG1sIj5WMyBJbnRybzwvYT4gJm5ic3A7Jm5ic3A7CiAgICA8YSBocmVmPSJ2M19kZXNpZ24uaHRtbCI+VjMgRGVzaWduPC9hPiAmbmJzcDsmbmJzcDsKICAgIDxhIGhyZWY9ImRlcHJlY2F0ZWQuaHRtbCI+RGVwcmVjYXRlZDwvYT4gJm5ic3A7Jm5ic3A7CiAgICA8L3RkPgogIDwvdHI+CjwvdGFibGU+Cgo8aDEgZGlyPSJsdHIiPgpGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczwvaDE+CjxoMj5HZW5lcmFsIHF1ZXN0aW9uczwvaDI+CjxwPjxiPldoeSBub3Qgc3VwcG9ydCBhICBjb25jZXB0IG9mIHNwZWNpZmljIGtpbmRzIG9mIGZpbGUgc3lzdGVtcywgc3VjaCBhcyBwb3NpeF9maWxlX3N5c3RlbSBvciB3aW5kb3dzX2ZpbGVfc3lzdGVtLjwvYj48L3A+CjxwPlBvcnRhYmlsaXR5IGlzIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgcmVxdWlyZW1lbnRzIGZvciB0aGUgCmxpYnJhcnkuJm5ic3A7RmVhdHVyZXMgc3BlY2lmaWMgdG8gYSBwYXJ0aWN1bGFyIG9wZXJhdGluZyBzeXN0ZW0gb3IgZmlsZSBzeXN0ZW0gCmNhbiBhbHdheXMgYmUgYWNjZXNzZWQgYnkgdXNpbmcgdGhlIG9wZXJhdGluZyBzeXN0ZW0ncyBBUEkuPC9wPgoKPGgyIGRpcj0ibHRyIj4KQ2xhc3MgPGNvZGU+PGZvbnQgc2l6ZT0iNiI+cGF0aDwvZm9udD48L2NvZGU+IHF1ZXN0aW9ucyA8L2gyPgo8cD48Yj5XaHkgYmFzZSB0aGUgZ2VuZXJpYyBwYXRobmFtZSBmb3JtYXQgb24gUE9TSVg/PC9iPjwvcD4KPHA+PGEgaHJlZj0iZGVzaWduLmh0bSNQT1NJWC0wMSI+UE9TSVg8L2E+IGlzIGFuIElTTyBTdGFuZGFyZC4gSXQgaXMgdGhlIGJhc2lzIGZvciB0aGUgbW9zdCBmYW1pbGlhciAKcGF0aG5hbWUgZm9ybWF0cywgCm5vdCBqdXN0IGZvciBQT1NJWC1iYXNlZCBvcGVyYXRpbmcgc3lzdGVtcyBidXQgYWxzbyBmb3IgV2luZG93cyAgYW5kIHRoZSAKVVJMIHBvcnRpb24gb2YgVVJJJ3MuIEl0IGlzIHViaXF1aXRvdXMgYW5kIApmYW1pbGlhci4mbmJzcDsgT24gbWFueSBzeXN0ZW1zLCBpdCBpcyB2ZXJ5IGVhc3kgdG8gaW1wbGVtZW50IGJlY2F1c2UgaXQgaXMgCmVpdGhlciB0aGUgbmF0aXZlIG9wZXJhdGluZyBzeXN0ZW0gZm9ybWF0IChVbml4IGFuZCBXaW5kb3dzKSBvciB2aWEgYSAKb3BlcmF0aW5nIHN5c3RlbSBzdXBwbGllZCAKUE9TSVggbGlicmFyeSAoei9PUywgT1MvMzkwLCBhbmQgbWFueSBtb3JlLik8L3A+CjxwPjxiPldoeSBub3QgdXNlIGEgZnVsbCBVUkkgKFVuaXZlcnNhbCBSZXNvdXJjZSBJZGVudGlmaWVyKSBiYXNlZCBwYXRoPzwvYj48L3A+CjxwPjxhIGhyZWY9ImRlc2lnbi5odG0jVVJJIj5VUkknczwvYT4gd291bGQgcHJvbWlzZSBtb3JlIHRoYW4gdGhlIEZpbGVzeXN0ZW0gTGlicmFyeSBjYW4gYWN0dWFsbHkgZGVsaXZlciwgCnNpbmNlIFVSSSdzIGV4dGVuZCBmYXIgYmV5b25kIHdoYXQgbW9zdCBvcGVyYXRpbmcgc3lzdGVtcyBjb25zaWRlciBhIGZpbGUgb3IgYSAKZGlyZWN0b3J5LiZuYnNwOyBUaHVzIGZvciB0aGUgcHJpbWFyeSAmcXVvdDtwb3J0YWJsZSBzY3JpcHQtc3R5bGUgZmlsZSBzeXN0ZW0gCm9wZXJhdGlvbnMmcXVvdDsgcmVxdWlyZW1lbnQgb2YgdGhlIEZpbGVzeXN0ZW0gTGlicmFyeSwgZnVsbCBVUkkncyBhcHBlYXIgdG8gYmUgb3Zlci1zcGVjaWZpY2F0aW9uLjwvcD4KPHA+PGI+V2h5IGlzbid0IDxpPnBhdGg8L2k+IGEgYmFzZSBjbGFzcyB3aXRoIGRlcml2ZWQgPGk+ZGlyZWN0b3J5X3BhdGg8L2k+IGFuZAo8aT5maWxlX3BhdGg8L2k+IGNsYXNzZXM/PC9iPjwvcD4KPHA+V2h5IGJvdGhlcj8mbmJzcDsgVGhlIGJlaGF2aW9yIG9mIGFsbCB0aHJlZSBjbGFzc2VzIGlzIGVzc2VudGlhbGx5IGlkZW50aWNhbC4gClNldmVyYWwgZWFybHkgdmVyc2lvbnMgZGlkIHJlcXVpcmUgdXNlcnMgdG8gaWRlbnRpZnkgZWFjaCBwYXRoIGFzIGEgZmlsZSBvciAKZGlyZWN0b3J5IHBhdGgsIGFuZCB0aGlzIHNlZW1lZCB0byBpbmNyZWFzZSBjb2RpbmcgZXJyb3JzIGFuZCBkZWNyZWFzZSBjb2RlIApyZWFkYWJpbGl0eS4gVGhlcmUgd2FzIG5vIGFwcGFyZW50IHVwc2lkZSBiZW5lZml0LjwvcD4KPHA+PGI+V2h5IGRvIHBhdGggZGVjb21wb3NpdGlvbiBmdW5jdGlvbnMgeWllbGRpbmcgYSBzaW5nbGUgZWxlbWVudCByZXR1cm4gYSAKcGF0aCByYXRoZXIgdGhhbiBhIHN0cmluZz88L2I+PC9wPgo8cD5JbnRlcmZhY2Ugc2ltcGxpY2l0eS4gSWYgdGhleSByZXR1cm5lZCBzdHJpbmdzLCBmbGF2b3JzIHdvdWxkIGJlIG5lZWRlZCBmb3IKPGNvZGU+c3RyaW5nPC9jb2RlPiwgPGNvZGU+d3N0cmluZzwvY29kZT4sIDxjb2RlPnUxNnN0cmluZzwvY29kZT4sIDxjb2RlPgp1MzJzdHJpbmc8L2NvZGU+LCBhbmQgZ2VuZXJpYyBzdHJpbmdzLjwvcD4KPHA+PGI+V2h5IGRvbid0IHBhdGggbWVtYmVyIGZ1bmN0aW9ucyBoYXZlIG92ZXJsb2FkcyB3aXRoIGVycm9yX2NvZGUmYW1wOyBhcmd1bWVudHM/PC9iPjwvcD4KPHA+VGhleSBoYXZlIG5vdCBiZWVuIHJlcXVlc3RlZCBieSB1c2VyczsgdGhlIG5lZWQgZm9yIGVycm9yIHJlcG9ydGluZyB2aWEgCmVycm9yX2NvZGUgc2VlbXMgbGltaXRlZCB0byBvcGVyYXRpb25zIGZhaWx1cmVzIHJhdGhlciB0aGFuIHBhdGggZmFpbHVyZXMuPC9wPgo8aDI+T3BlcmF0aW9ucyBmdW5jdGlvbiBxdWVzdGlvbnM8L2gyPgo8cD48Yj5XaHkgbm90IHN1cHBseSBhICdoYW5kbGUnIHR5cGUsIGFuZCBsZXQgdGhlIGZpbGUgYW5kIGRpcmVjdG9yeSBvcGVyYXRpb25zIAp0cmFmZmljIGluIGl0PzwvYj48L3A+CjxwPkl0IGlzbid0IGNsZWFyIHRoZXJlIGlzIGFueSBmZWFzaWJsZSB3YXkgdG8gbWVldCB0aGUgJnF1b3Q7cG9ydGFibGUgc2NyaXB0LXN0eWxlIApmaWxlIHN5c3RlbSBvcGVyYXRpb25zJnF1b3Q7IHJlcXVpcmVtZW50IHdpdGggc3VjaCBhIHN5c3RlbS4gRmlsZSBzeXN0ZW1zIGV4aXN0IHdoZXJlIG9wZXJhdGlvbnMgYXJlIHVzdWFsbHkgcGVyZm9ybWVkIG9uIAogIHNvbWUgbm9uLXN0cmluZyBoYW5kbGUgdHlwZS4gVGhlIGNsYXNzaWMgTWFjIE9TIGhhcyBiZWVuIG1lbnRpb25lZCBleHBsaWNpdGx5IGFzIGEgY2FzZSB3aGVyZSAKdHJhZmZpY2tpbmcgaW4gcGF0aHMgaXNuJ3QgYWx3YXlzIG5hdHVyYWwuJm5ic3A7Jm5ic3A7Jm5ic3A7IDwvcD4KPHA+VGhlIGNhc2UgZm9yIHRoZSAmcXVvdDtoYW5kbGUmcXVvdDsgKG9wYXF1ZSBkYXRhIHR5cGUgdG8gaWRlbnRpZnkgYSBmaWxlKSAKc3R5bGUgbWF5IGJlIHN0cm9uZ2VzdCBmb3IgZGlyZWN0b3J5IGl0ZXJhdG9yIHZhbHVlIHR5cGUuJm5ic3A7IChTZWUgSmVzc2UgSm9uZXMnIEphbiAyOCwgCjIwMDIsIEJvb3N0IHBvc3RpbmdzKS4gSG93ZXZlciwgYXMgY2xhc3MgcGF0aCBoYXMgZXZvbHZlZCwgaXQgc2VlbXMgc3VmZmljaWVudCAKZXZlbiBhcyB0aGUgZGlyZWN0b3J5IGl0ZXJhdG9yIHZhbHVlIHR5cGUuPC9wPgo8cD48Yj5XaHkgYXJlIHRoZSBvcGVyYXRpb25zIGZ1bmN0aW9ucyBzbyBsb3ctbGV2ZWw/PC9iPjwvcD4KPHA+VG8gcHJvdmlkZSBhIHRvb2xraXQgZnJvbSB3aGljaCBoaWdoZXItbGV2ZWwgZnVuY3Rpb25hbGl0eSBjYW4gYmUgY3JlYXRlZC48L3A+CjxwPkFuIApleHRlbmRlZCBhdHRlbXB0IHRvIGFkZCBjb252ZW5pZW5jZSBmdW5jdGlvbnMgb24gdG9wIG9mLCBvciBhcyBhIHJlcGxhY2VtZW50IApmb3IsIHRoZSBsb3ctbGV2ZWwgZnVuY3Rpb25hbGl0eSBmYWlsZWQgYmVjYXVzZSB0aGVyZSBpcyBubyB3aWRlbHkgYWNjZXB0YWJsZSAKc2V0IG9mIHNpbXBsZSBzZW1hbnRpY3MgZm9yIG1vc3QgY29udmVuaWVuY2UgZnVuY3Rpb25zIGNvbnNpZGVyZWQuJm5ic3A7IApBdHRlbXB0cyB0byBwcm92aWRlIGFsdGVybmF0ZSBzZW1hbnRpY3MgdmlhIGVpdGhlciBydW4tdGltZSBvcHRpb25zIG9yIApjb21waWxlLXRpbWUgcG9saWNlcyBiZWNhbWUgb3Zlcmx5IGNvbXBsaWNhdGVkIGluIHJlbGF0aW9uIHRvIHRoZSB2YWx1ZSAKZGVsaXZlcmVkLCBvciBiZWNhbWUgY29udGVudGlvdXMuJm5ic3A7IE9UT0gsIHRoZSBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5IG5lZWRlZCBmb3Igc2V2ZXJhbCB0cmlhbCAKYXBwbGljYXRpb25zIHdhcyB2ZXJ5IGVhc3kgZm9yIHRoZSB1c2VyIHRvIGNvbnN0cnVjdCBmcm9tIHRoZSBsb3dlci1sZXZlbCAKdG9vbGtpdCBmdW5jdGlvbnMuJm5ic3A7IFNlZSA8YSBocmVmPSJkZXNpZ24uaHRtI0FiYW5kb25lZF9EZXNpZ25zIj5GYWlsZWQgCkF0dGVtcHRzPC9hPi48L3A+CjxwPjxiPklzbid0IGl0IGluY29uc2lzdGVudCB0aGVuIHRvIHByb3ZpZGUgYSBmZXcgY29udmVuaWVuY2UgZnVuY3Rpb25zPzwvYj48L3A+CjxwPlllcywgYnV0IGV4cGVyaWVuY2Ugd2l0aCBib3RoIHRoaXMgbGlicmFyeSwgUE9TSVgsIGFuZCBXaW5kb3dzLCBpbmRpY2F0ZXMgCnRoZSB1dGlsaXR5IG9mIGNlcnRhaW4gY29udmVuaWVuY2UgZnVuY3Rpb25zLCBhbmQgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBwcm92aWRlIApzaW1wbGUsIHlldCB3aWRlbHkgYWNjZXB0YWJsZSwgc2VtYW50aWNzIGZvciB0aGVtLiBGb3IgZXhhbXBsZSwgPGNvZGU+cmVtb3ZlX2FsbCgpPC9jb2RlPi48L3A+CjxwPjxiPldoeSBhcmUgdGhlcmUgZGlyZWN0b3J5X2l0ZXJhdG9yIG92ZXJsb2FkcyBmb3Igb3BlcmF0aW9ucy5ocHAgCnByZWRpY2F0ZSBmdW5jdGlvbnM/IElzbid0IHR3byB3YXlzIHRvIGRvIHRoZSBzYW1lIHRoaW5nIHBvb3IgZGVzaWduPzwvYj48L3A+CjxwPlllcywgdHdvIHdheXMgdG8gZG8gdGhlIHNhbWUgdGhpbmcgaXMgb2Z0ZW4gYSBwb29yIGRlc2lnbiBwcmFjdGljZS4gQnV0IHRoZSAKaXRlcmF0b3IgdmVyc2lvbnMgYXJlIG9mdGVuIG11Y2ggbW9yZSBlZmZpY2llbnQuIENhbGxpbmcgc3RhdHVzKCkgZHVyaW5nIAppdGVyYXRpb24gb3ZlciBhIGRpcmVjdG9yeSBjb250YWluaW5nIDE1LDAwMCBmaWxlcyB0b29rIDYgc2Vjb25kcyBmb3IgdGhlIHBhdGggCm92ZXJsb2FkLCBhbmQgMSBzZWNvbmQgZm9yIHRoZSBpdGVyYXRvciBvdmVybG9hZCwgZm9yIHRlc3RzIG9uIGEgZnJlc2hseSBib290ZWQgCm1hY2hpbmUuIFRpbWVzIHdlcmUgLjkwIHNlY29uZHMgYW5kIC4zMCBzZWNvbmRzLCBmb3IgdGVzdHMgYWZ0ZXIgcHJpb3IgdXNlIG9mIAp0aGUgZGlyZWN0b3J5LiBUaGlzIHBlcmZvcm1hbmNlIGdhaW4gaXMgbGFyZ2UgZW5vdWdoIHRvIGp1c3RpZnkgZGV2aWF0aW5nIGZyb20gCnByZWZlcnJlZCBkZXNpZ24gcHJhY3RpY2VzLiBOZWl0aGVyIG92ZXJsb2FkIGFsb25lIG1lZXRzIGFsbCBuZWVkcy48L3A+CjxwPjxiPldoeSBhcmUgdGhlIG9wZXJhdGlvbnMgZnVuY3Rpb25zIHNvIHBpY2t5IGFib3V0IGVycm9ycz88L2I+PC9wPgo8cD5TYWZldHkuIFRoZSBkZWZhdWx0IGlzIHRvIGJlIHNhZmUgcmF0aGVyIHRoYW4gc29ycnkuIFRoaXMgaXMgcGFydGljdWxhcmx5IAppbXBvcnRhbnQgZ2l2ZW4gdGhlIHJlYWxpdHkgdGhhdCBvbiBtYW55IGNvbXB1dGVyIHN5c3RlbXMgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIAphcmUgZ2xvYmFsbHkgc2hhcmVkIHJlc291cmNlcywgYW5kIHRodXMgc3ViamVjdCB0byAKcmFjZSBjb25kaXRpb25zLjwvcD4KPHA+PGI+V2h5IGFyZSBhdHRyaWJ1dGVzIGFjY2Vzc2VkIHZpYSBuYW1lZCBmdW5jdGlvbnMgcmF0aGVyIHRoYW4gcHJvcGVydHkgbWFwcz88L2I+PC9wPgo8cD5Gb3IgIGNvbW1vbmx5IHVzZWQgYXR0cmlidXRlcyAoZXhpc3RlbmNlLCBkaXJlY3Rvcnkgb3IgZmlsZSwgZW1wdGluZXNzKSwgCnNpbXBsZSBzeW50YXggYW5kIGd1YXJhbnRlZWQgcHJlc2VuY2Ugb3V0d2VpZ2ggb3RoZXIgY29uc2lkZXJhdGlvbnMuIEJlY2F1c2UgCmFjY2VzcyB0byBtYW55IG90aGVyIGF0dHJpYnV0ZXMgaXMgaW5oZXJlbnRseSBzeXN0ZW0gZGVwZW5kZW50LCAKcHJvcGVydHkgbWFwcyBhcmUgdmlld2VkIGFzIHRoZSBiZXN0IGhvcGUgZm9yIGFjY2VzcyBhbmQgbW9kaWZpY2F0aW9uLCBidXQgaXQgaXMgCmJldHRlciBkZXNpZ24gdG8gcHJvdmlkZSBzdWNoIGZ1bmN0aW9uYWxpdHkgaW4gYSBzZXBhcmF0ZSBsaWJyYXJ5LiAoSGlzdG9yaWNhbCAKbm90ZTogZXZlbiB0aGUgYXBwYXJlbnRseSBzaW1wbGUgYXR0cmlidXRlICZxdW90O3JlYWQtb25seSZxdW90OyB0dXJuZWQgb3V0IHRvIGJlIHNvIApzeXN0ZW0gZGVwZW5kIGFzIHRvIGJlIGRpc3F1YWxpZmllZCBhcyBhICZxdW90O2d1YXJhbnRlZWQgcHJlc2VuY2UmcXVvdDsgb3BlcmF0aW9uLik8L3A+CjxwPjxiPldoeSBpc24ndCBhdXRvbWF0aWMgbmFtZSBwb3J0YWJpbGl0eSBlcnJvciBkZXRlY3Rpb24gcHJvdmlkZWQ/PC9iPjwvcD4KPHA+QSBudW1iZXIgKGF0IGxlYXN0IHNpeCkgb2YgZGVzaWducyBmb3IgIG5hbWUgdmFsaWRpdHkgZXJyb3IgCmRldGVjdGlvbiB3ZXJlIGV2YWx1YXRlZCwgaW5jbHVkaW5nIGF0IGxlYXN0IGZvdXIgY29tcGxldGUgaW1wbGVtZW50YXRpb25zLiZuYnNwOyAKV2hpbGUgdGhlIGRldGFpbHMgZm9yIHJlamVjdGlvbiBkaWZmZXJlZCwgYWxsIG9mIHRoZSBtb3JlIHBvd2VyZnVsIG5hbWUgdmFsaWRpdHkgY2hlY2tpbmcgCmRlc2lnbnMgZGlzdG9ydGVkIG90aGVyIApvdGhlcndpc2Ugc2ltcGxlIGFzcGVjdHMgb2YgdGhlIGxpYnJhcnkuIEV2ZW4gdGhlIHNpbXBsZSBuYW1lIGNoZWNraW5nIHByb3ZpZGVkIAppbiBwcmlvciBsaWJyYXJ5IHZlcnNpb25zIHdhcyBhIGNvbnN0YW50IHNvdXJjZSBvZiB1c2VyIGNvbXBsYWludHMuIFdoaWxlIG5hbWUgY2hlY2tpbmcgY2FuIGJlIGhlbHBmdWwsIGl0IAppc24ndCBpbXBvcnRhbnQgZW5vdWdoIHRvIGp1c3RpZnkgYWRkZWQgYSBsb3Qgb2YgYWRkaXRpb25hbCBjb21wbGV4aXR5LjwvcD4KPHA+PGI+V2h5IGFyZSBwYXRocyBzb21ldGltZXMgbWFuaXB1bGF0ZWQgYnkgbWVtYmVyIGZ1bmN0aW9ucyBhbmQgc29tZXRpbWVzIGJ5IApub24tbWVtYmVyIGZ1bmN0aW9ucz88L2I+PC9wPgo8cD5UaGUgZGVzaWduIHJ1bGUgaXMgdGhhdCBwdXJlbHkgbGV4aWNhbCBvcGVyYXRpb25zIGFyZSBzdXBwbGllZCBhcyA8aT5jbGFzcyAKcGF0aDwvaT4gbWVtYmVyIApmdW5jdGlvbnMsIHdoaWxlIG9wZXJhdGlvbnMgcGVyZm9ybWVkIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFyZSBwcm92aWRlZCBhcyAKZnJlZSBmdW5jdGlvbnMuPC9wPgo8aHI+CjxwPlJldmlzZWQKPCEtLXdlYmJvdCBib3Q9IlRpbWVzdGFtcCIgUy1UeXBlPSJFRElURUQiIFMtRm9ybWF0PSIlZCAlQiwgJVkiIHN0YXJ0c3BhbiAtLT4xNyBGZWJydWFyeSwgMjAxMDwhLS13ZWJib3QgYm90PSJUaW1lc3RhbXAiIGVuZHNwYW4gaS1jaGVja3N1bT0iNDA1MzYiIC0tPjwvcD4KPHA+qSBDb3B5cmlnaHQgQmVtYW4gRGF3ZXMsIDIwMDI8L3A+CjxwPiBVc2UsIG1vZGlmaWNhdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgCkxpY2Vuc2UsIFZlcnNpb24gMS4wLiBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij4Kd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+PC9wPg==