<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>CGUserDirectory</name>
	<version>1.1.3</version>
  <mincmsversion>1.6.5</mincmsversion>
	<help>PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4KPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbAo8cD5BbGwgZGlzcGxheXMgYXJlIGNvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJ5IHRlbXBsYXRlcyBhbGxvd2luZyBmb3IgamF2YXNjcmlwdCwgYWpheCwgb3IgYW55IG90aGVyIGZhbmN5IGRpc3BsYXlzLiAgU3R5bGluZyBpcyBjb21wbGV0ZWx5IGNvbnRyb2xsYWJsZSBieSB0aGUgd2Vic2l0ZSBkZXZlbG9wZXIuPC9wPgogIDwvbGk+CiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4KPHA+WW91IGNhbiBjb25maWd1cmUgbXVsdGlwbGUgZGlmZmVyZW50IHZpZXdzIGZvciBlYWNoIGRpc3BsYXksIGFuZCB1c2UgdGhlbSB1bmRlciBkaWZmZXJlbnQgc2l0dWF0aW9ucy48L3A+CiAgPC9saT4KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4KICAgPHA+WW91IGNhbiBmaWx0ZXIgdGhlIG91dHB1dCBmb3IgdGhlIHN1bW1hcnkgdmlldyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyB1c2VyIHByb3BlcnR5IGZyb20gdGhlIEZFVSBtb2R1bGUuICBUaGlzIGFsc28gaW5jbHVkZXMgJnF1b3Q7TElLRSZxdW90OyBiYXNlZCBjcml0ZXJhLgogIDwvbGk+CiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+CiAgPGxpPlN1cHBvcnRzIFNFTyBmcmllbmRseSBVUkxTPC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byBwbGFjZSBhIHRhZyBsaWtlIHRoaXMgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIHBhZ2UgY29udGVudCA8Y29kZT57Q0dVc2VyRGlyZWN0b3J5fTwvY29kZT4uICBUbyBleHBhbmQgb24gdGhpcyBmdW5jdGlvbmFsaXR5LCBvciB0byBkaXNwbGF5IGEgc3Vic2V0IG9mIHlvdXIgdXNlcnMsIHNlZSB0aGUgcGFyYW1ldGVycyBiZWxvdy48L3A+CjxoMz5FeGFtcGxlczo8L2gzPgo8dWw+CjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VyczoKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VycyBvcmdhbml6ZWQgYnkgY2l0eToKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JnF1b3Q7ZGlyZWN0b3J5JnF1b3Q7IHByb3A9JnF1b3Q7Y2l0eSZxdW90O308L2NvZGU+PC9wPgo8L2xpPgo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlICZxdW90O21lbWJlcnMmcXVvdDsgZ3JvdXA6CjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgZ3JvdXA9JnF1b3Q7bWVtYmVycyZxdW90O308L2NvZGU+PC9wPgo8L2xpPgo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlIGNpdHkgb2YgY2FsZ2FyeToKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgcHJvcHZhbD0mcXVvdDtjYWxnYXJ5JnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBmcm9tIGNvdW50cmllcyB0aGF0IGJlZ2luIHdpdGggQzoKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgdXNlbGlrZT0xIHByb3B2YWw9JnF1b3Q7YyUmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KCjwvdWw+Cgo8aDM+Tm90ZXMgYWJvdXQgcHJldHR5IFVSTFM8L2gzPgo8cD4mcXVvdDtQcmV0dHkmcXVvdDsgb3IgU0VPIGZyaWVuZGx5IFVSTFMgbGltaXRzIHRoZSBmbGV4aWJpbGl0eSBvZiB0aGlzIG1vZHVsZSwgYW5kIHRoZSBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHNwZWNpZmllZCBvbiB0aGUgdGFnLiBQYXJ0aWN1bGFybHkgdGhvc2UgdGhhdCBjYW4gYmUgcGFzc2VkIG9uIHRvIHN1YnNlcXVlbnQgdmlld3MuICBGb3IgdGhpcyByZWFzb24sIHRoZSBkaXJlY3RvcnkgdmlldyBkb2VzIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGxpbmtzLiAgVGhpcyBhbGxvd3MgcGFyYW1ldGVycyBsaWtlIGRldGFpbHBhZ2UsIGRldGFpbHRlbXBsYXRlLCBhbmQgc3VtbWFyeXRlbXBsYXRlIHRvIGJlIHBhc3NlZCBpbiB0aGUgdGFnIHRvIHRoZSBkaXJlY3RvcnkgdmlldyBhbmQgdG8gaGF2ZSB0aG9zZSBwYXJhbWV0ZXJzIHBhc3NlZCBkb3duIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgZGV0YWlsIHZpZXdzLjwvcD4KPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjE3PC9saT48bGk+RnJvbnRFbmRVc2VycyA9Jmd0OyAxLjYuOTwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249ImRlZmF1bHQiIC0gVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoKPHVsPgogIDxsaT5icm93c2UgIC0gRGlzcGxheSBhIG5hdmlnYXRpb24gb2YgcHJvcGVydHkgdmFsdWVzLCBhbmQgYWxsb3cgZHJpbGxpbmcgZG93biB0byBtYXRjaGluZyBzdW1tYXJ5IHZpZXdzLjwvbGk+CiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+CiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4KICA8bGk+ZGV0YWlsIC0gRGlzcGxheXMgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgdXNlci48L2xpPgogIDxsaT5zZWFyY2ggLSBEaXNwbGF5cyBhIHNlYXJjaCBmb3JtLjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBpbmxpbmU9IiIgLSAtLUFkZCBNZSAtIG1vZHVsZTpDR1VzZXJEaXJlY3Rvcnkgc3RyaW5nOmhlbHBfcGFyYW1faW5saW5lLS08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGdyb3VwPSIiIC0gVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBnaWQ9IiIgLSBVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgaWQgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwLiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZ3JvdXAgcGFyYW1ldGVyLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvd2V4cGlyZWQ9IjAiIC0gQnkgZGVmYXVsdCwgdGhlIHN5c3RlbSB3aWxsIGV4Y2x1ZGUgZXhwaXJlZCB1c2VycyBmcm9tIGFueSBnZW5lcmF0ZWQgcmVwb3J0LiAgU2V0dGluZyB0aGlzIHBhcmFtZXRlciB0byAxIHdpbGwgaW5jbHVkZSB0aGVzZSB1c2Vycy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRieT0idXNlcm5hbWUiIC0gVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBzdW1tYXJ5IG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KIDxsaT5pZCAtIFRoZSB1c2VycyBpZCAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT51c2VybmFtZSAtIFRoZSB1c2VycyB1c2VybmFtZSAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5jcmVhdGVkYXRlIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgY3JlYXRlZC4gKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5hY3Rpdml0eSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGxhc3QgbG9nZ2VkIGluIG9yIGxvZ2dlZCBvdXQuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYnNvcnRieT0iIiAtIFVzZWQgZm9yIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBwcm9wZXJ0eSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPm5hbWUgLSB0aGUgcHJvcGVydHkgbmFtZS48L2xpPgogIDxsaT5jb3VudCAtIHRoZSBudW1iZXIgb2YgbWF0Y2hlcy48L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydG9yZGVyPSJBU0MiIC0gVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+CiAgPGxpPkRFU0MgLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGJzb3J0b3JkZXI9IkFTQyIgLSBVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5BU0MgLSBBc2NlbmRpbmcgb3JkZXI8L2xpPgogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYWdlbGltaXQ9IjEwMCIgLSBVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgcmV0dXJuZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwcm9wPSIiIC0gVXNlZCBmb3IgdGhlIGRlZmF1bHQsYnJvd3NlIGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoKPHVsPgogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LiAgSXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgYmVsb3cuPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBicm93c2UgYWN0aW9uCiAgICA8cD5JbiB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhbiBGRVUgcHJvcGVydHkgdG8gYnJvd3NlPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLgogICAgPHA+SW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24sIHRoaXMgYXByYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBnZW5lcmF0ZSBhIGRpcmVjdG9yeSBmcm9tLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBkaXJlY3RvcnkgYWN0aW9uIGlzICZxdW90O3VzZXJuYW1lJnF1b3RlOzwvcD4KICA8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcHJvcHZhbD0iIiAtIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgZm9yIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgdmFsdWUgb24gd2hpY2ggdG8gZmlsdGVyIHVzZXJzIGJ5LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdXNlbGlrZT0iMCIgLSBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdCBhbmQgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXJzLCB0aGlzIHBhcmFtZXRlciwgaWYgc2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgY29udGFpbnMgYSBMSUtFIGV4cHJlc3Npb248L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRldGFpbHBhZ2U9IiIgLSBUaGlzIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLCBzaG91bGQgY29udGFpbiB0aGUgcGFnZWlkIG9yIGFsaWFzIG9mIGEgQ01TIGNvbnRlbnQgcGFnZSBvbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0byBzaG93IGFueSBkZXRhaWwgcmVwb3J0PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXN1bHRwYWdlPSIiIC0gLS1BZGQgTWUgLSBtb2R1bGU6Q0dVc2VyRGlyZWN0b3J5IHN0cmluZzpoZWxwX3BhcmFtX3Jlc3VsdHBhZ2UtLTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3VtbWFyeXRlbXBsYXRlPSIiIC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBzdW1tYXJ5IGRpc3BsYXlzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkaXJlY3Rvcnl0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWx0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlYXJjaGZvcm10ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGluIHNlYXJjaCBmb3JtczwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYnJvd3NlcHJvcHRlbXBsYXRlPSIiIC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBicm93c2UgcHJvcGVydHkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGEgcHJvcGVydHkgYnJvd3NpbmcgdmlldzwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2VhcmNocHJvcGVydHk9IiIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHNpbmdsZSBhZGRpdGlvbmFsIEZFVSBwcm9wZXJ0eSBuYW1lIHRvIHN1cHBseSBpbiB0aGUgc2VhcmNoIGZvcm08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD0iIiAtIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZGV0YWlsIGRpc3BsYXksIHRoaXMgcGFyYW1ldGVyIG11c3QgY29udGFpbiB0aGUgdWlkIG9mIGEgdmFsaWQgZnJvbnRlbmQgdXNlciBhY2NvdW50PC9saT48L3VsPg==</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMS4zPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5CiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEKICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4xIC0gU2VwdGVtYmVyLCAyMDA5CiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjIgLSBTZXB0ZW1iZXIsIDIwMDkKICA8cD5GaXggcGFyYW1ldGVyIGNvbmZsaWN0IHdydCBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjMgLSBPY3RvYmVyLCAyMDA5CiAgPHA+TWlub3IgYnVnIGZpeC48L3A+CjwvbGk+CjwvdWw+PGJyIC8+</about>
	<description>A module allowing searching, browsing, and viewing details about frontend users</description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.17</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.6.9</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.browse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgcmV0dXJuOwokaW5saW5lID0gMDsKJHJlc3VsdHBhZ2UgPSAkcmV0dXJuaWQ7CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRCUk9XU0VQUk9QX05BTUUpOwokcHJvcGVydHk9Jyc7CiRmaWVsZHR5cGUgPSAnJzsKJG9wdGlvbnMgPSAnJzsKJHVzZWxpa2UgPSAwOwokc29ydG9yZGVyID0gJ2FzYyc7CgojCiMgR2V0IHBhcmFtZXRlcnMKIwppZiggaXNzZXQoJHBhcmFtc1snaW5saW5lJ10pICYmICRwYXJhbXNbJ2lubGluZSddICE9IDAgKQogIHsKICAgICRpbmxpbmUgPSAxOwogICAgdW5zZXQoJHBhcmFtc1snaW5saW5lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSkgKQogIHsKICAgICR0bXAgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkcmVzdWx0cGFnZSA9ICR0bXA7CgkkaW5saW5lID0gMDsKICAgICAgfQogICAgdW5zZXQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydicm93c2Vwcm9wdGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1snYnJvd3NlcHJvcHRlbXBsYXRlJ10pOwogICAgdW5zZXQoJHBhcmFtc1snYnJvd3NlcHJvcHRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRwcm9wZXJ0eSA9IHRyaW0oJHBhcmFtc1sncHJvcCddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydic29ydG9yZGVyJ10pICkKICB7CiAgICAkdG1wID0gc3RydG9sb3dlcigkcGFyYW1zWydic29ydG9yZGVyJ10pOwogICAgc3dpdGNoKCR0bXApCiAgICAgIHsKICAgICAgY2FzZSAnYXNjJzoKICAgICAgY2FzZSAnZGVzYyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKICAgICAgfQogIH0KCi8vIHByb3BlcnR5IG11c3QgYmUgc3BlY2lmaWVkLgppZiggZW1wdHkoJHByb3BlcnR5KSApIHJldHVybjsKCiRkZWZuID0gJGZldS0+R2V0UHJvcGVydHlEZWZuKCRwcm9wZXJ0eSk7Ci8vIHByb3BlcnR5IGNvdWxkIG5vdCBiZSBmb3VuZC4KaWYoICEkZGVmbiApIHJldHVybjsKCi8vIGZpZ3VyZSBvdXQgd2hhdCB0eXBlIG9mIGZpZWxkIGl0J2xsIGJlCmlmKCAkZGVmbiApCiAgewogICAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKICAgICAgewogICAgICBjYXNlICcwJzogLy8gdGV4dAogICAgICBjYXNlICcyJzogLy8gZW1haWwKCSRmaWVsZHR5cGUgPSAndGV4dCc7CglicmVhazsKCiAgICAgIGNhc2UgJzQnOiAvLyBkcm9wZG93bgogICAgICBjYXNlICc1JzogLy8gbXVsdGlzZWxlY3QKICAgICAgY2FzZSAnNyc6IC8vIHJhZGlvYnV0dG9ucwoJJGZpZWxkdHlwZSA9ICdzZWxlY3QnOwoJJHRtcCA9ICRmZXUtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSwxKTsKCSRvcHRpb25zID0gYXJyYXkoKTsKCSRvcHRpb25zWy0xXSA9ICR0aGlzLT5MYW5nKCdhbnknKTsKCWZvcmVhY2goICR0bXAgYXMgJGtleSA9PiAkdmFsdWUgKQoJICB7CgkgICAgJG9wdGlvbnNbJHZhbHVlXSA9ICRrZXk7CgkgIH0KCWlmKCAkZGVmblsndHlwZSddID09IDUgKQoJICB7CgkgICAgJHVzZWxpa2UgPSAxOwoJICB9CglicmVhazsKCiAgICAgIGNhc2UgJzEnOiAvLyBjaGVja2JveAogICAgICBjYXNlICczJzogLy8gdGV4dGFyZWEKICAgICAgY2FzZSAnNic6IC8vIGltYWdlCiAgICAgIGNhc2UgJzgnOiAvLyBkYXRlCgkvLyBub3Qgc3VwcG9ydGVkLgoJcmV0dXJuOwoJYnJlYWs7CiAgICAgIH0KICB9CgovLyBnZXQgdGhlIGRhdGEuCiRkYXRhID0gYXJyYXkoKTsKc3dpdGNoKCRmaWVsZHR5cGUpCiAgewogIGNhc2UgJ3RleHQnOgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCBkYXRhIAogICAgICAgICAgICAgICAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBBIAogICAgICAgICAgICAgICAgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBCCiAgICAgICAgICAgICAgICAgIE9OIEEudXNlcmlkID0gQi5pZCAKICAgICAgICAgICAgICAgV0hFUkUgQS50aXRsZSA9ID8KICAgICAgICAgICAgICAgICBBTkQgQi5leHBpcmVzID4gTk9XKCknOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LCRwcm9wZXJ0eSk7CiAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQogICAgICB7CgkkcmVjID0gYXJyYXkoKTsKCSRyZWNbJ25hbWUnXSA9ICRvbmVbJ2RhdGEnXTsKCSRyZWNbJ3VybCddID0gJHRoaXMtPkNyZWF0ZVByb3BlcnR5U3VtbWFyeVVSTCgkaWQsJHJlc3VsdHBhZ2UsJHByb3BlcnR5LCRvbmVbJ2RhdGEnXSwkcGFyYW1zLCRpbmxpbmUpOwoJJGRhdGFbXSA9ICRyZWM7CiAgICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICdzZWxlY3QnOgogICAgewogICAgICAkcXVlcnkgPSAnU0VMRUNUIGRhdGEgCiAgICAgICAgICAgICAgICAgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgQSAKICAgICAgICAgICAgICAgIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfdXNlcnMgQgogICAgICAgICAgICAgICAgICBPTiBBLnVzZXJpZCA9IEIuaWQgCiAgICAgICAgICAgICAgICAgV0hFUkUgQS50aXRsZSA9ID8KICAgICAgICAgICAgICAgICBBTkQgQi5leHBpcmVzID4gTk9XKCknOwogICAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHByb3BlcnR5KSk7CiAgICAgIGlmKCAhJHRtcCApCgl7CgkgIGVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7Cgl9CiAgICAgIGlmKCAkdG1wICkKCXsKCSAgLy8gYnVpbGQgYSBoaXN0b2dyYW0gb2YgYWxsIHRoZSBzZWxlY3RlZCBvcHRpb25zLgoJICAkaGlzdG9ncmFtID0gYXJyYXkoKTsKCSAgZm9yZWFjaCggJHRtcCBhcyAkcm93ICkKCSAgICB7CgkgICAgICAkdG1wMyA9IGV4cGxvZGUoJywnLCRyb3dbJ2RhdGEnXSk7CgkgICAgICBmb3JlYWNoKCAkdG1wMyBhcyAkb25ldmFsICkKCQl7CgkJICBpZiggIWlzc2V0KCRoaXN0b2dyYW1bJG9uZXZhbF0pICkKCQkgICAgewoJCSAgICAgICRoaXN0b2dyYW1bJG9uZXZhbF09MDsKCQkgICAgfQoJCSAgJGhpc3RvZ3JhbVskb25ldmFsXSsrOwoJCX0KCSAgICB9CgkgIAoJICAvLyBub3cgd2UgaGF2ZSBhbGwgdGhlIG9wdGlvbnMsIGJ1aWxkIG91ciBkYXRhIGFycmF5LgoJICBmb3JlYWNoKCAkaGlzdG9ncmFtIGFzICRrZXkgPT4gJGNvdW50ICkKCSAgICB7CgkgICAgICAkdmFsID0gJGtleTsKCSAgICAgIGlmKCAkdXNlbGlrZSApCgkJewoJCSAgJHBhcmFtc1sndXNlbGlrZSddID0gMTsKCQkgICR2YWwgPSAnJScuJHZhbC4nJSc7CgkJfQoJICAgICAgaWYoICFpc3NldCgkb3B0aW9uc1ska2V5XSkgKSBjb250aW51ZTsKCSAgICAgICRyZWMgPSBhcnJheSgpOwoJICAgICAgJHJlY1snbmFtZSddID0gJG9wdGlvbnNbJGtleV07CgkgICAgICAkcmVjWyd1cmwnXSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnl1cmwoJGlkLCRyZXN1bHRwYWdlLCRwcm9wZXJ0eSwkdmFsLCRwYXJhbXMsJGlubGluZSk7CgkgICAgICAkcmVjWydjb3VudCddID0gJGNvdW50OwoJICAgICAgCgkgICAgICAkZGF0YVtdID0gJHJlYzsKCSAgICB9CgoJICAvLyBub3cgd2UgY2FuIG9wdGlvbmFsbHkgc29ydCB0aGlzIHN0dWZmLgoJICBpZiggaXNzZXQoJHBhcmFtc1snYnNvcnRieSddKSApCgkgICAgewoJICAgICAgc3dpdGNoKCRwYXJhbXNbJ2Jzb3J0YnknXSkKCQl7CgkJY2FzZSAnbmFtZSc6CgkJICBpZiggJHNvcnRvcmRlciA9PSAnYXNjJyApCgkJICAgIHsKCQkgICAgICBjZ2VfYXJyYXk6Omhhc2hzb3J0KCRkYXRhLCduYW1lJyx0cnVlKTsKCQkgICAgfQoJCSAgZWxzZQoJCSAgICB7CgkJICAgICAgY2dlX2FycmF5OjpoYXNocnNvcnQoJGRhdGEsJ25hbWUnLHRydWUpOwoJCSAgICB9CgkJICBicmVhazsKCQljYXNlICdjb3VudCc6CgkJICBpZiggJHNvcnRvcmRlciA9PSAnYXNjJyApCgkJICAgIHsKCQkgICAgICBjZ2VfYXJyYXk6Omhhc2hzb3J0KCRkYXRhLCdjb3VudCcpOwoJCSAgICB9CgkJICBlbHNlCgkJICAgIHsKCQkgICAgICBjZ2VfYXJyYXk6Omhhc2hyc29ydCgkZGF0YSwnY291bnQnKTsKCQkgICAgfQoJCSAgYnJlYWs7CgkJfQoJICAgIH0KCX0gLy8gaWYKICAgIH0KICAgIGJyZWFrOwogIH0KCi8vCi8vIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKLy8KaWYoICFlbXB0eSgkZmllbGR0eXBlKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCd1ZF9maWVsZGRlZm4nLCRkZWZuKTsKICAgICRzbWFydHktPmFzc2lnbigndWRfZmllbGR0eXBlJywkZmllbGR0eXBlKTsKICAgIGlmKCAhZW1wdHkoJG9wdGlvbnMpICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCd1ZF9vcHRpb25zJywkb3B0aW9ucyk7CiAgICAgIH0KICB9CmlmKCBjb3VudCgkZGF0YSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignYnJvd3Nlb3B0aW9ucycsJGRhdGEpOwogIH0KCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnYnJvd3NlcHJvcF8nLiR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUU1VNTUFSWV9OQU1FKTsKJG1lc3NhZ2VzID0gYXJyYXkoKTsKJHN0YXR1cyA9ICcnOwokZ2lkID0gJyc7CiRzb3J0YnkgPSAndXNlcm5hbWUnOwokc29ydG9yZGVyID0gJ0FTQyc7CiRzaG93ZXhwaXJlZCA9IDA7CiRwYWdlbGltaXQgPSAxMDA7CiRwYWdlbnVtID0gMTsKJG51bXBhZ2VzID0gMTsKJGl0ZW1jb3VudCA9IDA7CiRvZmZzZXQgPSAwOwokcHJvcGVydHkgPSAnJzsKJHVzZWxpa2UgPSAwOwokcHJvcHZhbCA9ICcnOwokb3JpZ19yZXR1cm5pZCA9ICRyZXR1cm5pZDsKJGRldGFpbHBhZ2UgPSAkcmV0dXJuaWQ7CgoKIwojIFNldHVwCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgCiAgewogICAgJHN0YXR1cyA9ICdlcnJvcic7CiAgICAkbWVzc2FnZXNbXSA9ICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXUnKTsKICB9CgoKIwojIFByb2Nlc3MgUGFyYW1ldGVycwojCmlmKCBpc3NldCgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdzdW1tYXJ5XycudHJpbSgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSk7CiAgfQppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSkKICB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCSAgfQogICAgICB9CgogICAgaWYoICRkZXRhaWxwYWdlICE9ICcnICkKICAgICAgewoJJHBhcmFtc1snb3JpZ3BhZ2UnXSA9ICRyZXR1cm5pZDsKICAgICAgfQogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydncm91cCddKSApCiAgewogICAgJGdpZCA9ICRmZXUtPkdldEdyb3VwSUQodHJpbSgkcGFyYW1zWydncm91cCddKSk7CiAgICBpZiggJGdpZCA9PT0gZmFsc2UgKQogICAgICB7Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRncm91cCcpOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZ2lkJ10pICkKICB7CiAgICAkZ2lkID0gKGludCkkcGFyYW1zWydnaWQnXTsKICAgIGlmKCAhJGZldS0+R3JvdXBFeGlzdHNCeUlEKCRnaWQpICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZ3JvdXAnKTsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Nob3dleHBpcmVkJ10pICkKICB7CiAgICAkc2hvd2V4cGlyZWQgPSAoaW50KSRzaG93ZXhwaXJlZDsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydwcm9wJ10pICkKICB7CiAgICAkcHJvcGVydHkgPSB0cmltKCRwYXJhbXNbJ3Byb3AnXSk7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndXNlbGlrZSddKSApCiAgICAgIHsKCSR1c2VsaWtlID0gKGludCkkcGFyYW1zWyd1c2VsaWtlJ107CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydwcm9wdmFsJ10pICkKICAgICAgewoJJHByb3B2YWwgPSB0cmltKCRwYXJhbXNbJ3Byb3B2YWwnXSk7CiAgICAgIH0KCiAgICBpZiggIWVtcHR5KCRwcm9wZXJ0eSkgJiYgZW1wdHkoJHByb3B2YWwpICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKTsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSApCiAgewogICAgJHRtcCA9IHRyaW0oJHBhcmFtc1snc29ydGJ5J10pOwogICAgc3dpdGNoKCR0bXApCiAgICAgIHsKICAgICAgY2FzZSAnaWQnOgogICAgICBjYXNlICd1c2VybmFtZSc6CiAgICAgIGNhc2UgJ2NyZWF0ZWRhdGUnOgogICAgICBjYXNlICdleHBpcmVzJzoKCSRzb3J0YnkgPSAnVS4nLiR0bXA7CglicmVhazsKICAgICAgY2FzZSAnYWN0aXZpdHknOgoJJHNvcnRieSA9ICdILnJlZmRhdGUnOwoJYnJlYWs7CiAgICAgIGRlZmF1bHQ6Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlc1tdID0gICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkc29ydGZpZWxkJywkdG1wKTsKCWJyZWFrOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICB7CiAgICAkdG1wID0gc3RydG91cHBlcih0cmltKCRwYXJhbXNbJ3NvcnRvcmRlciddKSk7CiAgICBzd2l0Y2goICR0bXAgKQogICAgICB7CiAgICAgIGNhc2UgJ0FTQyc6CiAgICAgIGNhc2UgJ0RFU0MnOgoJJHNvcnRvcmRlciA9ICR0bXA7CglicmVhazsKICAgICAgZGVmYXVsdDoKCSRzdGF0dXMgPSAnZXJyb3InOwoJJG1lc3NhZ2VzW10gPSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnLCR0bXApOwoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydwYWdlbGltaXQnXSkgKQogIHsKICAgICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ3BhZ2VsaW1pdCddOwogICAgJHBhZ2VsaW1pdCA9IG1heCgkcGFnZWxpbWl0LDEpOwogICAgJHBhZ2VsaW1pdCA9IG1pbigxMDAwLCRwYWdlbGltaXQpOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VudW0nXSkgKQogIHsKICAgICRwYWdlbnVtID0gKGludCkkcGFyYW1zWydwYWdlbnVtJ107CiAgICAkcGFnZW51bSA9IG1heCgkcGFnZW51bSwxKTsKICAgICRwYWdlbnVtID0gbWluKDEwMDAwLCRwYWdlbnVtKTsKICB9CgoKIwojIEdldCB0aGUgZGF0YQojCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgJG5vdyA9ICRkYi0+RGJUaW1lc3RhbXAodGltZSgpKTsKICAgICRqb2lucyA9IGFycmF5KCk7CiAgICAkam9pbnNjb3VudCA9IGFycmF5KCk7CiAgICAkd2hlcmUgPSBhcnJheSgpOwogICAgJHdoZXJlY291bnQgPSBhcnJheSgpOwogICAgJHFwYXJtcyA9IGFycmF5KCk7CiAgICAkcXBhcm1zY291bnQgPSBhcnJheSgpOwoKICAgIC8vIAogICAgLy8gYnVpbGQgdGhlIHF1ZXJpZXMKICAgIC8vU0VMRUNUIFUuKixILnJlZmRhdGUgRlJPTSBjbXNfbW9kdWxlX2ZldXNlcnNfdXNlcnMgVSBMRUZUIEpPSU4gY21zX21vZHVsZV9mZXVzZXJzX2hpc3RvcnkgSCBPTiBVLmlkID0gSC51c2VyaWQgV0hFUkUgSC5hY3Rpb24gPSAnbG9naW4nIEdST1VQIEJZIFUuaWQgT1JERVIgYnkgSC5yZWZkYXRlIERFU0M7IAogICAgJHRtcCAuPSAkZGItPklmTnVsbCgnSC5yZWZkYXRlJywkZGItPkRiVGltZXN0YW1wKDEpKS4nIEFTIHJlZmRhdGUnOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBVLiosJy4kdG1wLicgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJHF1ZXJ5Y291bnQgPSAnU0VMRUNUIGNvdW50KFUuaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2hpc3RvcnkgSCBPTiBVLmlkID0gSC51c2VyaWQnOwoKICAgIC8vCiAgICAvLyB0b2RvIGZpbGwgaW4gc3R1ZmYgaGVyZQogICAgLy8KICAgIGlmKCAhZW1wdHkoJGdpZCkgKQogICAgICB7Cgkkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyBiZWwgT04gVS5pZCA9IGJlbC51c2VyaWQnOwoJJGpvaW5zY291bnRbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyBiZWwgT04gVS5pZCA9IGJlbC51c2VyaWQnOwoJJHdoZXJlW10gPSAnYmVsLmdyb3VwaWQgPSA/JzsKCSR3aGVyZWNvdW50W10gPSAnYmVsLmdyb3VwaWQgPSA/JzsKCSRxcGFybXNbXSA9ICRnaWQ7CgkkcXBhcm1zY291bnRbXSA9ICRnaWQ7CiAgICAgIH0KCiAgICBpZiggISRzaG93ZXhwaXJlZCApCiAgICAgIHsKCSR3aGVyZVtdID0gImV4cGlyZXMgPiAkbm93IjsKCSR3aGVyZWNvdW50W10gPSAiZXhwaXJlcyA+ICRub3ciOwogICAgICB9CiAgICBpZiggIWVtcHR5KCRwcm9wZXJ0eSkgJiYgIWVtcHR5KCRwcm9wdmFsKSApCiAgICAgIHsKCSRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFAgT04gVS5pZCA9IFAudXNlcmlkJzsKCSRqb2luc2NvdW50W10gPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgUCBPTiBVLmlkID0gUC51c2VyaWQnOwoJaWYoICRwcm9wZXJ0eSAhPSAnX191c2VybmFtZV9fJyApCgkgIHsKCSAgICAkd2hlcmVbXSA9ICdQLnRpdGxlID0gPyc7CgkgICAgJHdoZXJlY291bnRbXSA9ICdQLnRpdGxlID0gPyc7CgkgICAgJHFwYXJtc1tdID0gJHByb3BlcnR5OwoJICAgICRxcGFybXNjb3VudFtdID0gJHByb3BlcnR5OwoJICB9CgoJaWYoICR1c2VsaWtlICkKCSAgewoJICAgIGlmKCAkcHJvcGVydHkgPT0gJ19fdXNlcm5hbWVfXycgKQoJICAgICAgewoJCSR3aGVyZVtdID0gJ1UudXNlcm5hbWUgTElLRSA/JzsKCQkkd2hlcmVjb3VudFtdID0gJ1UudXNlcm5hbWUgTElLRSA/JzsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJHdoZXJlW10gPSAnUC5kYXRhIExJS0UgPyc7CgkJJHdoZXJlY291bnRbXSA9ICdQLmRhdGEgTElLRSA/JzsKCSAgICAgIH0KCSAgICAkcXBhcm1zW10gPSAkcHJvcHZhbDsKCSAgfQoJZWxzZQoJICB7CgkgICAgaWYoICRwcm9wZXJ0eSA9PSAnX191c2VybmFtZV9fJyApCgkgICAgICB7CgkJJHdoZXJlW10gPSAnVS51c2VybmFtZSA9ID8nOwoJCSR3aGVyZWNvdW50W10gPSAnVS51c2VybmFtZSA9ID8nOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkd2hlcmVbXSA9ICdQLmRhdGEgPSA/JzsKCQkkd2hlcmVjb3VudFtdID0gJ1AuZGF0YSA9ID8nOwoJICAgICAgfQoJICAgICRxcGFybXNbXSA9ICRwcm9wdmFsOwoJICB9CiAgICAgIH0KCiAgICAvLyBmaW5hbCBhc3NlbWJseQogICAgJHN1ZmZpeCA9ICcnOwogICAgJHN1ZmZpeGNvdW50ID0gJyc7CiAgICBpZiggY291bnQoJGpvaW5zKSApCiAgICAgIHsKCSRzdWZmaXggLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICAgICAgfQogICAgaWYoIGNvdW50KCRqb2luc2NvdW50KSApCiAgICAgIHsKCSRzdWZmaXhjb3VudCAuPSAnIExFRlQgSk9JTiAnLmltcGxvZGUoJyBMRUZUIEpPSU4gJywkam9pbnNjb3VudCk7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkd2hlcmUpICkKICAgICAgewoJJHN1ZmZpeCAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICAgIH0KICAgIGlmKCBjb3VudCgkd2hlcmVjb3VudCkgKQogICAgICB7Cgkkc3VmZml4Y291bnQgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmVjb3VudCk7CiAgICAgIH0KICAgICRzdWZmaXggLj0gJyBHUk9VUCBCWSBVLmlkJzsKICAgIC8vJHN1ZmZpeGNvdW50IC49ICcgR1JPVVAgQlkgVS5pZCc7CgogICAgJHN1ZmZpeCAuPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7CiAgICAkcXVlcnkgLj0gJHN1ZmZpeDsKICAgICRxdWVyeWNvdW50IC49ICRzdWZmaXhjb3VudDsKCiAgICAvLyBHZXQgdGhlIGNvdW50IG9mIGl0ZW1zLgogICAgJGl0ZW1jb3VudCA9ICRkYi0+R2V0T25lKCRxdWVyeWNvdW50LCRxcGFybXMpOwogICAgaWYoICEkaXRlbWNvdW50ICkgCiAgICAgIHsKCWVjaG8gJ0RFQlVHOiBlcnJvciBpbiBjb3VudCBxdWVyeTxici8+JzsKCWVjaG8gJyZuYnNwOyZuYnNwO1FVRVJZID0gJy4kZGItPnNxbC4nPGJyLz4nOwoJZWNobyAnJm5ic3A7Jm5ic3A7RXJyb3IgPSAnLiRkYi0+RXJyb3JNc2coKTsKCSRzdGF0dXMgPSAnZXJyb3InOwoJJG1lc3NhZ2VzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfc3FsJyk7CiAgICAgIH0KCiAgICAvLyBjYWxjdWxhdGUgcGFnZSB2YWx1ZXMuCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CgkkbnVtcGFnZXMgPSAoaW50KSgkaXRlbWNvdW50IC8gJHBhZ2VsaW1pdCk7CgkkdG1wID0gJGl0ZW1jb3VudCAlICRwYWdlbGltaXQ7CglpZiggJHRtcCA+IDAgKSAkbnVtcGFnZXMrKzsKCgkkb2Zmc2V0ID0gJHBhZ2VsaW1pdCAqICgkcGFnZW51bSAtIDEpOwogICAgICB9CgogICAgJGRhdGEgPSAnJzsKICAgIGlmKCBlbXB0eSgkc3RhdHVzKSApCiAgICAgIHsKCSRkYnIgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeSwkcGFnZWxpbWl0LCRvZmZzZXQsJHFwYXJtcyk7CglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAnREVCVUc6IGVycm9yIGluIHF1ZXJ5PGJyLz4nOwoJICAgIGVjaG8gJyZuYnNwOyZuYnNwO1FVRVJZID0gJy4kZGItPnNxbC4nPGJyLz4nOwoJICAgIGVjaG8gJyZuYnNwOyZuYnNwO0Vycm9yID0gJy4kZGItPkVycm9yTXNnKCk7CgkgICAgJHN0YXR1cyA9ICdlcnJvcic7CgkgICAgJG1lc3NhZ2VzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfc3FsJyk7CgkgIH0KCgkkZGF0YSA9IGFycmF5KCk7Cgl3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKCSAgewoJICAgICRkYXRhW10gPSAkcm93OwoJICB9CgkkZGJyLT5DbG9zZSgpOwogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8KCS8vIEV4cGFuZCBhbGwgdGhlIHVzZXIgb3B0aW9ucwoJLy8KCgkkYmFkX2RhdGUgPSB0cmltKCRkYi0+RGJUaW1lU3RhbXAoMSksIiciKTsKCgkvLyBxdWVyeSB0byBnZXQgYWxsIHVzZXIgbWVtYmVyIGdyb3VwcwoJJGdxdWVyeSA9ICdTRUxFQ1QgZ3JvdXBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIAogICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKCQoJLy8gcXVlcnkgdG8gZ2V0IHVzZXIgcHJvcGVydGllcy4KCSRwcXVlcnkgPSAnIFNFTEVDVCB0aXRsZSxkYXRhIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgCiAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8nOwoJCglmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKysgKQoJICB7CgkgICAgLy8gaGlkZSB0aGUgcGFzc3dvcmQgZmllbGQKCSAgICB1bnNldCgkZGF0YVskaV1bJ3Bhc3N3b3JkJ10pOwoKCSAgICAvLyB1bnNldCB0aGUgcmVmZGF0ZSBpZiB0aGUgdXNlciBoYXMgaGFkIG5vIGFjdGl2aXR5CgkgICAgaWYoICRkYXRhWyRpXVsncmVmZGF0ZSddID09ICRiYWRfZGF0ZSApCgkgICAgICB7CgkJdW5zZXQoJGRhdGFbJGldWydyZWZkYXRlJ10pOwoJICAgICAgfQoJICAgIAoJICAgIC8vIERldGFpbCBVUkwKCSAgICAkcGFyYW1zWyd1aWQnXSA9ICRkYXRhWyRpXVsnaWQnXTsKCSAgICAkcHJldHR5dXJsID0gJ3VzZXJzLycuJHBhcmFtc1sndWlkJ10uJy8nLiRkZXRhaWxwYWdlOwoJICAgIGlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApCgkgICAgICB7CgkJJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCh0cmltKCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKTsKCSAgICAgIH0KCSAgICAkcHJldHR5dXJsIC49ICcvJy5tdW5nZV9zdHJpbmdfdG9fdXJsKCRkYXRhWyRpXVsndXNlcm5hbWUnXSk7CgkgICAgJGRhdGFbJGldWydkZXRhaWxfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGV0YWlsJywkZGV0YWlscGFnZSwKCQkJCQkJICAgICAgICRwYXJhbXMsZmFsc2UsJHByZXR0eXVybCk7CgkJCQkJCSAgICAgICAKCSAgICAvLyBhZGQgbWVtYmVyIGdyb3VwIGlkcwoJICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJGRhdGFbJGldWydpZCddKSk7CgkgICAgJGdyb3VwcyA9ICR0aGlzLT5hcnJheV9leHRyYWN0X2ZpZWxkKCR0bXAsJ2dyb3VwaWQnKTsKCSAgICAkZGF0YVskaV1bJ2dyb3VwcyddID0gJGdyb3VwczsKCSAgICAKCSAgICAvLyBHZXQgcHJvcHJldGllcwoJICAgICRnc3RyID0gJygnLmltcGxvZGUoJywnLCRncm91cHMpLicpJzsKCSAgICAkdG1wID0gJGRiLT5HZXRBcnJheShzcHJpbnRmKCRwcXVlcnksJGdzdHIpLGFycmF5KCRkYXRhWyRpXVsnaWQnXSkpOwoJICAgIGlmKCAkdG1wICkKCSAgICAgIHsKCQkkdG1wMiA9IGFycmF5KCk7CgkJZm9yKCAkaiA9IDA7ICRqIDwgY291bnQoJHRtcCk7ICRqKysgKQoJCSAgewoJCSAgICBpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkJICAgICAgewoJCQkkdG1wMlskdG1wWyRqXVsndGl0bGUnXV0gPSAkdG1wWyRqXVsnZGF0YSddOwoJCSAgICAgIH0KCQkgIH0KCQkkZGF0YVskaV1bJ3Byb3BlcnRpZXMnXSA9ICR0bXAyOwoJICAgICAgfQoJICB9CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CgkvLyBHZXQgYWxsIHRoZSB1c2VyIHByb3BlcnRpZXMKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbic7CgkkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJJHByb3BzID0gJHRoaXMtPmFycmF5X3RvX2hhc2goJHRtcCwnbmFtZScpOwogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8gZ2V0IGFsbCB0aGUgZ3JvdXBzCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfZ3JvdXBzJzsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgkkZ3JvdXBzID0gJHRoaXMtPmFycmF5X3RvX2hhc2goJHRtcCwnaWQnKTsKICAgICAgfQogIH0KCgojCiMgR2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQojCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyb3VwcycsJGdyb3Vwcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsY291bnQnLCRpdGVtY291bnQpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJwYWdlJywkcGFnZW51bSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ251bXBhZ2VzJywkbnVtcGFnZXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvZmV1c2VycycpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwoKICAgIGlmKCAkbnVtcGFnZXMgPiAxICkKICAgICAgewoJaWYoICRwYWdlbnVtID4gMSApCgkgIHsKCSAgICAkcGFybXMgPSAkcGFyYW1zOwoJICAgICRwYXJtc1sncGFnZW51bSddID0gMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZV91cmwnLAoJCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCSAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtIC0gMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsCgkJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJICB9CglpZiggJHBhZ2VudW0gPCAkbnVtcGFnZXMgKQoJICB7CgkgICAgJHBhcm1zID0gJHBhcmFtczsKCSAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtICsgMTsKCSAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsCgkJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJICAgICRwYXJtc1sncGFnZW51bSddID0gJG51bXBhZ2VzOwoJICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2VfdXJsJywKCQkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcm1zKSk7CgkgIH0KICAgICAgfQogICAgLy9lY2hvICc8cHJlPic7IHByaW50X3IoICRkYXRhICk7IGVjaG8gJzwvcHJlPic7CiAgfQplbHNlCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCRzdGF0dXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlcycsJG1lc3NhZ2VzKTsKICB9CgoKIwojIERpc3BsYXkgdGhlIHRlbXBsYXRlCiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGlyZWN0b3J5dGVtcGxhdGVzJywKCQkJICAgICAkdGhpcy0+TGFuZygnbGJsX2RpcmVjdG9yeXRlbXBsYXRlcycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc3VtbWFyeXRlbXBsYXRlcycsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZXRhaWx0ZW1wbGF0ZXMnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdsYmxfZGV0YWlsdGVtcGxhdGVzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzZWFyY2hmb3JtdGVtcGxhdGVzJywKCQkJICAgICAkdGhpcy0+TGFuZygnbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2Jyb3dzZXByb3B0ZW1wbGF0ZXMnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVmYXVsdHRlbXBsYXRlcycsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2xibF9kZWZhdWx0dGVtcGxhdGVzJykpOwogIH0KLy8gaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQovLyAgIHsKLy8gICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc2V0dGluZ3MnLAovLyAJCQkgICAgICR0aGlzLT5MYW5nKCdsYmxfc2V0dGluZ3MnKSk7Ci8vICAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RpcmVjdG9yeXRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RpcmVjdG9yeXRlbXBsYXRlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc3VtbWFyeXRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3N1bW1hcnl0ZW1wbGF0ZXNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RldGFpbHRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RldGFpbHRlbXBsYXRlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2VhcmNoZm9ybXRlbXBsYXRlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3NlYXJjaGZvcm10ZW1wbGF0ZXNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2Jyb3dzZXByb3B0ZW1wbGF0ZXMnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9icm93c2Vwcm9wdGVtcGxhdGVzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0dGVtcGxhdGVzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZGVmYXVsdHRlbXBsYXRlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9Ci8vIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKLy8gICB7Ci8vICAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2V0dGluZ3MnKTsKLy8gICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9zZXR0aW5nc190YWIucGhwJyk7Ci8vICAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKLy8gICB9CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiR0aGV0ZW1wbGF0ZSA9ICdkZXRhaWxfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUREVUQUlMX05BTUUpOwokc3RhdHVzID0gJyc7CiR1aWQgPSAnJzsKJGRhdGEgPSAnJzsKJHByb3BzID0gJyc7CiRncm91cHMgPSAnJzsKCiMKIyBTZXR1cAojCiRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldSApIAogIHsKICAgICRzdGF0dXMgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXUnKTsKICB9CgojCiMgUHJvY2VzcyBQYXJhbWV0ZXJzCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnZGV0YWlsXycudHJpbSgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKTsKICB9CmlmKCAhaXNzZXQoJHBhcmFtc1sndWlkJ10pICkKICB7CiAgICAkc3RhdHVzID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpOwogIH0KJHVpZCA9IChpbnQpJHBhcmFtc1sndWlkJ107CgojCiMgR2V0IHRoZSBkYXRhCiMKJHRncm91cHMgPSAnJzsKaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyB1c2VyIGFjY291bnQgZGV0YWlscwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIGlkID0gPyc7CiAgICAkZGF0YSA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdWlkKSk7CiAgICBpZiggISRkYXRhICkKICAgICAgewoJJHN0YXR1cyA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKICAgICAgfQogIH0KaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyBsYXN0IGFjdGl2aXR5IGRhdGUKICAgICRxdWVyeSA9ICdTRUxFQ1QgcmVmZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IAogICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/CiAgICAgICAgICAgICAgIE9SREVSIEJZIHJlZmRhdGUgREVTQwogICAgICAgICAgICAgICBMSU1JVCAxJzsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHVpZCkpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkZGF0YVsncmVmZGF0ZSddID0gJHRtcDsKICAgICAgfQogIH0KaWYoIGVtcHR5KCRzdGF0dXMpICkKICB7CiAgICAvLyBtZW1iZXIgZ3JvdXBzCiAgICAkZ3F1ZXJ5ID0gJ1NFTEVDVCBncm91cGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgCiAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJHVpZCkpOwogICAgJHRncm91cHMgPSAkdGhpcy0+YXJyYXlfZXh0cmFjdF9maWVsZCgkdG1wLCdncm91cGlkJyk7CiAgICAkZGF0YVsnZ3JvdXBzJ10gPSAkdGdyb3VwczsKICB9CmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgLy8gdXNlciBwcm9wZXJ0aWVzCiAgICAkcHF1ZXJ5ID0gJyBTRUxFQ1QgdGl0bGUsZGF0YSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIAogICAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8nOwogICAgJGdzdHIgPSAnKCcuaW1wbG9kZSgnLCcsJHRncm91cHMpLicpJzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KHNwcmludGYoJHBxdWVyeSwkZ3N0ciksYXJyYXkoJHVpZCkpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkdG1wMiA9IGFycmF5KCk7Cglmb3IoICRqID0gMDsgJGogPCBjb3VudCgkdG1wKTsgJGorKyApCgkgIHsKCSAgICBpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkgICAgICB7CgkJJHRtcDJbJHRtcFskal1bJ3RpdGxlJ11dID0gJHRtcFskal1bJ2RhdGEnXTsKCSAgICAgIH0KCSAgfQoJJGRhdGFbJ3Byb3BlcnRpZXMnXSA9ICR0bXAyOwogICAgICB9CiAgfQppZiggZW1wdHkoJHN0YXR1cykgKQogIHsKICAgIC8vIEdldCBhbGwgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4nOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICRwcm9wcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ25hbWUnKTsKICB9CgppZiggZW1wdHkoJHN0YXR1cykgKQogIHsKICAgIC8vIGdldCBhbGwgdGhlIGdyb3VwcwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2dyb3Vwcyc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgJGdyb3VwcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ2lkJyk7CiAgfQoKIwojIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ29uZXVzZXInLCRkYXRhKTsKJHNtYXJ0eS0+YXNzaWduKCdncm91cHMnLCRncm91cHMpOwokc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiRzbWFydHktPmFzc2lnbignZmlsZV9sb2NhdGlvbicsJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nL2ZldXNlcnMnKTsKCiMKIyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.directory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoZXRlbXBsYXRlID0gJ2RpcmVjdG9yeV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRESVJFQ1RPUllfTkFNRSk7CiRmaWVsZCA9ICd1c2VybmFtZSc7CiRwcm9wID0gJyc7CiRzcGFyc2UgPSAwOwokc2hvd2V4cGlyZWQgPSAwOwoKIwojIEhhbmRsZSBQYXJhbXMKIwppZiggaXNzZXQoJHBhcmFtc1snZGlyZWN0b3J5dGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdkaXJlY3RvcnlfJy50cmltKCRwYXJhbXNbJ2RpcmVjdG9yeXRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb3AnXSkgKQogIHsKICAgICRmaWVsZCA9ICdfX3Byb3BlcnR5X18nOwogICAgJHByb3AgPSB0cmltKCRwYXJhbXNbJ3Byb3AnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3BhcnNlJ10pICkKICB7CiAgICAkc3BhcnNlID0gKGludCkkcGFyYW1zWydzcGFyc2UnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzaG93ZXhwaXJlZCddICkKICB7CiAgICAkc2hvd2V4cGlyZWQgPSAoaW50KSRwYXJhbXNbJ3Nob3dleHBpcmVkJ107CiAgfQoKIwojIEdldCB0aGUgZGF0YQojCiR0aGVkYXRlID0gJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpOwppZiggJHNob3dleHBpcmVkICkKICB7CiAgICAkdGhlZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoMSk7CiAgfQokY2hhcmFycmF5ID0gYXJyYXkoKTsKaWYoICRmaWVsZCA9PSAnX19wcm9wZXJ0eV9fJyApCiAgewogICAgLy8gZ2V0IGxpc3Qgb2YgbGV0dGVycwogICAgJHF1ZXJ5ID0gIlNFTEVDVCBkaXN0aW5jdCBsZWZ0KHAuZGF0YSwgMSkgQVMgZmlyc3RfY2hhciAKICAgICAgICAgICAgICAgIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgcAogICAgICAgICAgICAgICBJTk5FUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyB1CiAgICAgICAgICAgICAgIFdIRVJFIHUuaWQgPSBwLnVzZXJpZCAKICAgICAgICAgICAgICAgICBBTkQgcC50aXRsZSA9ID8KICAgICAgICAgICAgICAgICBBTkQgdS5leHBpcmVzID4gJHRoZWRhdGUKICAgICAgICAgICAgICAgT1JERVIgQlkgbGVmdChwLmRhdGEsMSkiOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRwcm9wKSk7CiAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQogICAgICB7CgkkdDIgPSBzdHJ0b3VwcGVyKHRyaW0oJG9uZVsnZmlyc3RfY2hhciddKSk7CglpZiggZW1wdHkoJHQyKSApIGNvbnRpbnVlOwoKCSRwYXJtcyA9ICRwYXJhbXM7CgkkcGFybXNbJ3VzZWxpa2UnXT0xOwoJJHBhcm1zWydwcm9wJ109JHByb3A7CgkkcGFybXNbJ3Byb3B2YWwnXT0ieyR0Mn0lIjsKCSR0MyA9IGFycmF5KCR0MiwkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJJGNoYXJhcnJheVtdID0gJHQzOwogICAgICB9CiAgfQplbHNlCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCBsZWZ0KHVzZXJuYW1lLDEpIEFTIGZpcnN0X2NoYXIKICAgICAgICAgICAgICAgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzCiAgICAgICAgICAgICAgIFdIRVJFIGV4cGlyZXMgPiAkdGhlZGF0ZQogICAgICAgICAgICAgICBPUkRFUiBCWSBsZWZ0KHVzZXJuYW1lLDEpIjsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQogICAgICB7CgkkdDIgPSBzdHJ0b3VwcGVyKHRyaW0oJG9uZVsnZmlyc3RfY2hhciddKSk7CglpZiggZW1wdHkoJHQyKSApIGNvbnRpbnVlOwoKCSRwYXJtcyA9ICRwYXJhbXM7CgkkcGFybXNbJ3VzZWxpa2UnXT0xOwoJJHBhcm1zWydwcm9wJ109J19fdXNlcm5hbWVfXyc7CgkkcGFybXNbJ3Byb3B2YWwnXT0ieyR0Mn0lIjsKCSR0MyA9IGFycmF5KCR0MiwkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJtcykpOwoJJGNoYXJhcnJheVtdID0gJHQzOwogICAgICB9CiAgfQoKaWYoICEkc3BhcnNlICkKICB7CiAgICAkdG1wID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSBvcmQoJ0EnKTsgJGkgPD0gb3JkKCdaJyk7ICRpKysgKQogICAgICB7CgkkdDIgPSBhcnJheSgpOwoJJHQyW10gPSBjaHIoJGkpOwoJZm9yZWFjaCggJGNoYXJhcnJheSBhcyAkb25lICkKCSAgewoJICAgIGlmKCAkb25lWzBdID09IGNocigkaSkgKQoJICAgICAgewoJCSR0MltdID0gJG9uZVsxXTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJJHRtcFtdID0gJHQyOwogICAgICB9CiAgICAkY2hhcmFycmF5ID0gJHRtcDsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ2NoYXJhcnJheScsJGNoYXJhcnJheSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHNvcnRvcmRlciAgICAgID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FzYycpOwokc29ydGJ5ICAgICAgICAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWUnKTsKJGRldGFpbHBhZ2UgICAgID0gJHJldHVybmlkOwokcGFnZWxpbWl0ICAgICAgPSAxMDAwMDA7CiRpbmxpbmUgICAgICAgICA9IDA7CiRwYWdlICAgICAgICAgICA9IDE7CiR0aGV0ZW1wbGF0ZSAgICA9ICdzdW1tYXJ5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNVTU1BUllfTkFNRSk7CiR1c2VybmFtZV9leHByICA9ICcnOwokc2VhcmNocHJvcGVydHkgPSAnJzsKJHNvcnRieSAgICAgICAgID0gJ3VzZXJuYW1lJzsKJHNvcnRvcmRlciAgICAgID0gJ0FTQyc7CiRwcm9wdmFsICAgICAgICA9ICcnOwokb2Zmc2V0ICAgICAgICAgPSAwOwokcHJvcHMgICAgICAgICAgPSAnJzsKJGZldSAgICAgICAgICAgID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgCgojCiMgU2V0dXAKIwppZiggaXNzZXQoICRwYXJhbXNbJ2lubGluZSddICkgJiYgJHBhcmFtc1snaW5saW5lJ10gIT0gMCApCiAgewogICAgJGlubGluZSA9IDE7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnc3VtbWFyeV8nLnRyaW0oJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydkZXRhaWxwYWdlJ10gKSApCiAgewogICAgJHRtcCA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CiAgICBpZiggJHRtcCApCiAgICAgIHsKCSRkZXRhaWxwYWdlID0gJHRtcDsKCSRpbmxpbmUgPSAwOwogICAgICB9CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ3NvcnRvcmRlciddICkgKQogIHsKICAgICR0bXAgPSBzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRvcmRlciddKTsKICAgIHN3aXRjaCggJHRtcCApCiAgICAgIHsKICAgICAgY2FzZSAnYXNjJzoKICAgICAgY2FzZSAnZGVzYyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHNvcnRvcmRlciA9ICdhc2MnOwoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0YnknXSkgKQogIHsKICAgICR0bXAgPSB0cmltKCRwYXJhbXNbJ3NvcnRieSddKTsKICAgIHN3aXRjaCgkdG1wKQogICAgICB7CiAgICAgIGNhc2UgJ2lkJzoKICAgICAgY2FzZSAndXNlcm5hbWUnOgogICAgICBjYXNlICdjcmVhdGVkYXRlJzoKICAgICAgY2FzZSAnZXhwaXJlcyc6Cgkkc29ydGJ5ID0gJ1UuJy4kdG1wOwoJYnJlYWs7CiAgICAgIGNhc2UgJ2FjdGl2aXR5JzoKCSRzb3J0YnkgPSAnSC5yZWZkYXRlJzsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHNvcnRmaWVsZCcsJHRtcCk7CglicmVhazsKICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSApCiAgewogICAgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1sncGFnZWxpbWl0J107CiAgICAkcGFnZWxpbWl0ID0gbWF4KCRwYWdlbGltaXQsMSk7CiAgICAkcGFnZWxpbWl0ID0gbWluKDEwMDAsJHBhZ2VsaW1pdCk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncGFnZW51bSddKSApCiAgewogICAgJHBhZ2VudW0gPSAoaW50KSRwYXJhbXNbJ3BhZ2VudW0nXTsKICAgICRwYWdlbnVtID0gbWF4KCRwYWdlbnVtLDEpOwogICAgJHBhZ2VudW0gPSBtaW4oMTAwMDAsJHBhZ2VudW0pOwogIH0KCgojCiMgSGFuZGxlIGZvcm0gc3VibWlzc2lvbgojCmlmKCBpc3NldCgkcGFyYW1zWyd1ZF9jYW5jZWwnXSkgKQogIHsKICAgICRkZXN0cGFnZSA9ICRyZXR1cm5pZDsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd1ZF9vcmlncGFnZSddKSApCiAgICAgIHsKCSRkZXN0cGFnZSA9IChpbnQpJHBhcmFtc1sndWRfb3JpZ3BhZ2UnXTsKICAgICAgfQogICAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkZGVzdHBhZ2UpOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sndWRfc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ3VkX2Rvc2VhcmNoJ10pICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndWRfdXNlcm5hbWUnXSkgKQogICAgICB7CgkkdXNlcm5hbWVfZXhwciA9IHRyaW0oJHBhcmFtc1sndWRfdXNlcm5hbWUnXSk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snc2VhcmNocHJvcGVydHknXSkgKQogICAgICB7Cgkkc2VhcmNocHJvcGVydHkgPSB0cmltKCRwYXJhbXNbJ3NlYXJjaHByb3BlcnR5J10pOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ3VkX3Byb3B2YWx1ZSddKSAmJiAkcGFyYW1zWyd1ZF9wcm9wdmFsdWUnXSAhPSAtMSkKCSAgewoJICAgICRwcm9wdmFsID0gdHJpbSgkcGFyYW1zWyd1ZF9wcm9wdmFsdWUnXSk7CgkgIH0KICAgICAgfQoKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAkcXBhcm1zID0gYXJyYXkoKTsKICAgICRqb2lucyA9IGFycmF5KCk7CiAgICBpZiggIWVtcHR5KCR1c2VybmFtZV9leHByKSApCiAgICAgIHsKCSR3aGVyZVtdID0gJ1UudXNlcm5hbWUgUkVHRVhQID8nOwoJJHFwYXJtc1tdID0gJHVzZXJuYW1lX2V4cHI7CiAgICAgIH0KICAgIGlmKCAhZW1wdHkoJHNlYXJjaHByb3BlcnR5KSAmJiAoJHByb3B2YWwgIT0gJycpICkKICAgICAgewoJJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFAgT04gVS5pZCA9IFAudXNlcmlkJzsKCSR3aGVyZVtdID0gJyhQLnRpdGxlID0gPyBBTkQgUC5kYXRhIFJFR0VYUCA/KSc7CgkkcXBhcm1zW10gPSAkc2VhcmNocHJvcGVydHk7CgkkcXBhcm1zW10gPSAkcHJvcHZhbDsKICAgICAgfQoKICAgICR0bXAgLj0gJGRiLT5JZk51bGwoJ0gucmVmZGF0ZScsJGRiLT5EYlRpbWVzdGFtcCgxKSkuJyBBUyByZWZkYXRlJzsKICAgICRxdSAgPSAnU0VMRUNUIFUuKiwnLiR0bXAuJyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBVJzsKICAgICRxYyAgPSAnU0VMRUNUIENPVU5UKFUuaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFUnOwogICAgJHF1IC49ICcgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IEggT04gVS5pZCA9IEgudXNlcmlkJzsKICAgIGlmKCBjb3VudCgkam9pbnMpICkKICAgICAgewoJZm9yZWFjaCggJGpvaW5zIGFzICRvbmUgKQoJICB7CgkgICAgJHF1IC49ICcgJy4kb25lOwoJICAgICRxYyAuPSAnICcuJG9uZTsKCSAgfQogICAgICB9CiAgICBpZiggY291bnQoJHdoZXJlKSApCiAgICAgIHsKCSRxdSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CgkkcWMgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgICB9CiAgICAkcXUgLj0gJyBHUk9VUCBCWSBVLmlkJzsKICAgICRxdSAuPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7CgogICAgJGl0ZW1jb3VudCA9ICRkYi0+R2V0T25lKCRxYywkcXBhcm1zKTsKICAgIGlmKCAhJGl0ZW1jb3VudCApIHJldHVybjsKCiAgICAkZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXUsJHBhZ2VsaW1pdCwkb2Zmc2V0LCRxcGFybXMpOwogICAgaWYoICEkZGJyICkKICAgICAgewoJZWNobyAnREVCVUc6IGVycm9yIGluIHF1ZXJ5PGJyLz4nOwoJZWNobyAnJm5ic3A7Jm5ic3A7UVVFUlkgPSAnLiRkYi0+c3FsLic8YnIvPic7CgllY2hvICcmbmJzcDsmbmJzcDtFcnJvciA9ICcuJGRiLT5FcnJvck1zZygpOwoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZXNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9zcWwnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZGF0YSA9IGFycmF5KCk7Cgl3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKCSAgewoJICAgICRkYXRhW10gPSAkcm93OwoJICB9CgkkZGJyLT5DbG9zZSgpOwogICAgICB9CgogICAgJGJhZF9kYXRlID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKDEpLCInIik7CgogICAgLy8gcXVlcnkgdG8gZ2V0IGFsbCB1c2VyIG1lbWJlciBncm91cHMKICAgICRncXVlcnkgPSAnU0VMRUNUIGdyb3VwaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfYmVsb25ncyAKICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgdXNlcmlkID0gPyc7CgkKICAgIC8vIHF1ZXJ5IHRvIGdldCB1c2VyIHByb3BlcnRpZXMuCiAgICAkcHF1ZXJ5ID0gJyBTRUxFQ1QgdGl0bGUsZGF0YSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIAogICAgICAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/JzsKCSAgICAKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApCiAgICAgIHsKCS8vIGhpZGUgdGhlIHBhc3N3b3JkIGZpZWxkCgl1bnNldCgkZGF0YVskaV1bJ3Bhc3N3b3JkJ10pOwoJCgkvLyB1bnNldCB0aGUgcmVmZGF0ZSBpZiB0aGUgdXNlciBoYXMgaGFkIG5vIGFjdGl2aXR5CglpZiggJGRhdGFbJGldWydyZWZkYXRlJ10gPT0gJGJhZF9kYXRlICkKCSAgewoJICAgIHVuc2V0KCRkYXRhWyRpXVsncmVmZGF0ZSddKTsKCSAgfQoJCgkvLyBEZXRhaWwgVVJMCgkkcGFyYW1zWyd1aWQnXSA9ICRkYXRhWyRpXVsnaWQnXTsKCSRwcmV0dHl1cmwgPSAndXNlcnMvJy4kcGFyYW1zWyd1aWQnXS4nLycuJGRldGFpbHBhZ2U7CglpZiggaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkgKQoJICB7CgkgICAgJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCh0cmltKCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKTsKCSAgfQoJJHByZXR0eXVybCAuPSAnLycubXVuZ2Vfc3RyaW5nX3RvX3VybCgkZGF0YVskaV1bJ3VzZXJuYW1lJ10pOwoJJGRhdGFbJGldWydkZXRhaWxfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGV0YWlsJywkZGV0YWlscGFnZSwKCQkJCQkJICAgJHBhcmFtcyxmYWxzZSwkcHJldHR5dXJsKTsKCQoJLy8gYWRkIG1lbWJlciBncm91cCBpZHMKCSR0bXAgPSAkZGItPkdldEFycmF5KCRncXVlcnksYXJyYXkoJGRhdGFbJGldWydpZCddKSk7CgkkZ3JvdXBzID0gJHRoaXMtPmFycmF5X2V4dHJhY3RfZmllbGQoJHRtcCwnZ3JvdXBpZCcpOwoJJGRhdGFbJGldWydncm91cHMnXSA9ICRncm91cHM7CgkKCS8vIEdldCBwcm9wcmV0aWVzCgkkZ3N0ciA9ICcoJy5pbXBsb2RlKCcsJywkZ3JvdXBzKS4nKSc7CgkkdG1wID0gJGRiLT5HZXRBcnJheShzcHJpbnRmKCRwcXVlcnksJGdzdHIpLGFycmF5KCRkYXRhWyRpXVsnaWQnXSkpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgJHRtcDIgPSBhcnJheSgpOwoJICAgIGZvciggJGogPSAwOyAkaiA8IGNvdW50KCR0bXApOyAkaisrICkKCSAgICAgIHsKCQlpZiggIWVtcHR5KCR0bXBbJGpdWydkYXRhJ10pICYmICR0bXBbJGpdWydkYXRhJ10gIT0gJzxub3RzZXQ+JyApCgkJICB7CgkJICAgICR0bXAyWyR0bXBbJGpdWyd0aXRsZSddXSA9ICR0bXBbJGpdWydkYXRhJ107CgkJICB9CgkgICAgICB9CgkgICAgJGRhdGFbJGldWydwcm9wZXJ0aWVzJ10gPSAkdG1wMjsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgICAgewoJLy8gR2V0IGFsbCB0aGUgdXNlciBwcm9wZXJ0aWVzCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4nOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRwcm9wcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ25hbWUnKTsKICAgICAgfQoKICAgIGlmKCBlbXB0eSgkc3RhdHVzKSApCiAgICAgIHsKCS8vIGdldCBhbGwgdGhlIGdyb3VwcwoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2dyb3Vwcyc7CgkkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJJGdyb3VwcyA9ICR0aGlzLT5hcnJheV90b19oYXNoKCR0bXAsJ2lkJyk7CiAgICAgIH0KICB9CgojCiMgR2l2ZSBFdmVyeXRoaW5nIHRvIFNtYXJ0eQojCmlmKCBlbXB0eSgkc3RhdHVzKSApCiAgewogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyb3VwcycsJGdyb3Vwcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsY291bnQnLCRpdGVtY291bnQpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvZmV1c2VycycpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VycycsJGRhdGEpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzJywkc3RhdHVzKTsKICAgICRzbWFydHktPmFzc2lnbignbWVzc2FnZXMnLCRtZXNzYWdlcyk7CiAgfQoKIwojIERpc3BsYXkgdGhlIHRlbXBsYXRlCiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZldSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1ICkgcmV0dXJuOwokaW5saW5lID0gMDsKJHJlc3VsdHBhZ2UgPSAkcmV0dXJuaWQ7CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRTRUFSQ0hGT1JNX05BTUUpOwokcHJvcGVydHk9Jyc7CgoKIwojIEdldCBwYXJhbWV0ZXJzCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSAmJiAkcGFyYW1zWydpbmxpbmUnXSAhPSAwICkKICB7CiAgICAkaW5saW5lID0gMTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lubGluZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pICkKICB7CiAgICAkdG1wID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHJlc3VsdHBhZ2UgPSAkdG1wOwoJJGlubGluZSA9IDA7CiAgICAgIH0KICAgIHVuc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc2VhcmNoZm9ybXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKSApCiAgewogICAgJHByb3BlcnR5ID0gdHJpbSgkcGFyYW1zWydzZWFyY2hwcm9wZXJ0eSddKTsKICB9CgoKLy8gZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uCmlmKCAhZW1wdHkoJHByb3BlcnR5KSApCiAgewogICAgJGRlZm4gPSAkZmV1LT5HZXRQcm9wZXJ0eURlZm4oJHByb3BlcnR5KTsKCiAgICAvLyBmaWd1cmUgb3V0IHdoYXQgdHlwZSBvZiBmaWVsZCBpdCdsbCBiZQogICAgaWYoICRkZWZuICkKICAgICAgewoJJGZpZWxkdHlwZSA9ICcnOwoJJG9wdGlvbnMgPSAnJzsKCXN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCgkgIHsKCSAgY2FzZSAnMCc6IC8vIHRleHQKCSAgY2FzZSAnMic6IC8vIGVtYWlsCgkgICAgJGZpZWxkdHlwZSA9ICd0ZXh0JzsKCSAgICBicmVhazsKCgkgIGNhc2UgJzQnOiAvLyBkcm9wZG93bgoJICBjYXNlICc1JzogLy8gbXVsdGlzZWxlY3QKCSAgY2FzZSAnNyc6IC8vIHJhZGlvYnV0dG9ucwoJICAgICRmaWVsZHR5cGUgPSAnc2VsZWN0JzsKCSAgICAkdG1wID0gJGZldS0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLDEpOwoJICAgICRvcHRpb25zID0gYXJyYXkoKTsKCSAgICAkb3B0aW9uc1stMV0gPSAkdGhpcy0+TGFuZygnYW55Jyk7CgkgICAgZm9yZWFjaCggJHRtcCBhcyAka2V5ID0+ICR2YWx1ZSApCgkgICAgICB7CgkJJG9wdGlvbnNbJHZhbHVlXSA9ICRrZXk7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBjYXNlICcxJzogLy8gY2hlY2tib3gKCSAgY2FzZSAnMyc6IC8vIHRleHRhcmVhCgkgIGNhc2UgJzYnOiAvLyBpbWFnZQoJICBjYXNlICc4JzogLy8gZGF0ZQoJICAgIC8vIGdldCB0aGUgb3B0aW9ucwoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0KCiAgICBpZiggIWVtcHR5KCRmaWVsZHR5cGUpICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCd1ZF9maWVsZGRlZm4nLCRkZWZuKTsKCSRzbWFydHktPmFzc2lnbigndWRfZmllbGR0eXBlJywkZmllbGR0eXBlKTsKCWlmKCAhZW1wdHkoJG9wdGlvbnMpICkKCSAgewoJICAgICRzbWFydHktPmFzc2lnbigndWRfb3B0aW9ucycsJG9wdGlvbnMpOwoJICB9CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ3VkX29yaWdwYWdlJywkcmV0dXJuaWQpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fc2VhcmNoJywkcmVzdWx0cGFnZSwkcGFyYW1zLCRpbmxpbmUpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VhcmNoZm9ybV8nLiR0aGV0ZW1wbGF0ZSk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/CGUserDirectory.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBUaGlzIG1vZHVsZSBpcyBkZXJpdmVkIGZyb20gQ0dFeHRlbnNpb25zIAokY2dleHRlbnNpb25zID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsCgkJCSAgICAgICdDR0V4dGVuc2lvbnMnLCdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dleHRlbnNpb25zICkgKQp7CiAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICByZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2RlZmluZXMucGhwJyk7CgpjbGFzcyBDR1VzZXJEaXJlY3RvcnkgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDb25zdHJ1Y3RvcgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENHVXNlckRpcmVjdG9yeSgpCiAgewogICAgcGFyZW50OjpDR0V4dGVuc2lvbnMoKTsKCiAgICBnbG9iYWwgJGdDbXM7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3VkX2dldHByb3BlcnR5c3VtbWFyeV91cmwnLAoJCQkgICAgICAgYXJyYXkoJHRoaXMsJ19zbWFydHlfZ2V0cHJvcGVydHlzdW1tYXJ5X3VybCcpKTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnQ0dVc2VyRGlyZWN0b3J5JzsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEZyaWVuZGx5TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogIH0KICAKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMS4zJzsKICB9CiAgCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQogIAogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDAnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluU2VjdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICB7CiAgICByZXR1cm4gJ2V4dGVuc2lvbnMnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluRGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFsbG93QXV0b0luc3RhbGwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWxsb3dBdXRvVXBncmFkZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS4xNycsCgkJICdGcm9udEVuZFVzZXJzJz0+JzEuNi45Jyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuNi41IjsKICB9CgkKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFBhcmFtZXRlcnMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogIHsKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJzXC8oP1A8dWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8ZGV0YWlsdGVtcGxhdGU+W0EtWmEtejAtOVwtXF9dKz8pXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJzXC8oP1A8dWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tVdV1zZXJncm91cFwvKD9QPGdpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW1V1XXNlcnNcLyg/UDx1aWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGV0YWlsJykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bVXVdc2VyZ3JvdXBcLyg/UDxnaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCdkZWZhdWx0JywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9hY3Rpb24nKSk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW5saW5lJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9pbmxpbmUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5saW5lJyxDTEVBTl9JTlQpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2dyb3VwJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9ncm91cCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdncm91cCcsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdnaWQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2dpZCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdnaWQnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd2V4cGlyZWQnLDAsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2hvd2V4cGlyZWQnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydGJ5JywndXNlcm5hbWUnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3NvcnRieScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdic29ydGJ5JywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9ic29ydGJ5JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Jzb3J0YnknLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydG9yZGVyJywnQVNDJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9zb3J0b3JkZXInKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydG9yZGVyJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYnNvcnRvcmRlcicsJ0FTQycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fYnNvcnRvcmRlcicpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdic29ydG9yZGVyJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsMTAwLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3BhZ2VsaW1pdCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbGltaXQnLENMRUFOX0lOVCk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncHJvcCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fcHJvcCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcm9wJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Byb3B2YWwnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3Byb3B2YWwnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJvcHZhbCcsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd1c2VsaWtlJywwLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3VzZWxpa2UnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndXNlbGlrZScsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWxwYWdlJywnJywkdGhpcy0+TGFuZygnaGVscF9wYXJhbV9kZXRhaWxwYWdlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncmVzdWx0cGFnZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fcmVzdWx0cGFnZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyZXN1bHRwYWdlJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnl0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkaXJlY3Rvcnl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlyZWN0b3J5dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGV0YWlsdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NlYXJjaGZvcm10ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaGZvcm10ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdicm93c2Vwcm9wdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdicm93c2Vwcm9wdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNocHJvcGVydHknLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3BhcmFtX3NlYXJjaHByb3BlcnR5JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaHByb3BlcnR5JyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3VpZCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcGFyYW1fdWlkJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3VpZCcsQ0xFQU5fSU5UKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZW51bScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdvcmlncGFnZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdqdW5rJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL3VkXy4qLycsQ0xFQU5fU1RSSU5HKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdhc2tfcmVhbGx5X3VuaW5zdGFsbCcpOwogIH0JCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENyZWF0ZVByb3BlcnR5U3VtbWFyeVVSTCgkaWQsJHJldHVybmlkLCRwcm9wbmFtZSwkcHJvcHZhbHVlLCRwYXJhbXMgPSBhcnJheSgpLCRpbmxpbmUgPSBmYWxzZSkKICB7CgkkcGFyYW1zWydwcm9wJ10gPSAkcHJvcG5hbWU7CgkkcGFyYW1zWydwcm9wdmFsJ10gPSAkcHJvcHZhbHVlOwoJdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwoKCXJldHVybiAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJhbXMsJGlubGluZSk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfc21hcnR5X2dldHByb3BlcnR5c3VtbWFyeV91cmwKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfc21hcnR5X2dldHByb3BlcnR5c3VtbWFyeV91cmwoJHBhcmFtcywmJHNtYXJ0eSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAKICAgICRpbmxpbmUgPSAwOwogICAgJHByb3AgPSAnJzsKICAgICRwcm9wdmFsdWUgPSAnJzsKICAgICRhc3NpZ24gPSAnJzsKICAgICRyZXR1cm5pZCA9ICRnQ21zLT52YXJpYWJsZXNbJ3BhZ2VfaWQnXTsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncHJvcCddKSApIHJldHVybjsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncHJvcHZhbCddKSApIHJldHVybjsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQogICAgICB7Cglzd2l0Y2goICRrZXkgKQoJICB7CgkgIGNhc2UgJ3Byb3AnOgoJICAgICRwcm9wID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAncHJvcHZhbCc6CgkgICAgJHByb3B2YWwgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdhc3NpZ24nOgoJICAgICRhc3NpZ24gPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdyZXN1bHRwYWdlJzoKCSAgICAkdG1wID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHZhbHVlKTsKCSAgICBpZiggJHRtcCAgKQoJICAgICAgewoJCSRyZXR1cm5pZCA9ICR0bXA7CgkgICAgICB9CgkgICAgYnJlYWs7CgkgICAgCgkgIGNhc2UgJ2lubGluZSc6CgkgICAgaWYoICR2YWx1ZSApCgkgICAgICB7CgkJJGlubGluZSA9IDE7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBkZWZhdWx0OgoJICAgICRwYXJtc1ska2V5XSA9ICR2YWx1ZTsKCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgJHRtcCA9IGV4cGxvZGUoJywnLCRwcm9wdmFsKTsKICAgICRkYXRhID0gJyc7CiAgICBpZiggY291bnQoJHRtcCkgPiAxICkKICAgICAgewoJJHBhcm1zWyd1c2VsaWtlJ10gPSAxOwoJJGRhdGEgPSBhcnJheSgpOwoJZm9yZWFjaCggJHRtcCBhcyAkb25lICkKCSAgewoJICAgICRvbmUgPSAnJScuJG9uZS4nJSc7CgkgICAgJGRhdGFbXSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJ20xJywkcmV0dXJuaWQsJHByb3AsJG9uZSwkcGFybXMsJGlubGluZSk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZGF0YSA9ICR0aGlzLT5DcmVhdGVQcm9wZXJ0eVN1bW1hcnlVUkwoJ20xJywkcmV0dXJuaWQsJHByb3AsJHByb3B2YWwsJHBhcm1zLCRpbmxpbmUpOwogICAgICB9CiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRkYXRhKTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRkYXRhOwogIH0KfSAvLyBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/defines.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfTkVXRElSRUNUT1JZX1RFTVBMQVRFJywnc3lzZGZsdF9kaXJlY3RvcnlfdGVtcGxhdGUnKTsKZGVmaW5lKCdDR1VTRVJESVJfUFJFRl9ERkxURElSRUNUT1JZX05BTUUnLCdjdXJkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZV9uYW1lJyk7CmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURScsJ3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0NHVVNFUkRJUl9QUkVGX0RGTFRTVU1NQVJZX05BTUUnLCdjdXJkZmx0X3N1bW1hcnlfdGVtcGxhdGVfbmFtZScpOwpkZWZpbmUoJ0NHVVNFUkRJUl9QUkVGX05FV0RFVEFJTF9URU1QTEFURScsJ3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfREZMVERFVEFJTF9OQU1FJywnY3VyZGZsdF9kZXRhaWxfdGVtcGxhdGVfbmFtZScpOwpkZWZpbmUoJ0NHVVNFUkRJUl9QUkVGX05FV1NFQVJDSEZPUk1fVEVNUExBVEUnLCdzeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKTsKZGVmaW5lKCdDR1VTRVJESVJfUFJFRl9ERkxUU0VBUkNIRk9STV9OQU1FJywnY3VyZGZsdF9zZWFyY2hmb3JtX3RlbXBsYXRlX25hbWUnKTsKZGVmaW5lKCdDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFJywnc3lzZGZsdF9icm93c2Vwcm9wX3RlbXBsYXRlJyk7CmRlZmluZSgnQ0dVU0VSRElSX1BSRUZfREZMVEJST1dTRVBST1BfTkFNRScsJ2N1cmRmbHRfYnJvd3NlcHJvcF90ZW1wbGF0ZV9uYW1lJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_browseproptemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ2Jyb3dzZXByb3BfJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFLAoJCQkJCSdicm93c2Vwcm9wdGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUQlJPV1NFUFJPUF9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X2Jyb3dzZXByb3BfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_browseproptemplates_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3NlYXJjaGZvcm1fJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdTRUFSQ0hGT1JNX1RFTVBMQVRFLAoJCQkJCSdzZWFyY2hmb3JtdGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUU0VBUkNIRk9STV9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_defaulttemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIyBTeXN0ZW0gZGVmYXVsdCBkaXJlY3RvcnkgdmlldyB0ZW1wbGF0ZQplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsCgkJCQkgICBDR1VTRVJESVJfUFJFRl9ORVdESVJFQ1RPUllfVEVNUExBVEUsCgkJCQkgICAnZGVmYXVsdGFkbWluJywnZGVmYXVsdHRlbXBsYXRlcycsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZScpLAoJCQkJICAgJ29yaWdfZGlyZWN0b3J5X3RlbXBsYXRlLnRwbCcsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gZGVmYXVsdCBzdW1tYXJ5IHZpZXcgdGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAoJCQkJICAgQ0dVU0VSRElSX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURSwKCQkJCSAgICdkZWZhdWx0YWRtaW4nLCdkZWZhdWx0dGVtcGxhdGVzJywKCQkJCSAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZScpLAoJCQkJICAgJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCiMgU3lzdGVtIGRlZmF1bHQgZGV0YWlsIHZpZXcgdGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAoJCQkJICAgQ0dVU0VSRElSX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ2RlZmF1bHR0ZW1wbGF0ZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCiMgU3lzdGVtIGRlZmF1bHQgc2VhcmNoZm9ybSB2aWV3IHRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKCQkJCSAgIENHVVNFUkRJUl9QUkVGX05FV1NFQVJDSEZPUk1fVEVNUExBVEUsCgkJCQkgICAnZGVmYXVsdGFkbWluJywnZGVmYXVsdHRlbXBsYXRlcycsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX3NlYXJjaGZvcm1fdGVtcGxhdGUudHBsJywKCQkJCSAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gZGVmYXVsdCBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZQplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsCgkJCQkgICBDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ2RlZmF1bHR0ZW1wbGF0ZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9icm93c2Vwcm9wX3RlbXBsYXRlJyksCgkJCQkgICAnb3JpZ19icm93c2Vwcm9wX3RlbXBsYXRlLnRwbCcsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_detailtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCgkJJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZGV0YWlsXycsCgkJCQkJQ0dVU0VSRElSX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFLAoJCQkJCSdkZXRhaWx0ZW1wbGF0ZXMnLAoJCQkJCUNHVVNFUkRJUl9QUkVGX0RGTFRERVRBSUxfTkFNRSwKCQkJCQkkdGhpcy0+TGFuZygnYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19kZXRhaWxfdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_directorytemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCgkJJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZGlyZWN0b3J5XycsCgkJCQkJQ0dVU0VSRElSX1BSRUZfTkVXRElSRUNUT1JZX1RFTVBMQVRFLAoJCQkJCSdkaXJlY3Rvcnl0ZW1wbGF0ZXMnLAoJCQkJCUNHVVNFUkRJUl9QUkVGX0RGTFRESVJFQ1RPUllfTkFNRSwKCQkJCQkkdGhpcy0+TGFuZygnYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_searchformtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3NlYXJjaGZvcm1fJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdTRUFSQ0hGT1JNX1RFTVBMQVRFLAoJCQkJCSdzZWFyY2hmb3JtdGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUU0VBUkNIRk9STV9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_summarytemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdtc2cnLCR0aGlzLT5MYW5nKCdpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAoJCSR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3N1bW1hcnlfJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLAoJCQkJCSdzdW1tYXJ5dGVtcGxhdGVzJywKCQkJCQlDR1VTRVJESVJfUFJFRl9ERkxUU1VNTUFSWV9OQU1FLAoJCQkJCSR0aGlzLT5MYW5nKCdhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnKSwKCQkJCQkkdGhpcy0+TGFuZygnaW5mb19zdW1tYXJ5X3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IEJyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2FueSddID0gJ0FueSc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPyAgQ29udGludWluZyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwoKI0IKCgojQwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5CiAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEKICA8cD5BZGRzIHNlYXJjaCBhbmQgYnJvd3NlIGNhcGFiaWxpdGllcy48L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4xIC0gU2VwdGVtYmVyLCAyMDA5CiAgPHA+QWRkcyBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjIgLSBTZXB0ZW1iZXIsIDIwMDkKICA8cD5GaXggcGFyYW1ldGVyIGNvbmZsaWN0IHdydCBzb3J0aW5nIGluIHRoZSBicm93c2UgYWN0aW9uLjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4xLjMgLSBPY3RvYmVyLCAyMDA5CiAgPHA+TWlub3IgYnVnIGZpeC48L3A+CjwvbGk+CjwvdWw+CkVPVDsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKCiNECgoKI0UKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ0ludmFsaWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHNvcnRmaWVsZCddID0gJ0ludmFsaWQgc29ydCBmaWVsZDogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnSW5zdWZmaWNpZW50IFBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdUaGUgRnJvbnRlbmQgVXNlcnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdUaGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgaWQgY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFVzZXIgRGlyZWN0b3J5JzsKCiNHCiRsYW5nWydncm91cHMnXSA9ICdHcm91cHMnOwoKI0gKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVAo8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgZ2VuZXJhdGluZyBhIGRpcmVjdG9yeSBvZiB1c2VycyBmcm9tIHRoZSBGRVUgbW9kdWxlLCBmb3IgZ2VuZXJhdGluZyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyBtYXRjaGluZyBzcGVjaWZpZWQgY3JpdGVyaWEsIGFuZCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgb2YgYSBzcGVjaWZpYyB1c2VyLiAgSXQgY2FuIGJlIHVzZWQgZm9yIGdlbmVyYXRpbmcgcHJvZmlsZSBwYWdlcyBmb3IgeW91ciB1c2Vycywgb3IgYSBzdGFmZiBkaXJlY3RvcnkuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgogIDxsaT5Db21wbGV0ZSB0ZW1wbGF0ZSBjb250cm9sCjxwPkFsbCBkaXNwbGF5cyBhcmUgY29tcGxldGVseSBjb25maWd1cmFibGUgYnkgdGVtcGxhdGVzIGFsbG93aW5nIGZvciBqYXZhc2NyaXB0LCBhamF4LCBvciBhbnkgb3RoZXIgZmFuY3kgZGlzcGxheXMuICBTdHlsaW5nIGlzIGNvbXBsZXRlbHkgY29udHJvbGxhYmxlIGJ5IHRoZSB3ZWJzaXRlIGRldmVsb3Blci48L3A+CiAgPC9saT4KICA8bGk+TXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLgo8cD5Zb3UgY2FuIGNvbmZpZ3VyZSBtdWx0aXBsZSBkaWZmZXJlbnQgdmlld3MgZm9yIGVhY2ggZGlzcGxheSwgYW5kIHVzZSB0aGVtIHVuZGVyIGRpZmZlcmVudCBzaXR1YXRpb25zLjwvcD4KICA8L2xpPgo8bGk+RmlsdGVyIHN1bW1hcnkgdmlld3Mgb24gdXNlciBwcm9wZXJ0aWVzLgogICA8cD5Zb3UgY2FuIGZpbHRlciB0aGUgb3V0cHV0IGZvciB0aGUgc3VtbWFyeSB2aWV3IGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmljIHVzZXIgcHJvcGVydHkgZnJvbSB0aGUgRkVVIG1vZHVsZS4gIFRoaXMgYWxzbyBpbmNsdWRlcyAmcXVvdDtMSUtFJnF1b3Q7IGJhc2VkIGNyaXRlcmEuCiAgPC9saT4KICA8bGk+U29ydGluZyBvbiBtdWx0aXBsZSBkaWZmZXJlbnQgY3JpdGVyaWEuPC9saT4KICA8bGk+U3VwcG9ydHMgU0VPIGZyaWVuZGx5IFVSTFM8L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+CjxwPlRoZSBzaW1wbGVzdCB3YXkgdG8gdXNlIHRoaXMgbW9kdWxlIGlzIHRvIHBsYWNlIGEgdGFnIGxpa2UgdGhpcyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgcGFnZSBjb250ZW50IDxjb2RlPntDR1VzZXJEaXJlY3Rvcnl9PC9jb2RlPi4gIFRvIGV4cGFuZCBvbiB0aGlzIGZ1bmN0aW9uYWxpdHksIG9yIHRvIGRpc3BsYXkgYSBzdWJzZXQgb2YgeW91ciB1c2Vycywgc2VlIHRoZSBwYXJhbWV0ZXJzIGJlbG93LjwvcD4KPGgzPkV4YW1wbGVzOjwvaDM+Cjx1bD4KPGxpPkRpc3BsYXkgYSBkaXJlY3Rvcnkgb2YgYWxsIHVzZXJzOgo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KPGxpPkRpc3BsYXkgYSBkaXJlY3Rvcnkgb2YgYWxsIHVzZXJzIG9yZ2FuaXplZCBieSBjaXR5Ogo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBpbiB0aGUgJnF1b3Q7bWVtYmVycyZxdW90OyBncm91cDoKPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+CjwvbGk+CjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBpbiB0aGUgY2l0eSBvZiBjYWxnYXJ5Ogo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4KPC9saT4KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGZyb20gY291bnRyaWVzIHRoYXQgYmVnaW4gd2l0aCBDOgo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPgo8L2xpPgoKPC91bD4KCjxoMz5Ob3RlcyBhYm91dCBwcmV0dHkgVVJMUzwvaDM+CjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPgo8L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgCjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgpFT1Q7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGNvbnRyb2xzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFRoZXJlIGFyZSB0aHJlZSBwb3NzaWJsZSB2YWx1ZXM6Cjx1bD4KICA8bGk+YnJvd3NlICAtIERpc3BsYXkgYSBuYXZpZ2F0aW9uIG9mIHByb3BlcnR5IHZhbHVlcywgYW5kIGFsbG93IGRyaWxsaW5nIGRvd24gdG8gbWF0Y2hpbmcgc3VtbWFyeSB2aWV3cy48L2xpPgogIDxsaT5kZWZhdWx0IC0gRGlzcGxheXMgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLCBvciBhbGwgdXNlcnMgaWYgbm8gY3JpdGllcmlhIGlzIHNwZWNpZmllZC48L2xpPgogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+CiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4KICA8bGk+c2VhcmNoIC0gRGlzcGxheXMgYSBzZWFyY2ggZm9ybS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgYnJvd3NlIHByb3BlcnR5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBhIHByb3BlcnR5IGJyb3dzaW5nIHZpZXcnOwokbGFuZ1snaGVscF9wYXJhbV9ncm91cCddID0gJ1VzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBuYW1lIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cCc7CiRsYW5nWydoZWxwX3BhcmFtX2dpZCddID0gJ1VzZWQgd2l0aCB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNob3VsZCBjb250YWluIHRoZSBpZCBvZiBhbiBGRVUgdXNlciBncm91cCwgYW5kIHdpbGwgbGltaXQgdGhlIG91dHB1dCB0byBtZW1iZXJzIG9mIHRoYXQgZ3JvdXAuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBncm91cCBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdCeSBkZWZhdWx0LCB0aGUgc3lzdGVtIHdpbGwgZXhjbHVkZSBleHBpcmVkIHVzZXJzIGZyb20gYW55IGdlbmVyYXRlZCByZXBvcnQuICBTZXR0aW5nIHRoaXMgcGFyYW1ldGVyIHRvIDEgd2lsbCBpbmNsdWRlIHRoZXNlIHVzZXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgcHJvcGVydHkgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5uYW1lIC0gdGhlIHByb3BlcnR5IG5hbWUuPC9saT4KICA8bGk+Y291bnQgLSB0aGUgbnVtYmVyIG9mIG1hdGNoZXMuPC9saT4KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydGluZyBvZiB0aGUgZ2VuZXJhdGVkIHN1bW1hcnkgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogPGxpPmlkIC0gVGhlIHVzZXJzIGlkIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPnVzZXJuYW1lIC0gVGhlIHVzZXJzIHVzZXJuYW1lIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPmNyZWF0ZWRhdGUgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBjcmVhdGVkLiAoZGVmYXVsdCB2aWV3IG9ubHkpPC9saT4KIDxsaT5leHBpcmVzIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3aWxsIGV4cGlyZSAob3IgZGlkIGV4cGlyZSkuIChkZWZhdWx0IHZpZXcgb25seSk8L2xpPgogPGxpPmFjdGl2aXR5IC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgbGFzdCBsb2dnZWQgaW4gb3IgbG9nZ2VkIG91dC4gKGRlZmF1bHQgdmlldyBvbmx5KTwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnNvcnRvcmRlciddID0gJ1VzZWQgZm9yIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+CiAgPGxpPkRFU0MgLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+QVNDIC0gQXNjZW5kaW5nIG9yZGVyPC9saT4KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBiZSByZXR1cm5lZC4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQsYnJvd3NlIGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoKPHVsPgogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LiAgSXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgYmVsb3cuPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBicm93c2UgYWN0aW9uCiAgICA8cD5JbiB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhbiBGRVUgcHJvcGVydHkgdG8gYnJvd3NlPC9wPgogIDwvbGk+CiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLgogICAgPHA+SW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24sIHRoaXMgYXByYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBnZW5lcmF0ZSBhIGRpcmVjdG9yeSBmcm9tLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBkaXJlY3RvcnkgYWN0aW9uIGlzICZxdW90O3VzZXJuYW1lJnF1b3RlOzwvcD4KICA8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgcGFyYW1ldGVyIGZvciB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHZhbHVlIG9uIHdoaWNoIHRvIGZpbHRlciB1c2VycyBieS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3QgYW5kICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycywgdGhpcyBwYXJhbWV0ZXIsIGlmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHByb3B2YWwgcGFyYW1ldGVyIGNvbnRhaW5zIGEgTElLRSBleHByZXNzaW9uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQsIHNob3VsZCBjb250YWluIHRoZSBwYWdlaWQgb3IgYWxpYXMgb2YgYSBDTVMgY29udGVudCBwYWdlIG9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYW55IGRldGFpbCByZXBvcnQnOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggdGVtcGxhdGUgbmFtZSB0byB1c2UgaW4gc2VhcmNoIGZvcm1zJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNocHJvcGVydHknXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHNpbmdsZSBhZGRpdGlvbmFsIEZFVSBwcm9wZXJ0eSBuYW1lIHRvIHN1cHBseSBpbiB0aGUgc2VhcmNoIGZvcm0nOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CgojSQokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnU2VhcmNoIGZvcm0gdGVtcGxhdGVzIGRpc3BsYXkgQSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBmb3IgYSBwYXJ0aWN1bGFyIHVzZXIgb3IgZ3JvdXAgb2YgdXNlcnMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGUgZm9ybSBkaXNwbGF5ZWQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBCcm93c2UgUHJvcGVydHkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwoKCiNKCgoKI0sKCgojTAokbGFuZ1snbGFzdF9hY3RpdmUnXSA9ICdMYXN0IEFjdGl2ZSc7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ0Jyb3dzZSBQcm9wZXJ0eSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3RvcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnR28gdG8gRmlyc3QgUGFnZSc7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnR28gdG8gTGFzdCBQYWdlJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHbyB0byBOZXh0IFBhZ2UnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ0dvIHRvIFByZXZpb3VzIFBhZ2UnOwokbGFuZ1snbGJsX3NlYXJjaGZvcm10ZW1wbGF0ZXMnXSA9ICdTZWFyY2ggRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snbGJsX3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW1tYXJ5IFZpZXcgVGVtcGxhdGVzJzsKCiNNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGFsbG93aW5nIHNlYXJjaGluZywgYnJvd3NpbmcsIGFuZCB2aWV3aW5nIGRldGFpbHMgYWJvdXQgZnJvbnRlbmQgdXNlcnMnOwoKI04KCgojTwokbGFuZ1snb2YnXSA9ICdPZic7CgojUAokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZSBpcyBub3cgcmVhZHkgZm9yIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBDR1VzZXJkaXJlY3RvcnkgbW9kdWxlLCBhbmQgYWxsIGFzc29jaWF0ZWQgZGF0YSBoYXMgYmVlbiB1bmluc3RhbGxlZCBmcm9tIHRoZSBkYXRhYmFzZSc7CgojUQoKCiNSCgoKI1MKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CgojVAoKCiNVCiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKCiNWCgoKI1cKCgojWAoKCiNZCgoKI1oKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0Fqb3V0ZXIvRWRpdGVyIHVuIGdhYmFyaXQgZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsgZGUgcmVjaGVyY2hlJm5ic3A7JzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSBkJmVhY3V0ZTt0YWlsJm5ic3A7JzsKJGxhbmdbJ2FkZGVkaXRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSByJmVhY3V0ZTtwZXJ0b2lyZSZuYnNwOyc7CiRsYW5nWydhZGRlZGl0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdBam91dGVyL0VkaXRlciB1biBnYWJhcml0IGRlIHJlY2hlcmNoZSZuYnNwOyc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBam91dGVyL0VkaXRlciB1biBnYWJhcml0IGRlIHImZWFjdXRlO3N1bSZlYWN1dGU7Jm5ic3A7JzsKJGxhbmdbJ2FueSddID0gJ04mIzAzOTtpbXBvcnRlIGxlcXVlbCc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgZGUgdm91bG9pciBmYWlyZSBjZWxhID8gQ29udGludWVyIHZhIHN1cHByaW1lciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgdG91dGVzIGxlcyBkb25uJmVhY3V0ZTtlcyBhc3NvY2kmZWFjdXRlO2VzICZhZ3JhdmU7IGNlIG1vZHVsZS4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyeSwgMjAwOQ0KICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xDQogIDxwPkFkZHMgc2VhcmNoIGFuZCBicm93c2UgY2FwYWJpbGl0aWVzLjwvcD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjEuMSAtIFNlcHRlbWJlciwgMjAwOQ0KICA8cD5BZGRzIHNvcnRpbmcgaW4gdGhlIGJyb3dzZSBhY3Rpb24uPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMS4yIC0gU2VwdGVtYmVyLCAyMDA5DQogIDxwPkZpeCBwYXJhbWV0ZXIgY29uZmxpY3Qgd3J0IHNvcnRpbmcgaW4gdGhlIGJyb3dzZSBhY3Rpb24uPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDciZlYWN1dGU7JmVhY3V0ZTsmbmJzcDsnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwJ10gPSAnR3JvdXBlIGludmFsaWRlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnXSA9ICdDaGFtcCBkZSB0cmkgaW52YWxpZGUmbmJzcDs6ICVzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1BhcmFtJmVncmF2ZTt0cmVzIGluc3VmZmlzYW50cyc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ0xlIG1vZHVsZSBGcm9udGVuZCBVc2VycyBuZSBwZXV0IHBhcyAmZWNpcmM7dHJlIHRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnTCYjMDM5O3V0aWxpc2F0ZXVyIGF2ZWMgbCYjMDM5O2lkIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsgbiYjMDM5O2EgcGFzIHB1ICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOyc7CiRsYW5nWydleHBpcmVzJ10gPSAnRXhwaXJlJm5ic3A7JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgVXNlciBEaXJlY3RvcnkgJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3VwZXMmbmJzcDsnOwokbGFuZ1snaGVscCddID0gJzxoMz5RdWUgZmFpdCBjZSBtb2R1bGUgPzwvaDM+DQo8cD4gQ2UgbW9kdWxlIG9mZnJlIGxhIHBvc3NpYmlsaXQmZWFjdXRlOyBkZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyZXIgdW4gciZlYWN1dGU7cGVydG9pcmUgZGVzIHV0aWxpc2F0ZXVycyBkdSBtb2R1bGUgRkVVLCBwb3VyIGcmZWFjdXRlO24mZWFjdXRlO3JlciB1bmUgdnVlIHImZWFjdXRlO3N1bSZlYWN1dGU7ZSBkZXMgdXRpbGlzYXRldXJzIHNlbG9uIGRlcyBjcml0JmVncmF2ZTtyZXMgZCZlYWN1dGU7ZmluaXMsIGV0IHBvdXIgYWZmaWNoZXIgZGVzIGluZm9ybWF0aW9ucyBkJmVhY3V0ZTt0YWlsbCZlYWN1dGU7ZXMgc3VyIHVuIHV0aWxpc2F0ZXVyIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsuIElsIHBldXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBwb3VyIGFmZmljaGVyIHVuZSBwYWdlIGRlIHByb2ZpbCBkJiMwMzk7dXRpbGlzYXRldXIsIG91IHVuZSBsaXN0ZSBkZSBtZW1icmVzIHBhciBleGVtcGxlLjwvcD4NCjxoMz5DYXJhY3QmZWFjdXRlO3Jpc3RpcXVlcyA6PC9oMz4NCjx1bD4NCiAgPGxpPlVuIGNvbnRyJm9jaXJjO2xlIGludCZlYWN1dGU7Z3JhbCBkdSBnYWJhcml0DQo8cD5BbGwgZGlzcGxheXMgYXJlIGNvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJ5IHRlbXBsYXRlcyBhbGxvd2luZyBmb3IgamF2YXNjcmlwdCwgYWpheCwgb3IgYW55IG90aGVyIGZhbmN5IGRpc3BsYXlzLiAgU3R5bGluZyBpcyBjb21wbGV0ZWx5IGNvbnRyb2xsYWJsZSBieSB0aGUgd2Vic2l0ZSBkZXZlbG9wZXIuPC9wPg0KICA8L2xpPg0KICA8bGk+TXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLg0KPHA+WW91IGNhbiBjb25maWd1cmUgbXVsdGlwbGUgZGlmZmVyZW50IHZpZXdzIGZvciBlYWNoIGRpc3BsYXksIGFuZCB1c2UgdGhlbSB1bmRlciBkaWZmZXJlbnQgc2l0dWF0aW9ucy48L3A+DQogIDwvbGk+DQo8bGk+RmlsdGVyIHN1bW1hcnkgdmlld3Mgb24gdXNlciBwcm9wZXJ0aWVzLg0KICAgPHA+WW91IGNhbiBmaWx0ZXIgdGhlIG91dHB1dCBmb3IgdGhlIHN1bW1hcnkgdmlldyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyB1c2VyIHByb3BlcnR5IGZyb20gdGhlIEZFVSBtb2R1bGUuICBUaGlzIGFsc28gaW5jbHVkZXMgJnF1b3Q7TElLRSZxdW90OyBiYXNlZCBjcml0ZXJhLg0KICA8L2xpPg0KICA8bGk+U29ydGluZyBvbiBtdWx0aXBsZSBkaWZmZXJlbnQgY3JpdGVyaWEuPC9saT4NCiAgPGxpPlN1cHBvcnRzIFNFTyBmcmllbmRseSBVUkxTPC9saT4NCjwvdWw+DQo8aDM+Q29tbWVudCBsJiMwMzk7dXRpbGlzZXIgPzwvaDM+DQo8cD5MZSBtb3llbiBsZSBwbHVzIHNtcGxlIGRlIGwmIzAzOTt1dGlsaXNlciBldCBkZSBwbGFjZXIgbGUgdGFnIDxjb2RlPntDR1VzZXJEaXJlY3Rvcnl9PC9jb2RlPiBkYW5zIHZvdHJlIGdhYmFyaXQgb3UgbGEgcGFnZSBkJmVhY3V0ZTtzaXImZWFjdXRlO2UuIFBvdXIgYWpvdXRlciBkZXMgcGFyYW0mZWdyYXZlO3RyZXMsIHZvdXMgcG91dmV6IHV0aWxpc2VyIGxlcyBleGVtcGxlcyBzdWl2YW50cy48L3A+DQo8aDM+RXhlbXBsZXMgOjwvaDM+DQo8dWw+DQo8bGk+UiZlYWN1dGU7cGVydG9yaWVyIHRvdXMgbGVzIHV0aWxpc2F0ZXVycyA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+UiZlYWN1dGU7cGVydG9yaWVyIHRvdXMgbGVzIHV0aWxpc2F0ZXVycyBlbiBmb25jdGlvbiBkZSBsYSB2aWxsZToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90OyBwcm9wPSZxdW90O3ZpbGxlJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkFmZmljaGVyIHVuZSBsaXN0ZSByJmVhY3V0ZTtzdW1hbnQgdG91cyBsZXMgdXRpbGlzYXRldXJzIGR1IGdyb3VwZSAmcXVvdDttZW1icmVzJnF1b3Q7IDoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgZ3JvdXA9JnF1b3Q7bWVtYnJlcyZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5BZmZpY2hlciB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgYXlhbnQgcG91ciB2aWxsZSAmcXVvdDtQZXJwaWduYW4mcXVvdDsgOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O3ZpbGxlJnF1b3Q7IHByb3B2YWw9JnF1b3Q7cGVycGlnbmFuJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGZyb20gY291bnRyaWVzIHRoYXQgYmVnaW4gd2l0aCBDOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgdXNlbGlrZT0xIHByb3B2YWw9JnF1b3Q7YyUmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQoNCjwvdWw+DQoNCjxoMz5Ob3RlcyBhdSBzdWpldCBkZXMgJnF1b3Q7UHJldHR5IFVSTHMmcXVvdDsgKHImZWFjdXRlOy0mZWFjdXRlO2NyaXR1cmUgZCYjMDM5O1VSTCk8L2gzPg0KPHA+JnF1b3Q7UHJldHR5JnF1b3Q7IG9yIFNFTyBmcmllbmRseSBVUkxTIGxpbWl0cyB0aGUgZmxleGliaWxpdHkgb2YgdGhpcyBtb2R1bGUsIGFuZCB0aGUgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgb24gdGhlIHRhZy4gUGFydGljdWxhcmx5IHRob3NlIHRoYXQgY2FuIGJlIHBhc3NlZCBvbiB0byBzdWJzZXF1ZW50IHZpZXdzLiAgRm9yIHRoaXMgcmVhc29uLCB0aGUgZGlyZWN0b3J5IHZpZXcgZG9lcyBub3QgZ2VuZXJhdGUgcHJldHR5IHVybHMgdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBsaW5rcy4gIFRoaXMgYWxsb3dzIHBhcmFtZXRlcnMgbGlrZSBkZXRhaWxwYWdlLCBkZXRhaWx0ZW1wbGF0ZSwgYW5kIHN1bW1hcnl0ZW1wbGF0ZSB0byBiZSBwYXNzZWQgaW4gdGhlIHRhZyB0byB0aGUgZGlyZWN0b3J5IHZpZXcgYW5kIHRvIGhhdmUgdGhvc2UgcGFyYW1ldGVycyBwYXNzZWQgZG93biB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGRldGFpbCB2aWV3cy48L3A+DQo8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdDZXMgcGFyYW0mZWdyYXZlO3RyZXMgY29udHImb2NpcmM7bGVudCBsZSBjb21wb3J0ZW1lbnQgZHUgbW9kdWxlLiAgSWwgeSBhIHRyb2lzIHBvc3NpYmlsaXQmZWFjdXRlO3MgOg0KPHVsPg0KPGxpPmJyb3dzZSAgLSBEaXNwbGF5IGEgbmF2aWdhdGlvbiBvZiBwcm9wZXJ0eSB2YWx1ZXMsIGFuZCBhbGxvdyBkcmlsbGluZyBkb3duIHRvIG1hdGNoaW5nIHN1bW1hcnkgdmlld3MuPC9saT4NCiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5cyBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyB1c2VyLjwvbGk+DQo8bGk+c2VhcmNoIC0gRGlzcGxheXMgYSBzZWFyY2ggZm9ybS48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9icm93c2Vwcm9wdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGJyb3dzZSBwcm9wZXJ0eSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3IgYSBwcm9wZXJ0eSBicm93c2luZyB2aWV3JzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ3JvdXAnXSA9ICdVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgbmFtZSBvZiBhbiBGRVUgdXNlciBncm91cCwgYW5kIHdpbGwgbGltaXQgdGhlIG91dHB1dCB0byBtZW1iZXJzIG9mIHRoYXQgZ3JvdXAnOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgaWQgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwLiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZ3JvdXAgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnUGFyIGQmZWFjdXRlO2ZhdXQsIGxlIHN5c3QmZWdyYXZlO21lIHZhIGV4Y2x1cmUgZHUgcmFwcG9ydCB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgZXhwaXImZWFjdXRlO3MuIE1ldHRyZSBzZSBwYXJhbSZlZ3JhdmU7dHJlICZhZ3JhdmU7IDEgdmEgaW5jbHVyZSBjZXMgdXRpbGlzYXRldXJzLic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgcHJvcGVydHkgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPm5hbWUgLSB0aGUgcHJvcGVydHkgbmFtZS48L2xpPg0KICA8bGk+Y291bnQgLSB0aGUgbnVtYmVyIG9mIG1hdGNoZXMuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KIDxsaT5pZCAtIFRoZSB1c2VycyBpZDwvbGk+DQogPGxpPnVzZXJuYW1lIC0gVGhlIHVzZXJzIHVzZXJuYW1lPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLjwvbGk+DQogPGxpPmFjdGl2aXR5IC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgbGFzdCBsb2dnZWQgaW4gb3IgbG9nZ2VkIG91dC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9ic29ydG9yZGVyJ10gPSAnVXNlZCBmb3IgdGhlIGJyb3dzZSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5BU0MgLSBvcmRyZSBhc2NlbmRhbnQ8L2xpPg0KICA8bGk+REVTQyAtIG9yZHJlIGRlc2NlbmRhbnQ8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5BU0MgLSBvcmRyZSBhc2NlbmRhbnQ8L2xpPg0KICA8bGk+REVTQyAtIG9yZHJlIGRlc2NlbmRhbnQ8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthY3Rpb24gcGFyIGQmZWFjdXRlO2ZhdXQsIGNlIHBhcmFtJmVncmF2ZTt0cmUgc3AmZWFjdXRlO2NpZmllIGxlIG5vbWJyZSBtYXhpbXVtIGQmIzAzOTtpdGVtcyBxdWkgZG9pdmVudCAmZWNpcmM7dHJlIHJldG91cm4mZWFjdXRlO3MuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0LGJyb3dzZSBhbmQgZGlyZWN0b3J5IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGJlaGF2ZXMgaW4gdHdvIGRpZmZlcmVudCB3YXlzIGRlcGVuZGluZyB1cG9uIHRoZSBhY3Rpb246DQo8dWw+DQogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uDQogICAgPHA+SW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS4gIEl0IHdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByb3B2YWwgcGFyYW1ldGVyIGJlbG93LjwvcD4NCiAgPC9saT4NCjxsaT5UaGUgYnJvd3NlIGFjdGlvbg0KICAgIDxwPkluIHRoZSBicm93c2UgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIEZFVSBwcm9wZXJ0eSB0byBicm93c2U8L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgZGlyZWN0b3J5IGFjdGlvbi4NCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJmFtcDtxdW90O3VzZXJuYW1lJmFtcDtxdW90ZTs8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgcGFyYW1ldGVyIGZvciB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIHZhbHVlIG9uIHdoaWNoIHRvIGZpbHRlciB1c2VycyBieS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IGFuZCAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMsIHRoaXMgcGFyYW1ldGVyLCBpZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm9wdmFsIHBhcmFtZXRlciBjb250YWlucyBhIExJS0UgZXhwcmVzc2lvbic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLCBzaG91bGQgY29udGFpbiB0aGUgcGFnZWlkIG9yIGFsaWFzIG9mIGEgQ01TIGNvbnRlbnQgcGFnZSBvbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0byBzaG93IGFueSBkZXRhaWwgcmVwb3J0JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBzdW1tYXJ5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3IgZGV0YWlsIGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRpcmVjdG9yeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSB3aXRoIGRpcmVjdG9yeSBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGluIHNlYXJjaCBmb3Jtcyc7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHByb3BlcnR5J10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBzaW5nbGUgYWRkaXRpb25hbCBGRVUgcHJvcGVydHkgbmFtZSB0byBzdXBwbHkgaW4gdGhlIHNlYXJjaCBmb3JtJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdWlkJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBkZXRhaWwgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBjb250YWluIHRoZSB1aWQgb2YgYSB2YWxpZCBmcm9udGVuZCB1c2VyIGFjY291bnQnOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ0NldCBvbmdsZXQgY29udGllbnQgbGEgbGlzdGUgZGVzIGdhYmFyaXRzIGRpc3BvbmlibGVzIGNvbmNlcm5hbnQgbGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cy4gSWwgeSBhIHRvdWpvdXJzIHVuIGdhYmFyaXQgZCZlYWN1dGU7ZmluaXQgcGFyIGQmZWFjdXRlO2ZhdXQuIENlbHVpLWNpIHNlcmEgdXRpbGlzJmVhY3V0ZTsgc2kgYXVjdW4gYXV0cmUgbm9tIGRlIGdhYmFyaXQgZXN0IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsgZGFucyBsYSB0YWcgcXVpIGFwcGVsbGUgY2UgbW9kdWxlLic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZXMgZGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGZyb250ZW5kIHVzZXIuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkZXRhaWwgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdEaXJlY3RvcnkgdGVtcGxhdGVzIGRpc3BsYXkgYW4gYWxwaGFiZXRpY2FsIGxpc3Qgb2YgbGlua3MsIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQgaXQgd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIHRoZSBtYXRjaGluZyB1c2VycyBmb3IgdGhhdCBsZXR0ZXIuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgYmFzZWQgb24gZGlmZmVyZW50IHByb3BlcnRpZXMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkaXJlY3RvcnkgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgdGVtcGxhdGVzIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYSBsaXN0IG9mIHVzZXJzIHRoYXQgbWF0Y2ggYSBjcml0ZXJpYS4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTZWFyY2ggZm9ybSB0ZW1wbGF0ZXMgZGlzcGxheSBBIGZvcm0gdG8gYWxsb3cgc2VhcmNoaW5nIGZvciBhIHBhcnRpY3VsYXIgdXNlciBvciBncm91cCBvZiB1c2Vycy4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoZSBmb3JtIGRpc3BsYXllZC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCBmb3JtIHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEJyb3dzZSBQcm9wZXJ0eSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdHYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IGRlIGQmZWFjdXRlO3RhaWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgciZlYWN1dGU7cGVydG9pcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTeXN0JmVncmF2ZTttZSBkZSByZWNoZXJjaGUgcGFyIGQmZWFjdXRlO2ZhdXQgZHUgZ2FiYXJpdCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgciZlYWN1dGU7c3VtJmVhY3V0ZTsnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnTW9kaWZpZXIgY2UgZ2FiYXJpdCBuJiMwMzk7YSBhdWN1biBlZmZldCBpbW0mZWFjdXRlO2RpYXQgc3VyIGxlcyBhZmZpY2hhZ2VzLiBJbCBlc3QgdXRpbGlzJmVhY3V0ZTsgdW5pcXVlbWVudCBsb3JzIGRlIGxhIGNyJmVhY3V0ZTthdGlvbiBkZSBub3V2ZWF1IGdhYmFyaXQgcGFyIHVuIGNsaXF1ZSBzdXIgJmFtcDtxdW90O05vdXZlYXUgZ2FiYXJpdCZhbXA7cXVvdDsgZGFucyBsJiMwMzk7b25nbGV0IGFwcHJvcHJpJmVhY3V0ZTsuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnRGVybmllciBhY3RpZiZuYnNwOyc7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ2xibF9kZWZhdWx0dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1snbGJsX2RldGFpbHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIGQmZWFjdXRlO3RhaWwnOwokbGFuZ1snbGJsX2RpcmVjdG9yeXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIHImZWFjdXRlO3BlcnRvaXJlJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnQWxsZXIgJmFncmF2ZTsgbGEgcHJlbWkmZWdyYXZlO3JlIHBhZ2UnOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ0FsbGVyICZhZ3JhdmU7IGxhIGRlcm5pJmVncmF2ZTtyZSBwYWdlJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdBbGxlciAmYWdyYXZlOyBsYSBwYWdlIHN1aXZhbnRlJzsKJGxhbmdbJ2xibF9wcmV2X3BhZ2UnXSA9ICdBbGxlciAmYWdyYXZlOyBsYSBwYWdlIHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50ZSc7CiRsYW5nWydsYmxfc2VhcmNoZm9ybXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIGZvcm11bGFpcmUgZGUgcmVjaGVyY2hlJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ1BhcmFtJmVncmF2ZTt0cmVzJzsKJGxhbmdbJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgciZlYWN1dGU7c3VtJmVhY3V0ZTsnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdVbiBtb2R1bGUgcGVybWV0dGFudCBsYSByZWNoZXJjaGUsIGxhIG5hdmlnYXRpb24gZXQgbCYjMDM5O2FmZmljaGFnZSBkJiMwMzk7aW5mb3JtYXRpb25zIHN1ciBsYSBnZXN0aW9uIGRlcyB1dGlsaXNhdGV1cnMgZHUgc2l0ZSc7CiRsYW5nWydvZiddID0gJ2RlICc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0xlIG1vZHVsZSBDR1VzZXJEaXJlY3RvcnkgZXN0IG1haW50ZW5hbnQgcHImZWNpcmM7dCBwb3VyIGxhIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0xlIG1vZHVsZSBDR1VzZXJEaXJlY3RvcnksIGV0IHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgYXNzb2NpJmVhY3V0ZTtlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOyBkZSBsYSBiYXNlIGRlIGRvbm4mZWFjdXRlO2VzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudm95ZXInOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb20gZCYjMDM5O3V0aWxpc2F0ZXVyJm5ic3A7JzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE3OTEwMzMwNzctMTI1Mzg2NTI2MjI5Nic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjY3Mjk5OTM5My4xMjUzOTA4MTM3LjEyNTM5MDgxMzcuMTI1MzkwODEzNy4xJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUzOTA4MTM3LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSBUZW1wbGF0ZSBEZXR0YWdsaW8nOwokbGFuZ1snYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIFRlbXBsYXRlIERpcmVjdG9yeSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIFRlbXBsYXRlIFNvbW1hcmlvJzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoaXM/ICBDb250aW51aW5nIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIGFsbCBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjAgLSBKYW51YXJ5LCAyMDA5DQogIDxwPkluaXRpYWwgUmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ0dydXBwbyBub24gdmFsaWRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRzb3J0ZmllbGQnXSA9ICdDYW1wbyBkaSBvcmRpbmFtZW50byBub24gdmFsaWRvOiAlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdQYXJhbWV0cmkgaW5zdWZmaWNpZW50aSc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ0lsIG1vZHVsbyBGcm9udGVuZCBVc2VycyBub24gcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdMbyB1c2VyIGNvbiBsbyBzcGVjaWZpY2F0byBJRCBub24gcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byc7CiRsYW5nWydleHBpcmVzJ10gPSAnU2NhZGVuemUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBVc2VyIERpcmVjdG9yeSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgZ2VuZXJhdGluZyBhIGRpcmVjdG9yeSBvZiB1c2VycyBmcm9tIHRoZSBGRVUgbW9kdWxlLCBmb3IgZ2VuZXJhdGluZyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyBtYXRjaGluZyBzcGVjaWZpZWQgY3JpdGVyaWEsIGFuZCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgb2YgYSBzcGVjaWZpYyB1c2VyLiAgSXQgY2FuIGJlIHVzZWQgZm9yIGdlbmVyYXRpbmcgcHJvZmlsZSBwYWdlcyBmb3IgeW91ciB1c2Vycywgb3IgYSBzdGFmZiBkaXJlY3RvcnkuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5Db21wbGV0ZSB0ZW1wbGF0ZSBjb250cm9sDQo8cD5BbGwgZGlzcGxheXMgYXJlIGNvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJ5IHRlbXBsYXRlcyBhbGxvd2luZyBmb3IgamF2YXNjcmlwdCwgYWpheCwgb3IgYW55IG90aGVyIGZhbmN5IGRpc3BsYXlzLiAgU3R5bGluZyBpcyBjb21wbGV0ZWx5IGNvbnRyb2xsYWJsZSBieSB0aGUgd2Vic2l0ZSBkZXZlbG9wZXIuPC9wPg0KICA8L2xpPg0KICA8bGk+TXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLg0KPHA+WW91IGNhbiBjb25maWd1cmUgbXVsdGlwbGUgZGlmZmVyZW50IHZpZXdzIGZvciBlYWNoIGRpc3BsYXksIGFuZCB1c2UgdGhlbSB1bmRlciBkaWZmZXJlbnQgc2l0dWF0aW9ucy48L3A+DQogIDwvbGk+DQo8bGk+RmlsdGVyIHN1bW1hcnkgdmlld3Mgb24gdXNlciBwcm9wZXJ0aWVzLg0KICAgPHA+WW91IGNhbiBmaWx0ZXIgdGhlIG91dHB1dCBmb3IgdGhlIHN1bW1hcnkgdmlldyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyB1c2VyIHByb3BlcnR5IGZyb20gdGhlIEZFVSBtb2R1bGUuICBUaGlzIGFsc28gaW5jbHVkZXMgJnF1b3Q7TElLRSZxdW90OyBiYXNlZCBjcml0ZXJhLg0KICA8L2xpPg0KICA8bGk+U29ydGluZyBvbiBtdWx0aXBsZSBkaWZmZXJlbnQgY3JpdGVyaWEuPC9saT4NCiAgPGxpPlN1cHBvcnRzIFNFTyBmcmllbmRseSBVUkxTPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byBwbGFjZSBhIHRhZyBsaWtlIHRoaXMgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIHBhZ2UgY29udGVudCA8Y29kZT57Q0dVc2VyRGlyZWN0b3J5fTwvY29kZT4uICBUbyBleHBhbmQgb24gdGhpcyBmdW5jdGlvbmFsaXR5LCBvciB0byBkaXNwbGF5IGEgc3Vic2V0IG9mIHlvdXIgdXNlcnMsIHNlZSB0aGUgcGFyYW1ldGVycyBiZWxvdy48L3A+DQo8aDM+RXhhbXBsZXM6PC9oMz4NCjx1bD4NCjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VyczoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgZGlyZWN0b3J5IG9mIGFsbCB1c2VycyBvcmdhbml6ZWQgYnkgY2l0eToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90OyBwcm9wPSZxdW90O2NpdHkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlICZxdW90O21lbWJlcnMmcXVvdDsgZ3JvdXA6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGdyb3VwPSZxdW90O21lbWJlcnMmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlIGNpdHkgb2YgY2FsZ2FyeToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHByb3B2YWw9JnF1b3Q7Y2FsZ2FyeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBmcm9tIGNvdW50cmllcyB0aGF0IGJlZ2luIHdpdGggQzoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7IHVzZWxpa2U9MSBwcm9wdmFsPSZxdW90O2MlJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KDQo8L3VsPg0KDQo8aDM+Tm90ZXMgYWJvdXQgcHJldHR5IFVSTFM8L2gzPg0KPHA+JnF1b3Q7UHJldHR5JnF1b3Q7IG9yIFNFTyBmcmllbmRseSBVUkxTIGxpbWl0cyB0aGUgZmxleGliaWxpdHkgb2YgdGhpcyBtb2R1bGUsIGFuZCB0aGUgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgb24gdGhlIHRhZy4gUGFydGljdWxhcmx5IHRob3NlIHRoYXQgY2FuIGJlIHBhc3NlZCBvbiB0byBzdWJzZXF1ZW50IHZpZXdzLiAgRm9yIHRoaXMgcmVhc29uLCB0aGUgZGlyZWN0b3J5IHZpZXcgZG9lcyBub3QgZ2VuZXJhdGUgcHJldHR5IHVybHMgdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBsaW5rcy4gIFRoaXMgYWxsb3dzIHBhcmFtZXRlcnMgbGlrZSBkZXRhaWxwYWdlLCBkZXRhaWx0ZW1wbGF0ZSwgYW5kIHN1bW1hcnl0ZW1wbGF0ZSB0byBiZSBwYXNzZWQgaW4gdGhlIHRhZyB0byB0aGUgZGlyZWN0b3J5IHZpZXcgYW5kIHRvIGhhdmUgdGhvc2UgcGFyYW1ldGVycyBwYXNzZWQgZG93biB0byB0aGUgc3Vic2VxdWVudCBzdW1tYXJ5IGRldGFpbCB2aWV3cy48L3A+DQo8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdUaGlzIHBhcmFtZXRlciBjb250cm9scyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBUaGVyZSBhcmUgdGhyZWUgcG9zc2libGUgdmFsdWVzOg0KPHVsPg0KICA8bGk+ZGVmYXVsdCAtIERpc3BsYXlzIGEgc3VtbWFyeSB2aWV3IG9mIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYSwgb3IgYWxsIHVzZXJzIGlmIG5vIGNyaXRpZXJpYSBpcyBzcGVjaWZpZWQuPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIERpc3BsYXlzIGFuIGFscGhhYmV0aWNhbCBkaXJlY3Rvcnkgb2YgbGlua3MgdG8gc3VtbWFyeSB2aWV3cyB0byB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IHZpZXdzIG9uIHVzZXJuYW1lLCBvciBvbiBhbnkgb3RoZXIgcGFyYW1ldGVyPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXlzIGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHVzZXIuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ3JvdXAnXSA9ICdVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgbmFtZSBvZiBhbiBGRVUgdXNlciBncm91cCwgYW5kIHdpbGwgbGltaXQgdGhlIG91dHB1dCB0byBtZW1iZXJzIG9mIHRoYXQgZ3JvdXAnOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdVc2VkIHdpdGggdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzaG91bGQgY29udGFpbiB0aGUgaWQgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwLiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZ3JvdXAgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnQnkgZGVmYXVsdCwgdGhlIHN5c3RlbSB3aWxsIGV4Y2x1ZGUgZXhwaXJlZCB1c2VycyBmcm9tIGFueSBnZW5lcmF0ZWQgcmVwb3J0LiAgU2V0dGluZyB0aGlzIHBhcmFtZXRlciB0byAxIHdpbGwgaW5jbHVkZSB0aGVzZSB1c2Vycy4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0YnknXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydGluZyBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogPGxpPmlkIC0gVGhlIHVzZXJzIGlkPC9saT4NCiA8bGk+dXNlcm5hbWUgLSBUaGUgdXNlcnMgdXNlcm5hbWU8L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgY3JlYXRlZC48L2xpPg0KIDxsaT5leHBpcmVzIC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3aWxsIGV4cGlyZSAob3IgZGlkIGV4cGlyZSkuPC9saT4NCiA8bGk+YWN0aXZpdHkgLSBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdXNlciBhY2NvdW50IHdhcyBsYXN0IGxvZ2dlZCBpbiBvciBsb2dnZWQgb3V0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBiZSByZXR1cm5lZC4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYW5kIGRpcmVjdG9yeSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBiZWhhdmVzIGluIHR3byBkaWZmZXJlbnQgd2F5cyBkZXBlbmRpbmcgdXBvbiB0aGUgYWN0aW9uOg0KPHVsPg0KICA8bGk+VGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbg0KICAgIDxwPkluIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuPC9wPg0KICA8L2xpPg0KICA8bGk+VGhlIGRpcmVjdG9yeSBhY3Rpb24uDQogICAgPHA+SW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24sIHRoaXMgYXByYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwcm9wZXJ0eSB0byBnZW5lcmF0ZSBhIGRpcmVjdG9yeSBmcm9tLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBkaXJlY3RvcnkgYWN0aW9uIGlzICZxdW90O3Vuc2VybmFtZSZhbXA7cXVvdGU7PC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wdmFsJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IHBhcmFtZXRlciBmb3IgdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSB2YWx1ZSBvbiB3aGljaCB0byBmaWx0ZXIgdXNlcnMgYnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdXNlbGlrZSddID0gJ1VzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBhbmQgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXJzLCB0aGlzIHBhcmFtZXRlciwgaWYgc2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvcHZhbCBwYXJhbWV0ZXIgY29udGFpbnMgYSBMSUtFIGV4cHJlc3Npb24nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBwYXJhbWV0ZXIsIGlmIHNwZWNpZmllZCwgc2hvdWxkIGNvbnRhaW4gdGhlIHBhZ2VpZCBvciBhbGlhcyBvZiBhIENNUyBjb250ZW50IHBhZ2Ugb24gd2hpY2ggeW91IHdvdWxkIGxpa2UgdG8gc2hvdyBhbnkgZGV0YWlsIHJlcG9ydCc7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3Igc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIGRldGFpbCBkaXNwbGF5cyc7CiRsYW5nWydoZWxwX3BhcmFtX2RpcmVjdG9yeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkaXJlY3RvcnkgdGVtcGxhdGUgbmFtZSB0byB1c2Ugd2l0aCBkaXJlY3RvcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZXMgZGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGZyb250ZW5kIHVzZXIuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkZXRhaWwgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdEaXJlY3RvcnkgdGVtcGxhdGVzIGRpc3BsYXkgYW4gYWxwaGFiZXRpY2FsIGxpc3Qgb2YgbGlua3MsIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQgaXQgd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIHRoZSBtYXRjaGluZyB1c2VycyBmb3IgdGhhdCBsZXR0ZXIuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgYmFzZWQgb24gZGlmZmVyZW50IHByb3BlcnRpZXMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkaXJlY3RvcnkgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgdGVtcGxhdGVzIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYSBsaXN0IG9mIHVzZXJzIHRoYXQgbWF0Y2ggYSBjcml0ZXJpYS4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERpcmVjdG9yeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFN1bW1hcnkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdBbHRlcmluZyB0aGlzIHRlbXBsYXRlIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIGFueSBvdXRwdXQuICBUaGlzIGZvcm0gY29udHJvbHMgdGhlIHZhbHVlIG9mIHRoZSB0ZW1wbGF0ZSB0aGF0IGlzIGNyZWF0ZWQgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7TmV3IFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnTCYjMDM5O3VsdGltbyBhdHRpdm8nOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZSBwcmVkZWZpbml0aSc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUgZGkgdmlzdWFsaXp6YXppb25lIGRldHRhZ2xpJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZSBEaXJlY3RvcnknOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdWYWkgYWxsYSBwcmltYSBwYWdpbmEnOwokbGFuZ1snbGJsX2xhc3RfcGFnZSddID0gJ1ZhaSBhbGwmIzAzOTt1bHRpbWEgcGFnaW5hJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdWYWkgYWxsYSBwYWdpbmEgc2VndWVudGUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ1ZhaSBhbGxhIHBhZ2luYSBwcmVjZWRlbnRlJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0NvbmZpZ3VyYXppb25pJzsKJGxhbmdbJ2xibF9zdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGFsbG93aW5nIHNlYXJjaGluZywgYnJvd3NpbmcsIGFuZCB2aWV3aW5nIGRldGFpbHMgYWJvdXQgZnJvbnRlbmQgdXNlcnMnOwokbGFuZ1snb2YnXSA9ICdkaSc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBDR1VzZXJEaXJlY3RvcnkgbW9kdWxlIGlzIG5vdyByZWFkeSBmb3IgY29uZmlndXJhdGlvbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIENHVXNlcmRpcmVjdG9yeSBtb2R1bGUsIGFuZCBhbGwgYXNzb2NpYXRlZCBkYXRhIGhhcyBiZWVuIHVuaW5zdGFsbGVkIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41Njg3Mjc5MzcuMTIzNjM0MDE3MS4xMjM2MzQwMTcxLjEyMzYzNDAxNzEuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM2MzQwMTcxLjEuMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgcyZvc2xhc2g7ay1pLWVnZW5za2FwKEJyb3dzZSBQcm9wZXJ0eSktbWFsJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBkYXRhbGptYWwnOwokbGFuZ1snYWRkZWRpdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGthdGFsb2dtYWwnOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBzJm9zbGFzaDtrZXNramVtYW1hbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIHNhbW1lbmRyYWdzbWFsJzsKJGxhbmdbJ2FueSddID0gJ0FsbGUnOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGdqJm9zbGFzaDtyZSBkZXR0ZT8gJkFyaW5nOyBmb3J0c2V0dGUgdmlsIHVnamVua2FsbGVsaWcgc2xldHRlIGFsbCBkYXRhIGFzc29zaWVydCBtZWQgZGVubmUgbW9kdWxlbi4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyeSwgMjAwOQ0KICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xDQogIDxwPkFkZHMgc2VhcmNoIGFuZCBicm93c2UgY2FwYWJpbGl0aWVzLjwvcD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjEuMSAtIFNlcHRlbWJlciwgMjAwOQ0KICA8cD5BZGRzIHNvcnRpbmcgaW4gdGhlIGJyb3dzZSBhY3Rpb24uPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMS4yIC0gU2VwdGVtYmVyLCAyMDA5DQogIDxwPkZpeCBwYXJhbWV0ZXIgY29uZmxpY3Qgd3J0IHNvcnRpbmcgaW4gdGhlIGJyb3dzZSBhY3Rpb24uPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdPcHByZXR0ZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwJ10gPSAnVWd5bGRpZyBncnVwcGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHNvcnRmaWVsZCddID0gJ1VneWxkaWcgc29ydGVyaW5nc2ZlbHQ6ICVzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1V0aWxzdHJla2tlbGlnZSBwYXJhbWV0ZXJlJzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnRnJvbnRlbmQgVXNlcnMgbW9kdWxlbiBibGUgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQnJ1a2VyZW4gbWVkIGRlbiBvcHBnaXR0ZSBpZCBibGUgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXhwaXJlcyddID0gJ1V0bCZvc2xhc2g7cGVyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgVXNlciBEaXJlY3RvcnkgJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBwZXInOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgZ2VuZXJhdGluZyBhIGRpcmVjdG9yeSBvZiB1c2VycyBmcm9tIHRoZSBGRVUgbW9kdWxlLCBmb3IgZ2VuZXJhdGluZyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyBtYXRjaGluZyBzcGVjaWZpZWQgY3JpdGVyaWEsIGFuZCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgb2YgYSBzcGVjaWZpYyB1c2VyLiAgSXQgY2FuIGJlIHVzZWQgZm9yIGdlbmVyYXRpbmcgcHJvZmlsZSBwYWdlcyBmb3IgeW91ciB1c2Vycywgb3IgYSBzdGFmZiBkaXJlY3RvcnkuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5Db21wbGV0ZSB0ZW1wbGF0ZSBjb250cm9sDQo8cD5BbGwgZGlzcGxheXMgYXJlIGNvbXBsZXRlbHkgY29uZmlndXJhYmxlIGJ5IHRlbXBsYXRlcyBhbGxvd2luZyBmb3IgamF2YXNjcmlwdCwgYWpheCwgb3IgYW55IG90aGVyIGZhbmN5IGRpc3BsYXlzLiAgU3R5bGluZyBpcyBjb21wbGV0ZWx5IGNvbnRyb2xsYWJsZSBieSB0aGUgd2Vic2l0ZSBkZXZlbG9wZXIuPC9wPg0KICA8L2xpPg0KICA8bGk+TXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLg0KPHA+WW91IGNhbiBjb25maWd1cmUgbXVsdGlwbGUgZGlmZmVyZW50IHZpZXdzIGZvciBlYWNoIGRpc3BsYXksIGFuZCB1c2UgdGhlbSB1bmRlciBkaWZmZXJlbnQgc2l0dWF0aW9ucy48L3A+DQogIDwvbGk+DQo8bGk+RmlsdGVyIHN1bW1hcnkgdmlld3Mgb24gdXNlciBwcm9wZXJ0aWVzLg0KICAgPHA+WW91IGNhbiBmaWx0ZXIgdGhlIG91dHB1dCBmb3IgdGhlIHN1bW1hcnkgdmlldyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyB1c2VyIHByb3BlcnR5IGZyb20gdGhlIEZFVSBtb2R1bGUuICBUaGlzIGFsc28gaW5jbHVkZXMgJmFtcDtxdW90O0xJS0UmYW1wO3F1b3Q7IGJhc2VkIGNyaXRlcmEuDQogIDwvbGk+DQogIDxsaT5Tb3J0aW5nIG9uIG11bHRpcGxlIGRpZmZlcmVudCBjcml0ZXJpYS48L2xpPg0KICA8bGk+U3VwcG9ydHMgU0VPIGZyaWVuZGx5IFVSTFM8L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZSBzaW1wbGVzdCB3YXkgdG8gdXNlIHRoaXMgbW9kdWxlIGlzIHRvIHBsYWNlIGEgdGFnIGxpa2UgdGhpcyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgcGFnZSBjb250ZW50IDxjb2RlPntDR1VzZXJEaXJlY3Rvcnl9PC9jb2RlPi4gIFRvIGV4cGFuZCBvbiB0aGlzIGZ1bmN0aW9uYWxpdHksIG9yIHRvIGRpc3BsYXkgYSBzdWJzZXQgb2YgeW91ciB1c2Vycywgc2VlIHRoZSBwYXJhbWV0ZXJzIGJlbG93LjwvcD4NCjxoMz5FeGFtcGxlczo8L2gzPg0KPHVsPg0KPGxpPkRpc3BsYXkgYSBkaXJlY3Rvcnkgb2YgYWxsIHVzZXJzOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBhY3Rpb249JmFtcDtxdW90O2RpcmVjdG9yeSZhbXA7cXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnMgb3JnYW5pemVkIGJ5IGNpdHk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mYW1wO3F1b3Q7ZGlyZWN0b3J5JmFtcDtxdW90OyBwcm9wPSZhbXA7cXVvdDtjaXR5JmFtcDtxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5EaXNwbGF5IGEgc3VtbWFyeSBsaXN0IG9mIGFsbCB1c2VycyBpbiB0aGUgJmFtcDtxdW90O21lbWJlcnMmYW1wO3F1b3Q7IGdyb3VwOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mYW1wO3F1b3Q7bWVtYmVycyZhbXA7cXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgaW4gdGhlIGNpdHkgb2YgY2FsZ2FyeToNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgcHJvcD0mYW1wO3F1b3Q7Y2l0eSZhbXA7cXVvdDsgcHJvcHZhbD0mYW1wO3F1b3Q7Y2FsZ2FyeSZhbXA7cXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JmFtcDtxdW90O2NpdHkmYW1wO3F1b3Q7IHVzZWxpa2U9MSBwcm9wdmFsPSZhbXA7cXVvdDtjJSZhbXA7cXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQoNCjwvdWw+DQoNCjxoMz5Ob3RlcyBhYm91dCBwcmV0dHkgVVJMUzwvaDM+DQo8cD4mYW1wO3F1b3Q7UHJldHR5JmFtcDtxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPg0KPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoNCjx1bD4NCiAgPGxpPmJyb3dzZSAgLSBEaXNwbGF5IGEgbmF2aWdhdGlvbiBvZiBwcm9wZXJ0eSB2YWx1ZXMsIGFuZCBhbGxvdyBkcmlsbGluZyBkb3duIHRvIG1hdGNoaW5nIHN1bW1hcnkgdmlld3MuPC9saT4NCiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5cyBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyB1c2VyLjwvbGk+DQogIDxsaT5zZWFyY2ggLSBEaXNwbGF5cyBhIHNlYXJjaCBmb3JtLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jyb3dzZXByb3B0ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIG5hdm5ldCBwJmFyaW5nOyBlbiBzJm9zbGFzaDtrLWktZWdlbnNrYXAoYnJvd3NlIHByb3BlcnR5KS1tYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIGZvciBzJm9zbGFzaDtrZS12aXNuaW5nZW4nOwokbGFuZ1snaGVscF9wYXJhbV9ncm91cCddID0gJ04mYXJpbmc7ciBiZW55dHRldCBtZWQgc3RhbmRhcmQgaGFuZGxpbmdlbiBiJm9zbGFzaDtyIGRlbm5lIHBhcmFtZXRlciBpbm5laG9sZGUgbmF2bmV0IHAmYXJpbmc7IGVuIEZFVSBicnVrZXJncnVwcGUsIG9nIHZpbCBkYSBiZWdyZW5zZSB2aXNuaW5nZW4gdGlsIGt1biBtZWRsZW1tZXIgYXYgZGVuIGdydXBwZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnTiZhcmluZztyIGJlbnl0dGV0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIGImb3NsYXNoO3IgZGVubmUgcGFyYW1ldGVyIGlubmVob2xkZSBpZCYjMDM5O2VuIHAmYXJpbmc7IGVuIEZFVSBicnVrZXJncnVwcGUsIG9nIHZpbCBkYSBiZWdyZW5zZSB2aXNuaW5nZW4gdGlsIGt1biBtZWRsZW1tZXIgYXYgZGVuIGdydXBwZW4uIERlbm5lIHBhcmFtZXRlciBrYW4gaWtrZSBicnVrZXMgc2FtbWVuIG1lZCAmIzAzOTtncm91cCYjMDM5OyBwYXJhbWV0ZXJlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93ZXhwaXJlZCddID0gJ1NvbSBzdGFuZGFyZCwgdmlsIHN5c3RlbWV0IHV0ZWx1a2tlIHV0bCZvc2xhc2g7cHRlIGJydWtlcmUgZnJhIGFsbGUgZ2VuZXJlcnRlIHJhcHBvcnRlci4gJkFyaW5nOyBzZXR0ZSBkZW5uZSBwYXJhbWV0ZXIgdGlsICAxICB2aWwgb2dzJmFyaW5nOyB1dGwmb3NsYXNoO3B0ZSBicnVrZXJlIGJsaSBpbmtsdWRlcnQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYnNvcnRieSddID0gJ04mYXJpbmc7ciBiZW55dHRldCBtZWQgcyZvc2xhc2g7a2UgaGFuZGxpbmdlbiwgdmlsIGRlbm5lIHBhcmFtZXRlciBzcGVzaWZpc2VyZSBzb3J0ZXJpbmdzcmVra2VmJm9zbGFzaDtsZ2VuIGZvciBkZW4gZ2VuZXJlcnRlIGVnZW5za2Fwc3Zpc25pbmdlbi4gIE11bGlnZSB2ZXJkaWVyIGVyOg0KPHVsPg0KICA8bGk+bmFtZSAtIGVnZW5za2FwZW5zIG5hdm4uPC9saT4NCiAgPGxpPmNvdW50IC0gYW50YWxsIHRyZWZmLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ0JydWt0IG1lZCBzdGFuZGFyZCBoYW5kbGluZ2VuIHZpbCBkZW5uZSBwYXJhbWV0ZXJlbiBzcGVzaWZpc2VyZSBzb3J0ZXJpbmdlbiBhdiBkZW4gZ2VuZXJlcnRlIHZpc25pbmdlbi4gTXVsaWdlIHZlcmRpZXIgZXI6DQo8dWw+DQogPGxpPmlkIC0gQnJ1a2VyZW5zIGlkIChrdW4gc3RhbmRhcmQgdmlzbmluZyk8L2xpPg0KIDxsaT51c2VybmFtZSAtIEJydWtlcmVucyBicnVrZXJuYXZuIChrdW4gc3RhbmRhcmQgdmlzbmluZyk8L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gRGF0byBmb3IgbiZhcmluZztyIGJydWtlcmtvbnRvZW4gYmxlIG9wcHJldHRldC4gKGt1biBzdGFuZGFyZCB2aXNuaW5nKTwvbGk+DQogPGxpPmV4cGlyZXMgLSBEYXRvIGZvciBuJmFyaW5nO3IgYnJ1a2Vya29udG9lbiB2aWwgdXRsJm9zbGFzaDtwZSAoZWxsZXIgbiZhcmluZztyIGRlbiB1dGwmb3NsYXNoO3ApLiAoa3VuIHN0YW5kYXJkIHZpc25pbmcpPC9saT4NCiA8bGk+YWN0aXZpdHkgLSBEYXRvIGZvciBuJmFyaW5nO3IgZGV0IHNpc3QgYmxlIGxvZ2dldCBpbm4gZWxsZXIgdXQgYXYgYnJ1a2Vya29udG9lbi4gKGt1biBzdGFuZGFyZCB2aXNuaW5nKTwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0b3JkZXInXSA9ICdOJmFyaW5nO3IgYmVueXR0ZXQgbWVkIHMmb3NsYXNoO2tlIGhhbmRsaW5nZW4sIHZpbCBkZW5uZSBwYXJhbWV0ZXIgc3Blc2lmaXNlcmUgc29ydGVyaW5nc3Jla2tlZiZvc2xhc2g7bGdlbiBmb3IgZGVuIGdlbmVyZXJ0ZSB2aXNuaW5nZS4gIE11bGlnZSB2ZXJkaWVyIGVyOg0KPHVsPg0KICA8bGk+QVNDIC0gU3RpZ2VuZGUgcmVra2VmJm9zbGFzaDtsZ2U8L2xpPg0KICA8bGk+REVTQyAtIFN5bmtlbmRlIHJla2tlZiZvc2xhc2g7bGdlPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydG9yZGVyJ10gPSAnQnJ1a3QgbWVkIHN0YW5kYXJkIGhhbmRsaW5nZW4gdmlsIGRlbm5lIHBhcmFtZXRlcmVuIHNwZXNpZmlzZXJlIHNvcnRlcmluZ3NyZXRuaW5nZW4gcCZhcmluZzsgZGVuIGdlbmVyZXJ0ZSB2aXNuaW5nZW4uIE11bGlnZSB2ZXJkaWVyIGVyOg0KPHVsPg0KICA8bGk+QVNDIC0gU3RpZ2VuZGUgcmVra2VmJm9zbGFzaDtsZ2U8L2xpPg0KICA8bGk+REVTQyAtIFN5bmtlbmRlIHJla2tlZiZvc2xhc2g7bGdlPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnQnJ1a3QgbWVkIHN0YW5kYXJkIGhhbmRsaW5nZW4gdmlsIGRlbm5lIHBhcmFtZXRlcmVuIHNwZXNpZmlzZXJlIG1ha3NpbWFsdCBhbnRhbGwgcG9zdGVyIHNvbSBza2FsIHZpc2VzLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdCcnVrdCBtZWQgc3RhbmRhcmQgb2cgZGlyZWN0b3J5IGhhbmRsaW5nZW5lIHZpbCBkZW5uZSBwYXJhbWV0ZXIgb3BwZiZvc2xhc2g7cmUgc2VnIHAmYXJpbmc7IHRvIHVsaWtlIG0mYXJpbmc7dGVyIGFsdCBldHRlciBoYW5kbGluZ2VuOg0KPHVsPg0KICA8bGk+U3RhbmRhcmQgKHNhbW1lbmRyYWcpIGhhbmRsaW5nZW4uDQogICAgPHA+SSBzdGFuZGFyZCAoc2FtbWVuZHJhZykgaGFuZGxpbmdlbiBrYW4gZGVubmUgcGFyYW1ldGVyZW4gYmVueXR0ZXMgZm9yICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZWdlbnNrYXAgbWFuIHZpbCBmaWx0cmVyZSBwJmFyaW5nOy48L3A+DQogIDwvbGk+DQogIDxsaT5Ccm93c2UgaGFuZGxpbmdlbg0KICAgIDxwPkkgYnJvd3NlIGhhbmRsaW5nZW4ga2FuIGRlbm5lIHBhcmFtZXRlcmVuIGJlbnl0dGVzIGZvciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIEZFVSBlZ2Vuc2thcCAmYXJpbmc7IGxldGUgaTwvcD4NCiAgPC9saT4NCiAgPGxpPkthdGFsb2cgaGFuZGxpbmdlbi4NCiAgICA8cD5JIGRpcmVjdG9yeShrYXRhbG9nKSBoYW5kbGluZ2VuIGthbiBkZW5uZSBwYXJhbWV0ZXJlbiBiZW55dHRlcyBmb3IgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBlZ2Vuc2thcCBtYW4gdmlsIGdlbmVyZXJlIGVuIGthdGFsb2cgZnJhLiBTdGFuZGFyZCB2ZXJkaSBpIGRpcmVjdG9yeShrYXRhbG9nKSBoYW5kbGluZ2VuIGVyICZhbXA7cXVvdGU7dW5zZXJuYW1lJmFtcDtxdW90ZTs8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdCZW55dHRldCBzYW1tZW4gbWVkICAmcXVvdDtwcm9wJnF1b3Q7ICBwYXJhbWV0ZXJlbiBmb3Igc3RhbmRhcmQgKHNhbW1lbmRyYWcpIGhhbmRsaW5nZW4sIHRpbGxhdGVyIGRlbm5lIHBhcmFtZXRlcmVuICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gdmVyZGkgc29tIGJydWtlcmUgc2thbCBmaWx0cmVyZXMgbWVkLic7CiRsYW5nWydoZWxwX3BhcmFtX3VzZWxpa2UnXSA9ICdCZW55dHRldCBzYW1tZW4gbWVkICAmcXVvdDtwcm9wJnF1b3Q7ICBvZyAgJnF1b3Q7cHJvcHZhbCZxdW90OyAgcGFyYW1ldGVyZW4sIHZpbCBkZW5uZSBwYXJhbWV0ZXJlbiAtIG9tIGRlbiBlciBzYXR0IHRpbCBlbiBwb3NpdGl2IGludGVnZXIgdmVyZGkgLSBpbmRpa2VyZSBhdCBwcm9wdmFsIHBhcmFtZXRlcmVuIGlubmVob2xkZXIgZXQgTElLRSB1dHRyeWtrIChMSUtFIGV4cHJlc3Npb24pLic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdEZW5uZSBwYXJhbWV0ZXJlbiwgb20gc3Blc2lmaXNlcnQsIGImb3NsYXNoO3IgaW5uZWhvbGRlIHBhZ2VpZCBlbGxlciBhbGlhcyBmb3IgZW4gQ01TIGlubmhvbGRzaWRlIGh2b3IgZHUgdmlsIGF0IGRldGFsanJhcHBvcnRlciBza2FsIHZpc2VzLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIG5hdm5ldCBwJmFyaW5nOyBlbiBtYWwsIHNvbSBpa2tlIGVyIHN5c3RlbXN0YW5kYXJkIGZvciBzYW1tZW5kcmFnLCAmYXJpbmc7IGJlbnl0dGUgZm9yIHNhbW1lbmRyYWdzdmlzbmluZ2VyJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBuYXZuZXQgcCZhcmluZzsgZW4gbWFsLCBzb20gaWtrZSBlciBzeXN0ZW1zdGFuZGFyZCBmb3IgZGV0YWxqdmlzbmluZywgJmFyaW5nOyBiZW55dHRlIGZvciBkZXRhbGp2aXNuaW5nZXInOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIG5hdm5ldCBwJmFyaW5nOyBlbiBtYWwsIHNvbSBpa2tlIGVyIHN5c3RlbXN0YW5kYXJkIGZvciBrYXRhbG9ndmlzbmluZywgJmFyaW5nOyBiZW55dHRlIGZvciBrYXRhbG9ndmlzbmluZ2VyJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgbmF2bmV0IHAmYXJpbmc7IGVuIHMmb3NsYXNoO2tlbWFsIHNvbSBpa2tlIGVyIHNhdHQgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIGkgcyZvc2xhc2g7a2Vza2plbWEnOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hwcm9wZXJ0eSddID0gJ0Rlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGV0IGVua2VsdCBla3N0cmEgRkVVIGVnZW5za2Fwc25hdm4gJmFyaW5nOyB0aWxmJm9zbGFzaDtyZSB0aWwgcyZvc2xhc2g7a2Vza2plbWFldCc7CiRsYW5nWydoZWxwX3BhcmFtX3VpZCddID0gJ0Jlbnl0dGV0IHNhbW1lbiBtZWQgZGV0YWxqdmlzbmluZ2VuLCBtJmFyaW5nOyBkZW5uZSBwYXJhbWV0ZXJlbiBpbm5laG9sZGUgdWlkIGZvciBlbiBneWxkaWcgRnJvbnRFbmRVc2VyIGtvbnRvJzsKJGxhbmdbJ2luZm9fYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1Mmb3NsYXNoO2staWVnZW5za2FwKEJyb3dzZSBQcm9wZXJ0eSktbWFsZXIgdmlzZXIgZW4gbGlzdGUgbWVkIHVuaWtlIHZlcmRpZXIgZm9yIGRlbiBzcGVzaWZpc2VydGUgZWdlbnNrYXBlbi4gSHZlciBvcHBmJm9zbGFzaDtyaW5nIGkgbGlzdGVuIGVyIGVuIGxlbmtlIHRpbCBlbiBzYW1tZW5kcmFnc3Zpc25pbmcgc29tIGlubmVob2xkZXIgZGUgYnJ1a2VybmUgc29tIHBhc3NlciBkZW4gZWdlbnNrYXBzdmVyZGllbi4gRHUga2FuIGJlbnl0dGUgZW52aGVyIHNtYXJ0eWxvZ2lrayBlbGxlciB2YXJpYWJsZXIgc29tIGFsbGVyZWRlIGVyIG9wcHJldHRldCwgZWxsZXIgZGUgc29tIHNwZXNpZmlrdCBlciBnam9ydCB0aWxnamVuZ2VsaWdlIGZvciBkZW5uZSB2aXNuaW5nZW4uJzsKJGxhbmdbJ2luZm9fYnJvd3NlcHJvcF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlcmxpc3RlbiBtZWQgdGlsZ2plbmdlbGlnZSBzJm9zbGFzaDtrLWllZ2Vuc2thcChicm93c2UgcHJvcGVydHkpIHZpc25pbmdzbWFsZXIuIEVuIGF2IGRlbSBlciBzYXR0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYmxpIGJlbnl0dGV0IG4mYXJpbmc7ciBpbmdlbiBhbmRyZSBtYWxuYXZuIGVyIG9wcGdpdHQgaSB0YWdnZW4gc29tIGthbGxlciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnRGV0YWxqbWFsZXIgdmlzZXIgZGV0YWxqZXJ0IGluZm9ybWFzam9uIG9tIGVuIHNwZXNpZmllc2VydCBGcm9udEVuZFVzZXIuIEhFciBkZXNpZ25lciBkdSBtJmFyaW5nO3RlbiBkdSB2aWwgYXQgZGVubmUgaW5mb3JtYXNqb25lbiBza2FsIHZpc2VzLiBEdSBrYW4gYnJ1a2UgYWxsIHNtYXJ0eSBsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBmcmEgZiZvc2xhc2g7ciBoYXIgYmxpdHQgZGVzaWduZXQsIGVsbGVyIGRlIHNvbSBlciBnam9ydCB0aWxnamVuZ2VsaWdlIHNwZXNpZWx0IGZvciBkZW5uZSB2aXNuaW5nZW4nOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgbGlzdGVuIG1lZCB0aWxnamVuZ2VsaWdlIGRldGFsanZpc25pbmcgbWFsZXIuIEVuIGF2IGRlbSBlciBtYXJrZXJ0IHNvbSBzdGFuZGFyZC4gRGVuIHNvbSBlciBzdGFuZGFyZCB2aWwgYmxpIGJlbnl0dGV0IG4mYXJpbmc7ciBpa2tlIGV0IGFubmV0IG1hbG5hdm4gZXIgZWtzcGxpc2l0dCBhbmdpdHQgaSB0YWdnZW4gc29tIGthbGxlciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnS2F0YWxvZ21hbGVyIHZpc2VyIGVuIGFsZmFiZXRpc2sgbGlzdGUgbWVkIGxlbmtlci4gTiZhcmluZztyIGVuIGxlbmtlIGtsaWtrZXMgdmlsIGRlbiB2aXNlIGVuIHNhbW1lbmRyYWdzdmlzbmluZyBhdiBkZSBicnVrZXJuZSBzb20gcGFzc2VyIG1lZCBkZW4gYm9rc3RhdmVuLiBEZXQgZXIgbXVsaWcgJmFyaW5nOyBvcHByZXR0ZSBrYXRhbG9nZXIgYmFzZXJ0IHAmYXJpbmc7IGZvcnNramVsbGlnZSBlZ2Vuc2thcGVyLiBIZXIgZGVzaWduZXIgZHUgaHZvcmRhbiBkdSB2aWwgYXQgZGVubmUgaW5mb3JtYXNqb25lbiBza2FsIHZpc2VzLiBEdSBrYW4gYnJ1a2UgYWxsIHNtYXJ0eSBsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBmcmEgZiZvc2xhc2g7ciBoYXIgYmxpdHQgZGVzaWduZXQsIGVsbGVyIGRlIHNvbSBlciBnam9ydCB0aWxnamVuZ2VsaWdlIHNwZXNpZWx0IGZvciBkZW5uZSB2aXNuaW5nZW4nOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgbGlzdGVuIG1lZCB0aWxnamVuZ2VsaWdlIGthdGFsb2dtYWxlci4gRW4gYXYgZGVtIGVyIG1hcmtlcnQgc29tIHN0YW5kYXJkLiBEZW4gc29tIGVyIHN0YW5kYXJkIHZpbCBibGkgYmVueXR0ZXQgbiZhcmluZztyIGlra2UgZXQgYW5uZXQgbWFsbmF2biBlciBla3NwbGlzaXR0IGFuZ2l0dCBpIHRhZ2dlbiBzb20ga2FsbGVyIGRlbm5lIG1vZHVsZW4nOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU2FtbWVuZHJhZ3NtYWxlciB2aXNlciBpbmZvcm1hc2pvbiBvbSBlbiBsaXN0ZSBtZWQgYnJ1a2VyZSBzb20gc2Ftc3ZhcmVyIG1lZCBldCBrcml0ZXJpdW0uICBIZXIgZGVzaWduZXIgZHUgaHZvcmRhbiBkdSB2aWwgYXQgZGVubmUgaW5mb3JtYXNqb25lbiBza2FsIHZpc2VzLiBEdSBrYW4gYnJ1a2UgYWxsIHNtYXJ0eWxvZ2lrayBlbGxlciB2YXJpYWJsZXIgc29tIGZyYSBmJm9zbGFzaDtyIGhhciBibGl0dCBkZXNpZ25ldCwgZWxsZXIgZGUgc29tIGVyIGdqb3J0IHRpbGdqZW5nZWxpZ2Ugc3Blc2llbHQgZm9yIGRlbm5lIHZpc25pbmdlbic7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTJm9zbGFzaDtrZXNramVtYW1hbGVyIHZpc2VyIGV0IHNramVtYSBmb3IgJmFyaW5nOyB0aWxsYXRlIHMmb3NsYXNoO2tpbmcgZXR0ZXIgZW4gYmVzdGVtdCBicnVrZXIgZWxsZXIgZW4gYnJ1a2VyZ3J1cHBlLiBIZXIgZGVzaWduZXIgZHUgbSZhcmluZzt0ZW4gZHUgdmlsIGF0IHNramVtYSBza2FsIHZpc2VzLiBEdSBrYW4gYnJ1a2UgYWxsIHNtYXJ0eWxvZ2lrayBlbGxlciB2YXJpYWJsZXIgc29tIGZyYSBmJm9zbGFzaDtyIGhhciBibGl0dCBkZXNpZ25ldCwgZWxsZXIgZGUgc29tIGVyIGdqb3J0IHRpbGdqZW5nZWxpZ2Ugc3Blc2llbHQgZm9yIGRlbm5lIHZpc25pbmdlbic7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgbGlzdGVuIG1lZCB0aWxnamVuZ2VsaWdlIHMmb3NsYXNoO2tlc2tqZW1hbWFsZXIuIEVuIGF2IGRpc3NlIGVyIG1hcmtlcnQgc29tIHN0YW5kYXJkLiBEZW4gc29tIGVyIHN0YW5kYXJkIHZpbCBhdXRvbWF0aXNrIGJsaSBiZW55dHRldCBvbSBkZXQgaWtrZSBldCBhbm5ldCBuYXZuIG9wcGdpcyBpIHRhZ2dlbiBzb20ga2FsbGVyIG9wcCBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBsaXN0ZW4gbWVkIHRpbGdqZW5nZWxpZ2Ugc2FtbWVuZHJhZ3NtYWxlci4gRW4gYXYgZGVtIGVyIG1hcmtlcnQgc29tIHN0YW5kYXJkLiBEZW4gc29tIGVyIHN0YW5kYXJkIHZpbCBibGkgYmVueXR0ZXQgbiZhcmluZztyIGlra2UgZXQgYW5uZXQgbWFsbmF2biBlciBla3NwbGlzaXR0IGFuZ2l0dCBpIHRhZ2dlbiBzb20ga2FsbGVyIGRlbm5lIG1vZHVsZW4nOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBzJm9zbGFzaDtrLWktZWdlbnNrYXAoQnJvd3NlIFByb3BlcnR5KSB2aXNuaW5nc21hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtc3RhbmRhcmQgZGV0YWxqdmlzbmluZ3NtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N5c3RlbXN0YW5kYXJkIGthdGFsb2dtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBzJm9zbGFzaDtrZXNramVtYW1hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N5c3RlbXN0YW5kYXJkIHNhbW1lbmRyYWdzdmlzbmluZ3NtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnJkFyaW5nOyBlbmRyZSBpIGRlbm5lIG1hbCB2aWwgaWtrZSBoYSBub2VuIHVtaWRkZWxiYXIgZWZmZWt0IHAmYXJpbmc7IG5vZW4gdmlzbmluZy4gIERldHRlIHNramVtYSBrb250cm9sbGVyZXIgaW5uaG9sZGV0IHAmYXJpbmc7IG1hbGVuIHNvbSBvcHByZXR0ZXMgbiZhcmluZztyIGR1IGtsaWtrZXIgJnF1b3Q7TnkgbWFsJnF1b3Q7IGkgZGVuIGFrdHVlbGxlIGZhbmVuLic7CiRsYW5nWydsYXN0X2FjdGl2ZSddID0gJ1Npc3RlIGFrdGl2ZSc7CiRsYW5nWydsYmxfYnJvd3NlcHJvcHRlbXBsYXRlcyddID0gJ1Mmb3NsYXNoO2staS1lZ2Vuc2thcChCcm93c2UgUHJvcGVydHkpIG1hbGVyJzsKJGxhbmdbJ2xibF9kZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhcmQgbWFsZXInOwokbGFuZ1snbGJsX2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFsanZpc25pbmdzIG1hbGVyJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdLYXRhbG9nbWFsZXInOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWwgZiZvc2xhc2g7cnN0ZSBzaWRlbic7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnRyZhcmluZzsgdGlsIHNpc3RlIHNpZGVuJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWwgbmVzdGUgc2lkZSc7CiRsYW5nWydsYmxfcHJldl9wYWdlJ10gPSAnRyZhcmluZzsgdGlsIGZvcnJpZ2Ugc2lkZSc7CiRsYW5nWydsYmxfc2VhcmNoZm9ybXRlbXBsYXRlcyddID0gJ1Mmb3NsYXNoO2tlc2tqZW1hbWFsZXInOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnSW5uc3RpbGxpbmdlcic7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJ1NhbW1lbmRyYWdzdmlzbmluZ3MgbWFsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFbiBtb2R1bCBzb20gdGlsbGF0ZXIgcyZvc2xhc2g7a2luZywgYmxhaW5nIG9nIHZpc25pbmcgYXYgZGV0YWxqZXIgb20gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydvZiddID0gJ2F2JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTaWRlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZW4gZXIgbiZhcmluZzsga2xhciBmb3IgJmFyaW5nOyBrb25maWd1cmVyZXMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHVXNlcmRpcmVjdG9yeSBtb2R1bGVuLCBvZyBhbGxlIGFzc29zaWVydGUgZGF0YSBoYXIgYmxpdHQgYXZpbnN0YWxsZXJ0IGZyYSBkYXRhYmFzZW4nOwokbGFuZ1snc3VibWl0J10gPSAnVXRmJm9zbGFzaDtyJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNTAyOTczODAuMTc1Mi40Mi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9aGVsbWluc2VuLm5vfHV0bWNjdD0vaW5zdGFsbC91cGdyYWRlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzkwNTI2MjMwODQxMTAxMDAuMTIxMDQyMzU3Ny4xMjUzMzk4MzQ1LjEyNTM0MDA1NjQuMTkxNSc7CiRsYW5nWydxY2EnXSA9ICcxMjEwOTcxNjkwLTI3MzA4MDczLTgxOTUyODMyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfYnJvd3NlcHJvcF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBicm93c2UgZWlnZW5zY2hhcHBlbiBzamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBkZXRhaWwgc2phYm9vbic7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBkaXJlY3Rvcnkgc2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIGZvcm11bGllciBzamFib29uJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBzYW1lbnZhdHRpbmcgc2phYmxvb24nOwokbGFuZ1snYW55J10gPSAnRW5pZ2UnOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IHdpbHQgZG9lbj8gRG9vcmdhYW4gemFsIGFsbGUgZ2VnZXZlbnMgdmFuIGRlemUgbW9kdWxlIGRlZmluaXRpZWYgdmVyd2lqZGVyZW4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyeSwgMjAwOQ0KICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xDQogIDxwPkFkZHMgc2VhcmNoIGFuZCBicm93c2UgY2FwYWJpbGl0aWVzLjwvcD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjEuMSAtIFNlcHRlbWJlciwgMjAwOQ0KICA8cD5BZGRzIHNvcnRpbmcgaW4gdGhlIGJyb3dzZSBhY3Rpb24uPC9wPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMS4yIC0gU2VwdGVtYmVyLCAyMDA5DQogIDxwPkZpeCBwYXJhbWV0ZXIgY29uZmxpY3Qgd3J0IHNvcnRpbmcgaW4gdGhlIGJyb3dzZSBhY3Rpb24uPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdHZW1hYWt0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cCddID0gJ1ZlcmtlZXJkZSBncm9lcCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnVmVya2VlcmQga2V1emV2ZWxkOiAlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdUZSB3ZWluaWcgcGFyYW1ldGVycyc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ0RlIEZyb250ZW5kIFVzZXJzIG1vZHVsZSBpcyBuaWV0IGFhbndlemlnJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0RlIGdlYnJ1aWtlciBtZXQgZGl0IElEIGlzIG5pZXQgZ2V2b25kZW4nOwokbGFuZ1snZXhwaXJlcyddID0gJ1Zlcmxvb3B0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgVXNlciBEaXJlY3RvcnkgJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb2VwZW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYWFyIHdvcmR0IGhldCB2b29yIGdlYnJ1aWt0PzwvaDM+DQo8cD5EZXplIG1vZHVsZSBnZWVmdCBkZSBtb2dlbGlqa2hlaWQgb20gb3ZlcnppY2h0ZW4gdGUgZ2VuZXJlcmVuIG1ldCBzYW1lbnZhdHRpbmdlbiB2YW4gZ2VnZXZlbnMgdmFuIEZyb250RW5kVXNlcnMgb3AgYmFzaXMgdmFuIHZvb3Jpbmdlc3RlbGRlIHZvb3J3YWFyZGVuLiBPb2sga2FuIGVyIGVlbiB1aXRnZWJyZWlkZGUgcGFnaW5hIHdvcmRlbiBnZW1hYWt0LiBIZXQga2FuIGdlYnJ1aWt0IHdvcmRlbiB2b29yIGhldCBtYWtlbiB2YW4gcHJvZmllbCBwYWdpbmEmIzAzOTtzIG9mIGFscyBlZW4gemduLiBzbW9lbGVuYm9lay48L3A+DQoNCjxoMz5Nb2dlbGlqa2hlZGVuOjwvaDM+DQo8dWw+DQogIDxsaT5Wb2xsZWRpZyBzamFibG9vbmJlaGVlcg0KPHA+QWxsZSBzY2hlcm1lbiB6aWpuIGRvb3IgZGUgYmVzY2hpa2JhcmUgc2phYmxvbmVuIGdlaGVlbCB0ZSBjb25maWd1cmVyZW4sIGVyIGthbiBvb2sgZ2VicnVpayBnZW1hYWt0IHdvcmRlbiB2YW4gby5hLiBqYXZhc2NyaXB0LCBhamF4LCBldGMuIERlIHZvcm1nZXZpbmcgaXMgaGllcmRvb3IgZ2VoZWVsIHRlIHdpanppZ2VuIGRvb3IgZGUgd2Vic2l0ZSB2b3JtZ2V2ZXIuPC9wPg0KICA8L2xpPg0KICA8bGk+TWVlcmRlcmUgZGF0YWJhc2Ugc2phYmxvbmVuLg0KPHA+VSBrdW50IG9wIHZlcnNjaGlsbGVuZGUgbWFuaWVyZW4gbWV0IGRlIGdlZ2V2ZW5zIHNjaGVybWVuIG9wYm91d2VuIGVuIGRlemUgb3AgZGl2ZXJzZSBtYW5pZXJlbiBnZWJydWlrZW4uPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzYW1lbnZhdHRpbmdlbiBkb29yIGdlYnJ1aWsgdmFuIGdlYnJ1aWtlcnNnZWdldmVucy4NCjxwPlUga3VudCBkZSB1aXRrb21zdCBmaWx0ZXJlbiBnZWJhc2VlcmQgb3AgZWVuIHNwZWNpZmlla2UgZ2VicnVpa2VyIHVpdCBkZSBGRVUgbW9kdWxlLiBEaXQgaXMgaW5jbHVzaWVmICZxdW90O0xJS0UmcXVvdDsgZ2ViYXNlZXJkZSBjcml0ZXJpYS48L3A+DQogIDwvbGk+DQogIDxsaT5Tb3J0ZXJlbiBtZXQgbWVlcmRlcmUgY3JpdGVyaWEuPC9saT4NCiAgPGxpPk9uZGVyc3RldW5kIFNFTyB2cmllbmRlbGlqa2UgVVJMJiMwMzk7czwvbGk+DQo8L3VsPg0KPGgzPkhvZSBnZWJydWlrIGlrIGhldD88L2gzPg0KPHA+RGUgbWFra2VsaWprc3RlIG1hbmllciBvbSBkZSBtb2R1bGUgdGUgZ2VicnVpa2VuIGlzIGRvb3IgZWVuIHRhZyBpbiBkZSBwYWdpbmFzamFibG9vbiBvZiBpbiBkZSBwYWdpbmEgY29udGVudCB0ZSBwbGFhdHNlbjogPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiBPbSBkZSBmdW5jdGlvbmFsaXRlaXQgdWl0IHRlIGJyZWlkZW4gb2Ygb20gc2xlY2h0cyBlZW4gZ2VkZWVsdGUgdGUgbGF0ZW4gemllbiBnZWJydWlrIG9uZGVyc3RhYW5kZSBwYXJhbWV0ZXJzLjwvcD4NCg0KPGgzPlZvb3JiZWVsZGVuOjwvaDM+DQo8dWw+DQo8bGk+TGFhdCBhbGxlIGdlYnJ1aWtlcnMgemllbjoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCjxsaT5MYWF0IGRlIGdlYnJ1aWtlcnMgcGVyIHdvb25wbGFhdHMgemllbjoNCjxwPjxjb2RlPntDR1VzZXJEaXJlY3RvcnkgYWN0aW9uPSZxdW90O2RpcmVjdG9yeSZxdW90OyBwcm9wPSZxdW90O2NpdHkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+TGFhdCBlZW4gc2FtZW52YXR0aW5nIHppZW4gdmFuIGFsbGUgZ2VicnVpa2VycyBpbiBkZSAmcXVvdDttZW1iZXJzJnF1b3Q7IGdyb2VwOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkxhYXQgYWxsZSBiZWJydWlrZXJzIHppZW4gaW4gZGUgd29vbnBsYWF0cyAmcXVvdDtDYWxnYXJ5JnF1b3Q7Og0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgcHJvcHZhbD0mcXVvdDtjYWxnYXJ5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkxhYXQgYWxsZSBnZWJydWlrZXJzIHppZW4gZGllIHdvbmVuIGluIGVlbiBsYW5kIGRpZSBiZWdpbnQgbWV0IGRlIGxldHRlciBDOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBwcm9wPSZxdW90O2NpdHkmcXVvdDsgdXNlbGlrZT0xIHByb3B2YWw9JnF1b3Q7YyUmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQoNCjwvdWw+DQoNCjxoMz5PcG1lcmtpbmdlbiBvdmVyICZxdW90O3ByZXR0eSBVUkwmIzAzOTtzJnF1b3Q7PC9oMz4NCjxwPiZxdW90O1ByZXR0eSZxdW90OyBvZiBTRU8gdnJpZW5kZWxpamtlIFVSTCYjMDM5O3MgYmVwZXJrZW4gZGUgZmxleGliaWxpdGVpdCB2YW4gZGUgbW9kdWxlIGVuIGRlIHRlIGdlYnJ1aWtlbiBwYXJhbWV0ZXJzLiBNZXQgbmFtZSBkaWVnZW5lIGRpZSBkb29yZ2VzdHV1cmQgd29yZGVuIHZhbiBvbmRlcmxpZ2dlbmRlIHNjaGVybWVuLiBPbSBkZXplIHJlZGVuIHdvcmRlbiBlciBnZWVuIHByZXR0eS11cmwmIzAzOTtzIGdlZ2VuZXJlZXJkIGluIGRlIHNhbWVudmF0dGluZ3MgdmVyd2lqemluZ2VuLiBIaWVyZG9vciBrdW5uZW4gZGUgcGFyYW1ldGVycyB6b2FscyAmcXVvdDtkZXRhaWxwYWdlJnF1b3Q7LCAmcXVvdDtkZXRhaWx0ZW1wbGF0ZSZxdW90OyBlbiAgJnF1b3Q7c3VtbWFyeXRlbXBsYXRlJnF1b3Q7IHdvcmRlbiBnZWJydWlrdCBpbiBkZSB0YWcgb20gZGUgbW9kdWxlIHRlIGdlYnJ1aWtlbiBlbiBrdW5uZW4gZGV6ZSBnZWJydWlrdCB3b3JkZW4gaW4gZGUgb25kZXJsaWdnZW5kZSBkZXRhaWwgb3ZlcnppY2h0ZW4uPGJyIC8+DQo8IS0tIFJvbGY6IC0tPltWZXJ0YWxlcjogSG9wZWxpamsgaXMgZGl0IHdhdCBDYWxndXkgYmVkb2VsZGUsIGtpamsgYW5kZXJzIGV2ZW4gaW4gZGUgRW5nZWxzZSB2ZXJzaWUhXQ0KPC9wPg0KPGgzPlN1cHBvcnQgW0VuZy5dPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlIFtFbmcuXTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdEZXplIHBhcmFtZXRlciBiZWhlZXJ0IGRlIHdlcmt3aWp6ZSB2YW4gZGUgbW9kdWxlLiBFciB6aWpuIGRyaWUgbW9nZWxpamtlIHdhYXJkZW46DQo8dWw+DQogIDxsaT5kZWZhdWx0IC0gTGFhdCBlZW4gc2FtZW52YXR0aW5nIHZhbiBkZSBnZWJydWlrZXJzIHppZW4sIGRpZSBhYW4gZGV6ZSB2b29yd2FhcmRlbiB2b2xkb2V0ICZvYWN1dGU7ZiBhbGxlIGdlYnJ1aWtlcnMgYWxzIGVyIGdlZW4gdm9vcndhYXJkZW4gaW5nZXZvZXJkIHppam4uPC9saT4NCiAgPGxpPmRpcmVjdG9yeSAtIEdlZWZ0IGluIGFsZmFiZXRpc2NoZSB2b2xnb3JkZSB2ZXJ3aWp6aW5nZW4gd2VlciBuYWFyIGRlIHNhbWVudmF0dGluZ2VuIHZhbiBkZSBnZWJydWlrZXJzIGRpZSB2b2xkb2VuIGFhbiBkZSB2b29yd2FhcmRlbi4gSGV0IGlzIG1vZ2VsaWprIG9tIGVlbiBkaXJlY3Rvcnkgb3ZlcnppY2h0IHRlIGtyaWpnZW4gbWV0IGVlbiBnZWJydWlrZXJzbmFhbSBvZiBlbGtlIGFuZGVyZSBwYXJhbWV0ZXIuPC9saT4NCiAgPGxpPmRldGFpbCAtIEdlZWZ0IGVlbiB2b2xsZWRpZyBvdmVyemljaHQgd2VlciB2YW4gZGUgZ2VzcGVjaWZpY2VlcmRlIGdlYnJ1aWtlci48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9icm93c2Vwcm9wdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGJyb3dzZSBwcm9wZXJ0eSB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBmb3IgYSBwcm9wZXJ0eSBicm93c2luZyB2aWV3JzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ3JvdXAnXSA9ICdEZXplIHBhcmFtZXRlciBtb2V0IGRlIG5hYW0gaW5ob3VkZW4gdmFuIGVlbiBGRVUgZ2VicnVpa2Vyc2dyb2VwICc7CiRsYW5nWydoZWxwX3BhcmFtX2dpZCddID0gJ0RlemUgcGFyYW1ldGVyIG1vZXQgZGUgSUQgdmFuIGVlbiBGRVUgZ2VicnVpa2Vyc2dyb2VwIGJldmF0dGVuIGVuIHphbCBkZSB1aXRrb21zdCBiZXBlcmtlbiB0b3QgZGUgbGVkZW4gdmFuIGRlemUgZ3JvZXAuIERlemUgcGFyYW1ldGVyIGthbiBuaWV0IGdlYnJ1aWt0IHdvcmRlbiBzYW1lbiBtZXQgZGUgJiMwMzk7Z3JvdXAmIzAzOTsgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dleHBpcmVkJ10gPSAnU3RhbmRhYXJkIHdhYXJkZSwgZGUgbW9kdWxlIHphbCB2ZXJsb3BlbiBnZWJydWlrZXJzIG5pZXQgdG9uZW4gaW4gZGUgZ2VicnVpa3RlIHJhcHBvcnRlbi4gRG9vciBkZSBwYXJhbWV0ZXIgb3AgJnF1b3Q7MSZxdW90OyB0ZSB6ZXR0ZW4genVsbGVuIGRlemUgdyZlYWN1dGU7bCB3b3JkZW4gZ2V0b29uZC4nOwokbGFuZ1snaGVscF9wYXJhbV9ic29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGJyb3dzZSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIHByb3BlcnR5IG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5uYW1lIC0gdGhlIHByb3BlcnR5IG5hbWUuPC9saT4NCiAgPGxpPmNvdW50IC0gdGhlIG51bWJlciBvZiBtYXRjaGVzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ0dlYnJ1aWt0IHZvb3Igc3RhbmRhYXJkIGFjdGllcywgZGV6ZSBwYXJhbWV0ZXIgc3BlY2lmaWNlZXJ0IGRlIHZvbGdvcmRlIHZhbiBkZSBnZWdlbmVyZWVyZGUgdWl0a29tc3QuICBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOg0KPHVsPg0KIDxsaT5pZCAtIERlIGdlYnJ1aWtlcnMgaWQ8L2xpPg0KIDxsaT51c2VybmFtZSAtIERlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIERlIGRhdHVtIGRhdCBoZXQgZ2VicnVpa2Vyc2FjY291bnQgaXMgYWFuZ2VtYWFrdC48L2xpPg0KIDxsaT5leHBpcmVzIC0gRGUgZGF0dW0gd2FubmVlciBoZXQgZ2VicnVpa2Vyc2FjY291bnQgemFsIHZlcmxvcGVuIChvZiBpcyB2ZXJsb3BlbikuPC9saT4NCiA8bGk+YWN0aXZpdHkgLSBEZSBkYXR1bSB3YW5uZWVyIGRlIGdlYnJ1aWtlciBoZXQgbGFhdHN0IHdhcyBpbi0gb2YgdWl0Z2Vsb2dkLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2Jzb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgYnJvd3NlIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBnZW5lcmF0ZWQgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPkFTQyAtIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5ERVNDIC0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0dlYnJ1aWsgdm9vciBzdGFuZGFhcmQgYWN0aWVzLCBkZXplIHBhcmFtZXRlciBzcGVjaWZpY2VlcnQgZGUgdm9sZ29yZGUgdmFuIHdlZXJnZXZlbiB2YW4gZGUgZ2VmaWx0ZXJkZSBpbmZvcm1hdGllLiBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOg0KPHVsPg0KICA8bGk+QVNDIC0gKEFzY2VuZGluZyBvcmRlcikgQWZsb3BlbmRlIHZvbGdvcmRlPC9saT4NCiAgPGxpPkRFU0MgLSAoRGVzY2VuZGluZyBvcmRlcikgT3Bsb3BlbmRlIHZvbGdvcmRlPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnRGV6ZSBwYXJhbWV0ZXIgc3BlY2lmaWNlZXJkIGhldCBtYXhpbXVtIGFhbnRhbCBnZWJydWlrZXJzIGRpZSB3b3JkZW4gZ2V0b29uZC4nOwokbGFuZ1snaGVscF9wYXJhbV9wcm9wJ10gPSAnR2VicnVpa3Qgdm9vciBkZSBzdGFuZGFhcmQgZW4gZGlyZWN0b3J5IGFjdGllcywgIGRlemUgcGFyYW1ldGVyIGdlZHJhYWd0IHppY2ggb3AgdHdlZSB2ZXJzY2hpbGxlbmRlIG1hbmllcmVuIGFmaGFuZ2VuZCB2YW4gZGUgYWN0aWU6DQoNCjx1bD4NCiAgPGxpPkRlIHN0YW5kYWFyZCAoc2FtZW52YXR0aW5nKSBhY3RpZQ0KICAgIDxwPkluIGRlIHN0YW5kYWFyZCAoc2FtZW52YXR0aW5nKSBhY3RpZSwga2FuIGRlemUgcGFyYW1ldGVyIHdvcmRlbiBnZWJydWlrdCBvbSBlZW4gYmVwYWFsZGUgZWlnZW5zY2hhcCB0ZSBzcGVjaWZpY2VyZW4gb20gdGUgZmlsdGVyZW4uPC9wPg0KICA8L2xpPg0KICA8bGk+RGUgZGlyZWN0b3J5IGFjdGllLg0KICAgIDxwPkluIGRlIGRpcmVjdG9yeSBhY3RpZSwga2FuIGRlemUgcGFyYW1ldGVyIHdvcmRlbiBnZWJydWlrdCBvbSBlZW4gZWlnZW5zY2hhcCB0ZSBzcGVjaWZpY2VyZW4gb20gZWVuIGRpcmVjdG9yeSB0ZSBzcGVjaWZpY2VyZW4uIERlIHN0YW5kYWFyZCB3YWFyZGUgaXMgJnF1b3Q7dXNlcm5hbWUmcXVvdDsgKGdlYnJ1aWtlcnNuYWFtKTwvcD4NCiAgPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ0dlYnJ1aWt0IGluIHNhbWVuaGFuZyBtZXQgZGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgdm9vciBkZSBzdGFuZGFhcmQgKHNhbWVudmF0dGluZykgYWN0aWUsIG1ldCBkZXplIHBhcmFtZXRlciBrYW4gZWVuIHdhYXJkZSB3b3JkZW4gZ2VnZXZlbiB3YWFybWVlIGRlIGdlYnJ1aWtlcnMgZ2VmaWx0ZXJkIGthbiB3b3JkZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdXNlbGlrZSddID0gJ0dlYnJ1aWt0IGluIHNhbWVuaGFuZyBtZXQgZGUgJnF1b3Q7cHJvcCZxdW90OyBlbiBkZSAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMuIEFscyBkZXplIHBhcmFtZXRlciBlZW4gcG9zaXRpZXZlIHdhYXJkZSBoZWVmdCwgemFsIGRpdCBhYW5nZXZlbiBkYXQgZGUgJnF1b3Q7cHJvcHZhbCZxdW90OyBwYXJhbWV0ZXIgZWVuIExJS0UgJiMwMzk7ZXhwcmVzc2lvbiYjMDM5OyBiZXZhdC4NCic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdBbHMgZGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VicnVpa3QsIHphbCBkZXplIGVlbiBwYWdpbmEgSUQgb2YgZWVuIHBhZ2luYSBhbGlhcyBiZXZhdHRlbiB2YW4gZWVuIENNUyBwYWdpbmEgd2FhciB1IGhldCByYXBwb3J0IHdpbHQgd2VlcmdldmVuLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RlemUgcGFyYW1ldGVyIHdvcmR0IGdlYnJ1aWt0IG9tIGVlbiBuaWV0IHN0YW5kYWFyZCBzYW1lbnZhdHRpbmdzamFibG9vbiB0ZSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgc2FtZW52YXR0aW5nc2NoZXJtLic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VicnVpa3Qgb20gZWVuIG5pZXQgc3RhbmRhYXJkIGRldGFpbCBzamFibG9vbiB0ZSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgZGV0YWlsIHNjaGVybS4nOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ0RlemUgcGFyYW1ldGVyIHdvcmR0IGdlYnJ1aWt0IG9tIGVlbiBuaWV0IHN0YW5kYWFyZCBkZXRhaWwgc2phYmxvb24gdGUgc3BlY2lmaWNlcmVuIHZvb3IgaGV0IGRpcmVjdG9yeSBzY2hlcm0uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnTWV0IGRlemUgcGFyYW1ldGVyIGt1bnQgdSBlZW4gbmlldCBzdGFuZGFhcmQgem9la3NqYWJsb29ubmFhbSBzcGVjaWZpY2VyZW4gdm9vciBoZXQgZ2VicnVpayB2YW4gZWVuIHpvZWtmb3JtdWxpZXInOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hwcm9wZXJ0eSddID0gJ01ldCBkZXplIHBhcmFtZXRlciBrdW50IHUgZWVuIGVua2Vsdm91ZGlnZSBGRVUgZWlnZW5zY2hhcHNuYWFtIHRvZXZvZWdlbiBhYW4gaGV0IHpvZWtmb3JtdWxpZXInOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdHZWJydWlrdCBpbiBzYW1lbmhhbmcgbWV0IGhldCBkZXRhaWwgc2NoZXJtLCBkZXplIHBhcmFtZXRlciBtb2V0IGVlbiBVSUQgYmV2YXR0ZW4gdmFuIGVlbiBiZXN0YWFuZCBGcm9udEVuZFVzZXIgYWNjb3VudC4nOwokbGFuZ1snaW5mb19icm93c2Vwcm9wX3RlbXBsYXRlJ10gPSAnQnJvd3NlIFByb3BlcnR5IHRlbXBsYXRlcyBkaXNwbGF5IEEgbGlzdCBvZiB1bmlxdWUgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LiAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGlzIGEgbGluayB0byBhIHN1bW1hcnkgdmlldyBjb250YWluaW5nIHRoZSBtYXRjaGluZyB1c2VycyB0aGF0IG1hdGNoIHRoYXQgcHJvcGVydHkgdmFsdWUuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmlsaXR5IHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3Lic7CiRsYW5nWydpbmZvX2Jyb3dzZXByb3BfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBicm93c2UgcHJvcGVydHkgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgc2phYmxvbmVuIGdldmVuIGVlbiBnZWRldGFpbGxlZXJkZSBpbmZvcm1hdGllIHdlZXIgdmFuIGVlbiBiZXBhYWxkZSBGcm9udEVuZFVzZXIuIEhpZXIgYmVwYWFsIGplIGhvZSBkZXplIGluZm9ybWF0aWUgd29yZHQgd2VlcmdlZ2V2ZW4uIFUga3VudCBnZWJydWlrIG1ha2VuIHZhbiAmcXVvdDtzbWFydHkmcXVvdDsgbG9naWNhIG9mIHZhbiB2YXJpYWJlbGVuIGRpZSBlZXJkZXIgemlqbiBnZW1hYWt0IG9mIHZhbiB2YXJpYWJlbGVuIGRpZSBzcGVjaWFhbCB2b29yIGRpdCBkb2VsIHppam4gZ2VtYWFrdCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IG1ldCBiZXNjaGlrYmFyZSBkZXRhaWwgc2phYmxvbmVuLiBFJmVhY3V0ZTtuIGlzIGFhbmdldmlua3QgYWxzemlqbmRlIHN0YW5kYWFyZC4gRGV6ZSBzdGFuZGFhcmQgc2phYmxvb24gemFsIHdvcmRlbiBnZWJydWlrdCBhbHMgZXIgZ2VlbiBhbHRlcm5hdGllZiB3b3JkdCBhYW5nZW1hYWt0IGluIGRlIHt0YWd9IGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0RpcmVjdG9yeSBzamFibG9uZW4gZ2V2ZW4gZWVuIGFsZmFiZXRpc2NoZSBsaWpzdCB2YW4gdmVyd2lqemluZ2VuIHdlZXIsIHdhbm5lZXIgb3AgZGUgbGluayB3b3JkdCBnZWtsaWt0IHphbCBlZW4gc2FtZW52YXR0aW5nIGdldmVuIHZhbiBkZSBiaWpiZWhvcmVuZGUgZ2VicnVpa2VycyB2b29yIGRpZSBsZXR0ZXIuIEhldCBpcyBtb2dlbGlqayBvbSBkaXJlY3RvcnkmIzAzOTtzIHRlIGNyZSZldW1sO3JlbiBnZWJhc2VlcmQgb3AgdmVyc2NoaWxsZW5kZSBwYXJhbWV0ZXJzLiAgSGllciBiZXBhYWwgamUgaG9lIGRlemUgaW5mb3JtYXRpZSB3b3JkdCB3ZWVyZ2VnZXZlbi4gVSBrdW50IGdlYnJ1aWsgbWFrZW4gdmFuICZxdW90O3NtYXJ0eSZxdW90OyBsb2dpY2Egb2YgdmFuIHZhcmlhYmVsZW4gZGllIGVlcmRlciB6aWpuIGdlbWFha3Qgb2YgdmFuIHZhcmlhYmVsZW4gZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gbGlqc3QgbWV0IGJlc2NoaWtiYXJlIGRpcmVjdG9yeSBzamFibG9uZW4uIEUmZWFjdXRlO24gaXMgYWFuZ2V2aW5rdCBhbHMgemlqbmRlIHN0YW5kYWFyZC4gRGV6ZSBzdGFuZGFhcmQgc2phYmxvb24gemFsIHdvcmRlbiBnZWJydWlrdCBhbHMgZXIgZ2VlbiBhbHRlcm5hdGllZiB3b3JkdCBhYW5nZW1hYWt0IGluIGRlIHt0YWd9IGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTYW1lbnZhdHRpbmdzc2phYmxvbmVuIGdldmVuIGluZm9ybWF0aWUgd2VlciB2YW4gZWVuIGxpanN0IGdlYnJ1aWtlcnMgZGllIHZvbGRvZW4gYWFuIGVlbiBiZXBhYWxkZSBjcml0ZXJpYS4gSGllciBiZXBhYWwgamUgaG9lIGRlemUgaW5mb3JtYXRpZSB3b3JkdCB3ZWVyZ2VnZXZlbi4gVSBrdW50IGdlYnJ1aWsgbWFrZW4gdmFuICZxdW90O3NtYXJ0eSZxdW90OyBsb2dpY2Egb2YgdmFuIHZhcmlhYmVsZW4gZGllIGVlcmRlciB6aWpuIGdlbWFha3Qgb2YgdmFuIHZhcmlhYmVsZW4gZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1pvZWtmb3JtdWxpZXIgc2phYmxvbmVuIHRvbmVuIGVlbiBmb3JtdWxpZXIgZGllIHUgbGFhdCB6b2VrZW4gbmFhciBlZW4gYmVwYWFsZGUgZ2VicnVpa2VyIG9mIG5hYXIgZWVuIGdyb2VwIGdlYnJ1aWtlcnMuIEhpZXIga3VudCB1IGhldCBmb3JtdWxpZXIgdm9ybWdldmVuLiBVIGt1bnQgZ2VicnVpayBtYWtlbiB2YW4gc21hcnR5IGxvZ2ljYSBvZiB2YXJpYWJlbGVuIGRpZSBlZXJkZXIgZ2VtYWFrdCB6aWpuIG9mIGRpZWdlbmUgZGllIHNwZWNpYWFsIHZvb3IgZGl0IGRvZWwgemlqbiBnZW1hYWt0JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IHZhbiBiZXNjaGlrYmFyZSB6b2VrZm9ybXVsaWVyIHNqYWJsb25lbi4gRSYjMDM5O24gZXJ2YW4gaXMgZ2VtZXJrdCBhbHMgc3RhbmRhYXJkLiAgRGV6ZSB3b3JkdCBnZWJydWlrdCB3YW5uZWVyIGVyIGdlZW4gYW5kZXJlIHNqYWJsb29ubmFhbSBpcyBpbmdldm9lcmQgaW4gZGUgdGFnIGRpZSBkZXplIG1vZHVsZSBhYW5yb2VwdCc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ0RlemUgdGFiIGJldmF0IGVlbiBsaWpzdCBtZXQgYmVzY2hpa2JhcmUgc2FtZW52YXR0aW5nc2phYmxvbmVuLiBFJmVhY3V0ZTtuIGlzIGFhbmdldmlua3QgYWxzIHppam5kZSBzdGFuZGFhcmQuIERlemUgc3RhbmRhYXJkIHNqYWJsb29uIHphbCB3b3JkZW4gZ2VicnVpa3QgYWxzIGVyIGdlZW4gYWx0ZXJuYXRpZWYgd29yZHQgYWFuZ2VtYWFrdCBpbiBkZSB7dGFnfSBkaWUgZGV6ZSBtb2R1bGUgYWFucm9lcHQnOwokbGFuZ1snaW5mb19zeXNkZmx0X2Jyb3dzZXByb3BfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgQnJvd3NlIEVpZ2Vuc2NoYXBwZW4gT3ZlcnppY2h0IFNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgJnF1b3Q7RGV0YWlsIFZpZXcgVGVtcGxhdGUmcXVvdDsnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCAmcXVvdDtEaXJlY3RvcnkgVGVtcGxhdGUmcXVvdDsnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZWVtIFN0YW5kYWFyZCBab2VrZm9ybXVsaWVyIFNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkICZxdW90O1N1bW1hcnkgVmlldyBUZW1wbGF0ZSZxdW90Oyc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdIZXQgd2lqemlnZW4gdmFuIGRpdCBzamFibG9vbiB6YWwgZ2VlbiBkaXJlY3QgZWZmZWN0IGhlYmJlbiBvcCBkZSB3ZWJzaXRlLiBEaXQgZm9ybXVsaWVyIGJlcGFhbHQgZGUgaW5ob3VkIHZhbiBlZW4gc2phYmxvb24gZGllIHdvcmR0IGdlY3JlJmV1bWw7ZXJkIHdhbm5lZXIgdSBvcCAmcXVvdDtOaWV1dyBzamFibG9vbiZxdW90OyAga2xpa3QgaW4gZGUgZ2V3ZW5zdGUgc2phYmxvb24gdGFiLic7CiRsYW5nWydsYXN0X2FjdGl2ZSddID0gJ0xhYXRzdCBBY3RpZWYnOwokbGFuZ1snbGJsX2Jyb3dzZXByb3B0ZW1wbGF0ZXMnXSA9ICdCcm93c2UgRWlnZW5zY2hhcHBlbiBTamFibG9uZW4nOwokbGFuZ1snbGJsX2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdTdGFuZGFhcmQgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9kZXRhaWx0ZW1wbGF0ZXMnXSA9ICdHZWRldGFpbGxlZXJkZSBvdmVyemljaHRzc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3RvcnkgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9maXJzdF9wYWdlJ10gPSAnR2EgbmFhciBkZSBlZXJzdGUgcGFnaW5hJzsKJGxhbmdbJ2xibF9sYXN0X3BhZ2UnXSA9ICdHYSBuYWFyIGRlIGxhYXRzdGUgcGFnaW5hJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHYSBuYWFyIGRlIHZvbGdlbmRlIHBhZ2luYSc7CiRsYW5nWydsYmxfcHJldl9wYWdlJ10gPSAnR2EgbmFhciBkZSB2b3JpZ2UgcGFnaW5hJzsKJGxhbmdbJ2xibF9zZWFyY2hmb3JtdGVtcGxhdGVzJ10gPSAnWm9layBGb3JtdWxpZXIgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0luc3RlbGxpbmdlbic7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJ1NhbWVudmF0dGluZyBTamFibG9uZW4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFZW4gbW9kdWxlIGRpZSB1IGRlIG1vZ2VsaWpraGVpZCBnZWVmdCBvbSBkZSBnZWdldmVucyB2YW4gRnJvbnRFbmRVc2VycyB0ZSBkb29yem9la2VuLCBkb29yIHRlIGJsYWRlcmVuIGVuIHRlIGJla2lqa2VuJzsKJGxhbmdbJ29mJ10gPSAndmFuJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZSBDR1VzZXJEaXJlY3RvcnkgbW9kdWxlIGlzIG51IGdlcmVlZCB2b29yIGNvbmZpZ3VyYXRpZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgQ0dVc2VyRGlyZWN0b3J5IG1vZHVsZSwgZW4gYWxsZSBnZWFzc29jaWVlcmRlIGRhdGEgaXMgdWl0IGRlIGRhdGFiYXNlIHZlcndpamRlcmQnOwokbGFuZ1snc3VibWl0J10gPSAnVG9ldm9lZ2VuJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMTAyMzU4NTM0LjEyNTI4MzA2OTUuMTI1MzAxMTcwNi4xMjUzMDI1MjUwLjEzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1MzAyNTI1MC4xMy42LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE3ODc1MDE3NjctMTI1MjgzMDY5NTYwMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnUHJpZGHFpS9VcHJhdmnFpSAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgZGV0YWlsdSc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ1ByaWRhxaUvVXByYXZpxaUgICZzY2Fyb247YWJsJm9hY3V0ZTtudSBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUHJpZGHFpS9VcHJhdmnFpSAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgcHJlaMS+YWR1JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7PyAgUG9rcmHEjW92YW4maWFjdXRlO20gb2RzdHImYWFjdXRlO25pxaUgdiZzY2Fyb247ZXRreSBkJmFhY3V0ZTt0YSBzJnVhY3V0ZTt2aXNpYWNlIHMgdCZ5YWN1dGU7bXRvIG1vZHVsb20nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnppYSAxLjAgLSBKYW51YXJ5LCAyMDA5DQogIDxwPkluaXRpYWwgUmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydjcmVhdGVkJ10gPSAnVnl0dm9yZW4meWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXAnXSA9ICdOZXBsYXRuJmFhY3V0ZTsgc2t1cGluYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnTmVwbGF0biZlYWN1dGU7IHBvbGUgcHJlIHRyaWVkZW5pZTogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnTmVkb3N0YXRvayBwYXJhbWV0cm92JzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnTW9kdWwgRnJvbnRlbmQgVXNlcnMgIG5lbiZhYWN1dGU7amRlbiZ5YWN1dGU7JzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1XFviZpYWN1dGU7dmF0ZcS+IHNvIHphZGFuJnlhY3V0ZTttIGlkIG5lbiZhYWN1dGU7amRlbiZ5YWN1dGU7JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdWeXByJnNjYXJvbjsmaWFjdXRlOyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlvdiZlYWN1dGU7IHpvem5hbXkgdcW+JmlhY3V0ZTt2YXRlxL5vdic7CiRsYW5nWydncm91cHMnXSA9ICdTa3VwaW55JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbA0KPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4NCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4NCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZxdW90O0xJS0UmcXVvdDsgYmFzZWQgY3JpdGVyYS4NCiAgPC9saT4NCiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+DQogIDxsaT5TdXBwb3J0cyBTRU8gZnJpZW5kbHkgVVJMUzwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gcGxhY2UgYSB0YWcgbGlrZSB0aGlzIGludG8geW91ciBwYWdlIHRlbXBsYXRlLCBvciBwYWdlIGNvbnRlbnQgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiAgVG8gZXhwYW5kIG9uIHRoaXMgZnVuY3Rpb25hbGl0eSwgb3IgdG8gZGlzcGxheSBhIHN1YnNldCBvZiB5b3VyIHVzZXJzLCBzZWUgdGhlIHBhcmFtZXRlcnMgYmVsb3cuPC9wPg0KPGgzPkV4YW1wbGVzOjwvaDM+DQo8dWw+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnMgb3JnYW5pemVkIGJ5IGNpdHk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSAmcXVvdDttZW1iZXJzJnF1b3Q7IGdyb3VwOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSBjaXR5IG9mIGNhbGdhcnk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk5vdGVzIGFib3V0IHByZXR0eSBVUkxTPC9oMz4NCjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPg0KPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoNCjx1bD4NCiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5cyBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyB1c2VyLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gRkVVIHVzZXIgZ3JvdXAsIGFuZCB3aWxsIGxpbWl0IHRoZSBvdXRwdXQgdG8gbWVtYmVycyBvZiB0aGF0IGdyb3VwJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZ2lkJ10gPSAnVXNlZCB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGNvbnRhaW4gdGhlIGlkIG9mIGFuIEZFVSB1c2VyIGdyb3VwLCBhbmQgd2lsbCBsaW1pdCB0aGUgb3V0cHV0IHRvIG1lbWJlcnMgb2YgdGhhdCBncm91cC4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGdyb3VwIHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93ZXhwaXJlZCddID0gJ0J5IGRlZmF1bHQsIHRoZSBzeXN0ZW0gd2lsbCBleGNsdWRlIGV4cGlyZWQgdXNlcnMgZnJvbSBhbnkgZ2VuZXJhdGVkIHJlcG9ydC4gIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gMSB3aWxsIGluY2x1ZGUgdGhlc2UgdXNlcnMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc29ydGJ5J10gPSAnVXNlZCBmb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHNvcnRpbmcgb2YgdGhlIGdlbmVyYXRlZCBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KIDxsaT5pZCAtIFRoZSB1c2VycyBpZDwvbGk+DQogPGxpPnVzZXJuYW1lIC0gVGhlIHVzZXJzIHVzZXJuYW1lPC9saT4NCiA8bGk+Y3JlYXRlZGF0ZSAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2FzIGNyZWF0ZWQuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB1c2VyIGFjY291bnQgd2lsbCBleHBpcmUgKG9yIGRpZCBleHBpcmUpLjwvbGk+DQogPGxpPmFjdGl2aXR5IC0gVGhlIGRhdGUgYXQgd2hpY2ggdGhlIHVzZXIgYWNjb3VudCB3YXMgbGFzdCBsb2dnZWQgaW4gb3IgbG9nZ2VkIG91dC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgc29ydCBvcmRlciBvZiB0aGUgZ2VuZXJhdGVkIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5BU0MgLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+REVTQyAtIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgcmV0dXJuZWQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcCddID0gJ1VzZWQgZm9yIHRoZSBkZWZhdWx0IGFuZCBkaXJlY3RvcnkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYmVoYXZlcyBpbiB0d28gZGlmZmVyZW50IHdheXMgZGVwZW5kaW5nIHVwb24gdGhlIGFjdGlvbjoNCjx1bD4NCiAgPGxpPlRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24NCiAgICA8cD5JbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LjwvcD4NCiAgPC9saT4NCiAgPGxpPlRoZSBkaXJlY3RvcnkgYWN0aW9uLg0KICAgIDxwPkluIHRoZSBkaXJlY3RvcnkgYWN0aW9uLCB0aGlzIGFwcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvcGVydHkgdG8gZ2VuZXJhdGUgYSBkaXJlY3RvcnkgZnJvbS4gICBUaGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiBpcyAmcXVvdDt1bnNlcm5hbWUmYW1wO3F1b3RlOzwvcD4NCiAgPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcHJvcHZhbCddID0gJ1VzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXIgZm9yIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgdmFsdWUgb24gd2hpY2ggdG8gZmlsdGVyIHVzZXJzIGJ5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3VzZWxpa2UnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O3Byb3AmcXVvdDsgYW5kICZxdW90O3Byb3B2YWwmcXVvdDsgcGFyYW1ldGVycywgdGhpcyBwYXJhbWV0ZXIsIGlmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHByb3B2YWwgcGFyYW1ldGVyIGNvbnRhaW5zIGEgTElLRSBleHByZXNzaW9uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQsIHNob3VsZCBjb250YWluIHRoZSBwYWdlaWQgb3IgYWxpYXMgb2YgYSBDTVMgY29udGVudCBwYWdlIG9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYW55IGRldGFpbCByZXBvcnQnOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgbmFtZSB0byB1c2UgZm9yIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIG5hbWUgdG8gdXNlIGZvciBkZXRhaWwgZGlzcGxheXMnOwokbGFuZ1snaGVscF9wYXJhbV9kaXJlY3Rvcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGlyZWN0b3J5IHRlbXBsYXRlIG5hbWUgdG8gdXNlIHdpdGggZGlyZWN0b3J5IGRpc3BsYXlzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdWlkJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBkZXRhaWwgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBjb250YWluIHRoZSB1aWQgb2YgYSB2YWxpZCBmcm9udGVuZCB1c2VyIGFjY291bnQnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgdGVtcGxhdGVzIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBmcm9udGVuZCB1c2VyLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGV0YWlsIHZpZXcgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnRGlyZWN0b3J5IHRlbXBsYXRlcyBkaXNwbGF5IGFuIGFscGhhYmV0aWNhbCBsaXN0IG9mIGxpbmtzLCB3aGVuIGEgbGluayBpcyBjbGlja2VkIGl0IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgdmlldyBvZiB0aGUgbWF0Y2hpbmcgdXNlcnMgZm9yIHRoYXQgbGV0dGVyLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yaWVzIGJhc2VkIG9uIGRpZmZlcmVudCBwcm9wZXJ0aWVzLiAgSGVyZSB5b3UgZGVzaWduIHRoZSB3YXkgaW4gd2hpY2ggeW91IHdhbnQgdGhhdCBpbmZvcm1hdGlvbiBsYWlkIG91dC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fZGlyZWN0b3J5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlyZWN0b3J5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IHRlbXBsYXRlcyBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGEgbGlzdCBvZiB1c2VycyB0aGF0IG1hdGNoIGEgY3JpdGVyaWEuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc3VtbWFyeSB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1ByZWRuYXN0YXZlbiZhYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtuYSBwcmUgZGV0YWlsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgcHJlIGFkcmVzJmFhY3V0ZTtyJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUHJlZG5hc3RhdmVuJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIHByZSB2JnlhY3V0ZTtwaXMnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnkgb3V0cHV0LiAgVGhpcyBmb3JtIGNvbnRyb2xzIHRoZSB2YWx1ZSBvZiB0aGUgdGVtcGxhdGUgdGhhdCBpcyBjcmVhdGVkIHdoZW4geW91IGNsaWNrICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLic7CiRsYW5nWydsYXN0X2FjdGl2ZSddID0gJ1Bvc2xlZG4mYWFjdXRlOyB6bWVuYSc7CiRsYW5nWydsYmxfZGVmYXVsdHRlbXBsYXRlcyddID0gJ1ByZWRuYXN0YXZlbiZlYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtueSc7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO255IGRldGFpbHUnOwokbGFuZ1snbGJsX2RpcmVjdG9yeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdQcmVqc8WlIG5hIHBydiZ1YWN1dGU7IHN0cmFudSc7CiRsYW5nWydsYmxfbGFzdF9wYWdlJ10gPSAnUHJlanPFpSBuYSBwb3NsZWRuJnVhY3V0ZTsgc3RyYW51JzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdQcmVqc8WlIG5hIG5hc2xlZHVqJnVhY3V0ZTtjdSBzdHJhbnUnOwokbGFuZ1snbGJsX3ByZXZfcGFnZSddID0gJ1ByZWpzxaUgbmEgcHJlZGNoJmFhY3V0ZTtkemFqJnVhY3V0ZTtjdSBzdHJhbnUnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSB2JnlhY3V0ZTtwaXNvdic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ01vZHVsIHVtb8W+bnVqZSB2eWjEvmFkJmFhY3V0ZTt2YW5pZSwgem9icmF6b3ZhbmllLCBwcmVjaCZhYWN1dGU7ZHphbmllIGEgem9icmF6b3ZhbmllIGluZm9ybSZhYWN1dGU7Y2lpIG8gdcW+JmlhY3V0ZTt2YXRlxL5vY2gnOwokbGFuZ1snb2YnXSA9ICd6JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTdHJhbmEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR1VzZXJEaXJlY3RvcnkgbW9kdWwgamUgcHJpcHJhdmVuJnlhY3V0ZTsgbmEga29uZmlndXImYWFjdXRlO2NpdSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dVc2VyZGlyZWN0b3J5IG1vZHVsIGJ1ZGUgb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7ICh2ciZhYWN1dGU7dGEgZCZhYWN1dGU7dCknOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMzExODQ5NzUuMi4yLnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yNzgyODU5NjU1MTEyNzI2NTAwLjEyMzExNjg1MDMuMTIzMTE2ODUwMy4xMjMxMTg0OTc1LjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTIzMTE4NDk3NSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvcmVkaWdlcmEgRGV0YWxqbWFsbCc7CiRsYW5nWydhZGRlZGl0X2RpcmVjdG9yeV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIERpcmVjdG9yeW1hbGwnOwokbGFuZ1snYWRkZWRpdF9zZWFyY2hmb3JtX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvcmVkaWdlcmEgUyZvdW1sO2sgZm9ybXVsJmF1bWw7cnNtYWxsJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIFN1bW1lcmluZ3NtYWxsJzsKJGxhbmdbJ2FueSddID0gJ1ZhbGZyaSc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCByYWRlcmEgZGVubmEgbW9kdWw/IEZvcnRzJmF1bWw7dHRlciBkdSBzJmFyaW5nOyBrb21tZXIgZHUgYXR0IGYmb3VtbDtybG9yYSBhbGwgYXNzb2NpZXJhZGUgZGF0YS4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS4wIC0gSmFudWFyaSwgMjAwOQ0KICA8cD5GJm91bWw7cnN0YSB1dGcmYXJpbmc7dmFuPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdTa2FwYWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwJ10gPSAnT2dpbHRpZyBncnVwcCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkc29ydGZpZWxkJ10gPSAnT2dpbHRpZ3Qgc29ydGVyaW5nc2YmYXVtbDtsdDogJXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnT3RpbGxyJmF1bWw7Y2tsaWdhIHBhcmFtZXRyYXInOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdGcm9udGVuZCBVc2VyLW1vZHVsZW4ga3VuZGUgaW50ZSBoaXR0YXMnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBuJmFyaW5nO2dvbiBhbnYmYXVtbDtuZGFyZSBtZWQgZGV0dGEgaWQnOwokbGFuZ1snZXhwaXJlcyddID0gJ0Ymb3VtbDtyZmFsbGVyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgVXNlckRpcmVjdG9yeSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGVyJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIGdlbmVyYXRpbmcgYSBkaXJlY3Rvcnkgb2YgdXNlcnMgZnJvbSB0aGUgRkVVIG1vZHVsZSwgZm9yIGdlbmVyYXRpbmcgYSBzdW1tYXJ5IHZpZXcgb2YgdXNlcnMgbWF0Y2hpbmcgc3BlY2lmaWVkIGNyaXRlcmlhLCBhbmQgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IG9mIGEgc3BlY2lmaWMgdXNlci4gIEl0IGNhbiBiZSB1c2VkIGZvciBnZW5lcmF0aW5nIHByb2ZpbGUgcGFnZXMgZm9yIHlvdXIgdXNlcnMsIG9yIGEgc3RhZmYgZGlyZWN0b3J5LjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+Q29tcGxldGUgdGVtcGxhdGUgY29udHJvbA0KPHA+QWxsIGRpc3BsYXlzIGFyZSBjb21wbGV0ZWx5IGNvbmZpZ3VyYWJsZSBieSB0ZW1wbGF0ZXMgYWxsb3dpbmcgZm9yIGphdmFzY3JpcHQsIGFqYXgsIG9yIGFueSBvdGhlciBmYW5jeSBkaXNwbGF5cy4gIFN0eWxpbmcgaXMgY29tcGxldGVseSBjb250cm9sbGFibGUgYnkgdGhlIHdlYnNpdGUgZGV2ZWxvcGVyLjwvcD4NCiAgPC9saT4NCiAgPGxpPk11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcy4NCjxwPllvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGRpZmZlcmVudCB2aWV3cyBmb3IgZWFjaCBkaXNwbGF5LCBhbmQgdXNlIHRoZW0gdW5kZXIgZGlmZmVyZW50IHNpdHVhdGlvbnMuPC9wPg0KICA8L2xpPg0KPGxpPkZpbHRlciBzdW1tYXJ5IHZpZXdzIG9uIHVzZXIgcHJvcGVydGllcy4NCiAgIDxwPllvdSBjYW4gZmlsdGVyIHRoZSBvdXRwdXQgZm9yIHRoZSBzdW1tYXJ5IHZpZXcgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgdXNlciBwcm9wZXJ0eSBmcm9tIHRoZSBGRVUgbW9kdWxlLiAgVGhpcyBhbHNvIGluY2x1ZGVzICZxdW90O0xJS0UmcXVvdDsgYmFzZWQgY3JpdGVyYS4NCiAgPC9saT4NCiAgPGxpPlNvcnRpbmcgb24gbXVsdGlwbGUgZGlmZmVyZW50IGNyaXRlcmlhLjwvbGk+DQogIDxsaT5TdXBwb3J0cyBTRU8gZnJpZW5kbHkgVVJMUzwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gcGxhY2UgYSB0YWcgbGlrZSB0aGlzIGludG8geW91ciBwYWdlIHRlbXBsYXRlLCBvciBwYWdlIGNvbnRlbnQgPGNvZGU+e0NHVXNlckRpcmVjdG9yeX08L2NvZGU+LiAgVG8gZXhwYW5kIG9uIHRoaXMgZnVuY3Rpb25hbGl0eSwgb3IgdG8gZGlzcGxheSBhIHN1YnNldCBvZiB5b3VyIHVzZXJzLCBzZWUgdGhlIHBhcmFtZXRlcnMgYmVsb3cuPC9wPg0KPGgzPkV4YW1wbGVzOjwvaDM+DQo8dWw+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIGRpcmVjdG9yeSBvZiBhbGwgdXNlcnMgb3JnYW5pemVkIGJ5IGNpdHk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj0mcXVvdDtkaXJlY3RvcnkmcXVvdDsgcHJvcD0mcXVvdDtjaXR5JnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSAmcXVvdDttZW1iZXJzJnF1b3Q7IGdyb3VwOg0KPHA+PGNvZGU+e0NHVXNlckRpcmVjdG9yeSBncm91cD0mcXVvdDttZW1iZXJzJnF1b3Q7fTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPkRpc3BsYXkgYSBzdW1tYXJ5IGxpc3Qgb2YgYWxsIHVzZXJzIGluIHRoZSBjaXR5IG9mIGNhbGdhcnk6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyBwcm9wdmFsPSZxdW90O2NhbGdhcnkmcXVvdDt9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+RGlzcGxheSBhIHN1bW1hcnkgbGlzdCBvZiBhbGwgdXNlcnMgZnJvbSBjb3VudHJpZXMgdGhhdCBiZWdpbiB3aXRoIEM6DQo8cD48Y29kZT57Q0dVc2VyRGlyZWN0b3J5IHByb3A9JnF1b3Q7Y2l0eSZxdW90OyB1c2VsaWtlPTEgcHJvcHZhbD0mcXVvdDtjJSZxdW90O308L2NvZGU+PC9wPg0KPC9saT4NCg0KPC91bD4NCg0KPGgzPk5vdGVzIGFib3V0IHByZXR0eSBVUkxTPC9oMz4NCjxwPiZxdW90O1ByZXR0eSZxdW90OyBvciBTRU8gZnJpZW5kbHkgVVJMUyBsaW1pdHMgdGhlIGZsZXhpYmlsaXR5IG9mIHRoaXMgbW9kdWxlLCBhbmQgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSB0YWcuIFBhcnRpY3VsYXJseSB0aG9zZSB0aGF0IGNhbiBiZSBwYXNzZWQgb24gdG8gc3Vic2VxdWVudCB2aWV3cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGRpcmVjdG9yeSB2aWV3IGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSB1cmxzIHRvIHRoZSBzdWJzZXF1ZW50IHN1bW1hcnkgbGlua3MuICBUaGlzIGFsbG93cyBwYXJhbWV0ZXJzIGxpa2UgZGV0YWlscGFnZSwgZGV0YWlsdGVtcGxhdGUsIGFuZCBzdW1tYXJ5dGVtcGxhdGUgdG8gYmUgcGFzc2VkIGluIHRoZSB0YWcgdG8gdGhlIGRpcmVjdG9yeSB2aWV3IGFuZCB0byBoYXZlIHRob3NlIHBhcmFtZXRlcnMgcGFzc2VkIGRvd24gdG8gdGhlIHN1YnNlcXVlbnQgc3VtbWFyeSBkZXRhaWwgdmlld3MuPC9wPg0KPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHZhbHVlczoNCjx1bD4NCiAgPGxpPmRlZmF1bHQgLSBEaXNwbGF5cyBhIHN1bW1hcnkgdmlldyBvZiB1c2VycyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEsIG9yIGFsbCB1c2VycyBpZiBubyBjcml0aWVyaWEgaXMgc3BlY2lmaWVkLjwvbGk+DQogIDxsaT5kaXJlY3RvcnkgLSBEaXNwbGF5cyBhbiBhbHBoYWJldGljYWwgZGlyZWN0b3J5IG9mIGxpbmtzIHRvIHN1bW1hcnkgdmlld3MgdG8gdXNlcnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhLiAgSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWV3cyBvbiB1c2VybmFtZSwgb3Igb24gYW55IG90aGVyIHBhcmFtZXRlcjwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5cyBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyB1c2VyLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2dyb3VwJ10gPSAnQW52JmF1bWw7bmQgbWVkIERlZmF1bHQgcyZhcmluZzsgc2thIGRlbm5hIHBhcmFtZXRlciBpbm5laCZhcmluZztsbGEgbmFtbmV0IHAmYXJpbmc7IGVuIEZFVSBhbnYmYXVtbDtuZGFyZ3J1cHBlbiBvY2gga29tbWVyIGF0dCBiZWdyJmF1bWw7bnNhIHZpc25pbmdlbiB0aWxsIG1lZGxlbW1hciBhdiBkZW4gZ3J1cHBlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9naWQnXSA9ICdBbnYmYXVtbDtuZCBtZWQgRGVmYXVsdCBzJmFyaW5nOyBza2EgZGVubmEgcGFyYW1ldGVyIGlubmVoJmFyaW5nO2xsYSBJRDp0IHAmYXJpbmc7IGVuIEZFVSBhbnYmYXVtbDtuZGFyZ3J1cHBlbiBvY2gga29tbWVyIGF0dCBiZWdyJmF1bWw7bnNhIHZpc25pbmdlbiB0aWxsIG1lZGxlbW1hciBhdiBkZW4gZ3J1cHBlbi4gRGVubmEgcGFyYW1ldGVyIGthbiBpbnRlIGFudiZhdW1sO25kYXMgdGlsbHNhbW1hbnMgbWVkIEdyb3VwIHBhcmFtZXRlcm4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2V4cGlyZWQnXSA9ICdHcnVuZGluc3QmYXVtbDtsbG5pbmdlbiAmYXVtbDtyIGF0dCBzeXN0ZW1ldCBleGtsdWRlcmFyIGFudiZhdW1sO25kYXJrb250b24gc29tIGhhciBnJmFyaW5nO3R0IHV0LiBTdCZhdW1sO2xscyBwYXJhbWV0ZXJuIHRpbGwgMSBzJmFyaW5nOyBpbmtsdWRlcmFzIGRlc3NhIGFudiZhdW1sO25kYXJlLic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRieSddID0gJ0FudiZhdW1sO25kIHNvbSBncnVuZGluc3QmYXVtbDtsbG5pbmcsIGRlbm5hIHBhcmFtZXRlciBzcGVjaWZpY2VyYXIgaHVyIHJlc3VsdGF0ZXQgc2thIHNvcnRlcmFzLiBNJm91bWw7amxpZ2EgdiZhdW1sO3JkZW4gJmF1bWw7cjoNCjx1bD4NCiA8bGk+aWQgLSBBbnYmYXVtbDtuZGFyZW5zIGlkLjwvbGk+DQogPGxpPnVzZXJuYW1lIC0gQW52JmF1bWw7bmRhcm5hbW5ldC48L2xpPg0KIDxsaT5jcmVhdGVkYXRlIC0gRGF0dW1ldCBkJmFyaW5nOyBrb250b3Qgc2thcGFkZXMuPC9saT4NCiA8bGk+ZXhwaXJlcyAtIERhdHVtZXQga29udG90IGF2c2x1dGFzIChlbGxlciBoYXIgYXZzbHV0YXRzKTwvbGk+DQogPGxpPmFjdGl2aXR5IC0gRGF0dW1ldCBmJm91bWw7ciBzZW5hc3RlIGFrdGl2aXRldCAoaW5sb2dnYWQgZWxsZXIgdXRsb2dnYWQpLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3NvcnRvcmRlciddID0gJ0FudiZhdW1sO25kIHNvbSBncnVuZGluc3QmYXVtbDtsbG5pbmcsIGRlbm5hIHBhcmFtZXRlciBzcGVjaWZpY2VyYXIgaHVyIHJlc3VsdGF0ZXQgc2thIHNvcnRlcmFzLiBNJm91bWw7amxpZ2EgdiZhdW1sO3JkZW4gJmF1bWw7cjoNCjx1bD4NCiAgPGxpPkFTQyAtIFN0aWdhbmRlIG9yZG5pbmc8L2xpPg0KICA8bGk+REVTQyAtIEZhbGxhbmRlIG9yZG5pbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdBbnYmYXVtbDtuZHMgZiZvdW1sO3Igc3RhbmRhcmQmYXJpbmc7dGcmYXVtbDtyZGVuLCBkZW5uYSBwYXJhbWV0ZXIgYW5nZXIgZGV0IGgmb3VtbDtnc3RhIGFudGFsZXQgcG9zdGVyIHNvbSBza2FsbCByZXR1cm5lcmFzLic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3AnXSA9ICdVc2VkIGZvciB0aGUgZGVmYXVsdCBhbmQgZGlyZWN0b3J5IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGJlaGF2ZXMgaW4gdHdvIGRpZmZlcmVudCB3YXlzIGRlcGVuZGluZyB1cG9uIHRoZSBhY3Rpb246DQo8dWw+DQogIDxsaT5UaGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uDQogICAgPHA+SW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS48L3A+DQogIDwvbGk+DQogIDxsaT5UaGUgZGlyZWN0b3J5IGFjdGlvbi4NCiAgICA8cD5JbiB0aGUgZGlyZWN0b3J5IGFjdGlvbiwgdGhpcyBhcHJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb3BlcnR5IHRvIGdlbmVyYXRlIGEgZGlyZWN0b3J5IGZyb20uICAgVGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGRpcmVjdG9yeSBhY3Rpb24gaXMgJnF1b3Q7dW5zZXJuYW1lJmFtcDtxdW90ZTs8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Byb3B2YWwnXSA9ICdBbnYmYXVtbDtuZCB0aWxsc2FtbWFucyBtZWQgJnF1b3Q7cHJvcCZxdW90OyBwYXJhbWV0ZXJuIGYmb3VtbDtyIGdydW5kdmlzbmluZ2VuIGQmYXVtbDtyIGV0dCBzcGVjaWZpa3QgdiZhdW1sO3JkZSBrYW4gYW52JmF1bWw7bmRhcyB0aWxsIGF0dCBmaWx0cmVyYSBhbnYmYXVtbDtuZGFyZS4nOwokbGFuZ1snaGVscF9wYXJhbV91c2VsaWtlJ10gPSAnVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtwcm9wJnF1b3Q7IGFuZCAmcXVvdDtwcm9wdmFsJnF1b3Q7IHBhcmFtZXRlcnMsIHRoaXMgcGFyYW1ldGVyLCBpZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm9wdmFsIHBhcmFtZXRlciBjb250YWlucyBhIExJS0UgZXhwcmVzc2lvbic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLCBzaG91bGQgY29udGFpbiB0aGUgcGFnZWlkIG9yIGFsaWFzIG9mIGEgQ01TIGNvbnRlbnQgcGFnZSBvbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0byBzaG93IGFueSBkZXRhaWwgcmVwb3J0JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIHRpbGwmYXJpbmc7dGVyIGF0dCBtYW4gYW5nZXIgZW4gaWNrZSBzdGFuZGFyZCBzdW1tZXJpbmdzbWFsbCBuYW1uIHNvbSBza2EgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBzYW1tYW5zdCZhdW1sO2xsbmluZ2VuIHZpc2FzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgdGlsbCZhcmluZzt0ZXIgYXR0IG1hbiBhbmdlciBlbiBpY2tlIHN0YW5kYXJkIGRldGFsam1hbGxzIG5hbW4gc29tIHNrYSBhbnYmYXVtbDtuZGFzIG4mYXVtbDtyIGRldGFsamVyIHZpc2FzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGlyZWN0b3J5dGVtcGxhdGUnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgdGlsbCZhcmluZzt0ZXIgYXR0IG1hbiBhbmdlciBlbiBpY2tlIHN0YW5kYXJkIGthdGFsb2dtYWxscyBuYW1uIHNvbSBza2EgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBrYXRhbG9nZW4gdmlzYXMnOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZSBuYW1lIHRvIHVzZSBpbiBzZWFyY2ggZm9ybXMnOwokbGFuZ1snaGVscF9wYXJhbV91aWQnXSA9ICdVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRldGFpbCBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBtdXN0IGNvbnRhaW4gdGhlIHVpZCBvZiBhIHZhbGlkIGZyb250ZW5kIHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZXMgZGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGZyb250ZW5kIHVzZXIuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkZXRhaWwgdmlldyB0ZW1wbGF0ZXMuICBPbmUgb2YgdGhlbSBpcyBtYXJrZWQgYXMgZGVmYXVsdC4gIFRoZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQgd2hlbiBubyBhbHRlcm5hdGUgdGVtcGxhdGUgbmFtZSBpcyBzdXBwbGllZCBvbiB0aGUgdGFnIHRoYXQgY2FsbHMgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGUnXSA9ICdEaXJlY3RvcnkgdGVtcGxhdGVzIGRpc3BsYXkgYW4gYWxwaGFiZXRpY2FsIGxpc3Qgb2YgbGlua3MsIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQgaXQgd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIHRoZSBtYXRjaGluZyB1c2VycyBmb3IgdGhhdCBsZXR0ZXIuICBJdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgYmFzZWQgb24gZGlmZmVyZW50IHByb3BlcnRpZXMuICBIZXJlIHlvdSBkZXNpZ24gdGhlIHdheSBpbiB3aGljaCB5b3Ugd2FudCB0aGF0IGluZm9ybWF0aW9uIGxhaWQgb3V0LiAgWW91IG1heSB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVzaWduZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgbWFkZSBhdmFpbGFibGUgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHZpZXcnOwokbGFuZ1snaW5mb19kaXJlY3RvcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBkaXJlY3RvcnkgdGVtcGxhdGVzLiAgT25lIG9mIHRoZW0gaXMgbWFya2VkIGFzIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBvbmUgd2lsbCBiZSB1c2VkIHdoZW4gbm8gYWx0ZXJuYXRlIHRlbXBsYXRlIG5hbWUgaXMgc3VwcGxpZWQgb24gdGhlIHRhZyB0aGF0IGNhbGxzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgdGVtcGxhdGVzIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYSBsaXN0IG9mIHVzZXJzIHRoYXQgbWF0Y2ggYSBjcml0ZXJpYS4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoYXQgaW5mb3JtYXRpb24gbGFpZCBvdXQuICBZb3UgbWF5IHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZXNpZ25lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBtYWRlIGF2YWlsYWJsZSBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdmlldyc7CiRsYW5nWydpbmZvX3NlYXJjaGZvcm1fdGVtcGxhdGUnXSA9ICdTZWFyY2ggZm9ybSB0ZW1wbGF0ZXMgZGlzcGxheSBBIGZvcm0gdG8gYWxsb3cgc2VhcmNoaW5nIGZvciBhIHBhcnRpY3VsYXIgdXNlciBvciBncm91cCBvZiB1c2Vycy4gIEhlcmUgeW91IGRlc2lnbiB0aGUgd2F5IGluIHdoaWNoIHlvdSB3YW50IHRoZSBmb3JtIGRpc3BsYXllZC4gIFlvdSBtYXkgdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlc2lnbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIG1hZGUgYXZhaWxhYmxlIHNwZWNpZmljYWxseSBmb3IgdGhpcyB2aWV3JzsKJGxhbmdbJ2luZm9fc2VhcmNoZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCBmb3JtIHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIE9uZSBvZiB0aGVtIGlzIG1hcmtlZCBhcyBkZWZhdWx0LiAgVGhlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCB3aGVuIG5vIGFsdGVybmF0ZSB0ZW1wbGF0ZSBuYW1lIGlzIHN1cHBsaWVkIG9uIHRoZSB0YWcgdGhhdCBjYWxscyB0aGlzIG1vZHVsZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGV0YWxqbWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGlyZWN0b3J5X3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGlyZWN0b3J5bWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VhcmNoZm9ybV90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIFMmb3VtbDtrbWFsbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIFN1bW1lcmluZ3NtYWxsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJyZBdW1sO25kcmluZyBhdiBkZW4gaCZhdW1sO3IgbWFsbGVuIGtvbW1lciBpbnRlIGF0dCBoYSBuJmFyaW5nO2dvbiBvbWVkZWxiYXIgZWZmZWt0IHAmYXJpbmc7IGJlZmludGxpZ2EgbWFsbGFyLiBEZW5uYSBmb3JtIHN0eXIgdiZhdW1sO3JkZXQgcCZhcmluZzsgZGVuIG1hbGwgc29tIHNrYXBhcyBuJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7ICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpIGwmYXVtbDttcGxpZyBtYWxsIGZsaWsuJzsKJGxhbmdbJ2xhc3RfYWN0aXZlJ10gPSAnU2VuYXN0IGFrdGl2JzsKJGxhbmdbJ2xibF9kZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhcm1hbGxhcic7CiRsYW5nWydsYmxfZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWxqbWFsbGFyJzsKJGxhbmdbJ2xibF9kaXJlY3Rvcnl0ZW1wbGF0ZXMnXSA9ICdEaXJlY3RvcnltYWxsYXInOwokbGFuZ1snbGJsX2ZpcnN0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWxsIGYmb3VtbDtyc3RhIHNpZGFuJzsKJGxhbmdbJ2xibF9sYXN0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWxsIHNpc3RhIHNpZGFuJzsKJGxhbmdbJ2xibF9uZXh0X3BhZ2UnXSA9ICdHJmFyaW5nOyB0aWxsIG4mYXVtbDtzdGEgc2lkYSc7CiRsYW5nWydsYmxfcHJldl9wYWdlJ10gPSAnRyZhcmluZzsgdGlsbCBmJm91bWw7cmVnJmFyaW5nO2VuZGUgc2lkYSc7CiRsYW5nWydsYmxfc2VhcmNoZm9ybXRlbXBsYXRlcyddID0gJ1Mmb3VtbDtrZm9ybXVsJmF1bWw7cnNtYWxsJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydsYmxfc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1lcmluZ3NtYWxsYXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFbiBtb2R1bCBzb20gZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgcyZvdW1sO2thLCBibCZhdW1sO2RkcmEgb2NoIHZpc2EgaW5mb3JtYXRpb24gb20gRnJvbnRlbmQgVXNlcnMnOwokbGFuZ1snb2YnXSA9ICdBdic7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHVXNlckRpcmVjdG9yeSBtb2R1bGVuICZhdW1sO3IgbnUgZiZhdW1sO3JkaWcgZiZvdW1sO3Iga29uZmlndXJhdGlvbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dVc2VyZGlyZWN0b3J5IG1vZHVsZW4sIG9jaCBhbGwgYXNzb2NpZXJhZCBkYXRhICZhdW1sO3IgbnUgcmFkZXJhdCBpIGRhdGFiYXNlbic7CiRsYW5nWydzdWJtaXQnXSA9ICdTa2lja2EnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdBbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NDMxMTY1NzguMTI0NDQ4MDEyMS4xMjQ3NDIyMjY3LjEyNDc0MzE3NTEuNDMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjQ3NDMxNzUxLjQzLjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIyBEaXJlY3RvcnkgVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19kaXJlY3RvcnlfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX05FV0RJUkVDVE9SWV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkaXJlY3RvcnlfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVERJUkVDVE9SWV9OQU1FLCdTYW1wbGUnKTsKICB9CgojIFN1bW1hcnkgVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNVTU1BUllfTkFNRSwnU2FtcGxlJyk7CiAgfQoKIyBEZXRhaWwgdGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19kZXRhaWxfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX05FV0RFVEFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVERFVEFJTF9OQU1FLCdTYW1wbGUnKTsKICB9CgojIFNlYXJjaGZvcm0gdGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zZWFyY2hmb3JtX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ORVdTRUFSQ0hGT1JNX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlYXJjaGZvcm1fU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVFNFQVJDSEZPUk1fTkFNRSwnU2FtcGxlJyk7CiAgfQoKIyBCcm93c2UgUHJvcGVydHkgdGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19icm93c2Vwcm9wX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ORVdCUk9XU0VQUk9QX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2Jyb3dzZXByb3BfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfREZMVEJST1dTRVBST1BfTkFNRSwnU2FtcGxlJyk7CiAgfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gUmVtb3ZlIGFsbCBwcmVmZXJlbmNlcyBmb3IgdGhpcyBtb2R1bGUKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCi8vIFJlbW92ZSBhbGwgZGF0YWJhc2UgdGVtcGxhdGVzIGZvciB0aGlzIG1vZHVsZQokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwpzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikKICB7CiAgY2FzZSAnMS4wJzoKICBjYXNlICcxLjAuMSc6CiAgICAvLyBTZWFyY2hmb3JtIHRlbXBsYXRlCiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3NlYXJjaGZvcm1fdGVtcGxhdGUudHBsJzsKICAgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogICAgICB7CgkkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoQ0dVU0VSRElSX1BSRUZfTkVXU0VBUkNIRk9STV9URU1QTEFURSwkdGVtcGxhdGUpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWFyY2hmb3JtX1NhbXBsZScsJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX0RGTFRTRUFSQ0hGT1JNX05BTUUsJ1NhbXBsZScpOwogICAgICB9CgogICAgJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19icm93c2Vwcm9wX3RlbXBsYXRlLnRwbCc7CiAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKICAgICAgewoJJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKENHVVNFUkRJUl9QUkVGX05FV0JST1dTRVBST1BfVEVNUExBVEUsJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnYnJvd3NlcHJvcF9TYW1wbGUnLCR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZShDR1VTRVJESVJfUFJFRl9ERkxUQlJPV1NFUFJPUF9OQU1FLCdTYW1wbGUnKTsKICAgICAgfQogICAgYnJlYWs7CiAgfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHVXNlckRpcmVjdG9yeSAoYykgMjAwOSBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBicm93c2UKIyAgYW5kIHZpZXcgc3VtbWFyeSByZXBvcnRzIGFuZCBkZXRhaWwgcmVwb3J0cyBhYm91dCBncm91cHMgb2YgZnJvbnRlbmQKIyAgdXNlcnMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/orig_browseprop_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYnJvd3NlIHByb3BlcnR5IHZhbHVlcyB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJGJyb3dzZW9wdGlvbnMpfQo8dWw+Cntmb3JlYWNoIGZyb209JGJyb3dzZW9wdGlvbnMgaXRlbT0nb25lJ30KICA8bGk+PGEgaHJlZj0ieyRvbmUudXJsfSIgdGl0bGU9Inskb25lLm5hbWV9Ij57JG9uZS5uYW1lfXtpZiBpc3NldCgkb25lLmNvdW50KX0gKHskb25lLmNvdW50fSl7L2lmfTwvYT48L2xpPgp7L2ZvcmVhY2h9CjwvdWw+CnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogQ0dVc2VyRGlyZWN0b3J5IGRldGFpbCB0ZW1wbGF0ZSAqfQo8ZGl2IGlkPSJ1c2VyZGlyZWN0b3J5X2RldGFpbCI+CgogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3VzZXJuYW1lJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG9uZXVzZXIudXNlcm5hbWV9ICh7JG9uZXVzZXIuaWR9KTwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG9uZXVzZXIuY3JlYXRlZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ2V4cGlyZXMnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskb25ldXNlci5leHBpcmVzfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8L2Rpdj4KCiAge2lmIGlzc2V0KCRvbmV1c2VyLnJlZmRhdGUpfQogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ2xhc3RfYWN0aXZlJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG9uZXVzZXIucmVmZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgPC9kaXY+CiAgey9pZn0KCiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luOiAwLjVlbTsiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygnZ3JvdXBzJyl9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij4gICAgIAogICAge2ZvcmVhY2ggZnJvbT0kb25ldXNlci5ncm91cHMgaXRlbT0nb25lZ3JvdXAnfQogICAgICB7JGdyb3Vwcy4kb25lZ3JvdXAuZ3JvdXBuYW1lfSZuYnNwOwogICAgey9mb3JlYWNofQogICAgPC9kaXY+CiAgPC9kaXY+CgogIHsqIHByb3BlcnRpZXMgKn0KICB7Zm9yZWFjaCBmcm9tPSRvbmV1c2VyLnByb3BlcnRpZXMgaXRlbT0nb25lcHJvcHZhbHVlJyBrZXk9J3Byb3BuYW1lJ30KICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskcHJvcGVydGllcy4kcHJvcG5hbWUucHJvbXB0fTo8L2Rpdj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+CiAgICB7aWYgJHByb3BlcnRpZXMuJHByb3BuYW1lLnR5cGUgPT0gNn0KICAgICAgIHsqIGltYWdlICp9CiAgICAgICA8aW1nIHNyYz0ieyRmaWxlX2xvY2F0aW9ufS97JG9uZXByb3B2YWx1ZX0iIHdpZHRoPSIxMDAiLz4KICAgIHtlbHNlfQogICAgICAgeyRvbmVwcm9wdmFsdWV9CiAgICB7L2lmfQogICAgPC9kaXY+CiAgPC9kaXY+CiAgey9mb3JlYWNofQoKICAKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_directory_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGlyZWN0b3J5IHRlbXBsYXRlICp9CjxkaXYgY2xhc3M9InVzZXJkaXJlY3RvcnlfZGlyZWN0b3J5Ij4KICB7aWYgaXNzZXQoJGNoYXJhcnJheSl9CiAge2ZvcmVhY2ggZnJvbT0kY2hhcmFycmF5IGl0ZW09J29uZSd9CgogICAge2lmIGlzc2V0KCRvbmVbMV0pfQogICAgICA8c3BhbiBjbGFzcz0idXNlcmRpcmVjdG9yeV9kaXJlY3RvcnlsZXR0ZXIiPjxhIGhyZWY9Inskb25lWzFdfSIgdGl0bGU9Inskb25lWzBdfSI+eyRvbmVbMF19PC9hPjwvc3Bhbj4KICAgIHtlbHNlfQogICAgICA8c3BhbiBjbGFzcz0idXNlcmRpcmVjdG9yeV9kaXJlY3RvcnlsZXR0ZXIiPnskb25lWzBdfTwvYT4KICAgIHsvaWZ9CgogIHsvZm9yZWFjaH0KICB7L2lmfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_searchform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc2VhcmNoIGZvcm0gdGVtcGxhdGUgKn0KeyogdmFsaWQgZmllbGRzIGFyZToKICAgeyRhY3Rpb25pZH11ZF9zdWJtaXQgICAgLSAoc3RyaW5nKSBmb3IgYSBzdWJtaXQgYnV0dG9uCiAgIHskYWN0aW9uaWR9dWRfY2FuY2VsICAgIC0gKHN0cmluZykgZm9yIGEgY2FuY2VsIGJ1dHRvbgogICB7JGFjdGlvbmlkfXVkX3VzZXJuYW1lICAtIChzdHJpbmcpIHVzZXJuYW1lIGV4cHJlc3Npb24KICAgeyRhY3Rpb25pZH11ZF9wcm9wdmFsdWUgLSAoc3RyaW5nKSBwcm9wZXJ0eSB2YWx1ZQoqfQoKPGRpdiBpZD0idWRfc2VhcmNoZm9ybSI+CnskZm9ybXN0YXJ0fQoKPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMzAiPnskbW9kLT5MYW5nKCd1c2VybmFtZScpfTwvcD4KICA8cCBjbGFzcz0iY29sNzAiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dWRfdXNlcm5hbWUiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjQwIi8+CiAgPC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkdWRfZmllbGR0eXBlKX0KPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMzAiPnskdWRfZmllbGRkZWZuLnByb21wdH06PC9wPgogIDxwIGNsYXNzPSJjb2w3MCI+CiAgICB7aWYgJGZpZWxkdHlwZSA9PSAndGV4dCd9CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXVkX3Byb3B2YWx1ZSIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iMjAiLz4KICAgIHtlbHNlIGlmICRmaWVsZHR5cGUgPT0gJ3NlbGVjdCd9CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH11ZF9wcm9wdmFsdWUiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHVkX29wdGlvbnN9CiAgICAgIDwvc2VsZWN0PgogICAgey9pZn0KICA8L3A+CjwvZGl2PgoKey9pZn0KCjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9ImNvbDMwIj4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9ImNvbDcwIj4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9dWRfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+Cgp7JGZvcm1lbmR9CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogQ0dVc2VyRGlyZWN0b3J5IHN1bW1hcnkgdGVtcGxhdGUgKn0KCjxkaXYgaWQ9InVzZXJkaXJlY3Rvcnlfc3VtbWFyeSI+CntpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYmxfZmlyc3RfcGFnZScpfSI+Jmx0OyZsdDs8L2E+CnsvaWZ9CntpZiBpc3NldCgkcHJldnBhZ2VfdXJsKX0KICA8YSBocmVmPSJ7JHByZXZwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbGlibF9wcmV2X3BhZ2UnKX0iPiZsdDs8L2E+CnsvaWZ9CiZuYnNwO3skbW9kLT5MYW5nKCdwYWdlJyl9Jm5ic3A7eyRjdXJwYWdlfSZuYnNwO3skbW9kLT5MYW5nKCdvZicpfSZuYnNwO3skbnVtcGFnZXN9Jm5ic3A7CntpZiBpc3NldCgkbmV4dHBhZ2VfdXJsKX0KICA8YSBocmVmPSJ7JG5leHRwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbGJsX25leHRfcGFnZScpfSI+Jmd0OzwvYT4Key9pZn0Ke2lmIGlzc2V0KCRsYXN0cGFnZV91cmwpfQogIDxhIGhyZWY9InskbGFzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYmxfbGFzdF9wYWdlJyl9Ij4mZ3Q7Jmd0OzwvYT4Key9pZn0KCntmb3JlYWNoIGZyb209JHVzZXJzIGl0ZW09J29uZXVzZXInfQo8ZGl2IGNsYXNzPSJ1c2VyZGlyZWN0b3J5X29uZXVzZXIiIHN0eWxlPSJtYXJnaW46IDJlbTsgcGFkZGluZy1ib3R0b207IDJlbTsiPgoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCd1c2VybmFtZScpfTo8L2Rpdj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+PGEgaHJlZj0ieyRvbmV1c2VyLmRldGFpbF91cmx9IiB0aXRsZT0ieyRvbmV1c2VyLnVzZXJuYW1lfSI+eyRvbmV1c2VyLnVzZXJuYW1lfTwvYT4gKHskb25ldXNlci5pZH0pPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ2NyZWF0ZWQnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskb25ldXNlci5jcmVhdGVkYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luOiAwLjVlbTsiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygnZXhwaXJlcycpfTo8L2Rpdj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRvbmV1c2VyLmV4cGlyZXN8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogIDwvZGl2PgoKICB7aWYgaXNzZXQoJG9uZXVzZXIucmVmZGF0ZSl9CiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luOiAwLjVlbTsiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygnbGFzdF9hY3RpdmUnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskb25ldXNlci5yZWZkYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8L2Rpdj4KICB7L2lmfQoKICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdncm91cHMnKX06PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPiAgICAgCiAgICB7Zm9yZWFjaCBmcm9tPSRvbmV1c2VyLmdyb3VwcyBpdGVtPSdvbmVncm91cCd9CiAgICAgIHskZ3JvdXBzLiRvbmVncm91cC5ncm91cG5hbWV9Jm5ic3A7CiAgICB7L2ZvcmVhY2h9CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgeyogcHJvcGVydGllcyAqfQogIHtmb3JlYWNoIGZyb209JG9uZXVzZXIucHJvcGVydGllcyBpdGVtPSdvbmVwcm9wdmFsdWUnIGtleT0ncHJvcG5hbWUnfQogIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbjogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0OSU7IGZsb2F0OiBsZWZ0OyI+eyRwcm9wZXJ0aWVzLiRwcm9wbmFtZS5wcm9tcHR9OjwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij4KICAgICAge2lmICRwcm9wZXJ0aWVzLiRwcm9wbmFtZS50eXBlID09IDR9CiAgICAgICAgeyRmZXVfc21hcnR5LT5nZXRfZHJvcGRvd25fdGV4dCgkcHJvcG5hbWUsJG9uZXByb3B2YWx1ZSl9CiAgICAgICAgeyogZHJvcGRvd24gKn0KICAgICAge2Vsc2VpZiAkcHJvcGVydGllcy4kcHJvcG5hbWUudHlwZSA9PSA1fQogICAgICAgIHsqIG11bHRpc2VsZWN0ICp9Cgl7YXNzaWduIHZhcj0ndG1wJyB2YWx1ZT0nLCd8ZXhwbG9kZTokb25lcHJvcHZhbHVlfQogICAgICAgIHskZmV1X3NtYXJ0eS0+Z2V0X211bHRpc2VsZWN0X3RleHQoJHByb3BuYW1lLCRvbmVwcm9wdmFsdWUsJ3ZhbHVlcycpfQogICAgICAgIHtjZ3VkX2dldHByb3BlcnR5c3VtbWFyeV91cmwgcHJvcD0iJHByb3BuYW1lIiBwcm9wdmFsPSIkb25lcHJvcHZhbHVlIiBhc3NpZ249J3VybHMnfQogICAgICAgIDx1bD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSR2YWx1ZXMgbmFtZT0nbXVsdGknIGl0ZW09J29uZSd9CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIHthc3NpZ24gdmFyPSdpJyB2YWx1ZT0kc21hcnR5LmZvcmVhY2gubXVsdGkuaW5kZXh9CiAgICAgICAgICAgIDxhIGhyZWY9InskdXJsc1skaV19IiB0aXRsZT0ieyRvbmV9Ij57JG9uZX08L2E+CiAgICAgICAgICA8L2xpPgogICAgICAgIHsvZm9yZWFjaH0KICAgICAgICA8L3VsPgogICAgICB7ZWxzZX0KICAgICAgICB7JG9uZXByb3B2YWx1ZX0KICAgICAgey9pZn0KICAgIDwvZGl2PgogIDwvZGl2PgogIHsvZm9yZWFjaH0KCjwvZGl2PnsqIHVzZXJkaXJlY3Rvcnlfb25ldXNlciAqfQo8YnIvPjxici8+CnsvZm9yZWFjaH0KPC9kaXY+eyogdXNlcmRpcmVjdG9yeV9zdW1tYXJ5ICp9]]></data>
	</file>
	<file>
	  <filename>/templates/template_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRtc2d9CjwvcD4KCnskdGVtcGxhdGVsaXN0fQ==]]></data>
	</file>
</module>
