It is 1880. The American Civil War has raged for nearly two decades, driving technology in strange and terrible directions. Combat dirigibles skulk across the sky and armored vehicles crawl along the land. Military scientists twist the laws of man and nature, and barter their souls for weapons powered by light, fire, and steam.
But life struggles forward for soldiers and ordinary citizens. The fractured nation is dotted with stricken towns and epic scenes of devastation—some manmade, and some more mysterious. In the western territories cities are swallowed by gas and walled away to rot while the frontiers are strip-mined for resources. On the borders between North and South, spies scour and scheme, and smugglers build economies more stable than their governments.
This is the Clockwork Century. It is dark here, and different.
Includes Clockwork Century 1-5 and 1 short story.
Audio Sample Player
Social Media Share Widgets
Purchase Options
Format Information
ALL DOWNLOAD FORMATS INCLUDE LISTENING TO THE TITLE IN GRAPHICAUDIO ACCESS™ APP ON ANDROID AND APPLE IOS DEVICES! LEARN MORE.
GraphicAudio is available in various high quality digital audio formats.
Listen with Access App Only - Download our app for Apple iOS & Android. App Device Compatibility: Android phones with OS 5 or later and iPhone, iPad, and iPod touch with iOS 9.0 or later. The Access App Only option does not include a zip download.
MP3 (256kbps) - Download the zip file and Play with any media player. You also get to Listen with GraphicAudio Access App. This is the most common audio download format that will play on any computer or media player. The average size of this download will be around 600 MB.
M4B (256kbps) - Download the zip file and Play with Apple Music, iPhone, iPod and iPad. You also get to Listen with GraphicAudio Access App. This format will work only in iTunes, Quicktime, on a Mac computer, or on an iOS device such as iPhone or iPad. M4B's have the ability to bookmark in some audio apps. The M4B download is one complete file, so it is not split up into smaller parts. The average size of this download will be around 600 MB.
FLAC (16 bit / 44.1 khz) - Download the zip file and Play with VLC or other high quality audio software. You also get to Listen with GraphicAudio Access App. This a studio-quality lossless digital audio format. This means that it does not lose data like other types of compressed audio files. Lossless compression still retains low-level resolution of a standard CD. The advantage of FLAC is that it takes up less room on your computer than an WAV (CD files). The average size of this download will be around 2,000 MB (2 GB).
FLAC 5.1 SURROUND (16 bit / 44.1 khz) - Download the zip file and Play with 5.1 Surround Sound Home Theater systems or other high quality surround sound audio software. You also get to listen to stereo version with the GraphicAudio Access App. The average size of this download will be around 4,500 MB (4.5 GB).
How do I un-zip my download?
When you download the file, it arrives on your computer in a compressed format called zip. Before you can add the audio files to your library and listen to it, you'll need to decompress, or "unzip" it. Doing so is very easy: If you're on a PC, right-click the file and choose Extract All... You're done. If you're on a Mac, double-click the file and it extracts into a separate folder next to where the other file is located.
My zip download says it's expired. What now?
Click here to send a customer support ticket to us. Please include the order number if you have it.
6 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxOTMtMTA5ODA1ODkzNCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dNVG9nUW05dVpYTm9ZV3RsY2c9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9jL2wvY2xvY2t3b3JrX2NlbnR1cnlfMV9ib25lc2hha2VyXzJfMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkNsb2Nrd29yayYjeDIwO0NlbnR1cnkmI3gyMDsxJiN4M0E7JiN4MjA7Qm9uZXNoYWtlciIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxOTMtMTA5ODA1ODkzNCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxOTMtMTA5ODA1ODkzNCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTkzLTEwOTgwNTg5MzQiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTkzLTEwOTgwNTg5MzQgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkNsb2Nrd29yayBDZW50dXJ5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjEgOjwvc3Bhbj4gICAgICAgICAgICAgICAgQm9uZXNoYWtlciAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQ2hlcmllIFByaWVzdDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE1heSAxLCAyMDE0ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDggSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SW4gdGhlIGVhcmx5IGRheXMgb2YgdGhlIENpdmlsIFdhciwgcnVtb3JzIG9mIGdvbGQgaW4gdGhlIGZyb3plbiBLbG9uZGlrZSBicm91Z2h0IGhvcmRlcyBvZiBuZXdjb21lcnMgdG8gdGhlIFBhY2lmaWMgTm9ydGh3ZXN0LiBBbnhpb3VzIHRvIGNvbXBldGUsIFJ1c3NpYW4gcHJvc3BlY3RvcnMgY29tbWlzc2lvbmVkIGludmVudG9yIExldml0aWN1cyBCbHVlIHRvIGNyZWF0ZSBhIGdyZWF0IG1hY2hpbmUgdGhhdCBjb3VsZCBtaW5lIHRocm91Z2ggQWxhc2th4oCZcyBpY2UuIFRodXMgd2FzIERyLiBCbHVl4oCZcyBJbmNyZWRpYmxlIEJvbmUtU2hha2luZyBEcmlsbCBFbmdpbmUgYm9ybi48YnIgLz4NCjxiciAvPg0KQnV0IG9uIGl0cyBmaXJzdCB0ZXN0IHJ1biB0aGUgQm9uZXNoYWtlciB3ZW50IHRlcnJpYmx5IGF3cnksIGRlc3Ryb3lpbmcgc2V2ZXJhbCBibG9ja3Mgb2YgZG93bnRvd24gU2VhdHRsZSBhbmQgdW5lYXJ0aGluZyBhIHN1YnRlcnJhbmVhbiB2ZWluIG9mIGJsaWdodCBnYXMgdGhhdCB0dXJuZWQgYW55b25lIHdobyBicmVhdGhlZCBpdCBpbnRvIHRoZSBsaXZpbmcgZGVhZC48YnIgLz4NCjxiciAvPg0KTm93IGl0IGlzIHNpeHRlZW4geWVhcnMgbGF0ZXIsIGFuZCBhIHdhbGwgaGFzIGJlZW4gYnVpbHQgdG8gZW5jbG9zZSB0aGUgZGV2YXN0YXRlZCBhbmQgdG94aWMgY2l0eS4gSnVzdCBiZXlvbmQgaXQgbGl2ZXMgQmx1ZeKAmXMgd2lkb3csIEJyaWFyIFdpbGtlcy4gTGlmZSBpcyBoYXJkIHdpdGggYSBydWluZWQgcmVwdXRhdGlvbiBhbmQgYSB0ZWVuYWdlZCBib3kgdG8gc3VwcG9ydCwgYnV0IHNoZSBhbmQgRXpla2llbCBhcmUgbWFuYWdpbmcuIFVudGlsIEV6ZWtpZWwgdW5kZXJ0YWtlcyBhIHNlY3JldCBjcnVzYWRlIHRvIHJld3JpdGUgaGlzdG9yeS48YnIgLz4NCjxiciAvPg0KSGlzIHF1ZXN0IHdpbGwgdGFrZSBoaW0gdW5kZXIgdGhlIHdhbGwgYW5kIGludG8gYSBjaXR5IHRlZW1pbmcgd2l0aCByYXZlbm91cyB1bmRlYWQsIGFpciBwaXJhdGVzLCBjcmltaW5hbCBvdmVybG9yZHMsIGFuZCBoZWF2aWx5IGFybWVkIHJlZnVnZWVzLiBBbmQgb25seSBCcmlhciBjYW4gYnJpbmcgaGltIG91dCBhbGl2ZS4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDA5IGJ5IENoZXJpZSBQcmllc3QuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIFRvbSBEb2hlcnR5IEFzc29jaWF0ZXMsIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIERvbmFsZCBNYXNzIExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTQgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0MwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIyNzUtMTMzNzYzMzM4MSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dNam9nUkhKbFlXUnViM1ZuYUhRPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9jL2MvY2MwMl8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQ2xvY2t3b3JrJiN4MjA7Q2VudHVyeSYjeDIwOzImI3gzQTsmI3gyMDtEcmVhZG5vdWdodCIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIyNzUtMTMzNzYzMzM4MSB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIyNzUtMTMzNzYzMzM4MSBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMjc1LTEzMzc2MzMzODEiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMjc1LTEzMzc2MzMzODEgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkNsb2Nrd29yayBDZW50dXJ5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjIgOjwvc3Bhbj4gICAgICAgICAgICAgICAgRHJlYWRub3VnaHQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IENoZXJpZSBQcmllc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKdWwgMSwgMjAxNCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA3IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPk51cnNlIE1lcmN5IEx5bmNoIGlzIGVsYm93cyBkZWVwIGluIGJsb29keSBsYXVuZHJ5IGF0IGEgd2FyIGhvc3BpdGFsIGluIFJpY2htb25kLCBWaXJnaW5pYSwgd2hlbiBDbGFyYSBCYXJ0b24gY29tZXMgYmVhcmluZyBiYWQgbmV3czogTWVyY3nigJlzIGh1c2JhbmQgaGFzIGRpZWQgaW4gYSBQT1cgY2FtcC4gT24gdG9wIG9mIHRoYXQsIGEgdGVsZWdyYW0gZnJvbSB0aGUgd2VzdCBjb2FzdCBkZWNsYXJlcyB0aGF0IGhlciBlc3RyYW5nZWQgZmF0aGVyIGlzIGdyYXZlbHkgaW5qdXJlZCwgYW5kIGhlIHdpc2hlcyB0byBzZWUgaGVyLiBNZXJjeSBzZXRzIG91dCB0b3dhcmQgdGhlIE1pc3Npc3NpcHBpIFJpdmVyLiBPbmNlIHRoZXJlLCBzaGXigJlsbCBjYXRjaCBhIHRyYWluIG92ZXIgdGhlIFJvY2tpZXMgYW5k4oCUaWYgdGhlIHRlbGVncmFtIGNhbiBiZSBiZWxpZXZlZOKAlGJlIGdyZWV0ZWQgaW4gV2FzaGluZ3RvbiBUZXJyaXRvcnkgYnkgdGhlIHNoZXJpZmYsIHdobyB3aWxsIHRha2UgaGVyIHRvIHNlZSBoZXIgZmF0aGVyIGluIFNlYXR0bGUuPGJyIC8+DQo8YnIgLz4NClJlYWNoaW5nIHRoZSBNaXNzaXNzaXBwaSBpcyBhIGhhcnJvd2luZyBhZHZlbnR1cmUgYnkgZGlyaWdpYmxlIGFuZCByYWlsIHRocm91Z2ggd2FyLXRvcm4gYm9yZGVyIHN0YXRlcy4gV2hlbiBNZXJjeSBmaW5hbGx5IGFycml2ZXMgaW4gU3QuIExvdWlzLCB0aGUgb25seSBUYWNvbWEtYm91bmQgdHJhaW4gaXMgcHVsbGVkIGJ5IGEgdGVycmlmeWluZyBVbmlvbi1vcGVyYXRlZCBzdGVhbSBlbmdpbmUgY2FsbGVkIHRoZSBEcmVhZG5vdWdodC4gUmVsdWN0YW50bHksIE1lcmN5IGJ1eXMgYSB0aWNrZXQgYW5kIGNsaW1icyBhYm9hcmQuPGJyIC8+DQo8YnIgLz4NCldoYXQgb3VnaHQgdG8gYmUgYSBxdWlldCB0cmlwIHR1cm5zIGRlYWRseSB3aGVuIHRoZSB0cmFpbiBpcyBiZXNldCBieSBidXNod2hhY2tlcnMsIHRoZW4gdmlnb3JvdXNseSBhdHRhY2tlZCBieSBhIGJhbmQgb2YgUmViZWwgc29sZGllcnMuIFRoZSB0cmFpbiBpcyBtb3ZpbmcgYXdheSBmcm9tIGJhdHRsZSBsaW5lcyBpbnRvIHRoZSB2YXN0LCB1bmluY29ycG9yYXRlZCB3ZXN0LCBzbyBNZXJjeSBjYW7igJl0IGltYWdpbmUgd2h5IHRoZXnigJlyZSBzbyBpbnRlcmVzdGVkLiBQZXJoYXBzIHRoZSBteXN0ZXJpb3VzIGNhcmdvIHNlY3JldGVkIGluIHRoZSBzZWNvbmQgYW5kIGxhc3QgdHJhaW4gY2FycyBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggaXQ/PGJyIC8+DQo8YnIgLz4NCk1lcmN5IGlzIGp1c3QgYSBmcnVzdHJhdGVkIG51cnNlIHdobyB3YW50cyB0byBzZWUgaGVyIGZhdGhlciBiZWZvcmUgaGUgZGllcy4gQnV0IHNoZeKAmWxsIGhhdmUgdG8gc3Vydml2ZSBib3RoIFVuaW9uIGludHJpZ3VlIGFuZCBDb25mZWRlcmF0ZSBvcHBvc2l0aW9uIGlmIHNoZSB3YW50cyB0byBtYWtlIGl0IG9mZiB0aGUgRHJlYWRub3VnaHQgYWxpdmUuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICBDb3B5cmlnaHQgwqkgMjAxMCBieSBDaGVyaWUgUHJpZXN0LiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUb20gRG9oZXJ0eSBBc3NvY2lhdGVzLCBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIHRoZSBEb25hbGQgTWFzcyBMaXRlcmFyeSBBZ2VuY3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIOKElyAyMDE0IGJ5IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDIubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0MwMi5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDgtMjg0NDYxNTA4Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDQzAzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlEyeHZZMnQzYjNKcklFTmxiblIxY25rZ016b2dSMkZ1ZVcxbFpHVT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvYy9jL2NjMDNfMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkNsb2Nrd29yayYjeDIwO0NlbnR1cnkmI3gyMDszJiN4M0E7JiN4MjA7R2FueW1lZGUiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzA4LTI4NDQ2MTUwOCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDgtMjg0NDYxNTA4IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDgtMjg0NDYxNTA4Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjMwOC0yODQ0NjE1MDggIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkNsb2Nrd29yayBDZW50dXJ5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgR2FueW1lZGUgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IENoZXJpZSBQcmllc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBTZXAgMSwgMjAxNCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlRoZSBhaXIgcGlyYXRlIEFuZGFuIENseSBpcyBnb2luZyBzdHJhaWdodC4gV2VsbCwgc3RyYWlnaHRlci4gQWx0aG91Z2ggaGXigJlzIGhhcHB5IHRvIHJ1biBhbGNvaG9sIGd1bnMgd2hlcmV2ZXIgdGhlIG1vbmV54oCZcyBnb29kLCBoZSBkb2VzbuKAmXQgdGhpbmsgdGhlIHdvcmxkIG5lZWRzIG1vcmUgc2FwLCBvciBpdHMgaW5jcmVhc2luZ2x5IHVnbHkgc2lkZS1lZmZlY3RzLiBCdXQgYmVjb21pbmcgbGVnaXQgaXMgZWFzaWVyIHNhaWQgdGhhbiBkb25lLCBhbmQgQ2x54oCZcyBmaXJzdCBsZWdhbCBnaWfigJRhIHN1cHBseSBydW4gZm9yIHRoZSBTZWF0dGxlIFVuZGVyZ3JvdW5k4oCUd2lsbCBiZSBwYWlkIGZvciBieSBzYXAgbW9uZXkuPGJyIC8+DQo8YnIgLz4NCk5ldyBPcmxlYW5zIGlzIG5vdCBDbHnigJlzIGZpcnN0IHBpY2sgZm9yIGEgc2hvcHBpbmcgcnVuLiBIZSBsb3ZlZCB0aGUgQmlnIEVhc3kgb25jZSwgYmFjayB3aGVuIGhlIGFsc28gbG92ZWQgYSBiZWF1dGlmdWwgbWl4ZWQtcmFjZSBwcm9zdGl0dXRlIG5hbWVkIEpvc2VwaGluZSBFYXJseeKAlGJ1dCB0aGF0IHdhcyBhIGRlY2FkZSBhZ28sIGFuZCBoZSBoYXNu4oCZdCBsb29rZWQgYmFjayBzaW5jZS4gSm/igJlzIHN0aWxsIHRoaW5raW5nIGFib3V0IGhpbSwgdGhvdWdoLCBvciBzbyBoZSBsZWFybnMgd2hlbiBoZSBnZXRzIGEgdGVsZWdyYW0gYWJvdXQgYSBwZWN1bGlhciBwaWxvdGluZyBqb2IuIEl04oCZcyBhIGNoYW5jZSB0byBjb21wbGV0ZSB0d28gbHVjcmF0aXZlIGpvYnMgYXQgb25jZSwgb25lIGhlIGNhbuKAmXQgcmVmdXNlLiBIZSBzZW5kcyBoaXMgb2xkIHBhcmFtb3VyIGEgbm90ZSBhbmQgaGVhZHMgZm9yIE5ldyBPcmxlYW5zLCB3aXRoIG5vIGlkZWEgb2Ygd2hhdCBoZeKAmXMgaW4gZm9y4oCUb3Igd2hhdCBzaGUgd2FudHMgaGltIHRvIGZseS48YnIgLz4NCjxiciAvPg0KQnV0IGhlIHdvbuKAmXQgYmUgZmx5aW5nLiBOb3QgZXhhY3RseS4gSGlkZGVuIGF0IHRoZSBib3R0b20gb2YgTGFrZSBQb250Y2hhcnRyYWluIGx1cmtzIGFuIGFzdG9uaXNoaW5nIHdhciBtYWNoaW5lLCBhbiBpbW1lbnNlIHN1Ym1lcnNpYmxlIGNhbGxlZCB0aGUgR2FueW1lZGUuIFRoaXMgcHJvdG90eXBlIGNvdWxkIGVuZCB0aGUgd2FyLCBpZiBvbmx5IGFueW9uZSBoYWQgdGhlIGZhaW50ZXN0IGlkZWEgb2YgaG93IHRvIG9wZXJhdGUgaXTigKYuIElmIG9ubHkgdGhleSBjb3VsZCBzbmVhayBpdCBwYXN0IHRoZSBTb3V0aGVybiBmb3JjZXMgYXQgdGhlIG1vdXRoIG9mIHRoZSBNaXNzaXNzaXBwaSBSaXZlcuKApiBJZiBvbmx5IGl0IGhhZG7igJl0IGtpbGxlZCBtb3N0IG9mIHRoZSBtZW4gd2hv4oCZZCBldmVyIHNldCBmb290IGluc2lkZSBpdC4gPGJyIC8+DQo8YnIgLz4NCkJ1dCBpdOKAmXMgdGhvc2Ug4oCcaWYgb25seXPigJ0gdGhhdCB3aWxsIGRlY2lkZSB3aGV0aGVyIENseSBhbmQgaGlzIGNyZXcgd2lsbCBlbmQgdXAgaW4gdGhlIGhpc3RvcnkgYm9va3MsIG9yIGF0IHRoZSBib3R0b20gb2YgdGhlIG9jZWFuLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMTEgYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggVG9tIERvaGVydHkgQXNzb2NpYXRlcywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgRG9uYWxkIE1hc3MgTGl0ZXJhcnkgQWdlbmN5LiBBbGwgUmlnaHRzIFJlc2VydmVkLiDihJcgMjAxNCBieSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzAzLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDMubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzNTQtMTU4NzYyNTMxNiI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dORG9nVkdobElFbHVaWGh3YkdsallXSnNaWE09IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2MvYy9jYzA0XzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDbG9ja3dvcmsmI3gyMDtDZW50dXJ5JiN4MjA7NCYjeDNBOyYjeDIwO1RoZSYjeDIwO0luZXhwbGljYWJsZXMiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzU0LTE1ODc2MjUzMTYgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzU0LTE1ODc2MjUzMTYgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjM1NC0xNTg3NjI1MzE2Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjM1NC0xNTg3NjI1MzE2ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5DbG9ja3dvcmsgQ2VudHVyeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj40IDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBJbmV4cGxpY2FibGVzICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBDaGVyaWUgUHJpZXN0PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTm92IDEsIDIwMTQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNiBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5SZWN0b3Ig4oCcV3JlY2sg4oCYZW3igJ0gU2hlcm1hbiB3YXMgb3JwaGFuZWQgYXMgYSB0b2RkbGVyIGluIHRoZSBCbGlnaHQgb2YgMTg2MywgYnV0IHRoYXQgd2FzIHllYXJzIGFnby4gV3JlY2sgaGFzIGdyb3duIHVwLCBhbmQgb24gaGlzIGVpZ2h0ZWVudGggYmlydGhkYXksIGhl4oCZbGwgYmUgY2FzdCBvdXQgb3V0IG9mIHRoZSBvcnBoYW5hZ2UuIEFuZCBXcmVja+KAmXMgcHJvYmxlbXMgYXJlbid0IG1lcmVseSBhYm91dCBmaW5kaW5nIGEgaG9tZS4gSGXigJlzIGJlZW4gcXVpZXRseSBicmVha2luZyB0aGUgY2FyZGluYWwgcnVsZSBvZiBhbnkgZ29vZCBkcnVnIGRlYWxlciBhbmQgZGlwcGluZyBpbnRvIGhpcyBvd24gc3VwcGx5IG9mIHRoZSBzYXAgaGUgc2VsbHMuIEhl4oCZcyBhbHNvIHByZXR0eSBzdXJlIGhl4oCZcyBiZWluZyBoYXVudGVkIGJ5IHRoZSBnaG9zdCBvZiBhIGtpZCBoZSB1c2VkIHRvIGtub3figJRaZWtlIFdpbGtlcywgd2hvIGFsbW9zdCBjZXJ0YWlubHkgZGllZCBzaXggbW9udGhzIGFnby4gWmVrZSB3b3VsZCBoYXZlIGV2ZXJ5IHJlYXNvbiB0byBwZXN0ZXIgV3JlY2ssIHNpbmNlIFdyZWNrIGdvdCBoaW0gaW5zaWRlIHRoZSB3YWxsZWQgY2l0eSBvZiBTZWF0dGxlIGluIHRoZSBmaXJzdCBwbGFjZSwgYW5kIHRoYXQgd2FzIHByb2JhYmx5IHdoYXQga2lsbGVkIGhpbS5NYXliZSBpdOKAmXMgb25seSBhIGd1aWx0eSBjb25zY2llbmNlLCBidXQgV3JlY2sgY2Fu4oCZdCB0YWtlIGl0IGFueW1vcmUsIHNvIGhlIHNuZWFrcyBvdmVyIHRoZSB3YWxsLjxiciAvPg0KIDxiciAvPg0KVGhlIHdhbGxlZC1vZmYgd2FzdGVsYW5kIG9mIFNlYXR0bGUgaXMgZXZlcnkgYml0IGFzIGJhZCBhcyBoZeKAmWQgaGVhcmQsIGNob2NrLWZ1bGwgb2YgdGhlIGh1bmdyeSB1bi1kZWFkIGFuZCB1dHRlcmx5IGNob2tlZCBieSB0aGUgcG9pc29ub3VzLCBpbmVzY2FwYWJsZSB5ZWxsb3cgZ2FzLiBBbmQgdGhlbiB0aGVyZSdzIHRoZSBtb25zdGVyLiBSZWN0b3IncyBwcmV0dHkgY2VydGFpbiB0aGF0IHdoYXRldmVyIGF0dGFja2VkIGhpbSB3YXMgbm90IGF0IGFsbCBodW1hbuKAlGFuZCBub3QgYSByb3R0ZXIsIGVpdGhlci4gQXJtcyBmYXIgdG9vIGxvbmcuIFBvc3R1cmUgYWxsIHN0cmFuZ2UuIEV5ZXMgYWxsIHdpbGQgYW5kIGZhaW50bHkgZ2xvd2luZyBnb2xkIGFuZCBrbm93biB0byB0aGUgbG9jYWxzIGFzIHNpbXBseSAiIlRoZSBJbmV4cGxpY2FibGVzLiIiPGJyIC8+DQogPGJyIC8+DQpJbiB0aGUgcHJvY2VzcyBvZiB0cmFja2luZyBkb3duIHRoZXNlIGNyZWF0dXJlcywgUmVjdG9yIGNvbWVzIGFjcm9zcyBhbm90aGVyIGluY3Vyc2lvbiB0aHJvdWdoIHRoZSB3YWxs4oCUanVzdCBhcyBiaXphcnJlIGJ1dCBlbnRpcmVseSBhdHRyaWJ1dGFibGUgdG8gaHVtYW4gZ3JlZWQuIEl0IHNlZW1zIHNvbWUgb3V0c2lkZXJzIGhhdmUgZGVjaWRlZCAgdGhlcmUncyBnb2xkIHRvIGJlIGZvdW5kIGluIHRoZSBjaXR5IGFuZCB0aGV5J3JlIHdpbGxpbmcgdG8gZG8gd2hhdGV2ZXIgaXQgdGFrZXMgdG8gZ2V0IGEgcGllY2Ugb2YgdGhlIHBpZSB1bmxlc3MgUmVjdG9yIGFuZCBoaXMgcG9zc2UgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIGl0LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMTIgYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggVG9tIERvaGVydHkgQXNzb2NpYXRlcywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgRG9uYWxkIE1hc3MgTGl0ZXJhcnkgQWdlbmN5LiBBbGwgUmlnaHRzIFJlc2VydmVkLiDihJcgMjAxNCBieSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzA0Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDQubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzODAtMTAzNDM1NDcwOSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwNSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dOVG9nUm1sa1pHeGxhR1ZoWkE9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9jL2MvY2MwNV8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQ2xvY2t3b3JrJiN4MjA7Q2VudHVyeSYjeDIwOzUmI3gzQTsmI3gyMDtGaWRkbGVoZWFkIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjM4MC0xMDM0MzU0NzA5IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjM4MC0xMDM0MzU0NzA5IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzODAtMTAzNDM1NDcwOSIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzODAtMTAzNDM1NDcwOSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q2xvY2t3b3JrIENlbnR1cnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NSA6PC9zcGFuPiAgICAgICAgICAgICAgICBGaWRkbGVoZWFkICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBDaGVyaWUgUHJpZXN0PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSmFuIDEsIDIwMTUgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNiBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5Zb3VuZyBleC1zbGF2ZSBHaWRlb24gQmFyZHNsZXkgaXMgYSBicmlsbGlhbnQgaW52ZW50b3IsIGJ1dCB0aGUgam9iIGlzIGxlc3MgZ2xhbW9yb3VzIHRoYW4gb25lIG1pZ2h0IHRoaW5rLCBlc3BlY2lhbGx5IHNpbmNlIHRoZSBhc3Nhc3NpbmF0aW9uIGF0dGVtcHRzIHN0YXJ0ZWQuIFdvcnNlIHlldCwgdGhleSdyZSB0cnlpbmcgdG8gZGVzdHJveSBoaXMgZ3JlYXRlc3QgYWNoaWV2ZW1lbnQ6IGEgY2FsY3VsYXRpbmcgZW5naW5lIGNhbGxlZCBGaWRkbGVoZWFkLCB3aGljaCBwcm92aWRlcyB1bmRlbmlhYmxlIHByb29mIG9mIHNvbWV0aGluZyBhd2Z1bCBlbm91Z2ggdG8gZGVzdHJveSB0aGUgd29ybGQuIEJvdGggbWFuIGFuZCBtYWNoaW5lIGFyZSBhdCByaXNrIGZyb20gZm9yY2VzIGNvbnNwaXJpbmcgdG8ga2VlcCB0aGUgQ2l2aWwgV2FyIGdvaW5nIGFuZCB0aGUgbW9uZXkgZmxvd2luZy48YnIgLz4NCjxiciAvPg0KQmFyZHNsZXkgaGFzIG5vIGNob2ljZSBidXQgdG8gYXNrIGhpcyBwYXRyb24sIGZvcm1lciBwcmVzaWRlbnQgQWJyYWhhbSBMaW5jb2xuLCBmb3IgaGVscC4gIExpbmNvbG4gcmV0aXJlZCBmcm9tIGxlYWRpbmcgdGhlIGNvdW50cnkgYWZ0ZXIgYW4gYXR0ZW1wdCBvbiBoaXMgbGlmZSwgYnV0IGlzIHF1aXRlIGludGVyZXN0ZWQgaW4gQmFyZHNsZXnigJlzIGltbWVuc2UgZGF0YS1wcm9jZXNzaW5nIGNhcGFjaXRpZXMsIGNvbmZpZGVudCB0aGF0IGlmIHBlb3BsZSBoYXZlIHRoZSBmYWN0cywgdGhleSdsbCBzZWUgcmVhc29uIGFuZCB1cmdlIHRoZSBnb3Zlcm5tZW50IHRvIGVuZCB0aGUgd2FyLiBMaW5jb2xuIG11c3Qga2VlcCBCYXJkc2xleSBzYWZlIHVudGlsIGhlIGNhbiBmaW5pc2ggaGlzIHJlc2VhcmNoLCBzbyBoZSBjYWxscyBvbiBoaXMgb2xkIHByaXZhdGUgc2VjdXJpdHkgc3RhZmYgdG8gcHJvdGVjdCBHaWRlb24gYW5kIGhpcyBkYXRhLjxiciAvPg0KPGJyIC8+DQpNYXJpYSDigJxCZWxsZeKAnSBCb3lkIHdhcyBhIHJldGlyZWQgQ29uZmVkZXJhdGUgc3B5LCB1bnRpbCBzaGUgZ290IGEgbGlmZS1jaGFuZ2luZyBqb2Igb2ZmZXIgZnJvbSB0aGUgUGlua2VydG9uIERldGVjdGl2ZSBBZ2VuY3kuIFBpbmtlcnRvbiByZXNwZWN0cyBoZXIgd29yaywgZGVzcGl0ZSByZXNlcnZhdGlvbnMgYWJvdXQgaGVyIGxpbmdlcmluZyBTb3V0aGVybiBsb3lhbHRpZXMuIEJ1dCBpdOKAmXMgcHJlY2lzZWx5IHRob3NlIGxveWFsdGllcyB0aGF0IGxldCBoZXIgZ28gaW50byBDb25mZWRlcmF0ZSB0ZXJyaXRvcnkgdG8gZmlndXJlIG91dCB3aG8gbWlnaHQgYmUgdGFyZ2V0aW5nIEJhcmRzbGV5LiBNYXJpYSBpcyBhIGdvb2QgZGV0ZWN0aXZlLCBidXQgd2l0aCBzcGllcyBmcm9tIGJvdGggY2FtcHMgZ3VubmluZyBmb3IgaGVyLCBjYW4gZXZlbiB0aGUgbm90b3Jpb3VzIEJlbGxlIEJveWQgaG9sZCB0aGUgZ3JlZWR5IHdhcmhhd2tzIGF0IGJheT8gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDEzIGJ5IENoZXJpZSBQcmllc3QuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIFRvbSBEb2hlcnR5IEFzc29jaWF0ZXMsIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIERvbmFsZCBNYXNzIExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTUgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0MwNS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzA1Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxNTUtMTE4NDYzNTYzIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDQ1RBTkdMRUZPT1QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iUTJ4dlkydDNiM0pySUVObGJuUjFjbms2SUZSaGJtZHNaV1p2YjNRPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9jL2MvY2N0YW5nbGVmb290XzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDbG9ja3dvcmsmI3gyMDtDZW50dXJ5JiN4M0E7JiN4MjA7VGFuZ2xlZm9vdCIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxNTUtMTE4NDYzNTYzIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjE1NS0xMTg0NjM1NjMgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjE1NS0xMTg0NjM1NjMiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTU1LTExODQ2MzU2MyAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q2xvY2t3b3JrIENlbnR1cnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdsZWZvb3QgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IENoZXJpZSBQcmllc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBBcHIgMSwgMjAxNCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiAxIEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkEgbWVjaGFuaWNhbGx5IGluY2xpbmVkIG9ycGhhbiB3aG8gbGl2ZXMgaW4gdGhlIGJhc2VtZW50IG9mIGEgc2FuaXRhcml1bSBpcyB1cmdlZCB0byDigJxtYWtlIG5ldyBmcmllbmRzLuKAnSBBIGRvZGRlcmluZyBzY2llbnRpc3Qgc2hhcmVzIGhpcyBsaXZpbmcgc3BhY2UsIGFuZCBoZSBlbmNvdXJhZ2VzIHRoZSBlZmZvcnQg4oCUIHByb3ZpZGluZyBhbGwgdGhlIGFzc2lzdGFuY2UgaGlzIHdlYWtlbmluZyBtaW5kIHdpbGwgcGVybWl0LjxiciAvPg0KPGJyIC8+DQpTbyB0aGUgb3JwaGFuIG1ha2VzIGEgZnJpZW5k4oCmIHdpdGggdGhlIG1hdGVyaWFscyB0aGF0IGxpZSBpbW1lZGlhdGVseSBhdCBoYW5kLiBVbmZvcnR1bmF0ZWx5LCB0aGUgcmVzdWx0aW5nIGF1dG9tYXRvbiB3b3VsZCByYXRoZXIgY2F1c2UgY2hhb3MgdGhhbiBrZWVwIGhpbSBjb21wYW55LjxiciAvPg0KPGJyIC8+DQo8c3Ryb25nPkFCT1VUIFRIRSBDTE9DS1dPUksgQ0VOVFVSWTogPC9zdHJvbmc+PGJyIC8+DQo8YnIgLz4NClN0b25ld2FsbCBKYWNrc29uIHN1cnZpdmVkIENoYW5jZWxsb3JzdmlsbGUuICBFbmdsYW5kIGJyb2tlIHRoZSBVbmlvbuKAmXMgbmF2YWwgYmxvY2thZGUsIGFuZCBmb3JtYWxseSByZWNvZ25pemVkIHRoZSBDb25mZWRlcmF0ZSBTdGF0ZXMgb2YgQW1lcmljYS4gIEF0bGFudGEgbmV2ZXIgYnVybmVkLjxiciAvPg0KPGJyIC8+DQpJdCBpcyAxODgwLiBUaGUgQW1lcmljYW4gQ2l2aWwgV2FyIGhhcyByYWdlZCBmb3IgbmVhcmx5IHR3byBkZWNhZGVzLCBkcml2aW5nIHRlY2hub2xvZ3kgaW4gc3RyYW5nZSBhbmQgdGVycmlibGUgZGlyZWN0aW9ucy4gQ29tYmF0IGRpcmlnaWJsZXMgc2t1bGsgYWNyb3NzIHRoZSBza3kgYW5kIGFybW9yZWQgdmVoaWNsZXMgY3Jhd2wgYWxvbmcgdGhlIGxhbmQuICBNaWxpdGFyeSBzY2llbnRpc3RzIHR3aXN0IHRoZSBsYXdzIG9mIG1hbiBhbmQgbmF0dXJlLCBhbmQgYmFydGVyIHRoZWlyIHNvdWxzIGZvciB3ZWFwb25zIHBvd2VyZWQgYnkgbGlnaHQsIGZpcmUsIGFuZCBzdGVhbS48YnIgLz4NCjxiciAvPg0KQnV0IGxpZmUgc3RydWdnbGVzIGZvcndhcmQgZm9yIHNvbGRpZXJzIGFuZCBvcmRpbmFyeSBjaXRpemVucy4gIFRoZSBmcmFjdHVyZWQgbmF0aW9uIGlzIGRvdHRlZCB3aXRoIHN0cmlja2VuIHRvd25zIGFuZCBlcGljIHNjZW5lcyBvZiBkZXZhc3RhdGlvbuKAlHNvbWUgbWFubWFkZSwgYW5kIHNvbWUgbW9yZSBteXN0ZXJpb3VzLiAgSW4gdGhlIHdlc3Rlcm4gdGVycml0b3JpZXMgY2l0aWVzIGFyZSBzd2FsbG93ZWQgYnkgZ2FzIGFuZCB3YWxsZWQgYXdheSB0byByb3Qgd2hpbGUgdGhlIGZyb250aWVycyBhcmUgc3RyaXAtbWluZWQgZm9yIHJlc291cmNlcy4gIE9uIHRoZSBib3JkZXJzIGJldHdlZW4gTm9ydGggYW5kIFNvdXRoLCBzcGllcyBzY291ciBhbmQgc2NoZW1lLCBhbmQgc211Z2dsZXJzIGJ1aWxkIGVjb25vbWllcyBtb3JlIHN0YWJsZSB0aGFuIHRoZWlyIGdvdmVybm1lbnRzLjxiciAvPg0KPGJyIC8+DQpUaGlzIGlzIHRoZSBDbG9ja3dvcmsgQ2VudHVyeS4gSXQgaXMgZGFyayBoZXJlLCBhbmQgZGlmZmVyZW50LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMDggYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIERvbmFsZCBNYXNzIExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTQgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0NUQU5HTEVGT09ULm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDVEFOR0xFRk9PVC5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==