<?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>Analytics</name>
	<version>1.2</version>
  <mincmsversion>1.9.4</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQogICAgPHA+SW1wbGVtZW50cyBHb29sZSBBbmFseXRpY3MgdG8geW91ciBDTVMuPC9wPg0KICAgIA0KICAgIDxoMz5UYWdzPC9oMz4NCiAgICAgICAgPGg0PntnZXRfcGFnZV9zdGF0cyB1cmw9JHVybCBhc3NpZ249InN0YXRzIn08L2g0Pg0KICAgICAgICA8cD48c3Ryb25nPlBhcmFtczwvc3Ryb25nPjwvcD4NCiAgICAgICAgPHVsPg0KICAgICAgICAgICAgPGxpPnVybCAocmVxdWlyZWQpPC9saT4NCiAgICAgICAgICAgIDxsaT5hc3NpZ24gKG9wdGlvbmFsKTwvbGk+DQogICAgICAgIDwvdWw+DQogICAgICAgIDxwPjxzdHJvbmc+UmV0dXJuPC9zdHJvbmc+OiAkb2JqZWN0LT4gZ2V0VmlzaXRzKCksZ2V0VmlzaXRvcnMoKSwgZ2V0UGFnZVZpZXdzKCksIGdldFVwZGF0ZWQoKTwvcD4NCiAgICA8L3A+DQogICAgDQogICAgPGgzPkxpa2UgaXQ/IERvbmF0ZSA6KTwvaDM+DQogICAgPHA+PGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyIiBtZXRob2Q9InBvc3QiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVuY3J5cHRlZCIgdmFsdWU9Ii0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhQd1lKS29aSWh2Y05BUWNFb0lJSE1EQ0NCeXdDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBZDhMZ0h1bHkwSEFkZkVRWHZZeUNXWVBsc0ZONjJoZS9URVdNS0xNUTh3cE5JNks3Y1RnT1NPcmFLQ0o0a0orVHBCZi8xak93K1B4YXdBVkpGTDd2Ulp0cGxmejFHaUdSUFhRNkd2amhkemVXQW0zdDRYckJuQVVnSUtYZTg2aTRDVkpJUy9PeXBSZUNyQTFTeXk0NGVHbGxHSnExQzRYbmdHSnErVXRXQWx6RUxNQWtHQlNzT0F3SWFCUUF3Z2J3R0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJT2tNdXBXMlJ5bmVBZ1pnYVdtUDN3OHhEMVBZQU1GcjBqbmJDRE5HbUtLaE9VNm1WMVZHWUtyOWxZSnFOaHczZDdlcXltK210QnphSHBuZ0RaUVFCTjI5YngwV2JRaldSL2MraHNPKzZnUXlrdGQ2WVNDWThqd1l0K29oTlExUjUvNFluVlpYazhzbTF3VjVhdUg1SnlJVHVNcVJRbHJWRWl2bHhMYXJ6dSsxaDVackpuWlZpbUYvK0hnUk5HWEJkWTBBcHpQeSt3TmZZbGhkcGI2V0xRM3Q1UDZDQ0E0Y3dnZ09ETUlJQzdLQURBZ0VDQWdFQU1BMEdDU3FHU0liM0RRRUJCUVVBTUlHT01Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DUTBFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RkRBU0JnTlZCQW9UQzFCaGVWQmhiQ0JKYm1NdU1STXdFUVlEVlFRTEZBcHNhWFpsWDJObGNuUnpNUkV3RHdZRFZRUURGQWhzYVhabFgyRndhVEVjTUJvR0NTcUdTSWIzRFFFSkFSWU5jbVZBY0dGNWNHRnNMbU52YlRBZUZ3MHdOREF5TVRNeE1ERXpNVFZhRncwek5UQXlNVE14TURFek1UVmFNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiVENCbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBd1VkTzNmeEV6RXRjbkk3WktaTDQxMlh2WlB1Z29uaTdpN0Q3cHJDZTBBdGFIVGM5N0NZZ203TnNBdEp5eE5MaXhtaExWOHB5SUVhaUhYV0FoOGZQS1crUjAxNytFbVhycjlFYXF1UG1zVnZUeXdBQUUxUE1OT0txbzJrbDRHeGl6OXpacUlhak9tMWZaR1djR1MwZjVKUTJrQnFOYnZiZzIvWmErR0ovcXdVQ0F3RUFBYU9CN2pDQjZ6QWRCZ05WSFE0RUZnUVVscDk4dThadkY3MVpQMUxYQ2h2c0VOWmtsR3N3Z2JzR0ExVWRJd1NCc3pDQnNJQVVscDk4dThadkY3MVpQMUxYQ2h2c0VOWmtsR3VoZ1pTa2daRXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRnZ0VBTUF3R0ExVWRFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdZRUFnVjg2VnBxQVd1WHZYNk9ybzRxSjF0WVZJVDVEZ1dwRTY5MkFnNDIySDd5UklyLzlqL2lLRzRUaGlhL09mbHg0VGRMK0lGSkJBeVBLOXY2elpOWnRCZ1BCeW5YYjA0OGhzUDE2bDJ2aTBrNVEySktpUERzRWZCaEdJK0hueExYRWFVV0FjVmZDc1FGdmQyQTFzeFJyNjdpcDV5Mnd3QmVsVWVjUDNBakorWWN4Z2dHYU1JSUJsZ0lCQVRDQmxEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMENBUUF3Q1FZRkt3NERBaG9GQUtCZE1CZ0dDU3FHU0liM0RRRUpBekVMQmdrcWhraUc5dzBCQndFd0hBWUpLb1pJaHZjTkFRa0ZNUThYRFRFd01Ea3dOREl3TVRBeE5Gb3dJd1lKS29aSWh2Y05BUWtFTVJZRUZPMklCeHVNbDZGOXBZSkNZYzRGTjZqa1NJWjFNQTBHQ1NxR1NJYjNEUUVCQVFVQUJJR0FaYVp0K1Vla0wvMFNoOUcySXZWb1E4ZmZGb2pCaCt2MUFxWS9oOFhzUzJFdURiSkNYeHRsT25QT3J4VUZLdDVKUGJOZndjRVlJN3FXeTZRTHp1cUdITHJMQUxVM3JXUERySjdRYTVXWEVKVjJQYkFzUTJoRjlXNXAweXA2WXg5c1ZXVkFTTWgwaUlBRXhMMDJpTHoyckF0SWJZOGZlbDFjNjY5T3hUNjNwV3M9LS0tLS1FTkQgUEtDUzctLS0tLQ0KIj4NCjxpbnB1dCB0eXBlPSJpbWFnZSIgc3JjPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSEiPg0KPGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vZW5fVVMvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4NCjwvZm9ybT4NCjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjIzPC9saT48bGk+RXh0ZW5kZWRUb29scyA9Jmd0OyAxLjE8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBaZGVubyBLdXptYW55ICh0d2l0dGVyLmNvbS9rdXptYW55KSAmbHQ7emRlbm9Aa3V6bWFueS5iaXomZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4yPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPg0KPGxpPlZlcnNpb24gMSAtIG9jdG9iZXIgMjAxMSBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjwvdWw+PGJyIC8+]]></about>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.23</requiredversion>
	</requires>
	<requires>
	  <requiredname>ExtendedTools</requiredname>
	  <requiredversion>1.1</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_optionstab_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgTW9kdWxlOiBGZXVGYWNlYm9vawojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdub19wZXJtaXNpb24nKSk7CiAgICAkdGhpcy0+U2V0Q3VycmVudFRhYignb3B0aW9ucycpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKJHByZWZlcmVuY2VzICA9ICBhcnJheSgnZ2FfbG9naW4nLCdnYV9wYXNzd29yZCcsICdnYV9pZCcsICdnYV9wZXJpb2QnKTsKZXh0ZW5kZWRfdG9vbHNfb3B0czo6c2V0X3ByZWZlcmVuY2VzKCRwcmVmZXJlbmNlcywgJHBhcmFtcywgJHRoaXMpOwokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnb3B0aW9uc3VwZGF0ZWQnKSk7CgokdGhpcy0+U2V0Q3VycmVudFRhYignb3B0aW9ucycpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaWYgKCFpc3NldCgkZ0NtcykpCiAgICBleGl0OwoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoKCiR2aWV3X3N0YXRzID0gdHJ1ZTsKCmlmICghJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dhX2xvZ2luJykgfHwKICAgICAgICAhJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dhX3Bhc3N3b3JkJykgfHwgISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYV9pZCcpKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdzZXRfb3B0aW9ucycpKTsKICAgICR0aGlzLT5TZXRDdXJyZW50VGFiKCdvcHRpb25zJyk7CiAgICAkdmlld19zdGF0cyA9IGZhbHNlOwp9CgoKYW5hbHl0aWNzX29wdHM6OmdldFBlcmlvZCgpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2hlYWRlci50cGwnKTsKCiMjIFRBQiBIRUFERVJTIGZyb20gQ0dFCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkgJiYgJHZpZXdfc3RhdHMpIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZ2xvYmFsJywgJHRoaXMtPkxhbmcoJ2dsb2JhbCcpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncGFnZXMnLCAkdGhpcy0+TGFuZygncGFnZXMnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2Jyb3dzZXJzJywgJHRoaXMtPkxhbmcoJ2Jyb3dzZXJzJykpOwp9CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdvcHRpb25zJywgJHRoaXMtPkxhbmcoJ29wdGlvbnMnKSk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCiMKI1RoZSBjb250ZW50IG9mIHRoZSB0YWJzCiMKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgoKJGNhY2hlX2ZpbGUgPSBUTVBfQ0FDSEVfTE9DQVRJT04gLiAnLycgLiBtZDUoYW5hbHl0aWNzX29wdHM6OmdldF9wcm9maWxlX2lkKCkgLiBDTVNfVVNFUl9LRVkpIC4gJy5jYWNoZSc7CgokdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwokdXNlcm9wcyA9IGNtc21zKCktPkdldFVzZXJPcGVyYXRpb25zKCk7CiRhZG1pbnVzZXIgPSAkdXNlcm9wcy0+VXNlckluR3JvdXAoJHVzZXJpZCwxKTsKCgppZiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkgJiYgJHZpZXdfc3RhdHMpIHsKICAgIGlmICghZmlsZV9leGlzdHMoJGNhY2hlX2ZpbGUpIHx8ICRhZG1pbnVzZXIpIHsKICAgICAgICBAb2Jfc3RhcnQoKTsKICAgICAgICBlY2hvICR0aGlzLT5TdGFydFRhYignZ2xvYmFsJyk7CiAgICAgICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fc3RhdHNfZ2xvYmFsLnBocCcpOwogICAgICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgICAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncGFnZXMnKTsKICAgICAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9zdGF0c19wYWdlcy5waHAnKTsKICAgICAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICAgICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2Jyb3dzZXJzJyk7CiAgICAgICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fc3RhdHNfc3lzdGVtLnBocCcpOwogICAgICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgICAgICAkb3V0cHV0ID0gQG9iX2dldF9jb250ZW50cygpOwogICAgICAgIEBvYl9lbmRfY2xlYW4oKTsKCiAgICAgICAgaWYgKHN0cmxlbigkb3V0cHV0KSkKICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGNhY2hlX2ZpbGUsICRvdXRwdXQpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJG91dHB1dCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRjYWNoZV9maWxlKTsKICAgIH0KICAgIGVjaG8gJG91dHB1dDsKfQoKCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpKSB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignb3B0aW9ucycsICRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fb3B0aW9uc3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/Analytics.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgpkZWZpbmUoJ1VTRV9BTkFMWVRJQ1MnLCAnVXNlIEFuYWx5dGljcycpOwoKY2xhc3MgQW5hbHl0aWNzIGV4dGVuZHMgQ0dFeHRlbnNpb25zIHsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7CiAgICAgICAgcGFyZW50OjpDTVNNb2R1bGUoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKSB7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAgICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgICAgIC8vYW5hbHl0aWNzX29wdHM6OmluaXQoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsKICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCAnMS4xMCcpIDwgMCkKICAgICAgICAgICAgJHRoaXMtPkluaXRpYWxpemVGcm9udGVuZCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpIHsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVycygpOwogICAgfQoKICAgIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7CiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSB7CiAgICAgICAgcmV0dXJuICdBbmFseXRpY3MnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsKICAgICAgICByZXR1cm4gJzEuMic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7CiAgICAgICAgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pIC4gJy9oZWxwX3RleHQuaW5jJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsKICAgICAgICByZXR1cm4gJ1pkZW5vIEt1em1hbnkgKHR3aXR0ZXIuY29tL2t1em1hbnkpJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7CiAgICAgICAgcmV0dXJuICd6ZGVub0BrdXptYW55LmJpeic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsKICAgICAgICByZXR1cm4gZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykgLiAnL2NoYW5nZWxvZy5pbmMnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSGFzQWRtaW4oKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsKICAgICAgICByZXR1cm4gJ2V4dGVuc2lvbnMnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5kZXNjcmlwdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7CiAgICAgICAgcmV0dXJuICgkdGhpcy0+Q2hlY2tBY2Nlc3MoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIENoZWNrQWNjZXNzKCRwZXJtID0gVVNFX0FOQUxZVElDUykgewogICAgICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCRwZXJtKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkgewogICAgICAgIHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJyA9PiAnMS4yMycsJ0V4dGVuZGVkVG9vbHMnID0+ICcxLjEnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7CiAgICAgICAgcmV0dXJuICIxLjkuNCI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwogICAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPg0KPGxpPlZlcnNpb24gMSAtIG9jdG9iZXIgMjAxMSBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/function.admin_optionstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9vcHRpb25zdGFiX2VkaXQnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokcGVyaW9kX2l0ZW1zID0gYXJyYXkoKTsKJHBlcmlvZF9pdGVtc1snbW9udGhseSddID0gJHRoaXMtPkxhbmcoJ21vbnRobHknKTsKJHBlcmlvZF9pdGVtc1snd2Vla2x5J10gPSAkdGhpcy0+TGFuZygnd2Vla2x5Jyk7CiRwZXJpb2RfaXRlbXNbJ3llc3RlcmRheSddID0gJHRoaXMtPkxhbmcoJ3llc3RlcmRheScpOwokcGVyaW9kX2l0ZW1zWyd0b2RheSddID0gJHRoaXMtPkxhbmcoJ3RvZGF5Jyk7CgoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnb3B0aW9uc3N1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2dhX2xvZ2luJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdnYV9sb2dpbicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYV9sb2dpbicpLCA1NSwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ2FfcGFzc3dvcmQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdnYV9wYXNzd29yZCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYV9wYXNzd29yZCcpLCA1NSwgMjU1KSk7CgppZiAoKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYV9sb2dpbicpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYV9wYXNzd29yZCcpKSkgewogICAgaWYgKGlzX29iamVjdChhbmFseXRpY3Nfb3B0czo6Z2V0R0EoKSkpIHsKICAgICAgICBhbmFseXRpY3Nfb3B0czo6Z2V0R0EoKS0+cmVxdWVzdEFjY291bnREYXRhKCk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdnYV9kYXRhJywgYW5hbHl0aWNzX29wdHM6OiRnYS0+Z2V0UmVzdWx0cygpKTsKICAgIH0KfQoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignZ2FfcGVyaW9kJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnZ2FfcGVyaW9kJywgYXJyYXlfZmxpcCgkcGVyaW9kX2l0ZW1zKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYV9wZXJpb2QnKSkpOwoKJGNnZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dFeHRlbnNpb25zJyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FjaGVfdGltZScsICRjZ2UtPkdldFByZWZlcmVuY2UoJ2NhY2hlX2xpZmV0aW1lJywgMzAwKSk7CgoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5wcmVmcy50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_stats_global.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCiAgICBhbmFseXRpY3Nfb3B0czo6cmVxdWVzdF9kYXRhKGFycmF5KCdkYXRlJyksIGFycmF5KCd2aXNpdG9ycycsICd2aXNpdHMnLCduZXdWaXNpdHMnLCdwZXJjZW50TmV3VmlzaXRzJywgJ3BhZ2VWaWV3cycsICdwYWdldmlld3NQZXJWaXNpdCcsICd2aXNpdEJvdW5jZVJhdGUnLCAnYXZnVGltZU9uU2l0ZScpLCAnLWRhdGUnKTsKICAgICRnYSA9IGFuYWx5dGljc19vcHRzOjokZ2E7CiAgICAkZW50cnlhcnJheSA9ICRnYS0+Z2V0UmVzdWx0cygpOwoKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2dhJywgJGdhKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3N0YXRzX2dsb2JhbC50cGwnKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnc3RhdHNfdGFibGUudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_stats_pages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCgokYWxsb3dfYWxsICAgPSBudWxsOwokY3VycmVudCAgICA9IG51bGw7CiRhbGxvd2N1cnJlbnQgICAgID0gbnVsbDsKJGN1cmhpZXJhcmNoeSAgICAgID0gbnVsbDsKJHBhcmVudCAgICAgID0gbnVsbDsKCiRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKJGFsbGNvbnRlbnQgPSAkY29udGVudG9wcy0+R2V0QWxsQ29udGVudChmYWxzZSk7CgokZW50cnlhcnJheSA9IGFycmF5KCk7CmZvcmVhY2ggKCRhbGxjb250ZW50IGFzICRvbmUpIHsKICAgIGlmICghaXNfb2JqZWN0KCRvbmUpKQogICAgICAgIGNvbnRpbnVlOwogICAgCiAgICAkcm93ID0gYXJyYXkoKTsKICAgIAogICAgJHZhbHVlID0gJG9uZS0+SWQoKTsKICAgIGlmICgkdmFsdWUgPT0gJGN1cnJlbnQpIHsKICAgICAgICAvLyBHcmFiIGhpZXJhcmNoeSBqdXN0IGluIGNhc2Ugd2UgbmVlZCB0byBjaGVjayBjaGlsZHJlbgogICAgICAgIC8vICh3aGljaCB3aWxsIGFsd2F5cyBiZSBhZnRlcikKICAgICAgICAkY3VyaGllcmFyY2h5ID0gJG9uZS0+SGllcmFyY2h5KCk7CgogICAgICAgIGlmICghJGFsbG93Y3VycmVudCkgewogICAgICAgICAgICAvLyBUaGVuIGp1bXAgb3V0LiAgV2UgZG9uJ3Qgd2FudCBvdXJzZWx2ZXMgaW4gdGhlIGxpc3QuCiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICAkdmFsdWUgPSAtMTsKICAgIH0KCiAgICAvLyBJZiBpdCBkb2Vzbid0IGhhdmUgYSB2YWxpZCBsaW5rLi4uCiAgICAvLyBkb24ndCBpbmNsdWRlIGl0LgogICAgaWYgKCEkYWxsb3dfYWxsICYmICEkb25lLT5IYXNVc2FibGVMaW5rKCkpIHsKICAgICAgICBjb250aW51ZTsKICAgIH0KCiAgICAvLyBJZiBpdCdzIGEgY2hpbGQgb2YgdGhlIGN1cnJlbnQsIHdlIGRvbid0IHdhbnQgdG8gc2hvdyBpdCBhcyBpdAogICAgLy8gY291bGQgY2F1c2UgYSBkZWFkbG9jay4KICAgIGlmICghJGFsbG93Y3VycmVudCAmJgogICAgICAgICAgICAkY3VyaGllcmFyY2h5ICE9ICcnICYmCiAgICAgICAgICAgIHN0cnN0cigkb25lLT5IaWVyYXJjaHkoKSAuICcuJywgJGN1cmhpZXJhcmNoeSAuICcuJykgPT0gJG9uZS0+SGllcmFyY2h5KCkgLiAnLicpIHsKICAgICAgICBjb250aW51ZTsKICAgIH0KCiAgICAvLyBJZiB3ZSBoYXZlIGEgdmFsaWQgdXNlcmlkLi4uIG9ubHkgaW5jbHVkZSBwYWdlcyB3aGVyZSB0aGlzIHVzZXIKICAgIC8vIGhhcyB3cml0ZSBhY2Nlc3MuLi4gb3IgaXMgYW4gYWRtaW4gdXNlci4uLiBvciBoYXMgYXBwcm9wcmlhdGUgcGVybWlzc2lvbi4KICAgIGlmICgkdXNlcmlkID4gMCAmJiAkb25lLT5JZCgpICE9ICRwYXJlbnQpIHsKICAgICAgICBpZiAoIWNoZWNrX3Blcm1pc3Npb24oJHVzZXJpZCwgJ01hbmFnZSBBbGwgQ29udGVudCcpICYmCiAgICAgICAgICAgICAgICAhY2hlY2tfYXV0aG9yc2hpcCgkdXNlcmlkLCAkb25lLT5JZCgpKSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICB9CgogICAgLy8gRG9uJ3QgaW5jbHVkZSBjb250ZW50IHR5cGVzIHRoYXQgZG8gbm90IHdhbnQgY2hpbGRyZW4gZWl0aGVyLi4uCiAgICBpZiAoISRvbmUtPldhbnRzQ2hpbGRyZW4oKSkKICAgICAgICBjb250aW51ZTsgewogICAgICAgICRyb3dbImlkIl0gID0gJHZhbHVlOwogICAgICAgICRyb3dbIm5hbWUiXSAgPSAkb25lLT5OYW1lKCk7CiAgICAgICAgJHJvd1siaGllcmFyY2h5Il0gID0gJG9uZS0+SGllcmFyY2h5KCk7CiAgICAgICAgJHVybCA9ICRyb3dbInVybCJdICA9ICRvbmUtPkdldFVSTCgpOwogICAgICAgICRyb3dbImdhIl0gID0gYW5hbHl0aWNzX29wdHM6OmdldF9zdGF0c19mcm9tX3VybCgkdXJsKTsKICAgICAgICAkb25lcm93ID0gY2dlX2FycmF5Ojp0b19vYmplY3QoJHJvdyk7CiAgICAgICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CiAgICB9Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3N0YXRzX3BhZ2VzLnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_stats_system.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCiAgICBhbmFseXRpY3Nfb3B0czo6cmVxdWVzdF9kYXRhKGFycmF5KCdicm93c2VyJyksIGFycmF5KCd2aXNpdG9ycycsICd2aXNpdHMnLCAncGFnZVZpZXdzJyksICctdmlzaXRvcnMnKTsKICAgICRnYSA9IGFuYWx5dGljc19vcHRzOjokZ2E7CiAgICAkZW50cnlhcnJheSA9ICRnYS0+Z2V0UmVzdWx0cygpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignZ2EnLCAkZ2EpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwoKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnc3RhdHNfc3lzdGVtLnRwbCcpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdzdGF0c190YWJsZS50cGwnKTsKICAgIAogICAgYW5hbHl0aWNzX29wdHM6OnJlcXVlc3RfZGF0YShhcnJheSgnYnJvd3NlcicsJ2Jyb3dzZXJWZXJzaW9uJyksIGFycmF5KCd2aXNpdG9ycycsICd2aXNpdHMnLCAncGFnZVZpZXdzJyksICctdmlzaXRvcnMnKTsKICAgICRnYSA9IGFuYWx5dGljc19vcHRzOjokZ2E7CiAgICAkZW50cnlhcnJheSA9ICRnYS0+Z2V0UmVzdWx0cygpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdnYScsICRnYSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3N0YXRzX3RhYmxlLnRwbCcpOwogICAgCj8+]]></data>
	</file>
	<file>
	  <filename>/help_text.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQogICAgPHA+SW1wbGVtZW50cyBHb29sZSBBbmFseXRpY3MgdG8geW91ciBDTVMuPC9wPg0KICAgIA0KICAgIDxoMz5UYWdzPC9oMz4NCiAgICAgICAgPGg0PntnZXRfcGFnZV9zdGF0cyB1cmw9JHVybCBhc3NpZ249InN0YXRzIn08L2g0Pg0KICAgICAgICA8cD48c3Ryb25nPlBhcmFtczwvc3Ryb25nPjwvcD4NCiAgICAgICAgPHVsPg0KICAgICAgICAgICAgPGxpPnVybCAocmVxdWlyZWQpPC9saT4NCiAgICAgICAgICAgIDxsaT5hc3NpZ24gKG9wdGlvbmFsKTwvbGk+DQogICAgICAgIDwvdWw+DQogICAgICAgIDxwPjxzdHJvbmc+UmV0dXJuPC9zdHJvbmc+OiAkb2JqZWN0LT4gZ2V0VmlzaXRzKCksZ2V0VmlzaXRvcnMoKSwgZ2V0UGFnZVZpZXdzKCksIGdldFVwZGF0ZWQoKTwvcD4NCiAgICA8L3A+DQogICAgDQogICAgPGgzPkxpa2UgaXQ/IERvbmF0ZSA6KTwvaDM+DQogICAgPHA+PGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyIiBtZXRob2Q9InBvc3QiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVuY3J5cHRlZCIgdmFsdWU9Ii0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhQd1lKS29aSWh2Y05BUWNFb0lJSE1EQ0NCeXdDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBZDhMZ0h1bHkwSEFkZkVRWHZZeUNXWVBsc0ZONjJoZS9URVdNS0xNUTh3cE5JNks3Y1RnT1NPcmFLQ0o0a0orVHBCZi8xak93K1B4YXdBVkpGTDd2Ulp0cGxmejFHaUdSUFhRNkd2amhkemVXQW0zdDRYckJuQVVnSUtYZTg2aTRDVkpJUy9PeXBSZUNyQTFTeXk0NGVHbGxHSnExQzRYbmdHSnErVXRXQWx6RUxNQWtHQlNzT0F3SWFCUUF3Z2J3R0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJT2tNdXBXMlJ5bmVBZ1pnYVdtUDN3OHhEMVBZQU1GcjBqbmJDRE5HbUtLaE9VNm1WMVZHWUtyOWxZSnFOaHczZDdlcXltK210QnphSHBuZ0RaUVFCTjI5YngwV2JRaldSL2MraHNPKzZnUXlrdGQ2WVNDWThqd1l0K29oTlExUjUvNFluVlpYazhzbTF3VjVhdUg1SnlJVHVNcVJRbHJWRWl2bHhMYXJ6dSsxaDVackpuWlZpbUYvK0hnUk5HWEJkWTBBcHpQeSt3TmZZbGhkcGI2V0xRM3Q1UDZDQ0E0Y3dnZ09ETUlJQzdLQURBZ0VDQWdFQU1BMEdDU3FHU0liM0RRRUJCUVVBTUlHT01Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DUTBFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RkRBU0JnTlZCQW9UQzFCaGVWQmhiQ0JKYm1NdU1STXdFUVlEVlFRTEZBcHNhWFpsWDJObGNuUnpNUkV3RHdZRFZRUURGQWhzYVhabFgyRndhVEVjTUJvR0NTcUdTSWIzRFFFSkFSWU5jbVZBY0dGNWNHRnNMbU52YlRBZUZ3MHdOREF5TVRNeE1ERXpNVFZhRncwek5UQXlNVE14TURFek1UVmFNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiVENCbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBd1VkTzNmeEV6RXRjbkk3WktaTDQxMlh2WlB1Z29uaTdpN0Q3cHJDZTBBdGFIVGM5N0NZZ203TnNBdEp5eE5MaXhtaExWOHB5SUVhaUhYV0FoOGZQS1crUjAxNytFbVhycjlFYXF1UG1zVnZUeXdBQUUxUE1OT0txbzJrbDRHeGl6OXpacUlhak9tMWZaR1djR1MwZjVKUTJrQnFOYnZiZzIvWmErR0ovcXdVQ0F3RUFBYU9CN2pDQjZ6QWRCZ05WSFE0RUZnUVVscDk4dThadkY3MVpQMUxYQ2h2c0VOWmtsR3N3Z2JzR0ExVWRJd1NCc3pDQnNJQVVscDk4dThadkY3MVpQMUxYQ2h2c0VOWmtsR3VoZ1pTa2daRXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRnZ0VBTUF3R0ExVWRFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdZRUFnVjg2VnBxQVd1WHZYNk9ybzRxSjF0WVZJVDVEZ1dwRTY5MkFnNDIySDd5UklyLzlqL2lLRzRUaGlhL09mbHg0VGRMK0lGSkJBeVBLOXY2elpOWnRCZ1BCeW5YYjA0OGhzUDE2bDJ2aTBrNVEySktpUERzRWZCaEdJK0hueExYRWFVV0FjVmZDc1FGdmQyQTFzeFJyNjdpcDV5Mnd3QmVsVWVjUDNBakorWWN4Z2dHYU1JSUJsZ0lCQVRDQmxEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMENBUUF3Q1FZRkt3NERBaG9GQUtCZE1CZ0dDU3FHU0liM0RRRUpBekVMQmdrcWhraUc5dzBCQndFd0hBWUpLb1pJaHZjTkFRa0ZNUThYRFRFd01Ea3dOREl3TVRBeE5Gb3dJd1lKS29aSWh2Y05BUWtFTVJZRUZPMklCeHVNbDZGOXBZSkNZYzRGTjZqa1NJWjFNQTBHQ1NxR1NJYjNEUUVCQVFVQUJJR0FaYVp0K1Vla0wvMFNoOUcySXZWb1E4ZmZGb2pCaCt2MUFxWS9oOFhzUzJFdURiSkNYeHRsT25QT3J4VUZLdDVKUGJOZndjRVlJN3FXeTZRTHp1cUdITHJMQUxVM3JXUERySjdRYTVXWEVKVjJQYkFzUTJoRjlXNXAweXA2WXg5c1ZXVkFTTWgwaUlBRXhMMDJpTHoyckF0SWJZOGZlbDFjNjY5T3hUNjNwV3M9LS0tLS1FTkQgUEtDUzctLS0tLQ0KIj4NCjxpbnB1dCB0eXBlPSJpbWFnZSIgc3JjPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSEiPg0KPGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vZW5fVVMvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4NCjwvZm9ybT4NCjwvcD4=]]></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[PD9waHAKCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdBbmFseXRpY3MnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdBbmFseXRpY3Mgd2FzIHN1Y2Nlc3NmdWwgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBbmFseXRpY3Mgd2FzIHN1Y2Nlc3NmdWwgdW5pbnN0YWxsZWQnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gQXJlIHlvdSBzdXJlCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBhZGQgbXVsdGlsYW5ndWFnZSBzb2x1dGlvbnMgdG8geW91IENNUyBNYWRlIFNpbXBsZSc7CiRsYW5nWydpbmZvX3N1Y2Nlc3MnXSA9ICdTdWNjZXMnOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdPcHRpb25zIHVwZGF0ZWQnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOwokbGFuZ1snc2V0X29wdGlvbnMnXSA9ICdQbGVhc2UsIHNldCB1cCBvcHRpb25zLCBiZWZvcmUgdXNlIHRoaXMgbW9kdWxlLic7CgokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZFsnYWRtaW5fdGl0bGUnXSA9ICdBZG1pbiBQYW5lbCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydub19wZXJtaXNzaW9uJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQmUgc3VyZSB0byBzZXQgIk1hbmFnZSBBbmFseXRpY3MiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEnOwoKLy8gR2xvYmFscwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYmFsJzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXRlJzsKJGxhbmdbJ3Zpc2l0b3JzJ10gPSAnVmlzaXRvcnMnOwokbGFuZ1sndmlzaXRzJ10gPSAnVmlzaXRzJzsKJGxhbmdbJ3BhZ2V2aWV3cyddID0gJ1BhZ2V2aWV3cyc7CiRsYW5nWyd2aXNpdGJvdW5jZXJhdGUnXSA9ICdCb3VuY2UgUmF0ZSc7CiRsYW5nWydwYWdldmlld3NwZXJ2dmlzaXQnXSA9ICdQYWdlcy9WaXNpdCc7CiRsYW5nWydhdmd0aW1lb25zaXRlJ10gPSAnQXZnLiBUaW1lIG9uIFNpdGUnOwokbGFuZ1sncGVyY2VudG5ld3Zpc2l0cyddID0gJ05ldyBWaXNpdHMnOwokbGFuZ1snbmV3dmlzaXRzJ10gPSAnTmV3IFZpc2l0cyAnOwokbGFuZ1snbGFzdF91cGRhdGUnXSA9ICdMYXN0IFVwZGF0ZSc7CgovLyBwYWdlcwokbGFuZ1sncGFnZXMnXSA9ICdQYWdlcyc7CiRsYW5nWyd1cmwnXSA9ICdQYWdlcyc7CgovLyBzeXN0ZW0KJGxhbmdbJ2Jyb3dzZXJzJ10gPSAnQnJvd3NlcnMnOwokbGFuZ1snYnJvd3NlciddID0gJ0Jyb3dzZXInOwoKI21vZHVsZXMKJGxhbmdbJ2FkZCddID0gJ0FkZCc7Cgojb3B0aW9ucwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOwokbGFuZ1snbW9udGhseSddID0gJ01vbnRobHknOwokbGFuZ1snd2Vla2x5J10gPSAnV2Vla2x5JzsKJGxhbmdbJ3llc3RlcmRheSddID0gJ1llc3RlcmRheSc7CiRsYW5nWyd0b2RheSddID0gJ1RvZGF5JzsKJGxhbmdbJ3BlcmlvZCddID0gJ1BlcmlvZCc7CiRsYW5nWydsb2dpbiddID0gJ0xvZ2luJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncHJvZmlsZV9pZCddID0gJ1Byb2ZpbGUgSUQnOwokbGFuZ1sncHJvZmlsZSddID0gJ1Byb2ZpbGUnOwokbGFuZ1snY2FjaGVfdGltZSddID0gJ0NhY2hlIHRpbWVvdXQnOwokbGFuZ1snY2FjaGVfZWRpdF9jZ2V4dGVuc2lvbnMnXSA9ICdZb3UgY2FuIGVkaXQgY2FjaGUgdGltZW91dCBpbiBDR0V4dGVuc2lvbnMgbW9kdWxlLiBJdCBkb2VzIG5vdCBhZmZlY3QgdG8gdGhlIGFkbWluIHVzZXJzJzsKCgovLyBjb25maSB0YWcKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.analytics_opts.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGFuYWx5dGljc19vcHRzIHsKCiAgICBwdWJsaWMgc3RhdGljICRnYSA9IG51bGw7CiAgICBwdWJsaWMgc3RhdGljICRzdGFydF9kYXRlID0gbnVsbDsKICAgIHB1YmxpYyBzdGF0aWMgJGVuZF9kYXRlID0gbnVsbDsKICAgIHByaXZhdGUgc3RhdGljICRnYV9wcm9maWxlX2lkID0gbnVsbDsKICAgIHByaXZhdGUgc3RhdGljICRnYV9lbWFpbCA9IG51bGw7CiAgICBwcml2YXRlIHN0YXRpYyAkZ2FfcGFzc3dvcmQgPSBudWxsOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgICAgICAKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFBlcmlvZCgpIHsKICAgICAgICBzZWxmOjppbml0KCk7CiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICRzbWFydHktPmFzc2lnbignZGF0ZV9zdGFydCcsIHNlbGY6OiRzdGFydF9kYXRlKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2RhdGVfZW5kJywgc2VsZjo6JGVuZF9kYXRlKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9wcm9maWxlX2lkKCkgewogICAgICAgIHNlbGY6OmluaXQoKTsKICAgICAgICByZXR1cm4gc2VsZjo6JGdhX3Byb2ZpbGVfaWQ7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbml0KCkgewogICAgICAgIGlmIChzZWxmOjokZ2EpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQW5hbHl0aWNzJyk7CgogICAgICAgIHNlbGY6OiRnYV9lbWFpbCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2dhX2xvZ2luJyk7CiAgICAgICAgc2VsZjo6JGdhX3Bhc3N3b3JkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZ2FfcGFzc3dvcmQnKTsKICAgICAgICBzZWxmOjokZ2FfcHJvZmlsZV9pZCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2dhX2lkJyk7CgoKICAgICAgICAkcGVyaW9kID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZ2FfcGVyaW9kJyk7CgogICAgICAgIHN3aXRjaCAoJHBlcmlvZCkgewogICAgICAgICAgICBjYXNlICdtb250aGx5JzoKICAgICAgICAgICAgICAgIHNlbGY6OiRzdGFydF9kYXRlID0gZGF0ZSgnWS1tLWQnLCBzdHJ0b3RpbWUoJzEgbW9udGggYWdvJykpOwogICAgICAgICAgICAgICAgc2VsZjo6JGVuZF9kYXRlID0gZGF0ZSgnWS1tLWQnKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICd3ZWVrbHknOgogICAgICAgICAgICAgICAgc2VsZjo6JHN0YXJ0X2RhdGUgPSBkYXRlKCdZLW0tZCcsIHN0cnRvdGltZSgnMSB3ZWVrIGFnbycpKTsKICAgICAgICAgICAgICAgIHNlbGY6OiRlbmRfZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAneWVzdGVyZGF5JzoKICAgICAgICAgICAgICAgIHNlbGY6OiRzdGFydF9kYXRlID0gZGF0ZSgnWS1tLWQnLCBzdHJ0b3RpbWUoJzEgZGF5IGFnbycpKTsKICAgICAgICAgICAgICAgIHNlbGY6OiRlbmRfZGF0ZSA9IGRhdGUoJ1ktbS1kJywgc3RydG90aW1lKCcxIGRheSBhZ28nKSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAndG9kYXknOgogICAgICAgICAgICAgICAgc2VsZjo6JHN0YXJ0X2RhdGUgPSBkYXRlKCdZLW0tZCcpOwogICAgICAgICAgICAgICAgc2VsZjo6JGVuZF9kYXRlID0gZGF0ZSgnWS1tLWQnKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgaWYgKHNlbGY6OiRnYV9lbWFpbCA9PSBudWxsIE9SIHNlbGY6OiRnYV9wYXNzd29yZCA9PSBudWxsKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgc2VsZjo6JGdhID0gbmV3IGdhcGkoc2VsZjo6JGdhX2VtYWlsLCBzZWxmOjokZ2FfcGFzc3dvcmQpOwogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICBlY2hvICRlLT5nZXRNZXNzYWdlKCk7CiAgICAgICAgICAgIHNlbGY6OiRnYSA9IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0R0EoKSB7CiAgICAgICAgc2VsZjo6aW5pdCgpOwogICAgICAgIHJldHVybiBzZWxmOjokZ2E7CiAgICB9CgogICAgLyoqCiAgICAgKiAKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCAKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc3RhdHNfZnJvbV91cmwoJHVybCkgewogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkZ2F1cmwgPSBzdHJfcmVwbGFjZSgkY29uZmlnWyJyb290X3VybCJdLCAnJywgJHVybCk7CiAgICAgICAgJGZpbHRlciA9ICdwYWdlUGF0aCA9PSAnIC4gJGdhdXJsOwogICAgICAgIHNlbGY6OnJlcXVlc3RfZGF0YShhcnJheSgncGFnZVBhdGgnKSwgYXJyYXkoJ3BhZ2V2aWV3cycsICd2aXNpdHMnLCAndmlzaXRvcnMnKSwgJy12aXNpdHMnLCAkZmlsdGVyKTsKICAgICAgICByZXR1cm4gc2VsZjo6JGdhOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVxdWVzdF9kYXRhKGFycmF5ICRkaW1lbnNpb25zLCBhcnJheSAkbWV0cmljcywgJHNvcnRfbWV0cmljID0gbnVsbCwgJGZpbHRlciA9IG51bGwpIHsKICAgICAgICBzZWxmOjppbml0KCk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgc2VsZjo6Z2V0R0EoKS0+cmVxdWVzdFJlcG9ydERhdGEoc2VsZjo6JGdhX3Byb2ZpbGVfaWQsICRkaW1lbnNpb25zLCAkbWV0cmljcywgJHNvcnRfbWV0cmljLCAkZmlsdGVyLCBzZWxmOjokc3RhcnRfZGF0ZSwgc2VsZjo6JGVuZF9kYXRlKTsKICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgZWNobyAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgIH0KICAgIH0KCn0KCi8vIGVuZCBvZiBjbGFzcwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.analytics_smarty.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGFuYWx5dGljc19zbWFydHkgewoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgICAgICAKICAgIH0KCiAgICAvKioKICAgICAqIEluaXRpYWxpemUgdGhlIHNtYXJ0eSBwbHVnaW5zLgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGluaXQoKSB7CgogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignZ2V0X3BhZ2Vfc3RhdHMnLCBhcnJheSgnYW5hbHl0aWNzX3NtYXJ0eScsICdnZXRfcGFnZV9zdGF0cycpKTsKICAgIH0KCiAgICAvKioKICAgICAqIGdldCBwYWdlIHN0YXRzIAogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMKICAgICAqIEBwYXJhbSBvYmplY3QgJHNtYXJ0eSAKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcGFnZV9zdGF0cygkcGFyYW1zLCAmJHNtYXJ0eSkgewogICAgICAgIGlmICghaVNzZXQoJHBhcmFtc1sidXJsIl0pKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkdXJsID0gJHBhcmFtc1sidXJsIl07CgogICAgICAgICRnYSA9IGFuYWx5dGljc19vcHRzOjpnZXRfc3RhdHNfZnJvbV91cmwoJHVybCk7CgogICAgICAgIGlmIChpc1NldCgkcGFyYW1zWyJhc3NpZ24iXSkpCiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJhc3NpZ24iXSwgJGdhKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGVjaG8gJGdhOwoKICAgIH0KCn0KCi8vIGVuZCBvZiBjbGFzcwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.gapi.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEdBUEkgLSBHb29nbGUgQW5hbHl0aWNzIFBIUCBJbnRlcmZhY2UKICogCiAqIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9nYXBpLWdvb2dsZS1hbmFseXRpY3MtcGhwLWludGVyZmFjZS8KICogCiAqIEBjb3B5cmlnaHQgU3RpZyBNYW5uaW5nIDIwMDkKICogCiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqIAogKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKiAKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAqIAogKiBAYXV0aG9yIFN0aWcgTWFubmluZyA8c3RpZ0BzZG0uY28ubno+CiAqIEB2ZXJzaW9uIDEuMwogKiAKICovCgpjbGFzcyBnYXBpICAKewogIGNvbnN0IGh0dHBfaW50ZXJmYWNlID0gJ2F1dG8nOyAvLydhdXRvJzogYXV0b2RldGVjdCwgJ2N1cmwnIG9yICdmb3BlbicKICAKICBjb25zdCBjbGllbnRfbG9naW5fdXJsID0gJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vYWNjb3VudHMvQ2xpZW50TG9naW4nOwogIGNvbnN0IGFjY291bnRfZGF0YV91cmwgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hbmFseXRpY3MvZmVlZHMvYWNjb3VudHMvZGVmYXVsdCc7CiAgY29uc3QgcmVwb3J0X2RhdGFfdXJsID0gJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vYW5hbHl0aWNzL2ZlZWRzL2RhdGEnOwogIGNvbnN0IGludGVyZmFjZV9uYW1lID0gJ0dBUEktMS4zJzsKICBjb25zdCBkZXZfbW9kZSA9IGZhbHNlOwogIAogIHByaXZhdGUgJGF1dGhfdG9rZW4gPSBudWxsOwogIHByaXZhdGUgJGFjY291bnRfZW50cmllcyA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkYWNjb3VudF9yb290X3BhcmFtZXRlcnMgPSBhcnJheSgpOwogIHByaXZhdGUgJHJlcG9ydF9hZ2dyZWdhdGVfbWV0cmljcyA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkcmVwb3J0X3Jvb3RfcGFyYW1ldGVycyA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkcmVzdWx0cyA9IGFycmF5KCk7CiAgCiAgLyoqCiAgICogQ29uc3RydWN0b3IgZnVuY3Rpb24gZm9yIGFsbCBuZXcgZ2FwaSBpbnN0YW5jZXMKICAgKiAKICAgKiBTZXQgdXAgYXV0aGVudGljYXRlIHdpdGggR29vZ2xlIGFuZCBnZXQgYXV0aF90b2tlbgogICAqCiAgICogQHBhcmFtIFN0cmluZyAkZW1haWwKICAgKiBAcGFyYW0gU3RyaW5nICRwYXNzd29yZAogICAqIEBwYXJhbSBTdHJpbmcgJHRva2VuCiAgICogQHJldHVybiBnYXBpCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRlbWFpbCwgJHBhc3N3b3JkLCAkdG9rZW49bnVsbCkKICB7CiAgICBpZigkdG9rZW4gIT09IG51bGwpCiAgICB7CiAgICAgICR0aGlzLT5hdXRoX3Rva2VuID0gJHRva2VuOwogICAgfQogICAgZWxzZSAKICAgIHsKICAgICAgJHRoaXMtPmF1dGhlbnRpY2F0ZVVzZXIoJGVtYWlsLCRwYXNzd29yZCk7CiAgICB9CiAgfQogIAogIC8qKgogICAqIFJldHVybiB0aGUgYXV0aCB0b2tlbiwgdXNlZCBmb3Igc3RvcmluZyB0aGUgYXV0aCB0b2tlbiBpbiB0aGUgdXNlciBzZXNzaW9uCiAgICoKICAgKiBAcmV0dXJuIFN0cmluZwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRBdXRoVG9rZW4oKQogIHsKICAgIHJldHVybiAkdGhpcy0+YXV0aF90b2tlbjsKICB9CiAgCiAgLyoqCiAgICogUmVxdWVzdCBhY2NvdW50IGRhdGEgZnJvbSBHb29nbGUgQW5hbHl0aWNzCiAgICoKICAgKiBAcGFyYW0gSW50ICRzdGFydF9pbmRleCBPUFRJT05BTDogU3RhcnQgaW5kZXggb2YgcmVzdWx0cwogICAqIEBwYXJhbSBJbnQgJG1heF9yZXN1bHRzIE9QVElPTkFMOiBNYXggcmVzdWx0cyByZXR1cm5lZAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiByZXF1ZXN0QWNjb3VudERhdGEoJHN0YXJ0X2luZGV4PTEsICRtYXhfcmVzdWx0cz0yMCkKICB7CiAgICAkcmVzcG9uc2UgPSAkdGhpcy0+aHR0cFJlcXVlc3QoZ2FwaTo6YWNjb3VudF9kYXRhX3VybCwgYXJyYXkoJ3N0YXJ0LWluZGV4Jz0+JHN0YXJ0X2luZGV4LCdtYXgtcmVzdWx0cyc9PiRtYXhfcmVzdWx0cyksIG51bGwsICR0aGlzLT5nZW5lcmF0ZUF1dGhIZWFkZXIoKSk7CiAgICAKICAgIGlmKHN1YnN0cigkcmVzcG9uc2VbJ2NvZGUnXSwwLDEpID09ICcyJykKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5hY2NvdW50T2JqZWN0TWFwcGVyKCRyZXNwb25zZVsnYm9keSddKTsKICAgIH0KICAgIGVsc2UgCiAgICB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0dBUEk6IEZhaWxlZCB0byByZXF1ZXN0IGFjY291bnQgZGF0YS4gRXJyb3I6ICInIC4gc3RyaXBfdGFncygkcmVzcG9uc2VbJ2JvZHknXSkgLiAnIicpOwogICAgfQogIH0KICAKICAvKioKICAgKiBSZXF1ZXN0IHJlcG9ydCBkYXRhIGZyb20gR29vZ2xlIEFuYWx5dGljcwogICAqCiAgICogJHJlcG9ydF9pZCBpcyB0aGUgR29vZ2xlIHJlcG9ydCBJRCBmb3IgdGhlIHNlbGVjdGVkIGFjY291bnQKICAgKiAKICAgKiAkcGFyYW1ldGVycyBzaG91bGQgYmUgaW4ga2V5ID0+IHZhbHVlIGZvcm1hdAogICAqIAogICAqIEBwYXJhbSBTdHJpbmcgJHJlcG9ydF9pZAogICAqIEBwYXJhbSBBcnJheSAkZGltZW5zaW9ucyBHb29nbGUgQW5hbHl0aWNzIGRpbWVuc2lvbnMgZS5nLiBhcnJheSgnYnJvd3NlcicpCiAgICogQHBhcmFtIEFycmF5ICRtZXRyaWNzIEdvb2dsZSBBbmFseXRpY3MgbWV0cmljcyBlLmcuIGFycmF5KCdwYWdldmlld3MnKQogICAqIEBwYXJhbSBBcnJheSAkc29ydF9tZXRyaWMgT1BUSU9OQUw6IERpbWVuc2lvbiBvciBkaW1lbnNpb25zIHRvIHNvcnQgYnkgZS5nLignLXZpc2l0cycpCiAgICogQHBhcmFtIFN0cmluZyAkZmlsdGVyIE9QVElPTkFMOiBGaWx0ZXIgbG9naWMgZm9yIGZpbHRlcmluZyByZXN1bHRzCiAgICogQHBhcmFtIFN0cmluZyAkc3RhcnRfZGF0ZSBPUFRJT05BTDogU3RhcnQgb2YgcmVwb3J0aW5nIHBlcmlvZAogICAqIEBwYXJhbSBTdHJpbmcgJGVuZF9kYXRlIE9QVElPTkFMOiBFbmQgb2YgcmVwb3J0aW5nIHBlcmlvZAogICAqIEBwYXJhbSBJbnQgJHN0YXJ0X2luZGV4IE9QVElPTkFMOiBTdGFydCBpbmRleCBvZiByZXN1bHRzCiAgICogQHBhcmFtIEludCAkbWF4X3Jlc3VsdHMgT1BUSU9OQUw6IE1heCByZXN1bHRzIHJldHVybmVkCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHJlcXVlc3RSZXBvcnREYXRhKCRyZXBvcnRfaWQsICRkaW1lbnNpb25zLCAkbWV0cmljcywgJHNvcnRfbWV0cmljPW51bGwsICRmaWx0ZXI9bnVsbCwgJHN0YXJ0X2RhdGU9bnVsbCwgJGVuZF9kYXRlPW51bGwsICRzdGFydF9pbmRleD0xLCAkbWF4X3Jlc3VsdHM9MzApCiAgewogICAgJHBhcmFtZXRlcnMgPSBhcnJheSgnaWRzJz0+J2dhOicgLiAkcmVwb3J0X2lkKTsKICAgIAogICAgaWYoaXNfYXJyYXkoJGRpbWVuc2lvbnMpKQogICAgewogICAgICAkZGltZW5zaW9uc19zdHJpbmcgPSAnJzsKICAgICAgZm9yZWFjaCgkZGltZW5zaW9ucyBhcyAkZGltZXNpb24pCiAgICAgIHsKICAgICAgICAkZGltZW5zaW9uc19zdHJpbmcgLj0gJyxnYTonIC4gJGRpbWVzaW9uOwogICAgICB9CiAgICAgICRwYXJhbWV0ZXJzWydkaW1lbnNpb25zJ10gPSBzdWJzdHIoJGRpbWVuc2lvbnNfc3RyaW5nLDEpOwogICAgfQogICAgZWxzZSAKICAgIHsKICAgICAgJHBhcmFtZXRlcnNbJ2RpbWVuc2lvbnMnXSA9ICdnYTonLiRkaW1lbnNpb25zOwogICAgfQoKICAgIGlmKGlzX2FycmF5KCRtZXRyaWNzKSkKICAgIHsKICAgICAgJG1ldHJpY3Nfc3RyaW5nID0gJyc7CiAgICAgIGZvcmVhY2goJG1ldHJpY3MgYXMgJG1ldHJpYykKICAgICAgewogICAgICAgICRtZXRyaWNzX3N0cmluZyAuPSAnLGdhOicgLiAkbWV0cmljOwogICAgICB9CiAgICAgICRwYXJhbWV0ZXJzWydtZXRyaWNzJ10gPSBzdWJzdHIoJG1ldHJpY3Nfc3RyaW5nLDEpOwogICAgfQogICAgZWxzZSAKICAgIHsKICAgICAgJHBhcmFtZXRlcnNbJ21ldHJpY3MnXSA9ICdnYTonLiRtZXRyaWNzOwogICAgfQogICAgCiAgICBpZigkc29ydF9tZXRyaWM9PW51bGwmJmlzc2V0KCRwYXJhbWV0ZXJzWydtZXRyaWNzJ10pKQogICAgewogICAgICAkcGFyYW1ldGVyc1snc29ydCddID0gJHBhcmFtZXRlcnNbJ21ldHJpY3MnXTsKICAgIH0KICAgIGVsc2VpZihpc19hcnJheSgkc29ydF9tZXRyaWMpKQogICAgewogICAgICAkc29ydF9tZXRyaWNfc3RyaW5nID0gJyc7CiAgICAgIAogICAgICBmb3JlYWNoKCRzb3J0X21ldHJpYyBhcyAkc29ydF9tZXRyaWNfdmFsdWUpCiAgICAgIHsKICAgICAgICAvL1JldmVyc2Ugc29ydCAtIFRoYW5rcyBOaWNrIFN1bGxpdmFuCiAgICAgICAgaWYgKHN1YnN0cigkc29ydF9tZXRyaWNfdmFsdWUsIDAsIDEpID09ICItIikKICAgICAgICB7CiAgICAgICAgICAkc29ydF9tZXRyaWNfc3RyaW5nIC49ICcsLWdhOicgLiBzdWJzdHIoJHNvcnRfbWV0cmljX3ZhbHVlLCAxKTsgLy8gRGVzY2VuZGluZwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgJHNvcnRfbWV0cmljX3N0cmluZyAuPSAnLGdhOicgLiAkc29ydF9tZXRyaWNfdmFsdWU7IC8vIEFzY2VuZGluZwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgJHBhcmFtZXRlcnNbJ3NvcnQnXSA9IHN1YnN0cigkc29ydF9tZXRyaWNfc3RyaW5nLCAxKTsKICAgIH0KICAgIGVsc2UgCiAgICB7CiAgICAgIGlmIChzdWJzdHIoJHNvcnRfbWV0cmljLCAwLCAxKSA9PSAiLSIpCiAgICAgIHsKICAgICAgICAkcGFyYW1ldGVyc1snc29ydCddID0gJy1nYTonIC4gc3Vic3RyKCRzb3J0X21ldHJpYywgMSk7CiAgICAgIH0KICAgICAgZWxzZSAKICAgICAgewogICAgICAgICRwYXJhbWV0ZXJzWydzb3J0J10gPSAnZ2E6JyAuICRzb3J0X21ldHJpYzsKICAgICAgfQogICAgfQogICAgCiAgICBpZigkZmlsdGVyIT1udWxsKQogICAgewogICAgICAkZmlsdGVyID0gJHRoaXMtPnByb2Nlc3NGaWx0ZXIoJGZpbHRlcik7CiAgICAgIGlmKCRmaWx0ZXIhPT1mYWxzZSkKICAgICAgewogICAgICAgICRwYXJhbWV0ZXJzWydmaWx0ZXJzJ10gPSAkZmlsdGVyOwogICAgICB9CiAgICB9CiAgICAKICAgIGlmKCRzdGFydF9kYXRlPT1udWxsKQogICAgewogICAgICAkc3RhcnRfZGF0ZT1kYXRlKCdZLW0tZCcsc3RydG90aW1lKCcxIG1vbnRoIGFnbycpKTsKICAgIH0KICAgIAogICAgJHBhcmFtZXRlcnNbJ3N0YXJ0LWRhdGUnXSA9ICRzdGFydF9kYXRlOwogICAgCiAgICBpZigkZW5kX2RhdGU9PW51bGwpCiAgICB7CiAgICAgICRlbmRfZGF0ZT1kYXRlKCdZLW0tZCcpOwogICAgfQogICAgCiAgICAkcGFyYW1ldGVyc1snZW5kLWRhdGUnXSA9ICRlbmRfZGF0ZTsKICAgIAogICAgCiAgICAkcGFyYW1ldGVyc1snc3RhcnQtaW5kZXgnXSA9ICRzdGFydF9pbmRleDsKICAgICRwYXJhbWV0ZXJzWydtYXgtcmVzdWx0cyddID0gJG1heF9yZXN1bHRzOwogICAgCiAgICAkcGFyYW1ldGVyc1sncHJldHR5cHJpbnQnXSA9IGdhcGk6OmRldl9tb2RlID8gJ3RydWUnIDogJ2ZhbHNlJzsKICAgIAogICAgJHJlc3BvbnNlID0gJHRoaXMtPmh0dHBSZXF1ZXN0KGdhcGk6OnJlcG9ydF9kYXRhX3VybCwgJHBhcmFtZXRlcnMsIG51bGwsICR0aGlzLT5nZW5lcmF0ZUF1dGhIZWFkZXIoKSk7CiAgICAKICAgIC8vSFRUUCAyeHgKICAgIGlmKHN1YnN0cigkcmVzcG9uc2VbJ2NvZGUnXSwwLDEpID09ICcyJykKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5yZXBvcnRPYmplY3RNYXBwZXIoJHJlc3BvbnNlWydib2R5J10pOwogICAgfQogICAgZWxzZSAKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignR0FQSTogRmFpbGVkIHRvIHJlcXVlc3QgcmVwb3J0IGRhdGEuIEVycm9yOiAiJyAuIHN0cmlwX3RhZ3MoJHJlc3BvbnNlWydib2R5J10pIC4gJyInKTsKICAgIH0KICB9CgogIC8qKgogICAqIFByb2Nlc3MgZmlsdGVyIHN0cmluZywgY2xlYW4gcGFyYW1ldGVycyBhbmQgY29udmVydCB0byBHb29nbGUgQW5hbHl0aWNzCiAgICogY29tcGF0aWJsZSBmb3JtYXQKICAgKiAKICAgKiBAcGFyYW0gU3RyaW5nICRmaWx0ZXIKICAgKiBAcmV0dXJuIFN0cmluZyBDb21wYXRpYmxlIGZpbHRlciBzdHJpbmcKICAgKi8KICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2Vzc0ZpbHRlcigkZmlsdGVyKQogIHsKICAgICR2YWxpZF9vcGVyYXRvcnMgPSAnKCF+fD1+fD09fCE9fD58PHw+PXw8PXw9QHwhQCknOwogICAgCiAgICAkZmlsdGVyID0gcHJlZ19yZXBsYWNlKCcvXHNccysvJywnICcsdHJpbSgkZmlsdGVyKSk7IC8vQ2xlYW4gZHVwbGljYXRlIHdoaXRlc3BhY2UKICAgICRmaWx0ZXIgPSBzdHJfcmVwbGFjZShhcnJheSgnLCcsJzsnKSxhcnJheSgnXCwnLCdcOycpLCRmaWx0ZXIpOyAvL0VzY2FwZSBHb29nbGUgQW5hbHl0aWNzIHJlc2VydmVkIGNoYXJhY3RlcnMKICAgICRmaWx0ZXIgPSBwcmVnX3JlcGxhY2UoJy8oJiZccyp8XHxcfFxzKnxeKShbYS16XSspKFxzKicgLiAkdmFsaWRfb3BlcmF0b3JzIC4gJykvaScsJyQxZ2E6JDIkMycsJGZpbHRlcik7IC8vUHJlZml4IGdhOiB0byBtZXRyaWNzIGFuZCBkaW1lbnNpb25zCiAgICAkZmlsdGVyID0gcHJlZ19yZXBsYWNlKCcvW1wnXCJdL2knLCcnLCRmaWx0ZXIpOyAvL0NsZWFyIGludmFsaWQgcXVvdGUgY2hhcmFjdGVycwogICAgJGZpbHRlciA9IHByZWdfcmVwbGFjZShhcnJheSgnL1xzKiYmXHMqLycsJy9ccypcfFx8XHMqLycsJy9ccyonIC4gJHZhbGlkX29wZXJhdG9ycyAuICdccyovJyksYXJyYXkoJzsnLCcsJywnJDEnKSwkZmlsdGVyKTsgLy9DbGVhbiB1cCBvcGVyYXRvcnMKICAgIAogICAgaWYoc3RybGVuKCRmaWx0ZXIpPjApCiAgICB7CiAgICAgIHJldHVybiB1cmxlbmNvZGUoJGZpbHRlcik7CiAgICB9CiAgICBlbHNlIAogICAgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIAogIC8qKgogICAqIFJlcG9ydCBBY2NvdW50IE1hcHBlciB0byBjb252ZXJ0IHRoZSBYTUwgdG8gYXJyYXkgb2YgdXNlZnVsIFBIUCBvYmplY3RzCiAgICoKICAgKiBAcGFyYW0gU3RyaW5nICR4bWxfc3RyaW5nCiAgICogQHJldHVybiBBcnJheSBvZiBnYXBpQWNjb3VudEVudHJ5IG9iamVjdHMKICAgKi8KICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWNjb3VudE9iamVjdE1hcHBlcigkeG1sX3N0cmluZykKICB7CiAgICAkeG1sID0gc2ltcGxleG1sX2xvYWRfc3RyaW5nKCR4bWxfc3RyaW5nKTsKICAgIAogICAgJHRoaXMtPnJlc3VsdHMgPSBudWxsOwogICAgCiAgICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgICAkYWNjb3VudF9yb290X3BhcmFtZXRlcnMgPSBhcnJheSgpOwogICAgCiAgICAvL0xvYWQgcm9vdCBwYXJhbWV0ZXJzCiAgICAKICAgICRhY2NvdW50X3Jvb3RfcGFyYW1ldGVyc1sndXBkYXRlZCddID0gc3RydmFsKCR4bWwtPnVwZGF0ZWQpOwogICAgJGFjY291bnRfcm9vdF9wYXJhbWV0ZXJzWydnZW5lcmF0b3InXSA9IHN0cnZhbCgkeG1sLT5nZW5lcmF0b3IpOwogICAgJGFjY291bnRfcm9vdF9wYXJhbWV0ZXJzWydnZW5lcmF0b3JWZXJzaW9uJ10gPSBzdHJ2YWwoJHhtbC0+Z2VuZXJhdG9yLT5hdHRyaWJ1dGVzKCkpOwogICAgCiAgICAkb3Blbl9zZWFyY2hfcmVzdWx0cyA9ICR4bWwtPmNoaWxkcmVuKCdodHRwOi8vYTkuY29tLy0vc3BlYy9vcGVuc2VhcmNocnNzLzEuMC8nKTsKICAgIAogICAgZm9yZWFjaCgkb3Blbl9zZWFyY2hfcmVzdWx0cyBhcyAka2V5ID0+ICRvcGVuX3NlYXJjaF9yZXN1bHQpCiAgICB7CiAgICAgICRyZXBvcnRfcm9vdF9wYXJhbWV0ZXJzWyRrZXldID0gaW50dmFsKCRvcGVuX3NlYXJjaF9yZXN1bHQpOwogICAgfQogICAgCiAgICAkYWNjb3VudF9yb290X3BhcmFtZXRlcnNbJ3N0YXJ0RGF0ZSddID0gc3RydmFsKCRnb29nbGVfcmVzdWx0cy0+c3RhcnREYXRlKTsKICAgICRhY2NvdW50X3Jvb3RfcGFyYW1ldGVyc1snZW5kRGF0ZSddID0gc3RydmFsKCRnb29nbGVfcmVzdWx0cy0+ZW5kRGF0ZSk7CiAgICAKICAgIC8vTG9hZCByZXN1bHQgZW50cmllcwogICAgCiAgICBmb3JlYWNoKCR4bWwtPmVudHJ5IGFzICRlbnRyeSkKICAgIHsKICAgICAgJHByb3BlcnRpZXMgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCRlbnRyeS0+Y2hpbGRyZW4oJ2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vYW5hbHl0aWNzLzIwMDknKS0+cHJvcGVydHkgYXMgJHByb3BlcnR5KQogICAgICB7CiAgICAgICAgJHByb3BlcnRpZXNbc3RyX3JlcGxhY2UoJ2dhOicsJycsJHByb3BlcnR5LT5hdHRyaWJ1dGVzKCktPm5hbWUpXSA9IHN0cnZhbCgkcHJvcGVydHktPmF0dHJpYnV0ZXMoKS0+dmFsdWUpOwogICAgICB9CiAgICAgIAogICAgICAkcHJvcGVydGllc1sndGl0bGUnXSA9IHN0cnZhbCgkZW50cnktPnRpdGxlKTsKICAgICAgJHByb3BlcnRpZXNbJ3VwZGF0ZWQnXSA9IHN0cnZhbCgkZW50cnktPnVwZGF0ZWQpOwogICAgICAKICAgICAgJHJlc3VsdHNbXSA9IG5ldyBnYXBpQWNjb3VudEVudHJ5KCRwcm9wZXJ0aWVzKTsKICAgIH0KICAgIAogICAgJHRoaXMtPmFjY291bnRfcm9vdF9wYXJhbWV0ZXJzID0gJGFjY291bnRfcm9vdF9wYXJhbWV0ZXJzOwogICAgJHRoaXMtPnJlc3VsdHMgPSAkcmVzdWx0czsKICAgIAogICAgcmV0dXJuICRyZXN1bHRzOwogIH0KICAKICAKICAvKioKICAgKiBSZXBvcnQgT2JqZWN0IE1hcHBlciB0byBjb252ZXJ0IHRoZSBYTUwgdG8gYXJyYXkgb2YgdXNlZnVsIFBIUCBvYmplY3RzCiAgICoKICAgKiBAcGFyYW0gU3RyaW5nICR4bWxfc3RyaW5nCiAgICogQHJldHVybiBBcnJheSBvZiBnYXBpUmVwb3J0RW50cnkgb2JqZWN0cwogICAqLwogIHByb3RlY3RlZCBmdW5jdGlvbiByZXBvcnRPYmplY3RNYXBwZXIoJHhtbF9zdHJpbmcpCiAgewogICAgJHhtbCA9IHNpbXBsZXhtbF9sb2FkX3N0cmluZygkeG1sX3N0cmluZyk7CiAgICAKICAgICR0aGlzLT5yZXN1bHRzID0gbnVsbDsKICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgIAogICAgJHJlcG9ydF9yb290X3BhcmFtZXRlcnMgPSBhcnJheSgpOwogICAgJHJlcG9ydF9hZ2dyZWdhdGVfbWV0cmljcyA9IGFycmF5KCk7CiAgICAKICAgIC8vTG9hZCByb290IHBhcmFtZXRlcnMKICAgIAogICAgJHJlcG9ydF9yb290X3BhcmFtZXRlcnNbJ3VwZGF0ZWQnXSA9IHN0cnZhbCgkeG1sLT51cGRhdGVkKTsKICAgICRyZXBvcnRfcm9vdF9wYXJhbWV0ZXJzWydnZW5lcmF0b3InXSA9IHN0cnZhbCgkeG1sLT5nZW5lcmF0b3IpOwogICAgJHJlcG9ydF9yb290X3BhcmFtZXRlcnNbJ2dlbmVyYXRvclZlcnNpb24nXSA9IHN0cnZhbCgkeG1sLT5nZW5lcmF0b3ItPmF0dHJpYnV0ZXMoKSk7CiAgICAKICAgICRvcGVuX3NlYXJjaF9yZXN1bHRzID0gJHhtbC0+Y2hpbGRyZW4oJ2h0dHA6Ly9hOS5jb20vLS9zcGVjL29wZW5zZWFyY2hyc3MvMS4wLycpOwogICAgCiAgICBmb3JlYWNoKCRvcGVuX3NlYXJjaF9yZXN1bHRzIGFzICRrZXkgPT4gJG9wZW5fc2VhcmNoX3Jlc3VsdCkKICAgIHsKICAgICAgJHJlcG9ydF9yb290X3BhcmFtZXRlcnNbJGtleV0gPSBpbnR2YWwoJG9wZW5fc2VhcmNoX3Jlc3VsdCk7CiAgICB9CiAgICAKICAgICRnb29nbGVfcmVzdWx0cyA9ICR4bWwtPmNoaWxkcmVuKCdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2FuYWx5dGljcy8yMDA5Jyk7CgogICAgZm9yZWFjaCgkZ29vZ2xlX3Jlc3VsdHMtPmRhdGFTb3VyY2UtPnByb3BlcnR5IGFzICRwcm9wZXJ0eV9hdHRyaWJ1dGVzKQogICAgewogICAgICAkcmVwb3J0X3Jvb3RfcGFyYW1ldGVyc1tzdHJfcmVwbGFjZSgnZ2E6JywnJywkcHJvcGVydHlfYXR0cmlidXRlcy0+YXR0cmlidXRlcygpLT5uYW1lKV0gPSBzdHJ2YWwoJHByb3BlcnR5X2F0dHJpYnV0ZXMtPmF0dHJpYnV0ZXMoKS0+dmFsdWUpOwogICAgfQogICAgCiAgICAkcmVwb3J0X3Jvb3RfcGFyYW1ldGVyc1snc3RhcnREYXRlJ10gPSBzdHJ2YWwoJGdvb2dsZV9yZXN1bHRzLT5zdGFydERhdGUpOwogICAgJHJlcG9ydF9yb290X3BhcmFtZXRlcnNbJ2VuZERhdGUnXSA9IHN0cnZhbCgkZ29vZ2xlX3Jlc3VsdHMtPmVuZERhdGUpOwogICAgCiAgICAvL0xvYWQgcmVzdWx0IGFnZ3JlZ2F0ZSBtZXRyaWNzCiAgICAKICAgIGZvcmVhY2goJGdvb2dsZV9yZXN1bHRzLT5hZ2dyZWdhdGVzLT5tZXRyaWMgYXMgJGFnZ3JlZ2F0ZV9tZXRyaWMpCiAgICB7CiAgICAgICRtZXRyaWNfdmFsdWUgPSBzdHJ2YWwoJGFnZ3JlZ2F0ZV9tZXRyaWMtPmF0dHJpYnV0ZXMoKS0+dmFsdWUpOwogICAgICAKICAgICAgLy9DaGVjayBmb3IgZmxvYXQsIG9yIHZhbHVlIHdpdGggc2NpZW50aWZpYyBub3RhdGlvbgogICAgICBpZihwcmVnX21hdGNoKCcvXihcZCtcLlxkKyl8KFxkK0VcZCspfChcZCsuXGQrRVxkKykkLycsJG1ldHJpY192YWx1ZSkpCiAgICAgIHsKICAgICAgICAkcmVwb3J0X2FnZ3JlZ2F0ZV9tZXRyaWNzW3N0cl9yZXBsYWNlKCdnYTonLCcnLCRhZ2dyZWdhdGVfbWV0cmljLT5hdHRyaWJ1dGVzKCktPm5hbWUpXSA9IGZsb2F0dmFsKCRtZXRyaWNfdmFsdWUpOwogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgICRyZXBvcnRfYWdncmVnYXRlX21ldHJpY3Nbc3RyX3JlcGxhY2UoJ2dhOicsJycsJGFnZ3JlZ2F0ZV9tZXRyaWMtPmF0dHJpYnV0ZXMoKS0+bmFtZSldID0gaW50dmFsKCRtZXRyaWNfdmFsdWUpOwogICAgICB9CiAgICB9CiAgICAKICAgIC8vTG9hZCByZXN1bHQgZW50cmllcwogICAgCiAgICBmb3JlYWNoKCR4bWwtPmVudHJ5IGFzICRlbnRyeSkKICAgIHsKICAgICAgJG1ldHJpY3MgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCRlbnRyeS0+Y2hpbGRyZW4oJ2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vYW5hbHl0aWNzLzIwMDknKS0+bWV0cmljIGFzICRtZXRyaWMpCiAgICAgIHsKICAgICAgICAkbWV0cmljX3ZhbHVlID0gc3RydmFsKCRtZXRyaWMtPmF0dHJpYnV0ZXMoKS0+dmFsdWUpOwogICAgICAgIAogICAgICAgIC8vQ2hlY2sgZm9yIGZsb2F0LCBvciB2YWx1ZSB3aXRoIHNjaWVudGlmaWMgbm90YXRpb24KICAgICAgICBpZihwcmVnX21hdGNoKCcvXihcZCtcLlxkKyl8KFxkK0VcZCspfChcZCsuXGQrRVxkKykkLycsJG1ldHJpY192YWx1ZSkpCiAgICAgICAgewogICAgICAgICAgJG1ldHJpY3Nbc3RyX3JlcGxhY2UoJ2dhOicsJycsJG1ldHJpYy0+YXR0cmlidXRlcygpLT5uYW1lKV0gPSBmbG9hdHZhbCgkbWV0cmljX3ZhbHVlKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICRtZXRyaWNzW3N0cl9yZXBsYWNlKCdnYTonLCcnLCRtZXRyaWMtPmF0dHJpYnV0ZXMoKS0+bmFtZSldID0gaW50dmFsKCRtZXRyaWNfdmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgJGRpbWVuc2lvbnMgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCRlbnRyeS0+Y2hpbGRyZW4oJ2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vYW5hbHl0aWNzLzIwMDknKS0+ZGltZW5zaW9uIGFzICRkaW1lbnNpb24pCiAgICAgIHsKICAgICAgICAkZGltZW5zaW9uc1tzdHJfcmVwbGFjZSgnZ2E6JywnJywkZGltZW5zaW9uLT5hdHRyaWJ1dGVzKCktPm5hbWUpXSA9IHN0cnZhbCgkZGltZW5zaW9uLT5hdHRyaWJ1dGVzKCktPnZhbHVlKTsKICAgICAgfQogICAgICAKICAgICAgJHJlc3VsdHNbXSA9IG5ldyBnYXBpUmVwb3J0RW50cnkoJG1ldHJpY3MsJGRpbWVuc2lvbnMpOwogICAgfQogICAgCiAgICAkdGhpcy0+cmVwb3J0X3Jvb3RfcGFyYW1ldGVycyA9ICRyZXBvcnRfcm9vdF9wYXJhbWV0ZXJzOwogICAgJHRoaXMtPnJlcG9ydF9hZ2dyZWdhdGVfbWV0cmljcyA9ICRyZXBvcnRfYWdncmVnYXRlX21ldHJpY3M7CiAgICAkdGhpcy0+cmVzdWx0cyA9ICRyZXN1bHRzOwogICAgCiAgICByZXR1cm4gJHJlc3VsdHM7CiAgfQogIAogIC8qKgogICAqIEF1dGhlbnRpY2F0ZSBHb29nbGUgQWNjb3VudCB3aXRoIEdvb2dsZQogICAqCiAgICogQHBhcmFtIFN0cmluZyAkZW1haWwKICAgKiBAcGFyYW0gU3RyaW5nICRwYXNzd29yZAogICAqLwogIHByb3RlY3RlZCBmdW5jdGlvbiBhdXRoZW50aWNhdGVVc2VyKCRlbWFpbCwgJHBhc3N3b3JkKQogIHsKICAgICRwb3N0X3ZhcmlhYmxlcyA9IGFycmF5KAogICAgICAnYWNjb3VudFR5cGUnID0+ICdHT09HTEUnLAogICAgICAnRW1haWwnID0+ICRlbWFpbCwKICAgICAgJ1Bhc3N3ZCcgPT4gJHBhc3N3b3JkLAogICAgICAnc291cmNlJyA9PiBnYXBpOjppbnRlcmZhY2VfbmFtZSwKICAgICAgJ3NlcnZpY2UnID0+ICdhbmFseXRpY3MnCiAgICApOwogICAgCiAgICAkcmVzcG9uc2UgPSAkdGhpcy0+aHR0cFJlcXVlc3QoZ2FwaTo6Y2xpZW50X2xvZ2luX3VybCxudWxsLCRwb3N0X3ZhcmlhYmxlcyk7CiAgICAKICAgIC8vQ29udmVydCBuZXdsaW5lIGRlbGltaXRlZCB2YXJpYWJsZXMgaW50byB1cmwgZm9ybWF0IHRoZW4gaW1wb3J0IHRvIGFycmF5CiAgICBwYXJzZV9zdHIoc3RyX3JlcGxhY2UoYXJyYXkoIlxuIiwiXHJcbiIpLCcmJywkcmVzcG9uc2VbJ2JvZHknXSksJGF1dGhfdG9rZW4pOwogICAgCiAgICBpZihzdWJzdHIoJHJlc3BvbnNlWydjb2RlJ10sMCwxKSAhPSAnMicgfHwgIWlzX2FycmF5KCRhdXRoX3Rva2VuKSB8fCBlbXB0eSgkYXV0aF90b2tlblsnQXV0aCddKSkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignR0FQSTogRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSB1c2VyLiBFcnJvcjogIicgLiBzdHJpcF90YWdzKCRyZXNwb25zZVsnYm9keSddKSAuICciJyk7CiAgICB9CiAgICAKICAgICR0aGlzLT5hdXRoX3Rva2VuID0gJGF1dGhfdG9rZW5bJ0F1dGgnXTsKICB9CiAgCiAgLyoqCiAgICogR2VuZXJhdGUgYXV0aGVudGljYXRpb24gdG9rZW4gaGVhZGVyIGZvciBhbGwgcmVxdWVzdHMKICAgKgogICAqIEByZXR1cm4gQXJyYXkKICAgKi8KICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2VuZXJhdGVBdXRoSGVhZGVyKCkKICB7CiAgICByZXR1cm4gYXJyYXkoJ0F1dGhvcml6YXRpb246IEdvb2dsZUxvZ2luIGF1dGg9JyAuICR0aGlzLT5hdXRoX3Rva2VuKTsKICB9CiAgCiAgLyoqCiAgICogUGVyZm9ybSBodHRwIHJlcXVlc3QKICAgKiAKICAgKgogICAqIEBwYXJhbSBBcnJheSAkZ2V0X3ZhcmlhYmxlcwogICAqIEBwYXJhbSBBcnJheSAkcG9zdF92YXJpYWJsZXMKICAgKiBAcGFyYW0gQXJyYXkgJGhlYWRlcnMKICAgKi8KICBwcm90ZWN0ZWQgZnVuY3Rpb24gaHR0cFJlcXVlc3QoJHVybCwgJGdldF92YXJpYWJsZXM9bnVsbCwgJHBvc3RfdmFyaWFibGVzPW51bGwsICRoZWFkZXJzPW51bGwpCiAgewogICAgJGludGVyZmFjZSA9IGdhcGk6Omh0dHBfaW50ZXJmYWNlOwogICAgCiAgICBpZihnYXBpOjpodHRwX2ludGVyZmFjZSA9PSdhdXRvJykKICAgIHsKICAgICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2V4ZWMnKSkKICAgICAgewogICAgICAgICRpbnRlcmZhY2UgPSAnY3VybCc7CiAgICAgIH0KICAgICAgZWxzZSAKICAgICAgewogICAgICAgICRpbnRlcmZhY2UgPSAnZm9wZW4nOwogICAgICB9CiAgICB9CiAgICAKICAgIGlmKCRpbnRlcmZhY2UgPT0gJ2N1cmwnKQogICAgewogICAgICByZXR1cm4gJHRoaXMtPmN1cmxSZXF1ZXN0KCR1cmwsICRnZXRfdmFyaWFibGVzLCAkcG9zdF92YXJpYWJsZXMsICRoZWFkZXJzKTsKICAgIH0KICAgIGVsc2VpZigkaW50ZXJmYWNlID09ICdmb3BlbicpIAogICAgewogICAgICByZXR1cm4gJHRoaXMtPmZvcGVuUmVxdWVzdCgkdXJsLCAkZ2V0X3ZhcmlhYmxlcywgJHBvc3RfdmFyaWFibGVzLCAkaGVhZGVycyk7CiAgICB9CiAgICBlbHNlIAogICAgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGh0dHAgaW50ZXJmYWNlIGRlZmluZWQuIE5vIHN1Y2ggaW50ZXJmYWNlICInIC4gZ2FwaTo6aHR0cF9pbnRlcmZhY2UgLiAnIicpOwogICAgfQogIH0KICAKICAvKioKICAgKiBIVFRQIHJlcXVlc3QgdXNpbmcgUEhQIENVUkwgZnVuY3Rpb25zCiAgICogUmVxdWlyZXMgY3VybCBsaWJyYXJ5IGluc3RhbGxlZCBhbmQgY29uZmlndXJlZCBmb3IgUEhQCiAgICogCiAgICogQHBhcmFtIEFycmF5ICRnZXRfdmFyaWFibGVzCiAgICogQHBhcmFtIEFycmF5ICRwb3N0X3ZhcmlhYmxlcwogICAqIEBwYXJhbSBBcnJheSAkaGVhZGVycwogICAqLwogIHByaXZhdGUgZnVuY3Rpb24gY3VybFJlcXVlc3QoJHVybCwgJGdldF92YXJpYWJsZXM9bnVsbCwgJHBvc3RfdmFyaWFibGVzPW51bGwsICRoZWFkZXJzPW51bGwpCiAgewogICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAKICAgIGlmKGlzX2FycmF5KCRnZXRfdmFyaWFibGVzKSkKICAgIHsKICAgICAgJGdldF92YXJpYWJsZXMgPSAnPycgLiBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJyx1cmxkZWNvZGUoaHR0cF9idWlsZF9xdWVyeSgkZ2V0X3ZhcmlhYmxlcykpKTsKICAgIH0KICAgIGVsc2UgCiAgICB7CiAgICAgICRnZXRfdmFyaWFibGVzID0gbnVsbDsKICAgIH0KICAgIAogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCAuICRnZXRfdmFyaWFibGVzKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsgLy9DVVJMIGRvZXNuJ3QgbGlrZSBnb29nbGUncyBjZXJ0CiAgICAKICAgIGlmKGlzX2FycmF5KCRwb3N0X3ZhcmlhYmxlcykpCiAgICB7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRwb3N0X3ZhcmlhYmxlcyk7CiAgICB9CiAgICAKICAgIGlmKGlzX2FycmF5KCRoZWFkZXJzKSkKICAgIHsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsJGhlYWRlcnMpOwogICAgfQogICAgCiAgICAkcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICRjb2RlID0gY3VybF9nZXRpbmZvKCRjaCxDVVJMSU5GT19IVFRQX0NPREUpOwogICAgCiAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAKICAgIHJldHVybiBhcnJheSgnYm9keSc9PiRyZXNwb25zZSwnY29kZSc9PiRjb2RlKTsKICB9CiAgCiAgLyoqCiAgICogSFRUUCByZXF1ZXN0IHVzaW5nIG5hdGl2ZSBQSFAgZm9wZW4gZnVuY3Rpb24KICAgKiBSZXF1aXJlcyBQSFAgb3BlblNTTAogICAqCiAgICogQHBhcmFtIEFycmF5ICRnZXRfdmFyaWFibGVzCiAgICogQHBhcmFtIEFycmF5ICRwb3N0X3ZhcmlhYmxlcwogICAqIEBwYXJhbSBBcnJheSAkaGVhZGVycwogICAqLwogIHByaXZhdGUgZnVuY3Rpb24gZm9wZW5SZXF1ZXN0KCR1cmwsICRnZXRfdmFyaWFibGVzPW51bGwsICRwb3N0X3ZhcmlhYmxlcz1udWxsLCAkaGVhZGVycz1udWxsKQogIHsKICAgICRodHRwX29wdGlvbnMgPSBhcnJheSgnbWV0aG9kJz0+J0dFVCcsJ3RpbWVvdXQnPT4zKTsKICAgIAogICAgaWYoaXNfYXJyYXkoJGhlYWRlcnMpKQogICAgewogICAgICAkaGVhZGVycyA9IGltcGxvZGUoIlxyXG4iLCRoZWFkZXJzKSAuICJcclxuIjsKICAgIH0KICAgIGVsc2UgCiAgICB7CiAgICAgICRoZWFkZXJzID0gJyc7CiAgICB9CiAgICAKICAgIGlmKGlzX2FycmF5KCRnZXRfdmFyaWFibGVzKSkKICAgIHsKICAgICAgJGdldF92YXJpYWJsZXMgPSAnPycgLiBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJyx1cmxkZWNvZGUoaHR0cF9idWlsZF9xdWVyeSgkZ2V0X3ZhcmlhYmxlcykpKTsKICAgIH0KICAgIGVsc2UgCiAgICB7CiAgICAgICRnZXRfdmFyaWFibGVzID0gbnVsbDsKICAgIH0KICAgIAogICAgaWYoaXNfYXJyYXkoJHBvc3RfdmFyaWFibGVzKSkKICAgIHsKICAgICAgJHBvc3RfdmFyaWFibGVzID0gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsdXJsZGVjb2RlKGh0dHBfYnVpbGRfcXVlcnkoJHBvc3RfdmFyaWFibGVzKSkpOwogICAgICAkaHR0cF9vcHRpb25zWydtZXRob2QnXSA9ICdQT1NUJzsKICAgICAgJGhlYWRlcnMgPSAiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcclxuIiAuICJDb250ZW50LUxlbmd0aDogIiAuIHN0cmxlbigkcG9zdF92YXJpYWJsZXMpIC4gIlxyXG4iIC4gJGhlYWRlcnM7CiAgICAgICRodHRwX29wdGlvbnNbJ2hlYWRlciddID0gJGhlYWRlcnM7CiAgICAgICRodHRwX29wdGlvbnNbJ2NvbnRlbnQnXSA9ICRwb3N0X3ZhcmlhYmxlczsKICAgIH0KICAgIGVsc2UgCiAgICB7CiAgICAgICRwb3N0X3ZhcmlhYmxlcyA9ICcnOwogICAgICAkaHR0cF9vcHRpb25zWydoZWFkZXInXSA9ICRoZWFkZXJzOwogICAgfQogICAgCiAgICAkY29udGV4dCA9IHN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgnaHR0cCc9PiRodHRwX29wdGlvbnMpKTsKICAgICRyZXNwb25zZSA9IEBmaWxlX2dldF9jb250ZW50cygkdXJsIC4gJGdldF92YXJpYWJsZXMsIG51bGwsICRjb250ZXh0KTsgIAogICAgCiAgICByZXR1cm4gYXJyYXkoJ2JvZHknPT4kcmVzcG9uc2UhPT1mYWxzZT8kcmVzcG9uc2U6J1JlcXVlc3QgZmFpbGVkLCBmb3BlbiBwcm92aWRlcyBubyBmdXJ0aGVyIGluZm9ybWF0aW9uJywnY29kZSc9PiRyZXNwb25zZSE9PWZhbHNlPycyMDAnOic0MDAnKTsKICB9CiAgCiAgLyoqCiAgICogQ2FzZSBpbnNlbnNpdGl2ZSBhcnJheV9rZXlfZXhpc3RzIGZ1bmN0aW9uLCBhbHNvIHJldHVybnMKICAgKiBtYXRjaGluZyBrZXkuCiAgICoKICAgKiBAcGFyYW0gU3RyaW5nICRrZXkKICAgKiBAcGFyYW0gQXJyYXkgJHNlYXJjaAogICAqIEByZXR1cm4gU3RyaW5nIE1hdGNoaW5nIGFycmF5IGtleQogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYXJyYXlfa2V5X2V4aXN0c19uYygka2V5LCAkc2VhcmNoKQogIHsKICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRrZXksICRzZWFyY2gpKQogICAgewogICAgICByZXR1cm4gJGtleTsKICAgIH0KICAgIGlmICghKGlzX3N0cmluZygka2V5KSAmJiBpc19hcnJheSgkc2VhcmNoKSkpCiAgICB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgICRrZXkgPSBzdHJ0b2xvd2VyKCRrZXkpOwogICAgZm9yZWFjaCAoJHNlYXJjaCBhcyAkayA9PiAkdikKICAgIHsKICAgICAgaWYgKHN0cnRvbG93ZXIoJGspID09ICRrZXkpCiAgICAgIHsKICAgICAgICByZXR1cm4gJGs7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CiAgCiAgLyoqCiAgICogR2V0IFJlc3VsdHMKICAgKgogICAqIEByZXR1cm4gQXJyYXkKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzdWx0cygpCiAgewogICAgaWYoaXNfYXJyYXkoJHRoaXMtPnJlc3VsdHMpKQogICAgewogICAgICByZXR1cm4gJHRoaXMtPnJlc3VsdHM7CiAgICB9CiAgICBlbHNlIAogICAgewogICAgICByZXR1cm47CiAgICB9CiAgfQogIAogIAogIC8qKgogICAqIEdldCBhbiBhcnJheSBvZiB0aGUgbWV0cmljcyBhbmQgdGhlIG1hdGNobmluZwogICAqIGFnZ3JlZ2F0ZSB2YWx1ZXMgZm9yIHRoZSBjdXJyZW50IHJlc3VsdAogICAqCiAgICogQHJldHVybiBBcnJheQogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRNZXRyaWNzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnJlcG9ydF9hZ2dyZWdhdGVfbWV0cmljczsKICB9CiAgCiAgLyoqCiAgICogQ2FsbCBtZXRob2QgdG8gZmluZCBhIG1hdGNoaW5nIHJvb3QgcGFyYW1ldGVyIG9yIAogICAqIGFnZ3JlZ2F0ZSBtZXRyaWMgdG8gcmV0dXJuCiAgICoKICAgKiBAcGFyYW0gJG5hbWUgU3RyaW5nIG5hbWUgb2YgZnVuY3Rpb24gY2FsbGVkCiAgICogQHJldHVybiBTdHJpbmcKICAgKiBAdGhyb3dzIEV4Y2VwdGlvbiBpZiBub3QgYSB2YWxpZCBwYXJhbWV0ZXIgb3IgYWdncmVnYXRlIAogICAqIG1ldHJpYywgb3Igbm90IGEgJ2dldCcgZnVuY3Rpb24KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRuYW1lLCRwYXJhbWV0ZXJzKQogIHsKICAgIGlmKCFwcmVnX21hdGNoKCcvXmdldC8nLCRuYW1lKSkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gc3VjaCBmdW5jdGlvbiAiJyAuICRuYW1lIC4gJyInKTsKICAgIH0KICAgIAogICAgJG5hbWUgPSBwcmVnX3JlcGxhY2UoJy9eZ2V0LycsJycsJG5hbWUpOwogICAgCiAgICAkcGFyYW1ldGVyX2tleSA9IGdhcGk6OmFycmF5X2tleV9leGlzdHNfbmMoJG5hbWUsJHRoaXMtPnJlcG9ydF9yb290X3BhcmFtZXRlcnMpOwogICAgCiAgICBpZigkcGFyYW1ldGVyX2tleSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5yZXBvcnRfcm9vdF9wYXJhbWV0ZXJzWyRwYXJhbWV0ZXJfa2V5XTsKICAgIH0KICAgIAogICAgJGFnZ3JlZ2F0ZV9tZXRyaWNfa2V5ID0gZ2FwaTo6YXJyYXlfa2V5X2V4aXN0c19uYygkbmFtZSwkdGhpcy0+cmVwb3J0X2FnZ3JlZ2F0ZV9tZXRyaWNzKTsKICAgIAogICAgaWYoJGFnZ3JlZ2F0ZV9tZXRyaWNfa2V5KQogICAgewogICAgICByZXR1cm4gJHRoaXMtPnJlcG9ydF9hZ2dyZWdhdGVfbWV0cmljc1skYWdncmVnYXRlX21ldHJpY19rZXldOwogICAgfQoKICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ05vIHZhbGlkIHJvb3QgcGFyYW1ldGVyIG9yIGFnZ3JlZ2F0ZSBtZXRyaWMgY2FsbGVkICInIC4gJG5hbWUgLiAnIicpOwogIH0KfQoKLyoqCiAqIENsYXNzIGdhcGlBY2NvdW50RW50cnkKICogCiAqIFN0b3JhZ2UgZm9yIGluZGl2aWR1YWwgZ2FwaSBhY2NvdW50IGVudHJpZXMKICoKICovCmNsYXNzIGdhcGlBY2NvdW50RW50cnkKewogIHByaXZhdGUgJHByb3BlcnRpZXMgPSBhcnJheSgpOwogIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcHJvcGVydGllcykKICB7CiAgICAkdGhpcy0+cHJvcGVydGllcyA9ICRwcm9wZXJ0aWVzOwogIH0KICAKICAvKioKICAgKiB0b1N0cmluZyBmdW5jdGlvbiB0byByZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGFjY291bnQKICAgKgogICAqIEByZXR1cm4gU3RyaW5nCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogIHsKICAgIGlmKGlzc2V0KCR0aGlzLT5wcm9wZXJ0aWVzWyd0aXRsZSddKSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5wcm9wZXJ0aWVzWyd0aXRsZSddOwogICAgfQogICAgZWxzZSAKICAgIHsKICAgICAgcmV0dXJuOwogICAgfQogIH0KICAKICAvKioKICAgKiBHZXQgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgdGhlIHByb3BlcnRpZXMKICAgKiBhbmQgdGhlIG1hdGNoaW5nIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgcmVzdWx0CiAgICoKICAgKiBAcmV0dXJuIEFycmF5CiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldFByb3BlcnRpZXMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+cHJvcGVydGllczsKICB9CiAgCiAgLyoqCiAgICogQ2FsbCBtZXRob2QgdG8gZmluZCBhIG1hdGNoaW5nIHBhcmFtZXRlciB0byByZXR1cm4KICAgKgogICAqIEBwYXJhbSAkbmFtZSBTdHJpbmcgbmFtZSBvZiBmdW5jdGlvbiBjYWxsZWQKICAgKiBAcmV0dXJuIFN0cmluZwogICAqIEB0aHJvd3MgRXhjZXB0aW9uIGlmIG5vdCBhIHZhbGlkIHBhcmFtZXRlciwgb3Igbm90IGEgJ2dldCcgZnVuY3Rpb24KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRuYW1lLCRwYXJhbWV0ZXJzKQogIHsKICAgIGlmKCFwcmVnX21hdGNoKCcvXmdldC8nLCRuYW1lKSkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gc3VjaCBmdW5jdGlvbiAiJyAuICRuYW1lIC4gJyInKTsKICAgIH0KICAgIAogICAgJG5hbWUgPSBwcmVnX3JlcGxhY2UoJy9eZ2V0LycsJycsJG5hbWUpOwogICAgCiAgICAkcHJvcGVydHlfa2V5ID0gZ2FwaTo6YXJyYXlfa2V5X2V4aXN0c19uYygkbmFtZSwkdGhpcy0+cHJvcGVydGllcyk7CiAgICAKICAgIGlmKCRwcm9wZXJ0eV9rZXkpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+cHJvcGVydGllc1skcHJvcGVydHlfa2V5XTsKICAgIH0KICAgIAogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gdmFsaWQgcHJvcGVydHkgY2FsbGVkICInIC4gJG5hbWUgLiAnIicpOwogIH0KfQoKLyoqCiAqIENsYXNzIGdhcGlSZXBvcnRFbnRyeQogKiAKICogU3RvcmFnZSBmb3IgaW5kaXZpZHVhbCBnYXBpIHJlcG9ydCBlbnRyaWVzCiAqCiAqLwpjbGFzcyBnYXBpUmVwb3J0RW50cnkKewogIHByaXZhdGUgJG1ldHJpY3MgPSBhcnJheSgpOwogIHByaXZhdGUgJGRpbWVuc2lvbnMgPSBhcnJheSgpOwogIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbWV0cmljcywkZGltZXNpb25zKQogIHsKICAgICR0aGlzLT5tZXRyaWNzID0gJG1ldHJpY3M7CiAgICAkdGhpcy0+ZGltZW5zaW9ucyA9ICRkaW1lc2lvbnM7CiAgfQogIAogIC8qKgogICAqIHRvU3RyaW5nIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgbmFtZSBvZiB0aGUgcmVzdWx0CiAgICogdGhpcyBpcyBhIGNvbmNhdGVudGVkIHN0cmluZyBvZiB0aGUgZGltZXNpb25zIGNob3NlbgogICAqIAogICAqIEZvciBleGFtcGxlOgogICAqICdGaXJlZm94IDMuMC4xMCcgZnJvbSBicm93c2VyIGFuZCBicm93c2VyVmVyc2lvbgogICAqCiAgICogQHJldHVybiBTdHJpbmcKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgewogICAgaWYoaXNfYXJyYXkoJHRoaXMtPmRpbWVuc2lvbnMpKQogICAgewogICAgICByZXR1cm4gaW1wbG9kZSgnICcsJHRoaXMtPmRpbWVuc2lvbnMpOwogICAgfQogICAgZWxzZSAKICAgIHsKICAgICAgcmV0dXJuICcnOwogICAgfQogIH0KICAKICAvKioKICAgKiBHZXQgYW4gYXNzb2NpYXRpdmUgYXJyYXkgb2YgdGhlIGRpbWVzaW9ucwogICAqIGFuZCB0aGUgbWF0Y2hpbmcgdmFsdWVzIGZvciB0aGUgY3VycmVudCByZXN1bHQKICAgKgogICAqIEByZXR1cm4gQXJyYXkKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGltZXNpb25zKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmRpbWVuc2lvbnM7CiAgfQogIAogIC8qKgogICAqIEdldCBhbiBhcnJheSBvZiB0aGUgbWV0cmljcyBhbmQgdGhlIG1hdGNobmluZwogICAqIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgcmVzdWx0CiAgICoKICAgKiBAcmV0dXJuIEFycmF5CiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldE1ldHJpY3MoKQogIHsKICAgIHJldHVybiAkdGhpcy0+bWV0cmljczsKICB9CiAgCiAgLyoqCiAgICogQ2FsbCBtZXRob2QgdG8gZmluZCBhIG1hdGNoaW5nIG1ldHJpYyBvciBkaW1lbnNpb24gdG8gcmV0dXJuCiAgICoKICAgKiBAcGFyYW0gJG5hbWUgU3RyaW5nIG5hbWUgb2YgZnVuY3Rpb24gY2FsbGVkCiAgICogQHJldHVybiBTdHJpbmcKICAgKiBAdGhyb3dzIEV4Y2VwdGlvbiBpZiBub3QgYSB2YWxpZCBtZXRyaWMgb3IgZGltZW5zaW9ucywgb3Igbm90IGEgJ2dldCcgZnVuY3Rpb24KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRuYW1lLCRwYXJhbWV0ZXJzKQogIHsKICAgIGlmKCFwcmVnX21hdGNoKCcvXmdldC8nLCRuYW1lKSkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gc3VjaCBmdW5jdGlvbiAiJyAuICRuYW1lIC4gJyInKTsKICAgIH0KICAgIAogICAgJG5hbWUgPSBwcmVnX3JlcGxhY2UoJy9eZ2V0LycsJycsJG5hbWUpOwogICAgCiAgICAkbWV0cmljX2tleSA9IGdhcGk6OmFycmF5X2tleV9leGlzdHNfbmMoJG5hbWUsJHRoaXMtPm1ldHJpY3MpOwogICAgCiAgICBpZigkbWV0cmljX2tleSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5tZXRyaWNzWyRtZXRyaWNfa2V5XTsKICAgIH0KICAgIAogICAgJGRpbWVuc2lvbl9rZXkgPSBnYXBpOjphcnJheV9rZXlfZXhpc3RzX25jKCRuYW1lLCR0aGlzLT5kaW1lbnNpb25zKTsKICAgIAogICAgaWYoJGRpbWVuc2lvbl9rZXkpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+ZGltZW5zaW9uc1skZGltZW5zaW9uX2tleV07CiAgICB9CgogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gdmFsaWQgbWV0cmljIG9yIGRpbWVzaW9uIGNhbGxlZCAiJyAuICRuYW1lIC4gJyInKTsKICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IEFuYWx5dGljcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpCiAgICBleGl0OwoKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oVVNFX0FOQUxZVElDUywgVVNFX0FOQUxZVElDUyk7CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsICR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IEFuYWx5dGljcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCgovLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKFVTRV9BTkFMWVRJQ1MpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOw==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBBbmFseXRpY3MKIyBaZGVubyBLdXptYW55ICh6ZGVub0BrdXptYW55LmJpeikgLyBrdXptYW55LmJpeiAgLyB0d2l0dGVyLmNvbS9rdXptYW55CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKCFpc3NldCgkZ0NtcykpCiAgICBleGl0OwoKJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwokZGIgPSBjbXNtcygpLT5HZXREYigpOwoKc3dpdGNoICgkY3VycmVudF92ZXJzaW9uKSB7Cn0KCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndXBncmFkZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminprefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cnskc3RhcnRmb3JtfQo8ZmllbGRzZXQ+CiAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdvcHRpb25zJyl9PC9sZWdlbmQ+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdsb2dpbicpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgICAgIHskZ2FfbG9naW59CiAgICAgICAgPC9wPgogICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwYXNzd29yZCcpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgICAgIHskZ2FfcGFzc3dvcmR9CiAgICAgICAgPC9wPgogICAgPC9kaXY+CntpZiBpc1NldCgkZ2FfZGF0YSl9CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICB7aWYgaXNTZXQoJGdhX2RhdGEpfQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgPHRhYmxlPgo8dHI+Cjx0aD57JG1vZC0+TGFuZygncHJvZmlsZScpfTwvdGg+Cjx0aD57JG1vZC0+TGFuZygncHJvZmlsZV9pZCcpfTwvdGg+CjwvdHI+CiAgICAgICAgICAgIHtmb3JlYWNoIGZyb209JGdhX2RhdGEgaXRlbT1lbnRyeX0KICAgICAgICAgICAgICA8dHI+Cjx0ZD57JGVudHJ5fTwvdGQ+Cjx0ZD48c3BhbiBjbGFzcz0icHJvZmlsZV9pZCI+PGlucHV0IHtpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdnYV9pZCcpPT0kZW50cnktPmdldFByb2ZpbGVJZCgpfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9Z2FfaWQiIHZhbHVlPSJ7JGVudHJ5LT5nZXRQcm9maWxlSWQoKX0iIC8+PC9zcGFuPjwvdGQ+CjwvdHI+CiAgICAgICAgICAgIHsvZm9yZWFjaH0gIAo8L3RhYmxlPiAgICAKPC9kaXY+CiAgICAgICAgey9pZn0KICAgIDwvZGl2Pgp7L2lmfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwZXJpb2QnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICAgICAgICB7JGdhX3BlcmlvZH0KICAgICAgICA8L3A+CiAgICA8L2Rpdj4gICAKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2FjaGVfdGltZScpfTogeyRjYWNoZV90aW1lfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgICAgICAgIHskbW9kLT5MYW5nKCdjYWNoZV9lZGl0X2NnZXh0ZW5zaW9ucycpfS4KICAgICAgICA8L3A+CiAgICA8L2Rpdj4gICAKICAgPC9maWVsZHNldD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/header.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHAgc3R5bGU9ImZsb2F0OnJpZ2h0Ij57JG1vZC0+TGFuZygncGVyaW9kJyl9OiB7JGRhdGVfc3RhcnR8ZGF0ZV9mb3JtYXR9IC0geyRkYXRlX2VuZHxkYXRlX2Zvcm1hdH08L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/stats_global.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgIHtsaXRlcmFsfWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOw0KICAgICAgZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydCk7DQogICAgICBmdW5jdGlvbiBkcmF3Q2hhcnQoKSB7ey9saXRlcmFsfQ0KICAgICAgICB2YXIgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsNCiAgICAgICAgZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICd7JG1vZC0+TGFuZygnZGF0ZScpfScpOw0KICAgICAgICBkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ3skbW9kLT5MYW5nKCd2aXNpdG9ycycpfScpOw0KICAgICAgICBkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ3skbW9kLT5MYW5nKCdwYWdldmlld3MnKX0nKTsNCiAgICAgICAgZGF0YS5hZGRSb3dzKHskaXRlbWNvdW50fSk7DQogICAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW1zfEBhcnJheV9yZXZlcnNlIGl0ZW09ZW50cnkgIGtleT1rZXl9DQogICAgICAgIGRhdGEuc2V0VmFsdWUoeyRrZXl9LCAwLCAneyRlbnRyeXxkYXRlX2Zvcm1hdDonJWQnfScpOw0KICAgICAgICBkYXRhLnNldFZhbHVlKHska2V5fSwgMSwgeyRlbnRyeS0+Z2V0VmlzaXRvcnMoKX0pOw0KICAgICAgICBkYXRhLnNldFZhbHVlKHska2V5fSwgMiwgeyRlbnRyeS0+Z2V0UGFnZVZpZXdzKCl9KTsNCiAgICAgICAgey9mb3JlYWNofQ0KDQogICAgICAgIHZhciBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5MaW5lQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYXJ0X2RpdicpKTsNCiAgICAgICAgIHtsaXRlcmFsfWNoYXJ0LmRyYXcoZGF0YSwge3dpZHRoOiAxMDAwLCBoZWlnaHQ6IDM1MCwgdGl0bGU6ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2dsb2JhbCcpfXtsaXRlcmFsfSd9KTsNCiAgICAgIH17L2xpdGVyYWx9DQogICAgPC9zY3JpcHQ+DQoNCiA8ZGl2IGlkPSJjaGFydF9kaXYiPjwvZGl2Pg0KPGJyID4NCjx0YWJsZSBjZWxscGFkZGluZz0iNSIgc3R5bGU9IndpZHRoOjgwJTsgbWFyZ2luOjAgYXV0bzsiPg0KPHRyPg0KICA8dGQ+eyRnYS0+Z2V0VmlzaXRzKCl8bnVtYmVyX2Zvcm1hdH0geyRtb2QtPkxhbmcoJ3Zpc2l0cycpfGxvd2VyfTwvdGQ+DQogIDx0ZD57JGdhLT5nZXRWaXNpdG9ycygpfG51bWJlcl9mb3JtYXR9IHskbW9kLT5MYW5nKCd2aXNpdG9ycycpfGxvd2VyfTwvdGQ+DQo8L3RyPg0KPHRyPg0KICA8dGQ+eyRnYS0+Z2V0UGFnZVZpZXdzKCl8bnVtYmVyX2Zvcm1hdH0geyRtb2QtPkxhbmcoJ3BhZ2V2aWV3cycpfGxvd2VyfTwvdGQ+DQogIDx0ZD57JGdhLT5nZXRQYWdldmlld3NQZXJWaXNpdCgpfG51bWJlcl9mb3JtYXQ6Mn0geyRtb2QtPkxhbmcoJ3BhZ2V2aWV3c3BlcnZ2aXNpdCcpfGxvd2VyfTwvdGQ+DQo8L3RyPg0KPHRyPg0KICA8dGQ+eyRnYS0+Z2V0VmlzaXRCb3VuY2VSYXRlKCl8bnVtYmVyX2Zvcm1hdDoyfSUgeyRtb2QtPkxhbmcoJ3Zpc2l0Ym91bmNlcmF0ZScpfGxvd2VyfTwvdGQ+DQogIDx0ZD57JGdhLT5nZXRBdmdUaW1lT25TaXRlKCl8ZGF0ZV9mb3JtYXQ6JyVNOiVTJ30geyRtb2QtPkxhbmcoJ2F2Z3RpbWVvbnNpdGUnKXxsb3dlcn08L3RkPg0KPC90cj4NCjx0cj4NCiAgPHRkPnskZ2EtPmdldFBlcmNlbnROZXdWaXNpdHMoKXxudW1iZXJfZm9ybWF0fSUgeyRtb2QtPkxhbmcoJ3BlcmNlbnRuZXd2aXNpdHMnKXxsb3dlcn08L3RkPg0KICA8dGQ+eyRnYS0+Z2V0VXBkYXRlZCgpfGNtc19kYXRlX2Zvcm1hdCB9IHskbW9kLT5MYW5nKCdsYXN0X3VwZGF0ZScpfGxvd2VyfTwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCiAgICANCjxiciA+DQoNCg0Key9pZn0NCg0K]]></data>
	</file>
	<file>
	  <filename>/templates/stats_pages.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgk8dGhlYWQ+DQoJCTx0cj4NCgkJCTx0aD57JG1vZC0+TGFuZygndXJsJyl9PC90aD4NCgkJCTx0aD57JG1vZC0+TGFuZygndmlzaXRzJyl9PC90aD4NCgkJCTx0aD57JG1vZC0+TGFuZygndmlzaXRvcnMnKX08L3RoPg0KCQkJPHRoPnskbW9kLT5MYW5nKCdwYWdldmlld3MnKX08L3RoPg0KCQk8L3RyPg0KCTwvdGhlYWQ+DQoJPHRib2R5Pg0Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCgl7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQ0KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPg0KCQkJPHRkPnskZW50cnktPnVybH08L3RkPg0KCQkJPHRkPnskZW50cnktPmdhLT5nZXRWaXNpdHMoKX08L3RkPg0KCQkJPHRkPnskZW50cnktPmdhLT5nZXRWaXNpdG9ycygpfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+Z2EtPmdldFBhZ2VWaWV3cygpfTwvdGQ+DQoJCTwvdHI+DQp7L2ZvcmVhY2h9DQoJPC90Ym9keT4NCjwvdGFibGU+DQp7L2lmfQ0KDQo=]]></data>
	</file>
	<file>
	  <filename>/templates/stats_system.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgIHtsaXRlcmFsfWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOw0KICAgICAgZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydCk7DQogICAgICBmdW5jdGlvbiBkcmF3Q2hhcnQoKSB7ey9saXRlcmFsfQ0KICAgICAgICB2YXIgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsNCiAgICAgICAgZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICd7JG1vZC0+TGFuZygnZGF0ZScpfScpOw0KICAgICAgICBkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ3skbW9kLT5MYW5nKCd2aXNpdG9ycycpfScpOw0KICAgICAgICBkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ3skbW9kLT5MYW5nKCdwYWdldmlld3MnKX0nKTsNCiAgICAgICAgZGF0YS5hZGRSb3dzKHskaXRlbWNvdW50fSk7DQogICAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW1zfEBhcnJheV9yZXZlcnNlIGl0ZW09ZW50cnkgIGtleT1rZXl9DQogICAgICAgIGRhdGEuc2V0VmFsdWUoeyRrZXl9LCAwLCAneyRlbnRyeX0nKTsNCiAgICAgICAgZGF0YS5zZXRWYWx1ZSh7JGtleX0sIDEsIHskZW50cnktPmdldFZpc2l0b3JzKCl9KTsNCiAgICAgICAgZGF0YS5zZXRWYWx1ZSh7JGtleX0sIDIsIHskZW50cnktPmdldFBhZ2VWaWV3cygpfSk7DQogICAgICAgIHsvZm9yZWFjaH0NCg0KICAgICAgICB2YXIgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uUGllQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYXJ0X2RpdjInKSk7DQogICAgICAgICB7bGl0ZXJhbH1jaGFydC5kcmF3KGRhdGEsIHt3aWR0aDogMTAwMCwgaGVpZ2h0OiAzNTAsIHRpdGxlOiAney9saXRlcmFsfXskbW9kLT5MYW5nKCdicm93c2VycycpfXtsaXRlcmFsfSd9KTsNCiAgICAgIH17L2xpdGVyYWx9DQogICAgPC9zY3JpcHQ+DQoNCiA8ZGl2IGlkPSJjaGFydF9kaXYyIj48L2Rpdj4NCg0Key9pZn0NCg0K]]></data>
	</file>
	<file>
	  <filename>/templates/stats_table.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgk8dGhlYWQ+DQoJCTx0cj4NCgkJCTx0aD48L3RoPg0KCQkJPHRoPnskbW9kLT5MYW5nKCd2aXNpdHMnKX08L3RoPg0KCQkJPHRoPnskbW9kLT5MYW5nKCd2aXNpdG9ycycpfTwvdGg+DQoJCQk8dGg+eyRtb2QtPkxhbmcoJ3BhZ2V2aWV3cycpfTwvdGg+DQoJCTwvdHI+DQoJPC90aGVhZD4NCgk8dGJvZHk+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0KCXtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9DQoJCTx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+DQoJCQk8dGQ+eyRlbnRyeX08L3RkPg0KCQkJPHRkPnskZW50cnktPmdldFZpc2l0cygpfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+Z2V0VmlzaXRvcnMoKX08L3RkPg0KCQkJPHRkPnskZW50cnktPmdldFBhZ2VWaWV3cygpfTwvdGQ+DQoJCTwvdHI+DQp7L2ZvcmVhY2h9DQoJPC90Ym9keT4NCjwvdGFibGU+DQp7L2lmfQ0KDQo=]]></data>
	</file>
</module>
