The war between the States has ended. Now, driven from Texas by carpetbaggers, former CSA Colonel Shamus O'Brien sets off for a new frontier-- New Mexico. Here, where land is cheap, bandits shoot to kill, and rustlers rule the night, it takes more than one man to run a ranch. So he offers a partnership to his eldest son, Jacob, with equal shares going to his sons Sam, Patrick, and Shawn. Together, the brother's O'Brien will defend their homestead, the Dromore, in this violent, lawless land...and when necessary, administer their own brand of frontier justice.
Includes Brothers O'Brien 1-6.
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
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTgzMi0xNTAwMDY3NDEzIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJCT0IwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRbkp2ZEdobGNuTWdUeWRDY21sbGJpQXhPaUJVYUdVZ1FuSnZkR2hsY25NZ1R5ZENjbWxsYmc9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MjQ2NS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkJyb3RoZXJzJiN4MjA7TyYjeDI3O0JyaWVuJiN4MjA7MSYjeDNBOyYjeDIwO1RoZSYjeDIwO0Jyb3RoZXJzJiN4MjA7TyYjeDI3O0JyaWVuIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItODMyLTE1MDAwNjc0MTMgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci04MzItMTUwMDA2NzQxMyBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci04MzItMTUwMDA2NzQxMyIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTgzMi0xNTAwMDY3NDEzICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5Ccm90aGVycyBPJ0JyaWVuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjEgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhlIEJyb3RoZXJzIE8nQnJpZW4gICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFdpbGxpYW0gVy4gSm9obnN0b25lIGFuZCBKLkEuIEpvaG5zdG9uZTwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEFwciAxLCAyMDEzICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE4KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+PGI+VGhleSBiZWxpZXZlZCBzaGUgd2FzIGEgV2l0Y2guICBTaGUgd2FzIGRlZmluaXRlbHkgYXQgdGVtcHRyZXNzLiAgQW5kIHNoZSBsZWZ0IGEgYmxhY2sgd2lkb3cncyBzdHJpbmcgb2YgZGVhZC48L2I+PGJyIC8+DQo8YnIgLz4NClRIRSBTQUdBIEJFR0lOUy4uLjxici8+PGJyLz5UaGUgd2FyIGJldHdlZW4gdGhlIFN0YXRlcyBoYXMgZW5kZWQuIE5vdywgZHJpdmVuIGZyb20gVGV4YXMgYnkgY2FycGV0YmFnZ2VycywgZm9ybWVyIENTQSBDb2xvbmVsIFNoYW11cyBPJ0JyaWVuIHNldHMgb2ZmIGZvciBhIG5ldyBmcm9udGllci0tIE5ldyBNZXhpY28uIEhlcmUsIHdoZXJlIGxhbmQgaXMgY2hlYXAsIGJhbmRpdHMgc2hvb3QgdG8ga2lsbCwgYW5kIHJ1c3RsZXJzIHJ1bGUgdGhlIG5pZ2h0LCBpdCB0YWtlcyBtb3JlIHRoYW4gb25lIG1hbiB0byBydW4gYSByYW5jaC4gU28gaGUgb2ZmZXJzIGEgcGFydG5lcnNoaXAgdG8gaGlzIGVsZGVzdCBzb24sIEphY29iLCB3aXRoIGVxdWFsIHNoYXJlcyBnb2luZyB0byBoaXMgc29ucyBTYW0sIFBhdHJpY2ssIGFuZCBTaGF3bi4gVG9nZXRoZXIsIHRoZSBicm90aGVyJ3MgTydCcmllbiB3aWxsIGRlZmVuZCB0aGVpciBob21lc3RlYWQsIHRoZSBEcm9tb3JlLCBpbiB0aGlzIHZpb2xlbnQsIGxhd2xlc3MgbGFuZC4uLmFuZCB3aGVuIG5lY2Vzc2FyeSwgYWRtaW5pc3RlciB0aGVpciBvd24gYnJhbmQgb2YgZnJvbnRpZXIganVzdGljZS4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDEyLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBLZW5zaW5ndG9uIFB1Ymxpc2hpbmcgQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTMgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQk9CMDEubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQk9CMDEubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTgzMy00NTE0MTg1MDYiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2Utd3JhcHBlciI+CiAgICAgICAgPGltZyBjbGFzcz0icHJvZHVjdC1pbWFnZS1waG90byIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1za3U9IkJPQjAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlFuSnZkR2hsY25NZ1R5ZENjbWxsYmlBeU9pQlRhR0ZrYjNjZ2IyWWdkR2hsSUVoaGJtZHRZVzQ9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4NzkyNDg5LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQnJvdGhlcnMmI3gyMDtPJiN4Mjc7QnJpZW4mI3gyMDsyJiN4M0E7JiN4MjA7U2hhZG93JiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtIYW5nbWFuIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItODMzLTQ1MTQxODUwNiB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTgzMy00NTE0MTg1MDYgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItODMzLTQ1MTQxODUwNiIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTgzMy00NTE0MTg1MDYgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkJyb3RoZXJzIE8nQnJpZW48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MiA6PC9zcGFuPiAgICAgICAgICAgICAgICBTaGFkb3cgb2YgdGhlIEhhbmdtYW4gICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFdpbGxpYW0gVy4gSm9obnN0b25lIGFuZCBKLkEuIEpvaG5zdG9uZTwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEp1biAxLCAyMDEzICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE4KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+PGI+U2hhZGUgbXVyZGVyZWQgaGlzIG93biBmYXRoZXIgd2l0aCBhIHNob3ZlbC4gU29tZSBjYWxsZWQgaGltIGEgZnJlYWssIHNvbWUgYSBtb25zdGVyLiBOb3cgaGUncyBmcmVlIHRvIG11cmRlciBhZ2FpbiEgPC9iPjxiciAvPg0KPGJyIC8+DQpXaGVuIGEgZmFybWVyJ3Mgd2lmZSBpcyBtdXJkZXJlZCwgYW4gaW5ub2NlbnQgbWFuIGlzIGFjY3VzZWQ6IFBhdHJpY2sgTydCcmllbi4gVGhlIGJvb2stbG92aW5nIGJyb3RoZXIgaGFkIHNoYXJlZCBoaXMgbG92ZSBvZiBsaXRlcmF0dXJlIHdpdGggdGhlIHdvbWFuLCBidXQgaGVyIGh1c2JhbmQgY2xhaW1zIHNoZSBzcHVybmVkIFBhdCdzIGFkdmFuY2VzIGFuZCB0aGF0J3Mgd2h5IGhlIGtpbGxlZCBoZXIuIE5vdyBpdCBsb29rcyBsaWtlIFBhdHJpY2sgd2lsbCBzd2luZyBmcm9tIHRoZSBnYWxsb3dzLS1lc3BlY2lhbGx5IGFmdGVyIGhpcyBsYXd5ZXIgaXMgdGFyZ2V0ZWQsIHRvby4gUGF0J3MgYnJvdGhlcnMgdHJ5IHRvIHRyYWNrIGRvd24gdGhlIHJlYWwga2lsbGVyLCBidXQgdGltZSBpcyBydW5uaW5nIG91dC4gQSB0ZWFtIG9mIGhpcmVkIGd1bnMgaGFzIGNvbWUgdG8gdG93biwgYW5kIHRoZXkncmUgY2hva2luZyB0aGUgZmFtaWx5IHJhbmNoIGxpa2UgYSBub29zZS4gRm9yIHRoZSBCcm90aGVycyBPJ0JyaWVuLCBpdCdzIGp1ZGdlbWVudCBkYXkuIEFuZCBqdXN0aWNlIHdpbGwgYmUgc2VydmVkLS1pbiBhIGhlbGxzdG9ybSBvZiBibG9vZCBhbmQgYnVsbGV0cy4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDEyLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBLZW5zaW5ndG9uIFB1Ymxpc2hpbmcgQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTMgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQk9CMDIubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQk9CMDIubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTE2MTctMTAxMjMyMDI5MCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQk9CMDMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iUW5KdmRHaGxjbk1nVHlkQ2NtbGxiaUF6T2lCTVlYTjBJRTFoYmlCVGRHRnVaR2x1Wnc9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MjUwMi5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkJyb3RoZXJzJiN4MjA7TyYjeDI3O0JyaWVuJiN4MjA7MyYjeDNBOyYjeDIwO0xhc3QmI3gyMDtNYW4mI3gyMDtTdGFuZGluZyIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTE2MTctMTAxMjMyMDI5MCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTE2MTctMTAxMjMyMDI5MCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xNjE3LTEwMTIzMjAyOTAiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xNjE3LTEwMTIzMjAyOTAgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkJyb3RoZXJzIE8nQnJpZW48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MyA6PC9zcGFuPiAgICAgICAgICAgICAgICBMYXN0IE1hbiBTdGFuZGluZyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgV2lsbGlhbSBXLiBKb2huc3RvbmUgYW5kIEouQS4gSm9obnN0b25lPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSnVsIDEsIDIwMTMgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj48Yj5MYXphcnVzIHdlYXJzIHRoZSBncmVlbiBTaGFidGkgZmlndXJpbmUgYXJvdW5kIGhpcyBuZWNrLCBvbmNlIHRoZSBwcm9wZXJ0eSBvZiB0aGUgcGhhcmFvaHMsIGEgZ2lmdCBmcm9tIHRoZSBncmVhdCBnb2QgQW11bi1SYS4gSGUga2lsbHMgd2l0aG91dCByZW1vcnNlLiBCdXQgaGXigJlzIGZvbGxvd2VkIGJ5IHRoZSBzaGFkb3cgb2YgZGVhdGgga25vd24gb25seSBhcyB0aGUgUmFnZ2VkeSBNYW4uIDwvYj48YnIgLz4NCjxiciAvPg0KQm91bnR5LWh1bnRlciB0dXJuZWQgImJ1c2luZXNzbWFuIiBSYWZlIEtpbmdzdG9uIGlzIHRoZSBmYXN0ZXN0IGd1biBpbiB0aGUgd2VzdCAuLi4gYW5kIHRoZSBsYXN0IHBlcnNvbiB5b3Ugd2FudCB0byBzZWUgb24geW91ciBkb29yc3RlcC4gIFNvIHlvdSBjYW4gaW1hZ2luZSBob3cgdGhlIE8nQnJpZW4gYnJvdGhlcnMgZmVlbCB3aGVuIHRoaXMgdmljaW91cyB2ZXJtaW4gc2hvd3MgdXAgYXQgdGhlaXIgcmFuY2ggd2l0aCBhIGxldHRlciwgc2lnbmVkIGJ5IGEgVS5TLiBTZW5hdG9yLCBjbGFpbWluZyBoZSdzIHRoZSByaWdodGZ1bCBvd25lciBvZiB0aGVpciBsYW5kLjxiciAvPg0KPGJyIC8+DQpOb3Qgb25seSBkb2VzIEtpbmdzdG9uIGhhdmUgYSBsZWdhbCBkb2N1bWVudCwgaGUncyBnb3QgZml2ZSBvZiB0aGUgbWVhbmVzdCBhbiBibG9vZC10aGlyc3R5IGd1bnNsaW5nZXJzIHRvIGV2ZXIgZHJhdyBhIGJyZWF0aCBiYWNraW5nIGhpbSB1cC4gIFRoYXQncyBzaXggcnV0aGxlc3Mga2lsbGVycyB2ZXJzdXMgZm91ciBJcmlzaCBicm90aGVycyB3aG8gd29uJ3QgYmFjayBkb3duLiAgQW5kIHRoZXJlJ2xsIGJlIG9uZSBoZWxsIG9mIGEgcHJpemUgZm9yIHRoZSBsYXN0IG1hbiBzdGFuZGluZy4gIEl0J3MgY2FsbGVkIHN1cnZpdmFsLi4uICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMjAxMi4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggS2Vuc2luZ3RvbiBQdWJsaXNoaW5nIENvcnAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChQKSAyMDEzIGJ5IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0JPQjAzLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0JPQjAzLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIwODUtMTMxNDU2MjQwNyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQk9CMDQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iUW5KdmRHaGxjbk1nVHlkQ2NtbGxiaUEwT2lCQklGUnBiV1VnZEc4Z1UyeGhkV2RvZEdWeSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MjUyNi5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkJyb3RoZXJzJiN4MjA7TyYjeDI3O0JyaWVuJiN4MjA7NCYjeDNBOyYjeDIwO0EmI3gyMDtUaW1lJiN4MjA7dG8mI3gyMDtTbGF1Z2h0ZXIiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMDg1LTEzMTQ1NjI0MDcgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMDg1LTEzMTQ1NjI0MDcgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjA4NS0xMzE0NTYyNDA3Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjA4NS0xMzE0NTYyNDA3ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5Ccm90aGVycyBPJ0JyaWVuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjQgOjwvc3Bhbj4gICAgICAgICAgICAgICAgQSBUaW1lIHRvIFNsYXVnaHRlciAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgV2lsbGlhbSBXLiBKb2huc3RvbmUgYW5kIEouQS4gSm9obnN0b25lPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSmFuIDEsIDIwMTQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj48Yj5BaWRlZCBieSBhbiBvbGQgYmVhciBodW50ZXIgYW5kIGEgcHJvZmVzc2lvbmFsIGhhbmdtYW4sIFNoYXduIE8nQnJpZW4gc2V0cyBvdXQgdG8gcmVzY3VlIERyb21vcmUncyBzY2hvb2wgdGVhY2hlciBmcm9tIEFyYWIgc2xhdmVycyBpbiBNZXhpY28sIGxlZCBieSB0aGUgc3RhcmtseSBldmlsIEFiZHVsLUJhc2lyIEhha2ltLiA8L2I+PGJyIC8+DQo8YnIgLz4NCk5ldyBNZXhpY28gVGVycml0b3J5IGlzIG5vIHN0cmFuZ2VyIHRvIGJhZCBtZW4uICBCdXQgc291dGggb2YgdGhlIGJvcmRlciwgb24gdGhlIHdpbGQgTWV4aWNhbiBjb2FzdGxpbmUsIGlzIGFub3RoZXIga2luZCBvZiB3aWNrZWQ6IGEgbXVyZGVyb3VzIEFyYWIgd2l0aCBhIHNoaXAgZnVsbCBvZiBzdG9sZW4gd29tZW4gLSB0byBiZSBzb2xkIGFzIHNleCBzbGF2ZXMgaW4gdGhlIGZvdXIgY29ybmVycyBvZiB0aGUgd29ybGQuICBBbW9uZyB0aGVtIGlzIGEgbWlzc2luZyBsb2NhbCBzY2hvb2wgdGVhY2hlciBTaGF3biBPJ0JyaWVuIGhhcyBiZWVuIHNlYXJjaGluZyBmb3IgLSBhIHdvbWFuIHdpdGggYSBwYXN0IHNoZSdzIGtlcHQgY2FyZWZ1bGx5IGhpZGRlbi48YnIgLz4NCjxiciAvPg0KTm93IFNoYXduLCBhbG9uZyB3aXRoIGEgaGFsZi1tYWQgYmVhciBodW50ZXIgYW5kIGEgcHJvZmVzc2lvbmFsIGhhbmdtYW4gZmlnaHQgdGhlaXIgd2F5IHRvIHRoZSBjb2FzdCBmb3IgYSBibG9vZC1zb2FrZWQgYmF0dGxlIGJldHdlZW4gdGhlIHNsYXZlcnMgYW5kIHRoZSBVLlMuIE5hdnkuICBXaGVuIHRoZSBhY3Rpb24gcnVucyBhZ3JvdW5kLCBPJ0JyaWVuIGdldHMgaGlzIGNoYW5jZTogdG8gZmFjZSBkb3duIGFuIEFyYWIgc2hlaWsgd2hvIHByb2ZpdHMgZnJvbSBodW1hbiBtaXNlcnkuLi5hbmQgbWFrZXMgYSBzcG9ydCBvZiBzbGF1Z2h0ZXIuLi4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDEzLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBLZW5zaW5ndG9uIFB1Ymxpc2hpbmcgQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTQgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQk9CMDQubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQk9CMDQubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxNDEtMjA1MjM4MzU3NSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQk9CMDUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iUW5KdmRHaGxjbk1nVHlkQ2NtbGxiaUExT2lCVWFHVWdTMmxzYkdsdVp5QlRaV0Z6YjI0PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MjU0MC5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkJyb3RoZXJzJiN4MjA7TyYjeDI3O0JyaWVuJiN4MjA7NSYjeDNBOyYjeDIwO1RoZSYjeDIwO0tpbGxpbmcmI3gyMDtTZWFzb24iLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTQxLTIwNTIzODM1NzUgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTQxLTIwNTIzODM1NzUgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjE0MS0yMDUyMzgzNTc1Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjE0MS0yMDUyMzgzNTc1ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5Ccm90aGVycyBPJ0JyaWVuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjUgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhlIEtpbGxpbmcgU2Vhc29uICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBXaWxsaWFtIFcuIEpvaG5zdG9uZSBhbmQgSi5BLiBKb2huc3RvbmU8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBBcHIgMSwgMjAxNCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA1IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxOCsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPjxiPlRoZXkgdGVycm9yaXplIHRoZSB0b3duIG9mIFJlY29pbCAtIGRlbW9ucyBjYXJyeWluZyB0b3JjaGVzIHRoYXQgdGhlIHByZWFjaGVyIHNheXMgYXJlIGxpdCBieSB0aGUgZmlyZXMgb2YgaGVsbC4gQW5kIHNvb24uLi4gdGhlcmUgd2lsbCBiZSBoZWxsIHRvIHBheS48L2I+PGJyIC8+DQo8YnIgLz4NClRoZXkgcmlkZSBhZnRlciBzdW5kb3duLiBCbGFjayByb2JlZCBmaWd1cmVzIHdpdGggc2t1bGxzIGZvciBmYWNlcywgdGVycm9yaXppbmcgdGhlIHRvd24gb2YgUmVjb2lsIGxpa2UgdGhlIGhvcnNlbWVuIG9mIHRoZSBBcG9jYWx5cHNlLiBJZiB0aGUgc2hlcmlmZiBob3BlcyB0byBkZWZlYXQgdGhpcyBoZWxsaXNoIGJhbmQgb2Ygb3V0bGF3cywgaGUnbGwgbmVlZCBiYWNrLXVwLjxiciAvPg0KPGJyIC8+DQpFbnRlciBDb2xvbmVsIFNoYW11cyBPJ0JyaWVuLiBUaGUgc2Vhc29uZWQgcmFuY2ggaGFuZCBhbmQgcGF0cmlhcmNoIGhhcyBmb3VnaHQgb2ZmIG1vcmUgdGhhbiBoaXMgc2hhcmUgb2YgaG9yc2UgdGhpZXZlcyBhbmQgbWFyYXVkZXJzLiBCdXQgaGUncyBuZXZlciBzZWVuIGFueXRoaW5nIGxpa2UgdGhlc2Ugb3JuZXJ5IGRldmlscy4gVGhleSB0b3JjaCB0aGUgdG93biB3aXRob3V0IHdhcm5pbmcsIGtpbGxpbmcgYW5kIGRlc3Ryb3lpbmcgZXZlcnl0aGluZyBpbiBzaWdodC4gU2hhbXVzIGNvdWxkIHVzZSBzb21lIGV4dHJhIGZpcmVwb3dlciwgbmFtZWx5IGhpcyBzb25zIFNoYXduIGFuZCBKYWNvYi4gQnV0IHRoZSBPJ0JyaWVuIGJyb3RoZXJzIGhhdmUgcHJvYmxlbXMgb2YgdGhlaXIgb3duLjxiciAvPg0KPGJyIC8+DQpWaWNpb3VzIGJhbmRpdG9zIGhhdmUgdGFyZ2V0ZWQgdGhlIGZhbWlseSByYW5jaCwgZ3VubmluZyBmb3IgZ29sZCBhbmQgY2F0dGxlIGluIGEgaGFpbHN0b3JtIG9mIGJ1bGxldHMgYW5kIGJsb29kc2hlZC4gQnV0IGJvdGggdGhlIGN1dHRocm9hdCBnYW5ncyBhcmUgYWJvdXQgdG8gbGVhcm4gdGhlaXIgbGVzc29uLS0tdGhlIGhhcmQgd2F5LiBXaGVuIHlvdSBjcm9zcyBhbiBPJ0JyaWVuLCB0aGVyZSdzIGhlbGwgdG8gcGF5Li4uICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMjAxMy4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggS2Vuc2luZ3RvbiBQdWJsaXNoaW5nIENvcnAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChQKSAyMDE0IGJ5IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0JPQjA1Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0JPQjA1Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDYtODM3NDAyODczIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJCT0IwNiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRbkp2ZEdobGNuTWdUeWRDY21sbGJpQTJPaUJNWVhjZ2IyWWdWbWx2YkdWdVkyVT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDg3OTI1NjQuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJCcm90aGVycyYjeDIwO08mI3gyNztCcmllbiYjeDIwOzYmI3gzQTsmI3gyMDtMYXcmI3gyMDtvZiYjeDIwO1Zpb2xlbmNlIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjMwNi04Mzc0MDI4NzMgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzA2LTgzNzQwMjg3MyBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzA2LTgzNzQwMjg3MyIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDYtODM3NDAyODczICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5Ccm90aGVycyBPJ0JyaWVuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjYgOjwvc3Bhbj4gICAgICAgICAgICAgICAgTGF3IG9mIFZpb2xlbmNlICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBXaWxsaWFtIFcuIEpvaG5zdG9uZSBhbmQgSi5BLiBKb2huc3RvbmU8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBBdWcgMSwgMjAxNCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxOCsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPjxiPldoZXJlIEhlIEdvZXMuLi4gRGVzZWNyYXRpb24gRm9sbG93cy4uLjwvYj48YnIgLz4NCjxiciAvPg0KSW4gYSBzYWxvb24gbm9ydGggb2YgRWwgUGFzbywgdGhlIGxlZ2VuZGFyeSBEb2MgSG9sbGlkYXkgaXMgZm9yY2VkIHRvIGtpbGwgYSByYW5jaGVyJ3Mgc29uIGluIHNlbGYgZGVmZW5zZS4gSGlzIGZhdGhlciwgQ29sb25lbCBSb2JlcnQgTWNIZW5yeSwgaXMgZGVzcGVyYXRlIGZvciByZXZlbmdlLiBBbmQgbm93IERvYyBpcyBhIGh1bnRlZCBtYW4gb24gdGhlIHJ1bi4gSGVhZGluZyB3ZXN0LCBoZSB0dXJucyB0byBKYWNvYiBPJ0JyaWVuLCBob3BpbmcgdG8gZmluZCByZWZ1Z2UgYXQgdGhlIGZhbWlseSByYW5jaC4gSmFjb2Iga25vd3MgaXQncyBhIGxvc2UtbG9zZSBzaXR1YXRpb27igJRvbmUgdGhhdCdzIGJvdW5kIHRvIGVuZCBpbiB2aW9sZW5jZSBhbmQgYmxvb2QuIENvbG9uZWwgTWNIZW5yeSBpcyB0aGUgZmFtb3VzICJMaW9uIG9mIEx5bmNoYnVyZywiIHdob3NlIHJlbGVudGxlc3MgY291cmFnZSBpbiB0aGUgQ2l2aWwgV2FyIGVhcm5lZCB0aGUgcmVzcGVjdCBvZiBmaWdodGluZyBtZW4gZXZlcnl3aGVyZS4gTm93LCB3aXRoIGhpcyBzb24ncyBkZWF0aCBkcml2aW5nIGhpcyBidXJuaW5nIGZ1cnksIGhlIGlzIHRydWx5IGEgZm9yY2UgdG8gYmUgcmVja29uZWQgd2l0aC4gQSBydXRobGVzcyBkZW1vbiBvZiB2ZW5nZWFuY2Ugd2hvIHdpbGwgZ3VuIGRvd24gYW55IGFuZCBhbGwgd2hvIGdldCBpbiBoaXMgd2F5LiBCdXQgdGhpcyB0aW1lLCBoZSBnZXRzIG1vcmUgdGhhbiBoZSBiYXJnYWluZWQgZm9yOiBUaGUgQnJvdGhlcidzIE8nQnJpZW4uICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMjAxNC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggS2Vuc2luZ3RvbiBQdWJsaXNoaW5nIENvcnAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChQKSAyMDE0IGJ5IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0JPQjA2Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0JPQjA2Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+