<?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>NeoDataStorage</name>
	<version>0.2.2</version>
  <mincmsversion>1.6.6</mincmsversion>
	<help>PHN0cm9uZz5Ob3RpY2UhIFRoaXMgaXMgYSBtb2R1bGUtZGV2ZWxvcGVyLW9ubHkgbW9kdWxlLiBJZiB5b3UgYXJlIG5vdCBhIGRldmVsb3Blcgp5b3UnbGwgcHJvYmFibHkganVzdCB3YW50IHRvIHNraXAgdGhlIGdvcnkgZGV0YWlscyBvZiB0aGlzIHBhZ2UgYW5kIHJlbHkgb24gdGhhdAp0aGUgbW9kdWxlIGp1c3QgZG9lcyBpdCdzIHdvcmsuPC9zdHJvbmc+Cjxici8+PGJyLz4KPGgzPlB1cnBvc2Ugb2YgdGhlIG1vZHVsZTwvaDM+ClRoZSBwdXJwb3NlIG9mIHRoaXMgbW9kdWxlIGlzIHRvIHByb3ZpZGUgYSBuaWNlIGFuZCBjbGVhbiB3YXkgZm9yIG1vZHVsZXMKdG8gc3RvcmUgZGF0YSBpbiBhIHRhYmxlLWxpa2UgbWFubmVyIGJ1dCB3aXRob3V0IHRoZSBoYXp6bGUgb2YgY3JlYXRpbmcKc3BlY2lmaWMgdGFibGVzIGZvciBpdHNlbGYgYW5kIG1haW50YWluaW5nIHRoZXNlLgoKPGgzPkJ1dCBiZXdhcmUhPC9oMz4KSXQgc2hvdWxkIGJlIGVtcGhhc2l6ZWQKdGhhdCB0aGlzIG1vZHVsZSBpcyBub3QgaW50ZW5kZWQgZm9yIGV4dHJlbWVseSBkYXRhLWludGVuc2l2ZSBvcGVyYXRpb25zCmFzIGl0IHVzZXMgKGEgbG90KSBtb3JlIGRhdGFiYXNlLWNhbGxzIHRoYW4gY3VzdG9tLXdyaXR0ZW4gZGF0YSBhY2Nlc3MgZG9lcywKYnV0IGZvciBub24taW50ZW5zaXZlIHN0dWZmIGl0IHdpbGwgaG9wZWZ1bGx5IGN1dCBvZmYgc29tZSBvZiB0aGUgdGVkaW91cwoiaG91c2VrZWVwaW5nIiB3aGljaCBJIGdvdCByZWFsbHkgZmVkIHVwIHdpdGggaW4gYWxtb3N0IGV2ZXJ5IG1vZHVsZSBJJ3ZlIGRvbmUuCjxici8+ClNvLCB0aGF0J3MgaXQgZm9yIHRoZSBkaXNjbGFpbWVyLCBub3cgZm9yIHRoZSBBUEkgOi0pCjxici8+Cjxici8+CjxoMz5CYXNpYyB1c2Ugb2YgdGhlIG1vZHVsZTwvaDM+ClVzYWdlIG9mIHRoaXMgbW9kdWxlIGFsd2F5cyBzdGFydHMgb2ZmIHdpdGggZ2V0dGluZyBhbiBhY2Nlc3MgdG8gYW4gaW5zdGFuY2UKb2YgdGhlIG1vZHVsZS4gVGhlIG1vc3QgY29tbW9uIHdheSBvZiBkb2luZyB0aGlzIGlzIGNhbGxpbmcgc29tZXRoaW5nIGxpa2UKPHByZT4KCiRuZHM9JHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCJOZW9EYXRhU3RvcmFnZSIpOwoKPC9wcmU+CllvdSdsbCBwcm9iYWJseSB3YW50IHRvIG1ha2UgeW91ciBtb2R1bGUgZGVwZW5kYW50IG9mIHRoaXMgbW9kdWxlLCBidXQgeW91CnNob3VsZCBrbm93IGhvdyB0byBkbyB0aGlzLi4uCjxici8+CkFmdGVyIGFzc2lnbmluZyB0aGUgbW9kdWxlIHRvIGEgdmFyaWFibGUsIHlvdSBjYW4gc3RhcnQgdXNpbmcgaXQgd2l0aCBBUEktZnVuY3Rpb25zCmxpa2U6CjxwcmU+CgokbXlyZWNvcmQ9JG5kcy0+R2V0RW50aXRpZXMoIm15bW9kdWxlbmFtZSIsICJteXRhYmxlaWQiKTsKCjwvcHJlPgpXaGVyZSAibXltb2R1bGVuYW1lIiBpcyB0aGUgdW5pcXVlIGlkZW50aWZ5ZXIgb2YgeW91ciBtb2R1bGUsIGNvdWxkIGJlCnJlcGxhY2VkIHdpdGggJyR0aGlzLT5HZXROYW1lKCknLCBhbmQgIm15dGFibGVpZCIgaXMgYW4gaWRlbnRpZnllciBvZiB0aGUKdGFibGUgb2YgZGF0YSB3aGljaCB5b3Ugd2FudCB0byBhY2Nlc3MgaW4gdGhlIGRhdGFzdG9yYWdlIGZvciB5b3VyIG1vZHVsZS4KVGhpcyBjYW4gYmUgbGVmdCBibGFuayBpZiBvbmx5IG9uZSB0YWJsZSBpcyBuZWVkZWQgZm9yIHRoZSBtb2R1bGUuCjxici8+CkZvciBhIGNvbXBsZXRlIChyZWFkOiBzb210aW1lcyBjb21wbGV0ZSkgbGlzdCBvZiBtZXRob2RzIHNlZSBsaXN0IGJlbG93LgoKPGgzPlRoZSBOZW9Nb2R1bGUtc2lzdGVyPC9oMz4KQW5vdGhlciwgYW5kIGV2ZW4gZWFzaWVyLCB3YXkgdG8gdXNlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoaXMgbW9kdWxlCmlzIHRvIGxldCB5b3VyIG1vZHVsZSBkZXNjZW5kIGZyb20gYW5vdGhlciBwcm9qZWN0IG9mIG1pbmUsIHRoZSBOZW9Nb2R1bGUsCndoaWNoIHdyYXBzIGFsbCB0aGUgZnVuY3Rpb25zIG9mIE5lb0RhdGFTdG9yYWdlIGJ1dCByZW1vdmluZyB0aGUgbmVlZCBvZgpjb25zdGFudGx5IHN1cHBseWluZyB0aGUgJG1vZHVsZW5hbWUuIEl0IGFsc28gcHJvdmlkZXMgYSBzdGlsbC1ncm93aW5nIGxpc3Qgb2YKb3RoZXIgaGVscGVyLWZ1bmN0aW9ucyB3aGljaCBoYXMgdG8gZG8gd2l0aCBvdGhlciBzdHVmZiB0aGFuIERhdGFTdG9yYWdlLgo8YnIvPgpGb3IgZnVydGhlciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHVzZSB0aGUgTmVvTW9kdWxlLCBwbGVhc2UgaW5zdGFsbCBpdCBhbmQKY2hlY2sgb3V0IGl0J3MgaGVscC1wYWdlLgoKPGgzPkhvdyB0byBnZXQgaGVscDwvaDM+Ckkgd2lsbCByZXBlYXQsIHRoaXMgbW9kdWxlIGlzIGZvciBkZXZlbG9wZXJzIG9ubHkuIElmIHlvdSBjYW5ub3QgcmVhZCBwaHAtc291cmNlIGNvZGUsCnlvdSBzaG91bGQgdXNlIGl0IGZvciBkZXZlbG9wbWVudCBhbnl3YXkuIElmIHlvdSBjYW4sIGFsd2F5cyBjaGVjayBvdXQgdGhlIGNvZGUKZm9yIGhpbnRzIG9uIGhvdyB0byBtYWtlIGl0IHdvcmsuIElmIHlvdSBzdGlsbCBoYXZlIHF1ZXN0aW9ucyBvciBzdWdnZXN0aW9ucyBmb3IKZml4ZXMvaW1wcm92ZW1lbnRzLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGNhdGNoIG1lIChTaWxtYXJpbGxpb24pIGluIHRoZSBmb3J1bSBvZyAjaXJjLgoKCjxoMz5MaXN0IG9mIG1ldGhvZHM8L2gzPgo8cHJlPgovKgogKgogKiBFbnRpdHkgZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBBZGRFbnRpdHkoJG1vZHVsZSwgJHRhYmxlLCAkcHJvcHM9YXJyYXkoKSkKZnVuY3Rpb24gRGVsZXRlRW50aXR5KCRpZCkKZnVuY3Rpb24gR2V0RW50aXR5V2l0aFR5cGUoJGlkLCAkb3ZlcnJpZGVwcm9wcz1hcnJheSgpKQpmdW5jdGlvbiBHZXRFbnRpdHkoJGlkLCAkb3ZlcnJpZGVwcm9wcz1hcnJheSgpLCAkd2l0aHR5cGU9ZmFsc2UpCmZ1bmN0aW9uIEdldEVudGl0aWVzKCRtb2R1bGUsICR0YWJsZT0iIiwgJGNyaXRlcmlhPWFycmF5KCkpCmZ1bmN0aW9uIEdldE9uZUVudGl0eSgkbW9kdWxlLCAkdGFibGUsICRjcml0ZXJpYT1hcnJheSgpLCAkZmFpbGlmbXVsdGlwbGU9ZmFsc2UpCmZ1bmN0aW9uIEdldEVudGl0aWVzRnVsbCgkbW9kdWxlLCAkdGFibGU9IiIsICRjcml0ZXJpYT1hcnJheSgpKQpmdW5jdGlvbiBFbnRpdGllc0NvdW50KCRtb2R1bGUsICR0YWJsZT0iIiwgJGNyaXRlcmlhPWFycmF5KCkpCmZ1bmN0aW9uIFNldEVudGl0eVByb3AoJGlkLCRwcm9wbmFtZSwkcHJvcHZhbHVlLCRwcm9wdHlwZT0idW5kZWZpbmVkIikKZnVuY3Rpb24gQ2xlYXJFbnRpdHkoJGlkKQpmdW5jdGlvbiBDbGVhck1vZHVsZUVudGl0aWVzKCRtb2R1bGUpCmZ1bmN0aW9uIENsZWFyRW50aXR5UHJvcCgkaWQsICRwcm9wbmFtZSkKZnVuY3Rpb24gQ2xlYXJFbnRpdHlQcm9wcygkaWQpCmZ1bmN0aW9uIFNldEVudGl0eVByb3BzKCRpZCwgJHByb3BzLCAkY2xlYXI9dHJ1ZSkKZnVuY3Rpb24gU2V0RW50aXR5UHJvcHNPbkNyaXRlcmlhKCRtb2R1bGUsJHRhYmxlLCAkcHJvcHMsICRjcml0ZXJpYSwgJGNyZWF0ZT10cnVlLCAkY2xlYXI9ZmFsc2UpIC8vRG9lcyBub3Qgd29yayEKZnVuY3Rpb24gUmVzZXRFbnRpdHlQcm9wcygkaWQsICRuZXdwcm9wcz1hcnJheSgpKQpmdW5jdGlvbiBSZW1vdmVNb2R1bGVFbnRpdGllcygkbW9kdWxlbmFtZSkKCi8qCiAqCiAqIFNvcnRpbmcgZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBDb21wYXJlRW50aXRpZXMoJGVudGl0eTEsICRlbnRpdHkyLCAkc29ydGZpZWxkKQpmdW5jdGlvbiBDb21wYXJlRW50aXRpZXNDb21wbGV4KCRlbnRpdHkxLCAkZW50aXR5MiwgJHNvcnRmaWVsZHM9YXJyYXkoKSkgLy9Eb2VzIG5vdCB3b3JrCmZ1bmN0aW9uIFNvcnRFbnRpdGllcygkbGlzdCwgJHNvcnRmaWVsZHM9YXJyYXkoKSBvciBzdHJpbmcpIC8vT25seSB3b3JrcyBvbiBzdHJpbmdzCmZ1bmN0aW9uIE1ha2VTaW1wbGVBcnJheSgkbW9kdWxlLCAkdGFibGUsICRmaWVsZCkKZnVuY3Rpb24gTWFrZUFzc29jQXJyYXkoJG1vZHVsZSwgJHRhYmxlLCAkZmllbGRzKQoKLyoKICoKICogRmllbGRzZXQgZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBBZGRGaWVsZFNldCgkbW9kdWxlLCRuYW1lLCRmaWVsZHMpCmZ1bmN0aW9uIEdldEZpZWxkU2V0KCRtb2R1bGUsICRuYW1lKQpmdW5jdGlvbiBFbnRpdHlTZXRVbnNldFByb3BzKCRtb2R1bGUsJGVudGl0eSwkZmllbGRzZXQsJGZpbGx2YWx1ZT0iIikKCi8qCiAqCiAqIENvbm5lY3Rpb24gZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBTZXRFbnRpdHlDb25uZWN0aW9uKCRpZDEsICRpZDIsICR0eXBlPSIiKQpmdW5jdGlvbiBDbGVhckVudGl0eUNvbm5lY3Rpb25zKCRpZDEsICRpZDI9LTEsICR0eXBlPSIiKQpmdW5jdGlvbiBDbGVhckVudGl0eUNvbm5lY3Rpb24oJGlkMSwgJGlkMiwgJHR5cGU9IiIpCmZ1bmN0aW9uIENoZWNrRW50aXR5Q29ubmVjdGlvbigkaWQxLCRpZDIsJHR5cGU9IiIpCmZ1bmN0aW9uIEdldEVudGl0eUNvbm5lY3Rpb25zKCRpZDE9LTEsICRpZDI9LTEsICRib3Rod2F5cz10cnVlLCAkdHlwZT0iIikgLy9Eb2VzIG5vdCB3b3JrCgovKgogKgogKiBFcnJvciBoYW5kbGluZwogKgogKi8KZnVuY3Rpb24gRXJyb3IoJGVycm9ydGV4dCwkcmV0dXJudmFsdWU9ZmFsc2UsJHBhcmFtcz1hcnJheSgpKQpmdW5jdGlvbiBHZXRFcnJvcnMoJG5sMmJyPXRydWUsJGNsZWFyPXRydWUpCmZ1bmN0aW9uIFNob3dFcnJvcnMoJGNsZWFyPXRydWUpCmZ1bmN0aW9uIEluRXJyb3IoKSA6IGJvb2wKPC9wcmU+PGgzPlBhcmFtZXRyZTwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRyZXQgYW5naXZlciBodmlsa2V0IHNwcm9nIGRlciBza2FsIGJydWdlcyB0aWwgdmlzbmluZyBmb3IgYmVzJm9zbGFzaDtnZW5kZS4gSWtrZSBhbGxlIG1vZHVsZXIgdW5kZXJzdCZvc2xhc2g7dHRlciBlbGxlciBiZWgmb3NsYXNoO3ZlciBkZXR0ZS48L2xpPjwvdWw+</help>
	<about>PGJyIC8+TGF2ZXQgYWY6IE1vcnRlbiBwb3Vsc2VuICZsdDttb3J0ZW5AcG91bHNlbi5vcmcmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMC4yLjI8YnIgLz48YnIgLz5IaXN0b3JpayBvdmVyICZhZWxpZztuZHJpbmdlcjo8YnIgLz48dWw+CjxsaT4wLjIuMiAtIEFkZGVkIGEgY3VzdG9tIHJldHVybnZhbHVlIHRvIGNoZWNrZW50aXR5Y29ubmVjdGlvbnMsTWFrZVNpbXBsZUFycmF5PC9saT4KPGxpPjAuMi4xIC0gRml4ZWQgYSB0eXBlIGluIEdldEVudGl0eS1mdW5jdGlvbjwvbGk+CjxsaT4wLjIuMCAtIEZpeGVkIHJlc2V0IGZpbHRlciBidXR0b24sIG1hZGUgZmlsdGVyaW5nIG9uIG1vZHVsZSBiYXNlZCBvbiBhIGRyb3Bkb3duLCBidWdmaXhlczwvbGk+CjxsaT4wLjEuMCAtIEluaXRpYWwgcmVsZWFzZTwvbGk+CjwvdWw+PGJyIC8+</about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQppZiAoISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSkgZXhpdDsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbImFwcGx5ZmlsdGVyIl0pKSB7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJpZGZpbHRlciIsJHBhcmFtc1siaWRmaWx0ZXIiXSk7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJtb2R1bGVmaWx0ZXIiLCRwYXJhbXNbIm1vZHVsZWZpbHRlciJdKTsNCiAgJHRoaXMtPlNldFByZWZlcmVuY2UoInRhYmxlZmlsdGVyIiwkcGFyYW1zWyJ0YWJsZWZpbHRlciJdKTsNCiAgJHRoaXMtPlNldFByZWZlcmVuY2UoInByb3BmaWx0ZXIiLCRwYXJhbXNbInByb3BmaWx0ZXIiXSk7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ2YWx1ZWZpbHRlciIsJHBhcmFtc1sidmFsdWVmaWx0ZXIiXSk7DQp9DQppZiAoaXNzZXQoJHBhcmFtc1sicmVzZXRmaWx0ZXIiXSkpIHsNCiAgJHRoaXMtPlNldFByZWZlcmVuY2UoImlkZmlsdGVyIiwiIik7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJtb2R1bGVmaWx0ZXIiLCIiKTsNCiAgJHRoaXMtPlNldFByZWZlcmVuY2UoInRhYmxlZmlsdGVyIiwiIik7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJwcm9wZmlsdGVyIiwiIik7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ2YWx1ZWZpbHRlciIsIiIpOw0KfQ0KDQoNCiRkYj0kdGhpcy0+R2V0RGIoKTsNCiRzcWw9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZSI7DQokcmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsKTsNCiRyb3dzPWFycmF5KCk7DQokdG90YWxjb3VudD0kcmVzdWx0LT5SZWNvcmRDb3VudCgpOw0KaWYgKCRyZXN1bHQgJiYgKCRyZXN1bHQtPlJlY29yZENvdW50KCk+MCkpIHsNCg0KICB3aGlsZSgkcm93PSRyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAkcHJvcHM9JHRoaXMtPkdldEVudGl0eSgkcm93WyJlbnRpdHlpZCJdKTsNCiAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoImlkZmlsdGVyIikhPSIiKSB7DQogICAgICBpZiAoIWVyZWdpKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJpZGZpbHRlciIpLCRyb3dbImVudGl0eWlkIl0pKSBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJtb2R1bGVmaWx0ZXIiKSE9IiIpIHsNCiAgICAgIGlmICghZXJlZ2koJHRoaXMtPkdldFByZWZlcmVuY2UoIm1vZHVsZWZpbHRlciIpLCRyb3dbImVudGl0eW1vZHVsZSJdKSkgY29udGludWU7DQogICAgfQ0KICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFibGVmaWx0ZXIiKSE9IiIpIHsNCiAgICAgIGlmICghZXJlZ2koJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmxlZmlsdGVyIiksJHJvd1siZW50aXR5dGFibGUiXSkpIGNvbnRpbnVlOw0KICAgIH0NCg0KICAgIGlmIChpc19hcnJheSgkcHJvcHMpKSB7DQogICAgICBmb3JlYWNoICgkcHJvcHMgYXMgJHByb3BuYW1lPT4kcHJvcHZhbHVlKSB7DQogICAgICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgicHJvcGZpbHRlciIpIT0iIikgew0KICAgICAgICAgIGlmICghZXJlZ2koJHRoaXMtPkdldFByZWZlcmVuY2UoInByb3BmaWx0ZXIiKSwkcHJvcG5hbWUpKSBjb250aW51ZTsNCiAgICAgICAgfQ0KICAgICAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoInZhbHVlZmlsdGVyIikhPSIiKSB7DQogICAgICAgICAgaWYgKCFlcmVnaSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgidmFsdWVmaWx0ZXIiKSwkcHJvcHZhbHVlKSkgY29udGludWU7DQogICAgICAgIH0NCiAgICAgICAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOw0KICAgICAgICAkb25lcm93LT5pZD0kcm93WyJlbnRpdHlpZCJdOw0KICAgICAgICAkb25lcm93LT5tb2R1bGU9JHJvd1siZW50aXR5bW9kdWxlIl07DQogICAgICAgICRvbmVyb3ctPnRhYmxlPSRyb3dbImVudGl0eXRhYmxlIl07DQogICAgICAgICRvbmVyb3ctPnByb3BuYW1lPSRwcm9wbmFtZTsNCiAgICAgICAgJG9uZXJvdy0+cHJvcHZhbHVlPSRwcm9wdmFsdWU7DQogICAgICAgIGFycmF5X3B1c2goJHJvd3MsICRvbmVyb3cpOw0KICAgICAgfQ0KICAgIH0NCiAgICBpZiAoY291bnQoJHJvd3MpPjUwMCkgew0KICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0b29tYW55cm93cyIsJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoInRvb21hbnlyb3dzIikpKTsNCiAgICAgIGJyZWFrOw0KICAgIH0NCiAgfQ0KfQ0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkcm93cyk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtb2QnLCAkdGhpcyk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRyb3dzKSk7DQoNCg0KLypGaWx0ZXIqLw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmb3Jtc3RhcnQiLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCJkZWZhdWx0YWRtaW4iKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImZvcm1lbmQiLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCRpZCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseWZpbHRlciIsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwiYXBwbHlmaWx0ZXIiLCR0aGlzLT5MYW5nKCJhcHBseWZpbHRlciIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInJlc2V0ZmlsdGVyIiwkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJyZXNldGZpbHRlciIsJHRoaXMtPkxhbmcoInJlc2V0ZmlsdGVyIikpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiaWRmaWx0ZXJpbnB1dCIsJHRoaXMtPkNyZWF0ZUlucHV0dGV4dCgkaWQsImlkZmlsdGVyIiwkdGhpcy0+R2V0UHJlZmVyZW5jZSgiaWRmaWx0ZXIiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtb2R1bGVmaWx0ZXJpbnB1dCIsJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJtb2R1bGVmaWx0ZXIiLCR0aGlzLT5HZXRNb2R1bGVMaXN0KCksICIiLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibW9kdWxlZmlsdGVyIikpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigidGFibGVmaWx0ZXJpbnB1dCIsJHRoaXMtPkNyZWF0ZUlucHV0dGV4dCgkaWQsInRhYmxlZmlsdGVyIiwkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFibGVmaWx0ZXIiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwcm9wZmlsdGVyaW5wdXQiLCR0aGlzLT5DcmVhdGVJbnB1dHRleHQoJGlkLCJwcm9wZmlsdGVyIiwkdGhpcy0+R2V0UHJlZmVyZW5jZSgicHJvcGZpbHRlciIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInZhbHVlZmlsdGVyaW5wdXQiLCR0aGlzLT5DcmVhdGVJbnB1dHRleHQoJGlkLCJ2YWx1ZWZpbHRlciIsJHRoaXMtPkdldFByZWZlcmVuY2UoInZhbHVlZmlsdGVyIikpKTsNCg0KLy8kdGhpcy0+U21hcnR5Rm9ybVN0YXJ0KCJkZWZhdWx0YWRtaW4iLGFycmF5KCJuYW1lIj0+InN1Ym1pdGZpbHRlciIsInZhbHVlIj0+JHRoaXMtPkxhbmcoImFwcGx5ZmlsdGVyIikpKTsNCi8vJHRoaXMtPlNtYXJ0eUZvcm1TdGFydCgiZGVmYXVsdGFkbWluIixhcnJheSgibmFtZSI9PiJyZXNldGZpbHRlciIsInZhbHVlIj0+JHRoaXMtPkxhbmcoInJlc2V0ZmlsdGVyIikpKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdzaG93ZGF0YS50cGwnKTsNCg0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbImZyaWVuZGx5bmFtZSJdPSJOZW8gRGF0YSBTdG9yYWdlIjsKJGxhbmdbImluc3RhbGxlZCJdPSJOZW8gRGF0YSBTdG9yYWdlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQiOwokbGFuZ1sidW5pbnN0YWxsZWQiXT0iTmVvIERhdGEgU3RvcmFnZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgdW5pbnN0YWxsZWQiOwokbGFuZ1sibm9kYXRhIl09Ik5vIGRhdGEiOwoKJGxhbmdbImlkZmlsdGVyIl09IkVudGl0eSBJRCBpcyI7CiRsYW5nWyJtb2R1bGVmaWx0ZXIiXT0iTW9kdWxlIGlzIjsKJGxhbmdbInRhYmxlZmlsdGVyIl09IlRhYmxlbmFtZSBjb250YWlucyI7CiRsYW5nWyJwcm9wZmlsdGVyIl09IlByb3BlcnR5bmFtZSBjb250YWlucyI7CiRsYW5nWyJ2YWx1ZWZpbHRlciJdPSJWYWx1ZSBjb250YWlucyI7CiRsYW5nWyJhcHBseWZpbHRlciJdPSJBcHBseSBmaWx0ZXIiOwokbGFuZ1sicmVzZXRmaWx0ZXIiXT0iUmVzZXQgZmlsdGVyIjsKJGxhbmdbInNob3dmaWx0ZXJzIl09IlNob3cgZmlsdGVycyI7CiRsYW5nWyJmaWx0ZXJzIl09IkZpbHRlcnMiOwokbGFuZ1sicm93c2ZvdW5kIl09InJvd3MgZm91bmQiOwokbGFuZ1sidG9vbWFueXJvd3MiXT0iVG9vIG1hbnkgcm93cyBmb3VuZCwgbmFycm93IGl0IGRvd24gdXNpbmcgZmlsdGVycyI7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ05lbyBEYXRhIFN0b3JhZ2UnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTmVvIERhdGEgU3RvcmFnZSBibGV2IGtvcnJla3QgaW5zdGFsbGVyZXQnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdOZW8gRGF0YSBTdG9yYWdlIGJsZXYga29ycmVrdCBhZmluc3RhbGxlcmV0JzsKJGxhbmdbJ25vZGF0YSddID0gJ0luZ2VuIGRhdGEnOwokbGFuZ1snaWRmaWx0ZXInXSA9ICdFbnRpdHkgSUQgZXInOwokbGFuZ1snbW9kdWxlZmlsdGVyJ10gPSAnTW9kdWxldCBlcic7CiRsYW5nWyd0YWJsZWZpbHRlciddID0gJ1RhYmVsbmF2biBpbmRlaG9sZGVyJzsKJGxhbmdbJ3Byb3BmaWx0ZXInXSA9ICdFZ2Vuc2thYm5hdm5ldCBpbmRlaG9sZGVyJzsKJGxhbmdbJ3ZhbHVlZmlsdGVyJ10gPSAnViZhZWxpZztyZGllbiBpbmRlaG9sZGVyJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnUCZhcmluZztmJm9zbGFzaDtyIGZpbHRlcic7CiRsYW5nWydyZXNldGZpbHRlciddID0gJ051bHN0aWwgZmlsdGVyJzsKJGxhbmdbJ3Nob3dmaWx0ZXJzJ10gPSAnVmlzIGZpbHRyZSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJlJzsKJGxhbmdbJ3Jvd3Nmb3VuZCddID0gJ3ImYWVsaWc7a2tlciBmdW5kZXQnOwokbGFuZ1sndG9vbWFueXJvd3MnXSA9ICdGb3IgbWFuZ2UgciZhZWxpZztra2VyIGZ1bmRldCwgaW5kc2smYWVsaWc7cnAgZGV0IHZoYS4gZmlsdHJlJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNDQxNzAyMDg5Mjg3Njg0NDUwMC4xMjEzMjUyNjcyLjEyNDc0Mjk0MzEuMTI1Mjk1NjM4OC4yMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNDQ5OTE1MjIuMTkuNS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L3Byb2plY3RzL3NpbXBsZXBpZSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNzQxNjIwODU4LTEyNTIyNjYwNzk0NzUnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ05lbyBEYXRhIFN0b3JhZ2UgJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0xlIG1vZHVsZSBOZW8gRGF0YSBTdG9yYWdlIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgaW5zdGFsbCZlYWN1dGU7IGF2ZWMgc3VjYyZlZ3JhdmU7cy4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdMZSBtb2R1bGUgTmVvIERhdGEgU3RvcmFnZSBhICZlYWN1dGU7dCZlYWN1dGU7IGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzLic7CiRsYW5nWydub2RhdGEnXSA9ICdBdWN1bmUgZG9ubiZlYWN1dGU7ZSc7CiRsYW5nWydpZGZpbHRlciddID0gJ0wmIzAzOTtpZGVudGlmaWFudCBkJiMwMzk7ZW50aXQmZWFjdXRlOyBlc3QnOwokbGFuZ1snbW9kdWxlZmlsdGVyJ10gPSAnTGUgbW9kdWxlIGVzdCc7CiRsYW5nWyd0YWJsZWZpbHRlciddID0gJ1RhYmxlbmFtZSBjb250aWVudCc7CiRsYW5nWydwcm9wZmlsdGVyJ10gPSAnUHJvcGVydHluYW1lIGNvbnRpZW50JzsKJGxhbmdbJ3ZhbHVlZmlsdGVyJ10gPSAnVmFsdWUgY29udGllbnQnOwokbGFuZ1snYXBwbHlmaWx0ZXInXSA9ICdBcHBsaXF1ZXIgbGUgZmlsdHJlJzsKJGxhbmdbJ3Jlc2V0ZmlsdGVyJ10gPSAnUiZlYWN1dGU7aW5pdGlhbGlzZXIgbGUgZmlsdHJlJzsKJGxhbmdbJ3Nob3dmaWx0ZXJzJ10gPSAnQWZmaWNoZXIgbGVzIGZpbHRyZXMnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZXMnOwokbGFuZ1sncm93c2ZvdW5kJ10gPSAnbGlnbmVzIHRyb3V2JmVhY3V0ZTtlcyc7CiRsYW5nWyd0b29tYW55cm93cyddID0gJ1Ryb3AgZGUgbGlnbmVzIG9udCAmZWFjdXRlO3QmZWFjdXRlOyB0cm91diZlYWN1dGU7ZXMuIExpbWl0ZXotbGVzIGVuIHV0aWxpc2FudCBsZXMgZmlsdHJlcy4nOwokbGFuZ1sncWNhJ10gPSAnUDAtOTAyMjAwNTkyLTEyNjQ0MjQ2MDg1ODEnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ05FTyBEYXRhIFN0b3JhZ2UgJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ05FTyBEYXRhIFN0b3JhZ2UgaGFyIGJsaXR0IGluc3RhbGxlcnQnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdORU8gRGF0YSBTdG9yYWdlIGhhciBibGl0dCBhdmluc3RhbGxlcnQnOwokbGFuZ1snbm9kYXRhJ10gPSAnSW5nZW4gZGF0YSc7CiRsYW5nWydpZGZpbHRlciddID0gJ0VudGl0ZXRzIElEJiMwMzk7ZW4gZXInOwokbGFuZ1snbW9kdWxlZmlsdGVyJ10gPSAnTW9kdWxlbiBlcic7CiRsYW5nWyd0YWJsZWZpbHRlciddID0gJ1RhYmJlbGxuYXZuZXQgaW5uZWhvbGRlcic7CiRsYW5nWydwcm9wZmlsdGVyJ10gPSAnRWdlbnNrYXBzbmF2bmV0IGlubmVob2xkZXInOwokbGFuZ1sndmFsdWVmaWx0ZXInXSA9ICdWZXJkaSBpbm5laG9sZGVyJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnU2wmYXJpbmc7IHAmYXJpbmc7IGZpbHRlcic7CiRsYW5nWydyZXNldGZpbHRlciddID0gJ1RpbGJha2VzdGlsbCBmaWx0ZXInOwokbGFuZ1snc2hvd2ZpbHRlcnMnXSA9ICdWaXMgZmlsdHJlJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmUnOwokbGFuZ1sncm93c2ZvdW5kJ10gPSAncmFkZXIgZnVubmV0JzsKJGxhbmdbJ3Rvb21hbnlyb3dzJ10gPSAnRm9yIG1hbmdlIHJhZGVyIGZ1bm5ldCwgYmVncmVucyBkZXR0ZSB2ZWQgJmFyaW5nOyBiZW55dHRlIGZpbHRyZSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNDUxOTAxOTYuMTQ0NC4zNi51dG1jc3I9dGhlbWVzLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2Rvd25sb2FkX3RoZW1lcy5odG1sJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI0NzM4Mjg2MC4xMjQ3Mzk0MjE5LjE1NjMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ05FTyBEYXRhIFN0b3JhZ2UgJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ05FTyBEYXRhIFN0b3JhZ2UgbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ05FTyBEYXRhIFN0b3JhZ2UgbW9kdWxlIGlzIHZlcndpamRlcmQnOwokbGFuZ1snbm9kYXRhJ10gPSAnR2VlbiBkYXRhJzsKJGxhbmdbJ2lkZmlsdGVyJ10gPSAnRW50aXR5IElkIGlzJzsKJGxhbmdbJ21vZHVsZWZpbHRlciddID0gJ01vZHVsZSBpcyAnOwokbGFuZ1sndGFibGVmaWx0ZXInXSA9ICdUYWJlbG5hYW0gYmV2YXQnOwokbGFuZ1sncHJvcGZpbHRlciddID0gJ0VpZ2Vuc2NoYXBuYWFtIGJldmF0JzsKJGxhbmdbJ3ZhbHVlZmlsdGVyJ10gPSAnV2FhcmRlIGJldmF0JzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnRmlsdGVyIHRvZXBhc3Nlbic7CiRsYW5nWydyZXNldGZpbHRlciddID0gJ0ZpbHRlciBoZXJzdGVsbGVuJzsKJGxhbmdbJ3Nob3dmaWx0ZXJzJ10gPSAnVG9vbiBmaWx0ZXJzJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0ZXJzICc7CiRsYW5nWydyb3dzZm91bmQnXSA9ICdyZWdlbHMgZ2V2b25kZW4nOwokbGFuZ1sndG9vbWFueXJvd3MnXSA9ICdUZSB2ZWVsIHJlZ2VscyBnZXZvbmRlbiwgcGFzIGVlbiBmaWx0ZXIgdG9lJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzA2NzkyMTcyMzc0MDYxMjAwLjEyNDU3MDMzMjkuMTI0NzQzMTUzNC4xMjQ3NDY1Nzc3LjI1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0NTcwMzMyOS4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ05lbyBTdG9jYXJlIERhdGUnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTmVvIFN0b2NhcmUgRGF0ZSBhIGZvc3QgaW5zdGFsYXQgY3Ugc3VjY2VzJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTmVvIFN0b2NhcmUgRGF0ZSBhIGZvc3QgZGV6aW5zdGFsYXQnOwokbGFuZ1snbm9kYXRhJ10gPSAnRmFyYSBkYXRlJzsKJGxhbmdbJ2lkZmlsdGVyJ10gPSAnSUQtdWwgZW50aXRhdGlpIGVzdGUnOwokbGFuZ1snbW9kdWxlZmlsdGVyJ10gPSAnTW9kdWx1bCBlc3RlJzsKJGxhbmdbJ3RhYmxlZmlsdGVyJ10gPSAnTnVtZSB0YWJlbCBjb250aW5lJzsKJGxhbmdbJ3Byb3BmaWx0ZXInXSA9ICdOdW1lIHByb3ByaWV0YXRlIGNvbnRpbmUnOwokbGFuZ1sndmFsdWVmaWx0ZXInXSA9ICdWYWxvYXJlYSBjb250aW5lJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBsaWNhcmUgZmlsdHJ1JzsKJGxhbmdbJ3Jlc2V0ZmlsdGVyJ10gPSAnUmVzZXRhcmUgZmlsdHJ1JzsKJGxhbmdbJ3Nob3dmaWx0ZXJzJ10gPSAnQWZpc2FyZSBmaWx0cmUnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZSc7CiRsYW5nWydyb3dzZm91bmQnXSA9ICdyYW5kdXJpIGdhc2l0ZSc7CiRsYW5nWyd0b29tYW55cm93cyddID0gJ1ByZWEgbXVsdGUgcmFuZHVyaSBnYXNpdGUsIG1pY3NvcmF0aSBudW1hcnVsIGZvbG9zaW5kIGZpbHRyZWxlJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTUyNjAzNzM1MC4xMjUxOTU5MzQzLjEyNTE5ODExOTIuMTI1MTk4NTY4OC41JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUxOTU5MzQzLjEuMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21hZGVzaW1wbGUnOwokbGFuZ1sncWNhJ10gPSAnUDAtOTAxNjUzNDczLTEyNTE5NTkzNDI3MjknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAkZGI9JHRoaXMtPkdldERiKCk7CiAgJGZsZHMgPSAiCgkJCWVudGl0eWlkIEkgS0VZLAoJCQllbnRpdHltb2R1bGUgQyg4MCksCiAgICAgIGVudGl0eXRhYmxlIEMoNDApLAogICAgICBlbnRpdHlleHRyYWtleSBDKDgwKQoJIjsKCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7Cgkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmVvZGF0YXN0b3JhZ2UiLCRmbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZV9zZXEiKTsKCiAgJGZsZHMgPSAiCgkJCWVudGl0eWlkIEksCgkJCXByb3BuYW1lIEMoODApLAogICAgICBwcm9wdHlwZSBDKDQwKSwKCQkJcHJvcHZhbHVlIFgKCSI7CgkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX3Byb3BzIiwkZmxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgJGZsZHMgPSAiCgkJCWVudGl0eWlkMSBJLAoJCQllbnRpdHlpZDIgSSwKICAgICAgdHlwZSBDKDQwKQoJIjsKCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7Cgkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmVvZGF0YXN0b3JhZ2VfY29ubmVjdGlvbnMiLCRmbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignYWNjZXNzbmVvZGF0YXN0b3JhZ2UnLCdBY2Nlc3MgdG8gdGhlIE5lb0RhdGFTdG9yYWdlLXBhZ2UnKTsKICAKICAkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmVvZGF0YXN0b3JhZ2UiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX3NlcSIgKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX3Byb3BzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZV9jb25uZWN0aW9ucyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignYWNjZXNzbmVvZGF0YXN0b3JhZ2UnKTsKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCj8+]]></data>
	</file>
	<file>
	  <filename>/NeoDataStorage.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qDQogIyBOZW9EYXRhU3RvcmFnZS4gQW4gZ2VuZXJhbCBwdXJwb3NlIGRhdGFzdG9yYWdlIG1vZHVsZWNsYXNzIGZvciBDTVMgTWFkZSBTaW1wbGUNCiAjIChjKTIwMDkgYnkgTW9ydGVuIFBvdWxzZW4gKG1vcnRlbkBwb3Vsc2VuLm9yZykNCiAjDQogI0NNUyAtIENNUyBNYWRlIFNpbXBsZQ0KICMoYykyMDA0LTA5IGJ5IFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpDQogI1RoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vY21zbWFkZXNpbXBsZS5zZi5uZXQNCiAjDQogI1RoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnDQogIw0KICNUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KICNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KICN0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KICMoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KICMNCiAjVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQogI2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQogI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiAjR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiAjWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiAjYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiAjRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQ0KICMNCiAjJElkJA0KICMNCiAqLw0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImlzX2Fzc29jIikpIHsNCiAgZnVuY3Rpb24gaXNfYXNzb2MoJGFycmF5KSB7DQogICAgcmV0dXJuIChpc19hcnJheSgkYXJyYXkpICYmIDAgIT09IGNvdW50KGFycmF5X2RpZmZfa2V5KCRhcnJheSwgYXJyYXlfa2V5cyhhcnJheV9rZXlzKCRhcnJheSkpKSkpOw0KICB9DQp9DQoNCmNsYXNzIE5lb0RhdGFTdG9yYWdlIGV4dGVuZHMgQ01TTW9kdWxlIHsNCiAgdmFyICRfc29ydGZpZWxkczsNCiAgdmFyICRfZmllbGRzZXRzPWFycmF5KCk7DQogIHZhciAkX2Vycm9ycz0iIjsNCg0KICBmdW5jdGlvbiBHZXROYW1lKCkgew0KICAgIHJldHVybiAnTmVvRGF0YVN0b3JhZ2UnOw0KICB9DQoNCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgew0KICAgIHJldHVybiAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIik7DQogIH0NCg0KICBmdW5jdGlvbiBIYXNBZG1pbigpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQl7DQogICAgcmV0dXJuICcwLjIuMic7DQogIH0NCg0KICBmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCRjYXBhYmlsaXR5LCAkcGFyYW1zPWFycmF5KCkpIHsNCiAgICBpZiAoJGNhcGFiaWxpdHk9PSJkYXRhc3RvcmFnZSIpIHJldHVybiB0cnVlOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIGZ1bmN0aW9uIEdldEhlbHAoKSB7DQogICAgcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2hlbHAudHBsJyk7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7DQogICAgcmV0dXJuICdNb3J0ZW4gcG91bHNlbic7DQogIH0NCg0KDQogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgew0KICAgIHJldHVybiAnbW9ydGVuQHBvdWxzZW4ub3JnJzsNCiAgfQ0KDQoNCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgew0KICAgIHJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjaGFuZ2Vsb2cudHBsJyk7DQogIH0NCg0KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7DQogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ2FjY2Vzc25lb2RhdGFzdG9yYWdlJyk7DQogIH0NCg0KICAvKg0KICAgKg0KICAgKiBBUEktZnVuY3Rpb25zDQogICAqDQogICAqLw0KDQogIGZ1bmN0aW9uIEFkZEVudGl0eSgkbW9kdWxlLCAkdGFibGUsICRwcm9wcz1hcnJheSgpKSB7DQogICAgJGRiPSR0aGlzLT5HZXREYigpOw0KICAgICRuZXdpZD0kZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX3NlcSIpOw0KDQogICAgJHNxbD0iSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZSAoZW50aXR5aWQsZW50aXR5bW9kdWxlLGVudGl0eXRhYmxlKSBWQUxVRVMgKD8sPyw/KSI7DQogICAgJHZhbHVlcz1hcnJheSgkbmV3aWQsJG1vZHVsZSwkdGFibGUpOw0KICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRzcWwsJHZhbHVlcyk7DQogICAgaWYgKCEkcmVzdWx0KSByZXR1cm4gJHRoaXMtPkVycm9yKCJmdW5jdGlvbiBBZGRFbnRpdHk6IGVycm9yIGFkZGluZyBlbnRpdHkiLGZhbHNlLGFycmF5KCRwcm9wcykpOw0KDQogICAgaWYgKCFlbXB0eSgkcHJvcHMpKSB7DQogICAgICAvL2VjaG8gImhlcmUiOw0KICAgICAgJHRoaXMtPlNldEVudGl0eVByb3BzKCRuZXdpZCwgJHByb3BzLCBmYWxzZSk7DQogICAgfQ0KDQogICAgcmV0dXJuICRuZXdpZDsNCiAgfQ0KDQogIGZ1bmN0aW9uIERlbGV0ZUVudGl0eSgkaWQpIHsNCiAgICAkdGhpcy0+Q2xlYXJFbnRpdHlQcm9wcygkaWQpOw0KICAgICR0aGlzLT5DbGVhckVudGl0eUNvbm5lY3Rpb25zKCRpZCk7DQogICAgJGRiPSR0aGlzLT5HZXREYigpOw0KDQogICAgJHNxbD0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZSBXSEVSRSBlbnRpdHlpZD0/IjsNCiAgICAkdmFsdWVzPWFycmF5KCRpZCk7DQogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoISRyZXN1bHQpICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gRGVsZXRlRW50aXR5OiBlcnJvciBkZWxldGluZyBlbnRpdHkiLGZhbHNlLGFycmF5KCJpZCI9PiRpZCkpOw0KICAgIHJldHVybiAkcmVzdWx0Ow0KICB9DQoNCiAgZnVuY3Rpb24gR2V0RW50aXR5V2l0aFR5cGUoJGlkLCAkb3ZlcnJpZGVwcm9wcz1hcnJheSgpKSB7DQogICAgcmV0dXJuICR0aGlzLT5HZXRFbnRpdHkoJGlkLCAkb3ZlcnJpZGVwcm9wcywgdHJ1ZSk7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRFbnRpdHkoJGlkLCAkb3ZlcnJpZGVwcm9wcz1hcnJheSgpLCAkZmlsbGZpZWxkcz1hcnJheSgpLCAkd2l0aHR5cGU9ZmFsc2UpIHsNCiAgICAkZGI9JHRoaXMtPkdldERiKCk7DQoNCiAgICAkc3FsPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmVvZGF0YXN0b3JhZ2VfcHJvcHMgV0hFUkUgZW50aXR5aWQ9PyI7DQogICAgJHZhbHVlcz1hcnJheSgkaWQpOw0KICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoISRkYnJlc3VsdCB8fCAoJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpPT0wKSkgew0KICAgICAgaWYgKCEkZGJyZXN1bHQpICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gR2V0RW50aXR5OiBlcnJvciBnZXR0aW5nIGVudGl0eSIsZmFsc2UsYXJyYXkoImlkIj0+JGlkKSk7DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgICRyZXN1bHQ9YXJyYXkoKTsNCiAgICB3aGlsZSgkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgew0KICAgICAgaWYgKCR3aXRodHlwZSkgew0KICAgICAgICAkcmVzdWx0WyRyb3dbInByb3BuYW1lIl1dPWFycmF5KCJ2YWx1ZSI9PiRyb3dbInByb3B2YWx1ZSJdLCJ0eXBlIj0+JHJvd1sicHJvcHR5cGUiXSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICAkcmVzdWx0WyRyb3dbInByb3BuYW1lIl1dPSRyb3dbInByb3B2YWx1ZSJdOw0KICAgICAgfQ0KICAgICAgaWYgKGlzc2V0KCRvdmVycmlkZXByb3BzWyRyb3dbInByb3BuYW1lIl1dKSkgew0KDQogICAgICAgIGlmICgkd2l0aHR5cGUpIHsNCiAgICAgICAgICAvL05vdyB0aGlzIGlzIGp1c3QgYmVhdGlmdWwNCiAgICAgICAgICAkcmVzdWx0WyRyb3dbInByb3BuYW1lIl1dPSRvdmVycmlkZXByb3BzWyRyb3dbInByb3BuYW1lIl1dOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICRyZXN1bHRbJHJvd1sicHJvcG5hbWUiXV09YXJyYXkoInZhbHVlIj0+JG92ZXJyaWRlcHJvcHNbJHJvd1sicHJvcG5hbWUiXV0sInR5cGUiPT4idW5rbm93biIpOw0KICAgICAgICB9DQoNCiAgICAgIH0NCiAgICB9DQogICAgJHJlc3VsdFsiaWQiXT0kaWQ7DQogICAgJHJlc3VsdFsiZW50aXR5aWQiXT0kaWQ7DQogICAgcmV0dXJuICRyZXN1bHQ7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRFbnRpdGllcygkbW9kdWxlLCAkdGFibGU9IiIsICRjcml0ZXJpYT1hcnJheSgpKSB7ICAgIA0KICAgICRkYj0kdGhpcy0+R2V0RGIoKTsNCiAgICAvL2VjaG8gJG1vZHVsZTsgZWNobyAkdGFibGU7ZGllKCk7DQogICAgJHNxbD0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlIFdIRVJFIGVudGl0eW1vZHVsZT0/IjsNCiAgICAkdmFsdWVzPWFycmF5KCRtb2R1bGUpOw0KICAgIGlmICgkdGFibGUhPSIiKSB7DQogICAgICAkc3FsLj0iIEFORCBlbnRpdHl0YWJsZT0/IjsNCiAgICAgICR2YWx1ZXM9YXJyYXkoJG1vZHVsZSwkdGFibGUpOw0KICAgIH0gIA0KICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoISRkYnJlc3VsdCB8fCAoJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpPT0wKSkgew0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgICAkcmVzdWx0PWFycmF5KCk7DQogICAgd2hpbGUoJHJvdz0kZGJyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAgIC8vaWYgKCR0YWJsZT09ImZhZyIpIHtwcmludF9yKCRjcml0ZXJpYSk7ZGllKCk7fQ0KICAgICAgJGZhaWxlZD1mYWxzZTsNCiAgICAgIGlmICghZW1wdHkoJGNyaXRlcmlhKSkgew0KICAgICAgICAkZW50aXR5PSR0aGlzLT5HZXRFbnRpdHkoJHJvd1siZW50aXR5aWQiXSk7DQogICAgICAgIC8vcHJpbnRfcigkZW50aXR5KTsgICAgDQogICAgICAgIGZvcmVhY2goJGNyaXRlcmlhIGFzICRjcHJvcD0+JGN2YWx1ZSkgeyAgICAgICAgICANCiAgICAgICAgICBpZiAoIWlzc2V0KCRlbnRpdHlbJGNwcm9wXSkgfHwgKGlzc2V0KCRlbnRpdHlbJGNwcm9wXSkgJiYgJGVudGl0eVskY3Byb3BdIT0kY3ZhbHVlKSkgew0KICAgICAgICAgICAgJGZhaWxlZD10cnVlOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmICgkZmFpbGVkKSBjb250aW51ZTsgLy9Dcml0ZXJpYSBmYWlsZWQNCiAgICAgIH0NCiAgICAgICRyb3dbImlkIl09JHJvd1siZW50aXR5aWQiXTsNCiAgICAgICRyZXN1bHRbXT0kcm93Ow0KICAgIH0NCiAgICAvL2lmICgkdGFibGU9PSJmYWciKSB7cHJpbnRfcigkcmVzdWx0KTtkaWUoKTt9DQogICAgaWYgKGNvdW50KCRyZXN1bHQpPT0wKSByZXR1cm4gZmFsc2U7DQogICAgcmV0dXJuICRyZXN1bHQ7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRPbmVFbnRpdHkoJG1vZHVsZSwgJHRhYmxlLCAkY3JpdGVyaWE9YXJyYXkoKSwgJGZhaWxpZm11bHRpcGxlPWZhbHNlKSB7DQogICAgLy9lY2hvICRtb2R1bGU7ZWNobyAkdGFibGU7DQogICAgLy9wcmludF9yKCRjcml0ZXJpYSk7ZGllKCk7Ly8NCiAgICAkZW50aXRpZXM9JHRoaXMtPkdldEVudGl0aWVzRnVsbCgkbW9kdWxlLCAkdGFibGUsICRjcml0ZXJpYSk7DQovL2lmICgkdGFibGU9PSJmYWciKSB7cHJpbnRfcigkZW50aXRpZXMpO2RpZSgpO30NCiAgICBpZiAoISRlbnRpdGllcykgcmV0dXJuIGZhbHNlOw0KDQogICAgaWYgKGNvdW50KCRlbnRpdGllcyk+MSAmJiAkZmFpbGlmbXVsdGlwbGUpIHJldHVybiBmYWxzZTsNCiAgICANCiAgICBmb3JlYWNoICgkZW50aXRpZXMgYXMgJGVudGl0eSkgew0KICAgICAgcmV0dXJuICRlbnRpdHk7IC8vSG1tLCB0aGlzIGlzIHVnbHkgcmlnaHQ/IGJ1dCB3b3JrcyA6KQ0KICAgIH0NCg0KICB9DQoNCiAgZnVuY3Rpb24gR2V0RW50aXRpZXNGdWxsKCRtb2R1bGUsICR0YWJsZT0iIiwgJGNyaXRlcmlhPWFycmF5KCkpIHsNCiAgICAkc2ltcGxlZW50aXRpZXM9JHRoaXMtPkdldEVudGl0aWVzKCRtb2R1bGUsICR0YWJsZSwgJGNyaXRlcmlhKTsNCiAgICAvL2lmICgkdGFibGU9PSJmYWciKSB7cHJpbnRfcigkc2ltcGxlZW50aXRpZXMpO2RpZSgpO30NCiAgICAvL3ByaW50X3IoJHNpbXBsZWVudGl0aWVzKTtkaWUoKTsNCiAgICBpZiAoISRzaW1wbGVlbnRpdGllcyB8fCBlbXB0eSgkc2ltcGxlZW50aXRpZXMpKSByZXR1cm4gZmFsc2U7DQoNCiAgICAkZnVsbGVudGl0aWVzPWFycmF5KCk7DQogICAgZm9yZWFjaCAoJHNpbXBsZWVudGl0aWVzIGFzICRzaW1wbGVlbnRpdHkpIHsNCiAgICAgICRlbnRpdHk9JHRoaXMtPkdldEVudGl0eSgkc2ltcGxlZW50aXR5WyJlbnRpdHlpZCJdKTsNCiAgICAgIGlmICgkZW50aXR5IT09ZmFsc2UpIHsNCiAgICAgICAgLy9wcmludF9yKCRlbnRpdHkpO2RpZSgpOw0KICAgICAgICAkZW50aXR5WyJpZCJdPSRlbnRpdHlbImVudGl0eWlkIl07DQogICAgICAgICRmdWxsZW50aXRpZXNbXT0kZW50aXR5Ow0KICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gJGZ1bGxlbnRpdGllczsNCiAgfQ0KDQogIGZ1bmN0aW9uIEVudGl0aWVzQ291bnQoJG1vZHVsZSwgJHRhYmxlPSIiLCAkY3JpdGVyaWE9YXJyYXkoKSkgew0KICAgICRlbnRpdGllcz0kdGhpcy0+R2V0RW50aXRpZXMoJG1vZHVsZSwgJHRhYmxlLCAkY3JpdGVyaWEpOw0KICAgIHJldHVybiBjb3VudCgkZW50aXRpZXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gU2V0RW50aXR5UHJvcCgkaWQsJHByb3BuYW1lLCRwcm9wdmFsdWUsJHByb3B0eXBlPSJ1bmRlZmluZWQiKSB7DQogIC8vICBlY2hvICRwcm9wbmFtZTsNCiAgICAvLyR0aGlzLT5DbGVhckVudGl0eVByb3AoJGlkLCRwcm9wbmFtZSk7DQogICAgJGRiPSR0aGlzLT5HZXREYigpOw0KICAgICRzcWw9IlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX3Byb3BzIFNFVCBwcm9wdmFsdWU9Pyxwcm9wdHlwZT0/IFdIRVJFIGVudGl0eWlkPT8gQU5EIHByb3BuYW1lPT8iOw0KICAgICR2YWx1ZXM9YXJyYXkoJHByb3B2YWx1ZSwkcHJvcHR5cGUsJGlkLCRwcm9wbmFtZSk7DQogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoISRyZXN1bHQgfHwgJGRiLT5BZmZlY3RlZF9Sb3dzKCk8MSkgew0KICAgICAgJHNxbD0iSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZV9wcm9wcyAoZW50aXR5aWQscHJvcG5hbWUscHJvcHZhbHVlLHByb3B0eXBlKSBWQUxVRVMgKD8sPyw/LD8pIjsNCiAgICAgICR2YWx1ZXM9YXJyYXkoJGlkLCRwcm9wbmFtZSwkcHJvcHZhbHVlLCRwcm9wdHlwZSk7DQogICAgfQ0KICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRzcWwsJHZhbHVlcyk7DQogICAgaWYgKCEkcmVzdWx0KSByZXR1cm4gJHRoaXMtPkVycm9yKCJmdW5jdGlvbiBTZXRFbnRpdHlQcm9wOiBlcnJvciBzZXR0aW5nIGVudGl0eS1wcm9wIixmYWxzZSxhcnJheSgiZW50aXR5aWQiPT4kaWQsInByb3B0eXBlIj0+JHByb3B0eXBlKSk7DQogICAgcmV0dXJuICRyZXN1bHQ7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRFbnRpdHlQcm9wKCRpZCwkcHJvcG5hbWUsICRkZWZhdWx0PWZhbHNlKSB7DQogICAgJGVudGl0eT0kdGhpcy0+R2V0RW50aXR5KCRpZCk7DQogICAgaWYgKCEkZW50aXR5KSByZXR1cm4gZmFsc2U7DQogICAgaWYgKGlzc2V0KCRlbnRpdHlbInByb3BuYW1lIl0pKSByZXR1cm4gJGVudGl0eVsicHJvcG5hbWUiXTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICBmdW5jdGlvbiBDbGVhckVudGl0eSgkaWQpIHsNCiAgICAkdGhpcy0+Q2xlYXJFbnRpdHlDb25uZWN0aW9ucygkaWQsJGlkKTsNCiAgICAkdGhpcy0+Q2xlYXJFbnRpdHlQcm9wcygkaWQpOw0KICAgICRkYj0kdGhpcy0+R2V0RGIoKTsNCiAgICAkc3FsPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlIFdIRVJFIGVudGl0eWlkPT8iOw0KICAgICR2YWx1ZXM9YXJyYXkoJGlkKTsNCiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsLCR2YWx1ZXMpOw0KICAgIGlmICghJHJlc3VsdCkgcmV0dXJuICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gQ2xlYXJFbnRpdHk6IGVycm9yIGNsZWFyaW5nIGVudGl0eSIsZmFsc2UsYXJyYXkoImlkIj0+JGlkKSk7DQogICAgcmV0dXJuICRyZXN1bHQ7DQogIH0NCg0KICBmdW5jdGlvbiBDbGVhck1vZHVsZUVudGl0aWVzKCRtb2R1bGUpIHsNCg0KICAgICRlbnRpdGllcz0kdGhpcy0+R2V0RW50aXRpZXMoJG1vZHVsZSk7DQoNCiAgICBpZiAoISRlbnRpdGllcykgcmV0dXJuOw0KLy9kaWUoKTsNCiAgICBmb3JlYWNoICgkZW50aXRpZXMgYXMgJGVudGl0eSkgew0KICAgICAgJHRoaXMtPkNsZWFyRW50aXR5KCRlbnRpdHlbImVudGl0eWlkIl0pOw0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIENsZWFyRW50aXR5UHJvcCgkaWQsICRwcm9wbmFtZSkgew0KICAgICRkYj0kdGhpcy0+R2V0RGIoKTsNCiAgICAkc3FsPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX3Byb3BzIFdIRVJFIGVudGl0eWlkPT8gQU5EIHByb3BuYW1lPT8iOw0KICAgICR2YWx1ZXM9YXJyYXkoJGlkLCRwcm9wbmFtZSk7DQogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoISRyZXN1bHQpIHJldHVybiAkdGhpcy0+RXJyb3IoImZ1bmN0aW9uIENsZWFyRW50aXR5UHJvcDogZXJyb3IgY2xlYXJpbmcgZW50aXR5cHJvcCIsZmFsc2UsYXJyYXkoImlkIj0+JGlkLCJwcm9wbmFtZSI9PiRwcm9wbmFtZSkpOw0KICAgIHJldHVybiAkcmVzdWx0Ow0KICB9DQoNCiAgZnVuY3Rpb24gQ2xlYXJFbnRpdHlQcm9wcygkaWQpIHsNCiAgICAkZGI9JHRoaXMtPkdldERiKCk7DQogICAgJHNxbD0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZV9wcm9wcyBXSEVSRSBlbnRpdHlpZD0/IjsNCiAgICAkdmFsdWVzPWFycmF5KCRpZCk7DQogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoISRyZXN1bHQpICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gQ2xlYXJFbnRpdHlQcm9wczogZXJyb3IgY2xlYXJpbmcgZW50aXR5cHJvcHMiLGZhbHNlLGFycmF5KCJpZCI9PiRpZCkpOw0KICAgIHJldHVybiAkcmVzdWx0Ow0KICB9DQoNCiAgZnVuY3Rpb24gU2V0RW50aXR5UHJvcHNGcm9tQXJyYXkoJGlkLCAkcHJvcHMsICR2YWx1ZXMsICRjbGVhcj10cnVlKSB7ICAgIA0KICAgIGlmICghaXNfYXJyYXkoJHByb3BzKSB8fCAhaXNfYXJyYXkoJHZhbHVlcykpIHJldHVybiAkdGhpcy0+RXJyb3IoImZ1bmN0aW9uIFNldEVudGl0eVByb3BzRnJvbUFycmF5OiBcJHByb3BzIGFuZCBcJHZhbHVlcyBtdXN0IGJlIGFuIGFycmF5cyIpOw0KICAgIA0KICAgIGZvcmVhY2ggKCRwcm9wcyBhcyAkcHJvcG5hbWUpIHsgICAgICANCiAgICAgIGlmIChpc3NldCgkdmFsdWVzWyRwcm9wbmFtZV0pKSB7DQogICAgICAgICR2YWx1ZT0kdmFsdWVzWyRwcm9wbmFtZV07DQogICAgICAgIC8vZWNobyAkdmFsdWU7DQogICAgICAgIGlmIChpc19hcnJheSgkdmFsdWUpKSB7ICAgICAgICANCiAgICAgICAgICAkdGhpcy0+U2V0RW50aXR5UHJvcCgkaWQsICRwcm9wbmFtZSwgJHZhbHVlWyJ2YWx1ZSJdLCR2YWx1ZVsidHlwZSJdKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAvL2VjaG8gJHByb3BuYW1lLiI9PiIuJHZhbHVlOw0KICAgICAgICAgICR0aGlzLT5TZXRFbnRpdHlQcm9wKCRpZCwgJHByb3BuYW1lLCAkdmFsdWUpOw0KICAgICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgICBpZiAoJGNsZWFyKSAkdGhpcy0+Q2xlYXJFbnRpdHlQcm9wKCRpZCwgJHByb3BuYW1lKTsNCiAgICAgIH0NCiAgICB9DQogICAgLy9kaWUoKTsNCiAgICByZXR1cm4gJGlkOw0KICB9DQogIA0KDQogIGZ1bmN0aW9uIFNldEVudGl0eVByb3BzKCRpZCwgJHByb3BzLyosICRjbGVhcj10cnVlKi8pIHsNCiAgICAvL3ByaW50X3IoJHByb3BzKTsgIGVjaG8gImhpMiI7IGRpZSgpOw0KICAgIC8vcHJpbnRfcigkcHJvcHMpO2VjaG8iPGJyLz48YnIvPiI7DQogICAgICAgIC8vZWNobyAkaWQ7ZGllKCkNCiAgICBpZiAoIWlzX2FycmF5KCRwcm9wcykgfHwgIWlzX2Fzc29jKCRwcm9wcykpIHJldHVybiAkdGhpcy0+RXJyb3IoImZ1bmN0aW9uIFNldEVudGl0eVByb3BzOiBcJHByb3BzIG11c3QgYmUgYW4gYXNzb2MgYXJyYXkiKTsNCiAgICBmb3JlYWNoICgkcHJvcHMgYXMgJHByb3BuYW1lPT4kcHJvcHZhbHVlKSB7DQogICAgICAvL2lmICgkY2xlYXIpICR0aGlzLT5DbGVhckVudGl0eVByb3AoJGlkLCAkcHJvcG5hbWUpOw0KICAgICAgaWYgKGlzX2FycmF5KCRwcm9wdmFsdWUpKSB7DQogICAgICAgIC8vICBwcmludF9yKCRwcm9wdmFsdWUpO2RpZSgpOw0KICAgICAgICAkdGhpcy0+U2V0RW50aXR5UHJvcCgkaWQsICRwcm9wbmFtZSwgJHByb3B2YWx1ZVsidmFsdWUiXSwkcHJvcHZhbHVlWyJ0eXBlIl0pOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgLy9lY2hvICRwcm9wbmFtZTsNCiAgICAgICAgLy9lY2hvICJoaTIiOyBkaWUoKTsNCiAgICAgICAgJHRoaXMtPlNldEVudGl0eVByb3AoJGlkLCAkcHJvcG5hbWUsICRwcm9wdmFsdWUpOw0KICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiAkaWQ7DQoNCiAgfQ0KDQogIC8vRG9lcyBub3Qgd29yayENCiAgZnVuY3Rpb24gU2V0RW50aXR5UHJvcHNPbkNyaXRlcmlhKCRtb2R1bGUsJHRhYmxlLCAkcHJvcHMsICRjcml0ZXJpYSwgJGNyZWF0ZT10cnVlLCAkY2xlYXI9ZmFsc2UpIHsNCiAgICAvKnByaW50X3IoJHByb3BzKTtlY2hvIjxici8+PGJyLz4iOw0KICAgIHByaW50X3IoJGNyaXRlcmlhKTtkaWUoKTsqLw0KICAgICRlbnRpdGllcz0kdGhpcy0+R2V0RW50aXRpZXMoJG1vZHVsZSwkdGFibGUsICRjcml0ZXJpYSk7DQogICAgaWYgKCEkZW50aXRpZXMpIHsNCiAgICAgIGlmICgkY3JlYXRlKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+QWRkRW50aXR5KCRtb2R1bGUsICR0YWJsZSwgJHByb3BzKTsNCiAgICAgIH0NCiAgICB9IGVsc2Ugew0KICAgICAgJGNvdW50PTA7DQogICAgICBmb3JlYWNoKCRlbnRpdGllcyBhcyAkZW50aXR5KSB7DQogICAgICAgIC8qcHJpbnRfcigkcHJvcHMpO2VjaG8iPGJyLz48YnIvPiI7DQogICAgICAgIHByaW50X3IoJGVudGl0eSk7ZGllKCk7Ki8NCiAgICAgICAgJGNvdW50Kys7DQogICAgICAgICR0aGlzLT5TZXRFbnRpdHlQcm9wcygkZW50aXR5WyJpZCJdLCRwcm9wcywkY2xlYXIpOw0KICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiAkY291bnQ7DQogIH0NCg0KICBmdW5jdGlvbiBSZXNldEVudGl0eVByb3BzKCRpZCwgJG5ld3Byb3BzPWFycmF5KCkpIHsNCiAgICAkdGhpcy0+Q2xlYXJFbnRpdHlQcm9wcygkaWQpOw0KICAgICR0aGlzLT5TZXRFbnRpdHlQcm9wcygkaWQsICRuZXdwcm9wcywgZmFsc2UpOw0KICB9DQoNCiAgZnVuY3Rpb24gUmVtb3ZlTW9kdWxlRW50aXRpZXMoJG1vZHVsZW5hbWUpIHsNCiAgICAkZW50aXRpZXM9JHRoaXMtPkdldEVudGl0aWVzKCRtb2R1bGVuYW1lKTsNCiAgICBmb3JlYWNoICgkZW50aXRpZXMgYXMgJGVudGl0eSkgew0KICAgICAgJHRoaXMtPkRlbGV0ZUVudGl0eSgkZW50aXR5WyJpZCJdKTsNCiAgICB9DQogIH0NCg0KDQoNCg0KICBmdW5jdGlvbiBDb21wYXJlRW50aXRpZXMoJGVudGl0eTEsICRlbnRpdHkyLCAkc29ydGZpZWxkKSB7DQogICAgaWYgKCFpc3NldCgkZW50aXR5MVskc29ydGZpZWxkXSkpIHJldHVybiAwOw0KICAgIGlmICghaXNzZXQoJGVudGl0eTJbJHNvcnRmaWVsZF0pKSByZXR1cm4gMDsNCiAgICBpZiAoaXNfbnVtZXJpYygkZW50aXR5MVskc29ydGZpZWxkXSkgJiYgaXNfbnVtZXJpYygkZW50aXR5Mlskc29ydGZpZWxkXSkpIHsNCiAgICAgIGlmICgkZW50aXR5MVskc29ydGZpZWxkXT09JGVudGl0eTJbJHNvcnRmaWVsZF0pIHJldHVybiAwOw0KICAgICAgaWYgKCRlbnRpdHkxWyRzb3J0ZmllbGRdPCRlbnRpdHkyWyRzb3J0ZmllbGRdKSByZXR1cm4gLTE7DQogICAgICByZXR1cm4gMTsNCiAgICB9IGVsc2Ugew0KICAgICAgcmV0dXJuIHN0cmNtcCgkZW50aXR5MVskc29ydGZpZWxkXSwkZW50aXR5Mlskc29ydGZpZWxkXSk7DQogICAgfQ0KICB9DQoNCiAgLy9Eb2VzIG5vdCB3b3JrDQogIGZ1bmN0aW9uIENvbXBhcmVFbnRpdGllc0NvbXBsZXgoJGVudGl0eTEsICRlbnRpdHkyLCAkc29ydGZpZWxkcykgew0KICAgIGlmICghaXNzZXQoJGVudGl0eTFbJHNvcnRmaWVsZF0pKSByZXR1cm4gMDsNCiAgICBpZiAoIWlzc2V0KCRlbnRpdHkyWyRzb3J0ZmllbGRdKSkgcmV0dXJuIDA7DQogICAgaWYgKGlzX251bWVyaWMoJGVudGl0eTFbJHNvcnRmaWVsZF0pICYmIGlzX251bWVyaWMoJGVudGl0eTJbJHNvcnRmaWVsZF0pKSB7DQogICAgICBpZiAoJGVudGl0eTFbJHNvcnRmaWVsZF09PSRlbnRpdHkyWyRzb3J0ZmllbGRdKSByZXR1cm4gMDsNCiAgICAgIGlmICgkZW50aXR5MVskc29ydGZpZWxkXTwkZW50aXR5Mlskc29ydGZpZWxkXSkgcmV0dXJuIC0xOw0KICAgICAgcmV0dXJuIDE7DQogICAgfSBlbHNlIHsNCiAgICAgIHJldHVybiBzdHJjbXAoJGVudGl0eTFbJHNvcnRmaWVsZF0sJGVudGl0eTJbJHNvcnRmaWVsZF0pOw0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIEludGVybmFsQ29tcGFyZUVudGl0aWVzKCRlbnRpdHkxLCAkZW50aXR5Mikgew0KICAgIGlmICghaXNfYXJyYXkoJHRoaXMtPl9zb3J0ZmllbGRzKSkgew0KICAgICAgcmV0dXJuICR0aGlzLT5Db21wYXJlRW50aXRpZXMoJGVudGl0eTEsICRlbnRpdHkyLCAkdGhpcy0+X3NvcnRmaWVsZHMpOw0KICAgIH0gZWxzZSB7DQogICAgICByZXR1cm4gJHRoaXMtPkNvbXBhcmVFbnRpdGllc0NvbXBsZXgoJGVudGl0eTEsICRlbnRpdHkyLCAkdGhpcy0+X3NvcnRmaWVsZHMpOw0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIFNvcnRFbnRpdGllcygkbGlzdCwgJHNvcnRmaWVsZHMpIHsNCiAgICAkdGhpcy0+X3NvcnRmaWVsZHM9JHNvcnRmaWVsZHM7DQogICAgdXNvcnQoJGxpc3QsIGFycmF5KCR0aGlzLCJJbnRlcm5hbENvbXBhckVudGl0aWVzIikpOw0KICAgIHJldHVybiAkbGlzdDsNCiAgfQ0KDQogIGZ1bmN0aW9uIE1ha2VTaW1wbGVBcnJheSgkbW9kdWxlLCAkdGFibGUsJGZpZWxkLCRhc3NvY2lkPXRydWUpIHsNCiAgICAkZW50aXRpZXM9JHRoaXMtPkdldEVudGl0aWVzRnVsbCgkbW9kdWxlLCR0YWJsZSk7DQogICAgaWYgKCEkZW50aXRpZXMpIHJldHVybiBmYWxzZTsNCiAgICAkcmVzdWx0PWFycmF5KCk7DQoNCiAgICBmb3JlYWNoICgkZW50aXRpZXMgYXMgJGVudGl0eSkgew0KDQogICAgICBpZiAoIWlzc2V0KCRlbnRpdHlbJGZpZWxkXSkpIGNvbnRpbnVlOw0KICAgICAgaWYgKCRhc3NvY2lkKSB7DQogICAgICAgICRyZXN1bHRbJGVudGl0eVskZmllbGRdXT0kZW50aXR5WyJlbnRpdHlpZCJdOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgJHJlc3VsdFtdPSRlbnRpdHlbJGZpZWxkXTsNCiAgICAgIH0NCg0KICAgIH0NCiAgICByZXR1cm4gJHJlc3VsdDsNCiAgfQ0KICANCg0KICBmdW5jdGlvbiBNYWtlQXNzb2NBcnJheSgkbW9kdWxlLCAkdGFibGUsICRmaWVsZHMpIHsNCiAgICAkZW50aXRpZXM9JHRoaXMtPkdldEVudGl0aWVzRnVsbCgkbW9kdWxlLCR0YWJsZSk7DQogICAgaWYgKCEkZW50aXRpZXMpIHJldHVybiBmYWxzZTsNCiAgICAkcmVzdWx0PWFycmF5KCk7DQoNCiAgICBmb3JlYWNoICgkZW50aXRpZXMgYXMgJGVudGl0eSkgew0KICAgICAgZm9yZWFjaCAoJGZpZWxkcyBhcyAkaW5kZXg9PiR2YWx1ZSkgew0KICAgICAgICBpZiAoIWlzc2V0KCRlbnRpdHlbJGluZGV4XSkgfHwgIWlzc2V0KCRlbnRpdHlbJHZhbHVlXSkpIGNvbnRpbnVlOw0KDQogICAgICAgICRyZXN1bHRbJGVudGl0eVskaW5kZXhdXT0kZW50aXR5WyR2YWx1ZV07DQogICAgICB9DQogICAgfQ0KICAgIHJldHVybiAkcmVzdWx0Ow0KICB9DQoNCiAgLyoNCiAgICoNCiAgICogRmllbGRzZXQgZnVuY3Rpb25zDQogICAqDQogICAqLw0KICBmdW5jdGlvbiBBZGRGaWVsZFNldCgkbW9kdWxlLCRuYW1lLCRmaWVsZHMpIHsNCiAgICBpZiAoIWlzX2FycmF5KCRmaWVsZHMpKSByZXR1cm4gJHRoaXMtPkVycm9yKCJmdW5jdGlvbiBBZGRGaWVsZFNldDogXCRmaWVsZHMgaXMgbm90IGFuIGFycmF5IiwgZmFsc2UsIGFycmF5KCJuYW1lIj0+JG5hbWUpKTsNCiAgICBpZiAoZW1wdHkoJGZpZWxkcykpIHJldHVybiAkdGhpcy0+RXJyb3IoImZ1bmN0aW9uIEFkZEZpZWxkU2V0OiBcJGZpZWxkcyBpcyBhbiBlbXB0eSBhcnJheSIsIGZhbHNlLCBhcnJheSgibmFtZSI9PiRuYW1lKSk7DQogICAgJHRoaXMtPl9maWVsZHNldHNbJG1vZHVsZS4iXyIuJG5hbWVdPSRmaWVsZHM7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRGaWVsZFNldCgkbW9kdWxlLCAkbmFtZSkgew0KICAgIGlmICghaXNzZXQoJHRoaXMtPl9maWVsZHNldHNbJG1vZHVsZS4iXyIuJG5hbWVdKSkgcmV0dXJuICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gR2V0RmllbGRTZXQ6IGZpZWxkc2V0IGlzIG5vdCBwcmVzZW50IiwgZmFsc2UsIGFycmF5KCJuYW1lIj0+JG5hbWUpKTsgICAgDQogICAgcmV0dXJuICR0aGlzLT5fZmllbGRzZXRzWyRtb2R1bGUuIl8iLiRuYW1lXTsNCiAgfQ0KDQogIGZ1bmN0aW9uIEVudGl0eVNldFVuc2V0UHJvcHMoJG1vZHVsZSwkZW50aXR5LCRmaWVsZHNldCwkZmlsbHZhbHVlPSIiKSB7DQogICAgJGZpZWxkcz0kdGhpcy0+R2V0RmllbGRTZXQoJG1vZHVsZSwgJGZpZWxkc2V0KTsNCiAgICBpZiAoISRmaWVsZHMpIHJldHVybiAkZW50aXR5Ow0KICAgIGZvcmVhY2goJGZpZWxkcyBhcyAkZmllbGQpIHsNCiAgICAgIGlmICghaXNzZXQoJGVudGl0eVsiJGZpZWxkIl0pKSB7DQogICAgICAgICRlbnRpdHlbIiRmaWVsZCJdPSRmaWxsdmFsdWU7DQogICAgICB9DQogICAgfQ0KICAgIHJldHVybiAkZW50aXR5Ow0KICB9DQoNCiAgLyoNCiAgICoNCiAgICogQ29ubmVjdGlvbiBmdW5jdGlvbnMNCiAgICoNCiAgICovDQoNCiAgZnVuY3Rpb24gU2V0RW50aXR5Q29ubmVjdGlvbigkaWQxLCAkaWQyLCAkdHlwZT0iIikgew0KICAgIGlmICgkdGhpcy0+Q2hlY2tFbnRpdHlDb25uZWN0aW9uKCRpZDEsJGlkMiwkdHlwZSkpIHJldHVybiB0cnVlOw0KICAgICRkYj0kdGhpcy0+R2V0RGIoKTsNCiAgICAkc3FsPSJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX2Nvbm5lY3Rpb25zIChlbnRpdHlpZDEsZW50aXR5aWQyLHR5cGUpIFZBTFVFUyAoPyw/LD8pIjsNCiAgICAkdmFsdWVzPWFycmF5KCRpZDEsICRpZDIsICR0eXBlKTsNCiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsLCR2YWx1ZXMpOw0KICAgIGlmICghJHJlc3VsdCkgJHRoaXMtPkVycm9yKCJmdW5jdGlvbiBTZXRFbnRpdHlDb25uZWN0aW9uOiBlcnJvciBzZXR0aW5nIGVudGl0eSBjb25uZWN0aW9uIixmYWxzZSxhcnJheSgiaWQxIj0+JGlkMSwiaWQyIj0+JGlkMikpOw0KICAgIHJldHVybiAkcmVzdWx0Ow0KICB9DQoNCiAgZnVuY3Rpb24gQ2xlYXJFbnRpdHlDb25uZWN0aW9ucygkaWQxLCAkaWQyPS0xLCAkdHlwZT0iIikgew0KICAgICRkYj0kdGhpcy0+R2V0RGIoKTsNCiAgICBpZiAoJHR5cGU9PSIiKSB7DQogICAgICAkc3FsPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX2Nvbm5lY3Rpb25zIFdIRVJFIGVudGl0eWlkMT0/IE9SIGVudGl0eWlkMj0/IjsNCiAgICAgICR2YWx1ZXM9YXJyYXkoJGlkMSwgJGlkMik7DQogICAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsLCR2YWx1ZXMpOw0KICAgIH0gZWxzZSB7DQogICAgICAkc3FsPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX2Nvbm5lY3Rpb25zIFdIRVJFIChlbnRpdHlpZDE9PyBBTkQgdHlwZT0/KSBPUiAoZW50aXR5aWQyPT8gQU5EIHR5cGU9PykiOw0KICAgICAgJHZhbHVlcz1hcnJheSgkaWQxLCAkdHlwZSwgJGlkMiwgJHR5cGUpOw0KICAgICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICB9DQogICAgcmV0dXJuICRyZXN1bHQ7DQogIH0NCg0KICBmdW5jdGlvbiBDbGVhckVudGl0eUNvbm5lY3Rpb24oJGlkMSwgJGlkMiwgJHR5cGU9IiIpIHsNCiAgICAkZGI9JHRoaXMtPkdldERiKCk7DQogICAgaWYgKCR0eXBlPT0iIikgew0KICAgICAgJHNxbD0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZV9jb25uZWN0aW9ucyBXSEVSRSBlbnRpdHlpZDE9PyBBTkQgZW50aXR5aWQyPT8iOw0KICAgICAgJHZhbHVlcz1hcnJheSgkaWQxLCRpZDIpOw0KICAgICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICB9IGVsc2Ugew0KICAgICAgJHNxbD0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9uZW9kYXRhc3RvcmFnZV9jb25uZWN0aW9ucyBXSEVSRSBlbnRpdHlpZDE9PyBBTkQgZW50aXR5aWQyPT8gQU5EIHR5cGU9PyI7DQogICAgICAkdmFsdWVzPWFycmF5KCRpZDEsJGlkMiwkdHlwZSk7DQogICAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsLCR2YWx1ZXMpOw0KICAgIH0NCiAgICByZXR1cm4gJHJlc3VsdDsNCiAgfQ0KDQogIGZ1bmN0aW9uIENoZWNrRW50aXR5Q29ubmVjdGlvbigkaWQxLCRpZDIsJHR5cGU9IiIsJHJldHVybnZhbHVlPXRydWUpIHsNCiAgICAkZGI9JHRoaXMtPkdldERiKCk7DQogICAgJHNxbD0iIjsgJHZhbHVlcz0iIjsNCiAgICBpZiAoJHR5cGU9PSIiKSB7DQogICAgICAkc3FsPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmVvZGF0YXN0b3JhZ2VfY29ubmVjdGlvbnMgV0hFUkUgZW50aXR5aWQxPT8gQU5EIGVudGl0eWlkMj0/IjsNCiAgICAgICR2YWx1ZXM9YXJyYXkoJGlkMSwkaWQyKTsNCiAgICB9IGVsc2Ugew0KICAgICAgJHNxbD0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25lb2RhdGFzdG9yYWdlX2Nvbm5lY3Rpb25zIFdIRVJFIGVudGl0eWlkMT0/IEFORCBlbnRpdHlpZDI9PyBBTkQgdHlwZT0/IjsNCiAgICAgICR2YWx1ZXM9YXJyYXkoJGlkMSwkaWQyLCR0eXBlKTsNCiAgICB9DQogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHNxbCwkdmFsdWVzKTsNCiAgICBpZiAoJHJlc3VsdCAmJiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKSkgew0KICAgICAgcmV0dXJuICRyZXR1cm52YWx1ZTsNCiAgICB9DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgZnVuY3Rpb24gR2V0RW50aXR5Q29ubmVjdGlvbnMoJGlkMT0tMSwgJGlkMj0tMSwgJGJvdGh3YXlzPXRydWUsICR0eXBlPSIiKSB7DQoNCiAgfQ0KDQogIC8qDQogICAqDQogICAqIEVycm9yIGhhbmRsaW5nDQogICAqDQogICAqLw0KICBmdW5jdGlvbiBFcnJvcigkZXJyb3J0ZXh0LCRyZXR1cm52YWx1ZT1mYWxzZSwkcGFyYW1zPWFycmF5KCkpIHsNCiAgICAkdGhpcy0+X2Vycm9ycy49JGVycm9ydGV4dDsNCiAgICBpZiAoIWVtcHR5KCRwYXJhbXMpICYmIGlzX2FycmF5KCRwYXJhbXMpKSB7DQogICAgICAkdGhpcy0+X2Vycm9ycy49IiAoIjsNCiAgICAgICRmaXJzdD10cnVlOyAvL0hhbmRsaW5nIHRoZSBjb21tYQ0KICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAkcGFyYW09PiR2YWx1ZSkgew0KICAgICAgICBpZiAoJGZpcnN0KSAkZmlyc3Q9ZmFsc2U7IGVsc2UgJHRoaXMtPl9lcnJvcnMuPSIsIjsNCiAgICAgICAgJHRoaXMtPl9lcnJvcnMuPSRwYXJhbS4iPT4iLiR2YWx1ZS4iLCI7DQogICAgICB9DQogICAgICAkdGhpcy0+X2Vycm9ycy49IikiOw0KICAgIH0NCiAgICAkdGhpcy0+X2Vycm9ycy49IlxuIjsNCiAgICByZXR1cm4gJHJldHVybnZhbHVlOw0KICB9DQoNCiAgZnVuY3Rpb24gR2V0RXJyb3JzKCRubDJicj10cnVlLCRjbGVhcj10cnVlKSB7DQogICAgJGVycm9ycz0kdGhpcy0+X2Vycm9yczsNCiAgICBpZiAoJG5sMmJyKSB7DQogICAgICAkZXJyb3JzPW5sMmJyKCRlcnJvcnMpOw0KICAgIH0NCiAgICBpZiAoJGNsZWFyKSB7DQogICAgICAkdGhpcy0+X2Vycm9ycz0iIjsNCiAgICB9DQogICAgcmV0dXJuICRlcnJvcnM7DQogIH0NCg0KICBmdW5jdGlvbiBPdXRwdXRFcnJvcnMoJGNsZWFyPXRydWUpIHsNCiAgICBlY2hvICJcblxuPGRpdiBzdHlsZT0nYm9yZGVyOjNweCBzb2xpZCByZWQ+XG4iOw0KICAgIGVjaG8gJHRoaXMtPkdldEVycm9ycyh0cnVlLCRjbGVhcik7DQogICAgZWNobyAiXG48L2Rpdj5cblxuIjsNCiAgfQ0KDQogIGZ1bmN0aW9uIEluRXJyb3IoKSB7DQogICAgcmV0dXJuICgkdGhpcy0+X2Vycm9ycyE9IiIpOw0KICB9DQoNCiAgZnVuY3Rpb24gR2V0TW9kdWxlTGlzdCgpIHsNCiAgICAkZGI9JHRoaXMtPkdldERiKCk7DQogICAgJHNxbD0iU0VMRUNUIGVudGl0eW1vZHVsZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmVvZGF0YXN0b3JhZ2UiOyAgICANCiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRzcWwpOw0KICAgIGlmICghJGRicmVzdWx0IHx8ICgkZGJyZXN1bHQtPlJlY29yZENvdW50KCk9PTApKSB7ICAgICAgDQogICAgICByZXR1cm4gYXJyYXkoKTsNCiAgICB9DQogICAgJHJlc3VsdD1hcnJheSgiIj0+IiIpOw0KICAgIHdoaWxlKCRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpKSB7DQogICAgICBpZiAoIWluX2FycmF5KCRyb3dbImVudGl0eW1vZHVsZSJdLCRyZXN1bHQpKSB7DQogICAgICAgICRyZXN1bHRbJHJvd1siZW50aXR5bW9kdWxlIl1dPSRyb3dbImVudGl0eW1vZHVsZSJdOw0KICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gJHJlc3VsdDsNCiAgfQ0KDQp9DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+MC4yLjIgLSBBZGRlZCBhIGN1c3RvbSByZXR1cm52YWx1ZSB0byBjaGVja2VudGl0eWNvbm5lY3Rpb25zLE1ha2VTaW1wbGVBcnJheTwvbGk+CjxsaT4wLjIuMSAtIEZpeGVkIGEgdHlwZSBpbiBHZXRFbnRpdHktZnVuY3Rpb248L2xpPgo8bGk+MC4yLjAgLSBGaXhlZCByZXNldCBmaWx0ZXIgYnV0dG9uLCBtYWRlIGZpbHRlcmluZyBvbiBtb2R1bGUgYmFzZWQgb24gYSBkcm9wZG93biwgYnVnZml4ZXM8L2xpPgo8bGk+MC4xLjAgLSBJbml0aWFsIHJlbGVhc2U8L2xpPgo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0cm9uZz5Ob3RpY2UhIFRoaXMgaXMgYSBtb2R1bGUtZGV2ZWxvcGVyLW9ubHkgbW9kdWxlLiBJZiB5b3UgYXJlIG5vdCBhIGRldmVsb3Blcgp5b3UnbGwgcHJvYmFibHkganVzdCB3YW50IHRvIHNraXAgdGhlIGdvcnkgZGV0YWlscyBvZiB0aGlzIHBhZ2UgYW5kIHJlbHkgb24gdGhhdAp0aGUgbW9kdWxlIGp1c3QgZG9lcyBpdCdzIHdvcmsuPC9zdHJvbmc+Cjxici8+PGJyLz4KPGgzPlB1cnBvc2Ugb2YgdGhlIG1vZHVsZTwvaDM+ClRoZSBwdXJwb3NlIG9mIHRoaXMgbW9kdWxlIGlzIHRvIHByb3ZpZGUgYSBuaWNlIGFuZCBjbGVhbiB3YXkgZm9yIG1vZHVsZXMKdG8gc3RvcmUgZGF0YSBpbiBhIHRhYmxlLWxpa2UgbWFubmVyIGJ1dCB3aXRob3V0IHRoZSBoYXp6bGUgb2YgY3JlYXRpbmcKc3BlY2lmaWMgdGFibGVzIGZvciBpdHNlbGYgYW5kIG1haW50YWluaW5nIHRoZXNlLgoKPGgzPkJ1dCBiZXdhcmUhPC9oMz4KSXQgc2hvdWxkIGJlIGVtcGhhc2l6ZWQKdGhhdCB0aGlzIG1vZHVsZSBpcyBub3QgaW50ZW5kZWQgZm9yIGV4dHJlbWVseSBkYXRhLWludGVuc2l2ZSBvcGVyYXRpb25zCmFzIGl0IHVzZXMgKGEgbG90KSBtb3JlIGRhdGFiYXNlLWNhbGxzIHRoYW4gY3VzdG9tLXdyaXR0ZW4gZGF0YSBhY2Nlc3MgZG9lcywKYnV0IGZvciBub24taW50ZW5zaXZlIHN0dWZmIGl0IHdpbGwgaG9wZWZ1bGx5IGN1dCBvZmYgc29tZSBvZiB0aGUgdGVkaW91cwoiaG91c2VrZWVwaW5nIiB3aGljaCBJIGdvdCByZWFsbHkgZmVkIHVwIHdpdGggaW4gYWxtb3N0IGV2ZXJ5IG1vZHVsZSBJJ3ZlIGRvbmUuCjxici8+ClNvLCB0aGF0J3MgaXQgZm9yIHRoZSBkaXNjbGFpbWVyLCBub3cgZm9yIHRoZSBBUEkgOi0pCjxici8+Cjxici8+CjxoMz5CYXNpYyB1c2Ugb2YgdGhlIG1vZHVsZTwvaDM+ClVzYWdlIG9mIHRoaXMgbW9kdWxlIGFsd2F5cyBzdGFydHMgb2ZmIHdpdGggZ2V0dGluZyBhbiBhY2Nlc3MgdG8gYW4gaW5zdGFuY2UKb2YgdGhlIG1vZHVsZS4gVGhlIG1vc3QgY29tbW9uIHdheSBvZiBkb2luZyB0aGlzIGlzIGNhbGxpbmcgc29tZXRoaW5nIGxpa2UKPHByZT4KCiRuZHM9JHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCJOZW9EYXRhU3RvcmFnZSIpOwoKPC9wcmU+CllvdSdsbCBwcm9iYWJseSB3YW50IHRvIG1ha2UgeW91ciBtb2R1bGUgZGVwZW5kYW50IG9mIHRoaXMgbW9kdWxlLCBidXQgeW91CnNob3VsZCBrbm93IGhvdyB0byBkbyB0aGlzLi4uCjxici8+CkFmdGVyIGFzc2lnbmluZyB0aGUgbW9kdWxlIHRvIGEgdmFyaWFibGUsIHlvdSBjYW4gc3RhcnQgdXNpbmcgaXQgd2l0aCBBUEktZnVuY3Rpb25zCmxpa2U6CjxwcmU+CgokbXlyZWNvcmQ9JG5kcy0+R2V0RW50aXRpZXMoIm15bW9kdWxlbmFtZSIsICJteXRhYmxlaWQiKTsKCjwvcHJlPgpXaGVyZSAibXltb2R1bGVuYW1lIiBpcyB0aGUgdW5pcXVlIGlkZW50aWZ5ZXIgb2YgeW91ciBtb2R1bGUsIGNvdWxkIGJlCnJlcGxhY2VkIHdpdGggJyR0aGlzLT5HZXROYW1lKCknLCBhbmQgIm15dGFibGVpZCIgaXMgYW4gaWRlbnRpZnllciBvZiB0aGUKdGFibGUgb2YgZGF0YSB3aGljaCB5b3Ugd2FudCB0byBhY2Nlc3MgaW4gdGhlIGRhdGFzdG9yYWdlIGZvciB5b3VyIG1vZHVsZS4KVGhpcyBjYW4gYmUgbGVmdCBibGFuayBpZiBvbmx5IG9uZSB0YWJsZSBpcyBuZWVkZWQgZm9yIHRoZSBtb2R1bGUuCjxici8+CkZvciBhIGNvbXBsZXRlIChyZWFkOiBzb210aW1lcyBjb21wbGV0ZSkgbGlzdCBvZiBtZXRob2RzIHNlZSBsaXN0IGJlbG93LgoKPGgzPlRoZSBOZW9Nb2R1bGUtc2lzdGVyPC9oMz4KQW5vdGhlciwgYW5kIGV2ZW4gZWFzaWVyLCB3YXkgdG8gdXNlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoaXMgbW9kdWxlCmlzIHRvIGxldCB5b3VyIG1vZHVsZSBkZXNjZW5kIGZyb20gYW5vdGhlciBwcm9qZWN0IG9mIG1pbmUsIHRoZSBOZW9Nb2R1bGUsCndoaWNoIHdyYXBzIGFsbCB0aGUgZnVuY3Rpb25zIG9mIE5lb0RhdGFTdG9yYWdlIGJ1dCByZW1vdmluZyB0aGUgbmVlZCBvZgpjb25zdGFudGx5IHN1cHBseWluZyB0aGUgJG1vZHVsZW5hbWUuIEl0IGFsc28gcHJvdmlkZXMgYSBzdGlsbC1ncm93aW5nIGxpc3Qgb2YKb3RoZXIgaGVscGVyLWZ1bmN0aW9ucyB3aGljaCBoYXMgdG8gZG8gd2l0aCBvdGhlciBzdHVmZiB0aGFuIERhdGFTdG9yYWdlLgo8YnIvPgpGb3IgZnVydGhlciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHVzZSB0aGUgTmVvTW9kdWxlLCBwbGVhc2UgaW5zdGFsbCBpdCBhbmQKY2hlY2sgb3V0IGl0J3MgaGVscC1wYWdlLgoKPGgzPkhvdyB0byBnZXQgaGVscDwvaDM+Ckkgd2lsbCByZXBlYXQsIHRoaXMgbW9kdWxlIGlzIGZvciBkZXZlbG9wZXJzIG9ubHkuIElmIHlvdSBjYW5ub3QgcmVhZCBwaHAtc291cmNlIGNvZGUsCnlvdSBzaG91bGQgdXNlIGl0IGZvciBkZXZlbG9wbWVudCBhbnl3YXkuIElmIHlvdSBjYW4sIGFsd2F5cyBjaGVjayBvdXQgdGhlIGNvZGUKZm9yIGhpbnRzIG9uIGhvdyB0byBtYWtlIGl0IHdvcmsuIElmIHlvdSBzdGlsbCBoYXZlIHF1ZXN0aW9ucyBvciBzdWdnZXN0aW9ucyBmb3IKZml4ZXMvaW1wcm92ZW1lbnRzLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGNhdGNoIG1lIChTaWxtYXJpbGxpb24pIGluIHRoZSBmb3J1bSBvZyAjaXJjLgoKCjxoMz5MaXN0IG9mIG1ldGhvZHM8L2gzPgo8cHJlPgovKgogKgogKiBFbnRpdHkgZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBBZGRFbnRpdHkoJG1vZHVsZSwgJHRhYmxlLCAkcHJvcHM9YXJyYXkoKSkKZnVuY3Rpb24gRGVsZXRlRW50aXR5KCRpZCkKZnVuY3Rpb24gR2V0RW50aXR5V2l0aFR5cGUoJGlkLCAkb3ZlcnJpZGVwcm9wcz1hcnJheSgpKQpmdW5jdGlvbiBHZXRFbnRpdHkoJGlkLCAkb3ZlcnJpZGVwcm9wcz1hcnJheSgpLCAkd2l0aHR5cGU9ZmFsc2UpCmZ1bmN0aW9uIEdldEVudGl0aWVzKCRtb2R1bGUsICR0YWJsZT0iIiwgJGNyaXRlcmlhPWFycmF5KCkpCmZ1bmN0aW9uIEdldE9uZUVudGl0eSgkbW9kdWxlLCAkdGFibGUsICRjcml0ZXJpYT1hcnJheSgpLCAkZmFpbGlmbXVsdGlwbGU9ZmFsc2UpCmZ1bmN0aW9uIEdldEVudGl0aWVzRnVsbCgkbW9kdWxlLCAkdGFibGU9IiIsICRjcml0ZXJpYT1hcnJheSgpKQpmdW5jdGlvbiBFbnRpdGllc0NvdW50KCRtb2R1bGUsICR0YWJsZT0iIiwgJGNyaXRlcmlhPWFycmF5KCkpCmZ1bmN0aW9uIFNldEVudGl0eVByb3AoJGlkLCRwcm9wbmFtZSwkcHJvcHZhbHVlLCRwcm9wdHlwZT0idW5kZWZpbmVkIikKZnVuY3Rpb24gQ2xlYXJFbnRpdHkoJGlkKQpmdW5jdGlvbiBDbGVhck1vZHVsZUVudGl0aWVzKCRtb2R1bGUpCmZ1bmN0aW9uIENsZWFyRW50aXR5UHJvcCgkaWQsICRwcm9wbmFtZSkKZnVuY3Rpb24gQ2xlYXJFbnRpdHlQcm9wcygkaWQpCmZ1bmN0aW9uIFNldEVudGl0eVByb3BzKCRpZCwgJHByb3BzLCAkY2xlYXI9dHJ1ZSkKZnVuY3Rpb24gU2V0RW50aXR5UHJvcHNPbkNyaXRlcmlhKCRtb2R1bGUsJHRhYmxlLCAkcHJvcHMsICRjcml0ZXJpYSwgJGNyZWF0ZT10cnVlLCAkY2xlYXI9ZmFsc2UpIC8vRG9lcyBub3Qgd29yayEKZnVuY3Rpb24gUmVzZXRFbnRpdHlQcm9wcygkaWQsICRuZXdwcm9wcz1hcnJheSgpKQpmdW5jdGlvbiBSZW1vdmVNb2R1bGVFbnRpdGllcygkbW9kdWxlbmFtZSkKCi8qCiAqCiAqIFNvcnRpbmcgZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBDb21wYXJlRW50aXRpZXMoJGVudGl0eTEsICRlbnRpdHkyLCAkc29ydGZpZWxkKQpmdW5jdGlvbiBDb21wYXJlRW50aXRpZXNDb21wbGV4KCRlbnRpdHkxLCAkZW50aXR5MiwgJHNvcnRmaWVsZHM9YXJyYXkoKSkgLy9Eb2VzIG5vdCB3b3JrCmZ1bmN0aW9uIFNvcnRFbnRpdGllcygkbGlzdCwgJHNvcnRmaWVsZHM9YXJyYXkoKSBvciBzdHJpbmcpIC8vT25seSB3b3JrcyBvbiBzdHJpbmdzCmZ1bmN0aW9uIE1ha2VTaW1wbGVBcnJheSgkbW9kdWxlLCAkdGFibGUsICRmaWVsZCkKZnVuY3Rpb24gTWFrZUFzc29jQXJyYXkoJG1vZHVsZSwgJHRhYmxlLCAkZmllbGRzKQoKLyoKICoKICogRmllbGRzZXQgZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBBZGRGaWVsZFNldCgkbW9kdWxlLCRuYW1lLCRmaWVsZHMpCmZ1bmN0aW9uIEdldEZpZWxkU2V0KCRtb2R1bGUsICRuYW1lKQpmdW5jdGlvbiBFbnRpdHlTZXRVbnNldFByb3BzKCRtb2R1bGUsJGVudGl0eSwkZmllbGRzZXQsJGZpbGx2YWx1ZT0iIikKCi8qCiAqCiAqIENvbm5lY3Rpb24gZnVuY3Rpb25zCiAqCiAqLwpmdW5jdGlvbiBTZXRFbnRpdHlDb25uZWN0aW9uKCRpZDEsICRpZDIsICR0eXBlPSIiKQpmdW5jdGlvbiBDbGVhckVudGl0eUNvbm5lY3Rpb25zKCRpZDEsICRpZDI9LTEsICR0eXBlPSIiKQpmdW5jdGlvbiBDbGVhckVudGl0eUNvbm5lY3Rpb24oJGlkMSwgJGlkMiwgJHR5cGU9IiIpCmZ1bmN0aW9uIENoZWNrRW50aXR5Q29ubmVjdGlvbigkaWQxLCRpZDIsJHR5cGU9IiIpCmZ1bmN0aW9uIEdldEVudGl0eUNvbm5lY3Rpb25zKCRpZDE9LTEsICRpZDI9LTEsICRib3Rod2F5cz10cnVlLCAkdHlwZT0iIikgLy9Eb2VzIG5vdCB3b3JrCgovKgogKgogKiBFcnJvciBoYW5kbGluZwogKgogKi8KZnVuY3Rpb24gRXJyb3IoJGVycm9ydGV4dCwkcmV0dXJudmFsdWU9ZmFsc2UsJHBhcmFtcz1hcnJheSgpKQpmdW5jdGlvbiBHZXRFcnJvcnMoJG5sMmJyPXRydWUsJGNsZWFyPXRydWUpCmZ1bmN0aW9uIFNob3dFcnJvcnMoJGNsZWFyPXRydWUpCmZ1bmN0aW9uIEluRXJyb3IoKSA6IGJvb2wKPC9wcmU+]]></data>
	</file>
	<file>
	  <filename>/templates/showdata.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGlucHV0IGlkPSJmaWx0ZXJ0b2dnbGUiIHR5cGU9ImNoZWNrYm94IiB7aWYgJGZpbHRlcnN2aXNpYmxlPT0idHJ1ZSJ9Y2hlY2tlZD0iMSJ7L2lmfSBuYW1lPSJzaG93ZmlsdGVyb3B0aW9ucyIgb25DbGljaz0iaWYgKHRoaXMuY2hlY2tlZCkgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbHRlcicpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOyBlbHNlIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWx0ZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOyAiPg0KPGxhYmVsIGZvcj0iZmlsdGVydG9nZ2xlIj57JG1vZC0+TGFuZygic2hvd2ZpbHRlcnMiKX08L2xhYmVsPg0KDQo8ZGl2IGlkPSJmaWx0ZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lIi8+DQp7JGZvcm1zdGFydH0NCjxmaWVsZHNldD4NCjxsZWdlbmQ+eyRtb2QtPkxhbmcoImZpbHRlcnMiKX08L2xlZ2VuZD4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygiaWRmaWx0ZXIiKX08L3A+DQogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpZGZpbHRlcmlucHV0fTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCJtb2R1bGVmaWx0ZXIiKX08L3A+DQogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2R1bGVmaWx0ZXJpbnB1dH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygidGFibGVmaWx0ZXIiKX08L3A+DQogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0YWJsZWZpbHRlcmlucHV0fTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCJwcm9wZmlsdGVyIil9PC9wPg0KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvcGZpbHRlcmlucHV0fTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCJ2YWx1ZWZpbHRlciIpfTwvcD4NCiA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHZhbHVlZmlsdGVyaW5wdXR9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXBwbHlmaWx0ZXJ9eyRyZXNldGZpbHRlcn08L3A+PGJyLz4NCjwvZGl2Pg0KeyRmb3JtZW5kfQ0KPC9maWVsZHNldD4NCjwvZGl2Pg0KDQp7aWYgJGl0ZW1jb3VudCA+IDB9DQo8YnIvPg0Ke2lmICR0b29tYW55cm93cyE9IiJ9DQo8c3Ryb25nPnskdG9vbWFueXJvd3N9PC9zdHJvbmc+DQo8YnIvPg0Key9pZn0NCg0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgk8dGhlYWQ+DQoJCTx0cj4NCiAgICAgIDx0aD5JZDwvdGg+DQoJCQk8dGg+TW9kdWxlPC90aD4NCgkJCTx0aD5UYWJsZTwvdGg+DQoJCQk8dGg+UHJvcG5hbWU8L3RoPg0KICAgICAgPHRoPlByb3B2YWx1ZTwvdGg+DQoJCTwvdHI+DQoJPC90aGVhZD4NCgk8dGJvZHk+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0Ke2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249cm93Y2xhc3N9DQoJCTx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CQkJDQoJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LT5tb2R1bGV9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LT50YWJsZX08L3RkPg0KICAgICAgPHRkPnskZW50cnktPnByb3BuYW1lfTwvdGQ+DQogICAgICA8dGQ+eyRlbnRyeS0+cHJvcHZhbHVlfHRydW5jYXRlfTwvdGQ+CQkJDQoJCTwvdHI+DQp7L2ZvcmVhY2h9DQoJPC90Ym9keT4NCjwvdGFibGU+DQp7ZWxzZX0NCjxoND57JG1vZC0+TGFuZygnbm9kYXRhJyl9PC9oND4NCnsvaWZ9DQoNCg==]]></data>
	</file>
</module>
