<?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>Postcode</name>
	<version>1.2.1</version>
  <mincmsversion>1.11.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgaXMgYSBzaW1wbGUgbW9kdWxlIGZvciBDTVNNUyB0byBhbGxvdyBjb252ZXJ0aW5nIGEgcG9zdGFsIG9yIHppcCBjb2RlIGludG8gYSBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLiAgSXQgaXMgY2FwYWJsZSBvZiB1c2luZyBpdHMgb3duIGRhdGFiYXNlLCBvciBhbiBvbmxpbmUgd2ViIHNlcnZpY2UgPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9uYW1lcy5vcmciPmdlb25hbWVzLm9yZzwvYT4uPC9wPgo8cD5UaGlzIGZ1bmN0aW9uYWxpdHkgaXMgdHlwaWNhbGx5IHVzZWQgdmlhIHRoZSBtb2R1bGVzIEFQSSBmdW5jdGlvbiBieSBvdGhlciBtb2R1bGVzIHRvIHByb3ZpZGUgcHJveGltaXR5IG9yIGFyZWEgYmFzZWQgc2VhcmNoZXMuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgo8bGk+QSBmbGV4aWJsZSBtZWNoYW5pc20gZm9yIGltcG9ydGluZyBkYXRhIGZyb20gQ1NWPC9saT4KPGxpPlN1cHBvcnRzIG9ubGluZSBsb29rdXBzIHZpYSB0aGUgZ2VvbmFtZXMub3JnIHdlYnNlcnZpY2UgPGVtPihyZWdpc3RyYXRpb24gcmVxdWlyZWQpPC9lbT48L2xpPgo8bGk+U3VwcG9ydHMgY2FjaGluZyBvZiBvbmxpbmUgbG9va3VwcyB0byByZWR1Y2Ugd2ViIHJlcXVlc3RzLjwvbGk+CjxsaT5TdXBwb3J0cyB0cmltbWluZyB1c2VyIGRlZmluZWQgemlwIGNvZGVzIHRvIGEgcHJlc2V0IG51bWJlciBvZiBjaGFyYWN0ZXJzLjwvbGk+CjxsaT5tb3JlLi4uPC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdDo8L2gzPgo8cD5UaGUgZmlyc3QgdGhpbmcgdG8gZG8gYWZ0ZXIgaW5zdGFsbGF0aW9uIGlzIHRvIHNldCB0aGUgcHJlZmVyZW5jZXMgaW4gdGhlIFBvc3Rjb2RlIG1vZHVsZSBhZG1pbiBwYW5lbC48L3A+CjxwPk5leHQsIGlmIG5vdCB1c2luZyB0aGUgb25saW5lIHdlYiBzZXJ2aWNlIHlvdSBtYXkgd2FudCB0byBpbXBvcnQgc29tZSBjc3YgcG9zdGNvZGUgZGF0YS4gIFNvbWUgZnJlZSBkYXRhIGlzIGF2YWlsYWJsZSBmcm9tIDxhIGhyZWYtImh0dHA6Ly93d3cuZ2VvbmFtZXMub3JnIj5nZW9uYW1lcy5vcmc8L2E+PC9wPgo8cD5OZXh0LCB5b3Ugd2lsbCBuZWVkIHRvIGluc3RhbGwgYW5kIGNvbmZpZ3VyZXIgYSBtb2R1bGUgdGhhdCB1c2VzIHRoaXMgbW9kdWxlIGZvciBzZWFyY2hlcy4gIGkuZTogQ29tcGFueURpcmVjdG9yeS48L3A+CjxoMz5SZXF1aXJlbWVudHM8L2gzPgo8cD5Gb3IgcmVtb3RlIHdlYiByZXF1ZXN0cywgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB0aGUgY3VybCBwaHAgZXh0ZW5zaW9uIGJlIGluc3RhbGxlZC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjMxPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMi4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+Q2hhbmdlbG9nPGJyIC8+]]></about>
	<description><![CDATA[A simple module to allow converting postal or zip codes to latitude and longitude based on the geonames service]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.31</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiMKIyBJbml0aWFsaXphdGlvbgojCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdpbXBvcnQnKTsKJGZpZWxkbWFwID0gJyc7CiRkZWxpbWV0ZXIgPSAnJzsKJGZpbGVuYW1lID0gJyc7CiRwb2xpY3kgPSAwOwoKIwojIFNldHVwCiMKaWYoICFpc3NldCgkX0ZJTEVTWyRpZC4nZmlsZSddKSB8fCAkX0ZJTEVTWyRpZC4nZmlsZSddWydzaXplJ10gPT0gMCApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZpbGUnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KZWxzZSBpZiggJF9GSUxFU1skaWQuJ2ZpbGUnXVsnZXJyb3InXSAhPSAwICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpbGV1cGxvYWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KJGZpbGVuYW1lID0gJF9GSUxFU1skaWQuJ2ZpbGUnXVsnbmFtZSddOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2RlbGltZXRlciddKSApCiAgewogICAgJGRlbGltZXRlciA9IHRyaW0oJHBhcmFtc1snZGVsaW1ldGVyJ10pOwogICAgaWYoICRkZWxpbWV0ZXIgPT0gJ1tUQUJdJyApICRkZWxpbWV0ZXIgPSAiXHQiOwogIH0KaWYoICRkZWxpbWV0ZXIgPT0gJycgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfZW1wdHlfZGVsaW1ldGVyJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydmaWVsZG1hcCddKSApCiAgewogICAgJGZpZWxkbWFwID0gdHJpbSgkcGFyYW1zWydmaWVsZG1hcCddKTsKICB9CmlmKCAkZmllbGRtYXAgPT0gJycgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfZW1wdHlfZmllbGRtYXAnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2ltcG9ydF9wb2xpY3knXSkgKQogIHsKICAgICRwb2xpY3kgPSAoaW50KSRwYXJhbXNbJ2ltcG9ydF9wb2xpY3knXTsKICB9CgovLyBzcGxpdCB0aGUgZmllbGRtYXAgaW50byBhIG1hcC4KJG1hcCA9IGFycmF5KCk7CiR0bXAgPSBleHBsb2RlKCJcbiIsJGZpZWxkbWFwKTsKZm9yZWFjaCgkdG1wIGFzICRvbmUpCnsKICBsaXN0KCRrZXksJHZhbHVlKSA9IGV4cGxvZGUoJz0nLCRvbmUsMik7CiAgJG1hcFtzdHJ0b2xvd2VyKCRrZXkpXSA9ICR2YWx1ZTsKfQoKLy8gZmFsaWRhdGUgdGhlIGZpZWxkbWFwCmlmKCAhaXNzZXQoJG1hcFsnY291bnRyeSddKSB8fCAhaXNzZXQoJG1hcFsncG9zdGFsJ10pIHx8ICFpc3NldCgkbWFwWydwbGFjZW5hbWUnXSkgCiAgICB8fCAhaXNzZXQoJG1hcFsnbGF0aXR1ZGUnXSkgfHwgIWlzc2V0KCRtYXBbJ2xvbmdpdHVkZSddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkbWFwJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2RlbGltZXRlcicsJGRlbGVtZXRlcik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfZmllbGRtYXAnLCRmaWVsZG1hcCk7CgovLyBnb29kIHNvIGZhciwgc28gbm93IHRyeSB0byByZWFkIHRoZSB0ZW1wb3JhcnkgZmlsZS4KJGxpbmVzID0gZmlsZSgkX0ZJTEVTWyRpZC4nZmlsZSddWyd0bXBfbmFtZSddKTsKaWYoICFpc19hcnJheSgkbGluZXMpIHx8IGNvdW50KCRsaW5lcykgPT0gMCApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9yZWFkZmlsZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKLy8gbm93IHByb2Nlc3MgdGhlIGxpbmVzCiRlcnJvcnMgPSBhcnJheSgpOwokYWRkZWQgPSAwOwokc3F1ZXJ5ID0gJ1NFTEVDVCBwbGFjZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG9zdGNvZGUgV0hFUkUgY291bnRyeSA9ID8gQU5EIHBvc3RhbCA9ID8gTElNSVQgMSc7CiR1cXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG9zdGNvZGUgU0VUIHBsYWNlID0gPywgc3RhdGUgPSA/LCBsYXRpdHVkZSA9ID8sIGxvbmdpdHVkZSA9ID8gCiAgICAgICAgICAgIFdIRVJFIGNvdW50cnkgPSA/IEFORCBwb3N0YWwgPSA/JzsKJGlxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Bvc3Rjb2RlIChjb3VudHJ5LHBvc3RhbCxwbGFjZSxzdGF0ZSxsYXRpdHVkZSxsb25naXR1ZGUpCiAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyknOwpmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkbGluZXMpOyAkaSsrICkKICB7CiAgICAkbGluZSA9ICRsaW5lc1skaV07CgogICAgLy8gc3RyaXAgb2ZmIGNvbW1lbnRzCiAgICAkcCA9IHN0cnJwb3MoJGxpbmUsICcvLycpOwogICAgaWYgKCRwKSB7CiAgICAgICRsaW5lID0gdHJpbShzdWJzdHIoJGxpbmUsIDAsICRwKSk7CiAgICB9CiAgICAKICAgICRwID0gc3RycnBvcygkbGluZSwgJyMnKTsKICAgIGlmKCAkcCApIHsKICAgICAgJGxpbmUgPSB0cmltKHN1YnN0cigkbGluZSwgMCwgJHApKTsKICAgIH0KICAgIAogICAgLy8gc3RyaXAgb2ZmIGV4dHJhIHdoaXRlc3BhY2UKICAgICRsaW5lID0gdHJpbSgkbGluZSk7CiAgICAKICAgIC8vIHNraXAgZW1wdHkgbGluZXMKICAgIGlmICgkbGluZSA9PSAnJykgewogICAgICBjb250aW51ZTsKICAgIH0KICAgICAKICAgICRmaWVsZHMgPSBleHBsb2RlKCRkZWxpbWV0ZXIsJGxpbmUpOwogICAgaWYoIGNvdW50KCRmaWVsZHMpIDwgY291bnQoJG1hcCkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbnVtZmllbGRzJywkaSsxKTsKCWNvbnRpbnVlOwogICAgICB9CiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkbWFwIGFzICRuYW1lID0+ICRpbmRleCApCiAgICAgIHsKCSRkYXRhWyRuYW1lXSA9ICRmaWVsZHNbJGluZGV4LTFdOwogICAgICB9CgogICAgLy8gZmluZCBvdXQgaWYgdGhpcyByZWNvcmQgZXhpc3RzCiAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHNxdWVyeSxhcnJheSgkZGF0YVsnY291bnRyeSddLCRkYXRhWydwb3N0YWwnXSkpOwogICAgJGRiciA9ICcnOwogICAgaWYoICR0bXAgKQogICAgICB7CgkvLyBpdCdzIGEgZHVwbGljYXRlCglzd2l0Y2goJHBvbGljeSkKCSAgewoJICBjYXNlIDA6IC8vIGVycm9yCgkgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2R1cGxpY2F0ZXBvc3RhbCcsJGkrMSk7CgkgICAgY29udGludWU7CgkgICAgYnJlYWs7CgoJICBjYXNlIDE6IC8vIGlnbm9yZQoJICAgIGNvbnRpbnVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAyOiAvLyBvdmVyd3JpdGUKCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCR1cXVlcnksYXJyYXkoJGRhdGFbJ3BsYWNlbmFtZSddLCRkYXRhWydzdGF0ZSddLAoJCQkJCSAgICAgICRkYXRhWydsYXRpdHVkZSddLCRkYXRhWydsb25naXR1ZGUnXSwkZGF0YVsnY291bnRyeSddLCRkYXRhWydwb3N0YWwnXSkpOwoJICAgIGlmKCAhJGRiciApCgkgICAgICB7CgkJJHRtcCA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnNlcnRmYWlsZWQnLCRpKzEpOwoJCSR0bXAgLj0gJyAtICcuJGRiLT5FcnJvck1zZygpOwoJCSRlcnJvcnNbXSA9ICR0bXA7CgkJY29udGludWU7CgkgICAgICB9CgkgIH0KICAgICAgfQogICAgZWxzZSB7CiAgICAgIC8vIGluc2VydAogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJGRhdGFbJ2NvdW50cnknXSwkZGF0YVsncG9zdGFsJ10sJGRhdGFbJ3BsYWNlbmFtZSddLCRkYXRhWydzdGF0ZSddLAoJCQkJCSRkYXRhWydsYXRpdHVkZSddLCRkYXRhWydsb25naXR1ZGUnXSkpOwogICAgICBpZiggISRkYnIgKQoJewoJICAkdG1wID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc2VydGZhaWxlZCcsJGkrMSk7CgkgICR0bXAgLj0gJyAtICcuJGRiLT5FcnJvck1zZygpOwoJICAkZXJyb3JzW10gPSAkdG1wOwoJICBjb250aW51ZTsKCX0KICAgIH0KCiAgICAkYWRkZWQrKzsKICB9CiAgICAgIAogICAgCmlmKCBjb3VudCgkZXJyb3JzKSApCiAgewogICAgJHN0ciA9ICc8dWw+JzsKICAgIGZvcmVhY2goJGVycm9ycyBhcyAkb25lKSAkc3RyIC49ICc8bGk+Jy4kb25lLic8L2xpPic7CiAgICAkc3RyIC49ICc8L3VsPicuIlxuIjsKICAgICR0aGlzLT5TZXRFcnJvcigkc3RyKTsKICAgIGRpZSgkc3RyKTsKICB9CgokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2ltcG9ydF9udW1pbXBvcnRlZCcsJGFkZGVkKSk7CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_lookup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2xvb2t1cCcpOwokY291bnRyeSA9ICdVUyc7CiRwb3N0YWwgPSAnJzsKCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydwb3N0YWwnXSkgKQogICAgICB7CgkkcG9zdGFsID0gdHJpbSgkcGFyYW1zWydwb3N0YWwnXSk7CiAgICAgIH0KICAgIAogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NvdW50cnknXSkgKQogICAgICB7CgkkY291bnRyeSA9IHRyaW0oJHBhcmFtc1snY291bnRyeSddKTsKICAgICAgfQoKICAgICRkYXRhID0gJHRoaXMtPkxvb2t1cF9aaXAoJGNvdW50cnksJHBvc3RhbCk7CiAgICBpZiggISRkYXRhICkKICAgICAgewoJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9sb29rdXBfZmFpbGVkJykpOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgICAgfQoKICAgIC8vIHN1Y2Nlc3NmdWxsIHJlc3VsdAogICAgJHNtYXJ0eS0+YXNzaWduKCdkYXRhJywkZGF0YSk7CiAgICAkdHh0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fbG9va3VwLnRwbCcpOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHR4dCk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_saveprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdwcmVmZXJlbmNlcycpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2dlb25hbWVzX3VzZXJuYW1lJyx0cmltKCRwYXJhbXNbJ2dlb25hbWVzX3VzZXJuYW1lJ10pKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc3VtZV9jb3VudHJ5J10pICkgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhc3N1bWVfY291bnRyeScsJHBhcmFtc1snYXNzdW1lX2NvdW50cnknXSk7Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ29wZXJhdGlvbl9tb2RlJ10pICkgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvcGVyYXRpb25fbW9kZScsJHBhcmFtc1snb3BlcmF0aW9uX21vZGUnXSk7Cn0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VmZmVjdGl2ZV9jaGFycycsKGludCkkcGFyYW1zWydlZmZlY3RpdmVfY2hhcnMnXSk7CiR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfcHJlZnNfc2F2ZWQnKSk7CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ21hbmFnZV9wb3N0Y29kZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdsb29rdXAnLCR0aGlzLT5MYW5nKCdsb29rdXAnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ltcG9ydCcsJHRoaXMtPkxhbmcoJ2ltcG9ydCcpKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZWZlcmVuY2VzJywkdGhpcy0+TGFuZygncHJlZmVyZW5jZXMnKSk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ21hbmFnZV9wb3N0Y29kZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2xvb2t1cCcpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2xvb2t1cF90YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignaW1wb3J0Jyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5faW1wb3J0X3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmZXJlbmNlcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3ByZWZzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CiMKIyBFT0YKIwo/Pg==]]></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_import_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5faW1wb3J0JywkcmV0dXJuaWQsYXJyYXkoKSxmYWxzZSwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokdG1wID0gYXJyYXkoKTsKJHRtcFswXSA9ICR0aGlzLT5MYW5nKCdpbXBvcnRfcG9saWN5X2Vycm9yJyk7CiR0bXBbMV0gPSAkdGhpcy0+TGFuZygnaW1wb3J0X3BvbGljeV9pZ25vcmUnKTsKJHRtcFsyXSA9ICR0aGlzLT5MYW5nKCdpbXBvcnRfcG9saWN5X292ZXJ3cml0ZScpOwokc21hcnR5LT5hc3NpZ24oJ3BvbGljaWVzJywkdG1wKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5faW1wb3J0X3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_lookup_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkgJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fbG9va3VwJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLAoJCSR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NvdW50cnknLAoJCSR0aGlzLT5DcmVhdGVJbnB1dENvdW50cnlEcm9wZG93bigkaWQsJ2NvdW50cnknKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xvb2t1cF90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZXByZWZzJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Fzc3VtZV9jb3VudHJ5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDb3VudHJ5RHJvcGRvd24oJGlkLCdhc3N1bWVfY291bnRyeScsCgkJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Fzc3VtZV9jb3VudHJ5JywnVVMnKSkpOwoKJHRtcCA9IGFycmF5KCk7CiR0bXBbMV0gPSAkdGhpcy0+TGFuZygnb3Btb2RlX2Rib25seScpOwokdG1wWzJdID0gJHRoaXMtPkxhbmcoJ29wbW9kZV9kYmZpcnN0Jyk7CiR0bXBbM10gPSAkdGhpcy0+TGFuZygnb3Btb2RlX2RiZmlyc3RfY2FjaGUnKTsKJHRtcFs0XSA9ICR0aGlzLT5MYW5nKCdvcG1vZGVfb25saW5lb25seScpOwokc21hcnR5LT5hc3NpZ24oJ29wZXJhdGlvbl9tb2RlcycsJHRtcCk7Cgokc21hcnR5LT5hc3NpZ24oJ2dlb25hbWVzX3VzZXJuYW1lJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZ2VvbmFtZXNfdXNlcm5hbWUnKSk7CiRzbWFydHktPmFzc2lnbignZWZmZWN0aXZlX2NoYXJzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZWZmZWN0aXZlX2NoYXJzJykpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3ByZWZzdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgaXMgYSBzaW1wbGUgbW9kdWxlIGZvciBDTVNNUyB0byBhbGxvdyBjb252ZXJ0aW5nIGEgcG9zdGFsIG9yIHppcCBjb2RlIGludG8gYSBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLiAgSXQgaXMgY2FwYWJsZSBvZiB1c2luZyBpdHMgb3duIGRhdGFiYXNlLCBvciBhbiBvbmxpbmUgd2ViIHNlcnZpY2UgPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9uYW1lcy5vcmciPmdlb25hbWVzLm9yZzwvYT4uPC9wPgo8cD5UaGlzIGZ1bmN0aW9uYWxpdHkgaXMgdHlwaWNhbGx5IHVzZWQgdmlhIHRoZSBtb2R1bGVzIEFQSSBmdW5jdGlvbiBieSBvdGhlciBtb2R1bGVzIHRvIHByb3ZpZGUgcHJveGltaXR5IG9yIGFyZWEgYmFzZWQgc2VhcmNoZXMuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgo8bGk+QSBmbGV4aWJsZSBtZWNoYW5pc20gZm9yIGltcG9ydGluZyBkYXRhIGZyb20gQ1NWPC9saT4KPGxpPlN1cHBvcnRzIG9ubGluZSBsb29rdXBzIHZpYSB0aGUgZ2VvbmFtZXMub3JnIHdlYnNlcnZpY2UgPGVtPihyZWdpc3RyYXRpb24gcmVxdWlyZWQpPC9lbT48L2xpPgo8bGk+U3VwcG9ydHMgY2FjaGluZyBvZiBvbmxpbmUgbG9va3VwcyB0byByZWR1Y2Ugd2ViIHJlcXVlc3RzLjwvbGk+CjxsaT5TdXBwb3J0cyB0cmltbWluZyB1c2VyIGRlZmluZWQgemlwIGNvZGVzIHRvIGEgcHJlc2V0IG51bWJlciBvZiBjaGFyYWN0ZXJzLjwvbGk+CjxsaT5tb3JlLi4uPC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdDo8L2gzPgo8cD5UaGUgZmlyc3QgdGhpbmcgdG8gZG8gYWZ0ZXIgaW5zdGFsbGF0aW9uIGlzIHRvIHNldCB0aGUgcHJlZmVyZW5jZXMgaW4gdGhlIFBvc3Rjb2RlIG1vZHVsZSBhZG1pbiBwYW5lbC48L3A+CjxwPk5leHQsIGlmIG5vdCB1c2luZyB0aGUgb25saW5lIHdlYiBzZXJ2aWNlIHlvdSBtYXkgd2FudCB0byBpbXBvcnQgc29tZSBjc3YgcG9zdGNvZGUgZGF0YS4gIFNvbWUgZnJlZSBkYXRhIGlzIGF2YWlsYWJsZSBmcm9tIDxhIGhyZWYtImh0dHA6Ly93d3cuZ2VvbmFtZXMub3JnIj5nZW9uYW1lcy5vcmc8L2E+PC9wPgo8cD5OZXh0LCB5b3Ugd2lsbCBuZWVkIHRvIGluc3RhbGwgYW5kIGNvbmZpZ3VyZXIgYSBtb2R1bGUgdGhhdCB1c2VzIHRoaXMgbW9kdWxlIGZvciBzZWFyY2hlcy4gIGkuZTogQ29tcGFueURpcmVjdG9yeS48L3A+CjxoMz5SZXF1aXJlbWVudHM8L2gzPgo8cD5Gb3IgcmVtb3RlIHdlYiByZXF1ZXN0cywgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB0aGUgY3VybCBwaHAgZXh0ZW5zaW9uIGJlIGluc3RhbGxlZC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKCiNCCgojQwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnQ2hhbmdlbG9nJzsKJGxhbmdbJ2NvdW50cnknXSA9ICdDb3VudHJ5JzsKCiNECgojRQokbGFuZ1snZXJyb3JfZHVwbGljYXRlcG9zdGFsJ10gPSAnQSBkdXBsaWNhdGUgcG9zdGFsIGNvZGUgZW50cnkgd2FzIGZvdW5kIGF0IGxpbmUgJWQnOwokbGFuZ1snZXJyb3JfZW1wdHlfZGVsaW1pdGVyJ10gPSAnWW91IG11c3Qgc3BlY2lmeSBhIGRlbGltaXRlcic7CiRsYW5nWydlcnJvcl9lbXB0eV9maWVsZG1hcCddID0gJ1lvdSBtdXN0IHNwZWNpZnkgYSBmaWVsZCBtYXAnOwokbGFuZ1snZXJyb3JfZmlsZXVwbG9hZCddID0gJ1Byb2JsZW0gdXBsb2FkaW5nIGltcG9ydCBmaWxlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRtYXAnXSA9ICdUaGUgZmllbGQgbWFwIHlvdSBzcGVjaWZpZWQgaXMgaW52YWxpZCBvciBoYXMgYW4gZXJyb3InOwokbGFuZ1snZXJyb3JfaW5zZXJ0ZmFpbGVkJ10gPSAnRXJyb3IgYXQgbGluZSAlZCwgZGF0YWJhc2UgaW5zZXJ0IGZhaWxlZCc7CiRsYW5nWydlcnJvcl9sb29rdXBfZmFpbGVkJ10gPSAnUG9zdGFsIGNvZGUgbG9va3VwIGZhaWxlZCc7CiRsYW5nWydlcnJvcl9ub2ZpbGUnXSA9ICdObyBpbXBvcnQgZmlsZSB3YXMgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX251bWZpZWxkcyddID0gJ0Vycm9yIGF0IGxpbmUgJWQsIGluc3VmZmljaWVudCBudW1iZXIgb2YgZmllbGRzJzsKJGxhbmdbJ2Vycm9yX3JlYWRmaWxlJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHRyeWluZyB0byByZWFkIHRoZSB1cGxvYWRlZCBmaWxlJzsKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdQb3N0Q29kZSBMb29rdXAnOwoKI0cKCiNICgojSQokbGFuZ1snaW1wb3J0J10gPSAnSW1wb3J0JzsKJGxhbmdbJ2ltcG9ydF9wb2xpY3lfZXJyb3InXSA9ICdSZXBvcnQgRXJyb3InOwokbGFuZ1snaW1wb3J0X3BvbGljeV9pZ25vcmUnXSA9ICdTaWxlbnRseSBJZ25vcmUnOwokbGFuZ1snaW1wb3J0X3BvbGljeV9vdmVyd3JpdGUnXSA9ICdSZXBsYWNlIE9yaWdpbmFsIFZhbHVlcyc7CiRsYW5nWydpbmZvX2RlbGltZXRlciddID0gJ1NwZWNpZnkgdGhlIGNoYXJhY3RlcihzKSB0aGF0IHNlcGVyYXRlIGVhY2ggY29sdW1uIG9mIHRoZSBmaWxlLiAgVXNlIHRoZSBzdHJpbmcgW1RBQl0gdG8gaW5kaWNhdGUgdGhlIHRhYiBjaGFyYWN0ZXIuJzsKJGxhbmdbJ2luZm9fZWZmZWN0aXZlX2NoYXJzJ10gPSAnU29tZSByZWdpb25zIDxlbT4oQ2FuYWRhKTwvZW0+IG1heSBoYXZlIGxvbmcgcG9zdGNvZGVzIHRvIGlkZW50aWZ5IHNwZWNpZmljIHJlZ2lvbnMsIGJ1dCB0aGUgZGF0YWJhc2Ugb25seSBjb250YWlucyBrZXlzIGZvciBwcmVmaXhlcyBvZiBhIGNlcnRhaW4gbGVuZ3RoLiAgVGhpcyBmaWVsZCB3aWxsIGVmZmVjdGl2ZWx5IHRyaW0gdGhlIHN1cHBsaWVkIHBvc3Rjb2RlIHRvIHRoZSBudW1iZXIgb2YgZWZmZWN0aXZlIGNoYXJhY3RlcnMgYmVmb3JlIHN1Ym1pdHRpbmcgdGhlIGRhdGFiYXNlIHJlcXVlc3QuJzsKJGxhbmdbJ2luZm9fZmllbGRtYXAnXSA9IDw8PEVPVApUaGlzIGZpZWxkIGRlZmluZXMgdGhlIG1hcCBiZXR3ZWVuIHJlcXVpcmVkIGZpZWxkcyBhbmQgaW1wb3J0IGZpbGUgY29sdW1ucy4gIFRoZSBmb3JtYXQgc2hvdWxkIGJlIG9mIHRoZSBmb3JtICZxdW90O25hbWU9bnVtYmVyJnF1b3Q7IHdoZXJlIHRoZSBuYW1lIGlzIG9uZSBvZiB0aGUgcG9zc2libGUgbmFtZXMgYmVsb3csIGFuZCB0aGUgbnVtYmVyIGlzIGEgY29sdW1uIG51bWJlciAoc3RhcnRpbmcgZnJvbSAxKS48YnIvPjxici8+CjxoNT5GaWVsZCBOYW1lczo8L2g1Pgo8dWw+CiAgPGxpPmNvdW50cnkgLSB0aGUgY291bnRyeSBjb2RlPC9saT4KICA8bGk+cG9zdGFsIC0gdGhlIHBvc3RhbCBjb2RlPC9saT4KICA8bGk+cGxhY2VuYW1lIC0gQSBsb2dpY2FsIHBsYWNlIG5hbWU8L2xpPgogIDxsaT5sYXRpdHVkZSAtIHRoZSBsYXRpdHVkZSBpbiBkZWNpbWFsIGZvcm1hdDwvbGk+CiAgPGxpPmxvbmdpdHVkZSAtIHRoZSBsb25naXR1ZGUgaW4gZGVjaW1hbCBmb3JtYXQ8L2xpPgo8L3VsPgpFT1Q7CgojSgoKI0sKCiNMCiRsYW5nWydsYXRpdHVkZSddID0gJ0xhdGl0dWRlJzsKJGxhbmdbJ2xvbmdpdHVkZSddID0gJ0xvbmdpdHVkZSc7CiRsYW5nWydsb29rdXAnXSA9ICdMb29rdXAnOwokbGFuZ1snbG9va3VwX3N1Y2Nlc3NmdWwnXSA9ICdTdWNjZXNzZnVsIExvb2t1cCc7CgojTQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHNpbXBsZSBtb2R1bGUgdG8gYWxsb3cgY29udmVydGluZyBwb3N0YWwgb3IgemlwIGNvZGVzIHRvIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUgYmFzZWQgb24gdGhlIGdlb25hbWVzIHNlcnZpY2UnOwokbGFuZ1snbXNnX2ltcG9ydF9udW1pbXBvcnRlZCddID0gJ0ltcG9ydGVkICVkIHJlY29yZHMnOwokbGFuZ1snbXNnX3ByZWZzX3NhdmVkJ10gPSAnUHJlZmVyZW5jZXMgU2F2ZWQnOwoKI04KCiNPCiRsYW5nWydvcG1vZGVfZGJmaXJzdCddID0gJ0RhdGFiYXNlIEZpcnN0LCB0aGVuIE9ubGluZSc7CiRsYW5nWydvcG1vZGVfZGJmaXJzdF9jYWNoZSddID0gJ0RhdGFiYXNlIEZpcnN0LCB0aGVuIE9ubGluZSB3aXRoIENhY2hpbmcnOwokbGFuZ1snb3Btb2RlX2Rib25seSddID0gJ0RhdGFiYXNlIE9ubHknOwokbGFuZ1snb3Btb2RlX29ubGluZW9ubHknXSA9ICdPbmxpbmUgbG9va3VwcyBvbmx5JzsKCiNQCiRsYW5nWydwbGFjZV9uYW1lJ10gPSAnUGxhY2UgTmFtZSc7CiRsYW5nWydwb3N0YWxfY29kZSddID0gJ1Bvc3RhbCBDb2RlIC8gWmlwIENvZGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgUG9zdGNvZGUgbW9kdWxlIGhhcyBiZWVuIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFBvc3Rjb2RlIG1vZHVsZSBoYXMgYmVlbiB1bmluc3RhbGwnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydwcmV2J10gPSAnQmFjayc7CiRsYW5nWydwcm9tcHRfYXNzdW1lX2NvdW50cnknXSA9ICdJZiBub3Qgc3BlY2lmaWVkLCBhc3N1bWUgdGhpcyBjb3VudHJ5JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2R1cGxpY2F0ZV9wb2xpY3knXSA9ICdEdXBsaWNhdGVkIHBvc3RhbCBjb2RlIHBvbGljeSc7CiRsYW5nWydwcm9tcHRfZWZmZWN0aXZlX2NoYXJzJ10gPSAnTnVtYmVyIG9mIGVmZmVjdGl2ZSBjaGFyYWN0ZXJzIGluIHBvc3Rjb2RlIHNlYXJjaCc7CiRsYW5nWydwcm9tcHRfZmllbGRtYXAnXSA9ICdGaWVsZCBNYXAnOwokbGFuZ1sncHJvbXB0X2ZpbGUnXSA9ICdGaWxlJzsKJGxhbmdbJ3Byb21wdF9vcGVyYXRpb25fbW9kZSddID0gJ09wZXJhdGlvbiBNb2RlJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ0dlb25hbWVzIFVzZXJuYW1lJzsKCiNRCgojUgokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPyc7CgojUwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCiNUCgojVQoKI1YKCiNXCgojWAoKI1kKCiNaCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ1Byb3Rva29sbCBkZXIgJkF1bWw7bmRlcnVuZ2VuJzsKJGxhbmdbJ2NvdW50cnknXSA9ICdMYW5kJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZXBvc3RhbCddID0gJ0luIGRlciBaZWlsZSAlZCB3dXJkZSBlaW4gZG9wcGVsdGVyIFBvc3RsZWl0emFobGVuZWludHJhZyBnZWZ1bmRlbi4nOwokbGFuZ1snZXJyb3JfZW1wdHlfZGVsaW1pdGVyJ10gPSAnU2llIG0mdXVtbDtzc2VuIGVpbmVuIFRyZW5uZXIgYW5nZWJlbic7CiRsYW5nWydlcnJvcl9lbXB0eV9maWVsZG1hcCddID0gJ1lvdSBtdXN0IHNwZWNpZnkgYSBmaWVsZCBtYXAnOwokbGFuZ1snZXJyb3JfZmlsZXVwbG9hZCddID0gJ1Byb2JsZW0gYmVpbSBIb2NobGFkZW4gZGVyIHp1IGltcG9ydGllcmVuZGVuIERhdGVpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRtYXAnXSA9ICdUaGUgZmllbGQgbWFwIHlvdSBzcGVjaWZpZWQgaXMgaW52YWxpZCBvciBoYXMgYW4gZXJyb3InOwokbGFuZ1snZXJyb3JfaW5zZXJ0ZmFpbGVkJ10gPSAnRmVobGVyIGluIFplaWxlICVkLCBEYXRlbmJhbmtpbXBvcnQgZmVobGdlc2NobGFnZW4nOwokbGFuZ1snZXJyb3JfbG9va3VwX2ZhaWxlZCddID0gJ0RpZSBBYmZyYWdlIGRlciBQb3N0bGVpdHphaGwgaXN0IGZlaGxnZXNjaGxhZ2VuJzsKJGxhbmdbJ2Vycm9yX25vZmlsZSddID0gJ0VzIHd1cmRlIGtlaW5lIHp1IGltcG9ydGllcmVuZGUgRGF0ZWkgYW5nZWdlYmVuJzsKJGxhbmdbJ2Vycm9yX251bWZpZWxkcyddID0gJ0ZlaGxlciBpbiBaZWlsZSAlZCwgdW5nJnV1bWw7bHRpZ2UgQW56YWhsIGRlciBGZWxkZXInOwokbGFuZ1snZXJyb3JfcmVhZGZpbGUnXSA9ICdBIHByb2JsZW0gb2NjdXJyZWQgdHJ5aW5nIHRvIHJlYWQgdGhlIHVwbG9hZGVkIGZpbGUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUG9zdENvZGUgTG9va3VwJzsKJGxhbmdbJ2hlbHAnXSA9ICdOb2NoIHp1IGVybGVkaWdlbic7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnRpZXJlbic7CiRsYW5nWydpbXBvcnRfcG9saWN5X2Vycm9yJ10gPSAnRmVobGVybWVsZHVuZyBhdXNnZWJlbic7CiRsYW5nWydpbXBvcnRfcG9saWN5X2lnbm9yZSddID0gJ1N0aWxsIGlnbm9yaWVyZW4nOwokbGFuZ1snaW1wb3J0X3BvbGljeV9vdmVyd3JpdGUnXSA9ICdEaWUgT3JpZ2luYWx3ZXJ0ZSBlcnNldHplbic7CiRsYW5nWydpbmZvX2RlbGltZXRlciddID0gJ1NwZWNpZnkgdGhlIGNoYXJhY3RlcihzKSB0aGF0IHNlcGVyYXRlIGVhY2ggY29sdW1uIG9mIHRoZSBmaWxlLiAgVXNlIHRoZSBzdHJpbmcgW1RBQl0gdG8gaW5kaWNhdGUgdGhlIHRhYiBjaGFyYWN0ZXIuJzsKJGxhbmdbJ2luZm9fZmllbGRtYXAnXSA9ICdUaGlzIGZpZWxkIGRlZmluZXMgdGhlIG1hcCBiZXR3ZWVuIHJlcXVpcmVkIGZpZWxkcyBhbmQgaW1wb3J0IGZpbGUgY29sdW1ucy4gIFRoZSBmb3JtYXQgc2hvdWxkIGJlIG9mIHRoZSBmb3JtICZxdW90O25hbWU9bnVtYmVyJnF1b3Q7IHdoZXJlIHRoZSBuYW1lIGlzIG9uZSBvZiB0aGUgcG9zc2libGUgbmFtZXMgYmVsb3csIGFuZCB0aGUgbnVtYmVyIGlzIGEgY29sdW1uIG51bWJlciAoc3RhcnRpbmcgZnJvbSAxKS48YnIvPjxici8+DQo8aDU+RmllbGQgTmFtZXM6PC9oNT4NCjx1bD4NCiAgPGxpPmNvdW50cnkgLSB0aGUgY291bnRyeSBjb2RlPC9saT4NCiAgPGxpPnBvc3RhbCAtIHRoZSBwb3N0YWwgY29kZTwvbGk+DQogIDxsaT5wbGFjZW5hbWUgLSBBIGxvZ2ljYWwgcGxhY2UgbmFtZTwvbGk+DQogIDxsaT5sYXRpdHVkZSAtIHRoZSBsYXRpdHVkZSBpbiBkZWNpbWFsIGZvcm1hdDwvbGk+DQogIDxsaT5sb25naXR1ZGUgLSB0aGUgbG9uZ2l0dWRlIGluIGRlY2ltYWwgZm9ybWF0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ2xhdGl0dWRlJ10gPSAnQnJlaXRlbmdyYWQnOwokbGFuZ1snbG9uZ2l0dWRlJ10gPSAnTCZhdW1sO25nZW5ncmFkJzsKJGxhbmdbJ2xvb2t1cCddID0gJ0FiZnJhZ2UnOwokbGFuZ1snbG9va3VwX3N1Y2Nlc3NmdWwnXSA9ICdEaWUgQWJmcmFnZSB3YXIgZXJmb2xncmVpY2gnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHNpbXBsZSBtb2R1bGUgdG8gYWxsb3cgY29udmVydGluZyBwb3N0YWwgb3IgemlwIGNvZGVzIHRvIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUgYmFzZWQgb24gdGhlIGdlb25hbWVzIHNlcnZpY2UnOwokbGFuZ1snbXNnX2ltcG9ydF9udW1pbXBvcnRlZCddID0gJyVkIERhdGVucyZhdW1sO3R6ZSBpbXBvcnRpZXJ0JzsKJGxhbmdbJ29wbW9kZV9kYmZpcnN0J10gPSAnWnVlcnN0IGRpZSBEYXRlbmJhbmssIGRhbm4gb25saW5lIGFiZnJhZ2VuJzsKJGxhbmdbJ29wbW9kZV9kYmZpcnN0X2NhY2hlJ10gPSAnWnVlcnN0IGRpZSBEYXRlbmJhbmssIGRhbm4gb25saW5lIGFiZnJhZ2VuIChtaXQgWndpc2NoZW5zcGVpY2hlcnVuZyknOwokbGFuZ1snb3Btb2RlX2Rib25seSddID0gJ051ciBkaWUgRGF0ZW5iYW5rIGFiZnJhZ2VuJzsKJGxhbmdbJ29wbW9kZV9vbmxpbmVvbmx5J10gPSAnTnVyIG9ubGluZSBhYmZyYWdlbic7CiRsYW5nWydwbGFjZV9uYW1lJ10gPSAnUGxhY2UgTmFtZSc7CiRsYW5nWydwb3N0YWxfY29kZSddID0gJ1Bvc3RsZWl0emFobCAoUExaKSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RhcyBQb3N0Y29kZS1Nb2R1bCB3dXJkZSBpbnN0YWxsaWVydC4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBQb3N0Y29kZS1Nb2R1bCB3dXJkZSBkZWluc3RhbGxpZXJ0Lic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJldiddID0gJ1p1ciZ1dW1sO2NrJzsKJGxhbmdbJ3Byb21wdF9hc3N1bWVfY291bnRyeSddID0gJ0ZhbGxzIG5pY2h0IGZlc3RnZWxlZ3QsIGRpZXNlcyBMYW5kIHZlcndlbmRlbic7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnVHJlbm5lcic7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlX3BvbGljeSddID0gJ0R1cGxpY2F0ZWQgcG9zdGFsIGNvZGUgcG9saWN5JzsKJGxhbmdbJ3Byb21wdF9maWVsZG1hcCddID0gJ0ZpZWxkIE1hcCc7CiRsYW5nWydwcm9tcHRfZmlsZSddID0gJ0RhdGVpJzsKJGxhbmdbJ3Byb21wdF9vcGVyYXRpb25fbW9kZSddID0gJ09wZXJhdGlvbnMtTW9kdXMnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1dvbGxlbiBTaWUgZGllcyB3aXJrbGljaD8nOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MTc0NjI3MzYuMTE0NzUxMTg1Ni4xMjYyODA0NDYxLjEyNjI4MTA3NTAuNDAwJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2MjU2MDEwMC4zOTMuNy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vcHJvamVjdHMvZ2FsbGVyeXx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sncWNhJ10gPSAnMTI0NjQ2OTgxNS0zNzM3MTAxMS0xMTkzMTYyMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ0NoYW5nZWxvZyc7CiRsYW5nWydjb3VudHJ5J10gPSAnUGF5cyc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVwb3N0YWwnXSA9ICdBIGR1cGxpY2F0ZSBwb3N0YWwgY29kZSBlbnRyeSB3YXMgZm91bmQgYXQgbGluZSAlZCc7CiRsYW5nWydlcnJvcl9lbXB0eV9kZWxpbWl0ZXInXSA9ICdZb3UgbXVzdCBzcGVjaWZ5IGEgZGVsaW1pdGVyJzsKJGxhbmdbJ2Vycm9yX2VtcHR5X2ZpZWxkbWFwJ10gPSAnWW91IG11c3Qgc3BlY2lmeSBhIGZpZWxkIG1hcCc7CiRsYW5nWydlcnJvcl9maWxldXBsb2FkJ10gPSAnUHJvYmxlbSB1cGxvYWRpbmcgaW1wb3J0IGZpbGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZG1hcCddID0gJ1RoZSBmaWVsZCBtYXAgeW91IHNwZWNpZmllZCBpcyBpbnZhbGlkIG9yIGhhcyBhbiBlcnJvcic7CiRsYW5nWydlcnJvcl9pbnNlcnRmYWlsZWQnXSA9ICdFcnJvciBhdCBsaW5lICVkLCBkYXRhYmFzZSBpbnNlcnQgZmFpbGVkJzsKJGxhbmdbJ2Vycm9yX2xvb2t1cF9mYWlsZWQnXSA9ICdQb3N0YWwgY29kZSBsb29rdXAgZmFpbGVkJzsKJGxhbmdbJ2Vycm9yX25vZmlsZSddID0gJ05vIGltcG9ydCBmaWxlIHdhcyBzcGVjaWZpZWQnOwokbGFuZ1snZXJyb3JfbnVtZmllbGRzJ10gPSAnRXJyb3IgYXQgbGluZSAlZCwgaW5zdWZmaWNpZW50IG51bWJlciBvZiBmaWVsZHMnOwokbGFuZ1snZXJyb3JfcmVhZGZpbGUnXSA9ICdBIHByb2JsZW0gb2NjdXJyZWQgdHJ5aW5nIHRvIHJlYWQgdGhlIHVwbG9hZGVkIGZpbGUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUG9zdENvZGUgTG9va3VwJzsKJGxhbmdbJ2hlbHAnXSA9ICdUT0RPJzsKJGxhbmdbJ2ltcG9ydCddID0gJ0ltcG9ydGVyJzsKJGxhbmdbJ2ltcG9ydF9wb2xpY3lfZXJyb3InXSA9ICdSZXBvcnQgRXJyb3InOwokbGFuZ1snaW1wb3J0X3BvbGljeV9pZ25vcmUnXSA9ICdTaWxlbnRseSBJZ25vcmUnOwokbGFuZ1snaW1wb3J0X3BvbGljeV9vdmVyd3JpdGUnXSA9ICdSZXBsYWNlIE9yaWdpbmFsIFZhbHVlcyc7CiRsYW5nWydpbmZvX2RlbGltZXRlciddID0gJ1NwZWNpZnkgdGhlIGNoYXJhY3RlcihzKSB0aGF0IHNlcGVyYXRlIGVhY2ggY29sdW1uIG9mIHRoZSBmaWxlLiAgVXNlIHRoZSBzdHJpbmcgW1RBQl0gdG8gaW5kaWNhdGUgdGhlIHRhYiBjaGFyYWN0ZXIuJzsKJGxhbmdbJ2luZm9fZmllbGRtYXAnXSA9ICdUaGlzIGZpZWxkIGRlZmluZXMgdGhlIG1hcCBiZXR3ZWVuIHJlcXVpcmVkIGZpZWxkcyBhbmQgaW1wb3J0IGZpbGUgY29sdW1ucy4gIFRoZSBmb3JtYXQgc2hvdWxkIGJlIG9mIHRoZSBmb3JtICZxdW90O25hbWU9bnVtYmVyJnF1b3Q7IHdoZXJlIHRoZSBuYW1lIGlzIG9uZSBvZiB0aGUgcG9zc2libGUgbmFtZXMgYmVsb3csIGFuZCB0aGUgbnVtYmVyIGlzIGEgY29sdW1uIG51bWJlciAoc3RhcnRpbmcgZnJvbSAxKS48YnIvPjxici8+DQo8aDU+RmllbGQgTmFtZXM6PC9oNT4NCjx1bD4NCiAgPGxpPmNvdW50cnkgLSB0aGUgY291bnRyeSBjb2RlPC9saT4NCiAgPGxpPnBvc3RhbCAtIHRoZSBwb3N0YWwgY29kZTwvbGk+DQogIDxsaT5wbGFjZW5hbWUgLSBBIGxvZ2ljYWwgcGxhY2UgbmFtZTwvbGk+DQogIDxsaT5sYXRpdHVkZSAtIHRoZSBsYXRpdHVkZSBpbiBkZWNpbWFsIGZvcm1hdDwvbGk+DQogIDxsaT5sb25naXR1ZGUgLSB0aGUgbG9uZ2l0dWRlIGluIGRlY2ltYWwgZm9ybWF0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ2xhdGl0dWRlJ10gPSAnTGF0dGl0dWRlJzsKJGxhbmdbJ2xvbmdpdHVkZSddID0gJ0xvbmdpdHVkZSAnOwokbGFuZ1snbG9va3VwJ10gPSAnTG9va3VwJzsKJGxhbmdbJ2xvb2t1cF9zdWNjZXNzZnVsJ10gPSAnU3VjY2Vzc2Z1bCBMb29rdXAnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHNpbXBsZSBtb2R1bGUgdG8gYWxsb3cgY29udmVydGluZyBwb3N0YWwgb3IgemlwIGNvZGVzIHRvIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUgYmFzZWQgb24gdGhlIGdlb25hbWVzIHNlcnZpY2UnOwokbGFuZ1snbXNnX2ltcG9ydF9udW1pbXBvcnRlZCddID0gJ0ltcG9ydGVkICVkIHJlY29yZHMnOwokbGFuZ1snb3Btb2RlX2RiZmlyc3QnXSA9ICdEYXRhYmFzZSBGaXJzdCwgdGhlbiBPbmxpbmUnOwokbGFuZ1snb3Btb2RlX2RiZmlyc3RfY2FjaGUnXSA9ICdEYXRhYmFzZSBGaXJzdCwgdGhlbiBPbmxpbmUgd2l0aCBDYWNoaW5nJzsKJGxhbmdbJ29wbW9kZV9kYm9ubHknXSA9ICdEYXRhYmFzZSBPbmx5JzsKJGxhbmdbJ29wbW9kZV9vbmxpbmVvbmx5J10gPSAnT25saW5lIGxvb2t1cHMgb25seSc7CiRsYW5nWydwbGFjZV9uYW1lJ10gPSAnTm9tIGR1IGxpZXUnOwokbGFuZ1sncG9zdGFsX2NvZGUnXSA9ICdQb3N0YWwgQ29kZSAvIFppcCBDb2RlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFBvc3Rjb2RlIG1vZHVsZSBoYXMgYmVlbiBpbnN0YWxsZWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBQb3N0Y29kZSBtb2R1bGUgaGFzIGJlZW4gdW5pbnN0YWxsJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1sncHJldiddID0gJ1ByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50JzsKJGxhbmdbJ3Byb21wdF9hc3N1bWVfY291bnRyeSddID0gJ0lmIG5vdCBzcGVjaWZpZWQsIGFzc3VtZSB0aGlzIGNvdW50cnknOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0RlbGltaXRlcic7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlX3BvbGljeSddID0gJ0R1cGxpY2F0ZWQgcG9zdGFsIGNvZGUgcG9saWN5JzsKJGxhbmdbJ3Byb21wdF9maWVsZG1hcCddID0gJ0ZpZWxkIE1hcCc7CiRsYW5nWydwcm9tcHRfZmlsZSddID0gJ0ZpY2hpZXInOwokbGFuZ1sncHJvbXB0X29wZXJhdGlvbl9tb2RlJ10gPSAnT3BlcmF0aW9uIE1vZGUnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPyc7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTkzMTM0NjA3Ny4xMjY5ODE3NjQ5LjEyNzMyNjU2MjYuMTI3MzI2NzU1OC4xNCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzMyNjc4MjIuMTQuNi51dG1jY249KG9yZ2FuaWMpfHV0bWNzcj1nb29nbGV8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSBmcmFuY2FpcyBhZG1pbnx1dG1jbWQ9b3JnYW5pYyc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjExODUxMDE4LTEyNjk4MTc2NDkxNzYnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjMuMTAuMTI3MzI2NzU1OCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ0VuZHJpbmdzbG9nZyc7CiRsYW5nWydjb3VudHJ5J10gPSAnTGFuZCc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVwb3N0YWwnXSA9ICdFbiBkdXBsaWthdCBwb3N0bnVtbWVyIG9wcGYmb3NsYXNoO3JpbmcgYmxlIGZ1bm5ldCBwJmFyaW5nOyBsaW5qZSAlZCc7CiRsYW5nWydlcnJvcl9lbXB0eV9kZWxpbWl0ZXInXSA9ICdEdSBtJmFyaW5nOyBhbmdpIGV0IHNraWxsZXRlZ24nOwokbGFuZ1snZXJyb3JfZW1wdHlfZmllbGRtYXAnXSA9ICdEdSBtJmFyaW5nOyBhbmdpIGV0IGZlbHRrYXJ0JzsKJGxhbmdbJ2Vycm9yX2ZpbGV1cGxvYWQnXSA9ICdQcm9ibGVtIG1lZCBvcHBsYXN0aW5nIGF2IGltcG9ydGZpbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkbWFwJ10gPSAnRmVsdGthcnRldCBkdSBvcHBnYSBlciB1Z3lsZGlnIGVsbGVyIGlubmVob2xkZXIgZW4gZmVpbCc7CiRsYW5nWydlcnJvcl9pbnNlcnRmYWlsZWQnXSA9ICdGZWlsIHAmYXJpbmc7IGxpbmplICVkLCBpbm5zZXR0aW5nIGkgZGF0YWJhc2UgZmVpbGV0JzsKJGxhbmdbJ2Vycm9yX2xvb2t1cF9mYWlsZWQnXSA9ICdPcHBzbGFnIGF2IHBvc3RudW1tZXIgbWlzbHlrdGVzJzsKJGxhbmdbJ2Vycm9yX25vZmlsZSddID0gJ0luZ2VuIGltcG9ydGZpbCBibGUgc3Blc2lmaXNlcnQnOwokbGFuZ1snZXJyb3JfbnVtZmllbGRzJ10gPSAnRmVpbCBwJmFyaW5nOyBsaW5qZSUgZCwgaWtrZSBzYW1zdmFyZW5kZSBhbnRhbGwgZmVsdCc7CiRsYW5nWydlcnJvcl9yZWFkZmlsZSddID0gJ0V0IHByb2JsZW0gb3Bwc3RvZCB2ZWQgZm9ycyZvc2xhc2g7ayBwJmFyaW5nOyAmYXJpbmc7IGxlc2UgZGVuIG9wcGxhc3RlZGUgZmlsZW4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUG9zdG51bW1lciBvcHBzbGFnJzsKJGxhbmdbJ2hlbHAnXSA9ICdUT0RPICc7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnQgJzsKJGxhbmdbJ2ltcG9ydF9wb2xpY3lfZXJyb3InXSA9ICdSYXBwb3J0ZmVpbCc7CiRsYW5nWydpbXBvcnRfcG9saWN5X2lnbm9yZSddID0gJ1N0aWxsZSBpZ25vcmVyaW5nJzsKJGxhbmdbJ2ltcG9ydF9wb2xpY3lfb3ZlcndyaXRlJ10gPSAnRXJzdGF0dCBvcHByaW5uZWxpZ2UgdmVyZGllcic7CiRsYW5nWydpbmZvX2RlbGltZXRlciddID0gJ09wcGdpIHRlZ24gc29tIHNraWxsZXIgaHZlciBrb2xvbm5lIGkgZmlsZW4uIEJydWsgc3RyZW5nZW4gW1RBQl0gZm9yICZhcmluZzsgaW5kaWtlcmUgdGFidWxhdG9ydGVnbi4nOwokbGFuZ1snaW5mb19lZmZlY3RpdmVfY2hhcnMnXSA9ICdOb2VuIHJlZ2lvbmVyIDxlbT4oQ2FuYWRhKTwvZW0+IGhhciBrYW5za2plIGxhbmdlIHBvc3RudW1tZXIgZm9yICZhcmluZzsgaWRlbnRpZmlzZXJlIHNwZXNpZmlra2Ugb21yJmFyaW5nO2RlciwgbWVuIGRhdGFiYXNlbiBpbm5laG9sZGVyIGt1biBuJm9zbGFzaDtrbGVyIGZvciBwcmVmaWtzZXIgYXYgZW4gdmlzcyBsZW5nZGUuIERldHRlIGZlbHRldCB2aWwgZWZmZWt0aXZ0IGZvcmtvcnRlIGRldCBvcHBnaXR0ZSBwb3N0bnVtbWVyZXQgdGlsIGFudGFsbCBlZmZla3RpdmUgdGVnbiBmJm9zbGFzaDtyIGZvcmVzcCZvc2xhc2g7cnNlbGVuIHNlbmRlcyB0aWwgZGF0YWJhc2VuLic7CiRsYW5nWydpbmZvX2ZpZWxkbWFwJ10gPSAnVGhpcyBmaWVsZCBkZWZpbmVzIHRoZSBtYXAgYmV0d2VlbiByZXF1aXJlZCBmaWVsZHMgYW5kIGltcG9ydCBmaWxlIGNvbHVtbnMuICBUaGUgZm9ybWF0IHNob3VsZCBiZSBvZiB0aGUgZm9ybSAmcXVvdDtuYW1lPW51bWJlciZxdW90OyB3aGVyZSB0aGUgbmFtZSBpcyBvbmUgb2YgdGhlIHBvc3NpYmxlIG5hbWVzIGJlbG93LCBhbmQgdGhlIG51bWJlciBpcyBhIGNvbHVtbiBudW1iZXIgKHN0YXJ0aW5nIGZyb20gMSkuPGJyLz48YnIvPg0KPGg1PkZpZWxkIE5hbWVzOjwvaDU+DQo8dWw+DQogIDxsaT5jb3VudHJ5IC0gdGhlIGNvdW50cnkgY29kZTwvbGk+DQogIDxsaT5wb3N0YWwgLSB0aGUgcG9zdGFsIGNvZGU8L2xpPg0KICA8bGk+cGxhY2VuYW1lIC0gQSBsb2dpY2FsIHBsYWNlIG5hbWU8L2xpPg0KICA8bGk+bGF0aXR1ZGUgLSB0aGUgbGF0aXR1ZGUgaW4gZGVjaW1hbCBmb3JtYXQ8L2xpPg0KICA8bGk+bG9uZ2l0dWRlIC0gdGhlIGxvbmdpdHVkZSBpbiBkZWNpbWFsIGZvcm1hdDwvbGk+DQo8L3VsPic7CiRsYW5nWydsYXRpdHVkZSddID0gJ0JyZWRlZ3JhZChMYXRpdHVkZSknOwokbGFuZ1snbG9uZ2l0dWRlJ10gPSAnTGVuZ2RlZ3JhZChMb25naXR1ZGUpJzsKJGxhbmdbJ2xvb2t1cCddID0gJ09wcHNsYWcnOwokbGFuZ1snbG9va3VwX3N1Y2Nlc3NmdWwnXSA9ICdWZWxseWtrZXQgb3Bwc2xhZyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VuIGVua2VsIG1vZHVsIGZvciAmYXJpbmc7IHRpbGxhdGUga29udmVydGVyaW5nIGF2IHBvc3QtIGVsbGVyIHppcC1udW1tZXIgdGlsIGJyZWRkZWdyYWQgb2cgbGVuZ2RlZ3JhZCBiYXNlcnQgcCZhcmluZzsgZ2VvbmFtZXMgdGplbmVzdGVuJzsKJGxhbmdbJ21zZ19pbXBvcnRfbnVtaW1wb3J0ZWQnXSA9ICdJbXBvcnRlcnRlICVkIHBvc3Rlcic7CiRsYW5nWydvcG1vZGVfZGJmaXJzdCddID0gJ0RhdGFiYXNlIGYmb3NsYXNoO3JzdCAtIHMmYXJpbmc7IG9ubGluZSc7CiRsYW5nWydvcG1vZGVfZGJmaXJzdF9jYWNoZSddID0gJ0RhdGFiYXNlIGYmb3NsYXNoO3JzdCAtIHMmYXJpbmc7IG9ubGluZSBtZWQgbWVsbG9tbGFncmluZyc7CiRsYW5nWydvcG1vZGVfZGJvbmx5J10gPSAnS3VuIGRhdGFiYXNlJzsKJGxhbmdbJ29wbW9kZV9vbmxpbmVvbmx5J10gPSAnS3VuIG9ubGluZSBvcHBzbGFnJzsKJGxhbmdbJ3BsYWNlX25hbWUnXSA9ICdTVGVkc25hdm4nOwokbGFuZ1sncG9zdGFsX2NvZGUnXSA9ICdQb3N0bnVtbWVyIC8gWmlwLWtvZGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQb3N0Y29kZSBtb2R1bGVuIGhhciBibGl0dCBpbnN0YWxsZXJ0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdQb3N0Y29kZSBtb2R1bGVuIGhhciBibGl0dCBhdmluc3RhbGxlcnQnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3ByZXYnXSA9ICdUaWxiYWtlJzsKJGxhbmdbJ3Byb21wdF9hc3N1bWVfY291bnRyeSddID0gJ09tIGlra2Ugc3Blc2lmaXNlcnQgcyZhcmluZzsgYW5udGEgZGV0dGUgbGFuZCc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnQWRza2lsbGVyJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVfcG9saWN5J10gPSAnUmVnbGVyIGZvciBkdXBsaWthdGUgcG9zdG51bW1lcic7CiRsYW5nWydwcm9tcHRfZWZmZWN0aXZlX2NoYXJzJ10gPSAnQW50YWxsIGVmZmVrdGl2ZSB0ZWduIGkgcG9zdG51bW1lciBzJm9zbGFzaDtrJzsKJGxhbmdbJ3Byb21wdF9maWVsZG1hcCddID0gJ0ZlbHRrYXJ0JzsKJGxhbmdbJ3Byb21wdF9maWxlJ10gPSAnRmlsJzsKJGxhbmdbJ3Byb21wdF9vcGVyYXRpb25fbW9kZSddID0gJ0Z1bmtzam9uc21vZHVzJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGdqJm9zbGFzaDtyZSBkZXR0ZT8nOwokbGFuZ1snc3VibWl0J10gPSAnU2VuZCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODMyODczNDkuMzIwMi43NC51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI4NDIyODg5NS4xMjg0MjMzNzk5LjMyNDgnOwokbGFuZ1sncWNhJ10gPSAnMTIxMDk3MTY5MC0yNzMwODA3My04MTk1MjgzMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjg0MjMzNzk5JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ1dpanppZ2luZ2xvZyc7CiRsYW5nWydjb3VudHJ5J10gPSAnTGFuZCc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVwb3N0YWwnXSA9ICdFZW4gZHViYmVsZSBwb3N0Y29kZSBpcyBnZXZvbmRlbiBvcCByZWdlbCAlZCc7CiRsYW5nWydlcnJvcl9lbXB0eV9kZWxpbWl0ZXInXSA9ICdVIG1vZXQgZWVuIHNjaGVpZGluZ3NrYXJha3RlciBzcGVjaWZpY2VyZW4nOwokbGFuZ1snZXJyb3JfZW1wdHlfZmllbGRtYXAnXSA9ICdVIG1vZXQgZWVuIGxhbmRrYWFydCBzcGVjaWZpY2VyZW4nOwokbGFuZ1snZXJyb3JfZmlsZXVwbG9hZCddID0gJ0ZvdXQgdGlqZGVucyBoZXQgdXBsb2FkZW4gdmFuIGhldCBpbXBvcnQgYmVzdGFuZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkbWFwJ10gPSAnRGUgbGFuZGthYXJ0IGRpZSB1IGhlZWZ0IGluZ2VzdGVsZCBpcyB2ZXJrZWVyZCBvZiBiZXppdCBlZW4gZm91dCc7CiRsYW5nWydlcnJvcl9pbnNlcnRmYWlsZWQnXSA9ICdGb3V0IGluIHJlZ2VsICVkLCBkYXRhYmFzZSBvcG5hbWUgbWlzbHVrdCc7CiRsYW5nWydlcnJvcl9sb29rdXBfZmFpbGVkJ10gPSAnUG9zdGNvZGUgb3B6b2VrZW4gaXMgbWlzbHVrdCc7CiRsYW5nWydlcnJvcl9ub2ZpbGUnXSA9ICdFciBpcyBnZWVuIHRlIGltcG9ydGVyZW4gYmVzdGFuZCBiZW5vZW1kJzsKJGxhbmdbJ2Vycm9yX251bWZpZWxkcyddID0gJ0ZvdXQgaW4gcmVnZWwgJWQsIHRlIHdlaW5pZyB2ZWxkZW4gYmVub2VtZCc7CiRsYW5nWydlcnJvcl9yZWFkZmlsZSddID0gJ0VyIGlzIGVlbiBmb3V0IG9wZ2V0cmVkZW4gdGlqZGVucyBoZXQgbGV6ZW4gdmFuIGhldCB0ZSB1cGxvYWRlbiBiZXN0YW5kJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Bvc3RDb2RlIFpvZWtlbic7CiRsYW5nWydoZWxwJ10gPSAnVEUgRE9FTic7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnRlZXInOwokbGFuZ1snaW1wb3J0X3BvbGljeV9lcnJvciddID0gJ1JhcHBvcnRlZXIgZWVuIGZvdXQnOwokbGFuZ1snaW1wb3J0X3BvbGljeV9pZ25vcmUnXSA9ICdTdGlsIG5lZ2VyZW4nOwokbGFuZ1snaW1wb3J0X3BvbGljeV9vdmVyd3JpdGUnXSA9ICdWZXJ2YW5nIE9yaWdpbmVsZSBXYWFyZGVuJzsKJGxhbmdbJ2luZm9fZGVsaW1ldGVyJ10gPSAnR2VlZiBkZSBrYXJha3RlcihzKSBhYW4gZGllIGVsa2Uga29sb20gc2NoZWlkdC4gR2VicnVpayBbVEFCXSBvbSBhYW4gdGUgZ2V2ZW4gZGF0IGVlbiB0YWIgYWxzIHNjaGVpZGVyIGRpZW50Lic7CiRsYW5nWydpbmZvX2VmZmVjdGl2ZV9jaGFycyddID0gJ1NvbWUgcmVnaW9ucyA8ZW0+KENhbmFkYSk8L2VtPiBtYXkgaGF2ZSBsb25nIHBvc3Rjb2RlcyB0byBpZGVudGlmeSBzcGVjaWZpYyByZWdpb25zLCBidXQgdGhlIGRhdGFiYXNlIG9ubHkgY29udGFpbnMga2V5cyBmb3IgcHJlZml4ZXMgb2YgYSBjZXJ0YWluIGxlbmd0aC4gIFRoaXMgZmllbGQgd2lsbCBlZmZlY3RpdmVseSB0cmltIHRoZSBzdXBwbGllZCBwb3N0Y29kZSB0byB0aGUgbnVtYmVyIG9mIGVmZmVjdGl2ZSBjaGFyYWN0ZXJzIGJlZm9yZSBzdWJtaXR0aW5nIHRoZSBkYXRhYmFzZSByZXF1ZXN0LiAnOwokbGFuZ1snaW5mb19maWVsZG1hcCddID0gJ0RpdCB2ZWxkIGRlZmluaWVlcnQgZGUga2FhcnQgdHVzc2VuIHZlcnBsaWNodGUgdmVsZGVuIGVuIGltcG9ydCBrb2xvbW1lbi4gSGV0IGZvcm1hYXQgZGllbnQgdGUgemlqbiAmcXVvdDtuYWFtPW51bW1lciZxdW90OyB3YWFyYmlqIGRlIG5hYW0gZWVuIHZhbiBkZSBvbmRlcnN0YWFuZGUgbW9nZWxpamtlIHdhYXJkZW4gYmV2YXQgZW4gbnVtbWVyIGhldCBudW1tZXIgdmFuIGRlIGtvbG9tIGlzIChzdGFydGVuZCBtZXQgMSk8YnIvPjxici8+DQo8aDU+VmVsZCBOYW1lbjo8L2g1Pg0KPHVsPg0KICA8bGk+Y291bnRyeSAtIGxhbmQgY29kZTwvbGk+DQogIDxsaT5wb3N0YWwgLSBwb3N0IGNvZGU8L2xpPg0KICA8bGk+cGxhY2VuYW1lIC0gZWVuIGxvZ2lzY2hlIHBsYWF0cyBuYWFtPC9saT4NCiAgPGxpPmxhdGl0dWRlIC0gZGUgbGF0aXR1ZGUgaW4gZGVjaW1hYWwgZm9ybWFhdDwvbGk+DQogIDxsaT5sb25naXR1ZGUgLSBkZSBsb25naXR1ZGUgaW4gZGVjaW1hYWwgZm9ybWFhdDwvbGk+DQo8L3VsPic7CiRsYW5nWydsYXRpdHVkZSddID0gJ0xhdGl0dWRlICc7CiRsYW5nWydsb25naXR1ZGUnXSA9ICdMb25naXR1ZGUgJzsKJGxhbmdbJ2xvb2t1cCddID0gJ09wem9la2VuJzsKJGxhbmdbJ2xvb2t1cF9zdWNjZXNzZnVsJ10gPSAnR2VzbGFhZ2RlIHpvZWtvcGRyYWNodCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBlZW52b3VkaWdlIG1vZHVsZSBkaWUgcG9zdGNvZGVzIG9wem9la3Qgb3AgYmFzaXMgdmFuIGxhdGl0dWRlIGVuIGxvbmdpdHVkZSBkb29yIGdlYnJ1aWsgdmFuIGdlZ2V2ZW5zIHZhbiBkZSBnZW9uYW1lcyBzZXJ2aWNlJzsKJGxhbmdbJ21zZ19pbXBvcnRfbnVtaW1wb3J0ZWQnXSA9ICclZCBSZWNvcmRzIGdlJml1bWw7bXBvcnRlZXJkJzsKJGxhbmdbJ29wbW9kZV9kYmZpcnN0J10gPSAnRWVyc3QgRGF0YWJhc2UsIGRhbiBPbmxpbmUnOwokbGFuZ1snb3Btb2RlX2RiZmlyc3RfY2FjaGUnXSA9ICdFZXJzdCBEYXRhYmFzZSwgZGFuIE9ubGluZSBtZXQgQnVmZmVyZW4nOwokbGFuZ1snb3Btb2RlX2Rib25seSddID0gJ0FsbGVlbiBEYXRhYmFzZSc7CiRsYW5nWydvcG1vZGVfb25saW5lb25seSddID0gJ0FsbGVlbiBPbmxpbmUgWm9la2VuJzsKJGxhbmdbJ3BsYWNlX25hbWUnXSA9ICdQbGFhdHNuYWFtJzsKJGxhbmdbJ3Bvc3RhbF9jb2RlJ10gPSAnUG9zdGNvZGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZSBQb3N0Y29kZSBtb2R1bGUgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBQb3N0Y29kZSBtb2R1bGUgaXMgZ2VkZSZpdW1sO25zdGFsbGVlcmQnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdWb29ya2V1cmVuJzsKJGxhbmdbJ3ByZXYnXSA9ICdUZXJ1Zyc7CiRsYW5nWydwcm9tcHRfYXNzdW1lX2NvdW50cnknXSA9ICdJbmRpZW4gbmlldCBnZXNwZWNpZmljZWVyZCwgZ2VicnVpayBkaXQgbGFuZCc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnU2NoZWlkZXInOwokbGFuZ1sncHJvbXB0X2R1cGxpY2F0ZV9wb2xpY3knXSA9ICdEdWJiZWxlIHBvc3Rjb2RlIGJlbGVpZCc7CiRsYW5nWydwcm9tcHRfZWZmZWN0aXZlX2NoYXJzJ10gPSAnQWFudGFsIGFjdGlldmUga2FyYWt0ZXJzIGluIGVlbiBwb3N0Y29kZSB6b2Vrb3BkcmFjaHQnOwokbGFuZ1sncHJvbXB0X2ZpZWxkbWFwJ10gPSAnTGFuZGthYXJ0JzsKJGxhbmdbJ3Byb21wdF9maWxlJ10gPSAnQmVzdGFuZCc7CiRsYW5nWydwcm9tcHRfb3BlcmF0aW9uX21vZGUnXSA9ICdCZWRyaWpmc21vZGUnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgd2lsdCBkb2VuPyc7CiRsYW5nWydzdWJtaXQnXSA9ICdVaXR2b2VyZW4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzM4ODk2MDM5LjEyNzg4NDAwMDAuMTI4MTg4MTE4OS4xMjgxODg2NDY2LjE3Nic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODE4MTQyNjEuMTcyLjM4LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sncWNhJ10gPSAnUDAtODU0Mzg3MDQzLTEyNzg4NDAwMDA5MTcnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI4MTg4NjQ2Nic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokZGIgPSYgJHRoaXMtPkdldERiKCk7CgokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiRmbGRzID0gIgogICAgICAgIGNvdW50cnkgICBDKDIpIEtFWSwKICAgICAgICBwb3N0YWwgICAgQygxMCkgS0VZLAogICAgICAgIHBsYWNlICAgICBDKDI1NSksCiAgICAgICAgc3RhdGUgICAgIEMoMjApLAogICAgICAgIGxhdGl0dWRlICBGLAogICAgICAgIGxvbmdpdHVkZSBGCiI7CgoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Bvc3Rjb2RlIiwKCQkJCSAgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdtYW5hZ2VfcG9zdGNvZGVzJywnTWFuYWdlIFBvc3RhbCBDb2RlcycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXNzdW1lX2NvdW50cnknLCdVUycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb3BlcmF0aW9uX21vZGUnLDMpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2RlbGltZXRlcicsIltUQUJdIik7CiRkZmx0X2ZpZWxkbWFwID0gPDw8RU9UCmNvdW50cnk9MQpwb3N0YWw9MgpwbGFjZW5hbWU9MwpzdGF0ZT01CmxhdGl0dWRlPTkKbG9uZ2l0dWRlPTEwCkVPVDsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9maWVsZG1hcCcsJGRmbHRfZmllbGRtYXApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb3BlcmF0aW9uX21vZGUnLDEpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Bvc3Rjb2RlIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignbWFuYWdlX3Bvc3Rjb2RlcycpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/Postcode.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokY2dleHRlbnNpb25zID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsCgkJCSAgICAgICdDR0V4dGVuc2lvbnMnLCdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dleHRlbnNpb25zICkgKQp7CiAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICByZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwoKY2xhc3MgUG9zdGNvZGUgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnUG9zdGNvZGUnOwogIH0KCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogIH0KCQogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4yLjEnOwogIH0KCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvaGVscC5pbmMnKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gVFJVRTsgfQogIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gVFJVRTsgfQoKICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMCc7CiAgfQoKICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsKICB9CgogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CiAgCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICB7CiAgICByZXR1cm4gJ2V4dGVuc2lvbnMnOwogIH0KCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsKICB9CgogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS4zMScpOwogIH0KCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS4xMS4yIjsKICB9CgkKICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2hvaWNlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25leHQnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJldicsQ0xFQU5fU1RSSU5HKTsKICB9CgogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7CiAgfQkKCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9kYl9sb29rdXBfemlwKCRjb3VudHJ5LCRwb3N0YWwpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Bvc3Rjb2RlCiAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGNvdW50cnkgPSA/IEFORCBwb3N0YWwgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNvdW50cnksJHBvc3RhbCkpOwogICAgCiAgICBpZiggISRyb3cgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gJHJvdzsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfb25saW5lX2xvb2t1cF96aXAoJGNvdW50cnksJHBvc3RhbCkKICB7CiAgICAkcG9zdF91cmwgPSAnaHR0cDovL2FwaS5nZW9uYW1lcy5vcmcvcG9zdGFsQ29kZVNlYXJjaEpTT04nOwogICAgJHVzZXJuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dlb25hbWVzX3VzZXJuYW1lJyk7CiAgICBpZiggISR1c2VybmFtZSApIHJldHVybiBGQUxTRTsKICAgICRwb3N0X3N0cmluZyA9ICJ1c2VybmFtZT17JHVzZXJuYW1lfSZjb3VudHJ5PXskY291bnRyeX0mcG9zdGFsY29kZV9zdGFydHNXaXRoPXskcG9zdGFsfSZtYXhSb3dzPTEiOwogICAgJHJlcXVlc3QgPSBjdXJsX2luaXQoJHBvc3RfdXJsKTsgLy8gaW5pdGlhdGUgY3VybCBvYmplY3QKICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX0hFQURFUiwgMCk7IC8vIHNldCB0byAwIHRvIGVsaW1pbmF0ZSBoZWFkZXIgaW5mbyBmcm9tIHJlc3BvbnNlCiAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IC8vIFJldHVybnMgcmVzcG9uc2UgZGF0YSBpbnN0ZWFkIG9mIFRSVUUoMSkKICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX1BPU1RGSUVMRFMsICRwb3N0X3N0cmluZyk7IC8vIHVzZSBIVFRQIFBPU1QgdG8gc2VuZCBmb3JtIGRhdGEKICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBGQUxTRSk7IC8vIHVuY29tbWVudCB0aGlzIGxpbmUgaWYgeW91IGdldCBubyBnYXRld2F5IHJlc3BvbnNlLgogICAgJHBvc3RfcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJHJlcXVlc3QpOyAvLyBleGVjdXRlIGN1cmwgcG9zdCBhbmQgc3RvcmUgcmVzdWx0cyBpbiAkcG9zdF9yZXNwb25zZQogICAgY3VybF9jbG9zZSAoJHJlcXVlc3QpOyAvLyBjbG9zZSBjdXJsIG9iamVjdAoKICAgICRqc29uID0ganNvbl9kZWNvZGUoJHBvc3RfcmVzcG9uc2UsdHJ1ZSk7CiAgICBpZiggIWlzX2FycmF5KCRqc29uKSB8fCAhaXNfYXJyYXkoJGpzb25bJ3Bvc3RhbENvZGVzJ10pIHx8ICFjb3VudCgkanNvblsncG9zdGFsQ29kZXMnXSkgKSB7CiAgICAgICRtc2cgPSAnVW5rbm93biBlcnJvciBvY2N1cnJlZCc7CiAgICAgIGlmKCBpc19hcnJheSgkanNvbikgJiYgaXNzZXQoJGpzb25bJ3N0YXR1cyddKSAmJiBpc3NldCgkanNvblsnc3RhdHVzJ11bJ21lc3NhZ2UnXSkgKSB7CgkkbXNnID0gJ0VSUk9SOiAnLiRqc29uWydzdGF0dXMnXVsnbWVzc2FnZSddOwogICAgICB9CiAgICAgIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJG1zZyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICAgICRkYXRhID0gYXJyYXkoJ2NvdW50cnknPT4kanNvblsncG9zdGFsQ29kZXMnXVswXVsnY291bnRyeUNvZGUnXSwKCQkgICdwb3N0YWwnPT4kanNvblsncG9zdGFsQ29kZXMnXVswXVsncG9zdGFsQ29kZSddLAoJCSAgJ3N0YXRlJz0+JGpzb25bJ3Bvc3RhbENvZGVzJ11bMF1bJ2FkbWluQ29kZTEnXSwKCQkgICdwbGFjZSc9PiRqc29uWydwb3N0YWxDb2RlcyddWzBdWydwbGFjZU5hbWUnXSwKCQkgICdsYXRpdHVkZSc9PiRqc29uWydwb3N0YWxDb2RlcyddWzBdWydsYXQnXSwKCQkgICdsb25naXR1ZGUnPT4kanNvblsncG9zdGFsQ29kZXMnXVswXVsnbG5nJ10sCgkJICApOwogICAgcmV0dXJuICRkYXRhOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9zdG9yZV96aXAoJGRhdGEpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wb3N0Y29kZSAoY291bnRyeSxwb3N0YWwscGxhY2Usc3RhdGUsbGF0aXR1ZGUsbG9uZ2l0dWRlKQogICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJGRhdGFbJ2NvdW50cnknXSwkZGF0YVsncG9zdGFsJ10sJGRhdGFbJ3BsYWNlJ10sJGRhdGFbJ3N0YXRlJ10sJGRhdGFbJ2xhdGl0dWRlJ10sJGRhdGFbJ2xvbmdpdHVkZSddKSk7CiAgICBpZiggISRkYnIgKSAKICAgICAgewoJZWNobyAiREVCVUc6ICRxdWVyeTxici8+IjsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgICByZXR1cm4gVFJVRTsKICB9ICAKCiAgcHVibGljIGZ1bmN0aW9uIExvb2t1cF9aaXAoJGNvdW50cnksJHBvc3RhbCwkZWNoYXJzID0gJycpCiAgewogICAgaWYoIGVtcHR5KCRjb3VudHJ5KSB8fCBlbXB0eSgkcG9zdGFsKSApIHsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAgIGlmKCAkZWNoYXJzID09ICcnIHx8ICFpc19udW1lcmljKCRlY2hhcnMpICkgewogICAgICAkZWNoYXJzID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZWZmZWN0aXZlX2NoYXJzJyk7CiAgICB9CiAgICBpZiggJGVjaGFycyA+IDAgKSB7CiAgICAgICRwb3N0YWwgPSBzdWJzdHIoJHBvc3RhbCwwLCRlY2hhcnMpOwogICAgfQoKICAgICRvcG1vZGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb3BlcmF0aW9uX21vZGUnLDApOwogICAgJGRhdGEgPSAnJzsKICAgIHN3aXRjaCggJG9wbW9kZSApIHsKICAgIGNhc2UgMTogLy8gZGJvbmx5CiAgICAgICRkYXRhID0gJHRoaXMtPl9kYl9sb29rdXBfemlwKCRjb3VudHJ5LCRwb3N0YWwpOwogICAgICBicmVhazsKCiAgICBjYXNlIDI6IC8vIGRiZmlyc3QKICAgICAgJGRhdGEgPSAkdGhpcy0+X2RiX2xvb2t1cF96aXAoJGNvdW50cnksJHBvc3RhbCk7CiAgICAgIGlmKCAkZGF0YSA9PT0gRkFMU0UgKSB7CgkkZGF0YSA9ICR0aGlzLT5fb25saW5lX2xvb2t1cF96aXAoJGNvdW50cnksJHBvc3RhbCk7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAzOiAvLyBkYmZpcnN0X2NhY2hlCiAgICAgICRkYXRhID0gJHRoaXMtPl9kYl9sb29rdXBfemlwKCRjb3VudHJ5LCRwb3N0YWwpOwogICAgICBpZiggJGRhdGEgPT09IEZBTFNFICkgewoJJGRhdGEgPSAkdGhpcy0+X29ubGluZV9sb29rdXBfemlwKCRjb3VudHJ5LCRwb3N0YWwpOwoJaWYoICRkYXRhICE9PSBGQUxTRSApIHsKCSAgJHRoaXMtPl9zdG9yZV96aXAoJGRhdGEpOwoJfQogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgNDogLy8gb25saW5lb25seQogICAgICAkZGF0YSA9ICR0aGlzLT5fb25saW5lX2xvb2t1cF96aXAoJGNvdW50cnksJHBvc3RhbCk7CiAgICAgIGJyZWFrOwogICAgfQoKICAgIHJldHVybiAkZGF0YTsKICB9Cgp9IC8vIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBvc3Rjb2RlIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjb252ZXJzaW9uIG9mIHBvc3RhbCBjb2RlcwojICBmcm9tIHRoZSBnZW9uYW1lIHNlcnZpY2UuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_import_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2RlbGltaXRlcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1kZWxpbWV0ZXIiIHNpemU9IjYiIG1heGxlbmd0aD0iNiIgdmFsdWU9InskbW9kLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfZGVsaW1ldGVyJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpbGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9ZmlsZSIgc2l6ZT0iNDAiIHZhbHVlPSIiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19kZWxpbWV0ZXInKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZHVwbGljYXRlX3BvbGljeScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9aW1wb3J0X3BvbGljeSI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRwb2xpY2llc30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9maWVsZG1hcCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9ZmllbGRtYXAiIHJvd3M9IjYiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfZmllbGRtYXAnKX08L3RleHRhcmVhPgogIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fZmllbGRtYXAnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_lookup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGg0PnskbW9kLT5MYW5nKCdsb29rdXBfc3VjY2Vzc2Z1bCcpfTwvaDQ+Cjx1bD4KICA8bGk+eyRtb2QtPkxhbmcoJ2NvdW50cnknKX06IHskZGF0YS5jb3VudHJ5fTwvbGk+CiAgPGxpPnskbW9kLT5MYW5nKCdwb3N0YWxfY29kZScpfTogeyRkYXRhLnBvc3RhbH08L2xpPgogIDxsaT57JG1vZC0+TGFuZygncGxhY2VfbmFtZScpfTogeyRkYXRhLnBsYWNlfTwvbGk+CiAgPGxpPnskbW9kLT5MYW5nKCdsYXRpdHVkZScpfTogeyRkYXRhLmxhdGl0dWRlfTwvbGk+CiAgPGxpPnskbW9kLT5MYW5nKCdsb25naXR1ZGUnKX06IHskZGF0YS5sb25naXR1ZGV9PC9saT4KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_lookup_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY291bnRyeScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskaW5wdXRfY291bnRyeX0KICA8cD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Bvc3RhbF9jb2RlJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9cG9zdGFsIiB2YWx1ZT0iIiBzaXplPSIxMCIvPgogIDxwPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdsb29rdXAnKX0iLz4KICA8cD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_prefstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3VzZXJuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWdlb25hbWVzX3VzZXJuYW1lIiBsZW5ndGgtIjgwIiB2YWx1ZT0ieyRnZW9uYW1lc191c2VybmFtZX0iLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXNzdW1lX2NvdW50cnknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRpbnB1dF9hc3N1bWVfY291bnRyeX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfb3BlcmF0aW9uX21vZGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW9wZXJhdGlvbl9tb2RlIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRvcGVyYXRpb25fbW9kZXMgc2VsZWN0ZWQ9JG1vZC0+R2V0UHJlZmVyZW5jZSgnb3BlcmF0aW9uX21vZGUnKX0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lZmZlY3RpdmVfY2hhcnMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIiIG1heGxlbmd0aD0iMiIgbmFtZT0ieyRhY3Rpb25pZH1lZmZlY3RpdmVfY2hhcnMiIHZhbHVlPSJ7JGVmZmVjdGl2ZV9jaGFyc30iLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19lZmZlY3RpdmVfY2hhcnMnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
</module>
