This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1463811327-2097478821-1023027109=:9844 Content-Type: TEXT/PLAIN; charset=US-ASCII Here''s a version of /sbin/shorewall that has the ''logwatch'' command that I was referring to in my lat post. See what you think... -Tom -- Tom Eastep \ Shorewall - iptables made easy AIM: tmeastep \ http://www.shorewall.net ICQ: #60745924 \ teastep@shorewall.net ---1463811327-2097478821-1023027109=:9844 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=shorewall Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0206020711490.9844@wookie.shorewall.net> Content-Description: /sbin/shorewall Content-Disposition: attachment; filename=shorewall IyEvYmluL3NoDQojDQojICAgICBTaG9yZXdhbGwgUGFja2V0IEZpbHRlcmlu ZyBGaXJld2FsbCBDb250cm9sIFByb2dyYW0gLSBWMS4zIC0gNi8xNC8yMDAy DQojDQojICAgICBUaGlzIHByb2dyYW0gaXMgdW5kZXIgR1BMIFtodHRwOi8v d3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bV0gICAgICAgICANCiMNCiMg ICAgIChjKSAxOTk5LDIwMDAsMjAwMSwyMDAyIC0gVG9tIEVhc3RlcCAodGVh c3RlcEBzaG9yZXdhbGwubmV0KQ0KIw0KIw0KIyAgICAgICBUaGlzIGZpbGUg c2hvdWxkIGJlIHBsYWNlZCBpbiAvc2Jpbi9zaG9yZXdhbGwuDQojDQojICAg ICAgIFNob3Jld2FsbCBkb2N1bWVudGF0aW9uIGlzIGF2YWlsYWJsZSBhdCBo dHRwOi8vc2hvcmV3YWxsLnNvdXJjZWZvcmdlLm5ldA0KIw0KIyAgICAgICBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyAgICAgICBpdCB1bmRlciB0aGUg dGVybXMgb2YgVmVyc2lvbiAyIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSANCiMgICAgICAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24uDQojDQojICAgICAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLA0KIyAgICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyAgICAgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuIFNlZSB0aGUNCiMgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4NCiMNCiMgICAgICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UNCiMgICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlm IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgICAgICAgRm91 bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAy MTM5LCBVU0ENCiMgICAgICAgDQojICAgICAgIElmIGFuIGVycm9yIG9jY3Vy cyB3aGlsZSBzdGFydGluZyBvciByZXN0YXJ0aW5nIHRoZSBmaXJld2FsbCwg dGhlDQojICAgICAgIGZpcmV3YWxsIGlzIGF1dG9tYXRpY2FsbHkgc3RvcHBl ZC4NCiMNCiMgICAgICAgVGhlIGZpcmV3YWxsIHVzZXMgY29uZmlndXJhdGlv biBmaWxlcyBpbiAvZXRjL3Nob3Jld2FsbC8gLSBza2VsZXRvbg0KIyAgICAg ICBmaWxlcyBpcyBpbmNsdWRlZCB3aXRoIHRoZSBmaXJld2FsbC4NCiMNCiMg ICAgICAgQ29tbWFuZHMgYXJlOg0KIw0KIyAgICAgICAgICBzaG9yZXdhbGwg c3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRzIHRoZSBmaXJl d2FsbCANCiMgICAgICAgICAgc2hvcmV3YWxsIHJlc3RhcnQgICAgICAgICAg ICAgICAgICAgICAgIFJlc3RhcnRzIHRoZSBmaXJld2FsbA0KIyAgICAgICAg ICBzaG9yZXdhbGwgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cHMgdGhlIGZpcmV3YWxsDQojICAgICAgICAgIHNob3Jld2FsbCBtb25pdG9y IFsgcmVmcmVzaC1pbnRlcnZhbCBdICBSZXBlYXRlZGx5IERpc3BsYXlzIGZp cmV3YWxsIHN0YXR1cw0KIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGx1cyB0aGUgbGFzdCAyMCAiaW50ZXJl c3RpbmciDQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwYWNrZXRzDQojICAgICAgICAgIHNob3Jld2FsbCBz dGF0dXMgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5cyBmaXJld2Fs bCBzdGF0dXMgICAgICAgICAgICAgIA0KIyAgICAgICAgICBzaG9yZXdhbGwg cmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXRzIGlwdGFibGVz IHBhY2tldCBhbmQNCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJ5dGUgY291bnRzDQojICAgICAgICAgIHNo b3Jld2FsbCBjbGVhciAgICAgICAgICAgICAgICAgICAgICAgICBPcGVuIHRo ZSBmbG9vZGdhdGVzIGJ5DQojICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZW1vdmluZyBhbGwgaXB0YWJsZXMg cnVsZXMNCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFuZCBzZXR0aW5nIHRoZSB0aHJlZSBwZXJtYW5lbnQN CiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNoYWluIHBvbGljaWVzIHRvIEFDQ0VQVA0KIwkgICBzaG9yZXdh bGwgcmVmcmVzaAkJCSAgIFJlYnVpbGQgdGhlIGNvbW1vbiBjaGFpbiB0bw0K IwkJCQkJCSAgIGNvbXBlbnNhdGUgZm9yIGEgY2hhbmdlIG9mDQojCQkJCQkJ ICAgYnJvYWRjYXN0IGFkZHJlc3Mgb24gYW55ICJkZXRlY3QiDQojCQkJCQkJ ICAgaW50ZXJmYWNlLg0KIwkgICBzaG9yZXdhbGwgc2hvdyA8Y2hhaW4+ICAg ICAgICAgICAgICAgICAgRGlzcGxheSB0aGUgcnVsZXMgaW4gYSA8Y2hhaW4+ DQojCSAgIHNob3Jld2FsbCBzaG93IGxvZyAgICAgICAgICAgICAgICAgICAg ICBQcmludCB0aGUgbGFzdCAyMCBsb2cgbWVzc2FnZXMNCiMJICAgc2hvcmV3 YWxsIHNob3cgY29ubmVjdGlvbnMgICAgICAgICAgICAgIFNob3cgdGhlIGtl cm5lbCdzIGNvbm5lY3Rpb24NCiMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNraW5nIHRhYmxlDQojCSAg IHNob3Jld2FsbCBzaG93IG5hdCAgICAgICAgICAgICAgICAgICAgICBEaXNw bGF5IHRoZSBydWxlcyBpbiB0aGUgbmF0IHRhYmxlDQojICAgICAgICAgIHNo b3Jld2FsbCBzaG93IHttYW5nbGV8dG9zfSAgICAgICAgICAgICBEaXNwbGF5 IHRoZSBydWxlcyBpbiB0aGUgbWFuZ2xlIHRhYmxlDQojCSAgIHNob3Jld2Fs bCBzaG93IHRjICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IHRyYWZm aWMgY29udHJvbCBpbmZvDQojCSAgIHNob3Jld2FsbCB2ZXJzaW9uCQkJICAg RGlzcGxheSB0aGUgaW5zdGFsbGVkIHZlcnNpb24gaWQNCiMgICAgICAgICAg c2hvcmV3YWxsIGNoZWNrICAgICAgICAgICAgICAgICAgICAgICAgIFZlcmlm eSB0aGUgbW9yZSBoZWF2aWx5LXVzZWQNCiMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24g ZmlsZXMuDQojICAgICAgICAgIHNob3Jld2FsbCB0cnkgPGRpcmVjdG9yeT4g WyA8dGltZW91dD4gXSBUcnkgYSBuZXcgY29uZmlndXJhdGlvbiBhbmQgaWYN CiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGl0IGRvZXNuJ3Qgd29yaywgcmV2ZXJ0IHRvIHRoZQ0KIyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RhbmRhcmQgb25lLiBJZiBhIHRpbWVvdXQgaXMgc3VwcGxpZWQNCiMJCQkJ CQkgICB0aGUgY29tbWFuZCByZXZlcnRzIGJhY2sgdG8gdGhlDQojCQkJCQkJ ICAgc3RhbmRhcmQgY29uZmlndXJhdGlvbiBhZnRlciB0aGF0IG1hbnkNCiMJ CQkJCQkgICBzZWNvbmRzIGhhdmUgZWxhcHNlZCBhZnRlciBzdWNjZXNzZnVs bHkNCiMJCQkJCQkgICBzdGFydGluZyB0aGUgbmV3IGNvbmZpZ3VyYXRpb24u DQojDQojIERpc3BsYXkgYSBjaGFpbiBpZiBpdCBleGlzdHMNCiMNCnNob3dm aXJzdGNoYWluKCkgIyAkMSA9IG5hbWUgb2YgY2hhaW4NCnsNCiAgICBhd2sg XA0KICAgICdCRUdJTiAgICAgICB7cHJudD0wOyByc2x0PTE7IH07IFwNCiAg ICAvXiQvICAgICAgICAgeyBuZXh0OyB9O1wNCiAgICAvXkNoYWluLyAgICAg e2lmICggcHJudCA9PSAxICkgeyByc2x0PTA7IGV4aXQgMDsgfTsgfTtcDQog ICAgL0NoYWluICckMScvIHsgcHJudD0xOyB9OyBcDQogICAgICAgICAgICAg ICAgIHsgaWYgKHBybnQgPT0gMSkgIHByaW50OyB9O1wNCiAgICBFTkQJCSB7 IGV4aXQgcnNsdDsgfScgL3RtcC9jaGFpbnMtJCQNCn0NCg0Kc2hvd2NoYWlu KCkgIyAkMSA9IG5hbWUgb2YgY2hhaW4NCnsNCiAgICBpZiBbICIkZmlyc3Rj aGFpbiIgPSAiWWVzIiBdOyB0aGVuDQoJaWYgc2hvd2ZpcnN0Y2hhaW4gJDE7 IHRoZW4NCgkgICAgZmlyc3RjaGFpbj0NCglmaQ0KICAgIGVsc2UNCglhd2sg XA0KICAgICAgICAnQkVHSU4gICAgICAge3BybnQ9MDt9O1wNCiAgICAgICAg L14kfF4gcGt0cy8gIHsgbmV4dDsgfTtcDQogICAgICAgIC9eQ2hhaW4vICAg ICB7aWYgKCBwcm50ID09IDEgKSBleGl0OyB9O1wNCiAgICAgICAgL0NoYWlu ICckMScvIHsgcHJudD0xOyB9O1wNCiAgICAgICAgICAgICAgICAgICAgIHsg aWYgKHBybnQgPT0gMSkgIHByaW50OyB9JyAvdG1wL2NoYWlucy0kJA0KICAg IGZpDQp9DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj Iw0KIyBTZXQgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIGZyb20gc2hv cmV3YWxsLmNvbmYgICAgICAgICAgICAgICAgICAgICAgICAgICAjDQojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmdldF9jb25maWco KSB7DQogICAgZ2V0X3N0YXRlZGlyDQoNCiAgICBbIC16ICIkTE9HRklMRSIg XSAmJiBMT0dGSUxFPS92YXIvbG9nL21lc3NhZ2VzDQoNCiAgICBpZiBbICEg LWYgJExPR0ZJTEUgXTsgdGhlbg0KCWVjaG8gIkxPR0ZJTEUgKCRMT0dGSUxF KSBkb2VzIG5vdCBleGlzdCEiID4mMg0KCWV4aXQgMg0KICAgIGZpDQogICAg Iw0KICAgICMgU2VlIGlmIHdlIGhhdmUgYSByZWFsIHZlcnNpb24gb2YgInRh aWwiIC0tIHVzZSBzZXBhcmF0ZSByZWRpcmVjdGlvbiBzbw0KICAgICMgdGhh dCBhc2ggKGFrYSAvYmluL3NoIG9uIExSUCkgZG9lc24ndCBjcmFwDQogICAg Iw0KICAgIGlmICggdGFpbCAtbjUgJExPR0ZJTEUgPiAvZGV2L251bGwgMj4g L2Rldi9udWxsICkgOyB0aGVuDQogICAgICAgIHJlYWx0YWlsPSJZZXMiDQog ICAgZWxzZQ0KICAgICAgICByZWFsdGFpbD0iIg0KICAgIGZpDQoNCiAgICBb IC1uICIkRlciIF0gfHwgRlc9ZncNCn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjDQojIERpc3BsYXkgSVBUQUJMRVMgcnVsZXMg LS0gd2UgdXNlZCB0byBzdG9yZSB0aGVtIGluIGEgdmFyaWFibGUgYnV0IGFz aCAgICAgICAgICMNCiMgZGllcyB3aGVuIHRyeWluZyB0byBkaXNwbGF5IGxh cmdlIHNldHMgb2YgcnVsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpk aXNwbGF5X2NoYWlucygpDQp7DQogICAgdHJhcCAicm0gLWYgL3RtcC9jaGFp bnMtJCQ7IGV4aXQgMSIgMSAyIDMgNCA1IDYgOQ0KICAgIA0KICAgIGlmIFsg IiRoYXZlYXdrIiA9ICJZZXMiIF07IHRoZW4NCgkjDQoJIyBTZW5kIHRoZSBv dXRwdXQgdG8gYSB0ZW1wb3JhcnkgZmlsZSBzaW5jZSBhc2ggY3JhcHMgaWYg d2UgdHJ5IHRvIHN0b3JlDQoJIyB0aGUgb3V0cHV0IGluIGEgdmFyaWFibGUu DQoJIw0KCWlwdGFibGVzIC1MIC1uIC12ID4gL3RtcC9jaGFpbnMtJCQNCg0K CWNsZWFyDQoJZWNobyAtZSAiJGJhbm5lciBgZGF0ZWBcXG4iDQogICAgICAg IGVjaG8gLWUgIlN0YW5kYXJkIENoYWluc1xcbiINCglmaXJzdGNoYWluPSJZ ZXMiDQoJc2hvd2NoYWluIElOUFVUDQoJc2hvd2NoYWluIE9VVFBVVA0KCXNo b3djaGFpbiBGT1JXQVJEDQoNCgl0aW1lZF9yZWFkDQoNCgljbGVhcg0KCWVj aG8gLWUgIiRiYW5uZXIgYGRhdGVgXFxuIg0KCWZpcnN0Y2hhaW49WWVzDQog ICAgICAgIGVjaG8gLWUgIklucHV0IENoYWluc1xcbiINCg0KCWNoYWlucz1g Z3JlcCAnXkNoYWluLipfW2lufGZ3ZF0nIC90bXAvY2hhaW5zLSQkIHwgY3V0 IC1kJyAnIC1mIDJgDQoJDQoJZm9yIGNoYWluIGluICRjaGFpbnM7IGRvDQoJ ICAgIHNob3djaGFpbiAkY2hhaW4NCglkb25lDQoJDQoJdGltZWRfcmVhZA0K DQoJZm9yIHpvbmUgaW4gJHpvbmVzOyBkbw0KDQoJICAgIGlmIFsgLW4gImBn cmVwICJeQ2hhaW4gXC4qJHt6b25lfSIgL3RtcC9jaGFpbnMtJCRgIiBdIDsg dGhlbg0KCQljbGVhcg0KCQllY2hvIC1lICIkYmFubmVyIGBkYXRlYFxcbiIN CgkJZmlyc3RjaGFpbj1ZZXMNCgkJZXZhbCBkaXNwbGF5PVwkJHt6b25lfV9k aXNwbGF5DQoJCWVjaG8gLWUgIiRkaXNwbGF5IENoYWluc1xcbiINCgkJZm9y IHpvbmUxIGluICRGVyAkem9uZXM7IGRvDQoJCSAgICBzaG93Y2hhaW4gJHt6 b25lfTIkem9uZTENCgkJICAgIHNob3djaGFpbiBAJHt6b25lfTIkem9uZTEN CgkJICAgIFsgIiR6b25lIiAhPSAiJHpvbmUxIiBdICYmIFwNCgkJICAgIAlz aG93Y2hhaW4gJHt6b25lMX0yJHt6b25lfSAmJiBcDQoJCQlzaG93Y2hhaW4g QCR7em9uZTF9MiR7em9uZX0NCgkJZG9uZQ0KDQoJCXRpbWVkX3JlYWQNCgkg ICAgZmkNCglkb25lDQoNCgljbGVhcg0KCWVjaG8gLWUgIiRiYW5uZXIgYGRh dGVgXFxuIg0KCWZpcnN0Y2hhaW49WWVzDQoJZWNobyAtZSAiUG9saWN5IENo YWluc1xcbiINCglzaG93Y2hhaW4gY29tbW9uDQogICAgICAgIHNob3djaGFp biBiYWRwa3QNCglzaG93Y2hhaW4gaWNtcGRlZg0KCXNob3djaGFpbiByZmMx OTE4DQoJc2hvd2NoYWluIGJsYWNrbHN0DQoJc2hvd2NoYWluIHJlamVjdA0K CWZvciB6b25lIGluICR6b25lcyBhbGw7IGRvDQoJICAgIHNob3djaGFpbiAk e3pvbmV9MmFsbA0KCSAgICBzaG93Y2hhaW4gQCR7em9uZX0yYWxsDQoJICAg IFsgIiR6b25lIiA9ICJhbGwiIF0gfHwgeyBzaG93Y2hhaW4gYWxsMiR7em9u ZX07IHNob3djaGFpbiBAYWxsMiR7em9uZX07IH0NCiAgICAgICAgZG9uZQ0K DQoJdGltZWRfcmVhZA0KDQoJcXQgcm0gLWYgL3RtcC9jaGFpbnMtJCQNCiAg ICBlbHNlDQoJaXB0YWJsZXMgLUwgLW4gLXYNCgl0aW1lZF9yZWFkDQogICAg ZmkNCiAgICB0cmFwIC0gMSAyIDMgNCA1IDYgOQ0KDQp9DQoNCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBEZWxheSAkdGltZW91 dCBzZWNvbmRzIC0tIGlmIHdlJ3JlIHJ1bm5pbmcgb24gYSByZWNlbnQgYmFz aDIgdGhlbiBhbGxvdyAgICAgICAjIA0KIyA8ZW50ZXI+IHRvIHRlcm1pbmF0 ZSB0aGUgZGVsYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMNCnRpbWVkX3JlYWQgKCkgDQp7DQogICAgcmVhZCAtdCAkdGlt ZW91dCBmb28gMj4gL2Rldi9udWxsDQoNCiAgICB0ZXN0ICQ/IC1lcSAyICYm IHNsZWVwICR0aW1lb3V0DQp9DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIw0KIyBEaXNwbGF5IHRoZSBsYXN0ICQxIHBhY2tldHMg bG9nZ2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN CnBhY2tldF9sb2coKSAjICQxID0gbnVtYmVyIG9mIG1lc3NhZ2VzIA0Kew0K ICAgIGxvY2FsIG9wdGlvbnMNCg0KICAgIFsgLW4gIiRyZWFsdGFpbCIgXSAm JiBvcHRpb25zPSItbiQxIg0KDQogICAgZ3JlcCAnU2hvcmV3YWxsOlx8aXB0 X3VuY2xlYW4nICRMT0dGSUxFIHwgXA0KICAgICAgICAgc2VkIHMvIiAkaG9z dCBrZXJuZWw6IFNob3Jld2FsbDoiLyIgIi8gfCBcDQogICAgICAgICBzZWQg cy8iICRob3N0IGtlcm5lbDogaXB0X3VuY2xlYW46ICIvIiAiLyB8IFwNCiAg ICAgICAgIHNlZCAncy9NQUM9LipTUkM9L1NSQz0vJyB8IFwNCiAgICAgICAg IHRhaWwgJG9wdGlvbnMNCn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQojIFNob3cgdHJhZmZpYyBjb250cm9sIGluZm9ybWF0 aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K c2hvd190YygpIHsNCg0KICAgIHNob3dfb25lX3RjKCkgew0KICAgICAgICBs b2NhbCBkZXZpY2U9JHsxJUAqfQ0KICAgICAgICBxZGlzYz1gdGMgcWRpc2Mg bGlzdCBkZXYgJGRldmljZWANCg0KCWlmIFsgLW4gIiRxZGlzYyIgXTsgdGhl bg0KCSAgICBlY2hvIERldmljZSAkZGV2aWNlOg0KCSAgICB0YyAtcyAtZCBx ZGlzYyBzaG93IGRldiAkZGV2aWNlDQoJICAgIHRjIC1zIC1kIGNsYXNzIHNo b3cgZGV2ICRkZXZpY2UNCgkgICAgZWNobw0KCWZpDQogICAgfQ0KDQogICAg aXAgbGluayBsaXN0IHwgXA0KICAgIHdoaWxlIHJlYWQgaW54IGludGVyZmFj ZSBkZXRhaWxzOyBkbw0KCWNhc2UgJGlueCBpbg0KCVswLTldKikNCgkgICAg c2hvd19vbmVfdGMgJHtpbnRlcmZhY2UlOn0NCiAgICAgICAgICAgIDs7DQoJ KikNCgkgICAgOzsNCgllc2FjDQogICAgZG9uZQ0KDQp9DQoNCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBNb25pdG9yIHRoZSBG aXJld2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCm1vbml0b3JfZmlyZXdhbGwoKSAjICQxID0gdGlt ZW91dCAtLSBpZiBuZWdhdGl2ZSwgcHJvbXB0IGVhY2ggdGltZSB0aGF0DQog ICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgYW4gJ2ludGVy ZXN0aW5nJyBwYWNrZXQgY291bnQgY2hhbmdlcw0Kew0KDQogICAgZ2V0X2Nv bmZpZw0KICAgIGhvc3Q9YGVjaG8gJEhPU1ROQU1FIHwgc2VkICdzL1wuLiok Ly8nYA0KICAgIG9sZHJlamVjdHM9YGlwdGFibGVzIC1MIC12IC1uIHwgZ3Jl cCAnTE9HJ2ANCiAgICANCiAgICBpZiBbICQxIC1sdCAwIF07IHRoZW4NCgls ZXQgInRpbWVvdXQ9LSAkMSINCglwYXVzZT0iWWVzIg0KICAgIGVsc2UNCglw YXVzZT0iTm8iDQoJdGltZW91dD0kMQ0KICAgIGZpDQoNCiAgICBxdCB3aGlj aCBhd2sgJiYgeyBoYXZlYXdrPVllczsgZGV0ZXJtaW5lX3pvbmVzOyB9IHx8 IGhhdmVhd2s9DQoNCiAgICB3aGlsZSB0cnVlOyBkbw0KCWRpc3BsYXlfY2hh aW5zDQoJDQoJY2xlYXINCgllY2hvIC1lICIkYmFubmVyIGBkYXRlYFxcbiIN Cg0KCWVjaG8gLWUgIkRyb3BwZWQvUmVqZWN0ZWQgUGFja2V0IExvZ1xcbiIN Cg0KCXJlamVjdHM9YGlwdGFibGVzIC1MIC12IC1uIHwgZ3JlcCAnTE9HJ2AN Cg0KCWlmIFsgIiRyZWplY3RzIiAhPSAiJG9sZHJlamVjdHMiIF07IHRoZW4N CgkgICAgb2xkcmVqZWN0cz0iJHJlamVjdHMiDQoJICAgIGVjaG8gLWUgJ1xh Jw0KCSAgICBwYWNrZXRfbG9nIDIwDQoNCgkgICAgaWYgWyAiJHBhdXNlIiA9 ICJZZXMiIF07IHRoZW4NCgkJZWNobyAtZW4gJ1xuRW50ZXIgYW55IGNoYXJh Y3RlciB0byBjb250aW51ZTogJw0KCQlyZWFkIGZvbw0KCSAgICBlbHNlDQoJ CXRpbWVkX3JlYWQNCgkgICAgZmkNCgllbHNlDQoJICAgIGlmIFsgIiRwYXVz ZSIgIT0gIlllcyIgXTsgdGhlbg0KCQllY2hvDQoJCXBhY2tldF9sb2cgMjAN CgkgICAgZmkNCgkJDQoJICAgIHRpbWVkX3JlYWQNCglmaQ0KDQoJY2xlYXIN CgllY2hvIC1lICIkYmFubmVyIGBkYXRlYFxcbiINCgllY2hvIC1lICJOQVQg U3RhdHVzXFxuIg0KCWlwdGFibGVzIC10IG5hdCAtTCAtbiAtdg0KCWVjaG8g LWUgIlxcblRPUy9NQVJLIFN0YXR1c1xcbiINCglpcHRhYmxlcyAtdCBtYW5n bGUgLUwgLW4gLXYNCgl0aW1lZF9yZWFkDQoNCgljbGVhcg0KCWVjaG8gLWUg IiRiYW5uZXIgYGRhdGVgXFxuIg0KCWVjaG8gLWUgIlxcblRyYWNrZWQgQ29u bmVjdGlvbnNcXG4iDQoJY2F0IC9wcm9jL25ldC9pcF9jb25udHJhY2sNCgl0 aW1lZF9yZWFkDQoNCgljbGVhcg0KCWVjaG8gLWUgIiRiYW5uZXIgYGRhdGVg XFxuIg0KCWVjaG8gLWUgIlxcblRyYWZmaWMgU2hhcGluZy9Db250cm9sXFxu Ig0KCXNob3dfdGMNCgl0aW1lZF9yZWFkDQogICAgZG9uZQ0KfQ0KDQojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgV2F0Y2ggdGhl IEZpcmV3YWxsIExvZwkJCQkJCQkjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCmxvZ3dhdGNoKCkgIyAkMSA9IHRpbWVvdXQgLS0g aWYgbmVnYXRpdmUsIHByb21wdCBlYWNoIHRpbWUgdGhhdA0KCSAgICMgICAg ICAgICAgICAgICAgIGFuICdpbnRlcmVzdGluZycgcGFja2V0IGNvdW50IGNo YW5nZXMNCnsNCg0KICAgIGdldF9jb25maWcNCiAgICBob3N0PWBlY2hvICRI T1NUTkFNRSB8IHNlZCAncy9cLi4qJC8vJ2ANCiAgICBvbGRyZWplY3RzPWBp cHRhYmxlcyAtTCAtdiAtbiB8IGdyZXAgJ0xPRydgDQogICAgDQogICAgaWYg WyAkMSAtbHQgMCBdOyB0aGVuDQoJbGV0ICJ0aW1lb3V0PS0gJDEiDQoJcGF1 c2U9IlllcyINCiAgICBlbHNlDQoJcGF1c2U9Ik5vIg0KCXRpbWVvdXQ9JDEN CiAgICBmaQ0KDQogICAgcXQgd2hpY2ggYXdrICYmIGhhdmVhd2s9WWVzIHx8 IGhhdmVhd2s9DQoNCiAgICB3aGlsZSB0cnVlOyBkbw0KCWNsZWFyDQoJZWNo byAtZSAiJGJhbm5lciBgZGF0ZWBcXG4iDQoNCgllY2hvIC1lICJEcm9wcGVk L1JlamVjdGVkIFBhY2tldCBMb2dcXG4iDQoNCglyZWplY3RzPWBpcHRhYmxl cyAtTCAtdiAtbiB8IGdyZXAgJ0xPRydgDQoNCglpZiBbICIkcmVqZWN0cyIg IT0gIiRvbGRyZWplY3RzIiBdOyB0aGVuDQoJICAgIG9sZHJlamVjdHM9IiRy ZWplY3RzIg0KCSAgICBlY2hvIC1lICdcYScNCgkgICAgcGFja2V0X2xvZyA0 MA0KDQoJICAgIGlmIFsgIiRwYXVzZSIgPSAiWWVzIiBdOyB0aGVuDQoJCWVj aG8gLWVuICdcbkVudGVyIGFueSBjaGFyYWN0ZXIgdG8gY29udGludWU6ICcN CgkJcmVhZCBmb28NCgkgICAgZWxzZQ0KCQl0aW1lZF9yZWFkDQoJICAgIGZp DQoJZWxzZQ0KCSAgICBpZiBbICIkcGF1c2UiICE9ICJZZXMiIF07IHRoZW4N CgkJZWNobw0KCQlwYWNrZXRfbG9nIDQwDQoJICAgIGZpDQoJCQ0KCSAgICB0 aW1lZF9yZWFkDQoJZmkNCiAgICBkb25lDQp9DQoNCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBHaXZlIFVzYWdlIEluZm9ybWF0 aW9uCQkJCQkJCSMNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIw0KdXNhZ2UoKSAjICQxID0gZXhpdCBzdGF0dXMNCnsNCiAgICBlY2hv ICJVc2FnZTogYGJhc2VuYW1lICQwYCBbZGVidWddIFtub2xvY2tdIFstYyA8 ZGlyZWN0b3J5Pl0gPGNvbW1hbmQ+Ig0KICAgIGVjaG8gIndoZXJlIDxjb21t YW5kPiBpcyBvbmUgb2Y6Ig0KICAgIGVjaG8gIiAgIHNob3cgWzxjaGFpbj58 Y29ubmVjdGlvbnN8bG9nfG5hdHx0Y3x0b3NdIg0KICAgIGVjaG8gIiAgIHN0 YXJ0Ig0KICAgIGVjaG8gIiAgIHN0b3AiDQogICAgZWNobyAiICAgcmVzZXQi DQogICAgZWNobyAiICAgcmVzdGFydCINCiAgICBlY2hvICIgICBzdGF0dXMi DQogICAgZWNobyAiICAgY2xlYXIiDQogICAgZWNobyAiICAgcmVmcmVzaCIN CiAgICBlY2hvICIgICBoaXRzIg0KICAgIGVjaG8gIiAgIG1vbml0b3IgWzxy ZWZyZXNoIGludGVydmFsPl0iDQogICAgZWNobyAiICAgdmVyc2lvbiINCiAg ICBlY2hvICIgICBjaGVjayINCiAgICBlY2hvICIgICB0cnkgPGRpcmVjdG9y eT4gWyA8dGltZW91dD4gXSINCiAgICBlY2hvICIgICBsb2d3YXRjaCBbPHJl ZnJlc2ggaW50ZXJ2YWw+XSINCiAgICBleGl0ICQxDQp9DQoNCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBFeGVjdXRpb24gYmVn aW5zIGhlcmUJCQkJCQkJCSMNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KZGVidWdnaW5nPQ0KDQppZiBbICQjIC1ndCAwIF0gJiYg WyAiJDEiID0gImRlYnVnIiBdOyB0aGVuDQogICAgZGVidWdnaW5nPWRlYnVn DQogICAgc2hpZnQNCmZpDQoNCm5vbG9jaz0NCg0KaWYgWyAkIyAtZ3QgMCBd ICYmIFsgIiQxIiA9ICJub2xvY2siIF07IHRoZW4NCiAgICBub2xvY2s9bm9s b2NrDQogICAgc2hpZnQNCmZpDQoNClNIT1JFV0FMTF9ESVI9DQpkb25lPTAN Cg0Kd2hpbGUgWyAkZG9uZSAtZXEgMCBdOyBkbw0KICAgIFsgJCMgLWVxIDAg XSAmJiB1c2FnZSAxDQogICAgY2FzZSAkMSBpbg0KICAgIC1jKQ0KICAgCVsg JCMgLWVxIDEgXSAmJiB1c2FnZSAxDQoNCglpZiBbICEgLWQgJDIgXTsgdGhl bg0KCSAgICBpZiBbIC1lICQyIF07IHRoZW4NCgkgICAgCWVjaG8gIiQyIGlz IG5vdCBhIGRpcmVjdG9yeSIgPiYyICYmIGV4aXQgMg0KCSAgICBlbHNlDQoJ ICAgIAllY2hvICJEaXJlY3RvcnkgJDIgZG9lcyBub3QgZXhpc3QiID4mMiAm JiBleGl0IDINCiAgICAgICAgICAgIGZpDQogICAgICAgIGZpDQoNCglTSE9S RVdBTExfRElSPSQyDQoJc2hpZnQNCglzaGlmdA0KCTs7DQogICAgKikNCiAg ICAgICAgZG9uZT0xDQogICAgICAgIDs7DQogICAgZXNhYw0KZG9uZQ0KDQpp ZiBbICQjIC1lcSAwIF0gfHwgWyAkIyAtZ3QgMyBdOyB0aGVuDQogICAgdXNh Z2UgMQ0KZmkNCg0KZnVuY3Rpb25zPS9ldGMvc2hvcmV3YWxsL2Z1bmN0aW9u cw0KDQppZiBbIC1uICIkU0hPUkVXQUxMX0RJUiIgXTsgdGhlbg0KICAgZXhw b3J0IFNIT1JFV0FMTF9ESVINCiAgIFsgLWYgJFNIT1JFV0FMTF9ESVIvZnVu Y3Rpb25zIF0gJiYgZnVuY3Rpb25zPSRTSE9SRVdBTExfRElSL2Z1bmN0aW9u cw0KZmkNCg0KaWYgWyAtZiAkZnVuY3Rpb25zIF07IHRoZW4NCiAgICAuICRm dW5jdGlvbnMNCmVsc2UNCiAgICBlY2hvICIvZXRjL3Nob3Jld2FsbC9mdW5j dGlvbnMgZG9lcyBub3QgZXhpc3QhIiA+JjINCiAgICBleGl0IDINCmZpDQoN CmZpcmV3YWxsPWBmaW5kX2ZpbGUgZmlyZXdhbGxgDQoNCmlmIFsgISAtZiAk ZmlyZXdhbGwgXTsgdGhlbg0KICAgIGVjaG8gIkVSUk9SOiBTaG9yZXdhbGwg aXMgbm90IHByb3Blcmx5IGluc3RhbGxlZCINCiAgICBpZiBbIC1MICRmaXJl d2FsbCBdOyB0aGVuDQoJZWNobyAiICAgICAgICRmaXJld2FsbCBpcyBhIHN5 bWJvbGljIGxpbmsgdG8gYSINCgllY2hvICIgICAgICAgbm9uLWV4aXN0YW50 IGZpbGUiDQogICAgZWxzZQ0KCWVjaG8gIiAgICAgICBUaGUgZmlsZSAvZXRj L3Nob3Jld2FsbC9maXJld2FsbCBkb2VzIG5vdCBleGlzdCINCiAgICBmaQ0K DQogICAgZXhpdCAyDQpmaQ0KDQpQQVRIPS9zYmluOi9iaW46L3Vzci9zYmlu Oi91c3IvYmluOi91c3IvbG9jYWwvYmluOi91c3IvbG9jYWwvc2Jpbg0KDQp2 ZXJzaW9uX2ZpbGU9YGZpbmRfZmlsZSB2ZXJzaW9uYA0KDQppZiBbIC1mICR2 ZXJzaW9uX2ZpbGUgXTsgdGhlbg0KICAgIHZlcnNpb249YGNhdCAkdmVyc2lv bl9maWxlYA0KZWxzZQ0KICAgIGVjaG8gIkVSUk9SOiBTaG9yZWxpbmUgRmly ZXdhbGwgaXMgbm90IHByb3Blcmx5IGluc3RhbGxlZCINCiAgICBlY2hvICIg ICAgICAgVGhlIGZpbGUgL2V0Yy9zaG9yZXdhbGwvdmVyc2lvbiBkb2VzIG5v dCBleGlzdCINCiAgICBleGl0IDENCmZpDQoNCmJhbm5lcj0iU2hvcmV3YWxs LSR2ZXJzaW9uIFN0YXR1cyBhdCAkSE9TVE5BTUUgLSINCg0KY2FzZSAiJDEi IGluDQogICAgc3RhcnR8c3RvcHxyZXN0YXJ0fHJlc2V0fGNsZWFyfHJlZnJl c2h8Y2hlY2spDQoJWyAkIyAtbmUgMSBdICYmIHVzYWdlIDENCglleGVjICRm aXJld2FsbCAkZGVidWdnaW5nICRub2xvY2sgJDENCgk7Ow0KICAgIHNob3cp DQogICAgCVsgJCMgLWd0IDIgXSAmJiB1c2FnZSAxDQoJY2FzZSAiJDIiIGlu DQoJY29ubmVjdGlvbnMpDQoJICAgIGVjaG8gLWUgIlNob3Jld2FsbC0kdmVy c2lvbiBDb25uZWN0aW9ucyBhdCAkSE9TVE5BTUUgLSBgZGF0ZWBcXG4iDQoJ ICAgIGNhdCAvcHJvYy9uZXQvaXBfY29ubnRyYWNrDQoJICAgIDs7DQoJbmF0 KQ0KCSAgICBlY2hvIC1lICJTaG9yZXdhbGwtJHZlcnNpb24gTkFUIGF0ICRI T1NUTkFNRSAtIGBkYXRlYFxcbiINCgkgICAgaXB0YWJsZXMgLXQgbmF0IC1M IC1uIC12DQoJICAgIDs7DQoJdG9zfG1hbmdsZSkNCgkgICAgZWNobyAtZSAi U2hvcmV3YWxsLSR2ZXJzaW9uIFRPUyBhdCAkSE9TVE5BTUUgLSBgZGF0ZWBc XG4iDQoJICAgIGlwdGFibGVzIC10IG1hbmdsZSAtTCAtbiAtdg0KCSAgICA7 Ow0KCWxvZykNCiAgICAgICAgICAgIGdldF9jb25maWcNCgkgICAgZWNobyAt ZSAiU2hvcmV3YWxsLSR2ZXJzaW9uIExvZyBhdCAkSE9TVE5BTUUgLSBgZGF0 ZWBcXG4iDQoJICAgIGhvc3Q9YGVjaG8gJEhPU1ROQU1FIHwgc2VkICdzL1wu LiokLy8nYA0KCSAgICBwYWNrZXRfbG9nDQoJICAgIDs7DQoJdGMpDQoJICAg IGVjaG8gLWUgIlNob3Jld2FsbC0kdmVyc2lvbiBUcmFmZmljIENvbnRyb2wg YXQgJEhPU1ROQU1FIC0gYGRhdGVgXFxuIg0KCSAgICBzaG93X3RjDQoJICAg IDs7DQogICAgICAgICopDQoJICAgIGVjaG8gLWUgIlNob3Jld2FsbC0kdmVy c2lvbiBDaGFpbiAkMiBhdCAkSE9TVE5BTUUgLSBgZGF0ZWBcXG4iDQoJICAg IGlwdGFibGVzIC1MICQyIC1uIC12DQoJICAgIDs7DQogICAgICAgIGVzYWMN Cgk7Ow0KICAgIG1vbml0b3IpDQoJaWYgWyAkIyAtZXEgMiBdOyB0aGVuDQoJ ICAgIG1vbml0b3JfZmlyZXdhbGwgJDINCgllbGlmIFsgJCMgLWVxIDEgXTsg dGhlbg0KCSAgICBtb25pdG9yX2ZpcmV3YWxsIDMwDQoJZWxzZQ0KCSAgICB1 c2FnZSAxDQoJZmkNCiAgICAgICAgOzsNCiAgICBzdGF0dXMpDQogICAgCVsg JCMgLWVxIDEgXSB8fCB1c2FnZSAxDQoJZ2V0X2NvbmZpZw0KCWNsZWFyDQoJ ZWNobyAtZSAiU2hvcmV3YWxsLSR2ZXJzaW9uIFN0YXR1cyBhdCAkSE9TVE5B TUUgLSBgZGF0ZWBcXG4iDQoJaG9zdD1gZWNobyAkSE9TVE5BTUUgfCBzZWQg J3MvXC4uKiQvLydgDQoJaXB0YWJsZXMgLUwgLW4gLXYNCgllY2hvDQoJcGFj a2V0X2xvZw0KCWVjaG8NCglpcHRhYmxlcyAtdCBuYXQgLUwgLW4gLXYNCgll Y2hvDQoJaXB0YWJsZXMgLXQgbWFuZ2xlIC1MIC1uIC12DQoJZWNobw0KCWNh dCAvcHJvYy9uZXQvaXBfY29ubnRyYWNrDQoJOzsNCiAgICBoaXRzKQ0KICAg IAlbICQjIC1lcSAxIF0gfHwgdXNhZ2UgMQ0KCWdldF9jb25maWcNCiAgICAg ICAgY2xlYXINCiAgICAgICAgZWNobyAtZSAiU2hvcmV3YWxsLSR2ZXJzaW9u IEhpdHMgYXQgJEhPU1ROQU1FIC0gYGRhdGVgXFxuIg0KCXRpbWVvdXQ9MzAN Cg0KICAgICAgICBpZiBbIGBncmVwIC1jICJTaG9yZXdhbGw6IiAkTE9HRklM RSBgIC1ndCAwIF0gOyB0aGVuDQogICAgICAgICAgICBlY2hvICIgICBISVRT IElQICAgICAgICAgICAgICBEQVRFIg0KICAgICAgICAgICAgZ3JlcCAiU2hv cmV3YWxsOiIgJExPR0ZJTEUgfCBzZWQgJ3MvXCguXHs2XH1cKVwoLipTUkM9 XClcKC4qXClcKCBEU1Q9LipcKS9cMwlcMS8nIHwgc29ydCB8IHVuaXEgLWMg fCBzb3J0IC1ybg0KICAgICAgICAgICAgZWNobyAiIg0KDQogICAgICAgICAg ICBlY2hvICIgICBISVRTIElQIg0KICAgICAgICAgICAgZ3JlcCAiU2hvcmV3 YWxsOiIgJExPR0ZJTEUgfCBzZWQgJ3MvXCguKlNSQz1cKVwoLiogXClcKERT VD0uKlwpL1wyLycgfCBzb3J0IHwgdW5pcSAtYyB8IHNvcnQgLXJuDQogICAg ICAgICAgICBlY2hvICIiDQoNCiAgICAgICAgICAgIGVjaG8gIiAgIEhJVFMg REFURSINCiAgICAgICAgICAgIGdyZXAgIlNob3Jld2FsbDoiICRMT0dGSUxF IHwgc2VkICdzL1woLlx7Nlx9XClcKC4qXCkvXDEvJyB8IHNvcnQgfCB1bmlx IC1jIHwgc29ydCAtcm4NCiAgICAgICAgICAgIGVjaG8gIiINCg0KICAgICAg ICAgICAgZWNobyAiICAgSElUUyAgUE9SVCBTRVJWSUNFKFMpIg0KICAgICAg ICAgICAgZ3JlcCAnU2hvcmV3YWxsOi4qRFBUJyAkTE9HRklMRSB8IHNlZCAn cy9cKC4qRFBUPVwpXChbMC05XVx7MSw1XH1cKVwoLipcKS9cMi8nIHwgc29y dCB8IHVuaXEgLWMgfCBzb3J0IC1ybiB8IFwNCiAgICAgICAgICAgIHdoaWxl IHJlYWQgY291bnQgcG9ydCA7IGRvDQogICAgICAgICAgICAgICAgIyBMaXN0 IGFsbCBzZXJ2aWNlcyBkZWZpbmVkIGZvciB0aGUgZ2l2ZW4gcG9ydA0KICAg ICAgICAgICAgICAgIHNydj1gZ3JlcCAiXFxiJHBvcnQvIiAvZXRjL3NlcnZp Y2VzIHwgY3V0IC1mIDEgfCBzb3J0IC11YA0KICAgICAgICAgICAgICAgIHNy dj1gZWNobyAkc3J2IHwgc2VkICdzLyAvLC9nJ2ANCg0KICAgICAgICAgICAg ICAgIGlmIFsgLW4gIiRzcnYiIF0gOyB0aGVuDQogICAgICAgICAgICAgICAg ICAgIHByaW50ZiAnJTdkICU1ZCAlc1xuJyAkY291bnQgJHBvcnQgJHNydg0K ICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgcHJp bnRmICclN2QgJTVkXG4nICRjb3VudCAkcG9ydA0KICAgICAgICAgICAgICAg IGZpDQogICAgICAgICAgICBkb25lDQogICAgICAgIGZpDQogICAgICAgIDs7 DQogICAgdmVyc2lvbikNCgllY2hvICR2ZXJzaW9uDQoJOzsNCiAgICB0cnkp DQoJWyAtbiAiJFNIT1JFV0FMTF9ESVIiIF0gJiYgc3RhcnR1cF9lcnJvciAi RXJyb3I6IC1jIG9wdGlvbiBtYXkgbm90IGJlIHVzZWQgd2l0aCBcInRyeVwi Ig0KCVsgJCMgLWx0IDIgLW8gJCMgLWd0IDMgXSAmJiB1c2FnZSAxDQoJJDAg LWMgJDIgcmVzdGFydA0KCWlmICEgaXB0YWJsZXMgLUwgc2hvcmV3YWxsID4g L2Rldi9udWxsIDI+IC9kZXYvbnVsbDsgdGhlbg0KCSAgICAkMCBzdGFydA0K CWVsaWYgWyAkIyAtZXEgMyBdOyB0aGVuDQoJICAgIHNsZWVwICQzDQoJICAg ICQwIHJlc3RhcnQNCiAgICAgICAgZmkNCgk7Ow0KICAgIGxvZ3dhdGNoKQ0K CWJhbm5lcj0iU2hvcmV3YWxsLSR2ZXJzaW9uIExvZyBhdCAkSE9TVE5BTUUg LSINCg0KCWlmIFsgJCMgLWVxIDIgXTsgdGhlbg0KCSAgICBsb2d3YXRjaCAk Mg0KCWVsaWYgWyAkIyAtZXEgMSBdOyB0aGVuDQoJICAgIGxvZ3dhdGNoIDMw DQoJZWxzZQ0KCSAgICB1c2FnZSAxDQoJZmkNCiAgICAgICAgOzsNCiAgICAq KQ0KCXVzYWdlIDENCgk7Ow0KZXNhYyANCg0KDQoNCg0KDQoNCg0KDQoNCg0K DQoNCg=---1463811327-2097478821-1023027109=:9844--