<?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>2.0.4</version>
  <mincmsversion>1.11</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+Q01TRm9ybXMgPSZndDsgMS4xMC45PC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2pjY0BhdG9tc2VlZHMuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDIuMC40PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAwLjAuMSAtIDI5IEp1bmUgMjAwOS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuMC4wIC0gMzAgSnVuZSAyMDEwLiBJbXBsZW1lbnRhdGlvbiBvZiBPQXV0aC48L2xpPiAKPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[This module allow you to manage your Twitter from CMSMS.]]></description>
	<requires>
	  <requiredname>CMSForms</requiredname>
	  <requiredversion>1.10.9</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.idea/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.idea/.name</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VHdpdHRlcg==]]></data>
	</file>
	<file>
	  <filename>/.idea/encodings.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJFbmNvZGluZyIgdXNlVVRGR3Vlc3Npbmc9InRydWUiIG5hdGl2ZTJBc2NpaUZvclByb3BlcnRpZXNGaWxlcz0iZmFsc2UiIC8+CjwvcHJvamVjdD4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/misc.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0Um9vdE1hbmFnZXIiIHZlcnNpb249IjIiIC8+CjwvcHJvamVjdD4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/modules.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0TW9kdWxlTWFuYWdlciI+CiAgICA8bW9kdWxlcz4KICAgICAgPG1vZHVsZSBmaWxldXJsPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uaWRlYS9Ud2l0dGVyLmltbCIgZmlsZXBhdGg9IiRQUk9KRUNUX0RJUiQvLmlkZWEvVHdpdHRlci5pbWwiIC8+CiAgICA8L21vZHVsZXM+CiAgPC9jb21wb25lbnQ+CjwvcHJvamVjdD4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/php.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQaHBQcm9qZWN0U2hhcmVkQ29uZmlndXJhdGlvbiIgcGhwX2xhbmd1YWdlX2xldmVsPSI1LjMuMCIgLz4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/.idea/scopes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.idea/scopes/scope_settings.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGNvbXBvbmVudCBuYW1lPSJEZXBlbmRlbmN5VmFsaWRhdGlvbk1hbmFnZXIiPgogIDxzdGF0ZT4KICAgIDxvcHRpb24gbmFtZT0iU0tJUF9JTVBPUlRfU1RBVEVNRU5UUyIgdmFsdWU9ImZhbHNlIiAvPgogIDwvc3RhdGU+CjwvY29tcG9uZW50Pg==]]></data>
	</file>
	<file>
	  <filename>/.idea/Twitter.iml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1vZHVsZSB0eXBlPSJXRUJfTU9EVUxFIiB2ZXJzaW9uPSI0Ij4KICA8Y29tcG9uZW50IG5hbWU9Ik5ld01vZHVsZVJvb3RNYW5hZ2VyIj4KICAgIDxjb250ZW50IHVybD0iZmlsZTovLyRNT0RVTEVfRElSJCIgLz4KICAgIDxvcmRlckVudHJ5IHR5cGU9ImluaGVyaXRlZEpkayIgLz4KICAgIDxvcmRlckVudHJ5IHR5cGU9InNvdXJjZUZvbGRlciIgZm9yVGVzdHM9ImZhbHNlIiAvPgogICAgPG9yZGVyRW50cnkgdHlwZT0ibW9kdWxlLWxpYnJhcnkiPgogICAgICA8bGlicmFyeSBuYW1lPSJQSFAiPgogICAgICAgIDxDTEFTU0VTPgogICAgICAgICAgPHJvb3QgdXJsPSJmaWxlOi8vJE1PRFVMRV9ESVIkLy4uL0NNU0Zvcm1zIiAvPgogICAgICAgICAgPHJvb3QgdXJsPSJmaWxlOi8vJE1PRFVMRV9ESVIkLy4uLy4uL2xpYiIgLz4KICAgICAgICA8L0NMQVNTRVM+CiAgICAgICAgPFNPVVJDRVM+CiAgICAgICAgICA8cm9vdCB1cmw9ImZpbGU6Ly8kTU9EVUxFX0RJUiQvLi4vQ01TRm9ybXMiIC8+CiAgICAgICAgICA8cm9vdCB1cmw9ImZpbGU6Ly8kTU9EVUxFX0RJUiQvLi4vLi4vbGliIiAvPgogICAgICAgIDwvU09VUkNFUz4KICAgICAgPC9saWJyYXJ5PgogICAgPC9vcmRlckVudHJ5PgogIDwvY29tcG9uZW50Pgo8L21vZHVsZT4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/vcs.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJWY3NEaXJlY3RvcnlNYXBwaW5ncyI+CiAgICA8bWFwcGluZyBkaXJlY3Rvcnk9IiRQUk9KRUNUX0RJUiQiIHZjcz0iR2l0IiAvPgogIDwvY29tcG9uZW50Pgo8L3Byb2plY3Q+Cgo=]]></data>
	</file>
	<file>
	  <filename>/.idea/workspace.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJDaGFuZ2VMaXN0TWFuYWdlciI+CiAgICA8bGlzdCBkZWZhdWx0PSJ0cnVlIiBpZD0iODM0ZDhiZjYtNzI3MC00MjIxLTg4MTktMmRlZmEwMGM2MjFlIiBuYW1lPSJEZWZhdWx0IiBjb21tZW50PSIiPgogICAgICA8Y2hhbmdlIHR5cGU9Ik1PRElGSUNBVElPTiIgYmVmb3JlUGF0aD0iJFBST0pFQ1RfRElSJC9Ud2l0dGVyLm1vZHVsZS5waHAiIGFmdGVyUGF0aD0iJFBST0pFQ1RfRElSJC9Ud2l0dGVyLm1vZHVsZS5waHAiIC8+CiAgICAgIDxjaGFuZ2UgdHlwZT0iTU9ESUZJQ0FUSU9OIiBiZWZvcmVQYXRoPSIkUFJPSkVDVF9ESVIkL2FjdGlvbi5zZWFyY2gucGhwIiBhZnRlclBhdGg9IiRQUk9KRUNUX0RJUiQvYWN0aW9uLnNlYXJjaC5waHAiIC8+CiAgICAgIDxjaGFuZ2UgdHlwZT0iTU9ESUZJQ0FUSU9OIiBiZWZvcmVQYXRoPSIkUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5Ud2VldC5waHAiIGFmdGVyUGF0aD0iJFBST0pFQ1RfRElSJC9saWIvY2xhc3MuVHdlZXQucGhwIiAvPgogICAgPC9saXN0PgogICAgPGlnbm9yZWQgcGF0aD0iVHdpdHRlci5pd3MiIC8+CiAgICA8aWdub3JlZCBwYXRoPSIuaWRlYS93b3Jrc3BhY2UueG1sIiAvPgogICAgPG9wdGlvbiBuYW1lPSJUUkFDS0lOR19FTkFCTEVEIiB2YWx1ZT0idHJ1ZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iU0hPV19ESUFMT0ciIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iSElHSExJR0hUX0NPTkZMSUNUUyIgdmFsdWU9InRydWUiIC8+CiAgICA8b3B0aW9uIG5hbWU9IkhJR0hMSUdIVF9OT05fQUNUSVZFX0NIQU5HRUxJU1QiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iTEFTVF9SRVNPTFVUSU9OIiB2YWx1ZT0iSUdOT1JFIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iQ2hhbmdlc1ZpZXdNYW5hZ2VyIiBmbGF0dGVuZWRfdmlldz0idHJ1ZSIgc2hvd19pZ25vcmVkPSJmYWxzZSIgLz4KICA8Y29tcG9uZW50IG5hbWU9IkNyZWF0ZVBhdGNoQ29tbWl0RXhlY3V0b3IiPgogICAgPG9wdGlvbiBuYW1lPSJQQVRDSF9QQVRIIiB2YWx1ZT0iIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iRGFlbW9uQ29kZUFuYWx5emVyIj4KICAgIDxkaXNhYmxlX2hpbnRzIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJFeGVjdXRpb25UYXJnZXRNYW5hZ2VyIiBTRUxFQ1RFRF9UQVJHRVQ9ImRlZmF1bHRfdGFyZ2V0IiAvPgogIDxjb21wb25lbnQgbmFtZT0iRmF2b3JpdGVzTWFuYWdlciI+CiAgICA8ZmF2b3JpdGVzX2xpc3QgbmFtZT0iVHdpdHRlciIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkZpbGVFZGl0b3JNYW5hZ2VyIj4KICAgIDxsZWFmPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iVHdpdHRlci5tb2R1bGUucGhwIiBwaW5uZWQ9ImZhbHNlIiBjdXJyZW50PSJ0cnVlIiBjdXJyZW50LWluLXRhYj0idHJ1ZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL1R3aXR0ZXIubW9kdWxlLnBocCI+CiAgICAgICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgICAgIDxzdGF0ZSBsaW5lPSI2MSIgY29sdW1uPSIyMSIgc2VsZWN0aW9uLXN0YXJ0PSIyNTY0IiBzZWxlY3Rpb24tZW5kPSIyNTY0IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC42MTc0MzM0IiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjcwNTAiPgogICAgICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgICAgIDwvc3RhdGU+CiAgICAgICAgICA8L3Byb3ZpZGVyPgogICAgICAgIDwvZW50cnk+CiAgICAgIDwvZmlsZT4KICAgICAgPGZpbGUgbGVhZi1maWxlLW5hbWU9ImNsYXNzLlR3aXR0ZXJPQXV0aC5waHAiIHBpbm5lZD0iZmFsc2UiIGN1cnJlbnQ9ImZhbHNlIiBjdXJyZW50LWluLXRhYj0iZmFsc2UiPgogICAgICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9saWIvY2xhc3MuVHdpdHRlck9BdXRoLnBocCI+CiAgICAgICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgICAgIDxzdGF0ZSBsaW5lPSIxNDAiIGNvbHVtbj0iMjciIHNlbGVjdGlvbi1zdGFydD0iNTMzMiIgc2VsZWN0aW9uLWVuZD0iNTMzMiIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249Ii0xMS42MjUiIHZlcnRpY2FsLW9mZnNldD0iMTc2MSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMzYzMCI+CiAgICAgICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICAgICAgPC9zdGF0ZT4KICAgICAgICAgIDwvcHJvdmlkZXI+CiAgICAgICAgPC9lbnRyeT4KICAgICAgPC9maWxlPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iYWN0aW9uLmRlZmF1bHQucGhwIiBwaW5uZWQ9ImZhbHNlIiBjdXJyZW50PSJmYWxzZSIgY3VycmVudC1pbi10YWI9ImZhbHNlIj4KICAgICAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLmRlZmF1bHQucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjExIiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMjM3IiBzZWxlY3Rpb24tZW5kPSIyMzciIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSItNi44NzUiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzgwIj4KICAgICAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgICAgICA8L3N0YXRlPgogICAgICAgICAgPC9wcm92aWRlcj4KICAgICAgICA8L2VudHJ5PgogICAgICA8L2ZpbGU+CiAgICAgIDxmaWxlIGxlYWYtZmlsZS1uYW1lPSJhY3Rpb24uc2VhcmNoLnBocCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0iZmFsc2UiIGN1cnJlbnQtaW4tdGFiPSJmYWxzZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5zZWFyY2gucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjM0IiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iNzAzIiBzZWxlY3Rpb24tZW5kPSI3MDMiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSItMjEuMjUiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzM1Ij4KICAgICAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgICAgICA8L3N0YXRlPgogICAgICAgICAgPC9wcm92aWRlcj4KICAgICAgICA8L2VudHJ5PgogICAgICA8L2ZpbGU+CiAgICAgIDxmaWxlIGxlYWYtZmlsZS1uYW1lPSJjbGFzcy5Ud2VldC5waHAiIHBpbm5lZD0iZmFsc2UiIGN1cnJlbnQ9ImZhbHNlIiBjdXJyZW50LWluLXRhYj0iZmFsc2UiPgogICAgICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9saWIvY2xhc3MuVHdlZXQucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjE5OSIgY29sdW1uPSIzMSIgc2VsZWN0aW9uLXN0YXJ0PSI2NTYyIiBzZWxlY3Rpb24tZW5kPSI2NTYyIiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iLTExLjQ1ODMzMyIgdmVydGljYWwtb2Zmc2V0PSIyNTkwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSI2NTg1Ij4KICAgICAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgICAgICA8L3N0YXRlPgogICAgICAgICAgPC9wcm92aWRlcj4KICAgICAgICA8L2VudHJ5PgogICAgICA8L2ZpbGU+CiAgICA8L2xlYWY+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJGaW5kTWFuYWdlciI+CiAgICA8RmluZFVzYWdlc01hbmFnZXI+CiAgICAgIDxzZXR0aW5nIG5hbWU9Ik9QRU5fTkVXX1RBQiIgdmFsdWU9ImZhbHNlIiAvPgogICAgPC9GaW5kVXNhZ2VzTWFuYWdlcj4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkdpdC5TZXR0aW5ncyI+CiAgICA8b3B0aW9uIG5hbWU9IlJFQ0VOVF9HSVRfUk9PVF9QQVRIIiB2YWx1ZT0iJFBST0pFQ1RfRElSJCIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkdpdExvZ1NldHRpbmdzIj4KICAgIDxvcHRpb24gbmFtZT0ibXlEYXRlU3RhdGUiPgogICAgICA8TXlEYXRlU3RhdGUgLz4KICAgIDwvb3B0aW9uPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iSWRlRG9jdW1lbnRIaXN0b3J5Ij4KICAgIDxvcHRpb24gbmFtZT0iY2hhbmdlZEZpbGVzIj4KICAgICAgPGxpc3Q+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJFBST0pFQ1RfRElSJC8uLi8uLi9saWIvbWlzYy5mdW5jdGlvbnMucGhwIiAvPgogICAgICAgIDxvcHRpb24gdmFsdWU9IiRQUk9KRUNUX0RJUiQvdGVtcGxhdGVzL2Zyb250ZW5kLnRpbWVsaW5lLnRwbCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL2FjdGlvbi5kZWZhdWx0LnBocCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5Ud2VldC5waHAiIC8+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJFBST0pFQ1RfRElSJC9hY3Rpb24uc2VhcmNoLnBocCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL1R3aXR0ZXIubW9kdWxlLnBocCIgLz4KICAgICAgPC9saXN0PgogICAgPC9vcHRpb24+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJQaHBXb3Jrc3BhY2VQcm9qZWN0Q29uZmlndXJhdGlvbiIgYmFja3dhcmRfY29tcGF0aWJpbGl0eV9wZXJmb3JtZWQ9InRydWUiPgogICAgPGluY2x1ZGVfcGF0aD4KICAgICAgPHBhdGggdmFsdWU9IiRQUk9KRUNUX0RJUiQvLi4vLi4vbGliIiAvPgogICAgICA8cGF0aCB2YWx1ZT0iJFBST0pFQ1RfRElSJC8uLi9DTVNGb3JtcyIgLz4KICAgIDwvaW5jbHVkZV9wYXRoPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUHJvamVjdEZyYW1lQm91bmRzIj4KICAgIDxvcHRpb24gbmFtZT0ieCIgdmFsdWU9IjM4MiIgLz4KICAgIDxvcHRpb24gbmFtZT0ieSIgdmFsdWU9IjMxNCIgLz4KICAgIDxvcHRpb24gbmFtZT0id2lkdGgiIHZhbHVlPSIxNTM2IiAvPgogICAgPG9wdGlvbiBuYW1lPSJoZWlnaHQiIHZhbHVlPSI5NjAiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0TGV2ZWxWY3NNYW5hZ2VyIiBzZXR0aW5nc0VkaXRlZE1hbnVhbGx5PSJmYWxzZSI+CiAgICA8T3B0aW9uc1NldHRpbmcgdmFsdWU9InRydWUiIGlkPSJBZGQiIC8+CiAgICA8T3B0aW9uc1NldHRpbmcgdmFsdWU9InRydWUiIGlkPSJSZW1vdmUiIC8+CiAgICA8T3B0aW9uc1NldHRpbmcgdmFsdWU9InRydWUiIGlkPSJDaGVja291dCIgLz4KICAgIDxPcHRpb25zU2V0dGluZyB2YWx1ZT0idHJ1ZSIgaWQ9IlVwZGF0ZSIgLz4KICAgIDxPcHRpb25zU2V0dGluZyB2YWx1ZT0idHJ1ZSIgaWQ9IlN0YXR1cyIgLz4KICAgIDxPcHRpb25zU2V0dGluZyB2YWx1ZT0idHJ1ZSIgaWQ9IkVkaXQiIC8+CiAgICA8Q29uZmlybWF0aW9uc1NldHRpbmcgdmFsdWU9IjAiIGlkPSJBZGQiIC8+CiAgICA8Q29uZmlybWF0aW9uc1NldHRpbmcgdmFsdWU9IjAiIGlkPSJSZW1vdmUiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0UmVsb2FkU3RhdGUiPgogICAgPG9wdGlvbiBuYW1lPSJTVEFURSIgdmFsdWU9IjAiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0VmlldyI+CiAgICA8bmF2aWdhdG9yIGN1cnJlbnRWaWV3PSJQcm9qZWN0UGFuZSIgcHJvcG9ydGlvbnM9IiIgdmVyc2lvbj0iMSIgc3BsaXR0ZXJQcm9wb3J0aW9uPSIwLjUiPgogICAgICA8ZmxhdHRlblBhY2thZ2VzIC8+CiAgICAgIDxzaG93TWVtYmVycyAvPgogICAgICA8c2hvd01vZHVsZXMgLz4KICAgICAgPHNob3dMaWJyYXJ5Q29udGVudHMgLz4KICAgICAgPGhpZGVFbXB0eVBhY2thZ2VzIC8+CiAgICAgIDxhYmJyZXZpYXRlUGFja2FnZU5hbWVzIC8+CiAgICAgIDxhdXRvc2Nyb2xsVG9Tb3VyY2UgLz4KICAgICAgPGF1dG9zY3JvbGxGcm9tU291cmNlIC8+CiAgICAgIDxzb3J0QnlUeXBlIC8+CiAgICA8L25hdmlnYXRvcj4KICAgIDxwYW5lcz4KICAgICAgPHBhbmUgaWQ9IlNjb3BlIiAvPgogICAgICA8cGFuZSBpZD0iUHJvamVjdFBhbmUiPgogICAgICAgIDxzdWJQYW5lPgogICAgICAgICAgPFBBVEg+CiAgICAgICAgICAgIDxQQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1JZCIgdmFsdWU9IlR3aXR0ZXIiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlByb2plY3RWaWV3UHJvamVjdE5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgPC9QQVRIPgogICAgICAgICAgPFBBVEg+CiAgICAgICAgICAgIDxQQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1JZCIgdmFsdWU9IlR3aXR0ZXIiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlByb2plY3RWaWV3UHJvamVjdE5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJUd2l0dGVyIiAvPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtVHlwZSIgdmFsdWU9ImNvbS5pbnRlbGxpai5pZGUucHJvamVjdFZpZXcuaW1wbC5ub2Rlcy5Qc2lEaXJlY3RvcnlOb2RlIiAvPgogICAgICAgICAgICA8L1BBVEhfRUxFTUVOVD4KICAgICAgICAgIDwvUEFUSD4KICAgICAgICA8L3N1YlBhbmU+CiAgICAgIDwvcGFuZT4KICAgIDwvcGFuZXM+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9wZXJ0aWVzQ29tcG9uZW50Ij4KICAgIDxwcm9wZXJ0eSBuYW1lPSJvcHRpb25zLnNwbGl0dGVyLm1haW4ucHJvcG9ydGlvbnMiIHZhbHVlPSIwLjMiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iV2ViU2VydmVyVG9vbFdpbmRvd0ZhY3RvcnlTdGF0ZSIgdmFsdWU9ImZhbHNlIiAvPgogICAgPHByb3BlcnR5IG5hbWU9Im9wdGlvbnMubGFzdFNlbGVjdGVkIiB2YWx1ZT0icHJlZmVyZW5jZXMua2V5bWFwIiAvPgogICAgPHByb3BlcnR5IG5hbWU9Imxhc3Rfb3BlbmVkX2ZpbGVfcGF0aCIgdmFsdWU9IiRQUk9KRUNUX0RJUiQvLi4vTmV3cyIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJGdWxsU2NyZWVuIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0ib3B0aW9ucy5zcGxpdHRlci5kZXRhaWxzLnByb3BvcnRpb25zIiB2YWx1ZT0iMC4yIiAvPgogICAgPHByb3BlcnR5IG5hbWU9Im9wdGlvbnMuc2VhcmNoVmlzaWJsZSIgdmFsdWU9InRydWUiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iTGF5b3V0Q29kZS5yZWFycmFuZ2VFbnRyaWVzUEhQIiB2YWx1ZT0iZmFsc2UiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJSdW5NYW5hZ2VyIj4KICAgIDxjb25maWd1cmF0aW9uIGRlZmF1bHQ9InRydWUiIHR5cGU9IlBIUFVuaXRSdW5Db25maWd1cmF0aW9uVHlwZSIgZmFjdG9yeU5hbWU9IlBIUFVuaXQiPgogICAgICA8VGVzdFJ1bm5lciAvPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8Y29uZmlndXJhdGlvbiBkZWZhdWx0PSJ0cnVlIiB0eXBlPSJQaHBMb2NhbFJ1bkNvbmZpZ3VyYXRpb25UeXBlIiBmYWN0b3J5TmFtZT0iUEhQIENvbnNvbGUiPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8Y29uZmlndXJhdGlvbiBkZWZhdWx0PSJ0cnVlIiB0eXBlPSJKYXZhc2NyaXB0RGVidWdUeXBlIiBmYWN0b3J5TmFtZT0iSmF2YVNjcmlwdCBEZWJ1ZyIgc2luZ2xldG9uPSJ0cnVlIj4KICAgICAgPG1ldGhvZCAvPgogICAgPC9jb25maWd1cmF0aW9uPgogICAgPGNvbmZpZ3VyYXRpb24gZGVmYXVsdD0idHJ1ZSIgdHlwZT0iUGhwVW5pdFJlbW90ZVJ1bkNvbmZpZ3VyYXRpb25UeXBlIiBmYWN0b3J5TmFtZT0iUEhQVW5pdCBvbiBTZXJ2ZXIiPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8bGlzdCBzaXplPSIwIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iU2hlbHZlQ2hhbmdlc01hbmFnZXIiIHNob3dfcmVjeWNsZWQ9ImZhbHNlIiAvPgogIDxjb21wb25lbnQgbmFtZT0iU3ZuQ29uZmlndXJhdGlvbiIgbWF4QW5ub3RhdGVSZXZpc2lvbnM9IjUwMCIgbXlVc2VBY2NlbGVyYXRpb249Im5vdGhpbmciIG15QXV0b1VwZGF0ZUFmdGVyQ29tbWl0PSJmYWxzZSIgY2xlYW51cE9uU3RhcnRSdW49ImZhbHNlIiBTU0xfUFJPVE9DT0xTPSJzc2x2MyI+CiAgICA8b3B0aW9uIG5hbWU9IlVTRVIiIHZhbHVlPSIiIC8+CiAgICA8b3B0aW9uIG5hbWU9IlBBU1NXT1JEIiB2YWx1ZT0iIiAvPgogICAgPG9wdGlvbiBuYW1lPSJteVNTSENvbm5lY3Rpb25UaW1lb3V0IiB2YWx1ZT0iMzAwMDAiIC8+CiAgICA8b3B0aW9uIG5hbWU9Im15U1NIUmVhZFRpbWVvdXQiIHZhbHVlPSIzMDAwMCIgLz4KICAgIDxvcHRpb24gbmFtZT0iTEFTVF9NRVJHRURfUkVWSVNJT04iIC8+CiAgICA8b3B0aW9uIG5hbWU9Ik1FUkdFX0RSWV9SVU4iIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iTUVSR0VfRElGRl9VU0VfQU5DRVNUUlkiIHZhbHVlPSJ0cnVlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJVUERBVEVfTE9DS19PTl9ERU1BTkQiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iSUdOT1JFX1NQQUNFU19JTl9NRVJHRSIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJDSEVDS19ORVNURURfRk9SX1FVSUNLX01FUkdFIiB2YWx1ZT0iZmFsc2UiIC8+CiAgICA8b3B0aW9uIG5hbWU9IklHTk9SRV9TUEFDRVNfSU5fQU5OT1RBVEUiIHZhbHVlPSJ0cnVlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJTSE9XX01FUkdFX1NPVVJDRVNfSU5fQU5OT1RBVEUiIHZhbHVlPSJ0cnVlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJGT1JDRV9VUERBVEUiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iSUdOT1JFX0VYVEVSTkFMUyIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG15SXNVc2VEZWZhdWx0UHJveHk+ZmFsc2U8L215SXNVc2VEZWZhdWx0UHJveHk+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJUYXNrTWFuYWdlciI+CiAgICA8dGFzayBhY3RpdmU9InRydWUiIGlkPSJEZWZhdWx0IiBzdW1tYXJ5PSJEZWZhdWx0IHRhc2siPgogICAgICA8Y2hhbmdlbGlzdCBpZD0iODM0ZDhiZjYtNzI3MC00MjIxLTg4MTktMmRlZmEwMGM2MjFlIiBuYW1lPSJEZWZhdWx0IiBjb21tZW50PSIiIC8+CiAgICAgIDxjcmVhdGVkPjEzODI1NDI0ODQ0ODc8L2NyZWF0ZWQ+CiAgICAgIDx1cGRhdGVkPjEzODI1NDI0ODQ0ODc8L3VwZGF0ZWQ+CiAgICA8L3Rhc2s+CiAgICA8c2VydmVycyAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iVG9vbFdpbmRvd01hbmFnZXIiPgogICAgPGZyYW1lIHg9IjM4MiIgeT0iMzE0IiB3aWR0aD0iMTUzNiIgaGVpZ2h0PSI5NjAiIGV4dGVuZGVkLXN0YXRlPSIwIiAvPgogICAgPGVkaXRvciBhY3RpdmU9InRydWUiIC8+CiAgICA8bGF5b3V0PgogICAgICA8d2luZG93X2luZm8gaWQ9IkNoYW5nZXMiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iNyIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJUZXJtaW5hbCIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMyOTQ3OTc1IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIxMCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJUT0RPIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjYiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iRmluZCIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIxIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkRhdGFiYXNlIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9InJpZ2h0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMyIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJTdHJ1Y3R1cmUiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0ibGVmdCIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMjUiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjEiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iUHJvamVjdCIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJsZWZ0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0idHJ1ZSIgd2VpZ2h0PSIwLjI1IiBzaWRlV2VpZ2h0PSIwLjY3MDUyMDI1IiBvcmRlcj0iMCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0iY29tYm8iIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iRGVidWciIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC40IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIzIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkZhdm9yaXRlcyIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJsZWZ0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMiIgc2lkZV90b29sPSJ0cnVlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkV2ZW50IExvZyIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSI4IiBzaWRlX3Rvb2w9InRydWUiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iUnVuIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjIiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iVmVyc2lvbiBDb250cm9sIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjkiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iQ3ZzIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMjUiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjQiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iTWVzc2FnZSIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIwIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkFudCBCdWlsZCIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJyaWdodCIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMjUiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjEiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iQ29tbWFuZGVyIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9InJpZ2h0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJTTElESU5HIiB0eXBlPSJTTElESU5HIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjQiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjAiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iSW5zcGVjdGlvbiIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjQiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjUiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iSGllcmFyY2h5IiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9InJpZ2h0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4yNSIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMiIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0iY29tYm8iIC8+CiAgICA8L2xheW91dD4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlZjcy5Mb2cuVWlQcm9wZXJ0aWVzIj4KICAgIDxvcHRpb24gbmFtZT0iUkVDRU5UTFlfRklMVEVSRURfVVNFUl9HUk9VUFMiPgogICAgICA8Y29sbGVjdGlvbiAvPgogICAgPC9vcHRpb24+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJWY3NDb250ZW50QW5ub3RhdGlvblNldHRpbmdzIj4KICAgIDxvcHRpb24gbmFtZT0ibXlMaW1pdCIgdmFsdWU9IjI2Nzg0MDAwMDAiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJWY3NNYW5hZ2VyQ29uZmlndXJhdGlvbiI+CiAgICA8b3B0aW9uIG5hbWU9Im15VG9kb1BhbmVsU2V0dGluZ3MiPgogICAgICA8VG9kb1BhbmVsU2V0dGluZ3MgLz4KICAgIDwvb3B0aW9uPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iWERlYnVnZ2VyTWFuYWdlciI+CiAgICA8YnJlYWtwb2ludC1tYW5hZ2VyIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJlZGl0b3JIaXN0b3J5TWFuYWdlciI+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvVHdpdHRlci5tb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI0MTEiIGNvbHVtbj0iMCIgc2VsZWN0aW9uLXN0YXJ0PSIxMTU1NSIgc2VsZWN0aW9uLWVuZD0iMTE1NTUiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzM1MCI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5kZWZhdWx0LnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMTAiIGNvbHVtbj0iMzMiIHNlbGVjdGlvbi1zdGFydD0iMzA4IiBzZWxlY3Rpb24tZW5kPSIzMDgiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNjc1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvdGVtcGxhdGVzL2Zyb250ZW5kLnRpbWVsaW5lLnRwbCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMTciIGNvbHVtbj0iNSIgc2VsZWN0aW9uLXN0YXJ0PSI2NjUiIHNlbGVjdGlvbi1lbmQ9IjY2NSIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIyNTUiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjM0NSI+CiAgICAgICAgICA8Zm9sZGluZz4KICAgICAgICAgICAgPG1hcmtlciBkYXRlPSIxMzgyNTQzNDk2MDAwIiBleHBhbmRlZD0idHJ1ZSIgc2lnbmF0dXJlPSItMTotMSIgcGxhY2Vob2xkZXI9Ii4uLiIgLz4KICAgICAgICAgICAgPG1hcmtlciBkYXRlPSIxMzgyNTQzNDk2MDAwIiBleHBhbmRlZD0idHJ1ZSIgc2lnbmF0dXJlPSItMTotMSIgcGxhY2Vob2xkZXI9Ii4uLiIgLz4KICAgICAgICAgICAgPG1hcmtlciBkYXRlPSIxMzgyNTQzNDk2MDAwIiBleHBhbmRlZD0idHJ1ZSIgc2lnbmF0dXJlPSItMTotMSIgcGxhY2Vob2xkZXI9Ii4uLiIgLz4KICAgICAgICAgIDwvZm9sZGluZz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uLi8uLi9saWIvY2xhc3Nlcy9jbGFzcy5TbWFydHlfQ01TLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMzgwIiBjb2x1bW49IjIwIiBzZWxlY3Rpb24tc3RhcnQ9IjExNjA5IiBzZWxlY3Rpb24tZW5kPSIxMTYwOSIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSI1NzAwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSI3Nzg1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbWV0aG9kLmluc3RhbGwucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI1OCIgY29sdW1uPSI4IiBzZWxlY3Rpb24tc3RhcnQ9IjE4NTAiIHNlbGVjdGlvbi1lbmQ9IjE4NTAiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iODcwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSI5NzUiPgogICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uLi8uLi9saWIvbWlzYy5mdW5jdGlvbnMucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxOTUiIGNvbHVtbj0iMTciIHNlbGVjdGlvbi1zdGFydD0iNTUwMCIgc2VsZWN0aW9uLWVuZD0iNTUwMCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMzA1IiB2ZXJ0aWNhbC1vZmZzZXQ9IjI0MjYiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjM0NTE1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvLi4vLi4vbGliL2NsYXNzZXMvY2xhc3MuQ21zQXBwLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMzkxIiBjb2x1bW49IjIyIiBzZWxlY3Rpb24tc3RhcnQ9Ijk1ODgiIHNlbGVjdGlvbi1lbmQ9Ijk1ODgiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjMzMzMzMzM0IiB2ZXJ0aWNhbC1vZmZzZXQ9IjU1OTQiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9Ijk0NjUiIC8+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkLy4uLy4uL2xpYi9jbGFzc2VzL2NsYXNzLkNNU01vZHVsZS5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjY5MCIgY29sdW1uPSIyMyIgc2VsZWN0aW9uLXN0YXJ0PSIxNjE0NyIgc2VsZWN0aW9uLWVuZD0iMTYxNDciIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjM0MjM0MjM1IiB2ZXJ0aWNhbC1vZmZzZXQ9Ijk4MjkiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjUzMDcwIj4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvLi4vLi4vbGliL2NsYXNzZXMvY2xhc3MuU21hcnR5X0NNUy5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjM4MCIgY29sdW1uPSIyMCIgc2VsZWN0aW9uLXN0YXJ0PSIxMTYwOSIgc2VsZWN0aW9uLWVuZD0iMTE2MDkiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iNTcwMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzc4NSI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5PQXV0aFV0aWwucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIwIiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMCIgc2VsZWN0aW9uLWVuZD0iMCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIyNTgwIj4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NsYXNzLk9BdXRoU2VydmVyLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMCIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjAiIHNlbGVjdGlvbi1lbmQ9IjAiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMzUyNSI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL3RlbXBsYXRlcy9mcm9udGVuZC50aW1lbGluZS50cGwiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjE3IiBjb2x1bW49IjUiIHNlbGVjdGlvbi1zdGFydD0iNjY1IiBzZWxlY3Rpb24tZW5kPSI2NjUiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjMwMzkzMzI2IiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjgzOSI+CiAgICAgICAgICA8Zm9sZGluZz4KICAgICAgICAgICAgPG1hcmtlciBkYXRlPSIxMzgyNTQzNDk2MDAwIiBleHBhbmRlZD0idHJ1ZSIgc2lnbmF0dXJlPSItMTotMSIgcGxhY2Vob2xkZXI9Ii4uLiIgLz4KICAgICAgICAgICAgPG1hcmtlciBkYXRlPSIxMzgyNTQzNDk2MDAwIiBleHBhbmRlZD0idHJ1ZSIgc2lnbmF0dXJlPSItMTotMSIgcGxhY2Vob2xkZXI9Ii4uLiIgLz4KICAgICAgICAgICAgPG1hcmtlciBkYXRlPSIxMzgyNTQzNDk2MDAwIiBleHBhbmRlZD0idHJ1ZSIgc2lnbmF0dXJlPSItMTotMSIgcGxhY2Vob2xkZXI9Ii4uLiIgLz4KICAgICAgICAgIDwvZm9sZGluZz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9tZXRob2QuaW5zdGFsbC5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjU4IiBjb2x1bW49IjgiIHNlbGVjdGlvbi1zdGFydD0iMTg1MCIgc2VsZWN0aW9uLWVuZD0iMTg1MCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuODc0ODUxIiB2ZXJ0aWNhbC1vZmZzZXQ9IjEzNiIgbWF4LXZlcnRpY2FsLW9mZnNldD0iOTc1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NsYXNzLlR3ZWV0LnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMTk5IiBjb2x1bW49IjMxIiBzZWxlY3Rpb24tc3RhcnQ9IjY1NjIiIHNlbGVjdGlvbi1lbmQ9IjY1NjIiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSItMTEuNDU4MzMzIiB2ZXJ0aWNhbC1vZmZzZXQ9IjI1OTAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjY1ODUiPgogICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9hY3Rpb24uZGVmYXVsdC5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjExIiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMjM3IiBzZWxlY3Rpb24tZW5kPSIyMzciIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSItNi44NzUiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzgwIj4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NsYXNzLlR3aXR0ZXJPQXV0aC5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjE0MCIgY29sdW1uPSIyNyIgc2VsZWN0aW9uLXN0YXJ0PSI1MzMyIiBzZWxlY3Rpb24tZW5kPSI1MzMyIiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iLTExLjYyNSIgdmVydGljYWwtb2Zmc2V0PSIxNzYxIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIzNjMwIj4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLnNlYXJjaC5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjM0IiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iNzAzIiBzZWxlY3Rpb24tZW5kPSI3MDMiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSItMjEuMjUiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNzM1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvVHdpdHRlci5tb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI2MSIgY29sdW1uPSIyMSIgc2VsZWN0aW9uLXN0YXJ0PSIyNTY0IiBzZWxlY3Rpb24tZW5kPSIyNTY0IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC42MTc0MzM0IiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjcwNTAiPgogICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICA8L2NvbXBvbmVudD4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIGlmICghY21zbXMoKSkgZXhpdDsKCiAgICAvKiogQHZhciBTbWFydHlfQ01TICRzbWFydHkgKi8KCgogICAgJGNhY2hpbmcgPSAkc21hcnR5LT5jYWNoaW5nOwogICAgJHNtYXJ0eS0+Y2FjaGluZyA9IHRydWU7CgogICAgJGdsb2JhbF9saWZldGltZSA9ICRzbWFydHktPmNhY2hlX2xpZmV0aW1lOwogICAgJHNtYXJ0eS0+c2V0Q2FjaGVMaWZldGltZSg5MDApOyAvLyAxNSBtaW5zIGZvciB0d2VldHMKCiAgICAkY2FjaGVfaWQgPSAnfCcgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJ190d2l0dGVyX2RlZmF1bHRfJyAuIG1kNShzZXJpYWxpemUoJHBhcmFtcykpOwogICAgJGNvbXBpbGVfaWQgPSAnJzsKICAgICR0ZW1wbGF0ZV9yZXNvdXJjZSA9ICR0aGlzLT5nZXRUZW1wbGF0ZVJlc291cmNlKCd0aW1lbGluZScsICRwYXJhbXMpOwoKCgoKICAgIGlmKCEkc21hcnR5LT5pc0NhY2hlZCgkdGVtcGxhdGVfcmVzb3VyY2UsJGNhY2hlX2lkLCRjb21waWxlX2lkKSkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snZnJpZW5kcyddKSkgewogICAgICAgICAgICBkaWUoJ2ZyaWVuZHMnKTsKICAgICAgICAgICAgJHB1YmxpY190aW1lbGluZSA9ICR0aGlzLT5nZXRUaW1lbGluZSgnZnJpZW5kcycsICRwYXJhbXMpOwogICAgICAgIH0gZWxzZWlmIChpc3NldCgkcGFyYW1zWydwdWJsaWMnXSkpIHsKICAgICAgICAgICAgZGllKCdwdWJsaWMnKTsKICAgICAgICAgICAgJHB1YmxpY190aW1lbGluZSA9ICR0aGlzLT5nZXRUaW1lbGluZSgncHVibGljJywgJHBhcmFtcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHB1YmxpY190aW1lbGluZSA9ICR0aGlzLT5nZXRUaW1lbGluZSgndXNlcicsICRwYXJhbXMpOwogICAgICAgIH0KCiAgICAgICAgJHRpbWVsaW5lID0gVHdlZXQ6OnBhcnNlVGltZWxpbmUoJHB1YmxpY190aW1lbGluZSk7CgogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydsaW1pdCddKSkgewogICAgICAgICAgICAkdGltZWxpbmUgPSBhcnJheV9zbGljZSgkdGltZWxpbmUsIDAsICRwYXJhbXNbJ2xpbWl0J10pOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZScsICR0aW1lbGluZSk7CiAgICB9CgoKCiAgICBlY2hvICRzbWFydHktPmZldGNoKCR0ZW1wbGF0ZV9yZXNvdXJjZSwkY2FjaGVfaWQsJGNvbXBpbGVfaWQpOwoKCiAgICAkc21hcnR5LT5jYWNoaW5nID0gJGNhY2hpbmc7CiAgICAkc21hcnR5LT5zZXRDYWNoZUxpZmV0aW1lKCRnbG9iYWxfbGlmZXRpbWUpOw==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIGlmICghY21zbXMoKSkgZXhpdDsKCiAgICBpZiAoISR0aGlzLT5DaGVja0FjY2VzcygpKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgfQoKICAgIC8qIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCgogICAgICAgQ29kZSBmb3IgVHdpdHRlciAiZGVmYXVsdGFkbWluIiBhZG1pbiBhY3Rpb24KCiAgICAgICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgICAgIFR5cGljYWxseSwgdGhpcyB3aWxsIGRpc3BsYXkgc29tZXRoaW5nIGZyb20gYSB0ZW1wbGF0ZQogICAgICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgoKICAgICovCgovL2VjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAndW5zaWduJywgJHJldHVybmlkLCAnVW5zaWduJyk7CgogICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpKSB7CiAgICAgICAgZWNobyAkdGhpcy0+bGFuZygncmVxdWlyZV9jdXJsJyk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYl9oZWFkZXJzJywgJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpIC4KICAgICAgICAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0d2l0dGVyJywgJHRoaXMtPkxhbmcoJ3RpdGxlX3R3aXR0ZXInKSkgLgogICAgICAgICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RlbXBsYXRlcycsICR0aGlzLT5MYW5nKCd0aXRsZV90ZW1wbGF0ZXMnKSkgLgogICAgICAgICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnMnLCAkdGhpcy0+TGFuZygndGl0bGVfb3B0aW9ucycpKSAuCiAgICAgICAgJHRoaXMtPkVuZFRhYkhlYWRlcnMoKSAuICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZF90YWInLCAkdGhpcy0+RW5kVGFiKCkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJfZm9vdGVycycsICR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF90d2l0dGVyX3RhYicsICR0aGlzLT5TdGFydFRhYigndHdpdHRlcicpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfdGVtcGxhdGVzX3RhYicsICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGVzJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9vcHRpb25zX3RhYicsICR0aGlzLT5TdGFydFRhYignb3B0aW9ucycpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfc2VjdGlvbicsICdkZWZhdWx0YWRtaW4nKTsKCi8vIFR3ZWV0cyB0YWIKLy8gICAgJHRoaXMgPSBuZXcgVHdpdHRlcigpOwoKICAgICR0b2tlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvYXV0aF90b2tlbicpOwoKICAgIGlmICghZW1wdHkoJHRva2VuKSkgewogICAgICAgICRjb25uZWN0aW9uID0gJHRoaXMtPmdldENvbm5lY3Rpb24oKTsKCiAgICAgICAgJGFjY291bnQgPSAkY29ubmVjdGlvbi0+Z2V0KCdhY2NvdW50L3ZlcmlmeV9jcmVkZW50aWFscycpOwoKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfYWNjb3VudCcsICRhY2NvdW50KTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfd2VsY29tZScsICR0aGlzLT5sYW5nKCd0d2l0dGVyX3dlbGNvbWUnLCAkYWNjb3VudC0+c2NyZWVuX25hbWUpKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb2ZpbGVfcGljdHVyZScsICRhY2NvdW50LT5wcm9maWxlX2ltYWdlX3VybCk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1bnNpZ24nLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICd1bnNpZ24nLCAkcmV0dXJuaWQsICR0aGlzLT5sYW5nKCd1bnNpZ25fdHdpdHRlcicpKSk7CiAgICB9IGVsc2UgewogICAgICAgICRjb25uZWN0aW9uICAgICAgICAgICAgPSBuZXcgVHdpdHRlck9BdXRoKFR3aXR0ZXI6OkNPTlNVTUVSX0tFWSwgVHdpdHRlcjo6Q09OU1VNRVJfU0VDUkVUKTsKICAgICAgICAkY29ubmVjdGlvbi0+dXNlcmFnZW50ID0gVHdpdHRlcjo6VVNFUl9BR0VOVDsKCiAgICAgICAgJHRlbXBvcmFyeV9jcmVkZW50aWFscyA9ICRjb25uZWN0aW9uLT5nZXRSZXF1ZXN0VG9rZW4oaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ29hdXRoJywgJycsICcnLCBhcnJheSgpLCAnJywgdHJ1ZSkpKTsKCiAgICAgICAgJF9TRVNTSU9OWydvYXV0aF90b2tlbiddICAgICAgICA9ICR0ZW1wb3JhcnlfY3JlZGVudGlhbHNbJ29hdXRoX3Rva2VuJ107CiAgICAgICAgJF9TRVNTSU9OWydvYXV0aF90b2tlbl9zZWNyZXQnXSA9ICR0ZW1wb3JhcnlfY3JlZGVudGlhbHNbJ29hdXRoX3Rva2VuX3NlY3JldCddOwoKICAgICAgICAkb2F1dGhfdXJsID0gJGNvbm5lY3Rpb24tPmdldEF1dGhvcml6ZVVSTCgkdGVtcG9yYXJ5X2NyZWRlbnRpYWxzLCBmYWxzZSk7CgogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndHdpdHRlcl9vYXV0aF9hdXRob3JpemUnLCAkb2F1dGhfdXJsKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpZ25fd2l0aF90d2l0dGVyJywgJHRoaXMtPmxhbmdbJ3NpZ25fd2l0aF90d2l0dGVyJ10pOwogICAgICAgICRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpZ25fd2l0aF90d2l0dGVyX2ltZycsICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAnL21vZHVsZXMvVHdpdHRlci9pbWFnZXMvbGlnaHRlci5wbmcnKTsKICAgIH0KCgovLyBHZW5lcmFsCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm1fc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtX2VuZCcsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwovLyBUd2l0dGVyIFRhYgoKCiAgICBpZiAoIWVtcHR5KCR0b2tlbikpIHsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXR1c190aXRsZScsICR0aGlzLT5MYW5nKCdzdGF0dXNfdGl0bGUnKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJycsICdzdGF0dXMnLCAnJywgJycsICcnLCAnJywgJzcwJywgJzMnLCAnJywgJycsICdzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogYXV0bzsiJykpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXBkYXRlJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3VwZGF0ZScsICR0aGlzLT5MYW5nKCd1cGRhdGUnKSkpOwoKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snc3RhdHVzJ10pKSB7CiAgICAgICAgICAgICR0aGlzLT51cGRhdGVTdGF0dXMoJHBhcmFtc1snc3RhdHVzJ10pOwogICAgICAgIH0KCi8vICAkcHVibGljX3RpbWVsaW5lID0gJHRoaXMtPmdldFRpbWVsaW5lKCdmcmllbmRzJyk7CgovLyAgJHRpbWVsaW5lID0gVHdlZXQ6OnBhcnNlVGltZWxpbmVGcm9tSnNvbigkcHVibGljX3RpbWVsaW5lKTsKCi8vICAgICAgICAkdGltZWxpbmUgPSBhcnJheV9zbGljZSgkdGltZWxpbmUsIDAsIDEwKTsKCiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZScsICR0aW1lbGluZSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZV9zdGF0dXMnLCAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdmcm9udGVuZC50aW1lbGluZS50cGwnKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX3RhYicsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnR3aXR0ZXIudGFiLnRwbCcpKTsKICAgIH0gZWxzZWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdpdHRlcl91c2VyJywgZmFsc2UpKSB7CiAgICAgICAgJHB1YmxpY190aW1lbGluZSA9ICR0aGlzLT5nZXRUaW1lbGluZSgnZnJpZW5kcycpOwoKICAgICAgICAkdGltZWxpbmUgPSBUd2VldDo6cGFyc2VUaW1lbGluZUZyb21Kc29uKCRwdWJsaWNfdGltZWxpbmUpOwoKICAgICAgICAkdGltZWxpbmUgPSBhcnJheV9zbGljZSgkdGltZWxpbmUsIDAsIDEwKTsKCiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZScsICR0aW1lbGluZSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZV9zdGF0dXMnLCAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdmcm9udGVuZC50aW1lbGluZS50cGwnKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX3RhYicsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnR3aXR0ZXIudGFiLnRwbCcpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX3RhYicsICc8cD4nIC4gJHRoaXMtPkxhbmcoJ25vX3R3aXR0ZXJfY3JlZGVudGlhbF9zZXQnKSAuICc8L3A+Jyk7CiAgICB9CgovLyBUZW1wbGF0ZXMgVGFicwovLyoqKioqKioqKioqKioqKioKCiAgICAkdGVtcGxhdGVfbGlzdCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CgogICAgJHJvd2NsYXNzID0gJ3JvdzEnOwoKICAgICR0ZW1wbGF0ZXMgPSBhcnJheSgpOwoKICAgIGZvcmVhY2ggKCR0ZW1wbGF0ZV9saXN0IGFzICR0ZW1wbGF0ZSkgewogICAgICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCiAgICAgICAgJG9uZXJvdy0+bmFtZSAgICAgICA9ICR0ZW1wbGF0ZTsKICAgICAgICAkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRlVGVtcGxhdGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCdkZWxldGVUZW1wbGF0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRlbXBsYXRlKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CiAgICAgICAgJG9uZXJvdy0+ZWRpdGxpbmsgICA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ21hbmFnZVRlbXBsYXRlJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXRUZW1wbGF0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRlbXBsYXRlKSk7CiAgICAgICAgJG9uZXJvdy0+cm93Y2xhc3MgICA9ICRyb3djbGFzczsKICAgICAgICAkdGVtcGxhdGVzW10gICAgICAgID0gJG9uZXJvdzsKCiAgICAgICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwogICAgfQoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVzJywgJHRlbXBsYXRlcyk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3RpdGxlX3RlbXBsYXRlJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGR0ZW1wbGF0ZWxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VUZW1wbGF0ZScsICcnLCAkdGhpcy0+TGFuZygndGl0bGVfYWRkX3RlbXBsYXRlJyksIGFycmF5KCkpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkdGVtcGxhdGVpY29uJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnbWFuYWdlVGVtcGxhdGUnLCAnJywgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZF90ZW1wbGF0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCkpKTsKCgovLyBPcHRpb24gVGFiCi8vKioqKioqKioqKioqCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ29wdGlvbnNfdGl0bGUnLCAkdGhpcy0+TGFuZygnc2V0X3R3aXR0ZXJfY3JlZGVudGlhbCcpKTsKCi8vIGlmIChpc3NldCgkcGFyYW1zWyd0d2l0dGVyX2xvZ2luJ10pICYmIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdF9vcHRpb25zJ10pKQovLyB7Ci8vICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbG9naW4nLCAkcGFyYW1zWyd0d2l0dGVyX2xvZ2luJ10pOwovLyB9Ci8vIAovLyAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xvZ2luX3RpdGxlJywgJHRoaXMtPkxhbmcoJ2xvZ2luJykpOwovLyAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xvZ2luJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0d2l0dGVyX2xvZ2luJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2luJykpKTsKLy8gCi8vIGlmIChpc3NldCgkcGFyYW1zWyd0d2l0dGVyX3Bhc3N3b3JkJ10pICYmIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdF9vcHRpb25zJ10pICYmICRwYXJhbXNbJ3R3aXR0ZXJfcGFzc3dvcmQnXSAhPSAnJykKLy8gewovLyAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJywgJHBhcmFtc1sndHdpdHRlcl9wYXNzd29yZCddKTsKLy8gfQovLyAKLy8gJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYXNzd29yZF90aXRsZScsICR0aGlzLT5MYW5nKCdwYXNzd29yZCcpKTsKLy8gJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYXNzd29yZCcsICR0aGlzLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwgJ3R3aXR0ZXJfcGFzc3dvcmQnLCAnJywgNjApKTsKCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0X29wdGlvbnMnXSkpIHsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sndGltZW91dCddKSAmJiBpc19udW1lcmljKCRwYXJhbXNbJ3RpbWVvdXQnXSkgJiYgJHBhcmFtc1sndGltZW91dCddID4gMCkgewogICAgICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZW91dCcsICRwYXJhbXNbJ3RpbWVvdXQnXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sncHJveHknXSkpIHsKICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb3h5JywgJHBhcmFtc1sncHJveHknXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sndHdpdHRlcl91c2VyJ10pKSB7CiAgICAgICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0d2l0dGVyX3VzZXInLCAkcGFyYW1zWyd0d2l0dGVyX3VzZXInXSk7CiAgICAgICAgfQogICAgfQoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGltZW91dF90aXRsZScsICR0aGlzLT5MYW5nKCd0aW1lb3V0JykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aW1lb3V0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aW1lb3V0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RpbWVvdXQnKSkpOwovLyAKLy8gJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm94eV90aXRsZScsICR0aGlzLT5MYW5nKCdwcm94eScpKTsKLy8gJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm94eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncHJveHknLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJveHknKSwgODApKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfdXNlcl90aXRsZScsICR0aGlzLT5MYW5nKCd0d2l0dGVyX3VzZXInKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R3aXR0ZXJfdXNlcl9oZWxwJywgJHRoaXMtPkxhbmcoJ3R3aXR0ZXJfdXNlcl9oZWxwJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0d2l0dGVyX3VzZXInLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3R3aXR0ZXJfdXNlcicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d2l0dGVyX3VzZXInKSwgODApKTsKCgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXRfb3B0aW9ucycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRfb3B0aW9ucycsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdvcHRpb25zX3RhYicsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLm9wdGlvbnMudGFiLnRwbCcpKTsKCi8vZWNobyAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW4nKSAuICcgLS0tICcgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmQnKSAgLiAnPGJyIC8+JzsgCgogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnBhbmVsLnRwbCcpOwoKCj8+]]></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[PD9waHAKaWYgKCFjbXNtcygpKSBleGl0OwoKICAgICRjb25uZWN0aW9uID0gbmV3IFR3aXR0ZXJPQXV0aChUd2l0dGVyOjpDT05TVU1FUl9LRVksIFR3aXR0ZXI6OkNPTlNVTUVSX1NFQ1JFVCwgJF9TRVNTSU9OWydvYXV0aF90b2tlbiddLCAkX1NFU1NJT05bJ29hdXRoX3Rva2VuX3NlY3JldCddKTsKICAgICRjb25uZWN0aW9uLT51c2VyYWdlbnQgPSBUd2l0dGVyOjpVU0VSX0FHRU5UOwoKICAgICR0b2tlbl9jcmVkZW50aWFscyA9ICRjb25uZWN0aW9uLT5nZXRBY2Nlc3NUb2tlbigkX1JFUVVFU1RbJ29hdXRoX3ZlcmlmaWVyJ10pOwoKLy8gICAgdmFyX2R1bXAoJHRva2VuX2NyZWRlbnRpYWxzKTsKCiAgICBpZihpc3NldCgkdG9rZW5fY3JlZGVudGlhbHNbJ29hdXRoX3Rva2VuJ10pKQogICAgewogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvYXV0aF90b2tlbicsICR0b2tlbl9jcmVkZW50aWFsc1snb2F1dGhfdG9rZW4nXSk7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ29hdXRoX3Rva2VuX3NlY3JldCcsICR0b2tlbl9jcmVkZW50aWFsc1snb2F1dGhfdG9rZW5fc2VjcmV0J10pOwogICAgfQoKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnb3B0aW9ucycpKTsK]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIHsKICAgIGV4aXQ7Cn0KCi8qIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCgogICBDb2RlIGZvciBUd2l0dGVyICJkZWZhdWx0IiBhY3Rpb24KCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCgppZiAoaXNzZXQoJHBhcmFtc1sncXVlcnknXSkpIHsKICAgICRzZWFyY2hfcGFyYW1zID0gYXJyYXkoCiAgICAgICAgJ3EnID0+ICRwYXJhbXNbJ3F1ZXJ5J10KICAgICk7CgogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbWl0J10pKSB7CiAgICAgICAgJHNlYXJjaF9wYXJhbXNbJ2NvdW50J10gPSAoaW50KSRwYXJhbXNbJ2xpbWl0J107CiAgICB9CgogICAgJHJlc3VsdHMgPSAkdGhpcy0+ZG9TZWFyY2goJHNlYXJjaF9wYXJhbXMpOwoKICAgICR0aW1lbGluZSA9IFR3ZWV0OjpwYXJzZVRpbWVsaW5lKCRyZXN1bHRzLT5zdGF0dXNlcyk7CgogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbWl0J10pKSB7CiAgICAgICAgJHRpbWVsaW5lID0gYXJyYXlfc2xpY2UoJHRpbWVsaW5lLCAwLCAkcGFyYW1zWydsaW1pdCddKTsKICAgIH0KCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Jlc3VsdHMnLCAkcmVzdWx0cyk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpbWVsaW5lJywgJHRpbWVsaW5lKTsKCiAgICBpZiAoIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pIHx8ICEkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sndGVtcGxhdGUnXSkpIHsKICAgICAgICAvLyAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2RlZmF1bHQnKTsKICAgICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Zyb250ZW5kLnRpbWVsaW5lLnRwbCcpOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHBhcmFtc1sndGVtcGxhdGUnXSk7CiAgICB9Cn0=]]></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[iVBORw0KGgoAAAANSUhEUgAAAJcAAAAYCAYAAAD3eW90AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA1LzE5LzA5cuPTcwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAibSURBVGiB7ZtrbFPnGcd/x44dX+M45OIkJClpoCEEKLRlCMp6XddRqladaIvU+5WpWqt1bIOt0r50VBvqtK5jH9pOatGmFtFqVAMqldCVlpWUQqJSCCFOyN2Oa5zEju3El3POPjhxEse3FAeizT/pKH70vs/z/5+L3/Oe1ycCQPX2XTJZsmSQjle2CUL19l1y7V2b5kyk9eAB5rJ+lvlJ68EDKK60iSz/u+QAyKI450KXQyPL/CJycUnSnAtdDo0s84ukI1e1QcNLy6so0agB2N97kTfb7d9JKDty/f+RAyAlOPEv1VcxJKp52Qq1eniuopALI34O2wZnLZRIYwIxGEQKh8nRaBAUkangmHsYpToXlVY7a71kzFXddOu7OjrINRoxFBfPif5s/cwV47fF+Ce+RBu5sI4MRbYbDHC7xcyAfyzaxzEawDEaTCmUSEOWJL49dw5NYBSzQU/f4DB5V9dgKCqibMiJX6NjNNfyXfYtIXNVN1l9WZYRBAGArcsX0e4N0JTgmEzQc+IEUjgcty2/ooL8ioqM+IkXZ4Lx22Li+ZAnZv9XFBj5Q4ExGntDIq9+08kXjqGkQok0Ak4Hf9y4gVuX1jAmiuQqFPzuq3N85vTw3rMPcqB7gD9905Xm7qTHXNVNVL/31EkMpjzMNUsAeHrDWj44Y+VUlytpnaPbnkSvUgEykigiCIroqP6etY+9nQMZ8RMbZ4pZPS0+1jo9NiphZ7WSny+/iv/YLibNTaRx9+JKbq+r4eWGRj4ZCVFl0hMUZWRRZN2ut1AYTeSWlgHg7u/HbbcBoDObGfN4MFdWoV+wgL7mJnRmM+FAAP/wMBqjkZLapdGTMZXYuunmDvf14XNdpGzFSgRBwPbNaVQaDUWLlxDwenF1XqBs+Ypp9V2dnTQ8/zBf9w7wywOfUrqsPnI8JBlHy9mkejsazyEIAnoFvH7zKj4638m+/mEAhgJBhrq7L9mPWqef4c9jt+Gx2wmHQmiMRopqFqNUq+lrbkKbn0/IPwoCWOqWJT3nkTlXiuE5ESMi7HHAbeaclDUStWsNBgAWm/TsbTyGr7QUXUEBAHuf2syRjl7e6R0kMDLClpoynnr8HhRKJf/u6GaVpZC/Np2n0TNGwwuP8On5TqosRayvLONkVx+/+KwZpSl/hubUukDauVvXreSW8iIe++g4kiCw7/H76Ha52WW1Ua2Gvz19Pz85fnZa/d9uupkyUx4Feh17y0p4/vPTAOSIIrvvvzOpXpfHC0CeMnK78gVDdLpHMuqnfdg7LX7mwOfcV1nMEw/dRaFey6nufn5zuJFwYTENLzzCsfYeahdaQFDw4vGzSc+5AiKjSrwtHdbkRf6mqpGo/VCXnRaXmwduWM6/tj7IGq0Sj82GLIpUmE0YctXIokidXs3PfrCeL21ONh/6gpGwTIXZRK5CiPb98XXLsPqC/LO1k+9VV3DjwuK4mlPrzia3yx+kpngBK0066nQq6spKuKV2EeKIh/Wlhdh8o0jh6fX/cb4HfyjElz12fn+yNXpM7qivSctrZJPiHsdM+ImNV5t0/OpH3+fDM1Z++NYHXF1UwBOrl0aP08blS/jyooe/t/Um8StOvbikuFss26vg7drJreFaeK4M3mnpSlkjUbs/EOL5T5rY09JJocnIa1s2sblm4WSuHMlds9CCQhD4yNrDaCBEs8053i5H+za0dbPnzAUa+xwAqBWKxJ5kpsXp5J6wu/AHQ6wuKWB9eTHHewfQqVVca9JxfWUpzRc9M+o7vaNIksxYKESv2zdrr7IoTa4RymTcT2y8rqoMhSBQZNDz6PX1BESZZeWWaJ0j1h7ebenipN2V2O9436RPi7GUqydHqgmO9Tt5+0xHytxEGqHRUcJKJW99beVjaw9vbFzH5tXLONTw1UQmsiSiVkfW2vzuYXyDXoKK0HizHK0dFMXIZ1me0RbH0bS2dHIDksjXdieryovRqlTssfZRlafnpkoLK8pK2NlknZIzmS8ASLPXiyJNvFcwvU+m/EyNc9QqAIZ8fkaUKt639jLs80f7SrKU9vWSckJfroaJ07w7MpfGqJxsv7G8iOdW1vCXpvNJhRJpXKXJwd5vwzbiRzbokO9ci0+SJvvLkVyrxwfA/StqMZxp4/EN182sPd534psuy3LifZNjPKWZe9o5zJOravEGgxzvdbCu2MQ91y6lxTHIt15/3PpBSSIvV8VASwsl11wza6/yxDw/1nOG/EyNmywLeAAwqZS8uv9jQqJI/aJKZI0+oYdEJF2KaB/ycG9hHvvHHwRbffBT6/Q+D5fAjmuqeP2rc0mFEmncUlfDU1s24vSPkZ+rxukf441ma7S/WqtFFiWOdtn5oLiTTUuqqK8s5dDZduotRYgIM/qqcjWRWKNFFuM/7k/0jY1T5Z5yDPGsUkGTY4hwWOTMoJe7lUpOu9xx6wEc7rLzQN0ivtixlXv3HZm1V0GVE9dzpvzExm82n2dL/RLuXrEUGWh2uNjWcCKhh0QI1dt3ySVL4q9vrLIs4M93rGW3DXb3xS9wmxleXwwb9hyM2+5oa6P2rk0MWdsSmrAYtJTotfiCYTqGPCR6uSzH5WTA4wVB4MVb17L1pjU8+uFRrIPuZPs4LyjQ5qJT5dA3PgJfaWL9xMY5CgXlRh3uQJDhsdSL5LE42tqS3xab+r9l57Fmfn3jKm4wwP6L0D9FJ08ZmdDbvf6UQ2Wydrvbi93tTWn43WceRJYlREmmIt/I+y0XaHPO/qeoK4HL6yf5kunlJdZPbBwSRbou8Uubcs51sLWLkdEAT6xeys5q04x2+4ifHQ2Nl3RxpctD+w5TW2RGr86hfdDNwIg/dVKWK0bKn38Ajl7o5+iF/ksSSvc+nQy/GKRp/NE9y/xnVksRl8Ll0Mgyv0j6yk0muRwaWeYX2decs8wZAmT/tSxL5ul4ZZvwX2EopD7q+Zn0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAOZ/ALXk9QWs6VfG6rXV5v//+xex5vn9/fT7+zW656ni9CS35wKt6nSs0AuQ0rvl9ApzvQCq6vPz9MTq9UvC6pfZ8WfN7bu7wcfm7Amr68jIzJPc7QCm6gCp5u7u8Pn9+tTU2L3p9Qar6uTj5hWt5crt9QWv6gas59vx9fz+/H3S7evr7DeLwwNtuYXS4weCx+z5+eLy99T0+QKs7ZG61Aef3f//+fz+9uT29Pv//gGp7WHJ7v/9/rXl8tjY3Aaq7dbw9hVzuLTk9wSs7Lfj9dHR1Kri7T7A57Hl9t7q7///99z0+QGr7/j5+bHi8en2+u7x8gyu5wCn5fv/+t7e4T+86Pz8/MPm9f79/I3Y8Pv7/a/j9ASp5qnP5gOu55/g8f39/rTi8/77/gWu4yaBv7jn9bm5v/39+gGq47jj9////f7+/v7////+///+/v7//f7+/7Lm88C/xW/M7uz59fP3+Cex8FKWw87w9uf39+L3+cDm7qXJ3HDQ7ZvF3gSs6v///yH5BAEAAH8ALAAAAABAAEAAAAf/gH+Cg4SFhoeIiYqLjI2Ojmp/kY+UlYyRk5aam4KZnJ+VnqCjpKWmp6iFoql/aWtrrbCbq6muBGprOLSWarucbWsoaWltuqS9qG1/TAwDaQQ4rJZpOGxKSn9t0Gl9QAxIwzVrbmlubCg7uDvPSjwgTjVtXzjKxyg2TgIJZmlfLzBcWACZ8eSZMDdtdnjgVwOEgBEcIBTA4qFGFl+Uyu3IcoFEHSMSCKCYYYfBGBZjZtAZtEaNFAIvBJjgsETGAggbqJyogZGSGhQemkzAAsWElwtIGAAZ84AFixXO/rAhp4QKBwwY/JQIECJADgR50pBiE0ZKEQp8CtSBIIbKCgYr/1g8mOuUwZNWJBRwECLDRIgQfpZE3CCAQBgDwjilkVKFjgAEBSB08WNihAsgczM3HbPHQQEOf/0IEdJli4IiTRT4AJHGw5VPaarYQFhhQwkMC0L0daE5MwsXJhZgKDHZT5clUO6IJWFCwY0dKGBXMeCBwAEqtgMEMFGiRIPeDxoEEOJDTAghfvyEgDAB+hUmCjboIEBALKdX2dLkQZCjixAMwWFAg2YNlCCDEAGIlp56EBTmgRt0KADBFhoIk4QZoLhxBQH5QDBeCAssUAINLjRAw1ajLbhgADIogMcwFORQQggcUEHBCV+AwgYOVfyBwgQcdNFViN11h1WIKqa3gP8POUxAggYj+GACgBtEIcBKLrGhSRpXQMcGHth1wdVoQ4aoXZLqUQYBFByUh8EZORVxQCQLoRAdJygQgMcEWyxgQopoBrrgAuj5AYECGhxACApOHHCFLJq0gUINSeiQg5+CZqqiRCckUYN9ksyhhwGfRGODFxL+WaimgnLABwEGhAHpOhK0cEA5X7TRhhqgErLGDju88YYbrfwgAAd7qYrmeAdONpoQJggZIgYxLIYCpG6oQUATApBBXw1XfEELClKgUAV9JMhRQA5daYqeCX6tBwEESywghg8cTIBIMcKAMQJFrdhpSBo11JcECTJtsAS8rGrXhU1iFKCAAiP0eZ7/BIgEY4AB20aBgBcv9EqIGT9oMAGbIUR7pqa6QTCCAFhogQYcXuiAQRTziSzIOGu8EQkWG2yggBxekCGBBCBogUUFVECxwbwgchUamv6F0EUOBQjgBQgOkIEGGg5IYEQBStS3SEsEwDHC0zlMmMMSEERxBgQLsJqklAvUmIAeZADgt99DWCEHHH8YQKwiauCQowQFRKFdAHVztbLdK5rAHhpeD/E3AJofEZIBGC6ieBYcMw7BaNqVsECClKcHohAcCABC35v7zUMQaLyg0Bc6F7IGG2tQk8YdQK4+det+SJ6DDrPzULvfRwwBAwE7P5JGGJPWgMUWOazaesoyQEAF/xkOwOF87UGAAUM2luDgQRhv7ECAFwVsUDfyyfsAxda4a147GD/4A/Us8QYUuKGAO/jDD4DkIfTcT1MBgEAFLgAAHtxuc0doAgmqAYxSoIAM8REOBryHJiEcSgsO+NsQVhiE9P0gGqig3gtSMIIo5MZdDbJCEFQIgCMcwQHT6x0ogFKfE+jAD0/TFAT4IIEd+g0OR9CCHl6Qn1QgpAZuoI8E5IAADjxNCJFL3nrk0ES/tdAKJ7iVVKTBEmW0Zgg6UMAWohARM0EAATPTQuCUwLEBspElbNAGfdLwAh6kYAKQgQIURlAAMv7ACQYgRgf/OAgCvOIKKDBDfZ5RgwPkIZ4Gd4hBHl7gAUHo6g/4oaQgxBK8NGgJFmzQkiFkqcpa2vKWuMwlIYYhRF06Yg1VyAIT6BCBCDzhCR1IpjKVecxi0oEJTMhCAqURgSkQIQMZiIM2LcBNC5Thm+AMZxm6aQFtxgGbROhBB3pSCSaoQATwnII8p9CDen7gnvjM5z3r2YN5wlMEKoiALwfKCnYS9KAITahCF8rQhjr0oaMIBAA7]]></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[iVBORw0KGgoAAAANSUhEUgAAAJcAAAAYCAYAAAD3eW90AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA1LzE5LzA5cuPTcwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAkTSURBVGiB7Zt7cJTVGcZ/3943IZssMWFJIpcEQiBIIGggiEFJw6VVYZzWCtTS0uo4aJAKCjgyg62tM53aixQ7XvBSsFRKVUCpRbxNaKSoEAy5cEtEk0Cym2w22fvut1//WBJ2k70FExqdfWbOZN45533eJ+853/udc3ZXANheUS0RRxyDiFVzpwrC9opqqagwZ8iCHD12jqHkj2N44uixcygAfL6hL1xXI0YcwwsKAEnyDXmgqxEjjuGFeOWKY8jgX1xS6InXymSM12pQyQQAjG4PzS73FQUKFyOOby/8r8UwVWV8opoGh8C2FshLhPszlNhFHx1uz4ADhYsRx7cXESuXSiZjWwu8Z/a3G0bA5AQFLlHsHePySbh90fdT0SpXl8WCzWolNS0NlUoFwOm6elL0KaQbDDH/Q7FgqHhj5X/trzsZPyGHojnFQxJ/oHqGCpcWV/jF0SUG20kKOUkjEnptUZJotDkweyJXs3AxPB4Pz/7haU58dgy1RoPb5eae8tXccGMxT27eQumCUn563z24xME7EAwVbyR+URSRy+UAvLPvLb67eAFl8+ZijvAW2LB6DQ67I2Tf4qW3sXjp7YOiJ5Q9GBjQhv4n9cF2khx+ky1wc4qW9o7Ie7FwMSre+4Djn3zKQ+Wr+dGS2zh3/jxatRqXUslTzz3D7IxR2AQZ5632mDTGgqHiDce/6YG1ZOdO4N41D+DPgoRWLmOEQkG7M3ze1mzawMSkRGw2Gz9fu56F82/mZ8vvAmCkXo9DqeSiw/m19fTXNziQL1m1ekvqyBEhO7MStLxpghZXaGe3BCYv3JEm0BTmCWvvsJI5eiTOMAeBhtNnOHniBIZrUsnMm0ynQolHqcLtE9m87hHOtZnIysvDJ0kceGMvz/zu9/xr7z4uNrew+5UdJOv1ZGRl8mj5WtoutvLRu4d4cdtfqD9Zy/XFs5CFeBofX78hiDdW3/17XufV7S9xU+l8AH696THqTtYwc1YRjWfPsvW3T3FT6S08/vDGXv6dL7xEfU0NHUYT9VVVzJpXwv49r5MzZixvv3uI57Y+EzbeiKQkZAkJ2IED+/YzfcpkSubfQqdcgVWCnbteY+cLL34tPefONvTT9+5bB3j2j0/zz7/toq66hinTrkOj0fBo+VouNLfw7337qfyogjnzSkIvjEvzLgN/VQnVYkGRzv83Gke4/uJ5JeTm5vLGgXf4xYMP8enH/8Xu8eLwiJiMRlReDwathlO1dezdvYeZhdN5Z9cOstPTMBmNjFLISVEqMRmNHPmogoLJedy6aCGnamtpq6sDqX/sQN4eOxbfrLFjuNDcjKOxkdO19Xz5xXlqjp8gS62i6pNjGEalk69PDuJftOR2NBoNN8wo4Fcb1pGXnATA+4cryZs4MapWu8eL3e3tzaPo82HzeLF5vGSMufZr6ylfuSLItpw5w55Xd1FWOp/9r76C6cIFKt8+gAIBk9FI1ZGjzCuezX13L2dSclLEefcvLskXsvXFxrHwct7ldmg63J8BX9rsUTnC9SvVKtY8tpEfL7sTS6eF55/+M5UHD/p9JZALAnIBaj+vRvL5+P6iBbhkAroxY0ACpUyGIAASlJbcSPnKFUwtmOb3FUWSVYr+mgJ4e+xYfPOum4pGraHq82rqqqoomDEdh8NBffVJTtfVMXP6NJyiGMSv0yeDIKBWqUhOS+OspRskmF9yI/fHoDVQswRISIOqx6JQBtkHK48g+Xy4rd08//d/IFOqONfQwOhEjV/33Dncu/xOsqfk0WSNPO8D2nNlqi5Xqh60O1180WWL6hsxhiBn9vdupWjOHNav30jF+x+y9Pbbet//kgRer4gEyAQZbXYnbo/3UrL91xwSoFIqaXe6MDmcvX2C1D92IK9vAL5yuYLxuRM4Xl2DzelkxfIf0trSzIf/qeR8QwPf2byJTqe7P78ECCBeqkQD0Qr+k3ZfzkHVE2B7RH+ek3U6tDoddyy5FYNeT4Jc7s+/XEa7w0VTd/S9qswfVArZwL+getBzLXG063JL1ajJ1iVG5IgU48vGRkxtRkSfjw6vD2QCSSMSSU/QBPmOzR4PwO69+zlccZiDb73du1Iup74neVJQXzRNA/HNzs2l9tRpTCYTpcWzmDBpEgcOfcDEnBzGGUbR7nT241coFJg7Lf5FNMB40fI4GHoC7Un5+QB0mM2UlZVStmgBOsMoLtgcYTWE0xtxz2X1eFl6zeXFVW+D8jP+U2NPe/I8ZCUmXPGeq+bE52xZ9zCbH3yIXz6ygSSdjtWrVuINuCKQgOsKCylbWMaRz46zZ9dupk31J0GhlBP4Bvcn7LIl+frHDhzb147mOyk/H68oUjRjOlqVkmtzJuDxepk9owCr24PTI/bjv35OMZ9VnWDZ3asGHC+c5sHUE2hPKSjgB3fdyQeHP+auFStZtuxutr+8A2vAlUlfDeH0CtsrqqWsLD2hoFerKEwfybYW2NYUcgiletg6Ed776mLI/qYmM0WFObS0dYQmALROBwqnHZVGQ17OeNyixGmzBYvLTUmWgQs2O2fMXVjMZmZmj8WQoOVPL7zEjtf2sOvZrUj6VNrszqCxqVo1+al6TpkttNr6n2QDx/a1o/kmqZTMSE/F6HBS196JIVFLrj6Zr7ptNFq6Q/KPlESS5QKjDAaOtLQNKB6AUi6jeHR6EOdg6ulrZyZqoKsLfUoyKTodnS43J03mfjzh0NRk9i+ujMzksIMyEhPIT03haBe8aYLmgBsFndy/oR+rFjnc0hrSv6XZQlFhDk2tpohiNAo5arkc0SdhDXMh+8QjG5EJMgSZgKmtjcULF/DEugf5tNUY9GQNV6jkMuSCDIfXG33wVUBfPX1tQQCtQoFH9OGJ4VOYQLQ0W6Jv6Ju6bbhFkckpOoqylf36HV6R423tUQ8F0frtbi92Iid9/eNb0Nm6sNvt5Iwbx7jM0TR1W+mKcBE5nOD0iYAYddzVQl89ofRZxSt/aC99nyvyxLfaHGHLdayIFiMWKFUq3Oo09KNVdMkEKpsu4vQOn8mKIxjfuO9z+ZDosEf/yCOO/z+ifnA9WLgaMeIYXvjGVa44vjkQIP7TsjgGH6vmThX+B+ByjD9JKdpWAAAAAElFTkSuQmCC]]></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/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3cgeW91IHRvIG1hbmFnZSB5b3VyIFR3aXR0ZXIgZnJvbSBDTVNNUy4gQm90aCBzZW5kIGFuZCByZWNlaXZlIGZ1bmN0aW9ucyBhcmUgYXZhaWxhYmxlLic7CgokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZFsnYWRtaW5fdGl0bGUnXSA9ICdUd2VldCBNYWRlIFNpbXBsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3cgeW91IHRvIG1hbmFnZSB5b3VyIFR3aXR0ZXIgZnJvbSBDTVNNUy4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIChlLmcuLCBCZSBzdXJlIHRvIHNldCAiTWFuYWdlIFR3aXR0ZXIiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEpJzsKJGxhbmdbJ1R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ09wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICdUd2l0dGVyJzsKJGxhbmdbJ3RpdGxlX29wdGlvbnMnXSA9ICdPcHRpb25zJzsKCiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snYXBwbHknXSA9ICdBcHBseSc7CiRsYW5nWydjYW5jZWwnXSA9ICdjYW5jZWwnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kJzsKJGxhbmdbJ3Jlc3RvcmUnXSA9ICdSZXN0b3JlJzsKCi8vIEFkbWluCgokbGFuZ1snc3RhdHVzX3RpdGxlJ10gPSAnV2hhdCBhcmUgeW91IGRvaW5nPyc7CgokbGFuZ1snbm9fdHdpdHRlcl9jcmVkZW50aWFsX3NldCddID0gJ1BsZWFzZSBhdXRob3JpemUgeW91ciBUd2l0dGVyIGFjY291bnQgaW50byB0aGUgIk9wdGlvbnMiIHRhYi4nOwokbGFuZ1snc2V0X3R3aXR0ZXJfY3JlZGVudGlhbCddID0gJ1BsZWFzZSBlbnRlciB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbC4nOwokbGFuZ1sncmVxdWlyZV9jdXJsJ10gPSAnVGhpcyBtb2R1bGUgcmVxdWlyZSBjdXJsIDxlbT4oPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2suY3VybC5waHAiIHJlbD0iZXh0ZXJuYWwiPmh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwPC9hPik8L2VtPic7CiRsYW5nWydsb2dpbiddID0gJ0xvZ2luJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndGltZW91dCddID0gJ1RpbWVvdXQnOwokbGFuZ1sncHJveHknXSA9ICdQcm94eSc7CiRsYW5nWyd0d2l0dGVyX3VzZXInXSA9ICdUd2l0dGVyIHVzZXInOwokbGFuZ1sndHdpdHRlcl91c2VyX2hlbHAnXSA9ICdJbiBtb3N0IG9mIHRoZSBjYXNlcywgeW91IG9ubHkgbmVlZCBUd2l0dGVyIHVzZXIgKHRvIHNob3cgdXNlciB0aW1lbGluZSkuIEZvciBvdGhlciBjYXNlcywgeW91IHdpbGwgbmVlZCB0byBTaWduIGluIHdpdGggVHdpdHRlciAocGxlYXNlIG5vdGUgdGhhdCBpdCBvbmx5IHdvcmsgd2l0aCBkZWRpY2F0ZWQgc2VydmVycykuJyA7CgokbGFuZ1sndHdpdHRlcl9jcmVkZW50aWFsc19ub3Rfc2V0J10gPSAnVGhpcyBtb2R1bGUgbmVlZHMgYXV0aG9yaXphdGlvbiBmcm9tIFR3aXR0ZXIuIFBsZWFzZSBzZWUgdGhlIG1vZHVsZSBhZG1pbiBwYW5lbC4nOwoKLy8gT0F1dGgKJGxhbmdbJ3NpZ25fd2l0aF90d2l0dGVyJ10gPSAnU2lnbiBpbiB3aXRoIFR3aXR0ZXInOwokbGFuZ1sndHdpdHRlcl93ZWxjb21lJ10gPSAnV2VsY29tZSAlcyc7CiRsYW5nWyd1bnNpZ25fdHdpdHRlciddID0gJ1Vuc2lnbiBmcm9tIFR3aXR0ZXInOwoKLy8gVGVtcGxhdGVzCgokbGFuZ1sndGl0bGVfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snY29kZSddID0gJ0NvZGUnOwokbGFuZ1sndGl0bGVfYWRkX3RlbXBsYXRlJ10gPSAnQWRkIHRlbXBsYXRlJzsKJGxhbmdbJ3NlbmRfdmlhX3R3aXR0ZXInXSA9ICdTZW5kIHZpYSBUd2l0dGVyJzsKCiRsYW5nWydmb3JtX3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzaG9ydGVuJ10gPSAnU2hvcnRlbiB1cmxzJzsKCiRsYW5nWydlZGl0VGVtcGxhdGUnXSA9ICdFZGl0IHRlbXBsYXRlJzsKJGxhbmdbJ2RlbGV0ZVRlbXBsYXRlJ10gPSAnRGVsZXRlIHRlbXBsYXRlJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmU/JzsKCiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDAuMC4xIC0gMjkgSnVuZSAyMDA5LiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPGxpPlZlcnNpb24gMS4wLjAgLSAzMCBKdW5lIDIwMTAuIEltcGxlbWVudGF0aW9uIG9mIE9BdXRoLjwvbGk+IAo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Db25maWd1cmUgeW91ciBUd2l0dGVyIGNyZWRlbnRpYWxzIGluIHRoZSBiYWNrZW5kLiBVc2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJUd2l0dGVyIn0gaW4geW91ciBwYWdlcy90ZW1wbGF0ZXMuPC9wPgo8cD5Zb3UgY2FuIGFsc28gc2hvdyBUd2l0dGVyIHNlYXJjaCByZXN1bHRzIHVzaW5nIHtjbXNfbW9kdWxlIG1vZHVsZT0iVHdpdHRlciIgYWN0aW9uPSJzZWFyY2giIHF1ZXJ5PSJ5b3VyIHNlYXJjaCAjdGVybXMifS48L3A+CjxoMz5FeGFtcGxlIG9mIHRpbWVsaW5lPC9oMz4KPHA+VG8gY3JlYXRlIGEgdGVtcGxhdGUsIHlvdSBjYW4gZmlyc3QgbG9vcCBvbiB7JHRpbWVsaW5lfS4gVGhlbiwgSSBhZHZpc2UgeW91IHRvIHVzZSB0aGUgeyR0aW1lbGluZXx2YXJfZHVtcH0gZnVuY3Rpb24gdG8ga25vdyB3aGF0IGFyZSB0aGUgb3B0aW9ucyB5b3UgY2FuIHVzZS48L3A+CjxwPllvdSBjYW4gYWxzbyBjbGljayBvbiB0aGUgIlJlc3RvcmUiIGJ1dHRvbiB3aG9cJ2xsIGdpdmUgeW91IGEgYmFzaWMgdGVtcGxhdGUuPC9wPgo8cD5FeGFtcGxlIDo8L3A+CjxwcmU+Cntmb3JlYWNoIGZyb209JHRpbWVsaW5lIGl0ZW09dHdlZXR9ICAKICAgICZsdDtkaXYgaWQ9InN0YXR1c197JHR3ZWV0LSZndDtpZH0iIHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGdyYXk7IiZndDsKICAgICAgJmx0O2RpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogMjBweDsgIiZndDsmbHQ7aW1nIHNyYz0ieyR0d2VldC0mZ3Q7cGljdHVyZX0iIGFsdD0ieyR0d2VldC0mZ3Q7YXV0aG9yX25hbWV9IiAvJmd0OyZsdDsvZGl2Jmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O3skdHdlZXQtJmd0O2F1dGhvcl9uYW1lfSZsdDsvc3Ryb25nJmd0OyAKICAgICAgeyR0d2VldC0mZ3Q7Z2V0VGV4dCgpfSZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7eyR0d2VldC0mZ3Q7Z2V0V2hlbigpfSBmcm9tIHskdHdlZXQtJmd0O3NvdXJjZX0mbHQ7L3AmZ3Q7CiAgICAgICZsdDtkaXYgc3R5bGU9ImNsZWFyOiByaWdodCImZ3Q7Jmx0Oy9kaXYmZ3Q7ICAKICAgICZsdDsvZGl2Jmd0OyAgCnsvZm9yZWFjaH0KPC9wcmU+CjxoND5Ud2VldCBidXR0b248L2g0Pgo8cD5UbyBpbnNlcnQgdGhlIFR3ZWV0IGJ1dHRvbiBpbiB5b3VyIGFydGljbGVzIG9yIHBhZ2VzLCBqdXN0IHVzZSB7VHdpdHRlciBhY3Rpb249InR3ZWV0In0uIFlvdSBjYW4gYWxzbyBhZGQgdGhlIHBhcmFtICJ2aWEiIHdpdGggYSBkZXNpcmVkIFR3aXR0ZXIgc2NyZWVubmFtZS48L3A+CjxoND5JbnRlZ3JhdGUgVHdpdHRlciBpbiB5b3VyIG93biBtb2R1bGVzPC9oND4KPHA+WW91IGNhbiBnZXQgYSBzbWFsbCBUd2l0dGVyIGljb24gYW5kIGxpbmsgdXNpbmcgdGhlIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzW1wnVHdpdHRlclwnXVtcJ29iamVjdFwnXS0+Y3JlYXRlU2VuZExpbmsoJGlkLCRyZXR1cm5pZCxhcnJheShcJ3N0YXR1c1wnID0+ICRzdGF0dXMpKTs8L3A+CjxwPllvdSBjYW4gYWxzbyBjYWxsIHRoZSBwdWJsaWMgZnVuY3Rpb24gJGdDbXMtPm1vZHVsZXNbXCdUd2l0dGVyXCddW1wnb2JqZWN0XCddLT51cGRhdGVTdGF0dXMoc3RyaW5nICRtZXNzYWdlLCBib29sZWFuICRzaG9ydGVuKSAod2l0aCBhIDE0MCBtYXggbWVzc2FnZS4pIHRvIHNlbmQgbWVzc2FnZSB0byBUd2l0dGVyLjwvcD4KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgcHVibGljIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzW1wnVHdpdHRlclwnXVtcJ29iamVjdFwnXS0+c2hvcnRlblVybHMoJG1lc3NhZ2UpIHRvIG9ubHkgc2hvcnRlbiB0aGUgdXJscyBjb250YWluZWQgaW50byB0aGUgbWVzc2FnZS48L3A+CjxwPgo8aDM+V2hhdCBQYXJhbWV0ZXJzIERvZXMgSXQgVGFrZTwvaDM+CjxwPgo8dWw+CiAgPGxpPjxiPmxpbWl0PC9iPiAtIElmIHlvdSBzZXQgdGhhdCwgaXQgd2lsbCBsaW1pdCB0aGUgbnVtYmVyIG9mIGxhdGVzdCB0d2l0dGVyIHVwZGF0ZXMgdG8gdGhpcyB2YWx1ZS48L2xpPgogIDxsaT48Yj50ZW1wbGF0ZTwvYj4gLSBTZWxlY3QgYSBjdXN0b20gdGVtcGxhdGUgc2V0IGluIHRoZSBhZG1pbiBwYW5uZWwuPC9saT4KICA8bGk+PGI+dXNlcl9pZDwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgaWQ8L2xpPgogIDxsaT48Yj5zY3JlZW5fbmFtZTwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgc2NyZWVuIG5hbWU8L2xpPgoJPGxpPjxiPmZyaWVuZHM8L2I+IC0gUHVibGlzaCBmcmllbmRzIHRpbWVsaW5lPC9saT4KIDwvdWw+CiA8L3A+CjxoMz5Ud2l0dGVyIHRvdGFsczwvaDM+CjxwPklmIHlvdSB3YW50IHRvIGhhdmUgVHdpdHRlciB0b3RhbHMgeW91IGNhbiBjYWxsIHRoZSBhY3Rpb24gImdldF90b3RhbHMiICh7VHdpdHRlciBhY3Rpb249ImdldF90b3RhbHMifSkgd2hvIGdlbmVyYXRlIGEgc21hcnR5IHZhciAkdHdpdHRlcl90b3RhbHMgd2hpY2ggY29udGVudCBpbmZvcm1hdGlvbiBsaWtlIG51bWJlciBvZiBmb2xsb3dlcnMsIG51bWJlciBvZiB0d2l0dGVyIG1lc3NhZ2VzLCBldGMuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDksIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8YSBocmVmPSJtYWlsdG86amNjQG1vcnJpcy1jaGFwbWFuLmNvbSI+Jmx0O2pjY0Btb3JyaXMtY2hhcG1hbi5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7Cj8+Cg==]]></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/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3ZWV0IE1hZGUgU2ltcGxlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIChlLmcuLCBCZSBzdXJlIHRvIHNldCAmcXVvdDtNYW5hZ2UgVHdpdHRlciZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhKSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVHdlZXQgTWFkZSBTaW1wbGUgdW5pbnN0YWxsZWQuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQ0KeW91IHdhbnQgdG8gdW5zaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWhsZXInOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydUd2l0dGVyJ10gPSAnVHdpdHRlcic7CiRsYW5nWydPcHRpb25zJ10gPSAnT3B0aW9uZW4nOwokbGFuZ1sndGl0bGVfdHdpdHRlciddID0gJ1R3aXR0ZXInOwokbGFuZ1sndGl0bGVfb3B0aW9ucyddID0gJ09wdGlvbmVuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmRlbic7CiRsYW5nWydhcHBseSddID0gJ0Fud2VuZGVuJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWyd1cGRhdGUnXSA9ICdBa3R1YWxpc2llcmVuJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kZW4nOwokbGFuZ1sncmVzdG9yZSddID0gJ1p1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ3N0YXR1c190aXRsZSddID0gJ1dhcyB0dXN0IGR1IGdlcmFkZT8nOwokbGFuZ1snbm9fdHdpdHRlcl9jcmVkZW50aWFsX3NldCddID0gJ0JpdHRlIGF1dG9yaXNpZXJlbiBTaWUgZGFzIFR3aXR0ZXItS29udG8gaW0gUmVpdGVyICZiZHF1bztPcHRpb25lbiZsZHF1bzsuJzsKJGxhbmdbJ3NldF90d2l0dGVyX2NyZWRlbnRpYWwnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgaWhyZSBUd2l0dGVyLUFubWVsZGVkYXRlbiBlaW4uJzsKJGxhbmdbJ3JlcXVpcmVfY3VybCddID0gJ1RoaXMgbW9kdWxlIHJlcXVpcmUgY3VybCA8ZW0+KDxhIGhyZWY9Imh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwIiByZWw9ImV4dGVybmFsIj5odHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vYm9vay5jdXJsLnBocDwvYT4pPC9lbT4nOwokbGFuZ1snbG9naW4nXSA9ICdBbm1lbGRlbic7CiRsYW5nWydwYXNzd29yZCddID0gJ0tlbm53b3J0JzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdaZWl0JnV1bWw7YmVyc2NocmVpdHVuZyc7CiRsYW5nWyd0d2l0dGVyX2NyZWRlbnRpYWxzX25vdF9zZXQnXSA9ICdUaGlzIG1vZHVsZSBuZWVkcyBhdXRob3JpemF0aW9uIGZyb20gVHdpdHRlci4gUGxlYXNlIHNlZSB0aGUgbW9kdWxlIGFkbWluIHBhbmVsLic7CiRsYW5nWydzaWduX3dpdGhfdHdpdHRlciddID0gJ01pdCBUd2l0dGVyIGFubWVsZGVuJzsKJGxhbmdbJ3R3aXR0ZXJfd2VsY29tZSddID0gJ1dpbGxrb21tZW4sICVzJzsKJGxhbmdbJ3Vuc2lnbl90d2l0dGVyJ10gPSAnVm9uIFR3aXR0ZXIgYWJtZWxkZW4nOwokbGFuZ1sndGl0bGVfdGVtcGxhdGVzJ10gPSAnVm9ybGFnZW4nOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdWb3JsYWdlJzsKJGxhbmdbJ2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ3RpdGxlX2FkZF90ZW1wbGF0ZSddID0gJ1ZvcmxhZ2UgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ3NlbmRfdmlhX3R3aXR0ZXInXSA9ICcmVXVtbDtiZXIgVHdpdHRlciBzZW5kZW4nOwokbGFuZ1snZm9ybV9zdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc2hvcnRlbiddID0gJ1VSTCBhYmsmdXVtbDtyemVuJzsKJGxhbmdbJ2VkaXRUZW1wbGF0ZSddID0gJ1ZvcmxhZ2UgYmVhcmJlaXRlbic7CiRsYW5nWydkZWxldGVUZW1wbGF0ZSddID0gJ1ZvcmxhZ2UgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdTaW5kIFNpZSBzaWNoZXI/JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xIC0gMjkgSnVuZSAyMDA5LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuMC4wIC0gMzAgSnVuZSAyMDEwLiBJbXBsZW1lbnRhdGlvbiBvZiBPQXV0aC48L2xpPiANCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkNvbmZpZ3VyZSB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbHMgaW4gdGhlIGJhY2tlbmQuIFVzZSB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VHdpdHRlciZxdW90O30gaW4geW91ciBwYWdlcy90ZW1wbGF0ZXMuPC9wPg0KPHA+WW91IGNhbiBhbHNvIHNob3cgVHdpdHRlciBzZWFyY2ggcmVzdWx0cyB1c2luZyB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VHdpdHRlciZxdW90OyBhY3Rpb249JnF1b3Q7c2VhcmNoJnF1b3Q7IHF1ZXJ5PSZxdW90O3lvdXIgc2VhcmNoICN0ZXJtcyZxdW90O30uPC9wPg0KPGgzPkV4YW1wbGUgb2YgdGltZWxpbmU8L2gzPg0KPHA+VG8gY3JlYXRlIGEgdGVtcGxhdGUsIHlvdSBjYW4gZmlyc3QgbG9vcCBvbiB7JHRpbWVsaW5lfS4gVGhlbiwgSSBhZHZpc2UgeW91IHRvIHVzZSB0aGUgeyR0aW1lbGluZXx2YXJfZHVtcH0gZnVuY3Rpb24gdG8ga25vdyB3aGF0IGFyZSB0aGUgb3B0aW9ucyB5b3UgY2FuIHVzZS48L3A+DQo8cD5Zb3UgY2FuIGFsc28gY2xpY2sgb24gdGhlICZxdW90O1Jlc3RvcmUmcXVvdDsgYnV0dG9uIHdobyYjMDM5O2xsIGdpdmUgeW91IGEgYmFzaWMgdGVtcGxhdGUuPC9wPg0KPHA+RXhhbXBsZSA6PC9wPg0KPHByZT4NCjxjb2RlPg0Ke2ZvcmVhY2ggZnJvbT0kdGltZWxpbmUgaXRlbT10d2VldH0gIA0KICAgICZhbXA7bHQ7ZGl2IGlkPSZhbXA7cXVvdDtzdGF0dXNfeyR0d2VldC0+aWR9JmFtcDtxdW90OyBzdHlsZT0mYW1wO3F1b3Q7Ym9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5OyZhbXA7cXVvdDsmYW1wO2d0Ow0KICAgICAgJmFtcDtsdDtkaXYgc3R5bGU9JmFtcDtxdW90O2Zsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICZhbXA7cXVvdDsmYW1wO2d0OyZhbXA7bHQ7aW1nIHNyYz0mYW1wO3F1b3Q7eyR0d2VldC0+cGljdHVyZX0mYW1wO3F1b3Q7IGFsdD0mYW1wO3F1b3Q7eyR0d2VldC0+YXV0aG9yX25hbWV9JmFtcDtxdW90OyAvJmFtcDtndDsmYW1wO2x0Oy9kaXYmYW1wO2d0Ow0KICAgICAgJmFtcDtsdDtwJmFtcDtndDsmYW1wO2x0O3N0cm9uZyZhbXA7Z3Q7eyR0d2VldC0+YXV0aG9yX25hbWV9JmFtcDtsdDsvc3Ryb25nJmFtcDtndDsgDQogICAgICB7JHR3ZWV0LT5nZXRUZXh0KCl9JmFtcDtsdDsvcCZhbXA7Z3Q7DQogICAgICAmYW1wO2x0O3AmYW1wO2d0O3skdHdlZXQtPmdldFdoZW4oKX0gZnJvbSB7JHR3ZWV0LT5zb3VyY2V9JmFtcDtsdDsvcCZhbXA7Z3Q7DQogICAgICAmYW1wO2x0O2RpdiBzdHlsZT0mYW1wO3F1b3Q7Y2xlYXI6IHJpZ2h0JmFtcDtxdW90Oz4mYW1wO2x0Oy9kaXYmYW1wO2d0OyAgDQogICAgJmFtcDtsdDsvZGl2JmFtcDtndDsNCnsvZm9yZWFjaH0NCjwvY29kZT4NCjwvcHJlPg0KPGg0PlR3ZWV0IGJ1dHRvbjwvaDQ+DQo8cD5UbyBpbnNlcnQgdGhlIFR3ZWV0IGJ1dHRvbiBpbiB5b3VyIGFydGljbGVzIG9yIHBhZ2VzLCBqdXN0IHVzZSB7VHdpdHRlciBhY3Rpb249JnF1b3Q7dHdlZXQmcXVvdDt9LiBZb3UgY2FuIGFsc28gYWRkIHRoZSBwYXJhbSAmcXVvdDt2aWEmcXVvdDsgd2l0aCBhIGRlc2lyZWQgVHdpdHRlciBzY3JlZW5uYW1lLjwvcD4NCjxoND5JbnRlZ3JhdGUgVHdpdHRlciBpbiB5b3VyIG93biBtb2R1bGVzPC9oND4NCjxwPllvdSBjYW4gZ2V0IGEgc21hbGwgVHdpdHRlciBpY29uIGFuZCBsaW5rIHVzaW5nIHRoZSBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1smIzAzOTtUd2l0dGVyJiMwMzk7XVsmIzAzOTtvYmplY3QmIzAzOTtdLT5jcmVhdGVTZW5kTGluaygkaWQsJHJldHVybmlkLGFycmF5KCYjMDM5O3N0YXR1cyYjMDM5OyA9PiAkc3RhdHVzKSk7PC9wPg0KPHA+WW91IGNhbiBhbHNvIGNhbGwgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1smIzAzOTtUd2l0dGVyJiMwMzk7XVsmIzAzOTtvYmplY3QmIzAzOTtdLT51cGRhdGVTdGF0dXMoc3RyaW5nICRtZXNzYWdlLCBib29sZWFuICRzaG9ydGVuKSAod2l0aCBhIDE0MCBtYXggbWVzc2FnZS4pIHRvIHNlbmQgbWVzc2FnZSB0byBUd2l0dGVyLjwvcD4NCjxwPllvdSBjYW4gYWxzbyB1c2UgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1smIzAzOTtUd2l0dGVyJiMwMzk7XVsmIzAzOTtvYmplY3QmIzAzOTtdLT5zaG9ydGVuVXJscygkbWVzc2FnZSkgdG8gb25seSBzaG9ydGVuIHRoZSB1cmxzIGNvbnRhaW5lZCBpbnRvIHRoZSBtZXNzYWdlLjwvcD4NCjxwPg0KPGgzPldoYXQgUGFyYW1ldGVycyBEb2VzIEl0IFRha2U8L2gzPg0KPHA+DQo8dWw+DQogIDxsaT48Yj5saW1pdDwvYj4gLSBJZiB5b3Ugc2V0IHRoYXQsIGl0IHdpbGwgbGltaXQgdGhlIG51bWJlciBvZiBsYXRlc3QgdHdpdHRlciB1cGRhdGVzIHRvIHRoaXMgdmFsdWUuPC9saT4NCiAgPGxpPjxiPnRlbXBsYXRlPC9iPiAtIFNlbGVjdCBhIGN1c3RvbSB0ZW1wbGF0ZSBzZXQgaW4gdGhlIGFkbWluIHBhbm5lbC48L2xpPg0KICA8bGk+PGI+dXNlcl9pZDwvYj4gLSBTcGVjaWZ5IGFuIHVzZXIgaWQ8L2xpPg0KICA8bGk+PGI+c2NyZWVuX25hbWU8L2I+IC0gU3BlY2lmeSBhbiB1c2VyIHNjcmVlbiBuYW1lPC9saT4NCgk8bGk+PGI+ZnJpZW5kczwvYj4gLSBQdWJsaXNoIGZyaWVuZHMgdGltZWxpbmU8L2xpPg0KIDwvdWw+DQogPC9wPg0KPGgzPlR3aXR0ZXIgdG90YWxzPC9oMz4NCjxwPklmIHlvdSB3YW50IHRvIGhhdmUgVHdpdHRlciB0b3RhbHMgeW91IGNhbiBjYWxsIHRoZSBhY3Rpb24gJnF1b3Q7Z2V0X3RvdGFscyZxdW90OyAoe1R3aXR0ZXIgYWN0aW9uPSZxdW90O2dldF90b3RhbHMmcXVvdDt9KSB3aG8gZ2VuZXJhdGUgYSBzbWFydHkgdmFyICR0d2l0dGVyX3RvdGFscyB3aGljaCBjb250ZW50IGluZm9ybWF0aW9uIGxpa2UgbnVtYmVyIG9mIGZvbGxvd2VycywgbnVtYmVyIG9mIHR3aXR0ZXIgbWVzc2FnZXMsIGV0Yy48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDksIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8YSBocmVmPSJtYWlsdG86amNjQG1vcnJpcy1jaGFwbWFuLmNvbSI+PGpjY0Btb3JyaXMtY2hhcG1hbi5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3aXR0ZXIgKFR3ZWV0TWFkZVNpbXBsZSknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdMZSBtb2R1bGUgVHdpdHRlciAoVHdlZXRNYWRlU2ltcGxlKSBhICZlYWN1dGU7dCZlYWN1dGU7IGluc3RhbGwmZWFjdXRlOyBhdmVjIHN1Y2MmZWdyYXZlO3MuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdMZSBtb2R1bGUgVHdpdHRlciAoVHdlZXRNYWRlU2ltcGxlKSBhICZlYWN1dGU7dCZlYWN1dGU7IGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzLic7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHZyYWltZW50IHMmdWNpcmM7ciBkZSB2b3Vsb2lyIGQmZWFjdXRlO3NpbnN0YWxsZXIgY2UgbW9kdWxlID8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGluc3RhbGwmZWFjdXRlOyBlbiB2ZXJzaW9uICVzLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBtaXMgJmFncmF2ZTsgam91ciB2ZXJzIGxhIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2UgbW9kdWxlIHZvdXMgcGVybWV0IGRlIGcmZWFjdXRlO3JlciB2b3RyZSBjb21wdGUgVHdpdHRlciBkZXB1aXMgQ01TTVMuIExlcyBmb25jdGlvbnMgZCYjMDM5O2Vudm9pIGV0IGRlIHImZWFjdXRlO2NlcHRpb24gc29udCBkaXNwb25pYmxlcy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJldXIgISc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnQ2UgbW9kdWxlIHZvdXMgcGVybWV0IGRlIGcmZWFjdXRlO3JlciB2b3RyZSBjb21wdGUgVHdpdHRlciBkZXB1aXMgQ01TTVMuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjYyZlZ3JhdmU7cyByZWZ1cyZlYWN1dGU7LiBNZXJjaSBkZSB2JmVhY3V0ZTtyaWZpZXIgdm9zIGRyb2l0cyBkJiMwMzk7YWNjJmVncmF2ZTtzLic7CiRsYW5nWydUd2l0dGVyJ10gPSAnVHdpdHRlciAnOwokbGFuZ1snT3B0aW9ucyddID0gJ09wdGlvbnMgJzsKJGxhbmdbJ3RpdGxlX3R3aXR0ZXInXSA9ICdUd2l0dGVyICc7CiRsYW5nWyd0aXRsZV9vcHRpb25zJ10gPSAnT3B0aW9ucyAnOwokbGFuZ1snc3VibWl0J10gPSAnRW5yZWdpc3RyZXInOwokbGFuZ1snYXBwbHknXSA9ICdBcHBsaXF1ZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWyd1cGRhdGUnXSA9ICdNZXR0cmUgJmFncmF2ZTsgam91cic7CiRsYW5nWydzZW5kJ10gPSAnRW52b3llcic7CiRsYW5nWydyZXN0b3JlJ10gPSAnUmVzdGF1cmVyJzsKJGxhbmdbJ3N0YXR1c190aXRsZSddID0gJ1F1b2kgZGUgbmV1ZiA/JzsKJGxhbmdbJ25vX3R3aXR0ZXJfY3JlZGVudGlhbF9zZXQnXSA9ICdNZXJjaSBkJiMwMzk7YXV0b3Jpc2VyIGwmIzAzOTthY2MmZWdyYXZlO3MgJmFncmF2ZTsgdm90cmUgY29tcHRlIFR3aXR0ZXIgdmlhIGwmIzAzOTtvbmdsZXQgJnF1b3Q7T3B0aW9ucyZxdW90Oy4nOwokbGFuZ1snc2V0X3R3aXR0ZXJfY3JlZGVudGlhbCddID0gJ1ZldWlsbGV6IGVudHJlciB2b3MgaWRlbnRpZmlhbnRzIFR3aXR0ZXIuJzsKJGxhbmdbJ3JlcXVpcmVfY3VybCddID0gJ0NlIG1vZHVsZSByZXF1aWVydCBDdXJsIDxlbT4oPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Jvb2suY3VybC5waHAiIHJlbD0iZXh0ZXJuYWwiPmh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwPC9hPik8L2VtPic7CiRsYW5nWydsb2dpbiddID0gJ0lkZW50aWZpYW50JzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTW90IGRlIHBhc3NlJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdUaW1lb3V0ICc7CiRsYW5nWyd0d2l0dGVyX2NyZWRlbnRpYWxzX25vdF9zZXQnXSA9ICdDZSBtb2R1bGUgbiZlYWN1dGU7Y2Vzc2l0ZSB1biBhY2MmZWdyYXZlO3MgYXV0b3JpcyZlYWN1dGU7IHBhciBUd2l0dGVyLiBNZXJjaSBkZSBjb25zdWx0ZXIgbCYjMDM5O2ludGVyZmFjZSBkJiMwMzk7YWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlLic7CiRsYW5nWydzaWduX3dpdGhfdHdpdHRlciddID0gJ0lkZW50aWZpZXotdm91cyBzdXIgVHdpdHRlcic7CiRsYW5nWyd0d2l0dGVyX3dlbGNvbWUnXSA9ICdCaWVudmVudWUgJXMnOwokbGFuZ1sndW5zaWduX3R3aXR0ZXInXSA9ICdEJmVhY3V0ZTtjb25uZXhpb24gZGUgVHdpdHRlcic7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ05vbSBkdSBnYWJhcml0Jm5ic3A7JzsKJGxhbmdbJ2NvZGUnXSA9ICdDb2RlJm5ic3A7JzsKJGxhbmdbJ3RpdGxlX2FkZF90ZW1wbGF0ZSddID0gJ0Fqb3V0ZXIgdW4gZ2FiYXJpdCc7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAnRW52b3llciB2aWEgVHdpdHRlcic7CiRsYW5nWydmb3JtX3N0YXR1cyddID0gJ1N0YXR1dCc7CiRsYW5nWydzaG9ydGVuJ10gPSAnUmFjY291cmNpciBsZXMgVVJMcyc7CiRsYW5nWydlZGl0VGVtcGxhdGUnXSA9ICdNb2RpZmllciBsZSBnYWJhcml0JzsKJGxhbmdbJ2RlbGV0ZVRlbXBsYXRlJ10gPSAnU3VwcHJpbWVyIGxlIGdhYmFyaXQnOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgPyc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+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+KDxhIGhyZWY9Imh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLmN1cmwucGhwIiByZWw9ImV4dGVybmFsIj5odHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vYm9vay5jdXJsLnBocDwvYT4pPC9lbT4nOwokbGFuZ1snbG9naW4nXSA9ICdMb2dpbiAnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdXYWNodHdvb3JkJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdUaW1lLW91dCc7CiRsYW5nWydwcm94eSddID0gJ0dlbWFjaHRpZ2RlJzsKJGxhbmdbJ3R3aXR0ZXJfdXNlciddID0gJ1R3aXR0ZXIgR2ViYnJ1aWtlcic7CiRsYW5nWyd0d2l0dGVyX3VzZXJfaGVscCddID0gJ0luIGRlIG1lZXN0ZSBnZXZhbGxlbiBob2VmdCB1IGFsbGVlbiBUd2l0dGVyLWdlYnJ1aWtlciB0ZSBoZWJiZW4gKG9tIGRlIHRpamRsaWpuIHRlIHRvbmVuKS4gVm9vciBhbmRlcmUgZ2V2YWxsZW4sIG1vZXQgdSB6aWNoIGFhbm1lbGRlbiBvcCBUd2l0dGVyIChsZXQgb3AgZGF0IGhldCBhbGxlZW4gd2Vya3Qgb3AgZGVkaWNhdGVkIHNlcnZlcnMpLic7CiRsYW5nWyd0d2l0dGVyX2NyZWRlbnRpYWxzX25vdF9zZXQnXSA9ICdEZXplIG1vZHVsZSBoZWVmdCBhdXRob3Jpc2F0aWUgbm9kaWcgdmFuIFR3aXR0ZXIuIENvbnRyb2xlZXIgaGllcnZvb3IgZGUgbW9kdWxlIGFkbWluIHBhZ2luYS4nOwokbGFuZ1snc2lnbl93aXRoX3R3aXR0ZXInXSA9ICdJbmxvZ2dlbiBiaWogVHdpdHRlcic7CiRsYW5nWyd0d2l0dGVyX3dlbGNvbWUnXSA9ICdXZWxrb20gJXMnOwokbGFuZ1sndW5zaWduX3R3aXR0ZXInXSA9ICdVaXRsb2dnZW4gYmlqIFR3aXR0ZXInOwokbGFuZ1sndGl0bGVfdGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1snY29kZSddID0gJ0NvZGUgJzsKJGxhbmdbJ3RpdGxlX2FkZF90ZW1wbGF0ZSddID0gJ1NqYWJsb29uIHRvZXZvZWdlbic7CiRsYW5nWydzZW5kX3ZpYV90d2l0dGVyJ10gPSAnVmVyc3R1dXJkIHZpYSBUd2l0dGVyJzsKJGxhbmdbJ2Zvcm1fc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzaG9ydGVuJ10gPSAnUGFzIGtvcnRlIHVybHMgdG9lJzsKJGxhbmdbJ2VkaXRUZW1wbGF0ZSddID0gJ0Jld2VyayBzamFibG9vbic7CiRsYW5nWydkZWxldGVUZW1wbGF0ZSddID0gJ1ZlcndpamRlciBzamFibG9vbic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnV2VldCB1IGhldCB6ZWtlcj8nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEgLSAyOSBKdW5lIDIwMDkuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS4wLjAgLSAzMCBKdW5lIDIwMTAuIEltcGxlbWVudGF0aW9uIG9mIE9BdXRoLjwvbGk+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+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MzMzOTMzOTMuMTM3OTU4Mjg4Ny4xMzc5NTgyODg3LjEzNzk1ODI4ODcuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNzk1ODI4ODcuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/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+0YLQutC40LUgdXJsXCdzJzsKJGxhbmdbJ2VkaXRUZW1wbGF0ZSddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGI0LDQsdC70L7QvSc7CiRsYW5nWydkZWxldGVUZW1wbGF0ZSddID0gJ9Cj0LTQsNC70LjRgtGMINGI0LDQsdC70L7QvSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riz8nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPtCS0LXRgNGB0LjRjyAwLjAuMSAtIDI5IEp1bmUgMjAwOS4g0J/QtdGA0LLRi9C5INCy0YvQv9GD0YHQui48L2xpPg0KPGxpPtCS0LXRgNGB0LjRjyAxLjAuMCAtIDMwIEp1bmUgMjAxMC4g0JLQvdC10LTRgNC10L3QuNC1IE9BdXRoLjwvbGk+IA0KPC91bD4gJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93IHlvdSB0byBtYW5hZ2UgeW91ciBUd2l0dGVyIGZyb20gQ01TTVMuIEJvdGggc2VuZCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkNvbmZpZ3VyZSB5b3VyIFR3aXR0ZXIgY3JlZGVudGlhbHMgaW4gdGhlIGJhY2tlbmQuIFVzZSB7Y21zX21vZHVsZSBtb2R1bGU9IlR3aXR0ZXIifSBpbiB5b3VyIHBhZ2VzL3RlbXBsYXRlcy48L3A+DQo8cD5Zb3UgY2FuIGFsc28gc2hvdyBUd2l0dGVyIHNlYXJjaCByZXN1bHRzIHVzaW5nIHtjbXNfbW9kdWxlIG1vZHVsZT0iVHdpdHRlciIgYWN0aW9uPSJzZWFyY2giIHF1ZXJ5PSJ5b3VyIHNlYXJjaCAjdGVybXMifS48L3A+DQo8aDM+RXhhbXBsZSBvZiB0aW1lbGluZTwvaDM+DQo8cD5UbyBjcmVhdGUgYSB0ZW1wbGF0ZSwgeW91IGNhbiBmaXJzdCBsb29wIG9uIHskdGltZWxpbmV9LiBUaGVuLCBJIGFkdmlzZSB5b3UgdG8gdXNlIHRoZSB7JHRpbWVsaW5lfHZhcl9kdW1wfSBmdW5jdGlvbiB0byBrbm93IHdoYXQgYXJlIHRoZSBvcHRpb25zIHlvdSBjYW4gdXNlLjwvcD4NCjxwPllvdSBjYW4gYWxzbyBjbGljayBvbiB0aGUgIlJlc3RvcmUiIGJ1dHRvbiB3aG9cJ2xsIGdpdmUgeW91IGEgYmFzaWMgdGVtcGxhdGUuPC9wPg0KPHA+RXhhbXBsZSA6PC9wPg0KPHByZT4NCntmb3JlYWNoIGZyb209JHRpbWVsaW5lIGl0ZW09dHdlZXR9ICANCiAgICA8ZGl2IGlkPSJzdGF0dXNfeyR0d2VldC0+aWR9IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5OyI+DQogICAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyAiPjxpbWcgc3JjPSJ7JHR3ZWV0LT5waWN0dXJlfSIgYWx0PSJ7JHR3ZWV0LT5hdXRob3JfbmFtZX0iIC8+PC9kaXY+DQogICAgICA8cD48c3Ryb25nPnskdHdlZXQtPmF1dGhvcl9uYW1lfTwvc3Ryb25nPiANCiAgICAgIHskdHdlZXQtPmdldFRleHQoKX08L3A+DQogICAgICA8cD57JHR3ZWV0LT5nZXRXaGVuKCl9IGZyb20geyR0d2VldC0+c291cmNlfTwvcD4NCiAgICAgIDxkaXYgc3R5bGU9ImNsZWFyOiByaWdodCI+PC9kaXY+ICANCiAgICA8L2Rpdj4gIA0Key9mb3JlYWNofQ0KPC9wcmU+DQo8aDQ+VHdlZXQgYnV0dG9uPC9oND4NCjxwPlRvIGluc2VydCB0aGUgVHdlZXQgYnV0dG9uIGluIHlvdXIgYXJ0aWNsZXMgb3IgcGFnZXMsIGp1c3QgdXNlIHtUd2l0dGVyIGFjdGlvbj0idHdlZXQifS4gWW91IGNhbiBhbHNvIGFkZCB0aGUgcGFyYW0gInZpYSIgd2l0aCBhIGRlc2lyZWQgVHdpdHRlciBzY3JlZW5uYW1lLjwvcD4NCjxoND5JbnRlZ3JhdGUgVHdpdHRlciBpbiB5b3VyIG93biBtb2R1bGVzPC9oND4NCjxwPllvdSBjYW4gZ2V0IGEgc21hbGwgVHdpdHRlciBpY29uIGFuZCBsaW5rIHVzaW5nIHRoZSBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1tcJ1R3aXR0ZXJcJ11bXCdvYmplY3RcJ10tPmNyZWF0ZVNlbmRMaW5rKCRpZCwkcmV0dXJuaWQsYXJyYXkoXCdzdGF0dXNcJyA9PiAkc3RhdHVzKSk7PC9wPg0KPHA+WW91IGNhbiBhbHNvIGNhbGwgdGhlIHB1YmxpYyBmdW5jdGlvbiAkZ0Ntcy0+bW9kdWxlc1tcJ1R3aXR0ZXJcJ11bXCdvYmplY3RcJ10tPnVwZGF0ZVN0YXR1cyhzdHJpbmcgJG1lc3NhZ2UsIGJvb2xlYW4gJHNob3J0ZW4pICh3aXRoIGEgMTQwIG1heCBtZXNzYWdlLikgdG8gc2VuZCBtZXNzYWdlIHRvIFR3aXR0ZXIuPC9wPg0KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgcHVibGljIGZ1bmN0aW9uICRnQ21zLT5tb2R1bGVzW1wnVHdpdHRlclwnXVtcJ29iamVjdFwnXS0+c2hvcnRlblVybHMoJG1lc3NhZ2UpIHRvIG9ubHkgc2hvcnRlbiB0aGUgdXJscyBjb250YWluZWQgaW50byB0aGUgbWVzc2FnZS48L3A+DQo8cD4NCjxoMz5XaGF0IFBhcmFtZXRlcnMgRG9lcyBJdCBUYWtlPC9oMz4NCjxwPg0KPHVsPg0KICA8bGk+PGI+bGltaXQ8L2I+IC0gSWYgeW91IHNldCB0aGF0LCBpdCB3aWxsIGxpbWl0IHRoZSBudW1iZXIgb2YgbGF0ZXN0IHR3aXR0ZXIgdXBkYXRlcyB0byB0aGlzIHZhbHVlLjwvbGk+DQogIDxsaT48Yj50ZW1wbGF0ZTwvYj4gLSBTZWxlY3QgYSBjdXN0b20gdGVtcGxhdGUgc2V0IGluIHRoZSBhZG1pbiBwYW5uZWwuPC9saT4NCiAgPGxpPjxiPnVzZXJfaWQ8L2I+IC0gU3BlY2lmeSBhbiB1c2VyIGlkPC9saT4NCiAgPGxpPjxiPnNjcmVlbl9uYW1lPC9iPiAtIFNwZWNpZnkgYW4gdXNlciBzY3JlZW4gbmFtZTwvbGk+DQogPC91bD4NCiA8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwOSwgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxhIGhyZWY9Im1haWx0bzpqY2NAbW9ycmlzLWNoYXBtYW4uY29tIj48amNjQG1vcnJpcy1jaGFwbWFuLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTM1NTk1MTc2OCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjU2NjcyNjI5NC4xMzU1NzM1OTQ2LjEzNTU5NDc4ODIuMTM1NTk1MTc2OC4xMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM1NTk0Nzg4Mi4xMC4yLnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwo/Pg==]]></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/class.OAuthConsumer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKioKICAgICAqIEEgY2xhc3MgZm9yIGltcGxlbWVudGluZyBhIFNpZ25hdHVyZSBNZXRob2QKICAgICAqIFNlZSBzZWN0aW9uIDkgKCJTaWduaW5nIFJlcXVlc3RzIikgaW4gdGhlIHNwZWMKICAgICAqLwoKICAgIGNsYXNzIE9BdXRoQ29uc3VtZXIKICAgIHsKICAgICAgICBwdWJsaWMgJGtleTsKICAgICAgICBwdWJsaWMgJHNlY3JldDsKCiAgICAgICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGtleSwgJHNlY3JldCwgJGNhbGxiYWNrX3VybCA9IE5VTEwpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+a2V5ICAgICAgICAgID0gJGtleTsKICAgICAgICAgICAgJHRoaXMtPnNlY3JldCAgICAgICA9ICRzZWNyZXQ7CiAgICAgICAgICAgICR0aGlzLT5jYWxsYmFja191cmwgPSAkY2FsbGJhY2tfdXJsOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gIk9BdXRoQ29uc3VtZXJba2V5PSR0aGlzLT5rZXksc2VjcmV0PSR0aGlzLT5zZWNyZXRdIjsKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthDataStore.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICBjbGFzcyBPQXV0aERhdGFTdG9yZQogICAgewogICAgICAgIGZ1bmN0aW9uIGxvb2t1cF9jb25zdW1lcigkY29uc3VtZXJfa2V5KQogICAgICAgIHsKICAgICAgICAgICAgLy8gaW1wbGVtZW50IG1lCiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBsb29rdXBfdG9rZW4oJGNvbnN1bWVyLCAkdG9rZW5fdHlwZSwgJHRva2VuKQogICAgICAgIHsKICAgICAgICAgICAgLy8gaW1wbGVtZW50IG1lCiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBsb29rdXBfbm9uY2UoJGNvbnN1bWVyLCAkdG9rZW4sICRub25jZSwgJHRpbWVzdGFtcCkKICAgICAgICB7CiAgICAgICAgICAgIC8vIGltcGxlbWVudCBtZQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbmV3X3JlcXVlc3RfdG9rZW4oJGNvbnN1bWVyLCAkY2FsbGJhY2sgPSBOVUxMKQogICAgICAgIHsKICAgICAgICAgICAgLy8gcmV0dXJuIGEgbmV3IHRva2VuIGF0dGFjaGVkIHRvIHRoaXMgY29uc3VtZXIKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG5ld19hY2Nlc3NfdG9rZW4oJHRva2VuLCAkY29uc3VtZXIsICR2ZXJpZmllciA9IE5VTEwpCiAgICAgICAgewogICAgICAgICAgICAvLyByZXR1cm4gYSBuZXcgYWNjZXNzIHRva2VuIGF0dGFjaGVkIHRvIHRoaXMgY29uc3VtZXIKICAgICAgICAgICAgLy8gZm9yIHRoZSB1c2VyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRva2VuIGlmIHRoZSByZXF1ZXN0IHRva2VuCiAgICAgICAgICAgIC8vIGlzIGF1dGhvcml6ZWQKICAgICAgICAgICAgLy8gc2hvdWxkIGFsc28gaW52YWxpZGF0ZSB0aGUgcmVxdWVzdCB0b2tlbgogICAgICAgIH0KCiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICBjbGFzcyBPQXV0aFJlcXVlc3QKICAgIHsKICAgICAgICBwcml2YXRlICRwYXJhbWV0ZXJzOwogICAgICAgIHByaXZhdGUgJGh0dHBfbWV0aG9kOwogICAgICAgIHByaXZhdGUgJGh0dHBfdXJsOwogICAgICAgIC8vIGZvciBkZWJ1ZyBwdXJwb3NlcwogICAgICAgIHB1YmxpYyAkYmFzZV9zdHJpbmc7CiAgICAgICAgcHVibGljIHN0YXRpYyAkdmVyc2lvbiA9ICcxLjAnOwogICAgICAgIHB1YmxpYyBzdGF0aWMgJFBPU1RfSU5QVVQgPSAncGhwOi8vaW5wdXQnOwoKICAgICAgICBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaHR0cF9tZXRob2QsICRodHRwX3VybCwgJHBhcmFtZXRlcnMgPSBOVUxMKQogICAgICAgIHsKICAgICAgICAgICAgQCRwYXJhbWV0ZXJzIG9yICRwYXJhbWV0ZXJzID0gYXJyYXkoKTsKICAgICAgICAgICAgJHBhcmFtZXRlcnMgICAgICAgID0gYXJyYXlfbWVyZ2UoT0F1dGhVdGlsOjpwYXJzZV9wYXJhbWV0ZXJzKHBhcnNlX3VybCgkaHR0cF91cmwsIFBIUF9VUkxfUVVFUlkpKSwgJHBhcmFtZXRlcnMpOwogICAgICAgICAgICAkdGhpcy0+cGFyYW1ldGVycyAgPSAkcGFyYW1ldGVyczsKICAgICAgICAgICAgJHRoaXMtPmh0dHBfbWV0aG9kID0gJGh0dHBfbWV0aG9kOwogICAgICAgICAgICAkdGhpcy0+aHR0cF91cmwgICAgPSAkaHR0cF91cmw7CiAgICAgICAgfQoKCiAgICAgICAgLyoqCiAgICAgICAgICogYXR0ZW1wdCB0byBidWlsZCB1cCBhIHJlcXVlc3QgZnJvbSB3aGF0IHdhcyBwYXNzZWQgdG8gdGhlIHNlcnZlcgogICAgICAgICAqLwogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbV9yZXF1ZXN0KCRodHRwX21ldGhvZCA9IE5VTEwsICRodHRwX3VybCA9IE5VTEwsICRwYXJhbWV0ZXJzID0gTlVMTCkKICAgICAgICB7CiAgICAgICAgICAgICRzY2hlbWUgPSAoIWlzc2V0KCRfU0VSVkVSWydIVFRQUyddKSB8fCAkX1NFUlZFUlsnSFRUUFMnXSAhPSAib24iKQogICAgICAgICAgICAgICAgPyAnaHR0cCcKICAgICAgICAgICAgICAgIDogJ2h0dHBzJzsKICAgICAgICAgICAgQCRodHRwX3VybCBvciAkaHR0cF91cmwgPSAkc2NoZW1lIC4KICAgICAgICAgICAgICAgICAgICAnOi8vJyAuICRfU0VSVkVSWydIVFRQX0hPU1QnXSAuCiAgICAgICAgICAgICAgICAgICAgJzonIC4KICAgICAgICAgICAgICAgICAgICAkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSAuCiAgICAgICAgICAgICAgICAgICAgJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107CiAgICAgICAgICAgIEAkaHR0cF9tZXRob2Qgb3IgJGh0dHBfbWV0aG9kID0gJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ107CgogICAgICAgICAgICAvLyBXZSB3ZXJlbid0IGhhbmRlZCBhbnkgcGFyYW1ldGVycywgc28gbGV0J3MgZmluZCB0aGUgb25lcyByZWxldmFudCB0bwogICAgICAgICAgICAvLyB0aGlzIHJlcXVlc3QuCiAgICAgICAgICAgIC8vIElmIHlvdSBydW4gWE1MLVJQQyBvciBzaW1pbGFyIHlvdSBzaG91bGQgdXNlIHRoaXMgdG8gcHJvdmlkZSB5b3VyIG93bgogICAgICAgICAgICAvLyBwYXJzZWQgcGFyYW1ldGVyLWxpc3QKICAgICAgICAgICAgaWYgKCEkcGFyYW1ldGVycykgewogICAgICAgICAgICAgICAgLy8gRmluZCByZXF1ZXN0IGhlYWRlcnMKICAgICAgICAgICAgICAgICRyZXF1ZXN0X2hlYWRlcnMgPSBPQXV0aFV0aWw6OmdldF9oZWFkZXJzKCk7CgogICAgICAgICAgICAgICAgLy8gUGFyc2UgdGhlIHF1ZXJ5LXN0cmluZyB0byBmaW5kIEdFVCBwYXJhbWV0ZXJzCiAgICAgICAgICAgICAgICAkcGFyYW1ldGVycyA9IE9BdXRoVXRpbDo6cGFyc2VfcGFyYW1ldGVycygkX1NFUlZFUlsnUVVFUllfU1RSSU5HJ10pOwoKICAgICAgICAgICAgICAgIC8vIEl0J3MgYSBQT1NUIHJlcXVlc3Qgb2YgdGhlIHByb3BlciBjb250ZW50LXR5cGUsIHNvIHBhcnNlIFBPU1QKICAgICAgICAgICAgICAgIC8vIHBhcmFtZXRlcnMgYW5kIGFkZCB0aG9zZSBvdmVycmlkaW5nIGFueSBkdXBsaWNhdGVzIGZyb20gR0VUCiAgICAgICAgICAgICAgICBpZiAoJGh0dHBfbWV0aG9kID09ICJQT1NUIgogICAgICAgICAgICAgICAgICAgICYmIEBzdHJzdHIoJHJlcXVlc3RfaGVhZGVyc1siQ29udGVudC1UeXBlIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKQogICAgICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAgICAgJHBvc3RfZGF0YSAgPSBPQXV0aFV0aWw6OnBhcnNlX3BhcmFtZXRlcnMoCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfZ2V0X2NvbnRlbnRzKHNlbGY6OiRQT1NUX0lOUFVUKQogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgJHBhcmFtZXRlcnMgPSBhcnJheV9tZXJnZSgkcGFyYW1ldGVycywgJHBvc3RfZGF0YSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBhIEF1dGhvcml6YXRpb24taGVhZGVyIHdpdGggT0F1dGggZGF0YS4gUGFyc2UgdGhlIGhlYWRlcgogICAgICAgICAgICAgICAgLy8gYW5kIGFkZCB0aG9zZSBvdmVycmlkaW5nIGFueSBkdXBsaWNhdGVzIGZyb20gR0VUIG9yIFBPU1QKICAgICAgICAgICAgICAgIGlmIChAc3Vic3RyKCRyZXF1ZXN0X2hlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSwgMCwgNikgPT0gIk9BdXRoICIpIHsKICAgICAgICAgICAgICAgICAgICAkaGVhZGVyX3BhcmFtZXRlcnMgPSBPQXV0aFV0aWw6OnNwbGl0X2hlYWRlcigKICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfaGVhZGVyc1snQXV0aG9yaXphdGlvbiddCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAkcGFyYW1ldGVycyAgICAgICAgPSBhcnJheV9tZXJnZSgkcGFyYW1ldGVycywgJGhlYWRlcl9wYXJhbWV0ZXJzKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBuZXcgT0F1dGhSZXF1ZXN0KCRodHRwX21ldGhvZCwgJGh0dHBfdXJsLCAkcGFyYW1ldGVycyk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBwcmV0dHkgbXVjaCBhIGhlbHBlciBmdW5jdGlvbiB0byBzZXQgdXAgdGhlIHJlcXVlc3QKICAgICAgICAgKi8KICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZyb21fY29uc3VtZXJfYW5kX3Rva2VuKCRjb25zdW1lciwgJHRva2VuLCAkaHR0cF9tZXRob2QsICRodHRwX3VybCwgJHBhcmFtZXRlcnMgPSBOVUxMKQogICAgICAgIHsKICAgICAgICAgICAgQCRwYXJhbWV0ZXJzIG9yICRwYXJhbWV0ZXJzID0gYXJyYXkoKTsKICAgICAgICAgICAgJGRlZmF1bHRzID0gYXJyYXkoIm9hdXRoX3ZlcnNpb24iICAgICAgPT4gT0F1dGhSZXF1ZXN0OjokdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9hdXRoX25vbmNlIiAgICAgICAgPT4gT0F1dGhSZXF1ZXN0OjpnZW5lcmF0ZV9ub25jZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2F1dGhfdGltZXN0YW1wIiAgICA9PiBPQXV0aFJlcXVlc3Q6OmdlbmVyYXRlX3RpbWVzdGFtcCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2F1dGhfY29uc3VtZXJfa2V5IiA9PiAkY29uc3VtZXItPmtleSk7CiAgICAgICAgICAgIGlmICgkdG9rZW4pCiAgICAgICAgICAgICAgICAkZGVmYXVsdHNbJ29hdXRoX3Rva2VuJ10gPSAkdG9rZW4tPmtleTsKCiAgICAgICAgICAgICRwYXJhbWV0ZXJzID0gYXJyYXlfbWVyZ2UoJGRlZmF1bHRzLCAkcGFyYW1ldGVycyk7CgogICAgICAgICAgICByZXR1cm4gbmV3IE9BdXRoUmVxdWVzdCgkaHR0cF9tZXRob2QsICRodHRwX3VybCwgJHBhcmFtZXRlcnMpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNldF9wYXJhbWV0ZXIoJG5hbWUsICR2YWx1ZSwgJGFsbG93X2R1cGxpY2F0ZXMgPSB0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCRhbGxvd19kdXBsaWNhdGVzICYmIGlzc2V0KCR0aGlzLT5wYXJhbWV0ZXJzWyRuYW1lXSkpIHsKICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBhZGRlZCBwYXJhbWV0ZXIocykgd2l0aCB0aGlzIG5hbWUsIHNvIGFkZCB0byB0aGUgbGlzdAogICAgICAgICAgICAgICAgaWYgKGlzX3NjYWxhcigkdGhpcy0+cGFyYW1ldGVyc1skbmFtZV0pKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgZHVwbGljYXRlLCBzbyB0cmFuc2Zvcm0gc2NhbGFyIChzdHJpbmcpCiAgICAgICAgICAgICAgICAgICAgLy8gaW50byBhbiBhcnJheSBzbyB3ZSBjYW4gYWRkIHRoZSBkdXBsaWNhdGVzCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnBhcmFtZXRlcnNbJG5hbWVdID0gYXJyYXkoJHRoaXMtPnBhcmFtZXRlcnNbJG5hbWVdKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkdGhpcy0+cGFyYW1ldGVyc1skbmFtZV1bXSA9ICR2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aGlzLT5wYXJhbWV0ZXJzWyRuYW1lXSA9ICR2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdldF9wYXJhbWV0ZXIoJG5hbWUpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPnBhcmFtZXRlcnNbJG5hbWVdKSA/ICR0aGlzLT5wYXJhbWV0ZXJzWyRuYW1lXSA6IE5VTEw7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BhcmFtZXRlcnMoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5wYXJhbWV0ZXJzOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHVuc2V0X3BhcmFtZXRlcigkbmFtZSkKICAgICAgICB7CiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5wYXJhbWV0ZXJzWyRuYW1lXSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBUaGUgcmVxdWVzdCBwYXJhbWV0ZXJzLCBzb3J0ZWQgYW5kIGNvbmNhdGVuYXRlZCBpbnRvIGEgbm9ybWFsaXplZCBzdHJpbmcuCiAgICAgICAgICogQHJldHVybiBzdHJpbmcKICAgICAgICAgKi8KICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NpZ25hYmxlX3BhcmFtZXRlcnMoKQogICAgICAgIHsKICAgICAgICAgICAgLy8gR3JhYiBhbGwgcGFyYW1ldGVycwogICAgICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnBhcmFtZXRlcnM7CgogICAgICAgICAgICAvLyBSZW1vdmUgb2F1dGhfc2lnbmF0dXJlIGlmIHByZXNlbnQKICAgICAgICAgICAgLy8gUmVmOiBTcGVjOiA5LjEuMSAoIlRoZSBvYXV0aF9zaWduYXR1cmUgcGFyYW1ldGVyIE1VU1QgYmUgZXhjbHVkZWQuIikKICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ29hdXRoX3NpZ25hdHVyZSddKSkgewogICAgICAgICAgICAgICAgdW5zZXQoJHBhcmFtc1snb2F1dGhfc2lnbmF0dXJlJ10pOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gT0F1dGhVdGlsOjpidWlsZF9odHRwX3F1ZXJ5KCRwYXJhbXMpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogUmV0dXJucyB0aGUgYmFzZSBzdHJpbmcgb2YgdGhpcyByZXF1ZXN0CiAgICAgICAgICoKICAgICAgICAgKiBUaGUgYmFzZSBzdHJpbmcgZGVmaW5lZCBhcyB0aGUgbWV0aG9kLCB0aGUgdXJsCiAgICAgICAgICogYW5kIHRoZSBwYXJhbWV0ZXJzIChub3JtYWxpemVkKSwgZWFjaCB1cmxlbmNvZGVkCiAgICAgICAgICogYW5kIHRoZSBjb25jYXRlZCB3aXRoICYuCiAgICAgICAgICovCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdldF9zaWduYXR1cmVfYmFzZV9zdHJpbmcoKQogICAgICAgIHsKICAgICAgICAgICAgJHBhcnRzID0gYXJyYXkoCiAgICAgICAgICAgICAgICAkdGhpcy0+Z2V0X25vcm1hbGl6ZWRfaHR0cF9tZXRob2QoKSwKICAgICAgICAgICAgICAgICR0aGlzLT5nZXRfbm9ybWFsaXplZF9odHRwX3VybCgpLAogICAgICAgICAgICAgICAgJHRoaXMtPmdldF9zaWduYWJsZV9wYXJhbWV0ZXJzKCkKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRwYXJ0cyA9IE9BdXRoVXRpbDo6dXJsZW5jb2RlX3JmYzM5ODYoJHBhcnRzKTsKCiAgICAgICAgICAgIHJldHVybiBpbXBsb2RlKCcmJywgJHBhcnRzKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIGp1c3QgdXBwZXJjYXNlcyB0aGUgaHR0cCBtZXRob2QKICAgICAgICAgKi8KICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25vcm1hbGl6ZWRfaHR0cF9tZXRob2QoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHN0cnRvdXBwZXIoJHRoaXMtPmh0dHBfbWV0aG9kKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIHBhcnNlcyB0aGUgdXJsIGFuZCByZWJ1aWxkcyBpdCB0byBiZQogICAgICAgICAqIHNjaGVtZTovL2hvc3QvcGF0aAogICAgICAgICAqLwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbm9ybWFsaXplZF9odHRwX3VybCgpCiAgICAgICAgewogICAgICAgICAgICAkcGFydHMgPSBwYXJzZV91cmwoJHRoaXMtPmh0dHBfdXJsKTsKCiAgICAgICAgICAgICRwb3J0ICAgPSBAJHBhcnRzWydwb3J0J107CiAgICAgICAgICAgICRzY2hlbWUgPSAkcGFydHNbJ3NjaGVtZSddOwogICAgICAgICAgICAkaG9zdCAgID0gJHBhcnRzWydob3N0J107CiAgICAgICAgICAgICRwYXRoICAgPSBAJHBhcnRzWydwYXRoJ107CgogICAgICAgICAgICAkcG9ydCBvciAkcG9ydCA9ICgkc2NoZW1lID09ICdodHRwcycpID8gJzQ0MycgOiAnODAnOwoKICAgICAgICAgICAgaWYgKCgkc2NoZW1lID09ICdodHRwcycgJiYgJHBvcnQgIT0gJzQ0MycpCiAgICAgICAgICAgICAgICB8fCAoJHNjaGVtZSA9PSAnaHR0cCcgJiYgJHBvcnQgIT0gJzgwJykKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAkaG9zdCA9ICIkaG9zdDokcG9ydCI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAiJHNjaGVtZTovLyRob3N0JHBhdGgiOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogYnVpbGRzIGEgdXJsIHVzYWJsZSBmb3IgYSBHRVQgcmVxdWVzdAogICAgICAgICAqLwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiB0b191cmwoKQogICAgICAgIHsKICAgICAgICAgICAgJHBvc3RfZGF0YSA9ICR0aGlzLT50b19wb3N0ZGF0YSgpOwogICAgICAgICAgICAkb3V0ICAgICAgID0gJHRoaXMtPmdldF9ub3JtYWxpemVkX2h0dHBfdXJsKCk7CiAgICAgICAgICAgIGlmICgkcG9zdF9kYXRhKSB7CiAgICAgICAgICAgICAgICAkb3V0IC49ICc/JyAuICRwb3N0X2RhdGE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogYnVpbGRzIHRoZSBkYXRhIG9uZSB3b3VsZCBzZW5kIGluIGEgUE9TVCByZXF1ZXN0CiAgICAgICAgICovCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHRvX3Bvc3RkYXRhKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBPQXV0aFV0aWw6OmJ1aWxkX2h0dHBfcXVlcnkoJHRoaXMtPnBhcmFtZXRlcnMpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogYnVpbGRzIHRoZSBBdXRob3JpemF0aW9uOiBoZWFkZXIKICAgICAgICAgKi8KICAgICAgICBwdWJsaWMgZnVuY3Rpb24gdG9faGVhZGVyKCRyZWFsbSA9IE5VTEwpCiAgICAgICAgewogICAgICAgICAgICAkZmlyc3QgPSB0cnVlOwogICAgICAgICAgICBpZiAoJHJlYWxtKSB7CiAgICAgICAgICAgICAgICAkb3V0ICAgPSAnQXV0aG9yaXphdGlvbjogT0F1dGggcmVhbG09IicgLiBPQXV0aFV0aWw6OnVybGVuY29kZV9yZmMzOTg2KCRyZWFsbSkgLiAnIic7CiAgICAgICAgICAgICAgICAkZmlyc3QgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAkb3V0ID0gJ0F1dGhvcml6YXRpb246IE9BdXRoJzsKCiAgICAgICAgICAgICR0b3RhbCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5wYXJhbWV0ZXJzIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCRrLCAwLCA1KSAhPSAib2F1dGgiKSBjb250aW51ZTsKICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkdikpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT0F1dGhFeGNlcHRpb24oJ0FycmF5cyBub3Qgc3VwcG9ydGVkIGluIGhlYWRlcnMnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRvdXQgLj0gKCRmaXJzdCkgPyAnICcgOiAnLCc7CiAgICAgICAgICAgICAgICAkb3V0IC49IE9BdXRoVXRpbDo6dXJsZW5jb2RlX3JmYzM5ODYoJGspIC4KICAgICAgICAgICAgICAgICAgICAnPSInIC4KICAgICAgICAgICAgICAgICAgICBPQXV0aFV0aWw6OnVybGVuY29kZV9yZmMzOTg2KCR2KSAuCiAgICAgICAgICAgICAgICAgICAgJyInOwogICAgICAgICAgICAgICAgJGZpcnN0ID0gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT50b191cmwoKTsKICAgICAgICB9CgoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gc2lnbl9yZXF1ZXN0KCRzaWduYXR1cmVfbWV0aG9kLCAkY29uc3VtZXIsICR0b2tlbikKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zZXRfcGFyYW1ldGVyKAogICAgICAgICAgICAgICAgIm9hdXRoX3NpZ25hdHVyZV9tZXRob2QiLAogICAgICAgICAgICAgICAgJHNpZ25hdHVyZV9tZXRob2QtPmdldF9uYW1lKCksCiAgICAgICAgICAgICAgICBmYWxzZQogICAgICAgICAgICApOwogICAgICAgICAgICAkc2lnbmF0dXJlID0gJHRoaXMtPmJ1aWxkX3NpZ25hdHVyZSgkc2lnbmF0dXJlX21ldGhvZCwgJGNvbnN1bWVyLCAkdG9rZW4pOwogICAgICAgICAgICAkdGhpcy0+c2V0X3BhcmFtZXRlcigib2F1dGhfc2lnbmF0dXJlIiwgJHNpZ25hdHVyZSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkX3NpZ25hdHVyZSgkc2lnbmF0dXJlX21ldGhvZCwgJGNvbnN1bWVyLCAkdG9rZW4pCiAgICAgICAgewogICAgICAgICAgICAkc2lnbmF0dXJlID0gJHNpZ25hdHVyZV9tZXRob2QtPmJ1aWxkX3NpZ25hdHVyZSgkdGhpcywgJGNvbnN1bWVyLCAkdG9rZW4pOwoKICAgICAgICAgICAgcmV0dXJuICRzaWduYXR1cmU7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiB1dGlsIGZ1bmN0aW9uOiBjdXJyZW50IHRpbWVzdGFtcAogICAgICAgICAqLwogICAgICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlX3RpbWVzdGFtcCgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gdGltZSgpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogdXRpbCBmdW5jdGlvbjogY3VycmVudCBub25jZQogICAgICAgICAqLwogICAgICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlX25vbmNlKCkKICAgICAgICB7CiAgICAgICAgICAgICRtdCAgID0gbWljcm90aW1lKCk7CiAgICAgICAgICAgICRyYW5kID0gbXRfcmFuZCgpOwoKICAgICAgICAgICAgcmV0dXJuIG1kNSgkbXQgLiAkcmFuZCk7IC8vIG1kNXMgbG9vayBuaWNlciB0aGFuIG51bWJlcnMKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthServer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICBjbGFzcyBPQXV0aFNlcnZlcgogICAgewogICAgICAgIHByb3RlY3RlZCAkdGltZXN0YW1wX3RocmVzaG9sZCA9IDMwMDsgLy8gaW4gc2Vjb25kcywgZml2ZSBtaW51dGVzCiAgICAgICAgcHJvdGVjdGVkICR2ZXJzaW9uID0gJzEuMCc7IC8vIGhpIGJsYWluZQogICAgICAgIHByb3RlY3RlZCAkc2lnbmF0dXJlX21ldGhvZHMgPSBhcnJheSgpOwoKICAgICAgICBwcm90ZWN0ZWQgJGRhdGFfc3RvcmU7CgogICAgICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkYXRhX3N0b3JlKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPmRhdGFfc3RvcmUgPSAkZGF0YV9zdG9yZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfc2lnbmF0dXJlX21ldGhvZCgkc2lnbmF0dXJlX21ldGhvZCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zaWduYXR1cmVfbWV0aG9kc1skc2lnbmF0dXJlX21ldGhvZC0+Z2V0X25hbWUoKV0gPQogICAgICAgICAgICAgICAgJHNpZ25hdHVyZV9tZXRob2Q7CiAgICAgICAgfQoKICAgICAgICAvLyBoaWdoIGxldmVsIGZ1bmN0aW9ucwoKICAgICAgICAvKioKICAgICAgICAgKiBwcm9jZXNzIGEgcmVxdWVzdF90b2tlbiByZXF1ZXN0CiAgICAgICAgICogcmV0dXJucyB0aGUgcmVxdWVzdCB0b2tlbiBvbiBzdWNjZXNzCiAgICAgICAgICovCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGZldGNoX3JlcXVlc3RfdG9rZW4oJiRyZXF1ZXN0KQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPmdldF92ZXJzaW9uKCRyZXF1ZXN0KTsKCiAgICAgICAgICAgICRjb25zdW1lciA9ICR0aGlzLT5nZXRfY29uc3VtZXIoJHJlcXVlc3QpOwoKICAgICAgICAgICAgLy8gbm8gdG9rZW4gcmVxdWlyZWQgZm9yIHRoZSBpbml0aWFsIHRva2VuIHJlcXVlc3QKICAgICAgICAgICAgJHRva2VuID0gTlVMTDsKCiAgICAgICAgICAgICR0aGlzLT5jaGVja19zaWduYXR1cmUoJHJlcXVlc3QsICRjb25zdW1lciwgJHRva2VuKTsKCiAgICAgICAgICAgIC8vIFJldiBBIGNoYW5nZQogICAgICAgICAgICAkY2FsbGJhY2sgID0gJHJlcXVlc3QtPmdldF9wYXJhbWV0ZXIoJ29hdXRoX2NhbGxiYWNrJyk7CiAgICAgICAgICAgICRuZXdfdG9rZW4gPSAkdGhpcy0+ZGF0YV9zdG9yZS0+bmV3X3JlcXVlc3RfdG9rZW4oJGNvbnN1bWVyLCAkY2FsbGJhY2spOwoKICAgICAgICAgICAgcmV0dXJuICRuZXdfdG9rZW47CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBwcm9jZXNzIGFuIGFjY2Vzc190b2tlbiByZXF1ZXN0CiAgICAgICAgICogcmV0dXJucyB0aGUgYWNjZXNzIHRva2VuIG9uIHN1Y2Nlc3MKICAgICAgICAgKi8KICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZmV0Y2hfYWNjZXNzX3Rva2VuKCYkcmVxdWVzdCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5nZXRfdmVyc2lvbigkcmVxdWVzdCk7CgogICAgICAgICAgICAkY29uc3VtZXIgPSAkdGhpcy0+Z2V0X2NvbnN1bWVyKCRyZXF1ZXN0KTsKCiAgICAgICAgICAgIC8vIHJlcXVpcmVzIGF1dGhvcml6ZWQgcmVxdWVzdCB0b2tlbgogICAgICAgICAgICAkdG9rZW4gPSAkdGhpcy0+Z2V0X3Rva2VuKCRyZXF1ZXN0LCAkY29uc3VtZXIsICJyZXF1ZXN0Iik7CgogICAgICAgICAgICAkdGhpcy0+Y2hlY2tfc2lnbmF0dXJlKCRyZXF1ZXN0LCAkY29uc3VtZXIsICR0b2tlbik7CgogICAgICAgICAgICAvLyBSZXYgQSBjaGFuZ2UKICAgICAgICAgICAgJHZlcmlmaWVyICA9ICRyZXF1ZXN0LT5nZXRfcGFyYW1ldGVyKCdvYXV0aF92ZXJpZmllcicpOwogICAgICAgICAgICAkbmV3X3Rva2VuID0gJHRoaXMtPmRhdGFfc3RvcmUtPm5ld19hY2Nlc3NfdG9rZW4oJHRva2VuLCAkY29uc3VtZXIsICR2ZXJpZmllcik7CgogICAgICAgICAgICByZXR1cm4gJG5ld190b2tlbjsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIHZlcmlmeSBhbiBhcGkgY2FsbCwgY2hlY2tzIGFsbCB0aGUgcGFyYW1ldGVycwogICAgICAgICAqLwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiB2ZXJpZnlfcmVxdWVzdCgmJHJlcXVlc3QpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+Z2V0X3ZlcnNpb24oJHJlcXVlc3QpOwogICAgICAgICAgICAkY29uc3VtZXIgPSAkdGhpcy0+Z2V0X2NvbnN1bWVyKCRyZXF1ZXN0KTsKICAgICAgICAgICAgJHRva2VuICAgID0gJHRoaXMtPmdldF90b2tlbigkcmVxdWVzdCwgJGNvbnN1bWVyLCAiYWNjZXNzIik7CiAgICAgICAgICAgICR0aGlzLT5jaGVja19zaWduYXR1cmUoJHJlcXVlc3QsICRjb25zdW1lciwgJHRva2VuKTsKCiAgICAgICAgICAgIHJldHVybiBhcnJheSgkY29uc3VtZXIsICR0b2tlbik7CiAgICAgICAgfQoKICAgICAgICAvLyBJbnRlcm5hbHMgZnJvbSBoZXJlCiAgICAgICAgLyoqCiAgICAgICAgICogdmVyc2lvbiAxCiAgICAgICAgICovCiAgICAgICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfdmVyc2lvbigmJHJlcXVlc3QpCiAgICAgICAgewogICAgICAgICAgICAkdmVyc2lvbiA9ICRyZXF1ZXN0LT5nZXRfcGFyYW1ldGVyKCJvYXV0aF92ZXJzaW9uIik7CiAgICAgICAgICAgIGlmICghJHZlcnNpb24pIHsKICAgICAgICAgICAgICAgIC8vIFNlcnZpY2UgUHJvdmlkZXJzIE1VU1QgYXNzdW1lIHRoZSBwcm90b2NvbCB2ZXJzaW9uIHRvIGJlIDEuMCBpZiB0aGlzIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudC4KICAgICAgICAgICAgICAgIC8vIENoYXB0ZXIgNy4wICgiQWNjZXNzaW5nIFByb3RlY3RlZCBSZXNzb3VyY2VzIikKICAgICAgICAgICAgICAgICR2ZXJzaW9uID0gJzEuMCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCR2ZXJzaW9uICE9PSAkdGhpcy0+dmVyc2lvbikgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IE9BdXRoRXhjZXB0aW9uKCJPQXV0aCB2ZXJzaW9uICckdmVyc2lvbicgbm90IHN1cHBvcnRlZCIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHZlcnNpb247CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBmaWd1cmUgb3V0IHRoZSBzaWduYXR1cmUgd2l0aCBzb21lIGRlZmF1bHRzCiAgICAgICAgICovCiAgICAgICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfc2lnbmF0dXJlX21ldGhvZCgmJHJlcXVlc3QpCiAgICAgICAgewogICAgICAgICAgICAkc2lnbmF0dXJlX21ldGhvZCA9CiAgICAgICAgICAgICAgICBAJHJlcXVlc3QtPmdldF9wYXJhbWV0ZXIoIm9hdXRoX3NpZ25hdHVyZV9tZXRob2QiKTsKCiAgICAgICAgICAgIGlmICghJHNpZ25hdHVyZV9tZXRob2QpIHsKICAgICAgICAgICAgICAgIC8vIEFjY29yZGluZyB0byBjaGFwdGVyIDcgKCJBY2Nlc3NpbmcgUHJvdGVjdGVkIFJlc3NvdXJjZXMiKSB0aGUgc2lnbmF0dXJlLW1ldGhvZAogICAgICAgICAgICAgICAgLy8gcGFyYW1ldGVyIGlzIHJlcXVpcmVkLCBhbmQgd2UgY2FuJ3QganVzdCBmYWxsYmFjayB0byBQTEFJTlRFWFQKICAgICAgICAgICAgICAgIHRocm93IG5ldyBPQXV0aEV4Y2VwdGlvbignTm8gc2lnbmF0dXJlIG1ldGhvZCBwYXJhbWV0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICghaW5fYXJyYXkoJHNpZ25hdHVyZV9tZXRob2QsCiAgICAgICAgICAgICAgICBhcnJheV9rZXlzKCR0aGlzLT5zaWduYXR1cmVfbWV0aG9kcykpCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IE9BdXRoRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICJTaWduYXR1cmUgbWV0aG9kICckc2lnbmF0dXJlX21ldGhvZCcgbm90IHN1cHBvcnRlZCAiIC4KICAgICAgICAgICAgICAgICAgICAidHJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOiAiIC4KICAgICAgICAgICAgICAgICAgICBpbXBsb2RlKCIsICIsIGFycmF5X2tleXMoJHRoaXMtPnNpZ25hdHVyZV9tZXRob2RzKSkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c2lnbmF0dXJlX21ldGhvZHNbJHNpZ25hdHVyZV9tZXRob2RdOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogdHJ5IHRvIGZpbmQgdGhlIGNvbnN1bWVyIGZvciB0aGUgcHJvdmlkZWQgcmVxdWVzdCdzIGNvbnN1bWVyIGtleQogICAgICAgICAqLwogICAgICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2NvbnN1bWVyKCYkcmVxdWVzdCkKICAgICAgICB7CiAgICAgICAgICAgICRjb25zdW1lcl9rZXkgPSBAJHJlcXVlc3QtPmdldF9wYXJhbWV0ZXIoIm9hdXRoX2NvbnN1bWVyX2tleSIpOwogICAgICAgICAgICBpZiAoISRjb25zdW1lcl9rZXkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBPQXV0aEV4Y2VwdGlvbigiSW52YWxpZCBjb25zdW1lciBrZXkiKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGNvbnN1bWVyID0gJHRoaXMtPmRhdGFfc3RvcmUtPmxvb2t1cF9jb25zdW1lcigkY29uc3VtZXJfa2V5KTsKICAgICAgICAgICAgaWYgKCEkY29uc3VtZXIpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBPQXV0aEV4Y2VwdGlvbigiSW52YWxpZCBjb25zdW1lciIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJGNvbnN1bWVyOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogdHJ5IHRvIGZpbmQgdGhlIHRva2VuIGZvciB0aGUgcHJvdmlkZWQgcmVxdWVzdCdzIHRva2VuIGtleQogICAgICAgICAqLwogICAgICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0X3Rva2VuKCYkcmVxdWVzdCwgJGNvbnN1bWVyLCAkdG9rZW5fdHlwZSA9ICJhY2Nlc3MiKQogICAgICAgIHsKICAgICAgICAgICAgJHRva2VuX2ZpZWxkID0gQCRyZXF1ZXN0LT5nZXRfcGFyYW1ldGVyKCdvYXV0aF90b2tlbicpOwogICAgICAgICAgICAkdG9rZW4gICAgICAgPSAkdGhpcy0+ZGF0YV9zdG9yZS0+bG9va3VwX3Rva2VuKAogICAgICAgICAgICAgICAgJGNvbnN1bWVyLCAkdG9rZW5fdHlwZSwgJHRva2VuX2ZpZWxkCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmICghJHRva2VuKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT0F1dGhFeGNlcHRpb24oIkludmFsaWQgJHRva2VuX3R5cGUgdG9rZW46ICR0b2tlbl9maWVsZCIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHRva2VuOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogYWxsLWluLW9uZSBmdW5jdGlvbiB0byBjaGVjayB0aGUgc2lnbmF0dXJlIG9uIGEgcmVxdWVzdAogICAgICAgICAqIHNob3VsZCBndWVzcyB0aGUgc2lnbmF0dXJlIG1ldGhvZCBhcHByb3ByaWF0ZWx5CiAgICAgICAgICovCiAgICAgICAgcHJpdmF0ZSBmdW5jdGlvbiBjaGVja19zaWduYXR1cmUoJiRyZXF1ZXN0LCAkY29uc3VtZXIsICR0b2tlbikKICAgICAgICB7CiAgICAgICAgICAgIC8vIHRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIGluIGEgZGlmZmVyZW50IG1ldGhvZAogICAgICAgICAgICAkdGltZXN0YW1wID0gQCRyZXF1ZXN0LT5nZXRfcGFyYW1ldGVyKCdvYXV0aF90aW1lc3RhbXAnKTsKICAgICAgICAgICAgJG5vbmNlICAgICA9IEAkcmVxdWVzdC0+Z2V0X3BhcmFtZXRlcignb2F1dGhfbm9uY2UnKTsKCiAgICAgICAgICAgICR0aGlzLT5jaGVja190aW1lc3RhbXAoJHRpbWVzdGFtcCk7CiAgICAgICAgICAgICR0aGlzLT5jaGVja19ub25jZSgkY29uc3VtZXIsICR0b2tlbiwgJG5vbmNlLCAkdGltZXN0YW1wKTsKCiAgICAgICAgICAgICRzaWduYXR1cmVfbWV0aG9kID0gJHRoaXMtPmdldF9zaWduYXR1cmVfbWV0aG9kKCRyZXF1ZXN0KTsKCiAgICAgICAgICAgICRzaWduYXR1cmUgPSAkcmVxdWVzdC0+Z2V0X3BhcmFtZXRlcignb2F1dGhfc2lnbmF0dXJlJyk7CiAgICAgICAgICAgICR2YWxpZF9zaWcgPSAkc2lnbmF0dXJlX21ldGhvZC0+Y2hlY2tfc2lnbmF0dXJlKAogICAgICAgICAgICAgICAgJHJlcXVlc3QsCiAgICAgICAgICAgICAgICAkY29uc3VtZXIsCiAgICAgICAgICAgICAgICAkdG9rZW4sCiAgICAgICAgICAgICAgICAkc2lnbmF0dXJlCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAoISR2YWxpZF9zaWcpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBPQXV0aEV4Y2VwdGlvbigiSW52YWxpZCBzaWduYXR1cmUiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogY2hlY2sgdGhhdCB0aGUgdGltZXN0YW1wIGlzIG5ldyBlbm91Z2gKICAgICAgICAgKi8KICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIGNoZWNrX3RpbWVzdGFtcCgkdGltZXN0YW1wKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCEkdGltZXN0YW1wKQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IE9BdXRoRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICdNaXNzaW5nIHRpbWVzdGFtcCBwYXJhbWV0ZXIuIFRoZSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQnCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgLy8gdmVyaWZ5IHRoYXQgdGltZXN0YW1wIGlzIHJlY2VudGlzaAogICAgICAgICAgICAkbm93ID0gdGltZSgpOwogICAgICAgICAgICBpZiAoYWJzKCRub3cgLSAkdGltZXN0YW1wKSA+ICR0aGlzLT50aW1lc3RhbXBfdGhyZXNob2xkKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT0F1dGhFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgIkV4cGlyZWQgdGltZXN0YW1wLCB5b3VycyAkdGltZXN0YW1wLCBvdXJzICRub3ciCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBjaGVjayB0aGF0IHRoZSBub25jZSBpcyBub3QgcmVwZWF0ZWQKICAgICAgICAgKi8KICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIGNoZWNrX25vbmNlKCRjb25zdW1lciwgJHRva2VuLCAkbm9uY2UsICR0aW1lc3RhbXApCiAgICAgICAgewogICAgICAgICAgICBpZiAoISRub25jZSkKICAgICAgICAgICAgICAgIHRocm93IG5ldyBPQXV0aEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAnTWlzc2luZyBub25jZSBwYXJhbWV0ZXIuIFRoZSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQnCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgLy8gdmVyaWZ5IHRoYXQgdGhlIG5vbmNlIGlzIHVuaXF1ZWlzaAogICAgICAgICAgICAkZm91bmQgPSAkdGhpcy0+ZGF0YV9zdG9yZS0+bG9va3VwX25vbmNlKAogICAgICAgICAgICAgICAgJGNvbnN1bWVyLAogICAgICAgICAgICAgICAgJHRva2VuLAogICAgICAgICAgICAgICAgJG5vbmNlLAogICAgICAgICAgICAgICAgJHRpbWVzdGFtcAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoJGZvdW5kKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT0F1dGhFeGNlcHRpb24oIk5vbmNlIGFscmVhZHkgdXNlZDogJG5vbmNlIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthSignatureMethod.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKioKICAgICAqIEEgY2xhc3MgZm9yIGltcGxlbWVudGluZyBhIFNpZ25hdHVyZSBNZXRob2QKICAgICAqIFNlZSBzZWN0aW9uIDkgKCJTaWduaW5nIFJlcXVlc3RzIikgaW4gdGhlIHNwZWMKICAgICAqLwogICAgYWJzdHJhY3QgY2xhc3MgT0F1dGhTaWduYXR1cmVNZXRob2QgewogICAgICAgIC8qKgogICAgICAgICAqIE5lZWRzIHRvIHJldHVybiB0aGUgbmFtZSBvZiB0aGUgU2lnbmF0dXJlIE1ldGhvZCAoaWUgSE1BQy1TSEExKQogICAgICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgICAgICovCiAgICAgICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCk7CgogICAgICAgIC8qKgogICAgICAgICAqIEJ1aWxkIHVwIHRoZSBzaWduYXR1cmUKICAgICAgICAgKiBOT1RFOiBUaGUgb3V0cHV0IG9mIHRoaXMgZnVuY3Rpb24gTVVTVCBOT1QgYmUgdXJsZW5jb2RlZC4KICAgICAgICAgKiB0aGUgZW5jb2RpbmcgaXMgaGFuZGxlZCBpbiBPQXV0aFJlcXVlc3Qgd2hlbiB0aGUgZmluYWwKICAgICAgICAgKiByZXF1ZXN0IGlzIHNlcmlhbGl6ZWQKICAgICAgICAgKiBAcGFyYW0gT0F1dGhSZXF1ZXN0ICRyZXF1ZXN0CiAgICAgICAgICogQHBhcmFtIE9BdXRoQ29uc3VtZXIgJGNvbnN1bWVyCiAgICAgICAgICogQHBhcmFtIE9BdXRoVG9rZW4gJHRva2VuCiAgICAgICAgICogQHJldHVybiBzdHJpbmcKICAgICAgICAgKi8KICAgICAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gYnVpbGRfc2lnbmF0dXJlKCRyZXF1ZXN0LCAkY29uc3VtZXIsICR0b2tlbik7CgogICAgICAgIC8qKgogICAgICAgICAqIFZlcmlmaWVzIHRoYXQgYSBnaXZlbiBzaWduYXR1cmUgaXMgY29ycmVjdAogICAgICAgICAqIEBwYXJhbSBPQXV0aFJlcXVlc3QgJHJlcXVlc3QKICAgICAgICAgKiBAcGFyYW0gT0F1dGhDb25zdW1lciAkY29uc3VtZXIKICAgICAgICAgKiBAcGFyYW0gT0F1dGhUb2tlbiAkdG9rZW4KICAgICAgICAgKiBAcGFyYW0gc3RyaW5nICRzaWduYXR1cmUKICAgICAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAgICAgKi8KICAgICAgICBwdWJsaWMgZnVuY3Rpb24gY2hlY2tfc2lnbmF0dXJlKCRyZXF1ZXN0LCAkY29uc3VtZXIsICR0b2tlbiwgJHNpZ25hdHVyZSkgewogICAgICAgICAgICAkYnVpbHQgPSAkdGhpcy0+YnVpbGRfc2lnbmF0dXJlKCRyZXF1ZXN0LCAkY29uc3VtZXIsICR0b2tlbik7CiAgICAgICAgICAgIHJldHVybiAkYnVpbHQgPT0gJHNpZ25hdHVyZTsKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthSignatureMethod_HMAC_SHA1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKioKICAgICAqIFRoZSBITUFDLVNIQTEgc2lnbmF0dXJlIG1ldGhvZCB1c2VzIHRoZSBITUFDLVNIQTEgc2lnbmF0dXJlIGFsZ29yaXRobSBhcyBkZWZpbmVkIGluIFtSRkMyMTA0XQogICAgICogd2hlcmUgdGhlIFNpZ25hdHVyZSBCYXNlIFN0cmluZyBpcyB0aGUgdGV4dCBhbmQgdGhlIGtleSBpcyB0aGUgY29uY2F0ZW5hdGVkIHZhbHVlcyAoZWFjaCBmaXJzdAogICAgICogZW5jb2RlZCBwZXIgUGFyYW1ldGVyIEVuY29kaW5nKSBvZiB0aGUgQ29uc3VtZXIgU2VjcmV0IGFuZCBUb2tlbiBTZWNyZXQsIHNlcGFyYXRlZCBieSBhbiAnJicKICAgICAqIGNoYXJhY3RlciAoQVNDSUkgY29kZSAzOCkgZXZlbiBpZiBlbXB0eS4KICAgICAqICAgLSBDaGFwdGVyIDkuMiAoIkhNQUMtU0hBMSIpCiAgICAgKi8KICAgIGNsYXNzIE9BdXRoU2lnbmF0dXJlTWV0aG9kX0hNQUNfU0hBMSBleHRlbmRzIE9BdXRoU2lnbmF0dXJlTWV0aG9kCiAgICB7CiAgICAgICAgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICJITUFDLVNIQTEiOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkX3NpZ25hdHVyZSgkcmVxdWVzdCwgJGNvbnN1bWVyLCAkdG9rZW4pCiAgICAgICAgewogICAgICAgICAgICAkYmFzZV9zdHJpbmcgICAgICAgICAgPSAkcmVxdWVzdC0+Z2V0X3NpZ25hdHVyZV9iYXNlX3N0cmluZygpOwogICAgICAgICAgICAkcmVxdWVzdC0+YmFzZV9zdHJpbmcgPSAkYmFzZV9zdHJpbmc7CgogICAgICAgICAgICAka2V5X3BhcnRzID0gYXJyYXkoCiAgICAgICAgICAgICAgICAkY29uc3VtZXItPnNlY3JldCwKICAgICAgICAgICAgICAgICgkdG9rZW4pID8gJHRva2VuLT5zZWNyZXQgOiAiIgogICAgICAgICAgICApOwoKICAgICAgICAgICAgJGtleV9wYXJ0cyA9IE9BdXRoVXRpbDo6dXJsZW5jb2RlX3JmYzM5ODYoJGtleV9wYXJ0cyk7CiAgICAgICAgICAgICRrZXkgICAgICAgPSBpbXBsb2RlKCcmJywgJGtleV9wYXJ0cyk7CgogICAgICAgICAgICByZXR1cm4gYmFzZTY0X2VuY29kZShoYXNoX2htYWMoJ3NoYTEnLCAkYmFzZV9zdHJpbmcsICRrZXksIHRydWUpKTsKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthSignatureMethod_PLAINTEXT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIC8qKgogICAgICogVGhlIFBMQUlOVEVYVCBtZXRob2QgZG9lcyBub3QgcHJvdmlkZSBhbnkgc2VjdXJpdHkgcHJvdGVjdGlvbiBhbmQgU0hPVUxEIG9ubHkgYmUgdXNlZAogICAgICogb3ZlciBhIHNlY3VyZSBjaGFubmVsIHN1Y2ggYXMgSFRUUFMuIEl0IGRvZXMgbm90IHVzZSB0aGUgU2lnbmF0dXJlIEJhc2UgU3RyaW5nLgogICAgICogICAtIENoYXB0ZXIgOS40ICgiUExBSU5URVhUIikKICAgICAqLwogICAgY2xhc3MgT0F1dGhTaWduYXR1cmVNZXRob2RfUExBSU5URVhUIGV4dGVuZHMgT0F1dGhTaWduYXR1cmVNZXRob2QKICAgIHsKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICJQTEFJTlRFWFQiOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogb2F1dGhfc2lnbmF0dXJlIGlzIHNldCB0byB0aGUgY29uY2F0ZW5hdGVkIGVuY29kZWQgdmFsdWVzIG9mIHRoZSBDb25zdW1lciBTZWNyZXQgYW5kCiAgICAgICAgICogVG9rZW4gU2VjcmV0LCBzZXBhcmF0ZWQgYnkgYSAnJicgY2hhcmFjdGVyIChBU0NJSSBjb2RlIDM4KSwgZXZlbiBpZiBlaXRoZXIgc2VjcmV0IGlzCiAgICAgICAgICogZW1wdHkuIFRoZSByZXN1bHQgTVVTVCBiZSBlbmNvZGVkIGFnYWluLgogICAgICAgICAqICAgLSBDaGFwdGVyIDkuNC4xICgiR2VuZXJhdGluZyBTaWduYXR1cmVzIikKICAgICAgICAgKgogICAgICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIHNlY29uZCBlbmNvZGluZyBNVVNUIE5PVCBoYXBwZW4gaW4gdGhlIFNpZ25hdHVyZU1ldGhvZCwgYXMKICAgICAgICAgKiBPQXV0aFJlcXVlc3QgaGFuZGxlcyB0aGlzIQogICAgICAgICAqLwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBidWlsZF9zaWduYXR1cmUoJHJlcXVlc3QsICRjb25zdW1lciwgJHRva2VuKQogICAgICAgIHsKICAgICAgICAgICAgJGtleV9wYXJ0cyA9IGFycmF5KAogICAgICAgICAgICAgICAgJGNvbnN1bWVyLT5zZWNyZXQsCiAgICAgICAgICAgICAgICAoJHRva2VuKSA/ICR0b2tlbi0+c2VjcmV0IDogIiIKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRrZXlfcGFydHMgICAgICAgICAgICA9IE9BdXRoVXRpbDo6dXJsZW5jb2RlX3JmYzM5ODYoJGtleV9wYXJ0cyk7CiAgICAgICAgICAgICRrZXkgICAgICAgICAgICAgICAgICA9IGltcGxvZGUoJyYnLCAka2V5X3BhcnRzKTsKICAgICAgICAgICAgJHJlcXVlc3QtPmJhc2Vfc3RyaW5nID0gJGtleTsKCiAgICAgICAgICAgIHJldHVybiAka2V5OwogICAgICAgIH0KICAgIH0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthSignatureMethod_RSA_SHA1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIC8qKgogICAgICogVGhlIFJTQS1TSEExIHNpZ25hdHVyZSBtZXRob2QgdXNlcyB0aGUgUlNBU1NBLVBLQ1MxLXYxXzUgc2lnbmF0dXJlIGFsZ29yaXRobSBhcyBkZWZpbmVkIGluCiAgICAgKiBbUkZDMzQ0N10gc2VjdGlvbiA4LjIgKG1vcmUgc2ltcGx5IGtub3duIGFzIFBLQ1MjMSksIHVzaW5nIFNIQS0xIGFzIHRoZSBoYXNoIGZ1bmN0aW9uIGZvcgogICAgICogRU1TQS1QS0NTMS12MV81LiBJdCBpcyBhc3N1bWVkIHRoYXQgdGhlIENvbnN1bWVyIGhhcyBwcm92aWRlZCBpdHMgUlNBIHB1YmxpYyBrZXkgaW4gYQogICAgICogdmVyaWZpZWQgd2F5IHRvIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLCBpbiBhIG1hbm5lciB3aGljaCBpcyBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMKICAgICAqIHNwZWNpZmljYXRpb24uCiAgICAgKiAgIC0gQ2hhcHRlciA5LjMgKCJSU0EtU0hBMSIpCiAgICAgKi8KICAgIGFic3RyYWN0IGNsYXNzIE9BdXRoU2lnbmF0dXJlTWV0aG9kX1JTQV9TSEExIGV4dGVuZHMgT0F1dGhTaWduYXR1cmVNZXRob2QKICAgIHsKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICJSU0EtU0hBMSI7CiAgICAgICAgfQoKICAgICAgICAvLyBVcCB0byB0aGUgU1AgdG8gaW1wbGVtZW50IHRoaXMgbG9va3VwIG9mIGtleXMuIFBvc3NpYmxlIGlkZWFzIGFyZToKICAgICAgICAvLyAoMSkgZG8gYSBsb29rdXAgaW4gYSB0YWJsZSBvZiB0cnVzdGVkIGNlcnRzIGtleWVkIG9mZiBvZiBjb25zdW1lcgogICAgICAgIC8vICgyKSBmZXRjaCB2aWEgaHR0cCB1c2luZyBhIHVybCBwcm92aWRlZCBieSB0aGUgcmVxdWVzdGVyCiAgICAgICAgLy8gKDMpIHNvbWUgc29ydCBvZiBzcGVjaWZpYyBkaXNjb3ZlcnkgY29kZSBiYXNlZCBvbiByZXF1ZXN0CiAgICAgICAgLy8KICAgICAgICAvLyBFaXRoZXIgd2F5IHNob3VsZCByZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNlcnRpZmljYXRlCiAgICAgICAgcHJvdGVjdGVkIGFic3RyYWN0IGZ1bmN0aW9uIGZldGNoX3B1YmxpY19jZXJ0KCYkcmVxdWVzdCk7CgogICAgICAgIC8vIFVwIHRvIHRoZSBTUCB0byBpbXBsZW1lbnQgdGhpcyBsb29rdXAgb2Yga2V5cy4gUG9zc2libGUgaWRlYXMgYXJlOgogICAgICAgIC8vICgxKSBkbyBhIGxvb2t1cCBpbiBhIHRhYmxlIG9mIHRydXN0ZWQgY2VydHMga2V5ZWQgb2ZmIG9mIGNvbnN1bWVyCiAgICAgICAgLy8KICAgICAgICAvLyBFaXRoZXIgd2F5IHNob3VsZCByZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNlcnRpZmljYXRlCiAgICAgICAgcHJvdGVjdGVkIGFic3RyYWN0IGZ1bmN0aW9uIGZldGNoX3ByaXZhdGVfY2VydCgmJHJlcXVlc3QpOwoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gYnVpbGRfc2lnbmF0dXJlKCRyZXF1ZXN0LCAkY29uc3VtZXIsICR0b2tlbikKICAgICAgICB7CiAgICAgICAgICAgICRiYXNlX3N0cmluZyAgICAgICAgICA9ICRyZXF1ZXN0LT5nZXRfc2lnbmF0dXJlX2Jhc2Vfc3RyaW5nKCk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5iYXNlX3N0cmluZyA9ICRiYXNlX3N0cmluZzsKCiAgICAgICAgICAgIC8vIEZldGNoIHRoZSBwcml2YXRlIGtleSBjZXJ0IGJhc2VkIG9uIHRoZSByZXF1ZXN0CiAgICAgICAgICAgICRjZXJ0ID0gJHRoaXMtPmZldGNoX3ByaXZhdGVfY2VydCgkcmVxdWVzdCk7CgogICAgICAgICAgICAvLyBQdWxsIHRoZSBwcml2YXRlIGtleSBJRCBmcm9tIHRoZSBjZXJ0aWZpY2F0ZQogICAgICAgICAgICAkcHJpdmF0ZWtleWlkID0gb3BlbnNzbF9nZXRfcHJpdmF0ZWtleSgkY2VydCk7CgogICAgICAgICAgICAvLyBTaWduIHVzaW5nIHRoZSBrZXkKICAgICAgICAgICAgJG9rID0gb3BlbnNzbF9zaWduKCRiYXNlX3N0cmluZywgJHNpZ25hdHVyZSwgJHByaXZhdGVrZXlpZCk7CgogICAgICAgICAgICAvLyBSZWxlYXNlIHRoZSBrZXkgcmVzb3VyY2UKICAgICAgICAgICAgb3BlbnNzbF9mcmVlX2tleSgkcHJpdmF0ZWtleWlkKTsKCiAgICAgICAgICAgIHJldHVybiBiYXNlNjRfZW5jb2RlKCRzaWduYXR1cmUpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGNoZWNrX3NpZ25hdHVyZSgkcmVxdWVzdCwgJGNvbnN1bWVyLCAkdG9rZW4sICRzaWduYXR1cmUpCiAgICAgICAgewogICAgICAgICAgICAkZGVjb2RlZF9zaWcgPSBiYXNlNjRfZGVjb2RlKCRzaWduYXR1cmUpOwoKICAgICAgICAgICAgJGJhc2Vfc3RyaW5nID0gJHJlcXVlc3QtPmdldF9zaWduYXR1cmVfYmFzZV9zdHJpbmcoKTsKCiAgICAgICAgICAgIC8vIEZldGNoIHRoZSBwdWJsaWMga2V5IGNlcnQgYmFzZWQgb24gdGhlIHJlcXVlc3QKICAgICAgICAgICAgJGNlcnQgPSAkdGhpcy0+ZmV0Y2hfcHVibGljX2NlcnQoJHJlcXVlc3QpOwoKICAgICAgICAgICAgLy8gUHVsbCB0aGUgcHVibGljIGtleSBJRCBmcm9tIHRoZSBjZXJ0aWZpY2F0ZQogICAgICAgICAgICAkcHVibGlja2V5aWQgPSBvcGVuc3NsX2dldF9wdWJsaWNrZXkoJGNlcnQpOwoKICAgICAgICAgICAgLy8gQ2hlY2sgdGhlIGNvbXB1dGVkIHNpZ25hdHVyZSBhZ2FpbnN0IHRoZSBvbmUgcGFzc2VkIGluIHRoZSBxdWVyeQogICAgICAgICAgICAkb2sgPSBvcGVuc3NsX3ZlcmlmeSgkYmFzZV9zdHJpbmcsICRkZWNvZGVkX3NpZywgJHB1YmxpY2tleWlkKTsKCiAgICAgICAgICAgIC8vIFJlbGVhc2UgdGhlIGtleSByZXNvdXJjZQogICAgICAgICAgICBvcGVuc3NsX2ZyZWVfa2V5KCRwdWJsaWNrZXlpZCk7CgogICAgICAgICAgICByZXR1cm4gJG9rID09IDE7CiAgICAgICAgfQogICAgfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthToken.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICBjbGFzcyBPQXV0aFRva2VuCiAgICB7CiAgICAgICAgLy8gYWNjZXNzIHRva2VucyBhbmQgcmVxdWVzdCB0b2tlbnMKICAgICAgICBwdWJsaWMgJGtleTsKICAgICAgICBwdWJsaWMgJHNlY3JldDsKCiAgICAgICAgLyoqCiAgICAgICAgICoga2V5ID0gdGhlIHRva2VuCiAgICAgICAgICogc2VjcmV0ID0gdGhlIHRva2VuIHNlY3JldAogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRrZXksICRzZWNyZXQpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+a2V5ICAgID0gJGtleTsKICAgICAgICAgICAgJHRoaXMtPnNlY3JldCA9ICRzZWNyZXQ7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBnZW5lcmF0ZXMgdGhlIGJhc2ljIHN0cmluZyBzZXJpYWxpemF0aW9uIG9mIGEgdG9rZW4gdGhhdCBhIHNlcnZlcgogICAgICAgICAqIHdvdWxkIHJlc3BvbmQgdG8gcmVxdWVzdF90b2tlbiBhbmQgYWNjZXNzX3Rva2VuIGNhbGxzIHdpdGgKICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0b19zdHJpbmcoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICJvYXV0aF90b2tlbj0iIC4KICAgICAgICAgICAgT0F1dGhVdGlsOjp1cmxlbmNvZGVfcmZjMzk4NigkdGhpcy0+a2V5KSAuCiAgICAgICAgICAgICImb2F1dGhfdG9rZW5fc2VjcmV0PSIgLgogICAgICAgICAgICBPQXV0aFV0aWw6OnVybGVuY29kZV9yZmMzOTg2KCR0aGlzLT5zZWNyZXQpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnRvX3N0cmluZygpOwogICAgICAgIH0KICAgIH0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.OAuthUtil.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICBjbGFzcyBPQXV0aFV0aWwKICAgIHsKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVybGVuY29kZV9yZmMzOTg2KCRpbnB1dCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkaW5wdXQpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXlfbWFwKGFycmF5KCdPQXV0aFV0aWwnLCAndXJsZW5jb2RlX3JmYzM5ODYnKSwgJGlucHV0KTsKICAgICAgICAgICAgfSBlbHNlIGlmIChpc19zY2FsYXIoJGlucHV0KSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHN0cl9yZXBsYWNlKAogICAgICAgICAgICAgICAgICAgICcrJywKICAgICAgICAgICAgICAgICAgICAnICcsCiAgICAgICAgICAgICAgICAgICAgc3RyX3JlcGxhY2UoJyU3RScsICd+JywgcmF3dXJsZW5jb2RlKCRpbnB1dCkpCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gaXNuJ3QgdGFraW5nIGludG8gY29uc2lkZXJhdGlvbiB0aGUgYWJvdmUKICAgICAgICAvLyBtb2RpZmljYXRpb25zIHRvIHRoZSBlbmNvZGluZyBwcm9jZXNzLiBIb3dldmVyLCB0aGlzIG1ldGhvZCBkb2Vzbid0CiAgICAgICAgLy8gc2VlbSB0byBiZSB1c2VkIGFueXdoZXJlIHNvIGxlYXZpbmcgaXQgYXMgaXMuCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1cmxkZWNvZGVfcmZjMzk4Nigkc3RyaW5nKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHVybGRlY29kZSgkc3RyaW5nKTsKICAgICAgICB9CgogICAgICAgIC8vIFV0aWxpdHkgZnVuY3Rpb24gZm9yIHR1cm5pbmcgdGhlIEF1dGhvcml6YXRpb246IGhlYWRlciBpbnRvCiAgICAgICAgLy8gcGFyYW1ldGVycywgaGFzIHRvIGRvIHNvbWUgdW5lc2NhcGluZwogICAgICAgIC8vIENhbiBmaWx0ZXIgb3V0IGFueSBub24tb2F1dGggcGFyYW1ldGVycyBpZiBuZWVkZWQgKGRlZmF1bHQgYmVoYXZpb3VyKQogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc3BsaXRfaGVhZGVyKCRoZWFkZXIsICRvbmx5X2FsbG93X29hdXRoX3BhcmFtZXRlcnMgPSB0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgJHBhdHRlcm4gPSAnLygoWy1fYS16XSopPSgiKFteIl0qKSJ8KFteLF0qKSksPykvJzsKICAgICAgICAgICAgJG9mZnNldCAgPSAwOwogICAgICAgICAgICAkcGFyYW1zICA9IGFycmF5KCk7CiAgICAgICAgICAgIHdoaWxlIChwcmVnX21hdGNoKCRwYXR0ZXJuLCAkaGVhZGVyLCAkbWF0Y2hlcywgUFJFR19PRkZTRVRfQ0FQVFVSRSwgJG9mZnNldCkgPiAwKSB7CiAgICAgICAgICAgICAgICAkbWF0Y2ggICAgICAgICAgPSAkbWF0Y2hlc1swXTsKICAgICAgICAgICAgICAgICRoZWFkZXJfbmFtZSAgICA9ICRtYXRjaGVzWzJdWzBdOwogICAgICAgICAgICAgICAgJGhlYWRlcl9jb250ZW50ID0gKGlzc2V0KCRtYXRjaGVzWzVdKSkgPyAkbWF0Y2hlc1s1XVswXSA6ICRtYXRjaGVzWzRdWzBdOwogICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9eb2F1dGhfLycsICRoZWFkZXJfbmFtZSkgfHwgISRvbmx5X2FsbG93X29hdXRoX3BhcmFtZXRlcnMpIHsKICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWyRoZWFkZXJfbmFtZV0gPSBPQXV0aFV0aWw6OnVybGRlY29kZV9yZmMzOTg2KCRoZWFkZXJfY29udGVudCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkb2Zmc2V0ID0gJG1hdGNoWzFdICsgc3RybGVuKCRtYXRjaFswXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydyZWFsbSddKSkgewogICAgICAgICAgICAgICAgdW5zZXQoJHBhcmFtc1sncmVhbG0nXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gaGVscGVyIHRvIHRyeSB0byBzb3J0IG91dCBoZWFkZXJzIGZvciBwZW9wbGUgd2hvIGFyZW4ndCBydW5uaW5nIGFwYWNoZQogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2hlYWRlcnMoKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnYXBhY2hlX3JlcXVlc3RfaGVhZGVycycpKSB7CiAgICAgICAgICAgICAgICAvLyB3ZSBuZWVkIHRoaXMgdG8gZ2V0IHRoZSBhY3R1YWwgQXV0aG9yaXphdGlvbjogaGVhZGVyCiAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIGFwYWNoZSB0ZW5kcyB0byB0ZWxsIHVzIGl0IGRvZXNuJ3QgZXhpc3QKICAgICAgICAgICAgICAgICRoZWFkZXJzID0gYXBhY2hlX3JlcXVlc3RfaGVhZGVycygpOwoKICAgICAgICAgICAgICAgIC8vIHNhbml0aXplIHRoZSBvdXRwdXQgb2YgYXBhY2hlX3JlcXVlc3RfaGVhZGVycyBiZWNhdXNlCiAgICAgICAgICAgICAgICAvLyB3ZSBhbHdheXMgd2FudCB0aGUga2V5cyB0byBiZSBDYXNlZC1MaWtlLVRoaXMgYW5kIGFyaCgpCiAgICAgICAgICAgICAgICAvLyByZXR1cm5zIHRoZSBoZWFkZXJzIGluIHRoZSBzYW1lIGNhc2UgYXMgdGhleSBhcmUgaW4gdGhlCiAgICAgICAgICAgICAgICAvLyByZXF1ZXN0CiAgICAgICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRoZWFkZXJzIEFTICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgJGtleSAgICAgICA9IHN0cl9yZXBsYWNlKAogICAgICAgICAgICAgICAgICAgICAgICAiICIsCiAgICAgICAgICAgICAgICAgICAgICAgICItIiwKICAgICAgICAgICAgICAgICAgICAgICAgdWN3b3JkcyhzdHJ0b2xvd2VyKHN0cl9yZXBsYWNlKCItIiwgIiAiLCAka2V5KSkpCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAkb3V0WyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHdlIGRvbid0IGhhdmUgYXBhY2hlIGFuZCBhcmUganVzdCBnb2luZyB0byBoYXZlIHRvIGhvcGUKICAgICAgICAgICAgICAgIC8vIHRoYXQgJF9TRVJWRVIgYWN0dWFsbHkgY29udGFpbnMgd2hhdCB3ZSBuZWVkCiAgICAgICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsnQ09OVEVOVF9UWVBFJ10pKQogICAgICAgICAgICAgICAgICAgICRvdXRbJ0NvbnRlbnQtVHlwZSddID0gJF9TRVJWRVJbJ0NPTlRFTlRfVFlQRSddOwogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRfRU5WWydDT05URU5UX1RZUEUnXSkpCiAgICAgICAgICAgICAgICAgICAgJG91dFsnQ29udGVudC1UeXBlJ10gPSAkX0VOVlsnQ09OVEVOVF9UWVBFJ107CgogICAgICAgICAgICAgICAgZm9yZWFjaCAoJF9TRVJWRVIgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCRrZXksIDAsIDUpID09ICJIVFRQXyIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBjaGFvcywgYmFzaWNhbGx5IGl0IGlzIGp1c3QgdGhlcmUgdG8gY2FwaXRhbGl6ZSB0aGUgZmlyc3QKICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGV0dGVyIG9mIGV2ZXJ5IHdvcmQgdGhhdCBpcyBub3QgYW4gaW5pdGlhbCBIVFRQIGFuZCBzdHJpcCBIVFRQCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvZGUgZnJvbSBwcnplbWVrCiAgICAgICAgICAgICAgICAgICAgICAgICRrZXkgICAgICAgPSBzdHJfcmVwbGFjZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICItIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVjd29yZHMoc3RydG9sb3dlcihzdHJfcmVwbGFjZSgiXyIsICIgIiwgc3Vic3RyKCRrZXksIDUpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICRvdXRbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJG91dDsKICAgICAgICB9CgogICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSBpbnB1dCBsaWtlIGE9YiZhPWMmZD1lIGFuZCByZXR1cm5zIHRoZSBwYXJzZWQKICAgICAgICAvLyBwYXJhbWV0ZXJzIGxpa2UgdGhpcwogICAgICAgIC8vIGFycmF5KCdhJyA9PiBhcnJheSgnYicsJ2MnKSwgJ2QnID0+ICdlJykKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhcnNlX3BhcmFtZXRlcnMoJGlucHV0KQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCFpc3NldCgkaW5wdXQpIHx8ICEkaW5wdXQpIHJldHVybiBhcnJheSgpOwoKICAgICAgICAgICAgJHBhaXJzID0gZXhwbG9kZSgnJicsICRpbnB1dCk7CgogICAgICAgICAgICAkcGFyc2VkX3BhcmFtZXRlcnMgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkcGFpcnMgYXMgJHBhaXIpIHsKICAgICAgICAgICAgICAgICRzcGxpdCAgICAgPSBleHBsb2RlKCc9JywgJHBhaXIsIDIpOwogICAgICAgICAgICAgICAgJHBhcmFtZXRlciA9IE9BdXRoVXRpbDo6dXJsZGVjb2RlX3JmYzM5ODYoJHNwbGl0WzBdKTsKICAgICAgICAgICAgICAgICR2YWx1ZSAgICAgPSBpc3NldCgkc3BsaXRbMV0pID8gT0F1dGhVdGlsOjp1cmxkZWNvZGVfcmZjMzk4Nigkc3BsaXRbMV0pIDogJyc7CgogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJzZWRfcGFyYW1ldGVyc1skcGFyYW1ldGVyXSkpIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBoYXZlIGFscmVhZHkgcmVjaWV2ZWQgcGFyYW1ldGVyKHMpIHdpdGggdGhpcyBuYW1lLCBzbyBhZGQgdG8gdGhlIGxpc3QKICAgICAgICAgICAgICAgICAgICAvLyBvZiBwYXJhbWV0ZXJzIHdpdGggdGhpcyBuYW1lCgogICAgICAgICAgICAgICAgICAgIGlmIChpc19zY2FsYXIoJHBhcnNlZF9wYXJhbWV0ZXJzWyRwYXJhbWV0ZXJdKSkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBkdXBsaWNhdGUsIHNvIHRyYW5zZm9ybSBzY2FsYXIgKHN0cmluZykgaW50byBhbiBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBjYW4gYWRkIHRoZSBkdXBsaWNhdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICRwYXJzZWRfcGFyYW1ldGVyc1skcGFyYW1ldGVyXSA9IGFycmF5KCRwYXJzZWRfcGFyYW1ldGVyc1skcGFyYW1ldGVyXSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkcGFyc2VkX3BhcmFtZXRlcnNbJHBhcmFtZXRlcl1bXSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHBhcnNlZF9wYXJhbWV0ZXJzWyRwYXJhbWV0ZXJdID0gJHZhbHVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHBhcnNlZF9wYXJhbWV0ZXJzOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBidWlsZF9odHRwX3F1ZXJ5KCRwYXJhbXMpCiAgICAgICAgewogICAgICAgICAgICBpZiAoISRwYXJhbXMpIHJldHVybiAnJzsKCiAgICAgICAgICAgIC8vIFVybGVuY29kZSBib3RoIGtleXMgYW5kIHZhbHVlcwogICAgICAgICAgICAka2V5cyAgID0gT0F1dGhVdGlsOjp1cmxlbmNvZGVfcmZjMzk4NihhcnJheV9rZXlzKCRwYXJhbXMpKTsKICAgICAgICAgICAgJHZhbHVlcyA9IE9BdXRoVXRpbDo6dXJsZW5jb2RlX3JmYzM5ODYoYXJyYXlfdmFsdWVzKCRwYXJhbXMpKTsKICAgICAgICAgICAgJHBhcmFtcyA9IGFycmF5X2NvbWJpbmUoJGtleXMsICR2YWx1ZXMpOwoKICAgICAgICAgICAgLy8gUGFyYW1ldGVycyBhcmUgc29ydGVkIGJ5IG5hbWUsIHVzaW5nIGxleGljb2dyYXBoaWNhbCBieXRlIHZhbHVlIG9yZGVyaW5nLgogICAgICAgICAgICAvLyBSZWY6IFNwZWM6IDkuMS4xICgxKQogICAgICAgICAgICB1a3NvcnQoJHBhcmFtcywgJ3N0cmNtcCcpOwoKICAgICAgICAgICAgJHBhaXJzID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAkcGFyYW1ldGVyID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJZiB0d28gb3IgbW9yZSBwYXJhbWV0ZXJzIHNoYXJlIHRoZSBzYW1lIG5hbWUsIHRoZXkgYXJlIHNvcnRlZCBieSB0aGVpciB2YWx1ZQogICAgICAgICAgICAgICAgICAgIC8vIFJlZjogU3BlYzogOS4xLjEgKDEpCiAgICAgICAgICAgICAgICAgICAgbmF0c29ydCgkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR2YWx1ZSBhcyAkZHVwbGljYXRlX3ZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRwYWlyc1tdID0gJHBhcmFtZXRlciAuICc9JyAuICRkdXBsaWNhdGVfdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkcGFpcnNbXSA9ICRwYXJhbWV0ZXIgLiAnPScgLiAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIEZvciBlYWNoIHBhcmFtZXRlciwgdGhlIG5hbWUgaXMgc2VwYXJhdGVkIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgYnkgYW4gJz0nIGNoYXJhY3RlciAoQVNDSUkgY29kZSA2MSkKICAgICAgICAgICAgLy8gRWFjaCBuYW1lLXZhbHVlIHBhaXIgaXMgc2VwYXJhdGVkIGJ5IGFuICcmJyBjaGFyYWN0ZXIgKEFTQ0lJIGNvZGUgMzgpCiAgICAgICAgICAgIHJldHVybiBpbXBsb2RlKCcmJywgJHBhaXJzKTsKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.Tweet.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKgogICAgICogUmVsYXRpb24gY2xhc3MKICAgICAqCiAgICAgKiBUaGlzIGNsYXNzIGFsbG93IG1hbmFnZW1lbnQgb2YgYSBUd2VldCBvYmplY3QKICAgICAqCiAgICAgKgogICAgICogQ29weXJpZ2h0czogTW9ycmlzICYgQ2hhcG1hbiBCZWxnaXVtIC0gSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIC0gMjAwOQogICAgICoKICAgICAqLwoKICAgIGNsYXNzIFR3ZWV0CiAgICB7CgogICAgICAgIHZhciAkaWQ7CiAgICAgICAgdmFyICRjcmVhdGVkX2F0OwoKICAgICAgICB2YXIgJHRleHQ7CiAgICAgICAgdmFyICRzb3VyY2U7CiAgICAgICAgdmFyICRhdXRob3JfbmFtZTsKICAgICAgICB2YXIgJHBpY3R1cmU7CgogICAgICAgIHZhciAkeG1sOwogICAgICAgIHZhciAkb2JqZWN0OwoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V2hlbigpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6ZGlzdGFuY2Vfb2ZfdGltZV9pbl93b3JkcyhzdHJ0b3RpbWUoJHRoaXMtPmNyZWF0ZWRfYXQpKSAuICcgYWdvJzsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUZXh0KCkKICAgICAgICB7CiAgICAgICAgICAgICR0ZXh0ID0gJHRoaXMtPnRleHQ7CgogICAgICAgICAgICBpZiAoKHN0cnBvcygkdGV4dCwgJ2h0dHAnKSAhPT0gZmFsc2UpIHx8IChzdHJwb3MoJHRleHQsICdAJykgIT09IGZhbHNlKSB8fCAoc3RycG9zKCR0ZXh0LCAnIycpICE9PSBmYWxzZSkpIHsKICAgICAgICAgICAgICAgICR3b3JkcyA9IGFycmF5X3VuaXF1ZShleHBsb2RlKCcgJywgJHRoaXMtPnRleHQpKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR3b3JkcyBhcyAkd29yZCkgewogICAgICAgICAgICAgICAgICAgIGlmIChzdHJwb3MoJHdvcmQsICdodHRwJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0ZXh0ID0gc3RyX3JlcGxhY2UoJHdvcmQsICc8YSBocmVmPSInIC4gJHdvcmQgLiAnIiB0YXJnZXQ9Il9uZXciPicgLiAkd29yZCAuICc8L2E+JywgJHRleHQpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnBvcygkd29yZCwgJ0AnKSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbGluayA9IHN0cl9yZXBsYWNlKCdAJywgJycsICR3b3JkKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGxpbmsgPSBzdHJfcmVwbGFjZSgnOicsICcnLCAkbGluayk7CgogICAgICAgICAgICAgICAgICAgICAgICAkdGV4dCA9IHN0cl9yZXBsYWNlKCR3b3JkLCAnQDxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS8nIC4gJGxpbmsgLiAnIiB0YXJnZXQ9Il9uZXciPicgLiBzdHJfcmVwbGFjZSgnQCcsICcnLCAkd29yZCkgLiAnPC9hPicsICR0ZXh0KTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmIChzdHJwb3MoJHdvcmQsICcjJykgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHRleHQgPSBzdHJfcmVwbGFjZSgkd29yZCwgJzxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9zZWFyY2g/cT0nIC4gcmF3dXJsZW5jb2RlKCR3b3JkKSAuICciIHRhcmdldD0iX25ldyI+JyAuICR3b3JkIC4gJzwvYT4nLCAkdGV4dCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICR0ZXh0OwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzaG9ydGVuVXJscygkbWVzc2FnZSkKICAgICAgICB7CiAgICAgICAgICAgICR3b3JkcyA9IGFycmF5X3VuaXF1ZShleHBsb2RlKCcgJywgJG1lc3NhZ2UpKTsKCiAgICAgICAgICAgICRuZXdfd29yZHMgPSBhcnJheSgpOwoKICAgICAgICAgICAgZm9yZWFjaCAoJHdvcmRzIGFzICR3b3JkKSB7CiAgICAgICAgICAgICAgICBpZiAoc3RycG9zKCR3b3JkLCAnaHR0cCcpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgIC8vJHRleHQgPSBzdHJfcmVwbGFjZSgkd29yZCwgJzxhIGhyZWY9IicgLiAkd29yZCAuICciIHRhcmdldD0iX25ldyI+JyAuICR3b3JkIC4gJzwvYT4nLCAkdGV4dCk7CiAgICAgICAgICAgICAgICAgICAgJG5ld193b3Jkc1tdID0gc2VsZjo6c2hvcnRlblVybCgkd29yZCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRuZXdfd29yZHNbXSA9ICR3b3JkOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gaW1wbG9kZSgnICcsICRuZXdfd29yZHMpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzaG9ydGVuVXJsKCR1cmwsICRzZXJ2aWNlID0gJ2JpdGx5JykKICAgICAgICB7CiAgICAgICAgICAgIHN3aXRjaCAoJHNlcnZpY2UpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ2JpdGx5JzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZjo6c2hvcnRlblVybEJpdEx5KCR1cmwpOwogICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZjo6c2hvcnRlblVybEJpdEx5KCR1cmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNob3J0ZW5VcmxCaXRMeSgkdXJsKQogICAgICAgIHsKICAgICAgICAgICAgLy8gTWFkZSB3aXRoIGJpdC5seSAoZm9yIHRoZSBtb21lbnQsIHRvdG9waGUgYWNjb3VudDogYXBpIGtleTogUl9jNWIwNDc0MzczMWU4NmFiZTMxZGE0OTRmNDBkNGNiNCkKCiAgICAgICAgICAgICRtYWluX3VybCA9ICdodHRwOi8vYXBpLmJpdC5seS9zaG9ydGVuJzsKCiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAnMi4wLjEnLAogICAgICAgICAgICAgICAgJ2Zvcm1hdCcgID0+ICd4bWwnLAogICAgICAgICAgICAgICAgJ2xvZ2luJyAgID0+ICd0b3RvcGhlJywKICAgICAgICAgICAgICAgICdhcGlLZXknICA9PiAnUl9jNWIwNDc0MzczMWU4NmFiZTMxZGE0OTRmNDBkNGNiNCcsCiAgICAgICAgICAgICAgICAnbG9uZ1VybCcgPT4gJHVybCwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgLy92YXJfZHVtcCgkcGFyYW1zKTsKCiAgICAgICAgICAgICR4bWwgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoZmlsZV9nZXRfY29udGVudHMoJG1haW5fdXJsIC4gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zKSkpOwoKICAgICAgICAgICAgaWYgKCR4bWwtPnN0YXR1c0NvZGUgPT0gJ09LJyAmJiAhaXNzZXQoJHhtbC0+cmVzdWx0cy0+bm9kZUtleVZhbC0+c3RhdHVzQ29kZSkpIHsKICAgICAgICAgICAgICAgIC8vdmFyX2R1bXAoJHhtbC0+cmVzdWx0cy0+bm9kZUtleVZhbCk7CiAgICAgICAgICAgICAgICByZXR1cm4gJHhtbC0+cmVzdWx0cy0+bm9kZUtleVZhbC0+c2hvcnRVcmw7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHVybDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVGcm9tT2JqZWN0KHN0ZENsYXNzICRvYmplY3QpCiAgICAgICAgewoKICAgICAgICAgICAgJHR3ZWV0ICA9ICAgbmV3IHNlbGYoKTsKICAgICAgICAgICAgJHR3ZWV0LT5pZCA9ICRvYmplY3QtPmlkOwogICAgICAgICAgICAkdHdlZXQtPmNyZWF0ZWRfYXQgPSAkb2JqZWN0LT5jcmVhdGVkX2F0OwogICAgICAgICAgICAkdHdlZXQtPnRleHQgPSAkb2JqZWN0LT50ZXh0OwogICAgICAgICAgICAkdHdlZXQtPnNvdXJjZSA9ICRvYmplY3QtPnNvdXJjZTsKICAgICAgICAgICAgJHR3ZWV0LT5hdXRob3JfbmFtZSA9ICRvYmplY3QtPnVzZXItPnNjcmVlbl9uYW1lOwogICAgICAgICAgICAkdHdlZXQtPnBpY3R1cmUgPSAkb2JqZWN0LT51c2VyLT5wcm9maWxlX2ltYWdlX3VybDsKCiAgICAgICAgICAgICR0d2VldC0+b2JqZWN0ID0gJG9iamVjdDsKCiAgICAgICAgICAgIHJldHVybiAkdHdlZXQ7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZUZyb21YbWwoJHhtbCkKICAgICAgICB7CiAgICAgICAgICAgICR0d2VldCAgICAgID0gbmV3IHNlbGY7CiAgICAgICAgICAgICR0d2VldC0+eG1sID0gJHhtbDsKCiAgICAgICAgICAgICRjb250ZW50ID0gc2ltcGxleG1sX2xvYWRfc3RyaW5nKCR0d2VldC0+eG1sKTsKCiAgICAgICAgICAgIC8vZWNobyAnPHByZT4nOyB2YXJfZHVtcCgkY29udGVudCk7IGVjaG8gJzwvcHJlPic7CgogICAgICAgICAgICAkZGF0YXNbJ2NyZWF0ZWRfYXQnXSAgPSAkY29udGVudC0+Y3JlYXRlZF9hdDsKICAgICAgICAgICAgJGRhdGFzWydpZCddICAgICAgICAgID0gbnVtYmVyX2Zvcm1hdCgkY29udGVudC0+aWQsIDAsICcuJywgJycpOwogICAgICAgICAgICAkZGF0YXNbJ3RleHQnXSAgICAgICAgPSAkY29udGVudC0+dGV4dDsKICAgICAgICAgICAgJGRhdGFzWydzb3VyY2UnXSAgICAgID0gJGNvbnRlbnQtPnNvdXJjZTsKICAgICAgICAgICAgJGRhdGFzWydhdXRob3JfbmFtZSddID0gJGNvbnRlbnQtPnVzZXItPnNjcmVlbl9uYW1lOwogICAgICAgICAgICAkZGF0YXNbJ3BpY3R1cmUnXSAgICAgPSAkY29udGVudC0+dXNlci0+cHJvZmlsZV9pbWFnZV91cmw7CgogICAgICAgICAgICAkdHdlZXQtPnBvcHVsYXRlKCRkYXRhcyk7CgogICAgICAgICAgICAvL2VjaG8gJzxwcmU+JzsgdmFyX2R1bXAoJHR3ZWV0KTsgZWNobyAnPC9wcmU+JzsKCiAgICAgICAgICAgIHJldHVybiAkdHdlZXQ7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZUZyb21Kc29uKCRqc29uKQogICAgICAgIHsKICAgICAgICAgICAgJHR3ZWV0ICAgICAgICAgICAgICAgID0gbmV3IHNlbGY7CiAgICAgICAgICAgICR0d2VldC0+eG1sICAgICAgICAgICA9ICRqc29uOwogICAgICAgICAgICAkZGF0YXNbJ2NyZWF0ZWRfYXQnXSAgPSAkanNvblsnY3JlYXRlZF9hdCddOwogICAgICAgICAgICAkZGF0YXNbJ2lkJ10gICAgICAgICAgPSBudW1iZXJfZm9ybWF0KCRqc29uWydpZCddLCAwLCAnLicsICcnKTsKICAgICAgICAgICAgJGRhdGFzWyd0ZXh0J10gICAgICAgID0gJGpzb25bJ3RleHQnXTsKICAgICAgICAgICAgJGRhdGFzWydzb3VyY2UnXSAgICAgID0gJGpzb25bJ3NvdXJjZSddOwogICAgICAgICAgICAkZGF0YXNbJ2F1dGhvcl9uYW1lJ10gPSAkanNvblsndXNlciddWydzY3JlZW5fbmFtZSddOwogICAgICAgICAgICAkZGF0YXNbJ3BpY3R1cmUnXSAgICAgPSAkanNvblsndXNlciddWydwcm9maWxlX2ltYWdlX3VybCddOwogICAgICAgICAgICAkdHdlZXQtPnBvcHVsYXRlKCRkYXRhcyk7CgoKICAgICAgICAgICAgLy8kdHdlZXQtPnBpY3R1cmUgPSAkanNvbgogICAgICAgICAgICByZXR1cm4gJHR3ZWV0OwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVGcm9tSnNvblNlYXJjaCgkanNvbikKICAgICAgICB7CiAgICAgICAgICAgICR0d2VldCAgICAgID0gbmV3IHNlbGY7CiAgICAgICAgICAgICR0d2VldC0+eG1sID0gJGpzb247CiAgICAgICAgICAgIC8vdmFyX2R1bXAoJGpzb24pOwogICAgICAgICAgICAkZGF0YXNbJ2NyZWF0ZWRfYXQnXSAgPSAkanNvblsnY3JlYXRlZF9hdCddOwogICAgICAgICAgICAkZGF0YXNbJ2lkJ10gICAgICAgICAgPSBudW1iZXJfZm9ybWF0KCRqc29uWydpZCddLCAwLCAnLicsICcnKTsKICAgICAgICAgICAgJGRhdGFzWyd0ZXh0J10gICAgICAgID0gJGpzb25bJ3RleHQnXTsKICAgICAgICAgICAgJGRhdGFzWydzb3VyY2UnXSAgICAgID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRqc29uWydzb3VyY2UnXSk7CiAgICAgICAgICAgICRkYXRhc1snYXV0aG9yX25hbWUnXSA9ICRqc29uWydmcm9tX3VzZXInXTsKICAgICAgICAgICAgLy8kZGF0YXNbJ3BpY3R1cmUnXSA9ICAkanNvblsndXNlciddWydwcm9maWxlX2ltYWdlX3VybCddOwogICAgICAgICAgICAkZGF0YXNbJ3BpY3R1cmUnXSA9ICRqc29uWydwcm9maWxlX2ltYWdlX3VybCddOwogICAgICAgICAgICAkdHdlZXQtPnBvcHVsYXRlKCRkYXRhcyk7CgoKICAgICAgICAgICAgLy8kdHdlZXQtPnBpY3R1cmUgPSAkanNvbgogICAgICAgICAgICByZXR1cm4gJHR3ZWV0OwogICAgICAgIH0KCgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBwb3B1bGF0ZSgkZGF0YXMpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+Y3JlYXRlZF9hdCAgPSAkZGF0YXNbJ2NyZWF0ZWRfYXQnXTsKICAgICAgICAgICAgJHRoaXMtPmlkICAgICAgICAgID0gJGRhdGFzWydpZCddOwogICAgICAgICAgICAkdGhpcy0+dGV4dCAgICAgICAgPSAkZGF0YXNbJ3RleHQnXTsKICAgICAgICAgICAgJHRoaXMtPnNvdXJjZSAgICAgID0gJGRhdGFzWydzb3VyY2UnXTsKICAgICAgICAgICAgJHRoaXMtPmF1dGhvcl9uYW1lID0gJGRhdGFzWydhdXRob3JfbmFtZSddOwogICAgICAgICAgICAkdGhpcy0+cGljdHVyZSAgICAgPSAkZGF0YXNbJ3BpY3R1cmUnXTsKICAgICAgICB9CgoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhcnNlVGltZWxpbmUoJGVudHJpZXMpCiAgICAgICAgewogICAgICAgICAgICAkdGltZWxpbmUgPSBhcnJheSgpOwoKICAgICAgICAgICAgZm9yZWFjaCAoJGVudHJpZXMgYXMgJGVudHJ5KSB7CiAgICAgICAgICAgICAgICBpZihpc19vYmplY3QoJGVudHJ5KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkdGltZWxpbmVbXSA9IHNlbGY6OmNyZWF0ZUZyb21PYmplY3QoJGVudHJ5KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBGSVggVEhJUyBJU1NVRS4uLiBIZXJlIEkgY2Fubm90IGRvIGEgLT5hc1hNTCBiZWNhdXNlIGl0J3Mgbm90IGFuIG9iamVjdC4uLi4KLy8gICAgICAgICAgICAgICAgICAgICR0aW1lbGluZVtdID0gc2VsZjo6Y3JlYXRlRnJvbVhtbCgkZW50cnktPmFzWG1sKCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHRpbWVsaW5lOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQHBhcmFtICR0aW1lbGluZV94bWwKICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAgICAgKgogICAgICAgICAqIEBkZXByZWNhdGVkCiAgICAgICAgICovCgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFyc2VUaW1lbGluZUZyb21YbWwoJHRpbWVsaW5lX3htbCkKICAgICAgICB7CiAgICAgICAgICAgICR0aW1lbGluZSA9IGFycmF5KCk7CgogICAgICAgICAgICBmb3JlYWNoICgkdGltZWxpbmVfeG1sIGFzICRzdGF0dXMpIHsKICAgICAgICAgICAgICAgICR0aW1lbGluZVtdID0gc2VsZjo6Y3JlYXRlRnJvbVhtbCgkc3RhdHVzLT5hc1htbCgpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICR0aW1lbGluZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFyc2VUaW1lbGluZUZyb21Kc29uKCR0aW1lbGluZV94bWwpCiAgICAgICAgewogICAgICAgICAgICAkdGltZWxpbmUgPSBhcnJheSgpOwogICAgICAgICAgICBpZiAoaXNzZXQoJHRpbWVsaW5lX3htbC0+cmVzdWx0cykpIHsKICAgICAgICAgICAgICAgICRsaXN0ID0gJHRpbWVsaW5lX3htbC0+cmVzdWx0czsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRsaXN0ID0gJHRpbWVsaW5lX3htbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRsaXN0KSkgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3QgYXMgJHN0YXR1cykgewogICAgICAgICAgICAgICAgICAgICR0aW1lbGluZVtdID0gc2VsZjo6Y3JlYXRlRnJvbUpzb24oJHN0YXR1cyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkdGltZWxpbmU7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBhcnNlU2VhcmNoRnJvbUpzb24oJHRpbWVsaW5lX3htbCkKICAgICAgICB7CiAgICAgICAgICAgICR0aW1lbGluZV94bWwgPSBqc29uX2RlY29kZSgkdGltZWxpbmVfeG1sLCAxKTsKICAgICAgICAgICAgLy92YXJfZHVtcCgkdGltZWxpbmVfeG1sKTsKICAgICAgICAgICAgJHRpbWVsaW5lID0gYXJyYXkoKTsKICAgICAgICAgICAgaWYgKGlzc2V0KCR0aW1lbGluZV94bWxbJ3Jlc3VsdHMnXSkpIHsKICAgICAgICAgICAgICAgICRsaXN0ID0gJHRpbWVsaW5lX3htbFsncmVzdWx0cyddOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGxpc3QgPSAkdGltZWxpbmVfeG1sOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3QgYXMgJHN0YXR1cykgewogICAgICAgICAgICAgICAgJHRpbWVsaW5lW10gPSBzZWxmOjpjcmVhdGVGcm9tSnNvblNlYXJjaCgkc3RhdHVzKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICR0aW1lbGluZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGlzdGFuY2Vfb2ZfdGltZV9pbl93b3JkcygkZnJvbV90aW1lLCAkdG9fdGltZSA9IE5VTEwsICRpbmNsdWRlX3NlY29uZHMgPSBmYWxzZSkKICAgICAgICB7CiAgICAgICAgICAgICR0b190aW1lID0gJHRvX3RpbWUgPyAkdG9fdGltZSA6IHRpbWUoKTsKCiAgICAgICAgICAgICRkaXN0YW5jZV9pbl9taW51dGVzID0gZmxvb3IoYWJzKCR0b190aW1lIC0gJGZyb21fdGltZSkgLyA2MCk7CiAgICAgICAgICAgICRkaXN0YW5jZV9pbl9zZWNvbmRzID0gZmxvb3IoYWJzKCR0b190aW1lIC0gJGZyb21fdGltZSkpOwoKICAgICAgICAgICAgJHN0cmluZyAgICAgPSAnJzsKICAgICAgICAgICAgJHBhcmFtZXRlcnMgPSBhcnJheSgpOwoKICAgICAgICAgICAgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDEpIHsKICAgICAgICAgICAgICAgIGlmICghJGluY2x1ZGVfc2Vjb25kcykgewogICAgICAgICAgICAgICAgICAgICRzdHJpbmcgPSAkZGlzdGFuY2VfaW5fbWludXRlcyA9PSAwID8gJ2xlc3MgdGhhbiBhIG1pbnV0ZScgOiAnMSBtaW51dGUnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJGRpc3RhbmNlX2luX3NlY29uZHMgPD0gNSkgewogICAgICAgICAgICAgICAgICAgICAgICAkc3RyaW5nID0gJ2xlc3MgdGhhbiA1IHNlY29uZHMnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRpc3RhbmNlX2luX3NlY29uZHMgPj0gNiAmJiAkZGlzdGFuY2VfaW5fc2Vjb25kcyA8PSAxMCkgewogICAgICAgICAgICAgICAgICAgICAgICAkc3RyaW5nID0gJ2xlc3MgdGhhbiAxMCBzZWNvbmRzJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9zZWNvbmRzID49IDExICYmICRkaXN0YW5jZV9pbl9zZWNvbmRzIDw9IDIwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzdHJpbmcgPSAnbGVzcyB0aGFuIDIwIHNlY29uZHMnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRpc3RhbmNlX2luX3NlY29uZHMgPj0gMjEgJiYgJGRpc3RhbmNlX2luX3NlY29uZHMgPD0gNDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHN0cmluZyA9ICdoYWxmIGEgbWludXRlJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9zZWNvbmRzID49IDQxICYmICRkaXN0YW5jZV9pbl9zZWNvbmRzIDw9IDU5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzdHJpbmcgPSAnbGVzcyB0aGFuIGEgbWludXRlJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkc3RyaW5nID0gJzEgbWludXRlJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gMiAmJiAkZGlzdGFuY2VfaW5fbWludXRlcyA8PSA0NCkgewogICAgICAgICAgICAgICAgJHN0cmluZyAgICAgICAgICAgICAgICAgID0gJyVtaW51dGVzJSBtaW51dGVzJzsKICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJzWyclbWludXRlcyUnXSA9ICRkaXN0YW5jZV9pbl9taW51dGVzOwogICAgICAgICAgICB9IGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzID49IDQ1ICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDg5KSB7CiAgICAgICAgICAgICAgICAkc3RyaW5nID0gJ2Fib3V0IDEgaG91cic7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gOTAgJiYgJGRpc3RhbmNlX2luX21pbnV0ZXMgPD0gMTQzOSkgewogICAgICAgICAgICAgICAgJHN0cmluZyAgICAgICAgICAgICAgICA9ICdhYm91dCAlaG91cnMlIGhvdXJzJzsKICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJzWyclaG91cnMlJ10gPSByb3VuZCgkZGlzdGFuY2VfaW5fbWludXRlcyAvIDYwKTsKICAgICAgICAgICAgfSBlbHNlIGlmICgkZGlzdGFuY2VfaW5fbWludXRlcyA+PSAxNDQwICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDI4NzkpIHsKICAgICAgICAgICAgICAgICRzdHJpbmcgPSAnMSBkYXknOwogICAgICAgICAgICB9IGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzID49IDI4ODAgJiYgJGRpc3RhbmNlX2luX21pbnV0ZXMgPD0gNDMxOTkpIHsKICAgICAgICAgICAgICAgICRzdHJpbmcgICAgICAgICAgICAgICA9ICclZGF5cyUgZGF5cyc7CiAgICAgICAgICAgICAgICAkcGFyYW1ldGVyc1snJWRheXMlJ10gPSByb3VuZCgkZGlzdGFuY2VfaW5fbWludXRlcyAvIDE0NDApOwogICAgICAgICAgICB9IGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzID49IDQzMjAwICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDg2Mzk5KSB7CiAgICAgICAgICAgICAgICAkc3RyaW5nID0gJ2Fib3V0IDEgbW9udGgnOwogICAgICAgICAgICB9IGVsc2UgaWYgKCRkaXN0YW5jZV9pbl9taW51dGVzID49IDg2NDAwICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDUyNTk1OSkgewogICAgICAgICAgICAgICAgJHN0cmluZyAgICAgICAgICAgICAgICAgPSAnJW1vbnRocyUgbW9udGhzJzsKICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJzWyclbW9udGhzJSddID0gcm91bmQoJGRpc3RhbmNlX2luX21pbnV0ZXMgLyA0MzIwMCk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRpc3RhbmNlX2luX21pbnV0ZXMgPj0gNTI1OTYwICYmICRkaXN0YW5jZV9pbl9taW51dGVzIDw9IDEwNTE5MTkpIHsKICAgICAgICAgICAgICAgICRzdHJpbmcgPSAnYWJvdXQgMSB5ZWFyJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRzdHJpbmcgICAgICAgICAgICAgICAgPSAnb3ZlciAleWVhcnMlIHllYXJzJzsKICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJzWycleWVhcnMlJ10gPSBmbG9vcigkZGlzdGFuY2VfaW5fbWludXRlcyAvIDUyNTk2MCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBzdHJ0cigkc3RyaW5nLCAkcGFyYW1ldGVycyk7CgogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRDdXJsKCR1cmwsICRjcmVkZW50aWFscyA9IE5VTEwsICRkYXRhID0gYXJyYXkoKSwgJG1ldGhvZCA9ICdQT1NUJykKICAgICAgICB7CiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIG5ldyBjVVJMIHJlc291cmNlCiAgICAgICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwoKICAgICAgICAgICAgaWYgKGNvdW50KCRkYXRhKSAhPSAwKSB7CiAgICAgICAgICAgICAgICAkdXJsIC49ICc/JyAuIGh0dHBfYnVpbGRfcXVlcnkoJGRhdGEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBzZXQgVVJMIGFuZCBvdGhlciBhcHByb3ByaWF0ZSBvcHRpb25zCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwoKICAgICAgICAgICAgaWYgKCRjcmVkZW50aWFscykgewogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJQV0QsICcnIC4gJGNyZWRlbnRpYWxzWydsb2dpbiddIC4gJzonIC4gJGNyZWRlbnRpYWxzWydwYXNzd29yZCddIC4gJycpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJG1ldGhvZCA9PSAnUE9TVCcpIHsKICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgnRXhwZWN0OicpKTsKCiAgICAgICAgICAgIC8qCiAgICAgICAgICAgIC8qCiAgICAgICAgICAgIGlmIChjb3VudCgkZGF0YSkgIT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRkYXRhKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAqLwoKICAgICAgICAgICAgLy8gZ3JhYiBVUkwgYW5kIHBhc3MgaXQgdG8gdGhlIGJyb3dzZXIKICAgICAgICAgICAgJG91dHB1dCA9IGN1cmxfZXhlYygkY2gpOwoKICAgICAgICAgICAgLy8gY2xvc2UgY1VSTCByZXNvdXJjZSwgYW5kIGZyZWUgdXAgc3lzdGVtIHJlc291cmNlcwogICAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CgogICAgICAgICAgICByZXR1cm4gJG91dHB1dDsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIGRvU2VhcmNoIHBlcmZvcm1zIGEgc2VhcmNoIHF1ZXJ5CiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gJHF1ZXJ5ICBUaGUgcXVlcnkgc3RyaW5nLCBsaW1pdGVkIHRvIDE0MCBjaGFycwogICAgICAgICAqIEBwYXJhbSAkcGFyYW1zIFBhcmFtZXRlcnMgZm9yIHRoZSBxdWVyeQogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiBzaW1wbGV4bWwKICAgICAgICAgKiBAZGVwcmVjYXRlZAogICAgICAgICAqLwogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZG9TZWFyY2goJHF1ZXJ5LCAkcGFyYW1zID0gYXJyYXkoKSkKICAgICAgICB7CiAgICAgICAgICAgICR1cmwgPSAnaHR0cDovL3NlYXJjaC50d2l0dGVyLmNvbS9zZWFyY2guYXRvbSc7CgogICAgICAgICAgICBpZiAoc3RycG9zKCRxdWVyeSwgJ09SJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkcXVlcnkgICAgICAgICA9IHN0cl9yZXBsYWNlKCdPUicsICcgJywgc3RyX3JlcGxhY2UoJyAnLCAnJywgJHF1ZXJ5KSk7CiAgICAgICAgICAgICAgICAkcGFyYW1zWydvcnMnXSA9ICRxdWVyeTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRwYXJhbXNbJ3EnXSA9IHN0cl9yZXBsYWNlKCcgJywgJycsICRxdWVyeSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoVHdlZXQ6OmdldEN1cmwoJHVybCwgTlVMTCwgJHBhcmFtcywgJ0dFVCcpKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBkZXByZWNhdGVkCiAgICAgICAgICovCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb0pzb25TZWFyY2goJHF1ZXJ5LCAkcGFyYW1zID0gYXJyYXkoKSkKICAgICAgICB7CiAgICAgICAgICAgICR1cmwgPSAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vMS4xL3NlYXJjaC90d2VldHMuanNvbic7CgogICAgICAgICAgICBpZiAoc3RycG9zKCRxdWVyeSwgJ09SJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkcXVlcnkgICAgICAgICA9IHN0cl9yZXBsYWNlKCdPUicsICcgJywgc3RyX3JlcGxhY2UoJyAnLCAnJywgJHF1ZXJ5KSk7CiAgICAgICAgICAgICAgICAkcGFyYW1zWydvcnMnXSA9ICRxdWVyeTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRwYXJhbXNbJ3EnXSA9IHN0cl9yZXBsYWNlKCcgJywgJycsICRxdWVyeSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAoVHdlZXQ6OmdldEN1cmwoJHVybCwgTlVMTCwgJHBhcmFtcywgJ0dFVCcpKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFyc2VTZWFyY2goJHJlc3VsdHMsICRsaW1pdCA9IE5VTEwpCiAgICAgICAgewogICAgICAgICAgICAkZW50cmllcyA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXN1bHRzLT5lbnRyeSBhcyAkZW50cnkpIHsKICAgICAgICAgICAgICAgICR0d2VldCAgICAgID0gbmV3IHNlbGY7CiAgICAgICAgICAgICAgICAkdHdlZXQtPnhtbCA9ICRlbnRyeTsKCgogICAgICAgICAgICAgICAgJGRhdGFzWydjcmVhdGVkX2F0J10gID0gJGVudHJ5LT5wdWJsaXNoZWQ7CiAgICAgICAgICAgICAgICAkZGF0YXNbJ2lkJ10gICAgICAgICAgPSAkZW50cnktPmlkOwogICAgICAgICAgICAgICAgJGRhdGFzWyd0ZXh0J10gICAgICAgID0gJGVudHJ5LT50aXRsZTsKICAgICAgICAgICAgICAgICRkYXRhc1snc291cmNlJ10gICAgICA9ICRlbnRyeS0+c291cmNlOwogICAgICAgICAgICAgICAgJGRhdGFzWydhdXRob3JfbmFtZSddID0gJGVudHJ5LT51c2VyLT5zY3JlZW5fbmFtZTsKICAgICAgICAgICAgICAgIC8vJGRhdGFzWydhdXRob3JfdXJpJ10gPSAgJGVudHJ5LT5hdXRob3ItPnVyaTsKICAgICAgICAgICAgICAgICRkYXRhc1sncGljdHVyZSddID0gJyc7CgogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGVudHJ5LT5saW5rIGFzICRpbmZvKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRpbmZvLT5hdHRyaWJ1dGVzKCktPnJlbCA9PSAnaW1hZ2UnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRkYXRhc1sncGljdHVyZSddID0gJGluZm8tPmF0dHJpYnV0ZXMoKS0+aHJlZjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJHR3ZWV0LT5wb3B1bGF0ZSgkZGF0YXMpOwoKICAgICAgICAgICAgICAgICRlbnRyaWVzW10gPSAkdHdlZXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkZW50cmllczsKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.TwitterOAuth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKgogICAgICogQWJyYWhhbSBXaWxsaWFtcyAoYWJyYWhhbUBhYnJhaC5hbSkgaHR0cDovL2FicmFoLmFtCiAgICAgKgogICAgICogVGhlIGZpcnN0IFBIUCBMaWJyYXJ5IHRvIHN1cHBvcnQgT0F1dGggZm9yIFR3aXR0ZXIncyBSRVNUIEFQSS4KICAgICAqLwoKICAgIC8qIExvYWQgT0F1dGggbGliLiBZb3UgY2FuIGZpbmQgaXQgYXQgaHR0cDovL29hdXRoLm5ldCAqLwovLyAgICByZXF1aXJlX29uY2UoJ09BdXRoLnBocCcpOwoKICAgIC8qKgogICAgICogVHdpdHRlciBPQXV0aCBjbGFzcwogICAgICovCiAgICBjbGFzcyBUd2l0dGVyT0F1dGggewogICAgICAgIC8qIENvbnRhaW5zIHRoZSBsYXN0IEhUVFAgc3RhdHVzIGNvZGUgcmV0dXJuZWQuICovCiAgICAgICAgcHVibGljICRodHRwX2NvZGU7CiAgICAgICAgLyogQ29udGFpbnMgdGhlIGxhc3QgQVBJIGNhbGwuICovCiAgICAgICAgcHVibGljICR1cmw7CiAgICAgICAgLyogU2V0IHVwIHRoZSBBUEkgcm9vdCBVUkwuICovCiAgICAgICAgcHVibGljICRob3N0ID0gImh0dHBzOi8vYXBpLnR3aXR0ZXIuY29tLzEuMS8iOwogICAgICAgIC8qIFNldCB0aW1lb3V0IGRlZmF1bHQuICovCiAgICAgICAgcHVibGljICR0aW1lb3V0ID0gMzA7CiAgICAgICAgLyogU2V0IGNvbm5lY3QgdGltZW91dC4gKi8KICAgICAgICBwdWJsaWMgJGNvbm5lY3R0aW1lb3V0ID0gMzA7CiAgICAgICAgLyogVmVyaWZ5IFNTTCBDZXJ0LiAqLwogICAgICAgIHB1YmxpYyAkc3NsX3ZlcmlmeXBlZXIgPSBGQUxTRTsKICAgICAgICAvKiBSZXNwb25zIGZvcm1hdC4gKi8KICAgICAgICBwdWJsaWMgJGZvcm1hdCA9ICdqc29uJzsKICAgICAgICAvKiBEZWNvZGUgcmV0dXJuZWQganNvbiBkYXRhLiAqLwogICAgICAgIHB1YmxpYyAkZGVjb2RlX2pzb24gPSBUUlVFOwogICAgICAgIC8qIENvbnRhaW5zIHRoZSBsYXN0IEhUVFAgaGVhZGVycyByZXR1cm5lZC4gKi8KICAgICAgICBwdWJsaWMgJGh0dHBfaW5mbzsKICAgICAgICAvKiBTZXQgdGhlIHVzZXJhZ25ldC4gKi8KICAgICAgICBwdWJsaWMgJHVzZXJhZ2VudCA9ICdUd2l0dGVyT0F1dGggdjAuMi4wLWJldGEyJzsKICAgICAgICAvKiBJbW1lZGlhdGVseSByZXRyeSB0aGUgQVBJIGNhbGwgaWYgdGhlIHJlc3BvbnNlIHdhcyBub3Qgc3VjY2Vzc2Z1bC4gKi8KICAgICAgICAvL3B1YmxpYyAkcmV0cnkgPSBUUlVFOwoKCgoKICAgICAgICAvKioKICAgICAgICAgKiBTZXQgQVBJIFVSTFMKICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBhY2Nlc3NUb2tlblVSTCgpICB7IHJldHVybiAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vb2F1dGgvYWNjZXNzX3Rva2VuJzsgfQogICAgICAgIGZ1bmN0aW9uIGF1dGhlbnRpY2F0ZVVSTCgpIHsgcmV0dXJuICdodHRwczovL2FwaS50d2l0dGVyLmNvbS9vYXV0aC9hdXRoZW50aWNhdGUnOyB9CiAgICAgICAgZnVuY3Rpb24gYXV0aG9yaXplVVJMKCkgICAgeyByZXR1cm4gJ2h0dHBzOi8vYXBpLnR3aXR0ZXIuY29tL29hdXRoL2F1dGhvcml6ZSc7IH0KICAgICAgICBmdW5jdGlvbiByZXF1ZXN0VG9rZW5VUkwoKSB7IHJldHVybiAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vb2F1dGgvcmVxdWVzdF90b2tlbic7IH0KCiAgICAgICAgLyoqCiAgICAgICAgICogRGVidWcgaGVscGVycwogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGxhc3RTdGF0dXNDb2RlKCkgeyByZXR1cm4gJHRoaXMtPmh0dHBfc3RhdHVzOyB9CiAgICAgICAgZnVuY3Rpb24gbGFzdEFQSUNhbGwoKSB7IHJldHVybiAkdGhpcy0+bGFzdF9hcGlfY2FsbDsgfQoKICAgICAgICAvKioKICAgICAgICAgKiBjb25zdHJ1Y3QgVHdpdHRlck9BdXRoIG9iamVjdAogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25zdW1lcl9rZXksICRjb25zdW1lcl9zZWNyZXQsICRvYXV0aF90b2tlbiA9IE5VTEwsICRvYXV0aF90b2tlbl9zZWNyZXQgPSBOVUxMKSB7CiAgICAgICAgICAgICR0aGlzLT5zaGExX21ldGhvZCA9IG5ldyBPQXV0aFNpZ25hdHVyZU1ldGhvZF9ITUFDX1NIQTEoKTsKICAgICAgICAgICAgJHRoaXMtPmNvbnN1bWVyID0gbmV3IE9BdXRoQ29uc3VtZXIoJGNvbnN1bWVyX2tleSwgJGNvbnN1bWVyX3NlY3JldCk7CiAgICAgICAgICAgIGlmICghZW1wdHkoJG9hdXRoX3Rva2VuKSAmJiAhZW1wdHkoJG9hdXRoX3Rva2VuX3NlY3JldCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT50b2tlbiA9IG5ldyBPQXV0aENvbnN1bWVyKCRvYXV0aF90b2tlbiwgJG9hdXRoX3Rva2VuX3NlY3JldCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+dG9rZW4gPSBOVUxMOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgLyoqCiAgICAgICAgICogR2V0IGEgcmVxdWVzdF90b2tlbiBmcm9tIFR3aXR0ZXIKICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm5zIGEga2V5L3ZhbHVlIGFycmF5IGNvbnRhaW5pbmcgb2F1dGhfdG9rZW4gYW5kIG9hdXRoX3Rva2VuX3NlY3JldAogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldFJlcXVlc3RUb2tlbigkb2F1dGhfY2FsbGJhY2spIHsKICAgICAgICAgICAgJHBhcmFtZXRlcnMgPSBhcnJheSgpOwogICAgICAgICAgICAkcGFyYW1ldGVyc1snb2F1dGhfY2FsbGJhY2snXSA9ICRvYXV0aF9jYWxsYmFjazsKICAgICAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+b0F1dGhSZXF1ZXN0KCR0aGlzLT5yZXF1ZXN0VG9rZW5VUkwoKSwgJ0dFVCcsICRwYXJhbWV0ZXJzKTsKICAgICAgICAgICAgJHRva2VuID0gT0F1dGhVdGlsOjpwYXJzZV9wYXJhbWV0ZXJzKCRyZXF1ZXN0KTsKICAgICAgICAgICAgJHRoaXMtPnRva2VuID0gbmV3IE9BdXRoQ29uc3VtZXIoJHRva2VuWydvYXV0aF90b2tlbiddLCAkdG9rZW5bJ29hdXRoX3Rva2VuX3NlY3JldCddKTsKICAgICAgICAgICAgcmV0dXJuICR0b2tlbjsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEdldCB0aGUgYXV0aG9yaXplIFVSTAogICAgICAgICAqCiAgICAgICAgICogQHJldHVybnMgYSBzdHJpbmcKICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRBdXRob3JpemVVUkwoJHRva2VuLCAkc2lnbl9pbl93aXRoX3R3aXR0ZXIgPSBUUlVFKSB7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkdG9rZW4pKSB7CiAgICAgICAgICAgICAgICAkdG9rZW4gPSAkdG9rZW5bJ29hdXRoX3Rva2VuJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGVtcHR5KCRzaWduX2luX3dpdGhfdHdpdHRlcikpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+YXV0aG9yaXplVVJMKCkgLiAiP29hdXRoX3Rva2VuPXskdG9rZW59IjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+YXV0aGVudGljYXRlVVJMKCkgLiAiP29hdXRoX3Rva2VuPXskdG9rZW59IjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogRXhjaGFuZ2UgcmVxdWVzdCB0b2tlbiBhbmQgc2VjcmV0IGZvciBhbiBhY2Nlc3MgdG9rZW4gYW5kCiAgICAgICAgICogc2VjcmV0LCB0byBzaWduIEFQSSBjYWxscy4KICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm5zIGFycmF5KCJvYXV0aF90b2tlbiIgPT4gInRoZS1hY2Nlc3MtdG9rZW4iLAogICAgICAgICAqICAgICAgICAgICAgICAgICJvYXV0aF90b2tlbl9zZWNyZXQiID0+ICJ0aGUtYWNjZXNzLXNlY3JldCIsCiAgICAgICAgICogICAgICAgICAgICAgICAgInVzZXJfaWQiID0+ICI5NDM2OTkyIiwKICAgICAgICAgKiAgICAgICAgICAgICAgICAic2NyZWVuX25hbWUiID0+ICJhYnJhaGFtIikKICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRBY2Nlc3NUb2tlbigkb2F1dGhfdmVyaWZpZXIpIHsKICAgICAgICAgICAgJHBhcmFtZXRlcnMgPSBhcnJheSgpOwogICAgICAgICAgICAkcGFyYW1ldGVyc1snb2F1dGhfdmVyaWZpZXInXSA9ICRvYXV0aF92ZXJpZmllcjsKICAgICAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+b0F1dGhSZXF1ZXN0KCR0aGlzLT5hY2Nlc3NUb2tlblVSTCgpLCAnR0VUJywgJHBhcmFtZXRlcnMpOwogICAgICAgICAgICAkdG9rZW4gPSBPQXV0aFV0aWw6OnBhcnNlX3BhcmFtZXRlcnMoJHJlcXVlc3QpOwogICAgICAgICAgICAkdGhpcy0+dG9rZW4gPSBuZXcgT0F1dGhDb25zdW1lcigkdG9rZW5bJ29hdXRoX3Rva2VuJ10sICR0b2tlblsnb2F1dGhfdG9rZW5fc2VjcmV0J10pOwogICAgICAgICAgICByZXR1cm4gJHRva2VuOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogT25lIHRpbWUgZXhjaGFuZ2Ugb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZvciBhY2Nlc3MgdG9rZW4gYW5kIHNlY3JldC4KICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm5zIGFycmF5KCJvYXV0aF90b2tlbiIgPT4gInRoZS1hY2Nlc3MtdG9rZW4iLAogICAgICAgICAqICAgICAgICAgICAgICAgICJvYXV0aF90b2tlbl9zZWNyZXQiID0+ICJ0aGUtYWNjZXNzLXNlY3JldCIsCiAgICAgICAgICogICAgICAgICAgICAgICAgInVzZXJfaWQiID0+ICI5NDM2OTkyIiwKICAgICAgICAgKiAgICAgICAgICAgICAgICAic2NyZWVuX25hbWUiID0+ICJhYnJhaGFtIiwKICAgICAgICAgKiAgICAgICAgICAgICAgICAieF9hdXRoX2V4cGlyZXMiID0+ICIwIikKICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRYQXV0aFRva2VuKCR1c2VybmFtZSwgJHBhc3N3b3JkKSB7CiAgICAgICAgICAgICRwYXJhbWV0ZXJzID0gYXJyYXkoKTsKICAgICAgICAgICAgJHBhcmFtZXRlcnNbJ3hfYXV0aF91c2VybmFtZSddID0gJHVzZXJuYW1lOwogICAgICAgICAgICAkcGFyYW1ldGVyc1sneF9hdXRoX3Bhc3N3b3JkJ10gPSAkcGFzc3dvcmQ7CiAgICAgICAgICAgICRwYXJhbWV0ZXJzWyd4X2F1dGhfbW9kZSddID0gJ2NsaWVudF9hdXRoJzsKICAgICAgICAgICAgJHJlcXVlc3QgPSAkdGhpcy0+b0F1dGhSZXF1ZXN0KCR0aGlzLT5hY2Nlc3NUb2tlblVSTCgpLCAnUE9TVCcsICRwYXJhbWV0ZXJzKTsKICAgICAgICAgICAgJHRva2VuID0gT0F1dGhVdGlsOjpwYXJzZV9wYXJhbWV0ZXJzKCRyZXF1ZXN0KTsKICAgICAgICAgICAgJHRoaXMtPnRva2VuID0gbmV3IE9BdXRoQ29uc3VtZXIoJHRva2VuWydvYXV0aF90b2tlbiddLCAkdG9rZW5bJ29hdXRoX3Rva2VuX3NlY3JldCddKTsKICAgICAgICAgICAgcmV0dXJuICR0b2tlbjsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEdFVCB3cmFwcGVyIGZvciBvQXV0aFJlcXVlc3QuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0KCR1cmwsICRwYXJhbWV0ZXJzID0gYXJyYXkoKSkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSAkdGhpcy0+b0F1dGhSZXF1ZXN0KCR1cmwsICdHRVQnLCAkcGFyYW1ldGVycyk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+Zm9ybWF0ID09PSAnanNvbicgJiYgJHRoaXMtPmRlY29kZV9qc29uKSB7CiAgICAgICAgICAgICAgICByZXR1cm4ganNvbl9kZWNvZGUoJHJlc3BvbnNlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJHJlc3BvbnNlOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogUE9TVCB3cmFwcGVyIGZvciBvQXV0aFJlcXVlc3QuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gcG9zdCgkdXJsLCAkcGFyYW1ldGVycyA9IGFycmF5KCkpIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPm9BdXRoUmVxdWVzdCgkdXJsLCAnUE9TVCcsICRwYXJhbWV0ZXJzKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5mb3JtYXQgPT09ICdqc29uJyAmJiAkdGhpcy0+ZGVjb2RlX2pzb24pIHsKICAgICAgICAgICAgICAgIHJldHVybiBqc29uX2RlY29kZSgkcmVzcG9uc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkcmVzcG9uc2U7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBERUxFVEUgd3JhcHBlciBmb3Igb0F1dGhSZXFldXN0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGRlbGV0ZSgkdXJsLCAkcGFyYW1ldGVycyA9IGFycmF5KCkpIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPm9BdXRoUmVxdWVzdCgkdXJsLCAnREVMRVRFJywgJHBhcmFtZXRlcnMpOwogICAgICAgICAgICBpZiAoJHRoaXMtPmZvcm1hdCA9PT0gJ2pzb24nICYmICR0aGlzLT5kZWNvZGVfanNvbikgewogICAgICAgICAgICAgICAgcmV0dXJuIGpzb25fZGVjb2RlKCRyZXNwb25zZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRyZXNwb25zZTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEZvcm1hdCBhbmQgc2lnbiBhbiBPQXV0aCAvIEFQSSByZXF1ZXN0CiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gb0F1dGhSZXF1ZXN0KCR1cmwsICRtZXRob2QsICRwYXJhbWV0ZXJzKSB7CiAgICAgICAgICAgIGlmIChzdHJycG9zKCR1cmwsICdodHRwczovLycpICE9PSAwICYmIHN0cnJwb3MoJHVybCwgJ2h0dHA6Ly8nKSAhPT0gMCkgewogICAgICAgICAgICAgICAgJHVybCA9ICJ7JHRoaXMtPmhvc3R9eyR1cmx9LnskdGhpcy0+Zm9ybWF0fSI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHJlcXVlc3QgPSBPQXV0aFJlcXVlc3Q6OmZyb21fY29uc3VtZXJfYW5kX3Rva2VuKCR0aGlzLT5jb25zdW1lciwgJHRoaXMtPnRva2VuLCAkbWV0aG9kLCAkdXJsLCAkcGFyYW1ldGVycyk7CiAgICAgICAgICAgICRyZXF1ZXN0LT5zaWduX3JlcXVlc3QoJHRoaXMtPnNoYTFfbWV0aG9kLCAkdGhpcy0+Y29uc3VtZXIsICR0aGlzLT50b2tlbik7CiAgICAgICAgICAgIHN3aXRjaCAoJG1ldGhvZCkgewogICAgICAgICAgICAgICAgY2FzZSAnR0VUJzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPmh0dHAoJHJlcXVlc3QtPnRvX3VybCgpLCAnR0VUJyk7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aHR0cCgkcmVxdWVzdC0+Z2V0X25vcm1hbGl6ZWRfaHR0cF91cmwoKSwgJG1ldGhvZCwgJHJlcXVlc3QtPnRvX3Bvc3RkYXRhKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBNYWtlIGFuIEhUVFAgcmVxdWVzdAogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiBBUEkgcmVzdWx0cwogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGh0dHAoJHVybCwgJG1ldGhvZCwgJHBvc3RmaWVsZHMgPSBOVUxMKSB7CiAgICAgICAgICAgICR0aGlzLT5odHRwX2luZm8gPSBhcnJheSgpOwogICAgICAgICAgICAkY2kgPSBjdXJsX2luaXQoKTsKICAgICAgICAgICAgLyogQ3VybCBzZXR0aW5ncyAqLwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2ksIENVUkxPUFRfVVNFUkFHRU5ULCAkdGhpcy0+dXNlcmFnZW50KTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNpLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdGhpcy0+Y29ubmVjdHRpbWVvdXQpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2ksIENVUkxPUFRfVElNRU9VVCwgJHRoaXMtPnRpbWVvdXQpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2ksIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIFRSVUUpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2ksIENVUkxPUFRfSFRUUEhFQURFUiwgYXJyYXkoJ0V4cGVjdDonKSk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaSwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgJHRoaXMtPnNzbF92ZXJpZnlwZWVyKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNpLCBDVVJMT1BUX0hFQURFUkZVTkNUSU9OLCBhcnJheSgkdGhpcywgJ2dldEhlYWRlcicpKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNpLCBDVVJMT1BUX0hFQURFUiwgRkFMU0UpOwoKICAgICAgICAgICAgc3dpdGNoICgkbWV0aG9kKSB7CiAgICAgICAgICAgICAgICBjYXNlICdQT1NUJzoKICAgICAgICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2ksIENVUkxPUFRfUE9TVCwgVFJVRSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkcG9zdGZpZWxkcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNpLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRwb3N0ZmllbGRzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdERUxFVEUnOgogICAgICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaSwgQ1VSTE9QVF9DVVNUT01SRVFVRVNULCAnREVMRVRFJyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkcG9zdGZpZWxkcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHVybCA9ICJ7JHVybH0/eyRwb3N0ZmllbGRzfSI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2ksIENVUkxPUFRfVVJMLCAkdXJsKTsKICAgICAgICAgICAgJHJlc3BvbnNlID0gY3VybF9leGVjKCRjaSk7CiAgICAgICAgICAgICR0aGlzLT5odHRwX2NvZGUgPSBjdXJsX2dldGluZm8oJGNpLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgICAgICAkdGhpcy0+aHR0cF9pbmZvID0gYXJyYXlfbWVyZ2UoJHRoaXMtPmh0dHBfaW5mbywgY3VybF9nZXRpbmZvKCRjaSkpOwogICAgICAgICAgICAkdGhpcy0+dXJsID0gJHVybDsKICAgICAgICAgICAgY3VybF9jbG9zZSAoJGNpKTsKICAgICAgICAgICAgcmV0dXJuICRyZXNwb25zZTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEdldCB0aGUgaGVhZGVyIGluZm8gdG8gc3RvcmUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0SGVhZGVyKCRjaCwgJGhlYWRlcikgewogICAgICAgICAgICAkaSA9IHN0cnBvcygkaGVhZGVyLCAnOicpOwogICAgICAgICAgICBpZiAoIWVtcHR5KCRpKSkgewogICAgICAgICAgICAgICAgJGtleSA9IHN0cl9yZXBsYWNlKCctJywgJ18nLCBzdHJ0b2xvd2VyKHN1YnN0cigkaGVhZGVyLCAwLCAkaSkpKTsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IHRyaW0oc3Vic3RyKCRoZWFkZXIsICRpICsgMikpOwogICAgICAgICAgICAgICAgJHRoaXMtPmh0dHBfaGVhZGVyWyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBzdHJsZW4oJGhlYWRlcik7CiAgICAgICAgfQogICAgfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/old.class.TwitterAuth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAgKiAKICAqIFByb2plY3Q6IFR3aXR0ZXIKICAqIENyZWF0ZWQgb246IDE2LzA3LzEzIDE0OjM0CiAgKgogICogQ29weXJpZ2h0IDIwMTMgQXRvbSBTZWVkcyAtIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8amNjQGF0b21zZWVkcy5jb20+IAogICovCgpjbGFzcyBUd2l0dGVyQXV0aCB7CgogICAgdmFyICRjb25zdW1lcl9rZXk7CiAgICB2YXIgJGNvbnN1bWVyX3NlY3JldDsKCiAgICBjb25zdCBVU0VSX0FHRU5UID0gJ1R3ZWV0TWFkZVNpbXBsZSAoaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90d2l0dGVyKSc7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb25zdW1lcl9rZXkgVHdpdHRlciBjb25zdW1lciBrZXkKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNvbnN1bWVyX3NlY3JldCBUd2l0dGVyIGNvbnN1bWVyIHNlY3JldAogICAgICovCgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25zdW1lcl9rZXksICRjb25zdW1lcl9zZWNyZXQpIHsKICAgICAgICAkdGhpcy0+Y29uc3VtZXJfa2V5ID0gJGNvbnN1bWVyX2tleTsKICAgICAgICAkdGhpcy0+Y29uc3VtZXJfc2VjcmV0ID0gJGNvbnN1bWVyX3NlY3JldDsKICAgIH0KCgoKICAgIHByaXZhdGUgZnVuY3Rpb24gbWFrZVR3aXR0ZXJDYWxsKCR1cmwsICRkYXRhLCAkbWV0aG9kID0gJ0dFVCcsICRhdXRoID0gJ2FwcCcsICRhdXRoX3BhcmFtcyA9IG51bGwpCiAgICB7CgogICAgICAgICR0aGlzLT5iZWFyZXIgPSBiYXNlNjRfZW5jb2RlKHVybGVuY29kZSgka2V5KSAuICc6JyAuIHVybGVuY29kZSgkc2VjcmV0KSk7CgogICAgICAgIC8vIFRPRE86IFVzZSBHdXp6bGUgIQogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwoKICAgICAgICBpZiAoJ1BPU1QnID09ICRtZXRob2QpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIDEpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJGRhdGEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR1cmwgLj0gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkZGF0YSk7CiAgICAgICAgfQoKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwoKICAgICAgICBzd2l0Y2ggKCRhdXRoKSB7CiAgICAgICAgICAgIGNhc2UgJ2FwcCc6CiAgICAgICAgICAgICAgICAkYXV0aCA9ICR0aGlzLT5nZXRUd2l0dGVyQXV0aG9yaXphdGlvbigpOwoKICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgKICAgICAgICAgICAgICAgICAgICAvLyAnQXV0aG9yaXphdGlvbjogQmVhcmVyICcgLiAkdGhpcy0+Y29udGFpbmVyLT5wYXJhbWV0ZXJzWyd0d2l0dGVyJ11bJ2FwcF90b2tlbiddCiAgICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb246IEJlYXJlciAnIC4gJGF1dGgKICAgICAgICAgICAgICAgICkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAkY3JlZGVudGlhbCA9ICcnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICAkcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJGNoKTsKCiAgICAgICAgaWYgKCRyZXNwb25zZSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgZWNobyAnQ3VybCBlcnJvcjogJyAuIGN1cmxfZXJyb3IoJGNoKTsKICAgICAgICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgICAgIHJldHVybiBqc29uX2RlY29kZSgkcmVzcG9uc2UpOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFR3aXR0ZXJBdXRob3JpemF0aW9uKCkKICAgIHsKICAgICAgICAkY2ggPSBjdXJsX2luaXQoKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAnaHR0cHM6Ly9hcGkudHdpdHRlci5jb20vb2F1dGgyL3Rva2VuJyk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIDEpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAnZ3JhbnRfdHlwZT1jbGllbnRfY3JlZGVudGlhbHMnKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICdQaWN0YXdhbGwgVi4xLjAnKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSFRUUEhFQURFUiwgYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PVVURi04JywKICAgICAgICAgICAgJ0F1dGhvcml6YXRpb246IEJhc2ljICcgLiAkdGhpcy0+YmVhcmVyCiAgICAgICAgKSk7CgogICAgICAgICRyZXNwb25zZSA9IGN1cmxfZXhlYygkY2gpOwoKICAgICAgICBpZiAoJHJlc3BvbnNlID09PSBmYWxzZSkgewogICAgICAgICAgICBlY2hvICdDdXJsIGVycm9yOiAnIC4gY3VybF9lcnJvcigkY2gpOwogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGpzb24gPSBqc29uX2RlY29kZSgkcmVzcG9uc2UpOwogICAgICAgICAgICBpZiAoaXNzZXQoJGpzb24tPmFjY2Vzc190b2tlbikpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkanNvbi0+YWNjZXNzX3Rva2VuOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyX2R1bXAoJGpzb24pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQoKIENvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZQpzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcwpHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uJ3Mgc29mdHdhcmUgYW5kIHRvIGFueSBvdGhlciBwcm9ncmFtIHdob3NlIGF1dGhvcnMgY29tbWl0IHRvCnVzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KeW91ciBwcm9ncmFtcywgdG9vLgoKICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CnByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgp0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKaWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKaW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCmFueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdAp5b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQpzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCnJpZ2h0cy4KCiAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAooMikgb2ZmZXIgeW91IHRoaXMgbGljZW5zZSB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LApkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgoKICBBbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbgp0aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQpzb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKd2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28KdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKYXV0aG9ycycgcmVwdXRhdGlvbnMuCgogIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCnBhdGVudHMuICBXZSB3aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKcHJvZ3JhbSB3aWxsIGluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZQpwcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKbW9kaWZpY2F0aW9uIGZvbGxvdy4KCiAgICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCgogIDAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90aGVyIHdvcmsgd2hpY2ggY29udGFpbnMKYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LApyZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIKbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIKbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbgp0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KCkFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CmNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKcnVubmluZyB0aGUgUHJvZ3JhbSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIHRoZSBvdXRwdXQgZnJvbSB0aGUgUHJvZ3JhbQppcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9uIHRoZQpQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgpXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dyYW0gZG9lcy4KCiAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCnNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdQpjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCmNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OwphbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCmFsb25nIHdpdGggdGhlIFByb2dyYW0uCgpZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKeW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KCiAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbgpvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCmRpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQphYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgoKICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcwogICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KCiAgICBiKSBZb3UgbXVzdCBjYXVzZSBhbnkgd29yayB0aGF0IHlvdSBkaXN0cmlidXRlIG9yIHB1Ymxpc2gsIHRoYXQgaW4KICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQogICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKICAgIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KCiAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CiAgICB3aGVuIHJ1biwgeW91IG11c3QgY2F1c2UgaXQsIHdoZW4gc3RhcnRlZCBydW5uaW5nIGZvciBzdWNoCiAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuCiAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKICAgIG5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvciBlbHNlLCBzYXlpbmcgdGhhdCB5b3UgcHJvdmlkZQogICAgYSB3YXJyYW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgogICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKICAgIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0CiAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCiAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKClRoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCnRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CmRpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZApvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlIGl0LgoKVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0CnlvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bwpleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KCkluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0Kd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCmEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCnRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCgogIDMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LAp1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YKU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgoKICAgIGEpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucwogICAgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCgogICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKICAgIHllYXJzLCB0byBnaXZlIGFueSB0aGlyZCBwYXJ0eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyCiAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlCiAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bQogICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAoKICAgIGMpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiB5b3UgcmVjZWl2ZWQgYXMgdG8gdGhlIG9mZmVyCiAgICB0byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2ZSBpcwogICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKICAgIHJlY2VpdmVkIHRoZSBwcm9ncmFtIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB3aXRoIHN1Y2gKICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQoKVGhlIHNvdXJjZSBjb2RlIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgptYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQpjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQphc3NvY2lhdGVkIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8KY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQpzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkKZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUKb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKaXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLgoKSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZwphY2Nlc3MgdG8gY29weSBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50CmFjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcwpkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KCiAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCmV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCnZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIKdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgoKICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCnByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlClByb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCmFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCgogIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bwp0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgpyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCllvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvCnRoaXMgTGljZW5zZS4KCiAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAppbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLApjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91Cm1heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQphbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bwpyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgoKSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCmFueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKY2lyY3Vtc3RhbmNlcy4KCkl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQppbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCmdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwp0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKaW1wb3NlIHRoYXQgY2hvaWNlLgoKVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCmJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgoKICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgpjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQptYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKdGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZwpjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCgogIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCm9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbApiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCgpFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBQcm9ncmFtCnNwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CmxhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgp0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24uCgogIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvcgp0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUKU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCm1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91ciBkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzCm9mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQKb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTk8gV0FSUkFOVFkKCiAgMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZCkZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTgpPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTClBST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VECk9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCk1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRQpQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywKUkVQQUlSIE9SIENPUlJFQ1RJT04uCgogIDEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgpSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLApJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRApUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkKWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFClBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4KCiAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwoKICAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCgogIElmIHlvdSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdApmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KCiAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQpjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICBNb2R1bGUgdG8gZGlzcGxheSBUd2l0dGVyIHR3ZWV0cyBpbiBDTVMgTWFkZSBTaW1wbGUKICAgIENvcHlyaWdodCAoQykgMjAxMyAgTW9ycmlzICZhbXA7IENoYXBtYW4gQmVsZ2l1bQoKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZwogICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCgpBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KCklmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKCiAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KClRoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQpwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CmJlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQptb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgoKWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgoKICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCiAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCgogIHtzaWduYXR1cmUgb2YgVHkgQ29vbn0sIDEgQXByaWwgMTk4OQogIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCgpUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCmxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgo=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFjbXNtcygpKSBleGl0OwoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBJbnN0YWxsKCkKCSAgIFdoZW4geW91ciBtb2R1bGUgaXMgaW5zdGFsbGVkLCB5b3UgbWF5IG5lZWQgdG8gZG8gc29tZQoJICAgc2V0dXAuIFR5cGljYWwgdGhpbmdzIHRoYXQgaGFwcGVuIGhlcmUgYXJlIHRoZSBjcmVhdGlvbgoJICAgYW5kIHByZXBvcHVsYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLCBkYXRhYmFzZSBzZXF1ZW5jZXMsCgkgICBwZXJtaXNzaW9ucywgcHJlZmVyZW5jZXMsIGV0Yy4KCSAgIAkgICAKCSAgIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY3JlYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLAoJICAgY2hlY2sgb3V0IHRoZSBBRE9EQiBEYXRhIERpY3Rpb25hcnkgcGFnZSBhdAoJICAgaHR0cDovL3BocGxlbnMuY29tL2xlbnMvYWRvZGIvZG9jcy1kYXRhZGljdC5odG0KCSAgIAoJICAgVGhpcyBmdW5jdGlvbiBjYW4gcmV0dXJuIGEgc3RyaW5nIGluIGNhc2Ugb2YgYW55IGVycm9yLAoJICAgYW5kIENNUyB3aWxsIG5vdCBjb25zaWRlciB0aGUgbW9kdWxlIGluc3RhbGxlZC4KCSAgIFN1Y2Nlc3NmdWwgaW5zdGFsbHMgc2hvdWxkIHJldHVybiBGQUxTRSBvciBub3RoaW5nIGF0IGFsbC4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCQkvKgoJCS8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24KCQkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkJCgkJLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCgkJJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJCiAgICAgICAgLy8gdGFibGUgc2NoZW1hIGRlc2NyaXB0aW9uCiAgICAgICAgJGZsZHMgPSAiCgkJCWlkIEkgS0VZLAoJCQlkZXNjcmlwdGlvbiBDKDgwKQoJCQkiOwoKCQkvLyBjcmVhdGUgaXQuIFRoaXMgc2hvdWxkIGRvIGVycm9yIGNoZWNraW5nLCBidXQgSSdtIGEgbGF6eSBzb2QuCgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3R3aXR0ZXIiLAoJCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCQkvLyBjcmVhdGUgYSBzZXF1ZW5jZQoJCSRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdHdpdHRlcl9zZXEiKTsKCQkqLwoJCQoJCS8vIHBlcm1pc3Npb25zCgkJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBUd2l0dGVyJywnTWFuYWdlIFR3aXR0ZXInKTsKCgkJLy8gUHJlZmVyZW5jZXMKCS8vCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsb2dpbicsJycpOwoJLy8JJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJywnJyk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RpbWVvdXQnLCc2MDAnKTsKCQkKLy8JCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1ZXN0JykKCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCQkKCQkvLyBUZW1wbGF0ZQoJICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgndGltZWxpbmUnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgndGltZWxpbmUnKSk7CgogICAgICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbih0cnVlKTsKCQkKPz4=]]></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>/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dHdlZXRtYWRlc2ltcGxlCj09PT09PT09PT09PT09PQoKTW9kdWxlIHRvIGRpc3BsYXkgVHdpdHRlciB0d2VldHMgaW4gQ01TIE1hZGUgU2ltcGxlCg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin.options.tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyp9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0d2l0dGVyX3VzZXJfdGl0bGV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdHdpdHRlcl91c2VyfTwvcD4KICAgIAogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHR3aXR0ZXJfdXNlcl9oZWxwfTwvcD4KPC9kaXY+Kn0Ke2lmIGlzc2V0KCR0d2l0dGVyX2FjY291bnQpfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPjxpbWcgc3JjPSJ7JHByb2ZpbGVfcGljdHVyZX0iIHN0eWxlPSJmbG9hdDogbGVmdDsgcGFkZGluZzogNXB4OyI+PHA+PHN0cm9uZz57JHR3aXR0ZXJfd2VsY29tZX08L3N0cm9uZz48L3A+PC9wPgoJCTxwPnskdW5zaWdufTwvcD4KCQk8ZGl2IHN0eWxlPSJjbGVhcjpsZWZ0OyBwYWRkaW5nOiA1cHg7Ij48L2Rpdj4KCTwvZGl2Pgp7ZWxzZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+PGEgaHJlZj0ieyR0d2l0dGVyX29hdXRoX2F1dGhvcml6ZX0iPjxpbWcgc3JjPSJ7JHNpZ25fd2l0aF90d2l0dGVyX2ltZ30iIGFsdD0ieyRzaWduX3dpdGhfdHdpdHRlcn0iLz48L2E+PC9wPgo8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aW1lb3V0X3RpdGxlfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRpbWVvdXR9PC9wPgo8L2Rpdj4KCnsqPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm94eV90aXRsZX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm94eX08L3A+CjwvZGl2Pip9Cnskc3VibWl0X29wdGlvbnN9eyRjYW5jZWx9]]></data>
	</file>
	<file>
	  <filename>/templates/admin.twitter.tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRzdGF0dXMpfQo8ZGl2IGlkPSJzdGF0dXNfdXBkYXRlIj4KPGgzPnskc3RhdHVzX3RpdGxlfTwvaDM+Cnskc3RhdHVzfQo8c3BhbiBjbGFzcz0iZmxvYXQ6IHJpZ2h0OyI+eyR1cGRhdGV9PC9zcGFuPgo8L2Rpdj4Key9pZn0KCjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7Ij4KeyR0aW1lbGluZV9zdGF0dXN9CjwvZGl2Pg==]]></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/frontend.timeline.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRub3d9CntpZiBpc3NldCgkdGltZWxpbmUpfQogICAge2ZvcmVhY2ggZnJvbT0kdGltZWxpbmUgaXRlbT10d2VldH0KICAgICAgICA8ZGl2IGlkPSJzdGF0dXNfeyR0d2VldC0+aWR9IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5OyI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICI+PGltZyBzcmM9InskdHdlZXQtPnBpY3R1cmV9IiBhbHQ9InskdHdlZXQtPmF1dGhvcl9uYW1lfSIvPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHA+PHN0cm9uZz48YSBocmVmPSJodHRwOi8vdHdpdHRlci5jb20veyR0d2VldC0+YXV0aG9yX25hbWV9IiByZWw9ImV4dGVybmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX25ldyI+eyR0d2VldC0+YXV0aG9yX25hbWV9PC9hPjwvc3Ryb25nPgogICAgICAgICAgICAgICAgeyR0d2VldC0+Z2V0VGV4dCgpfTwvcD4KCiAgICAgICAgICAgIDxwPnskdHdlZXQtPmdldFdoZW4oKX0gdmlhIHskdHdlZXQtPnNvdXJjZX08L3A+CgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJjbGVhcjogcmlnaHQiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgey9mb3JlYWNofQp7ZWxzZX0KICAgIDxwPk5vIHR3ZWV0IGZvdW5kITwvcD4Key9pZn0=]]></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/tweet.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlIiBjbGFzcz0idHdpdHRlci1zaGFyZS1idXR0b24iIGRhdGEtY291bnQ9Imhvcml6b250YWwie2lmIGlzc2V0KCR2aWEpfSBkYXRhLXZpYT0ieyR2aWF9InsvaWZ9PlR3ZWV0PC9hPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIj48L3NjcmlwdD4=]]></data>
	</file>
	<file>
	  <filename>/Twitter.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFR3aXR0ZXIgLSBUaGlzIG1vZHVsZSBhbGxvdyB5b3UgdG8gbWFuYWdlIHlvdXIgVHdpdHRlciBmcm9tIENNU01TLiBCb3RoIHNlbmQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUuCiMgVmVyc2lvbjogMC4wLjEsIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllcgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMgVGhpcyBmaWxlIG9yaWdpbmFsbHkgY3JlYXRlZCBieSBNb2R1bGVNYWtlciBtb2R1bGUsIHZlcnNpb24gMC4zLjEKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgU2FtdWVsIEdvbGRzdGVpbiAoc2pnQGNtc21hZGVzaW1wbGUub3JnKQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRm9yIEhlbHAgYnVpbGRpbmcgbW9kdWxlczoKIyAtIFJlYWQgdGhlIERvY3VtZW50YXRpb24gYXMgaXQgYmVjb21lcyBhdmFpbGFibGUgYXQKIyAgIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvCiMgLSBDaGVjayBvdXQgdGhlIFNrZWxldG9uIE1vZHVsZSBmb3IgYSBjb21tZW50ZWQgZXhhbXBsZQojIC0gTG9vayBhdCBvdGhlciBtb2R1bGVzLCBhbmQgbGVhcm4gZnJvbSB0aGUgc291cmNlCiMgLSBDaGVjayBvdXQgdGhlIGZvcnVtcyBhdCBodHRwOi8vZm9ydW1zLmNtc21hZGVzaW1wbGUub3JnCiMgLSBDaGF0IHdpdGggZGV2ZWxvcGVycyBvbiB0aGUgI2NtcyBJUkMgY2hhbm5lbAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgVHdpdHRlciBleHRlbmRzIENNU01vZHVsZQp7CiAgICBjb25zdCBDT05TVU1FUl9LRVkgPSAnMHN0UVhnbXU0ZHlkNkt5M0NEMnR3JzsgLy8gVHdlZXRNYWRlU2ltcGxlIENvbnN1bWVyIEtleQogICAgY29uc3QgQ09OU1VNRVJfU0VDUkVUID0gJ2Z5aTI0U1V3NFpJN0ozT2o0dVVTYmwzV1ZBQnp4c2RLZXR2aDkydjhqZyc7IC8vIFR3ZWV0TWFkZVNpbXBsZSBDb25zdW1lciBTZWNyZXQKICAgIGNvbnN0IFVTRVJfQUdFTlQgPSAnVHdlZXRNYWRlU2ltcGxlIChodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3R3aXR0ZXIpJzsKCiAgICB2YXIgJHR3aXR0ZXJPYmo7CiAgICB2YXIgJHR3aXR0ZXJJbmZvOwoKICAgIGZ1bmN0aW9uIEdldE5hbWUoKQogICAgewogICAgICAgIHJldHVybiAnVHdpdHRlcic7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogICAgewogICAgICAgIHJldHVybiAnMi4wLjQnOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEhlbHAoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICdKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXInOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICAgIHsKICAgICAgICByZXR1cm4gJ2pjY0BhdG9tc2VlZHMuY29tJzsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7CiAgICB9CgogICAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIGZ1bmN0aW9uIEhhc0FkbWluKCkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiAnY29udGVudCc7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7CiAgICB9CgogICAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkNoZWNrQWNjZXNzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSAnTWFuYWdlIFR3aXR0ZXInKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCRwZXJtKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dTbWFydHlDYWNoaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCi8vICAgIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkKLy8gICAgewovLyAgICAgICAgcmV0dXJuIHRydWU7Ci8vICAgIH0KCiAgICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogICAgewogICAgICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZyaWVuZHMnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwdWJsaWMnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsaW1pdCcsIENMRUFOX0lOVCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3F1ZXJ5JywgQ0xFQU5fU1RSSU5HKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXkoJ0NNU0Zvcm1zJyA9PiAnMS4xMC45Jyk7CiAgICB9CgogICAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSA9ICcnKQogICAgewogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKCiAgICAgICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICIxLjExIjsKICAgIH0KCiAgICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgICB9CgogICAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7CiAgICB9CgogICAgLy8gTU9EVUxFIExPR0lDCgogICAgcHVibGljIGZ1bmN0aW9uIGdldEF1dGhvcml6YXRpb25VcmwoJGlkKQogICAgewogICAgICAgICRjb25uZWN0aW9uID0gbmV3IFR3aXR0ZXJPQXV0aChzZWxmOjpDT05TVU1FUl9LRVksIHNlbGY6OkNPTlNVTUVSX1NFQ1JFVCk7CiAgICAgICAgJGNvbm5lY3Rpb24tPnVzZXJhZ2VudCA9IHNlbGY6OlVTRVJfQUdFTlQ7CgogICAgICAgICR0ZW1wb3JhcnlfY3JlZGVudGlhbHMgPSAkY29ubmVjdGlvbi0+Z2V0UmVxdWVzdFRva2VuKGh0bWxfZW50aXR5X2RlY29kZSgkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdvYXV0aCcsICcnLCAnJywgYXJyYXkoKSwgJycsIHRydWUpKSk7CiAgICAgICAgJHJlZGlyZWN0X3VybCA9ICRjb25uZWN0aW9uLT5nZXRBdXRob3JpemVVUkwoJHRlbXBvcmFyeV9jcmVkZW50aWFscywgRkFMU0UpOwoKICAgICAgICByZXR1cm4gJHJlZGlyZWN0X3VybDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29ubmVjdGlvbigpCiAgICB7CiAgICAgICAgaWYgKCgkdG9rZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2F1dGhfdG9rZW4nKSkgJiYgKCR0b2tlbl9zZWNyZXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2F1dGhfdG9rZW5fc2VjcmV0JykpKSB7CiAgICAgICAgICAgICRjb25uZWN0aW9uID0gbmV3IFR3aXR0ZXJPQXV0aChUd2l0dGVyOjpDT05TVU1FUl9LRVksIFR3aXR0ZXI6OkNPTlNVTUVSX1NFQ1JFVCwgJHRva2VuLCAkdG9rZW5fc2VjcmV0KTsKICAgICAgICAgICAgJGNvbm5lY3Rpb24tPnVzZXJhZ2VudCA9IHNlbGY6OlVTRVJfQUdFTlQ7CgogICAgICAgICAgICByZXR1cm4gJGNvbm5lY3Rpb247CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNvbm5lY3Rpb24gPSBuZXcgVHdpdHRlck9BdXRoKHNlbGY6OkNPTlNVTUVSX0tFWSwgc2VsZjo6Q09OU1VNRVJfU0VDUkVUKTsKICAgICAgICAgICAgJGNvbm5lY3Rpb24tPnVzZXJhZ2VudCA9IHNlbGY6OlVTRVJfQUdFTlQ7CgogICAgICAgICAgICByZXR1cm4gJGNvbm5lY3Rpb247CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkdHlwZQogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMKICAgICAqCiAgICAgKiBAcmV0dXJuIEFQSXxtaXhlZAogICAgICoKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFRpbWVsaW5lKCR0eXBlID0gJ3B1YmxpYycsICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgIHN3aXRjaCAoJHR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnZnJpZW5kcyc6CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZyaWVuZHNUaW1lbGluZSgpOwoKICAgICAgICAgICAgY2FzZSAncHVibGljJzoKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UHVibGljVGltZWxpbmUoJHBhcmFtcyk7CgogICAgICAgICAgICBjYXNlICd1c2VyJzoKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0VXNlclRpbWVsaW5lKCRwYXJhbXMpOwogICAgICAgIH0KCiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIEFQSXxtaXhlZAogICAgICovCgogICAgcHVibGljIGZ1bmN0aW9uIGdldEZyaWVuZHNUaW1lbGluZSgpCiAgICB7CiAgICAgICAgJGNvbm5lY3Rpb24gPSAkdGhpcy0+Z2V0Q29ubmVjdGlvbigpOwovLyAgICAgICAgICAgICRjb25uZWN0aW9uLT5kZWNvZGVfanNvbiA9IHRydWU7CiAgICAgICAgcmV0dXJuICRjb25uZWN0aW9uLT5nZXQoJy9zdGF0dXNlcy9mcmllbmRzX3RpbWVsaW5lJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFB1YmxpY1RpbWVsaW5lKCRwYXJhbXMpCiAgICB7CiAgICAgICAgJHRwYXJhbXMgPSBhcnJheSgpOwoKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sndXNlcl9pZCddKSkgewogICAgICAgICAgICAkdHBhcmFtc1sndXNlcl9pZCddID0gJHBhcmFtc1sndXNlcl9pZCddOwogICAgICAgIH0gZWxzZWlmIChpc3NldCgkcGFyYW1zWydzY3JlZW5fbmFtZSddKSkgewogICAgICAgICAgICAkdHBhcmFtc1snc2NyZWVuX25hbWUnXSA9ICRwYXJhbXNbJ3NjcmVlbl9uYW1lJ107CiAgICAgICAgfQoKICAgICAgICAkY29ubmVjdGlvbiA9ICR0aGlzLT5nZXRDb25uZWN0aW9uKCk7CiAgICAgICAgcmV0dXJuICRjb25uZWN0aW9uLT5nZXQoJy9zdGF0dXNlcy9wdWJsaWNfdGltZWxpbmUnLCAkdHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFVzZXJUaW1lbGluZSgkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkdHBhcmFtcyA9IGFycmF5KCk7CgogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWyd1c2VyX2lkJ10pKSB7CiAgICAgICAgICAgICR0cGFyYW1zWyd1c2VyX2lkJ10gPSAkcGFyYW1zWyd1c2VyX2lkJ107CiAgICAgICAgfSBlbHNlaWYgKGlzc2V0KCRwYXJhbXNbJ3NjcmVlbl9uYW1lJ10pKSB7CiAgICAgICAgICAgICR0cGFyYW1zWydzY3JlZW5fbmFtZSddID0gJHBhcmFtc1snc2NyZWVuX25hbWUnXTsKICAgICAgICB9CgogICAgICAgICRjb25uZWN0aW9uID0gJHRoaXMtPmdldENvbm5lY3Rpb24oKTsKCiAgICAgICAgcmV0dXJuICRjb25uZWN0aW9uLT5nZXQoJy9zdGF0dXNlcy91c2VyX3RpbWVsaW5lJywgJHRwYXJhbXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkb1NlYXJjaCgkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAkY29ubmVjdGlvbiA9ICR0aGlzLT5nZXRDb25uZWN0aW9uKCk7CiAgICAgICAgcmV0dXJuICRjb25uZWN0aW9uLT5nZXQoJy9zZWFyY2gvdHdlZXRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZVN0YXR1cygkbWVzc2FnZSwgJHNob3J0ZW4gPSB0cnVlKQogICAgewogICAgICAgIGlmICgkc2hvcnRlbikgewovL1RPRE8gICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBUd2VldDo6c2hvcnRlblVybHMoJG1lc3NhZ2UpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRtZXNzYWdlICE9ICcnICYmIHN0cmxlbigkbWVzc2FnZSkgPCAxNDApIHsKICAgICAgICAgICAgJGNvbm5lY3Rpb24gPSAkdGhpcy0+Z2V0Q29ubmVjdGlvbigpOwogICAgICAgICAgICByZXR1cm4gJGNvbm5lY3Rpb24tPnBvc3QoJy9zdGF0dXNlcy91cGRhdGUnLCBhcnJheSgnc3RhdHVzJyA9PiAkbWVzc2FnZSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGlzIGZ1bmN0aW9uIHJldHVybiB0aGUgcmlnaHQgdGVtcGxhdGUgcmVzb3VyY2UgcmVnYXJkaW5nIGRlZmF1bHQgYW5kIG92ZXJyaWRlIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZW1wbGF0ZSBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSBuYW1lCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyBUaGUgYWN0aW9uIHBhcmFtZXRlcnMgKHRvIGNhdGNoIHRoZSBwYXJhbXNbJ3RlbXBsYXRlJ10pCiAgICAgKgogICAgICogQHJldHVybiBudWxsfHN0cmluZwogICAgICovCgogICAgcHVibGljIGZ1bmN0aW9uIGdldFRlbXBsYXRlUmVzb3VyY2UoJHRlbXBsYXRlLCAkcGFyYW1zKQogICAgewogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkgewogICAgICAgICAgICAkdGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGUpICE9ICcnKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+R2V0RGF0YWJhc2VSZXNvdXJjZSgkdGVtcGxhdGUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRyZXNvdXJjZSA9ICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGUoJHRlbXBsYXRlKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHJlc291cmNlKTsKICAgICAgICB9CgogICAgICAgIGlmIChpc19maWxlKCR0aGlzLT5HZXRNb2R1bGVQYXRoKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ3RlbXBsYXRlcycgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2Zyb250ZW5kLicgLiAkdGVtcGxhdGUgLiAnLnRwbCcpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+R2V0RmlsZVJlc291cmNlKCdmcm9udGVuZC4nIC4gJHRlbXBsYXRlIC4gJy50cGwnKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBOVUxMOwogICAgfQoKCiAgICAvKioKICAgICAqIEBwYXJhbSAkcGFyYW1zICAgVGhlIHBhcmFtcyBnaXZlbiBmb3IgdGhlIGFjdGlvbgogICAgICogQHBhcmFtICRyZXR1cm5pZCBUaGUgZ2xvYmFsIHJldHVybmlkCiAgICAgKi8KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGV0YWlsUGFnZSgkcGFyYW1zLCAkcmV0dXJuaWQpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKICAgICAgICAgICAgJG1hbmFnZXIgPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgogICAgICAgICAgICBpZiAoJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKICAgICAgICAgICAgICAgICRyZXR1cm5pZCA9ICRub2RlLT5nZXRJRCgpOwogICAgICAgICAgICB9IGVsc2VpZiAoJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKICAgICAgICAgICAgICAgICRyZXR1cm5pZCA9ICRub2RlLT5nZXRJRCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJldHVybmlkOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsaXN0IG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlcwogICAgICogQHJldHVybiBhcnJheQogICAgICovCgogICAgcHVibGljIGZ1bmN0aW9uIEdldERlZmF1bHRUZW1wbGF0ZXMoKQogICAgewogICAgICAgICRhcnJheSA9IHVuc2VyaWFsaXplKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3RlbXBsYXRlcycpKTsKICAgICAgICBpZiAoaXNfYXJyYXkoJGFycmF5KSkgewogICAgICAgICAgICByZXR1cm4gJGFycmF5OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGRlZmF1bHQgdGVtcGxhdGUgZm9yIGFuIGFjdGlvbgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjdGlvbiBUaGUgYWN0aW9uIHdobyBoYXZlIGEgZGVmYXVsdCB0ZW1wbGF0ZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfGJvb2wKICAgICAqLwoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZWZhdWx0VGVtcGxhdGUoJGFjdGlvbikKICAgIHsKCgogICAgICAgICRsaXN0ID0gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZXMoKTsKICAgICAgICBpZiAoIWlzX2FycmF5KCRsaXN0KSkgJGxpc3QgPSBhcnJheSgpOwogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRhY3Rpb24sICRsaXN0KSkgewogICAgICAgICAgICByZXR1cm4gJGxpc3RbJGFjdGlvbl07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCgogICAgLy8gUkVGQUNUT1IKICAgIC8vIFR3aXR0ZXIgZnVuY3Rpb25zCgogICAgLyoqCiAgICAgKiBAcmV0dXJuIEVwaVR3aXR0ZXIKICAgICAqIEBkZXByZWNhdGVkIHVzZSBnZXRDb25uZWN0aW9uCiAgICAgKi8KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VHdpdHRlck9iaigpCiAgICB7CiAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+dHdpdHRlck9iaikpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT50d2l0dGVyT2JqOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0b2tlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvYXV0aF90b2tlbicpOwogICAgICAgICAgICAkc2VjcmV0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ29hdXRoX3Rva2VuX3NlY3JldCcpOwoKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICR0aGlzLT50d2l0dGVyT2JqID0gbmV3IEVwaVR3aXR0ZXIoVHdpdHRlcjo6Q09OU1VNRVJfS0VZLCBUd2l0dGVyOjpDT05TVU1FUl9TRUNSRVQsICR0b2tlbiwgJHNlY3JldCk7CgogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT50d2l0dGVyT2JqOwogICAgICAgICAgICB9IGNhdGNoIChFcGlUd2l0dGVyRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICdXZSBjYXVnaHQgYW4gRXBpT0F1dGhFeGNlcHRpb24nOwogICAgICAgICAgICAgICAgZWNobyAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICdXZSBjYXVnaHQgYW4gdW5leHBlY3RlZCBFeGNlcHRpb24nOwogICAgICAgICAgICAgICAgZWNobyAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIGdldENvbnRlbnQoJHVybCkKICAgIHsKICAgICAgICAkY29uZmlnID0gY21zX3V0aWxzOjpnZXRfY29uZmlnKCk7CiAgICAgICAgJHRpbWVvdXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZW91dCcpOwogICAgICAgICRmaWxlID0gJGNvbmZpZ1sncHJldmlld3NfcGF0aCddIC4gJy9Ud2l0dGVyXycgLiBiYXNlNjRfZW5jb2RlKCR1cmwpIC4gJy50bXAnOwogICAgICAgIGlmIChpc19maWxlKCRmaWxlKSkgewogICAgICAgICAgICBpZiAoZmlsZW10aW1lKCRmaWxlKSA+ICh0aW1lKCkgLSAkdGltZW91dCkpIHsKICAgICAgICAgICAgICAgIC8vIENhY2hlIGlzIGZyZXNoLCByZXR1cm4gY2FjaGUKICAgICAgICAgICAgICAgIHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIENhY2hlIGlzIG5vdCBmcmVzaCBvciB1bmV4aXN0YW50LCBjcmVhdGUgaXQuCiAgICAgICAgJGNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJHVybCk7CiAgICAgICAgQGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkY29udGVudCk7CgogICAgICAgIHJldHVybiAkY29udGVudDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2FjaGUoJGtleSkKICAgIHsKICAgICAgICAkY29uZmlnID0gY21zX3V0aWxzOjpnZXRfY29uZmlnKCk7CiAgICAgICAgJHRpbWVvdXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZW91dCcpOwogICAgICAgICRmaWxlID0gJGNvbmZpZ1sncHJldmlld3NfcGF0aCddIC4gJy9Ud2l0dGVyXycgLiBiYXNlNjRfZW5jb2RlKCRrZXkpIC4gJy50bXAnOwogICAgICAgIGlmIChpc19maWxlKCRmaWxlKSkgewogICAgICAgICAgICBpZiAoZmlsZW10aW1lKCRmaWxlKSA+ICh0aW1lKCkgLSAkdGltZW91dCkpIHsKICAgICAgICAgICAgICAgIC8vIENhY2hlIGlzIGZyZXNoLCByZXR1cm4gY2FjaGUKICAgICAgICAgICAgICAgICRjb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gdW5zZXJpYWxpemUoJGNvbnRlbnQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldENhY2hlKCRrZXksICRjb250ZW50KQogICAgewogICAgICAgICRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICAkZmlsZSA9ICRjb25maWdbJ3ByZXZpZXdzX3BhdGgnXSAuICcvVHdpdHRlcl8nIC4gYmFzZTY0X2VuY29kZSgka2V5KSAuICcudG1wJzsKICAgICAgICBAZmlsZV9wdXRfY29udGVudHMoJGZpbGUsIHNlcmlhbGl6ZSgkY29udGVudCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzaG9ydGVuVXJscygkbWVzc2FnZSkKICAgIHsKICAgICAgICByZXR1cm4gVHdlZXQ6OnNob3J0ZW5VcmxzKCRtZXNzYWdlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2hvcnRlblVybCgkdXJsKQogICAgewogICAgICAgIHJldHVybiBUd2VldDo6c2hvcnRlblVybCgkdXJsKTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRDdXJsKCR1cmwsICR3aXRoX2NyZWRlbnRpYWwgPSBmYWxzZSwgJGRhdGEgPSBhcnJheSgpLCAkbWV0aG9kID0gJ1BPU1QnKQogICAgewogICAgICAgIGlmICgkd2l0aF9jcmVkZW50aWFsKSB7CiAgICAgICAgICAgIHJldHVybiBUd2VldDo6Z2V0Q3VybCgkdXJsLCBhcnJheSgnbG9naW4nID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2dpbicpLCAncGFzc3dvcmQnID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZCcpKSwgJGRhdGEsICRtZXRob2QpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBUd2VldDo6Z2V0Q3VybCgkdXJsLCBOVUxMLCAkZGF0YSwgJG1ldGhvZCk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZVNlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAkcGFyYW1zKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Q3JlYXRlTGluaygKICAgICAgICAgICAgJGlkLCAnc2VuZCcsICRyZXR1cm5pZCwKICAgICAgICAgICAgJHRoaXMtPmdldEljb24oJ3R3aXR0ZXJfaWNvbi5naWYnLCAkdGhpcy0+bGFuZygnc2VuZF92aWFfdHdpdHRlcicpKSwKICAgICAgICAgICAgYXJyYXkoJ3N0YXR1cycgPT4gaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3N0YXR1cyddKSkKICAgICAgICApOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldEljb24oJGljb24sICRhbHQgPSBOVUxMKQogICAgewogICAgICAgICRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICAkaW1hZ2VfcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdpbWFnZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdpY29ucycgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGljb247CiAgICAgICAgJGltYWdlX3VybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAnL21vZHVsZXMvVHdpdHRlci9pbWFnZXMvaWNvbnMvJyAuICRpY29uOwogICAgICAgIGlmIChpc19maWxlKCRpbWFnZV9wYXRoKSkgewogICAgICAgICAgICAkaW1nID0gJzxpbWcgc3JjPSInIC4gJGltYWdlX3VybCAuICciJzsKICAgICAgICAgICAgaWYgKCFpc19udWxsKCRhbHQpKSB7CiAgICAgICAgICAgICAgICAkaW1nIC49ICcgYWx0PSInIC4gJGFsdCAuICciIHRpdGxlPSInIC4gJGFsdCAuICciJzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkaW1nIC49ICcgLz4nOwoKICAgICAgICAgICAgcmV0dXJuICRpbWc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gTlVMTDsKICAgIH0KfQoKPz4K]]></data>
	</file>
</module>
