<?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.3.1</version>
  <mincmsversion>1.10</mincmsversion>
	<help><![CDATA[Cgo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+TW9kdWxlIGFkZHMgY29udGVudCBhZGl0aW9uYWwgYmxvY2tzIGZvciBDTVMgTWFkZSBTaW1wbGUuPC9wPgo8aDM+RmllbGRzPC9oMz4KPHA+PHN0cm9uZz5maWxlX3NlbGVjdG9yPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiAge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZmlsZV9zZWxlY3RvciIgYmxvY2s9InRlc3QxMCIgZGlyPSJpbWFnZXMiIGZpbGV0eXBlcz0ianBnLGdpZixwbmciIGV4Y2x1ZGVwcmVmaXg9InRodW1iXyJ9ICAgICAgICA8L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpmaWxldHlwZXMgLSBjb21tYSBzZXBhcmF0ZWQ8YnIgLz4gCmRpciAob3B0aW9uYWwpIC0gZGVmYXVsdCB1cGxvYWRzLzxiciAvPgpleGNsdWRlcHJlZml4IChvcHRpb25hbCk8YnIgLz4KcmVjdXJzZSAob3B0aW9uYWwpPGJyIC8+CnNvcnRmaWxlcyAob3B0aW9uYWwpCnByZXZpZXcgKG9wdGlvbmFsKSAtIG9ubHkgZm9yIGltYWdlcwo8L3A+CjxwPjxzdHJvbmc+Y29sb3JfcGlja2VyPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiAge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iY29sb3JfcGlja2VyIiBibG9jaz0idGVzdDEiIGxhYmVsPSJDb2xvciIgZGVmYXVsdF92YWx1ZT0iIzAwMDAwMCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIGRlZmF1bHQgMTAKPC9wPgo8cD48c3Ryb25nPmRyb3Bkb3duX2Zyb21fbW9kdWxlPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJkcm9wZG93bl9mcm9tX21vZHVsZSIgYmxvY2s9InRlc3QyIiBsYWJlbD0iR2FsbGVyeSIgIG1vZD0iY21zX21vZHVsZSBtb2R1bGU9J0dhbGxlcnknIHRlbXBsYXRlPSdzZWxlY3Rib3gnIiBmaXJzdF92YWx1ZT0iPXNlbGVjdD0ifTwvcD4KPHA+T3VwdXQgZm9yIG1vZHVsZSBtdXN0IGJlOiBsYWJlbD12YWx1ZShjb21tYSlsYWJlbD12YWx1ZS4gRXhhbXBsZTogQXBwbGU9YXBwbGUsT3JhbmdlPW9yYW5nZTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+Cm1vZCAocmVxdWlyZWQpIC0gbW9kdWxlL3BsdWdpbiB3aXRob3V0IHsgYW5kIH08YnIgLz4KZmlyc3RfdmFsdWUgKG9wdGlvbmFsKSA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIAo8L3A+CjxwPjxzdHJvbmc+ZHJvcGRvd248L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImRyb3Bkb3duIiBibG9jaz0idGVzdDUiIGxhYmVsPSJGcnVpdCIgIHZhbHVlcz0iQXBwbGU9YXBwbGUsT3JhbmdlPW9yYW5nZSIgZmlyc3RfdmFsdWU9InNlbGVjdCBmcnVpdCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KdmFsdWVzIChyZXF1aXJlZCkgLSBjb21tYSBzZXBhcmF0ZWQuIEV4YW1wbGU6IEFwcGxlPWFwcGxlLE9yYW5nZT1vcmFuZ2UsR3JlZW49Z3JlZW4gPGJyIC8+CmZpcnN0X3ZhbHVlIChvcHRpb25hbCk8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+Cm11bHRpcGxlIChvcHRpb25hbCkgLSBhZGQgbXVsdGlwbGUgb3B0aW9uIHNlbGVjdCBzdXBwb3J0PGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIG11bHRpcGxlIGVuYWJsZWQgb25seQo8L3A+CjxwPjxzdHJvbmc+Y2hlY2tib3g8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImNoZWNrYm94IiBibG9jaz0idGVzdDExIiBsYWJlbD0iQ2hlY2tib3giICBkZWZhdWx0X3ZhbHVlPSIxIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCkKPC9wPgo8cD48c3Ryb25nPm1vZHVsZV9saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJtb2R1bGVfbGluayIgbGFiZWw9Ik1vZHVsZSBlZGl0IiBibG9jaz0idGVzdDMiICBtb2Q9IkNhdGFsb2dlciIgdGV4dD0iRWRpdCBjYXRhbG9nIiB9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbW9kIChyZXF1aXJlZCkgPGJyIC8+CnRleHQgKHJlcXVpcmVkKSA8YnIgLz4KdGFyZ2V0IChvcHRpb25hbCkgLSBkZWZhdWx0IF9zZWxmCjwvcD4KPHA+PHN0cm9uZz5saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJsaW5rIiBsYWJlbD0iU2VhcmNoIiBibG9jaz0idGVzdDQiIHRhcmdldD0iX2JsYW5rIiBsaW5rPSJodHRwOi8vd3d3LmJpbmcuY29tIiB0ZXh0PSJiaW5nIHNlYXJjaCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbGluayAocmVxdWlyZWQpIDxiciAvPgp0ZXh0IChyZXF1aXJlZCkgPGJyIC8+CnRhcmdldCAob3B0aW9uYWwpIC0gZGVmYXVsdCBfc2VsZgo8L3A+CjxwPjxzdHJvbmc+ZGF0ZXBpY2tlcjwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZGF0ZXBpY2tlciIgbGFiZWw9IkRhdGUiIGJsb2NrPSJ0ZXN0NDQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnNpemUgKG9wdGlvbmFsKSBkZWZhdWx0IDEwMDxiciAvPgptYXhfbGVuZ3RoIChvcHRpb25hbCkgZGVmYXVsdCAxMCA8YnIgLz4KPC9wPgo8cD48c3Ryb25nPmlucHV0PC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJpbnB1dCIgbGFiZWw9IlRleHQiIGJsb2NrPSJ0ZXN0NSIgc2l6ZT01NSBtYXhfbGVuZ3RoPTU1IGRlZmF1bHRfdmFsdWU9ImZpbGwgaXQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnNpemUgKG9wdGlvbmFsKSBkZWZhdWx0IDMwPGJyIC8+Cm1heF9sZW5ndGggKG9wdGlvbmFsKSBkZWZhdWx0IDI1NSA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCB2YWx1ZSBmb3IgaW5wdXQKPC9wPgo8cD48c3Ryb25nPnRleHRhcmVhPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJ0ZXh0YXJlYSIgbGFiZWw9IlRleHRhcmVhIiBibG9jaz0idGVzdDYiIHJvd3M9MTAgY29scz00MCBkZWZhdWx0X3ZhbHVlPSJmaWxsIGl0In08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpyb3dzIChvcHRpb25hbCkgZGVmYXVsdCAyMDxiciAvPgpjb2xzIChvcHRpb25hbCkgZGVmYXVsdCA4MCA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCB2YWx1ZSBmb3IgdGV4dGFyZWEKPC9wPgo8cD48c3Ryb25nPmVkaXRvciAodGV4dGFyZWEgd2l0aCB3eXNpd3lnKTwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZWRpdG9yIiBsYWJlbD0iVGV4dGFyZWEiIGJsb2NrPSJ0ZXN0NyIgcm93cz0xMCBjb2xzPTQwIGRlZmF1bHRfdmFsdWU9ImZpbGwgaXQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnJvd3MgKG9wdGlvbmFsKSBkZWZhdWx0IDIwPGJyIC8+CmNvbHMgKG9wdGlvbmFsKSBkZWZhdWx0IDgwIDxiciAvPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCkgLSBkZWZhdWx0IHZhbHVlIGZvciB0ZXh0YXJlYQo8L3A+CjxwPjxzdHJvbmc+dGV4dCA8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9InRleHQiIGxhYmVsPSJUZXh0IiBibG9jaz0idGVzdDgiIHRleHQ9IkhlbGxvIHdvcmQhIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgp0ZXh0IChyZXF1aXJlZCkgdGV4dCBpbiBhZG1pbiAoYWRkIGluZm9ybWF0aW9uIGZvciB1c2VycywgUHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEpPGJyIC8+CjwvcD4KPHA+PHN0cm9uZz5wYWdlcyA8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9InBhZ2VzIiBsYWJlbD0iUGFnZSIgYmxvY2s9InRlc3QxMCJ9PC9wPgo8cD48c3Ryb25nPmhyIChob3Jpem9udGFsIGxpbmUpPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJociIgbGFiZWw9Ik90aGVyIGJsb2NrcyJ9PC9wPgoKPGgzPkRvIHlvdSBsaWtlIG15IHdvcms/IDwvaDM+CjxwPjxhIGhyZWY9Imh0dHA6Ly9jbXNtYWRlc2ltcGxlLnNrL2RvbmF0ZS1jYXJkLz91dG1fc291cmNlPWNtc21hZGVzaW1wbGUmdXRtX21lZGl1bT1saW5rJnV0bV9jYW1wYWlnbj1oZWxwIiB0YXJnZXQ9Il9ibGFuayI+R2l2ZSBtZSBmaXZlIG9yIGZlZWwgZnJlZSB0byA8c3Ryb25nPmRvbmF0ZTwvc3Ryb25nPiBtZTwvYT48L3A+CgoKICAgCjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMjM8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgJnNjYXJvbjtwZWNpZmlrdWplLCBhayZ5YWN1dGU7IGphenlrIHNhIG0mYWFjdXRlOyBwb3XFvmnFpSBwcmUgem9icmF6ZW5pZS4gTmllIHYmc2Nhcm9uO2V0a3kgbW9kdWx5IHRvIHBvZHBvcnVqJnVhY3V0ZTssIGFsZWJvIHBvdHJlYnVqJnVhY3V0ZTsuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBaZGVubyBLdXptYW55ICh0d2l0dGVyLmNvbS9rdXptYW55KSAmbHQ7emRlbm9Aa3V6bWFueS5iaXomZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4zLjE8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT5WZXJzaW9uIDEuMy4xIC0gb2N0b2JlciAyMDEyIDxiciAvPiAKLSBhZGQgZmlsZV9zZWxlY3RvciA8YnIgLz4KLSBhZGQgcHJldmlldyBpbWFnZSBmb3IgZmlsZV9zZWxlY3RvciA8YnIgLz4KLSBhZGQgbXVsdGlwbGUgb3B0aW9uIGZvciBkcm9wZG93biA8YnIgLz4KLSBhZGQgc2VjdGlvbiB0byBhZG1pbiBhcmVhIDxiciAvPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjAgLSBub3ZlbWJlciAyMDExIC0gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[This module adds new content  blocks to your CMS Made Simple]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.23</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>/ECB.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBFeHRlbmRlZCBDb250ZW50IEJsb2NrcwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSAvIGt1em1hbnkuYml6ICAvIHR3aXR0ZXIuY29tL2t1em1hbnkKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmRlZmluZSgnVVNFX0VDQicsICdVc2UgRXh0ZW5kZWQgQ29udGVudCBCbG9ja3MnKTsKCmNsYXNzIEVDQiBleHRlbmRzIENHRXh0ZW5zaW9ucyB7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKSB7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAgICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgICAgIAogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdibG9ja19uYW1lJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndmFsdWUnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhZGRpbmcnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0ZmlsZXMnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdleGNsdWRlcHJlZml4JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVjdXJzZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpbGV0eXBlcycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpZWxkJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlyJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJldmlldycsIENMRUFOX1NUUklORyk7CiAgICAgICAgCiAgICB9CgogICAgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkgewogICAgICAgICR0aGlzLT5BZGRJbWFnZURpcignaWNvbnMnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgewogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkgewogICAgICAgIHJldHVybiAnRUNCJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7CiAgICAgICAgcmV0dXJuICcxLjMuMSc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsKICAgICAgICByZXR1cm4gJ1pkZW5vIEt1em1hbnkgKHR3aXR0ZXIuY29tL2t1em1hbnkpJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7CiAgICAgICAgcmV0dXJuICd6ZGVub0BrdXptYW55LmJpeic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsKICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgewogICAgICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIHsKICAgICAgICByZXR1cm4gKCR0aGlzLT5DaGVja0FjY2VzcygpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSBVU0VfRUNCKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHBlcm0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnID0+ICcxLjIzJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgewogICAgICAgIHJldHVybiAiMS4xMCI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwogICAgfQoKICAgIC8qKgogICAgICogQGxpbmsgaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZy9hcGlkb2MvQ01TL0NNU01vZHVsZS5odG1sI0hhc0NhcGFiaWxpdHkKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgICAgICBzd2l0Y2ggKCRjYXBhYmlsaXR5KSB7CiAgICAgICAgICAgIGNhc2UgJ2NvbnRlbnRibG9ja3MnOgogICAgICAgICAgICBjYXNlICdjb250ZW50X2F0dHJpYnV0ZXMnOgogICAgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgICAgfQogICAgfQoKICAgIC8vIGNvbnRlbnQgYmxvY2sKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRDb250ZW50QmxvY2tJbnB1dCgkYmxvY2tOYW1lLCAkdmFsdWUsICRwYXJhbXMsICRhZGRpbmcpIHsKICAgICAgICAkZWNiID0gbmV3IGVjYl90b29scygkYmxvY2tOYW1lLCAkdmFsdWUsICRwYXJhbXMsICRhZGRpbmcpOwogICAgICAgIHJldHVybiAkZWNiLT5nZXRfY29udGVudF9ibG9ja19pbnB1dCgpOwogICAgfQoKfQoKPz4K]]></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[PD9waHAKCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdFeHRlbmRlZCBDb250ZW50IEJsb2Nrcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0V4dGVuZGVkIENvbnRlbnQgQmxvY2tzIHdhcyBzdWNjZXNzZnVsIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRXh0ZW5kZWQgQ29udGVudCBCbG9ja3Mgd2FzIHN1Y2Nlc3NmdWwgdW5pbnN0YWxsZWQnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gQXJlIHlvdSBzdXJlCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFkZHMgbmV3IGNvbnRlbnQgIGJsb2NrcyB0byB5b3VyIENNUyBNYWRlIFNpbXBsZSc7CgoKJGxhbmdbJ3NlbGVjdGVkJ10gPSAnU2VsZWN0ZWQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0JzsKJGxhbmdbJ3JlZnJlc2gnXSA9ICdSZWZyZXNoJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMS4zLjEgLSBvY3RvYmVyIDIwMTIgPGJyIC8+IAotIGFkZCBmaWxlX3NlbGVjdG9yIDxiciAvPgotIGFkZCBwcmV2aWV3IGltYWdlIGZvciBmaWxlX3NlbGVjdG9yIDxiciAvPgotIGFkZCBtdWx0aXBsZSBvcHRpb24gZm9yIGRyb3Bkb3duIDxiciAvPgotIGFkZCBzZWN0aW9uIHRvIGFkbWluIGFyZWEgPGJyIC8+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMCAtIG5vdmVtYmVyIDIwMTEgLSBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD4nOwoKJGxhbmdbJ2hlbHAnXSA9ICcKCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5Nb2R1bGUgYWRkcyBjb250ZW50IGFkaXRpb25hbCBibG9ja3MgZm9yIENNUyBNYWRlIFNpbXBsZS48L3A+CjxoMz5GaWVsZHM8L2gzPgo8cD48c3Ryb25nPmZpbGVfc2VsZWN0b3I8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6ICB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJmaWxlX3NlbGVjdG9yIiBibG9jaz0idGVzdDEwIiBkaXI9ImltYWdlcyIgZmlsZXR5cGVzPSJqcGcsZ2lmLHBuZyIgZXhjbHVkZXByZWZpeD0idGh1bWJfIn0gICAgICAgIDwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CmZpbGV0eXBlcyAtIGNvbW1hIHNlcGFyYXRlZDxiciAvPiAKZGlyIChvcHRpb25hbCkgLSBkZWZhdWx0IHVwbG9hZHMvPGJyIC8+CmV4Y2x1ZGVwcmVmaXggKG9wdGlvbmFsKTxiciAvPgpyZWN1cnNlIChvcHRpb25hbCk8YnIgLz4Kc29ydGZpbGVzIChvcHRpb25hbCkKcHJldmlldyAob3B0aW9uYWwpIC0gb25seSBmb3IgaW1hZ2VzCjwvcD4KPHA+PHN0cm9uZz5jb2xvcl9waWNrZXI8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6ICB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJjb2xvcl9waWNrZXIiIGJsb2NrPSJ0ZXN0MSIgbGFiZWw9IkNvbG9yIiBkZWZhdWx0X3ZhbHVlPSIjMDAwMDAwIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCk8YnIgLz4Kc2l6ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCAxMAo8L3A+CjxwPjxzdHJvbmc+ZHJvcGRvd25fZnJvbV9tb2R1bGU8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImRyb3Bkb3duX2Zyb21fbW9kdWxlIiBibG9jaz0idGVzdDIiIGxhYmVsPSJHYWxsZXJ5IiAgbW9kPSJjbXNfbW9kdWxlIG1vZHVsZT1cJ0dhbGxlcnlcJyB0ZW1wbGF0ZT1cJ3NlbGVjdGJveFwnIiBmaXJzdF92YWx1ZT0iPXNlbGVjdD0ifTwvcD4KPHA+T3VwdXQgZm9yIG1vZHVsZSBtdXN0IGJlOiBsYWJlbD12YWx1ZShjb21tYSlsYWJlbD12YWx1ZS4gRXhhbXBsZTogQXBwbGU9YXBwbGUsT3JhbmdlPW9yYW5nZTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+Cm1vZCAocmVxdWlyZWQpIC0gbW9kdWxlL3BsdWdpbiB3aXRob3V0IHsgYW5kIH08YnIgLz4KZmlyc3RfdmFsdWUgKG9wdGlvbmFsKSA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIAo8L3A+CjxwPjxzdHJvbmc+ZHJvcGRvd248L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImRyb3Bkb3duIiBibG9jaz0idGVzdDUiIGxhYmVsPSJGcnVpdCIgIHZhbHVlcz0iQXBwbGU9YXBwbGUsT3JhbmdlPW9yYW5nZSIgZmlyc3RfdmFsdWU9InNlbGVjdCBmcnVpdCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KdmFsdWVzIChyZXF1aXJlZCkgLSBjb21tYSBzZXBhcmF0ZWQuIEV4YW1wbGU6IEFwcGxlPWFwcGxlLE9yYW5nZT1vcmFuZ2UsR3JlZW49Z3JlZW4gPGJyIC8+CmZpcnN0X3ZhbHVlIChvcHRpb25hbCk8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpPGJyIC8+Cm11bHRpcGxlIChvcHRpb25hbCkgLSBhZGQgbXVsdGlwbGUgb3B0aW9uIHNlbGVjdCBzdXBwb3J0PGJyIC8+CnNpemUgKG9wdGlvbmFsKSAtIG11bHRpcGxlIGVuYWJsZWQgb25seQo8L3A+CjxwPjxzdHJvbmc+Y2hlY2tib3g8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9ImNoZWNrYm94IiBibG9jaz0idGVzdDExIiBsYWJlbD0iQ2hlY2tib3giICBkZWZhdWx0X3ZhbHVlPSIxIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCkKPC9wPgo8cD48c3Ryb25nPm1vZHVsZV9saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJtb2R1bGVfbGluayIgbGFiZWw9Ik1vZHVsZSBlZGl0IiBibG9jaz0idGVzdDMiICBtb2Q9IkNhdGFsb2dlciIgdGV4dD0iRWRpdCBjYXRhbG9nIiB9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbW9kIChyZXF1aXJlZCkgPGJyIC8+CnRleHQgKHJlcXVpcmVkKSA8YnIgLz4KdGFyZ2V0IChvcHRpb25hbCkgLSBkZWZhdWx0IF9zZWxmCjwvcD4KPHA+PHN0cm9uZz5saW5rPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJsaW5rIiBsYWJlbD0iU2VhcmNoIiBibG9jaz0idGVzdDQiIHRhcmdldD0iX2JsYW5rIiBsaW5rPSJodHRwOi8vd3d3LmJpbmcuY29tIiB0ZXh0PSJiaW5nIHNlYXJjaCJ9PC9wPgo8cD5QYXJhbWV0ZXJzPC9wPgo8cD4KbGluayAocmVxdWlyZWQpIDxiciAvPgp0ZXh0IChyZXF1aXJlZCkgPGJyIC8+CnRhcmdldCAob3B0aW9uYWwpIC0gZGVmYXVsdCBfc2VsZgo8L3A+CjxwPjxzdHJvbmc+ZGF0ZXBpY2tlcjwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZGF0ZXBpY2tlciIgbGFiZWw9IkRhdGUiIGJsb2NrPSJ0ZXN0NDQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnNpemUgKG9wdGlvbmFsKSBkZWZhdWx0IDEwMDxiciAvPgptYXhfbGVuZ3RoIChvcHRpb25hbCkgZGVmYXVsdCAxMCA8YnIgLz4KPC9wPgo8cD48c3Ryb25nPmlucHV0PC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJpbnB1dCIgbGFiZWw9IlRleHQiIGJsb2NrPSJ0ZXN0NSIgc2l6ZT01NSBtYXhfbGVuZ3RoPTU1IGRlZmF1bHRfdmFsdWU9ImZpbGwgaXQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnNpemUgKG9wdGlvbmFsKSBkZWZhdWx0IDMwPGJyIC8+Cm1heF9sZW5ndGggKG9wdGlvbmFsKSBkZWZhdWx0IDI1NSA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCB2YWx1ZSBmb3IgaW5wdXQKPC9wPgo8cD48c3Ryb25nPnRleHRhcmVhPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJ0ZXh0YXJlYSIgbGFiZWw9IlRleHRhcmVhIiBibG9jaz0idGVzdDYiIHJvd3M9MTAgY29scz00MCBkZWZhdWx0X3ZhbHVlPSJmaWxsIGl0In08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgpyb3dzIChvcHRpb25hbCkgZGVmYXVsdCAyMDxiciAvPgpjb2xzIChvcHRpb25hbCkgZGVmYXVsdCA4MCA8YnIgLz4KZGVmYXVsdF92YWx1ZSAob3B0aW9uYWwpIC0gZGVmYXVsdCB2YWx1ZSBmb3IgdGV4dGFyZWEKPC9wPgo8cD48c3Ryb25nPmVkaXRvciAodGV4dGFyZWEgd2l0aCB3eXNpd3lnKTwvc3Ryb25nPjwvcD4KPHA+RXhhbXBsZToge2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0iRUNCIiBmaWVsZD0iZWRpdG9yIiBsYWJlbD0iVGV4dGFyZWEiIGJsb2NrPSJ0ZXN0NyIgcm93cz0xMCBjb2xzPTQwIGRlZmF1bHRfdmFsdWU9ImZpbGwgaXQifTwvcD4KPHA+UGFyYW1ldGVyczwvcD4KPHA+CnJvd3MgKG9wdGlvbmFsKSBkZWZhdWx0IDIwPGJyIC8+CmNvbHMgKG9wdGlvbmFsKSBkZWZhdWx0IDgwIDxiciAvPgpkZWZhdWx0X3ZhbHVlIChvcHRpb25hbCkgLSBkZWZhdWx0IHZhbHVlIGZvciB0ZXh0YXJlYQo8L3A+CjxwPjxzdHJvbmc+dGV4dCA8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9InRleHQiIGxhYmVsPSJUZXh0IiBibG9jaz0idGVzdDgiIHRleHQ9IkhlbGxvIHdvcmQhIn08L3A+CjxwPlBhcmFtZXRlcnM8L3A+CjxwPgp0ZXh0IChyZXF1aXJlZCkgdGV4dCBpbiBhZG1pbiAoYWRkIGluZm9ybWF0aW9uIGZvciB1c2VycywgUHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEpPGJyIC8+CjwvcD4KPHA+PHN0cm9uZz5wYWdlcyA8L3N0cm9uZz48L3A+CjxwPkV4YW1wbGU6IHtjb250ZW50X21vZHVsZSBtb2R1bGU9IkVDQiIgZmllbGQ9InBhZ2VzIiBsYWJlbD0iUGFnZSIgYmxvY2s9InRlc3QxMCJ9PC9wPgo8cD48c3Ryb25nPmhyIChob3Jpem9udGFsIGxpbmUpPC9zdHJvbmc+PC9wPgo8cD5FeGFtcGxlOiB7Y29udGVudF9tb2R1bGUgbW9kdWxlPSJFQ0IiIGZpZWxkPSJociIgbGFiZWw9Ik90aGVyIGJsb2NrcyJ9PC9wPgoKPGgzPkRvIHlvdSBsaWtlIG15IHdvcms/IDwvaDM+CjxwPjxhIGhyZWY9Imh0dHA6Ly9jbXNtYWRlc2ltcGxlLnNrL2RvbmF0ZS1jYXJkLz91dG1fc291cmNlPWNtc21hZGVzaW1wbGUmdXRtX21lZGl1bT1saW5rJnV0bV9jYW1wYWlnbj1oZWxwIiB0YXJnZXQ9Il9ibGFuayI+R2l2ZSBtZSBmaXZlIG9yIGZlZWwgZnJlZSB0byA8c3Ryb25nPmRvbmF0ZTwvc3Ryb25nPiBtZTwvYT48L3A+CgoKICAgCic7Cj8+Cg==]]></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+Z2V0X2RhdGVwaWNrZXJfbGliKCk7CiAgICAgICAgJHRtcCAuPSAnPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJkYXRlcGlja2VyIiAgbmFtZT0iJXMiIHNpemU9IiVkIiBtYXhsZW5ndGg9IiVkIiB2YWx1ZT0iJXMiLz48L2Rpdj4nOwogICAgICAgIHJldHVybiBzcHJpbnRmKCR0bXAsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdLCAkdGhpcy0+b3B0aW9uc1sibWF4X2xlbmd0aCJdLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2RhdGVwaWNrZXJfbGliKCkgewogICAgICAgIGlmICgkdGhpcy0+aXNfZGF0ZXBpY2tlcl9saWJfbG9hZCkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICR0bXAgPSAiCiAgICAgICAgIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiLi4vbGliL2pxdWVyeS9jc3Mvc21vb3RobmVzcy9qcXVlcnktdWktMS44LjEyLmN1c3RvbS5jc3NcIiBtZWRpYT1cInNjcmVlblwiIC8+IAogICAgICAgIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPgoJCSQoZnVuY3Rpb24oKSB7CgkJCSQoJy5kYXRlcGlja2VyJykuZGF0ZXBpY2tlcih7CgkJCQlkYXRlRm9ybWF0OiAneXktbW0tZGQnLAoJCQkJc2hvd090aGVyTW9udGhzOiB0cnVlLAoJCQkJc2VsZWN0T3RoZXJNb250aHM6IHRydWUKCQkJfSk7CgoJCX0pOwo8L3NjcmlwdD4iOwogICAgICAgICR0aGlzLT5pc19kYXRlcGlja2VyX2xpYl9sb2FkID0gdHJ1ZTsKICAgICAgICByZXR1cm4gJHRtcDsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfY29sb3JfcGlja2VyKCkgewoKICAgICAgICAkdHh0ID0gJyc7CiAgICAgICAgJGZpcnN0ID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fKTsKICAgICAgICBpZiAoISRmaXJzdCkKICAgICAgICAgICAgJHR4dC49ICc8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBmaWVsZD0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9tZXRhMTAwLmdpdGh1Yi5jb20vbUNvbG9yUGlja2VyL2phdmFzY3JpcHRzL21Db2xvclBpY2tlcl9taW4uanMiPjwvc2NyaXB0Pic7CgogICAgICAgICR0bXAgPSAnPGlucHV0ICB0eXBlPSJjb2xvciIgZGF0YS1oZXg9InRydWUiIG5hbWU9IiVzIiBpZD0iJXMiIHNpemU9IicgLiAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdIC4gJyIgdmFsdWU9IiVzIi8+JzsKICAgICAgICAkdHh0IC49IHNwcmludGYoJHRtcCwgJHRoaXMtPmJsb2NrX25hbWUsICR0aGlzLT5hbGlhcywgJHRoaXMtPnZhbHVlKTsKCiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fLCAxKTsKCiAgICAgICAgcmV0dXJuICR0eHQ7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2NoZWNrYm94KCkgewoKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdFQ0InKTsKICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJycsICR0aGlzLT5ibG9ja19uYW1lLCAwKSAuICRtb2QtPkNyZWF0ZUlucHV0Q2hlY2tib3goJycsICR0aGlzLT5ibG9ja19uYW1lLCAxLCAkdGhpcy0+dmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9maWxlX3NlbGVjdG9yKCkgewoKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdFQ0InKTsKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgLy8gMS4gIEdldCB0aGUgZGlyZWN0b3J5IGNvbnRlbnRzCiAgICAgICAgJGFkZGRpciA9IGdldF9zaXRlX3ByZWZlcmVuY2UoJ2NvbnRlbnRpbWFnZV9wYXRoJyk7CiAgICAgICAgaWYgKCR0aGlzLT5vcHRpb25zWydkaXInXSkKICAgICAgICAgICAgJGFkZGRpciA9ICR0aGlzLT5vcHRpb25zWydkaXInXTsKCgogICAgICAgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkYWRkZGlyKTsKICAgICAgICAkZmlsZXR5cGVzID0gJHRoaXMtPm9wdGlvbnNbJ2ZpbGV0eXBlcyddOwogICAgICAgIGlmICgkZmlsZXR5cGVzICE9ICcnKSB7CiAgICAgICAgICAgICRmaWxldHlwZXMgPSBleHBsb2RlKCcsJywgJGZpbGV0eXBlcyk7CiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRmaWxldHlwZXMpOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAkZmlsZXR5cGVzWyRpXSA9ICcqLicgLiAkZmlsZXR5cGVzWyRpXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkZXhjbHVkZXMgPSAkdGhpcy0+b3B0aW9uc1snZXhjbHVkZXByZWZpeCddOwogICAgICAgIGlmICgkZXhjbHVkZXMgIT0gJycpIHsKICAgICAgICAgICAgJGV4Y2x1ZGVzID0gZXhwbG9kZSgnLCcsICRleGNsdWRlcyk7CiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRleGNsdWRlcyk7ICRpKyspIHsKICAgICAgICAgICAgICAgICRleGNsdWRlc1skaV0gPSAkZXhjbHVkZXNbJGldIC4gJyonOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRmbCA9IGNnZV9kaXI6OnJlY3Vyc2l2ZV9nbG9iKCRkaXIsICRmaWxldHlwZXMsICdGSUxFUycsICRleGNsdWRlcywgJHRoaXMtPm9wdGlvbnNbJ3JlY3Vyc2UnXSk7CgogICAgICAgIC8vIDIuICBSZW1vdmUgcHJlZml4CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGZsKTsgJGkrKykgewogICAgICAgICAgICAkZmxbJGldID0gc3RyX3JlcGxhY2UoJGRpciwgJycsICRmbFskaV0pOwogICAgICAgIH0KCiAgICAgICAgLy8gMi4gIFNvcnQKICAgICAgICBpZiAoaXNfYXJyYXkoJGZsKSAmJiAkdGhpcy0+b3B0aW9uc1snc29ydGZpbGVzJ10pIHsKICAgICAgICAgICAgc29ydCgkZmwpOwogICAgICAgIH0KCiAgICAgICAgJG9wdHMgPSBhcnJheSgpOwogICAgICAgICR1cmxfcHJlZml4ID0gJGFkZGRpcjsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkZmwpOyAkaSsrKSB7CiAgICAgICAgICAgICRvcHRzWyRmbFskaV1dID0gJHVybF9wcmVmaXggLiAkZmxbJGldOwogICAgICAgIH0KICAgICAgICAkb3B0cyA9IGFycmF5KCcnID0+ICcnKSArICRvcHRzOwoKICAgICAgICAkZGVmYXVsdF9jb250ZW50X2lkID0gQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5HZXREZWZhdWx0Q29udGVudCgpOwogICAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICAgJHBhcm1zID0gJHRoaXMtPm9wdGlvbnM7CiAgICAgICAgJHBhcm1zWydmaWVsZCddID0gJ2ZpbGVfc2VsZWN0b3InOwogICAgICAgICRwYXJtc1snYmxvY2tfbmFtZSddID0gJHRoaXMtPmJsb2NrX25hbWU7CiAgICAgICAgJHBhcm1zWyd2YWx1ZSddID0gJHRoaXMtPnZhbHVlOwogICAgICAgICRwYXJtc1snYWRkaW5nJ10gPSAkdGhpcy0+YWRkaW5nOwogICAgICAgICRwYXJtc1snc2hvd3RlbXBsYXRlJ10gPSAnZmFsc2UnOwogICAgICAgICRyZWZyZXNoX3VybCA9ICRtb2QtPkNyZWF0ZWxpbmsoJ2NudG50MDEnLCAncmVmcmVzaCcsICRkZWZhdWx0X2NvbnRlbnRfaWQsICcnLCAkcGFybXMsICcnLCB0cnVlKTsKICAgICAgICAkcmVmcmVzaCA9ICc8YSBocmVmPSInIC4gJHJlZnJlc2hfdXJsIC4gJyZzaG93dGVtcGxhdGU9ZmFsc2UiIGNsYXNzPSJmaWxlX3NlbGVjdG9yX3JlZnJlc2giPgo8aW1nIHNyYz0iLi4vbW9kdWxlcy8nIC4gJG1vZC0+R2V0TmFtZSgpIC4gJy9pY29ucy9hamF4LXJlZnJlc2gtaWNvbi5naWYiIGFsdD0iJyAuICRtb2QtPkxhbmcoJ3JlZnJlc2gnKSAuICciPiAgICAgICAgICAgIAo8L2E+JzsKCiAgICAgICAgJHNjcmlwdCA9ICcnOwogICAgICAgIGlmICghY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fKSkgewogICAgICAgICAgICAkc2NyaXB0ID0gIgogICAgICAgICAgICAgICAgPHNjcmlwdD4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKJCgnLmZpbGVfc2VsZWN0b3JfcmVmcmVzaCcpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24oKXsKIHZhciB1cmwgPSAkKHRoaXMpLmF0dHIoJ2hyZWYnKTsKICQodGhpcykucHJldigpLmNzcygnb3BhY2l0eScsMC4zKTsKICQodGhpcykucGFyZW50KCkucGFyZW50KCkubG9hZCh1cmwsICcnLCBmdW5jdGlvbihodG1sKXsgICAgICAgICAgICAKfSk7CnJldHVybiBmYWxzZTsKfSkKCiQoJy5maWxlX3NlbGVjdG9yX3NlbGVjdCBzZWxlY3QnKS5jaGFuZ2UoZnVuY3Rpb24oKXsKdmFyIGltZ3RhZyA9ICQodGhpcykucGFyZW50KCkubmV4dCgpOwppbWd0YWcuYXR0cignc3JjJywgaW1ndGFnLmRhdGEoJ3VwbG9hZHN1cmwnKSsnLycrJCh0aGlzKS52YWwoKSk7Cn0pCn0pICAgICAgICAgICAgICAKPC9zY3JpcHQ+CiI7CgogICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YShfX0ZVTkNUSU9OX18sIDEpOwogICAgICAgIH0KCiAgICAgICAgJHByZXZpZXcgPSAnJzsKICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ3ByZXZpZXcnXSkgewogICAgICAgICAgICBpZiAoJHRoaXMtPnZhbHVlKQogICAgICAgICAgICAgICAgJHByZXZpZXcgPSAnPGltZyBzdHlsZSJtYXgtd2lkdGg6MjAwcHg7IiBjbGFzcz0iZmlsZV9zZWxlY3Rvcl9wcmV2aWV3IiBkYXRhLXVwbG9hZHN1cmw9IicgLiAkY29uZmlnWyJ1cGxvYWRzX3VybCJdIC4gJyIgICBzcmM9IicgLiAkY29uZmlnWyJ1cGxvYWRzX3VybCJdIC4gJy8nIC4gJHRoaXMtPnZhbHVlIC4gJyIgYWx0PSIiPic7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICRwcmV2aWV3ID0gJzxpbWcgc3R5bGUibWF4LXdpZHRoOjIwMHB4OyIgY2xhc3M9ImZpbGVfc2VsZWN0b3JfcHJldmlldyIgYWx0PSIiIGRhdGEtdXBsb2Fkc3VybD0iJyAuICRjb25maWdbInVwbG9hZHNfdXJsIl0gLiAnIj4nOwogICAgICAgIH0KCgoKCiAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJmaWxlX3NlbGVjdG9yX3NlbGVjdCI+JyAuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkb3B0cywgLTEsICR0aGlzLT52YWx1ZSkgLiAkcmVmcmVzaCAuICRzY3JpcHQgLiAnPC9kaXY+JyAuICRwcmV2aWV3OwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF90ZXh0KCkgewoKICAgICAgICBpZiAoISR0aGlzLT5vcHRpb25zWyJ0ZXh0Il0pCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICByZXR1cm4gJHRoaXMtPm9wdGlvbnNbInRleHQiXTsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfaHIoKSB7CiAgICAgICAgcmV0dXJuICc8aHIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IGJvcmRlcjowIG5vbmU7IGJhY2tncm91bmQ6I2NjYzsiIC8+JzsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfbGluaygpIHsKCiAgICAgICAgaWYgKCEkdGhpcy0+b3B0aW9uc1sibGluayJdIHx8ICEkdGhpcy0+b3B0aW9uc1sidGV4dCJdKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0VDQicpOwogICAgICAgIHJldHVybiAnPGEgdGFyZ2V0PSInIC4gJHRoaXMtPm9wdGlvbnNbInRhcmdldCJdIC4gJyIgaHJlZj0iJyAuICR0aGlzLT5vcHRpb25zWyJsaW5rIl0gLiAnIj4nIC4gJHRoaXMtPm9wdGlvbnNbInRleHQiXSAuICc8L2E+JzsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyAKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfbW9kdWxlX2xpbmsoKSB7CiAgICAgICAgaWYgKCEkdGhpcy0+b3B0aW9uc1sibW9kIl0gfHwgISR0aGlzLT5vcHRpb25zWyJ0ZXh0Il0pCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+b3B0aW9uc1sibW9kIl0pOwogICAgICAgIHJldHVybiAkbW9kLT5DcmVhdGVMaW5rKCcnLCAnZGVmYXVsdGFkbWluJywgJycsICR0aGlzLT5vcHRpb25zWyJ0ZXh0Il0sIGFycmF5KCksICcnLCBmYWxzZSwgMCwgJ3RhcmdldD0iJyAuICR0aGlzLT5vcHRpb25zWyJ0YXJnZXQiXSAuICciJyk7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2Ryb3Bkb3duX2Zyb21fbW9kdWxlKCkgewogICAgICAgIGlmICghJHRoaXMtPm9wdGlvbnNbIm1vZCJdKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0VDQicpOwogICAgICAgICRkYXRhID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJ3snIC4gJHRoaXMtPm9wdGlvbnNbIm1vZCJdIC4gJ30nKTsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICRvcHRpb25zYXJyYXkgPSBleHBsb2RlKCcsJywgJGRhdGEpOwogICAgICAgIGlmIChlbXB0eSgkb3B0aW9uc2FycmF5KSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkb3B0aW9uc2FycmF5IGFzICRvcHRpb24pIHsKICAgICAgICAgICAgJGtleV92YWwgPSBleHBsb2RlKCc9JywgJG9wdGlvbik7CiAgICAgICAgICAgICRvcHRpb25zWyRrZXlfdmFsWzBdXSA9ICRrZXlfdmFsWzFdOwogICAgICAgIH0KICAgICAgICBpZiAoZW1wdHkoJHRoaXMtPm9wdGlvbnNbJ2RlZmF1bHRfdmFsdWUnXSkgPT0gZmFsc2UpCiAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoJHRoaXMtPm9wdGlvbnNbJ2RlZmF1bHRfdmFsdWUnXSA9PiAnJykgKyAkb3B0aW9uczsKCiAgICAgICAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkb3B0aW9ucywgLTEsICR0aGlzLT52YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2Ryb3Bkb3duKCkgewogICAgICAgIGlmICghJHRoaXMtPm9wdGlvbnNbInZhbHVlcyJdKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRUNCJyk7CgogICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgICAkb3B0aW9uc2FycmF5ID0gZXhwbG9kZSgnLCcsICR0aGlzLT5vcHRpb25zWyJ2YWx1ZXMiXSk7CgogICAgICAgIGlmIChlbXB0eSgkb3B0aW9uc2FycmF5KSkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIGZvcmVhY2ggKCRvcHRpb25zYXJyYXkgYXMgJG9wdGlvbikgewogICAgICAgICAgICAka2V5X3ZhbCA9IGV4cGxvZGUoJz0nLCAkb3B0aW9uKTsKICAgICAgICAgICAgJG9wdGlvbnNbJGtleV92YWxbMF1dID0gJGtleV92YWxbMV07CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkdGhpcy0+b3B0aW9uc1snZmlyc3RfdmFsdWUnXSkgPT0gZmFsc2UpCiAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoJHRoaXMtPm9wdGlvbnNbJ2ZpcnN0X3ZhbHVlJ10gPT4gJycpICsgJG9wdGlvbnM7CgogICAgICAgIGlmICgkdGhpcy0+b3B0aW9uc1snbXVsdGlwbGUnXSkgewogICAgICAgICAgICAkc2VsZWN0ZWRpdGVtcyA9IGV4cGxvZGUoJywnLCAkdGhpcy0+dmFsdWUpOwogICAgICAgICAgICAkc2NyaXB0ID0gJyc7CiAgICAgICAgICAgIGlmICghY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoX19GVU5DVElPTl9fKSkgewogICAgICAgICAgICAgICAgJHNjcmlwdCA9ICIKICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiQoJy5lY2JfbXV0bGlwbGVfc2VsZWN0IHNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpewokKHRoaXMpLnByZXYoKS52YWwoKCQodGhpcykudmFsKCkuam9pbignLCcpKSk7IAp9KSAgICAgICAgICAgICAgCn0pICAgICAgICAgICAgICAKPC9zY3JpcHQ+CiI7CiAgICAgICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YShfX0ZVTkNUSU9OX18sIDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHNjcmlwdCAuICc8ZGl2IGNsYXNzPSJlY2JfbXV0bGlwbGVfc2VsZWN0Ij4nIC4gJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+dmFsdWUpIC4gJG1vZC0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCcnLCAkdGhpcy0+YmxvY2tfbmFtZSAuICdfdG1wJywgJG9wdGlvbnMsICRzZWxlY3RlZGl0ZW1zLCAkdGhpcy0+b3B0aW9uc1sic2l6ZSJdKSAuICc8L2Rpdj4nOwogICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bignJywgJHRoaXMtPmJsb2NrX25hbWUsICRvcHRpb25zLCAtMSwgJHRoaXMtPnZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X21vZHVsZSgpIHsKCiAgICAgICAgJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKICAgICAgICAkbW9kdWxlcyA9ICRtb2RvcHMtPkdldEluc3RhbGxlZE1vZHVsZXMoKTsKICAgICAgICAkbW9kdWxlc2FycmF5ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7CiAgICAgICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZSk7CiAgICAgICAgICAgIGlmIChpc19vYmplY3QoJG1vZCkpCiAgICAgICAgICAgICAgICAkbW9kdWxlc2FycmF5WyRtb2QtPkdldE5hbWUoKV0gPSAkbW9kdWxlOwogICAgICAgIH0KCiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRUNCJyk7CiAgICAgICAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkbW9kdWxlc2FycmF5LCAtMSwgJHRoaXMtPnZhbHVlKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9leHRyYV9vcHRpb25zKGFycmF5ICRwYXJhbXMpIHsKCiAgICAgICAgaWYgKCFpc1NldCgkcGFyYW1zWyJmaWVsZCJdKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgJGRlZmF1bHRfb3B0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCRwYXJhbXNbImZpZWxkIl0pKSB7CiAgICAgICAgICAgIGNhc2UgImNvbG9yX3BpY2tlciI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJzaXplIl0gPSAxMDsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA9ICcnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgIm1vZHVsZV9saW5rIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbIm1vZCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJ0ZXh0Il0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInRhcmdldCJdID0gJ19zZWxmJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJsaW5rIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInRleHQiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sidGFyZ2V0Il0gPSAnX3NlbGYnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sibGluayJdID0gJyc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAibW9kdWxlIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sidGV4dCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJsaW5rIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJkcm9wZG93bl9mcm9tX21vZHVsZSI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJtb2QiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1siZGVmYXVsdF92YWx1ZSJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJmaXJzdF92YWx1ZSJdID0gJyc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAiZmlsZV9zZWxlY3RvciI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJmaWxldHlwZXMiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1siZXhjbHVkZXByZWZpeCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJyZWN1cnNlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInNvcnRmaWxlcyJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkaXIiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sicHJldmlldyJdID0gJyc7CiAgICAgICAgICAgIGNhc2UgImRyb3Bkb3duIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInNpemUiXSA9IDU7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJtdWx0aXBsZSJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJ2YWx1ZXMiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1siZGVmYXVsdF92YWx1ZSJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJmaXJzdF92YWx1ZSJdID0gJyc7CiAgICAgICAgICAgIGNhc2UgInRleHRhcmVhIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sicm93cyJdID0gMjA7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJjb2xzIl0gPSA4MDsKICAgICAgICAgICAgY2FzZSAiZWRpdG9yIjoKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbImRlZmF1bHRfdmFsdWUiXSA9ICcnOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sicm93cyJdID0gMjA7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJjb2xzIl0gPSA4MDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJpbnB1dCI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbInNpemUiXSA9IDMwOwogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sibWF4X2xlbmd0aCJdID0gMjU1OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgInRleHQiOgogICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1sidGV4dCJdID0gJyc7CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJleGVjdXRlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJwYWdlcyI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJjaGVja2JveCI6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJkZWZhdWx0X3ZhbHVlIl0gPSAnJzsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAiaHIiOgogICAgICAgICAgICBjYXNlICJpbWFnZV9waWNrZXIiOgoKICAgICAgICAgICAgY2FzZSAnZGF0ZXBpY2tlcic6CiAgICAgICAgICAgICAgICAkZGVmYXVsdF9vcHRpb25zWyJzaXplIl0gPSAxMDsKICAgICAgICAgICAgICAgICRkZWZhdWx0X29wdGlvbnNbIm1heF9sZW5ndGgiXSA9IDEwOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+ZmllbGQgPSAkcGFyYW1zWyJmaWVsZCJdOwoKICAgICAgICBpZiAoZW1wdHkoJHBhcmFtcykgPT0gZmFsc2UpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5ID0+ICRwYXJhbSkgewogICAgICAgICAgICAgICAgaWYgKGlzU2V0KCRkZWZhdWx0X29wdGlvbnNbJGtleV0pICYmIGVtcHR5KCRwYXJhbSkgPT0gZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRfb3B0aW9uc1ska2V5XSA9ICRwYXJhbTsKICAgICAgICAgICAgfQogICAgICAgIH0KCgogICAgICAgICR0aGlzLT5vcHRpb25zID0gJGRlZmF1bHRfb3B0aW9uczsKICAgIH0KCn0KCj8+Cg==]]></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>
