<?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>CGml</name>
	<version>1.1</version>
    <mincmsversion>2.1.5</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgaXMgYSBzaW1wbGUgbW9kdWxlIGludGVuZGVkIHRvIHByb3ZpZGUgZm9yIGEgcXVpY2sgYW5kIGVhc3kgd2F5IHRvIG1hbmFnZSB0cmFuc2xhdGlvbiBvZiBzaW1wbGUgc3RyaW5ncy4gIElkZWFsIGZvciB1c2UgaW4gZm9ybXMgb3IgcmVwb3J0cywgb3Igb3RoZXIgdGVtcGxhdGUgZmlsZXMsIHRoaXMgbW9kdWxlIGFsbG93cyB5b3UgdG8gYXV0b21hdGljYWxseSBhcHBseSB0aGUgY29ycmVjdCBsYW5ndWFnZSBzdHJpbmcgaW4gdGhlIHByb3BlciBsb2NhdGlvbiBvZiB5b3VyIHRlbXBsYXRlLjwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGlkZWFsbHkgc3VpdGVkIGZvciBzb2x2aW5nIGNhc2VzIHdoZXJlIHlvdSB3b3VsZCBub3JtYWxseSBoYXZlIG11bHRpcGxlICdpZicgc3RhdGVtZW50cyB0byBvdXRwdXQgZGlmZmVyZW50IHRleHQgZm9yIGRpZmZlcmVudCBsYW5ndWFnZXMuICAgUGFydGljdWxhcmx5IHdoZW4gdGhlIHRleHQgb3V0cHV0IGRvZXMgbm90IG5lZWQgdG8gYmUgbWFuYWdlZCBieSBhbiBlZGl0b3IsIGFuZCB3b3VsZCBjaGFuZ2UgaW5mcmVxdWVudGx5LjwvcD4KCjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CiAgPGxpPlN1cHBvcnRzIGtlZXBpbmcgdHJhbnNsYXRpb25zIGluIGZpbGVzLiAgUGFydGljdWxhcmx5IHVzZWZ1bCBmb3Igc21hbGwgc3RyaW5ncyB0aGF0IGRvIG5vdCBjaGFuZ2Ugb2Z0ZW4sIGFuZCBjYW4gYmUgdHJhY2tlZCB3aXRoIHZlcnNpb24gY29udHJvbCBzeXN0ZW1zLjwvbGk+CiAgPGxpPlN1cHBvcnRzIG9yZ2FuaXppbmcgbGFuZ3VhZ2UgZmlsZXMgaW50byBkaWZmZXJlbnQgcmVhbG1zLiAgVGhpcyBpcyB1c2VmdWwgZm9yIG9yZ2FuaXppbmcgdHJhbnNsYXRpb25zIGZvciBkaWZmZXJlbnQgZm9ybXMsIG9yIHJlcG9ydHMuPC9saT4KICA8bGk+VXNlcyB0aGUgY3VycmVudCBsYW5ndWFnZSBmb3IgdGhlIHJlcXVlc3QsIHVzaW5nIENNU01TIHB1Ymxpc2hlZCBBUEknczwvbGk+CjwvdWw+Cgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+Cjx1bD4KICA8bGk+QTogSW5zdGFsbCB0aGUgbW9kdWxlLCBhcyBvZiB0aGlzIHdyaXRpbmcgdGhlIG1vZHVsZSBoYXMgbm8gYWRtaW4gcGFuZWwgb3B0aW9ucy48L2xpPgogIDxsaT5COiBDcmVhdGUgeW91ciB0cmFuc2xhdGlvbihzKS4KICAgICA8cD5Zb3Ugc2hvdWxkIGNyZWF0ZSBhdCBsZWFzdCB0aGUgZGVmYXVsdCByZWFsbSBmaWxlLCB3aXRoIHRyYW5zbGF0aW9uIG9mIG51bWVyb3VzIHN0cmluZ3MgdG8gZGlmZmVyZW50IGxhbmd1YWdlcy4gIFNlZSBiZWxvdyBmb3IgaW5mb3JtYXRpb24gb24gdGhlIGZvcm1hdCBvZiBsYW5nIGZpbGVzLjwvcD4KICA8L2xpPgogIDxsaT5DOiBDaGFuZ2UgaGFyZCBjb2RlZCBzdHJpbmdzIHRvIG1vZHVsZSBjYWxscyB0aGF0IHdpbGwgdXRpbGl6ZSBsYW5ndWFnZSBzdHJpbmcga2V5cy4gaS5lOjwvbGk+CiAgICAgIDxwcmU+PGNvZGU+e0NHbWwga2V5PSdoZWxsbyd9PC9jb2RlPjwvcHJlPgogIDwvbGk+CjwvdWw+Cgo8aDM+U21hcnR5IHBsdWdpbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSByZWdpc3RlcnMgYSBmZXcgYWRkaXRpb25hbCBzbWFydHkgcGx1Z2lucyB0byBhaWRlIGluIHRyYW5zbGF0aW9uLCBhbmQgaW4gb3JnYW5pemluZyB0cmFuc2xhdGlvbnMuPC9wPgo8dWw+CiAgIDxsaT48Y29kZT57Q0dtbCBrZXk9c3RyaW5nIFthc3NpZ249c3RyaW5nXX08L2NvZGU+CiAgICAgIDxwPlRoaXMgcGx1Z2luIDxlbT4oYWN0dWFsbHkgdGhlIGRlZmF1bHQgYWN0aW9uIGZvciB0aGlzIG1vZHVsZSk8L2VtPiBXaWxsIHJldHVybiB0aGUgdHJhbnNsYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQga2V5LCBpbiB0aGUgY3VycmVudCByZWFsbSwgZm9yIHRoZSBjdXJyZW50IGxhbmd1YWdlLjwvcD4KICAgICAgPHA+QXJndW1lbnRzOjwvcD4KICAgICAgPHVsPgogICAgICAgIDxsaT48Y29kZT5rfGtleT1zdHJpbmc8L2NvZGU+IDxzdHJvbmc+KHJlcXVpcmVkKTwvc3Ryb25nPiAtIFRoZSBsYW5ndWFnZSBzdHJpbmcga2V5LiAgTm90ZSBlaXRoZXIgJnF1b3Q7ayZxdW90OyBvciAmcXVvdDtrZXkmcXVvdDsgYXJlIGFjY2VwdGFibGUuPC9saT4KCTxsaT48Y29kZT5hc3NpZ249c3RyaW5nPC9jb2RlPiA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gT3B0aW9uYWxseSBhc3NpZ24gdGhlIG91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9wPgogICAgICA8L3VsPgogICAgICA8cHJlPjxjb2RlPntjZ21sX2dldGFsbCBhc3NpZ249J2xhbmdzdHJpbmdzJ30gLi4uIHskbGFuZ3N0cmluZ3MuaGVsbG99PC9jb2RlPjwvcHJlPgogICAgICA8aDQ+VmFyaWFibGUgc3Vic3RpdHV0aW9uPC9oND4KICAgICAgPHA+VGhpcyBwbHVnaW4gYWxzbyBzdXBwb3J0cyBzdHJpbmcgc3Vic3RpdHV0aW9uIGJ5IHByb3ZpZGluZyBvbmUgb3IgbW9yZSB2YXJpYWJsZXMgdG8gdGhlIHtDR21sIHRhZ30uPC9wPgogICAgICA8cD5JZiB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGluIHRoZSBsYW5nIGZpbGUgaXMgb2YgdGhlIGZvcm0gPGNvZGU+c29tZWtleT0iVGhlIGNvbG9yIG9mIHRoZSAjI29iaiBpcyAjI2NvbG9yIjwvY29kZT4gPGVtPihhbG9uZyB3aXRoIGl0J3MgdmFyaW91cyB0cmFuc2xhdGlvbnMpLjwvZW0+ICBUaGVuIGNhbGxpbmcgdGhlIHBsdWdpbiBsaWtlIHRoaXMgPGNvZGU+e0NHbWwga2V5PXNvbWVrZXkgX29iaj1hcHBsZSBfY29sb3I9cmVkfTwvY29kZT4gd2lsbCBwZXJmb3JtIHZhcmlhYmxlIHN1YnN0aXR1dGlvbi48L3A+CiAgICAgIDxwPlRoZSBlZmZlY3QgY2FuIGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBjYWxsIHRvIHRoaXMgbW9kdWxlIG11bHRpcGxlIHRpbWVzOjwvcD4KICAgICAgPHByZT48Y29kZT57Q0dtbCBrZXk9YXBwbGUgYXNzaWduPW9ian08YnIvPntDR21sIGtleT1yZWQgYXNzaWduPXJlZH08YnIvPntDR21sIGtleT1zb21la2V5IF9vYmo9JG9iaiBfY29sb3I9JHJlZH08L2NvZGU+PC9wcmU+CiAgIDwvbGk+CiAgIDxsaT48Y29kZT57Y2dtbF9nZXRhbGwgYXNzaWduPXN0cmluZ308L2NvZGU+CiAgICAgIDxwPlRoaXMgcGx1Z2luIHdpbGwgZ2V0IGFsbCBvZiB0aGUgYXZhaWxhYmxlIGxhbmd1YWdlIHN0cmluZ3Mgb2YgdGhlIGN1cnJlbnQgcmVhbG0gYXMgYW4gYXNzb2NpYXRpdmUgYXJyYXksIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZS48L3A+CiAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGFzc2lnbiBhcmd1bWVudCBpcyByZXF1aXJlZCBmb3IgdGhpcyBwbHVnaW4uICBpLmU6PC9wPgogICAgICA8cHJlPjxjb2RlPntjZ21sX2dldGFsbCBhc3NpZ249J2xhbmdzdHJpbmdzJ30gLi4uIHskbGFuZ3N0cmluZ3MuaGVsbG99PC9jb2RlPjwvcHJlPgogICA8L2xpPgogICA8bGk+PGNvZGU+e2NnbWxfc2V0cmVhbG0gW3JlYWxtPXN0cmluZ10gW2Fzc2lnbj1zdHJpbmddfTwvY29kZT4KICAgICAgPHA+VGhpcyBwbHVnaW4gd2lsbCBzZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2Ugc3RyaW5nIHJlYWxtIHRvIGEgZGlmZmVyZW50IHJlYWxtLCBhbmQgb3B0aW9uYWxseSBhc3NpZ24gYWxsIG9mIHRoZSB0cmFuc2xhdGVkIHN0cmluZ3MgdG8gYW4gYXNzb2NpYXRpdmUgYXJyYXkuIGkuZTo8L3A+CiAgICAgIDxwPkFyZ3VtZW50czo8L3A+CiAgICAgIDx1bD4KCTxsaT48Y29kZT5yZWFsbT1zdHJpbmc8L2NvZGU+IDxlbT4ob3B0aW9uYWwpPC9lbT4gLSBBbiBvcHRpb25hbCBhbHRlcm5hdGl2ZSByZWFsbSBuYW1lLiAgSWYgbm9uZSBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHJlYWxtIGlzIGFzc3VtZWQuPC9saT4KCTxsaT48Y29kZT5hc3NpZ249c3RyaW5nPC9jb2RlPiA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gT3B0aW9uYWxseSBhc3NpZ24gYWxsIG9mIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoaXMgcmVhbG0gYXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L2xpPgogICAgICA8L3VsPgogICAgICA8cHJlPjxjb2RlPntjZ21sX3NldHJlYWxtIHJlYWxtPSdmb3Jtc3RyaW5ncycgYXNzaWduPSdmb3Jtc3RyaW5ncyd9IC4uLiB7JGZvcm10cmluZ3Muc3VibWl0fTwvY29kZT48L3ByZT4KICAgPC9saT4KPC91bD4KCjxoMz5Mb2NhdGlvbiBhbmQgbmFtaW5nIG9mIEZpbGVzPC9oMz4KPHA+VGhpcyBtb2R1bGUgd2lsbCBmaXJzdCBsb29rIGZvciBmaWxlcyBpbiBhIGRpcmVjdG9yeSA8Y29kZT5fQ0dtbDwvY29kZT4gYmVsb3cgeW91ciBDTVNNUyByb290IGRpcmVjdG9yeS4gIEZvciB2ZXJzaW9ucyBvZiBDTVNNUyAyLjIgYW5kIGFib3ZlLCB0aGlzIG1vZHVsZSB3aWxsIGxvb2sgZm9yIGEgZGlyZWN0b3J5IG5hbWVkIGFzc2V0cy9DR21sIGJlbG93IHlvdXIgQ01TTVMgcm9vdCBkaXJlY3RvcnkuICAgTm90ZSwgaWYgYm90aCBkaXJlY3RvcmllcyBleGlzdCwgb25seSB0aGUgZmlyc3Qgb25lIHdpbGwgYmUgZm91bmQuPC9wPgo8cD5Zb3UgY2FuIG92ZXJyaWRlIHRoZSBwYXRoIGZvciB0cmFuc2xhdGlvbnMgdXNpbmcgdGhlICdDR21sX3BhdGgnIGNvbmZpZyBlbnRyeSBpbiB5b3VyIGNvbmZpZy5waHAgZmlsZS4gaS5lOjwvcD4KPHByZT48Y29kZT4kY29uZmlnWydDR21sX3BhdGgnXSA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvdHJhbnNsYXRpb25zJzs8L2NvZGU+PC9wcmU+CjxwPkFsbCBmaWxlcyBuYW1lcyBtdXN0IGJlIGluIHRoZSBmb3JtYXQgPGNvZGU+bGFuZy48c3Ryb25nPnJlYWxtX25hbWU8L3N0cm9uZz4uaW5pPC9jb2RlPjwvcD4KPHA+VGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgcmVhbG0gaXMgJnF1b3Q7ZGVmYXVsdCZxdW90OyBzbywgYnkgZGVmYXVsdCB0aGlzIG1vZHVsZSB3aWxsIGxvb2sgZm9yIHRoZSBkZWZhdWx0IHJlYWxtIGZpbGUgaW4gPGNvZGU+Jmx0O3Jvb3RfcGF0aCZndDsvX0NHbWwvbGFuZy48c3Ryb25nPmRlZmF1bHQ8L3N0cm9uZz4uaW5pPC9jb2RlPjwvcD4KCjxoMz5Gb3JtYXQgb2YgRmlsZXM8L2gzPgo8cD5UaGlzIG1vZHVsZSB1c2VzIElOSSBmaWxlIGZvcm1hdCBmb3IgdHJhbnNsYXRpb24uICBTZWN0aW9uIGVudHJpZXMgc2VwYXJhdGUgbGFuZ3VhZ2VzLCBhbmQgaW5kaXZpZHVhbCBlbnRyaWVzIGNvbnRhaW4gdGhlIHRyYW5zbGF0aW9ucy4gIEEgc2ltcGxlIGxhbmd1YWdlIGZpbGUgZm9yIGVuZ2xpc2ggYW5kIGZyZW5jaCBtYXkgbG9vayBzb21ldGhpbmcgbGlrZTo8L3A+CjxwcmU+Cltlbl9VU10KaGVsbG89SGVsbG8KYnllPUdvb2QgQnllCgpbZnJfRlJdCmhlbGxvPUJvbmpvdXIKYnllPUF1IFJldm9pcgo8L3ByZT4KCjxwPk11bHRpIGxpbmUgZW50cmllcyBhcmUgcGVybWlzc2libGUsIGJ1dCBtdXN0IGJlIHF1b3RlZC4gIGkuZTo8L3A+CjxwcmU+Cltlbl9VU10KdGVybXNfb2ZfdXNlPSJUaGlzIGlzIGEgdmVyeSBsb25nIHRleHQgdXNpbmcKbXVsdGlwbGUgbGluZXMgZGVzY3JpYmluZyB0aGUgdGVybXMgb2YgdXNlCmZvciBteSB3ZWJzaXRlLiIKPC9wcmU+Cgo8aDM+RGVmYXVsdCBsYW5ndWFnZSwgYW5kIG1pc3NpbmcgbGFuZ3VhZ2Ugc3RyaW5nczwvaDM+CjxwPlRoaXMgbW9kdWxlIGFzc3VtZXMgdGhhdCB0aGUgZGVmYXVsdCBsYW5ndWFnZSBpcyBlbl9VUy4gPGVtPih0aGlzIG1heSBjaGFuZ2UgYXQgYSBsYXRlciBkYXRlKTwvZW0+LiAgU28gaWYgYSBzdHJpbmcgZXhpc3RzIGZvciBlbl9VUywgYnV0IG5vdCBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIHRoZW4gdGhlIGVuZ2xpc2ggc3RyaW5nIHdpbGwgYmUgdXNlZC48L3A+CjxwPlRoaXMgbW9kdWxlIHdpbGwgbm90IHJldHVybiBhbnkgdmFsdWUgaWYgYSB0cmFuc2xhdGlvbiBmb3IgYSByZXF1ZXN0ZWQga2V5IGRvZXMgbm90IGV4aXN0IGluIGVpdGhlciB0aGUgY3VycmVudCBsYW5ndWFnZSBvciB0aGUgZGVmYXVsdCBsYW5ndWFnZS4gIEhvd2V2ZXIsIGEgZGVidWcgZW50cnkgd2lsbCBiZSBwbGFjZWQgaW50byB0aGUgdG1wL2NhY2hlL2RlYnVnLmxvZyBmaWxlIHRvIGFsbG93IHlvdSB0byBmaW5kIGluc3RhbmNlcyB3aGVyZSBhIHRyYW5zbGF0aW9uIGlzIHVzZWQsIGJ1dCBpcyBub3QgY3VycmVudGx5IHRyYW5zbGF0ZWQuPC9wPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGUgbW9kdWxlIGF1dGhvciBpcyBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiAgSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkEgYnVnIHRyYWNraW5nIGFuZCBmZWF0dXJlIHJlcXVlc3Qgc3lzdGVtIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIHRoaXMgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY2dzaW1wbGVzbWFydHkiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJpdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuNTMuMTM8L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMTxiciAvPg==]]></about>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.53.13</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHbWwgKGMpIDIwMTcgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWlkZSBpbiBidWlsZGluZyBtdWx0aS1sYW5ndWFnZQojICB3ZWJzaXRlcyBhbmQgYXBwcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQpuYW1lc3BhY2UgQ0dtbDsKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRrZXkgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2snKTsKJGtleSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywna2V5Jywka2V5KTsKJHBhcm1zID0gW107CmZvcmVhY2goICRwYXJhbXMgYXMgJHhrZXkgPT4gJHZhbCApIHsKICAgIGlmKCAhc3RhcnRzd2l0aCggJHhrZXksICdfJykgKSBjb250aW51ZTsKICAgICR4a2V5ID0gc3Vic3RyKCR4a2V5LDEpOwogICAgJHBhcm1zWyR4a2V5XSA9ICR2YWw7Cn0KJHN0ciA9ICR0aGlzLT50cmFuc2xhdG9yLT50cmFuc2xhdGUoICRrZXksICRwYXJtcyApOwplY2hvICRzdHI7]]></data>
	</file>
	<file>
	  <filename>/CGml.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHbWwgKGMpIDIwMTcgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWlkZSBpbiBidWlsZGluZyBtdWx0aS1sYW5ndWFnZQojICB3ZWJzaXRlcyBhbmQgYXBwcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLyoKICB7Q0dtbF9zZXRyZWFsbSByZWFsbT1zb21ldGhpbmd9IHsqIHNldCBjdXJyZW50IHJlYWxtLCBhbmQgbG9hZHMgaXQgKn0KICB7Q0dtbCBbcmVhbG09c29tZXRoaW5nZWxzZV0gaz1mb28gW2Fzc2lnbj1mb29dfSB7KiBhdXRvbWF0aWNhbGx5IGxvYWQgdGhlIHJlYWxtLCBhbmQgdHJhbnNsYXRlIHRoZSBzdHJpbmcgKn0KICovCmZpbmFsIGNsYXNzIENHbWwgZXh0ZW5kcyBcQ0dFeHRlbnNpb25zCnsKICAgIHByb3RlY3RlZCAkdHJhbnNsYXRvcjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMS4xJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gVFJVRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ21zVmVyc2lvbigpIHsgcmV0dXJuICcyLjEuNSc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBbICdDR0V4dGVuc2lvbnMnID0+ICcxLjUzLjEzJyBdOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF90cmFuc2xhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRyYW5zbGF0b3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpCiAgICB7CiAgICAgICAgJGRhbyA9IG5ldyBcQ0dtbFxMYW5nREFPKCk7CiAgICAgICAgJHRoaXMtPnRyYW5zbGF0b3IgPSBuZXcgXENHbWxcVHJhbnNsYXRvcigkZGFvKTsKCiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2snLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2tleScsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9fLiovJyxDTEVBTl9TVFJJTkcpOwoKICAgICAgICAkc21hcnR5ID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldFNtYXJ0eSgpOwogICAgICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ21sX3NldHJlYWxtJywgJ1xcQ0dtbFxzbWFydHlfcGx1Z2luczo6Y2dtbF9zZXRyZWFsbScpOwogICAgICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ21sX2dldGFsbCcsICdcXENHbWxcc21hcnR5X3BsdWdpbnM6OmNnbWxfZ2V0YWxsJyk7CiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgaXMgYSBzaW1wbGUgbW9kdWxlIGludGVuZGVkIHRvIHByb3ZpZGUgZm9yIGEgcXVpY2sgYW5kIGVhc3kgd2F5IHRvIG1hbmFnZSB0cmFuc2xhdGlvbiBvZiBzaW1wbGUgc3RyaW5ncy4gIElkZWFsIGZvciB1c2UgaW4gZm9ybXMgb3IgcmVwb3J0cywgb3Igb3RoZXIgdGVtcGxhdGUgZmlsZXMsIHRoaXMgbW9kdWxlIGFsbG93cyB5b3UgdG8gYXV0b21hdGljYWxseSBhcHBseSB0aGUgY29ycmVjdCBsYW5ndWFnZSBzdHJpbmcgaW4gdGhlIHByb3BlciBsb2NhdGlvbiBvZiB5b3VyIHRlbXBsYXRlLjwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGlkZWFsbHkgc3VpdGVkIGZvciBzb2x2aW5nIGNhc2VzIHdoZXJlIHlvdSB3b3VsZCBub3JtYWxseSBoYXZlIG11bHRpcGxlICdpZicgc3RhdGVtZW50cyB0byBvdXRwdXQgZGlmZmVyZW50IHRleHQgZm9yIGRpZmZlcmVudCBsYW5ndWFnZXMuICAgUGFydGljdWxhcmx5IHdoZW4gdGhlIHRleHQgb3V0cHV0IGRvZXMgbm90IG5lZWQgdG8gYmUgbWFuYWdlZCBieSBhbiBlZGl0b3IsIGFuZCB3b3VsZCBjaGFuZ2UgaW5mcmVxdWVudGx5LjwvcD4KCjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CiAgPGxpPlN1cHBvcnRzIGtlZXBpbmcgdHJhbnNsYXRpb25zIGluIGZpbGVzLiAgUGFydGljdWxhcmx5IHVzZWZ1bCBmb3Igc21hbGwgc3RyaW5ncyB0aGF0IGRvIG5vdCBjaGFuZ2Ugb2Z0ZW4sIGFuZCBjYW4gYmUgdHJhY2tlZCB3aXRoIHZlcnNpb24gY29udHJvbCBzeXN0ZW1zLjwvbGk+CiAgPGxpPlN1cHBvcnRzIG9yZ2FuaXppbmcgbGFuZ3VhZ2UgZmlsZXMgaW50byBkaWZmZXJlbnQgcmVhbG1zLiAgVGhpcyBpcyB1c2VmdWwgZm9yIG9yZ2FuaXppbmcgdHJhbnNsYXRpb25zIGZvciBkaWZmZXJlbnQgZm9ybXMsIG9yIHJlcG9ydHMuPC9saT4KICA8bGk+VXNlcyB0aGUgY3VycmVudCBsYW5ndWFnZSBmb3IgdGhlIHJlcXVlc3QsIHVzaW5nIENNU01TIHB1Ymxpc2hlZCBBUEknczwvbGk+CjwvdWw+Cgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+Cjx1bD4KICA8bGk+QTogSW5zdGFsbCB0aGUgbW9kdWxlLCBhcyBvZiB0aGlzIHdyaXRpbmcgdGhlIG1vZHVsZSBoYXMgbm8gYWRtaW4gcGFuZWwgb3B0aW9ucy48L2xpPgogIDxsaT5COiBDcmVhdGUgeW91ciB0cmFuc2xhdGlvbihzKS4KICAgICA8cD5Zb3Ugc2hvdWxkIGNyZWF0ZSBhdCBsZWFzdCB0aGUgZGVmYXVsdCByZWFsbSBmaWxlLCB3aXRoIHRyYW5zbGF0aW9uIG9mIG51bWVyb3VzIHN0cmluZ3MgdG8gZGlmZmVyZW50IGxhbmd1YWdlcy4gIFNlZSBiZWxvdyBmb3IgaW5mb3JtYXRpb24gb24gdGhlIGZvcm1hdCBvZiBsYW5nIGZpbGVzLjwvcD4KICA8L2xpPgogIDxsaT5DOiBDaGFuZ2UgaGFyZCBjb2RlZCBzdHJpbmdzIHRvIG1vZHVsZSBjYWxscyB0aGF0IHdpbGwgdXRpbGl6ZSBsYW5ndWFnZSBzdHJpbmcga2V5cy4gaS5lOjwvbGk+CiAgICAgIDxwcmU+PGNvZGU+e0NHbWwga2V5PSdoZWxsbyd9PC9jb2RlPjwvcHJlPgogIDwvbGk+CjwvdWw+Cgo8aDM+U21hcnR5IHBsdWdpbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSByZWdpc3RlcnMgYSBmZXcgYWRkaXRpb25hbCBzbWFydHkgcGx1Z2lucyB0byBhaWRlIGluIHRyYW5zbGF0aW9uLCBhbmQgaW4gb3JnYW5pemluZyB0cmFuc2xhdGlvbnMuPC9wPgo8dWw+CiAgIDxsaT48Y29kZT57Q0dtbCBrZXk9c3RyaW5nIFthc3NpZ249c3RyaW5nXX08L2NvZGU+CiAgICAgIDxwPlRoaXMgcGx1Z2luIDxlbT4oYWN0dWFsbHkgdGhlIGRlZmF1bHQgYWN0aW9uIGZvciB0aGlzIG1vZHVsZSk8L2VtPiBXaWxsIHJldHVybiB0aGUgdHJhbnNsYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQga2V5LCBpbiB0aGUgY3VycmVudCByZWFsbSwgZm9yIHRoZSBjdXJyZW50IGxhbmd1YWdlLjwvcD4KICAgICAgPHA+QXJndW1lbnRzOjwvcD4KICAgICAgPHVsPgogICAgICAgIDxsaT48Y29kZT5rfGtleT1zdHJpbmc8L2NvZGU+IDxzdHJvbmc+KHJlcXVpcmVkKTwvc3Ryb25nPiAtIFRoZSBsYW5ndWFnZSBzdHJpbmcga2V5LiAgTm90ZSBlaXRoZXIgJnF1b3Q7ayZxdW90OyBvciAmcXVvdDtrZXkmcXVvdDsgYXJlIGFjY2VwdGFibGUuPC9saT4KCTxsaT48Y29kZT5hc3NpZ249c3RyaW5nPC9jb2RlPiA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gT3B0aW9uYWxseSBhc3NpZ24gdGhlIG91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9wPgogICAgICA8L3VsPgogICAgICA8cHJlPjxjb2RlPntjZ21sX2dldGFsbCBhc3NpZ249J2xhbmdzdHJpbmdzJ30gLi4uIHskbGFuZ3N0cmluZ3MuaGVsbG99PC9jb2RlPjwvcHJlPgogICAgICA8aDQ+VmFyaWFibGUgc3Vic3RpdHV0aW9uPC9oND4KICAgICAgPHA+VGhpcyBwbHVnaW4gYWxzbyBzdXBwb3J0cyBzdHJpbmcgc3Vic3RpdHV0aW9uIGJ5IHByb3ZpZGluZyBvbmUgb3IgbW9yZSB2YXJpYWJsZXMgdG8gdGhlIHtDR21sIHRhZ30uPC9wPgogICAgICA8cD5JZiB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGluIHRoZSBsYW5nIGZpbGUgaXMgb2YgdGhlIGZvcm0gPGNvZGU+c29tZWtleT0iVGhlIGNvbG9yIG9mIHRoZSAjI29iaiBpcyAjI2NvbG9yIjwvY29kZT4gPGVtPihhbG9uZyB3aXRoIGl0J3MgdmFyaW91cyB0cmFuc2xhdGlvbnMpLjwvZW0+ICBUaGVuIGNhbGxpbmcgdGhlIHBsdWdpbiBsaWtlIHRoaXMgPGNvZGU+e0NHbWwga2V5PXNvbWVrZXkgX29iaj1hcHBsZSBfY29sb3I9cmVkfTwvY29kZT4gd2lsbCBwZXJmb3JtIHZhcmlhYmxlIHN1YnN0aXR1dGlvbi48L3A+CiAgICAgIDxwPlRoZSBlZmZlY3QgY2FuIGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBjYWxsIHRvIHRoaXMgbW9kdWxlIG11bHRpcGxlIHRpbWVzOjwvcD4KICAgICAgPHByZT48Y29kZT57Q0dtbCBrZXk9YXBwbGUgYXNzaWduPW9ian08YnIvPntDR21sIGtleT1yZWQgYXNzaWduPXJlZH08YnIvPntDR21sIGtleT1zb21la2V5IF9vYmo9JG9iaiBfY29sb3I9JHJlZH08L2NvZGU+PC9wcmU+CiAgIDwvbGk+CiAgIDxsaT48Y29kZT57Y2dtbF9nZXRhbGwgYXNzaWduPXN0cmluZ308L2NvZGU+CiAgICAgIDxwPlRoaXMgcGx1Z2luIHdpbGwgZ2V0IGFsbCBvZiB0aGUgYXZhaWxhYmxlIGxhbmd1YWdlIHN0cmluZ3Mgb2YgdGhlIGN1cnJlbnQgcmVhbG0gYXMgYW4gYXNzb2NpYXRpdmUgYXJyYXksIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZS48L3A+CiAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGFzc2lnbiBhcmd1bWVudCBpcyByZXF1aXJlZCBmb3IgdGhpcyBwbHVnaW4uICBpLmU6PC9wPgogICAgICA8cHJlPjxjb2RlPntjZ21sX2dldGFsbCBhc3NpZ249J2xhbmdzdHJpbmdzJ30gLi4uIHskbGFuZ3N0cmluZ3MuaGVsbG99PC9jb2RlPjwvcHJlPgogICA8L2xpPgogICA8bGk+PGNvZGU+e2NnbWxfc2V0cmVhbG0gW3JlYWxtPXN0cmluZ10gW2Fzc2lnbj1zdHJpbmddfTwvY29kZT4KICAgICAgPHA+VGhpcyBwbHVnaW4gd2lsbCBzZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2Ugc3RyaW5nIHJlYWxtIHRvIGEgZGlmZmVyZW50IHJlYWxtLCBhbmQgb3B0aW9uYWxseSBhc3NpZ24gYWxsIG9mIHRoZSB0cmFuc2xhdGVkIHN0cmluZ3MgdG8gYW4gYXNzb2NpYXRpdmUgYXJyYXkuIGkuZTo8L3A+CiAgICAgIDxwPkFyZ3VtZW50czo8L3A+CiAgICAgIDx1bD4KCTxsaT48Y29kZT5yZWFsbT1zdHJpbmc8L2NvZGU+IDxlbT4ob3B0aW9uYWwpPC9lbT4gLSBBbiBvcHRpb25hbCBhbHRlcm5hdGl2ZSByZWFsbSBuYW1lLiAgSWYgbm9uZSBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHJlYWxtIGlzIGFzc3VtZWQuPC9saT4KCTxsaT48Y29kZT5hc3NpZ249c3RyaW5nPC9jb2RlPiA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gT3B0aW9uYWxseSBhc3NpZ24gYWxsIG9mIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoaXMgcmVhbG0gYXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L2xpPgogICAgICA8L3VsPgogICAgICA8cHJlPjxjb2RlPntjZ21sX3NldHJlYWxtIHJlYWxtPSdmb3Jtc3RyaW5ncycgYXNzaWduPSdmb3Jtc3RyaW5ncyd9IC4uLiB7JGZvcm10cmluZ3Muc3VibWl0fTwvY29kZT48L3ByZT4KICAgPC9saT4KPC91bD4KCjxoMz5Mb2NhdGlvbiBhbmQgbmFtaW5nIG9mIEZpbGVzPC9oMz4KPHA+VGhpcyBtb2R1bGUgd2lsbCBmaXJzdCBsb29rIGZvciBmaWxlcyBpbiBhIGRpcmVjdG9yeSA8Y29kZT5fQ0dtbDwvY29kZT4gYmVsb3cgeW91ciBDTVNNUyByb290IGRpcmVjdG9yeS4gIEZvciB2ZXJzaW9ucyBvZiBDTVNNUyAyLjIgYW5kIGFib3ZlLCB0aGlzIG1vZHVsZSB3aWxsIGxvb2sgZm9yIGEgZGlyZWN0b3J5IG5hbWVkIGFzc2V0cy9DR21sIGJlbG93IHlvdXIgQ01TTVMgcm9vdCBkaXJlY3RvcnkuICAgTm90ZSwgaWYgYm90aCBkaXJlY3RvcmllcyBleGlzdCwgb25seSB0aGUgZmlyc3Qgb25lIHdpbGwgYmUgZm91bmQuPC9wPgo8cD5Zb3UgY2FuIG92ZXJyaWRlIHRoZSBwYXRoIGZvciB0cmFuc2xhdGlvbnMgdXNpbmcgdGhlICdDR21sX3BhdGgnIGNvbmZpZyBlbnRyeSBpbiB5b3VyIGNvbmZpZy5waHAgZmlsZS4gaS5lOjwvcD4KPHByZT48Y29kZT4kY29uZmlnWydDR21sX3BhdGgnXSA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvdHJhbnNsYXRpb25zJzs8L2NvZGU+PC9wcmU+CjxwPkFsbCBmaWxlcyBuYW1lcyBtdXN0IGJlIGluIHRoZSBmb3JtYXQgPGNvZGU+bGFuZy48c3Ryb25nPnJlYWxtX25hbWU8L3N0cm9uZz4uaW5pPC9jb2RlPjwvcD4KPHA+VGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgcmVhbG0gaXMgJnF1b3Q7ZGVmYXVsdCZxdW90OyBzbywgYnkgZGVmYXVsdCB0aGlzIG1vZHVsZSB3aWxsIGxvb2sgZm9yIHRoZSBkZWZhdWx0IHJlYWxtIGZpbGUgaW4gPGNvZGU+Jmx0O3Jvb3RfcGF0aCZndDsvX0NHbWwvbGFuZy48c3Ryb25nPmRlZmF1bHQ8L3N0cm9uZz4uaW5pPC9jb2RlPjwvcD4KCjxoMz5Gb3JtYXQgb2YgRmlsZXM8L2gzPgo8cD5UaGlzIG1vZHVsZSB1c2VzIElOSSBmaWxlIGZvcm1hdCBmb3IgdHJhbnNsYXRpb24uICBTZWN0aW9uIGVudHJpZXMgc2VwYXJhdGUgbGFuZ3VhZ2VzLCBhbmQgaW5kaXZpZHVhbCBlbnRyaWVzIGNvbnRhaW4gdGhlIHRyYW5zbGF0aW9ucy4gIEEgc2ltcGxlIGxhbmd1YWdlIGZpbGUgZm9yIGVuZ2xpc2ggYW5kIGZyZW5jaCBtYXkgbG9vayBzb21ldGhpbmcgbGlrZTo8L3A+CjxwcmU+Cltlbl9VU10KaGVsbG89SGVsbG8KYnllPUdvb2QgQnllCgpbZnJfRlJdCmhlbGxvPUJvbmpvdXIKYnllPUF1IFJldm9pcgo8L3ByZT4KCjxwPk11bHRpIGxpbmUgZW50cmllcyBhcmUgcGVybWlzc2libGUsIGJ1dCBtdXN0IGJlIHF1b3RlZC4gIGkuZTo8L3A+CjxwcmU+Cltlbl9VU10KdGVybXNfb2ZfdXNlPSJUaGlzIGlzIGEgdmVyeSBsb25nIHRleHQgdXNpbmcKbXVsdGlwbGUgbGluZXMgZGVzY3JpYmluZyB0aGUgdGVybXMgb2YgdXNlCmZvciBteSB3ZWJzaXRlLiIKPC9wcmU+Cgo8aDM+RGVmYXVsdCBsYW5ndWFnZSwgYW5kIG1pc3NpbmcgbGFuZ3VhZ2Ugc3RyaW5nczwvaDM+CjxwPlRoaXMgbW9kdWxlIGFzc3VtZXMgdGhhdCB0aGUgZGVmYXVsdCBsYW5ndWFnZSBpcyBlbl9VUy4gPGVtPih0aGlzIG1heSBjaGFuZ2UgYXQgYSBsYXRlciBkYXRlKTwvZW0+LiAgU28gaWYgYSBzdHJpbmcgZXhpc3RzIGZvciBlbl9VUywgYnV0IG5vdCBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIHRoZW4gdGhlIGVuZ2xpc2ggc3RyaW5nIHdpbGwgYmUgdXNlZC48L3A+CjxwPlRoaXMgbW9kdWxlIHdpbGwgbm90IHJldHVybiBhbnkgdmFsdWUgaWYgYSB0cmFuc2xhdGlvbiBmb3IgYSByZXF1ZXN0ZWQga2V5IGRvZXMgbm90IGV4aXN0IGluIGVpdGhlciB0aGUgY3VycmVudCBsYW5ndWFnZSBvciB0aGUgZGVmYXVsdCBsYW5ndWFnZS4gIEhvd2V2ZXIsIGEgZGVidWcgZW50cnkgd2lsbCBiZSBwbGFjZWQgaW50byB0aGUgdG1wL2NhY2hlL2RlYnVnLmxvZyBmaWxlIHRvIGFsbG93IHlvdSB0byBmaW5kIGluc3RhbmNlcyB3aGVyZSBhIHRyYW5zbGF0aW9uIGlzIHVzZWQsIGJ1dCBpcyBub3QgY3VycmVudGx5IHRyYW5zbGF0ZWQuPC9wPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGUgbW9kdWxlIGF1dGhvciBpcyBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiAgSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkEgYnVnIHRyYWNraW5nIGFuZCBmZWF0dXJlIHJlcXVlc3Qgc3lzdGVtIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIHRoaXMgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY2dzaW1wbGVzbWFydHkiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJpdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHbWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHNpbXBsZSBtb2R1bGUgdG8gYWlkZSBpbiBhdXRvbWF0aWMgdHJhbnNsYXRpb24gb2Ygc2ltcGxlIHN0cmluZ3MgZm9yIGEgbXVsdGktbGFuZ3VhZ2Ugd2Vic2l0ZSc7]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.LangDAO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHbWwgKGMpIDIwMTcgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWlkZSBpbiBidWlsZGluZyBtdWx0aS1sYW5ndWFnZQojICB3ZWJzaXRlcyBhbmQgYXBwcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQpuYW1lc3BhY2UgQ0dtbDsKCmNsYXNzIExhbmdEQU8KewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9sYW5ndWFnZV9wYXRoKCkKICAgIHsKICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgIGlmKCBpc3NldCgkY29uZmlnWydDR21sX3BhdGgnXSkgJiYgaXNfZGlyKCRjb25maWdbJ0NHbWxfcGF0aCddKSApIHJldHVybiAkY29uZmlnWydDR21sX3BhdGgnXTsKCiAgICAgICAgJGRpciA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvX0NHbWwnOwogICAgICAgIGlmKCB2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sJzIuMS45OScpIDwgMCApIHsKICAgICAgICAgICAgLy8gMi4xLngKICAgICAgICAgICAgcmV0dXJuICRkaXI7CiAgICAgICAgfQogICAgICAgIC8vIDIuMi54CiAgICAgICAgaWYoIGlzX2RpcigkZGlyKSApIHJldHVybiAkZGlyOwogICAgICAgIHJldHVybiAkY29uZmlnWydhc3NldHNfcGF0aCddLicvQ0dtbCc7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9sYW5ndWFnZV9maWxlcygkZGlyLCRyZWFsbSkKICAgIHsKICAgICAgICAkbWFzayA9ICIkZGlyL2xhbmcuJHJlYWxtLmluaSI7CiAgICAgICAgJGZpbGVzID0gZ2xvYigkbWFzayk7CiAgICAgICAgcmV0dXJuICRmaWxlczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gbG9hZF9sYW5ndWFnZV9maWxlKCAkZmlsZSApCiAgICB7CiAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgaWYoICFpc19maWxlKCRmaWxlKSB8fCAhaXNfcmVhZGFibGUoICRmaWxlICkgKSByZXR1cm47CgogICAgICAgIHNldF9lcnJvcl9oYW5kbGVyKGZ1bmN0aW9uKCRlcnJubywkZXJyc3RyKXsKICAgICAgICAgICAgICAgIGRlYnVnX3RvX2xvZygnQ0dtbCBsYW5nZmlsZSBlcnJvcjonLiRlcnJzdHIpOwogICAgICAgICAgICAgICAgZGVidWdfZGlzcGxheSgkZXJyc3RyKTsKICAgICAgICAgICAgfSxFX1dBUk5JTkcpOwogICAgICAgICRkYXRhID0gcGFyc2VfaW5pX2ZpbGUoJGZpbGUsdHJ1ZSk7CiAgICAgICAgcmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7CiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkX3JlYWxtKCRyZWFsbSkKICAgIHsKICAgICAgICAkZGlyID0gJHRoaXMtPmdldF9sYW5ndWFnZV9wYXRoKCk7CiAgICAgICAgJGZpbGVzID0gJHRoaXMtPmdldF9sYW5ndWFnZV9maWxlcygkZGlyLCRyZWFsbSk7CgogICAgICAgICRvdXQgPSBbXTsKICAgICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJGZpbGUgKSB7CiAgICAgICAgICAgICRkYXRhID0gJHRoaXMtPmxvYWRfbGFuZ3VhZ2VfZmlsZSggJGZpbGUgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.smarty_plugins.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHbWwgKGMpIDIwMTcgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWlkZSBpbiBidWlsZGluZyBtdWx0aS1sYW5ndWFnZQojICB3ZWJzaXRlcyBhbmQgYXBwcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQpuYW1lc3BhY2UgQ0dtbDsKCmZpbmFsIGNsYXNzIHNtYXJ0eV9wbHVnaW5zCnsKICAgIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdldF9tb2QoKQogICAgewogICAgICAgIHJldHVybiBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR01MKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNnbWxfc2V0cmVhbG0oJHBhcmFtcywkdGVtcGxhdGUpCiAgICB7CiAgICAgICAgJHJlYWxtID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdyZWFsbScpOwogICAgICAgICRhc3NpZ24gPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Fzc2lnbicpOwoKICAgICAgICAkbW9kID0gc2VsZjo6Z2V0X21vZCgpOwogICAgICAgICR0cmFuc2xhdG9yID0gJG1vZC0+Z2V0X3RyYW5zbGF0b3IoKTsKICAgICAgICBpZiggISRyZWFsbSApICRyZWFsbSA9IFRyYW5zbGF0b3I6OkRGTFRfUkVBTE07CiAgICAgICAgJHRyYW5zbGF0b3ItPnNldF9yZWFsbSgkcmVhbG0pOwogICAgICAgIGlmKCAkYXNzaWduICkgewogICAgICAgICAgICAkb3V0ID0gJHRyYW5zbGF0b3ItPmdldF9hbGxfdHJhbnNsYXRpb25zKCk7CiAgICAgICAgICAgICR0ZW1wbGF0ZS0+YXNzaWduKCRhc3NpZ24sJG91dCk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2dtbF9nZXRhbGwoJHBhcmFtcywkdGVtcGxhdGUpCiAgICB7CiAgICAgICAgJG1vZCA9IHNlbGY6OmdldF9tb2QoKTsKICAgICAgICAkdHJhbnNsYXRvciA9ICRtb2QtPmdldF90cmFuc2xhdG9yKCk7CiAgICAgICAgJGFzc2lnbiA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnYXNzaWduJyk7CiAgICAgICAgaWYoICEkYXNzaWduICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gJHRyYW5zbGF0b3ItPmdldF9hbGxfdHJhbnNsYXRpb25zKCk7CiAgICAgICAgJHRlbXBsYXRlLT5hc3NpZ24oJGFzc2lnbiwkb3V0KTsKICAgIH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Translator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHbWwgKGMpIDIwMTcgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWlkZSBpbiBidWlsZGluZyBtdWx0aS1sYW5ndWFnZQojICB3ZWJzaXRlcyBhbmQgYXBwcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQpuYW1lc3BhY2UgQ0dtbDsKCmNsYXNzIFRyYW5zbGF0b3IKewogICAgY29uc3QgREZMVF9MQU5HID0gJ2VuX1VTJzsKICAgIGNvbnN0IERGTFRfUkVBTE0gPSAnZGVmYXVsdCc7CiAgICBwcml2YXRlICRfZGFvOwogICAgcHJpdmF0ZSAkX2RhdGEgPSBbXTsKICAgIHByaXZhdGUgJF9jdXJfcmVhbG07CiAgICBwcml2YXRlICRfY3VyX2xhbmc7CiAgICBwcml2YXRlICRfc3RhcnRlZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoTGFuZ0RBTyAkZGFvKQogICAgewogICAgICAgICR0aGlzLT5fZGFvID0gJGRhbzsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdGlhbGl6ZSgpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5fc3RhcnRlZCApIHJldHVybjsKICAgICAgICAkdGhpcy0+X3N0YXJ0ZWQgPSAxOwoKICAgICAgICAvLyBnZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UKICAgICAgICAkdGhpcy0+X2N1cl9sYW5nID0gXENtc05sc09wZXJhdGlvbnM6OmdldF9jdXJyZW50X2xhbmd1YWdlKCk7CgogICAgICAgIC8vIGxvYWQgdGhlIGRlZmF1bHQgcmVhbG0sIGFuZCBzZXQgaXQgYXMgdGhlIGRlZmF1bHQuCiAgICAgICAgJHRoaXMtPnNldF9yZWFsbShzZWxmOjpERkxUX1JFQUxNKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaXNfcmVhbG1fbG9hZGVkKCRyZWFsbSkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygkcmVhbG0sJHRoaXMtPl9kYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3JlYWxtKCRyZWFsbSkKICAgIHsKICAgICAgICAkdGhpcy0+aW5pdGlhbGl6ZSgpOwogICAgICAgICR0aGlzLT5fY3VyX3JlYWxtID0gJHJlYWxtOwogICAgICAgIGlmKCAkdGhpcy0+aXNfcmVhbG1fbG9hZGVkKCRyZWFsbSkgKSByZXR1cm47CiAgICAgICAgJGRhdGEgPSAkdGhpcy0+X2Rhby0+bG9hZF9yZWFsbSggJHJlYWxtICk7CiAgICAgICAgaWYoICFpc3NldCgkZGF0YVtzZWxmOjpERkxUX0xBTkddKSApIHJldHVybjsKICAgICAgICAkdGhpcy0+X2RhdGFbJHJlYWxtXVtzZWxmOjpERkxUX0xBTkddID0gJGRhdGFbc2VsZjo6REZMVF9MQU5HXTsKICAgICAgICBpZiggJHRoaXMtPl9jdXJfbGFuZyAhPSBzZWxmOjpERkxUX0xBTkcgJiYgaXNzZXQoJGRhdGFbJHRoaXMtPl9jdXJfbGFuZ10pICkgewogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJHJlYWxtXVskdGhpcy0+X2N1cl9sYW5nXSA9ICRkYXRhWyR0aGlzLT5fY3VyX2xhbmddOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FsbF90cmFuc2xhdGlvbnMoKQogICAgewogICAgICAgICR0aGlzLT5pbml0aWFsaXplKCk7CiAgICAgICAgJGxhbmcgPSAkdGhpcy0+X2N1cl9sYW5nOwogICAgICAgICRvdXQgPSAkdGhpcy0+X2RhdGFbJHRoaXMtPl9jdXJfcmVhbG1dW3NlbGY6OkRGTFRfTEFOR107CiAgICAgICAgaWYoICRsYW5nID09IHNlbGY6OkRGTFRfTEFORyApIHJldHVybiAkb3V0OwoKICAgICAgICBmb3JlYWNoKCAkb3V0IGFzICRrZXkgPT4gJiR2YWx1ZSApIHsKICAgICAgICAgICAgJHZhbHVlID0gJHRoaXMtPnRyYW5zbGF0ZSgka2V5KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRyYW5zbGF0ZSgka2V5LCBhcnJheSAkcGFybXMgPSBudWxsICkKICAgIHsKICAgICAgICAkZG9fcmVwbGFjZW1lbnRzID0gZnVuY3Rpb24oJHN0cixhcnJheSAkcGFybXMgPSBudWxsKSB7CiAgICAgICAgICAgIGlmKCBpc19hcnJheSgkcGFybXMpICYmIGNvdW50KCRwYXJtcykgKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICAgICAgICAgICRpbmtleSA9ICcjIycuJGtleTsKICAgICAgICAgICAgICAgICAgICAkc3RyID0gc3RyX3JlcGxhY2UoJGlua2V5LCR2YWwsJHN0cik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRzdHI7CiAgICAgICAgfTsKCiAgICAgICAgJHRoaXMtPmluaXRpYWxpemUoKTsKICAgICAgICAkY3VyX3JlYWxtID0gJHRoaXMtPl9jdXJfcmVhbG07CiAgICAgICAgJGxhbmcgPSAkdGhpcy0+X2N1cl9sYW5nOwoKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRjdXJfcmVhbG1dW3NlbGY6OkRGTFRfTEFOR11bJGtleV0gKSApICRvdXQgPSAkdGhpcy0+X2RhdGFbJGN1cl9yZWFsbV1bc2VsZjo6REZMVF9MQU5HXVska2V5XTsKICAgICAgICBpZiggISRvdXQgKSB7CiAgICAgICAgICAgIGRlYnVnX3RvX2xvZygiQ0dtbCAtLSBNaXNzaW5nIGVuX1VTIGVudHJ5IGZvciBrZXk9JGtleSBpbiByZWFsbT0kY3VyX3JlYWxtIik7CiAgICAgICAgfQogICAgICAgIGlmKCAkbGFuZyA9PSBzZWxmOjpERkxUX0xBTkcgfHwgIWlzc2V0KCR0aGlzLT5fZGF0YVskY3VyX3JlYWxtXVskbGFuZ10pICkgcmV0dXJuICRkb19yZXBsYWNlbWVudHMoJG91dCwkcGFybXMpOwoKICAgICAgICAvLyBub3QgZGVmYXVsdCBsYW5ndWFnZS4uLgogICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGN1cl9yZWFsbV1bJGxhbmddWyRrZXldICkgKSB7CiAgICAgICAgICAgICRvdXQgPSAkdGhpcy0+X2RhdGFbJGN1cl9yZWFsbV1bJGxhbmddWyRrZXldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRlYnVnX3RvX2xvZygiQ0dtbCAtLSBNaXNzaW5nIGxhbmcgZW50cnkgZm9yIGtleT0ka2V5IGluIHJlYWxtPSRjdXJfcmVhbG0gZm9yIGxhbmd1YWdlICRsYW5nIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZG9fcmVwbGFjZW1lbnRzKCRvdXQsJHBhcm1zKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IENHbWwKdmVyc2lvbiA9IDEuMQpkZXNjcmlwdGlvbiA9IEEgc2ltcGxlIG1vZHVsZSB0byBhaWRlIGluIGF1dG9tYXRpYyB0cmFuc2xhdGlvbiBvZiBzaW1wbGUgc3RyaW5ncyBmb3IgYSBtdWx0aS1sYW5ndWFnZSB3ZWJzaXRlCmF1dGhvciA9IGNhbGd1eTEwMDAKYXV0aG9yZW1haWwgPSBjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnCm1pbmNtc3ZlcnNpb24gPSAyLjEuNQpsYXp5bG9hZGFkbWluID0gMApsYXp5bG9hZGZyb250ZW5kID0gMApbZGVwZW5kc10KQ0dFeHRlbnNpb25zID0gMS41My4xMwo=]]></data>
	</file>
</module>
