<?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>Twitter</name>
	<version>1.10</version>
  <mincmsversion>1.5.0</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Db25maWd1cmUgeW91ciBUd2l0dGVyIGNyZWRlbnRpYWxzIGluIHRoZSBiYWNrZW5kLiBVc2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJUd2l0dGVyIn0gaW4geW91ciBwYWdlcy90ZW1wbGF0ZXMuPC9wPgo8cD5Zb3UgY2FuIGFsc28gc2hvdyBUd2l0dGVyIHNlYXJjaCByZXN1bHRzIHVzaW5nIHtjbXNfbW9kdWxlIG1vZHVsZT0iVHdpdHRlciIgYWN0aW9uPSJzZWFyY2giIHF1ZXJ5PSJ5b3VyIHNlYXJjaCAjdGVybXMifS48L3A+CjxoMz5FeGFtcGxlIG9mIHRpbWVsaW5lPC9oMz4KPHA+VG8gY3JlYXRlIGEgdGVtcGxhdGUsIHlvdSBjYW4gZmlyc3QgbG9vcCBvbiB7JHRpbWVsaW5lfS4gVGhlbiwgSSBhZHZpc2UgeW91IHRvIHVzZSB0aGUgeyR0aW1lbGluZXx2YXJfZHVtcH0gZnVuY3Rpb24gdG8ga25vdyB3aGF0IGFyZSB0aGUgb3B0aW9ucyB5b3UgY2FuIHVzZS48L3A+CjxwPllvdSBjYW4gYWxzbyBjbGljayBvbiB0aGUgIlJlc3RvcmUiIGJ1dHRvbiB3aG8nbGwgZ2l2ZSB5b3UgYSBiYXNpYyB0ZW1wbGF0ZS48L3A+CjxwPkV4YW1wbGUgOjwvcD4KPHByZT4Ke2ZvcmVhY2ggZnJvbT0kdGltZWxpbmUgaXRlbT10d2VldH0gIAogICAgJmx0O2RpdiBpZD0ic3RhdHVzX3skdHdlZXQtJmd0O2lkfSIgc3R5bGU9ImJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgZ3JheTsiJmd0OwogICAgICAmbHQ7ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyAiJmd0OyZsdDtpbWcgc3JjPSJ7JHR3ZWV0LSZndDtwaWN0dXJlfSIgYWx0PSJ7JHR3ZWV0LSZndDthdXRob3JfbmFtZX0iIC8mZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7eyR0d2VldC0mZ3Q7YXV0aG9yX25hbWV9Jmx0Oy9zdHJvbmcmZ3Q7IAogICAgICB7JHR3ZWV0LSZndDtnZXRUZXh0KCl9Jmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDt7JHR3ZWV0LSZndDtnZXRXaGVuKCl9IGZyb20geyR0d2VldC0mZ3Q7c291cmNlfSZsdDsvcCZndDsKICAgICAgJmx0O2RpdiBzdHlsZT0iY2xlYXI6IHJpZ2h0IiZndDsmbHQ7L2RpdiZndDsgIAogICAgJmx0Oy9kaXYmZ3Q7ICAKey9mb3JlYWNofQo8L3ByZT4KPGg0PlR3ZWV0IGJ1dHRvbjwvaDQ+CjxwPlRvIGluc2VydCB0aGUgVHdlZXQgYnV0dG9uIGluIHlvdXIgYXJ0aWNsZXMgb3IgcGFnZXMsIGp1c3QgdXNlIHtUd2l0dGVyIGFjdGlvbj0idHdlZXQifS4gWW91IGNhbiBhbHNvIGFkZCB0aGUgcGFyYW0gInZpYSIgd2l0aCBhIGRlc2lyZWQgVHdpdHRlciBzY3JlZW5uYW1lLjwvcD4KPGg0PkludGVncmF0ZSBUd2l0dGVyIGluIHlvdXIgb3duIG1vZHVsZXM8L2g0Pgo8cD5Zb3UgY2FuIGdldCBhIHNtYWxsIFR3aXR0ZXIgaWNvbiBhbmQgbGluayB1c2luZyB0aGUgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJ1R3aXR0ZXInXVsnb2JqZWN0J10tPmNyZWF0ZVNlbmRMaW5rKCRpZCwkcmV0dXJuaWQsYXJyYXkoJ3N0YXR1cycgPT4gJHN0YXR1cykpOzwvcD4KPHA+WW91IGNhbiBhbHNvIGNhbGwgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1snVHdpdHRlciddWydvYmplY3QnXS0+dXBkYXRlU3RhdHVzKHN0cmluZyAkbWVzc2FnZSwgYm9vbGVhbiAkc2hvcnRlbikgKHdpdGggYSAxNDAgbWF4IG1lc3NhZ2UuKSB0byBzZW5kIG1lc3NhZ2UgdG8gVHdpdHRlci48L3A+CjxwPllvdSBjYW4gYWxzbyB1c2UgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1snVHdpdHRlciddWydvYmplY3QnXS0+c2hvcnRlblVybHMoJG1lc3NhZ2UpIHRvIG9ubHkgc2hvcnRlbiB0aGUgdXJscyBjb250YWluZWQgaW50byB0aGUgbWVzc2FnZS48L3A+CjxwPgo8aDM+V2hhdCBQYXJhbWV0ZXJzIERvZXMgSXQgVGFrZTwvaDM+CjxwPgo8dWw+CiAgPGxpPjxiPmxpbWl0PC9iPiAtIElmIHlvdSBzZXQgdGhhdCwgaXQgd2lsbCBsaW1pdCB0aGUgbnVtYmVyIG9mIGxhdGVzdCB0d2l0dGVyIHVwZGF0ZXMgdG8gdGhpcyB2YWx1ZS48L2xpPgogIDxsaT48Yj50ZW1wbGF0ZTwvYj4gLSBTZWxlY3QgYSBjdXN0b20gdGVtcGxhdGUgc2V0IGluIHRoZSBhZG1pbiBwYW5uZWwuPC9saT4KICA8bGk+PGI+dXNlcl9pZDwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgaWQ8L2xpPgogIDxsaT48Yj5zY3JlZW5fbmFtZTwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgc2NyZWVuIG5hbWU8L2xpPgoJPGxpPjxiPmZyaWVuZHM8L2I+IC0gUHVibGlzaCBmcmllbmRzIHRpbWVsaW5lPC9saT4KIDwvdWw+CiA8L3A+CjxoMz5Ud2l0dGVyIHRvdGFsczwvaDM+CjxwPklmIHlvdSB3YW50IHRvIGhhdmUgVHdpdHRlciB0b3RhbHMgeW91IGNhbiBjYWxsIHRoZSBhY3Rpb24gImdldF90b3RhbHMiICh7VHdpdHRlciBhY3Rpb249ImdldF90b3RhbHMifSkgd2hvIGdlbmVyYXRlIGEgc21hcnR5IHZhciAkdHdpdHRlcl90b3RhbHMgd2hpY2ggY29udGVudCBpbmZvcm1hdGlvbiBsaWtlIG51bWJlciBvZiBmb2xsb3dlcnMsIG51bWJlciBvZiB0d2l0dGVyIG1lc3NhZ2VzLCBldGMuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDksIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8YSBocmVmPSJtYWlsdG86amNjQG1vcnJpcy1jaGFwbWFuLmNvbSI+Jmx0O2pjY0Btb3JyaXMtY2hhcG1hbi5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TRm9ybXMgPSZndDsgMC4wLjI8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2pjY0Btb3JyaXMtY2hhcG1hbi5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4xMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMC4wLjEgLSAyOSBKdW5lIDIwMDkuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAxLjAuMCAtIDMwIEp1bmUgMjAxMC4gSW1wbGVtZW50YXRpb24gb2YgT0F1dGguPC9saT4gCjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[This module allow you to manage your Twitter from CMSMS.]]></description>
	<requires>
	  <requiredname>CMSForms</requiredname>
	  <requiredversion>0.0.2</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgVHdpdHRlciAiZGVmYXVsdCIgYWN0aW9uCgogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCgkkdG9rZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2F1dGhfdG9rZW4nKTsKICAKCWlmKGlzc2V0KCRwYXJhbXNbJ2ZyaWVuZHMnXSkpCgl7CQkKCSAgJHB1YmxpY190aW1lbGluZSA9ICR0aGlzLT5nZXRUaW1lbGluZSgnZnJpZW5kcycsICRwYXJhbXMpOwoJfQoJZWxzZWlmKGlzc2V0KCRwYXJhbXNbJ3B1YmxpYyddKSkKCXsKCQkkcHVibGljX3RpbWVsaW5lID0gJHRoaXMtPmdldFRpbWVsaW5lKCdwdWJsaWMnLCAkcGFyYW1zKTsKCX0KCWVsc2UKCXsJCQoJICAkcHVibGljX3RpbWVsaW5lID0gJHRoaXMtPmdldFRpbWVsaW5lKCd1c2VyJywgJHBhcmFtcyk7Cgl9CgogICR0aW1lbGluZSA9IFR3ZWV0OjpwYXJzZVRpbWVsaW5lRnJvbUpzb24oJHB1YmxpY190aW1lbGluZSk7CiAgCiAgZGVidWdfYnVmZmVyKCdUaW1lbGluZTogJyAuICR0aW1lbGluZSk7CiAgCiAgaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbWl0J10pKQogIHsKICAJJHRpbWVsaW5lID0gYXJyYXlfc2xpY2UoJHRpbWVsaW5lLCAwLCAkcGFyYW1zWydsaW1pdCddKTsKICB9CiAgCiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZScsICR0aW1lbGluZSk7CiAgCiAgaWYgKCFpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSB8fCAhJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQogIHsKICAgIC8vICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZGVmYXVsdCcpOwogICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGltZWxpbmUudHBsJyk7CiAgfQogIGVsc2UgCiAgewogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwogIH0gCg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKLyogLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KCiAgIENvZGUgZm9yIFR3aXR0ZXIgImRlZmF1bHRhZG1pbiIgYWRtaW4gYWN0aW9uCiAgIAogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCgplY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Vuc2lnbicsICRyZXR1cm5pZCwgJ1Vuc2lnbicpOwoKaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpKQp7CgllY2hvICR0aGlzLT5sYW5nKCdyZXF1aXJlX2N1cmwnKTsKCXJldHVybjsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJfaGVhZGVycycsJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpLgoJJHRoaXMtPlNldFRhYkhlYWRlcigndHdpdHRlcicsJHRoaXMtPkxhbmcoJ3RpdGxlX3R3aXR0ZXInKSkuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCd0ZW1wbGF0ZXMnLCR0aGlzLT5MYW5nKCd0aXRsZV90ZW1wbGF0ZXMnKSkuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCdvcHRpb25zJywkdGhpcy0+TGFuZygndGl0bGVfb3B0aW9ucycpKS4KCSR0aGlzLT5FbmRUYWJIZWFkZXJzKCkuJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiJywkdGhpcy0+RW5kVGFiKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYl9mb290ZXJzJywkdGhpcy0+RW5kVGFiQ29udGVudCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF90d2l0dGVyX3RhYicsJHRoaXMtPlN0YXJ0VGFiKCd0d2l0dGVyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RlbXBsYXRlc190YWInLCR0aGlzLT5TdGFydFRhYigndGVtcGxhdGVzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X29wdGlvbnNfdGFiJywkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbnMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfc2VjdGlvbicsJ2RlZmF1bHRhZG1pbicpOwoKLy8gVHdpdHRlciBPQXV0aAokdHdpdHRlck9iaiA9ICR0aGlzLT5nZXRUd2l0dGVyT2JqKCk7CgokdG9rZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2F1dGhfdG9rZW4nKTsKCmlmICghZW1wdHkoJHRva2VuKSkKewoJCSR0d2l0dGVySW5mbyA9ICR0d2l0dGVyT2JqLT5nZXRfYWNjb3VudFZlcmlmeV9jcmVkZW50aWFscygpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndHdpdHRlcl9hY2NvdW50JywgJHR3aXR0ZXJJbmZvKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfd2VsY29tZScsICR0aGlzLT5sYW5nKCd0d2l0dGVyX3dlbGNvbWUnLCAkdHdpdHRlckluZm8tPnNjcmVlbl9uYW1lKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9maWxlX3BpY3R1cmUnLCAkdHdpdHRlckluZm8tPnByb2ZpbGVfaW1hZ2VfdXJsKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Vuc2lnbicsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Vuc2lnbicsICRyZXR1cm5pZCwgJHRoaXMtPmxhbmcoJ3Vuc2lnbl90d2l0dGVyJykpKTsKfQplbHNlCnsKCQkJdHJ5eyAgCgkJCQkkb2F1dGhfdXJsID0gJHR3aXR0ZXJPYmotPmdldEF1dGhvcml6ZVVybChudWxsLCBhcnJheSgnb2F1dGhfY2FsbGJhY2snID0+IAlodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnb2F1dGgnLCAnJywgJycsIGFycmF5KCksICcnLCB0cnVlKSkpKTsKCQkJfWNhdGNoKEVwaVR3aXR0ZXJFeGNlcHRpb24gJGUpeyAgCgkJCQllY2hvICdXZSBjYXVnaHQgYW4gRXBpT0F1dGhFeGNlcHRpb24nOyAgCgkJCQllY2hvICRlLT5nZXRNZXNzYWdlKCk7ICAKCQkJCS8vIGV4aXQ7CgkJCX1jYXRjaChFeGNlcHRpb24gJGUpeyAgCgkJCQllY2hvICdXZSBjYXVnaHQgYW4gdW5leHBlY3RlZCBFeGNlcHRpb24nOyAgCgkJCQllY2hvICRlLT5nZXRNZXNzYWdlKCk7ICAKCQkJCS8vIGV4aXQ7CgkJCX0gCgkKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX29hdXRoX2F1dGhvcml6ZScsICRvYXV0aF91cmwpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaWduX3dpdGhfdHdpdHRlcicsICR0aGlzLT5sYW5nWydzaWduX3dpdGhfdHdpdHRlciddKTsKCSRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc2lnbl93aXRoX3R3aXR0ZXJfaW1nJywgJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVHdpdHRlci9pbWFnZXMvbGlnaHRlci5wbmcnKTsKfQoKCi8vIEdlbmVyYWwKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtX3N0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtX2VuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Ci8vIFR3aXR0ZXIgVGFiCgppZiAoZW1wdHkoJHRva2VuKSkKewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX3RhYicsICc8cD4nIC4gJHRoaXMtPkxhbmcoJ25vX3R3aXR0ZXJfY3JlZGVudGlhbF9zZXQnKSAuICc8L3A+Jyk7Cn0KZWxzZSAKewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGF0dXNfdGl0bGUnLCAkdGhpcy0+TGFuZygnc3RhdHVzX3RpdGxlJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJycsICdzdGF0dXMnLCAnJywgJycsICcnLCAnJywgJzcwJywnMycsICcnLCAnJywgJ3N0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiBhdXRvOyInKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VwZGF0ZScsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3VwZGF0ZScsICR0aGlzLT5MYW5nKCd1cGRhdGUnKSkpOyAKCQoJaWYgKGlzc2V0KCRwYXJhbXNbJ3N0YXR1cyddKSkKCXsKCQkkdGhpcy0+dXBkYXRlU3RhdHVzKCRwYXJhbXNbJ3N0YXR1cyddKTsKCX0KCQogICRwdWJsaWNfdGltZWxpbmUgPSAkdGhpcy0+Z2V0VGltZWxpbmUoJ2ZyaWVuZHMnKTsKICAgIAogICR0aW1lbGluZSA9IFR3ZWV0OjpwYXJzZVRpbWVsaW5lRnJvbUpzb24oJHB1YmxpY190aW1lbGluZSk7CiAgCgkkdGltZWxpbmUgPSBhcnJheV9zbGljZSgkdGltZWxpbmUsIDAsIDEwKTsKICAKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGltZWxpbmUnLCAkdGltZWxpbmUpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZV9zdGF0dXMnLCAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0aW1lbGluZS50cGwnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfdGFiJywgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4udHdpdHRlci50YWIudHBsJykpOwp9CgovLyBUZW1wbGF0ZXMgVGFicwovLyoqKioqKioqKioqKioqKioKCiAgICAkdGVtcGxhdGVfbGlzdCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CiAgICAKICAgICRyb3djbGFzcyA9ICdyb3cxJzsKICAgIAogICAgJHRlbXBsYXRlcyA9IGFycmF5KCk7CiAgICAKICAgIGZvcmVhY2ggKCR0ZW1wbGF0ZV9saXN0IGFzICR0ZW1wbGF0ZSkKICAgIHsKICAgICAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CiAgICAKICAgICAgICAkb25lcm93LT5uYW1lID0gJHRlbXBsYXRlOwogICAgICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVUZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZVRlbXBsYXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RlbXBsYXRlJz0+JHRlbXBsYXRlKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CiAgICAgICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VUZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCdlZGl0VGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgndGVtcGxhdGUnPT4kdGVtcGxhdGUpKTsKICAgICAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKICAgICAgICAkdGVtcGxhdGVzW10gPSAkb25lcm93OwogICAgCiAgICAgICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgICB9CiAgICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVzJywgJHRlbXBsYXRlcyk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3RpdGxlX3RlbXBsYXRlJykpOyAgICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkdGVtcGxhdGVsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VUZW1wbGF0ZScsICcnLCAkdGhpcy0+TGFuZygndGl0bGVfYWRkX3RlbXBsYXRlJyksYXJyYXkoKSkpOyAgICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkdGVtcGxhdGVpY29uJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VUZW1wbGF0ZScsICcnLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygndGl0bGVfYWRkX3RlbXBsYXRlJyksJycsICcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCkpKTsKICAgIAogICAgCgovLyBPcHRpb24gVGFiCi8vKioqKioqKioqKioqCiR0aGlzLT5zbWFydHktPmFzc2lnbignb3B0aW9uc190aXRsZScsICR0aGlzLT5MYW5nKCdzZXRfdHdpdHRlcl9jcmVkZW50aWFsJykpOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3R3aXR0ZXJfbG9naW4nXSkgJiYgaXNzZXQoJHBhcmFtc1snc3VibWl0X29wdGlvbnMnXSkpCnsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsb2dpbicsICRwYXJhbXNbJ3R3aXR0ZXJfbG9naW4nXSk7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignbG9naW5fdGl0bGUnLCAkdGhpcy0+TGFuZygnbG9naW4nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbG9naW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3R3aXR0ZXJfbG9naW4nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW4nKSkpOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3R3aXR0ZXJfcGFzc3dvcmQnXSkgJiYgaXNzZXQoJHBhcmFtc1snc3VibWl0X29wdGlvbnMnXSkgJiYgJHBhcmFtc1sndHdpdHRlcl9wYXNzd29yZCddICE9ICcnKQp7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFzc3dvcmQnLCAkcGFyYW1zWyd0d2l0dGVyX3Bhc3N3b3JkJ10pOwp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Bhc3N3b3JkX3RpdGxlJywgJHRoaXMtPkxhbmcoJ3Bhc3N3b3JkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Bhc3N3b3JkJywgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAndHdpdHRlcl9wYXNzd29yZCcsICcnLCA2MCkpOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdF9vcHRpb25zJ10pICYmIGlzc2V0KCRwYXJhbXNbJ3RpbWVvdXQnXSkgJiYgaXNfbnVtZXJpYygkcGFyYW1zWyd0aW1lb3V0J10pICYmICRwYXJhbXNbJ3RpbWVvdXQnXSA+IDAgKQp7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZW91dCcsICRwYXJhbXNbJ3RpbWVvdXQnXSk7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGltZW91dF90aXRsZScsICR0aGlzLT5MYW5nKCd0aW1lb3V0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpbWVvdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpbWVvdXQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZW91dCcpKSk7CgoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0X29wdGlvbnMnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRfb3B0aW9ucycsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOyAKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ29wdGlvbnNfdGFiJywgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4ub3B0aW9ucy50YWIudHBsJykpOwogCi8vZWNobyAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW4nKSAuICcgLS0tICcgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmQnKSAgLiAnPGJyIC8+JzsgCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWlucGFuZWwudHBsJyk7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.deleteTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoIiIpKQ0KCXsNCglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsNCgl9DQoNCi8qIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQoNCiAgIENvZGUgZm9yIERvY3VtZW50c0xpYnJhcnkgIm1hbmFnZUNhdGVnb3JpZXMiIGFkbWluIGFjdGlvbg0KICAgDQogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0KICAgDQogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUNCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4NCiAgIA0KKi8NCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQ0Kew0KCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCgkNCgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCg0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.get_totals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokdCA9ICR0aGlzLT5nZXRUd2l0dGVyT2JqKCk7CiRyZXNwID0gJHQtPmdldCgnL2FjY291bnQvdG90YWxzLmpzb24nKTsKCi8vdmFyX2R1bXAoJHJlc3ApOwoKJGFycmF5ID0ganNvbl9kZWNvZGUoJHJlc3AtPnJlc3BvbnNlVGV4dCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfdG90YWxzJywgJGFycmF5KTsK]]></data>
	</file>
	<file>
	  <filename>/action.manageTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0KDQogICBDb2RlIGZvciBEb2N1bWVudHNMaWJyYXJ5ICJtYW5hZ2VUZW1wbGF0ZSIgYWRtaW4gYWN0aW9uDQogICANCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQogICANCiAgIFR5cGljYWxseSwgdGhpcyB3aWxsIGRpc3BsYXkgc29tZXRoaW5nIGZyb20gYSB0ZW1wbGF0ZQ0KICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLg0KICAgDQoqLw0KDQovLyBST0NLIEFORCBMT0FEDQoNCmlmIChpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSAmJiAkcGFyYW1zWyd0ZW1wbGF0ZSddICE9ICcnKQ0Kew0KCSR0aXRsZSA9ICRwYXJhbXNbJ3RlbXBsYXRlJ107DQoJDQoJaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdGJ1dHRvbiddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseWJ1dHRvbiddKSkNCgl7DQoJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddLCAkcGFyYW1zWyd0ZW1wbGF0ZWRldGFpbHMnXSk7DQoJCQ0KCQlpZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0YnV0dG9uJ10pKQ0KCQl7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpKTsNCgkJfQ0KCX0NCn0NCmVsc2UgDQp7DQoJJHRpdGxlID0gJyc7DQp9DQoNCi8vIERFVEFJTFMNCg0KCSR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybV9zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnbWFuYWdlVGVtcGxhdGUnLCAkcmV0dXJuaWQpKTsNCgkNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3RpdGxlX3RlbXBsYXRlJykpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGVtcGxhdGUnLCAkdGl0bGUsIDUwKSk7DQoJDQoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Jlc3RvcmUnXSkpDQoJew0KCQkkdGVtcGxhdGVjb2RlID0gJHRoaXMtPkdldFRlbXBsYXRlRnJvbUZpbGUoJ3RpbWVsaW5lJyk7DQoJfQkNCgllbHNlaWYgKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICYmICRwYXJhbXNbJ3RlbXBsYXRlJ10gIT0gJycpDQoJew0KCQkkdGVtcGxhdGVjb2RlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KCX0NCgllbHNlIA0KCXsNCgkJJHRlbXBsYXRlY29kZSA9ICcnOw0KCX0NCgkNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvZGVfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnY29kZScpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RleHRhcmVhX3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJHRlbXBsYXRlY29kZSwgJ3RlbXBsYXRlZGV0YWlscycsICdwYWdlYmlndGV4dGFyZWEnLCAnJywnJywgJycsIDkwLCAxNSwgJ0VkaXRBcmVhJykpOw0KCQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybV9kZXRhaWxzX3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm1fZGV0YWlsc19hcHBseScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdhcHBseWJ1dHRvbicsICR0aGlzLT5MYW5nKCdhcHBseScpKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtX2RldGFpbHNfcmVzdG9yZScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdyZXN0b3JlJywgJHRoaXMtPkxhbmcoJ3Jlc3RvcmUnKSkpOw0KDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtX2VuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21hbmFnZXRlbXBsYXRlLnRwbCcpOw0KCQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.oauth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokdHdpdHRlck9iaiA9IG5ldyBFcGlUd2l0dGVyKFR3aXR0ZXI6OkNPTlNVTUVSX0tFWSwgVHdpdHRlcjo6Q09OU1VNRVJfU0VDUkVUKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX29hdXRoX2F1dGhvcml6ZScsICR0d2l0dGVyT2JqLT5nZXRBdXRob3JpemVVcmwobnVsbCwgYXJyYXkoJ29hdXRoX2NhbGxiYWNrJyA9PiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdvYXV0aCcsICcnLCAnJywgYXJyYXkoKSwgJycsIHRydWUpKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpZ25fd2l0aF90d2l0dGVyJywgJHRoaXMtPmxhbmdbJ3NpZ25fd2l0aF90d2l0dGVyJ10pOwokY29uZmlnID0gJiRnQ21zLT5HZXRDb25maWcoKTsgCiR0aGlzLT5zbWFydHktPmFzc2lnbignc2lnbl93aXRoX3R3aXR0ZXJfaW1nJywgJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVHdpdHRlci9pbWFnZXMvbGlnaHRlci5wbmcnKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdvYXV0aC50cGwnKTsKCgokdHdpdHRlck9iaiA9IG5ldyBFcGlUd2l0dGVyKFR3aXR0ZXI6OkNPTlNVTUVSX0tFWSwgVHdpdHRlcjo6Q09OU1VNRVJfU0VDUkVUKTsKJHR3aXR0ZXJPYmotPnNldFRva2VuKCRfUkVRVUVTVFsnb2F1dGhfdG9rZW4nXSk7CiR0b2tlbiA9ICR0d2l0dGVyT2JqLT5nZXRBY2Nlc3NUb2tlbigKCWFycmF5KAoJLy8nb2F1dGhfdG9rZW4nID0+ICRfUkVRVUVTVFsnb2F1dGhfdG9rZW4nXSwgCgknb2F1dGhfdmVyaWZpZXInID0+ICRfUkVRVUVTVFsnb2F1dGhfdmVyaWZpZXInXQoJKSk7CgppZiAoJHRva2VuLT5vYXV0aF90b2tlbiAhPSAnJykKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ29hdXRoX3Rva2VuJywgJHRva2VuLT5vYXV0aF90b2tlbik7Cn0KCmlmICgkdG9rZW4tPm9hdXRoX3Rva2VuX3NlY3JldCAhPSAnJykKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ29hdXRoX3Rva2VuX3NlY3JldCcsICR0b2tlbi0+b2F1dGhfdG9rZW5fc2VjcmV0KTsKfQoKLy9lY2hvICdBdXRob3JpemF0aW9uIHNldCc7CgokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnMnKSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgVHdpdHRlciAiZGVmYXVsdCIgYWN0aW9uCgogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCgogIGlmKGlzc2V0KCRwYXJhbXNbJ3F1ZXJ5J10pKQogIHsJICAKCQkkc2VhcmNoX3BhcmFtcyA9IGFycmF5KCk7CgkJCgkJaWYoaXNzZXQoJHBhcmFtc1snbGltaXQnXSkpCgkJewoJCQkkc2VhcmNoX3BhcmFtc1sncnBwJ10gPSAoaW50KSAkcGFyYW1zWydsaW1pdCddOwoJCX0KCQogICAgJHJlc3VsdHMgPSBUd2VldDo6ZG9Kc29uU2VhcmNoKCRwYXJhbXNbJ3F1ZXJ5J10sICRzZWFyY2hfcGFyYW1zKTsKICAgIAkgIAogICAJJHRpbWVsaW5lID0gVHdlZXQ6OnBhcnNlU2VhcmNoRnJvbUpzb24oJHJlc3VsdHMpOyAKCgkKCSAgaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbWl0J10pKQoJICB7CgkgIAkkdGltZWxpbmUgPSBhcnJheV9zbGljZSgkdGltZWxpbmUsIDAsICRwYXJhbXNbJ2xpbWl0J10pOwoJICB9CgkgIAoJICAvL2VjaG8gJzxwcmU+JzsgdmFyX2R1bXAoVHdlZXQ6OnBhcnNlU2VhcmNoKCRyZXN1bHRzKSk7IGVjaG8gJzwvcHJlPic7IAoJICAKCSAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZXN1bHRzJywgJHJlc3VsdHMpOwoJICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpbWVsaW5lJywgJHRpbWVsaW5lKTsKCSAgCgkgIGlmICghaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkgfHwgISR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkKCSAgewoJICAgIC8vICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZGVmYXVsdCcpOwoJICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RpbWVsaW5lLnRwbCcpOwoJICB9CgkgIGVsc2UgCgkgIHsKCSAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHBhcmFtc1sndGVtcGxhdGUnXSk7CgkgIH0gCiAgfQ==]]></data>
	</file>
	<file>
	  <filename>/action.send.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoIk1hbmFnZSBUd2l0dGVyIikpCgl7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCX0KCi8qIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCgogICBDb2RlIGZvciBUd2l0dGVyICJzZW5kIiBhZG1pbiBhY3Rpb24KICAgCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCi8qIFN0ZXBzOgoKCS0gUmV2aWV3IHRoZSBtZXNzYWdlCgktIFBvc3QgdGhlIG1lc3NhZ2UKCS0gUmV0dXJuIHRvIG1vZHVsZSAoVE9ETykKCQoqLwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3JldHVybl9wYWdlJ10pKQp7CgkkX1NFU1NJT05bJ3R3ZWV0bWFkZXNpbXBsZSddWydzZW5kJ11bJ3JldHVybl9tb2R1bGUnXSA9PSAkcGFyYW1zWydyZXR1cm5fcGFnZSddOwp9CgovLyBTVEVQIDI6IFJFVklFVyBUSEUgTUVTU0FHRQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQp7CglpZiAoCgkJaXNzZXQoJHBhcmFtc1snc3RhdHVzJ10pIAoJCSYmIAoJCXN0cmxlbigkcGFyYW1zWydzdGF0dXMnXSkgPCAxNDApCgkJewoJCQkkc3RhdHVzID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3N0YXR1cyddKTsKCQkJJHRoaXMtPnVwZGF0ZVN0YXR1cygkc3RhdHVzLCBmYWxzZSk7CQkJCgkJCXJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCk7CgkJfQp9CgoKJGZvcm0gPSBuZXcgQ01TRm9ybSgnVHdpdHRlcicsJGlkLCdzZW5kJywkcmV0dXJuaWQpOwokZm9ybS0+c2V0QnV0dG9ucyhhcnJheSgnc3VibWl0JywnYXBwbHknLCdjYW5jZWwnKSk7CiRmb3JtLT5zZXRMYWJlbCgnc3VibWl0JyAsICR0aGlzLT5sYW5nKCdzZW5kJykpOwokZm9ybS0+c2V0TGFiZWwoJ2FwcGx5JyAsICR0aGlzLT5sYW5nKCdzaG9ydGVuJykpOwokZm9ybS0+c2V0V2lkZ2V0KCdzdGF0dXMnLCAndGV4dGFyZWEnKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJGZvcm0pOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKQp7CgkkZm9ybS0+Z2V0V2lkZ2V0KCdzdGF0dXMnKS0+c2V0VmFsdWVzKFR3ZWV0OjpzaG9ydGVuVXJscyhpbXBsb2RlKCcgJywgJGZvcm0tPmdldFdpZGdldCgnc3RhdHVzJyktPmdldFZhbHVlcygpKSkpOwp9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NlbmQudHBsJyk7Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.shorten.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgplY2hvIFR3ZWV0OjpzaG9ydGVuVXJsKCdodHRwOi8vd3d3LnRvdG9waGUuY29tJyk7]]></data>
	</file>
	<file>
	  <filename>/action.tweet.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIAoJaWYoaXNzZXQoJHBhcmFtc1sndmlhJ10pKQoJewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndmlhJywgJHBhcmFtc1sndmlhJ10pOwoJfQoKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndHdlZXQudHBsJyk7]]></data>
	</file>
	<file>
	  <filename>/action.unsign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ29hdXRoX3Rva2VuJyk7CgkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnb2F1dGhfdG9rZW5fc2VjcmV0Jyk7CQoJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2xvZ2luJyk7CgkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgncGFzc3dvcmQnKTsKCgokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnMnKSk7Cgk=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/darker.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icons/twitter_icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAOYAAHrQ63G91zPK/izi/UXQ/jTT/WXb69L0/yvg61Xa+63q/w3i/RnG/lrW/jLj/Sut2SzI/fX9/znM/QbD/x267hPC/Q7B/QDu/5Hl/3nd/17i/u77/2PX/R7h69r2/x3G/je+6r3v/zqw2HXd/27b/2nX/UbO+1fT+8jw/yTH/V/Z/6bp/7Pr/3zc//3//8ry/2HZ/5Di/wDp/3Hb/5fQ4EW95Irn/9H4/z7r/UPp/RLn/1LV/2TZ/Wfh/9DV2U7c62LI6x/K/0Kz2en6/2/g/4fg/4PR69n4/zje66fn/3q/10fD6z/O/d/3/4HB15vH1U7Z+zPr/Vu42Wa62ULc+3Hi/0fi/1Tc607g/8/y/1LT+1TH61bT/VbV/yjp/Tjc+yO05gfn/yq869nc3EDe60DT/3fY62/M6/L7//b7/1/X+5DT4iO67ZXQ5E3V+4ni/8rX247i/0622fj9/0vQ+0jU/ySr2Vnb/xTI/7TO12Tc/4zi/7Tt/6Ln/2TZ/////yH5BAAAAAAALAAAAAAQABAAAAfwgHA1Kn6FhocwIHkiPSF8LAosfJOUIVVgdjYrfSshCn2goUkYFA9EGEVZfx5ve66uMSOldy0jTX8RGSQzuxktMGwidSU8ty4HL1kvfRwlO2IiZQ1cHn/W1y4cDQQgQngSTAfWcxERGyEEEgwgchMWFih/Q0wCAhAMFRYTS1JBKR/xNkCwUKECgxT/tkwpIAFCEmsoYsTZw0GABAFAAtShY0INmmvW0pwwQeCMkgYn3BTQcAPkEShaugBwoicBlQELFniJgiOHgy8JVBh50gOLAx0yLii9ICPMACsa2oyhYcbAFTIIOnRAgOSHATNrfAQCADs=]]></data>
	</file>
	<file>
	  <filename>/images/lighter.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3ZWV0IE1hZGUgU2ltcGxlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVHdlZXQgTWFkZSBTaW1wbGUgaW5zdGFsbGVkLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVHdlZXQgTWFkZSBTaW1wbGUgdW5pbnN0YWxsZWQuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQp5b3Ugd2FudCB0byB1bnNpbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3cgeW91IHRvIG1hbmFnZSB5b3VyIFR3aXR0ZXIgZnJvbSBDTVNNUy4gQm90aCBzZW5kIGFuZCByZWNlaXZlIGZ1bmN0aW9ucyBhcmUgYXZhaWxhYmxlLic7CgokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZFsnYWRtaW5fdGl0bGUnXSA9ICdUd2VldCBNYWRlIFNpbXBsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3cgeW91IHRvIG1hbmFnZSB5b3VyIFR3aXR0ZXIgZnJvbSBDTVNNUy4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIChlLmcuLCBCZSBzdXJlIHRvIHNldCAiTWFuYWdlIFR3aXR0ZXIiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEpJzsKJGxhbmdbJ1R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ09wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ3RpdGxlX29wdGlvbnMnXSA9ICdPcHRpb25zJzsKCiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snYXBwbHknXSA9ICdBcHBseSc7CiRsYW5nWydjYW5jZWwnXSA9ICdjYW5jZWwnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kJzsKJGxhbmdbJ3Jlc3RvcmUnXSA9ICdSZXN0b3JlJzsKCi8vIEFkbWluCgokbGFuZ1snc3RhdHVzX3RpdGxlJ10gPSAnV2hhdCBhcmUgeW91IGRvaW5nPyc7CgokbGFuZ1snbm9fdHdpdHRlcl9jcmVkZW50aWFsX3NldCddID0gJ1BsZWFzZSBhdXRob3JpemUgeW91ciBUd2l0dGVyIGFjY291bnQgaW50byB0aGUgIk9wdGlvbnMiIHRhYi4nOwokbGFuZ1snc2V0X3R3aXR0ZXJfY3JlZGVudGlhbCddID0gJ1BsZWFzZSBlbnRlciB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbC4nOwokbGFuZ1sncmVxdWlyZV9jdXJsJ10gPSAnVGhpcyBtb2R1bGUgcmVxdWlyZSBjdXJsIDxlbT4oPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2suY3VybC5waHAiIHJlbD0iZXh0ZXJuYWwiPmh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwPC9hPik8L2VtPic7CiRsYW5nWydsb2dpbiddID0gJ0xvZ2luJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndGltZW91dCddID0gJ1RpbWVvdXQnOwoKJGxhbmdbJ3R3aXR0ZXJfY3JlZGVudGlhbHNfbm90X3NldCddID0gJ1RoaXMgbW9kdWxlIG5lZWRzIGF1dGhvcml6YXRpb24gZnJvbSBUd2l0dGVyLiBQbGVhc2Ugc2VlIHRoZSBtb2R1bGUgYWRtaW4gcGFuZWwuJzsKCi8vIE9BdXRoCiRsYW5nWydzaWduX3dpdGhfdHdpdHRlciddID0gJ1NpZ24gaW4gd2l0aCBUd2l0dGVyJzsKJGxhbmdbJ3R3aXR0ZXJfd2VsY29tZSddID0gJ1dlbGNvbWUgJXMnOwokbGFuZ1sndW5zaWduX3R3aXR0ZXInXSA9ICdVbnNpZ24gZnJvbSBUd2l0dGVyJzsKCi8vIFRlbXBsYXRlcwoKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ3RpdGxlX2FkZF90ZW1wbGF0ZSddID0gJ0FkZCB0ZW1wbGF0ZSc7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAnU2VuZCB2aWEgVHdpdHRlcic7CgokbGFuZ1snZm9ybV9zdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc2hvcnRlbiddID0gJ1Nob3J0ZW4gdXJscyc7CgokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPgo8bGk+VmVyc2lvbiAwLjAuMSAtIDI5IEp1bmUgMjAwOS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuMC4wIC0gMzAgSnVuZSAyMDEwLiBJbXBsZW1lbnRhdGlvbiBvZiBPQXV0aC48L2xpPiAKPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBhbGxvdyB5b3UgdG8gbWFuYWdlIHlvdXIgVHdpdHRlciBmcm9tIENNU01TLiBCb3RoIHNlbmQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+Q29uZmlndXJlIHlvdXIgVHdpdHRlciBjcmVkZW50aWFscyBpbiB0aGUgYmFja2VuZC4gVXNlIHtjbXNfbW9kdWxlIG1vZHVsZT0iVHdpdHRlciJ9IGluIHlvdXIgcGFnZXMvdGVtcGxhdGVzLjwvcD4KPHA+WW91IGNhbiBhbHNvIHNob3cgVHdpdHRlciBzZWFyY2ggcmVzdWx0cyB1c2luZyB7Y21zX21vZHVsZSBtb2R1bGU9IlR3aXR0ZXIiIGFjdGlvbj0ic2VhcmNoIiBxdWVyeT0ieW91ciBzZWFyY2ggI3Rlcm1zIn0uPC9wPgo8aDM+RXhhbXBsZSBvZiB0aW1lbGluZTwvaDM+CjxwPlRvIGNyZWF0ZSBhIHRlbXBsYXRlLCB5b3UgY2FuIGZpcnN0IGxvb3Agb24geyR0aW1lbGluZX0uIFRoZW4sIEkgYWR2aXNlIHlvdSB0byB1c2UgdGhlIHskdGltZWxpbmV8dmFyX2R1bXB9IGZ1bmN0aW9uIHRvIGtub3cgd2hhdCBhcmUgdGhlIG9wdGlvbnMgeW91IGNhbiB1c2UuPC9wPgo8cD5Zb3UgY2FuIGFsc28gY2xpY2sgb24gdGhlICJSZXN0b3JlIiBidXR0b24gd2hvXCdsbCBnaXZlIHlvdSBhIGJhc2ljIHRlbXBsYXRlLjwvcD4KPHA+RXhhbXBsZSA6PC9wPgo8cHJlPgp7Zm9yZWFjaCBmcm9tPSR0aW1lbGluZSBpdGVtPXR3ZWV0fSAgCiAgICAmbHQ7ZGl2IGlkPSJzdGF0dXNfeyR0d2VldC0mZ3Q7aWR9IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5OyImZ3Q7CiAgICAgICZsdDtkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICImZ3Q7Jmx0O2ltZyBzcmM9InskdHdlZXQtJmd0O3BpY3R1cmV9IiBhbHQ9InskdHdlZXQtJmd0O2F1dGhvcl9uYW1lfSIgLyZndDsmbHQ7L2RpdiZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDt7JHR3ZWV0LSZndDthdXRob3JfbmFtZX0mbHQ7L3N0cm9uZyZndDsgCiAgICAgIHskdHdlZXQtJmd0O2dldFRleHQoKX0mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0O3skdHdlZXQtJmd0O2dldFdoZW4oKX0gZnJvbSB7JHR3ZWV0LSZndDtzb3VyY2V9Jmx0Oy9wJmd0OwogICAgICAmbHQ7ZGl2IHN0eWxlPSJjbGVhcjogcmlnaHQiJmd0OyZsdDsvZGl2Jmd0OyAgCiAgICAmbHQ7L2RpdiZndDsgIAp7L2ZvcmVhY2h9CjwvcHJlPgo8aDQ+VHdlZXQgYnV0dG9uPC9oND4KPHA+VG8gaW5zZXJ0IHRoZSBUd2VldCBidXR0b24gaW4geW91ciBhcnRpY2xlcyBvciBwYWdlcywganVzdCB1c2Uge1R3aXR0ZXIgYWN0aW9uPSJ0d2VldCJ9LiBZb3UgY2FuIGFsc28gYWRkIHRoZSBwYXJhbSAidmlhIiB3aXRoIGEgZGVzaXJlZCBUd2l0dGVyIHNjcmVlbm5hbWUuPC9wPgo8aDQ+SW50ZWdyYXRlIFR3aXR0ZXIgaW4geW91ciBvd24gbW9kdWxlczwvaDQ+CjxwPllvdSBjYW4gZ2V0IGEgc21hbGwgVHdpdHRlciBpY29uIGFuZCBsaW5rIHVzaW5nIHRoZSBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1tcJ1R3aXR0ZXJcJ11bXCdvYmplY3RcJ10tPmNyZWF0ZVNlbmRMaW5rKCRpZCwkcmV0dXJuaWQsYXJyYXkoXCdzdGF0dXNcJyA9PiAkc3RhdHVzKSk7PC9wPgo8cD5Zb3UgY2FuIGFsc28gY2FsbCB0aGUgcHVibGljIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzW1wnVHdpdHRlclwnXVtcJ29iamVjdFwnXS0+dXBkYXRlU3RhdHVzKHN0cmluZyAkbWVzc2FnZSwgYm9vbGVhbiAkc2hvcnRlbikgKHdpdGggYSAxNDAgbWF4IG1lc3NhZ2UuKSB0byBzZW5kIG1lc3NhZ2UgdG8gVHdpdHRlci48L3A+CjxwPllvdSBjYW4gYWxzbyB1c2UgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1tcJ1R3aXR0ZXJcJ11bXCdvYmplY3RcJ10tPnNob3J0ZW5VcmxzKCRtZXNzYWdlKSB0byBvbmx5IHNob3J0ZW4gdGhlIHVybHMgY29udGFpbmVkIGludG8gdGhlIG1lc3NhZ2UuPC9wPgo8cD4KPGgzPldoYXQgUGFyYW1ldGVycyBEb2VzIEl0IFRha2U8L2gzPgo8cD4KPHVsPgogIDxsaT48Yj5saW1pdDwvYj4gLSBJZiB5b3Ugc2V0IHRoYXQsIGl0IHdpbGwgbGltaXQgdGhlIG51bWJlciBvZiBsYXRlc3QgdHdpdHRlciB1cGRhdGVzIHRvIHRoaXMgdmFsdWUuPC9saT4KICA8bGk+PGI+dGVtcGxhdGU8L2I+IC0gU2VsZWN0IGEgY3VzdG9tIHRlbXBsYXRlIHNldCBpbiB0aGUgYWRtaW4gcGFubmVsLjwvbGk+CiAgPGxpPjxiPnVzZXJfaWQ8L2I+IC0gU3BlY2lmeSBhbiB1c2VyIGlkPC9saT4KICA8bGk+PGI+c2NyZWVuX25hbWU8L2I+IC0gU3BlY2lmeSBhbiB1c2VyIHNjcmVlbiBuYW1lPC9saT4KCTxsaT48Yj5mcmllbmRzPC9iPiAtIFB1Ymxpc2ggZnJpZW5kcyB0aW1lbGluZTwvbGk+CiA8L3VsPgogPC9wPgo8aDM+VHdpdHRlciB0b3RhbHM8L2gzPgo8cD5JZiB5b3Ugd2FudCB0byBoYXZlIFR3aXR0ZXIgdG90YWxzIHlvdSBjYW4gY2FsbCB0aGUgYWN0aW9uICJnZXRfdG90YWxzIiAoe1R3aXR0ZXIgYWN0aW9uPSJnZXRfdG90YWxzIn0pIHdobyBnZW5lcmF0ZSBhIHNtYXJ0eSB2YXIgJHR3aXR0ZXJfdG90YWxzIHdoaWNoIGNvbnRlbnQgaW5mb3JtYXRpb24gbGlrZSBudW1iZXIgb2YgZm9sbG93ZXJzLCBudW1iZXIgb2YgdHdpdHRlciBtZXNzYWdlcywgZXRjLjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA5LCBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGEgaHJlZj0ibWFpbHRvOmpjY0Btb3JyaXMtY2hhcG1hbi5jb20iPiZsdDtqY2NAbW9ycmlzLWNoYXBtYW4uY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3ZWV0IE1hZGUgU2ltcGxlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIChlLmcuLCBCZSBzdXJlIHRvIHNldCAmcXVvdDtNYW5hZ2UgVHdpdHRlciZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhKSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVHdlZXQgTWFkZSBTaW1wbGUgYmxldiBhZmluc3RhbGxlcmV0JzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQ0KeW91IHdhbnQgdG8gdW5zaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsISc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3cgeW91IHRvIG1hbmFnZSB5b3VyIFR3aXR0ZXIgZnJvbSBDTVNNUy4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ1R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ09wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ3RpdGxlX29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydhcHBseSddID0gJ0FwcGx5JzsKJGxhbmdbJ2NhbmNlbCddID0gJ2NhbmNlbCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1sncmVzdG9yZSddID0gJ1Jlc3RvcmUnOwokbGFuZ1snc3RhdHVzX3RpdGxlJ10gPSAnV2hhdCBhcmUgeW91IGRvaW5nPyc7CiRsYW5nWydub190d2l0dGVyX2NyZWRlbnRpYWxfc2V0J10gPSAnUGxlYXNlIGF1dGhvcml6ZSB5b3VyIFR3aXR0ZXIgYWNjb3VudCBpbnRvIHRoZSAmcXVvdDtPcHRpb25zJnF1b3Q7IHRhYi4nOwokbGFuZ1snc2V0X3R3aXR0ZXJfY3JlZGVudGlhbCddID0gJ1BsZWFzZSBlbnRlciB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbC4nOwokbGFuZ1snbG9naW4nXSA9ICdMb2dpbic7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdUaW1lb3V0JzsKJGxhbmdbJ3R3aXR0ZXJfY3JlZGVudGlhbHNfbm90X3NldCddID0gJ1RoaXMgbW9kdWxlIG5lZWRzIGF1dGhvcml6YXRpb24gZnJvbSBUd2l0dGVyLiBQbGVhc2Ugc2VlIHRoZSBtb2R1bGUgYWRtaW4gcGFuZWwuJzsKJGxhbmdbJ3NpZ25fd2l0aF90d2l0dGVyJ10gPSAnU2lnbiBpbiB3aXRoIFR3aXR0ZXInOwokbGFuZ1sndHdpdHRlcl93ZWxjb21lJ10gPSAnV2VsY29tZSAlcyc7CiRsYW5nWyd1bnNpZ25fdHdpdHRlciddID0gJ1Vuc2lnbiBmcm9tIFR3aXR0ZXInOwokbGFuZ1sndGl0bGVfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snY29kZSddID0gJ0NvZGUnOwokbGFuZ1sndGl0bGVfYWRkX3RlbXBsYXRlJ10gPSAnQWRkIHRlbXBsYXRlJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xIC0gMjkgSnVuZSAyMDA5LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuMC4wIC0gMzAgSnVuZSAyMDEwLiBJbXBsZW1lbnRhdGlvbiBvZiBPQXV0aC48L2xpPiANCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkNvbmZpZ3VyZSB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbHMgaW4gdGhlIGJhY2tlbmQuIFVzZSB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VHdpdHRlciZxdW90O30gaW4geW91ciBwYWdlcy90ZW1wbGF0ZXMuPC9wPg0KPHA+WW91IGNhbiBhbHNvIHNob3cgVHdpdHRlciBzZWFyY2ggcmVzdWx0cyB1c2luZyB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VHdpdHRlciZxdW90OyBhY3Rpb249JnF1b3Q7c2VhcmNoJnF1b3Q7IHF1ZXJ5PSZxdW90O3lvdXIgc2VhcmNoICN0ZXJtcyZxdW90O30uPC9wPg0KPHA+T3RoZXIgbW9kdWxlcyBjYW4gY2FsbCB0aGUgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZVN0YXR1cygkbWVzc2FnZSwgJHNob3J0ZW4pICh3aXRoIGEgMTQwIG1heCBtZXNzYWdlKSB0byBzZW5kIG1lc3NhZ2UgdG8gVHdpdHRlci48L3A+DQo8cD5UaGV5IGNhbiBhbHNvIHVzZSB0aGUgcHVibGljIGZ1bmN0aW9uIHNob3J0ZW5VcmxzKCRtZXNzYWdlKSB0byBvbmx5IHNob3J0ZW4gdGhlIHVybHMgY29udGFpbmVkIGludG8gdGhlIG1lc3NhZ2UuPC9wPg0KPGgzPkV4YW1wbGUgb2YgdGltZWxpbmU8L2gzPg0KPHA+VG8gY3JlYXRlIGEgdGVtcGxhdGUsIHlvdSBjYW4gZmlyc3QgbG9vcCBvbiB7JHRpbWVsaW5lfS4gVGhlbiwgSSBhZHZpc2UgeW91IHRvIHVzZSB0aGUgeyR0aW1lbGluZXx2YXJfZHVtcH0gZnVuY3Rpb24gdG8ga25vdyB3aGF0IGFyZSB0aGUgb3B0aW9ucyB5b3UgY2FuIHVzZS48L3A+DQo8cD5Zb3UgY2FuIGFsc28gY2xpY2sgb24gdGhlICZxdW90O1Jlc3RvcmUmcXVvdDsgYnV0dG9uIHdobyYjMDM5O2xsIGdpdmUgeW91IGEgYmFzaWMgdGVtcGxhdGUuPC9wPg0KPHA+RXhhbXBsZSA6PC9wPg0KPHByZT4NCntmb3JlYWNoIGZyb209JHRpbWVsaW5lIGl0ZW09dHdlZXR9ICANCiAgICA8ZGl2IGlkPSZxdW90O3N0YXR1c197JHR3ZWV0LT5pZH0mcXVvdDsgc3R5bGU9JnF1b3Q7Ym9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5OyZxdW90Oz4NCiAgICAgIDxkaXYgc3R5bGU9JnF1b3Q7ZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogMjBweDsgJnF1b3Q7PjxpbWcgc3JjPSZxdW90O3skdHdlZXQtPnBpY3R1cmV9JnF1b3Q7IGFsdD0mcXVvdDt7JHR3ZWV0LT5hdXRob3JfbmFtZX0mcXVvdDsgLz48L2Rpdj4NCiAgICAgIDxwPjxzdHJvbmc+eyR0d2VldC0+YXV0aG9yX25hbWV9PC9zdHJvbmc+IA0KICAgICAgeyR0d2VldC0+Z2V0VGV4dCgpfTwvcD4NCiAgICAgIDxwPnskdHdlZXQtPmdldFdoZW4oKX0gZnJvbSB7JHR3ZWV0LT5zb3VyY2V9PC9wPg0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtjbGVhcjogcmlnaHQmcXVvdDs+PC9kaXY+ICANCiAgICA8L2Rpdj4gIA0Key9mb3JlYWNofQ0KPC9wcmU+DQo8aDM+V2hhdCBQYXJhbWV0ZXJzIERvZXMgSXQgVGFrZTwvaDM+DQo8cD4NCjx1bD4NCiAgPGxpPjxiPmxpbWl0PC9iPiAtIElmIHlvdSBzZXQgdGhhdCwgaXQgd2lsbCBsaW1pdCB0aGUgbnVtYmVyIG9mIGxhdGVzdCB0d2l0dGVyIHVwZGF0ZXMgdG8gdGhpcyB2YWx1ZS48L2xpPg0KICA8bGk+PGI+dGVtcGxhdGU8L2I+IC0gU2VsZWN0IGEgY3VzdG9tIHRlbXBsYXRlIHNldCBpbiB0aGUgYWRtaW4gcGFubmVsLjwvbGk+DQogIDxsaT48Yj51c2VyX2lkPC9iPiAtIFNwZWNpZnkgYW4gdXNlciBpZDwvbGk+DQogIDxsaT48Yj5zY3JlZW5fbmFtZTwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgc2NyZWVuIG5hbWU8L2xpPg0KIDwvdWw+DQogPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA5LCBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGEgaHJlZj0ibWFpbHRvOmpjY0Btb3JyaXMtY2hhcG1hbi5jb20iPjxqY2NAbW9ycmlzLWNoYXBtYW4uY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3FjYSddID0gJzEyMjk2MDE3OTAtODUyNDMxOTctNDMyNjA3MTMnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNTA2NDEwNTUuMTI5MDUxNDIzNS4xMjkwNTQ4NjI1LjEyOTA1OTM0MzUuMyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTA1MTQyMzUuMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3aXR0ZXIgKFR3ZWV0TWFkZVNpbXBsZSknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdMZSBtb2R1bGUgVHdpdHRlciAoVHdlZXRNYWRlU2ltcGxlKSBhICZlYWN1dGU7dCZlYWN1dGU7IGluc3RhbGwmZWFjdXRlOyBhdmVjIHN1Y2MmZWdyYXZlO3MuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdMZSBtb2R1bGUgVHdpdHRlciAoVHdlZXRNYWRlU2ltcGxlKSBhICZlYWN1dGU7dCZlYWN1dGU7IGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzLic7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHZyYWltZW50IHMmdWNpcmM7ciBkZSB2b3Vsb2lyIGQmZWFjdXRlO3NpbnN0YWxsZXIgY2UgbW9kdWxlID8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGluc3RhbGwmZWFjdXRlOyBlbiB2ZXJzaW9uICVzLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBtaXMgJmFncmF2ZTsgam91ciB2ZXJzIGxhIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2UgbW9kdWxlIHZvdXMgcGVybWV0IGRlIGcmZWFjdXRlO3JlciB2b3RyZSBjb21wdGUgVHdpdHRlciBkZXB1aXMgQ01TTVMuIExlcyBmb25jdGlvbnMgZCYjMDM5O2Vudm9pIGV0IGRlIHImZWFjdXRlO2NlcHRpb24gc29udCBkaXNwb25pYmxlcy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJldXIgISc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnQ2UgbW9kdWxlIHZvdXMgcGVybWV0IGRlIGcmZWFjdXRlO3JlciB2b3RyZSBjb21wdGUgVHdpdHRlciBkZXB1aXMgQ01TTVMuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjYyZlZ3JhdmU7cyByZWZ1cyZlYWN1dGU7LiBNZXJjaSBkZSB2JmVhY3V0ZTtyaWZpZXIgdm9zIGRyb2l0cyBkJiMwMzk7YWNjJmVncmF2ZTtzLic7CiRsYW5nWydUd2l0dGVyJ10gPSAnVHdpdHRlciAnOwokbGFuZ1snT3B0aW9ucyddID0gJ09wdGlvbnMgJzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICdUd2l0dGVyICc7CiRsYW5nWyd0aXRsZV9vcHRpb25zJ10gPSAnT3B0aW9ucyAnOwokbGFuZ1snc3VibWl0J10gPSAnRW5yZWdpc3RyZXInOwokbGFuZ1snYXBwbHknXSA9ICdBcHBsaXF1ZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWyd1cGRhdGUnXSA9ICdNZXR0cmUgJmFncmF2ZTsgam91cic7CiRsYW5nWydzZW5kJ10gPSAnRW52b3llcic7CiRsYW5nWydyZXN0b3JlJ10gPSAnUmVzdGF1cmVyJzsKJGxhbmdbJ3N0YXR1c190aXRsZSddID0gJ1F1b2kgZGUgbmV1ZiA/JzsKJGxhbmdbJ25vX3R3aXR0ZXJfY3JlZGVudGlhbF9zZXQnXSA9ICdNZXJjaSBkJiMwMzk7YXV0b3Jpc2VyIGwmIzAzOTthY2MmZWdyYXZlO3MgJmFncmF2ZTsgdm90cmUgY29tcHRlIFR3aXR0ZXIgdmlhIGwmIzAzOTtvbmdsZXQgJnF1b3Q7T3B0aW9ucyZxdW90Oy4nOwokbGFuZ1snc2V0X3R3aXR0ZXJfY3JlZGVudGlhbCddID0gJ1ZldWlsbGV6IGVudHJlciB2b3MgaWRlbnRpZmlhbnRzIFR3aXR0ZXIuJzsKJGxhbmdbJ3JlcXVpcmVfY3VybCddID0gJ0NlIG1vZHVsZSByZXF1aWVydCBDdXJsIDxlbT4oPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2suY3VybC5waHAiIHJlbD0iZXh0ZXJuYWwiPmh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwPC9hPik8L2VtPic7CiRsYW5nWydsb2dpbiddID0gJ0lkZW50aWZpYW50JzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTW90IGRlIHBhc3NlJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdUaW1lb3V0ICc7CiRsYW5nWyd0d2l0dGVyX2NyZWRlbnRpYWxzX25vdF9zZXQnXSA9ICdDZSBtb2R1bGUgbiZlYWN1dGU7Y2Vzc2l0ZSB1biBhY2MmZWdyYXZlO3MgYXV0b3JpcyZlYWN1dGU7IHBhciBUd2l0dGVyLiBNZXJjaSBkZSBjb25zdWx0ZXIgbCYjMDM5O2ludGVyZmFjZSBkJiMwMzk7YWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlLic7CiRsYW5nWydzaWduX3dpdGhfdHdpdHRlciddID0gJ0lkZW50aWZpZXotdm91cyBzdXIgVHdpdHRlcic7CiRsYW5nWyd0d2l0dGVyX3dlbGNvbWUnXSA9ICdCaWVudmVudWUgJXMnOwokbGFuZ1sndW5zaWduX3R3aXR0ZXInXSA9ICdEJmVhY3V0ZTtjb25uZXhpb24gZGUgVHdpdHRlcic7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ05vbSBkdSBnYWJhcml0Jm5ic3A7JzsKJGxhbmdbJ2NvZGUnXSA9ICdDb2RlJm5ic3A7JzsKJGxhbmdbJ3RpdGxlX2FkZF90ZW1wbGF0ZSddID0gJ0Fqb3V0ZXIgdW4gZ2FiYXJpdCc7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAnRW52b3llciB2aWEgVHdpdHRlcic7CiRsYW5nWydmb3JtX3N0YXR1cyddID0gJ1N0YXR1dCc7CiRsYW5nWydzaG9ydGVuJ10gPSAnUmFjY291cmNpciBsZXMgVVJMcyc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMSAtIDI5IEp1bmUgMjAwOS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjAuMCAtIDMwIEp1bmUgMjAxMC4gSW1wbGVtZW50YXRpb24gb2YgT0F1dGguPC9saT4gDQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPkNlIG1vZHVsZSB2b3VzIHBlcm1ldCBkZSBnJmVhY3V0ZTtyZXIgdm90cmUgY29tcHRlIFR3aXR0ZXIgZGVwdWlzIENNU01TLiBMZXMgZm9uY3Rpb25zIGQmIzAzOTtlbnZvaSBldCBkZSByJmVhY3V0ZTtjZXB0aW9uIHNvbnQgZGlzcG9uaWJsZXMuPC9wPg0KPGgzPkNvbW1lbnQgbCYjMDM5O3V0aWxpc2VyID88L2gzPg0KPHA+Q29uZmlndXJlIHlvdXIgVHdpdHRlciBjcmVkZW50aWFscyBpbiB0aGUgYmFja2VuZC4gVXNlIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtUd2l0dGVyJnF1b3Q7fSBpbiB5b3VyIHBhZ2VzL3RlbXBsYXRlcy48L3A+DQo8cD5Zb3UgY2FuIGFsc28gc2hvdyBUd2l0dGVyIHNlYXJjaCByZXN1bHRzIHVzaW5nIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtUd2l0dGVyJnF1b3Q7IGFjdGlvbj0mcXVvdDtzZWFyY2gmcXVvdDsgcXVlcnk9JnF1b3Q7eW91ciBzZWFyY2ggI3Rlcm1zJnF1b3Q7fS48L3A+DQo8aDM+RXhhbXBsZSBvZiB0aW1lbGluZTwvaDM+DQo8cD5UbyBjcmVhdGUgYSB0ZW1wbGF0ZSwgeW91IGNhbiBmaXJzdCBsb29wIG9uIHskdGltZWxpbmV9LiBUaGVuLCBJIGFkdmlzZSB5b3UgdG8gdXNlIHRoZSB7JHRpbWVsaW5lfHZhcl9kdW1wfSBmdW5jdGlvbiB0byBrbm93IHdoYXQgYXJlIHRoZSBvcHRpb25zIHlvdSBjYW4gdXNlLjwvcD4NCjxwPllvdSBjYW4gYWxzbyBjbGljayBvbiB0aGUgJnF1b3Q7UmVzdG9yZSZxdW90OyBidXR0b24gd2hvJiMwMzk7bGwgZ2l2ZSB5b3UgYSBiYXNpYyB0ZW1wbGF0ZS48L3A+DQo8cD5FeGFtcGxlIDo8L3A+DQo8cHJlPg0Ke2ZvcmVhY2ggZnJvbT0kdGltZWxpbmUgaXRlbT10d2VldH0gIA0KICAgIDxkaXYgaWQ9JnF1b3Q7c3RhdHVzX3skdHdlZXQtPmlkfSZxdW90OyBzdHlsZT0mcXVvdDtib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGdyYXk7JnF1b3Q7Pg0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyAmcXVvdDs+PGltZyBzcmM9JnF1b3Q7eyR0d2VldC0+cGljdHVyZX0mcXVvdDsgYWx0PSZxdW90O3skdHdlZXQtPmF1dGhvcl9uYW1lfSZxdW90OyAvPjwvZGl2Pg0KICAgICAgPHA+PHN0cm9uZz57JHR3ZWV0LT5hdXRob3JfbmFtZX08L3N0cm9uZz4gDQogICAgICB7JHR3ZWV0LT5nZXRUZXh0KCl9PC9wPg0KICAgICAgPHA+eyR0d2VldC0+Z2V0V2hlbigpfSBmcm9tIHskdHdlZXQtPnNvdXJjZX08L3A+DQogICAgICA8ZGl2IHN0eWxlPSZxdW90O2NsZWFyOiByaWdodCZxdW90Oz48L2Rpdj4gIA0KICAgIDwvZGl2PiAgDQp7L2ZvcmVhY2h9DQo8L3ByZT4NCjxoND5Ud2VldCBidXR0b248L2g0Pg0KPHA+VG8gaW5zZXJ0IHRoZSBUd2VldCBidXR0b24gaW4geW91ciBhcnRpY2xlcyBvciBwYWdlcywganVzdCB1c2Uge1R3aXR0ZXIgYWN0aW9uPSZxdW90O3R3ZWV0JnF1b3Q7fS4gWW91IGNhbiBhbHNvIGFkZCB0aGUgcGFyYW0gJnF1b3Q7dmlhJnF1b3Q7IHdpdGggYSBkZXNpcmVkIFR3aXR0ZXIgc2NyZWVubmFtZS48L3A+DQo8aDQ+SW50ZWdyYXRlIFR3aXR0ZXIgaW4geW91ciBvd24gbW9kdWxlczwvaDQ+DQo8cD5Zb3UgY2FuIGdldCBhIHNtYWxsIFR3aXR0ZXIgaWNvbiBhbmQgbGluayB1c2luZyB0aGUgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJiMwMzk7VHdpdHRlciYjMDM5O11bJiMwMzk7b2JqZWN0JiMwMzk7XS0+Y3JlYXRlU2VuZExpbmsoJGlkLCRyZXR1cm5pZCxhcnJheSgmIzAzOTtzdGF0dXMmIzAzOTsgPT4gJHN0YXR1cykpOzwvcD4NCjxwPllvdSBjYW4gYWxzbyBjYWxsIHRoZSBwdWJsaWMgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJiMwMzk7VHdpdHRlciYjMDM5O11bJiMwMzk7b2JqZWN0JiMwMzk7XS0+dXBkYXRlU3RhdHVzKHN0cmluZyAkbWVzc2FnZSwgYm9vbGVhbiAkc2hvcnRlbikgKHdpdGggYSAxNDAgbWF4IG1lc3NhZ2UuKSB0byBzZW5kIG1lc3NhZ2UgdG8gVHdpdHRlci48L3A+DQo8cD5Zb3UgY2FuIGFsc28gdXNlIHRoZSBwdWJsaWMgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJiMwMzk7VHdpdHRlciYjMDM5O11bJiMwMzk7b2JqZWN0JiMwMzk7XS0+c2hvcnRlblVybHMoJG1lc3NhZ2UpIHRvIG9ubHkgc2hvcnRlbiB0aGUgdXJscyBjb250YWluZWQgaW50byB0aGUgbWVzc2FnZS48L3A+DQo8cD4NCjxoMz5XaGF0IFBhcmFtZXRlcnMgRG9lcyBJdCBUYWtlPC9oMz4NCjxwPg0KPHVsPg0KICA8bGk+PGI+bGltaXQ8L2I+IC0gSWYgeW91IHNldCB0aGF0LCBpdCB3aWxsIGxpbWl0IHRoZSBudW1iZXIgb2YgbGF0ZXN0IHR3aXR0ZXIgdXBkYXRlcyB0byB0aGlzIHZhbHVlLjwvbGk+DQogIDxsaT48Yj50ZW1wbGF0ZTwvYj4gLSBTZWxlY3QgYSBjdXN0b20gdGVtcGxhdGUgc2V0IGluIHRoZSBhZG1pbiBwYW5uZWwuPC9saT4NCiAgPGxpPjxiPnVzZXJfaWQ8L2I+IC0gU3BlY2lmeSBhbiB1c2VyIGlkPC9saT4NCiAgPGxpPjxiPnNjcmVlbl9uYW1lPC9iPiAtIFNwZWNpZnkgYW4gdXNlciBzY3JlZW4gbmFtZTwvbGk+DQogPC91bD4NCiA8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDksIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8YSBocmVmPSJtYWlsdG86amNjQG1vcnJpcy1jaGFwbWFuLmNvbSI+PGpjY0Btb3JyaXMtY2hhcG1hbi5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3ZWV0IE1hZGUgU2ltcGxlICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NvbnRyb2xlZXIgZGUgJnF1b3Q7TWFuYWdlIFR3aXR0ZXImcXVvdDsgcGVybWlzc2llcyB2b29yZGF0IHUgZGV6ZSBtb2R1bGUgZ2FhdCBnZWJydWlrZW4hJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUd2VldCBNYWRlIFNpbXBsZSBnZWRlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIG1vZHVsZSB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBnZWRlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpZSAlcyBnZSZpdW1sO25zdGFsbGVlcmQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIGJpamdld2Vya3QgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTWV0IGRlemUgbW9kdWxlIGt1bnQgdSB1dyBUd2l0dGVyIGFjY291bnQgYmVoZXJlbiB2YW51aXQgQ01TTVMuIFpvd2VsIG9udHZhbmcsIGFscyB2ZXJ6ZW5kZnVuY3RpZXMgemlqbiBiZXNjaGlrYmFhci4nOwokbGFuZ1snZXJyb3InXSA9ICdGb3V0ISc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnTWV0IGRlemUgbW9kdWxlIGt1bnQgdSB1dyBUd2l0dGVyIHR3ZWV0cyBiZWhlcmVuIHZhbnVpdCBkZSBDTVNNUyBhZG1pbi4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQuIENvbnRyb2xlZXIgdXcgcGVybWlzc2llcy4nOwokbGFuZ1snVHdpdHRlciddID0gJ1R3aXR0ZXIgJzsKJGxhbmdbJ09wdGlvbnMnXSA9ICdPcHRpZXMnOwokbGFuZ1sndGl0bGVfdHdpdHRlciddID0gJ1R3aXR0ZXIgJzsKJGxhbmdbJ3RpdGxlX29wdGlvbnMnXSA9ICdPcHRpZXMnOwokbGFuZ1snc3VibWl0J10gPSAnVmVyc3R1cmVuJzsKJGxhbmdbJ2FwcGx5J10gPSAnVG9lcGFzc2VuJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZWVyJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0Jpandlcmtlbic7CiRsYW5nWydzZW5kJ10gPSAnVmVyc3R1cmVuJzsKJGxhbmdbJ3Jlc3RvcmUnXSA9ICdUZXJ1Z3pldHRlbic7CiRsYW5nWydzdGF0dXNfdGl0bGUnXSA9ICdXYXQgYmVudCB1IGFhbiBoZXQgZG9lbj8nOwokbGFuZ1snbm9fdHdpdHRlcl9jcmVkZW50aWFsX3NldCddID0gJ1BsZWFzZSBhdXRob3JpemUgeW91ciBUd2l0dGVyIGFjY291bnQgaW50byB0aGUgJnF1b3Q7T3B0aW9ucyZxdW90OyB0YWIuJzsKJGxhbmdbJ3NldF90d2l0dGVyX2NyZWRlbnRpYWwnXSA9ICdWb2VyIHV3IFR3aXR0ZXIgZ2VnZXZlbnMgaW4uJzsKJGxhbmdbJ3JlcXVpcmVfY3VybCddID0gJ0RlemUgbW9kdWxlIHZlcmVpc3QgY3VybCA8ZW0+KDxhIGhyZWY9Imh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwIiByZWw9ImV4dGVybmFsIj5odHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vYm9vay5jdXJsLnBocDwvYT4pPC9lbT4nOwokbGFuZ1snbG9naW4nXSA9ICdMb2dpbiAnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdXYWNodHdvb3JkJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdUaW1lLW91dCc7CiRsYW5nWyd0d2l0dGVyX2NyZWRlbnRpYWxzX25vdF9zZXQnXSA9ICdEZXplIG1vZHVsZSBoZWVmdCBhdXRob3Jpc2F0aWUgbm9kaWcgdmFuIFR3aXR0ZXIuIENvbnRyb2xlZXIgaGllcnZvb3IgZGUgbW9kdWxlIGFkbWluIHBhZ2luYS4nOwokbGFuZ1snc2lnbl93aXRoX3R3aXR0ZXInXSA9ICdJbmxvZ2dlbiBiaWogVHdpdHRlcic7CiRsYW5nWyd0d2l0dGVyX3dlbGNvbWUnXSA9ICdXZWxrb20gJXMnOwokbGFuZ1sndW5zaWduX3R3aXR0ZXInXSA9ICdVaXRsb2dnZW4gYmlqIFR3aXR0ZXInOwokbGFuZ1sndGl0bGVfdGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1snY29kZSddID0gJ0NvZGUgJzsKJGxhbmdbJ3RpdGxlX2FkZF90ZW1wbGF0ZSddID0gJ1NqYWJsb29uIHRvZXZvZWdlbic7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAnVmVyc3R1dXJkIHZpYSBUd2l0dGVyJzsKJGxhbmdbJ2Zvcm1fc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzaG9ydGVuJ10gPSAnUGFzIGtvcnRlIHVybHMgdG9lJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xIC0gMjkgSnVuZSAyMDA5LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuMC4wIC0gMzAgSnVuZSAyMDEwLiBJbXBsZW1lbnRhdGlvbiBvZiBPQXV0aC48L2xpPiANCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkNvbmZpZ3VyZSB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbHMgaW4gdGhlIGJhY2tlbmQuIFVzZSB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VHdpdHRlciZxdW90O30gaW4geW91ciBwYWdlcy90ZW1wbGF0ZXMuPC9wPg0KPHA+WW91IGNhbiBhbHNvIHNob3cgVHdpdHRlciBzZWFyY2ggcmVzdWx0cyB1c2luZyB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VHdpdHRlciZxdW90OyBhY3Rpb249JnF1b3Q7c2VhcmNoJnF1b3Q7IHF1ZXJ5PSZxdW90O3lvdXIgc2VhcmNoICN0ZXJtcyZxdW90O30uPC9wPg0KPGgzPkV4YW1wbGUgb2YgdGltZWxpbmU8L2gzPg0KPHA+VG8gY3JlYXRlIGEgdGVtcGxhdGUsIHlvdSBjYW4gZmlyc3QgbG9vcCBvbiB7JHRpbWVsaW5lfS4gVGhlbiwgSSBhZHZpc2UgeW91IHRvIHVzZSB0aGUgeyR0aW1lbGluZXx2YXJfZHVtcH0gZnVuY3Rpb24gdG8ga25vdyB3aGF0IGFyZSB0aGUgb3B0aW9ucyB5b3UgY2FuIHVzZS48L3A+DQo8cD5Zb3UgY2FuIGFsc28gY2xpY2sgb24gdGhlICZxdW90O1Jlc3RvcmUmcXVvdDsgYnV0dG9uIHdobyYjMDM5O2xsIGdpdmUgeW91IGEgYmFzaWMgdGVtcGxhdGUuPC9wPg0KPHA+RXhhbXBsZSA6PC9wPg0KPHByZT4NCntmb3JlYWNoIGZyb209JHRpbWVsaW5lIGl0ZW09dHdlZXR9ICANCiAgICA8ZGl2IGlkPSZxdW90O3N0YXR1c197JHR3ZWV0LT5pZH0mcXVvdDsgc3R5bGU9JnF1b3Q7Ym9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5OyZxdW90Oz4NCiAgICAgIDxkaXYgc3R5bGU9JnF1b3Q7ZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogMjBweDsgJnF1b3Q7PjxpbWcgc3JjPSZxdW90O3skdHdlZXQtPnBpY3R1cmV9JnF1b3Q7IGFsdD0mcXVvdDt7JHR3ZWV0LT5hdXRob3JfbmFtZX0mcXVvdDsgLz48L2Rpdj4NCiAgICAgIDxwPjxzdHJvbmc+eyR0d2VldC0+YXV0aG9yX25hbWV9PC9zdHJvbmc+IA0KICAgICAgeyR0d2VldC0+Z2V0VGV4dCgpfTwvcD4NCiAgICAgIDxwPnskdHdlZXQtPmdldFdoZW4oKX0gZnJvbSB7JHR3ZWV0LT5zb3VyY2V9PC9wPg0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtjbGVhcjogcmlnaHQmcXVvdDs+PC9kaXY+ICANCiAgICA8L2Rpdj4gIA0Key9mb3JlYWNofQ0KPC9wcmU+DQo8aDQ+VHdlZXQgYnV0dG9uPC9oND4NCjxwPlRvIGluc2VydCB0aGUgVHdlZXQgYnV0dG9uIGluIHlvdXIgYXJ0aWNsZXMgb3IgcGFnZXMsIGp1c3QgdXNlIHtUd2l0dGVyIGFjdGlvbj0mcXVvdDt0d2VldCZxdW90O30uIFlvdSBjYW4gYWxzbyBhZGQgdGhlIHBhcmFtICZxdW90O3ZpYSZxdW90OyB3aXRoIGEgZGVzaXJlZCBUd2l0dGVyIHNjcmVlbm5hbWUuPC9wPg0KPGg0PkludGVncmF0ZSBUd2l0dGVyIGluIHlvdXIgb3duIG1vZHVsZXM8L2g0Pg0KPHA+WW91IGNhbiBnZXQgYSBzbWFsbCBUd2l0dGVyIGljb24gYW5kIGxpbmsgdXNpbmcgdGhlIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzWyYjMDM5O1R3aXR0ZXImIzAzOTtdWyYjMDM5O29iamVjdCYjMDM5O10tPmNyZWF0ZVNlbmRMaW5rKCRpZCwkcmV0dXJuaWQsYXJyYXkoJiMwMzk7c3RhdHVzJiMwMzk7ID0+ICRzdGF0dXMpKTs8L3A+DQo8cD5Zb3UgY2FuIGFsc28gY2FsbCB0aGUgcHVibGljIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzWyYjMDM5O1R3aXR0ZXImIzAzOTtdWyYjMDM5O29iamVjdCYjMDM5O10tPnVwZGF0ZVN0YXR1cyhzdHJpbmcgJG1lc3NhZ2UsIGJvb2xlYW4gJHNob3J0ZW4pICh3aXRoIGEgMTQwIG1heCBtZXNzYWdlLikgdG8gc2VuZCBtZXNzYWdlIHRvIFR3aXR0ZXIuPC9wPg0KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgcHVibGljIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzWyYjMDM5O1R3aXR0ZXImIzAzOTtdWyYjMDM5O29iamVjdCYjMDM5O10tPnNob3J0ZW5VcmxzKCRtZXNzYWdlKSB0byBvbmx5IHNob3J0ZW4gdGhlIHVybHMgY29udGFpbmVkIGludG8gdGhlIG1lc3NhZ2UuPC9wPg0KPHA+DQo8aDM+V2hhdCBQYXJhbWV0ZXJzIERvZXMgSXQgVGFrZTwvaDM+DQo8cD4NCjx1bD4NCiAgPGxpPjxiPmxpbWl0PC9iPiAtIElmIHlvdSBzZXQgdGhhdCwgaXQgd2lsbCBsaW1pdCB0aGUgbnVtYmVyIG9mIGxhdGVzdCB0d2l0dGVyIHVwZGF0ZXMgdG8gdGhpcyB2YWx1ZS48L2xpPg0KICA8bGk+PGI+dGVtcGxhdGU8L2I+IC0gU2VsZWN0IGEgY3VzdG9tIHRlbXBsYXRlIHNldCBpbiB0aGUgYWRtaW4gcGFubmVsLjwvbGk+DQogIDxsaT48Yj51c2VyX2lkPC9iPiAtIFNwZWNpZnkgYW4gdXNlciBpZDwvbGk+DQogIDxsaT48Yj5zY3JlZW5fbmFtZTwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgc2NyZWVuIG5hbWU8L2xpPg0KIDwvdWw+DQogPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA5LCBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGEgaHJlZj0ibWFpbHRvOmpjY0Btb3JyaXMtY2hhcG1hbi5jb20iPjxqY2NAbW9ycmlzLWNoYXBtYW4uY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTMzNTY5ODcwOC4xMjg0NTg2MjE3LjEyOTM0NjgwODguMTI5MzQ3MTEyNy42NTcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjkzNDUzNDk1LjY1My41Ny51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2J1Zy9saXN0LzYnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTU1MTMwNjE3OS0xMjg0NTg2MjE2NzExJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuNC4xMC4xMjkzNDcxMTI3JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3ZWV0IE1hZGUgU2ltcGxlICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Bvc3QgSW5zdGFsbCBNZXNzYWdlLCAoZS5nLiwgQmUgc3VyZSB0byBzZXQgIk1hbmFnZSBUd2l0dGVyIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhKSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVHdlZXQgTWFkZSBTaW1wbGUg0YPQtNCw0LvQtdC9Lic7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAn0JTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4/INCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0Y3RgtC+0YIg0L/RgNC10LrRgNCw0YHQvdGL0Lkg0LzQvtC00YPQu9GMPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ9Cc0L7QtNGD0LvRjCDRg9C00LDQu9C10L0uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ9Cc0L7QtNGD0LvRjCDQstC10YDRgdC40LggJXMg0YPRgdGC0LDQvdC+0LLQu9C10L0uJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAn0JzQvtC00YPQu9GMINC+0LHQvdC+0LLQu9C10L0g0LTQviDQstC10YDRgdC40LggJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn0K3RgtC+0YIg0LzQvtC00YPQu9GMINC/0L7Qt9Cy0L7Qu9GP0LXRgiDRg9C/0YDQsNCy0LvRj9GC0Ywg0LLQsNGI0LjQvCDQotCy0LjRgtGC0LXRgNC+0Lwg0LjQtyBDTVNNUy4g0KTRg9C90LrRhtC40Lgg0L7RgtC/0YDQsNCy0LrQuCDQuCDQv9C+0LvRg9GH0LXQvdC40Y8g0LTQvtGB0YLRg9C/0L3Riy4nOwokbGFuZ1snZXJyb3InXSA9ICfQntGI0LjQsdC60LAhJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICfQrdGC0L7RgiDQvNC+0LTRg9C70Ywg0L/QvtC30LLQvtC70Y/QtdGCINGD0L/RgNCw0LLQu9GP0YLRjCDQstCw0YjQuNC8INCi0LLQuNGC0YLQtdGA0L7QvCDQuNC3IENNU01TLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICfQlNC+0YHRgtGD0L8g0LfQsNC60YDRi9GCLiDQn9C+0LbQsNC70YPQudGB0YLQsCDQv9GA0L7QstC10YDRjNGC0LUg0YHQstC+0Lgg0L/RgNCw0LLQsC4nOwokbGFuZ1snVHdpdHRlciddID0gJ9Ci0LLQuNGC0YLQtdGAJzsKJGxhbmdbJ09wdGlvbnMnXSA9ICfQntC/0YbQuNC4JzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICfQotCy0LjRgtGC0LXRgCc7CiRsYW5nWyd0aXRsZV9vcHRpb25zJ10gPSAn0J7Qv9GG0LjQuCc7CiRsYW5nWydzdWJtaXQnXSA9ICfQntGC0L/RgNCw0LLQuNGC0YwnOwokbGFuZ1snYXBwbHknXSA9ICfQn9GA0LjQvNC10L3QuNGC0YwnOwokbGFuZ1snY2FuY2VsJ10gPSAn0L7RgtC80LXQvdCwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ9Ce0LHQvdC+0LLQuNGC0YwnOwokbGFuZ1snc2VuZCddID0gJ9Ce0YLQv9GA0LDQstC40YLRjCc7CiRsYW5nWydyZXN0b3JlJ10gPSAn0JLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMJzsKJGxhbmdbJ3N0YXR1c190aXRsZSddID0gJ9Cn0YLQviDQstGLINC00LXQu9Cw0LXRgtC1Pyc7CiRsYW5nWydub190d2l0dGVyX2NyZWRlbnRpYWxfc2V0J10gPSAnUGxlYXNlIGF1dGhvcml6ZSB5b3VyIFR3aXR0ZXIgYWNjb3VudCBpbnRvIHRoZSAiT3B0aW9ucyIgdGFiLic7CiRsYW5nWydzZXRfdHdpdHRlcl9jcmVkZW50aWFsJ10gPSAnUGxlYXNlIGVudGVyIHlvdXIgVHdpdHRlciBjcmVkZW50aWFsLic7CiRsYW5nWydyZXF1aXJlX2N1cmwnXSA9ICdUaGlzIG1vZHVsZSByZXF1aXJlIGN1cmwgPGVtPig8YSBocmVmPSJodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vYm9vay5jdXJsLnBocCIgcmVsPSJleHRlcm5hbCI+aHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2suY3VybC5waHA8L2E+KTwvZW0+JzsKJGxhbmdbJ2xvZ2luJ10gPSAn0JvQvtCz0LjQvSc7CiRsYW5nWydwYXNzd29yZCddID0gJ9Cf0LDRgNC+0LvRjCc7CiRsYW5nWyd0aW1lb3V0J10gPSAn0KLQsNC50Lwt0LDRg9GCJzsKJGxhbmdbJ3R3aXR0ZXJfY3JlZGVudGlhbHNfbm90X3NldCddID0gJ1RoaXMgbW9kdWxlIG5lZWRzIGF1dGhvcml6YXRpb24gZnJvbSBUd2l0dGVyLiBQbGVhc2Ugc2VlIHRoZSBtb2R1bGUgYWRtaW4gcGFuZWwuJzsKJGxhbmdbJ3NpZ25fd2l0aF90d2l0dGVyJ10gPSAnU2lnbiBpbiB3aXRoIFR3aXR0ZXInOwokbGFuZ1sndHdpdHRlcl93ZWxjb21lJ10gPSAn0JTQvtCx0YDQviDQv9C+0LbQsNC70L7QstCw0YLRjCAlcyc7CiRsYW5nWyd1bnNpZ25fdHdpdHRlciddID0gJ1Vuc2lnbiBmcm9tIFR3aXR0ZXInOwokbGFuZ1sndGl0bGVfdGVtcGxhdGVzJ10gPSAn0KjQsNCx0LvQvtC90YsnOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0nOwokbGFuZ1snY29kZSddID0gJ9Ca0L7QtCc7CiRsYW5nWyd0aXRsZV9hZGRfdGVtcGxhdGUnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINGI0LDQsdC70L7QvSc7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAn0J7RgtC/0YDQsNCy0LjRgtGMINGH0LXRgNC10Lcg0KLQstC40YLRgtC10YAnOwokbGFuZ1snZm9ybV9zdGF0dXMnXSA9ICfQodGC0LDRgtGD0YEnOwokbGFuZ1snc2hvcnRlbiddID0gJ9Ca0L7RgNC+0YLQutC40LUgdXJsXCdzJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT7QktC10YDRgdC40Y8gMC4wLjEgLSAyOSBKdW5lIDIwMDkuINCf0LXRgNCy0YvQuSDQstGL0L/Rg9GB0LouPC9saT4NCjxsaT7QktC10YDRgdC40Y8gMS4wLjAgLSAzMCBKdW5lIDIwMTAuINCS0L3QtdC00YDQtdC90LjQtSBPQXV0aC48L2xpPiANCjwvdWw+ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvdyB5b3UgdG8gbWFuYWdlIHlvdXIgVHdpdHRlciBmcm9tIENNU01TLiBCb3RoIHNlbmQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Db25maWd1cmUgeW91ciBUd2l0dGVyIGNyZWRlbnRpYWxzIGluIHRoZSBiYWNrZW5kLiBVc2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJUd2l0dGVyIn0gaW4geW91ciBwYWdlcy90ZW1wbGF0ZXMuPC9wPg0KPHA+WW91IGNhbiBhbHNvIHNob3cgVHdpdHRlciBzZWFyY2ggcmVzdWx0cyB1c2luZyB7Y21zX21vZHVsZSBtb2R1bGU9IlR3aXR0ZXIiIGFjdGlvbj0ic2VhcmNoIiBxdWVyeT0ieW91ciBzZWFyY2ggI3Rlcm1zIn0uPC9wPg0KPGgzPkV4YW1wbGUgb2YgdGltZWxpbmU8L2gzPg0KPHA+VG8gY3JlYXRlIGEgdGVtcGxhdGUsIHlvdSBjYW4gZmlyc3QgbG9vcCBvbiB7JHRpbWVsaW5lfS4gVGhlbiwgSSBhZHZpc2UgeW91IHRvIHVzZSB0aGUgeyR0aW1lbGluZXx2YXJfZHVtcH0gZnVuY3Rpb24gdG8ga25vdyB3aGF0IGFyZSB0aGUgb3B0aW9ucyB5b3UgY2FuIHVzZS48L3A+DQo8cD5Zb3UgY2FuIGFsc28gY2xpY2sgb24gdGhlICJSZXN0b3JlIiBidXR0b24gd2hvXCdsbCBnaXZlIHlvdSBhIGJhc2ljIHRlbXBsYXRlLjwvcD4NCjxwPkV4YW1wbGUgOjwvcD4NCjxwcmU+DQp7Zm9yZWFjaCBmcm9tPSR0aW1lbGluZSBpdGVtPXR3ZWV0fSAgDQogICAgPGRpdiBpZD0ic3RhdHVzX3skdHdlZXQtPmlkfSIgc3R5bGU9ImJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgZ3JheTsiPg0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogMjBweDsgIj48aW1nIHNyYz0ieyR0d2VldC0+cGljdHVyZX0iIGFsdD0ieyR0d2VldC0+YXV0aG9yX25hbWV9IiAvPjwvZGl2Pg0KICAgICAgPHA+PHN0cm9uZz57JHR3ZWV0LT5hdXRob3JfbmFtZX08L3N0cm9uZz4gDQogICAgICB7JHR3ZWV0LT5nZXRUZXh0KCl9PC9wPg0KICAgICAgPHA+eyR0d2VldC0+Z2V0V2hlbigpfSBmcm9tIHskdHdlZXQtPnNvdXJjZX08L3A+DQogICAgICA8ZGl2IHN0eWxlPSJjbGVhcjogcmlnaHQiPjwvZGl2PiAgDQogICAgPC9kaXY+ICANCnsvZm9yZWFjaH0NCjwvcHJlPg0KPGg0PlR3ZWV0IGJ1dHRvbjwvaDQ+DQo8cD5UbyBpbnNlcnQgdGhlIFR3ZWV0IGJ1dHRvbiBpbiB5b3VyIGFydGljbGVzIG9yIHBhZ2VzLCBqdXN0IHVzZSB7VHdpdHRlciBhY3Rpb249InR3ZWV0In0uIFlvdSBjYW4gYWxzbyBhZGQgdGhlIHBhcmFtICJ2aWEiIHdpdGggYSBkZXNpcmVkIFR3aXR0ZXIgc2NyZWVubmFtZS48L3A+DQo8aDQ+SW50ZWdyYXRlIFR3aXR0ZXIgaW4geW91ciBvd24gbW9kdWxlczwvaDQ+DQo8cD5Zb3UgY2FuIGdldCBhIHNtYWxsIFR3aXR0ZXIgaWNvbiBhbmQgbGluayB1c2luZyB0aGUgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbXCdUd2l0dGVyXCddW1wnb2JqZWN0XCddLT5jcmVhdGVTZW5kTGluaygkaWQsJHJldHVybmlkLGFycmF5KFwnc3RhdHVzXCcgPT4gJHN0YXR1cykpOzwvcD4NCjxwPllvdSBjYW4gYWxzbyBjYWxsIHRoZSBwdWJsaWMgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbXCdUd2l0dGVyXCddW1wnb2JqZWN0XCddLT51cGRhdGVTdGF0dXMoc3RyaW5nICRtZXNzYWdlLCBib29sZWFuICRzaG9ydGVuKSAod2l0aCBhIDE0MCBtYXggbWVzc2FnZS4pIHRvIHNlbmQgbWVzc2FnZSB0byBUd2l0dGVyLjwvcD4NCjxwPllvdSBjYW4gYWxzbyB1c2UgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1tcJ1R3aXR0ZXJcJ11bXCdvYmplY3RcJ10tPnNob3J0ZW5VcmxzKCRtZXNzYWdlKSB0byBvbmx5IHNob3J0ZW4gdGhlIHVybHMgY29udGFpbmVkIGludG8gdGhlIG1lc3NhZ2UuPC9wPg0KPHA+DQo8aDM+V2hhdCBQYXJhbWV0ZXJzIERvZXMgSXQgVGFrZTwvaDM+DQo8cD4NCjx1bD4NCiAgPGxpPjxiPmxpbWl0PC9iPiAtIElmIHlvdSBzZXQgdGhhdCwgaXQgd2lsbCBsaW1pdCB0aGUgbnVtYmVyIG9mIGxhdGVzdCB0d2l0dGVyIHVwZGF0ZXMgdG8gdGhpcyB2YWx1ZS48L2xpPg0KICA8bGk+PGI+dGVtcGxhdGU8L2I+IC0gU2VsZWN0IGEgY3VzdG9tIHRlbXBsYXRlIHNldCBpbiB0aGUgYWRtaW4gcGFubmVsLjwvbGk+DQogIDxsaT48Yj51c2VyX2lkPC9iPiAtIFNwZWNpZnkgYW4gdXNlciBpZDwvbGk+DQogIDxsaT48Yj5zY3JlZW5fbmFtZTwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgc2NyZWVuIG5hbWU8L2xpPg0KIDwvdWw+DQogPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0IMKpIDIwMDksIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8YSBocmVmPSJtYWlsdG86amNjQG1vcnJpcy1jaGFwbWFuLmNvbSI+PGpjY0Btb3JyaXMtY2hhcG1hbi5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sncWNhJ10gPSAnUDAtNjM2NjExNzU4LTEyOTA3NzMwNTQwMzAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjk2MjU0NDM4LjIwLjEwLnV0bWNzcj1jbXNtYWRlc2ltcGxlLnJ1fHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9Lyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjU4MTEwMzgwOS4xMjkwNzczMDQ3LjEyOTM2NDcwNjYuMTI5NjI1NDQzOC4yMCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjk2MjU0NDM4JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3ZWV0IE1hZGVTaW1wbGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb25zIG1lZGRlbGFuZGUsIChLb20gaWgmYXJpbmc7ZyBhdHQgc3QmYXVtbDtsbGEgaW4gYWxsYSByJmF1bWw7dHRpZ2hldGVyICknOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1R3ZWV0IE1hZGVTaW1wbGUgYXZpbnN0YWxsZXJhZC4nOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCBhdmluc3RhbGxlcmEgVHdlZXQgTWFkZVNpbXBsZSc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZW4gYXZpbnN0YWxsZXJhZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2lvbiAlcyBpbnN0YWxsZXJhZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGVuIHVwcGdyYWRlcmFkZXMgdGlsbCB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ01lZCBkZW4gaCZhdW1sO3IgbW9kdWxlbiBrYW4gZHUgaGFudGVyYSBkaW4gVHdpdHRlciBmciZhcmluZztuIENNU01TJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVsISc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnTWVkIGRlbm5hIG1vZHVsIGthbiBkdSBoYW50ZXJhIFR3aXR0ZXIgZnImYXJpbmc7biBDTVNNUy4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnJkFyaW5nO3Rrb21zdCBuZWthZC4gViZhdW1sO25saWdlbiBrb2xsYSBkaW5hIHImYXVtbDt0dGlnaGV0ZXIuJzsKJGxhbmdbJ1R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ09wdGlvbnMnXSA9ICdBbHRlcm5hdGl2JzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ3RpdGxlX29wdGlvbnMnXSA9ICdBbHRlcm5hdGl2JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NwYXJhJzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbHknOwokbGFuZ1snY2FuY2VsJ10gPSAnJkFyaW5nO25ncmEnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBwZGF0ZXJhJzsKJGxhbmdbJ3NlbmQnXSA9ICdTa2lja2EnOwokbGFuZ1sncmVzdG9yZSddID0gJyZBcmluZzt0ZXJzdCZhdW1sO2xsJzsKJGxhbmdbJ3N0YXR1c190aXRsZSddID0gJ1ZhZCBnJm91bWw7ciBkdT8nOwokbGFuZ1snbm9fdHdpdHRlcl9jcmVkZW50aWFsX3NldCddID0gJ1YmYXVtbDtubGlnZW4gdmVyaWZlcmEgZGl0dCBUd2l0dGVyLWtvbnRvICBpICZxdW90O09wdGlvbnMmcXVvdDstZmxpa2VuLic7CiRsYW5nWydzZXRfdHdpdHRlcl9jcmVkZW50aWFsJ10gPSAnQW5nZSBkaW4gVHdpdHRlciBjZXJ0aWZpZXJpbmdlbi4nOwokbGFuZ1sncmVxdWlyZV9jdXJsJ10gPSAnVGhpcyBtb2R1bGUgcmVxdWlyZSBjdXJsIDxlbT4oPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2suY3VybC5waHAiIHJlbD0iZXh0ZXJuYWwiPmh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwPC9hPik8L2VtPic7CiRsYW5nWydsb2dpbiddID0gJ0xvZ2dhIGluJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTCZvdW1sO3Nlbm9yZCc7CiRsYW5nWyd0aW1lb3V0J10gPSAnVGltZW91dCc7CiRsYW5nWyd0d2l0dGVyX2NyZWRlbnRpYWxzX25vdF9zZXQnXSA9ICdEZW5uYSBtb2R1bCBiZWgmb3VtbDt2ZXIgdmVyaWZlcmEgZnImYXJpbmc7biBUd2l0dGVyLiBTZSBtb2R1bGVzIGFkbWluIHBhbmVsLic7CiRsYW5nWydzaWduX3dpdGhfdHdpdHRlciddID0gJ0xvZ2dhIGluIG1lZCBUd2l0dGVyJzsKJGxhbmdbJ3R3aXR0ZXJfd2VsY29tZSddID0gJ1YmYXVtbDtsa29tbWVuICVzJzsKJGxhbmdbJ3Vuc2lnbl90d2l0dGVyJ10gPSAnVW5zaWduIGZyb20gVHdpdHRlcic7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZXMnXSA9ICdNYWxsYXInOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdNYWxsJzsKJGxhbmdbJ2NvZGUnXSA9ICdLb2QnOwokbGFuZ1sndGl0bGVfYWRkX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwgbWFsbCc7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAnU2tpY2thIHZpYSBUd2l0dGVyJzsKJGxhbmdbJ2Zvcm1fc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3Nob3J0ZW4nXSA9ICdTaG9ydGVuIHVybHMnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEgLSAyOSBKdW5lIDIwMDkuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS4wLjAgLSAzMCBKdW5lIDIwMTAuIEltcGxlbWVudGF0aW9uIG9mIE9BdXRoLjwvbGk+IA0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3cgeW91IHRvIG1hbmFnZSB5b3VyIFR3aXR0ZXIgZnJvbSBDTVNNUy4gQm90aCBzZW5kIGFuZCByZWNlaXZlIGZ1bmN0aW9ucyBhcmUgYXZhaWxhYmxlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+Q29uZmlndXJlIHlvdXIgVHdpdHRlciBjcmVkZW50aWFscyBpbiB0aGUgYmFja2VuZC4gVXNlIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtUd2l0dGVyJnF1b3Q7fSBpbiB5b3VyIHBhZ2VzL3RlbXBsYXRlcy48L3A+DQo8cD5Zb3UgY2FuIGFsc28gc2hvdyBUd2l0dGVyIHNlYXJjaCByZXN1bHRzIHVzaW5nIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtUd2l0dGVyJnF1b3Q7IGFjdGlvbj0mcXVvdDtzZWFyY2gmcXVvdDsgcXVlcnk9JnF1b3Q7eW91ciBzZWFyY2ggI3Rlcm1zJnF1b3Q7fS48L3A+DQo8aDM+RXhhbXBsZSBvZiB0aW1lbGluZTwvaDM+DQo8cD5UbyBjcmVhdGUgYSB0ZW1wbGF0ZSwgeW91IGNhbiBmaXJzdCBsb29wIG9uIHskdGltZWxpbmV9LiBUaGVuLCBJIGFkdmlzZSB5b3UgdG8gdXNlIHRoZSB7JHRpbWVsaW5lfHZhcl9kdW1wfSBmdW5jdGlvbiB0byBrbm93IHdoYXQgYXJlIHRoZSBvcHRpb25zIHlvdSBjYW4gdXNlLjwvcD4NCjxwPllvdSBjYW4gYWxzbyBjbGljayBvbiB0aGUgJnF1b3Q7UmVzdG9yZSZxdW90OyBidXR0b24gd2hvJiMwMzk7bGwgZ2l2ZSB5b3UgYSBiYXNpYyB0ZW1wbGF0ZS48L3A+DQo8cD5FeGFtcGxlIDo8L3A+DQo8cHJlPg0Ke2ZvcmVhY2ggZnJvbT0kdGltZWxpbmUgaXRlbT10d2VldH0gIA0KICAgIDxkaXYgaWQ9JnF1b3Q7c3RhdHVzX3skdHdlZXQtPmlkfSZxdW90OyBzdHlsZT0mcXVvdDtib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGdyYXk7JnF1b3Q7Pg0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyAmcXVvdDs+PGltZyBzcmM9JnF1b3Q7eyR0d2VldC0+cGljdHVyZX0mcXVvdDsgYWx0PSZxdW90O3skdHdlZXQtPmF1dGhvcl9uYW1lfSZxdW90OyAvPjwvZGl2Pg0KICAgICAgPHA+PHN0cm9uZz57JHR3ZWV0LT5hdXRob3JfbmFtZX08L3N0cm9uZz4gDQogICAgICB7JHR3ZWV0LT5nZXRUZXh0KCl9PC9wPg0KICAgICAgPHA+eyR0d2VldC0+Z2V0V2hlbigpfSBmcm9tIHskdHdlZXQtPnNvdXJjZX08L3A+DQogICAgICA8ZGl2IHN0eWxlPSZxdW90O2NsZWFyOiByaWdodCZxdW90Oz48L2Rpdj4gIA0KICAgIDwvZGl2PiAgDQp7L2ZvcmVhY2h9DQo8L3ByZT4NCjxoND5Ud2VldCBidXR0b248L2g0Pg0KPHA+VG8gaW5zZXJ0IHRoZSBUd2VldCBidXR0b24gaW4geW91ciBhcnRpY2xlcyBvciBwYWdlcywganVzdCB1c2Uge1R3aXR0ZXIgYWN0aW9uPSZxdW90O3R3ZWV0JnF1b3Q7fS4gWW91IGNhbiBhbHNvIGFkZCB0aGUgcGFyYW0gJnF1b3Q7dmlhJnF1b3Q7IHdpdGggYSBkZXNpcmVkIFR3aXR0ZXIgc2NyZWVubmFtZS48L3A+DQo8aDQ+SW50ZWdyYXRlIFR3aXR0ZXIgaW4geW91ciBvd24gbW9kdWxlczwvaDQ+DQo8cD5Zb3UgY2FuIGdldCBhIHNtYWxsIFR3aXR0ZXIgaWNvbiBhbmQgbGluayB1c2luZyB0aGUgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJiMwMzk7VHdpdHRlciYjMDM5O11bJiMwMzk7b2JqZWN0JiMwMzk7XS0+Y3JlYXRlU2VuZExpbmsoJGlkLCRyZXR1cm5pZCxhcnJheSgmIzAzOTtzdGF0dXMmIzAzOTsgPT4gJHN0YXR1cykpOzwvcD4NCjxwPllvdSBjYW4gYWxzbyBjYWxsIHRoZSBwdWJsaWMgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJiMwMzk7VHdpdHRlciYjMDM5O11bJiMwMzk7b2JqZWN0JiMwMzk7XS0+dXBkYXRlU3RhdHVzKHN0cmluZyAkbWVzc2FnZSwgYm9vbGVhbiAkc2hvcnRlbikgKHdpdGggYSAxNDAgbWF4IG1lc3NhZ2UuKSB0byBzZW5kIG1lc3NhZ2UgdG8gVHdpdHRlci48L3A+DQo8cD5Zb3UgY2FuIGFsc28gdXNlIHRoZSBwdWJsaWMgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbJiMwMzk7VHdpdHRlciYjMDM5O11bJiMwMzk7b2JqZWN0JiMwMzk7XS0+c2hvcnRlblVybHMoJG1lc3NhZ2UpIHRvIG9ubHkgc2hvcnRlbiB0aGUgdXJscyBjb250YWluZWQgaW50byB0aGUgbWVzc2FnZS48L3A+DQo8cD4NCjxoMz5XaGF0IFBhcmFtZXRlcnMgRG9lcyBJdCBUYWtlPC9oMz4NCjxwPg0KPHVsPg0KICA8bGk+PGI+bGltaXQ8L2I+IC0gSWYgeW91IHNldCB0aGF0LCBpdCB3aWxsIGxpbWl0IHRoZSBudW1iZXIgb2YgbGF0ZXN0IHR3aXR0ZXIgdXBkYXRlcyB0byB0aGlzIHZhbHVlLjwvbGk+DQogIDxsaT48Yj50ZW1wbGF0ZTwvYj4gLSBTZWxlY3QgYSBjdXN0b20gdGVtcGxhdGUgc2V0IGluIHRoZSBhZG1pbiBwYW5uZWwuPC9saT4NCiAgPGxpPjxiPnVzZXJfaWQ8L2I+IC0gU3BlY2lmeSBhbiB1c2VyIGlkPC9saT4NCiAgPGxpPjxiPnNjcmVlbl9uYW1lPC9iPiAtIFNwZWNpZnkgYW4gdXNlciBzY3JlZW4gbmFtZTwvbGk+DQogPC91bD4NCiA8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDksIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8YSBocmVmPSJtYWlsdG86amNjQG1vcnJpcy1jaGFwbWFuLmNvbSI+PGpjY0Btb3JyaXMtY2hhcG1hbi5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sncWNhJ10gPSAnUDAtMTY2MTg5MDAzMi0xMjkyMTAwNTQ4MjAyJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNjU5Mjk5NTc4LjEyOTI0NTYzMTguMTI5MjQ1NjMxOC4xMjkyNDU2MzE4LjEnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyOTI0NTYzMTgnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTI0NTYzMTguMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/classes/Tweet.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAKICAvKgogICAqIFJlbGF0aW9uIGNsYXNzCiAgICogCiAgICogVGhpcyBjbGFzcyBhbGxvdyBtYW5hZ2VtZW50IG9mIGEgVHdlZXQgb2JqZWN0CiAgICogCiAgICogCiAgICogQ29weXJpZ2h0czogTW9ycmlzICYgQ2hhcG1hbiBCZWxnaXVtIC0gSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIC0gMjAwOQogICAqIAogICAqLwoKY2xhc3MgVHdlZXQKewogIHZhciAkY3JlYXRlZF9hdDsKICB2YXIgJGlkOwogIHZhciAkdGV4dDsKICB2YXIgJHNvdXJjZTsKICAKICB2YXIgJGF1dGhvcl9uYW1lOwogIHZhciAkcGljdHVyZTsKICB2YXIgJHhtbDsKICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0V2hlbigpCiAgewogICAgcmV0dXJuIHNlbGY6OmRpc3RhbmNlX29mX3RpbWVfaW5fd29yZHMoc3RydG90aW1lKCR0aGlzLT5jcmVhdGVkX2F0KSkgLiAnIGFnbyc7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRUZXh0KCkKICB7CiAgICAkdGV4dCA9ICR0aGlzLT50ZXh0OwogICAgCiAgICBpZigoc3RycG9zKCR0ZXh0LCdodHRwJykgIT09IGZhbHNlKSB8fCAoc3RycG9zKCR0ZXh0LCdAJykgIT09IGZhbHNlKXx8IChzdHJwb3MoJHRleHQsJyMnKSAhPT0gZmFsc2UpKQogICAgewogICAgICAkd29yZHMgPSBhcnJheV91bmlxdWUoZXhwbG9kZSgnICcsICR0aGlzLT50ZXh0KSk7CiAgICAgIGZvcmVhY2ggKCR3b3JkcyBhcyAkd29yZCkKICAgICAgewogICAgICAgIGlmIChzdHJwb3MoJHdvcmQsJ2h0dHAnKSAhPT0gZmFsc2UpCiAgICAgICAgewogICAgICAgICAgJHRleHQgPSBzdHJfcmVwbGFjZSgkd29yZCwgJzxhIGhyZWY9IicgLiAkd29yZCAuICciIHRhcmdldD0iX25ldyI+JyAuICR3b3JkIC4gJzwvYT4nLCAkdGV4dCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIChzdHJwb3MoJHdvcmQsJ0AnKSA9PT0gMCkKICAgICAgICB7CiAgICAgICAgICAkbGluayA9IHN0cl9yZXBsYWNlKCdAJywgJycsICR3b3JkKTsKICAgICAgICAgICRsaW5rID0gc3RyX3JlcGxhY2UoJzonLCAnJywgJGxpbmspOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgJHRleHQgPSBzdHJfcmVwbGFjZSgkd29yZCwgJ0A8YSBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vJyAuICRsaW5rIC4gJyIgdGFyZ2V0PSJfbmV3Ij4nIC4gc3RyX3JlcGxhY2UoJ0AnLCAnJywgJHdvcmQpIC4gJzwvYT4nLCAkdGV4dCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIChzdHJwb3MoJHdvcmQsJyMnKSA9PT0gMCkKICAgICAgICB7CiAgICAgICAgICAkdGV4dCA9IHN0cl9yZXBsYWNlKCR3b3JkLCAnPGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NlYXJjaD9xPScgLiByYXd1cmxlbmNvZGUoJHdvcmQpIC4gJyIgdGFyZ2V0PSJfbmV3Ij4nIC4gJHdvcmQgLiAnPC9hPicsICR0ZXh0KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgIH0gICAgIAogICAgfQogICAgcmV0dXJuICR0ZXh0OwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNob3J0ZW5VcmxzKCRtZXNzYWdlKQogIHsKICAgICAkd29yZHMgPSBhcnJheV91bmlxdWUoZXhwbG9kZSgnICcsICRtZXNzYWdlKSk7CiAgICAgCiAgICAgJG5ld193b3JkcyA9IGFycmF5KCk7CiAgICAgICAgIAogICAgIGZvcmVhY2goJHdvcmRzIGFzICR3b3JkKQogICAgIHsKICAgICAgICBpZiAoc3RycG9zKCR3b3JkLCdodHRwJykgIT09IGZhbHNlKQogICAgICB7CiAgICAgICAgICAgLy8kdGV4dCA9IHN0cl9yZXBsYWNlKCR3b3JkLCAnPGEgaHJlZj0iJyAuICR3b3JkIC4gJyIgdGFyZ2V0PSJfbmV3Ij4nIC4gJHdvcmQgLiAnPC9hPicsICR0ZXh0KTsKICAgICAgICAgICAkbmV3X3dvcmRzW10gPSBzZWxmOjpzaG9ydGVuVXJsKCR3b3JkKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICAgJG5ld193b3Jkc1tdID0gJHdvcmQ7CiAgICAgIH0KICAgICB9CiAgICAgCiAgICAgcmV0dXJuIGltcGxvZGUoJyAnLCAkbmV3X3dvcmRzKTsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzaG9ydGVuVXJsKCR1cmwsICRzZXJ2aWNlID0gJ2JpdGx5JykKICB7CgkJc3dpdGNoKCRzZXJ2aWNlKQoJCXsKCQkJY2FzZSAnYml0bHknOgoJCQkJcmV0dXJuIHNlbGY6OnNob3J0ZW5VcmxCaXRMeSgkdXJsKTsKCQkJZGVmYXVsdDoKCQkJCXJldHVybiBzZWxmOjpzaG9ydGVuVXJsQml0THkoJHVybCk7CgkJfQogIH0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNob3J0ZW5VcmxCaXRMeSgkdXJsKQoJewoJCS8vIE1hZGUgd2l0aCBiaXQubHkgKGZvciB0aGUgbW9tZW50LCB0b3RvcGhlIGFjY291bnQ6IGFwaSBrZXk6IFJfYzViMDQ3NDM3MzFlODZhYmUzMWRhNDk0ZjQwZDRjYjQpCiAgICAgCiAgICAgJG1haW5fdXJsID0gJ2h0dHA6Ly9hcGkuYml0Lmx5L3Nob3J0ZW4nOwogICAgIAogICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAndmVyc2lvbicgPT4gJzIuMC4xJywKICAgICAgICAnZm9ybWF0JyA9PiAneG1sJywKICAgICAgICAnbG9naW4nID0+ICd0b3RvcGhlJywKICAgICAgICAnYXBpS2V5JyA9PiAnUl9jNWIwNDc0MzczMWU4NmFiZTMxZGE0OTRmNDBkNGNiNCcsCiAgICAgICAgJ2xvbmdVcmwnID0+ICR1cmwsCiAgICAgICAgKTsKICAgICAvL3Zhcl9kdW1wKCRwYXJhbXMpOwogICAgIAogICAgICR4bWwgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoZmlsZV9nZXRfY29udGVudHMoJG1haW5fdXJsIC4gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zKSkpOwogICAgIAogICAgIGlmICgkeG1sLT5zdGF0dXNDb2RlID09ICdPSycgJiYgIWlzc2V0KCR4bWwtPnJlc3VsdHMtPm5vZGVLZXlWYWwtPnN0YXR1c0NvZGUpKQogICAgIHsKICAgICAgICAvL3Zhcl9kdW1wKCR4bWwtPnJlc3VsdHMtPm5vZGVLZXlWYWwpOwogICAgICAgIHJldHVybiAkeG1sLT5yZXN1bHRzLT5ub2RlS2V5VmFsLT5zaG9ydFVybDsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgICByZXR1cm4gJHVybDsKICAgICB9Cgl9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVGcm9tWG1sKCR4bWwpCiAgewogICAgJHR3ZWV0ID0gbmV3IHNlbGY7ICAgIAogICAgJHR3ZWV0LT54bWwgPSAkeG1sOwoKICAgICRjb250ZW50ID0gc2ltcGxleG1sX2xvYWRfc3RyaW5nKCR0d2VldC0+eG1sKTsKICAgIAogICAgLy9lY2hvICc8cHJlPic7IHZhcl9kdW1wKCRjb250ZW50KTsgZWNobyAnPC9wcmU+JzsgCiAgICAKICAgICRkYXRhc1snY3JlYXRlZF9hdCddID0gICRjb250ZW50LT5jcmVhdGVkX2F0OwogICAgJGRhdGFzWydpZCddID0gIG51bWJlcl9mb3JtYXQoJGNvbnRlbnQtPmlkLCAwLCAnLicsICcnKTsKICAgICRkYXRhc1sndGV4dCddID0gICRjb250ZW50LT50ZXh0OwogICAgJGRhdGFzWydzb3VyY2UnXSA9ICAkY29udGVudC0+c291cmNlOwogICAgJGRhdGFzWydhdXRob3JfbmFtZSddID0gICRjb250ZW50LT51c2VyLT5zY3JlZW5fbmFtZTsKICAgICRkYXRhc1sncGljdHVyZSddID0gICRjb250ZW50LT51c2VyLT5wcm9maWxlX2ltYWdlX3VybDsgIAogICAgCiAgICAkdHdlZXQtPnBvcHVsYXRlKCRkYXRhcyk7CiAgICAKICAgIC8vZWNobyAnPHByZT4nOyB2YXJfZHVtcCgkdHdlZXQpOyBlY2hvICc8L3ByZT4nOyAKICAgIAogICAgcmV0dXJuICR0d2VldDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlRnJvbUpzb24oJGpzb24pCiAgewogICAgJHR3ZWV0ID0gbmV3IHNlbGY7ICAgIAogICAgJHR3ZWV0LT54bWwgPSAkanNvbjsKICAgICRkYXRhc1snY3JlYXRlZF9hdCddID0gICRqc29uWydjcmVhdGVkX2F0J107CiAgICAkZGF0YXNbJ2lkJ10gPSAgbnVtYmVyX2Zvcm1hdCgkanNvblsnaWQnXSwgMCwgJy4nLCAnJyk7CiAgICAkZGF0YXNbJ3RleHQnXSA9ICAkanNvblsndGV4dCddOwogICAgJGRhdGFzWydzb3VyY2UnXSA9ICAkanNvblsnc291cmNlJ107CiAgIAkkZGF0YXNbJ2F1dGhvcl9uYW1lJ10gPSAgJGpzb25bJ3VzZXInXVsnc2NyZWVuX25hbWUnXTsKICAgICRkYXRhc1sncGljdHVyZSddID0gICRqc29uWyd1c2VyJ11bJ3Byb2ZpbGVfaW1hZ2VfdXJsJ107CiAgICAkdHdlZXQtPnBvcHVsYXRlKCRkYXRhcyk7CgoKCQkvLyR0d2VldC0+cGljdHVyZSA9ICRqc29uCiAgICByZXR1cm4gJHR3ZWV0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVGcm9tSnNvblNlYXJjaCgkanNvbikKICB7CiAgICAkdHdlZXQgPSBuZXcgc2VsZjsgICAgCiAgICAkdHdlZXQtPnhtbCA9ICRqc29uOwoJCS8vdmFyX2R1bXAoJGpzb24pOwogICAgJGRhdGFzWydjcmVhdGVkX2F0J10gPSAgJGpzb25bJ2NyZWF0ZWRfYXQnXTsKICAgICRkYXRhc1snaWQnXSA9ICBudW1iZXJfZm9ybWF0KCRqc29uWydpZCddLCAwLCAnLicsICcnKTsKICAgICRkYXRhc1sndGV4dCddID0gICRqc29uWyd0ZXh0J107CiAgICAkZGF0YXNbJ3NvdXJjZSddID0gIGh0bWxfZW50aXR5X2RlY29kZSgkanNvblsnc291cmNlJ10pOwogICAJJGRhdGFzWydhdXRob3JfbmFtZSddID0gICRqc29uWydmcm9tX3VzZXInXTsKICAgIC8vJGRhdGFzWydwaWN0dXJlJ10gPSAgJGpzb25bJ3VzZXInXVsncHJvZmlsZV9pbWFnZV91cmwnXTsKICAgICRkYXRhc1sncGljdHVyZSddID0gICRqc29uWydwcm9maWxlX2ltYWdlX3VybCddOwogICAgJHR3ZWV0LT5wb3B1bGF0ZSgkZGF0YXMpOwoKCgkJLy8kdHdlZXQtPnBpY3R1cmUgPSAkanNvbgogICAgcmV0dXJuICR0d2VldDsKICB9CgogIAogIHB1YmxpYyBmdW5jdGlvbiBwb3B1bGF0ZSgkZGF0YXMpCiAgewogICAgJHRoaXMtPmNyZWF0ZWRfYXQgPSAkZGF0YXNbJ2NyZWF0ZWRfYXQnXTsKICAgICR0aGlzLT5pZCA9ICRkYXRhc1snaWQnXTsKICAgICR0aGlzLT50ZXh0ID0gJGRhdGFzWyd0ZXh0J107CiAgICAkdGhpcy0+c291cmNlID0gJGRhdGFzWydzb3VyY2UnXTsKICAgICR0aGlzLT5hdXRob3JfbmFtZSA9ICRkYXRhc1snYXV0aG9yX25hbWUnXTsKICAgICR0aGlzLT5waWN0dXJlID0gJGRhdGFzWydwaWN0dXJlJ107CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFyc2VUaW1lbGluZSgkdGltZWxpbmVfeG1sKQogIHsKICAgICR0aW1lbGluZSA9IGFycmF5KCk7CiAgICAKICAgIGZvcmVhY2ggKCR0aW1lbGluZV94bWwgYXMgJHN0YXR1cykKICAgIHsKICAgICAgJHRpbWVsaW5lW10gPSBzZWxmOjpjcmVhdGVGcm9tWG1sKCRzdGF0dXMtPmFzWG1sKCkpOwogICAgfQogICAgCiAgICByZXR1cm4gJHRpbWVsaW5lOyAgIAogIH0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhcnNlVGltZWxpbmVGcm9tSnNvbigkdGltZWxpbmVfeG1sKQogIHsKICAgICR0aW1lbGluZSA9IGFycmF5KCk7CiAgICBpZiAoaXNzZXQoJHRpbWVsaW5lX3htbC0+cmVzdWx0cykpCgl7CgkJJGxpc3QgPSAkdGltZWxpbmVfeG1sLT5yZXN1bHRzOwoJfQoJZWxzZQoJewoJCSRsaXN0ID0gJHRpbWVsaW5lX3htbDsKCX0KCglpZihpc19hcnJheSgkbGlzdCkpCgl7CiAgICBmb3JlYWNoICgkbGlzdCBhcyAkc3RhdHVzKQogICAgewogICAgICAkdGltZWxpbmVbXSA9IHNlbGY6OmNyZWF0ZUZyb21Kc29uKCRzdGF0dXMpOwogICAgfQogIH0gIAogICAgcmV0dXJuICR0aW1lbGluZTsgICAKICB9CiAgCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhcnNlU2VhcmNoRnJvbUpzb24oJHRpbWVsaW5lX3htbCkKICB7CgkJJHRpbWVsaW5lX3htbCA9IGpzb25fZGVjb2RlKCR0aW1lbGluZV94bWwsMSk7CgkJLy92YXJfZHVtcCgkdGltZWxpbmVfeG1sKTsKICAgICR0aW1lbGluZSA9IGFycmF5KCk7CiAgICBpZiAoaXNzZXQoJHRpbWVsaW5lX3htbFsncmVzdWx0cyddKSkKCXsKCQkkbGlzdCA9ICR0aW1lbGluZV94bWxbJ3Jlc3VsdHMnXTsKCX0KCWVsc2UKCXsKCQkkbGlzdCA9ICR0aW1lbGluZV94bWw7Cgl9CgoKICAgIGZvcmVhY2ggKCRsaXN0IGFzICRzdGF0dXMpCiAgICB7CiAgICAgICR0aW1lbGluZVtdID0gc2VsZjo6Y3JlYXRlRnJvbUpzb25TZWFyY2goJHN0YXR1cyk7CiAgICB9CiAgICAKICAgIHJldHVybiAkdGltZWxpbmU7ICAgCiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRpc3RhbmNlX29mX3RpbWVfaW5fd29yZHMoJGZyb21fdGltZSwgJHRvX3RpbWUgPSBudWxsLCAkaW5jbHVkZV9zZWNvbmRzID0gZmFsc2UpCiAgewogICAgJHRvX3RpbWUgPSAkdG9fdGltZT8gJHRvX3RpbWU6IHRpbWUoKTsKICAKICAgICRkaXN0YW5jZV9pbl9taW51dGVzID0gZmxvb3IoYWJzKCR0b190aW1lIC0gJGZyb21fdGltZSkgLyA2MCk7CiAgICAkZGlzdGFuY2VfaW5fc2Vjb25kcyA9IGZsb29yKGFicygkdG9fdGltZSAtICRmcm9tX3RpbWUpKTsKICAKICAgICRzdHJpbmcgPSAnJzsKICAgICRwYXJhbWV0ZXJzID0gYXJyYXkoKTsKICAKICAgIGlmICgkZGlzdGFuY2VfaW5fbWludXRlcyA8PSAxKQogICAgewogICAgICBpZiAoISRpbmNsdWRlX3NlY29uZHMpCiAgICAgIHsKICAgICAgICAkc3RyaW5nID0gJGRpc3RhbmNlX2luX21pbnV0ZXMgPT0gMCA/ICdsZXNzIHRoYW4gYSBtaW51dGUnIDogJzEgbWludXRlJzsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICBpZiAoJGRpc3RhbmNlX2luX3NlY29uZHMgPD0gNSkKICAgICAgICB7CiAgICAgICAgICAkc3RyaW5nID0gJ2xlc3MgdGhhbiA1IHNlY29uZHMnOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICgkZGlzdGFuY2VfaW5fc2Vjb25kcyA+PSA2ICYmICRkaXN0YW5jZV9pbl9zZWNvbmRzIDw9IDEwKQogICAgICAgIHsKICAgICAgICAgICRzdHJpbmcgPSAnbGVzcyB0aGFuIDEwIHNlY29uZHMnOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICgkZGlzdGFuY2VfaW5fc2Vjb25kcyA+PSAxMSAmJiAkZGlzdGFuY2VfaW5fc2Vjb25kcyA8PSAyMCkKICAgICAgICB7CiAgICAgICAgICAkc3RyaW5nID0gJ2xlc3MgdGhhbiAyMCBzZWNvbmRzJzsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoJGRpc3RhbmNlX2luX3NlY29uZHMgPj0gMjEgJiYgJGRpc3RhbmNlX2luX3NlY29uZHMgPD0gNDApCiAgICAgICAgewogICAgICAgICAgICRzdHJpbmcgPSAnaGFsZiBhIG1pbnV0ZSc7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoJGRpc3RhbmNlX2luX3NlY29uZHMgPj0gNDEgJiYgJGRpc3RhbmNlX2luX3NlY29uZHMgPD0gNTkpCiAgICAgICAgIHsKICAgICAgICAgICAkc3RyaW5nID0gJ2xlc3MgdGhhbiBhIG1pbnV0ZSc7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7CiAgICAgICAgICAgJHN0cmluZyA9ICcxIG1pbnV0ZSc7CiAgICAgICAgIH0KICAgICAgIH0KICAgICB9CiAgICAgZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gMiAmJiAkZGlzdGFuY2VfaW5fbWludXRlcyA8PSA0NCkKICAgICB7CiAgICAgICAkc3RyaW5nID0gJyVtaW51dGVzJSBtaW51dGVzJzsKICAgICAgICRwYXJhbWV0ZXJzWyclbWludXRlcyUnXSA9ICRkaXN0YW5jZV9pbl9taW51dGVzOwogICAgIH0KICAgICBlbHNlIGlmICgkZGlzdGFuY2VfaW5fbWludXRlcyA+PSA0NSAmJiAkZGlzdGFuY2VfaW5fbWludXRlcyA8PSA4OSkKICAgICB7CiAgICAgICAkc3RyaW5nID0gJ2Fib3V0IDEgaG91cic7CiAgICAgfQogICAgIGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzID49IDkwICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDE0MzkpCiAgICAgewogICAgICAgJHN0cmluZyA9ICdhYm91dCAlaG91cnMlIGhvdXJzJzsKICAgICAgICRwYXJhbWV0ZXJzWyclaG91cnMlJ10gPSByb3VuZCgkZGlzdGFuY2VfaW5fbWludXRlcyAvIDYwKTsKICAgICB9CiAgICAgZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gMTQ0MCAmJiAkZGlzdGFuY2VfaW5fbWludXRlcyA8PSAyODc5KQogICAgIHsKICAgICAgICRzdHJpbmcgPSAnMSBkYXknOwogICAgIH0KICAgICBlbHNlIGlmICgkZGlzdGFuY2VfaW5fbWludXRlcyA+PSAyODgwICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDQzMTk5KQogICAgIHsKICAgICAgICRzdHJpbmcgPSAnJWRheXMlIGRheXMnOwogICAgICAgJHBhcmFtZXRlcnNbJyVkYXlzJSddID0gcm91bmQoJGRpc3RhbmNlX2luX21pbnV0ZXMgLyAxNDQwKTsKICAgICB9CiAgICAgZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gNDMyMDAgJiYgJGRpc3RhbmNlX2luX21pbnV0ZXMgPD0gODYzOTkpCiAgICAgewogICAgICAgJHN0cmluZyA9ICdhYm91dCAxIG1vbnRoJzsKICAgICB9CiAgICAgZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gODY0MDAgJiYgJGRpc3RhbmNlX2luX21pbnV0ZXMgPD0gNTI1OTU5KQogICAgIHsKICAgICAgICRzdHJpbmcgPSAnJW1vbnRocyUgbW9udGhzJzsKICAgICAgICRwYXJhbWV0ZXJzWyclbW9udGhzJSddID0gcm91bmQoJGRpc3RhbmNlX2luX21pbnV0ZXMgLyA0MzIwMCk7CiAgICAgfQogICAgIGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzID49IDUyNTk2MCAmJiAkZGlzdGFuY2VfaW5fbWludXRlcyA8PSAxMDUxOTE5KQogICAgIHsKICAgICAgICRzdHJpbmcgPSAnYWJvdXQgMSB5ZWFyJzsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgICRzdHJpbmcgPSAnb3ZlciAleWVhcnMlIHllYXJzJzsKICAgICAgICRwYXJhbWV0ZXJzWycleWVhcnMlJ10gPSBmbG9vcigkZGlzdGFuY2VfaW5fbWludXRlcyAvIDUyNTk2MCk7CiAgICAgfQogICAKICAgICAgIHJldHVybiBzdHJ0cigkc3RyaW5nLCAkcGFyYW1ldGVycyk7CiAgICAgCiAgIH0KICAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRDdXJsKCR1cmwsICRjcmVkZW50aWFscyA9IG51bGwsICRkYXRhID0gYXJyYXkoKSwgJG1ldGhvZCA9ICdQT1NUJykKICB7CiAgICAgIC8vIGNyZWF0ZSBhIG5ldyBjVVJMIHJlc291cmNlCiAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAKICAgICAgaWYgKGNvdW50KCRkYXRhKSAhPSAwKQogICAgICB7CiAgICAgICAgICR1cmwgLj0gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkZGF0YSk7CiAgICAgIH0KICAgICAgCiAgICAgIC8vIHNldCBVUkwgYW5kIG90aGVyIGFwcHJvcHJpYXRlIG9wdGlvbnMKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgIAogICAgICBpZiAoJGNyZWRlbnRpYWxzKQogICAgICB7CiAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSUFdELCAnJyAuICRjcmVkZW50aWFsc1snbG9naW4nXSAuICc6JyAuICRjcmVkZW50aWFsc1sncGFzc3dvcmQnXSAuICcnKTsKICAgICAgfSAgIAogICAgICAKICAgICAgaWYgKCRtZXRob2QgPT0gJ1BPU1QnKQogICAgICB7CiAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwxKTsKICAgICAgfSAgCiAgICAgIAogICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICAgY3VybF9zZXRvcHQoICRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgnRXhwZWN0OicpICk7CgogICAgICAvKgogICAgICAvKgogICAgICBpZiAoY291bnQoJGRhdGEpICE9IDApCiAgICAgIHsKICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAkZGF0YSk7CiAgICAgIH0KICAgICAgKi8KICAgICAgCiAgICAgIC8vIGdyYWIgVVJMIGFuZCBwYXNzIGl0IHRvIHRoZSBicm93c2VyCiAgICAgICRvdXRwdXQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgCiAgICAgIC8vIGNsb3NlIGNVUkwgcmVzb3VyY2UsIGFuZCBmcmVlIHVwIHN5c3RlbSByZXNvdXJjZXMKICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgICAKICAgICAgcmV0dXJuICRvdXRwdXQ7CiAgfQogIAogIC8qKgogICAqIGRvU2VhcmNoIHBlcmZvcm1zIGEgc2VhcmNoIHF1ZXJ5CiAgICogQHBhcmFtICRxdWVyeSBUaGUgcXVlcnkgc3RyaW5nLCBsaW1pdGVkIHRvIDE0MCBjaGFycwogICAqIEBwYXJhbSAkcGFyYW1zIFBhcmFtZXRlcnMgZm9yIHRoZSBxdWVyeQogICAqIEByZXR1cm4gc2ltcGxleG1sCiAgICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlYXJjaCgkcXVlcnksICRwYXJhbXMgPSBhcnJheSgpKQogIHsKICAgICR1cmwgPSAnaHR0cDovL3NlYXJjaC50d2l0dGVyLmNvbS9zZWFyY2guYXRvbSc7CiAgICAKCQlpZiAoc3RycG9zKCRxdWVyeSwnT1InKSAhPT0gZmFsc2UpCgkJewoJCQkkcXVlcnkgPSBzdHJfcmVwbGFjZSgnT1InLCAnICcsIHN0cl9yZXBsYWNlKCcgJywgJycsICRxdWVyeSkpOwoJCQkkcGFyYW1zWydvcnMnXSA9ICRxdWVyeTsKCQl9CgkJZWxzZQoJCXsKCSAgICAkcGFyYW1zWydxJ10gPSBzdHJfcmVwbGFjZSgnICcsICcnLCAkcXVlcnkpOwoJCX0KCiAgICByZXR1cm4gc2ltcGxleG1sX2xvYWRfc3RyaW5nKFR3ZWV0OjpnZXRDdXJsKCR1cmwsIG51bGwsICRwYXJhbXMsICdHRVQnKSk7CiAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZG9Kc29uU2VhcmNoKCRxdWVyeSwgJHBhcmFtcyA9IGFycmF5KCkpCiAgewogICAgJHVybCA9ICdodHRwOi8vc2VhcmNoLnR3aXR0ZXIuY29tL3NlYXJjaC5qc29uJzsKICAgIAoJCWlmIChzdHJwb3MoJHF1ZXJ5LCdPUicpICE9PSBmYWxzZSkKCQl7CgkJCSRxdWVyeSA9IHN0cl9yZXBsYWNlKCdPUicsICcgJywgc3RyX3JlcGxhY2UoJyAnLCAnJywgJHF1ZXJ5KSk7CgkJCSRwYXJhbXNbJ29ycyddID0gJHF1ZXJ5OwoJCX0KCQllbHNlCgkJewoJICAgICRwYXJhbXNbJ3EnXSA9IHN0cl9yZXBsYWNlKCcgJywgJycsICRxdWVyeSk7CgkJfQoJCQogICAgcmV0dXJuIChUd2VldDo6Z2V0Q3VybCgkdXJsLCBudWxsLCAkcGFyYW1zLCAnR0VUJykpOwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhcnNlU2VhcmNoKCRyZXN1bHRzLCAkbGltaXQgPSBudWxsKQogIHsKICAgICRlbnRyaWVzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRyZXN1bHRzLT5lbnRyeSBhcyAkZW50cnkpCiAgICB7CiAgICAgICR0d2VldCA9IG5ldyBzZWxmOwogICAgICAkdHdlZXQtPnhtbCA9ICRlbnRyeTsKICAgICAgCgoKICAgICAgJGRhdGFzWydjcmVhdGVkX2F0J10gPSAgJGVudHJ5LT5wdWJsaXNoZWQ7CiAgICAgICRkYXRhc1snaWQnXSA9ICAkZW50cnktPmlkOwogICAgICAkZGF0YXNbJ3RleHQnXSA9ICAkZW50cnktPnRpdGxlOwogICAgICAkZGF0YXNbJ3NvdXJjZSddID0gICRlbnRyeS0+c291cmNlOwogICAgICAkZGF0YXNbJ2F1dGhvcl9uYW1lJ10gPSAgICRlbnRyeS0+dXNlci0+c2NyZWVuX25hbWU7CiAgICAgIC8vJGRhdGFzWydhdXRob3JfdXJpJ10gPSAgJGVudHJ5LT5hdXRob3ItPnVyaTsKICAgICAgJGRhdGFzWydwaWN0dXJlJ10gPSAgJyc7ICAKICAgICAgCiAgICAgIGZvcmVhY2ggKCRlbnRyeS0+bGluayBhcyAkaW5mbykKICAgICAgewogICAgICAgIGlmICgkaW5mby0+YXR0cmlidXRlcygpLT5yZWwgPT0gJ2ltYWdlJykKICAgICAgICB7CiAgICAgICAgICAkZGF0YXNbJ3BpY3R1cmUnXSA9ICAkaW5mby0+YXR0cmlidXRlcygpLT5ocmVmOyAgCiAgICAgICAgfQogICAgICB9CiAgICAKICAgICAgJHR3ZWV0LT5wb3B1bGF0ZSgkZGF0YXMpOwogICAgICAKICAgICAgJGVudHJpZXNbXSA9ICR0d2VldDsKICAgIH0KICAgIAogICAgcmV0dXJuICRlbnRyaWVzOwogIH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/classes/TwitterOAuth.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJICogSW1wbGVtZW50YXRpb24gb2YgdGhlIE9BdXRoIHByb3RvY29sZSBmb3IgVHdpdHRlcgoJICogCgkgKiBDb3B5cmlnaHQ6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bQoJICogTGljZW5jZTogR1BMCgkgKiAKCSAqIFdpdGggc29tZSBpbnNwaXJhdGlvbiBmcm9tIGh0dHA6Ly9naXRodWIuY29tL2ptYXRoYWkvdHdpdHRlci1hc3luYwoJICovCgkKCQoJY2xhc3MgVHdpdHRlck9BdXRoCgl7CgkJLyoKCQkJU0VUVElOR1M6IFBsZWFzZSBhZGFwdCB0aGVzZXMgc2V0dGluZ3MgYWNjb3JkaW5nIHlvdXIgZGF0YXMuIENvbnN1bWVyIGtleSBhbmQgc2VjcmV0IHNob3VsZCBiZSBzZXQgYWNjb3JkaW5nIHlvdXIgbmVlZHMuCgkJKi8KCQljb25zdCBDT05TVU1FUl9LRVkgPSAnMHN0UVhnbXU0ZHlkNkt5M0NEMnR3JzsgLy8gVHdlZXRNYWRlU2ltcGxlIENvbnN1bWVyIEtleQoJCWNvbnN0IENPTlNVTUVSX1NFQ1JFVCA9ICdmeWkyNFNVdzRaSTdKM09qNHVVU2JsM1dWQUJ6eHNkS2V0dmg5MnY4amcnOyAvLyBUd2VldE1hZGVTaW1wbGUgQ29uc3VtZXIgU2VjcmV0CgkJY29uc3QgVVNFUl9BR0VOVCA9ICdUd2VldE1hZGVTaW1wbGUgKGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdHdpdHRlciknOwoKCQkvLyBETyBOT1QgQ0hBTkdFIFRIRVNFUyBWQUxVRVMKCQljb25zdCBPQVVUSF9TSUdOQVRVUkVfTUVUSE9EID0gJ0hNQUMtU0hBMSc7CgkJY29uc3QgT0FVVEhfVkVSU0lPTiA9ICcxLjAnOwoJCS8qCgkJIEdlbmVyYWwgdmFycyAKCQkqLwoJCXZhciAkcmVxdWVzdF90b2tlbiA9ICcnOwoJCXZhciAkYXV0aG9yaXphdGlvbl90b2tlbiA9ICcnOwoJCXZhciAkb2F1dGhfbm9uY2UgPSAnJzsKCQkKCQlwdWJsaWMgZnVuY3Rpb24gZ2V0UmVxdWVzdFRva2VuKCkKCQl7CgkJCXJldHVybiAkdGhpcy0+cmVxdWVzdF90b2tlbjsKCQl9CgkJCgkJLy8gU1RBVElDIEZVTkNUSU9OUwoJCQoJCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVxdWVzdFRva2VuKCRjYWxsYmFjaz0nJykKCQl7CgkJCSRwYXJhbXMgPSBhcnJheSgKCQkJCSdvYXV0aF9jYWxsYmFjaycgPT4gJGNhbGxiYWNrLAoJCQkJJ29hdXRoX2NvbnN1bWVyX2tleScgPT4gc2VsZjo6Q09OU1VNRVJfS0VZLAoJCQkJJ29hdXRoX25vbmNlJyA9PiBzZWxmOjpPQXV0aE5vbmNlKCksCgkJCQknb2F1dGhfc2lnbmF0dXJlX21ldGhvZCcgPT4gc2VsZjo6T0FVVEhfU0lHTkFUVVJFX01FVEhPRCwKCQkJCSdvYXV0aF90aW1lc3RhbXAnID0+IHRpbWUoKSwKCQkJCSdvYXV0aF92ZXJzaW9uJyA9PiBzZWxmOjpPQVVUSF9WRVJTSU9OCgkJCQkpOwoJCQkJCgkJCQkJJHBhcmFtczIgPSBhcnJheSgKCQkJCQkJJ29hdXRoX2NhbGxiYWNrJyA9PiAnaHR0cDovL2xvY2FsaG9zdDozMDA1L3RoZV9kYW5jZS9wcm9jZXNzX2NhbGxiYWNrP3NlcnZpY2VfcHJvdmlkZXJfaWQ9MTEnLAoJCQkJCQknb2F1dGhfY29uc3VtZXJfa2V5JyA9PiAnR0RkbUlRSDZqaHRtTFV5cGc4MmcnLAoJCQkJCQknb2F1dGhfbm9uY2UnID0+ICdRUDcwZU5tVno4anZkUGV2VTNvSkQyQWZGN1I3b2RDMlhKY240WGxaSnFrJywKCQkJCQkJJ29hdXRoX3NpZ25hdHVyZV9tZXRob2QnID0+IHNlbGY6Ok9BVVRIX1NJR05BVFVSRV9NRVRIT0QsCgkJCQkJCSdvYXV0aF90aW1lc3RhbXAnID0+ICcxMjcyMzIzMDQyJywKCQkJCQkJJ29hdXRoX3ZlcnNpb24nID0+IHNlbGY6Ok9BVVRIX1ZFUlNJT04KCQkJCQkJKTsKCQkJCQoJCQkkYXBpX3JlcXVlc3QgPSAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vb2F1dGgvcmVxdWVzdF90b2tlbic7CgkJCQoJCQkkc2lnbmF0dXJlID0gc2VsZjo6T0F1dGhTaWduYXR1cmUoJHBhcmFtcywgJGFwaV9yZXF1ZXN0LCAnUE9TVCcpOwoJCQkKCQkJdmFyX2R1bXAoJHNpZ25hdHVyZSk7CgkJCQoJCQkkaGVhZGVyc19wYXJhbXMgPSAgYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ29hdXRoX3NpZ25hdHVyZScgPT4gJHNpZ25hdHVyZSkpOwoJCQkkaGVhZGVycyA9IHNlbGY6OmdlbmVyYXRlSGVhZGVycygkYXBpX3JlcXVlc3QsJGhlYWRlcnNfcGFyYW1zKTsJCgkJCQoJCQl2YXJfZHVtcCgkaGVhZGVycyk7CgkJCQkKCQkJJHZhbHVlID0gc2VsZjo6Z2V0Q3VybCgkYXBpX3JlcXVlc3QsICRwYXJhbXMsICdQT1NUJywgJGhlYWRlcnMpOwoJCQkKCQkJdmFyX2R1bXAoJHZhbHVlKTsKCQkJLy9yZXR1cm4gJHNpZ25hdHVyZTsKCQkJLy9yZXR1cm4gc2VsZjo6T0F1dGhOb25jZSgpOwoJCX0KCQkKCQlwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBPQXV0aFNpZ25hdHVyZShhcnJheSAkcGFyYW1zLCAkdXJsLCAkbWV0aG9kPSdQT1NUJykKCQl7CgkJCWtzb3J0KCRwYXJhbXMpOwoJCQkkcGFyYW1zX2VuY29kZWQgPSBhcnJheSgpOwoJCQlmb3JlYWNoKCRwYXJhbXMgYXMgJHBhcmFtID0+ICR2YWx1ZSkKCQkJewoJCQkJJHBhcmFtc19lbmNvZGVkW10gPSB1cmxlbmNvZGUoJHBhcmFtKSAuICclM0QnIC4gdXJsZW5jb2RlKCR2YWx1ZSk7CgkJCX0JCQkKCQkJCgkJCSRzdHJpbmcgPSAkbWV0aG9kIC4gJyYnIC4gdXJsZW5jb2RlKCR1cmwpIC4gJyYnIC4gaW1wbG9kZSgnJTI2JywgJHBhcmFtc19lbmNvZGVkKTsKCQkJCgkJCWVjaG8gJ1tbWycuICRzdHJpbmcgLiddXV0KCQkJCgkJCQoJCQknOwoJCQkKCQkJJGtleSA9IHVybGVuY29kZShzZWxmOjpDT05TVU1FUl9TRUNSRVQpIC4gJyYnOwovLwkJCSRrZXkgPSAnTUNEOEJLd0dkZ1BIdkF1dmd2ejRFUXBxREF0eDg5Z3JidU5NUmQ3RWg5OCYnOwoJCQlyZXR1cm4gYmFzZTY0X2VuY29kZShoYXNoX2htYWMoJ3NoYTEnLCAkc3RyaW5nLCAka2V5LCB0cnVlKSk7CQkJIAoJCX0KCQkKCQkKCQlwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBPQXV0aE5vbmNlKCkKCQl7CgkJCXJldHVybiBzdWJzdHIoYmFzZTY0X2VuY29kZShyYW5kKDAsIDEwMDAwMDAwMDApICogdGltZSgpKSAsMCwgMzIpOwoJCX0KCQkKCQlwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZUhlYWRlcnMoJHVybCwgJHBhcmFtcykKCQl7CgkJCSRfaCA9IGFycmF5KCdFeHBlY3Q6Jyk7CgkgICAgJHVybFBhcnRzID0gcGFyc2VfdXJsKCR1cmwpOwoJICAgICRvYXV0aCA9ICdBdXRob3JpemF0aW9uOiBPQXV0aCAnOwoJCQkvLyRvYXV0aCAuPSAncmVhbG09JyAuICR1cmxQYXJ0c1snc2NoZW1lJ10gLiAnOi8vJyAuICR1cmxQYXJ0c1snaG9zdCddIC4gJHVybFBhcnRzWydwYXRoJ10gLiAnLCc7CgkJCSR2YWx1ZXMgPSBhcnJheSgpOwkJCQoJICAgIGZvcmVhY2goJHBhcmFtcyBhcyAkbmFtZSA9PiAkdmFsdWUpCgkgICAgewoJICAgICAgJHZhbHVlc1tdID0gJG5hbWUgLiAnPSInIC4gJHZhbHVlIC4nIic7CgkgICAgfQoJCgkgICAgJF9oW10gPSAkb2F1dGggLiBpbXBsb2RlKCcsJywgJHZhbHVlcyk7CgoJICAgICRfaFtdID0gJ1VzZXItQWdlbnQ6ICcgLiBzZWxmOjpVU0VSX0FHRU5UOwoJICAgIHJldHVybiAkX2g7CgkJfQoJCQoJCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Q3VybCgkdXJsLCAkcGFyYW1zID0gYXJyYXkoKSwgJG1ldGhvZCA9ICdQT1NUJywgJGhlYWRlcnMgPSBudWxsKQoJICB7CgkJCQlpZiAoJG1ldGhvZCA9PSAnR0VUJykKCQkJCXsKCQkJCQlpZiAoY291bnQoJHBhcmFtcykgIT0gMCkKCQkgICAgICB7CgkJICAgICAgICAgJHVybCAuPSAnPycgLiBodHRwX2J1aWxkX3F1ZXJ5KCRwYXJhbXMpOwoJCSAgICAgIH0KCQkJCX0KCQkJCQoJICAgICAgLy8gY3JlYXRlIGEgbmV3IGNVUkwgcmVzb3VyY2UKCSAgICAgICRjaCA9IGN1cmxfaW5pdCgkdXJsKTsKCQoJCQkJaWYgKCRtZXRob2QgPT0gJ1BPU1QnKQoJCQkJewoJCQkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULDEpOwoJCQkJCWlmIChjb3VudCgkcGFyYW1zKSAhPSAwKQoJCSAgICAgIHsKCQkgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCBodHRwX2J1aWxkX3F1ZXJ5KCRwYXJhbXMpKTsKCQkgICAgICB9CgkJCQl9CgoJICAgICAgLy8gc2V0IFVSTCBhbmQgb3RoZXIgYXBwcm9wcmlhdGUgb3B0aW9ucwoJICAgICAvLyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsKCgkgICAgICBpZiAoZW1wdHkoJGhlYWRlcnMpKQoJCQkJewoJCQkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDApOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDEpOwoJCQkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkaGVhZGVycyApOwoJCQkJfQoJCQkJCgkgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwoJICAgICAgLy8KCSAgICAKCQkJCWlmIChzdHJwb3MoJHVybCwgJ2h0dHBzOicpICE9PSBGQUxTRSkKCQkJCXsKCQkJCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsKCQkJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsKCQkJCX0KCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgdHJ1ZSk7CgkgICAgICAvLyBncmFiIFVSTCBhbmQgcGFzcyBpdCB0byB0aGUgYnJvd3NlcgoJICAgICAgJG91dHB1dCA9IGN1cmxfZXhlYygkY2gpOwoJICAgICAgCi8vCQkJCXZhcl9kdW1wKGN1cmxfZXJyb3IoJGNoKSk7CgkJCQkvL3Zhcl9kdW1wKGN1cmxfZ2V0aW5mbygkY2gpKTsKCQkJCS8vIGNsb3NlIGNVUkwgcmVzb3VyY2UsIGFuZCBmcmVlIHVwIHN5c3RlbSByZXNvdXJjZXMKCSAgICAgIGN1cmxfY2xvc2UoJGNoKTsKCgkgICAgICByZXR1cm4gJG91dHB1dDsKCSAgfQoJfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/epi/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/epi/EpiCurl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgRXBpQ3VybAp7CiAgY29uc3QgdGltZW91dCA9IDM7CiAgc3RhdGljICRpbnN0ID0gbnVsbDsKICBzdGF0aWMgJHNpbmdsZXRvbiA9IDA7CiAgcHJpdmF0ZSAkbWM7CiAgcHJpdmF0ZSAkbXNnczsKICBwcml2YXRlICRydW5uaW5nOwogIHByaXZhdGUgJGV4ZWNTdGF0dXM7CiAgcHJpdmF0ZSAkc2VsZWN0U3RhdHVzOwogIHByaXZhdGUgJHNsZWVwSW5jcmVtZW50ID0gMS4xOwogIHByaXZhdGUgJHJlcXVlc3RzID0gYXJyYXkoKTsKICBwcml2YXRlICRyZXNwb25zZXMgPSBhcnJheSgpOwogIHByaXZhdGUgJHByb3BlcnRpZXMgPSBhcnJheSgpOwogIHByaXZhdGUgc3RhdGljICR0aW1lcnMgPSBhcnJheSgpOwoKICBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgaWYoc2VsZjo6JHNpbmdsZXRvbiA9PSAwKQogICAgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGlzIGNsYXNzIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQgYnkgdGhlIG5ldyBrZXl3b3JkLiAgWW91IG11c3QgaW5zdGFudGlhdGUgaXQgdXNpbmc6ICRvYmogPSBFcGlDdXJsOjpnZXRJbnN0YW5jZSgpOycpOwogICAgfQoKICAgICR0aGlzLT5tYyA9IGN1cmxfbXVsdGlfaW5pdCgpOwogICAgJHRoaXMtPnByb3BlcnRpZXMgPSBhcnJheSgKICAgICAgJ2NvZGUnICA9PiBDVVJMSU5GT19IVFRQX0NPREUsCiAgICAgICd0aW1lJyAgPT4gQ1VSTElORk9fVE9UQUxfVElNRSwKICAgICAgJ2xlbmd0aCc9PiBDVVJMSU5GT19DT05URU5UX0xFTkdUSF9ET1dOTE9BRCwKICAgICAgJ3R5cGUnICA9PiBDVVJMSU5GT19DT05URU5UX1RZUEUsCiAgICAgICd1cmwnICAgPT4gQ1VSTElORk9fRUZGRUNUSVZFX1VSTAogICAgICApOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGFkZEVhc3lDdXJsKCRjaCkKICB7CiAgICAka2V5ID0gJHRoaXMtPmdldEtleSgkY2gpOwogICAgJHRoaXMtPnJlcXVlc3RzWyRrZXldID0gJGNoOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUkZVTkNUSU9OLCBhcnJheSgkdGhpcywgJ2hlYWRlckNhbGxiYWNrJykpOwogICAgJGRvbmUgPSBhcnJheSgnaGFuZGxlJyA9PiAkY2gpOwogICAgJHRoaXMtPnN0b3JlUmVzcG9uc2UoJGRvbmUsIGZhbHNlKTsKICAgICR0aGlzLT5zdGFydFRpbWVyKCRrZXkpOwogICAgcmV0dXJuIG5ldyBFcGlDdXJsTWFuYWdlcigka2V5KTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBhZGRDdXJsKCRjaCkKICB7CiAgICAka2V5ID0gJHRoaXMtPmdldEtleSgkY2gpOwogICAgJHRoaXMtPnJlcXVlc3RzWyRrZXldID0gJGNoOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUkZVTkNUSU9OLCBhcnJheSgkdGhpcywgJ2hlYWRlckNhbGxiYWNrJykpOwoKICAgICRjb2RlID0gY3VybF9tdWx0aV9hZGRfaGFuZGxlKCR0aGlzLT5tYywgJGNoKTsKICAgICR0aGlzLT5zdGFydFRpbWVyKCRrZXkpOwogICAgCiAgICAvLyAoMSkKICAgIGlmKCRjb2RlID09PSBDVVJMTV9PSyB8fCAkY29kZSA9PT0gQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNKQogICAgewogICAgICBkbyB7CiAgICAgICAgICAkY29kZSA9ICR0aGlzLT5leGVjU3RhdHVzID0gY3VybF9tdWx0aV9leGVjKCR0aGlzLT5tYywgJHRoaXMtPnJ1bm5pbmcpOwogICAgICB9IHdoaWxlICgkdGhpcy0+ZXhlY1N0YXR1cyA9PT0gQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNKTsKCiAgICAgIHJldHVybiBuZXcgRXBpQ3VybE1hbmFnZXIoJGtleSk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgIHJldHVybiAkY29kZTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXN1bHQoJGtleSA9IG51bGwpCiAgewogICAgaWYoJGtleSAhPSBudWxsKQogICAgewogICAgICBpZihpc3NldCgkdGhpcy0+cmVzcG9uc2VzWyRrZXldKSkKICAgICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzcG9uc2VzWyRrZXldOwogICAgICB9CgogICAgICAkaW5uZXJTbGVlcEludCA9ICRvdXRlclNsZWVwSW50ID0gMTsKICAgICAgd2hpbGUoJHRoaXMtPnJ1bm5pbmcgJiYgKCR0aGlzLT5leGVjU3RhdHVzID09IENVUkxNX09LIHx8ICR0aGlzLT5leGVjU3RhdHVzID09IENVUkxNX0NBTExfTVVMVElfUEVSRk9STSkpCiAgICAgIHsKICAgICAgICB1c2xlZXAoaW50dmFsKCRvdXRlclNsZWVwSW50KSk7CiAgICAgICAgJG91dGVyU2xlZXBJbnQgPSBpbnR2YWwobWF4KDEsICgkb3V0ZXJTbGVlcEludCokdGhpcy0+c2xlZXBJbmNyZW1lbnQpKSk7CiAgICAgICAgJG1zPWN1cmxfbXVsdGlfc2VsZWN0KCR0aGlzLT5tYywgMCk7CiAgICAgICAgaWYoJG1zID4gMCkKICAgICAgICB7CiAgICAgICAgICBkb3sKICAgICAgICAgICAgJHRoaXMtPmV4ZWNTdGF0dXMgPSBjdXJsX211bHRpX2V4ZWMoJHRoaXMtPm1jLCAkdGhpcy0+cnVubmluZyk7CiAgICAgICAgICAgIHVzbGVlcChpbnR2YWwoJGlubmVyU2xlZXBJbnQpKTsKICAgICAgICAgICAgJGlubmVyU2xlZXBJbnQgPSBpbnR2YWwobWF4KDEsICgkaW5uZXJTbGVlcEludCokdGhpcy0+c2xlZXBJbmNyZW1lbnQpKSk7CiAgICAgICAgICB9d2hpbGUoJHRoaXMtPmV4ZWNTdGF0dXM9PUNVUkxNX0NBTExfTVVMVElfUEVSRk9STSk7CiAgICAgICAgICAkaW5uZXJTbGVlcEludCA9IDE7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5zdG9yZVJlc3BvbnNlcygpOwogICAgICAgIGlmKGlzc2V0KCR0aGlzLT5yZXNwb25zZXNbJGtleV1bJ2RhdGEnXSkpCiAgICAgICAgewogICAgICAgICAgcmV0dXJuICR0aGlzLT5yZXNwb25zZXNbJGtleV07CiAgICAgICAgfQogICAgICAgICRydW5uaW5nQ3VycmVudCA9ICR0aGlzLT5ydW5uaW5nOwogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRTZXF1ZW5jZSgpCiAgewogICAgcmV0dXJuIG5ldyBFcGlTZXF1ZW5jZShzZWxmOjokdGltZXJzKTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0VGltZXJzKCkKICB7CiAgICByZXR1cm4gc2VsZjo6JHRpbWVyczsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gZ2V0S2V5KCRjaCkKICB7CiAgICByZXR1cm4gKHN0cmluZykkY2g7CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIGhlYWRlckNhbGxiYWNrKCRjaCwgJGhlYWRlcikKICB7CiAgICAkX2hlYWRlciA9IHRyaW0oJGhlYWRlcik7CiAgICAkY29sb25Qb3M9IHN0cnBvcygkX2hlYWRlciwgJzonKTsKICAgIGlmKCRjb2xvblBvcyA+IDApCiAgICB7CiAgICAgICRrZXkgPSBzdWJzdHIoJF9oZWFkZXIsIDAsICRjb2xvblBvcyk7CiAgICAgICR2YWwgPSBwcmVnX3JlcGxhY2UoJy9eXFcrLycsJycsc3Vic3RyKCRfaGVhZGVyLCAkY29sb25Qb3MpKTsKICAgICAgJHRoaXMtPnJlc3BvbnNlc1skdGhpcy0+Z2V0S2V5KCRjaCldWydoZWFkZXJzJ11bJGtleV0gPSAkdmFsOwogICAgfQogICAgcmV0dXJuIHN0cmxlbigkaGVhZGVyKTsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gc3RvcmVSZXNwb25zZXMoKQogIHsKICAgIHdoaWxlKCRkb25lID0gY3VybF9tdWx0aV9pbmZvX3JlYWQoJHRoaXMtPm1jKSkKICAgIHsKICAgICAgJHRoaXMtPnN0b3JlUmVzcG9uc2UoJGRvbmUpOwogICAgfQogIH0KCiAgcHJpdmF0ZSBmdW5jdGlvbiBzdG9yZVJlc3BvbnNlKCRkb25lLCAkaXNBc3luY2hyb25vdXMgPSB0cnVlKQogIHsKICAgICRrZXkgPSAkdGhpcy0+Z2V0S2V5KCRkb25lWydoYW5kbGUnXSk7CiAgICAkdGhpcy0+c3RvcFRpbWVyKCRrZXksICRkb25lKTsKICAgIGlmKCRpc0FzeW5jaHJvbm91cykKICAgICAgJHRoaXMtPnJlc3BvbnNlc1ska2V5XVsnZGF0YSddID0gY3VybF9tdWx0aV9nZXRjb250ZW50KCRkb25lWydoYW5kbGUnXSk7CiAgICBlbHNlCiAgICAgICR0aGlzLT5yZXNwb25zZXNbJGtleV1bJ2RhdGEnXSA9IGN1cmxfZXhlYygkZG9uZVsnaGFuZGxlJ10pOwoKICAgIGZvcmVhY2goJHRoaXMtPnByb3BlcnRpZXMgYXMgJG5hbWUgPT4gJGNvbnN0KQogICAgewogICAgICAkdGhpcy0+cmVzcG9uc2VzWyRrZXldWyRuYW1lXSA9IGN1cmxfZ2V0aW5mbygkZG9uZVsnaGFuZGxlJ10sICRjb25zdCk7CiAgICB9CiAgICBpZigkaXNBc3luY2hyb25vdXMpCiAgICAgIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZSgkdGhpcy0+bWMsICRkb25lWydoYW5kbGUnXSk7CiAgICBjdXJsX2Nsb3NlKCRkb25lWydoYW5kbGUnXSk7CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIHN0YXJ0VGltZXIoJGtleSkKICB7CiAgICBzZWxmOjokdGltZXJzWyRrZXldWydzdGFydCddID0gbWljcm90aW1lKHRydWUpOwogIH0KCiAgcHJpdmF0ZSBmdW5jdGlvbiBzdG9wVGltZXIoJGtleSwgJGRvbmUpCiAgewogICAgICBzZWxmOjokdGltZXJzWyRrZXldWydlbmQnXSA9IG1pY3JvdGltZSh0cnVlKTsKICAgICAgc2VsZjo6JHRpbWVyc1ska2V5XVsnYXBpJ10gPSBjdXJsX2dldGluZm8oJGRvbmVbJ2hhbmRsZSddLCBDVVJMSU5GT19FRkZFQ1RJVkVfVVJMKTsKICAgICAgc2VsZjo6JHRpbWVyc1ska2V5XVsndGltZSddID0gY3VybF9nZXRpbmZvKCRkb25lWydoYW5kbGUnXSwgQ1VSTElORk9fVE9UQUxfVElNRSk7CiAgICAgIHNlbGY6OiR0aW1lcnNbJGtleV1bJ2NvZGUnXSA9IGN1cmxfZ2V0aW5mbygkZG9uZVsnaGFuZGxlJ10sIENVUkxJTkZPX0hUVFBfQ09ERSk7CiAgfQoKICBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogIHsKICAgIGlmKHNlbGY6OiRpbnN0ID09IG51bGwpCiAgICB7CiAgICAgIHNlbGY6OiRzaW5nbGV0b24gPSAxOwogICAgICBzZWxmOjokaW5zdCA9IG5ldyBFcGlDdXJsKCk7CiAgICB9CgogICAgcmV0dXJuIHNlbGY6OiRpbnN0OwogIH0KfQoKY2xhc3MgRXBpQ3VybE1hbmFnZXIKewogIHByaXZhdGUgJGtleTsKICBwcml2YXRlICRlcGlDdXJsOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGtleSkKICB7CiAgICAkdGhpcy0+a2V5ID0gJGtleTsKICAgICR0aGlzLT5lcGlDdXJsID0gRXBpQ3VybDo6Z2V0SW5zdGFuY2UoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgkbmFtZSkKICB7CiAgICAkcmVzcG9uc2VzID0gJHRoaXMtPmVwaUN1cmwtPmdldFJlc3VsdCgkdGhpcy0+a2V5KTsKICAgIHJldHVybiBpc3NldCgkcmVzcG9uc2VzWyRuYW1lXSkgPyAkcmVzcG9uc2VzWyRuYW1lXSA6IG51bGw7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19pc3NldCgkbmFtZSkKICB7CiAgICAkdmFsID0gc2VsZjo6X19nZXQoJG5hbWUpOwogICAgcmV0dXJuIGVtcHR5KCR2YWwpOwogIH0KfQoKLyoKICogQ3JlZGl0czoKICogIC0gKDEpIEFsaXN0YWlyIHBvaW50ZWQgb3V0IHRoYXQgY3VybF9tdWx0aV9hZGRfaGFuZGxlIGNhbiByZXR1cm4gQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNIG9uIHN1Y2Nlc3MuCiAqLw==]]></data>
	</file>
	<file>
	  <filename>/lib/epi/EpiOAuth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgRXBpT0F1dGgKewogIHB1YmxpYyAkdmVyc2lvbiA9ICcxLjAnOwoKICBwcm90ZWN0ZWQgJHJlcXVlc3RUb2tlblVybDsKICBwcm90ZWN0ZWQgJGFjY2Vzc1Rva2VuVXJsOwogIHByb3RlY3RlZCAkYXV0aGVudGljYXRlVXJsOwogIHByb3RlY3RlZCAkYXV0aG9yaXplVXJsOwogIHByb3RlY3RlZCAkY29uc3VtZXJLZXk7CiAgcHJvdGVjdGVkICRjb25zdW1lclNlY3JldDsKICBwcm90ZWN0ZWQgJHRva2VuOwogIHByb3RlY3RlZCAkdG9rZW5TZWNyZXQ7CiAgcHJvdGVjdGVkICRjYWxsYmFjazsKICBwcm90ZWN0ZWQgJHNpZ25hdHVyZU1ldGhvZDsKICBwcm90ZWN0ZWQgJGRlYnVnID0gZmFsc2U7CiAgcHJvdGVjdGVkICR1c2VTU0wgPSBmYWxzZTsKICBwcm90ZWN0ZWQgJGZvbGxvd0xvY2F0aW9uID0gZmFsc2U7CiAgcHJvdGVjdGVkICRoZWFkZXJzID0gYXJyYXkoKTsKICAvLyBwcm90ZWN0ZWQgJHVzZXJBZ2VudCA9ICdFcGlPQXV0aCAoaHR0cDovL2dpdGh1Yi5jb20vam1hdGhhaS90d2l0dGVyLWFzeW5jL3RyZWUvKSc7Cglwcm90ZWN0ZWQgJHVzZXJBZ2VudCA9ICdUd2VldE1hZGVTaW1wbGUgKGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdHdpdHRlciknOwogIHByb3RlY3RlZCAkY29ubmVjdGlvblRpbWVvdXQgPSA1OwogIHByb3RlY3RlZCAkcmVxdWVzdFRpbWVvdXQgPSAzMDsKCiAgcHVibGljIGZ1bmN0aW9uIGFkZEhlYWRlcigkaGVhZGVyKQogIHsKICAgIGlmKGlzX2FycmF5KCRoZWFkZXIpICYmICFlbXB0eSgkaGVhZGVyKSkKICAgICAgJHRoaXMtPmhlYWRlcnMgPSBhcnJheV9tZXJnZSgkdGhpcy0+aGVhZGVycywgJGhlYWRlcik7CiAgICBlbHNlaWYoIWVtcHR5KCRoZWFkZXIpKQogICAgICAkdGhpcy0+aGVhZGVyc1tdID0gJGhlYWRlcjsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRBY2Nlc3NUb2tlbigkcGFyYW1zID0gbnVsbCkKICB7CiAgICBpZiAoaXNzZXQoJF9HRVRbJ29hdXRoX3ZlcmlmaWVyJ10pICYmICFpc3NldCgkcGFyYW1zWydvYXV0aF92ZXJpZmllciddKSkKICAgIHsKICAgICAgJHBhcmFtc1snb2F1dGhfdmVyaWZpZXInXSA9ICRfR0VUWydvYXV0aF92ZXJpZmllciddOwogICAgfQogICAgJHJlc3AgPSAkdGhpcy0+aHR0cFJlcXVlc3QoJ1BPU1QnLCAkdGhpcy0+Z2V0VXJsKCR0aGlzLT5hY2Nlc3NUb2tlblVybCksICRwYXJhbXMpOwogICAgcmV0dXJuIG5ldyBFcGlPQXV0aFJlc3BvbnNlKCRyZXNwKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRBdXRoZW50aWNhdGVVcmwoJHRva2VuID0gbnVsbCwgJHBhcmFtcyA9IG51bGwpCiAgeyAKICAgICR0b2tlbiA9ICR0b2tlbiA/ICR0b2tlbiA6ICR0aGlzLT5nZXRSZXF1ZXN0VG9rZW4oJHBhcmFtcyk7CiAgICBpZiAoaXNfb2JqZWN0KCR0b2tlbikpICR0b2tlbiA9ICR0b2tlbi0+b2F1dGhfdG9rZW47CiAgICAkYWRkbFBhcmFtcyA9IGVtcHR5KCRwYXJhbXMpID8gJycgOiAnJicuaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zLCAnJywgJyYnKTsKICAgIHJldHVybiAkdGhpcy0+Z2V0VXJsKCR0aGlzLT5hdXRoZW50aWNhdGVVcmwpIC4gJz9vYXV0aF90b2tlbj0nIC4gJHRva2VuIC4gJGFkZGxQYXJhbXM7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXV0aG9yaXplVXJsKCR0b2tlbiA9IG51bGwsICRwYXJhbXMgPSBudWxsKQogIHsKICAgICR0b2tlbiA9ICR0b2tlbiA/ICR0b2tlbiA6ICR0aGlzLT5nZXRSZXF1ZXN0VG9rZW4oJHBhcmFtcyk7CiAgICBpZiAoaXNfb2JqZWN0KCR0b2tlbikpICR0b2tlbiA9ICR0b2tlbi0+b2F1dGhfdG9rZW47CiAgICByZXR1cm4gJHRoaXMtPmdldFVybCgkdGhpcy0+YXV0aG9yaXplVXJsKSAuICc/b2F1dGhfdG9rZW49JyAuICR0b2tlbjsKICB9CgogIC8vIERFUFJFQ0FURUQgaW4gZmF2b3Igb2YgZ2V0QXV0aG9yaXplVXJsKCkKICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXV0aG9yaXphdGlvblVybCgkdG9rZW4gPSBudWxsKQogIHsgCiAgICByZXR1cm4gJHRoaXMtPmdldEF1dGhvcml6ZVVybCgkdG9rZW4pOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldFJlcXVlc3RUb2tlbigkcGFyYW1zID0gbnVsbCkKICB7CiAgICBpZiAoaXNzZXQoJHRoaXMtPmNhbGxiYWNrKSAmJiAhaXNzZXQoJHBhcmFtc1snb2F1dGhfY2FsbGJhY2snXSkpCiAgICB7CiAgICAgICRwYXJhbXNbJ29hdXRoX2NhbGxiYWNrJ10gPSAkdGhpcy0+Y2FsbGJhY2s7CiAgICB9CiAgICAkcmVzcCA9ICR0aGlzLT5odHRwUmVxdWVzdCgnUE9TVCcsICR0aGlzLT5nZXRVcmwoJHRoaXMtPnJlcXVlc3RUb2tlblVybCksICRwYXJhbXMpOwogICAgcmV0dXJuIG5ldyBFcGlPQXV0aFJlc3BvbnNlKCRyZXNwKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmwoJHVybCkKICB7CiAgICBpZigkdGhpcy0+dXNlU1NMID09PSB0cnVlKQogICAgICByZXR1cm4gcHJlZ19yZXBsYWNlKCcvXmh0dHA6LycsICdodHRwczonLCAkdXJsKTsKCiAgICByZXR1cm4gJHVybDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBodHRwUmVxdWVzdCgkbWV0aG9kID0gbnVsbCwgJHVybCA9IG51bGwsICRwYXJhbXMgPSBudWxsLCAkaXNNdWx0aXBhcnQgPSBmYWxzZSkKICB7CiAgICBpZihlbXB0eSgkbWV0aG9kKSB8fCBlbXB0eSgkdXJsKSkKICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIGlmKGVtcHR5KCRwYXJhbXNbJ29hdXRoX3NpZ25hdHVyZSddKSkKICAgICAgJHBhcmFtcyA9ICR0aGlzLT5wcmVwYXJlUGFyYW1ldGVycygkbWV0aG9kLCAkdXJsLCAkcGFyYW1zKTsKCiAgICBzd2l0Y2goJG1ldGhvZCkKICAgIHsKICAgICAgY2FzZSAnR0VUJzoKICAgICAgICByZXR1cm4gJHRoaXMtPmh0dHBHZXQoJHVybCwgJHBhcmFtcyk7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgJ1BPU1QnOgogICAgICAgIHJldHVybiAkdGhpcy0+aHR0cFBvc3QoJHVybCwgJHBhcmFtcywgJGlzTXVsdGlwYXJ0KTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSAnREVMRVRFJzoKICAgICAgICByZXR1cm4gJHRoaXMtPmh0dHBEZWxldGUoJHVybCwgJHBhcmFtcyk7CiAgICAgICAgYnJlYWs7CgogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldERlYnVnKCRib29sPWZhbHNlKQogIHsKICAgICR0aGlzLT5kZWJ1ZyA9IChib29sKSRib29sOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldEZvbGxvd0xvY2F0aW9uKCRib29sKQogIHsKICAgICR0aGlzLT5mb2xsb3dMb2NhdGlvbiA9IChib29sKSRib29sOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldFRpbWVvdXQoJHJlcXVlc3RUaW1lb3V0ID0gbnVsbCwgJGNvbm5lY3Rpb25UaW1lb3V0ID0gbnVsbCkKICB7CiAgICBpZigkcmVxdWVzdFRpbWVvdXQgIT09IG51bGwpCiAgICAgICR0aGlzLT5yZXF1ZXN0VGltZW91dCA9IGZsb2F0dmFsKCRyZXF1ZXN0VGltZW91dCk7CiAgICBpZigkY29ubmVjdGlvblRpbWVvdXQgIT09IG51bGwpCiAgICAgICR0aGlzLT5jb25uZWN0aW9uVGltZW91dCA9IGZsb2F0dmFsKCRjb25uZWN0aW9uVGltZW91dCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0VG9rZW4oJHRva2VuID0gbnVsbCwgJHNlY3JldCA9IG51bGwpCiAgewogICAgJHRoaXMtPnRva2VuID0gJHRva2VuOwogICAgJHRoaXMtPnRva2VuU2VjcmV0ID0gJHNlY3JldDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRDYWxsYmFjaygkY2FsbGJhY2sgPSBudWxsKQogIHsKICAgICR0aGlzLT5jYWxsYmFjayA9ICRjYWxsYmFjazsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiB1c2VTU0woJHVzZSA9IGZhbHNlKQogIHsKICAgICR0aGlzLT51c2VTU0wgPSAoYm9vbCkkdXNlOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZERlZmF1bHRIZWFkZXJzKCR1cmwsICRvYXV0aEhlYWRlcnMpCiAgewogICAgJF9oID0gYXJyYXkoJ0V4cGVjdDonKTsKICAgICR1cmxQYXJ0cyA9IHBhcnNlX3VybCgkdXJsKTsKICAgICRvYXV0aCA9ICdBdXRob3JpemF0aW9uOiBPQXV0aCByZWFsbT0iJyAuICR1cmxQYXJ0c1snc2NoZW1lJ10gLiAnOi8vJyAuICR1cmxQYXJ0c1snaG9zdCddIC4gJHVybFBhcnRzWydwYXRoJ10gLiAnIiwnOwogICAgZm9yZWFjaCgkb2F1dGhIZWFkZXJzIGFzICRuYW1lID0+ICR2YWx1ZSkKICAgIHsKICAgICAgJG9hdXRoIC49ICJ7JG5hbWV9PVwieyR2YWx1ZX1cIiwiOwogICAgfQogICAgJF9oW10gPSBzdWJzdHIoJG9hdXRoLCAwLCAtMSk7CiAgICAkX2hbXSA9ICJVc2VyLUFnZW50OiB7JHRoaXMtPnVzZXJBZ2VudH0iOwogICAgJHRoaXMtPmFkZEhlYWRlcigkX2gpOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGJ1aWxkSHR0cFF1ZXJ5UmF3KCRwYXJhbXMpCiAgewogICAgJHJldHZhbCA9ICcnOwogICAgZm9yZWFjaCgoYXJyYXkpJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSkKICAgICAgJHJldHZhbCAuPSAieyRrZXl9PXskdmFsdWV9JiI7CiAgICAkcmV0dmFsID0gc3Vic3RyKCRyZXR2YWwsIDAsIC0xKTsKICAgIHJldHVybiAkcmV0dmFsOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGN1cmxJbml0KCR1cmwpCiAgewogICAgJGNoID0gY3VybF9pbml0KCR1cmwpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkdGhpcy0+aGVhZGVycyk7IAogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1RJTUVPVVQsICR0aGlzLT5yZXF1ZXN0VGltZW91dCk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsICR0aGlzLT5jb25uZWN0aW9uVGltZW91dCk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRU5DT0RJTkcsICcnKTsKICAgIGlmKCR0aGlzLT5mb2xsb3dMb2NhdGlvbikKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCB0cnVlKTsKICAgIGlmKGlzc2V0KCRfU0VSVkVSIFsnU0VSVkVSX0FERFInXSkgJiYgIWVtcHR5KCRfU0VSVkVSWydTRVJWRVJfQUREUiddKSAmJiAkX1NFUlZFUlsnU0VSVkVSX0FERFInXSAhPSAnMTI3LjAuMC4xJykKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0lOVEVSRkFDRSwgJF9TRVJWRVIgWydTRVJWRVJfQUREUiddKTsKCiAgICAvLyBpZiB0aGUgY2VydGlmaWNhdGUgZXhpc3RzIHRoZW4gdXNlIGl0LCBlbHNlIGJ5cGFzcyBzc2wgY2hlY2tzCiAgICBpZihmaWxlX2V4aXN0cygkY2VydCA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdjYS1idW5kbGUuY3J0JykpCiAgICB7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DQUlORk8sICRjZXJ0KTsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCB0cnVlKTsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAyKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBmYWxzZSk7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZmFsc2UpOwogICAgfQogICAgcmV0dXJuICRjaDsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBlbXB0eUhlYWRlcnMoKQogIHsKICAgICR0aGlzLT5oZWFkZXJzID0gYXJyYXkoKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBlbmNvZGVfcmZjMzk4Nigkc3RyaW5nKQogIHsKICAgIHJldHVybiBzdHJfcmVwbGFjZSgnKycsICcgJywgc3RyX3JlcGxhY2UoJyU3RScsICd+JywgcmF3dXJsZW5jb2RlKCgkc3RyaW5nKSkpKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBnZW5lcmF0ZU5vbmNlKCkKICB7CiAgICBpZihpc3NldCgkdGhpcy0+bm9uY2UpKSAvLyBmb3IgdW5pdCB0ZXN0aW5nCiAgICAgIHJldHVybiAkdGhpcy0+bm9uY2U7CgogICAgcmV0dXJuIG1kNSh1bmlxaWQocmFuZCgpLCB0cnVlKSk7CiAgfQoKICAvLyBwYXJhbWV0ZXJzIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBwYXNzZWQgdGhyb3VnaCBwcmVwYXJlUGFyYW1ldGVycwogIC8vIG5vIG5lZWQgdG8gZG91YmxlIGVuY29kZQogIHByb3RlY3RlZCBmdW5jdGlvbiBnZW5lcmF0ZVNpZ25hdHVyZSgkbWV0aG9kID0gbnVsbCwgJHVybCA9IG51bGwsICRwYXJhbXMgPSBudWxsKQogIHsKICAgIGlmKGVtcHR5KCRtZXRob2QpIHx8IGVtcHR5KCR1cmwpKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgLy8gY29uY2F0ZW5hdGluZyBhbmQgZW5jb2RlCiAgICAkY29uY2F0ZW5hdGVkUGFyYW1zID0gJHRoaXMtPmVuY29kZV9yZmMzOTg2KCR0aGlzLT5idWlsZEh0dHBRdWVyeVJhdygkcGFyYW1zKSk7CgogICAgLy8gbm9ybWFsaXplIHVybAogICAgJG5vcm1hbGl6ZWRVcmwgPSAkdGhpcy0+ZW5jb2RlX3JmYzM5ODYoJHRoaXMtPm5vcm1hbGl6ZVVybCgkdXJsKSk7CiAgICAkbWV0aG9kID0gJHRoaXMtPmVuY29kZV9yZmMzOTg2KCRtZXRob2QpOyAvLyBkb24ndCBuZWVkIHRoaXMgYnV0IHdoeSBub3Q/CgogICAgJHNpZ25hdHVyZUJhc2VTdHJpbmcgPSAieyRtZXRob2R9Jnskbm9ybWFsaXplZFVybH0meyRjb25jYXRlbmF0ZWRQYXJhbXN9IjsKICAgIHJldHVybiAkdGhpcy0+c2lnblN0cmluZygkc2lnbmF0dXJlQmFzZVN0cmluZyk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXhlY3V0ZUN1cmwoJGNoKQogIHsKICAgIGlmKCR0aGlzLT5pc0FzeW5jaHJvbm91cykKICAgICAgcmV0dXJuICR0aGlzLT5jdXJsLT5hZGRDdXJsKCRjaCk7CiAgICBlbHNlCiAgICAgIHJldHVybiAkdGhpcy0+Y3VybC0+YWRkRWFzeUN1cmwoJGNoKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBodHRwRGVsZXRlKCR1cmwsICRwYXJhbXMpIHsKICAgICAgJHRoaXMtPmFkZERlZmF1bHRIZWFkZXJzKCR1cmwsICRwYXJhbXNbJ29hdXRoJ10pOwogICAgICAkY2ggPSAkdGhpcy0+Y3VybEluaXQoJHVybCk7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DVVNUT01SRVFVRVNULCAnREVMRVRFJyk7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAkdGhpcy0+YnVpbGRIdHRwUXVlcnlSYXcoJHBhcmFtc1sncmVxdWVzdCddKSk7CiAgICAgICRyZXNwID0gJHRoaXMtPmV4ZWN1dGVDdXJsKCRjaCk7CiAgICAgICR0aGlzLT5lbXB0eUhlYWRlcnMoKTsKICAgICAgcmV0dXJuICRyZXNwOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGh0dHBHZXQoJHVybCwgJHBhcmFtcyA9IG51bGwpCiAgewogICAgaWYoY291bnQoJHBhcmFtc1sncmVxdWVzdCddKSA+IDApCiAgICB7CiAgICAgICR1cmwgLj0gJz8nOwogICAgICBmb3JlYWNoKCRwYXJhbXNbJ3JlcXVlc3QnXSBhcyAkayA9PiAkdikKICAgICAgewogICAgICAgICR1cmwgLj0gInska309eyR2fSYiOwogICAgICB9CiAgICAgICR1cmwgPSBzdWJzdHIoJHVybCwgMCwgLTEpOwogICAgfQogICAgJHRoaXMtPmFkZERlZmF1bHRIZWFkZXJzKCR1cmwsICRwYXJhbXNbJ29hdXRoJ10pOwogICAgJGNoID0gJHRoaXMtPmN1cmxJbml0KCR1cmwpOwogICAgJHJlc3AgPSAkdGhpcy0+ZXhlY3V0ZUN1cmwoJGNoKTsKICAgICR0aGlzLT5lbXB0eUhlYWRlcnMoKTsKCiAgICByZXR1cm4gJHJlc3A7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gaHR0cFBvc3QoJHVybCwgJHBhcmFtcyA9IG51bGwsICRpc011bHRpcGFydCkKICB7CiAgICAkdGhpcy0+YWRkRGVmYXVsdEhlYWRlcnMoJHVybCwgJHBhcmFtc1snb2F1dGgnXSk7CiAgICAkY2ggPSAkdGhpcy0+Y3VybEluaXQoJHVybCk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgMSk7CiAgICAvLyBwaHAncyBjdXJsIGV4dGVuc2lvbiBhdXRvbWF0aWNhbGx5IHNldHMgdGhlIGNvbnRlbnQgdHlwZQogICAgLy8gYmFzZWQgb24gd2hldGhlciB0aGUgcGFyYW1zIGFyZSBpbiBzdHJpbmcgb3IgYXJyYXkgZm9ybQogICAgaWYoJGlzTXVsdGlwYXJ0KQogICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtc1sncmVxdWVzdCddKTsKICAgIGVsc2UKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICR0aGlzLT5idWlsZEh0dHBRdWVyeVJhdygkcGFyYW1zWydyZXF1ZXN0J10pKTsKICAgICRyZXNwID0gJHRoaXMtPmV4ZWN1dGVDdXJsKCRjaCk7CiAgICAkdGhpcy0+ZW1wdHlIZWFkZXJzKCk7CgogICAgcmV0dXJuICRyZXNwOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIG5vcm1hbGl6ZVVybCgkdXJsID0gbnVsbCkKICB7CiAgICAkdXJsUGFydHMgPSBwYXJzZV91cmwoJHVybCk7CiAgICAkc2NoZW1lID0gc3RydG9sb3dlcigkdXJsUGFydHNbJ3NjaGVtZSddKTsKICAgICRob3N0ICAgPSBzdHJ0b2xvd2VyKCR1cmxQYXJ0c1snaG9zdCddKTsKICAgICRwb3J0ID0gaXNzZXQoJHVybFBhcnRzWydwb3J0J10pID8gaW50dmFsKCR1cmxQYXJ0c1sncG9ydCddKSA6IDA7CgogICAgJHJldHZhbCA9IHN0cnRvbG93ZXIoJHNjaGVtZSkgLiAnOi8vJyAuIHN0cnRvbG93ZXIoJGhvc3QpOwoKICAgIGlmKCFlbXB0eSgkcG9ydCkgJiYgKCgkc2NoZW1lID09PSAnaHR0cCcgJiYgJHBvcnQgIT0gODApIHx8ICgkc2NoZW1lID09PSAnaHR0cHMnICYmICRwb3J0ICE9IDQ0MykpKQogICAgICAkcmV0dmFsIC49ICI6eyRwb3J0fSI7CgogICAgJHJldHZhbCAuPSAkdXJsUGFydHNbJ3BhdGgnXTsKICAgIGlmKCFlbXB0eSgkdXJsUGFydHNbJ3F1ZXJ5J10pKQogICAgewogICAgICAkcmV0dmFsIC49ICI/eyR1cmxQYXJ0c1sncXVlcnknXX0iOwogICAgfQoKICAgIHJldHVybiAkcmV0dmFsOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzTXVsdGlwYXJ0KCRwYXJhbXMgPSBudWxsKQogIHsKICAgIGlmKCRwYXJhbXMpCiAgICB7CiAgICAgIGZvcmVhY2goJHBhcmFtcyBhcyAkayA9PiAkdikKICAgICAgewogICAgICAgIGlmKHN0cm5jbXAoJ0AnLCRrLDEpID09PSAwKQogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBwcmVwYXJlUGFyYW1ldGVycygkbWV0aG9kID0gbnVsbCwgJHVybCA9IG51bGwsICRwYXJhbXMgPSBudWxsKQogIHsKICAgIGlmKGVtcHR5KCRtZXRob2QpIHx8IGVtcHR5KCR1cmwpKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgJG9hdXRoWydvYXV0aF9jb25zdW1lcl9rZXknXSA9ICR0aGlzLT5jb25zdW1lcktleTsKICAgICRvYXV0aFsnb2F1dGhfdG9rZW4nXSA9ICR0aGlzLT50b2tlbjsKICAgICRvYXV0aFsnb2F1dGhfbm9uY2UnXSA9ICR0aGlzLT5nZW5lcmF0ZU5vbmNlKCk7CiAgICAkb2F1dGhbJ29hdXRoX3RpbWVzdGFtcCddID0gIWlzc2V0KCR0aGlzLT50aW1lc3RhbXApID8gdGltZSgpIDogJHRoaXMtPnRpbWVzdGFtcDsgLy8gZm9yIHVuaXQgdGVzdAogICAgJG9hdXRoWydvYXV0aF9zaWduYXR1cmVfbWV0aG9kJ10gPSAkdGhpcy0+c2lnbmF0dXJlTWV0aG9kOwogICAgaWYoaXNzZXQoJHBhcmFtc1snb2F1dGhfdmVyaWZpZXInXSkpCiAgICB7CiAgICAgICRvYXV0aFsnb2F1dGhfdmVyaWZpZXInXSA9ICRwYXJhbXNbJ29hdXRoX3ZlcmlmaWVyJ107CiAgICAgIHVuc2V0KCRwYXJhbXNbJ29hdXRoX3ZlcmlmaWVyJ10pOwogICAgfQogICAgJG9hdXRoWydvYXV0aF92ZXJzaW9uJ10gPSAkdGhpcy0+dmVyc2lvbjsKICAgIC8vIGVuY29kZSBhbGwgb2F1dGggdmFsdWVzCiAgICBmb3JlYWNoKCRvYXV0aCBhcyAkayA9PiAkdikKICAgICAgJG9hdXRoWyRrXSA9ICR0aGlzLT5lbmNvZGVfcmZjMzk4Nigkdik7CiAgICAvLyBlbmNvZGUgYWxsIG5vbiAnQCcgcGFyYW1zCiAgICAvLyBrZWVwIHNpZ1BhcmFtcyBmb3Igc2lnbmF0dXJlIGdlbmVyYXRpb24gKGV4Y2x1ZGUgJ0AnIHBhcmFtcykKICAgIC8vIHJlbmFtZSAnQGtleScgdG8gJ2tleScKICAgICRzaWdQYXJhbXMgPSBhcnJheSgpOwogICAgJGhhc0ZpbGUgPSBmYWxzZTsKICAgIGlmKGlzX2FycmF5KCRwYXJhbXMpKQogICAgewogICAgICBmb3JlYWNoKCRwYXJhbXMgYXMgJGsgPT4gJHYpCiAgICAgIHsKICAgICAgICBpZihzdHJuY21wKCdAJywkaywxKSAhPT0gMCkKICAgICAgICB7CiAgICAgICAgICAkc2lnUGFyYW1zWyRrXSA9ICR0aGlzLT5lbmNvZGVfcmZjMzk4Nigkdik7CiAgICAgICAgICAkcGFyYW1zWyRrXSA9ICR0aGlzLT5lbmNvZGVfcmZjMzk4Nigkdik7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAkcGFyYW1zW3N1YnN0cigkaywgMSldID0gJHY7CiAgICAgICAgICB1bnNldCgkcGFyYW1zWyRrXSk7CiAgICAgICAgICAkaGFzRmlsZSA9IHRydWU7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBpZigkaGFzRmlsZSA9PT0gdHJ1ZSkKICAgICAgICAkc2lnUGFyYW1zID0gYXJyYXkoKTsKICAgIH0KCiAgICAkc2lnUGFyYW1zID0gYXJyYXlfbWVyZ2UoJG9hdXRoLCAoYXJyYXkpJHNpZ1BhcmFtcyk7CgogICAgLy8gc29ydGluZwogICAga3NvcnQoJHNpZ1BhcmFtcyk7CgogICAgLy8gc2lnbmluZwogICAgJG9hdXRoWydvYXV0aF9zaWduYXR1cmUnXSA9ICR0aGlzLT5lbmNvZGVfcmZjMzk4NigkdGhpcy0+Z2VuZXJhdGVTaWduYXR1cmUoJG1ldGhvZCwgJHVybCwgJHNpZ1BhcmFtcykpOwogICAgcmV0dXJuIGFycmF5KCdyZXF1ZXN0JyA9PiAkcGFyYW1zLCAnb2F1dGgnID0+ICRvYXV0aCk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2lnblN0cmluZygkc3RyaW5nID0gbnVsbCkKICB7CiAgICAkcmV0dmFsID0gZmFsc2U7CiAgICBzd2l0Y2goJHRoaXMtPnNpZ25hdHVyZU1ldGhvZCkKICAgIHsKICAgICAgY2FzZSAnSE1BQy1TSEExJzoKICAgICAgICAka2V5ID0gJHRoaXMtPmVuY29kZV9yZmMzOTg2KCR0aGlzLT5jb25zdW1lclNlY3JldCkgLiAnJicgLiAkdGhpcy0+ZW5jb2RlX3JmYzM5ODYoJHRoaXMtPnRva2VuU2VjcmV0KTsKICAgICAgICAkcmV0dmFsID0gYmFzZTY0X2VuY29kZShoYXNoX2htYWMoJ3NoYTEnLCAkc3RyaW5nLCAka2V5LCB0cnVlKSk7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgcmV0dXJuICRyZXR2YWw7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbnN1bWVyS2V5LCAkY29uc3VtZXJTZWNyZXQsICRzaWduYXR1cmVNZXRob2Q9J0hNQUMtU0hBMScpCiAgewogICAgJHRoaXMtPmNvbnN1bWVyS2V5ID0gJGNvbnN1bWVyS2V5OwogICAgJHRoaXMtPmNvbnN1bWVyU2VjcmV0ID0gJGNvbnN1bWVyU2VjcmV0OwogICAgJHRoaXMtPnNpZ25hdHVyZU1ldGhvZCA9ICRzaWduYXR1cmVNZXRob2Q7CiAgICAkdGhpcy0+Y3VybCA9IEVwaUN1cmw6OmdldEluc3RhbmNlKCk7CiAgfQp9CgpjbGFzcyBFcGlPQXV0aFJlc3BvbnNlCnsKICBwcml2YXRlICRfX3Jlc3A7CiAgcHJvdGVjdGVkICRkZWJ1ZyA9IGZhbHNlOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHJlc3ApCiAgewogICAgJHRoaXMtPl9fcmVzcCA9ICRyZXNwOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRuYW1lKQogIHsKICAgIGlmKCR0aGlzLT5fX3Jlc3AtPmNvZGUgIT0gMjAwKQogICAgICBFcGlPQXV0aEV4Y2VwdGlvbjo6cmFpc2UoJHRoaXMtPl9fcmVzcCwgJHRoaXMtPmRlYnVnKTsKCiAgICBwYXJzZV9zdHIoJHRoaXMtPl9fcmVzcC0+ZGF0YSwgJHJlc3VsdCk7CiAgICBmb3JlYWNoKCRyZXN1bHQgYXMgJGsgPT4gJHYpCiAgICB7CiAgICAgICR0aGlzLT4kayA9ICR2OwogICAgfQoKICAgIHJldHVybiBpc3NldCgkcmVzdWx0WyRuYW1lXSkgPyAkcmVzdWx0WyRuYW1lXSA6IG51bGw7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5fX3Jlc3AtPmRhdGE7CiAgfQp9CgpjbGFzcyBFcGlPQXV0aEV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbgp7CiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByYWlzZSgkcmVzcG9uc2UsICRkZWJ1ZykKICB7CiAgICAkbWVzc2FnZSA9ICRyZXNwb25zZS0+cmVzcG9uc2VUZXh0OwoKICAgIHN3aXRjaCgkcmVzcG9uc2UtPmNvZGUpCiAgICB7CiAgICAgIGNhc2UgNDAwOgogICAgICAgIHRocm93IG5ldyBFcGlPQXV0aEJhZFJlcXVlc3RFeGNlcHRpb24oJG1lc3NhZ2UsICRyZXNwb25zZS0+Y29kZSk7CiAgICAgIGNhc2UgNDAxOgogICAgICAgIHRocm93IG5ldyBFcGlPQXV0aFVuYXV0aG9yaXplZEV4Y2VwdGlvbigkbWVzc2FnZSwgJHJlc3BvbnNlLT5jb2RlKTsKICAgICAgZGVmYXVsdDoKICAgICAgICB0aHJvdyBuZXcgRXBpT0F1dGhFeGNlcHRpb24oJG1lc3NhZ2UsICRyZXNwb25zZS0+Y29kZSk7CiAgICB9CiAgfQp9CmNsYXNzIEVwaU9BdXRoQmFkUmVxdWVzdEV4Y2VwdGlvbiBleHRlbmRzIEVwaU9BdXRoRXhjZXB0aW9ue30KY2xhc3MgRXBpT0F1dGhVbmF1dGhvcml6ZWRFeGNlcHRpb24gZXh0ZW5kcyBFcGlPQXV0aEV4Y2VwdGlvbnt9]]></data>
	</file>
	<file>
	  <filename>/lib/epi/EpiSequence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgRXBpU2VxdWVuY2UKewogIHByaXZhdGUgJHRpbWVycywgJG1pbiwgJG1heCwgJHdpZHRoID0gMTAwOwogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdGltZXJzKSAKICB7CiAgICAkdGhpcy0+dGltZXJzID0gJHRpbWVyczsKICAgIAogICAgJG1pbiA9IFBIUF9JTlRfTUFYOwogICAgJG1heCA9IDA7CiAgICBmb3JlYWNoKCR0aGlzLT50aW1lcnMgYXMgJHRpbWVyKQogICAgewogICAgICAkbWluID0gbWluKCR0aW1lclsnc3RhcnQnXSwgJG1pbik7CiAgICAgICRtYXggPSBtYXgoJHRpbWVyWydlbmQnXSwgJG1heCk7CiAgICB9CiAgICAkdGhpcy0+bWluID0gJG1pbjsKICAgICR0aGlzLT5tYXggPSAkbWF4OwogICAgJHRoaXMtPnJhbmdlID0gJG1heC0kbWluOwogICAgJHRoaXMtPnN0ZXAgPSBmbG9hdHZhbCgkdGhpcy0+cmFuZ2UvJHRoaXMtPndpZHRoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiByZW5kZXJBc2NpaSgpCiAgewogICAgJHRwbCA9ICcnOwogICAgZm9yZWFjaCgkdGhpcy0+dGltZXJzIGFzICR0aW1lcikKICAgICAkdHBsIC49ICR0aGlzLT50cGxBc2NpaSgkdGltZXIpOwogICAgCiAgICByZXR1cm4gJHRwbDsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gdHBsQXNjaWkoJHRpbWVyKQogIHsKICAgICRscGFkID0gJHJwYWQgPSAwOwogICAgJGxzcGFjZSA9ICRjaGFycyA9ICRyc3BhY2UgPSAnJzsKICAgIGlmKCR0aW1lclsnc3RhcnQnXSA+ICR0aGlzLT5taW4pCiAgICAgICRscGFkID0gaW50dmFsKCgkdGltZXJbJ3N0YXJ0J10gLSAkdGhpcy0+bWluKSAvICR0aGlzLT5zdGVwKTsKICAgIGlmKCR0aW1lclsnZW5kJ10gPCAkdGhpcy0+bWF4KQogICAgICAkcnBhZCA9IGludHZhbCgoJHRoaXMtPm1heCAtICR0aW1lclsnZW5kJ10pIC8gJHRoaXMtPnN0ZXApOwogICAgJG1wYWQgPSAkdGhpcy0+d2lkdGggLSAkbHBhZCAtICRycGFkOwogICAgaWYoJGxwYWQgPiAwKQogICAgICAkbHNwYWNlID0gc3RyX3JlcGVhdCgnICcsICRscGFkKTsKICAgIGlmKCRtcGFkID4gMCkKICAgICAgJGNoYXJzID0gc3RyX3JlcGVhdCgnPScsICRtcGFkKTsKICAgIGlmKCRycGFkID4gMCkKICAgICAgJHJzcGFjZSA9IHN0cl9yZXBlYXQoJyAnLCAkcnBhZCk7CiAgICAKICAgICR0cGwgPSA8PDxUUEwKKHskdGltZXJbJ2FwaSddfSA6OiAgY29kZT17JHRpbWVyWydjb2RlJ119LCBzdGFydD17JHRpbWVyWydzdGFydCddfSwgZW5kPXskdGltZXJbJ2VuZCddfSwgdG90YWw9eyR0aW1lclsndGltZSddfSkKW3skbHNwYWNlfXskY2hhcnN9eyRyc3BhY2V9XQoKVFBMOwogICAgcmV0dXJuICR0cGw7CiAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/epi/EpiTwitter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogIENsYXNzIHRvIGludGVncmF0ZSB3aXRoIFR3aXR0ZXIncyBBUEkuCiAqICAgIEF1dGhlbnRpY2F0ZWQgY2FsbHMgYXJlIGRvbmUgdXNpbmcgT0F1dGggYW5kIHJlcXVpcmUgYWNjZXNzIHRva2VucyBmb3IgYSB1c2VyLgogKiAgICBBUEkgY2FsbHMgd2hpY2ggZG8gbm90IHJlcXVpcmUgYXV0aGVudGljYXRpb24gZG8gbm90IHJlcXVpcmUgdG9rZW5zIChpLmUuIHNlYXJjaC90cmVuZHMpCiAqIAogKiAgRnVsbCBkb2N1bWVudGF0aW9uIGF2YWlsYWJsZSBvbiBnaXRodWIKICogICAgaHR0cDovL3dpa2kuZ2l0aHViLmNvbS9qbWF0aGFpL3R3aXR0ZXItYXN5bmMKICogCiAqICBAYXV0aG9yIEphaXNlbiBNYXRoYWkgPGphaXNlbkBqbWF0aGFpLmNvbT4KICovCmNsYXNzIEVwaVR3aXR0ZXIgZXh0ZW5kcyBFcGlPQXV0aAp7CiAgY29uc3QgRVBJVFdJVFRFUl9TSUdOQVRVUkVfTUVUSE9EID0gJ0hNQUMtU0hBMSc7CiAgY29uc3QgRVBJVFdJVFRFUl9BVVRIX09BVVRIID0gJ29hdXRoJzsKICBjb25zdCBFUElUV0lUVEVSX0FVVEhfQkFTSUMgPSAnYmFzaWMnOwogIHByb3RlY3RlZCAkcmVxdWVzdFRva2VuVXJsPSAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vb2F1dGgvcmVxdWVzdF90b2tlbic7CiAgcHJvdGVjdGVkICRhY2Nlc3NUb2tlblVybCA9ICdodHRwczovL2FwaS50d2l0dGVyLmNvbS9vYXV0aC9hY2Nlc3NfdG9rZW4nOwogIHByb3RlY3RlZCAkYXV0aG9yaXplVXJsICAgPSAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vb2F1dGgvYXV0aG9yaXplJzsKICBwcm90ZWN0ZWQgJGF1dGhlbnRpY2F0ZVVybD0gJ2h0dHBzOi8vYXBpLnR3aXR0ZXIuY29tL29hdXRoL2F1dGhlbnRpY2F0ZSc7CiAgcHJvdGVjdGVkICRhcGlVcmwgICAgICAgICA9ICdodHRwOi8vYXBpLnR3aXR0ZXIuY29tJzsKICBwcm90ZWN0ZWQgJGFwaVZlcnNpb25lZFVybD0gJ2h0dHA6Ly9hcGkudHdpdHRlci5jb20nOwogIHByb3RlY3RlZCAkc2VhcmNoVXJsICAgICAgPSAnaHR0cDovL3NlYXJjaC50d2l0dGVyLmNvbSc7CiAgLy8gcHJvdGVjdGVkICR1c2VyQWdlbnQgICAgICA9ICdFcGlUd2l0dGVyIChodHRwOi8vZ2l0aHViLmNvbS9qbWF0aGFpL3R3aXR0ZXItYXN5bmMvdHJlZS8pJzsKCXByb3RlY3RlZCAkdXNlckFnZW50IAkJCT0gJ1R3ZWV0TWFkZVNpbXBsZSAoaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90d2l0dGVyKSc7CiAgcHJvdGVjdGVkICRhcGlWZXJzaW9uICAgICA9ICcxJzsKICBwcm90ZWN0ZWQgJGlzQXN5bmNocm9ub3VzID0gZmFsc2U7CgogIC8qIE9BdXRoIG1ldGhvZHMgKi8KICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCRlbmRwb2ludCwgJHBhcmFtcyA9IG51bGwpCiAgewogICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0KCdERUxFVEUnLCAkZW5kcG9pbnQsICRwYXJhbXMpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldCgkZW5kcG9pbnQsICRwYXJhbXMgPSBudWxsKQogIHsKICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdCgnR0VUJywgJGVuZHBvaW50LCAkcGFyYW1zKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBwb3N0KCRlbmRwb2ludCwgJHBhcmFtcyA9IG51bGwpCiAgewogICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0KCdQT1NUJywgJGVuZHBvaW50LCAkcGFyYW1zKTsKICB9CgogIC8qIEJhc2ljIGF1dGggbWV0aG9kcyAqLwogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfYmFzaWMoJGVuZHBvaW50LCAkcGFyYW1zID0gbnVsbCwgJHVzZXJuYW1lID0gbnVsbCwgJHBhc3N3b3JkID0gbnVsbCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3RfYmFzaWMoJ0RFTEVURScsICRlbmRwb2ludCwgJHBhcmFtcywgJHVzZXJuYW1lLCAkcGFzc3dvcmQpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF9iYXNpYygkZW5kcG9pbnQsICRwYXJhbXMgPSBudWxsLCAkdXNlcm5hbWUgPSBudWxsLCAkcGFzc3dvcmQgPSBudWxsKQogIHsKICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdF9iYXNpYygnR0VUJywgJGVuZHBvaW50LCAkcGFyYW1zLCAkdXNlcm5hbWUsICRwYXNzd29yZCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gcG9zdF9iYXNpYygkZW5kcG9pbnQsICRwYXJhbXMgPSBudWxsLCAkdXNlcm5hbWUgPSBudWxsLCAkcGFzc3dvcmQgPSBudWxsKQogIHsKICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdF9iYXNpYygnUE9TVCcsICRlbmRwb2ludCwgJHBhcmFtcywgJHVzZXJuYW1lLCAkcGFzc3dvcmQpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHVzZUFwaVZlcnNpb24oJHZlcnNpb24gPSBudWxsKQogIHsKICAgICR0aGlzLT5hcGlWZXJzaW9uID0gJHZlcnNpb247CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdXNlQXN5bmNocm9ub3VzKCRhc3luYyA9IHRydWUpCiAgewogICAgJHRoaXMtPmlzQXN5bmNocm9ub3VzID0gKGJvb2wpJGFzeW5jOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25zdW1lcktleSA9IG51bGwsICRjb25zdW1lclNlY3JldCA9IG51bGwsICRvYXV0aFRva2VuID0gbnVsbCwgJG9hdXRoVG9rZW5TZWNyZXQgPSBudWxsKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNvbnN1bWVyS2V5LCAkY29uc3VtZXJTZWNyZXQsIHNlbGY6OkVQSVRXSVRURVJfU0lHTkFUVVJFX01FVEhPRCk7CiAgICAkdGhpcy0+c2V0VG9rZW4oJG9hdXRoVG9rZW4sICRvYXV0aFRva2VuU2VjcmV0KTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG5hbWUsICRwYXJhbXMgPSBudWxsLyosICR1c2VybmFtZSwgJHBhc3N3b3JkKi8pCiAgewogICAgJHBhcnRzICA9IGV4cGxvZGUoJ18nLCAkbmFtZSk7CiAgICAkbWV0aG9kID0gc3RydG91cHBlcihhcnJheV9zaGlmdCgkcGFydHMpKTsKICAgICRwYXJ0cyAgPSBpbXBsb2RlKCdfJywgJHBhcnRzKTsKICAgICRlbmRwb2ludCAgID0gJy8nIC4gcHJlZ19yZXBsYWNlKCcvW0EtWl18WzAtOV0rL2UnLCAiJy8nLnN0cnRvbG93ZXIoJ1xcMCcpIiwgJHBhcnRzKSAuICcuanNvbic7CiAgICAvKiBIQUNLOiB0aGlzIGlzIHJlcXVpcmVkIGZvciBsaXN0IHN1cHBvcnQgdGhhdCBzdGFydHMgd2l0aCBhIHVzZXIgaWQgKi8KICAgICRlbmRwb2ludCA9IHN0cl9yZXBsYWNlKCcvLycsJy8nLCRlbmRwb2ludCk7CiAgICAkYXJncyA9ICFlbXB0eSgkcGFyYW1zKSA/IGFycmF5X3NoaWZ0KCRwYXJhbXMpIDogbnVsbDsKCiAgICAvLyBjYWxscyB3aGljaCBkbyBub3QgaGF2ZSBhIGNvbnN1bWVyS2V5IGFyZSBhc3N1bWVkIHRvIG5vdCByZXF1aXJlIGF1dGhlbnRpY2F0aW9uCiAgICBpZigkdGhpcy0+Y29uc3VtZXJLZXkgPT09IG51bGwpCiAgICB7CiAgICAgICR1c2VybmFtZSA9IG51bGw7CiAgICAgICRwYXNzd29yZCA9IG51bGw7CgogICAgICBpZighZW1wdHkoJHBhcmFtcykpCiAgICAgIHsKICAgICAgICAkdXNlcm5hbWUgPSBhcnJheV9zaGlmdCgkcGFyYW1zKTsKICAgICAgICAkcGFzc3dvcmQgPSAhZW1wdHkoJHBhcmFtcykgPyBhcnJheV9zaGlmdCgkcGFyYW1zKSA6IG51bGw7CiAgICAgIH0KCiAgICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdF9iYXNpYygkbWV0aG9kLCAkZW5kcG9pbnQsICRhcmdzLCAkdXNlcm5hbWUsICRwYXNzd29yZCk7CiAgICB9CgogICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0KCRtZXRob2QsICRlbmRwb2ludCwgJGFyZ3MpOwogIH0KCiAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRBcGlVcmwoJGVuZHBvaW50KQogIHsKICAgIGlmKHByZWdfbWF0Y2goJ0BeL3NlYXJjaFsuL10/KD89KGpzb258ZGFpbHl8Y3VycmVudHx3ZWVrbHkpKUAnLCAkZW5kcG9pbnQpKQogICAgICByZXR1cm4gInskdGhpcy0+c2VhcmNoVXJsfXskZW5kcG9pbnR9IjsKICAgIGVsc2VpZighZW1wdHkoJHRoaXMtPmFwaVZlcnNpb24pKQogICAgICByZXR1cm4gInskdGhpcy0+YXBpVmVyc2lvbmVkVXJsfS97JHRoaXMtPmFwaVZlcnNpb259eyRlbmRwb2ludH0iOwogICAgZWxzZQogICAgICByZXR1cm4gInskdGhpcy0+YXBpVXJsfXskZW5kcG9pbnR9IjsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gcmVxdWVzdCgkbWV0aG9kLCAkZW5kcG9pbnQsICRwYXJhbXMgPSBudWxsKQogIHsKICAgICR1cmwgPSAkdGhpcy0+Z2V0VXJsKCR0aGlzLT5nZXRBcGlVcmwoJGVuZHBvaW50KSk7CiAgICAkcmVzcD0gbmV3IEVwaVR3aXR0ZXJKc29uKGNhbGxfdXNlcl9mdW5jKGFycmF5KCR0aGlzLCAnaHR0cFJlcXVlc3QnKSwgJG1ldGhvZCwgJHVybCwgJHBhcmFtcywgJHRoaXMtPmlzTXVsdGlwYXJ0KCRwYXJhbXMpKSwgJHRoaXMtPmRlYnVnKTsKICAgIGlmKCEkdGhpcy0+aXNBc3luY2hyb25vdXMpCiAgICAgICRyZXNwLT5yZXNwb25zZTsKCiAgICByZXR1cm4gJHJlc3A7CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIHJlcXVlc3RfYmFzaWMoJG1ldGhvZCwgJGVuZHBvaW50LCAkcGFyYW1zID0gbnVsbCwgJHVzZXJuYW1lID0gbnVsbCwgJHBhc3N3b3JkID0gbnVsbCkKICB7CiAgICAkdXJsID0gJHRoaXMtPmdldEFwaVVybCgkZW5kcG9pbnQpOwogICAgaWYoJG1ldGhvZCA9PT0gJ0dFVCcpCiAgICAgICR1cmwgLj0gaXNfbnVsbCgkcGFyYW1zKSA/ICcnIDogJz8nLmh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcywgJycsICcmJyk7CiAgICAkY2ggID0gY3VybF9pbml0KCR1cmwpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsIGFycmF5KCdFeHBlY3Q6JykpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAkdGhpcy0+cmVxdWVzdFRpbWVvdXQpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NVU1RPTVJFUVVFU1QsICRtZXRob2QpOwogICAgaWYoJG1ldGhvZCA9PT0gJ1BPU1QnICYmICRwYXJhbXMgIT09IG51bGwpCiAgICB7CiAgICAgIGlmKCR0aGlzLT5pc011bHRpcGFydCgkcGFyYW1zKSkKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtcyk7CiAgICAgIGVsc2UKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHRoaXMtPmJ1aWxkSHR0cFF1ZXJ5UmF3KCRwYXJhbXMpKTsKICAgIH0KICAgIGlmKCFlbXB0eSgkdXNlcm5hbWUpICYmICFlbXB0eSgkcGFzc3dvcmQpKQogICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgInskdXNlcm5hbWV9OnskcGFzc3dvcmR9Iik7CgogICAgJHJlc3AgPSBuZXcgRXBpVHdpdHRlckpzb24oRXBpQ3VybDo6Z2V0SW5zdGFuY2UoKS0+YWRkQ3VybCgkY2gpLCAkdGhpcy0+ZGVidWcpOwogICAgaWYoISR0aGlzLT5pc0FzeW5jaHJvbm91cykKICAgICAgJHJlc3AtPnJlc3BvbnNlOwoKICAgIHJldHVybiAkcmVzcDsKICB9Cn0KCmNsYXNzIEVwaVR3aXR0ZXJKc29uIGltcGxlbWVudHMgQXJyYXlBY2Nlc3MsIENvdW50YWJsZSwgSXRlcmF0b3JBZ2dyZWdhdGUKewogIHByaXZhdGUgJGRlYnVnOwogIHByaXZhdGUgJF9fcmVzcDsKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHJlc3BvbnNlLCAkZGVidWcgPSBmYWxzZSkKICB7CiAgICAkdGhpcy0+X19yZXNwID0gJHJlc3BvbnNlOwogICAgJHRoaXMtPmRlYnVnICA9ICRkZWJ1ZzsKICB9CgogIC8vIGVuc3VyZSB0aGF0IGNhbGxzIGNvbXBsZXRlIGJ5IGJsb2NraW5nIGZvciByZXN1bHRzLCBOT09QIGlmIGFscmVhZHkgcmV0dXJuZWQKICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgewogICAgJHRoaXMtPnJlc3BvbnNlVGV4dDsKICB9CgogIC8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBJdGVyYXRvckFnZ3JlZ2F0ZTo6Z2V0SXRlcmF0b3IoKSB0byBzdXBwb3J0IGZvcmVhY2ggKCR0aGlzIGFzICQuLi4pCiAgcHVibGljIGZ1bmN0aW9uIGdldEl0ZXJhdG9yICgpCiAgewogICAgaWYgKCR0aGlzLT5fX29iaikgewogICAgICByZXR1cm4gbmV3IEFycmF5SXRlcmF0b3IoJHRoaXMtPl9fb2JqKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBuZXcgQXJyYXlJdGVyYXRvcigkdGhpcy0+cmVzcG9uc2UpOwogICAgfQogIH0KCiAgLy8gSW1wbGVtZW50YXRpb24gb2YgQ291bnRhYmxlOjpjb3VudCgpIHRvIHN1cHBvcnQgY291bnQoJHRoaXMpCiAgcHVibGljIGZ1bmN0aW9uIGNvdW50ICgpCiAgewogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5yZXNwb25zZSk7CiAgfQogIAogIC8vIE5leHQgZm91ciBmdW5jdGlvbnMgYXJlIHRvIHN1cHBvcnQgQXJyYXlBY2Nlc3MgaW50ZXJmYWNlCiAgLy8gMQogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJG9mZnNldCwgJHZhbHVlKSAKICB7CiAgICAkdGhpcy0+cmVzcG9uc2VbJG9mZnNldF0gPSAkdmFsdWU7CiAgfQoKICAvLyAyCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygkb2Zmc2V0KSAKICB7CiAgICByZXR1cm4gaXNzZXQoJHRoaXMtPnJlc3BvbnNlWyRvZmZzZXRdKTsKICB9CiAgCiAgLy8gMwogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRVbnNldCgkb2Zmc2V0KSAKICB7CiAgICB1bnNldCgkdGhpcy0+cmVzcG9uc2VbJG9mZnNldF0pOwogIH0KCiAgLy8gNAogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRHZXQoJG9mZnNldCkgCiAgewogICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5yZXNwb25zZVskb2Zmc2V0XSkgPyAkdGhpcy0+cmVzcG9uc2VbJG9mZnNldF0gOiBudWxsOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRuYW1lKQogIHsKICAgICRhY2Nlc3NpYmxlID0gYXJyYXkoJ3Jlc3BvbnNlVGV4dCc9PjEsJ2hlYWRlcnMnPT4xLCdjb2RlJz0+MSk7CiAgICAkdGhpcy0+cmVzcG9uc2VUZXh0ID0gJHRoaXMtPl9fcmVzcC0+ZGF0YTsKICAgICR0aGlzLT5oZWFkZXJzICAgICAgPSAkdGhpcy0+X19yZXNwLT5oZWFkZXJzOwogICAgJHRoaXMtPmNvZGUgICAgICAgICA9ICR0aGlzLT5fX3Jlc3AtPmNvZGU7CiAgICBpZihpc3NldCgkYWNjZXNzaWJsZVskbmFtZV0pICYmICRhY2Nlc3NpYmxlWyRuYW1lXSkKICAgICAgcmV0dXJuICR0aGlzLT4kbmFtZTsKICAgIGVsc2VpZigoJHRoaXMtPmNvZGUgPCAyMDAgfHwgJHRoaXMtPmNvZGUgPj0gNDAwKSAmJiAhaXNzZXQoJGFjY2Vzc2libGVbJG5hbWVdKSkKICAgICAgRXBpVHdpdHRlckV4Y2VwdGlvbjo6cmFpc2UoJHRoaXMtPl9fcmVzcCwgJHRoaXMtPmRlYnVnKTsKCiAgICAvLyBDYWxsIGFwcGVhcnMgb2sgc28gd2UgY2FuIGZpbGwgaW4gdGhlIHJlc3BvbnNlCiAgICAkdGhpcy0+cmVzcG9uc2UgICAgID0ganNvbl9kZWNvZGUoJHRoaXMtPnJlc3BvbnNlVGV4dCwgMSk7CiAgICAkdGhpcy0+X19vYmogICAgICAgID0ganNvbl9kZWNvZGUoJHRoaXMtPnJlc3BvbnNlVGV4dCk7CgogICAgaWYoZ2V0dHlwZSgkdGhpcy0+X19vYmopID09PSAnb2JqZWN0JykKICAgIHsKICAgICAgZm9yZWFjaCgkdGhpcy0+X19vYmogYXMgJGsgPT4gJHYpCiAgICAgIHsKICAgICAgICAkdGhpcy0+JGsgPSAkdjsKICAgICAgfQogICAgfQoKICAgIGlmIChwcm9wZXJ0eV9leGlzdHMoJHRoaXMsICRuYW1lKSkgewogICAgICByZXR1cm4gJHRoaXMtPiRuYW1lOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19pc3NldCgkbmFtZSkKICB7CiAgICAkdmFsdWUgPSBzZWxmOjpfX2dldCgkbmFtZSk7CiAgICByZXR1cm4gIWVtcHR5KCRuYW1lKTsKICB9Cn0KCmNsYXNzIEVwaVR3aXR0ZXJFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24gCnsKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJhaXNlKCRyZXNwb25zZSwgJGRlYnVnKQogIHsKICAgICRtZXNzYWdlID0gJHJlc3BvbnNlLT5kYXRhOwogICAgc3dpdGNoKCRyZXNwb25zZS0+Y29kZSkKICAgIHsKICAgICAgY2FzZSA0MDA6CiAgICAgICAgdGhyb3cgbmV3IEVwaVR3aXR0ZXJCYWRSZXF1ZXN0RXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgICBjYXNlIDQwMToKICAgICAgICB0aHJvdyBuZXcgRXBpVHdpdHRlck5vdEF1dGhvcml6ZWRFeGNlcHRpb24oJG1lc3NhZ2UsICRyZXNwb25zZS0+Y29kZSk7CiAgICAgIGNhc2UgNDAzOgogICAgICAgIHRocm93IG5ldyBFcGlUd2l0dGVyRm9yYmlkZGVuRXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgICBjYXNlIDQwNDoKICAgICAgICB0aHJvdyBuZXcgRXBpVHdpdHRlck5vdEZvdW5kRXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgICBjYXNlIDQwNjoKICAgICAgICB0aHJvdyBuZXcgRXBpVHdpdHRlck5vdEFjY2VwdGFibGVFeGNlcHRpb24oJG1lc3NhZ2UsICRyZXNwb25zZS0+Y29kZSk7CiAgICAgIGNhc2UgNDIwOgogICAgICAgIHRocm93IG5ldyBFcGlUd2l0dGVyRW5oYW5jZVlvdXJDYWxtRXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgICBjYXNlIDUwMDoKICAgICAgICB0aHJvdyBuZXcgRXBpVHdpdHRlckludGVybmFsU2VydmVyRXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgICBjYXNlIDUwMjoKICAgICAgICB0aHJvdyBuZXcgRXBpVHdpdHRlckJhZEdhdGV3YXlFeGNlcHRpb24oJG1lc3NhZ2UsICRyZXNwb25zZS0+Y29kZSk7CiAgICAgIGNhc2UgNTAzOgogICAgICAgIHRocm93IG5ldyBFcGlUd2l0dGVyU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFcGlUd2l0dGVyRXhjZXB0aW9uKCRtZXNzYWdlLCAkcmVzcG9uc2UtPmNvZGUpOwogICAgfQogIH0KfQpjbGFzcyBFcGlUd2l0dGVyQmFkUmVxdWVzdEV4Y2VwdGlvbiBleHRlbmRzIEVwaVR3aXR0ZXJFeGNlcHRpb257fQpjbGFzcyBFcGlUd2l0dGVyTm90QXV0aG9yaXplZEV4Y2VwdGlvbiBleHRlbmRzIEVwaVR3aXR0ZXJFeGNlcHRpb257fQpjbGFzcyBFcGlUd2l0dGVyRm9yYmlkZGVuRXhjZXB0aW9uIGV4dGVuZHMgRXBpVHdpdHRlckV4Y2VwdGlvbnt9CmNsYXNzIEVwaVR3aXR0ZXJOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEVwaVR3aXR0ZXJFeGNlcHRpb257fQpjbGFzcyBFcGlUd2l0dGVyTm90QWNjZXB0YWJsZUV4Y2VwdGlvbiBleHRlbmRzIEVwaVR3aXR0ZXJFeGNlcHRpb257fQpjbGFzcyBFcGlUd2l0dGVyRW5oYW5jZVlvdXJDYWxtRXhjZXB0aW9uIGV4dGVuZHMgRXBpVHdpdHRlckV4Y2VwdGlvbnt9CmNsYXNzIEVwaVR3aXR0ZXJJbnRlcm5hbFNlcnZlckV4Y2VwdGlvbiBleHRlbmRzIEVwaVR3aXR0ZXJFeGNlcHRpb257fQpjbGFzcyBFcGlUd2l0dGVyQmFkR2F0ZXdheUV4Y2VwdGlvbiBleHRlbmRzIEVwaVR3aXR0ZXJFeGNlcHRpb257fQpjbGFzcyBFcGlUd2l0dGVyU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uIGV4dGVuZHMgRXBpVHdpdHRlckV4Y2VwdGlvbnt9]]></data>
	</file>
	<file>
	  <filename>/lib/epi/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KiBDb3B5cmlnaHQgKGMpIDIwMDcsIEphaXNlbiBNYXRoYWkKKiBBbGwgcmlnaHRzIHJlc2VydmVkLgoqCiogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CiogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKiAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKiAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiogICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKiAgICAgKiBUaGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgTk9UIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIAoqICAgICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiAKKiAgICAgICBwZXJtaXNzaW9uLgoqCiogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBKYWlzZW4gTWF0aGFpICJBUyBJUyIgQU5EIEFOWQoqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCiogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgSmFpc2VuIE1hdGhhaSBCRSBMSUFCTEUgRk9SIEFOWQoqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCiogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwoqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAoqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K]]></data>
	</file>
	<file>
	  <filename>/lib/epi/README</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VHdpdHRlci1hc3luYyBpcyBhIHdyYXBwZXIgZm9yIFR3aXR0ZXIncyBPQXV0aCBBUEkgd2hpY2ggcHJvdmlkZXMgYXN5bmNocm9ub3VzIGNhbGxzLgoKQXV0aG9ycwogICAqIGptYXRoYWkKICAgKiBhcmlrZnIgCiAgICogZXJpY21tYXJ0aW4KICAgKiB0YWhwb3QKICAgKiBkaW5ncmFtCiAgICogbmducG9wZQoKRG9jdW1lbnRhdGlvbjoKICAgKiBodHRwOi8vd3d3LmphaXNlbm1hdGhhaS5jb20vYXJ0aWNsZXMvdHdpdHRlci1hc3luYy1kb2N1bWVudGF0aW9uLmh0bWwKCkJsb2dzCiAgICogaHR0cDovL3d3dy5qYWlzZW5tYXRoYWkuY29tL2FydGljbGVzL3R3aXR0ZXItcGhwLXNpZ24taW4uaHRtbAogICAqIGh0dHA6Ly93d3cuamFpc2VubWF0aGFpLmNvbS9hcnRpY2xlcy90d2l0dGVyLXBocC1vYXV0aC5odG1sCiAgICogaHR0cDovL3d3dy4xc3R3ZWJkZXNpZ25lci5jb20vdHV0b3JpYWxzL3R3aXR0ZXItYXBwLW9hdXRoLXBocC8KCkxpdmUgRXhhbXBsZXMKICAgKiBodHRwOi8vd3d3LmphaXNlbm1hdGhhaS5jb20vc2lnbl9pbl93aXRoX3R3aXR0ZXIvc3RhcnQucGhwCg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGwoKQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywKCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgoJICAgCSAgIAoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0CgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQoJICAgCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLgoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKICAgICAgICAvLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KICAgICAgICAkZmxkcyA9ICIKCQkJaWQgSSBLRVksCgkJCWRlc2NyaXB0aW9uIEMoODApCgkJCSI7CgoJCS8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdHdpdHRlciIsCgkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJCS8vIGNyZWF0ZSBhIHNlcXVlbmNlCgkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90d2l0dGVyX3NlcSIpOwoJCSovCgkJCgkJLy8gcGVybWlzc2lvbnMKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTWFuYWdlIFR3aXR0ZXInLCdNYW5hZ2UgVHdpdHRlcicpOwoKCQkvLyBQcmVmZXJlbmNlcwoJLy8JJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2luJywnJyk7CgkvLwkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFzc3dvcmQnLCcnKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZW91dCcsJzYwMCcpOwoJCQovLwkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVlc3QnKQoKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoJCQoJCS8vIFRlbXBsYXRlCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgndGltZWxpbmUnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgndGltZWxpbmUnKSk7CgkJCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbCgpCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudAoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQKCSAgIHdvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUKCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMKCSAgIHRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBSZW1vdmFsCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90d2l0dGVyIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJLy8gcmVtb3ZlIHRoZSBzZXF1ZW5jZQoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90d2l0dGVyX3NlcSIgKTsKCQkqLwoJCQoJCS8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTWFuYWdlIFR3aXR0ZXInKTsKCgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVwZ3JhZGUoKQoJICAgSWYgeW91ciBtb2R1bGUgdmVyc2lvbiBudW1iZXIgZG9lcyBub3QgbWF0Y2ggdGhlIHZlcnNpb24KCSAgIG51bWJlciBvZiB0aGUgaW5zdGFsbGVkIG1vZHVsZSwgdGhlIENNUyBBZG1pbiB3aWxsIGdpdmUKCSAgIHlvdSBhIGNoYW5jZSB0byB1cGdyYWRlIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIGZ1bmN0aW9uCgkgICB0aGF0IGFjdHVhbGx5IGhhbmRsZXMgdGhlIHVwZ3JhZGUuCgkgICBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBoYW5kbGUgdXBncmFkZXMgaW5jcmVtZW50YWxseSwKCSAgIHNvIHlvdSBjb3VsZCB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjAuMSB0byAxMC41Ljcgd2l0aAoJICAgYSBzaW5nbGUgY2FsbC4gRm9yIGEgZ3JlYXQgZXhhbXBsZSBvZiB0aGlzLCBzZWUgdGhlIE5ld3MKCSAgIG1vZHVsZSBpbiB0aGUgc3RhbmRhcmQgQ01TIGluc3RhbGwuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwoJCXN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQoJCXsKCQkJY2FzZSAiMC4wLjEiOgoJCQkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjAuNyc7CgkJfQoJCQoJCS8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndXBncmFkZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin.options.tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR0d2l0dGVyX2FjY291bnQpfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPjxpbWcgc3JjPSJ7JHByb2ZpbGVfcGljdHVyZX0iIHN0eWxlPSJmbG9hdDogbGVmdDsgcGFkZGluZzogNXB4OyI+PHA+PHN0cm9uZz57JHR3aXR0ZXJfd2VsY29tZX08L3N0cm9uZz48L3A+PC9wPgoJCTxwPnskdW5zaWdufTwvcD4KCQk8ZGl2IHN0eWxlPSJjbGVhcjpsZWZ0OyBwYWRkaW5nOiA1cHg7Ij48L2Rpdj4KCTwvZGl2Pgp7ZWxzZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+PGEgaHJlZj0ieyR0d2l0dGVyX29hdXRoX2F1dGhvcml6ZX0iPjxpbWcgc3JjPSJ7JHNpZ25fd2l0aF90d2l0dGVyX2ltZ30iIGFsdD0ieyRzaWduX3dpdGhfdHdpdHRlcn0iLz48L2E+PC9wPgo8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aW1lb3V0X3RpdGxlfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRpbWVvdXR9PC9wPgo8L2Rpdj4KCnskc3VibWl0X29wdGlvbnN9eyRjYW5jZWx9]]></data>
	</file>
	<file>
	  <filename>/templates/admin.twitter.tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ic3RhdHVzX3VwZGF0ZSI+CjxoMz57JHN0YXR1c190aXRsZX08L2gzPgp7JHN0YXR1c30KPHNwYW4gY2xhc3M9ImZsb2F0OiByaWdodDsiPnskdXBkYXRlfTwvc3Bhbj4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAyNXB4OyI+CnskdGltZWxpbmVfc3RhdHVzfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3JtX3N0YXJ0fQp7JHRhYl9oZWFkZXJzfQoKeyRzdGFydF90d2l0dGVyX3RhYn0KeyR0d2l0dGVyX3RhYn0KeyRlbmRfdGFifQoKeyRzdGFydF90ZW1wbGF0ZXNfdGFifQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGR0ZW1wbGF0ZWljb259IHskYWRkdGVtcGxhdGVsaW5rfTwvcD4KPC9kaXY+CntpZiAkdGVtcGxhdGVzfGNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj48dGhlYWQ+PHRyPjx0aD57JHRpdGxlX3RlbXBsYXRlfTwvdGg+PHRoIGNsYXNzPSJwYWdlaWNvbiI+wqA8L3RoPjx0aCBjbGFzcz0icGFnZWljb24iPsKgPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSR0ZW1wbGF0ZXMgaXRlbT1lbnRyeX0KICAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CiAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPjx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPjx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+PC90cj4Key9mb3JlYWNofQogIDwvdGJvZHk+PC90YWJsZT4KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkdGVtcGxhdGVpY29ufSB7JGFkZHRlbXBsYXRlbGlua308L3A+CjwvZGl2Pgp7L2lmfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X29wdGlvbnNfdGFifQp7JG9wdGlvbnNfdGFifQp7JGVuZF90YWJ9Cgp7JHRhYl9mb290ZXJzfQp7JGZvcm1fZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/managetemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3JtX3N0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV90ZW1wbGF0ZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNvZGVfdGVtcGxhdGV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRleHRhcmVhX3RlbXBsYXRlfTwvcD4KPC9kaXY+CgoJeyRmb3JtX2RldGFpbHNfc3VibWl0fQoJeyRmb3JtX2RldGFpbHNfYXBwbHl9Cgl7JGZvcm1fZGV0YWlsc19yZXN0b3JlfQp7JGZvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/oauth.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwPjxhIGhyZWY9InskdHdpdHRlcl9vYXV0aF9hdXRob3JpemV9Ij48aW1nIHNyYz0ieyRzaWduX3dpdGhfdHdpdHRlcl9pbWd9IiBhbHQ9Inskc2lnbl93aXRoX3R3aXR0ZXJ9Ii8+PC9hPjwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/send.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0KCTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj4KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJeyRmb3JtLT5zaG93V2lkZ2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCU8L2Rpdj4KCTwvZGl2PicpfQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tdG9wOiAxNXB4OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/timeline.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kdGltZWxpbmUgaXRlbT10d2VldH0gIAogICAgPGRpdiBpZD0ic3RhdHVzX3skdHdlZXQtPmlkfSIgc3R5bGU9ImJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgZ3JheTsiPgogICAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyAiPjxpbWcgc3JjPSJ7JHR3ZWV0LT5waWN0dXJlfSIgYWx0PSJ7JHR3ZWV0LT5hdXRob3JfbmFtZX0iIC8+PC9kaXY+CiAgICAgIDxwPjxzdHJvbmc+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3skdHdlZXQtPmF1dGhvcl9uYW1lfSIgcmVsPSJleHRlcm5hbCIgdGFyZ2V0PSJfbmV3Ij57JHR3ZWV0LT5hdXRob3JfbmFtZX08L2E+PC9zdHJvbmc+IAogICAgICB7JHR3ZWV0LT5nZXRUZXh0KCl9PC9wPgogICAgICA8cD57JHR3ZWV0LT5nZXRXaGVuKCl9IHZpYSB7JHR3ZWV0LT5zb3VyY2V9PC9wPgogICAgICA8ZGl2IHN0eWxlPSJjbGVhcjogcmlnaHQiPjwvZGl2PiAgCiAgICA8L2Rpdj4gIAp7L2ZvcmVhY2h9]]></data>
	</file>
	<file>
	  <filename>/templates/tweet.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlIiBjbGFzcz0idHdpdHRlci1zaGFyZS1idXR0b24iIGRhdGEtY291bnQ9Imhvcml6b250YWwie2lmIGlzc2V0KCR2aWEpfSBkYXRhLXZpYT0ieyR2aWF9InsvaWZ9PlR3ZWV0PC9hPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIj48L3NjcmlwdD4=]]></data>
	</file>
	<file>
	  <filename>/Twitter.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFR3aXR0ZXIgLSBUaGlzIG1vZHVsZSBhbGxvdyB5b3UgdG8gbWFuYWdlIHlvdXIgVHdpdHRlciBmcm9tIENNU01TLiBCb3RoIHNlbmQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUuCiMgVmVyc2lvbjogMC4wLjEsIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllcgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMgVGhpcyBmaWxlIG9yaWdpbmFsbHkgY3JlYXRlZCBieSBNb2R1bGVNYWtlciBtb2R1bGUsIHZlcnNpb24gMC4zLjEKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgU2FtdWVsIEdvbGRzdGVpbiAoc2pnQGNtc21hZGVzaW1wbGUub3JnKSAKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZvciBIZWxwIGJ1aWxkaW5nIG1vZHVsZXM6CiMgLSBSZWFkIHRoZSBEb2N1bWVudGF0aW9uIGFzIGl0IGJlY29tZXMgYXZhaWxhYmxlIGF0CiMgICBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnLwojIC0gQ2hlY2sgb3V0IHRoZSBTa2VsZXRvbiBNb2R1bGUgZm9yIGEgY29tbWVudGVkIGV4YW1wbGUKIyAtIExvb2sgYXQgb3RoZXIgbW9kdWxlcywgYW5kIGxlYXJuIGZyb20gdGhlIHNvdXJjZQojIC0gQ2hlY2sgb3V0IHRoZSBmb3J1bXMgYXQgaHR0cDovL2ZvcnVtcy5jbXNtYWRlc2ltcGxlLm9yZwojIC0gQ2hhdCB3aXRoIGRldmVsb3BlcnMgb24gdGhlICNjbXMgSVJDIGNoYW5uZWwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy9yZXF1aXJlX29uY2UgJ2NsYXNzZXMvVHdpdHRlck9BdXRoLmNsYXNzLnBocCc7CnJlcXVpcmVfb25jZSAnbGliL2NsYXNzZXMvVHdlZXQuY2xhc3MucGhwJzsKCnJlcXVpcmVfb25jZSAoJ2xpYi9lcGkvRXBpQ3VybC5waHAnKTsKcmVxdWlyZV9vbmNlICgnbGliL2VwaS9FcGlPQXV0aC5waHAnKTsKcmVxdWlyZV9vbmNlICgnbGliL2VwaS9FcGlUd2l0dGVyLnBocCcpOwpyZXF1aXJlX29uY2UgKCdsaWIvZXBpL0VwaVNlcXVlbmNlLnBocCcpOwoKY2xhc3MgVHdpdHRlciBleHRlbmRzIENNU01vZHVsZQp7CQoJY29uc3QgQ09OU1VNRVJfS0VZID0gJzBzdFFYZ211NGR5ZDZLeTNDRDJ0dyc7IC8vIFR3ZWV0TWFkZVNpbXBsZSBDb25zdW1lciBLZXkKCWNvbnN0IENPTlNVTUVSX1NFQ1JFVCA9ICdmeWkyNFNVdzRaSTdKM09qNHVVU2JsM1dWQUJ6eHNkS2V0dmg5MnY4amcnOyAvLyBUd2VldE1hZGVTaW1wbGUgQ29uc3VtZXIgU2VjcmV0Cgljb25zdCBVU0VSX0FHRU5UID0gJ1R3ZWV0TWFkZVNpbXBsZSAoaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90d2l0dGVyKSc7CgoJdmFyICR0d2l0dGVyT2JqOwoJdmFyICR0d2l0dGVySW5mbzsKCiAgZnVuY3Rpb24gR2V0TmFtZSgpICB7ICAgIHJldHVybiAnVHdpdHRlcic7ICB9CiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgIHsgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsgIH0KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgIHsgICAgcmV0dXJuICcxLjEwJzsgIH0KICBmdW5jdGlvbiBHZXRIZWxwKCkgIHsgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7ICB9CiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkgIHsgICAgcmV0dXJuICdKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXInOyAgfQogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgIHsgICAgcmV0dXJuICdqY2NAbW9ycmlzLWNoYXBtYW4uY29tJzsgIH0KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSAgeyAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOyAgfQogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgIHsgICAgcmV0dXJuIHRydWU7ICB9CiAgZnVuY3Rpb24gSGFzQWRtaW4oKSAgeyAgICByZXR1cm4gdHJ1ZTsgIH0KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSAgeyAgICByZXR1cm4gJ2NvbnRlbnQnOyAgfQogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSAgeyAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2FkbWluZGVzY3JpcHRpb24nKTsgIH0KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSAgeyAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja0FjY2VzcygpOyAgfQogIGZ1bmN0aW9uIENoZWNrQWNjZXNzKCRwZXJtID0gJ01hbmFnZSBUd2l0dGVyJykgICAgeyAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkcGVybSk7ICAgIH0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQl7CQkgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CX0KCQkKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIERpc3BsYXlFcnJvclBhZ2UoKQogICAgIFRoaXMgaXMgYSBzaW1wbGUgZnVuY3Rpb24gZm9yIGdlbmVyYXRpbmcgZXJyb3IgcGFnZXMuCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICAgIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwoKICAgICAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKICAgICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwogICAgfQogIAoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBHZXREZXBlbmRlbmNpZXMoKQogICAgIFlvdXIgbW9kdWxlIG1heSBuZWVkIGFub3RoZXIgbW9kdWxlIHRvIGFscmVhZHkgYmUgaW5zdGFsbGVkCiAgICAgYmVmb3JlIHlvdSBjYW4gaW5zdGFsbCBpdC4KICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYW5kCiAgICAgbWluaW11bSB2ZXJzaW9uIG51bWJlcnMgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4KICAgICAKICAgICBJdCBzaG91bGQgcmV0dXJuIGFuIGhhc2gsIGVnLgogICAgIHJldHVybiBhcnJheSgnc29tZW1vZHVsZSc9PicxLjAnLCAnb3RoZXJtb2R1bGUnPT4nMS4xJyk7CiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDTVNGb3JtcycgPT4gJzAuMC4yJyk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgICBZb3VyIG1vZHVsZSBtYXkgcmVxdWlyZSBmdW5jdGlvbnMgb3Igb2JqZWN0cyBmcm9tCiAgICAgYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIENNUyBNYWRlIFNpbXBsZS4KICAgICBFdmVyIHNpbmNlIHZlcnNpb24gMC4xMSwgeW91IGNhbiBzcGVjaWZ5IHdoaWNoIG1pbmltdW0KICAgICBDTVMgTVMgdmVyc2lvbiBpcyByZXF1aXJlZCBmb3IgeW91ciBtb2R1bGUsIHdoaWNoIHdpbGwKICAgICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgaW5zdGFsbGVkIGJ5IGEgdmVyc2lvbiBvZiBDTVMgdGhhdAogICAgIGNhbid0IHJ1biBpdC4KICAgICAKICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUKICAgICBtaW5pbXVtIHZlcnNpb24gdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4KICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuNS4wIjsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIE1heGltdW1DTVNWZXJzaW9uKCkKICAgICBZb3UgbWF5IHdhbnQgdG8gcHJldmVudCBwZW9wbGUgZnJvbSB1c2luZyB5b3VyIG1vZHVsZSBpbgogICAgIGZ1dHVyZSB2ZXJzaW9ucyBvZiBDTVMgTWFkZSBTaW1wbGUsIGVzcGVjaWFsbHkgaWYgeW91CiAgICAgdGhpbmsgQVBJIGZlYXR1cmVzIHlvdSB1c2UgbWF5IGNoYW5nZSAtLSBhZnRlciBhbGwsIHlvdQogICAgIG5ldmVyIHJlYWxseSBrbm93IGhvdyB0aGUgQ01TIE1TIEFQSSBjb3VsZCBldm9sdmUuCiAgICAgCiAgICAgU28sIHRvIHByZXZlbnQgcGVvcGxlIGZyb20gZmxvb2RpbmcgeW91IHdpdGggYnVnIHJlcG9ydHMKICAgICB3aGVuIGEgbmV3IHZlcnNpb24gb2YgQ01TIE1TIGlzIHJlbGVhc2VkLCB5b3UgY2FuIHNpbXBseQogICAgIHJlc3RyaWN0IHRoZSB2ZXJzaW9uLiBUaGVuLCBvZiBjb3Vyc2UsIHRoZSBvbnVzIGlzIG9uIHlvdQogICAgIHRvIHJlbGVhc2UgYSBuZXcgdmVyc2lvbiBvZiB5b3VyIG1vZHVsZSB3aGVuIGEgbmV3IHZlcnNpb24KICAgICBvZiB0aGUgQ01TIGlzIHJlbGVhc2VkLi4uCiAgICAgCiAgICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlCiAgICAgbWF4aW11bSB2ZXJzaW9uIHRoYXQgdGhpcyBtb2R1bGUgc3VwcG9ydHMuCiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAvKgogICBmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIiOwogIH0KKi8KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAgIEFmdGVyIGluc3RhbGxhdGlvbiwgdGhlcmUgbWF5IGJlIHRoaW5ncyB5b3Ugd2FudCB0bwogICAgIGNvbW11bmljYXRlIHRvIHlvdXIgYWRtaW4uIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhCiAgICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAgIEFmdGVyIHJlbW92aW5nIGEgbW9kdWxlLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCiAgICAgY29tbXVuaWNhdGUgdG8geW91ciBhZG1pbi4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEKICAgICBzdHJpbmcgd2hpY2ggd2lsbCBiZSBkaXNwbGF5ZWQuCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKioKICAgKiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgKiBUaGlzIGFsbG93cyB5b3UgdG8gZGlzcGxheSBhIG1lc3NhZ2UgYWxvbmcgd2l0aCBhIFllcy9ObyBkaWFsb2cgYm94LiBJZiB0aGUgdXNlciByZXNwb25kcwogICAqIGluIHRoZSBhZmZpcm1hdGl2ZSB0byB5b3VyIG1lc3NhZ2UsIHRoZSB1bmluc3RhbGwgd2lsbCBwcm9jZWVkLiBJZiB0aGV5IHJlc3BvbmQgaW4gdGhlCiAgICogbmVnYXRpdmUsIHRoZSB1bmluc3RhbGwgd2lsbCBiZSBjYW5jZWxlZC4gVGh1cywgeW91ciBtZXNzYWdlIHNob3VsZCBiZSBvZiB0aGUgZm9ybQogICAqICJBbGwgbW9kdWxlIGRhdGEgd2lsbCBiZSBkZWxldGVkLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgbW9kdWxlPyIKICAgKgogICAqIElmIHlvdSBkb24ndCB3YW50IHRoZSBkaWFsb2csIGhhdmUgdGhpcyBtZXRob2QgcmV0dXJuIGEgRkFMU0UsIHdoaWNoIHdpbGwgY2F1c2UgdGhlCiAgICogbW9kdWxlIHRvIHVuaW5zdGFsbCBpbW1lZGlhdGVseSBpZiB0aGUgdXNlciBjbGlja3MgdGhlICJ1bmluc3RhbGwiIGxpbmsuCiAgICovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7CiAgfQogIAogIAogIC8vIFR3aXR0ZXIgZnVuY3Rpb25zCiAgCglwdWJsaWMgZnVuY3Rpb24gZ2V0VHdpdHRlck9iaigpCgl7CgkJaWYgKCFlbXB0eSgkdGhpcy0+dHdpdHRlck9iaikpCgkJewoJCQlyZXR1cm4gJHRoaXMtPnR3aXR0ZXJPYmo7CgkJfQoJCWVsc2UKCQl7CgkJCSR0b2tlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvYXV0aF90b2tlbicpOwoJCQkkc2VjcmV0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ29hdXRoX3Rva2VuX3NlY3JldCcpOwoKCQkJdHJ5eyAgCgkJCQkkdGhpcy0+dHdpdHRlck9iaiA9IG5ldyBFcGlUd2l0dGVyKFR3aXR0ZXI6OkNPTlNVTUVSX0tFWSwgVHdpdHRlcjo6Q09OU1VNRVJfU0VDUkVULCR0b2tlbiwgJHNlY3JldCk7CgkJCQlyZXR1cm4gJHRoaXMtPnR3aXR0ZXJPYmo7CgkJCX1jYXRjaChFcGlUd2l0dGVyRXhjZXB0aW9uICRlKXsgIAoJCQkJZWNobyAnV2UgY2F1Z2h0IGFuIEVwaU9BdXRoRXhjZXB0aW9uJzsgIAoJCQkJZWNobyAkZS0+Z2V0TWVzc2FnZSgpOyAgCgkJCQlleGl0OwoJCQl9Y2F0Y2goRXhjZXB0aW9uICRlKXsgIAoJCQkJZWNobyAnV2UgY2F1Z2h0IGFuIHVuZXhwZWN0ZWQgRXhjZXB0aW9uJzsgIAoJCQkJZWNobyAkZS0+Z2V0TWVzc2FnZSgpOyAgCgkJCQlleGl0OwoJCQl9ICAJCQkKCQl9Cgl9CgoKCXB1YmxpYyBmdW5jdGlvbiBnZXRUd2l0dGVySW5mbygpCgl7CgkJCgl9CgkKICBmdW5jdGlvbiBnZXRUaW1lbGluZSgkdHlwZSA9ICdwdWJsaWMnLCAkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICBzd2l0Y2ggKCR0eXBlKQogICAgewogICAgICBjYXNlICdmcmllbmRzJzoKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZyaWVuZHNUaW1lbGluZSgpOwogICAgICAKICAgICAgY2FzZSAncHVibGljJzoKICAgICAgICByZXR1cm4gJHRoaXMtPmdldFB1YmxpY1RpbWVsaW5lKCRwYXJhbXMpOwogICAgICAKICAgICAgY2FzZSAndXNlcic6CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRVc2VyVGltZWxpbmUoJHBhcmFtcyk7CiAgICB9CgogIH0KICAKICBmdW5jdGlvbiBnZXRGcmllbmRzVGltZWxpbmUoKQogIHsKCQkkdCA9ICR0aGlzLT5nZXRUd2l0dGVyT2JqKCk7CgkJaWYoIWlzX251bGwoJHQpKQoJCXsKCQkJJHJlc3AgPSAkdC0+Z2V0KCcvc3RhdHVzZXMvZnJpZW5kc190aW1lbGluZS5qc29uJyk7CiAgIAkJcmV0dXJuICRyZXNwLT5yZXNwb25zZTsJCgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gJzxwIHN0eWxlPSJjb2xvcjpyZWQ7Ij5NdXN0IGJlIGF1dGhlbnRpY2F0ZWQhPC9wPic7CgkJCXJldHVybiBudWxsOwoJCX0KCiAgICAvLyBjdXJsIC11IHVzZXI6cGFzc3dvcmQgaHR0cDovL3R3aXR0ZXIuY29tL3N0YXR1c2VzL2ZyaWVuZHNfdGltZWxpbmUueG1sCiAgICAKICAgLyogJHVybCA9ICdodHRwOi8vdHdpdHRlci5jb20vc3RhdHVzZXMvZnJpZW5kc190aW1lbGluZS54bWwnOwogICAgCiAgICAkY29udGVudCA9IFR3ZWV0OjpnZXRDdXJsKCR1cmwsIGFycmF5KCdsb2dpbicgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2luJykgLCAncGFzc3dvcmQnID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZCcpKSwgYXJyYXkoKSwgJ0dFVCcpOyovCiAgICAgICAgCiAgIC8vZGVidWdfYnVmZmVyKCdUaW1lbGluZTogJyAuICRjb250ZW50KTsgICAgIAogICAgIAogICAgIC8vdmFyX2R1bXAoJGNvbnRlbnQpOwoJCS8qZWNobyAnPHByZT4nOwoJCXZhcl9kdW1wKCRyZXNwLT5zdGF0dXMpOwoJCWVjaG8gJzwvcHJlPic7Ki8KICAgIC8vJHhtbCA9IHNpbXBsZXhtbF9sb2FkX3N0cmluZygkcmVzcC0+cmVzcG9uc2UpOwogICAgCiAgIC8vIHJldHVybiAkeG1sOwogIH0KICAKICBmdW5jdGlvbiBnZXRQdWJsaWNUaW1lbGluZSgkcGFyYW1zKQogIHsKCQkkdHBhcmFtcyA9IGFycmF5KCk7CgkJCiAgCWlmIChpc3NldCgkcGFyYW1zWyd1c2VyX2lkJ10pKQogICAgewogICAgICAkdHBhcmFtc1sndXNlcl9pZCddID0gJHBhcmFtc1sndXNlcl9pZCddOwogICAgfQoJICBlbHNlaWYgKGlzc2V0KCRwYXJhbXNbJ3NjcmVlbl9uYW1lJ10pKQoJICB7CgkgICAJJHRwYXJhbXNbJ3NjcmVlbl9uYW1lJ10gPSAkcGFyYW1zWydzY3JlZW5fbmFtZSddOwoJICB9CiAgICAvLyBjdXJsIC11IHVzZXI6cGFzc3dvcmQgaHR0cDovL3R3aXR0ZXIuY29tL3N0YXR1c2VzL2ZyaWVuZHNfdGltZWxpbmUueG1sCiAgICAKCQkvLyAkdCA9ICR0aGlzLT5nZXRUd2l0dGVyT2JqKCk7CgkJLy8gICAgIAoJCS8vIAkJJHJlc3AgPSAkdC0+Z2V0KCcvc3RhdHVzZXMvcHVibGljX3RpbWVsaW5lLmpzb24nKTsKCQkvLyAgICAJcmV0dXJuICRyZXNwLT5yZXNwb25zZTsKCQkKCQkkdXJsID0gJ2h0dHA6Ly9hcGkudHdpdHRlci5jb20vMS9zdGF0dXNlcy9wdWJsaWNfdGltZWxpbmUuanNvbic7CgkJdmFyX2R1bXAoJHRwYXJhbXMpOwoJCQoJCXJldHVybiBqc29uX2RlY29kZShUd2VldDo6Z2V0Q3VybCgkdXJsLCBudWxsLCAkdHBhcmFtcywgJ0dFVCcpLCAxKTsKCgkJLy8gcmV0dXJuIGpzb25fZGVjb2RlKCRyZXNwb25zZSwgMSk7CgkJCgkJLyoKICAgICR1cmwgPSAnaHR0cDovL3R3aXR0ZXIuY29tL3N0YXR1c2VzL3B1YmxpY190aW1lbGluZS54bWwnOwogICAgCiAgICAkY29udGVudCA9IFR3ZWV0OjpnZXRDdXJsKCR1cmwsIGFycmF5KCdsb2dpbicgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2luJykgLCAncGFzc3dvcmQnID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZCcpKSwgYXJyYXkoKSwgJ0dFVCcpOwogICAgICAgIAogICAgJHhtbCA9IHNpbXBsZXhtbF9sb2FkX3N0cmluZygkY29udGVudCk7CiAgICAKICAgIHJldHVybiAkeG1sOwoJCSovCiAgfQogIAogIGZ1bmN0aW9uIGdldFVzZXJUaW1lbGluZSgkcGFyYW1zID0gYXJyYXkoKSkKICB7CgkJJHRwYXJhbXMgPSBhcnJheSgpOwoJCQogIAlpZiAoaXNzZXQoJHBhcmFtc1sndXNlcl9pZCddKSkKICAgIHsKICAgICAgJHRwYXJhbXNbJ3VzZXJfaWQnXSA9ICRwYXJhbXNbJ3VzZXJfaWQnXTsKICAgIH0KCSAgZWxzZWlmIChpc3NldCgkcGFyYW1zWydzY3JlZW5fbmFtZSddKSkKCSAgewoJICAgCSR0cGFyYW1zWydzY3JlZW5fbmFtZSddID0gJHBhcmFtc1snc2NyZWVuX25hbWUnXTsKCSAgfQoJCQoJCWlmKCRwYXJhbXNbJ25vYXV0aCddICYmIGlzc2V0KCRwYXJhbXNbJ3VzZXJfaWQnXSkpCgkJewoJCQlpZihpc3NldCgkcGFyYW1zWydsaW1pdCddKSkKCQkJewoJCQkJJG51bSA9ICRwYXJhbXNbJ2xpbWl0J107CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkbnVtID0gNTsgCgkJCX0KCQkJCgkJCSRmZWVkID0gJ2h0dHBzOi8vYXBpLnR3aXR0ZXIuY29tL3N0YXR1c2VzL3VzZXJfdGltZWxpbmUvJy4gJHBhcmFtc1sndXNlcl9pZCddIC4gJy5qc29uJzsKCQkJLy8gJGZlZWQgPSAiaHR0cDovL3NlYXJjaC50d2l0dGVyLmNvbS9zZWFyY2guanNvbj9xPWZyb206IiAuICRwYXJhbXNbJ3VzZXJfaWQnXSAuICImYW1wO3JwcD0iIC4gJG51bTsKCgkJCSRjb250ZW50ID0gJHRoaXMtPmdldENvbnRlbnQoJGZlZWQpOwoKCQkJLy8gJGNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJGZlZWQpOwoJCQkKCQkJJGpzb24gPSBqc29uX2RlY29kZSgkY29udGVudCwgMSk7CgkJCSAvLyB2YXJfZHVtcCgkanNvbik7CgkJCQoJCQlpZihpc3NldCgkanNvblsncmVzdWx0cyddKSkKCQkJcmV0dXJuICRqc29uWydyZXN1bHRzJ107CgkJCXJldHVybiAkanNvbjsKCgkJCS8vICR1cmwgPSAnaHR0cDovL2FwaS50d2l0dGVyLmNvbS8xL3N0YXR1c2VzL3VzZXJfdGltZWxpbmUuanNvbic7CgkJCS8vIAkJCXJldHVybiBUd2VldDo6Z2V0Q3VybCgkdXJsLCBudWxsLCAkdHBhcmFtcywgJ0dFVCcpOwoJCX0KCQllbHNlCgkJewoJCQkkdXJsID0gJy9zdGF0dXNlcy91c2VyX3RpbWVsaW5lLmpzb24nOwoJCQkka2V5ID0gJHVybCAuIHNlcmlhbGl6ZSgkdHBhcmFtcyk7CgkJCSRjb250ZW50ID0gJHRoaXMtPmdldENhY2hlKCRrZXkpOwoJCQkKCQkJaWYoJGNvbnRlbnQgIT09IEZBTFNFKQoJCQl7CgkJCQlyZXR1cm4gJGNvbnRlbnQ7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdCA9ICR0aGlzLT5nZXRUd2l0dGVyT2JqKCk7CgkJCQkkcmVzcCA9ICR0LT5nZXQoJHVybCwgJHRwYXJhbXMpOwoJCQkJJHRoaXMtPnNldENhY2hlKCRrZXksICRyZXNwLT5yZXNwb25zZSk7CgkgCQkJcmV0dXJuICRyZXNwLT5yZXNwb25zZTsKCQkJfQoJCX0KCgkJCiAgfQoKCQoJcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnQoJHVybCkKCXsKCQkkY29uZmlnID0gJHRoaXMtPmdldENvbmZpZygpOwoJCSR0aW1lb3V0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RpbWVvdXQnKTsKCQkkZmlsZSA9ICRjb25maWdbJ3ByZXZpZXdzX3BhdGgnXSAuICcvVHdpdHRlcl8nIC4gYmFzZTY0X2VuY29kZSgkdXJsKSAuICcudG1wJzsKCQlpZihpc19maWxlKCRmaWxlKSkKCQl7CgkJCWlmKGZpbGVtdGltZSgkZmlsZSkgPiAodGltZSgpIC0gJHRpbWVvdXQpKQoJCQl7CgkJCQkvLyBDYWNoZSBpcyBmcmVzaCwgcmV0dXJuIGNhY2hlCgkJCQlyZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKTsKCQkJfQoJCX0KCQkvLyBDYWNoZSBpcyBub3QgZnJlc2ggb3IgdW5leGlzdGFudCwgY3JlYXRlIGl0LgoJCSRjb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR1cmwpOwoJCUBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJGNvbnRlbnQpOwoJCXJldHVybiAkY29udGVudDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldENhY2hlKCRrZXkpCgl7CgkJJGNvbmZpZyA9ICR0aGlzLT5nZXRDb25maWcoKTsKCQkkdGltZW91dCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW1lb3V0Jyk7CgkJJGZpbGUgPSAkY29uZmlnWydwcmV2aWV3c19wYXRoJ10gLiAnL1R3aXR0ZXJfJyAuIGJhc2U2NF9lbmNvZGUoJHVybCkgLiAnLnRtcCc7CgkJaWYoaXNfZmlsZSgkZmlsZSkpCgkJewoJCQlpZihmaWxlbXRpbWUoJGZpbGUpID4gKHRpbWUoKSAtICR0aW1lb3V0KSkKCQkJewoJCQkJLy8gQ2FjaGUgaXMgZnJlc2gsIHJldHVybiBjYWNoZQoJCQkJJGNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwoJCQkJcmV0dXJuIHVuc2VyaWFsaXplKCRjb250ZW50KTsKCQkJfQoJCX0KCQlyZXR1cm4gRkFMU0U7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRDYWNoZSgka2V5LCAkY29udGVudCkKCXsKCQkkY29uZmlnID0gJHRoaXMtPmdldENvbmZpZygpOwoJCSRmaWxlID0gJGNvbmZpZ1sncHJldmlld3NfcGF0aCddIC4gJy9Ud2l0dGVyXycgLiBiYXNlNjRfZW5jb2RlKCRrZXkpIC4gJy50bXAnOwoJCUBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgc2VyaWFsaXplKCRjb250ZW50KSk7Cgl9CgogIC8qKgogICAqIFRoaXMgZnVuY3Rpb24gc2VuZCBhIG1lc3NhZ2UgdG8gdHdpdHRlciB3aXRoIFR3aXR0ZXIgYWNjb3VudAogICAqCiAgICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZSBUaGUgMTQwIGNoYXJzIG1lc3NhZ2UgdG8gYmUgc2VudAogICAqIEBwYXJhbSBib29sZWFuICRzaG9ydGVuIFRlbGwgaWYgdGhlIHVybHMgaGFzIHRvIGJlIHNob3J0ZW5lZCAodHJ1ZSBieSBkZWZhdWx0KQogICAqIEByZXR1cm4gYm9vbGVhbgogICAqLwogIAogIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGVTdGF0dXMoJG1lc3NhZ2UsICRzaG9ydGVuID0gdHJ1ZSkKICB7CiAgICAgaWYgKCRzaG9ydGVuKQogICAgIHsKICAgICAgICAkbWVzc2FnZSA9IFR3ZWV0OjpzaG9ydGVuVXJscygkbWVzc2FnZSk7CiAgICAgfQoKICAgIGlmICgkbWVzc2FnZSAhPSAnJyAmJiBzdHJsZW4oJG1lc3NhZ2UpIDwgMTQwKQogICAgewoJCQkkdCA9ICR0aGlzLT5nZXRUd2l0dGVyT2JqKCk7CgkJCSRyZXNwb25zZSA9ICR0LT5wb3N0KCcvc3RhdHVzZXMvdXBkYXRlLmpzb24nLCBhcnJheSgnc3RhdHVzJyA9PiAkbWVzc2FnZSkpOwoJCiAgICAgIHJldHVybiAkcmVzcG9uc2U7CiAgICB9CiAgICBlbHNlIAogICAgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfSAKICAKICBwdWJsaWMgZnVuY3Rpb24gc2hvcnRlblVybHMoJG1lc3NhZ2UpCiAgewogICAgIHJldHVybiBUd2VldDo6c2hvcnRlblVybHMoJG1lc3NhZ2UpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNob3J0ZW5VcmwoJHVybCkKICB7CiAgICAgcmV0dXJuIFR3ZWV0OjpzaG9ydGVuVXJsKCR1cmwpOwogIH0KICAKICBmdW5jdGlvbiBnZXRDdXJsKCR1cmwsICR3aXRoX2NyZWRlbnRpYWwgPSBmYWxzZSwgJGRhdGEgPSBhcnJheSgpLCAkbWV0aG9kID0gJ1BPU1QnKQogIHsKICAgIGlmICgkd2l0aF9jcmVkZW50aWFsKQogICAgeyAgIAogICAgICByZXR1cm4gVHdlZXQ6OmdldEN1cmwoJHVybCwgYXJyYXkoJ2xvZ2luJyA9PiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW4nKSAsICdwYXNzd29yZCcgPT4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJykpLCAkZGF0YSwgJG1ldGhvZCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgIHJldHVybiBUd2VldDo6Z2V0Q3VybCgkdXJsLCBudWxsLCAkZGF0YSwgJG1ldGhvZCk7CiAgICB9CiAgfQoKCWZ1bmN0aW9uIGNyZWF0ZVNlbmRMaW5rKCRpZCwkcmV0dXJuaWQsJHBhcmFtcykKCXsKCQlyZXR1cm4gJHRoaXMtPkNyZWF0ZUxpbmsoCgkJCSRpZCwnc2VuZCcsJHJldHVybmlkLAoJCQkkdGhpcy0+Z2V0SWNvbigndHdpdHRlcl9pY29uLmdpZicsICR0aGlzLT5sYW5nKCdzZW5kX3ZpYV90d2l0dGVyJykpLAoJCQlhcnJheSgnc3RhdHVzJyA9PiBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snc3RhdHVzJ10pKQoJCQkpOwoJfQoJCglmdW5jdGlvbiBnZXRJY29uKCRpY29uLCAkYWx0PW51bGwpCgl7CgkJJGNvbmZpZyA9JiAkdGhpcy0+Z2V0Q29uZmlnKCk7CgkJJGltYWdlX3BhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnaW1hZ2VzJy4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdpY29ucycgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGljb247CgkJJGltYWdlX3VybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAnL21vZHVsZXMvVHdpdHRlci9pbWFnZXMvaWNvbnMvJyAuICRpY29uOwoJCWlmKGlzX2ZpbGUoJGltYWdlX3BhdGgpKQoJCXsKCQkJJGltZyA9ICc8aW1nIHNyYz0iJy4kaW1hZ2VfdXJsLiciJzsKCQkJaWYgKCFpc19udWxsKCRhbHQpKQoJCQl7CgkJCQkkaW1nIC49ICcgYWx0PSInLiRhbHQuJyIgdGl0bGU9IicuJGFsdC4nIic7CgkJCX0KCQkJJGltZyAuPSAnIC8+JzsKCQkJcmV0dXJuICAkaW1nOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KfQoKPz4K]]></data>
	</file>
</module>
