<?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>GCharts</name>
	<version>1.0</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBmb3IgdGhlIGFkZGl0aW9uIG9mIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlNpbXBseSBwbGFjZSB0aGUgbW9kdWxlIGNhbGwgYmVmb3JlIHlvdXIgY2xvc2luZyBib2R5IHRhZyB3aXRoIHRoZSBJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheSA8Y29kZT57R0NoYXJ0cyBnY2hhcnRzX2lkPScxJ308L2NvZGU+LCBkYXRhIGZpZWxkIGFjY2VwdHMgc21hcnR5IHZhcmlhYmxlcy48L3A+CjxwPkZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhcyB0byB3aGF0IHZhbHVlcyBlYWNoIHBhcmFtZXRlciB0YWtlcyBsb29rIGF0IHRoZSBHb29nbGUgQ2hhcnRzIGRvY3VtZW50YXRpb24gPGEgaHJlZj0iaHR0cHM6Ly9nb29nbGUtZGV2ZWxvcGVycy5hcHBzcG90LmNvbS9jaGFydC8iPmh0dHBzOi8vZ29vZ2xlLWRldmVsb3BlcnMuYXBwc3BvdC5jb20vY2hhcnQvPC9hPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2djaGFydHMvIj5HQ2hhcnRzIFBhZ2U8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIG9saXZlcnNlZGRvbiwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTMsIE9saXZlciBTZWRkb24gPGEgaHJlZj0ibWFpbHRvOm9saXZlckB0aHJlZWZvbGQuY28udWsiPiZsdDtvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZ2NoYXJ0c19pZD0iMSIgLSBJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheS48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBvbGl2ZXJzZWRkb24gJmx0O29saXZlckB0aHJlZWZvbGQuY28udWsmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgOCBKdWx5IDIwMTMuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[This module add Google Charts to your website.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addchart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgkkZGV0YWlscGFnZSA9ICcnOwoKCWlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSkKCXsKCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgR0NoYXJ0cycpKSk7CgkJcmV0dXJuOwoJfQoKCWlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCgl7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cgl9CgovLyBHaXZlIHRoZSBmb3JtIGlkIHRvIHNtYXJ0eQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1pZCcsJGlkKTsKCgkkZGF0YSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGEnXSkpCgl7CgkJJGRhdGEgPSAkcGFyYW1zWydkYXRhJ107Cgl9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzdGF0dXMgPSAncHVibGlzaGVkJzsKICB9CglpZiAoaXNzZXQoJHBhcmFtc1snc3RhdHVzJ10pKQoJewoJCSRzdGF0dXMgPSAkcGFyYW1zWydzdGF0dXMnXTsKCX0KCgkkdXNlZGNhdGVnb3J5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2F0ZWdvcnknLCAnJyk7CglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpCgl7CgkJJHVzZWRjYXRlZ29yeSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107Cgl9CgoJJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKCgkkbmFtZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCgl7CgkgICRuYW1lID0gJHBhcmFtc1snbmFtZSddOwoJfQoKCSRlbGVtZW50ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZWxlbWVudCddKSkKCXsKCSAgJGVsZW1lbnQgPSAkcGFyYW1zWydlbGVtZW50J107Cgl9CgoJJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2F4aXNUaXRsZXNQb3NpdGlvbiddKSkKCXsKCSAgJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICRwYXJhbXNbJ2F4aXNUaXRsZXNQb3NpdGlvbiddOwoJfQoKCSRiYWNrZ3JvdW5kQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXSkpCgl7CgkgICRiYWNrZ3JvdW5kQ29sb3IgPSAkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXTsKCX0KCgkkY2hhcnRBcmVhID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY2hhcnRBcmVhJ10pKQoJewoJICAkY2hhcnRBcmVhID0gJHBhcmFtc1snY2hhcnRBcmVhJ107Cgl9CgoJJGNvbG9ycyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbG9ycyddKSkKCXsKCSAgJGNvbG9ycyA9ICRwYXJhbXNbJ2NvbG9ycyddOwoJfQoKCSRjdXJ2ZVR5cGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjdXJ2ZVR5cGUnXSkpCgl7CgkgICRjdXJ2ZVR5cGUgPSAkcGFyYW1zWydjdXJ2ZVR5cGUnXTsKCX0KCgkkZW5hYmxlSW50ZXJhY3Rpdml0eSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2VuYWJsZUludGVyYWN0aXZpdHknXSkpCgl7CgkgICRlbmFibGVJbnRlcmFjdGl2aXR5ID0gJHBhcmFtc1snZW5hYmxlSW50ZXJhY3Rpdml0eSddOwoJfQoKCSRmb2N1c1RhcmdldCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J10pKQoJewoJICAkZm9jdXNUYXJnZXQgPSAkcGFyYW1zWydmb2N1c1RhcmdldCddOwoJfQoKCSRmb250U2l6ZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnRTaXplJ10pKQoJewoJICAkZm9udFNpemUgPSAkcGFyYW1zWydmb250U2l6ZSddOwoJfQoKCSRmb250TmFtZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnROYW1lJ10pKQoJewoJICAkZm9udE5hbWUgPSAkcGFyYW1zWydmb250TmFtZSddOwoJfQoKCSRoQXhlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hBeGVzJ10pKQoJewoJICAkaEF4ZXMgPSAkcGFyYW1zWydoQXhlcyddOwoJfQoKCSRoQXhpcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hBeGlzJ10pKQoJewoJICAkaEF4aXMgPSAkcGFyYW1zWydoQXhpcyddOwoJfQoKCSRoZWlnaHQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydoZWlnaHQnXSkpCgl7CgkgICRoZWlnaHQgPSAkcGFyYW1zWydoZWlnaHQnXTsKCX0KCgkkaXNIdG1sID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXNIdG1sJ10pKQoJewoJICAkaXNIdG1sID0gJHBhcmFtc1snaXNIdG1sJ107Cgl9CgoJJGlzU3RhY2tlZCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2lzU3RhY2tlZCddKSkKCXsKCSAgJGlzU3RhY2tlZCA9ICRwYXJhbXNbJ2lzU3RhY2tlZCddOwoJfQoKCSRpczNEID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXMzRCddKSkKCXsKCSAgJGlzM0QgPSAkcGFyYW1zWydpczNEJ107Cgl9CgoJJGludGVycG9sYXRlZE51bGxzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXSkpCgl7CgkgICRpbnRlcnBvbGF0ZWROdWxscyA9ICRwYXJhbXNbJ2ludGVycG9sYXRlZE51bGxzJ107Cgl9CgoJJGxlZ2VuZCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2xlZ2VuZCddKSkKCXsKCSAgJGxlZ2VuZCA9ICRwYXJhbXNbJ2xlZ2VuZCddOwoJfQoKCSRsaW5lV2lkdGggPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydsaW5lV2lkdGgnXSkpCgl7CgkgICRsaW5lV2lkdGggPSAkcGFyYW1zWydsaW5lV2lkdGgnXTsKCX0KCgkkcG9pbnRTaXplID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncG9pbnRTaXplJ10pKQoJewoJICAkcG9pbnRTaXplID0gJHBhcmFtc1sncG9pbnRTaXplJ107Cgl9CgoJJHBpZVJlc2lkdWVTbGljZUNvbG9yID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXSkpCgl7CgkgICRwaWVSZXNpZHVlU2xpY2VDb2xvciA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUNvbG9yJ107Cgl9CgoJJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXSkpCgl7CgkgICRwaWVSZXNpZHVlU2xpY2VMYWJlbCA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUxhYmVsJ107Cgl9CgoJJHBpZVNsaWNlQm9yZGVyQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZUJvcmRlckNvbG9yJ10pKQoJewoJICAkcGllU2xpY2VCb3JkZXJDb2xvciA9ICRwYXJhbXNbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXTsKCX0KCgkkcGllU2xpY2VUZXh0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllU2xpY2VUZXh0J10pKQoJewoJICAkcGllU2xpY2VUZXh0ID0gJHBhcmFtc1sncGllU2xpY2VUZXh0J107Cgl9CgoJJHBpZVNsaWNlVGV4dFN0eWxlID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXSkpCgl7CgkgICRwaWVTbGljZVRleHRTdHlsZSA9ICRwYXJhbXNbJ3BpZVNsaWNlVGV4dFN0eWxlJ107Cgl9CgoJJHJldmVyc2VDYXRlZ29yaWVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXSkpCgl7CgkgICRyZXZlcnNlQ2F0ZWdvcmllcyA9ICRwYXJhbXNbJ3JldmVyc2VDYXRlZ29yaWVzJ107Cgl9CgoJJHNsaWNlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NsaWNlcyddKSkKCXsKCSAgJHNsaWNlcyA9ICRwYXJhbXNbJ3NsaWNlcyddOwoJfQoKCSRzZXJpZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzZXJpZXMnXSkpCgl7CgkgICRzZXJpZXMgPSAkcGFyYW1zWydzZXJpZXMnXTsKCX0KCgkkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ10pKQoJewoJICAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ107Cgl9CgoJJHRoZW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndGhlbWUnXSkpCgl7CgkgICR0aGVtZSA9ICRwYXJhbXNbJ3RoZW1lJ107Cgl9CgoJJHRpdGxlID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndGl0bGUnXSkpCgl7CgkgICR0aXRsZSA9ICRwYXJhbXNbJ3RpdGxlJ107Cgl9CgoJJHRpdGxlUG9zaXRpb24gPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZVBvc2l0aW9uJ10pKQoJewoJICAkdGl0bGVQb3NpdGlvbiA9ICRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXTsKCX0KCgkkdGl0bGVUZXh0U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZVRleHRTdHlsZSddKSkKCXsKCSAgJHRpdGxlVGV4dFN0eWxlID0gJHBhcmFtc1sndGl0bGVUZXh0U3R5bGUnXTsKCX0KCgkkdG9vbHRpcCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Rvb2x0aXAnXSkpCgl7CgkgICR0b29sdGlwID0gJHBhcmFtc1sndG9vbHRpcCddOwoJfQoKCSR2QXhlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGVzJ10pKQoJewoJICAkdkF4ZXMgPSAkcGFyYW1zWyd2QXhlcyddOwoJfQoKCSR2QXhpcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGlzJ10pKQoJewoJICAkdkF4aXMgPSAkcGFyYW1zWyd2QXhpcyddOwoJfQoKCSR3aWR0aCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3dpZHRoJ10pKQoJewoJICAkd2lkdGggPSAkcGFyYW1zWyd3aWR0aCddOwoJfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgJGVycm9yID0gRkFMU0U7CiAgICBpZiggZW1wdHkoJG5hbWUpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwogICAgICB9CiAgICBlbHNlIGlmKCBlbXB0eSgkZGF0YSkgKQogICAgICB7CgkkZXJyb3IgPSAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9kYXRhZ2l2ZW4nKSk7CiAgICAgIH0KCiAgICAvLwogICAgLy8gZGF0YWJhc2Ugd29yawogICAgLy8KICAgIGlmKCAkZXJyb3IgIT09IEZBTFNFICkKICAgICAgewoJZWNobyAkZXJyb3I7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGNoYXJ0aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfc2VxIik7CgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzIChnY2hhcnRzX2lkLCBnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2VsZW1lbnRfaWQsIGdjaGFydHNfbmFtZSwgZ2NoYXJ0c19kYXRhLCBheGlzVGl0bGVzUG9zaXRpb24sIGJhY2tncm91bmRDb2xvciwgY3VydmVUeXBlLCBjaGFydEFyZWEsIGNvbG9ycywgZW5hYmxlSW50ZXJhY3Rpdml0eSwgZm9jdXNUYXJnZXQsIGZvbnRTaXplLCBmb250TmFtZSwgaEF4ZXMsIGhBeGlzLCBoZWlnaHQsIGludGVycG9sYXRlZE51bGxzLCBpc0h0bWwsIGlzU3RhY2tlZCwgaXMzRCwgbGVnZW5kLCBsaW5lV2lkdGgsIHNsaWNlcywgcGllU2xpY2VCb3JkZXJDb2xvciwgcGllU2xpY2VUZXh0LCBwaWVTbGljZVRleHRTdHlsZSwgcG9pbnRTaXplLCByZXZlcnNlQ2F0ZWdvcmllcywgc2VyaWVzLCBzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsIHBpZVJlc2lkdWVTbGljZUNvbG9yLCBwaWVSZXNpZHVlU2xpY2VMYWJlbCwgdGhlbWUsIHRpdGxlLCB0aXRsZVBvc2l0aW9uLCB0aXRsZVRleHRTdHlsZSwgdG9vbHRpcCwgdkF4ZXMsIHZBeGlzLCB3aWR0aCwgc3RhdHVzKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/KSc7CgkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNoYXJ0aWQsICR1c2VkY2F0ZWdvcnksICRlbGVtZW50LCAkbmFtZSwgJGRhdGEsICRheGlzVGl0bGVzUG9zaXRpb24sICRiYWNrZ3JvdW5kQ29sb3IsICRjdXJ2ZVR5cGUsICRjaGFydEFyZWEsICRjb2xvcnMsICRlbmFibGVJbnRlcmFjdGl2aXR5LCAkZm9jdXNUYXJnZXQsICRmb250U2l6ZSwgJGZvbnROYW1lLCAkaEF4ZXMsICRoQXhpcywgJGhlaWdodCwgJGludGVycG9sYXRlZE51bGxzLCAkaXNTdGFja2VkLCAkaXNIdG1sLCAkaXMzRCwgJGxlZ2VuZCwgJGxpbmVXaWR0aCwgJHNsaWNlcywgJHBpZVNsaWNlQm9yZGVyQ29sb3IsICRwaWVTbGljZVRleHQsICRwaWVTbGljZVRleHRTdHlsZSwgJHBvaW50U2l6ZSwgJHJldmVyc2VDYXRlZ29yaWVzLCAkc2VyaWVzLCAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAkcGllUmVzaWR1ZVNsaWNlQ29sb3IsICRwaWVSZXNpZHVlU2xpY2VMYWJlbCwgJHRoZW1lLCAkdGl0bGUsICR0aXRsZVBvc2l0aW9uLCAkdGl0bGVUZXh0U3R5bGUsICR0b29sdGlwLCAkdkF4ZXMsICR2QXhpcywgJHdpZHRoLCAkc3RhdHVzKSk7CiAgICAKCWlmKCAhJGRiciApCgkgIHsKCSAgICBlY2hvICJERUJVRzogU1FMID0gIi4kZGItPnNxbC4iPGJyLz4iOwoJICAgIGRpZSgkZGItPkVycm9yTXNnKCkpOwoJICB9CgoJaWYoICEkZXJyb3IgJiYgJHN0YXR1cyA9PSAncHVibGlzaGVkJyApCgkgIHsKCSAgICAvL1VwZGF0ZSBzZWFyY2ggaW5kZXgKCSAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfc2VhcmNoX21vZHVsZSgpOwoJICAgIGlmIChpc19vYmplY3QoJG1vZHVsZSkgKQoJICAgICAgewoJCSR0ZXh0ID0gJyc7CgkgICAgCgkJJHRleHQgPSAkZGF0YS4nICcuJG5hbWU7CgkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGNoYXJ0aWQsICdjaGFydCcsICR0ZXh0KTsKCSAgICAgIH0KCSAgfQoJCglpZiggISRlcnJvciApCgkgIHsKCSAgICBAJHRoaXMtPlNlbmRFdmVudCgnQ2hhcnRBZGRlZCcsIGFycmF5KCdnY2hhcnRzX2lkJyA9PiAkY2hhcnRpZCwgJ2NhdGVnb3J5X2lkJyA9PiAkdXNlZGNhdGVnb3J5LCAnZ2NoYXJ0c19uYW1lJyA9PiAkbmFtZSwgJ2djaGFydHNfZGF0YScgPT4gJGRhdGEsICdzdGF0dXMnID0+ICRzdGF0dXMpKTsKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQlhdWRpdCgkY2hhcnRpZCwgJ0dDaGFydHM6ICcuJGNoYXJ0aWQsICdDaGFydCBhZGRlZCcpOwoJICAgICRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2NoYXJ0YWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NoYXJ0cycpOwoJICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJICB9IC8vIGlmICEkZXJyb3IKICAgICAgfSAvLyBvdXRlciBpZiAhJGVycm9yCiAgfSAvLyBzdWJtaXQKCgovLwovLyBidWlsZCB0aGUgZm9ybQovLyAgICAKJHN0YXR1c2Ryb3Bkb3duID0gYXJyYXkoKTsKJHN0YXR1c2Ryb3Bkb3duWyR0aGlzLT5MYW5nKCdkcmFmdCcpXSA9ICdkcmFmdCc7CiRzdGF0dXNkcm9wZG93blskdGhpcy0+TGFuZygncHVibGlzaGVkJyldID0gJ3B1Ymxpc2hlZCc7CiAgICAKICAgICRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOwogICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgCiAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsKCQkkY2F0ZWdvcnlsaXN0WyRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddXSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKCX0KCiRvbmNoYW5nZXRleHQ9J29uY2hhbmdlPSJkb2N1bWVudCcuJGlkLidtb2R1bGVmb3JtXzEuc3VibWl0KCkiIGlkPSJjaGFydENhdGVnb3J5Iic7CgkjRGlzcGxheSB0ZW1wbGF0ZQoJJHNtYXJ0eS0+YXNzaWduKCdjdXJyY2F0JywgJzEnKTsKCSRzbWFydHktPmFzc2lnbignaGlkZGVuJywgJycpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkY2hhcnQnLCAkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZWxlbWVudCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZWxlbWVudCcsICRlbGVtZW50LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZGF0YScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkZGF0YSwgJ2RhdGEnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0YXhpc1RpdGxlc1Bvc2l0aW9uJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdheGlzVGl0bGVzUG9zaXRpb24nLCAkYXhpc1RpdGxlc1Bvc2l0aW9uLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0YmFja2dyb3VuZENvbG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdiYWNrZ3JvdW5kQ29sb3InLCAkYmFja2dyb3VuZENvbG9yLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y2hhcnRBcmVhJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjaGFydEFyZWEnLCAkY2hhcnRBcmVhLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y29sb3JzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjb2xvcnMnLCAkY29sb3JzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y3VydmVUeXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjdXJ2ZVR5cGUnLCAkY3VydmVUeXBlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZW5hYmxlSW50ZXJhY3Rpdml0eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZW5hYmxlSW50ZXJhY3Rpdml0eScsICRlbmFibGVJbnRlcmFjdGl2aXR5LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Zm9jdXNUYXJnZXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZvY3VzVGFyZ2V0JywgJGZvY3VzVGFyZ2V0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Zm9udFNpemUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZvbnRTaXplJywgJGZvbnRTaXplLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Zm9udE5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZvbnROYW1lJywgJGZvbnROYW1lLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aEF4ZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hBeGVzJywgJGhBeGVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aEF4aXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hBeGlzJywgJGhBeGlzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aGVpZ2h0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoZWlnaHQnLCAkaGVpZ2h0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aW50ZXJwb2xhdGVkTnVsbHMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ludGVycG9sYXRlZE51bGxzJywgJGludGVycG9sYXRlZE51bGxzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aXNIdG1sJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpc0h0bWwnLCAkaXNIdG1sLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aXNTdGFja2VkJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpc1N0YWNrZWQnLCAkaXNTdGFja2VkLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aXMzRCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXMzRCcsICRpczNELCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0bGVnZW5kJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdsZWdlbmQnLCAkbGVnZW5kLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0bGluZVdpZHRoJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdsaW5lV2lkdGgnLCAkbGluZVdpZHRoLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0c2xpY2VzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzbGljZXMnLCAkc2xpY2VzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllU2xpY2VCb3JkZXJDb2xvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllU2xpY2VCb3JkZXJDb2xvcicsICRwaWVTbGljZUJvcmRlckNvbG9yLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllU2xpY2VUZXh0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVTbGljZVRleHQnLCAkcGllU2xpY2VUZXh0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllU2xpY2VUZXh0U3R5bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVNsaWNlVGV4dFN0eWxlJywgJHBpZVNsaWNlVGV4dFN0eWxlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cG9pbnRTaXplJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwb2ludFNpemUnLCAkcG9pbnRTaXplLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cmV2ZXJzZUNhdGVnb3JpZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3JldmVyc2VDYXRlZ29yaWVzJywgJHJldmVyc2VDYXRlZ29yaWVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0c2VyaWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzZXJpZXMnLCAkc2VyaWVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnLCAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllUmVzaWR1ZVNsaWNlQ29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVJlc2lkdWVTbGljZUNvbG9yJywgJHBpZVJlc2lkdWVTbGljZUNvbG9yLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllUmVzaWR1ZVNsaWNlTGFiZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVJlc2lkdWVTbGljZUxhYmVsJywgJHBpZVJlc2lkdWVTbGljZUxhYmVsLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGhlbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RoZW1lJywgJHRoZW1lLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGl0bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlJywgJHRpdGxlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGl0bGVQb3NpdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGVQb3NpdGlvbicsICR0aXRsZVBvc2l0aW9uLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGl0bGVUZXh0U3R5bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlVGV4dFN0eWxlJywgJHRpdGxlVGV4dFN0eWxlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dG9vbHRpcCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndG9vbHRpcCcsICR0b29sdGlwLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dkF4ZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3Rvb2x0aXAnLCAkdkF4ZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR2QXhpcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndkF4aXMnLCAkdkF4aXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR3aWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnd2lkdGgnLCAkd2lkdGgsIDMwLCAyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdhY3Rpb25pZCcsJGlkKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FwcHJvdmUgR0NoYXJ0cycpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCBsYW5nKCdzdGF0dXMnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXR1cycsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3N0YXR1cycsICRzdGF0dXNkcm9wZG93biwgLTEsICRzdGF0dXMpKTsKICB9CiBlbHNlCiAgIHsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdzdGF0dXMnLCRzdGF0dXMpKTsKICAgfQokc21hcnR5LT5hc3NpZ24oJ2lucHV0Y2F0ZWdvcnknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjYXRlZ29yeScsICRjYXRlZ29yeWxpc3QsIC0xLCAkdXNlZGNhdGVnb3J5LCAkb25jaGFuZ2V0ZXh0KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCgkkc21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VsZW1lbnR0ZXh0JywgJHRoaXMtPkxhbmcoJ2VsZW1lbnQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKCSRzbWFydHktPmFzc2lnbignZGF0YXRleHQnLCAkdGhpcy0+TGFuZygnZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdheGlzVGl0bGVzUG9zaXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ2F4aXNUaXRsZXNQb3NpdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYWNrZ3JvdW5kQ29sb3J0ZXh0JywgJHRoaXMtPkxhbmcoJ2JhY2tncm91bmRDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdjaGFydEFyZWF0ZXh0JywgJHRoaXMtPkxhbmcoJ2NoYXJ0QXJlYScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjb2xvcnN0ZXh0JywgJHRoaXMtPkxhbmcoJ2NvbG9ycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJ2ZVR5cGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2N1cnZlVHlwZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmFibGVJbnRlcmFjdGl2aXR5dGV4dCcsICR0aGlzLT5MYW5nKCdlbmFibGVJbnRlcmFjdGl2aXR5JykpOwokc21hcnR5LT5hc3NpZ24oJ2ZvY3VzVGFyZ2V0dGV4dCcsICR0aGlzLT5MYW5nKCdmb2N1c1RhcmdldCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb250U2l6ZXRleHQnLCAkdGhpcy0+TGFuZygnZm9udFNpemUnKSk7CiRzbWFydHktPmFzc2lnbignZm9udE5hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvbnROYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2hBeGVzdGV4dCcsICR0aGlzLT5MYW5nKCdoQXhlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdoQXhpc3RleHQnLCAkdGhpcy0+TGFuZygnaEF4aXMnKSk7CiRzbWFydHktPmFzc2lnbignaGVpZ2h0dGV4dCcsICR0aGlzLT5MYW5nKCdoZWlnaHQnKSk7CiRzbWFydHktPmFzc2lnbignaW50ZXJwb2xhdGVkTnVsbHN0ZXh0JywgJHRoaXMtPkxhbmcoJ2ludGVycG9sYXRlZE51bGxzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzSHRtbHRleHQnLCAkdGhpcy0+TGFuZygnaXNIdG1sJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzU3RhY2tlZHRleHQnLCAkdGhpcy0+TGFuZygnaXNTdGFja2VkJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzM0R0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzM0QnKSk7CiRzbWFydHktPmFzc2lnbignbGVnZW5kdGV4dCcsICR0aGlzLT5MYW5nKCdsZWdlbmQnKSk7CiRzbWFydHktPmFzc2lnbignbGluZVdpZHRodGV4dCcsICR0aGlzLT5MYW5nKCdsaW5lV2lkdGgnKSk7CiRzbWFydHktPmFzc2lnbignc2xpY2VzdGV4dCcsICR0aGlzLT5MYW5nKCdzbGljZXMnKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VCb3JkZXJDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VCb3JkZXJDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHRTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VUZXh0U3R5bGUnKSk7CiRzbWFydHktPmFzc2lnbigncG9pbnRTSXpldGV4dCcsICR0aGlzLT5MYW5nKCdwb2ludFNpemUnKSk7CiRzbWFydHktPmFzc2lnbigncmV2ZXJzZUNhdGVnb3JpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3JldmVyc2VDYXRlZ29yaWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3Nlcmllc3RleHQnLCAkdGhpcy0+TGFuZygnc2VyaWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZHRleHQnLCAkdGhpcy0+TGFuZygnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVJlc2lkdWVTbGljZUNvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdwaWVSZXNpZHVlU2xpY2VDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVSZXNpZHVlU2xpY2VMYWJlbHRleHQnLCAkdGhpcy0+TGFuZygncGllUmVzaWR1ZVNsaWNlTGFiZWwnKSk7CiRzbWFydHktPmFzc2lnbigndGhlbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RoZW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZVBvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZVBvc2l0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlVGV4dFN0eWxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZVRleHRTdHlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0b29sdGlwdGV4dCcsICR0aGlzLT5MYW5nKCd0b29sdGlwJykpOwokc21hcnR5LT5hc3NpZ24oJ3ZBeGVzdGV4dCcsICR0aGlzLT5MYW5nKCd2QXhlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd2QXhpc3RleHQnLCAkdGhpcy0+TGFuZygndkF4aXMnKSk7CiRzbWFydHktPmFzc2lnbignd2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ3dpZHRoJykpOwoKLy8gdGFiIHN0dWZmLgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9oZWFkZXJzJywkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCkpOwokc21hcnR5LT5hc3NpZ24oJ3RhYmhlYWRlcl9jaGFydCcsJHRoaXMtPlNldFRhYkhlYWRlcignY2hhcnQnLCR0aGlzLT5MYW5nKCdjaGFydCcpKSk7CiRzbWFydHktPmFzc2lnbignZW5kX3RhYl9oZWFkZXJzJywkdGhpcy0+RW5kVGFiSGVhZGVycygpKTsKCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2NvbnRlbnQnLCR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2NoYXJ0JywkdGhpcy0+U3RhcnRUYWIoJ2NoYXJ0JywkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZW5kX3RhYl9jaGFydCcsJHRoaXMtPkVuZFRhYigpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiX2NvbnRlbnQnLCR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwoKJHNtYXJ0eS0+YXNzaWduKCd3YXJuaW5nX3ByZXZpZXcnLCR0aGlzLT5MYW5nKCd3YXJuaW5nX3ByZXZpZXcnKSk7CiRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmV2aWV3X3JldHVybmlkJywKCQkkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbF9yZXR1cm5pZCcsLTEpLAoJCQkJCQkgICAgICdwcmV2aWV3X3JldHVybmlkJykpOwp7CiAgJHRtcCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CiAgJHRtcDIgPSBhcnJheSgpOwogIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKICAgIHsKICAgICAgaWYoIHN0YXJ0c3dpdGgoJHRtcFskaV0sJ2RldGFpbCcpICkKCXsKCSAgJHggPSBzdWJzdHIoJHRtcFskaV0sNik7CgkgICR0bXAyWyR4XSA9ICR4OwoJfQogICAgfQogICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ2RldGFpbF90ZW1wbGF0ZScpKTsKICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZXRhaWxfcGFnZScsJHRoaXMtPkxhbmcoJ2RldGFpbF9wYWdlJykpOwogICRzbWFydHktPmFzc2lnbignZGV0YWlsX3RlbXBsYXRlcycsJHRtcDIpOwogICRzbWFydHktPmFzc2lnbignY3VyX2RldGFpbF90ZW1wbGF0ZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfZGV0YWlsX3RlbXBsYXRlJykpOwp9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGNoYXJ0LnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovLy8vLyBHTE9CQUxTIC8vLy8vCgokZ0NtcyA9IGNtc21zKCk7CiRzbWFydHkgPSAmJGdDbXMtPkdldFNtYXJ0eSgpOwokZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCiRxdWVyeSA9ICdTRUxFQ1QgZ2NoYXJ0c19pZCwgZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19lbGVtZW50X2lkLCBnY2hhcnRzX25hbWUsIGdjaGFydHNfZGF0YSwgYmFja2dyb3VuZENvbG9yLCBjaGFydEFyZWEsIGNvbG9ycywgZm9udFNpemUsIGZvbnROYW1lLCBoZWlnaHQsIGlzM0QsIGxlZ2VuZCwgc2xpY2VzLCBwaWVTbGljZUJvcmRlckNvbG9yLCBwaWVTbGljZVRleHQsIHBpZVNsaWNlVGV4dFN0eWxlLCByZXZlcnNlQ2F0ZWdvcmllcywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCBwaWVSZXNpZHVlU2xpY2VDb2xvciwgcGllUmVzaWR1ZVNsaWNlTGFiZWwsIHRpdGxlLCB0aXRsZVRleHRTdHlsZSwgdG9vbHRpcCwgd2lkdGggZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4KICAgJ21vZHVsZV9nY2hhcnRzJzsKCmlmIChpc3NldCgkcGFyYW1zWydnY2hhcnRzX2lkJ10pKQogICB7CiAgICRxdWVyeSAuPSAnIHdoZXJlIGdjaGFydHNfaWQgPSA/JzsKICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1snZ2NoYXJ0c19pZCddKSk7CiAgICRtb2RlID0gJ2RldGFpbCc7IC8vIHdlJ3JlIHZpZXdpbmcgYSBzaW5nbGUgcmVjb3JkCiAgIH0KICAgCiRyZWNvcmRzID0gYXJyYXkoKTsKd2hpbGUgKCRyZXN1bHQgIT09IGZhbHNlICYmICRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKSkKICAgewogICAvLyBjcmVhdGUgYSBuZXcgb2JqZWN0IGZvciBldmVyeSByZWNvcmQgdGhhdCB3ZSByZXRyaWV2ZQogICAkcmVjID0gbmV3IHN0ZENsYXNzKCk7CiAgICRyZWMtPmlkID0gJHJvd1snZ2NoYXJ0c19pZCddOwogICAkcmVjLT5jYXRlZ29yeSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgJHJlYy0+bmFtZSA9ICRyb3dbJ2djaGFydHNfbmFtZSddOwogICAkcmVjLT5lbGVtZW50ID0gJHJvd1snZ2NoYXJ0c19lbGVtZW50X2lkJ107CiAgICRyZWMtPmRhdGEgPSAkcm93WydnY2hhcnRzX2RhdGEnXTsKICAgJHJlYy0+YmFja2dyb3VuZENvbG9yID0gJHJvd1snYmFja2dyb3VuZENvbG9yJ107CiAgICRyZWMtPmNoYXJ0QXJlYSA9ICRyb3dbJ2NoYXJ0QXJlYSddOwogICAkcmVjLT5jb2xvcnMgPSAkcm93Wydjb2xvcnMnXTsKICAgJHJlYy0+Zm9udFNpemUgPSAkcm93Wydmb250U2l6ZSddOwogICAkcmVjLT5mb250TmFtZSA9ICRyb3dbJ2ZvbnROYW1lJ107CiAgICRyZWMtPmhlaWdodCA9ICRyb3dbJ2hlaWdodCddOwogICAkcmVjLT5pczNEID0gJHJvd1snaXMzRCddOwogICAkcmVjLT5sZWdlbmQgPSAkcm93WydsZWdlbmQnXTsKICAgJHJlYy0+c2xpY2VzID0gJHJvd1snc2xpY2VzJ107CiAgICRyZWMtPnBpZVNsaWNlQm9yZGVyQ29sb3IgPSAkcm93WydwaWVTbGljZUJvcmRlckNvbG9yJ107CiAgICRyZWMtPnBpZVNsaWNlVGV4dCA9ICRyb3dbJ3BpZVNsaWNlVGV4dCddOwogICAkcmVjLT5waWVTbGljZVRleHRTdHlsZSA9ICRyb3dbJ3BpZVNsaWNlVGV4dFN0eWxlJ107CiAgICRyZWMtPnJldmVyc2VDYXRlZ29yaWVzID0gJHJvd1sncmV2ZXJzZUNhdGVnb3JpZXMnXTsKICAgJHJlYy0+c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJHJvd1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ107CiAgICRyZWMtPnBpZVJlc2lkdWVTbGljZUNvbG9yID0gJHJvd1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXTsKICAgJHJlYy0+cGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAkcm93WydwaWVSZXNpZHVlU2xpY2VMYWJlbCddOwogICAkcmVjLT50aXRsZSA9ICRyb3dbJ3RpdGxlJ107CiAgICRyZWMtPnRpdGxlVGV4dFN0eWxlID0gJHJvd1sndGl0bGVUZXh0U3R5bGUnXTsKICAgJHJlYy0+dG9vbHRpcCA9ICRyb3dbJ3Rvb2x0aXAnXTsKICAgJHJlYy0+d2lkdGggPSAkcm93Wyd3aWR0aCddOwogICBhcnJheV9wdXNoKCRyZWNvcmRzLCRyZWMpOwogICB9CgovLyBFeHBvc2UgdGhlIGxpc3QgdG8gc21hcnR5LgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JlY29yZHMnLCRyZWNvcmRzKTsKCmlmIChpc3NldCgkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKSkKICAgewogICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZV9tZXNzYWdlJywkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKTsKICAgfQplbHNlCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVfbWVzc2FnZScsJycpOwogICB9CgovLy8vLyBQUk9DRVNTIEFORCBESVNQTEFZIFRFTVBMQVRFIC8vLy8vCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2djaGFydHMudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgojCiNUaGUgdGFiIGhlYWRlcnMKIwplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKEZBTFNFID09IGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpCiAgewogICAgJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsKICB9IGVsc2UgewogICR0YWIgPSAnJzsKIH0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBHQ2hhcnRzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2hhcnRzJywkdGhpcy0+TGFuZygnY2hhcnRzJyksICgnY2hhcnRzJyA9PSAkdGFiKT90cnVlOmZhbHNlKTsKICB9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCiMKI1RoZSBjb250ZW50IG9mIHRoZSB0YWJzCiMKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgR0NoYXJ0cycpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FwcHJvdmUgR0NoYXJ0cycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2hhcnRzJywgJHBhcmFtcyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY2hhcnRzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKIyB2aW06dHM9NCBzdz00IG5vZXQKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editchart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIGV4aXQ7CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOwogIH0KCiRjaGFydGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjaGFydGlkJ10pKQogIHsKCSRjaGFydGlkID0gJHBhcmFtc1snY2hhcnRpZCddOwogIH0KCiRkYXRhID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkYXRhJ10pKQogIHsKCSRkYXRhID0gJHBhcmFtc1snZGF0YSddOwogIH0KCiRzdGF0dXMgPSAnZHJhZnQnOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzdGF0dXMgPSAncHVibGlzaGVkJzsKICB9CmlmIChpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkpCiAgewoJJHN0YXR1cyA9ICRwYXJhbXNbJ3N0YXR1cyddOwogIH0KCgkkdXNlZGNhdGVnb3J5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpCgl7CgkgICR1c2VkY2F0ZWdvcnkgPSAkcGFyYW1zWydjYXRlZ29yeSddOwoJfQoKCSRuYW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkKCXsKCSAgJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107Cgl9CgoJJGVsZW1lbnQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydlbGVtZW50J10pKQoJewoJICAkZWxlbWVudCA9ICRwYXJhbXNbJ2VsZW1lbnQnXTsKCX0KCgkkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ10pKQoJewoJICAkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ107Cgl9CgoJJGJhY2tncm91bmRDb2xvciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddKSkKCXsKCSAgJGJhY2tncm91bmRDb2xvciA9ICRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddOwoJfQoKCSRjaGFydEFyZWEgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjaGFydEFyZWEnXSkpCgl7CgkgICRjaGFydEFyZWEgPSAkcGFyYW1zWydjaGFydEFyZWEnXTsKCX0KCgkkY29sb3JzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY29sb3JzJ10pKQoJewoJICAkY29sb3JzID0gJHBhcmFtc1snY29sb3JzJ107Cgl9CgoJJGN1cnZlVHlwZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2N1cnZlVHlwZSddKSkKCXsKCSAgJGN1cnZlVHlwZSA9ICRwYXJhbXNbJ2N1cnZlVHlwZSddOwoJfQoKCSRlbmFibGVJbnRlcmFjdGl2aXR5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZW5hYmxlSW50ZXJhY3Rpdml0eSddKSkKCXsKCSAgJGVuYWJsZUludGVyYWN0aXZpdHkgPSAkcGFyYW1zWydlbmFibGVJbnRlcmFjdGl2aXR5J107Cgl9CgoJJGZvY3VzVGFyZ2V0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9jdXNUYXJnZXQnXSkpCgl7CgkgICRmb2N1c1RhcmdldCA9ICRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J107Cgl9CgoJJGZvbnRTaXplID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9udFNpemUnXSkpCgl7CgkgICRmb250U2l6ZSA9ICRwYXJhbXNbJ2ZvbnRTaXplJ107Cgl9CgoJJGZvbnROYW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9udE5hbWUnXSkpCgl7CgkgICRmb250TmFtZSA9ICRwYXJhbXNbJ2ZvbnROYW1lJ107Cgl9CgoJJGhBeGVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaEF4ZXMnXSkpCgl7CgkgICRoQXhlcyA9ICRwYXJhbXNbJ2hBeGVzJ107Cgl9CgoJJGhBeGlzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaEF4aXMnXSkpCgl7CgkgICRoQXhpcyA9ICRwYXJhbXNbJ2hBeGlzJ107Cgl9CgoJJGhlaWdodCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hlaWdodCddKSkKCXsKCSAgJGhlaWdodCA9ICRwYXJhbXNbJ2hlaWdodCddOwoJfQoKCSRpc0h0bWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpc0h0bWwnXSkpCgl7CgkgICRpc0h0bWwgPSAkcGFyYW1zWydpc0h0bWwnXTsKCX0KCgkkaXNTdGFja2VkID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXNTdGFja2VkJ10pKQoJewoJICAkaXNTdGFja2VkID0gJHBhcmFtc1snaXNTdGFja2VkJ107Cgl9CgoJJGlzM0QgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpczNEJ10pKQoJewoJICAkaXMzRCA9ICRwYXJhbXNbJ2lzM0QnXTsKCX0KCgkkaW50ZXJwb2xhdGVkTnVsbHMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpbnRlcnBvbGF0ZWROdWxscyddKSkKCXsKCSAgJGludGVycG9sYXRlZE51bGxzID0gJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXTsKCX0KCgkkbGVnZW5kID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snbGVnZW5kJ10pKQoJewoJICAkbGVnZW5kID0gJHBhcmFtc1snbGVnZW5kJ107Cgl9CgoJJGxpbmVXaWR0aCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbmVXaWR0aCddKSkKCXsKCSAgJGxpbmVXaWR0aCA9ICRwYXJhbXNbJ2xpbmVXaWR0aCddOwoJfQoKCSRwb2ludFNpemUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwb2ludFNpemUnXSkpCgl7CgkgICRwb2ludFNpemUgPSAkcGFyYW1zWydwb2ludFNpemUnXTsKCX0KCgkkcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VDb2xvciddKSkKCXsKCSAgJHBpZVJlc2lkdWVTbGljZUNvbG9yID0gJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXTsKCX0KCgkkcGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VMYWJlbCddKSkKCXsKCSAgJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXTsKCX0KCgkkcGllU2xpY2VCb3JkZXJDb2xvciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXSkpCgl7CgkgICRwaWVTbGljZUJvcmRlckNvbG9yID0gJHBhcmFtc1sncGllU2xpY2VCb3JkZXJDb2xvciddOwoJfQoKCSRwaWVTbGljZVRleHQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZVRleHQnXSkpCgl7CgkgICRwaWVTbGljZVRleHQgPSAkcGFyYW1zWydwaWVTbGljZVRleHQnXTsKCX0KCgkkcGllU2xpY2VUZXh0U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZVRleHRTdHlsZSddKSkKCXsKCSAgJHBpZVNsaWNlVGV4dFN0eWxlID0gJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXTsKCX0KCgkkcmV2ZXJzZUNhdGVnb3JpZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydyZXZlcnNlQ2F0ZWdvcmllcyddKSkKCXsKCSAgJHJldmVyc2VDYXRlZ29yaWVzID0gJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXTsKCX0KCgkkc2xpY2VzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2xpY2VzJ10pKQoJewoJICAkc2xpY2VzID0gJHBhcmFtc1snc2xpY2VzJ107Cgl9CgoJJHNlcmllcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NlcmllcyddKSkKCXsKCSAgJHNlcmllcyA9ICRwYXJhbXNbJ3NlcmllcyddOwoJfQoKCSRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXSkpCgl7CgkgICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXTsKCX0KCgkkdGhlbWUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aGVtZSddKSkKCXsKCSAgJHRoZW1lID0gJHBhcmFtc1sndGhlbWUnXTsKCX0KCgkkdGl0bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZSddKSkKCXsKCSAgJHRpdGxlID0gJHBhcmFtc1sndGl0bGUnXTsKCX0KCgkkdGl0bGVQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXSkpCgl7CgkgICR0aXRsZVBvc2l0aW9uID0gJHBhcmFtc1sndGl0bGVQb3NpdGlvbiddOwoJfQoKCSR0aXRsZVRleHRTdHlsZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlVGV4dFN0eWxlJ10pKQoJewoJICAkdGl0bGVUZXh0U3R5bGUgPSAkcGFyYW1zWyd0aXRsZVRleHRTdHlsZSddOwoJfQoKCSR0b29sdGlwID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndG9vbHRpcCddKSkKCXsKCSAgJHRvb2x0aXAgPSAkcGFyYW1zWyd0b29sdGlwJ107Cgl9CgoJJHZBeGVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndkF4ZXMnXSkpCgl7CgkgICR2QXhlcyA9ICRwYXJhbXNbJ3ZBeGVzJ107Cgl9CgoJJHZBeGlzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndkF4aXMnXSkpCgl7CgkgICR2QXhpcyA9ICRwYXJhbXNbJ3ZBeGlzJ107Cgl9CgoJJHdpZHRoID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snd2lkdGgnXSkpCgl7CgkgICR3aWR0aCA9ICRwYXJhbXNbJ3dpZHRoJ107Cgl9CgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICkKICB7CiAgICAkZXJyb3IgPSBGQUxTRTsKICAgIGlmKCBlbXB0eSgkbmFtZSkgKQogICAgICB7CgkkZXJyb3IgPSAkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKTsKICAgICAgfQogICAgZWxzZSBpZiggZW1wdHkoJGRhdGEpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPkxhbmcoJ25vZGF0YWdpdmVuJyk7CiAgICAgIH0KCiAgICBpZiggISRlcnJvciApCiAgICAgIHsKCgkvLyAKCS8vIGRhdGFiYXNlIHdvcmsKCS8vCgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBTRVQgZ2NoYXJ0c19jYXRlZ29yeV9pZCA9ID8sIGdjaGFydHNfZWxlbWVudF9pZCA9ID8sIGdjaGFydHNfbmFtZSA9ID8sIGdjaGFydHNfZGF0YSA9ID8sIGF4aXNUaXRsZXNQb3NpdGlvbiA9ID8sIGJhY2tncm91bmRDb2xvciA9ID8sIGN1cnZlVHlwZSA9ID8sIGNoYXJ0QXJlYSA9ID8sIGNvbG9ycyA9ID8sIGVuYWJsZUludGVyYWN0aXZpdHkgPSA/LCBmb2N1c1RhcmdldCA9ID8sIGZvbnRTaXplID0gPywgZm9udE5hbWUgPSA/LCBoQXhlcyA9ID8sIGhBeGlzID0gPywgaGVpZ2h0ID0gPywgaW50ZXJwb2xhdGVkTnVsbHMgPSA/LCBpc0h0bWwgPSA/LCBpc1N0YWNrZWQgPSA/LCBpczNEID0gPywgbGVnZW5kID0gPywgbGluZVdpZHRoID0gPywgc2xpY2VzID0gPywgcGllU2xpY2VCb3JkZXJDb2xvciA9ID8sIHBpZVNsaWNlVGV4dCA9ID8sIHBpZVNsaWNlVGV4dFN0eWxlID0gPywgcG9pbnRTaXplID0gPywgcmV2ZXJzZUNhdGVnb3JpZXMgPSA/LCBzZXJpZXMgPSA/LCBzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSA/LCBwaWVSZXNpZHVlU2xpY2VDb2xvciA9ID8sIHBpZVJlc2lkdWVTbGljZUxhYmVsID0gPywgdGhlbWUgPSA/LCB0aXRsZSA9ID8sIHRpdGxlUG9zaXRpb24gPSA/LCB0aXRsZVRleHRTdHlsZSA9ID8sIHRvb2x0aXAgPSA/LCB2QXhlcyA9ID8sIHZBeGlzID0gPywgd2lkdGggPSA/IFdIRVJFIGdjaGFydHNfaWQgPSA/JzsKCSAgIAkJCQkKCSAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAKCQkJIGFycmF5KCR1c2VkY2F0ZWdvcnksICRlbGVtZW50LCAkbmFtZSwgJGRhdGEsICRheGlzVGl0bGVzUG9zaXRpb24sICRiYWNrZ3JvdW5kQ29sb3IsICRjdXJ2ZVR5cGUsICRjaGFydEFyZWEsICRjb2xvcnMsICRlbmFibGVJbnRlcmFjdGl2aXR5LCAkZm9jdXNUYXJnZXQsICRmb250U2l6ZSwgJGZvbnROYW1lLCAkaEF4ZXMsICRoQXhpcywgJGhlaWdodCwgJGludGVycG9sYXRlZE51bGxzLCAkaXNIdG1sLCAkaXNTdGFja2VkLCAkaXMzRCwgJGxlZ2VuZCwgJGxpbmVXaWR0aCwgJHNsaWNlcywgJHBpZVNsaWNlQm9yZGVyQ29sb3IsICRwaWVTbGljZVRleHQsICRwaWVTbGljZVRleHRTdHlsZSwgJHBvaW50U2l6ZSwgJHJldmVyc2VDYXRlZ29yaWVzLCAkc2VyaWVzLCAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAkcGllUmVzaWR1ZVNsaWNlQ29sb3IsICRwaWVSZXNpZHVlU2xpY2VMYWJlbCwgJHRoZW1lLCAkdGl0bGUsICR0aXRsZVBvc2l0aW9uLCAkdGl0bGVUZXh0U3R5bGUsICR0b29sdGlwLCAkdkF4ZXMsICR2QXhpcywgJHdpZHRoLCAkY2hhcnRpZCkpOwoKCS8vVXBkYXRlIHNlYXJjaCBpbmRleAoJaWYoICEkZXJyb3IgKQoJICB7CgkgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTsKCSAgICBpZiAoaXNfb2JqZWN0KCRtb2R1bGUpICkKCSAgICAgIHsKCQlpZiggJHN0YXR1cyA9PSAnZHJhZnQnICkKCQkgIHsKCQkgICAgJG1vZHVsZS0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwkY2hhcnRpZCwnY2hhcnQnKTsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgICR0ZXh0ID0gJyc7CgkJICAgICR0ZXh0IC49ICRkYXRhLicgJy4kbmFtZS4nICcuJG5hbWU7CgkJICAgICRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRjaGFydGlkLCAnY2hhcnQnLCAkdGV4dCk7CgkJICB9CgkgICAgICB9CgkKCSAgICBAJHRoaXMtPlNlbmRFdmVudCgnR0NoYXJ0Q2hhcnRFZGl0ZWQnLCBhcnJheSgnZ2NoYXJ0c19pZCcgPT4gJGNoYXJ0aWQsICdnY2hhcnRzX2NhdGVnb3J5X2lkJyA9PiAkdXNlZGNhdGVnb3J5LCAnbmFtZScgPT4gJG5hbWUsICdkYXRhJyA9PiAkZGF0YSwgJ2F4aXNUaXRsZXNQb3NpdGlvbicgPT4gJGF4aXNUaXRsZXNQb3NpdGlvbiwgJ2JhY2tncm91bmRDb2xvcicgPT4gJGJhY2tncm91bmRDb2xvciwgJ2N1cnZlVHlwZScgPT4gJGN1cnZlVHlwZSwgJ2NoYXJ0QXJlYScgPT4gJGNoYXJ0QXJlYSwgJ2NvbG9ycycgPT4gJGNvbG9ycywgJ2VuYWJsZUludGVyYWN0aXZpdHknID0+ICRlbmFibGVJbnRlcmFjdGl2aXR5LCAnZm9jdXNUYXJnZXQnID0+ICRmb2N1c1RhcmdldCwgJ2ZvbnRTaXplJyA9PiAkZm9udFNpemUsICdmb250TmFtZScgPT4gJGZvbnROYW1lLCAnaEF4ZXMnID0+ICRoQXhlcywgJ2hBeGlzJyA9PiAkaEF4aXMsICdoZWlnaHQnID0+ICRoZWlnaHQsICdpbnRlcnBvbGF0ZWROdWxscycgPT4gJGludGVycG9sYXRlZE51bGxzLCAnaXNIdG1sJyA9PiAkaXNIdG1sLCAnaXNTdGFja2VkJyA9PiAkaXNTdGFja2VkLCAnaXMzRCcgPT4gJGlzM0QsICdsZWdlbmQnID0+ICRsZWdlbmQsICdsaW5lV2lkdGgnID0+ICRsaW5lV2lkdGgsICdzbGljZXMnID0+ICRzbGljZXMsICdwaWVTbGljZUJvcmRlckNvbG9yJyA9PiAkcGllU2xpY2VCb3JkZXJDb2xvciwgJ3BpZVNsaWNlVGV4dCcgPT4gJHBpZVNsaWNlVGV4dCwgJ3BpZVNsaWNlVGV4dFN0eWxlJyA9PiAkcGllU2xpY2VUZXh0U3R5bGUsICdwb2ludFNpemUnID0+ICRwb2ludFNpemUsICdyZXZlcnNlQ2F0ZWdvcmllcycgPT4gJHJldmVyc2VDYXRlZ29yaWVzLCAnc2VyaWVzJyA9PiAkc2VyaWVzLCAnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJyA9PiAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAncGllUmVzaWR1ZVNsaWNlQ29sb3InID0+ICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgJ3BpZVJlc2lkdWVTbGljZUxhYmVsJyA9PiAkcGllUmVzaWR1ZVNsaWNlTGFiZWwsICd0aGVtZScgPT4gJHRoZW1lLCAndGl0bGUnID0+ICR0aXRsZSwgJ3RpdGxlUG9zaXRpb24nID0+ICR0aXRsZVBvc2l0aW9uLCAndGl0bGVUZXh0U3R5bGUnID0+ICR0aXRsZVRleHRTdHlsZSwgJ3Rvb2x0aXAnID0+ICR0b29sdGlwLCAndkF4ZXMnID0+ICR2QXhlcywgJ3ZBeGlzJyA9PiAkdkF4aXMsICd3aWR0aCcgPT4gJHdpZHRoLCAnc3RhdHVzJyA9PiAkc3RhdHVzKSk7CgkJCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQlhdWRpdCgkY2hhcnRpZCwgJ0dDaGFydHM6ICcuJGNoYXJ0aWQsICdDaGFydCBlZGl0ZWQnKTsKCSAgfQoKICAgICAgfSAvLyBlbHNlIGlmIG5vIGVycm9yCgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkgKQogICAgICB7CgkkcmVzcG9uc2UgPSAnPEVkaXRDaGFydD4nOwoJaWYoICRlcnJvciAhPSAnJyApCgkgIHsKCSAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5FcnJvcjwvUmVzcG9uc2U+JzsKCSAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycuJGVycm9yLiddXT48L0RldGFpbHM+JzsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+U3VjY2VzczwvUmVzcG9uc2U+JzsKICAgICAgICAgICAgJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnLiR0aGlzLT5MYW5nKCdjaGFydHVwZGF0ZWQnKS4nXV0+PC9EZXRhaWxzPic7CgkgIH0KCSRyZXNwb25zZSAuPSAnPC9FZGl0Q2hhcnQ+JzsKCWVjaG8gJHJlc3BvbnNlOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoICFpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiAhJGVycm9yICkKICAgICAgewoJLy8gcmVkaXJlY3Qgb3V0IG8gaGVyZS4KCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2NoYXJ0dXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAnY2hhcnRzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCXJldHVybjsKICAgICAgfQoKICAgIGlmKCAkZXJyb3IgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcik7CiAgICAgIH0KICB9IC8vIHN1Ym1pdCBvciBhcHBseQplbHNlCiAgewogICAgLy8gCiAgICAvLyBMb2FkIGRhdGEgZnJvbSBkYXRhYmFzZQogICAgLy8KICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBXSEVSRSBnY2hhcnRzX2lkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY2hhcnRpZCkpOwogICAgCiAgICBpZiAoJHJvdykKICAgICAgewoJJG5hbWUgPSAkcm93WydnY2hhcnRzX25hbWUnXTsKCSRlbGVtZW50ID0gJHJvd1snZ2NoYXJ0c19lbGVtZW50X2lkJ107CgkkZGF0YSA9ICRyb3dbJ2djaGFydHNfZGF0YSddOwokYXhpc1RpdGxlc1Bvc2l0aW9uID0gJHJvd1snYXhpc1RpdGxlc1Bvc2l0aW9uJ107CiRiYWNrZ3JvdW5kQ29sb3IgPSAkcm93WydiYWNrZ3JvdW5kQ29sb3InXTsKJGN1cnZlVHlwZSA9ICRyb3dbJ2N1cnZlVHlwZSddOwokY2hhcnRBcmVhID0gJHJvd1snY2hhcnRBcmVhJ107CiRjb2xvcnMgPSAkcm93Wydjb2xvcnMnXTsKJGVuYWJsZUludGVyYWN0aXZpdHkgPSAkcm93WydlbmFibGVJbnRlcmFjdGl2aXR5J107CiRmb2N1c1RhcmdldCA9ICRyb3dbJ2ZvY3VzVGFyZ2V0J107CiRmb250U2l6ZSA9ICRyb3dbJ2ZvbnRTaXplJ107CiRmb250TmFtZSA9ICRyb3dbJ2ZvbnROYW1lJ107CiRoQXhlcyA9ICRyb3dbJ2hBeGVzJ107CiRoQXhpcyA9ICRyb3dbJ2hBeGlzJ107CiRoZWlnaHQgPSAkcm93WydoZWlnaHQnXTsKJGludGVycG9sYXRlZE51bGxzID0gJHJvd1snaW50ZXJwb2xhdGVkTnVsbHMnXTsKJGlzSHRtbCA9ICRyb3dbJ2lzSHRtbCddOwokaXNTdGFja2VkID0gJHJvd1snaXNTdGFja2VkJ107CiRpczNEID0gJHJvd1snaXMzRCddOwokbGVnZW5kID0gJHJvd1snbGVnZW5kJ107CiRsaW5lV2lkdGggPSAkcm93WydsaW5lV2lkdGgnXTsKJHNsaWNlcyA9ICRyb3dbJ3NsaWNlcyddOwokcGllU2xpY2VCb3JkZXJDb2xvciA9ICRyb3dbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXTsKJHBpZVNsaWNlVGV4dCA9ICRyb3dbJ3BpZVNsaWNlVGV4dCddOwokcGllU2xpY2VUZXh0U3R5bGUgPSAkcm93WydwaWVTbGljZVRleHRTdHlsZSddOwokcG9pbnRTaXplID0gJHJvd1sncG9pbnRTaXplJ107CiRyZXZlcnNlQ2F0ZWdvcmllcyA9ICRyb3dbJ3JldmVyc2VDYXRlZ29yaWVzJ107CiRzZXJpZXMgPSAkcm93WydzZXJpZXMnXTsKJHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCA9ICRyb3dbJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCddOwokcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSAkcm93WydwaWVSZXNpZHVlU2xpY2VDb2xvciddOwokcGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAkcm93WydwaWVSZXNpZHVlU2xpY2VMYWJlbCddOwokdGhlbWUgPSAkcm93Wyd0aGVtZSddOwokdGl0bGUgPSAkcm93Wyd0aXRsZSddOwokdGl0bGVQb3NpdGlvbiA9ICRyb3dbJ3RpdGxlUG9zaXRpb24nXTsKJHRpdGxlVGV4dFN0eWxlID0gJHJvd1sndGl0bGVUZXh0U3R5bGUnXTsKJHRvb2x0aXAgPSAkcm93Wyd0b29sdGlwJ107CiR2QXhlcyA9ICRyb3dbJ3ZBeGVzJ107CiR2QXhpcyA9ICRyb3dbJ3ZBeGlzJ107CiR3aWR0aCA9ICRyb3dbJ3dpZHRoJ107Cgkkc3RhdHVzID0gJHJvd1snc3RhdHVzJ107CgkkdXNlZGNhdGVnb3J5ID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwogICAgICB9CiAgfQoKJHN0YXR1c2Ryb3Bkb3duID0gYXJyYXkoKTsKJHN0YXR1c2Ryb3Bkb3duWyR0aGlzLT5MYW5nKCdkcmFmdCcpXSA9ICdkcmFmdCc7CiRzdGF0dXNkcm9wZG93blskdGhpcy0+TGFuZygncHVibGlzaGVkJyldID0gJ3B1Ymxpc2hlZCc7CgokY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5IjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cgp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgewoJJGNhdGVnb3J5bGlzdFskcm93WydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXV0gPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107CiAgfQoKI0Rpc3BsYXkgdGVtcGxhdGUKCSRzbWFydHktPmFzc2lnbignY3VycmNhdCcsICR1c2VkY2F0ZWdvcnkpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb3JtaWQnLCRpZCk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZWRpdGNoYXJ0JywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKCSRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGVsZW1lbnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VsZW1lbnQnLCAkZWxlbWVudCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGRhdGEnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJGRhdGEsICdkYXRhJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGF4aXNUaXRsZXNQb3NpdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYXhpc1RpdGxlc1Bvc2l0aW9uJywgJGF4aXNUaXRsZXNQb3NpdGlvbiwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGJhY2tncm91bmRDb2xvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYmFja2dyb3VuZENvbG9yJywgJGJhY2tncm91bmRDb2xvciwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGNoYXJ0QXJlYScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY2hhcnRBcmVhJywgJGNoYXJ0QXJlYSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGNvbG9ycycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY29sb3JzJywgJGNvbG9ycywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGN1cnZlVHlwZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY3VydmVUeXBlJywgJGN1cnZlVHlwZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGVuYWJsZUludGVyYWN0aXZpdHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VuYWJsZUludGVyYWN0aXZpdHknLCAkZW5hYmxlSW50ZXJhY3Rpdml0eSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGZvY3VzVGFyZ2V0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb2N1c1RhcmdldCcsICRmb2N1c1RhcmdldCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGZvbnRTaXplJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb250U2l6ZScsICRmb250U2l6ZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGZvbnROYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb250TmFtZScsICRmb250TmFtZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGhBeGVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoQXhlcycsICRoQXhlcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGhBeGlzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoQXhpcycsICRoQXhpcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGhlaWdodCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaGVpZ2h0JywgJGhlaWdodCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGludGVycG9sYXRlZE51bGxzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnRlcnBvbGF0ZWROdWxscycsICRpbnRlcnBvbGF0ZWROdWxscywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGlzSHRtbCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXNIdG1sJywgJGlzSHRtbCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGlzU3RhY2tlZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXNTdGFja2VkJywgJGlzU3RhY2tlZCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGlzM0QnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lzM0QnLCAkaXMzRCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGxlZ2VuZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbGVnZW5kJywgJGxlZ2VuZCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGxpbmVXaWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbGluZVdpZHRoJywgJGxpbmVXaWR0aCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNsaWNlcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2xpY2VzJywgJHNsaWNlcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVNsaWNlQm9yZGVyQ29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVNsaWNlQm9yZGVyQ29sb3InLCAkcGllU2xpY2VCb3JkZXJDb2xvciwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVNsaWNlVGV4dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllU2xpY2VUZXh0JywgJHBpZVNsaWNlVGV4dCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVNsaWNlVGV4dFN0eWxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVTbGljZVRleHRTdHlsZScsICRwaWVTbGljZVRleHRTdHlsZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBvaW50U2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncG9pbnRTaXplJywgJHBvaW50U2l6ZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHJldmVyc2VDYXRlZ29yaWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdyZXZlcnNlQ2F0ZWdvcmllcycsICRyZXZlcnNlQ2F0ZWdvcmllcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNlcmllcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2VyaWVzJywgJHNlcmllcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJywgJHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVJlc2lkdWVTbGljZUNvbG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVSZXNpZHVlU2xpY2VDb2xvcicsICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVJlc2lkdWVTbGljZUxhYmVsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVSZXNpZHVlU2xpY2VMYWJlbCcsICRwaWVSZXNpZHVlU2xpY2VMYWJlbCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRoZW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aGVtZScsICR0aGVtZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRpdGxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZScsICR0aXRsZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRpdGxlUG9zaXRpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlUG9zaXRpb24nLCAkdGl0bGVQb3NpdGlvbiwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRpdGxlVGV4dFN0eWxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZVRleHRTdHlsZScsICR0aXRsZVRleHRTdHlsZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRvb2x0aXAnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3Rvb2x0aXAnLCAkdG9vbHRpcCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHZBeGVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0b29sdGlwJywgJHZBeGVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dkF4aXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3ZBeGlzJywgJHZBeGlzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0d2lkdGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3dpZHRoJywgJHdpZHRoLCAzMCwgMjU1KSk7CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzdGV4dCcsIGxhbmcoJ3N0YXR1cycpKTsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnc3RhdHVzJywgJHN0YXR1c2Ryb3Bkb3duLCAtMSwgJHN0YXR1cykpOwogIH0KIGVsc2UKICAgewoJICRzbWFydHktPmFzc2lnbignc3RhdHVzJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdzdGF0dXMnLCRzdGF0dXMpKTsKICAgfQoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGNhdGVnb3J5JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnY2F0ZWdvcnknLCAkY2F0ZWdvcnlsaXN0LCAtMSwgJHVzZWRjYXRlZ29yeSwgJ2lkPSJjaGFydENhdGVnb3J5IicpKTsKCSRzbWFydHktPmFzc2lnbignaGlkZGVuJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2NoYXJ0aWQnLCAkY2hhcnRpZCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKCSRzbWFydHktPmFzc2lnbignYXBwbHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHknLCBsYW5nKCdhcHBseScpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbGVtZW50dGV4dCcsICR0aGlzLT5MYW5nKCdlbGVtZW50JykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2RhdGF0ZXh0JywgJHRoaXMtPkxhbmcoJ2RhdGEnKSk7CiRzbWFydHktPmFzc2lnbignYXhpc1RpdGxlc1Bvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCdheGlzVGl0bGVzUG9zaXRpb24nKSk7CiRzbWFydHktPmFzc2lnbignYmFja2dyb3VuZENvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdiYWNrZ3JvdW5kQ29sb3InKSk7CiRzbWFydHktPmFzc2lnbignY2hhcnRBcmVhdGV4dCcsICR0aGlzLT5MYW5nKCdjaGFydEFyZWEnKSk7CiRzbWFydHktPmFzc2lnbignY29sb3JzdGV4dCcsICR0aGlzLT5MYW5nKCdjb2xvcnMnKSk7CiRzbWFydHktPmFzc2lnbignY3VydmVUeXBldGV4dCcsICR0aGlzLT5MYW5nKCdjdXJ2ZVR5cGUnKSk7CiRzbWFydHktPmFzc2lnbignZW5hYmxlSW50ZXJhY3Rpdml0eXRleHQnLCAkdGhpcy0+TGFuZygnZW5hYmxlSW50ZXJhY3Rpdml0eScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb2N1c1RhcmdldHRleHQnLCAkdGhpcy0+TGFuZygnZm9jdXNUYXJnZXQnKSk7CiRzbWFydHktPmFzc2lnbignZm9udFNpemV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvbnRTaXplJykpOwokc21hcnR5LT5hc3NpZ24oJ2ZvbnROYW1ldGV4dCcsICR0aGlzLT5MYW5nKCdmb250TmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdoQXhlc3RleHQnLCAkdGhpcy0+TGFuZygnaEF4ZXMnKSk7CiRzbWFydHktPmFzc2lnbignaEF4aXN0ZXh0JywgJHRoaXMtPkxhbmcoJ2hBeGlzJykpOwokc21hcnR5LT5hc3NpZ24oJ2hlaWdodHRleHQnLCAkdGhpcy0+TGFuZygnaGVpZ2h0JykpOwokc21hcnR5LT5hc3NpZ24oJ2ludGVycG9sYXRlZE51bGxzdGV4dCcsICR0aGlzLT5MYW5nKCdpbnRlcnBvbGF0ZWROdWxscycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpc0h0bWx0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzSHRtbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpc1N0YWNrZWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzU3RhY2tlZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpczNEdGV4dCcsICR0aGlzLT5MYW5nKCdpczNEJykpOwokc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZHRleHQnLCAkdGhpcy0+TGFuZygnbGVnZW5kJykpOwokc21hcnR5LT5hc3NpZ24oJ2xpbmVXaWR0aHRleHQnLCAkdGhpcy0+TGFuZygnbGluZVdpZHRoJykpOwokc21hcnR5LT5hc3NpZ24oJ3NsaWNlc3RleHQnLCAkdGhpcy0+TGFuZygnc2xpY2VzJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVNsaWNlQm9yZGVyQ29sb3J0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlQm9yZGVyQ29sb3InKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VUZXh0dGV4dCcsICR0aGlzLT5MYW5nKCdwaWVTbGljZVRleHQnKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VUZXh0U3R5bGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dFN0eWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ3BvaW50U2l6ZXRleHQnLCAkdGhpcy0+TGFuZygncG9pbnRTaXplJykpOwokc21hcnR5LT5hc3NpZ24oJ3JldmVyc2VDYXRlZ29yaWVzdGV4dCcsICR0aGlzLT5MYW5nKCdyZXZlcnNlQ2F0ZWdvcmllcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdzZXJpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3NlcmllcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGR0ZXh0JywgJHRoaXMtPkxhbmcoJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVSZXNpZHVlU2xpY2VDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygncGllUmVzaWR1ZVNsaWNlQ29sb3InKSk7CiRzbWFydHktPmFzc2lnbigncGllUmVzaWR1ZVNsaWNlTGFiZWx0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVJlc2lkdWVTbGljZUxhYmVsJykpOwokc21hcnR5LT5hc3NpZ24oJ3RoZW1ldGV4dCcsICR0aGlzLT5MYW5nKCd0aGVtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZXRleHQnLCAkdGhpcy0+TGFuZygndGl0bGUnKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGVQb3NpdGlvbnRleHQnLCAkdGhpcy0+TGFuZygndGl0bGVQb3NpdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZVRleHRTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygndGl0bGVUZXh0U3R5bGUnKSk7CiRzbWFydHktPmFzc2lnbigndG9vbHRpcHRleHQnLCAkdGhpcy0+TGFuZygndG9vbHRpcCcpKTsKJHNtYXJ0eS0+YXNzaWduKCd2QXhlc3RleHQnLCAkdGhpcy0+TGFuZygndkF4ZXMnKSk7CiRzbWFydHktPmFzc2lnbigndkF4aXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3ZBeGlzJykpOwokc21hcnR5LT5hc3NpZ24oJ3dpZHRodGV4dCcsICR0aGlzLT5MYW5nKCd3aWR0aCcpKTsKCgovLyB0YWIgc3R1ZmYuCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2hlYWRlcnMnLCR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKSk7CiRzbWFydHktPmFzc2lnbigndGFiaGVhZGVyX2NoYXJ0JywkdGhpcy0+U2V0VGFiSGVhZGVyKCdjaGFydCcsJHRoaXMtPkxhbmcoJ2NoYXJ0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfcHJldmlldycsJHRoaXMtPlNldFRhYkhlYWRlcigncHJldmlldycsJHRoaXMtPkxhbmcoJ3ByZXZpZXcnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfaGVhZGVycycsJHRoaXMtPkVuZFRhYkhlYWRlcnMoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9kYXRhJywkdGhpcy0+U3RhcnRUYWJDb250ZW50KCkpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9jaGFydCcsJHRoaXMtPlN0YXJ0VGFiKCdjaGFydCcsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfY2hhcnQnLCR0aGlzLT5FbmRUYWIoKSk7CiRzbWFydHktPmFzc2lnbignZW5kX3RhYl9kYXRhJywkdGhpcy0+RW5kVGFiQ29udGVudCgpKTsKCiRzbWFydHktPmFzc2lnbignd2FybmluZ19wcmV2aWV3JywkdGhpcy0+TGFuZygnd2FybmluZ19wcmV2aWV3JykpOwokZGF0YW9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiRzbWFydHktPmFzc2lnbigncHJldmlld19yZXR1cm5pZCcsCgkJJGRhdGFvcHMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCcnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxfcmV0dXJuaWQnLC0xKSwKCQkJCQkJICAgICAncHJldmlld19yZXR1cm5pZCcpKTsKewogICR0bXAgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygpOwogICR0bXAyID0gYXJyYXkoKTsKICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCiAgICB7CiAgICAgIGlmKCBzdGFydHN3aXRoKCR0bXBbJGldLCdkZXRhaWwnKSApCgl7CgkgICR4ID0gc3Vic3RyKCR0bXBbJGldLDYpOwoJICAkdG1wMlskeF0gPSAkeDsKCX0KICAgIH0KICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZXRhaWxfdGVtcGxhdGUnLCR0aGlzLT5MYW5nKCdkZXRhaWxfdGVtcGxhdGUnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGV0YWlsX3BhZ2UnLCR0aGlzLT5MYW5nKCdkZXRhaWxfcGFnZScpKTsKICAkc21hcnR5LT5hc3NpZ24oJ2RldGFpbF90ZW1wbGF0ZXMnLCR0bXAyKTsKICAkc21hcnR5LT5hc3NpZ24oJ2N1cl9kZXRhaWxfdGVtcGxhdGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X2RldGFpbF90ZW1wbGF0ZScpKTsKfQoKLy8gYW5kIGRpc3BsYXkgdGhlIHRlbXBsYXRlLgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRjaGFydC50cGwnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_chartstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0YWRtaW4nKSk7ICAKCQokYWxsY2F0ZWdvcmllcyA9IChpc3NldCgkcGFyYW1zWydhbGxjYXRlZ29yaWVzJ10pPyRwYXJhbXNbJ2FsbGNhdGVnb3JpZXMnXTonbm8nKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfbWFzc2RlbGV0ZSddKSApCiAgewogICAgaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdEZWxldGUgR0NoYXJ0cycpKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgR0NoYXJ0cycpKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydzZWwnXSkgJiYKCWNvdW50KCRwYXJhbXNbJ3NlbCddKSA+IDAgKQogICAgICB7CiAgICAgICAgZm9yZWFjaCggJHBhcmFtc1snc2VsJ10gYXMgJGdjaGFydHNfaWQgKQoJICB7CgkgICAgZ2NoYXJ0c19hZG1pbl9vcHM6OmRlbGV0ZV9jaGFydCggJGdjaGFydHNfaWQgKTsKCSAgfQogICAgICB9CiAgfQplbHNlIGlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfcmVhc3NpZ24nXSkgKQogIHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzZWwnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snc2VsJ10pICYmCgljb3VudCgkcGFyYW1zWydzZWwnXSkgPiAwICkKICAgICAgewoJJHRtcCA9IHN0cl9yZXBlYXQoJz8sJyxjb3VudCgkcGFyYW1zWydzZWwnXSkpOwoJJHRtcCA9IHN1YnN0cigkdG1wLDAsc3RybGVuKCR0bXApLTEpOwoJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHMgU0VUIGdjaGFydHNfY2F0ZWdvcnlfaWQgPSA/IFdIRVJFIGdjaGFydHNfaWQgSU4gKCcuJHRtcC4nKSc7CgkkcGFybXMgPSBhcnJheSgkcGFyYW1zWydjYXRlZ29yeSddKTsKCWZvcmVhY2goICRwYXJhbXNbJ3NlbCddICBhcyAkcCApICRwYXJtc1tdID0gJHA7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCRwYXJtcyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm9hY2hhcnRzc2VsZWN0ZWQnKSk7CiAgICAgIH0KICB9CgokY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKJGNhdGVnb3J5bGlzdFskdGhpcy0+TGFuZygnYWxsY2F0ZWdvcmllcycpXSA9ICcnOwokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHkiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRjdXJjYXRlZ29yeSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGFydF9jYXRlZ29yeScpOwokcGFnZWxpbWl0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoYXJ0X3BhZ2VsaW1pdCcsMjUpOwokcGFnZW51bWJlciA9IDE7CmlmKCBpc3NldCggJHBhcmFtc1sncGFnZW51bWJlciddICkgKQogIHsKICAgICRwYWdlbnVtYmVyID0gJHBhcmFtc1sncGFnZW51bWJlciddOwogIH0KJHN0YXJ0ZWxlbWVudCA9ICgkcGFnZW51bWJlci0xKSAqICRwYWdlbGltaXQ7CiRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hhcnRfc29ydGJ5JywnZ2NoYXJ0c19uYW1lIERFU0MnKTsKJHNvcnRsaXN0ID0gYXJyYXkoKTsKJHNvcnRsaXN0WyR0aGlzLT5MYW5nKCduYW1lX2FzYycpXSA9ICdnY2hhcnRzX25hbWUgQVNDJzsKJHNvcnRsaXN0WyR0aGlzLT5MYW5nKCduYW1lX2Rlc2MnKV0gPSAnZ2NoYXJ0c19uYW1lIERFU0MnOwokc29ydGxpc3RbJHRoaXMtPkxhbmcoJ3N0YXR1c19hc2MnKV0gPSAnc3RhdHVzIEFTQyc7CiRzb3J0bGlzdFskdGhpcy0+TGFuZygnc3RhdHVzX2Rlc2MnKV0gPSAnc3RhdHVzIERFU0MnOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2F0ZWdvcnknLCR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yeScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjYXRlZ29yeScsJGNhdGVnb3J5bGlzdCwtMSwkY3VyY2F0ZWdvcnkpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc2hvd2NoaWxkY2F0ZWdvcmllcycsCgkJJHRoaXMtPkxhbmcoJ3Nob3djaGlsZGNhdGVnb3JpZXMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsY2F0ZWdvcmllcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdhbGxjYXRlZ29yaWVzJywneWVzJywkYWxsY2F0ZWdvcmllcykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zb3J0aW5nJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X3NvcnRpbmcnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydGluZycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdzb3J0YnknLCRzb3J0bGlzdCwtMSwkc29ydGJ5KSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3BhZ2VsaW1pdCcsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9wYWdlbGltaXQnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFnZWxpbWl0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ3BhZ2VsaW1pdCcsCgkJCQkJICAgYXJyYXkoJzUnPT41LCcyNSc9PjI1LCc1MCc9PjUwLAoJCQkJCQkgJzEwMCc9PjEwMCwnNTAwJz0+NTAwLCcxMDAwJz0+MTAwMCwkdGhpcy0+TGFuZygndW5saW1pdGVkJyk9Pjk5OTk5OTk5OSksLTEsJHBhZ2VsaW1pdCkpOwoJCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkKLy9Mb2FkIHRoZSBjdXJyZW50IGNoYXJ0cwokZW50cnlhcnJheSA9IGFycmF5KCk7CgokZGJyZXN1bHQgPSAnJzsKCiRxdWVyeTEgPSAiU0VMRUNUIG4uKiwgbmMuZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzIG4gTEVGVCBPVVRFUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIG5jIE9OIG4uZ2NoYXJ0c19jYXRlZ29yeV9pZCA9IG5jLmdjaGFydHNfY2F0ZWdvcnlfaWQgIjsKJHF1ZXJ5MiA9ICJTRUxFQ1QgY291bnQobi5nY2hhcnRzX2lkKSBBUyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyBuIExFRlQgT1VURVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBuYyBPTiBuLmdjaGFydHNfY2F0ZWdvcnlfaWQgPSBuYy5nY2hhcnRzX2NhdGVnb3J5X2lkICI7CiRwYXJtcyA9IGFycmF5KCk7CmlmICgkY3VyY2F0ZWdvcnkgIT0gJycpCiAgewogICAgJHF1ZXJ5MSAuPSAiIFdIRVJFIG5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBMSUtFID8iOwogICAgJHF1ZXJ5MiAuPSAiIFdIRVJFIG5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBMSUtFID8iOwogICAgaWYoICRhbGxjYXRlZ29yaWVzID09ICd5ZXMnICkKICAgICAgewoJJHBhcm1zW10gPSAkY3VyY2F0ZWdvcnkuJyUnOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRwYXJtc1tdID0gJGN1cmNhdGVnb3J5OwogICAgICB9CiAgfQokcXVlcnkxIC49ICcgT1JERVIgYnkgJy4kc29ydGJ5OwovLyRxdWVyeTEgLj0gIiBMSU1JVCAkcGFnZWxpbWl0IE9GRlNFVCAkc3RhcnRlbGVtZW50IjsKCi8vIGlmIGlzIGRvbmUgdG8gaGVscCBhZG9kYi4KJG51bXJvd3MgPSAtMTsKaWYoIGNvdW50KCRwYXJtcykgKQogIHsKICAgICRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoICRxdWVyeTEsICRwYWdlbGltaXQsICRzdGFydGVsZW1lbnQsICRwYXJtcyk7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5MiwkcGFybXMpOwogICAgJG51bXJvd3MgPSAkcm93Wydjb3VudCddOwogIH0KZWxzZQogIHsKICAgICRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoICRxdWVyeTEsICRwYWdlbGltaXQsICRzdGFydGVsZW1lbnQpOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeTIpOwogICAgJG51bXJvd3MgPSAkcm93Wydjb3VudCddOwogIH0KCiRwYWdlY291bnQgPSAoaW50KSgkbnVtcm93cy8kcGFnZWxpbWl0KTsKaWYoICgkbnVtcm93cyAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7Ci8vIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5LgppZiggJHBhZ2VudW1iZXIgPT0gMSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2cGFnZScsJzwnKTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywnPDwnKTsKICB9CmVsc2UKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLAoJCQkJICAgICAgJHJldHVybmlkLCc8JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+JHBhZ2VudW1iZXItMSwKCQkJCQkgICAgJ2FjdGl2ZV90YWInPT4nY2hhcnRzJykpKTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLAoJCQkJICAgICAgJHJldHVybmlkLCc8PCcsCgkJCQkgICAgICBhcnJheSgncGFnZW51bWJlcic9PjEsCgkJCQkJICAgICdhY3RpdmVfdGFiJz0+J2NoYXJ0cycpKSk7CiAgfQppZiggJHBhZ2VudW1iZXIgPj0gJHBhZ2Vjb3VudCApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsJz4nKTsKICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCc+PicpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsCgkJCQkgICAgICAkcmV0dXJuaWQsJz4nLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlcisxLAoJCQkJCSAgICAnYWN0aXZlX3RhYic9PidjaGFydHMnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsCgkJICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCSAgICAgICRyZXR1cm5pZCwnPj4nLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZWNvdW50LAoJCQkJCSAgICAnYWN0aXZlX3RhYic9PidjaGFydHMnKSkpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywkcGFnZW51bWJlcik7CiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywkcGFnZWNvdW50KTsKJHNtYXJ0eS0+YXNzaWduKCdvZnRleHQnLCR0aGlzLT5MYW5nKCdwcm9tcHRfb2YnKSk7Cgokcm93Y2xhc3MgPSAncm93MSc7CgokYWRtaW50aGVtZSA9JiAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ107CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CiAgICAKICAgICRvbmVyb3ctPmlkID0gJHJvd1snZ2NoYXJ0c19pZCddOwogICAgJG9uZXJvdy0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjaGFydCcsICRyZXR1cm5pZCwgJHJvd1snZ2NoYXJ0c19uYW1lJ10sIGFycmF5KCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSk7CiAgICAkb25lcm93LT5kYXRhID0gJHJvd1snZ2NoYXJ0c19kYXRhJ107CiAgICAkb25lcm93LT5zdGF0dXMgPSAkdGhpcy0+TGFuZygkcm93WydzdGF0dXMnXSk7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogICAgICB7CglpZiggJHJvd1snc3RhdHVzJ10gPT0gJ3B1Ymxpc2hlZCcgKQoJICB7CgkgICAgJG9uZXJvdy0+YXBwcm92ZV9saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhcHByb3ZlY2hhcnQnLAoJCQkJCQkgICAgJHJldHVybmlkLAoJCQkJCQkgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZygncmV2ZXJ0JyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgnYXBwcm92ZSc9PjAsJ2NoYXJ0aWQnPT4kcm93WydnY2hhcnRzX2lkJ10pKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJG9uZXJvdy0+YXBwcm92ZV9saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhcHByb3ZlY2hhcnQnLAoJCQkJCQkgICAgJHJldHVybmlkLAoJCQkJCQkgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcoJ2FwcHJvdmUnKSwnJywnJywnc3lzdGVtaWNvbicpLGFycmF5KCdhcHByb3ZlJz0+MSwnY2hhcnRpZCc9PiRyb3dbJ2djaGFydHNfaWQnXSkpOwoJICB9CiAgICAgIH0KICAgICRvbmVyb3ctPmNhdGVnb3J5ID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ107CgogICAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CiAgICAKICAgICRvbmVyb3ctPnNlbGVjdCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnc2VsW10nLCRyb3dbJ2djaGFydHNfaWQnXSk7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIHsKICAgICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2hhcnQnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSk7CiAgICB9CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRGVsZXRlIEdDaGFydHMnKSApCiAgICAgIHsKCSRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVjaGFydCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CiAgICAgIH0KICAgIAogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CiAgICAKICAgICgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwogIH0KCiRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIHsKICAkc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjaGFydCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGNoYXJ0JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNoYXJ0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkY2hhcnQnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7Cn0KCiRzbWFydHktPmFzc2lnbignZm9ybTJzdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZm9ybTJlbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9yZWFzc2lnbicsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0X3JlYXNzaWduJywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJGNhdGVnb3J5bGlzdCA9IGdjaGFydHNfb3BzOjpnZXRfY2F0ZWdvcnlfbGlzdCgpOwokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5aW5wdXQnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnY2F0ZWdvcnknLCRjYXRlZ29yeWxpc3QpKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0RlbGV0ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0X21hc3NkZWxldGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXRfbWFzc2RlbGV0ZScsJHRoaXMtPkxhbmcoJ2RlbGV0ZV9zZWxlY3RlZCcpLAoJCQkJCSAgICAgJycsJycsJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnKSkpOwogIH0KCiRzbWFydHktPmFzc2lnbigncmVhc3NpZ250ZXh0JywkdGhpcy0+TGFuZygncmVhc3NpZ25fY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbignc2VsZWN0dGV4dCcsJHRoaXMtPkxhbmcoJ3NlbGVjdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXN0ZXh0JywkdGhpcy0+TGFuZygnc3RhdHVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXRldGV4dCcsJHRoaXMtPkxhbmcoJ3N0YXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2NoYXJ0aWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2lkJykpOwokc21hcnR5LT5hc3NpZ24oJ2VsZW1lbnR0ZXh0JywgJHRoaXMtPkxhbmcoJ2VsZW1lbnQnKSk7CiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCAkdGhpcy0+TGFuZygnbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbignZGF0YXRleHQnLCAkdGhpcy0+TGFuZygnZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdheGlzVGl0bGVzUG9zaXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ2F4aXNUaXRsZXNQb3NpdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYWNrZ3JvdW5kQ29sb3J0ZXh0JywgJHRoaXMtPkxhbmcoJ2JhY2tncm91bmRDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdjaGFydEFyZWF0ZXh0JywgJHRoaXMtPkxhbmcoJ2NoYXJ0QXJlYScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjb2xvcnN0ZXh0JywgJHRoaXMtPkxhbmcoJ2NvbG9ycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJ2ZVR5cGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2N1cnZlVHlwZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmFibGVJbnRlcmFjdGl2aXR5dGV4dCcsICR0aGlzLT5MYW5nKCdlbmFibGVJbnRlcmFjdGl2aXR5JykpOwokc21hcnR5LT5hc3NpZ24oJ2ZvY3VzVGFyZ2V0dGV4dCcsICR0aGlzLT5MYW5nKCdmb2N1c1RhcmdldCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb250U2l6ZXRleHQnLCAkdGhpcy0+TGFuZygnZm9udFNpemUnKSk7CiRzbWFydHktPmFzc2lnbignZm9udE5hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvbnROYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2hBeGVzdGV4dCcsICR0aGlzLT5MYW5nKCdoQXhlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdoQXhpc3RleHQnLCAkdGhpcy0+TGFuZygnaEF4aXMnKSk7CiRzbWFydHktPmFzc2lnbignaGVpZ2h0dGV4dCcsICR0aGlzLT5MYW5nKCdoZWlnaHQnKSk7CiRzbWFydHktPmFzc2lnbignaW50ZXJwb2xhdGVkTnVsbHN0ZXh0JywgJHRoaXMtPkxhbmcoJ2ludGVycG9sYXRlZE51bGxzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzSHRtbHRleHQnLCAkdGhpcy0+TGFuZygnaXNIdG1sJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzU3RhY2tlZHRleHQnLCAkdGhpcy0+TGFuZygnaXNTdGFja2VkJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzM0R0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzM0QnKSk7CiRzbWFydHktPmFzc2lnbignbGVnZW5kdGV4dCcsICR0aGlzLT5MYW5nKCdsZWdlbmQnKSk7CiRzbWFydHktPmFzc2lnbignbGluZVdpZHRodGV4dCcsICR0aGlzLT5MYW5nKCdsaW5lV2lkdGgnKSk7CiRzbWFydHktPmFzc2lnbignc2xpY2VzdGV4dCcsICR0aGlzLT5MYW5nKCdzbGljZXMnKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VCb3JkZXJDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VCb3JkZXJDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHRTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VUZXh0U3R5bGUnKSk7CiRzbWFydHktPmFzc2lnbigncG9pbnRTSXpldGV4dCcsICR0aGlzLT5MYW5nKCdwb2ludFNpemUnKSk7CiRzbWFydHktPmFzc2lnbigncmV2ZXJzZUNhdGVnb3JpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3JldmVyc2VDYXRlZ29yaWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3Nlcmllc3RleHQnLCAkdGhpcy0+TGFuZygnc2VyaWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZHRleHQnLCAkdGhpcy0+TGFuZygnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVJlc2lkdWVTbGljZUNvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdwaWVSZXNpZHVlU2xpY2VDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVSZXNpZHVlU2xpY2VMYWJlbHRleHQnLCAkdGhpcy0+TGFuZygncGllUmVzaWR1ZVNsaWNlTGFiZWwnKSk7CiRzbWFydHktPmFzc2lnbigndGhlbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RoZW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZVBvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZVBvc2l0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlVGV4dFN0eWxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZVRleHRTdHlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0b29sdGlwdGV4dCcsICR0aGlzLT5MYW5nKCd0b29sdGlwJykpOwokc21hcnR5LT5hc3NpZ24oJ3ZBeGVzdGV4dCcsICR0aGlzLT5MYW5nKCd2QXhlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd2QXhpc3RleHQnLCAkdGhpcy0+TGFuZygndkF4aXMnKSk7CiRzbWFydHktPmFzc2lnbignd2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ3dpZHRoJykpOwoKJGdDbXMgPSBjbXNtcygpOwokdGhlbWUgPSYgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwokY29uZmlnID0gJHRoaXMtPkdldENvbmZpZygpOwokdGhlbWVkaXIgPSAkY29uZmlnWydhZG1pbl91cmwnXS4nL3RoZW1lcy8nLiR0aGVtZS0+dGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL3N5c3RlbSc7Cgokc21hcnR5LT5hc3NpZ24oJ2ljb251cmwnLCR0aGVtZWRpcik7CgojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NoYXJ0bGlzdC50cGwnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/GCharts.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBHQ2hhcnRzIGV4dGVuZHMgQ01TTW9kdWxlCnsKCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuICdHQ2hhcnRzJzsKICB9CgogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4wJzsKICB9CgogIGZ1bmN0aW9uIEdldEhlbHAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogIH0KCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ29saXZlcnNlZGRvbic7CiAgfQoKICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJzsKICB9CgogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdjb250ZW50JzsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CgogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBHQ2hhcnRzJyk7CiAgfQoKICBmdW5jdGlvbiBHZXREYXNoYm9hcmRPdXRwdXQoKSAKICB7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKCSRyY291bnQgPSAkZGItPkdldE9uZSgnc2VsZWN0IGNvdW50KCopIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzJyk7CgkKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZGFzaF9yZWNvcmRfY291bnQnLCRyY291bnQpOwogIH0KCiAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICAgIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CgogICAgICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICB9CgogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjExIjsKICB9CgogIGZ1bmN0aW9uIE1heGltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuMTUiOwogIH0KCiAgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKCXsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZ2NoYXJ0c19pZCcsICcxJywgJHRoaXMtPkxhbmcoJ2hlbHBfZ2NoYXJ0c19pZCcpKTsKCX0KCiAgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkKICB7CiAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgIAoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9nY2hhcnRzXC92aWV3XC8oP1A8Z2NoYXJ0c19pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJyxhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7ICAKCQoJJGdDbXMgPSBjbXNtcygpOwoJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCSRyZXR1cm5pZCA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOwoJLy8gVGhlIHByZXZpb3VzIHRocmVlIGxpbmVzIGFyZSB0byBnZXQgYSByZXR1cm5pZDsgbWFueSBtb2R1bGVzLCBsaWtlIE5ld3MsIGhhdmUgYSBkZWZhdWx0CgkvLyBwYWdlIGluIHdoaWNoIHRvIGRpc3BsYXkgZGV0YWlsIHZpZXdzLiBJbiB0aGF0IGNhc2UsIHRoZSBwYWdlX2lkIHdvdWxkIGJlIHVzZWQgZm9yIHJldHVybmlkLgoJCgkvLyBUaGUgbmV4dCB0aHJlZSBsaW5lcyBhcmUgd2hlcmUgd2UgbWFwIHRoZSBVUkwgdG8gb3VyIGRldGFpbCBwYWdlLgoJJHBhcm1zID0gYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JywnZ2NoYXJ0c19pZCc9PjEsJ3JldHVybmlkJz0+JHJldHVybmlkKTsKCSRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgndGhpcy9pcy9pbnNhbmVseS9ncmVhdC9zdHVmZicsJHRoaXMtPkdldE5hbWUoKSwkcGFybXMsVFJVRSk7CgljbXNfcm91dGVfbWFuYWdlcjo6cmVnaXN0ZXIoJHJvdXRlKTsKCQogIAogICAvLyBEb24ndCBhbGxvdyBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIG9uZXMgeW91J3ZlIGV4cGxpY2l0bHkgZGVmaW5lZAogICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgCiAgIC8vIHN5bnRheCBmb3IgY3JlYXRpbmcgYSBwYXJhbWV0ZXIgaXMgcGFyYW1ldGVyIG5hbWUsIGRlZmF1bHQgdmFsdWUsIGRlc2NyaXB0aW9uCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2djaGFydHNfaWQnLCAtMSwgJHRoaXMtPkxhbmcoJ2hlbHBfZ2NoYXJ0c19pZCcpKTsKCiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdnY2hhcnRzX2lkJyxDTEVBTl9JTlQpOwoKICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbW9kdWxlX21lc3NhZ2UnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX21vZHVsZV9tZXNzYWdlJykpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbW9kdWxlX21lc3NhZ2UnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCduYW1lJywnJywkdGhpcy0+TGFuZygnaGVscF9kZXNjcmlwdGlvbicpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25hbWUnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjb250ZW50JywnJywkdGhpcy0+TGFuZygnaGVscF9leHBsYW5hdGlvbicpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NvbnRlbnQnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdsb2NhdGlvbicsJycsJHRoaXMtPkxhbmcoJ2hlbHBfZXhwbGFuYXRpb24nKSk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsb2NhdGlvbicsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2F1dGhvcicsJycsJHRoaXMtPkxhbmcoJ2hlbHBfYXV0aG9yJykpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYXV0aG9yJyxDTEVBTl9TVFJJTkcpOwoKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhbmNlbCcsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnRieScsICdkb2N1bWVudF9kYXRlJywgJHRoaXMtPmxhbmcoJ2hlbHBzb3J0YnknKSk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0ZGVzYycsICd0cnVlJywgJHRoaXMtPmxhbmcoJ2hlbHBzb3J0ZGVzYycpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRkZXNjJyxDTEVBTl9TVFJJTkcpOwoKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Bvc3RkYXRlJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGVfSG91cicsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Bvc3RkYXRlX01pbnV0ZScsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Bvc3RkYXRlX1NlY29uZCcsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Bvc3RkYXRlX01vbnRoJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGVfRGF5JyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGVfWWVhcicsQ0xFQU5fU1RSSU5HKTsKCiAgCiAgfQoKICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uICggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9pbmZvXycuJGV2ZW50bmFtZSApOwogIH0KCiAgZnVuY3Rpb24gR2V0RXZlbnRIZWxwICggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9oZWxwXycuJGV2ZW50bmFtZSApOwogIH0KCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICB9CgoKCWZ1bmN0aW9uIFNlYXJjaFJlc3VsdCgkcmV0dXJuaWQsICRhcnRpY2xlaWQsICRhdHRyID0gJycpIHsKCQkkZG9jdW1lbnRpZCA9ICRwYXJhbXNbJ2djaGFydHNfaWQnXTsNCgkJaWYgKCFlbXB0eSgkY2hhcnRpZCkpICRyZXR1cm5pZCA9ICRjaGFydGlkOw0KCQkkcmVzdWx0ID0gYXJyYXkoKTsNCgkJaWYgKCRhdHRyID09ICdnY2hhcnRzJykgew0KCQkJJGRiICA9IGNtc21zKCktPkdldERiKCk7DQoJCQkkcSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2djaGFydHMgV0hFUkUgZ2NoYXJ0c19pZCA9ID8nOw0KCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxLCBhcnJheSgkYXJ0aWNsZWlkKSApOw0KCQkJaWYgKCRyb3cpIHsNCgkJCQkkcmVzdWx0WzBdID0gdXRmOF9lbmNvZGUoaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5HZXRGcmllbmRseU5hbWUoKSkpOw0KCQkJCSRyZXN1bHRbMV0gPSAkcm93WyduYW1lJ107CgkJCQkkcHJldHR5dXJsID0gJ3VwbG9hZHMvZ2NoYXJ0cy9pZCcuJHJvd1snZ2NoYXJ0c19pZCddLicvJy4kcm93Wydsb2NhdGlvbiddOwoJCQkJJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCdjbnRudDAxJywgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgDQoJCQkJICAgICAgIGFycmF5KCdnY2hhcnRzX2lkJyA9PiAkcm93WydnY2hhcnRzX2lkJ10pLA0KCQkJCSAgICAgICAnJywgdHJ1ZSwgdHJ1ZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAkcmVzdWx0Ow0KCX0KCgoJZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgmJG1vZHVsZSkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBPUkRFUiBCWSBnY2hhcnRzX2lkJzsKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgoJCXdoaWxlICgkcmVzdWx0ICYmICEkcmVzdWx0LT5FT0YpIHsKCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldG5hbWUoKSwgJHJlc3VsdC0+ZmllbGRzWydnY2hhcnRzX2lkJ10sICdnY2hhcnRzJywgJHJlc3VsdC0+ZmllbGRzWydjb250ZW50J10sIE5VTEwpOwoJCQkkcmVzdWx0LT5Nb3ZlTmV4dCgpOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gRG9BY3Rpb24gKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybl9pZCA9IC0xKSB7CgkJc3dpdGNoICgkYWN0aW9uKSB7CQoJCQljYXNlICd1cGRhdGV0ZW1wbGF0ZSc6IHsKCQkJCS8vIGNoZWNrIHBlcm1pc3Npb25zIGFnYWluCgkJCQlpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01vZGlmeSBUZW1wbGF0ZXMnKSkgewoJCQkJCWlmIChpc3NldCAoJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddKSkgewoJCQkJCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9nY2hhcnRzX2xpc3QudHBsJzsKCQkJCQkJaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CgkJCQkJCQkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCQkJCQkJCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ2RldGFpbFNhbXBsZScsICR0ZW1wbGF0ZSk7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQkkdGhpcy0+U2V0VGVtcGxhdGUgKCdkZXRhaWxTYW1wbGUnLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSk7CgkJCQkJfQoJICAJCQkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGV1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKTsKCSAgCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJCQkJfQoJCQl9CgoJCQlkZWZhdWx0OgoJCQkJcGFyZW50OjpEb0FjdGlvbiggJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkICk7CgkJCQlicmVhazsKCQl9Cgl9CgoKCgp9IC8vZW5kIGNsYXNzCj8+]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/appicons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/appicons/DOCicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AEyeCg+bTZKZDdLZQgviwU2ggg8iAZCmwlLsiFMmjpamDJbtipitzhhrjppuE1qp0BmtERquVVtpF11q2d+s0JuxEl0zFJ3ylV7zl99w1h+0XeKnGCBzWeK1XeR1XyX2Hij63ul6Hyk6ZOit5WkuZamu5movoOc2oCe5ouk3ZyrwJCu1p243p6434Cn54Gn54Sr5oWs5oml6Yit5Yqu5Iyv5I+x45Or5pGx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a260K290q6+1K+836q+8bDA1rHB17LC2LrF1LfI9MnS4sfa+Mnb+crb+Mzd+M7e+M7e+dbc6tDg+dLh+tLi+tPi+tPi+9bk+tbk+9fl+tfl+9zi9Njl+tnm+9rm+9rn+9zo+93p+9/q++Hq++Hr++Ls++Hs/OLs/OTt/OXt/Obu/Ofv/Ojv/Ojw/enw/Onw/enx/e30/e/0/e/1/fb29vb29/f39/Dy+vL2/vP3/vT3/vP4/vT4/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj1AAkJrEJlCpQnTZIgOWJkkMAgQXjISHGCRIgPFg79odFAEKEgi0KKDCkBESAXVjrykBLDxBcTaTjMkKAoUIsGOGWkiTEizYY0GUpIqFHDD5MlDVAsQrEhyoQZFLBESFSDDx0lDE4s8rChw4MKCxZFMFQDDxwbDEQs4kDhyoMHThZBAFTDzpsiDEAscnCh0AMNIR8QjcNmCAMMI0cq0FPHTRkgDCxImByhMoQHCoiiCeODgUBCMPb02ZPnjhw3Z8Z42eFZ4Is5dYjKrtFlS47WhFywabNGjRkyYLhoycICdwsxN4oQEfKjhw4cK1TgZkC9uvXqAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/appicons/DOCXicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AEyeCg+bTZKZDdLZQgviwU2ggg8iAZCmwlLsiFMmjpamDJbtipitzhhrjppuE1qp0BmtERquVVtpF11q2d+s0JuxEl0zFJ3ylV7zl99w1h+0XeKnGCBzWeK1XeR1XyX2Hij63ul6Hyk6ZOit5WkuZamu5movoOc2oCe5ouk3ZyrwJCu1p243p6434Cn54Gn54Sr5oWs5oml6Yit5Yqu5Iyv5I+x45Or5pGx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a260K290q6+1K+836q+8bDA1rHB17LC2LrF1LfI9MnS4sfa+Mnb+crb+Mzd+M7e+M7e+dbc6tDg+dLh+tLi+tPi+tPi+9bk+tbk+9fl+tfl+9zi9Njl+tnm+9rm+9rn+9zo+93p+9/q++Hq++Hr++Ls++Hs/OLs/OTt/OXt/Obu/Ofv/Ojv/Ojw/enw/Onw/enx/e30/e/0/e/1/fb29vb29/f39/Dy+vL2/vP3/vT3/vP4/vT4/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj1AAkJrEJlCpQnTZIgOWJkkMAgQXjISHGCRIgPFg79odFAEKEgi0KKDCkBESAXVjrykBLDxBcTaTjMkKAoUIsGOGWkiTEizYY0GUpIqFHDD5MlDVAsQrEhyoQZFLBESFSDDx0lDE4s8rChw4MKCxZFMFQDDxwbDEQs4kDhyoMHThZBAFTDzpsiDEAscnCh0AMNIR8QjcNmCAMMI0cq0FPHTRkgDCxImByhMoQHCoiiCeODgUBCMPb02ZPnjhw3Z8Z42eFZ4Is5dYjKrtFlS47WhFywabNGjRkyYLhoycICdwsxN4oQEfKjhw4cK1TgZkC9uvXqAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/appicons/PDFicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8B0dHSQkJD4+PnJydHNzdXV1eH9/gYEFB4sBA6sCBdsBBNcaHdsaHt08O+kBBe4BBPUBBPoBBP8BBf8FCf8HC/8MEP8NEv8TGP8WGv8bH/8iJf8oK/svM/8yNf83Ov84O/8+QN9PTtNSU9NlaedISOdJSulMTeNbW+1TU/9CRf9JTf9UV+JeYOFwceVxcep9fP9iZP9rbf91d/59gIGBhYiIjYqKjYyMjqmpqaqqqqiorKysrK2tra+vr7Gxsba2tre3t7KyuLu7u7y8vL29vb6+vr+/v7q6wLy8wr6+xtuEhti2ueWNj+aPkOianemqquqqq+q8vsDAwMHBwcXFxcbGxsfHx8PDy8jIyMvLy8zMzM3Nzc7OztDQ0NHR0dLS0tPT09TU1NXV1djY2NnZ2dra2tvb29zb29zc3N3d3d7e3t/f3+vT1ujb2+/a3ODg4OHh4eLi4uPi4+Tk5OXl5ebm5ufn5+/i5ejo6Onp6erq6uvr6+zs7O3t7e7u7uTt8Ont8e/w8vHx8fLy8vPz8/T09PX19fb29vf39/D///v7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjxACUJXIPESBGDRYocySOwoaQnYaZIibKEyI86RuAI7LGjBo0ZKlKcMGHBB6U6QjTyQEFCBAgPHDRgmNCA0skifXSUGBHiQ4cNGShIAPLAAYQgaSpIWMp0aYQ/Y7wwEdOkYZc1ZM7QYREnT5s0YNwksZqHzZxHK/gY8gPHjB4kVvu8MXTnApZHiPysAVTEKiA9kHIouqIlkqA3g/oK7GKIkB0YWbK8cCGDCiPFkro0chRjC55FkxJVaUEIc5dANqw4KgTIT543ZeaYvoGDUR89ctqgOXNADWYolSQdIvRnT+40X9QMaeiEwYLn0J8rYKAkIAA7]]></data>
	</file>
	<file>
	  <filename>/images/appicons/UFOicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AgICFVVVQAAmQAA/wCAAAD//4AAAP8AAP/MM///AIaGhpmZmcvLy8zMzOfn1vf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAh8ACkIHEiwQoaDBylgWMiQYYUFCDNQ0ECxYsUKGiAmtMjx4QKNEwmKVGABpAYKDCQwWMlSQcaNKFnKdGlyIkcNGGjC1DAhAMUGOHVKPKkhQAQNDR40yPlyqE2fGgQIYFqzYUOhExVo3cq1qc2bFkFeGEu27FiNH9OqXXswIAA7]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAGWJwtbZ65CGvVtlrK7G45612kev3UZirUpAl1ac0VI2kIWSxYuMwU08lEK14mOKxE2m10NXpo2+4D9PoUdFmkSz4G5iqVA4kTFgrovB42yJwkyo2Uaw3kBNoGGOxmqZzDVcq4G74U86k2GCv2V9uzNerF+RyHaq11yUy2KMxTRdrHyo1Lev01M1j3Z+urTM5WeGwShstlyTyvL2+vTz+F+FwTlXpzxSpFUyjS1msmiDvyVxui9lsZ2eyzdZqYSWyFYxjFguilmc0CpqtCZuuFwqh1Se0ViZzlabz1Oe0lWd0Vab0EVHnFOf00ZGm1Kh1ERInUJLn1Gh1E2n2EhDmVCj1VmXzVmYzlCk1j1Roz5Qoks/lklCmFCi1TtUpThYqEqq2kit3ViYzlqWzDpVplOg01eazz1So0+k1kms3FKg1E48lFGi1FQ0jjZaqkw+lkNJnUuq2k+k10NKnleazkw9lUhEmUqr206m10pBl0BOoUFMn1uVy0up2k47lDVbqk+l10qq21A5kk6l10yp2kJKnoiQxFcwi3u53y9jsFosiSlrtZq73VmYzYNUn0NJnkmt3CtptFmMxlUzjkWx4Ju53FSSyszJ4ixos0Z2umyTyXBfp57H5ZLB41aQyHu84efr9cLg8Ze/4P7+/nSUyHCQxq2+3WV2tlmZzmtxsmqCvtXT54GZymp+u93d7XGMwyhtt5fK52KUy157umKYzXam1L3U6Xql0uDj8HGw2oifzfT5/GGNxWGNxtvg72uf0J2v1rbD4Geo12+k0m+t2V2SyTpWppy/4Oby+lOGw3h4tX1+upScyqzR6tTm89nm89rq9VqQyFgvi1OTy8PF4FduszxTpJi935igzMvg8GeFwMTX68zZ7FqVzGBToczo9a7L5TZaqWCPx8vn9WiEv5fF5OLq9Zuy1zh3vForiGFfqClrtl5ZpWpjqoy/4pK94EVLn2qBvWd6uUBosUhrskxyt5mdylktiVktim+y3GWHwoa43TpxuIdaol8jg////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRGNjJCMjA4NjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRGNjJCMjA5NjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEMxOERFN0Y2MDI2MTFFMjkyQ0VDQTZDMUFGRUUxQkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEMxOERFODA2MDI2MTFFMjkyQ0VDQTZDMUFGRUUxQkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAIAAgAAAI/wD7CRxIsKDBgwWNJGlS5omULlXQAMIzZcqGPmAC3UkTxoABDhwoVajgoKTAJQmUKGyi5gmbKljkDIJgkVAcMBshdfwocqTAI2aQLFGpsOFDmHIoWuxzc2OYjiApCbRyRcwRoSlXtnyIRSJNizcDpdHpUSCfbmOoHqGDVeVChy9jDqq4wSZOjgKLyUDBJ20jq0GzLjQKUaLSixkFmjChl29ftWxRumXpEiaamTUFihO3+IQECe7cZQiRSwhQoUSTEEZKUWAKXh7EifpHu/a/cYiqXpWs1WGXrgIfPEiR4prt4xnSXlnbVqsUNgIBSH/AiPa7X8P2QaM9itjjv6cFM/8UCAOGPgCVaDNK0cvDB2e0m+3lIyzEp3xCImcVqIOcNhgF0FbJcMStQBsytMhSjm3f5HbaEgLFo4oOOgT4TwHSATBcNrTVcsw/u3DSSSj/xIIKVVb144g8JLQIDG3njCBjDTXYQtsK2/wDjiSSRHOCJ55YIuQ0jviThTVekPEDbay48QcIKmDwAm3JEPDPMx+gM8QiMcBCBBE77OCPP3pokcUZC9D2wxc++ODGPObQlkkpM9A2AwG3aLlOl0SMGUUHekxgCG0LkGGMDV+8Qhs3JZSgQTC2vcBPJFvGMCYUc0SxBwO0GXIGktWAQpsuTqpQAj0amEKbJjlggkkkYzr/wQQUUHD6Tw8uuMAMLrT5csAXByxwAJSz0EZKIonwkMOYVNhBgRMCHFdbAKd4EQEL/6xiDzbU/BNAPRhggOyYCOTBBRXR2kbDJfYMYOYZA7BAQ22utAJlCeGOWccbW+ThzSYWBNwOO/AU8megZqqjzDKpRNBmOE+qMKYIfjTAb7nn2iHrrJnuAegEWnya5KFsujHmBRcI4sca+25RbrPPzgqHwR6DnMUNSJKB6JgtKKBAyhQ3sC/GMMsKxSOafmzmDUmOicMkbfT8syAisHyxuVTEDAUcHQP67pjSHALE0234DPTKLWPtrNGPGPzxmIrcE0TYZEt9tsUuq70xppqOHllEEekogk/YY0PdM8oqW5130TKP6fjjkEcueeQBAQA7]]></data>
	</file>
	<file>
	  <filename>/images/icon@2x.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPcAALaz1nuUyIi84ElCmEBNoC5lsUJKnkyo2WWJwuz1+8jI4czC3VKg1Gij00aw34Ko1ESy4E86kzFhrlguilp9vImbymF0tne13T9OoaSkzmOKxM3h8Fac0Ih9t93r9UdFmktAl008lFI2kEev3WGOxs7Z7Keo0KrU7F+QyIOEvZzE47XJ5DNerFA4kdHd702m11OGwjVcq0K14lhrsVGJxVyUy7jA3TlXp2aGwUJosYOx2XKk00Virdzl8p273VM1j8bN5aq73GmDv3uDvVyTyjxSpKXC4ePy+TdZqW6czsjL4zhYqGuAvbrd8CVxulYxjPP0+bvc756byHyr15vI5kRUpFUyjf7+/lsqhyhstmKMxZ2r00+Mx77K5PH4/KTO6ZnL6CpqtF6YzdfZ63ui0GSZzZq22k2OyIa53yZuuDpWpidtt9rt+GSDv0RZp8TO5l6h0l93uFosicrG4JLG5jJutmlmrFSe0UVHnFWd0Vab0FmYzlabz1Oe0liZzlOf002n2FKh1EZGmz5QokRInVmXzVCj1VCk1ks/lj1Ro1qWzEit3TtUpVuVy1eazleaz0qq2jpVpliYzkuq2lOg0zVbqlmYzUqr21Ci1Ums3ENJnlGi1FQ0jk6l10+k1kw+lkhDmT1So0+k10pBl0FMn048lENJnUw9lU6m10+l1047lEup2l2SyVqVzClrtStptDxTpEqq2zZaqjZaqWWHwmGNxlUzjjRdqytos0mt3GGNxWiEvy9jsGqCvl6SyVcwjFgvi2eFwH5Nm1+PyGCPxylrtixns8/g72iFwJqx18zk809XpXFvsXx2tcTG4FyXzIqPw5GNwVmd0U9dqVJ2uFB9veHg719ws8Lf8Ofs9aTJ5qrF410ohmKd0M7k8j5So0hwtm6KwnKNxdHZ69Lc7U9nr2x/vGd/vFqZzkeBwE+BwLHZ7rrT6a/M5pay2Lav05W+3/Dx+Mfi8j1Wpk9PoINvr4+228TX687T6GKVy2iRyDtfrT9erIdaol8jg////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRGNjJCMjBDNjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRGNjJCMjBENjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEY2MkIyMEE2MDI3MTFFMjkyQ0VDQTZDMUFGRUUxQkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEY2MkIyMEI2MDI3MTFFMjkyQ0VDQTZDMUFGRUUxQkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAQABAAAAI/wD7CRxIsKDBgwgTKlzIsKHDhwrv3OnT588fSgwCadyEyZChQ55EpeqE6gWgkwcOrFo1CRKkWJcuZcq0qOaImyMc6HQAoadPGUCDEuSQR+LEihg1bvR4CKTITiZPAkrJsuVLmZly1VyEc6dOnz+BEtTDgWhRiRUvZtzY8eOhpyWlUq16FatWrl13gu0pg+AjPnrImkWblpLSQBzdhhyJSupUlZOswpR5F29Or2AJ+nH0FzDZPGePqj3ctmlIklFRrozsMubMynm/QiC4R5KfzX8DlwVN2GJStkwXo5arkqXLyTO34rzsgGAhS3tq3+6sm6hRiqOVJjb9NPVjuldfK/+/2XygIkWFnke/zZkP4N2hC69FXBok49RzWSPPanMEwUaNtHJeetHZhptn8PV20WHbOXUfcasd59pdBNVQA4ABoqeedO0hyFtvv2lU32lxybWaZFgRxAoRRFgIoIAaQmdgh4J9iF129AUHF37FoUiQL6wEyeKFLw4InXR+UFfjdWnNlyN3I3lHFWsEoeDLlUK2SGQjA27IHnUJouXbfIkp9iBKxRE0DApsYpmlixlqWOCXCA4m2oLalSZciVMRRAwxw6xppZsrwplhekfaRuNn8SHl5IiiDAcIQbWQQMKfgqIARhScdtrEp5+eQMcF0shI53t23hhimQ6SRJAWWuj/Uimmwyjzz6245porG3TAkSh77lXXqEVONhjSq7DCWumlturq7K4XILregR7GN2aeTBGkwbbJxlqLN8+Ge+sVaHQ554HCnqUqmZgQhMC73Ca7gbjiXnHBoRsqqqSdooXo7rvwcjsvrt7sYPAUOmjjwbMJNFBkjEjSGOa6BOFACy0AwzvwrRvISkKgw+QDjxfOftEihjDmC2ydw1aMw8sYA3xMrhsku+yfUySgqxcNDLlll78uyi9BuyATzMsWYzwzrsdo0K3HJOjgrApBrthiAwJ8ccI6J4BxARwR51ZjHgQJIUTRRyO99K3HIBBvsrK2oys2VwIphgokO3sEGGBz/7hv2WafjTYOLuTadsBOJ7uDsw0Qg0IZG4fLRrSmUktQL5gHLnjhTMcM8LaJR/6PDmuys7M8eeN6Ajro/boZQUzEnnng5OTqAswZByx3rvDU8kCuR+jwjC/dCLDwP1SI0Qq+iRJkTuyyZ147ri6knXTuRuiqgi7b5GoPm1aicDcaPj+MqEDCCGPB+uvH4X4cJeRaAgVxUGD//feboasPMKyQaxIwCGAAaUDAAtKACwhE4BkWmD5/+CMRoYAFLBjBiEhEQg1vyNUbkCCLSlQiBjG4xS1YQMLf5eoBvPBBroxQB1y84hVhcIUripGFLKxhDWnIoRN2uEMHOnAQg4BgEf8kSEEgaHAJSEDCLDr4QRGyQH+5IoMEyKCrezwABi2EYQxnaEMc5jANPfQhBoAYRCHCwoi4esMNloDEJC7xgzHwX670IQFwxONZHjACGdLxwjDEkIZd/KIP/UEADBiSjBBUQq6AcMEbrLGNSwSHs6rBAgmIg17/MAIMXOhHGQISh4M0ACkIUMhDDkKRuAJCBS+oBkciURYV0FUPJEBCFoQjG5hMgjFcqEUZ1jCUBhDlKEupgFwpgYirbOUNeNADXSUDhE7MQQBsUC91GGOXvNziIAmhiWAGkxSjLCaulGDGCVbwBltwVhuYGMIRsiAHOKhAEKCgK3cU4J7XxAUnB4n/B0IQwhTd/OYccqUAICbCjPOIpa66kEQldhCa7pQANcaRqxXw4p4YxeYgBYGHjvrTFMEcKK4UYMpBfOMa1HTWOR6ZRB7ww4PQJGE4ctUFCfDiphgtgDEG+YEPCIKjHjWFSG8VjwyY4KgmcEa4tsBKR1pgDAq4xhubqNBbBUECWLXpRe85SFCAoqc+5SghFoDJZwHBDRSMhBuikasMDGEG5bgGNK6QK3FUMqta5cUgBzAAr341rGQta65sMI0iDBEWbgCAYP+Bj33U8q5ZHSQIRjEKvnq1p4EVrDWgUQWDCrEKUijrGMoB0VpG1oeIQAQIJltZr2ZWXFAAQAqWQcqS/x60CMx4ba6ukIFyTDWmtRzkKT7xidSydgD16IByl8vcZtiBHt4UZW1NedBB2CEaGXjHO0wghRRMY40N/a0TB1mKEJxiuMVdLWVb+9ewevSfARXmdBGZiG8g04JqaCUbwwvTGAwyAqpQRXnRa9zJWvay7n1vfOVryDEaNBSHTWt+XQnJDg6yBRHIsIDNS2D1Vrav7f3pewHqTXBO18EHhbA58avfNiLhwi2IsYY3fN7iqva4fgUrUPsJ3xIP07aJiHAyKTxIERg5xhiecSlqbOPjgvivIg7qgn9M3XIms5WD/MEPjCwCJCcZwAPusJMRnOCPxtfEpaSvitMaiUHagv8TnNgyl72sZPMSt8AfznGCeTzlUTYYkSqe4CCtYAVbvFnLXO6yjDUc5jurlrIH1jFQzezjE3sWwoP8xROeUOg3x1nOil50gBuNZ/aGuKM8JvE3qYzIQQIDGL/QNKENDWdQhzrDABYwk40L6Sf3NMr9VPU3LT3ICRgb1prmdKFrDWo6M5rDd/ZwpH896R6vuraDlIO2j41sZdP603NGcp0JfOM8IxjY/uzzILGABW3LwdgTeHWyZ31oW4t7xtBucq/JHGVKB3OQ3GB3u93N7VhvutPMDreoaTzcUvv616g2M8C5EXCBE7zgskZ4nBN971wvmdzqPTCUd0yIQZr85CgPT7nKV87ylrv85TCPeUAAADs=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dDaGFydHMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAiVXNlIEdDaGFydHMiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NvcnJ5LCBpdFwncyBub3QgeW91LCBpdFwncyBtZS4nOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIHN1cGVyIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snc3VibWl0J10gPSAnU2F2ZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snYWRkY2hhcnQnXSA9ICdBZGQgY2hhcnQnOwokbGFuZ1snY2hhcnRzJ10gPSAnQ2hhcnRzJzsKJGxhbmdbJ2NoYXJ0J10gPSAnQ2hhcnQnOwokbGFuZ1snZGF0YSddID0gJ0RhdGEnOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnUHVibGlzaGVkJzsKJGxhbmdbJ2RyYWZ0J10gPSAnRHJhZnQnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGVjdCc7CiRsYW5nWydyZWFzc2lnbl9jYXRlZ29yeSddID0gJ1JlLWFzc2lnbiBjYXRlZ29yeSc7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICdEZWxldGUgc2VsZWN0ZWQnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdObyBuYW1lIGdpdmVuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBzZWxlY3RlZCBjaGFydHM/JzsKJGxhbmdbJ2NoYXJ0YWRkZWQnXSA9ICdDaGFydCBhZGRlZCc7CiRsYW5nWydjaGFydHVwZGF0ZWQnXSA9ICdDaGFydCB1cGRhdGVkJzsKJGxhbmdbJ2lkJ10gPSAnQ2hhcnQgSUQnOwokbGFuZ1snbmFtZSddID0gJ0NoYXJ0IFRpdGxlJzsKJGxhbmdbJ2VsZW1lbnQnXSA9ICdDb250YWluaW5nIGVsZW1lbnQgSUQnOwokbGFuZ1snZW5hYmxlSW50ZXJhY3Rpdml0eSddID0gJ0VuYWJsZSBpbnRlcmFjdGl2aXR5JzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2hhcnQgY2F0ZWdvcnknOwokbGFuZ1snZ2NoYXJ0c19kYXRhJ10gPSAnQ2hhcnQgRGF0YSc7CiRsYW5nWydheGlzVGl0bGVzUG9zaXRpb24nXSA9ICdBeGlzIHRpdGxlcyBwb3NpdGlvbic7CiRsYW5nWydiYWNrZ3JvdW5kQ29sb3InXSA9ICdCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ2N1cnZlVHlwZSddID0gJ0N1cnZlIHR5cGUnOwokbGFuZ1snY2hhcnRBcmVhJ10gPSAnQ2hhcnQgQXJlYSc7CiRsYW5nWydjb2xvcnMnXSA9ICdDb2xvcnMnOwokbGFuZ1snZm9jdXNUYXJnZXQnXSA9ICdGb250IHRhcmdldCc7CiRsYW5nWydmb250U2l6ZSddID0gJ0ZvbnQgU2l6ZSc7CiRsYW5nWydmb250TmFtZSddID0gJ0ZvbnQgTmFtZSc7CiRsYW5nWydoQXhlcyddID0gJ2hBeGVzJzsKJGxhbmdbJ2hBeGlzJ10gPSAnaEF4aXMnOwokbGFuZ1snaGVpZ2h0J10gPSAnSGVpZ2h0JzsKJGxhbmdbJ2ludGVycG9sYXRlZE51bGxzJ10gPSAnSW50ZXJwb2xhdGVkIG51bGxzJzsKJGxhbmdbJ2lzU3RhY2tlZCddID0gJ0lzIHN0YWNrZWQnOwokbGFuZ1snaXNIdG1sJ10gPSAnSXMgSFRNTCc7CiRsYW5nWydpczNEJ10gPSAnSXMgM0QnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGVnZW5kJzsKJGxhbmdbJ2xpbmVXaWR0aCddID0gJ0xpbmUgd2lkdGgnOwokbGFuZ1snc2xpY2VzJ10gPSAnU2xpY2VzJzsKJGxhbmdbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXSA9ICdQaWUgU2xpY2UgQm9hcmRlciBDb2xvcic7CiRsYW5nWydwaWVTbGljZVRleHQnXSA9ICdQaWUgU2xpY2UgVGV4dCc7CiRsYW5nWydwaWVTbGljZVRleHRTdHlsZSddID0gJ1BpZSBTbGljZSBUZXh0IFN0eWxlJzsKJGxhbmdbJ3BvaW50U2l6ZSddID0gJ1BvaW50IHNpemUnOwokbGFuZ1sncmV2ZXJzZUNhdGVnb3JpZXMnXSA9ICdSZXZlcnNlIENhdGVnb3JpZXMnOwokbGFuZ1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ10gPSAnU2xpY2UgVmlzaWJpbGl0eSBUaHJlc2hvbGQnOwokbGFuZ1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXSA9ICdQaWUgUmVzaWR1ZSBTbGljZSBDb2xvcic7CiRsYW5nWydwaWVSZXNpZHVlU2xpY2VMYWJlbCddID0gJ1BpZSBSZXNpZHVlIFNsaWNlIExhYmVsJzsKJGxhbmdbJ3RpdGxlUG9zaXRpb24nXSA9ICdUaXRsZSBwb3NpdGlvbic7CiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsKJGxhbmdbJ3RoZW1lJ10gPSAnVGhlbWUnOwokbGFuZ1snc2VyaWVzJ10gPSAnU2VyaWVzJzsKJGxhbmdbJ3RpdGxlVGV4dFN0eWxlJ10gPSAnVGl0bGUgVGV4dCBTdHlsZSc7CiRsYW5nWyd0b29sdGlwJ10gPSAnVG9vbHRpcCc7CiRsYW5nWyd2QXhlcyddID0gJ3ZBeGVzJzsKJGxhbmdbJ3ZBeGlzJ10gPSAndkF4aXMnOwokbGFuZ1snd2lkdGgnXSA9ICdXaWR0aCc7CgokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JzsKJGxhbmdbJ2Rhc2hfcmVjb3JkX2NvdW50J10gPSAnVGhpcyBtb2R1bGUgaGFuZGxlcyAlcyBkb2N1bWVudHMnOwokbGFuZ1snYWxlcnRfbm9fcmVjb3JkcyddID0gJ1RoZXJlIGhhdmUgbm90IGJlZW4gYW55IGRvY3VtZW50cyBhZGRlZCBpbiB0aGUgR0NoYXJ0cyBtb2R1bGUhJzsKJGxhbmdbJ2hlbHBfZ2NoYXJ0c19pZCddID0gJ0ludGVybmFsbHkgaWRlbnRpZmllciBmb3Igc2VsZWN0aW5nIGRvY3VtZW50cyc7CiRsYW5nWydoZWxwX2Rlc2NyaXB0aW9uJ10gPSAnSW50ZXJuYWwgcGFyYW1ldGVyIHVzZWQgdG8gcGFzcyBkZXNjcmlwdGlvbiBpbmZvIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIGRvY3VtZW50JzsKJGxhbmdbJ2hlbHBfZXhwbGFuYXRpb24nXSA9ICdJbnRlcm5hbCBwYXJhbWV0ZXIgdXNlZCB0byBwYXNzIGV4cGxhbmF0aW9uIGluZm8gd2hlbiBjcmVhdGluZyBvciBlZGl0aW5nIGEgZG9jdW1lbnQnOwokbGFuZ1snaGVscF9tb2R1bGVfbWVzc2FnZSddID0gJ0ludGVybmFsbHkgdXNlZCBwYXJhbWV0ZXIgZm9yIHBhc3NpbmcgbWVzc2FnZXMgdG8gdXNlcic7CiRsYW5nWydoZWxwX2djaGFydHNfaWQnXSA9ICdJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheS4nOwoKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWRkIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDEuMCA4IEp1bHkgMjAxMy4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIGZvciB0aGUgYWRkaXRpb24gb2YgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHdlYnNpdGUuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+U2ltcGx5IHBsYWNlIHRoZSBtb2R1bGUgY2FsbCBiZWZvcmUgeW91ciBjbG9zaW5nIGJvZHkgdGFnIHdpdGggdGhlIElEIG9mIHRoZSBjaGFydCB5b3Ugd2FudCB0byBkaXNwbGF5IDxjb2RlPntHQ2hhcnRzIGdjaGFydHNfaWQ9XCcxXCd9PC9jb2RlPiwgZGF0YSBmaWVsZCBhY2NlcHRzIHNtYXJ0eSB2YXJpYWJsZXMuPC9wPgo8cD5Gb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24gYXMgdG8gd2hhdCB2YWx1ZXMgZWFjaCBwYXJhbWV0ZXIgdGFrZXMgbG9vayBhdCB0aGUgR29vZ2xlIENoYXJ0cyBkb2N1bWVudGF0aW9uIDxhIGhyZWY9Imh0dHBzOi8vZ29vZ2xlLWRldmVsb3BlcnMuYXBwc3BvdC5jb20vY2hhcnQvIj5odHRwczovL2dvb2dsZS1kZXZlbG9wZXJzLmFwcHNwb3QuY29tL2NoYXJ0LzwvYT48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBNb2R1bGUgRm9yZ2UKPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nY2hhcnRzLyI+R0NoYXJ0cyBQYWdlPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBvbGl2ZXJzZWRkb24sIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEzLCBPbGl2ZXIgU2VkZG9uIDxhIGhyZWY9Im1haWx0bzpvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrIj4mbHQ7b2xpdmVyQHRocmVlZm9sZC5jby51ayZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+Cic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.gcharts_admin_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAod2lzaHlAdXNlcnMuc2YubmV0KQojVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKI2l0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiN0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiNidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KI1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiNhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQojCiMkSWQ6IEdDaGFydHMubW9kdWxlLnBocCAyMTE0IDIwMDUtMTEtMDQgMjE6NTE6MTNaIHdpc2h5ICQKCmNsYXNzIGdjaGFydHNfYWRtaW5fb3BzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9jaGFydCgkY2hhcnRpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgIC8vTm93IHJlbW92ZSB0aGUgY2hhcnQKICAgICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHMgV0hFUkUgZ2NoYXJ0c19pZCA9ID8iOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNoYXJ0aWQpKTsKCiAgICAvLyBkZWxldGUgYW55IGZpbGVzLi4uCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnOwogICAgJHAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdnY2hhcnRzJywnaWQnLiRjaGFydGlkKTsKICAgIGlmKCBpc19kaXIoJHApICkKICAgICAgewoJcmVjdXJzaXZlX2RlbGV0ZSgkcCk7CiAgICAgIH0KCiAgICBnY2hhcnRzX2FkbWluX29wczo6ZGVsZXRlX3N0YXRpY19yb3V0ZSgkY2hhcnRpZCk7CiAgICAKICAgIC8vVXBkYXRlIHNlYXJjaCBpbmRleAogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR0NoYXJ0cycpOwogICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7CiAgICBpZiAoJG1vZHVsZSAhPSBGQUxTRSkKICAgICAgewoJJG1vZHVsZS0+RGVsZXRlV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkY2hhcnRpZCwgJ2NoYXJ0Jyk7CiAgICAgIH0KICAgIAogICAgQCRtb2QtPlNlbmRFdmVudCgnR0NoYXJ0c0NoYXJ0RGVsZXRlZCcsIGFycmF5KCdnY2hhcnRzX2lkJyA9PiAkY2hhcnRpZCkpOwoJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCglhdWRpdCgkY2hhcnRpZCwgJ0dDaGFydHM6ICcuJGNoYXJ0aWQsICdDaGFydCBkZWxldGVkJyk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBoYW5kbGVfdXBsb2FkKCRpdGVtaWQsJGZpZWxkbmFtZSwmJGVycm9yKQogIHsKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCSAgCiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHQ2hhcnRzJyk7CiAgICAkcCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2djaGFydHMnKTsKICAgIGlmICghaXNfZGlyKCRwKSkgewogICAgICAkcmVzID0gQG1rZGlyKCRwKTsKICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkKCXsKCSAgJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInLCRwKTsKCSAgcmV0dXJuIEZBTFNFOwoJfQogICAgfQoKICAgICRwID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwnZ2NoYXJ0cycsJ2lkJy4kaXRlbWlkKTsKICAgIGlmICghaXNfZGlyKCRwKSkgewogICAgICBpZiggQG1rZGlyKCRwKSA9PT0gRkFMU0UgKQoJewoJICAkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9ta2RpcicsJHApOwoJICByZXR1cm4gRkFMU0U7Cgl9CiAgICB9CgogICAgaWYoICRfRklMRVNbJGZpZWxkbmFtZV1bJ3NpemUnXSA+ICRjb25maWdbJ21heF91cGxvYWRfc2l6ZSddICkKICAgICAgewoJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfZmlsZXNpemUnKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRfRklMRVNbJGZpZWxkbmFtZV1bJ25hbWUnXSk7CiAgICAkZGVzdCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2djaGFydHMnLCdpZCcuJGl0ZW1pZCwkZmlsZW5hbWUpOwoKICAgIC8vIEdldCB0aGUgZmlsZXMgZXh0ZW5zaW9uCiAgICAkZXh0ID0gc3Vic3RyKHN0cnJjaHIoJGZpbGVuYW1lLCAnLicpLCAxKTsKCiAgICAvLyBjb21wYXJlIGl0IGFnYWluc3QgdGhlICdhbGxvd2VkIGV4dGVudGlvbnMnCiAgICAkZXh0cyA9IGV4cGxvZGUoJywnLCRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfdXBsb2FkX3R5cGVzJywnJykpOwogICAgaWYoICFpbl9hcnJheSggJGV4dCwgJGV4dHMgKSApIAogICAgICB7CgkkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9pbnZhbGlkZmlsZXR5cGUnKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgIGlmKCBAY21zX21vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyRmaWVsZG5hbWVdWyd0bXBfbmFtZSddLCAkZGVzdCkgPT09IEZBTFNFICkKICAgICAgewoJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbW92ZWZpbGUnLCRkZXN0KTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgIHJldHVybiAkZmlsZW5hbWU7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBBZG1pbkNyZWF0ZVRlbXBsYXRlTGlzdCggJGlkLCAkcmV0dXJuaWQsICRwcmVmaXgsICRkZWZhdWx0dGVtcGxhdGVwcmVmLCAKCQkJCQkJICAkYWN0aXZlX3RhYiwgJGRlZmF1bHRwcmVmbmFtZSwgJG5hbWUgKQogIHsKICAgIC8vIHdlJ3JlIGdvbm5hIGFsbG93IG11bHRpcGxlIHRlbXBsYXRlcyBoZXJlCiAgICAvLyBidXQgd2UncmUgZ29ubmEgcHJlZml4IHRoZW0gYWxsIHdpdGggc29tZXRoaW5nCiAgICAkZ0NtcyA9IGNtc21zKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHQ2hhcnRzJyk7CiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAKICAgICRmYWxzZWltYWdlMSA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywnbWFrZSBkZWZhdWx0JywnJywnJywnc3lzdGVtaWNvbicpOwogICAgJHRydWVpbWFnZTEgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywnZGVmYXVsdCcsJycsJycsJ3N5c3RlbWljb24nKTsKICAgICRhbGx0ZW1wbGF0ZXMgPSAkbW9kLT5MaXN0VGVtcGxhdGVzKCk7CiAgICAkcm93YXJyYXkgPSBhcnJheSgpOwogICAgJHJvd2NsYXNzID0gJ3JvdzEnOwogICAgZm9yZWFjaCggJGFsbHRlbXBsYXRlcyBhcyAkb25ldGVtcGxhdGUgKQogICAgICB7CglpZiggIXByZWdfbWF0Y2goIi9eJHByZWZpeC8iLCAkb25ldGVtcGxhdGUgKSApCgkgIHsKCSAgICBjb250aW51ZTsKCSAgfQoJCgkkdG1wID0gc3Vic3RyKCRvbmV0ZW1wbGF0ZSxzdHJsZW4oJHByZWZpeCkpOwoJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJJHJvdy0+bmFtZSA9ICRtb2QtPkNyZWF0ZUxpbmsoICRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCSAgICAgICAkdG1wLCBhcnJheSgndGVtcGxhdGUnID0+ICR0bXAsCgkJCQkJCSAgICdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYiwKCQkJCQkJICAgJ25hbWUnPT4kbmFtZSwKCQkJCQkJICAgJ3ByZWZpeCc9PiRwcmVmaXgsCgkJCQkJCSAgICdtb2RlJz0+J2VkaXQnKSk7Cgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZGVmYXVsdCA9ICgkbW9kLT5HZXRQcmVmZXJlbmNlKCRkZWZhdWx0cHJlZm5hbWUpID09ICR0bXApID8gdHJ1ZSA6IGZhbHNlOwoJaWYoICRkZWZhdWx0ICkKCSAgewoJICAgICRyb3ctPmRlZmF1bHQgPSAkdHJ1ZWltYWdlMTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHJvdy0+ZGVmYXVsdCA9ICRtb2QtPkNyZWF0ZUxpbmsoICRpZCwgJ21ha2VkZWZhdWx0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkJICAgICAgJGZhbHNlaW1hZ2UxLAoJCQkJCSAgICAgIGFycmF5KCd0ZW1wbGF0ZSc9PiR0bXAsCgkJCQkJCSAgICAnZGVmYXVsdHByZWZuYW1lJz0+JGRlZmF1bHRwcmVmbmFtZSwKCQkJCQkJICAgICdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYikpOwoJICB9CgoJJHJvdy0+ZWRpdGxpbmsgPSAkbW9kLT5DcmVhdGVMaW5rKCAkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkJICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT4KCQkJCQkgICBEaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJICRtb2QtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdG1wLAoJCQkJCQkgICdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYiwKCQkJCQkJICAncHJlZml4Jz0+JHByZWZpeCwKCQkJCQkJICAnbmFtZSc9PiRuYW1lLAoJCQkJCQkgICdtb2RlJz0+J2VkaXQnKSk7CgkKCSR0bXAgPSAkcHJlZml4LiJkZWZhdWx0IjsKCWlmKCAoJG9uZXRlbXBsYXRlID09ICR0bXApIHx8ICRkZWZhdWx0ICkKCSAgewoJICAgICRyb3ctPmRlbGV0ZWxpbmsgPSAnJm5ic3A7JzsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHJvdy0+ZGVsZXRlbGluayA9ICRtb2QtPkNyZWF0ZUxpbmsoICRpZCwgJ2RlbGV0ZXRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJCQkgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT4KCQkJCQkJIERpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCQkJCQkJCSAgICAgICAkbW9kLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJIGFycmF5ICgndGVtcGxhdGUnID0+ICRvbmV0ZW1wbGF0ZSksCgkJCQkJCSAkbW9kLT5MYW5nICgnYXJleW91c3VyZScpKTsKCSAgfQoJCglhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOwoJKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwogICAgICB9CiAgICAKICAgICRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsKICAgICRzbWFydHktPmFzc2lnbignbmFtZXByb21wdCcsICRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdkZWZhdWx0cHJvbXB0JywgJG1vZC0+TGFuZygncHJvbXB0X2RlZmF1bHQnKSk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCduZXd0ZW1wbGF0ZWxpbmsnLAoJCSAgICAkbW9kLT5DcmVhdGVMaW5rKCAkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkbW9kLT5MYW5nKCdwcm9tcHRfbmV3dGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLAoJCQkJICAgICAgYXJyYXkoJ3ByZWZpeCcgPT4gJHByZWZpeCwKCQkJCQkgICAgJ2FjdGl2ZV90YWInID0+ICRhY3RpdmVfdGFiLAoJCQkJCSAgICAnbmFtZSc9PiRuYW1lLAoJCQkJCSAgICAnbW9kZScgPT4gJ2FkZCcsCgkJCQkJICAgICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAkZGVmYXVsdHRlbXBsYXRlcHJlZiksCgkJCQkgICAgICAnJywgZmFsc2UsIGZhbHNlLCAnJykuJyAnLgoKCQkgICAgJG1vZC0+Q3JlYXRlTGluayggJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJICAgICAgJG1vZC0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksCgkJCQkgICAgICBhcnJheSgncHJlZml4JyA9PiAkcHJlZml4LAoJCQkJCSAgICAnYWN0aXZlX3RhYicgPT4gJGFjdGl2ZV90YWIsCgkJCQkJICAgICduYW1lJz0+JG5hbWUsCgkJCQkJICAgICdtb2RlJyA9PiAnYWRkJywKCQkJCQkgICAgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICRkZWZhdWx0dGVtcGxhdGVwcmVmCgkJCQkJICAgICkpKTsKICAgICRzbWFydHktPmFzc2lnbigkbW9kLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZXMudHBsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX0FkbWluRWRpdERlZmF1bHRUZW1wbGF0ZUZvcm0KICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKCiAgIEEgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyBhIGZvcm0gZm9yIGVkaXRpbmcgYSBkZWZhdWx0IHRlbXBsYXRlCiAgIGFuZC9vciByZXR1cm5pbmcgaXQgdG8gc3lzdGVtIGRlZmF1bHRzLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQWRtaW5FZGl0RGVmYXVsdFRlbXBsYXRlRm9ybSgkaWQsJHJldHVybmlkLCRwcmVmbmFtZSwkYWN0aXZlX3RhYiwkbmFtZSwKCQkJCQkJICAgICAgJGZpbGVuYW1lLCRpbmZvKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dDaGFydHMnKTsKICAgICRzbWFydHkgPSBjbXNfdXRpbHM6OmdldF9zbWFydHkoKTsKICAgICRzbWFydHktPmFzc2lnbignZGVmYXVsdHRlbXBsYXRlZm9ybV9uYW1lJywkbmFtZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2luZm9fbmFtZScsJGluZm8pOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCSAgICAkbW9kLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdzZXRkZWZhdWx0dGVtcGxhdGUnLCRyZXR1cm5pZCwncG9zdCcsJycsZmFsc2UsJycsCgkJCQkJICAgYXJyYXkoJ3ByZWZuYW1lJz0+JHByZWZuYW1lLAoJCQkJCQkgJ2FjdGl2ZV90YWInPT4kYWN0aXZlX3RhYiwKCQkJCQkJICdmaWxlbmFtZSc9PiRmaWxlbmFtZSkpKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywkbW9kLT5MYW5nKCd0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLCRtb2QtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwKCQkJCQkJCSAgICRtb2QtPkdldFByZWZlcmVuY2UoJHByZWZuYW1lKSwKCQkJCQkJCSAgICdpbnB1dF90ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0JywkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJG1vZC0+TGFuZygnc3VibWl0JykpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVzZXQnLCRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwncmVzZXR0b2RlZmF1bHQnLAoJCQkJCQkgICAgICRtb2QtPkxhbmcoJ3Jlc2V0dG9kZWZhdWx0JykpKTsKICAgICRzbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJICAgICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICBlY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGRlZmF1bHR0ZW1wbGF0ZS50cGwnKTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZVBhcmVudERyb3Bkb3duKCRpZCwgJGNhdGlkID0gLTEsICRzZWxlY3RlZHZhbHVlID0gLTEpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dDaGFydHMnKTsKCiAgICAkbG9uZ25hbWUgPSAnJzsgICAgICAKICAgICRpdGVtc1snKCcuJG1vZC0+TGFuZygnbm9uZScpLicpJ10gPSAnLTEnOwogICAgICAKICAgICRxdWVyeSA9ICJTRUxFQ1QgaGllcmFyY2h5LCBnY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBXSEVSRSBnY2hhcnRzX2NhdGVnb3J5X2lkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewoJJGxvbmduYW1lID0gJHJvd1snaGllcmFyY2h5J10gLiAnJSc7CiAgICAgIH0KICAgICAgCiAgICAkcXVlcnkgPSAiU0VMRUNUIGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgaGllcmFyY2h5LCBnY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBXSEVSRSBoaWVyYXJjaHkgbm90IGxpa2UgPyBPUkRFUiBieSBoaWVyYXJjaHkiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxvbmduYW1lKSk7CiAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsKCSRpdGVtc1skcm93WydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXV0gPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107CiAgICAgIH0KCiAgICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdwYXJlbnQnLCAkaXRlbXMsIC0xLCAkc2VsZWN0ZWR2YWx1ZSk7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gIlNFTEVDVCBnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewoJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gIiI7CgkkY3VycmVudF9nY2hhcnRzX2NhdGVnb3J5X25hbWUgPSAiIjsKCSRjb250ZW50X2lkID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwoJJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwoJJGNvdW50ID0gMDsKCSAgCgl3aGlsZSAoJGN1cnJlbnRfcGFyZW50X2lkID4gLTEpCgkgIHsKCSAgICAkcXVlcnkgPSAiU0VMRUNUIGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgV0hFUkUgZ2NoYXJ0c19jYXRlZ29yeV9pZCA9ID8iOwoJICAgICRyb3cyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9wYXJlbnRfaWQpKTsKCSAgICBpZiAoJHJvdzIpCgkgICAgICB7CgkJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3RyX3BhZCgkcm93MlsnZ2NoYXJ0c19jYXRlZ29yeV9pZCddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkgLiAiLiIgLiAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb247CgkJJGN1cnJlbnRfZ2NoYXJ0c19jYXRlZ29yeV9uYW1lID0gJHJvdzJbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddIC4gJyB8ICcgLiAkY3VycmVudF9nY2hhcnRzX2NhdGVnb3J5X25hbWU7CgkJJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvdzJbJ3BhcmVudF9pZCddOwoJCSRjb3VudCsrOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkY3VycmVudF9wYXJlbnRfaWQgPSAwOwoJICAgICAgfQoJICB9CgkgIAoJaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pID4gMCkKCSAgewoJICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CgkgIH0KCSAgCglpZiAoc3RybGVuKCRjdXJyZW50X2djaGFydHNfY2F0ZWdvcnlfbmFtZSkgPiAwKQoJICB7CgkgICAgJGN1cnJlbnRfZ2NoYXJ0c19jYXRlZ29yeV9uYW1lID0gc3Vic3RyKCRjdXJyZW50X2djaGFydHNfY2F0ZWdvcnlfbmFtZSwgMCwgc3RybGVuKCRjdXJyZW50X2djaGFydHNfY2F0ZWdvcnlfbmFtZSkgLSAzKTsKCSAgfQoJICAKCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgU0VUIGhpZXJhcmNoeSA9ID8sIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSA9ID8gV0hFUkUgZ2NoYXJ0c19jYXRlZ29yeV9pZCA9ID8iOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAkY3VycmVudF9nY2hhcnRzX2NhdGVnb3J5X25hbWUsICRjb250ZW50X2lkKSk7CiAgICAgIH0KICB9CiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfc3RhdGljX3JvdXRlKCRnY2hhcnRzX2NoYXJ0X2lkKQogIHsKICAgIHJldHVybiBjbXNfcm91dGVfbWFuYWdlcjo6ZGVsX3N0YXRpYygnJywnR0NoYXJ0cycsJGdjaGFydHNfY2hhcnRfaWQpOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.gcharts_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAod2lzaHlAdXNlcnMuc2YubmV0KQojVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKI2l0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiN0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiNidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KI1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiNhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQojCiMkSWQ6IEdDaGFydHMubW9kdWxlLnBocCAyMTE0IDIwMDUtMTEtMDQgMjE6NTE6MTNaIHdpc2h5ICQKCmZpbmFsIGNsYXNzIGdjaGFydHNfb3BzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwcml2YXRlIHN0YXRpYyAkX2NhdGVnb3JpZXNfbG9hZGVkOwogIHByaXZhdGUgc3RhdGljICRfY2FjaGVkX2NhdGVnb3JpZXM7CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3JpZXMoJGlkLCRwYXJhbXMsJHJldHVybmlkPS0xKQogIHsKICAgICR0bXAgPSBzZWxmOjpnZXRfYWxsX2NhdGVnb3JpZXMoKTsKICAgIGlmKCAhY291bnQoJHRtcCkgKSByZXR1cm47CgogICAgJGNhdGluZm8gPSBhcnJheSgpOwogICAgaWYoICFpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSB8fCAkcGFyYW1zWydjYXRlZ29yeSddID09ICcnICkgewogICAgICAkY2F0aW5mbyA9ICR0bXA7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJGNhdGVnb3JpZXMgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snY2F0ZWdvcnknXSk7CiAgICAgIGZvcmVhY2goICRjYXRlZ29yaWVzIGFzICRvbmVjYXQgKSB7CglpZiggc3RycG9zKCRvbmVjYXQsJyonKSAhPT0gRkFMU0UgKSB7CgkgIGZvcmVhY2goICR0bXAgYXMgJHJlYyApIHsKIAkgICAgaWYoIGZubWF0Y2goJG9uZWNhdCwkcmVjWydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXSkgKSB7CgkgICAgICAkY2F0aW5mb1tdID0gJHJlYzsKCSAgICB9CgkgIH0KCX0KCWVsc2UgewoJICBmb3JlYWNoKCAkdG1wIGFzICRyZWMgKSB7CgkgICAgaWYoICRyZWNbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddID09ICRvbmVjYXQgKSB7CgkgICAgICAkY2F0aW5mb1tdID0gJHJlYzsKCSAgICB9CgkgIH0KCX0KICAgICAgfQogICAgfQogICAgdW5zZXQoJHRtcCk7CiAgICBpZiggIWNvdW50KCRjYXRpbmZvKSApIHJldHVybjsKCiAgICAkY2F0X2lkcyA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkY2F0aW5mbyk7ICRpKysgKSB7CiAgICAgICRjYXRfaWRzW10gPSAkY2F0aW5mb1skaV1bJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgIH0KICAgIHNvcnQoJGNhdF9pZHMpOwogICAgJGNhdF9pZHMgPSBhcnJheV91bmlxdWUoJGNhdF9pZHMpOwoKICAgIC8vIGdldCBjb3VudHMuCiAgICAkZGVwdGggPSAxOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRjb3VudHMgPSBhcnJheSgpOwoKICAgIHsKICAgICAgJHEyID0gJ1NFTEVDVCBnY2hhcnRzX2NhdGVnb3J5X2lkLENPVU5UKGdjaGFydHNfaWQpIEFTIGNudCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBXSEVSRSBnY2hhcnRzX2NhdGVnb3J5X2lkIElOICgnOwogICAgICAkcTIgLj0gaW1wbG9kZSgnLCcsJGNhdF9pZHMpLicpJzsKICAgICAgJHEyIC49ICcgQU5EIHN0YXR1cyA9IFwncHVibGlzaGVkXCcgR1JPVVAgQlkgZ2NoYXJ0c19jYXRlZ29yeV9pZCc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxMik7CiAgICAgIGlmKCBjb3VudCgkdG1wKSApIHsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewoJICAkY291bnRzWyR0bXBbJGldWydnY2hhcnRzX2NhdGVnb3J5X2lkJ11dID0gJHRtcFskaV1bJ2NudCddOwoJfQogICAgICB9CiAgICB9CgogICAgJHJvd2NvdW50ZXI9MDsKICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAkZGVwdGggPSAxOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGluZm8pOyAkaSsrICkgewogICAgICAkcm93ID0mICRjYXRpbmZvWyRpXTsKICAgICAgJHJvd1snaW5kZXgnXSA9ICRyb3djb3VudGVyKys7CiAgICAgICRyb3dbJ2NvdW50J10gPSAoaXNzZXQoJGNvdW50c1skcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ11dKSk/JGNvdW50c1skcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ11dOjA7CiAgICAgICRyb3dbJ3ByZXZkZXB0aCddID0gJGRlcHRoOwogICAgICAkZGVwdGggPSBjb3VudChleHBsb2RlKCcuJywgJHJvd1snaGllcmFyY2h5J10pKTsKICAgICAgJHJvd1snZGVwdGgnXT0kZGVwdGg7CgogICAgICAvLyBjaGFuZ2VzIHNvIHRoYXQgcGFyYW1ldGVycyBzdXBwbGllZCB0byB0aGUgdGFnCiAgICAgIC8vIGdldHMgY2FycmllZCBkb3duIHRocm91Z2ggdGhlIGxpbmtzCiAgICAgIC8vIHNjcmV3IHByZXR0eSB1cmxzCiAgICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICAgIHVuc2V0KCRwYXJtc1snYnJvd3NlY2F0J10pOwogICAgICB1bnNldCgkcGFybXNbJ2NhdGVnb3J5J10pOwogICAgICAkcGFybXNbJ2NhdGVnb3J5X2lkJ10gPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107CgogICAgICAkcGFnZWlkID0gKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkgJiYgJHBhcmFtc1snZGV0YWlscGFnZSddIT0nJyk/JHBhcmFtc1snZGV0YWlscGFnZSddOiRyZXR1cm5pZDsKICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR0NoYXJ0cycpOwogICAgICAkcm93Wyd1cmwnXSA9ICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcGFnZWlkLCRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddLCRwYXJtcywnJyx0cnVlKTsKICAgICAgJGl0ZW1zW10gPSAkcm93OwogICAgfQogICAgcmV0dXJuICRpdGVtczsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9hbGxfY2F0ZWdvcmllcygpCiAgewogICAgaWYoICFzZWxmOjokX2NhdGVnb3JpZXNfbG9hZGVkICkgewogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHkiOwogICAgICAkZGJyZXN1bHQgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGlmKCAkZGJyZXN1bHQgKSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzID0gJGRicmVzdWx0OwogICAgICBzZWxmOjokX2NhdGVnb3JpZXNfbG9hZGVkID0gVFJVRTsKICAgIH0KICAgIHJldHVybiBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3J5X2xpc3QoKQogIHsKICAgIHNlbGY6OmdldF9hbGxfY2F0ZWdvcmllcygpOwogICAgJGNhdGVnb3J5bGlzdCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudChzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzKTsgJGkrKyApIHsKICAgICAgJHJvdyA9IHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXNbJGldOwogICAgICAkY2F0ZWdvcnlsaXN0WyRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddXSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgIH0KCiAgICByZXR1cm4gJGNhdGVnb3J5bGlzdDsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9uYW1lc19ieV9pZCgpCiAgewogICAgc2VsZjo6Z2V0X2FsbF9jYXRlZ29yaWVzKCk7CiAgICAkbGlzdCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudChzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzKTsgJGkrKyApIHsKICAgICAgJGxpc3Rbc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllc1skaV1bJ2djaGFydHNfY2F0ZWdvcnlfaWQnXV0gPSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ107CiAgICB9CiAgICByZXR1cm4gJGxpc3Q7CiAgfQoKICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9uYW1lX2Zyb21faWQoJGlkKQogIHsKICAgIHNlbGY6OmdldF9hbGxfY2F0ZWdvcmllcygpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllcyk7ICRpKysgKSB7CiAgICAgIGlmKCAkaWQgPT0gc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllc1skaV1bJ2djaGFydHNfY2F0ZWdvcnlfaWQnXSApIHsKCXJldHVybiBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ107CiAgICAgIH0KICAgIH0KICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZpbGxfY2hhcnRfZnJvbV9mb3JtcGFyYW1zKGdjaGFydHNfY2hhcnQgJiRnY2hhcnRzLCRwYXJhbXMsJGhhbmRsZV91cGxvYWRzID0gRkFMU0UsJGhhbmRsZV9kZWxldGVzID0gRkFMU0UpCiAgewogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICBjYXNlICdjaGFydGlkJzoKCSRnY2hhcnRzLT5pZCA9ICR2YWx1ZTsKCWJyZWFrOwoKICAgICAgY2FzZSAnbmFtZSc6CiAgICAgIGNhc2UgJ2RhdGEnOgogICAgICBjYXNlICdzdGF0dXMnOgoJJGdjaGFydHMtPiRrZXkgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ2NhdGVnb3J5JzoKCSRsaXN0ID0gc2VsZjo6Z2V0X2NhdGVnb3J5X25hbWVzX2J5X2lkKCk7Cglmb3IoICRpID0gMDsgJGkgPCBjb3VudChzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzKTsgJGkrKyApIHsKCSAgaWYoICR2YWx1ZSA9PSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ10gKQoJICAgICRnY2hhcnRzLT5jYXRlZ29yeV9pZCA9IHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXNbJGldWydnY2hhcnRzX2NhdGVnb3J5X2lkJ107Cgl9CglicmVhazsKICAgIH0KCX0KCiAgICByZXR1cm4gJGdjaGFydHM7CiAgfQoKCiAgc3RhdGljIHByaXZhdGUgZnVuY3Rpb24gJmdldF9jaGFydF9mcm9tX3Jvdygkcm93KQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHJvdykgKSByZXR1cm47CiAgICAkY2hhcnQgPSBuZXcgZ2NoYXJ0c19jaGFydDsKICAgIGZvcmVhY2goICRyb3cgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgY2FzZSAnZ2NoYXJ0c19pZCc6CgkkY2hhcnQtPmlkID0gJHZhbHVlOwoJYnJlYWs7CgogICAgICBjYXNlICdnY2hhcnRzX2NhdGVnb3J5X2lkJzoKCSRjaGFydC0+Y2F0ZWdvcnlfaWQgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ2djaGFydHNfbmFtZSc6CgkkY2hhcnQtPm5hbWUgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ2djaGFydHNfZGF0YSc6CgkkY2hhcnQtPmRhdGEgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ3N0YXR1cyc6CgkkY2hhcnQtPnN0YXR1cyA9ICR2YWx1ZTsKCWJyZWFrOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuICRjaGFydDsKICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmdldF9sYXRlc3RfY2hhcnQoJGZvcl9kaXNwbGF5ID0gVFJVRSkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgICRxdWVyeSA9ICJTRUxFQ1QgbW4uKiwgbW5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyBtbiBMRUZUIE9VVEVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgbW5jIE9OIG1uYy5nY2hhcnRzX2NhdGVnb3J5X2lkID0gbW4uZ2NoYXJ0c19jYXRlZ29yeV9pZCBXSEVSRSBzdGF0dXMgPSAncHVibGlzaGVkJyBBTkQgIjsKICAgICRxdWVyeSAuPSAnT1JERVIgQlkgZ2NoYXJ0c19pZCBERVNDIExJTUlUIDEnOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSk7CgogICAgcmV0dXJuIHNlbGY6OmdldF9jaGFydF9mcm9tX3Jvdygkcm93LCgkZm9yX2Rpc3BsYXkpPydQVUJMSUMnOidBTEwnKTsgICAgCiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X2NoYXJ0X2J5X2lkKCRjaGFydF9pZCwkZm9yX2Rpc3BsYXkgPSBUUlVFLCRhbGxvd19leHBpcmVkID0gRkFMU0UpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgbW4uKiwgbW5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBtbiAKICAgICAgICAgICAgICBMRUZUIE9VVEVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgbW5jIE9OIG1uYy5nY2hhcnRzX2NhdGVnb3J5X2lkID0gbW4uZ2NoYXJ0c19jYXRlZ29yeV9pZCAKICAgICAgICAgICAgICBXSEVSRSBzdGF0dXMgPSBcJ3B1Ymxpc2hlZFwnIEFORCBnY2hhcnRzX2lkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY2hhcnRfaWQpKTsKCiAgICAkcmVzID0gbnVsbDsKICAgIGlmKCAhJHJvdyApIHJldHVybiAkcmVzOwogICAgCiAgICByZXR1cm4gc2VsZjo6Z2V0X2NoYXJ0X2Zyb21fcm93KCRyb3csKCRmb3JfZGlzcGxheSk/J1BVQkxJQyc6J0FMTCcpOyAgICAKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmKCAhY2xhc3NfZXhpc3RzKCdnY2hhcnRzX2FkbWluX29wcycpICkKICB7CiAgICAvLyB0aGlzIGlzIHJlcXVpcmVkIGlmIGNhbGxlZCBmcm9tIHRoZSBpbnN0YWxsZXIKICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvbGliL2NsYXNzLmdjaGFydHNfYWRtaW5fb3BzLnBocCc7CiAgICByZXF1aXJlX29uY2UoJGZuKTsKICB9CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CiRmbGRzID0gIgogICAgIGdjaGFydHNfaWQgSSBLRVksCgkgZ2NoYXJ0c19jYXRlZ29yeV9pZCBJLAoJIGdjaGFydHNfZWxlbWVudF9pZCBDKDI1NSksCgkgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIEMoMjU1KSwKCSBnY2hhcnRzX25hbWUgQygyNTUpLAoJIGdjaGFydHNfZGF0YSBYLAoJIGF4aXNUaXRsZXNQb3NpdGlvbiBDKDI1NSksCgkgYmFja2dyb3VuZENvbG9yIEMoMjU1KSwKCSBjaGFydEFyZWEgQygyNTUpLAoJIGN1cnZlVHlwZSBDKDI1NSksCgkgY29sb3JzIEMoMjU1KSwKCSBlbmFibGVJbnRlcmFjdGl2aXR5IEMoMjU1KSwKCSBmb2N1c1RhcmdldCBDKDI1NSksCgkgZm9udFNpemUgQygyNTUpLAoJIGZvbnROYW1lIEMoMjU1KSwKCSBoQXhlcyBDKDI1NSksCgkgaEF4aXMgQygyNTUpLAoJIGhlaWdodCBDKDI1NSksCgkgaW50ZXJwb2xhdGVkTnVsbHMgQygyNTUpLAoJIGlzSHRtbCBDKDI1NSksCgkgaXNTdGFja2VkIEMoMjU1KSwKCSBpczNEIEMoMjU1KSwKCSBsZWdlbmQgQygyNTUpLAoJIGxpbmVXaWR0aCBDKDI1NSksCgkgc2xpY2VzIEMoMjU1KSwKCSBwaWVTbGljZUJvcmRlckNvbG9yIEMoMjU1KSwKCSBwaWVTbGljZVRleHQgQygyNTUpLAoJIHBpZVNsaWNlVGV4dFN0eWxlIEMoMjU1KSwKCSBwb2ludFNpemUgQygyNTUpLAoJIHJldmVyc2VDYXRlZ29yaWVzIEMoMjU1KSwKCSBzZXJpZXMgQygyNTUpLAoJIHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCBDKDI1NSksCgkgcGllUmVzaWR1ZVNsaWNlQ29sb3IgQygyNTUpLAoJIHBpZVJlc2lkdWVTbGljZUxhYmVsIEMoMjU1KSwKCSB0aGVtZSBDKDI1NSksCgkgdGl0bGUgQygyNTUpLAoJIHRpdGxlUG9zaXRpb24gQygyNTUpLAoJIHRpdGxlVGV4dFN0eWxlIEMoMjU1KSwKCSB0b29sdGlwIEMoMjU1KSwKCSB2QXhlcyBDKDI1NSksCgkgdkF4aXMgQygyNTUpLAoJIHdpZHRoIEMoMjU1KSwKCSBzdGF0dXMgQygyNSkKIjsKCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdUWVBFPU15SVNBTScgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzIiwKCQkJCSAgICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19zZXEiKTsKCiRmbGRzID0gIgoJZ2NoYXJ0c19jYXRlZ29yeV9pZCBJIEtFWSwKCWdjaGFydHNfY2F0ZWdvcnlfbmFtZSBDKDI1NSksCglwYXJlbnRfaWQgSSwKCWhpZXJhcmNoeSBDKDI1NSksCgljcmVhdGVfZGF0ZSAiLkNNU19BRE9EQl9EVC4iLAoJbW9kaWZpZWRfZGF0ZSAiLkNNU19BRE9EQl9EVC4iCiI7CgokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIiwgCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXNfc2VxIik7CgovLyBjcmVhdGUgYSBwZXJtaXNzaW9uCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdVc2UgR0NoYXJ0cycsICdVc2UgR0NoYXJ0cycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJywgJ0FwcHJvdmUgR0NoYXJ0cyBGb3IgRnJvbnRlbmQgRGlzcGxheScpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRGVsZXRlIEdDaGFydHMnLCAnRGVsZXRlIEdDaGFydHMgQ2hhcnRzJyk7CgovLyBjcmVhdGUgYSBwcmVmZXJlbmNlCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhbGxvd19hZGQiLCB0cnVlKTsKCiMgU2V0dXAgY2F0ZWdvcmllcwokY2F0aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllc19zZXEiKTsKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjYXRpZCwgJ1BpZSBDaGFydCcsIC0xKSk7CgokY2F0aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllc19zZXEiKTsKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjYXRpZCwgJ0xpbmUgQ2hhcnQnLCAtMSkpOwoKJGNhdGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXNfc2VxIik7CiRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyAoZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQsICdCYXIgQ2hhcnQnLCAtMSkpOwoNCiMgU2V0dXAgZGV0YWlsIHRlbXBsYXRlDQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLg0KICAndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidnY2hhcnRzX2xpc3QudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlX2NvbnRlbnRzJywkdGVtcGxhdGUpOw0KICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGV0YWlsU2FtcGxlJywkdGVtcGxhdGUpOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2RldGFpbF90ZW1wbGF0ZScsJ0RlZmF1bHQnKTsNCn0KCiMgU2V0dXAgcGVybWlzc2lvbnMKJHBlcm1faWQgPSAkZGItPkdldE9uZSgiU0VMRUNUIHBlcm1pc3Npb25faWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4icGVybWlzc2lvbnMgV0hFUkUgcGVybWlzc2lvbl9uYW1lID0gJ01vZGlmeSBHQ2hhcnRzJyIpOwokZ3JvdXBfaWQgPSAkZGItPkdldE9uZSgiU0VMRUNUIGdyb3VwX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuImdyb3VwcyBXSEVSRSBncm91cF9uYW1lID0gJ0FkbWluJyIpOwoKJGNvdW50ID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiZ3JvdXBfcGVybXMgV0hFUkUgZ3JvdXBfaWQgPSA/IEFORCBwZXJtaXNzaW9uX2lkID0gPyIsIGFycmF5KCRncm91cF9pZCwgJHBlcm1faWQpKTsKaWYgKGlzc2V0KCRjb3VudCkgJiYgaW50dmFsKCRjb3VudCkgPT0gMCkKewoJJG5ld19pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJncm91cF9wZXJtc19zZXEiKTsKCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImdyb3VwX3Blcm1zIChncm91cF9wZXJtX2lkLCBncm91cF9pZCwgcGVybWlzc2lvbl9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoIi4kbmV3X2lkLiIsICIuJGdyb3VwX2lkLiIsICIuJHBlcm1faWQuIiwgIi4gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpIC4gIiwgIiAuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICIpIjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwp9CgokZ3JvdXBfaWQgPSAkZGItPkdldE9uZSgiU0VMRUNUIGdyb3VwX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuImdyb3VwcyBXSEVSRSBncm91cF9uYW1lID0gJ0VkaXRvciciKTsKCiRjb3VudCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgY291bnQoKikgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImdyb3VwX3Blcm1zIFdIRVJFIGdyb3VwX2lkID0gPyBBTkQgcGVybWlzc2lvbl9pZCA9ID8iLCBhcnJheSgkZ3JvdXBfaWQsICRwZXJtX2lkKSk7CmlmIChpc3NldCgkY291bnQpICYmIGludHZhbCgkY291bnQpID09IDApCnsKCSRuZXdfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4iZ3JvdXBfcGVybXNfc2VxIik7CgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJncm91cF9wZXJtcyAoZ3JvdXBfcGVybV9pZCwgZ3JvdXBfaWQsIHBlcm1pc3Npb25faWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKCIuJG5ld19pZC4iLCAiLiRncm91cF9pZC4iLCAiLiRwZXJtX2lkLiIsICIuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICIsICIgLiAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkgLiAiKSI7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKfQoKI1NldHVwIGV2ZW50cwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dDaGFydHNDaGFydEFkZGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR0NoYXJ0c0NoYXJ0RWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR0NoYXJ0c0NoYXJ0RGVsZXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dDaGFydHNDYXRlZ29yeUFkZGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR0NoYXJ0c0NhdGVnb3J5RWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR0NoYXJ0c0NhdGVnb3J5RGVsZXRlZCcpOwoKJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKFRSVUUpOwokdGhpcy0+UmVnaXN0ZXJTbWFydHlQbHVnaW4oJ2djaGFydHMnLCdmdW5jdGlvbicsJ2Z1bmN0aW9uX3BsdWdpbicpOwoKLy8gYW5kIHJvdXRlcy4uLgokcm91dGUgPSBuZXcgQ21zUm91dGUoJy9bZ0ddY2hhcnRzXC8oP1A8Y2hhcnRpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KVwvZCwoP1A8ZGV0YWlsdGVtcGxhdGU+Lio/KSQvJywKCQkgICAgICAkdGhpcy0+R2V0TmFtZSgpKTsKY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvW2dHXWNoYXJ0c1wvKD9QPGNoYXJ0aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsJHRoaXMtPkdldE5hbWUoKSk7CmNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnL1tnR11jaGFydHNcLyg/UDxjaGFydGlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCR0aGlzLT5HZXROYW1lKCkpOwpjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwokcm91dGUgPSBuZXcgQ21zUm91dGUoJy9bZ0ddY2hhcnRzXC8oP1A8Y2hhcnRpZD5bMC05XSspJC8nLCR0aGlzLT5HZXROYW1lKCkpOwpjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJICAgICAgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsICR0aGlzLT5HZXRWZXJzaW9uKCkpICk7CgoJICAgICAgCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19zZXEiICk7CiRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXNfc2VxIiApOwoKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBHQ2hhcnRzJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBcHByb3ZlIEdDaGFydHMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0RlbGV0ZSBHQ2hhcnRzJyk7CgovLyBSZW1vdmUgYWxsIHByZWZlcmVuY2VzIGZvciB0aGlzIG1vZHVsZQokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gQW5kIGFsbCBUZW1wbGF0ZXMKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7CgojU2V0dXAgZXZlbnRzCiR0aGlzLT5SZW1vdmVFdmVudCgnR0NoYXJ0c0NoYXJ0QWRkZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdHQ2hhcnRzQ2hhcnRFZGl0ZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdHQ2hhcnRzQ2hhcnREZWxldGVkJyk7CgokdGhpcy0+UmVtb3ZlU21hcnR5UGx1Z2luKCk7CgpjbXNfcm91dGVfbWFuYWdlcjo6ZGVsX3N0YXRpYygnJywkdGhpcy0+R2V0TmFtZSgpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKJGRiID0mICR0aGlzLT5HZXREYigpOwoKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pIHsKICAvLyB3ZSBhcmUgbm93IDEuMCBhbmQgd2FudCB0byB1cGdyYWRlIHRvIGxhdGVzdAogY2FzZSAiMS4wIjoKfQoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJICAgICAgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKLy9ub3RlOiBtb2R1bGUgYXBpIGhhbmRsZXMgc2VuZGluZyBnZW5lcmljIGV2ZW50IG9mIG1vZHVsZSB1cGdyYWRlZCBoZXJlCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/chartlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKZnVuY3Rpb24gc2VsZWN0QWxsKCkKewogIGNoZWNrYm94ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsKICBmb3IgKGk9MDsgaTxjaGVja2JveGVzLmxlbmd0aCA7IGkrKykKICAgIHsKICAgICAgaWYgKGNoZWNrYm94ZXNbaV0udHlwZSA9PSAiY2hlY2tib3giKSBjaGVja2JveGVzW2ldLmNoZWNrZWQ9IWNoZWNrYm94ZXNbaV0uY2hlY2tlZDsKICAgIH0KfQovL11dPgo8L3NjcmlwdD4Key9saXRlcmFsfQoKCntpZiAkaXRlbWNvdW50ID4gMH0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgp7aWYgaXNzZXQoJGFkZGxpbmspfTxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD57L2lmfQo8L2Rpdj4KCntpZiAkcGFnZWNvdW50ID4gMX0KICA8cD4Ke2lmICRwYWdlbnVtYmVyID4gMX0KeyRmaXJzdHBhZ2V9Jm5ic3A7eyRwcmV2cGFnZX0mbmJzcDsKey9pZn0KeyRwYWdlbnVtYmVyfSZuYnNwO3skb2Z0ZXh0fSZuYnNwO3skcGFnZWNvdW50fQp7aWYgJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50fQombmJzcDt7JG5leHRwYWdlfSZuYnNwO3skbGFzdHBhZ2V9CnsvaWZ9CjwvcD4Key9pZn0KCnskZm9ybTJzdGFydH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskY2hhcnRpZHRleHR9PC90aD4KCQkJPHRoPnskbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY2F0ZWdvcnl0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskc3RhdHVzdGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj48YSBocmVmPSJqYXZhc2NyaXB0OnNlbGVjdEFsbCgpOyI+eyRzZWxlY3R0ZXh0fTwvYT48L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5PgoJe2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CgkJCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+Y2F0ZWdvcnl9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmFwcHJvdmVfbGluayl9eyRlbnRyeS0+YXBwcm92ZV9saW5rfXsvaWZ9PC90ZD4KCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfGRlZmF1bHQ6Jyd9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmRlbGV0ZWxpbmspfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+c2VsZWN0fTwvdGQ+CgkJPC90cj4KCXsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IHN0eWxlPSJ3aWR0aDogOTclOyI+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6IGxlZnQ7Ij4Ke2lmIGlzc2V0KCRhZGRsaW5rKX08cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+ey9pZn0KPC9kaXY+CntpZiAkaXRlbWNvdW50ID4gMH0KICA8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyIgc3R5bGU9ImZsb2F0OiByaWdodDsiPgogICAgeyRyZWFzc2lnbnRleHR9OiZuYnNwO3skY2F0ZWdvcnlpbnB1dH17JHN1Ym1pdF9yZWFzc2lnbn17aWYgaXNzZXQoJHN1Ym1pdF9tYXNzZGVsZXRlKX08YnIvPnskc3VibWl0X21hc3NkZWxldGV9ey9pZn0KICA8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPC9kaXY+CnskZm9ybTJlbmR9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/editchart.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKJChmdW5jdGlvbigpIHsKCSQoJy5oaWRkZW4nKS5oaWRlKCk7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMScpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMycpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CglpZiAoey9saXRlcmFsfXskY3VycmNhdH17bGl0ZXJhbH0gPT0gMSkgewoJCSQoJyMxJykuc2hvdygpOwoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcxJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Cgl9ZWxzZSBpZiAoey9saXRlcmFsfXskY3VycmNhdH17bGl0ZXJhbH0gPT0gMikgewoJCSQoJyMyJykuc2hvdygpOwoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcyJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Cgl9ZWxzZSBpZiAoey9saXRlcmFsfXskY3VycmNhdH17bGl0ZXJhbH0gPT0gMykgewoJCSQoJyMzJykuc2hvdygpOwoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCczJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Cgl9CiAgICAkKCcjY2hhcnRDYXRlZ29yeScpLmNoYW5nZShmdW5jdGlvbiAoKSB7CiAgICAgICAgJCgnLmhpZGRlbicpLmhpZGUoKTsKICAgICAgICAkKCcjJyskKHRoaXMpLnZhbCgpKS5zaG93KCk7CiAgICB9KTsKfSk7Ci8vXV0+Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGlkPSJlZGl0Y2hhcnRfcmVzdWx0Ij48L2Rpdj4KCnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfXtpZiBpc3NldCgkYXBwbHkpfXskYXBwbHl9ey9pZn08L3A+CjwvZGl2PgoKe2lmIGlzc2V0KCRzdGFydF90YWJfaGVhZGVycyl9Cnskc3RhcnRfdGFiX2hlYWRlcnN9CnskdGFiaGVhZGVyX2NoYXJ0fQp7JGVuZF90YWJfaGVhZGVyc30KCnskc3RhcnRfdGFiX2NvbnRlbnR9Cnskc3RhcnRfdGFiX2NoYXJ0fQp7L2lmfQo8ZGl2IGlkPSJlZGl0X2NoYXJ0Ij4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRjYXRlZ29yeXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y2F0ZWdvcnl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskbmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRkYXRhdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRkYXRhfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZWxlbWVudHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0ZWxlbWVudH08L3A+Cgk8L2Rpdj4KPGRpdiBpZD0iMSIgY2xhc3M9ImhpZGRlbiI+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRiYWNrZ3JvdW5kQ29sb3J0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGJhY2tncm91bmRDb2xvcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNoYXJ0QXJlYXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y2hhcnRBcmVhfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY29sb3JzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjb2xvcnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb250U2l6ZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9udFNpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb250TmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9udE5hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoZWlnaHR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGhlaWdodH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlzM0R0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGlzM0R9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsZWdlbmR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGxlZ2VuZH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNsaWNlc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c2xpY2VzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGllU2xpY2VCb3JkZXJDb2xvcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllU2xpY2VCb3JkZXJDb2xvcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBpZVNsaWNlVGV4dHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllU2xpY2VUZXh0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGllU2xpY2VUZXh0U3R5bGV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHBpZVNsaWNlVGV4dFN0eWxlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcmV2ZXJzZUNhdGVnb3JpZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHJldmVyc2VDYXRlZ29yaWVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwaWVSZXNpZHVlU2xpY2VDb2xvcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllUmVzaWR1ZVNsaWNlQ29sb3J9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwaWVSZXNpZHVlU2xpY2VMYWJlbHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllUmVzaWR1ZVNsaWNlTGFiZWx9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZVRleHRTdHlsZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dGl0bGVUZXh0U3R5bGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0b29sdGlwdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0b29sdGlwfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskd2lkdGh0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdpZHRofTwvcD4KCTwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0iMiIgY2xhc3M9ImhpZGRlbiI+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRheGlzVGl0bGVzUG9zaXRpb250ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGF4aXNUaXRsZXNQb3NpdGlvbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGJhY2tncm91bmRDb2xvcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0YmFja2dyb3VuZENvbG9yfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY2hhcnRBcmVhdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjaGFydEFyZWF9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRjb2xvcnN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGNvbG9yc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGN1cnZlVHlwZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y3VydmVUeXBlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZW5hYmxlSW50ZXJhY3Rpdml0eXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0ZW5hYmxlSW50ZXJhY3Rpdml0eX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZvY3VzVGFyZ2V0dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmb2N1c1RhcmdldH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZvbnRTaXpldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmb250U2l6ZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZvbnROYW1ldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmb250TmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGhBeGlzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRoQXhpc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGhlaWdodHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aGVpZ2h0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaXNIdG1sdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRpc0h0bWx9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpbnRlcnBvbGF0ZWROdWxsc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aW50ZXJwb2xhdGVkTnVsbHN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsZWdlbmR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGxlZ2VuZH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGxpbmVXaWR0aHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bGluZVdpZHRofTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcG9pbnRTaXpldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRwb2ludFNpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRyZXZlcnNlQ2F0ZWdvcmllc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cmV2ZXJzZUNhdGVnb3JpZXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzZXJpZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHNlcmllc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRoZW1ldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0aGVtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlUG9zaXRpb250ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRpdGxlUG9zaXRpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZVRleHRTdHlsZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dGl0bGVUZXh0U3R5bGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0b29sdGlwdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0b29sdGlwfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdkF4ZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHZBeGVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdkF4aXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHZBeGlzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskd2lkdGh0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdpZHRofTwvcD4KCTwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0iMyIgY2xhc3M9ImhpZGRlbiI+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRheGlzVGl0bGVzUG9zaXRpb250ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGF4aXNUaXRsZXNQb3NpdGlvbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGJhY2tncm91bmRDb2xvcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0YmFja2dyb3VuZENvbG9yfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY2hhcnRBcmVhdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjaGFydEFyZWF9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRjb2xvcnN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGNvbG9yc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVuYWJsZUludGVyYWN0aXZpdHl0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGVuYWJsZUludGVyYWN0aXZpdHl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb2N1c1RhcmdldHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9jdXNUYXJnZXR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb250U2l6ZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9udFNpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb250TmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9udE5hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoQXhlc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aEF4ZXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoQXhpc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aEF4aXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoZWlnaHR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGhlaWdodH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlzSHRtbHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aXNIdG1sfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaXNTdGFja2VkdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRpc1N0YWNrZWR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsZWdlbmR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGxlZ2VuZH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHJldmVyc2VDYXRlZ29yaWVzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRyZXZlcnNlQ2F0ZWdvcmllc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNlcmllc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c2VyaWVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGhlbWV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRoZW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVQb3NpdGlvbnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dGl0bGVQb3NpdGlvbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlVGV4dFN0eWxldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0aXRsZVRleHRTdHlsZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRvb2x0aXB0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRvb2x0aXB9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR2QXhpc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dkF4aXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR3aWR0aHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0d2lkdGh9PC9wPgoJPC9kaXY+CjwvZGl2Pgo8L2Rpdj4Ke2lmIGlzc2V0KCRlbmRfdGFiX2NoYXJ0KX17JGVuZF90YWJfY2hhcnR9ey9pZn0KCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfXtpZiBpc3NldCgkYXBwbHkpfXskYXBwbHl9ey9pZn08L3A+CjwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/gcharts.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtb2R1bGVfbWVzc2FnZSl9PGgyPnskbW9kdWxlX21lc3NhZ2V8ZXNjYXBlfTwvaDI+ey9pZn0Ke2Fzc2lnbiB2YXI9J2NvdW50JyB2YWx1ZT0nMCd9Cntmb3JlYWNoIGZyb209JHJlY29yZHMgaXRlbT1lbnRyeX0KCXthc3NpZ24gdmFyPSdjYXRlZ29yeScgdmFsdWU9JGVudHJ5LT5jYXRlZ29yeX0KCXthc3NpZ24gdmFyPSduYW1lJyB2YWx1ZT0kZW50cnktPm5hbWV9Cgl7YXNzaWduIHZhcj0nZWxlbWVudCcgdmFsdWU9JGVudHJ5LT5lbGVtZW50fQoJe2Fzc2lnbiB2YXI9J3RpdGxlJyB2YWx1ZT0kZW50cnktPnRpdGxlfQoJe2Fzc2lnbiB2YXI9J2RhdGEnIHZhbHVlPSRlbnRyeS0+ZGF0YX0KCXthc3NpZ24gdmFyPSdiYWNrZ3JvdW5kQ29sb3InIHZhbHVlPSRlbnRyeS0+YmFja2dyb3VuZENvbG9yfQoJe2Fzc2lnbiB2YXI9J2NoYXJ0QXJlYScgdmFsdWU9JGVudHJ5LT5jaGFydEFyZWF9Cgl7YXNzaWduIHZhcj0nY29sb3JzJyB2YWx1ZT0kZW50cnktPmNvbG9yc30KCXthc3NpZ24gdmFyPSdmb250U2l6ZScgdmFsdWU9JGVudHJ5LT5mb250U2l6ZX0KCXthc3NpZ24gdmFyPSdmb250TmFtZScgdmFsdWU9JGVudHJ5LT5mb250TmFtZX0KCXthc3NpZ24gdmFyPSdoZWlnaHQnIHZhbHVlPSRlbnRyeS0+aGVpZ2h0fQoJe2Fzc2lnbiB2YXI9J2lzM0QnIHZhbHVlPSRlbnRyeS0+aXMzRH0KCXthc3NpZ24gdmFyPSdsZWdlbmQnIHZhbHVlPSRlbnRyeS0+bGVnZW5kfQoJe2Fzc2lnbiB2YXI9J3NsaWNlcycgdmFsdWU9JGVudHJ5LT5zbGljZXN9Cgl7YXNzaWduIHZhcj0ncGllU2xpY2VCb3JkZXJDb2xvcicgdmFsdWU9JGVudHJ5LT5waWVTbGljZUJvcmRlckNvbG9yfQoJe2Fzc2lnbiB2YXI9J3BpZVNsaWNlVGV4dCcgdmFsdWU9JGVudHJ5LT5waWVTbGljZVRleHR9Cgl7YXNzaWduIHZhcj0ncGllU2xpY2VUZXh0U3R5bGUnIHZhbHVlPSRlbnRyeS0+cGllU2xpY2VUZXh0U3R5bGV9Cgl7YXNzaWduIHZhcj0ncmV2ZXJzZUNhdGVnb3JpZXMnIHZhbHVlPSRlbnRyeS0+cmV2ZXJzZUNhdGVnb3JpZXN9Cgl7YXNzaWduIHZhcj0nc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJyB2YWx1ZT0kZW50cnktPnNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZH0KCXthc3NpZ24gdmFyPSdwaWVSZXNpZHVlU2xpY2VDb2xvcicgdmFsdWU9JGVudHJ5LT5waWVSZXNpZHVlU2xpY2VDb2xvcn0KCXthc3NpZ24gdmFyPSdwaWVSZXNpZHVlU2xpY2VMYWJlbCcgdmFsdWU9JGVudHJ5LT5waWVSZXNpZHVlU2xpY2VMYWJlbH0KCXthc3NpZ24gdmFyPSd0aXRsZScgdmFsdWU9JGVudHJ5LT50aXRsZX0KCXthc3NpZ24gdmFyPSd0aXRsZVRleHRTdHlsZScgdmFsdWU9JGVudHJ5LT50aXRsZVRleHRTdHlsZX0KCXthc3NpZ24gdmFyPSd0b29sdGlwJyB2YWx1ZT0kZW50cnktPnRvb2x0aXB9Cgl7YXNzaWduIHZhcj0nd2lkdGgnIHZhbHVlPSRlbnRyeS0+d2lkdGh9Cgl7JGNvdW50KysgYXNzaWduPSdqdW5rJ30Key9mb3JlYWNofQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4Ke2xpdGVyYWx9CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgIGdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwogICAgICBnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0KTsKICAgICAgZnVuY3Rpb24gZHJhd0NoYXJ0KCkgewoJLy8gQ3JlYXRlIGFuZCBwb3B1bGF0ZSB0aGUgZGF0YSB0YWJsZS4KCQl2YXIgZGF0YSA9IGdvb2dsZS52aXN1YWxpemF0aW9uLmFycmF5VG9EYXRhVGFibGUoWwoJCXsvbGl0ZXJhbH0KCQl7ZXZhbCB2YXI9JGRhdGF9CgkJe2xpdGVyYWx9CgkJXSk7CgkJdmFyIG9wdGlvbnMgPSB7CgkJey9saXRlcmFsfQoJCQl7aWYgJHRpdGxlIG5lICcnfXRpdGxlOiAneyR0aXRsZX0nLHtlbHNlIGlmICRuYW1lIG5lICcnfXRpdGxlOiAneyRuYW1lfScsey9pZn0KCQkJe2lmICRiYWNrZ3JvdW5kQ29sb3IgbmUgJyd9YmFja2dyb3VuZENvbG9yOiB7JGJhY2tncm91bmRDb2xvcn0sey9pZn0KCQkJe2lmICRjaGFydEFyZWEgbmUgJyd9Y2hhcnRBcmVhOiB7JGNoYXJ0QXJlYX0sey9pZn0KCQkJe2lmICRjb2xvcnMgbmUgJyd9Y29sb3JzOiB7JGNvbG9yc30sey9pZn0KCQkJe2lmICRmb250U2l6ZSBuZSAnJ31mb250U2l6ZTogeyRmb250U2l6ZX0sey9pZn0KCQkJe2lmICRmb250TmFtZSBuZSAnJ31mb250TmFtZTogeyRmb250TmFtZX0sey9pZn0KCQkJe2lmICRoZWlnaHQgbmUgJyd9aGVpZ2h0OiB7JGhlaWdodH0sey9pZn0KCQkJe2lmICRpczNEIG5lICcnfWlzM0Q6IHskaXMzRH0sey9pZn0KCQkJe2lmICRsZWdlbmQgbmUgJyd9bGVnZW5kOiB7JGxlZ2VuZH0sey9pZn0KCQkJe2lmICRzbGljZXMgbmUgJyd9c2xpY2VzOiB7JHNsaWNlc30sey9pZn0KCQkJe2lmICRwaWVTbGljZUJvcmRlckNvbG9yIG5lICcnfXBpZVNsaWNlQm9yZGVyQ29sb3I6IHskcGllU2xpY2VCb3JkZXJDb2xvcn0sey9pZn0KCQkJe2lmICRwaWVTbGljZVRleHQgbmUgJyd9cGllU2xpY2VUZXh0OiB7JHBpZVNsaWNlVGV4dH0sey9pZn0KCQkJe2lmICRwaWVTbGljZVRleHRTdHlsZSBuZSAnJ31waWVTbGljZVRleHRTdHlsZTogeyRwaWVTbGljZVRleHRTdHlsZX0sey9pZn0KCQkJe2lmICRyZXZlcnNlQ2F0ZWdvcmllcyBuZSAnJ31yZXZlcnNlQ2F0ZWdvcmllczogeyRyZXZlcnNlQ2F0ZWdvcmllc30sey9pZn0KCQkJe2lmICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgbmUgJyd9c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkOiB7JHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZH0sey9pZn0KCQkJe2lmICRwaWVSZXNpZHVlU2xpY2VDb2xvciBuZSAnJ31waWVSZXNpZHVlU2xpY2VDb2xvcjogeyRwaWVSZXNpZHVlU2xpY2VDb2xvcn0sey9pZn0KCQkJe2lmICRwaWVSZXNpZHVlU2xpY2VMYWJlbCBuZSAnJ31waWVSZXNpZHVlU2xpY2VMYWJlbDogeyRwaWVSZXNpZHVlU2xpY2VMYWJlbH0sey9pZn0KCQkJe2lmICR0aXRsZVRleHRTdHlsZSBuZSAnJ310aXRsZVRleHRTdHlsZTogeyR0aXRsZVRleHRTdHlsZX0sey9pZn0KCQkJe2lmICR0b29sdGlwIG5lICcnfXRvb2x0aXA6IHskdG9vbHRpcH0sey9pZn0KCQkJe2lmICR3aWR0aCBuZSAnJ313aWR0aDogeyR3aWR0aH17L2lmfQoJCXtsaXRlcmFsfQoJCX07CgkJLy8gQ3JlYXRlIGFuZCBkcmF3IHRoZSB2aXN1YWxpemF0aW9uLgoJCXZhciBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi57L2xpdGVyYWx9e2lmICRjYXRlZ29yeSA9PSAnMSd9UGllQ2hhcnR7ZWxzZWlmICRjYXRlZ29yeSA9PSAnMid9TGluZUNoYXJ0e2Vsc2VpZiAkY2F0ZWdvcnkgPT0gJzMnfUJhckNoYXJ0ey9pZn17bGl0ZXJhbH0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3svbGl0ZXJhbH17JGVsZW1lbnR9e2xpdGVyYWx9JykpOwogICAgICAgIGNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7Cgl9Cglnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd1Zpc3VhbGl6YXRpb24pOwo8L3NjcmlwdD4Key9saXRlcmFsfQ==]]></data>
	</file>
</module>
