<?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>Sms</name>
	<version>0.4</version>
    <mincmsversion>2.0</mincmsversion>
	<help><![CDATA[PGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4KPHA+Q2UgbW9kdWxlIHLDqWN1cMOocmUgbGVzIHLDqXN1bHRhdHMgZGUgdm90cmUgY2x1YiBldCByw6lhbGlzZSBkZXMgdHJhaXRlbWVudHMgYWZpbiBkZSBsZXMgZGlzcG9zZXIgc3VyIHZvdHJlIHNpdGUgaW50ZXJuZXQuPC9wPgo8aDM+Q29tbWVudCBsJ3V0aWxpc2VyID88L2gzPgo8cD5MZSB0YWcgcGFyIGTDqWZhdXQgZXN0IGNlbHVpLWNpIHtjbXNfbW9kdWxlIG1vZHVsZT0nUGluZyd9PC9wPgo8aDM+U3VwcG9ydDwvaDM+Cjx1bD4KPGxpPlBvdXIgb2J0ZW5pciBsYSBkZXJuacOocmUgdmVyc2lvbiBvZmZpY2llbGxlLCBGQVFzLCBvdSBwb3VyIHNpZ25hbGVyIHVuIGJ1ZywgZmFpcmUgdW5lIGRlbWFuZGUgZCdhbcOpbGlvcmF0aW9ucywgbWVyY2kgZGUgY29uc3VsdGVyIGxhIGZvcmdlIGR1IG1vZHVsZSDDoCBjZXR0ZSBhZHJlc3NlIDogCjxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcGluZy8iPlBpbmc8L2E+LjwvbGk+CjwvdWw+CjxwPkNlIG1vZHVsZSBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LlBvdXIgdXRpbGlzZXIgbGUgbG9naWNpZWwsIHZvdXMgZGV2ZXogZW4gIGFjY2VwdGVyIGxlcyB0ZXJtZXM8L3A+Cgo8aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIENsYXVkZSBTaW9oYW4gPGEgaHJlZj0ibWFpbHRvOmNsYXVkZUBhZ2ktd2ViY29uc2VpbC5mciI+Y2xhdWRlQGFnaS13ZWJjb25zZWlsLmZyPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+QWRoZXJlbnRzID0mZ3Q7IDAuMy41PC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBBc3NvU2ltcGxlICZsdDtjb250YWN0QGFzc28tc2ltcGxlLmZyJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDAuNDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMC4xYmV0YTMsIE5vdiAyMDE0IFNjIEFtw6lsaW9yYXRpb25zIGR1IGZyb250LW9mZmljZSBldCBkw6lib2d1YWdlIGR1IGJhY2s8L2xpPgo8dWw+CiAgIDxsaT5NaXNlIG5lIHBsYWNlIGR1IGZyb250LW9mZmljZS48L2xpPgogICA8bGk+QW3DqWxpb3JhdGlvbnMgZHUgYmFjay1vZmZpY2UgZXQgY29ycmVjdGlvbnMgZGUgYnVncy48L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[Ce module calcule vos points FFTT.]]></description>
	<requires>
	  <requiredname>Adherents</requiredname>
	  <requiredversion>0.3.5</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABgAAAAIAAAAGAAAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAABQAAAABAAAQAGJvb2wAAAAABABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAIAagBzZHNjbGJvb2wAAAAABABsAGEAbgBnYndzcGJsb2IAAAD5YnBsaXN0MDDZAQIDBAUGBwgJCgoMCgwKEBEMXVNob3dTdGF0dXNCYXJbU2hvd1NpZGViYXJbU2hvd1BhdGhiYXJbU2hvd1Rvb2xiYXJbU2hvd1RhYlZpZXdfEBRDb250YWluZXJTaG93U2lkZWJhclxXaW5kb3dCb3VuZHNcU2lkZWJhcldpZHRoXxAVUHJldmlld1BhbmVWaXNpYmlsaXR5CQkICQgJXxAYe3s3ODUsIDQ2N30sIHs5NDQsIDQzNn19EKMICBspNUFNWXB9iqKjpKWmp6jDxQAAAAAAAAEBAAAAAAAAABMAAAAAAAAAAAAAAAAAAADGAAAABABsAGEAbgBnZHNjbGJvb2wBAAAABABsAGEAbgBnbGcxU2NvbXAAAAAAAABkqgAAAAQAbABhAG4AZ2xzdlBibG9iAAACb2JwbGlzdDAw2AECAwQFBgcICQkLDEQVRUZfEBB1c2VSZWxhdGl2ZURhdGVzXxAPc2hvd0ljb25QcmV2aWV3XxARY2FsY3VsYXRlQWxsU2l6ZXNXY29sdW1uc1h0ZXh0U2l6ZVpzb3J0Q29sdW1uWGljb25TaXplXxASdmlld09wdGlvbnNWZXJzaW9uCQkIqg0WGx8kKS4zOD3UDg8QEQkTCRVXdmlzaWJsZVV3aWR0aFlhc2NlbmRpbmdaaWRlbnRpZmllcgkRAYMJVG5hbWXUDg8QEQkYCxoJELUIXGRhdGVNb2RpZmllZNQODxARCxgLHggIW2RhdGVDcmVhdGVk1A4PEBEJIQsjCRBhCFRzaXpl1A4PEBEJJgkoCRBzCVRraW5k1A4PEBELKwktCBBkCVVsYWJlbNQODxARCzAJMggQSwlXdmVyc2lvbtQODxARCzUJNwgRASwJWGNvbW1lbnRz1A4PEBELOgs8CBDICF5kYXRlTGFzdE9wZW5lZNQ+P0ARCxgLQ1d2aXNpYmxlVXdpZHRoWWFzY2VuZGluZwgIWWRhdGVBZGRlZCNAKAAAAAAAACNAMAAAAAAAABAAAAgAGQAsAD4AUgBaAGMAbgB3AIwAjQCOAI8AmgCjAKsAsQC7AMYAxwDKAMsA0ADZANoA3ADdAOoA8wD0APUBAQEKAQsBDQEOARMBHAEdAR8BIAElAS4BLwExATIBOAFBAUIBRAFFAU0BVgFXAVoBWwFkAW0BbgFwAXEBgAGJAZEBlwGhAaIBowGtAbYBvwAAAAAAAAIBAAAAAAAAAEcAAAAAAAAAAAAAAAAAAAHBAAAABABsAGEAbgBnbHN2cGJsb2IAAAJXYnBsaXN0MDDYAQIDBAUGBwgJCQsMRhRHQV8QEHVzZVJlbGF0aXZlRGF0ZXNfEA9zaG93SWNvblByZXZpZXdfEBFjYWxjdWxhdGVBbGxTaXplc1djb2x1bW5zWHRleHRTaXplWnNvcnRDb2x1bW5YaWNvblNpemVfEBJ2aWV3T3B0aW9uc1ZlcnNpb24JCQjZDQ4PEBESExQVFh8kKS4zOD1CWGNvbW1lbnRzXmRhdGVMYXN0T3BlbmVkW2RhdGVDcmVhdGVkVHNpemVVbGFiZWxUa2luZFd2ZXJzaW9uVG5hbWVcZGF0ZU1vZGlmaWVk1BcYGRoLHAkeV3Zpc2libGVVd2lkdGhZYXNjZW5kaW5nVWluZGV4CBEBLAkQB9QXGBkaCyELIwgQyAgQCNQXGBkaCyYLKAgQtQgQAtQXGBkaCSsLLQkQYQgQA9QXGBkaCzAJMggQZAkQBdQXGBkaCTUJNwkQcwkQBNQXGBkaCzoJPAgQSwkQBtQXGBkaCT8JQQkRAYMJEADUFxgZGgkmC0UJCBABI0AoAAAAAAAAI0AwAAAAAAAAAAgAGQAsAD4AUgBaAGMAbgB3AIwAjQCOAI8AogCrALoAxgDLANEA1gDeAOMA8AD5AQEBBwERARcBGAEbARwBHgEnASgBKgErAS0BNgE3ATkBOgE8AUUBRgFIAUkBSwFUAVUBVwFYAVoBYwFkAWYBZwFpAXIBcwF1AXYBeAGBAYIBhQGGAYgBkQGSAZMBlQGeAAAAAAAAAgEAAAAAAAAASAAAAAAAAAAAAAAAAAAAAacAAAAEAGwAYQBuAGdtb0REZHV0YwAA06KbPAAAAAAABABsAGEAbgBnbW9kRGR1dGMAANOimzwAAAAAAAQAbABhAG4AZ3BoMVNjb21wAAAAAAAAkAAAAAAEAGwAYQBuAGd2U3JubG9uZwAAAAEAAAADAGwAaQBiZHNjbGJvb2wBAAAAAwBsAGkAYmxnMVNjb21wAAAAAAAAAAAAAAADAGwAaQBibW9ERGR1dGMAANdH5gEAAAAAAAMAbABpAGJtb2REZHV0YwAA10fmAQAAAAAAAwBsAGkAYnBoMVNjb21wAAAAAAAAAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzZHNjbGJvb2wBAAAACQB0AGUAbQBwAGwAYQB0AGUAc2xnMVNjb21wAAAAAAAAAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzbW9ERGR1dGMAANc+s44AAAAAAAkAdABlAG0AcABsAGEAdABlAHNtb2REZHV0YwAA1z6zjgAAAAAACQB0AGUAbQBwAGwAYQB0AGUAc3BoMVNjb21wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAYCwAAAEUAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEERFNEQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAgAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAEAAAgAAAAAAAAAAAEAACAAAAAAAQAAQAAAAAABAACAAAAAAAEAAQAAAAAAAQACAAAAAAABAAQAAAAAAAEACAAAAAAAAQAQAAAAAAABACAAAAAAAAEAQAAAAAAAAQCAAAAAAAABAQAAAAAAAAECAAAAAAAAAQQAAAAAAAABCAAAAAAAAAEQAAAAAAAAASAAAAAAAAABQAAAAAAAAABsZVV3aWR0aFlhc2NlbmRpbmdVaW5kZXgIEQEsCRAH1BcYGRoLIQsjCBDICBAI1BcYGRoLJgsoCBC1CBAC1BcYGRoJKwstCRBhCBAD1BcYGRoLMAkyCBBkCRAF1BcYGRoJNQk3CRBzCRAE1BcYGRoLOgk8CBBLCRAG1BcYGRoJPwlBCREBgwkQANQXGBkaCSYLRQkIEAEjQCgAAAAAAAAjQDAAAAAAAAAACAAZACwAPgBSAFoAYwBuAHcAjACNAI4AjwCiAKsAugDGAMsA0QDWAN4A4wDwAPkBAQEHAREBFwEYARsBHAEeAScBKAEqASsBLQE2ATcBOQE6ATwBRQFGAUgBSQFLAVQBVQFXAVgBWgFjAWQBZgFnAWkBcgFzAXUBdgF4AYEBggGFAYYBiAGRAZIBkwGVAZ4AAAAAAAACAQAAAAAAAABIAAAAAAAAAAAAAAAAAAABpwAAAAQAbABhAG4AZ21vRERkdXRjAADTops8AAAAAAAEAGwAYQBuAGdtb2REZHV0YwAA06KbPAAAAAAABABsAGEAbgBncGgxU2NvbXAAAAAAAACQAAAAAAQAbABhAG4AZ3ZTcm5sb25nAAAAAQAAAAMAbABpAGJkc2NsYm9vbAEAAAADAGwAaQBibGcxU2NvbXAAAAAAAAAAAAAAAAMAbABpAGJtb0REZHV0YwAA10fmAQAAAAAAAwBsAGkAYm1vZERkdXRjAADXR+YBAAAAAAADAGwAaQBicGgxU2NvbXAAAAAAAAAAAAAAAAkAdABlAG0AcABsAGEAdABlAHNkc2NsYm9vbAEAAAAJAHQAZQBtAHAAbABhAHQAZQBzbGcxU2NvbXAAAAAAAAAAAAAAAAkAdABlAG0AcABsAGEAdABlAHNtb0REZHV0YwAA1z6zjgAAAAAACQB0AGUAbQBwAGwAYQB0AGUAc21vZERkdXRjAADXPrOOAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzcGgxU2NvbXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/action.admin_account_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwovL29uIHbDqXJpZmllIGxlcyBkcm9pdHMgZGUgY2V0IHV0aWxpc2F0ZXVyCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgdXNlJykgKXsKCSRtZXNzYWdlID0gIlZvdXMgblwnYXZleiBwYXMgbGVzIGF1dG9yaXNhdGlvbnMgcG91ciBhY2PDqWRlciBhdSBjb21wdGUiOwoJJHRoaXMtPlNldE1lc3NhZ2UoIiRtZXNzYWdlIik7CgkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdzbXMnKTsKfQoKJHNtc2Vudm9pPW5ldyBzbXNlbnZvaSgpOwppZiAoZW1wdHkoJHRoaXMtPkdldFByZWZlcmVuY2UoJ1NNU0VOVk9JX0FQSUtFWScpKSkKewoJJGFwcGVsc19maXhlcyA9IDA7CgkkYXBwZWxzX21vYmlsZXMgPSAwOwoJJHNtc19sb3djb3N0ID0gMDsKCSRzbXNfc3RhbmRhcmRzID0gMDsKCSRzbXNfcHJlbWl1bSA9IDA7Cgkkc21zX2xvbmcgPSAwOwoJJHN0b3BzID0gMDsKfQplbHNlCnsKCS8vcsOpY3Vww6lyYXRpb24gZGVzIHN0YXR1dHMgZGVzIFNNUyBlbnZvecOpcyBkYW5zIGxlIGNhZHJlIGRlIGxhIGNhbXBhZ25lICRfR0VUWydpZF0gIChpZCByZXRvdXJuw6kgcGFyICAkc21zZW52b2ktPmlkIGxvcnMgZGUgbCdlbnZvaSkKCSRyZXN1bHQ9JHNtc2Vudm9pLT5jaGVja0NyZWRpdHMoKTsKCS8vdmFyX2R1bXAoJHJlc3VsdCk7CgkkYXBwZWxzX2ZpeGVzID0gJHJlc3VsdFsnY2FsbCddWydQSE9ORSddOwoJJGFwcGVsc19tb2JpbGVzID0gJHJlc3VsdFsnY2FsbCddWydNT0JJTEVQSE9ORSddOwoJJHNtc19sb3djb3N0ID0gJHJlc3VsdFsnc21zJ11bJ0xPV0NPU1QnXTsKCSRzbXNfc3RhbmRhcmRzID0gJHJlc3VsdFsnc21zJ11bJ1NUQU5EQVJEJ107Cgkkc21zX3ByZW1pdW0gPSAkcmVzdWx0WydzbXMnXVsnUFJFTUlVTSddOwoJJHNtc19sb25nID0gJHJlc3VsdFsnc21zJ11bJ0xPTkcnXTsKCSRzdG9wcyA9ICRyZXN1bHRbJ3NtcyddWydTVE9QJ107Cn0KJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdhY2NvdW50LnRwbCcsIG51bGwsIG51bGwsICRzbWFydHkpKTsKJHRwbC0+YXNzaWduKCdhcHBlbHNfZml4ZXMnLCAkYXBwZWxzX2ZpeGVzKTsKJHRwbC0+YXNzaWduKCdhcHBlbHNfbW9iaWxlcycsICRhcHBlbHNfbW9iaWxlcyk7CiR0cGwtPmFzc2lnbignc21zX2xvd2Nvc3QnLCAkc21zX2xvd2Nvc3QpOwokdHBsLT5hc3NpZ24oJ3Ntc19zdGFuZGFyZHMnLCAkc21zX3N0YW5kYXJkcyk7CiR0cGwtPmFzc2lnbignc21zX3ByZW1pdW0nLCAkc21zX3ByZW1pdW0pOwokdHBsLT5hc3NpZ24oJ3Ntc19sb25nJywgJHNtc19sb25nKTsKJHRwbC0+YXNzaWduKCdzdG9wcycsICRzdG9wcyk7CiR0cGwtPmRpc3BsYXkoKTsKCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQovL2VjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FjY291bnQudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_bitly_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgU2V0IFByZWZzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJykpOwoJcmV0dXJuOwp9CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdiaXRseScpOwovL2RlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsKaWYoIWVtcHR5KCRfUE9TVCkpCnsKCWlmKCBpc3NldCgkX1BPU1RbJ2NhbmNlbCddKSApIHsKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwogICAgICAgIH0KCS8vb24gc2F1dmVnYXJkZSAhIEJlbiBvdWFpcyAhCgoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9pZCcsICRfUE9TVFsnYml0bHlfY2xpZW50X2lkJ10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9zZWNyZXQnLCAkX1BPU1RbJ2JpdGx5X2NsaWVudF9zZWNyZXQnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJywgJF9QT1NUWydiaXRseV9hY2Nlc3NfdG9rZW4nXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfcmVkaXJlY3RfdXJpJywgJF9QT1NUWydiaXRseV9yZWRpcmVjdF91cmknXSk7CgkKCS8vb24gcmVkaXJpZ2UgIQoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwoJCn0KZWxzZQp7CgkkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2FkbWluX2JpdGx5LnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKCSR0cGwtPmFzc2lnbignYml0bHlfY2xpZW50X2lkJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9pZCcpKTsKCSR0cGwtPmFzc2lnbignYml0bHlfY2xpZW50X3NlY3JldCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfc2VjcmV0JykpOwoJJHRwbC0+YXNzaWduKCdiaXRseV9hY2Nlc3NfdG9rZW4nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJykpOwoJJHRwbC0+YXNzaWduKCdiaXRseV9yZWRpcmVjdF91cmknLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfcmVkaXJlY3RfdXJpJykpOwoJJHRwbC0+ZGlzcGxheSgpOwp9CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_config_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwovL29uIHbDqXJpZmllIGxlcyBkcm9pdHMgZGUgY2V0IHV0aWxpc2F0ZXVyCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgdXNlJykgJiYgISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NtcyBTZXQgUHJlZnMnKSl7CgkkbWVzc2FnZSA9ICJWb3VzIG5cJ2F2ZXogcGFzIGxlcyBhdXRvcmlzYXRpb25zIHBvdXIgYWNjw6lkZXIgYXV4IHByw6lmw6lyZW5jZXMiOwoJJHRoaXMtPlNldE1lc3NhZ2UoIiRtZXNzYWdlIik7CgkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdzbXMnKTsKfQppZighZW1wdHkoJF9QT1NUKSkKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ1NNU0VOVk9JX0VNQUlMJywgJF9QT1NUWydTTVNFTlZPSV9FTUFJTCddKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9BUElLRVknLCAkX1BPU1RbJ1NNU0VOVk9JX0FQSUtFWSddKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9WRVJTSU9OJywgJF9QT1NUWydTTVNFTlZPSV9WRVJTSU9OJ10pOwoJCgkkdGhpcy0+U2V0TWVzc2FnZSgnVm9zIG9wdGlvbnMgb250IMOpdMOpIG1pc2VzIMOgIGpvdXJzJyk7CgkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdzbXMnKTsKfQplbHNlCnsKCSR0cGwgPSAkc21hcnR5LT5DcmVhdGVUZW1wbGF0ZSgkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnY29uZmlnLnRwbCcsIG51bGwsIG51bGwsICRzbWFydHkpKTsKCSR0cGwtPmFzc2lnbignU01TRU5WT0lfQVBJS0VZJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ1NNU0VOVk9JX0FQSUtFWScpKTsKCSR0cGwtPmFzc2lnbignU01TRU5WT0lfRU1BSUwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9FTUFJTCcpKTsKCSR0cGwtPmFzc2lnbignU01TRU5WT0lfVkVSU0lPTicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ1NNU0VOVk9JX1ZFUlNJT04nKSk7CgkkdHBsLT5kaXNwbGF5KCk7Cn0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_sms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NtcyB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47ICAgCn0KaWYoaXNzZXQoJHBhcmFtc1sncmVjb3JkX2lkJ10pICYmICRwYXJhbXNbJ3JlY29yZF9pZCddICE9JycpCnsKCSRyZWNvcmRfaWQgPSAkcGFyYW1zWydyZWNvcmRfaWQnXTsKCSRzbXNfb3BzID0gbmV3IHNtc19vcHM7CgkkZGVsX21lc3MgPSAkc21zX29wcy0+ZGVsZXRlX21lc3NhZ2UoJHJlY29yZF9pZCk7Cgl2YXJfZHVtcCgkZGVsX21lc3MpOwoJaWYodHJ1ZSA9PT0gJGRlbF9tZXNzKQoJewoJCSRkZWxfcmVjaXAgPSAkc21zX29wcy0+ZGVsZXRlX3JlY2lwaWVudHMoJHJlY29yZF9pZCk7CgkJJHRoaXMtPlNldE1lc3NhZ2UoJ01lc3NhZ2Ugc3VwcHJpbcOpJyk7CgkJaWYoVFJVRSA9PT0gJGRlbF9yZWNpcCkKCQl7CgkJCSR0aGlzLT5TZXRNZXNzYWdlKCdEZXN0aW5hdGFpcmVzJyk7CgkJfQoJfQoJZWxzZQoJewoJCSR0aGlzLT5TZXRNZXNzYWdlKCdNZXNzYWdlIG5vbiBzdXBwcmltw6knKTsKCX0KfQplbHNlCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCdwYXMgZGUgbWVzc2FnZV9pZCAhJyk7CgkKfQoKJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7CgoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_sms_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKZ2xvYmFsICR0aGVtZU9iamVjdDsKCiRzbWFydHktPmFzc2lnbignZW52b2lfc21zJywgCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc2VuZHNtcycsICRyZXR1cm5pZCwgJ0Vudm95ZXIgdW4gc21zJykpOwoKCQkKJGRicmVzdWx0PSBhcnJheSAoKTsKLy9TRUxFQ1QgKiBGUk9NIHBpbmdfbW9kdWxlX3BpbmdfcmVjdXBfcGFydGllcyBBUyByZWMgcmlnaHQgSk9JTiBwaW5nX21vZHVsZV9waW5nX2pvdWV1cnMgQVMgaiBPTiBqLmxpY2VuY2UgPSByZWMubGljZW5jZSAgT1JERVIgQlkgai5pZCBBU0MKJHF1ZXJ5PSAiU0VMRUNUIGlkLG1lc3NhZ2VfcmVmZXJlbmNlLHN1YnR5cGUsIHNlbmRkYXRlLCBzZW5kdGltZSwgc2VuZGVybGFiZWwsIGNvbnRlbnQsIGlkX2Vudm9pIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfbWVzc2FnZXMgT1JERVIgQlkgc2VuZGRhdGUgREVTQyI7CgokZGJyZXN1bHQ9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwokcm93Y2xhc3M9ICdyb3cxJzsKJHJvd2FycmF5PSBhcnJheSAoKTsKaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQogIHsKCSRzbXNfb3BzID0gbmV3IHNtc19vcHM7CiAgICB3aGlsZSAoJHJvdz0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CgkkaWRfZW52b2kgPSAkcm93WydpZF9lbnZvaSddOwoJJG5iX3JlY2lwaWVudHMgPSAkc21zX29wcy0+Y291bnRfdXNlcnNfcGVyX21lc3NhZ2UoJHJvd1snaWQnXSk7CgkkcmVjZWl2ZWQgPSAkc21zX29wcy0+cmVjZWl2ZWQoJHJvd1snaWQnXSk7Cgkkb25lcm93PSBuZXcgU3RkQ2xhc3MoKTsKCSRvbmVyb3ctPnJvd2NsYXNzPSAkcm93Y2xhc3M7CglpZigkaWRfZW52b2kgIT0gJycgJiYgJHJlY2VpdmVkID09ICRuYl9yZWNpcGllbnRzKQoJewoJCSRvbmVyb3ctPmlkX2Vudm9pPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPkxhbmcoJ2ZhbHNlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCQkJfQoJZWxzZWlmKCRpZF9lbnZvaSA9PSAnJyAmJiAkbmJfcmVjaXBpZW50cyA+IDAgfHwgJHJlY2VpdmVkICE9ICRuYl9yZWNpcGllbnRzICkKCXsKCQkkb25lcm93LT5pZF9lbnZvaT0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygndHJ1ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7Cgl9Cgkkb25lcm93LT5kZWxpdmVyeSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Nob3dfcmVjaXBpZW50cycsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS92aWV3LmdpZicsICR0aGlzLT5MYW5nKCd2aWV3JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSxhcnJheSgibWVzc2FnZV9pZCI9PiRyb3dbJ2lkJ10pKTsKCQoJJG9uZXJvdy0+aWQ9ICRyb3dbJ2lkJ107Ci8vCSRvbmVyb3ctPmlkX2Vudm9pPSAkcm93WydpZF9lbnZvaSddOwoJJG9uZXJvdy0+c3VidHlwZT0gJHJvd1snc3VidHlwZSddOwoJJG9uZXJvdy0+c2VuZGRhdGU9ICRyb3dbJ3NlbmRkYXRlJ107Cgkkb25lcm93LT5zZW5kdGltZT0gJHJvd1snc2VuZHRpbWUnXTsKCSRvbmVyb3ctPnNlbmRlcmxhYmVsPSAkcm93WydzZW5kZXJsYWJlbCddOwoJJG9uZXJvdy0+Y29udGVudD0gJHJvd1snY29udGVudCddOwoJJG9uZXJvdy0+bmJfcmVjaXBpZW50cyA9ICRuYl9yZWNpcGllbnRzOy8vJHNtc19vcHMtPmNvdW50X3VzZXJzX3Blcl9tZXNzYWdlKCRyb3dbJ2lkJ10pOwoJJG9uZXJvdy0+cmVjZWl2ZWQgPSAkcmVjZWl2ZWQ7CgoJJG9uZXJvdy0+cmVudm95ZXIgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzZW50X2JhY2snLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3LmdpZicsICR0aGlzLT5MYW5nKCduZXcnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLGFycmF5KCJtZXNzYWdlX2lkIj0+JHJvd1snaWQnXSkpOwkKCSRvbmVyb3ctPmRlbGV0ZT0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRlX3NtcycsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksYXJyYXkoJ3JlY29yZF9pZCc9PiRyb3dbJ2lkJ10pKTsKCSgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzPSAicm93MiIgOiAkcm93Y2xhc3M9ICJyb3cxIik7Cgkkcm93YXJyYXlbXT0gJG9uZXJvdzsKICAgICAgfQogIH0KCiRzbWFydHktPmFzc2lnbignaXRlbXNmb3VuZCcsICR0aGlzLT5MYW5nKCdyZXN1bHRzZm91bmR0ZXh0JykpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5KTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnc21zLnRwbCcpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.check_delivery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgdXNlJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJykpOwoJcmV0dXJuOyAgIAp9CmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CiAgICAJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7CiAgICAJcmV0dXJuOwp9Ci8vZGVidWdfZGlzcGxheSgkcGFyYW1zLCAnUGFyYW1ldGVycycpOwoKLy9vbiB2w6lyaWZpZSBxdWUgdG91cyBsZXMgw6lsw6ltZW50cyBuw6ljZXNzYWlyZXMgc29udCBiaWVuIGzDoAoKaWYoaXNzZXQoJHBhcmFtc1snaWRfZW52b2knXSkgJiYgJHBhcmFtc1snaWRfZW52b2knXSAhPSAnJykKewoJJGlkX2Vudm9pID0gJHBhcmFtc1snaWRfZW52b2knXTsKfQplbHNlCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCdQYXMgZGUgaWRfZW52b2kgISAnKTsKCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ3NtcycpOwp9CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRzbXNlbnZvaT1uZXcgc21zZW52b2koKTsKJHNtc19vcHMgPSBuZXcgc21zX29wczsKLy9yw6ljdXDDqXJhdGlvbiBkZXMgc3RhdHV0cyBkZXMgU01TIGVudm95w6lzIGRhbnMgbGUgY2FkcmUgZGUgbGEgY2FtcGFnbmUgJF9HRVRbJ2lkXSAgKGlkIHJldG91cm7DqSBwYXIgICRzbXNlbnZvaS0+aWQgbG9ycyBkZSBsJ2Vudm9pKQokcmVzdWx0PSRzbXNlbnZvaS0+Y2hlY2tkZWxpdmVyeSgkaWRfZW52b2kpOwovL3Zhcl9kdW1wKCRyZXN1bHQpOwpmb3JlYWNoKCRyZXN1bHQgYXMgJHJlY2lwaWVudCl7CgkKCQkKCQkKCQkvL3BhcyBlbmNvcmUgZCdBLlIuCgkJaWYoJHJlY2lwaWVudC0+YXJjb2RlPT0wKXsKCQkJCgkJCQkkYXJkYXRlPScnOyAKCQkJCSRhcnRpbWU9Jyc7CQkJCgkJfQoJCWVsc2UKCQl7CgkJCQkkYXJkYXRlPWRhdGUoIlktbS1kIixzdHJ0b3RpbWUoJHJlY2lwaWVudC0+YXJkYXRlKSk7CgkJCQkkYXJ0aW1lPSRyZWNpcGllbnQtPmFydGltZTsJCQkKCQl9CgkJJG51bWJlciA9ICRyZWNpcGllbnQtPnJlY2lwaWVudDsKCQkvL29uIG1ldCBsYSBiZGQgw6Agam91ciAhISBhciBwb3VyIGFjY3Vzw6kgZGUgcsOpY2VwdGlvbgoJCSRhciA9ICRzbXNfb3BzLT5hY2N1c2VfcmVjZXB0aW9uKCRpZF9lbnZvaSwgJG51bWJlciwkYXJkYXRlLCAkYXJ0aW1lKTsKCS8vCXZhcl9kdW1wKCRhcik7CgkvLwllY2hvICI8dHI+PHRkPiIuJHJlY2lwaWVudC0+cmVjaXBpZW50LiI8L3RkPjx0ZD4iLiRyZWNpcGllbnQtPmFyLiI8L3RkPjx0ZD4iLiRhcmRhdGUuIjwvdGQ+PHRkPiIuJGFydGltZS4iPC90ZD48L3RyPiI7CgkKCQp9CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdzaG93X3JlY2lwaWVudHMnLCAkcmV0dXJuaWQsIGFycmF5KCJpZF9lbnZvaSI9PiRpZF9lbnZvaSkpOwkKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.check_delivery_all.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgdXNlJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJykpOwoJcmV0dXJuOyAgIAp9CmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CiAgICAJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7CiAgICAJcmV0dXJuOwp9Ci8vZGVidWdfZGlzcGxheSgkcGFyYW1zLCAnUGFyYW1ldGVycycpOwoKLy9vbiB2w6lyaWZpZSBxdWUgdG91cyBsZXMgw6lsw6ltZW50cyBuw6ljZXNzYWlyZXMgc29udCBiaWVuIGzDoAoKaWYoaXNzZXQoJHBhcmFtc1snbWVzc2FnZV9pZCddKSAmJiAkcGFyYW1zWydtZXNzYWdlX2lkJ10gIT0gJycpCnsKCSRtZXNzYWdlX2lkID0gJHBhcmFtc1snbWVzc2FnZV9pZCddOwp9CmVsc2UKewoJJHRoaXMtPlNldE1lc3NhZ2UoJ1BhcyBkZSBtZXNzYWdlX2lkICEgJyk7CgkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdzbXMnKTsKfQoKJGRiID0mICR0aGlzLT5HZXREYigpOwokcXVlcnk9IlNFTEVDVCBpZF9lbnZvaSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3JlY2lwaWVudHMgV0hFUkUgbWVzc2FnZV9pZCA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbWVzc2FnZV9pZCkpOwppZigkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4wKQp7Cgkkc21zZW52b2k9bmV3IHNtc2Vudm9pKCk7Cgkkc21zX29wcyA9IG5ldyBzbXNfb3BzOwoJd2hpbGUoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCQkkaWRfZW52b2kgPSAkcm93WydpZF9lbnZvaSddOwoJCS8vcsOpY3Vww6lyYXRpb24gZGVzIHN0YXR1dHMgZGVzIFNNUyBlbnZvecOpcyBkYW5zIGxlIGNhZHJlIGRlIGxhIGNhbXBhZ25lICRfR0VUWydpZF0gIChpZCByZXRvdXJuw6kgcGFyICAkc21zZW52b2ktPmlkIGxvcnMgZGUgbCdlbnZvaSkKCQkkcmVzdWx0PSRzbXNlbnZvaS0+Y2hlY2tkZWxpdmVyeSgkaWRfZW52b2kpOwoJCS8vdmFyX2R1bXAoJHJlc3VsdCk7CgkJZm9yZWFjaCgkcmVzdWx0IGFzICRyZWNpcGllbnQpCgkJewoKCgoJCQkJLy9wYXMgZW5jb3JlIGQnQS5SLgoJCQkJaWYoJHJlY2lwaWVudC0+YXJjb2RlPT0wKQoJCQkJewoKCQkJCQkJJGFyZGF0ZT0nJzsgCgkJCQkJCSRhcnRpbWU9Jyc7CQkJCgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJCSRhcmRhdGU9ZGF0ZSgiWS1tLWQiLHN0cnRvdGltZSgkcmVjaXBpZW50LT5hcmRhdGUpKTsKCQkJCQkJJGFydGltZT0kcmVjaXBpZW50LT5hcnRpbWU7CQkJCgkJCQl9CgkJCQkkbnVtYmVyID0gJHJlY2lwaWVudC0+cmVjaXBpZW50OwoJCQkJLy9vbiBtZXQgbGEgYmRkIMOgIGpvdXIgISEgYXIgcG91ciBhY2N1c8OpIGRlIHLDqWNlcHRpb24KCQkJCSRhciA9ICRzbXNfb3BzLT5hY2N1c2VfcmVjZXB0aW9uKCRpZF9lbnZvaSwgJG51bWJlciwkYXJkYXRlLCAkYXJ0aW1lKTsKCQl9Cgl9CgkKfQoKCQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnc2hvd19yZWNpcGllbnRzJywgJHJldHVybmlkLCBhcnJheSgibWVzc2FnZV9pZCI9PiRtZXNzYWdlX2lkKSk7CQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICggIWlzc2V0KCRnQ21zKSApIGV4aXQ7IA0KCWlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU21zIHVzZScpKQ0KCXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7DQoJCXJldHVybjsNCgl9DQoJDQovL2RlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiaGVhZGVycygpOw0KDQppZihpc3NldCgkcGFyYW1zWydhY3RpdmV0YWInXSkgJiYgIWVtcHR5KCRwYXJhbXNbJ2FjdGl2ZXRhYiddKSkNCiAgew0KICAgICR0YWIgPSAkcGFyYW1zWydhY3RpdmV0YWInXTsNCiAgfSBlbHNlIHsNCiAgJHRhYiA9ICdjb21wdGUnOw0KIH0JDQoJDQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjb21wdGUnLCAnQ3LDqWRpdHMnLCAoJ2NvbXB0ZScgPT0gJHRhYik/dHJ1ZTpmYWxzZSk7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzbXMnLCAnU01TJywgKCdzbXMnID09ICR0YWIpP3RydWU6ZmFsc2UpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYml0bHknLCAnUmFjY291cmNpc3NldXIgZFwndXJsJywgKCdiaXRseScgPT0gJHRhYik/dHJ1ZTpmYWxzZSk7CQ0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY29uZmlnJywgJ0NvbmZpZ3VyYXRpb24nLCAoJ2NvbmZpZycgPT0gJHRhYik/dHJ1ZTpmYWxzZSk7CQ0KCWVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KCQ0KCQ0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjb21wdGUnLCAkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLmFkbWluX2FjY291bnRfdGFiLnBocCcpOw0KICAgCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NtcycsICRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9hY3Rpb24uYWRtaW5fc21zX3RhYi5waHAnKTsNCiAgICAJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYignYml0bHknLCAkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLmFkbWluX2JpdGx5X3RhYi5waHAnKTsNCiAgICAJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYignY29uZmlnJywgJHBhcmFtcyk7DQoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2FjdGlvbi5hZG1pbl9jb25maWdfdGFiLnBocCcpOw0KICAgIAkvL2luY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9hY3Rpb24uYWRtaW5fam91ZXVyc190YWIucGhwJyk7DQogICAJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQo/Pg0KDQoNCg==]]></data>
	</file>
	<file>
	  <filename>/action.do_send_sms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgdXNlJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJykpOwoJcmV0dXJuOyAgIAp9CmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CiAgICAJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7CiAgICAJcmV0dXJuOwp9CmRlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsKCi8vb24gdsOpcmlmaWUgcXVlIHRvdXMgbGVzIMOpbMOpbWVudHMgbsOpY2Vzc2FpcmVzIHNvbnQgYmllbiBsw6AKJGVycm9yID0gMDsKaWYoaXNzZXQoJHBhcmFtc1snY29udGVudCddKSAmJiAkcGFyYW1zWydjb250ZW50J10gIT0gJycpCnsKCSRjb250ZW50ID0gJHBhcmFtc1snY29udGVudCddOwp9CmVsc2UKewoJJGVycm9yKys7Cn0KaWYoaXNzZXQoJHBhcmFtc1snc2VuZGVyJ10pICYmICRwYXJhbXNbJ3NlbmRlciddICE9ICcnKQp7Cgkkc2VuZGVyID0gJHBhcmFtc1snc2VuZGVyJ107Cn0KZWxzZQp7CgkkZXJyb3IrKzsKfQppZihpc3NldCgkcGFyYW1zWydyZWNpcGllbnRzJ10pICYmICRwYXJhbXNbJ3JlY2lwaWVudHMnXSE9ICcnKQp7CgkkcmVjaXBpZW50cyA9ICRwYXJhbXNbJ3JlY2lwaWVudHMnXTsKfQplbHNlCnsKCSRlcnJvcisrOwp9CgoKJGRiID0mICR0aGlzLT5HZXREYigpOwoJaWYoJGVycm9yID09IDApCgl7CgkJLy9vbiBtZXQgbGUgc21zIGVuIGJkZCBhdmVjIGxlcyBkw6l0YWlscwoJCSRzbXNfb3BzID0gbmV3IHNtc19vcHM7CgkJLy9vbiBwcsOpcGFyZSBsZXMgdmFyaWFibGVzIGF2YW50IGluc2VydGlvbgoJCSRzdWJ0eXBlID0gJ1BSRU1JVU0nOwoJCSRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7CgkJJHNlbmR0aW1lID0gZGF0ZSgnSDppOnMnKTsKCQkkbWVzc2FnZSA9ICRjb250ZW50OwoJCSRtZXNzYWdlX3JlZmVyZW5jZSA9ICR0aGlzLT5yYW5kb21fc3RyaW5nKDE1KTsKCQkkc2VuZGVybGFiZWwgPSAkc2VuZGVyOwoJCSRyaWNoc21zX29wdGlvbiA9IDA7CgkJJHJpY2hzbXNfdXJsID0gJyc7CgkJJGFkZF9tZXNzYWdlID0gJHNtc19vcHMtPmFkZF9tZXNzYWdlKCRtZXNzYWdlX3JlZmVyZW5jZSwkc3VidHlwZSwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsJHNlbmRlcmxhYmVsLCAkY29udGVudCwgJHJpY2hzbXNfb3B0aW9uLCRyaWNoc21zX3VybCk7CgkJaWYodHJ1ZSA9PT0gJGFkZF9tZXNzYWdlKQoJCXsKCQkJJG1lc3NhZ2VfaWQgPSAkZGItPkluc2VydF9JRCgpOwoJCX0KCQkkY29udGFjdCA9IG5ldyBjb250YWN0OwoJCSRsaXN0ZV9kZXN0aW5hdGFpcmVzID0gJGNvbnRhY3QtPlVzZXJzRnJvbUdyb3VwKCRyZWNpcGllbnRzKTsKCQkvL3Zhcl9kdW1wKCRsaXN0ZV9kZXN0aW5hdGFpcmVzKTsKCQkKCQkvL29uIGVudm9pZSBsZXMgZGVzdGluYXRhaXJlcyBlbiBiZGQKCQkkbW9iaWxlcyA9IGFycmF5KCk7CgkJJGFkcmVzc2VzID0gJyc7CgkJZm9yZWFjaCgkbGlzdGVfZGVzdGluYXRhaXJlcyBhcyAkdGFiKQoJCXsKCQkJLy9vbiAgcsOpY3Vww6hyZSBsZXMgTsKwIGRlIHBvcnRhYmxlIGRlcyBwZXJzb25uZXMKCQkJLy9vbiBham91dGUgbGUgZGVzdGluYXRhaXJlIMOgIGxhIHRhYmxlIGRlcyByZWNpcGllbnRzCgkJCSRpZF9lbnZvaSA9IDA7CgkJCQoJCQkkcmVjaXBpZW50cyA9ICRjb250YWN0LT5tb2JpbGUoJHRhYik7CgkJLy8JdmFyX2R1bXAoJHJlY2lwaWVudHMpOwoJCQlpZihGQUxTRSAhPT0gJHJlY2lwaWVudHMpCgkJCXsKCQkJCS8vb24gaW5jcsOpbWVudGUgbGUgdGFibGVhdSAkbW9iaWxlcwoJCQkJJG1vYmlsZXNbXT0gJHJlY2lwaWVudHM7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkvL29uIGluZGlxdWUgdW5lIGVycmV1ciBvdSB1biBtYW5xdWUgPwoJCQl9CgkJCSRzbXNfb3BzLT5hZGRfcmVjaXBpZW50cygkbWVzc2FnZV9pZCwgJGlkX2Vudm9pLCAkdGFiLCAkc2VudD0nMCcsJHJlY2lwaWVudHMpOwoJCX0KCQl2YXJfZHVtcCgkbW9iaWxlcyk7CgkJaWYoaXNfYXJyYXkoJG1vYmlsZXMpICYmIGNvdW50KCRtb2JpbGVzKSA+IDApCgkJewoJCQkkYWRyZXNzZXMgID0gaW1wbG9kZSgnLCcsJG1vYmlsZXMpOwoJCX0KCQkKCQl2YXJfZHVtcCgkYWRyZXNzZXMpOwoJCS8vSW5zdGFudGlhdGlvbiBkZSBsJ29iamV0ICRzbXNlbnZvaSBhcHBhcnRlbmFudCDDoCBsYSBjbGFzc2UgU01TRU5WT0kKCQkkc21zZW52b2k9bmV3IHNtc2Vudm9pKCk7CgkJCgkJLy9FbnZvaSBkdSBTTVMgKGZvcmPDqSBlbiBnYW1tZSBwcmVtaXVtKQoJCS8vcmVudm9pZSB0cnVlIHNpIHN1Y2PDqHMKCQkKCQlpZigkc21zZW52b2ktPnNlbmRTTVMoJGFkcmVzc2VzLCRtZXNzYWdlLCdQUkVNSVVNJywkc2VuZGVyKSkKCQl7CgkJCQoJCQkJLy9FTlZPSSBSRVVTU0kKCQkJCSRzdWNjZXNzPXRydWU7CgoJCQkJLy9JZCBkZSBsJ2Vudm9pIGVmZmVjdHXDqQoJCQkJLy9JZMOpYWxlbWVudCwgY2V0IGlkIGRldnJhaXQgw6p0cmUgc3RvY2vDqSBlbiBiYXNlIGRlIGRvbm7DqWVzCgkJCQkkaWRfZW52b2k9JHNtc2Vudm9pLT5pZDsKCQkJCS8vb24gbWV0IGxhIGJkZCDDoCBqb3VyCgkJCQkkbWFqX21lc3NhZ2UgPSAkc21zX29wcy0+bWFqX2Vudm9pKCRtZXNzYWdlX3JlZmVyZW5jZSwkaWRfZW52b2kpOwoJCQkJJG1hal9yZWNpcGllbnRzID0gJHNtc19vcHMtPm1hal9yZWNpcGllbnRzKCRtZXNzYWdlX2lkLCAkaWRfZW52b2kpOwoJCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ0Vudm9pIHLDqXVzc2kgIScpOwoJCQkJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7CgkJCQoJCX0KCQllbHNlCgkJewoJCQkJLy9FQ0hFQwoJCQkJJHN1Y2Nlc3M9ZmFsc2U7CgkJCQkkdGhpcy0+U2V0TWVzc2FnZSgnRW52b2kgw6ljaG91w6kgIScpOwoJCQkJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7CgkJfQoJCQoJCQoJfQoJZWxzZQoJeyAKCQkvL2Zvcm11bGFpcmUgbm9uIHBvc3TDqSA/IG5vdXMgc8O0bW1lcyBhcnJpdsOpcyBpY2kgcGFyIGVycmV1cgoJCSR0aGlzLT5TZXRNZXNzYWdlKCdFcnJldXIocykgZGFucyBsZSBmb3JtdWxhaXJlJyk7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnc2VuZHNtcycsICRyZXR1cm5pZCk7CgkKCX0KCgoJCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.sendsms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTbXMgdXNlJykpCnsKICAgIAllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCXJldHVybjsKICAgCn0KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3NtcycpOwppZighZW1wdHkoJF9QT1NUKSkKewoJaWYoIGlzc2V0KCRfUE9TVFsnY2FuY2VsJ10pICkKCXsKCSAgICAJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7Cgl9CgllbHNlCgl7CgkJZGVidWdfZGlzcGxheSgkX1BPU1QsICdQYXJhbWV0ZXJzJyk7CgkJCgkJLy9vbiB2w6lyaWZpZSBxdWUgdG91cyBsZXMgw6lsw6ltZW50cyBuw6ljZXNzYWlyZXMgc29udCBiaWVuIGzDoAoJCSRlcnJvciA9IDA7CgkJaWYoaXNzZXQoJF9QT1NUWydjb250ZW50J10pICYmICRfUE9TVFsnY29udGVudCddICE9ICcnKQoJCXsKCQkJJGNvbnRlbnQgPSAkX1BPU1RbJ2NvbnRlbnQnXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGVycm9yKys7CgkJfQoJCWlmKGlzc2V0KCRfUE9TVFsnc2VuZGVyJ10pICYmICRfUE9TVFsnc2VuZGVyJ10gIT0gJycpCgkJewoJCQkkc2VuZGVyID0gJF9QT1NUWydzZW5kZXInXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGVycm9yKys7CgkJfQoJCWlmKGlzc2V0KCRfUE9TVFsncmVjaXBpZW50cyddKSAmJiAkX1BPU1RbJ3JlY2lwaWVudHMnXSE9ICcnKQoJCXsKCQkJJHJlY2lwaWVudHMgPSAkX1BPU1RbJ3JlY2lwaWVudHMnXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGVycm9yKys7CgkJfQoJCSR0aW1icmUgPSBta3RpbWUoJF9QT1NUWydlbnZvaV9Ib3VyJ10sICRfUE9TVFsnZW52b2lfTWludXRlJ10sICRfUE9TVFsnZW52b2lfU2Vjb25kJ10sJF9QT1NUWydlbnZvaV9Nb250aCddLCAkX1BPU1RbJ2Vudm9pX0RheSddLCAkX1BPU1RbJ2Vudm9pX1llYXInXSk7CgkJJHNlbmRkYXRlID0gZ21kYXRlKCJZLW0tZCIsICR0aW1icmUpOwoJCSRzZW5kdGltZSA9IGdtZGF0ZSgnSDppOnMnLCR0aW1icmUpOwoJCS8qCgkJaWYoaXNzZXQoJF9QT1NUWydyZWNpcGllbnRzJ10pICYmICRfUE9TVFsncmVjaXBpZW50cyddIT0gJycpCgkJewoJCQkkcmVjaXBpZW50cyA9ICRfUE9TVFsncmVjaXBpZW50cyddOwoJCX0KCQkqLwoKCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkJCWlmKCRlcnJvciA9PSAwKQoJCQl7CgkJCQkvL29uIG1ldCBsZSBzbXMgZW4gYmRkIGF2ZWMgbGVzIGTDqXRhaWxzCgkJCQkkc21zX29wcyA9IG5ldyBzbXNfb3BzOwoJCQkJLy9vbiBwcsOpcGFyZSBsZXMgdmFyaWFibGVzIGF2YW50IGluc2VydGlvbgoJCQkJJHN1YnR5cGUgPSAnUFJFTUlVTSc7CgkJCQkvLyRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7CgkJCQkvLyRzZW5kdGltZSA9IGRhdGUoJ0g6aTpzJyk7CgkJCQkkbWVzc2FnZSA9ICRjb250ZW50OwoJCQkJJG1lc3NhZ2VfcmVmZXJlbmNlID0gJHRoaXMtPnJhbmRvbV9zdHJpbmcoMTUpOwoJCQkJJHNlbmRlcmxhYmVsID0gJHNlbmRlcjsKCQkJCSRyaWNoc21zX29wdGlvbiA9IDA7CgkJCQkkcmljaHNtc191cmwgPSAnJzsKCQkJCSRhZGRfbWVzc2FnZSA9ICRzbXNfb3BzLT5hZGRfbWVzc2FnZSgkbWVzc2FnZV9yZWZlcmVuY2UsJHN1YnR5cGUsICRzZW5kZGF0ZSwgJHNlbmR0aW1lLCRzZW5kZXJsYWJlbCwgJGNvbnRlbnQsICRyaWNoc21zX29wdGlvbiwkcmljaHNtc191cmwpOwoJCQkJaWYodHJ1ZSA9PT0gJGFkZF9tZXNzYWdlKQoJCQkJewoJCQkJCSRtZXNzYWdlX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCQkJCX0KCQkJCSRjb250YWN0ID0gbmV3IGNvbnRhY3Q7CgkJCQkkbGlzdGVfZGVzdGluYXRhaXJlcyA9ICRjb250YWN0LT5Vc2Vyc0Zyb21Hcm91cCgkcmVjaXBpZW50cyk7CgkJCQkvL3Zhcl9kdW1wKCRsaXN0ZV9kZXN0aW5hdGFpcmVzKTsKCgkJCQkvL29uIGVudm9pZSBsZXMgZGVzdGluYXRhaXJlcyBlbiBiZGQKCQkJCSRtb2JpbGVzID0gYXJyYXkoKTsKCQkJCSRhZHJlc3NlcyA9ICcnOwoJCQkJZm9yZWFjaCgkbGlzdGVfZGVzdGluYXRhaXJlcyBhcyAkdGFiKQoJCQkJewoJCQkJCS8vb24gIHLDqWN1cMOocmUgbGVzIE7CsCBkZSBwb3J0YWJsZSBkZXMgcGVyc29ubmVzCgkJCQkJLy9vbiBham91dGUgbGUgZGVzdGluYXRhaXJlIMOgIGxhIHRhYmxlIGRlcyByZWNpcGllbnRzCgkJCQkJJGlkX2Vudm9pID0gMDsKCgkJCQkJJHJlY2lwaWVudHMgPSAkY29udGFjdC0+bW9iaWxlKCR0YWIpOwoJCQkJLy8JdmFyX2R1bXAoJHJlY2lwaWVudHMpOwoJCQkJCWlmKEZBTFNFICE9PSAkcmVjaXBpZW50cykKCQkJCQl7CgkJCQkJCS8vb24gaW5jcsOpbWVudGUgbGUgdGFibGVhdSAkbW9iaWxlcwoJCQkJCQkkbW9iaWxlc1tdPSAkcmVjaXBpZW50czsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJLy9vbiBpbmRpcXVlIHVuZSBlcnJldXIgb3UgdW4gbWFucXVlID8KCQkJCQl9CgkJCQkJJHNtc19vcHMtPmFkZF9yZWNpcGllbnRzKCRtZXNzYWdlX2lkLCAkaWRfZW52b2ksICR0YWIsICRzZW50PScwJywkcmVjaXBpZW50cyk7CgkJCQl9CgkJCS8vCXZhcl9kdW1wKCRtb2JpbGVzKTsKCQkJCWlmKGlzX2FycmF5KCRtb2JpbGVzKSAmJiBjb3VudCgkbW9iaWxlcykgPiAwKQoJCQkJewoJCQkJCSRhZHJlc3NlcyAgPSBpbXBsb2RlKCcsJywkbW9iaWxlcyk7CgkJCQl9CgoJCQkvLwl2YXJfZHVtcCgkYWRyZXNzZXMpOwoJCQkJLy9JbnN0YW50aWF0aW9uIGRlIGwnb2JqZXQgJHNtc2Vudm9pIGFwcGFydGVuYW50IMOgIGxhIGNsYXNzZSBTTVNFTlZPSQoJCQkJJHNtc2Vudm9pPW5ldyBzbXNlbnZvaSgpOwoKCQkJCS8vRW52b2kgZHUgU01TIChmb3Jjw6kgZW4gZ2FtbWUgcHJlbWl1bSkKCQkJCS8vcmVudm9pZSB0cnVlIHNpIHN1Y2PDqHMKCQkJCQoJCQkJaWYoJHNtc2Vudm9pLT5zZW5kU01TKCRhZHJlc3NlcywkbWVzc2FnZSwnUFJFTUlVTScsJHNlbmRlciwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsJHJpY2hzbXNfb3B0aW9uPScnLCRyaWNoc21zX3VybD0nJykpCgkJCQl7CgoJCQkJCQkvL0VOVk9JIFJFVVNTSQoJCQkJCQkkc3VjY2Vzcz10cnVlOwoKCQkJCQkJLy9JZCBkZSBsJ2Vudm9pIGVmZmVjdHXDqQoJCQkJCQkvL0lkw6lhbGVtZW50LCBjZXQgaWQgZGV2cmFpdCDDqnRyZSBzdG9ja8OpIGVuIGJhc2UgZGUgZG9ubsOpZXMKCQkJCQkJJGlkX2Vudm9pPSRzbXNlbnZvaS0+aWQ7CgkJCQkJCS8vb24gbWV0IGxhIGJkZCDDoCBqb3VyCgkJCQkJCSRtYWpfbWVzc2FnZSA9ICRzbXNfb3BzLT5tYWpfZW52b2koJG1lc3NhZ2VfcmVmZXJlbmNlLCRpZF9lbnZvaSk7CgkJCQkJCSRtYWpfcmVjaXBpZW50cyA9ICRzbXNfb3BzLT5tYWpfcmVjaXBpZW50cygkbWVzc2FnZV9pZCwgJGlkX2Vudm9pKTsKCQkJCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ0Vudm9pIHLDqXVzc2kgIScpOwoJCQkJCQkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdzbXMnKTsKCgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJCS8vRUNIRUMKCQkJCQkJJHN1Y2Nlc3M9ZmFsc2U7CgkJCQkJCSR0aGlzLT5TZXRNZXNzYWdlKCdFbnZvaSDDqWNob3XDqSAhJyk7CgkJCQkJCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ3NtcycpOwoJCQkJfQoJCQkJCgoJCQl9CgkJCWVsc2UKCQkJeyAKCQkJCS8vZm9ybXVsYWlyZSBub24gcG9zdMOpID8gbm91cyBzw7RtbWVzIGFycml2w6lzIGljaSBwYXIgZXJyZXVyCgkJCQkkdGhpcy0+U2V0TWVzc2FnZSgnRXJyZXVyKHMpIGRhbnMgbGUgZm9ybXVsYWlyZScpOwoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnc2VuZHNtcycsICRyZXR1cm5pZCk7CgoJCQl9Cgl9Cn0KZWxzZQp7CgkvL2xlcyB2YWxldXJzIHBhciBkw6lmYXV0Cgkkc2VuZGVyID0gJ0V4cMOpZGl0ZXVyJzsKCSRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7Cgkkc2VuZHRpbWUgPSBkYXRlKCdIOmk6cycpOwoJJGNvbnRlbnQgPSAnJzsKCSR0aW1icmUgPSB0aW1lKCk7CgkkZWRpdCA9IDA7CgkKCSRjb250ID0gbmV3IGNvbnRhY3Q7CgkkbGlzdGVfZ3JvdXBlcyA9ICRjb250LT5saXN0ZV9ncm91cGVzX2Ryb3Bkb3duKCk7CgkKCS8vb24gcGxhY2UgbGUgZm9ybXVsYWlyZQoJJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdzZW5kc21zLnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKCSR0cGwtPmFzc2lnbignc2VuZGVyJywgJHNlbmRlcik7CgkkdHBsLT5hc3NpZ24oJ2NvbnRlbnQnLCRjb250ZW50KTsKCSR0cGwtPmFzc2lnbignZWRpdCcsICRlZGl0KTsKCSR0cGwtPmFzc2lnbignc2VuZGRhdGUnLCAkc2VuZGRhdGUpOwoJJHRwbC0+YXNzaWduKCdzZW5kdGltZScsICRzZW5kdGltZSk7CgkkdHBsLT5hc3NpZ24oJ3RpbWJyZScsICR0aW1icmUpOwoJJHRwbC0+YXNzaWduKCdsaXN0ZV9ncm91cGVzJywgJGxpc3RlX2dyb3VwZXMpOwoJJHRwbC0+ZGlzcGxheSgpOwp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.show_recipients.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NtcyB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47ICAgCn0KLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2VfaWQnXSkgJiYgJHBhcmFtc1snbWVzc2FnZV9pZCddICE9JycpCnsKCSRtZXNzYWdlX2lkID0gJHBhcmFtc1snbWVzc2FnZV9pZCddOwp9CmVsc2UKewoJJHRoaXMtPlNldE1lc3NhZ2UoJ3BhcyBkZSBtZXNzYWdlX2lkICEnKTsKLy8JJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignc21zJyk7Cn0KJGRiID0mICR0aGlzLT5HZXREYigpOwpnbG9iYWwgJHRoZW1lT2JqZWN0OwoKCgoJCQokZGJyZXN1bHQ9IGFycmF5KCk7Ci8vU0VMRUNUICogRlJPTSBwaW5nX21vZHVsZV9waW5nX3JlY3VwX3BhcnRpZXMgQVMgcmVjIHJpZ2h0IEpPSU4gcGluZ19tb2R1bGVfcGluZ19qb3VldXJzIEFTIGogT04gai5saWNlbmNlID0gcmVjLmxpY2VuY2UgIE9SREVSIEJZIGouaWQgQVNDCiRxdWVyeT0gIlNFTEVDVCBpZCwgbWVzc2FnZV9pZCwgaWRfZW52b2ksIHJlY2lwaWVudHMsIHNlbnQsIGFyZGF0ZSwgYXJ0aW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcmVjaXBpZW50cyBXSEVSRSBtZXNzYWdlX2lkID0gPyI7CgokZGJyZXN1bHQ9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRtZXNzYWdlX2lkKSk7CiRyb3djbGFzcz0gJ3JvdzEnOwokcm93YXJyYXk9IGFycmF5ICgpOwppZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCiAgewoJJGFkaF9vcHMgPSBuZXcgQXNzb19hZGhlcmVudHM7CiAgICB3aGlsZSAoJHJvdz0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CgkkYXJkYXRlID0gJHJvd1snYXJkYXRlJ107CgkkYXJ0aW1lID0gJHJvd1snYXJ0aW1lJ107CgkkaWRfZW52b2kgPSAkcm93WydpZF9lbnZvaSddOwoJJG9uZXJvdz0gbmV3IFN0ZENsYXNzKCk7Cgkkb25lcm93LT5yb3djbGFzcz0gJHJvd2NsYXNzOwoJJG9uZXJvdy0+aWQ9ICRyb3dbJ2lkJ107Cgkkb25lcm93LT5tZXNzYWdlX2lkPSAkcm93WydtZXNzYWdlX2lkJ107Cgkkb25lcm93LT5yZWNpcGllbnRzID0kYWRoX29wcy0+Z2V0X25hbWUoJHJvd1sncmVjaXBpZW50cyddKTsKCWlmKCRhcmRhdGUgPT0gJycgfHwgVFJVRSA9PT0gaXNfbnVsbCgkYXJkYXRlKSkKCXsKCQkkb25lcm93LT5hcmRhdGUgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCdGYWxzZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7Ly8kcm93WydhcmRhdGUnXTsKCQkkb25lcm93LT5hcnRpbWUgPSAnJzsvLyRyb3dbJ2FydGltZSddOwoJfQoJZWxzZQoJewoJCSRvbmVyb3ctPmFyZGF0ZSA9ICRyb3dbJ2FyZGF0ZSddOwoJCSRvbmVyb3ctPmFydGltZSA9ICRyb3dbJ2FydGltZSddOwoJfQoJCgkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcz0gInJvdzIiIDogJHJvd2NsYXNzPSAicm93MSIpOwoJJHJvd2FycmF5W109ICRvbmVyb3c7CiAgICAgIH0KICB9CiRzbWFydHktPmFzc2lnbignbWVzc2FnZV9pZCcsICRtZXNzYWdlX2lkKTsKJHNtYXJ0eS0+YXNzaWduKCdpdGVtc2ZvdW5kJywgJHRoaXMtPkxhbmcoJ3Jlc3VsdHNmb3VuZHRleHQnKSk7CiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdzaG93X3JlY2lwaWVudHMudHBsJyk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/bitly.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEBmaWxlCiAqIFNpbXBsZSBQSFAgbGlicmFyeSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgdjMgYml0Lmx5IGFwaSAob25seSBkZWFscyB3aXRoCiAqIEpTT04gZm9ybWF0LCBidXQgc3VwcG9ydHMgbmV3IE9BdXRoIGVuZHBvaW50cykuCiAqIFJFUVVJUkVNRU5UUzogUEhQLCBDdXJsLCBKU09OCiAqIAogKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRmFsaWNvbi9CaXRseVBIUAogKiBAYXV0aG9yIEtldmluIE1hcnNoYWxsIDxpbmZvQGZhbGljb24uY29tPgogKi8KLyoqCiAqIFRoZSBVUkkgb2YgdGhlIHN0YW5kYXJkIGJpdGx5IHYzIEFQSS4KICovCmRlZmluZSgnYml0bHlfYXBpJywgJ2h0dHA6Ly9hcGkuYml0Lmx5L3YzLycpOwovKioKICogVGhlIFVSSSBvZiB0aGUgYml0bHkgT0F1dGggZW5kcG9pbnRzLgogKi8KZGVmaW5lKCdiaXRseV9vYXV0aF9hcGknLCAnaHR0cHM6Ly9hcGktc3NsLmJpdC5seS92My8nKTsKLyoqCiAqIFRoZSBVUkkgZm9yIE9BdXRoIGFjY2VzcyB0b2tlbiByZXF1ZXN0cy4KICovCmRlZmluZSgnYml0bHlfb2F1dGhfYWNjZXNzX3Rva2VuJywgJ2h0dHBzOi8vYXBpLXNzbC5iaXQubHkvb2F1dGgvJyk7Ci8qKgogKiBSZXR1cm5zIGFuIE9BdXRoIGFjY2VzcyB0b2tlbiBhcyB3ZWxsIGFzIEFQSSB1c2VycyBmb3IgYSBnaXZlbiBjb2RlLgogKgogKiBAcGFyYW0gJGNvZGUKICogICBUaGUgT0F1dGggdmVyaWZpY2F0aW9uIGNvZGUgYWNxdWlyZWQgdmlhIE9BdXRo4oCZcyB3ZWIgYXV0aGVudGljYXRpb24KICogICBwcm90b2NvbC4KICogQHBhcmFtICRyZWRpcmVjdAogKiAgIFRoZSBwYWdlIHRvIHdoaWNoIGEgdXNlciB3YXMgcmVkaXJlY3RlZCB1cG9uIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGluZy4KICogQHBhcmFtICRjbGllbnRfaWQKICogICBUaGUgY2xpZW50X2lkIGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqIEBwYXJhbSAkY2xpZW50X3NlY3JldAogKiAgIFRoZSBjbGllbnRfc2VjcmV0IGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqCiAqIEByZXR1cm4KICogICBBbiBhc3NvY2lhdGl2ZSBhcnJheSBjb250YWluaW5nOgogKiAgIC0gbG9naW46IFRoZSBjb3JyZXNwb25kaW5nIGJpdC5seSB1c2VycyB1c2VybmFtZS4KICogICAtIGFwaV9rZXk6IFRoZSBjb3JyZXNwb25kaW5nIGJpdC5seSB1c2VycyBBUEkga2V5LgogKiAgIC0gYWNjZXNzX3Rva2VuOiBUaGUgT0F1dGggYWNjZXNzIHRva2VuIGZvciBzcGVjaWZpZWQgdXNlci4KICoKICogQHNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvYml0bHktYXBpL3dpa2kvQXBpRG9jdW1lbnRhdGlvbiMvb2F1dGgvYWNjZXNzX3Rva2VuCiAqLwpmdW5jdGlvbiBiaXRseV9vYXV0aF9hY2Nlc3NfdG9rZW4oJGNvZGUsICRyZWRpcmVjdCwgJGNsaWVudF9pZCwgJGNsaWVudF9zZWNyZXQpIHsKICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgJHVybCA9IGJpdGx5X29hdXRoX2FjY2Vzc190b2tlbiAuICJhY2Nlc3NfdG9rZW4iOwogICRwYXJhbXMgPSBhcnJheSgpOwogICRwYXJhbXNbJ2NsaWVudF9pZCddID0gJGNsaWVudF9pZDsKICAkcGFyYW1zWydjbGllbnRfc2VjcmV0J10gPSAkY2xpZW50X3NlY3JldDsKICAkcGFyYW1zWydjb2RlJ10gPSAkY29kZTsKICAkcGFyYW1zWydyZWRpcmVjdF91cmknXSA9ICRyZWRpcmVjdDsKICAkb3V0cHV0ID0gYml0bHlfcG9zdF9jdXJsKCR1cmwsICRwYXJhbXMpOwogICRwYXJ0cyA9IGV4cGxvZGUoJyYnLCAkb3V0cHV0KTsKICBmb3JlYWNoICgkcGFydHMgYXMgJHBhcnQpIHsKICAgICRiaXRzID0gZXhwbG9kZSgnPScsICRwYXJ0KTsKICAgICRyZXN1bHRzWyRiaXRzWzBdXSA9ICRiaXRzWzFdOwogIH0KICByZXR1cm4gJHJlc3VsdHM7Cn0KLyoqCiAqIFJldHVybnMgYW4gT0F1dGggYWNjZXNzIHRva2VuIHZpYSB0aGUgdXNlcidzIGJpdC5seSBsb2dpbiBVc2VybmFtZSBhbmQgUGFzc3dvcmQKICoKICogQHBhcmFtICR1c2VybmFtZQogKiAgIFRoZSB1c2VyJ3MgQml0bHkgdXNlcm5hbWUKICogQHBhcmFtICRwYXNzd29yZAogKiAgIFRoZSB1c2VyJ3MgQml0bHkgcGFzc3dvcmQKICogQHBhcmFtICRjbGllbnRfaWQKICogICBUaGUgY2xpZW50X2lkIGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqIEBwYXJhbSAkY2xpZW50X3NlY3JldAogKiAgIFRoZSBjbGllbnRfc2VjcmV0IGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqCiAqIEByZXR1cm4KICogICBBbiBhc3NvY2lhdGl2ZSBhcnJheSBjb250YWluaW5nOgogKiAgIC0gYWNjZXNzX3Rva2VuOiBUaGUgT0F1dGggYWNjZXNzIHRva2VuIGZvciBzcGVjaWZpZWQgdXNlci4KICoKICovCiAKZnVuY3Rpb24gYml0bHlfb2F1dGhfYWNjZXNzX3Rva2VuX3ZpYV9wYXNzd29yZCgkdXNlcm5hbWUsICRwYXNzd29yZCwgJGNsaWVudF9pZCwgJGNsaWVudF9zZWNyZXQpIHsKICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgJHVybCA9IGJpdGx5X29hdXRoX2FjY2Vzc190b2tlbiAuICJhY2Nlc3NfdG9rZW4iOwogIAogICRoZWFkZXJzID0gYXJyYXkoKTsKICAkaGVhZGVyc1tdID0gJ0F1dGhvcml6YXRpb246IEJhc2ljICcuYmFzZTY0X2VuY29kZSgkY2xpZW50X2lkIC4gIjoiIC4gJGNsaWVudF9zZWNyZXQpOwogICAgCiAgJHBhcmFtcyA9IGFycmF5KCk7CiAgJHBhcmFtc1snZ3JhbnRfdHlwZSddID0gInBhc3N3b3JkIjsKICAkcGFyYW1zWyd1c2VybmFtZSddID0gJHVzZXJuYW1lOwogICRwYXJhbXNbJ3Bhc3N3b3JkJ10gPSAkcGFzc3dvcmQ7CiAgCiAgJG91dHB1dCA9IGJpdGx5X3Bvc3RfY3VybCgkdXJsLCAkcGFyYW1zLCAkaGVhZGVycyk7CiAgCiAgJGRlY29kZWRfb3V0cHV0ID0ganNvbl9kZWNvZGUoJG91dHB1dCwxKTsKICAkcmVzdWx0cyA9IGFycmF5KAogIAkiYWNjZXNzX3Rva2VuIiA9PiAkZGVjb2RlZF9vdXRwdXRbJ2FjY2Vzc190b2tlbiddCiAgKTsKICAKICByZXR1cm4gJHJlc3VsdHM7Cn0KLyoqCiAqIEZvcm1hdCBhIEdFVCBjYWxsIHRvIHRoZSBiaXQubHkgQVBJLgogKgogKiBAcGFyYW0gJGVuZHBvaW50CiAqICAgYml0Lmx5IEFQSSBlbmRwb2ludCB0byBjYWxsLgogKiBAcGFyYW0gJHBhcmFtcwogKiAgIGFzc29jaWF0aXZlIGFycmF5IG9mIHBhcmFtcyByZWxhdGVkIHRvIHRoaXMgY2FsbC4KICogQHBhcmFtICRjb21wbGV4CiAqICAgc2V0IHRvIHRydWUgaWYgcGFyYW1zIGluY2x1ZGVzIGFzc29jaWF0aXZlIGFycmF5cyBpdHNlbGYgKG9yIHVzaW5nIDxwaHA1KQogKgogKiBAcmV0dXJuCiAqICAgYXNzb2NpYXRpdmUgYXJyYXkgb2YgYml0Lmx5IHJlc3BvbnNlCiAqCiAqIEBzZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2JpdGx5LWFwaS93aWtpL0FwaURvY3VtZW50YXRpb24jL3YzL3ZhbGlkYXRlCiAqLwpmdW5jdGlvbiBiaXRseV9nZXQoJGVuZHBvaW50LCAkcGFyYW1zLCAkY29tcGxleD1mYWxzZSkgewogICRyZXN1bHQgPSBhcnJheSgpOwogIGlmICgkY29tcGxleCkgewogICAgJHVybF9wYXJhbXMgPSAiIjsKICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsKSB7CiAgICAgIGlmIChpc19hcnJheSgkdmFsKSkgewogICAgICAgIC8vIHdlIG5lZWQgdG8gZmxhdHRlbiB0aGlzIGludG8gb25lIHByb3BlciBjb21tYW5kCiAgICAgICAgJHJlY3MgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCR2YWwgYXMgJHJlYykgewogICAgICAgICAgJHRtcCA9IGV4cGxvZGUoJy8nLCAkcmVjKTsKICAgICAgICAgICR0bXAgPSBhcnJheV9yZXZlcnNlKCR0bXApOwogICAgICAgICAgYXJyYXlfcHVzaCgkcmVjcywgJHRtcFswXSk7CiAgICAgICAgfQogICAgICAgICR2YWwgPSBpbXBsb2RlKCcmJyAuICRrZXkgLiAnPScsICRyZWNzKTsKICAgICAgfQogICAgICAkdXJsX3BhcmFtcyAuPSAnJicgLiAka2V5IC4gIj0iIC4gJHZhbDsKICAgIH0KICAgICR1cmwgPSBiaXRseV9vYXV0aF9hcGkgLiAkZW5kcG9pbnQgLiAiPyIgLiBzdWJzdHIoJHVybF9wYXJhbXMsIDEpOwogIH0gZWxzZSB7CiAgICAkdXJsID0gYml0bHlfb2F1dGhfYXBpIC4gJGVuZHBvaW50IC4gIj8iIC4gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zKTsKICB9CiAgLy9lY2hvICR1cmwgLiAiXG4iOwogICRyZXN1bHQgPSBqc29uX2RlY29kZShiaXRseV9nZXRfY3VybCgkdXJsKSwgdHJ1ZSk7CiAgcmV0dXJuICRyZXN1bHQ7Cn0KLyoqCiAqIEZvcm1hdCBhIFBPU1QgY2FsbCB0byB0aGUgYml0Lmx5IEFQSS4KICoKICogQHBhcmFtICR1cmkKICogICBVUkkgdG8gY2FsbC4KICogQHBhcmFtICRmaWVsZHMKICogICBBcnJheSBvZiBmaWVsZHMgdG8gc2VuZC4KICovCmZ1bmN0aW9uIGJpdGx5X3Bvc3QoJGVuZHBvaW50LCAkcGFyYW1zKSB7CiAgJHJlc3VsdCA9IGFycmF5KCk7CiAgJHVybCA9IGJpdGx5X29hdXRoX2FwaSAuICRhcGlfZW5kcG9pbnQ7CiAgJG91dHB1dCA9IGpzb25fZGVjb2RlKGJpdGx5X3Bvc3RfY3VybCgkdXJsLCAkcGFyYW1zKSwgdHJ1ZSk7CiAgJHJlc3VsdCA9ICRvdXRwdXRbJ2RhdGEnXVtzdHJfcmVwbGFjZSgnLycsICdfJywgJGFwaV9lbmRwb2ludCldOwogICRyZXN1bHRbJ3N0YXR1c19jb2RlJ10gPSAkb3V0cHV0WydzdGF0dXNfY29kZSddOwogIHJldHVybiAkcmVzdWx0Owp9Ci8qKgogKiBNYWtlIGEgR0VUIGNhbGwgdG8gdGhlIGJpdC5seSBBUEkuCiAqCiAqIEBwYXJhbSAkdXJpCiAqICAgVVJJIHRvIGNhbGwuCiAqLwpmdW5jdGlvbiBiaXRseV9nZXRfY3VybCgkdXJpKSB7CiAgJG91dHB1dCA9ICIiOwogIHRyeSB7CiAgICAkY2ggPSBjdXJsX2luaXQoJHVyaSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCA0KTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMik7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgRkFMU0UpOwogICAgJG91dHB1dCA9IGN1cmxfZXhlYygkY2gpOwogIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogIH0KICByZXR1cm4gJG91dHB1dDsKfQovKioKICogTWFrZSBhIFBPU1QgY2FsbCB0byB0aGUgYml0Lmx5IEFQSS4KICoKICogQHBhcmFtICR1cmkKICogICBVUkkgdG8gY2FsbC4KICogQHBhcmFtICRmaWVsZHMKICogICBBcnJheSBvZiBmaWVsZHMgdG8gc2VuZC4KICovCmZ1bmN0aW9uIGJpdGx5X3Bvc3RfY3VybCgkdXJpLCAkZmllbGRzLCAkaGVhZGVyX2FycmF5ID0gYXJyYXkoKSkgewogICRvdXRwdXQgPSAiIjsKICAkZmllbGRzX3N0cmluZyA9ICIiOwogIGZvcmVhY2goJGZpZWxkcyBhcyAka2V5PT4kdmFsdWUpIHsgJGZpZWxkc19zdHJpbmcgLj0gJGtleS4nPScudXJsZW5jb2RlKCR2YWx1ZSkuJyYnOyB9CiAgcnRyaW0oJGZpZWxkc19zdHJpbmcsJyYnKTsKICB0cnkgewogICAgJGNoID0gY3VybF9pbml0KCR1cmkpOwogICAgCiAgICBpZihpc19hcnJheSgkaGVhZGVyX2FycmF5KSAmJiAhZW1wdHkoJGhlYWRlcl9hcnJheSkpewogICAgCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkaGVhZGVyX2FycmF5KTsKICAgIH0KICAgIAogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7CiAgICBjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QT1NULGNvdW50KCRmaWVsZHMpKTsKICAgIGN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1BPU1RGSUVMRFMsJGZpZWxkc19zdHJpbmcpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1RJTUVPVVQsIDIpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAyKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBGQUxTRSk7CiAgICAkb3V0cHV0ID0gY3VybF9leGVjKCRjaCk7CiAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgfQogIHJldHVybiAkb3V0cHV0Owp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/main.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KCQ0KCSQoIiNtZXNzYWdlX2NvbnRlbnQiKS5rZXl1cChmdW5jdGlvbigpeyBsb25ndWV1cj1jb21wdGVjYXJhY3RlcmVzKCk7IGlmKGxvbmd1ZXVyPD0xKXsgJCgiI25iX2NhcmFjdGVyZXMiKS5odG1sKGxvbmd1ZXVyKyIgY2FyYWN0w6hyZSIpO31lbHNleyAkKCIjbmJfY2FyYWN0ZXJlcyIpLmh0bWwobG9uZ3VldXIrIiBjYXJhY3TDqHJlcyIpOyB9fSkNCgkNCgkNCn0pOw0KDQoNCi8qKiBjb21wdGFnZSBkZSBjYXJhY3TDqHJlcyAqKi8NCmZ1bmN0aW9uIHN1YnN0cl9jb3VudCggaGF5c3RhY2ssIG5lZWRsZSwgb2Zmc2V0LCBsZW5ndGggKSB7DQoNCiAgICB2YXIgcG9zID0gMCwgY250ID0gMDsNCg0KICAgIGlmKGlzTmFOKG9mZnNldCkpIG9mZnNldCA9IDA7DQogICAgaWYoaXNOYU4obGVuZ3RoKSkgbGVuZ3RoID0gMDsNCiAgICBvZmZzZXQtLTsNCg0KICAgIHdoaWxlKCAob2Zmc2V0ID0gaGF5c3RhY2suaW5kZXhPZihuZWVkbGUsIG9mZnNldCsxKSkgIT0gLTEgKXsNCiAgICAgICAgaWYobGVuZ3RoID4gMCAmJiAob2Zmc2V0K25lZWRsZS5sZW5ndGgpID4gbGVuZ3RoKXsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgY250Kys7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gY250Ow0KfQ0KDQoNCg0KdmFyIG5ic21zPTA7DQpmdW5jdGlvbiBjb21wdGVjYXJhY3RlcmVzKCl7DQoJdmFyIG1lc3NhZ2U9JCgiI21lc3NhZ2VfY29udGVudCIpLnZhbCgpOw0KCW1lc3NhZ2U9bWVzc2FnZS5yZXBsYWNlKCfFkycsJ29lJyk7DQoJbWVzc2FnZT1tZXNzYWdlLnJlcGxhY2UoJ8KyJywnJyk7DQoJJCgiI21lc3NhZ2VfY29udGVudCIpLnZhbChtZXNzYWdlKTsNCgltZXNzYWdlPW1lc3NhZ2UucmVwbGFjZSgiI1VSTCMiLCJodHRwOi8vc2UxLmZyL3h4eHgiKS5yZXBsYWNlKCIjdXJsIyIsImh0dHA6Ly9zZTEuZnIveHh4eCIpOyANCgl2YXIgbG9uZ3VldXI9bWVzc2FnZS5sZW5ndGgrc3Vic3RyX2NvdW50KG1lc3NhZ2UsICJcbiIpOw0KDQoJcmV0dXJuIGxvbmd1ZXVyOwkNCn0NCg0KLyoqIGZpbiBjb21wdGFnZSBkZSBjYXJhdMOocmVzICoqLw==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAGUAeAB0ZHNjbGJvb2wBAAAAAAAAAAACAAAAAAAAAAEAAAABAAAQAGNsYm9vbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RhYmxlIFRlbm5pcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Bvc3QgSW5zdGFsbCBNZXNzYWdlLCBlLmcuLCBCZSBzdXJlIHRvIHNldCAiVXNlIFNrZWxldG9ucyIgcGVybWlzc2lvbnMgdG8gdXNlIHRoaXMgbW9kdWxlISc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUG9zdCBVbmluc3RhbGwgTWVzc2FnZSwgZS5nLiwgIkN1cnNlcyEgRm9pbGVkIEFnYWluISInOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1sncmVzdWx0c2ZvdW5kdGV4dCddID0gJ3JlY29yZHMgZm91bmQnOwokbGFuZ1snbGlua192aWV3J10gPSAnVmlldyBSZWNvcmQnOwokbGFuZ1snZWRpdCddID0gJ0VkaXQgUmVjb3JkJzsKJGxhbmdbJ3RpdGxlX251bV9yZWNvcmRzJ10gPSAnJXMgcmVjb3JkcyBmb3VuZC4nOwokbGFuZ1snYWRkX3JlY29yZCddID0gJ0FkZCBhIFJlY29yZCc7CiRsYW5nWydzYXZlZF9yZWNvcmQnXSA9ICdBZGQgYSBSZWNvcmQnOwokbGFuZ1snYWRkZWRfcmVjb3JkJ10gPSAnQWRkZWQgcmVjb3JkLic7CiRsYW5nWyd1cGRhdGVkX3JlY29yZCddID0gJ1JlY29yZCB1cGRhdGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9hbGxvd19hZGQnXSA9ICdVc2VycyBtYXkgYWRkIHJlY29yZHM/JzsKJGxhbmdbJ3RpdGxlX2FsbG93X2FkZF9oZWxwJ10gPSAnQ2xpY2sgaGVyZSB0byBhbGxvdyB1c2VycyB0byBhZGQgcmVjb3Jkcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX2dlbmVyYWwnXSA9ICdHZW5lcmFsIEluZm8nOwokbGFuZ1sndGl0bGVfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWyd0aXRsZV9leHBsYW5hdGlvbiddID0gJ0xvbmcgRGVzY3JpcHRpb24nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ2Rhc2hfcmVjb3JkX2NvdW50J10gPSAnVGhpcyBtb2R1bGUgaGFuZGxlcyAlcyByZWNvcmRzJzsKJGxhbmdbJ2FsZXJ0X25vX3JlY29yZHMnXSA9ICdUaGVyZSBoYXZlIG5vdCBiZWVuIGFueSByZWNvcmRzIGFkZGVkIGluIHRoZSBTa2VsZXRvbiBtb2R1bGUhJzsKJGxhbmdbJ2hlbHBfc2tlbGV0b25faWQnXSA9ICdJbnRlcm5hbGx5IGlkZW50aWZpZXIgZm9yIHNlbGVjdGluZyByZWNvcmRzJzsKJGxhbmdbJ2hlbHBfY29kZV9jb21wZXQnXSA9ICdDZSBjb2RlIHNlIHRyb3V2ZSBkYW5zIGxlcyByw6lzdWx0YXRzIEZGVFQnOwokbGFuZ1snaGVscF9kZXNjcmlwdGlvbiddID0gJ0ludGVybmFsIHBhcmFtZXRlciB1c2VkIHRvIHBhc3MgZGVzY3JpcHRpb24gaW5mbyB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZWNvcmQnOwokbGFuZ1snaGVscF9leHBsYW5hdGlvbiddID0gJ0ludGVybmFsIHBhcmFtZXRlciB1c2VkIHRvIHBhc3MgZXhwbGFuYXRpb24gaW5mbyB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZWNvcmQnOwokbGFuZ1snaGVscF9tb2R1bGVfbWVzc2FnZSddID0gJ0ludGVybmFsbHkgdXNlZCBwYXJhbWV0ZXIgZm9yIHBhc3NpbmcgbWVzc2FnZXMgdG8gdXNlcic7CiRsYW5nWydldmVudF9pbmZvX09uU2tlbGV0b25QcmVmZXJlbmNlQ2hhbmdlJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gIHRoZSBwcmVmZXJlbmNlcyB0byB0aGUgU2tlbGV0b24gTW9kdWxlIGdldCBjaGFuZ2VkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Ta2VsZXRvblByZWZlcmVuY2VDaGFuZ2UnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiB0aGUgcHJlZmVyZW5jZXMgdG8gdGhlIFNrZWxldG9uIE1vZHVsZSBnZXQgY2hhbmdlZDwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+YWxsb3dfYWRkPC9lbT4gLSBUaGUgbmV3IHNldHRpbmcgb2YgdGhlICJBbGxvdyBBZGQiIHByZWZlcmVuY2U7IGJvb2xlYW48L2xpPgo8L3VsPiAKJzsKCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NlIG1vZHVsZSBjYWxjdWxlIHZvcyBwb2ludHMgRkZUVC4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+QmllbnZlbnVlIGRhbnMgbGUgbW9kdWxlIFBpbmc8L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMC4xYmV0YTMsIE5vdiAyMDE0IFNjIEFtw6lsaW9yYXRpb25zIGR1IGZyb250LW9mZmljZSBldCBkw6lib2d1YWdlIGR1IGJhY2s8L2xpPgo8dWw+CiAgIDxsaT5NaXNlIG5lIHBsYWNlIGR1IGZyb250LW9mZmljZS48L2xpPgogICA8bGk+QW3DqWxpb3JhdGlvbnMgZHUgYmFjay1vZmZpY2UgZXQgY29ycmVjdGlvbnMgZGUgYnVncy48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4KPHA+Q2UgbW9kdWxlIHLDqWN1cMOocmUgbGVzIHLDqXN1bHRhdHMgZGUgdm90cmUgY2x1YiBldCByw6lhbGlzZSBkZXMgdHJhaXRlbWVudHMgYWZpbiBkZSBsZXMgZGlzcG9zZXIgc3VyIHZvdHJlIHNpdGUgaW50ZXJuZXQuPC9wPgo8aDM+Q29tbWVudCBsXCd1dGlsaXNlciA/PC9oMz4KPHA+TGUgdGFnIHBhciBkw6lmYXV0IGVzdCBjZWx1aS1jaSB7Y21zX21vZHVsZSBtb2R1bGU9XCdQaW5nXCd9PC9wPgo8aDM+U3VwcG9ydDwvaDM+Cjx1bD4KPGxpPlBvdXIgb2J0ZW5pciBsYSBkZXJuacOocmUgdmVyc2lvbiBvZmZpY2llbGxlLCBGQVFzLCBvdSBwb3VyIHNpZ25hbGVyIHVuIGJ1ZywgZmFpcmUgdW5lIGRlbWFuZGUgZFwnYW3DqWxpb3JhdGlvbnMsIG1lcmNpIGRlIGNvbnN1bHRlciBsYSBmb3JnZSBkdSBtb2R1bGUgw6AgY2V0dGUgYWRyZXNzZSA6IAo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3BpbmcvIj5QaW5nPC9hPi48L2xpPgo8L3VsPgo8cD5DZSBtb2R1bGUgZXN0IGZvdXJuaSBzb3VzIGxpY2VuY2UgR1BMIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi5Qb3VyIHV0aWxpc2VyIGxlIGxvZ2ljaWVsLCB2b3VzIGRldmV6IGVuICBhY2NlcHRlciBsZXMgdGVybWVzPC9wPgoKPGgzPkNvcHlyaWdodCBldCBMaWNlbmNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDE0LCBDbGF1ZGUgU2lvaGFuIDxhIGhyZWY9Im1haWx0bzpjbGF1ZGVAYWdpLXdlYmNvbnNlaWwuZnIiPmNsYXVkZUBhZ2ktd2ViY29uc2VpbC5mcjwvYT4uIFRvdXMgZHJvaXRzIHLDqXNlcnbDqXMuPC9wPgonOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjYyZlYWN1dGU7cyBJbnRlcmRpdC4gViZlYWN1dGU7cmlmaWVyIHZvcyBwZXJtaXNzaW9ucy4nOwokbGFuZ1snYWRkJ10gPSAiQWpvdXRlciI7CiRsYW5nWydhZGRtYW51YWxseSddID0gImFqb3V0ZXIgbWFudWVsbGVtZW50IjsKJGxhbmdbJ2FkZF9jb250YWN0J10gPSAnQWpvdXRlciB1biBjb250YWN0JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnXSA9ICdFdGVzIHZvdXMgY2VydGFpbiBkZSBzdXBwcmltZXIgdG91dGUgbGEgc8OpbGVjdGlvbiA/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfYWN0aW9ubXVsdGlwbGUnXSA9ICdFdGVzIHZvdXMgY2VydGFpbiBkZSBmYWlyZSBjZXR0ZSBhY3Rpb24gcG91ciB0b3V0ZSBsYSBzw6lsZWN0aW9uID8nOwokbGFuZ1snYXBwbHlfdG9fc2VsZWN0aW9uJ10gPSAnQXBwbGlxdWVyIMOgIGxhIHPDqWxlY3Rpb24gPyc7CiRsYW5nWydhZGRfcmVjb3JkJ10gPSAnQWpvdXRlciB1biBlbnJlZ2lzdHJlbWVudCc7CiRsYW5nWydhZGRlZF9yZWNvcmQnXSA9ICdFbnJlZ2lzdHJlbWVudCBham91dCZlYWN1dGU7JzsKJGxhbmdbJ2FsZXJ0X25vX3JlY29yZHMnXSA9ICdJbCBuJiMwMzk7eSBhIHBhcyBldSBkJiMwMzk7ZW5yZWdpc3RyZW1lbnRzIGFqb3V0JmVhY3V0ZTtzIGRhbnMgbGUgbW9kdWxlISc7CiRsYW5nWydiYWNrJ10gPSAnUmV0b3VyJzsKJGxhbmdbJ2NyZWF0ZV9jb250YWN0J10gPSAnQWpvdXRlciB1biBjb250YWN0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZXInOwokbGFuZ1snZGFzaF9yZWNvcmRfY291bnQnXSA9ICdDZSBtb2R1bGUgZyZlZ3JhdmU7cmUgJXMgZW5yZWdpc3RyZW1lbnRzJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1N1cHByaW1lcic7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICdTdXBwcmltZXIgbGEgc8OpbGVjdGlvbic7CiRsYW5nWydkZWxldGVfY29uZmlybSddID0gJ1ZvdWxleiB2b3VzIHN1cHByaW1lciBjZXQgZW5yZWdpc3RyZW1lbnQgPyc7CiRsYW5nWydkdXBsaWNhdGUnXSA9ICdEdXBsaXF1ZXInOwokbGFuZ1snZWRpdCddID0gJ0VkaXRlciBsJiMwMzk7ZW5yZWdpc3RyZW1lbnQnOwokbGFuZ1snZW5hYmxlJ10gPSAnYWN0aXZlcic7CiRsYW5nWydlcnJvciddID0gJ0VycmV1ciAhJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1BhcmFtZXRyZXMgbWFucXVhbnRzJzsKJGxhbmdbJ2ZpbHRyZXMnXSA9ICdBcHBsaXF1ZXIgbGUgZmlsdHJlJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Fzc28gU01TJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGluc3RhbGwmZWFjdXRlOyBlbiB2ZXJzaW9uICVzLic7CiRsYW5nWydqb3VldXInXSA9ICdKb3VldXInOwokbGFuZ1snbG9uZ19pbXBvcnQnXSA9ICJDZXR0ZSBvcMOpcmF0aW9uIHBldXQgZHVyZXIgcGx1c2lldXJzIG1pbnV0ZXMgISI7CiRsYW5nWydsaW5rX3ZpZXcnXSA9ICdWb2lyIGwmIzAzOTtlbnJlZ2lzdHJlbWVudCc7CiRsYW5nWydsaXN0cyddID0gJ0xpc3Rlcyc7CiRsYW5nWydsaXN0c2ZvdW5kdGV4dCddID0gJ2xpc3RlKHMpIHRyb3V2JmVhY3V0ZTtlKHMpJzsKJGxhbmdbJ21lc3NhZ2VzJ10gPSAnbWVzc2FnZXMnOwokbGFuZ1snbWlzc2luZ19wYXJhbWV0ZXJzJ10gPSAnUGFyYW3DqHRyZShzKSBtYW5xdWFudChzKSc7CiRsYW5nWyduYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnVm91cyBuXCdhdmV6IHBhcyBsYSBwZXJtaXNzaW9uIGRcJ2FjY8OpZGVyJzsKJGxhbmdbJ25vJ10gPSAnTm9uJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1ByJmVhY3V0ZTtmZXJlbmNlcyBkdSBtb2R1bGUgbWlzZSAmYWdyYXZlOyBqb3VyLic7CiRsYW5nWydwb2ludHMnXSA9ICdQb2ludHMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNZXJjaSBkXGF2b2lyIGluc3RhbGzDqSBjZSBtb2R1bGUgISBDb25zZWlsIDogc295ZXogc3VyIGQmIzAzOTthdHRyaWJ1ZXIgbGVzIHBlcm1pc3Npb25zIHBvdXIgdXRpbGlzZXIgY2UgbW9kdWxlICEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RpYW50cmUgISBtb2R1bGUgZMOpc2luc3RhbGzDqSc7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnXDMxMnRlcy12b3VzIHNcMzczciBkZSB2b3Vsb2lyIGRcMzUxc2luc3RhbGxlciBjZSBzdXBlciBtb2R1bGUgPyc7CiRsYW5nWydyZXN1bHRzZm91bmQnXSA9ICdyw6lzdWx0YXQocyknOwokbGFuZ1sncmVzdWx0c2ZvdW5kdGV4dCddID0gJ3ImZWFjdXRlO3N1bHRhdChzKSB0cm91diZlYWN1dGU7KHMpJzsKJGxhbmdbJ3Jlc3VsdGZvdW5kdGV4dCddID0gJ3ImZWFjdXRlO3N1bHRhdChzKSB0cm91diZlYWN1dGU7KHMpJzsKJGxhbmdbJ3JldHJpZXZlX3VzZXJzX2NvbmZpcm0nXSA9ICdDb25maXJtZXogdm90cmUgZGVtYW5kZSAhJzsKJGxhbmdbJ3NhdmVkX3JlY29yZCddID0gJ0VucmVnaXN0cmVtZW50cyBPayc7CiRsYW5nWydzdWJtaXQnXSA9ICdTYXV2ZWdhcmRlcic7CiRsYW5nWydzdWJtaXRhc25ldyddID0gJ0Fqb3V0ZXIgY29tbWUgbm91dmVhdSc7CiRsYW5nWyd0aXRsZV9hbGxvd19hZGQnXSA9ICdMZXMgdXRpbGlzYXRldXJzIHBldXZlbnQgYWpvdXRlciBkZXMgZW5yZWdpc3RyZW1lbnRzID8nOwokbGFuZ1sndGl0bGVfYWxsb3dfYWRkX2hlbHAnXSA9ICdDbGlxdWV6IGljaSBwb3VyIHBlcm1ldHRyZSBhdXggdXRpbGlzYXRldXJzIGQmIzAzOTtham91dGVyIGRlcyBlbnJlZ2lzdHJlbWVudHMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByJmVhY3V0ZTtmZXJlbmNlcyBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfZ2VuZXJhbCddID0gJ0luZm9ybWF0aW9uIGcmZWFjdXRlO24mZWFjdXRlO3JhbGVzJzsKJGxhbmdbJ3RpdGxlX2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24gJzsKJGxhbmdbJ3RpdGxlX2V4cGxhbmF0aW9uJ10gPSAnTG9uZ3VlIERlc2NyaXB0aW9uJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lYXUgZCYjMDM5O2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZSc7CiRsYW5nWyd0aXRsZV9udW1fcmVjb3JkcyddID0gJyVzIGVucmVnaXN0cmVtZW50cyB0cm91diZlYWN1dGU7cy4nOwoKJGxhbmdbJ3VuYWJsZSddID0gJ0TDqXNhY3RpdmVyJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTGUgbW9kdWxlIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOyBhdmVjIHN1Y2MmZWdyYXZlO3MuJzsKJGxhbmdbJ3VwZGF0ZWRfcmVjb3JkJ10gPSAnRW5yZWdpc3RyZW1lbnQgbWlzICZhZ3JhdmU7IGpvdXIuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnbGUgbW9kdWxlIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgbWlzICZhZ3JhdmU7IGpvdXIgJmFncmF2ZTsgbGEgJXMuJzsKJGxhbmdbJ3VwbG9hZF9yZXN1bHQnXSA9ICdUw6lsw6ljaGFyZ2VyIGxlIHLDqXN1bHRhdCc7CiRsYW5nWyd1c2VycyddID0gJ3V0aWxpc2F0ZXVycyc7CgokbGFuZ1sndmlld19jb250YWN0cyddID0gJ1ZvaXIgbGVzIGNvbnRhY3RzJzsKJGxhbmdbJ3llcyddID0gJ091aSc7CiRsYW5nWydoZWxwX2Rlc2NyaXB0aW9uJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgaW50ZXJuZXMgdXRpbGlzJmVhY3V0ZTtzIGxvcnMgZGUgbGEgY3ImZWFjdXRlO2F0aW9uIGQmIzAzOTt1biBub3V2ZWwgZW5yZWdpc3RyZW1lbnQnOwokbGFuZ1snaGVscF9leHBsYW5hdGlvbiddID0gJ1BhcmFtJmVncmF2ZTt0cmUgaW50ZXJuZSB1dGlsaXMmZWFjdXRlOyBwb3VyIHBhc3NlciBkZXMgaW5mb3JtYXRpb25zIGV4cGxpY2F0aXZlcyBsb3JzcXVlIGwmIzAzOTtvbiBjciZlYWN1dGU7JmVhY3V0ZTsgb3UgbCYjMDM5O29uIG1ldCAmYWdyYXZlOyBqb3VyIHVuIGVucmVnaXN0cmVtZW50JzsKJGxhbmdbJ2hlbHBfbW9kdWxlX21lc3NhZ2UnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlIGludGVybmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBsYSB0cmFuc21pc3Npb24gZGVzIG1lc3NhZ2VzICZhZ3JhdmU7IGwmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWydoZWxwX2FmZmljaGVfY2x1Yl91bmlxdWVtZW50J10gPSAiQ2hvaXNpc3NleiBkJ2FmZmljaGVyIHRvdXMgbGVzIHLDqXN1bHRhdHMgKHkgY29tcHJpcyBjZXV4IGRlcyDDqXF1aXBlcyBhZHZlcnNlcykgb3Ugc2V1bGVtZW50IGNldXggZGVzIMOpcXVpcGVzIGRlIHZvdHJlIGNsdWIiOwokbGFuZ1snZXZlbnRfaW5mb19PblNrZWxldG9uUHJlZmVyZW5jZUNoYW5nZSddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBsb3JzcXVlIGxlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzIGR1IG1vZHVsZSAgc29udCBjaGFuZyZlYWN1dGU7ZXMnOwokbGFuZ1snZXZlbnRfaGVscF9PblNrZWxldG9uUHJlZmVyZW5jZUNoYW5nZSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIHRoZSBwcmVmZXJlbmNlcyB0byB0aGUgU2tlbGV0b24gTW9kdWxlIGdldCBjaGFuZ2VkPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT5hbGxvd19hZGQ8L2VtPiAtIFRoZSBuZXcgc2V0dGluZyBvZiB0aGUgJnF1b3Q7QWxsb3cgQWRkJnF1b3Q7IHByZWZlcmVuY2U7IGJvb2xlYW48L2xpPgo8L3VsPiAKJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW52b3llciBkZXMgU01TLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CaWVudmVudWUgZGFucyBsZSBtb2R1bGUgZFwnZW52b2kgZGUgU01TPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT4wLjEgcHJlbWnDqHJlIHJlbGVhc2UgZHUgbW9kdWxlPC9saT4KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5RdWUgZmFpdCBjZSBtb2R1bGUgPzwvaDM+CjxwPkNlIG1vZHVsZSB2b3VzIHBlcm1ldCBkXCdlbnZveWVyIGRlcyBzbXMgdmlhIGxcJ0FQSSBkZSBzbXNlbnZvaSAuPC9wPgo8aDM+Q29tbWVudCBsXCd1dGlsaXNlciA/PC9oMz4KPGgyPlByZW1pw6hyZSB1dGlsaXNhdGlvbjwvaDI+CjxvbD48bGk+Vm91cyBkZXZleiBkXCdhYm9yZCBzb3VzY3JpcmUgdW4gYWJvbm5lbWVudCBjaGV6IHNtc2Vudm9pIChodHRwOi8vd3d3LnNtc2Vudm9pLmZyKS4gUmVuc2VpZ25leiB2b3MgaWRlbnRpZmlhbnRzIHNtc2Vudm9pIGRhbnMgbFwnb25nbGV0ICJDb25maWd1cmF0aW9uIi4gCkNlIG1vZHVsZSBlc3QgZMOpcGVuZGFudCBkdSBtb2R1bGUgQWRow6lyZW50cy48L2xpPjwvb2w+CjxoMz5TdXBwb3J0PC9oMz4KPHVsPgo8bGk+UG91ciBvYnRlbmlyIGxhIGRlcm5pw6hyZSB2ZXJzaW9uIGVuIGNvdXJzIChhdmFudCByZWxlYXNlIG9mZmljaWVsbGUpCjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zaW9oYW4vc21zIj5WZXJzaW9uIGdpdGh1YjwvYT4uPC9saT4KPGxpPlN1aXZleiBBc3NvU2ltcGxlIHN1ciBUd2l0dGVyIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vQXNzb1NpbXBsZSIgdGFyZ2V0PSJfYmxhbmsiPkBBc3NvU2ltcGxlPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vQXNzb1NpbXBsZTEvIiB0YXJnZXQ9Il9ibGFuayI+RmFjZWJvb2s8L2E+PC9saT4KPGxpPkVuZmluLCB2b3VzIHBvdXZleiBhdXNzaSBub3VzIGVudm95ZXIgdW4gbWFpbC48L2xpPiAgCjwvdWw+CjxwPkVuIHRhbnQgcXVlIGxpY2VuY2UgR1BMLCBjZSBtb2R1bGUgZXN0IGxpdnLDqSB0ZWwgcXVlbC4gTWVyY2kgZGUgbGlyZSBsZSB0ZXh0ZSBjb21wbGV0IGRlIGxhIGxpY2Vuc2UgcG91ciB1bmUgaW5mb3JtYXRpb24gY29tcGzDqnRlLjwvcD4KPGgzPkNvcHlyaWdodCBldCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAxNCwgIDxhIGhyZWY9Im1haWx0bzpjb250YWN0QGFzc28tc2ltcGxlLmZyIj5Bc3NvU2ltcGxlPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+CjxwPkNlIG1vZHVsZSBlc3Qgc291cyBsaWNlbmNlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gVm91cyBkZXZleiBhY2NlcHRlciBsYSBsaWNlbmNlIGF2YW50IGRcJ3V0aWxpc2VyIGNlIG1vZHVsZS48L3A+CjxwPkNlIG1vZHVsZSBhIMOpdMOpIGRpc3RyaWJ1w6kgZGFucyBsXCdlc3BvaXIgZFwnw6p0cmUgdXRpbGUsIG1haXMgc2FucwpBVUNVTkUgR0FSQU5USUUuIElsIHZvdXMgYXBwYXJ0aWVudCBkZSBsZSB0ZXN0ZXIgYXZhbnQgdG91dGUgbWlzZSBlbgpwcm9kdWN0aW9uLCBxdWUgY2Ugc29pdCBkYW5zIGxlIGNhZHJlIGRcJ3VuZSBub3V2ZWxsZSBpbnN0YWxsYXRpb24gb3UKZFwndW5lIG1pc2Ugw6Agam91ciBkdSBtb2R1bGUuIExcJ2F1dGV1ciBkdSBtb2R1bGUgbmUgcG91cnJhaXQgw6p0cmUgdGVudQpwb3VyIHJlc3BvbnNhYmxlIGRlIHRvdXQgZHlzZm9uY3Rpb25uZW1lbnQgZHUgc2l0ZSBwcm92ZW5hbnQgZGUgY2UKbW9kdWxlLiBQb3VyIHBsdXMgZFwnaW5mb3JtYXRpb25zLCA8YQpocmVmPVwiaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29uc3VsdGV6CmxhIGxpY2VuY2UgR05VIEdQTDwvYT4uPC9wPgonOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.bitly.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJpdGx5IEFQSSBDbGllbnQuCiAqCiAqIExJQ0VOU0U6IEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIHYyLjAsIHNlZSBMSUNFTlNFCiAqCiAqIEBwYWNrYWdlICAgIEJpdGx5CiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoYykgMjAxMyBCaXRseSBJbmMuCiAqIEBsaWNlbnNlICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKiBAdmVyc2lvbiAgICAwLjEuMAogKiBAbGluayAgICAgICBodHRwczovL2dpdGh1Yi5jb20vYml0bHkvYml0bHktYXBpLXBocAogKi8KCi8qKgogKiBCYXNlIGNsYXNzIGZvciBCaXRseSBjbGllbnQgZXJyb3JzLgogKi8KY2xhc3MgQml0bHlFcnJvciBleHRlbmRzIEV4Y2VwdGlvbgp7fQoKCi8qKgogKiBSYWlzZWQgd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIEFQSSByZXN1bHRzIGluIGFuIGVycm9yLgogKi8KY2xhc3MgQml0bHlBUElFcnJvciBleHRlbmRzIEJpdGx5RXJyb3IKe30KCi8qKgogKiBCdWlsZCBhIHF1ZXJ5IHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIHBhcmFtID0+IHZhbHVlcy4gSGFuZGxlCiAqIG11bHRpcGxlIHZhbHVlcyBjb3JyZWN0bHkuCiAqCiAqIFBIUCdzIGJ1aWx0LWluIGh0dHBfYnVpbGRfcXVlcnkgZG9lcyB0aGUgaW5zYW5lIHRoaW5nIG9mIGNvbnZlcnRpbmcKICogcGFyYW0gbmFtZXMgd2hlbiBnaXZlbiBhbiBhcnJheSB2YWx1ZSwgd2hpY2ggaXMgb25seSBjb3JyZWN0IGZvciBQSFAKICogc2VydmVycy4gVGhpcyBidWlsZHMgY29ycmVjdCBxdWVyeSBzdHJpbmdzIGdpdmVuIGEgc21hbGxlciBzZXQgb2YKICogYWxsb3dhYmxlIGlucHV0cy4gT25seSBvbmUgbGV2ZWwgb2YgbmVzdGluZyBpcyBPSywgZS5nLjoKICoKICogICAgICRkYXRhID0gYXJyYXkoCiAqICAgICAgICAgJ2ZvbycgPT4gJ0ZPTycsCiAqICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJzEnLCAnMicsICczJykKICogICAgICk7CiAqICAgICBlY2hvIGJ1aWxkX3BhcmFtcygkZGF0YSk7CiAqICAgICAvLyBmb289Rk9PJmJhcj0xJmJhcj0yJmJhcj0zCiAqCiAqIEBpbnRlcm5hbAogKgogKiBAcGFyYW0gYXJyYXkgJHBhcmFtcwogKgogKiBAcmV0dXJuIHN0cmluZwogKi8KZnVuY3Rpb24gYnVpbGRfcXVlcnkoQXJyYXkgJHBhcmFtcykgewogICAgJHJldCA9IGFycmF5KCk7CiAgICAkZm10ID0gJyVzPSVzJzsKICAgICRzZXBhcmF0b3IgPSAnJic7CiAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrID0+ICR2KSB7CiAgICAgICAgaWYgKGlzX2FycmF5KCR2KSkgewogICAgICAgICAgICBmb3JlYWNoICgkdiBhcyAkX3YpIHsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHJldCwgc3ByaW50ZigkZm10LCAkaywgdXJsZW5jb2RlKCRfdikpKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFycmF5X3B1c2goJHJldCwgc3ByaW50ZigkZm10LCAkaywgdXJsZW5jb2RlKCR2KSkpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBpbXBsb2RlKCRzZXBhcmF0b3IsICRyZXQpOwp9CgoKLyoqCiAqIEEgcG9zc2libHktYXV0aGVudGljYXRlZCBjb25uZWN0aW9uIHRvIHRoZSBCaXRseSBBUEkuCiAqLwpjbGFzcyBCaXRseQp7CiAgICAvKioKICAgICAqIFRoZSBhcHBsaWNhdGlvbidzIE9BdXRoMiBjbGllbnQgSUQuCiAgICAgKgogICAgICogQHR5cGUgc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljICRjbGllbnRJZCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgYXBwbGljYXRpb24ncyBPQXV0aDIgY2xpZW50IHNlY3JldC4KICAgICAqCiAgICAgKiBAdHlwZSBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgJGNsaWVudFNlY3JldCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgdXNlciBvciBhcHBsaWNhdGlvbidzIE9BdXRoMiBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHR5cGUgc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljICRhY2Nlc3NUb2tlbiA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgQVBJIGhvc3RuYW1lLgogICAgICoKICAgICAqIEB0eXBlIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJGFwaVVybCA9ICdodHRwczovL2FwaS1zc2wuYml0bHkuY29tLyc7CgogICAgLyoqCiAgICAgKiBUaGUgYXBwbGljYXRpb24ncyB1c2VyIGFnZW50LgogICAgICoKICAgICAqIEB0eXBlIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyAkdXNlckFnZW50ID0gbnVsbDsKCiAgICAvKioKICAgICAqIFRpbWVvdXQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBCaXRseS4KICAgICAqCiAgICAgKiBAdHlwZSBpbnQKICAgICAqLwogICAgcHVibGljICR0aW1lb3V0ID0gNDsKCiAgICAvKioKICAgICAqIFRpbWVvdXQgZm9yIGNvbm5lY3RpbmcgdG8gQml0bHkuCiAgICAgKgogICAgICogQHR5cGUgaW50CiAgICAgKi8KICAgIHB1YmxpYyAkY29ubmVjdFRpbWVvdXQgPSAyOwoKICAgIC8qKgogICAgICogQHZhciBib29sCiAgICAgKi8KICAgIHByaXZhdGUgJGlzSVB2NkRpc2FibGVkID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgQml0bHkgQVBJIGNsaWVudCB3aXRoIHRoZSBnaXZlbiBjcmVkZW50aWFscy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGllbnRJZAogICAgICogIChPcHRpb25hbCkgVGhlIGFwcGxpY2F0aW9uJ3MgcmVnaXN0ZXJlZCBCaXRseSBjbGllbnQgSUQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGllbnRTZWNyZXQKICAgICAqICAoT3B0aW9uYWwpIFRoZSBhcHBsaWNhdGlvbidzIHJlZ2lzdGVyZWQgQml0bHkgY2xpZW50IHNlY3JldC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjY2Vzc1Rva2VuCiAgICAgKiAgKE9wdGlvbmFsKSBUaGUgYXBwbGljYXRpb24gb3IgY3VycmVudCB1c2VyJ3MgYWNjZXNzIHRva2VuLiBOZWNlc3NhcnkKICAgICAqICBmb3IgbW9zdCBBUEkgbWV0aG9kcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIEJpdGx5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9hdXRoZW50aWNhdGlvbi5odG1sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2xpZW50SWQ9bnVsbCwgJGNsaWVudFNlY3JldD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhY2Nlc3NUb2tlbj1udWxsKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnRJZCA9ICRjbGllbnRJZDsKICAgICAgICAkdGhpcy0+Y2xpZW50U2VjcmV0ID0gJGNsaWVudFNlY3JldDsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkYWNjZXNzVG9rZW47CiAgICAgICAgJHRoaXMtPnVzZXJBZ2VudCA9ICdQSFAvJyAuIHBocHZlcnNpb24oKSAuICcgYml0bHlfYXBpLzAuMS4wJzsKICAgIH0KCiAgICAvKioKICAgICAqIEdpdmVuIGFuIE9BdXRoMiBhdXRoIGNvZGUsIGdldCBhbiBhY2Nlc3MgdG9rZW4gZnJvbSBCaXRseS4KICAgICAqCiAgICAgKiBFeGNoYW5nZXMgYW4gYXV0aCBjb2RlIGZvciBhbiBhY2Nlc3MgdG9rZW4sIHNldHMgdGhlIGFjY2VzcyB0b2tlbiBvbgogICAgICogdGhpcyBjbGllbnQgaW5zdGFuY2UsIGFuZCByZXR1cm5zIHRoZSB0b2tlbi4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2RlCiAgICAgKiAgQXV0aG9yaXphdGlvbiBjb2RlIGZyb20gQml0bHkuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWRpcmVjdFVyaQogICAgICogIFRoZSBVUkkgdG8gd2hpY2ggdGhlIHVzZXIgd2FzIHJlZGlyZWN0ZWQgYWZ0ZXIgYXV0aGVudGljYXRpbmcuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2F1dGhlbnRpY2F0aW9uLmh0bWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2Vzc1Rva2VuKCRjb2RlLCAkcmVkaXJlY3RVcmkpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdjb2RlJyA9PiAkY29kZSwgJ3JlZGlyZWN0X3VyaScgPT4gJHJlZGlyZWN0VXJpLAogICAgICAgICAgICAgICAgICAgICAgICAnY2xpZW50X2lkJyA9PiAkdGhpcy0+Y2xpZW50SWQsCiAgICAgICAgICAgICAgICAgICAgICAgICdjbGllbnRfc2VjcmV0JyA9PiAkdGhpcy0+Y2xpZW50U2VjcmV0KTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ29hdXRoL2FjY2Vzc190b2tlbicsICRwYXJhbXMsIHRydWUsIGZhbHNlKTsKICAgICAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAgICAgcGFyc2Vfc3RyKCRyZXN1bHQsICRkYXRhKTsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkZGF0YVsnYWNjZXNzX3Rva2VuJ107CiAgICAgICAgcmV0dXJuICRkYXRhWydhY2Nlc3NfdG9rZW4nXTsKICAgIH0KCiAgICAvKioKICAgICAqIEV4cGFuZCBhIHNob3J0IFVSTCBvciBoYXNoLgogICAgICoKICAgICAqIE9uZSBwYXJhbWV0ZXIgbXVzdCBiZSBzcGVjaWZpZWQuIElmIGJvdGggYXJlIHNwZWNpZmllZCwgdGhlIHNob3J0IFVSTAogICAgICogaGFzIHByZWNlZGVuY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2hvcnRVcmwKICAgICAqICAoT3B0aW9uYWwpIEEgZnVsbCBiaXRseSBzaG9ydCBVUkwsIGUuZy4gImh0dHA6Ly9iaXQubHkvMTIzNCIKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhhc2gKICAgICAqICAoT3B0aW9uYWwpIFRoZSBoYXNoIGNvbXBvbmVudCBvZiBhIGJpdGx5IHNob3J0IFVSTCwgZS5nLiAiMTIzNCIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX2V4cGFuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhwYW5kKCRzaG9ydFVybD1udWxsLCAkaGFzaD1udWxsKQogICAgewogICAgICAgIGlmICghJHNob3J0VXJsICYmICEkaGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlFcnJvcignc2hvcnRVcmwgb3IgaGFzaCBtdXN0IGJlIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCk7CiAgICAgICAgaWYgKCRzaG9ydFVybCkgewogICAgICAgICAgICAkcGFyYW1zWydzaG9ydFVybCddID0gJHNob3J0VXJsOwogICAgICAgIH0KICAgICAgICBlbHNlaWYgKCRoYXNoKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2hhc2gnXSA9ICRoYXNoOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9leHBhbmQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2V4cGFuZCddWzBdOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGluZm8gYWJvdXQgYSBnaXZlbiBzaG9ydCBVUkwgb3IgaGFzaC4KICAgICAqCiAgICAgKiBPbmUgcGFyYW1ldGVyIG11c3QgYmUgc3BlY2lmaWVkLiBpZiBib3RoIGFyZSBzcGVjaWZpZWQsIHRoZSBzaG9ydCBVUkwKICAgICAqIGhhcyBwcmVjZWRlbmNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNob3J0VXJsCiAgICAgKiAgKE9wdGlvbmFsKSBBIGZ1bGwgYml0bHkgc2hvcnQgVVJMLCBlLmcuICJodHRwOi8vYml0Lmx5LzEyMzQiCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoYXNoCiAgICAgKiAgKE9wdGlvbmFsKSBUaGUgaGFzaCBjb21wb25lbnQgb2YgYSBiaXRseSBzaG9ydCBVUkwsIGUuZy4gIjEyMzQiCiAgICAgKiBAcGFyYW0gJGV4cGFuZFVzZXIKICAgICAqICAoT3B0aW9uYWwpIEluY2x1ZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M19pbmZvCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpbmZvKCRzaG9ydFVybD1udWxsLCAkaGFzaD1udWxsLCAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgIGlmICghJHNob3J0VXJsICYmICEkaGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlFcnJvcignc2hvcnRVcmwgb3IgaGFzaCBtdXN0IGJlIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRleHBhbmRVc2VyICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgnZXhwYW5kX3VzZXInID0+ICRleHBhbmRVc2VyKTsKICAgICAgICB9CgogICAgICAgIGlmICgkc2hvcnRVcmwpIHsKICAgICAgICAgICAgJHBhcmFtc1snc2hvcnRVcmwnXSA9ICRzaG9ydFVybDsKICAgICAgICB9CiAgICAgICAgZWxzZWlmICgkaGFzaCkgewogICAgICAgICAgICAkcGFyYW1zWydoYXNoJ10gPSAkaGFzaDsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvaW5mbycsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snaW5mbyddWzBdOwogICAgfQoKICAgIC8qKgogICAgICogTG9vayB1cCBhIGJpdGx5IGxpbmsgYmFzZWQgb24gYSBsb25nIFVSTC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwKICAgICAqICBBIGxvbmcgVVJMIHRvIGxvb2sgdXAuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtzLmh0bWwjdjNfbGlua19sb29rdXAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtMb29rdXAoJHVybCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VybCcgPT4gJHVybCk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9sb29rdXAnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2xpbmtfbG9va3VwJ11bMF1bJ2FnZ3JlZ2F0ZV9saW5rJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTaG9ydGVuIGEgbG9uZyBVUkwuCiAgICAgKgogICAgICogJ2RvbWFpbicgaXMgYSBwcmVmZXJyZWQgZG9tYWluLCBidXQgaWYgdGhlIHVzZXIgaGFzIGEgY3VzdG9tIHNob3J0CiAgICAgKiBkb21haW4sIHRoZSBjdXN0b20gZG9tYWluIHdpbGwgYWx3YXlzIGJlIHVzZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbG9uZ1VybAogICAgICogIEEgbG9uZyBVUkwgdG8gc2hvcnRlbi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICogIChPcHRpb25hbCkgQSBwcmVmZXJyZWQgZG9tYWluIChlaXRoZXIgJ2JpdC5seScsICdqLm1wJywgb3IgJ2JpdGx5LmNvbScpLgogICAgICoKICAgICAqIEByZXR1cm5zIGFycmF5CiAgICAgKiAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZzoKICAgICAqICAgLSAnbmV3X2hhc2gnIChib29sKSBXaGV0aGVyIHRoaXMgVVJMIGhhcyBiZWVuIHNob3J0ZW5lZCBiZWZvcmUuCiAgICAgKiAgIC0gJ3VybCcgKHN0cmluZykgVGhlIGFjdHVhbCBzaG9ydCBVUkwuCiAgICAgKiAgIC0gJ2hhc2gnIChzdHJpbmcpIEEgQml0bHkgaWRlbnRpZmllciB3aGljaCBpcyB1bmlxdWUgdG8gdGhpcyBhY2NvdW50LgogICAgICogICAtICdnbG9iYWxfaGFzaCcgKHN0cmluZykgQSBCaXRseSBpZGVudGlmaWVyIHdoaWNoIGNhbiBiZSB0cmFja2VkCiAgICAgKiAgICAgYWNyb3NzIGFjY291bnRzLgogICAgICogICAtICdsb25nX3VybCcgKHN0cmluZykgQW4gbm9ybWFsaXplZCBlY2hvIGJhY2sgb2YgdGhlIG9yaWdpbmFsIGxvbmcgVVJMLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M19zaG9ydGVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaG9ydGVuKCR1cmwsICRkb21haW49bnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xvbmdVcmwnID0+ICR1cmwpOwogICAgICAgIGlmICgkZG9tYWluICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2RvbWFpbiddID0gJGRvbWFpbjsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvc2hvcnRlbicsICRwYXJhbXMpOwogICAgICAgICRyZXN1bHRzWyduZXdfaGFzaCddID0gKCRyZXN1bHRzWyduZXdfaGFzaCddID09IDEpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgIHJldHVybiAkcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIEVkaXQgYSBzYXZlZCBsaW5rLgogICAgICoKICAgICAqIFBvc3NpYmxlIGtleXMvdmFsdWVzIGZvciAkcGFyYW1zIGFyZSBhcyBvbgogICAgICogICBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX3VzZXJfbGlua19lZGl0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIGJpdGx5IGxpbmssIGUuZy4gJ2h0dHA6Ly9iaXQubHkvMTIzNCcuCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyBBbiBhcnJheSBvZiBvcHRpb25hbCB2YWx1ZXMgZnJvbSBhYm92ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBBbiBlY2hvIGJhY2sgb2YgdGhlIGVkaXRlZCBsaW5rLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M191c2VyX2xpbmtfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckxpbmtFZGl0KCRsaW5rLCBBcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICRrZXlzID0gYXJyYXlfa2V5cygkcGFyYW1zKTsKICAgICAgICAkcGFyYW1zWydlZGl0J10gPSBpbXBsb2RlKCcsJywgJGtleXMpOwogICAgICAgICRwYXJhbXNbJ2xpbmsnXSA9ICRsaW5rOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19lZGl0JywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzWydsaW5rX2VkaXQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIExvb2sgdXAgYSBCaXRseSBsaW5rIHNob3J0ZW5lZCBieSB0aGUgYXV0aGVudGljYXRlZCB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCBBIGxvbmcgVVJMIHRvIGxvb2sgdXAuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogIEFuIGFzc29jaWF0aXZlIGFycmF5IGNvbnRhaW5pbmc6CiAgICAgKiAgIC0gJ3VybCcgKHN0cmluZykgQW4gZWNobyBiYWNrIG9mIHRoZSBsb25nIFVSTC4KICAgICAqICAgLSAnbGluaycgKHN0cmluZykgVGhlIGNvcnJlc3BvbmRpbmcgQml0bHkgbGluay4KICAgICAqICAgLSAnYWdncmVnYXRlX2xpbmsnIChzdHJpbmcpIFRoZSBjb3JyZXNwb25kaW5nIGFnZ3JlZ2F0ZSBsaW5rLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M191c2VyX2xpbmtfbG9va3VwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyTGlua0xvb2t1cCgkdXJsKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCd1cmwnID0+ICR1cmwpOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19sb29rdXAnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2xpbmtfbG9va3VwJ11bMF07CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIGEgQml0bHkgbGluayBhcyB0aGUgYXV0aGVudGljYXRlZCB1c2VyLgogICAgICoKICAgICAqIFBvc3NpYmxlIGtleXMvdmFsdWVzIGZvciAkcGFyYW1zIGFyZSBhcyBvbgogICAgICogICBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX3VzZXJfbGlua19zYXZlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIEEgbG9uZyBVUkwgdG8gc2hvcnRlbiBhbmQgc2F2ZS4KICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIEFuIGFzc29jaWF0aXZlIGFycmF5IG9mIG9wdGlvbmFsIHZhbHVlcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKiAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZzoKICAgICAqICAgLSAnbGluaycgKHN0cmluZykgVGhlIEJpdGx5IGxpbmsgZm9yIHRoZSBsb25nIFVSTC4KICAgICAqICAgLSAnYWdncmVnYXRlX2xpbmsnIChzdHJpbmcpIFRoZSBjb3JyZXNwb25kaW5nIEJpdGx5IGFnZ3JlZ2F0ZSBsaW5rLgogICAgICogICAtICduZXdfbGluaycgKGJvb2wpIFdoZXRoZXIgdGhlIHVzZXIgaGFzIHNhdmVkIHRoaXMgbGluayBiZWZvcmUuCiAgICAgKiAgIC0gJ2xvbmdfdXJsJyAoc3RyaW5nKSBBIG5vcm1hbGl6ZWQgZWNobyBiYWNrIG9mIHRoZSBsb25nIFVSTC4KICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtzLmh0bWwjdjNfdXNlcl9saW5rX3NhdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJMaW5rU2F2ZSgkdXJsLCBBcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICRwYXJhbXNbJ2xvbmdVcmwnXSA9ICR1cmw7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci9saW5rX3NhdmUnLCAkcGFyYW1zKTsKICAgICAgICAkcmVzdWx0cyA9ICRyZXN1bHRzWydsaW5rX3NhdmUnXTsKICAgICAgICAkcmVzdWx0c1snbmV3X2xpbmsnXSA9ICgkcmVzdWx0c1snbmV3X2xpbmsnXSA9PSAxKSA/IHRydWUgOiBmYWxzZTsKICAgICAgICByZXR1cm4gJHJlc3VsdHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBzcGVjaWZpZWQgbnVtYmVyIG9mICdoaWdoLXZhbHVlJyBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCBNYXhpbXVtIG51bWJlciBvZiBsaW5rcyB0byByZXR1cm4uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogIEEgbGlzdCBvZiBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX2hpZ2h2YWx1ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGlnaHZhbHVlKCRsaW1pdCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbWl0JyA9PiAkbGltaXQpOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL2hpZ2h2YWx1ZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1sndmFsdWVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTZWFyY2ggbGlua3MgcmVjZWl2aW5nIGNsaWNrcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRxdWVyeSBBIHN0cmluZyB0byBzZWFyY2ggZm9yLgogICAgICogQHBhcmFtIGludCAkbGltaXQKICAgICAqICAoT3B0aW9uYWwpIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsaW5rcyB0byByZXR1cm4gKDEwKS4KICAgICAqIEBwYXJhbSBpbnQgJG9mZnNldAogICAgICogIChPcHRpb25hbCkgVGhlIHJlc3VsdCB0byBzdGFydCB3aXRoICgwKS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxhbmcKICAgICAqICAoT3B0aW9uYWwpIEEgdHdvLWxldHRlciBJU08gbGFuZ3VhZ2UgY29kZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNpdGllcwogICAgICogIChPcHRpb25hbCkgTGltaXQgdG8gbGlua3MgYWN0aXZlIGluIHRoaXMgY2l0eSAob3JkZXJlZCBsaWtlCiAgICAgKiAgJ3VzLWlsLWNoaWNhZ28nKS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICogIChPcHRpb25hbCkgUmVzdHJpY3QgcmVzdWx0cyB0byB0aGlzIGRvbWFpbi4KICAgICAqIEBmaWVsZHMgc3RyaW5nW10KICAgICAqICAoT3B0aW9uYWwpIFdoaWNoIGZpZWxkcyB0byByZXR1cm4gaW4gdGhlIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqICBBbiBhcnJheSBvZiByZXN1bHRzLCBlYWNoIHJlc3VsdCBpcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSBhbmQgaXRzCiAgICAgKiAgY29udGVudHMgd2lsbCBkZXBlbmQgb24gJ2ZpZWxkcycuCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19zZWFyY2gKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlYXJjaCgkcXVlcnksICRsaW1pdD0xMCwgJG9mZnNldD0wLCAkbGFuZz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAkY2l0aWVzPW51bGwsICRkb21haW49bnVsbCwgQXJyYXkgJGZpZWxkcz1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgncXVlcnknID0+ICRxdWVyeSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICdvZmZzZXQnID0+ICRvZmZzZXQpOwogICAgICAgIGlmICgkbGFuZyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsYW5nJ10gPSAkbGFuZzsKICAgICAgICB9CiAgICAgICAgaWYgKCRjaXRpZXMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtWydjaXRpZXMnXSA9ICRjaXRpZXM7CiAgICAgICAgfQogICAgICAgIGlmICgkZG9tYWluICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2RvbWFpbiddID0gJGRvbWFpbjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmaWVsZHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZmllbGRzJ10gPSBpbXBsb2RlKCcsJywgJGZpZWxkcyk7CiAgICAgICAgfQogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3NlYXJjaCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1sncmVzdWx0cyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBwaHJhc2VzIHRoYXQgYXJlIHJlY2VpdmluZyBhbiB1bmNoYXJhY3RlcmlzdGljYWxseSBoaWdoIHZvbHVtZQogICAgICogb2YgY2xpY2sgdHJhZmZpYywgYW5kIHRoZSBpbmRpdmlkdWFsIGxpbmtzIChoYXNoZXMpIGRyaXZpbmcgdHJhZmZpYyB0bwogICAgICogcGFnZXMgY29udGFpbmluZyB0aGVzZSBwaHJhc2VzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX3JlYWx0aW1lX2J1cnN0aW5nX3BocmFzZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWx0aW1lQnVyc3RpbmdQaHJhc2VzKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvcmVhbHRpbWUvYnVyc3RpbmdfcGhyYXNlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBwaHJhc2VzIHRoYXQgYXJlIHJlY2VpdmluZyBhIGNvbnNpc3RlbnRseSBoaWdoIHZvbHVtZSBvZiBjbGljawogICAgICogdHJhZmZpYywgYW5kIHRoZSBpbmRpdmlkdWFsIGxpbmtzIChoYXNoZXMpIGRyaXZpbmcgdHJhZmZpYyB0byBwYWdlcwogICAgICogY29udGFpbmluZyB0aGVzZSBwaHJhc2VzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX3JlYWx0aW1lX2hvdF9waHJhc2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZWFsdGltZUhvdFBocmFzZXMoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9yZWFsdGltZS9ob3RfcGhyYXNlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY2xpY2sgcmF0ZSBmb3IgY29udGVudCBjb250YWluaW5nIGEgc3BlY2lmaWVkIHBocmFzZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwaHJhc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19yZWFsdGltZV9jbGlja3JhdGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWx0aW1lQ2xpY2tyYXRlKCRwaHJhc2UpIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3BocmFzZScgPT4gJHBocmFzZSk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9yZWFsdGltZS9jbGlja3JhdGUnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0YWRhdGEgYWJvdXQgYSBzaW5nbGUgYml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2luZm8KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtJbmZvKCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL2luZm8nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIOKAnG1haW4gYXJ0aWNsZeKAnSBmcm9tIHRoZSBsaW5rZWQgcGFnZSwgYXMgZGV0ZXJtaW5lZCBieSB0aGUKICAgICAqIGNvbnRlbnQgZXh0cmFjdG9yLCBpbiBlaXRoZXIgSFRNTCBvciBwbGFpbiB0ZXh0IGZvcm1hdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2NvbnRlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtDb250ZW50KCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL2NvbnRlbnQnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGRldGVjdGVkIGNhdGVnb3JpZXMgZm9yIGEgZG9jdW1lbnQsIGluIGRlc2NlbmRpbmcgb3JkZXIgb2YKICAgICAqIGNvbmZpZGVuY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19jYXRlZ29yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua0NhdGVnb3J5KCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9jYXRlZ29yeScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snY2F0ZWdvcmllcyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgInNvY2lhbCBzY29yZSIgZm9yIGEgc3BlY2lmaWVkIGJpdGx5IGxpbmsuCiAgICAgKgogICAgICogTm90ZSB0aGF0IHRoZSBzb2NpYWwgc2NvcmUgYXJlIGhpZ2hseSBkZXBlbmRlbnQgdXBvbiBhY3Rpdml0eSAoY2xpY2tzKQogICAgICogb2NjdXJyaW5nIG9uIHRoZSBiaXRseSBsaW5rLiBJZiB0aGVyZSBoYXZlIG5vdCBiZWVuIGNsaWNrcyBvbiBhIGJpdGx5CiAgICAgKiBsaW5rIHdpdGhpbiB0aGUgbGFzdCAyNCBob3VycywgaXQgaXMgcG9zc2libGUgYSBzb2NpYWwgc2NvcmUgZm9yIHRoYXQKICAgICAqIGxpbmsgZG9lcyBub3QgZXhpc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19zb2NpYWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtTb2NpYWwoJGxpbmspIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9saW5rL3NvY2lhbCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snc29jaWFsX3Njb3JlcyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc2lnbmlmaWNhbnQgbG9jYXRpb25zIGZvciB0aGUgYml0bHkgbGluay4KICAgICAqCiAgICAgKiBOb3RlIHRoYXQgbG9jYXRpb25zIGFyZSBoaWdobHkgZGVwZW5kZW50IHVwb24gYWN0aXZpdHkgKGNsaWNrcykKICAgICAqIG9jY3VycmluZyBvbiB0aGUgYml0bHkgbGluay4gSWYgdGhlcmUgaGF2ZSBub3QgYmVlbiBjbGlja3Mgb24gYSBiaXRseQogICAgICogbGluayB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgbG9jYXRpb24gZGF0YSBmb3IKICAgICAqIHRoYXQgbGluayBkb2VzIG5vdCBleGlzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2xvY2F0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rTG9jYXRpb24oJGxpbmspIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9saW5rL2xvY2F0aW9uJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzWydsb2NhdGlvbnMnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHNpZ25pZmljYW50IGxhbmd1YWdlcyBmb3IgdGhlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19sYW5ndWFnZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua0xhbmd1YWdlKCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9sYW5ndWFnZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snbGFuZ3VhZ2VzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2xpY2tzIG9uIGEgc2luZ2xlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfbGlua19jbGlja3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtDbGlja3MoJGxpbmssICR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9jbGlja3MnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgY291bnRyaWVzIHJlZmVycmluZyBjbGljayB0cmFmZmljIHRvIGEgQml0bHkKICAgICAqIGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX2xpbmtfY291bnRyaWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rQ291bnRyaWVzKCRsaW5rLCAkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkbGltaXQ9MTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rLCAndW5pdCcgPT4gJHVuaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lem9uZScgPT4gJHRpbWV6b25lLCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9jb3VudHJpZXMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdXNlcnMgd2hvIGhhdmUgZW5jb2RlZCB0aGlzIGxpbmsuCiAgICAgKgogICAgICogT3B0aW9uYWxseSByZXN0cmljdGVkIHRvIHRoZSByZXF1ZXN0aW5nIHVzZXIncyBzb2NpYWwgZ3JhcGguCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gYm9vbCAkbXlOZXR3b3JrIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX2VuY29kZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rRW5jb2RlcnMoJGxpbmssICRteU5ldHdvcms9bnVsbCwgJGxpbWl0PTEwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnbGluaycgPT4gJGxpbmssICdsaW1pdCcgPT4gJGxpbWl0KTsKICAgICAgICBpZiAoJG15TmV0d29yayAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydteV9uZXR3b3JrJ10gPSAkbXlOZXR3b3JrOwogICAgICAgIH0KICAgICAgICBpZiAoJGV4cGFuZFVzZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZXhwYW5kX3VzZXInXSA9ICRleHBhbmRVc2VyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvZW5jb2RlcnMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiB1c2VycyB3aG8gaGF2ZSBzaG9ydGVuZWQgYSBzaW5nbGUgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX2VuY29kZXJzX2NvdW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rRW5jb2RlcnNDb3VudCgkbGluaykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvZW5jb2RlcnNfY291bnQnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgcGFnZXMgcmVmZXJyaW5nIGNsaWNrIHRyYWZmaWMgdG8gYSBCaXRseSBsaW5rLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua1JlZmVycmVycygkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvcmVmZXJyZXJzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIG1ldHJpY3MgYWJvdXQgdGhlIHBhZ2VzIHJlZmVycmluZyBjbGljayB0cmFmZmljIHRvIGEgQml0bHkgbGluaywKICAgICAqIGdyb3VwZWQgYnkgZG9tYWluLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmVyc19ieV9kb21haW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtSZWZlcnJlcnNCeURvbWFpbigkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnbGluaycgPT4gJGxpbmssICd1bml0JyA9PiAkdW5pdCwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL3JlZmVyZXJyc19ieV9kb21haW4nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgZG9tYWlucyByZWZlcnJpbmcgY2xpY2sgdHJhZmZpYyB0byBhIEJpdGx5CiAgICAgKiBsaW5rLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmluZ19kb21haW5zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rUmVmZXJyaW5nRG9tYWlucygkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rLCAndW5pdCcgPT4gJHVuaXQsICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9yZWZlcmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIG1ldHJpY3MgYWJvdXQgc2hhcmVzIG9mIGEgc2luZ2xlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfbGlua19zaGFyZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtTaGFyZXMoJGxpbmssICR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9zaGFyZXMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBvciB1cGRhdGUgaW5mb3JtYXRpb24gYWJvdXQgYSB1c2VyLgogICAgICoKICAgICAqIElmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cywgd2lsbCByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgdGhlCiAgICAgKiBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogVGhlICRmdWxsTmFtZSBhcmd1bWVudCBpcyBvbmx5IHZhbGlkIGZvciB0aGUgYXV0aGVudGljYXRlZCB1c2VyIGFuZCB3aWxsCiAgICAgKiBzZXQgdGhlIHVzZXIncyBmdWxsIG5hbWUgcHJvcGVydHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbG9naW4gKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkZnVsbE5hbWUgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfaW5mbwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckluZm8oJGxvZ2luPW51bGwsICRmdWxsTmFtZT1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkbG9naW4gIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snbG9naW4nXSA9ICRsb2dpbjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmdWxsTmFtZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydmdWxsX25hbWUnXSA9ICRmdWxsTmFtZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL2luZm8nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgZW50cmllcyBmcm9tIGEgdXNlcidzIGxpbmsgaGlzdG9yeSBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwKICAgICAqIG9yZGVyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkb2Zmc2V0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGNyZWF0ZWRCZWZvcmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkY3JlYXRlZEFmdGVyIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJG1vZGlmaWVkQWZ0ZXIgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZENsaWVudElkIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFyY2hpdmVkIChPcHRpb25hbCkgIm9uIiwgIm9mZiIgb3IgImJvdGgiLgogICAgICogQHBhcmFtIHN0cmluZyAkcHJpdmF0ZSAoT3B0aW9uYWwpICJvbiIsICJvZmYiIG9yICJib3RoIi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXIgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfbGlua19oaXN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyTGlua0hpc3RvcnkoJGxpbms9bnVsbCwgJGxpbWl0PTUwLCAkb2Zmc2V0PW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjcmVhdGVkQmVmb3JlPW51bGwsICRjcmVhdGVkQWZ0ZXI9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGlmaWVkQWZ0ZXI9bnVsbCwgJGV4cGFuZENsaWVudElkPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcmNoaXZlZD1udWxsLCAkcHJpdmF0ZT1udWxsLCAkdXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkbGluayAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsaW5rJ10gPSAkbGluazsKICAgICAgICB9CiAgICAgICAgaWYgKCRsaW1pdCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsaW1pdCddID09ICRsaW1pdDsKICAgICAgICB9CiAgICAgICAgaWYgKCRvZmZzZXQgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snb2Zmc2V0J10gPSAkb2Zmc2V0OwogICAgICAgIH0KICAgICAgICBpZiAoJGNyZWF0ZWRCZWZvcmUgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snY3JlYXRlZF9iZWZvcmUnXSA9ICRjcmVhdGVkQmVmb3JlOwogICAgICAgIH0KICAgICAgICBpZiAoJGNyZWF0ZWRBZnRlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydjcmVhdGVkX2FmdGVyJ10gPSAkY3JlYXRlZEFmdGVyOwogICAgICAgIH0KICAgICAgICBpZiAoJG1vZGlmaWVkQWZ0ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snbW9kaWZpZWRfYWZ0ZXInXSA9ICRtb2RpZmllZEFmdGVyOwogICAgICAgIH0KICAgICAgICBpZiAoJGFyY2hpdmVkICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2FyY2hpdmVkJ10gPSAkYXJjaGl2ZWQ7CiAgICAgICAgfQogICAgICAgIGlmICgkcHJpdmF0ZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcml2YXRlJ10gPSAkcHJpdmF0ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR1c2VyICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VzZXInXSA9ICR1c2VyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19oaXN0b3J5JywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGVudHJpZXMgZnJvbSBhIHVzZXIncyBuZXR3b3JrIGhpc3RvcnkgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsCiAgICAgKiBvcmRlci4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRvZmZzZXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZENsaWVudElkIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS91c2VyX2luZm8uaHRtbCN2M191c2VyX25ldHdvcmtfaGlzdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlck5ldHdvcmtIaXN0b3J5KCRvZmZzZXQ9bnVsbCwgJGV4cGFuZENsaWVudElkPWZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MjAsICRleHBhbmRVc2VyPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdleHBhbmRfY2xpZW50X2lkJyA9PiAkZXhwYW5kQ2xpZW50SWQsCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gJGxpbWl0KTsKICAgICAgICBpZiAoJG9mZnNldCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydvZmZzZXQnXSA9ICRvZmZzZXQ7CiAgICAgICAgfQogICAgICAgIGlmICgkZXhwYW5kVXNlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydleHBhbmRfdXNlciddID0gJGV4cGFuZFVzZXI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9uZXR3b3JrX2hpc3RvcnknLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHRyYWNraW5nIGRvbWFpbnMgYSB1c2VyIGhhcyBjb25maWd1cmVkLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfdHJhY2tpbmdfZG9tYWluX2xpc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUcmFja2luZ0RvbWFpbkxpc3QoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci90cmFja2luZ19kb21haW5fbGlzdCcpOwogICAgICAgIHJldHVybiAkcmVzdWx0Wyd0cmFja2luZ19kb21haW5zJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBhZ2dyZWdhdGUgbnVtYmVyIG9mIGNsaWNrcyBvbiBhbGwgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzCiAgICAgKiBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9jbGlja3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJDbGlja3MoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJHJvbGx1cD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VuaXQnID0+ICR1bml0LCAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9jbGlja3MnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWdncmVnYXRlIG1ldHJpY3MgYWJvdXQgdGhlIGNvdW50cmllcyByZWZlcnJpbmcgY2xpY2tzIHRvIGFsbAogICAgICogdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIEJpdGx5IGxpbmtzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRyb2xsdXAgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M191c2VyX2NvdW50cmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckNvdW50cmllcygkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkcm9sbHVwPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL2NvdW50cmllcycsICRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgbW9zdC1jbGlja2VkIEJpdGx5IGxpbmtzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9wb3B1bGFyX2xpbmtzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyUG9wdWxhckxpbmtzKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRsaW1pdD0xMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9wb3B1bGFyX2xpbmtzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFnZ3JlZ2F0ZSBtZXRyaWNzIGFib3V0IHRoZSBwYWdlcyByZWZlcnJpbmcgY2xpY2sgdHJhZmZpYyB0byBhbGwKICAgICAqIG9mIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9yZWZlcnJlcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJSZWZlcnJlcnMoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJHJvbGx1cD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VuaXQnID0+ICR1bml0LCAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9yZWZlcnJlcnMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWdncmVnYXRlIG1ldHJpY3MgYWJvdXQgdGhlIGRvbWFpbnMgcmVmZXJyaW5nIGNsaWNrIHRyYWZmaWMgdG8KICAgICAqIGFsbCBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgQml0bHkgbGlua3MuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfcmVmZXJyaW5nX2RvbWFpbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJSZWZlcnJpbmdEb21haW5zKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3JlZmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2hhcmVzIGJ5IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIgaW4gYSBnaXZlbiB0aW1lCiAgICAgKiBwZXJpb2QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfc2hhcmVfY291bnRzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyU2hhcmVDb3VudHMoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkcm9sbHVwPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCd1bml0JyA9PiAkdW5pdCwgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgaWYgKCRyb2xsdXAgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncm9sbHVwJ10gPSAkcm9sbHVwOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvc2hhcmVfY291bnRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2hhcmVzIGJ5IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIsIGJyb2tlbiBkb3duIGJ5CiAgICAgKiBzaGFyZSB0eXBlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRyb2xsdXAgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M191c2VyX3NoYXJlX2NvdW50c19ieV9zaGFyZV90eXBlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyU2hhcmVDb3VudHNCeVNoYXJlVHlwZSgKICAgICAgICAkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3NoYXJlX2NvdW50c19ieV9zaGFyZV90eXBlJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGlua3Mgc2hvcnRlbmVkIGluIGEgZ2l2ZW4gdGltZSBwZXJpb2QgYnkgdGhlCiAgICAgKiBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfc2hvcnRlbl9jb3VudHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJTaG9ydGVuQ291bnRzKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3Nob3J0ZW5fY291bnRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBcmNoaXZlIGEgYnVuZGxlIGZvciB0aGUgYXV0aGVudGljYXRlIHVzZXIuCiAgICAgKgogICAgICogT25seSB0aGUgYnVuZGxlJ3Mgb3duZXIgaXMgYWxsb3dlZCB0byBhcmNoaXZlIGl0LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVGhlIFVSTCBvZiB0aGUgYnVuZGxlIHRvIGFyY2hpdmUuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2FyY2hpdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZUFyY2hpdmUoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2FyY2hpdmUnLCAkcGFyYW1zLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuICgkcmVzdWx0ID09PSAnT0snKSA/IHRydWUgOiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHB1YmxpYyBidW5kbGVzIGNyZWF0ZWQgYnkgYSB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXIgVGhlIHVzZXIgdG8gZ2V0IGJ1bmRsZXMgZm9yLgogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZFVzZXIgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfYnVuZGxlc19ieV91c2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVCdW5kbGVzQnlVc2VyKCR1c2VyLCAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndXNlcicgPT4gJHVzZXIpOwogICAgICAgIGlmICgkZXhwYW5kVXNlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydleHBhbmRfdXNlciddID0gJGV4cGFuZFVzZXI7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2J1bmRsZXNfYnlfdXNlcicsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9uZSBhIGJ1bmRsZSBmb3IgdGhlIGF1dGhlbnRpY2F0ZSB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUgdG8gY2xvbmUuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jbG9uZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ2xvbmUoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2Nsb25lJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgY29sbGFib3JhdG9yIHRvIGEgYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xsYWJvcmF0b3IgQml0bHkgbG9naW4gb3IgZW1haWwgYWRkcmVzcyB0byBhZGQuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jb2xsYWJvcmF0b3JfYWRkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVDb2xsYWJvcmF0b3JBZGQoJGJ1bmRsZUxpbmssICRjb2xsYWJvcmF0b3IpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xsYWJvcmF0b3InID0+ICRjb2xsYWJvcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NvbGxhYm9yYXRvcl9hZGQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjb2xsYWJvcmF0b3IgZnJvbSBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkY29sbGFib3JhdG9yIEJpdGx5IGxvZ2luIG9mIHRoZSBjb2xsYWJvcmF0b3IgdG8gcmVtb3ZlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfY29sbGFib3JhdG9yX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ29sbGFib3JhdG9yUmVtb3ZlKCRidW5kbGVMaW5rLCAkY29sbGFib3JhdG9yKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAnY29sbGFib3JhdG9yJyA9PiAkY29sbGFib3JhdG9yKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9jb2xsYWJvcmF0b3JfcmVtb3ZlJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGJ1bmRsZSBhbmQgaXRzIGNvbnRlbnRzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gYm9vbCAkZXhwYW5kVXNlciAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jb250ZW50cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ29udGVudHMoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NvbnRlbnRzJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgYnVuZGxlIGZvciB0aGUgYXV0aGVudGljYXRlIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHByaXZhdGUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdGl0bGUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkZGVzY3JpcHRpb24gKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfY3JlYXRlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVDcmVhdGUoJHByaXZhdGU9bnVsbCwgJHRpdGxlPW51bGwsICRkZXNjcmlwdGlvbj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkcHJpdmF0ZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcml2YXRlJ10gPSAkcHJpdmF0ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR0aXRsZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlc2NyaXB0aW9uICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzY3JpcHRpb247CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NyZWF0ZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEVkaXQgYSBidW5kbGUgZm9yIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogRm9yIG9wdGlvbmFsIHN0cmluZyB2YWx1ZXMsICJudWxsIiBtZWFucyAiZG9uJ3QgY2hhbmdlLCIgd2hpbGUgdGhlIGVtcHR5CiAgICAgKiBzdHJpbmcgd2lsbCBjbGVhciB0aGUgdmFsdWUuIEZvciBhbGwgb3RoZXIgb3B0aW9uYWwgdmFsdWVzLCAibnVsbCIgbWVhbnMKICAgICAqICJubyBjaGFuZ2UiLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0aXRsZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkZXNjcmlwdGlvbiAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcHJpdmF0ZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcHJldmlldyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRvZ0ltYWdlIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2VkaXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZUVkaXQoJGJ1bmRsZUxpbmssICR0aXRsZT1udWxsLCAkZGVzY3JpcHRpb249bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcml2YXRlPW51bGwsICRwcmV2aWV3PW51bGwsICRvZ0ltYWdlPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRpdGxlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7CiAgICAgICAgICAgICRrZXlzW10gPSAndGl0bGUnOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlc2NyaXB0aW9uICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzY3JpcHRpb247CiAgICAgICAgICAgICRrZXlzW10gPSAnZGVzY3JpcHRpb24nOwogICAgICAgIH0KICAgICAgICBpZiAoJHByaXZhdGUgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncHJpdmF0ZSddID0gJHByaXZhdGU7CiAgICAgICAgICAgICRrZXlzW10gPSAncHJpdmF0ZSc7CiAgICAgICAgfQogICAgICAgIGlmICgkcHJldmlldyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcmV2aWV3J10gPSAkcHJldmlldzsKICAgICAgICAgICAgJGtleXNbXSA9ICdwcmV2aWV3JzsKICAgICAgICB9CiAgICAgICAgaWYgKCRvZ0ltYWdlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ29nX2ltYWdlJ10gPSAkb2dJbWFnZTsKICAgICAgICAgICAgJGtleXNbXSA9ICdvZ19pbWFnZSc7CiAgICAgICAgfQogICAgICAgICRwYXJhbXNbJ2VkaXQnXSA9IGltcGxvZGUoJywnLCAka2V5cyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvZWRpdCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGxpbmsgdG8gYSBidW5kbGUuCiAgICAgKgogICAgICogTGlua3MgYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIHRvcCAocG9zaXRpb24gMCkgb2YgdGhlIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluayBvciBsb25nIFVSTC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHRpdGxlIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfYWRkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVMaW5rQWRkKCRidW5kbGVMaW5rLCAkbGluaywgJHRpdGxlPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgaWYgKCR0aXRsZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX2FkZCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGNvbW1lbnQgdG8gYSBidW5kbGUgaXRlbS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb21tZW50IFRoZSBjb21tZW50LCBtdXN0IGJlIDw9IDUxMiBjaGFyYWN0ZXJzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfbGlua19jb21tZW50X2FkZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRBZGQoJGJ1bmRsZUxpbmssICRsaW5rLCAkY29tbWVudCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2J1bmRsZV9saW5rJyA9PiAkYnVuZGxlTGluaywgJ2xpbmsnID0+ICRsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gJGNvbW1lbnQpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2xpbmtfY29tbWVudF9hZGQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBFZGl0IGEgY29tbWVudCBvbiBhIGJ1bmRsZSBpdGVtLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEJpdGx5IGxpbmsgaW4gdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBpbnQgJGNvbW1lbnRJZCBJRCBvZiB0aGUgY29tbWVudCB0byBlZGl0LgogICAgICogQHBhcmFtIHN0cmluZyAkY29tbWVudCBUaGUgZWRpdGVkIGNvbW1lbnQsIG11c3QgYmUgPD0gNTEyIGNoYXJhY3RlcnMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9saW5rX2NvbW1lbnRfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRFZGl0KCRidW5kbGVMaW5rLCAkbGluaywgJGNvbW1lbnRJZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1lbnQpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluaywKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfaWQnID0+ICRjb21tZW50SWQsICdjb21tZW50JyA9PiAkY29tbWVudCk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvbGlua19jb21tZW50X2VkaXQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjb21tZW50IGZyb20gYSBidW5kbGUgaXRlbS4KICAgICAqCiAgICAgKiBPbmx5IHRoZSBvcmlnaW5hbCBjb21tZW50ZXIgYW5kIHRoZSBidW5kbGUgb3duZXIgY2FuIHJlbW92ZSBjb21tZW50cy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gaW50ICRjb21tZW50SWQgSUQgb2YgdGhlIGNvbW1lbnQgdG8gcmVtb3ZlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfbGlua19jb21tZW50X3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRSZW1vdmUoJGJ1bmRsZUxpbmssICRsaW5rLCAkY29tbWVudElkKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb21tZW50X2lkJyA9PiAkY29tbWVudElkKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX2NvbW1lbnRfcmVtb3ZlJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogRWRpdCBhIGJ1bmRsZSBpdGVtLgogICAgICoKICAgICAqIEZvciB0aGUgb3B0aW9uYWwgcGFyYW1ldGVycywgYSB2YWx1ZSBvZiAibnVsbCIgbWVhbnMgIm5vIGNoYW5nZS4iCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYnVuZGxlTGluayBVUkwgb2YgdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQml0bHkgbGluayBpbiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkdGl0bGUgKE9wdGlvbmFsKSBUaGUgbmV3IHRpdGxlLgogICAgICogQHBhcmFtIGJvb2wgJHByZXZpZXcgKE9wdGlvbmFsKSBEaXNwbGF5IHByZXZpZXcgY29udGVudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0VkaXQoJGJ1bmRsZUxpbmssICRsaW5rLCAkdGl0bGU9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJldmlldz1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmspOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRpdGxlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7CiAgICAgICAgICAgICRrZXlzW10gPSAndGl0bGUnOwogICAgICAgIH0KICAgICAgICBpZiAoJHByZXZpZXcgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncHJldmlldyddID0gJHByZXZpZXc7CiAgICAgICAgICAgICRrZXlzW10gPSAncHJldmlldyc7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2xpbmtfZWRpdCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIGxpbmsgZnJvbSBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9saW5rX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua1JlbW92ZSgkYnVuZGxlTGluaywgJGxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvbGlua19yZW1vdmUnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW9yZGVyIGEgbGluayBpbiBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBGb3IgJGRpc3BsYXlPcmRlciwgYSB2YWx1ZSBvZiAtMSBtb3ZlcyB0aGUgbGluayB0byB0aGUgZW5kIG9mIHRoZQogICAgICogYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEJpdGx5IGxpbmsgaW4gdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBpbnQgJGRpc3BsYXlPcmRlciBOZXcgcG9zaXRpb24gaW4gdGhlIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfcmVvcmRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua1Jlb3JkZXIoJGJ1bmRsZUxpbmssICRsaW5rLCAkZGlzcGxheU9yZGVyKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdkaXNwbGF5X29yZGVyJyA9PiAkZGlzcGxheU9yZGVyKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX3Jlb3JkZXInLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLy8gVE9ETzogSG93PwogICAgLy9wdWJsaWMgZnVuY3Rpb24gYnVuZGxlUmVvcmRlcigkYnVuZGxlTGluaywgQXJyYXkgJGxpbmtzKSB7fQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgcGVuZGluZy9pbnZpdGVkIGNvbGxhYm9yYXRvciBmcm9tIGEgYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xsYWJvcmF0b3IgQml0bHkgbG9naW4gb3IgZW1haWwgYWRkcmVzcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX3BlbmRpbmdfY29sbGFib3JhdG9yX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlUGVuZGluZ0NvbGxhYm9yYXRvclJlbW92ZSgkYnVuZGxlTGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xsYWJvcmF0b3IpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xsYWJvcmF0b3InID0+ICRjb2xsYWJvcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL3BlbmRpbmdfY29sbGFib3JhdG9yX3JlbW92ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbnVtYmVyIG9mIHZpZXdzIGZvciBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX3ZpZXdfY291bnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZVZpZXdDb3VudCgkYnVuZGxlTGluaykgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS92aWV3X2NvdW50JywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ3ZpZXdfY291bnQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWxsIHRoZSBidW5kbGVzIHRoaXMgdXNlciBoYXMgYWNjZXNzIHRvLgogICAgICoKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfdXNlcl9idW5kbGVfaGlzdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckJ1bmRsZUhpc3RvcnkoJGV4cGFuZFVzZXI9bnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoKTsKICAgICAgICBpZiAoJGV4cGFuZFVzZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZXhwYW5kX3VzZXInXSA9ICRleHBhbmRVc2VyOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvYnVuZGxlX2hpc3RvcnknLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlcyddOwogICAgfQoKICAgIC8qKgogICAgICogUXVlcnkgd2hldGhlciBhIGdpdmVuIGRvbWFpbiBpcyBhIHZhbGlkIEJpdGx5IHBybyBkb21haW4uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgc2hvcnQgZG9tYWluIChlLmcuICJueXRpLm1zIikuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfYml0bHlfcHJvX2RvbWFpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYml0bHlQcm9Eb21haW4oJGRvbWFpbikKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2RvbWFpbicgPT4gJGRvbWFpbik7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9iaXRseV9wcm9fZG9tYWluJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICgkcmVzdWx0WydiaXRseV9wcm9fZG9tYWluJ10gPT0gMSkgPyB0cnVlIDogZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2xpY2tzIG9uIEJpdGx5IGxpbmtzIHBvaW50aW5nIHRvIHRoZQogICAgICogc3BlY2lmaWVkIHRyYWNraW5nIGRvbWFpbnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgdHJhY2tpbmcgZG9tYWluLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfdXNlcl90cmFja2luZ19kb21haW5fY2xpY2tzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyVHJhY2tpbmdEb21haW5DbGlja3MoJGRvbWFpbiwgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcm9sbHVwPW51bGwsICRsaW1pdD0xMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdkb21haW4nID0+ICRkb21haW4sICd1bml0JyA9PiAkdW5pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgaWYgKCRyb2xsdXAgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncm9sbHVwJ10gPSAkcm9sbHVwOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvdHJhY2tpbmdfZG9tYWluX2NsaWNrcycsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0Wyd0cmFja2luZ19kb21haW5fY2xpY2tzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGlua3MgcG9pbnRpbmcgdG8gYSBzcGVjaWZpZWQgdHJhY2tpbmcKICAgICAqIGRvbWFpbiBzaG9ydGVuZWQgaW4gYSBnaXZlbiB0aW1lIHBlcmlvZCBieSBhbGwgQml0bHkgdXNlcnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgdHJhY2tpbmcgZG9tYWluLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfdXNlcl90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUcmFja2luZ0RvbWFpblNob3J0ZW5Db3VudHMoCiAgICAgICAgJGRvbWFpbiwgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLCAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2RvbWFpbicgPT4gJGRvbWFpbiwgJ3VuaXQnID0+ICR1bml0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsndHJhY2tpbmdfZG9tYWluX3Nob3J0ZW5fY291bnRzJ107CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc2FibGVJUHY2KCkKICAgIHsKICAgICAgICAkdGhpcy0+aXNJUHY2RGlzYWJsZWQgPSB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSBhIHF1ZXJ5IGFnYWluc3QgdGhlIEJpdGx5IEFQSSBhbmQgcmV0dXJuIGRlY29kZWQgcmVzdWx0cy4KICAgICAqCiAgICAgKiBAaW50ZXJuYWwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludCBBUEkgZW5kcG9pbnQgdG8gcXVlcnkuCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyAoT3B0aW9uYWwpIFF1ZXJ5IHBhcmFtZXRlcnMuCiAgICAgKiBAcGFyYW0gYm9vbCAkcG9zdCBEbyBhbiBIVFRQIFBPU1QgaW5zdGVhZCBvZiBHRVQuCiAgICAgKiBAcGFyYW0gYm9vbCAkanNvbiBBdHRlbXB0IHRvIGRlY29kZSByZXNwb25zZSBhcyBKU09OLgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNhbGwoJGVuZHBvaW50LCBBcnJheSAkcGFyYW1zPW51bGwsICRwb3N0PWZhbHNlLCAkanNvbj10cnVlKQogICAgewogICAgICAgIGlmICgkcGFyYW1zID09PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIH0KICAgICAgICAkdXJsID0gJHRoaXMtPmFwaVVybCAuICRlbmRwb2ludDsKICAgICAgICAkcGFyYW1zWydmb3JtYXQnXSA9ICdqc29uJzsKICAgICAgICBpZiAoJHRoaXMtPmFjY2Vzc1Rva2VuICE9PSBudWxsICYmCiAgICAgICAgICAgICFhcnJheV9rZXlfZXhpc3RzKCdhY2Nlc3NfdG9rZW4nLCAkcGFyYW1zKSkKICAgICAgICB7CiAgICAgICAgICAgICRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHRoaXMtPmFjY2Vzc1Rva2VuOwogICAgICAgIH0KCiAgICAgICAgLy8gQ29udmVydCBib29sZWFucyB0byAndHJ1ZScvJ2ZhbHNlJy4KICAgICAgICBmb3JlYWNoKCRwYXJhbXMgYXMgJGsgPT4gJiR2KSB7CiAgICAgICAgICAgIGlmIChpc19ib29sKCR2KSkgewogICAgICAgICAgICAgICAgJHYgPSAkdiA/ICd0cnVlJyA6ICdmYWxzZSc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdGhpcy0+Y29ubmVjdFRpbWVvdXQpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAkdGhpcy0+dGltZW91dCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHRoaXMtPnVzZXJBZ2VudCk7CgogICAgICAgIGlmICgkdGhpcy0+aXNJUHY2RGlzYWJsZWQpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0lQUkVTT0xWRSwgQ1VSTF9JUFJFU09MVkVfVjQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJHBvc3QpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtcyk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRxdWVyeSA9IGJ1aWxkX3F1ZXJ5KCRwYXJhbXMpOwogICAgICAgICAgICAkdXJsIC49ICc/JyAuICRxdWVyeTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkc3RhdHVzX2NvZGUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgIGlmICgkc3RhdHVzX2NvZGUgIT09IDIwMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlBUElFcnJvcigkcmVzdWx0LCAkc3RhdHVzX2NvZGUpOwogICAgICAgIH0KICAgICAgICBpZiAoJGpzb24pIHsKICAgICAgICAgICAgJHJlc3VsdCA9IGpzb25fZGVjb2RlKCRyZXN1bHQsIHRydWUpOwogICAgICAgICAgICBpZiAoJHJlc3VsdFsnc3RhdHVzX2NvZGUnXSAhPT0gMjAwKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlBUElFcnJvcigkcmVzdWx0WydzdGF0dXNfdHh0J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KSRyZXN1bHRbJ3N0YXR1c19jb2RlJ10pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkcmVzdWx0WydkYXRhJ107CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.smsenvoi.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiogTGlicmFpcmllIGQnZW52b2kgU01TLCBTTVMgRU5WT0kuCiogQ2V0dGUgbGlicmFpcmllIG7DqWNlc3NpdGUgUEhQIDUgYWluc2kgcXVlIGxhIGxpYnJhaXJpZSBjVVJMIAoqIE4nb3VibGlleiBwYXMgZCfDqWRpdGVyIGxlIGZpY2hpZXIgc21zZW52b2kuY29uZmlnLnBocCBhdmFudCBkZSB0ZW50ZXIgZGUgbCd1dGlsaXNlcgoqIEwndXRpbGlzYXRpb24gZGUgY2V0dGUgbGlicmFpcmllIG7DqWNlc3NpdGUgdW5lIGluc2NyaXB0aW9uIChncmF0dWl0ZSkgcHLDqWFsYWJsZSBzdXIgbGUgc2l0ZSBodHRwOi8vd3d3LnNtc2Vudm9pLmNvbSBhaW5zaSBxdWUgZGVzIGNyw6lkaXRzIFNNUy4KKiBAcGFja2FnZSBwYWdlcGFja2FnZQoqLwovL3JlcXVpcmVfb25jZSgibGlicmFpcmllX3Ntc2Vudm9pL3Ntc2Vudm9pLmNvbmZpZy5waHAiKTsKCi8vY29uc3QgU01TRU5WT0lfVkVSU0lPTiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9WRVJTSU9OJyk7CgovKgoqIENsYXNzZSBTTVNFTlZPSSDDoCBpbnN0YW5jaWVyIGV0IHV0aWxpc2VyIHBvdXIgY29tbXVuaXF1ZXIgYXZlYyBsZSBzZXJ2ZXVyIFNNU0VOVk9JLmNvbQoqIEBwYWNrYWdlIHNtc2Vudm9pCiogQGF1dGhvciBTdGVwaGFuZSBOYWNoZXogPHMubmFjaGV6QHNtc2Vudm9pLmNvbT4KKiBAY29weXJpZ2h0IFNNU0VOVk9JLmNvbQoqLwpjbGFzcyBzbXNlbnZvaXsKCgkvKioKCSogUsOpc3VsdGF0IEJydXQKCSogQGFjY2VzcyBwdWJsaWMKCSogQHZhciBvYmplY3QKCSovCglwdWJsaWMgJHJhd3Jlc3VsdDsKCQoJLyoqCgkqIFLDqXN1bHRhdAoJKiBAYWNjZXNzIHB1YmxpYwoJKiBAdmFyIG9iamVjdAoJKi8KCXB1YmxpYyAkcmVzdWx0OwoJCgkvKioKCSogSW5kaXF1ZSBzaSBsZSBkZXJuaWVyIFNNUyBhIGJpZW4gw6l0w6kgZW52b3nDqQoJKiBAYWNjZXNzIHB1YmxpYwoJKiBAdmFyIGJvb2xlYW4KCSovCglwdWJsaWMgJHN1Y2Nlc3M7CgkKCS8qKgoJKiBWb3VzIHBlcm1ldCBkZSBwYXNzZXIgbGEgbGlicmFpcmllIGVuIG1vZGUgRGVidWcgcG91ciBhZmZpY2hlciBsZXMgbWVzc2FnZXMgZCdpbmZvcm1hdGlvbiB1dGlsZXMgw6Agc2EgbWlzZSBlbiBvZXV2cmUKCSogQGFjY2VzcyBwdWJsaWMKCSogQHZhciBib29sZWFuCgkqLwoJcHVibGljICRkZWJ1Zz10cnVlOwoJCgkvKioKCSogSWQgZHUgZGVybmllciBtZXNzYWdlIGNvcnJlY3RlbWVudCBlbnZvecOpCgkqIEBhY2Nlc3MgcHVibGljCgkqIEB2YXIgaW50ZWdlcgoJKi8KCXB1YmxpYyAkaWQ7CgoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7CgkJCgkJJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NtcycpOwoJCSR0aGlzLT5TTVNFTlZPSV9FTUFJTCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ1NNU0VOVk9JX0VNQUlMJyk7CgkJJHRoaXMtPlNNU0VOVk9JX1ZFUlNJT04gPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9WRVJTSU9OJyk7CgkJJHRoaXMtPlNNU0VOVk9JX0FQSUtFWSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ1NNU0VOVk9JX0FQSUtFWScpOwoJLy8JZGVmaW5lKCAnU01TRU5WT0lfVkVSU0lPTicsICRtb2QtPkdldFByZWZlcmVuY2UoJ1NNU0VOVk9JX1ZFUlNJT04nKSk7CgkvLwlkZWZpbmUoICdTTVNFTlZPSV9BUElLRVknLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9BUElLRVknKSk7CgkvLwlpZihTTVNFTlZPSV9FTUFJTD09Jycpe2RpZSgnVm91cyBkZXZleiBjb25maWd1cmVyIGxlIGZpY2hpZXIgc21zZW52b2kuY29uZmlnLnBocCcpOyB9Cgl9CgoJLyoqCgkqIFJlcXXDqnRlIGNVUkwgLSBWb3VzIG4nw6p0ZXMgcGFzIHNlbnPDqSBhcHBlbGVyIGNldHRlIG3DqXRob2RlCgkqIEBhY2Nlc3MgcHJpdmF0ZQoJKiAKCSovCglwcml2YXRlIGZ1bmN0aW9uIF9wb3N0UmVxdWVzdCgkdXJsLCRmaWVsZHMpewoJCQoJCQoJCSRmaWVsZHNbJ2VtYWlsJ109ICR0aGlzLT5TTVNFTlZPSV9FTUFJTDsvL1NNU0VOVk9JX0VNQUlMOwoJCSRmaWVsZHNbJ2FwaWtleSddPSAkdGhpcy0+U01TRU5WT0lfQVBJS0VZOwoJCSRmaWVsZHNbJ3ZlcnNpb24nXT0gJHRoaXMtPlNNU0VOVk9JX1ZFUlNJT047CgkvLwkkZmllbGRzWydhcGlrZXknXT1TTVNFTlZPSV9BUElLRVk7CgkvLwkkZmllbGRzWyd2ZXJzaW9uJ109U01TRU5WT0lfVkVSU0lPTjsKCQkKCQkKCQkkY3VybCA9IGN1cmxfaW5pdCgpOwoJCWN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX0hFQURFUiwgMCk7CgkJY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVJMLCR1cmwpOwoJCWN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsKCQljdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CgkJY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfUE9TVCwgMSk7CgkJY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVElNRU9VVCwgMTApOwoJCWN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1BPU1RGSUVMRFMsaHR0cF9idWlsZF9xdWVyeSgkZmllbGRzKSk7CgkJJHJlc3VsdCA9IGN1cmxfZXhlYyAoJGN1cmwpOwoJCQoJCWN1cmxfY2xvc2UgKCRjdXJsKTsKCQkKCQlyZXR1cm4gJHJlc3VsdDsKCQkKCX0KCQoJCgkvKioKCSogRm9uY3Rpb24gZCdlbnZvaSBkZSBTTVMgcG91ciB2b3RyZSBjb21wdGUgcHJpbmNpcGFsCgkqIEBwYXJhbSBzdHJpbmcgJHJlY2lwaWVudHMgbGlzdGUgZGVzIG51bcOpcm9zIGRlc3RpbmF0YWlyZXMgc8OpcGFyw6lzIHBhciB1bmUgdmlyZ3VsZQoJKiBAcGFyYW0gc3RyaW5nICRjb250ZW50IGNvbnRlbnUgZHUgbWVzc2FnZQoJKiBAcGFyYW0gc3RyaW5nICRzdWJ0eXBlIEdhbW1lIHV0aWxpc8OpZSBwb3VyIGwnZW52b2kgKCBMT1dDT1NUIC8gU1RBTkRBUkQgLyBQUkVNSVVNIC8gU1RPUCAvIExPTkcgKSBwYXJhbcOodHJlIG9wdGlvbm5lbCwgcGFyIGTDqWZhdXQgOiBQUkVNSVVNCgkqIEBwYXJhbSBzdHJpbmcgJHNlbmRlcmxhYmVsIE5vbSBkJ2V4cMOpZGl0ZXVyIMOgIGFmZmljaGVyIHBvdXIgbGVzIGdhbW1lcyBsZSBwZXJtZXR0YW50CgkqIEBwYXJhbSBzdHJpbmcgJHNlbmRkYXRlIERhdGUgZCdlbnZvaSBhdSBmb3JtYXQgIllZWVktbW0tZGQiICwgc2kgbGVzIHBhcmFtw6h0cmVzICRzZW5kZGF0ZSBldCAkc2VuZHRpbWUgbmUgc29udCBwYXMgcmVtcGxpcyBsJ2Vudm9pIHNlcmEgaW5zdGFudGFuw6kKCSogQHBhcmFtIHN0cmluZyAkc2VuZHRpbWUgSGV1cmUgZCdlbnZvaSBhdSBmb3JtYXQgIkhIOm1tOnNzIiAsIHNpIGxlcyBwYXJhbcOodHJlcyAkc2VuZGRhdGUgZXQgJHNlbmR0aW1lIG5lIHNvbnQgcGFzIHJlbXBsaXMgbCdlbnZvaSBzZXJhIGluc3RhbnRhbsOpCgkqIEBwYXJhbSBpbnRlZ2VyICRyaWNoc21zX29wdGlvbiBPcHRpb24gcmljaCBTTVMgw6AgdXRpbGlzZXI6IDEgb3UgMgoJKiBAcGFyYW0gc3RyaW5nICRyaWNoc21zX3VybCBBZHJlc3NlIFVSTCDDoCByYWNjb3VyY2lyCgkqLwoJcHVibGljIGZ1bmN0aW9uIHNlbmRTTVMoJHJlY2lwaWVudHMsJGNvbnRlbnQsJHN1YnR5cGU9J1BSRU1JVU0nLCRzZW5kZXJsYWJlbD0nU01TIEVOVk9JJywkc2VuZGRhdGU9JycsJHNlbmR0aW1lPScnLCRyaWNoc21zX29wdGlvbj0nJywkcmljaHNtc191cmw9JycpewoJCQoJCQoJCWlmKHN1YnN0cl9jb3VudCgkcmVjaXBpZW50cywnLCcpPjEwMDApeyAgaWYoJHRoaXMtPmRlYnVnKXsgZWNobyAiMTAwMCBkZXN0aW5hdGFpcmVzIG1heGltdW0gcGFyIHJlcXXDqnRlIjt9ICByZXR1cm4gZmFsc2U7IH0KCQkkZmllbGRzWydtZXNzYWdlJ11bJ3JlY2lwaWVudHMnXT0kcmVjaXBpZW50czsKCQkkZmllbGRzWydtZXNzYWdlJ11bJ2NvbnRlbnQnXT0kY29udGVudDsKCQkkZmllbGRzWydtZXNzYWdlJ11bJ3N1YnR5cGUnXT0kc3VidHlwZTsKCQkkZmllbGRzWydtZXNzYWdlJ11bJ3NlbmRlcmxhYmVsJ109JHNlbmRlcmxhYmVsOwoJCQoJCWlmKCRzZW5kZGF0ZSE9JycpeyAkZmllbGRzWydtZXNzYWdlJ11bJ3NlbmRkYXRlJ109JHNlbmRkYXRlO30KCQlpZigkc2VuZHRpbWUhPScnKXsgJGZpZWxkc1snbWVzc2FnZSddWydzZW5kdGltZSddPSRzZW5kdGltZTt9CgkJaWYoKCRyaWNoc21zX29wdGlvbiE9JycpJiYoJHJpY2hzbXNfdXJsIT0nJykpewoJCQkkZmllbGRzWydzaG9ydHVybCddWydvcHRpb24nXT0kcmljaHNtc19vcHRpb247CgkJCSRmaWVsZHNbJ3Nob3J0dXJsJ11bJ3VybCddPSRyaWNoc21zX3VybDsKCQl9CgkJCgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9zZW5kc21zLyIsJGZpZWxkcyk7CgkJCgkJCgkJJHRoaXMtPnJlc3VsdD1qc29uX2RlY29kZSgkdGhpcy0+cmF3cmVzdWx0KTsKCQlpZigkdGhpcy0+ZGVidWcgJiYgKGlzc2V0KCR0aGlzLT5yZXN1bHQtPm1lc3NhZ2UpKSl7IGVjaG8gJHRoaXMtPnJlc3VsdC0+bWVzc2FnZTsgfQkKCgkJCgkJaWYoaXNzZXQoJHRoaXMtPnJlc3VsdC0+c3VjY2VzcykmJigkdGhpcy0+cmVzdWx0LT5zdWNjZXNzPT0xKSl7ICR0aGlzLT5zdWNjZXNzPXRydWU7ICR0aGlzLT5pZD0kdGhpcy0+cmVzdWx0LT5tZXNzYWdlX2lkOyB9ZWxzZXsgJHRoaXMtPnN1Y2Nlc3M9ZmFsc2U7fQoJCXJldHVybiAkdGhpcy0+c3VjY2VzczsKCQkKCX0KCQoJCgkvKioKCSogRm9uY3Rpb24gZCdBcHBlbCB2b2NhbCBwb3VyIHZvdHJlIGNvbXB0ZSBwcmluY2lwYWwKCSogQHBhcmFtIHN0cmluZyAkcmVjaXBpZW50cyBsaXN0ZSBkZXMgbnVtw6lyb3MgZGVzdGluYXRhaXJlcyBzw6lwYXLDqXMgcGFyIHVuZSB2aXJndWxlCgkqIEBwYXJhbSBzdHJpbmcgJGNvbnRlbnQgY29udGVudSBkdSBtZXNzYWdlCgkqIEBwYXJhbSBzdHJpbmcgJHNlbmRkYXRlIERhdGUgZCdlbnZvaSBhdSBmb3JtYXQgIllZWVktbW0tZGQiICwgc2kgbGVzIHBhcmFtw6h0cmVzICRzZW5kZGF0ZSBldCAkc2VuZHRpbWUgbmUgc29udCBwYXMgcmVtcGxpcyBsJ2Vudm9pIHNlcmEgaW5zdGFudGFuw6kKCSogQHBhcmFtIHN0cmluZyAkc2VuZHRpbWUgSGV1cmUgZCdlbnZvaSBhdSBmb3JtYXQgIkhIOm1tOnNzIiAsIHNpIGxlcyBwYXJhbcOodHJlcyAkc2VuZGRhdGUgZXQgJHNlbmR0aW1lIG5lIHNvbnQgcGFzIHJlbXBsaXMgbCdlbnZvaSBzZXJhIGluc3RhbnRhbsOpCgkqLwoJcHVibGljIGZ1bmN0aW9uIHNlbmRDQUxMKCRyZWNpcGllbnRzLCRjb250ZW50LCRzZW5kZGF0ZT0nJywkc2VuZHRpbWU9JycpewoJCQoJCQoJCWlmKHN1YnN0cl9jb3VudCgkcmVjaXBpZW50cywnLCcpPjEwMDApeyAgaWYoJHRoaXMtPmRlYnVnKXsgZWNobyAiMTAwMCBkZXN0aW5hdGFpcmVzIG1heGltdW0gcGFyIHJlcXXDqnRlIjt9ICByZXR1cm4gZmFsc2U7IH0KCQkkZmllbGRzWydtZXNzYWdlJ11bJ3JlY2lwaWVudHMnXT0kcmVjaXBpZW50czsKCQkkZmllbGRzWydtZXNzYWdlJ11bJ2NvbnRlbnQnXT0kY29udGVudDsKCQoJCWlmKCRzZW5kZGF0ZSE9JycpeyAkZmllbGRzWydtZXNzYWdlJ11bJ3NlbmRkYXRlJ109JHNlbmRkYXRlO30KCQlpZigkc2VuZHRpbWUhPScnKXsgJGZpZWxkc1snbWVzc2FnZSddWydzZW5kdGltZSddPSRzZW5kdGltZTt9CgkJCgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9zZW5kY2FsbC8iLCRmaWVsZHMpOwoJCQoJCQoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgoJCQoJCWlmKGlzc2V0KCR0aGlzLT5yZXN1bHQtPnN1Y2Nlc3MpJiYoJHRoaXMtPnJlc3VsdC0+c3VjY2Vzcz09MSkpeyAkdGhpcy0+c3VjY2Vzcz10cnVlOyAkdGhpcy0+aWQ9JHRoaXMtPnJlc3VsdC0+bWVzc2FnZV9pZDsgfWVsc2V7ICR0aGlzLT5zdWNjZXNzPWZhbHNlO30KCQlyZXR1cm4gJHRoaXMtPnN1Y2Nlc3M7CgkJCgl9CgkKCQoJLyoqCgkqIEZvbmN0aW9uIGQnZW52b2kgZGUgU01TIHBvdXIgbGVzIGNvbXB0ZXMgbWFycXVlIGJsYW5jaGUKCSogQHBhcmFtIGludGVnZXIgJGNvYnJhbmRpbmdtZW1iZXJfaWQgSUQgZHUgY29tcHRlIG1hcnF1ZSBibGFuY2hlIGVmZmVjdHVhbnQgbCdlbnZvaQoJKiBAcGFyYW0gc3RyaW5nICRyZWNpcGllbnRzIGxpc3RlIGRlcyBudW3DqXJvcyBkZXN0aW5hdGFpcmVzIHPDqXBhcsOpcyBwYXIgdW5lIHZpcmd1bGUKCSogQHBhcmFtIHN0cmluZyAkY29udGVudCBjb250ZW51IGR1IG1lc3NhZ2UKCSogQHBhcmFtIHN0cmluZyAkc3VidHlwZSBHYW1tZSB1dGlsaXPDqWUgcG91ciBsJ2Vudm9pICggTE9XQ09TVCAvIFNUQU5EQVJEIC8gUFJFTUlVTSAvIFNUT1AgLyBMT05HICkgcGFyYW3DqHRyZSBvcHRpb25uZWwsIHBhciBkw6lmYXV0IDogUFJFTUlVTQoJKiBAcGFyYW0gc3RyaW5nICRzZW5kZXJsYWJlbCBOb20gZCdleHDDqWRpdGV1ciDDoCBhZmZpY2hlciBwb3VyIGxlcyBnYW1tZXMgbGUgcGVybWV0dGFudAoJKiBAcGFyYW0gc3RyaW5nICRzZW5kZGF0ZSBEYXRlIGQnZW52b2kgYXUgZm9ybWF0ICJZWVlZLW1tLWRkIiAsIHNpIGxlcyBwYXJhbcOodHJlcyAkc2VuZGRhdGUgZXQgJHNlbmR0aW1lIG5lIHNvbnQgcGFzIHJlbXBsaXMgbCdlbnZvaSBzZXJhIGluc3RhbnRhbsOpCgkqIEBwYXJhbSBzdHJpbmcgJHNlbmR0aW1lIEhldXJlIGQnZW52b2kgYXUgZm9ybWF0ICJISDptbTpzcyIgLCBzaSBsZXMgcGFyYW3DqHRyZXMgJHNlbmRkYXRlIGV0ICRzZW5kdGltZSBuZSBzb250IHBhcyByZW1wbGlzIGwnZW52b2kgc2VyYSBpbnN0YW50YW7DqQoJKi8KCXB1YmxpYyBmdW5jdGlvbiBzZW5kQ29icmFuZGluZ1NNUygkY29icmFuZGluZ21lbWJlcl9pZCwkcmVjaXBpZW50cywkY29udGVudCwkc3VidHlwZT0nUFJFTUlVTScsJHNlbmRlcmxhYmVsPSdTTVMgRU5WT0knLCRzZW5kZGF0ZT0nJywkc2VuZHRpbWU9JycpewoJCQoJCWlmKHN1YnN0cl9jb3VudCgkcmVjaXBpZW50cywnLCcpPjEwMDApeyAgaWYoJHRoaXMtPmRlYnVnKXsgZWNobyAiMTAwMCBkZXN0aW5hdGFpcmVzIG1heGltdW0gcGFyIHJlcXXDqnRlIjt9ICByZXR1cm4gZmFsc2U7IH0KCQkkZmllbGRzWydjb2JyYW5kaW5nbWVtYmVyX2lkJ109JGNvYnJhbmRpbmdtZW1iZXJfaWQ7CgkJJGZpZWxkc1snbWVzc2FnZSddWydyZWNpcGllbnRzJ109JHJlY2lwaWVudHM7CgkJJGZpZWxkc1snbWVzc2FnZSddWydjb250ZW50J109JGNvbnRlbnQ7CgkJJGZpZWxkc1snbWVzc2FnZSddWydzdWJ0eXBlJ109JHN1YnR5cGU7CgkJJGZpZWxkc1snbWVzc2FnZSddWydzZW5kZXJsYWJlbCddPSRzZW5kZXJsYWJlbDsKCQkKCQlpZigkc2VuZGRhdGUhPScnKXsgJGZpZWxkc1snbWVzc2FnZSddWydzZW5kZGF0ZSddPSRzZW5kZGF0ZTt9CgkJaWYoJHNlbmR0aW1lIT0nJyl7ICRmaWVsZHNbJ21lc3NhZ2UnXVsnc2VuZHRpbWUnXT0kc2VuZHRpbWU7fQoJCQoJCSR0aGlzLT5yYXdyZXN1bHQ9ICR0aGlzLT5fcG9zdFJlcXVlc3QoImh0dHA6Ly93d3cuc21zZW52b2kuY29tL2h0dHBhcGkvc2VuZHNtcy8iLCRmaWVsZHMpOwoJCQoJCQoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgoJCQoJCWlmKGlzc2V0KCR0aGlzLT5yZXN1bHQtPnN1Y2Nlc3MpJiYoJHRoaXMtPnJlc3VsdC0+c3VjY2Vzcz09MSkpeyAkdGhpcy0+c3VjY2Vzcz10cnVlOyAkdGhpcy0+aWQ9JHRoaXMtPnJlc3VsdC0+bWVzc2FnZV9pZDsgfWVsc2V7ICR0aGlzLT5zdWNjZXNzPWZhbHNlOwoJCQkKCQkJCgkJCWlmKCR0aGlzLT5kZWJ1Zyl7IGVjaG8gJHRoaXMtPnJlc3VsdC0+bWVzc2FnZTsgfQoJCX0KCQlyZXR1cm4gJHRoaXMtPnN1Y2Nlc3M7CgkJCgl9CgkKCQoJLyoqCgkqIEZvbmN0aW9uIHBlcm1ldHRhbnQgZGUgdsOpcmlmaWVyIGxlIHN0YXR1dCAoQWNjdXPDqSBkZSByw6ljZXB0aW9uKSBkJ3VuIGVudm9pCgkqIEBwYXJhbSBpbnRlZ2VyICRtZXNzYWdlX2lkIElEIGR1IG1lc3NhZ2UgY29uY2VybsOpCgkqLwkgCglwdWJsaWMgZnVuY3Rpb24gY2hlY2tEZWxpdmVyeSgkbWVzc2FnZV9pZCl7CgkJCgkJCgkJJGZpZWxkc1snbWVzc2FnZV9pZCddPSRtZXNzYWdlX2lkOwoJCSR0aGlzLT5yYXdyZXN1bHQ9ICR0aGlzLT5fcG9zdFJlcXVlc3QoImh0dHA6Ly93d3cuc21zZW52b2kuY29tL2h0dHBhcGkvY2hlY2tkZWxpdmVyeS8iLCRmaWVsZHMpOwoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgoJCXJldHVybiAkdGhpcy0+cmVzdWx0LT5saXN0aW5nOwoJCQoJCQoJCQoJfQoJCgkvKioKCSogRm9uY3Rpb24gcGVybWV0dGFudCBkJ29idGVuaXIgbGEgbGlzdGUgZGVzIHN0b3BzCgkqIHBhcmFtIEBpbnRlZ2VyICRjb2JyYW5kaW5nbWVtYmVyX2lkIElkIFNvdXMgY29tcHRlIG1hcnF1ZSBibGFuY2hlIChmYWN1bHRhdGlmKQoJKiBAcmV0dXJuIGFycmF5CgkqLwkJCglwdWJsaWMgZnVuY3Rpb24gY2hlY2tTdG9wcygkY29icmFuZGluZ21lbWJlcl9pZD0wKXsKCSRmaWVsZHM9YXJyYXkoKTsKCQlpZigkY29icmFuZGluZ21lbWJlcl9pZCE9MCl7JGZpZWxkc1snY29icmFuZGluZ21lbWJlcl9pZCddPSRjb2JyYW5kaW5nbWVtYmVyX2lkO30KCQkKCQkkdGhpcy0+cmF3cmVzdWx0PSAkdGhpcy0+X3Bvc3RSZXF1ZXN0KCJodHRwOi8vd3d3LnNtc2Vudm9pLmNvbS9odHRwYXBpL2NoZWNrc3RvcHMvIiwkZmllbGRzKTsKCgkJJHRoaXMtPnJlc3VsdD1qc29uX2RlY29kZSgkdGhpcy0+cmF3cmVzdWx0KTsKCQlpZigkdGhpcy0+ZGVidWcgJiYgKGlzc2V0KCR0aGlzLT5yZXN1bHQtPm1lc3NhZ2UpKSl7IGVjaG8gJHRoaXMtPnJlc3VsdC0+bWVzc2FnZTsgfQkKCgkKCQlyZXR1cm4gJHRoaXMtPnJlc3VsdC0+c3RvcHM7CgkKCX0KCgkvKioKCSogRm9uY3Rpb24gcGVybWV0dGFudCBkJ2Fqb3V0ZXIgdW4gc3RvcAoJKiBwYXJhbSBAc3RyaW5nICRwaG9uZSBudW3DqXJvIGRlIHTDqWzDqXBob25lCgkqIHBhcmFtIEBpbnRlZ2VyICRjb2JyYW5kaW5nbWVtYmVyX2lkIElkIFNvdXMgY29tcHRlIG1hcnF1ZSBibGFuY2hlIChmYWN1bHRhdGlmKQoJKiBAcmV0dXJuIGFycmF5CgkqLwkJCglwdWJsaWMgZnVuY3Rpb24gYWRkU3RvcCgkcGhvbmU9JycsJGNvYnJhbmRpbmdtZW1iZXJfaWQ9MCl7CgkJJGZpZWxkcz1hcnJheSgncGhvbmUnPT4kcGhvbmUpOwoJCWlmKCRjb2JyYW5kaW5nbWVtYmVyX2lkIT0wKXskZmllbGRzWydjb2JyYW5kaW5nbWVtYmVyX2lkJ109JGNvYnJhbmRpbmdtZW1iZXJfaWQ7fQoJCSR0aGlzLT5yYXdyZXN1bHQ9ICR0aGlzLT5fcG9zdFJlcXVlc3QoImh0dHA6Ly93d3cuc21zZW52b2kuY29tL2h0dHBhcGkvYWRkc3RvcC8iLCRmaWVsZHMpOwoKCQkkdGhpcy0+cmVzdWx0PWpzb25fZGVjb2RlKCR0aGlzLT5yYXdyZXN1bHQpOwoJCWlmKCR0aGlzLT5kZWJ1ZyAmJiAoaXNzZXQoJHRoaXMtPnJlc3VsdC0+bWVzc2FnZSkpKXsgZWNobyAkdGhpcy0+cmVzdWx0LT5tZXNzYWdlOyB9CQoJCgkJcmV0dXJuICR0aGlzLT5yZXN1bHQtPnN1Y2Nlc3M7CgkKCQoJCgl9CgkvKioKCSogRm9uY3Rpb24gcGVybWV0dGFudCBkZSB2w6lyaWZpZXIgbGUgbm9tYnJlIGRlIGNyw6lkaXRzIHJlc3RhbnRzIHN1ciB2b3RyZSBjb21wdGUgcHJpbmNpcGFsCgkqIEByZXR1cm4gYXJyYXkKCSovCSAJCglwdWJsaWMgZnVuY3Rpb24gY2hlY2tDcmVkaXRzKCl7CgkJJGZpZWxkcz1hcnJheSgpOwoJCSR0aGlzLT5yYXdyZXN1bHQ9ICR0aGlzLT5fcG9zdFJlcXVlc3QoImh0dHA6Ly93d3cuc21zZW52b2kuY29tL2h0dHBhcGkvY2hlY2tjcmVkaXRzLyIsJGZpZWxkcyk7CgkJJHRoaXMtPnJlc3VsdD1qc29uX2RlY29kZSgkdGhpcy0+cmF3cmVzdWx0KTsKCQlpZigkdGhpcy0+ZGVidWcgJiYgKGlzc2V0KCR0aGlzLT5yZXN1bHQtPm1lc3NhZ2UpKSl7IGVjaG8gJHRoaXMtPnJlc3VsdC0+bWVzc2FnZTsgfQkKCgkJJHJldHVybj1hcnJheSgnY2FsbCc9PmFycmF5KCdQSE9ORSc9PjAsJ01PQklMRVBIT05FJz0+MCksJ3Ntcyc9PmFycmF5KCdMT1dDT1NUJz0+MCwnU1RBTkRBUkQnPT4wLCdQUkVNSVVNJz0+MCwnTE9ORyc9PjAsJ1NUT1AnPT4wKSk7CgkJaWYoJHRoaXMtPnJlc3VsdC0+c3VjY2Vzcz09MSl7CgkJCQoJCQkkdGVtcGNyZWRpdHNyZW1haW5pbmc9KGFycmF5KSR0aGlzLT5yZXN1bHQtPmNyZWRpdHNyZW1haW5pbmc7CgkJCQoJCQkKCQkJaWYoaXNzZXQoJHRlbXBjcmVkaXRzcmVtYWluaW5nWyJzbXMiXSkpewoJCQkJCgkJCQlmb3JlYWNoKCR0ZW1wY3JlZGl0c3JlbWFpbmluZ1sic21zIl0gYXMgJGs9PiR2KXsKCQkJCQlzd2l0Y2goJGspewoJCQkJCQkKCQkJCQljYXNlIDE6ICRyZXR1cm5bInNtcyJdWyJMT1dDT1NUIl09JHY7IGJyZWFrOwoJCQkJCWNhc2UgMjogJHJldHVyblsic21zIl1bIlNUQU5EQVJEIl09JHY7IGJyZWFrOwoJCQkJCWNhc2UgMzogJHJldHVyblsic21zIl1bIlBSRU1JVU0iXT0kdjsgYnJlYWs7CgkJCQkJY2FzZSA0OiAkcmV0dXJuWyJzbXMiXVsiTE9ORyJdPSR2OyBicmVhazsKCQkJCQljYXNlIDc6ICRyZXR1cm5bInNtcyJdWyJTVE9QIl09JHY7IGJyZWFrOwoJCQkJCQkKCQkJCQkJCgkJCQkJCQoJCQkJCQkKCQkJCQl9CgkJCQkJCgkJCQkJCgkJCQl9CgkJCQkKCQkJCQoJCQl9CgkJCQoJCQlpZihpc3NldCgkdGVtcGNyZWRpdHNyZW1haW5pbmdbImNhbGwiXSkpewoJCQkJCgkJCQlmb3JlYWNoKCR0ZW1wY3JlZGl0c3JlbWFpbmluZ1siY2FsbCJdIGFzICRrPT4kdil7CgkJCQkJc3dpdGNoKCRrKXsKCQkJCQkJCgkJCQkJY2FzZSAxOiAkcmV0dXJuWyJjYWxsIl1bIlBIT05FIl09JHY7IGJyZWFrOwoJCQkJCWNhc2UgMjogJHJldHVyblsiY2FsbCJdWyJNT0JJTEVQSE9ORSJdPSR2OyBicmVhazsKCQkJCQkJCgkJCQkJCQoJCQkJCQkKCQkJCQkJCgkJCQkJfQoJCQkJCQoJCQkJCQoJCQkJfQoJCQkJCgkJCQkKCQkJfQoJCQkJcmV0dXJuICRyZXR1cm47CgkJCQkKCQkJCgkJCQoJCQkKCQl9ZWxzZXtyZXR1cm4gZmFsc2U7fQkKCX0KCQoJLyoqCgkqIEZvbmN0aW9uIHBlcm1ldHRhbnQgZGUgY3LDqWVyIHVuIGNvbXB0ZSBtYXJxdWUgYmxhbmNoZSAoIE7DqWNlc3NpdGUgZGUgY3LDqWVyIGF1IHByw6lhbGFibGUgdW5lIG1hcnF1ZSBibGFuY2hlIFNNU0VOVk9JLCAxMDAlIGdyYXR1aXQpCgkqIFBlbnNleiDDoCByw6ljdXDDqXJlciBldCBzdG9ja2VyIGwnSWQgcmV0b3VybsOpIGxvcnMgZGUgbGEgY3LDqWF0aW9uIGRlIGNlIGNvbXB0ZSBwb3VyIGxlcyBkaWZmw6lyZW50ZXMgbWFuaXB1bGF0aW9ucyBlbiByYXBwb3J0IGF2ZWMgY2UgY29tcHRlIChlbnZvaSBkZSBzbXMsIMOpZGl0aW9uIGR1IGNvbXB0ZS4uKQoJKiBAcGFyYW0gc3RyaW5nICRlbWFpbCBhZHJlc3NlIGUtbWFpbCBkZSBjb25uZXhpb24gZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKiBAcGFyYW0gc3RyaW5nICRtb3RkZXBhc3NlIG1vdCBkZSBwYXNzZSBkdSBjb21wdGUgY2xpZW50IG1hcnF1ZSBibGFuY2hlCgkqIEBwYXJhbSBzdHJpbmcgJG51bWVyb19wb3J0YWJsZSAob3B0aW9ubmVsKSBudW3DqXJvIGRlIHTDqWzDqXBob25lIGR1IHBvcHJpw6l0YWlyZSBkdSBjb21wdGUgY2xpZW50IG1hcnF1ZSBibGFuY2hlCgkqIEBwYXJhbSBzdHJpbmcgJG5vbSAob3B0aW9ubmVsKSBub20gZHUgcHJvcHJpw6l0YWlyZSBkdSBjb21wdGUgY2xpZW50IG1hcnF1ZSBibGFuY2hlCgkqIEBwYXJhbSBzdHJpbmcgJHByZW5vbSAob3B0aW9ubmVsKSBwcsOpbm9tIGR1IHByb3ByacOpdGFpcmUgZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKiBAcGFyYW0gc3RyaW5nICRyYWlzb25fc29jaWFsZSAob3B0aW9ubmVsKSByYWlzb24gc29jaWFsZSBkZSBsYSBzb2Npw6l0w6kgcHJvcHJpw6l0YWlyZSBkdSBjb21wdGUgY2xpZW50IG1hcnF1ZSBibGFuY2hlCgkqLwkgCglwdWJsaWMgZnVuY3Rpb24gY3JlYXRlQ29icmFuZGluZ01lbWJlcigkZW1haWwsJG1vdGRlcGFzc2UsJG51bWVyb19wb3J0YWJsZT0nJywkbm9tPScnLCRwcmVub209JycsJHJhaXNvbl9zb2NpYWxlPScnKXsKCQkKCQlpZigkZW1haWw9PScnfHwkbW90ZGVwYXNzZT09JycpeyAKCQkJaWYoJHRoaXMtPmRlYnVnKXsgZWNobyAiRUNIRUMgTG9ycyBkZSBsYSBjcsOpYXRpb24gZHUgY29tcHRlIDogTCdlLW1haWwgZXQgbGUgbW90IGRlIHBhc3NlIGRvaXZlbnQgw6p0cmUgcmVtcGxpcyI7fQoJCQlyZXR1cm4gZmFsc2U7fQoJCSRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsiZW1haWwiXT0kZW1haWw7CgkJJGZpZWxkc1siY29icmFuZGluZ21lbWJlciJdWyJtb3RkZXBhc3NlIl09JG1vdGRlcGFzc2U7CgkJaWYoJG51bWVyb19wb3J0YWJsZSE9IiIpeyRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsibnVtZXJvX3BvcnRhYmxlIl09JG51bWVyb19wb3J0YWJsZTt9CgkJaWYoJG5vbSE9IiIpeyRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsibm9tIl09JG5vbTt9CgkJaWYoJHJhaXNvbl9zb2NpYWxlIT0iIil7JGZpZWxkc1siY29icmFuZGluZ21lbWJlciJdWyJyYWlzb25fc29jaWFsZSJdPSRyYWlzb25fc29jaWFsZTt9CgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9jcmVhdGVjb2JyYW5kaW5nbWVtYmVyLyIsJGZpZWxkcyk7CgkJJHRoaXMtPnJlc3VsdD1qc29uX2RlY29kZSgkdGhpcy0+cmF3cmVzdWx0KTsKCQlpZigkdGhpcy0+ZGVidWcgJiYgKGlzc2V0KCR0aGlzLT5yZXN1bHQtPm1lc3NhZ2UpKSl7IGVjaG8gJHRoaXMtPnJlc3VsdC0+bWVzc2FnZTsgfQkKCgkJaWYoJHRoaXMtPnJlc3VsdC0+c3VjY2VzcyE9MSl7cmV0dXJuIGZhbHNlO30KCQlyZXR1cm4gJHRoaXMtPnJlc3VsdC0+Y29icmFuZGluZ21lbWJlcl9pZDsKCQkKCQkKCQkKCX0KCgoJLyoqCgkqIEZvbmN0aW9uIHBlcm1ldHRhbnQgZGUgY3LDqWVyIHVuIGNvbXB0ZSBtYXJxdWUgYmxhbmNoZSAoIE7DqWNlc3NpdGUgZGUgY3LDqWVyIGF1IHByw6lhbGFibGUgdW5lIG1hcnF1ZSBibGFuY2hlIFNNU0VOVk9JLCAxMDAlIGdyYXR1aXQpCgkqIEBwYXJhbSBpbnRlZ2VyIElkIGR1IGNvbXB0ZSBjbGllbnQgbWFycXVlIGJsYW5jaGUKCSogQHBhcmFtIHN0cmluZyAkZW1haWwgYWRyZXNzZSBlLW1haWwgZGUgY29ubmV4aW9uIGR1IGNvbXB0ZSBjbGllbnQgbWFycXVlIGJsYW5jaGUKCSogQHBhcmFtIHN0cmluZyAkbW90ZGVwYXNzZSBtb3QgZGUgcGFzc2UgZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKiBAcGFyYW0gc3RyaW5nICRudW1lcm9fcG9ydGFibGUgKG9wdGlvbm5lbCkgbnVtw6lybyBkZSB0w6lsw6lwaG9uZSBkdSBwb3ByacOpdGFpcmUgZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKiBAcGFyYW0gc3RyaW5nICRub20gKG9wdGlvbm5lbCkgbm9tIGR1IHByb3ByacOpdGFpcmUgZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKiBAcGFyYW0gc3RyaW5nICRwcmVub20gKG9wdGlvbm5lbCkgcHLDqW5vbSBkdSBwcm9wcmnDqXRhaXJlIGR1IGNvbXB0ZSBjbGllbnQgbWFycXVlIGJsYW5jaGUKCSogQHBhcmFtIHN0cmluZyAkcmFpc29uX3NvY2lhbGUgKG9wdGlvbm5lbCkgcmFpc29uIHNvY2lhbGUgZGUgbGEgc29jacOpdMOpIHByb3ByacOpdGFpcmUgZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKi8JIAkKCXB1YmxpYyBmdW5jdGlvbiBlZGl0Q29icmFuZGluZ01lbWJlcigkaWQsJGVtYWlsLCRtb3RkZXBhc3NlLCRudW1lcm9fcG9ydGFibGU9JycsJG5vbT0nJywkcHJlbm9tPScnLCRyYWlzb25fc29jaWFsZT0nJyl7CgkJCgkJaWYoJGVtYWlsPT0nJ3x8JG1vdGRlcGFzc2U9PScnfHwkaWQ9PScnKXsgCgkJCWlmKCR0aGlzLT5kZWJ1Zyl7IGVjaG8gIkVDSEVDIExvcnMgZGUgbGEgbW9kaWZpY2F0aW9uIGR1IGNvbXB0ZSA6IEwnSUQsIGwnZS1tYWlsIGV0IGxlIG1vdCBkZSBwYXNzZSBkb2l2ZW50IMOqdHJlIHJlbXBsaXMiO30KCQkJcmV0dXJuIGZhbHNlO30KCQkkZmllbGRzWyJjb2JyYW5kaW5nbWVtYmVyIl1bImlkIl09JGlkOwoJCSRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsiZW1haWwiXT0kZW1haWw7CgkJJGZpZWxkc1siY29icmFuZGluZ21lbWJlciJdWyJtb3RkZXBhc3NlIl09JG1vdGRlcGFzc2U7CgkJaWYoJG51bWVyb19wb3J0YWJsZSE9IiIpeyRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsibnVtZXJvX3BvcnRhYmxlIl09JG51bWVyb19wb3J0YWJsZTt9CgkJaWYoJG5vbSE9IiIpeyRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsibm9tIl09JG5vbTt9CgkJaWYoJHJhaXNvbl9zb2NpYWxlIT0iIil7JGZpZWxkc1siY29icmFuZGluZ21lbWJlciJdWyJyYWlzb25fc29jaWFsZSJdPSRyYWlzb25fc29jaWFsZTt9CgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9lZGl0Y29icmFuZGluZ21lbWJlci8iLCRmaWVsZHMpOwoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgoJCWlmKCFpc3NldCgkdGhpcy0+cmVzdWx0LT5zdWNjZXNzKXx8KCR0aGlzLT5yZXN1bHQtPnN1Y2Nlc3MhPTEpKXtyZXR1cm4gZmFsc2U7fQoJCXJldHVybiB0cnVlOwoJCQoJCQoJCQoJfQoKCgoJLyoqCgkqIEZvbmN0aW9uIHBlcm1ldHRhbnQgZGUgcsOpY3Vww6lyZXIgbGVzIGluZm9ybWF0aW9ucyBkJ3VuIGNvbXB0ZSBjbGllbnQgbWFycXVlIGJsYW5jaGUgCgkqIEBwYXJhbSBpbnRlZ2VyICRpZCBJZCBkZSBjb25uZXhpb24gZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKi8JIAoJcHVibGljIGZ1bmN0aW9uIGNoZWNrQ29icmFuZGluZ01lbWJlckluZm9zKCRpZCl7CgkJCgkJaWYoJGlkPT0nJyl7CgkJCWlmKCR0aGlzLT5kZWJ1Zyl7IGVjaG8gIkVDSEVDLCBsJ0lEIG5lIHBldXQgw6p0cmUgdmlkZSI7fQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCSRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsiaWQiXT0kaWQ7CgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9jaGVja2NvYnJhbmRpbmdtZW1iZXJpbmZvcy8iLCRmaWVsZHMpOwoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgkJJGNvYnJhbmRpbmdtZW1iZXI9IChhcnJheSkkdGhpcy0+cmVzdWx0LT5jb2JyYW5kaW5nbWVtYmVyOwoJCSRyZXR1cm49IChhcnJheSlyZXNldCgkY29icmFuZGluZ21lbWJlcik7CgkJCgkJZm9yZWFjaCgkcmV0dXJuIGFzICRrPT4kdil7aWYoc3Vic3RyKCRrLDAsNyk9PSdjcmVkaXRzJyl7dW5zZXQoJHJldHVyblska10pO319CgkJcmV0dXJuICRyZXR1cm47CgkJCgl9CgkKCgkvKioKCSogRm9uY3Rpb24gcGVybWV0dGFudCBkZSByw6ljdXDDqXJlciBsZSBub21icmUgZGUgY3LDqWRpdHMgcmVzdGFudHMgZCd1biBjb21wdGUgY2xpZW50IG1hcnF1ZSBibGFuY2hlIAoJKiBAcGFyYW0gaW50ZWdlciAkaWQgSWQgZGUgY29ubmV4aW9uIGR1IGNvbXB0ZSBjbGllbnQgbWFycXVlIGJsYW5jaGUKCSovCSAKCXB1YmxpYyBmdW5jdGlvbiBjaGVja0NvYnJhbmRpbmdNZW1iZXJDcmVkaXRzKCRpZCl7CgkJCgkJaWYoJGlkPT0nJyl7CgkJCWlmKCR0aGlzLT5kZWJ1Zyl7IGVjaG8gIkVDSEVDLCBsJ0lEIG5lIHBldXQgw6p0cmUgdmlkZSI7fQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCSRmaWVsZHNbImNvYnJhbmRpbmdtZW1iZXIiXVsiaWQiXT0kaWQ7CgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9jaGVja2NvYnJhbmRpbmdtZW1iZXJpbmZvcy8iLCRmaWVsZHMpOwoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgkJJGNvYnJhbmRpbmdtZW1iZXI9IChhcnJheSkkdGhpcy0+cmVzdWx0LT5jb2JyYW5kaW5nbWVtYmVyOwoJCSR0ZW1wPSAoYXJyYXkpcmVzZXQoJGNvYnJhbmRpbmdtZW1iZXIpOwoJCQoKCQlpZihpc3NldCgkdGVtcFsiY3JlZGl0c19zbXNfbG93Y29zdCJdKSl7ICRyZXR1cm5bIkxPV0NPU1QiXT0kdGVtcFsiY3JlZGl0c19zbXNfbG93Y29zdCJdO30KCQlpZihpc3NldCgkdGVtcFsiY3JlZGl0c19zbXNfc3RhbmRhcmQiXSkpeyAkcmV0dXJuWyJTVEFOREFSRCJdPSR0ZW1wWyJjcmVkaXRzX3Ntc19zdGFuZGFyZCJdO30KCQlpZihpc3NldCgkdGVtcFsiY3JlZGl0c19zbXNfcHJlbWl1bSJdKSl7ICRyZXR1cm5bIlBSRU1JVU0iXT0kdGVtcFsiY3JlZGl0c19zbXNfcHJlbWl1bSJdO30KCQlpZihpc3NldCgkdGVtcFsiY3JlZGl0c19zbXNfbG9uZyJdKSl7ICRyZXR1cm5bIkxPTkciXT0kdGVtcFsiY3JlZGl0c19zbXNfbG9uZyJdO30KCQlpZihpc3NldCgkdGVtcFsiY3JlZGl0c19zbXNfc3RvcCJdKSl7ICRyZXR1cm5bIlNUT1AiXT0kdGVtcFsiY3JlZGl0c19zbXNfc3RvcCJdO30KCQkKCQlyZXR1cm4gJHJldHVybjsKCQkKCX0KCgoJLyoqCgkqIEZvbmN0aW9uIHBlcm1ldHRhbnQgZGUgY3LDqWRpdGVyIHVuIGNvbXB0ZSBjbGllbnQgbWFycXVlIGJsYW5jaGUgKGxlcyBjcsOpZGl0cyBzb250IHB1aXPDqXMgZGFucyBsZXMgY3LDqWRpdHMgZGUgdm90cmUgY29tcHRlIHByaW5jaXBhbCkgCgkqIEBwYXJhbSBpbnRlZ2VyICRpZCBJZCBkZSBjb25uZXhpb24gZHUgY29tcHRlIGNsaWVudCBtYXJxdWUgYmxhbmNoZQoJKiBAcGFyYW0gc3RyaW5nICRzdWJ0eXBlIEdhbW1lIGRlIFNNUyDDoCBjcsOpZGl0ZXIgKCBMT1dDT1NUIC8gU1RBTkRBUkQgLyBQUkVNSVVNIC8gU1RPUCAvIExPTkcgKQoJKiBAcGFyYW0gaW50ZWdlciAkbmIgTm9tYnJlIGRlIHNtcyDDoCBjcsOpZGl0ZXIKCSovCSAKCXB1YmxpYyBmdW5jdGlvbiB1cGRhdGVDb2JyYW5kaW5nTWVtYmVyQ3JlZGl0cygkaWQsJHN1YnR5cGUsJG5iKXsKCQkKCQkkZmllbGRzWyJjb2JyYW5kaW5nbWVtYmVyIl1bImlkIl09JGlkOwoJCSRmaWVsZHNbImNyZWRpdHMiXVsidHlwZSJdPSJTTVMiOwoJCSRmaWVsZHNbImNyZWRpdHMiXVsic3VidHlwZSJdPSRzdWJ0eXBlOwoJCSRmaWVsZHNbImNyZWRpdHMiXVsibmIiXT0kbmI7CgkJCgkJJHRoaXMtPnJhd3Jlc3VsdD0gJHRoaXMtPl9wb3N0UmVxdWVzdCgiaHR0cDovL3d3dy5zbXNlbnZvaS5jb20vaHR0cGFwaS9jb2JyYW5kaW5nbWVtYmVyY3JlZGl0cy8iLCRmaWVsZHMpOwoJCSR0aGlzLT5yZXN1bHQ9anNvbl9kZWNvZGUoJHRoaXMtPnJhd3Jlc3VsdCk7CgkJaWYoJHRoaXMtPmRlYnVnICYmIChpc3NldCgkdGhpcy0+cmVzdWx0LT5tZXNzYWdlKSkpeyBlY2hvICR0aGlzLT5yZXN1bHQtPm1lc3NhZ2U7IH0JCgoKCQlpZigkdGhpcy0+cmVzdWx0LT5zdWNjZXNzPT0xKXsgcmV0dXJuIHRydWU7fWVsc2V7CgkJCQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCQoJCQoJfQoKCgoKCgoKfQoKCgk/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.sms_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3Mgc21zX29wc3sKcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7fQoJLy9Bam91dGUgdW4gbWVzc2FnZSAKCWZ1bmN0aW9uIGFkZF9tZXNzYWdlKCRtZXNzYWdlX3JlZmVyZW5jZSwkc3VidHlwZSwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsJHNlbmRlcmxhYmVsLCAkY29udGVudCwgJHJpY2hzbXNfb3B0aW9uLCRyaWNoc21zX3VybCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19tZXNzYWdlcyAobWVzc2FnZV9yZWZlcmVuY2Usc3VidHlwZSwgc2VuZGRhdGUsIHNlbmR0aW1lLCBzZW5kZXJsYWJlbCwgY29udGVudCwgcmljaHNtc19vcHRpb24sIHJpY2hzbXNfdXJsKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbWVzc2FnZV9yZWZlcmVuY2UsJHN1YnR5cGUsICRzZW5kZGF0ZSwgJHNlbmR0aW1lLCRzZW5kZXJsYWJlbCwgJGNvbnRlbnQsICRyaWNoc21zX29wdGlvbiwkcmljaHNtc191cmwpKTsKCQlpZigkZGJyZXN1bHQpCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCS8vYWpvdXRlIGxlcyBkZXN0aW5hdGFpcmVzIGQndW4gbWVzc2FnZQoJZnVuY3Rpb24gYWRkX3JlY2lwaWVudHMoJG1lc3NhZ2VfaWQsICRpZF9lbnZvaSwgJGxpY2VuY2UsICRzZW50PScwJywgJHJlY2lwaWVudHMpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcmVjaXBpZW50cyAobWVzc2FnZV9pZCwgaWRfZW52b2ksIHJlY2lwaWVudHMsIG51bWJlciwgc2VudCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/KSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG1lc3NhZ2VfaWQsICRpZF9lbnZvaSwgJGxpY2VuY2UsJHJlY2lwaWVudHMsICRzZW50KSk7Cgl9CgkKCS8vcsOpY3Vww6hyZSBsZXMgZMOpdGFpbHMgZHUgbWVzc2FnZQoJZnVuY3Rpb24gZGV0YWlsc19tZXNzYWdlKCRyZWNvcmRfaWQpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGV0YWlscyA9IGFycmF5KCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfbWVzc2FnZXMgV0hFUkUgaWQgPSA/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcmVjb3JkX2lkKSk7CgkJCgl9CgkvL01ldCDDoCBqb3VyIGxlIGlkX2Vudm9pIGRzIGxhIHRhYmxlIG1lc3NhZ2UKCWZ1bmN0aW9uIG1hal9lbnZvaSgkbWVzc2FnZV9yZWZlcmVuY2UsJGlkX2Vudm9pKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5PSJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfbWVzc2FnZXMgU0VUIGlkX2Vudm9pID0gPyBXSEVSRSBtZXNzYWdlX3JlZmVyZW5jZSA9ID8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpZF9lbnZvaSwgJG1lc3NhZ2VfcmVmZXJlbmNlKSk7CgkJCgl9CgkvL21ldCDDoCBqb3VyIGxlIGlkX2Vudm9pIGRhbnMgbGEgdGFibGUgcmVjaXBpZW50cwoJZnVuY3Rpb24gbWFqX3JlY2lwaWVudHMoJG1lc3NhZ2VfaWQsICRpZF9lbnZvaSkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRxdWVyeT0iVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3JlY2lwaWVudHMgU0VUIGlkX2Vudm9pID0gPyBXSEVSRSBtZXNzYWdlX2lkID0gPyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX2Vudm9pLCAkbWVzc2FnZV9pZCkpOwoJfQoJLy9jYWxjdWxlIGxlIG5iIGRlIGRlc3RpbmF0YWlyZXMgcGFyIG1lc3NhZ2UKCWZ1bmN0aW9uIGNvdW50X3VzZXJzX3Blcl9tZXNzYWdlKCRtZXNzYWdlX2lkKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBjb3VudCgqKSBBUyBuYiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3JlY2lwaWVudHMgV0hFUkUgbWVzc2FnZV9pZCA9ID8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRtZXNzYWdlX2lkKSk7CgkJaWYoJGRicmVzdWx0KQoJCXsKCQkJLy8gbGEgcmVxdWV0ZSBmb25jdGlvbm5lICEgT3VmICEKCQkJLy9kZXMgcsOpc3VsdGF0cyA/CgkJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CgkJCSRuYiA9ICRyb3dbJ25iJ107CgoJCQlyZXR1cm4gJG5iOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gRkFMU0U7CgkJfQoJfQoJLy9jYWxjdWxlIGxlIG5iIGRlIGRlc3RpbmF0YWlyZXMgYXlhbnQgZWZmZWN0aXZlbWVudCByZcOndSBsZSBtZXNzYWdlCglmdW5jdGlvbiByZWNlaXZlZCgkbWVzc2FnZV9pZCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgY291bnQoKikgQVMgbmIgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIFdIRVJFIG1lc3NhZ2VfaWQgPSA/IEFORCBzZW50ID0gMSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG1lc3NhZ2VfaWQpKTsKCQlpZigkZGJyZXN1bHQpCgkJewoJCQkvLyBsYSByZXF1ZXRlIGZvbmN0aW9ubmUgISBPdWYgIQoJCQkvL2RlcyByw6lzdWx0YXRzID8KCQkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQkJJG5iID0gJHJvd1snbmInXTsKCgkJCXJldHVybiAkbmI7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBGQUxTRTsKCQl9Cgl9CglmdW5jdGlvbiBtYWpfZW52b2lfcmVjaXBpZW50cygkbWVzc2FnZV9pZCwkaWRfZW52b2kpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnk9IlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIFNFVCBpZF9lbnZvaSA9ID8gQU5EIHNlbnQgPSAxIFdIRVJFIG1lc3NhZ2VfaWQgPSA/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfZW52b2ksICRtZXNzYWdlX2lkKSk7CgkJCgl9CglmdW5jdGlvbiBhY2N1c2VfcmVjZXB0aW9uKCRpZF9lbnZvaSwgJG51bWJlciwgJGFyZGF0ZSwgJGFydGltZSkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRyZWNlaXZlZCA9IDA7CgkJJHNlbnQgPSAwOwoJCWlmKEZBTFNFID09PSBzdHJpc3RyKCRudW1iZXIsICcrMzMnKSkgCgkJewoJCQkkbnVtYmVyID0gc3RydHIoJG51bWJlciwgJzAnLCAnKzMzJyk7CgkJfQoJCWlmKCRhcmRhdGUgIT0nJyAmJiAkYXJ0aW1lICE9ICcnKQoJCXsKCQkJJHJlY2VpdmVkID0gMTsKCQkJJHNlbnQgPSAxOwoJCX0KCQkkcXVlcnkgPSAiVVBEQVRFIElHTk9SRSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIFNFVCBhcmRhdGUgPSA/LCBhcnRpbWUgPSA/LCByZWNlaXZlZCA9ID8sIHNlbnQgPSA/IFdIRVJFIGlkX2Vudm9pID0gPyBBTkQgbnVtYmVyIExJS0UgPyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGFyZGF0ZSwgJGFydGltZSwgJHJlY2VpdmVkLCAkc2VudCwkaWRfZW52b2ksICRudW1iZXIpKTsJCQkJCgl9CgkvL3N1cHByaW1lIHVuIG1lc3NhZ2UKCWZ1bmN0aW9uIGRlbGV0ZV9tZXNzYWdlKCRtZXNzYWdlX2lkKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5PSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19tZXNzYWdlcyBXSEVSRSBpZCA9ID8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRtZXNzYWdlX2lkKSk7CgkJaWYoJGRicmVzdWx0KQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9CgkvL3N1cHByaW1lIGxlcyByZWNpcGllbnRzIGQndW4gbWVzc2FnZSBkb25uw6kKCWZ1bmN0aW9uIGRlbGV0ZV9yZWNpcGllbnRzKCRtZXNzYWdlX2lkKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5PSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIFdIRVJFIG1lc3NhZ2VfaWQgPSA/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbWVzc2FnZV9pZCkpOwoJCWlmKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCk+MCkKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoJLy9kw6l0ZXJtaW5lIHNpIHVuIHV0aWxpc2F0ZXVyIGEgZMOpasOgIHJlw6d1IHVuIFNNUyBwb3VyIGxlIHJlbnZveWVyIHNpIGJlc29pbgoJZnVuY3Rpb24gYWxyZWFkeV9tZXNzYWdlZCgkbWVzc2FnZV9pZCwgJGdlbmlkKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCByZWNpcGllbnRzLCBtZXNzYWdlX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcmVjaXBpZW50cyBXSEVSRSBtZXNzYWdlX2lkID0gPyBBTkQgcmVjaXBpZW50cyA9ID8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRtZXNzYWdlX2lkLCAkZ2VuaWQpKTsKCQlpZigkZGJyZXN1bHQpCgkJewoJCQlpZigkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPjApCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9CgkKCQoJCiMjRW5kIG9mIGNsYXNzCn0=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNNUwojIFZlcnNpb246IDAuMy4xLCBDbGF1ZGUgU0lPSEFOIEFnaSB3ZWJjb25zZWlsCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgogKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8qKiAKICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlCiAqIHdyYXBwZWQgaW4gdGhlIEluc3RhbGwoKSBtZXRob2QgaW4gdGhlIG1vZHVsZSBib2R5LgogKi8KCiRkYiA9ICRnQ21zLT5HZXREYigpOwoKLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyApOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgovLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KJGZsZHMgPSAiCglpZCBJKDExKSBBVVRPIEtFWSwKCW1lc3NhZ2VfcmVmZXJlbmNlIEMoMTUpLAoJaWRfZW52b2kgQygxNTApLAoJc3VidHlwZSBDKDEwKSwKCXNlbmRkYXRlIEQgLAoJc2VuZHRpbWUgVCAsCglzZW5kZXJsYWJlbCBDKDI1KSwKCWNvbnRlbnQgQygxNjApLAoJcmljaHNtc19vcHRpb24gSSgxKSwKCXJpY2hzbXNfdXJsIEMoMjU1KSI7CgkJCQovLyBjcmVhdGUgaXQuIAokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19tZXNzYWdlcyIsCgkJCQkgICAkZmxkcywgCgkJCQkgICAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiMKCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwokZmxkcz0gImlkIEkoMTEpIEtFWSBBVVRPLAogICAgICAgIG1lc3NhZ2VfaWQgSSgxMSksCglpZF9lbnZvaSBDKDE1MCksCglyZWNpcGllbnRzIEMoMjUpLAoJbnVtYmVyIEMoMTUpLAoJc2VudCBJKDEpIERFRkFVTFQgMCwKCXJlY2VpdmVkIEkoMSkgREVGQVVMVCAwLAoJYXJkYXRlIEQsCglhcnRpbWUgVCI7Cgokc3FsYXJyYXk9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3JlY2lwaWVudHMiLAoJCQkJICAkZmxkcywKCQkJCSAgJHRhYm9wdGFycmF5KTsKCQkJCQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiMKLyoKIyBMZXMgaW5kZXhzCgoKLy9vbiBjcsOpw6kgdW4gaW5kZXggc3VyIGxhIHRhYmxlIHJlY2lwaWVudHMKJGlkeG9wdGFycmF5ID0gYXJyYXkoJ1VOSVFVRScpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoY21zX2RiX3ByZWZpeCgpLidyZWNpcGllbnRzJywKCSAgICBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcmVjaXBpZW50cycsICdpZF9lbnZvaSwgbGljZW5jZScsJGlkeG9wdGFycmF5KTsKCSAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoqLwojCi8vIGNyZWF0ZSBhIHBlcm1pc3Npb24KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1NtcyB1c2UnLCAnVXRpbGlzZXIgbGVzIHNtcycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU21zIFNldCBQcmVmcycsICdNb2RpZmllciBsZXMgZG9ubsOpZXMgZHUgY29tcHRlJyk7CiMKIwojCiNMZXMgcHLDqWbDqXJlbmNlcwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnU01TRU5WT0lfRU1BSUwnLCAnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9BUElLRVknLCAnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdTTVNFTlZPSV9WRVJTSU9OJywgJzMuMC40IFRFU1RBUEknKTsKCi8vbGVzIHBhcmFtw6h0cmVzIGJpdGx5IHBvdXIgcmFjY291cmNpciBsZXMgdXJscwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJywgJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X3NlY3JldCcsICcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X2FjY2Vzc190b2tlbicsICcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X3JlZGlyZWN0X3VyaScsICcnKTsKCiMKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFJzcwojICAKJGRiID0gJHRoaXMtPkdldERiKCk7CgovLyByZW1vdmUgdGhlIGRhdGFiYXNlIHRhYmxlcwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19tZXNzYWdlcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3JlY2lwaWVudHMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgovLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdTbXMgdXNlJyk7CgokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNNUwojIFZlcnNpb246IDAuNAojIE1ldGhvZDogVXBncmFkZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8qKgogKiBGb3Igc2VwYXJhdGVkIG1ldGhvZHMsIHlvdSdsbCBhbHdheXMgd2FudCB0byBzdGFydCB3aXRoIHRoZSBmb2xsb3dpbmcKICogbGluZSB3aGljaCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBtZXRob2Qgd2FzIGNhbGxlZCBmcm9tIHRoZSBtb2R1bGUKICogQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToKKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0gJHRoaXMtPkdldERiKCk7CQkJLyogQHZhciAkZGIgQURPQ29ubmVjdGlvbiAqLwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7IAkvKiBAdmFyICRkaWN0IEFET0RCX0RhdGFEaWN0ICovCi8qKgogKiBBZnRlciB0aGlzLCB0aGUgY29kZSBpcyBpZGVudGljYWwgdG8gdGhlIGNvZGUgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUKICogd3JhcHBlZCBpbiB0aGUgVXBncmFkZSgpIG1ldGhvZCBpbiB0aGUgbW9kdWxlIGJvZHkuCiAqLwokbm93ID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIik7CiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCnsKICAvLyB3ZSBhcmUgbm93IDEuMCBhbmQgd2FudCB0byB1cGdyYWRlIHRvIGxhdGVzdAogCWNhc2UgIjAuMSI6CiAJCWNhc2UgIjAuMiI6Cgl7CgkJLy9kbyBtYWdpYwoJCiAgIAkJJHF1ZXJ5ID0gIlNFTEVDVCBhZGguZ2VuaWQsIGJlLnJlY2lwaWVudHMgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2FkaGVyZW50c19hZGhlcmVudHMgQVMgYWRoLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIEFTIGJlIFdIRVJFIGFkaC5saWNlbmNlID0gYmUucmVjaXBpZW50cyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJaWYoJGRicmVzdWx0KQoJCXsKCQkJd2hpbGUoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQkJewoJCQkJJGdlbmlkID0gJHJvd1snZ2VuaWQnXTsKCQkJCSRxdWVyeTIgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3JlY2lwaWVudHMgU0VUIHJlY2lwaWVudHMgPSA/IFdIRVJFIHJlY2lwaWVudHMgPSA/IjsKCQkJCSRkYnJlc3VsdDIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5MiwgYXJyYXkoJGdlbmlkLCAkcm93WydyZWNpcGllbnRzJ10pKTsKCQkJCgkJCX0KCQl9CQkKCX0KCQogIAljYXNlICIwLjMiIDogCgl7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJGZsZHMgPSAiYXJkYXRlIEQiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIiwgJGZsZHMpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoJfQoJY2FzZSAiMC4zLjEiIDoKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJywgJycpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfc2VjcmV0JywgJycpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9hY2Nlc3NfdG9rZW4nLCAnJyk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X3JlZGlyZWN0X3VyaScsICcnKTsKCQkKCQkvL29uIGNoYW5nZSBsZSB0eXBlIHBvdXIgbCdpZF9lbnZvaSBkcyBsZXMgZGV1eCB0YWJsZXMKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX21lc3NhZ2VzIiwKCQkJCQkJICAgICAiaWRfZW52b2kgQygxNTApIik7CgkgCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoJCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19yZWNpcGllbnRzIiwKCQkJCQkJICAgICAiaWRfZW52b2kgQygxNTApIik7CgkgCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoJfQoJCn0KCgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygndXBncmFkZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgovL25vdGU6IG1vZHVsZSBhcGkgaGFuZGxlcyBzZW5kaW5nIGdlbmVyaWMgZXZlbnQgb2YgbW9kdWxlIHVwZ3JhZGVkIGhlcmUKPz4=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJTbXMiCnZlcnNpb24gPSAwLjQKYXV0aG9yID0gIkFzc29TaW1wbGUiCmF1dGhvcmVtYWlsID0gImNvbnRhY3RAYXNzby1zaW1wbGUuZnIiCm1pbmNtc3ZlcnNpb24gPSAyLjAKbGF6eWxvYWRhZG1pbiA9IDAKbGF6eWxvYWRmcm9udGVuZCA9IDAKW2RlcGVuZHNdCkFkaGVyZW50cyA9ICIwLjMuNSIKW21ldGFdCmdlbmVyYXRlZCA9IDE1ODQ1Mjc2OTkKY21zX3ZlciA9IDIuMy1iZXRhNwo=]]></data>
	</file>
	<file>
	  <filename>/Sms.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlIDogU21zIC0gCiMgVmVyc2lvbiA6IDAuNCwgU2MKIyBBdXRldXIgOiBBc3NvU2ltcGxlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8qKgogKgogKiBAYXV0aG9yIEFzc29TaW1wbGUKICogQHNpbmNlIDAuMQogKiBAdmVyc2lvbiAkUmV2aXNpb246IDEgJAogKiBAbW9kaWZpZWRieSAkTGFzdENoYW5nZWRCeTogQ2xhdWRlCiAqIEBsYXN0bW9kaWZpZWQgJERhdGU6IDIwMTctMDMtMjYgMTE6NTY6MTYgKzAyMDAgKE1vbiwgMjggSnVpbCAyMDE1KSAkCiAqIEBsaWNlbnNlIEdQTAogKiovCgpjbGFzcyBTbXMgZXh0ZW5kcyBDTVNNb2R1bGUKewogIAogIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiAnU21zJzsgfSAgIAogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsgfSAgIAogIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMC40JzsgfSAgCiAgZnVuY3Rpb24gR2V0SGVscCgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7IH0gICAKICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnQXNzb1NpbXBsZSc7IH0gCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY29udGFjdEBhc3NvLXNpbXBsZS5mcic7IH0KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7IHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7IH0KICAgIAogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gdHJ1ZTsgfQogIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gdHJ1ZTsgfSAgIAogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsgcmV0dXJuICdjb250ZW50JzsgfQogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICAJcmV0dXJuIAoJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NtcyB1c2UnKTsKCQogIH0KICAKICAKICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKCXJldHVybiBhcnJheSgnQWRoZXJlbnRzJz0+JzAuMy41Jyk7CiAgfQoKICAKCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMi4wIjsKICB9CgogIAogIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogIHsgCiAgCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwoJCgkKCQoJLy9mb3JtIHBhcmFtZXRlcnMKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdWJtaXQnLENMRUFOX1NUUklORyk7CgkvLyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd0b3VybGlzdCcsQ0xFQU5fSU5UKTsKCQoKfQoKZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKewogIAlyZXR1cm4gcGFyZW50OjpJbml0aWFsaXplQWRtaW4oKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJzKCk7CgkvLyR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsIDEwMDAwMCwgJHRoaXMtPkxhbmcoJ2hlbHBfcGFnZWxpbWl0JykpOwp9CgpwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcyA9IGFycmF5KCkpCnsKICAgaWYoICRjYXBhYmlsaXR5ID09ICd0YXNrcycgKSByZXR1cm4gVFJVRTsKICAgcmV0dXJuIEZBTFNFOwp9CgpwdWJsaWMgZnVuY3Rpb24gZ2V0X3Rhc2tzKCkKewogICAkb2JqID0gYXJyYXkoKTsKCS8vJG9ialswXSA9IG5ldyBSZWN1cEFkaGVyZW50c1Rhc2soKTsKICAgCS8vJG9ialswXSA9IG5ldyBWZXJpZkFkaGVyZW50c1Rhc2soKTsgIAoJCnJldHVybiAkb2JqOyAKfQoKICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uICggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9pbmZvXycuJGV2ZW50bmFtZSApOwogIH0KICAgICAKICBmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsgfQogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gcmFuZG9tX3N0cmluZygkY2FyKSB7Cgkkc3RyaW5nID0gIiI7CgkkY2hhaW5lID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSI7CglzcmFuZCgoZG91YmxlKW1pY3JvdGltZSgpKjEwMDAwMDApOwoJZm9yKCRpPTA7ICRpPCRjYXI7ICRpKyspIHsKCQkkc3RyaW5nIC49ICRjaGFpbmVbcmFuZCgpJXN0cmxlbigkY2hhaW5lKV07Cgl9CglyZXR1cm4gJHN0cmluZzsKICB9CgogIAogIGZ1bmN0aW9uIF9TZXRTdGF0dXMoJG9pZCwgJHN0YXR1cykgewogICAgLy8uLi4KICB9CgoKCgp9IC8vZW5kIGNsYXNzCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAIJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAABAAAQAABfAHIAZQBjAGkAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAATAHMAaABvAHcAXwByAGUAYwBpAHAAaQBlAG4AdABzAC4AdABwAGxwdGJMdXN0cgAAADMAQQBwAHAAbABpAGMAYQB0AGkAbwBuAHMALwBNAEEATQBQAC8AaAB0AGQAbwBjAHMALwAxAC4AMAAvAG0AbwBkAHUAbABlAHMALwBSAHMAcwAvAHQAZQBtAHAAbABhAHQAZQBzAC8AAAATAHMAaABvAHcAXwByAGUAYwBpAHAAaQBlAG4AdABzAC4AdABwAGxwdGJOdXN0cgAAAAcAcgBzAHMALgB0AHAAbAAAAAcAcwBtAHMALgB0AHAAbHB0Ykx1c3RyAAAAMwBBAHAAcABsAGkAYwBhAHQAaQBvAG4AcwAvAE0AQQBNAFAALwBoAHQAZABvAGMAcwAvADEALgAwAC8AbQBvAGQAdQBsAGUAcwAvAFIAcwBzAC8AdABlAG0AcABsAGEAdABlAHMALwAAAAcAcwBtAHMALgB0AHAAbHB0Yk51c3RyAAAABwByAHMAcwAuAHQAcABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAACCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAABAAABAAAAAAAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/templates/account.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgxPlN0YXR1dCBkdSBjb21wdGU8L2gxPgo8dWw+Cgk8bGk+QXBwZWxzIHN1ciB0w6lscyBmaXhlcyA6IHskYXBwZWxzX2ZpeGVzfTwvbGk+Cgk8bGk+QXBwZWxzIHN1ciB0w6lscyBtb2JpbGVzIDogeyRhcHBlbHNfbW9iaWxlc308L2xpPgoJPGxpPlNNUyBsb3djb3N0IDogeyRzbXNfbG93Y29zdH08L2xpPiAKCTxsaT5TTVMgU3RhbmRhcmRzIDogeyRzbXNfc3RhbmRhcmRzfTwvbGk+IAogICAgPGxpPlNNUyBQUkVNSVVNIDogeyRzbXNfcHJlbWl1bX08L2xpPgoJPGxpPlNNUyBsb25nIDogeyRzbXNfbG9uZ308L2xpPgoJPGxpPlN0b3BzIDogeyRzdG9wc308L2xpPgo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_bitly.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Zvcm1fc3RhcnQgYWN0aW9uPSdhZG1pbl9iaXRseV90YWInfQo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkVudm95ZXIiLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjYW5jZWwiIHZhbHVlPSJBbm51bGVyIiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKCgoKCgk8ZmllbGRzZXQ+CgkJPGxlZ2VuZD5SYWNjb3VyY2lzc2V1ciBkJ1VSTCAoQml0bHkpPC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiBncmlkXzE0Ij5Qb3VyIHV0aWxpc2VyIGxlIHJhY2NvdXJjaXNzZXVyIGQnVVJMLCB2b3VzIGF1cmV6IGJlc29pbiBkJ3VuIGNvbXB0ZSBiaXRseSAodm9pciBsJ2FpZGUgc3VyIGxlIG1vZHVsZSk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCQk8bGFiZWwgY2xhc3M9ImdyaWRfMyI+IENsaWVudCBJZCA8L2xhYmVsPgoJCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJiaXRseV9jbGllbnRfaWQiIHZhbHVlPSJ7JGJpdGx5X2NsaWVudF9pZH0iIHNpemU9IjUwIi8+PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KCQkJPGxhYmVsIGNsYXNzPSJncmlkXzMiPkNsaWVudCBzZWNyZXQ8L2xhYmVsPgoJCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJiaXRseV9jbGllbnRfc2VjcmV0IiB2YWx1ZT0ieyRiaXRseV9jbGllbnRfc2VjcmV0fSIgc2l6ZT0iNTAiLz48L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCQk8bGFiZWwgY2xhc3M9ImdyaWRfMyI+QWNjZXNzIHRva2VuPC9sYWJlbD4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iYml0bHlfYWNjZXNzX3Rva2VuIiB2YWx1ZT0ieyRiaXRseV9hY2Nlc3NfdG9rZW59IiBzaXplPSI1MCIvPjwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJCTxsYWJlbCBjbGFzcz0iZ3JpZF8zIj5QYWdlIGRlIHJldG91ciBkZSBsJ2FwcGxpY2F0aW9uPC9sYWJlbD4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iYml0bHlfcmVkaXJlY3RfdXJpIiB2YWx1ZT0ieyRiaXRseV9yZWRpcmVjdF91cml9IiBzaXplPSI1MCIvPjwvZGl2PgoJCTwvZGl2PgoJPC9maWVsZHNldD4KCntmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/config.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cntmb3JtX3N0YXJ0IGFjdGlvbj0nYWRtaW5fY29uZmlnX3RhYid9CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkVudm95ZXIiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjYW5jZWwiIHZhbHVlPSJBbm51bGVyIj4KPGZpZWxkc2V0Pgo8bGVnZW5kPkNvbmZpZ3VyYXRpb24gcHJpbmNpcGFsZTwvbGVnZW5kPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPlZvdHJlIGVtYWlsPC9wPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJTTVNFTlZPSV9FTUFJTCIgdmFsdWU9InskU01TRU5WT0lfRU1BSUx9Ij4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPkNsw6kgZGUgdm90cmUgQVBJPC9wPgoJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IlNNU0VOVk9JX0FQSUtFWSIgdmFsdWU9InskU01TRU5WT0lfQVBJS0VZfSI+Cgk8L2Rpdj4KCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+VmVyc2lvbiB1dGlsaXPDqWUgOjwvcD4KCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iU01TRU5WT0lfVkVSU0lPTiIgdmFsdWU9InskU01TRU5WT0lfVkVSU0lPTn0iPgoJCTwvZGl2PgoKCjwvZmllbGRzZXQ+Cntmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/sendsms.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkVudm95ZXIgdW4gU01TPC9oMz4KPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyIGluZm9ybWF0aW9uIj5MZXMgc2lnbmVzIHN1aXZhbnRzIGNvbXB0ZW50IGRvdWJsZSBlbiBjYXJhY3TDqHJlcyA6IOKCrCBcIFtdIHt9IH4gXiB8IDxiciAvPgpMZSBzaWduZSDigqwgbidlc3QgZGlzcG9uaWJsZSBxdWUgc3VyIGxhIGdhbW1lIFByZW1pdW0uIEF1dHJlbWVudCBpbCBlc3QgcmVtcGxhY8OpIHBhciBFPC9wPgo8cD5BdHRlbnRpb24sIHNpIHZvdXMgdXRpbGlzZXogZGVzIHZhcmlhYmxlcyBkeW5hbWlxdWVzLCBjZSBub21icmUgcGV1dCBuZSBwYXMgaW5kaXF1ZXIgbGUgbm9tYnJlIHLDqWVsIGRlIGNhcmFjdMOocmVzL1NNUzwvcD4KPHA+U2kgdm91cyB1dGlsaXNleiB1bmUgbGlzdGUgZGUgY29udGFjdHMgdm91cyBwb3V2ZXogdXRpbGlzZXIgbGVzIHZhcmlhYmxlcwojbm9tIyAjcHJlbm9tIyAjdGVsZXBob25lIyAjZmF4IyAjY2hhbXAxIyAjY2hhbXAyIyAjY2hhbXAzIyAjY2hhbXA0IyAjY2hhbXA1IzwvZGl2Pgp7Zm9ybV9zdGFydH0KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJFbnZveWVyIi8+CiAge2lmICRlZGl0ID4gMH0KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJhcHBseSIgdmFsdWU9Ik1vZGlmaWVyIi8+CiAgey9pZn0KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjYW5jZWwiIHZhbHVlPSJBbm51bGVyIiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKCgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj5FeHDDqWRpdGV1ciA8L2xhYmVsPgogIAk8ZGl2IGNsYXNzPSJncmlkXzgiPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzZW5kZXIiIHZhbHVlPSJ7JHNlbmRlcn0iIC8+Cgk8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPkRlc3RpbmF0YWlyZXM6PC9sYWJlbD4KICAJPGRpdiBjbGFzcz0iZ3JpZF84Ij4KCTxzZWxlY3QgbmFtZT0icmVjaXBpZW50cyI+e2h0bWxfb3B0aW9ucyBvcHRpb25zPSRsaXN0ZV9ncm91cGVzfTwvc2VsZWN0PgoJPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+TWVzc2FnZTwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF84Ij57Y21zX3RleHRhcmVhIG5hbWU9ImNvbnRlbnQiIHZhbHVlPSRjb250ZW50IGVuYWJsZXd5c2l3eWc9ZmFsc2V9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KCTxsYWJlbCBjbGFzcz0iZ3JpZF8zIj5EYXRlIGV0IGhldXJlIGQnZW52b2k8L2xhYmVsPgoJPGRpdiBjbGFzcz0iZ3JpZF84Ij57aHRtbF9zZWxlY3RfZGF0ZSBzdGFydF95ZWFyPScyMDE5JyBlbmRfeWVhcj0nKzIwJyBwcmVmaXg9J2Vudm9pXycgdGltZT0kdGltYnJlfUAge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSdlbnZvaV8nIHRpbWU9JHRpbWJyZX17Y21zX2hlbHAga2V5PSdoZWxwX2Vudm9pJyB0aXRsZT0nRW52b2kgZGVzIG5vdGlmaWNhdGlvbnMnfQo8L2Rpdj4Ke2Zvcm1fZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/show_recipients.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyBlbnZvaXMgc21zIGRlIGNlIG1lc3NhZ2U8L2gyPgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj48YSBocmVmPSJ7bW9kdWxlX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX3Ntc190YWJ9Ij4gPD0gUmV2ZW5pcjwvYT48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskaXRlbWNvdW50fSZuYnNwO3skaXRlbXNmb3VuZH0gJm5ic3A7IDxhIGhyZWY9Inttb2R1bGVfYWN0aW9uX3VybCBhY3Rpb249Y2hlY2tfZGVsaXZlcnlfYWxsIG1lc3NhZ2VfaWQ9JG1lc3NhZ2VfaWR9Ij5Ww6lyaWZpZXIgbGEgZMOpbGl2cmFiaWxpdMOpPC9hPjwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7KiRmb3JtMnN0YXJ0Kn0KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KIDx0aGVhZD4KCTx0cj4KCQk8dGg+SWQ8L3RoPgoJCTx0aD5EZXN0aW5hdGFpcmU8L3RoPgoJCTx0aD5Sw6ljZXB0aW9uIDwvdGg+CQoJPCEtLQk8dGg+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0ic2VsZWN0YWxsIiBuYW1lPSJzZWxlY3RhbGwiPjwvdGg+LS0+Cgk8L3RyPgogPC90aGVhZD4KIDx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICA8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+Cgk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCTx0ZD57JGVudHJ5LT5yZWNpcGllbnRzfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+YXJkYXRlfS17JGVudHJ5LT5hcnRpbWV9PC90ZD4KCTwhLS08dGQ+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXNlbFtdIiB2YWx1ZT0ieyRlbnRyeS0+aWR9IiBjbGFzcz0ic2VsZWN0Ij48L3RkPi0tPgogIDwvdHI+CnsvZm9yZWFjaH0KIDwvdGJvZHk+CjwvdGFibGU+CjwhLS0KPCEtLSBTRUxFQ1QgRFJPUERPV04gCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+Cjxici8+eyokYWN0aW9uZGVtYXNzZSp9eyokc3VibWl0X21hc3NhY3Rpb24qfQogIDwvZGl2Pgp7KiRmb3JtMmVuZCp9Ci0tPgp7L2lmfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/sms.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyBlbnZvaXMgc21zPC9oMj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRlbnZvaV9zbXN9PC9wPjwvZGl2Pgp7aWYgJGl0ZW1jb3VudCA+IDB9CnskZm9ybTJzdGFydH0KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KIDx0aGVhZD4KCTx0cj4KCQk8dGg+SWQ8L3RoPgoJCTx0aD5UeXBlPC90aD4KCQk8dGg+RGF0ZSBlbnZvaSA8L3RoPgoJCTx0aD5FbnZvecOpID88L3RoPgoJCTx0aD5FeHDDqWRpdGV1cjwvdGg+CgkJPHRoPm1lc3NhZ2U8L3RoPgoJCTx0aD5EZXN0aW5hdGFpcmVzPC90aD4KCQk8dGg+UmXDp3Uocyk8L3RoPgoJCTx0aCBjb2xzcGFuPSIyIj5BY3Rpb24ocyk8L3RoPgoJCTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJPHRkPnskZW50cnktPnN1YnR5cGV9PC90ZD4KCTx0ZD57JGVudHJ5LT5zZW5kZGF0ZXxkYXRlX2Zvcm1hdDoiJWQtJW0tJVkifSAtIHskZW50cnktPnNlbmR0aW1lfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+aWRfZW52b2l9PC90ZD4KCTx0ZD57JGVudHJ5LT5zZW5kZXJsYWJlbH08L3RkPgoJPHRkPnskZW50cnktPmNvbnRlbnR9PC90ZD4JCgk8dGQ+eyRlbnRyeS0+bmJfcmVjaXBpZW50c308L3RkPgoJPHRkPnskZW50cnktPnJlY2VpdmVkfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGVsaXZlcnl9PC90ZD4KCTx0ZD57JGVudHJ5LT5kZWxldGV9PC90ZD4KCTx0ZD48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9c2VsW10iIHZhbHVlPSJ7JGVudHJ5LT5pZH0iIGNsYXNzPSJzZWxlY3QiPjwvdGQ+CiAgPC90cj4Key9mb3JlYWNofQogPC90Ym9keT4KPC90YWJsZT4KPCEtLSBTRUxFQ1QgRFJPUERPV04gLS0+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+Cjxici8+eyRhY3Rpb25kZW1hc3NlfXskc3VibWl0X21hc3NhY3Rpb259CiAgPC9kaXY+CnskZm9ybTJlbmR9CnsvaWZ9Cg==]]></data>
	</file>
</module>
