<?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>ECB</name>
	<version>1.4</version>
  <mincmsversion>1.11.3</mincmsversion>
	<help><![CDATA[Cgo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+TW9kdWxlIGFkZHMgYWRpdGlvbmFsIGNvbnRlbnQgYmxvY2tzIGZvciBDTVMgTWFkZSBTaW1wbGUuPC9wPgo8aDM+RmllbGRzPC9oMz4KPHA+PHN0cm9uZz5maWxlX3NlbGVjdG9yPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiAge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZmlsZV9zZWxlY3RvciIgYmxvY2s9InRlc3QxMCIgZGlyPSJpbWFnZXMiIGZpbGV0eXBlcz0ianBnLGdpZixwbmciIGV4Y2x1ZGVwcmVmaXg9InRodW1iXyJ9ICAgICAgICA8L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpmaWxldHlwZXMgLSBjb21tYSBzZXBhcmF0ZWQ8YnIgLz4gCmRpciAob3B0aW9uYWwpIC0gZGVmYXVsdCB1cGxvYWRzLzxiciAvPgpleGNsdWRlcHJlZml4IChvcHRpb25hbCk8YnIgLz4KcmVjdXJzZSAob3B0aW9uYWwpPGJyIC8+CnNvcnRmaWxlcyAob3B0aW9uYWwpCnByZXZpZXcgKG9wdGlvbmFsKSAtIG9ubHkgZm9yIGltYWdlcwo8L3A+CjxwPjxzdHJvbmc+Y29sb3JfcGlja2VyPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiAge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iY29sb3JfcGlja2VyIiBibG9jaz0idGVzdDEiIGxhYmVsPSJDb2xvciIgZGVmYXVsdF92YWx1ZT0iIzAwMDAwMCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgMTAKPC9wPgo8cD48c3Ryb25nPkRFUFJFQ0FURUQ6IGRyb3Bkb3duX2Zyb21fbW9kdWxlPC9zdHJvbmc+ICh1c2UgZHJvcGRvd25fZnJvbV91ZHQpPC9wPgo8cD48c3Ryb25nPmRyb3Bkb3duX2Zyb21fdWR0PC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJkcm9wZG93bl9mcm9tX3VkdCIgYmxvY2s9InRlc3QyIiBsYWJlbD0iR2FsbGVyeSIgdWR0PSJteWN1c3RvbXVkdCIgIGZpcnN0X3ZhbHVlPSI9c2VsZWN0PSJ9PC9wPgo8cD5PdXB1dCBmcm9tIFVEVCBtdXN0IGJlIGFycmF5KCkgLSBleGFtcGxlOiBhcnJheSgibGFiZWwiPT4idmFsdWUiLCAibGFiZWwgMiAiPT4idmFsdWUgMiIpPC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KdWR0IChyZXF1aXJlZCkgLSB1ZHQgbmFtZTxiciAvPgpmaXJzdF92YWx1ZSAob3B0aW9uYWwpIDxiciAvPgptdWx0aXBsZSAob3B0aW9uYWwpIC0gYWRkIG11bHRpcGxlIG9wdGlvbiBzZWxlY3Qgc3VwcG9ydDxiciAvPgpzaXplIChvcHRpb25hbCkgLSBtdWx0aXBsZSBlbmFibGVkIG9ubHkKPC9wPgo8cD48c3Ryb25nPmRyb3Bkb3duPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJkcm9wZG93biIgYmxvY2s9InRlc3Q1IiBsYWJlbD0iRnJ1aXQiICB2YWx1ZXM9IkFwcGxlPWFwcGxlLE9yYW5nZT1vcmFuZ2UiIGZpcnN0X3ZhbHVlPSJzZWxlY3QgZnJ1aXQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnZhbHVlcyAocmVxdWlyZWQpIC0gY29tbWEgc2VwYXJhdGVkLiBFeGFtcGxlOiBBcHBsZT1hcHBsZSxPcmFuZ2U9b3JhbmdlLEdyZWVuPWdyZWVuIDxiciAvPgpmaXJzdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+Cm11bHRpcGxlIChvcHRpb25hbCkgLSBhZGQgbXVsdGlwbGUgb3B0aW9uIHNlbGVjdCBzdXBwb3J0PGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIG11bHRpcGxlIGVuYWJsZWQgb25seQo8L3A+CjxwPjxzdHJvbmc+Y2hlY2tib3g8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImNoZWNrYm94IiBibG9jaz0idGVzdDExIiBsYWJlbD0iQ2hlY2tib3giICBkZWZhdWx0X3ZhbHVlPSIxIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCkKPC9wPgo8cD48c3Ryb25nPm1vZHVsZV9saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJtb2R1bGVfbGluayIgbGFiZWw9Ik1vZHVsZSBlZGl0IiBibG9jaz0idGVzdDMiICBtb2Q9IkNhdGFsb2dlciIgdGV4dD0iRWRpdCBjYXRhbG9nIiB9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbW9kIChyZXF1aXJlZCkgPGJyIC8+CnRleHQgKHJlcXVpcmVkKSA8YnIgLz4KdGFyZ2V0IChvcHRpb25hbCkgLSBkZWZhdWx0IF9zZWxmCjwvcD4KPHA+PHN0cm9uZz5saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJsaW5rIiBsYWJlbD0iU2VhcmNoIiBibG9jaz0idGVzdDQiIHRhcmdldD0iX2JsYW5rIiBsaW5rPSJodHRwOi8vd3d3LmJpbmcuY29tIiB0ZXh0PSJiaW5nIHNlYXJjaCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbGluayAocmVxdWlyZWQpIDxiciAvPgp0ZXh0IChyZXF1aXJlZCkgPGJyIC8+CnRhcmdldCAob3B0aW9uYWwpIC0gZGVmYXVsdCBfc2VsZgo8L3A+CjxwPjxzdHJvbmc+ZGF0ZXBpY2tlcjwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZGF0ZXBpY2tlciIgbGFiZWw9IkRhdGUiIGJsb2NrPSJ0ZXN0NDQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnNpemUgKG9wdGlvbmFsKSBkZWZhdWx0IDEwMDxiciAvPgpkYXRlX2Zvcm1hdCAob3B0aW9uYWwpIGRlZmF1bHQgeXktbW0tZGQ8YnIgLz4KbWF4X2xlbmd0aCAob3B0aW9uYWwpIGRlZmF1bHQgMTAgPGJyIC8+CjwvcD4KPHA+PHN0cm9uZz5pbnB1dDwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iaW5wdXQiIGxhYmVsPSJUZXh0IiBibG9jaz0idGVzdDUiIHNpemU9NTUgbWF4X2xlbmd0aD01NSBkZWZhdWx0X3ZhbHVlPSJmaWxsIGl0In08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpzaXplIChvcHRpb25hbCkgZGVmYXVsdCAzMDxiciAvPgptYXhfbGVuZ3RoIChvcHRpb25hbCkgZGVmYXVsdCAyNTUgPGJyIC8+CmRlZmF1bHRfdmFsdWUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgdmFsdWUgZm9yIGlucHV0CjwvcD4KPHA+PHN0cm9uZz50ZXh0YXJlYTwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0idGV4dGFyZWEiIGxhYmVsPSJUZXh0YXJlYSIgYmxvY2s9InRlc3Q2IiByb3dzPTEwIGNvbHM9NDAgZGVmYXVsdF92YWx1ZT0iZmlsbCBpdCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4Kcm93cyAob3B0aW9uYWwpIGRlZmF1bHQgMjA8YnIgLz4KY29scyAob3B0aW9uYWwpIGRlZmF1bHQgODAgPGJyIC8+CmRlZmF1bHRfdmFsdWUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgdmFsdWUgZm9yIHRleHRhcmVhCjwvcD4KPHA+PHN0cm9uZz5lZGl0b3IgKHRleHRhcmVhIHdpdGggd3lzaXd5Zyk8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImVkaXRvciIgbGFiZWw9IlRleHRhcmVhIiBibG9jaz0idGVzdDciIHJvd3M9MTAgY29scz00MCBkZWZhdWx0X3ZhbHVlPSJmaWxsIGl0In08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpyb3dzIChvcHRpb25hbCkgZGVmYXVsdCAyMDxiciAvPgpjb2xzIChvcHRpb25hbCkgZGVmYXVsdCA4MCA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCB2YWx1ZSBmb3IgdGV4dGFyZWEKPC9wPgo8cD48c3Ryb25nPnRleHQgPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJ0ZXh0IiBsYWJlbD0iVGV4dCIgYmxvY2s9InRlc3Q4IiB0ZXh0PSJIZWxsbyB3b3JkISJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KdGV4dCAocmVxdWlyZWQpIHRleHQgaW4gYWRtaW4gKGFkZCBpbmZvcm1hdGlvbiBmb3IgdXNlcnMsIFByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKTxiciAvPgo8L3A+CjxwPjxzdHJvbmc+cGFnZXMgPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJwYWdlcyIgbGFiZWw9IlBhZ2UiIGJsb2NrPSJ0ZXN0MTAifTwvcD4KPHA+PHN0cm9uZz5ociAoaG9yaXpvbnRhbCBsaW5lKTwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iaHIiIGxhYmVsPSJPdGhlciBibG9ja3MifTwvcD4KCjxoMz5EbyB5b3UgbGlrZSBteSB3b3JrPyA8L2gzPgo8cD48YSBocmVmPSJodHRwOi8vY21zbWFkZXNpbXBsZS5zay9kb25hdGUtY2FyZC8/dXRtX3NvdXJjZT1jbXNtYWRlc2ltcGxlJnV0bV9tZWRpdW09bGluayZ1dG1fY2FtcGFpZ249aGVscCZ1dG1fY29udGVudD1lY2IiIHRhcmdldD0iX2JsYW5rIj5HaXZlIG1lIGZpdmUgb3IgZmVlbCBmcmVlIHRvIDxzdHJvbmc+ZG9uYXRlPC9zdHJvbmc+IG1lPC9hPjwvcD4KCgogICAKPGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS4zMTwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciAmc2Nhcm9uO3BlY2lmaWt1amUsIGFrJnlhY3V0ZTsgamF6eWsgc2EgbSZhYWN1dGU7IHBvdcW+acWlIHByZSB6b2JyYXplbmllLiBOaWUgdiZzY2Fyb247ZXRreSBtb2R1bHkgdG8gcG9kcG9ydWomdWFjdXRlOywgYWxlYm8gcG90cmVidWomdWFjdXRlOy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBaZGVubyBLdXptYW55ICh0d2l0dGVyLmNvbS9rdXptYW55KSAmbHQ7emRlbm9Aa3V6bWFueS5iaXomZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS40PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgogICAgPGxpPlZlcnNpb24gMS40IC0gZGVjZW1iZXIgMjAxMiA8YnIgLz4gCiAgICAgICAgLSBkcm9wZG93bl9mcm9tX3VkdCA8YnIgLz4KICAgICAgICAtIERFUFJFQ0FURUQ6IGRyb3Bkb3duX2Zyb21fbW9kdWxlIChkdWUgU21hcnR5IDMgbGltaXRhdGlvbikgPGJyIC8+ICAgICAgICAKICAgICAgICAtIGFkZCBkYXRlX2Zvcm1hdCBwYXJhbSB0byBkYXRlIHBpY2tlcgogICAgPC9saT4KCiAgICA8bGk+VmVyc2lvbiAxLjMuMSAtIG9jdG9iZXIgMjAxMiA8YnIgLz4gCiAgICAgICAgLSBhZGQgZmlsZV9zZWxlY3RvciA8YnIgLz4KICAgICAgICAtIGFkZCBwcmV2aWV3IGltYWdlIGZvciBmaWxlX3NlbGVjdG9yIDxiciAvPgogICAgICAgIC0gYWRkIG11bHRpcGxlIG9wdGlvbiBmb3IgZHJvcGRvd24gPGJyIC8+CiAgICAgICAgLSBhZGQgc2VjdGlvbiB0byBhZG1pbiBhcmVhIDxiciAvPgogICAgPC9saT4KICAgIDxsaT5WZXJzaW9uIDEuMCAtIG5vdmVtYmVyIDIwMTEgLSBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[This module adds new content  blocks to your CMS Made Simple]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.31</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBFeHRlbmRlZCBDb250ZW50IEJsb2NrcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgojIyBub3RoaW5nCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBFeHRlbmRlZCBDb250ZW50IEJsb2NrcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgoKZWNobyAkdGhpcy0+TGFuZygnaGVscCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.refresh.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBFeHRlbmRlZCBDb250ZW50IEJsb2NrcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgoKaWYgKCFpc3NldCgkcGFyYW1zWydibG9ja19uYW1lJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd2YWx1ZSddKSB8fCAhaXNzZXQoJHBhcmFtc1snYWRkaW5nJ10pKQogICAgcmV0dXJuOwoKJGJsb2NrTmFtZSA9ICRwYXJhbXNbJ2Jsb2NrX25hbWUnXTsKJHZhbHVlID0gJHBhcmFtc1sndmFsdWUnXTsKJGFkZGluZyA9ICRwYXJhbXNbJ2FkZGluZyddOwoKCiRlY2IgPSBuZXcgZWNiX3Rvb2xzKCRibG9ja05hbWUsICR2YWx1ZSwgJHBhcmFtcywgJGFkZGluZyk7CmVjaG8gJGVjYi0+Z2V0X2NvbnRlbnRfYmxvY2tfaW5wdXQoKTsKCiMjIG5vdGhpbmcKPz4=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogICAgPGxpPlZlcnNpb24gMS40IC0gZGVjZW1iZXIgMjAxMiA8YnIgLz4gCiAgICAgICAgLSBkcm9wZG93bl9mcm9tX3VkdCA8YnIgLz4KICAgICAgICAtIERFUFJFQ0FURUQ6IGRyb3Bkb3duX2Zyb21fbW9kdWxlIChkdWUgU21hcnR5IDMgbGltaXRhdGlvbikgPGJyIC8+ICAgICAgICAKICAgICAgICAtIGFkZCBkYXRlX2Zvcm1hdCBwYXJhbSB0byBkYXRlIHBpY2tlcgogICAgPC9saT4KCiAgICA8bGk+VmVyc2lvbiAxLjMuMSAtIG9jdG9iZXIgMjAxMiA8YnIgLz4gCiAgICAgICAgLSBhZGQgZmlsZV9zZWxlY3RvciA8YnIgLz4KICAgICAgICAtIGFkZCBwcmV2aWV3IGltYWdlIGZvciBmaWxlX3NlbGVjdG9yIDxiciAvPgogICAgICAgIC0gYWRkIG11bHRpcGxlIG9wdGlvbiBmb3IgZHJvcGRvd24gPGJyIC8+CiAgICAgICAgLSBhZGQgc2VjdGlvbiB0byBhZG1pbiBhcmVhIDxiciAvPgogICAgPC9saT4KICAgIDxsaT5WZXJzaW9uIDEuMCAtIG5vdmVtYmVyIDIwMTEgLSBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/ECB.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBFeHRlbmRlZCBDb250ZW50IEJsb2NrcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmRlZmluZSgnVVNFX0VDQicsICdVc2UgRXh0ZW5kZWQgQ29udGVudCBCbG9ja3MnKTsKCmNsYXNzIEVDQiBleHRlbmRzIENHRXh0ZW5zaW9ucyB7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKSB7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAgICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgICAgIAogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdibG9ja19uYW1lJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndmFsdWUnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhZGRpbmcnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0ZmlsZXMnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdleGNsdWRlcHJlZml4JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVjdXJzZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpbGV0eXBlcycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpZWxkJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlyJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJldmlldycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RhdGVfZm9ybWF0JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAKICAgIH0KCiAgICBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7CiAgICAgICAgJHRoaXMtPkFkZEltYWdlRGlyKCdpY29ucycpOwogICAgfQoKICAgIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7CiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSB7CiAgICAgICAgcmV0dXJuICdFQ0InOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsKICAgICAgICByZXR1cm4gJzEuNCc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsKICAgICAgICByZXR1cm4gJ1pkZW5vIEt1em1hbnkgKHR3aXR0ZXIuY29tL2t1em1hbnkpJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7CiAgICAgICAgcmV0dXJuICd6ZGVub0BrdXptYW55LmJpeic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsKICAgICAgICAgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19maWxlX18pIC4gJy9jaGFuZ2Vsb2cuaW5jJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgewogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuICdleHRlbnNpb25zJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2FkbWluZGVzY3JpcHRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgewogICAgICAgIHJldHVybiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBDaGVja0FjY2VzcygkcGVybSA9IFVTRV9FQ0IpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkcGVybSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsKICAgICAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucycgPT4gJzEuMzEnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7CiAgICAgICAgcmV0dXJuICIxLjExLjMiOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcvYXBpZG9jL0NNUy9DTVNNb2R1bGUuaHRtbCNIYXNDYXBhYmlsaXR5CiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIGZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJGNhcGFiaWxpdHksICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAgICAgc3dpdGNoICgkY2FwYWJpbGl0eSkgewogICAgICAgICAgICBjYXNlICdjb250ZW50YmxvY2tzJzoKICAgICAgICAgICAgY2FzZSAnY29udGVudF9hdHRyaWJ1dGVzJzoKICAgICAgICAgICAgICAgIHJldHVybiBUUlVFOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBjb250ZW50IGJsb2NrCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0Q29udGVudEJsb2NrSW5wdXQoJGJsb2NrTmFtZSwgJHZhbHVlLCAkcGFyYW1zLCAkYWRkaW5nKSB7CiAgICAgICAgJGVjYiA9IG5ldyBlY2JfdG9vbHMoJGJsb2NrTmFtZSwgJHZhbHVlLCAkcGFyYW1zLCAkYWRkaW5nKTsKICAgICAgICByZXR1cm4gJGVjYi0+Z2V0X2NvbnRlbnRfYmxvY2tfaW5wdXQoKTsKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/ajax-refresh-icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAMQAAP///wAAAPj4+Dg4OISEhAYGBiYmJtbW1qioqBYWFnZ2dmZmZuTk5JiYmMbGxkhISFZWVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAQABAAAAVQICCOZGmepTAUbCEqhGCqrZgUxpEaNYDwBtmIgFuNBDwCaYVQkRCFAYmFoo6sKSyASVr4oiRi8LpIkpA4hKg1Jh14iTVrIDwTFPJ5HcXvj0IAOw==]]></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[PD9waHAKCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdFeHRlbmRlZCBDb250ZW50IEJsb2Nrcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0V4dGVuZGVkIENvbnRlbnQgQmxvY2tzIHdhcyBzdWNjZXNzZnVsIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRXh0ZW5kZWQgQ29udGVudCBCbG9ja3Mgd2FzIHN1Y2Nlc3NmdWwgdW5pbnN0YWxsZWQnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gQXJlIHlvdSBzdXJlCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFkZHMgbmV3IGNvbnRlbnQgIGJsb2NrcyB0byB5b3VyIENNUyBNYWRlIFNpbXBsZSc7CgoKJGxhbmdbJ3NlbGVjdGVkJ10gPSAnU2VsZWN0ZWQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0JzsKJGxhbmdbJ3JlZnJlc2gnXSA9ICdSZWZyZXNoJzsKCiRsYW5nWydoZWxwJ10gPSAnCgo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+TW9kdWxlIGFkZHMgYWRpdGlvbmFsIGNvbnRlbnQgYmxvY2tzIGZvciBDTVMgTWFkZSBTaW1wbGUuPC9wPgo8aDM+RmllbGRzPC9oMz4KPHA+PHN0cm9uZz5maWxlX3NlbGVjdG9yPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiAge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZmlsZV9zZWxlY3RvciIgYmxvY2s9InRlc3QxMCIgZGlyPSJpbWFnZXMiIGZpbGV0eXBlcz0ianBnLGdpZixwbmciIGV4Y2x1ZGVwcmVmaXg9InRodW1iXyJ9ICAgICAgICA8L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpmaWxldHlwZXMgLSBjb21tYSBzZXBhcmF0ZWQ8YnIgLz4gCmRpciAob3B0aW9uYWwpIC0gZGVmYXVsdCB1cGxvYWRzLzxiciAvPgpleGNsdWRlcHJlZml4IChvcHRpb25hbCk8YnIgLz4KcmVjdXJzZSAob3B0aW9uYWwpPGJyIC8+CnNvcnRmaWxlcyAob3B0aW9uYWwpCnByZXZpZXcgKG9wdGlvbmFsKSAtIG9ubHkgZm9yIGltYWdlcwo8L3A+CjxwPjxzdHJvbmc+Y29sb3JfcGlja2VyPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiAge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iY29sb3JfcGlja2VyIiBibG9jaz0idGVzdDEiIGxhYmVsPSJDb2xvciIgZGVmYXVsdF92YWx1ZT0iIzAwMDAwMCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgMTAKPC9wPgo8cD48c3Ryb25nPkRFUFJFQ0FURUQ6IGRyb3Bkb3duX2Zyb21fbW9kdWxlPC9zdHJvbmc+ICh1c2UgZHJvcGRvd25fZnJvbV91ZHQpPC9wPgo8cD48c3Ryb25nPmRyb3Bkb3duX2Zyb21fdWR0PC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJkcm9wZG93bl9mcm9tX3VkdCIgYmxvY2s9InRlc3QyIiBsYWJlbD0iR2FsbGVyeSIgdWR0PSJteWN1c3RvbXVkdCIgIGZpcnN0X3ZhbHVlPSI9c2VsZWN0PSJ9PC9wPgo8cD5PdXB1dCBmcm9tIFVEVCBtdXN0IGJlIGFycmF5KCkgLSBleGFtcGxlOiBhcnJheSgibGFiZWwiPT4idmFsdWUiLCAibGFiZWwgMiAiPT4idmFsdWUgMiIpPC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KdWR0IChyZXF1aXJlZCkgLSB1ZHQgbmFtZTxiciAvPgpmaXJzdF92YWx1ZSAob3B0aW9uYWwpIDxiciAvPgptdWx0aXBsZSAob3B0aW9uYWwpIC0gYWRkIG11bHRpcGxlIG9wdGlvbiBzZWxlY3Qgc3VwcG9ydDxiciAvPgpzaXplIChvcHRpb25hbCkgLSBtdWx0aXBsZSBlbmFibGVkIG9ubHkKPC9wPgo8cD48c3Ryb25nPmRyb3Bkb3duPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJkcm9wZG93biIgYmxvY2s9InRlc3Q1IiBsYWJlbD0iRnJ1aXQiICB2YWx1ZXM9IkFwcGxlPWFwcGxlLE9yYW5nZT1vcmFuZ2UiIGZpcnN0X3ZhbHVlPSJzZWxlY3QgZnJ1aXQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnZhbHVlcyAocmVxdWlyZWQpIC0gY29tbWEgc2VwYXJhdGVkLiBFeGFtcGxlOiBBcHBsZT1hcHBsZSxPcmFuZ2U9b3JhbmdlLEdyZWVuPWdyZWVuIDxiciAvPgpmaXJzdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+Cm11bHRpcGxlIChvcHRpb25hbCkgLSBhZGQgbXVsdGlwbGUgb3B0aW9uIHNlbGVjdCBzdXBwb3J0PGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIG11bHRpcGxlIGVuYWJsZWQgb25seQo8L3A+CjxwPjxzdHJvbmc+Y2hlY2tib3g8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImNoZWNrYm94IiBibG9jaz0idGVzdDExIiBsYWJlbD0iQ2hlY2tib3giICBkZWZhdWx0X3ZhbHVlPSIxIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCkKPC9wPgo8cD48c3Ryb25nPm1vZHVsZV9saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJtb2R1bGVfbGluayIgbGFiZWw9Ik1vZHVsZSBlZGl0IiBibG9jaz0idGVzdDMiICBtb2Q9IkNhdGFsb2dlciIgdGV4dD0iRWRpdCBjYXRhbG9nIiB9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbW9kIChyZXF1aXJlZCkgPGJyIC8+CnRleHQgKHJlcXVpcmVkKSA8YnIgLz4KdGFyZ2V0IChvcHRpb25hbCkgLSBkZWZhdWx0IF9zZWxmCjwvcD4KPHA+PHN0cm9uZz5saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJsaW5rIiBsYWJlbD0iU2VhcmNoIiBibG9jaz0idGVzdDQiIHRhcmdldD0iX2JsYW5rIiBsaW5rPSJodHRwOi8vd3d3LmJpbmcuY29tIiB0ZXh0PSJiaW5nIHNlYXJjaCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbGluayAocmVxdWlyZWQpIDxiciAvPgp0ZXh0IChyZXF1aXJlZCkgPGJyIC8+CnRhcmdldCAob3B0aW9uYWwpIC0gZGVmYXVsdCBfc2VsZgo8L3A+CjxwPjxzdHJvbmc+ZGF0ZXBpY2tlcjwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZGF0ZXBpY2tlciIgbGFiZWw9IkRhdGUiIGJsb2NrPSJ0ZXN0NDQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnNpemUgKG9wdGlvbmFsKSBkZWZhdWx0IDEwMDxiciAvPgpkYXRlX2Zvcm1hdCAob3B0aW9uYWwpIGRlZmF1bHQgeXktbW0tZGQ8YnIgLz4KbWF4X2xlbmd0aCAob3B0aW9uYWwpIGRlZmF1bHQgMTAgPGJyIC8+CjwvcD4KPHA+PHN0cm9uZz5pbnB1dDwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iaW5wdXQiIGxhYmVsPSJUZXh0IiBibG9jaz0idGVzdDUiIHNpemU9NTUgbWF4X2xlbmd0aD01NSBkZWZhdWx0X3ZhbHVlPSJmaWxsIGl0In08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpzaXplIChvcHRpb25hbCkgZGVmYXVsdCAzMDxiciAvPgptYXhfbGVuZ3RoIChvcHRpb25hbCkgZGVmYXVsdCAyNTUgPGJyIC8+CmRlZmF1bHRfdmFsdWUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgdmFsdWUgZm9yIGlucHV0CjwvcD4KPHA+PHN0cm9uZz50ZXh0YXJlYTwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0idGV4dGFyZWEiIGxhYmVsPSJUZXh0YXJlYSIgYmxvY2s9InRlc3Q2IiByb3dzPTEwIGNvbHM9NDAgZGVmYXVsdF92YWx1ZT0iZmlsbCBpdCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4Kcm93cyAob3B0aW9uYWwpIGRlZmF1bHQgMjA8YnIgLz4KY29scyAob3B0aW9uYWwpIGRlZmF1bHQgODAgPGJyIC8+CmRlZmF1bHRfdmFsdWUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgdmFsdWUgZm9yIHRleHRhcmVhCjwvcD4KPHA+PHN0cm9uZz5lZGl0b3IgKHRleHRhcmVhIHdpdGggd3lzaXd5Zyk8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImVkaXRvciIgbGFiZWw9IlRleHRhcmVhIiBibG9jaz0idGVzdDciIHJvd3M9MTAgY29scz00MCBkZWZhdWx0X3ZhbHVlPSJmaWxsIGl0In08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpyb3dzIChvcHRpb25hbCkgZGVmYXVsdCAyMDxiciAvPgpjb2xzIChvcHRpb25hbCkgZGVmYXVsdCA4MCA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCB2YWx1ZSBmb3IgdGV4dGFyZWEKPC9wPgo8cD48c3Ryb25nPnRleHQgPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJ0ZXh0IiBsYWJlbD0iVGV4dCIgYmxvY2s9InRlc3Q4IiB0ZXh0PSJIZWxsbyB3b3JkISJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KdGV4dCAocmVxdWlyZWQpIHRleHQgaW4gYWRtaW4gKGFkZCBpbmZvcm1hdGlvbiBmb3IgdXNlcnMsIFByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKTxiciAvPgo8L3A+CjxwPjxzdHJvbmc+cGFnZXMgPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJwYWdlcyIgbGFiZWw9IlBhZ2UiIGJsb2NrPSJ0ZXN0MTAifTwvcD4KPHA+PHN0cm9uZz5ociAoaG9yaXpvbnRhbCBsaW5lKTwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iaHIiIGxhYmVsPSJPdGhlciBibG9ja3MifTwvcD4KCjxoMz5EbyB5b3UgbGlrZSBteSB3b3JrPyA8L2gzPgo8cD48YSBocmVmPSJodHRwOi8vY21zbWFkZXNpbXBsZS5zay9kb25hdGUtY2FyZC8/dXRtX3NvdXJjZT1jbXNtYWRlc2ltcGxlJnV0bV9tZWRpdW09bGluayZ1dG1fY2FtcGFpZ249aGVscCZ1dG1fY29udGVudD1lY2IiIHRhcmdldD0iX2JsYW5rIj5HaXZlIG1lIGZpdmUgb3IgZmVlbCBmcmVlIHRvIDxzdHJvbmc+ZG9uYXRlPC9zdHJvbmc+IG1lPC9hPjwvcD4KCgogICAKJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.ecb_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUb29scyBmb3IgRXh0ZW5kZWQgQ29udGVudCBCbG9ja3MgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSAKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KY2xhc3MgZWNiX3Rvb2xzIHsKCiAgICBwcml2YXRlICRibG9ja19uYW1lID0gJyc7CiAgICBwcml2YXRlICR2YWx1ZSA9ICcnOwogICAgcHJpdmF0ZSAkYWRkaW5nID0gZmFsc2U7CiAgICBwcml2YXRlICRvcHRpb25zID0gYXJyYXkoKTsKICAgIHByaXZhdGUgJGFsaWFzID0gJyc7CiAgICBwcml2YXRlICRmaWVsZCA9ICcnOwogICAgcHJpdmF0ZSAkdHh0ID0gJyc7CiAgICBwcml2YXRlICRpc19jb2xvcl9waWNrZXJfbGliX2xvYWQgPSBmYWxzZTsKICAgIHByaXZhdGUgJGlzX2RhdGVwaWNrZXJfbGliX2xvYWQgPSBmYWxzZTsKCiAgICAvKioKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaWJuZyAkYmxvY2tOYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZQogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMKICAgICAqIEBwYXJhbSBib29sZWFuICRhZGRpbmcgCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYmxvY2tOYW1lLCAkdmFsdWUsICRwYXJhbXMsICRhZGRpbmcpIHsKCiAgICAgICAgJHRoaXMtPmJsb2NrX25hbWUgPSAkYmxvY2tOYW1lOwogICAgICAgICR0aGlzLT5hbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJGJsb2NrTmFtZSwgdHJ1ZSk7CiAgICAgICAgJHRoaXMtPnZhbHVlID0gJHZhbHVlOwogICAgICAgICR0aGlzLT5hZGRpbmcgPSAkYWRkaW5nOwoKICAgICAgICAkdGhpcy0+Z2V0X2V4dHJhX29wdGlvbnMoJHBhcmFtcyk7CgogICAgICAgIGlmICgkYWRkaW5nID09IHRydWUgJiYgaXNTZXQoJHRoaXMtPm9wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSkgJiYgZW1wdHkoJHZhbHVlKSA9PSB0cnVlKQogICAgICAgICAgICAkdGhpcy0+dmFsdWUgPSAkcGFyYW1zWyJkZWZhdWx0X3ZhbHVlIl07CiAgICB9CgogICAgLyoqCiAgICAgKiAgZ2V0IGNvbnRlbnQgYmxvY2sKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NvbnRlbnRfYmxvY2tfaW5wdXQoKSB7CiAgICAgICAgJGZ1bmN0aW9uID0gJ2dldF8nIC4gJHRoaXMtPmZpZWxkOwogICAgICAgIHJldHVybiAkdGhpcy0+JGZ1bmN0aW9uKCk7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X3RleHRhcmVhKCkgewogICAgICAgICR0bXAgPSAnPHRleHRhcmVhIG5hbWU9IiVzIiByb3dzPSIlZCIgY29scz0iJWQiPiVzPC90ZXh0YXJlYT4nOwogICAgICAgIHJldHVybiBzcHJpbnRmKCR0bXAsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+b3B0aW9uc1sicm93cyJdLCAkdGhpcy0+b3B0aW9uc1siY29scyJdLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9wYWdlcygpIHsKICAgICAgICAkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAgICAgcmV0dXJuICRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywgJHRoaXMtPnZhbHVlLCAkdGhpcy0+YmxvY2tfbmFtZSwgMSwgMSk7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2VkaXRvcigpIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdFQ0InKTsKICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJycsICR0aGlzLT52YWx1ZSwgJHRoaXMtPmJsb2NrX25hbWUsICcnLCAnJywgJycsICcnLCAkdGhpcy0+b3B0aW9uc1siY29scyJdLCAkdGhpcy0+b3B0aW9uc1sicm93cyJdKTsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfaW5wdXQoKSB7CiAgICAgICAgJHRtcCA9ICc8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iJXMiIHNpemU9IiVkIiBtYXhsZW5ndGg9IiVkIiB2YWx1ZT0iJXMiLz4nOwogICAgICAgIHJldHVybiBzcHJpbnRmKCR0bXAsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdLCAkdGhpcy0+b3B0aW9uc1sibWF4X2xlbmd0aCJdLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9kYXRlcGlja2VyKCkgewogICAgICAgICR0bXAgPSAkdGhpcy0+Z2V0X2RhdGVwaWNrZXJfbGliKCk7CiAgICAgICAgJHRtcCAuPSAnPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJkYXRlcGlja2VyIiAgbmFtZT0iJXMiIHNpemU9IiVkIiBtYXhsZW5ndGg9IiVkIiB2YWx1ZT0iJXMiLz4nOwogICAgICAgIHJldHVybiBzcHJpbnRmKCR0bXAsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdLCAkdGhpcy0+b3B0aW9uc1sibWF4X2xlbmd0aCJdLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2RhdGVwaWNrZXJfbGliKCkgewogICAgICAgIGlmICgkdGhpcy0+aXNfZGF0ZXBpY2tlcl9saWJfbG9hZCkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICR0bXAgPSAiCiAgICAgICAgIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiLi4vbGliL2pxdWVyeS9jc3Mvc21vb3RobmVzcy9qcXVlcnktdWktMS44LjEyLmN1c3RvbS5jc3NcIiBtZWRpYT1cInNjcmVlblwiIC8+IAogICAgICAgIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPgoJCSQoZnVuY3Rpb24oKSB7CgkJCSQoJy5kYXRlcGlja2VyJykuZGF0ZXBpY2tlcih7CgkJCQlkYXRlRm9ybWF0OiAnIiAuICR0aGlzLT5vcHRpb25zWyJkYXRlX2Zvcm1hdCJdIC4gIiAnLAoJCQkJc2hvd090aGVyTW9udGhzOiB0cnVlLAoJCQkJc2VsZWN0T3RoZXJNb250aHM6IHRydWUKCQkJfSk7CgoJCX0pOwo8L3NjcmlwdD4iOwogICAgICAgICR0aGlzLT5pc19kYXRlcGlja2VyX2xpYl9sb2FkID0gdHJ1ZTsKICAgICAgICByZXR1cm4gJHRtcDsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfY29sb3JfcGlja2VyKCkgewoKICAgICAgICAkdHh0ID0gJyc7CiAgICAgICAgJGZpcnN0ID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fKTsKICAgICAgICBpZiAoISRmaXJzdCkKICAgICAgICAgICAgJHR4dC49ICc8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBmaWVsZD0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9tZXRhMTAwLmdpdGh1Yi5jb20vbUNvbG9yUGlja2VyL2phdmFzY3JpcHRzL21Db2xvclBpY2tlcl9taW4uanMiPjwvc2NyaXB0Pic7CgogICAgICAgICR0bXAgPSAnPGlucHV0ICB0eXBlPSJjb2xvciIgZGF0YS1oZXg9InRydWUiIG5hbWU9IiVzIiBpZD0iJXMiIHNpemU9IicgLiAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdIC4gJyIgdmFsdWU9IiVzIi8+JzsKICAgICAgICAkdHh0IC49IHNwcmludGYoJHRtcCwgJHRoaXMtPmJsb2NrX25hbWUsICR0aGlzLT5hbGlhcywgJHRoaXMtPnZhbHVlKTsKCiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fLCAxKTsKCiAgICAgICAgcmV0dXJuICR0eHQ7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2NoZWNrYm94KCkgewoKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdFQ0InKTsKICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJycsICR0aGlzLT5ibG9ja19uYW1lLCAwKSAuICRtb2QtPkNyZWF0ZUlucHV0Q2hlY2tib3goJycsICR0aGlzLT5ibG9ja19uYW1lLCAxLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9maWxlX3NlbGVjdG9yKCkgewoKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdFQ0InKTsKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgLy8gMS4gIEdldCB0aGUgZGlyZWN0b3J5IGNvbnRlbnRzCiAgICAgICAgJGFkZGRpciA9IGdldF9zaXRlX3ByZWZlcmVuY2UoJ2NvbnRlbnRpbWFnZV9wYXRoJyk7CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydkaXInXSkKICAgICAgICAgICAgJGFkZGRpciA9ICR0aGlzLT5vcHRpb25zWydkaXInXTsKCgogICAgICAgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkYWRkZGlyKTsKICAgICAgICAkZmlsZXR5cGVzID0gJHRoaXMtPm9wdGlvbnNbJ2ZpbGV0eXBlcyddOwogICAgICAgIGlmICgkZmlsZXR5cGVzICE9ICcnKSB7CiAgICAgICAgICAgICRmaWxldHlwZXMgPSBleHBsb2RlKCcsJywgJGZpbGV0eXBlcyk7CiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRmaWxldHlwZXMpOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAkZmlsZXR5cGVzWyRpXSA9ICcqLicgLiAkZmlsZXR5cGVzWyRpXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkZXhjbHVkZXMgPSAkdGhpcy0+b3B0aW9uc1snZXhjbHVkZXByZWZpeCddOwogICAgICAgIGlmICgkZXhjbHVkZXMgIT0gJycpIHsKICAgICAgICAgICAgJGV4Y2x1ZGVzID0gZXhwbG9kZSgnLCcsICRleGNsdWRlcyk7CiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRleGNsdWRlcyk7ICRpKyspIHsKICAgICAgICAgICAgICAgICRleGNsdWRlc1skaV0gPSAkZXhjbHVkZXNbJGldIC4gJyonOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRmbCA9IGNnZV9kaXI6OnJlY3Vyc2l2ZV9nbG9iKCRkaXIsICRmaWxldHlwZXMsICdGSUxFUycsICRleGNsdWRlcywgJHRoaXMtPm9wdGlvbnNbJ3JlY3Vyc2UnXSk7CgogICAgICAgIC8vIDIuICBSZW1vdmUgcHJlZml4CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGZsKTsgJGkrKykgewogICAgICAgICAgICAkZmxbJGldID0gc3RyX3JlcGxhY2UoJGRpciwgJycsICRmbFskaV0pOwogICAgICAgIH0KCiAgICAgICAgLy8gMi4gIFNvcnQKICAgICAgICBpZiAoaXNfYXJyYXkoJGZsKSAmJiAkdGhpcy0+b3B0aW9uc1snc29ydGZpbGVzJ10pIHsKICAgICAgICAgICAgc29ydCgkZmwpOwogICAgICAgIH0KCiAgICAgICAgJG9wdHMgPSBhcnJheSgpOwogICAgICAgICR1cmxfcHJlZml4ID0gJGFkZGRpcjsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkZmwpOyAkaSsrKSB7CiAgICAgICAgICAgICRvcHRzWyRmbFskaV1dID0gJHVybF9wcmVmaXggLiAkZmxbJGldOwogICAgICAgIH0KICAgICAgICAkb3B0cyA9IGFycmF5KCcnID0+ICcnKSArICRvcHRzOwoKICAgICAgICAkZGVmYXVsdF9jb250ZW50X2lkID0gQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5HZXREZWZhdWx0Q29udGVudCgpOwogICAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICAgJHBhcm1zID0gJHRoaXMtPm9wdGlvbnM7CiAgICAgICAgJHBhcm1zWydmaWVsZCddID0gJ2ZpbGVfc2VsZWN0b3InOwogICAgICAgICRwYXJtc1snYmxvY2tfbmFtZSddID0gJHRoaXMtPmJsb2NrX25hbWU7CiAgICAgICAgJHBhcm1zWyd2YWx1ZSddID0gJHRoaXMtPnZhbHVlOwogICAgICAgICRwYXJtc1snYWRkaW5nJ10gPSAkdGhpcy0+YWRkaW5nOwogICAgICAgICRwYXJtc1snc2hvd3RlbXBsYXRlJ10gPSAnZmFsc2UnOwogICAgICAgICRyZWZyZXNoX3VybCA9ICRtb2QtPkNyZWF0ZWxpbmsoJ2NudG50MDEnLCAncmVmcmVzaCcsICRkZWZhdWx0X2NvbnRlbnRfaWQsICcnLCAkcGFybXMsICcnLCB0cnVlKTsKICAgICAgICAkcmVmcmVzaCA9ICc8YSBocmVmPSInIC4gJHJlZnJlc2hfdXJsIC4gJyZzaG93dGVtcGxhdGU9ZmFsc2UiIGNsYXNzPSJmaWxlX3NlbGVjdG9yX3JlZnJlc2giPgo8aW1nIHNyYz0iLi4vbW9kdWxlcy8nIC4gJG1vZC0+R2V0TmFtZSgpIC4gJy9pY29ucy9hamF4LXJlZnJlc2gtaWNvbi5naWYiIGFsdD0iJyAuICRtb2QtPkxhbmcoJ3JlZnJlc2gnKSAuICciPiAgICAgICAgICAgIAo8L2E+JzsKCiAgICAgICAgJHNjcmlwdCA9ICcnOwogICAgICAgIGlmICghY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fKSkgewogICAgICAgICAgICAkc2NyaXB0ID0gIgogICAgICAgICAgICAgICAgPHNjcmlwdD4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKJCgnLmZpbGVfc2VsZWN0b3JfcmVmcmVzaCcpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24oKXsKIHZhciB1cmwgPSAkKHRoaXMpLmF0dHIoJ2hyZWYnKTsKICQodGhpcykucHJldigpLmNzcygnb3BhY2l0eScsMC4zKTsKICQodGhpcykucGFyZW50KCkucGFyZW50KCkubG9hZCh1cmwsICcnLCBmdW5jdGlvbihodG1sKXsgICAgICAgICAgICAKfSk7CnJldHVybiBmYWxzZTsKfSkKCiQoJy5maWxlX3NlbGVjdG9yX3NlbGVjdCBzZWxlY3QnKS5jaGFuZ2UoZnVuY3Rpb24oKXsKdmFyIGltZ3RhZyA9ICQodGhpcykucGFyZW50KCkubmV4dCgpOwppbWd0YWcuYXR0cignc3JjJywgaW1ndGFnLmRhdGEoJ3VwbG9hZHN1cmwnKSsnLycrJCh0aGlzKS52YWwoKSk7Cn0pCn0pICAgICAgICAgICAgICAKPC9zY3JpcHQ+CiI7CgogICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YShfX0ZVTkNUSU9OX18sIDEpOwogICAgICAgIH0KCiAgICAgICAgJHByZXZpZXcgPSAnJzsKICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ3ByZXZpZXcnXSkgewogICAgICAgICAgICBpZiAoJHRoaXMtPnZhbHVlKQogICAgICAgICAgICAgICAgJHByZXZpZXcgPSAnPGltZyBzdHlsZSJtYXgtd2lkdGg6MjAwcHg7IiBjbGFzcz0iZmlsZV9zZWxlY3Rvcl9wcmV2aWV3IiBkYXRhLXVwbG9hZHN1cmw9IicgLiAkY29uZmlnWyJ1cGxvYWRzX3VybCJdIC4gJyIgICBzcmM9IicgLiAkY29uZmlnWyJ1cGxvYWRzX3VybCJdIC4gJy8nIC4gJHRoaXMtPnZhbHVlIC4gJyIgYWx0PSIiPic7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICRwcmV2aWV3ID0gJzxpbWcgc3R5bGUibWF4LXdpZHRoOjIwMHB4OyIgY2xhc3M9ImZpbGVfc2VsZWN0b3JfcHJldmlldyIgYWx0PSIiIGRhdGEtdXBsb2Fkc3VybD0iJyAuICRjb25maWdbInVwbG9hZHNfdXJsIl0gLiAnIj4nOwogICAgICAgIH0KCgoKCiAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJmaWxlX3NlbGVjdG9yX3NlbGVjdCI+JyAuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkb3B0cywgLTEsICR0aGlzLT52YWx1ZSkgLiAkcmVmcmVzaCAuICRzY3JpcHQgLiAnPC9kaXY+JyAuICRwcmV2aWV3OwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF90ZXh0KCkgewoKICAgICAgICBpZiAoISR0aGlzLT5vcHRpb25zWyJ0ZXh0Il0pCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICByZXR1cm4gJHRoaXMtPm9wdGlvbnNbInRleHQiXTsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfaHIoKSB7CiAgICAgICAgcmV0dXJuICc8aHIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IGJvcmRlcjowIG5vbmU7IGJhY2tncm91bmQ6I2NjYzsiIC8+JzsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfbGluaygpIHsKCiAgICAgICAgaWYgKCEkdGhpcy0+b3B0aW9uc1sibGluayJdIHx8ICEkdGhpcy0+b3B0aW9uc1sidGV4dCJdKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0VDQicpOwogICAgICAgIHJldHVybiAnPGEgdGFyZ2V0PSInIC4gJHRoaXMtPm9wdGlvbnNbInRhcmdldCJdIC4gJyIgaHJlZj0iJyAuICR0aGlzLT5vcHRpb25zWyJsaW5rIl0gLiAnIj4nIC4gJHRoaXMtPm9wdGlvbnNbInRleHQiXSAuICc8L2E+JzsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfbW9kdWxlX2xpbmsoKSB7CiAgICAgICAgaWYgKCEkdGhpcy0+b3B0aW9uc1sibW9kIl0gfHwgISR0aGlzLT5vcHRpb25zWyJ0ZXh0Il0pCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+b3B0aW9uc1sibW9kIl0pOwoKICAgICAgICBpZiAoIWlzX29iamVjdCgkbW9kKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwogICAgICAgICR1c2Vyb3BzID0gY21zbXMoKS0+R2V0VXNlck9wZXJhdGlvbnMoKTsKICAgICAgICAkYWRtaW51c2VyID0gJHVzZXJvcHMtPlVzZXJJbkdyb3VwKCR1c2VyaWQsIDEpOwoKICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlTGluaygnJywgJ2RlZmF1bHRhZG1pbicsICcnLCAkdGhpcy0+b3B0aW9uc1sidGV4dCJdLCBhcnJheSgpLCAnJywgZmFsc2UsIDAsICd0YXJnZXQ9IicgLiAkdGhpcy0+b3B0aW9uc1sidGFyZ2V0Il0gLiAnIicpCiAgICAgICAgICAgICAgICAuCiAgICAgICAgICAgICAgICAoJHRoaXMtPm9wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA/ICc8YnIgLz48aW5wdXQgaWQ9Im10XycgLiAkdGhpcy0+YmxvY2tfbmFtZSAuICciICcgLiAoICRhZG1pbnVzZXIgPyAndHlwZT0idGV4dCInIDogJ3R5cGU9ImhpZGRlbiInKSAuICcgbmFtZT0iJyAuICR0aGlzLT5ibG9ja19uYW1lIC4gJyIgdmFsdWU9IicgLiAoJHRoaXMtPnZhbHVlID8gJHRoaXMtPnZhbHVlIDogJHRoaXMtPm9wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSkgLiAnIi8+JyA6ICcnKTsKICAgIH0KCiAgICAvKioKICAgICAqIERFUFJFQ0FURUQKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9kcm9wZG93bl9mcm9tX21vZHVsZSgpIHsKICAgICAgICBpZiAoISR0aGlzLT5vcHRpb25zWyJtb2QiXSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdFQ0InKTsKICAgICAgICAkZGF0YSA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCd7JyAuICR0aGlzLT5vcHRpb25zWyJtb2QiXSAuICd9Jyk7CgogICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgICAkb3B0aW9uc2FycmF5ID0gZXhwbG9kZSgnLCcsICRkYXRhKTsKICAgICAgICBpZiAoZW1wdHkoJG9wdGlvbnNhcnJheSkpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJG9wdGlvbnNhcnJheSBhcyAkb3B0aW9uKSB7CiAgICAgICAgICAgICRrZXlfdmFsID0gZXhwbG9kZSgnPScsICRvcHRpb24pOwogICAgICAgICAgICAkb3B0aW9uc1ska2V5X3ZhbFswXV0gPSAka2V5X3ZhbFsxXTsKICAgICAgICB9CiAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5vcHRpb25zWydkZWZhdWx0X3ZhbHVlJ10pID09IGZhbHNlKQogICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCR0aGlzLT5vcHRpb25zWydkZWZhdWx0X3ZhbHVlJ10gPT4gJycpICsgJG9wdGlvbnM7CgogICAgICAgIHJldHVybiAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCcnLCAkdGhpcy0+YmxvY2tfbmFtZSwgJG9wdGlvbnMsIC0xLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9kcm9wZG93bigpIHsKICAgICAgICBpZiAoISR0aGlzLT5vcHRpb25zWyJ2YWx1ZXMiXSkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0VDQicpOwogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwoKICAgICAgICAkb3B0aW9uc2FycmF5ID0gZXhwbG9kZSgnLCcsICR0aGlzLT5vcHRpb25zWyJ2YWx1ZXMiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRvcHRpb25zYXJyYXkpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRvcHRpb25zYXJyYXkgYXMgJG9wdGlvbikgewogICAgICAgICAgICAka2V5X3ZhbCA9IGV4cGxvZGUoJz0nLCAkb3B0aW9uKTsKICAgICAgICAgICAgJG9wdGlvbnNbJGtleV92YWxbMF1dID0gJGtleV92YWxbMV07CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkdGhpcy0+b3B0aW9uc1snZmlyc3RfdmFsdWUnXSkgPT0gZmFsc2UpCiAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoJHRoaXMtPm9wdGlvbnNbJ2ZpcnN0X3ZhbHVlJ10gPT4gJycpICsgJG9wdGlvbnM7CgogICAgICAgIGlmICgkdGhpcy0+b3B0aW9uc1snbXVsdGlwbGUnXSkgewogICAgICAgICAgICAkc2VsZWN0ZWRpdGVtcyA9IGV4cGxvZGUoJywnLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICAgICAkc2NyaXB0ID0gJyc7CiAgICAgICAgICAgIGlmICghY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fKSkgewogICAgICAgICAgICAgICAgJHNjcmlwdCA9ICIKICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiQoJy5lY2JfbXV0bGlwbGVfc2VsZWN0IHNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpewokKHRoaXMpLnByZXYoKS52YWwoKCQodGhpcykudmFsKCkuam9pbignLCcpKSk7IAp9KSAgICAgICAgICAgICAgCn0pICAgICAgICAgICAgICAKPC9zY3JpcHQ+CiI7CiAgICAgICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YShfX0ZVTkNUSU9OX18sIDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHNjcmlwdCAuICc8ZGl2IGNsYXNzPSJlY2JfbXV0bGlwbGVfc2VsZWN0Ij4nIC4gJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+dmFsdWUpIC4gJG1vZC0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCcnLCAkdGhpcy0+YmxvY2tfbmFtZSAuICdfdG1wJywgJG9wdGlvbnMsICRzZWxlY3RlZGl0ZW1zLCAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdKSAuICc8L2Rpdj4nOwogICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bignJywgJHRoaXMtPmJsb2NrX25hbWUsICRvcHRpb25zLCAtMSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2Ryb3Bkb3duX2Zyb21fdWR0KCkgewogICAgICAgIGlmICghJHRoaXMtPm9wdGlvbnNbInVkdCJdKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRUNCJyk7CiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoKICAgICAgICAkdG1wID0gYXJyYXkoKTsKICAgICAgICAkb3B0aW9ucyA9IFVzZXJUYWdPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Q2FsbFVzZXJUYWcoJHRoaXMtPm9wdGlvbnNbInVkdCJdLCAkdG1wKTsKCiAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT5vcHRpb25zWydmaXJzdF92YWx1ZSddKSA9PSBmYWxzZSkKICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgkdGhpcy0+b3B0aW9uc1snZmlyc3RfdmFsdWUnXSA9PiAnJykgKyAkb3B0aW9uczsKCiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydtdWx0aXBsZSddKSB7CiAgICAgICAgICAgICRzZWxlY3RlZGl0ZW1zID0gZXhwbG9kZSgnLCcsICR0aGlzLT52YWx1ZSk7CiAgICAgICAgICAgICRzY3JpcHQgPSAnJzsKICAgICAgICAgICAgaWYgKCFjbXNfdXRpbHM6OmdldF9hcHBfZGF0YShfX0ZVTkNUSU9OX18pKSB7CiAgICAgICAgICAgICAgICAkc2NyaXB0ID0gIgogICAgICAgICAgICAgICAgPHNjcmlwdD4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKJCgnLmVjYl9tdXRsaXBsZV9zZWxlY3RfdWR0IHNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpewokKHRoaXMpLnByZXYoKS52YWwoKCQodGhpcykudmFsKCkuam9pbignLCcpKSk7IAp9KSAgICAgICAgICAgICAgCn0pICAgICAgICAgICAgICAKPC9zY3JpcHQ+CiI7CiAgICAgICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YShfX0ZVTkNUSU9OX18sIDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHNjcmlwdCAuICc8ZGl2IGNsYXNzPSJlY2JfbXV0bGlwbGVfc2VsZWN0X3VkdCI+JyAuICRtb2QtPkNyZWF0ZUlucHV0SGlkZGVuKCcnLCAkdGhpcy0+YmxvY2tfbmFtZSwgJHRoaXMtPnZhbHVlKSAuICRtb2QtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgnJywgJHRoaXMtPmJsb2NrX25hbWUgLiAnX3RtcCcsICRvcHRpb25zLCAkc2VsZWN0ZWRpdGVtcywgJHRoaXMtPm9wdGlvbnNbInNpemUiXSkgLiAnPC9kaXY+JzsKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkb3B0aW9ucywgLTEsICR0aGlzLT52YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9tb2R1bGUoKSB7CgogICAgICAgICRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CiAgICAgICAgJG1vZHVsZXMgPSAkbW9kb3BzLT5HZXRJbnN0YWxsZWRNb2R1bGVzKCk7CiAgICAgICAgJG1vZHVsZXNhcnJheSA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgewogICAgICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGUpOwogICAgICAgICAgICBpZiAoaXNfb2JqZWN0KCRtb2QpKQogICAgICAgICAgICAgICAgJG1vZHVsZXNhcnJheVskbW9kLT5HZXROYW1lKCldID0gJG1vZHVsZTsKICAgICAgICB9CgogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0VDQicpOwogICAgICAgIHJldHVybiAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCcnLCAkdGhpcy0+YmxvY2tfbmFtZSwgJG1vZHVsZXNhcnJheSwgLTEsICR0aGlzLT52YWx1ZSk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfZXh0cmFfb3B0aW9ucyhhcnJheSAkcGFyYW1zKSB7CgogICAgICAgIGlmICghaXNTZXQoJHBhcmFtc1siZmllbGQiXSkpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICRkZWZhdWx0X29wdGlvbnMgPSBhcnJheSgpOwogICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkcGFyYW1zWyJmaWVsZCJdKSkgewogICAgICAgICAgICBjYXNlICJjb2xvcl9waWNrZXIiOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sic2l6ZSJdID0gMTA7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJtb2R1bGVfbGluayI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJtb2QiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sidGV4dCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJ0YXJnZXQiXSA9ICdfc2VsZic7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnX3NlbGYnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgImxpbmsiOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sidGV4dCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJ0YXJnZXQiXSA9ICdfc2VsZic7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJsaW5rIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJtb2R1bGUiOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1siZGVmYXVsdF92YWx1ZSJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJ0ZXh0Il0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImxpbmsiXSA9ICcnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgImRyb3Bkb3duX2Zyb21fbW9kdWxlIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbIm1vZCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImZpcnN0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJmaWxlX3NlbGVjdG9yIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImZpbGV0eXBlcyJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJleGNsdWRlcHJlZml4Il0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInJlY3Vyc2UiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sic29ydGZpbGVzIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRpciJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJwcmV2aWV3Il0gPSAnJzsKICAgICAgICAgICAgY2FzZSAiZHJvcGRvd24iOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sic2l6ZSJdID0gNTsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbIm11bHRpcGxlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInZhbHVlcyJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImZpcnN0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgY2FzZSAiZHJvcGRvd25fZnJvbV91ZHQiOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sic2l6ZSJdID0gNTsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbIm11bHRpcGxlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInZhbHVlcyJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImZpcnN0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInVkdCJdID0gJyc7CiAgICAgICAgICAgIGNhc2UgInRleHRhcmVhIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sicm93cyJdID0gMjA7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJjb2xzIl0gPSA4MDsKICAgICAgICAgICAgY2FzZSAiZWRpdG9yIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sicm93cyJdID0gMjA7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJjb2xzIl0gPSA4MDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJpbnB1dCI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInNpemUiXSA9IDMwOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sibWF4X2xlbmd0aCJdID0gMjU1OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgInRleHQiOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sidGV4dCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJleGVjdXRlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJwYWdlcyI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJjaGVja2JveCI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAiaHIiOgogICAgICAgICAgICBjYXNlICJpbWFnZV9waWNrZXIiOgoKICAgICAgICAgICAgY2FzZSAnZGF0ZXBpY2tlcic6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJzaXplIl0gPSAxMDsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbIm1heF9sZW5ndGgiXSA9IDEwOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1siZGF0ZV9mb3JtYXQiXSA9ICd5eS1tbS1kZCc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5maWVsZCA9ICRwYXJhbXNbImZpZWxkIl07CgogICAgICAgIGlmIChlbXB0eSgkcGFyYW1zKSA9PSBmYWxzZSkgewogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrZXkgPT4gJHBhcmFtKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNTZXQoJGRlZmF1bHRfb3B0aW9uc1ska2V5XSkgJiYgZW1wdHkoJHBhcmFtKSA9PSBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyRrZXldID0gJHBhcmFtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgJHRoaXMtPm9wdGlvbnMgPSAkZGVmYXVsdF9vcHRpb25zOwogICAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IEV4dGVuZGVkIENvbnRlbnQgQmxvY2tzCiMgWmRlbm8gS3V6bWFueSAoemRlbm9Aa3V6bWFueS5iaXopIC8ga3V6bWFueS5iaXogIC8gdHdpdHRlci5jb20va3V6bWFueQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihVU0VfRUNCLCBVU0VfRUNCKTsKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IEV4dGVuZGVkIENvbnRlbnQgQmxvY2tzCiMgWmRlbm8gS3V6bWFueSAoemRlbm9Aa3V6bWFueS5iaXopIC8ga3V6bWFueS5iaXogIC8gdHdpdHRlci5jb20va3V6bWFueQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oVVNFX0VDQik7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBFeHRlbmRlZCBDb250ZW50IEJsb2NrcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CiRkYiA9IGNtc21zKCktPkdldERiKCk7Cgpzd2l0Y2ggKCRjdXJyZW50X3ZlcnNpb24pIHsKfQoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCgwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsICR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKPz4=]]></data>
	</file>
</module>
