<?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>Availability</name>
	<version>1.7.10</version>
  <mincmsversion>1.6.5</mincmsversion>
	<help><![CDATA[PGgzPjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7Ij4tLSBXQVJOSU5HIC0tPC9zcGFuPjwvaDM+CjxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDVlbTsgcGFkZGluZzogMC41ZW07IGJhY2tncm91bmQ6ICNENEYyMzM7Ij5BbHRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBubyB2YWx1YWJsZSBkYXRhIGlzIGxvc3QgZHVyaW5nIHRoZSB1cGdyYWRlIHByb2Nlc3MsIHlvdSBhcmUgYWR2aXNlZCB0byBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBhIGNvbXBsZXRlbHkgdmVyaWZpZWQgYmFja3VwIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVwZ3JhZGUgdGhpcyBtb2R1bGUuICBBbHNvLCB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBiZWhhdmlvdXIgb2YgdGhpcyBtb2R1bGUgaGF2ZSBjaGFuZ2VkIGRyYW1hdGljYWxseSBzaW5jZSB0aGUgcHJldmlvdXNseSByZWxlYXNlZCB2ZXJzaW9uLCB0aGVyZWZvcmUgc29tZSByZS1zdHlsaW5nIG9mIHRlbXBsYXRlcyB3aWxsIG5lZWQgdG8gb2NjdXIgaWYgeW91IGFyZSB1cGdyYWRpbmcgZnJvbSBhIHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgZWFybGllciB0aGFuIDEuNy48L3A+CjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXBsZXRlIG9ubGluZSByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IHN5c3RlbSBmb3IgaG90ZWxzLCBjYXIgcmVudGFsIGFnZW5jaWVzLCBvciBhbnkgb3RoZXIgcHVycG9zZSB3aGVyZSBwYXJ0aWN1bGFyICZxdW90O3Jlc291cmNlcyZxdW90OyBjYW4gYmUgcmVzZXJ2ZWQgb24gYSBkYWlseSBiYXNpcy48L3A+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPgo8cD5BIGNvbXBsZXRlIGFkbWluIGludGVyZmFjZSBhbGxvd3MgYXV0aG9yaXplZCBhZG1pbmlzdHJhdG9ycyB0byBtYW5hZ2UgcmVzb3VyY2VzLCBldmVudHMsIHJlc2VydmF0aW9ucywgYW5kIGFsbCBhc3BlY3RzIG9mIHRoZSBkaXNwbGF5YWJsZSBpdGVtcy48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLgogIDx1bD4KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+CiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPgogIDwvdWw+CjxsaT4KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+CjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6CiAgPHVsPgogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPgo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4KPC91bD4KCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+CjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+CjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+CjxoND5SZXNlcnZhdGlvbnM8L2g0Pgo8cD5UaGUgZGVmYXVsdCBmb3JtIGZvciBhbGxvd2luZyBhIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gcmVsaWVzIGhlYXZpbHkgb24ganF1ZXJ5LCBhamF4LCBhbmQgamF2YXNjcmlwdC4gIFRvIGFsbG93IHRoZSBkZWZhdWx0IGZvcm0gdG8gd29yayBwcm9wZXJseSB5b3UgbmVlZCB0byBlbmFibGUgdGhlIGpxdWVyeXRvb2xzIG1vZHVsZSBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIGFuZCBhbHNvIGluY2x1ZGUgYSBzZXBlcmF0ZSBzZXQgb2YgamF2YXNjcmlwdCB1dGlsaXRpZXMgKHBocF9qcy5qcykgdGhhdCBpcyBwcm92aWRlZCB3aXRoIHRoZSBBdmFpbGFiaWxpdHkgbW9kdWxlcyBsaWIgZGlyZWN0b3J5LjwvbGk+CjxwPkkgc3VnZ2VzdCB5b3UgYWRkIHRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIHRvIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbnRvIHRoZSBwYWdlIG1ldGFkYXRhIHNlY3Rpb24gb2YgYW55IHBhZ2VzIHRoYXQgd2lsbCBiZSB3b3JraW5nIHdpdGggdGhlIGF2YWlsYWJpbGl0eSBtb2R1bGU6PC9wPgo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyI+CntKUXVlcnlUb29scyBhY3Rpb249J2luY2pzJ30KJmx0O3NjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ie3Jvb3RfdXJsfS9tb2R1bGVzL0F2YWlsYWJpbGl0eS9saWIvcGhwX2pzLmpzIiZndDsmbHQ7L3NjcmlwdCZndDsKPC9wcmU+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMTg8L2xpPjxsaT5DR0Vjb21tZXJjZUJhc2UgPSZndDsgMS4wPC9saT48bGk+Q0dTaW1wbGVTbWFydHkgPSZndDsgMS40PC9saT48bGk+RnJvbnRFbmRVc2VycyA9Jmd0OyAxLjcuMjwvbGk+PGxpPkpRdWVyeVRvb2xzID0mZ3Q7IDEuMC40PC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj0iZGVmYXVsdCIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgZGVzaXJlZCBmb3JtIG9yIHJlcG9ydCB0byBkaXNwbGF5LiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPgo8dWw+CjxsaT5hZGRyZXN2biAtIFRoZSBhZGQvZWRpdCByZXNlcnZhdGlvbiBmb3JtPGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGZvcm0gYWxsb3dzIGEgdmFsaWQsIGxvZ2dlZCBpbiBmcm9udGVuZCB1c2VyIHRvIGNyZWF0ZSBhIHJlc2VydmF0aW9uIGluIHRoZSBzeXN0ZW0uPC9saT4KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgdmlldyBkaXNwbGF5cyB0aGUgYXZhaWxhYmlsaXR5IG9mIHNlbGVjdGVkIHJlc291cmNlcyBmb3IgdGhlIGN1cnJlbnQgbW9udGguICBJdCBhbGxvd3MgcGFnaW5hdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBtb250aHMsIHZpZXdpbmcgYSByZXNvdXJjZSBkZXRhaWwgdmlldywgYW5kIHN1cHBsaWVzIGEgbGluayB0aGF0IHdpbGwgYnJpbmcgdXAgdGhlIGFkZHJlc3ZuIGZvcm0gZm9yIHRoZSBzZWxlY3RlZCBkYXRlIGFuZCByZXNvdXJjZS48L2xpPgo8bGk+ZGF5dmlldyAtIEEgcmVwb3J0IG9mIGFjdGl2aXRpZXMgKG9yIGxhY2sgdGhlcmVvZikgZm9yIGEgcGFydGljdWxhciBkYXk8L2xpPgo8bGk+ZGVmYXVsdCAgLSBUaGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3PGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhIHN1bW1hcnkgcmVwb3J0IG9mIHNlbGVjdGVkIHJlc291cmNlcy48L2xpPgo8bGk+ZGV0YWlsICAgIC0gVGhlIHJlc291cmNlIGRldGFpbCB2aWV3PGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UuPC9saT4KPGxpPm15cmVzZXJ2YXRpb24gLSBUaGUgbXlyZXNlcnZhdGlvbnMgcmVwb3J0Ljxici8+CiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgcmVwb3J0IGFib3V0IGFsbCBvZiB0aGUgdXBjb21pbmcgKG9wdGlvbmFsbHkgcGFzdCBhcyB3ZWxsKSByZXNlcnZhdGlvbnMgZm9yIHRoaXMgcGFydGljdWxhciB1c2VyLjwvbGk+CjxsaT5zZWFyY2ggLSBUaGUgc2VhcmNoIGZvcm0uPGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIHNlYXJjaGluZyBmb3IgcmVzb3VyY2VzIHRoYXQgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRvIHNwZWNpZmllZCBkYXRlcy48L2xpPgo8bGk+c2VuZGVtYWlsIC0gVGhlIHJlc2VydmF0aW9uIHNlbmRlbWFpbCBmb3JtPGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIGZyb250ZW5kIHVzZXJzIHRvIHNlbmQgYW4gZW1haWwgbWVzc2FnZSB0byBzaXRlIGFkbWluaXN0cmF0b3JzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSBzcGVjaWZpYyByZXNlcnZhdGlvbi48L2xpPgo8L3VsPgo8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRheXRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgZGF5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGF5IHZpZXcgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRldGFpbHBhZ2U9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciwgZGVmYXVsdCAoc3VtbWFyeSksIGFuZCBteXJlc2VydmF0aW9ucyB2aWV3cywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcGFnZSBmb3Igdmlld2luZyBlaXRoZXIgdGhlIHJlc291cmNlIGRldGFpbCwgdGhlIHJlc2VydmF0aW9uIGZvcm1zLCBvciB0aGUgc2VuZC1lbWFpbCBmb3JtLiAgSWYgdGhpcyB2YWx1ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoZSBwcmVmZXJlbmNlIGZyb20gdGhlIGFkbWluaXN0cmF0aW9uIGNvbnNvbGUgd2lsbCBiZSB1c2VkLiAgSWYgdGhhdCBpcyBub3Qgc2V0LCB0aGVuIHRoZSBjdXJyZW50IHBhZ2Ugd2lsbCBiZSB1c2VkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlsdGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciwgZGV0YWlsLCBkZWZhdWx0IChzdW1tYXJ5KSBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgdG8gdXNlIGZvciBhbnkgZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgaGF2ZSBubyBlZmZlY3QgaWYgcHJldHR5IHVybHMgYXJlIGNvbmZpZ3VyZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzdW1tYXJ5dGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtdGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSB3aWxsIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYWxlbmRhcnRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIgZGlzcGxheSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBjYWxlbmRhciB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZ2VuZXJhdGluZyB0aGUgZGlzcGxheTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmVzdm50ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuLCBjYWxlbmRhciwgYW5kIG15cmVzZXJ2YXRpb25zIGFjdGlvbnMsICB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZW1haWx0ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBteXJlc2VydmF0aW9uLCBhbmQgYWRkcmVzdm4gYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZW1haWxzIGFyZSBzZW50LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY29uZmlybXRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgcmVzZXJ2YXRpb24gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGEgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24gb25saW5lPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBteXJlc3Z0ZW1wbGF0ZT0iIiAtIC0tQWRkIE1lIC0gbW9kdWxlOkF2YWlsYWJpbGl0eSBzdHJpbmc6aGVscF9teXJlc3Z0ZW1wbGF0ZS0tPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZW5kZW1haWx0ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGUgc2VuZGVtYWlsIGZvcm0uICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhZ2VsaW1pdD0iMTAwMDAwIiAtIEluIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiByZXNvdXJjZXMgdG8gZGlzcGxheSBvbiBlYWNoIHBhZ2U8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3dhbGw9IjAiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZGlzcGxheWluZyBhbGwgcmVzZXJ2YXRpb25zLCBpbmNsdWRpbmcgcGFzdCByZXNlcnZhdGlvbnMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0Ynk9IiIgLSAgCkFwcGxpY2FibGUgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcsIHJlc291cmNlIHN1bW1hcnkgdmlldywgYW5kIHRoZSBhdmFpbGFiaWxpdHkgY2FsZW5kYXIgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIGRpc3BsYXllZCBpdGVtcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4KUmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCBhbmQgQXZhaWxhYmlsaXR5IENhbGVuZGFyIHZpZXc6PGJyLz4KPHVsPgogIDxsaT5uYW1lPC9saT4KICA8bGk+cHJpY2U8L2xpPgogIDxsaT5GOmZpZWxkbmFtZSA8ZW0+KHRoaXMgZm9ybSBhbGxvd3Mgc29ydGluZyBieSBjdXN0b20gZmllbGRzIGluIHRoZSBzdW1tYXJ5IHZpZXcpPC9lbT48L2xpPgo8L3VsPgpteWVzZXJ2YXRpb25zIHZpZXc6PGJyLz4KPHVsPgogIDxsaT5zdGFydF9kYXRlPC9saT4KICA8bGk+ZW5kX2RhdGU8L2xpPgogIDxsaT5wcmljZTwvbGk+CiAgPGxpPmNyZWF0ZV9kYXRlPC9saT4KICA8bGk+bW9kaWZpZWRfZGF0ZTwvbGk+CjwvdWw+CjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydG9yZGVyPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCBhdmFpbGFiaWxpdHkgY2FsZW5kYXIgdmlldywgYW5kIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiB0aGUgc2VsZWN0ZWQgZGF0YS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz48dWw+PGxpPmFzYyAtIGFzY2VuZGluZzwvbGk+PGxpPmRlc2MgLSBkZXNjZW5kaW5nPC9saT48L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcnNyY2lkPSIiIC0gVGhpcyBwYXJhbWV0ZXIgaXMgYWNjZXB0ZWQgYnkgdGhlIGRldGFpbCB0ZW1wbGF0ZSB0byBkaXNwbGF5IGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXN2X2lkPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGlkIG9mIGFuIGV4aXN0aW5nIHJlc2VydmF0aW9uIHRvIGVkaXQuICBZb3Ugd2lsbCBwcm9iYWJseSBub3QgbmVlZCB0byB1c2UgdGhpcyBwYXJhbWV0ZXIgZGlyZWN0bHk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNhdGVnb3J5PSIiIC0gQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBvZiBjYXRlZ29yeSBuYW1lcyB0byB1c2UgZm9yIHNlbGVjdGluZyB0aGUgZGF0YSB0byBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcmVzb3VyY2VzIHBhcmFtZXRlci48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJlc291cmNlcz0iIiAtIEluIHRoZSBjYWxlbmRhciB2aWV3IHRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBvZiByZXNvdXJjZSBuYW1lcyB0byBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBtb250aD0iIiAtIFVzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBkZWZhdWx0IG1vbnRoLiAgVXNlZCB3aXRoIHRoZSBkYXkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgdGFyZ2V0IG1vbnRoPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB5ZWFyPSIiIC0gVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgeWVhci4gV2hlbiB1c2VkIHdpdGggdGhlIGRheXZpZXcgYWN0aW9uIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgeWVhci48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRheT0iIiAtIFVzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSB0byBzcGVjaWZ5IGEgZGVmYXVsdCBkYXkuICBVc2VkIHdpdGggdGhlIGRheXZpZXcgYWN0aW9uIHRvIHNwZWNpZnkgdGhlIHRhcmdldCBkYXk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlYXJjaHRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlubGluZT0iMCIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3ZXRoZXIgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZSAocmVwbGFjZSB0aGUgb3JpZ2luYWwgdGFnKSwgb3Igc2hvdWxkIHJlcGxhY2UgdGhlIGNvbnRlbnQgYXJlYSBvZiB0aGUgcGFnZS4gICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IGlmIHRoZSBzdW1tYXJ5cGFnZSBwYXJhbWV0ZXIgaXMgYWxzbyBzcGVjaWZpZWQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHN1bW1hcnlwYWdlPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGlkIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHJlc3VsdGluZyBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIG9uLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCBpbmxpbmUgaXMgc2V0IHRvIGZhbHNlLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuNy4xMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KICA8bGk+dmVyc2lvbiAxLjMgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5Jbml0aWFsIFB1YmxpYyBSZWxlYXNlLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS40IC0gTWFyY2ggMjAwOQogICAgPHVsPgogICAgICA8bGk+U3VwcG9ydCBmb3IgcmVzZXJ2YXRpb25zIHdpdGhvdXQgYSBwcmljZTwvbGk+CiAgICAgIDxsaT5TdXBwb3J0IGZvciBtYXhpbXVtIGNhcGFjaXR5IGluIGEgcmVzb3VyY2UsIGFuZCBhIHBlci11bml0L2RheSBzdXJjaGFyZ2UgZm9yIG9ldmVyYWdlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT52ZXJzaW9uIDEuNS4zIC0gTWFyY2ggMjAwOQogICAgPHVsPgogICAgICA8bGk+QnVnIGZpeGVzLjwvbGk+CiAgICAgIDxsaT5BZGRzIGJ1bGsgZGlzY291bnQgcHJpY2luZyBtZWNoYW5pc24ocyk8L2xpPgogICAgICA8bGk+QWxsb3cgbXVsdGlwbGUgZmlsZSBhdHRhY2htZW50cy48L2xpPgogICAgICA8bGk+QWRkcyBhamF4eSB2aWV3IHVzZXIgc3R1ZmYgaW4gZWRpdCByZXNlcnZhdGlvbi48L2xpPgogICAgICA8bGk+QWRkIGFiaWxpdHkgdG8gYWxsb3cgbm8gcHJpY2luZy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT52ZXJzaW9uIDEuNyAtIE9jdG9iZXIgMjAwOQogICAgPHVsPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBmb3IgcmVzZXJ2YXRpb25zIHRvIGhhbmRsZSBtdWx0aXBsZSByZXNvdXJjZXMuPC9saT4KICAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgZm9yIHJlc291cmNlcyB0byBiZSBib29rYWJsZSBvbiB0aGUgaG91ciwgaGFsZiBkYXksIG9yIGRheS48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBmb3IgcmVzb3VyY2VzIHRvIGhhdmUgc3BlY2lmaWVkIGNoZWNraW4vY2hlY2tvdXQgdGltZXMuPC9saT4KICAgICAgPGxpPlRoZSBjYWxlbmRhciB2aWV3cyBub3cgd29yayBwcm9wZXJseTwvbGk+CiAgICAgIDxsaT5SZXdvcmsgdGhlIHJlc2VydmF0aW9uIHN0dWZmIHNvIHRoYXQgaXQgdXNlcyBqYXZhc2NyaXB0IGFuZCBhamF4IGV4dGVuc2l2ZWx5LjwvbGk+CiAgICAgIDxsaT5CZWdpbiB0aGUgT09QIFByb2Nlc3MuPC9saT4KICAgICAgPGxpPk5vdyByZXF1aXJlIFBIUCA1LjIrPC9saT4KICAgICAgPGxpPjxzdHJvbmc+LS0gV0FSTklORzogLS08L3N0cm9uZz4gIFRoZXJlIGlzIGEgc2VyaW91cyBicmVhayBpbiBhbGwgb2YgdGhlIGZyb250ZW5kIHRlbXBsYXRlcyByZWxhdGluZyB0byByZXNlcnZhdGlvbnMuICBVc2VycyBvZiB0aGVzZSBtb2R1bGVzIG1heSBoYXZlIHRvIHJlLXN0eWxlIHRoZWlyIHRlbXBsYXRlcy48bGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43LjEgLSBPY3RvYmVyIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT52ZXJzaW9uIDEuNy4yIC0gT2N0b2JlciAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjcuMyAtIERlY2VtYmVyIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPk1vcmUgYnVnIGZpeGVzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43LjQgLSBKYW51YXJ5LCAyMDEwCiAgICA8dWw+CiAgICAgIDxsaT5NaW5vciBmZWF0dXJlIGVuaGFuY2VtZW50cy48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBzb3J0IGJ5IGN1c3RvbSBmaWVsZHMgaW4gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT52ZXJzaW9uIDEuNy42IC0gSmFudWFyeSwgMjAxMAogICAgPHVsPgogICAgICA8bGk+U2F2ZSBzZWxlY3RlZCBkYXRlcyBpbiB0aGUgc2Vzc2lvbiBmb3IgdGhlIGFkZHJlc2VydmF0aW9uIHN0dWZmLi4uIGxvb2sgaW4gdGhlIHNlc3Npb24gZm9yIHNlbGVjdGVkIGRhdGVzIGZpcnN0LjwvbGk+CiAgICAgIDxsaT5BZGRzIGEgY2hlY2tib3ggdG8gY29udHJvbCB3ZXRoZXIgYSBjdXN0b21lciBnZXRzIGFuIGVtYWlsIG9uIGEgcmVzZXJ2YXRpb24gZWRpdCBpbiB0aGUgYWRtaW4uPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjcuNyAtIEphbnVhcnksIDIwMTAKICAgIDx1bD4KICAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gc29ydCB0aGUgcmVzb3VyY2VzIGluIHRoZSBhdmFpbGFiaWxpdHkgY2FsZW5kYXIgdmlldy48L2xpPgogICAgPC91bD4KICA8L2xpPgoKPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[A resource and availability manager for scheduling and reserving resources on a daily basis]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.18</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGEcommerceBase</requiredname>
	  <requiredversion>1.0</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.4</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.7.2</requiredversion>
	</requires>
	<requires>
	  <requiredname>JQueryTools</requiredname>
	  <requiredversion>1.0.4</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addresvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIEFkZCBSZXNlcnZhdGlvbiBGb3JtIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gZnVuY3Rpb25zCi8vCgovLwovLyBJbml0aWFsaXphdGlvbgovLwokZmV1ID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldSApIHJldHVybjsgLy8gY291bGQgbm90IGZpbmQgZmV1CiRjdXN0X2lkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwokdGhlX2RhdGUgPSBuZXcgY2dlX2RhdGUoKTsKJHRoZV9kYXRlLT5zZXRfZGF5KCR0aGVfZGF0ZS0+ZGF5KCkrMSk7CiR0aGVfeWVhciA9ICcnOwokdGhlX21vbnRoID0gJyc7CiR0aGVfZGF5ID0gJyc7CiRyZXN2X2lkID0gJyc7CiRyc3JjX2lkID0gJyc7CiRyZXN2X29iaiA9ICcnOwokdGhldGVtcGxhdGUgPSAncmVzdm5fJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5fVEVNUExBVEUpOwokZW1haWx0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURSk7CgoKLy8KLy8gUGFyYW1ldGVycwovLwoKLy8gZ2V0IGRhdGEgZnJvbSBwYXJhbWV0ZXJzCmlmKCBpc3NldCgkcGFyYW1zWydyZXN2bnRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAncmVzdm5fJy50cmltKCRwYXJhbXNbJ3Jlc3ZudGVtcGxhdGUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZW1haWx0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gdHJpbSgkcGFyYW1zWydlbWFpbHRlbXBsYXRlJ10pOwogIH0KCiRzZXNzaW9uX29iaiA9IG5ldyBjZ2Vfc2Vzc2lvbignYXZhaWxhYmlsaXR5Jyk7CiR0aGVfeWVhciAgPSAkc2Vzc2lvbl9vYmotPmdldCgnc2VsX3llYXInKTsKJHRoZV9tb250aCA9ICRzZXNzaW9uX29iai0+Z2V0KCdzZWxfbW9udGgnKTsKJHRoZV9kYXkgICA9ICRzZXNzaW9uX29iai0+Z2V0KCdzZWxfZGF5Jyk7CiRyc3JjX2lkICAgPSAkc2Vzc2lvbl9vYmotPmdldCgnc2VsX3JzcmMnKTsKJHNlc3Npb25fb2JqLT5jbGVhcigpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXInXSkgKQogIHsKICAgICR0aGVfeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pICkKICB7CiAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydtb250aCddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2RheSddKSApCiAgewogICAgJHRoZV9kYXkgPSAoaW50KSRwYXJhbXNbJ2RheSddOwogIH0KaWYoICR0aGVfZGF5ICYmICR0aGVfbW9udGggJiYgJHRoZV95ZWFyICkKICB7CiAgICAkdGhlX2RhdGUgPSBjZ2VfZGF0ZV91dGlsczo6ZGF0ZV9hdCgkdGhlX21vbnRoLCR0aGVfZGF5LCR0aGVfeWVhcik7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKICB7CiAgICAkcnNyY19pZCA9IChpbnQpJHBhcmFtc1sncnNyY2lkJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncmVzdl9pZCddKSApCiAgewogICAgJHJlc3ZfaWQgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZfaWQnXTsKICB9CmlmKCAkY3VzdF9pZCA8PSAwICkgCiAgewogICAgLy8gcmVkaXJlY3QgdGhlIHVzZXIgdG8gYSBjZXJ0YWluIHBhZ2UgaWYgbm90IGxvZ2dlZCBpbi4KICAgICRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nLC0xKTsKICAgIGlmKCAkcGFnZSAhPSAtMSApCiAgICAgIHsKCSRzZXNzaW9uX29iai0+cHV0KCdzZWxfZGF5JywkdGhlX2RheSk7Cgkkc2Vzc2lvbl9vYmotPnB1dCgnc2VsX21vbnRoJywkdGhlX21vbnRoKTsKCSRzZXNzaW9uX29iai0+cHV0KCdzZWxfeWVhcicsJHRoZV95ZWFyKTsKCSRzZXNzaW9uX29iai0+cHV0KCdzZWxfcnNyYycsJHJzcmNfaWQpOwoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcGFnZSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gZ290dGEgZGlzcGxheSBhIG1lc3NhZ2UKCS8vIGFuZCBleGl0CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CgoKLy8KLy8gU2V0dXAKLy8KaWYoICRyZXN2X2lkICkKICB7CiAgICAvLyB3ZSdyZSBlZGl0aW5nIGEgcmVzZXJ2YXRpb24KICAgICRyZXN2X29iaiA9IHJlc2VydmF0aW9uX29wczo6bG9hZF9ieV9pZCgkcmVzdl9pZCk7CiAgfQplbHNlCiAgewogICAgJHJlc3Zfb2JqID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbigpOwogICAgJHJlc3Zfb2JqLT5zZXRfY3VzdG9tZXJfaWQoJGN1c3RfaWQpOwogICAgJHJlc3Zfb2JqLT5zZXRfc3RhdHVzKEFWQUlMQUJJTElUWV9TVEFUVVNfUEVORElORyk7CiAgICBpZiggJHJzcmNfaWQgKQogICAgICB7CgkkcGFydCA9IG5ldyBhdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25fcGFydCgpOwoJJHBhcnQtPnNldF9yc3JjX2lkKCRyc3JjX2lkKTsKCSRwYXJ0LT5zZXRfc3RhcnRfZGF0ZSgkdGhlX2RhdGUtPnRvX2RiZm9ybWF0KCkpOwoJJHRoZV9lbmRfZGF0ZSA9IGNsb25lICR0aGVfZGF0ZTsKCSR0aGVfZW5kX2RhdGUtPnNldF9kYXkoJHRoZV9kYXRlLT5kYXkoKSsxKTsKCSRwYXJ0LT5zZXRfZW5kX2RhdGUoJHRoZV9lbmRfZGF0ZS0+dG9fZGJmb3JtYXQoKSk7CgkkcmVzdl9vYmotPmFkZF9wYXJ0KCRwYXJ0KTsKICAgICAgfQogIH0KCgovLwovLyBEYXRhIHZhbGlkYXRpb24KLy8KCi8vCi8vIEhhbmRsZSBmb3JtIHN1Ym1pc3Npb24KLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2F2YWlsX3N1Ym1pdCddKSApCnsKICAkZGVwb3NpdF9hbW91bnQgPSAwLjA7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2F2YWlsX2RlcG9zaXRfYW1vdW50J10pICkKICAgIHsKICAgICAgJGRlcG9zaXRfYW1vdW50ID0gKGZsb2F0KSRwYXJhbXNbJ2F2YWlsX2RlcG9zaXRfYW1vdW50J107CiAgICB9CgogIC8vIHJlYnVpbGQgdGhlIHJlc2VydmF0aW9uIGZyb20gcGFyYW1zLi4KICAkcmVzdl9vYmotPnJlbW92ZV9hbGxfcGFydHMoKTsKICAkcHJlZml4ID0gJ2F2YWlsX3BhcnRfJzsKICAkdG90YWxfcHJpY2UgPSAwOwogIGZvciggJHBuID0gMTsgJHBuIDwgMTAwMDsgJHBuKysgKQogIHsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1skcHJlZml4LidzZWxyc3JjXycuJHBuXSkgKQogICAgICB7CglicmVhazsKICAgICAgfQoKICAgIC8vIGhhdmUgYSB2YWxpZCBwYXJ0LgogICAgJHRoZV9wYXJ0ID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9wYXJ0KCk7CiAgICAkdGhlX3BhcnQtPnNldF9yc3JjX2lkKCRwYXJhbXNbJHByZWZpeC4nc2VscnNyY18nLiRwbl0pOwogICAgJHRoZV9wYXJ0LT5zZXRfc3RhcnRfZGF0ZShjZ2VfZGF0ZV91dGlsczo6dHNfdG9fZGJmb3JtYXQoJHBhcmFtc1skcHJlZml4LidzdGFydGRhdGVfJy4kcG5dKSk7CiAgICAkdGhlX3BhcnQtPnNldF9lbmRfZGF0ZShjZ2VfZGF0ZV91dGlsczo6dHNfdG9fZGJmb3JtYXQoJHBhcmFtc1skcHJlZml4LidlbmRkYXRlXycuJHBuXSkpOwogICAgJHRoZV9wYXJ0LT5zZXRfbnVtX3Blb3BsZSgkcGFyYW1zWyRwcmVmaXguJ251bXBlb3BsZV8nLiRwbl0pOwogICAgJHRoZV9wYXJ0LT5zZXRfcHJpY2UoJHBhcmFtc1skcHJlZml4LidwcmljZV8nLiRwbl0pOwogICAgJHRvdGFsX3ByaWNlICs9ICRwYXJhbXNbJHByZWZpeC4ncHJpY2VfJy4kcG5dOwogICAgJHJlc3Zfb2JqLT5hZGRfcGFydCgkdGhlX3BhcnQpOwogIH0KCiAgJHRoZV9ub3RlID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9ub3RlKCk7CiAgJHRoZV9ub3RlLT5zZXRfdGV4dCgkcGFyYW1zWydhdmFpbF9vcmRlcl9ub3RlcyddKTsKICAkdGhlX25vdGUtPnNldF9zdWJqZWN0KCdPcmlnaW5hbCBPcmRlciBOb3RlcycpOwogICRyZXN2X29iai0+YWRkX25vdGUoJHRoZV9ub3RlKTsKICAkcmVzdl9vYmotPnNldF9wcmljZSgkdG90YWxfcHJpY2UpOwoKICAkbWluX2RlcG9zaXQgPSAoZmxvYXQpcmVzZXJ2YXRpb25fdXRpbHM6OmNhbGNfbWluX2RlcG9zaXRfYnlfcHJpY2UoJHRvdGFsX3ByaWNlKTsKICBpZiggJGRlcG9zaXRfYW1vdW50IDwgJG1pbl9kZXBvc2l0ICkKICAgIHsKICAgICAgJHN0YXR1cyA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRfZGVwb3NpdCcpOwogICAgfQoKICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgewogICAgICAvLyBzYXZlIGl0CiAgICAgICRyZXN2X29iai0+c2F2ZSgpOwogICAgfQoKICAvLyBhZGQgaXQgdG8gdGhlIGNhcnQgPwogIGlmKCBlbXB0eSgkc3RhdHVzKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fcmVxdWlyZV9kZXBvc2l0JykgKQogICAgewogICAgICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICAgICAgaWYoICRjYXJ0ICkKCXsKCSAgaWYoICRkZXBvc2l0X2Ftb3VudCA+IDAgKQoJICAgIHsKCSAgICAgICRyZXN2X29iai0+c2V0X3N0YXR1cyhBVkFJTEFCSUxJVFlfU1RBVFVTX0lOQ0FSVCk7CgkgICAgICAkcmVzdl9vYmotPnNhdmUoKTsKCgkgICAgICAkaXRlbSA9IG5ldyBjZ19lY29tbV9jYXJ0aXRlbSgnJywkcmVzdl9vYmotPmdldF9pZCgpLDEsJHRoaXMtPkdldE5hbWUoKSk7CgkgICAgICAkaXRlbS0+c2V0X2Jhc2VfcHJpY2UoJGRlcG9zaXRfYW1vdW50KTsKCSAgICAgICRzbWFydHktPmFzc2lnbigncmVzdm5fb2JqJywkcmVzdl9vYmopOwoJICAgICAgJHNtYXJ0eS0+YXNzaWduKCdkZXBvc2l0X2Ftb3VudCcsJGRlcG9zaXRfYW1vdW50KTsKCSAgICAgICR0cGwgPSAne3NpdGVuYW1lfSByZXNlcnZhdGlvbiB7JHJlc3ZuX29iai0+Z2V0X2lkKCl9JzsKCSAgICAgICR0cGwyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc3VtbWFyeScsJycpOwoJICAgICAgaWYoICFlbXB0eSgkdHBsMikgKQoJCXsKCQkgICR0cGwgPSAkdHBsMjsKCQl9CgkgICAgICAkcHJlZml4ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX3NrdV9wcmVmaXgnKTsKCSAgICAgIGlmKCAkcHJlZml4ICkKCQl7CgkJICAkaXRlbS0+c2V0X3NrdSgkcHJlZml4LnNwcmludGYoJyUwNWQnLCRyZXN2X29iai0+Z2V0X2lkKCkpKTsKCQl9CgkgICAgICAkaXRlbS0+c2V0X3N1bW1hcnkoJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0cGwpKTsKCSAgICAgICRpdGVtLT5zZXRfaXRlbV90b3RhbCgkdG90YWxfcHJpY2UpOwoJICAgICAgJGl0ZW0tPnNldF90eXBlKGNnX2Vjb21tX2NhcnRpdGVtOjpUWVBFX1NFUlZJQ0UpOwoJICAgICAgJGNhcnQtPkFkZENhcnRJdGVtKCRpdGVtKTsKCSAgICB9Cgl9CiAgICB9CgogIGlmKCBlbXB0eSgkc3RhdHVzKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJywxKSApCiAgICB7CiAgICAgIC8vIHNlbmQgdGhlIGRldGFpbHMgZW1haWwKICAgICAgJHRtcCA9ICcnOwogICAgICAkcmVzID0gJHRoaXMtPlNlbmRSZXNlcnZhdGlvbkRldGFpbHNFbWFpbCgkcmVzdl9vYmotPmdldF9pZCgpLCRlbWFpbHRlbXBsYXRlLDEsJHRtcCk7CiAgICB9CiAgCiAgaWYoIGVtcHR5KCRzdGF0dXMpICkKICAgIHsKICAgICAgLy8gcmVkaXJlY3QgdG8gdGhlIG5leHQgYWN0aW9uLgogICAgICAkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnLC0xKTsKICAgICAgJHNob3dtc2cgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9tc2cnLDEpOwoKICAgICAgaWYoICRwYWdlID09IC0xICkgJHBhZ2UgPSAkcmV0dXJuaWQ7CiAgICAgIGlmKCAkc2hvd21zZyApCgl7CgkgICRwYXJhbXNbJ3Jlc3ZfaWQnXSA9ICRyZXN2X29iai0+Z2V0X2lkKCk7CgkgICR0aGlzLT5SZWRpcmVjdEZvckZyb250ZW5kKCRpZCwkcGFnZSwnY29uZmlybV9yZXN2bicsCgkJCQkgICAgICRwYXJhbXMpOwoJfQogICAgICBlbHNlCgl7CgkgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHBhZ2UpOwoJfQogICAgfQp9CgovLwovLyBHaXZlIGRhdGEgdG8gc21hcnR5Ci8vCmlmKCAhZW1wdHkoJHN0YXR1cykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzJywnZXJyb3InKTsKICAgICRzbWFydHktPmFzc2lnbignbWVzc2FnZScsJHN0YXR1cyk7CiAgfQokcmVzZXJ2YXRpb24gPSByZXNlcnZhdGlvbl9vcHM6OnRvX2FycmF5KCRyZXN2X29iaik7CmZvciggJHAgPSAwOyAkcCA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRwKysgKQogIHsKICAgICRwYXJ0ID0mICRyZXNlcnZhdGlvblsncGFydHMnXVskcF07CiAgICAkcnNyYyA9ICR0aGlzLT5HZXRSZXNvdXJjZSgkcGFydFsncnNyY19pZCddKTsKICAgIGlmKCAkcnNyYyApCiAgICAgIHsKCSRjID0gJyc7Cglzd2l0Y2goICRyc3JjWydyZXNfaW50ZXJ2YWwnXSApCgkgIHsKCSAgY2FzZSAnaG91cmx5JzoKCSAgICAkYyA9ICcsaCc7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2hhbGZfZGF5JzoKCSAgICAkYyA9ICcscCc7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2RhaWx5JzoKCSAgICAkYyA9ICcsZCc7CgkgICAgYnJlYWs7CgkgIH0KICAgICAgICAkcGFydFsnZXh0X3BhcnRfdHlwZSddID0gJHJzcmNbJ3Jlc19pbnRlcnZhbCddOwoJJHBhcnRbJ2V4dF9yc3JjaWQnXSA9ICRwYXJ0Wydyc3JjX2lkJ10uJGM7CgkkcGFydFsnZXh0X3N1bW1hcnknXSA9ICR0aGlzLT5HZXRSZXNvdXJjZVN1bW1hcnkoJHJzcmMpOwogICAgICB9CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbicsJHJlc2VydmF0aW9uKTsKCgokdGhlX3JzcmMgPSAkcnNyY19pZDsKJHRoZV90eXBlID0gJyc7CiRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSxyZXNfaW50ZXJ2YWwgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGFjdGl2ZSA9IDEnOwokdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwokcnNyY3MgPSBhcnJheSgpOwokcnNyY3NfcmV2ID0gYXJyYXkoKTsKJHJzcmNzX3JldlsnLTEsLTEnXSA9ICAkdGhpcy0+TGFuZygnc2VsZWN0X29uZScpOwokaW50ZXJ2YWxzID0gYXJyYXkoKTsKJGludGVydmFsc1snaG91cmx5J10gPSAnaCc7CiRpbnRlcnZhbHNbJ2hhbGZfZGF5J10gPSAncCc7CiRpbnRlcnZhbHNbJ2RhaWx5J10gPSAnZCc7CmZvcmVhY2goICR0bXAgYXMgJG9uZSApCnsKICBpZiggJG9uZVsnaWQnXSA9PSAkcnNyY19pZCApCiAgICB7IAogICAgICAkdGhlX3JzcmMgPSAkcnNyY19pZC4nLCcuJGludGVydmFsc1skb25lWydyZXNfaW50ZXJ2YWwnXV07CiAgICAgICR0aGVfdHlwZSA9ICRpbnRlcnZhbHNbJG9uZVsncmVzX2ludGVydmFsJ11dOwogICAgfQogICRyc3Jjc19yZXZbJG9uZVsnaWQnXS4nLCcuJGludGVydmFsc1skb25lWydyZXNfaW50ZXJ2YWwnXV1dID0gJG9uZVsnbmFtZSddLicgKCcuJHRoaXMtPkxhbmcoJG9uZVsncmVzX2ludGVydmFsJ10pLicpJzsKfQokc21hcnR5LT5hc3NpZ24oJ3JzcmNfbGlzdCcsJHJzcmNzX3Jldik7Cgokc21hcnR5LT5hc3NpZ24oJ2N1c3RvbWVyaWQnLCRjdXN0X2lkKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnLDApKTsKJHRtcCA9IGFycmF5KCk7CiR0bXBbJ2FtJ10gPSAkdGhpcy0+TGFuZygnQU0nKTsKJHRtcFsncG0nXSA9ICR0aGlzLT5MYW5nKCdQTScpOwokc21hcnR5LT5hc3NpZ24oJ21lcmlkaWFucycsJHRtcCk7CmlmKCAkY3VzdF9pZCA+IDAgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkgICAgJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRkcmVzdm4nLCRyZXR1cm5pZCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgIGlmKCAkcmVzdl9pZCA+IDAgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3Jlc3ZfaWQnLCRyZXN2X2lkKTsKICAgICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbicsJHJlc2VydmF0aW9uKTsKCiAgICAvLyBjcmVhdGUgYSBsaXN0IG9mIG51bWJlcnMgZm9yIHRoZSAnbnVtYmVyIG9mIHBlb3BsZScgbGlzdC4KICAgICR0bXAgPSBhcnJheSgpOwogICAgJGRlZmF1bHRfY2FwYWNpdHkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jYXBhY2l0eScsNTApOwogICAgZm9yKCAkaSA9IDE7ICRpIDwgJGRlZmF1bHRfY2FwYWNpdHk7ICRpKysgKQogICAgICB7CgkkdG1wWyRpXSA9ICRpOwogICAgICB9CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Blb3BsZV9saXN0JywkdG1wKTsKICAgICRzbWFydHktPmFzc2lnbignbnVtYmVycycsJHRtcCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3NlbF9yc3JjJywkdGhlX3JzcmMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbml0X3N0YXJ0X2RhdGUnLCR0aGVfZGF0ZS0+dG9fZGJmb3JtYXQoKSk7CiAgICAkdGhlX2VuZF9kYXRlID0gY2xvbmUgJHRoZV9kYXRlOwogICAgJHRoZV9lbmRfZGF0ZS0+c2V0X2RheSgkdGhlX2RhdGUtPmRheSgpKzEpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbml0X2VuZF9kYXRlJywkdGhlX2VuZF9kYXRlLT50b19kYmZvcm1hdCgpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5pdF9yc3JjX3R5cGUnLCR0aGVfdHlwZSk7CiAgfQoKJHRtcCA9IGdldF9zaXRlX3ByZWZlcmVuY2UoJ2RlZmF1bHRkYXRlZm9ybWF0Jyk7CmlmKCAhJHRtcCApICR0bXAgPSAnJWIgJWUsICVZJzsKJHNtYXJ0eS0+YXNzaWduKCdkYXRlX2Zvcm1hdCcsJHRtcCk7CgovLwovLyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCgoKCgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCmlmKCAhaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnZXZlbnRfdHlwZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwogIH0KJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwoKLy8gQ2hlY2sgdG8gc2VlIGlmIHRoaXMgY2F0aWQgaXMgdXNlZAokcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicKICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBMSU1JVCAxJzsKJHJlcyA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKaWYoICEkcmVzICkKICB7CiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nCiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGNhdGlkKSApOwogIH0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCdjYXRlZ29yaWVzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_custom_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCmlmKCAhaXNzZXQoJHBhcmFtc1snZmxkaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgfQokZmxkaWQgPSAoaW50KSRwYXJhbXNbJ2ZsZGlkJ107CgovLyBDaGVjayB0byBzZWUgaWYgdGhpcyBmbGRpZCBpcyB1c2VkCiRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJwogICAgICAgICAgV0hFUkUgZmllbGRkZWZfaWQgPSA/IExJTUlUIDEnOwokcmVzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRmbGRpZCkpOwppZiggISRyZXMgKQogIHsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRmbGRpZCkgKTsKICB9CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50cycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ2V2ZW50aWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCiRldmVudGlkID0gKGludCkkcGFyYW1zWydldmVudGlkJ107CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJyAKICAgICAgICAgICBXSEVSRSBldmVudF9pZCA9ID8nOwokZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGV2ZW50aWQpICk7CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLicKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGV2ZW50aWQpICk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_event_type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVCkgKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgppZiggIWlzc2V0KCRwYXJhbXNbJ3R5cGVpZCddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCdldmVudF90eXBlcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgfQokdHlwZWlkID0gKGludCkkcGFyYW1zWyd0eXBlaWQnXTsKCi8vIENoZWNrIHRvIHNlZSBpZiB0aGlzIHR5cGVpZCBpcyB1c2VkCiRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJwogICAgICAgICAgV0hFUkUgZXZlbnRfdHlwZV9pZCA9ID8gTElNSVQgMSc7CiRyZXMgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHR5cGVpZCkpOwppZiggISRyZXMgKQogIHsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nCiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJHR5cGVpZCkgKTsKICB9CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnZXZlbnRfdHlwZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8KLy8gU2V0dXAKLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Jlc2VydmF0aW9ucycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ3Jlc3ZuaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCnJlc2VydmF0aW9uX29wczo6ZGVsZXRlX2J5X2lkKChpbnQpJHBhcmFtc1sncmVzdm5pZCddKTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_rsrc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkgZXhpdCgpOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Jlc291cmNlcycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApIAogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQokcnNyY19pZCA9IChpbnQpJHBhcmFtc1sncnNyY2lkJ107CgokcXVlcnkgPSAnU0VMRUNUIHJlc3ZfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJyBXSEVSRSByc3JjX2lkID0gPyBMSU1JVCAxJzsKJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcnNyY19pZCk7CmlmKCAkdG1wICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCi8vIEdldCB0aGlzIHJlc291cmNlcyBpbmZvCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgV0hFUkUgaWQgPSA/JzsKJHJzcmMgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJzcmNfaWQpKTsKaWYoICFpc19hcnJheSgkcnNyYykgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfY2Fubm90X2RlbGV0ZV9yZXNvdXJjZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKLy8gRGVsZXRlIGFsbCB0aGUgcmVzb3VyY2UncyBjYXRlZ29yaWVzCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0NBVFMuJyBXSEVSRSByc3JjX2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJzcmNfaWQpKTsKCi8vIERlbGV0ZSBhbGwgdGhlIHJlc291cmNlJ3MgZmllbGRzCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJyBXSEVSRSByc3JjX2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJzcmNfaWQpKTsKCi8vIGFsbCB0aGUgY3VzdG9tIHdlZWtkYXkgcHJpY2VzCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUy4nIFdIRVJFIHJzcmNfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcnNyY19pZCkpOwoKLy8gYW55IHJlc2VydmF0aW9uIGRldGFpbHMKLy8kcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyBXSEVSRSByc3JjX2lkID0gPyc7Ci8vJHF1ZXJ5ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcnNyY19pZCkpOwoKLy8gRGVsZXRlIHRoZSByZXNvdXJjZSBpdHNlbGYKJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgV0hFUkUgaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcnNyY19pZCkpOwoKLy8gQW5kIHVwZGF0aWUgdGhlIHNvcnRpbmcuCiRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBTRVQgc29ydGluZz1zb3J0aW5nLTEgV0hFUkUgc29ydGluZyA+ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyc3JjWydzb3J0aW5nJ10pKTsKCi8vIFVwZGF0ZSBzZWFyY2gKJHNlYXJjaCA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwppZiggJHNlYXJjaCAhPSBGQUxTRSApCiAgewogICAgJHNlYXJjaC0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJHJzcmNfaWQsICdyZXNvdXJjZScgKTsKICB9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCi8vIFNldHVwCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdjYXRlZ29yaWVzJyk7CiRyb3cgPSBhcnJheSgnbmFtZSc9PicnKTsKCmlmKCBpc3NldCgkcGFyYW1zWydjYXRpZCddKSApCiAgewogICAgLy8gY2F0aWQgc2VudCwgdHJ5IHRvIGdldCB0aGUgdmFsdWVzCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTLicgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdyggJHF1ZXJ5LCBhcnJheSggKGludCkkcGFyYW1zWydjYXRpZCddICkgKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2NhdGVnb3JpZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddKSApCiAgICAgIHsKCSRyb3dbJ25hbWUnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfbmFtZSddKTsKICAgICAgfQoKICAgIC8vIGVycm9yIGNoZWNraW5nCiAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgIGlmKCBlbXB0eSgkcm93WyduYW1lJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQoKICAgIC8vIGhhbmRsZSBlcnJvcnMsIG9yIHByb2Nlc3MKICAgIGlmKCBjb3VudCgkZXJyb3JzKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGRiciA9IHRydWU7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2NhdGlkJ10pICkKCSAgewoJICAgIC8vIGl0J3MgYW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMuJwogICAgICAgICAgICAgICAgICAgICAgICAobmFtZSkgVkFMVUVTICg/KSc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHJvd1snbmFtZSddICkpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMuJwogICAgICAgICAgICAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/IFdIRVJFIGlkID0gPyc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHJvd1snbmFtZSddLCAkcGFyYW1zWydjYXRpZCddKSk7CgkgIH0KCglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAkZGItPnNxbC4nPGJyLz5FUlJPUjogJy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsKCSAgICBkaWUoKTsKCSAgfQoKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY2F0ZWdvcmllcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgICAgIH0KICB9CgoKLy8gQ3JlYXRlIHRoZSBmb3JtCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2NhdGVnb3J5JywKCQkJCQkgJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfY2F0ZWdvcnkudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_custom_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCi8vIHNldHVwCiRyb3cgPSBhcnJheSgnbmFtZSc9PicnLCdwcm9tcHQnPT4nJywndHlwZSc9Pid0ZXh0Ym94JywnbWF4X2xlbmd0aCc9PjUwLAoJICAgICAncHVibGljJz0+MSwnb3B0aW9ucyc9PicnKTsKCi8vIEdldCB0aGUgcm93IGZyb20gdGhlIGRhdGFiYXNlCmlmKCBpc3NldCgkcGFyYW1zWydmbGRpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRklFTERERUZTLicgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydmbGRpZCddKSk7CiAgfQoKLy8gR2V0IGZpZWxkcyBmcm9tIHBhcmFtcwppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddKSApCiAgewogICAgJHJvd1snbmFtZSddID0gc3RyX3JlcGxhY2UoJy0nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKHRyaW0oJHBhcmFtc1snaW5wdXRfbmFtZSddKSx0cnVlKSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pICkKICB7CiAgICAkcm93Wydwcm9tcHQnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3R5cGUnXSkgKQogIHsKICAgICRyb3dbJ3R5cGUnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdHlwZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSkgKQogIHsKICAgICRyb3dbJ21heF9sZW5ndGgnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfbWF4bGVuZ3RoJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcHVibGljJ10pICkKICB7CiAgICAkcm93WydwdWJsaWMnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfcHVibGljJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfb3B0aW9ucyddKSApCiAgewogICAgJHJvd1snb3B0aW9ucyddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9vcHRpb25zJ10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vIGVycm9yIGNoZWNraW5nCiAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgIGlmKCBlbXB0eSgkcm93WyduYW1lJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQogICAgaWYoIGVtcHR5KCRyb3dbJ3Byb21wdCddKSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KICAgIGlmKCAkcm93Wyd0eXBlJ10gPT0gJ2Ryb3Bkb3duJyAmJiBlbXB0eSgkcm93WydvcHRpb25zJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQogICAgaWYoICRyb3dbJ3R5cGUnXSA9PSAndGV4dGJveCcgJiYgKCRyb3dbJ21heF9sZW5ndGgnXSA+IDI1NTUgfHwgJHJvd1snbWF4X2xlbmd0aCddIDwgMCApICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQoKICAgIGlmKCBjb3VudCgkZXJyb3JzKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGRiciA9IHRydWU7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2ZsZGlkJ10pICkKCSAgewoJICAgIC8vIGl0J3MgYW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUy4nCiAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lLHByb21wdCx0eXBlLG1heF9sZW5ndGgsb3B0aW9ucyxwdWJsaWMpCiAgICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHJvd1snbmFtZSddLAoJCQkJCQkkcm93Wydwcm9tcHQnXSwKCQkJCQkJJHJvd1sndHlwZSddLAoJCQkJCQkkcm93WydtYXhfbGVuZ3RoJ10sCgkJCQkJCSRyb3dbJ29wdGlvbnMnXSwKCQkJCQkJJHJvd1sncHVibGljJ10pICk7CgkgIH0KCWVsc2UKCSAgewoJICAgIC8vIGl0J3MgYW4gdXBkYXRlCgkgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJwogICAgICAgICAgICAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/LCBwcm9tcHQgPSA/LCB0eXBlID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoID0gPywgb3B0aW9ucyA9ID8sIHB1YmxpYyA9ID8KICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwoJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRyb3dbJ25hbWUnXSwKCQkJCQkJJHJvd1sncHJvbXB0J10sCgkJCQkJCSRyb3dbJ3R5cGUnXSwKCQkJCQkJJHJvd1snbWF4X2xlbmd0aCddLAoJCQkJCQkkcm93WydvcHRpb25zJ10sCgkJCQkJCSRyb3dbJ3B1YmxpYyddLAoJCQkJCQkoaW50KSRwYXJhbXNbJ2ZsZGlkJ10pICk7CgkgIH0KCglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAkZGItPnNxbC4nPGJyLz5FUlJPUjogJy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsKCSAgICBkaWUoKTsKCSAgfQoKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgICAgIH0KICB9CgovLyBCdWlsZCB0aGUgZm9ybQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9jdXN0b21fZmllbGQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X25hbWUnLCRyb3dbJ25hbWUnXSwzMCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcm9tcHQnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9wcm9tcHQnLCRyb3dbJ3Byb21wdCddLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3B1YmxpYycsJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2lucHV0X3B1YmxpYycsJHJvd1sncHVibGljJ10pKTsKJGFkZHRleHQgPSAib25jaGFuZ2U9J3RoaXMuZm9ybS5zdWJtaXQoKTsnIjsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90eXBlJywkdGhpcy0+R2V0VHlwZXNEcm9wZG93bigkaWQsJ2lucHV0X3R5cGUnLCRyb3dbJ3R5cGUnXSwkYWRkdGV4dCx0cnVlKSk7CgppZiggJHJvd1sndHlwZSddID09ICd0ZXh0Ym94JyApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tYXhsZW5ndGgnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9tYXhsZW5ndGgnLCRyb3dbJ21heF9sZW5ndGgnXSw1LDUpKTsKICB9CmVsc2UgaWYoICRyb3dbJ3R5cGUnXSA9PSAnZHJvcGRvd24nICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X29wdGlvbnMnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCRyb3dbJ29wdGlvbnMnXSwnaW5wdXRfb3B0aW9ucycpKTsKICB9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfY3VzdG9tX2ZpZWxkLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwoKLy8KLy8gU2V0dXAKLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50cycpOwokcm93ID0gYXJyYXkoJ25hbWUnPT4nJywnZGVzY3JpcHRpb24nPT4nJywnZXZlbnRfdHlwZV9pZCc9Pi0xLAoJICAgICAnc3RhcnRfZGF0ZSc9PnRpbWUoKSwnZW5kX2RhdGUnPT5zdHJ0b3RpbWUoIisxIHdlZWsiKSwnYm9va2FibGUnPT4xLAoJICAgICAncHJpY2VfYWRqdXN0Jz0+JycsJ2FkbWluX25vdGVzJz0+JycpOwokc2VsX3Jlc291cmNlcyA9IGFycmF5KCk7CgppZiggaXNzZXQoJHBhcmFtc1snZXZlbnRpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydldmVudGlkJ10pKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUIHJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nCiAgICAgICAgICAgICAgIFdIRVJFIGV2ZW50X2lkID0gPyc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydldmVudGlkJ10pKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCiAgICAgIHsKCSRzZWxfcmVzb3VyY2VzW10gPSAkb25lWydyc3JjX2lkJ107CiAgICAgIH0KICB9CgovLwovLyBIYW5kbGUgZm9ybSBhY3Rpb25zCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vIERhdGEgY29sbGVjdGlvbgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkgKQogICAgICB7Cgkkcm93WyduYW1lJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddKSApCiAgICAgIHsKCSRyb3dbJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2Rlc2NyaXB0aW9uJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfZXZlbnRfdHlwZSddKSApCiAgICAgIHsKCSRyb3dbJ2V2ZW50X3R5cGVfaWQnXSA9IChpbnQpKCRwYXJhbXNbJ2lucHV0X2V2ZW50X3R5cGUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdGFydGRhdGVfTW9udGgnXSkgKQogICAgICB7Cgkkcm93WydzdGFydF9kYXRlJ10gPSAKCSAgbWt0aW1lKDAsMCwwLAoJCSAoaW50KSRwYXJhbXNbJ2lucHV0X3N0YXJ0ZGF0ZV9Nb250aCddLAoJCSAoaW50KSRwYXJhbXNbJ2lucHV0X3N0YXJ0ZGF0ZV9EYXknXSwKCQkgKGludCkkcGFyYW1zWydpbnB1dF9zdGFydGRhdGVfWWVhciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2VuZGRhdGVfTW9udGgnXSkgKQogICAgICB7Cgkkcm93WydlbmRfZGF0ZSddID0gCgkgIG1rdGltZSgyMyw1OSw1OSwKCQkgKGludCkkcGFyYW1zWydpbnB1dF9lbmRkYXRlX01vbnRoJ10sCgkJIChpbnQpJHBhcmFtc1snaW5wdXRfZW5kZGF0ZV9EYXknXSwKCQkgKGludCkkcGFyYW1zWydpbnB1dF9lbmRkYXRlX1llYXInXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9ib29rYWJsZSddKSApCiAgICAgIHsKCSRyb3dbJ2Jvb2thYmxlJ10gPSAoaW50KSgkcGFyYW1zWydpbnB1dF9ib29rYWJsZSddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3ByaWNlX2FkanVzdCddKSApCiAgICAgIHsKCSRyb3dbJ3ByaWNlX2FkanVzdCddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wcmljZV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9hZG1pbl9ub3RlcyddKSApCiAgICAgIHsKCSRyb3dbJ2FkbWluX25vdGVzJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2FkbWluX25vdGVzJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcmVzb3VyY2VzJ10pICkKICAgICAgewoJJHNlbF9yZXNvdXJjZXMgPSAkcGFyYW1zWydpbnB1dF9yZXNvdXJjZXMnXTsKICAgICAgfQoKICAgIC8vIERhdGEgdmFsaWRhdGlvbgogICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICBpZiggZW1wdHkoJHJvd1snbmFtZSddKSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KICAgIGlmKCAhY291bnQoJHNlbF9yZXNvdXJjZXMpICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX211c3Rfc2VsZWN0JywkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKDEpKTsKICAgICAgfQogICAgaWYoICRyb3dbJ3N0YXJ0X2RhdGUnXSA+ICRyb3dbJ2VuZF9kYXRlJ10gKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9kYXRlcycpOwogICAgICB9CgogICAgaWYoIGNvdW50KCRlcnJvcnMpICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBEYXRhYmFzZSBpbnRlcmFjdGlvbgoJJGRiciA9IHRydWU7Cgkkc3RhcnRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHJvd1snc3RhcnRfZGF0ZSddKTsKCSRlbmRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHJvd1snZW5kX2RhdGUnXSk7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2V2ZW50aWQnXSkgKQoJICB7CgkgICAgLy8gQW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4iCiAgICAgICAgICAgICAgICAgICAgICAobmFtZSxkZXNjcmlwdGlvbixldmVudF90eXBlX2lkLHN0YXJ0X2RhdGUsZW5kX2RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgYm9va2FibGUsIHByaWNlX2FkanVzdCwgYWRtaW5fbm90ZXMpCiAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sJHN0YXJ0X2RhdGUsJGVuZF9kYXRlLD8sPyw/KSI7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJvd1snbmFtZSddLAoJCQkJCSAgICAgJHJvd1snZGVzY3JpcHRpb24nXSwKCQkJCQkgICAgICRyb3dbJ2V2ZW50X3R5cGVfaWQnXSwKCQkJCQkgICAgICRyb3dbJ2Jvb2thYmxlJ10sCgkJCQkJICAgICAkcm93WydwcmljZV9hZGp1c3QnXSwKCQkJCQkgICAgICRyb3dbJ2FkbWluX25vdGVzJ10pKTsKCSAgICBpZiggISRkYnIgKQoJICAgICAgewoJCWVjaG8gJGRiLT5zcWwuJzxici8+RVJST1I6ICcuJGRiLT5FcnJvck1zZygpOyBkaWUoKTsKCSAgICAgIH0KCSAgICBpZiggJGRiciApCgkgICAgICB7CgkJJHBhcmFtc1snZXZlbnRpZCddID0gJGRiLT5JbnNlcnRfSUQoKTsKCQkKCQkvLyBBZGQgdGhlIGl0ZW1zIHRvIHRoZSByZXNvdXJjZSBldmVudHMgdGFibGUKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnRfaWQscnNyY19pZCkgVkFMVUVTICg/LD8pJzsKCQlmb3JlYWNoKCAkc2VsX3Jlc291cmNlcyBhcyAkc2VsICkKCQkgIHsKCQkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ2V2ZW50aWQnXSwKCQkJCQkgICAgICAkc2VsKSk7CgkJICB9CgkgICAgICB9CgkgIH0KCWVsc2UKCSAgewoJICAgIC8vIEFuIHVwZGF0ZQoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLiIKICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgZGVzY3JpcHRpb24gPSA/LCBldmVudF90eXBlX2lkID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9kYXRlID0gJHN0YXJ0X2RhdGUsIGVuZF9kYXRlID0gJGVuZF9kYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2thYmxlID0gPywgcHJpY2VfYWRqdXN0ID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3RlcyA9ID8KICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyI7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJvd1snbmFtZSddLAoJCQkJCSAgICAgJHJvd1snZGVzY3JpcHRpb24nXSwKCQkJCQkgICAgICRyb3dbJ2V2ZW50X3R5cGVfaWQnXSwKCQkJCQkgICAgICRyb3dbJ2Jvb2thYmxlJ10sCgkJCQkJICAgICAkcm93WydwcmljZV9hZGp1c3QnXSwKCQkJCQkgICAgICRyb3dbJ2FkbWluX25vdGVzJ10sCgkJCQkJICAgICAoaW50KSRwYXJhbXNbJ2V2ZW50aWQnXSkpOwoKCSAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJwogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGV2ZW50X2lkID0gPyc7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ2V2ZW50aWQnXSkpOwoKCSAgICBpZiggJGRiciApCgkgICAgICB7CgkJLy8gQWRkIHRoZSBpdGVtcyB0byB0aGUgcmVzb3VyY2UgZXZlbnRzIHRhYmxlCgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTLicKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50X2lkLHJzcmNfaWQpIFZBTFVFUyAoPyw/KSc7CgkJZm9yZWFjaCggJHNlbF9yZXNvdXJjZXMgYXMgJHNlbCApCgkJICB7CgkJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydldmVudGlkJ10sCgkJCQkJICAgICAgJHNlbCkpOwoJCSAgfQoJICAgICAgfQoJICB9IC8vIHVwZGF0ZQoKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgIH0gLy8gZGF0YWJhc2UKCiAgfSAvLyBzdWJtaXQKCgovLwovLyBDcmVhdGUgdGhlIGZvcm0KLy8KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRfZXZlbnQnLCRyZXR1cm5pZCwkcGFyYW1zLGZhbHNlLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZGVzY3JpcHRpb24nLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcm93WydkZXNjcmlwdGlvbiddLCdpbnB1dF9kZXNjcmlwdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdGFydGRhdGUnLCRyb3dbJ3N0YXJ0X2RhdGUnXSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZW5kZGF0ZScsJHJvd1snZW5kX2RhdGUnXSk7CiRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLicgT1JERVIgQlkgaW9yZGVyJzsKJHR5cGVzID0gJHRoaXMtPkdldEV2ZW50VHlwZURyb3Bkb3duTGlzdCgpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V2ZW50X3R5cGUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfZXZlbnRfdHlwZScsJHR5cGVzLC0xLCRyb3dbJ2V2ZW50X3R5cGVfaWQnXSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Jvb2thYmxlJywkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwnaW5wdXRfYm9va2FibGUnLCRyb3dbJ2Jvb2thYmxlJ10pKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcmljZV9hZGp1c3QnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9wcmljZV9hZGp1c3QnLCRyb3dbJ3ByaWNlX2FkanVzdCddKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fbm90ZXMnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcm93WydhZG1pbl9ub3RlcyddLCdpbnB1dF9hZG1pbl9ub3RlcycpKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBhY3RpdmUgPSAxJzsKJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKJHJzcmNzID0gYXJyYXkoKTsKZm9yZWFjaCggJHRtcCBhcyAkb25lICkKewogICRyc3Jjc1skb25lWyduYW1lJ11dID0gJG9uZVsnaWQnXTsKfQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Jlc291cmNlcycsJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ2lucHV0X3Jlc291cmNlc1tdJywkcnNyY3MsJHNlbF9yZXNvdXJjZXMsMTApKTsKCi8vIFByb2Nlc3MgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2V2ZW50LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_event_type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8gU2V0dXAKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50X3R5cGVzJyk7CiRyb3cgPSBhcnJheSgnbmFtZSc9PicnLCdjb2xvcic9PicjMDAwMEZGJywnaW9yZGVyJz0+JzEnLCAnYmFja2dyb3VuZCc9PicjRkZGRkZGJyk7CgppZiggaXNzZXQoJHBhcmFtc1sndHlwZWlkJ10pICkKICB7CiAgICAvLyB0eXBlaWQgc2VudCwgdHJ5IHRvIGdldCB0aGUgdmFsdWVzCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nIFdIRVJFIGlkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coICRxdWVyeSwgYXJyYXkoIChpbnQpJHBhcmFtc1sndHlwZWlkJ10gKSApOwogIH0KCgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2V2ZW50X3R5cGVzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkgKQogICAgICB7Cgkkcm93WyduYW1lJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9jb2xvciddKSApCiAgICAgIHsKCSRyb3dbJ2NvbG9yJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2NvbG9yJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYmFja2dyb3VuZCddKSApCiAgICAgIHsKCSRyb3dbJ2JhY2tncm91bmQnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfYmFja2dyb3VuZCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X29yZGVyJ10pICkKICAgICAgewoJJHJvd1snaW9yZGVyJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X29yZGVyJ10pOwogICAgICB9CgogICAgLy8gZXJyb3IgY2hlY2tpbmcKICAgICRlcnJvcnMgPSBhcnJheSgpOwogICAgaWYoIGVtcHR5KCRyb3dbJ25hbWUnXSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggZW1wdHkoJHJvd1snY29sb3InXSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggZW1wdHkoJHJvd1snYmFja2dyb3VuZCddKSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KCiAgICBpZiggY291bnQoJGVycm9ycykgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRkYnIgPSB0cnVlOwoJaWYoICFpc3NldCgkcGFyYW1zWyd0eXBlaWQnXSkgKQoJICB7CgkgICAgLy8gaXQncyBhbiBpbnNlcnQKCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuJwogICAgICAgICAgICAgICAgICAgICAgICAobmFtZSxjb2xvcixiYWNrZ3JvdW5kLGlvcmRlcikgVkFMVUVTICg/LD8sPyw/KSc7CiAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRyb3dbJ25hbWUnXSwgJHJvd1snY29sb3InXSwkcm93WydiYWNrZ3JvdW5kJ10sCgkJCQkJCSRyb3dbJ2lvcmRlciddKSApOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLicKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgY29sb3IgPSA/LCBiYWNrZ3JvdW5kID0gPywgaW9yZGVyID0gPwogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRyb3dbJ25hbWUnXSwgJHJvd1snY29sb3InXSwkcm93WydiYWNrZ3JvdW5kJ10sCgkJCQkJCSRyb3dbJ2lvcmRlciddLCAkcGFyYW1zWyd0eXBlaWQnXSkpOwoJICB9CgoJaWYoICEkZGJyICkKCSAgewoJICAgIGVjaG8gJGRiLT5zcWwuJzxici8+RVJST1I6ICcuJGRiLT5FcnJvck1zZygpLic8YnIvPic7CgkgICAgZGllKCk7CgkgIH0KCgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2V2ZW50X3R5cGVzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKICAgICAgfQogIH0KCi8vIENyZWF0ZSB0aGUgZm9ybQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9ldmVudF90eXBlJywKCQkJCQkgJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY29sb3InLCR0aGlzLT5DcmVhdGVDb2xvckRyb3Bkb3duKCRpZCwnaW5wdXRfY29sb3InLCRyb3dbJ2NvbG9yJ10pKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9iYWNrZ3JvdW5kJywkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ2lucHV0X2JhY2tncm91bmQnLCRyb3dbJ2JhY2tncm91bmQnXSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X29yZGVyJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfb3JkZXInLCRyb3dbJ2lvcmRlciddLDUsNSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2V2ZW50X3R5cGUudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8KLy8gY2hlY2tfcGFydHNfb3ZlcmxhcAovLwpmdW5jdGlvbiBjaGVja19wYXJ0c19vdmVybGFwKCRwYXJ0cykKewogICRkYXRhID0gYXJyYXkoKTsKCiAgZm9yKCAkcCA9IDA7ICRwIDwgY291bnQoJHBhcnRzKTsgJHArKyApCiAgICB7CiAgICAgICRwYXJ0ID0mICRwYXJ0c1snaSddOwogICAgICBpZiggIWlzc2V0KCRkYXRhWydyc3JjX2lkJ10pICkKCXsKCSAgJGRhdGFbJ3JzcmNfaWQnXSA9IGFycmF5KCk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgLy8gaG1tbSwgdHdvIChvciBtb3JlKSBib29rcyBmb3IgdGhlIHNhbWUgcmVzb3VyY2UgaW4gb25lIHJlc2VydmF0aW9uPwoJICBmb3IoICRrID0gMDsgJGsgPCBjb3VudCgkZGF0YVsncnNyY19pZCddKTsgJGsrKyApCgkgICAgewoJICAgICAgJHRtcCA9JiAkZGF0YVsncnNyY19pZCddWyRrXTsKCSAgICAgIGlmKCAoJHBhcnRbJ3N0YXJ0X2RhdGUnXSA+PSAkdG1wWydzdGFydF9kYXRlJ10pICYmICRwYXJ0WydzdGFydF9kYXRlJ10gPD0gJHRtcFsnZW5kX2RhdGUnXSApCgkJcmV0dXJuIEZBTFNFOwoJICAgICAgaWYoICgkcGFydFsnZW5kX2RhdGUnXSA+PSAkdG1wWydzdGFydF9kYXRlJ10pICYmICRwYXJ0WydlbmRfZGF0ZSddIDw9ICR0bXBbJ2VuZF9kYXRlJ10gKQoJCXJldHVybiBUUlVFOwoJICAgIH0KCX0KICAgICAgJGRhdGFbJ3JzcmNfaWQnXVtdID0gJHBhcnQ7CiAgICB9CgogIHJldHVybiBUUlVFOwp9CgovLwovLyBpbml0aWFsemF0aW9uCi8vCiRyZXN2X2lkID0gJyc7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdyZXNlcnZhdGlvbnMnKTsKJHJlc2VydmF0aW9uID0gYXJyYXkoJ2lkJz0+LTEsCiAgICAgICAgICAgICAgICAgICAgICdjdXN0b21lcl9pZCc9Pi0xLAoJCSAgICAgJ2FkbWluX25vdGVzJz0+JycsCgkJICAgICAnc3RhdHVzJz0+QVZBSUxBQklMSVRZX1NUQVRVU19QRU5ESU5HLAoJCSAgICAgJ3BhcnRzJz0+YXJyYXkoKSwKCQkgICAgICdwcmljZSc9PicnLAoJCSAgICAgJ2NyZWF0ZV9kYXRlJz0+dGltZSgpLAoJCSAgICAgJ21vZGlmaWVkX2RhdGUnPT50aW1lKCkpOwokY2hlY2tpbl90aW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScpOwokY2hlY2tvdXRfdGltZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja291dF90aW1lJyk7CgoKLy8KLy8gU2V0dXAKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5pZCddKSApCnsKICAkcmVzdl9pZCA9IChpbnQpJHBhcmFtc1sncmVzdm5pZCddOwogIC8vIExvYWQgdGhlIHJlc2VydmF0aW9uCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicgCiAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICRyZXNlcnZhdGlvbiA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcmVzdl9pZCkpOwoKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgJHJlc2VydmF0aW9uWydwYXJ0cyddID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKfQoKCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKQogIHsKICAgICRkaWRfc2V0X3ByaWNlID0gMDsKCiAgICAvLyBEYXRhIGNvbGxlY3Rpb24KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdGF0dXMnXSkgKQogICAgICB7CgkkcmVzZXJ2YXRpb25bJ3N0YXR1cyddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9zdGF0dXMnXSk7Cgl1bnNldCgkcGFyYW1zWydpbnB1dF9zdGF0dXMnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9jdXN0b21lcl9pZCddKSApCiAgICAgIHsKCSRyZXNlcnZhdGlvblsnY3VzdG9tZXJfaWQnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfY3VzdG9tZXJfaWQnXTsKCXVuc2V0KCRwYXJhbXNbJ2lucHV0X2N1c3RvbWVyX2lkJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYWRtaW5fbm90ZXMnXSkgKQogICAgICB7CgkkcmVzZXJ2YXRpb25bJ2FkbWluX25vdGVzJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2FkbWluX25vdGVzJ10pOwoJdW5zZXQoJHBhcmFtc1snaW5wdXRfYWRtaW5fbm90ZXMnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9wcmljZSddKSAmJiAhZW1wdHkoJHBhcmFtc1snaW5wdXRfcHJpY2UnXSkgKQogICAgICB7CgkkZGlkX3NldF9wcmljZSA9IDE7CgkkcmVzZXJ2YXRpb25bJ3ByaWNlJ10gPSBmbG9hdHZhbCgkcGFyYW1zWydpbnB1dF9wcmljZSddKTsKCXVuc2V0KCRwYXJhbXNbJ2lucHV0X3ByaWNlJ10pOwogICAgICB9CgogICAgJHJlc2VydmF0aW9uWydwYXJ0cyddID0gYXJyYXkoKTsKCiAgICAvLyBnZXQgdGhlIHJlc2VydmF0aW9uIHBhcnRzIG91dCBvZiBwYXJhbXMKICAgIGZvciggJGkgPSAxOyAkaSA8IDEwMDA7ICRpKysgKQogICAgICB7CglpZiggaXNzZXQoJHBhcmFtc1sncGFydF9zZWxyc3JjXycuJGldKSAmJiAoJHBhcmFtc1sncGFydF9zZWxyc3JjXycuJGldID4gMCkgKQoJICB7CgkgICAgJHBhcnRpZHggPSAkaTsKCSAgICAkcmlkID0gJHBhcmFtc1sncGFydF9zZWxyc3JjXycuJGldOwogICAgICAgICAgICAkc3RhcnRfdXQgPSAkcGFyYW1zWydwYXJ0X3N0YXJ0ZGF0ZV8nLiRpXTsKCSAgICAkZW5kX3V0ID0gJyc7CgkgICAgJG1lcmlkaWFuID0gJyc7CgkgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3BhcnRfc3RhcnRkYXRlXycuJGkuJ21lcmlkaWFuJ10pICkKCSAgICAgIHsKCQkkbWVyaWRpYW4gPSAkcGFyYW1zWydwYXJ0X3N0YXJ0ZGF0ZV8nLiRpLidtZXJpZGlhbiddOwoJICAgICAgfQogICAgICAgICAgICBpZiggJHBhcmFtc1sncGFydF9lbmRkYXRlXycuJGldICkKCSAgICAgIHsKCQkkZW5kX3V0ID0gJHBhcmFtc1sncGFydF9lbmRkYXRlXycuJGldOwoJICAgICAgfQoJICAgICRwYXJ0ID0gJHRoaXMtPkFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCRyaWQsJHN0YXJ0X3V0LCRlbmRfdXQsJG1lcmlkaWFuKTsKCSAgICAkcGFydFsncmVzdl9pZCddICAgID0gJHJlc2VydmF0aW9uWydpZCddOyAvLyBpbmNhc2UgaXQncyBhbHJlYWR5IHNldAoJICAgICRwYXJ0Wydyc3JjX2lkJ10gICAgPSAkcmlkOwoJICAgICRwYXJ0WydudW1fcGVvcGxlJ10gPSAkcGFyYW1zWydwYXJ0X251bXBlb3BsZV8nLiRpXTsKCSAgICAkcGFydFsncHJpY2UnXSAgICAgID0gJHBhcmFtc1sncGFydF9wcmljZV8nLiRpXTsKCSAgICAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bXSA9ICRwYXJ0OwoJICB9CgllbHNlCgkgIHsKCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgaWYoICEkZGlkX3NldF9wcmljZSApCiAgICAgIHsKCS8vIGhhdmVuJ3Qgc2V0IHRoZSBwcmljZSB5ZXQKCS8vIGdyYWIgaXQgZnJvbSBhbGwgdGhlIHBhcnRzLgoJJHByaWNlID0gMDsKCWZvciggJG4gPSAwOyAkbiA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRuKysgKQoJICB7CgkgICAgJHByaWNlICs9ICRyZXNlcnZhdGlvblsncGFydHMnXVskbl1bJ3ByaWNlJ107CgkgIH0KCSRyZXNlcnZhdGlvblsncHJpY2UnXSA9ICRwcmljZTsKCSRkaWRfc2V0X3ByaWNlID0gMTsKICAgICAgfQoKICAgIC8vIGRhdGEgdmFsaWRhdGlvbgogICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICBpZiggJHJlc2VydmF0aW9uWydzdGF0dXMnXSA9PSAtMSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9zZWxlY3Rfc3RhdHVzJyk7CiAgICAgIH0KICAgIGlmKCAkcmVzZXJ2YXRpb25bJ2N1c3RvbWVyX2lkJ10gPCAxICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJyk7CiAgICAgIH0KICAgIGlmKCAoZW1wdHkoJHJlc2VydmF0aW9uWydwcmljZSddKSB8fCAkcmVzZXJ2YXRpb25bJ3ByaWNlJ10gPCAwLjAgfHwgJHJlc2VydmF0aW9uWydwcmljZSddID4gMTAwMDAwMC4wKSAmJgoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Vycm9yX25vX3ByaWNlcycsMSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9wcmljZScpOwogICAgICB9CiAgICBpZiggIWNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9fcmVzb3VyY2VzX3NlbGVjdGVkJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gY2hlY2sgZm9yIGNvbmZsaWN0cyBhbmQgb3ZlcmxhcHMgYW1vbmdzdCB0aGVzZSByZXNlcnZhdGlvbiBwYXJ0cwoJaWYoIGNoZWNrX3BhcnRzX292ZXJsYXAoJHJlc2VydmF0aW9uWydwYXJ0cyddKSApCgkgIHsKCSAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZXZlbnRfY29uZmxpY3QnKTsKCSAgfQogICAgICB9CgogICAgCiAgICBpZiggIWNvdW50KCRlcnJvcnMpICkKICAgICAgewoJLy8gY2hlY2sgYWdhaW5zdCB0aGUgZGF0YWJhc2UgZm9yIHJlZXJ2YXRpb24gY29uZmxpY3RzLgogICAgICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncmVzdm5pZCddKSApCiAgICAgICAgICB7CiAgICAgICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0CgkgICAgJGNvbmZsaWN0ID0gJHRoaXMtPkNoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHJlc2VydmF0aW9uKTsKCSAgICBpZiggJGNvbmZsaWN0ICkKCSAgICAgIHsKCSAgICAgICAgLy8geWVwLCB0aGVyZSdzIGEgY29uZmxpY3QKCSAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2V2ZW50X2NvbmZsaWN0Jyk7CgkgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgewoJICAgIC8vIFRoaXMgaXMgYW4gdXBkYXRlCgkgICAgJHJlc2VydmF0aW9uWydpZCddID0gJHJlc3ZfaWQ7CgkgICAgJGNvbmZsaWN0ID0gJHRoaXMtPkNoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHJlc2VydmF0aW9uKTsKCSAgICBpZiggJGNvbmZsaWN0ICkKCSAgICAgIHsKCSAgICAgICAgLy8geWVwLCB0aGVyZSdzIGEgY29uZmxpY3QKCSAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2V2ZW50X2NvbmZsaWN0Jyk7CgkgICAgICB9CiAgICAgICAgICB9CiAgICAgIH0KCiAgICAvLyBkYXRhIHN0b3JhZ2UKICAgIGlmKCAhY291bnQoJGVycm9ycykgKQogICAgICB7CgkvLyBldmVyeXRoaW5nIGlzIGdvb2QKCS8vIGFkZCBpdCB0byB0aGUgZGF0YWJhc2UKCSRwYXJ0cyA9ICcnOwogICAgICAgICRkYnIgPSAnJzsKCSR0aGlzLT5DYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCRyZXNlcnZhdGlvbik7CQoJJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKCiAgICAgICAgaWYoICRyZXN2X2lkICkKICAgICAgICAgIHsKICAgICAgICAgICAgLy8gYW4gdXBkYXRlCiAgICAgICAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBjdXN0b21lcl9pZCA9ID8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlID0gPywgYWRtaW5fbm90ZXMgPSA/LCBzdGF0dXMgPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX2RhdGUgPSAkbm93CiAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/IjsKICAgICAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddLCRyZXNlcnZhdGlvblsncHJpY2UnXSwKCQkJCQkgICAgICRyZXNlcnZhdGlvblsnYWRtaW5fbm90ZXMnXSwkcmVzZXJ2YXRpb25bJ3N0YXR1cyddLCRyZXN2X2lkKSk7CgogICAgICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyAKICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICB7CiAgIAkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4iCiAgICAgICAgICAgICAgICAgICAgICAoY3VzdG9tZXJfaWQsIHByaWNlLCAKICAgICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3Rlcywgc3RhdHVzLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkKICAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPywkbm93LCRub3cpIjsKIAkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddLCRyZXNlcnZhdGlvblsncHJpY2UnXSwKCQkJCQkgICAgICRyZXNlcnZhdGlvblsnYWRtaW5fbm90ZXMnXSwkcmVzZXJ2YXRpb25bJ3N0YXR1cyddKSk7CiAJICAgICRyZXN2X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCSAgfQoKCWlmKCAhJGRiciApCgkgIHsKCSAgICBlY2hvICRkYi0+RXJyb3JNc2coKS4iIC0gIi4kZGItPnNxbC4nPGJyLz4nOwoJICAgIGRpZSgpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcmVzZXJ2YXRpb25bJ2lkJ10gPSAkcmVzdl9pZDsKCSAgICAKCSAgICAkdHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIKICAgICAgICAgICAgICAgICAgICAgICAoc3RhcnRfZGF0ZSxlbmRfZGF0ZSxyZXN2X2lkLCByc3JjX2lkLCBudW1fcGVvcGxlLCBwcmljZSApIAogICAgICAgICAgICAgICAgICAgICAgVkFMVUVTICglcywlcyw/LD8sPyw/KSI7CgkgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKTsgJGkrKyApCgkgICAgICB7CgkJJHBhcnQgPSYgJHJlc2VydmF0aW9uWydwYXJ0cyddWyRpXTsKCQkkc3RhcnRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHBhcnRbJ3N0YXJ0X2RhdGUnXSk7CgkJJGVuZF9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkcGFydFsnZW5kX2RhdGUnXSk7CgoJCSRxdWVyeSA9IHNwcmludGYoJHRxdWVyeSwkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkLCRwYXJ0Wydyc3JjX2lkJ10sJHBhcnRbJ251bV9wZW9wbGUnXSwkcGFydFsncHJpY2UnXSkpOwoJCWlmKCAhJGRiciApCgkJICB7CgkJICAgIC8vIGRlYnVnCgkJICAgIGVjaG8gJGRiLT5FcnJvck1zZygpLiIgLSAiLiRkYi0+c3FsLic8YnIvPic7CgkJICAgIGRpZSgpOyAvLyBkZWJ1ZwoJCSAgfQoJICAgICAgfQoKCSAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycsMSkgJiYKCQlpc3NldCgkcGFyYW1zWydpbnB1dF9zZW5kbWVzc2FnZSddKSAmJgoJCSRwYXJhbXNbJ2lucHV0X3NlbmRtZXNzYWdlJ10gPT0gMSkKCSAgICAgIHsKCQkkdG1wID0gJyc7CgkJJGVtYWlsdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5DT05GSVJNRU1BSUxfVEVNUExBVEUpOwoJCSRyZXMgPSAkdGhpcy0+U2VuZFJlc2VydmF0aW9uRGV0YWlsc2VtYWlsKCRyZXN2X2lkLCRlbWFpbHRlbXBsYXRlLDEsJHRtcCk7CgkgICAgICB9CgogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgfQogIH0KCgoKLy8KLy8gQnVpbGQgdGhlIGZvcm0KLy8KZm9yKCAkcCA9IDA7ICRwIDwgY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKTsgJHArKyApCiAgewogICAgJHBhcnQgPSYgJHJlc2VydmF0aW9uWydwYXJ0cyddWyRwXTsKICAgICRyc3JjID0gJHRoaXMtPkdldFJlc291cmNlKCRwYXJ0Wydyc3JjX2lkJ10pOwogICAgaWYoICRyc3JjICkKICAgICAgewoJJGMgPSAnJzsKCXN3aXRjaCggJHJzcmNbJ3Jlc19pbnRlcnZhbCddICkKCSAgewoJICBjYXNlICdob3VybHknOgoJICAgICRjID0gJyxoJzsKCSAgICBicmVhazsKCSAgY2FzZSAnaGFsZl9kYXknOgoJICAgICRjID0gJyxwJzsKCSAgICBicmVhazsKCSAgY2FzZSAnZGFpbHknOgoJICAgICRjID0gJyxkJzsKCSAgICBicmVhazsKCSAgfQogICAgICAgICRwYXJ0WydleHRfcGFydF90eXBlJ10gPSAkcnNyY1sncmVzX2ludGVydmFsJ107CgkkcGFydFsnZXh0X3JzcmNpZCddID0gJHBhcnRbJ3JzcmNfaWQnXS4kYzsKCSRwYXJ0WydleHRfc3VtbWFyeSddID0gJHRoaXMtPkdldFJlc291cmNlU3VtbWFyeSgkcnNyYyk7CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9yZXN2bicsCgkJCQkJCSAgICAgJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokZmV1ID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggaXNfb2JqZWN0KCRmZXUpICkKICB7CiAgICAkZ2lkID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZ3JvdXAnKTsKICAgIGlmKCAkZ2lkID09IC0xICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm9fdXNlcnNfZm91bmQnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGFkZHRleHQgPSAnaWQ9ImlucHV0X2N1c3RvbWVyX2lkIiBvbmNoYW5nZT0ib25fY2hhbmdlX2N1c3RvbWVyKCk7IiAnOwogICAgICAgICRzbWFydHktPmFzc2lnbignbWVtYmVyb2YnLCRnaWQpOwogICAgICAgICR1c2VybGlzdCA9ICR0aGlzLT5HZXRVc2VyRHJvcGRvd25MaXN0KCk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jdXN0b21lcl9pZCcsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfY3VzdG9tZXJfaWQnLCR1c2VybGlzdCwKCQkJCQkgICAgICAgLTEsJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddLCRhZGR0ZXh0KSk7CiAgICAgIH0KICB9Cgokc3RhdHVzZXMgPSBhcnJheSgpOwokc3RhdHVzZXNbLTFdID0gJHRoaXMtPkxhbmcoJ3NlbGVjdF9vbmUnKTsKJHN0YXR1c2VzW0FWQUlMQUJJTElUWV9TVEFUVVNfUEVORElOR10gPSAkdGhpcy0+TGFuZyhBVkFJTEFCSUxJVFlfU1RBVFVTX1BFTkRJTkcpOwokc3RhdHVzZXNbQVZBSUxBQklMSVRZX1NUQVRVU19DQU5DRUxMRURdID0gJHRoaXMtPkxhbmcoQVZBSUxBQklMSVRZX1NUQVRVU19DQU5DRUxMRUQpOwokc3RhdHVzZXNbQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRURdID0gJHRoaXMtPkxhbmcoQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRUQpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXR1c2VzJywkc3RhdHVzZXMpOwoKJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiRzbWFydHktPmFzc2lnbignZGVmYXVsdF9jb250ZW50X2lkJywkY29udGVudG9wcy0+R2V0RGVmYXVsdENvbnRlbnQoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2RhdGEnLCRyZXNlcnZhdGlvbik7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fbm90ZXMnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcmVzZXJ2YXRpb25bJ2FkbWluX25vdGVzJ10sJ2lucHV0X2FkbWluX25vdGVzJykpOwoKJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lLHJlc19pbnRlcnZhbCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgV0hFUkUgYWN0aXZlID0gMSc7CiR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiRyc3JjcyA9IGFycmF5KCk7CiRyc3Jjc19yZXYgPSBhcnJheSgpOwokcnNyY3NfcmV2WyctMSwtMSddID0gICR0aGlzLT5MYW5nKCdzZWxlY3Rfb25lJyk7CiRpbnRlcnZhbHMgPSBhcnJheSgpOwokaW50ZXJ2YWxzWydob3VybHknXSA9ICdoJzsKJGludGVydmFsc1snaGFsZl9kYXknXSA9ICdwJzsKJGludGVydmFsc1snZGFpbHknXSA9ICdkJzsKZm9yZWFjaCggJHRtcCBhcyAkb25lICkKewogICRyc3Jjc19yZXZbJG9uZVsnaWQnXS4nLCcuJGludGVydmFsc1skb25lWydyZXNfaW50ZXJ2YWwnXV1dID0gJG9uZVsnbmFtZSddLicgKCcuJHRoaXMtPkxhbmcoJG9uZVsncmVzX2ludGVydmFsJ10pLicpJzsKfQokc21hcnR5LT5hc3NpZ24oJ3JzcmNfbGlzdCcsJHJzcmNzX3Jldik7CgokdG1wID0gYXJyYXkoKTsKJHRtcFsnYW0nXSA9ICR0aGlzLT5MYW5nKCdBTScpOwokdG1wWydwbSddID0gJHRoaXMtPkxhbmcoJ1BNJyk7CiRzbWFydHktPmFzc2lnbignbWVyaWRpYW5zJywkdG1wKTsKCiR0bXAgPSBhcnJheSgpOwokZGVmYXVsdF9jYXBhY2l0eSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2NhcGFjaXR5Jyw1MCk7CmZvciggJGkgPSAxOyAkaSA8ICRkZWZhdWx0X2NhcGFjaXR5OyAkaSsrICkKICB7CiAgICAkdG1wWyRpXSA9ICRpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdwZW9wbGVfbGlzdCcsJHRtcCk7CiR0bXAgPSBnZXRfcHJlZmVyZW5jZShnZXRfdXNlcmlkKCksJ2RhdGVfZm9ybWF0X3N0cmluZycsZ2V0X3NpdGVfcHJlZmVyZW5jZSgnZGVmYXVsdGRhdGVmb3JtYXQnLCclYiAlZSwgJVknKSk7CiRzbWFydHktPmFzc2lnbignZGF0ZV9mb3JtYXQnLCR0bXApOwppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycsMSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfc2VuZG1lc3NhZ2UnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdpbnB1dF9zZW5kbWVzc2FnZScsMSkpOwogIH0KCiRhZG1pbl9zdGFydHllYXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fc3RhcnR5ZWFyJywtMSk7CmlmKCAkYWRtaW5fc3RhcnR5ZWFyIDwgMTkwMCApCiAgewogICAgJGFkbWluX3N0YXJ0eWVhciA9IGRhdGUoJ1knKTsKICB9CiRzbWFydHktPmFzc2lnbignYWRtaW5fc3RhcnR5ZWFyJywkYWRtaW5fc3RhcnR5ZWFyKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X3Jlc3ZuLnRwbCcpOwojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_rsrc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkgZXhpdCgpOwoKLy8gU2V0dXAKJHJvdyA9IGFycmF5KCduYW1lJz0+JycsJ2FjdGl2ZSc9PjEsJ2Rlc2NyaXB0aW9uJz0+JycsJ2Jhc2VfcHJpY2UnPT4nJywnYWRtaW5fbm90ZXMnPT4nJywgJ2NhcGFjaXR5Jz0+JycsCgkgICAgICdyZXNfaW50ZXJ2YWwnPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGZsdF9pbnRlcnZhbCcpLAoJICAgICAnZ3JhbnVsYXJpdHknPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGZsdF9ncmFudWxhcml0eScpLAoJICAgICAnc3RhcnR0aW1lMSc9PiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMScpLAoJICAgICAnZW5kdGltZTEnPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW5kdGltZV8xJyksCgkgICAgICdzdGFydHRpbWUyJz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXJ0dGltZV8yJyksCgkgICAgICdlbmR0aW1lMic9PiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzInKSwKCSAgICAgJ2NoZWNraW50aW1lJz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScpLAoJICAgICAnY2hlY2tvdXR0aW1lJz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNrb3V0X3RpbWUnKSwKCSAgICAgJ2FsbG93X292ZXJjYXBhY2l0eSc9PjEsCgkgICAgICdzb3J0aW5nJz0+JycKCSAgICAgKTsKJGFkanVzdHMgPSBhcnJheSgnc3VuZGF5Jz0+JycsJ21vbmRheSc9PicnLCd0dWVzZGF5Jz0+JycsJ3dlZG5lc2RheSc9PicnLCd0aHVyc2RheSc9PicnLAoJCSAnZnJpZGF5Jz0+JycsJ3NhdHVyZGF5Jz0+JycsICd3ZWVrbHknPT4nJywnb3ZlcmNhcCc9PicnLAoJCSAnZGlzY291bnRfZGF5cyc9PicnLCdkaXNjb3VudF9hZGp1c3QnPT4nJywnZGlzY291bnRfdHlwZSc9PkFWQUlMQUJJTElUWV9ESVNDT1VOVF9OT05FKTsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Jlc291cmNlcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCAkcXVlcnksIGFycmF5KCAoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSApOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLicgd2hlcmUgcnNyY19pZCA9ID8nOwogICAgJGFkanVzdHMgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCAoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSApOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vIERhdGEgY29sbGVjdGlvbgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkgKQogICAgICB7Cgkkcm93WyduYW1lJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9hY3RpdmUnXSkgKQogICAgICB7Cgkkcm93WydhY3RpdmUnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfYWN0aXZlJ107CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddKSApCiAgICAgIHsKCSRyb3dbJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2Rlc2NyaXB0aW9uJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYmFzZV9wcmljZSddKSApCiAgICAgIHsKCSRyb3dbJ2Jhc2VfcHJpY2UnXSA9IGZsb2F0dmFsKCRwYXJhbXNbJ2lucHV0X2Jhc2VfcHJpY2UnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9hZG1pbl9ub3RlcyddKSApCiAgICAgIHsKCSRyb3dbJ2FkbWluX25vdGVzJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2FkbWluX25vdGVzJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfY2FwYWNpdHknXSkgKQogICAgICB7Cgkkcm93WydjYXBhY2l0eSddID0gKGludCkkcGFyYW1zWydpbnB1dF9jYXBhY2l0eSddOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYWxsb3dfb3ZlcmNhcGFjaXR5J10pICkKICAgICAgewoJJHJvd1snYWxsb3dfb3ZlcmNhcGFjaXR5J10gPSAoaW50KSRwYXJhbXNbJ2lucHV0X2FsbG93X292ZXJjYXBhY2l0eSddOwogICAgICB9CgogICAgLy8gc2NoZWR1bGluZwogICAgJHJvd1sncmVzX2ludGVydmFsJ10gPSB0cmltKCRwYXJhbXNbJ3Jlc19pbnRlcnZhbCddKTsKICAgICRyb3dbJ2dyYW51bGFyaXR5J10gPSB0cmltKCRwYXJhbXNbJ2dyYW51bGFyaXR5J10pOwogICAgJHJvd1snc3RhcnR0aW1lMSddID0gc3ByaW50ZignJTAyZDolMDJkJywkcGFyYW1zWydzdGFydHRpbWUxX0hvdXInXSwkcGFyYW1zWydzdGFydHRpbWUxX01pbnV0ZSddKTsKICAgICRyb3dbJ2VuZHRpbWUxJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ2VuZHRpbWUxX0hvdXInXSwkcGFyYW1zWydlbmR0aW1lMV9NaW51dGUnXSk7CiAgICAkcm93WydzdGFydHRpbWUyJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ3N0YXJ0dGltZTJfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTJfTWludXRlJ10pOwogICAgJHJvd1snZW5kdGltZTInXSA9IHNwcmludGYoJyUwMmQ6JTAyZCcsJHBhcmFtc1snZW5kdGltZTJfSG91ciddLCRwYXJhbXNbJ2VuZHRpbWUyX01pbnV0ZSddKTsKICAgICRyb3dbJ2NoZWNraW50aW1lJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ2NoZWNraW5fSG91ciddLCRwYXJhbXNbJ2NoZWNraW5fTWludXRlJ10pOwogICAgJHJvd1snY2hlY2tvdXR0aW1lJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ2NoZWNrb3V0X0hvdXInXSwkcGFyYW1zWydjaGVja291dF9NaW51dGUnXSk7CgogICAgIC8vIGFkanVzdG1lbnRzCiAgICAvLyRhZGp1c3RzWydyc3JjX2lkJ10gPSBpbnQoJHBhcmFtc1sncnNyY2lkJ10pOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bmRheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1snc3VuZGF5J10gPSB0cmltKCRwYXJhbXNbJ3N1bmRheV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydtb25kYXlfYWRqdXN0J10pICkKICAgICAgewoJJGFkanVzdHNbJ21vbmRheSddID0gdHJpbSgkcGFyYW1zWydtb25kYXlfYWRqdXN0J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndHVlc2RheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1sndHVlc2RheSddID0gdHJpbSgkcGFyYW1zWyd0dWVzZGF5X2FkanVzdCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3dlZG5lc2RheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1snd2VkbmVzZGF5J10gPSB0cmltKCRwYXJhbXNbJ3dlZG5lc2RheV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWyd0aHVyc2RheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1sndGh1cnNkYXknXSA9IHRyaW0oJHBhcmFtc1sndGh1cnNkYXlfYWRqdXN0J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snZnJpZGF5X2FkanVzdCddKSApCiAgICAgIHsKCSRhZGp1c3RzWydmcmlkYXknXSA9IHRyaW0oJHBhcmFtc1snZnJpZGF5X2FkanVzdCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NhdHVyZGF5X2FkanVzdCddKSApCiAgICAgIHsKCSRhZGp1c3RzWydzYXR1cmRheSddID0gdHJpbSgkcGFyYW1zWydzYXR1cmRheV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWyd3ZWVrbHlfYW1vdW50J10pICkKICAgICAgewoJJGFkanVzdHNbJ3dlZWtseSddID0gdHJpbSgkcGFyYW1zWyd3ZWVrbHlfYW1vdW50J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snb3ZlcmNhcF9hbW91bnQnXSkgKQogICAgICB7CgkkYWRqdXN0c1snb3ZlcmNhcCddID0gdHJpbSgkcGFyYW1zWydvdmVyY2FwX2Ftb3VudCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rpc2NvdW50X3R5cGUnXSkgKQogICAgICB7CgkkYWRqdXN0c1snZGlzY291bnRfdHlwZSddID0gKGludCkoJHBhcmFtc1snZGlzY291bnRfdHlwZSddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rpc2NvdW50X2RheXMnXSkgKQogICAgICB7CgkkYWRqdXN0c1snZGlzY291bnRfZGF5cyddID0gKGludCkoJHBhcmFtc1snZGlzY291bnRfZGF5cyddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rpc2NvdW50X2FkanVzdCddKSApCiAgICAgIHsKCSRhZGp1c3RzWydkaXNjb3VudF9hZGp1c3QnXSA9IHRyaW0oJHBhcmFtc1snZGlzY291bnRfYWRqdXN0J10pOwogICAgICB9CgogICAgLy8gRGF0YSB2YWxpZGF0aW9uCiAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgIGlmKCBlbXB0eSgkcm93WyduYW1lJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQogICAgaWYoICRyb3dbJ2Jhc2VfcHJpY2UnXSA8IDAuMCB8fCAkcm93WydiYXNlX3ByaWNlJ10gPiAxMDAwMDAwLjAgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggJGFkanVzdHNbJ3dlZWtseSddIDwgMC4wIHx8ICRhZGp1c3RzWyd3ZWVrbHknXSA+IDEwMDAwMDAuMCApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KICAgIGlmKCAkYWRqdXN0c1snb3ZlcmNhcCddIDwgMC4wIHx8ICRhZGp1c3RzWydvdmVyY2FwJ10gPiAxMDAwMDAwLjAgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggJGFkanVzdHNbJ2Rpc2NvdW50X2RheXMnXSA8IDAgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CgogICAgLy8gRGF0YWJhc2Ugd29yawogICAgaWYoIGNvdW50KCRlcnJvcnMpICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZGJyID0gdHJ1ZTsKCWlmKCAhaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKCSAgewoJICAgICRxdWVyeSA9ICdTRUxFQ1QgTUFYKHNvcnRpbmcpIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1M7CgkgICAgJG5ld19zb3J0aW5nID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKCSAgICAkcm93Wydzb3J0aW5nJ10gPSAkbmV3X3NvcnRpbmcrMTsKCgkgICAgLy8gaXQncyBhbiBpbnNlcnQKCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyAKICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUsIGFjdGl2ZSwgZGVzY3JpcHRpb24sIGJhc2VfcHJpY2UsIGFkbWluX25vdGVzLCBjYXBhY2l0eSwKICAgICAgICAgICAgICAgICAgICAgICAgIHJlc19pbnRlcnZhbCwgZ3JhbnVsYXJpdHksIHN0YXJ0dGltZTEsIGVuZHRpbWUxLCBzdGFydHRpbWUyLCBlbmR0aW1lMiwKICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNraW50aW1lLCBjaGVja291dHRpbWUsIGFsbG93X292ZXJjYXBhY2l0eSwgc29ydGluZyApCiAgICAgICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/KSc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCQlhcnJheSgkcm93WyduYW1lJ10sJHJvd1snYWN0aXZlJ10sJHJvd1snZGVzY3JpcHRpb24nXSwkcm93WydiYXNlX3ByaWNlJ10sCgkJCQkgICAgICAkcm93WydhZG1pbl9ub3RlcyddLCRyb3dbJ2NhcGFjaXR5J10sCgkJCQkgICAgICAkcm93WydyZXNfaW50ZXJ2YWwnXSwkcm93WydncmFudWxhcml0eSddLAoJCQkJICAgICAgJHJvd1snc3RhcnR0aW1lMSddLCRyb3dbJ2VuZHRpbWUxJ10sCgkJCQkgICAgICAkcm93WydzdGFydHRpbWUyJ10sJHJvd1snZW5kdGltZTInXSwKCQkJCSAgICAgICRyb3dbJ2NoZWNraW50aW1lJ10sJHJvd1snY2hlY2tvdXR0aW1lJ10sCgkJCQkgICAgICAkcm93WydhbGxvd19vdmVyY2FwYWNpdHknXSwkcm93Wydzb3J0aW5nJ10pKTsKCSAgICBpZiggISRkYnIgKSAKCSAgICAgIHsKCQlkaWUoJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+Jyk7CgkgICAgICB9CgkgICAgJHBhcmFtc1sncnNyY2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwoKCSAgICBpZiggJGRiciApCgkgICAgICB7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLicKICAgICAgICAgICAgICAgICAgICAgIChyc3JjX2lkLCBzdW5kYXksIG1vbmRheSwgdHVlc2RheSwgd2VkbmVzZGF5LCB0aHVyc2RheSwgZnJpZGF5LCBzYXR1cmRheSwgd2Vla2x5LCBvdmVyY2FwLCBkaXNjb3VudF9kYXlzLCAKICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudF9hZGp1c3QsIGRpc2NvdW50X3R5cGUpCiAgICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJCSAgICBhcnJheSgkcGFyYW1zWydyc3JjaWQnXSwgJGFkanVzdHNbJ3N1bmRheSddLCAkYWRqdXN0c1snbW9uZGF5J10sICRhZGp1c3RzWyd0dWVzZGF5J10sCgkJCQkJICAkYWRqdXN0c1snd2VkbmVzZGF5J10sICRhZGp1c3RzWyd0aHVyc2RheSddLCAkYWRqdXN0c1snZnJpZGF5J10sICRhZGp1c3RzWydzYXR1cmRheSddLAoJCQkJCSAgJGFkanVzdHNbJ3dlZWtseSddLCAkYWRqdXN0c1snb3ZlcmNhcCddLAoJCQkJCSAgJGFkanVzdHNbJ2Rpc2NvdW50X2RheXMnXSwgJGFkanVzdHNbJ2Rpc2NvdW50X2FkanVzdCddLCAkYWRqdXN0c1snZGlzY291bnRfdHlwZSddKSk7CgkJaWYoICEkZGJyICkgCgkJICB7CgkJICAgIGRpZSgkZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nKTsKCQkgIH0KCgkgICAgICB9CgkgIH0KCWVsc2UKCSAgewoJICAgIC8vIGl0J3MgYW4gdXBkYXRlCgkgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIAogICAgICAgICAgICAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/LCBhY3RpdmUgPSA/LCBkZXNjcmlwdGlvbiA9ID8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VfcHJpY2UgPSA/LCBhZG1pbl9ub3RlcyA9ID8sIGNhcGFjaXR5ID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNfaW50ZXJ2YWwgPSA/LCBncmFudWxhcml0eSA9ID8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR0aW1lMSA9ID8sIGVuZHRpbWUxID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydHRpbWUyID0gPywgZW5kdGltZTIgPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNraW50aW1lID0gPywgY2hlY2tvdXR0aW1lID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd19vdmVyY2FwYWNpdHkgPSA/CiAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJCWFycmF5KCRyb3dbJ25hbWUnXSwkcm93WydhY3RpdmUnXSwKCQkJCSAgICAgICRyb3dbJ2Rlc2NyaXB0aW9uJ10sJHJvd1snYmFzZV9wcmljZSddLAoJCQkJICAgICAgJHJvd1snYWRtaW5fbm90ZXMnXSwKCQkJCSAgICAgICRyb3dbJ2NhcGFjaXR5J10sCgkJCQkgICAgICAkcm93WydyZXNfaW50ZXJ2YWwnXSwgJHJvd1snZ3JhbnVsYXJpdHknXSwKCQkJCSAgICAgICRyb3dbJ3N0YXJ0dGltZTEnXSwgJHJvd1snZW5kdGltZTEnXSwKCQkJCSAgICAgICRyb3dbJ3N0YXJ0dGltZTInXSwgJHJvd1snZW5kdGltZTInXSwKCQkJCSAgICAgICRyb3dbJ2NoZWNraW50aW1lJ10sICRyb3dbJ2NoZWNrb3V0dGltZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb3dbJ2FsbG93X292ZXJjYXBhY2l0eSddLAoJCQkJICAgICAgKGludCkkcGFyYW1zWydyc3JjaWQnXSkpOwoKCSAgICBpZiggJGRiciApCgkgICAgICB7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUy4nIAogICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBzdW5kYXkgPSA/LCBtb25kYXkgPSA/LCB0dWVzZGF5ID0gPywgd2VkbmVzZGF5ID0gPywgdGh1cnNkYXkgPSA/LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJpZGF5ID0gPywgc2F0dXJkYXkgPSA/LCB3ZWVrbHkgPSA/LCBvdmVyY2FwID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnRfZGF5cyA9ID8sIGRpc2NvdW50X2FkanVzdCA9ID8sIGRpc2NvdW50X3R5cGUgPSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcnNyY19pZCA9ID8nOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQkJICAgIGFycmF5KCRhZGp1c3RzWydzdW5kYXknXSwgJGFkanVzdHNbJ21vbmRheSddLCAkYWRqdXN0c1sndHVlc2RheSddLAoJCQkJCSAgJGFkanVzdHNbJ3dlZG5lc2RheSddLCAkYWRqdXN0c1sndGh1cnNkYXknXSwgJGFkanVzdHNbJ2ZyaWRheSddLCAKCQkJCQkgICRhZGp1c3RzWydzYXR1cmRheSddLCAkYWRqdXN0c1snd2Vla2x5J10sICRhZGp1c3RzWydvdmVyY2FwJ10sCgkJCQkJICAkYWRqdXN0c1snZGlzY291bnRfZGF5cyddLCRhZGp1c3RzWydkaXNjb3VudF9hZGp1c3QnXSwKCQkJCQkgICRhZGp1c3RzWydkaXNjb3VudF90eXBlJ10sCgkJCQkJICAoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSApOwoJICAgICAgfQoJICB9CgoJaWYoICEkZGJyICkKCSAgewoJICAgIGVjaG8gJGRiLT5zcWwuJzxici8+RVJST1I6ICcuJGRiLT5FcnJvck1zZygpLic8YnIvPic7CgkgICAgZGllKCk7CgkgIH0KCgoJLy8KCS8vIEhhbmRsZSBjYXRlZ29yaWVzCgkvLwoJCgkvLyBkZWxldGUgYW55IGV4aXN0aW5nIGNhdGVnb3JpZXMgZm9yIHRoaXMgcmVzb3VyY2UKCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0NBVFMuJyBXSEVSRSByc3JjX2lkID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSk7CgoJLy8KCS8vIEhhbmRsZSBjdXN0b20gZmllbGRzCgkvLwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUy4nIChyc3JjX2lkLGNhdGVnb3J5X2lkKQogICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8pJzsKCWZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQoJICB7CgkgICAgaWYoICFwcmVnX21hdGNoKCcvY2F0Xy8nLCAka2V5ICkgKQoJICAgICAgewoJCWNvbnRpbnVlOwoJICAgICAgfQoJICAgICRjYXRpZCA9IChpbnQpc3Vic3RyKCRrZXksNCk7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ3JzcmNpZCddLCRjYXRpZCkpOwoJICB9CgoKCS8vIGRlbGV0ZSBhbnkgZXhpc3RpbmcgZmllbGRzIGZvciB0aGlzIHJlc291cmNlCgkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTLicgV0hFUkUgcnNyY19pZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoKGludCkkcGFyYW1zWydyc3JjaWQnXSkpOwoKCS8vIGhhbmRsZSBwYXJhbWV0ZXJzCglmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKCSAgewoJICAgIGlmKCAhcHJlZ19tYXRjaCgnL2ZsZF8vJywgJGtleSApICkKCSAgICAgIHsKCQljb250aW51ZTsKCSAgICAgIH0KCSAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CgoJICAgIC8vIGFkanVzdCB0aGUga2V5IHRvIGdldCB0aGUgZmllbGQgbmFtZQoJICAgICRmbGRuYW1lID0gc3Vic3RyKCRrZXksNCk7CgkgICAgaWYoICFpc3NldCgkcGFyYW1zWydpbmZvXycuJGZsZG5hbWVdKSApCgkgICAgICB7CgkJLy8gdG9kbywgdHJpZ2dlciBlcnJvcgoJCWNvbnRpbnVlOwoJICAgICAgfQoJICAgIGxpc3QoJGZsZHR5cGUsJGZsZGlkKSA9IGV4cGxvZGUoJywnLHRyaW0oJHBhcmFtc1snaW5mb18nLiRmbGRuYW1lXSkpOwoJICAgICRwYXNzID0gdHJ1ZTsKCSAgICBzd2l0Y2goICRmbGR0eXBlICkKCSAgICAgIHsKCSAgICAgIGNhc2UgJ2ltYWdlJzoKCQl7CgkJICAkcmVzID0gdHJ1ZTsKCQkgIGlmKCBpc3NldCggJHBhcmFtc1snZGVsXycuJGZsZG5hbWVdICkgKQoJCSAgICB7CgkJICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVJbWFnZURlbGV0ZSgkaWQsKGludCkkcGFyYW1zWydyc3JjaWQnXSwkdmFsdWUpOwoJCSAgICB9CgoJCSAgaWYoICEkcmVzICkKCQkgICAgewoJCSAgICAgICRwYXNzID0gZmFsc2U7CgkJICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpbGVkZWxldGUnKTsKCQkgICAgfQoJCSAgZWxzZQoJCSAgICB7CgkJICAgICAgJHRfdmFsdWUgPSAnJzsKCQkgICAgICAkdF9yZXN1bHQgPSAnJzsKCQkgICAgICAkcmVzID0gJHRoaXMtPkhhbmRsZUltYWdlVXBsb2FkKCRpZCwka2V5LChpbnQpJHBhcmFtc1sncnNyY2lkJ10sCgkJCQkJCSAgICAgICR0X3ZhbHVlLCR0X3Jlc3VsdCk7CgkJICAgICAgaWYoICEkcmVzICYmICFlbXB0eSgkcmVzdWx0KSkKCQkJewoJCQkgICRwYXNzID0gZmFsc2U7CgkJCSAgJGVycm9yc1tdID0gJHRfcmVzdWx0OwoJCQl9CgkJICAgICAgaWYoICRyZXMgJiYgIWVtcHR5KCR0X3ZhbHVlKSApCgkJCXsKCQkJICAkdmFsdWUgPSAkdF92YWx1ZTsKCQkJfQoJCSAgICB9CgkJfQoJCWJyZWFrOwoKCSAgICAgIGNhc2UgJ2ZpbGUnOgoJCXsKCQkgICRyZXMgPSB0cnVlOwoJCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWxfJy4kZmxkbmFtZV0gKSApCgkJICAgIHsKCQkgICAgICAkcmVzID0gJHRoaXMtPkhhbmRsZUZpbGVEZWxldGUoJGlkLChpbnQpJHBhcmFtc1sncnNyY2lkJ10sJHZhbHVlKTsKCQkgICAgfQoKCQkgIGlmKCAhJHJlcyApCgkJICAgIHsKCQkgICAgICAkcGFzcyA9IGZhbHNlOwoJCSAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9maWxlZGVsZXRlJyk7CgkJICAgIH0KCQkgIGVsc2UKCQkgICAgewoJCSAgICAgICR0X3ZhbHVlID0gJyc7CgkJICAgICAgJHRfcmVzdWx0ID0gJyc7CgkJICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVGaWxlVXBsb2FkKCRpZCwka2V5LChpbnQpJHBhcmFtc1sncnNyY2lkJ10sCgkJCQkJCSAgICAgJHZhbHVlLCRyZXN1bHQpOwoJCSAgICAgIGlmKCAhJHJlcyAmJiAhZW1wdHkoJHJlc3VsdCkpCgkJCXsKCQkJICAkcGFzcyA9IGZhbHNlOwoJCQkgICRlcnJvcnNbXSA9ICRyZXN1bHQ7CgkJCX0KCQkgICAgICBpZiggJHJlcyAmJiAhZW1wdHkoJHRfdmFsdWUpICkKCQkJewoJCQkgICR2YWx1ZSA9ICR0X3ZhbHVlOwoJCQl9CgkJICAgIH0KCQl9CgkJYnJlYWs7CgkgICAgICB9CgoJICAgIC8vIHNhdmUgdGhlIHZhbHVlCgkgICAgaWYoICRwYXNzICYmICFlbXB0eSgkdmFsdWUpKQoJICAgICAgewoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJyAocnNyY19pZCwgZmllbGRkZWZfaWQsIHZhbHVlKQogICAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8pJzsKCQkkZGJyID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAoaW50KSRwYXJhbXNbJ3JzcmNpZCddLCRmbGRpZCwkdmFsdWUpICk7CgkgICAgICB9CQkKCSAgfQoKCS8vIGFkZCBzZWFyY2ggZGF0YQoJaWYoICFjb3VudCgkZXJyb3JzKSAmJiAkcm93WydhY3RpdmUnXSkKCSAgewoJICAgICRzZWFyY2ggPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdTZWFyY2gnKTsKCSAgICBpZiggaXNfb2JqZWN0KCRzZWFyY2gpICkKCSAgICAgIHsKCQkkc3RyID0gJHJvd1snbmFtZSddLicgJy4kcm93WydkZXNjcmlwdGlvbiddOwoJCWZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQoJCSAgewoJCSAgICBpZiggIXByZWdfbWF0Y2goJy9mbGRfLycsICRrZXkgKSApCgkJICAgICAgewoJCQljb250aW51ZTsKCQkgICAgICB9CgkJICAgIGxpc3QoJGZsZHR5cGUsJGZsZGlkKSA9IGV4cGxvZGUoJywnLHRyaW0oJHBhcmFtc1snaW5mb18nLiRmbGRuYW1lXSkpOwoJCSAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CgkJICAgIGlmKCAkZmxkdHlwZSA9PSAndGV4dGJveCcgfHwgJGZsZHR5cGUgPT0gJ3RleHRhcmVhJyApCgkJICAgICAgewoJCQkkc3RyIC49ICcgJy4kdmFsdWU7CgkJICAgICAgfQoJCSAgfQoJCSRzZWFyY2gtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksKGludCkkcGFyYW1zWydyc3JjaWQnXSwncmVzb3VyY2UnLCRzdHIpOwoJICAgICAgfQoJICB9CgoJLy8gZGlzcGxheSAgZXJyb3JzIG9yIHJlZGlyZWN0CglpZiggY291bnQoJGVycm9ycykgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCSAgfQoKICAgICAgfSAvLyBlbHNlCgogIH0gLy8gc3VibWl0CgovLwovLyBDcmVhdGUgdGhlIGZvcm0KLy8KewogICRkaXNjb3VudF90eXBlcyA9IGFycmF5KCk7CiAgJGRpc2NvdW50X3R5cGVzW0FWQUlMQUJJTElUWV9ESVNDT1VOVF9OT05FXSA9ICR0aGlzLT5MYW5nKCdub25lJyk7CiAgJGRpc2NvdW50X3R5cGVzW0FWQUlMQUJJTElUWV9ESVNDT1VOVF9GUkVFQkxPQ0tdID0gJHRoaXMtPkxhbmcoJ2Rpc2NvdW50X2ZyZWVibG9jaycpOwogICRkaXNjb3VudF90eXBlc1tBVkFJTEFCSUxJVFlfRElTQ09VTlRfQUxMQURKVVNUXSA9ICR0aGlzLT5MYW5nKCdkaXNjb3VudF9hbGxhZGp1c3QnKTsKICAkZGlzY291bnRfdHlwZXNbQVZBSUxBQklMSVRZX0RJU0NPVU5UX0FESlVTVERBWVNdID0gJHRoaXMtPkxhbmcoJ2Rpc2NvdW50X2FkanVzdGRheXMnKTsKICAkc21hcnR5LT5hc3NpZ24oJ2Rpc2NvdW50X3R5cGVzJywkZGlzY291bnRfdHlwZXMpOzsKfQoKewogICRpbnRlcnZhbHMgPSBhcnJheSgpOwogICRpbnRlcnZhbHNbJ2hvdXJseSddID0gJHRoaXMtPkxhbmcoJ2hvdXJseScpOwogICRpbnRlcnZhbHNbJ2hhbGZfZGF5J10gPSAkdGhpcy0+TGFuZygnaGFsZl9kYXknKTsKICAkaW50ZXJ2YWxzWydkYWlseSddID0gJHRoaXMtPkxhbmcoJ2RhaWx5Jyk7CiAgJHNtYXJ0eS0+YXNzaWduKCdpbnRlcnZhbHMnLCRpbnRlcnZhbHMpOwoKICAvLyBhcHBsaWVzIG9ubHkgdG8gaG91cmx5IGludGVydmFsCiAgJGdyYW51bGFyaXR5ID0gYXJyYXkoKTsKICAkZ3JhbnVsYXJpdHlbJ3F1YXJ0ZXJfaG91ciddID0gJHRoaXMtPkxhbmcoJ3F1YXJ0ZXJfaG91cicpOwogICRncmFudWxhcml0eVsnaGFsZl9ob3VyJ10gPSAkdGhpcy0+TGFuZygnaGFsZl9ob3VyJyk7CiAgJGdyYW51bGFyaXR5Wydob3VyJ10gPSAkdGhpcy0+TGFuZygnb25lX2hvdXInKTsKICAkc21hcnR5LT5hc3NpZ24oJ2dyYW51bGFyaXR5JywkZ3JhbnVsYXJpdHkpOwp9Cgp7CiAgJGNhcGFjaXRpZXMgPSBhcnJheSgpOwogICRjYXBhY2l0aWVzWy0xXSA9ICR0aGlzLT5MYW5nKCdub3RfYXBwbGljYWJsZScpOwogICRkZWZhdWx0X2NhcGFjaXR5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2FwYWNpdHknLDUwKTsKICBmb3IoICRpID0gMTsgJGkgPD0gJGRlZmF1bHRfY2FwYWNpdHk7ICRpKysgKQogICAgewogICAgICAkY2FwYWNpdGllc1skaV0gPSAkaTsKICAgIH0KICAkc21hcnR5LT5hc3NpZ24oJ2xpc3RfY2FwYWNpdGllcycsJGNhcGFjaXRpZXMpOwp9CgoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRfcnNyYycsJHJldHVybmlkLCRwYXJhbXMsZmFsc2UsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3JzcmMnLCRyb3cpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZGVzY3JpcHRpb24nLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcm93WydkZXNjcmlwdGlvbiddLCdpbnB1dF9kZXNjcmlwdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9iYXNlX3ByaWNlJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfYmFzZV9wcmljZScsJHJvd1snYmFzZV9wcmljZSddLDEwLDEwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fbm90ZXMnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcm93WydhZG1pbl9ub3RlcyddLCdpbnB1dF9hZG1pbl9ub3RlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hY3RpdmUnLCR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdpbnB1dF9hY3RpdmUnLCRyb3dbJ2FjdGl2ZSddKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dfb3ZlcmNhcGFjaXR5JywkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwnaW5wdXRfYWxsb3dfb3ZlcmNhcGFjaXR5Jywkcm93WydhbGxvd19vdmVyY2FwYWNpdHknXSkpOwoKLy8gQWRkIGN1c3RvbSB3ZWVrZGF5IHByaWNlcwokc21hcnR5LT5hc3NpZ24oJ2FkanVzdHMnLCRhZGp1c3RzKTsKJHNtYXJ0eS0+YXNzaWduKCdzdW5kYXlfYWRqdXN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnc3VuZGF5X2FkanVzdCcsJGFkanVzdHNbJ3N1bmRheSddLDEwLDMwKSk7CiRzbWFydHktPmFzc2lnbignbW9uZGF5X2FkanVzdCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ21vbmRheV9hZGp1c3QnLCRhZGp1c3RzWydtb25kYXknXSwxMCwzMCkpOwokc21hcnR5LT5hc3NpZ24oJ3R1ZXNkYXlfYWRqdXN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndHVlc2RheV9hZGp1c3QnLCRhZGp1c3RzWyd0dWVzZGF5J10sMTAsMzApKTsKJHNtYXJ0eS0+YXNzaWduKCd3ZWRuZXNkYXlfYWRqdXN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnd2VkbmVzZGF5X2FkanVzdCcsJGFkanVzdHNbJ3dlZG5lc2RheSddLDEwLDMwKSk7CiRzbWFydHktPmFzc2lnbigndGh1cnNkYXlfYWRqdXN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndGh1cnNkYXlfYWRqdXN0JywkYWRqdXN0c1sndGh1cnNkYXknXSwxMCwzMCkpOwokc21hcnR5LT5hc3NpZ24oJ2ZyaWRheV9hZGp1c3QnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdmcmlkYXlfYWRqdXN0JywkYWRqdXN0c1snZnJpZGF5J10sMTAsMzApKTsKJHNtYXJ0eS0+YXNzaWduKCdzYXR1cmRheV9hZGp1c3QnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdzYXR1cmRheV9hZGp1c3QnLCRhZGp1c3RzWydzYXR1cmRheSddLDEwLDMwKSk7CgovLyBBZGQgQ2F0ZWdvcmllcyB0byB0aGUgZm9ybQokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTOwokY2F0ZGVmcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicgV0hFUkUgcnNyY19pZCA9ID8nOwogICAgJGNhdHZhbHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSk7CiAgICBpZiggJGNhdHZhbHMgKQogICAgICB7CgkkdG1wID0gY2dlX2FycmF5OjptZXJnZV9ieV9rZXlzKCRjYXRkZWZzLCRjYXR2YWxzLCdpZCcsJ2NhdGVnb3J5X2lkJyk7CgkkY2F0ZGVmcyA9ICR0bXA7CiAgICAgIH0KICB9CiRjYXRlZ29yaWVzID0gYXJyYXkoKTsKZm9yZWFjaCggJGNhdGRlZnMgYXMgJG9uZWNhdCApCnsKICAkb25lY2F0WydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdjYXRfJy4kb25lY2F0WydpZCddLDEsCgkJCQkJCShpc3NldCgkb25lY2F0Wydyc3JjX2lkJ10pKT8xOjApOwogICRjYXRlZ29yaWVzW10gPSAkb25lY2F0Owp9CmlmKCBjb3VudCgkY2F0ZWdvcmllcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsJGNhdGVnb3JpZXMpOwogIH0KCi8vIEFkZCBjdXN0b20gZmllbGRzIHRvIHRoZSBmb3JtCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUzsKJGZpZWxkZGVmcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTLicgV0hFUkUgcnNyY19pZCA9ID8nOwogICAgJGZpZWxkdmFscyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KChpbnQpJHBhcmFtc1sncnNyY2lkJ10pKTsKICAgIGlmKCAkZmllbGR2YWxzICkKICAgICAgewoJJHRtcCA9IGNnZV9hcnJheTo6bWVyZ2VfYnlfa2V5cygkZmllbGRkZWZzLCRmaWVsZHZhbHMsJ2lkJywnZmllbGRkZWZfaWQnKTsKCSRmaWVsZGRlZnMgPSAkdG1wOwogICAgICB9CiAgfQoKJGZpZWxkcyA9IGFycmF5KCk7CmZvcmVhY2goICRmaWVsZGRlZnMgYXMgJG9uZWZpZWxkICkKewogIGlmKCAhaXNzZXQoJG9uZWZpZWxkWyd2YWx1ZSddKSApICRvbmVmaWVsZFsndmFsdWUnXSA9ICcnOwoKICAkb25lZmllbGRbJ2hpZGRlbiddID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5mb18nLiRvbmVmaWVsZFsnbmFtZSddLAoJCQkJCQkgJG9uZWZpZWxkWyd0eXBlJ10uJywnLiRvbmVmaWVsZFsnaWQnXSk7IAogIHN3aXRjaCggJG9uZWZpZWxkWyd0eXBlJ10gKQogICAgewogICAgY2FzZSAndGV4dGJveCc6CiAgICAgICRzaXplID0gbWluKDUwLCRvbmVmaWVsZFsnbWF4X2xlbmd0aCddKTsKICAgICAgJG9uZWZpZWxkWydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2ZsZF8nLiRvbmVmaWVsZFsnbmFtZSddLAoJCQkJCQkgICRvbmVmaWVsZFsndmFsdWUnXSwkc2l6ZSwkb25lZmllbGRbJ21heF9sZW5ndGgnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgJG9uZWZpZWxkWydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsJGlkLCRvbmVmaWVsZFsndmFsdWUnXSwnZmxkXycuJG9uZWZpZWxkWyduYW1lJ10pOwogICAgICBicmVhazsKCiAgICBjYXNlICdjaGVja2JveCc6CiAgICAgIC8vIHRvZG8sIGFkZCBoaWRkZW4gZmllbGQgZmlyc3Qgd2l0aCB0aGUgdmFsdWUKICAgICAgJG9uZWZpZWxkWydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdmbGRfJy4kb25lZmllbGRbJ25hbWUnXSwxLCRvbmVmaWVsZFsndmFsdWUnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgewoJJHRtcCA9IGV4cGxvZGUoIlxuIiwkb25lZmllbGRbJ29wdGlvbnMnXSk7CgkkdG1wMiA9IGFycmF5KCk7Cglmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQoJICB7CgkgICAgJG9uZSA9IHRyaW0oJG9uZSk7CgkgICAgJHRtcDJbJG9uZV0gPSAkb25lOwoJICB9Cgkkb25lZmllbGRbJ2ZpZWxkJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2ZsZF8nLiRvbmVmaWVsZFsnbmFtZSddLAoJCQkJCQkJJHRtcDIsLTEsJG9uZWZpZWxkWyd2YWx1ZSddKTsKICAgICAgfQogICAgICBicmVhazsKCiAgICBjYXNlICdpbWFnZSc6CiAgICAgIGlmKCAhZW1wdHkoJG9uZWZpZWxkWyd2YWx1ZSddKSApIAoJewoJICAkb25lZmllbGRbJ2Rpc3BsYXlfdmFsdWUnXSA9ICRvbmVmaWVsZFsndmFsdWUnXTsKCSAgJG9uZWZpZWxkWydkZWxldGVfZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZGVsXycuJG9uZWZpZWxkWyduYW1lJ10sMSwwKTsKCX0KICAgICAgJG9uZWZpZWxkWydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZmxkXycuJG9uZWZpZWxkWyduYW1lJ10sCgkJCQkJCSAgICAkb25lZmllbGRbJ3ZhbHVlJ10pLiR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdmbGRfJy4kb25lZmllbGRbJ25hbWUnXSwnJywzMCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ZpbGUnOgogICAgICBpZiggIWVtcHR5KCRvbmVmaWVsZFsndmFsdWUnXSkgKSAkb25lZmllbGRbJ2Rpc3BsYXlfdmFsdWUnXSA9ICRvbmVmaWVsZFsndmFsdWUnXTsKICAgICAgJG9uZWZpZWxkWydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZmxkXycuJG9uZWZpZWxkWyduYW1lJ10sCgkJCQkJCSAgICAkb25lZmllbGRbJ3ZhbHVlJ10pLiR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdmbGRfJy4kb25lZmllbGRbJ25hbWUnXSwnJywzMCk7CiAgICAgIGJyZWFrOwogICAgfQogICRmaWVsZHNbXSA9ICRvbmVmaWVsZDsKfQppZiggY291bnQoJGZpZWxkcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZmllbGRzJywkZmllbGRzKTsKICB9CgoKLy8gRWNobyBpdCBvdXQKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X3JzcmMudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_graphing.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8KLy8gZnVuY3Rpb25zCi8vCmZ1bmN0aW9uIGlzX2xlYXB5ZWFyKCR5ZWFyKQp7CiAgJGYgPSAwOwogIGlmKCAkeWVhciAlIDQgPT0gMCApICRmID0gMTsKICBpZiggJHllYXIgJSAxMDAgPT0gMCApICRmID09IDA7CiAgaWYoICR5ZWFyICUgNDAwID09IDAgKSAkZiA9IDE7CiAgcmV0dXJuICRmOwp9CgoKLy8gCi8vIEluaXRpYWxpemF0aW9uCi8vCiR5ZWFycyA9IGFycmF5KCk7CiR5ZWFyc1tdID0gZGF0ZSgnWScsdGltZSgpKTsKJHllYXJzW10gPSAtMTsKJHllYXJzW10gPSAtMTsKJGRheXNfaW5fbW9udGggPSBhcnJheSgzMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxKTsKJG1vbnRobmFtZXMgPSBleHBsb2RlKCcvJywkdGhpcy0+TGFuZygnbW9udGhsaXN0X2JyaWVmJykpOwoKLy8KLy8gUHJvY2VzcyBwYXJhbWV0ZXJzCi8vCmlmKCBpc3NldCgkcGFyYW1zWyd5ZWFyMSddKSApCiAgewogICAgJHllYXJzWzBdID0gKGludCkkcGFyYW1zWyd5ZWFyMSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXIyJ10pICkKICB7CiAgICAkeWVhcnNbMV0gPSAoaW50KSRwYXJhbXNbJ3llYXIyJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1sneWVhcjMnXSkgKQogIHsKICAgICR5ZWFyc1syXSA9IChpbnQpJHBhcmFtc1sneWVhcjMnXTsKICB9CgovLwovLyBTZXR1cAovLwppZiggJHllYXJzWzFdID09ICR5ZWFyc1swXSApICR5ZWFyc1sxXSA9IC0xOwppZiggJHllYXJzWzJdID09ICR5ZWFyc1swXSApICR5ZWFyc1syXSA9IC0xOwppZiggJHllYXJzWzJdID09ICR5ZWFyc1sxXSApICR5ZWFyc1syXSA9IC0xOwokdGhpcy0+SW5pdGlhbGl6ZUNoYXJ0aW5nKCk7CiRkYXRhc2V0ID0gbmV3IHBEYXRhOwovLyAkZGF0YXNldC0+QWRkUG9pbnQoJGRhdGFbMF0sJHllYXJzWzBdKTsKLy8gJGRhdGFzZXQtPkFkZFBvaW50KCRkYXRhWzFdLCR5ZWFyc1sxXSk7Ci8vICRkYXRhc2V0LT5BZGRQb2ludCgkZGF0YVsyXSwkeWVhcnNbMl0pOwoKCi8vCi8vIEdldCBEYXRhCi8vCiRxdWVyeSA9ICdTRUxFQ1Qgc3RhcnRfZGF0ZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICBPUkRFUiBCWSBzdGFydF9kYXRlIEFTQyc7CiR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnkpOwokZmlyc3RfeWVhciA9IGRhdGUoJ1knLCRkYi0+VW5peFRpbWVTdGFtcCgkdG1wKSk7CgokcXVlcnkgPSAnU0VMRUNUIHN0YXJ0X2RhdGUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgT1JERVIgQlkgc3RhcnRfZGF0ZSBERVNDIExJTUlUIDEnOwokdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKJGxhc3RfeWVhciA9IGRhdGUoJ1knLCRkYi0+VW5peFRpbWVTdGFtcCgkdG1wKSk7CgokcXVlcnkgPSAnU0VMRUNUIENPVU5UKGlkKSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTOwokbnVtX3Jlc291cmNlcyA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CgokZGF0YSA9IGFycmF5KCk7CiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQocnNyY19pZCkgQVMgY291bnQgCiAgICAgICAgICAgIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgIFdIRVJFIChzdGFydF9kYXRlIEJFVFdFRU4gJXMgQU5EICVzKSAKIAkgICAgICBPUiAoZW5kX2RhdGUgQkVUV0VFTiAlcyBBTkQgJXMpJzsKZm9yZWFjaCggJHllYXJzIGFzICRjdXJ5ZWFyICkKewogIGlmKCAkY3VyeWVhciA9PSAtMSApIGNvbnRpbnVlOwoKICAkeWVhcmRhdGEgPSBhcnJheSgpOwogIGZvciggJG1vbnRoID0gMTsgJG1vbnRoIDw9IDEyOyAkbW9udGgrKyApCiAgICB7CiAgICAgICRudW1kYXlzID0gJGRheXNfaW5fbW9udGhbJG1vbnRoLTFdOwogICAgICBpZiggJG1vbnRoID09IDIgJiYgaXNfbGVhcHllYXIoJGN1cnllYXIpICkgJG51bWRheXMrKzsKCiAgICAgICR1dF9zdGFydCA9IG1rdGltZSgwLDAsMCwkbW9udGgsMSwkY3VyeWVhcik7CiAgICAgICR1dF9lbmQgICA9IG1rdGltZSgyMyw1OSwwLCRtb250aCwkbnVtZGF5cywkY3VyeWVhcik7CiAgICAgICRkYl9zdGFydCA9ICRkYi0+RGJUaW1lU3RhbXAoJHV0X3N0YXJ0KTsKICAgICAgJGRiX2VuZCA9ICRkYi0+RGJUaW1lU3RhbXAoJHV0X2VuZCk7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZShzcHJpbnRmKCRxdWVyeSwkZGJfc3RhcnQsJGRiX2VuZCwkZGJfc3RhcnQsJGRiX2VuZCkpOwogICAgICBpZiggJHRtcCA+IDAgKQoJewoJICAkdmFsID0gJHRtcCAvICgkbnVtX3Jlc291cmNlcyAqICRudW1kYXlzKSAqIDEwMDsKCSAgJGRhdGFzZXQtPkFkZFBvaW50KCR2YWwsJGN1cnllYXIsJG1vbnRobmFtZXNbJG1vbnRoLTFdKTsKCX0KICAgICAgJHllYXJkYXRhWyRtb250aF0gPSAkdG1wOwogICAgfQogICRkYXRhW10gPSAkeWVhcmRhdGE7CiAgJGRhdGFzZXQtPlNldFNlcmllTmFtZSgkY3VyeWVhciwkY3VyeWVhcik7Cn0KCiRkYXRhc2V0LT5BZGRBbGxTZXJpZXMoKTsKJGRhdGFzZXQtPlNldEFic2Npc2VMYWJlbFNlcmllKCk7CiRkYXRhc2V0LT5TZXRYQXhpc05hbWUoJ01vbnRoJyk7CiRkYXRhc2V0LT5TZXRZQXhpc05hbWUoJyUgUmVzZXJ2YXRpb25zJyk7CiRkYXRhc2V0LT5TZXRZQXhpc1VuaXQoJyUnKTsKCiRjaGFydCA9IG5ldyBwQ2hhcnQoNzAwLDI1MCk7CiRkaXIgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKS4nL0NHRXh0ZW5zaW9ucy9mb250cyc7CiRjaGFydC0+c2V0Rm9udFByb3BlcnRpZXMoIiRkaXIvdGFob21hLnR0ZiIsOCk7CiRjaGFydC0+c2V0R3JhcGhBcmVhKDUwLDMwLDU4NSwyMDApOwokY2hhcnQtPmRyYXdGaWxsZWRSb3VuZGVkUmVjdGFuZ2xlKDcsNyw2OTMsMjQzLDUsMjQwLDI0MCwyNDApOwokY2hhcnQtPmRyYXdSb3VuZGVkUmVjdGFuZ2xlKDUsNSw2OTUsMjI1LDUsMjMwLDIzMCwyMzApOwokY2hhcnQtPmRyYXdHcmFwaEFyZWEoMjU1LDI1NSwyNTUsVFJVRSk7CiRjaGFydC0+ZHJhd1NjYWxlKCRkYXRhc2V0LT5HZXREYXRhKCksJGRhdGFzZXQtPkdldERhdGFEZXNjcmlwdGlvbigpLFNDQUxFX1NUQVJUMCwxNTAsMTUwLDE1MCxUUlVFLDAsMixUUlVFKTsKJGNoYXJ0LT5kcmF3R3JpZCg0LFRSVUUsMjMwLDIzMCwyMzAsNTApOwokY2hhcnQtPmRyYXdUcmVzaG9sZCgwLDE0Myw1NSw3MixUUlVFLFRSVUUpOwokY2hhcnQtPmRyYXdMZWdlbmQoNjAwLDMwLCRkYXRhc2V0LT5HZXREYXRhRGVzY3JpcHRpb24oKSwyNTUsMjU1LDI1NSk7CiRjaGFydC0+ZHJhd1RpdGxlKDUwLDIyLCJSZXNlcnZhdGlvbiBIaXN0b3J5Iiw1MCw1MCw1MCw1ODUpOwoKJGNoYXJ0LT5kcmF3TGluZUdyYXBoKCRkYXRhc2V0LT5HZXREYXRhKCksJGRhdGFzZXQtPkdldERhdGFEZXNjcmlwdGlvbigpKTsKJGNoYXJ0LT5kcmF3UGxvdEdyYXBoKCRkYXRhc2V0LT5HZXREYXRhKCksJGRhdGFzZXQtPkdldERhdGFEZXNjcmlwdGlvbigpLDMsMiwyNTUsMjU1LDI1NSk7CgokY2hhcnQtPlJlbmRlcignLi4vdG1wL2dyYXBoLnBuZycpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9ncmFwaGluZycsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsCgkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR5ZWFybGlzdCA9IGFycmF5KCk7CiR5ZWFybGlzdFstMV0gPSAkdGhpcy0+TGFuZygnbm9uZScpOwpmb3IoICR5ID0gJGZpcnN0X3llYXI7ICR5IDw9ICRsYXN0X3llYXI7ICR5KysgKQogIHsKICAgICR5ZWFybGlzdFskeV0gPSAkeTsKICB9CiRzbWFydHktPmFzc2lnbigneWVhcnMnLCR5ZWFybGlzdCk7CiRzbWFydHktPmFzc2lnbigndmFsdWVzJywkeWVhcnMpOwokc21hcnR5LT5hc3NpZ24oJ2dyYXBoJywnLi4vdG1wL2dyYXBoLnBuZycpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2dyYXBoaW5nLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_mail_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdyZXNlcnZhdGlvbnMnKTsKCi8vCi8vIFBlcm1pc3Npb25zIGNoZWNrCi8vCmlmKCAhJHRoaXMtPkNhbkNvbnRhY3RDdXN0b21lcnMoKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KaWYoICFpc3NldCgkcGFyYW1zWydyZXN2bmlkJ10pICkKICB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW1ldGVyJykpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIEluaXRpYWxpemF0aW9uCi8vCiRyZXN2X2lkID0gaW50dmFsKCRwYXJhbXNbJ3Jlc3ZuaWQnXSk7CgoKLy8KLy8gR2F0aGVyIERhdGEKLy8KJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokcmVzdm4gPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKaWYoICEkcmVzdm4gKQp7CiAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm90Zm91bmQnKSk7CiAgcmV0dXJuOwp9CnsKICAkcXVlcnkgPSAnU0VMRUNUIHJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcmVzdl9pZCkpOwogICR0bXAyID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3JzcmNfaWQnKTsKICAkcXVlcnkgPSAnU0VMRUNUIG5hbWUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nCiAgICAgICAgICAgICBXSEVSRSBpZCBJTiAoJy5pbXBsb2RlKCcsJywkdG1wMikuJyknOwogICR0bXAzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICRyZXN2blsncnNyY3MnXSA9IGNnZV9hcnJheTo6ZXh0cmFjdF9maWVsZCgkdG1wMywnbmFtZScpOwp9CiR1c2VyaW5mbyA9ICR0aGlzLT5HZXRVc2VyRGV0YWlscygkcmVzdm5bJ2N1c3RvbWVyX2lkJ10pOwoKCi8vCi8vIEhhbmRsZSBmb3JtIGRhdGEKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCnsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCnsKICAvLwogIC8vIFZhbGlkYXRlIERhdGEKICAvLwogICRlcnJvciA9ICcnOwogICRzdWJqZWN0ID0gJyc7CiAgJHRlbXBsYXRlID0gJyc7CiAgJGF0dGFjaG1lbnQgPSAnJzsKICAkYm9keSA9ICcnOwogIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10pICkKICAgIHsKICAgICAgJHN1YmplY3QgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSk7CiAgICB9CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2JvZHknXSkgKQogICAgewogICAgICAkYm9keSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfYm9keSddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdGVtcGxhdGUnXSkgKQogICAgewogICAgICAkdGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3RlbXBsYXRlJ10pOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWxlJ10pICkKICAgIHsKICAgICAgaWYoIGlzX2FycmF5KCRwYXJhbXNbJ2lucHV0X2ZpbGUnXSkgKQoJewoJICAkYXR0YWNobWVudCA9IGltcGxvZGUoJ15eXicsJHBhcmFtc1snaW5wdXRfZmlsZSddKTsKCX0KICAgICAgZWxzZQoJewoJICAkYXR0YWNobWVudCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZmlsZSddKTsKCX0KICAgIH0KICBpZiggZW1wdHkoJHN1YmplY3QpIHx8IGVtcHR5KCRib2R5KSApCiAgICB7CiAgICAgICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtZXRlcicpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgLy8gCiAgICAgIC8vIEJ1aWxkIHRoZSBFbWFpbAogICAgICAvLwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3N1YmplY3QnLCRzdWJqZWN0KTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdib2R5JywkYm9keSk7CiAgICAgICRtZXNzYWdlX2JvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7CgogICAgICAvLyAKICAgICAgLy8gU2VuZCBJdAogICAgICAvLwogICAgICAkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICAgICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHVzZXJpbmZvWydlbWFpbCddLCR1c2VyaW5mb1snZGlzcGxheSddKTsKICAgICAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgJGNtc21haWxlci0+U2V0Qm9keSgkbWVzc2FnZV9ib2R5KTsKICAgICAgaWYoICFlbXB0eSgkYXR0YWNobWVudCkgKQoJewoJICAkZmlsZXMgPSBleHBsb2RlKCdeXl4nLCRhdHRhY2htZW50KTsKCSAgZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpCgkgICAgewoJICAgICAgJGZuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F0dGFjaG1lbnRfZGlyJykuJy8nLiRmaWxlOwoJICAgICAgJGNtc21haWxlci0+QWRkQXR0YWNobWVudCggJGZuLCAkZmlsZSApOwoJICAgIH0KCX0KICAgICAgJGNtc21haWxlci0+U2VuZCgpOwoKICAgICAgLy8gCiAgICAgIC8vIEFkZCBpdCB0byB0aGUgTm90ZXMKICAgICAgLy8KICAgICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLiIKICAgICAgICAgICAgICAgICAgKHJlc3ZfaWQsIHN1YmplY3QsIHRleHQsIGNyZWF0ZV9kYXRlKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPywkbm93KSI7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkLCRzdWJqZWN0LCRtZXNzYWdlX2JvZHkpKTsKICAgICAgaWYoICEkZGJyICkgCiAgICAgICAgewoJICBkaWUoJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkpOwoJfQoKICAgICAgLy8gRG9uZQogICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgfQoKfQoKCi8vCi8vIERpc3BsYXkgT3V0cHV0Ci8vCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyBPUkRFUiBCWSBjcmVhdGVfZGF0ZSBERVNDJzsKJG5vdGVzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKaWYoIGlzX2FycmF5KCRub3RlcykgJiYgY291bnQoJG5vdGVzKSApCnsKICAkc21hcnR5LT5hc3NpZ24oJ25vdGVzJywkbm90ZXMpOwp9CiRzbWFydHktPmFzc2lnbigncmVzdm4nLCRyZXN2bik7CiRzbWFydHktPmFzc2lnbigndXNlcmluZm8nLCR1c2VyaW5mbyk7CiRzbWFydHktPmFzc2lnbigncmVzdl9pZCcsJHJlc3ZfaWQpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fbWFpbF9yZXN2bicsJHJldHVybmlkLCRwYXJhbXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2JvZHknLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwnJywnaW5wdXRfYm9keScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWxlJywkdGhpcy0+Q3JlYXRlRmlsZURyb3Bkb3duKCRpZCwnaW5wdXRfZmlsZScsJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F0dGFjaG1lbnRfZGlyJyksJycsMSx0cnVlLDUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZScsJHRoaXMtPkNyZWF0ZVRlbXBsYXRlRHJvcGRvd24oJGlkLCdpbnB1dF90ZW1wbGF0ZScsJ2N1c3RlbWFpbF8nKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fbWFpbF9yZXN2bi50cGwnKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_reorder_rsrc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkgZXhpdCgpOwokdGhpcy0+U2V0Q3VycmVudFRhYigncmVzb3VyY2VzJyk7CgppZiggIWlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApIAogIHsKICAgIGRpZSgnZXJyb3IgMScpOwogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRyc3JjaWQgPSAoaW50KSRwYXJhbXNbJ3JzcmNpZCddOwppZiggIWlzc2V0KCRwYXJhbXNbJ2RpciddKSApIAogIHsKICAgIGRpZSgnZXJyb3IgMicpOwogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRkaXIgPSB0cmltKHN0cnRvbG93ZXIoJHBhcmFtc1snZGlyJ10pKTsKaWYoICRkaXIgIT0gJ3VwJyAmJiAkZGlyICE9ICdkb3duJyApCiAgewogICAgZGllKCdlcnJvciAzJyk7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgV0hFUkUgaWQgPSA/JzsKJHJzcmMgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJzcmNpZCkpOwppZiggIWlzX2FycmF5KCRyc3JjKSApCiAgewogICAgZGllKCdlcnJvciA0Jyk7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KJHF1ZXJ5ID0gJ1NFTEVDVCBjb3VudChpZCkgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUzsKJHRvdGFsX3JzcmMgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCnN3aXRjaCgkZGlyKQogIHsKICBjYXNlICd1cCc6CiAgICBpZiggJHJzcmNbJ3NvcnRpbmcnXSA8IDIgKQogICAgICB7CgkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKSk7CgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgICB9CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgU0VUIHNvcnRpbmc9c29ydGluZysxIFdIRVJFIHNvcnRpbmc9Pyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcnNyY1snc29ydGluZyddLTEpKTsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBTRVQgc29ydGluZz1zb3J0aW5nLTEgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyc3JjaWQpKTsKICAgIGJyZWFrOwoKICBjYXNlICdkb3duJzoKICAgIGlmKCAkcnNyY1snc29ydGluZyddID49ICR0b3RhbF9yc3JjICkKICAgICAgewoJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJykpOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgICAgfQogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFNFVCBzb3J0aW5nPXNvcnRpbmctMSBXSEVSRSBzb3J0aW5nPT8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcnNyY1snc29ydGluZyddKzEpKTsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBTRVQgc29ydGluZz1zb3J0aW5nKzEgV0hFUkUgaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJzcmNpZCkpOwogICAgYnJlYWs7CiAgfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_settings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBUaGUgU2V0dGluZ3MgcGFuZWwKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICYmCiAgICAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgoKZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiA4MCU7Ij4nLgokdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJICAgICAgICR0aGlzLT5MYW5nKCdsYmxfYmFjaycpLCdpY29ucy9zeXN0ZW0vYmFjay5naWYnLGFycmF5KCksJycsJycsZmFsc2UpLic8L2Rpdj48YnIvPic7CiAgICAKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQp7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdldmVudF90eXBlcycsJHRoaXMtPkxhbmcoJ2xibF9ldmVudF90eXBlcycpKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCnsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhdGVnb3JpZXMnLCR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nICcuJHRoaXMtPkxhbmcoJ2xibF9jYXRlZ29yaWVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY3VzdG9tX2ZpZWxkcycsJHRoaXMtPkxhbmcoJ2xibF9jdXN0b21fZmllbGRzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJlZmVyZW5jZXMnLCR0aGlzLT5MYW5nKCdsYmxfcHJlZmVyZW5jZXMnKSk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQp7CiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2V2ZW50X3R5cGVzJyk7CiAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2V2ZW50X3R5cGVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCnsKICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycpOwogIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jYXRlZ29yaWVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2N1c3RvbV9maWVsZHMnKTsKICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY3VzdG9tX2ZpZWxkc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmZXJlbmNlcycpOwogIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9wcmVmZXJlbmNlc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCmVjaG8gJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogODAlOyI+Jy4KJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCSAgICAgICAkdGhpcy0+TGFuZygnbGJsX2JhY2snKSwnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKS4nPC9kaXY+PGJyLz4nOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkYXlfdmlld190ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9kYXlfdmlld190ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJywKCQkJICR0aGlzLT5MYW5nKCdsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NlbmRlbWFpbF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9zZW5kZW1haWxfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Jlc291cmNlX3N1bW1hcnlfdGVtcGxhdGVzJywKCQkJICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nICcuJHRoaXMtPkxhbmcoJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdyZXNvdXJjZV9kZXRhaWxfdGVtcGxhdGVzJywKCQkJICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nICcuJHRoaXMtPkxhbmcoJ2xibF9kZXRhaWxfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJywKCQkJICR0aGlzLT5MYW5nKCdsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9kZWZhdWx0X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignZGF5X3ZpZXdfdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RheV92aWV3X3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzZW5kZW1haWxfdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3NlbmRlbWFpbF90ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZXNvdXJjZV9zdW1tYXJ5X3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9yZXNvdXJjZV9zdW1tYXJ5X3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Jlc291cmNlX2RldGFpbF90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVzb3VyY2VfZGV0YWlsX3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYigncmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYigncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0X3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9kZWZhdWx0X3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.admin_update_preferences.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCiRzdGFydHRpbWVfMSA9IG1rdGltZSgkcGFyYW1zWydzdGFydHRpbWUxX0hvdXInXSwkcGFyYW1zWydzdGFydHRpbWUxX01pbnV0ZSddLDApOwokZW5kdGltZV8xID0gbWt0aW1lKCRwYXJhbXNbJ2VuZHRpbWUxX0hvdXInXSwkcGFyYW1zWydlbmR0aW1lMV9NaW51dGUnXSwwKTsKJHN0YXJ0dGltZV8yID0gbWt0aW1lKCRwYXJhbXNbJ3N0YXJ0dGltZTJfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTJfTWludXRlJ10sMCk7CiRlbmR0aW1lXzIgPSBta3RpbWUoJHBhcmFtc1snZW5kdGltZTJfSG91ciddLCRwYXJhbXNbJ2VuZHRpbWUyX01pbnV0ZSddLDApOwppZiggKCRzdGFydHRpbWVfMSA+PSAkc3RhcnR0aW1lXzIpIHx8ICgkZW5kdGltZV8xID49ICRlbmR0aW1lXzIpIHx8CiAgICAoJHN0YXJ0dGltZV8xID49ICRlbmR0aW1lXzEpIHx8ICgkc3RhcnRpbWVfMiA+PSAkZW5kdGltZV8yKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3RpbWVfc2V0dGluZ3MnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ3ByZWZlcmVuY2VzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKICB9Cgokc3RhcnR0aW1lXzEgPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ3N0YXJ0dGltZTFfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTFfTWludXRlJ10pOwokZW5kdGltZV8xID0gc3ByaW50ZignJTAyZDolMDJkJywkcGFyYW1zWydlbmR0aW1lMV9Ib3VyJ10sJHBhcmFtc1snZW5kdGltZTFfTWludXRlJ10pOwokc3RhcnR0aW1lXzIgPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ3N0YXJ0dGltZTJfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTJfTWludXRlJ10pOwokZW5kdGltZV8yID0gc3ByaW50ZignJTAyZDolMDJkJywkcGFyYW1zWydlbmR0aW1lMl9Ib3VyJ10sJHBhcmFtc1snZW5kdGltZTJfTWludXRlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzEnLCRzdGFydHRpbWVfMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzEnLCRlbmR0aW1lXzEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzInLCRzdGFydHRpbWVfMik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzInLCRlbmR0aW1lXzIpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc291cmNlX3R5cGUnLHRyaW0oJHBhcmFtc1sncmVzb3VyY2VfdHlwZSddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLHRyaW0oJHBhcmFtc1snY3VycmVuY3lfc3ltYm9sJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RmbHRfaW50ZXJ2YWwnLHRyaW0oJHBhcmFtc1snZGZsdF9pbnRlcnZhbCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZmx0X2dyYW51bGFyaXR5Jyx0cmltKCRwYXJhbXNbJ2RmbHRfZ3JhbnVsYXJpdHknXSkpOwokY2hlY2tpbl90aW1lID0gc3ByaW50ZigiJTAyZDolMDJkIiwkcGFyYW1zWydjaGVja2luX0hvdXInXSwkcGFyYW1zWydjaGVja2luX01pbnV0ZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScsJGNoZWNraW5fdGltZSk7CiRjaGVja291dF90aW1lID0gc3ByaW50ZigiJTAyZDolMDJkIiwkcGFyYW1zWydjaGVja291dF9Ib3VyJ10sJHBhcmFtc1snY2hlY2tvdXRfTWludXRlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2tvdXRfdGltZScsJGNoZWNrb3V0X3RpbWUpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZXJyb3Jfbm9fcHJpY2VzJywoaW50KSRwYXJhbXNbJ2Vycm9yX25vX3ByaWNlcyddKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV90eXBlcycsdHJpbSgkcGFyYW1zWydpbWFnZV90eXBlcyddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbCcsdHJpbSgkcGFyYW1zWydhdXRvX3RodW1ibmFpbCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmaWxlX3R5cGVzJyx0cmltKCRwYXJhbXNbJ2ZpbGVfdHlwZXMnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZ3JvdXAnLChpbnQpJHBhcmFtc1snY3VzdG9tZXJfZ3JvdXAnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJyx0cmltKCRwYXJhbXNbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzdm5fZm9yZWdyb3VuZCcsJHBhcmFtc1sncmVzdm5fZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnLCRwYXJhbXNbJ3Jlc3ZuX2JhY2tncm91bmQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYXJ0aWFsX2ZvcmVncm91bmQnLCRwYXJhbXNbJ3BhcnRpYWxfZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhcnRpYWxfYmFja2dyb3VuZCcsJHBhcmFtc1sncGFydGlhbF9iYWNrZ3JvdW5kJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfZm9yZWdyb3VuZCcsJHBhcmFtc1snY29uZmxpY3RfZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2JhY2tncm91bmQnLCRwYXJhbXNbJ2NvbmZsaWN0X2JhY2tncm91bmQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwZW5kaW5nX2ZvcmVncm91bmQnLCRwYXJhbXNbJ3BlbmRpbmdfZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BlbmRpbmdfYmFja2dyb3VuZCcsJHBhcmFtc1sncGVuZGluZ19iYWNrZ3JvdW5kJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXR0YWNobWVudF9kaXInLCRwYXJhbXNbJ2F0dGFjaG1lbnRfZGlyJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsCgkJICAgICAkcGFyYW1zWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJywKCQkgICAgIChpbnQpJHBhcmFtc1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9tc2cnLAoJCSAgICAgKGludCkkcGFyYW1zWydyZXNlcnZhdGlvbl9jb25maXJtX21zZyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycsCgkJICAgICAkcGFyYW1zWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJywKCQkgICAgIGltcGxvZGUoJywnLCRwYXJhbXNbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0JywKCQkgICAgIHRyaW0oJHBhcmFtc1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudCcsCgkJICAgICB0cmltKCRwYXJhbXNbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnLChpbnQpJHBhcmFtc1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10pOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdCcsKGludCkkcGFyYW1zWydyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X21pbmltdW0nLGZsb2F0dmFsKCRwYXJhbXNbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfbWluaW11bSddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X3BlcmNlbnQnLGZsb2F0dmFsKCRwYXJhbXNbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfcGVyY2VudCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X3N1bW1hcnknLHRyaW0oJHBhcmFtc1sncmVzZXJ2YXRpb25fZGVwb3NpdF9zdW1tYXJ5J10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX3NrdV9wcmVmaXgnLHRyaW0oJHBhcmFtc1sncmVzZXJ2YXRpb25fc2t1X3ByZWZpeCddKSk7CgokZGVmYXVsdF9jYXBhY2l0eSA9IDUwOwppZiggaXNzZXQoJHBhcmFtc1snZGVmYXVsdF9jYXBhY2l0eSddKSApCiAgJGRlZmF1bHRfY2FwYWNpdHkgPSAoaW50KSRwYXJhbXNbJ2RlZmF1bHRfY2FwYWNpdHknXTsKaWYoICRkZWZhdWx0X2NhcGFjaXR5IDw9IDAgKQogICRkZWZhdWx0X2NhcGFjaXR5ID0gNTA7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2NhcGFjaXR5JywkZGVmYXVsdF9jYXBhY2l0eSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbl9zdGFydHllYXInLChpbnQpJHBhcmFtc1snYWRtaW5fc3RhcnR5ZWFyJ10pOwoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCdwcmVmZXJlbmNlcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_day.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBDaGVjayBQZXJtaXNzaW9ucwovLwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YpICYmCiAgICAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSX1JFU0VSVkFUSU9OUykgKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgovLwovLyBJbml0aWFsaXphdGlvbgovLwokdGhlX21vbnRoID0gZGF0ZSgnbScpOwokdGhlX2RheSAgID0gZGF0ZSgnZCcpOwokdGhlX3llYXIgID0gZGF0ZSgnWScpOwoKCi8vCi8vIEdldCBEYXRhCi8vCiRzZWxfcmVzb3VyY2VzID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2RheSddKSApCiAgewogICAgJHRoZV9kYXkgPSAoaW50KSRwYXJhbXNbJ2RheSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pICkKICB7CiAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydtb250aCddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXInXSkgKQogIHsKICAgICR0aGVfeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwogIH0KCgovLwovLyBIYW5kbGUgRm9ybSBTdWJtaXNzaW9uCi8vCgoKLy8KLy8gR2l2ZSBFdmVyeXRoaW5nIHRvIFNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3ZpZXdfZGF5JywkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKCi8vCi8vIFByb2Nlc3MgVGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl92aWV3X2RheS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgplY2hvICdUT0RPJzsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.calendar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyAgQXZhaWxhYmlsaXR5IENhbGVuZGFyIFZpZXcgICAvLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gZnVuY3Rpb25zCi8vCmZ1bmN0aW9uIGlzX2xlYXB5ZWFyKCR5ZWFyKQp7CiAgJGYgPSAwOwogIGlmKCAkeWVhciAlIDQgPT0gMCApICRmID0gMTsKICBpZiggJHllYXIgJSAxMDAgPT0gMCApICRmID09IDA7CiAgaWYoICR5ZWFyICUgNDAwID09IDAgKSAkZiA9IDE7CiAgcmV0dXJuICRmOwp9CgpmdW5jdGlvbiBnZXRfYXJyYXlfcG9zKCRoYXlzdGFjaywkbmVlZGxlKQp7CiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGhheXN0YWNrKTsgJGkrKyApCiAgICB7CiAgICAgIGlmKCAkaGF5c3RhY2tbJGldID09ICRuZWVkbGUgKSByZXR1cm4gJGk7CiAgICB9CiAgcmV0dXJuIEZBTFNFOwp9CgoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KJHNvcnRieSA9ICdzb3J0aW5nJzsKJHNvcnRvcmRlcj0gICdBU0MnOwokc29ydGZpZWxkID0gJyc7CiR0aGV0ZW1wbGF0ZSA9ICdjYWxlbmRhcl8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRDQUxFTkRBUl9URU1QTEFURSk7CiRjYXRlZ29yeT0nJzsKJHJlc291cmNlcz0nJzsKJHNlbF9ldHlwZXMgPSBhcnJheSgpOwokc2VsX3Jlc291cmNlcyA9IGFycmF5KCk7CiRzZWxfY2F0ZWdvcmllcyA9IGFycmF5KCk7CiRkYXlzX2luX21vbnRoID0gYXJyYXkoMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMSk7CiR0aGlzX2RheSA9IChpbnQpKHN0cmZ0aW1lKCIlZCIsdGltZSgpKSk7CiR0aGlzX21vbnRoID0gKGludCkoc3RyZnRpbWUoIiVtIix0aW1lKCkpKTsKJHRoaXNfeWVhciA9IGludHZhbChzdHJmdGltZSgiJVkiLHRpbWUoKSkpOwokdGhlX21vbnRoID0gJHRoaXNfbW9udGg7CiR0aGVfZGF5ID0gJHRoaXNfZGF5OwokdGhlX3llYXIgPSAkdGhpc195ZWFyOwokdmFjYW50b2JqID0gbmV3IFN0ZENsYXNzKCk7CiR2YWNhbnRvYmotPnN0YXR1cyA9ICd2YWNhbnQnOwokdmFjYW50b2JqLT5mZyA9ICcjMDAwJzsgLy8gdG9kbwokdmFjYW50b2JqLT5iZyA9ICNmZmYnOyAvLyB0b2RvCiR2YWNhbnRvYmotPmxhYmVsID0gJHRoaXMtPkxhbmcoJ3ZhY2FudCcpOwokcmVzZXJ2ZWRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJHJlc2VydmVkb2JqLT5zdGF0dXMgPSAncmVzZXJ2ZWQnOwokcmVzZXJ2ZWRvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2ZvcmVncm91bmQnKTsKJHJlc2VydmVkb2JqLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9iYWNrZ3JvdW5kJyk7CiRyZXNlcnZlZG9iai0+bGFiZWwgPSAkdGhpcy0+TGFuZygncmVzZXJ2ZWQnKTsKJGxlZ2VuZCA9IGFycmF5KCk7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3ZhY2FudCcpXSA9ICR2YWNhbnRvYmo7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3Jlc2VydmVkJyldID0gJHJlc2VydmVkb2JqOwokZ3JpZCA9ICcnOwokZGV0YWlscGFyYW1zID0gYXJyYXkoKTsKCi8vCi8vIFBhcmFtZXRlcnMKLy8gY2F0ZWdvcnkgICAgICAgICA9IGNzdiBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzCi8vIHJlc291cmNlcyAgICAgICAgPSBjc3YgbGlzdCBvZiByZXNvdXJjZXMKLy8gbW9udGggICAgICAgICAgICA9IG1vbnRoIHRvIGRpc3BsYXkKLy8geWVhciAgICAgICAgICAgICA9IHllYXIgdG8gZGlzcGxheQovLyBkZXRhaWxwYWdlICAgICAgID0gcGFnZSBmb3IgZGV0YWlsIHZpZXdzCi8vIGNhbGVuZGFydGVtcGxhdGUgPSBuYW1lIG9mIGNhdGVnb3J5IHRlbXBsYXRlbwovLwokZGV0YWlscGFnZSA9ICRyZXR1cm5pZDsKaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkgKQogIHsKICAgICRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CiAgICBpZiAoaXNzZXQoJG5vZGUpKQogICAgICB7CgkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwkKCWlmIChpc3NldCgkY29udGVudCkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJICB9CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApCiAgewogICAgJGRldGFpbHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSA9ICRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1snY2FsZW5kYXJ0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2NhbGVuZGFyXycudHJpbSgkcGFyYW1zWydjYWxlbmRhcnRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5J10pICkKICB7CiAgICAkY2F0ZWdvcnk9dHJpbSgkcGFyYW1zWydjYXRlZ29yeSddKTsKICB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc291cmNlcyddKSApCiAgewogICAgJHJlc291cmNlcz10cmltKCRwYXJhbXNbJ3Jlc291cmNlcyddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWyd5ZWFyJ10pICkKICB7CiAgICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ3llYXInXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydtb250aCddKSApCiAgewogICAgJHRoZV9tb250aCA9IChpbnQpJHBhcmFtc1snbW9udGgnXTsKICAgIGlmKCAkdGhlX21vbnRoIDw9IDAgKQogICAgICB7CgkkdGhlX21vbnRoID0gMTI7CgkkdGhlX3llYXItLTsKICAgICAgfQogICAgZWxzZSBpZiAoJHRoZV9tb250aCA+IDEyKQogICAgICB7CgkkdGhlX21vbnRoID0gMTsKCSR0aGVfeWVhcisrOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pICkKICB7CiAgICAkdG1wID0gdHJpbShzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRieSddKSk7CiAgICBzd2l0Y2goICR0bXAgKQogICAgICB7CiAgICAgIGNhc2UgJ25hbWUnOgogICAgICBjYXNlICdwcmljZSc6CiAgICAgIGNhc2UgJ3NvcnRpbmcnOgoJJHNvcnRieSA9ICR0bXA7CglicmVhazsKCiAgICAgIGRlZmF1bHQ6CiAgICAgICAgJHRtcDIgPSBzdWJzdHIoJHRtcCwyKTsKCSRzcWwgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRklFTERERUZTLicKICAgICAgICAgICAgICAgICAgIFdIRVJFIG5hbWUgPSA/JzsKCSRzb3J0ZmllbGQgPSAkZGItPkdldE9uZSgkc3FsLGFycmF5KCR0bXAyKSk7CglpZiggJHNvcnRmaWVsZCApCgkgIHsKCSAgICAkc29ydGJ5ID0gJ2Z2LnZhbHVlJzsKCSAgfQogICAgICB9CiAgfQoKLy8KLy8gU2V0dXAKLy8KaWYoIGlzX2xlYXB5ZWFyKCR0aGVfeWVhcikgKQogIHsKICAgICRkYXlzX2luX21vbnRoWzFdKys7CiAgfQokZGlzcGRhdGUgPSBta3RpbWUoMCwwLDAsJHRoZV9tb250aCwxLCR0aGVfeWVhcik7CiRtb250aF9zdGFydF91ID0gbWt0aW1lKDAsMCwwLCR0aGVfbW9udGgsMSwkdGhlX3llYXIpOwokbW9udGhfZW5kX3UgPSBta3RpbWUoMjMsNTksMCwkdGhlX21vbnRoLCRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV0sJHRoZV95ZWFyKTsKJG1vbnRoX3N0YXJ0X2RheSA9ICRkYi0+RGJUaW1lU3RhbXAoJG1vbnRoX3N0YXJ0X3UpOwokbW9udGhfZW5kX2RheSA9ICRkYi0+RGJUaW1lU3RhbXAoJG1vbnRoX2VuZF91KTsKaWYoICFlbXB0eSgkY2F0ZWdvcnkpICkKICB7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nCiAgICAgICAgICAgICBXSEVSRSBuYW1lIElOICgnOwogICAgJHF1ZXJ5IC49IGV4cGxvZGUoJywnLCRjYXRlZ29yeSkuJyknOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICRzZWxfY2F0ZWdvcmllcyA9IGNnZV9hcnJheTo6ZXh0cmFjdF9maWVsZCgkdG1wLCdpZCcpOwogIH0KaWYoICFlbXB0eSgkcmVzb3VyY2VzKSApCiAgewogICAgJHNlbF9yZXNvdXJjZXMgPSBleHBsb2RlKCcsJywkcmVzb3VyY2VzKTsKICB9CgoKLy8KLy8gQnVpbGQgYSBncmlkIGZyb20gc2VsZWN0ZWQgZGF0YQovLyBHcmlkIGlzIHJlc291cmNlcyBhY3Jvc3MgdGhlIHRvcAovLyBEYXlzIGFsb25nIHRoZSBib3R0b20uCi8vIFRoZSAwIHZhbHVlcyBpcyB0aGUgY29sdW1uIGFuZCByb3cgaGVhZGVyCi8vIAovLwokd2hlcmUgPSBhcnJheSgpOwokam9pbnMgPSBhcnJheSgpOwokcGFybXMgPSBhcnJheSgpOwokcXVlcnkgPSAnU0VMRUNUIHIuaWQsci5uYW1lLHIucmVzX2ludGVydmFsLHIuc3RhcnR0aW1lMSxyLmVuZHRpbWUxLHIuc3RhcnR0aW1lMixyLmVuZHRpbWUyIAogICAgICAgICAgICBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgcic7CiR3aGVyZVtdID0gJ3IuYWN0aXZlID0gMSc7CmlmKCAkc29ydGZpZWxkICE9ICcnICkKICB7CiAgICAkam9pbnNbXSA9IEFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuIiBmdiBPTiBmdi5yc3JjX2lkID0gci5pZCBBTkQgZnYuZmllbGRkZWZfaWQgPSA/Ijs7CiAgICAkcGFybXNbXSA9ICRzb3J0ZmllbGQ7CiAgfQppZiggY291bnQoJHNlbF9jYXRlZ29yaWVzKSApCiAgewogICAgJGpvaW5zW10gPSBBVkFJQUJJTElUWV9UQUJMRV9SU1JDX0NBVFMuJyByYyBPTiByLmlkID0gcmMucnNyY19pZCc7CiAgICAkd2hlcmVbXSA9ICdCLmNhdGVnb3J5X2lkIElOICgnLmltcGxvZGUoJywnLCRzZWxfY2F0ZWdvcmllcykuJyknOwogIH0KZWxzZSBpZiggY291bnQoJHNlbF9yZXNvdXJjZXMpICkKICB7CiAgICAkd2hlcmVbXSA9ICdyLmlkIElOICgnLmltcGxvZGUoJywnLCRzZWxfcmVzb3VyY2VzKS4nKSc7CiAgfQoKLy8gYXNzZW1ibGUgdGhlIHF1ZXJ5CmlmKCBjb3VudCgkam9pbnMpICkKICB7CiAgICAkcXVlcnkgLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICB9CmlmKCBjb3VudCgkd2hlcmUpICkKICB7CiAgICAkcXVlcnkgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogIH0KJHF1ZXJ5IC49ICIgT1JERVIgQlkgJHNvcnRieSAkc29ydG9yZGVyIjsKCiRyc3JjcyA9ICcnOwokcnNyY3NfaW5kZXggPSAnJzsKewogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSwkcGFybXMpOwogIGlmKCAkdG1wICkgCiAgICB7CiAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHNsb3RzIGZvciBlYWNoIHJlc291cmNlCiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKCXsKCSAgJHRtcDIgPSYgJHRtcFskaV07CgkgIHN3aXRjaCgkdG1wMlsncmVzX2ludGVydmFsJ10pCgkgICAgewoJICAgIGNhc2UgJ2RhaWx5JzoKCSAgICAgICR0bXAyWydleHRfbnVtc2xvdHMnXSA9IDE7CgkgICAgICBicmVhazsKCSAgICBjYXNlICdoYWxmX2RheSc6CgkgICAgICAkdG1wMlsnZXh0X251bXNsb3RzJ10gPSAyOwoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAnaG91cmx5JzoKCSAgICAgICRuc2xvdHMgPSAoaW50KSgoc3RydG90aW1lKCR0bXAyWydlbmR0aW1lMSddKSAtIHN0cnRvdGltZSgkdG1wMlsnc3RhcnR0aW1lMSddKSkgLyAzNjAwKTsKCSAgICAgICRuc2xvdHMgKz0gKGludCkoKHN0cnRvdGltZSgkdG1wMlsnZW5kdGltZTInXSkgLSBzdHJ0b3RpbWUoJHRtcDJbJ3N0YXJ0dGltZTInXSkpIC8gMzYwMCk7CgkgICAgICAkdG1wMlsnZXh0X251bXNsb3RzJ10gPSAkbnNsb3RzOwoJICAgICAgYnJlYWs7CgkgICAgfQoJfQogICAgICAkcnNyY3MgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAgICAgJHJzcmNzX2luZGV4ID0gYXJyYXlfa2V5cygkcnNyY3MpOwogICAgfQp9CgppZiggaXNfYXJyYXkoJHJzcmNzKSAmJiBjb3VudCgkcnNyY3MpICkKICB7CiAgICAkZ3JpZCA9IGFycmF5X2ZpbGwoMCwkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdLGFycmF5X2ZpbGwoMCxjb3VudCgkcnNyY3MpKzEsJyZuYnNwOycpKTsKCiAgICAvLwogICAgLy8gZmlsbCB0aGUgZ3JpZCBsYWJlbHMKICAgIC8vIHRvcCByb3cKICAgICRncmlkWzBdWzBdID0gJGRpc3BkYXRlOwogICAgZm9yKCAkciA9IDA7ICRyIDwgY291bnQoJHJzcmNzKTsgJHIrKyApCiAgICAgIHsKCSRyaWQgPSAkcnNyY3NfaW5kZXhbJHJdOwoJJG9iaiA9IG5ldyBTdGRDbGFzcygpOwoJJG9iai0+dXJsID0gJHRoaXMtPkdldFJlc291cmNlRGV0YWlsVVJMKCRpZCwkZGV0YWlscGFnZSwKCQkJCQkJJHJzcmNzWyRyaWRdWydpZCddLAoJCQkJCQkkcnNyY3NbJHJpZF1bJ25hbWUnXSwkZGV0YWlscGFyYW1zKTsKCSRvYmotPmxhYmVsID0gJHJzcmNzWyRyaWRdWyduYW1lJ107Cgkkb2JqLT5pZCA9ICRyc3Jjc1skcmlkXVsnaWQnXTsKCSRncmlkWzBdWyRyKzFdID0gJG9iajsKICAgICAgfQogICAgLy8gY29sdW1ucwogICAgZm9yKCAkZCA9IDE7ICRkIDw9ICRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV07ICRkKysgKQogICAgICB7CgkvLyB0b2RvLCBwb3NzaWJsZSBkYXkgdmlldyBsaW5rIGhlcmUuCgkkb2JqID0gbmV3IFN0ZENsYXNzKCk7Cgkkb2JqLT51cmwgPSAkdGhpcy0+R2V0RGF5Vmlld1VSTCgkaWQsJGRldGFpbHBhZ2UsJHRoZV9tb250aCwkZCwkdGhlX3llYXIpOwoJJG9iai0+dGltZSA9IG1rdGltZSgwLDAsMCwkdGhlX21vbnRoLCRkLCR0aGVfeWVhcik7Cgkkb2JqLT5sYWJlbCA9ICRkOwoJJGdyaWRbJGRdWzBdID0gJG9iajsKICAgICAgfQogICAgCiAgICAvLwogICAgLy8gRmlsbCB0aGUgZ3JpZCB2YWx1ZXMgd2l0aCB2YWNhbmNpZXMKICAgIC8vCiAgICAkc3RhdGlzdGljc1sndG90YWwnXSA9ICAoY291bnQoJGdyaWQpLTEpKihjb3VudCgkZ3JpZFswXSktMSk7CiAgICBmb3IoICRyID0gMDsgJHIgPCBjb3VudCgkcnNyY3MpOyAkcisrICkKICAgICAgewoJJHJpZCA9ICRyc3Jjc19pbmRleFskcl07Cglmb3IoICRkID0gMTsgJGQgPD0gJGRheXNfaW5fbW9udGhbJHRoZV9tb250aC0xXTsgJGQrKyApCgkgIHsKCSAgICAkb2JqID0gY2xvbmUgJHZhY2FudG9iajsKCSAgICAkb2JqLT51cmwgPSAkdGhpcy0+R2V0UmVzZXJ2YXRpb25VUkwoJGlkLCRyZXR1cm5pZCwkcnNyY3NbJHJpZF1bJ2lkJ10sJHRoZV9tb250aCwkZCwkdGhlX3llYXIpOwoJICAgICRncmlkWyRkXVskcisxXSA9ICRvYmo7CgkgIH0KICAgICAgfQogICAgCiAgICAvLwogICAgLy8gRmlsbCB0aGUgYXBwcmlhdGUgZ3JpZCB2YWx1ZXMgd2l0aCBldmVudCBpbmZvcm1hdGlvbgogICAgLy8KICAgICRldmVudHR5cGVzID0gYXJyYXkoKTsKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVM7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICRldmVudHR5cGVzID0gY2dlX2FycmF5Ojp0b19oYXNoKCAkdG1wLCAnaWQnICk7CiAgICB9CiAgICAkZXZlbnRzID0gJyc7CiAgICB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgQS4qIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLiIgQQogICAgICAgICAgICAgTEVGVCBKT0lOICIuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLiIgQgogICAgICAgICAgICAgT04gQS5ldmVudF90eXBlX2lkID0gQi5pZAogICAgICAgICAgICAgV0hFUkUgICAgKEEuc3RhcnRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KQogICAgICAgICAgICAgICAgICAgT1IgKEEuZW5kX2RhdGUgQkVUV0VFTiAkbW9udGhfc3RhcnRfZGF5IEFORCAkbW9udGhfZW5kX2RheSkKICAgICAgICAgICAgICAgICAgIE9SIChBLnN0YXJ0X2RhdGUgPD0gJG1vbnRoX3N0YXJ0X2RheSBBTkQgQS5lbmRfZGF0ZSA+PSAkbW9udGhfZW5kX2RheSkiOwogICAgICBpZiggY291bnQoJHNlbF9ldHlwZXMpICkKCXsKCSAgJHF1ZXJ5IC49ICcgQU5EIEEuZXZlbnRfdHlwZV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkc2VsX2V0eXBlcykuJyknOwoJfQogICAgICAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmJvb2thYmxlIERFU0MsIEIuaW9yZGVyIEFTQyI7CiAgICAgICRldmVudHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTLicKICAgICAgICAgICAgICAgICBXSEVSRSBldmVudF9pZCA9ID8nOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZXZlbnRzKTsgJGkrKyApCgl7CgkgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkZXZlbnRzWyRpXVsnaWQnXSkpOwoJICBpZiggJHRtcCApCgkgICAgewoJICAgICAgJGV2ZW50c1skaV1bJ3JzcmNzJ10gPSAkdG1wOwoJICAgIH0KCX0KICAgIH0KICAgIGlmKCBpc19hcnJheSgkZXZlbnRzKSAmJiBjb3VudCgkZXZlbnRzKSApCiAgICAgIHsKCWZvcmVhY2goICRldmVudHMgYXMgJG9uZSApCgkgIHsKCSAgICAkcmVzdl9zdGFydF91ID0gJGRiLT5Vbml4VGltZVN0YW1wKCRvbmVbJ3N0YXJ0X2RhdGUnXSk7CgkgICAgJHJlc3ZfZW5kX3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZVsnZW5kX2RhdGUnXSk7CgkgICAgJHJzdGFydF91ID0gbWF4KCRyZXN2X3N0YXJ0X3UsJG1vbnRoX3N0YXJ0X3UpOwoJICAgICRyZW5kX3UgPSBtaW4oJHJlc3ZfZW5kX3UsJG1vbnRoX2VuZF91KTsKCSAgICAKCSAgICAkc2RheSA9IGludHZhbChzdHJmdGltZSgiJWQiLCRyc3RhcnRfdSkpOwoJICAgICRlZGF5ID0gaW50dmFsKHN0cmZ0aW1lKCIlZCIsJHJlbmRfdSkpOwoJICAgIAoJICAgICRldHlwZSA9JiAkZXZlbnR0eXBlc1skb25lWydldmVudF90eXBlX2lkJ11dOwoJICAgIAoJICAgICRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKCSAgICAkb2JqLT5mZyA9ICRldHlwZVsnY29sb3InXTsKCSAgICAkb2JqLT5iZyA9ICRldHlwZVsnYmFja2dyb3VuZCddOwoJICAgIGlmKCAkb25lWydib29rYWJsZSddICkKCSAgICAgIHsKCQkkb2JqLT5zdGF0dXMgPSAnZXZlbnQnOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkb2JqLT5zdGF0dXMgPSAnY2xvc2VkJzsKCSAgICAgIH0KCSAgICAkbGVnZW5kWyRvbmVbJ25hbWUnXV0gPSAkb2JqOwoKCSAgICAvLyB0b2RvLCBwb3NzaWJsZSBsaW5rIHRvIHZpZXcgZXZlbnQuCgkgICAgJG9iai0+bGFiZWwgPSAkb25lWyduYW1lJ107CgkgICAgaWYoIGlzc2V0KCRvbmVbJ3JzcmNzJ10pICYmIGNvdW50KCRvbmVbJ3JzcmNzJ10pICkKCSAgICAgIHsKCQlmb3IoICRkID0gJHNkYXk7ICRkIDw9ICRlZGF5OyAkZCsrICkKCQkgIHsKCQkgICAgZm9yKCAkciA9IDA7ICRyIDwgY291bnQoJG9uZVsncnNyY3MnXSk7ICRyKysgKQoJCSAgICAgIHsKCQkJJHRtcF9yaWQgPSAkb25lWydyc3JjcyddWyRyXVsncnNyY19pZCddOwoJCQkkdG1wX2lkeCA9IGdldF9hcnJheV9wb3MoJHJzcmNzX2luZGV4LCR0bXBfcmlkKTsKCQkJaWYoIGlzc2V0KCRyc3Jjc19pbmRleFskdG1wX2lkeF0pICkKCQkJICB7CgkJCSAgICAkZ3JpZFskZF1bJHRtcF9pZHgrMV0gPSAkb2JqOwoJCQkgIH0KCQkgICAgICB9CgkJICB9CgkgICAgICB9IAoJICB9CiAgICAgIH0KICAgIHVuc2V0KCRldmVudHMpOwoKCiAgICAvLwogICAgLy8gRmlsbCB0aGUgZ3JpZCB2YWx1ZXMgd2l0aCByZXNlcnZhdGlvbiBpbmZvcm1hdGlvbgogICAgLy8KICAgIAogICAgJHJlc3ZuID0gJyc7CiAgICB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgcmVzdl9pZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIKICAgICAgICAgICAgICAgICBXSEVSRSAoc3RhcnRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KSAKICAgICAgICAgICAgICAgICAgICBPUiAoZW5kX2RhdGUgQkVUV0VFTiAkbW9udGhfc3RhcnRfZGF5IEFORCAkbW9udGhfZW5kX2RheSkKICAgICAgICAgICAgICAgICBPUkRFUiBCWSByZXN2X2lkIEFTQyI7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICRyaWRzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3Jlc3ZfaWQnKTsKCiAgICAgIGlmKCAkcmlkcyApCgl7CgkgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkIElOICgnLmltcGxvZGUoJywnLCRyaWRzKS4nKSc7CgkgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgkgICRyZXN2biA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCdpZCcpOwoKICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcmlkcykuJykKICAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgcmVzdl9pZCxzdGFydF9kYXRlIEFTQyc7CgkgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgoJICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCgkgICAgewoJICAgICAgJHBhcnQgPSYgJHRtcFskaV07CgkgICAgICAkdHJpZCA9ICRwYXJ0WydyZXN2X2lkJ107CgkgICAgICBpZiggIWlzc2V0KCRyZXN2blskdHJpZF1bJ3BhcnRzJ10pICkKCQl7CgkJICAkcmVzdm5bJHRyaWRdWydwYXJ0cyddID0gYXJyYXkoKTsKCQl9CgkgICAgICAkcmVzdm5bJHRyaWRdWydwYXJ0cyddW10gPSAkcGFydDsKCSAgICB9Cgl9CiAgICB9CgogICAgaWYoIGlzX2FycmF5KCRyZXN2bikgJiYgY291bnQoJHJlc3ZuKSApCiAgICAgIHsKCWZvciggJHJlcyA9IDA7ICRyZXMgPCBjb3VudCgkcmVzdm4pOyAkcmVzKysgKQoJICB7CgkgICAgJG9uZXJlcyA9JiAkcmVzdm5bJHJlc107CgoJICAgIC8vIGRvbid0IGRpc3BsYXkgY2FuY2VsbGVkIHJlc2VydmF0aW9ucwoJICAgIGlmKCAkb25lcmVzWydzdGF0dXMnXSA9PSAnY2FuY2VsbGVkJyApIGNvbnRpbnVlOwoKCSAgICBmb3IoICRwbnVtID0gMDsgJHBudW0gPCBjb3VudCgkb25lcmVzWydwYXJ0cyddKTsgJHBudW0rKyApCgkgICAgICB7CgkJJG9uZXBhcnQgPSYgJG9uZXJlc1sncGFydHMnXVskcG51bV07CgkJaWYoICFpc3NldCgkcnNyY3NbJG9uZXBhcnRbJ3JzcmNfaWQnXV0pICkgY29udGludWU7CgkJJHRoZV9yZXNvdXJjZSA9JiAkcnNyY3NbJG9uZXBhcnRbJ3JzcmNfaWQnXV07CgkJJHJpZHggPSBnZXRfYXJyYXlfcG9zKCRyc3Jjc19pbmRleCwkb25lcGFydFsncnNyY19pZCddKSsxOyAKCgkJJHJlc3Zfc3RhcnRfdSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkb25lcGFydFsnc3RhcnRfZGF0ZSddKTsKCQkkcmVzdl9lbmRfdSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkb25lcGFydFsnZW5kX2RhdGUnXSk7CgkJJHJzdGFydF91ID0gbWF4KCRyZXN2X3N0YXJ0X3UsJG1vbnRoX3N0YXJ0X3UpOwoJCSRyZW5kX3UgPSBtaW4oJHJlc3ZfZW5kX3UsJG1vbnRoX2VuZF91KTsKCSAgICAKCQkkc2RheSA9IGludHZhbChzdHJmdGltZSgiJWQiLCRyc3RhcnRfdSkpOwoJCSRlZGF5ID0gaW50dmFsKHN0cmZ0aW1lKCIlZCIsJHJlbmRfdSkpOwoJCWlmKCAkZWRheSA9PSAkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdICYmICRyZXN2X2VuZF91ID4gJG1vbnRoX2VuZF91ICkKCQkgIHsKCQkgICAgLy8gaGFjawoJCSAgICAkZWRheSsrOwoJCSAgfQoKCQlpZiggJHRoZV9yZXNvdXJjZVsncmVzX2ludGVydmFsJ10gIT0gJ2RhaWx5JyApCgkJICB7CgkJICAgICRkID0gJHNkYXk7CgoJCSAgICBpZiggaXNzZXQoJGdyaWRbJGRdWyRyaWR4XSkgJiYgCgkJCWlzX29iamVjdCgkZ3JpZFskZF1bJHJpZHhdKSAmJgoJCQkoJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICd2YWNhbnQnIHx8ICRncmlkWyRkXVskcmlkeF0tPnN0YXR1cyA9PSAncGFydGlhbCcpKQoJCSAgICAgIHsKCQkJJG9iaiA9JiAkZ3JpZFskZF1bJHJpZHhdOwoJCQlpZiggIWlzc2V0KCRvYmotPm51bXBhcnRzKSApCgkJCSAgewoJCQkgICAgJG9iai0+bnVtcGFydHMgPSAxOwoJCQkgIH0KCQkJZWxzZQoJCQkgIHsKCQkJICAgICRvYmotPm51bXBhcnRzKys7CgkJCSAgfQoJCQkkb2JqLT5zdGF0dXMgPSAncGFydGlhbCc7Ci8vIAkJCSRvYmotPnVybCA9ICR0aGlzLT5HZXREYXlWaWV3VVJMKCRpZCwkZGV0YWlscGFnZSwkdGhlX21vbnRoLCRkLCR0aGVfeWVhciwKLy8gCQkJCQkJCSBhcnJheSgncnNyY2lkJz0+JG9uZXJlc1snaWQnXSkpOwoJCQkkb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdwYXJ0aWFsbHlfcmVzZXJ2ZWRfbGJsJywkb2JqLT5udW1wYXJ0cywkdGhlX3Jlc291cmNlWydleHRfbnVtc2xvdHMnXSk7CgkJCSRvYmotPmZnID0nYmxhY2snOyAvLyB0b2RvCgkJCSRvYmotPmJnID0gJ2N5YW4nOyAvLyB0b2RvCgoJCQkkZ3JpZFskZF1bJHJpZHhdID0gJG9iajsKCQkgICAgICB9CgkJICAgIGVsc2UKCQkgICAgICB7CgkJCS8vIGNvbmZsaWN0IG9mIHNvbWUgdHlwZQoJCQkkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPSAnY29uZmxpY3QnOwoJCQkkZ3JpZFskZF1bJHJpZHhdLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdjb25mbGljdCcpOwoJCQkkZ3JpZFskZF1bJHJpZHhdLT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0aXRsZV9jb25mbGljdDInKTsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+ZmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfZm9yZWdyb3VuZCcpOwoJCQkkZ3JpZFskZF1bJHJpZHhdLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb25mbGljdF9iYWNrZ3JvdW5kJyk7CgkJICAgICAgfQoKCQkgICAgLy8gaGFuZGxlIGhvdXJseSBvciBoYWxmIGRheSBwYXJ0cy4KCQkgICAgY29udGludWU7CgkJICB9CgoJCS8vIGhhbmRsZSBmdWxsIGRheSByZXNlcnZhdGlvbiBwYXJ0cy4KCQkkb2JqID0gbmV3IFN0ZENsYXNzKCk7CgkJJG9iai0+cmVzdiA9ICRvbmVyZXNbJ2lkJ107CgkJJG9iai0+ZmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzdm5fZm9yZWdyb3VuZCcpOwoJCSRvYmotPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnKTsKCQkkb2JqLT5zdGF0dXMgPSAncmVzZXJ2ZWQnOwoJCSRvYmotPmxhYmVsID0gJHRoaXMtPkxhbmcoJ3Jlc2VydmVkJyk7CgkgICAgCgkJZm9yKCAkZCA9ICRzZGF5OyAkZCA8ICRlZGF5OyAkZCsrICkKCQkgIHsKCQkgICAgaWYoIGlzc2V0KCRncmlkWyRkXVskcmlkeF0pICYmIAoJCQlpc19vYmplY3QoJGdyaWRbJGRdWyRyaWR4XSkgJiYKCQkJKGlzc2V0KCRncmlkWyRkXVskcmlkeF0tPnJlc3YpICYmICgkZ3JpZFskZF1bJHJpZHhdLT5yZXN2ICE9ICRvbmVyZXNbJ2lkJ10pKSAmJgoJCQkoJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdwZW5kaW5nJyB8fCAkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPT0gJ3Jlc2VydmVkJyB8fAoJCQkgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdjbG9zZWQnKSApCgkJICAgICAgewoJCQkvLyBvb3BzLCBhbHJlYWR5IGEgcmVzZXJ2YXRpb24gZm9yIHRoaXMgZGF5CgkJCS8vIG5vdyB3ZSBnb3R0YSB0aGluayBhYm91dCBzb21ldGhpbmcuLi4KCQkJJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID0gJ2NvbmZsaWN0JzsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+bGFiZWwgPSAkdGhpcy0+TGFuZygnY29uZmxpY3QnKTsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+dGl0bGUgPSAkdGhpcy0+TGFuZygndGl0bGVfY29uZmxpY3QnLCRncmlkWyRkXVskcmlkeF0tPnJlc3YsJG9uZXJlc1snaWQnXSk7CgkJCSRncmlkWyRkXVskcmlkeF0tPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+YmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfYmFja2dyb3VuZCcpOwoJCSAgICAgIH0KCQkgICAgZWxzZQoJCSAgICAgIHsKCQkJJGdyaWRbJGRdWyRyaWR4XSA9ICRvYmo7CgkJICAgICAgfQoJCSAgfSAvLyBmb3IgZWFjaCBkYXkgb2YgdGhlIHJlc2VydmF0aW8KCSAgICAgIH0gLy8gZm9yIGVhY2ggcGFydAoJICB9IC8vIGZvciBlYWNoIHJlc2VydmF0aW9uCiAgICAgIH0gLy8gaWYgdGhlcmUgYXJlIHJlc2VydmF0aW9ucy4KICAgIHVuc2V0KCRyZXN2bik7CiAgfSAvLyBpZiB0aGVyZSBhcmUgcmVzb3VyY2VzCgoKLy8KLy8gR2l2ZSBkYXRhIHRvIHNtYXJ0eQovLwppZiggaXNfYXJyYXkoJGdyaWQpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyaWQnLCRncmlkKTsKICAgICRzbWFydHktPmFzc2lnbignbGVnZW5kJywkbGVnZW5kKTsKICB9CiRzbWFydHktPmFzc2lnbigndGhlX21vbnRoJywkdGhlX21vbnRoLTEpOwokc21hcnR5LT5hc3NpZ24oJ3RoZV95ZWFyJywkdGhlX3llYXIpOwokc21hcnR5LT5hc3NpZ24oJ2Rpc3BkYXRlJywkZGlzcGRhdGUpOwoKJHBhcm1zID0gJHBhcmFtczsKJHBhcm1zWydtb250aCddID0gJHRoZV9tb250aCAtIDE7CiRwYXJtc1sneWVhciddID0gJHRoZV95ZWFyOwokc21hcnR5LT5hc3NpZ24oJ3ByZXZtb250aF91cmwnLAoJCSR0aGlzLT5DcmVhdGVVUkwoJGlkLCdjYWxlbmRhcicsJHJldHVybmlkLCRwYXJtcykpOwokcGFybXNbJ21vbnRoJ10gPSAkdGhlX21vbnRoICsgMTsKJHBhcm1zWyd5ZWFyJ10gPSAkdGhlX3llYXI7CiRzbWFydHktPmFzc2lnbignbmV4dG1vbnRoX3VybCcsCgkJJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2NhbGVuZGFyJywkcmV0dXJuaWQsJHBhcm1zKSk7CgovLyAKLy8gRGlzcGxheSB0aGUgcGFnZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.confirm_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIENvbmZpcm0gUmVzZXJ2YXRpb24gUmVwb3J0IC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KaWYoICFpc3NldCgkcGFyYW1zWydyZXN2X2lkJ10pICkKICB7CiAgICAvLyBtaXNzaW5nIHBhcmFtZXRlcgogICAgcmV0dXJuOwogIH0KJHJlc3ZfaWQgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZfaWQnXTsKJGZldSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIGNvdWxkIG5vdCBmaW5kIGZldQokY3VzdGlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwppZiggJGN1c3RpZCA8PSAwICkgCiAgewogICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsLTEpOwogICAgaWYoICRwYWdlICE9IC0xICkKICAgICAgewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcGFnZSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gZ290dGEgZGlzcGxheSBhIG1lc3NhZ2UKCS8vIGFuZCBleGl0CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CiR0aGV0ZW1wbGF0ZSA9ICdyZXN2bmNmbV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1fVEVNUExBVEUpOwppZiggaXNzZXQoJHBhcmFtc1snY29uZmlybXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAncmVzdm5jZm1fJy50cmltKCRwYXJhbXNbJ2NvbmZpcm10ZW1wbGF0ZSddKTsKICB9CgoKLy8KLy8gU2V0dXAKLy8KCi8vCi8vIEdldCBEYXRhCi8vCiRyZXNlcnZhdGlvbiA9IHJlc2VydmF0aW9uX29wczo6bG9hZF9ieV9pZCgkcmVzdl9pZCk7CiRhcnJheV9kYXRhID0gcmVzZXJ2YXRpb25fb3BzOjp0b19hcnJheSgkcmVzZXJ2YXRpb24pOwokdXNlcm9iaiA9JiAkdGhpcy0+R2V0VXNlck9iamVjdCgkY3VzdGlkKTsKaWYoICRyZXNlcnZhdGlvbi0+Z2V0X2N1c3RvbWVyX2lkKCkgIT0gJGN1c3RpZCApCiAgewogICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbicpKTsKICAgIHJldHVybjsKICB9CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTOwokdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwokYXJyYXlfZGF0YVsncmVzb3VyY2VzJ10gPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKCi8vCi8vIEdpdmUgZGF0YSB0byBzbWFydHkKLy8KJHNtYXJ0eS0+YXNzaWduKCd1c2VyaW5mbycsJHVzZXJvYmopOwokc21hcnR5LT5hc3NpZ24oJ3Jlc2VydmF0aW9uJywkYXJyYXlfZGF0YSk7CgovLwovLyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.dayview.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggIWlzc2V0KCRwYXJhbXNbJ3llYXInXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pIHx8ICFpc3NldCgkcGFyYW1zWydkYXknXSkgKQogIHsKICAgIHJldHVybjsKICB9CgovLy8vLy8vLy8vLy8vLy8KLy8gIERheSBWaWV3IC8vCi8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gU2V0dXAKLy8KJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiRyc3JjaWQgPSAtMTsKJGNoZWNraW5fdGltZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja2luX3RpbWUnLCcxNDowMCcpOwpsaXN0KCRob3VycywkbWludXRlcykgPSBleHBsb2RlKCc6JywkY2hlY2tpbl90aW1lLDIpOwokbWludXRlcyArPSAxNTsKJHRoZV9yZXNvdXJjZSA9ICcnOwoKLy8KLy8gUGFyYW1ldGVycwovLyBkYXkgPSB0aGUgZGF5Ci8vIG1vbnRoID0gdGhlIG1vbnRoCi8vIHllYXIgPSB0aGUgeWVhcgovLyByc3JjaWQgKG9wdGlvbmFsKSA9IHRoZSByZXNvdXJjZSBpZAovLyBkYXl0ZW1wbGF0ZSAob3B0aW9uYWwpID0gdGhlIGRheSB2aWV3IHRlbXBsYXRlIHRvIHVzZQovLwokdGhldGVtcGxhdGUgPSAnZGF5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVERBWV9URU1QTEFURSk7CmlmKCBpc3NldCgkcGFyYW1zWydkYXl0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2RheV8nLnRyaW0oJHBhcmFtc1snZGF5dGVtcGxhdGUnXSk7CiAgfQokeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwokbW9udGggPSAoaW50KSRwYXJhbXNbJ21vbnRoJ107CiRkYXkgPSAoaW50KSRwYXJhbXNbJ2RheSddOwppZiggaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKICB7CiAgICAkcnNyY2lkID0gKGludCkkcGFyYW1zWydyc3JjaWQnXTsKICB9CgoKLy8KLy8gQ2FsY3VsYXRpb25zCi8vCiRkYmRhdGVfdXQgPSBta3RpbWUoJGhvdXJzLCRtaW51dGVzLDAsJG1vbnRoLCRkYXksJHllYXIpOwokZGJkYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkZGJkYXRlX3V0KTsKCgovLwovLyBHZXQgdGhlIGRhdGEKLy8KaWYoICRyc3JjaWQgPiAwICkKICB7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGFjdGl2ZSA9IDEgQU5EIGlkID0gPyc7CiAgICAkcnNyYyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcnNyY2lkKSk7CgogICAgaWYoICFpc19hcnJheSggJHJzcmMgKSApCiAgICAgIHsKCXJldHVybjsKICAgICAgfQoKICAgIHsKICAgICAgJHRtcCA9ICR0aGlzLT5HZXRGaWVsZHNGb3JSc3JjKCRyc3JjaWQpOwogICAgICBpZiggJHRtcCApCgl7CgkgICR0bXAyID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ25hbWUnKTsKCSAgJHJzcmNbJ2ZpZWxkcyddID0gJHRtcDI7Cgl9CiAgICAgICR0bXAgPSAkdGhpcy0+R2V0QXR0cmlidXRlc0ZvclJzcmMoJHJzcmNpZCk7CiAgICAgIGlmKCAkdG1wICkKCXsKCSAgJHJzcmNbJ2F0dHJpYnMnXSA9ICR0bXA7Cgl9CiAgICAgICRyc3JjWydmaWxlX2xvY2F0aW9uJ10gPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kdGhpcy0+R2V0TmFtZSgpLicvcmVzb3VyY2VzXycuJHJzcmNpZDsKICAgICAgCiAgICAgICR0aGVfcmVzb3VyY2UgPSAkcnNyYzsKICAgIH0KICB9CgoKJHFwYXJtcyA9IGFycmF5KCk7CiRxdWVyeSA9ICdTRUxFQ1QgRS4qLEVULiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJyBFCiAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nIEVUCiAgICAgICAgICAgICAgT04gRS5ldmVudF90eXBlX2lkID0gRVQuaWQnOwppZiggJHJzcmNpZCA+IDAgKQogIHsKICAgICRxdWVyeSAuPSAnIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nIFJFCiAgICAgICAgICAgICAgICAgT04gRS5pZCA9IFJFLmV2ZW50X2lkJzsKICB9CiRxdWVyeSAuPSAiIFdIRVJFIChFLnN0YXJ0X2RhdGUgPCAkZGJkYXRlIEFORCBFLmVuZF9kYXRlID4gJGRiZGF0ZSkKICAgICAgICAgICAgICBBTkQgRS5ib29rYWJsZSA9IDEiOwppZiggJHJzcmNpZCA+IDAgKQogIHsKICAgICRxdWVyeSAuPSAnIEFORCBSRS5yc3JjX2lkID0gPyc7CiAgICAkcXBhcm1zW10gPSAkcnNyY2lkOwogIH0KJGRhdGEgPSAkZGItPkdldEFycmF5KCRxdWVyeSwkcXBhcm1zKTsKaWYoIGNvdW50KCRkYXRhKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdldmVudHMnLCRkYXRhKTsKICB9CgoKLy9TRUxFQ1QgUlMuKiBGUk9NIGNtc19tb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNzIFJTIFdIRVJFIFJTLmlkIElOIChTRUxFQ1QgRElTVElOQ1QgUlAucnNyY19pZCBGUk9NIGNtc19tb2R1bGVfYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9ucyBSIExFRlQgSk9JTiBjbXNfbW9kdWxlX2F2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9wYXJ0cyBSUCBPTiBSLmlkID0gUlAucmVzdl9pZCBXSEVSRSAoUi5zdGFydF9kYXRlIDwgJzIwMDktMDQtMDggMTQ6MTU6MDAnIEFORCBSLmVuZF9kYXRlID4gJzIwMDktMDQtMDggMTQ6MTU6MDAnKSk7CgoKLy8gR2V0IHRoZSBsaXN0IG9mIGZyZWUgcmVzb3VyY2VzIGZvciB0aGlzIGRheQokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBSUy4qIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBSUyAKICAgICAgICAgICBXSEVSRSBSUy5hY3RpdmUgPSAxCiAgICAgICAgICAgICBBTkQgUlMuaWQgTk9UIElOIChTRUxFQ1QgRElTVElOQ1QgUlAucnNyY19pZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nIFIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIgUlAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPTiBSLmlkID0gUlAucmVzdl9pZCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBSLnN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkQgKFIuc3RhcnRfZGF0ZSA8ICRkYmRhdGUgQU5EIFIuZW5kX2RhdGUgPiAkZGJkYXRlKSkiOwokZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LCRxcGFybXMpOwppZiggY291bnQoJGRhdGEpICkKICB7CiAgICAvLyB0aHNlIHJlc291cmNlcyBhcmUgbm90IGJvb2tlZAogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkKICAgICAgewoJJHJzcmMgPSYgJGRhdGFbJGldOwoJJHRoZV9yc3JjaWQgPSAkcnNyY1snaWQnXTsKCgkkdG1wID0gJHRoaXMtPkdldEZpZWxkc0ZvclJzcmMoJHRoZV9yc3JjaWQpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgJHRtcDIgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnbmFtZScpOwoJICAgICRyc3JjWydmaWVsZHMnXSA9ICR0bXAyOwoJICB9CgkkdG1wID0gJHRoaXMtPkdldEF0dHJpYnV0ZXNGb3JSc3JjKCR0aGVfcnNyY2lkKTsKCWlmKCAkdG1wICkKCSAgewoJICAgICRyc3JjWydhdHRyaWJzJ10gPSAkdG1wOwoJICB9CgkkcnNyY1snZmlsZV9sb2NhdGlvbiddID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Jlc291cmNlc18nLiR0aGVfcnNyY2lkOwogICAgICB9CgogICAgJGRhdGEgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJGRhdGEsJ2lkJyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc291cmNlcycsJGRhdGEpOwogIH0KCiMgYSkgZ2V0IHRoZSBldmVudHMgaW4gZWZmZWN0IGZvciB0aGlzIGRhdGUKIyBhLjEpIGZvciB0aGlzIHJlc291cmNlPwojIGlmIHJzcmNpZCBpcyBlbXB0eQojICAgZ2V0IHRoZSBmcmVlIHJvb21zCiMgZWxzZQojICAgZ2V0IHRoZSBzdGF0dXMgb2YgdGhpcyByb29tCgovLwovLyBHaXZlIHRoZSBkYXRhIHRvIHNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ3RoZV9kYXRlJywkZGJkYXRlX3V0KTsKaWYoICRyc3JjaWQgPiAwICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RoZV9yZXNvdXJjZScsJHRoZV9yZXNvdXJjZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3JzcmNpZCcsJHJzcmNpZCk7CiAgfQoKLy8KLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFJlc291cmNlIFN1bW1hcnkgVmlldyAgIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gUGFyYW1ldGVyczoKLy8gY2F0ZWdvcnk9Y3N2IGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMKLy8gcGFnZWxpbWl0PW51bWJlciBvZiByb29tcyBvbiBhIHBhZ2UKLy8gc29ydGJ5PW5hbWUscHJpY2UKLy8gc29ydG9yZGVyPWRlc2MsYXNjCi8vIHBhZ2VudW0KLy8gc2hvd2FsbD0xCi8vIHN1bW1hcnl0ZW1wbGF0ZT1ibGFoCi8vCgovLwovLyBJbml0aWFsaXphdGlvbgovLwokYXR0cmlidXRlPScnOwokZGF0YV9hdHRyaWJ1dGVzID0gJyc7CiRwYWdlbGltaXQ9MjU7CiRzb3J0Ynk9J3NvcnRpbmcnOwokc29ydG9yZGVyPSdBU0MnOwokc29ydGZpZWxkID0gJyc7CiRzdGFydGVsZW1lbnQgPSAwOwokcGFnZW51bT0xOwokc2hvd2FsbD0wOwokdGhldGVtcGxhdGUgPSAnc3VtbWFyeV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFKTsKJGRldGFpbHBhcmFtcyA9IGFycmF5KCk7CiRzcGVjaWZ5ID0gJyc7CgovLwovLyBIYW5kbGUgSW5wdXQgUGFyYW1ldGVycwovLwokZXJyb3IgPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ2F2YWlsX3NwZWNpZnknXSkgKQogIHsKICAgICRzcGVjaWZ5ID0gdHJpbSgkcGFyYW1zWydhdmFpbF9zcGVjaWZ5J10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2F0dHJpYnV0ZSddKSApCnsKICAkYXR0cmlidXRlID0gdHJpbSgkcGFyYW1zWydhdHRyaWJ1dGUnXSk7CiAgLy8gY2FuIGJlIGEgY29tbWEgc2VwYXJhdGVkIGxpc3QKICAvLyBnb3R0YSBnZXQgYmFjayB0aGUgSUQncy4KICAkZGF0YV9hdHRyaWJ1dGVzID0gJHRoaXMtPkdldEF0dHJpYnV0ZUlEcygkYXR0cmlidXRlKTsKfQppZiggaXNzZXQoJHBhcmFtc1sncGFnZWxpbWl0J10pICkKewogICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ3BhZ2VsaW1pdCddOwogICRwYWdlbGltaXQgPSBtYXgoMSwkcGFnZWxpbWl0KTsKICAkcGFnZWxpbWl0ID0gbWluKDEwMDAsJHBhZ2VsaW1pdCk7Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkgKQp7CiAgJHNob3dhbGwgPSAxOwp9CmlmKCBpc3NldCgkcGFyYW1zWydwYWdlbnVtJ10pICkKewogICRwYWdlbnVtID0gKGludCkkcGFyYW1zWydwYWdlbnVtJ107CiAgJHBhZ2VudW0gPSBtYXgoMSwkcGFnZW51bSk7CiAgJHN0YXJ0ZWxlbWVudCA9ICgkcGFnZW51bS0xKSAqICRwYWdlbGltaXQ7Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSApCnsKICAkdG1wID0gdHJpbShzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRieSddKSk7CiAgc3dpdGNoKCAkdG1wICkKICAgIHsKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAncHJpY2UnOgogICAgY2FzZSAnc29ydGluZyc6CiAgICAgICRzb3J0YnkgPSAkdG1wOwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICBpZiggc3RhcnRzd2l0aCgkdG1wLCdmOicpICkKCXsKCSAgJHRtcDIgPSBzdWJzdHIoJHRtcCwyKTsKCSAgJHNxbCA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJwogICAgICAgICAgICAgICAgICAgV0hFUkUgbmFtZSA9ID8nOwoJICAkc29ydGZpZWxkID0gJGRiLT5HZXRPbmUoJHNxbCxhcnJheSgkdG1wMikpOwoJICAkc29ydGJ5ID0gJ2Z2LnZhbHVlJzsKCX0KICAgICAgZWxzZQoJewoJICAkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwoJfQogICAgICBicmVhazsKICAgIH0KfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRvcmRlciddKSApCnsKICBzd2l0Y2goIHN0cnRvdXBwZXIoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICAgIHsKICAgIGNhc2UgJ0FTQyc6CiAgICBjYXNlICdERVNDJzoKICAgICAgJHNvcnRvcmRlciA9IHN0cnRvdXBwZXIoJHBhcmFtc1snc29ydG9yZGVyJ10pOwogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICB9Cn0KJGRldGFpbHBhZ2UgPSAkcmV0dXJuaWQ7CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pICkKICB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCSAgfQogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkgKQogIHsKICAgICRkZXRhaWxwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10gPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy50cmltKCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddKTsKICB9CgovLwovLyBCdWlsZCB0aGUgcXVlcmllcwovLwokd2hlcmUgPSBhcnJheSgpOwokam9pbnMgPSBhcnJheSgpOwokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5YyA9ICdTRUxFQ1QgY291bnQocnMuaWQpIEFTIGNvdW50IEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBycyc7CiRxdWVyeTEgPSAnU0VMRUNUIHJzLiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIHJzJzsKaWYoICFlbXB0eSgkc3BlY2lmeSkgKQogIHsKICAgICR3aGVyZVtdID0gJ3JzLmlkIElOICgnLiRzcGVjaWZ5LicpJzsKICB9CmlmKCAhZW1wdHkoJHNvcnRmaWVsZCkgKQogIHsKICAgICRqb2luc1tdID0gJ0xFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJyBmdgogICAgICAgICAgICAgICAgICBPTiBmdi5yc3JjX2lkID0gcnMuaWQnOwogICAgJHdoZXJlW10gPSAnZnYuZmllbGRkZWZfaWQgPSA/JzsKICAgICRxcGFybXNbXSA9ICRzb3J0ZmllbGQ7CiAgfQppZiggaXNfYXJyYXkoJGRhdGFfYXR0cmlidXRlcykgJiYgY291bnQoJGRhdGFfYXR0cmlidXRlcykgKQp7CiAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTX0NBVFMuJyByYwogICAgICAgICAgICAgICAgT04gcnMuaWQgPSByYy5yc3JjX2lkJzsKICAkd2hlcmVbXSA9ICdyYy5jYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkZGF0YV9hdHRyaWJ1dGVzKS4nKSc7Cn0KCi8vIEZpbmFsIGFzc2VtYmx5CmlmKCBjb3VudCgkam9pbnMpICkKewogIGZvcmVhY2goICRqb2lucyBhcyAkb25lICkKICAgIHsKICAgICAgJHF1ZXJ5YyAuPSAnICcuJG9uZTsKICAgICAgJHF1ZXJ5MSAuPSAnICcuJG9uZTsKICAgIH0KfQppZiggY291bnQoJHdoZXJlKSApCnsKICAkcXVlcnljIC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAkcXVlcnkxIC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKfQokcXVlcnkxIC49ICIgT1JERVIgQlkgJHNvcnRieSAkc29ydG9yZGVyIjsKCgovLwovLyBHZXQgVGhlIENvdW50IG9mIHJlY29yZHMKLy8KJHRvdGFsY291bnQgPSAkZGItPkdldE9uZSgkcXVlcnljLCRxcGFybXMpOwoKLy8KLy8gU2V0dXAgUGFnaW5hdGlvbgovLwokcGFnZWNvdW50ID0gKGludCkoJHRvdGFsY291bnQgLyAkcGFnZWxpbWl0KTsKaWYoICgkdG90YWxjb3VudCAlICRwYWdlbGltaXQpID4gMCApCiAgewogICAgJHBhZ2Vjb3VudCsrOwogIH0KCgovLwovLyBBbmQgZ2V0IHRoZSBkYXRhCi8vCiRkYnIgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeTEsJHBhZ2VsaW1pdCwkc3RhcnRlbGVtZW50LCRxcGFybXMpOwppZiggJGRiciApCiAgewogICAgJGRhdGEgPSBhcnJheSgpOwogICAgd2hpbGUoICRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkgKQogICAgICB7CgkvLyBHZXQgdGhlIHJvdwoJJHJvd1snZmlsZV9sb2NhdGlvbiddID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Jlc291cmNlc18nLiRyb3dbJ2lkJ107Cgkkcm93WydhdHRyaWJzJ10gPSAkdGhpcy0+R2V0QXR0cmlidXRlc0ZvclJzcmMoJHJvd1snaWQnXSk7Cgkkcm93WydhdHRyaWJzX2J5bmFtZSddID0gY2dlX2FycmF5Ojp0b19oYXNoKCRyb3dbJ2F0dHJpYnMnXSwnbmFtZScpOwoJewoJICAkdG1wID0gJHRoaXMtPkdldEZpZWxkc0ZvclJzcmMoJHJvd1snaWQnXSk7CgkgICRyb3dbJ2ZpZWxkcyddID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ25hbWUnKTsKCX0KCSRyb3dbJ2ZpZWxkc19ieW5hbWUnXSA9IGNnZV9hcnJheTo6dG9faGFzaCgkcm93WydmaWVsZHMnXSwnbmFtZScpOwoJJHJvd1snZGV0YWlsX3VybCddID0gJHRoaXMtPkdldFJlc291cmNlRGV0YWlsVVJMKCRpZCwkZGV0YWlscGFnZSwkcm93WydpZCddLCRyb3dbJ25hbWUnXSwkZGV0YWlscGFyYW1zKTsKCgkkZGF0YVtdID0gJHJvdzsKICAgICAgfQoKICAgIGlmKCBjb3VudCgkZGF0YSkgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3JzcmNzJywkZGF0YSk7CiAgICAgIH0KICB9CgoKLy8KLy8gUGFnaW5hdGlvbiBMaW5rcyBhbmQgRGF0YQovLwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJHBhZ2Vjb3VudCk7CiRzbWFydHktPmFzc2lnbigncGFnZW51bScsJHBhZ2VudW0pOwppZiggJHBhZ2VudW0gPiAxICkKICB7CiAgICAkcGFyYW1zWydwYWdlbnVtJ10gPSAxOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywKCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiAgICAkcGFyYW1zWydwYWdlbnVtJ10gPSAkcGFnZW51bSAtIDE7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcmFtcykpOwogIH0KaWYoICRwYWdlbnVtIDwgJHBhZ2Vjb3VudCApCiAgewogICAgJHBhcmFtc1sncGFnZW51bSddID0gJHBhZ2Vjb3VudDsKICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2VfdXJsJywKCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiAgICAkcGFyYW1zWydwYWdlbnVtJ10gPSAkcGFnZW51bSsxOwogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZV91cmwnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJhbXMpKTsKICB9CgoKLy8KLy8gUHJvY2VzcyBUZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBUaGUgdG9wIG5hdiBiYXIKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fAogICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpIHx8CiAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpIHx8CiAgICAoJHRoaXMtPkhhdmVSZXNvdXJjZXMoKSAmJiAkdGhpcy0+Q2FuRWRpdFJlc2VydmF0aW9ucygpKSApCiAgewogICAgZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiA4MCU7Ij4nOwogICAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fRVZFTlRTKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX3NldHRpbmdzJywkcmV0dXJuaWQsCgkJCQkgICAgJHRoaXMtPkxhbmcoJ2xibF9zZXR0aW5ncycpLAoJCQkJICAgICdpY29ucy90b3BmaWxlcy9wcmVmZXJlbmNlcy5naWYnLGFycmF5KCksJycsJycsZmFsc2UpOwogICAgICB9CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkKICAgICAgewoJZWNobyAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fdGVtcGxhdGVzJywkcmV0dXJuaWQsCgkJCQkgICAgJHRoaXMtPkxhbmcoJ2xibF90ZW1wbGF0ZXMnKSwKCQkJCSAgICAnaWNvbnMvdG9wZmlsZXMvdGVtcGxhdGUuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKTsKICAgICAgfQogICAgaWYoICR0aGlzLT5IYXZlUmVzb3VyY2VzKCkgJiYgJHRoaXMtPkNhbkVkaXRSZXNlcnZhdGlvbnMoKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2VkaXRfcmVzdm4nLCRyZXR1cm5pZCwKCQkJCSAgICAkdGhpcy0+TGFuZygnYWRkX3Jlc2VydmF0aW9uJyksCgkJCQkgICAgJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKTsKICAgICAgfQogICAgZWNobyAnPC9kaXY+PGJyLz4nOwogIH0KCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpIHx8CiAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSkKICB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhbGVuZGFyJywKICAgICAgICAgICAkdGhpcy0+TGFuZygnbGJsX2NhbGVuZGFyJykuJyZuYnNwOycuCgkJCSAgICAgJHRoaXMtPkRpc3BsYXlJbWFnZSgnY2FsZW5kYXIucG5nJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdyZXNlcnZhdGlvbnMnLAoJICAgJHRoaXMtPkxhbmcoJ2xibF9yZXNlcnZhdGlvbnMnKS4nJm5ic3A7Jy4KCQkJICAgICAkdGhpcy0+RGlzcGxheUltYWdlKCdjbG9jay5wbmcnKSk7CiAgfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkKICB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Jlc291cmNlcycsCgkgICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUodHJ1ZSkuJyZuYnNwOycuJHRoaXMtPkRpc3BsYXlJbWFnZSgncGFja2FnZS5wbmcnKSk7CiAgfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkKICB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2V2ZW50cycsCgkgICR0aGlzLT5MYW5nKCdsYmxfZXZlbnRzJykuJyZuYnNwOycuJHRoaXMtPkRpc3BsYXlJbWFnZSgnZmxhZ19ncmVlbi5wbmcnKSk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgovLyBUaGUgY29udGVudCBvZiB0aGUgdGFicwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TKSB8fAogICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9WSUVXUkVTVikpCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhbGVuZGFyJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jYWxlbmRhcl90YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncmVzZXJ2YXRpb25zJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9yZXNlcnZhdGlvbnNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncmVzb3VyY2VzJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9yZXNvdXJjZXNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignZXZlbnRzJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9ldmVudHNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkgcmV0dXJuOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFJlc291cmNlIERldGFpbCBWaWV3ICAgLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vCi8vIFNldHVwCi8vCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwoKLy8KLy8gUGFyYW1ldGVycwovLyBkZXRhaWx0ZW1wbGF0ZSAtIHRoZSBkZXRhaWwgdGVtcGxhdGUKLy8gcnNyY2lkID0gdGhlIHJlc291cmNlIGlkCi8vCiRyc3JjaWQgPSAoaW50KSRwYXJhbXNbJ3JzcmNpZCddOwokdGhldGVtcGxhdGUgPSAnZGV0YWlsXycuJHRoaXMtPkdldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVERFVEFJTF9URU1QTEFURSk7CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2RldGFpbF8nLnRyaW0oJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSk7CiAgfQoKLy8KLy8gR2V0IHRoZSBkYXRhCi8vCgovLyB0aGUgcmVzb3VyY2UKJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lLGRlc2NyaXB0aW9uLGJhc2VfcHJpY2UgCiAgICAgICAgICAgIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyAKICAgICAgICAgICBXSEVSRSBhY3RpdmUgPSAxIEFORCBpZCA9ID8nOwokcnNyYyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcnNyY2lkKSk7CmlmKCAkcnNyYyApCiAgewogICAgJHRtcCA9ICR0aGlzLT5HZXRGaWVsZHNGb3JSc3JjKCRyc3JjaWQpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkdG1wMiA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCduYW1lJyk7CgkkcnNyY1snZmllbGRzJ10gPSAkdG1wMjsKICAgICAgfQogICAgJHRtcCA9ICR0aGlzLT5HZXRBdHRyaWJ1dGVzRm9yUnNyYygkcnNyY2lkKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHJzcmNbJ2F0dHJpYnMnXSA9ICR0bXA7CiAgICAgIH0KICAgICRkZXN0dXJsID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Jlc291cmNlc18nLiRyc3JjaWQ7CiAgICAKICAgIC8vIHByaWNlcwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMuJyAKICAgICAgICAgICBXSEVSRSByc3JjX2lkID0gPyc7CiAgICAkcHJpY2VzID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRyc3JjaWQpKTsKICAgIGlmKCAkcHJpY2VzICkKICAgICAgewoJJHJzcmNbJ3ByaWNlcyddID0gJHByaWNlczsKICAgICAgfQoKICAgIC8vCiAgICAvLyBHaXZlIGl0IHRvIHNtYXJ0eQogICAgLy8KICAgICRzbWFydHktPmFzc2lnbigncnNyYycsJHJzcmMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkZGVzdHVybCk7CiAgfQoKLy8gV2UncmUgZG9uZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.json_check_avail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGF0YSA9IGpzb25fZGVjb2RlKCRfUE9TVFsnZGF0YSddLCB0cnVlKTsKCiRyZXMgPSBhcnJheSgpOwokcmVzWydyZXN1bHQnXSA9ICdzdWNjZXNzJzsKJHJlc1snbWVzc2FnZSddID0gJyc7CgovLyBjaGVjayBpbnB1dCBwYXJhbWFzCmlmKCAhaXNzZXQoJGRhdGFbJ3JzcmNfaWQnXSkgfHwgIWlzc2V0KCRkYXRhWydzdGFydF9kYXRlJ10pICkKICB7CiAgICAkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CiAgICAkcmVzWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50X3BhcmFtcycpOwogIH0KZWxzZQogIHsKICAgICRzdGFydF9kYXRlID0gJyc7CiAgICAkZW5kX2RhdGUgPSAnJzsKICAgIHsKICAgICAgJHN0bXAgPSBuZXcgY2dlX2RhdGUoJGRhdGFbJ3N0YXJ0X2RhdGUnXSk7CiAgICAgICRzdG1wLT5zZXRfc2Vjb25kcygwKTsKICAgICAgJHN0YXJ0X2RhdGUgPSAkc3RtcC0+dG9fdGltZXN0YW1wKCk7CgogICAgICBpZiggaXNzZXQoJGRhdGFbJ2VuZF9kYXRlJ10pICkKCXsKCSAgJGV0bXAgPSBuZXcgY2dlX2RhdGUoJGRhdGFbJ2VuZF9kYXRlJ10pOwoJICAkZXRtcC0+c2V0X3NlY29uZHMoMCk7CgkgICRlbmRfZGF0ZSA9ICRldG1wLT50b190aW1lc3RhbXAoKTsKCX0KICAgIH0KCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGlkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRkYXRhWydyc3JjX2lkJ10pKTsKICAgIGlmKCAkcm93ICkKICAgICAgewoJLy8gY2hlY2sgZm9yIGNhcGFjaXR5IHByb2JsZW1zLi4uLgoJaWYoICEkcm93WydhbGxvd19vdmVyY2FwYWNpdHknXSAmJiAKIAkgICAgJHJvd1snY2FwYWNpdHknXSA+IDAgJiYKCSAgICAoJGRhdGFbJ251bV9wZW9wbGUnXSA+ICRyb3dbJ2NhcGFjaXR5J10pICkKCSAgewoJICAgICRyZXNbJ3Jlc3VsdCddID0gJ2Vycm9yJzsKCSAgICAkcmVzWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfb3Zlcl9jYXBhY2l0eScsJHJvd1snY2FwYWNpdHknXSwkZGF0YVsnbnVtX3Blb3BsZSddKTsKCSAgfQoKCWlmKCAkcmVzWydyZXN1bHQnXSA9PSAnc3VjY2VzcycgKQoJICB7CgkgICAgLy8gYWRqdXN0IHRoZSBlbmQgdGltZSBiYXNlZCBvbiB0aGUgaW50ZXJ2YWwKCSAgICBzd2l0Y2goJHJvd1sncmVzX2ludGVydmFsJ10pCgkgICAgICB7CgkgICAgICBjYXNlICdkYWlseSc6CgkJewoJCSAgbGlzdCgkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpID0gJHRoaXMtPkFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsMigkcm93LCRzdGFydF9kYXRlLCRlbmRfZGF0ZSk7CgkJICAKCQkgIC8vIGJhc2ljIGNoZWNrcwoJCSAgaWYoICRzdGFydF9kYXRlID49ICRlbmRfZGF0ZSApCgkJICAgIHsKCQkgICAgICAvLyBpbnZhbGlkIGRhdGUgdmFsdWVzCgkJICAgICAgJHJlc1sncmVzdWx0J10gPSAnZXJyb3InOwoJCSAgICAgICRyZXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX2RhdGVzJyk7CgkJICAgIH0KCQkgICRyZXNbJ3N0YXJ0X2RhdGUnXSA9ICRzdGFydF9kYXRlOwoJCSAgJHJlc1snZW5kX2RhdGUnXSA9ICRlbmRfZGF0ZTsKCQl9CgkJYnJlYWs7CgkJCgkgICAgICBjYXNlICdob3VybHknOgoJCXsKCQkgIGxpc3QoJHN0YXJ0X2RhdGUsJGVuZF9kYXRlKSA9ICR0aGlzLT5BZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbDIoJHJvdywkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpOwoJCSAgJHN0YXJ0MV90cyA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcm93WydzdGFydHRpbWUxJ10pOwoJCSAgJGVuZDFfdHMgPSBjZ2VfZGF0ZV91dGlsczo6dHNfc2V0X3RpbWVfZnJvbV9zdHIoJHN0YXJ0X2RhdGUsJHJvd1snZW5kdGltZTEnXSk7CgkJICAkc3RhcnQyX3RzID0gY2dlX2RhdGVfdXRpbHM6OnRzX3NldF90aW1lX2Zyb21fc3RyKCRzdGFydF9kYXRlLCRyb3dbJ3N0YXJ0dGltZTInXSk7CgkJICAkZW5kMl90cyA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcm93WydlbmR0aW1lMiddKTsKCQkgIAoJCSAgLy8gYmFzaWMgY2hlY2tzCgkJICBpZiggKCRzdGFydF9kYXRlIDwgJHN0YXJ0MV90cykgfHwKCQkgICAgICAoJHN0YXJ0X2RhdGUgPj0gJGVuZDFfdHMgJiYgJHN0YXJ0X2RhdGUgPCAkc3RhcnQyX3RzKSB8fAoJCSAgICAgICgkc3RhcnRfZGF0ZSA+ICRlbmQyX3RzKSB8fAoJCSAgICAgICgkZW5kX2RhdGUgPiAkZW5kMV90cyAmJiAkZW5kX2RhdGUgPCAkc3RhcnQyX3RzICkgfHwKCQkgICAgICAoJGVuZF9kYXRlIDwgJHN0YXJ0X2RhdGUpIHx8CgkJICAgICAgKCRlbmRfZGF0ZSA+ICRlbmQyX3RzKSApCgkJICAgIHsKCQkgICAgICAvLyBpbnZhbGlkIGRhdGUgdmFsdWVzCgkJICAgICAgJHJlc1sncmVzdWx0J10gPSAnZXJyb3InOwoJCSAgICAgICRyZXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX2RhdGVzJyk7CgkJICAgIH0KCQkgIGVsc2UKCQkgICAgewoJCSAgICAgIC8vIGNoZWNrIHRvIG1ha2Ugc3VyZSB3ZSdyZSBzdGFydGluZyBvbiB0aGUgcHJvcGVyIGludGVydmFsLgoJCSAgICAgICRvZmZzZXQgPSAwOwoJCSAgICAgIHN3aXRjaCgkcm93WydncmFudWxhcml0eSddKQoJCQl7CgkJCWNhc2UgJ3F1YXJ0ZXJfaG91cic6CgkJCSAgJG9mZnNldCA9IDE1OwoJCQkgIGJyZWFrOwoJCQljYXNlICdoYWxmX2hvdXInOgoJCQkgICRvZmZzZXQgPSAzMDsKCQkJICBicmVhazsKCQkJY2FzZSAnaG91cic6CgkJCSAgJG9mZnNldCA9IDYwOwoJCQkgIGJyZWFrOwoJCQl9CgkJICAgICAgCgkJICAgICAgJHRtcCA9ICRzdGFydDFfdHM7CgkJICAgICAgaWYoICRzdGFydF9kYXRlID49ICRzdGFydDJfdHMgKQoJCQl7CgkJCSAgJHRtcCA9ICRzdGFydDJfdHM7CgkJCX0KCQkgICAgICAkcmVtID0gKCRzdGFydF9kYXRlIC0gJHRtcCkgJSAoJG9mZnNldCo2MCk7CgkJICAgICAgaWYoICRyZW0gPiAwICkKCQkJewoJCQkgIC8vIGludmFsaWQgZGF0ZSB2YWx1ZXMKCQkJICAkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CgkJCSAgJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfZGF0ZXMnKTsKCQkJfQoJCSAgICB9CgkJICAKCQkgICRyZXNbJ3N0YXJ0X2RhdGUnXSA9ICRzdGFydF9kYXRlOwoJCSAgJHJlc1snZW5kX2RhdGUnXSA9ICRlbmRfZGF0ZTsKCQl9CgkJYnJlYWs7CgkJCgkgICAgICBjYXNlICdoYWxmX2RheSc6CgkJaWYoICFpc3NldCgkZGF0YVsnbWVyaWRpYW4nXSkgKQoJCSAgewoJCSAgICAkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CgkJICAgICRyZXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRfcGFyYW1zJyk7CgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICBsaXN0KCRzdGFydF9kYXRlLCRlbmRfZGF0ZSkgPSAkdGhpcy0+QWRqdXN0UmVzZXJ2YXRpb25QYXJ0SW50ZXJ2YWwyKCRyb3csJHN0YXJ0X2RhdGUsJGVuZF9kYXRlLCRkYXRhWydtZXJpZGlhbiddKTsKCQkgICAgJHJlc1snc3RhcnRfZGF0ZSddID0gJHN0YXJ0X2RhdGU7CgkJICAgICRyZXNbJ2VuZF9kYXRlJ10gPSAkZW5kX2RhdGU7CgkJICB9CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCgoJaWYoICRyZXNbJ3Jlc3VsdCddID09ICdzdWNjZXNzJyAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fc3RhcnR5ZWFyJywtMSkgPT0gLTEgKQoJICB7CgkgICAgJG5vdyA9IHRpbWUoKTsKCSAgICBpZiggKCRlbmRfZGF0ZSA8PSAkbm93KSB8fCAoJHN0YXJ0X2RhdGUgPCAkbm93ICYmICRlbmRfZGF0ZSA+ICRub3cpICkKCSAgICAgIHsKCQkkcmVzWydyZXN1bHQnXSA9ICdzdGFydGVkJzsKCQkkcmVzWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdGltZXBlcmlvZF9zdGFydGVkJyk7CgkgICAgICB9CgkgIH0KCQoKCWlmKCAkcmVzWydyZXN1bHQnXSA9PSAnc3VjY2VzcycgKQoJICB7CgkgICAgLy8gbm93IHJlYWxseSBjaGVjayBmb3IgY29uZmxpY3RzCgkgICAgJHJlc2VydmF0aW9uID0gYXJyYXkoKTsKCSAgICAkcGFydCA9IGFycmF5KCk7CgkgICAgJHBhcnRbJ3JzcmNfaWQnXSA9ICRkYXRhWydyc3JjX2lkJ107CgkgICAgJHBhcnRbJ3N0YXJ0X2RhdGUnXSA9ICRzdGFydF9kYXRlOwoJICAgICRwYXJ0WydlbmRfZGF0ZSddID0gJGVuZF9kYXRlOwoJICAgICRwYXJ0WydudW1fcGVvcGxlJ10gPSBtYXgoMSwkZGF0YVsnbnVtX3Blb3BsZSddKTsKCSAgICAkcmVzZXJ2YXRpb25bJ3BhcnRzJ10gPSBhcnJheSgkcGFydCk7CgkgICAgCgkgICAgLy8gMS4gIENoZWNrIGZvciBjb25mbGljdHMKCSAgICAkZXJyID0gJHRoaXMtPkNoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHJlc2VydmF0aW9uKTsKCSAgICBpZiggJGVyciApCgkgICAgICB7CgkJJHJlc1sncmVzdWx0J10gPSAnY29uZmxpY3QnOwoJCSRyZXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCcpOwoJICAgICAgfQoJICB9CgkKCWlmKCAkcmVzWydyZXN1bHQnXSA9PSAnc3VjY2VzcycgKQoJICB7CgkgICAgJHJlc1sncmVzdWx0J10gPSAnYXZhaWxhYmxlJzsKCSAgICAkcGFydHMgPSAnJzsKCSAgICAkcmVzWydwcmljZSddID0gJHRoaXMtPkNhbGN1bGF0ZVJlc2VydmF0aW9uUHJpY2UoJHJlc2VydmF0aW9uLCRwYXJ0cyk7CgkgICAgaWYoICFjb3VudCgkcGFydHMpIHx8ICRyZXNbJ3ByaWNlJ10gPT09IEZBTFNFICkKCSAgICAgIHsKCQkkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CgkJJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbGN1bGF0ZV9wcmljZScpOwoJICAgICAgfQoJICB9CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHJlc1snc3RhcnRfZGF0ZSddKSApCiAgewogICAgJHJlc1snc3RhcnRfZGF0ZSddID0gc3RyZnRpbWUoJyVtLyVkLyVZICVIOiVNJywkcmVzWydzdGFydF9kYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRyZXNbJ2VuZF9kYXRlJ10pICkKICB7CiAgICAkcmVzWydlbmRfZGF0ZSddID0gc3RyZnRpbWUoJyVtLyVkLyVZICVIOiVNJywkcmVzWydlbmRfZGF0ZSddKTsKICB9CgovLyBwb3N0IHByb2Nlc3NpbmcKaGVhZGVyKCJFeHBpcmVzOiBNb24sIDI2IEp1bCAxOTk3IDA1OjAwOjAwIEdNVCIgKTsgCmhlYWRlcigiTGFzdC1Nb2RpZmllZDogIiAuIGdtZGF0ZSggIkQsIGQgTSBZIEg6aTpzIiApIC4gIkdNVCIgKTsgCmhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIgKTsgCmhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIgKTsKaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQveG1sOyBjaGFyc2V0PXV0Zi04Iik7CnByaW50IGpzb25fZW5jb2RlKCRyZXMpOwpleGl0OwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.json_resvn_deposit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGF0YSA9IGpzb25fZGVjb2RlKCRfUE9TVFsnZGF0YSddLCB0cnVlKTsKCiRyZXMgPSBhcnJheSgpOwokcmVzWydyZXN1bHQnXSA9ICdzdWNjZXNzJzsKJHJlc1sndmFsdWUnXSA9ICRkYXRhWydwcmljZSddOwoKaWYoICFpc3NldCgkZGF0YVsncHJpY2UnXSkgKQogIHsKICAgICRyZXNbJ3Jlc3VsdCddID0gJ2Vycm9yJzsKICB9CmVsc2UgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnKSAmJiAkZGF0YVsncHJpY2UnXSA+IDAgKQogIHsKICAgICR0bXAgPSByZXNlcnZhdGlvbl91dGlsczo6Y2FsY19taW5fZGVwb3NpdF9ieV9wcmljZSgkZGF0YVsncHJpY2UnXSk7CiAgICBpZiggJHRtcCA9PT0gRkFMU0UgKQogICAgICB7CgkkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHJlc1sndmFsdWUnXSA9ICR0bXA7CiAgICAgIH0KICB9CgpwcmludCBqc29uX2VuY29kZSgkcmVzKTsKZXhpdDsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.json_rsrc_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgoKJGRhdGEgPSBqc29uX2RlY29kZSgkX1BPU1RbJ2RhdGEnXSwgdHJ1ZSk7CgokcmVzID0gYXJyYXkoKTsKJHJlc1sncmVzdWx0J10gPSAnZXJyb3JfYSc7CmlmKCBpc3NldCgkZGF0YVsncnNyY19pZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkZGF0YVsncnNyY19pZCddKSk7CiAgICBpZiggJHJvdyApCiAgICAgIHsKCSRyZXNbJ3Jlc3VsdCddID0gJ3N1Y2Nlc3MnOwoJJHJvd1sncmVzX2ludGVydmFsX3R4dCddID0gJHRoaXMtPkxhbmcoJHJvd1sncmVzX2ludGVydmFsJ10pOwoJJHJvd1snZ3JhbnVsYXJpdHlfdHh0J10gPSAkdGhpcy0+TGFuZygkcm93WydncmFudWxhcml0eSddKTsKCSRyb3dbJ3N1bW1hcnknXSA9ICR0aGlzLT5HZXRSZXNvdXJjZVN1bW1hcnkoJHJvdyk7CgkkcmVzID0gYXJyYXlfbWVyZ2UoJHJlcywkcm93KTsKICAgICAgfQogICAgJHJlc1snZGF0YSddID0gJGRhdGFbJ3JzcmNfaWQnXTsKICB9CgpwcmludCBqc29uX2VuY29kZSgkcmVzKTsKZXhpdDsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.myreservations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFZpZXcgTXkgUmVzZXJ2YXRpb25zIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KJGZldSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIGNvdWxkIG5vdCBmaW5kIGZldQokY3VzdGlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwppZiggJGN1c3RpZCA8PSAwICkgCiAgewogICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsLTEpOwogICAgaWYoICRwYWdlICE9IC0xICkKICAgICAgewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcGFnZSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gZ290dGEgZGlzcGxheSBhIG1lc3NhZ2UKCS8vIGFuZCBleGl0CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CiR0aGV0ZW1wbGF0ZSA9ICdteXJlc3ZfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUTVlSRVNWX1RFTVBMQVRFKTsKJHNvcnRieSA9ICdzdGFydF9kYXRlJzsKJHNvcnRvcmRlciA9ICdBU0MnOwokZGV0YWlscGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnLC0xKTsKaWYoICRkZXRhaWxwYWdlID09IC0xICkKICB7CiAgICAkZGV0YWlscGFnZSA9ICRyZXR1cm5pZDsKICB9CiRzaG93YWxsID0gMDsKCi8vCi8vIFBhcmFtZXRlcnMKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ215cmVzdnRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnbXlyZXN2XycudHJpbSgkcGFyYW1zWydteXJlc3Z0ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0YnknXSkgKQogIHsKICAgIHN3aXRjaCgkcGFyYW1zWydzb3J0YnknXSkKICAgICAgewogICAgICBjYXNlICdzdGFydF9kYXRlJzoKICAgICAgY2FzZSAnZW5kX2RhdGUnOgogICAgICBjYXNlICdwcmljZSc6CiAgICAgIGNhc2UgJ251bV9wZW9wbGUnOgogICAgICBjYXNlICdjcmVhdGVfZGF0ZSc6CiAgICAgIGNhc2UgJ21vZGlmaWVkX2RhdGUnOgoJJHNvcnRieSA9ICRwYXJhbXNbJ3NvcnRieSddOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICB7CiAgICAkdG1wID0gc3RydG91cHBlcigkcGFyYW1zWydzb3J0b3JkZXInXSk7CiAgICBzd2l0Y2goJHRtcCkKICAgICAgewogICAgICBjYXNlICdBU0MnOgogICAgICBjYXNlICdERVNDJzoKCSRzb3J0b3JkZXIgPSAkdG1wOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSApCiAgewogICAgJG1hbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICAgIGlmIChpc3NldCgkbm9kZSkpCiAgICAgIHsKCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CQoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CglpZiAoaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgIH0KICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkgKQogIHsKICAgICRzaG93YWxsID0gMTsKICB9CgovLwovLyBTZXR1cAovLwoKCi8vCi8vIEdhdGhlciB0aGUgZGF0YQovLwokd2hlcmUgPSBhcnJheSgpOwokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBBLmlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicgQQogICAgICAgICAgICBMRUZUIEpPSU4gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyBCCiAgICAgICAgICAgICAgT04gQS5pZCA9IEIucmVzdl9pZCc7CiR3aGVyZVtdID0gJ0EuY3VzdG9tZXJfaWQgPSA/JzsKJHFwYXJtc1tdID0gJGN1c3RpZDsKJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKaWYoICRzaG93YWxsID09IDAgKQogIHsKICAgICR3aGVyZVtdID0gIkIuc3RhcnRfZGF0ZSA+ICRub3ciOwogIH0KaWYoIGNvdW50KCR3aGVyZSkgKQogIHsKICAgICRxdWVyeSAuPSAiIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCR3aGVyZSk7CiAgfQokcXVlcnkgLj0gIiBPUkRFUiBCWSAkc29ydGJ5ICRzb3J0b3JkZXIiOwokcmVzdm5faWRzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRjdXN0aWQpKTsKCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwokdXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvJy4kdGhpcy0+R2V0TmFtZSgpLicvaWNvbnMnOwokcmVzdm5zID0gYXJyYXkoKTsKJG5vdyA9IHRpbWUoKTsKZm9yZWFjaCggJHJlc3ZuX2lkcyBhcyAkb25lX2lkICkKewogICRyZXN2biA9IHJlc2VydmF0aW9uX29wczo6bG9hZF9ieV9pZCgkb25lX2lkKTsKICAkcmVzdm5zW10gPSByZXNlcnZhdGlvbl9vcHM6OnRvX2FycmF5KCRyZXN2bik7Cn0KZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlc3Zucyk7ICRpKysgKQogIHsKICAgICRwYXJhbXNbJ3Jlc3ZfaWQnXSA9ICRyZXN2bnNbJGldWydpZCddOwogICAgJHByZXR0eV91cmwgPSAkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuIi92aWV3cmVzdm4vJGRldGFpbHBhZ2UveyRyZXN2bnNbJGldWydpZCddfSI7CiAgICAkc3RhcnRfdXQgPSAkZGItPlVuaXhUaW1lU3RhbXAoJHJlc3Zuc1skaV1bJ3N0YXJ0X2RhdGUnXSk7CiAgICBpZiggJHN0YXJ0X3V0ID4gdGltZSgpICkKICAgICAgewoJJHJlc3Zuc1skaV1bJ2VkaXRfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRkcmVzdm4nLCRkZXRhaWxwYWdlLAoJCQkJCQkgICAkcGFyYW1zLGZhbHNlLCRwcmV0dHlfdXJsKTsKCSRyZXN2bnNbJGldWydlbWFpbF91cmwnXSA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdzZW5kZW1haWwnLCRkZXRhaWxwYWdlLAoJCQkJCQkgICAgJHBhcmFtcyk7CgoJJHJlc3Zuc1skaV1bJ2VtYWlsX2ljb24nXSA9ICR0aGlzLT5EaXNwbGF5SW1hZ2UoIiR1cmwvZW1haWwucG5nIiwkdGhpcy0+TGFuZygnc2VuZF9lbWFpbCcpKTsKCSRyZXN2bnNbJGldWydlZGl0X2ljb24nXSA9ICR0aGlzLT5EaXNwbGF5SW1hZ2UoIiR1cmwvY2FsZW5kYXJfZWRpdC5wbmciLCR0aGlzLT5MYW5nKCdlZGl0JykpOwogICAgICB9CiAgfQoKLy8KLy8gR2l2ZSBpdCB0byBzbWFydHkKLy8KaWYoIGNvdW50KCRyZXN2bnMpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc2VydmF0aW9ucycsJHJlc3Zucyk7CiAgfQoKLy8KLy8gRGlzcGxheSB0aGUgVGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFNlYXJjaCBGb3JtIFZpZXcgIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gUGFyYW1ldGVyczoKLy8gc2VhcmNodGVtcGxhdGU9YmxhaAovLyBzdW1tYXJ5dGVtcGxhdGU9YmxhaAovLyBkZXRhaWx0ZW1wbGF0ZT1ibGFoCi8vIHN1bW1hcnlwYWdlPWFsaWFzCi8vIGRldGFpbHBhZ2U9YWxpYXMKLy8gc3RhcnRkYXRlCi8vIGVuZGRhdGUKLy8gaW5saW5lCi8vIAoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KJHRoZXRlbXBsYXRlID0gJ2FkdnNlYXJjaGZvcm1fJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQURWU0VBUkNIRk9STV9URU1QTEFURSk7CiRzdW1tYXJ5cGFyYW1zID0gYXJyYXkoKTsKJHN1bW1hcnlwYWdlID0gJHJldHVybmlkOwokaW5saW5lPTA7CiRzdGFydGRhdGUgPSB0aW1lKCk7CiRlbmRkYXRlID0gc3RydG90aW1lKCcrMSBtb250aCcsJHN0YXJ0ZGF0ZSk7CiRzZWFyY2hwYXJtcyA9IGFycmF5KCk7CgovLwovLyBIYW5kbGUgSW5wdXQgUGFyYW1ldGVycwovLwppZiggaXNzZXQoJHBhcmFtc1snc2VhcmNodGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdhZHZzZWFyY2hmb3JtXycudHJpbSgkcGFyYW1zWydzZWFyY2h0ZW1wbGF0ZSddKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSApCiAgewogICAgJGlubGluZSA9IChpbnQpJHBhcmFtc1snaW5saW5lJ107CiAgICB1bnNldCgkcGFyYW1zWydpbmxpbmUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkgKQogIHsKICAgICRpbmxpbmUgPSAwOwogICAgJHN1bW1hcnlwYWdlID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSk7CiAgICB1bnNldCgkcGFyYW1zWydzdW1tYXJ5cGFnZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzdGFydGRhdGUnXSkgKQogIHsKICAgICRzdGFydGRhdGUgPSBzdHJ0b3RpbWUodHJpbSgkcGFyYW1zWydzdGFydGRhdGUnXSkpOwogICAgJGVuZGRhdGUgPSBzdHJ0b3RpbWUoJysxIG1vbnRoJywkc3RhcnRkYXRlKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3N0YXJ0ZGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydlbmRkYXRlJ10pICkKICB7CiAgICAkZW5kZGF0ZSA9IHN0cnRvdGltZSh0cmltKCRwYXJhbXNbJ2VuZGRhdGUnXSkpOwogICAgdW5zZXQoJHBhcmFtc1snZW5kZGF0ZSddKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfc3VibWl0J10pICkKICB7CiAgICAvLwogICAgLy8gU3VibWl0IGhhcyBiZWVuIHByZXNzZWQKICAgIC8vCgogICAgLy8gCiAgICAvLyBHYXRoZXIgZm9ybSBwYXJhbWV0ZXJzCiAgICAvLwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2F2YWlsX3N0YXJ0ZGF0ZV9Nb250aCddKSApCiAgICAgIHsKCSRzdGFydGRhdGUgPSBta3RpbWUoMCwwLDAsCgkJCSAgICAoaW50KSRwYXJhbXNbJ2F2YWlsX3N0YXJ0ZGF0ZV9Nb250aCddLAoJCQkgICAgKGludCkkcGFyYW1zWydhdmFpbF9zdGFydGRhdGVfRGF5J10sCgkJCSAgICAoaW50KSRwYXJhbXNbJ2F2YWlsX3N0YXJ0ZGF0ZV9ZZWFyJ10pOwoJJGVuZGRhdGUgPSBzdHJ0b3RpbWUoJysxIG1vbnRoJywkc3RhcnRkYXRlKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydhdmFpbF9lbmRkYXRlX01vbnRoJ10pICkKICAgICAgewoJJGVuZGRhdGUgPSBta3RpbWUoMCwwLDAsCgkJCSAgICAoaW50KSRwYXJhbXNbJ2F2YWlsX2VuZGRhdGVfTW9udGgnXSwKCQkJICAgIChpbnQpJHBhcmFtc1snYXZhaWxfZW5kZGF0ZV9EYXknXSwKCQkJICAgIChpbnQpJHBhcmFtc1snYXZhaWxfZW5kZGF0ZV9ZZWFyJ10pOwogICAgICB9CiAgICAkc2VhcmNocGFybXNbJ3N0YXJ0ZGF0ZSddID0gJHN0YXJ0ZGF0ZTsKICAgICRzZWFyY2hwYXJtc1snZW5kZGF0ZSddID0gJGVuZGRhdGU7CgogICAgLy8KICAgIC8vIERvIHRoZSBzZWFyY2gKICAgIC8vCiAgICAkcmVzID0gJHRoaXMtPkRvQWR2YW5jZWRTZWFyY2goJHNlYXJjaHBhcm1zKTsKICAgIGlmKCAkcmVzICkKICAgICAgewoJJHBhcmFtc1snYXZhaWxfc3BlY2lmeSddID0gaW1wbG9kZSgnLCcsJHJlcyk7CgoJLy8gZGlzcGxheSB0aGUgb3V0cHV0CgllY2hvICR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdCcsJGlkLCRwYXJhbXMsJHN1bW1hcnlwYWdlKTsKICAgICAgfQogICAgcmV0dXJuOwogIH0KCi8vCi8vIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKLy8KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ3NlYXJjaCcsJHN1bW1hcnlwYWdlLCRwYXJhbXMsJGlubGluZSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0ZGF0ZScsJHN0YXJ0ZGF0ZSk7CiRzbWFydHktPmFzc2lnbignZW5kZGF0ZScsJGVuZGRhdGUpOwoKLy8KLy8gUHJvY2VzcyBUZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sendemail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgoKLy8gCi8vIEluaXRpYWxpemF0aW9uCi8vCmlmKCAhaXNzZXQoJHBhcmFtc1sncmVzdl9pZCddKSApCiAgewogICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInKSk7CiAgICByZXR1cm47CiAgfQokcmVzdl9pZCA9IChpbnQpJHBhcmFtc1sncmVzdl9pZCddOwokZmV1ID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldSApIHJldHVybjsgLy8gY291bGQgbm90IGZpbmQgZmV1CiRjdXN0aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CmlmKCAkY3VzdGlkIDw9IDAgKSAKICB7CiAgICAkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJywtMSk7CiAgICBpZiggJHBhZ2UgIT0gLTEgKQogICAgICB7CgkkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRwYWdlKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBnb3R0YSBkaXNwbGF5IGEgbWVzc2FnZQoJLy8gYW5kIGV4aXQKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvck1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGxvZ2dlZGluX2ZldScpKTsKCXJldHVybjsKICAgICAgfQogIH0KJHRoZXRlbXBsYXRlID0gJ3NlbmRlbWFpbF8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTRU5ERU1BSUxfVEVNUExBVEUpOwokZW1haWx0ZW1wbGF0ZSA9ICdjdXN0ZW1haWxfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQ1VTVEVNQUlMX1RFTVBMQVRFKTsKJHN1YmplY3QgPSAnJzsKJGJvZHkgPSAnJzsKJGNjbXlzZWxmID0gJyc7CiRzdGF0dXMgPSAnJzsKJG1lc3NhZ2UgPSAnJzsKCi8vCi8vIFBhcmFtZXRlcnMKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbmRlbWFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnc2VuZGVtYWlsXycudHJpbSgkcGFyYW1zWydzZW5kZW1haWx0ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydlbWFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkZW1haWx0ZW1wbGF0ZSA9ICdjdXN0ZW1haWxfJy50cmltKCRwYXJhbXNbJ2VtYWlsdGVtcGxhdGUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfYm9keSddKSApCiAgewogICAgJGJvZHkgPSB0cmltKCRwYXJhbXNbJ2F2YWlsX2JvZHknXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfc3ViamVjdCddKSApCiAgewogICAgJHN1YmplY3QgPSB0cmltKCRwYXJhbXNbJ2F2YWlsX3N1YmplY3QnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfY2NteXNlbGYnXSkgKQogIHsKICAgICRjY215c2VsZiA9IChpbnQpJHBhcmFtc1snYXZhaWxfY2NteXNlbGYnXTsKICB9CgovLwovLyBTZXR1cAovLwoKCi8vCi8vIFByb2Nlc3MgZm9ybSBkYXRhCi8vCmlmKCBpc3NldCgkcGFyYW1zWydhdmFpbF9zdWJtaXQnXSkgKQogIHsKICAgIC8vCiAgICAvLyBkYXRhIHZhbGlkYXRpb24KICAgIC8vCiAgICBpZiggZW1wdHkoJHN1YmplY3QpICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtZXRlcicpOwogICAgICB9CiAgICBlbHNlIGlmKCBlbXB0eSgkYm9keSkgKQogICAgICB7Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJyk7CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3Jlc3ZfaWQnLCRyZXN2X2lkKTsKCSRzbWFydHktPmFzc2lnbignc3ViamVjdCcsJHN1YmplY3QpOwoJJHNtYXJ0eS0+YXNzaWduKCdib2R5JywkYm9keSk7CgkkbXNnc3ViamVjdCA9IHNwcmludGYoJHRoaXMtPkxhbmcoJ3N1YmplY3RfZW1haWxfZm9yX3Jlc2VydmF0aW9uJywkcmVzdl9pZCkpOwoJJG1zZ2JvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCRlbWFpbHRlbXBsYXRlKTsKCWlmKCBlbXB0eSgkbXNnYm9keSkgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3JfaW50ZXJuYWxjb25maWcnKSk7CgkgICAgcmV0dXJuOwoJICB9CgkKCS8vIFNlbmQgdGhlIGVtYWlsICh0ZXh0IG9ubHkpCgkkY2N1c2VycyA9ICR0aGlzLT5HZXRBZG1pbkNDTGlzdCgpOwoJJG15ZW1haWwgPSAkZmV1LT5HZXRFbWFpbCgkY3VzdGlkKTsKCWlmKCBlbXB0eSgkbXllbWFpbCkgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnKSk7CgkgICAgcmV0dXJuOwoJICB9CglpZiggZW1wdHkoJGNjdXNlcnMpICkKCSAgewoJICAgIC8vIGlmIHRoZSBjY3VzZXJzIGxpc3QgaXMgZW1wdHksIHRoZXJlJ3Mgbm9ib2R5CgkgICAgLy8gdG8gc2VuZCB0aGUgZW1haWwgdG8uCgkgICAgJHN0YXR1cyA9ICdlcnJvcic7CgkgICAgJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJG1haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwoJICAgICRtYWlsZXItPnJlc2V0KCk7CgkgICAgJG1haWxlci0+SXNIVE1MKHRydWUpOwoJICAgICRtYWlsZXItPlNldFN1YmplY3QoJG1zZ3N1YmplY3QpOwoJICAgICRtYWlsZXItPlNldEJvZHkoJG1zZ2JvZHkpOwoJICAgICRtYWlsZXItPkFkZFJlcGx5VG8oJG15ZW1haWwpOwoJICAgIGlmKCAkY2NteXNlbGYgKQoJICAgICAgewoJCS8vIHNlbmQgdGhlIGN1c3RvbWVyIGEgY29weSBvZiB0aGlzIGVtYWlsCgkJJG1haWxlci0+QWRkQ0MoJG15ZW1haWwpOwoJICAgICAgfQoJICAgIGZvcmVhY2goJGNjdXNlcnMgYXMgJG9uZSkKCSAgICAgIHsKCQkkbWFpbGVyLT5BZGRBZGRyZXNzKCRvbmUpOwoJICAgICAgfQoJICB9CgoJLy8gYWRkIGl0IHRvIHRoZSBkYXRhYmFzZQoJJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9OT1RFUy4iCiAgICAgICAgICAgICAgICAgICAocmVzdl9pZCxzdWJqZWN0LHRleHQsY3JlYXRlX2RhdGUpCiAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sJG5vdykiOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcmVzdl9pZCwkc3ViamVjdCwkYm9keSkpOwoJCgkvLyBkaXNwbGF5IGEgd2FybSBmdXp6eSBtZXNzYWdlCgkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnaW5mb19lbWFpbF9zZW50Jyk7CiAgICAgIH0KICB9CgoKLy8KLy8gU2V0dXAgU21hcnR5Ci8vCmlmKCBlbXB0eSgkc3RhdHVzKSB8fCAkc3RhdHVzICE9ICdzdWNjZXNzJyApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSAgICAkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdzZW5kZW1haWwnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdyZXN2X2lkJywkcmVzdl9pZCk7CiRzbWFydHktPmFzc2lnbignYm9keScsJGJvZHkpOwokc21hcnR5LT5hc3NpZ24oJ3N1YmplY3QnLCRzdWJqZWN0KTsKJHNtYXJ0eS0+YXNzaWduKCdjY215c2VsZicsJGNjbXlzZWxmKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCRzdGF0dXMpOwokc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCRtZXNzYWdlKTsKCi8vCi8vIERpc3BsYXkgdGhlIGZvcm0KLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/Availability.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIFRoaXMgbW9kdWxlIGlzIGRlcml2ZWQgZnJvbSBDR0V4dGVuc2lvbnMgCiRjZ2V4dGVuc2lvbnMgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLCdtb2R1bGVzJywKCQkJICAgICAgJ0NHRXh0ZW5zaW9ucycsJ0NHRXh0ZW5zaW9ucy5tb2R1bGUucGhwJyk7CmlmKCAhaXNfcmVhZGFibGUoICRjZ2V4dGVuc2lvbnMgKSApCnsKICBlY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC48L2ZvbnQ+PC9oMT4nOwogIHJldHVybjsKfQpyZXF1aXJlX29uY2UoJGNnZXh0ZW5zaW9ucyk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvZGVmaW5lcy5waHAnKTsKCmNsYXNzIEF2YWlsYWJpbGl0eSBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgdmFyICRjYWNoZWRfZXZlbnRfdHlwZXM7CiAgdmFyICRjYWNoZWRfcmVzb3VyY2VzOwogIHZhciAkYWRtaW5mdW5jc19sb2FkZWQ7CiAgdmFyICRmZWZ1bmNzX2xvYWRlZDsKICB2YXIgJGNvbW1vbmZ1bmNzX2xvYWRlZDsKICB2YXIgJHNlYXJjaGZ1bmNzX2xvYWRlZDsKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIENvbnN0cnVjdG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgJHRoaXMtPmNhY2hlZF9yZXNvdXJjZXMgPSBOVUxMOwogICAgJHRoaXMtPmNhY2hlZF9ldmVudF90eXBlcyA9IE5VTEw7CiAgICAkdGhpcy0+YWRtaW5mdW5jc19sb2FkZWQgPSBmYWxzZTsKICAgICR0aGlzLT5mZWZ1bmNzX2xvYWRlZCA9IGZhbHNlOwogICAgJHRoaXMtPmNvbW1vbmZ1bmNzX2xvYWRlZCA9IGZhbHNlOwogICAgJHRoaXMtPnNlYXJjaGZ1bmNzX2xvYWRlZCA9IGZhbHNlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFsbG93QXV0b0luc3RhbGwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWxsb3dBdXRvVXBncmFkZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0F2YWlsYWJpbGl0eSc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncmVzZXJ2YXRpb25fbWFuYWdlcicpOwogIH0KCgkKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuNy4xMCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yRW1haWwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICAkdHh0ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvY2hhbmdlbG9nLmluYycpOwogICAgcmV0dXJuICR0eHQ7CiAgfQogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdjb250ZW50JzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZHVsZV9kZXNjcmlwdGlvbicpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFZpc2libGVUb0FkbWluVXNlcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fRVZFTlRTKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU09VUkNFUyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMTgnLAoJCSAnQ0dFY29tbWVyY2VCYXNlJz0+JzEuMCcsCgkJICdDR1NpbXBsZVNtYXJ0eSc9PicxLjQnLAoJCSAnRnJvbnRFbmRVc2Vycyc9PicxLjcuMicsCgkJICdKUXVlcnlUb29scyc9PicxLjAuNCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjYuNSI7CiAgfQoJCgkKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWFkZXJIVE1MKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkKICB7CiAgICAkdHh0ID0gPDw8RU9UCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci5hdmFpbF9jZWxsIGEgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYXZhaWxfY2VsbCBhOmhvdmVyIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KPC9zdHlsZT4KRU9UOwoKICAgICRvYmogPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdKUXVlcnlUb29scycpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSApCiAgICAgIHsKJHRtcGwgPSA8PDxFT1QKe0pRdWVyeVRvb2xzIGFjdGlvbj0naW5janMnIGV4Y2x1ZGU9J2Zvcm0nfQp7SlF1ZXJ5VG9vbHMgYWN0aW9uPSdyZWFkeSd9CkVPVDsKICAgICAgICAkdHh0IC49ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wbCk7CiAgICAgIH0KCiAgICAkZm10ID0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IiVzIj48L3NjcmlwdD4nLiJcbiI7CiAgICAKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkdXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvQXZhaWxhYmlsaXR5L2xpYi9waHBfanMuanMnOwogICAgJHR4dCAuPSBzcHJpbnRmKCRmbXQsJHVybCk7CgogICAgcmV0dXJuICR0eHQ7CiAgfQkKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5BZGRJbWFnZURpcignaWNvbnMnKTsKCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPkdldFJlc291cmNlVHlwZSgpLidcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8cnNyY2lkPlswLTldKykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2RldGFpbCcpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuJ1wvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxyc3JjaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nZGV0YWlsJykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nXC9yZXNlcnZhdGlvblwvKD9QPHJldHVybmlkPlswLTldKykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2FkZHJlc3ZuJykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nXC92aWV3cmVzdm5cLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8cmVzdl9pZD5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidhZGRyZXN2bicpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+R2V0UmVzb3VyY2V0eXBlKCkuJ1wvZGF5XC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPHllYXI+WzAtOV0rKS0oP1A8bW9udGg+WzAtOV0rKS0oP1A8ZGF5PlswLTldKykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2RheXZpZXcnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPkdldFJlc291cmNldHlwZSgpLidcL2RheVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxyc3JjaWQ+WzAtOV0rKVwvKD9QPHllYXI+WzAtOV0rKS0oP1A8bW9udGg+WzAtOV0rKS0oP1A8ZGF5PlswLTldKykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2RheXZpZXcnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPkdldFJlc291cmNldHlwZSgpLidcL3Jlc2VydmVcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8cnNyY2lkPlswLTldKylcLyg/UDx5ZWFyPlswLTldKyktKD9QPG1vbnRoPlswLTldKyktKD9QPGRheT5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidhZGRyZXN2bicpKTsKCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCdkZWZhdWx0JywkdGhpcy0+TGFuZygnaGVscF9hY3Rpb24nKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGF5dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkYXl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfZGF5dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlscGFnZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHBhZ2UnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2RldGFpbHBhZ2UnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlsdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfZGV0YWlsdGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3VtbWFyeXRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9zdW1tYXJ5dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2FsZW5kYXJ0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhbGVuZGFydGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2NhbGVuZGFydGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVzdm50ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Jlc3ZudGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3Jlc3ZudGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZW1haWx0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2VtYWlsdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2VtYWlsdGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY29uZmlybXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY29uZmlybXRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9jb25maXJtdGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbXlyZXN2dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdteXJlc3Z0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfbXlyZXN2dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2VuZGVtYWlsdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZW5kZW1haWx0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfc2VuZGVtYWlsdGVtcGxhdGUnKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsJzEwMDAwMCcsJHRoaXMtPkxhbmcoJ2hlbHBfcGFnZWxpbWl0JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3dhbGwnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzaG93YWxsJywnMCcsJHRoaXMtPkxhbmcoJ2hlbHBfc2hvd2FsbCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0YnknLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3NvcnRieScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0b3JkZXInLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0b3JkZXInLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3NvcnRvcmRlcicpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyc3JjaWQnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdyc3JjaWQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3JzcmNpZCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyZXN2X2lkJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncmVzdl9pZCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcmVzdl9pZCcpKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnknLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfY2F0ZWdvcnknKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVzb3VyY2VzJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncmVzb3VyY2VzJywnJywkdGhpcy0+TGFuZygnaGVscF9yZXNvdXJjZXMnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbW9udGgnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdtb250aCcsJycsJHRoaXMtPkxhbmcoJ2hlbHBfbW9udGgnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgneWVhcicsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3llYXInLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3llYXInKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGF5JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGF5JywnJywkdGhpcy0+TGFuZygnaGVscF9kYXknKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNodGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3NlYXJjaHRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lubGluZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2lubGluZScsMCwkdGhpcy0+TGFuZygnaGVscF9pbmxpbmUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXBhZ2UnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzdW1tYXJ5cGFnZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfc3VtbWFyeXBhZ2UnKSk7Ci8vICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3RhcnRkYXRlJyxDTEVBTl9TVFJJTkcpOwovLyAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3RhcnRkYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9zdGFydGRhdGUnKSk7Ci8vICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZW5kZGF0ZScsQ0xFQU5fU1RSSU5HKTsKLy8gICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2VuZGRhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2VuZGRhdGUnKSk7CgoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbnVtJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2p1bmsnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9hdmFpbF8uKi8nLENMRUFOX05PTkUpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Fza19yZWFsbHlfdW5pbnN0YWxsJyk7CiAgfQkKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhbmRsZXNFdmVudHMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhbmRsZXNFdmVudHMoKQogIHsKICAgIHJldHVybiBUUlVFOwogIH0JCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBMYXp5TG9hZEFkbWluKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkKICAgIHsKICAgICAgaWYoICR0aGlzLT5hZG1pbmZ1bmNzX2xvYWRlZCA9PSBmYWxzZSApCgl7CgkgIHJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9ucy5hZG1pbl90b29scy5waHAnKTsKCSAgJHRoaXMtPmFkbWluZnVuY3NfbG9hZGVkID0gdHJ1ZTsKCX0KICAgIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIExhenlMb2FkRnJvbnRlbmQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKQogICAgewogICAgICBpZiggJHRoaXMtPmZlZnVuY3NfbG9hZGVkID09IGZhbHNlICkKCXsKCSAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb25zLmZyb250ZW5kX3Rvb2xzLnBocCcpOwoJICAkdGhpcy0+ZmVmdW5jc19sb2FkZWQgPSB0cnVlOwoJfQogICAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTGF6eUxvYWRDb21tb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIExhenlMb2FkQ29tbW9uKCkKICAgIHsKICAgICAgaWYoICR0aGlzLT5jb21tb25mdW5jc19sb2FkZWQgPT0gZmFsc2UgKQoJewoJICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbnMuY29tbW9uX3Rvb2xzLnBocCcpOwoJICAkdGhpcy0+Y29tbW9uZnVuY3NfbG9hZGVkID0gdHJ1ZTsKCX0KICAgIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIExhenlMb2FkU2VhcmNoKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBMYXp5TG9hZFNlYXJjaCgpCiAgICB7CiAgICAgIGlmKCAkdGhpcy0+c2VhcmNoZnVuY3NfbG9hZGVkID09IGZhbHNlICkKCXsKCSAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb25zLnNlYXJjaF90b29scy5waHAnKTsKCSAgJHRoaXMtPnNlYXJjaGZ1bmNzX2xvYWRlZCA9IHRydWU7Cgl9CiAgICB9CgoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VHlwZXNEcm9wZG93bigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VHlwZXNEcm9wZG93biggJGlkLCAkbmFtZSwgJHNlbGVjdGVkID0gJycsICRhZGR0ZXh0ID0gJycsICRzZWxlY3RvbmUgPSBmYWxzZSApCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0VHlwZXNEcm9wZG93bigkdGhpcywkaWQsJG5hbWUsJHNlbGVjdGVkLAoJCQkJCSAkYWRkdGV4dCwkc2VsZWN0b25lKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNvdXJjZXR5cGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFJlc291cmNlVHlwZSgkcGx1cmFsID0gZmFsc2UpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0UmVzb3VyY2VUeXBlKCR0aGlzLCRwbHVyYWwpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhbmRsZUltYWdlVXBsb2FkKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYW5kbGVGaWxlVXBsb2FkKCRpZCwkbmFtZSwkcmVjb3JkX2lkLCYkdmFsdWUsJiRyZXN1bHQpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfSGFuZGxlRmlsZVVwbG9hZCgkdGhpcywkaWQsJG5hbWUsJHJlY29yZF9pZCwKCQkJCQkgJHZhbHVlLCRyZXN1bHQpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhbmRsZUltYWdlVXBsb2FkKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYW5kbGVJbWFnZVVwbG9hZCgkaWQsJG5hbWUsJHJlY29yZF9pZCwmJHZhbHVlLCYkcmVzdWx0KQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEFkbWluKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0hhbmRsZUltYWdlVXBsb2FkKCR0aGlzLCRpZCwkbmFtZSwkcmVjb3JkX2lkLAoJCQkJCSAgJHZhbHVlLCRyZXN1bHQpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhbmRsZUZpbGVEZWxldGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhbmRsZUltYWdlRGVsZXRlKCRpZCwkcmVjb3JkX2lkLCR2YWx1ZSkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9IYW5kbGVJbWFnZURlbGV0ZSgkdGhpcywkaWQsJHJlY29yZF9pZCwkdmFsdWUpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhbmRsZUZpbGVEZWxldGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhbmRsZUZpbGVEZWxldGUoJGlkLCRyZWNvcmRfaWQsJHZhbHVlKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEFkbWluKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0hhbmRsZUZpbGVEZWxldGUoJHRoaXMsJGlkLCRyZWNvcmRfaWQsJHZhbHVlKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfbG9hZEV2ZW50VHlwZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9sb2FkRXZlbnRUeXBlcygpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfTG9hZEV2ZW50VHlwZXMoJHRoaXMpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEV2ZW50VHlwZUZyb21JRCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnRUeXBlRnJvbUlEKCRldmVudF9pZCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRFdmVudFR5cGVGcm9tSUQoJHRoaXMsJGV2ZW50X2lkKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRFdmVudFR5cGVEcm9wZG93bkxpc3QoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEV2ZW50VHlwZURyb3Bkb3duTGlzdCgkYW55ID0gZmFsc2UpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0RXZlbnRUeXBlRHJvcGRvd25MaXN0KCR0aGlzLCRhbnkpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhdmVSZXNvdXJjZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhdmVSZXNvdXJjZXMoKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIExJTUlUIDEnOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CiAgICBpZiggJHRtcCApIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhc0V2ZW50VHlwZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhdmVFdmVudFR5cGVzKCkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuJyBMSU1JVCAxJzsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnkpOwogICAgaWYoICR0bXAgKSByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDYW5Db250YWN0Q3VzdG9tZXJzKCk7CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQ2FuQ29udGFjdEN1c3RvbWVycygpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fQ09OVEFDVENVU1RPTUVSKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQ2FuVmlld1Jlc2VydmF0aW9ucygpOwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENhblZpZXdSZXNlcnZhdGlvbnMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQ2FuRWRpdFJlc2VydmF0aW9ucygpOwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENhbkVkaXRSZXNlcnZhdGlvbnMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VXNlckRldGFpbHMoJHVpZCkKICAgKiBHZXQgdGhlIGVtYWlsIGFkZHJlc3MsIGFuZCBmdWxsIG5hbWUKICAgKiBmb3IgdGhlIHVzZXIsIGFuZCBwbGFjZSB0aGVtIGludG8gYW4gYXJyYXkKICAgKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSByZW1vdmVkLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFVzZXJEZXRhaWxzKCR1aWQpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0VXNlckRldGFpbHMoJHRoaXMsJHVpZCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VXNlck9iamVjdCgkY3VzdGlkKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uICZHZXRVc2VyT2JqZWN0KCRjdXN0aWQpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldFVzZXJPYmplY3QoJHRoaXMsJGN1c3RpZCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VXNlckRyb3Bkb3duTGlzdCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VXNlckRyb3Bkb3duTGlzdCgpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0VXNlckRyb3Bkb3duTGlzdCgkdGhpcyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWRqdXN0UHJpY2UoJHByaWNlLCRhZGp1c3RtZW50KQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFkanVzdFByaWNlKCRwcmljZSwkYWRqdXN0bWVudCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfQWRqdXN0UHJpY2UoJHRoaXMsJHByaWNlLCRhZGp1c3RtZW50KTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCRyZXNlcnZhdGlvbiwkcmVzb3VyY2VzLCYkcGFydHMpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQ2FsY3VsYXRlUmVzZXJ2YXRpb25QYXJ0cygmJHJlc2VydmF0aW9uKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9DYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCR0aGlzLCRyZXNlcnZhdGlvbik7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQ2FsY3VsYXRlUmVzZXJ2YXRpb25QcmljZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQ2FsY3VsYXRlUmVzZXJ2YXRpb25QcmljZSgmJHJlc2VydmF0aW9uKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9DYWxjdWxhdGVSZXNlcnZhdGlvblByaWNlKCR0aGlzLCRyZXNlcnZhdGlvbik7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQ2hlY2tSZXNlcnZhdGlvbkNvbmZsaWN0cygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQ2hlY2tSZXNlcnZhdGlvbkNvbmZsaWN0cygkcmVzZXJ2YXRpb24pCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0NoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHRoaXMsJHJlc2VydmF0aW9uKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBBZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbCgkcnNyY19pZCwkc3RhcnRfdGltZSwkZW5kX3RpbWUsJG1lcmlkaWFuKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uICBBZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbDIoJiRyc3JjLCRzdGFydF90aW1lLCRlbmRfdGltZSwkbWVyaWRpYW4gPSAnJykKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfQWRqdXN0UmVzZXJ2YXRpb25QYXJ0SW50ZXJ2YWwyKCR0aGlzLCRyc3JjLCRzdGFydF90aW1lLCRlbmRfdGltZSwkbWVyaWRpYW4pOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCRyc3JjX2lkLCRzdGFydF90aW1lLCRlbmRfdGltZSwkbWVyaWRpYW4pCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gIEFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCRyc3JjX2lkLCRzdGFydF90aW1lLCRlbmRfdGltZSwkbWVyaWRpYW4pCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0FkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCR0aGlzLCRyc3JjX2lkLCRzdGFydF90aW1lLCRlbmRfdGltZSwkbWVyaWRpYW4pOwogIH0KCiAgZnVuY3Rpb24gbWVyZ2VfZGF0ZSgkZXhwX2RhdGUsJG5ld3RpbWUpCiAgewogICAgJHRtcCA9ICRleHBfZGF0ZTsKICAgIGxpc3QoJGgxLCRtMSkgPSBleHBsb2RlKCc6JywkbmV3dGltZSk7CiAgICAkdG1wWydob3VyJ10gPSAkaDE7CiAgICAkdG1wWydtaW51dGVzJ10gPSAkbTE7CiAgICByZXR1cm4gJHRtcDsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdHRyaWJ1dGVzRm9yUnNyYwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF0dHJpYnV0ZXNGb3JSc3JjKCRyc3JjX2lkKQogICAgewogICAgICAkdGhpcy0+TGF6eUxvYWRGcm9udGVuZCgpOwogICAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldEF0dHJpYnV0ZXNGb3JSc3JjKCR0aGlzLCRyc3JjX2lkKTsKICAgIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEZpZWxkc0ZvclJzcmMKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGaWVsZHNGb3JSc3JjKCRyc3JjX2lkKQogICAgewogICAgICAkdGhpcy0+TGF6eUxvYWRGcm9udGVuZCgpOwogICAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldEZpZWxkc0ZvclJzcmMoJHRoaXMsJHJzcmNfaWQpOwogICAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXR0cmlidXRlSURzCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXR0cmlidXRlSURzKCRkYXRhKQogICAgewogICAgICAkdGhpcy0+TGF6eUxvYWRGcm9udGVuZCgpOwogICAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldEF0dHJpYnV0ZUlEcygkdGhpcywkZGF0YSk7CiAgICB9CgoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0UmVzZXJ2YXRpb25VUkwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFJlc2VydmF0aW9uVVJMKCRpZCwkcGFnZWlkLCRyc3JjaWQsJG1vbnRoLCRkYXksJHllYXIsJHRpdGxlPScnLCRwYXJhbXM9YXJyYXkoKSwkbGluayA9IGZhbHNlKQogIHsKICAgICRwcmV0dHl1cmwgPSAkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuc3ByaW50ZigiL3Jlc2VydmUvJWQvJWQvJTA0ZC0lMDJkLSUwMmQiLCRwYWdlaWQsJHJzcmNpZCwkeWVhciwkbW9udGgsJGRheSk7CiAgICAkcGFyYW1zWydyc3JjaWQnXSA9ICRyc3JjaWQ7CiAgICAkcGFyYW1zWydkYXknXSA9ICRkYXk7CiAgICAkcGFyYW1zWydtb250aCddID0gJG1vbnRoOwogICAgJHBhcmFtc1sneWVhciddID0gJHllYXI7CiAgICAkdHh0ID0gJyc7CiAgICBpZiggJGxpbmsgPT09IGZhbHNlIHx8IGVtcHR5KCR0aXRsZSkpCiAgICAgIHsKCSR0eHQgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRkcmVzdm4nLCRwYWdlaWQsJHBhcmFtcyxmYWxzZSwkcHJldHR5dXJsKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdHh0ID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2FkZHJlc3ZuJywkcGFnZWlkLCR0aXRsZSwkcGFyYW1zLCcnLGZhbHNlLGZhbHNlLCcnLGZhbHNlLCRwcmV0dHl1cmwpOwogICAgICB9CiAgICByZXR1cm4gJHR4dDsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREYXlWaWV3VVJMKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREYXlWaWV3VVJMKCRpZCwkcGFnZWlkLCRtb250aCwkZGF5LCR5ZWFyLCR0aXRsZT0nJywkcGFyYW1zPWFycmF5KCksJGxpbmsgPSBmYWxzZSkKICB7CiAgICAkcHJldHR5dXJsID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKICAgICAgewoJJHByZXR0eXVybCA9ICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS5zcHJpbnRmKCIvZGF5LyVkLyVkLyUwNGQtJTAyZC0lMDJkIiwkcGFnZWlkLCRwYXJhbXNbJ3JzcmNpZCddLCR5ZWFyLCRtb250aCwkZGF5KTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkcHJldHR5dXJsID0gJHRoaXMtPkdldFJlc291cmNlVHlwZSgpLnNwcmludGYoIi9kYXkvJWQvJTA0ZC0lMDJkLSUwMmQiLCRwYWdlaWQsJHllYXIsJG1vbnRoLCRkYXkpOwogICAgICB9CiAgICAkcGFyYW1zWydkYXknXSA9ICRkYXk7CiAgICAkcGFyYW1zWydtb250aCddID0gJG1vbnRoOwogICAgJHBhcmFtc1sneWVhciddID0gJHllYXI7CiAgICAkdHh0ID0gJyc7CiAgICBpZiggJGxpbmsgPT09IGZhbHNlIHx8IGVtcHR5KCR0aXRsZSkpCiAgICAgIHsKCSR0eHQgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGF5dmlldycsJHBhZ2VpZCwkcGFyYW1zLGZhbHNlLCRwcmV0dHl1cmwpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR0eHQgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGF5dmlldycsJHBhZ2VpZCwkdGl0bGUsJHBhcmFtcywnJyxmYWxzZSxmYWxzZSwnJyxmYWxzZSwkcHJldHR5dXJsKTsKICAgICAgfQogICAgcmV0dXJuICR0eHQ7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0UmVzb3VyY2VEZXRhaWxVUkwKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRSZXNvdXJjZURldGFpbFVSTCgkaWQsJHBhZ2VpZCwkcnNyY2lkLCR0aXRsZT0nJywkcGFyYW1ldGVycyA9IGFycmF5KCksJGxpbmsgPSBmYWxzZSkKICAgIHsKICAgICAgJHByZXR0eXVybCA9ICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4iLyRwYWdlaWQvJHJzcmNpZCI7CiAgICAgIGlmKCAhZW1wdHkoJHRpdGxlKSApCgl7CgkgICRwcmV0dHl1cmwgLj0gIi8iLm11bmdlX3N0cmluZ190b191cmwoJHRpdGxlKTsKCX0KCiAgICAgICRwYXJhbWV0ZXJzWydyc3JjaWQnXSA9ICRyc3JjaWQ7CiAgICAgICR0eHQgPSAnJzsKICAgICAgaWYoICRsaW5rID09PSBmYWxzZSB8fCBlbXB0eSgkdGl0bGUpKQoJewoJICAkdHh0ID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RldGFpbCcsJHBhZ2VpZCwkcGFyYW1ldGVycyxmYWxzZSwkcHJldHR5dXJsKTsKCX0KICAgICAgZWxzZQoJewoJICAkdHh0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZXRhaWwnLCRwYWdlaWQsJHRpdGxlLCRwYXJhbWV0ZXJzLAoJCQkJICAgJycsZmFsc2UsZmFsc2UsJycsZmFsc2UsJHByZXR0eXVybCk7Cgl9CiAgICAgIHJldHVybiAkdHh0OwogICAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2VuZFJlc2VydmF0aW9uRGV0YWlsc0VtYWlsCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2VuZFJlc2VydmF0aW9uRGV0YWlsc0VtYWlsKCRyZXN2bl9pZCwkdGVtcGxhdGUsJGxvZ2l0LCYkZXJyb3IpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X1NlbmRSZXNlcnZhdGlvbkRldGFpbHNFbWFpbCgkdGhpcywkcmVzdm5faWQsJHRlbXBsYXRlLCRsb2dpdCwkZXJyb3IpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFJlc291cmNlCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0UmVzb3VyY2UoJHJzcmNfaWQpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldFJlc291cmNlKCR0aGlzLCRyc3JjX2lkKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNvdXJjZVN1bW1hcnkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRSZXNvdXJjZVN1bW1hcnkoJiRyc3JjKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRSZXNvdXJjZVN1bW1hcnkoJHRoaXMsJHJzcmMpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIGlzX3RheGFibGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIGlzX3RheGFibGUoJHJlc3ZuX2lkKQogIHsKICAgIC8vIHRvZG86IGFkZCBwcmVmZXJlbmNlcyBoZXJlLgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgaXNfc2hpcHBhYmxlKCRyZXN2bl9pZCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBpc19zaGlwcGFibGUoJHJlc3ZuX2lkKQogIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNlcnZhdGlvbkF0dHJpYnV0ZQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFJlc2VydmF0aW9uQXR0cmlidXRlKCRyZXN2bl9pZCwkYXR0cmliLCRkZmx0ID0gJycpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldFJlc2VydmF0aW9uQXR0cmlidXRlKCR0aGlzLCRyZXN2bl9pZCwkYXR0cmliLCRkZmx0KTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRSZXNlcnZhdGlvbkF0dHJpYnV0ZQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFJlc2VydmF0aW9uQXR0cmlidXRlKCRyZXN2bl9pZCwkYXR0cmliLCR2YWx1ZSkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfU2V0UmVzZXJ2YXRpb25BdHRyaWJ1dGUoJHRoaXMsJHJlc3ZuX2lkLCRhdHRyaWIsJHZhbHVlKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkNDTGlzdCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5DQ0xpc3QoKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRBZG1pbkNDTGlzdCgkdGhpcyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2VhcmNoUmVzdWx0KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJHJldHVybmlkLCAkYXJ0aWNsZWlkLCAkYXR0ciA9ICcnKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEZyb250ZW5kKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X1NlYXJjaFJlc3VsdCgkdGhpcywkcmV0dXJuaWQsICRhcnRpY2xlaWQsICRhdHRyKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZWFyY2hSZUluZGV4KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCYkc2VhcmNobW9kdWxlKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEFkbWluKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X1NlYXJjaFJlaW5kZXgoJHRoaXMsJHNlYXJjaG1vZHVsZSk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRG9BZHZhbmNlZFNlYXJjaCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0TnVtU2xvdHMoJHJlc291cmNlcyA9ICcnLCRzdGFydGRhdGUgPSAnJywkZW5kZGF0ZSA9ICcnKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9DYWxjTnVtU2xvdHMoJHJlc291cmNlcywkc3RhcnRkYXRlLCRlbmRkYXRlKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEb0FkdmFuY2VkU2VhcmNoKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBEb0FkdmFuY2VkU2VhcmNoKCRzZWFyY2hwYXJtcykKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRTZWFyY2goKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfQWR2YW5jZWRTZWFyY2goJHRoaXMsJHNlYXJjaHBhcm1zKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBnZXRfcHJvZHVjdF9pbmZvKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBnZXRfcHJvZHVjdF9pbmZvKCRyZXN2bl9pZCkKICB7CiAgICAvLyB0aGlzIGlzIGp1c3QgdGVtcG9yYXJ5Li4uCiAgICAvLyBmaWxsIHRoaXMgaW4gd2l0aCByZWFsIHJlc2VydmF0aW9uIGluZm8KICAgIC8vIGFuZCBtYXAgaW50byBhIHByb2R1Y3QuCiAgICAkcmVzID0gYXJyYXkoKTsKICAgICRyZXNbJ2lkJ10gPSAkcmVzdm5faWQ7CiAgICAkcmVzWydwcm9kdWN0X25hbWUnXSA9ICdSZXNlcnZhdGlvbic7IAogICAgcmV0dXJuICRyZXM7CiAgfQoKfSAvLyBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT52ZXJzaW9uIDEuMyAtIE1hcmNoIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPkluaXRpYWwgUHVibGljIFJlbGVhc2UuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjQgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5TdXBwb3J0IGZvciByZXNlcnZhdGlvbnMgd2l0aG91dCBhIHByaWNlPC9saT4KICAgICAgPGxpPlN1cHBvcnQgZm9yIG1heGltdW0gY2FwYWNpdHkgaW4gYSByZXNvdXJjZSwgYW5kIGEgcGVyLXVuaXQvZGF5IHN1cmNoYXJnZSBmb3Igb2V2ZXJhZ2VzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS41LjMgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICAgICAgPGxpPkFkZHMgYnVsayBkaXNjb3VudCBwcmljaW5nIG1lY2hhbmlzbihzKTwvbGk+CiAgICAgIDxsaT5BbGxvdyBtdWx0aXBsZSBmaWxlIGF0dGFjaG1lbnRzLjwvbGk+CiAgICAgIDxsaT5BZGRzIGFqYXh5IHZpZXcgdXNlciBzdHVmZiBpbiBlZGl0IHJlc2VydmF0aW9uLjwvbGk+CiAgICAgIDxsaT5BZGQgYWJpbGl0eSB0byBhbGxvdyBubyBwcmljaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43IC0gT2N0b2JlciAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IGZvciByZXNlcnZhdGlvbnMgdG8gaGFuZGxlIG11bHRpcGxlIHJlc291cmNlcy48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBmb3IgcmVzb3VyY2VzIHRvIGJlIGJvb2thYmxlIG9uIHRoZSBob3VyLCBoYWxmIGRheSwgb3IgZGF5LjwvbGk+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IGZvciByZXNvdXJjZXMgdG8gaGF2ZSBzcGVjaWZpZWQgY2hlY2tpbi9jaGVja291dCB0aW1lcy48L2xpPgogICAgICA8bGk+VGhlIGNhbGVuZGFyIHZpZXdzIG5vdyB3b3JrIHByb3Blcmx5PC9saT4KICAgICAgPGxpPlJld29yayB0aGUgcmVzZXJ2YXRpb24gc3R1ZmYgc28gdGhhdCBpdCB1c2VzIGphdmFzY3JpcHQgYW5kIGFqYXggZXh0ZW5zaXZlbHkuPC9saT4KICAgICAgPGxpPkJlZ2luIHRoZSBPT1AgUHJvY2Vzcy48L2xpPgogICAgICA8bGk+Tm93IHJlcXVpcmUgUEhQIDUuMis8L2xpPgogICAgICA8bGk+PHN0cm9uZz4tLSBXQVJOSU5HOiAtLTwvc3Ryb25nPiAgVGhlcmUgaXMgYSBzZXJpb3VzIGJyZWFrIGluIGFsbCBvZiB0aGUgZnJvbnRlbmQgdGVtcGxhdGVzIHJlbGF0aW5nIHRvIHJlc2VydmF0aW9ucy4gIFVzZXJzIG9mIHRoZXNlIG1vZHVsZXMgbWF5IGhhdmUgdG8gcmUtc3R5bGUgdGhlaXIgdGVtcGxhdGVzLjxsaT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjcuMSAtIE9jdG9iZXIgMjAwOQogICAgPHVsPgogICAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43LjIgLSBPY3RvYmVyIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT52ZXJzaW9uIDEuNy4zIC0gRGVjZW1iZXIgMjAwOQogICAgPHVsPgogICAgICA8bGk+TW9yZSBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjcuNCAtIEphbnVhcnksIDIwMTAKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGZlYXR1cmUgZW5oYW5jZW1lbnRzLjwvbGk+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIHNvcnQgYnkgY3VzdG9tIGZpZWxkcyBpbiB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43LjYgLSBKYW51YXJ5LCAyMDEwCiAgICA8dWw+CiAgICAgIDxsaT5TYXZlIHNlbGVjdGVkIGRhdGVzIGluIHRoZSBzZXNzaW9uIGZvciB0aGUgYWRkcmVzZXJ2YXRpb24gc3R1ZmYuLi4gbG9vayBpbiB0aGUgc2Vzc2lvbiBmb3Igc2VsZWN0ZWQgZGF0ZXMgZmlyc3QuPC9saT4KICAgICAgPGxpPkFkZHMgYSBjaGVja2JveCB0byBjb250cm9sIHdldGhlciBhIGN1c3RvbWVyIGdldHMgYW4gZW1haWwgb24gYSByZXNlcnZhdGlvbiBlZGl0IGluIHRoZSBhZG1pbi48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT52ZXJzaW9uIDEuNy43IC0gSmFudWFyeSwgMjAxMAogICAgPHVsPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBzb3J0IHRoZSByZXNvdXJjZXMgaW4gdGhlIGF2YWlsYWJpbGl0eSBjYWxlbmRhciB2aWV3LjwvbGk+CiAgICA8L3VsPgogIDwvbGk+Cgo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/defines.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojIFRhYmxlcwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X2V2ZW50X3R5cGVzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X2V2ZW50cycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9DQVRTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfY2F0cycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9SU1JDUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNfY2F0cycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNfcHJpY2VzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfcnNyY19ldmVudHMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25zJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25fcGFydHMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX2F0dHJpYnMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2F2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9ub3RlcycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2F2YWlsYWJpbGl0eV9maWVsZGRlZnMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfZmllbGR2YWxzJyk7CgojIFBlcm1pc3Npb25zCmRlZmluZSgnQVZBSUxBQklMSVRZX1BFUk1fQ09OVEFDVENVU1RPTUVSJywnRW1haWwgUmVzZXJ2YXRpb24gQ29udGFjdHMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMnLCdNYW5hZ2UgRXZlbnRzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TJywnTWFuYWdlIFJlc2VydmF0aW9ucycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QRVJNX1JFU09VUkNFUycsJ01hbmFnZSBSZXNvdXJjZXMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUEVSTV9WSUVXUkVTVicsJ1ZpZXcgUmVzZXJ2YXRpb25zJyk7CgojIFRlbXBsYXRlcwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV0NVU1RFTUFJTF9URU1QTEFURScsJ25ld2N1c3RlbWFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFRDVVNURU1BSUxfVEVNUExBVEUnLCdkZmx0Y3VzdGVtYWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURScsJ25ld3N1bW1hcnlfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURScsJ2RmbHRzdW1tYXJ5X3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFJywnbmV3ZGV0YWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVERFVEFJTF9URU1QTEFURScsJ2RmbHRkZXRhaWxfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ORVdDQUxFTkRBUl9URU1QTEFURScsJ25ld2NhbGVuZGFyX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVENBTEVOREFSX1RFTVBMQVRFJywnZGZsdGNhbGVuZGFyX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXUkVTVk5fVEVNUExBVEUnLCduZXdyZXN2bl90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTl9URU1QTEFURScsJ2RmbHRyZXN2bl90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTV9URU1QTEFURScsJ25ld3Jlc3ZuY2ZtX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOQ09ORklSTV9URU1QTEFURScsJ2RmbHRyZXN2bmNmbV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFJywnbmV3cmVzdm5jZm1lbWFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURScsJ2RmbHRyZXN2bmNmbWVtYWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXTVlSRVNWX1RFTVBMQVRFJywnbmV3bXlyZXN2X3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVE1ZUkVTVl9URU1QTEFURScsJ2RmbHRteXJlc3ZfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUnLCduZXdzZW5kZW1haWxfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU0VOREVNQUlMX1RFTVBMQVRFJywnZGZsdHNlbmRlbWFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV0FEVlNFQVJDSEZPUk1fVEVNUExBVEUnLCduZXdhZHZzZWFyY2hmb3JtX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVEFEVlNFQVJDSEZPUk1fVEVNUExBVEUnLCdkZmx0YWR2c2VhcmNoZm9ybV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV0RBWV9URU1QTEFURScsJ25ld2RheV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFREQVlfVEVNUExBVEUnLCdkZmx0ZGF5X3RlbXBsYXRlJyk7CgojIFN0YXR1c2VzCmRlZmluZSgnQVZBSUxBQklMSVRZX1NUQVRVU19JTkNBUlQnLCdpbl9jYXJ0Jyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1NUQVRVU19QRU5ESU5HJywncGVuZGluZycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9TVEFUVVNfQ0FOQ0VMTEVEJywnY2FuY2VsbGVkJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRUQnLCdjb25maXJtZWQnKTsKCiMgRGlzY291bnQgVHlwZXMKZGVmaW5lKCdBVkFJTEFCSUxJVFlfRElTQ09VTlRfTk9ORScsMCk7CmRlZmluZSgnQVZBSUxBQklMSVRZX0RJU0NPVU5UX0ZSRUVCTE9DSycsMSk7CmRlZmluZSgnQVZBSUxBQklMSVRZX0RJU0NPVU5UX0FMTEFESlVTVCcsMik7CmRlZmluZSgnQVZBSUxBQklMSVRZX0RJU0NPVU5UX0FESlVTVERBWVMnLDMpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/event.CGEcommerceBase.CartAdjusted.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggIWlzc2V0KCRwYXJhbXNbJ3N0YXR1cyddKSApIHJldHVybjsKZGVidWdfdG9fbG9nKCctLS0tLS0tIGluIGNhcnQgYWRqdXN0ZWQgLS0tLS0tLS0tJyk7Cgpzd2l0Y2goICRwYXJhbXNbJ3N0YXR1cyddICkKICB7CiAgY2FzZSAnYmVmb3JlJzoKICAgICRzZXNzID0gbmV3IGNnZV9zZXNzaW9uKCR0aGlzLT5HZXROYW1lKCkpOwogICAgaWYoIGNvdW50KCRwYXJhbXNbJ2NhcnRfaXRlbXMnXSkgPiAxICkKICAgICAgewoJLy8gdGhlcmUncyBtb3JlIHRoYW4gb25lIGRlc3RpbmF0aW9uPwoJcmV0dXJuOwogICAgICB9CiAgICAkdG1wID0gc2VyaWFsaXplKCRwYXJhbXNbJ2NhcnRfaXRlbXMnXSk7CiAgICAkc2Vzcy0+cHV0KCdjYXJ0X2JlZm9yZScsJHRtcCk7CiAgICBicmVhazsKCiAgY2FzZSAnYWZ0ZXInOgogICAgJHNlc3MgPSBuZXcgY2dlX3Nlc3Npb24oJHRoaXMtPkdldE5hbWUoKSk7CiAgICAkYmVmb3JlID0gJHNlc3MtPmdldCgnY2FydF9iZWZvcmUnKTsKICAgICRzZXNzLT5jbGVhcignY2FydF9iZWZvcmUnKTsKICAgIGlmKCBlbXB0eSgkYmVmb3JlKSApIHJldHVybjsKICAgICRiZWZvcmUgPSB1bnNlcmlhbGl6ZSgkYmVmb3JlKTsKICAgICRhZnRlciA9ICRwYXJhbXNbJ2NhcnRfaXRlbXMnXTsKCiAgICAvLyBub3cgd2UgZ290dGEgZmlndXJlIG91dCB3aGF0IGNoYW5nZWQKICAgICR0bXAgPSBhcnJheV9rZXlzKCRiZWZvcmUpOwogICAgJGNhcnRuYW1lID0gJHRtcFswXTsKICAgICRpdGVtcyA9JiAkYmVmb3JlWyRjYXJ0bmFtZV1bJ2l0ZW1zJ107CiAgICAkYmVmb3JlX3NlciA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkaXRlbXMpOyAkaSsrICkKICAgICAgewoJJGJlZm9yZV9zZXJbXSA9IHNlcmlhbGl6ZSgkaXRlbXNbJGldKTsKICAgICAgfQoKICAgICR0bXAgPSBhcnJheV9rZXlzKCRhZnRlcik7CiAgICAkY2FydG5hbWUgPSAkdG1wWzFdOwogICAgJGl0ZW1zID0mICRhZnRlclskY2FydG5hbWVdOwogICAgJGFmdGVyX3NlciA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkaXRlbXMpOyAkaSsrICkKICAgICAgewoJJGFmdGVyX3NlcltdID0gc2VyaWFsaXplKCRpdGVtc1skaV0pOwogICAgICB9CgogICAgJGRlbGV0ZWRfc2VyID0gYXJyYXlfZGlmZigkYmVmb3JlX3NlciwkYWZ0ZXJfc2VyKTsKCiAgICAvLyBub3cgZGVzZXJpYWxpemUgZXZlcnl0aGluZwogICAgLy8gYW5kIGNhdGNoIHRoZSBvbmVzIHRoYXQgb3JpZ2luYXRlZCBmcm9tIHRoaXMgbW9kdWxlCiAgICAkZGVsZXRlZCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGVsZXRlZF9zZXIpOyAkaSsrICkKICAgICAgewoJJHRtcCA9IHVuc2VyaWFsaXplKCRkZWxldGVkX3NlclskaV0pOwoJaWYoICEoJHRtcCBpbnN0YW5jZW9mIGNnX2Vjb21tX2NhcnRpdGVtKSApIGNvbnRpbnVlOwoJaWYoICR0bXAtPmdldF9zb3VyY2UoKSAhPSAkdGhpcy0+R2V0TmFtZSgpICkgY29udGludWU7CgkkZGVsZXRlZFtdID0gJHRtcDsKICAgICAgfQoKICAgIGlmKCBjb3VudCgkZGVsZXRlZCkgKQogICAgICB7CgkvLyB3ZSBoYXZlIGEgbGlzdCBvZiBkZWxldGVkIGF2YWlsYWJpbGl0eSBpdGVtcy4KCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkZWxldGVkKTsgJGkrKyApCgkgIHsKCSAgICAkcmVzdl9pZCA9ICRkZWxldGVkWyRpXS0+Z2V0X3Byb2R1Y3RfaWQoKTsKCSAgICByZXNlcnZhdGlvbl9vcHM6OmRlbGV0ZV9ieV9pZCgkcmVzdl9pZCxBVkFJTEFCSUxJVFlfU1RBVFVTX0lOQ0FSVCk7CgkgIH0KICAgICAgfQogICAgYnJlYWs7CiAgfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/event.CGEcommerceBase.OrderCreated.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpkZWJ1Z190b19sb2coJy0tLS0tLS0gaW4gb3JkZXIgY3JlYXRlZCAtLS0tLS0tLS0nKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/event.CGEcommerceBase.OrderDeleted.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/event.CGEcommerceBase.OrderUpdated.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggIWlzc2V0KCRwYXJhbXNbJ29yZGVyX2lkJ10pICkgcmV0dXJuOwoKLy8gZ2V0IHRoZSBvcmRlci4KJG9yZGVyID0gY2dfZWNvbW1fb3JkZXI6OmdldF9vcmRlcl9jb250ZW50cygkcGFyYW1zWydvcmRlcl9pZCddKTsKaWYoICFpc19hcnJheSgkb3JkZXIpICkgcmV0dXJuOwokc3RhdHVzID0gJG9yZGVyWydzdGF0dXMnXTsKCi8vIHNlZSBpZiB0aGVyZSBhcmUgYW55IHJlc2VydmF0aW9ucyBpbiB0aGlzIG9yZGVyLgokcmVzZXJ2YXRpb25zID0gYXJyYXkoKTsKaWYoIGlzX2FycmF5KCRvcmRlcikgJiYgaXNzZXQoJG9yZGVyWydzaGlwcGluZyddKSApCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG9yZGVyWydzaGlwcGluZyddKTsgJGkrKyApCiAgICAgIHsKCSRkZXN0ID0mICRvcmRlclsnc2hpcHBpbmcnXVskaV07CglpZiggaXNzZXQoJGRlc3RbJ2l0ZW1zJ10pICkKCSAgewoJICAgIGZvciggJGogPSAwOyAkaiA8IGNvdW50KCRkZXN0WydpdGVtcyddKTsgJGorKyApCgkgICAgICB7CgkJJGl0ZW0gPSYgJGRlc3RbJ2l0ZW1zJ11bJGpdOwoKCQlpZiggJGl0ZW1bJ3NvdXJjZSddID09ICR0aGlzLT5HZXROYW1lKCkgKQoJCSAgewoJCSAgICAkcmVzZXJ2YXRpb25zW10gPSAkaXRlbTsKCQkgIH0KCSAgICAgIH0KCSAgfQogICAgICB9CiAgfQppZiggIWNvdW50KCRyZXNlcnZhdGlvbnMpICkKICB7CiAgICByZXR1cm47CiAgfQoKLy8gd2UgaGF2ZSByZXNlcnZhdGlvbnMuLi4KZGVidWdfdG9fbG9nKCdvcmRlciBzdGF0dXMgaXMgJy4kc3RhdHVzKTsKZGVidWdfdG9fbG9nKCRyZXNlcnZhdGlvbnMpOwokZW1haWx0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURSk7CnN3aXRjaCggJHN0YXR1cyApCiAgewogIGNhc2UgJ2NhbmNlbGxlZCc6CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcmVzZXJ2YXRpb25zKTsgJGkrKyApCiAgICAgIHsKCSRvYmogPSByZXNlcnZhdGlvbl9vcHM6OmxvYWRfYnlfaWQoJHJlc2VydmF0aW9uWyRpXVsnaXRlbV9pZCddKTsKCWlmKCBpc19vYmplY3QoJG9iaikgKQoJICB7CgkgICAgJG9iai0+c2V0X3N0YXR1cyhBVkFJTEFCSUxJVFlfU1RBVFVTX0NBTkNFTExFRCk7CgkgICAgJG9iai0+c2F2ZSgpOwoJICAgIGRlYnVnX3RvX2xvZygncmVzZXJ2YXRpb24gc3RhdHVzIHNldCB0byBjYW5jZWxsZWQnKTsKCSAgfQoKCSR0bXAgPSAnJzsKCSRyZXMgPSAkdGhpcy0+U2VuZFJlc2VydmF0aW9uRGV0YWlsc0VtYWlsKCRyZXNlcnZhdGlvblskaV1bJ2l0ZW1faWQnXSwkZW1haWx0ZW1wbGF0ZSwxLCR0bXApOwogICAgICB9CiAgICBicmVhazsKCiAgY2FzZSAnaW5jb21wbGV0ZSc6CiAgY2FzZSAnY29tcGxldGVkJzoKICBjYXNlICdpbnZvaWNlZCc6CiAgY2FzZSAnaG9sZCc6ICAgIAogIGNhc2UgJ3BhaWQnOgogIGNhc2UgJ2JhbGFuY2VkdWUnOgogIGNhc2UgJ2NvbmZpcm1lZCc6CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcmVzZXJ2YXRpb25zKTsgJGkrKyApCiAgICAgIHsKCSRvYmogPSByZXNlcnZhdGlvbl9vcHM6OmxvYWRfYnlfaWQoJHJlc2VydmF0aW9uc1skaV1bJ2l0ZW1faWQnXSk7CglpZiggaXNfb2JqZWN0KCRvYmopICkKCSAgewoJICAgICRvYmotPnNldF9zdGF0dXMoQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRUQpOwoJICAgICRvYmotPnNhdmUoKTsKCSAgICBkZWJ1Z190b19sb2coJ3Jlc2VydmF0aW9uIHN0YXR1cyBzZXQgdG8gY29uZmlybWVkJyk7CgkgIH0KCgkkdG1wID0gJyc7CgkkcmVzID0gJHRoaXMtPlNlbmRSZXNlcnZhdGlvbkRldGFpbHNFbWFpbCgkcmVzZXJ2YXRpb25bJGldWydpdGVtX2lkJ10sJGVtYWlsdGVtcGxhdGUsMSwkdG1wKTsKICAgICAgfQogICAgYnJlYWs7CiAgfQoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_advanced_search_form_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ2FkdnNlYXJjaGZvcm1fJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdBRFZTRUFSQ0hGT1JNX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX0RGTFRBRFZTRUFSQ0hGT1JNX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_calendar_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBmdW5jdGlvbnMKLy8KZnVuY3Rpb24gaXNfbGVhcHllYXIoJHllYXIpCnsKICAkZiA9IDA7CiAgaWYoICR5ZWFyICUgNCA9PSAwICkgJGYgPSAxOwogIGlmKCAkeWVhciAlIDEwMCA9PSAwICkgJGYgPT0gMDsKICBpZiggJHllYXIgJSA0MDAgPT0gMCApICRmID0gMTsKICByZXR1cm4gJGY7Cn0KCmZ1bmN0aW9uIGdldF9hcnJheV9wb3MoJGhheXN0YWNrLCRuZWVkbGUpCnsKICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkaGF5c3RhY2spOyAkaSsrICkKICAgIHsKICAgICAgaWYoICRoYXlzdGFja1skaV0gPT0gJG5lZWRsZSApIHJldHVybiAkaTsKICAgIH0KICByZXR1cm4gRkFMU0U7Cn0KCi8vCi8vIENoZWNrIFBlcm1pc3Npb25zCi8vCgovLwovLyBJbml0aWFsaXplCi8vCiRzZWxfZXR5cGVzID0gYXJyYXkoKTsKJHNlbF9yZXNvdXJjZXMgPSBhcnJheSgpOwokc2VsX2NhdGVnb3JpZXMgPSBhcnJheSgpOwokZGF5c19pbl9tb250aCA9IGFycmF5KDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEpOwokdGhpc19kYXkgPSAoaW50KShzdHJmdGltZSgiJWQiLHRpbWUoKSkpOwokdGhpc19tb250aCA9IChpbnQpKHN0cmZ0aW1lKCIlbSIsdGltZSgpKSk7CiR0aGlzX3llYXIgPSBpbnR2YWwoc3RyZnRpbWUoIiVZIix0aW1lKCkpKTsKJHRoZV9tb250aCA9ICR0aGlzX21vbnRoOwokdGhlX2RheSA9ICR0aGlzX2RheTsKJHRoZV95ZWFyID0gJHRoaXNfeWVhcjsKJHZhY2FudG9iaiA9IG5ldyBTdGRDbGFzcygpOwokdmFjYW50b2JqLT5zdGF0dXMgPSAndmFjYW50JzsKJHZhY2FudG9iai0+ZmcgPSAnIzAwMCc7IC8vIHRvZG8KJHZhY2FudG9iai0+YmcgPSAjZmZmJzsgLy8gdG9kbwokdmFjYW50b2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCd2YWNhbnQnKTsKJHBlbmRpbmdvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJHBlbmRpbmdvYmotPnN0YXR1cyA9ICdwZW5kaW5nJzsKJHBlbmRpbmdvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BlbmRpbmdfZm9yZWdyb3VuZCcpOwokcGVuZGluZ29iai0+YmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGVuZGluZ19iYWNrZ3JvdW5kJyk7CiRwZW5kaW5nb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdwZW5kaW5nJyk7CgokcmVzZXJ2ZWRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJHJlc2VydmVkb2JqLT5zdGF0dXMgPSAncmVzZXJ2ZWQnOwokcmVzZXJ2ZWRvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2ZvcmVncm91bmQnKTsKJHJlc2VydmVkb2JqLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9iYWNrZ3JvdW5kJyk7CiRyZXNlcnZlZG9iai0+bGFiZWwgPSAkdGhpcy0+TGFuZygncmVzZXJ2ZWQnKTsKCiRwYXJ0aWFsb2JqID0gbmV3IFN0ZENsYXNzKCk7CiRwYXJ0aWFsb2JqLT5zdGF0dXMgPSAncGFydGlhbCc7CiRwYXJ0aWFsb2JqLT5mZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXJ0aWFsX2ZvcmVncm91bmQnKTsKJHBhcnRpYWxvYmotPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhcnRpYWxfYmFja2dyb3VuZCcpOwokcGFydGlhbG9iai0+bGFiZWwgPSAkdGhpcy0+TGFuZygncGFydGlhbGx5X3Jlc2VydmVkJyk7CgokY29uZmxpY3RvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJGNvbmZsaWN0b2JqLT5zdGF0dXMgPSAnY29uZmxpY3QnOwokY29uZmxpY3RvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKJGNvbmZsaWN0b2JqLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb25mbGljdF9iYWNrZ3JvdW5kJyk7Cgokc3RhdGlzdGljcyA9IGFycmF5KCk7CiRzdGF0aXN0aWNzWyd2YWNhbnQnXSA9IDA7CiRzdGF0aXN0aWNzWyd0b3RhbCddID0gMDsKJHN0YXRpc3RpY3NbJ2Nsb3NlZCddID0gMDsKJHN0YXRpc3RpY3NbJ3Jlc2VydmVkJ10gPSAwOwokc3RhdGlzdGljc1sncGVuZGluZyddID0gMDsKJHN0YXRpc3RpY3NbJ2V2ZW50J10gPSAwOwokc3RhdGlzdGljc1snY29uZmxpY3QnXSA9IDA7CiRzdGF0aXN0aWNzWydwYXJ0aWFsJ10gPSAwOwokc3RhdGlzdGljc1snbnVtcGFydHMnXSA9IDA7CiRzdGF0aXN0aWNzWydpbl9jYXJ0J10gPSAwOwoKJGxlZ2VuZCA9IGFycmF5KCk7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3ZhY2FudCcpXSA9ICR2YWNhbnRvYmo7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3Jlc2VydmVkJyldID0gJHJlc2VydmVkb2JqOwokbGVnZW5kWyR0aGlzLT5MYW5nKCdwZW5kaW5nJyldID0gJHBlbmRpbmdvYmo7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3BhcnRpYWxseV9yZXNlcnZlZCcpXSA9ICRwYXJ0aWFsb2JqOwokbGVnZW5kWyR0aGlzLT5MYW5nKCdjb25mbGljdCcpXSA9ICRjb25mbGljdG9iajsKCi8vCi8vIEhhbmRsZSBmaWx0ZXIgZm9ybSBzdWJtaXNzaW9uCi8vCmlmKCBpc3NldCgkcGFyYW1zWydjYWxfeWVhciddKSApCnsKICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ2NhbF95ZWFyJ107Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbF9tb250aCddKSApCnsKICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydjYWxfbW9udGgnXTsKICBpZiggJHRoZV9tb250aCA8PSAwICkKICAgIHsKICAgICAgJHRoZV9tb250aCA9IDEyOwogICAgICAkdGhlX3llYXItLTsKICAgIH0KICBlbHNlIGlmKCAkdGhlX21vbnRoID4gMTIgKQogICAgewogICAgICAkdGhlX21vbnRoID0gMTsKICAgICAgJHRoZV95ZWFyKys7CiAgICB9Cn0KCmlmKCBpc3NldCgkcGFyYW1zWydjYWxlbmRhcl9maWx0ZXInXSkgKQp7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbGVuZGFyX2RhdGVZZWFyJ10pICkKICAgIHsKICAgICAgJHRoZV95ZWFyID0gKGludCkkcGFyYW1zWydjYWxlbmRhcl9kYXRlWWVhciddOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydjYWxlbmRhcl9kYXRlTW9udGgnXSkgKQogICAgewogICAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydjYWxlbmRhcl9kYXRlTW9udGgnXTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snZmlsdGVyX3JzcmNzJ10pICkKICAgIHsKICAgICAgJHNlbF9yZXNvdXJjZXMgPSAkcGFyYW1zWydmaWx0ZXJfcnNyY3MnXTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snZmlsdGVyX2NhdHMnXSkgKQogICAgewogICAgICAkc2VsX2NhdGVnb3JpZXMgPSAkcGFyYW1zWydmaWx0ZXJfY2F0cyddOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydmaWx0ZXJfZXR5cGVzJ10pICkKICAgIHsKICAgICAgJHNlbF9ldHlwZXMgPSAkcGFyYW1zWydmaWx0ZXJfZXR5cGVzJ107CiAgICB9Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snY2FsZW5kYXJfcmVzZXQnXSkgKQp7CiAgJHNlbF9yZXNvdXJjZXMgPSBhcnJheSgpOwogICRzZWxfY2F0ZWdvcmllcyA9IGFycmF5KCk7CiAgJHNlbF9ldHlwZXMgPSBhcnJheSgpOwogICR0aGVfbW9udGggPSAkdGhpc19tb250aDsKICAkdGhlX3llYXIgPSAkdGhpc195ZWFyOwp9CmlmKCBpc19sZWFweWVhcigkdGhlX3llYXIpICkKewogICRkYXlzX2luX21vbnRoWzFdID0gMjk7Cn0KJGRpc3BkYXRlID0gbWt0aW1lKDAsMCwwLCR0aGVfbW9udGgsMSwkdGhlX3llYXIpOwokbW9udGhfc3RhcnRfdSA9IG1rdGltZSgwLDAsMCwkdGhlX21vbnRoLDEsJHRoZV95ZWFyKTsKJG1vbnRoX2VuZF91ID0gbWt0aW1lKDIzLDU5LDAsJHRoZV9tb250aCwkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdLCR0aGVfeWVhcik7CiRtb250aF9zdGFydF9kYXkgPSAkZGItPkRiVGltZVN0YW1wKCRtb250aF9zdGFydF91KTsKJG1vbnRoX2VuZF9kYXkgPSAkZGItPkRiVGltZVN0YW1wKCRtb250aF9lbmRfdSk7CgoKLy8KLy8gQnVpbGQgYSBncmlkIGZyb20gc2VsZWN0ZWQgZGF0YQovLyBHcmlkIGlzIHJlc291cmNlcyBhY3Jvc3MgdGhlIHRvcAovLyBEYXlzIGFsb25nIHRoZSBib3R0b20uCi8vIFRoZSAwIHZhbHVlcyBpcyB0aGUgY29sdW1uIGFuZCByb3cgaGVhZGVyCi8vIAovLwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGFjdGl2ZSA9IDEnOwppZiggY291bnQoJHNlbF9jYXRlZ29yaWVzKSApCnsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIEEKICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicgQgogICAgICAgICAgICAgICAgT04gQS5pZCA9IEIucnNyY19pZAogICAgICAgICAgICAgV0hFUkUgYWN0aXZlID0gMQogICAgICAgICAgICAgICBBTkQgQi5jYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkc2VsX2NhdGVnb3JpZXMpLicpJzsKfQplbHNlIGlmKCBjb3VudCgkc2VsX3Jlc291cmNlcykgKQp7CiAgJHF1ZXJ5IC49ICcgQU5EIGlkIElOICgnLmltcGxvZGUoJywnLCRzZWxfcmVzb3VyY2VzKS4nKSc7Cn0KJHF1ZXJ5IC49ICcgT1JERVIgQlkgc29ydGluZyBBU0MnOwokcnNyY3MgPSAnJzsKJHJzcmNzX2luZGV4ID0gJyc7CnsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogIC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHNsb3RzIGZvciBlYWNoIHJlc291cmNlCiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQogICAgewogICAgICAkdG1wMiA9JiAkdG1wWyRpXTsKICAgICAgc3dpdGNoKCR0bXAyWydyZXNfaW50ZXJ2YWwnXSkKCXsKCWNhc2UgJ2RhaWx5JzoKCSAgJHRtcDJbJ2V4dF9udW1zbG90cyddID0gMTsKCSAgYnJlYWs7CgljYXNlICdoYWxmX2RheSc6CgkgICR0bXAyWydleHRfbnVtc2xvdHMnXSA9IDI7CgkgIGJyZWFrOwoJY2FzZSAnaG91cmx5JzoKCSAgJG5zbG90cyA9IChpbnQpKChzdHJ0b3RpbWUoJHRtcDJbJ2VuZHRpbWUxJ10pIC0gc3RydG90aW1lKCR0bXAyWydzdGFydHRpbWUxJ10pKSAvIDM2MDApOwoJICAkbnNsb3RzICs9IChpbnQpKChzdHJ0b3RpbWUoJHRtcDJbJ2VuZHRpbWUyJ10pIC0gc3RydG90aW1lKCR0bXAyWydzdGFydHRpbWUyJ10pKSAvIDM2MDApOwoJICAkdG1wMlsnZXh0X251bXNsb3RzJ10gPSAkbnNsb3RzOwoJICBicmVhazsKCX0KICAgIH0KICAkcnNyY3MgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAkcnNyY3NfaW5kZXggPSBhcnJheV9rZXlzKCRyc3Jjcyk7Cn0KCgokZ3JpZCA9IGFycmF5X2ZpbGwoMCwkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdLGFycmF5X2ZpbGwoMCxjb3VudCgkcnNyY3MpKzEsJyZuYnNwOycpKTsKCi8vCi8vIGZpbGwgdGhlIGdyaWQgbGFiZWxzCi8vIHRvcCByb3cKJGdyaWRbMF1bMF0gPSAkZGlzcGRhdGU7CmZvciggJHIgPSAwOyAkciA8IGNvdW50KCRyc3Jjc19pbmRleCk7ICRyKysgKQp7CiAgJHJpZCA9ICRyc3Jjc19pbmRleFskcl07CiAgaWYoJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkKICAgIHsKICAgICAgJGdyaWRbMF1bJHIrMV0gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FkbWluX2VkaXRfcnNyYycsJycsJHJzcmNzWyRyaWRdWyduYW1lJ10sCgkJCQkJIGFycmF5KCdyc3JjaWQnPT4kcnNyY3NbJHJpZF1bJ2lkJ10pKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICRncmlkWzBdWyRyKzFdID0gJHJzcmNzWyRyaWRdWyduYW1lJ107CiAgICB9Cn0KLy8gY29sdW1ucwpmb3IoICRkID0gMTsgJGQgPD0gJGRheXNfaW5fbW9udGhbJHRoZV9tb250aC0xXTsgJGQrKyApCnsKICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9WSUVXUkVTVikgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpKQogICAgewogICAgICAkZ3JpZFskZF1bMF0gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FkbWluX3ZpZXdfZGF5JywnJywkZCwKCQkJCSAgICAgICBhcnJheSgnZGF5Jz0+JGQsJ21vbnRoJz0+JHRoZV9tb250aCwneWVhcic9PiR0aGVfeWVhcikpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJGdyaWRbJGRdWzBdID0gJGQ7CiAgICB9Cn0KCi8vCi8vIEZpbGwgdGhlIGdyaWQgdmFsdWVzIHdpdGggdmFjYW5jaWVzCi8vCmZvciggJHIgPSAwOyAkciA8IGNvdW50KCRyc3Jjcyk7ICRyKysgKQp7CiAgZm9yKCAkZCA9IDE7ICRkIDw9ICRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV07ICRkKysgKQogIHsKICAgICRncmlkWyRkXVskcisxXSA9ICR2YWNhbnRvYmo7CiAgfQp9CgovLwovLyBGaWxsIHRoZSBhcHByaWF0ZSBncmlkIHZhbHVlcyB3aXRoIGV2ZW50IGluZm9ybWF0aW9uCi8vCiRldmVudHR5cGVzID0gYXJyYXkoKTsKewogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgJGV2ZW50dHlwZXMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKfQoKJGV2ZW50cyA9ICcnOwp7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBBLiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuIiBBCiAgICAgICAgICAgICBMRUZUIEpPSU4gIi5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuIiBCCiAgICAgICAgICAgICBPTiBBLmV2ZW50X3R5cGVfaWQgPSBCLmlkCiAgICAgICAgICAgICBXSEVSRSAgICAoQS5zdGFydF9kYXRlIEJFVFdFRU4gJG1vbnRoX3N0YXJ0X2RheSBBTkQgJG1vbnRoX2VuZF9kYXkpCiAgICAgICAgICAgICAgICAgICBPUiAoQS5lbmRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KQogICAgICAgICAgICAgICAgICAgT1IgKEEuc3RhcnRfZGF0ZSA8PSAkbW9udGhfc3RhcnRfZGF5IEFORCBBLmVuZF9kYXRlID49ICRtb250aF9lbmRfZGF5KSI7CiAgaWYoIGNvdW50KCRzZWxfZXR5cGVzKSApCiAgICB7CiAgICAgICRxdWVyeSAuPSAnIEFORCBBLmV2ZW50X3R5cGVfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHNlbF9ldHlwZXMpLicpJzsKICAgIH0KICAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmJvb2thYmxlIERFU0MsIEIuaW9yZGVyIEFTQyI7CiAgJGV2ZW50cyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nCiAgICAgV0hFUkUgZXZlbnRfaWQgPSA/JzsKICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZXZlbnRzKTsgJGkrKyApCiAgICB7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkZXZlbnRzWyRpXVsnaWQnXSkpOwogICAgICBpZiggJHRtcCApCgl7CgkgICRldmVudHNbJGldWydyc3JjcyddID0gJHRtcDsKCX0KICAgIH0KfQoKaWYoIGlzX2FycmF5KCRldmVudHMpICYmIGNvdW50KCRldmVudHMpICkKewogIGZvcmVhY2goICRldmVudHMgYXMgJG9uZSApCiAgICB7CiAgICAgICRyZXN2X3N0YXJ0X3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZVsnc3RhcnRfZGF0ZSddKTsKICAgICAgJHJlc3ZfZW5kX3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZVsnZW5kX2RhdGUnXSk7CiAgICAgICRyc3RhcnRfdSA9IG1heCgkcmVzdl9zdGFydF91LCRtb250aF9zdGFydF91KTsKICAgICAgJHJlbmRfdSA9IG1pbigkcmVzdl9lbmRfdSwkbW9udGhfZW5kX3UpOwoKICAgICAgJHNkYXkgPSBpbnR2YWwoc3RyZnRpbWUoIiVkIiwkcnN0YXJ0X3UpKTsKICAgICAgJGVkYXkgPSBpbnR2YWwoc3RyZnRpbWUoIiVkIiwkcmVuZF91KSk7CgogICAgICAkZXR5cGUgPSYgJGV2ZW50dHlwZXNbJG9uZVsnZXZlbnRfdHlwZV9pZCddXTsKICAgICAgCiAgICAgICRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKICAgICAgJG9iai0+ZmcgPSAkZXR5cGVbJ2NvbG9yJ107CiAgICAgICRvYmotPmJnID0gJGV0eXBlWydiYWNrZ3JvdW5kJ107CiAgICAgIGlmKCAkb25lWydib29rYWJsZSddICkKCXsKCSAgJG9iai0+c3RhdHVzID0gJ2V2ZW50JzsKCX0KICAgICAgZWxzZQoJewoJICAkb2JqLT5zdGF0dXMgPSAnY2xvc2VkJzsKCX0KICAgICAgJGxlZ2VuZFskb25lWyduYW1lJ11dID0gJG9iajsKICAgICAgJG9iai0+bGFiZWwgPSAkb25lWyduYW1lJ107CiAgICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQoJewoJICAkb2JqLT51cmwgICA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZG1pbl9lZGl0X2V2ZW50JywnJywKCQkJCQkgYXJyYXkoJ2V2ZW50aWQnPT4kb25lWydpZCddKSk7Cgl9CiAgICAgIGlmKCBpc3NldCgkb25lWydyc3JjcyddKSAmJiBjb3VudCgkb25lWydyc3JjcyddKSApCgl7CgkgIGZvciggJGQgPSAkc2RheTsgJGQgPD0gJGVkYXk7ICRkKysgKQoJICAgIHsKCSAgICAgIGZvciggJHIgPSAwOyAkciA8IGNvdW50KCRvbmVbJ3JzcmNzJ10pOyAkcisrICkKCQl7CgkJICAkdG1wcmlkID0gJG9uZVsncnNyY3MnXVskcl1bJ3JzcmNfaWQnXTsKCQkgICRpZHggPSBnZXRfYXJyYXlfcG9zKCRyc3Jjc19pbmRleCwkdG1wcmlkKTsKCQkgIGlmKCBpc3NldCgkcnNyY3NfaW5kZXhbJGlkeF0pICkKCQkgICAgewoJCSAgICAgICRncmlkWyRkXVskaWR4KzFdID0gJG9iajsKCQkgICAgfQoJCX0KCSAgICB9Cgl9IAogICAgfQp9CnVuc2V0KCRldmVudHMpOwoKCi8vCi8vIEZpbGwgdGhlIGdyaWQgdmFsdWVzIHdpdGggcmVzZXJ2YXRpb24gaW5mb3JtYXRpb24KLy8KCiRyZXN2biA9ICcnOwp7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCByZXN2X2lkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuIgogICAgICAgICAgICAgV0hFUkUgKHN0YXJ0X2RhdGUgQkVUV0VFTiAkbW9udGhfc3RhcnRfZGF5IEFORCAkbW9udGhfZW5kX2RheSkgCiAgICAgICAgICAgICAgICBPUiAoZW5kX2RhdGUgQkVUV0VFTiAkbW9udGhfc3RhcnRfZGF5IEFORCAkbW9udGhfZW5kX2RheSkKICAgICAgICAgICAgIE9SREVSIEJZIHJlc3ZfaWQgQVNDIjsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICRyaWRzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3Jlc3ZfaWQnKTsKCiAgaWYoICRyaWRzICkKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicKICAgICAgICAgICAgIFdIRVJFIGlkIElOICgnLmltcGxvZGUoJywnLCRyaWRzKS4nKSc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICRyZXN2biA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCdpZCcpOwogICAgICAKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcmlkcykuJykKICAgICAgICAgICAgIE9SREVSIEJZIHJlc3ZfaWQsc3RhcnRfZGF0ZSBBU0MnOwogICAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCgl7CgkgICRwYXJ0ID0mICR0bXBbJGldOwoJICAkdHJpZCA9ICRwYXJ0WydyZXN2X2lkJ107CgkgIGlmKCAhaXNzZXQoJHJlc3ZuWyR0cmlkXVsncGFydHMnXSkgKQoJICAgIHsKCSAgICAgICRyZXN2blskdHJpZF1bJ3BhcnRzJ10gPSBhcnJheSgpOwoJICAgIH0KCSAgJHJlc3ZuWyR0cmlkXVsncGFydHMnXVtdID0gJHBhcnQ7Cgl9CiAgICB9Cn0KCmlmKCBpc19hcnJheSgkcmVzdm4pICYmIGNvdW50KCRyZXN2bikgKQp7CiAgZm9yKCAkcmVzID0gMDsgJHJlcyA8IGNvdW50KCRyZXN2bik7ICRyZXMrKyApCiAgICB7CiAgICAgICRvbmVyZXMgPSYgJHJlc3ZuWyRyZXNdOwoKICAgICAgLy8gZG9uJ3QgZGlzcGxheSBjYW5jZWxsZWQgcmVzZXJ2YXRpb25zCiAgICAgIGlmKCAkb25lcmVzWydzdGF0dXMnXSA9PSAnY2FuY2VsbGVkJyApIGNvbnRpbnVlOwoKICAgICAgZm9yKCAkcG51bSA9IDA7ICRwbnVtIDwgY291bnQoJG9uZXJlc1sncGFydHMnXSk7ICRwbnVtKysgKQoJewoJICAkb25lcGFydCA9JiAkb25lcmVzWydwYXJ0cyddWyRwbnVtXTsKCSAgJHRoZV9yZXNvdXJjZSA9JiAkcnNyY3NbJG9uZXBhcnRbJ3JzcmNfaWQnXV07CgkgICRyaWR4ID0gZ2V0X2FycmF5X3BvcygkcnNyY3NfaW5kZXgsJG9uZXBhcnRbJ3JzcmNfaWQnXSkrMTsgCgoJICAkcmVzdl9zdGFydF91ID0gJGRiLT5Vbml4VGltZVN0YW1wKCRvbmVwYXJ0WydzdGFydF9kYXRlJ10pOwoJICAkcmVzdl9lbmRfdSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkb25lcGFydFsnZW5kX2RhdGUnXSk7CgkgICRyc3RhcnRfdSA9IG1heCgkcmVzdl9zdGFydF91LCRtb250aF9zdGFydF91KTsKCSAgJHJlbmRfdSA9IG1pbigkcmVzdl9lbmRfdSwkbW9udGhfZW5kX3UpOwoJICAkc2RheSA9IGludHZhbChzdHJmdGltZSgiJWQiLCRyc3RhcnRfdSkpOwoJICAkZWRheSA9IGludHZhbChzdHJmdGltZSgiJWQiLCRyZW5kX3UpKTsKCSAgaWYoICRlZGF5ID09ICRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV0gJiYgJHJlc3ZfZW5kX3UgPiAkbW9udGhfZW5kX3UgKQoJICAgIHsKCSAgICAgIC8vIGhhY2sKCSAgICAgICRlZGF5Kys7CgkgICAgfQoKCSAgaWYoICR0aGVfcmVzb3VyY2VbJ3Jlc19pbnRlcnZhbCddICE9ICdkYWlseScgKQoJICAgIHsKCSAgICAgICRkID0gJHNkYXk7CgoJICAgICAgaWYoIGlzc2V0KCRncmlkWyRkXVskcmlkeF0pICYmIAoJCSAgaXNfb2JqZWN0KCRncmlkWyRkXVskcmlkeF0pICYmCgkJICAoJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICd2YWNhbnQnIHx8ICRncmlkWyRkXVskcmlkeF0tPnN0YXR1cyA9PSAncGFydGlhbCcpKQoJCXsKCQkgICRvYmogPSBuZXcgc3RkQ2xhc3M7CgkJICBpZiggIWlzc2V0KCRvYmotPm51bXBhcnRzKSApCgkJICAgIHsKCQkgICAgICAkb2JqLT5udW1wYXJ0cyA9IDE7CgkJICAgIH0KCQkgIGVsc2UKCQkgICAgewoJCSAgICAgICRvYmotPm51bXBhcnRzKys7CgkJICAgIH0KCQkgICRvYmotPnN0YXR1cyA9ICdwYXJ0aWFsJzsKCQkgICRvYmotPnVybCA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZG1pbl92aWV3X2RheScsJycsCgkJCQkJICAgICAgIGFycmF5KCdyZXN2bmlkJz0+JG9uZXJlc1snaWQnXSwKCQkJCQkJICAgICAncnNyY2lkJz0+JHJpZHgpKTsKCQkgICRvYmotPmxhYmVsID0gJHRoaXMtPkxhbmcoJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnLCRvYmotPm51bXBhcnRzLCR0aGVfcmVzb3VyY2VbJ2V4dF9udW1zbG90cyddKTsKCQkgICRvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhcnRpYWxfZm9yZWdyb3VuZCcpOwoJCSAgJG9iai0+YmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFydGlhbF9iYWNrZ3JvdW5kJyk7CgoJCSAgJGdyaWRbJGRdWyRyaWR4XSA9ICRvYmo7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgIC8vIGNvbmZsaWN0IG9mIHNvbWUgdHlwZQoJCSAgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID0gJ2NvbmZsaWN0JzsKCQkgICRncmlkWyRkXVskcmlkeF0tPmxhYmVsID0gJHRoaXMtPkxhbmcoJ2NvbmZsaWN0Jyk7CgkJICAkZ3JpZFskZF1bJHJpZHhdLT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0aXRsZV9jb25mbGljdDInKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2JhY2tncm91bmQnKTsKCQl9CgoJICAgICAgLy8gaGFuZGxlIGhvdXJseSBvciBoYWxmIGRheSBwYXJ0cy4KCSAgICAgIGNvbnRpbnVlOwoJICAgIH0KCgkgIC8vIGhhbmRsZSBmdWxsIGRheSByZXNlcnZhdGlvbiBwYXJ0cwoJICAkb2JqID0gbmV3IFN0ZENsYXNzKCk7CgkgICRvYmotPnJlc3YgPSAkb25lcmVzWydpZCddOwoJICAkb2JqLT5zdGF0dXMgPSAkb25lcmVzWydzdGF0dXMnXTsKCSAgc3dpdGNoKCAkb25lcmVzWydzdGF0dXMnXSApCgkgICAgewoJICAgIGNhc2UgQVZBSUxBQklMSVRZX1NUQVRVU19QRU5ESU5HOgoJICAgICAgJG9iai0+ZmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGVuZGluZ19mb3JlZ3JvdW5kJyk7CgkgICAgICAkb2JqLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwZW5kaW5nX2JhY2tncm91bmQnKTsKCSAgICAgICRvYmotPnN0YXR1cyA9ICdwZW5kaW5nJzsKCSAgICAgIGJyZWFrOwoJICAgIGNhc2UgQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRUQ6CgkgICAgICAkb2JqLT5mZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9mb3JlZ3JvdW5kJyk7CgkgICAgICAkb2JqLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9iYWNrZ3JvdW5kJyk7CgkgICAgICAkb2JqLT5zdGF0dXMgPSAncmVzZXJ2ZWQnOwoJICAgICAgYnJlYWs7CgkgICAgY2FzZSBBVkFJTEFCSUxJVFlfU1RBVFVTX0NBTkNFTExFRDoKCSAgICBjYXNlIEFWQUlMQUJJTElUWV9TVEFUVVNfSU5DQVJUOgoJICAgICAgYnJlYWs7CgkgICAgfQoJICAkb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdyZXNlcnZhdGlvbl9udW0nLCRvbmVyZXNbJ2lkJ10pOwoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKCSAgICB7CgkgICAgICAkb2JqLT51cmwgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRtaW5fZWRpdF9yZXN2bicsJycsCgkJCQkJICAgYXJyYXkoJ3Jlc3ZuaWQnPT4kb25lcmVzWydpZCddKSk7CgkgICAgfQoJICBlbHNlIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSApCgkgICAgewoJICAgICAgJG9iai0+dXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZG1pbl92aWV3X3Jlc3ZuJywnJywKCQkJCQkgICAgYXJyYXkoJ3Jlc3ZuaWQnPT4kb25lcmVzWydpZCddKSk7CgkgICAgfQogICAgICAKCSAgZm9yKCAkZCA9ICRzZGF5OyAkZCA8ICRlZGF5OyAkZCsrICkKCSAgICB7CgkgICAgICBpZiggaXNzZXQoJGdyaWRbJGRdWyRyaWR4XSkgJiYgCgkJICBpc19vYmplY3QoJGdyaWRbJGRdWyRyaWR4XSkgJiYKCQkgIChpc3NldCgkZ3JpZFskZF1bJHJpZHhdLT5yZXN2KSAmJiAoJGdyaWRbJGRdWyRyaWR4XS0+cmVzdiAhPSAkb25lcmVzWydpZCddKSkgJiYKCQkgICgkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPT0gJ3BlbmRpbmcnIHx8ICRncmlkWyRkXVskcmlkeF0tPnN0YXR1cyA9PSAncmVzZXJ2ZWQnIHx8CgkJICAgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdjbG9zZWQnKSApCgkJewoJCSAgLy8gb29wcywgYWxyZWFkeSBhIHJlc2VydmF0aW9uIGZvciB0aGlzIGRheQoJCSAgLy8gbm93IHdlIGdvdHRhIHRoaW5rIGFib3V0IHNvbWV0aGluZy4uLgoJCSAgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID0gJ2NvbmZsaWN0JzsKCQkgICRncmlkWyRkXVskcmlkeF0tPmxhYmVsID0gJHRoaXMtPkxhbmcoJ2NvbmZsaWN0Jyk7CgkJICAkZ3JpZFskZF1bJHJpZHhdLT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0aXRsZV9jb25mbGljdCcsJGdyaWRbJGRdWyRyaWR4XS0+cmVzdiwkb25lcmVzWydpZCddKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2JhY2tncm91bmQnKTsKCQl9CgkgICAgICBlbHNlCgkJewoJCSAgJGdyaWRbJGRdWyRyaWR4XSA9ICRvYmo7CgkJfQoJICAgIH0gLy8gZm9yIGVhY2ggZGF5IG9mIHRoZSByZXNlcnZhdGlvbi4KCX0gLy8gZm9yIGVhY2ggcGFydAogICAgfSAvLyBmb3IgZWFjaCByZXNlcnZhdGlvbgp9CnVuc2V0KCRyZXN2bik7CgovLwovLyBHYXRoZXIgU3RhdGlzdGljcwovLwpmb3IoICRkID0gMTsgJGQgPCBjb3VudCgkZ3JpZCk7ICRkKysgKQp7CiAgZm9yKCAkciA9IDE7ICRyIDwgY291bnQoJGdyaWRbMF0pOyAkcisrICkKICAgIHsKICAgICAgJHJpZCA9ICRyc3Jjc19pbmRleFskci0xXTsKICAgICAgJG51bSA9ICRyc3Jjc1skcmlkXVsnZXh0X251bXNsb3RzJ107CgogICAgICBpZiggaXNfb2JqZWN0KCRncmlkWyRkXVskcl0pICkKCXsKCSAgJHMgPSAkZ3JpZFskZF1bJHJdLT5zdGF0dXM7CgkgICRzdGF0aXN0aWNzWyRzXSsrOwoJICBpZiggJHMgPT0gJ3BhcnRpYWwnICkKCSAgICB7CgkgICAgICAkc3RhdGlzdGljc1snbnVtcGFydHMnXSs9JGdyaWRbJGRdWyRyXS0+bnVtcGFydHM7CgkgICAgfQoJICAkc3RhdGlzdGljc1sndG90YWwnXSArPSAkbnVtOwoJfQogICAgfQp9CgovLyAKLy8gRGlzcGxheSB0aGUgZm9ybQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCQkgJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2NhbGVuZGFyJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKewogICRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgT1JERVIgQlkgbmFtZSc7CiAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICBpZiggJHRtcCApCiAgICB7CiAgICAgICRvcHRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKCXsKCSAgJG9wdHNbJG9uZVsnbmFtZSddXSA9ICRvbmVbJ2lkJ107Cgl9CiAgICAgICRhZGR0ZXh0ID0gJ2lkPSJmaWx0ZXJfcnNyY3MiIG9uQ2hhbmdlPSJjbGVhckNhdGVnb3JpZXMoKSInOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9yZXNvdXJjZXMnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCdmaWx0ZXJfcnNyY3NbXScsCgkJCQkJCSAgICRvcHRzLCRzZWxfcmVzb3VyY2VzLAoJCQkJCQkgICAzLCRhZGR0ZXh0KSk7CiAgICB9Cn0KCnsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgaWYoICR0bXAgKQogICAgewogICAgICAkb3B0cyA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCgl7CgkgICRvcHRzWyRvbmVbJ25hbWUnXV0gPSAkb25lWydpZCddOwoJfQogICAgICAkYWRkdGV4dCA9ICdpZD0iZmlsdGVyX2NhdHMiIG9uQ2hhbmdlPSJjbGVhclJlc291cmNlcygpIic7CiAgICAgICRzbWFydHktPmFzc2lnbignZmlsdGVyX2NhdGVnb3JpZXMnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCdmaWx0ZXJfY2F0c1tdJywKCQkJCQkJICAgJG9wdHMsJHNlbF9jYXRlZ29yaWVzLAoJCQkJCQkgICAzLCAkYWRkdGV4dCkpOwogICAgfQp9CiRzbWFydHktPmFzc2lnbignZmlsdGVyX3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FsZW5kYXJfZmlsdGVyJywkdGhpcy0+TGFuZygnYXBwbHknKSkpOwokc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9yZXNldCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FsZW5kYXJfcmVzZXQnLCR0aGlzLT5MYW5nKCdyZXNldCcpKSk7Cgp7CiAgJG9wdHMgPSBhcnJheSgpOwogIGZvcmVhY2goICRldmVudHR5cGVzIGFzICRrZXkgPT4gJHZhbHVlICkKICAgIHsKICAgICAgJG9wdHNbJHZhbHVlWyduYW1lJ11dID0gJGtleTsKICAgIH0KICAkc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9ldHlwZXMnLAoJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ2ZpbHRlcl9ldHlwZXNbXScsCgkJCQkJICAgICAgICRvcHRzLCRzZWxfZXR5cGVzKSk7Cn0KJHNtYXJ0eS0+YXNzaWduKCdwcmV2bW9udGhfbGluaycsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLAoJCQkJICAkdGhpcy0+TGFuZygncHJldicpLAoJCQkJICBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2NhbGVuZGFyJywKCQkJCQknY2FsX21vbnRoJz0+JHRoZV9tb250aC0xLAoJCQkJCSdjYWxfeWVhcic9PiR0aGVfeWVhcikpKTsKJHNtYXJ0eS0+YXNzaWduKCduZXh0bW9udGhfbGluaycsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLAoJCQkJICAkdGhpcy0+TGFuZygnbmV4dCcpLAoJCQkJICBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2NhbGVuZGFyJywKCQkJCQknY2FsX21vbnRoJz0+JHRoZV9tb250aCsxLAoJCQkJCSdjYWxfeWVhcic9PiR0aGVfeWVhcikpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0aXN0aWNzJywkc3RhdGlzdGljcyk7CiRzbWFydHktPmFzc2lnbignbGVnZW5kJywkbGVnZW5kKTsKJHNtYXJ0eS0+YXNzaWduKCdncmlkJywkZ3JpZCk7CiRzbWFydHktPmFzc2lnbignZGlzcGRhdGUnLCRkaXNwZGF0ZSk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZ3JhcGhfaWNvbl91cmwnLAoJCSAgICAnLi4vbW9kdWxlcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9pY29ucy9jaGFydF9iYXIucG5nJyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyYXBoaW5nX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZG1pbl9ncmFwaGluZycsJHJldHVybmlkKSk7CiAgfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9jYWxlbmRhcl90YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_calendar_view_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ2NhbGVuZGFyXycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfTkVXQ0FMRU5EQVJfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQ0FMRU5EQVJfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19jYWxlbmRhcl90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKSk7CgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_categories_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMuJwogICAgICAgICAgIE9SREVSIEJZIG5hbWUnOwokY2F0ZWdvcmllcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKaWYoIGlzX2FycmF5KCRjYXRlZ29yaWVzKSAmJiBjb3VudCgkY2F0ZWdvcmllcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsJGNhdGVnb3JpZXMpOwogIH0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY2F0ZWdvcmllc190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_customer_email_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdjdXN0ZW1haWxfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdDVVNURU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfREZMVENVU1RFTUFJTF9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9jdXN0ZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_custom_fields_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCiRtYXggPSAkZGItPkdldE9uZSgnU0VMRUNUIG1heChpdGVtX29yZGVyKSBhcyBtYXhfaXRlbV9vcmRlciBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUyk7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJyAKICAgICAgICAgICBPUkRFUiBCWSBpdGVtX29yZGVyJzsKJGN1c3RvbV9maWVsZHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCBjb3VudCgkY3VzdG9tX2ZpZWxkcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkcycsJGN1c3RvbV9maWVsZHMpOwogIH0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY3VzdG9tX2ZpZWxkc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_day_view_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fZGF5X3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdkYXlfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdEQVlfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RheV92aWV3X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfREZMVERBWV9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9kYXlfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19kYXlfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_default_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojIFN5c3RlbSBEZWZhdWx0IENhbGVuZGFyIFZpZXcgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV0NBTEVOREFSX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfY2FsZW5kYXJfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19jYWxlbmRhcl90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgojIFN5c3RlbSBEZWZhdWx0IFJlc291cmNlIFN1bW1hcnkgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgoKIyBTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBEZXRhaWwgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV0RFVEFJTF9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgojIFN5c3RlbSBEZWZhdWx0IERheSBWaWV3IFRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdEQVlfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19kYXlfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBmb3JtIFRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTl9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfcmVzdm5fdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKCiMgU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIFRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTkNPTkZJUk1fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfcmVzdm5fY29uZmlybV90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgoKIyBTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtYXRpb24gRW1haWwgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKCiMgU3lzdGVtIERlZmF1bHQgQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV0FEVlNFQVJDSEZPUk1fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlLnRwbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCgojIFN5c3RlbSBEZWZhdWx0IEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlIAplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfTkVXQ1VTVEVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gRGVmYXVsdCBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZSAKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV01ZUkVTVl9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X215cmVzdl90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlLnRwbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCiMgU3lzdGVtIERlZmF1bHQgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUgCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19zZW5kZW1haWxfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_events_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBUT0RPOiBGT1JNIEZPUiBTRUxFQ1RJTkcgVFlQRQovLyBUT0RPOiBGT1JNIEZPUiBTRUxFQ1RJTkcgREFURVMKLy8gVE9ETzogUEFHSU5BVElPTgoKLy8KLy8gU2V0dXAKLy8KJHBhZ2VsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdldmVudHNfcGFnZWxpbWl0JywyNSk7CiRib29rYWJsZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdldmVudHNfYm9va2FibGUnLC0xKTsKJGV2ZW50X3R5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXZlbnRzX3R5cGUnLC0xKTsKJHVzZV9kYXRlcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdldmVudHNfdXNlX2RhdGVzJyxmYWxzZSk7CiRzdGFydGRhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXZlbnRzX3N0YXJ0ZGF0ZScsdGltZSgpKTsKJGVuZGRhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXZlbnRzX2VuZGRhdGUnLHRpbWUoKSk7CiRjdXJwYWdlX2V2ID0gMTsKCmlmKCBpc3NldCgkcGFyYW1zWydjdXJwYWdlX2V2J10pICkKICB7CiAgICAkY3VycGFnZV9ldiA9IChpbnQpJHBhcmFtc1snY3VycGFnZV9ldiddOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydidG5maWx0ZXJldmVudHMnXSkgKQogIHsKICAgICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3BhZ2VsaW1pdCddOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V2ZW50c19wYWdlbGltaXQnLCRwYWdlbGltaXQpOwoKICAgICRib29rYWJsZSA9IChpbnQpJHBhcmFtc1snaW5wdXRfYm9va2FibGUnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdldmVudHNfYm9va2FibGUnLCRib29rYWJsZSk7CgogICAgJGV2ZW50X3R5cGUgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3R5cGUnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdldmVudHNfdHlwZScsJGV2ZW50X3R5cGUpOwoKICAgICR1c2VfZGF0ZXMgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3VzZV9kYXRlcyddOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V2ZW50c191c2VfZGF0ZXMnLCR1c2VfZGF0ZXMpOwoKICAgICRzdGFydGRhdGUgPSBta3RpbWUoMCwwLDAsCgkJCShpbnQpJHBhcmFtc1snaW5wdXRfc3RhcnRkYXRlX01vbnRoJ10sCgkJCShpbnQpJHBhcmFtc1snaW5wdXRfc3RhcnRkYXRlX0RheSddLAoJCQkoaW50KSRwYXJhbXNbJ2lucHV0X3N0YXJ0ZGF0ZV9ZZWFyJ10pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V2ZW50c19zdGFydGRhdGUnLCRzdGFydGRhdGUpOwoKICAgICRlbmRkYXRlID0gbWt0aW1lKDAsMCwwLAoJCQkoaW50KSRwYXJhbXNbJ2lucHV0X2VuZGRhdGVfTW9udGgnXSwKCQkJKGludCkkcGFyYW1zWydpbnB1dF9lbmRkYXRlX0RheSddLAoJCQkoaW50KSRwYXJhbXNbJ2lucHV0X2VuZGRhdGVfWWVhciddKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdldmVudHNfZW5kZGF0ZScsJGVuZGRhdGUpOwoKICAgICRjdXJwYWdlX2V2ID0gMTsKICB9CgovLyBzb21lIG1hdGgKJHN0YXJ0ZWxlbWVudCA9ICgkY3VycGFnZV9ldi0xKSokcGFnZWxpbWl0OwoKLy8KLy8gQnVpbGQgdGhlIGZvcm0KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50cycpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCQkgJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2V2ZW50cycpKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0bXAgPSBhcnJheSgkdGhpcy0+TGFuZygnYWxsJyk9PjEwMDAwMDAsJzUnPT41LCcxMCc9PjEwLCcyNSc9PjI1LCc1MCc9PjUwLCcxMDAnPT4xMDApOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3BhZ2VsaW1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9wYWdlbGltaXQnLCR0bXAsLTEsJHBhZ2VsaW1pdCkpOwokdG1wID0gYXJyYXkoJHRoaXMtPkxhbmcoJ2FueScpPT4tMSwkdGhpcy0+TGFuZygneWVzJyk9PjEsJHRoaXMtPkxhbmcoJ25vJyk9PjApOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Jvb2thYmxlJywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2Jvb2thYmxlJywkdG1wLC0xLCRib29rYWJsZSkpOwokdHlwZXMgPSAkdGhpcy0+R2V0RXZlbnRUeXBlRHJvcGRvd25MaXN0KHRydWUpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3R5cGUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfdHlwZScsJHR5cGVzLC0xLCRldmVudF90eXBlKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlX2RhdGVzJywkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwnaW5wdXRfdXNlX2RhdGVzJywkdXNlX2RhdGVzKSk7CiRzbWFydHktPmFzc2lnbignYnRuZmlsdGVyJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdidG5maWx0ZXJldmVudHMnLCR0aGlzLT5MYW5nKCdhcHBseScpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3RhcnRkYXRlJywkc3RhcnRkYXRlKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9lbmRkYXRlJywkZW5kZGF0ZSk7CgovLwovLyBUaGUgZGF0YSBmb3IgZGlzcGxheQovLwoKLy8gYnVpbGQgdGhlIHF1ZXJpZXMKJHFwYXJtcyA9IGFycmF5KCk7CiR3aGVyZSA9IGFycmF5KCk7CiRqb2lucyA9IGFycmF5KCk7CiRxdWVyeTEgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJyBFVic7CiRxdWVyeTIgPSAnU0VMRUNUIGNvdW50KGlkKSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4nIEVWJzsKaWYoICRib29rYWJsZSAhPSAtMSApCiAgewogICAgJHdoZXJlW10gPSAnRVYuYm9va2FibGUgPSA/JzsKICAgICRxcGFybXNbXSA9ICRib29rYWJsZTsKICB9CmlmKCAkZXZlbnRfdHlwZSAhPSAtMSApCiAgewogICAgJHdoZXJlW10gPSAnRVYuZXZlbnRfdHlwZV9pZCA9ID8nOwogICAgJHFwYXJtc1tdID0gJGV2ZW50X3R5cGU7CiAgfQppZiggJHVzZV9kYXRlcyApCiAgewogICAgJGRiX3N0YXJ0ZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHN0YXJ0ZGF0ZSk7CiAgICAkZGJfZW5kZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJGVuZGRhdGUpOwogICAgJHdoZXJlW10gPSAiRVYuc3RhcnRfZGF0ZSA+PSAkZGJfc3RhcnRkYXRlIjsKICAgICR3aGVyZVtdID0gIkVWLmVuZF9kYXRlIDw9ICRkYl9lbmRkYXRlIjsKICB9Ci8vIEFzc2VtYmxlIHRoZSBxdWVyaWVzCmlmKCBjb3VudCgkam9pbnMpICkKICB7CiAgICAkcXVlcnkxIC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgICAkcXVlcnkyIC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgfQppZiggY291bnQoJHdoZXJlKSApCiAgewogICAgJHF1ZXJ5MSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAgICRxdWVyeTIgLj0gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgfQoKCi8vIEdldCB0aGUgZGF0YQokZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnkxLCRwYWdlbGltaXQsJHN0YXJ0ZWxlbWVudCwkcXBhcm1zKTsKLy9lY2hvICdERUJVRzogcXVlcnkgPSAnLiRkYi0+c3FsLic8YnIvPic7CiRldmVudHMgPSBhcnJheSgpOwp3aGlsZSggJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSApCiAgewogICAgJGV2ZW50c1tdID0gJHJvdzsKICB9CmlmKCBpc19hcnJheSgkZXZlbnRzKSAmJiBjb3VudCgkZXZlbnRzKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdldmVudHMnLCRldmVudHMpOwogIH0KCgovLyBHZXQgdGhlIGNvdW50CiRudW1yZWNvcmRzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5MiwkcXBhcm1zKTsKJG5wYWdlcyA9IChpbnQpKChpbnQpJG51bXJlY29yZHMgLyAkcGFnZWxpbWl0KTsKaWYoICgoaW50KSRudW1yZWNvcmRzICUgJHBhZ2VsaW1pdCkgKQogIHsKICAgICRucGFnZXMrKzsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywkY3VycGFnZV9ldi0xKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJwYWdlX2V2JywkY3VycGFnZV9ldik7CiRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCRjdXJwYWdlX2V2KzEpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJG5wYWdlcyk7CgovLwovLyBPdXRwdXQKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9ldmVudHNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_event_types_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nCiAgICAgICAgICAgT1JERVIgQlkgaW9yZGVyLG5hbWUnOwokZXZlbnRfdHlwZXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCBpc19hcnJheSgkZXZlbnRfdHlwZXMpICYmIGNvdW50KCRldmVudF90eXBlcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZXZlbnRfdHlwZXMnLCRldmVudF90eXBlcyk7CiAgfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9ldmVudF90eXBlc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_myreservations_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ215cmVzdl8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV01ZUkVTVl9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUTVlSRVNWX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_preferences_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBDcmVhdGUgdGhlIGZvcm0KJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CnsKICAkeWVzbm8gPSBhcnJheSgpOwogICR5ZXNub1swXSA9ICR0aGlzLT5MYW5nKCdubycpOwogICR5ZXNub1sxXSA9ICR0aGlzLT5MYW5nKCd5ZXMnKTsKICAkc21hcnR5LT5hc3NpZ24oJ2xpc3RfeWVzbm8nLCR5ZXNubyk7Cn0KCnsKICAkaW50ZXJ2YWxzID0gYXJyYXkoKTsKICAkaW50ZXJ2YWxzWydob3VybHknXSA9ICR0aGlzLT5MYW5nKCdob3VybHknKTsKICAkaW50ZXJ2YWxzWydoYWxmX2RheSddID0gJHRoaXMtPkxhbmcoJ2hhbGZfZGF5Jyk7CiAgJGludGVydmFsc1snZGFpbHknXSA9ICR0aGlzLT5MYW5nKCdkYWlseScpOwogICRzbWFydHktPmFzc2lnbignaW50ZXJ2YWxzJywkaW50ZXJ2YWxzKTsKCiAgLy8gYXBwbGllcyBvbmx5IHRvIGhvdXJseSBpbnRlcnZhbAogICRncmFudWxhcml0eSA9IGFycmF5KCk7CiAgJGdyYW51bGFyaXR5WydxdWFydGVyX2hvdXInXSA9ICR0aGlzLT5MYW5nKCdxdWFydGVyX2hvdXInKTsKICAkZ3JhbnVsYXJpdHlbJ2hhbGZfaG91ciddID0gJHRoaXMtPkxhbmcoJ2hhbGZfaG91cicpOwogICRncmFudWxhcml0eVsnaG91ciddID0gJHRoaXMtPkxhbmcoJ29uZV9ob3VyJyk7CiAgJHNtYXJ0eS0+YXNzaWduKCdncmFudWxhcml0eScsJGdyYW51bGFyaXR5KTsKCiAgJHNtYXJ0eS0+YXNzaWduKCdzdGFydHRpbWUxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzEnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdlbmR0aW1lMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VuZHRpbWVfMScpKTsKICAkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0dGltZTInLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMicpKTsKICAkc21hcnR5LT5hc3NpZ24oJ2VuZHRpbWUyJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW5kdGltZV8yJykpOwp9CiRzbWFydHktPmFzc2lnbignZGZsdF9pbnRlcnZhbCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RmbHRfaW50ZXJ2YWwnLCdkYWlseScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZmx0X2dyYW51bGFyaXR5JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGZsdF9ncmFudWxhcml0eScsJ2hhbGZfaG91cicpKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl91cGRhdGVfcHJlZmVyZW5jZXMnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNvdXJjZV90eXBlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncmVzb3VyY2VfdHlwZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc291cmNlX3R5cGUnLCdyZXNvdXJjZScpLDUwLDUwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY3VycmVuY3lfc3ltYm9sJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnY3VycmVuY3lfc3ltYm9sJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpLDIsMikpOwoKJHNtYXJ0eS0+YXNzaWduKCdjaGVja2luX3RpbWUnLHN0cnRvdGltZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbl90aW1lJywnMTQ6MDAnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NoZWNrb3V0X3RpbWUnLHN0cnRvdGltZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tvdXRfdGltZScsJzExOjAwJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdlcnJvcl9ub19wcmljZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlcnJvcl9ub19wcmljZXMnLDEpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dlZF9pbWFnZV90eXBlcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2ltYWdlX3R5cGVzJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdHlwZXMnKSw1MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdXRvX3RodW1ibmFpbCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2F1dG9fdGh1bWJuYWlsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93ZWRfZmlsZV90eXBlcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2ZpbGVfdHlwZXMnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmaWxlX3R5cGVzJyksNTAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2FsZW5kYXJfcmVzdm5fZm9yZWdyb3VuZCcsCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ3Jlc3ZuX2ZvcmVncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9mb3JlZ3JvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcl9yZXN2bl9iYWNrZ3JvdW5kJywKICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVDb2xvckRyb3Bkb3duKCRpZCwncmVzdm5fYmFja2dyb3VuZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhbGVuZGFyX2NvbmZsaWN0X2ZvcmVncm91bmQnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUNvbG9yRHJvcGRvd24oJGlkLCdjb25mbGljdF9mb3JlZ3JvdW5kJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfZm9yZWdyb3VuZCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2FsZW5kYXJfY29uZmxpY3RfYmFja2dyb3VuZCcsCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ2NvbmZsaWN0X2JhY2tncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb25mbGljdF9iYWNrZ3JvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcl9wZW5kaW5nX2ZvcmVncm91bmQnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUNvbG9yRHJvcGRvd24oJGlkLCdwZW5kaW5nX2ZvcmVncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwZW5kaW5nX2ZvcmVncm91bmQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhbGVuZGFyX3BlbmRpbmdfYmFja2dyb3VuZCcsCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ3BlbmRpbmdfYmFja2dyb3VuZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BlbmRpbmdfYmFja2dyb3VuZCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2FsZW5kYXJfcGFydGlhbF9mb3JlZ3JvdW5kJywKICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVDb2xvckRyb3Bkb3duKCRpZCwncGFydGlhbF9mb3JlZ3JvdW5kJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFydGlhbF9mb3JlZ3JvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcl9wYXJ0aWFsX2JhY2tncm91bmQnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUNvbG9yRHJvcGRvd24oJGlkLCdwYXJ0aWFsX2JhY2tncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXJ0aWFsX2JhY2tncm91bmQnKSkpOwoKCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwokb3B0cyA9IGFycmF5KCk7CiRzdHIgPSBiYXNlbmFtZSgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSk7CiRvcHRzWyRzdHJdID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ107CnsKICAkdG1wID0gY2dlX2Rpcjo6ZGlyX2xpc3QoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10pOwogIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCiAgewogICAgJG9wdHNbJHN0ci4nLycuJG9uZV0gPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nLycuJG9uZTsKICB9Cn0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdHRhY2htZW50X2RpcicsCiAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2F0dGFjaG1lbnRfZGlyJywkb3B0cywtMSwKICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdHRhY2htZW50X2RpcicpKSk7CgokZmV1ID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggaXNfb2JqZWN0KCRmZXUpICkKICB7CiAgICAkZ3JvdXBzID0gJGZldS0+R2V0R3JvdXBMaXN0KCk7CiAgICAkZ3JvdXBzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJHRoaXMtPkxhbmcoJ25vbmUnKT0+LTEpLCRncm91cHMpOyAKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY3VzdG9tZXJfZ3JvdXAnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2N1c3RvbWVyX2dyb3VwJywkZ3JvdXBzLAoJCQkJCSAgICAgICAtMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1c3RvbWVyX2dyb3VwJykpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJywKCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZScsJ3skdXNlcm5hbWV9JyksCgkJCQkJICAgNTAsMTAwKSk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJywKICAgICAgICAkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsCiAJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsLTEpLAogICAgICAgICAgJGlkLidwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJykpOwoJCQkJCQkJIAogIH0KCiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJywKCQkkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsCiAJICAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJywtMSksCiAJICAgICAgICAkaWQuJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZScpKTsKCQkKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX21zZycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9tc2cnLDEpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycsCgkJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnLDEpKSk7CiR1c2VybGlzdCA9IGFycmF5KCk7CiR1c2Vyb3BzID0mICRnQ21zLT5HZXRVc2VyT3BlcmF0aW9ucygpOwokZ3JvdXBvcHMgPSYgJGdDbXMtPkdldEdyb3VwT3BlcmF0aW9ucygpOwokYWxsZ3JvdXBzID0gJGdyb3Vwb3BzLT5Mb2FkR3JvdXBzKCk7CmZvcmVhY2goICRhbGxncm91cHMgYXMgJG9uZWdyb3VwICkKewogIGlmKCAhJG9uZWdyb3VwLT5hY3RpdmUgKSBjb250aW51ZTsKICAkdXNlcmxpc3RbJHRoaXMtPkxhbmcoJ2dyb3VwJykuJzogJy4kb25lZ3JvdXAtPm5hbWVdID0gJG9uZWdyb3VwLT5pZCAqIC0xOwp9CiRhbGx1c2VycyA9ICR1c2Vyb3BzLT5Mb2FkVXNlcnMoKTsKZm9yZWFjaCggJGFsbHVzZXJzIGFzICRvbmV1c2VyICkKewogIGlmKCAhJG9uZXVzZXItPmFjdGl2ZSApIGNvbnRpbnVlOwogIGlmKCAhJG9uZXVzZXItPmFkbWluYWNjZXNzICkgY29udGludWU7CiAgaWYoIGNoZWNrX3Blcm1pc3Npb24oJG9uZXVzZXItPmlkLEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUykgfHwKICAgICAgY2hlY2tfcGVybWlzc2lvbigkb25ldXNlci0+aWQsQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YpIHx8CiAgICAgIGNoZWNrX3Blcm1pc3Npb24oJG9uZXVzZXItPmlkLEFWQUlMQUJJTElUWV9QRVJNX0NPTlRBQ1RDVVNUT01FUikgKQogICAgewogICAgICAkc3RyID0gJyc7CiAgICAgIGlmKCAhZW1wdHkoJG9uZXVzZXItPmxhc3RuYW1lKSAmJiAhZW1wdHkoJG9uZXVzZXItPmZpcnN0bmFtZSkgKQoJewoJICAkc3RyID0gc3ByaW50ZigiJXMsICVzICglcykiLCRvbmV1c2VyLT5sYXN0bmFtZSwgJG9uZXVzZXItPmZpcnN0bmFtZSwgJG9uZXVzZXItPnVzZXJuYW1lKTsKCX0KICAgICAgZWxzZSBpZiggIWVtcHR5KCRvbmV1c2VyLT5lbWFpbCkgKQoJewoJICAkc3RyID0gc3ByaW50ZigiJXMgKCVzKSIsJG9uZXVzZXItPmVtYWlsLCRvbmV1c2VyLT51c2VybmFtZSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgJHN0ciA9ICRvbmV1c2VyLT51c2VybmFtZTsKCX0KICAgICAgJHVzZXJsaXN0WyRzdHJdID0gJG9uZXVzZXItPmlkOwogICAgfQp9CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2NbXScsJHVzZXJsaXN0LAoJCQkJCSAgICAgZXhwbG9kZSgnLCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnKSksCgkJCQkJICAgICA1KSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcsCgkJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0JykpLDgwLDI1NSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnLAoJCSR0aGlzLT5DcmVhdGVGaWxlRHJvcGRvd24oJGlkLCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnLAoJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudCcpLAoJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F0dGFjaG1lbnRfZGlyJyksJycsMSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnLAoJCSRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywKCQkgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZScsLTEpLAoJCSAgICAkaWQuJ3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZScpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fcmVxdWlyZV9kZXBvc2l0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwncmVzZXJ2YXRpb25fcmVxdWlyZV9kZXBvc2l0JywKCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdCcsMCkpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9kZXBvc2l0X3BlcmNlbnQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdyZXNlcnZhdGlvbl9kZXBvc2l0X3BlcmNlbnQnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X3BlcmNlbnQnKSw2LDYpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9kZXBvc2l0X21pbmltdW0nLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdyZXNlcnZhdGlvbl9kZXBvc2l0X21pbmltdW0nLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X21pbmltdW0nKSw2LDYpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9kZXBvc2l0X3N1bW1hcnknLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdyZXNlcnZhdGlvbl9kZXBvc2l0X3N1bW1hcnknLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X3N1bW1hcnknKSw4MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9za3VfcHJlZml4JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncmVzZXJ2YXRpb25fc2t1X3ByZWZpeCcsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX3NrdV9wcmVmaXgnKSwzLDMpKTsKCiRzbWFydHktPmFzc2lnbignZGVmYXVsdF9jYXBhY2l0eScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2FwYWNpdHknLDUwKSk7Cgp7CiAgJHRtcCA9IGRhdGUoJ1knKTsKICAkZGF0YSA9IGFycmF5KCctMSc9PiR0aGlzLT5MYW5nKCdjdXJyZW50X3llYXInKSk7CiAgZm9yKCAkaSA9ICR0bXA7ICRpID4gJHRtcCAtIDIwOyAkaS0tICkKICAgIHsKICAgICAgJGRhdGFbJGldID0gJGk7CiAgICB9CiAgJHNtYXJ0eS0+YXNzaWduKCdhZG1pbl95ZWFybGlzdCcsJGRhdGEpOwp9CiRzbWFydHktPmFzc2lnbignYWRtaW5fc3RhcnR5ZWFyJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fc3RhcnR5ZWFyJywkdG1wKSk7CgovLwovLyBvdXRwdXQgdGhlIGZvcm0KLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9wcmVmZXJlbmNlc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservations_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBQZXJtaXNzaW9ucwovLwppZiggISR0aGlzLT5DYW5WaWV3UmVzZXJ2YXRpb25zKCkgKSByZXR1cm47CgovLwovLyBJbml0aWFsaXphdGlvbgovLwokZGF5c19pbl9tb250aCA9IGFycmF5KDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEpOwokdGhpc19kYXkgPSAoaW50KShzdHJmdGltZSgiJWQiLHRpbWUoKSkpOwokdGhpc19tb250aCA9IChpbnQpKHN0cmZ0aW1lKCIlbSIsdGltZSgpKSk7CiR0aGlzX3llYXIgPSBpbnR2YWwoc3RyZnRpbWUoIiVZIix0aW1lKCkpKTsKJHN0b3JlX2RhdGUgPSBmYWxzZTsKJHNlbF9yc3JjcyA9IGFycmF5KCk7CiR0aGVfbW9udGggPSAkdGhpc19tb250aDsKJHRoZV95ZWFyID0gJHRoaXNfeWVhcjsKCmlmKCBpc3NldCgkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddKSAmJiBpc19hcnJheSgkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddKSApCnsKICBpZiggaXNzZXQoJF9TRVNTSU9OWydhdmFpbGFiaWxpdHknXVsncmVzdm5fdGFiJ10pICYmCiAgICAgIGlzX2FycmF5KCRfU0VTU0lPTlsnYXZhaWxhYmlsaXR5J11bJ3Jlc3ZuX3RhYiddKSApCiAgICB7CiAgICAgICR0aGVfbW9udGggPSAkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddWydyZXN2bl90YWInXVsnbW9udGgnXTsKICAgICAgJHRoZV95ZWFyID0gJF9TRVNTSU9OWydhdmFpbGFiaWxpdHknXVsncmVzdm5fdGFiJ11bJ3llYXInXTsKICAgIH0KfQoKLy8KLy8gSGFuZGxlIElucHV0IFBhcmFtcwovLwppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5feWVhciddKSApCiAgewogICAgJHRoZV95ZWFyID0gKGludCkkcGFyYW1zWydyZXN2bl95ZWFyJ107CiAgICAkc3RvcmVfZGF0ZSA9IHRydWU7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fbW9udGgnXSkgKQogIHsKICAgICRzdG9yZV9kYXRlID0gdHJ1ZTsKICAgICR0aGVfbW9udGggPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoJ107CiAgICBpZiggJHRoZV9tb250aCA8PSAwICkKICAgICAgewoJJHRoZV9tb250aCA9IDEyOwoJJHRoZV95ZWFyLS07CiAgICAgIH0KICAgIGVsc2UgaWYoICR0aGVfbW9udGggPiAxMiApCiAgICAgIHsKCSR0aGVfbW9udGggPSAxOwoJJHRoZV95ZWFyKys7CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fZmlsdGVyJ10pICkKewogIGlmKCBpc3NldCgkcGFyYW1zWydyZXN2bl9yc3JjcyddKSApCiAgICB7CiAgICAgICRzZWxfcnNyY3MgPSAkcGFyYW1zWydyZXN2bl9yc3JjcyddOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydyZXN2bl9tb250aF9ZZWFyJ10pICkKICAgIHsKICAgICAgJHN0b3JlX2RhdGUgPSB0cnVlOwogICAgICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoX1llYXInXTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fbW9udGhfTW9udGgnXSkgKQogICAgewogICAgICAkc3RvcmVfZGF0ZSA9IHRydWU7CiAgICAgICR0aGVfbW9udGggPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoX01vbnRoJ107CiAgICAgIGlmKCAkdGhlX21vbnRoIDw9IDAgKQoJewoJICAkdGhlX21vbnRoID0gMTI7CgkgICR0aGVfeWVhci0tOwoJfQogICAgICBlbHNlIGlmKCAkdGhlX21vbnRoID4gMTIgKQoJewoJICAkdGhlX21vbnRoID0gMTsKCSAgJHRoZV95ZWFyKys7Cgl9CiAgICB9Cn0KCgppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fcmVzZXQnXSkgKQp7CiAgJHNlbF9yc3JjcyA9IGFycmF5KCk7CiAgJHRoZV9tb250aCA9ICR0aGlzX21vbnRoOwogICR0aGVfeWVhciA9ICR0aGlzX3llYXI7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc3ZuX21vbnRoX1llYXInXSkgKQogICAgewogICAgICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoX1llYXInXTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fbW9udGhfTW9udGgnXSkgKQogICAgewogICAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydyZXN2bl9tb250aF9Nb250aCddOwogICAgfQogICRzdG9yZV9kYXRlID0gdHJ1ZTsKfQoKCmlmKCAkc3RvcmVfZGF0ZSApCiAgewogICAgLy8gc3RvcmUgdGhlIGRhdGUgZm9yIGxhdGVyIHVzZS4KICAgIGlmKCAhaXNzZXQoJF9TRVNTSU9OWydhdmFpbGFiaWxpdHknXSkgKQogICAgICB7CgkkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddID0gYXJyYXkoKTsKICAgICAgfQogICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddWydyZXN2bl90YWInXSkgKQogICAgICB7CgkkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddWydyZXN2bl90YWInXSA9IGFycmF5KCk7CiAgICAgIH0KICAgICRfU0VTU0lPTlsnYXZhaWxhYmlsaXR5J11bJ3Jlc3ZuX3RhYiddWydtb250aCddID0gJHRoZV9tb250aDsKICAgICRfU0VTU0lPTlsnYXZhaWxhYmlsaXR5J11bJ3Jlc3ZuX3RhYiddWyd5ZWFyJ10gPSAkdGhlX3llYXI7CiAgfQoKCi8vCi8vIENhbGN1bGF0ZSBtZXRhZGF0YQovLwppZiggaXNfbGVhcHllYXIoJHRoZV95ZWFyKSApCnsKICAkZGF5c19pbl9tb250aFsxXSA9IDI5Owp9CiRzdV9kYXRlID0gbWt0aW1lKDAsMCwwLCR0aGVfbW9udGgsMSwkdGhlX3llYXIpOwokZXVfZGF0ZSA9IG1rdGltZSgyMyw1OSw1MCwkdGhlX21vbnRoLCRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV0sJHRoZV95ZWFyKTsKJHNkYl9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkc3VfZGF0ZSk7CiRlZGJfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJGV1X2RhdGUpOwoKLy8KLy8gR2F0aGVyIERhdGEKLy8KCiRxdWVyeSA9ICJTRUxFQ1QgRElTVElOQ1QgQS4qIEZST00gIi5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIgQQogICAgICAgICAgICBMRUZUIEpPSU4gIi5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuIiBCCiAgICAgICAgICAgICAgT04gQS5pZCA9IEIucmVzdl9pZAogICAgICAgICAgIFdIRVJFICgoQi5zdGFydF9kYXRlIEJFVFdFRU4gJHNkYl9kYXRlIEFORCAkZWRiX2RhdGUpCiAgICAgICAgICAgICAgICAgIE9SIChCLmVuZF9kYXRlIEJFVFdFRU4gJHNkYl9kYXRlIEFORCAkZWRiX2RhdGUpKSI7CmlmKCBjb3VudCgkc2VsX3JzcmNzKSApCnsKICAkcXVlcnkgLj0gJyBBTkQgQi5yc3JjX2lkIElOICgnLmltcGxvZGUoJywnLCRzZWxfcnNyY3MpLicpJzsKfQokcXVlcnkgLj0gIiBHUk9VUCBCWSBBLmlkIE9SREVSIEJZIGVuZF9kYXRlIEFTQyI7CiRyZXNlcnZhdGlvbnMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiRyZXNlcnZhdGlvbl9pZHMgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHJlc2VydmF0aW9ucywnaWQnKTsKJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJHN0YXRzID0gJyc7CnsKICAkcTMgPSAnU0VMRUNUIHJlc3ZfaWQsIENPVU5UKHJzcmNfaWQpIEFTIENPVU5ULCBNSU4oc3RhcnRfZGF0ZSkgQVMgc3RhcnRfZGF0ZSwgTUFYKGVuZF9kYXRlKSBBUyBlbmRfZGF0ZQogICAgICAgICAgIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgV0hFUkUgcmVzdl9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcmVzZXJ2YXRpb25faWRzKS4nKQogICAgICAgICAgR1JPVVAgQlkgcmVzdl9pZCc7CiAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHEzKTsKICBpZiggJHRtcCApCiAgICB7CiAgICAgICRzdGF0cyA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCdyZXN2X2lkJyk7CiAgICB9Cn0KCmZvciggJHJlcyA9IDA7ICRyZXMgPCBjb3VudCgkcmVzZXJ2YXRpb25faWRzKTsgJHJlcysrICkKICB7CiAgICAkcm93ID0mICRyZXNlcnZhdGlvbnNbJHJlc107CgogICAgJHEyID0gJ1NFTEVDVCBESVNUSU5DVCBBLmlkLEEubmFtZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgQSwgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyBCCiAgICAgICAgICAgIFdIRVJFIEEuaWQgPSBCLnJzcmNfaWQgQU5EIEIucmVzdl9pZCA9ID8gT1JERVIgQlkgQS5uYW1lJzsKICAgICRyc3JjcyA9ICRkYi0+R2V0QXJyYXkoJHEyLGFycmF5KCRyb3dbJ2lkJ10pKTsKICAgIGlmKCBjb3VudCgkcnNyY3MpID09IDEpCiAgICAgIHsKCSRyb3dbJ3JzcmNzJ10gPSAkcnNyY3NbMF1bJ25hbWUnXTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdG1wID0gYXJyYXkoKTsKCWZvcmVhY2goJHJzcmNzIGFzICRvbmUpCgkgIHsKCSAgICAkdG1wW10gPSAkb25lWyduYW1lJ107CgkgIH0KCSRyb3dbJ3JzcmNzJ10gPSBpbXBsb2RlKCcsICcsJHRtcCk7CiAgICAgIH0KCiAgICBpZiggJHN0YXRzICkKICAgICAgewoJJHJvd1snc3RhcnRfZGF0ZSddID0gJHRzX3N0YXJ0ID0gJGRiLT5Vbml4VGltZVN0YW1wKCRzdGF0c1skcm93WydpZCddXVsnc3RhcnRfZGF0ZSddKTsKCSRyb3dbJ2VuZF9kYXRlJ10gPSAkdHNfZW5kID0gJGRiLT5Vbml4VGltZVN0YW1wKCRzdGF0c1skcm93WydpZCddXVsnZW5kX2RhdGUnXSk7CglpZiggJHRzX2VuZCA8IHRpbWUoKSApCgkgIHsKCSAgICAkcm93WydhZGRuX3N0YXR1cyddID0gJ2V4cGlyZWQnOwoJICB9CgllbHNlIGlmKCAkdHNfc3RhcnQgPiB0aW1lKCkgKQoJICB7CgkgICAgJHJvd1snYWRkbl9zdGF0dXMnXSA9ICdmdXR1cmUnOwoJICB9CgllbHNlIAoJICB7CgkgICAgJHJvd1snYWRkbl9zdGF0dXMnXSA9ICdpbl9wcm9ncmVzcyc7CgkgIH0KICAgICAgfQoKICAgICR0bXAgPSAkdGhpcy0+R2V0VXNlckRldGFpbHMoJHJvd1snY3VzdG9tZXJfaWQnXSk7CiAgICAkcm93Wyd1c2VyZGV0YWlscyddID0gJHRtcDsKICB9CmlmKCBpc19hcnJheSgkcmVzZXJ2YXRpb25zKSAmJiBjb3VudCgkcmVzZXJ2YXRpb25zKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbnMnLCRyZXNlcnZhdGlvbnMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0cycsJHN0YXRzKTsKICB9CgovLwovLyBCdWlsZCB0aGUgZm9ybQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJCQkJIGFycmF5KCdjZ19hY3RpdmV0YWInPT4ncmVzZXJ2YXRpb25zJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCnsKICAkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUzsKICAkdG1wID0gJGRiLT5HZXRhcnJheSgkcXVlcnkpOwogIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApCiAgICB7CiAgICAgICRvcHRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgICB7CiAgICAgICAgICAkb3B0c1skb25lWyduYW1lJ11dID0gJG9uZVsnaWQnXTsKICAgICAgICB9CiAgICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfcnNyY3MnLAogICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ3Jlc3ZuX3JzcmNzW10nLCRvcHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWxfcnNyY3MpKTsKICAgIH0gIAp9CiRzbWFydHktPmFzc2lnbignYnRuZmlsdGVyJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdyZXN2bl9maWx0ZXInLCR0aGlzLT5MYW5nKCdhcHBseScpKSk7CiRzbWFydHktPmFzc2lnbignYnRucmVzZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc3ZuX3Jlc2V0JywkdGhpcy0+TGFuZygncmVzZXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ3Jlc3ZfZGF0ZScsJHN1X2RhdGUpOwokc21hcnR5LT5hc3NpZ24oJ3ByZXZtb250aF9saW5rJywKCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJycsCgkJCQkgICR0aGlzLT5MYW5nKCdwcmV2JyksCgkJCQkgIGFycmF5KCdjZ19hY3RpdmV0YWInPT4ncmVzZXJ2YXRpb25zJywKCQkJCQkncmVzdm5fbW9udGgnPT4kdGhlX21vbnRoLTEsCgkJCQkJJ3Jlc3ZuX3llYXInPT4kdGhlX3llYXIpKSk7CiRzbWFydHktPmFzc2lnbignbmV4dG1vbnRoX2xpbmsnLAoJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywnJywKCQkJCSAgJHRoaXMtPkxhbmcoJ25leHQnKSwKCQkJCSAgYXJyYXkoJ2NnX2FjdGl2ZXRhYic9PidyZXNlcnZhdGlvbnMnLAoJCQkJCSdyZXN2bl9tb250aCc9PiR0aGVfbW9udGgrMSwKCQkJCQkncmVzdm5feWVhcic9PiR0aGVfeWVhcikpKTsKCi8vCi8vIE91dHB1dAovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3Jlc2VydmF0aW9uc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservation_confirm_email_template_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCiAgICAgJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwncmVzdm5jZm1lbWFpbF8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservation_confirm_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCiAgICAgJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwncmVzdm5jZm1fJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTkNPTkZJUk1fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5DT05GSVJNX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservation_form_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3Jlc3ZuXycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfTkVXUkVTVk5fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfcmVzdm5fdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19yZXN2bl90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKSk7CgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_resources_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBTZXR1cAokcGFnZWxpbWl0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JzcmNzX3BhZ2VsaW1pdCcsMjUpOwokY2F0ZWdvcnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncnNyY3NfY2F0ZWdvcnknLC0xKTsKJGFjdGl2ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyc3Jjc19hY3RpdmUnLC0xKTsKJGN1cnBhZ2UgPSAxOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2N1cnBhZ2UnXSkgKQogIHsKICAgICRjdXJwYWdlID0gKGludCkkcGFyYW1zWydjdXJwYWdlJ107CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2J0bmZpbHRlcnJzcmNzJ10pICkKICB7CiAgICAkcGFnZWxpbWl0ID0gKGludCkkcGFyYW1zWydpbnB1dF9wYWdlbGltaXQnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyc3Jjc19wYWdlbGltaXQnLCRwYWdlbGltaXQpOwogICAgJGN1cnBhZ2UgPSAxOwoKICAgICRjYXRlZ29yeSA9IChpbnQpJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnknXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyc3Jjc19jYXRlZ29yeScsJGNhdGVnb3J5KTsKCiAgICAkYWN0aXZlID0gKGludCkkcGFyYW1zWydpbnB1dF9hY3RpdmUnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyc3Jjc19hY3RpdmUnLCRhY3RpdmUpOwogIH0KCi8vIHNvbWUgbWF0aAokc3RhcnRlbGVtZW50ID0gKCRjdXJwYWdlLTEpKiRwYWdlbGltaXQ7CgovLyBUT0RPOiBGT1JNIEZPUiBTRUxFQ1RJTkcgVFlQRQovLyBUT0RPOiBQQUdJTkFUSU9OCgovLwovLyBCdWlsZCB0aGUgRm9ybQovLwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTOwokdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwokY2F0cyA9IGFycmF5KCR0aGlzLT5MYW5nKCdhbnknKSA9PiAtMSk7CmZvcmVhY2goICR0bXAgYXMgJG9uZWNhdCApCnsKICAkY2F0c1skb25lY2F0WyduYW1lJ11dID0gJG9uZWNhdFsnaWQnXTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY2dfYWN0aXZldGFiJz0+J3Jlc291cmNlcycpKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2F0ZWdvcnknLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfY2F0ZWdvcnknLCRjYXRzLC0xLCRjYXRlZ29yeSkpOwokdG1wID0gYXJyYXkoJHRoaXMtPkxhbmcoJ2FsbCcpPT4xMDAwMDAwLCc1Jz0+NSwnMTAnPT4xMCwnMjUnPT4yNSwnNTAnPT41MCwnMTAwJz0+MTAwKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfcGFnZWxpbWl0JywkdG1wLC0xLCRwYWdlbGltaXQpKTsKJHRtcCA9IGFycmF5KCR0aGlzLT5MYW5nKCdhbnknKT0+LTEsJHRoaXMtPkxhbmcoJ3llcycpPT4xLCR0aGlzLT5MYW5nKCdubycpPT4wKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hY3RpdmUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfYWN0aXZlJywkdG1wLC0xLCRhY3RpdmUpKTsKJHNtYXJ0eS0+YXNzaWduKCdidG5maWx0ZXInLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2J0bmZpbHRlcnJzcmNzJywkdGhpcy0+TGFuZygnYXBwbHknKSkpOwoKLy8KLy8gQnVpbGQgdGhlIGRhdGEgZm9yIHRoZSBkaXNwbGF5Ci8vCgovLyBCdWlsZCB0aGUgcXVlcmllKHMpCiRjYW5fcmVvcmRlciA9IDE7CiRzdWJzZWxlY3RzID0gJyc7CiRxcGFybXMgPSBhcnJheSgpOwokd2hlcmUgPSBhcnJheSgpOwokam9pbnMgPSBhcnJheSgpOwokcXVlcnkxID0gJ1NFTEVDVCBSLionLiRzdWJzZWxlY3RzLicgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFInOwokcXVlcnkyID0gJ1NFTEVDVCBjb3VudChpZCkgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFInOwppZiggJGNhdGVnb3J5ICE9IC0xICkKICB7CiAgICAkY2FuX3Jlb3JkZXIgPSAwOwogICAgJGpvaW5zW10gPSBBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicgUkMgT04gUi5pZCA9IFJDLnJzcmNfaWQnOwogICAgJHdoZXJlW10gPSAnUkMuY2F0ZWdvcnlfaWQgPSA/JzsKICAgICRxcGFybXNbXSA9ICRjYXRlZ29yeTsKICB9CmlmKCAkYWN0aXZlICE9IC0xICkKICB7CiAgICAkY2FuX3Jlb3JkZXIgPSAwOwogICAgJHdoZXJlW10gPSAnUi5hY3RpdmUgPSA/JzsKICAgICRxcGFybXNbXSA9ICRhY3RpdmU7CiAgfQoKLy8gQXNzZW1ibGUgdGhlIHF1ZXJpZXMKaWYoIGNvdW50KCRqb2lucykgKQogIHsKICAgICRxdWVyeTEgLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICAgICRxdWVyeTIgLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICB9CmlmKCBjb3VudCgkd2hlcmUpICkKICB7CiAgICAkcXVlcnkxIC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgJHF1ZXJ5MiAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICB9CiRxdWVyeTEgLj0gJyBPUkRFUiBCWSBzb3J0aW5nIEFTQyc7CgovLyBHZXQgdGhlIGNvdW50CiRudW1yZWNvcmRzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5MiwkcXBhcm1zKTsKJG5wYWdlcyA9IChpbnQpKChpbnQpJG51bXJlY29yZHMgLyAkcGFnZWxpbWl0KTsKaWYoICgoaW50KSRudW1yZWNvcmRzICUgJHBhZ2VsaW1pdCkgKQogIHsKICAgICRucGFnZXMrKzsKICB9CmlmKCAkbnBhZ2VzID4gMSApCiAgewogICAgJGNhbl9yZW9yZGVyID0gMDsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywkY3VycGFnZS0xKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJwYWdlJywkY3VycGFnZSk7CiRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCRjdXJwYWdlKzEpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJG5wYWdlcyk7CiRzbWFydHktPmFzc2lnbignY2FuX3Jlb3JkZXInLCRjYW5fcmVvcmRlcik7CgovLyBUaGUgZGF0YSBmb3IgdGhlIHRhYmxlCiRkYnIgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeTEsJHBhZ2VsaW1pdCwkc3RhcnRlbGVtZW50LCRxcGFybXMpOwoKJHJlc291cmNlcyA9IGFycmF5KCk7CiRxdWVyeV9mdXR1cmUgPSAnU0VMRUNUIENPVU5UKERJU1RJTkNUIHJlc3ZfaWQpIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyBXSEVSRSByc3JjX2lkID0gPyBBTkQgKHN0YXJ0X2RhdGUgPiBOT1coKSBPUiBlbmRfZGF0ZSA+IE5PVygpKSc7CiRxdWVyeV9wYXN0ID0gJ1NFTEVDVCBDT1VOVChESVNUSU5DVCByZXN2X2lkKSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicgV0hFUkUgcnNyY19pZCA9ID8gQU5EIChzdGFydF9kYXRlIDwgTk9XKCkgT1IgZW5kX2RhdGUgPCBOT1coKSknOwp3aGlsZSggJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSApCiAgewogICAgJHJvd1sncGFzdF9yZXN2bnMnXSA9ICRkYi0+R2V0T25lKCRxdWVyeV9wYXN0LGFycmF5KCRyb3dbJ2lkJ10pKTsKICAgICRyb3dbJ2Z1dHVyZV9yZXN2bnMnXSA9ICRkYi0+R2V0T25lKCRxdWVyeV9mdXR1cmUsYXJyYXkoJHJvd1snaWQnXSkpOwogICAgJHJlc291cmNlc1tdID0gJHJvdzsKICB9CmlmKCBpc19hcnJheSgkcmVzb3VyY2VzKSAmJiBjb3VudCgkcmVzb3VyY2VzKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNvdXJjZXMnLCRyZXNvdXJjZXMpOwogIH0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fcmVzb3VyY2VzX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_resource_detail_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdkZXRhaWxfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlX2RldGFpbF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX0RGTFRERVRBSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fZGV0YWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_resource_summary_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCiAgICAgJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnc3VtbWFyeV8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlX3N1bW1hcnlfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_sendemail_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdzZW5kZW1haWxfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbmRlbWFpbF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTRU5ERU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVfdGFiLnRwbCcpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.admin_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldFR5cGVzRHJvcGRvd24oJiRtb2QsJGlkLCRuYW1lLCRzZWxlY3RlZCA9ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWRkdGV4dCA9ICcnLCRzZWxlY3RvbmUgPSBmYWxzZSkKewogICAkaXRlbXMgPSBhcnJheSgpOwogICBpZiggJHNlbGVjdG9uZSApCiAgICAgewoJJGl0ZW1zWyRtb2QtPkxhbmcoJ3NlbGVjdF9vbmUnKV0gPSAnJzsKICAgICB9CiAgICRpdGVtc1skbW9kLT5MYW5nKCd0ZXh0Ym94JyldID0gJ3RleHRib3gnOwogICAkaXRlbXNbJG1vZC0+TGFuZygnY2hlY2tib3gnKV0gPSAnY2hlY2tib3gnOwogICAkaXRlbXNbJG1vZC0+TGFuZygndGV4dGFyZWEnKV0gPSAndGV4dGFyZWEnOwogICAkaXRlbXNbJG1vZC0+TGFuZygnZHJvcGRvd24nKV0gPSAnZHJvcGRvd24nOwogICAkaXRlbXNbJG1vZC0+TGFuZygnaW1hZ2V0ZXh0JyldID0gJ2ltYWdlJzsKICAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2ZpbGUnKV0gPSAnZmlsZSc7CgogICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRuYW1lLCAkaXRlbXMsIC0xLCAkc2VsZWN0ZWQsCiAgIAkJCQkgICRhZGR0ZXh0KTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRSZXNvdXJjZVR5cGUoJiRtb2QsJHBsdXJhbCA9IGZhbHNlKQp7CiAgICAkc3RyID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzb3VyY2VfdHlwZScsJ3Jlc291cmNlJyk7CiAgICBpZiggJHBsdXJhbCApCiAgICAgIHsKCSRzdHIgLj0gJ3MnOwogICAgICB9CiAgICAkdHIgPSAkbW9kLT5MYW5nKHN0cnRvbG93ZXIoJHN0cikpOwogICAgaWYoIHN0cnN0cigkdHIsJ0FkZCBNZScpICE9PSBGQUxTRSApCiAgICAgIHsKCS8vIGNvdWxkbid0IGZpbmQgYSB0cmFuc2xhdGlvbiBmb3IgdGhpcwoJLy8gc28gc2tpcCBpdCBhbmQgdXNlIGl0IHdpdGhvdXQKCS8vIFRPRE86IHB1dCBhIG5vdGljZSBpbnRvIHRoZSBsb2c/CgkkdHIgPSB1Y3dvcmRzKCRzdHIpOwogICAgICB9CiAgICByZXR1cm4gJHRyOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0hhbmRsZUZpbGVVcGxvYWQoJiRtb2QsJGlkLCRuYW1lLCRyZWNvcmRfaWQsJiR2YWx1ZSwKCQkJCSAgICAgICAmJHJlc3VsdCkKewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJG1vZC0+R2V0TmFtZSgpLCdyZXNvdXJjZXNfJy4kcmVjb3JkX2lkKTsKICAgIGNnZV9kaXI6Om1rZGlyciggJGRlc3RkaXIgKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApCiAgICAgIHsKCSRyZXN1bHQgPSAnZXJyb3JfbWtkaXInOwoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJGhhbmRsZXIgPSBuZXcgY2dfZmlsZXVwbG9hZCgkaWQsJGRlc3RkaXIpOwogICAgJGhhbmRsZXItPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJG1vZC0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdHlwZXMnKSk7CiAgICAkcmVzID0gJGhhbmRsZXItPmhhbmRsZV91cGxvYWQoJG5hbWUpOwogICAgaWYoICEkcmVzICYmICRoYW5kbGVyLT5nZXRfZXJyb3IoKSAhPSBDR0ZJTEVVUExPQURfTk9GSUxFICkKICAgICAgewoJJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKCSRyZXN1bHQgPSBzcHJpbnRmKCIlcyAlczogJXMiLCRtb2QtPkxhbmcoJ2ZpZWxkJyksJGRlZi0+bmFtZSwKCQkJICAkbW9kLT5HZXRVcGxvYWRFcnJvck1lc3NhZ2UoJGVycikpOwoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICBlbHNlIGlmKCAhJHJlcyApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICR2YWx1ZSA9ICRyZXM7CiAgICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0hhbmRsZUltYWdlVXBsb2FkKCYkbW9kLCRpZCwkbmFtZSwkcmVjb3JkX2lkLAoJCQkJCSYkdmFsdWUsJiRyZXN1bHQpCnsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRtb2QtPkdldE5hbWUoKSwncmVzb3VyY2VzXycuJHJlY29yZF9pZCk7CiAgICBjZ2VfZGlyOjpta2RpcnIoICRkZXN0ZGlyICk7CiAgICBpZiggIWlzX2RpcigkZGVzdGRpcikgKQogICAgICB7CgkkcmVzdWx0ID0gJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInKS4nOiAnLiRkZXN0ZGlyOwoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJGhhbmRsZXIgPSBuZXcgY2dfZmlsZXVwbG9hZCgkaWQsJGRlc3RkaXIpOwogICAgJGhhbmRsZXItPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJG1vZC0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdHlwZXMnKSk7CiAgICAkcmVzID0gJGhhbmRsZXItPmhhbmRsZV91cGxvYWQoJG5hbWUsJycpOwogICAgJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKICAgIGlmKCAhJHJlcyAmJiAkZXJyICE9IENHRklMRVVQTE9BRF9OT0ZJTEUgKQogICAgICB7CgkkcmVzdWx0ID0gc3ByaW50ZigiJXMgJXM6ICVzIiwkbW9kLT5MYW5nKCdlcnJvcl91cGxvYWQnKSwkbmFtZSwKCQkJICAkbW9kLT5HZXRVcGxvYWRFcnJvck1lc3NhZ2UoJGVycikpOwoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICBlbHNlIGlmKCAhJHJlcyApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICR2YWx1ZSA9ICRyZXM7CgogICAgaWYoICRtb2QtPkdldFByZWZlcmVuY2UoJ2F1dG9fdGh1bWJuYWlsJykgKQogICAgICB7Cgkkc3JjbmFtZSA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJHZhbHVlKTsKCSRkZXN0bmFtZSA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJ3RodW1iXycuJHZhbHVlKTsKCSRtb2QtPlRyYW5zZm9ybUltYWdlKCRzcmNuYW1lLCRkZXN0bmFtZSk7CiAgICAgIH0KICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfSGFuZGxlSW1hZ2VEZWxldGUoJiRtb2QsJGlkLCRyZWNvcmRfaWQsJHZhbHVlKQp7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkbW9kLT5HZXROYW1lKCksJ3Jlc291cmNlc18nLiRyZWNvcmRfaWQpOwogICAgaWYoICFpc19kaXIoJGRlc3RkaXIpICkKICAgICAgewoJcmV0dXJuIHRydWU7CiAgICAgIH0KCiAgICAkZm4gPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCR2YWx1ZSk7CiAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApIAogICAgICB7CglAdW5saW5rKCRmbik7CglpZiggZmlsZV9leGlzdHMoJGZuKSApIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICRmbiA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJ3RodW1iXycuJHZhbHVlKTsKICAgIGlmKCBmaWxlX2V4aXN0cygkZm4pICkgCiAgICAgIHsKCUB1bmxpbmsoJGZuKTsKCWlmKCBmaWxlX2V4aXN0cygkZm4pICkgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuIHRydWU7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfSGFuZGxlRmlsZURlbGV0ZSgmJG1vZCwkaWQsJHJlY29yZF9pZCwkdmFsdWUpCnsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRtb2QtPkdldE5hbWUoKSwncmVzb3VyY2VzXycuJHJlY29yZF9pZCk7CiAgICBpZiggIWlzX2RpcigkZGVzdGRpcikgKQogICAgICB7CglyZXR1cm4gdHJ1ZTsKICAgICAgfQoKICAgICRmbiA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJHZhbHVlKTsKICAgIGlmKCBmaWxlX2V4aXN0cygkZm4pICkgCiAgICAgIHsKCUB1bmxpbmsoJGZuKTsKCWlmKCBmaWxlX2V4aXN0cygkZm4pICkgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9sb2FkRXZlbnRUeXBlcygmJG1vZCkKewogICAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nCiAgICAgICAgICAgICAgIE9SREVSIGJ5IGlvcmRlcic7CiAgICAkcmVzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgCiAgICBpZiggJHJlcyApIAogICAgICB7CgkkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXMgPSBhcnJheSgpOwoJZm9yZWFjaCggJHJlcyBhcyAkb25lICkKCSAgewoJICAgICRtb2QtPmNhY2hlZF9ldmVudF90eXBlc1skb25lWydpZCddXSA9ICRvbmU7CgkgIH0KICAgICAgfQp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0RXZlbnRUeXBlRnJvbUlEKCYkbW9kLCRldmVudF9pZCkKewogICAgaWYoICFpc19hcnJheSgkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXMpICkKICAgICAgewoJJG1vZC0+X2xvYWRFdmVudFR5cGVzKCk7CiAgICAgIH0KCiAgICBpZiggIWlzc2V0KCRtb2QtPmNhY2hlZF9ldmVudF90eXBlc1skZXZlbnRfaWRdKSApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgcmV0dXJuICRtb2QtPmNhY2hlZF9ldmVudF90eXBlc1skZXZlbnRfaWRdWyduYW1lJ107Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRFdmVudFR5cGVEcm9wZG93bkxpc3QoJiRtb2QsJGFueSA9IGZhbHNlKQp7CiAgICBpZiggIWlzX2FycmF5KCRtb2QtPmNhY2hlZF9ldmVudF90eXBlcykgKQogICAgICB7CgkkbW9kLT5fbG9hZEV2ZW50VHlwZXMoKTsKICAgICAgfQoKICAgICRyZXMgPSBhcnJheSgpOwogICAgaWYoICRhbnkgKQogICAgICB7CgkkcmVzWyRtb2QtPkxhbmcoJ2FueScpXSA9IC0xOwogICAgICB9CiAgICBpZiggY291bnQoJG1vZC0+Y2FjaGVkX2V2ZW50X3R5cGVzKSApCiAgICAgIHsKCWZvcmVhY2goICRtb2QtPmNhY2hlZF9ldmVudF90eXBlcyBhcyAka2V5ID0+ICR2YWwgKQoJICB7CgkgICAgJHJlc1skdmFsWyduYW1lJ11dID0gJHZhbFsnaWQnXTsKCSAgfQogICAgICB9CiAgICByZXR1cm4gJHJlczsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRVc2VyRGV0YWlscygmJG1vZCwkdWlkKQp7CiAgJGZldSA9JiAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogIGlmKCAhaXNfb2JqZWN0KCRmZXUpICkgcmV0dXJuIGZhbHNlOwogIAogICRnaWQgPSAoaW50KSRtb2QtPkdldFByZWZlcmVuY2UoJ2N1c3RvbWVyX2dyb3VwJyk7CiAgaWYoICRnaWQgPT0gLTEgKSByZXR1cm4gZmFsc2U7CiAgCiAgJHRtcCA9ICRmZXUtPkdldFVzZXJJbmZvKCR1aWQpOwogIGlmKCAkdG1wWzBdID09PSBGQUxTRSApIHJldHVybiBmYWxzZTsKICAkb25ldXNlciA9ICR0bXBbMV07CiAgJG9uZXVzZXJbJ3Byb3BzJ10gPSAkZmV1LT5HZXRVc2VyUHJvcGVydGllcygkdWlkKTsKICAKICAkcmVzdWx0ID0gYXJyYXkoKTsKICAkcmVzdWx0Wyd1c2VybmFtZSddID0gJG9uZXVzZXJbJ3VzZXJuYW1lJ107CiAgJHJlc3VsdFsnZW1haWwnXSA9ICRmZXUtPkdldEVtYWlsKCR1aWQpOwogIAogIGdsb2JhbCAkZ0NtczsKICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkb25ldXNlclsndXNlcm5hbWUnXSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdfZW1haWxfYWRkcmVzc18nLCRyZXN1bHRbJ2VtYWlsJ10pOwogICRzbWFydHktPmFzc2lnbigndXNlcmlkJywkb25ldXNlclsnaWQnXSk7CiAgaWYoIGlzc2V0KCRvbmV1c2VyWydwcm9wcyddKSApCiAgICB7CiAgICAgIGZvcmVhY2goICRvbmV1c2VyWydwcm9wcyddIGFzICRvbmVwcm9wICkKCXsKCSAgJHNtYXJ0eS0+YXNzaWduKCRvbmVwcm9wWyd0aXRsZSddLCRvbmVwcm9wWydkYXRhJ10pOwoJfQogICAgfQogICRzdHIgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgKCSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJywneyR1c2VybmFtZX0nKSk7CiAgJHJlc3VsdFsnZGlzcGxheSddID0gJHN0cjsKICByZXR1cm4gJHJlc3VsdDsKfQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldFVzZXJEcm9wZG93bkxpc3QoJiRtb2QpCnsKICAkcmVzdWx0ID0gZmFsc2U7CiAgCiAgJGZldSA9JiAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogIGlmKCAhaXNfb2JqZWN0KCRmZXUpICkgcmV0dXJuIGZhbHNlOwogIAogICRnaWQgPSAoaW50KSRtb2QtPkdldFByZWZlcmVuY2UoJ2N1c3RvbWVyX2dyb3VwJyk7CiAgaWYoICRnaWQgPT0gLTEgKSByZXR1cm4gZmFsc2U7CiAgCiAgZ2xvYmFsICRnQ21zOwogICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwogICR1c2VycyA9ICRmZXUtPkdldEZ1bGxVc2Vyc0luR3JvdXAoJGdpZCk7CiAgJHJlc3VsdCA9IGFycmF5KCk7CiAgaWYoICR1c2VycyAhPT0gRkFMU0UgKQogICAgewogICAgICBmb3JlYWNoKCAkdXNlcnMgYXMgJG9uZXVzZXIgKQoJewoJICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkb25ldXNlclsndXNlcm5hbWUnXSk7CgkgICRzbWFydHktPmFzc2lnbignX2VtYWlsX2FkZHJlc3NfJywkZmV1LT5HZXRFbWFpbCgkb25ldXNlclsnaWQnXSkpOwoJICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJpZCcsJG9uZXVzZXJbJ2lkJ10pOwoJICBpZiggaXNzZXQoJG9uZXVzZXJbJ3Byb3BzJ10pICkKCSAgICB7CgkgICAgICBmb3JlYWNoKCAkb25ldXNlclsncHJvcHMnXSBhcyAkb25lcHJvcCApCgkJewoJCSAgJHNtYXJ0eS0+YXNzaWduKCRvbmVwcm9wWyd0aXRsZSddLCRvbmVwcm9wWydkYXRhJ10pOwoJCX0KCSAgICB9CgkgICRzdHIgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgKCSAgICAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJywneyR1c2VybmFtZX0nKSk7CgkgICRyZXN1bHRbdHJpbSgkc3RyKV0gPSAkb25ldXNlclsnaWQnXTsKCSAgYXNvcnQoJHJlc3VsdCk7Cgl9CiAgICB9CiAgcmV0dXJuICRyZXN1bHQ7Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9TZWFyY2hSZUluZGV4KCYkbW9kLCYkc2VhcmNobW9kdWxlKQp7CiAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJwogICAgICAgICAgICAgV0hFUkUgYWN0aXZlID0gMQogICAgICAgICAgICAgT1JERVIgQlkgYmFzZV9wcmljZSBERVNDJzsKICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgd2hpbGUoICRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkgKQogICAgewogICAgICAkZmxkcyA9ICRtb2QtPkdldEZpZWxkc0ZvclJzcmMoJHJvd1snaWQnXSk7CiAgICAgICRzdHIgPSAkcm93WyduYW1lJ10uJyAnLiRyb3dbJ2Rlc2NyaXB0aW9uJ107CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRmbGRzKTsgJGkrKyApCgl7CgkgIGlmKCAkZmxkc1skaV1bJ3R5cGUnXSA9PSAndGV4dGJveCcgfHwgJGZsZHNbJGldWyd0eXBlJ10gPT0gJ3RleHRhcmVhJyApCgkgICAgewoJICAgICAgJHN0ciAuPSAnICcuJGZsZHNbJGldWyd2YWx1ZSddOwoJICAgIH0KCX0KICAgICAgJHNlYXJjaG1vZHVsZS0+QWRkV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkcm93WydpZCddLCAncmVzb3VyY2UnLCAkc3RyICk7CiAgICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.common_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0FkanVzdFByaWNlKCYkbW9kLCRwcmljZSwkYWRqdXN0bWVudCkKewogICAgaWYoIGVtcHR5KCRhZGp1c3RtZW50KSApIHJldHVybiAkcHJpY2U7CgogICAgJG9wID0gJysnOwogICAgJHRtcCA9ICRhZGp1c3RtZW50WzBdOwogICAgaWYoICR0bXAgPT0gJyonIHx8ICR0bXAgPT0gJysnIHx8ICR0bXAgPT0gJy0nICkKICAgICAgewoJJG9wID0gJHRtcDsKCSRhZGp1c3RtZW50ID0gc3Vic3RyKCRhZGp1c3RtZW50LDEpOwogICAgICB9CiAgICBpZiggIWlzX251bWVyaWMoJGFkanVzdG1lbnQpICkgcmV0dXJuICRwcmljZTsKICAgICRhZGp1c3RtZW50ID0gZmxvYXR2YWwoJGFkanVzdG1lbnQpOwogICAgc3dpdGNoKCAkb3AgKQogICAgICB7CiAgICAgIGNhc2UgJysnOgoJJHByaWNlICs9ICRhZGp1c3RtZW50OwoJYnJlYWs7CiAgICAgIGNhc2UgJy0nOgoJJHByaWNlIC09ICRhZGp1c3RtZW50OwoJYnJlYWs7CiAgICAgIGNhc2UgJyonOgoJJHByaWNlICo9ICRhZGp1c3RtZW50OwoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuICRwcmljZTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9DYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCYkbW9kLCYkcmVzZXJ2YXRpb24pCnsKICAgIC8vIEkga25vdyB0aGlzIHJvdXRpbmUgY291bGQgcHJvYmFibHkgYmUgYSBoZWxsdXZhIGxvdCBtb3JlIGVmZmljaWVudAogICAgLy8gYnV0IEknbGwgcmUtdGFja2xlIHRoYXQgYXQgYSBsYXRlciB0aW1lLgogICAgJGRiID0mICRtb2QtPkdldERiKCk7CgogICAgLy8gZ2V0IHRoZSB1bmlxdWUgcmVzb3VyY2UgaWRzCiAgICAkcmVzb3VyY2VzID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRpKysgKQogICAgICB7CgkkcmVzb3VyY2VzW10gPSAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJGldWydyc3JjX2lkJ107CiAgICAgIH0KICAgICRwYXJ0cyA9IGNnZV9hcnJheTo6dG9faGFzaCgkcmVzZXJ2YXRpb25bJ3BhcnRzJ10sJ3JzcmNfaWQnKTsKCiAgICAvLyAxLiAgR2V0IGJhc2UgcHJpY2UgYW5kIG90aGVyIGluZm8gZm9yIHNlbGVjdGVkIHJlc291cmNlcwogICAgJHEgPSAnU0VMRUNUIGlkLGJhc2VfcHJpY2UsY2FwYWNpdHkscmVzX2ludGVydmFsIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBhY3RpdmUgPTEgQU5EIGlkIElOKCcuaW1wbG9kZSgnLCcsJHJlc291cmNlcykuJyknOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHEpOwogICAgJHJzcmNzID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ2lkJyk7CgogICAgLy8gMi4gIEdldCB3ZWVrZGF5IHByaWNlIGFkanVzdG1lbnRzIGFuZCBvdGhlciBhZGp1c3RtZW50cyBmb3Igc2VsZWN0ZWQgcmVzb3VyY2VzLgogICAgLy8gICAgIGFuZCBwdXQgdGhlbSB0b2dldGhlci4KICAgICRxID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMuJyBXSEVSRSByc3JjX2lkIElOICgnLmltcGxvZGUoJywnLCRyZXNvdXJjZXMpLicpJzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCiAgICAgIHsKCSR0aWQgPSAkb25lWydyc3JjX2lkJ107CgkkdG1wMiA9IGFycmF5KCk7CgkkdG1wMlswXSA9ICRvbmVbJ3N1bmRheSddOwoJJHRtcDJbMV0gPSAkb25lWydtb25kYXknXTsKCSR0bXAyWzJdID0gJG9uZVsndHVlc2RheSddOwoJJHRtcDJbM10gPSAkb25lWyd3ZWRuZXNkYXknXTsKCSR0bXAyWzRdID0gJG9uZVsndGh1cnNkYXknXTsKCSR0bXAyWzVdID0gJG9uZVsnZnJpZGF5J107CgkkdG1wMls2XSA9ICRvbmVbJ3NhdHVyZGF5J107CgkkcnNyY3NbJHRpZF1bJ3dlZWtkYXlzJ10gPSAkdG1wMjsKCSRyc3Jjc1skdGlkXVsnb3ZlcmNhcCddID0gJG9uZVsnb3ZlcmNhcCddOwoJJHJzcmNzWyR0aWRdWydkaXNjb3VudF9kYXlzJ10gPSAkb25lWydkaXNjb3VudF9kYXlzJ107CgkkcnNyY3NbJHRpZF1bJ2Rpc2NvdW50X2FkanVzdCddID0gJG9uZVsnZGlzY291bnRfYWRqdXN0J107CgkkcnNyY3NbJHRpZF1bJ2Rpc2NvdW50X3R5cGUnXSA9ICRvbmVbJ2Rpc2NvdW50X3R5cGUnXTsKICAgICAgfQoKICAgIC8vIDQuICBmb3IgZWFjaCByZXNlcnZhdGlvbiBwYXJ0CiAgICBmb3IoICRwbiA9IDA7ICRwbiA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRwbisrICkKICAgICAgewoJJHRoZXBhcnQgPSYgJHJlc2VydmF0aW9uWydwYXJ0cyddWyRwbl07Cgkkb25lcnNyYyA9JiAkcnNyY3NbJHRoZXBhcnRbJ3JzcmNfaWQnXV07CgkkcGFydF9zdGFydF9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkcGFydHNbJG9uZXJzcmNbJ2lkJ11dWydzdGFydF9kYXRlJ10pOwoJJHBhcnRfZW5kX2RhdGUgPSAkZGItPkRiVGltZVN0YW1wKCRwYXJ0c1skb25lcnNyY1snaWQnXV1bJ2VuZF9kYXRlJ10pOwoKCS8vIEdldCBldmVudHMgaW4gZWZmZWN0IGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMsIGZvciB0aGlzIHJlc291cmNlCgkkcSA9ICdTRUxFQ1QgRElTVElOQ1QgaWQsbmFtZSxib29rYWJsZSxwcmljZV9hZGp1c3QsVE9fREFZUyhzdGFydF9kYXRlKSBBUyBzdGFydF9kYXksVE9fREFZUyhlbmRfZGF0ZSkgYXMgZW5kX2RheSAKICAgICAgICAgIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLicgRQogICAgICAgICAgTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTLiIgUkUKICAgICAgICAgIE9OIEUuaWQgPSBSRS5ldmVudF9pZAogICAgICAgICAgV0hFUkUgUkUucnNyY19pZCA9ID8KICAgICAgICAgICAgQU5EIE5PVCAoJHBhcnRfc3RhcnRfZGF0ZSA+IEUuZW5kX2RhdGUgT1IgJHBhcnRfZW5kX2RhdGUgPCBFLnN0YXJ0X2RhdGUpIjsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxLGFycmF5KCR0aGVwYXJ0Wydyc3JjX2lkJ10pKTsKCSRxID0gJ1NFTEVDVCByc3JjX2lkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJyBXSEVSRSBldmVudF9pZCA9ID8nOwoJJGV2ZW50cyA9IGFycmF5KCk7Cglmb3JlYWNoKCAkdG1wIGFzICRvbmVldmVudCApCgkgIHsKCSAgICAkdG1wMiA9ICRkYi0+R2V0QXJyYXkoJHEsYXJyYXkoJG9uZWV2ZW50WydpZCddKSk7CgkgICAgJG9uZWV2ZW50Wydyc3JjcyddID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAyLCdyc3JjX2lkJyk7CgkgICAgJGV2ZW50c1tdID0gJG9uZWV2ZW50OwoJICB9CgoJLy8gZ2V0IHNvbWUgZGF0ZSBpbmZvcm1hdGlvbgoJJHEgPSAiU0VMRUNUIFRPX0RBWVMoJHBhcnRfc3RhcnRfZGF0ZSkgQVMgc3RhcnRfZGF5LCBUT19EQVlTKCRwYXJ0X2VuZF9kYXRlKSBBUyBlbmRfZGF5IjsKCSRkYXludW1iZXJzID0gJGRiLT5HZXRSb3coJHEpOwoJJHdlZWtkYXlzID0gYXJyYXkoKTsKCWZvciggJGQgPSAkZGF5bnVtYmVyc1snc3RhcnRfZGF5J107ICRkIDw9ICRkYXludW1iZXJzWydlbmRfZGF5J107ICRkKysgKQoJICB7CgkgICAgJHEgPSAiU0VMRUNUIERBWU9GV0VFSyhGUk9NX0RBWVMoJGQpKS0xIjsKCSAgICAkd2Vla2RheXNbJGRdID0gJGRiLT5HZXRPbmUoJHEpOwoJICB9CgoJLy8gYWRqdXN0IGZvciBkYWlseSByZXNvdXJjZXMKCWlmKCAkb25lcnNyY1sncmVzX2ludGVydmFsJ10gPT0gJ2RhaWx5JyApCgkgIHsKCSAgICAkZGF5bnVtYmVyc1snZW5kX2RheSddIC09IDE7CgkgIH0KCgkvLyAgYS4gZm9yIGVhY2ggZGF5CgkkcHJpY2VkYXlzID0gYXJyYXkoKTsKCWZvciggJGRheW51bSA9ICRkYXludW1iZXJzWydzdGFydF9kYXknXTsgJGRheW51bSA8PSAkZGF5bnVtYmVyc1snZW5kX2RheSddOyAkZGF5bnVtICsrICkKCSAgewoJICAgIC8vIGRvbid0IGRvIGNhbGN1bGF0aW9ucyBmb3Igc2FtZSBkYXkgdHdpY2UuCgkgICAgaWYoIGlzc2V0KCRwcmljZWRheXNbJGRheW51bV0pICkgY29udGludWU7CgoJICAgIC8vIGkuIHNldCB0aGUgcHJpY2UgZm9yIHRoYXQgZGF5IHRvIHRoZSBiYXNlIHByaWNlCgkgICAgJHRtcDIgPSBhcnJheSgnYmFzZV9wcmljZSc9PiRvbmVyc3JjWydiYXNlX3ByaWNlJ10sCgkJCSAgJ3ByaWNlJz0+JG9uZXJzcmNbJ2Jhc2VfcHJpY2UnXSwKCQkJICAnYWRqdXN0bWVudHMnPT5hcnJheSgpLAoJCQkgICdvdmVyY2FwX2FtdCc9PjApOwoKCSAgICAvLyBpaS4gYWRqdXN0IHRoZSBwcmljZSBiYXNlZCBvbiB0aGUgd2Vla2RheQoJICAgICRkb3cgPSAkd2Vla2RheXNbJGRheW51bV07CgkgICAgaWYoICFlbXB0eSgkb25lcnNyY1snd2Vla2RheXMnXVskZG93XSkgKQoJICAgICAgewoJCSR0bXAyWydwcmljZSddID0gJG1vZC0+QWRqdXN0UHJpY2UoJHRtcDJbJ2Jhc2VfcHJpY2UnXSwkb25lcnNyY1snd2Vla2RheXMnXVskZG93XSk7CgkJJHRtcDJbJ2FkanVzdG1lbnRzJ11bXSA9ICRtb2QtPkxhbmcoJ2FkanVzdF93ZWVrZGF5X3ByaWNlJywkZG93LCRvbmVyc3JjWyd3ZWVrZGF5cyddWyRkb3ddKTsKCSAgICAgIH0KCgkgICAgLy8gaWlpLiBhZGp1c3QgdGhlIHByaWNlIGJhc2VkIG9uIG92ZXJjYXBhY2l0eQoJICAgIGlmKCAkb25lcnNyY1snY2FwYWNpdHknXSA+IDAgJiYgJG9uZXJzcmNbJ292ZXJjYXAnXSA+IDAgJiYKCQkkdGhlcGFydFsnbnVtX3Blb3BsZSddID4gJG9uZXJzcmNbJ2NhcGFjaXR5J10pCgkgICAgICB7CgkJJG51bSA9ICgkdGhlcGFydFsnbnVtX3Blb3BsZSddIC0gJG9uZXJzcmNbJ2NhcGFjaXR5J10pOwoJCSRvdmVyY2FwID0gICRudW0gKiAkb25lcnNyY1snb3ZlcmNhcCddOwoJCSR0bXAyWydwcmljZSddICs9ICRvdmVyY2FwOwoJCSR0bXAyWydhZGp1c3RtZW50cyddW10gPSAkbW9kLT5MYW5nKCdhZGp1c3Rfb3ZlcmNhcGFjaXR5JywkbnVtLCRvdmVyY2FwKTsKCSAgICAgIH0KCgkgICAgLy8gaXYuIGZvciBlYWNoIGV2ZW50CgkgICAgZm9yZWFjaCggJGV2ZW50cyBhcyAkb25lZXZlbnQgKQoJICAgICAgewoJCS8vIDEuIHRlc3QgaWYgZXZlbnQgaW4gZWZmZWN0IGZvciB0aGlzIHJlc291cmNlCgkJaWYoICFpbl9hcnJheSgkb25lcnNyY1snaWQnXSwkb25lZXZlbnRbJ3JzcmNzJ10pICkgY29udGludWU7CgoJCS8vIDIuIGlmIHRoZSBldmVudCBpcyBub3QgYm9va2FibGUsIHJldHVybiBlcnJvcgoJCWlmKCAhJG9uZWV2ZW50Wydib29rYWJsZSddICkgCgkJICB7CgkJICAgIC8vIHNob3VsZG4ndCBnZXQgaGVyZSBkdWUgdG8gcXVlcnksIGJ1dCBqdXN0IGluIGNhc2UuCgkJICAgIGNvbnRpbnVlOwoJCSAgfQoKCQkvLyAzLiAgdGVzdCBpZiB0aGUgZXZlbnQgaXMgaW4gZWZmZWN0IGZvciB0aGlzIGRheQoJCWlmKCAkZGF5bnVtIDwgJG9uZWV2ZW50WydzdGFydF9kYXknXSB8fCAkZGF5bnVtID4gJG9uZWV2ZW50WydlbmRfZGF5J10gKQoJCSAgewoJCSAgICAvLyBzaG91bGRuJ3QgZ2V0IGhlcmUgZHVlIHRvIHF1ZXJ5LCBidXQganVzdCBpbiBjYXNlCgkJICAgIGNvbnRpbnVlOwoJCSAgfQoJCgkJaWYoICFlbXB0eSgkb25lZXZlbnRbJ3ByaWNlX2FkanVzdCddKSApCgkJICB7CgkJICAgIC8vIGEuIG1hcmsgcHJpY2UgYXMgYWRqdXN0ZWQKCQkgICAgJHRtcDJbJ2FkanVzdG1lbnRzJ11bXSA9ICRtb2QtPkxhbmcoJ2FkanVzdF9ldmVudF9wcmljZScsJG9uZWV2ZW50WydpZCddLCRvbmVldmVudFsncHJpY2VfYWRqdXN0J10pOwoKCQkgICAgLy8gYi4gYWRqdXN0IHByaWNlIGZvciB0aGF0IGRheQoJCSAgICAkdG1wMlsncHJpY2UnXSA9ICRtb2QtPkFkanVzdFByaWNlKCR0bXAyWydwcmljZSddLCRvbmVldmVudFsncHJpY2VfYWRqdXN0J10pOwoJCSAgfQoJICAgICAgfQoKCSAgICAkcHJpY2VkYXlzWyRkYXludW1dID0gJHRtcDI7CgkgIH0gLy8gZm9yIGRheW51bQoKCS8qIGJ1bGsgZGlzY291bnRzCgkvLyBub3cgYXBweSBidWxrIGRpc2NvdW50cyBpZiBhbnkuCglpZiggJG9uZXJzcmNbJ2Rpc2NvdW50X2RheXMnXSA+IDAgJiYgCgkgICAgJG9uZXJzcmNbJ2Rpc2NvdW50X3R5cGUnXSAhPSBBVkFJTEFCSUxJVFlfRElTQ09VTlRfTk9ORSAmJgoJICAgICFlbXB0eSgkb25lcnNyY1snZGlzY291bnRfYWRqdXN0J10pICYmCgkgICAgY291bnQoJHByaWNlZGF5cykgPiAkb25lcnNyY1snZGlzY291bnRfZGF5cyddICkKCSAgewoJICAgIC8vIHdvb3QsIGEgZGlzY291bnQgb2Ygc29tZSB0eXBlIGFwcGxpZXMuCgkgICAgc3dpdGNoKCRvbmVyc3JjWydkaXNjb3VudF90eXBlJ10pCgkgICAgICB7CgkgICAgICBjYXNlIEFWQUlMQUJJTElUWV9ESVNDT1VOVF9BTExBREpVU1Q6CgkJLy8gdGhlIHNpbXBsZXN0IG9mIHRoZSBhZGp1c3RtZW50IHR5cGVzCgkJLy8gd2UganVzdCBhZGp1c3QgdGhlIHByaWNlIG9mIGVhY2ggZGF5IGJ5IHRoZSBhbW91bnQgc3BlY2lmaWVkCgkJZm9yZWFjaCggJHByaWNlZGF5cyBhcyAkZGF5bnVtID0+ICR0bXAyICkKCQkgIHsKCQkgICAgJHRtcDJbJ3ByaWNlJ10gPSAkbW9kLT5BZGp1c3RQcmljZSgkdG1wMlsncHJpY2UnXSwkb25lcnNyY1snZGlzY291bnRfYWRqdXN0J10pOwoJCSAgICAkdG1wMlsnYWRqdXN0bWVudHMnXVtdID0gJG1vZC0+TGFuZygnYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCcsJG9uZXJzcmNbJ2Rpc2NvdW50X2FkanVzdCddKTsKCQkgICAgJHByaWNlZGF5c1skZGF5bnVtXSA9ICR0bXAyOwoJCSAgfQoJCWJyZWFrOwoKCSAgICAgIGNhc2UgQVZBSUxBQklMSVRZX0RJU0NPVU5UX0FESlVTVERBWVM6CgkJLy8gYWRqdXN0IG9ubHkgdGhlIG1hdGNoaW5nIGRheXMgYnkgdGhlIGFkanVzdG1lbnQKCQkkbiA9IGNvdW50KCRwcmljZWRheXMpIC0gKGNvdW50KCRwcmljZWRheXMpICUgJG9uZXJzcmNbJ2Rpc2NvdW50X2RheXMnXSk7CgkJZm9yZWFjaCggJHByaWNlZGF5cyBhcyAkZGF5bnVtID0+ICR0bXAyICkKCQkgIHsKCQkgICAgaWYoICRuIDw9IDAgKSBicmVhazsKCQkgICAgJG4tLTsKCgkJICAgICR0bXAyWydwcmljZSddID0gJG1vZC0+QWRqdXN0UHJpY2UoJHRtcDJbJ3ByaWNlJ10sJG9uZXJzcmNbJ2Rpc2NvdW50X2FkanVzdCddKTsKCQkgICAgJHRtcDJbJ2FkanVzdG1lbnRzJ11bXSA9ICRtb2QtPkxhbmcoJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJywkb25lcnNyY1snZGlzY291bnRfYWRqdXN0J10pOwoJCSAgICAkcHJpY2VkYXlzWyRkYXludW1dID0gJHRtcDI7CgkJICB9CgkJYnJlYWs7CgoJICAgICAgY2FzZSBBVkFJTEFCSUxJVFlfRElTQ09VTlRfRlJFRUJMT0NLOgoJCS8vIHRoZSBtb3N0IGNvbXBsZXggb2YgdGhlIGRpc2NvdW50aW5nCgkJLy8gZm9yIGVhY2ggYXBwbGljYWJsZSBibG9jayBvZiBOIGRheXMuLi4gZmluZCB0aGUgY2hlYXBlc3QKCQkvLyBhbmQgbWFyayB0aG9zZSBkYXlzIGFzIGZyZWUuLgoJCSRhZGp1c3QgPSAoaW50KSRvbmVyc3JjWydkaXNjb3VudF9hZGp1c3QnXTsKCQkkYWRqdXN0ID0gbWF4KDEsJGFkanVzdCk7CgkJJGFkanVzdCA9IG1pbigkb25lcnNyY1snZGlzY291bnRfZGF5cyddLCRhZGp1c3QpOwoJCSRuID0gKChpbnQpKGNvdW50KCRwcmljZWRheXMpLyRvbmVyc3JjWydkaXNjb3VudF9kYXlzJ10pKSAqICRhZGp1c3Q7CgkJZm9yKCAkaSA9IDA7ICRpIDwgJG47ICRpKysgKQoJCSAgewoJCSAgICAkdmFsID0gOTk5OTk5OTsKCQkgICAgJHZpID0gLTE7CgkJICAgIGZvcmVhY2goICRwcmljZWRheXMgYXMgJGRheW51bSA9PiAkdG1wMiApCgkJICAgICAgewoJCQlpZiggJHRtcDJbJ3ByaWNlJ10gPCAkdmFsICYmICFpc3NldCgkdG1wMlsnZGlzY291bnRlZCddKSkKCQkJICB7CgkJCSAgICAkdmFsID0gJHRtcDJbJ3ByaWNlJ107CgkJCSAgICAkdmkgPSAkZGF5bnVtOwoJCQkgIH0KCQkgICAgICB9CgkJICAgIGlmKCAkdmkgPiAwICkKCQkgICAgICB7CgkJCSRwcmljZWRheXNbJHZpXVsncHJpY2UnXSA9IDA7CgkJCSRwcmljZWRheXNbJHZpXVsnZGlzY291bnRlZCddID0gMTsKCQkJJHByaWNlZGF5c1skdmldWydhZGp1c3RtZW50cyddW10gPSAkbW9kLT5MYW5nKCdhZGp1c3RfZGlzY291bnRfZnJlZWJsb2NrJyk7CgkJICAgICAgfQoJCSAgfQoJCSAgYnJlYWs7CgkJfQoJICAgICAgfSAvLyBidWxrIGRpc2NvdW50cyAKICAgICAgICAgKi8KCgkvLyB3ZSBoYXZlIGNhbGN1bGF0ZWQgZGF0YSBmb3IgdGhpcyBkYXkKCS8vIG5vdyBtZXJnZSBpdCBpbnRvIHRoZSBtYXN0ZXIuCgkkdG90YWwgPSAwOwoJZm9yZWFjaCggJHByaWNlZGF5cyBhcyAkdG1wZGF5ID0+ICR0bXByZWMgKQoJICB7CgkgICAgZm9yZWFjaCggJHRtcHJlYyBhcyAkbmFtZSA9PiAkdmFsdWUgKQoJICAgICAgewoJCXN3aXRjaCgkbmFtZSkKCQkgIHsKCQkgIGNhc2UgJ3ByaWNlJzoKCQkgICAgJHRvdGFsICs9ICR2YWx1ZTsKCQkgICAgYnJlYWs7CgoJCSAgY2FzZSAnYWRqdXN0bWVudHMnOgoJCSAgICBpZiggaXNzZXQoJHRoZXBhcnRbJ2FkanVzdG1lbnRzJ10pICYmIGlzX2FycmF5KCR0aGVwYXJ0WydhZGp1c3RtZW50cyddKSApCgkJICAgICAgewoJCQkkdGhlcGFydFsnYWRqdXN0bWVudHMnXSA9IGFycmF5X21lcmdlKCR0aGVwYXJ0WydhZGp1c3RtZW50cyddLCR2YWx1ZSk7CgkJICAgICAgfQoJCSAgICBlbHNlCgkJICAgICAgewoJCQkkdGhlcGFydFsnYWRqdXN0bWVudHMnXSA9ICR2YWx1ZTsKCQkgICAgICB9CgkJICAgIGJyZWFrOwoJCSAgfQoJICAgICAgfQoJICB9CgkkdGhlcGFydFsncHJpY2UnXSA9ICR0b3RhbDsKICAgICAgfSAvLyBmb3JlYWNoIHBhcnQKCiAgICAkcmVzZXJ2YXRpb25bJ2NhbGN1bGF0ZWQnXSA9IDE7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfQ2FsY3VsYXRlUmVzZXJ2YXRpb25QcmljZSgmJG1vZCwmJHJlc2VydmF0aW9uKQp7CiAgaWYoICFpc3NldCgkcmVzZXJ2YXRpb25bJ2NhbGN1bGF0ZWQnXSkgfHwgJHJlc2VydmF0aW9uWydjYWxjdWxhdGVkJ10gPT0gMCApCiAgICB7CiAgICAgICRtb2QtPkNhbGN1bGF0ZVJlc2VydmF0aW9uUGFydHMoJHJlc2VydmF0aW9uKTsKICAgIH0KCiAgLy8gc2V0IHRvdGFsIHRvIDAKICAkdG90YWwgPSAwOwogIGlmKCAhY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKSApIHJldHVybiBGQUxTRTsKCiAgLy8gb3IgZWFjaCBQQVJUCiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKTsgJGkrKyApCiAgICB7CiAgICAgICR0b3RhbCA9ICR0b3RhbCArICRyZXNlcnZhdGlvblsncGFydHMnXVskaV1bJ3ByaWNlJ107CiAgICB9CiAgCiAgLy8gcmV0dXJuIHRoZSB0b3RhbCBwcmljZQogIHJldHVybiAkdG90YWw7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfQ2hlY2tSZXNlcnZhdGlvbkNvbmZsaWN0cygmJG1vZCwkcmVzZXJ2YXRpb24sJGFsbGNvbmZsaWN0cyA9IDApCnsKICBkZWJ1Z190b19sb2coJ2NoZWNrIHJlc2VydmF0aW9uIGNvbmZsaWN0cycpOwogIGRlYnVnX3RvX2xvZygkcmVzZXJ2YXRpb24pOwoKICAvLyBDaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgcmVzZXJ2YXRpb25zCiAgZ2xvYmFsICRnQ21zOwogICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKTsgJGkrKyApCiAgICB7CiAgICAgICRwYXJ0ID0mICRyZXNlcnZhdGlvblsncGFydHMnXVskaV07CiAgICAgICRzdGFydF9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkcGFydFsnc3RhcnRfZGF0ZSddKTsKICAgICAgJGVuZF9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkcGFydFsnZW5kX2RhdGUnXSk7CgkKICAgICAgJHFwYXJtcyA9IGFycmF5KCk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgYS5yZXN2X2lkLGIuc3RhdHVzIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuIiBhCiAgICAgICAgICAgICAgICAgIExFRlQgSk9JTiAiLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuIiBiCiAgICAgICAgICAgICAgICAgICAgT04gYS5yZXN2X2lkID0gYi5pZAogICAgICAgICAgICAgICAgIFdIRVJFICgoIChhLnN0YXJ0X2RhdGUgQkVUV0VFTiAkc3RhcnRfZGF0ZSBBTkQgJGVuZF9kYXRlKSBPUiAoYS5lbmRfZGF0ZSBCRVRXRUVOICRzdGFydF9kYXRlIEFORCAkZW5kX2RhdGUpKQogICAgICAgICAgICAgICAgICAgIE9SIChhLnN0YXJ0X2RhdGUgPCAkc3RhcnRfZGF0ZSBBTkQgYS5lbmRfZGF0ZSA+ICRlbmRfZGF0ZSkpCiAgICAgICAgICAgICAgICAgICBBTkQgYS5yc3JjX2lkID0gPyI7CiAgICAgICRxcGFybXNbXSA9ICRwYXJ0Wydyc3JjX2lkJ107CgogICAgICBpZiggISRhbGxjb25mbGljdHMgKQoJewoJICAvLyBvbmx5IGNoZWNrIGFnYWluc3QgY29uZmlybWVkIHJlc2VydmF0aW9ucy4KCSAgJHF1ZXJ5IC49ICcgQU5EIGIuc3RhdHVzID0gPyc7CgkgICRxcGFybXNbXSA9IEFWQUlMQUJJTElUWV9TVEFUVVNfQ09ORklSTUVEOwoJfQogICAgICBpZiggaXNzZXQoJHJlc2VydmF0aW9uWydpZCddKSApCgl7CgkgICRxdWVyeSAuPSAiIEFORCBhLnJlc3ZfaWQgIT0gPyI7CgkgICRxcGFybXNbXSA9ICRyZXNlcnZhdGlvblsnaWQnXTsKCX0KICAgICAgJHF1ZXJ5IC49ICIgTElNSVQgMSI7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksJHFwYXJtcyk7CiAgICAgIGlmKCAkdG1wICkKCXsKCSAgcmV0dXJuIHRydWU7Cgl9CgogICAgICBkZWJ1Z190b19sb2coJGRiLT5zcWwpOwogICAgICBkZWJ1Z190b19sb2coJHRtcCk7CgogICAgICAvLyBDaGVjayBmb3IgY29uZmxpY3RzIHdpdGggZXZlbnRzCiAgICAgICRxcGFybXMgPSBhcnJheSgpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUIHJlLnJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJyBldgogICAgICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuIiByZQogICAgICAgICAgICAgICAgICAgIE9OIGV2LmlkID0gcmUuZXZlbnRfaWQKICAgICAgICAgICAgICAgICBXSEVSRSAoKGV2LnN0YXJ0X2RhdGUgQkVUV0VFTiAkc3RhcnRfZGF0ZSBBTkQgJGVuZF9kYXRlKQogICAgICAgICAgICAgICAgICAgIE9SIChldi5lbmRfZGF0ZSBCRVRXRUVOICRzdGFydF9kYXRlIEFORCAkZW5kX2RhdGUpKQogICAgICAgICAgICAgICAgICAgQU5EIHJzcmNfaWQgSU4gPSA/CiAgICAgICAgICAgICAgICAgICBBTkQgZXYuYm9va2FibGUgPSAwCiAgICAgICAgICAgICAgICAgTElNSVQgMSI7CiAgICAgICRxcGFybXNbXSA9ICRwYXJ0Wydyc3JjX2lkJ107CiAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksJHFwYXJtcyk7CiAgICAgIGlmKCAkdG1wICkKCXsKCSAgcmV0dXJuIHRydWU7Cgl9CiAgICB9CgogIHJldHVybiBmYWxzZTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9BZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbDIoJiRtb2QsJiRyc3JjLCRzdGFydF9kYXRlLCRlbmRfZGF0ZSwkbWVyaWRpYW4gPSAnJykKewogIHN3aXRjaCggJHJzcmNbJ3Jlc19pbnRlcnZhbCddICkKICAgIHsKICAgIGNhc2UgJ2RhaWx5JzoKICAgICAgJHN0YXJ0X2RhdGUgPSBjZ2VfZGF0ZV91dGlsczo6dHNfc2V0X3RpbWVfZnJvbV9zdHIoJHN0YXJ0X2RhdGUsJHJzcmNbJ2NoZWNraW50aW1lJ10pOwogICAgICAkZW5kX2RhdGUgPSBjZ2VfZGF0ZV91dGlsczo6dHNfc2V0X3RpbWVfZnJvbV9zdHIoJGVuZF9kYXRlLCRyc3JjWydjaGVja291dHRpbWUnXSk7CiAgICAgIC8vIGVuc3VyZSBzdGFydF9kYXRlIGlzIGxlc3MgdGhhbiBlbmQgZGF0ZQogICAgICAvLyBpZiBub3QsIGFkZCAxIGRheSB0byBlbmQgZGF0ZQogICAgICBpZiggJHN0YXJ0X2RhdGUgPj0gJGVuZF9kYXRlICkKCXsKCSAgJGVuZF9kYXRlID0gc3RydG90aW1lKCcrMSBkYXknLCRlbmRfZGF0ZSk7Cgl9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2hvdXJseSc6CiAgICAgICRlbmRfdG1wID0gbmV3IGNnZV9kYXRlKCRzdGFydF9kYXRlKTsKICAgICAgJGVuZF90bXAtPnNldF9ob3VyKCRlbmRfdG1wLT5ob3VyKCkrMSk7CiAgICAgICRlbmRfdG1wLT5zZXRfc2Vjb25kcygwKTsKICAgICAgJGVuZF9kYXRlID0gJGVuZF90bXAtPnRvX3RpbWVzdGFtcCgpOwogICAgICBicmVhazsKCiAgICBjYXNlICdoYWxmX2RheSc6CiAgICAgIHN3aXRjaCgkbWVyaWRpYW4pCgl7CgljYXNlICdhbSc6CgkgICRzdGFydF9kYXRlID0gY2dlX2RhdGVfdXRpbHM6OnRzX3NldF90aW1lX2Zyb21fc3RyKCRzdGFydF9kYXRlLCRyc3JjWydzdGFydHRpbWUxJ10pOwoJICAkZW5kX2RhdGUgICA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcnNyY1snZW5kdGltZTEnXSk7CgkgIGJyZWFrOwoJY2FzZSAncG0nOgoJICAkc3RhcnRfZGF0ZSA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcnNyY1snc3RhcnR0aW1lMiddKTsKCSAgJGVuZF9kYXRlICAgPSBjZ2VfZGF0ZV91dGlsczo6dHNfc2V0X3RpbWVfZnJvbV9zdHIoJHN0YXJ0X2RhdGUsJHJzcmNbJ2VuZHRpbWUyJ10pOwoJICBicmVhazsKCWRlZmF1bHQ6CgkgICRyZXNbJ3Jlc3VsdCddID0gJ2Vycm9yJzsKCSAgJHJlc1snbWVzc2FnZSddID0gJG1vZC0+TGFuZygnZXJyb3JfaW52YWxpZF9kYXRlcycpOwoJICBicmVhazsKCX0KICAgICAgYnJlYWs7CiAgICB9CgogIHJldHVybiBhcnJheSgkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldFJlc291cmNlU3VtbWFyeSgmJG1vZCwmJHJzcmMpCnsKICAvLyBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgYWJvdXQgbW9kIHJlc291cmNlLi4uIHNob3VsZCB0ZWxsCiAgLy8gdGhlIHR5cGUgb2YgcmVzb3VyY2UsIGhvdyBhdmFpbGFibGUgdGltZXMgYW5kIGRheXMuCiAgJHRtcCA9IGFycmF5KCk7CiAgLy8kdG1wW10gPSAkcnNyY1sncmVzX2ludmVydmFsJ107CiAgaWYoICRyc3JjWydyZXNfaW50ZXJ2YWwnXSA9PSAnaG91cmx5JyApCiAgICB7CiAgICAgICR0bXBbXSA9ICRtb2QtPkxhbmcoJ3Jlc291cmNlX3N1bW1hcnlfMScsCgkJCSAgJG1vZC0+TGFuZygkcnNyY1sncmVzX2ludGVydmFsJ10pLAoJCQkgICRtb2QtPkxhbmcoJHJzcmNbJ2dyYW51bGFyaXR5J10pKTsKICAgICAgJHRtcFtdID0gJG1vZC0+TGFuZygncmVzb3VyY2Vfc3VtbWFyeV8zJywKCQkJICAgJHJzcmNbJ3N0YXJ0dGltZTEnXSwKCQkJICAgJHJzcmNbJ2VuZHRpbWUxJ10sCgkJCSAgICRyc3JjWydzdGFydHRpbWUyJ10sCgkJCSAgICRyc3JjWydlbmR0aW1lMiddKTsKICAgIH0KICBlbHNlIGlmKCAkcnNyY1sncmVzX2ludGVydmFsJ10gPT0gJ2hhbGZfZGF5JyApCiAgICB7CiAgICAgICR0bXBbXSA9ICRtb2QtPkxhbmcoJ3Jlc291cmNlX3N1bW1hcnlfMicsJG1vZC0+TGFuZygkcnNyY1sncmVzX2ludGVydmFsJ10pKTsKICAgICAgJHRtcFtdID0gJG1vZC0+TGFuZygncmVzb3VyY2Vfc3VtbWFyeV8zJywKCQkJICAgJHJzcmNbJ3N0YXJ0dGltZTEnXSwKCQkJICAgJHJzcmNbJ2VuZHRpbWUxJ10sCgkJCSAgICRyc3JjWydzdGFydHRpbWUyJ10sCgkJCSAgICRyc3JjWydlbmR0aW1lMiddKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICR0bXBbXSA9ICRtb2QtPkxhbmcoJ3Jlc291cmNlX3N1bW1hcnlfMicsJG1vZC0+TGFuZygkcnNyY1sncmVzX2ludGVydmFsJ10pKTsKICAgICAgJHRtcFtdID0gJG1vZC0+TGFuZygncmVzb3VyY2Vfc3VtbWFyeV80JywKCQkJICAgJHJzcmNbJ2NoZWNraW50aW1lJ10sCgkJCSAgICRyc3JjWydjaGVja291dHRpbWUnXSk7CiAgICB9CgogIHJldHVybiBpbXBsb2RlKCcsICcsJHRtcCk7Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRSZXNvdXJjZSgmJG1vZCwkcnNyY19pZCkKewogIGlmKCAhaXNfYXJyYXkoJG1vZC0+Y2FjaGVkX3Jlc291cmNlcykgKQogICAgewogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAgICAgCiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTOwogICAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICBpZiggISR0bXAgKSByZXR1cm4gRkFMU0U7CiAgICAgICRtb2QtPmNhY2hlZF9yZXNvdXJjZXMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAgIH0KICAKICBpZiggIWlzc2V0KCRtb2QtPmNhY2hlZF9yZXNvdXJjZXNbJHJzcmNfaWRdKSApIHJldHVybiBGQUxTRTsKCiAgcmV0dXJuICRtb2QtPmNhY2hlZF9yZXNvdXJjZXNbJHJzcmNfaWRdOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0FkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCYkbW9kLCRyc3JjX2lkLCRzdGFydF91dCwkZW5kX3V0LCRtZXJpZGlhbikKewogICRyb3cgPSAkbW9kLT5HZXRSZXNvdXJjZSgkcnNyY19pZCk7CiAgbGlzdCgkc3RhcnRfdGltZSwkZW5kX3RpbWUpID0gYXZhaWxhYmlsaXR5X0FkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsMigkbW9kLCRyb3csJHN0YXJ0X3V0LCRlbmRfdXQsJG1lcmlkaWFuKTsKICAkcGFydCA9IGFycmF5KCk7CiAgJHBhcnRbJ3JzcmNfaWQnXSA9ICRyc3JjX2lkOwogICRwYXJ0WydzdGFydF9kYXRlJ10gPSAkc3RhcnRfdGltZTsKICAkcGFydFsnZW5kX2RhdGUnXSA9ICRlbmRfdGltZTsKICAkcGFydFsncHJpY2UnXSA9IDA7CgogIC8vIGRvbmUKICByZXR1cm4gJHBhcnQ7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0QWRtaW5DQ0xpc3QoJiRtb2QpCnsKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICR0bXAgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJyk7CiAgJG9yaWdsaXN0ID0gZXhwbG9kZSgnLCcsJHRtcCk7CiAgJHVpZGxpc3QgPSBhcnJheSgpOwogIGZvcmVhY2goICRvcmlnbGlzdCBhcyAkb25lICkKICAgIHsKICAgICAgaWYoICRvbmUgPCAwICkKCXsKCSAgJHF1ZXJ5ID0gJ1NFTEVDVCB1c2VyX2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ3VzZXJfZ3JvdXBzIAogICAgICAgICAgICAgICAgICAgICBXSEVSRSBncm91cF9pZCA9ID8nOwoJICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJG9uZSAqIC0xKSk7CgkgICR0bXAgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHRtcCwndXNlcl9pZCcpOwoJICAkdWlkbGlzdCA9IGFycmF5X21lcmdlKCR1aWRsaXN0LCR0bXApOwoJfQogICAgICBlbHNlCgl7CgkgICR1aWRsaXN0W10gPSAkb25lOwoJfQogICAgfQoKICAkdWlkbGlzdCA9IGFycmF5X3VuaXF1ZSgkdWlkbGlzdCk7CiAgJGNjZW1haWxsaXN0ID0gYXJyYXkoKTsKICBpZiggY291bnQoJHVpZGxpc3QpID4gMCApCiAgICB7CiAgICAgICR1c2Vyb3BzID0mICRnQ21zLT5HZXRVc2VyT3BlcmF0aW9ucygpOwogICAgICAkYWxsdXNlcnMgPSAkdXNlcm9wcy0+TG9hZFVzZXJzKCk7CiAgICAgIGZvcmVhY2goICR1aWRsaXN0IGFzICR1aWQgKQoJewoJICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkYWxsdXNlcnMpOyAkaSsrICkKCSAgICB7CgkgICAgICBpZiggJGFsbHVzZXJzWyRpXS0+YWN0aXZlID09IDEgJiYKCQkgICRhbGx1c2Vyc1skaV0tPmlkID09ICR1aWQgJiYgCgkJICAhZW1wdHkoJGFsbHVzZXJzWyRpXS0+ZW1haWwpICkKCQl7CgkJICAkY2NlbWFpbGxpc3RbXSA9ICRhbGx1c2Vyc1skaV0tPmVtYWlsOwoJCX0KCSAgICB9Cgl9CiAgICAgICRjY2VtYWxsaXN0ID0gYXJyYXlfdW5pcXVlKCRjY2VtYWlsbGlzdCk7CiAgICB9CgogIGlmKCBjb3VudCgkY2NlbWFpbGxpc3QpICkKICAgIHsKICAgICAgcmV0dXJuICRjY2VtYWlsbGlzdDsKICAgIH0KICByZXR1cm4gZmFsc2U7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfU2VuZFJlc2VydmF0aW9uRGV0YWlsc0VtYWlsKCYkbW9kLCRyZXN2X2lkLCR0ZW1wbGF0ZSwkbG9naXQsJiRlcnJvcikKewogIGdsb2JhbCAkZ0NtczsKICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgJGZldSA9ICRtb2QtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CgogICRyZXN2X29iaiA9IHJlc2VydmF0aW9uX29wczo6bG9hZF9ieV9pZCgkcmVzdl9pZCk7CiAgaWYoICFpc19vYmplY3QoJHJlc3Zfb2JqKSApCiAgICB7CiAgICAgICRlcnJvciA9ICRtb2QtPkRpc3BsYXlFcnJvck1lc3NhZ2UoJG1vZC0+TGFuZygnZXJyb3Jfbm90Zm91bmQnKSk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgJHJlc2VydmF0aW9uID0gJHJlc3Zfb2JqLT50b19hcnJheSgpOwogICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgcnNyY19pZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICR0bXAgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nCiAgICAgICAgICAgV0hFUkUgYWN0aXZlID0gMQogICAgICAgICAgICAgQU5EIGlkIElOICgnLmltcGxvZGUoJywnLCR0bXApLicpJzsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICRyZXNlcnZhdGlvblsncmVzb3VyY2VzJ10gPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAkY3VzdGlkID0gJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddOwogICR1c2Vyb2JqID0mIGF2YWlsYWJpbGl0eV9HZXRVc2VyT2JqZWN0KCRtb2QsJGN1c3RpZCk7CgogIC8vIEdhdGhlciBlbWFpbCBhZGRyZXNzZXMKICBpZiggZW1wdHkoJHVzZXJvYmotPmVtYWlsKSApCiAgICB7CiAgICAgICRlcnJvciA9ICRtb2QtPkxhbmcoJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJyk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAkY2NlbWFpbGxpc3QgPSAkbW9kLT5HZXRBZG1pbkNDTGlzdCgpOwoKICAvLwogIC8vIEdpdmUgZGF0YSB0byBzbWFydHkKICAvLwogICRkZXRhaWxwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJywtMSk7CiAgaWYoICRkZXRhaWxwYWdlID09IC0xICkKICAgIHsKICAgICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CiAgICB9CiAgJHByZXR0eV91cmwgPSAkbW9kLT5HZXRSZXNvdXJjZVR5cGUoKS4iL3ZpZXdyZXN2bi8kZGV0YWlscGFnZS97JHJlc2VydmF0aW9uWydpZCddfSI7CiAgJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbicsJHJlc2VydmF0aW9uKTsKICBpZiggY291bnQoJHJlc2VydmF0aW9uWydub3RlcyddKSApCiAgICB7CiAgICAgICRzbWFydHktPmFzc2lnbignbm90ZXMnLCRyZXNlcnZhdGlvblsnbm90ZXMnXSk7CiAgICB9CiAgJHNtYXJ0eS0+YXNzaWduKCd1c2VyaW5mbycsJHVzZXJvYmopOwogICRzbWFydHktPmFzc2lnbignZWRpdF91cmwnLAoJCSAgJG1vZC0+Q3JlYXRlVVJMKCdjbnRudDAxJywnYWRkcmVzdm4nLCRkZXRhaWxwYWdlLAoJCQkJICAgYXJyYXkoJ3Jlc3ZfaWQnPT4kcmVzZXJ2YXRpb25bJ2lkJ10pLAoJCQkJICAgZmFsc2UsJHByZXR0eV91cmwpKTsKICAkc21hcnR5LT5hc3NpZ24oJ2VtYWlsX3VybCcsCgkJICAkbW9kLT5DcmVhdGVVUkwoJ2NudG50MDEnLCdzZW5kZW1haWwnLCRkZXRhaWxwYWdlLAoJCQkJICBhcnJheSgncmVzdl9pZCc9PiRyZXNlcnZhdGlvblsnaWQnXSkpKTsKICAKICAvLyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQogICRib2R5ID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdyZXN2bmNmbWVtYWlsXycuJHRlbXBsYXRlKTsKICAkc3ViamVjdCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcsCgkJCQkkbW9kLT5MYW5nKCdkZmx0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcpKTsKICAkc3ViamVjdCA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRzdWJqZWN0KTsKICAkYXR0YWNobWVudCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudCcpOwoKICAkbWFpbGVyID0mICRtb2QtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAkbWFpbGVyLT5yZXNldCgpOwogICRtYWlsZXItPlNldFN1YmplY3QoJHN1YmplY3QpOwogICRtYWlsZXItPlNldEJvZHkoJGJvZHkpOwogICRtYWlsZXItPklzSFRNTCh0cnVlKTsKICBpZiggJGF0dGFjaG1lbnQgIT0gLTEgJiYgIWVtcHR5KCRhdHRhY2htZW50KSApCiAgICB7CiAgICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgICAkZm4gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRhdHRhY2htZW50KTsKICAgICAgaWYoIEBmaWxlX2V4aXN0cygkZm4pICkKCXsKCSAgJG1haWxlci0+QWRkQXR0YWNobWVudCgkZm4sJGF0dGFjaG1lbnQpOwoJfQogICAgfQogICRtYWlsZXItPkFkZEFkZHJlc3MoJHVzZXJvYmotPmVtYWlsKTsKICBpZiggaXNfYXJyYXkoJGNjZW1haWxsaXN0KSApCiAgICB7CiAgICAgIGZvcmVhY2goJGNjZW1haWxsaXN0IGFzICRvbmVhZGRyKQoJewoJICAkbWFpbGVyLT5BZGRCQ0MoJG9uZWFkZHIpOwoJfQogICAgfQogICRtYWlsZXItPlNlbmQoKTsKCiAgaWYoICRsb2dpdCApCiAgICB7CiAgICAgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CiAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9OT1RFUy4iCiAgICAgICAgICAgICAgICAgKHJlc3ZfaWQsIHN1YmplY3QsIHRleHQsIGNyZWF0ZV9kYXRlLCBhZG1pbl9ub3RlKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPywkbm93LDEpIjsKICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc2VydmF0aW9uWydpZCddLCRzdWJqZWN0LCRib2R5KSk7CiAgICAgIGlmKCAhJGRiciApCgl7CgkgIGVjaG8gIkZBVEFMIERCIEVSUk9SOjxici8+IjsKCSAgZWNobyAiJm5ic3A7Jm5ic3A7UVVFUlk6ICIuJGRiLT5zcWwuIjxici8+IjsKCSAgZWNobyAiJm5ic3A7Jm5ic3A7RVJST1I6ICIuJGRiLT5FcnJvck1zZygpLiI8YnIvPiI7Cgl9CiAgICB9CgogIHJldHVybiB0cnVlOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldFJlc2VydmF0aW9uQXR0cmlidXRlKCYkbW9kLCRyZXN2bl9pZCwkYXR0cmliLCRkZmx0KQp7CiAgZ2xvYmFsICRnQ21zOwogICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAKICBpZiggZW1wdHkoJGF0dHJpYikgKSByZXR1cm4gJGRmbHQ7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX0FUVFJJQlMuJwogICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8gQU5EIG5hbWUgPSA/JzsKICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRyZXN2bl9pZCwkYXR0cmliKSk7CiAgaWYoICEkdG1wICkgcmV0dXJuICRkZmx0OwogIHJldHVybiAkdG1wOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X1NldFJlc2VydmF0aW9uQXR0cmlidXRlKCYkbW9kLCRyZXN2bl9pZCwkYXR0cmliLCR2YWx1ZSkKewogIGdsb2JhbCAkZ0NtczsKICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgCiAgaWYoIGVtcHR5KCRhdHRyaWIpICkgcmV0dXJuIGZhbHNlOwogICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9BVFRSSUJTLicKICAgICAgICAgICAgIFdIRVJFIHJlc3ZuX2lkID0gPyBBTkQgbmFtZSA9ID8nOwogICRpZCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcmVzdm5faWQsJGF0dHJpYikpOwogIGlmKCAkaWQgKQogICAgewogICAgICAvLyB1cGRhdGUKICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9BVFRSSUJTLicKICAgICAgICAgICAgICAgICAgU0VUIHZhbHVlID0gPyBXSEVSRSBpZCA9ID8nOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR2YWx1ZSwkaWQpKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIC8vIGluc2VydAogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUy4nCiAgICAgICAgICAgICAgICAgIChyZXN2X2lkLG5hbWUsdmFsdWUpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/KSc7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQsJGF0dHJpYiwkdmFsdWUpKTsKICAgIH0KICByZXR1cm4gdHJ1ZTsKfQoKCmZ1bmN0aW9uICZhdmFpbGFiaWxpdHlfR2V0VXNlck9iamVjdCgmJG1vZCwkY3VzdGlkKQp7CiAgJGZldSA9JiAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoKICAkZGF0YSA9IGFycmF5KCk7CiAgJHRtcCA9ICRmZXUtPkdldFVzZXJQcm9wZXJ0aWVzKCRjdXN0aWQpOwogICR1c2VycHJvcHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwndGl0bGUnKTsKICAkbWVtYmVyZ3JvdXBzID0gJGZldS0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoJGN1c3RpZCk7CiAgJHByb3BlcnRpZXMgPSBhcnJheSgpOwogIGZvcmVhY2goICRtZW1iZXJncm91cHMgYXMgJG9uZWdyb3VwICkKICAgIHsKICAgICAgJHByb3ByZWxhdGlvbnMgPSAkZmV1LT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCRvbmVncm91cFsnZ3JvdXBpZCddKTsKICAgICAgJHByb3BlcnRpZXMgPSBSUlV0aWxzOjphcnJheV9tZXJnZV9ieV9uYW1lX3JlcXVpcmVkKCRwcm9wZXJ0aWVzLCRwcm9wcmVsYXRpb25zKTsKICAgICAgdWFzb3J0KCAkcHJvcGVydGllcywgYXJyYXkoJ1JSVXRpbHMnLCdjb21wYXJlX2VsZW1lbnRzX2J5X3NvcnRvcmRlcl9rZXknKSApOwogICAgfQogIGZvcmVhY2goICRwcm9wZXJ0aWVzIGFzICRvbmVwcm9wICkKICAgIHsKICAgICAgJGRlZm4gPSAkZmV1LT5HZXRQcm9wZXJ0eURlZm4oICRvbmVwcm9wWyduYW1lJ10gKTsKICAgICAgJG9iaiA9IG5ldyBTdGRDbGFzcygpOwogICAgICAkb2JqLT5uYW1lID0gJGRlZm5bJ25hbWUnXTsKICAgICAgJG9iai0+cHJvbXB0ID0gJGRlZm5bJ3Byb21wdCddOwogICAgICBpZiggaXNzZXQoJHVzZXJwcm9wc1skb25lcHJvcFsnbmFtZSddXSkgKQoJJG9iai0+dmFsdWUgPSAkdXNlcnByb3BzWyRvbmVwcm9wWyduYW1lJ11dWydkYXRhJ107CiAgICAgICRkYXRhWyRvbmVwcm9wWyduYW1lJ11dID0gJG9iajsKICAgIH0KICAkdXNlcm9iaiA9IG5ldyBTdGRDbGFzcygpOwogICR1c2Vyb2JqLT51c2VybmFtZSA9ICRmZXUtPkdldFVzZXJOYW1lKCRjdXN0aWQpOwogICR1c2Vyb2JqLT51aWQgPSAkY3VzdGlkOwogICR1c2Vyb2JqLT5lbWFpbCA9ICRmZXUtPkdldEVtYWlsKCRjdXN0aWQpOwogICR1c2Vyb2JqLT5wcm9wZXJ0aWVzID0gJGRhdGE7CgogIGdsb2JhbCAkZ0NtczsKICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkdXNlcm9iai0+dXNlcm5hbWUpOwogICRzbWFydHktPmFzc2lnbignX2VtYWlsX2FkZHJlc3NfJywkdXNlcm9iai0+ZW1haWwpOwogICRzbWFydHktPmFzc2lnbigndXNlcmlkJywkY3VzdGlkKTsKCiAgJHN0ciA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKAoJICRtb2QtPkdldFByZWZlcmVuY2UoJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnLCd7JHVzZXJuYW1lfScpKTsKICAkdXNlcm9iai0+ZGlzcGxheSA9ICRzdHI7CiAgCiAgcmV0dXJuICR1c2Vyb2JqOwp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfQ2FsY051bVNsb3RzKCRyZXNvdXJjZXMgPSAnJywkc3RhcnR0aW1lID0gJycsJGVuZHRpbWUgPSAnJywkaW5jbHVkZV9ldmVudHMgPSAxKQp7CiAgZ2xvYmFsICRnQ21zOwogICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAkcnNyY19kYXRhID0gJyc7CgogIGlmKCBpc19hcnJheSgkcmVzb3VyY2VzKSApCiAgICB7CiAgICAgIC8vIGxpc3Qgb2YgcmVzb3VyY2VzCiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicKICAgICAgICAgICAgICAgICBXSEVSRSBpZCBJTiAoJy5pbXBsb2RlKCcsJywkcmVzb3VyY2VzKS4nKSc7CiAgICAgICRyc3JjX2RhdGEgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGlmKCAhJHJzcmNfZGF0YSApIHJldHVybiBGQUxTRTsKICAgICAgCiAgICB9CiAgZWxzZSBpZiggJHJlc291cmNlcyAhPSAnJyApCiAgICB7CiAgICAgIC8vIHNpbmdsZSByZXNvdXJjZQogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nCiAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICAgJHJzcmMgPSAkZGItPkdldFJvdygkcXVlcnkpOwogICAgICBpZiggISRyc3JjICkgcmV0dXJuIEZBTFNFOwoKICAgICAgJHJzcmNfZGF0YSA9IGFycmF5KCk7CiAgICAgICRyc3JjX2RhdGFbXSA9ICRyc3JjOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgLy8gYWxsIHJlc291cmNlcy4KICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQzsKICAgICAgJHJzcmNfZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgaWYoICEkcnNyY19kYXRhICkgcmV0dXJuIEZBTFNFOwogICAgfQoKICBpZiggJGluY2x1ZGVfZXZlbnRzICkKICAgIHsKICAgICAgLy8gZ2V0IHRoZSBsaXN0IG9mIHJlc291cmNlIGlkcwogICAgICAkcnNyY19pZHMgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHJzcmNfZGF0YSwnaWQnKTsKCiAgICAgIC8vIGdldCB0aGUgbGlzdCBvZiBub24gYm9va2FibGUgZXZlbnRzIGZvciB0aG9zZSByZXNvdXJzZXMuCiAgICAgIC8vIGJldHdlZW4gdGhvc2UgZGF0ZXMuCiAgICB9CgogIC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIGRheXMKICBpZiggJHN0YXJ0ZGF0ZSA9ICcnICkKICAgIHsKICAgICAgLy8gY2FsY3VsYXRlIGZpcnN0IGRheSBvZiBtb250aC4KICAgICAgJHN0YXJ0ZGF0ZSA9IG1rdGltZSgwLDAsMCxkYXRlKCduJyksMSxkYXRlKCdZJykpOwogICAgfQogIGlmKCAkZW5kZGF0ZSA9ICcnICkKICAgIHsKICAgICAgLy8gY2FsY3VsYXRlIGxhc3QgZGF5IG9mIG1vbnRoLgogICAgICAkZGF5c19pbl9tb250aCA9IGFycmF5KDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEpOwogICAgICAkZGF5c19pbl9tb250aFsxXSArPSBkYXRlKCdMJyk7CiAgICAgICRlbmRkYXRlID0gbWt0aW1lKDIzLDU5LDU1LGRhdGUoJ24nKSwkZGF5c19pbl9tb250aFtkYXRlKCduJyldLGRhdGUoJ1knKSk7CiAgICB9CiAgaWYoICRlbmRkYXRlIDwgJHN0YXJ0ZGF0ZSApCiAgICB7CiAgICAgIHN3YXAoJHN0YXJ0ZGF0ZSwkZW5kZGF0ZSk7CiAgICB9CiAgCgogIC8vIGNhbGN1bGF0ZSBpdCB1cC4KICAkbnNsb3RzID0gMDsKICBmb3JlYWNoKCAkcnNyY19kYXRhIGFzICRyc3JjICkKICAgIHsKICAgICAgc3dpdGNoKCAkcnNyY1sncmVzX2ludGVydmFsJ10gKQoJewoJY2FzZSAnZGFpbHknOgoJICAkbnNsb3RzICs9IDE7CgoJY2FzZSAnaGFsZl9kYXknOgoJICAkbnNsb3RzICs9IDI7CgoJY2FzZSAnaG91cmx5JzoKCSAgJG5zbG90cyArPSAoaW50KSgoc3RydG90aW1lKCR0bXAyWydlbmR0aW1lMSddKSAtIHN0cnRvdGltZSgkdG1wMlsnc3RhcnR0aW1lMSddKSkgLyAzNjAwKTsKCSAgJG5zbG90cyArPSAoaW50KSgoc3RydG90aW1lKCR0bXAyWydlbmR0aW1lMiddKSAtIHN0cnRvdGltZSgkdG1wMlsnc3RhcnR0aW1lMiddKSkgLyAzNjAwKTsKCX0KICAgIH0KICByZXR1cm4gJG5zbG90czsKfQoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/functions.frontend_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldEF0dHJpYnV0ZXNGb3JSc3JjKCYkbW9kLCRyc3JjX2lkKQp7CiAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nIEEKICAgICAgICAgICAgTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUy4nIEIKICAgICAgICAgICAgT04gQS5pZCA9IEIuY2F0ZWdvcnlfaWQgCiAgICAgICAgICAgIFdIRVJFIEIucnNyY19pZCA9ID8KICAgICAgICAgICAgT1JERVIgQlkgQS5pZCc7CiAgJHJlcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRyc3JjX2lkKSk7CiAgcmV0dXJuICRyZXM7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0RmllbGRzRm9yUnNyYygmJG1vZCwkcnNyY19pZCkKewogIGdsb2JhbCAkZ0NtczsKICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAkZGIgPSYgJG1vZC0+R2V0RGIoKTsKICAkcXVlcnkgPSAnU0VMRUNUIGZkLmlkLGZkLm5hbWUsZmQucHJvbXB0LGZkLnR5cGUsZmQuaXRlbV9vcmRlciwKICAgICAgICAgICAgICAgICAgIGZ2LnZhbHVlIAogICAgICAgICAgICBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUy4nIGZkCiAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJyBmdgogICAgICAgICAgICBPTiBmZC5pZCA9IGZ2LmZpZWxkZGVmX2lkIAogICAgICAgICAgICBXSEVSRSBmdi5yc3JjX2lkID0gPwogICAgICAgICAgICAgIEFORCBmZC5wdWJsaWMgPSAxCiAgICAgICAgICAgIE9SREVSIEJZIGZkLml0ZW1fb3JkZXInOwogICRyZXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcnNyY19pZCkpOwoKICBpZiggaXNfYXJyYXkoICRyZXMgKSApCiAgICB7CiAgICAgICRwYXRoID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkbW9kLT5HZXROYW1lKCkpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcmVzKTsgJGkrKyApCgl7CgkgIGlmKCAkcmVzWyRpXVsndHlwZSddID09ICdpbWFnZScgKQoJICAgIHsKCSAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoJHBhdGgsJ3Jlc291cmNlc18nLiRyc3JjX2lkLCd0aHVtYl8nLiRyZXNbJGldWyd2YWx1ZSddKTsKCSAgICAgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCXsKCQkgICRyZXNbJGldWyd0aHVtYm5haWwnXSA9ICd0aHVtYl8nLiRyZXNbJGldWyd2YWx1ZSddOwoJCX0KCSAgICB9Cgl9CiAgICB9CiAgcmV0dXJuICRyZXM7IAp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0QXR0cmlidXRlSURzKCYkbW9kLCRkYXRhKQp7CiAgaWYoICFpc19hcnJheSgkc3RyKSApCiAgICB7CiAgICAgIC8vIGl0J3Mgbm90IGFuIGFycmF5LCBzbyBhc3N1bWUgaXQncyBhIGNvbW1hIHNlcGFyYXRlZAogICAgICAvLyBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzCiAgICAgICRkYXRhID0gZXhwbG9kZSgnLCcsJGRhdGEpOwogICAgfQoKICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nCiAgICAgICAgICAgICBXSEVSRSBuYW1lIElOICgnLmltcGxvZGUoJywnLCRkYXRhKS4nKSc7CiAgJHJlcyA9IGZhbHNlOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgaWYoIGlzX2FycmF5KCAkdG1wICkgKQogICAgewoKICAgICAgJHJlcyA9IGNnZV9hcnJheTo6ZXh0cmFjdF9maWVsZCgkdG1wLCdpZCcpOwogICAgfQogIHJldHVybiAkcmVzOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X1NlYXJjaFJlc3VsdCgmJG1vZCwkcmV0dXJuaWQsJGFydGljbGVpZCwkYXR0cikKewogICRyZXN1bHQgPSBhcnJheSgpOwogIGlmKCAkYXR0ciA9PSAncmVzb3VyY2UnICkKICAgIHsKICAgICAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicKICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIGFjdGl2ZSA9IDEnOwogICAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRhcnRpY2xlaWQpKTsKICAgICAgaWYoICRyb3cgKQoJewoJICAkcmVzdWx0WzBdID0gJG1vZC0+R2V0RnJpZW5kbHlOYW1lKCk7CgkgICRyZXN1bHRbMV0gPSAkcm93WyduYW1lJ107CgkgICRwcmV0dHlfdXJsID0gJG1vZC0+R2V0UmVzb3VyY2VUeXBlKCkuIi8kcmV0dXJuaWQvJGFydGljbGVpZC8iLm11bmdlX3N0cmluZ190b191cmwoJHJvd1snbmFtZSddKTsKCSAgJHJlc3VsdFsyXSA9ICRtb2QtPkNyZWF0ZVVSTCgkaWQsJ2RldGFpbCcsJHJldHVybmlkLAoJCQkJICAgICAgIGFycmF5KCdyc3JjaWQnPT4kYXJ0aWNsZWlkKSxmYWxzZSwkcHJldHR5X3VybCk7Cgl9CiAgICB9CiAgcmV0dXJuICRyZXN1bHQ7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.search_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0FkdmFuY2VkU2VhcmNoKCYkbW9kdWxlLCRwYXJhbXMpCnsKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAvLyBjYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBzbG90cyBhdmFpbGFibGUuCiAgJAogICR3aGVyZSA9IGFycmF5KCk7CiAgJGpvaW5zID0gYXJyYXkoKTsKICAkcXBhcm1zID0gYXJyYXkoKTsKICAkcXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHBhcnRzLnJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nIHBhcnRzJzsKCiAgLy8gc2ltcGxlIHN0YXJ0L2VuZCBkYXRlIGNvbXBhcmlzb24uLi4KICAvLyBlbnN1cmUgdGhhdCByZXNvdXJjZXMgZG8gbm90IGhhdmUgcmVzZXJ2YXRpb25zIGJldHdlZW4gdGhlc2UgZGF0c3MKICAkam9pbnNbXSA9IEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJyByZXN2IE9OIHBhcnRzLnJlc3ZfaWQgPSByZXN2LmlkJzsKICAkd2hlcmVbXSA9ICcocGFydHMuc3RhcnRfZGF0ZSBOT1QgQkVUV0VFTiA/IEFORCA/KSc7CiAgJHFwYXJtc1tdID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKCRwYXJhbXNbJ3N0YXJ0ZGF0ZSddKSwiJyIpOwogICRxcGFybXNbXSA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCgkcGFyYW1zWydlbmRkYXRlJ10pLCInIik7CgogIC8vCiAgLy8gYXNzZW1ibGUgdGhlIHF1ZXJ5CiAgLy8KICAkcXVlcnkgLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICAkcXVlcnkgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwoKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksJHFwYXJtcyk7CiAgaWYoICEkdG1wICkgcmV0dXJuIEZBTFNFOwoKICAkaWRzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3JzcmNfaWQnKTsKCiAgcmV0dXJuICRpZHM7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/bullet_toggle_plus.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABjSURBVCjPY/jPgB8y0FHBkb37/+/6v+X/+v8r/y/ei0XB3v+H4HDWfywKtgAl1v7/D8SH/k/ApmANUAICDv1vx6ZgMZIJ9dgUzEJyQxk2BRPWdf1vAeqt/F/yP3/dwIQk2QoAfUogHsamBmcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/calendar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAI1SURBVDjLpZPNS5RRFIef98NRG3M05gOaqMhCAoskEFtVO2kT5DZo1SZoW9EiFGrVok1/QhRGmlHYJoQy8wuJIoLQ0iH8nCGcMmzm3ntOi1edWbQJLxzOPZvffc7v3OOpKjs5IcCDkbVbqlx2KvtEBCdgRXBOcKJYJ1XhcFZxIlN3Lh7pCAFE9Wp3x+7k/7zc0zd7fJvAiSQB4v1XQBWcBXFgTHQvl8CUoWTAGH7fGMYYV1slsOWDwt4UiI1C7aZICUwJbBk+LwFgrKt44JxsCniwmAeViEQkInFbGchkAChvCqCq3H+5pOsbRh+OrKiqat/bZVVVffwuqp+MRfXgeJTzxQ29dG9KVTUiME4QVcIA+sdWCQKfgfFVwgCeTa4yunKbN4OCilAz3cPR7C7KJiLwt1pQIAw8uk+lCX240JmmxofzHWl8L6C15TC+H3DuZCYarZWKB8YJKhD68GI6z2ThLhNDiqoSvr+O73vMzecI/ICnEytkEz5KtYAVVJWaALraU4wNwaEDB/mWm6erPUXg3aSztRlxysxCkT2NtcRrw0oLViK1wPd49aEAwFwuh4fH8McCRkBEmV0s0tQQI9lYtz25EMBaG3ngw9ljScLgGmfakrz+VOB0W5KB8TxfF36SiMdIJeoQUQKfCoFxUQtt+xtY+rFBS6aeueV1ss0xvnwvkk1AoiFGuqk+Ig08RFSqPpKO9j6aOVF2EjfWYazDWcE4wTr7z11Y+/XnOYC303X+CyNCWo09HetwAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/calendar_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKbSURBVDjLpZNLbIxRGIaf/9Lfpa1rZ0hNtYpEVRBiNkUiEZFoKjSxQmLBglizIQiJILEgWHQlgkpLGg1BU6E3imorLkElLmOmM1XV6mXm/8/5LH5GI7EQJ/lyztm85/ne872GiPA/ywa40NC3X4TtSnRIa43S4GmNUhqlBU/pUaVQnqC0fnRk89ywDaBFdpeHs3P+5eUDlW8XpgmU1jkAmdU7QQSUB1qB6/rnVBLcFCRdcF0G99bjumrMKIFfPgjkBkB7fon3UyQJbhK8FLyIAuB66rcHSumfAgZ8ToBon0Rrn0T5+6AzyKd5eVi3j7HDuUfnmchWRITTN6PyfdiViw3dIiJS2RgTEZErzf69qiUmg59rJFq/R/o6a0UGIvK1s0paTqyN2QCu0mgRbAuqW+JYlsnVB3FsC2pa4yQSuxjKLmbK3BJ6u17iGCmyJ0wna+rMiekWBLAtgw3hADWtCdaHg9Q+jrO64BVDmUVMKlxDMnoZZ7zB+/ZX9A+ZGMmeRWkC0WCbUPskQWvPcR7eEEI6xvDYPCbNKWMkcg7T8cjIysfxPnC+dwun95a/Nn1HNSJChgWlSwMAFNtDbJw+g4lzyhiJnMXMcEn1F9B9vwNZto/vTggAE/ypA7BMg7qOHnL6PrBYxhEsXkcqVoHlCMn+fLob2mDVSQIFC9M/ZwN4nud7YMKMgTpyJ8/GkyDRZ6eYHHQY6c2jp/Ul5qqTBHLz0VqwTH4TuMpvYcHMLDoaK5i/fAdjPjbyuqaJ9lu9PL/zFKPkEMFQoU9qGWgtetQgSdPBS28Wp5TOzO1KkHpey6xFK/iW+EJX2xvuhg7z5do34GE6C30DI9cBjD/jvGnllOElhdPscNEsJCPZPBxPbCs92vnub6H6AWmNdrgLt0FkAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/chart_bar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGvSURBVDjLpZO7alZREEbXiSdqJJDKYJNCkPBXYq12prHwBezSCpaidnY+graCYO0DpLRTQcR3EFLl8p+9525xgkRIJJApB2bN+gZmqCouU+NZzVef9isyUYeIRD0RTz482xouBBBNHi5u4JlkgUfx+evhxQ2aJRrJ/oFjUWysXeG45cUBy+aoJ90Sj0LGFY6anw2o1y/mK2ZS5pQ50+2XiBbdCvPk+mpw2OM/Bo92IJMhgiGCox+JeNEksIC11eLwvAhlzuAO37+BG9y9x3FTuiWTzhH61QFvdg5AdAZIB3Mw50AKsaRJYlGsX0tymTzf2y1TR9WwbogYY3ZhxR26gBmocrxMuhZNE435FtmSx1tP8QgiHEvj45d3jNlONouAKrjjzWaDv4CkmmNu/Pz9CzVh++Yd2rIz5tTnwdZmAzNymXT9F5AtMFeaTogJYkJfdsaaGpyO4E62pJ0yUCtKQFxo0hAT1JU2CWNOJ5vvP4AIcKeao17c2ljFE8SKEkVdWWxu42GYK9KE4c3O20pzSpyyoCx4v/6ECkCTCqccKorNxR5uSXgQnmQkw2Xf+Q+0iqQ9Ap64TwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/icons/clock.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMESURBVDjLXZNrSFNxGMYPgQQRfYv6EgR9kCgKohtFgRAVQUHQh24GQReqhViWlVYbZJlZmZmombfVpJXTdHa3reM8uszmWpqnmQuX5drmLsdjenR7ev9DR3Xgd3h43+d5/pw/HA4AN9zITSPUhJ14R0xn87+h2ZzJvZVInJpzAQOXQOQMt+/5rvhMCLXv9Vjrt1rSXitmwj+Jua1+Ox+2HfGNdGf6yW8l5sUKPNVcRsiaPDA22Ahv6/7Ae/0aKdviQ0G7B/c6f8Zg+gbfh079Mjno0MhS58lflOsgEjh3BXc+bM/0DzbvDwj314znt/bjof0HdPw3FBq6kP+oCxVNfdDZvqPsrQmf6zdFRtyPJgbrFoqUTeS+FnPrekpmiC2lS+QcUx+qrf0wmFzodYfgC0nwhoYh9oegfdmLsmYXHj7JhV23erS7ZNYHyibGLiLtXsO19BoHSiwu6Ok09gwFg/gy8BO/STOkKFBk7EWh2YkLeh5Hy4Ws2B2w157iDvOpxw4UPRPRTSfL41FIsow7ZeXwUFF4dBQ1L96A/xLEFf1HMC/LxAt25PH+VN0HXH1gh2dEwdBoBGO0OKvW4L7hCdIvavBSsMIRVHCi0ArmZZl4wbYrz/yHSq1Ql9vQLylUEoE7GMal3OuxMG/7CO848N6n4HheK5iXZeIFmy88Nu+8aYJG24G3ziB+0Ee7wwqemlvQ5w9hcAJwyUDtpwBOFLeBeVkmXpB0qlK9RV2HlLsCsvUivHRhQwoQjhCkA1TgJX1OK0JVzIN5WSZesPZ44XKia+P5BqSS4aq+BzZXABLdhyQrsJPOqv4MVcEbMA/zsky8gLHyYO7hI9laecOZWuzLfYXU2zzSblmQerMZqjwTknOeY9dlIw5kVcrMG/8XpoQgCEkOhwNNJn5i7bFSrFDpsCrFEIPpLacr0WxpibYIQpS86/8pMBqNswnJ6XSivqHBv3R3pmbxzgwz4Z+EaTXtwqIogrzjxIJ4QVVV1UyihxgjFv3/K09Bu/lEkBgg5rLZH+fT5dvfn7iFAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/delete.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEQAYAOYAADk6PM7OxY270qOioIiMlC6AwOLl5mKixWJth8XFxby8vm59mKCuxdjc3u7w8F1ia7i5uomxy8zR3ff370dNW7DG2KartMHH15mZmVKSx3h+g73DyNDe6ZjK393j7Kqzx3yKpa3A1dDV2Nzf542SnNTZ3f///7zD1mFndKaprOjx/vDy9rW1t8TO3XKkwtDX367U5lpbXZOTlM7R1Nvh8IG51uPn7sXJy6jG4KC+1T+GvXyCi5q4zt/f3vr6/MTO1rO+0K2trYCOrK6xtfP19+bn6dPT05GZqGZxinup0FyYy5aXm83U5tTe7rzG3b7EzXGBnrfA1mxwd5G80bW3u4OFh6Krw4CKnF6fxPb398nT19fd5ujs7dbZ47/L1czMzMrR5I+Rkry/wpS1zMXM0afM3rW9xa+wsqerrqSlp2JjaGxucqq73j09P26iyIqSpHGoyrjW5N7e90GNwJqeoWx2ipS91v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAHcALAAAAAARABgAAAf/gHeCdz1iLGlLYRhfg40JaENPW10ST0NhYYyDMiQXYE0qHmQiIw1mUkGCEAQcJ1pdHmJ0aSs3G1s7gkUWZjM9NykPUhosMkNUaoNkS0MNPkRLMmhiX1UAKIM0PWEazAlDdFUxMWdOg2AmJg1BS3RUClRfKyYn5ybPDjY/DisO/kQXzmVZMULLjxIOijSYUWSFhEFMbIzY8uLJCC5cSGXh8lBQRBg1sIx5YqBIjwYrbLwYtEVCGQEu5mgxwKWECAceRgzqwiPODy8R7FxsUITIFg8sc3TQ0mNMgQozyMwgIoHLIAMhyoh48iQDjh5kyBBp0cjBhykHcrhRwiFLiYYdXQd9aAFnjI4kRbjMQBil0R0rZAxsaNFgxFZSVqwOOmKGK5kSIy48kUDjTYIGgyBcYcAASIsWJ9iwQbImgZFBK+g8qANCCJQFCCi0OTPD7x0jA4IckiEjSA/bwIMHAgA7]]></data>
	</file>
	<file>
	  <filename>/icons/email.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAITSURBVBgZpcHLThNhGIDh9/vn7/RApwc5VCmFWBPi1mvwAlx7BW69Afeu3bozcSE7E02ILjCRhRrds8AEbKVS2gIdSjvTmf+TYqLu+zyiqszDMCf75PnnnVwhuNcLpwsXk8Q4BYeSOsWpkqrinJI6JXVK6lSRdDq9PO+19vb37XK13Hj0YLMUTVVyWY//Cf8IVwQEGEeJN47S1YdPo4npDpNmnDh5udOh1YsZRcph39EaONpnjs65oxsqvZEyTaHdj3n2psPpKDLBcuOOGUWpZDOG+q0S7751ObuYUisJGQ98T/Ct4Fuo5IX+MGZr95jKjRKLlSxXxFxOEmaaN4us1Upsf+1yGk5ZKhp8C74H5ZwwCGO2drssLZZo1ouIcs2MJikz1oPmapHlaoFXH1oMwphyTghyQj+MefG+RblcoLlaJG/5y4zGCTMikEwTctaxXq/w9kuXdm9Cuzfh9acujXqFwE8xmuBb/hCwl1GKAnGccDwIadQCfD9DZ5Dj494QA2w2qtQW84wmMZ1eyFI1QBVQwV5GiaZOpdsPaSwH5HMZULi9UmB9pYAAouBQbMHHrgQcnQwZV/KgTu1o8PMgipONu2t5KeaNiEkxgAiICDMCCFeEK5aNauAOfoXx8KR9ZOOLk8P7j7er2WBhwWY9sdbDeIJnwBjBWBBAhGsCmiZxPD4/7Z98b/0QVWUehjkZ5vQb/Un5e/DIsVsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/flag_green.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIySURBVDjLpdNdTFJhGAdw120X3XXR5kU33fQxS0+5Yl24lFnQKsvl2nJLM0fmXLNASceKgAv8yBGgJPEhkcIShEEYKuKU1IxcTm0WUDiJ1Fpbm1tZ/855186oLS/k4r/34n2e355z9rwZADLSyX8vCm+WU6fqT38+21S4ztPy1rmK4lXF5Ry//Hwm6LjoHN8QOGOgUOe9iGByCJ7FJ5BMX0ORiosfa1/wTHqQIAQ4VCHbwpXL53iWHPAe7QefJAvq4G2MLY9gcnUcQ0kf/AkvAm4DPvhl6Lq+jwEuESD7inLrCWXJ10BygC56SgpHlofxfGUMjvhjDH7sR1e0Hfq3VmiqKSwOt6CldCcD7CDA3qrOXfRo37tjRojC5SRt81KYIxp4lxx0+mCOaqEON8NeR2Ght5ppBvsTT9Yqai60F/y0vTehPlyBW+FKAliiOvQnPGQKY+Q+TOOdCCjzEPU2/A1wxIaH3a8N0C20ouGVAI3TVVC9kcEa0yO0MgrfkptM0mprwqypGKG2AgaYYYEsqfGFI94D4csy1E6VonlWgt64Fb6EG7aYGTdGK1ETEv6yu+wEcDQeZoA7LHBEJfxkiejQQxczccZtEE8JwHNRKLMK1rRzng6R3xU8kLkdM/oidAh2M8BRFsi7W/Iu38wBty8bXCcdSy6OyfjfUneCbjj34OoeMkHq92+4SP8A95wSTlrA/ISGnxZAmgeV+ewKbwqwi3MZQLQZQP3nFTLnttS73y9CuFIqo/imAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/package.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALnSURBVDjLfZNLaFx1HIW/e2fuzJ00w0ymkpQpiUKfMT7SblzU4kayELEptRChUEFEqKALUaRUV2YhlCLYjYq4FBeuiqZgC6FIQzBpEGpDkzHNs5PMTJtmHnfu6//7uSh2IYNnffg23zmWqtIpd395YwiRL1Q0qyIfD56cmOvUs/4LWJg40auiH6jI+7v3ncybdo2Hy9ebKvqNGrn03Nj1+x0Bi1dHHVV9W0U+ye4d2d83+Ca2GJrlGZx0gkppkkfrsysqclFFvh8++3v7CWDh6ugIohfSPcPH+w6fwu05ABoSby9yb3Kc/mePYXc9TdCqslWapVGdn1Zjxo++O33Fujtx4gdEzj61f8xyC8/jN2rsVOcxYZOoVSZtBewZOAT+NonuAWw3S728wFZpFm975cekGjlz8NXLVtSo0SxPImGdtFfFq5epr21wdOxrnMwuaC2jrRJWfYHdxRfIFeDWr0unkyrSUqxcyk2TLQzQrt6hqydPvidDBg/8VTAp8DegvYa3OU1z+SbuM6dQI62kioAAVgondwAnncWvzCDNCk4CLO9vsJVw8xqN+iPiTB5SaTSKURGSaoTHHgxoAMlduL1HiFMZXP8BsvkbO1GD2O3GpLOIF0KsSBijxmCrMY+FqgGJQDzQgGT3XrJ7DuI5EKZd4iDG+CHG84m8AIki1Ai2imRsx4FEBtQHCUB8MG1wi8QKGhjEC4mbAVHTx8kNYSuoiGurkRtLN76ivb0K6SIkusCEoBEgaCQYPyT2QhKpAXKHTiMmQ2lmChWZTrw32v9TsLOyVlu8Nhi2G4Vs32HsTC9IA2KPRuU2Erp097+O5RRYvz3H1r3JldivfY7IR0+mfOu7l3pV5EM1cq744mi+OPwaRD71tSk0Vsp3/uLB6s2minyrIpeOf7a00fFMf1w+MqRGzqvIW/teecdqV5a5P/8ncXv9ZxUdf/lCae5/3/hvpi4OjajIp4ikVOTLY+cXr3Tq/QPcssKNXib9yAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAIcAAAAAAGZmZpAQBezs7P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAMALAAAAAAgACAAAAjRAAcIHEiwoMGDCAcAWMiwocOHDBECEECxosWLGAUAkHiRgEeKHwUQyLjx4ESLI0GqTHmxpMGTFVl6/MjSosuCMEHSXBmy4k2COTMK9SkRolGjEmd6DKCUAFOlTz3+HAigadSlVpVOFVgValavM7cq/DrzqlOtEgOoXcu2rdsAYruWJYs1bFKwc/ESiEv3rF6+ev3mlXp3cF3Dcd06hNuwLWDDgg/vLSw5cuTHlc1exWxZM1qTb0O/5ez5L+XOdEn33Vz0qOuICWPLnk27tu3aAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FkZCBFdmVudCBUeXBlJzsKJGxhbmdbJ2FjdGlvbl9lZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0IEV2ZW50IFR5cGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydhZGRfbm90ZXMnXSA9ICdFbnRlciBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snYWRkZWRpdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGFuIEFkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIENhbGVuZGFyIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgRGF5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc291cmNlIERldGFpbCBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIE15UmVzZXJ2YXRpb25zIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc2VydmF0aW9uIENvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc2VydmF0aW9uIENvbmZpcm1hdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgU2VuZCBFbWFpbCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzb3VyY2UgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkbWluX25vdGVzJ10gPSAnQWRtaW4gTm90ZXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgZWxpZ2libGUgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWxsYWRqdXN0J10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGFsbCBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9mcmVlYmxvY2snXSA9ICdCdWxrIGRpc2NvdW50IGVsaWdpYmxlIGZyZWUgZGF5JzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ0FkanVzdGVkIHByaWNlIGZvciBldmVudCAlcyBieSAlcyc7CiRsYW5nWydhZGp1c3Rfb3ZlcmNhcGFjaXR5J10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yICVkIGV4dHJhIHBlb3BsZSBieSAlLjJmJzsKJGxhbmdbJ2FkanVzdF93ZWVrZGF5X3ByaWNlJ10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yIHdlZWtkYXkgJXMgYnkgJXMnOwokbGFuZ1snYWRkX2NhdGVnb3J5J10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnQWRkIEN1c3RvbSBGaWVsZCc7CiRsYW5nWydhZGRfZXZlbnQnXSA9ICdBZGQgRXZlbnQnOwokbGFuZ1snYWRkX2V2ZW50X3R5cGUnXSA9ICdBZGQgRXZlbnQgVHlwZSc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdBZGQgYSBOZXcgUmVzZXJ2YXRpb24nOwokbGFuZ1snYWRkX3VzZXJfYWNjb3VudCddID0gJ0FkZCBhIFVzZXIgQWNjb3VudCc7CiRsYW5nWydhbGwnXSA9ICdBbGwnOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnQWxsb3dlZCBGaWxlIFR5cGVzJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdBbGxvd2VkIEltYWdlIFR5cGVzJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yIG9uIG5vIHByaWNlJzsKJGxhbmdbJ2FsbG93X292ZXJjYXBhY2l0eSddID0gJ0FsbG93IHJlc2VydmF0aW9ucyB0aGF0IGFyZSBvdmVyIGNhcGFjaXR5JzsKJGxhbmdbJ0FNJ10gPSAnQU0nOwokbGFuZ1snYW55J10gPSAnQW55JzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbHknOwokbGFuZ1snYXNrX2RlbGV0ZV9ldmVudCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgZXZlbnQ/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nXSA9ICdBcmUgeW91IHN1cmUgeW91IHJlYWxseSB3YW50IHRvIHBlcm1hbmVudGx5IHJlbW92ZSB0aGlzIHJlc2VydmF0aW9uIGZyb20geW91ciBzeXN0ZW0nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNvdXJjZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgcmVzb3VyY2U/JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSByZWFsbHkgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBtb2R1bGU/ICBDb250aW51aW5nIHdpbGwgcmVzdWx0IGluIGEgbG9zcyBvZiBhbGwgZGF0YSByZWxhdGVkIHRvIHRoZSBtb2R1bGUuJzsKJGxhbmdbJ2F0J10gPSAnQCc7CiRsYW5nWydhdHRhY2htZW50J10gPSAnQXR0YWNobWVudCc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0RpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGF0dGFjaG1lbnRzJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGVzJzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVfdGh1bWJuYWlscyddID0gJ0F1dG8gR2VuZXJhdGUgVGh1bWJuYWlscyc7CiRsYW5nWydhdmFpbGFibGUnXSA9ICdBdmFpbGFibGUnOwoKI0IKJGxhbmdbJ2JhY2tncm91bmRfY29sb3InXSA9ICdCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ2Jhc2VfcHJpY2UnXSA9ICdCYXNlIFByaWNlJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnUm9vbXMgY2FuIGJlIGJvb2tlZCBkdXJpbmcgdGhpcyBldmVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCb29rYWJsZSc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb29rYWJsZSBFdmVudCBCbG9ja3MnOwokbGFuZ1snYm9va2VkX2Jsb2NrcyddID0gJ0Jvb2tlZCBCbG9ja3MnOwoKI0MKJGxhbmdbJ2NhYmluJ10gPSAnQ2FiaW4nOwokbGFuZ1snY2FiaW5zJ10gPSAnQ2FiaW5zJzsKJGxhbmdbJ2NhbGN1bGF0ZSddID0gJ0NhbGN1bGF0ZSc7CiRsYW5nWydjYWxjdWxhdGVfcHJpY2UnXSA9ICdDYWxjdWxhdGUgUHJpY2UnOwokbGFuZ1snY2FsY3VsYXRlZF9wcmljZSddID0gJ0NhbGN1bGF0ZWQgUHJpY2UnOwokbGFuZ1snY2FsZW5kYXJfY29uZmlnJ10gPSAnQXZhaWxhYmlsaXR5IENhbGVuZGFyIFNldHRpbmdzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdDYW5jZWxsZWQnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdDYXBhY2l0eSc7CiRsYW5nWydjYXInXSA9ICdDYXInOwokbGFuZ1snY2FycyddID0gJ0NhcnMnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dGUnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnU2VuZCBhIGNvcHkgb2YgdGhpcyBtZXNzYWdlIHRvIG15IGVtYWlsIGJveCc7CiRsYW5nWydjaGVjayddID0gJ0NoZWNrJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY2hlY2tpbiddID0gJ0NoZWNraW4nOwokbGFuZ1snY2hlY2tpbl90aW1lJ10gPSAnQ2hlY2tpbiBUaW1lJzsKJGxhbmdbJ2NoZWNrb3V0J10gPSAnQ2hlY2tvdXQnOwokbGFuZ1snY2hlY2tvdXRfdGltZSddID0gJ0NoZWNrb3V0IFRpbWUnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnQ2hlY2sgQXZhaWxhYmlsaXR5JzsKJGxhbmdbJ2Nsb3NlZCddID0gJ0Nsb3NlZCc7CiRsYW5nWydjb2xvciddID0gJ0NvbG9yJzsKJGxhbmdbJ2NvbmZpcm1lZCddID0gJ0NvbmZpcm1lZCc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnUGxlYXNlIGNoZWNrIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZm9ybSwgYW5kIGNvbmZpcm0gdGhhdCB5b3Ugd291bGQgbGlrZSB0byBjcmVhdGUgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydjb25mbGljdCddID0gJ0NvbmZsaWN0JzsKJGxhbmdbJ2NyZWF0ZV9kYXRlJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdDcmVhdGUgYSBuZXcgcmVzZXJ2YXRpb24nOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0ZWQnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnQ3VycmVuY3kgU3ltYm9sJzsKJGxhbmdbJ2N1cnJlbnRfeWVhciddID0gJ1RoZSBDdXJyZW50IFllYXInOwokbGFuZ1snY3VzdG9tZXInXSA9ICdDdXN0b21lcic7CiRsYW5nWydjdXN0b21lcl9ncm91cCddID0gJ0N1c3RvbWVyIEdyb3VwJzsKJGxhbmdbJ2N1c3RvbWVyX25hbWUnXSA9ICdDdXN0b21lciBOYW1lJzsKJGxhbmdbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdDdXN0b21lciBEaXNwbGF5IFRlbXBsYXRlJzsKCiNECiRsYW5nWydkYWlseSddID0gJ0RhaWx5JzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXRlJzsKJGxhbmdbJ2RheV9yZXBvcnQnXSA9ICdEYXkgUmVwb3J0JzsKJGxhbmdbJ2RheV9yZXBvcnRfcnNyYyddID0gJ0RheSBSZXBvcnQgZm9yICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnRGF5IFZpZXcnOwokbGFuZ1snZGVmYXVsdF9jYXBhY2l0eSddID0gJ0RlZmF1bHQgY2FwYWNpdHkgPGVtPihmb3IgbmV3IHJlc291cmNlcyk8L2VtPic7CiRsYW5nWydkZWZhdWx0X2dyYW51bGFyaXR5J10gPSAnRGVmYXVsdCBHcmFudWxhcml0eSc7CiRsYW5nWydkZWZhdWx0X3RpbWVfaW50ZXJ2YWwnXSA9ICdEZWZhdWx0IFRpbWUgSW50ZXJ2YWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2RlbGV0ZV9jYXRlZ29yeSddID0gJ0RlbGV0ZSBBdHRyaWJ1dGUnOwokbGFuZ1snZGVsZXRlX2N1c3RvbV9maWVsZCddID0gJ0RlbGV0ZSBDdXN0b20gRmllbGQnOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnRGVsZXRlIEV2ZW50JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnRGVsZXRlIEV2ZW50IFR5cGUnOwokbGFuZ1snZGVwb3NpdF9hbW91bnQnXSA9ICdEZXBvc2l0IEFtb3VudCc7CiRsYW5nWydkZXBvc2l0X2Ftb3VudHMnXSA9ICdEZXBvc2l0IEFtb3VudHMnOwokbGFuZ1snZGVwb3NpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUmVzZXJ2YXRpb24gRGVwb3NpdCBTdW1tYXJ5JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdSZXNlcnZhdGlvbiB7JHJlc2VydmF0aW9uLmlkfSBhdCAie3NpdGVuYW1lfSInOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0Rpc2NvdW50IEFkanVzdG1lbnQnOwokbGFuZ1snZGlzY291bnRfbWluX2Jsb2NrcyddID0gJ01pbmltdW0gbnVtYmVyIG9mIHBlcmlvZHMgcmVxdWlyZWQgdG8gcmVjaWV2ZSBhIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgcGVyaW9kIChsZWFzdCBleHBlbnNpdmUgZmlyc3QpJzsKJGxhbmdbJ2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0FwcGx5IGEgYnVsayBhZGp1c3RtZW50IHRvIGFsbCBwZXJpb2RzJzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdBZGp1c3QgUHJpY2VzIGZvciBhcHBsaWNhYmxlIHBlcmlvZHMgb25seSc7CiRsYW5nWydkaXNjb3VudF90eXBlJ10gPSAnRGlzY291bnQgVHlwZSc7CiRsYW5nWydkaXNjb3VudHMnXSA9ICdEaXNjb3VudHMnOwokbGFuZ1snZGlzcGxheSddID0gJ0Rpc3BsYXknOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CgojRQokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQXR0cmlidXRlJzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnRWRpdCBDdXN0b20gRmllbGQnOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ0VkaXQgRXZlbnQnOwokbGFuZ1snZWRpdF9ldmVudF90eXBlJ10gPSAnRWRpdCBFdmVudCBUeXBlJzsKJGxhbmdbJ2VkaXRfcmVzZXJ2YXRpb24nXSA9ICdFZGl0IFJlc2VydmF0aW9uJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdFbmQgRGF0ZSc7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRW5kIFRpbWUgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnRW5kIFRpbWUgMic7CiRsYW5nWydlcnJvcl9jYWxjdWxhdGlvbiddID0gJ0NhbGN1bGF0aW9uIEVycm9yJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdUaGlzIHJlc291cmNlIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgdGhlcmUgYXJlIGtub3duIHJlc2VydmF0aW9ucyBmb3IgaXQnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGVycm9yLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ0FuIGV4aXN0aW5nIHJlc2VydmF0aW9uLCBvciBhIG5vbi1ib29rYWJsZSBldmVudCBjb25mbGljdHMgd2l0aCB0aGUgZGF0ZXMgYW5kIHJlc291cmNlcyBzZWxlY3RlZCBmb3IgdGhpcyByZXNlcnZhdGlvbi4nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ0EgcHJvYmxlbSBvY2N1cnJlZCBkZWxldGluZyBvbmUgb3IgbW9yZSBmaWxlcyc7CiRsYW5nWydlcnJvcl9pbnRlcm5hbGNvbmZpZyddID0gJ0FuIGludGVybmFsIGNvbmZpZ3VyYXRpb24gZXJyb3Igb2NjdXJyZWQuICBQbGVhc2UgY29udGFjdCB0aGUgd2Vic2l0ZSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfZGF0ZXMnXSA9ICdZb3UgaGF2ZSBlbnRlcmVkIGludmFsaWQgZGF0ZXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9wcmljZSddID0gJ1RoZSBwcmljZSBlbnRlcmVkIHNlZW1zIHRvIGJlIGVtcHR5IG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF90aW1lX3NldHRpbmdzJ10gPSAnVGhlIHRpbWUgcmFuZ2VzIGVudGVyZWQgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ0FuIGludmFsaWQgdmFsdWUgd2FzIHNwZWNpZmllZCBmb3Igb25lIG9yIG1vcmUgZmllbGRzIG9yIHBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInXSA9ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXJzIGlzIG1pc3Npbmcgb3IgZW1wdHknOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdQcm9ibGVtIGNyZWF0aW5nIGRpcmVjdG9yeSc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1lvdSBtdXN0IHNlbGVjdCBvbmUgb3IgbW9yZSAlcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzc2VzJ10gPSAnQ29uZmlndXJhdGlvbiBwcm9ibGVtLiAgWW91ciB3ZWIgaG9zdCBoYXMgbm90IGNvbmZpZ3VyZWQgYW55Ym9keSB0byBiZSBub3RpZmllZCBvZiB0aGVzZSBtZXNzYWdlcy4gIFBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIGFkbWluaXN0cmF0b3IgZGlyZWN0bHknOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdUaGUgZGF0YSBzcGVjaWZpZWQgY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluX2ZldSddID0gJ1lvdSBhcmUgbm90IGxvZ2dlZCBpbiB0byB0aGlzIHNpdGUuICBZb3UgbXVzdCBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgYmVmb3JlIG1ha2luZyBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBjdXN0b21lcic7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9zZWxlY3RlZCddID0gJ1BsZWFzZSBzZWxlY3QgYSBjdXN0b21lciBmcm9tIHRoZSBsaXN0JzsKJGxhbmdbJ2Vycm9yX25vX2V2ZW50X3R5cGVzJ10gPSAnTm8gRXZlbnQgVHlwZXMgRGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1lvdSBoYXZlIG5vdCBzcGVjaWZpZWQgYW55dGhpbmcgdG8gcmVzZXJ2ZSEnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25zJ10gPSAnTm8gcmVzZXJ2YXRpb25zIGZvdW5kIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXMnXSA9ICdObyAlcyBEZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlc19zZWxlY3RlZCddID0gJ1BsZWFzZSBkZWZpbmUgb25lIG9yIG1vcmUgcmVzb3VyY2VzIGFuZCBpbnRlcnZhbHMgZm9yIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3Jfbm9fdXNlcnNfZm91bmQnXSA9ICdDb3VsZCBub3QgZmluZCBhbnkgcmVnaXN0ZXJlZCB1c2VycyBmb3IgeW91ciBzZWxlY3RlZCBjdXN0b21lciBncm91cCc7CiRsYW5nWydlcnJvcl9vdmVyX2NhcGFjaXR5J10gPSAnVGhpcyByZXNvdXJjZSBvbmx5IGFsbG93cyAlcyBwZW9wbGUsIHlvdSBoYXZlIHJlcXVlc3RlZCBhIHJlc2VydmF0aW9uIGZvciAlcyc7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnWW91IGNhbm5vdCBjcmVhdGUgYSByZXNlcnZhdGlvbiBmb3IgZGF0ZXMgaW4gdGhlIHBhc3QnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbiddID0gJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgdGhpcyBkYXRhJzsKJGxhbmdbJ2Vycm9yX3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnQSByZXNlcnZhdGlvbiBjb25mbGljdCBoYXMgYmVlbiBkZXRlY3RlZC4nOwokbGFuZ1snZXJyb3Jfc2VsZWN0X3N0YXR1cyddID0gJ1BsZWFzZSBzZWxlY3QgYSBzdGF0dXMgZm9yIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3JfdGltZXBlcmlvZF9zdGFydGVkJ10gPSAnVGhlIHRpbWUgcGVyaW9kIHNlbGVjdGVkIGhhcyBhbHJlYWR5IHN0YXJ0ZWQsIHBsZWFzZSBzZWxlY3QgYSBmdXR1cmUgdGltZSBwZXJpb2QnOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnRmlsZSBVcGxvYWQgRXJyb3InOwokbGFuZ1snZXZlbnRzX2Zvcl9yZXNvdXJjZSddID0gJ0V2ZW50cyBmb3IgJXMnOwokbGFuZ1snZXZlbnRfdHlwZSddID0gJ0V2ZW50IFR5cGUnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdFdmVudCBUeXBlcyc7CiRsYW5nWydleHBpcmVkJ10gPSAnRXhwaXJlZCc7CiRsYW5nWydleHRlbmRlZF91c2VfZGlzY291bnRzJ10gPSAnRXh0ZW5kZWQgVXNlIERpc2NvdW50cyc7CgojRgokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyIFNldHRpbmdzJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0ZpZWxkcyc7CiRsYW5nWydmaWxlJ10gPSAnRmlsZSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxlIEhhbmRsaW5nIENvbmZpZyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmbHQ7Jmx0Oyc7CiRsYW5nWydmb3InXSA9ICdGb3InOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ0ZvcmVncm91bmQgQ29sb3InOwokbGFuZ1snZnJpZGF5J10gPSAnRnJpZGF5JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0F2YWlsYWJpbGl0eSBNYW5hZ2VyJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcm9tJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ1VwY29taW5nJzsKCiNHCiRsYW5nWydnZW5lcmFsX2NvbmZpZyddID0gJ0dlbmVyYWwgQ29uZmlndXJhdGlvbic7CiRsYW5nWydncm91cCddID0gJ0dyb3VwJzsKJGxhbmdbJ2d1ZXN0J10gPSAnR3Vlc3QnOwoKI0gKJGxhbmdbJ2hhbGZfZGF5J10gPSAnSGFsZiBEYXknOwokbGFuZ1snaGFsZl9ob3VyJ10gPSAnSGFsZiBIb3VyJzsKJGxhbmdbJ2hvdXJseSddID0gJ0hvdXJseSc7CiRsYW5nWydoZWxwJ10gPSA8PDxFT1QKPGgzPjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7Ij4tLSBXQVJOSU5HIC0tPC9zcGFuPjwvaDM+CjxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDVlbTsgcGFkZGluZzogMC41ZW07IGJhY2tncm91bmQ6ICNENEYyMzM7Ij5BbHRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBubyB2YWx1YWJsZSBkYXRhIGlzIGxvc3QgZHVyaW5nIHRoZSB1cGdyYWRlIHByb2Nlc3MsIHlvdSBhcmUgYWR2aXNlZCB0byBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBhIGNvbXBsZXRlbHkgdmVyaWZpZWQgYmFja3VwIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVwZ3JhZGUgdGhpcyBtb2R1bGUuICBBbHNvLCB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBiZWhhdmlvdXIgb2YgdGhpcyBtb2R1bGUgaGF2ZSBjaGFuZ2VkIGRyYW1hdGljYWxseSBzaW5jZSB0aGUgcHJldmlvdXNseSByZWxlYXNlZCB2ZXJzaW9uLCB0aGVyZWZvcmUgc29tZSByZS1zdHlsaW5nIG9mIHRlbXBsYXRlcyB3aWxsIG5lZWQgdG8gb2NjdXIgaWYgeW91IGFyZSB1cGdyYWRpbmcgZnJvbSBhIHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgZWFybGllciB0aGFuIDEuNy48L3A+CjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXBsZXRlIG9ubGluZSByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IHN5c3RlbSBmb3IgaG90ZWxzLCBjYXIgcmVudGFsIGFnZW5jaWVzLCBvciBhbnkgb3RoZXIgcHVycG9zZSB3aGVyZSBwYXJ0aWN1bGFyICZxdW90O3Jlc291cmNlcyZxdW90OyBjYW4gYmUgcmVzZXJ2ZWQgb24gYSBkYWlseSBiYXNpcy48L3A+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPgo8cD5BIGNvbXBsZXRlIGFkbWluIGludGVyZmFjZSBhbGxvd3MgYXV0aG9yaXplZCBhZG1pbmlzdHJhdG9ycyB0byBtYW5hZ2UgcmVzb3VyY2VzLCBldmVudHMsIHJlc2VydmF0aW9ucywgYW5kIGFsbCBhc3BlY3RzIG9mIHRoZSBkaXNwbGF5YWJsZSBpdGVtcy48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLgogIDx1bD4KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+CiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPgogIDwvdWw+CjxsaT4KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+CjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6CiAgPHVsPgogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPgo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4KPC91bD4KCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+CjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+CjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+CjxoND5SZXNlcnZhdGlvbnM8L2g0Pgo8cD5UaGUgZGVmYXVsdCBmb3JtIGZvciBhbGxvd2luZyBhIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gcmVsaWVzIGhlYXZpbHkgb24ganF1ZXJ5LCBhamF4LCBhbmQgamF2YXNjcmlwdC4gIFRvIGFsbG93IHRoZSBkZWZhdWx0IGZvcm0gdG8gd29yayBwcm9wZXJseSB5b3UgbmVlZCB0byBlbmFibGUgdGhlIGpxdWVyeXRvb2xzIG1vZHVsZSBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIGFuZCBhbHNvIGluY2x1ZGUgYSBzZXBlcmF0ZSBzZXQgb2YgamF2YXNjcmlwdCB1dGlsaXRpZXMgKHBocF9qcy5qcykgdGhhdCBpcyBwcm92aWRlZCB3aXRoIHRoZSBBdmFpbGFiaWxpdHkgbW9kdWxlcyBsaWIgZGlyZWN0b3J5LjwvbGk+CjxwPkkgc3VnZ2VzdCB5b3UgYWRkIHRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIHRvIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbnRvIHRoZSBwYWdlIG1ldGFkYXRhIHNlY3Rpb24gb2YgYW55IHBhZ2VzIHRoYXQgd2lsbCBiZSB3b3JraW5nIHdpdGggdGhlIGF2YWlsYWJpbGl0eSBtb2R1bGU6PC9wPgo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyI+CntKUXVlcnlUb29scyBhY3Rpb249J2luY2pzJ30KJmx0O3NjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ie3Jvb3RfdXJsfS9tb2R1bGVzL0F2YWlsYWJpbGl0eS9saWIvcGhwX2pzLmpzIiZndDsmbHQ7L3NjcmlwdCZndDsKPC9wcmU+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgpFT1Q7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+Cjx1bD4KPGxpPmFkZHJlc3ZuIC0gVGhlIGFkZC9lZGl0IHJlc2VydmF0aW9uIGZvcm08YnIvPgombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPgo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+CiZuYnNwOyZuYnNwOy0gVGhpcyB2aWV3IGRpc3BsYXlzIHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzIGZvciB0aGUgY3VycmVudCBtb250aC4gIEl0IGFsbG93cyBwYWdpbmF0aW5nIGJldHdlZW4gZGlmZmVyZW50IG1vbnRocywgdmlld2luZyBhIHJlc291cmNlIGRldGFpbCB2aWV3LCBhbmQgc3VwcGxpZXMgYSBsaW5rIHRoYXQgd2lsbCBicmluZyB1cCB0aGUgYWRkcmVzdm4gZm9ybSBmb3IgdGhlIHNlbGVjdGVkIGRhdGUgYW5kIHJlc291cmNlLjwvbGk+CjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+CjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGEgc3VtbWFyeSByZXBvcnQgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzLjwvbGk+CjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPgo8bGk+bXlyZXNlcnZhdGlvbiAtIFRoZSBteXJlc2VydmF0aW9ucyByZXBvcnQuPGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4KPGxpPnNlYXJjaCAtIFRoZSBzZWFyY2ggZm9ybS48YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3Mgc2VhcmNoaW5nIGZvciByZXNvdXJjZXMgdGhhdCBhcmUgYXZhaWxhYmxlIGJldHdlZW4gdG8gc3BlY2lmaWVkIGRhdGVzLjwvbGk+CjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+CjwvdWw+Cic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGNhbGVuZGFyIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIHRvIHVzZSBmb3Igc2VsZWN0aW5nIHRoZSBkYXRhIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSByZXNvdXJjZXMgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX2NvbmZpcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc2VydmF0aW9uIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBhIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uIG9ubGluZSc7CiRsYW5nWydoZWxwX2RheXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGF5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGF5IHZpZXcgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9kYXknXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0gdG8gc3BlY2lmeSBhIGRlZmF1bHQgZGF5LiAgVXNlZCB3aXRoIHRoZSBkYXl2aWV3IGFjdGlvbiB0byBzcGVjaWZ5IHRoZSB0YXJnZXQgZGF5JzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZWZhdWx0IChzdW1tYXJ5KSwgYW5kIG15cmVzZXJ2YXRpb25zIHZpZXdzLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCBwYWdlIGZvciB2aWV3aW5nIGVpdGhlciB0aGUgcmVzb3VyY2UgZGV0YWlsLCB0aGUgcmVzZXJ2YXRpb24gZm9ybXMsIG9yIHRoZSBzZW5kLWVtYWlsIGZvcm0uICBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIHByZWZlcmVuY2UgZnJvbSB0aGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSB3aWxsIGJlIHVzZWQuICBJZiB0aGF0IGlzIG5vdCBzZXQsIHRoZW4gdGhlIGN1cnJlbnQgcGFnZSB3aWxsIGJlIHVzZWQuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciwgZGV0YWlsLCBkZWZhdWx0IChzdW1tYXJ5KSBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgdG8gdXNlIGZvciBhbnkgZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgaGF2ZSBubyBlZmZlY3QgaWYgcHJldHR5IHVybHMgYXJlIGNvbmZpZ3VyZWQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBteXJlc2VydmF0aW9uLCBhbmQgYWRkcmVzdm4gYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZW1haWxzIGFyZSBzZW50Lic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lIChyZXBsYWNlIHRoZSBvcmlnaW5hbCB0YWcpLCBvciBzaG91bGQgcmVwbGFjZSB0aGUgY29udGVudCBhcmVhIG9mIHRoZSBwYWdlLiAgIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3QgaWYgdGhlIHN1bW1hcnlwYWdlIHBhcmFtZXRlciBpcyBhbHNvIHNwZWNpZmllZCc7CiRsYW5nWydoZWxwX21vbnRoJ10gPSAnVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgbW9udGguICBVc2VkIHdpdGggdGhlIGRheSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgbW9udGgnOwokbGFuZ1snaGVscF9teXJlc3ZudGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb24gdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgdGhhdCB2aWV3JzsKJGxhbmdbJ2hlbHBfcGFnZWxpbWl0J10gPSAnSW4gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyB0byBkaXNwbGF5IG9uIGVhY2ggcGFnZSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0luIHRoZSBjYWxlbmRhciB2aWV3IHRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBvZiByZXNvdXJjZSBuYW1lcyB0byBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyJzsKJGxhbmdbJ2hlbHBfcmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuLCBjYWxlbmRhciwgYW5kIG15cmVzZXJ2YXRpb25zIGFjdGlvbnMsICB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbic7CiRsYW5nWydoZWxwX3Jlc3ZfaWQnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgaWQgb2YgYW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24gdG8gZWRpdC4gIFlvdSB3aWxsIHByb2JhYmx5IG5vdCBuZWVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciBkaXJlY3RseSc7CiRsYW5nWydoZWxwX3JzcmNpZCddID0gJ1RoaXMgcGFyYW1ldGVyIGlzIGFjY2VwdGVkIGJ5IHRoZSBkZXRhaWwgdGVtcGxhdGUgdG8gZGlzcGxheSBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZSc7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS4nOwokbGFuZ1snaGVscF9zZW5kZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGUgc2VuZGVtYWlsIGZvcm0uICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQnOwokbGFuZ1snaGVscF9zaG93YWxsJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZGlzcGxheWluZyBhbGwgcmVzZXJ2YXRpb25zLCBpbmNsdWRpbmcgcGFzdCByZXNlcnZhdGlvbnMuJzsKJGxhbmdbJ2hlbHBfc29ydGJ5J10gPSAnIApBcHBsaWNhYmxlIHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3LCByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIGFuZCB0aGUgYXZhaWxhYmlsaXR5IGNhbGVuZGFyIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiBkaXNwbGF5ZWQgaXRlbXMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+ClJlc291cmNlIHN1bW1hcnkgdmlldywgYW5kIEF2YWlsYWJpbGl0eSBDYWxlbmRhciB2aWV3Ojxici8+Cjx1bD4KICA8bGk+bmFtZTwvbGk+CiAgPGxpPnByaWNlPC9saT4KICA8bGk+RjpmaWVsZG5hbWUgPGVtPih0aGlzIGZvcm0gYWxsb3dzIHNvcnRpbmcgYnkgY3VzdG9tIGZpZWxkcyBpbiB0aGUgc3VtbWFyeSB2aWV3KTwvZW0+PC9saT4KPC91bD4KbXllc2VydmF0aW9ucyB2aWV3Ojxici8+Cjx1bD4KICA8bGk+c3RhcnRfZGF0ZTwvbGk+CiAgPGxpPmVuZF9kYXRlPC9saT4KICA8bGk+cHJpY2U8L2xpPgogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+CiAgPGxpPm1vZGlmaWVkX2RhdGU8L2xpPgo8L3VsPgonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIGF2YWlsYWJpbGl0eSBjYWxlbmRhciB2aWV3LCBhbmQgdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBzZWxlY3RlZCBkYXRhLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPjx1bD48bGk+YXNjIC0gYXNjZW5kaW5nPC9saT48bGk+ZGVzYyAtIGRlc2NlbmRpbmc8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaWQgb3IgYWxpYXMgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcmVzdWx0aW5nIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgb24uICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGlubGluZSBpcyBzZXQgdG8gZmFsc2UuJzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX3llYXInXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCB5ZWFyLiBXaGVuIHVzZWQgd2l0aCB0aGUgZGF5dmlldyBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIHRhcmdldCB5ZWFyLic7CiRsYW5nWydoaXN0b3JpY2FsX2NvbXBhcmlzb24nXSA9ICdIaXN0b3JpY2FsIENvbXBhcmlzb24nOwoKI0kKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19jb25maWcnXSA9ICdJbWFnZSBIYW5kbGluZyBDb25maWcnOwokbGFuZ1snaW5mb19hZGRfdXNlcl9hY2NvdW50J10gPSAnRGlzcGxheSBhIGZvcm0gZnJvbSB0aGUgdXNlciBtYW5hZ2VtZW50IGludGVyZmFjZSB0byBhbGxvdyBhZGRpbmcgYSBuZXcgdXNlciBhY2NvdW50JzsKJGxhbmdbJ2luZm9fYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4nOwokbGFuZ1snaW5mb19hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgYWR2YW5jZWQgc2VhcmNoIGZvcm0sIGRpc3BsYXllZCB3aXRoIHRoZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aW9uLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGFkdmFuY2VkIHNlYXJjaCBmb3JtIHRlbXBsYXRlcywgZm9yIHVzZSB3aXRoIHRoZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aW9uJzsKJGxhbmdbJ2luZm9fYWxsb3dfbm9fcHJpY2VzJ10gPSAnVXNlZCBmb3IgYm9va2luZyByZXNvdXJjZXMgd2l0aCBubyBwcmljZXMgYXR0YWNoZWQnOwokbGFuZ1snaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4gIElmIHNwZWNpZnlpbmcgYSBudW1iZXIgb2YgZnJlZSBkYXlzLCBhbiBpbnRlZ2VyIHZhbHVlIGlzIGV4cGVjdGVkLic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBjYWxlbmRhciB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNhbGVuZGFyIHRlbXBsYXRlcyBmb3IgdXNlIGluIHRoZSBmcm9udGVuZCBjYWxlbmRhciB2aWV3Lic7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gPDw8RU9UClRoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZW1haWwgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIHVzZXIgd2hlbiB1c2luZyB0aGlzIHRlbXBsYXRlLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuICBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc3BlY2lhbCB0byB0aGlzIHRlbXBsYXRlOiB7XCRzdWJqZWN0fSAtIFRoZSBzdWJqZWN0IG9mIHRoZSBlbWFpbCwge1wkYm9keX0gLSBUaGUgYm9keSBvZiB0aGUgZW1haWwKRU9UOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGN1c3RvbWVyIGVtYWlsIHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gc2VuZGluZyBtZXNzYWdlcyB0byBjdXN0b21lcnMgd2hvIGhhdmUgYm9va2VkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcHJvcGVydGllcyBzaG91bGQgYmUgbGlzdGVkIGluIHVzZXIgbGlzdHMuPGJyLz5Vc2UgeyRwcm9wZXJ0eW5hbWV9IHRvIGlkZW50aWZ5IGEgc2luZ2xlIHByb3BlcnR5Ljxici8+UmVmZXIgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGZvciB0aGUgbGlzdCBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZ3JvdXAuPGJyLz5Zb3UgY2FuIGFsc28gdXNlIHRoZSB7JHVzZXJuYW1lfSB0YWcgdG8gaW5kaWNhdGUgdGhlIHVzZXJzIGxvZ2luIG5hbWUuJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkYXkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZGF5IHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBjbGlja2luZyBvbiBhbiBpbmRpdmlkdWFsIGRheSBmcm9tIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGRpc3BsYXknOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnVGhlIGhpZ2hlc3QgYW1vdW50IGNhbGN1bGF0ZWQgd2lsbCBiZSB1c2VkIGFzIHRoZSBtaW5pbXVtIGRlcG9zaXQgZm9yIGVhY2ggcmVzZXJ2YXRpb24uICBEZXBvc2l0IGFtb3VudHMgd2lsbCBuZXZlciBleGNlZWQgdGhlIHRvdGFsIHJlc2VydmF0aW9uIGFtb3VudCc7CiRsYW5nWydpbmZvX2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0Egc21hcnR5IHRlbXBsYXRlIHVzZWQgdG8gYnVpbGQgdGhlIGxpbmUgaXRlbSBkZXNjcmlwdGlvbiB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgY2FydCBhbmQgb24gaW52b2ljZXMuICAgUG9zc2libGUgdmFyaWFibGVzIGFyZSB7JHJlc3ZuX29ian0gPGVtPih0aGUgZW50aXJlIHJlc2VydmF0aW9uIG9iamVjdCk8L2VtPiwgeyRkZXBvc2l0X2Ftb3VudH0gb3IgYW55IG90aGVyIGV4aXN0aW5nIHNtYXJ0eSB2YXJpYWJsZSBvciBwbHVnaW4uJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBkZXRhaWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBkZXRhaWwgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGV0YWlsIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnU2F2ZSAlcyBhZnRlciBwdXJjaGFzaW5nICVzIHBlcmlvZHMgYXQgdGhlIHJlZ3VsYXIgcHJpY2UuJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfYWxsYWRqdXN0J10gPSAnU2F2ZSAlcyBvZmYgb2YgZWFjaCBwZXJpb2Qgd2l0aCBhIHJlc2VydmF0aW9uIGZvciAlcyBwZXJpb2RzJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnUmVjZWl2ZSBvbmUgZnJlZSBwZXJpb2QgYWZ0ZXIgcHVyY2hhc2luZyAlcyc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dCBmb3IgdGhlIE15UmVzZXJ2YXRpb25zIHJlcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBteXJlc2VydmF0aW9ucyB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gYWN0aW9uPW15cmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2luZm9fb3ZlcmNhcF9hbW91bnQnXSA9ICdEYWlseSBhbW91bnQgdG8gYWRkIChwZXIgdW5pdCkgdG8gcmVzZXJ2YXRpb24gcHJpY2UsIGZvciBlYWNoIHVuaXQgb3ZlciB0aGUgc3RhdGVkIGNhcGFjaXR5IChhcHBsaWNhYmxlIG9ubHkgaWYgdGhlIGNhcGFjaXR5IGlzIGEgdmFsaWQgdmFsdWUpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgaWYgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFjY2VzcyB0aGUgcmVzZXJ2YXRpb25zIGZvcm0gaWYgbm90IGxvZ2dlZCBpbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU3BlY2lmeSB0aGUgbGlzdCBvZiB1c2VycyAob3IgZ3JvdXBzKSB0byByZWNlaXZlIGEgY29weSBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsLiAgVGhlIGVtYWlsIGFkZHJlc3MgcHJvcGVydHkgZm9yIGVhY2ggc2VsZWN0ZWQgdXNlciBtdXN0IGJlIHZhbGlkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJ10gPSAnSWYgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQsIHRoZSB1c2VyIHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgcmVzZXJ2YXRpb24gY29uZmlybSBwYWdlIHdpdGhvdXQgYSBtZXNzYWdlIGJlaW5nIGRpc3BsYXllZCc7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBhZnRlciBhIHZpc2l0b3IgaGFzIGNyZWF0ZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGVkaXQgcmVzZXJ2YXRpb24gdXJscywgYW5kIHNlbmQgbWVzc2FnZSB1cmxzJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fc2t1X3ByZWZpeCddID0gJ0lmIHN1cHBsaWVkLCB0aGUgdmFsdWUgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHJlc2VydmF0aW9uIGlkLCBhbmQgc3VwcGxpZWQgdG8gdGhlIGNhcnQgYXMgYSBTS1UnOwokbGFuZ1snaW5mb19yZXNvdXJjZXNfZmlsdGVyJ10gPSAnPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBXaGVuIGFsbCByZXNvdXJjZXMgY2FuIGZpdCBvbiBvbmUgcGFnZSBhbmQgbm8gb3RoZXIgZmlsdGVyaW5nIGlzIGFwcGxpZWQsIGl0IGlzIHBvc3NpYmxlIHRvIGFkanVzdCB0aGVpciBkZWZhdWx0IHNvcnQgb3JkZXJpbmcnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2FkbWluX3N0YXJ0eWVhciddID0gJ1RoaXMgdmFyaWFibGUgc3BlY2lmaWVzIHdoYXQgeWVhciB0aGUgZHJvcGRvd24gbGlzdHMgc2hvdWxkIHN0YXJ0IGF0IHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbiBmcm9tIHRoZSBhZG1pbiBpbnRlcmZhY2UuICBOb3RlIHRoaXMgYWxsb3dzIGFkZGluZyBhbmQgZWRpdGluZyByZXNlcnZhdGlvbnMgZm9yIGxvbmcgcGFzdCBkYXRlcy4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gZm9ybS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwgbWVzc2FnZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gcmVwb3J0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiBlbWFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBlbWFpbCBtZXNzYWdlIHRoYXQgaXMgc2VudCB0byB0aGUgY3VzdG9tZXIgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBtZXNzYWdlIGFuZCBkYXRhIHRoYXQgaXMgZGlzcGxheWVkIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgb3IgZWRpdHMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBjb250cm9scyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VuZGVtYWlsIGZvcm0sIHVzZWQgd2hlbiBhIHNpdGUgdmlzaXRvciB3YW50cyB0byBzZW5kIGEgbWVzc2FnZSB0byBidXNpbmVzcyBvd25lcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBzZW5kZW1haWwgZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIHNlbmRpbmcgYW4gZW1haWwgcmVsYXRlZCB0byBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnVXNlIHRoaXMgZm9ybSB0byBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24gb3IgdG8gYXNrIGFueSBxdWVzdGlvbnMgcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gc3VtbWFyeSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2Ugc3VtbWFyeSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHN1bW1hcnkgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzIDxlbT4odGhpcyBpcyB0aGUgZGVmYXVsdCB2aWV3KTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEFkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IENhbGVuZGFyIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBEYXkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzb3VyY2UgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9teXJlc3ZfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCAmcXVvdDtNeSBSZXNlcnZhdGlvbnMmcXVvdDsgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlbmQgRW1haWwgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnkgb3V0cHV0LiAgVGhpcyBmb3JtIGNvbnRyb2xzIHRoZSB2YWx1ZSBvZiB0aGUgdGVtcGxhdGUgdGhhdCBpcyBjcmVhdGVkIHdoZW4geW91IGNsaWNrICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLic7CiRsYW5nWydpbmZvX3ZpZXdfdXNlciddID0gJ0Rpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ2luaXRpYWxfcmVzZXJ2YXRpb25fbm90ZXMnXSA9ICdJbml0aWFsIFJlc2VydmF0aW9uIE5vdGVzJzsKJGxhbmdbJ2luX2NhcnQnXSA9ICdJbiBDaGVja291dCBQcm9jZXNzJzsKJGxhbmdbJ2luX3Byb2dyZXNzJ10gPSAnSW4gUHJvZ3Jlc3MnOwoKI0oKCiNLCiRsYW5nWydrZXl3b3JkcyddID0gJ0tleXdvcmRzJzsKCiNMCiRsYW5nWydsYXN0cGFnZSddID0gJyZndDsmZ3Q7JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2VuZCc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnQmFjayc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdDYWxlbmRhcic7CiRsYW5nWydsYmxfY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnXSA9ICdDYWxlbmRhciBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snbGJsX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcyddID0gJ0N1c3RvbWVyIEVtYWlsIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY3VzdG9tX2ZpZWxkcyddID0gJ0N1c3RvbSBGaWVsZHMnOwokbGFuZ1snbGJsX2RheV92aWV3X3RlbXBsYXRlcyddID0gJ0RheSBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsX3RlbXBsYXRlcyddID0gJ0RldGFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0V2ZW50cyc7CiRsYW5nWydsYmxfZXZlbnRfdHlwZXMnXSA9ICdFdmVudCBUeXBlcyc7CiRsYW5nWydsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJ10gPSAnTXkgUmVzZXJ2YXRpb25zIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfcHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcyddID0gJ1Jlc2VydmF0aW9uIENvbmZpcm0gRW1haWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX3RlbXBsYXRlcyddID0gJ1Jlc2VydmF0aW9uIENvbmZpcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9mb3JtX3RlbXBsYXRlcyddID0gJ1Jlc2VydmF0aW9uIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9yZXNvdXJjZXMnXSA9ICdSZXNvdXJjZXMnOwokbGFuZ1snbGJsX3NlbmRlbWFpbF90ZW1wbGF0ZXMnXSA9ICdTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ01hbmFnZSBTZXR0aW5ncyc7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnTWFuYWdlIFRlbXBsYXRlcyc7CgojTQokbGFuZ1snbWFuYWdlX2N1c3RvbWVyX2NvbnRhY3RfcmVzdm4nXSA9ICdNYW5hZ2UgQ3VzdG9tZXIgQ29udGFjdCBmb3IgcmVzZXJ2YXRpb24nOwokbGFuZ1snbWFuYWdlciddID0gJ01hbmFnZXInOwokbGFuZ1snbWF4X2xlbmd0aCddID0gJ01heCBMZW5ndGgnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ01lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1snbWVzc2FnZV90ZXh0J10gPSAnTWVzc2FnZSBCb2R5JzsKJGxhbmdbJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltdW0gRGVwb3NpdCBSZXF1aXJlZCc7CiRsYW5nWydtb2RpZmllZF9kYXRlJ10gPSAnTW9kaWZpZWQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSByZXNvdXJjZSBhbmQgYXZhaWxhYmlsaXR5IG1hbmFnZXIgZm9yIHNjaGVkdWxpbmcgYW5kIHJlc2VydmluZyByZXNvdXJjZXMgb24gYSBkYWlseSBiYXNpcyc7CiRsYW5nWydtb25kYXknXSA9ICdNb25kYXknOwokbGFuZ1snbW9udGgnXSA9ICdNb250aCc7CiRsYW5nWydtb250aGxpc3RfYnJpZWYnXSA9ICdKYW4vRmViL01hci9BcHIvTWF5L0p1bi9KdWwvQXVnL1NlcC9PY3QvTm92L0RlYyc7CiRsYW5nWydtb3JlJ10gPSAnTW9yZSc7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdNb3ZlIERvd24nOwokbGFuZ1snbW92ZV91cCddID0gJ01vdmUgVXAnOwoKI04KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25leHQnXSA9ICdOZXh0JzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnJmd0Oyc7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ25vbmJvb2thYmxlX2Jsb2NrcyddID0gJ0Nsb3NlZCBCbG9ja3MnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7CiRsYW5nWydub3RfYXBwbGljYWJsZSddID0gJ04vQSc7CiRsYW5nWydub3RfY2FsY3VsYXRlZCddID0gJ05vdCBjYWxjdWxhdGVkJzsKJGxhbmdbJ251bV9wZW9wbGUnXSA9ICdOdW1iZXIgb2YgUGVvcGxlJzsKCiNPCiRsYW5nWydvY2N1cnMnXSA9ICdPY2N1cnMnOwokbGFuZ1snb2YnXSA9ICdPZic7CiRsYW5nWydvbiddID0gJ09uJzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnT25lIEhvdXInOwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOwokbGFuZ1snb3JkZXInXSA9ICdPcmRlcic7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ092ZXJjYXBhY2l0eSBQcmljZSBBZGp1c3RtZW50JzsKCiNQCiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTnVtYmVyIG9mIEl0ZW1zIHBlciBQYWdlJzsKJGxhbmdbJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdQYWdlIHRvIHJlZGlyZWN0IHRvIHdoZW4gbm90IGxvZ2dlZCBpbic7CiRsYW5nWydwYXJ0MSddID0gJ1BhcnQgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdQYXJ0aWFsbHkgUmVzZXJ2ZWQnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkX2xibCddID0gJyVzIG9mICVzIHNsb3RzIHJlc2VydmVkJzsKJGxhbmdbJ3Bhc3RfbWVzc2FnZXMnXSA9ICdQYXN0IE1lc3NhZ2VzJzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdQZW5kaW5nJzsKJGxhbmdbJ3BlcmNlbnRhZ2VfZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltaW11bSBQZXJjZW50YWdlIG9mIHRvdGFsIG9yZGVyIHJlcXVpcmVkIGZvciBhIGRlcG9zaXQgPGVtPihleHByZXNzZWQgaW4gZGVjaW1hbCBmb3JtYXQpPC9lbT4nOwokbGFuZ1sncGVyY2VudF9ib29rZWQnXSA9ICdQZXJjZW50YWdlIEJvb2tlZCc7CiRsYW5nWydQTSddID0gJ1BNJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUgaGFzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGFwcHJvcHJpYXRlIGdyb3VwcyBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBtYW5hZ2UgdGhlIHZhcmlvdXMgYXNwZWN0cyBvZiB0aGlzIG1vZHVsZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUsIGFuZCBhbGwgcmVsYXRlZCBkYXRhIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtLiAgWW91IGFyZSBub3cgZnJlZSB0byBkZWxldGUgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcmV2J10gPSAnUHJldic7CiRsYW5nWydwcmV2cGFnZSddID0gJyZsdDsnOwokbGFuZ1sncHJpY2UnXSA9ICdQcmljZSc7CiRsYW5nWydwcmljZXMnXSA9ICdQcmljZXMnOwokbGFuZ1sncHJpY2VfYWRqdXN0J10gPSAnQWRqdXN0IHRoZSBQcmljZSBvZiBlZmZlY3RlZCAlcyBieSB0aGlzIGFtb3VudC48YnIvPjxlbT4odXNlIGEgZm9ybWF0IGxpa2UgKjAuODUgb3IgLTEzIG9yICsyNSk8L2VtPic7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHVibGljJ10gPSAnUHVibGljJzsKCiNRCiRsYW5nWydxdWFydGVyX2hvdXInXSA9ICdRdWFydGVyIEhvdXInOwoKI1IKJGxhbmdbJ3Jlc2VydmVkJ10gPSAnUmVzZXJ2ZWQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSZXNlcnZhdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9hZG1pbl9zdGFydHllYXInXSA9ICdTdGFydCB5ZWFyIGZvciByZXNlcnZhdGlvbnMgaW4gdGhlIGFkbWluIHBhbmVsJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ1BlbmRpbmcgUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maWcnXSA9ICdSZXNlcnZhdGlvbiBTZXR0aW5ncyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaWxlIHRvIGF0dGFjaCB0byBhbGwgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnQ0MgdGhlc2UgdXNlcnMgb24gcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddID0gJ1NlbmQgYW4gZW1haWwgdG8gdGhlIGN1c3RvbWVyIHdoZW4gYSByZXNlcnZhdGlvbiBpcyBjcmVhdGVkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJ1N1YmplY3Qgb2YgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX21zZyddID0gJ0Rpc3BsYXkgdGhlIFJlc2VydmF0aW9uIENvbmZpcm0gTWVzc2FnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBDb25maXJtIFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdZb3VyIHNlbGVjdGVkICVzIGFyZSBub3QgYWxsIGF2YWlsYWJsZSBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdSZXNlcnZhdGlvbiBDcmVhdGVkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1Jlc2VydmF0aW9uIERlZmF1bHQgUGFnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZXRhaWxzJ10gPSAnUmVzZXJ2YXRpb24gRGV0YWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmxpY3QgRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9pZCddID0gJ1Jlc2VydmF0aW9uIElkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX21hbmFnZXInXSA9ICdSZXNlcnZhdGlvbiBNYW5hZ2VyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnUmVzZXJ2YXRpb24gQ29tcG9uZW50cyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fbnVtJ10gPSAnUmVzZXJ2YXRpb246ICUwNWQnOwokbGFuZ1sncmVzZXJ2YXRpb25fc2t1X3ByZWZpeCddID0gJ1Jlc2VydmF0aW9uIFNLVSBQcmVmaXgnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldCc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jlc291cmNlJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXNlcnZlZCBvbiBhbiAlcyBiYXNpcywgb24gJXMgYm91bmRhcmllcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzInXSA9ICdSZXNlcnZlZCBvbiBhbiAlcyBiYXNpcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdhdmFpbGFibGUgZnJvbSAlcyB0byAlcyBhbmQgZnJvbSAlcyB0byAlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzQnXSA9ICdjaGVja2luIHRpbWUgaXMgJXMsIGFuZCBjaGVja291dCB0aW1lIGlzICVzJzsKJGxhbmdbJ3Jlc291cmNlX3R5cGUnXSA9ICdSZXNvdXJjZSBUeXBlJzsKJGxhbmdbJ3Jvb20nXSA9ICdSb29tJzsKJGxhbmdbJ3Jvb21zJ10gPSAnUm9vbXMnOwokbGFuZ1sncmVxdWlyZV9kZXBvc2l0J10gPSAnSXMgYSBkZXBvc2l0IHJlcXVpcmVkPyc7CgojUwokbGFuZ1snc2F0dXJkYXknXSA9ICdTYXR1cmRheSc7CiRsYW5nWydzY2hlZHVsaW5nJ10gPSAnU2NoZWR1bGluZyc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnVGhpcyByZXNvdXJjZSBpcyBib29rZWQnOwokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kJzsKJGxhbmdbJ3NlbmRfY3VzdG9tZXJfbWFpbCddID0gJ1NlbmQgdGhlIGN1c3RvbWVyIGEgbm90aWNlIG9mIHRoaXMgY2hhbmdlIHZpYSBlbWFpbD8nOwokbGFuZ1snc2VuZF9lbWFpbCddID0gJ1NlbmQgYW4gRW1haWwnOwokbGFuZ1snc2VudCddID0gJ1NlbnQnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ1N0YXJ0IERhdGUnOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGltZSAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpbWUgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGljcyc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc3RhdHVzX3Jvb21zX2F2YWlsYWJsZSddID0gJ1RoZSAlcyB5b3Ugc2VsZWN0ZWQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlc2UgZGF0ZXMnOwokbGFuZ1snc3Vial9yZV9yZXN2biddID0gJ1JlOiBSZXNlcnZhdGlvbiAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViamVjdCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3VuZGF5J10gPSAnU3VuZGF5JzsKCiNUCiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBGaWVsZCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ1RodXJzZGF5JzsKJGxhbmdbJ3RpdGxlX2NvbmZsaWN0J10gPSAnQ29uZmxpY3QgRXhpc3RzfEEgY29uZmxpY3QgZXhpc3RzIGJldHdlZW4gcmVzZXJ2YXRpb25zICUwNGQgYW5kICUwNGQuPGJyLz48YnIvPk1vcmUgY29uZmxpY3RzIG1heSBleGlzdHMgZm9yIHRoaXMgYmxvY2suJzsKJGxhbmdbJ3RpdGxlX2dyYXBoaW5nJ10gPSAnVmlldyBncmFwaHMgYW5kIHJlcG9ydHMgb2YgaGlzdG9yaWNhbCBkYXRhJzsKJGxhbmdbJ3RvJ10gPSAnVG8nOwokbGFuZ1sndG90YWxfYmxvY2tzJ10gPSAnVG90YWwgQmxvY2tzJzsKJGxhbmdbJ3R1ZXNkYXknXSA9ICdUdWVzZGF5JzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKCiNVCiRsYW5nWyd1c2VfZGF0ZXNfaW5fZmlsdGVyJ10gPSAnQXBwbHkgdGhlIEZvbGxvd2luZyBEYXRlcyc7CgojVgokbGFuZ1sndmFjYW50J10gPSAnVmFjYW50JzsKJGxhbmdbJ3ZpZXcnXSA9ICdWaWV3JzsKJGxhbmdbJ3ZpZXdfZGF5J10gPSAnVmlldyBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGRheSc7CiRsYW5nWyd2aWV3X3VzZXInXSA9ICdWaWV3IEd1ZXN0IERldGFpbHMnOwokbGFuZ1sndmlld19yc3JjX2RldGFpbHMnXSA9ICdWaWV3IGRldGFpbHMgZm9yIHRoaXMgJXMnOwoKI1cKJGxhbmdbJ3dlZG5lc2RheSddID0gJ1dlZG5lc2RheSc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnV2Vla2RheSBQcmljZSBBZGp1c3RtZW50cyc7CgojWAoKI1kKJGxhbmdbJ3llYXJfMSddID0gJ1llYXIgMSc7CiRsYW5nWyd5ZWFyXzInXSA9ICdZZWFyIDInOwokbGFuZ1sneWVhcl8zJ10gPSAnWWVhciAzJzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdZb3VyIE5hbWUnOwoKI1oKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0VyZWlnbmlzdHlwZW4gaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FjdGlvbl9lZGl0X2V2ZW50X3R5cGUnXSA9ICdFcmVpZ25pc3R5cGVuIGJlYXJiZWl0ZW4nOwokbGFuZ1snYWN0aXZlJ10gPSAnQWt0aXYnOwokbGFuZ1snYWRkJ10gPSAnSGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ1Jlc2VydmllcnVuZ3NiZXpvZ2VuZSBJbmZvcm1hdGlvbmVuIGVpbmdlYmVuJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhbiBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnS2FsZW5kZXJhbnNpY2h0cy1UZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ0t1bmRlbi1FbWFpbC1UZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X2RheV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERheSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNvdXJjZSBEZXRhaWwgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnJmJkcXVvO01laW5lIFJlc2VydmllcnVuZ2VuJmxkcXVvOy1BbnNpY2h0cy1UZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnUmVzZXJ2aWVydW5nc2Zvcm11bGFyLVRlbXBsYXRlIGhpbnp1ZiZ1dW1sO2dlbi9iZWFyYmVpdGVuJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0VtYWlsLVRlbXBsYXRlIGYmdXVtbDtyIFJlc2VydmllcnVuZ3NiZXN0JmF1bWw7dGlndW5nIGhpbnp1ZiZ1dW1sO2dlbi9iZWFyYmVpdGVuJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1Jlc2VydmllcnVuZ3NiZXN0JmF1bWw7dGlndW5ncy1UZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJyZiZHF1bztFbWFpbCBzZW5kZW4mbGRxdW87LUZvcm11bGFyLVRlbXBsYXRlIGhpbnp1ZiZ1dW1sO2dlbi9iZWFyYmVpdGVuJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzb3VyY2UgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkbWluX25vdGVzJ10gPSAnQWRtaW5pc3RyYXRvci1Ob3RpemVuJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGVsaWdpYmxlIGRheXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0J1bGsgZGlzY291bnQgYWRqdXN0bWVudCBvZiAlLjJmIGZvciBhbGwgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnQnVsayBkaXNjb3VudCBlbGlnaWJsZSBmcmVlIGRheSc7CiRsYW5nWydhZGp1c3RfZXZlbnRfcHJpY2UnXSA9ICdBZGp1c3RlZCBwcmljZSBmb3IgZXZlbnQgJXMgYnkgJXMnOwokbGFuZ1snYWRqdXN0X292ZXJjYXBhY2l0eSddID0gJ0FkanVzdGVkIHByaWNlIGZvciAlZCBleHRyYSBwZW9wbGUgYnkgJS4yZic7CiRsYW5nWydhZGp1c3Rfd2Vla2RheV9wcmljZSddID0gJ0FkanVzdGVkIHByaWNlIGZvciB3ZWVrZGF5ICVzIGJ5ICVzJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeSddID0gJ0F0dHJpYnV0IGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlcyBGZWxkIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRfZXZlbnQnXSA9ICdFcmVpZ25pcyBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRkX2V2ZW50X3R5cGUnXSA9ICdFcmVpZ25pc3R5cCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRkX3Jlc2VydmF0aW9uJ10gPSAnRWluZSBSZXNlcnZpZXJ1bmcgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF91c2VyX2FjY291bnQnXSA9ICdFaW4gQmVudXR6ZXJrb250byBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWxsJ10gPSAnQWxsZSc7CiRsYW5nWydhbGxvd2VkX2ZpbGVfdHlwZXMnXSA9ICdFcmxhdWJ0ZSBEYXRlaXR5cGVuJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdFcmxhdWJ0ZSBCaWxkYXJ0ZW4nOwokbGFuZ1snYWxsb3dfbm9fcHJpY2VzJ10gPSAnRXJyb3Igb24gbm8gcHJpY2UnOwokbGFuZ1snYWxsb3dfb3ZlcmNhcGFjaXR5J10gPSAnQWxsb3cgcmVzZXJ2YXRpb25zIHRoYXQgYXJlIG92ZXIgY2FwYWNpdHknOwokbGFuZ1snQU0nXSA9ICdBTSc7CiRsYW5nWydhbnknXSA9ICdlZ2FsJzsKJGxhbmdbJ2FwcGx5J10gPSAnQW53ZW5kZW4nOwokbGFuZ1snYXNrX2RlbGV0ZV9ldmVudCddID0gJ1dvbGxlbiBTaWUgZGllc2VzIEVyZWlnbmlzIHdpcmtsaWNoIGRhdWVyaGFmdCBlbnRmZXJuZW4/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nXSA9ICdXb2xsZW4gU2llIGRpZXNlIFJlc2VydmllcnVuZyB3aXJrbGljaCBkYXVlcmhhZnQgYXVzIElocmVtIFN5c3RlbSBlbnRmZXJuZW4/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzb3VyY2UnXSA9ICdBcmUgeW91IHN1cmUgeW91IHJlYWxseSB3YW50IHRvIHBlcm1hbmVudGx5IHJlbW92ZSB0aGlzIHJlc291cmNlPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1dvbGxlbiBTaWUgd2lya2xpY2ggZGllc2VzIE1vZHVsIGRlaW5zdGFsbGllcmVuPyBBbGxlIGltIFp1c2FtbWVuaGFuZyBtaXQgZGllc2VtIE1vZHVsIGVpbmdlZ2ViZW5lbiBEYXRlbiBnZWhlbiBkYWJlaSB2ZXJsb3Jlbi4nOwokbGFuZ1snYXQnXSA9ICdAJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdBbmhhbmcnOwokbGFuZ1snYXR0YWNobWVudF9kaXInXSA9ICdWZXJ6ZWljaG5pcywgaW4gZGVtIG5hY2ggQW5oJmF1bWw7bmdlbiBnZXN1Y2h0IHdlcmRlbiBzb2xsJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGUnOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnVm9yc2NoYXViaWxkZXIgYXV0b21hdGlzY2ggZXJ6ZXVnZW4nOwokbGFuZ1snYXZhaWxhYmxlJ10gPSAnVmVyZiZ1dW1sO2diYXInOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0hpbnRlcmdydW5kZmFyYmUnOwokbGFuZ1snYmFzZV9wcmljZSddID0gJ0Jhc2lzcHJlaXMnOwokbGFuZ1snYmFzaWNfcHJpY2luZyddID0gJ0Jhc2ljIFByaWNpbmcnOwokbGFuZ1snYm9va2FibGUnXSA9ICdLJm91bWw7bm5lbiBaaW1tZXIgdyZhdW1sO2hyZW5kIGRpZXNlcyBFcmVpZ25pc3NlcyBnZWJ1Y2h0IHdlcmRlbj8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCdWNoYmFyJzsKJGxhbmdbJ2Jvb2thYmxlX2V2ZW50X2Jsb2NrcyddID0gJ0J1Y2hiYXJlIEVyZWlnbmlzYmwmb3VtbDtja2UnOwokbGFuZ1snYm9va2VkX2Jsb2NrcyddID0gJ0dlYnVjaHRlIEJsJm91bWw7Y2tlJzsKJGxhbmdbJ2NhYmluJ10gPSAnS2FiaW5lJzsKJGxhbmdbJ2NhYmlucyddID0gJ0thYmluZW4nOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnQmVyZWNobmVuJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ1ByZWlzIGJlcmVjaG5lbic7CiRsYW5nWydjYWxjdWxhdGVkX3ByaWNlJ10gPSAnS2Fsa3VsaWVydGVyIFByZWlzJzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ0VpbnN0ZWxsdW5nZW4gZGVzIFZlcmYmdXVtbDtnYmFya2VpdHNrYWxlbmRlcnMnOwokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsKJGxhbmdbJ2NhbmNlbGxlZCddID0gJ1N0b3JuaWVydCc7CiRsYW5nWydjYXBhY2l0eSddID0gJ0thcGF6aXQmYXVtbDt0JzsKJGxhbmdbJ2NhciddID0gJ0ZhaHJ6ZXVnJzsKJGxhbmdbJ2NhcnMnXSA9ICdGYWhyemV1Z2UnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0dHJpYnV0JzsKJGxhbmdbJ2NjX215c2VsZiddID0gJ0VpbmUgS29waWUgZGllc2VyIE5hY2hyaWNodCBhbiBtZWluIEVtYWlsLVBvc3RmYWNoIHNlbmRlbic7CiRsYW5nWydjaGVjayddID0gJ0NoZWNrJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuJzsKJGxhbmdbJ2NoZWNraW4nXSA9ICdBbnJlaXNlJzsKJGxhbmdbJ2NoZWNraW5fdGltZSddID0gJ0FucmVpc2V6ZWl0JzsKJGxhbmdbJ2NoZWNrb3V0J10gPSAnQWJyZWlzZSc7CiRsYW5nWydjaGVja291dF90aW1lJ10gPSAnQWJyZWlzZXplaXQnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnVmVyZiZ1dW1sO2diYXJrZWl0IHByJnV1bWw7ZmVuJzsKJGxhbmdbJ2Nsb3NlZCddID0gJ0dlc2NobG9zc2VuJzsKJGxhbmdbJ2NvbG9yJ10gPSAnRmFyYmUnOwokbGFuZ1snY29uZmlybWVkJ10gPSAnQmVzdCZhdW1sO3RpZ3QnOwokbGFuZ1snY29uZmlybV9yZXNlcnZhdGlvbiddID0gJ0JpdHRlICZ1dW1sO2JlcnByJnV1bWw7ZmVuIHNpZSBkaWUgSW5mb3JtYXRpb25lbiBpbSBGb3JtdWxhciB1bmQgYmVzdCZhdW1sO3RpZ2VuIHNpZSwgZGFzcyBzaWUgZGllc2UgUmVzZXJ2aWVydW5nIGVyc3RlbGxlbiB3b2xsZW4uJzsKJGxhbmdbJ2NvbmZsaWN0J10gPSAnS29uZmxpa3QnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdFcnN0ZWxsdCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdDcmVhdGUgYSByZXNlcnZhdGlvbiBmb3IgdGhpcyBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdFcnN0ZWxsdCc7CiRsYW5nWydjdXJyZW5jeV9zeW1ib2wnXSA9ICdXJmF1bWw7aHJ1bmdzc3ltYm9sJzsKJGxhbmdbJ2N1cnJlbnRfeWVhciddID0gJ0RhcyBha3R1ZWxsZSBKYWhyJzsKJGxhbmdbJ2N1c3RvbWVyJ10gPSAnS3VuZGUnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLdW5kZW5ncnVwcGUnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0t1bmRlbm5hbWUnOwokbGFuZ1snY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIGRpZSBLdW5kZW5hbnplaWdlJzsKJGxhbmdbJ2RhaWx5J10gPSAnVCZhdW1sO2dsaWNoJzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXlfcmVwb3J0J10gPSAnRGF5IFJlcG9ydCc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdEYXkgUmVwb3J0IGZvciAlcyc7CiRsYW5nWydkYXlfdmlldyddID0gJ0RheSBWaWV3JzsKJGxhbmdbJ2RlZmF1bHRfY2FwYWNpdHknXSA9ICdEZWZhdWx0IGNhcGFjaXR5IDxlbT4oZm9yIG5ldyByZXNvdXJjZXMpPC9lbT4nOwokbGFuZ1snZGVmYXVsdF9ncmFudWxhcml0eSddID0gJ0RlZmF1bHQgR3JhbnVsYXJpdHknOwokbGFuZ1snZGVmYXVsdF90aW1lX2ludGVydmFsJ10gPSAnRGVmYXVsdCBUaW1lIEludGVydmFsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydkZWxldGVfY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dCBsJm91bWw7c2NoZW4nOwokbGFuZ1snZGVsZXRlX2N1c3RvbV9maWVsZCddID0gJ0JlbnV0emVyZGVmaW5pZXJ0ZXMgRmVsZCBsJm91bWw7c2NoZW4nOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnRXJlaWduaXMgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnRXJlaWduaXN0eXAgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2RlcG9zaXRfYW1vdW50J10gPSAnRGVwb3NpdCBBbW91bnQnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnRGVzcG9zaXQgQW1vdW50cyc7CiRsYW5nWydkZXBvc2l0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFN1bW1hcnknOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdCZXNjaHJlaWJ1bmcnOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdJaHJlIFJlc2VydmllcnVuZyB3dXJkZSBiZXN0JmF1bWw7dGlndCc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RtZW50J10gPSAnRGlzY291bnQgQWRqdXN0bWVudCc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBmb3IgdGhlIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgcGVyaW9kIChsZWFzdCBleHBlbnNpdmUgZmlyc3QpJzsKJGxhbmdbJ2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0FwcGx5IGEgYnVsayBhZGp1c3RtZW50IHRvIGFsbCBwZXJpb2RzJzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdBZGp1c3QgUHJpY2VzIGZvciBhcHBsaWNhYmxlIHBlcmlvZHMgb25seSc7CiRsYW5nWydkaXNjb3VudF90eXBlJ10gPSAnRGlzY291bnQtVHlwJzsKJGxhbmdbJ2Rpc2NvdW50cyddID0gJ0Rpc2NvdW50cyAnOwokbGFuZ1snZGlzcGxheSddID0gJ0FuemVpZ2UnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdMaXN0ZW5mZWxkJzsKJGxhbmdbJ2VkaXQnXSA9ICdCZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dCBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlcyBGZWxkIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ0VyZWlnbmlzIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9ldmVudF90eXBlJ10gPSAnRXJlaWduaXN0eXAgYmVhcmJlaXRlbic7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnUmVzZXJ2aWVydW5nIGJlYXJiZWl0ZW4nOwokbGFuZ1snZW1haWwnXSA9ICdFLU1haWwnOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdFbmRkYXR1bSc7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRW5kemVpdCAxJzsKJGxhbmdbJ2VuZF90aW1lXzInXSA9ICdFbmR6ZWl0IDInOwokbGFuZ1snZXJyb3JfY2FsY3VsYXRpb24nXSA9ICdCZXJlY2hudW5nc2ZlaGxlcic7CiRsYW5nWydlcnJvcl9jYW5ub3RfZGVsZXRlX3Jlc291cmNlJ10gPSAnVGhpcyByZXNvdXJjZSBjYW5ub3QgYmUgZGVsZXRlZCBiZWNhdXNlIHRoZXJlIGFyZSBrbm93biByZXNlcnZhdGlvbnMgZm9yIGl0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRlbmJhbmtmZWhsZXIsIGJpdHRlIGtvbnRha3RpZXJlbiBTaWUgZGVuIEFkbWluaXN0cmF0b3IhJzsKJGxhbmdbJ2Vycm9yX2V2ZW50X2NvbmZsaWN0J10gPSAnRWluIEtvbmZsaWt0IG1pdCBlaW5lbSBuaWNodCBidWNoYmFyZW4gRXJlaWduaXMgZiZ1dW1sO3IgZGllc2UgUmVzZXJ2aWVydW5nIHd1cmRlIGZlc3RnZXN0ZWxsdC4nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ0JlaW0gTCZvdW1sO3NjaGVuIGVpbmVyIG9kZXIgbWVocmVyZXIgRGF0ZWllbiBpc3QgZWluIFByb2JsZW0gYXVmZ2V0cmV0ZW4uJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnRWluIGludGVybmVyIEZlaGxlciBpc3QgYXVmZ2V0cmV0ZW4uIEJpdHRlIGtvbnRha3RpZXJlbiBzaWUgZGVuIEFkbWluaXN0cmF0b3IuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfZGF0ZXMnXSA9ICdEYXMgdm9uIElobmVuIGVpbmdlZ2ViZW5lIERhdHVtIGlzdCB1bmcmdXVtbDtsdGlnLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnRGVyIGVpbmdlZ2ViZW5lIFByZWlzIHNjaGVpbnQgbGVlciBvZGVyIHVuZyZ1dW1sO2x0aWcgenUgc2Vpbi4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF90aW1lX3NldHRpbmdzJ10gPSAnRGVyIGVpbmdlZ2ViZW5lIFplaXRyYXVtIGlzdCB1bmcmdXVtbDtsdGlnJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdFaW4gdW5nJnV1bWw7bHRpZ2VyIFdlcnQgd3VyZGUgZiZ1dW1sO3IgZWluIG9kZXIgbWVocmVyZSBGZWxkZXIgYW5nZWdlYmVuLic7CiRsYW5nWydlcnJvcl9taXNzaW5nX3BhcmFtZXRlciddID0gJ0VpbiBvZGVyIG1laHJlcmUgZXJmb3JkZXJsaWNoZSBQYXJhbWV0ZXIgZmVobGVuIG9kZXIgc2luZCBsZWVyLic7CiRsYW5nWydlcnJvcl9ta2RpciddID0gJ1Byb2JsZW0gYmVpbSBFcnN0ZWxsZW4gZGVzIFZlcnplaWNobmlzc2VzJzsKJGxhbmdbJ2Vycm9yX211c3Rfc2VsZWN0J10gPSAnU2llIG0mdXVtbDtzc2VuIGVpbiBvZGVyIG1laHJlcmUgJXMgdyZhdW1sO2hsZW4nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0lociBBbmJpZXRlciBoYXQgbmllbWFuZGVuIGtvbmZpZ3VyaWVydCwgZGVyIGYmdXVtbDtyIGRpZXNlIE1lbGR1bmdlbiBiZW5hY2hyaWNodGlndCB3ZXJkZW4gc29sbC4gQml0dGUga29udGFrdGllcmVuIGRpZSBkZW4gV2Vic2VpdGVuYWRtaW5pc3RyYXRvciBkaXJla3QuJzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnRGllIGFuZ2VnZWJlbmVuIERhdGVuIGtvbm50ZW4gbGVpZGVyIG5pY2h0IGdlZnVuZGVuIHdlcmRlbi4nOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnU2llIHNpbmQgbm9jaCBuaWNodCBhdWYgZGllc2VyIGFuZ2VtZWxkZXQuIEJpdHRlIHJlZ2lzdHJpZXJlbiBTaWUgc2ljaCwgYmV2b3Igc2llIGVpbmUgUmVzZXJ2aWVydW5nIHQmYXVtbDt0aWdlbi4nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnXSA9ICdFcyBrb25udGUga2VpbmUgRW1haWwtQWRyZXNzZSBmJnV1bWw7ciBkaWVzZW4gS3VuZGVuIGdlZnVuZGVuIHdlcmRlbi4nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfc2VsZWN0ZWQnXSA9ICdCaXR0ZSB3JmF1bWw7aGxlbiBTaWUgZWluZW4gS3VuZGVuIGF1cyBkZXIgTGlzdGUuJzsKJGxhbmdbJ2Vycm9yX25vX2V2ZW50X3R5cGVzJ10gPSAnRXMgd3VyZGVuIGtlaW5lIEVyZWlnbmlzdHlwZW4gZGVmaW5pZXJ0Lic7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1lvdSBoYXZlIG5vdCBzcGVjaWZpZWQgYW55dGhpbmcgdG8gcmVzZXJ2ZSEnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25zJ10gPSAnTm8gcmVzZXJ2YXRpb25zIGZvdW5kIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXMnXSA9ICdLZWluKGUpICVzIGRlZmluaWVydCc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXNfc2VsZWN0ZWQnXSA9ICdQbGVhc2UgZGVmaW5lIG9uZSBvciBtb3JlIHJlc291cmNlcyBhbmQgaW50ZXJ2YWxzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnRXMga29ubnRlIGtlaW4gcmVnaXN0cmllcnRlciBCZW51dHplciBmJnV1bWw7ciBkaWUgZ2V3JmF1bWw7aGx0ZSBLdW5kZW5ncnVwcGUgZ2VmdW5kZW4gd2VyZGVuLic7CiRsYW5nWydlcnJvcl9vdmVyX2NhcGFjaXR5J10gPSAnVGhpcyByZXNvdXJjZSBvbmx5IGFsbG93cyAlcyBwZW9wbGUsIHlvdSBoYXZlIHJlcXVlc3RlZCBhIHJlc2VydmF0aW9uIGZvciAlcyc7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnU2llIGsmb3VtbDtubmVuIGtlaW5lIFJlc2VydmllcnVuZyB0JmF1bWw7dGlnZW4sIGRlcmVuIERhdGVuIGluIGRlciBWZXJnYW5nZW5oZWl0IGxpZWdlbic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uJ10gPSAnU2llIGhhYmVuIGtlaW5lIEJlcmVjaHRpZ3VuZywgZGllc2UgRGF0ZW4genUgc2VoZW4uJzsKJGxhbmdbJ2Vycm9yX3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnRXMgd3VyZGUgZWluIFJlc2VydmllcnVuZ3Nrb25mbGlrdCBmZXN0Z2VzdGVsbHQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgc3RhdHVzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX3RpbWVwZXJpb2Rfc3RhcnRlZCddID0gJ1RoZSB0aW1lIHBlcmlvZCBzZWxlY3RlZCBoYXMgYWxyZWFkeSBzdGFydGVkLCBwbGVhc2Ugc2VsZWN0IGEgZnV0dXJlIHRpbWUgcGVyaW9kJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ0ZlaGxlciBiZWltIEhvY2hsYWRlbiBkZXIgRGF0ZWknOwokbGFuZ1snZXZlbnRzX2Zvcl9yZXNvdXJjZSddID0gJ0VyZWlnbmlzc2UgZiZ1dW1sO3IgJXMnOwokbGFuZ1snZXZlbnRfdHlwZSddID0gJ0VyZWlnbmlzdHlwJzsKJGxhbmdbJ2V2ZW50X3R5cGVzJ10gPSAnRXJlaWduaXN0eXBlbic7CiRsYW5nWydleHBpcmVkJ10gPSAnQWJnZWxhdWZlbic7CiRsYW5nWydleHRlbmRlZF91c2VfZGlzY291bnRzJ10gPSAnRXh0ZW5kZWQgVXNlIERpc2NvdW50cyc7CiRsYW5nWydmZXVfcHJlZmVyZW5jZXMnXSA9ICdGcm9udGVuZFVzZXItRWluc3RlbGx1bmdlbic7CiRsYW5nWydmaWVsZHMnXSA9ICdGZWxkZXInOwokbGFuZ1snZmlsZSddID0gJ0RhdGVpJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0FuemVpZ2VuJzsKJGxhbmdbJ2ZpbGVfaGFuZGxpbmdfY29uZmlnJ10gPSAnRGF0ZWliZWhhbmRsdW5nc2tvbmZpZ3VyYXRpb24nOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnJmFtcDtsYXF1bzsnOwokbGFuZ1snZm9yJ10gPSAnRiZ1dW1sO3InOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ1ZvcmRlcmdydW5kZmFyYmUnOwokbGFuZ1snZnJpZGF5J10gPSAnRnJlaXRhZyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdWZXJmJnV1bWw7Z2JhcmtlaXRzLVZlcndhbHR1bmcnOwokbGFuZ1snZnJvbSddID0gJ1Zvbic7CiRsYW5nWydmdXR1cmUnXSA9ICdVcGNvbWluZyc7CiRsYW5nWydnZW5lcmFsX2NvbmZpZyddID0gJ0hhdXB0a29uZmlndXJhdGlvbic7CiRsYW5nWydncm91cCddID0gJ0dydXBwZSc7CiRsYW5nWydndWVzdCddID0gJ0dhc3QnOwokbGFuZ1snaGFsZl9kYXknXSA9ICdIYWxiZXIgVGFnJzsKJGxhbmdbJ2hhbGZfaG91ciddID0gJ0hhbGJlIFN0dW5kZSc7CiRsYW5nWydob3VybHknXSA9ICdTdCZ1dW1sO25kbGljaCc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzxoMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcGxldGUgb25saW5lIHJlc2VydmF0aW9uIG1hbmFnZW1lbnQgc3lzdGVtIGZvciBob3RlbHMsIGNhciByZW50YWwgYWdlbmNpZXMsIG9yIGFueSBvdGhlciBwdXJwb3NlIHdoZXJlIHBhcnRpY3VsYXIgJnF1b3Q7cmVzb3VyY2VzJnF1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPg0KPHA+QSBjb21wbGV0ZSBhZG1pbiBpbnRlcmZhY2UgYWxsb3dzIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHJlc291cmNlcywgZXZlbnRzLCByZXNlcnZhdGlvbnMsIGFuZCBhbGwgYXNwZWN0cyBvZiB0aGUgZGlzcGxheWFibGUgaXRlbXMuPC9wPg0KPGgzPkZlYXR1cmVzOjxoMz4NCjx1bD4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLg0KICA8dWw+DQogIDxsaT5BIGJhc2UgZGFpbHkgcHJpY2UgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggcmVzb3VyY2UuPC9saT4NCiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPg0KICA8L3VsPg0KPGxpPg0KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+DQo8bGk+QWxsb3dzIGNyZWF0aW5nIGV2ZW50IHR5cGVzIGFuZCBhc3NvY2lhdGluZyB0aGVtIHdpdGggY29sb3JzLjwvbGk+DQo8bGk+U3VwcG9ydHMgY3JlYXRpbmcgZXZlbnRzIGZvciBwYXJ0aWN1bGFyIHJlc291cmNlcyBvdmVyIHBhcnRpY3VsYXIgZGF5czoNCiAgPHVsPg0KICA8bGk+RXZlbnRzIGNhbiBiZSBib29rYWJsZSBvciBub24gYm9va2FibGUsIHRvIGJsb2NrIHJlc2VydmF0aW9ucyBmb3IgdGhvc2UgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPGxpPmJvb2thYmxlIGV2ZW50cyBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHByaWNlIG9mIHRoZSBzZWxlY3RlZCByZXNvdXJjZXMgb24gdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDwvdWw+DQo8L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBwcmljZSBjYWxjdWxhdGlvbiBmb3IgcmVzZXJ2YXRpb25zLjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGRvIGFmdGVyIGluc3RhbGxuZyB0aGUgbW9kdWxlIGlzIHRvIGNyZWF0ZSBzb21lIHJvb20gYXR0cmlidXRlcywgYW5kIGV2ZW50IHR5cGVzLiAgIFlvdSBzaG91bGQgYWxzbyBjaGVjayB0aGUgcHJlZmVyZW5jZXMgdG8gZW5zdXJlIHRoYXQgdGhleSBzZWVtIHRvIGJlIHNldCBjb3JyZWN0bHkuICBZb3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGNoYW5naW5nIHRoZSByZXNvdXJjZSB0eXBlIGluIHRoZSBwcmVmZXJlbmNlIGZyb20gcm9vbSB0byBzb21lIG90aGVyIHJlc291cmNlIHRoYXQgeW91IGFyZSBtYW5hZ2luZy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIHZhcmlvdXMgbGFiZWxzIGluIHRoZSBhZG1pbiBzZWN0aW9uIGFuZCBpbiB0aGUgZnJvbnRlbmQgZGlzcGxheS48L3A+DQo8L3A+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHJlc291cmNlcyBhbmQgZmlsbCB0aGVtIGluIHdpdGggYXMgbXVjaCBkZXRhaWwgYXMgcG9zc2libGUuICBZb3UgbWF5IGFsc28gd2FudCB0byBjcmVhdGUgc29tZSBldmVudHMsIG9yIHRvIG1hcmsgb2ZmIGRhdGVzIHdoZW4gcGFydGljdWxhciByZXNvdXJjZXMgYXJlIHVuYXZhaWxhYmxlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgY2FsZW5kYXIgdmlldywgeW91IGNhbiBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5IGFjdGlvbj1jYWxlbmRhcn0gdG8gYSBjb250ZW50IHBhZ2UuICBUaGlzIHdpbGwgcHJvdmlkZSBhIHN1ZmZpY2llbnQgc3lzdGVtIGZvciBhbGxvd2luZyB2aXNpdG9ycyB0byBjcmVhdGUgcmVzZXJ2YXRpb25zLCBldGMuPC9wPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9hY3Rpb24nXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvcyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhIHN1bW1hcnkgcmVwb3J0IG9mIHNlbGVjdGVkIHJlc291cmNlcy48L2xpPg0KPGxpPmRldGFpbCAgICAtIFRoZSByZXNvdXJjZSBkZXRhaWwgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPg0KPGxpPm15cmVzZXJ2YXRpb24gLSBUaGUgbXlyZXNlcnZhdGlvbnMgcmVwb3J0Ljxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIHJlcG9ydCBhYm91dCBhbGwgb2YgdGhlIHVwY29taW5nIChvcHRpb25hbGx5IHBhc3QgYXMgd2VsbCkgcmVzZXJ2YXRpb25zIGZvciB0aGlzIHBhcnRpY3VsYXIgdXNlci48L2xpPg0KPGxpPnNlbmRlbWFpbCAtIFRoZSByZXNlcnZhdGlvbiBzZW5kZW1haWwgZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfY2FsZW5kYXJ0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIGRpc3BsYXksIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgY2FsZW5kYXIgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9jYXRlZ29yeSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgY29tbWEgc2VwZXJhdGVkIGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMgdG8gdXNlIGZvciBzZWxlY3RpbmcgdGhlIGRhdGEgdG8gZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHJlc291cmNlcyBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzZXJ2YXRpb24gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGEgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24gb25saW5lJzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkYXkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkYXkgdmlldyB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZ2VuZXJhdGluZyB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX2RheSddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSB0byBzcGVjaWZ5IGEgZGVmYXVsdCBkYXknOwokbGFuZ1snaGVscF9kZXRhaWxwYWdlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIGRlZmF1bHQgKHN1bW1hcnkpLCBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGFuIG9wdGlvbmFsIHBhZ2UgZm9yIHZpZXdpbmcgZWl0aGVyIHRoZSByZXNvdXJjZSBkZXRhaWwsIHRoZSByZXNlcnZhdGlvbiBmb3Jtcywgb3IgdGhlIHNlbmQtZW1haWwgZm9ybS4gIElmIHRoaXMgdmFsdWUgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHRoZSBhZG1pbmlzdHJhdGlvbiBjb25zb2xlIHdpbGwgYmUgdXNlZC4gIElmIHRoYXQgaXMgbm90IHNldCwgdGhlbiB0aGUgY3VycmVudCBwYWdlIHdpbGwgYmUgdXNlZC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZXRhaWwsIGRlZmF1bHQgKHN1bW1hcnkpIGFuZCBteXJlc2VydmF0aW9ucyB2aWV3cyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSB0byB1c2UgZm9yIGFueSBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiBwcmV0dHkgdXJscyBhcmUgY29uZmlndXJlZC4nOwokbGFuZ1snaGVscF9lbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIGFuZCBhZGRyZXN2biBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVtYWlsIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBlbWFpbHMgYXJlIHNlbnQuJzsKJGxhbmdbJ2hlbHBfaW5saW5lJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyIHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUgKHJlcGxhY2UgdGhlIG9yaWdpbmFsIHRhZyksIG9yIHNob3VsZCByZXBsYWNlIHRoZSBjb250ZW50IGFyZWEgb2YgdGhlIHBhZ2UuICAgVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCBpZiB0aGUgc3VtbWFyeXBhZ2UgcGFyYW1ldGVyIGlzIGFsc28gc3BlY2lmaWVkJzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCBtb250aCc7CiRsYW5nWydoZWxwX215cmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGF0IHZpZXcnOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJbiB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIHRvIGRpc3BsYXkgb24gZWFjaCBwYWdlJzsKJGxhbmdbJ2hlbHBfcmVzb3VyY2VzJ10gPSAnSW4gdGhlIGNhbGVuZGFyIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWNjZXB0cyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIHJlc291cmNlIG5hbWVzIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXInOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4sIGNhbGVuZGFyLCBhbmQgbXlyZXNlcnZhdGlvbnMgYWN0aW9ucywgIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2hlbHBfcmVzdl9pZCddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBpZCBvZiBhbiBleGlzdGluZyByZXNlcnZhdGlvbiB0byBlZGl0LiAgWW91IHdpbGwgcHJvYmFibHkgbm90IG5lZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIGRpcmVjdGx5JzsKJGxhbmdbJ2hlbHBfcnNyY2lkJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgYWNjZXB0ZWQgYnkgdGhlIGRldGFpbCB0ZW1wbGF0ZSB0byBkaXNwbGF5IGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlJzsKJGxhbmdbJ2hlbHBfc2VhcmNodGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlLic7CiRsYW5nWydoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9uIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoZSBzZW5kZW1haWwgZm9ybS4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3Qgd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZCc7CiRsYW5nWydoZWxwX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBkaXNwbGF5aW5nIGFsbCByZXNlcnZhdGlvbnMsIGluY2x1ZGluZyBwYXN0IHJlc2VydmF0aW9ucy4nOwokbGFuZ1snaGVscF9zb3J0YnknXSA9ICcgDQpBcHBsaWNhYmxlIHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IGFuZCB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgZGlzcGxheWVkIGl0ZW1zLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPg0KUmVzb3VyY2Ugc3VtbWFyeSB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5uYW1lPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCjwvdWw+DQpteWVzZXJ2YXRpb25zIHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPnN0YXJ0X2RhdGU8L2xpPg0KICA8bGk+ZW5kX2RhdGU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KICA8bGk+Y3JlYXRlX2RhdGU8L2xpPg0KICA8bGk+bW9kaWZpZWRfZGF0ZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfc29ydG9yZGVyJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3IGFuZCB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIHNlbGVjdGVkIGRhdGEuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+PHVsPjxsaT5hc2MgLSBhc2NlbmRpbmc8L2xpPjxsaT5kZXNjIC0gZGVzY2VuZGluZzwvbGk+PC91bD4nOwokbGFuZ1snaGVscF9zdW1tYXJ5cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBpZCBvciBhbGlhcyBvZiB0aGUgcGFnZSB0aGF0IHRoZSByZXN1bHRpbmcgc3VtbWFyeSB2aWV3IHNob3VsZCBiZSBvbi4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgaW5saW5lIGlzIHNldCB0byBmYWxzZS4nOwokbGFuZ1snaGVscF9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtdGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSB3aWxsIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfeWVhciddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBkZWZhdWx0IHllYXInOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnSGlzdG9yaWNhbCBDb21wYXJpc29uJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2UnXSA9ICdCaWxkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGQnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnSW1hZ2UgSGFuZGxpbmcgQ29uZmlnJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ0Rpc3BsYXkgYSBmb3JtIGZyb20gdGhlIHVzZXIgbWFuYWdlbWVudCBpbnRlcmZhY2UgdG8gYWxsb3cgYWRkaW5nIGEgbmV3IHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ1VzZWQgZm9yIGJvb2tpbmcgcmVzb3VyY2VzIHdpdGggbm8gcHJpY2VzIGF0dGFjaGVkJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY2FsZW5kYXIgdGVtcGxhdGVzIGZvciB1c2UgaW4gdGhlIGZyb250ZW5kIGNhbGVuZGFyIHZpZXcuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBlbWFpbCB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgdXNlciB3aGVuIHVzaW5nIHRoaXMgdGVtcGxhdGUuICBZb3UgY2FuIHVzZSBhbnkgYW5kIGFsbCBzbWFydHkgbG9naWMgYW5kIHRhZ3MgaW4gdGhpcyB0ZW1wbGF0ZS4gIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBzcGVjaWFsIHRvIHRoaXMgdGVtcGxhdGU6IHskc3ViamVjdH0gLSBUaGUgc3ViamVjdCBvZiB0aGUgZW1haWwsIHskYm9keX0gLSBUaGUgYm9keSBvZiB0aGUgZW1haWwnOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGN1c3RvbWVyIGVtYWlsIHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gc2VuZGluZyBtZXNzYWdlcyB0byBjdXN0b21lcnMgd2hvIGhhdmUgYm9va2VkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcHJvcGVydGllcyBzaG91bGQgYmUgbGlzdGVkIGluIHVzZXIgbGlzdHMuPGJyLz5Vc2UgeyRwcm9wZXJ0eW5hbWV9IHRvIGlkZW50aWZ5IGEgc2luZ2xlIHByb3BlcnR5Ljxici8+UmVmZXIgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGZvciB0aGUgbGlzdCBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZ3JvdXAuPGJyLz5Zb3UgY2FuIGFsc28gdXNlIHRoZSB7JHVzZXJuYW1lfSB0YWcgdG8gaW5kaWNhdGUgdGhlIHVzZXJzIGxvZ2luIG5hbWUuJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkYXkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZGF5IHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBjbGlja2luZyBvbiBhbiBpbmRpdmlkdWFsIGRheSBmcm9tIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGRpc3BsYXknOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnVGhlIGhpZ2hlc3QgYW1vdW50IGNhbGN1bGF0ZWQgd2lsbCBiZSB1c2VkIGFzIHRoZSBtaW5pbXVtIGRlcG9zaXQgZm9yIGVhY2ggcmVzZXJ2YXRpb24uICBEZXBvc2l0IGFtb3VudHMgd2lsbCBuZXZlciBleGNlZWQgdGhlIHRvdGFsIHJlc2VydmF0aW9uIGFtb3VudCc7CiRsYW5nWydpbmZvX2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0Egc21hcnR5IHRlbXBsYXRlIHVzZWQgdG8gYnVpbGQgdGhlIGxpbmUgaXRlbSBkZXNjcmlwdGlvbiB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgY2FydCBhbmQgb24gaW52b2ljZXMuICAgUG9zc2libGUgdmFyaWFibGVzIGFyZSB7JHJlc3ZuX29ian0gPGVtPih0aGUgZW50aXJlIHJlc2VydmF0aW9uIG9iamVjdCk8L2VtPiwgeyRkZXBvc2l0X2Ftb3VudH0gb3IgYW55IG90aGVyIGV4aXN0aW5nIHNtYXJ0eSB2YXJpYWJsZSBvciBwbHVnaW4uJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBkZXRhaWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBkZXRhaWwgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGV0YWlsIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnU2F2ZSAlcyBhZnRlciBwdXJjaGFzaW5nICVzIHBlcmlvZHMgYXQgdGhlIHJlZ3VsYXIgcHJpY2UuJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfYWxsYWRqdXN0J10gPSAnU2F2ZSAlcyBvZmYgb2YgZWFjaCBwZXJpb2Qgd2l0aCBhIHJlc2VydmF0aW9uIGZvciAlcyBwZXJpb2RzJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnUmVjZWl2ZSBvbmUgZnJlZSBwZXJpb2QgYWZ0ZXIgcHVyY2hhc2luZyAlcyc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dCBmb3IgdGhlIE15UmVzZXJ2YXRpb25zIHJlcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBteXJlc2VydmF0aW9ucyB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gYWN0aW9uPW15cmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2luZm9fb3ZlcmNhcF9hbW91bnQnXSA9ICdEYWlseSBhbW91bnQgdG8gYWRkIChwZXIgdW5pdCkgdG8gcmVzZXJ2YXRpb24gcHJpY2UsIGZvciBlYWNoIHVuaXQgb3ZlciB0aGUgc3RhdGVkIGNhcGFjaXR5IChhcHBsaWNhYmxlIG9ubHkgaWYgdGhlIGNhcGFjaXR5IGlzIGEgdmFsaWQgdmFsdWUpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgaWYgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFjY2VzcyB0aGUgcmVzZXJ2YXRpb25zIGZvcm0gaWYgbm90IGxvZ2dlZCBpbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU3BlY2lmeSB0aGUgbGlzdCBvZiB1c2VycyAob3IgZ3JvdXBzKSB0byByZWNlaXZlIGEgY29weSBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsLiAgVGhlIGVtYWlsIGFkZHJlc3MgcHJvcGVydHkgZm9yIGVhY2ggc2VsZWN0ZWQgdXNlciBtdXN0IGJlIHZhbGlkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJ10gPSAnSWYgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQsIHRoZSB1c2VyIHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgcmVzZXJ2YXRpb24gY29uZmlybSBwYWdlIHdpdGhvdXQgYSBtZXNzYWdlIGJlaW5nIGRpc3BsYXllZCc7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBhZnRlciBhIHZpc2l0b3IgaGFzIGNyZWF0ZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGVkaXQgcmVzZXJ2YXRpb24gdXJscywgYW5kIHNlbmQgbWVzc2FnZSB1cmxzJzsKJGxhbmdbJ2luZm9fcmVzb3VyY2VzX2ZpbHRlciddID0gJzxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gV2hlbiBhbGwgcmVzb3VyY2VzIGNhbiBmaXQgb24gb25lIHBhZ2UgYW5kIG5vIG90aGVyIGZpbHRlcmluZyBpcyBhcHBsaWVkLCBpdCBpcyBwb3NzaWJsZSB0byBhZGp1c3QgdGhlaXIgZGVmYXVsdCBzb3J0IG9yZGVyaW5nJzsKJGxhbmdbJ2luZm9fcmVzb3VyY2VfdHlwZSddID0gJ1NwZWNpZnkgdGhlIHR5cGUgb2YgcmVzb3VyY2UgeW91IHdpbGwgYmUgbWFuYWdpbmcuICBpLmU6ICZxdW90O3Jvb20mcXVvdDsgb3IgJnF1b3Q7Y2FyJnF1b3Q7IGV0Yy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIGxhYmVsbGluZyBvZiB0aGUgZW50aXJlIG1vZHVsZS4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9hZG1pbl9zdGFydHllYXInXSA9ICdUaGlzIHZhcmlhYmxlIHNwZWNpZmllcyB3aGF0IHllYXIgdGhlIGRyb3Bkb3duIGxpc3RzIHNob3VsZCBzdGFydCBhdCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24gZnJvbSB0aGUgYWRtaW4gaW50ZXJmYWNlLiAgTm90ZSB0aGlzIGFsbG93cyBhZGRpbmcgYW5kIGVkaXRpbmcgcmVzZXJ2YXRpb25zIGZvciBsb25nIHBhc3QgZGF0ZXMuJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGZvcm0uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsIG1lc3NhZ2UuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHJlcG9ydC4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gZW1haWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZW1haWwgbWVzc2FnZSB0aGF0IGlzIHNlbnQgdG8gdGhlIGN1c3RvbWVyIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgbWVzc2FnZSBhbmQgZGF0YSB0aGF0IGlzIGRpc3BsYXllZCBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIG9yIGVkaXRzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBhZGRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgY29udHJvbHMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbmRlbWFpbCBmb3JtLCB1c2VkIHdoZW4gYSBzaXRlIHZpc2l0b3Igd2FudHMgdG8gc2VuZCBhIG1lc3NhZ2UgdG8gYnVzaW5lc3Mgb3duZXJzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgc2VuZGVtYWlsIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBzZW5kaW5nIGFuIGVtYWlsIHJlbGF0ZWQgdG8gYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRfbWVzc2FnZSddID0gJ1VzZSB0aGlzIGZvcm0gdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uIG9yIHRvIGFzayBhbnkgcXVlc3Rpb25zIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIHN1bW1hcnkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIHN1bW1hcnkgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBzdW1tYXJ5IHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyA8ZW0+KHRoaXMgaXMgdGhlIGRlZmF1bHQgdmlldyk8L2VtPic7CiRsYW5nWydpbmZvX3N5c2RmbHRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDYWxlbmRhciBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGF5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGF5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgJnF1b3Q7TXkgUmVzZXJ2YXRpb25zJnF1b3Q7IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwokbGFuZ1snaW5mb192aWV3X3VzZXInXSA9ICdEaXNwbGF5IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgdXNlcic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnSW5pdGlhbCBSZXNlcnZhdGlvbiBOb3Rlcyc7CiRsYW5nWydpbl9jYXJ0J10gPSAnSW4gQ2hlY2tvdXQgUHJvY2Vzcyc7CiRsYW5nWydpbl9wcm9ncmVzcyddID0gJ2luIEFyYmVpdCc7CiRsYW5nWydrZXl3b3JkcyddID0gJ0tleXdvcmRzJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmFtcDtyYXF1bzsnOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ0xldHp0ZSAmQXVtbDtuZGVydW5nJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2VuZGUnOwokbGFuZ1snbGJsX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlcyddID0gJ0FkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfYmFjayddID0gJ1p1ciZ1dW1sO2NrJzsKJGxhbmdbJ2xibF9jYWxlbmRhciddID0gJ0thbGVuZGVyJzsKJGxhbmdbJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcyddID0gJ0thbGVuZGVyYW5zaWNodHMtVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9jYXRlZ29yaWVzJ10gPSAnQXR0cmlidXRlJzsKJGxhbmdbJ2xibF9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdLdW5kZW4tRW1haWwtVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlIEZlbGRlcic7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGF5IFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYXJkLVRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsX3RlbXBsYXRlcyddID0gJ0RldGFpbC1UZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0VyZWlnbmlzc2UnOwokbGFuZ1snbGJsX2V2ZW50X3R5cGVzJ10gPSAnRXJlaWduaXN0eXBlbic7CiRsYW5nWydsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgbWVpbmUgUmVzZXJ2aWVydW5nZW4nOwokbGFuZ1snbGJsX3ByZWZlcmVuY2VzJ10gPSAnRWluc3RlbGx1bmdlbic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2aWVydW5nZW4nOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJyZiZHF1bztFbWFpbCB2ZXJzZW5kZW4mbGRxdW87LUZvcm11bGFyLVRlbXBsYXRlcyc7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdFaW5zdGVsbHVuZ2VuIHZlcndhbHRlbic7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdadXNhbW1lbmZhc3N1bmdzLVRlbXBsYXRlcyc7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIHZlcndhbHRlbic7CiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ01hbmFnZSBDdXN0b21lciBDb250YWN0IGZvciByZXNlcnZhdGlvbic7CiRsYW5nWydtYW5hZ2VyJ10gPSAnVmVyd2FsdGVyJzsKJGxhbmdbJ21heF9sZW5ndGgnXSA9ICdNYXhpbWFsZSBMJmF1bWw7bmdlJzsKJGxhbmdbJ21lc3NhZ2VfdGVtcGxhdGUnXSA9ICdOYWNocmljaHRlbi1UZW1wbGF0ZSc7CiRsYW5nWydtZXNzYWdlX3RleHQnXSA9ICdOYWNocmljaGVudGV4dGsmb3VtbDtycGVyJzsKJGxhbmdbJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltdW0gRGVwb3NpdCBSZXF1aXJlZCc7CiRsYW5nWydtb2RpZmllZF9kYXRlJ10gPSAnR2UmYXVtbDtuZGVydCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdBIHJlc291cmNlIGFuZCBhdmFpbGFiaWxpdHkgbWFuYWdlciBmb3Igc2NoZWR1bGluZyBhbmQgcmVzZXJ2aW5nIHJlc291cmNlcyBvbiBhIGRhaWx5IGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ01vbnRhZyc7CiRsYW5nWydtb250aCddID0gJ01vbmF0JzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0phbi9GZWIvTXJ6L0Fwci9NYWkvSnVuL0p1bC9BdWcvU2VwL09rdC9Ob3YvRGV6JzsKJGxhbmdbJ21vcmUnXSA9ICdtZWhyJzsKJGxhbmdbJ21vdmVfZG93biddID0gJ01vdmUgRG93bic7CiRsYW5nWydtb3ZlX3VwJ10gPSAnTW92ZSBVcCc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSAnOwokbGFuZ1snbmV4dCddID0gJ3dlaXRlcic7CiRsYW5nWyduZXh0cGFnZSddID0gJyZhbXA7cnNhcXVvOyc7CiRsYW5nWydubyddID0gJ05laW4nOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnR2VzY2hsb3NzZW5lIEJsJm91bWw7Y2tlJzsKJGxhbmdbJ25vbmUnXSA9ICdLZWluZSc7CiRsYW5nWydub3RlcyddID0gJ0hpbndlaXNlJzsKJGxhbmdbJ25vdF9hcHBsaWNhYmxlJ10gPSAnTi9BJzsKJGxhbmdbJ25vdF9jYWxjdWxhdGVkJ10gPSAnTmljaHQgYmVyZWNobmV0JzsKJGxhbmdbJ251bV9wZW9wbGUnXSA9ICdBbnphaGwgZGVyIFBlcnNvbmVuJzsKJGxhbmdbJ29jY3VycyddID0gJ09jY3Vycyc7CiRsYW5nWydvZiddID0gJ3Zvbic7CiRsYW5nWydvbiddID0gJ09uJzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnRWluZSBTdHVuZGUnOwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbmVuJzsKJGxhbmdbJ29yZGVyJ10gPSAnU29ydGllcnVuZyc7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ092ZXJjYXBhY2l0eSBQcmljZSBBZGp1c3RtZW50JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTZWl0ZSc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnQW56YWhsIGRlciBFaW50ciZhdW1sO2dlIHBybyBTZWl0ZSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnU2VpdGUsIGF1ZiBkaWUgd2VpdGVyZ2VsZWl0ZXQgd2VyZGVuIHNvbGwsIHdlbm4gZGVyIEJlbnV0emVyIG5pY2h0IGFuZ2VtZWxkZXQgaXN0JzsKJGxhbmdbJ3BhcnQxJ10gPSAnVGVpbCAxJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZCddID0gJ1RlaWx3ZWlzZSByZXNlcnZpZXJ0JzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBvZiAlcyBzbG90cyByZXNlcnZlZCc7CiRsYW5nWydwYXN0X21lc3NhZ2VzJ10gPSAnRnImdXVtbDtoZXJlIE5hY2hyaWNodGVuJzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdTY2h3ZWJlbmQnOwokbGFuZ1sncGVyY2VudGFnZV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW1pbXVtIFBlcmNlbnRhZ2Ugb2YgdG90YWwgb3JkZXIgcmVxdWlyZWQgZm9yIGEgZGVwb3NpdCA8ZW0+KGV4cHJlc3NlZCBpbiBkZWNpbWFsIGZvcm1hdCk8L2VtPic7CiRsYW5nWydwZXJjZW50X2Jvb2tlZCddID0gJ1BlcmNlbnRhZ2UgQm9va2VkJzsKJGxhbmdbJ1BNJ10gPSAnUE0nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQXZhaWxhYmlsaXR5IG1vZHVsZSBoYXMgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZC4gIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgYXBwcm9wcmlhdGUgZ3JvdXBzIGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb25zIHRvIG1hbmFnZSB0aGUgdmFyaW91cyBhc3BlY3RzIG9mIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgQXZhaWxhYmlsaXR5IG1vZHVsZSwgYW5kIGFsbCByZWxhdGVkIGRhdGEgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzeXN0ZW0uICBZb3UgYXJlIG5vdyBmcmVlIHRvIGRlbGV0ZSB0aGUgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3ByZXYnXSA9ICdadXImdXVtbDtjayc7CiRsYW5nWydwcmV2cGFnZSddID0gJyZhbXA7bGFxdW87JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJlaXMnOwokbGFuZ1sncHJpY2VzJ10gPSAnUHJlaXNlJzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0FkanVzdCB0aGUgUHJpY2Ugb2YgZWZmZWN0ZWQgJXMgYnkgdGhpcyBhbW91bnQuPGJyLz48ZW0+KHVzZSBhIGZvcm1hdCBsaWtlICowLjg1IG9yIC0xMyBvciArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnQW56ZWlnZSc7CiRsYW5nWydwdWJsaWMnXSA9ICcmT3VtbDtmZmVudGxpY2gnOwokbGFuZ1sncXVhcnRlcl9ob3VyJ10gPSAnVmllcnRlbHN0dW5kZSc7CiRsYW5nWydyZXNlcnZlZCddID0gJ1Jlc2VydmllcnQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSZXNlcnZpZXJ1bmcnOwokbGFuZ1sncmVzZXJ2YXRpb25fYWRtaW5fc3RhcnR5ZWFyJ10gPSAnU3RhcnQgeWVhciBmb3IgcmVzZXJ2YXRpb25zIGluIHRoZSBhZG1pbiBwYW5lbCc7CiRsYW5nWydyZXNlcnZhdGlvbl9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnSGludGVyZ3J1bmRmYXJiZSBkZXIgUmVzZXJ2aWVydW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ1BlbmRpbmcgUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maWcnXSA9ICdSZXNlcnZpZXJ1bmdzZWluc3RlbGx1bmdlbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaWxlIHRvIGF0dGFjaCB0byBhbGwgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnQ0MgdGhlc2UgdXNlcnMgb24gcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddID0gJ1NlbmQgYW4gZW1haWwgdG8gdGhlIGN1c3RvbWVyIHdoZW4gYSByZXNlcnZhdGlvbiBpcyBjcmVhdGVkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJ1N1YmplY3Qgb2YgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX21zZyddID0gJ0Rpc3BsYXkgdGhlIFJlc2VydmF0aW9uIENvbmZpcm0gTWVzc2FnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBDb25maXJtIFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdZb3VyIHNlbGVjdGVkICVzIGFyZSBub3QgYWxsIGF2YWlsYWJsZSBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdSZXNlcnZpZXJ1bmcgZXJzdGVsbHQnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUmVzZXJ2YXRpb24gRGVmYXVsdCBQYWdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RldGFpbHMnXSA9ICdSZXNlcnZpZXJ1bmdzLURldGFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIENvbmZsaWN0IEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25faWQnXSA9ICdSZXNlcnZpZXJ1bmdzLUlEJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX21hbmFnZXInXSA9ICdSZXNlcnZhdGlvbiBNYW5hZ2VyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnUmVzZXJ2YXRpb24gQ29tcG9uZW50cyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fbnVtJ10gPSAnUmVzZXJ2aWVydW5nOiAlMDVkJzsKJGxhbmdbJ3Jlc2V0J10gPSAnWnVyJnV1bWw7Y2tzZXR6ZW4nOwokbGFuZ1sncmVzb3VyY2UnXSA9ICdSZXNvdXJjZSc7CiRsYW5nWydyZXNvdXJjZXMnXSA9ICdSZXNvdXJjZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8xJ10gPSAnUmVzZXJ2ZWQgb24gYW4gJXMgYmFzaXMsIG9uICVzIGJvdW5kYXJpZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8yJ10gPSAnUmVzZXJ2ZWQgb24gYW4gJXMgYmFzaXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8zJ10gPSAnYXZhaWxhYmxlIGZyb20gJXMgdG8gJXMgYW5kIGZyb20gJXMgdG8gJXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV80J10gPSAnY2hlY2tpbiB0aW1lIGlzICVzLCBhbmQgY2hlY2tvdXQgdGltZSBpcyAlcyc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnUmVzb3VyY2UgVHlwZSc7CiRsYW5nWydyb29tJ10gPSAnWmltbWVyJzsKJGxhbmdbJ3Jvb21zJ10gPSAnWmltbWVyJzsKJGxhbmdbJ3JlcXVpcmVfZGVwb3NpdCddID0gJ0lzIGEgZGVwb3NpdCByZXF1aXJlZD8nOwokbGFuZ1snc2F0dXJkYXknXSA9ICdTb25uYWJlbmQnOwokbGFuZ1snc2NoZWR1bGluZyddID0gJ1NjaGVkdWxpbmcnOwokbGFuZ1snc2NoZWR1bGluZ19pbnRlcnZhbCddID0gJ1RoaXMgcmVzb3VyY2UgaXMgYm9va2VkJzsKJGxhbmdbJ3NlYXJjaCddID0gJ1N1Y2hlJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdFaW5zIGF1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kZW4nOwokbGFuZ1snc2VuZF9jdXN0b21lcl9tYWlsJ10gPSAnU2VuZCB0aGUgY3VzdG9tZXIgYSBub3RpY2Ugb2YgdGhpcyBjaGFuZ2UgdmlhIGVtYWlsPyc7CiRsYW5nWydzZW5kX2VtYWlsJ10gPSAnRWluZSBFbWFpbCBzZW5kZW4nOwokbGFuZ1snc2VudCddID0gJ1ZlcnNhbmR0JzsKJGxhbmdbJ3N0YXJ0X2RhdGUnXSA9ICdBbmZhbmdzZGF0dW0nOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnR6ZWl0IDEnOwokbGFuZ1snc3RhcnRfdGltZV8yJ10gPSAnU3RhcnR6ZWl0IDInOwokbGFuZ1snc3RhdGlzdGljcyddID0gJ1N0YXRpc3Rpa2VuJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snc3RhdHVzX3Jvb21zX2F2YWlsYWJsZSddID0gJ1RoZSAlcyB5b3Ugc2VsZWN0ZWQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlc2UgZGF0ZXMnOwokbGFuZ1snc3Vial9yZV9yZXN2biddID0gJ1JlOiBSZXNlcnZpZXJ1bmcgJXMnOwokbGFuZ1snc3ViamVjdCddID0gJ0JldHJlZmYnOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snc3VuZGF5J10gPSAnU29ubnRhZyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRiZXJlaWNoJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0ZmVsZCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ0Rvbm5lcnN0YWcnOwokbGFuZ1sndGl0bGVfY29uZmxpY3QnXSA9ICdDb25mbGljdCBFeGlzdHN8QSBjb25mbGljdCBleGlzdHMgYmV0d2VlbiByZXNlcnZhdGlvbnMgJTA0ZCBhbmQgJTA0ZC48YnIvPjxici8+TW9yZSBjb25mbGljdHMgbWF5IGV4aXN0cyBmb3IgdGhpcyBibG9jay4nOwokbGFuZ1sndGl0bGVfZ3JhcGhpbmcnXSA9ICdWaWV3IGdyYXBocyBhbmQgcmVwb3J0cyBvZiBoaXN0b3JpY2FsIGRhdGEnOwokbGFuZ1sndG8nXSA9ICdUbyc7CiRsYW5nWyd0b3RhbF9ibG9ja3MnXSA9ICdUb3RhbCBCbG9ja3MnOwokbGFuZ1sndHVlc2RheSddID0gJ0RpZW5zdGFnJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0FwcGx5IHRoZSBGb2xsb3dpbmcgRGF0ZXMnOwokbGFuZ1sndmFjYW50J10gPSAnVmVyZiZ1dW1sO2diYXInOwokbGFuZ1sndmlldyddID0gJ0Fuc2ljaHQnOwokbGFuZ1sndmlld19kYXknXSA9ICdWaWV3IGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZGF5JzsKJGxhbmdbJ3ZpZXdfdXNlciddID0gJ1ZpZXcgR3Vlc3QgRGV0YWlscyc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1ZpZXcgZGV0YWlscyBmb3IgdGhpcyAlcyc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdNaXR0d29jaCc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnV2Vla2RheSBQcmljZSBBZGp1c3RtZW50cyc7CiRsYW5nWyd5ZWFyXzEnXSA9ICdKYWhyIDEnOwokbGFuZ1sneWVhcl8yJ10gPSAnSmFociAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ0phaHIgMyc7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdJaHIgTmFtZSc7CiRsYW5nWydxY2EnXSA9ICdQMC03NTA5MTQ3OC0xMjY4NDIxODE0MDcyJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzI4OTg5NDUyLjEyNjg1Njc0NzUuMTI3MDgwNzkwNi4xMjcwOTI0MDg1LjYnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzA5MjQwODUuNi40LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2luZGV4LnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FkZCBFdmVudCBUeXBlJzsKJGxhbmdbJ2FjdGlvbl9lZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0IEV2ZW50IFR5cGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlcic7CiRsYW5nWydhZGQnXSA9ICdBam91dGVyJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ0VudGVyIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydhZGRlZGl0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYW4gQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgQ2FsZW5kYXIgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9kYXlfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBEYXkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzb3VyY2UgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgTXlSZXNlcnZhdGlvbnMgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNvdXJjZSBTdW1tYXJ5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRtaW5fbm90ZXMnXSA9ICdBZG1pbiBOb3Rlcyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0J1bGsgZGlzY291bnQgYWRqdXN0bWVudCBvZiAlLjJmIGZvciBlbGlnaWJsZSBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgYWxsIGRheXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0J1bGsgZGlzY291bnQgZWxpZ2libGUgZnJlZSBkYXknOwokbGFuZ1snYWRqdXN0X2V2ZW50X3ByaWNlJ10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yIGV2ZW50ICVzIGJ5ICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdBZGp1c3RlZCBwcmljZSBmb3IgJWQgZXh0cmEgcGVvcGxlIGJ5ICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdBZGp1c3RlZCBwcmljZSBmb3Igd2Vla2RheSAlcyBieSAlcyc7CiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdBam91dGVyIHVuIGF0dHJpYnV0JzsKJGxhbmdbJ2FkZF9jdXN0b21fZmllbGQnXSA9ICdBam91dGVyIHVuIGNoYW1wcyBwZXJzb25uYWxpcyZlYWN1dGU7JzsKJGxhbmdbJ2FkZF9ldmVudCddID0gJ0Fqb3V0ZXIgdW4gJmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnQnOwokbGFuZ1snYWRkX2V2ZW50X3R5cGUnXSA9ICdBam91dGVyIHVuIHR5cGUgZCYjMDM5OyZlYWN1dGU7diZlZ3JhdmU7bmVtZW50JzsKJGxhbmdbJ2FkZF9yZXNlcnZhdGlvbiddID0gJ0Fqb3V0ZXIgdW5lIG5vdXZlbGxlIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydhZGRfdXNlcl9hY2NvdW50J10gPSAnQWpvdXRlciB1biBjb21wdGUgdXRpbGlzYXRldXInOwokbGFuZ1snYWxsJ10gPSAnVG91cyc7CiRsYW5nWydhbGxvd2VkX2ZpbGVfdHlwZXMnXSA9ICdUeXBlcyBkZSBmaWNoaWVycyBhdXRvcmlzJmVhY3V0ZTtzJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUeXBlcyBkJiMwMzk7aW1hZ2VzIGF1dG9yaXMmZWFjdXRlO2VzJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yIG9uIG5vIHByaWNlJzsKJGxhbmdbJ2FsbG93X292ZXJjYXBhY2l0eSddID0gJ0FsbG93IHJlc2VydmF0aW9ucyB0aGF0IGFyZSBvdmVyIGNhcGFjaXR5JzsKJGxhbmdbJ0FNJ10gPSAnQU0nOwokbGFuZ1snYW55J10gPSAnQ2hhcXVlJzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbGlxdWVyJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZW5sZXZlciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgY2V0dGUgJmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnQgPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnRXRlcy12b3VzIHMmdWNpcmM7cihlKSBkZSB2b3Vsb2lyIGVubGV2ZXIgZCZlYWN1dGU7ZmluaXRpdmVtZW50IGNldHRlIHImZWFjdXRlO3NlcnZhdGlvbiA/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzb3VyY2UnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZW5sZXZlciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgY2V0dGUgcmVzc291cmNlID8nOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZCZlYWN1dGU7c2luc3RhbGxlciBjZSBtb2R1bGUgPyBDZWNpIGVmZmFjZXJhIHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgbGkmZWFjdXRlO2VzICZhZ3JhdmU7IGNlIG1vZHVsZS4nOwokbGFuZ1snYXQnXSA9ICdAJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdGaWNoaWVyIGpvaW50JzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnUiZlYWN1dGU7cGVydG9pcmUgcG91ciByZWNoZXJjaGUgZGUgZmljaGllcnMgam9pbnRzJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dHMnOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnRyZlYWN1dGU7biZlYWN1dGU7cmVyIGF1dG9tYXRpcXVlbWVudCBkZXMgdmlnbmV0dGVzJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ0Rpc3BvbmlibGUnOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0NvdWxldXIgZGUgZm9uZCc7CiRsYW5nWydiYXNlX3ByaWNlJ10gPSAnUHJpeCBkZSBiYXNlJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdMaXN0ZSBkZSBwcml4IGRlIGJhc2UnOwokbGFuZ1snYm9va2FibGUnXSA9ICdQZXV0LW9uIHImZWFjdXRlO3NlcnZlciBkZXMgY2hhbWJyZXMgYXUgY291cnMgZGUgY2V0ICZlYWN1dGU7diZlYWN1dGU7bmVtZW50Pyc7CiRsYW5nWydib29rYWJsZV9iciddID0gJ0Jvb2thYmxlJzsKJGxhbmdbJ2Jvb2thYmxlX2V2ZW50X2Jsb2NrcyddID0gJ0Jvb2thYmxlIEV2ZW50IEJsb2Nrcyc7CiRsYW5nWydib29rZWRfYmxvY2tzJ10gPSAnQm9va2VkIEJsb2Nrcyc7CiRsYW5nWydjYWJpbiddID0gJ0NoYWxldCc7CiRsYW5nWydjYWJpbnMnXSA9ICdDaGFsZXRzJzsKJGxhbmdbJ2NhbGN1bGF0ZSddID0gJ0NhbGN1bGVyJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0NhbGN1bGVyIGxlIHByaXgnOwokbGFuZ1snY2FsY3VsYXRlZF9wcmljZSddID0gJ1ByaXggY2FsY3VsJmVhY3V0ZTsnOwokbGFuZ1snY2FsZW5kYXJfY29uZmlnJ10gPSAnUiZlYWN1dGU7Z2xhZ2VzIGR1IGNhbGVuZHJpZXIgZGVzIGRpc3BvbmliaWxpdCZlYWN1dGU7cyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyJzsKJGxhbmdbJ2NhbmNlbGxlZCddID0gJ0FubnVsJmVhY3V0ZTsnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdDYXBhY2l0JmVhY3V0ZTsnOwokbGFuZ1snY2FyJ10gPSAnVm9pdHVyZSc7CiRsYW5nWydjYXJzJ10gPSAnVm9pdHVyZXMnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0cyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0dHJpYnV0JzsKJGxhbmdbJ2NjX215c2VsZiddID0gJ0Vudm95ZXIgdW5lIGNvcGllIGRlIGNlIG1lc3NhZ2UgZGFucyBtYSBibyZpY2lyYzt0ZSBtYWlsJzsKJGxhbmdbJ2NoZWNrJ10gPSAnQ2hlY2snOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDYXNlICZhZ3JhdmU7IGNvY2hlcic7CiRsYW5nWydjaGVja2luJ10gPSAnQ2hlY2tpbic7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdDaGVja2luIFRpbWUnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdDaGVja291dCc7CiRsYW5nWydjaGVja291dF90aW1lJ10gPSAnQ2hlY2tvdXQgVGltZSc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdWJmVhY3V0ZTtyaWZpZXIgbGEgZGlzcG9uaWJpbGl0JmVhY3V0ZTsnOwokbGFuZ1snY2xvc2VkJ10gPSAnRmVybWVyJzsKJGxhbmdbJ2NvbG9yJ10gPSAnQ291bGV1cic7CiRsYW5nWydjb25maXJtZWQnXSA9ICdDb25maXJtJmVhY3V0ZTsnOwokbGFuZ1snY29uZmlybV9yZXNlcnZhdGlvbiddID0gJ1BsZWFzZSBjaGVjayB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGZvcm0sIGFuZCBjb25maXJtIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gY3JlYXRlIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snY29uZmxpY3QnXSA9ICdDb25mbGl0JzsKJGxhbmdbJ2NyZWF0ZV9kYXRlJ10gPSAnQ3ImZWFjdXRlOyZlYWN1dGU7JzsKJGxhbmdbJ2NyZWF0ZV9yZXNlcnZhdGlvbiddID0gJ0NyZWF0ZSBhIHJlc2VydmF0aW9uIGZvciB0aGlzIHNsb3QnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyJmVhY3V0ZTsmZWFjdXRlOyc7CiRsYW5nWydjdXJyZW5jeV9zeW1ib2wnXSA9ICdTeW1ib2xlIGRlIGxhIGRldmlzZSc7CiRsYW5nWydjdXJyZW50X3llYXInXSA9ICdBbm4mZWFjdXRlO2UgY291cmFudGUnOwokbGFuZ1snY3VzdG9tZXInXSA9ICdDbGllbnQnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdHcm91cGUgZGUgY2xpZW50JzsKJGxhbmdbJ2N1c3RvbWVyX25hbWUnXSA9ICdOb20gZHUgY2xpZW50JzsKJGxhbmdbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdHYWJhcml0IGQmIzAzOTthZmZpY2hhZ2UgZGVzIGNsaWVudHMnOwokbGFuZ1snZGFpbHknXSA9ICdRdW90aWRpZW5uZW1lbnQnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ1JhcHBvcnQgcXVvdGlkaWVuJzsKJGxhbmdbJ2RheV9yZXBvcnRfcnNyYyddID0gJ1JhcHBvcnQgcXVvdGlkaWVuIHBvdXIgJXMnOwokbGFuZ1snZGF5X3ZpZXcnXSA9ICdWdWUgam91cm4mZWFjdXRlO2UnOwokbGFuZ1snZGVmYXVsdF9jYXBhY2l0eSddID0gJ0RlZmF1bHQgY2FwYWNpdHkgPGVtPihmb3IgbmV3IHJlc291cmNlcyk8L2VtPic7CiRsYW5nWydkZWZhdWx0X2dyYW51bGFyaXR5J10gPSAnRGVmYXVsdCBHcmFudWxhcml0eSc7CiRsYW5nWydkZWZhdWx0X3RpbWVfaW50ZXJ2YWwnXSA9ICdEZWZhdWx0IFRpbWUgSW50ZXJ2YWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnRWZmYWNlcic7CiRsYW5nWydkZWxldGVfY2F0ZWdvcnknXSA9ICdFZmZhY2VyIGwmIzAzOTthdHRyaWJ1dCc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnRWZmYWNlciBsZXMgY2hhbXBzIHBlcnNvbm5hbGlzJmVhY3V0ZTtzJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ0VmZmFjZXIgbCYjMDM5OyZlYWN1dGU7diZlZ3JhdmU7bmVtZW50JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnRGVsZXRlIEV2ZW50IFR5cGUnOwokbGFuZ1snZGVwb3NpdF9hbW91bnQnXSA9ICdNb250YW50IGR1IGQmZWFjdXRlO3Amb2NpcmM7dCc7CiRsYW5nWydkZXBvc2l0X2Ftb3VudHMnXSA9ICdEZXNwb3NpdCBBbW91bnRzJzsKJGxhbmdbJ2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NvbW1haXJlIGR1IGQmZWFjdXRlO3Amb2NpcmM7dCBwb3VyIGxhIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uICc7CiRsYW5nWydkZmx0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJ1ZvdHJlIHImZWFjdXRlO3NlcnZhdGlvbiBhICZlYWN1dGU7dCZlYWN1dGU7IGNvbmZpcm0mZWFjdXRlO2UnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0Rpc2NvdW50IEFkanVzdG1lbnQnOwokbGFuZ1snZGlzY291bnRfbWluX2Jsb2NrcyddID0gJ01pbmltdW0gbnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgZm9yIHRoZSBkaXNjb3VudCc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdGcmVlIGRheXMgKGxlYXN0IGV4cGVuc2l2ZSBmaXJzdCknOwokbGFuZ1snZGlzY291bnRfYWxsYWRqdXN0J10gPSAnQXBwbHkgYSBidWxrIGFkanVzdG1lbnQgdG8gYWxsIGRheXMnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0FkanVzdCBQcmljZXMgZm9yIGFwcGxpY2FibGUgZGF5cyBvbmx5JzsKJGxhbmdbJ2Rpc2NvdW50X3R5cGUnXSA9ICdUeXBlIGRlIHJhYmFpcyc7CiRsYW5nWydkaXNjb3VudHMnXSA9ICdSYWJhaXMnOwokbGFuZ1snZGlzcGxheSddID0gJ0FmZmljaGVyJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVudSBkJmVhY3V0ZTtyb3VsYW50JzsKJGxhbmdbJ2VkaXQnXSA9ICdNb2RpZmllcic7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTW9kaWZpZXIgbCYjMDM5O2F0dHJpYnV0JzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnTW9kaWZpZXIgbGUgY2hhbXBzIHBlcnNvbm5hbGlzJmVhY3V0ZTsnOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ01vZGlmaWVyIGwmIzAzOTsmZWFjdXRlO3YmZWdyYXZlO25lbWVudCc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdNb2RpZmllciBsZSB0eXBlIGQmIzAzOTsmZWFjdXRlO3YmZWdyYXZlO25lbWVudCc7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnTW9kaWZpZXIgbGEgciZlYWN1dGU7c2VydmF0aW9uJzsKJGxhbmdbJ2VtYWlsJ10gPSAnQ291cnJpZWwnOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdEYXRlIGRlIGZpbic7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRW5kIFRpbWUgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnRW5kIFRpbWUgMic7CiRsYW5nWydlcnJvcl9jYWxjdWxhdGlvbiddID0gJ0VycmV1ciBkZSBjYWxjdWwnOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9yZXNvdXJjZSddID0gJ1RoaXMgcmVzb3VyY2UgY2Fubm90IGJlIGRlbGV0ZWQgYmVjYXVzZSB0aGVyZSBhcmUga25vd24gcmVzZXJ2YXRpb25zIGZvciBpdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRXJyZXVyIGRlIGxhIGJhc2UgZGUgZG9ubiZlYWN1dGU7ZSwgdmV1aWxsZXogY29udGFjdGVyIGwmIzAzOTthZG1pbmlzdHJhdGV1cic7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ0FuIGV4aXN0aW5nIHJlc2VydmF0aW9uLCBvciBhIG5vbi1ib29rYWJsZSBldmVudCBjb25mbGljdHMgd2l0aCB0aGUgZGF0ZXMgYW5kIHJlc291cmNlcyBzZWxlY3RlZCBmb3IgdGhpcyByZXNlcnZhdGlvbi4nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ1VuIHByb2JsJmVncmF2ZTttZSBlc3QgYXBwYXJ1IGVuIHN1cHByaW1hbnQgdW4gb3UgcGx1c2lldXJzIGZpY2hpZXJzJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnQW4gaW50ZXJuYWwgY29uZmlndXJhdGlvbiBlcnJvciBvY2N1cnJlZC4gIFBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIGFkbWluaXN0cmF0b3InOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ0xlcyBkYXRlcyBlbnRyJmVhY3V0ZTtlcyBzb250IGludmFsaWRlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnTGUgcHJpeCBlbnRyJmVhY3V0ZTsgc2VtYmxlIHZpZGUgb3UgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF90aW1lX3NldHRpbmdzJ10gPSAnVGhlIHRpbWUgcmFuZ2VzIGVudGVyZWQgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ0FuIGludmFsaWQgdmFsdWUgd2FzIHNwZWNpZmllZCBmb3Igb25lIG9yIG1vcmUgZmllbGRzIG9yIHBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInXSA9ICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwYXJhbWV0ZXJzIGlzIG1pc3Npbmcgb3IgZW1wdHknOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdQcm9ibCZlZ3JhdmU7bWUgbG9ycyBkZSBsYSBjciZlYWN1dGU7YXRpb24gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1ZvdXMgZGV2ZXogcyZlYWN1dGU7bGVjdGlvbm5lciB1biBvdSBwbHVzaWV1cnMgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0NvbmZpZ3VyYXRpb24gcHJvYmxlbS4gIFlvdXIgd2ViIGhvc3QgaGFzIG5vdCBjb25maWd1cmVkIGFueWJvZHkgdG8gYmUgbm90aWZpZWQgb2YgdGhlc2UgbWVzc2FnZXMuICBQbGVhc2UgY29udGFjdCB0aGUgd2Vic2l0ZSBhZG1pbmlzdHJhdG9yIGRpcmVjdGx5JzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnTGVzIGRvbm4mZWFjdXRlO2VzIGVudHImZWFjdXRlO2VzIHNvbnQgaW50cm91dmFibGVzJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluX2ZldSddID0gJ1lvdSBhcmUgbm90IGxvZ2dlZCBpbiB0byB0aGlzIHNpdGUuICBZb3UgbXVzdCBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgYmVmb3JlIG1ha2luZyBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBjdXN0b21lcic7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9zZWxlY3RlZCddID0gJ1ZldWlsbGxleiBzJmVhY3V0ZTtsZWN0aW9ubmVyIHVuIGNsaWVudCBkYW5zIGxhIGxpc3RlJzsKJGxhbmdbJ2Vycm9yX25vX2V2ZW50X3R5cGVzJ10gPSAnTm8gRXZlbnQgVHlwZXMgRGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1lvdSBoYXZlIG5vdCBzcGVjaWZpZWQgYW55dGhpbmcgdG8gcmVzZXJ2ZSEnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25zJ10gPSAnTm8gcmVzZXJ2YXRpb25zIGZvdW5kIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXMnXSA9ICdBdWN1bihlKXMgJXMgZCZlYWN1dGU7ZmluaShlKXMnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzX3NlbGVjdGVkJ10gPSAnUGxlYXNlIGRlZmluZSBvbmUgb3IgbW9yZSByZXNvdXJjZXMgYW5kIGludGVydmFscyBmb3IgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFueSByZWdpc3RlcmVkIHVzZXJzIGZvciB5b3VyIHNlbGVjdGVkIGN1c3RvbWVyIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX292ZXJfY2FwYWNpdHknXSA9ICdUaGlzIHJlc291cmNlIG9ubHkgYWxsb3dzICVzIHBlb3BsZSwgeW91IGhhdmUgcmVxdWVzdGVkIGEgcmVzZXJ2YXRpb24gZm9yICVzJzsKJGxhbmdbJ2Vycm9yX3Bhc3RfZGF0ZXMnXSA9ICdZb3UgY2Fubm90IGNyZWF0ZSBhIHJlc2VydmF0aW9uIGZvciBkYXRlcyBpbiB0aGUgcGFzdCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyB0aGlzIGRhdGEnOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdVbiBjb25mbGl0IGRlIHImZWFjdXRlO3NlcnZhdGlvbiBhICZlYWN1dGU7dCZlYWN1dGU7IGQmZWFjdXRlO3RlY3QmZWFjdXRlOy4nOwokbGFuZ1snZXJyb3Jfc2VsZWN0X3N0YXR1cyddID0gJ1ZldWlsbGV6IHMmZWFjdXRlO2xlY3Rpb25uZXIgdW4gJmVhY3V0ZTt0YXQgcG91ciBjZXR0ZSByJmVhY3V0ZTtzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3JfdGltZXBlcmlvZF9zdGFydGVkJ10gPSAnVGhlIHRpbWUgcGVyaW9kIHNlbGVjdGVkIGhhcyBhbHJlYWR5IHN0YXJ0ZWQsIHBsZWFzZSBzZWxlY3QgYSBmdXR1cmUgdGltZSBwZXJpb2QnOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnRmlsZSBVcGxvYWQgRXJyb3InOwokbGFuZ1snZXZlbnRzX2Zvcl9yZXNvdXJjZSddID0gJ0V2ZW50cyBmb3IgJXMnOwokbGFuZ1snZXZlbnRfdHlwZSddID0gJ0V2ZW50IFR5cGUnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdFdmVudCBUeXBlcyc7CiRsYW5nWydleHBpcmVkJ10gPSAnUCZlYWN1dGU7cmltJmVhY3V0ZTsnOwokbGFuZ1snZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cyddID0gJ0V4dGVuZGVkIFVzZSBEaXNjb3VudHMnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyIFNldHRpbmdzJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0NoYW1wcyc7CiRsYW5nWydmaWxlJ10gPSAnRmljaGllcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmUnOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxlIEhhbmRsaW5nIENvbmZpZyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3InXSA9ICdQb3VyJzsKJGxhbmdbJ2ZvcmVncm91bmRfY29sb3InXSA9ICdGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ2ZyaWRheSddID0gJ1ZlbmRyZWRpJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dlc3Rpb25uYWlyZSBkZSBkaXNwb25pYmlsaXQmZWFjdXRlO3MnOwokbGFuZ1snZnJvbSddID0gJ0RlJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ0EgdmVuaXInOwokbGFuZ1snZ2VuZXJhbF9jb25maWcnXSA9ICdDb25maWd1cmF0aW9uIGcmZWFjdXRlO24mZWFjdXRlO3JhbGUnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcm91cGUnOwokbGFuZ1snZ3Vlc3QnXSA9ICdJbnZpdCZlYWN1dGU7JzsKJGxhbmdbJ2hhbGZfZGF5J10gPSAnRGVtaSBqb3VybiZlYWN1dGU7ZSc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdEZW1pIGhldXJlJzsKJGxhbmdbJ2hvdXJseSddID0gJ0NoYXF1ZSBoZXVyZSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcGxldGUgb25saW5lIHJlc2VydmF0aW9uIG1hbmFnZW1lbnQgc3lzdGVtIGZvciBob3RlbHMsIGNhciByZW50YWwgYWdlbmNpZXMsIG9yIGFueSBvdGhlciBwdXJwb3NlIHdoZXJlIHBhcnRpY3VsYXIgJnF1b3Q7cmVzb3VyY2VzJnF1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPg0KPHA+QSBjb21wbGV0ZSBhZG1pbiBpbnRlcmZhY2UgYWxsb3dzIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHJlc291cmNlcywgZXZlbnRzLCByZXNlcnZhdGlvbnMsIGFuZCBhbGwgYXNwZWN0cyBvZiB0aGUgZGlzcGxheWFibGUgaXRlbXMuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQo8bGk+QWxsb3dzIGRlZmluaW5nIHVubGltaXRlZCBudW1iZXJzIG9mIHJlc291cmNlcy4NCiAgPHVsPg0KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+DQogIDxsaT5QcmljZSBhZGp1c3RtZW50cyBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCBkYXkgb2YgdGhlIHdlZWsuPC9saT4NCiAgPC91bD4NCjxsaT4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgYW4gdW5saW1pdGVkIG51bWJlciBvZiBjdXN0b20gZmllbGRzIHRvIGFzc29jaWF0ZSB3aXRoIHJlc291cmNlcy48L2xpPg0KPGxpPkFsbG93cyBjcmVhdGluZyBldmVudCB0eXBlcyBhbmQgYXNzb2NpYXRpbmcgdGhlbSB3aXRoIGNvbG9ycy48L2xpPg0KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6DQogIDx1bD4NCiAgPGxpPkV2ZW50cyBjYW4gYmUgYm9va2FibGUgb3Igbm9uIGJvb2thYmxlLCB0byBibG9jayByZXNlcnZhdGlvbnMgZm9yIHRob3NlIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8L3VsPg0KPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBjb25mbGljdCBjaGVja2luZyB0byBlbnN1cmUgdGhhdCBubyByZXNlcnZhdGlvbnMgY2FuIGJlIGNyZWF0ZWQgZm9yIHJlc2VydmVkIHJlc291cmNlcywgb3IgY2xvc2VkIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQo8L3VsPg0KDQo8aDM+Q29tbWVudCAmY2NlZGlsO2EgbWFyY2hlID88L2gzPg0KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4NCjwvcD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgcmVzb3VyY2VzIGFuZCBmaWxsIHRoZW0gaW4gd2l0aCBhcyBtdWNoIGRldGFpbCBhcyBwb3NzaWJsZS4gIFlvdSBtYXkgYWxzbyB3YW50IHRvIGNyZWF0ZSBzb21lIGV2ZW50cywgb3IgdG8gbWFyayBvZmYgZGF0ZXMgd2hlbiBwYXJ0aWN1bGFyIHJlc291cmNlcyBhcmUgdW5hdmFpbGFibGUuPC9wPg0KPHA+VG8gZGlzcGxheSBhIHJlc291cmNlIHN1bW1hcnkgdmlldywgeW91IHNob3VsZCBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5fSBpbnRvIGEgY29udGVudCBwYWdlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+DQo8bGk+ZGVmYXVsdCAgLSBUaGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzdW1tYXJ5IHJlcG9ydCBvZiBzZWxlY3RlZCByZXNvdXJjZXMuPC9saT4NCjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UuPC9saT4NCjxsaT5teXJlc2VydmF0aW9uIC0gVGhlIG15cmVzZXJ2YXRpb25zIHJlcG9ydC48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4NCjxsaT5zZWFyY2ggLSBUaGUgc2VhcmNoIGZvcm0uPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBzZWFyY2hpbmcgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0byBzcGVjaWZpZWQgZGF0ZXMuPC9saT4NCjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIGZyb250ZW5kIHVzZXJzIHRvIHNlbmQgYW4gZW1haWwgbWVzc2FnZSB0byBzaXRlIGFkbWluaXN0cmF0b3JzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSBzcGVjaWZpYyByZXNlcnZhdGlvbi48L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGNhbGVuZGFyIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIHRvIHVzZSBmb3Igc2VsZWN0aW5nIHRoZSBkYXRhIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSByZXNvdXJjZXMgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX2NvbmZpcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc2VydmF0aW9uIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBhIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uIG9ubGluZSc7CiRsYW5nWydoZWxwX2RheXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGF5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGF5IHZpZXcgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9kYXknXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0gdG8gc3BlY2lmeSBhIGRlZmF1bHQgZGF5LiAgVXNlZCB3aXRoIHRoZSBkYXl2aWV3IGFjdGlvbiB0byBzcGVjaWZ5IHRoZSB0YXJnZXQgZGF5JzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZWZhdWx0IChzdW1tYXJ5KSwgYW5kIG15cmVzZXJ2YXRpb25zIHZpZXdzLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCBwYWdlIGZvciB2aWV3aW5nIGVpdGhlciB0aGUgcmVzb3VyY2UgZGV0YWlsLCB0aGUgcmVzZXJ2YXRpb24gZm9ybXMsIG9yIHRoZSBzZW5kLWVtYWlsIGZvcm0uICBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIHByZWZlcmVuY2UgZnJvbSB0aGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSB3aWxsIGJlIHVzZWQuICBJZiB0aGF0IGlzIG5vdCBzZXQsIHRoZW4gdGhlIGN1cnJlbnQgcGFnZSB3aWxsIGJlIHVzZWQuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciwgZGV0YWlsLCBkZWZhdWx0IChzdW1tYXJ5KSBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgdG8gdXNlIGZvciBhbnkgZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgaGF2ZSBubyBlZmZlY3QgaWYgcHJldHR5IHVybHMgYXJlIGNvbmZpZ3VyZWQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBteXJlc2VydmF0aW9uLCBhbmQgYWRkcmVzdm4gYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZW1haWxzIGFyZSBzZW50Lic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lIChyZXBsYWNlIHRoZSBvcmlnaW5hbCB0YWcpLCBvciBzaG91bGQgcmVwbGFjZSB0aGUgY29udGVudCBhcmVhIG9mIHRoZSBwYWdlLiAgIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3QgaWYgdGhlIHN1bW1hcnlwYWdlIHBhcmFtZXRlciBpcyBhbHNvIHNwZWNpZmllZCc7CiRsYW5nWydoZWxwX21vbnRoJ10gPSAnVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgbW9udGguICBVc2VkIHdpdGggdGhlIGRheSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgbW9udGgnOwokbGFuZ1snaGVscF9teXJlc3ZudGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb24gdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgdGhhdCB2aWV3JzsKJGxhbmdbJ2hlbHBfcGFnZWxpbWl0J10gPSAnSW4gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyB0byBkaXNwbGF5IG9uIGVhY2ggcGFnZSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0luIHRoZSBjYWxlbmRhciB2aWV3IHRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBvZiByZXNvdXJjZSBuYW1lcyB0byBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyJzsKJGxhbmdbJ2hlbHBfcmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuLCBjYWxlbmRhciwgYW5kIG15cmVzZXJ2YXRpb25zIGFjdGlvbnMsICB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbic7CiRsYW5nWydoZWxwX3Jlc3ZfaWQnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgaWQgb2YgYW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24gdG8gZWRpdC4gIFlvdSB3aWxsIHByb2JhYmx5IG5vdCBuZWVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciBkaXJlY3RseSc7CiRsYW5nWydoZWxwX3JzcmNpZCddID0gJ1RoaXMgcGFyYW1ldGVyIGlzIGFjY2VwdGVkIGJ5IHRoZSBkZXRhaWwgdGVtcGxhdGUgdG8gZGlzcGxheSBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZSc7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS4nOwokbGFuZ1snaGVscF9zZW5kZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGUgc2VuZGVtYWlsIGZvcm0uICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQnOwokbGFuZ1snaGVscF9zaG93YWxsJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZGlzcGxheWluZyBhbGwgcmVzZXJ2YXRpb25zLCBpbmNsdWRpbmcgcGFzdCByZXNlcnZhdGlvbnMuJzsKJGxhbmdbJ2hlbHBfc29ydGJ5J10gPSAnIA0KQXBwbGljYWJsZSB0byB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyBhbmQgdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIGRpc3BsYXllZCBpdGVtcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4NClJlc291cmNlIHN1bW1hcnkgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+bmFtZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQo8L3VsPg0KbXllc2VydmF0aW9ucyB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5zdGFydF9kYXRlPC9saT4NCiAgPGxpPmVuZF9kYXRlPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCiAgPGxpPmNyZWF0ZV9kYXRlPC9saT4NCiAgPGxpPm1vZGlmaWVkX2RhdGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3NvcnRvcmRlciddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldyBhbmQgdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBzZWxlY3RlZCBkYXRhLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPjx1bD48bGk+YXNjIC0gYXNjZW5kaW5nPC9saT48bGk+ZGVzYyAtIGRlc2NlbmRpbmc8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaWQgb3IgYWxpYXMgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcmVzdWx0aW5nIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgb24uICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGlubGluZSBpcyBzZXQgdG8gZmFsc2UuJzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX3llYXInXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCB5ZWFyLiBXaGVuIHVzZWQgd2l0aCB0aGUgZGF5dmlldyBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIHRhcmdldCB5ZWFyLic7CiRsYW5nWydoaXN0b3JpY2FsX2NvbXBhcmlzb24nXSA9ICdIaXN0b3JpY2FsIENvbXBhcmlzb24nOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0ltYWdlJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0ltYWdlIEhhbmRsaW5nIENvbmZpZyc7CiRsYW5nWydpbmZvX2FkZF91c2VyX2FjY291bnQnXSA9ICdEaXNwbGF5IGEgZm9ybSBmcm9tIHRoZSB1c2VyIG1hbmFnZW1lbnQgaW50ZXJmYWNlIHRvIGFsbG93IGFkZGluZyBhIG5ldyB1c2VyIGFjY291bnQnOwokbGFuZ1snaW5mb19hZGp1c3RtZW50X3ZhbHVlcyddID0gJ0FkanVzdG1lbnQgdmFsdWVzIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YgW3N5bWJvbF0jIy4jIy4gIFN5bWJvbCBjYW4gYmUgb25lIG9mICssLSwgb3IgKi4gIGkuZTogKjAuODUgb3IgKzE1LjI1LiAgSWYgbm8gc3ltYm9sIGlzIHNwZWNpZmllZCwgKyBpcyBhc3N1bWVkLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSwgZGlzcGxheWVkIHdpdGggdGhlICZxdW90O3NlYXJjaCZxdW90OyBhY3Rpb24uICBZb3UgY2FuIHVzZSBhbnkgYW5kIGFsbCBzbWFydHkgbG9naWMgYW5kIHRhZ3MgaW4gdGhpcyB0ZW1wbGF0ZS4nOwokbGFuZ1snaW5mb19hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgYWR2YW5jZWQgc2VhcmNoIGZvcm0gdGVtcGxhdGVzLCBmb3IgdXNlIHdpdGggdGhlICZxdW90O3NlYXJjaCZxdW90OyBhY3Rpb24nOwokbGFuZ1snaW5mb19hbGxvd19ub19wcmljZXMnXSA9ICdVc2VkIGZvciBib29raW5nIHJlc291cmNlcyB3aXRoIG5vIHByaWNlcyBhdHRhY2hlZCc7CiRsYW5nWydpbmZvX2J1bGtkaXNjb3VudF9hZGp1c3RtZW50X3ZhbHVlcyddID0gJ0FkanVzdG1lbnQgdmFsdWVzIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YgW3N5bWJvbF0jIy4jIy4gIFN5bWJvbCBjYW4gYmUgb25lIG9mICssLSwgb3IgKi4gIGkuZTogKjAuODUgb3IgKzE1LjI1LiAgSWYgbm8gc3ltYm9sIGlzIHNwZWNpZmllZCwgKyBpcyBhc3N1bWVkLiAgSWYgc3BlY2lmeWluZyBhIG51bWJlciBvZiBmcmVlIGRheXMsIGFuIGludGVnZXIgdmFsdWUgaXMgZXhwZWN0ZWQuJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgYW5kIGV2ZW50cyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY2FsZW5kYXIgdGVtcGxhdGVzIGZvciB1c2UgaW4gdGhlIGZyb250ZW5kIGNhbGVuZGFyIHZpZXcuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBlbWFpbCB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgdXNlciB3aGVuIHVzaW5nIHRoaXMgdGVtcGxhdGUuICBZb3UgY2FuIHVzZSBhbnkgYW5kIGFsbCBzbWFydHkgbG9naWMgYW5kIHRhZ3MgaW4gdGhpcyB0ZW1wbGF0ZS4gIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBzcGVjaWFsIHRvIHRoaXMgdGVtcGxhdGU6IHskc3ViamVjdH0gLSBUaGUgc3ViamVjdCBvZiB0aGUgZW1haWwsIHskYm9keX0gLSBUaGUgYm9keSBvZiB0aGUgZW1haWwnOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGN1c3RvbWVyIGVtYWlsIHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gc2VuZGluZyBtZXNzYWdlcyB0byBjdXN0b21lcnMgd2hvIGhhdmUgYm9va2VkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcHJvcGVydGllcyBzaG91bGQgYmUgbGlzdGVkIGluIHVzZXIgbGlzdHMuPGJyLz5Vc2UgeyRwcm9wZXJ0eW5hbWV9IHRvIGlkZW50aWZ5IGEgc2luZ2xlIHByb3BlcnR5Ljxici8+UmVmZXIgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGZvciB0aGUgbGlzdCBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZ3JvdXAuPGJyLz5Zb3UgY2FuIGFsc28gdXNlIHRoZSB7JHVzZXJuYW1lfSB0YWcgdG8gaW5kaWNhdGUgdGhlIHVzZXJzIGxvZ2luIG5hbWUuJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkYXkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZGF5IHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBjbGlja2luZyBvbiBhbiBpbmRpdmlkdWFsIGRheSBmcm9tIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGRpc3BsYXknOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnVGhlIGhpZ2hlc3QgYW1vdW50IGNhbGN1bGF0ZWQgd2lsbCBiZSB1c2VkIGFzIHRoZSBtaW5pbXVtIGRlcG9zaXQgZm9yIGVhY2ggcmVzZXJ2YXRpb24uICBEZXBvc2l0IGFtb3VudHMgd2lsbCBuZXZlciBleGNlZWQgdGhlIHRvdGFsIHJlc2VydmF0aW9uIGFtb3VudCc7CiRsYW5nWydpbmZvX2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0Egc21hcnR5IHRlbXBsYXRlIHVzZWQgdG8gYnVpbGQgdGhlIGxpbmUgaXRlbSBkZXNjcmlwdGlvbiB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgY2FydCBhbmQgb24gaW52b2ljZXMuICAgUG9zc2libGUgdmFyaWFibGVzIGFyZSB7JHJlc3ZuX29ian0gPGVtPih0aGUgZW50aXJlIHJlc2VydmF0aW9uIG9iamVjdCk8L2VtPiwgeyRkZXBvc2l0X2Ftb3VudH0gb3IgYW55IG90aGVyIGV4aXN0aW5nIHNtYXJ0eSB2YXJpYWJsZSBvciBwbHVnaW4uJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBkZXRhaWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBkZXRhaWwgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGV0YWlsIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnU2F2ZSAlcyBhZnRlciBwdXJjaGFzaW5nICVzIHBlcmlvZHMgYXQgdGhlIHJlZ3VsYXIgcHJpY2UuJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfYWxsYWRqdXN0J10gPSAnU2F2ZSAlcyBvZmYgb2YgZWFjaCBwZXJpb2Qgd2l0aCBhIHJlc2VydmF0aW9uIGZvciAlcyBwZXJpb2RzJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnUmVjZWl2ZSBvbmUgZnJlZSBwZXJpb2QgYWZ0ZXIgcHVyY2hhc2luZyAlcyc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dCBmb3IgdGhlIE15UmVzZXJ2YXRpb25zIHJlcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBteXJlc2VydmF0aW9ucyB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gYWN0aW9uPW15cmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2luZm9fb3ZlcmNhcF9hbW91bnQnXSA9ICdEYWlseSBhbW91bnQgdG8gYWRkIChwZXIgdW5pdCkgdG8gcmVzZXJ2YXRpb24gcHJpY2UsIGZvciBlYWNoIHVuaXQgb3ZlciB0aGUgc3RhdGVkIGNhcGFjaXR5IChhcHBsaWNhYmxlIG9ubHkgaWYgdGhlIGNhcGFjaXR5IGlzIGEgdmFsaWQgdmFsdWUpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgaWYgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFjY2VzcyB0aGUgcmVzZXJ2YXRpb25zIGZvcm0gaWYgbm90IGxvZ2dlZCBpbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU3BlY2lmeSB0aGUgbGlzdCBvZiB1c2VycyAob3IgZ3JvdXBzKSB0byByZWNlaXZlIGEgY29weSBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsLiAgVGhlIGVtYWlsIGFkZHJlc3MgcHJvcGVydHkgZm9yIGVhY2ggc2VsZWN0ZWQgdXNlciBtdXN0IGJlIHZhbGlkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJ10gPSAnSWYgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQsIHRoZSB1c2VyIHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgcmVzZXJ2YXRpb24gY29uZmlybSBwYWdlIHdpdGhvdXQgYSBtZXNzYWdlIGJlaW5nIGRpc3BsYXllZCc7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBhZnRlciBhIHZpc2l0b3IgaGFzIGNyZWF0ZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGVkaXQgcmVzZXJ2YXRpb24gdXJscywgYW5kIHNlbmQgbWVzc2FnZSB1cmxzJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fc2t1X3ByZWZpeCddID0gJ0lmIHN1cHBsaWVkLCB0aGUgdmFsdWUgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHJlc2VydmF0aW9uIGlkLCBhbmQgc3VwcGxpZWQgdG8gdGhlIGNhcnQgYXMgYSBTS1UnOwokbGFuZ1snaW5mb19yZXNvdXJjZXNfZmlsdGVyJ10gPSAnPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBXaGVuIGFsbCByZXNvdXJjZXMgY2FuIGZpdCBvbiBvbmUgcGFnZSBhbmQgbm8gb3RoZXIgZmlsdGVyaW5nIGlzIGFwcGxpZWQsIGl0IGlzIHBvc3NpYmxlIHRvIGFkanVzdCB0aGVpciBkZWZhdWx0IHNvcnQgb3JkZXJpbmcnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2FkbWluX3N0YXJ0eWVhciddID0gJ1RoaXMgdmFyaWFibGUgc3BlY2lmaWVzIHdoYXQgeWVhciB0aGUgZHJvcGRvd24gbGlzdHMgc2hvdWxkIHN0YXJ0IGF0IHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbiBmcm9tIHRoZSBhZG1pbiBpbnRlcmZhY2UuICBOb3RlIHRoaXMgYWxsb3dzIGFkZGluZyBhbmQgZWRpdGluZyByZXNlcnZhdGlvbnMgZm9yIGxvbmcgcGFzdCBkYXRlcy4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gZm9ybS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwgbWVzc2FnZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gcmVwb3J0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiBlbWFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBlbWFpbCBtZXNzYWdlIHRoYXQgaXMgc2VudCB0byB0aGUgY3VzdG9tZXIgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBtZXNzYWdlIGFuZCBkYXRhIHRoYXQgaXMgZGlzcGxheWVkIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgb3IgZWRpdHMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBjb250cm9scyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VuZGVtYWlsIGZvcm0sIHVzZWQgd2hlbiBhIHNpdGUgdmlzaXRvciB3YW50cyB0byBzZW5kIGEgbWVzc2FnZSB0byBidXNpbmVzcyBvd25lcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBzZW5kZW1haWwgZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIHNlbmRpbmcgYW4gZW1haWwgcmVsYXRlZCB0byBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnVXNlIHRoaXMgZm9ybSB0byBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24gb3IgdG8gYXNrIGFueSBxdWVzdGlvbnMgcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gc3VtbWFyeSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2Ugc3VtbWFyeSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHN1bW1hcnkgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzIDxlbT4odGhpcyBpcyB0aGUgZGVmYXVsdCB2aWV3KTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEFkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IENhbGVuZGFyIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBEYXkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzb3VyY2UgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9teXJlc3ZfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCAmcXVvdDtNeSBSZXNlcnZhdGlvbnMmcXVvdDsgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlbmQgRW1haWwgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnkgb3V0cHV0LiAgVGhpcyBmb3JtIGNvbnRyb2xzIHRoZSB2YWx1ZSBvZiB0aGUgdGVtcGxhdGUgdGhhdCBpcyBjcmVhdGVkIHdoZW4geW91IGNsaWNrICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLic7CiRsYW5nWydpbmZvX3ZpZXdfdXNlciddID0gJ0Rpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ2luaXRpYWxfcmVzZXJ2YXRpb25fbm90ZXMnXSA9ICdJbml0aWFsIFJlc2VydmF0aW9uIE5vdGVzJzsKJGxhbmdbJ2luX2NhcnQnXSA9ICdJbiBDaGVja291dCBQcm9jZXNzJzsKJGxhbmdbJ2luX3Byb2dyZXNzJ10gPSAnSW4gUHJvZ3Jlc3MnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdLZXl3b3Jkcyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2VuZCc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnQmFjayc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdDYWxlbmRhcic7CiRsYW5nWydsYmxfY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnXSA9ICdDYWxlbmRhciBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snbGJsX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcyddID0gJ0N1c3RvbWVyIEVtYWlsIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY3VzdG9tX2ZpZWxkcyddID0gJ0N1c3RvbSBGaWVsZHMnOwokbGFuZ1snbGJsX2RheV92aWV3X3RlbXBsYXRlcyddID0gJ0RheSBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsX3RlbXBsYXRlcyddID0gJ0RldGFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0V2JmVncmF2ZTtuZW1lbnRzJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ1R5cGVzIGQmIzAzOTsmZWFjdXRlO3YmZWdyYXZlO25lbWVudHMnOwokbGFuZ1snbGJsX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcyddID0gJ015IFJlc2VydmF0aW9ucyBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3ByZWZlcmVuY2VzJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUiZlYWN1dGU7c2VydmF0aW9ucyc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdSZXNlcnZhdGlvbiBDb25maXJtIEVtYWlsIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnXSA9ICdSZXNlcnZhdGlvbiBDb25maXJtIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnXSA9ICdSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfcmVzb3VyY2VzJ10gPSAnUmVzb3VyY2VzJzsKJGxhbmdbJ2xibF9zZW5kZW1haWxfdGVtcGxhdGVzJ10gPSAnU2VuZCBFbWFpbCBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdNYW5hZ2UgU2V0dGluZ3MnOwokbGFuZ1snbGJsX3N1bW1hcnlfdGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ01hbmFnZSBUZW1wbGF0ZXMnOwokbGFuZ1snbWFuYWdlX2N1c3RvbWVyX2NvbnRhY3RfcmVzdm4nXSA9ICdNYW5hZ2UgQ3VzdG9tZXIgQ29udGFjdCBmb3IgcmVzZXJ2YXRpb24nOwokbGFuZ1snbWFuYWdlciddID0gJ01hbmFnZXInOwokbGFuZ1snbWF4X2xlbmd0aCddID0gJ01heCBMZW5ndGgnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ01lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1snbWVzc2FnZV90ZXh0J10gPSAnTWVzc2FnZSBCb2R5JzsKJGxhbmdbJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltdW0gRGVwb3NpdCBSZXF1aXJlZCc7CiRsYW5nWydtb2RpZmllZF9kYXRlJ10gPSAnTW9kaWZpZWQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSByZXNvdXJjZSBhbmQgYXZhaWxhYmlsaXR5IG1hbmFnZXIgZm9yIHNjaGVkdWxpbmcgYW5kIHJlc2VydmluZyByZXNvdXJjZXMgb24gYSBkYWlseSBiYXNpcyc7CiRsYW5nWydtb25kYXknXSA9ICdMdW5kaSc7CiRsYW5nWydtb250aCddID0gJ01vaXMnOwokbGFuZ1snbW9udGhsaXN0X2JyaWVmJ10gPSAnSmFuL0Zldi9NYXIvQXZyL01haS9KdW4vSnVsL0FvJnVjaXJjOy9TZXAvT2N0L05vdi9EJmVhY3V0ZTtjJzsKJGxhbmdbJ21vcmUnXSA9ICdQbHVzJzsKJGxhbmdbJ21vdmVfZG93biddID0gJ01vdmUgRG93bic7CiRsYW5nWydtb3ZlX3VwJ10gPSAnTW92ZSBVcCc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWyduZXh0J10gPSAnU1VpdmFudCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdOb24nOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnQ2xvc2VkIEJsb2Nrcyc7CiRsYW5nWydub25lJ10gPSAnQXVjdW4nOwokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7CiRsYW5nWydub3RfYXBwbGljYWJsZSddID0gJ1MvTyc7CiRsYW5nWydub3RfY2FsY3VsYXRlZCddID0gJ05vbiBjYWxjdWwmZWFjdXRlOyc7CiRsYW5nWydudW1fcGVvcGxlJ10gPSAnTm9tYnJlIGRlIHBlcnNvbm5lcyc7CiRsYW5nWydvY2N1cnMnXSA9ICdPY2N1cnMnOwokbGFuZ1snb2YnXSA9ICdEZSc7CiRsYW5nWydvbiddID0gJ09uJzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnVW5lIGhldXJlJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zICc7CiRsYW5nWydvcmRlciddID0gJ09yZHJlJzsKJGxhbmdbJ292ZXJjYXBfYW1vdW50J10gPSAnT3ZlcmNhcGFjaXR5IFByaWNlIEFkanVzdG1lbnQnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ051bWJlciBvZiBJdGVtcyBwZXIgUGFnZSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnUGFnZSB0byByZWRpcmVjdCB0byB3aGVuIG5vdCBsb2dnZWQgaW4nOwokbGFuZ1sncGFydDEnXSA9ICdQYXJ0aWUgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdQYXJ0aWVsbGVtZW50IHImZWFjdXRlO3NlcnYmZWFjdXRlOyc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWRfbGJsJ10gPSAnJXMgb2YgJXMgc2xvdHMgcmVzZXJ2ZWQnOwokbGFuZ1sncGFzdF9tZXNzYWdlcyddID0gJ1Bhc3QgTWVzc2FnZXMnOwokbGFuZ1sncGVuZGluZyddID0gJ1BlbmRpbmcnOwokbGFuZ1sncGVyY2VudGFnZV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW1pbXVtIFBlcmNlbnRhZ2Ugb2YgdG90YWwgb3JkZXIgcmVxdWlyZWQgZm9yIGEgZGVwb3NpdCA8ZW0+KGV4cHJlc3NlZCBpbiBkZWNpbWFsIGZvcm1hdCk8L2VtPic7CiRsYW5nWydwZXJjZW50X2Jvb2tlZCddID0gJ1BlcmNlbnRhZ2UgQm9va2VkJzsKJGxhbmdbJ1BNJ10gPSAnUE0nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQXZhaWxhYmlsaXR5IG1vZHVsZSBoYXMgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZC4gIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgYXBwcm9wcmlhdGUgZ3JvdXBzIGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb25zIHRvIG1hbmFnZSB0aGUgdmFyaW91cyBhc3BlY3RzIG9mIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgQXZhaWxhYmlsaXR5IG1vZHVsZSwgYW5kIGFsbCByZWxhdGVkIGRhdGEgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzeXN0ZW0uICBZb3UgYXJlIG5vdyBmcmVlIHRvIGRlbGV0ZSB0aGUgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3ByZXYnXSA9ICdQciZlYWN1dGU7Yyc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJpY2UnXSA9ICdQcml4JzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByaXgnOwokbGFuZ1sncHJpY2VfYWRqdXN0J10gPSAnQWRqdXN0IHRoZSBQcmljZSBvZiBlZmZlY3RlZCAlcyBieSB0aGlzIGFtb3VudC48YnIvPjxlbT4odXNlIGEgZm9ybWF0IGxpa2UgKjAuODUgb3IgLTEzIG9yICsyNSk8L2VtPic7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHVibGljJ10gPSAnUHVibGljJzsKJGxhbmdbJ3F1YXJ0ZXJfaG91ciddID0gJ1F1YXJ0IGQmIzAzOTtoZXVyZSc7CiRsYW5nWydyZXNlcnZlZCddID0gJ1ImZWFjdXRlO3NlcnYmZWFjdXRlOyc7CiRsYW5nWydyZXNlcnZhdGlvbiddID0gJ1ImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9hZG1pbl9zdGFydHllYXInXSA9ICdTdGFydCB5ZWFyIGZvciByZXNlcnZhdGlvbnMgaW4gdGhlIGFkbWluIHBhbmVsJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ1BlbmRpbmcgUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maWcnXSA9ICdSJmVhY3V0ZTtnbGFnZXMgZGVzIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaWxlIHRvIGF0dGFjaCB0byBhbGwgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnQ0MgdGhlc2UgdXNlcnMgb24gcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddID0gJ1NlbmQgYW4gZW1haWwgdG8gdGhlIGN1c3RvbWVyIHdoZW4gYSByZXNlcnZhdGlvbiBpcyBjcmVhdGVkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJ1N1YmplY3Qgb2YgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX21zZyddID0gJ0Rpc3BsYXkgdGhlIFJlc2VydmF0aW9uIENvbmZpcm0gTWVzc2FnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBDb25maXJtIFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdZb3VyIHNlbGVjdGVkICVzIGFyZSBub3QgYWxsIGF2YWlsYWJsZSBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdSJmVhY3V0ZTtzZXJ2YXRpb24gY3ImZWFjdXRlOyZlYWN1dGU7ZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBEZWZhdWx0IFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ0QmZWFjdXRlO3RhaWxzIGRlIGxhIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmxpY3QgRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9pZCddID0gJ0lEIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9tYW5hZ2VyJ10gPSAnR2VzdGlvbm5haXJlIGRlIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2ZvcmVncm91bmRfY29sb3InXSA9ICdQYXJ0aWFsIEJvb2tpbmcgRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2JhY2tncm91bmRfY29sb3InXSA9ICdQYXJ0aWFsIEJvb2tpbmcgQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0cyddID0gJ0NvbXBvc2FudCBkZSBsYSByJmVhY3V0ZTtzZXJ2YXRpb24nOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZhdGlvbiBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX251bSddID0gJ1ImZWFjdXRlO3NlcnZhdGlvbjogJTA1ZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9za3VfcHJlZml4J10gPSAnUHImZWFjdXRlO2ZpeGUgVUdTIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydyZXNldCddID0gJ1JlbWV0dHJlICZhZ3JhdmU7IHomZWFjdXRlO3JvJzsKJGxhbmdbJ3Jlc291cmNlJ10gPSAnUmVzc291cmNlJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc3NvdXJjZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8xJ10gPSAnUmVzZXJ2ZWQgb24gYW4gJXMgYmFzaXMsIG9uICVzIGJvdW5kYXJpZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8yJ10gPSAnUiZlYWN1dGU7c2VydiZlYWN1dGU7IHN1ciB1bmUgYmFzZSAlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdkaXNwb25pYmxlIGR1ICVzIGF1ICVzIGV0IGR1ICVzIGF1ICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2NoZWNraW4gdGltZSBpcyAlcywgYW5kIGNoZWNrb3V0IHRpbWUgaXMgJXMnOwokbGFuZ1sncmVzb3VyY2VfdHlwZSddID0gJ1R5cGUgZGUgcmVzc291cmNlJzsKJGxhbmdbJ3Jvb20nXSA9ICdQbGFjZSc7CiRsYW5nWydyb29tcyddID0gJ1BsYWNlcyc7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdVbiBkJmVhY3V0ZTtwJm9jaXJjO3QgZXN0LWlsIHJlcXVpcz8nOwokbGFuZ1snc2F0dXJkYXknXSA9ICdTYW1lZGknOwokbGFuZ1snc2NoZWR1bGluZyddID0gJ1NjaGVkdWxpbmcnOwokbGFuZ1snc2NoZWR1bGluZ19pbnRlcnZhbCddID0gJ0NldHRlIHJlc3NvdXJjZSBlc3QgciZlYWN1dGU7c2VydiZlYWN1dGU7ZSc7CiRsYW5nWydzZWFyY2gnXSA9ICdSZWNoZXJjaGUnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ0ZhaXJlIHVuZSBzJmVhY3V0ZTtsZWN0aW9uJzsKJGxhbmdbJ3NlbmQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ3NlbmRfY3VzdG9tZXJfbWFpbCddID0gJ0Vudm95ZXIgdW5lIG5vdGlmaWNhdGlvbiBwYXIgY291cnJpZWwgYXUgY2xpZW50IHBvdXIgY2V0dGUgbW9kaWZpY2F0aW9uPyc7CiRsYW5nWydzZW5kX2VtYWlsJ10gPSAnRW52b3llciB1biBjb3VycmllbCc7CiRsYW5nWydzZW50J10gPSAnRW52b3kmZWFjdXRlOyc7CiRsYW5nWydzdGFydF9kYXRlJ10gPSAnRGF0ZSBkJmVhY3V0ZTtidXQnOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGltZSAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpbWUgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGlxdWVzJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1dCc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnTGVzICVzIHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTtzIHNvbnQgZGlzcG9uaWJsZXMgcG91ciBjZXMgZGF0ZXMnOwokbGFuZ1snc3Vial9yZV9yZXN2biddID0gJ1JlOiBSJmVhY3V0ZTtzZXJ2YXRpb24gJXMnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1amV0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NvdW1ldHRyZSc7CiRsYW5nWydzdW5kYXknXSA9ICdEaW1hbmNoZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ0FpcmUgZGUgdGV4dGUnOwokbGFuZ1sndGV4dGJveCddID0gJ0NoYW1wIGRlIHRleHRlJzsKJGxhbmdbJ3RodXJzZGF5J10gPSAnSmV1ZGknOwokbGFuZ1sndGl0bGVfY29uZmxpY3QnXSA9ICdDb25mbGljdCBFeGlzdHN8QSBjb25mbGljdCBleGlzdHMgYmV0d2VlbiByZXNlcnZhdGlvbnMgJTA0ZCBhbmQgJTA0ZC48YnIvPjxici8+TW9yZSBjb25mbGljdHMgbWF5IGV4aXN0cyBmb3IgdGhpcyBibG9jay4nOwokbGFuZ1sndGl0bGVfZ3JhcGhpbmcnXSA9ICdWaWV3IGdyYXBocyBhbmQgcmVwb3J0cyBvZiBoaXN0b3JpY2FsIGRhdGEnOwokbGFuZ1sndG8nXSA9ICdQb3VyJzsKJGxhbmdbJ3RvdGFsX2Jsb2NrcyddID0gJ1RvdGFsIEJsb2Nrcyc7CiRsYW5nWyd0dWVzZGF5J10gPSAnTWFyZGknOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0FwcGx5IHRoZSBGb2xsb3dpbmcgRGF0ZXMnOwokbGFuZ1sndmFjYW50J10gPSAnVmFjYW50JzsKJGxhbmdbJ3ZpZXcnXSA9ICdWb2lyJzsKJGxhbmdbJ3ZpZXdfZGF5J10gPSAnQ29uc3VsdGVyIGxlcyBpbmZvcm1hdGlvbiBwb3VyIGNldHRlIGpvdXJuJmVhY3V0ZTtlJzsKJGxhbmdbJ3ZpZXdfdXNlciddID0gJ0NvbnN1bHRlciBsZXMgZCZlYWN1dGU7dGFpbHMgZGUgbCYjMDM5O2ludml0JmVhY3V0ZTsnOwokbGFuZ1sndmlld19yc3JjX2RldGFpbHMnXSA9ICdDb25zdWx0ZXIgbGVzIGQmZWFjdXRlO3RhaWxzIHBvdXIgY2UgJXMnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnTWVyY3JlZGknOwokbGFuZ1snd2Vla2RheV9wcmljZV9hZGp1c3RtZW50cyddID0gJ0NvcnJlY3RpZnMgcG91ciBsZXMgcHJpeCAmYWdyYXZlOyBsYSBzZW1haW5lJzsKJGxhbmdbJ3llYXJfMSddID0gJ0FubiZlYWN1dGU7ZSAxJzsKJGxhbmdbJ3llYXJfMiddID0gJ0FubiZlYWN1dGU7ZSAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ0FubiZlYWN1dGU7ZSAzJzsKJGxhbmdbJ3llcyddID0gJ091aSc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdWb3RyZSBub20nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xOTMxMzQ2MDc3LjEyNjk4MTc2NDkuMTI3MjY3MDc4MC4xMjcyNjczMDkzLjgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjY5OTk3MTMzLjIuMi51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjExODUxMDE4LTEyNjk4MTc2NDkxNzYnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FnZ2l1bmdlcmUgdW4gRXZlbnRvIFRpcG8nOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWNhIHVuIEV2ZW50byBUaXBvJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0F0dGl2byc7CiRsYW5nWydhZGQnXSA9ICdBZ2dpdW5nZXJlJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ0luc2VyaXNjaSBsZSBpbmZvcm1hemlvbmkgcmVsYXRpdmUgYSBxdWVzdGEgcHJlbm90YXppb25lJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIHVuIGF2YW56YXRvIEZvcm0gVGVtcGxhdGUgZGkgcmljZXJjYSc7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBUZW1wbGF0ZSBkaSB2aXN1YWxpenphemlvbmUgQ2FsZW5kYXJpbyc7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ0FnZ2l1bmdlcmUvTW9kaWZpY2EgdW4gVGVtcGxhdGUgRW1haWwgYSBDbGllbnRlJzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBUZW1wbGF0ZSBWaXN1YWxpenphemlvbmUgR2lvcm5vJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBUZW1wbGF0ZSBWaXN1YWxpenphemlvbmUgRGV0dGFnbGlvIFJpc29yc2EnOwokbGFuZ1snYWRkZWRpdF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgTXlSZXNlcnZhdGlvbnMgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNvdXJjZSBTdW1tYXJ5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRtaW5fbm90ZXMnXSA9ICdOb3RlIEFkbWluJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGVsaWdpYmxlIGRheXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0J1bGsgZGlzY291bnQgYWRqdXN0bWVudCBvZiAlLjJmIGZvciBhbGwgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnQnVsayBkaXNjb3VudCBlbGlnaWJsZSBmcmVlIGRheSc7CiRsYW5nWydhZGp1c3RfZXZlbnRfcHJpY2UnXSA9ICdDb3JyZWdnaSBpbCBwcmV6em8gcGVyIGV2ZW50byAlcyBkYSAlcyc7CiRsYW5nWydhZGp1c3Rfb3ZlcmNhcGFjaXR5J10gPSAnQ29ycmVnZ2kgaWwgcHJlenpvIHBlciAlZCBwZXJzb25lIGV4dHJhIGRhICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdDb3JyZWdnaSBpbCBwcmV6em8gcGVyIGdpb3JubyBkZWxsYSBzZXR0aW1hbmEgJXMgZGEgJXMnOwokbGFuZ1snYWRkX2NhdGVnb3J5J10gPSAnQWdnaXVuZ2VyZSBhdHRyaWJ1dG8nOwokbGFuZ1snYWRkX2N1c3RvbV9maWVsZCddID0gJ0FnZ2l1bmdlcmUgdW4gY2FtcG8gcGVyc29uYWxlJzsKJGxhbmdbJ2FkZF9ldmVudCddID0gJ0FnZ2l1bmdlcmUgdW4gRXZlbnRvJzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnQWdnaXVuZ2VyZSB1biBFdmVudG8gVGlwbyc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdBZ2dpdW5nZXJlIHVuYSBudW92YSBQcmVub3RhemlvbmUnOwokbGFuZ1snYWRkX3VzZXJfYWNjb3VudCddID0gJ0FnZ2l1bmdlcmUgdW4gQWNjb3VudCB1dGVudGUnOwokbGFuZ1snYWxsJ10gPSAnVHV0dGknOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnVGlwaSBkaSBGaWxlIHBlcm1lc3NpJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUaXBpIGRpIEltbWFnaW5lIHBlcm1lc3NlJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yZSBzdSBuZXNzdW4gcHJlenpvJzsKJGxhbmdbJ2FsbG93X292ZXJjYXBhY2l0eSddID0gJ0FsbG93IHJlc2VydmF0aW9ucyB0aGF0IGFyZSBvdmVyIGNhcGFjaXR5JzsKJGxhbmdbJ0FNJ10gPSAnQU0nOwokbGFuZ1snYW55J10gPSAnUXVhbHNpYXNpJzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbGljYSc7CiRsYW5nWydhc2tfZGVsZXRlX2V2ZW50J10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBwZXJtYW5lbnRseSByZW1vdmUgdGhpcyBldmVudD8nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNlcnZhdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgcmVzZXJ2YXRpb24gZnJvbSB5b3VyIHN5c3RlbSc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc291cmNlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBwZXJtYW5lbnRseSByZW1vdmUgdGhpcyByZXNvdXJjZT8nOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdBcmUgeW91IHJlYWxseSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8gIENvbnRpbnVpbmcgd2lsbCByZXN1bHQgaW4gYSBsb3NzIG9mIGFsbCBkYXRhIHJlbGF0ZWQgdG8gdGhlIG1vZHVsZS4nOwokbGFuZ1snYXQnXSA9ICdAJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdBbGxlZ2F0byc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0RpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGF0dGFjaG1lbnRzJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGknOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnQXV0byBHZW5lcmEgTWluaWF0dXJlJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ0F2YWlsYWJsZSc7CiRsYW5nWydiYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ29sb3JlIHNvdHRvZm9uZG8nOwokbGFuZ1snYmFzZV9wcmljZSddID0gJ1ByZXp6byBkaSBiYXNlJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnUm9vbXMgY2FuIGJlIGJvb2tlZCBkdXJpbmcgdGhpcyBldmVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCb29rYWJsZSc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb29rYWJsZSBFdmVudCBCbG9ja3MnOwokbGFuZ1snYm9va2VkX2Jsb2NrcyddID0gJ0Jvb2tlZCBCbG9ja3MnOwokbGFuZ1snY2FiaW4nXSA9ICdDYWJpbmEnOwokbGFuZ1snY2FiaW5zJ10gPSAnQ2FiaW5lJzsKJGxhbmdbJ2NhbGN1bGF0ZSddID0gJ0NhbGNvbGEnOwokbGFuZ1snY2FsY3VsYXRlX3ByaWNlJ10gPSAnUHJlenpvIGNhbGNvbGF0byc7CiRsYW5nWydjYWxjdWxhdGVkX3ByaWNlJ10gPSAnQ2FsY3VsYXRlZCBQcmljZSc7CiRsYW5nWydjYWxlbmRhcl9jb25maWcnXSA9ICdBdmFpbGFiaWxpdHkgQ2FsZW5kYXIgU2V0dGluZ3MnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snY2FuY2VsbGVkJ10gPSAnQ2FuY2VsbGF0byc7CiRsYW5nWydjYXBhY2l0eSddID0gJ0NhcGFjaXQmYWdyYXZlOyc7CiRsYW5nWydjYXInXSA9ICdNYWNjaGluYSc7CiRsYW5nWydjYXJzJ10gPSAnTWFjY2hpbmUnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0aSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0dHJpYnV0byc7CiRsYW5nWydjY19teXNlbGYnXSA9ICdTZW5kIGEgY29weSBvZiB0aGlzIG1lc3NhZ2UgdG8gbXkgZW1haWwgYm94JzsKJGxhbmdbJ2NoZWNrJ10gPSAnQ2hlY2snOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydjaGVja2luJ10gPSAnQ2hlY2tpbic7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdDaGVja2luIFRpbWUnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdDaGVja291dCc7CiRsYW5nWydjaGVja291dF90aW1lJ10gPSAnQ2hlY2tvdXQgVGltZSc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdDaGVjayBBdmFpbGFiaWxpdHknOwokbGFuZ1snY2xvc2VkJ10gPSAnQ2hpdXNvJzsKJGxhbmdbJ2NvbG9yJ10gPSAnQ29sb3JlJzsKJGxhbmdbJ2NvbmZpcm1lZCddID0gJ0NvbmZlcm1hdG8nOwokbGFuZ1snY29uZmlybV9yZXNlcnZhdGlvbiddID0gJ1BsZWFzZSBjaGVjayB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGZvcm0sIGFuZCBjb25maXJtIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gY3JlYXRlIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snY29uZmxpY3QnXSA9ICdDb25mbGl0dG8nOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdDcmVhdG8nOwokbGFuZ1snY3JlYXRlX3Jlc2VydmF0aW9uJ10gPSAnQ3JlYSB1bmEgUHJlbm90YXppb25lIHBlciBxdWVzdG8gc2xvdCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRvJzsKJGxhbmdbJ2N1cnJlbmN5X3N5bWJvbCddID0gJ1NpbWJvbG8gY29ycmVudGUnOwokbGFuZ1snY3VycmVudF95ZWFyJ10gPSAnVGhlIEN1cnJlbnQgWWVhcic7CiRsYW5nWydjdXN0b21lciddID0gJ0N1c3RvbWVyJzsKJGxhbmdbJ2N1c3RvbWVyX2dyb3VwJ10gPSAnQ3VzdG9tZXIgR3JvdXAnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0N1c3RvbWVyIE5hbWUnOwokbGFuZ1snY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ0N1c3RvbWVyIERpc3BsYXkgVGVtcGxhdGUnOwokbGFuZ1snZGFpbHknXSA9ICdHaW9ybmFsbWVudGUnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGEnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ1JlcG9ydCBHaW9ybmFsaWVybyc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdEYXkgUmVwb3J0IGZvciAlcyc7CiRsYW5nWydkYXlfdmlldyddID0gJ1Zpc3VhbGl6emF6aW9uZSBHaW9ybm8nOwokbGFuZ1snZGVmYXVsdF9jYXBhY2l0eSddID0gJ0RlZmF1bHQgY2FwYWNpdHkgPGVtPihmb3IgbmV3IHJlc291cmNlcyk8L2VtPic7CiRsYW5nWydkZWZhdWx0X2dyYW51bGFyaXR5J10gPSAnRGVmYXVsdCBHcmFudWxhcml0eSc7CiRsYW5nWydkZWZhdWx0X3RpbWVfaW50ZXJ2YWwnXSA9ICdEZWZhdWx0IFRpbWUgSW50ZXJ2YWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snZGVsZXRlX2NhdGVnb3J5J10gPSAnQ2FuY2VsbGEgYXR0cmlidXRvJzsKJGxhbmdbJ2RlbGV0ZV9jdXN0b21fZmllbGQnXSA9ICdEZWxldGUgQ3VzdG9tIEZpZWxkJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ0NhbmNlbGxhIEV2ZW50byc7CiRsYW5nWydkZWxldGVfZXZlbnRfdHlwZSddID0gJ0NhbmNlbGxhIEV2ZW50byBUaXBvJzsKJGxhbmdbJ2RlcG9zaXRfYW1vdW50J10gPSAnRGVwb3NpdCBBbW91bnQnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnRGVwb3NpdCBBbW91bnRzJzsKJGxhbmdbJ2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1Jlc2VydmF0aW9uIERlcG9zaXQgU3VtbWFyeSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXppb25lJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnWW91ciBSZXNlcnZhdGlvbiBoYXMgYmVlbiBjb25maXJtZWQnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0Rpc2NvdW50IEFkanVzdG1lbnQnOwokbGFuZ1snZGlzY291bnRfbWluX2Jsb2NrcyddID0gJ01pbmltdW0gbnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgZm9yIHRoZSBkaXNjb3VudCc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdGcmVlIGRheXMgKGxlYXN0IGV4cGVuc2l2ZSBmaXJzdCknOwokbGFuZ1snZGlzY291bnRfYWxsYWRqdXN0J10gPSAnQXBwbHkgYSBidWxrIGFkanVzdG1lbnQgdG8gYWxsIGRheXMnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0FkanVzdCBQcmljZXMgZm9yIGFwcGxpY2FibGUgZGF5cyBvbmx5JzsKJGxhbmdbJ2Rpc2NvdW50X3R5cGUnXSA9ICdEaXNjb3VudCBUeXBlJzsKJGxhbmdbJ2Rpc2NvdW50cyddID0gJ0Rpc2NvdW50cyc7CiRsYW5nWydkaXNwbGF5J10gPSAnVmlzdWFsaXp6YSc7CiRsYW5nWydkcm9wZG93biddID0gJ1RlbmRpbmEnOwokbGFuZ1snZWRpdCddID0gJ01vZGlmaWNhJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdNb2RpZmljYSBhdHRyaWJ1dG8nOwokbGFuZ1snZWRpdF9jdXN0b21fZmllbGQnXSA9ICdFZGl0IEN1c3RvbSBGaWVsZCc7CiRsYW5nWydlZGl0X2V2ZW50J10gPSAnTW9kaWZpY2EgRXZlbnRvJzsKJGxhbmdbJ2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWNhIEV2ZW50byBUaXBvJzsKJGxhbmdbJ2VkaXRfcmVzZXJ2YXRpb24nXSA9ICdNb2RpZmljYSBQcmVub3RhemlvbmUnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWydlbmRfZGF0ZSddID0gJ0RhdGEgZmluZSc7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRW5kIFRpbWUgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnRW5kIFRpbWUgMic7CiRsYW5nWydlcnJvcl9jYWxjdWxhdGlvbiddID0gJ0Vycm9yZSBkaSBjYWxjb2xvJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdUaGlzIHJlc291cmNlIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgdGhlcmUgYXJlIGtub3duIHJlc2VydmF0aW9ucyBmb3IgaXQnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGVycm9yLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ0FuIG5vbi1ib29rYWJsZSBldmVudCBjb25mbGljdCB3YXMgZGV0ZWN0ZWQgZm9yIHRoaXMgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2Vycm9yX2ZpbGVkZWxldGUnXSA9ICdBIHByb2JsZW0gb2NjdXJyZWQgZGVsZXRpbmcgb25lIG9yIG1vcmUgZmlsZXMnOwokbGFuZ1snZXJyb3JfaW50ZXJuYWxjb25maWcnXSA9ICdBbiBpbnRlcm5hbCBjb25maWd1cmF0aW9uIGVycm9yIG9jY3VycmVkLiAgUGxlYXNlIGNvbnRhY3QgdGhlIHdlYnNpdGUgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnWW91IGhhdmUgZW50ZXJlZCBpbnZhbGlkIGRhdGVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfcHJpY2UnXSA9ICdUaGUgcHJpY2UgZW50ZXJlZCBzZWVtcyB0byBiZSBlbXB0eSBvciBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ1RoZSB0aW1lIHJhbmdlcyBlbnRlcmVkIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdBbiBpbnZhbGlkIHZhbHVlIHdhcyBzcGVjaWZpZWQgZm9yIG9uZSBvciBtb3JlIGZpZWxkcyBvciBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVycyBpcyBtaXNzaW5nIG9yIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmxlbSBjcmVhdGluZyBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3JfbXVzdF9zZWxlY3QnXSA9ICdZb3UgbXVzdCBzZWxlY3Qgb25lIG9yIG1vcmUgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0NvbmZpZ3VyYXRpb24gcHJvYmxlbS4gIFlvdXIgd2ViIGhvc3QgaGFzIG5vdCBjb25maWd1cmVkIGFueWJvZHkgdG8gYmUgbm90aWZpZWQgb2YgdGhlc2UgbWVzc2FnZXMuICBQbGVhc2UgY29udGFjdCB0aGUgd2Vic2l0ZSBhZG1pbmlzdHJhdG9yIGRpcmVjdGx5JzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnVGhlIGRhdGEgc3BlY2lmaWVkIGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnXSA9ICdZb3UgYXJlIG5vdCBsb2dnZWQgaW4gdG8gdGhpcyBzaXRlLiAgWW91IG11c3QgaGF2ZSByZWdpc3RlcmVkIGZvciBhbiBhY2NvdW50IGJlZm9yZSBtYWtpbmcgYSByZXNlcnZhdGlvbic7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9lbWFpbCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGFkZHJlc3MgZm9yIHRoaXMgY3VzdG9tZXInOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfc2VsZWN0ZWQnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgY3VzdG9tZXIgZnJvbSB0aGUgbGlzdCc7CiRsYW5nWydlcnJvcl9ub19ldmVudF90eXBlcyddID0gJ05vIEV2ZW50IFR5cGVzIERlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25fcGFydHMnXSA9ICdZb3UgaGF2ZSBub3Qgc3BlY2lmaWVkIGFueXRoaW5nIHRvIHJlc2VydmUhJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc2VydmF0aW9ucyddID0gJ05vIHJlc2VydmF0aW9ucyBmb3VuZCBmb3IgdGhlIHNlbGVjdGVkIGRhdGUnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzJ10gPSAnTm8gJXMgRGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXNfc2VsZWN0ZWQnXSA9ICdQbGVhc2UgZGVmaW5lIG9uZSBvciBtb3JlIHJlc291cmNlcyBhbmQgaW50ZXJ2YWxzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnQ291bGQgbm90IGZpbmQgYW55IHJlZ2lzdGVyZWQgdXNlcnMgZm9yIHlvdXIgc2VsZWN0ZWQgY3VzdG9tZXIgZ3JvdXAnOwokbGFuZ1snZXJyb3Jfb3Zlcl9jYXBhY2l0eSddID0gJ1RoaXMgcmVzb3VyY2Ugb25seSBhbGxvd3MgJXMgcGVvcGxlLCB5b3UgaGF2ZSByZXF1ZXN0ZWQgYSByZXNlcnZhdGlvbiBmb3IgJXMnOwokbGFuZ1snZXJyb3JfcGFzdF9kYXRlcyddID0gJ1lvdSBjYW5ub3QgY3JlYXRlIGEgcmVzZXJ2YXRpb24gZm9yIGRhdGVzIGluIHRoZSBwYXN0JzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IHRoaXMgZGF0YSc7CiRsYW5nWydlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ0EgcmVzZXJ2YXRpb24gY29uZmxpY3QgaGFzIGJlZW4gZGV0ZWN0ZWQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgc3RhdHVzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX3RpbWVwZXJpb2Rfc3RhcnRlZCddID0gJ1RoZSB0aW1lIHBlcmlvZCBzZWxlY3RlZCBoYXMgYWxyZWFkeSBzdGFydGVkLCBwbGVhc2Ugc2VsZWN0IGEgZnV0dXJlIHRpbWUgcGVyaW9kJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ0ZpbGUgVXBsb2FkIEVycm9yJzsKJGxhbmdbJ2V2ZW50c19mb3JfcmVzb3VyY2UnXSA9ICdFdmVudHMgZm9yICVzJzsKJGxhbmdbJ2V2ZW50X3R5cGUnXSA9ICdFdmVudCBUeXBlJzsKJGxhbmdbJ2V2ZW50X3R5cGVzJ10gPSAnRXZlbnQgVHlwZXMnOwokbGFuZ1snZXhwaXJlZCddID0gJ0V4cGlyZWQnOwokbGFuZ1snZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cyddID0gJ0V4dGVuZGVkIFVzZSBEaXNjb3VudHMnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyIFNldHRpbmdzJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0ZpZWxkcyc7CiRsYW5nWydmaWxlJ10gPSAnRmlsZSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxlIEhhbmRsaW5nIENvbmZpZyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3InXSA9ICdGb3InOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ0ZvcmVncm91bmQgQ29sb3InOwokbGFuZ1snZnJpZGF5J10gPSAnRnJpZGF5JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0F2YWlsYWJpbGl0eSBNYW5hZ2VyJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcm9tJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ1VwY29taW5nJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnR2VuZXJhbCBDb25maWd1cmF0aW9uJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvdXAnOwokbGFuZ1snZ3Vlc3QnXSA9ICdHdWVzdCc7CiRsYW5nWydoYWxmX2RheSddID0gJ0hhbGYgRGF5JzsKJGxhbmdbJ2hhbGZfaG91ciddID0gJ0hhbGYgSG91cic7CiRsYW5nWydob3VybHknXSA9ICdIb3VybHknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb21wbGV0ZSBvbmxpbmUgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBzeXN0ZW0gZm9yIGhvdGVscywgY2FyIHJlbnRhbCBhZ2VuY2llcywgb3IgYW55IG90aGVyIHB1cnBvc2Ugd2hlcmUgcGFydGljdWxhciAmcXVvdDtyZXNvdXJjZXMmcXVvdDsgY2FuIGJlIHJlc2VydmVkIG9uIGEgZGFpbHkgYmFzaXMuPC9wPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIGZyb250ZW5kIHVzZXJzIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIHJlc2VydmF0aW9ucywgYW5kIHRvIGNvbnRhY3QgYWRtaW5pc3RyYXRvcnMgd2l0aCBpbmZvcm1hdGlvbiBhbmQgcXVlc3Rpb25zIGFib3V0IHJlc2VydmF0aW9ucy48L3A+DQo8cD5BIGNvbXBsZXRlIGFkbWluIGludGVyZmFjZSBhbGxvd3MgYXV0aG9yaXplZCBhZG1pbmlzdHJhdG9ycyB0byBtYW5hZ2UgcmVzb3VyY2VzLCBldmVudHMsIHJlc2VydmF0aW9ucywgYW5kIGFsbCBhc3BlY3RzIG9mIHRoZSBkaXNwbGF5YWJsZSBpdGVtcy48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLg0KICA8dWw+DQogIDxsaT5BIGJhc2UgZGFpbHkgcHJpY2UgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggcmVzb3VyY2UuPC9saT4NCiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPg0KICA8L3VsPg0KPGxpPg0KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+DQo8bGk+QWxsb3dzIGNyZWF0aW5nIGV2ZW50IHR5cGVzIGFuZCBhc3NvY2lhdGluZyB0aGVtIHdpdGggY29sb3JzLjwvbGk+DQo8bGk+U3VwcG9ydHMgY3JlYXRpbmcgZXZlbnRzIGZvciBwYXJ0aWN1bGFyIHJlc291cmNlcyBvdmVyIHBhcnRpY3VsYXIgZGF5czoNCiAgPHVsPg0KICA8bGk+RXZlbnRzIGNhbiBiZSBib29rYWJsZSBvciBub24gYm9va2FibGUsIHRvIGJsb2NrIHJlc2VydmF0aW9ucyBmb3IgdGhvc2UgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPGxpPmJvb2thYmxlIGV2ZW50cyBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHByaWNlIG9mIHRoZSBzZWxlY3RlZCByZXNvdXJjZXMgb24gdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDwvdWw+DQo8L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBwcmljZSBjYWxjdWxhdGlvbiBmb3IgcmVzZXJ2YXRpb25zLjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGRvIGFmdGVyIGluc3RhbGxuZyB0aGUgbW9kdWxlIGlzIHRvIGNyZWF0ZSBzb21lIHJvb20gYXR0cmlidXRlcywgYW5kIGV2ZW50IHR5cGVzLiAgIFlvdSBzaG91bGQgYWxzbyBjaGVjayB0aGUgcHJlZmVyZW5jZXMgdG8gZW5zdXJlIHRoYXQgdGhleSBzZWVtIHRvIGJlIHNldCBjb3JyZWN0bHkuICBZb3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGNoYW5naW5nIHRoZSByZXNvdXJjZSB0eXBlIGluIHRoZSBwcmVmZXJlbmNlIGZyb20gcm9vbSB0byBzb21lIG90aGVyIHJlc291cmNlIHRoYXQgeW91IGFyZSBtYW5hZ2luZy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIHZhcmlvdXMgbGFiZWxzIGluIHRoZSBhZG1pbiBzZWN0aW9uIGFuZCBpbiB0aGUgZnJvbnRlbmQgZGlzcGxheS48L3A+DQo8L3A+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHJlc291cmNlcyBhbmQgZmlsbCB0aGVtIGluIHdpdGggYXMgbXVjaCBkZXRhaWwgYXMgcG9zc2libGUuICBZb3UgbWF5IGFsc28gd2FudCB0byBjcmVhdGUgc29tZSBldmVudHMsIG9yIHRvIG1hcmsgb2ZmIGRhdGVzIHdoZW4gcGFydGljdWxhciByZXNvdXJjZXMgYXJlIHVuYXZhaWxhYmxlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgY2FsZW5kYXIgdmlldywgeW91IGNhbiBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5IGFjdGlvbj1jYWxlbmRhcn0gdG8gYSBjb250ZW50IHBhZ2UuICBUaGlzIHdpbGwgcHJvdmlkZSBhIHN1ZmZpY2llbnQgc3lzdGVtIGZvciBhbGxvd2luZyB2aXNpdG9ycyB0byBjcmVhdGUgcmVzZXJ2YXRpb25zLCBldGMuPC9wPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9hY3Rpb24nXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgZGVzaXJlZCBmb3JtIG9yIHJlcG9ydCB0byBkaXNwbGF5LiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPg0KPHVsPg0KPGxpPmFkZHJlc3ZuIC0gVGhlIGFkZC9lZGl0IHJlc2VydmF0aW9uIGZvcm08YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGZvcm0gYWxsb3dzIGEgdmFsaWQsIGxvZ2dlZCBpbiBmcm9udGVuZCB1c2VyIHRvIGNyZWF0ZSBhIHJlc2VydmF0aW9uIGluIHRoZSBzeXN0ZW0uPC9saT4NCjxsaT5jYWxlbmRhciAtIFRoZSBjYWxlbmRhciB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyB2aWV3IGRpc3BsYXlzIHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzIGZvciB0aGUgY3VycmVudCBtb250aC4gIEl0IGFsbG93cyBwYWdpbmF0aW5nIGJldHdlZW4gZGlmZmVyZW50IG1vbnRocywgdmlld2luZyBhIHJlc291cmNlIGRldGFpbCB2aWV3LCBhbmQgc3VwcGxpZXMgYSBsaW5rIHRoYXQgd2lsbCBicmluZyB1cCB0aGUgYWRkcmVzdm4gZm9ybSBmb3IgdGhlIHNlbGVjdGVkIGRhdGUgYW5kIHJlc291cmNlLjwvbGk+DQo8bGk+ZGVmYXVsdCAgLSBUaGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzdW1tYXJ5IHJlcG9ydCBvZiBzZWxlY3RlZCByZXNvdXJjZXMuPC9saT4NCjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UuPC9saT4NCjxsaT5teXJlc2VydmF0aW9uIC0gVGhlIG15cmVzZXJ2YXRpb25zIHJlcG9ydC48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4NCjxsaT5zZWFyY2ggLSBUaGUgc2VhcmNoIGZvcm0uPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBzZWFyY2hpbmcgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0byBzcGVjaWZpZWQgZGF0ZXMuPC9saT4NCjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIGZyb250ZW5kIHVzZXJzIHRvIHNlbmQgYW4gZW1haWwgbWVzc2FnZSB0byBzaXRlIGFkbWluaXN0cmF0b3JzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSBzcGVjaWZpYyByZXNlcnZhdGlvbi48L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGNhbGVuZGFyIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIHRvIHVzZSBmb3Igc2VsZWN0aW5nIHRoZSBkYXRhIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSByZXNvdXJjZXMgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX2NvbmZpcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc2VydmF0aW9uIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBhIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uIG9ubGluZSc7CiRsYW5nWydoZWxwX2RheXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGF5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGF5IHZpZXcgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9kYXknXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0gdG8gc3BlY2lmeSBhIGRlZmF1bHQgZGF5JzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZWZhdWx0IChzdW1tYXJ5KSwgYW5kIG15cmVzZXJ2YXRpb25zIHZpZXdzLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCBwYWdlIGZvciB2aWV3aW5nIGVpdGhlciB0aGUgcmVzb3VyY2UgZGV0YWlsLCB0aGUgcmVzZXJ2YXRpb24gZm9ybXMsIG9yIHRoZSBzZW5kLWVtYWlsIGZvcm0uICBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIHByZWZlcmVuY2UgZnJvbSB0aGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSB3aWxsIGJlIHVzZWQuICBJZiB0aGF0IGlzIG5vdCBzZXQsIHRoZW4gdGhlIGN1cnJlbnQgcGFnZSB3aWxsIGJlIHVzZWQuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciwgZGV0YWlsLCBkZWZhdWx0IChzdW1tYXJ5KSBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgdG8gdXNlIGZvciBhbnkgZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgaGF2ZSBubyBlZmZlY3QgaWYgcHJldHR5IHVybHMgYXJlIGNvbmZpZ3VyZWQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBteXJlc2VydmF0aW9uLCBhbmQgYWRkcmVzdm4gYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZW1haWxzIGFyZSBzZW50Lic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lIChyZXBsYWNlIHRoZSBvcmlnaW5hbCB0YWcpLCBvciBzaG91bGQgcmVwbGFjZSB0aGUgY29udGVudCBhcmVhIG9mIHRoZSBwYWdlLiAgIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3QgaWYgdGhlIHN1bW1hcnlwYWdlIHBhcmFtZXRlciBpcyBhbHNvIHNwZWNpZmllZCc7CiRsYW5nWydoZWxwX21vbnRoJ10gPSAnVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgbW9udGgnOwokbGFuZ1snaGVscF9teXJlc3ZudGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb24gdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgdGhhdCB2aWV3JzsKJGxhbmdbJ2hlbHBfcGFnZWxpbWl0J10gPSAnSW4gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyB0byBkaXNwbGF5IG9uIGVhY2ggcGFnZSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0luIHRoZSBjYWxlbmRhciB2aWV3IHRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBvZiByZXNvdXJjZSBuYW1lcyB0byBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyJzsKJGxhbmdbJ2hlbHBfcmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuLCBjYWxlbmRhciwgYW5kIG15cmVzZXJ2YXRpb25zIGFjdGlvbnMsICB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbic7CiRsYW5nWydoZWxwX3Jlc3ZfaWQnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgaWQgb2YgYW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24gdG8gZWRpdC4gIFlvdSB3aWxsIHByb2JhYmx5IG5vdCBuZWVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciBkaXJlY3RseSc7CiRsYW5nWydoZWxwX3JzcmNpZCddID0gJ1RoaXMgcGFyYW1ldGVyIGlzIGFjY2VwdGVkIGJ5IHRoZSBkZXRhaWwgdGVtcGxhdGUgdG8gZGlzcGxheSBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZSc7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS4nOwokbGFuZ1snaGVscF9zZW5kZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGUgc2VuZGVtYWlsIGZvcm0uICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQnOwokbGFuZ1snaGVscF9zaG93YWxsJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZGlzcGxheWluZyBhbGwgcmVzZXJ2YXRpb25zLCBpbmNsdWRpbmcgcGFzdCByZXNlcnZhdGlvbnMuJzsKJGxhbmdbJ2hlbHBfc29ydGJ5J10gPSAnIA0KQXBwbGljYWJsZSB0byB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyBhbmQgdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIGRpc3BsYXllZCBpdGVtcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4NClJlc291cmNlIHN1bW1hcnkgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+bmFtZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQo8L3VsPg0KbXllc2VydmF0aW9ucyB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5zdGFydF9kYXRlPC9saT4NCiAgPGxpPmVuZF9kYXRlPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCiAgPGxpPmNyZWF0ZV9kYXRlPC9saT4NCiAgPGxpPm1vZGlmaWVkX2RhdGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3NvcnRvcmRlciddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldyBhbmQgdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBzZWxlY3RlZCBkYXRhLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPjx1bD48bGk+YXNjIC0gYXNjZW5kaW5nPC9saT48bGk+ZGVzYyAtIGRlc2NlbmRpbmc8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaWQgb3IgYWxpYXMgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcmVzdWx0aW5nIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgb24uICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGlubGluZSBpcyBzZXQgdG8gZmFsc2UuJzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX3llYXInXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCB5ZWFyJzsKJGxhbmdbJ2hpc3RvcmljYWxfY29tcGFyaXNvbiddID0gJ0hpc3RvcmljYWwgQ29tcGFyaXNvbic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnSW1hZ2UgSGFuZGxpbmcgQ29uZmlnJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ0Rpc3BsYXkgYSBmb3JtIGZyb20gdGhlIHVzZXIgbWFuYWdlbWVudCBpbnRlcmZhY2UgdG8gYWxsb3cgYWRkaW5nIGEgbmV3IHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ1VzZWQgZm9yIGJvb2tpbmcgcmVzb3VyY2VzIHdpdGggbm8gcHJpY2VzIGF0dGFjaGVkJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY2FsZW5kYXIgdGVtcGxhdGVzIGZvciB1c2UgaW4gdGhlIGZyb250ZW5kIGNhbGVuZGFyIHZpZXcuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBlbWFpbCB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgdXNlciB3aGVuIHVzaW5nIHRoaXMgdGVtcGxhdGUuICBZb3UgY2FuIHVzZSBhbnkgYW5kIGFsbCBzbWFydHkgbG9naWMgYW5kIHRhZ3MgaW4gdGhpcyB0ZW1wbGF0ZS4gIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBzcGVjaWFsIHRvIHRoaXMgdGVtcGxhdGU6IHskc3ViamVjdH0gLSBUaGUgc3ViamVjdCBvZiB0aGUgZW1haWwsIHskYm9keX0gLSBUaGUgYm9keSBvZiB0aGUgZW1haWwnOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGN1c3RvbWVyIGVtYWlsIHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gc2VuZGluZyBtZXNzYWdlcyB0byBjdXN0b21lcnMgd2hvIGhhdmUgYm9va2VkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcHJvcGVydGllcyBzaG91bGQgYmUgbGlzdGVkIGluIHVzZXIgbGlzdHMuPGJyLz5Vc2UgeyRwcm9wZXJ0eW5hbWV9IHRvIGlkZW50aWZ5IGEgc2luZ2xlIHByb3BlcnR5Ljxici8+UmVmZXIgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGZvciB0aGUgbGlzdCBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZ3JvdXAuPGJyLz5Zb3UgY2FuIGFsc28gdXNlIHRoZSB7JHVzZXJuYW1lfSB0YWcgdG8gaW5kaWNhdGUgdGhlIHVzZXJzIGxvZ2luIG5hbWUuJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkYXkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZGF5IHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBjbGlja2luZyBvbiBhbiBpbmRpdmlkdWFsIGRheSBmcm9tIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGRpc3BsYXknOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnVGhlIGhpZ2hlc3QgYW1vdW50IGNhbGN1bGF0ZWQgd2lsbCBiZSB1c2VkIGFzIHRoZSBtaW5pbXVtIGRlcG9zaXQgZm9yIGVhY2ggcmVzZXJ2YXRpb24uICBEZXBvc2l0IGFtb3VudHMgd2lsbCBuZXZlciBleGNlZWQgdGhlIHRvdGFsIHJlc2VydmF0aW9uIGFtb3VudCc7CiRsYW5nWydpbmZvX2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0Egc21hcnR5IHRlbXBsYXRlIHVzZWQgdG8gYnVpbGQgdGhlIGxpbmUgaXRlbSBkZXNjcmlwdGlvbiB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgY2FydCBhbmQgb24gaW52b2ljZXMuICAgUG9zc2libGUgdmFyaWFibGVzIGFyZSB7JHJlc3ZuX29ian0gPGVtPih0aGUgZW50aXJlIHJlc2VydmF0aW9uIG9iamVjdCk8L2VtPiwgeyRkZXBvc2l0X2Ftb3VudH0gb3IgYW55IG90aGVyIGV4aXN0aW5nIHNtYXJ0eSB2YXJpYWJsZSBvciBwbHVnaW4uJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBkZXRhaWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBkZXRhaWwgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGV0YWlsIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnU2F2ZSAlcyBhZnRlciBwdXJjaGFzaW5nICVzIHBlcmlvZHMgYXQgdGhlIHJlZ3VsYXIgcHJpY2UuJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfYWxsYWRqdXN0J10gPSAnU2F2ZSAlcyBvZmYgb2YgZWFjaCBwZXJpb2Qgd2l0aCBhIHJlc2VydmF0aW9uIGZvciAlcyBwZXJpb2RzJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnUmVjZWl2ZSBvbmUgZnJlZSBwZXJpb2QgYWZ0ZXIgcHVyY2hhc2luZyAlcyc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dCBmb3IgdGhlIE15UmVzZXJ2YXRpb25zIHJlcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBteXJlc2VydmF0aW9ucyB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gYWN0aW9uPW15cmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2luZm9fb3ZlcmNhcF9hbW91bnQnXSA9ICdEYWlseSBhbW91bnQgdG8gYWRkIChwZXIgdW5pdCkgdG8gcmVzZXJ2YXRpb24gcHJpY2UsIGZvciBlYWNoIHVuaXQgb3ZlciB0aGUgc3RhdGVkIGNhcGFjaXR5IChhcHBsaWNhYmxlIG9ubHkgaWYgdGhlIGNhcGFjaXR5IGlzIGEgdmFsaWQgdmFsdWUpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgaWYgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFjY2VzcyB0aGUgcmVzZXJ2YXRpb25zIGZvcm0gaWYgbm90IGxvZ2dlZCBpbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU3BlY2lmeSB0aGUgbGlzdCBvZiB1c2VycyAob3IgZ3JvdXBzKSB0byByZWNlaXZlIGEgY29weSBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsLiAgVGhlIGVtYWlsIGFkZHJlc3MgcHJvcGVydHkgZm9yIGVhY2ggc2VsZWN0ZWQgdXNlciBtdXN0IGJlIHZhbGlkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJ10gPSAnSWYgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQsIHRoZSB1c2VyIHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgcmVzZXJ2YXRpb24gY29uZmlybSBwYWdlIHdpdGhvdXQgYSBtZXNzYWdlIGJlaW5nIGRpc3BsYXllZCc7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBhZnRlciBhIHZpc2l0b3IgaGFzIGNyZWF0ZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGVkaXQgcmVzZXJ2YXRpb24gdXJscywgYW5kIHNlbmQgbWVzc2FnZSB1cmxzJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fc2t1X3ByZWZpeCddID0gJ0lmIHN1cHBsaWVkLCB0aGUgdmFsdWUgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHJlc2VydmF0aW9uIGlkLCBhbmQgc3VwcGxpZWQgdG8gdGhlIGNhcnQgYXMgYSBTS1UnOwokbGFuZ1snaW5mb19yZXNvdXJjZXNfZmlsdGVyJ10gPSAnPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBXaGVuIGFsbCByZXNvdXJjZXMgY2FuIGZpdCBvbiBvbmUgcGFnZSBhbmQgbm8gb3RoZXIgZmlsdGVyaW5nIGlzIGFwcGxpZWQsIGl0IGlzIHBvc3NpYmxlIHRvIGFkanVzdCB0aGVpciBkZWZhdWx0IHNvcnQgb3JkZXJpbmcnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2FkbWluX3N0YXJ0eWVhciddID0gJ1RoaXMgdmFyaWFibGUgc3BlY2lmaWVzIHdoYXQgeWVhciB0aGUgZHJvcGRvd24gbGlzdHMgc2hvdWxkIHN0YXJ0IGF0IHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbiBmcm9tIHRoZSBhZG1pbiBpbnRlcmZhY2UuICBOb3RlIHRoaXMgYWxsb3dzIGFkZGluZyBhbmQgZWRpdGluZyByZXNlcnZhdGlvbnMgZm9yIGxvbmcgcGFzdCBkYXRlcy4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gZm9ybS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwgbWVzc2FnZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gcmVwb3J0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiBlbWFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBlbWFpbCBtZXNzYWdlIHRoYXQgaXMgc2VudCB0byB0aGUgY3VzdG9tZXIgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBtZXNzYWdlIGFuZCBkYXRhIHRoYXQgaXMgZGlzcGxheWVkIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgb3IgZWRpdHMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBjb250cm9scyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VuZGVtYWlsIGZvcm0sIHVzZWQgd2hlbiBhIHNpdGUgdmlzaXRvciB3YW50cyB0byBzZW5kIGEgbWVzc2FnZSB0byBidXNpbmVzcyBvd25lcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBzZW5kZW1haWwgZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIHNlbmRpbmcgYW4gZW1haWwgcmVsYXRlZCB0byBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnVXNlIHRoaXMgZm9ybSB0byBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24gb3IgdG8gYXNrIGFueSBxdWVzdGlvbnMgcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gc3VtbWFyeSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2Ugc3VtbWFyeSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHN1bW1hcnkgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzIDxlbT4odGhpcyBpcyB0aGUgZGVmYXVsdCB2aWV3KTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEFkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IENhbGVuZGFyIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBEYXkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzb3VyY2UgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9teXJlc3ZfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCAmcXVvdDtNeSBSZXNlcnZhdGlvbnMmcXVvdDsgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFNlbmQgRW1haWwgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3RlbXBsYXRlJ10gPSAnQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnkgb3V0cHV0LiAgVGhpcyBmb3JtIGNvbnRyb2xzIHRoZSB2YWx1ZSBvZiB0aGUgdGVtcGxhdGUgdGhhdCBpcyBjcmVhdGVkIHdoZW4geW91IGNsaWNrICZxdW90O05ldyBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLic7CiRsYW5nWydpbmZvX3ZpZXdfdXNlciddID0gJ0Rpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ2luaXRpYWxfcmVzZXJ2YXRpb25fbm90ZXMnXSA9ICdJbml0aWFsIFJlc2VydmF0aW9uIE5vdGVzJzsKJGxhbmdbJ2luX2NhcnQnXSA9ICdJbiBDaGVja291dCBQcm9jZXNzJzsKJGxhbmdbJ2luX3Byb2dyZXNzJ10gPSAnSW4gUHJvZ3Jlc3MnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdLZXl3b3Jkcyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2VuZCc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnQmFjayc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdDYWxlbmRhcic7CiRsYW5nWydsYmxfY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnXSA9ICdDYWxlbmRhciBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snbGJsX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcyddID0gJ0N1c3RvbWVyIEVtYWlsIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY3VzdG9tX2ZpZWxkcyddID0gJ0N1c3RvbSBGaWVsZHMnOwokbGFuZ1snbGJsX2RheV92aWV3X3RlbXBsYXRlcyddID0gJ0RheSBWaWV3IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsX3RlbXBsYXRlcyddID0gJ0RldGFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0V2ZW50cyc7CiRsYW5nWydsYmxfZXZlbnRfdHlwZXMnXSA9ICdFdmVudCBUeXBlcyc7CiRsYW5nWydsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJ10gPSAnTXkgUmVzZXJ2YXRpb25zIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfcHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcyddID0gJ1Jlc2VydmF0aW9uIENvbmZpcm0gRW1haWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX3RlbXBsYXRlcyddID0gJ1Jlc2VydmF0aW9uIENvbmZpcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9mb3JtX3RlbXBsYXRlcyddID0gJ1Jlc2VydmF0aW9uIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9yZXNvdXJjZXMnXSA9ICdSZXNvdXJjZXMnOwokbGFuZ1snbGJsX3NlbmRlbWFpbF90ZW1wbGF0ZXMnXSA9ICdTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ01hbmFnZSBTZXR0aW5ncyc7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnTWFuYWdlIFRlbXBsYXRlcyc7CiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ01hbmFnZSBDdXN0b21lciBDb250YWN0IGZvciByZXNlcnZhdGlvbic7CiRsYW5nWydtYW5hZ2VyJ10gPSAnTWFuYWdlcic7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTWF4IExlbmd0aCc7CiRsYW5nWydtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWydtZXNzYWdlX3RleHQnXSA9ICdNZXNzYWdlIEJvZHknOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW11bSBEZXBvc2l0IFJlcXVpcmVkJzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICdNb2RpZmllZCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdBIHJlc291cmNlIGFuZCBhdmFpbGFiaWxpdHkgbWFuYWdlciBmb3Igc2NoZWR1bGluZyBhbmQgcmVzZXJ2aW5nIHJlc291cmNlcyBvbiBhIGRhaWx5IGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ0x1bmVkJmlncmF2ZTsnOwokbGFuZ1snbW9udGgnXSA9ICdNZXNlJzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0dlbi9GZWIvTWFyL0Fwci9NYWcvR2l1L0x1Zy9BZ28vU2V0L090dC9Ob3YvRGljJzsKJGxhbmdbJ21vcmUnXSA9ICdQaSZ1Z3JhdmU7JzsKJGxhbmdbJ21vdmVfZG93biddID0gJ01vdmUgRG93bic7CiRsYW5nWydtb3ZlX3VwJ10gPSAnTW92ZSBVcCc7CiRsYW5nWyduYW1lJ10gPSAnTm9tZSc7CiRsYW5nWyduZXh0J10gPSAnUHJvc3NpbW8nOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnQ2xvc2VkIEJsb2Nrcyc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydub3RlcyddID0gJ05vdGUnOwokbGFuZ1snbm90X2FwcGxpY2FibGUnXSA9ICdOL0EnOwokbGFuZ1snbm90X2NhbGN1bGF0ZWQnXSA9ICdOb3QgY2FsY3VsYXRlZCc7CiRsYW5nWydudW1fcGVvcGxlJ10gPSAnTnVtYmVyIG9mIFBlb3BsZSc7CiRsYW5nWydvY2N1cnMnXSA9ICdPY2N1cnMnOwokbGFuZ1snb2YnXSA9ICdkaSc7CiRsYW5nWydvbiddID0gJ09uJzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnT25lIEhvdXInOwokbGFuZ1snb3B0aW9ucyddID0gJ09wemlvbmknOwokbGFuZ1snb3JkZXInXSA9ICdPcmRpbmEnOwokbGFuZ1snb3ZlcmNhcF9hbW91bnQnXSA9ICdPdmVyY2FwYWNpdHkgUHJpY2UgQWRqdXN0bWVudCc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTnVtYmVyIG9mIEl0ZW1zIHBlciBQYWdlJzsKJGxhbmdbJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdQYWdlIHRvIHJlZGlyZWN0IHRvIHdoZW4gbm90IGxvZ2dlZCBpbic7CiRsYW5nWydwYXJ0MSddID0gJ1BhcnRlIDEnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkJ10gPSAnUGFydGlhbGx5IFJlc2VydmVkJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBvZiAlcyBzbG90cyByZXNlcnZlZCc7CiRsYW5nWydwYXN0X21lc3NhZ2VzJ10gPSAnUGFzdCBNZXNzYWdlcyc7CiRsYW5nWydwZW5kaW5nJ10gPSAnUGVuZGluZyc7CiRsYW5nWydwZXJjZW50YWdlX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbWltdW0gUGVyY2VudGFnZSBvZiB0b3RhbCBvcmRlciByZXF1aXJlZCBmb3IgYSBkZXBvc2l0IDxlbT4oZXhwcmVzc2VkIGluIGRlY2ltYWwgZm9ybWF0KTwvZW0+JzsKJGxhbmdbJ3BlcmNlbnRfYm9va2VkJ10gPSAnUGVyY2VudGFnZSBCb29rZWQnOwokbGFuZ1snUE0nXSA9ICdQTSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiAgUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBhcHByb3ByaWF0ZSBncm91cHMgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgdG8gbWFuYWdlIHRoZSB2YXJpb3VzIGFzcGVjdHMgb2YgdGhpcyBtb2R1bGUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlLCBhbmQgYWxsIHJlbGF0ZWQgZGF0YSBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN5c3RlbS4gIFlvdSBhcmUgbm93IGZyZWUgdG8gZGVsZXRlIHRoZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJldiddID0gJ1ByZWMnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJlenpvJzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByZXp6aSc7CiRsYW5nWydwcmljZV9hZGp1c3QnXSA9ICdBZGp1c3QgdGhlIFByaWNlIG9mIGVmZmVjdGVkICVzIGJ5IHRoaXMgYW1vdW50Ljxici8+PGVtPih1c2UgYSBmb3JtYXQgbGlrZSAqMC44NSBvciAtMTMgb3IgKzI1KTwvZW0+JzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwdWJsaWMnXSA9ICdQdWJsaWMnOwokbGFuZ1sncXVhcnRlcl9ob3VyJ10gPSAnUXVhcnRlciBIb3VyJzsKJGxhbmdbJ3Jlc2VydmVkJ10gPSAnUmVzZXJ2ZWQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdQcmVub3RhemlvbmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fYWRtaW5fc3RhcnR5ZWFyJ10gPSAnU3RhcnQgeWVhciBmb3IgcmVzZXJ2YXRpb25zIGluIHRoZSBhZG1pbiBwYW5lbCc7CiRsYW5nWydyZXNlcnZhdGlvbl9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmxpY3QgQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9kZXBvc2l0X3NldHRpbmdzJ10gPSAnUmVzZXJ2YXRpb24gRGVwb3NpdCBTZXR0aW5ncyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2JhY2tncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlnJ10gPSAnUmVzZXJ2YXRpb24gU2V0dGluZ3MnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50J10gPSAnRmlsZSB0byBhdHRhY2ggdG8gYWxsIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDIHRoZXNlIHVzZXJzIG9uIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTZW5kIGFuIGVtYWlsIHRvIHRoZSBjdXN0b21lciB3aGVuIGEgcmVzZXJ2YXRpb24gaXMgY3JlYXRlZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdTdWJqZWN0IG9mIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9tc2cnXSA9ICdEaXNwbGF5IHRoZSBSZXNlcnZhdGlvbiBDb25maXJtIE1lc3NhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBQYWdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnWW91ciBzZWxlY3RlZCAlcyBhcmUgbm90IGFsbCBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jcmVhdGVkJ10gPSAnUHJlbm90YXppb25lIGNyZWF0YSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBEZWZhdWx0IFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ0RldHRhZ2xpbyBQcmVub3RhemlvbmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIENvbmZsaWN0IEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25faWQnXSA9ICdSZXNlcnZhdGlvbiBJZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9tYW5hZ2VyJ10gPSAnUmVzZXJ2YXRpb24gTWFuYWdlcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2ZvcmVncm91bmRfY29sb3InXSA9ICdQYXJ0aWFsIEJvb2tpbmcgRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2JhY2tncm91bmRfY29sb3InXSA9ICdQYXJ0aWFsIEJvb2tpbmcgQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1Jlc2VydmF0aW9uIENvbXBvbmVudHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZhdGlvbiBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX251bSddID0gJ1ByZW5vdGF6aW9uZTogJTA1ZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9za3VfcHJlZml4J10gPSAnUmVzZXJ2YXRpb24gU0tVIFByZWZpeCc7CiRsYW5nWydyZXNldCddID0gJ0F6emVyYSc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jpc29yc2EnOwokbGFuZ1sncmVzb3VyY2VzJ10gPSAnUmlzb3JzZSc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXNlcnZlZCBvbiBhbiAlcyBiYXNpcywgb24gJXMgYm91bmRhcmllcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzInXSA9ICdSZXNlcnZlZCBvbiBhbiAlcyBiYXNpcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdhdmFpbGFibGUgZnJvbSAlcyB0byAlcyBhbmQgZnJvbSAlcyB0byAlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzQnXSA9ICdjaGVja2luIHRpbWUgaXMgJXMsIGFuZCBjaGVja291dCB0aW1lIGlzICVzJzsKJGxhbmdbJ3Jlc291cmNlX3R5cGUnXSA9ICdUaXBvIGRpIFJpc29yc2EnOwokbGFuZ1sncm9vbSddID0gJ1N0YW56YSc7CiRsYW5nWydyb29tcyddID0gJ1N0YW56ZSc7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdJcyBhIGRlcG9zaXQgcmVxdWlyZWQ/JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU2FiYXRvJzsKJGxhbmdbJ3NjaGVkdWxpbmcnXSA9ICdTY2hlZHVsaW5nJzsKJGxhbmdbJ3NjaGVkdWxpbmdfaW50ZXJ2YWwnXSA9ICdUaGlzIHJlc291cmNlIGlzIGJvb2tlZCc7CiRsYW5nWydzZWFyY2gnXSA9ICdSaWNlcmNhJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlemlvbmEgdW5hJzsKJGxhbmdbJ3NlbmQnXSA9ICdTcGVkaXJlJzsKJGxhbmdbJ3NlbmRfY3VzdG9tZXJfbWFpbCddID0gJ1NlbmQgdGhlIGN1c3RvbWVyIGEgbm90aWNlIG9mIHRoaXMgY2hhbmdlIHZpYSBlbWFpbD8nOwokbGFuZ1snc2VuZF9lbWFpbCddID0gJ1NwZWRpcmUgdW4gRW1haWwnOwokbGFuZ1snc2VudCddID0gJ1NwZWRpdG8nOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ0RhdGEgcGFydGVuemEnOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGltZSAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpbWUgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGljYSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0byc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnVGhlICVzIHlvdSBzZWxlY3RlZCBhcmUgYXZhaWxhYmxlIGZvciB0aGVzZSBkYXRlcyc7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnUmU6IFByZW5vdGF6aW9uZSAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnT2dnZXR0byc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbnZpYSc7CiRsYW5nWydzdW5kYXknXSA9ICdEb21lbmljYSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBGaWVsZCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ1RodXJzZGF5JzsKJGxhbmdbJ3RpdGxlX2NvbmZsaWN0J10gPSAnQ29uZmxpY3QgRXhpc3RzfEEgY29uZmxpY3QgZXhpc3RzIGJldHdlZW4gcmVzZXJ2YXRpb25zICUwNGQgYW5kICUwNGQuPGJyLz48YnIvPk1vcmUgY29uZmxpY3RzIG1heSBleGlzdHMgZm9yIHRoaXMgYmxvY2suJzsKJGxhbmdbJ3RpdGxlX2dyYXBoaW5nJ10gPSAnVmlldyBncmFwaHMgYW5kIHJlcG9ydHMgb2YgaGlzdG9yaWNhbCBkYXRhJzsKJGxhbmdbJ3RvJ10gPSAnQSc7CiRsYW5nWyd0b3RhbF9ibG9ja3MnXSA9ICdUb3RhbCBCbG9ja3MnOwokbGFuZ1sndHVlc2RheSddID0gJ1R1ZXNkYXknOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0FwcGx5IHRoZSBGb2xsb3dpbmcgRGF0ZXMnOwokbGFuZ1sndmFjYW50J10gPSAnVmFjYW50JzsKJGxhbmdbJ3ZpZXcnXSA9ICdWaXN1YWxpenphemlvbmUnOwokbGFuZ1sndmlld19kYXknXSA9ICdWaWV3IGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZGF5JzsKJGxhbmdbJ3ZpZXdfdXNlciddID0gJ1ZpZXcgR3Vlc3QgRGV0YWlscyc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1ZpZXcgZGV0YWlscyBmb3IgdGhpcyAlcyc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdNZXJjb2xlZCZpZ3JhdmU7JzsKJGxhbmdbJ3dlZWtkYXlfcHJpY2VfYWRqdXN0bWVudHMnXSA9ICdXZWVrZGF5IFByaWNlIEFkanVzdG1lbnRzJzsKJGxhbmdbJ3llYXJfMSddID0gJ0Fubm8gMSc7CiRsYW5nWyd5ZWFyXzInXSA9ICdBbm5vIDInOwokbGFuZ1sneWVhcl8zJ10gPSAnQW5ubyAzJzsKJGxhbmdbJ3llcyddID0gJ1MmaWdyYXZlOyc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdWb3N0cm8gbm9tZSc7CiRsYW5nWydxY2EnXSA9ICdQMC0zNDE0MjU4NTQtMTI3MTI1ODQ4OTI3OSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3ODU3MTY5NzIuMTI3MTI1ODgyNy4xMjcyNDY0NDk4LjEyNzI0ODQ1OTIuNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzI0ODQ1OTIuNy42LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI3MjQ4NDU5Mic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0xlZ2cgdGlsIGJlZ2l2ZW5oZXRzdHlwZSc7CiRsYW5nWydhY3Rpb25fZWRpdF9ldmVudF90eXBlJ10gPSAnUmVkaWdlciBiZWdpdmVuaGV0c3R5cGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWt0aXYnOwokbGFuZ1snYWRkJ10gPSAnTGVnZyB0aWwnOwokbGFuZ1snYWRkX25vdGVzJ10gPSAnT3BwZ2kgaW5mb3JtYXNqb24gcmVsYXRlcnQgdGlsIGRlbm5lIHJlc2VydmFzam9uZW4nOwokbGFuZ1snYWRkZWRpdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgZW4gQXZhbnNlcnQgcyZvc2xhc2g7a2Ugc2tqZW1hbWFsJzsKJGxhbmdbJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGthbGVuZGVyIHZpc25pbmdzbWFsJzsKJGxhbmdbJ2FkZGVkaXRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiBrdW5kZS1lLXBvc3RtYWwnOwokbGFuZ1snYWRkZWRpdF9kYXlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGRhZyB2aXNuaW5nc21hbCc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgZW4gcmVzc3Vyc2RldGFsaiB2aXNuaW5nc21hbCc7CiRsYW5nWydhZGRlZGl0X215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiBNaW5lUmVzZXJ2YXNqb25lciB2aXNuaW5nc21hbCc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiByZXNlcnZhc2pvbiBza2plbWFtYWwnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiByZXNlcnZhc2pvbiBiZWtyZWZ0ZWxzZSBlLXBvc3RtYWwnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiByZXNlcnZhc2pvbiBiZWtyZWZ0ZWxzZXNtYWwnOwokbGFuZ1snYWRkZWRpdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGVuIFNlbmQgZS1wb3N0IHNramVtYW1hbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGVuIHJlc3N1cnMgc2FtbWVuZHJhZyB2aXNuaW5nc21hbCc7CiRsYW5nWydhZG1pbl9ub3RlcyddID0gJ0FkbWluIE1lcmtuYWRlcic7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0J1bGsgcmFiYXR0anVzdGVyaW5nIG1lZCAlLjJmIGZvciBiZXJldHRpZ2UgZGFnZXInOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0J1bGsgcmFiYXR0anN1dGVyaW5nIG1lZCAgJS4yZiBmb3IgYWxsZSBkYWdlcic7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnQnVsayByYWJhdHQgYmVyZXR0aWdldCBmcmkgZGFnJzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ0p1c3RlcnRlIHByaXMgZm9yIGJlZ2l2ZW5oZXQgJXMgbWVkICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdKdXN0ZXJ0ZSBwcmlzIGZvciAlZCBla3N0cmEgcGVyc29uZXIgbWVkICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdKdXN0ZXJ0ZSBwcmlzIGZvciB1a2VkYWcgJXMgbWVkICVzJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeSddID0gJ0xlZ2cgdGlsIGF0dHJpYnV0dCc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnTGVnZyB0aWwgYnJ1a2VyZGVmaW5lcnQgZmVsdCc7CiRsYW5nWydhZGRfZXZlbnQnXSA9ICdMZWdnIHRpbCBiZWdpdmVuaGV0JzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnTGVnZyB0aWwgYmVnaXZlbmhldHN0eXBlJzsKJGxhbmdbJ2FkZF9yZXNlcnZhdGlvbiddID0gJ0xlZ2cgdGlsIGVuIG55IHJlc2VydmFzam9uJzsKJGxhbmdbJ2FkZF91c2VyX2FjY291bnQnXSA9ICdPcHByZXR0IGJydWtlcmtvbnRvJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGUnOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnVGlsbGF0dGUgZmlsdHlwZXInOwokbGFuZ1snYWxsb3dlZF9pbWFnZV90eXBlcyddID0gJ1RpbGF0dGUgYmlsZGV0eXBlcic7CiRsYW5nWydhbGxvd19ub19wcmljZXMnXSA9ICdGZWlsIHAmYXJpbmc7IGluZ2VuIHByaXMnOwokbGFuZ1snYWxsb3dfb3ZlcmNhcGFjaXR5J10gPSAnVGlsbGF0IHJlc2VlcnZhc2pvbmVyIHNvbSBlciBvdmVyIGthcGFzaXRldGVuJzsKJGxhbmdbJ0FNJ10gPSAnQU0gJzsKJGxhbmdbJ2FueSddID0gJ0FsbGUnOwokbGFuZ1snYXBwbHknXSA9ICdVdGYmb3NsYXNoO3InOwokbGFuZ1snYXNrX2RlbGV0ZV9ldmVudCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgZmplcm5lIGRlbm5lIGJlZ2l2ZW5oZXQgcGVybWFuZW50Pyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpcmtlbGlnIHZpbCBmamVybmUgZGVubmUgcmVzZXJ2YXNqb25lbiBmcmEgZGl0dCBzeXN0ZW0/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzb3VyY2UnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlya2VsaWcgdmlsIGZqZXJuZSBkZW5uZSByZXNzdXJzZW4/JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBhdmluc3RhbGxlcmUgZGVubmUgbW9kdWxlbj8gJkFyaW5nOyBmb3J0c2V0dGUgdmlsIGYmb3NsYXNoO3JlIHRpbCB0YXAgYXYgZGF0YSByZWxhdGVydCB0aWwgZGVubmUgbW9kdWxlbi4nOwokbGFuZ1snYXQnXSA9ICcgQCAnOwokbGFuZ1snYXR0YWNobWVudCddID0gJ1ZlZGxlZ2cnOwokbGFuZ1snYXR0YWNobWVudF9kaXInXSA9ICdLYXRhbG9nIGRldCBza2FsIHMmb3NsYXNoO2tlcyBpIGZvciB2ZWRsZWdnJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dHRlcic7CiRsYW5nWydhdXRvX2dlbmVyYXRlX3RodW1ibmFpbHMnXSA9ICdBdXRvZ2VuZXJlcmUgbWluaWF0eXJiaWxkZXInOwokbGFuZ1snYXZhaWxhYmxlJ10gPSAnVGlsZ2plbmdlbGlnJzsKJGxhbmdbJ2JhY2tncm91bmRfY29sb3InXSA9ICdCYWtncnVubnNmYXJnZSc7CiRsYW5nWydiYXNlX3ByaWNlJ10gPSAnR3J1bm5wcmlzJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdHcnVubmxlZ2dlbmRlIHByaXNpbmcnOwokbGFuZ1snYm9va2FibGUnXSA9ICdLYW4gcm9tIGJlc3RpbGxlcyBtZW5zIGJlZ2l2ZW5oZXRlbiBwJmFyaW5nO2cmYXJpbmc7cj8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCZXN0aWxiYXInOwokbGFuZ1snYm9va2FibGVfZXZlbnRfYmxvY2tzJ10gPSAnQmVzdGlsbGJhcmUgYmVnaXZlbmhldHNibG9ra2VyKGQmb3NsYXNoO2duKSc7CiRsYW5nWydib29rZWRfYmxvY2tzJ10gPSAnQmVzdGlsdGUgYmxva2tlcihkJm9zbGFzaDtnbiknOwokbGFuZ1snY2FiaW4nXSA9ICdIeXR0ZSc7CiRsYW5nWydjYWJpbnMnXSA9ICdIeXR0ZXInOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnS2Fsa3VsZXInOwokbGFuZ1snY2FsY3VsYXRlX3ByaWNlJ10gPSAnS2Fsa3VsZXJ0IHByaXMnOwokbGFuZ1snY2FsY3VsYXRlZF9wcmljZSddID0gJ0thbGt1bGVydCBwcmlzJzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ0F2YWlsYWJpbGl0eSBDYWxlbmRhciBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdBdmJydXR0JzsKJGxhbmdbJ2NhcGFjaXR5J10gPSAnS2FwYXNpdGV0JzsKJGxhbmdbJ2NhciddID0gJ0JpbCc7CiRsYW5nWydjYXJzJ10gPSAnQmlsZXInOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0dGVyJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQXR0cmlidXR0JzsKJGxhbmdbJ2NjX215c2VsZiddID0gJ1NlbmQgZW4gZS1wb3N0IG1lZCBkZW5uZSBtZWxkaW5nZW4gdGlsIG1pbiBlLXBvc3RrYXNzZSc7CiRsYW5nWydjaGVjayddID0gJ01lcmsnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdBdmtyeXNzbmluZ3Nib2tzJzsKJGxhbmdbJ2NoZWNraW4nXSA9ICdJbm5zamVra2luZyc7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdJbm5zamVra2luZ3N0aWQnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdVdHNqZWtraW5nJzsKJGxhbmdbJ2NoZWNrb3V0X3RpbWUnXSA9ICdVdHNqZWtraW5nc3RpZCc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdTamVrayBmb3IgdGlsZ2plbmdlbGlnaGV0JzsKJGxhbmdbJ2Nsb3NlZCddID0gJ1N0ZW5ndCc7CiRsYW5nWydjb2xvciddID0gJ0ZhcmdlJzsKJGxhbmdbJ2NvbmZpcm1lZCddID0gJ0Jla3JlZnRldCc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnVmVubmxpZ3N0IHNlIG92ZXIgaW5mb3JtYXNqb25lbiBpIHNramVtYWV0IG9nIGJla3JlZnQgYXQgZHUgdmlsIGdqZW5ub21mJm9zbGFzaDtyZSBkZW5uZSByZXNlcnZhc2pvbmVuJzsKJGxhbmdbJ2NvbmZsaWN0J10gPSAnS29uZmxpa3QnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdPcHByZXR0ZXQnOwokbGFuZ1snY3JlYXRlX3Jlc2VydmF0aW9uJ10gPSAnT3BwcmV0dCBlbiByZXNlcnZhc2pvbiBmb3IgZGVubmUgbGVkaWdlIHBlcmlvZGVuJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdPcHByZXR0ZXQnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnVmFsdXRhc3ltYm9sJzsKJGxhbmdbJ2N1cnJlbnRfeWVhciddID0gJ0lubmV2JmFlbGlnO3JlbmRlICZhcmluZztyJzsKJGxhbmdbJ2N1c3RvbWVyJ10gPSAnS3VuZGUnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLdW5kZWdydXBwZSc7CiRsYW5nWydjdXN0b21lcl9uYW1lJ10gPSAnS3VuZGVuYXZuJzsKJGxhbmdbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdLdW5kZSB2aXNuaW5nc21hbCc7CiRsYW5nWydkYWlseSddID0gJ0RhZ2xpZyc7CiRsYW5nWydkYXRlJ10gPSAnRGF0byc7CiRsYW5nWydkYXlfcmVwb3J0J10gPSAnRGFnc3JhcHBvcnQnOwokbGFuZ1snZGF5X3JlcG9ydF9yc3JjJ10gPSAnRGFnc3JhcHBvcnQgZm9yICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnRGFnc3Zpc25pbmcnOwokbGFuZ1snZGVmYXVsdF9jYXBhY2l0eSddID0gJ1N0YW5kYXJkIGthcGFzaXRldCA8ZW0+KGZvciBueWUgcmVzc3Vyc2VyKTwvZW0+JzsKJGxhbmdbJ2RlZmF1bHRfZ3JhbnVsYXJpdHknXSA9ICdTdGFuZGFyZCBkZXRhbGpuaXYmYXJpbmc7JzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ1N0YW5kYXJkIHRpZHNpbnRlcm52YWxsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1NsZXR0JzsKJGxhbmdbJ2RlbGV0ZV9jYXRlZ29yeSddID0gJ1NsZXR0IGF0dHJpYnV0dCc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnU2xldHQga3VuZGVmZWx0JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ1NsZXR0IGJlZ2l2ZW5oZXQnOwokbGFuZ1snZGVsZXRlX2V2ZW50X3R5cGUnXSA9ICdTbGV0dCBiZWdpdmVuaGV0c3R5cGUnOwokbGFuZ1snZGVwb3NpdF9hbW91bnQnXSA9ICdEZXBvc2l0dW0gYmVsJm9zbGFzaDtwJzsKJGxhbmdbJ2RlcG9zaXRfYW1vdW50cyddID0gJ0RlcG9zaXR1bSBiZWwmb3NsYXNoO3AnOwokbGFuZ1snZGVwb3NpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUmVzZXJ2YXNqb24gZGVwb3NpdHVtLXNhbW1lbmRyYWcnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdCZXNrcml2ZWxzZSc7CiRsYW5nWydkZmx0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJ0RpbiByZXNlcnZhc2pvbiBoYXIgYmxpdHQgYmVrcmVmdGV0JzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdG1lbnQnXSA9ICdSYWJhdHRqdXN0ZXJpbmcnOwokbGFuZ1snZGlzY291bnRfbWluX2Jsb2NrcyddID0gJ01pbmltdW0gYW50YWxsIGRhZ2VyIGtyZXZkIGZvciAmYXJpbmc7IGYmYXJpbmc7IHJhYmF0dCc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdGcmkgZGFnZXIgKG1pbnN0IGtvc3RiYXJlIGYmb3NsYXNoO3JzdCknOwokbGFuZ1snZGlzY291bnRfYWxsYWRqdXN0J10gPSAnVXRmJm9zbGFzaDtyIGVuIGJ1bGtqdXN0ZXJpbmcgcCZhcmluZzsgYWxsZSBkYWdlcic7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnSnVzdGVyZSBwcmlzZW5lIGt1biBmb3IgZ2plbGRlbmRlIGRhZ2VyJzsKJGxhbmdbJ2Rpc2NvdW50X3R5cGUnXSA9ICdSYWJhdHQtdHlwZSc7CiRsYW5nWydkaXNjb3VudHMnXSA9ICdSYWJhdHRlcic7CiRsYW5nWydkaXNwbGF5J10gPSAnVmlzbmluZyc7CiRsYW5nWydkcm9wZG93biddID0gJ05lZHRyZWtrJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdSZWRpZ2VyIGF0dHJpYnV0dCc7CiRsYW5nWydlZGl0X2N1c3RvbV9maWVsZCddID0gJ1JlZGlnZXIga3VuZGVmZWx0JzsKJGxhbmdbJ2VkaXRfZXZlbnQnXSA9ICdSZWRpZ2VyIGJlZ2l2ZW5oZXQnOwokbGFuZ1snZWRpdF9ldmVudF90eXBlJ10gPSAnUmVkaWdlciBiZWdpdmVuaGV0c3R5cGUnOwokbGFuZ1snZWRpdF9yZXNlcnZhdGlvbiddID0gJ1JlZGlnZXIgcmVzZXJ2YXNqb24nOwokbGFuZ1snZW1haWwnXSA9ICdFLXBvc3QnOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdTbHV0dGRhdG8nOwokbGFuZ1snZW5kX3RpbWVfMSddID0gJ1NsdXR0LXRpZCAxJzsKJGxhbmdbJ2VuZF90aW1lXzInXSA9ICdTbHV0dC10aWQgMic7CiRsYW5nWydlcnJvcl9jYWxjdWxhdGlvbiddID0gJ0thbGt1bGVyaW5nc2ZlaWwnOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9yZXNvdXJjZSddID0gJ0Rlbm5lIHJlc3N1cnNlbiBrYW4gaWtrZSBzbGV0dGVzIGZvcmRpIGRldCBlciByZXNlcnZhc2pvbmVyIGtueXR0ZXQgdGlsIGRlbic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2VmZWlsLCB2ZW5ubGlnc3Qga29udGFrdCBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ2Vycm9yX2V2ZW50X2NvbmZsaWN0J10gPSAnRW4gZWtzaXN0ZXJlbmRlIHJlc2VydmFzam9uLCBlbGxlciBlbiBpa2tlLWJlc3RpbGxiYXIgYmVnaXZlbmhldCBlciBpIGtvbmZsaWt0IG1lZCBkYXRvZW5lIG9nIHJlc3N1cnNlbmUgdmFsZ3QgZm9yIGRlbm5lIHJlc2VydmFzam9uZW4uJzsKJGxhbmdbJ2Vycm9yX2ZpbGVkZWxldGUnXSA9ICdFdCBwcm9ibGVtIG9wcHN0b2QgdW5kZXIgc2xldHRpbmcgYXYgZW4gZWxsZXIgZmxlcmUgZmlsZXInOwokbGFuZ1snZXJyb3JfaW50ZXJuYWxjb25maWcnXSA9ICdFbiBpbnRlcm4ga29uZmlndXJhc2pvbnNmZWlsIG9wcHN0b2QuIFZlbm5saWdzdCBrb250YWt0IG5ldHRzdGVkc2FkbWluaXN0cmF0b3Jlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnRHUgaGFyIG9wcGdpdHQgdWd5bGRpZ2UgZGF0b2VyJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfcHJpY2UnXSA9ICdQcmlzZW4gc29tIGVyIG9wcGdpdHQgc2VyIHV0IHRpbCAmYXJpbmc7IHYmYWVsaWc7cmUgdG9tIGVsbGVyIHVneWxkaWcnOwokbGFuZ1snZXJyb3JfaW52YWxpZF90aW1lX3NldHRpbmdzJ10gPSAnVGlkc2ludGVydmFsbGVuZSBzb20gZXIgb3BwZ2l0dCBlciB1Z3lsZGlnZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAnRW4gdWd5bGRpZyB2ZXJkaSBibGUgc3Blc2lmaXNlcnQgZm9yIGVuIGVsbGVyIGZsZXIgZmVsdGVyIGVsbGVyIHBhcmFtZXRlcmUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInXSA9ICdFbiBlbGxlciBmbGVyZSBwJmFyaW5nO2tyZXZkZSBwYXJhbWV0ZXJlIG1hbmdsZXIgZWxsZXIgZXIgdG9tbWUnOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdQcm9ibGVtIG1lZCAmYXJpbmc7IG9wcHJldHRlIGthdGFsb2cnOwokbGFuZ1snZXJyb3JfbXVzdF9zZWxlY3QnXSA9ICdEdSBtJmFyaW5nOyB2ZWxnZSBlbiBlbGxlciBmbGVyZSAlcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzc2VzJ10gPSAnS29uZmlndXJhc2pvbnNwcm9ibGVtLiBEaW4gbmV0dHN0ZWRzdmVydCBoYXIgaWtrZSBrb25maWd1cmVydCBub2VuIHRpbCAmYXJpbmc7IGYmYXJpbmc7IGJlc2tqZWQgb20gZGlzc2UgbWVsZGluZ2VuZS4gVmVubmxpZ3N0IGtvbnRha3QgbmV0dHN0ZWRzYWRtaW5pc3RyYXRvcmVuIGRpcmVrdGUnOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdEZSBmb3Jlc3B1cnRlIGRhdGEgYmxlIGlra2UgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluX2ZldSddID0gJ0R1IGVyIGlra2UgbG9nZ2V0IGlubiBwJmFyaW5nOyBkZXR0ZSBuZXR0c3RlZGV0LiBEdSBtJmFyaW5nOyBsYWdlIGRlZyBlbiBrb250byBmJm9zbGFzaDtyIGR1IGthbiBnaiZvc2xhc2g7cmUgbm9lbiByZXNlcnZhc2pvbic7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9lbWFpbCddID0gJ0t1bm5lIGlra2UgZmlubmUgZW4gZS1wb3N0YWRyZXNzZSBmb3IgZGVubmUga3VuZGVuJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnVmVubmxpZ3N0IHZlbGcgZW4ga3VuZGUgZnJhIGxpc3Rlbic7CiRsYW5nWydlcnJvcl9ub19ldmVudF90eXBlcyddID0gJ0luZ2VuIGJlZ2l2ZW5oZXRzdHlwZXIgZGVmaW5lcnQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25fcGFydHMnXSA9ICdEdSBoYXIgaWtrZSBvcHBnaXR0IG5vZSAmYXJpbmc7IHJlc2VydmVyZSEnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25zJ10gPSAnSW5nZW4gcmVzZXJ2YXNqb25lciBibGUgZnVubmV0IGZvciBkZW4gdmFsZ3RlIGRhZ2VuJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlcyddID0gJ0luZ2VuICVzIGRlZmluZXJ0JzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlc19zZWxlY3RlZCddID0gJ1Zlbm5saWdzdCBkZWZpbmVyIGVuIGVsbGVyIGZsZXJlIHJlc3N1cnNlciBvZyBpbnRlcnZhbGxlciBmb3IgZGVubmUgcmVzZXJ2YXNqb25lbic7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ0t1bm5lIGlra2UgZmlubmUgbm9lbiByZWdpc3RyZXJ0ZSBicnVrZXJlIGkgZGVuIGt1bmRlZ3J1cHBlbiBkdSB2YWxndGUnOwokbGFuZ1snZXJyb3Jfb3Zlcl9jYXBhY2l0eSddID0gJ0Rlbm5lIHJlc3N1cnNlbiB0aWxsYXRlciBrdW4gJXMgZGVsdGFrZXJlLCBkdSBoYXIgYmVkdCBvbSBlbnJlc2VydmFzam9uIGZvciAlcyc7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnRHUgZiZhcmluZztyIGlra2Ugb3BwcmV0dGUgZW4gcmVzZXJ2YXNqb24gZm9yIGRhdG9lciBpIGZvcnRpZGVuJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdEdSBoYXIgaWtrZSB0aWxsYXRlbHNlIHRpbCAmYXJpbmc7IHNlIGRpc3NlIGRhdGEnOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdFbiByZXNlcnZhc2pvbnNrb2ZsaWt0IGhhciBibGl0dCBvcHBkYWdldC4nOwokbGFuZ1snZXJyb3Jfc2VsZWN0X3N0YXR1cyddID0gJ1Zlbm5saWdzdCB2ZWxnIGVuIHN0YXR1cyBmb3IgZGVubmUgcmVzZXJ2YXNqb25lbic7CiRsYW5nWydlcnJvcl90aW1lcGVyaW9kX3N0YXJ0ZWQnXSA9ICdUaWRzcGVyaW9kZW4gc29tIGJsZSB2YWxndCBoYXIgYWxscmVkZSBzdGFydGV0LCB2ZW5ubGlnc3QgdmVsZyBlbiB0aWRzcGVyaW9kZSBpIGZyZW10aWRlbic7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdGaWwgb3BwbGFzdGluZ3NmZWlsJzsKJGxhbmdbJ2V2ZW50c19mb3JfcmVzb3VyY2UnXSA9ICdCZWdpdmVuaGV0ZXIgZm9yICVzJzsKJGxhbmdbJ2V2ZW50X3R5cGUnXSA9ICdCZWdpdmVuaGV0c3R5cGUnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdCZWdpdmVuaGV0c3R5cGVyJzsKJGxhbmdbJ2V4cGlyZWQnXSA9ICdVdGwmb3NsYXNoO3B0JzsKJGxhbmdbJ2V4dGVuZGVkX3VzZV9kaXNjb3VudHMnXSA9ICdVdHZpZGV0IGJydWsgYXYgcmFiYXR0JzsKJGxhbmdbJ2ZldV9wcmVmZXJlbmNlcyddID0gJ0Zyb250RW5kVXNlciBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0ZlbHRlcic7CiRsYW5nWydmaWxlJ10gPSAnRmlsJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRyZXInOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxiZWhhbmRsaW5ncyBrb25maWcuJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2ZvciddID0gJ0ZvciAnOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ0ZvcmdydW5uc2ZhcmdlJzsKJGxhbmdbJ2ZyaWRheSddID0gJ0ZyZWRhZyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdUaWxnamVuZ2VsaWdoZXRzYmVoYW5kbGVyJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcmEnOwokbGFuZ1snZnV0dXJlJ10gPSAnS29tbWVuZGUnOwokbGFuZ1snZ2VuZXJhbF9jb25maWcnXSA9ICdHZW5lcmVsbGUgaW5zdGlsbGluZ2VyJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHBlJzsKJGxhbmdbJ2d1ZXN0J10gPSAnZ2plc3QnOwokbGFuZ1snaGFsZl9kYXknXSA9ICdIYWx2IGRhZyc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdIYWx2IHRpbWUnOwokbGFuZ1snaG91cmx5J10gPSAnVGltZXNiYXNlcnQnOwokbGFuZ1snaGVscCddID0gJzxoMz48c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjpyZWQ7JnF1b3Q7Pi0tIFdBUk5JTkcgLS08L3NwYW4+PC9oMz4NCjxwIHN0eWxlPSZxdW90O21hcmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdodDogNWVtOyBwYWRkaW5nOiAwLjVlbTsgYmFja2dyb3VuZDogI0Q0RjIzMzsmcXVvdDs+QWx0aG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgbm8gdmFsdWFibGUgZGF0YSBpcyBsb3N0IGR1cmluZyB0aGUgdXBncmFkZSBwcm9jZXNzLCB5b3UgYXJlIGFkdmlzZWQgdG8gZW5zdXJlIHRoYXQgeW91IGhhdmUgYSBjb21wbGV0ZWx5IHZlcmlmaWVkIGJhY2t1cCBiZWZvcmUgYXR0ZW1wdGluZyB0byB1cGdyYWRlIHRoaXMgbW9kdWxlLiAgQWxzbywgdGhlIGRhdGEgc3RydWN0dXJlcyBhbmQgYmVoYXZpb3VyIG9mIHRoaXMgbW9kdWxlIGhhdmUgY2hhbmdlZCBkcmFtYXRpY2FsbHkgc2luY2UgdGhlIHByZXZpb3VzbHkgcmVsZWFzZWQgdmVyc2lvbiwgdGhlcmVmb3JlIHNvbWUgcmUtc3R5bGluZyBvZiB0ZW1wbGF0ZXMgd2lsbCBuZWVkIHRvIG9jY3VyIGlmIHlvdSBhcmUgdXBncmFkaW5nIGZyb20gYSB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlIGVhcmxpZXIgdGhhbiAxLjcuPC9wPg0KPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXBsZXRlIG9ubGluZSByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IHN5c3RlbSBmb3IgaG90ZWxzLCBjYXIgcmVudGFsIGFnZW5jaWVzLCBvciBhbnkgb3RoZXIgcHVycG9zZSB3aGVyZSBwYXJ0aWN1bGFyICZhbXA7cXVvdDtyZXNvdXJjZXMmYW1wO3F1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPg0KPHA+QSBjb21wbGV0ZSBhZG1pbiBpbnRlcmZhY2UgYWxsb3dzIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHJlc291cmNlcywgZXZlbnRzLCByZXNlcnZhdGlvbnMsIGFuZCBhbGwgYXNwZWN0cyBvZiB0aGUgZGlzcGxheWFibGUgaXRlbXMuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQo8bGk+QWxsb3dzIGRlZmluaW5nIHVubGltaXRlZCBudW1iZXJzIG9mIHJlc291cmNlcy4NCiAgPHVsPg0KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+DQogIDxsaT5QcmljZSBhZGp1c3RtZW50cyBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCBkYXkgb2YgdGhlIHdlZWsuPC9saT4NCiAgPC91bD4NCjxsaT4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgYW4gdW5saW1pdGVkIG51bWJlciBvZiBjdXN0b20gZmllbGRzIHRvIGFzc29jaWF0ZSB3aXRoIHJlc291cmNlcy48L2xpPg0KPGxpPkFsbG93cyBjcmVhdGluZyBldmVudCB0eXBlcyBhbmQgYXNzb2NpYXRpbmcgdGhlbSB3aXRoIGNvbG9ycy48L2xpPg0KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6DQogIDx1bD4NCiAgPGxpPkV2ZW50cyBjYW4gYmUgYm9va2FibGUgb3Igbm9uIGJvb2thYmxlLCB0byBibG9jayByZXNlcnZhdGlvbnMgZm9yIHRob3NlIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8L3VsPg0KPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBjb25mbGljdCBjaGVja2luZyB0byBlbnN1cmUgdGhhdCBubyByZXNlcnZhdGlvbnMgY2FuIGJlIGNyZWF0ZWQgZm9yIHJlc2VydmVkIHJlc291cmNlcywgb3IgY2xvc2VkIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBkbyBhZnRlciBpbnN0YWxsbmcgdGhlIG1vZHVsZSBpcyB0byBjcmVhdGUgc29tZSByb29tIGF0dHJpYnV0ZXMsIGFuZCBldmVudCB0eXBlcy4gICBZb3Ugc2hvdWxkIGFsc28gY2hlY2sgdGhlIHByZWZlcmVuY2VzIHRvIGVuc3VyZSB0aGF0IHRoZXkgc2VlbSB0byBiZSBzZXQgY29ycmVjdGx5LiAgWW91IGhhdmUgdGhlIG9wdGlvbiBvZiBjaGFuZ2luZyB0aGUgcmVzb3VyY2UgdHlwZSBpbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHJvb20gdG8gc29tZSBvdGhlciByZXNvdXJjZSB0aGF0IHlvdSBhcmUgbWFuYWdpbmcuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSB2YXJpb3VzIGxhYmVscyBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbmQgaW4gdGhlIGZyb250ZW5kIGRpc3BsYXkuPC9wPg0KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB5b3Ugc2hvdWxkIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHl9IGludG8gYSBjb250ZW50IHBhZ2UuPC9wPg0KPHA+VG8gZGlzcGxheSBhIGNhbGVuZGFyIHZpZXcsIHlvdSBjYW4gYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eSBhY3Rpb249Y2FsZW5kYXJ9IHRvIGEgY29udGVudCBwYWdlLiAgVGhpcyB3aWxsIHByb3ZpZGUgYSBzdWZmaWNpZW50IHN5c3RlbSBmb3IgYWxsb3dpbmcgdmlzaXRvcnMgdG8gY3JlYXRlIHJlc2VydmF0aW9ucywgZXRjLjwvcD4NCjxoND5SZXNlcnZhdGlvbnM8L2g0Pg0KPHA+VGhlIGRlZmF1bHQgZm9ybSBmb3IgYWxsb3dpbmcgYSB1c2VyIHRvIGNyZWF0ZSBhIHJlc2VydmF0aW9uIHJlbGllcyBoZWF2aWx5IG9uIGpxdWVyeSwgYWpheCwgYW5kIGphdmFzY3JpcHQuICBUbyBhbGxvdyB0aGUgZGVmYXVsdCBmb3JtIHRvIHdvcmsgcHJvcGVybHkgeW91IG5lZWQgdG8gZW5hYmxlIHRoZSBqcXVlcnl0b29scyBtb2R1bGUgaW4geW91ciBwYWdlIHRlbXBsYXRlLCBhbmQgYWxzbyBpbmNsdWRlIGEgc2VwZXJhdGUgc2V0IG9mIGphdmFzY3JpcHQgdXRpbGl0aWVzIChwaHBfanMuanMpIHRoYXQgaXMgcHJvdmlkZWQgd2l0aCB0aGUgQXZhaWxhYmlsaXR5IG1vZHVsZXMgbGliIGRpcmVjdG9yeS48L2xpPg0KPHA+SSBzdWdnZXN0IHlvdSBhZGQgdGhlIGZvbGxvd2luZyB0d28gbGluZXMgdG8gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGludG8gdGhlIHBhZ2UgbWV0YWRhdGEgc2VjdGlvbiBvZiBhbnkgcGFnZXMgdGhhdCB3aWxsIGJlIHdvcmtpbmcgd2l0aCB0aGUgYXZhaWxhYmlsaXR5IG1vZHVsZTo8L3A+DQo8cHJlIHN0eWxlPSZxdW90O21hcmdpbi1sZWZ0OiAyZW07JnF1b3Q7Pg0Ke0pRdWVyeVRvb2xzIGFjdGlvbj1cJiMwMzk7aW5janNcJiMwMzk7fQ0KJmFtcDtsdDtzY3JpcHQgdHlwZT1cJnF1b3Q7dGV4dC9qYXZhc2NyaXB0XCZxdW90OyBzcmM9JnF1b3Q7e3Jvb3RfdXJsfS9tb2R1bGVzL0F2YWlsYWJpbGl0eS9saWIvcGhwX2pzLmpzJnF1b3Q7JmFtcDtndDsmYW1wO2x0Oy9zY3JpcHQmYW1wO2d0Ow0KPC9wcmU+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+PHN0cm9uZz5Ib3dldmVyPC9zdHJvbmc+LCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGRlc2lyZWQgZm9ybSBvciByZXBvcnQgdG8gZGlzcGxheS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4NCjx1bD4NCjxsaT5hZGRyZXN2biAtIFRoZSBhZGQvZWRpdCByZXNlcnZhdGlvbiBmb3JtPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBmb3JtIGFsbG93cyBhIHZhbGlkLCBsb2dnZWQgaW4gZnJvbnRlbmQgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiBpbiB0aGUgc3lzdGVtLjwvbGk+DQo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgdmlldyBkaXNwbGF5cyB0aGUgYXZhaWxhYmlsaXR5IG9mIHNlbGVjdGVkIHJlc291cmNlcyBmb3IgdGhlIGN1cnJlbnQgbW9udGguICBJdCBhbGxvd3MgcGFnaW5hdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBtb250aHMsIHZpZXdpbmcgYSByZXNvdXJjZSBkZXRhaWwgdmlldywgYW5kIHN1cHBsaWVzIGEgbGluayB0aGF0IHdpbGwgYnJpbmcgdXAgdGhlIGFkZHJlc3ZuIGZvcm0gZm9yIHRoZSBzZWxlY3RlZCBkYXRlIGFuZCByZXNvdXJjZS48L2xpPg0KPGxpPmRheXZpZXcgLSBBIHJlcG9ydCBvZiBhY3Rpdml0aWVzIChvciBsYWNrIHRoZXJlb2YpIGZvciBhIHBhcnRpY3VsYXIgZGF5PC9saT4NCjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhIHN1bW1hcnkgcmVwb3J0IG9mIHNlbGVjdGVkIHJlc291cmNlcy48L2xpPg0KPGxpPmRldGFpbCAgICAtIFRoZSByZXNvdXJjZSBkZXRhaWwgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPg0KPGxpPm15cmVzZXJ2YXRpb24gLSBUaGUgbXlyZXNlcnZhdGlvbnMgcmVwb3J0Ljxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIHJlcG9ydCBhYm91dCBhbGwgb2YgdGhlIHVwY29taW5nIChvcHRpb25hbGx5IHBhc3QgYXMgd2VsbCkgcmVzZXJ2YXRpb25zIGZvciB0aGlzIHBhcnRpY3VsYXIgdXNlci48L2xpPg0KPGxpPnNlYXJjaCAtIFRoZSBzZWFyY2ggZm9ybS48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIHNlYXJjaGluZyBmb3IgcmVzb3VyY2VzIHRoYXQgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRvIHNwZWNpZmllZCBkYXRlcy48L2xpPg0KPGxpPnNlbmRlbWFpbCAtIFRoZSByZXNlcnZhdGlvbiBzZW5kZW1haWwgZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfY2FsZW5kYXJ0ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGthbGVuZGVydmlzbmluZywgdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgZW4ga2FsZW5kZXJtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgLSAmYXJpbmc7IGJlbnl0dGUgZm9yIGdlbmVyZXJpbmcgYXYgdmlzbmluZ2VuJzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdJIGZvcmJpbmRlbHNlIG1lZCBrYWxlbmRlcnZpc25pbmcsIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgbWVkIGthdGVnb3JpbmF2biAmYXJpbmc7IGJlbnl0dGUgZm9yICZhcmluZzsgdmVsZ2UgZGF0YSAmYXJpbmc7IHZpc2UuIERlbm5lIHBhcmFtZXRlciBrYW4gaWtlayBiZW55dHRlcyBzYW1tZW4gbWVkIHJlc3N1cnMgcGFyYW1ldGVyZW4uJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnSSBmb3JiaW5kZWxzZSBtZWQgcmVzZXJ2YXNqb25za2plbWEsIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGJla3JlZnRlbHNlc21hbCBzb20gaWtrZSBlciBzdGFuZGFyZCAmYXJpbmc7IGJlbnl0dGUgbiZhcmluZztyIGVuIGJlcyZvc2xhc2g7a2VyIG9wcHJldHRlciBlbiByZXNlcnZhc2pvbiAmIzAzOTtvbmxpbmUmIzAzOTsnOwokbGFuZ1snaGVscF9kYXl0ZW1wbGF0ZSddID0gJ1RpbGdqZW5nZWxpZyBpIGRhZ3N2aXNuaW5nLCBkZW5uZSBwYXJhbWV0ZXJ0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGRhZ3N2aXNuaW5nc21hbCBzb20gaWtrZSBlciBzdGFuZGFyZCAmYXJpbmc7IGJlbnl0dGUgZm9yIGdlbmVyZXJpbmcgYXYgdmlzbmluZ2VuJzsKJGxhbmdbJ2hlbHBfZGF5J10gPSAnQmVueXR0ZXQgbWVkIGFkZHJlc3ZuIHNramVtYSBmb3IgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBzdGFuZGFyZCBkYWcuIEJlbnl0dGV0IG1lZCBkYWdzdmlzbmluZ3NoYW5kbGluZ2VuIGZvciAmYXJpbmc7IHNwZXNpZmlzZXJlIG0mYXJpbmc7bGRhZ2VuJzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGthbGVuZGVyLCBzdGFuZGFyZCAoc2FtZW1uZHJhZyksIG9nIG1pbmVyZXNlZXJ2YXNqb25lciB2aXNuaW5nZXIsIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIHZhbGdmcmkgc2lkZSBmb3IgJmFyaW5nOyB2aXNlIGVudGVuIHJlc3N1cnNkZXRhbGplciwgcmVzZXJ2YXNqb25za2plbWFldCBlbGxlciBzZW5kLWUtcG9zdCBza2plbWFldC4gT20gZGVubmUgdmVyZGkgaWtrZSBlciBzYXR0IHZpbCBpbm5zdGlsbGluZ2VuIGkgYWRtaW5pc3RyYXNqb25zZWtzam9uZW4gYmwmb3NsYXNoO2kgYmVueXR0ZXQuIE9tIGRlbm5lIGlra2UgZXIgc2F0dCwgdmlsIG4mYXJpbmc7diZhZWxpZztyZW5kZSBzaWRlIGJsaSBiZW55dHRldC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGthbGVuZGVyLCBkZXRhbGosIHN0YW5kYXJkIChzYW1lbW5kcmFnKSwgb2cgbWluZXJlc2VlcnZhc2pvbmVyIHZpc25pbmdlciwgdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZGV0YWxqbWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkICZhcmluZzsgYmVueXR0ZSBmb3IgZW5odmVyIHZpc25pbmcuIERlbm5lIHBhcmFtZXRlciB2aWwgaWtrZSBoYSBub2VuIHZpcmtuaW5nIG9tIHZha3JlIFVSTCYjMDM5O2VyIGVyIGtvbmZpZ3VlcnQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGthbGVuZGVyLCBtaW5lcmVzZWVydmFzam9uZXIgb2cgYWRkcmVzdm4gaGFuZGxpbmdlciwgdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZS1wb3N0bWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkICZhcmluZzsgYmVueXR0ZSBuJmFyaW5nO3IgZS1wb3N0ZXIgc2VuZGVzLic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ1RpbGdqZW5nZWxpZyBrdW4gdGlsIHNlYXJjaCBoYW5kbGluZ2VuLiBEZW5uZSBwYXJhbWV0ZXIgc3Blc2lmaXNlcmVyIG9tIHJlc3VsdGF0ZW5lIGF2IHMmb3NsYXNoO2tldCBza2FsIHZpZXNlcyBpbmxpbmUgKGVyc3RhdHRlIGRlbiBvcmlnaW5hbGUgdGFnZ2VuKSwgZWxsZXIgb20gZGV0IHNrYWwgZXJzdGF0dGUgaW5uaG9sZHMoY29udGVudCkgb21yJmFyaW5nO2RldCBwJmFyaW5nOyBkZW5uZSBzaWRlbi4gRGVubmUgcGFyYW1ldGVyIGhhciBpbmdlbiBlZmZla3Qgb20gb2dzJmFyaW5nOyBzdW1tYXJ5cGFnZSBwYXJhbWV0ZXJlbiBvZ3MmYXJpbmc7IGVyIHNwZXNpZmlzZXJ0JzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdJIGZvcmJpbmRlbHNlIG1lZCBhZGRyZXN2biBza2plbWEsIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIHN0YW5kYXJkIG0mYXJpbmc7bmVkLiBCZW55dHRldCBtZWQgZGFnc2hhbmRsaW5nZW4gdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgbSZhcmluZztsbSZhcmluZztuZWRlbic7CiRsYW5nWydoZWxwX215cmVzdm50ZW1wbGF0ZSddID0gJ0t1biB0aWxnamVuZ2VsaWcgaSBmb3JiaW5kZWxzZSBtZWQgbWluZXJlc2VlcnZhc2pvbmVyIHZpc25pbmdlci4gRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gbWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkIGZvciBkZW4gdmlzbmluZ2VuJzsKJGxhbmdbJ2hlbHBfcGFnZWxpbWl0J10gPSAnSSByZXNzdXJzIHNhbW1lbmRyYWdzdmlzbmluZywga2FuIGRlbm5lIHBhcmFtZXRlciBiZW55dHRlcyBmb3IgJmFyaW5nOyBzcGVzaWZpc2VyZSBhbnRhbGwgcmVzc3Vyc2VyIHNvbSBza2FsIHZpc2VzIHAmYXJpbmc7IGh2ZXIgc2lkZSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0kga2FsZW5kZXJ2aXNuaW5nIHZpbCBkZW5uZSBwYXJhbWV0ZXIgZ29kdGEgZW4ga29tbWFzZXBhcmVydCBsaXN0ZSBtZWQgcmVzc3Vyc25hdm4gc29tIHNrYWwgdmlzZXMuIERlbm5lIHBhcmFtZXRlciBrYW4gaWtrZSBiZW55dHRlcyBzYW1tZW4gbWVkIGthdGVnb3JpcGFyYW1ldGVyZW4nOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnSSBmb3JiaW5kZWxzZSBtZWQgYWRkcmVzdm4sIGNhbGVuZGFyLCBvZyBteXJlc2VydmF0aW9ucyBoYW5kbGluZ2VuZSwgdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gcmVzZXJ2YXNqb24gc2tqZW1hbWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkLCAmYXJpbmc7IGJlbnl0dGUgZm9yIG9wcHJldHRlbHNlIGVsbGVyIHJlZGlnZXJpbmcgYXYgZW4gcmVzZXJ2YXNqb24nOwokbGFuZ1snaGVscF9yZXN2X2lkJ10gPSAnVGlsZ2plbmdlbGlnIGkgZm9yYmluZGVsc2UgbWVkIGFkZHJlc3ZuIHNramVtYS4gRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgSUQmIzAzOTtlbiB0aWwgZW4gZWtzaXN0ZXJlbmRlIHJlc2VydmFzam9uIHNvbSBza2FsIHJlZGlnZXJlcy4gRHUgdmlsIHNhbm5zeW5saWd2aXMgaWtrZSBiZWgmb3NsYXNoO3ZlICZhcmluZzsgYmVueXR0ZSBkZW5uZSBwYXJhbWV0ZXIgZGlyZWt0ZSc7CiRsYW5nWydoZWxwX3JzcmNpZCddID0gJ0Rlbm5lIHBhcmFtZXRlciBlciBha3NlcHRlcnQgYXYgZGV0YWxqbWFsZW4gZm9yICZhcmluZzsgdmlzZSBlbiBkZXRhbGpyYXBwb3J0IG9tIGVuIHNwZXNpZmlrayByZXNzdXJzJzsKJGxhbmdbJ2hlbHBfc2VhcmNodGVtcGxhdGUnXSA9ICdUaWxnamVuZ2VsaWcga3VuIHRpbCBzZWFyY2ggaGFuZGxpbmdlbi4gRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZW4gcyZvc2xhc2g7a2VtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQuJzsKJGxhbmdbJ2hlbHBfc2VuZGVtYWlsdGVtcGxhdGUnXSA9ICdLdW4gdGlsZ2plbmdlbGlnIGkgZm9yYmluZGVsc2UgbWVkIG1pbmVyZXNlZXJ2YXNqb25lciB2aXNuaW5nZXIuIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIG1hbCBzb20gaWtrZSBlciBzdGFuZGFyZCBmb3Igc2VuZGVwb3N0IHNramVtYS4gRGVubmUgcGFyYW1ldGVyIHZpbCBpa2tlIGhhIG5vZW4gdmlya25pbmcgb20gdmFrcmUgVVJMJiMwMzk7ZXIgZXIgcCZhcmluZztzbCZhcmluZzt0dC4nOwokbGFuZ1snaGVscF9zaG93YWxsJ10gPSAnS3VuIHRpbGdqZW5nZWxpZyBpIGZvcmJpbmRlbHNlIG1lZCBtaW5lcmVzZWVydmFzam9uZXIgdmlzbmluZ2VyLiBEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyB2aXNlIGFsbGUgcmVzZXJ2YXNqb25lciwgaW5rbHVkZXJ0IGhpc3Rvcmlza2UgcmVzZXJ2YXNqb25lci4nOwokbGFuZ1snaGVscF9zb3J0YnknXSA9ICcgDQpUaWxnamVuZ2VsaWcgaSBmb3JiaW5kZWxzZSBtZWQgbWluZXJlc2VydmFqb25lcihteXJlc2VydmF0aW9ucykgdmlzbmluZyBvZyByZXNzdXJzIHNhbW1lbmRyYWdzdmlzbmluZywgRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgZW5kcmUgcCZhcmluZzsgc29ydGVyaW5nZW4gZm9yIHZpc3RlIGVsZW1lbnRlci4gTXVsaWdlIHZlcmRpZXIgZXI6PGJyLz4NClJlc3N1cnMgc2FtbWVuZHJhZ3N2aXNuaW5nOjxici8+DQo8dWw+DQogIDxsaT5uYW1lPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCiAgPGxpPkY6ZmllbGRuYW1lIDxlbT4oZGV0dGUgc2tqZW1hIHRpbGxhdGVyIHNvcnRlcmluZyBldHRlciBlZ2VuZGVmaW5lcnRlIGZlbHRlciBpIHNhbW1lbmRyYWdzdmlzbmluZ2VuKTwvZW0+PC9saT4NCjwvdWw+DQptaW5lcmVzZXJ2YXNqb25lcihteWVzZXJ2YXRpb25zKSB2aXNuaW5nOjxici8+DQo8dWw+DQogIDxsaT5zdGFydF9kYXRlPC9saT4NCiAgPGxpPmVuZF9kYXRlPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCiAgPGxpPmNyZWF0ZV9kYXRlPC9saT4NCiAgPGxpPm1vZGlmaWVkX2RhdGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3NvcnRvcmRlciddID0gJ1RpbGdqZW5nZWxpZyBpIGZvcmJpbmRlbHNlIG1lZCByZXNzdXJzIHNhbW1lbmRyYWdzdmlzbmluZyBvZyBtaW5lcmVzZXJ2YXNqb25lcihteXJlc2VydmF0aW9ucykgdmlzbmluZy4gRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgZW5kcmUgcCZhcmluZzsgc29ydGVyaW5nZW4gZm9yIHZhbGd0IGRhdGEuICBNdWxpZ2UgdmVyZGllciBlcjo8YnIvPjx1bD48bGk+YXNjIC0gc3RpZ2VuZGU8L2xpPjxsaT5kZXNjIC0gc3lua2VuZGU8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXBhZ2UnXSA9ICdUaWxnamVuZ2VsaWcgaSBmb3JiaW5kZWxzZSBtZWQgc2VhcmNoIGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlciBzcGVzaWZpc2VyZXIgaWQmIzAzOTtlbiBlbGxlciBhbGlhcyB0aWwgc2lkZW4gc29tIGRlbiByZXN1bHRhdGV0IGF2IHNhbW1lbmRyYWdzdmlzbmluZ2VuIHNrYWwgdmlzZXMgcCZhcmluZzsuIE9tIGRlbm5lIHBhcmFtZXRlciBlciBzYXR0IC0gcyZhcmluZzsgZXIgaW5saW5lIHNhdHQgdGlsIHVzYW5uLic7CiRsYW5nWydoZWxwX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RpbGdqZW5nZWxpZyBmb3Igc3RhbmRhcmQgKHNhbW1lbmRyYWcpIHZpc25pbmcuIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIHNhbW1lbmRyYWdzbWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkICZhcmluZzsgYmVueXR0ZSBmb3IgdmlzbmluZ2VuJzsKJGxhbmdbJ2hlbHBfeWVhciddID0gJ0Jlbnl0dGV0IG1lZCBhZGRyZXN2biBza2plbWFldCwgdGlsbGF0ZXIgZGVubmUgcGFyYW1ldGVyZW4gJmFyaW5nOyBzcGVzaWZpc2VyZSBldCBzdGFuZGFyZCAmYXJpbmc7ci4gQmVueXR0ZXQgbWVkIGRhZ3N2aXNuaW5nc2hhbmRsaW5nZW4gdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgbSZhcmluZztsJmFyaW5nO3JldC4nOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnSGlzdG9yaXNrIHNhbW1lbmxpZ25pbmcnOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbWFnZSddID0gJ0JpbGRlJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGRlJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0JpbGRlYmVoYW5kbGluZ3MgaW5uc3RpbGxpaW5nZXInOwokbGFuZ1snaW5mb19hZGRfdXNlcl9hY2NvdW50J10gPSAnVmlzIHNramVtYSBmcmEgYnJ1a2VyYWRtaW5pc3RyZXJpbmdzZ3JlbnNlc25pdHRldCBmb3IgJmFyaW5nOyB0aWxsYXRlICZhcmluZzsgbGVnZ2UgdGlsIGVuIG55IGJydWtlcmtvbnRvJzsKJGxhbmdbJ2luZm9fYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdKdXN0ZXJpbmdzdmVyZGllciBrYW4gc3Blc2lmaXNlcmVzIHNvbSBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sZXQga2FuIHYmYWVsaWc7cmUgZW4gYXYgKywtLCBlbGxlciAqLiAgRi5la3MuOiAqMC44NSBlbGxlciArMTUuMjUuIE9tIGluZ2VuIHN5bWJvbCBlciBzcGVzaWZpc2VydCwgdmlsICsgYmxpIGJlbnl0dGV0Lic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnRGVubmUgbWFsZW4gZGVmaW5lcmVyIGh2b3JkYW4gZGV0IGF2YW5zZXJ0ZSBzJm9zbGFzaDtrZXNramVtYWV0IGVyLCBzb20gdmlzZXMgbWVkICZxdW90O3NlYXJjaCZxdW90OyBoYW5kbGluZ2VuLiBEdSBrYW4gYmVueXR0ZSBlbmh2ZXIgc21hcnR5bG9naWtrIG9nIHRhZ2dlciBpIGRlbm5lIG1hbGVuLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiB2aXNlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSBhdmFuc2VydGUgcyZvc2xhc2g7a2Vza2plbWFtYWxlciwgZm9yIGJydWsgbWVkICZxdW90O3NlYXJjaCZxdW90OyBoYW5kbGluZW4nOwokbGFuZ1snaW5mb19hbGxvd19ub19wcmljZXMnXSA9ICdCZW55dHRldCBmb3IgJmFyaW5nOyBib29rZSByZXNzdXJzZXIgaHZvciBwcmlzIGlra2UgZXIgaW52b2x2ZXJ0JzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnSnVzdXRlcmluZ3N2ZXJkaWVyIGthbiBzcGVzaWZpc2VyZXMgcCZhcmluZzsgZm9ybWVuIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wga2FuIHYmYWVsaWc7cmUgZW4gYXYgKywtLCBlbGxlciAqLiAgZi5la3MuOiAqMC44NSBlbGxlciArMTUuMjUuIE9tIGluZ2VuIHN5bWJvbCBlciBzcGVzaWZpc2VydCwgZXIgKyBhbnRhdHQuIE9tIGRldCBzcGVzaWZpc2VyZXMgZXQgYW50YWxsIGF2IGZyaWUgZGFnZXIsIGVyIGVuIGludGVnZXIgdmVyZGkgZm9ydmVudGV0Lic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3Blc2lmaXNlciBmb3JtYXRldCBzb20gcmVzc3Vyc2VyIG9nIGJlZ2l2ZW5oZXRlciBza2FsIHZpc2VzIGkga2FsZW5kZXIgdmlzbmluZy4gRHUga2FuIGJlbnl0dGUgZW5odmVyIHNtYXJ0eWxvZ2lrayBlbGxlciB2YXJpYWJsZXIgc29tIG55bGlnIGhhciBibGl0dCBkZWZpbmVydCwgZWxsZXIgZGUgc29tIHNwZXNpZmlrdCBoYXIgYmxpdHQgZ2pvcnQgdGlsZ2plbmdlbGlnZSBmb3IgZGVubmUgbWFsZW4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSBrYWxlbmRlcm1hbGVyIHNvbSBiZW55dHRlcyB0aWwgZm9yc2lkZShmcm9udGVuZCkga2FsZW5kZXJ2aXNuaW5nLic7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ0RldHRlIGRlZmluZXJlciB1dHNlZW5kZXQgcCZhcmluZzsgZS1wb3N0ZW4gc29tIHZpbCBibGkgc2VuZHQgdGlsIGJydWtlcmVuIG4mYXJpbmc7ciBkZW5uZSBtYWxlbiBiZW55dHRlcy4gRHUga2FuIGJlbnl0dGUgZW5odmVyIG9nIGFsbGUgc21hcnR5bG9naWtrZXIgb2cgdGFnZ2VyIGkgZGVubmUgbWFsZW4uIEYmb3NsYXNoO2xnZW5kZSB2YXJpYWJsZXIgZXIgc3Blc2llbGxlIGZvciBkZW5uZSBtYWxlbjogeyRzdWJqZWN0fSAtIEVtbmV0IHAmYXJpbmc7IGUtcG9zdGVuLCB7JGJvZHl9IC0gQnImb3NsYXNoO2R0ZWtzdGVuKGJvZHkpIHAmYXJpbmc7IGUtcG9zdGVuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGVuIGxpc3RlIG1lZCBkZSB0aWxnamVuZ2VsaWdlIGt1bmRlIGUtcG9zdG1hbGVyIHNvbSBiZW55dHRlcyBuJmFyaW5nO3IgZGV0IHNlbmRlcyBtZWxkaW5nIHRpbCBrdW5kZXIgc29tIGhhciBiZXN0aWx0IGVuIHJlc2VydmFzam9uJzsKJGxhbmdbJ2luZm9fY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ1NlcHNpZmlzZXIgZm9ybWF0ZXQgc29tIGVnZW5za2FwZXIgc2thbCBsaXN0ZXMgaSBicnVrZXJsaXN0ZXIuPGJyLz5CZW55dHQgeyRwcm9wZXJ0eW5hbWV9IGZvciAmYXJpbmc7IGlkZW50aWZpc2VyZSBlbiBlbmtlbHQgZWdlbnNrYXAuPGJyLz5TZSBGcm9udEVuZFVzZXJzIG1vZHVsZW4gZm9yIGxpc3RlbiBvdmVyIGVnZW5za2FwZXIgYXNzb3NpZXJ0IG1lZCBlbiBiZXN0ZW10IGdydXBwZS48YnIvPkR1IGthbiBvZ3MmYXJpbmc7IGJlbnl0dGUgeyR1c2VybmFtZX0gdGFnZ2VuIGZvciAmYXJpbmc7IGluZGlrZXJlIGJydWtlcmVucyBpbm5sb2dnaW5nc25hdm4uJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3Blc2lmaXNlciBmb3JtYXRldCBzb20gcmVzc3Vyc2VyIG9nIGJlZ2l2ZW5oZXRlciBza2FsIHZpc2VzIG1lZCBpIGRhZyB2aXNuaW5nZXIuIER1IGthbiBiZW55dHRlIGVuaHZlciBzbWFydHlsb2dpa2sgZWxsZXIgdmFyaWFibGVyIHNvbSBueWxpZyBlciBkZWZpbmVydGUgZWxsZXIgZGUgc29tIHNwZXNpZmlrdCBlciBnam9ydCB0aWxnamVuZ2VsaWdlIGZvciBkZW5uZSBtYWxlbic7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSBkYWcgdmlzbmluZ3NtYWxlbmUgc29tIGthbiBiZW55dHRlcyB2ZWQga2xpa2sgcCZhcmluZzsgZW4gYmVzdGVtdCBkYWcgZnJhIHN0YW5kYXJkIGthbGVuZGVydmlzbmluZyc7CiRsYW5nWydpbmZvX2RlcG9zaXQnXSA9ICdEZXQgaCZvc2xhc2g7eWVzdGUgYmVsJm9zbGFzaDtwZXQgYmVyZWduZXQgdmlsIGJsaSBicnVrdCBzb20gZGV0IG1pbnN0ZSBpbm5za3VkZCBmb3IgaHZlciBiZXN0aWxsaW5nLiBCZWwmb3NsYXNoO3AgdmlsIGlra2Ugb3ZlcnN0aWdlIGRldCBzYW1sZWRlIHJlc2VydmFzam9uc2JlbCZvc2xhc2g7cCc7CiRsYW5nWydpbmZvX2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0VuIHNtYXJ0eS1tYWwgZm9yICZhcmluZzsgYnlnZ2UgbGluamUgYXJ0aWtrZWwtYmVza3JpdmVsc2VuIHNvbSB2aWwgYmxpIHZpc3QgaSBoYW5kbGVrdXJ2ZW4gb2cgcCZhcmluZzsgZmFrdHVyYWVyLiBNdWxpZ2UgdmFyaWFibGVyIGVyIHtcJHJlc3ZuX29ian0gPGVtPihoZWxlIHJlc2VydmFzam9uc29iamVrdGV0KTwvZW0+LCB7XCRkZXBvc2l0X2Ftb3VudH0gZWxsZXIgZW5odmVyIGFubmVuIGVrc2lzdGVyZW5kZSBzbWFydHkgdmFyaWFiZWwgZWxsZXIgcGx1Z2luLic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSByZXNzdXJzIGRldGFsam1hbGVyLiBEaXNzZSBtYWxlciBiZW55dHRlcyB0aWwgZGV0YWxqdmlzbmluZyBhdiBkZSBmb3Jza2plbGxpZ2UgcmVzc3Vyc2VuZSc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ1NwZXNpZmlzZXIgZm9ybWF0ZXQgc29tIHJlc3N1cnNlciBza2FsIHZpc2VzIGkgZGV0YWxqdmlzbmluZ2VyLiBEdSBrYW4gYmVueXR0ZSBlbmh2ZXIgc21hcnR5bG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gbnlsaWcgaGFyIGJsaXR0IGRlZmluZXJ0LCBlbGxlciBkZSBzb20gc3Blc2lmaWt0IGhhciBibGl0dCBnam9ydCB0aWxnamVuZ2VsaWdlIGZvciBkZW5uZSBtYWxlbic7CiRsYW5nWydpbmZvX2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdTcGFyICVzIGV0dGVyICZhcmluZzsgaGEga2omb3NsYXNoO3B0ICVzIHBlcmlvZGVyIHRpbCBub3JtYWwgcHJpcy4nOwokbGFuZ1snaW5mb19kaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdTcGFyICVzIGZyYSBodmVyIHBlcmlvZGUgbWVkIGVuIHJlc2VydmFzam9uIGZvciAlcyBwZXJpb2Rlcic7CiRsYW5nWydpbmZvX2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ01vdHRhIGVuIGZyaSBwZXJpb2RlIGV0dGVyICZhcmluZzsgaGEga2omb3NsYXNoO3B0ICVzJzsKJGxhbmdbJ2luZm9fZW1haWxfc2VudCddID0gJ0RpbiBlLXBvc3QgZXIgc2VuZHQuIEVuIHJlZ2lzdHJlcmluZyBhdiBkZW5uZSBlLXBvc3QgZXIgb2dzJmFyaW5nOyBrb2JsZXQgdGlsIGJlaGFuZGxpbmdzZGV0YWxqZW5lIGZvciBzZW5lcmUgcmVmZXJhbnNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVzaWZpc2VyIGZvcm1hdGV0IHAmYXJpbmc7IHV0ZGF0YWVuIGZvciBNaW5lRmVzZXJ2YXNqb25lcihNeVJlc2VydmF0aW9ucykgcmFwcG9ydGVuJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgbWluZXJlc2VydmFzam9uZXIobXlyZXNlcnZhdGlvbnMpIHZpc25pbmdzbWFsZXIgc29tIGJlbnl0dGVzIG1lZCBhY3Rpb249bXlyZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhZ2xpZyBiZWwmb3NsYXNoO3Agc29tIHNrYWwgbGVnZ2VzIHRpbCAocGVyIGVuaGV0KSB0aWwgcmVzZXJ2YXNqb25zcHJpc2VuLCBmb3IgaHZlciBlbmhldCBtZXIgZW5uIGRlbiBzYXR0ZSBrYXBhc2l0ZXRlbiAoa3VuIGd5bGRpZyBvbSBrYXBhc2l0ZXRlbiBlciBlbiBneWxkaWcgdmVyZGkpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVzaWZpc2VyIGVuIHNpZGUgJmFyaW5nOyBhdXRvbWF0aXNrIHZpZGVyZXNlbmRlIHRpbCBvbSBub2VuIGZvcnMmb3NsYXNoO2tlciAmYXJpbmc7IGYmYXJpbmc7ciB0aWxnYW5nIHRpbCByZXNlcnZhc2pvbnNramVtYWV0IHV0ZW4gJmFyaW5nOyB2JmFlbGlnO3JlIGxvZ2dldCBpbm4uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ1NwZXNpZmlzZXIgbGlzdGVuIG1lZCBicnVrZXJlIChlbGxlciBncnVwcGVyKSBzb20gc2thbCBoYSBlbiBrb3BpIGF2IHJlc2VydmFzam9uIGJla3JlZnRlbHNlIGUtcG9zdGVuLiBFLXBvc3RhZHJlc3NlIGVnZW5za2FwZW4gZm9yIGh2ZXIgdmFsZ3QgYnJ1a2VyIG0mYXJpbmc7IHYmYWVsaWc7cmUgZ3lsZGlnLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJ10gPSAnSHZpcyBkZXR0ZSBhbHRlcm5hdGl2ZXQgZXIgZGVha3RpdmVydCwgdmlsIGJydWtlcmVuIGJsaSBvbWRpcmlnZXJ0IHRpbCByZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZXNzaWRlbiB1dGVuIGVuIG1lbGRpbmcgdmlzZXMnOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnXSA9ICdTcGVzaWZpc2VyIHNpZGVuIHNvbSBkZXQgYXV0b21hdGlzayBza2FsIHZpZGVyZXNlbmRlcyB0aWwgZXR0ZXIgZW4gYmVzJm9zbGFzaDtrZXIgaGFyIG9wcHJldHRldCBlbiByZXNlcnZhc2pvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZXNpZmlzZXIgc2lkZW4gc29tIHNrYWwgYmVueXR0ZXMgZm9yIHJlZGlnZXIgcmVzZXJ2YXNqb24gdXJsJiMwMzk7ZXIsIG9nIHNlbmQgbWVsZGluZyB1cmwmIzAzOTtlcic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX3NrdV9wcmVmaXgnXSA9ICdPbSBvcHBnaXR0LCB2aWwgZGVubmUgdmVyZGllbiBibGlyIGxhZ3QgdGlsIHJlc2VydmFzam9uc2lkJiMwMzk7ZW4sIG9nIHNlbmR0IHRpbCBoYW5kbGVrdXJ2ZW4gc29tIHZhcmVudW1tZXIoU0tVKSc7CiRsYW5nWydpbmZvX3Jlc291cmNlc19maWx0ZXInXSA9ICc8c3Ryb25nPk1lcms6PC9zdHJvbmc+IE4mYXJpbmc7ciBhbGxlIHJlc3N1cnNlciBrYW4gcGFzc2UgcCZhcmluZzsgZW4gc2lkZSBvZyBpbmdlbiBhbmRyZSBmaWx0cmVyaW5nZXIgYXIgYWt0aXZlLCBzJmFyaW5nOyBlciBkZXQgbXVsaWcgJmFyaW5nOyBlbmRyZSBkZXJlcyBzdGFuZGFyZCBzb3J0ZXJpbmdzcmVra2VmJm9zbGFzaDtsZ2UnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3Blc2lmaXNlciB0eXBlIHJlc3N1cnMgZHUgdmlsIGJlaGFuZGxlLiBGLmVrcy46ICZxdW90O3JvbSZxdW90OyBlbGxlciAmcXVvdDtiaWwmcXVvdDsgb3N2LiBEZXR0ZSB2aWwgZW5kcmUgbmF2bmdpdmluZ2VuIHAmYXJpbmc7IGhlbGUgbW9kdWxlbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9hZG1pbl9zdGFydHllYXInXSA9ICdEZW5uZSB2YXJpYWJsZW4gc3Blc2lmaXNlcmVyIGh2aWxrZXQgJmFyaW5nO3IgbmVkdHJla2tzbGlzdGVuIHNrYWwgc3RhcnRlIHAmYXJpbmc7IHZlZCByZWdpc3RyZXJpbmcgYXYgbnkgZWxsZXIgcmVkaWdlcmluZyBhdiBlbiByZXNlcnZhc2pvbiBmcmEgYWRtaW5pc3RyYXNqb25zZ3JlbnNlc25pdHRldC4gTWVyayBhdCBkZXR0ZSB0aWxsYXRlciAmYXJpbmc7IGxlZ2dlIHRpbCBvZyByZWRpZ2VyZSByZXNlcnZhc2pvbmVyIGZvciBsYW5ndCBpIGZvcnRpZCBvZyBmcmVtdGlkLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3Blc2lmaXNlciBmb3JtYXRldCBwJmFyaW5nOyByZXNlcnZhc2pvbnNramVtYWV0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTcGVzaWZpc2VyIGZvcm1hdGV0IHAmYXJpbmc7IHJlc2VydmFzam9uc2Jla3JlZnRlbHNlIGUtcG9zdG1lbGRpbmdlbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3Blc2lmaXNlciBmb3JtYXRldCBwJmFyaW5nOyByZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSByYXBwb3J0ZW4uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSBiZWtyZWZ0ZWxzZSBlLXBvc3RtYWxlci4gRGlzc2UgbWFsZXIgYmVueXR0ZXMgdGlsIGUtcG9zdGVuIHNvbSBzZW5kZXMgdGlsIGt1bmRlbiBldHRlciBhdCBlbiBuZXR0c3RlZHNiZXMmb3NsYXNoO2tlciBvcHByZXR0ZXIgZW4gcmVzZWVydmFzam9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgYmVrcmVmdGVsc2VtYWxlci4gRGlzc2UgbWFsZW5lIGJlbnl0dGVzIHRpbCBtZWxkaW5nZW4gb2cgZGF0YSBzb20gdmlzZXMgZXR0ZXIgYXQgZW4gbmV0dHN0ZWRzYmVzJm9zbGFzaDtrZXIgb3BwcmV0dGVyIGVsbGVyIHJlZGlnZXJlciBlbiByZXNlcnZhc2pvbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSByZXNlcnZhc2pvbiBza2plbWFtYWxlci4gRGlzc2UgbWFsZW5lIGJlbnl0dGVzIHRpbCBza2plbWFldCBzb20gdmlzZXMgbiZhcmluZztyIGVuIGxlZ2dlciB0aWwgZWxsZXIgcmVkaWdlcmVyIGVuIHJlc2VydmFzam9uLic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ0Rlbm5lIG1hbGVuIGtvbnRyb2xsZXJlciB1dHNlZW5kZXQgcCZhcmluZzsgc2VuZGVwb3N0IHNramVtYWV0LCBzb20gYnJ1a2VzIG4mYXJpbmc7ciBlbiBuZXR0c3RlZHNiZXMmb3NsYXNoO2tlciAmb3NsYXNoO25za2VyICZhcmluZzsgc2VuZGUgZW4gbWVsZGluZyB0aWwgJnF1b3Q7YnVzaW5lc3Mgb3duZXJzJnF1b3Q7IG1lZCB0aWxmJm9zbGFzaDt5ZW5kZSBpbmZvcm1hc2pvbiBlbGxlciBzcCZvc2xhc2g7cnNtJmFyaW5nO2wgb20gZW4gcmVzZXJ2YXNqb24nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2Ugc2VuZGVwb3N0IHNramVtYW1hbGVyLiBEaXNzZSBtYWxlbmUgYmVueXR0ZXMgdGlsIHNramVtYWV0IHNvbSB2aXNlcyBuJmFyaW5nO3IgZGV0IHNlbmRlcyBlbiBlLXBvc3QgcmVsYXRlcnQgdGlsIGVuIHJlc2VydmFzam9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnQmVueXR0IGRldHRlIHNramVtYSBmb3IgJmFyaW5nOyB0aWxmJm9zbGFzaDtyZSBtZXIgaW5mb3JtYXNqb24gaSBmb3JiaW5kZWxzZSBtZWQgZGluIHJlc2VydmFzam9uIGVsbGVyIGZvciAmYXJpbmc7IHNwJm9zbGFzaDtycmUgb20gbm9lIGkgZm9yYmluZGVsc2UgbWVkIHJlc2VydmFzam9uZW4gZGluJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZXNpZmlzZXIgZm9ybWF0ZXQgc29tIHJlc3N1cnNlciBza2FsIHZpc2VzIGkgc2FtbWVuZHJhZ3N2aXNuaW5nZXIuICBEdSBrYW4gYmVueXR0ZSBlbmh2ZXIgc21hcnR5bG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gbnlsaWcgaGFyIGJsaXR0IGRlZmluZXJ0LCBlbGxlciBkZSBzb20gc3Blc2lmaWt0IGhhciBibGl0dCBnam9ydCB0aWxnamVuZ2VsaWdlIGZvciBkZW5uZSBtYWxlbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgcmVzc3VycyBzYW1tZW5kcmFnc21hbGVyLiBEaXNzZSBtYWxlbmUgYmVueXR0ZXMgdGlsIHNhbW1lbmRyYWdzdmlzbmluZ2VyIGF2IGRlIGZvcnNramVsbGlnZSByZXNzdXJzZW5lIDxlbT4oZGV0dGUgZXIgc3RhbmRhcmQgdmlzbmluZ2VuKTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbXN0YW5kYXJkIEF2YW5zZXJ0IHMmb3NsYXNoO2tlc2tqZW1hbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCBLYWxlbmRlciB2aXNuaW5nc21hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIHN0YW5kYXJkIEt1bmRlIGUtcG9zdG1hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGF5X3RlbXBsYXRlJ10gPSAnU3lzdGVtc3RhbmRhcmQgZGFnIHZpc25pbmdzbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgUmVzc3VycyBkZXRhbGptYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X215cmVzdl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCAmcXVvdDtNaW5lIHJlc2VydmFzam9uZXImcXVvdDsgdmlzbmluZ3NtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3lzdGVtIHN0YW5kYXJkIFJlc2VydmFzam9uc2tqZW1hIG1hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCBSZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSBtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgUmVzcnZhc2pvbnNiZWtyZWZ0ZWxzZSBlLXBvc3RtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCBTZW5kIGUtcG9zdCBza2plbWFtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgUmVzc3VycyBzYW1tZW5kcmFnc21hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdFbmRyaW5nIGkgZGVubmUgbWFsIHZpbCBpa2tlIGhhIG5vZW4gdW1pZGRlbGJhciB2aXJrbmluZyBwJmFyaW5nOyBub2VuIHZpc25pbmcuIERldHRlIHNramVtYSBrb250cm9sbGVyZXIgaW5uaG9sZGV0IGkgbWFsZW4gc29tIG9wcHJldHRlcyBuJmFyaW5nO3IgZHUga2xpa2tlciAmcXVvdDtOeSBtYWwmcXVvdDsgaSBkZW4gYWt0dWVsbGUgbWFsZmFuZW4uJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnVmlzIGRldGFsamVydCBpbmZvcm1hc2pvbiBvbSBkZW5uZSBicnVrZXJlbic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnSW5ubGVkZW5kZSByZXNlcnZhc2pvbnNub3Rlcic7CiRsYW5nWydpbl9jYXJ0J10gPSAnVW5kZXIgdXRzamVra2luZyc7CiRsYW5nWydpbl9wcm9ncmVzcyddID0gJ1VuZGVyIGJlaGFuZGxpbmcnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdTJm9zbGFzaDtrZW9yZCc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdTaXN0IGVuZHJldCc7CiRsYW5nWydsZWdlbmQnXSA9ICdUZWduZm9ya2xhcmluZyc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQXZhbnNlcnRlIHMmb3NsYXNoO2tlc2tqZW1hbWFsZXInOwokbGFuZ1snbGJsX2JhY2snXSA9ICdUaWxiYWtlJzsKJGxhbmdbJ2xibF9jYWxlbmRhciddID0gJ0thbGVuZGVyJzsKJGxhbmdbJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcyddID0gJ0thbGVuZGVyIHZpc25pbmdzbWFsZXInOwokbGFuZ1snbGJsX2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dHRlcic7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnS3VuZGUgZS1wb3N0bWFsZXInOwokbGFuZ1snbGJsX2N1c3RvbV9maWVsZHMnXSA9ICdCcnVrZXJkZWZpbmVydGUgZmVsdGVyJzsKJGxhbmdbJ2xibF9kYXlfdmlld190ZW1wbGF0ZXMnXSA9ICdEYWcgdmlzbmluZ3NtYWxlcic7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdTdGFuZGFyZG1hbGVyJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnRGF0YWxqbWFsZXInOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0JlZ2l2ZW5oZXRlcic7CiRsYW5nWydsYmxfZXZlbnRfdHlwZXMnXSA9ICdCZWdpdmVuaGV0c3R5cGVyJzsKJGxhbmdbJ2xibF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXMnXSA9ICdNaW5lIHJlc2VydmFzam9uZXIgbWFsZXInOwokbGFuZ1snbGJsX3ByZWZlcmVuY2VzJ10gPSAnSW5uc3RpbGxpbmdlcic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2YXNqb25lcic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdSZXNlZXJ2YXNqb25zYmVrcmVmdGVsc2VzIGVwc290bWFsZXInOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnUmVzZWVydmFzam9uc2Jla3JlZnRlbHNlcyBtYWxlcic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnXSA9ICdSZXNlZXJ2YXNqb25zIHNramVtYW1hbGVyJzsKJGxhbmdbJ2xibF9yZXNvdXJjZXMnXSA9ICdSZXNzdXJzZXInOwokbGFuZ1snbGJsX3NlbmRlbWFpbF90ZW1wbGF0ZXMnXSA9ICdTZW5kIGUtcG9zdCBza2plbWFtYWxlcic7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdFbmRyZSBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJ1NhbW1lbmRyYWdzbWFsZXInOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ0JlaGFuZGxlIG1hbGVyJzsKJGxhbmdbJ21hbmFnZV9jdXN0b21lcl9jb250YWN0X3Jlc3ZuJ10gPSAnQmVoYW5kbGUga3VuZGVrb250YWt0IGZvciByZXNlcnZhc2pvbic7CiRsYW5nWydtYW5hZ2VyJ10gPSAnQmVoYW5kbGVyJzsKJGxhbmdbJ21heF9sZW5ndGgnXSA9ICdNYWtzIGxlbmdkZSc7CiRsYW5nWydtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTWVsZGluZ3NtYWwnOwokbGFuZ1snbWVzc2FnZV90ZXh0J10gPSAnTWVsZGluZ3MgYnImb3NsYXNoO2R0ZWtzdCc7CiRsYW5nWydtaW5pbXVtX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbXVtIGRlcG9zaXR1bSBwJmFyaW5nO2tyZXZkJzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICdFbmRyZXQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnRW4gcmVzc3VycyBvZyB0aWxnamVuZ2VsaWdoZXQgYmVoYW5kbGVyIGZvciAmYXJpbmc7IGZvciBwbGFubGVnZ2Ugb2cgcmVzZXJ2ZXJlIHJlc3N1cnNlciBwJmFyaW5nOyBkYWdsaWcgYmFzaXMnOwokbGFuZ1snbW9uZGF5J10gPSAnTWFuZGFnJzsKJGxhbmdbJ21vbnRoJ10gPSAnbSZhcmluZztuZWQnOwokbGFuZ1snbW9udGhsaXN0X2JyaWVmJ10gPSAnSmFuL0ZlYi9NYXIvQXByL01haS9KdW4vSnVsL0F1Zy9TZXAvT2t0L05vdi9EZXMnOwokbGFuZ1snbW9yZSddID0gJ01lcic7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdGbHl0dCBuZWQnOwokbGFuZ1snbW92ZV91cCddID0gJ0ZseXR0IG9wcCc7CiRsYW5nWyduYW1lJ10gPSAnTmF2bic7CiRsYW5nWyduZXh0J10gPSAnTmVzdGUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTmVpJzsKJGxhbmdbJ25vbmJvb2thYmxlX2Jsb2NrcyddID0gJ1N0ZW5ndGUgYmxva2tlcihkJm9zbGFzaDtnbiknOwokbGFuZ1snbm9uZSddID0gJ0luZ2VuJzsKJGxhbmdbJ25vdGVzJ10gPSAnTm90YXRlcic7CiRsYW5nWydub3RfYXBwbGljYWJsZSddID0gJ0kvVCc7CiRsYW5nWydub3RfY2FsY3VsYXRlZCddID0gJ0lra2Uga2Fsa3VsZXJ0JzsKJGxhbmdbJ251bV9wZW9wbGUnXSA9ICdBbnRhbCBwZXJzb25lcic7CiRsYW5nWydvY2N1cnMnXSA9ICdPcHBzdCZhcmluZztyJzsKJGxhbmdbJ29mJ10gPSAnYXYnOwokbGFuZ1snb24nXSA9ICdQJmFyaW5nOyc7CiRsYW5nWydvbmVfaG91ciddID0gJ0VuIHRpbWUnOwokbGFuZ1snb3B0aW9ucyddID0gJ09wc2pvbmVyJzsKJGxhbmdbJ29yZGVyJ10gPSAnUmVra2VmJm9zbGFzaDtsZ2UnOwokbGFuZ1snb3ZlcmNhcF9hbW91bnQnXSA9ICdPdmVya2FwYXNpdGV0IHByaXNqdXN0ZXJpbmcnOwokbGFuZ1sncGFnZSddID0gJ1NpZGUnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ0FudGFsbCBlbGVtZW50ZXIgcGVyIHNpZGUnOwokbGFuZ1sncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NpZGUgJmFyaW5nOyBzZW5kZSB0aWwgbiZhcmluZztyIGlra2UgbG9nZ2V0IGlubic7CiRsYW5nWydwYXJ0MSddID0gJ0RlbCAxJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZCddID0gJyVzLyVzIHBlcmlvZGVyIHJlc2VydmVydCc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWRfbGJsJ10gPSAnJXMgYXYgJXMgcGVyaW9kZXIgcmVzZXJ2ZXJ0JzsKJGxhbmdbJ3Bhc3RfbWVzc2FnZXMnXSA9ICdUaWRsaWdlcmUgbWVsZGluZ2VyJzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdWZW50ZXInOwokbGFuZ1sncGVyY2VudGFnZV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW1pbXVtIHByb3NlbnRhbmRlbCBhdiB0b3RhbCBiZXN0aWxsaW5nIHNvbSBrcmV2ZXMgc29tIGRlcG9zaXR1bSA8ZW0+ICh1dHRyeWt0IGkgZGVzaW1hbGZvcm1hdCkgPC8gZW0+JzsKJGxhbmdbJ3BlcmNlbnRfYm9va2VkJ10gPSAnUHJvc2VudCBiZXN0aWx0JzsKJGxhbmdbJ1BNJ10gPSAnUE0gJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQXZhaWxhYmlsaXR5IG1vZHVsZW4gaGFyIGJsaXR0IGluc3RhbGxlcnQuIFZlbm5saWdzdCBzamVrayBhdCBkZSBuJm9zbGFzaDtkdmVuZGlnZSBncnVwcGVyIGhhciBkZSBuJm9zbGFzaDtkdmVuZGlnZSByZXR0aWdoZXRlciB0aWwgJmFyaW5nOyBiZWhhbmRsZSBkZSBmb3Jza2plbGxpZ2UgYXNwZWt0ZW5lIGkgZGVubmUgbW9kdWxlbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQXZhaWxhYmlsaXR5IG1vZHVsZW4sIG9nIGFsbGUgdGlsaCZvc2xhc2g7cmVuZGUgZGF0YSBoYXIgYmxpdHQgZmplcm5ldCBmcmEgc3lzdGVtZXQuIER1IGVyIG4mYXJpbmc7IGZyaSB0aWwgJmFyaW5nOyBzbGV0dGUgZmlsZW5lIHNvbSBoYXIgdiZhZWxpZztydCBrb2JsZXQgdGlsIGRlbm5lIG1vZHVsZW4nOwokbGFuZ1sncHJldiddID0gJ0ZvcnJpZ2UnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8ICc7CiRsYW5nWydwcmljZSddID0gJ1ByaXMnOwokbGFuZ1sncHJpY2VzJ10gPSAnUHJpc2VyJzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0p1c3RlciBwcmlzZW4gcCZhcmluZzsgJXMgbWVkIGRldHRlIGJlbCZvc2xhc2g7cC48YnIvPjxlbT4oYmVueXR0IGV0IGZvcm1hdCBzb20gKjAuODUgIGVsbGVyICAtMTMgIGVsbGVyICArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnU3Amb3NsYXNoO3JzbSZhcmluZztsKFByb210KSc7CiRsYW5nWydwdWJsaWMnXSA9ICdPZmZlbnRsaWcnOwokbGFuZ1sncXVhcnRlcl9ob3VyJ10gPSAnS3ZhcnRlcic7CiRsYW5nWydyZXNlcnZlZCddID0gJ1Jlc2VydmVydCc7CiRsYW5nWydyZXNlcnZhdGlvbiddID0gJ1Jlc2VydmFzam9uJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2FkbWluX3N0YXJ0eWVhciddID0gJ1N0YXJ0JmFyaW5nO3IgZm9yIHJlc2VydmFzam9uZXIgaSBhZG1pbmlzdHJhc2pvbnNwYW5lbGV0JzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhc2pvbnMgYmFrZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfYmFja2dyb3VuZF9jb2xvciddID0gJ1Jlc2VydmFzam9uc2tvbmZsaWt0IGJha2dydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZhc2pvbiBkZXBvc2l0dW1pbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ1Jlc2VydmFzam9uIHAmYXJpbmc7IHZlbnQgYmFrZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlnJ10gPSAnUmVzZXJ2YXNqb25zaW5uc3RpbGxpbmdlcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaWwgc29tIHNrYWwgdmVkbGVnZ2VzIGFsbGUgcmVzZXJ2YXNqb25zYmVrcmVmdGVsc2UgZS1wb3N0ZXInOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDIGRpc3NlIGJydWtlcm5lIHZlZCByZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTZW5kIGVuIGUtcG9zdCB0aWwga3VuZGVuIG4mYXJpbmc7ciBlbiByZXNlcnZhc2pvbiBlciBvcHByZXR0ZXQnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnRW1uZSBwJmFyaW5nOyBSZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSBlcHNvdCc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX21zZyddID0gJ1ZpcyBSZXNydmFzam9uc2Jla3JlZnRlbHNlbWVsZGluZ2VuJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1Jlc2VydmFzam9uIGJla3JlZnRlbHNlc2lkZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ0RpbmUgdmFsZ3RlICVzIGVyIGlra2UgYWxsZSB0aWxnamVuZ2VsaWdlIHZvciBkZSB2YWxndGUgZGF0b2VyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdSZXNlcnZhc2pvbiBvcHByZXR0ZXQnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUmVzZXJ2YXNqb24gc3RhbmRhcmRzaWRlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RldGFpbHMnXSA9ICdSZXNlcnZhc2pvbnNkZXRhbGplcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXNqb25za29uZmxpa3QgZm9yZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmFzam9uIGZvcmdydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2lkJ10gPSAnUmVzZXJ2YXNqb25zSUQnOwokbGFuZ1sncmVzZXJ2YXRpb25fbWFuYWdlciddID0gJ1Jlc2VydmFzam9uc2JlaGFuZGxlcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2ZvcmVncm91bmRfY29sb3InXSA9ICdEZWx2aXMgYm9va2V0IGZvcmdydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ0RlbHZpcyBib29rZXQgYmFrZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydHMnXSA9ICdSZXNlcnZhc2pvbnNrb21wb25lbnRlcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZhc2pvbiBwJmFyaW5nOyB2ZW50IGZvcmdydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX251bSddID0gJ1Jlc2VydmFzam9uOiAlMDVkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3NrdV9wcmVmaXgnXSA9ICdSZXNlcnZhc2pvbnMgdmFyZW51bW1lcihTS1UpIFByZWZpa3MnOwokbGFuZ1sncmVzZXQnXSA9ICdOdWxsc3RpbGwnOwokbGFuZ1sncmVzb3VyY2UnXSA9ICdSZXNzdXJzJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc3N1cnNlcic7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXNlcnZlcnQgcCZhcmluZzsgJXMgYmFzaXMsIG1lZCAlcyBncmVuc2VyJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMiddID0gJ1Jlc2VydmVydCBwJmFyaW5nOyAlcyBiYXNpcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdUaWxnamVuZ2VsaWcgZnJhICVzIHRpbCAlcyBvZyBmcmEgJXMgdGlsICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2luc2pla2tpbmdzdGlkIGVyICVzLCBvZyB1dHNqZWtraW5nc3RpZCBlciAlcyc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnUmVzc3Vyc3R5cGUnOwokbGFuZ1sncm9vbSddID0gJ1JvbSc7CiRsYW5nWydyb29tcyddID0gJ1JvbSc7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdFciBldCBkZXBvc2l0dW0gbiZvc2xhc2g7ZHZlbmRpZz8nOwokbGFuZ1snc2F0dXJkYXknXSA9ICdMJm9zbGFzaDtyZGFnJzsKJGxhbmdbJ3NjaGVkdWxpbmcnXSA9ICdQbGFubGVnZ2luZyc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnRGVubmUgcmVzc3Vyc2VuIGVyIGJvb2tldCc7CiRsYW5nWydzZWFyY2gnXSA9ICdTJm9zbGFzaDtrJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWZWxnIGVuJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kICc7CiRsYW5nWydzZW5kX2N1c3RvbWVyX21haWwnXSA9ICdTZW5kZSBrdW5kZW4gZW4gbWVsZGluZyBvbSBkZW5uZSBlbmRyaW5nZW4gdmlhIGUtcG9zdD8nOwokbGFuZ1snc2VuZF9lbWFpbCddID0gJ1NlbmQgZW4gZS1wb3N0JzsKJGxhbmdbJ3NlbnQnXSA9ICdTZW5kdCc7CiRsYW5nWydzdGFydF9kYXRlJ10gPSAnU3RhcnQgZGF0byc7CiRsYW5nWydzdGFydF90aW1lXzEnXSA9ICdTdGFydC10aWQgMSc7CiRsYW5nWydzdGFydF90aW1lXzInXSA9ICdTVGFydC10aWQgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGlrayc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMgJzsKJGxhbmdbJ3N0YXR1c19yb29tc19hdmFpbGFibGUnXSA9ICdEZSAlcyBkdSB2YWxndGUgZXIgdGlsZ2plbmdlbGlnZSBmb3IgZGlzc2UgZGF0b2VuZSc7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnUmU6IFJlc2VydmFzam9uICVzJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdFbW5lJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1V0ZiZvc2xhc2g7cic7CiRsYW5nWydzdW5kYXknXSA9ICdTJm9zbGFzaDtuZGFnJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3RvbXImYXJpbmc7ZGUnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0ZmVsdCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ1RvcnNkYWcnOwokbGFuZ1sndGl0bGVfY29uZmxpY3QnXSA9ICdEZXQgZXIgZW4ga29uZmxpa3R8RGV0IGVyIGVuIGtvbmZsaWt0IG1lbGxvbSByZXNlZXJ2YXNqb25lbiAlMDRkIG9nICUwNGQuPGJyLz48YnIvPk9ncyZhcmluZzsgYW5kcmUga29uZmxpa3RlciBrYW4gZm9yZWtvbW1lIGZvciBkZW5uZSBibG9ra2VuLic7CiRsYW5nWyd0aXRsZV9ncmFwaGluZyddID0gJ1ZpcyBncmFmZXIgb2cgcmFwcG9ydGVyIGF2IGhpc3RvcmlzayBkYXRhJzsKJGxhbmdbJ3RvJ10gPSAnVGlsJzsKJGxhbmdbJ3RvdGFsX2Jsb2NrcyddID0gJ1RvdGFsdCBibG9ra2VyKGQmb3NsYXNoO2duKSc7CiRsYW5nWyd0dWVzZGF5J10gPSAnVGlyc2RhZyc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0xlZ2cgdGlsIGYmb3NsYXNoO2xnZW5kZSBkYXRvZXInOwokbGFuZ1sndmFjYW50J10gPSAnTGVkaWcnOwokbGFuZ1sndmlldyddID0gJ1Zpcyc7CiRsYW5nWyd2aWV3X2RheSddID0gJ1ZpcyBpbmZvcm1hc2pvbiBvbSBkZW5uZSBkYWdlbic7CiRsYW5nWyd2aWV3X3VzZXInXSA9ICdWaXMgZGV0YWxqZXIgZm9yIGdqZXN0JzsKJGxhbmdbJ3ZpZXdfcnNyY19kZXRhaWxzJ10gPSAnVmlzIGRldGFsamVyIGZvciBmJm9zbGFzaDtsZ2VuZGUgJXMnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnT25zZGFnJzsKJGxhbmdbJ3dlZWtkYXlfcHJpY2VfYWRqdXN0bWVudHMnXSA9ICdVa2VkYWcgcHJpc2p1c3RlcmluZ2VyJzsKJGxhbmdbJ3llYXJfMSddID0gJyZBcmluZztyIDEnOwokbGFuZ1sneWVhcl8yJ10gPSAnJkFyaW5nO3IgMic7CiRsYW5nWyd5ZWFyXzMnXSA9ICcmQXJpbmc7ciAzJzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ3lvdXJfbmFtZSddID0gJ0RpdHQgbmF2bic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNjkyODQ5MDUuMjUzNi41NS51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI3MTIwMjM0MS4xMjcxMjcwODYzLjI1OTMnOwokbGFuZ1sncWNhJ10gPSAnMTIxMDk3MTY5MC0yNzMwODA3My04MTk1MjgzMic7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTI3MTI3MDg2Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ1ZvZWcgZWVuIGdlYmV1cnRlbmlzdHlwZSB0b2UnOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ1dpanppZyBlZW4gZ2ViZXVydGVuaXN0eXBlJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGllZic7CiRsYW5nWydhZGQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1snYWRkX25vdGVzJ10gPSAnVm9lciBpbmZvcm1hdGllIGluIG1ldCBiZXRyZWtraW5nIHRvdCBkZXplIHJlc2VydmVyaW5nJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4vd2lqemlnZW4gZWVuIFVpdGdlYnJlaWQgWm9la2Zvcm11bGllciBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIGVlbiBLYWxlbmRlciBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBLbGFudGVuIEUtbWFpbCBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2RheV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBEYWcgT3ZlcnppY2h0IFNqYWJsb29uJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFJlc2VydmVlcmJhYXIgaXRlbSBkZXRhaWxzIFNqYWJsb29uJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4vd2lqemlnZW4gTWlqblJlc2VydmVyaW5nZW4gU2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBSZXNlcnZlcmluZ3Nmb3JtdWxpZXIgU2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFJlc2VydmVyaW5ncyBCZXZlc3RpZ2luZyBFLW1haWwgU2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFJlc2VydmVyaW5nIEJldmVzdGlnaW5nIFNqYWJsb29uJzsKJGxhbmdbJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFZlcnN0dXVyIEUtbWFpbCBGb3JtdWxpZXIgU2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFJlc2VydmVlcmJhYXIgaXRlbSBzYW1lbnZhdHRpbmdzamFibG9vbic7CiRsYW5nWydhZG1pbl9ub3RlcyddID0gJ0FkbWluIE5vdGl0aWVzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQnVsayBrb3J0aW5nIGJpanN0ZWxsaW5nIHZhbiAlLjJmIHZvb3IgZW5rZWxlIGRhZ2VuJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdCdWxrIGtvcnRpbmcgYmlqc3RlbGxpbmcgdmFuICUuMmYgdm9vciBhbGxlIGRhZ2VuJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9mcmVlYmxvY2snXSA9ICdCdWxrLWtvcnRpbmcgaW4gYWFubWVya2luZyBrb21lbmRlIHZyaWplIGRhZyc7CiRsYW5nWydhZGp1c3RfZXZlbnRfcHJpY2UnXSA9ICdTdGVsIGRlIHByaWpzIGJpaiB2b29yIGdlYmV1cnRlbmlzICVzIGRvb3IgJXMnOwokbGFuZ1snYWRqdXN0X292ZXJjYXBhY2l0eSddID0gJ1ByaWpzIGJpanN0ZWxsZW4gJWQgdm9vciBleHRyYSBwZXJzb25lbiBtZXQgJS4yZic7CiRsYW5nWydhZGp1c3Rfd2Vla2RheV9wcmljZSddID0gJ1ByaWpzIGJpanN0ZWxsZW4gdm9vciB3ZWVrZGFnICVzIHRvdCAlcyc7CiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dXQgdG9ldm9lZ2VuJzsKJGxhbmdbJ2FkZF9jdXN0b21fZmllbGQnXSA9ICdWb2VnIHZyaWogdmVsZCB0b2UnOwokbGFuZ1snYWRkX2V2ZW50J10gPSAnVm9lZyBlZW4gZ2ViZXVydGVuaXMgdG9lJzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnVm9lZyBlZW4gZ2ViZXVydGVuaXN0eXBlIHRvZSc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdWb2VnIGVlbiBuaWV1d2UgcmVzZXJ2ZXJpbmcgdG9lJzsKJGxhbmdbJ2FkZF91c2VyX2FjY291bnQnXSA9ICdWb2VnIGVlbiBnZWJydWlrZXJzYWNjb3VudCB0b2UnOwokbGFuZ1snYWxsJ10gPSAnQWxsZXMnOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnVG9lZ2VzdGFuZSBiZXN0YW5kIHR5cGVuJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUb2VnZXN0YW5lIGFmYmVlbGRpbmdzdHlwZW4nOwokbGFuZ1snYWxsb3dfbm9fcHJpY2VzJ10gPSAnRm91dCwgZ2VlbiBwcmlqcy4nOwokbGFuZ1snYWxsb3dfb3ZlcmNhcGFjaXR5J10gPSAnU3RhIHJlc2VydmVyaW5nZW4gdG9lIGRpZSBkZSBjYXBhY2l0ZWl0IHRlIGJvdmVuIGdhYW4uJzsKJGxhbmdbJ0FNJ10gPSAnQU0gJzsKJGxhbmdbJ2FueSddID0gJ0VuaWdlJzsKJGxhbmdbJ2FwcGx5J10gPSAnVG9lcGFzc2VuJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBnZWJldXJ0ZW5pcyBwZXJtYW5lbnQgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNlcnZhdGlvbiddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHJlc2VydmVyaW5nIHBlcm1hbmVudCB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc291cmNlJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRpdCByZXNlcnZlZXJiYXJlIGl0ZW0gZGVmaW5pdGllZiB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIG1vZHVsZSB3aWx0IHZlcndpamRlcmVuPyAgRG9vcmdhYW4gemFsIGxlaWRlbiB0b3QgaGV0IHBlcm1hbmVudCB2ZXJ3aWpkZXJlbiB2YW4gYWxsZSBnZWdldmVucyB2YW4gZGV6ZSBtb2R1bGUuJzsKJGxhbmdbJ2F0J10gPSAnIEAgJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdCaWpsYWdlJzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnRGlyZWN0b3J5IG9tIG5hYXIgZWVuIGJpamxhZ2UgdGUgem9la2VuJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGVuJzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVfdGh1bWJuYWlscyddID0gJ0dlbmVyZWVyIEF1dG9tYXRpc2NoIE1pbmlhdHVyZW4nOwokbGFuZ1snYXZhaWxhYmxlJ10gPSAnQmVzY2hpa2JhYXInOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0FjaHRlcmdyb25ka2xldXInOwokbGFuZ1snYmFzZV9wcmljZSddID0gJ0Jhc2lzcHJpanMnOwokbGFuZ1snYmFzaWNfcHJpY2luZyddID0gJ0Jhc2lzIHByaWpzc3RlbGxpbmcnOwokbGFuZ1snYm9va2FibGUnXSA9ICdLdW5uZW4ga2FtZXJzIHdvcmRlbiBnZWJvZWt0IHRpamRlbnMgZGV6ZSBnZWJldXJ0ZW5pcz8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCZXNjaGlrYmFhcic7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdUZSBib2VrZW4gZ2ViZXVydGVuaXMgcGVyaW9kZSc7CiRsYW5nWydib29rZWRfYmxvY2tzJ10gPSAnR2Vib2VrdGUgcGVyaW9kZSc7CiRsYW5nWydjYWJpbiddID0gJ0thbWVyJzsKJGxhbmdbJ2NhYmlucyddID0gJ0thbWVycyc7CiRsYW5nWydjYWxjdWxhdGUnXSA9ICdCZXJla2VuJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0JlcmVrZW4gcHJpanMnOwokbGFuZ1snY2FsY3VsYXRlZF9wcmljZSddID0gJ0JlcmVrZW5kZSBQcmlqcyc7CiRsYW5nWydjYWxlbmRhcl9jb25maWcnXSA9ICdJbnN0ZWxsaW5nZW4gQmVzY2hpa2JhYXJoZWlka2FsZW5kZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlZXInOwokbGFuZ1snY2FuY2VsbGVkJ10gPSAnR2Vhbm51bGVlcmQnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdDYXBhY2l0ZWl0JzsKJGxhbmdbJ2NhciddID0gJ0F1dG8nOwokbGFuZ1snY2FycyddID0gJ0F1dG8mIzAzOTtzJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dGVuJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQXR0cmlidXV0JzsKJGxhbmdbJ2NjX215c2VsZiddID0gJ1N0dXVyIGVlbiBrb3BpZSB2YW4gZGl0IGJlcmljaHQgbmFhciBtaWpuIGUtbWFpbGFkcmVzJzsKJGxhbmdbJ2NoZWNrJ10gPSAnQ29udHJvbGVlcic7CiRsYW5nWydjaGVja2JveCddID0gJ1Zpbmt2YWtqZSc7CiRsYW5nWydjaGVja2luJ10gPSAnQ2hlY2sgaW4nOwokbGFuZ1snY2hlY2tpbl90aW1lJ10gPSAnQ2hlY2sgaW4gVGlqZCc7CiRsYW5nWydjaGVja291dCddID0gJ0NoZWNrIHVpdCc7CiRsYW5nWydjaGVja291dF90aW1lJ10gPSAnQ2hlY2sgdWl0IFRpamQnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnQ29udHJvbGVlciBiZXNjaGlrYmFhcmhlaWQnOwokbGFuZ1snY2xvc2VkJ10gPSAnR2VzbG90ZW4nOwokbGFuZ1snY29sb3InXSA9ICdLbGV1cic7CiRsYW5nWydjb25maXJtZWQnXSA9ICdCZXZlc3RpZ2QnOwokbGFuZ1snY29uZmlybV9yZXNlcnZhdGlvbiddID0gJ0NvbnRyb2xlZXIgZGUgaW5mb3JtYXRpZSBpbiBoZXQgZm9ybXVsaWVyIGVuIGJldmVzdGlnIGRhdCB1IGRlemUgcmVzZXJ2ZXJpbmcgd2lsdCBtYWtlbi4nOwokbGFuZ1snY29uZmxpY3QnXSA9ICdDb25mbGljdCAnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdHZW1hYWt0JzsKJGxhbmdbJ2NyZWF0ZV9yZXNlcnZhdGlvbiddID0gJ1Jlc2VydmVlciBkZXplIHBlcmlvZGUnOwokbGFuZ1snY3JlYXRlZCddID0gJ0dlbWFha3QnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnVmFsdXRhIFN5bWJvb2wnOwokbGFuZ1snY3VycmVudF95ZWFyJ10gPSAnSGV0IGh1aWRpZ2UgamFhcic7CiRsYW5nWydjdXN0b21lciddID0gJ0tsYW50JzsKJGxhbmdbJ2N1c3RvbWVyX2dyb3VwJ10gPSAnS2xhbnQgZ3JvZXAnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0tsYW50IG5hYW0nOwokbGFuZ1snY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ0tsYW50ZW5zY2hlcm0gc2phYmxvb24nOwokbGFuZ1snZGFpbHknXSA9ICdEYWdlbGlqa3MnOwokbGFuZ1snZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ2RheV9yZXBvcnQnXSA9ICdEYWcgUmFwcG9ydCc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdEYWcgUmFwcG9ydCB2b29yICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnRGFnIG92ZXJ6aWNodCc7CiRsYW5nWydkZWZhdWx0X2NhcGFjaXR5J10gPSAnU3RhbmRhYXJkIGNhcGFjaXRlaXQgPGVtPih2b29yIG5pZXV3ZSByZXNlcnZlZXJiYXJlIGl0ZW1zKTwvZW0+JzsKJGxhbmdbJ2RlZmF1bHRfZ3JhbnVsYXJpdHknXSA9ICdTdGFuZGFhcmQga29ycmVsaWdoZWlkJzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ1N0YW5kYWFyZCBUaWpkIEludGVydmFsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1ZlcndpamRlcic7CiRsYW5nWydkZWxldGVfY2F0ZWdvcnknXSA9ICdWZXJ3aWpkZXIgQXR0cmlidXV0JzsKJGxhbmdbJ2RlbGV0ZV9jdXN0b21fZmllbGQnXSA9ICdWZXJ3aWpkZXIgYWFuZ2VwYXN0IHZlbGQnOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnVmVyd2lqZGVyIGdlYmV1cnRlbmlzJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnVmVyd2lqZGVyIGdlYmV1cnRlbmlzdHlwZSc7CiRsYW5nWydkZXBvc2l0X2Ftb3VudCddID0gJ0JlZHJhZyB2YW4gYWFuYmV0YWxpbmcnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnT3BuZWVtYmFhciBTYWxkbyc7CiRsYW5nWydkZXBvc2l0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFN1bW1hcnknOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdVdyByZXNlcnZlcmluZyBpcyBiZXZlc3RpZ2QnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0tvcnRpbmdzYWFucGFzc2luZyc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW1hYWwgYWFudGFsIGRhZ2VuIHZvb3IgZGV6ZSBhYW5iaWVkaW5nJzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0Jlc2NoaWtiYXJlIGRhZ2VuIChnb2Vka29vcHN0ZSBlZXJzdCknOwokbGFuZ1snZGlzY291bnRfYWxsYWRqdXN0J10gPSAnUGFzIGVlbiBidWxrIGJpanN0ZWxsaW5nIHRvZSB2b29yIGFsbGUgZGFnZW4nOwokbGFuZ1snZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ1N0ZWwgZGUgcHJpanplbiBiaWogdm9vciBhbGxlZW4gYnJ1aWtiYXJlIGRhZ2VuJzsKJGxhbmdbJ2Rpc2NvdW50X3R5cGUnXSA9ICdLb3J0aW5nc3Nvb3J0JzsKJGxhbmdbJ2Rpc2NvdW50cyddID0gJ0tvcnRpbmdlbic7CiRsYW5nWydkaXNwbGF5J10gPSAnU2NoZXJtJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gJzsKJGxhbmdbJ2VkaXQnXSA9ICdXaWp6aWcnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1dpanppZyBBdHRyaWJ1dXQnOwokbGFuZ1snZWRpdF9jdXN0b21fZmllbGQnXSA9ICdXaWp6aWcgYWFuZ2VwYXN0IHZlbGQnOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ1dpanppZyBnZWJldXJ0ZW5pcyc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdXaWp6aWcgZ2ViZXVydGVuaXMgdHlwZSc7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnV2lqemlnIHJlc2VydmVyaW5nJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnRWluZCBkYXR1bSc7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRWluZCB0aWpkIDEnOwokbGFuZ1snZW5kX3RpbWVfMiddID0gJ0VpbmQgdGlqZCAyJzsKJGxhbmdbJ2Vycm9yX2NhbGN1bGF0aW9uJ10gPSAnQmVyZWtlbmluZ3Nmb3V0JzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdEaXQgcmVzZXJ2ZWVyYmFhciBpdGVtIGthbiBuaWV0IHdvcmRlbiB2ZXJ3aWpkZXJkLCBvbWRhdCBlciBhbCBlZW4gcmVzZXJ2ZXJpbmcgdm9vciBpcy4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGZvdXQsIG5lZW0gY29udGFjdCBvcCBtZXQgZGUgd2Vic2l0ZSBiZWhlZXJkZXInOwokbGFuZ1snZXJyb3JfZXZlbnRfY29uZmxpY3QnXSA9ICdFciBpcyBlZW4gY29uZmxpY3QgZG9vciBlZW4gYmVzdGFhbmRlIHJlc2VydmVyaW5nLCBvZiBkb29yIGVlbiBuaWV0IHRlIGJvZWtlbiBnZWJldXJ0ZW5pcywgbWV0IGRlIGRhdHVtIGVuIHJlc2VydmVlcmJhcmUgaXRlbXMgZGllIHUgaGVlZnQgZ2VzZWxlY3RlZXJkLic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnRXIgaXMgZWVuIHByb2JsZWVtIG9wZ2V0cmVkZW4gdGlqZGVucyBoZXQgdmVyd2lqZGVyZW4gdmFuICZlYWN1dGU7JmVhY3V0ZTtuIG9mIG1lZXIgYmVzdGFuZGVuJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnRXIgaXMgZWVuIGludGVybmUgY29uZmlndXJhdGllIGZvdXQgb3BnZXRyZWRlbi4gbmVlbSBjb250YWN0IG9wIG1ldCBkZSB3ZWJzaXRlIGJlaGVlcmRlcic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnVSBoZWVmdCB2ZXJrZWVyZGUgZGF0dW1zIGluZ2V2b2VyZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnRGUgaW5nZXZvZXJkZSBwcmlqcyBpcyB2ZXJrZWVyZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3RpbWVfc2V0dGluZ3MnXSA9ICdEZSBpbmdldm9lcmRlIHRpamRzcGFubmVzIHppam4gdmVya2VlcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ0VyIGlzIGVlbiBvbmdlbGRpZ2Ugd2FhcmRlIGluZ2V2b2VyZCB2b29yIGVlbiBvZiBtZWVyIHZlbGRlbiBvZiBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnRSZlYWN1dGU7biBvZiBtZWVyZGVyZSB2ZXJwbGljaHRlbiBwYXJhbWV0ZXJzIG1pc3NlbiBvZiB6aWpuIG5pZXQgaW5nZXZ1bGQnOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdQcm9ibGVlbSBtZXQgaGV0IGFhbm1ha2VuIHZhbiBlZW4gbmV0d2Vya21hcCc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1UgbW9ldCAmZWFjdXRlOyZlYWN1dGU7biBvZiBtZWVyICVzIHNlbGVjdGVyZW4nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0NvbmZpZ3VyYXRpZSBwcm9ibGVlbS4gVXcgd2ViaG9zdCBoZWVmdCBkZSBpbnN0ZWxsaW5nZW4gbmlldCB6byBpbmdlc3RlbGQgZGF0IGVyIGllbWFuZCB3b3JkdCBnZXdhYXJzY2h1d2QuIE5lZW0gZGlyZWN0IGNvbnRhY3Qgb3AgbWV0IGRlIHdlYnNpdGUgYmVoZWVyZGVyLic7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ0RlIGdlc3BlY2lmaWNlZXJkZSBnZWdldmVucyBrdW5uZW4gbmlldCB3b3JkZW4gZ2V2b25kZW4nOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnVSBiZW50IG5pZXQgaW5nZWxvZ2Qgb3AgZGUgc2l0ZS4gVSBtb2V0IGVlbiBhY2NvdW50IGhlYmJlbiBvbSBlZW4gcmVzZXJ2ZXJpbmcgdGUga3VubmVuIG1ha2VuLic7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9lbWFpbCddID0gJ0thbiBnZWVuIGUtbWFpbCBhZHJlcyB2YW4gZGV6ZSBrbGFudCB2aW5kZW4nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfc2VsZWN0ZWQnXSA9ICdTZWxlY3RlZXIgZWVuIGtsYW50IHVpdCBkZSBsaWpzdCc7CiRsYW5nWydlcnJvcl9ub19ldmVudF90eXBlcyddID0gJ0dlZW4gZ2ViZXVydGVuaXN0eXBlbiBnZWRlZmluZWVyZCc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1UgaGVlZnQgbmlldHMgaW5nZXZvZXJkIG9tIHRlIHJlc2VydmVyZW4hJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc2VydmF0aW9ucyddID0gJ0dlZW4gcmVzZXJ2ZXJpbmdlbiBnZXZvbmRlbiB2b29yIGRlIGdlc2VsZWN0ZWVyZGUgZGF0dW0nOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzJ10gPSAnR2VlbiAlcyBnZWRlZmluaWVlcmQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzX3NlbGVjdGVkJ10gPSAnR2VsaWV2ZSAmZWFjdXRlOyZlYWN1dGU7biBvZiBtZWVyIHJlc2VydmVlcmJhcmUgaXRlbXMgZW4gdGlqZCBpbnRlcnZhbGxlbiB2b29yIGRlemUgcmVzZXJ2ZXJpbmcgdGUgZGVmaW5pJmV1bWw7cmVuJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnS2FuIGdlZW4gZ2VyZWdpc3RyZWVyZGUgZ2VicnVpa2VycyB2aW5kZW4gdm9vciBkZSBkb29yIHUgZ2VzZWxlY3RlZXJkZSBrbGFudGVuZ3JvZXAnOwokbGFuZ1snZXJyb3Jfb3Zlcl9jYXBhY2l0eSddID0gJ0RpdCBpdGVtIGlzIGFsbGVlbiBnZXNjaGlrdCB2b29yICVzIHBlcnNvbmVuLCB1IHZyYWFndCBlZW4gcmVzZXJ2ZXJpbmcgYWFuIHZvb3IgJXMnOwokbGFuZ1snZXJyb3JfcGFzdF9kYXRlcyddID0gJ0VlbiByZXNlcnZlcmluZyBpbiBoZXQgdmVybGVkZW4gaXMgbmlldCBtb2dlbGlqay4nOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbiddID0gJ1UgaGVlZnQgbmlldCBkZSBiZXZvZWdkaGVpZCBvbSBkZXplIGluZm9ybWF0aWUgdGUgYmVraWprZW4nOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdFciBpcyBlZW4gcmVzZXJ2ZXJpbmdzY29uZmxpY3QgZ2VkZXRlY3RlZXJkLic7CiRsYW5nWydlcnJvcl9zZWxlY3Rfc3RhdHVzJ10gPSAnS2llcyBlZW4gc3RhdHVzIHZvb3IgZGV6ZSByZXNlcnZlcmluZy4nOwokbGFuZ1snZXJyb3JfdGltZXBlcmlvZF9zdGFydGVkJ10gPSAnRGUgZ2VzZWxlY3RlZXJkZSBwZXJpb2RlIGlzIGluIGhldCB2ZXJsZWRlbiwgc2VsZWN0ZWVyIGVlbiBwZXJpb2RlIGluIGRlIHRvZWtvbXN0JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ0Jlc3RhbmQgVXBsb2FkIEZvdXQnOwokbGFuZ1snZXZlbnRzX2Zvcl9yZXNvdXJjZSddID0gJ0dlYmV1cnRlbmlzc2VuIHZvb3IgJXMnOwokbGFuZ1snZXZlbnRfdHlwZSddID0gJ0dlYmV1cnRlbmlzIHR5cGUnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdHZWJldXJ0ZW5pcyB0eXBlbic7CiRsYW5nWydleHBpcmVkJ10gPSAnVmVybG9wZW4nOwokbGFuZ1snZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cyddID0gJ1VpdGdlYnJlaWQgZ2VicnVpayB2YW4ga29ydGluZ2VuJzsKJGxhbmdbJ2ZldV9wcmVmZXJlbmNlcyddID0gJ0Zyb250RW5kVXNlciBJbnN0ZWxsaW5nZW4nOwokbGFuZ1snZmllbGRzJ10gPSAnVmVsZGVuJzsKJGxhbmdbJ2ZpbGUnXSA9ICdCZXN0YW5kJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlciAnOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdCZXN0YW5kc2FmaGFuZGVsaW5nIGluc3RlbGxpbmdlbic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3InXSA9ICdWb29yJzsKJGxhbmdbJ2ZvcmVncm91bmRfY29sb3InXSA9ICdWb29yZ3JvbmQga2xldXInOwokbGFuZ1snZnJpZGF5J10gPSAnVnJpamRhZyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdCZXNjaGlrYmFhcmhlaWRzbWFuYWdlcic7CiRsYW5nWydmcm9tJ10gPSAnVmFuJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ0FhbmtvbWVuZCc7CiRsYW5nWydnZW5lcmFsX2NvbmZpZyddID0gJ0FsZ2VtZW5lIEluc3RlbGxpbmdlbic7CiRsYW5nWydncm91cCddID0gJ0dyb2VwJzsKJGxhbmdbJ2d1ZXN0J10gPSAnR2FzdCc7CiRsYW5nWydoYWxmX2RheSddID0gJ0hhbHZlIGRhZyc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdIYWxmIHV1cic7CiRsYW5nWydob3VybHknXSA9ICdQZXIgdXVyJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6cmVkOyZxdW90Oz4tLSBXQVJOSU5HIC0tPC9zcGFuPjwvaDM+DQo8cCBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDVlbTsgcGFkZGluZzogMC41ZW07IGJhY2tncm91bmQ6ICNENEYyMzM7JnF1b3Q7PkFsdGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IG5vIHZhbHVhYmxlIGRhdGEgaXMgbG9zdCBkdXJpbmcgdGhlIHVwZ3JhZGUgcHJvY2VzcywgeW91IGFyZSBhZHZpc2VkIHRvIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGEgY29tcGxldGVseSB2ZXJpZmllZCBiYWNrdXAgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXBncmFkZSB0aGlzIG1vZHVsZS4gIEFsc28sIHRoZSBkYXRhIHN0cnVjdHVyZXMgYW5kIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBoYXZlIGNoYW5nZWQgZHJhbWF0aWNhbGx5IHNpbmNlIHRoZSBwcmV2aW91c2x5IHJlbGVhc2VkIHZlcnNpb24sIHRoZXJlZm9yZSBzb21lIHJlLXN0eWxpbmcgb2YgdGVtcGxhdGVzIHdpbGwgbmVlZCB0byBvY2N1ciBpZiB5b3UgYXJlIHVwZ3JhZGluZyBmcm9tIGEgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBlYXJsaWVyIHRoYW4gMS43LjwvcD4NCjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb21wbGV0ZSBvbmxpbmUgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBzeXN0ZW0gZm9yIGhvdGVscywgY2FyIHJlbnRhbCBhZ2VuY2llcywgb3IgYW55IG90aGVyIHB1cnBvc2Ugd2hlcmUgcGFydGljdWxhciAmYW1wO3F1b3Q7cmVzb3VyY2VzJmFtcDtxdW90OyBjYW4gYmUgcmVzZXJ2ZWQgb24gYSBkYWlseSBiYXNpcy48L3A+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgZnJvbnRlbmQgdXNlcnMgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgcmVzZXJ2YXRpb25zLCBhbmQgdG8gY29udGFjdCBhZG1pbmlzdHJhdG9ycyB3aXRoIGluZm9ybWF0aW9uIGFuZCBxdWVzdGlvbnMgYWJvdXQgcmVzZXJ2YXRpb25zLjwvcD4NCjxwPkEgY29tcGxldGUgYWRtaW4gaW50ZXJmYWNlIGFsbG93cyBhdXRob3JpemVkIGFkbWluaXN0cmF0b3JzIHRvIG1hbmFnZSByZXNvdXJjZXMsIGV2ZW50cywgcmVzZXJ2YXRpb25zLCBhbmQgYWxsIGFzcGVjdHMgb2YgdGhlIGRpc3BsYXlhYmxlIGl0ZW1zLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KPGxpPkFsbG93cyBkZWZpbmluZyB1bmxpbWl0ZWQgbnVtYmVycyBvZiByZXNvdXJjZXMuDQogIDx1bD4NCiAgPGxpPkEgYmFzZSBkYWlseSBwcmljZSBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCByZXNvdXJjZS48L2xpPg0KICA8bGk+UHJpY2UgYWRqdXN0bWVudHMgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggZGF5IG9mIHRoZSB3ZWVrLjwvbGk+DQogIDwvdWw+DQo8bGk+DQo8bGk+QWxsb3dzIGRlZmluaW5nIGFuIHVubGltaXRlZCBudW1iZXIgb2YgY3VzdG9tIGZpZWxkcyB0byBhc3NvY2lhdGUgd2l0aCByZXNvdXJjZXMuPC9saT4NCjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4NCjxsaT5TdXBwb3J0cyBjcmVhdGluZyBldmVudHMgZm9yIHBhcnRpY3VsYXIgcmVzb3VyY2VzIG92ZXIgcGFydGljdWxhciBkYXlzOg0KICA8dWw+DQogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8bGk+Ym9va2FibGUgZXZlbnRzIGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudCB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgcHJpY2Ugb2YgdGhlIHNlbGVjdGVkIHJlc291cmNlcyBvbiB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIHByaWNlIGNhbGN1bGF0aW9uIGZvciByZXNlcnZhdGlvbnMuPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgY29uZmxpY3QgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgbm8gcmVzZXJ2YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciByZXNlcnZlZCByZXNvdXJjZXMsIG9yIGNsb3NlZCByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4NCjwvcD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgcmVzb3VyY2VzIGFuZCBmaWxsIHRoZW0gaW4gd2l0aCBhcyBtdWNoIGRldGFpbCBhcyBwb3NzaWJsZS4gIFlvdSBtYXkgYWxzbyB3YW50IHRvIGNyZWF0ZSBzb21lIGV2ZW50cywgb3IgdG8gbWFyayBvZmYgZGF0ZXMgd2hlbiBwYXJ0aWN1bGFyIHJlc291cmNlcyBhcmUgdW5hdmFpbGFibGUuPC9wPg0KPHA+VG8gZGlzcGxheSBhIHJlc291cmNlIHN1bW1hcnkgdmlldywgeW91IHNob3VsZCBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5fSBpbnRvIGEgY29udGVudCBwYWdlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+DQo8aDQ+UmVzZXJ2YXRpb25zPC9oND4NCjxwPlRoZSBkZWZhdWx0IGZvcm0gZm9yIGFsbG93aW5nIGEgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiByZWxpZXMgaGVhdmlseSBvbiBqcXVlcnksIGFqYXgsIGFuZCBqYXZhc2NyaXB0LiAgVG8gYWxsb3cgdGhlIGRlZmF1bHQgZm9ybSB0byB3b3JrIHByb3Blcmx5IHlvdSBuZWVkIHRvIGVuYWJsZSB0aGUganF1ZXJ5dG9vbHMgbW9kdWxlIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgYW5kIGFsc28gaW5jbHVkZSBhIHNlcGVyYXRlIHNldCBvZiBqYXZhc2NyaXB0IHV0aWxpdGllcyAocGhwX2pzLmpzKSB0aGF0IGlzIHByb3ZpZGVkIHdpdGggdGhlIEF2YWlsYWJpbGl0eSBtb2R1bGVzIGxpYiBkaXJlY3RvcnkuPC9saT4NCjxwPkkgc3VnZ2VzdCB5b3UgYWRkIHRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIHRvIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbnRvIHRoZSBwYWdlIG1ldGFkYXRhIHNlY3Rpb24gb2YgYW55IHBhZ2VzIHRoYXQgd2lsbCBiZSB3b3JraW5nIHdpdGggdGhlIGF2YWlsYWJpbGl0eSBtb2R1bGU6PC9wPg0KPHByZSBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogMmVtOyZxdW90Oz4NCntKUXVlcnlUb29scyBhY3Rpb249XCYjMDM5O2luY2pzXCYjMDM5O30NCjxzY3JpcHQgdHlwZT1cJnF1b3Q7dGV4dC9qYXZhc2NyaXB0XCZxdW90OyBzcmM9JnF1b3Q7e3Jvb3RfdXJsfS9tb2R1bGVzL0F2YWlsYWJpbGl0eS9saWIvcGhwX2pzLmpzJnF1b3Q7Pjwvc2NyaXB0Pg0KPC9wcmU+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAoQykgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ0RlemUgcGFyYW1ldGVyIG1hYWt0IGhldCBtb2dlbGlqayBvbSBoZXQgZ2V3ZW5zdGUgZm9ybXVsaWVyIG9mIHJhcHBvcnQgd2VlciB0ZSBnZXZlbi4gTW9nZWxpamtlIHdhYXJkZW4gemlqbjo8YnIvPiB4eHgNCjx1bD4NCjxsaT5hZGRyZXN2biAtIGhldCB0b2V2b2VnZW4vd2lqemlnZW4gcmVzZXJ2ZXJpbmdzZm9ybXVsaWVyPGJyLz4NCiZuYnNwOyZuYnNwOy0gRGl0IGZvcm11bGllciBnZWVmdCBlZW4gdmFsaWRlIGluZ2Vsb2dkZSBGcm9udEVuZEdlYnJ1aWtlciBkZSBtb2dlbGlqa2hlaWQgb20gZWVuIHJlc2VydmVyaW5nIGluIGhldCBzeXN0ZWVtIHRlIGRvZW4uPC9saT4NCjxsaT5jYWxlbmRhciAtIERlIGthbGVuZGVyIHdlZXJnYXZlPGJyLz4NCiZuYnNwOyZuYnNwOy0gRGV6ZSB3ZWVyZ2F2ZSB0b29udCBkZSBiZXNjaGlrYmFhcmhlaWQgdmFuIHJlc2VydmVlcmJhcmUgaXRlbXMgdm9vciBkZSBodWlkaWdlIG1hYW5kLiBIZXQgc3RhYXQgcGFnaW5lcmVuIHZhbiB2ZXJzY2hpbGxlbmRlIG1hYW5kZW4gdG9lLCBoZXQgYmVraWprZW4gdmFuIGRlIGRldGFpbHMgdmFuIGVlbiByZXNlcnZlZXJiYWFyIGl0ZW0gZW4gaGV0IHZvb3J6aWV0IGluIGVlbiBsaW5rIGRhdCBoZXQgYWRkcmVzdm4gZm9ybXVsaWVyIG9waGFhbHQgdm9vciBkZSBnZXNlbGVjdGVlcmRlIGRhdHVtIGVuIHJlc2VydmVlcmJhYXIgaXRlbS4gPC9saT4NCjxsaT5kZWZhdWx0ICAtIHdlZXJnYXZlIHZhbiBzYW1lbnZhdHRpbmcgdmFuIHJlc2VydmVlcmJhcmUgaXRlbXM8YnIvPg0KJm5ic3A7Jm5ic3A7LSBEZXplIGFjdGllIHRvb250IGVlbiBzYW1lbnZhdHRpbmdzd2VlcmdhdmUgdmFuIGRlIGdlc2VsZWN0ZWVyZGUgcmVzZXJ2ZWVyYmFyZSBpdGVtcy48L2xpPg0KPGxpPmRldGFpbCAgICAtIHdlZXJnYXZlIHZhbiBkZXRhaWxzIHZhbiByZXNlcnZlZXJiYWFyIGl0ZW08YnIvPg0KJm5ic3A7Jm5ic3A7LSBEZXplIGFjdGllIHpvcmd0IGRhdCBhbGxlIGluZm9ybWF0aWUgb3ZlciBlZW4gc3BlY2lmaWVrIHJlc2VydmVlcmJhYXIgaXRlbSB3b3JkdCBnZXRvb25kLjwvbGk+DQo8bGk+bXlyZXNlcnZhdGlvbiAtIEhldCBteXJlc2VydmF0aW9ucyByYXBwb3J0Ljxici8+DQombmJzcDsmbmJzcDstIERlemUgd2FhcmRlIHpvcmd0IGVydm9vciBkYXQgZWVuIHJhcHBvcnQgd29yZHQgd2VlcmdlZ2V2ZW4gdmFuIGRlIHJlc2VydmVyaW5nZW4gaW4gZGUga29tZW5kZSB0aWpkIChvcHRpb25lZWwgb29rIGRpZSB2YW4gZGUgdmVybGVkZW4gdGlqZCkgdmFuIGRlemUgc3BlY2lmaWVrZSBnZWJydWlrZXIuPC9saT4NCjxsaT5zZW5kZW1haWwgLSBIZXQgRS1tYWlsIGZvcm11bGllciBvbSBlZW4gYmVyaWNodCBiaWogZGUgcmVzZXJ2ZXJpbmcgbWVlIHRlIHplbmRlbi48YnIvPg0KJm5ic3A7Jm5ic3A7LSBIaWVybWVlIHdvcmR0IGVlbiBmb3JtdWxpZXIgZ2V0b29uZCB3YWFybWVlIEZyb250RW5kIEdlYnJ1aWtlcnMgZWVuIGJlcmljaHQgbWVlIGt1bm5lbiB6ZW5kZW4gYWFuIGRlIHdlYnNpdGUgYmVoZWVyZGVyIG1ldCBleHRyYSBpbmZvcm1hdGllIG9mIHZyYWdlbiBvdmVyIGVlbiBzcGVjaWZpZWtlIHJlc2VydmVyaW5nLjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfY2FsZW5kYXJ0ZW1wbGF0ZSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIHdlZXJnYXZlIHZhbiBkZSBrYWxlbmRlci4gRGV6ZSBwYXJhbWV0ZXIgZ2VlZnQgZGUgbW9nZWxpamtoZWlkIG9tIGVlbiBhbmRlcmUgd2VlcmdhdmVzamFibG9vbiB0b2UgdGUgcGFzc2VuIGRhbiBkZSBzdGFuZGFhcmQuJzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdWYW4gdG9lcGFzc2luZyBvcCBkZSB3ZWVyZ2F2ZSB2YW4gZGUga2FsZW5kZXIuIERlemUgcGFyYW1ldGVyIHNwZWNpZmljZWVydCBlZW4gZG9vciBrb21tYSYjMDM5O3MgZ2VzY2hlaWRlbiBsaWpzdCB2YW4gY2F0ZWdvcmllLW5hbWVuIGRpZSBnZWJydWlrdCB3b3JkZW4gb20gZGUgZ2VzZWxlY3RlZXJkZSBkYXRhIHdlZXIgdGUgZ2V2ZW4uIERlemUgcGFyYW1ldGVyIGthbiBuaWV0IHNhbWVuIG1ldCBkZSBicm9uLXBhcmFtZXRlciB3b3JkZW4gZ2VicnVpa3QuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnVmFuIHRvZXBhc3Npbmcgb3AgaGV0IHJlc2VydmVyaW5nc2Zvcm11bGllci4gRGV6ZSBwYXJhbWV0ZXIgbWFha3QgaGV0IG1vZ2VsaWprIG9tIGVlbiBuaWV0IHN0YW5kYWFyZCByZXNlcnZlcmluZ3NiZXZlc3RpZ2luZy1zamFibG9vbiB0ZSBzcGVjaWZpY2VyZW4gb20gZ2VicnVpa3QgdGUgd29yZGVuIGFscyBlZW4gYmV6b2VrZXIgb25saW5lIGVlbiByZXNlcnZlcmluZyBhYW5tYWFrdC4nOwokbGFuZ1snaGVscF9kYXl0ZW1wbGF0ZSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIGRhZ3dlZXJnYXZlLiBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgb20gZWVuIG5pZXQgc3RhbmRhYXJkIGRhZ3dlZXJnYXZlIHNqYWJsb29uIHRlIGdlYnJ1aWtlbiBiaWogaGV0IGdlbmVyZXJlbiB2YW4gZGV6ZSB3ZWVyZ2F2ZS4nOwokbGFuZ1snaGVscF9kYXknXSA9ICdHZWJydWlrIHNhbWVuIG1ldCBkZSAmIzAzOTthZGRyZXN2biYjMDM5OyBmb3JtdWxpZXIgb20gZWVuIHN0YW5kYWFyZCBkYWcgdGUgc3BlY2lmaWNlcmVuJzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIHdlZXJnYXZlbiB2YW4gZGUga2FsZW5kZXIsIGRlZmF1bHQgKHNhbWVudmF0dGluZykgZW4gbXlyZXNlcnZhdGlvbnMuIEhpZXJtZWUga3VudCB1IGVlbiBvcHRpb25lbGUgcGFnaW5hIGluc3RlbGxlbiB2b29yIGhldCBiZWtpamtlbiB2YW4gb2Z3ZWwgZGUgZGV0YWlscyB2YW4gaGV0IHRlIHJlc2VydmVyZW4gaXRlbSwgaGV0IHJlc2VydmVyaW5nc2Zvcm11bGllciBvZiBoZXQgYmVyaWNodGVuZm9ybXVsaWVyLiBBbHMgYmlqIGRlemUgd2FhcmRlIG5pZXRzIGlzIGFhbmdlZ2V2ZW4sIHphbCBkZSBpbiBoZXQgYWRtaW4gcGFuZWVsIGFhbmdlZ2V2ZW4gdm9vcmtldXIgd29yZGVuIHRvZWdlcGFzdC4gQWxzIG9vayBkaWUgbmlldCBpcyBpbmdlc3RlbGQsIHphbCBkZSBvcCBkYXQgbW9tZW50IGdlb3BlbmRlIHBhZ2luYSB3b3JkZW4gZ2VicnVpa3QuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdWYW4gdG9lcGFzc2luZyBvcCBkZSB3ZWVyZ2F2ZW4gdmFuIGRlIGthbGVuZGVyLCBkZWZhdWx0IChzYW1lbnZhdHRpbmcpIGVuIG15cmVzZXJ2YXRpb25zLiBIaWVybWVlIGt1bnQgdSBlZW4gbmlldCBzdGFuZGFhcmQgc2phYmxvb24gaW5zdGVsbGVuIHZvb3IgZWxrZSBnZXdlbnN0ZSB3ZWVyZ2F2ZS4gRGV6ZSBwYXJhbWV0ZXIgemFsIGVjaHRlciBnZWVuIGVmZmVjdCBoZWJiZW4gYWxzIHUgcHJldHR5IHVybHMgaGVlZnQgaW5nZXN0ZWxkLic7CiRsYW5nWydoZWxwX2VtYWlsdGVtcGxhdGUnXSA9ICdWYW4gdG9lcGFzc2luZyBvcCBkZSBrYWxlbmRlciwgbXlyZXNlcnZhcmlvbiBlbiBhZGRyZXN2biBhY3Rpb25zLiBIaWVybWVlIGt1bnQgdSBlZW4gZWlnZW4gKG5pZXQgc3RhbmRhYXJkKSBFLW1haWwgc2phYmxvb24gaW5zdGVsbGVuIG9tIHRlIGdlYnJ1aWtlbiBiaWogaGV0IHZlcnplbmRlbiB2YW4gRS1tYWlscy4nOwokbGFuZ1snaGVscF9pbmxpbmUnXSA9ICdBbGxlZW4gdmFuIHRvZXBhc3Npbmcgb3AgZGUgc2VhcmNoIGFjdGllLiBEZXplIHBhcmFtZXRlciBiZXBhYWx0IG9mIGRlIHpvZWtyZXN1bHRhdGVuIGlubGluZSAodmVydmFuZ3QgZGUgb29yc3Byb25rZWxpamtlIHRhZykgd2VlcmdlZ2V2ZW4gbW9ldGVuIHdvcmRlbiwgb2YgZGF0IGluIGRlIHBsYWF0cyBrb21lbiB2YW4gZGUgY29udGVudCBhcmVhLiBEZXplIHBhcmFtZXRlciBoZWVmdCBlY2h0ZXIgZ2VlbiBlZmZlY3QgYWxzIGRlIHNhbWVudmF0dGluZ3NwYXJhbWV0ZXIgb29rIGlzIGluZ2VzdGVsZC4nOwokbGFuZ1snaGVscF9tb250aCddID0gJ0luIGNvbWJpbmF0aWUgbWV0IGhldCBhZGRyZXN2biBmb3JtdWxpZXIgZ2VlZnQgZGV6ZSBwYXJhbWV0ZXIgZGUgbW9nZWxpamtoZWlkIGVlbiBzdGFuZGFhcmQgbWFhbmQgb3AgdGUgZ2V2ZW4nOwokbGFuZ1snaGVscF9teXJlc3ZudGVtcGxhdGUnXSA9ICdBbGxlZW4gdmFuIHRvZXBhc3Npbmcgb3AgZGUgbXlyZXNlcnZhdGlvbiB3ZWVyZ2F2ZS4gRGV6ZSBwYXJhbWV0ZXIgem9yZ3QgZXJ2b29yIGRhdCBlZW4gZWlnZW4gKG5pZXQgc3RhbmRhYXJkKSBzamFibG9vbiBpbmdlc3RlbGQga2FuIHdvcmRlbiB2b29yIGRlemUgd2VlcmdhdmUuJzsKJGxhbmdbJ2hlbHBfcGFnZWxpbWl0J10gPSAnRGV6ZSBwYXJhbWV0ZXIga2FuIHdvcmRlbiBnZWJydWlrdCBvbSBoZXQgYWFudGFsIHdlZXIgdGUgZ2V2ZW4gcmVzZXJ2ZWVyYmFyZSBpdGVtcyBwZXIgcGFnaW5hIGluIHRlIHN0ZWxsZW4uJzsKJGxhbmdbJ2hlbHBfcmVzb3VyY2VzJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgYWNjZXB0ZWVydCBlZW4gZG9vciBrb21tYSYjMDM5O3MgZ2VzY2hlaWRlbiBsaWpzdCB2YW4gZGUgbmFtZW4gdmFuIGRlIHJlc2VydmVlcmJhcmUgaXRlbXMgb20gdGUgdG9uZW4uIEhpaiBrYW4gZWNodGVyIE5JRVQgd29yZGVuIHRvZWdlcGFzdCB0ZXphbWVuIG1ldCBkZSBjYXRlZ29yaWUgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3Jlc3ZudGVtcGxhdGUnXSA9ICdWc24gdG9lcGFzc2luZyBvcCBkZSBhZGRyZXN2biwga2FsZW5kZXIgZW4gbXlyZXNlcnZhdGlvbiBhY3Rpb25zLiBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgZWVuIGVpZ2VuIChuaWV0IHN0YW5kYWFyZCkgcmVzZXJ2ZXJpbmdzZm9ybXVsaWVyLXNqYWJsb29uIHRlIHNwZWNpZmljZXJlbiBkaWUgdmVydm9sZ2VucyB0b2VnZXBhc3Qgd29yZHQgYmlqIGhldCBhYW5tYWtlbiBvZiB3aWp6aWdlbiB2YW4gZWVuIHJlc2VydmVyaW5nLic7CiRsYW5nWydoZWxwX3Jlc3ZfaWQnXSA9ICdWYW4gdG9lcGFzc2luZyBvcCBoZXQgYWRkcmVzdm4gZm9ybXVsaWVyLiBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgb20gZGUgaWQgYWFuIHRlIGdldmVuIHZhbiBlZW4gYmVzdGFhbmRlIHJlc2VydmVyaW5nIG9tIHRlIGVkaXRlbiAoYWFuIHRlIHBhc3NlbikuIFdhYXJzY2hpam5saWprIGhlYiBqZSBkZXplIHBhcmFtZXRlciBuaWV0IGluIGRpcmVjdGUgemluIG5vZGlnLic7CiRsYW5nWydoZWxwX3JzcmNpZCddID0gJ0RlemUgcGFyYW1ldGVyIHdvcmR0IGdlYWNjZXB0ZWVyZCBkb29yIGRlIGRldGFpbCBzamFibG9vbiBvbSBlZW4gZGV0YWlsIHJhcHBvcnQgdGUgdG9uZW4gdmFuIGVlbiBzcGVjaWZpZWsgcmVzZXJ2ZWVyYmFhciBpdGVtLic7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQWxsZWVuIHZhbiB0b2VwYXNzaW5nIG9wIGRlIHpvZWsgYWN0aWUsIGRlemUgcGFyYW1ldGVyIHN0YWF0IHRvZSBkYXQgamUgZWVuIG5pZXQgc3RhbmRhYXJkIHpvZWsgc2phYmxvb24gc3BlY2lmaWNlZXJ0Lic7CiRsYW5nWydoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJ10gPSAnQWxsZWVuIHZhbiB0b2VwYXNzaW5nIG9wIGRlIG15cmVzZXJ2YXRpb24gd2VlcmdhdmUuIEhpZXJtZWUga3VudCB1IGVlbiBuaWV0IHN0YW5kYWFyZCAoZWlnZW4pIHNqYWJsb29uIGluc3RlbGxlbiB2b29yIGhldCBFLW1haWwgZm9ybXVsaWVyLiBEZXplIHBhcmFtZXRlciB6YWwgZWNodGVyIGdlZW4gZWZmZWN0IGhlYmJlbiBhbHMgdSBwcmV0dHkgdXJscyBoZWVmdCBpbmdlc3RlbGQuJzsKJGxhbmdbJ2hlbHBfc2hvd2FsbCddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBkZSB3ZWVyZ2F2ZSB2YW4gbXlyZXNlcnZhdGlvbnMuIERlemUgcGFyYW1ldGVyIG1hYWt0IGhldCBtb2dlbGlqayBvbSBhbGxlIHJlc2VydmVyaW5nZW4gaW4gJmVhY3V0ZTsmZWFjdXRlO24ga2VlciB0ZSB0b25lbiwgaW5jbHVzaWVmIGRpZSBpbiBoZXQgdmVybGVkZW4uJzsKJGxhbmdbJ2hlbHBfc29ydGJ5J10gPSAnIA0KVmFuIHRvZXBhc3Npbmcgb3AgZGUgd2VlcmdhdmUgdmFuIG15cmVzZXJ2YXRpb25zIGVuIGRlIHNhbWVudmF0dGluZ3N3ZWVyZ2F2ZSB2YW4gcmVzZXJ2ZWVyYmFyZSBpdGVtcywgRGV6ZSBwYXJhbWV0ZXIgbWFha3QgaGV0IG1vZ2VsaWprIG9tIGRlIHNvcnRlZXJ2b2xnb3JkZSB0ZSB3aWp6aWdlbiB2YW4gZGUgZ2V0b29uZGUgaXRlbXMuIE1vZ2VsaWprZSB3ZWVyZ2F2ZW4gemlqbjo8L2JyPg0KU2FtZW52YXR0aW5nc3dlZXJnYXZlIHJlc2VydmVlcmJhcmUgaXRlbXM6PGJyLz4NCjx1bD4NCiAgPGxpPm5hbWU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KPC91bD4NCm15ZXNlcnZhdGlvbnMgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+c3RhcnRfZGF0ZTwvbGk+DQogIDxsaT5lbmRfZGF0ZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+DQogIDxsaT5tb2RpZmllZF9kYXRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcgYW5kIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiB0aGUgc2VsZWN0ZWQgZGF0YS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz48dWw+PGxpPmFzYyAtIGFzY2VuZGluZzwvbGk+PGxpPmRlc2MgLSBkZXNjZW5kaW5nPC9saT48L3VsPic7CiRsYW5nWydoZWxwX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGlkIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHJlc3VsdGluZyBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIG9uLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCBpbmxpbmUgaXMgc2V0IHRvIGZhbHNlLic7CiRsYW5nWydoZWxwX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIHN0YW5kYWFyZCAoZGVmYXVsdCkgc2FtZW52YXR0aW5nc3dlZXJnYXZlLiBEZXplIGluc3RlbGxpbmcgbWFha3QgaGV0IG1vZ2VsaWprIG9tIGVlbiBhbmRlciBzamFibG9vbiB0ZSBraWV6ZW4gdm9vciBkZXplIHdlZXJnYXZlLic7CiRsYW5nWydoZWxwX3llYXInXSA9ICdJbiBjb21iaW5hdGllIG1ldCBoZXQgYWRkcmVzdm4gZm9ybXVsaWVyIGdlZWZ0IGRlemUgcGFyYW1ldGVyIGRlIG1vZ2VsaWpraGVpZCBlZW4gc3RhbmRhYXJkIGphYXIgb3AgdGUgZ2V2ZW4nOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnR2VzY2hpZWRlbmlzIHZlcmdlbGlqa2luZyc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQWZiZWVsZGluZyc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdBZmJlZWxkaW5nJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0FmYmVlbGRpbmdzYWZoYW5kZWxpbmcgaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ1Rvb24gZWVuIGZvcm11bGllciB2YW4gaGV0IGdlYnJ1aWtlcnNiZWhlZXItc2NoZXJtIG9tIGVlbiBuaWV1d2UgZ2VicnVpa2Vycy1hY2NvdW50IHRvZSB0ZSB2b2VnZW4nOwokbGFuZ1snaW5mb19hZGp1c3RtZW50X3ZhbHVlcyddID0gJ0FkanVzdG1lbnQgdmFsdWVzIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YgW3N5bWJvbF0jIy4jIy4gIFN5bWJvbCBjYW4gYmUgb25lIG9mICssLSwgb3IgKi4gIGkuZTogKjAuODUgb3IgKzE1LjI1LiAgSWYgbm8gc3ltYm9sIGlzIHNwZWNpZmllZCwgKyBpcyBhc3N1bWVkLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnRGl0IHNqYWJsb29uIGRlZmluaWVlcnQgaGV0IHVpdGVybGlqayB2YW4gaGV0IGdlYXZhbmNlZXJkZSB6b2VrZm9ybXVsaWVyLCBnZXRvb25kIG1ldCBkZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aWUuIEplIGt1bnQgYWxsZSBnZXdlbnN0ZSBzbWFydHkgbG9naWMgZW4gdGFncyB0b2VwYXNzZW4gaW4gZGl0IHNqYWJsb29uLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gb3ZlcnppY2h0IHZhbiBkZSBiZXNjaGlrYmFyZSBnZWF2YW5jZWVyZGUgem9la2Zvcm11bGllciBzamFibG9uZW4sIG9tIHRlIGdlYnJ1aWtlbiBtZXQgZGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGllLic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ0dlYnJ1aWt0IG9tIGJyb25uZW4gdGUgYm9la2VuIHdhYXJ2b29yIGdlZW4gcHJpanMgaXMgb3BnZWdldmVuJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IHZhbiBkZSBiZXNjaGlrYmFyZSBrYWxlbmRlciBzamFibG9uZW4gb20gdGUgZ2VicnVpa2VuIGluIGRlIGthbGVuZGVyIHdlZXJnYXZlIGFhbiBkZSB2b29ya2FudCB2YW4gZGUgc2l0ZS4nOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdEaXQgc2phYmxvb24gYmVwYWFsdCBkZSB3ZWVyZ2F2ZSB2YW4gaGV0IGUtbWFpbCBiZXJpY2h0IGRhdCBhYW4gZGUgZ2VicnVpa2VyIHdvcmR0IHZlcnpvbmRlbi4gQWxsZSBzbWFydHkgbG9naWMgaXMgaGllcmluIHRvZWdlc3RhYW4sIGV2ZW5hbHMgdGFncy4gRGUgdm9sZ2VuZGUgdmFyaWFiZWxlbiB6aWpuIHNwZWNpZmllayB2b29yIGRpdCBzamFibG9vbjogeyRzdWJqZWN0fSAtIGhldCBvbmRlcndlcnAgdmFuIGhldCBFLW1haWwgYmVyaWNodCwgeyRib2R5fSAtIERlIGluaG91ZCB2YW4gaGV0IGJlcmljaHQuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gb3ZlcnppY2h0IHZhbiBkZSBiZXNjaGlrYmFyZSBzamFibG9uZW4gdm9vciBFLW1haWwgYmVyaWNodGVuIG5hYXIga2xhbnRlbiBkaWUgZWVuIHJlc2VydmVyaW5nIGdlYm9la3QgaGViYmVuLic7CiRsYW5nWydpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCBwcm9wZXJ0aWVzIHNob3VsZCBiZSBsaXN0ZWQgaW4gdXNlciBsaXN0cy48YnIvPlVzZSB7JHByb3BlcnR5bmFtZX0gdG8gaWRlbnRpZnkgYSBzaW5nbGUgcHJvcGVydHkuPGJyLz5SZWZlciB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIHRoZSBsaXN0IG9mIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBncm91cC48YnIvPllvdSBjYW4gYWxzbyB1c2UgdGhlIHskdXNlcm5hbWV9IHRhZyB0byBpbmRpY2F0ZSB0aGUgdXNlcnMgbG9naW4gbmFtZS4nOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgYW5kIGV2ZW50cyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRheSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBkYXkgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGNsaWNraW5nIG9uIGFuIGluZGl2aWR1YWwgZGF5IGZyb20gdGhlIGRlZmF1bHQgY2FsZW5kYXIgZGlzcGxheSc7CiRsYW5nWydpbmZvX2RlcG9zaXQnXSA9ICdIZXQgaG9vZ3N0IGJlcmVrZW5kZSBiZWRyYWcgemFsIHdvcmRlbiBnZWJydWlrdCBhbHMgbWluaW1hbGUgYWFuYmV0YWxpbmcgdm9vciBlbGtlIHJlc2VydmVyaW5nLiBEZSBob29ndGUgdmFuIGhldCBiZWRyYWcgdmFuIGFhbmJldGFsaW5nIHphbCBub29pdCBob2dlciB6aWpuIGRhbiBoZXQgYmVkcmFnIHZvb3IgZGUgdG90YWxlIHJlc2VydmVyaW5nLic7CiRsYW5nWydpbmZvX2RlcG9zaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0Egc21hcnR5IHRlbXBsYXRlIHVzZWQgdG8gYnVpbGQgdGhlIGxpbmUgaXRlbSBkZXNjcmlwdGlvbiB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgY2FydCBhbmQgb24gaW52b2ljZXMuICAgUG9zc2libGUgdmFyaWFibGVzIGFyZSB7XCRyZXN2bl9vYmp9IDxlbT4odGhlIGVudGlyZSByZXNlcnZhdGlvbiBvYmplY3QpPC9lbT4sIHtcJGRlcG9zaXRfYW1vdW50fSBvciBhbnkgb3RoZXIgZXhpc3Rpbmcgc21hcnR5IHZhcmlhYmxlIG9yIHBsdWdpbi4nOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ0RlemUgdGFiIGJldmF0IGVlbiBvdmVyemljaHQgdmFuIGRlIGJlc2NoaWtiYXJlIHNqYWJsb25lbiB2b29yIGRlIGl0ZW0gZGV0YWlscy4gRGV6ZSBzamFibG9uZW4gd29yZGVuIGdlYnJ1aWt0IHZvb3IgZGUgd2VlcmdhdmUgdmFuIGRlIGRldGFpbHMgdmFuIGRlIHZlcnNjaGlsbGVuZGUgaXRlbXMuJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGV0YWlsIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnU2F2ZSAlcyBhZnRlciBwdXJjaGFzaW5nICVzIHBlcmlvZHMgYXQgdGhlIHJlZ3VsYXIgcHJpY2UuJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfYWxsYWRqdXN0J10gPSAnU2F2ZSAlcyBvZmYgb2YgZWFjaCBwZXJpb2Qgd2l0aCBhIHJlc2VydmF0aW9uIGZvciAlcyBwZXJpb2RzJzsKJGxhbmdbJ2luZm9fZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnUmVjZWl2ZSBvbmUgZnJlZSBwZXJpb2QgYWZ0ZXIgcHVyY2hhc2luZyAlcyc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdVdyBlLW1haWwgYmVyaWNodCBpcyB2ZXJ6b25kZW4uIEVlbiByZWNvcmQgdmFuIHV3IGUtbWFpbCBiZXJpY2h0IGlzIGdla29wcGVsZCBhYW4gZGUgZGV0YWlscyB2YW4gdXcgdHJhbnNhY3RpZSB2b29yIHRvZWtvbXN0aWdlIHJlZmVyZW50aWVzLic7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnQmVub2VtIGRlIGZvcm1hdCB2YW4gZGUgaW5ob3VkIHZhbiBoZXQgTWlqblJlc2VydmVyaW5nZW4gcmFwcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdEZXplIHRhYiBiZXZhdCBlZW4gb3ZlcnppY2h0IHZhbiBkZSBiZXNjaGlrYmFyZSB3ZWVyZ2F2ZSBteXJlc2VydmF0aW9ucyBzamFibG9uZW4gb20gdGUgZ2VicnVpa2VuIGFscyAgdm9vciBhY3Rpb249bXlyZXNlcnZhdGlvbnMgaXMgZ2Vrb3plbi4nOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhaWx5IGFtb3VudCB0byBhZGQgKHBlciB1bml0KSB0byByZXNlcnZhdGlvbiBwcmljZSwgZm9yIGVhY2ggdW5pdCBvdmVyIHRoZSBzdGF0ZWQgY2FwYWNpdHkgKGFwcGxpY2FibGUgb25seSBpZiB0aGUgY2FwYWNpdHkgaXMgYSB2YWxpZCB2YWx1ZSkuJzsKJGxhbmdbJ2luZm9fcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYWNjZXNzIHRoZSByZXNlcnZhdGlvbnMgZm9ybSBpZiBub3QgbG9nZ2VkIGluLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnQmVub2VtIGVlbiBwYWdpbmEgZGllIHdvcmR0IGdldG9vbmQgbmEgaGV0IG1ha2VuIHZhbiBlZW4gcmVzZXJ2ZXJpbmcnOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBlZGl0IHJlc2VydmF0aW9uIHVybHMsIGFuZCBzZW5kIG1lc3NhZ2UgdXJscyc7CiRsYW5nWydpbmZvX3Jlc291cmNlc19maWx0ZXInXSA9ICc8c3Ryb25nPkxldCBvcDo8L3N0cm9uZz4gQWxzIGRlIG9wc29tbWluZyB2YW4gZGUgaXRlbXMgb3AgJmVhY3V0ZTsmZWFjdXRlO24gcGFnaW5hIHBhc3NlbiBlbiBlciB2ZXJkZXIgZ2VlbiBmaWx0ZXJpbmcgdmFuIHRvZXBhc3NpbmcgaXMsIGRhbiBpcyBoZXQgbW9nZWxpamsgb20gZGUgc3RhbmRhYXJkd2lqemUgdmFuIHNvcnRlcmVuIGFhbiB0ZSBwYXNzZW4uJzsKJGxhbmdbJ2luZm9fcmVzb3VyY2VfdHlwZSddID0gJ1NwZWNpZnkgdGhlIHR5cGUgb2YgcmVzb3VyY2UgeW91IHdpbGwgYmUgbWFuYWdpbmcuICBpLmU6ICZxdW90O3Jvb20mcXVvdDsgb3IgJnF1b3Q7Y2FyJnF1b3Q7IGV0Yy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIGxhYmVsbGluZyBvZiB0aGUgZW50aXJlIG1vZHVsZS4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9hZG1pbl9zdGFydHllYXInXSA9ICdUaGlzIHZhcmlhYmxlIHNwZWNpZmllcyB3aGF0IHllYXIgdGhlIGRyb3Bkb3duIGxpc3RzIHNob3VsZCBzdGFydCBhdCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24gZnJvbSB0aGUgYWRtaW4gaW50ZXJmYWNlLiAgTm90ZSB0aGlzIGFsbG93cyBhZGRpbmcgYW5kIGVkaXRpbmcgcmVzZXJ2YXRpb25zIGZvciBsb25nIHBhc3QgZGF0ZXMuJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGUnXSA9ICdCZW5vZW0gZGUgZm9ybWF0IHZhbiBkZSByZXNlcnZlcmluZyBmb3JtdWxpZXIuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0Jlbm9lbSBkZSBmb3JtYXQgdmFuIGRlIHJlc2VydmVyaW5nIGJldmVzdGlnaW5nIG1haWwuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jlbm9lbSBkZSBmb3JtYXQgdmFuIGRlIHJlc2VydmVyaW5nIGJldmVzdGlnaW5nIHJhcHBvcnQuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IG1ldCBiZXNjaGlrYmFyZSBFLW1haWwgc2phYmxvbmVuIHZvb3IgaGV0IHN0dXJlbiB2YW4gYmV2ZXN0aWdpbmdlbi4gRGV6ZSBzamFibG9uZW4gd29yZGVuIGdlYnJ1aWt0IHZvb3IgaGV0IGJlcmljaHQgZGF0IG5hYXIgZGUga2xhbnQgd29yZHQgZ2VzdHV1cmQgbmFkYXQgZWVuIHNpdGUgYmV6b2VrZXIgZWVuIHJlc2VydmVyaW5nIGhlZWZ0IGdlbWFha3QuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIG92ZXJ6aWNodCB2YW4gZGUgYmVzY2hpa2JhcmUgYmV2ZXN0aWdpbmdzc2phYmxvbmVuLiBEZXplIHNqYWJsb25lbiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBoZXQgdG9uZW4gdmFuIGhldCBiZXJpY2h0IGVuIGRlIGdlZ2V2ZW5zIGRpZSB3b3JkZW4gZ2V0b29uZCBuYWRhdCBlZW4gYmV6b2VrZXIgdmFuIGRlIHNpdGUgZWVuIHJlc2VydmVyaW5nIG1hYWt0IG9mIHdpanppZ3QuJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYiddID0gJ0RlemUgdGFiIGJldmF0IGVlbiBvdmVyemljaHQgdmFuIGRlIGJlc2NoaWtiYXJlIHNqYWJsb25lbiB2b29yIGhldCByZXNlcnZlcmluZ3Nmb3JtdWxpZXIuIERlemUgc2phYmxvbmVuIHdvcmRlbiBnZWJydWlrdCB2b29yIGhldCBmb3JtdWxpZXIgZGF0IHdvcmR0IGdldG9vbmQgdm9vciBoZXQgbWFrZW4gb2Ygd2lqemlnZW4gdmFuIGVlbiByZXNlcnZlcmluZy4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdNZXQgZGl0IHNqYWJsb29uIHdvcmR0IGRlIHdlZXJnYXZlIGJlcGFhbGQgdmFuIGhldCBmb3JtdWxpZXIgb20gZWVuIEUtbWFpbCB0ZSBzdHVyZW4gbmFhciBkZSBlaWdlbmFhcnMgdmFuIGhldCBiZWRyaWpmIG1ldCBleHRyYSBpbmZvcm1hdGllIG9mIHZyYWdlbiBvdmVyIGVlbiByZXNlcnZlcmluZy4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ0RlemUgdGFiIGJldmF0IGVlbiBvdmVyemljaHQgdmFuIGRlIGJlc2NoaWtiYXJlIHNqYWJsb25lbiB2b29yIGhldCBFLW1haWwgZm9ybXVsaWVyLiBEZXplIHNqYWJsb25lbiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBoZXQgZm9ybXVsaWVyIHdhYXJtZWUgZWVuIEUtbWFpbCAtIGdlcmVsYXRlZXJkIGFhbiBkZSByZXNlcnZlcmluZyAtIGthbiB3b3JkZW4gZ2VzdHV1cmQuJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnR2VicnVpayBzLnYucC4gZGl0IGZvcm11bGllciBvbSBleHRyYSBpbmZvcm1hdGllIHRlIGdldmVuIG9mIHZyYWdlbiB0ZSBzdGVsbGVuIG92ZXIgdXcgcmVzZXJ2ZXJpbmcuJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIHN1bW1hcnkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIHN1bW1hcnkgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBzdW1tYXJ5IHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyA8ZW0+KHRoaXMgaXMgdGhlIGRlZmF1bHQgdmlldyk8L2VtPic7CiRsYW5nWydpbmZvX3N5c2RmbHRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgR2VhdmFuY2VlcmQgem9layBmb3JtdWxpZXIgc2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIEthbGVuZGVyIHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgS2xhbnRlbiBlLW1haWwgc2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X2RheV90ZW1wbGF0ZSddID0gJ1N5c3RlZW0gU3RhbmRhYXJkIERhZyBPdmVyemljaHQgU2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBSZXNlcnZlZXJiYWFyIEl0ZW0gZGV0YWlsIHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9teXJlc3ZfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgJnF1b3Q7TWlqbiBSZXNlcnZlcmluZ2VuJnF1b3Q7IHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBSZXNlcnZlcmluZ3MgZm9ybXVsaWVyIHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIFJlc2VydmVyaW5ncyBiZXZlc3RpZ2luZyBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBSZXNlcnZlcmluZ3MgYmV2ZXN0aWdpbmdzLWUtbWFpbCBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIFZlcnplbmQgZS1tYWlsIGZvcm11bGllciBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBSZXNlcnZlZXJiYWFyIEl0ZW0gc2FtZW52YXR0aW5nIHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ1dpanppZ2luZ2VuIGFhbiBkZXplIHNqYWJsb29uIGhlYmJlbiBnZWVuIGRpcmVjdCBlZmZlY3Qgb3AgZGUgb3V0cHV0LiBEaXQgZm9ybXVsaWVyIGNvbnRyb2xlZXJ0IGRlIHdhYXJkZSB2YW4gZWVuIHNqYWJsb29uIGRpZSB1IG1hYWt0IGRvb3Igb3AgJnF1b3Q7TmlldXcgc2phYmxvb24mcXVvdDsgdGUga2xpa2tlbiBpbiBkZSBiZXRyZWZmZW5kZSB0YWIuJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnVG9vbiBnZWRldGFpbGxlZXJkZSBpbmZvcm1hdGllIG92ZXIgZGV6ZSBnZWJydWlrZXInOwokbGFuZ1snaW5pdGlhbF9yZXNlcnZhdGlvbl9ub3RlcyddID0gJ0VlcnN0ZSBSZXNlcnZlcmluZyBPcG1lcmtpbmdlbic7CiRsYW5nWydpbl9jYXJ0J10gPSAnSW4gQ2hlY2tvdXQgUHJvY2VzJzsKJGxhbmdbJ2luX3Byb2dyZXNzJ10gPSAnSW4gYmVoYW5kZWxpbmcnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdTbGV1dGVsd29vcmRlbic7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYWF0c3QgZ2V3aWp6aWdkJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2VuZGEnOwokbGFuZ1snbGJsX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlcyddID0gJ1VpdGdlYnJlaWQgWm9la2Zvcm11bGllciBTamFibG9uZW4nOwokbGFuZ1snbGJsX2JhY2snXSA9ICdUZXJ1Zyc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdLYWxlbmRlcic7CiRsYW5nWydsYmxfY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnXSA9ICdLYWxlbmRlciBTamFibG9uZW4nOwokbGFuZ1snbGJsX2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dGVuJzsKJGxhbmdbJ2xibF9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdLbGFudCBFLW1haWwgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnVnJpamUgdmVsZGVuJzsKJGxhbmdbJ2xibF9kYXlfdmlld190ZW1wbGF0ZXMnXSA9ICdEYWcgT3ZlcnppY2h0IFNqYWJsb25lbic7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdTdGFuZGFhcmQgc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFNqYWJsb25lbic7CiRsYW5nWydsYmxfZXZlbnRzJ10gPSAnR2ViZXVydGVuaXMnOwokbGFuZ1snbGJsX2V2ZW50X3R5cGVzJ10gPSAnR2ViZXVydGVuaXMgdHlwZW4nOwokbGFuZ1snbGJsX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcyddID0gJ01pam4gcmVzZXJ2ZXJpbmdzc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9wcmVmZXJlbmNlcyddID0gJ1Zvb3JrZXVyZW4nOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9ucyddID0gJ1Jlc2VydmVyaW5nZW4nOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzJ10gPSAnUmVzZXJ2ZXJpbmcgYmV2ZXN0aWdpbmcgZW1haWwgc2phYmxvbmVuJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX3RlbXBsYXRlcyddID0gJ1Jlc2VydmVyaW5nIEJldmVzdGlnaW5nc3NqYWJsb25lbic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnXSA9ICdSZXNlcnZlcmluZ3Nmb3JtdWxpZXIgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9yZXNvdXJjZXMnXSA9ICdSZXNlcnZlZXJiYXJlIGl0ZW1zJzsKJGxhbmdbJ2xibF9zZW5kZW1haWxfdGVtcGxhdGVzJ10gPSAnVmVyc3R1dXIgRS1tYWlsIEZvcm11bGllciBTamFibG9uZW4nOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnQmVoZWVyIEluc3RlbGxpbmdlbic7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdVaXR0cmVrc2VsIHNqYWJsb25lbic7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnQmVoZWVyIHNqYWJsb25lbic7CiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ0JlaGVlciBrbGFudGVuY29udGFjdCB2b29yIGRlIHJlc2VydmVyaW5nJzsKJGxhbmdbJ21hbmFnZXInXSA9ICdNYW5hZ2VyICc7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTWF4LiBMZW5ndGUnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0JlcmljaHQgc2phYmxvb24nOwokbGFuZ1snbWVzc2FnZV90ZXh0J10gPSAnQmVyaWNodCBnZWRlZWx0ZSc7CiRsYW5nWydtaW5pbXVtX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbWFsZSBBYW5iZXRhbGluZyBCZW5vZGlnZCc7CiRsYW5nWydtb2RpZmllZF9kYXRlJ10gPSAnR2V3aWp6aWdkJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ1Rvb2wgb20gaGV0IGlucGxhbm5lbiBlbiByZXNlcnZlcmVuIHZhbiByZXNlcnZlZXJiYXJlIGl0ZW1zIHRlIGJlaGVyZW4gb3AgZGFnIGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ01hYW5kYWcnOwokbGFuZ1snbW9udGgnXSA9ICdNYWFuZCc7CiRsYW5nWydtb250aGxpc3RfYnJpZWYnXSA9ICdKYW4vRmViL01ydC9BcHIvTWVpL0p1bi9KdWwvQXVnL1NlcC9Pa3QvTm92L0RlYyc7CiRsYW5nWydtb3JlJ10gPSAnTWVlcic7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdTY2h1aWYgbmFhciBiZW5lZGVuJzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdTY2h1aWYgbmFhciBib3Zlbic7CiRsYW5nWyduYW1lJ10gPSAnTmFhbSc7CiRsYW5nWyduZXh0J10gPSAnVm9sZ2VuZGUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTmVlJzsKJGxhbmdbJ25vbmJvb2thYmxlX2Jsb2NrcyddID0gJ0FmZ2VzbG90ZW4gcGVyaW9kZSc7CiRsYW5nWydub25lJ10gPSAnR2Vlbic7CiRsYW5nWydub3RlcyddID0gJ09wbWVya2luZ2VuJzsKJGxhbmdbJ25vdF9hcHBsaWNhYmxlJ10gPSAnTi5hLncuJzsKJGxhbmdbJ25vdF9jYWxjdWxhdGVkJ10gPSAnTmlldCBiZXJla2VuZCc7CiRsYW5nWydudW1fcGVvcGxlJ10gPSAnQWFudGFsIHBlcnNvbmVuJzsKJGxhbmdbJ29jY3VycyddID0gJ0dlYmV1cnQnOwokbGFuZ1snb2YnXSA9ICdWYW4nOwokbGFuZ1snb24nXSA9ICdBYW4nOwokbGFuZ1snb25lX2hvdXInXSA9ICdFJmVhY3V0ZTtuIHV1cic7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aWVzJzsKJGxhbmdbJ29yZGVyJ10gPSAnT3JkZXIgJzsKJGxhbmdbJ292ZXJjYXBfYW1vdW50J10gPSAnT3ZlcmNhcGFjaXRlaXQgUHJpanMgQmlqc3RlbGxpbmcnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnQWFudGFsIEl0ZW1zIHBlciBQYWdpbmEnOwokbGFuZ1sncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1BhZ2luYSBvbSB1aXQgdGUgd2lqa2VuIHdhbm5lZXIgbmlldCBpbmdlbG9nZCc7CiRsYW5nWydwYXJ0MSddID0gJ0RlZWwgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdHZWRlZWx0ZWxpamsgZ2VyZXNlcnZlZXJkJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBvZiAlcyBlZW5oZWRlbiBnZXJlc2VydmVlcmQnOwokbGFuZ1sncGFzdF9tZXNzYWdlcyddID0gJ1ZvcmlnZSBiZXJpY2h0ZW4nOwokbGFuZ1sncGVuZGluZyddID0gJ0luIGJlaGFuZGVsaW5nJzsKJGxhbmdbJ3BlcmNlbnRhZ2VfZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltdW0gcGVyY2VudGFnZSB2YW4gZGUgZ2VoZWxlIGJlc3RlbGxpbmcgdmVycGxpY2h0IGFscyB2b29yc2Nob3QgPGVtPih1aXRnZWRydWt0IG1ldCBkZWNpbWFsZW4sIGJpanZvb3JiZWVsZCAxMC41MCk8L2VtPiAoTGV0IG9wLCBwdW50IGdlYnJ1aWtlbiwgZ2VlbiBrb21tYSEpJzsKJGxhbmdbJ3BlcmNlbnRfYm9va2VkJ10gPSAnUGVyY2VudGFnZSBnZWJvZWt0JzsKJGxhbmdbJ1BNJ10gPSAnUE0gJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgaW5zdGFsbGF0aWUgdmFuIGRlIEF2YWlsYWJpbGl0eSBtb2R1bGUgaXMgZ2VzbGFhZ2QuIExldCBlciBvcCBkYXQgZGUgYWFuZ2V3ZXplbiBnZWJydWlrZXJzZ3JvZXBlbiBkZSBqdWlzdGUgcmVjaHRlbiBoZWJiZW4gb20gZGUgdmVyc2NoaWxsZW5kZSBvbmRlcmRlbGVuIGluIGRlemUgbW9kdWxlIHRlIGJlaGVyZW4uJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBBdmFpbGFiaWxpdHkgbW9kdWxlIC0gaW5jbHVzaWVmIGdlYXNzb2NpZWVyZGUgZGF0YSAtIGlzIHVpdCBoZXQgc3lzdGVlbSB2ZXJ3aWpkZXJkLiBVIGJlbnQgdnJpaiBvbSBkZSBiZXN0YW5kZW4gZGllIGFhbiBkZXplIG1vZHVsZSB2ZXJib25kZW4gd2FyZW4sIHRlIHZlcndpamRlcmVuLic7CiRsYW5nWydwcmV2J10gPSAnVm9yaWdlJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcmljZSddID0gJ1ByaWpzJzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByaWp6ZW4nOwokbGFuZ1sncHJpY2VfYWRqdXN0J10gPSAnQWRqdXN0IHRoZSBQcmljZSBvZiBlZmZlY3RlZCAlcyBieSB0aGlzIGFtb3VudC48YnIvPjxlbT4odXNlIGEgZm9ybWF0IGxpa2UgKjAuODUgb3IgLTEzIG9yICsyNSk8L2VtPic7CiRsYW5nWydwcm9tcHQnXSA9ICdUZWtzdCc7CiRsYW5nWydwdWJsaWMnXSA9ICdQdWJsaWVrJzsKJGxhbmdbJ3F1YXJ0ZXJfaG91ciddID0gJ0t3YXJ0aWVyJzsKJGxhbmdbJ3Jlc2VydmVkJ10gPSAnR2VyZXNlcnZlZXJkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uJ10gPSAnUmVzZXJ2ZXJpbmcnOwokbGFuZ1sncmVzZXJ2YXRpb25fYWRtaW5fc3RhcnR5ZWFyJ10gPSAnQmVnaW5qYWFyIHZvb3IgcmVzZXJ2ZXJpbmdlbiBpbiBoZXQgYWRtaW4gcGFuZWVsJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZlcmluZyBhY2h0ZXJncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZlcmluZyBDb25mbGljdCBBY2h0ZXJncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZlcmluZyBBYW5iZXRhbGluZyBJbnN0ZWxsaW5nZW4nOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZlcmluZyBBY2h0ZXJncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpZyddID0gJ1Jlc2VydmVyaW5nIEluc3RlbGxpbmdlbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdCZXN0YW5kIG9tIHRvZSB0ZSB2b2VnZW4gYWFuIGFsbGUgcmVzZXJ2ZXJpbmcgYmV2ZXN0aWdpbmdzbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDLiBkZXplIGdlYnJ1aWtlcnMgYmlqIGVlbiByZXNlcnZlcmluZ3NiZXZlc3RpZ2luZyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTdHV1ciBlZW4gZS1tYWlsIG5hYXIgZGUga2xhbnQgd2FubmVlciBkZSByZXNlcnZlcmluZyBpcyBnZW1hYWt0JzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJ09uZGVyd2VycCB2b29yIHJlc2VydmVyaW5nIGJldmVzdGlnaW5nIGUtbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnUmVzZXJ2ZXJpbmcgYmV2ZXN0aWdpbmdzcGFnaW5hJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnVXcgZ2VzZWxlY3RlZXJkZSAlcyB6aWpuIG5pZXQgYmVzY2hpa2JhYXIgdm9vciBkZSBnZXNlbGVjdGVlcmRlIGRhdGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fY3JlYXRlZCddID0gJ1Jlc2VydmVyaW5nIGdlbWFha3QnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUmVzZXJ2ZXJpbmcgU3RhbmRhYXJkIFBhZ2luYSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZXRhaWxzJ10gPSAnUmVzZXJ2ZXJpbmcgRGV0YWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2ZXJpbmcgQ29uZmxpY3QgVm9vcmdyb25kIEtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZlcmluZyB2b29yZ3JvbmRrbGV1cic7CiRsYW5nWydyZXNlcnZhdGlvbl9tYW5hZ2VyJ10gPSAnUmVzZXJ2ZXJpbmdlbiBNYW5hZ2VyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ0dlZGVlbHRlbGlqayBnZWJvZWt0IHZvb3Jncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ0dlZGVlbHRlbGlqayBnZWJvZWt0IGFjaHRlcmdyb25ka2xldXInOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydHMnXSA9ICdSZXNlcnZlcmluZyBDb21wb25lbnRlbic7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZlcmluZyBpbiBiZWhhbmRlbGluZyB2b29yZ3JvbmRrbGV1cic7CiRsYW5nWydyZXNlcnZhdGlvbl9udW0nXSA9ICdSZXNlcnZlcmluZzogJTA1ZCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0ICc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jlc2VydmVlcmJhYXIgSXRlbSc7CiRsYW5nWydyZXNvdXJjZXMnXSA9ICdSZXNlcnZlZXJiYXJlIEl0ZW1zJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMSddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzLCBvbiAlcyBib3VuZGFyaWVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMiddID0gJ0dlcmVzZXJ2ZWVyZCBvcCBlZW4gJXMgYmFzaXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8zJ10gPSAnYmVzY2hpa2JhYXIgdmFuICVzIHRvdCAlcyBlbiB2YW4gJXMgdG90ICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2NoZWNrIGluIHRpamQgaXMgJXMsIGVuIGRlIGNoZWNrIHVpdCB0aWpkIGlzICVzJzsKJGxhbmdbJ3Jlc291cmNlX3R5cGUnXSA9ICdSZXNlcnZlZXJiYWFyIEl0ZW0gVHlwZSc7CiRsYW5nWydyb29tJ10gPSAnS2FtZXInOwokbGFuZ1sncm9vbXMnXSA9ICdLYW1lcnMnOwokbGFuZ1sncmVxdWlyZV9kZXBvc2l0J10gPSAnSXMgZWVuIGFhbmJldGFsaW5nIHZlcmVpc3Q/JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnWmF0ZXJkYWcnOwokbGFuZ1snc2NoZWR1bGluZyddID0gJ0luYm9la2VuJzsKJGxhbmdbJ3NjaGVkdWxpbmdfaW50ZXJ2YWwnXSA9ICdEaXQgaXRlbSBpcyBnZXJlc2VydmVlcmQnOwokbGFuZ1snc2VhcmNoJ10gPSAnWm9layc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnS2llcyBlciAmZWFjdXRlOyZlYWN1dGU7bic7CiRsYW5nWydzZW5kJ10gPSAnVmVyc3R1dXInOwokbGFuZ1snc2VuZF9jdXN0b21lcl9tYWlsJ10gPSAnRGUga2xhbnQgdmlhIGUtbWFpbCBlZW4gYmVyaWNodCBzdHVyZW4gb3ZlciBkZXplIHdpanppZ2luZz8nOwokbGFuZ1snc2VuZF9lbWFpbCddID0gJ1ZlcnN0dXVyIGVlbiBlLW1haWwnOwokbGFuZ1snc2VudCddID0gJ1ZlcnN0dXJlbic7CiRsYW5nWydzdGFydF9kYXRlJ10gPSAnU3RhcnQgRGF0dW0nOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGlqZCAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpamQgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGlla2VuJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snc3RhdHVzX3Jvb21zX2F2YWlsYWJsZSddID0gJ0RlICVzIGRpZSB1IHNlbGVjdGVlcmRlIHppam4gdm9vciBkZXplIGRhdGEgYmVzY2hpa2JhYXInOwokbGFuZ1snc3Vial9yZV9yZXN2biddID0gJ1JlOiBSZXNlcnZlcmluZyAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnT25kZXJ3ZXJwJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXJlbic7CiRsYW5nWydzdW5kYXknXSA9ICdab25kYWcnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdCBydWltdGUnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0dmVsZCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ0RvbmRlcmRhZyc7CiRsYW5nWyd0aXRsZV9jb25mbGljdCddID0gJ0NvbmZsaWN0IE9wZ2V0cmVkZW4gfCBFZW4gY29uZmxpY3QgYmVzdGFhdCB0dXNzZW4gcmVzZXJ2ZXJpbmcgJTA0ZCBlbiAlMDRkLjxici8+PGJyLz5FciBrdW5uZW4gbWVlciBjb25mbGljdGVuIGJlc3RhYW4gdm9vciBkZXplIHBlcmlvZGUuJzsKJGxhbmdbJ3RpdGxlX2dyYXBoaW5nJ10gPSAnQmVraWprIGdyYWZpc2NoZSB3ZWVyZ2F2ZW4gZW4gcmFwcG9ydGVuIHZhbiBoaXN0b3Jpc2NoZSBnZWdldmVucyc7CiRsYW5nWyd0byddID0gJ1RvdCc7CiRsYW5nWyd0b3RhbF9ibG9ja3MnXSA9ICdUb3RhbGUgUGVyaW9kZSc7CiRsYW5nWyd0dWVzZGF5J10gPSAnRGluc2RhZyc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0dlYnJ1aWsgZGUgdm9sZ2VuZGUgZGF0dW1zJzsKJGxhbmdbJ3ZhY2FudCddID0gJ0Jlc2NoaWtiYWFyJzsKJGxhbmdbJ3ZpZXcnXSA9ICdCZWtpamsnOwokbGFuZ1sndmlld19kYXknXSA9ICdJbmZvcm1hdGllIG92ZXIgZGV6ZSBkYWcgYmVraWprZW4nOwokbGFuZ1sndmlld191c2VyJ10gPSAnQmVraWprIGdhc3QgZGV0YWlscyc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ0Jla2lqayBkZXRhaWxzIHZvb3IgZGV6ZSAlcyc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdXb2Vuc2RhZyc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnV2Vla2RhZyBQcmlqcyBCaWpzdGVsbGluZyc7CiRsYW5nWyd5ZWFyXzEnXSA9ICdKYWFyIDEnOwokbGFuZ1sneWVhcl8yJ10gPSAnSmFhciAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ0phYXIgMyc7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdVdyBuYWFtJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE1MDMyNTA0OTAtMTI2NTYzMjQ1NTc1NSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjI3NzE1Mzc4LjEyNjYwMDIzNjguMTI2OTM2MzUzMi4xMjY5MzY2MDAxLjE1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2OTM2MzUzMi4xNC4xMy51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FkYXVnYXJlIHRpcCBldmVuaW1lbnQnOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ0VkaXRhcmUgdGlwIGV2ZW5pbWVudCc7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3Rpdic7CiRsYW5nWydhZGQnXSA9ICdBZGF1Z2FyZSc7CiRsYW5nWydhZGRfbm90ZXMnXSA9ICdJbnRyb2R1Y2V0aSBpbmZvcm1hdGlpIGRlc3ByZSBhY2Vhc3RhIHJlemVydmFyZSc7CiRsYW5nWydhZGRlZGl0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBmb3JtdWxhciBjYXV0YXJlIGF2YW5zYXRhJzsKJGxhbmdbJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdBZGF1Z2FyZS9FZGl0YXJlIHRlbXBsYXRlIHZpenVhbGl6YXJlIGNhbGVuZGFyJzsKJGxhbmdbJ2FkZGVkaXRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBlLW1haWwgY2xpZW50JzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSB2aXp1YWxpemFyZSB6aSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkYXVnYXJlL0VkaXRhcmUgdGVtcGxhdGUgdml6dWFsaXphcmUgZGV0YWxpaSByZXN1cnNhJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdBZGF1Z2FyZS9FZGl0YXJlIHRlbXBsYXRlIHZpenVhbGl6YXJlIHJlemVydmFyaSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBmb3JtdWxhciByZXplcnZhcmUnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBlLW1haWwgY29uZmlybWFyZSByZXplcnZhcmUnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBjb25maXJtYXJlIHJlemVydmFyZSc7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ0FkYXVnYXJlL0VkaXRhcmUgdGVtcGxhdGUgZm9ybXVsYXIgdHJpbWl0ZXJlIGUtbWFpbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGF1Z2FyZS9FZGl0YXJlIHRlbXBsYXRlIHZpenVhbGl6YXJlIHN1bWFyIHJlc3Vyc2UnOwokbGFuZ1snYWRtaW5fbm90ZXMnXSA9ICdOb3RlIGFkbWluJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWp1c3RhcmUgZGlzY291bnQgY2FudGl0YXRlIGN1ICUuMmYgcGVudHJ1IHppbGVsZSBlbGlnaWJpbGUnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0FqdXN0YXJlIGRpc2NvdW50IGNhbnRpdGF0ZSBjdSAlLjJmIHBlbnRydSB0b2F0ZSB6aWxlbGUnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0Rpc2NvdW50IGNhbnRpdGF0ZSB6aSBsaWJlcmEgZWxpZ2liaWxhJzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ1MtYSBhanVzdGF0IHByZXR1bCBwZW50cnUgZXZlbmltZW50dWwgJXMgY3UgJXMnOwokbGFuZ1snYWRqdXN0X292ZXJjYXBhY2l0eSddID0gJ1MtYSBhanVzdGF0IHByZXR1bCBwZW50cnUgJWQgZXh0cmEgcGVyc29hbmUgY3UgJS4yZic7CiRsYW5nWydhZGp1c3Rfd2Vla2RheV9wcmljZSddID0gJ1MtYSBhanVzdGF0IHByZXR1bCBwZW50cnUgeml1YSAlcyBhIHNhcHRhbWFuaWkgY3UgJXMnOwokbGFuZ1snYWRkX2NhdGVnb3J5J10gPSAnQWRhdWdhcmUgYXRyaWJ1dCc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnQWRhdWdhcmUgY2FtcCBjdXN0b20nOwokbGFuZ1snYWRkX2V2ZW50J10gPSAnQWRhdWdhcmUgZXZlbmltZW50JzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnQWRhdWdhcmUgdGlwIGV2ZW5pbWVudCc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdBZGF1Z2FyZSByZXplcnZhcmUgbm91YSc7CiRsYW5nWydhZGRfdXNlcl9hY2NvdW50J10gPSAnQWRhdWdhcmUgY29udCB1dGlsaXphdG9yJzsKJGxhbmdbJ2FsbCddID0gJ1RvYXRlJzsKJGxhbmdbJ2FsbG93ZWRfZmlsZV90eXBlcyddID0gJ1RpcHVyaSBmaXNpZXJlIHBlcm1pc2UnOwokbGFuZ1snYWxsb3dlZF9pbWFnZV90eXBlcyddID0gJ1RpcHVyaSBpbWFnaW5pIHBlcm1pc2UnOwokbGFuZ1snYWxsb3dfbm9fcHJpY2VzJ10gPSAnRXJvYXJlIGxhIGZhcmEgcHJldCc7CiRsYW5nWydBTSddID0gJ0FNICc7CiRsYW5nWydhbnknXSA9ICdvcmljZSc7CiRsYW5nWydhcHBseSddID0gJ0FwbGljYXJlJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICdTaWd1ciBkb3JpdGkgc2EgaW5sYXR1cmF0aSBwZXJtYW5lbnQgYWNlc3QgZXZlbmltZW50Pyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnU2lndXIgZG9yaXRpIHNhIGlubGF0dXJhdGkgcGVybWFuZW50IGFjZWFzdGEgcmV6ZXJ2YXJlIGRpbiBzaXN0ZW0/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzb3VyY2UnXSA9ICdTaWd1ciBkb3JpdGkgc2EgaW5sYXR1cmF0aSBwZXJtYW5lbnQgYWNlYXN0YSByZXN1cnNhPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1N1bnRldGkgc2lndXIgY2EgZG9yaXRpIHNhIGRlemluc3RhbGF0aSBhY2VzdCBtb2R1bD8gRGFjYSBjb250aW51YXRpIHZldGkgcGllcmRlIHRvYXRlIGRhdGVsZSBsZWdhdGUgZGUgbW9kdWwuJzsKJGxhbmdbJ2F0J10gPSAnQCAnOwokbGFuZ1snYXR0YWNobWVudCddID0gJ0F0YXNhbWVudCc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0ZvbGRlciB1bmRlIHNlIGNhdXRhIGR1cGEgYXRhc2FtZW50ZSc7CiRsYW5nWydhdHRyaWJ1dGVzJ10gPSAnQXRyaWJ1dGUnOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnR2VuZXJhcmUgYXV0b21hdGEgbWluaWF0dXJpJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ0Rpc3BvbmliaWwnOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgZnVuZGFsJzsKJGxhbmdbJ2Jhc2VfcHJpY2UnXSA9ICdQcmV0IGRlIGJhemEnOwokbGFuZ1snYmFzaWNfcHJpY2luZyddID0gJ0NhbGN1bCBwcmV0dXJpJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnU2UgcG90IHJlemVydmEgY2FtZXJlIHBlIGR1cmF0YSBhY2VzdHVpIGV2ZW5pbWVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdSZXplcnZhYmlsJzsKJGxhbmdbJ2Jvb2thYmxlX2V2ZW50X2Jsb2NrcyddID0gJ0Jsb2N1cmkgZXZlbmltZW50IHJlemVydmFiaWxlJzsKJGxhbmdbJ2Jvb2tlZF9ibG9ja3MnXSA9ICdCbG9jdXJpIHJlemVydmF0ZSc7CiRsYW5nWydjYWJpbiddID0gJ0NhYmluYSc7CiRsYW5nWydjYWJpbnMnXSA9ICdDYWJpbmUnOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnQ2FsY3VsYXJlJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0NhbGN1bGFyZSBwcmV0JzsKJGxhbmdbJ2NhbGN1bGF0ZWRfcHJpY2UnXSA9ICdQcmV0IGNhbGN1bGF0JzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ1NldGFyaSBjYWxlbmRhciBkaXNwb25pYmlsaXRhdGUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW51bGFyZSc7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdBbnVsYXQnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdDYXBhY2l0YXRlJzsKJGxhbmdbJ2NhciddID0gJ0F1dG90dXJpc20nOwokbGFuZ1snY2FycyddID0gJ0F1dG90dXJpc21lJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdBdHJpYnV0ZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0cmlidXQnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnVHJpbWl0ZXJlIGNvcGllIGEgYWNlc3R1aSBtZXNhaiBjYXRyZSBjYXN1dGEgbWVhIGRlIGUtbWFpbCc7CiRsYW5nWydjaGVja2JveCddID0gJ0Nhc3V0YSBzZWxlY3RpZSc7CiRsYW5nWydjaGVja2luJ10gPSAnTHVhcmUgaW4gcHJpbWlyZSc7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdUaW1wIGx1YXJlIGluIHByaW1pcmUnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdQcmVkYXJlJzsKJGxhbmdbJ2NoZWNrb3V0X3RpbWUnXSA9ICdUaW1wIHByZWRhcmUnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnVmVyaWZpY2FyZSBkaXNwb25pYmlsaXRhdGUnOwokbGFuZ1snY2xvc2VkJ10gPSAnSW5jaGlzYSc7CiRsYW5nWydjb2xvciddID0gJ0N1bG9hcmUnOwokbGFuZ1snY29uZmlybWVkJ10gPSAnQ29uZmlybWF0YSc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnVmVyaWZpY2F0aSBpbmZvcm1hdGlpbGUgZGluIGZvcm11bGFyLCBzaSBjb25maXJtYXRpIGNhIGRvcml0aSBzYSBmYWNldGkgYWNlYXN0YSByZXplcnZhcmUnOwokbGFuZ1snY29uZmxpY3QnXSA9ICdDb25mbGljdCAnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdDcmVhdGEnOwokbGFuZ1snY3JlYXRlX3Jlc2VydmF0aW9uJ10gPSAnQ3JlYXRpIG8gcmV6ZXJ2YXJlIHBlbnRydSBhY2VzdCBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGEnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnU2ltYm9sIG1vbmVkYSc7CiRsYW5nWydjdXN0b21lciddID0gJ0NsaWVudCc7CiRsYW5nWydjdXN0b21lcl9ncm91cCddID0gJ0dydXAgY2xpZW50JzsKJGxhbmdbJ2N1c3RvbWVyX25hbWUnXSA9ICdOdW1lIGNsaWVudCc7CiRsYW5nWydjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgYWZpc2FyZSBjbGllbnQnOwokbGFuZ1snZGFpbHknXSA9ICdaaWxuaWMnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGEnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ1JhcG9ydCB6aSc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdSYXBvcnQgemkgcGVudHJ1ICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnVml6dWFsaXphcmUgemknOwokbGFuZ1snZGVmYXVsdF9ncmFudWxhcml0eSddID0gJ0dyYW51bGFyaXRhdGUgaW1wbGljaXRhJzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ0ludGVydmFsIHRpbXAgaW1wbGljaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnU3RlcmdlcmUnOwokbGFuZ1snZGVsZXRlX2NhdGVnb3J5J10gPSAnU3RlcmdlcmUgYXRyaWJ1dCc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnU3RlcmdlcmUgY2FtcCBjdXN0b20nOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnU3RlcmdlcmUgZXZlbmltZW50JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnU3RlcmdlcmUgdGlwIGV2ZW5pbWVudCc7CiRsYW5nWydkZXBvc2l0X2Ftb3VudHMnXSA9ICdWYWxvcmkgZGVwb3ppdGUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmllcmUnOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdSZXplcnZhcmVhIGR1bW5lYXZvYXN0cmEgYSBmb3N0IGNvbmZpcm1hdGEnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0FqdXN0YXJlIHJlZHVjZXJlJzsKJGxhbmdbJ2Rpc2NvdW50X21pbl9ibG9ja3MnXSA9ICdOdW1hciBtaW5pbSBkZSB6aWxlIGNlcnV0IHBlbnRydSBkaXNjb3VudCc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdaaWxlIGxpYmVyZSAoY2VsZSBtYWkgaWVmdGluZSBwcmltZWxlKSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcGxpY2FyZSBhanVzdGFyZSBpbiBncnVwIHBlbnRydSB0b2F0ZSB6aWxlbGUnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0FqdXN0YXJlIHByZXR1cmkgbnVtYWkgcGVudHJ1IHppbGUgYXBsaWNhYmlsZSc7CiRsYW5nWydkaXNjb3VudF90eXBlJ10gPSAnVGlwIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc3BsYXknXSA9ICdBZmlzYXJlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXJlJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZGl0YXJlIGF0cmlidXQnOwokbGFuZ1snZWRpdF9jdXN0b21fZmllbGQnXSA9ICdFZGl0YXJlIGNhbXAgY3VzdG9tJzsKJGxhbmdbJ2VkaXRfZXZlbnQnXSA9ICdFZGl0YXJlIGV2ZW5pbWVudCc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0YXJlIHRpcCBldmVuaW1lbnQnOwokbGFuZ1snZWRpdF9yZXNlcnZhdGlvbiddID0gJ0VkaXRhcmUgUmV6ZXJ2YXJlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnRGF0YSBzZmFyc2l0JzsKJGxhbmdbJ2VuZF90aW1lXzEnXSA9ICdEYXRhIHNmYXJzaXQgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnRGF0YSBzZmFyc2l0IDInOwokbGFuZ1snZXJyb3JfY2FsY3VsYXRpb24nXSA9ICdFcm9hcmUgY2FsY3VsYXJlJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdBY2Vhc3RhIHJlc3Vyc2EgbnUgcG9hdGUgZmkgc3RlYXJzYSBwZW50cnUgY2EgZXhpc3RhIHJlemVydmFyaSBmYWN1dGUgcGVudHJ1IGVhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcm9hcmUgYmF6YSBkZSBkYXRlLCBjb250YWN0YXRpIGFkbWluaXN0cmF0b3J1bCc7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ08gcmV6ZXJ2YXJlIGV4aXN0ZW50YSwgc2F1IHVuIGV2ZW5pbWVudCBub24tcmV6ZXJ2YWJpbCBlc3RlIGluIGNvbmZsaWN0IGN1IGRhdGVsZSBzaSByZXN1cnNlbGUgc2VsZWN0YXRlIHBlbnRydSBhY2Vhc3RhIHJlemVydmFyZS4nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ08gcHJvYmxlbWEgYSBhcGFydXQgbGEgc3RlcmdlcmVhIHVudWkgc2F1IG1haSBtdWx0b3IgZmlzaWVyZSc7CiRsYW5nWydlcnJvcl9pbnRlcm5hbGNvbmZpZyddID0gJ0EgYXBhcnV0IG8gZXJvYXJlIGludGVybmEgZGUgY29uZmlndXJhcmUuIFZhIHJ1Z2FtIHNhIGNvbnRhY3RhdGkgYWRtaW5pc3RyYXRvcnVsIHNpdGUtdWx1aSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnQXRpIGludHJvZHVzIGRhdGUgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9wcmljZSddID0gJ1ByZXR1bCBpbnRyb2R1cyBwYXJlIGEgZmkgZ29sIHNhdSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ0ludGVydmFsZWxlIGRlIHRpbXAgaW50cm9kdXNlIHN1bnQgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ08gdmFsb2FyZSBpbnZhbGlkYSBhIGZvc3Qgc3BlY2lmaWNhdGEgcGVudHJ1IHVudWwgc2F1IG1haSBtdWx0ZSBjYW1wdXJpIHNhdSBwYXJhbWV0cmknOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInXSA9ICdVbnVsIHNhdSBtYWkgbXVsdGkgcGFyYW1ldHJpIGNlcnV0aSBsaXBzYSBzYXUgZmFyYSBkYXRlJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmxlbWEgbGEgY3JlYXJlIGZvbGRlcic7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1RyZWJ1aWUgc2Egc2VsZWN0YXRpIG1pbmltIDEgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ1Byb2JsZW1hIGRlIGNvbmZpZ3VyYXJlLiBIb3N0dWwgc2l0ZS11bHVpIG51IGEgY29uZmlndXJhdCBjYSBjaW5ldmEgc2EgcHJpbWVhc2NhIGFjZXN0ZSBtZXNhamUuIEx1YXRpIGxlZ2F0dXJhIGN1IGFkbWluaXN0cmF0b3J1bCBzaXRlLXVsdWkgZGlyZWN0JzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnRGF0ZWxlIHNwZWNpZmljYXRlIG51IGF1IHB1dHV0IGZpIGdhc2l0ZSc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnXSA9ICdOdSBzdW50ZXRpIGF1dGVudGlmaWNhdCBwZSBhY2VzdCBzaXRlLiBUcmVidWllIHNhIGF2ZXRpIHVuIGNvbnQgcGVudHJ1IGEgcHV0ZWEgZmFjZSBvIHJlemVydmFyZSc7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9lbWFpbCddID0gJ051IHMtYSBnYXNpdCBvIGFkcmVzYSBkZSBlLW1haWwgcGVudHJ1IGFjZXN0IGNsaWVudCc7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9zZWxlY3RlZCddID0gJ1NlbGVjdGF0aSB1biBjbGllbnQgZGluIGxpc3RhJzsKJGxhbmdbJ2Vycm9yX25vX2V2ZW50X3R5cGVzJ10gPSAnTnUgYXUgZm9zdCBkZWZpbml0ZSB0aXB1cmkgZGUgZXZlbmltZW50ZSc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbnMnXSA9ICdOdSBhdSBmb3N0IGdhc2l0ZSByZXplcnZhcmkgcGVudHJ1IGRhdGEgc2VsZWN0YXRhJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlcyddID0gJ05pY2l1biAlcyBkZWZpbml0JzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlc19zZWxlY3RlZCddID0gJ0RlZmluaXRpIHVuYSBzYXUgbWFpIG11bHRlIHJlc3Vyc2Ugc2kgaW50ZXJ2YWxlIHBlbnRydSBhY2Vhc3RhIHJlemVydmFyZSc7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ051IGEgZm9zdCBnYXNpdCBuaWNpIHVuIGNsaWVudCBpbnJlZ2lzdHJhdCBwZW50cnUgZ3J1cHVsIGRlIGNsaWVudGkgc2VsZWN0YXQnOwokbGFuZ1snZXJyb3JfcGFzdF9kYXRlcyddID0gJ051IHB1dGV0aSBjcmVhIHJlemVydmFyaSBwZW50cnUgZGF0ZSBkaW4gdHJlY3V0JzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdOdSBhdmV0aSBwZXJtaXNpdW5pIHNhIHZlZGV0aSBhY2VzdGUgZGF0ZSc7CiRsYW5nWydlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ1VuIGNvbmZsaWN0IGRlIHJlemVydmFyZSBhIGZvc3QgZGV0ZWN0YXQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdTZWxlY3RhdGkgdW4gc3RhdHVzIHBlbnRydSBhY2Vhc3RhIHJlemVydmFyZSc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdFcm9hcmUgbGEgdXBsb2FkIGZpc2llcic7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnRXZlbmltZW50ZSBwZW50cnUgJXMnOwokbGFuZ1snZXZlbnRfdHlwZSddID0gJ1RpcCBldmVuaW1lbnQnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdUaXB1cmkgZXZlbmltZW50ZSc7CiRsYW5nWydleHBpcmVkJ10gPSAnRXhwaXJhdCc7CiRsYW5nWydleHRlbmRlZF91c2VfZGlzY291bnRzJ10gPSAnUmVkdWNlcmkgZm9sb3NpcmUgaW5kZWx1bmdhdGEnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnU2V0YXJpIHV0aWxpemF0b3IgZnJvbnRlbmQnOwokbGFuZ1snZmllbGRzJ10gPSAnQ2FtcHVyaSc7CiRsYW5nWydmaWxlJ10gPSAnRmlzaWVyJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRydSc7CiRsYW5nWydmaWxlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0NvbmZpZ3VyYXJlIGx1Y3J1IGZpc2llcmUnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgcHJpbS1wbGFuJzsKJGxhbmdbJ2ZyaWRheSddID0gJ1ZpbmVyaSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNYW5hZ2VyIGRpc3BvbmliaWxpdGF0ZSc7CiRsYW5nWydmdXR1cmUnXSA9ICdVcm1lYXphJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnQ29uZmlndXJhcmUgZ2VuZXJhbGEnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcnVwJzsKJGxhbmdbJ2d1ZXN0J10gPSAnT2FzcGV0ZSc7CiRsYW5nWydoYWxmX2RheSddID0gJ0p1bWF0YXRlIGRlIHppJzsKJGxhbmdbJ2hhbGZfaG91ciddID0gJ0p1bWF0YXRlIGRlIG9yYSc7CiRsYW5nWydob3VybHknXSA9ICdMYSBmaWVjYXJlIG9yYSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNlIGZhY2UgYWNlc3RhPzwvaDM+DQo8cD5BY2VzdCBtb2R1bCBvZmVyYSB1biBzaXN0ZW0gY29tcGxldCBkZSBtYW5hZ2VtZW50IHJlemVydmFyaSBvbmxpbmUgcGVudHJ1IGhvdGVsdXJpLCBhZ2VudGlpIGRlIGluY2hpcmlhdCBhdXRvdHVyaXNtZSwgc2F1IG9yaWNlIGFsdCBkb21lbml1IHVuZGUgJnF1b3Q7cmVzdXJzZSZxdW90OyBwb3QgZmkgcmV6ZXJ2YXRlIGxhIG5pdmVsIGRlIHppLjwvcD4NCjxwPkFjZXN0IG1vZHVsIG9mZXJhIHVuIG1lY2FuaXNtIHBlbnRydSB1dGlsaXphdG9yaWkgZnJvbnRlbmQgc2EgY3JlZXplIHNpIHNhIGFkbWluaXN0cmV6ZSByZXplcnZhcmkgc2kgc2EgY29udGFjdGV6ZSBhZG1pbmlzdHJhdG9yaWkgY3UgaW5mb3JtYXRpaSBzaSBpbnRyZWJhcmkgZGVzcHJlIHJlemVydmFyaS48L3A+DQo8cD5PIGludGVyZmF0YSBjb21wbGV0YSBkZSBhZG1pbiBwZXJtaXRlIGNhIGFkbWluaXN0cmF0b3JpaSBhdXRvcml6YXRpIHNhIGFkbWluaXN0cmV6ZSByZXN1cnNlLCBldmVuaW1lbnRlLCByZXplcnZhcmksIHNpIG9yaWNlIGFzcGVjdCBsZWdhdCBkZSBvYmllY3RlbGUgYWZpc2FiaWxlLjwvcD4NCjxoMz5DYXJhY3RlcmlzdGljaTo8L2gzPg0KPHVsPg0KPGxpPkFsbG93cyBkZWZpbmluZyB1bmxpbWl0ZWQgbnVtYmVycyBvZiByZXNvdXJjZXMuDQogIDx1bD4NCiAgPGxpPkEgYmFzZSBkYWlseSBwcmljZSBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCByZXNvdXJjZS48L2xpPg0KICA8bGk+UHJpY2UgYWRqdXN0bWVudHMgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggZGF5IG9mIHRoZSB3ZWVrLjwvbGk+DQogIDwvdWw+DQo8bGk+DQo8bGk+QWxsb3dzIGRlZmluaW5nIGFuIHVubGltaXRlZCBudW1iZXIgb2YgY3VzdG9tIGZpZWxkcyB0byBhc3NvY2lhdGUgd2l0aCByZXNvdXJjZXMuPC9saT4NCjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4NCjxsaT5TdXBwb3J0cyBjcmVhdGluZyBldmVudHMgZm9yIHBhcnRpY3VsYXIgcmVzb3VyY2VzIG92ZXIgcGFydGljdWxhciBkYXlzOg0KICA8dWw+DQogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8bGk+Ym9va2FibGUgZXZlbnRzIGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudCB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgcHJpY2Ugb2YgdGhlIHNlbGVjdGVkIHJlc291cmNlcyBvbiB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIHByaWNlIGNhbGN1bGF0aW9uIGZvciByZXNlcnZhdGlvbnMuPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgY29uZmxpY3QgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgbm8gcmVzZXJ2YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciByZXNlcnZlZCByZXNvdXJjZXMsIG9yIGNsb3NlZCByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KPC91bD4NCg0KPGgzPkN1bSBzZSBmb2xvc2VzdGU/PC9oMz4NCjxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGRvIGFmdGVyIGluc3RhbGxuZyB0aGUgbW9kdWxlIGlzIHRvIGNyZWF0ZSBzb21lIHJvb20gYXR0cmlidXRlcywgYW5kIGV2ZW50IHR5cGVzLiAgIFlvdSBzaG91bGQgYWxzbyBjaGVjayB0aGUgcHJlZmVyZW5jZXMgdG8gZW5zdXJlIHRoYXQgdGhleSBzZWVtIHRvIGJlIHNldCBjb3JyZWN0bHkuICBZb3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGNoYW5naW5nIHRoZSByZXNvdXJjZSB0eXBlIGluIHRoZSBwcmVmZXJlbmNlIGZyb20gcm9vbSB0byBzb21lIG90aGVyIHJlc291cmNlIHRoYXQgeW91IGFyZSBtYW5hZ2luZy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIHZhcmlvdXMgbGFiZWxzIGluIHRoZSBhZG1pbiBzZWN0aW9uIGFuZCBpbiB0aGUgZnJvbnRlbmQgZGlzcGxheS48L3A+DQo8L3A+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHJlc291cmNlcyBhbmQgZmlsbCB0aGVtIGluIHdpdGggYXMgbXVjaCBkZXRhaWwgYXMgcG9zc2libGUuICBZb3UgbWF5IGFsc28gd2FudCB0byBjcmVhdGUgc29tZSBldmVudHMsIG9yIHRvIG1hcmsgb2ZmIGRhdGVzIHdoZW4gcGFydGljdWxhciByZXNvdXJjZXMgYXJlIHVuYXZhaWxhYmxlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgY2FsZW5kYXIgdmlldywgeW91IGNhbiBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5IGFjdGlvbj1jYWxlbmRhcn0gdG8gYSBjb250ZW50IHBhZ2UuICBUaGlzIHdpbGwgcHJvdmlkZSBhIHN1ZmZpY2llbnQgc3lzdGVtIGZvciBhbGxvd2luZyB2aXNpdG9ycyB0byBjcmVhdGUgcmVzZXJ2YXRpb25zLCBldGMuPC9wPg0KDQo8aDM+U3Vwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+DQo8bGk+ZGVmYXVsdCAgLSBUaGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzdW1tYXJ5IHJlcG9ydCBvZiBzZWxlY3RlZCByZXNvdXJjZXMuPC9saT4NCjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UuPC9saT4NCjxsaT5teXJlc2VydmF0aW9uIC0gVGhlIG15cmVzZXJ2YXRpb25zIHJlcG9ydC48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4NCjxsaT5zZWFyY2ggLSBUaGUgc2VhcmNoIGZvcm0uPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBzZWFyY2hpbmcgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0byBzcGVjaWZpZWQgZGF0ZXMuPC9saT4NCjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIGZyb250ZW5kIHVzZXJzIHRvIHNlbmQgYW4gZW1haWwgbWVzc2FnZSB0byBzaXRlIGFkbWluaXN0cmF0b3JzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSBzcGVjaWZpYyByZXNlcnZhdGlvbi48L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdBcGxpY2FiaWwgbGEgdml6dWFsaXphcmUgY2FsZW5kYXIsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bnVpIHRlbXBsYXRlIGFsdHVsIGRlY2F0IGNlbCBpbXBsaWNpdCBjYXJlIHNlIHZhIGZvbG9zaSBsYSBnZW5lcmFyZWEgdml6dWFsaXphcmlpJzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdBcGxpY2FiaWwgbGEgdml6dWFsaXphcmUgY2FsZW5kYXIsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSBvIGxpc3RhIGRlIG51bWUgY2F0ZWdvcmlpIHNlcGFyYXRlIHByaW4gdmlyZ3VsYSBjYXJlIHNlIHZhIGZvbG9zaSBwZW50cnUgc2VsZWN0YXJlYSBkYXRlbG9yIGRlIGFmaXNhdC4gQWNlc3QgcGFyYW1ldHJ1IG51IHBvYXRlIGZpIGZvbG9zaXQgaW4gY29uanVuY3RpZSBjdSBwYXJhbWV0cnVsIGRlIHJlc3Vyc2UuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnQXBsaWNhYmlsIGZvcm11bGFydWx1aSBkZSByZXplcnZhcmUsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bnVpIHRlbXBsYXRlIGFsdHVsIGRlY2F0IGNlbCBpbXBsaWNpdCBkZSBjb25maXJtYXJlIHJlemVydmFyZSBjYXJlIHNlIHZhIGZvbG9zaSBjYW5kIHVuIHZpeml0YXRvciBjcmVhemEgbyByZXplcnZhcmUgb25saW5lJzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdBcGxpY2FiaWwgdml6dWFsaXphcmlpIHppLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW51aSB0ZW1wbGF0ZSBhbHR1bCBkZWNhdCBjZWwgaW1wbGljaXQgZGUgdml6dWFsaXphcmUgemkgY2FyZSBzZSB2YSBmb2xvc2kgbGEgZ2VuZXJhcmVhIHZpenVhbGl6YXJpaSc7CiRsYW5nWydoZWxwX2RheSddID0gJ0ZvbG9zaXQgY3UgZm9ybXVsYXJ1bCBhZGRyZXN2biBwZW50cnUgYSBzcGVjaWZpY2EgbyB6aSBpbXBsaWNpdGEuIEZvbG9zaXQgaW1wcmV1bmEgY3UgYWN0aXVuZWEgZGF5dmlldyBwZW50cnUgYSBzcGVjaWZpY2Egeml1YSB0aW50YSc7CiRsYW5nWydoZWxwX2RldGFpbHBhZ2UnXSA9ICdBcGxpY2FiaWwgdml6dWFsaXphcmlsb3IgY2FsZW5kYXIsIGltcGxpY2l0YSAoc3VtYXIpIHNpIG15cmVzZXJ2YXRpb25zLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW5laSBwYWdpbmkgb3B0aW9uYWxlIHBlbnRydSBhZmlzYXJlYSBvcmkgYSBkZXRhbGlpbG9yIHJlc3Vyc2VpLCBvcmkgYSBmb3JtdWxhcmVsb3IgZGUgcmV6ZXJ2YXJlLCBvcmkgYSBmb3JtdWxhcnVsdWkgZGUgdHJpbWl0ZXJlIGUtbWFpbC4gIERhY2EgYWNlYXN0YSB2YWxvYXJlIG51IGVzdGUgc3BlY2lmaWNhdGEsIGF0dW5jaSBwcmVmZXJpbnRhIGRpbiBjb25zb2xhIGRlIGFkbWluaXN0cmFyZSB2YSBmaSBmb2xvc2l0YS4gRGFjYSBhY2Vhc3RhIG51IGVzdGUgc2V0YXRhLCBhdHVuY2kgcGFnaW5hIGN1cmVudGEgdmEgZmkgZm9sb3NpdGEuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdBcGxpY2FiaWwgbGEgdml6dWFsaXphcmlsZSBjYWxlbmRhciwgZGV0YWxpaSwgaW1wbGljaXQgKHN1bWFyKSBzaSBteXJlc2VydmF0aW9uIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bnVpIHRlbXBsYXRlIGRlIGRldGFsaWkgYWx0dWwgZGVjYXQgY2VsIGltcGxpY2l0IGRlIGZvbG9zaXQgcGVudHJ1IG9yaWNlIGFmaXNhcmUuIEFjZXN0IHBhcmFtZXRydSBudSBhcmUgbmljaSB1biBlZmVjdCBkYWNhIFVSTC11cmlsZSBjdXJhdGUgc3VudCBjb25maWd1cmF0ZS4nOwokbGFuZ1snaGVscF9lbWFpbHRlbXBsYXRlJ10gPSAnQXBsaWNhYmlsIGxhIHZpenVhbGl6YXJpbGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIHNpIGFkZHJlc3ZuLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW51aSB0ZW1wbGF0ZSBkZSBlLW1haWwgYWx0dWwgZGVjYXQgY2VsIGltcGxpY2l0IGNhcmUgc2UgdmEgZm9sb3NpIHBlbnRydSB0cmltaXRlcmUgZS1tYWlsdXJpLic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FwbGljYWJpbCBudW1haSBhY3RpdW5paSBzZWFyY2gsIGFjZXN0IHBhcmFtZXRydSBzcGVjaWZpY2EgZGFjYSByZXp1bHRhdGVsZSBjYXV0YXJpaSBhciB0cmVidWkgc2EgZmllIGFmaXNhdGUgaW5saW5lIChpbmxvY3VpZXNjIGV0aWNoZXRhIG9yaWdpbmFsYSksIHNhdSBhciB0cmVidWkgc2EgaW5sb2N1aWFzY2Egem9uYSBkZSBjb250aW51dCBhIHBhZ2luaWkuIEFjZXN0IHBhcmFtZXRydSBudSBhcmUgbmljaSB1biBlZmVjdCBkYWNhIHBhcmFtZXRydWwgc3VtbWFyeXBhZ2UgZXN0ZSBkZSBhc2VtZW5lYSBzcGVjaWZpY2F0JzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdGb2xvc2l0IGN1IGZvcm11bGFydWwgYWRkcmVzdm4sIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bmVpIGx1bmkgaW1wbGljaXRlLiBGb2xvc2l0IGltcHJldW5hIGN1IGFjdGl1bmVhIGRheSwgYWNlc3QgcGFyYW1ldHJ1IHByZW1pdGUgc3BlY2lmaWNhcmVhIGx1bmlpIHRpbnRhJzsKJGxhbmdbJ2hlbHBfbXlyZXN2bnRlbXBsYXRlJ10gPSAnQXBsaWNhYmlsIG51bWFpIHZpenVhbGl6YXJpaSBteXJlc2VydmF0aW9uLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW51aSB0ZW1wbGF0ZSBhbHR1bCBkZWNhdCBjZWwgaW1wbGljaXQgcGVudHJ1IGFjZWEgdml6dWFsaXphcmUnOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJbiB2aXp1YWxpemFyZWEgZGUgc3VtYXIgcmVzdXJzYSwgYWNlc3QgcGFyYW1ldHJ1IHBvYXRlIGZpIGZvbG9zaXQgcGVudHJ1IGEgc3BlY2lmaWNhIG51bWFydWwgZGUgcmVzdXJzZSBjYXJlIHNlIHZvciBhZmlzYSBpbiBmaWVjYXJlIHBhZ2luYSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0luIHZpenVhbGl6YXJlYSBjYWxlbmRhciBhY2VzdCBwYXJhbWV0cnUgYWNjZXB0YSBvIGxpc3RhIHNlcGFyYXRhIHByaW4gdmlyZ3VsYSBkZSBudW1lIGRlIHJlc3Vyc2UgZGUgYWZpc2F0LiBBY2VzdCBwYXJhbWV0cnUgbnUgcG9hdGUgZmkgZm9sb3NpdCBpbXByZXVuYSBjdSBwYXJhbWV0cnVsIGNhdGVnb3JpZSc7CiRsYW5nWydoZWxwX3Jlc3ZudGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biwgY2FsZW5kYXIsIGFuZCBteXJlc2VydmF0aW9ucyBhY3Rpb25zLCAgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBmb3JtIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBjcmVhdGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaGVscF9yZXN2X2lkJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGlkIG9mIGFuIGV4aXN0aW5nIHJlc2VydmF0aW9uIHRvIGVkaXQuICBZb3Ugd2lsbCBwcm9iYWJseSBub3QgbmVlZCB0byB1c2UgdGhpcyBwYXJhbWV0ZXIgZGlyZWN0bHknOwokbGFuZ1snaGVscF9yc3JjaWQnXSA9ICdUaGlzIHBhcmFtZXRlciBpcyBhY2NlcHRlZCBieSB0aGUgZGV0YWlsIHRlbXBsYXRlIHRvIGRpc3BsYXkgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UnOwokbGFuZ1snaGVscF9zZWFyY2h0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggdGVtcGxhdGUuJzsKJGxhbmdbJ2hlbHBfc2VuZGVtYWlsdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb24gdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgdGhlIHNlbmRlbWFpbCBmb3JtLiAgVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCB3aGVuIHByZXR0eSB1cmxzIGFyZSBlbmFibGVkJzsKJGxhbmdbJ2hlbHBfc2hvd2FsbCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGRpc3BsYXlpbmcgYWxsIHJlc2VydmF0aW9ucywgaW5jbHVkaW5nIHBhc3QgcmVzZXJ2YXRpb25zLic7CiRsYW5nWydoZWxwX3NvcnRieSddID0gJyANCkFwcGxpY2FibGUgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgYW5kIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiBkaXNwbGF5ZWQgaXRlbXMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQpSZXNvdXJjZSBzdW1tYXJ5IHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPm5hbWU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KPC91bD4NCm15ZXNlcnZhdGlvbnMgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+c3RhcnRfZGF0ZTwvbGk+DQogIDxsaT5lbmRfZGF0ZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+DQogIDxsaT5tb2RpZmllZF9kYXRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcgYW5kIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiB0aGUgc2VsZWN0ZWQgZGF0YS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz48dWw+PGxpPmFzYyAtIGFzY2VuZGluZzwvbGk+PGxpPmRlc2MgLSBkZXNjZW5kaW5nPC9saT48L3VsPic7CiRsYW5nWydoZWxwX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGlkIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHJlc3VsdGluZyBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIG9uLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCBpbmxpbmUgaXMgc2V0IHRvIGZhbHNlLic7CiRsYW5nWydoZWxwX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW10ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF95ZWFyJ10gPSAnVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgeWVhci4gV2hlbiB1c2VkIHdpdGggdGhlIGRheXZpZXcgYWN0aW9uIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgeWVhci4nOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnQ29tcGFyYXRpZSBpc3RvcmljYSc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2luZSc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbWFnaW5lJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0NvbmZpZ3VyYXJlIGZvbG9zaXJlIGltYWdpbmknOwokbGFuZ1snaW5mb19hZGRfdXNlcl9hY2NvdW50J10gPSAnQWZpc2FyZSBmb3JtdWxhciBkZSBsYSBpbnRlcmZhdGEgZGUgbWFuYWdlbWVudCB1dGlsaXphdG9yaSBwZW50cnUgYSBwdXRlYSBhZGF1Z2EgY29udHVyaSB1dGlsaXphdG9yIG5vaSc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ0ZvbG9zaXQgcGVudHJ1IHJlemVydmFyZSByZXN1cnNlIGZhcmEgcHJldCBhdGFzYXQnOwokbGFuZ1snaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4gIElmIHNwZWNpZnlpbmcgYSBudW1iZXIgb2YgZnJlZSBkYXlzLCBhbiBpbnRlZ2VyIHZhbHVlIGlzIGV4cGVjdGVkLic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBjYWxlbmRhciB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNhbGVuZGFyIHRlbXBsYXRlcyBmb3IgdXNlIGluIHRoZSBmcm9udGVuZCBjYWxlbmRhciB2aWV3Lic7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZW1haWwgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIHVzZXIgd2hlbiB1c2luZyB0aGlzIHRlbXBsYXRlLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuICBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc3BlY2lhbCB0byB0aGlzIHRlbXBsYXRlOiB7JHN1YmplY3R9IC0gVGhlIHN1YmplY3Qgb2YgdGhlIGVtYWlsLCB7JGJvZHl9IC0gVGhlIGJvZHkgb2YgdGhlIGVtYWlsJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjdXN0b21lciBlbWFpbCB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIHNlbmRpbmcgbWVzc2FnZXMgdG8gY3VzdG9tZXJzIHdobyBoYXZlIGJvb2tlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHByb3BlcnRpZXMgc2hvdWxkIGJlIGxpc3RlZCBpbiB1c2VyIGxpc3RzLjxici8+VXNlIHskcHJvcGVydHluYW1lfSB0byBpZGVudGlmeSBhIHNpbmdsZSBwcm9wZXJ0eS48YnIvPlJlZmVyIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBmb3IgdGhlIGxpc3Qgb2YgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFyIGdyb3VwLjxici8+WW91IGNhbiBhbHNvIHVzZSB0aGUgeyR1c2VybmFtZX0gdGFnIHRvIGluZGljYXRlIHRoZSB1c2VycyBsb2dpbiBuYW1lLic7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBhbmQgZXZlbnRzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGF5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGRheSB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gY2xpY2tpbmcgb24gYW4gaW5kaXZpZHVhbCBkYXkgZnJvbSB0aGUgZGVmYXVsdCBjYWxlbmRhciBkaXNwbGF5JzsKJGxhbmdbJ2luZm9fZGVwb3NpdCddID0gJ1RoZSBoaWdoZXN0IGFtb3VudCBjYWxjdWxhdGVkIHdpbGwgYmUgdXNlZCBhcyB0aGUgbWluaW11bSBkZXBvc2l0IGZvciBlYWNoIHJlc2VydmF0aW9uLiAgRGVwb3NpdCBhbW91bnRzIHdpbGwgbmV2ZXIgZXhjZWVkIHRoZSB0b3RhbCByZXNlcnZhdGlvbiBhbW91bnQnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIGRldGFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIGRldGFpbCB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkZXRhaWwgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dCBmb3IgdGhlIE15UmVzZXJ2YXRpb25zIHJlcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBteXJlc2VydmF0aW9ucyB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gYWN0aW9uPW15cmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2luZm9fb3ZlcmNhcF9hbW91bnQnXSA9ICdEYWlseSBhbW91bnQgdG8gYWRkIChwZXIgdW5pdCkgdG8gcmVzZXJ2YXRpb24gcHJpY2UsIGZvciBlYWNoIHVuaXQgb3ZlciB0aGUgc3RhdGVkIGNhcGFjaXR5IChhcHBsaWNhYmxlIG9ubHkgaWYgdGhlIGNhcGFjaXR5IGlzIGEgdmFsaWQgdmFsdWUpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgaWYgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFjY2VzcyB0aGUgcmVzZXJ2YXRpb25zIGZvcm0gaWYgbm90IGxvZ2dlZCBpbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU3BlY2lmeSB0aGUgbGlzdCBvZiB1c2VycyAob3IgZ3JvdXBzKSB0byByZWNlaXZlIGEgY29weSBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsLiAgVGhlIGVtYWlsIGFkZHJlc3MgcHJvcGVydHkgZm9yIGVhY2ggc2VsZWN0ZWQgdXNlciBtdXN0IGJlIHZhbGlkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBhZnRlciBhIHZpc2l0b3IgaGFzIGNyZWF0ZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGVkaXQgcmVzZXJ2YXRpb24gdXJscywgYW5kIHNlbmQgbWVzc2FnZSB1cmxzJzsKJGxhbmdbJ2luZm9fcmVzb3VyY2VfdHlwZSddID0gJ1NwZWNpZnkgdGhlIHR5cGUgb2YgcmVzb3VyY2UgeW91IHdpbGwgYmUgbWFuYWdpbmcuICBpLmU6ICZxdW90O3Jvb20mcXVvdDsgb3IgJnF1b3Q7Y2FyJnF1b3Q7IGV0Yy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIGxhYmVsbGluZyBvZiB0aGUgZW50aXJlIG1vZHVsZS4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gZm9ybS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwgbWVzc2FnZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gcmVwb3J0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiBlbWFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBlbWFpbCBtZXNzYWdlIHRoYXQgaXMgc2VudCB0byB0aGUgY3VzdG9tZXIgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBtZXNzYWdlIGFuZCBkYXRhIHRoYXQgaXMgZGlzcGxheWVkIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgb3IgZWRpdHMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBjb250cm9scyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VuZGVtYWlsIGZvcm0sIHVzZWQgd2hlbiBhIHNpdGUgdmlzaXRvciB3YW50cyB0byBzZW5kIGEgbWVzc2FnZSB0byBidXNpbmVzcyBvd25lcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBzZW5kZW1haWwgZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIHNlbmRpbmcgYW4gZW1haWwgcmVsYXRlZCB0byBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnVXNlIHRoaXMgZm9ybSB0byBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24gb3IgdG8gYXNrIGFueSBxdWVzdGlvbnMgcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gc3VtbWFyeSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2Ugc3VtbWFyeSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHN1bW1hcnkgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzIDxlbT4odGhpcyBpcyB0aGUgZGVmYXVsdCB2aWV3KTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBGb3JtdWxhciBDYXV0YXJlIEF2YW5zYXRhJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBWaXp1YWxpemFyZSBDYWxlbmRhcic7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgSW1wbGljaXQgU2lzdGVtIEUtbWFpbCBDbGllbnQnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RheV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBWaXp1YWxpemFyZSBaaSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgSW1wbGljaXQgU2lzdGVtIERldGFsaWkgUmVzdXJzYSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgSW1wbGljaXQgU2lzdGVtIFZpenVhbGl6YXJlICZxdW90O1JlemVydmFyaWxlIG1lbGUmcXVvdDsgJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBGb3JtdWxhciBSZXplcnZhcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBJbXBsaWNpdCBTaXN0ZW0gQ29uZmlybWFyZSBSZXplcnZhcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBJbXBsaWNpdCBTaXN0ZW0gRS1tYWlsIENvbmZpcm1hcmUgUmV6ZXJ2YXJlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBJbXBsaWNpdCBTaXN0ZW0gRm9ybXVsYXIgVHJpbWl0ZXJlIEUtbWFpbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBTdW1hciBSZXN1cnNhJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyYXJlYSBhY2VzdHVpIHRlbXBsYXRlIG51IHZhIGF2ZWEgbmljaSB1biBlZmVjdCBpbWVkaWF0IGFzdXByYSBhZmlzYXJpaS4gQWNlc3QgZm9ybXVsYXIgY29udHJvbGVhemEgdmFsb2FyZWEgdGVtcGxhdGUtdWx1aSBjYXJlIGVzdGUgY3JlYXQgY2FuZCBkYXRpIGNsaWMgcGUgJnF1b3Q7VGVtcGxhdGUgTm91JnF1b3Q7IGluIHRhYnVsIGRlIHRlbXBsYXRlIGNvcmVzcHVuemF0b3IuJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnQWZpc2FyZSBpbmZvcm1hdGlpIGRldGFsaWF0ZSBkZXNwcmUgYWNlc3QgdXRpbGl6YXRvcic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnTm90ZSByZXplcnZhcmUgaW5pdGlhbGEnOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdJbiBQcm9ncmVzJzsKJGxhbmdbJ2tleXdvcmRzJ10gPSAnQ3V2aW50ZSBjaGVpZSc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdVbHRpbWEgbW9kaWZpY2FyZSc7CiRsYW5nWydsZWdlbmQnXSA9ICdMZWdlbmRhJzsKJGxhbmdbJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgY2F1dGFyZSBhdmFuc2F0YSc7CiRsYW5nWydsYmxfYmFjayddID0gJ0luYXBvaSc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdDYWxlbmRhciAnOwokbGFuZ1snbGJsX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUtdXJpIHZpenVhbGl6YXJlIGNhbGVuZGFyJzsKJGxhbmdbJ2xibF9jYXRlZ29yaWVzJ10gPSAnQXRyaWJ1dGUnOwokbGFuZ1snbGJsX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSBlLW1haWwgY2xpZW50JzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnQ2FtcHVyaSBjdXN0b20nOwokbGFuZ1snbGJsX2RheV92aWV3X3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSB2aXp1YWxpemFyZSB6aSc7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgaW1wbGljaXRlJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUtdXJpIGRldGFsaWknOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0V2ZW5pbWVudGUnOwokbGFuZ1snbGJsX2V2ZW50X3R5cGVzJ10gPSAnVGlwdXJpIGV2ZW5pbWVudGUnOwokbGFuZ1snbGJsX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSByZXplcnZhcmknOwokbGFuZ1snbGJsX3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyaW50ZSc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2YXJpJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSBlLW1haWwgY29uZmlybWFyZSByZXplcnZhcmUnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUtdXJpIGNvbmZpcm1hcmUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9mb3JtX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSBmb3JtdWxhciByZXplcnZhcmUnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc3Vyc2UnOwokbGFuZ1snbGJsX3NlbmRlbWFpbF90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgZm9ybXVsYXIgdHJpbWl0ZXJlIGUtbWFpbCc7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdNYW5hZ2VtZW50IHNldGFyaSc7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgc3VtYXInOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ01hbmFnZW1lbnQgdGVtcGxhdGUtdXJpJzsKJGxhbmdbJ21hbmFnZV9jdXN0b21lcl9jb250YWN0X3Jlc3ZuJ10gPSAnTWFuYWdlbWVudCBjb250YWN0IGNsaWVudCBwZW50cnUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ21hbmFnZXInXSA9ICdNYW5hZ2VyICc7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTHVuZ2ltZSBtYXhpbWEnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIG1lc2FqJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ0NvbnRpbnV0IG1lc2FqJzsKJGxhbmdbJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCddID0gJ0F2YW5zIG1pbmltIGNlcnV0JzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICdNb2RpZmljYXQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnTyByZXN1cnNhIHNpIHVuIG1hbmFnZXIgZGUgZGlzcG9uaWJpbGl0YXRlIHBlbnRydSBhIHByb2dyYW1hIHNpIHJlemVydmEgcmVzdXJzZSc7CiRsYW5nWydtb25kYXknXSA9ICdMdW5pJzsKJGxhbmdbJ21vbnRoJ10gPSAnTHVuYSc7CiRsYW5nWydtb250aGxpc3RfYnJpZWYnXSA9ICdJYW4vRmViL01hci9BcHIvTWFpL0l1bi9JdWwvQXVnL1NlcC9PY3QvTm9pL0RlYyc7CiRsYW5nWydtb3JlJ10gPSAnTWFpIG11bHQnOwokbGFuZ1snbmFtZSddID0gJ051bWUnOwokbGFuZ1snbmV4dCddID0gJ0luYWludGUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTnUnOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnQmxvY3VyaSBpbmNoaXNlJzsKJGxhbmdbJ25vbmUnXSA9ICdOaW1pYyc7CiRsYW5nWydub3RlcyddID0gJ05vdGUnOwokbGFuZ1snbm90X2FwcGxpY2FibGUnXSA9ICdOL0QnOwokbGFuZ1snbm90X2NhbGN1bGF0ZWQnXSA9ICdOb24tY2FsY3VsYXQnOwokbGFuZ1snbnVtX3Blb3BsZSddID0gJ051bWFyIGRlIHBlcnNvYW5lJzsKJGxhbmdbJ29jY3VycyddID0gJ1NlIHByb2R1Y2UnOwokbGFuZ1snb2YnXSA9ICdEZSc7CiRsYW5nWydvbmVfaG91ciddID0gJ08gb3JhJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpdW5pJzsKJGxhbmdbJ29yZGVyJ10gPSAnQ29tYW5kYSc7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ0FqdXN0YXJlIHByZXQgc3VwcmFjYXBhY2l0YXRlJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ051bWFyIGRlIG9iaWVjdGUgcGVyIHBhZ2luYSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnUGFnaW5hIHVuZGUgc2UgcmVkaXJlY3Rpb25lYXphIGNhbmQgbnUgZXN0ZSBhdXRlbnRpZmljYXQnOwokbGFuZ1sncGFydDEnXSA9ICdQYXJ0ZWEgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdSZXplcnZhdCBwYXJ0aWFsJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBkaW4gJXMgc2xvdHVyaSByZXplcnZhdGUnOwokbGFuZ1sncGFzdF9tZXNzYWdlcyddID0gJ01lc2FqZSBkaW4gdHJlY3V0JzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdJbiBhc3RlcHRhcmUnOwokbGFuZ1sncGVyY2VudGFnZV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnUHJvY2VudHVsIG1pbmltIGRpbiB0b3RhbHVsIGNvbWVuemlpIGNlcnV0IGNhIGF2YW5zIDxlbT4oZXhwcmltYXQgaW4gZm9ybWF0IGRlY2ltYWwpPC9lbT4nOwokbGFuZ1sncGVyY2VudF9ib29rZWQnXSA9ICdQcm9jZW50IHJlemVydmFyaSc7CiRsYW5nWydQTSddID0gJ1BNICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiAgUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBhcHByb3ByaWF0ZSBncm91cHMgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgdG8gbWFuYWdlIHRoZSB2YXJpb3VzIGFzcGVjdHMgb2YgdGhpcyBtb2R1bGUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlLCBhbmQgYWxsIHJlbGF0ZWQgZGF0YSBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN5c3RlbS4gIFlvdSBhcmUgbm93IGZyZWUgdG8gZGVsZXRlIHRoZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJldiddID0gJ0luYXBvaSc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJpY2UnXSA9ICdQcmV0JzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByZXR1cmknOwokbGFuZ1sncHJpY2VfYWRqdXN0J10gPSAnQWRqdXN0IHRoZSBQcmljZSBvZiBlZmZlY3RlZCAlcyBieSB0aGlzIGFtb3VudC48YnIvPjxlbT4odXNlIGEgZm9ybWF0IGxpa2UgKjAuODUgb3IgLTEzIG9yICsyNSk8L2VtPic7CiRsYW5nWydwcm9tcHQnXSA9ICdBZmlzYXJlJzsKJGxhbmdbJ3B1YmxpYyddID0gJ1B1YmxpYyAnOwokbGFuZ1sncXVhcnRlcl9ob3VyJ10gPSAnU2ZlcnQgZGUgb3JhJzsKJGxhbmdbJ3Jlc2VydmVkJ10gPSAnUmV6ZXJ2YXQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgZnVuZGFsIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ3Vsb2FyZSBmdW5kYWwgY29uZmxpY3QgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdTZXRhcmkgYXZhbnMgcmV6ZXJ2YXJpJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgZnVuZGFsIHJlemVydmFyZSBpbiBhc3RlcHRhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlnJ10gPSAnU2V0YXJpIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaXNpZXIgY2FyZSBzZSB2YSBhdGFzYSB0dXR1cm9yIGUtbWFpbHVyaWxvciBkZSBjb25maXJtYXJlIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnQ0MgY2F0cmUgYWNlc3RpIHV0aWxpemF0b3JpIGxhIGNvbmZpcm1hcmUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddID0gJ1RyaW1pdGVyZSBlLW1haWwgY2F0cmUgY2xpZW50IGNhbmQgbyByZXplcnZhcmUgZXN0ZSBjcmVhdGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnU3ViaWVjdCBhbCBlLW1haWx1cmlsb3IgZGUgY29uZmlybWFyZSByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnUGFnaW5hIGNvbmZpcm1hcmUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnJXMgc2VsZWN0YXRlIG51IHN1bnQgdG9hdGUgZGlzcG9uaWJpbGUgcGVudHJ1IGRhdGVsZSBzZWxlY3RhdGUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY3JlYXRlZCddID0gJ1JlemVydmFyZSBjcmVhdGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUGFnaW5hIGltcGxpY2l0YSByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ0RldGFsaWkgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2ZvcmVncm91bmRfY29sb3InXSA9ICdDdWxvYXJlIHByaW0tcGxhbiBjb25mbGljdCByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgcHJpbS1wbGFuIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2ZvcmVncm91bmRfY29sb3InXSA9ICdDdWxvYXJlIHByaW0tcGxhbiByZXplcnZhcmUgcGFydGlhbGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ3Vsb2FyZSBmdW5kYWwgcmV6ZXJ2YXJlIHBhcnRpYWxhJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnQ29tcG9uZW50ZSByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnQ3Vsb2FyZSBwcmltLXBsYW4gcmV6ZXJ2YXJlIGluIGFzdGVwdGFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9udW0nXSA9ICdSZXplcnZhcmU6ICUwNWQnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldGFyZSc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jlc3Vyc2EnOwokbGFuZ1sncmVzb3VyY2VzJ10gPSAnUmVzdXJzZSc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXplcnZhdCBpbiBiYXphICVzLCBjdSBsaW1pdGUgJXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8yJ10gPSAnUmV6ZXJ2YXQgaW4gYmF6YSAlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdkaXNwb25pYmlsIGRlIGxhICVzIGxhICVzIHNpIGRlIGxhICVzIGxhICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ3RpbXB1bCBwZW50cnUgcHJlbHVhcmUgZXN0ZSAlcywgc2kgY2VsIGRlIHByZWRhcmUgZXN0ZSAlcyc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnVGlwIHJlc3Vyc2EnOwokbGFuZ1sncm9vbSddID0gJ0NhbWVyYSc7CiRsYW5nWydyb29tcyddID0gJ0NhbWVyZSc7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdFc3RlIG5lY2VzYXIgYXZhbnM/JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU2FtYmF0YSc7CiRsYW5nWydzY2hlZHVsaW5nJ10gPSAnUHJvZ3JhbWFyZSc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnQWNlYXN0YSByZXN1cnNhIGVzdGUgcmV6ZXJ2YXRhJzsKJGxhbmdbJ3NlYXJjaCddID0gJ0NhdXRhcmUnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdGF0aSB1bmEnOwokbGFuZ1snc2VuZCddID0gJ1RyaW1pdGV0aSc7CiRsYW5nWydzZW5kX2VtYWlsJ10gPSAnVHJpbWl0ZXRpIHVuIGUtbWFpbCc7CiRsYW5nWydzZW50J10gPSAnVHJpbWlzJzsKJGxhbmdbJ3N0YXJ0X2RhdGUnXSA9ICdEYXRhIFN0YXJ0JzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMSddID0gJ1RpbXAgc3RhcnQgMSc7CiRsYW5nWydzdGFydF90aW1lXzInXSA9ICdUaW1wIHN0YXJ0IDInOwokbGFuZ1snc3RhdGlzdGljcyddID0gJ1N0YXRpc3RpY2knOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnJXMgc2VsZWN0YXRlIHN1bnQgZGlzcG9uaWJpbGUgcGVudHJ1IGFjZXN0ZSBkYXRlJzsKJGxhbmdbJ3N1YmpfcmVfcmVzdm4nXSA9ICdSZTogUmV6ZXJ2YXJlYSAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViaWVjdCc7CiRsYW5nWydzdWJtaXQnXSA9ICdUcmltaXRlcmUnOwokbGFuZ1snc3VuZGF5J10gPSAnRHVtaW5pY2EnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdBcmllIHRleHQnOwokbGFuZ1sndGV4dGJveCddID0gJ0NhbXAgdGV4dCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ0pvaSc7CiRsYW5nWyd0aXRsZV9jb25mbGljdCddID0gJ0V4aXN0YSBDb25mbGljdCB8IEVzdGUgdW4gY29uZmxpY3QgaW50cmUgcmV6ZXJ2YXJpbGUgJTA0ZCBzaSAlMDRkLjxici8+PGJyLz5FIHBvc2liaWwgc2EgZXhpc3RlIHNpIGFsdGUgY29uZmxpY3RlIHBlbnRydSBhY2VzdCBibG9jLic7CiRsYW5nWyd0aXRsZV9ncmFwaGluZyddID0gJ1ZlZGV0aSBncmFmaWNlIHNpIHJhcG9hcnRlIHBlbnRydSBkYXRlIGlzdG9yaWNlJzsKJGxhbmdbJ3RvdGFsX2Jsb2NrcyddID0gJ1RvdGFsIEJsb2N1cmknOwokbGFuZ1sndHVlc2RheSddID0gJ01hcnRpJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXAnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0FwbGljYXRpIHVybWF0b2FyZWxlIGRhdGUnOwokbGFuZ1sndmFjYW50J10gPSAnRGlzcG9uaWJpbCc7CiRsYW5nWyd2aWV3J10gPSAnVmVkZXRpJzsKJGxhbmdbJ3ZpZXdfZGF5J10gPSAnVmVkZXRpIGluZm9ybWF0aWkgZGVzcHJlIGFjZWFzdGEgemknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmVkZXRpIGluZm9ybWF0aWkgb2FzcGV0ZSc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1ZlZGV0aSBkZXRhbGlpIHBlbnRydSAlcyc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdNaWVyY3VyaSc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnQWp1c3RhcmkgcHJldCB6aSBhIHNhcHRhbWFuaWknOwokbGFuZ1sneWVhcl8xJ10gPSAnQW51bCAxJzsKJGxhbmdbJ3llYXJfMiddID0gJ0FudWwgMic7CiRsYW5nWyd5ZWFyXzMnXSA9ICdBbnVsIDMnOwokbGFuZ1sneWVzJ10gPSAnRGEnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnTnVtZWxlIGR1bW5lYXZvYXN0cmEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zNzg0MTk3NTguMTI1MjA0Nzc0MC4xMjUyMDU2NTYzLjEyNTIwNjAzNDAuNCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1MjA0Nzc0MC4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0wmYXVtbDtnZyB0aWxsIGgmYXVtbDtuZGVsc2V0eXAnOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWVyYSBoJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdGl2JzsKJGxhbmdbJ2FkZCddID0gJ0wmYXVtbDtnZyB0aWxsJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ0Z5bGwgaSBpbmZvcm1hdGlvbiBhbmcmYXJpbmc7ZW5kZSBkZW5uYSBib2tuaW5nJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9SZWRpZ2VyYSBlbiBBdmFuY2VyYWQgUyZvdW1sO2sgRm9ybXVsJmF1bWw7cnMgTWFsbCc7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvTW9kaWZpZXJhIGVuIG1hbGwgZiZvdW1sO3IgdnluIEthbGVuZGVyJzsKJGxhbmdbJ2FkZGVkaXRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvTW9kaWZpZXJhIGVuIG1hbGwgZiZvdW1sO3IgZXBvc3QgdGlsbCBrdW5kZXInOwokbGFuZ1snYWRkZWRpdF9kYXlfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciB2eW4gRGFnJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvTW9kaWZpZXJhIGVuIG1hbGwgZiZvdW1sO3IgdnluIFJlc3Vyc2RldGFsamVyJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciB2eW4gTWluYSBib2tuaW5nYXInOwokbGFuZ1snYWRkZWRpdF9yZXN2bl90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL01vZGlmaWVyYSBlbiBtYWxsIGYmb3VtbDtyIGJva25pbmdzZm9ybXVsJmF1bWw7cic7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciBib2tuaW5nc2Jla3ImYXVtbDtmdGVsc2UgKGVwb3N0KSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciBib2tuaW5nc2Jla3ImYXVtbDtmdGVsc2UnOwokbGFuZ1snYWRkZWRpdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciBmb3JtdWwmYXVtbDtyZXQgJnF1b3Q7c2tpY2thIGVwb3N0JnF1b3Q7JzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL01vZGlmaWVyYSBlbiBtYWxsIGYmb3VtbDtyIHZ5biBSZXN1cnMmb3VtbDt2ZXJzaWt0JzsKJGxhbmdbJ2FkbWluX25vdGVzJ10gPSAnQWRtaW5pc3RyYXQmb3VtbDtyc25vdGVyaW5nYXInOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgZWxpZ2libGUgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWxsYWRqdXN0J10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGFsbCBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9mcmVlYmxvY2snXSA9ICdCdWxrIGRpc2NvdW50IGVsaWdpYmxlIGZyZWUgZGF5JzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ0p1c3RlcmF0IHByaXMgZiZvdW1sO3IgaCZhdW1sO25kZWxzZS9ldmVuZW1hbmcgJXMgbWVkICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdBZGp1c3RlZCBwcmljZSBmb3IgJWQgZXh0cmEgcGVvcGxlIGJ5ICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdKdXN0ZXJhdCBwcmlzIGYmb3VtbDtyIHZlY2tvZGFnICVzIG1lZCAlcyc7CiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdMJmF1bWw7Z2cgdGlsbCBhdHRyaWJ1dCc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnTCZhdW1sO2dnIHRpbGwgZWdlbmRlZmluaWVyYXQgZiZhdW1sO2x0JzsKJGxhbmdbJ2FkZF9ldmVudCddID0gJ0wmYXVtbDtnZyB0aWxsIGgmYXVtbDtuZGVsc2UvZXZlbmVtYW5nJzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnTCZhdW1sO2dnIHRpbGwgaCZhdW1sO25kZWxzZXR5cCc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdMJmF1bWw7Z2cgdGlsbCBlbiBib2tuaW5nJzsKJGxhbmdbJ2FkZF91c2VyX2FjY291bnQnXSA9ICdMJmF1bWw7Z2cgdGlsbCBlbiBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydhbGwnXSA9ICdBbGxhJzsKJGxhbmdbJ2FsbG93ZWRfZmlsZV90eXBlcyddID0gJ1RpbGwmYXJpbmc7dG5hIGZpbHR5cGVyJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUaWxsJmFyaW5nO3RuYSBiaWxkdHlwZXInOwokbGFuZ1snYWxsb3dfbm9fcHJpY2VzJ10gPSAnRXJyb3Igb24gbm8gcHJpY2UnOwokbGFuZ1snQU0nXSA9ICdBTSc7CiRsYW5nWydhbnknXSA9ICdOJmFyaW5nO2dvbic7CiRsYW5nWydhcHBseSddID0gJ1ZlcmtzdCZhdW1sO2xsJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgcGVybWFuZW50IHJhZGVyYSBkZW5uYSBoJmF1bWw7bmRlbHNlPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsIHBlcm1hbmVudCByYWRlcmEgZGVubmEgYm9rbmluZyBmciZhcmluZztuIHN5c3RlbWV0Pyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc291cmNlJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsIHBlcm1hbmVudCByYWRlcmEgZGVubmEgcmVzdXJzPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCBhdmluc3RhbGxlcmEgZGVubmEgbW9kdWw/ICBBdHQgZm9ydHMmYXVtbDt0dGEgbWVkZiZvdW1sO3IgYXR0IGFsbHQgZGF0YSByZWxhdGVyYXQgdGlsbCBtb2R1bGVuIGYmb3VtbDtybG9yYXMuJzsKJGxhbmdbJ2F0J10gPSAnQCc7CiRsYW5nWydhdHRhY2htZW50J10gPSAnQmlsYWdhJzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnS2F0YWxvZyBhdHQgcyZvdW1sO2thIGVmdGVyIGJpbGFnb3IgaSc7CiRsYW5nWydhdHRyaWJ1dGVzJ10gPSAnQXR0cmlidXQnOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnQXV0b21hdGdlbmVyZXJhIHR1bW5hZ2VsYmlsZGVyJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ1RpbGxnJmF1bWw7bmdsaWcnOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0Jha2dydW5kc2YmYXVtbDtyZyc7CiRsYW5nWydiYXNlX3ByaWNlJ10gPSAnR3J1bmRwcmlzJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnS2FuIHJ1bSBib2thcyB1bmRlciBkZW5uYSBoJmF1bWw7bmRlbHNlPyc7CiRsYW5nWydib29rYWJsZV9iciddID0gJ0Jva25pbmdzYmFydCc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb2tuaW5nc2JhcmEgaCZhdW1sO25kZWxzZWJsb2NrJzsKJGxhbmdbJ2Jvb2tlZF9ibG9ja3MnXSA9ICdCb2thZGUgYmxvY2snOwokbGFuZ1snY2FiaW4nXSA9ICdTdHVnYSc7CiRsYW5nWydjYWJpbnMnXSA9ICdTdHVnb3InOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnQmVyJmF1bWw7a25hJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0JlciZhdW1sO2tuYSBwcmlzJzsKJGxhbmdbJ2NhbGN1bGF0ZWRfcHJpY2UnXSA9ICdDYWxjdWxhdGVkIFByaWNlJzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ0luc3QmYXVtbDtsbG5pbmdhciBmJm91bWw7ciB0aWxsZyZhcmluZztuZ3NrYWxlbmRlcic7CiRsYW5nWydjYW5jZWwnXSA9ICdBdmJyeXQnOwokbGFuZ1snY2FuY2VsbGVkJ10gPSAnQXZib2thZCc7CiRsYW5nWydjYXBhY2l0eSddID0gJ0thcGFjaXRldCc7CiRsYW5nWydjYXInXSA9ICdCaWwnOwokbGFuZ1snY2FycyddID0gJ0JpbGFyJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dCc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0dHJpYnV0JzsKJGxhbmdbJ2NjX215c2VsZiddID0gJ1NraWNrYSBlbiBrb3BpYSBhdiBkZXR0YSBtZWRkZWxhbmRlIHRpbGwgbWluIGVwb3N0bCZhcmluZztkYSc7CiRsYW5nWydjaGVja2JveCddID0gJ0tyeXNzcnV0YSc7CiRsYW5nWydjaGVja2luJ10gPSAnSW5jaGVja25pbmcnOwokbGFuZ1snY2hlY2tpbl90aW1lJ10gPSAnSW5jaGVja25pbmdzdGlkJzsKJGxhbmdbJ2NoZWNrb3V0J10gPSAnVXRjaGVja25pbmcnOwokbGFuZ1snY2hlY2tvdXRfdGltZSddID0gJ1V0Y2hlY2tuaW5nc3RpZCc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdLb250cm9sbGVyYSB0aWxsZyZhcmluZztuZyc7CiRsYW5nWydjbG9zZWQnXSA9ICdTdCZhdW1sO25nZCc7CiRsYW5nWydjb2xvciddID0gJ0YmYXVtbDtyZyc7CiRsYW5nWydjb25maXJtZWQnXSA9ICdCZWtyJmF1bWw7ZnRhZCc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnViZhdW1sO25saWdlbiBrb250cm9sbGVyYSBpbmZvcm1hdGlvbmVuIGkgZm9ybXVsJmF1bWw7cmV0IG9jaCBiZWtyJmF1bWw7ZnRhIGF0dCBkdSB2aWxsIHNrYXBhIGRlbm5hIGJva25pbmcnOwokbGFuZ1snY29uZmxpY3QnXSA9ICdLb25mbGlrdCc7CiRsYW5nWydjcmVhdGVfZGF0ZSddID0gJ1NrYXBhZCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdTa2FwYSBlbiBib2tuaW5nIGYmb3VtbDtyIGRlbm5hIHRpZCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnU2thcGFkJzsKJGxhbmdbJ2N1cnJlbmN5X3N5bWJvbCddID0gJ1ZhbHV0YXN5bWJvbCc7CiRsYW5nWydjdXN0b21lciddID0gJ0t1bmQnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLdW5kZ3J1cHAnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0t1bmRuYW1uJzsKJGxhbmdbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdNYWxsIGYmb3VtbDtyIGt1bmR2eSc7CiRsYW5nWydkYWlseSddID0gJ0RhZ2xpZyc7CiRsYW5nWydkYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ0RhZ3NyYXBwb3J0JzsKJGxhbmdbJ2RheV9yZXBvcnRfcnNyYyddID0gJ0RhZ3NyYXBwb3J0IGYmb3VtbDtyICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnRGFnIHJhcHBvcnQnOwokbGFuZ1snZGVmYXVsdF9ncmFudWxhcml0eSddID0gJ0RlZmF1bHQgR3JhbnVsYXJpdHknOwokbGFuZ1snZGVmYXVsdF90aW1lX2ludGVydmFsJ10gPSAnRGVmYXVsdCBUaW1lIEludGVydmFsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1JhZGVyYSc7CiRsYW5nWydkZWxldGVfY2F0ZWdvcnknXSA9ICdSYWRlcmEgQXR0cmlidXQnOwokbGFuZ1snZGVsZXRlX2N1c3RvbV9maWVsZCddID0gJ1JhZGVyYSBlZ2VuZGVmaW5pZXJhdCBmJmF1bWw7bHQnOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnUmFkZXJhIGgmYXVtbDtuZGVsc2UvZXZlbmVtYW5nJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnUmFkZXJhIGgmYXVtbDtuZGVsc2V0eXAnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnRGVzcG9zaXQgQW1vdW50cyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZuaW5nJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnRGluIGJva25pbmcgaGFyIGJla3ImYXVtbDtmdGF0cyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RtZW50J10gPSAnRGlzY291bnQgQWRqdXN0bWVudCc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBmb3IgdGhlIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgZGF5cyAobGVhc3QgZXhwZW5zaXZlIGZpcnN0KSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcHBseSBhIGJ1bGsgYWRqdXN0bWVudCB0byBhbGwgZGF5cyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWRqdXN0IFByaWNlcyBmb3IgYXBwbGljYWJsZSBkYXlzIG9ubHknOwokbGFuZ1snZGlzY291bnRfdHlwZSddID0gJ0Rpc2NvdW50IFR5cGUnOwokbGFuZ1snZGlzcGxheSddID0gJ1Zpc2EnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdSdWxsZ2FyZGluc21lbnknOwokbGFuZ1snZWRpdCddID0gJ01vZGlmaWVyYSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTW9kaWZpZXJhIGF0dHJpYnV0JzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnTW9kaWZpZXJhIGVnZW5kZWZpbmllcmF0IGYmYXVtbDtsdCc7CiRsYW5nWydlZGl0X2V2ZW50J10gPSAnTW9kaWZpZXJhIGgmYXVtbDtuZGVsc2UvZXZlbmVtYW5nJzsKJGxhbmdbJ2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWVyYSBoJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ2VkaXRfcmVzZXJ2YXRpb24nXSA9ICdNb2RpZmllcmEgYm9rbmluZyc7CiRsYW5nWydlbWFpbCddID0gJ0Vwb3N0JzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnU2x1dGRhdHVtJzsKJGxhbmdbJ2VuZF90aW1lXzEnXSA9ICdFbmQgVGltZSAxJzsKJGxhbmdbJ2VuZF90aW1lXzInXSA9ICdFbmQgVGltZSAyJzsKJGxhbmdbJ2Vycm9yX2NhbGN1bGF0aW9uJ10gPSAnQmVyJmF1bWw7a25pbmdzZmVsJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdEZW5uYSByZXN1cnMga2FuIGludGUgcmFkZXJhcyBlZnRlcnNvbSBkZXQgZmlubnMgayZhdW1sO25kYSByZXNlcnZhdGlvbmVyIGYmb3VtbDtyIGRlbic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2ZlbCwgdiZhdW1sO25saWdlbiBrb250YWt0YSBhZG1pbmlzdHJhdCZvdW1sO3Jlbic7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ0VuIGtvbmZsaWt0IGFuZyZhcmluZztlbmRlIGlja2UgYm9rbmluZ3NiYXIgaCZhdW1sO25kZWxzZS9ldmVuZW1hbmcgdXBwdCZhdW1sO2NrZXMgZiZvdW1sO3IgZGVubmEgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ0V0dCBwcm9ibGVtIHVwcHN0b2QgdmlkIGYmb3VtbDtycyZvdW1sO2sgYXR0IHJhZGVyYSBlbiBlbGxlciBmbGVyYSBmaWxlcic7CiRsYW5nWydlcnJvcl9pbnRlcm5hbGNvbmZpZyddID0gJ0V0dCBpbnRlcm50IGZlbCBoYXIgdXBwc3QmYXJpbmc7dHQsIHYmYXVtbDtubGlnZW4ga29udGFrdGEgYWRtaW5pc3RyYXQmb3VtbDtyZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ0R1IGhhciBhbmdldHQgb2dpbHRpZ2EgZGF0dW0nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9wcmljZSddID0gJ0RldCBhbmdpdm5hIHByaXNldCB2ZXJrYXIgdmFyYSB0b210IGVsbGVyIG9naWx0aWd0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ1RoZSB0aW1lIHJhbmdlcyBlbnRlcmVkIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdFdHQgb2dpbHRpZ3QgdiZhdW1sO3JkZSBhbmdhdnMgZiZvdW1sO3IgZXR0IGVsbGVyIGZsZXJhIGYmYXVtbDtsdCBlbGxlciBwYXJhbWV0cmFyJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnRW4gZWxsZXIgZmxlcmEgb2JsaWdhdG9yaXNrYSBwYXJhbWV0cmFyIHNha25hcyBlbGxlciAmYXVtbDtyIHRvbW1hJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmxlbSB2aWQgc2thcGFuZGUgYXYga2F0YWxvZyc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ0R1IG0mYXJpbmc7c3RlIHYmYXVtbDtsamEgZW4gZWxsZXIgZmxlcmEgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0tvbmZpZ3VyYXRpb25zcHJvYmxlbS4gSW5nZW4gbW90dGFnYXJlICZhdW1sO3IgZGVmaW5pZXJhZCBmJm91bWw7ciBkZXNzYSBtZWRkZWxhbmRlbi4gViZhdW1sO25saWdlbiBrb250YWt0YSBhZG1pbmlzdHJhdCZvdW1sO3JlbiBkaXJla3QuJzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnRGV0IGFuZ2l2bmEgZGF0YXQga3VuZGUgaW50ZSBoaXR0YXMnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnRHUgJmF1bWw7ciBpbnRlIGlubG9nZ2FkLiBEdSBtJmFyaW5nO3N0ZSByZWdpc3RyZXJhIGV0dCBrb250byBpbm5hbiBkdSBrYW4gZyZvdW1sO3JhIGVuIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBuJmFyaW5nO2dvbiBlcG9zdC1hZHJlc3MgZiZvdW1sO3IgZGVubmEga3VuZCc7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9zZWxlY3RlZCddID0gJ1YmYXVtbDtubGlnZW4gdiZhdW1sO2xqIGVuIGt1bmQgZnImYXJpbmc7biBsaXN0YW4nOwokbGFuZ1snZXJyb3Jfbm9fZXZlbnRfdHlwZXMnXSA9ICdJbmdhIGgmYXVtbDtuZGVsc2V0eXBlciBkZWZpbmllcmFkZSc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbnMnXSA9ICdJbmdhIHJlc2VydmF0aW9uZXIgZnVubmEgZiZvdW1sO3IgZGV0IHZhbGRhIGRhdHVtZXQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzJ10gPSAnSW5nZXQgJXMgZGVmaW5pZXJhZCc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXNfc2VsZWN0ZWQnXSA9ICdQbGVhc2UgZGVmaW5lIG9uZSBvciBtb3JlIHJlc291cmNlcyBhbmQgaW50ZXJ2YWxzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBuJmFyaW5nO2dyYSByZWdpc3RyZXJhZGUgYW52JmF1bWw7bmRhcmUgZiZvdW1sO3IgZGluIHZhbGRhIGt1bmRncnVwcCc7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnRHUga2FuIGludGUgc2thcGEgZW4gcmVzZXJ2YXRpb24gcCZhcmluZzsgZXR0IGYmb3VtbDtyZyZhcmluZztuZ2V0IGRhdHVtJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdEdSBoYXIgaW50ZSBiZWgmb3VtbDtyaWdoZXQgYXR0IHNlIGRlc3NhIGRhdGEnOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdFbiByZXNlcnZhdGlvbnNrb25mbGlrdCBoYXIgdXBwdCZhdW1sO2NrdHMnOwokbGFuZ1snZXJyb3Jfc2VsZWN0X3N0YXR1cyddID0gJ1YmYXVtbDtubGlnZW4gdiZhdW1sO2xqIHN0YXR1cyc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdGaWx1cHBsYWRkbmluZ3MtZmVsJzsKJGxhbmdbJ2V2ZW50c19mb3JfcmVzb3VyY2UnXSA9ICdIJmF1bWw7bmRlbHNlciBmJm91bWw7ciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnSCZhdW1sO25kZWxzZXR5cCc7CiRsYW5nWydldmVudF90eXBlcyddID0gJ0gmYXVtbDtuZGVsc2V0eXBlcic7CiRsYW5nWydleHBpcmVkJ10gPSAnVXRnJmFyaW5nO25nZW4nOwokbGFuZ1snZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cyddID0gJ0V4dGVuZGVkIFVzZSBEaXNjb3VudHMnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyLWluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydmaWVsZHMnXSA9ICdGJmF1bWw7bHQnOwokbGFuZ1snZmlsZSddID0gJ0ZpbCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxoYW50ZXJpbmdza29uZmlndXJhdGlvbic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3JlZ3JvdW5kX2NvbG9yJ10gPSAnRiZvdW1sO3JncnVuZHNmJmF1bWw7cmcnOwokbGFuZ1snZnJpZGF5J10gPSAnRnJlZGFnJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Jva25pbmdzaGFudGVyYXJlJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ0tvbW1hbmRlJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnR2VuZXJlbGwgS29uZmlndXJhdGlvbic7CiRsYW5nWydncm91cCddID0gJ0dydXBwJzsKJGxhbmdbJ2d1ZXN0J10gPSAnRyZhdW1sO3N0JzsKJGxhbmdbJ2hhbGZfZGF5J10gPSAnSGFsdmRhZyc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdIYWx2dGltbWUnOwokbGFuZ1snaG91cmx5J10gPSAnVGltdmlzJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcGxldGUgb25saW5lIHJlc2VydmF0aW9uIG1hbmFnZW1lbnQgc3lzdGVtIGZvciBob3RlbHMsIGNhciByZW50YWwgYWdlbmNpZXMsIG9yIGFueSBvdGhlciBwdXJwb3NlIHdoZXJlIHBhcnRpY3VsYXIgJnF1b3Q7cmVzb3VyY2VzJnF1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPg0KPHA+QSBjb21wbGV0ZSBhZG1pbiBpbnRlcmZhY2UgYWxsb3dzIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHJlc291cmNlcywgZXZlbnRzLCByZXNlcnZhdGlvbnMsIGFuZCBhbGwgYXNwZWN0cyBvZiB0aGUgZGlzcGxheWFibGUgaXRlbXMuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQo8bGk+QWxsb3dzIGRlZmluaW5nIHVubGltaXRlZCBudW1iZXJzIG9mIHJlc291cmNlcy4NCiAgPHVsPg0KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+DQogIDxsaT5QcmljZSBhZGp1c3RtZW50cyBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCBkYXkgb2YgdGhlIHdlZWsuPC9saT4NCiAgPC91bD4NCjxsaT4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgYW4gdW5saW1pdGVkIG51bWJlciBvZiBjdXN0b20gZmllbGRzIHRvIGFzc29jaWF0ZSB3aXRoIHJlc291cmNlcy48L2xpPg0KPGxpPkFsbG93cyBjcmVhdGluZyBldmVudCB0eXBlcyBhbmQgYXNzb2NpYXRpbmcgdGhlbSB3aXRoIGNvbG9ycy48L2xpPg0KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6DQogIDx1bD4NCiAgPGxpPkV2ZW50cyBjYW4gYmUgYm9va2FibGUgb3Igbm9uIGJvb2thYmxlLCB0byBibG9jayByZXNlcnZhdGlvbnMgZm9yIHRob3NlIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8L3VsPg0KPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBjb25mbGljdCBjaGVja2luZyB0byBlbnN1cmUgdGhhdCBubyByZXNlcnZhdGlvbnMgY2FuIGJlIGNyZWF0ZWQgZm9yIHJlc2VydmVkIHJlc291cmNlcywgb3IgY2xvc2VkIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBkbyBhZnRlciBpbnN0YWxsbmcgdGhlIG1vZHVsZSBpcyB0byBjcmVhdGUgc29tZSByb29tIGF0dHJpYnV0ZXMsIGFuZCBldmVudCB0eXBlcy4gICBZb3Ugc2hvdWxkIGFsc28gY2hlY2sgdGhlIHByZWZlcmVuY2VzIHRvIGVuc3VyZSB0aGF0IHRoZXkgc2VlbSB0byBiZSBzZXQgY29ycmVjdGx5LiAgWW91IGhhdmUgdGhlIG9wdGlvbiBvZiBjaGFuZ2luZyB0aGUgcmVzb3VyY2UgdHlwZSBpbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHJvb20gdG8gc29tZSBvdGhlciByZXNvdXJjZSB0aGF0IHlvdSBhcmUgbWFuYWdpbmcuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSB2YXJpb3VzIGxhYmVscyBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbmQgaW4gdGhlIGZyb250ZW5kIGRpc3BsYXkuPC9wPg0KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB5b3Ugc2hvdWxkIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHl9IGludG8gYSBjb250ZW50IHBhZ2UuPC9wPg0KPHA+VG8gZGlzcGxheSBhIGNhbGVuZGFyIHZpZXcsIHlvdSBjYW4gYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eSBhY3Rpb249Y2FsZW5kYXJ9IHRvIGEgY29udGVudCBwYWdlLiAgVGhpcyB3aWxsIHByb3ZpZGUgYSBzdWZmaWNpZW50IHN5c3RlbSBmb3IgYWxsb3dpbmcgdmlzaXRvcnMgdG8gY3JlYXRlIHJlc2VydmF0aW9ucywgZXRjLjwvcD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGRlc2lyZWQgZm9ybSBvciByZXBvcnQgdG8gZGlzcGxheS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4NCjx1bD4NCjxsaT5hZGRyZXN2biAtIFRoZSBhZGQvZWRpdCByZXNlcnZhdGlvbiBmb3JtPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBmb3JtIGFsbG93cyBhIHZhbGlkLCBsb2dnZWQgaW4gZnJvbnRlbmQgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiBpbiB0aGUgc3lzdGVtLjwvbGk+DQo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgdmlldyBkaXNwbGF5cyB0aGUgYXZhaWxhYmlsaXR5IG9mIHNlbGVjdGVkIHJlc291cmNlcyBmb3IgdGhlIGN1cnJlbnQgbW9udGguICBJdCBhbGxvd3MgcGFnaW5hdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBtb250aHMsIHZpZXdpbmcgYSByZXNvdXJjZSBkZXRhaWwgdmlldywgYW5kIHN1cHBsaWVzIGEgbGluayB0aGF0IHdpbGwgYnJpbmcgdXAgdGhlIGFkZHJlc3ZuIGZvcm0gZm9yIHRoZSBzZWxlY3RlZCBkYXRlIGFuZCByZXNvdXJjZS48L2xpPg0KPGxpPmRlZmF1bHQgIC0gVGhlIHJlc291cmNlIHN1bW1hcnkgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGEgc3VtbWFyeSByZXBvcnQgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzLjwvbGk+DQo8bGk+ZGV0YWlsICAgIC0gVGhlIHJlc291cmNlIGRldGFpbCB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlLjwvbGk+DQo8bGk+bXlyZXNlcnZhdGlvbiAtIFRoZSBteXJlc2VydmF0aW9ucyByZXBvcnQuPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgcmVwb3J0IGFib3V0IGFsbCBvZiB0aGUgdXBjb21pbmcgKG9wdGlvbmFsbHkgcGFzdCBhcyB3ZWxsKSByZXNlcnZhdGlvbnMgZm9yIHRoaXMgcGFydGljdWxhciB1c2VyLjwvbGk+DQo8bGk+c2VuZGVtYWlsIC0gVGhlIHJlc2VydmF0aW9uIHNlbmRlbWFpbCBmb3JtPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBmcm9udGVuZCB1c2VycyB0byBzZW5kIGFuIGVtYWlsIG1lc3NhZ2UgdG8gc2l0ZSBhZG1pbmlzdHJhdG9ycyB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgcXVlc3Rpb25zIGFib3V0IGEgc3BlY2lmaWMgcmVzZXJ2YXRpb24uPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9jYWxlbmRhcnRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIGcmb3VtbDtyIGRldCBtJm91bWw7amxpZ3QgYXR0IGFuZ2UgZW4gaWNrZS1zdGFuZGFyZCBrYWxlbmRlcm1hbGwgYXR0IGFudiZhdW1sO25kYXMgbiZhdW1sO3Iga2FsZW5kZXJ2eW4gZ2VuZXJlcmFzLic7CiRsYW5nWydoZWxwX2NhdGVnb3J5J10gPSAnRGVubmEgcGFyYW1ldGVyIGcmb3VtbDtyIGRldCBtJm91bWw7amxpZ3QgYXR0IHNwZWNpZmllcmEgZW4ga29tbWFzZXBhcmVyYWQgbGlzdGEgYXYga2F0ZWdvcmluYW1uIGF0dCBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGF0dCB2JmF1bWw7bGphIGRldCBkYXRhIHNvbSBza2EgdmlzYXMuIERlbm5hIHBhcmFtZXRlciBrYW4gaW50ZSBhbnYmYXVtbDtuZGFzIGkgc2FtYmFuZCBtZWQgcmVzdXJzcGFyYW1ldGVybi4nOwokbGFuZ1snaGVscF9jb25maXJtdGVtcGxhdGUnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIG1hbGwgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlciBhdHQgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBlbiBiZXMmb3VtbDtrYXJlIHNrYXBhciBlbiBib2tuaW5nIG9ubGluZS4nOwokbGFuZ1snaGVscF9kYXl0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGRheSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRheSB2aWV3IHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfZGF5J10gPSAnQW52JmF1bWw7bmRzIG1lZCBmb3JtdWwmYXVtbDtyZXQgYWRkcmVzdm4gZiZvdW1sO3IgYXR0IGFuZ2UgZW4gc3RhbmRhcmRkYWcuJzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0Ymb3VtbDtyIHZ5ZXJuYSBjYWxlbmRhciAoS2FsZW5kZXIpLCBkZWZhdWx0ICgmT3VtbDt2ZXJzaWt0KSwgb2NoIG15cmVzZXJ2YXRpb25zIChNaW5hIGJva25pbmdhcikga2FuIGRlbm5hIHBhcmFtZXRlciBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGF0dCBhbmdlIGVuIGV4dHJhIHNpZGEgZiZvdW1sO3IgYXR0IHNlIGFudGluZ2VuIHJlc3Vyc2RldGFsamVyLCBib2tuaW5nc2Zvcm11bCZhdW1sO3JlbiBlbGxlciBmb3JtdWwmYXVtbDtyZXQgU2tpY2thIGVwb3N0IC4gT20gaW5nZXQgdiZhdW1sO3JkZSBhbmdlcyBhbnYmYXVtbDtuZHMgaW5zdCZhdW1sO2xsbmluZ2VuIGZyJmFyaW5nO24gYWRtaW5pc3RyYXQmb3VtbDtyc2tvbnNvbGVuLiBPbSBpbmdlbiBzJmFyaW5nO2RhbiBpbnN0JmF1bWw7bGxuaW5nIGZpbm5zIGFudiZhdW1sO25kcyBudXZhcmFuZGUgc2lkYS4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0Ymb3VtbDtyIHZ5ZXJuYSBjYWxlbmRhciAoS2FsZW5kZXIpLCBkZXRhaWwgKERldGFsamVyKSwgZGVmYXVsdCAoJk91bWw7dmVyc2lrdCksIG9jaCBteXJlc2VydmF0aW9ucyAoTWluYSBib2tuaW5nYXIpIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIGRldGFsam1hbGwgYXR0IGFudiZhdW1sO25kYXMgZiZvdW1sO3IgYXR0IHZpc2EgZW4gdnkuIERlbm5hIHBhcmFtZXRlciBoYXIgaW5nZW4gZWZmZWt0IG9tICZxdW90O3ByZXR0eSB1cmxzJnF1b3Q7ICZhdW1sO3Iga29uZmlndXJlcmF0Lic7CiRsYW5nWydoZWxwX2VtYWlsdGVtcGxhdGUnXSA9ICdGJm91bWw7ciBvcGVyYXRpb25lcm5hIGFkZHJlc3ZuIChCb2tuaW5nKSwgY2FsZW5kYXIgKEthbGVuZGVyKSBvY2ggbXlyZXNlcnZhdGlvbiAoTWluIEJva25pbmcpIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIG1hbGwgZiZvdW1sO3IgYXR0IHNraWNrYSBlcG9zdC4nOwokbGFuZ1snaGVscF9pbmxpbmUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3ZXRoZXIgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZSAocmVwbGFjZSB0aGUgb3JpZ2luYWwgdGFnKSwgb3Igc2hvdWxkIHJlcGxhY2UgdGhlIGNvbnRlbnQgYXJlYSBvZiB0aGUgcGFnZS4gICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IGlmIHRoZSBzdW1tYXJ5cGFnZSBwYXJhbWV0ZXIgaXMgYWxzbyBzcGVjaWZpZWQnOwokbGFuZ1snaGVscF9tb250aCddID0gJ0FudiZhdW1sO25kcyBtZWQgZm9ybXVsJmF1bWw7cmV0IGFkZHJlc3ZuIChCb2tuaW5nKSBmJm91bWw7ciBhdHQgYW5nZSBlbiBzdGFuZGFyZG0mYXJpbmc7bmFkJzsKJGxhbmdbJ2hlbHBfbXlyZXN2bnRlbXBsYXRlJ10gPSAnRW5kYXN0IGYmb3VtbDtyIHZ5biBteXJlc2VydmF0aW9uIChNaW4gYm9rbmluZykuIERlbm5hIHBhcmFtZXRlciBnJm91bWw7ciBkZXQgbSZvdW1sO2psaWd0IGF0dCBhbmdlIGVuIGlja2Utc3RhbmRhcmQgbWFsbCBmJm91bWw7ciBkZW5uYSB2eS4nOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJIHZ5biBSZXN1cnMmb3VtbDt2ZXJzaWt0IGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgYW5nZSBhbnRhbGV0IHJlc3Vyc2VyIGF0dCB2aXNhIHBlciBzaWRhLic7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0kgdnluIEthbGVuZGVyIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgc3BlY2lmaWVyYSBlbiBrb21tYXNlcGFyZXJhZCBsaXN0YSBtZWQgcmVzdXJzbmFtbiBhdHQgdmlzYS4gRGVubmEgcGFyYW1ldGVyIGthbiBpbnRlIGFudiZhdW1sO25kYXMgdGlsbHNhbW1hbnMgbWVkIGthdGVnb3JpcGFyYW1ldGVybi4nOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnRiZvdW1sO3Igb3BlcmF0aW9uZXJuYSBhZGRyZXN2biAoQm9rbmluZyksIGNhbGVuZGFyIChLYWxlbmRlcikgb2NoIG15cmVzZXJ2YXRpb24gKE1pbiBib2tuaW5nKSBrYW4gZGVubmEgcGFyYW1ldGVyIGFudiZhdW1sO25kYXMgZiZvdW1sO3IgYXR0IGFuZ2UgZW4gaWNrZS1zdGFuZGFyZCBtYWxsIGYmb3VtbDtyIGJva25pbmdzZm9ybXVsJmF1bWw7cmV0IHNvbSBhbnYmYXVtbDtuZHMgZiZvdW1sO3IgYXR0IHNrYXBhIGVsbGVyIG1vZGlmaWVyYSAgZW4gYm9rbmluZy4nOwokbGFuZ1snaGVscF9yZXN2X2lkJ10gPSAnSSBmb3JtdWwmYXVtbDtyZXQgYWRkcmVzdm4gKEJva25pbmcpIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhbmdlIElEIGYmb3VtbDtyIGVuIGV4aXN0ZXJhbmRlIGJva25pbmcgYXR0IG1vZGlmaWVyYS4gRHUgYmVoJm91bWw7dmVyIGYmb3VtbDtybW9kbGlnZW4gaW50ZSBkaXJla3QgYW52JmF1bWw7bmRhIGRlbm5hIHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9yc3JjaWQnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRzIGF2IGRldGFsam1hbGxlbiBmJm91bWw7ciBhdHQgdmlzYSBlbiBkZXRhbGplcmFkIHJhcHBvcnQgb20gZW4gc3BlY2lmaWsgcmVzdXJzLic7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS4nOwokbGFuZ1snaGVscF9zZW5kZW1haWx0ZW1wbGF0ZSddID0gJ0VuZGFzdCBmJm91bWw7ciB2eW4gbXlyZXNlcnZhdGlvbiAoTWluIGJva25pbmcpLiBEZW5uYSBwYXJhbWV0ZXIgZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIG1hbGwgZiZvdW1sO3IgZm9ybXVsJmF1bWw7cmV0IHNlbmRlbWFpbCAoU2tpY2thIGVwb3N0KS4gRGVuIHBhcmFtZXRlciBoYXIgaW5nZW4gZWZmZWt0IG4mYXVtbDtyICZxdW90O3ByZXR0eSB1cmxzJnF1b3Q7ICZhdW1sO3IgYWt0aXZlcmFkLic7CiRsYW5nWydoZWxwX3Nob3dhbGwnXSA9ICdFbmRhc3QgZiZvdW1sO3IgdnluIG15cmVzZXJ2YXRpb25zIChNaW5hIGJva25pbmdhcikuIERlbm5hIHBhcmFtZXRlciBnJm91bWw7ciBkZXQgbSZvdW1sO2psaWd0IGF0dCB2aXNhIGFsbGEgYm9rbmluZ2FyLCAmYXVtbDt2ZW4gYm9rbmluZ2FyIGkgZGV0IGYmb3VtbDtyZmx1dG5hLic7CiRsYW5nWydoZWxwX3NvcnRieSddID0gJyANCkFwcGxpY2FibGUgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgYW5kIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiBkaXNwbGF5ZWQgaXRlbXMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQpSZXNvdXJjZSBzdW1tYXJ5IHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPm5hbWU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KPC91bD4NCm15ZXNlcnZhdGlvbnMgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+c3RhcnRfZGF0ZTwvbGk+DQogIDxsaT5lbmRfZGF0ZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+DQogIDxsaT5tb2RpZmllZF9kYXRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcgYW5kIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiB0aGUgc2VsZWN0ZWQgZGF0YS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz48dWw+PGxpPmFzYyAtIGFzY2VuZGluZzwvbGk+PGxpPmRlc2MgLSBkZXNjZW5kaW5nPC9saT48L3VsPic7CiRsYW5nWydoZWxwX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGlkIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHJlc3VsdGluZyBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIG9uLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCBpbmxpbmUgaXMgc2V0IHRvIGZhbHNlLic7CiRsYW5nWydoZWxwX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW10ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF95ZWFyJ10gPSAnQW52JmF1bWw7bmRzIG1lZCBmb3JtdWwmYXVtbDtyZXQgYWRkcmVzdm4gZiZvdW1sO3IgYXR0IGFuZ2UgZXR0IHN0YW5kYXJkJmFyaW5nO3InOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnSGlzdG9yaXNrIGomYXVtbDttZiZvdW1sO3JlbHNlJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2UnXSA9ICdCaWxkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGQnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnQmlsZGhhbnRlcmluZ3Nrb25maWd1cmF0aW9uJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ0Rpc3BsYXkgYSBmb3JtIGZyb20gdGhlIHVzZXIgbWFuYWdlbWVudCBpbnRlcmZhY2UgdG8gYWxsb3cgYWRkaW5nIGEgbmV3IHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ1VzZWQgZm9yIGJvb2tpbmcgcmVzb3VyY2VzIHdpdGggbm8gcHJpY2VzIGF0dGFjaGVkJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmEgZmxpayBpbm5laCZhcmluZztsbGVyIGVuIGxpc3RhIG1lZCB0aWxsZyZhdW1sO25nbGlnYSBrYWxlbmRlcm1hbGxhciBhdHQgYW52JmF1bWw7bmRhIGkga2FsZW5kZXJ5bi4nOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGVtYWlsIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSB1c2VyIHdoZW4gdXNpbmcgdGhpcyB0ZW1wbGF0ZS4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLiAgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNwZWNpYWwgdG8gdGhpcyB0ZW1wbGF0ZTogeyRzdWJqZWN0fSAtIFRoZSBzdWJqZWN0IG9mIHRoZSBlbWFpbCwgeyRib2R5fSAtIFRoZSBib2R5IG9mIHRoZSBlbWFpbCc7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY3VzdG9tZXIgZW1haWwgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBzZW5kaW5nIG1lc3NhZ2VzIHRvIGN1c3RvbWVycyB3aG8gaGF2ZSBib29rZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCBwcm9wZXJ0aWVzIHNob3VsZCBiZSBsaXN0ZWQgaW4gdXNlciBsaXN0cy48YnIvPlVzZSB7JHByb3BlcnR5bmFtZX0gdG8gaWRlbnRpZnkgYSBzaW5nbGUgcHJvcGVydHkuPGJyLz5SZWZlciB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIHRoZSBsaXN0IG9mIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBncm91cC48YnIvPllvdSBjYW4gYWxzbyB1c2UgdGhlIHskdXNlcm5hbWV9IHRhZyB0byBpbmRpY2F0ZSB0aGUgdXNlcnMgbG9naW4gbmFtZS4nOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgYW5kIGV2ZW50cyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRheSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBkYXkgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGNsaWNraW5nIG9uIGFuIGluZGl2aWR1YWwgZGF5IGZyb20gdGhlIGRlZmF1bHQgY2FsZW5kYXIgZGlzcGxheSc7CiRsYW5nWydpbmZvX2RlcG9zaXQnXSA9ICdUaGUgaGlnaGVzdCBhbW91bnQgY2FsY3VsYXRlZCB3aWxsIGJlIHVzZWQgYXMgdGhlIG1pbmltdW0gZGVwb3NpdCBmb3IgZWFjaCByZXNlcnZhdGlvbi4gIERlcG9zaXQgYW1vdW50cyB3aWxsIG5ldmVyIGV4Y2VlZCB0aGUgdG90YWwgcmVzZXJ2YXRpb24gYW1vdW50JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdEZW5uYSBmbGlrIGlubmVoJmFyaW5nO2xsZXIgZW4gbGlzdGEgbWVkIHRpbGxnJmF1bWw7bmdsaWdhIG1hbGxhciBmJm91bWw7ciByZXN1cnNkZXRhbGplci4NCkRlc3NhIG1hbGxhciBhbnYmYXVtbDtuZHMgZiZvdW1sO3IgZGV0YWxqZXJhZGUgdnllciBhdiBkaXZlcnNlIHJlc3Vyc2VyLic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRldGFpbCB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZW1haWxfc2VudCddID0gJ0RpdHQgbWVkZGVsYW5kZSBoYXIgc2tpY2thdHMuIEVuIG5vdGVyaW5nIG9tIGRldHRhIG1lZGRlbGFuZGUgaGFyIG9ja3MmYXJpbmc7IGJpZm9nYXRzIHRyYW5zYWt0aW9uc2RldGFsamVybmEgZiZvdW1sO3IgZnJhbXRpZGEgcmVmZXJlbnMuICc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnU3BlY2lmaWVyYSBmb3JtYXRldCBmJm91bWw7ciByYXBwb3J0ZW4gTXlSZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19teXJlc2VydmF0aW9uc190ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGFjdGlvbj1teXJlc2VydmF0aW9ucyc7CiRsYW5nWydpbmZvX292ZXJjYXBfYW1vdW50J10gPSAnRGFpbHkgYW1vdW50IHRvIGFkZCAocGVyIHVuaXQpIHRvIHJlc2VydmF0aW9uIHByaWNlLCBmb3IgZWFjaCB1bml0IG92ZXIgdGhlIHN0YXRlZCBjYXBhY2l0eSAoYXBwbGljYWJsZSBvbmx5IGlmIHRoZSBjYXBhY2l0eSBpcyBhIHZhbGlkIHZhbHVlKS4nOwokbGFuZ1snaW5mb19wYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnQW5nZSBlbiBzaWRhIGF0dCBhdXRvbWF0aXNrdCBvbWRpcmlnZXJhIHRpbGwgb20gZXR0IGYmb3VtbDtycyZvdW1sO2sgYXR0IG4mYXJpbmc7IGJva25pbmdzZm9ybXVsJmF1bWw7cmV0IGcmb3VtbDtycyB1dGFuIGF0dCB2YXJhIGlubG9nZ2FkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0byByZWRpcmVjdCB0byBhdXRvbWF0aWNhbGx5IGFmdGVyIGEgdmlzaXRvciBoYXMgY3JlYXRlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgZWRpdCByZXNlcnZhdGlvbiB1cmxzLCBhbmQgc2VuZCBtZXNzYWdlIHVybHMnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3BlY2lmZXJhIGZvcm1hdGV0IGYmb3VtbDtyIGJva25pbmdzZm9ybXVsJmF1bWw7cmV0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdBbmdlIGZvcm0gZiZvdW1sO3IgYm9rbmluZ2VucyBiZWtyJmF1bWw7ZnRlbHNlIHZpYSBlLXBvc3QgbWVkZGVsYW5kZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnQW5nZSB2aWxrZW4gZm9ybSBib2tuaW5nc2Jla3ImYXVtbDtmdGVsc2UgcmFwcG9ydGVuIHNrYSBoYS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gZW1haWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZW1haWwgbWVzc2FnZSB0aGF0IGlzIHNlbnQgdG8gdGhlIGN1c3RvbWVyIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgbWVzc2FnZSBhbmQgZGF0YSB0aGF0IGlzIGRpc3BsYXllZCBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIG9yIGVkaXRzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBhZGRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgY29udHJvbHMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbmRlbWFpbCBmb3JtLCB1c2VkIHdoZW4gYSBzaXRlIHZpc2l0b3Igd2FudHMgdG8gc2VuZCBhIG1lc3NhZ2UgdG8gYnVzaW5lc3Mgb3duZXJzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgc2VuZGVtYWlsIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBzZW5kaW5nIGFuIGVtYWlsIHJlbGF0ZWQgdG8gYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRfbWVzc2FnZSddID0gJ1VzZSB0aGlzIGZvcm0gdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uIG9yIHRvIGFzayBhbnkgcXVlc3Rpb25zIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIHN1bW1hcnkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIHN1bW1hcnkgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBzdW1tYXJ5IHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyA8ZW0+KHRoaXMgaXMgdGhlIGRlZmF1bHQgdmlldyk8L2VtPic7CiRsYW5nWydpbmZvX3N5c2RmbHRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDYWxlbmRhciBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGF5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGF5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgJnF1b3Q7TXkgUmVzZXJ2YXRpb25zJnF1b3Q7IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwokbGFuZ1snaW5mb192aWV3X3VzZXInXSA9ICdEaXNwbGF5IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgdXNlcic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnSW5pdGlhbGEgYm9rbmluZ3Nub3RlcmluZ2FyJzsKJGxhbmdbJ2luX3Byb2dyZXNzJ10gPSAnUCZhcmluZztnJmFyaW5nO2VuZGUnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdOeWNrZWxvcmQnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnU2VuYXN0ICZhdW1sO25kcmFkJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ1RlY2tlbmYmb3VtbDtya2xhcmluZyc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnVGlsbGJha2EnOwokbGFuZ1snbGJsX2NhbGVuZGFyJ10gPSAnS2FsZW5kZXInOwokbGFuZ1snbGJsX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJ10gPSAnTWFsbGFyIGYmb3VtbDtyIGthbGVuZGVydnknOwokbGFuZ1snbGJsX2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dCc7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnTWFsbGFyIGYmb3VtbDtyIGVwb3N0IHRpbGwga3VuZGVyJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnRWdlbmRlZmluaWVyYWRlIGYmYXVtbDtsdCc7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGF5IFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYXJkbWFsbGFyJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnRGV0YWxqbWFsbGFyJzsKJGxhbmdbJ2xibF9ldmVudHMnXSA9ICdIJmF1bWw7bmRlbHNlJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ0gmYXVtbDtuZGVsc2V0eXBlcic7CiRsYW5nWydsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJ10gPSAnTWluYSBib2tuaW5nc21hbGxhcic7CiRsYW5nWydsYmxfcHJlZmVyZW5jZXMnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9ucyddID0gJ0Jva25pbmdhcic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdNYWxsYXIgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlIChlcG9zdCknOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnTWFsbGFyIGYmb3VtbDtyIGJva25pbmdzYmVrciZhdW1sO2Z0ZWxzZSc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnXSA9ICdNYWxsYXIgZiZvdW1sO3IgYm9rbmluZ3Nmb3JtdWwmYXVtbDtyJzsKJGxhbmdbJ2xibF9yZXNvdXJjZXMnXSA9ICdSZXN1cnNlcic7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ01hbGxhciBmJm91bWw7ciBlcG9zdC1mb3JtdWwmYXVtbDtyJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0hhbnRlcmEgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJyZPdW1sO3ZlcnNpa3RzbWFsbGFyJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdIYW50ZXJhIG1hbGxhcic7CiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ0hhbnRlcmEga3VuZGtvbnRha3QgZiZvdW1sO3IgYm9rbmluZyc7CiRsYW5nWydtYW5hZ2VyJ10gPSAnTWFuYWdlcic7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTWF4bCZhdW1sO25nZCc7CiRsYW5nWydtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTWVkZGVsYW5kZW1hbGwnOwokbGFuZ1snbWVzc2FnZV90ZXh0J10gPSAnTWVkZGVsYW5kZXRleHQnOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW11bSBEZXBvc2l0IFJlcXVpcmVkJzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICcmQXVtbDtuZHJhZCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdFbiByZXN1cnMgb2NoIHRpbGxnJmF1bWw7bmdsaWdoZXRzbWFuYWdlciBmJm91bWw7ciBwbGFuZXJpbmcgb2NoIGJva25pbmcgYXYgcmVzdXJzZXIgcCZhcmluZzsgZGFnbGlnIGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ00mYXJpbmc7bmRhZyc7CiRsYW5nWydtb250aCddID0gJ00mYXJpbmc7bmFkJzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0phbi9GZWIvTWFyL0Fwci9NYWovSnVuL0p1bC9BdWcvU2VwL09rdC9Ob3YvRGVjJzsKJGxhbmdbJ21vcmUnXSA9ICdNZXInOwokbGFuZ1snbmFtZSddID0gJ05hbW4nOwokbGFuZ1snbmV4dCddID0gJ04mYXVtbDtzdGEnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTmVqJzsKJGxhbmdbJ25vbmJvb2thYmxlX2Jsb2NrcyddID0gJ1N0JmF1bWw7bmdkYSBibG9jayc7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snbm90ZXMnXSA9ICdOb3RlcmluZ2FyJzsKJGxhbmdbJ25vdF9hcHBsaWNhYmxlJ10gPSAnTi9BJzsKJGxhbmdbJ25vdF9jYWxjdWxhdGVkJ10gPSAnTm90IGNhbGN1bGF0ZWQnOwokbGFuZ1snbnVtX3Blb3BsZSddID0gJ0FudGFsIHBlcnNvbmVyJzsKJGxhbmdbJ29jY3VycyddID0gJ09jY3Vycyc7CiRsYW5nWydvZiddID0gJ0F2JzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnRW4gdGltbWUnOwokbGFuZ1snb3B0aW9ucyddID0gJ1RpbGx2YWwnOwokbGFuZ1snb3JkZXInXSA9ICdPcmRlcic7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ092ZXJjYXBhY2l0eSBQcmljZSBBZGp1c3RtZW50JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTaWRhJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdBbnRhbCBwZXIgc2lkYSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnU2lkYSBhdHQgb21kaXJpZ2VyYSB0aWxsIG4mYXVtbDtyIGludGUgaW5sb2dnYWQnOwokbGFuZ1sncGFydDEnXSA9ICdEZWwgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdQYXJ0aWFsbHkgUmVzZXJ2ZWQnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkX2xibCddID0gJyVzIG9mICVzIHNsb3RzIHJlc2VydmVkJzsKJGxhbmdbJ3Bhc3RfbWVzc2FnZXMnXSA9ICdUaWRpZ2FyZSBtZWRkZWxhbmRlbic7CiRsYW5nWydwZW5kaW5nJ10gPSAnSSB2JmF1bWw7bnRhbic7CiRsYW5nWydwZXJjZW50YWdlX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbWltdW0gUGVyY2VudGFnZSBvZiB0b3RhbCBvcmRlciByZXF1aXJlZCBmb3IgYSBkZXBvc2l0IDxlbT4oZXhwcmVzc2VkIGluIGRlY2ltYWwgZm9ybWF0KTwvZW0+JzsKJGxhbmdbJ3BlcmNlbnRfYm9va2VkJ10gPSAnUHJvY2VudCBib2thdCc7CiRsYW5nWydQTSddID0gJ1BNJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUgaGFzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGFwcHJvcHJpYXRlIGdyb3VwcyBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBtYW5hZ2UgdGhlIHZhcmlvdXMgYXNwZWN0cyBvZiB0aGlzIG1vZHVsZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUsIGFuZCBhbGwgcmVsYXRlZCBkYXRhIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtLiAgWW91IGFyZSBub3cgZnJlZSB0byBkZWxldGUgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcmV2J10gPSAnRiZvdW1sO3JlZyZhcmluZztlbmRlJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcmljZSddID0gJ1ByaXMnOwokbGFuZ1sncHJpY2VzJ10gPSAnUHJpc2VyJzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0p1c3RlcmEgcHJpc2V0IHAmYXJpbmc7ICVzIG1lZCBkZXR0YSBiZWxvcHAuPGJyLz48ZW0+KGFudiZhdW1sO25kIGV0dCBmb3JtYXQgYXYgdHlwICowLjg1IGVsbGVyIC0xMyBlbGxlciArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3B1YmxpYyddID0gJ1B1Ymxpayc7CiRsYW5nWydxdWFydGVyX2hvdXInXSA9ICdRdWFydGVyIEhvdXInOwokbGFuZ1sncmVzZXJ2ZWQnXSA9ICdCb2thZCc7CiRsYW5nWydyZXNlcnZhdGlvbiddID0gJ0Jva25pbmcnOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ0Jha2dydW5kc2YmYXVtbDtyZyBmJm91bWw7ciBib2tuaW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ1BlbmRpbmcgUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maWcnXSA9ICdCb2tuaW5nc2luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaWwgYXR0IGJpZm9nYSBhbGxhIGJva25pbmdzYmVrciZhdW1sO2Z0ZWxzZXIgKGVwb3N0KSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU2tpY2thIGtvcGlhIHRpbGwgZGVzc2EgYW52JmF1bWw7bmRhcmUgdmlkIGJva25pbmdzYmVrciZhdW1sO2Z0ZWxzZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTa2lja2EgZXBvc3QgdGlsbCBrdW5kZW4gbiZhdW1sO3IgZW4gYm9rbmluZyBza2FwYXRzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJyZBdW1sO21uZXNyYWQgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlciAoZXBvc3QpJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NpZGEgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnQWxsYSBkaW5hIHZhbGRhICVzICZhdW1sO3IgaW50ZSB0aWxsZyZhdW1sO25nbGlnYSBkZSB2YWxkYSBkYXR1bWVuJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdCb2tuaW5nIHNrYXBhZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdCb2tuaW5nYXJuYXMgU3RhbmRhcmRzaWRhJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RldGFpbHMnXSA9ICdCb2tuaW5nc2RldGFsamVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2ZvcmVncm91bmRfY29sb3InXSA9ICdGJm91bWw7cmdydW5kc2YmYXVtbDtyZyBmJm91bWw7ciBib2tuaW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnUmVzZXJ2YXRpb24gQ29tcG9uZW50cyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fbnVtJ10gPSAnQm9rbmluZzogJTA1ZCc7CiRsYW5nWydyZXNldCddID0gJyZBcmluZzt0ZXJzdCZhdW1sO2xsJzsKJGxhbmdbJ3Jlc291cmNlJ10gPSAnUmVzdXJzJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc3Vyc2VyJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMSddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzLCBvbiAlcyBib3VuZGFyaWVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMiddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMyddID0gJ2F2YWlsYWJsZSBmcm9tICVzIHRvICVzIGFuZCBmcm9tICVzIHRvICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2NoZWNraW4gdGltZSBpcyAlcywgYW5kIGNoZWNrb3V0IHRpbWUgaXMgJXMnOwokbGFuZ1sncmVzb3VyY2VfdHlwZSddID0gJ1Jlc3Vyc3R5cCc7CiRsYW5nWydyb29tJ10gPSAnUnVtJzsKJGxhbmdbJ3Jvb21zJ10gPSAnUnVtJzsKJGxhbmdbJ3JlcXVpcmVfZGVwb3NpdCddID0gJ0tyJmF1bWw7dnMgZW4gZGVwb3NpdGlvbj8nOwokbGFuZ1snc2F0dXJkYXknXSA9ICdMJm91bWw7cmRhZyc7CiRsYW5nWydzY2hlZHVsaW5nJ10gPSAnU2NoZWR1bGluZyc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnRGVubmEgcmVzdXJzICZhdW1sO3IgYm9rYWQnOwokbGFuZ1snc2VhcmNoJ10gPSAnUyZvdW1sO2snOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1YmYXVtbDtsaiBlbic7CiRsYW5nWydzZW5kJ10gPSAnU2tpY2thJzsKJGxhbmdbJ3NlbmRfZW1haWwnXSA9ICdTa2lja2EgZXBvc3QnOwokbGFuZ1snc2VudCddID0gJ1NraWNrYWQnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ1N0YXJ0ZGF0dW0nOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGltZSAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpbWUgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGlrJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnRGVuICVzIGR1IHZhbGRlICZhdW1sO3IgdGlsbGcmYXVtbDtuZ2xpZyBkZXNzYSBkYXR1bSc7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnU3Y6IEJva25pbmcgJXMnOwokbGFuZ1snc3ViamVjdCddID0gJyZBdW1sO21uZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTa2lja2EnOwokbGFuZ1snc3VuZGF5J10gPSAnUyZvdW1sO25kYWcnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0YXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dGYmYXVtbDtsdCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ1RvcnNkYWcnOwokbGFuZ1sndGl0bGVfY29uZmxpY3QnXSA9ICdDb25mbGljdCBFeGlzdHN8QSBjb25mbGljdCBleGlzdHMgYmV0d2VlbiByZXNlcnZhdGlvbnMgJTA0ZCBhbmQgJTA0ZC48YnIvPjxici8+TW9yZSBjb25mbGljdHMgbWF5IGV4aXN0cyBmb3IgdGhpcyBibG9jay4nOwokbGFuZ1sndGl0bGVfZ3JhcGhpbmcnXSA9ICdWaXNhIGRpYWdyYW0gYW5kIHJhcHBvcnRlciBmJm91bWw7ciBoaXN0b3Jpc2thIGRhdGEnOwokbGFuZ1sndG90YWxfYmxvY2tzJ10gPSAnVG90YWxhIGJsb2NrJzsKJGxhbmdbJ3R1ZXNkYXknXSA9ICdUaXNkYWcnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1c2VfZGF0ZXNfaW5fZmlsdGVyJ10gPSAnQW52JmF1bWw7bmQgZiZvdW1sO2xqYW5kZSBkYXR1bSc7CiRsYW5nWyd2YWNhbnQnXSA9ICdMZWRpZyc7CiRsYW5nWyd2aWV3J10gPSAnVmlzYSc7CiRsYW5nWyd2aWV3X2RheSddID0gJ1ZpZXcgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBkYXknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmlzYSBnJmF1bWw7c3RkZXRhbGplcic7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1Zpc2EgZGV0YWxqZXIgZiZvdW1sO3IgZGVubmEgJXMnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnT25zZGFnJzsKJGxhbmdbJ3dlZWtkYXlfcHJpY2VfYWRqdXN0bWVudHMnXSA9ICdQcmlzanVzdGVyaW5nYXIgZiZvdW1sO3IgdmVja29kYWcnOwokbGFuZ1sneWVhcl8xJ10gPSAnJkFyaW5nO3IgMSc7CiRsYW5nWyd5ZWFyXzInXSA9ICcmQXJpbmc7ciAxJzsKJGxhbmdbJ3llYXJfMyddID0gJyZBcmluZztyIDMnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnRGl0dCBuYW1uJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTg0MzExNjU3OC4xMjQ0NDgwMTIxLjEyNDc0MjIyNjcuMTI0NzQzMTc1MS40Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNDc0MzE3NTEuNDMuNi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.availability_reservation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uIAp7CiAgcHJpdmF0ZSAkX2lkOwogIHByaXZhdGUgJF9jdXN0b21lcl9pZDsKICBwcml2YXRlICRfcHJpY2U7CiAgcHJpdmF0ZSAkX3N0YXR1czsKICBwcml2YXRlICRfYWRtaW5fbm90ZXM7CiAgcHJpdmF0ZSAkX2NyZWF0ZV9kYXRlOwogIHByaXZhdGUgJF9tb2RpZmllZF9kYXRlOwogIHByaXZhdGUgJF9wYXJ0czsKICBwcml2YXRlICRfbm90ZXM7CgoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgICR0aGlzLT5fcGFydHMgPSBhcnJheSgpOwogICAgJHRoaXMtPl9ub3RlcyA9IGFycmF5KCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9pZCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5faWQ7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9pZCgkaWQpCiAgewogICAgJHRoaXMtPl9pZCA9ICRpZDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2N1c3RvbWVyX2lkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9jdXN0b21lcl9pZDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2N1c3RvbWVyX2lkKCRjdXN0b21lcl9pZCkKICB7CiAgICAkdGhpcy0+X2N1c3RvbWVyX2lkID0gJGN1c3RvbWVyX2lkOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcHJpY2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3ByaWNlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJpY2UoJHByaWNlKQogIHsKICAgICR0aGlzLT5fcHJpY2UgPSAkcHJpY2U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9zdGF0dXMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3N0YXR1czsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N0YXR1cygkc3RhdHVzKQogIHsKICAgICR0aGlzLT5fc3RhdHVzID0gJHN0YXR1czsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FkbWluX25vdGVzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9hZG1pbl9ub3RlczsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2FkbWluX25vdGVzKCRhZG1pbl9ub3RlcykKICB7CiAgICAkdGhpcy0+X2FkbWluX25vdGVzID0gJGFkbWluX25vdGVzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfY3JlYXRlX2RhdGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2NyZWF0ZV9kYXRlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfY3JlYXRlX2RhdGUoJGNyZWF0ZV9kYXRlKQogIHsKICAgICR0aGlzLT5fY3JlYXRlX2RhdGUgPSAkY3JlYXRlX2RhdGU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9tb2RpZmllZF9kYXRlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9tb2RpZmllZF9kYXRlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfbW9kaWZpZWRfZGF0ZSgkbW9kaWZpZWRfZGF0ZSkKICB7CiAgICAkdGhpcy0+X21vZGlmaWVkX2RhdGUgPSAkbW9kaWZpZWRfZGF0ZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gY291bnRfcGFydHMoKQogIHsKICAgIHJldHVybiBjb3VudCgkdGhpcy0+X3BhcnRzKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gJmdldF9wYXJ0X2J5X2lkeCgkaWR4KQogIHsKICAgIGlmKCAkaWR4ID49IDAgJiYgJGlkeCA8IGNvdW50KCR0aGlzLT5fcGFydHMpICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5fcGFydHNbJGlkeF07CiAgICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gJmdldF9wYXJ0X2J5X2lkKCRwYXJ0X2lkKQogIHsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fcGFydHMpOyAkaSsrICkKICAgICAgewoJaWYoICR0aGlzLT5fcGFydHNbJGldLT5nZXRfaWQoKSA9PSAkcGFydF9pZCApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPl9wYXJ0c1skcGFydF9pZF07CgkgIH0KICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBhZGRfcGFydCgkcGFydCkKICB7CiAgICAkdGhpcy0+X3BhcnRzW10gPSAkcGFydDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlX3BhcnRfYnlfaWQoJHBhcnRfaWQpCiAgewogICAgJHRtcCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X3BhcnRzKTsgJGkrKyApCiAgICAgIHsKCWlmKCAkdGhpcy0+X3BhcnRzWyRpXS0+Z2V0X2lkKCkgPT0gJHBhcnRfaWQgKQoJICB7CgkgICAgY29udGludWU7CgkgIH0KCSR0bXBbXSA9ICR0aGlzLT5fcGFydHNbJGldOwogICAgICB9CiAgICAkdGhpcy0+X3BhcnRzID0gJHRtcDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlX3BhcnRfYnlfaWR4KCRpZHgpCiAgewogICAgaWYoICRpZHggPj0gMCAmJiAkaWR4IDwgY291bnQoJHRoaXMtPl9wYXJ0cykgKQogICAgICB7CgkkdG1wID0gYXJyYXkoKTsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fcGFydHMpOyAkaSsrICkKCSAgewoJICAgIGlmKCAkaSA9PSAkaWR4ICkgY29udGludWU7CgkgICAgJHRtcFtdID0gJHRoaXMtPl9wYXJ0c1skaV07CgkgIH0KCSR0aGlzLT5fcGFydHMgPSAkdG1wOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZV9hbGxfcGFydHMoKQogIHsKICAgICR0aGlzLT5fcGFydHMgPSBhcnJheSgpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBjb3VudF9ub3RlcygpCiAgewogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5fbm90ZXMpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X25vdGVfYnlfaWR4KCRpZHgpCiAgewogICAgaWYoICRpZHggPj0gMCAmJiAkaWR4IDwgY291bnQoJHRoaXMtPl9ub3RlcykgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPl9ub3Rlc1skaWR4XTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X25vdGVfYnlfaWQoJG5vdGVfaWQpCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPl9ub3Rlcyk7ICRpKysgKQogICAgICB7CglpZiggJHRoaXMtPl9ub3Rlc1skaV0tPmdldF9pZCgpID09ICRub3RlX2lkICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+X25vdGVzWyRub3RlX2lkXTsKCSAgfQogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGFkZF9ub3RlKCYkbm90ZSkKICB7CiAgICAkdGhpcy0+X25vdGVzW10gPSAkbm90ZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpCiAgewogICAgaWYoICR0aGlzLT5faWQgPD0gMCApCiAgICAgIHsKCXJldHVybiByZXNlcnZhdGlvbl9vcHM6Omluc2VydCgkdGhpcyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJcmV0dXJuIHJlc2VydmF0aW9uX29wczo6dXBkYXRlKCR0aGlzKTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBmcm9tX2FycmF5KCRkYXRhKQogIHsKICAgICR0aGlzLT5faWQgPSAkZGF0YVsnaWQnXTsKICAgICR0aGlzLT5fY3VzdG9tZXJfaWQgPSAkZGF0YVsnY3VzdG9tZXJfaWQnXTsKICAgICR0aGlzLT5fcHJpY2UgPSAkZGF0YVsncHJpY2UnXTsKICAgICR0aGlzLT5fc3RhdHVzID0gJGRhdGFbJ3N0YXR1cyddOwogICAgJHRoaXMtPl9hZG1pbl9ub3RlcyA9ICRkYXRhWydhZG1pbl9ub3RlcyddOwogICAgJHRoaXMtPl9jcmVhdGVfZGF0ZSA9ICRkYXRhWydjcmVhdGVfZGF0ZSddOwogICAgJHRoaXMtPl9tb2RpZmllZF9kYXRlID0gJGRhdGFbJ21vZGlmaWVkX2RhdGUnXTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdG9fYXJyYXkoKQogIHsKICAgICRkYXRhID0gYXJyYXkoKTsKICAgICRkYXRhWydpZCddID0gJHRoaXMtPl9pZDsKICAgICRkYXRhWydjdXN0b21lcl9pZCddID0gJHRoaXMtPl9jdXN0b21lcl9pZDsKICAgICRkYXRhWydwcmljZSddID0gJHRoaXMtPl9wcmljZTsKICAgICRkYXRhWydzdGF0dXMnXSA9ICR0aGlzLT5fc3RhdHVzOwogICAgJGRhdGFbJ2FkbWluX25vdGVzJ10gPSAkdGhpcy0+X2FkbWluX25vdGVzOwogICAgJGRhdGFbJ2NyZWF0ZV9kYXRlJ10gPSAkdGhpcy0+X2NyZWF0ZV9kYXRlOwogICAgJGRhdGFbJ21vZGlmaWVkX2RhdGUnXSA9ICR0aGlzLT5fbW9kaWZpZWRfZGF0ZTsKCiAgICAkZGF0YVsncGFydHMnXSA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCAkdGhpcy0+Y291bnRfcGFydHMoKTsgJGkrKyApCiAgICAgIHsKCSRwYXJ0ID0gJHRoaXMtPmdldF9wYXJ0X2J5X2lkeCgkaSk7CgkkZGF0YVsncGFydHMnXVtdID0gJHBhcnQtPnRvX2FycmF5KCk7CiAgICAgIH0KCiAgICAkZGF0YVsnbm90ZXMnXSA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCAkdGhpcy0+Y291bnRfbm90ZXMoKTsgJGkrKyApCiAgICAgIHsKCSRub3RlID0gJHRoaXMtPmdldF9ub3RlX2J5X2lkeCgkaSk7CgkkZGF0YVsnbm90ZXMnXVtdID0gJG5vdGUtPnRvX2FycmF5KCk7CiAgICAgIH0KICAgIHJldHVybiAkZGF0YTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.availability_reservation_note.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX25vdGUKewogIHByaXZhdGUgJF9kYXRhOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgICR0aGlzLT5fZGF0YSA9IGFycmF5KCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2lkKCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJ2lkJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2lkKCRpZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jlc3ZfaWQoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ3Jlc3ZfaWQnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydyZXN2X2lkJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3Jlc3ZfaWQoJHJlc3ZfaWQpCiAgewogICAgJHRoaXMtPl9kYXRhWydyZXN2X2lkJ10gPSAkcmVzdl9pZDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfc3ViamVjdCgpCiAgewogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnc3ViamVjdCddKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJ3N1YmplY3QnXTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdCgkc3ViamVjdCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N1YmplY3QnXSA9ICRzdWJqZWN0OwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF90ZXh0KCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyd0ZXh0J10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsndGV4dCddOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldF90ZXh0KCR0ZXh0KQogIHsKICAgICR0aGlzLT5fZGF0YVsndGV4dCddID0gJHRleHQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FkbWluX25vdGUoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2FkbWluX25vdGUnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydhZG1pbl9ub3RlJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2FkbWluX25vdGUoJGFkbWluX25vdGUpCiAgewogICAgJHRoaXMtPl9kYXRhWydhZG1pbl9ub3RlJ10gPSAkYWRtaW5fbm90ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfY3JlYXRlX2RhdGUoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2NyZWF0ZV9kYXRlJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsnY3JlYXRlX2RhdGUnXTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfY3JlYXRlX2RhdGUoJGNyZWF0ZV9kYXRlKQogIHsKICAgICR0aGlzLT5fZGF0YVsnY3JlYXRlX2RhdGUnXSA9ICRjcmVhdGVfZGF0ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBmcm9tX2FycmF5KCRkYXRhKQogIHsKICAgICR0aGlzLT5fZGF0YSA9ICRkYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9kYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAkdGhpcy0+Z2V0X2lkKCkgPD0gMCApCiAgICAgIHsKCXJldHVybiByZXNlcnZhdGlvbl9ub3RlX29wczo6aW5zZXJ0KCR0aGlzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gcmVzZXJ2YXRpb25fbm90ZV9vcHM6OnVwZGF0ZSgkdGhpcyk7CiAgICAgIH0KICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.availability_reservation_part.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX3BhcnQKewogIHByaXZhdGUgJF9pZDsKICBwcml2YXRlICRfcmVzdl9pZDsKICBwcml2YXRlICRfcnNyY19pZDsKICBwcml2YXRlICRfc3RhcnRfZGF0ZTsKICBwcml2YXRlICRfZW5kX2RhdGU7CiAgcHJpdmF0ZSAkX251bV9wZW9wbGU7CiAgcHJpdmF0ZSAkX3ByaWNlOwoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2lkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9pZDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfaWQoJGlkKQogIHsKICAgICR0aGlzLT5faWQgPSAkaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jlc3ZfaWQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3Jlc3ZfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3Jlc3ZfaWQoJHJlc3ZfaWQpCiAgewogICAgJHRoaXMtPl9yZXN2X2lkID0gJHJlc3ZfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3JzcmNfaWQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3JzcmNfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3JzcmNfaWQoJHJzcmNfaWQpCiAgewogICAgJHRoaXMtPl9yc3JjX2lkID0gJHJzcmNfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3N0YXJ0X2RhdGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3N0YXJ0X2RhdGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N0YXJ0X2RhdGUoJHN0YXJ0X2RhdGUpCiAgewogICAgJHRoaXMtPl9zdGFydF9kYXRlID0gJHN0YXJ0X2RhdGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2VuZF9kYXRlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9lbmRfZGF0ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfZW5kX2RhdGUoJGVuZF9kYXRlKQogIHsKICAgICR0aGlzLT5fZW5kX2RhdGUgPSAkZW5kX2RhdGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X251bV9wZW9wbGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X251bV9wZW9wbGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X251bV9wZW9wbGUoJG51bV9wZW9wbGUpCiAgewogICAgJHRoaXMtPl9udW1fcGVvcGxlID0gJG51bV9wZW9wbGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ByaWNlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9wcmljZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJpY2UoJHByaWNlKQogIHsKICAgICR0aGlzLT5fcHJpY2UgPSAkcHJpY2U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZnJvbV9hcnJheSgkZGF0YSkKICB7CiAgICAkdGhpcy0+X2lkID0gJGRhdGFbJ2lkJ107CiAgICAkdGhpcy0+X3Jlc3ZfaWQgPSAkZGF0YVsncmVzdl9pZCddOwogICAgJHRoaXMtPl9yc3JjX2lkID0gJGRhdGFbJ3JzcmNfaWQnXTsKICAgICR0aGlzLT5fc3RhcnRfZGF0ZSA9ICRkYXRhWydzdGFydF9kYXRlJ107CiAgICAkdGhpcy0+X2VuZF9kYXRlID0gJGRhdGFbJ2VuZF9kYXRlJ107CiAgICAkdGhpcy0+X251bV9wZW9wbGUgPSAkZGF0YVsnbnVtX3Blb3BsZSddOwogICAgJHRoaXMtPl9wcmljZSA9ICRkYXRhWydwcmljZSddOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAkZGF0YVsnaWQnXSA9ICR0aGlzLT5faWQ7CiAgICAkZGF0YVsncmVzdl9pZCddID0gJHRoaXMtPl9yZXN2X2lkOwogICAgJGRhdGFbJ3JzcmNfaWQnXSA9ICR0aGlzLT5fcnNyY19pZDsKICAgICRkYXRhWydzdGFydF9kYXRlJ10gPSAkdGhpcy0+X3N0YXJ0X2RhdGU7CiAgICAkZGF0YVsnZW5kX2RhdGUnXSA9ICR0aGlzLT5fZW5kX2RhdGU7CiAgICAkZGF0YVsnbnVtX3Blb3BsZSddID0gJHRoaXMtPl9udW1fcGVvcGxlOwogICAgJGRhdGFbJ3ByaWNlJ10gPSAkdGhpcy0+X3ByaWNlOwogICAgcmV0dXJuICRkYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAkdGhpcy0+Z2V0X2lkKCkgPD0gMCApCiAgICAgIHsKCXJldHVybiByZXNlcnZhdGlvbl9wYXJ0X29wczo6aW5zZXJ0KCR0aGlzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gcmVzZXJ2YXRpb25fcGFydF9vcHM6OnVwZGF0ZSgkdGhpcyk7CiAgICAgIH0KICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_note_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fbm90ZV9vcHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJG5vdGVfaWQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJG5vdGVfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKICAgIAogICAgJG5vdGUgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX25vdGUoKTsKICAgICRub3RlLT5mcm9tX2FycmF5KCRyb3cpOwoKICAgIHJldHVybiAkbm90ZTsKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uICZsb2FkX2FsbF9ieV9yZXN2X2lkKCRyZXN2X2lkKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAgIAogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMuJwogICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAkZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CiAgICBpZiggISRkYXRhICkgcmV0dXJuOwoKICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApCiAgICB7CiAgICAgICRub3RlID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9ub3RlKCk7CiAgICAgICRub3RlLT5mcm9tX2FycmF5KCRkYXRhWyRpXSk7CiAgICAgICRyZXN1bHRzW10gPSAkbm90ZTsKICAgIH0KCiAgICByZXR1cm4gJHJlc3VsdHM7CiAgfQoKICAKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGluc2VydCgmJG5vdGUpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICAgJG5vdyA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIik7CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLiIKICAgICAgICAgICAgICAgKHJlc3ZfaWQsc3ViamVjdCx0ZXh0LGFkbWluX25vdGUsY3JlYXRlX2RhdGUpCiAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJG5vdGUtPmdldF9yZXN2X2lkKCksCgkJCSAgICAgICRub3RlLT5nZXRfc3ViamVjdCgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X3RleHQoKSwKCQkJICAgICAgJG5vdGUtPmdldF9hZG1pbl9ub3RlKCksCgkJCSAgICAgICRub3cpKTsKICAgIGlmKCAhJGRiciApIAogICAgICB7CgllY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOyBkaWUoKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQogICAgJG5vdGUtPnNldF9pZCgkZGItPkluc2VydF9JZCgpKTsKICAgICRub3RlLT5zZXRfY3JlYXRlX2RhdGUoJG5vdyk7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlKCYkbm90ZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9OT1RFUy4nCiAgICAgICAgICAgICAgICAgU0VUIHJlc3ZfaWQgPSA/LCBzdWJqZWN0ID0gPywgdGV4dCA9ID8/LAogICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3RlID0gPwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCWFycmF5KCRub3RlLT5nZXRfcmVzdl9pZCgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X3N1YmplY3QoKSwKCQkJICAgICAgJG5vdGUtPmdldF90ZXh0KCksCgkJCSAgICAgICRub3RlLT5nZXRfYWRtaW5fbm90ZSgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X2lkKCkpKTsKCiAgICBpZiggISRkYnIgKSAKICAgICAgewoJZWNobyAiREVCVUc6ICIuJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsgZGllKCk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KICAgIHJldHVybiBUUlVFOwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fb3BzCnsKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uICZsb2FkX2J5X2lkKCRyZXN2X2lkKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJyAKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKICAgIAogICAgJHJlc2VydmF0aW9uID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbigpOwogICAgJHJlc2VydmF0aW9uLT5mcm9tX2FycmF5KCRyb3cpOwoKICAgIC8vIGdldCB0aGUgcGFydHMuCiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAkcGFydF9pZHMgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCBpc19hcnJheSgkcGFydF9pZHMpICYmIGNvdW50KCRwYXJ0X2lkcykgKQogICAgICB7Cglmb3JlYWNoKCAkcGFydF9pZHMgYXMgJG9uZV9wYXJ0ICkKCSAgewoJICAgICRwYXJ0ID0gcmVzZXJ2YXRpb25fcGFydF9vcHM6OmxvYWRfYnlfaWQoJG9uZV9wYXJ0KTsKCSAgICBpZiggJHBhcnQgKQoJICAgICAgewoJCSRyZXNlcnZhdGlvbi0+YWRkX3BhcnQoJHBhcnQpOwoJICAgICAgfQoJICB9CiAgICAgIH0KCgogICAgLy8gZ2V0IHRoZSBub3RlcwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICAgJG5vdGVfaWRzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CiAgICBpZiggaXNfYXJyYXkoJG5vdGVfaWRzKSAmJiBjb3VudCgkbm90ZV9pZHMpICkKICAgICAgewoJZm9yZWFjaCggJG5vdGVfaWRzIGFzICRvbmVfbm90ZSApCgkgIHsKCSAgICAkbm90ZSA9IHJlc2VydmF0aW9uX25vdGVfb3BzOjpsb2FkX2J5X2lkKCRvbmVfbm90ZSk7CgkgICAgaWYoICRub3RlICkKCSAgICAgIHsKCQkkcmVzZXJ2YXRpb24tPmFkZF9ub3RlKCRub3RlKTsKCSAgICAgIH0KCSAgfQogICAgICB9CiAgICAKICAgIHJldHVybiAkcmVzZXJ2YXRpb247CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBpbnNlcnQoJiRyZXNlcnZhdGlvbikKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgIChjdXN0b21lcl9pZCxwcmljZSxzdGF0dXMsYWRtaW5fbm90ZXMsY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZSkKICAgICAgVkFMVUVTKD8sPyw/LD8sPyw/KSc7CgogICAgJG5vdyA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIik7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHJlc2VydmF0aW9uLT5nZXRfY3VzdG9tZXJfaWQoKSwKCQkJICAgICAgJHJlc2VydmF0aW9uLT5nZXRfcHJpY2UoKSwKCQkJICAgICAgJHJlc2VydmF0aW9uLT5nZXRfc3RhdHVzKCksCgkJCSAgICAgICRyZXNlcnZhdGlvbi0+Z2V0X2FkbWluX25vdGVzKCksCgkJCSAgICAgICRub3csCgkJCSAgICAgICRub3cpKTsKICAgIGlmKCAhJGRiciApIAogICAgICB7CgllY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOyBkaWUoKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQogICAgCiAgICAvLyBnZXQgdGhlIGluc2VydCBpZAogICAgJHJlc2VydmF0aW9uLT5zZXRfaWQoJGRiLT5JbnNlcnRfSWQoKSk7CiAgICAkcmVzZXJ2YXRpb24tPnNldF9jcmVhdGVfZGF0ZSgkbm93KTsKICAgICRyZXNlcnZhdGlvbi0+c2V0X2NyZWF0ZV9kYXRlKCRub3cpOwoKICAgIC8vIG5vdyBzYXZlIHRoZSBwYXJ0cy4KICAgIGZvciggJGkgPSAwOyAkaSA8ICRyZXNlcnZhdGlvbi0+Y291bnRfcGFydHMoKTsgJGkrKyApCiAgICAgIHsKCSRwYXJ0ID0gJHJlc2VydmF0aW9uLT5nZXRfcGFydF9ieV9pZHgoJGkpOwoJJHBhcnQtPnNldF9yZXN2X2lkKCRyZXNlcnZhdGlvbi0+Z2V0X2lkKCkpOwoJJHBhcnQtPnNhdmUoKTsKICAgICAgfQoKICAgIC8vIG5vdyBzYXZlIHRoZSBub3RlcwogICAgZm9yKCAkaSA9IDA7ICRpIDwgJHJlc2VydmF0aW9uLT5jb3VudF9ub3RlcygpOyAkaSsrICkKICAgICAgewoJJG5vdGUgPSAkcmVzZXJ2YXRpb24tPmdldF9ub3RlX2J5X2lkeCgkaSk7Cgkkbm90ZS0+c2V0X3Jlc3ZfaWQoJHJlc2VydmF0aW9uLT5nZXRfaWQoKSk7Cgkkbm90ZS0+c2F2ZSgpOwogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGUoJiRyZXNlcnZhdGlvbikKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAkbm93ID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKHRpbWUoKSksIiciKTsKCiAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgICAgICAgICAgICAgU0VUIGN1c3RvbWVyX2lkID0gPywgcHJpY2UgPSA/LAogICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSA/LAogICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3RlcyA9ID8sIAogICAgICAgICAgICAgICAgICAgICBtb2RpZmllZF9kYXRlID0gPwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LAoJCQkgYXJyYXkoICRyZXNlcnZhdGlvbi0+Z2V0X2N1c3RvbWVyX2lkKCksCgkJCQkkcmVzZXJ2YXRpb24tPmdldF9wcmljZSgpLAoJCQkJJHJlc2VydmF0aW9uLT5nZXRfc3RhdHVzKCksCgkJCQkkcmVzZXJ2YXRpb24tPmdldF9hZG1pbl9ub3RlcygpLAoJCQkJJG5vdywKCQkJCSRyZXNlcnZhdGlvbi0+Z2V0X2lkKCkgKSApOwogICAgaWYoICEkZGJyICkgCiAgICAgIHsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgogICAgJHJlc2VydmF0aW9uLT5zZXRfbW9kaWZpZWRfZGF0ZSgkbm93KTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcmVzZXJ2YXRpb24tPmdldF9pZCgpKSk7CgogICAgLy8gbm93IHNhdmUgdGhlIHBhcnRzLgogICAgZm9yKCAkaSA9IDA7ICRpIDwgJHJlc2VydmF0aW9uLT5jb3VudF9wYXJ0cygpOyAkaSsrICkKICAgICAgewoJJHBhcnQgPSAkcmVzZXJ2YXRpb24tPmdldF9wYXJ0X2J5X2lkeCgkaSk7CgkkcGFydC0+c2V0X2lkKCcnKTsKCSRwYXJ0LT5zZXRfcmVzdl9pZCgkcmVzZXJ2YXRpb24tPmdldF9pZCgpKTsKCSRwYXJ0LT5zYXZlKCk7CiAgICAgIH0KCiAgICAvLyBub3cgc2F2ZSB0aGUgbm90ZXMKICAgIGZvciggJGkgPSAwOyAkaSA8ICRyZXNlcnZhdGlvbi0+Y291bnRfbm90ZXMoKTsgJGkrKyApCiAgICAgIHsKCSRub3RlID0gJHJlc2VydmF0aW9uLT5nZXRfbm90ZV9ieV9pZHgoJGkpOwoJJG5vdGUtPnNldF9pZCgnJyk7Cgkkbm90ZS0+c2V0X3Jlc3ZfaWQoJHJlc2VydmF0aW9uLT5nZXRfaWQoKSk7Cgkkbm90ZS0+c2F2ZSgpOwogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgLyoqCiAgICogY29udmVydCBhIHJlc2VydmF0aW9uIG9iamVjdCBpbnRvIGhhc2hlcwogICAqIHNvIHRoYXQgaXQncyBtb3JlIHN1aXRhYmxlIGZvciB1c2UgaW4gb2xkIGNvZGUuCiAgICovCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiB0b19hcnJheSgkcmVzdm4pCiAgewogICAgJHN0YXJ0X3V0ID0gLTE7CiAgICAkZW5kX3V0ICAgPSAtMTsKICAgICRkYXRhID0gJHJlc3ZuLT50b19hcnJheSgpOwogICAgaWYoICRyZXN2bi0+Y291bnRfcGFydHMoKSApCiAgICAgIHsKCSRkYXRhWydwYXJ0cyddID0gYXJyYXkoKTsKCWZvciggJGkgPSAwOyAkaSA8ICRyZXN2bi0+Y291bnRfcGFydHMoKTsgJGkrKyApCiAgICAgICAgewoJICAkcGFydCA9ICRyZXN2bi0+Z2V0X3BhcnRfYnlfaWR4KCRpKTsKCSAgJHRfc3RhcnQgPSBjZ2VfZGF0ZV91dGlsczo6c3RyX3RvX3RpbWVzdGFtcCgkcGFydC0+Z2V0X3N0YXJ0X2RhdGUoKSk7CgkgICR0X2VuZCA9IGNnZV9kYXRlX3V0aWxzOjpzdHJfdG9fdGltZXN0YW1wKCRwYXJ0LT5nZXRfZW5kX2RhdGUoKSk7CgkgIGlmKCAkdF9zdGFydCA8ICRzdGFydF91dCB8fCAkc3RhcnRfdXQgPT0gLTEgKQoJICAgIHsKCSAgICAgICRzdGFydF91dCA9ICR0X3N0YXJ0OwoJICAgIH0KCSAgaWYoICR0X2VuZCA+ICRlbmRfdXQgKQoJICAgIHsKCSAgICAgICRlbmRfdXQgPSAkdF9lbmQ7CgkgICAgfQoJICAkZGF0YVsncGFydHMnXVtdID0gJHBhcnQtPnRvX2FycmF5KCk7CiAgICAgICAgfQogICAgICB9CiAgICBpZiggJHJlc3ZuLT5jb3VudF9ub3RlcygpICkKICAgICAgewoJJGRhdGFbJ25vdGVzJ10gPSBhcnJheSgpOwoJZm9yKCAkaSA9IDA7ICRpIDwgJHJlc3ZuLT5jb3VudF9ub3RlcygpOyAkaSsrICkKICAgICAgICB7CgkgICRub3RlID0gJHJlc3ZuLT5nZXRfbm90ZV9ieV9pZHgoJGkpOwoJICAkZGF0YVsnbm90ZXMnXVtdID0gJG5vdGUtPnRvX2FycmF5KCk7CiAgICAgICAgfQogICAgICB9CiAgICAkZGF0YVsnc3RhcnRfZGF0ZSddID0gY2dlX2RhdGVfdXRpbHM6OnRzX3RvX2RiZm9ybWF0KCRzdGFydF91dCk7CiAgICAkZGF0YVsnZW5kX2RhdGUnXSA9IGNnZV9kYXRlX3V0aWxzOjp0c190b19kYmZvcm1hdCgkZW5kX3V0KTsKICAgIHJldHVybiAkZGF0YTsKICB9CgoKICAvKioKICAgKiBkZWxldGUgcmVzZXJ2YXRpb24gYnkgaWQKICAgKi8KICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZV9ieV9pZCgkcmVzdl9pZCwkc3RhdHVzID0gJycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0gJGdDbXMtPkdldERiKCk7CgogICAgaWYoICRzdGF0dXMgIT0gJycgKQogICAgICB7CgkkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicKICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyBBTkQgc3RhdHVzID0gPyc7CgkkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkLCRzdGF0dXMpKTsKCWlmKCAhJHRtcCApIHJldHVybjsKICAgICAgfQogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX0FUVFJJQlMuJwogICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMuJwogICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCAhJGRiciApCiAgICAgIHsKCWVjaG8gJGRiLT5zcWwuIjxici8+IjsKCWVjaG8gJGRiLT5FcnJvck1zZygpOwoJZGllKCk7CiAgICAgIH0KICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_part_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fcGFydF9vcHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJHBhcnRfaWQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHBhcnRfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKICAgIAogICAgJHBhcnQgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX3BhcnQoKTsKICAgICRwYXJ0LT5mcm9tX2FycmF5KCRyb3cpOwogICAgcmV0dXJuICRwYXJ0OwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gaW5zZXJ0KCYkcGFydCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4iCiAgICAgICAgICAgICAgIChyZXN2X2lkLHJzcmNfaWQsc3RhcnRfZGF0ZSxlbmRfZGF0ZSxudW1fcGVvcGxlLHByaWNlKQogICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHBhcnQtPmdldF9yZXN2X2lkKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfcnNyY19pZCgpLAoJCQkgICAgICAkcGFydC0+Z2V0X3N0YXJ0X2RhdGUoKSwKCQkJICAgICAgJHBhcnQtPmdldF9lbmRfZGF0ZSgpLAoJCQkgICAgICAkcGFydC0+Z2V0X251bV9wZW9wbGUoKSwKCQkJICAgICAgJHBhcnQtPmdldF9wcmljZSgpKSk7CiAgICBpZiggISRkYnIgKSAKICAgICAgewoJZWNobyAiREVCVUc6ICIuJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsgZGllKCk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KCiAgICAkcGFydC0+c2V0X2lkKCRkYi0+SW5zZXJ0X0lkKCkpOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZSgmJHBhcnQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgICAgIFNFVCByZXN2X2lkID0gPywgcnNyY19pZCA9ID8sCiAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X2RhdGUgPSA/LCBlbmRfZGF0ZSA9ID8sCiAgICAgICAgICAgICAgICAgICAgIG51bV9wZW9wbGUgPSA/LCBwcmljZSA9ID8KICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQlhcnJheSgkcGFydC0+Z2V0X3Jlc3ZfaWQoKSwKCQkJICAgICAgJHBhcnQtPmdldF9yc3JjX2lkKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfc3RhcnRfZGF0ZSgpLAoJCQkgICAgICAkcGFydC0+Z2V0X2VuZF9kYXRlKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfbnVtX3Blb3BsZSgpLAoJCQkgICAgICAkcGFydC0+Z2V0X3ByaWNlKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfaWQoKSkpOwogICAgICAgICAgICAgICAgICAgICAKICAgIGlmKCAhJGRiciApIAogICAgICB7CgllY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOyBkaWUoKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgIHJldHVybiBUUlVFOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fdXRpbHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gY2FsY19taW5fZGVwb3NpdF9ieV9wcmljZSgkcHJpY2UpCiAgewogICAgJHByaWNlID0gKGZsb2F0KSRwcmljZTsKICAgIGlmKCAkcHJpY2UgPD0gMC4wICkgcmV0dXJuIEZBTFNFOwoKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0F2YWlsYWJpbGl0eScpOwogICAgaWYoICEkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnKSApIHJldHVybiAwLjA7CgogICAgJHBlcmMgPSBmbG9hdHZhbCgkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZXBvc2l0X3BlcmNlbnQnLCcxLjAnKSk7CiAgICAkcGVyY3ZhbHVlID0gJHByaWNlICogJHBlcmM7CiAgICAkbWluZGVwID0gZmxvYXR2YWwoJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fZGVwb3NpdF9taW5pbXVtJywnMC4wJykpOwogICAgJGRlcG9zaXQgPSBtYXgoJHBlcmN2YWx1ZSwkbWluZGVwKTsKICAgICRkZXBvc2l0ID0gbWluKCRkZXBvc2l0LCRwcmljZSk7CgogICAgcmV0dXJuICRkZXBvc2l0OwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.resvervation_note_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fbm90ZV9vcHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJG5vdGVfaWQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKCiAgICAkbm90ZSA9IG5ldyBhdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25fbm90ZSgpOwogICAgJG5vdGUtPmZyb21fYXJyYXkoJHJvdyk7CiAgICByZXR1cm4gJG5vdGU7CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGluc2VydCgmJG5vdGUpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICAgJG5vdyA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIik7CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgIChyZXN2X2lkLHN1YmplY3QsdGV4dCxhZG1pbl9ub3RlLGNyZWF0ZV9kYXRlKQogICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/KSc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJG5vdGUtPmdldF9yZXN2X2lkKCksCgkJCSAgICAgICRub3RlLT5nZXRfc3ViamVjdCgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X3RleHQoKSwKCQkJICAgICAgJG5vdGUtPmdldF9hZG1pbl9ub3RlKCksCgkJCSAgICAgICRub3cpKTsKICAgIGlmKCAhJGRiciApCiAgICAgIHsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgkJCQkJCSAKICAgICRub3RlLT5zZXRfY3JlYXRlX2RhdGUoJG5vdyk7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlKCYkbm90ZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAkbm93ID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKHRpbWUoKSksIiciKTsKCiAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgICBTRVQgc3ViamVjdCA9ID8sIHRleHQgPSA/LCBhZG1pbl9ub3RlID0gPwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIHJlc3ZfaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQlhcnJheSgkbm90ZS0+Z2V0X3N1YmplY3QoKSwKCQkJICAgICAgJG5vdGUtPmdldF90ZXh0KCksCgkJCSAgICAgICRub3RlLT5nZXRfYWRtaW5fbm90ZSgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X2lkKCksCgkJCSAgICAgICRub3RlLT5nZXRfcmVzdl9pZCgpKSk7CiAKICAgIGlmKCAhJGRiciApCiAgICAgIHsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/php_js.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogCiAqIE1vcmUgaW5mbyBhdDogaHR0cDovL3BocGpzLm9yZwogKiAKICogVGhpcyBpcyB2ZXJzaW9uOiAyLjcxCiAqIHBocC5qcyBpcyBjb3B5cmlnaHQgMjAwOSBLZXZpbiB2YW4gWm9ubmV2ZWxkLgogKiAKICogUG9ydGlvbnMgY29weXJpZ2h0IEJyZXR0IFphbWlyIChodHRwOi8vYnJldHQtemFtaXIubWUpLCBLZXZpbiB2YW4gWm9ubmV2ZWxkCiAqIChodHRwOi8va2V2aW4udmFuem9ubmV2ZWxkLm5ldCksIE9ubm8gTWFyc21hbiwgTWljaGFlbCBXaGl0ZQogKiAoaHR0cDovL2dldHNwcmluay5jb20pLCBXYWxkbyBNYWxxdWkgU2lsdmEsIFBhdWxvIFJpY2FyZG8gRi4gU2FudG9zLCBKYWNrLAogKiBQaGlsaXAgUGV0ZXJzb24sIEpvbmFzIFJhb25pIFNvYXJlcyBTaWx2YSAoaHR0cDovL3d3dy5qc2Zyb21oZWxsLmNvbSksCiAqIExlZ2FldiBBbmRyZXksIEF0ZXMgR29yYWwgKGh0dHA6Ly9tYWduZXRpcS5jb20pLCBNYXJ0aWpuIFdpZXJpbmdhLCBOYXRlLAogKiBFbnJpcXVlIEdvbnphbGV6LCBQaGlsaXBwZSBCYXVtYW5uLCBXZWJ0b29sa2l0LmluZm8KICogKGh0dHA6Ly93d3cud2VidG9vbGtpdC5pbmZvLyksIFRoZXJpYXVsdCwgSmFuaSBIYXJ0aWthaW5lbiwgQXNoIFNlYXJsZQogKiAoaHR0cDovL2hleG1lbi5jb20vYmxvZy8pLCBDYXJsb3MgUi4gTC4gUm9kcmlndWVzCiAqIChodHRwOi8vd3d3LmpzZnJvbWhlbGwuY29tKSwgT2xlIFZyaWplbmhvZWssIHRyYXZjLCBNaWNoYWVsIEdyaWVyLCBHZWVrRkcKICogKGh0dHA6Ly9nZWVrZmcuYmxvZ3Nwb3QuY29tKSwgSm9obm55IE1hc3QgKGh0dHA6Ly93d3cucGhwdnJvdXdlbi5ubCksIEFsZXgsCiAqIGQzeCwgc3RhZzAxOSwgQW5kcmVhIEdpYW1tYXJjaGkgKGh0dHA6Ly93ZWJyZWZsZWN0aW9uLmJsb2dzcG90LmNvbSksCiAqIG1hcnJ0aW5zLCBFcmtla2pldHRlciwgU3RldmUgSGlsZGVyLCBPbGVnIEVyZW1lZXYsIERhdmlkLCBNYXJjIFBhbGF1LAogKiBTdGV2ZW4gTGV2aXRoYW4gKGh0dHA6Ly9ibG9nLnN0ZXZlbmxldml0aGFuLmNvbSksIGdvcnRoYXVyLCBBcnBhZCBSYXkKICogKG1haWx0bzphcnBhZEBwaHAubmV0KSwgUHVibGljIERvbWFpbiAoaHR0cDovL3d3dy5qc29uLm9yZy9qc29uMi5qcyksCiAqIGdldHRpbWVvZmRheSwgbWRzamFjayAoaHR0cDovL3d3dy5tZHNqYWNrLmJvLml0KSwgVGh1bmRlci5tLCBBbGZvbnNvCiAqIEppbWVuZXogKGh0dHA6Ly93d3cuYWxmb25zb2ppbWVuZXouY29tKSwgS0VMQU4sIFR5bGVyIEFraW5zCiAqIChodHRwOi8vcnVta2luLmNvbSksIE1pcmVrIFNsdWdlbiwgS2Fua3JlbHVuZQogKiAoaHR0cDovL3d3dy53ZWJmYWt0b3J5LmluZm8vKSwgS2Fyb2wgS293YWxza2ksIEFKLCBMYXJzIEZpc2NoZXIsIENhaW8KICogQXJpZWRlIChodHRwOi8vY2Fpb2FyaWVkZS5jb20pLCBBbWFuIEd1cHRhLCBTYWtpbW9yaSwgUGVsbGVudGVzcXVlCiAqIE1hbGVzdWFkYSwgQnJlYWtpbmcgUGFyIENvbnN1bHRpbmcgSW5jCiAqIChodHRwOi8vd3d3LmJyZWFraW5ncGFyLmNvbS9ia3AvaG9tZS5uc2YvMC84NzI1NkIyODAwMTUxOTNGODcyNTZDRkIwMDZDNDVGNyksCiAqIEpvc2ggRnJhc2VyCiAqIChodHRwOi8vb25saW5lYXNwZWN0LmNvbS8yMDA3LzA2LzA4L2F1dG8tZGV0ZWN0LWEtdGltZS16b25lLXdpdGgtamF2YXNjcmlwdC8pLAogKiBQYXVsLCBtYWRpcHRhLCBEb3VnbGFzIENyb2NrZm9yZCAoaHR0cDovL2phdmFzY3JpcHQuY3JvY2tmb3JkLmNvbSksIE9sZQogKiBWcmlqZW5ob2VrIChodHRwOi8vd3d3Lm5lcnZvdXMubmwvKSwgSHlhbSBTaW5nZXIKICogKGh0dHA6Ly93d3cuaW1wYWN0LWNvbXB1dGluZy5jb20vKSwgUmFwaGFlbCAoQW8gUlVETEVSKSwga2VubmV0aCwgVC4gV2lsZCwKICogbm9iYmxlciwgY2xhc3NfZXhpc3RzLCBub25hbWUsIE1hcmNvLCBEYXZpZCBKYW1lcywgU3RldmUgQ2xheSwgbWFyYyBhbmRyZXUsCiAqIGdlciwgam9obiAoaHR0cDovL3d3dy5qZC10ZWNoLm5ldCksIG1rdGltZSwgQnJhZCBUb3Vlc25hcmQsIEogQSBSLCBkam1peCwKICogTGluY29sbiBSYW1zYXksIExpbnV4d29ybGQsIFRoaWFnbyBNYXRhIChodHRwOi8vdGhpYWdvbWF0YS5ibG9nLmNvbSksCiAqIFB5ZXJyZSwgSm9uIEhvaGxlLCBCYXlyb24gR3VldmFyYSwgZHVuY2FuLCBTYW5qb3kgUm95LCBzYW5rYWksIDBtM3IsIEZlbGl4CiAqIEdlaXNlbmRvZXJmZXIgKGh0dHA6Ly93d3cuZGVidWdnYWJsZS5jb20vZmVsaXgpLCBHaWxiZXJ0LCBTdWJoYXNpcyBEZWIsCiAqIFNvcmVuIEhhbnNlbiwgVDBic24sIEV1Z2VuZSBCdWxraW4gKGh0dHA6Ly9kb3VibGVhdy5jb20vKSwgRGVyIFNpbW9uCiAqIChodHRwOi8vaW5uZXJkb20uc291cmNlZm9yZ2UubmV0LyksIEpCLCBMSCwgTWFyYyBKYW5zZW4sIEZyYW5jZXNjbywgZWNobyBpcwogKiBiYWQsIFhvcmFYIChodHRwOi8vd3d3LnhvcmF4LmluZm8pLCBNZUV0YyAoaHR0cDovL3lhc3MubWVldGN3ZWIuY29tKSwKICogUGV0ZXItUGF1bCBLb2NoIChodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2pzL2JlYXQuaHRtbCksIE5hdGhhbiwgVGltIFdpZWwsCiAqIE96aCwgRGF2aWQgUmFuZGFsbCwgQnJ5YW4gRWxsaW90dCwgSmFsYWwgQmVycmFtaSwgQXJubywgUmljayBXYWxkcm9uLAogKiBNaWNrQGVsLCByZXpuYSwgS2lyayBTdHJvYmVjaywgTWFydGluIFBvb2wsIERhbmllbCBFc3RlYmFuLCBTYXVsbyBWYWxsb3J5LAogKiBLcmlzdG9mIENvb21hbnMgKFNDSy1DRU4gQmVsZ2lhbiBOdWNsZWFpciBSZXNlYXJjaCBDZW50cmUpLCBQaWVycmUtTHVjCiAqIFBhb3VyLCBFcmljIE5hZ2VsLCBCb2JieSBEcmFrZSwgcGVudXRidXR0ZXJqZWxseSwgQ2hyaXN0aWFuIERvZWJsZXIsCiAqIHNldGNvb2tpZSwgR2FicmllbCBQYWRlcm5pLCBTaW1vbiBXaWxsaXNvbiAoaHR0cDovL3NpbW9ud2lsbGlzb24ubmV0KSwgUHVsLAogKiBMdWtlIEdvZGZyZXksIEJsdWVzIChodHRwOi8vdGVjaC5ibHVlc21vb24uaW5mby8pLCBBbnRvbiBPbmdzb24sIEphc29uIFdvbmcKICogKGh0dHA6Ly9jYXJyb3Qub3JnLyksIFZhbGVudGluYSBEZSBSb3NhLCBzb3diZXJyeSwgaGl0d29yaywgTm9ybWFuICJ6RWgiCiAqIEZ1Y2hzLCBZdmVzIFN1Y2FldCwgam9obnJlbWJvLCBOaWNrIENhbGxlbiwgZWpzYW5kZXJzLCBBaWRhbiBMaXN0ZXIKICogKGh0dHA6Ly9haWRhbmxpc3Rlci5jb20vKSwgUGhpbGlwcGUgSmF1c2lvbnMKICogKGh0dHA6Ly9wZWFyLnBocC5uZXQvdXNlci9qYXVzaW9ucyksIGRwdHIxOTg4LCBQZWRybyBUYWluaGEKICogKGh0dHA6Ly93d3cucGVkcm90YWluaGEuY29tKSwgQWxhbiBDLCB1ZXN0bGEsIFdhZ25lciBCLiBTb2FyZXMsIFQuV2lsZCwKICogc3RyY2FzZWNtcCwgc3RyY21wLCBEeEd4LCBBbGV4YW5kZXIgRXJtb2xhZXYKICogKGh0dHA6Ly9zbmlwcGV0cy5kem9uZS5jb20vdXNlci9BbGV4YW5kZXJFcm1vbGFldiksIENoYW9zTm8xLCBtZXRqYXksIFlVSQogKiBMaWJyYXJ5OiBodHRwOi8vZGV2ZWxvcGVyLnlhaG9vLmNvbS95dWkvZG9jcy9ZQUhPTy51dGlsLkRhdGVMb2NhbGUuaHRtbCwKICogQmx1ZXMgYXQgaHR0cDovL2hhY2tzLmJsdWVzbW9vbi5pbmZvL3N0cmZ0aW1lL3N0cmZ0aW1lLmpzLCB0YWl0aCwgUm9iaW4sCiAqIE1hdHQgQnJhZGxleSwgVGltIGRlIEtvbmluZywgTHVpcyBTYWxhemFyIChodHRwOi8vd3d3LmZyZWFreS1tZWRpYS5jb20vKSwKICogRkdGRW1wZXJvciwgYmFyaXMgb3pkaWwsIFRvZCBHZW50aWxsZSwgRnJlbXlDb21wYW55LCBNYW5pc2gsIENvcmQsIFNsYXdvbWlyCiAqIEthbmllY2tpLCBSZXZlcnNlU3ludGF4LCBNYXRldXN6ICJsb29ucXVhd2wiIFphbGVnYSwgU2NvdHQgQ2FyaXNzLAogKiBGcmFuY29pcywgVmljdG9yLCBzdGVuc2ksIHZsYWRvIGhvdWJhLCBkYXRlLCBnYWJyaWVsIHBhZGVybmksIFlhbm5vbywKICogbWsua2VjaywgTGVzbGllIEhvYXJlLCBCZW4gQnJ5YW4sIERpbm8sIEFuZHJlaiBQYXZsb3ZpYywgQW5kcmVhcywgRHRUdkIKICogKGh0dHA6Ly9kdC5pbi50aC8yMDA4LTA5LTE2LnN0cmluZy1sZW5ndGgtaW4tYnl0ZXMuaHRtbCksIFJ1c3NlbGwgV2Fsa2VyLAogKiBHYXJhZ290aCwgYm9vZXlPSCwgQ2FncmkgRWtpbiwgQmVuamFtaW4gTHVwdG9uLCBkYXZvb2ssIEF0bGkgw57Ds3IsIGpha2VzLAogKiBBbGxhbiBKZW5zZW4gKGh0dHA6Ly93d3cud2ludGVybmV0Lm5vKSwgSG93YXJkIFllZW5kLCBLaGVhbmcgSG9rIENoaW4KICogKGh0dHA6Ly93d3cuZGlzdGFudGlhLmNhLyksIEx1a2UgU21pdGggKGh0dHA6Ly9sdWNhc3NtaXRoLm5hbWUpLCBSaXZhbCwKICogRGlvZ28gUmVzZW5kZQogKiAKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpCiAqIGFuZCBHUEwgKEdQTC1MSUNFTlNFLnR4dCkgbGljZW5zZXMuCiAqIAogKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQogKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCiAqICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAogKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCiAqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKICogCiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCiAqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgogKiAKICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKICogT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgogKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCiAqIElOIE5PIEVWRU5UIFNIQUxMIEtFVklOIFZBTiBaT05ORVZFTEQgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMKICogT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCiAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgogKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqLyAKCgovLyBDb21wcmVzc2lvbjogbWluaWZpZWQKCgpmdW5jdGlvbiBkYXRlKGZvcm1hdCx0aW1lc3RhbXApe3ZhciBqc2RhdGU9KCh0eXBlb2YodGltZXN0YW1wKT09J3VuZGVmaW5lZCcpP25ldyBEYXRlKCk6KHR5cGVvZih0aW1lc3RhbXApPT0nbnVtYmVyJyk/bmV3IERhdGUodGltZXN0YW1wKjEwMDApOm5ldyBEYXRlKHRpbWVzdGFtcCkpO3ZhciBwYWQ9ZnVuY3Rpb24obixjKXtpZigobj1uKyIiKS5sZW5ndGg8Yyl7cmV0dXJuIG5ldyBBcnJheSgrK2Mtbi5sZW5ndGgpLmpvaW4oIjAiKStuO31lbHNle3JldHVybiBuO319O3ZhciBfZHN0PWZ1bmN0aW9uKHQpe3ZhciBkc3Q9MDt2YXIgamFuMT1uZXcgRGF0ZSh0LmdldEZ1bGxZZWFyKCksMCwxLDAsMCwwLDApO3ZhciBqdW5lMT1uZXcgRGF0ZSh0LmdldEZ1bGxZZWFyKCksNiwxLDAsMCwwLDApO3ZhciB0ZW1wPWphbjEudG9VVENTdHJpbmcoKTt2YXIgamFuMj1uZXcgRGF0ZSh0ZW1wLnNsaWNlKDAsdGVtcC5sYXN0SW5kZXhPZignICcpLTEpKTt0ZW1wPWp1bmUxLnRvVVRDU3RyaW5nKCk7dmFyIGp1bmUyPW5ldyBEYXRlKHRlbXAuc2xpY2UoMCx0ZW1wLmxhc3RJbmRleE9mKCcgJyktMSkpO3ZhciBzdGRfdGltZV9vZmZzZXQ9KGphbjEtamFuMikvKDEwMDAqNjAqNjApO3ZhciBkYXlsaWdodF90aW1lX29mZnNldD0oanVuZTEtanVuZTIpLygxMDAwKjYwKjYwKTtpZihzdGRfdGltZV9vZmZzZXQ9PT1kYXlsaWdodF90aW1lX29mZnNldCl7ZHN0PTA7fQplbHNle3ZhciBoZW1pc3BoZXJlPXN0ZF90aW1lX29mZnNldC1kYXlsaWdodF90aW1lX29mZnNldDtpZihoZW1pc3BoZXJlPj0wKXtzdGRfdGltZV9vZmZzZXQ9ZGF5bGlnaHRfdGltZV9vZmZzZXQ7fQpkc3Q9MTt9CnJldHVybiBkc3Q7fTt2YXIgcmV0PScnO3ZhciB0eHRfd2Vla2RheXM9WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdO3ZhciB0eHRfb3JkaW49ezE6InN0IiwyOiJuZCIsMzoicmQiLDIxOiJzdCIsMjI6Im5kIiwyMzoicmQiLDMxOiJzdCJ9O3ZhciB0eHRfbW9udGhzPVsiIiwiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXTt2YXIgZj17ZDpmdW5jdGlvbigpe3JldHVybiBwYWQoZi5qKCksMik7fSxEOmZ1bmN0aW9uKCl7dmFyIHQ9Zi5sKCk7cmV0dXJuIHQuc3Vic3RyKDAsMyk7fSxqOmZ1bmN0aW9uKCl7cmV0dXJuIGpzZGF0ZS5nZXREYXRlKCk7fSxsOmZ1bmN0aW9uKCl7cmV0dXJuIHR4dF93ZWVrZGF5c1tmLncoKV07fSxOOmZ1bmN0aW9uKCl7cmV0dXJuIGYudygpKzE7fSxTOmZ1bmN0aW9uKCl7cmV0dXJuIHR4dF9vcmRpbltmLmooKV0/dHh0X29yZGluW2YuaigpXTondGgnO30sdzpmdW5jdGlvbigpe3JldHVybiBqc2RhdGUuZ2V0RGF5KCk7fSx6OmZ1bmN0aW9uKCl7cmV0dXJuKGpzZGF0ZS1uZXcgRGF0ZShqc2RhdGUuZ2V0RnVsbFllYXIoKSsiLzEvMSIpKS84NjRlNT4+MDt9LFc6ZnVuY3Rpb24oKXt2YXIgYT1mLnooKSxiPTM2NCtmLkwoKS1hO3ZhciBuZDIsbmQ9KG5ldyBEYXRlKGpzZGF0ZS5nZXRGdWxsWWVhcigpKyIvMS8xIikuZ2V0RGF5KCl8fDcpLTE7aWYoYjw9MiYmKChqc2RhdGUuZ2V0RGF5KCl8fDcpLTEpPD0yLWIpe3JldHVybiAxO30KaWYoYTw9MiYmbmQ+PTQmJmE+PSg2LW5kKSl7bmQyPW5ldyBEYXRlKGpzZGF0ZS5nZXRGdWxsWWVhcigpLTErIi8xMi8zMSIpO3JldHVybiBkYXRlKCJXIixNYXRoLnJvdW5kKG5kMi5nZXRUaW1lKCkvMTAwMCkpO30KcmV0dXJuKDErKG5kPD0zPygoYStuZCkvNyk6KGEtKDctbmQpKS83KT4+MCk7fSxGOmZ1bmN0aW9uKCl7cmV0dXJuIHR4dF9tb250aHNbZi5uKCldO30sbTpmdW5jdGlvbigpe3JldHVybiBwYWQoZi5uKCksMik7fSxNOmZ1bmN0aW9uKCl7dmFyIHQ9Zi5GKCk7cmV0dXJuIHQuc3Vic3RyKDAsMyk7fSxuOmZ1bmN0aW9uKCl7cmV0dXJuIGpzZGF0ZS5nZXRNb250aCgpKzE7fSx0OmZ1bmN0aW9uKCl7dmFyIG47aWYoKG49anNkYXRlLmdldE1vbnRoKCkrMSk9PTIpe3JldHVybiAyOCtmLkwoKTt9CmlmKG4mMSYmbjw4fHwhKG4mMSkmJm4+Nyl7cmV0dXJuIDMxO30KcmV0dXJuIDMwO30sTDpmdW5jdGlvbigpe3ZhciB5PWYuWSgpO3JldHVybighKHkmMykmJih5JTFlMnx8ISh5JTRlMikpKT8xOjA7fSxvOmZ1bmN0aW9uKCl7aWYoZi5uKCk9PT0xMiYmZi5XKCk9PT0xKXtyZXR1cm4ganNkYXRlLmdldEZ1bGxZZWFyKCkrMTt9CmlmKGYubigpPT09MSYmZi5XKCk+PTUyKXtyZXR1cm4ganNkYXRlLmdldEZ1bGxZZWFyKCktMTt9CnJldHVybiBqc2RhdGUuZ2V0RnVsbFllYXIoKTt9LFk6ZnVuY3Rpb24oKXtyZXR1cm4ganNkYXRlLmdldEZ1bGxZZWFyKCk7fSx5OmZ1bmN0aW9uKCl7cmV0dXJuKGpzZGF0ZS5nZXRGdWxsWWVhcigpKyIiKS5zbGljZSgyKTt9LGE6ZnVuY3Rpb24oKXtyZXR1cm4ganNkYXRlLmdldEhvdXJzKCk+MTE/InBtIjoiYW0iO30sQTpmdW5jdGlvbigpe3JldHVybiBmLmEoKS50b1VwcGVyQ2FzZSgpO30sQjpmdW5jdGlvbigpe3ZhciBvZmY9KGpzZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpKzYwKSo2MDt2YXIgdGhlU2Vjb25kcz0oanNkYXRlLmdldEhvdXJzKCkqMzYwMCkrCihqc2RhdGUuZ2V0TWludXRlcygpKjYwKSsKanNkYXRlLmdldFNlY29uZHMoKStvZmY7dmFyIGJlYXQ9TWF0aC5mbG9vcih0aGVTZWNvbmRzLzg2LjQpO2lmKGJlYXQ+MTAwMCl7YmVhdC09MTAwMDt9CmlmKGJlYXQ8MCl7YmVhdCs9MTAwMDt9CmlmKChTdHJpbmcoYmVhdCkpLmxlbmd0aD09MSl7YmVhdD0iMDAiK2JlYXQ7fQppZigoU3RyaW5nKGJlYXQpKS5sZW5ndGg9PTIpe2JlYXQ9IjAiK2JlYXQ7fQpyZXR1cm4gYmVhdDt9LGc6ZnVuY3Rpb24oKXtyZXR1cm4ganNkYXRlLmdldEhvdXJzKCklMTJ8fDEyO30sRzpmdW5jdGlvbigpe3JldHVybiBqc2RhdGUuZ2V0SG91cnMoKTt9LGg6ZnVuY3Rpb24oKXtyZXR1cm4gcGFkKGYuZygpLDIpO30sSDpmdW5jdGlvbigpe3JldHVybiBwYWQoanNkYXRlLmdldEhvdXJzKCksMik7fSxpOmZ1bmN0aW9uKCl7cmV0dXJuIHBhZChqc2RhdGUuZ2V0TWludXRlcygpLDIpO30sczpmdW5jdGlvbigpe3JldHVybiBwYWQoanNkYXRlLmdldFNlY29uZHMoKSwyKTt9LHU6ZnVuY3Rpb24oKXtyZXR1cm4gcGFkKGpzZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSoxMDAwLDYpO30sZTpmdW5jdGlvbigpe3JldHVybidVVEMnO30sSTpmdW5jdGlvbigpe3JldHVybiBfZHN0KGpzZGF0ZSk7fSxPOmZ1bmN0aW9uKCl7dmFyIHQ9cGFkKE1hdGguYWJzKGpzZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpLzYwKjEwMCksNCk7dD0oanNkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk+MCk/Ii0iK3Q6IisiK3Q7cmV0dXJuIHQ7fSxQOmZ1bmN0aW9uKCl7dmFyIE89Zi5PKCk7cmV0dXJuKE8uc3Vic3RyKDAsMykrIjoiK08uc3Vic3RyKDMsMikpO30sVDpmdW5jdGlvbigpe3JldHVybidVVEMnO30sWjpmdW5jdGlvbigpe3JldHVybi1qc2RhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MDt9LGM6ZnVuY3Rpb24oKXtyZXR1cm4gZi5ZKCkrIi0iK2YubSgpKyItIitmLmQoKSsiVCIrZi5oKCkrIjoiK2YuaSgpKyI6IitmLnMoKStmLlAoKTt9LHI6ZnVuY3Rpb24oKXtyZXR1cm4gZi5EKCkrJywgJytmLmQoKSsnICcrZi5NKCkrJyAnK2YuWSgpKycgJytmLkgoKSsnOicrZi5pKCkrJzonK2YucygpKycgJytmLk8oKTt9LFU6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yb3VuZChqc2RhdGUuZ2V0VGltZSgpLzEwMDApO319O3JldHVybiBmb3JtYXQucmVwbGFjZSgvW1xcXT8oW2EtekEtWl0pL2csZnVuY3Rpb24odCxzKXtpZih0IT1zKXtyZXQ9czt9ZWxzZSBpZihmW3NdKXtyZXQ9ZltzXSgpO31lbHNle3JldD1zO30KcmV0dXJuIHJldDt9KTt9CmZ1bmN0aW9uIGdldGVudih2YXJuYW1lKXtpZighdGhpcy5waHBfanN8fCF0aGlzLnBocF9qcy5FTlZ8fCF0aGlzLnBocF9qcy5FTlZbdmFybmFtZV0pe3JldHVybiBmYWxzZTt9CnJldHVybiB0aGlzLnBocF9qcy5FTlZbdmFybmFtZV07fQpmdW5jdGlvbiBta3RpbWUoKXt2YXIgbm89MCxpPTAsbWE9MCxtYj0wLGQ9bmV3IERhdGUoKSxkbj1uZXcgRGF0ZSgpLGFyZ3Y9YXJndW1lbnRzLGFyZ2M9YXJndi5sZW5ndGg7dmFyIGRhdGVNYW5pcD17MDpmdW5jdGlvbih0dCl7cmV0dXJuIGQuc2V0SG91cnModHQpO30sMTpmdW5jdGlvbih0dCl7cmV0dXJuIGQuc2V0TWludXRlcyh0dCk7fSwyOmZ1bmN0aW9uKHR0KXt2YXIgc2V0PWQuc2V0U2Vjb25kcyh0dCk7bWI9ZC5nZXREYXRlKCktZG4uZ2V0RGF0ZSgpO3JldHVybiBzZXQ7fSwzOmZ1bmN0aW9uKHR0KXt2YXIgc2V0PWQuc2V0TW9udGgocGFyc2VJbnQodHQsMTApLTEpO21hPWQuZ2V0RnVsbFllYXIoKS1kbi5nZXRGdWxsWWVhcigpO3JldHVybiBzZXQ7fSw0OmZ1bmN0aW9uKHR0KXtyZXR1cm4gZC5zZXREYXRlKHR0K21iKTt9LDU6ZnVuY3Rpb24odHQpe2lmKHR0Pj0wJiZ0dDw9Njkpe3R0Kz0yMDAwO30KZWxzZSBpZih0dD49NzAmJnR0PD0xMDApe3R0Kz0xOTAwO30KcmV0dXJuIGQuc2V0RnVsbFllYXIodHQrbWEpO319O2ZvcihpPTA7aTxhcmdjO2krKyl7bm89cGFyc2VJbnQoYXJndltpXSoxLDEwKTtpZihpc05hTihubykpe3JldHVybiBmYWxzZTt9ZWxzZXtpZighZGF0ZU1hbmlwW2ldKG5vKSl7cmV0dXJuIGZhbHNlO319fQpmb3IoaT1hcmdjO2k8NjtpKyspe3N3aXRjaChpKXtjYXNlIDA6bm89ZG4uZ2V0SG91cnMoKTticmVhaztjYXNlIDE6bm89ZG4uZ2V0TWludXRlcygpO2JyZWFrO2Nhc2UgMjpubz1kbi5nZXRTZWNvbmRzKCk7YnJlYWs7Y2FzZSAzOm5vPWRuLmdldE1vbnRoKCkrMTticmVhaztjYXNlIDQ6bm89ZG4uZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgNTpubz1kbi5nZXRGdWxsWWVhcigpO2JyZWFrO30KZGF0ZU1hbmlwW2ldKG5vKTt9CnJldHVybiBNYXRoLmZsb29yKGQuZ2V0VGltZSgpLzEwMDApO30KZnVuY3Rpb24gc2V0bG9jYWxlKGNhdGVnb3J5LGxvY2FsZSl7dmFyIGNhdGVnPScnLGNhdHM9W10saT0wLGQ9dGhpcy53aW5kb3cuZG9jdW1lbnQ7dGhpcy5waHBfanM9dGhpcy5waHBfanN8fHt9O3ZhciBwaHBqcz10aGlzLnBocF9qczt2YXIgX2NvcHk9ZnVuY3Rpb24gX2NvcHkob3JpZyl7dmFyIG5ld09iaj17fTtmb3IodmFyIGkgaW4gb3JpZyl7aWYodHlwZW9mIG9yaWdbaV09PT0nb2JqZWN0Jyl7bmV3T2JqW2ldPV9jb3B5KG9yaWdbaV0pO30KZWxzZXtuZXdPYmpbaV09b3JpZ1tpXTt9fQpyZXR1cm4gbmV3T2JqO307aWYoIXBocGpzLmxvY2FsZXMpe3BocGpzLmxvY2FsZXM9e307cGhwanMubG9jYWxlcy5lbj17J0xDX0NPTExBVEUnOicnLCdMQ19DVFlQRSc6e2FuOi9eW0EtWmEtelxkXSskL2csYWw6L15bQS1aYS16XSskL2csY3Q6L15bXHUwMDAwLVx1MDAxRlx1MDA3Rl0rJC9nLGRnOi9eW1xkXSskL2csZ3I6L15bXHUwMDIxLVx1MDA3RV0rJC9nLGx3Oi9eW2Etel0rJC9nLHByOi9eW1x1MDAyMC1cdTAwN0VdKyQvZyxwdTovXltcdTAwMjEtXHUwMDJGXHUwMDNBLVx1MDA0MFx1MDA1Qi1cdTAwNjBcdTAwN0ItXHUwMDdFXSskL2csc3A6L15bXGZcblxyXHRcdiBdKyQvZyx1cDovXltBLVpdKyQvZyx4ZDovXltBLUZhLWZcZF0rJC9nLENPREVTRVQ6J1VURi04Jyxsb3dlcjonYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonLHVwcGVyOidBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWid9LCdMQ19USU1FJzp7YTpbJ1N1bicsJ01vbicsJ1R1ZScsJ1dlZCcsJ1RodScsJ0ZyaScsJ1NhdCddLEE6WydTdW5kYXknLCdNb25kYXknLCdUdWVzZGF5JywnV2VkbmVzZGF5JywnVGh1cnNkYXknLCdGcmlkYXknLCdTYXR1cmRheSddLGI6WydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYXknLCdKdW4nLCdKdWwnLCdBdWcnLCdTZXAnLCdPY3QnLCdOb3YnLCdEZWMnXSxCOlsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLCdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSxjOiclYSAlZCAlYiAlWSAlciAlWicscDpbJ0FNJywnUE0nXSxQOlsnYW0nLCdwbSddLHI6JyVJOiVNOiVTICVwJyx4OiclbS8lZC8lWScsWDonJXInLGFsdF9kaWdpdHM6JycsRVJBOicnLEVSQV9ZRUFSOicnLEVSQV9EX1RfRk1UOicnLEVSQV9EX0ZNVDonJyxFUkFfVF9GTVQ6Jyd9LCdMQ19NT05FVEFSWSc6e2ludF9jdXJyX3N5bWJvbDonVVNEJyxjdXJyZW5jeV9zeW1ib2w6JyQnLG1vbl9kZWNpbWFsX3BvaW50OicuJyxtb25fdGhvdXNhbmRzX3NlcDonLCcsbW9uX2dyb3VwaW5nOlszXSxwb3NpdGl2ZV9zaWduOicnLG5lZ2F0aXZlX3NpZ246Jy0nLGludF9mcmFjX2RpZ2l0czoyLGZyYWNfZGlnaXRzOjIscF9jc19wcmVjZWRlczoxLHBfc2VwX2J5X3NwYWNlOjAsbl9jc19wcmVjZWRlczoxLG5fc2VwX2J5X3NwYWNlOjAscF9zaWduX3Bvc246MyxuX3NpZ25fcG9zbjowfSwnTENfTlVNRVJJQyc6e2RlY2ltYWxfcG9pbnQ6Jy4nLHRob3VzYW5kc19zZXA6JywnLGdyb3VwaW5nOlszXX0sJ0xDX01FU1NBR0VTJzp7WUVTRVhQUjonXlt5WV0uKicsTk9FWFBSOideW25OXS4qJyxZRVNTVFI6JycsTk9TVFI6Jyd9fTtwaHBqcy5sb2NhbGVzLmVuX1VTPV9jb3B5KHBocGpzLmxvY2FsZXMuZW4pO3BocGpzLmxvY2FsZXMuZW5fVVMuTENfVElNRS5jPSclYSAlZCAlYiAlWSAlciAlWic7cGhwanMubG9jYWxlcy5lbl9VUy5MQ19USU1FLng9JyVEJztwaHBqcy5sb2NhbGVzLmVuX1VTLkxDX1RJTUUuWD0nJXInO3BocGpzLmxvY2FsZXMuZW5fR0I9X2NvcHkocGhwanMubG9jYWxlcy5lbik7cGhwanMubG9jYWxlcy5lbl9HQi5MQ19USU1FLnI9JyVsOiVNOiVTICVQICVaJztwaHBqcy5sb2NhbGVzLmVuX0FVPV9jb3B5KHBocGpzLmxvY2FsZXMuZW5fR0IpO3BocGpzLmxvY2FsZXMuQz1fY29weShwaHBqcy5sb2NhbGVzLmVuKTtwaHBqcy5sb2NhbGVzLkMuTENfQ1RZUEUuQ09ERVNFVD0nQU5TSV9YMy40LTE5NjgnO3BocGpzLmxvY2FsZXMuQy5MQ19NT05FVEFSWT17aW50X2N1cnJfc3ltYm9sOicnLGN1cnJlbmN5X3N5bWJvbDonJyxtb25fZGVjaW1hbF9wb2ludDonJyxtb25fdGhvdXNhbmRzX3NlcDonJyxtb25fZ3JvdXBpbmc6W10scF9jc19wcmVjZWRlczoxMjcscF9zZXBfYnlfc3BhY2U6MTI3LG5fY3NfcHJlY2VkZXM6MTI3LG5fc2VwX2J5X3NwYWNlOjEyNyxwX3NpZ25fcG9zbjoxMjcsbl9zaWduX3Bvc246MTI3LHBvc2l0aXZlX3NpZ246JycsbmVnYXRpdmVfc2lnbjonJyxpbnRfZnJhY19kaWdpdHM6MTI3LGZyYWNfZGlnaXRzOjEyN307cGhwanMubG9jYWxlcy5DLkxDX05VTUVSSUM9e2RlY2ltYWxfcG9pbnQ6Jy4nLHRob3VzYW5kc19zZXA6JycsZ3JvdXBpbmc6W119O3BocGpzLmxvY2FsZXMuQy5MQ19USU1FLmM9JyVhICViICVlICVIOiVNOiVTICVZJztwaHBqcy5sb2NhbGVzLkMuTENfVElNRS54PSclbS8lZC8leSc7cGhwanMubG9jYWxlcy5DLkxDX1RJTUUuWD0nJUg6JU06JVMnO3BocGpzLmxvY2FsZXMuQy5MQ19NRVNTQUdFUy5ZRVNFWFBSPSdeW3lZXSc7cGhwanMubG9jYWxlcy5DLkxDX01FU1NBR0VTLk5PRVhQUj0nXltuTl0nO3BocGpzLmxvY2FsZXMuZnI9X2NvcHkocGhwanMubG9jYWxlcy5lbik7cGhwanMubG9jYWxlcy5mci5MQ19USU1FLmE9WydkaW0nLCdsdW4nLCdtYXInLCdtZXInLCdqZXUnLCd2ZW4nLCdzYW0nXTtwaHBqcy5sb2NhbGVzLmZyLkxDX1RJTUUuQT1bJ2RpbWFuY2hlJywnbHVuZGknLCdtYXJkaScsJ21lcmNyZWRpJywnamV1ZGknLCd2ZW5kcmVkaScsJ3NhbWVkaSddO3BocGpzLmxvY2FsZXMuZnIuTENfVElNRS5iPVsnamFuJywnZsODwql2JywnbWFyJywnYXZyJywnbWFpJywnanVuJywnanVpJywnYW/Dg8K7Jywnc2VwJywnb2N0Jywnbm92JywnZMODwqljJ107cGhwanMubG9jYWxlcy5mci5MQ19USU1FLkI9WydqYW52aWVyJywnZsODwql2cmllcicsJ21hcnMnLCdhdnJpbCcsJ21haScsJ2p1aW4nLCdqdWlsbGV0JywnYW/Dg8K7dCcsJ3NlcHRlbWJyZScsJ29jdG9icmUnLCdub3ZlbWJyZScsJ2TDg8KpY2VtYnJlJ107cGhwanMubG9jYWxlcy5mci5MQ19USU1FLmM9JyVhICVkICViICVZICVUICVaJztwaHBqcy5sb2NhbGVzLmZyLkxDX1RJTUUucD1bJycsJyddO3BocGpzLmxvY2FsZXMuZnIuTENfVElNRS5QPVsnJywnJ107cGhwanMubG9jYWxlcy5mci5MQ19USU1FLng9JyVkLiVtLiVZJztwaHBqcy5sb2NhbGVzLmZyLkxDX1RJTUUuWD0nJVQnO3BocGpzLmxvY2FsZXMuZnJfQ0E9X2NvcHkocGhwanMubG9jYWxlcy5mcik7cGhwanMubG9jYWxlcy5mcl9DQS5MQ19USU1FLng9JyVZLSVtLSVkJzt9CmlmKCFwaHBqcy5sb2NhbGUpe3BocGpzLmxvY2FsZT0nZW5fVVMnO3ZhciBOU19YSFRNTD0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7dmFyIE5TX1hNTD0naHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlJztpZihkLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMmJmQuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhOU19YSFRNTCwnaHRtbCcpWzBdKXtpZihkLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoTlNfWEhUTUwsJ2h0bWwnKVswXS5nZXRBdHRyaWJ1dGVOUyYmZC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKE5TX1hIVE1MLCdodG1sJylbMF0uZ2V0QXR0cmlidXRlTlMoTlNfWE1MLCdsYW5nJykpe3BocGpzLmxvY2FsZT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKE5TX1hIVE1MLCdodG1sJylbMF0uZ2V0QXR0cmlidXRlTlMoTlNfWE1MLCdsYW5nJyk7fWVsc2UgaWYoZC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKE5TX1hIVE1MLCdodG1sJylbMF0ubGFuZyl7cGhwanMubG9jYWxlPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhOU19YSFRNTCwnaHRtbCcpWzBdLmxhbmc7fX1lbHNlIGlmKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXSYmZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmxhbmcpe3BocGpzLmxvY2FsZT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0ubGFuZzt9fQpwaHBqcy5sb2NhbGU9cGhwanMubG9jYWxlLnJlcGxhY2UoJy0nLCdfJyk7aWYoIShwaHBqcy5sb2NhbGUgaW4gcGhwanMubG9jYWxlcykpe2lmKHBocGpzLmxvY2FsZS5yZXBsYWNlKC9fW2EtekEtWl0rJC8sJycpaW4gcGhwanMubG9jYWxlcyl7cGhwanMubG9jYWxlPXBocGpzLmxvY2FsZS5yZXBsYWNlKC9fW2EtekEtWl0rJC8sJycpO319CmlmKCFwaHBqcy5sb2NhbGVDYXRlZ29yaWVzKXtwaHBqcy5sb2NhbGVDYXRlZ29yaWVzPXsnTENfQ09MTEFURSc6cGhwanMubG9jYWxlLCdMQ19DVFlQRSc6cGhwanMubG9jYWxlLCdMQ19NT05FVEFSWSc6cGhwanMubG9jYWxlLCdMQ19OVU1FUklDJzpwaHBqcy5sb2NhbGUsJ0xDX1RJTUUnOnBocGpzLmxvY2FsZSwnTENfTUVTU0FHRVMnOnBocGpzLmxvY2FsZX07fQppZihsb2NhbGU9PT1udWxsfHxsb2NhbGU9PT0nJyl7bG9jYWxlPXRoaXMuZ2V0ZW52KGNhdGVnb3J5KXx8dGhpcy5nZXRlbnYoJ0xBTkcnKTt9ZWxzZSBpZihsb2NhbGUgaW5zdGFuY2VvZiBBcnJheSl7Zm9yKGk9MDtpPGxvY2FsZS5sZW5ndGg7aSsrKXtpZighKGxvY2FsZVtpXWluIHRoaXMucGhwX2pzLmxvY2FsZXMpKXtpZihpPT09bG9jYWxlLmxlbmd0aC0xKXtyZXR1cm4gZmFsc2U7fQpjb250aW51ZTt9CmxvY2FsZT1sb2NhbGVbaV07YnJlYWs7fX0KaWYobG9jYWxlPT09JzAnfHxsb2NhbGU9PT0wKXtpZihjYXRlZ29yeT09PSdMQ19BTEwnKXtmb3IoY2F0ZWcgaW4gdGhpcy5waHBfanMubG9jYWxlQ2F0ZWdvcmllcyl7Y2F0cy5wdXNoKGNhdGVnKyc9Jyt0aGlzLnBocF9qcy5sb2NhbGVDYXRlZ29yaWVzW2NhdGVnXSk7fQpyZXR1cm4gY2F0cy5qb2luKCc7Jyk7fQpyZXR1cm4gdGhpcy5waHBfanMubG9jYWxlQ2F0ZWdvcmllc1tjYXRlZ29yeV07fQppZighKGxvY2FsZSBpbiB0aGlzLnBocF9qcy5sb2NhbGVzKSl7cmV0dXJuIGZhbHNlO30KaWYoY2F0ZWdvcnk9PT0nTENfQUxMJyl7Zm9yKGNhdGVnIGluIHRoaXMucGhwX2pzLmxvY2FsZUNhdGVnb3JpZXMpe3RoaXMucGhwX2pzLmxvY2FsZUNhdGVnb3JpZXNbY2F0ZWddPWxvY2FsZTt9fWVsc2V7dGhpcy5waHBfanMubG9jYWxlQ2F0ZWdvcmllc1tjYXRlZ29yeV09bG9jYWxlO30KcmV0dXJuIGxvY2FsZTt9CmZ1bmN0aW9uIHN0cmZ0aW1lKGZtdCx0aW1lc3RhbXApe3RoaXMucGhwX2pzPXRoaXMucGhwX2pzfHx7fTt2YXIgcGhwanM9dGhpcy5waHBfanM7dGhpcy5zZXRsb2NhbGUoJ0xDX0FMTCcsMCk7dmFyIF94UGFkPWZ1bmN0aW9uKHgscGFkLHIpe2lmKHR5cGVvZiByPT09J3VuZGVmaW5lZCcpe3I9MTA7fQpmb3IoO3BhcnNlSW50KHgsMTApPHImJnI+MTtyLz0xMCl7eD1wYWQudG9TdHJpbmcoKSt4O30KcmV0dXJuIHgudG9TdHJpbmcoKTt9O3ZhciBsb2NhbGU9cGhwanMubG9jYWxlQ2F0ZWdvcmllcy5MQ19USU1FO3ZhciBsb2NhbGVzPXBocGpzLmxvY2FsZXM7dmFyIF9mb3JtYXRzPXthOmZ1bmN0aW9uKGQpe3JldHVybiBsb2NhbGVzW2xvY2FsZV0uTENfVElNRS5hW2QuZ2V0RGF5KCldO30sQTpmdW5jdGlvbihkKXtyZXR1cm4gbG9jYWxlc1tsb2NhbGVdLkxDX1RJTUUuQVtkLmdldERheSgpXTt9LGI6ZnVuY3Rpb24oZCl7cmV0dXJuIGxvY2FsZXNbbG9jYWxlXS5MQ19USU1FLmJbZC5nZXRNb250aCgpXTt9LEI6ZnVuY3Rpb24oZCl7cmV0dXJuIGxvY2FsZXNbbG9jYWxlXS5MQ19USU1FLkJbZC5nZXRNb250aCgpXTt9LEM6ZnVuY3Rpb24oZCl7cmV0dXJuIF94UGFkKHBhcnNlSW50KGQuZ2V0RnVsbFllYXIoKS8xMDAsMTApLDApO30sZDpbJ2dldERhdGUnLCcwJ10sZTpbJ2dldERhdGUnLCcgJ10sZzpmdW5jdGlvbihkKXtyZXR1cm4gX3hQYWQocGFyc2VJbnQodGhpcy5HKGQpLzEwMCwxMCksMCk7fSxHOmZ1bmN0aW9uKGQpe3ZhciB5PWQuZ2V0RnVsbFllYXIoKTt2YXIgVj1wYXJzZUludChfZm9ybWF0cy5WKGQpLDEwKTt2YXIgVz1wYXJzZUludChfZm9ybWF0cy5XKGQpLDEwKTtpZihXPlYpe3krKzt9CmVsc2UgaWYoVz09PTAmJlY+PTUyKXt5LS07fQpyZXR1cm4geTt9LEg6WydnZXRIb3VycycsJzAnXSxJOmZ1bmN0aW9uKGQpe3ZhciBJPWQuZ2V0SG91cnMoKSUxMjtyZXR1cm4gX3hQYWQoST09PTA/MTI6SSwwKTt9LGo6ZnVuY3Rpb24oZCl7dmFyIG1zPWQtbmV3IERhdGUoJycrZC5nZXRGdWxsWWVhcigpKycvMS8xIEdNVCcpO21zKz1kLmdldFRpbWV6b25lT2Zmc2V0KCkqNjAwMDA7dmFyIGRveT1wYXJzZUludChtcy82MDAwMC82MC8yNCwxMCkrMTtyZXR1cm4gX3hQYWQoZG95LDAsMTAwKTt9LGw6ZnVuY3Rpb24oZCl7dmFyIGw9ZC5nZXRIb3VycygpJTEyO3JldHVybiBfeFBhZChsPT09MD8xMjpsLCcgJyk7fSxtOmZ1bmN0aW9uKGQpe3JldHVybiBfeFBhZChkLmdldE1vbnRoKCkrMSwwKTt9LE06WydnZXRNaW51dGVzJywnMCddLHA6ZnVuY3Rpb24oZCl7cmV0dXJuIGxvY2FsZXNbbG9jYWxlXS5MQ19USU1FLnBbZC5nZXRIb3VycygpPj0xMj8xOjBdO30sUDpmdW5jdGlvbihkKXtyZXR1cm4gbG9jYWxlc1tsb2NhbGVdLkxDX1RJTUUuUFtkLmdldEhvdXJzKCk+PTEyPzE6MF07fSxzOmZ1bmN0aW9uKGQpe3JldHVybiBEYXRlLnBhcnNlKGQpLzEwMDA7fSxTOlsnZ2V0U2Vjb25kcycsJzAnXSx1OmZ1bmN0aW9uKGQpe3ZhciBkb3c9ZC5nZXREYXkoKTtyZXR1cm4oKGRvdz09PTApPzc6ZG93KTt9LFU6ZnVuY3Rpb24oZCl7dmFyIGRveT1wYXJzZUludChfZm9ybWF0cy5qKGQpLDEwKTt2YXIgcmRvdz02LWQuZ2V0RGF5KCk7dmFyIHdveT1wYXJzZUludCgoZG95K3Jkb3cpLzcsMTApO3JldHVybiBfeFBhZCh3b3ksMCk7fSxWOmZ1bmN0aW9uKGQpe3ZhciB3b3k9cGFyc2VJbnQoX2Zvcm1hdHMuVyhkKSwxMCk7dmFyIGRvdzFfMT0obmV3IERhdGUoJycrZC5nZXRGdWxsWWVhcigpKycvMS8xJykpLmdldERheSgpO3ZhciBpZG93PXdveSsoZG93MV8xPjR8fGRvdzFfMTw9MT8wOjEpO2lmKGlkb3c9PT01MyYmKG5ldyBEYXRlKCcnK2QuZ2V0RnVsbFllYXIoKSsnLzEyLzMxJykpLmdldERheSgpPDQpe2lkb3c9MTt9CmVsc2UgaWYoaWRvdz09PTApe2lkb3c9X2Zvcm1hdHMuVihuZXcgRGF0ZSgnJysoZC5nZXRGdWxsWWVhcigpLTEpKycvMTIvMzEnKSk7fQpyZXR1cm4gX3hQYWQoaWRvdywwKTt9LHc6J2dldERheScsVzpmdW5jdGlvbihkKXt2YXIgZG95PXBhcnNlSW50KF9mb3JtYXRzLmooZCksMTApO3ZhciByZG93PTctX2Zvcm1hdHMudShkKTt2YXIgd295PXBhcnNlSW50KChkb3krcmRvdykvNywxMCk7cmV0dXJuIF94UGFkKHdveSwwLDEwKTt9LHk6ZnVuY3Rpb24oZCl7cmV0dXJuIF94UGFkKGQuZ2V0RnVsbFllYXIoKSUxMDAsMCk7fSxZOidnZXRGdWxsWWVhcicsejpmdW5jdGlvbihkKXt2YXIgbz1kLmdldFRpbWV6b25lT2Zmc2V0KCk7dmFyIEg9X3hQYWQocGFyc2VJbnQoTWF0aC5hYnMoby82MCksMTApLDApO3ZhciBNPV94UGFkKG8lNjAsMCk7cmV0dXJuKG8+MD8nLSc6JysnKStIK007fSxaOmZ1bmN0aW9uKGQpe3JldHVybiBkLnRvU3RyaW5nKCkucmVwbGFjZSgvXi4qXCgoW14pXSspXCkkLywnJDEnKTt9LCclJzpmdW5jdGlvbihkKXtyZXR1cm4nJSc7fX07dmFyIF9kYXRlPSgodHlwZW9mKHRpbWVzdGFtcCk9PSd1bmRlZmluZWQnKT9uZXcgRGF0ZSgpOih0eXBlb2YodGltZXN0YW1wKT09J251bWJlcicpP25ldyBEYXRlKHRpbWVzdGFtcCoxMDAwKTpuZXcgRGF0ZSh0aW1lc3RhbXApKTt2YXIgX2FnZ3JlZ2F0ZXM9e2M6J2xvY2FsZScsRDonJW0vJWQvJXknLEY6JyV5LSVtLSVkJyxoOiclYicsbjonXG4nLHI6J2xvY2FsZScsUjonJUg6JU0nLHQ6J1x0JyxUOiclSDolTTolUycseDonbG9jYWxlJyxYOidsb2NhbGUnLHo6X2Zvcm1hdHMueihfZGF0ZSksWjpfZm9ybWF0cy5aKF9kYXRlKX07d2hpbGUoZm10Lm1hdGNoKC8lW2NERmhuclJ0VHhYelpdLykpe2ZtdD1mbXQucmVwbGFjZSgvJShbY0RGaG5yUnRUeFh6Wl0pL2csZnVuY3Rpb24obTAsbTEpCnt2YXIgZj1fYWdncmVnYXRlc1ttMV07cmV0dXJuKGY9PT0nbG9jYWxlJz9sb2NhbGVzW2xvY2FsZV0uTENfVElNRVttMV06Zik7fSk7fQp2YXIgc3RyPWZtdC5yZXBsYWNlKC8lKFthQWJCQ2RlZ0dISWpsbU1wUHNTdVVWd1d5WSVdKS9nLGZ1bmN0aW9uKG0wLG0xKXt2YXIgZj1fZm9ybWF0c1ttMV07aWYodHlwZW9mIGY9PT0nc3RyaW5nJyl7cmV0dXJuIF9kYXRlW2ZdKCk7fWVsc2UgaWYodHlwZW9mIGY9PT0nZnVuY3Rpb24nKXtyZXR1cm4gZihfZGF0ZSk7fWVsc2UgaWYodHlwZW9mIGY9PT0nb2JqZWN0JyYmdHlwZW9mKGZbMF0pPT09J3N0cmluZycpe3JldHVybiBfeFBhZChfZGF0ZVtmWzBdXSgpLGZbMV0pO31lbHNle3JldHVybiBtMTt9fSk7cmV0dXJuIHN0cjt9CmZ1bmN0aW9uIHN0cnRvdGltZShzdHIsbm93KXt2YXIgaSxtYXRjaCxzLHN0clRtcD0nJyxwYXJzZT0nJztzdHJUbXA9c3RyO3N0clRtcD1zdHJUbXAucmVwbGFjZSgvXHN7Mix9fF5cc3xccyQvZywnICcpO3N0clRtcD1zdHJUbXAucmVwbGFjZSgvW1x0XHJcbl0vZywnJyk7aWYoc3RyVG1wPT0nbm93Jyl7cmV0dXJuKG5ldyBEYXRlKCkpLmdldFRpbWUoKS8xMDAwO31lbHNlIGlmKCFpc05hTihwYXJzZT1EYXRlLnBhcnNlKHN0clRtcCkpKXtyZXR1cm4ocGFyc2UvMTAwMCk7fWVsc2UgaWYobm93KXtub3c9bmV3IERhdGUobm93KjEwMDApO31lbHNle25vdz1uZXcgRGF0ZSgpO30Kc3RyVG1wPXN0clRtcC50b0xvd2VyQ2FzZSgpO3ZhciBfX2lzPXtkYXk6eydzdW4nOjAsJ21vbic6MSwndHVlJzoyLCd3ZWQnOjMsJ3RodSc6NCwnZnJpJzo1LCdzYXQnOjZ9LG1vbjp7J2phbic6MCwnZmViJzoxLCdtYXInOjIsJ2Fwcic6MywnbWF5Jzo0LCdqdW4nOjUsJ2p1bCc6NiwnYXVnJzo3LCdzZXAnOjgsJ29jdCc6OSwnbm92JzoxMCwnZGVjJzoxMX19O3ZhciBwcm9jZXNzPWZ1bmN0aW9uKG0pe3ZhciBhZ289KG1bMl0mJm1bMl09PSdhZ28nKTt2YXIgbnVtPShudW09bVswXT09J2xhc3QnPy0xOjEpKihhZ28/LTE6MSk7c3dpdGNoKG1bMF0pe2Nhc2UnbGFzdCc6Y2FzZSduZXh0Jzpzd2l0Y2gobVsxXS5zdWJzdHJpbmcoMCwzKSl7Y2FzZSd5ZWEnOm5vdy5zZXRGdWxsWWVhcihub3cuZ2V0RnVsbFllYXIoKStudW0pO2JyZWFrO2Nhc2UnbW9uJzpub3cuc2V0TW9udGgobm93LmdldE1vbnRoKCkrbnVtKTticmVhaztjYXNlJ3dlZSc6bm93LnNldERhdGUobm93LmdldERhdGUoKSsobnVtKjcpKTticmVhaztjYXNlJ2RheSc6bm93LnNldERhdGUobm93LmdldERhdGUoKStudW0pO2JyZWFrO2Nhc2UnaG91Jzpub3cuc2V0SG91cnMobm93LmdldEhvdXJzKCkrbnVtKTticmVhaztjYXNlJ21pbic6bm93LnNldE1pbnV0ZXMobm93LmdldE1pbnV0ZXMoKStudW0pO2JyZWFrO2Nhc2Unc2VjJzpub3cuc2V0U2Vjb25kcyhub3cuZ2V0U2Vjb25kcygpK251bSk7YnJlYWs7ZGVmYXVsdDp2YXIgZGF5O2lmKHR5cGVvZihkYXk9X19pcy5kYXlbbVsxXS5zdWJzdHJpbmcoMCwzKV0pIT0ndW5kZWZpbmVkJyl7dmFyIGRpZmY9ZGF5LW5vdy5nZXREYXkoKTtpZihkaWZmPT0wKXtkaWZmPTcqbnVtO31lbHNlIGlmKGRpZmY+MCl7aWYobVswXT09J2xhc3QnKXtkaWZmLT03O319ZWxzZXtpZihtWzBdPT0nbmV4dCcpe2RpZmYrPTc7fX0Kbm93LnNldERhdGUobm93LmdldERhdGUoKStkaWZmKTt9fQpicmVhaztkZWZhdWx0OmlmKC9cZCsvLnRlc3QobVswXSkpe251bSo9cGFyc2VJbnQobVswXSwxMCk7c3dpdGNoKG1bMV0uc3Vic3RyaW5nKDAsMykpe2Nhc2UneWVhJzpub3cuc2V0RnVsbFllYXIobm93LmdldEZ1bGxZZWFyKCkrbnVtKTticmVhaztjYXNlJ21vbic6bm93LnNldE1vbnRoKG5vdy5nZXRNb250aCgpK251bSk7YnJlYWs7Y2FzZSd3ZWUnOm5vdy5zZXREYXRlKG5vdy5nZXREYXRlKCkrKG51bSo3KSk7YnJlYWs7Y2FzZSdkYXknOm5vdy5zZXREYXRlKG5vdy5nZXREYXRlKCkrbnVtKTticmVhaztjYXNlJ2hvdSc6bm93LnNldEhvdXJzKG5vdy5nZXRIb3VycygpK251bSk7YnJlYWs7Y2FzZSdtaW4nOm5vdy5zZXRNaW51dGVzKG5vdy5nZXRNaW51dGVzKCkrbnVtKTticmVhaztjYXNlJ3NlYyc6bm93LnNldFNlY29uZHMobm93LmdldFNlY29uZHMoKStudW0pO2JyZWFrO319ZWxzZXtyZXR1cm4gZmFsc2U7fQpicmVhazt9CnJldHVybiB0cnVlO307bWF0Y2g9c3RyVG1wLm1hdGNoKC9eKFxkezIsNH0tXGR7Mn0tXGR7Mn0pKD86XHMoXGR7MSwyfTpcZHsyfSg6XGR7Mn0pPyk/KD86XC4oXGQrKSk/KT8kLyk7aWYobWF0Y2ghPW51bGwpe2lmKCFtYXRjaFsyXSl7bWF0Y2hbMl09JzAwOjAwOjAwJzt9ZWxzZSBpZighbWF0Y2hbM10pe21hdGNoWzJdKz0nOjAwJzt9CnM9bWF0Y2hbMV0uc3BsaXQoLy0vZyk7Zm9yKGkgaW4gX19pcy5tb24pe2lmKF9faXMubW9uW2ldPT1zWzFdLTEpe3NbMV09aTt9fQpzWzBdPXBhcnNlSW50KHNbMF0sMTApO3NbMF09KHNbMF0+PTAmJnNbMF08PTY5KT8nMjAnKyhzWzBdPDEwPycwJytzWzBdOnNbMF0rJycpOihzWzBdPj03MCYmc1swXTw9OTkpPycxOScrc1swXTpzWzBdKycnO3JldHVybiBwYXJzZUludCh0aGlzLnN0cnRvdGltZShzWzJdKycgJytzWzFdKycgJytzWzBdKycgJyttYXRjaFsyXSkrKG1hdGNoWzRdP21hdGNoWzRdLzEwMDA6JycpLDEwKTt9CnZhciByZWdleD0nKFsrLV0/XFxkK1xccycrJyh5ZWFycz98bW9udGhzP3x3ZWVrcz98ZGF5cz98aG91cnM/fG1pbnxtaW51dGVzP3xzZWN8c2Vjb25kcz8nKyd8c3VuXC4/fHN1bmRheXxtb25cLj98bW9uZGF5fHR1ZVwuP3x0dWVzZGF5fHdlZFwuP3x3ZWRuZXNkYXknKyd8dGh1XC4/fHRodXJzZGF5fGZyaVwuP3xmcmlkYXl8c2F0XC4/fHNhdHVyZGF5KScrJ3wobGFzdHxuZXh0KVxccycrJyh5ZWFycz98bW9udGhzP3x3ZWVrcz98ZGF5cz98aG91cnM/fG1pbnxtaW51dGVzP3xzZWN8c2Vjb25kcz8nKyd8c3VuXC4/fHN1bmRheXxtb25cLj98bW9uZGF5fHR1ZVwuP3x0dWVzZGF5fHdlZFwuP3x3ZWRuZXNkYXknKyd8dGh1XC4/fHRodXJzZGF5fGZyaVwuP3xmcmlkYXl8c2F0XC4/fHNhdHVyZGF5KSknKycoXFxzYWdvKT8nO21hdGNoPXN0clRtcC5tYXRjaChuZXcgUmVnRXhwKHJlZ2V4LCdnJykpO2lmKG1hdGNoPT1udWxsKXtyZXR1cm4gZmFsc2U7fQpmb3IoaSBpbiBtYXRjaCl7aWYoIXByb2Nlc3MobWF0Y2hbaV0uc3BsaXQoJyAnKSkpe3JldHVybiBmYWxzZTt9fQpyZXR1cm4obm93LmdldFRpbWUoKS8xMDAwKTt9]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJz0+J1RZUEU9TXlJU0FNJyk7CgovLyBFdmVudCB0eXBlcyB0YWJsZQokZmxkcyA9ICIKICAgICAgICAgaWQgICAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgICAgICAgIG5hbWUgICBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgIGNvbG9yICBDKDE1KSwKICAgICAgICAgYmFja2dyb3VuZCBDKDE1KSwKICAgICAgICAgaW9yZGVyIEkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojIEV2ZW50cyBUYWJsZQokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgICAgICBJIEtFWSBBVVRPIE5PVCBOVUxMLAogICAgICAgICBuYW1lICAgICAgICAgIEMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgZGVzY3JpcHRpb24gICBYLAogICAgICAgICBldmVudF90eXBlX2lkIEksCiAgICAgICAgIHN0YXJ0X2RhdGUgICAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICBlbmRfZGF0ZSAgICAgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgYm9va2FibGUgICAgICBJMSwKICAgICAgICAgcHJpY2VfYWRqdXN0ICBDKDE1KSwKICAgICAgICAgYWRtaW5fbm90ZXMgICBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgogICAgICAgICBpZCAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgICAgICAgIG5hbWUgQygyNTUpIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9DQVRTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgICAgSSBLRVkgQVVUTyBOT1QgTlVMTCwKICAgICAgICAgbmFtZSAgICAgICAgQygyNTUpLAogICAgICAgICBhY3RpdmUgICAgICBJMSwKICAgICAgICAgZGVzY3JpcHRpb24gWCwKICAgICAgICAgYmFzZV9wcmljZSAgRiwKICAgICAgICAgYWRtaW5fbm90ZXMgWCwKICAgICAgICAgY2FwYWNpdHkgICAgSSwKICAgICAgICAgcmVzX2ludGVydmFsICAgIEMoMjApLAogICAgICAgICBncmFudWxhcml0eSBDKDIwKSwKICAgICAgICAgc3RhcnR0aW1lMSAgQyg2KSwKICAgICAgICAgZW5kdGltZTEgICAgQyg2KSwKICAgICAgICAgc3RhcnR0aW1lMiAgQyg2KSwKICAgICAgICAgZW5kdGltZTIgICAgQyg2KSwKICAgICAgICAgY2hlY2tpbnRpbWUgQyg2KSwKICAgICAgICAgY2hlY2tvdXR0aW1lIEMoNiksCiAgICAgICAgIGFsbG93X292ZXJjYXBhY2l0eSBJMSwKICAgICAgICAgc29ydGluZyBJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiCiAgICAgICAgIHJzcmNfaWQgICAgIEkgS0VZIE5PVCBOVUxMLAogICAgICAgICBzdW5kYXkgICAgICBDKDIwKSwKICAgICAgICAgbW9uZGF5ICAgICAgQygyMCksCiAgICAgICAgIHR1ZXNkYXkgICAgIEMoMjApLAogICAgICAgICB3ZWRuZXNkYXkgICBDKDIwKSwKICAgICAgICAgdGh1cnNkYXkgICAgQygyMCksCiAgICAgICAgIGZyaWRheSAgICAgIEMoMjApLAogICAgICAgICBzYXR1cmRheSAgICBDKDIwKSwKICAgICAgICAgd2Vla2x5ICAgICAgQygyMCksCiAgICAgICAgIG92ZXJjYXAgICAgIEMoMjApLAogICAgICAgICBkaXNjb3VudF90eXBlIEksCiAgICAgICAgIGRpc2NvdW50X2RheXMgSSwKICAgICAgICAgZGlzY291bnRfYWRqdXN0IEMoMjApLgogICAgICAgICAiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgcnNyY19pZCAgICAgSSBLRVkgTk9UIE5VTEwsCiAgICAgICAgIGNhdGVnb3J5X2lkIEkgS0VZIE5PVCBOVUxMIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0NBVFMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgokZmxkcyA9ICIKICAgICAgICAgZXZlbnRfaWQgICAgSSBLRVkgTk9UIE5VTEwsCiAgICAgICAgIHJzcmNfaWQgICAgIEkgS0VZIE5PVCBOVUxMIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiCiAgICAgICAgIGlkICAgICAgICAgICAgSSBLRVkgQVVUTyBOT1QgTlVMTCwKICAgICAgICAgY3VzdG9tZXJfaWQgICBJLAogICAgICAgICBwcmljZSAgICAgICAgIEYsCiAgICAgICAgIHN0YXR1cyAgICAgICAgQygyMCksCiAgICAgICAgIGFkbWluX25vdGVzICAgWCwKICAgICAgICAgY3JlYXRlX2RhdGUgICAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICBtb2RpZmllZF9kYXRlICIuQ01TX0FET0RCX0RUOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiCiAgICAgICAgIGlkICAgICAgICAgICAgSSBLRVkgQVVUTyBOT1QgTlVMTCwKICAgICAgICAgcmVzdl9pZCAgICAgICBJIEtFWSBOT1QgTlVMTCwKICAgICAgICAgcnNyY19pZCAgICAgICBJIEtFWSBOT1QgTlVMTCwKICAgICAgICAgc3RhcnRfZGF0ZSAgICAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICBlbmRfZGF0ZSAgICAgICIuQ01TX0FET0RCX0RULiIsCiAgICAgICAgIG51bV9wZW9wbGUgICAgSSwKICAgICAgICAgcHJpY2UgICAgICAgICBGIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgICAgICAKJGZsZHMgPSAiCiAgICAgICAgIGlkICAgICAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgICAgICAgIHJlc3ZfaWQgIEkgTk9UIE5VTEwsCiAgICAgICAgIHN1YmplY3QgIEMoMjU1KSwKICAgICAgICAgdGV4dCAgICAgWCwKICAgICAgICAgYWRtaW5fbm90ZSAgIEkxLAogICAgICAgICBjcmVhdGVfZGF0ZSAgICIuQ01TX0FET0RCX0RUOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgSSBLRVkgQVVUTyBOT1QgTlVMTCwKICAgICAgICAgcmVzdl9pZCAgSSBOT1QgTlVMTCwKICAgICAgICAgbmFtZSAgICAgQygyNTUpLAogICAgICAgICB2YWx1ZSAgICBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9BVFRSSUJTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICBpZCAgICAgICAgICAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgbmFtZSAgICAgICAgICBDKDI1NSkgTk9UIE5VTEwsCiAgcHJvbXB0ICAgICAgICBDKDI1NSksCiAgdHlwZSAgICAgICAgICBDKDIwKSwKICBtYXhfbGVuZ3RoICAgIEksCiAgb3B0aW9ucyAgICAgICBYLAogIGl0ZW1fb3JkZXIgICAgSSwKICBwdWJsaWMgICAgICAgIEkxIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGZsZHMgPSAiCiAgcnNyY19pZCAgICAgICBJIE5PVCBOVUxMLAogIGZpZWxkZGVmX2lkICAgSSBOT1QgTlVMTCwKICB2YWx1ZSAgICAgICAgIFgiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEVkFMUywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIwojIEluZGV4ZXMgLSBUT0RPCiMKCiMKIyBUZW1wbGF0ZXMKIwoKIyBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZXMKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV0NVU1RFTUFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdjdXN0ZW1haWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVENVU1RFTUFJTF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBTdW1tYXJ5IFRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc3VtbWFyeV9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBEZXRhaWwgVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19kZXRhaWxfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGV0YWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRERVRBSUxfVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCiMgQ2FsZW5kYXIgVGVtcGxhdGUocykKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19jYWxlbmRhcl90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV0NBTEVOREFSX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhbGVuZGFyX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRDQUxFTkRBUl9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2NhbGVuZGFyX2RhdGVzX2Fjcm9zcy50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnY2FsZW5kYXJfRGF0ZXNfQWNyb3NzJywkdGVtcGxhdGUpOwogIH0KCiMgRGF5IFZpZXcgVGVtcGxhdGUocykKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19kYXlfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdEQVlfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGF5X1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFREQVlfVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCiMgUmVzdmVydmF0aW9uIEZvcm0gVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19yZXN2bl90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3Jlc3ZuX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTl9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBSZXN2ZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTkNPTkZJUk1fVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgncmVzdm5jZm1fU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOQ09ORklSTV9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBSZXN2ZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdyZXN2bmNmbWVtYWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfTkVXQURWU0VBUkNIRk9STV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdhZHZzZWFyY2hmb3JtX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRBRFZTRUFSQ0hGT1JNX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIE15IFJlc2VydmF0aW9ucyB2aWV3cwokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfTkVXTVlSRVNWX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ215cmVzdl9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUTVlSRVNWX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFNlbmQgRW1haWwgRm9ybXMKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zZW5kZW1haWxfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VuZGVtYWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTRU5ERU1BSUxfVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCgojIEV2ZW50cwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDR0Vjb21tZXJjZUJhc2UnLCdDYXJ0QWRqdXN0ZWQnLGZhbHNlKTsKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ0dFY29tbWVyY2VCYXNlJywnT3JkZXJDcmVhdGVkJyxmYWxzZSk7CiR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NHRWNvbW1lcmNlQmFzZScsJ09yZGVyVXBkYXRlZCcsZmFsc2UpOwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDR0Vjb21tZXJjZUJhc2UnLCdPcmRlckRlbGV0ZWQnLGZhbHNlKTsKCiMgUGVybWlzc2lvbnMKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fQ09OVEFDVENVU1RPTUVSLCdFbWFpbCBSZXNlcnZhdGlvbiBDb250YWN0cycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMsJ01hbmFnZSBFdmVudHMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TLCdNYW5hZ2UgUmVzZXJ2YXRpb25zJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWLCdWaWV3IFJlc2VydmF0aW9ucycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMsJ01hbmFnZSBSZXNvdXJjZXMnKTsKCiMgUHJlZmVyZW5jZQokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzb3VyY2VfdHlwZScsJ3Jvb20nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX3R5cGVzJywncG5nLGpwZyxqcGVnLGdpZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmlsZV90eXBlcycsJ3BkZix0eHQnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9fdGh1bWJuYWlsJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnLCd7JHVzZXJuYW1lfScpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2tpbl90aW1lJywnMTQ6MDAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NoZWNrb3V0X3RpbWUnLCcxMTowMCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzdm5fZm9yZWdyb3VuZCcsJyNmZmZmZmYnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnLCcjMDBmZjAwJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjb25mbGljdF9mb3JlZ3JvdW5kJywnI2ZmZmZmZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfYmFja2dyb3VuZCcsJyMwMGZmZmYnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BlbmRpbmdfZm9yZWdyb3VuZCcsJyNmZmZmZmYnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BlbmRpbmdfYmFja2dyb3VuZCcsJyMwMDAwZmYnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXJ0dGltZV8xJywnMDg6MDAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VuZHRpbWVfMScsJzEyOjAwJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMicsJzEzOjAwJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzInLCcxNzowMCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9pbnRlcnZhbCcsJ2RhaWx5Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2dyYW51bGFyaXR5JywnaGFsZl9ob3VyJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2NhcGFjaXR5JywnNTAnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKLy8gVGFibGVzCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gRXZlbnRzCiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NHRWNvbW1lcmNlQmFzZScsJ0NhcnRBZGp1c3RlZCcpOwokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDR0Vjb21tZXJjZUJhc2UnLCdPcmRlckNyZWF0ZWQnLGZhbHNlKTsKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ0dFY29tbWVyY2VCYXNlJywnT3JkZXJVcGRhdGVkJyxmYWxzZSk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NHRWNvbW1lcmNlQmFzZScsJ09yZGVyRGVsZXRlZCcsZmFsc2UpOwoKLy8gUHJlZmVyZW5jZXMKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCi8vIFRlbXBsYXRlcwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vIFBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0NPTlRBQ1RDVVNUT01FUik7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fRVZFTlRTKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTT1VSQ0VTKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCiAgewogIGNhc2UgIjEuMCI6CiAgY2FzZSAiMS4xIjoKICAgIHsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMsCgkJCQkgICAgICAiYWRtaW5fbm90ZSBJMSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CiAgY2FzZSAnMS4yJzoKICAgIHsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScsJzE0OjAwJyk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjaGVja291dF90aW1lJywnMTE6MDAnKTsKCiAgICAgIC8vIHVwZGF0ZSBhbGwgZW5kX2RhdGVzIHRvIGhhdmUgYSB0aW1lIGF0IHRoZSBjaGVja291dCB0aW1lCiAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIKICAgICAgICAgICAgICAgICAgIFNFVCBlbmRfZGF0ZSA9IERBVEVfRk9STUFUKGVuZF9kYXRlLCclWS0lbS0lZCAxMTowMDowMCcpIAogICAgICAgICAgICAgICAgIFdIRVJFIFRJTUVfRk9STUFUKGVuZF9kYXRlLCclSDolaScpID0gJzIzOjU5JyI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4iCiAgICAgICAgICAgICAgICAgICBTRVQgZW5kX2RhdGUgPSBEQVRFX0ZPUk1BVChlbmRfZGF0ZSwnJVktJW0tJWQgMTE6MDA6MDAnKSAKICAgICAgICAgICAgICAgICBXSEVSRSBUSU1FX0ZPUk1BVChlbmRfZGF0ZSwnJUg6JWknKSA9ICcwMDowMCciOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiAgICAgIC8vIHVwZGF0ZSBhbGwgc3RhcnQgZGF0ZXMgdG8gaGF2ZSBhIHRpbWUgYXQgdGhlIGNoZWNraW4gdGltZQogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4iIFNFVCBzdGFydF9kYXRlID0gREFURV9GT1JNQVQoc3RhcnRfZGF0ZSwnJVktJW0tJWQgMTQ6MDA6MDAnKSI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIgU0VUIGRhdGUgPSBEQVRFX0ZPUk1BVChkYXRlLCclWS0lbS0lZCAxNDowMDowMCcpIjsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICB9CgogIGNhc2UgJzEuMyc6CiAgICB7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLAoJCQkJICAgICAgImNhcGFjaXR5IEkiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMsCgkJCQkgICAgICAid2Vla2x5IEMoMjApLG92ZXJjYXAgQygyMCkiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgfQoKICBjYXNlICcxLjQnOgogICAgewogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUywKCQkJCSAgICAgICJkaXNjb3VudF9kYXlzIEksZGlzY291bnRfYWRqdXN0IEMoMjApIik7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgIH0KCiAgY2FzZSAnMS41JzoKICBjYXNlICcxLjUuMSc6CiAgICB7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUywKCQkJCSAgICAgICJzdGF0dXMgQygyMCkiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgfQoKICBjYXNlICcxLjUuMic6CiAgICB7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLAoJCQkJICAgICAgImRpc2NvdW50X3R5cGUgSSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CgogIGNhc2UgJzEuNS4zJzoKICAgIHsKICAgICAgIyBEYXkgVmlldyBUZW1wbGF0ZShzKQogICAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2RheV90ZW1wbGF0ZS50cGwnOwogICAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApCgl7CgkgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV0RBWV9URU1QTEFURSwkdGVtcGxhdGUpOwoJICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RheV9TYW1wbGUnLCR0ZW1wbGF0ZSk7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFREQVlfVEVNUExBVEUsJ1NhbXBsZScpOwoJfQoKICAgICAgIyBGaXggYWxsIGV2ZW50IGVuZCB0aW1lcwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4iIFNFVCBzdGFydF9kYXRlID0gREFURV9GT1JNQVQoc3RhcnRfZGF0ZSwnJVktJW0tJWQgMDowOjAnKSI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4iIFNFVCBlbmRfZGF0ZSA9IERBVEVfRk9STUFUKGVuZF9kYXRlLCclWS0lbS0lZCAyMzo1OTo1OScpIjsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICB9CgogIGNhc2UgJzEuNic6CiAgICB7CiAgICAgICMgTmV3IHByZWZlcmVuY2VzCiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMScsJzA4OjAwJyk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMicsJzEyOjAwJyk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzEnLCcxMzowMCcpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW5kdGltZV8yJywnMTc6MDAnKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfaW50ZXJ2YWwnLCdkYWlseScpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncmFudWxhcml0eScsJ2hhbGZfaG91cicpOwogICAgICAKICAgICAgIyBOZXcgREIgRmllbGRzCiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLAoJCQkJICAgICAgInJlc19pbnRlcnZhbCBDKDIwKSwgZ3JhbnVsYXJpdHkgQygyMCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTEgQyg2KSwgZW5kdGltZTEgQyg2KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTIgQyg2KSwgZW5kdGltZTIgQyg2KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tpbnRpbWUgQyg2KSwgY2hlY2tvdXR0aW1lIEMoNikiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMsCgkJCQkgICAgICAibnVtX3Blb3BsZSBJLCBzdGFydF9kYXRlICIuQ01TX0FET0RCX0RULiIsIGVuZF9kYXRlICIuQ01TX0FET0RCX0RUKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiAgICAgICMgUG9wdWxhdGUgTmV3IERCIEZpZWxkcwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgCiAgICAgICAgICAgICAgICAgICBTRVQgcmVzX2ludGVydmFsID0gPywgZ3JhbnVsYXJpdHkgPSA/LAogICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTEgPSA/LCBlbmR0aW1lMSA9ID8sCiAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR0aW1lMiA9ID8sIGVuZHRpbWUyID0gPywKICAgICAgICAgICAgICAgICAgICAgICBjaGVja2ludGltZSA9ID8sIGNoZWNrb3V0dGltZSA9ID8nOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCdkYWlseScsJ2hhbGZfaG91cicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzA4OjAwJywnMTI6MDAnLCcxMzowMCcsJzE3OjAwJywKCQkJCScxNDowMCcsJzExOjAwJykpOwoKICAgICAgLy8gZ3JhYiB0aGUgcmVzZXJ2YXRpb24gc3RhcnQgZGF0ZSwgYW5kIGVuZCBkYXRlCiAgICAgIC8vIGFuZCB1cGRhdGUgdGhlIHJlc2VydmF0aW9uIHBhcnRzLgogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlM7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgJHEyID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgICAgICBTRVQgc3RhcnRfZGF0ZSA9ID8sIGVuZF9kYXRlID0gPywgbnVtX3Blb3BsZSA9ID8KICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAgIHdoaWxlKCAkZGJyICYmICRyb3cgPSAkZGJyLT5GZXRjaFJvdygpICkKCXsKCSAgJGRiLT5FeGVjdXRlKCRxMiwgYXJyYXkoJHJvd1snc3RhcnRfZGF0ZSddLCRyb3dbJ2VuZF9kYXRlJ10sJHJvd1snbnVtX3Blb3BsZSddLCRyb3dbJ2lkJ10pKTsKCX0KCiAgICAgIC8vIG5vdyBkcm9wIHRoZSBzdGFydCBhbmQgZW5kIGRhdGUgZmllbGRzIGZyb20gdGhlIHJlc2VydmF0aW9uIHRhYmxlLgogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLAoJCQkJICAgICAgICdzdGFydF9kYXRlLGVuZF9kYXRlLG51bV9wZW9wbGUnKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgfQoKICBjYXNlICcxLjcnOgogIGNhc2UgJzEuNy4xJzoKICBjYXNlICcxLjcuMic6CiAgY2FzZSAnMS43LjMnOgogIGNhc2UgJzEuNy40JzoKICBjYXNlICcxLjcuNSc6CiAgY2FzZSAnMS43LjYnOgogIGNhc2UgJzEuNy43JzoKICAgIHsKICAgICAgLy8gbm93IGRyb3AgdGhlIHN0YXJ0IGFuZCBlbmQgZGF0ZSBmaWVsZHMgZnJvbSB0aGUgcmVzZXJ2YXRpb24gdGFibGUuCiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLCdhbGxvd19vdmVyY2FwYWNpdHkgSTEsc29ydGluZyBJJyk7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgICAgICRzcWwgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgU0VUIGFsbG93X292ZXJjYXBhY2l0eSA9IDEnOwogICAgICAkZGItPkV4ZWN1dGUoJHNxbCk7CgogICAgICAkcXVlcnkxID0gJ1NFTEVDVCBpZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTOwogICAgICAkcnNyY19pZHMgPSAkZGItPkdldENvbCgkcXVlcnkxKTsKICAgICAgJG51bSA9IDE7CiAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBTRVQgc29ydGluZyA9ID8gV0hFUkUgaWQgPSA/JzsKICAgICAgZm9yZWFjaCggJHJzcmNfaWRzIGFzICRvbmVfcnNyYyApCgl7CgkgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG51bSsrLCRvbmVfcnNyYykpOwoJfQogICAgfQoKICBjYXNlICcxLjcuOCc6CiAgICB7CiAgICAgICR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NHRWNvbW1lcmNlQmFzZScsJ0NhcnRBZGp1c3RlZCcsZmFsc2UpOwogICAgICAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDR0Vjb21tZXJjZUJhc2UnLCdPcmRlckNyZWF0ZWQnLGZhbHNlKTsKICAgICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ0dFY29tbWVyY2VCYXNlJywnT3JkZXJVcGRhdGVkJyxmYWxzZSk7CiAgICAgICR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NHRWNvbW1lcmNlQmFzZScsJ09yZGVyRGVsZXRlZCcsZmFsc2UpOwogICAgfQogIH0KIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_calendar_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FsZW5kYXIgdGFiIHRlbXBsYXRlICp9Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBjbGVhckNhdGVnb3JpZXMoKQp7CiAgdmFyIGN0bCA9ICJmaWx0ZXJfY2F0cyI7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3RsKTsKICBlbC5zZWxlY3RlZEluZGV4PS0xOwp9CgpmdW5jdGlvbiBjbGVhclJlc291cmNlcygpCnsKICB2YXIgY3RsID0gImZpbHRlcl9yc3JjcyI7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3RsKTsKICBlbC5zZWxlY3RlZEluZGV4PS0xOwp9CgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogIGpRdWVyeSgnYS5hdmFpbF90aXAnKS5jbHVldGlwKHtzcGxpdFRpdGxlOiAnfCd9KTsKfSk7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgp7JGZvcm1zdGFydH0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogIDx0ciB2YWxpZ249InRvcCI+CiAgICA8dGQ+CiAgICAgIDxmaWVsZHNldD4KICAgICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVyJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NhdGVnb3JpZXMnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX2NhdGVnb3JpZXN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUodHJ1ZSl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9yZXNvdXJjZXN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb250aCcpfTo8L3A+CiAgICAgICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9Y2FsZW5kYXJfZGF0ZXsvY2FwdHVyZX0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPS0yMCBlbmRfeWVhcj0rMSBkaXNwbGF5X2RheXM9ZmFsc2UgdGltZT0kZGlzcGRhdGV9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9zdWJtaXR9eyRmaWx0ZXJfcmVzZXR9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPC9maWVsZHNldD4KICAgIDwvdGQ+CgogICAgPHRkPgogICAgICA8ZmllbGRzZXQ+CiAgICAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2Rpc3BsYXknKX06Jm5ic3A7PC9sZWdlbmQ+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZXZlbnRfdHlwZXMnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX2V0eXBlc308L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3N1Ym1pdH17JGZpbHRlcl9yZXNldH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8L2ZpZWxkc2V0PgogICAgPC90ZD4KCiAgICB7aWYgaXNzZXQoJHN0YXRpc3RpY3MpfQogICAgPHRkPgogICAgICA8ZmllbGRzZXQ+CiAgICAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3N0YXRpc3RpY3MnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgICAgICAgPHRhYmxlPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+eyRtb2QtPkxhbmcoJ3RvdGFsX2Jsb2NrcycpfTo8L3RkPgogICAgICAgICAgICA8dGQ+eyRzdGF0aXN0aWNzLnRvdGFsfTwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+eyRtb2QtPkxhbmcoJ25vbmJvb2thYmxlX2Jsb2NrcycpfTo8L3RkPgogICAgICAgICAgICA8dGQ+eyRzdGF0aXN0aWNzLmNsb3NlZH08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdib29rYWJsZV9ldmVudF9ibG9ja3MnKX06PC90ZD4KICAgICAgICAgICAgPHRkPnskc3RhdGlzdGljcy5ldmVudH08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdib29rZWRfYmxvY2tzJyl9OjwvdGQ+CiAgICAgICAgICAgIDx0ZD57JHN0YXRpc3RpY3MucmVzZXJ2ZWR9PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZD57JG1vZC0+TGFuZygncGVyY2VudF9ib29rZWQnKX06PC90ZD4KICAgICAgICAgICAgPHRkPntpZiAkc3RhdGlzdGljcy50b3RhbCA+IDB9e21hdGggZXF1YXRpb249JyhhK2IpIC8gKGMtZCkgKiAxMDAnIGE9JHN0YXRpc3RpY3MucmVzZXJ2ZWQgYj0kc3RhdGlzdGljcy5udW1wYXJ0cyBjPSRzdGF0aXN0aWNzLnRvdGFsIGQ9JHN0YXRpc3RpY3MuY2xvc2VkIGFzc2lnbj0nbnVtJ317JG51bXxudW1iZXJfZm9ybWF0OjJ9JXsvaWZ9PC90ZD4KICAgICAgICAgIDwvdHI+CgkgIHtpZiBpc3NldCgkZ3JhcGhpbmdfdXJsKX0KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48YSBocmVmPSJ7JGdyYXBoaW5nX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfZ3JhcGhpbmcnKX0iPjxpbWcgc3JjPSJ7JGdyYXBoX2ljb25fdXJsfSIvPiZuYnNwO3skbW9kLT5MYW5nKCdoaXN0b3JpY2FsX2NvbXBhcmlzb24nKX08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9maWVsZHNldD4KICAgIDwvdGQ+CiAgIHsvaWZ9CgogICB7aWYgaXNzZXQoJGxlZ2VuZCl9CiAgICA8dGQ+CiAgICAgIDxmaWVsZHNldD4KICAgICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgICAgIDx0YWJsZT4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRsZWdlbmQga2V5PSduYW1lJyBpdGVtPSdpdGVtJ30KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPnskbmFtZX06PC90ZD4KICAgICAgICAgICAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB7JGl0ZW0tPmJnfTsgY29sb3I6IHskaXRlbS0+Zmd9OyI+CiAgICAgICAgICAgICAgeyRpdGVtLT5sYWJlbH0KICAgICAgICAgICAgPC90ZD4gICAKICAgICAgICAgIDwvdHI+CiAgICAgICAgey9mb3JlYWNofQogICAgICAgIDwvdGFibGU+CiAgICAgIDwvZmllbGRzZXQ+CiAgICA8L3RkPgogICB7L2lmfQogIDwvdHI+CiAgCjwvdGFibGU+CnskZm9ybWVuZH0KPC9kaXY+Cjxici8+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDI0JTsiPnskcHJldm1vbnRoX2xpbmt9PC9wPgogIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogNTAlOyI+PHN0cm9uZz57JGRpc3BkYXRlfGNtc19kYXRlX2Zvcm1hdDoiJUIgJVkifTwvc3Ryb25nPjwvcD4KICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDI0JTsiPnskbmV4dG1vbnRoX2xpbmt9PC9wPgo8L2Rpdj4KCjxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBvdmVyZmxvdzogYXV0bzsiPgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgo8dGhlYWQ+CntzZWN0aW9uIG5hbWU9J2RheScgbG9vcD0kZ3JpZCBtYXg9MX0KICA8dHI+CiAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFtkYXldfQogICAge2lmICRzbWFydHkuc2VjdGlvbi5yc3JjLmluZGV4ID09IDB9CiAgICA8dGggc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiIHdpZHRoPSIyJSI+eyRncmlkW2RheV1bcnNyY118Y21zX2RhdGVfZm9ybWF0OiIlbS8leSJ9PC90aD4KICAgIHtlbHNlfQogICAgPHRoIHN0eWxlPSJ3aWR0aDogMjAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPnskZ3JpZFtkYXldW3JzcmNdfTwvdGg+CiAgICB7L2lmfQogIHsvc2VjdGlvbn0KICA8L3RyPgp7L3NlY3Rpb259CjwvdGhlYWQ+Cgo8dGJvZHk+CntzZWN0aW9uIG5hbWU9J2RheScgbG9vcD0kZ3JpZCBzdGFydD0xfQogIDx0cj4KICAgIHtzZWN0aW9uIG5hbWU9J3JzcmMnIGxvb3A9JGdyaWRbZGF5XX0KICAgICAge2lmICRzbWFydHkuc2VjdGlvbi5yc3JjLmluZGV4ID09IDAgfQogICAgICAgIDx0ZCBjbGFzcz0iYXZhaWxfY2VsbCIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyI+eyRncmlkW2RheV1bcnNyY119PC90ZD4KICAgICAge2Vsc2V9IAogICAgICAgIDx0ZCBjbGFzcz0iYXZhaWxfY2VsbCIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmJnfTsgY29sb3I6IHskZ3JpZFtkYXldW3JzcmNdLT5mZ307Ij4KICAgICAgICB7aWYgaXNzZXQoJGdyaWRbZGF5XVtyc3JjXS0+dXJsKX0KICAgICAgICA8YSBjbGFzcz0iYXZhaWxfbGlua3tpZiBpc3NldCgkZ3JpZFtkYXldW3JzcmNdLT50aXRsZSl9IGF2YWlsX3RpcHsvaWZ9IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmJnfTsgY29sb3I6IHskZ3JpZFtkYXldW3JzcmNdLT5mZ307IiBocmVmPSJ7JGdyaWRbZGF5XVtyc3JjXS0+dXJsfSIge2lmIGlzc2V0KCRncmlkW2RheV1bcnNyY10tPnRpdGxlKX10aXRsZT0ieyRncmlkW2RheV1bcnNyY10tPnRpdGxlfSJ7L2lmfT57JGdyaWRbZGF5XVtyc3JjXS0+bGFiZWx9PC9hPgogICAgICAgIHtlbHNlfQogICAgICAgIHskZ3JpZFtkYXldW3JzcmNdLT5sYWJlbH0KICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgIHsvaWZ9CiAgICB7L3NlY3Rpb259CiAgPC90cj4Key9zZWN0aW9ufQo8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_categories_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRjYXRlZ29yaWVzKX0KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgogICAge2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcyBpdGVtPSdvbmVjYXQnfQogICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogICAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgogICAgICAgIDx0ZD57JG9uZWNhdC5pZH08L3RkPgogICAgICAgIDx0ZD57JG9uZWNhdC5uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9jYXRlZ29yeScgaW1hZ2U9J2ljb25zL3N5c3RlbS9lZGl0LmdpZicgaW1hZ2Vvbmx5PTEgY2F0aWQ9JG9uZWNhdC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX08L3RkPgogICAgICAgIDx0ZD57KiBUT0RPOiBzaG91bGQgbm90IGFsbG93IGRlbGV0aW5nIGEgY2F0ZWdvcnkgdGhhdCBpcyBpbiB1c2UgKn17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2RlbGV0ZV9jYXRlZ29yeScgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSBjYXRpZD0kb25lY2F0LmlkIHRleHQ9JG1vZC0+TGFuZygnZGVsZXRlX2NhdGVnb3J5Jyl9PC90ZD4KICAgICAgPC90cj4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4Key9pZn0KCjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X2NhdGVnb3J5JyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9jYXRlZ29yeScpIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZid9CjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_custom_fields_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRjdXN0b21fZmllbGRzKX0KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3R5cGUnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHVibGljJyl9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDt7KiBtb3ZlIHVwICp9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDt7KiBtb3ZlIGRvd24gKn08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwO3sqIGVkaXQgKn08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwO3sqIGRlbGV0ZSAqfTwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgogICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkcyBpdGVtPSdvbmVmaWVsZCd9CiAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgIDx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CiAgICAgICAgPHRkPnskb25lZmllbGQuaWR9PC90ZD4KICAgICAgICA8dGQ+eyRvbmVmaWVsZC5uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnskbW9kLT5MYW5nKCRvbmVmaWVsZC50eXBlKX08L3RkPgogICAgICAgIDx0ZD57aWYgJG9uZWZpZWxkLnB1YmxpY317JG1vZC0+TGFuZygneWVzJyl9e2Vsc2V9Jm5ic3A7ey9pZn17KiBUT0RPOiBzaG91bGQgYmUgYW4gaW1hZ2UgKn08L3RkPgoJPHRkPiZuYnNwO3sqIG1vdmUgdXAgKn08L3RkPgoJPHRkPiZuYnNwO3sqIG1vdmUgZG93biAqfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9jdXN0b21fZmllbGQnIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGltYWdlb25seT0xIGZsZGlkPSRvbmVmaWVsZC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfY3VzdG9tX2ZpZWxkJyl9PC90ZD4KICAgICAgICA8dGQ+eyogVE9ETzogc2hvdWxkIG5vdCBhbGxvdyBkZWxldGluZyBhIGN1c3RvbV9maWVsZCB0aGF0IGlzIGluIHVzZSAqfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZGVsZXRlX2N1c3RvbV9maWVsZCcgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSBmbGRpZD0kb25lZmllbGQuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGVfY3VzdG9tX2ZpZWxkJyl9PC90ZD4KICAgICAgPC90cj4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4Key9pZn0KCjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X2N1c3RvbV9maWVsZCcgdGV4dD0kbW9kLT5MYW5nKCdhZGRfY3VzdG9tX2ZpZWxkJykgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJ30KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_category.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMuY2F0aWQpfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRfY2F0ZWdvcnknKX08L2gzPgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9uYW1lfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_custom_field.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMudHlwZWlkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0X2N1c3RvbV9maWVsZCcpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9jdXN0b21fZmllbGQnKX08L2gzPgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndHlwZScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3R5cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbmFtZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb21wdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3B1YmxpYycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3B1YmxpY308L3A+CjwvZGl2Pgp7aWYgaXNzZXQoJGlucHV0X21heGxlbmd0aCl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbWF4X2xlbmd0aCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21heGxlbmd0aH08L3A+CjwvZGl2Pgp7L2lmfQp7aWYgaXNzZXQoJGlucHV0X29wdGlvbnMpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ29wdGlvbnMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9vcHRpb25zfTwvcD4KPC9kaXY+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_event.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMuZXZlbnRpZCl9CjxoMz57JG1vZC0+TGFuZygnZWRpdF9ldmVudCcpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9ldmVudCcpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdldmVudF90eXBlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2V2ZW50X3R5cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXNjcmlwdGlvbn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkdldFJlc291cmNlVHlwZSgxKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzb3VyY2VzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9aW5wdXRfc3RhcnRkYXRlX3svY2FwdHVyZX0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPS0yMCBlbmRfeWVhcj0rMjAgdGltZT0kaW5wdXRfc3RhcnRkYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9aW5wdXRfZW5kZGF0ZV97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wIHN0YXJ0X3llYXI9LTIwIGVuZF95ZWFyPSsyMCB0aW1lPSRpbnB1dF9lbmRkYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYm9va2FibGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYm9va2FibGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmljZV9hZGp1c3QnLCRtb2QtPkdldFJlc291cmNlVHlwZSgxKSl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3ByaWNlX2FkanVzdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2FkbWluX25vdGVzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluX25vdGVzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_event_type.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMudHlwZWlkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0X2V2ZW50X3R5cGUnKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRfZXZlbnRfdHlwZScpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdmb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NvbG9yfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYmFja2dyb3VuZF9jb2xvcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9iYWNrZ3JvdW5kfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb3JkZXInKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfb3JkZXJ9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_resvn.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gdmlld191c2VyKCkKewogIHZhciBiYXJlX3VybCA9ICJ7L2xpdGVyYWx9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9RnJvbnRFbmRVc2VycyBhY3Rpb249dmlld3VzZXIgdWlkPWNoYW5nZW1lIHBhZ2U9JGRlZmF1bHRfY29udGVudF9pZCB1cmxvbmx5PTF9e2xpdGVyYWx9IjsKICB2YXIgZWwgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dF9jdXN0b21lcl9pZCcpOwogIHZhciBpZHggID0gZWwuc2VsZWN0ZWRJbmRleDsKICB2YXIgdmFsICA9IGVsW2lkeF0udmFsdWU7CiAgdmFyIHRtcCAgPSBiYXJlX3VybC5yZXBsYWNlKCdjaGFuZ2VtZScsdmFsKSArICcmc2hvd3RlbXBsYXRlPWZhbHNlJzsKICB2YXIgdXJsICA9IHRtcC5yZXBsYWNlKC9hbXA7L2csJycpOwoKICBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VyaW5mbycpOwogIC8vIGRvIGpxdWVyeSBhamF4IHN0dWZmCiAgalF1ZXJ5KCcjdXNlcmluZm8nKS5sb2FkKHVybCk7CiAgLy8gYW5kIGRpc3BsYXkgdGhlIGVsZW1lbnQgKGJlIG5pY2UgaWYgd2UgY291bGQgYW5pbWF0ZSB0aGlzKQogIGVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwp9Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIHZhciBjaGVja191cmwgPSAiey9saXRlcmFsfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUF2YWlsYWJpbGl0eSBhY3Rpb249anNvbl9jaGVja19hdmFpbCB1cmxvbmx5PTF9e2xpdGVyYWx9IjsKICBjaGVja191cmwgPSBjaGVja191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIHJzcmNfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fcnNyY19pbmZvIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIHJzcmNfdXJsID0gcnNyY191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIGFjdGlvbmlkID0gJ3svbGl0ZXJhbH17JGFjdGlvbmlkfXtsaXRlcmFsfSc7CiAgdmFyIGN1cnJlbmN5X3N5bWJvbCA9ICd7L2xpdGVyYWx9eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17bGl0ZXJhbH0nOwogIHZhciBkYXRlX2Zvcm1hdCA9ICd7L2xpdGVyYWx9eyRkYXRlX2Zvcm1hdH17bGl0ZXJhbH0nOwoKICBqUXVlcnkuZXh0ZW5kKHsKICAgICAgcG9zdEpTT046IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrICkgewogICAgICAgICAgIHJldHVybiBqUXVlcnkucG9zdCh1cmwsIGRhdGEsIGNhbGxiYWNrLCAianNvbiIpOwogICAgICB9CiAgfSk7CgogIGZ1bmN0aW9uIF9mb3JtYXRfcHJpY2UodmFsKQogIHsKICAgIHN0ciA9IGN1cnJlbmN5X3N5bWJvbCArIHZhbDsKICAgIHJldHVybiBzdHI7CiAgfQoKICBmdW5jdGlvbiBhZGRfcm93KHJzcmNfaWQscnNyY190eXBlLHJzcmNfc3RyLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbnVtX3Blb3BsZSxtZXJpZGlhbixwcmljZSxzZXJpYWxpemVkKQogIHsKICAgICAvLyBnZXQgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBjbGFzcyByZXNlcnZhdGlvbl9wYXJ0CiAgICAgdmFyIGlkeCA9IDA7CiAgICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLmVhY2goZnVuY3Rpb24oZWxlbSl7CiAgICAgICB2YXIgdG1wID0galF1ZXJ5KHRoaXMpLmZpbmQoJy5yb3dfcGFydG51bScpLmh0bWwoKTsKICAgICAgIGlmKCB0bXAgPiBpZHggKSBpZHggPSB0bXA7CiAgICAgfSk7CiAgICAgaWR4Kys7CgogICAgIG5ld3JvdyA9IGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfdGVtcGxhdGUnKS5jbG9uZSh0cnVlKTsKICAgICBuZXdyb3cuYXR0cignaWQnLCdyZXNlcnZhdGlvbl9wYXJ0XycraWR4KTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQnKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgdmFyIG5hbWUgPSBqUXVlcnkodGhpcykuYXR0cignbmFtZScpOwogICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgnWFgnLGlkeCk7CiAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKCdZWScsJ3BhcnQnKTsKICAgICAgIGpRdWVyeSh0aGlzKS5hdHRyKCduYW1lJyxuYW1lKTsKICAgICB9KTsKCiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19yc3JjX2lkJykuYXR0cigndmFsdWUnLHJzcmNfaWQpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfc2VyZGF0YScpLmF0dHIoJ3ZhbHVlJyxzZXJpYWxpemVkKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X21lcmlkaWFuJykuYXR0cigndmFsdWUnLG1lcmlkaWFuKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X3N0YXJ0ZGF0ZScpLmF0dHIoJ3ZhbHVlJyxzdHJ0b3RpbWUoc3RhcnRfZGF0ZSkpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfZW5kZGF0ZScpLmF0dHIoJ3ZhbHVlJyxzdHJ0b3RpbWUoZW5kX2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X251bXBlb3BsZScpLmF0dHIoJ3ZhbHVlJyxudW1fcGVvcGxlKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X3ByaWNlJykuYXR0cigndmFsdWUnLHByaWNlKTsKCiAgICAgbmV3cm93LmZpbmQoJy5yb3dfc3RhcnRfZGF0ZScpLmh0bWwoc3RyZnRpbWUoZGF0ZV9mb3JtYXQsc3RhcnRfZGF0ZSkpOwogICAgIG5ld3Jvdy5maW5kKCcucm93X2VuZF9kYXRlJykuaHRtbChzdHJmdGltZShkYXRlX2Zvcm1hdCxlbmRfZGF0ZSkpOwogICAgIG5ld3Jvdy5maW5kKCcucm93X3BhcnRudW0nKS5odG1sKGlkeCk7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfcmVzb3VyY2UnKS5odG1sKHJzcmNfc3RyKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19udW1fcGVvcGxlJykuaHRtbChudW1fcGVvcGxlKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19zaG93X3ByaWNlJykuaHRtbChwcmljZSk7CgogICAgIG5ld3Jvdy5maW5kKCcucm93X2RlbGV0ZScpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAvLyBoYW5kbGUgdGhlIGRlbGV0ZSBidXR0b24gb24gcmVzZXJ2YXRpb24gcGFydHMuCiAgICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KHRoaXMpLnBhcmVudHMoJy5yZXNlcnZhdGlvbl9wYXJ0Jyk7CiAgICAgICBfZGVsZXRlX3Jvdyhjb250YWluZXIpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0pOwoKICAgICBuZXdyb3cuZmluZCgnLnJvd19lZGl0JykuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgIC8vIGhhbmRsZSB0aGUgZWRpdCBidXR0b24gb24gcmVzZXJ2YXRpb24gcGFydHMuCiAgICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KHRoaXMpLnBhcmVudHMoJy5yZXNlcnZhdGlvbl9wYXJ0Jyk7CiAgICAgICBfb25fcm93X2VkaXQoY29udGFpbmVyKTsKICAgICAgIF9kZWxldGVfcm93KGNvbnRhaW5lcik7CiAgICAgfSk7ICAgICAKICAgICAKICAgICBuZXdyb3cuYXBwZW5kVG8oJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0Jyk7CiAgICAgbmV3cm93LmZhZGVJbigpOwogIH0KCgogIGZ1bmN0aW9uIF9jYWxjX3RvdGFsX3ByaWNlKCkgCiAgewogICAgdmFyIHRvdGFscHJpY2UgPSAwOwogICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLmVhY2goZnVuY3Rpb24oZWxlbSl7CiAgICAgIHZhbCA9IGpRdWVyeSh0aGlzKS5maW5kKCdpbnB1dC5yb3dfcHJpY2UnKS52YWwoKTsKICAgICAgdG90YWxwcmljZSArPSBwYXJzZUZsb2F0KHZhbCk7CQogICAgfSk7CiAgICByZXR1cm4gdG90YWxwcmljZTsKICB9CgoKICBmdW5jdGlvbiBfdXBkYXRlX2RhdGVzKHJzcmNfdHlwZSxzdGFydF9kYXRlLGVuZF9kYXRlKQogIHsKICAgIHZhciBjb250YWluZXIgPSBqUXVlcnkoJyNyc3JjX3BlcmlvZF8nK3JzcmNfdHlwZSk7CiAgICBpZiggcnNyY190eXBlID09ICdkJyApCiAgICB7CiAgICAgIGNvbnRhaW5lci5mb3JtX3NldF9kYXRldGltZShzdHJ0b3RpbWUoc3RhcnRfZGF0ZSksJ3NlbF9zdGFydGRhdGVfZF8nKTsKICAgICAgY29udGFpbmVyLmZvcm1fc2V0X2RhdGV0aW1lKHN0cnRvdGltZShlbmRfZGF0ZSksJ3NlbF9lbmRkYXRlX2RfJyk7CiAgICB9CiAgICBlbHNlIGlmKCByc3JjX3R5cGUgPT0gJ2gnICkKICAgIHsKICAgICAgY29udGFpbmVyLmZvcm1fc2V0X2RhdGV0aW1lKHN0cnRvdGltZShzdGFydF9kYXRlKSwnc2VsX3N0YXJ0ZGF0ZV9kXycsMSk7CiAgICB9CiAgfQoKCiAgZnVuY3Rpb24gX29uX3Jvd19lZGl0KGNvbnRhaW5lcikKICB7CiAgICB2YXIgc2VyZGF0YSA9IGNvbnRhaW5lci5maW5kKCdpbnB1dC5yb3dfc2VyZGF0YScpLnZhbCgpOwogICAgaWYoIHNlcmRhdGEubGVuZ3RoID4gMCApCiAgICB7CiAgICAgIC8vIHdlIGhhdmUgc2VyaWFsaXplZCBkYXRhCiAgICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCcpLmZvcm1fcG9wdWxhdGVfc2VyaWFsaXplZChzZXJkYXRhKTsKICAgIH0KICAgIGVsc2UKICAgIHsgCiAgICAgIC8vIGdldCB0aGUgY3VycmVuIHJzcmMgaWQuCiAgICAgIHZhciByc3JjX2lkID0gY29udGFpbmVyLmZpbmQoJy5yb3dfcnNyY19pZCcpLnZhbCgpOwogICAgICB2YXIgc3RhcnRfZGF0ZSA9IGNvbnRhaW5lci5maW5kKCcucm93X3N0YXJ0ZGF0ZScpLnZhbCgpOwogICAgICB2YXIgbWVyaWRpYW4gPSBjb250YWluZXIuZmluZCgnLnJvd19tZXJpZGlhbicpLnZhbCgpOwogICAgICB2YXIgZW5kX2RhdGUgPSBjb250YWluZXIuZmluZCgnLnJvd19lbmRkYXRlJykudmFsKCk7CiAgICAgIHZhciBudW1fcGVvcGxlID0gY29udGFpbmVyLmZpbmQoJy5yb3dfbnVtcGVvcGxlJykudmFsKCk7CiAgICAgIHZhciBwcmljZSA9IGNvbnRhaW5lci5maW5kKCcucm93X3ByaWNlJykudmFsKCk7CgogICAgICAvLyBnZXQgdGhlIHNlbGVjdGVkIHJlc291cmNlIHR5cGUgKGQscCwgb3IgaCkKICAgICAgdmFyIHR5cGUgPSAnJzsKICAgICAgalF1ZXJ5KCcjc2VsX3JzcmMnKS5jaGlsZHJlbignb3B0aW9uJykuZWFjaChmdW5jdGlvbigpewogICAgICAgIHZhciB0bXAgPSAkKHRoaXMpLnZhbCgpLnNwbGl0KCcsJyk7CiAgICAgICAgaWYoIHRtcFswXSA9PSByc3JjX2lkICkKICAgICAgICB7CiAgICAgICAgICB0eXBlID0gdG1wWzFdOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICAvLyBub3cgcmVwb3B1bGF0ZSB0aGluZ3MKICAgICAgalF1ZXJ5KCcjc2VsX3JzcmMnKS52YWwocnNyY19pZCsiLCIrdHlwZSk7CiAgICAgIGpRdWVyeSgnI3NlbF9udW1wZW9wbGUnKS52YWwobnVtX3Blb3BsZSk7CiAgICAgIGpRdWVyeSgnI3NlbF9pbnRfcHJpY2UnKS5odG1sKF9mb3JtYXRfcHJpY2UocHJpY2UpKTsKICAgICAgaWYoIHR5cGUgPT0gJ2QnICkKICAgICAgewoJalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0JykuZm9ybV9zZXRfZGF0ZXRpbWUoc3RhcnRfZGF0ZSwnc2VsX3N0YXJ0ZGF0ZV9kXycpOwoJalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0JykuZm9ybV9zZXRfZGF0ZXRpbWUoZW5kX2RhdGUsJ3NlbF9lbmRkYXRlX2RfJyk7CiAgICAgIH0KICAgICAgZWxzZSBpZiggdHlwZSA9PSAncCcgKQogICAgICB7CiAgICAgICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0JykuZm9ybV9zZXRfZGF0ZXRpbWUoc3RhcnRfZGF0ZSwnc2VsX3N0YXJ0ZGF0ZV9wXycpOwogICAgICAgIGpRdWVyeSgnI3NlbF9tZXJpZGlhbl9wJykudmFsKG1lcmlkaWFuKTsKICAgICAgfQogICAgICBlbHNlIGlmKCB0eXBlID09ICdoJyApCiAgICAgIHsKCWpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCcpLmZvcm1fc2V0X2RhdGV0aW1lKHN0YXJ0X2RhdGUsJ3NlbF9zdGFydGRhdGVfaF8nLDEpOwogICAgICB9CiAgICB9CiAgICBfb25fY2hhbmdlX3JzcmMoKTsKICB9CgoKICBmdW5jdGlvbiBfb25fY2hhbmdlX3JzcmMoKQogIHsKICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuaGlkZSgpOwogICAgdmFyIHRtcCA9IGpRdWVyeSgnI3NlbF9yc3JjJykudmFsKCkuc3BsaXQoJywnKTsKICAgIGlmKCB0bXBbMV0gPT0gJy0xJyApCiAgICB7IAogICAgICBqUXVlcnkoJyNzZWxfYnRucycpLmhpZGUoKTsKICAgICAgalF1ZXJ5KCcjc2VsX3Jvd19udW1wZW9wbGUnKS5oaWRlKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgIGpRdWVyeSgnI3NlbF9idG5zJykuc2hvdygpOwogICAgICBqUXVlcnkoJyNzZWxfcm93X251bXBlb3BsZScpLnNob3coKTsKICAgIH0KICAgIGpRdWVyeSgnLnJzcmNfcGVyaW9kJykuaGlkZSgpOwogICAgalF1ZXJ5KCcjcnNyY19wZXJpb2RfJyt0bXBbMV0pLnNob3coKTsKICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaGlkZSgpOwogICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwoKICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICBvYmoucnNyY19pZCA9IHRtcFswXTsKICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwogICAgdmFyIHJlcyA9ICQucG9zdChyc3JjX3VybCwgeyBkYXRhOiBzdHIgfSwKICAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKICAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0ID09ICdzdWNjZXNzJyApIHsKICAgICAgICAgICBqUXVlcnkoJyNzZWxfcnNyY19zdW1tYXJ5Jykuc2hvdygpOwogICAgICAgICAgIGpRdWVyeSgnI3NlbF9yc3JjX3N1bW1hcnknKS5odG1sKHJlc3BvbnNlLnN1bW1hcnkpOwogICAgICAgICB9CiAgICAgICB9LAogICAgICAgJ2pzb24nKTsKICB9CgoKICBmdW5jdGlvbiBfZGVsZXRlX3JvdyhvYmopCiAgewogICAgb2JqLnJlbW92ZSgpOwoKICAgIHZhciBpZHggPSAxOwogICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLmVhY2goZnVuY3Rpb24oZWxlbSl7CiAgICAgIGpRdWVyeSh0aGlzKS5maW5kKCcucm93X3BhcnRudW0nKS5odG1sKGlkeCsrKTsKICAgIH0pOwoKICAgIC8vIHJlY2FsY3VsYXRlIHRvdGFscwogICAgalF1ZXJ5KCcjY2FsY3ByaWNlJykuaHRtbChfY2FsY190b3RhbF9wcmljZSgpKTsKICB9CgoKICBmdW5jdGlvbiBfY2hlY2tfZXhpc3RpbmdfcGFydHMob2JqKQogIHsKICAgIHZhciByZXMgPSAxOwogICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLmVhY2goZnVuY3Rpb24oZWxlbSl7CiAgICAgICB2YXIgcnNyY19pZCA9IGpRdWVyeSh0aGlzKS5maW5kKCdpbnB1dC5yb3dfcnNyY19pZCcpLnZhbCgpOwogICAgICAgdmFyIHN0YXJ0ID0galF1ZXJ5KHRoaXMpLmZpbmQoJ2lucHV0LnJvd19zdGFydGRhdGUnKS52YWwoKTsKICAgICAgIHZhciBlbmQgPSBqUXVlcnkodGhpcykuZmluZCgnaW5wdXQucm93X2VuZGRhdGUnKS52YWwoKTsKCiAgICAgICB2YXIgb3N0YXJ0ID0gc3RydG90aW1lKG9iai5zdGFydF9kYXRlKTsKICAgICAgIHZhciBvZW5kID0gc3RydG90aW1lKG9iai5lbmRfZGF0ZSk7CiAgICAgICBpZiggb2JqLnJzcmNfaWQgPT0gcnNyY19pZCApCiAgICAgICB7CgkgaWYoIG9zdGFydCA9PSBzdGFydCB8fCBvZW5kID09IGVuZCApCiAgICAgICAgIHsKICAgICAgICAgICByZXMgPSAwOwogICAgICAgICB9CiAgICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4gcmVzOwogIH0KCgogIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAkLmFqYXhTZXR1cCh7CiAgICAgIHRpbWVvdXQ6IDIwMDAKICAgIH0pOwoKICAgIC8vIGNhbGN1bGF0ZSBhIG1lcmlkaWFuIGZyb20gdGhlIHN0YXJ0IGRhdGUuLi4ganVzdCBpbmNhc2UuCiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuY2hpbGRyZW4oJy5yZXNlcnZhdGlvbl9wYXJ0JykuZWFjaChmdW5jdGlvbigpewogICAgICB2YXIgc3RyID0gJCh0aGlzKS5maW5kKCcucm93X3N0YXJ0ZGF0ZScpLnZhbCgpOwogICAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHN0cik7CiAgICAgIHZhciBtZXJpZGlhbiA9ICdhbSc7CiAgICAgIHZhciBocnMgPSBkYXRlLmdldEhvdXJzKCk7CiAgICAgIGlmKCBocnMgPiAxMSApCiAgICAgICAgewogICAgICAgICAgbWVyaWRpYW4gPSAncG0nOwogICAgICAgIH0KICAgICAgJCh0aGlzKS5maW5kKCcucm93X21lcmlkaWFuJykudmFsKG1lcmlkaWFuKTsKICAgIH0pOwoKICAgIC8vIGhpZGUgYW5kIHNob3cgdmFyaW91cyBmaWVsZHMgYmFzZWQgb24gdGhlIHJlc291cmNlIHNlbGVjdGVkIAogICAgalF1ZXJ5KCcjc2VsX3JzcmMnKS5jaGFuZ2UoZnVuY3Rpb24oKSB7CiAgICAgIF9vbl9jaGFuZ2VfcnNyYygpOwogICAgfSk7CgogICAgLy8gaGFuZGxlIHRoZSBjaGVjayBidXR0b24gY2xpY2sKICAgIGpRdWVyeSgnI3NlbF9idG5fY2hlY2snKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCcpOwoKICAgICAgLy8gYnVpbGQgdGhlIGpzb24gZGF0YQogICAgICB2YXIgb2JqID0gbmV3IE9iamVjdCgpOwogICAgICB2YXIgdmFsID0galF1ZXJ5KCcjc2VsX3JzcmMnKS52YWwoKTsKICAgICAgb2JqLnJzcmNfaWQgPSB2YWwuc3BsaXQoJywnKVswXTsKICAgICAgdmFyIHJzcmNfdHlwZSA9IHZhbC5zcGxpdCgnLCcpWzFdOwogICAgICBpZiggcnNyY190eXBlID09ICdkJyApCiAgICAgICAgewogICAgICAgICAgb2JqLnN0YXJ0X2RhdGUgPSBjb250YWluZXIuZm9ybV9nZXRfZGF0ZXRpbWUoJ3NlbF9zdGFydGRhdGVfZF8nKTsKICAgICAgICAgIG9iai5lbmRfZGF0ZSA9IGNvbnRhaW5lci5mb3JtX2dldF9kYXRldGltZSgnc2VsX2VuZGRhdGVfZF8nKTsKICAgICAgICB9CiAgICAgIGVsc2UgaWYoIHJzcmNfdHlwZSA9PSAnaCcgKQogICAgICAgIHsKICAgICAgICAgIG9iai5zdGFydF9kYXRlID0gY29udGFpbmVyLmZvcm1fZ2V0X2RhdGV0aW1lKCdzZWxfc3RhcnRkYXRlX2hfJywxKQogICAgICAgIH0KICAgICAgZWxzZSBpZiggcnNyY190eXBlID09ICdwJyApCiAgICAgICAgewogICAgICAgICAgb2JqLnN0YXJ0X2RhdGUgPSBjb250YWluZXIuZm9ybV9nZXRfZGF0ZXRpbWUoJ3NlbF9zdGFydGRhdGVfcF8nKQogICAgICAgICAgb2JqLm1lcmlkaWFuID0gY29udGFpbmVyLmZpbmQoJyNzZWxfbWVyaWRpYW5fcCcpLnZhbCgpOyAKICAgICAgICB9CiAgICAgIG9iai5udW1fcGVvcGxlID0gY29udGFpbmVyLmZpbmQoJyNzZWxfbnVtcGVvcGxlJykudmFsKCk7CgogICAgICBpZiggcnNyY190eXBlID09ICdkJyApCgl7CiAgICAgICAgICB2YXIgcmVzID0gX2NoZWNrX2V4aXN0aW5nX3BhcnRzKG9iaik7CiAgICAgICAgICBpZiggIXJlcyApCiAgICAgICAgICB7CiAgICAgICAgICAgIHZhciBtc2cgPSAney9saXRlcmFsfXskbW9kLT5MYW5nKCdlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCcpfXtsaXRlcmFsfSc7CiAgCSAgICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLmh0bWwobXNnKS5zaG93KCk7CiAgCSAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgdmFyIHN0ciA9ICQudG9KU09OKG9iaik7CgogICAgICAvLyBkbyBqc29uIHJlcXVlc3QKICAgICAgdmFyIGpzb24gPSAkLnBvc3QoY2hlY2tfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICAgICBqUXVlcnkoJyNzZWxfaW50X3N0YXR1cycpLmh0bWwocmVzcG9uc2UucmVzdWx0KTsKICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2ludF9wcmljZScpLmh0bWwocmVzcG9uc2UucHJpY2UpOwoJICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaHRtbChyZXNwb25zZS5tZXNzYWdlKTsKCiAgICAgICAgICAgIGlmKCByZXNwb25zZS5yZXN1bHQgPT0gJ2F2YWlsYWJsZScgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiggcnNyY190eXBlICE9ICdkJyApCgkgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIG9iai5lbmRfZGF0ZSA9IHJlc3BvbnNlLmVuZF9kYXRlOwogICAgICAgICAgICAgICAgICAgIHJlcyA9IF9jaGVja19leGlzdGluZ19wYXJ0cyhvYmopOwogICAgICAgICAgICAgICAgICAgIGlmKCAhcmVzICkKCQkgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtc2cgPSAney9saXRlcmFsfXskbW9kLT5MYW5nKCdlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCcpfXtsaXRlcmFsfSc7CiAgICAgICAJICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaHRtbChtc2cpLnNob3coKTsKICAgICAgICAgICAJICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KCgkgICAgICAgIC8vIGdvdCBhbiBhdmFpbGFibGUgcGVyaW9kCgkgICAgICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuc2hvdygpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlX2FtdCcpLmh0bWwoX2Zvcm1hdF9wcmljZShyZXNwb25zZS5wcmljZSkpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuc2hvdygpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX21lc3NhZ2UnKS5zaG93KCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX3N0YXJ0X2RhdGUnKS52YWwocmVzcG9uc2Uuc3RhcnRfZGF0ZSk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX2VuZF9kYXRlJykudmFsKHJlc3BvbnNlLmVuZF9kYXRlKTsKIAogICAgICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBkYXRlcyBmcm9tIHdoYXQgd2UgaGF2ZQogICAgICAgICAgICAgICAgX3VwZGF0ZV9kYXRlcyhyc3JjX3R5cGUscmVzcG9uc2Uuc3RhcnRfZGF0ZSxyZXNwb25zZS5lbmRfZGF0ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfcHJpY2UnKS5oaWRlKCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLnNob3coKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9keW5fc3RhcnRfZGF0ZScpLnZhbCgnLTEnKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9keW5fZW5kX2RhdGUnKS52YWwoJy0xJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIAogICAgICAgICAgJ2pzb24nKTsKCiAgICAgIC8vIG5vIG1vcmUgcHJvY2Vzc2luZy4KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgLy8gaGFuZGxlIHRoZSBzZWxlY3QgZmllbGRzIGNoYW5naW5nLgogICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0IHNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpewogICAgICAvLyBzZWxlY3QgZmllbGQgaGFzIGNoYW5nZWQuCiAgICAgIGpRdWVyeSgnI3NlbF9keW5fc3RhcnRfZGF0ZScpLnZhbCgnLTEnKTsKICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9lbmRfZGF0ZScpLnZhbCgnLTEnKTsKICAgICAgalF1ZXJ5KCcjc2VsX2J0bl9hZGQnKS5oaWRlKCk7CgogICAgICAvLyB0aGlzIHBhcnQgYXV0b21hdGljYWxsIHVwZGF0ZXMgdGhlIGVuZC1kYXRlIG9uIHN0YXJ0LWRhdGUgbW9kaWZpY2F0aW9uLgogICAgICB2YXIgbmFtZSA9IGpRdWVyeSh0aGlzKS5hdHRyKCduYW1lJyk7CiAgICAgIHZhciBuYW1lciA9IG5hbWUucmVwbGFjZSgnc3RhcnRkYXRlJywnZW5kZGF0ZScpOwogICAgICBpZiggbmFtZSAhPSBuYW1lciApCgl7CiAgICAgICAgICBqUXVlcnkoIjppbnB1dFtuYW1lPSciK25hbWVyKyInXSIpLnZhbChqUXVlcnkoIjppbnB1dFtuYW1lPSciK25hbWUrIiddIikudmFsKCkpOwogICAgICAgIH0KICAgIH0pOwoKICAgIC8vIGhhbmRsZSB0aGUgYWRkIGJ1dHRvbi4KICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgIC8vIGhhdmUgdG8gYWRkIGEgcm93IHRvIHRoZSByZXNlcnZhdGlvbnMgcGFydHMgbGlzdAogICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0Jyk7CiAgICAgIHZhciB2YWwgPSBqUXVlcnkoJyNzZWxfcnNyYycpLnZhbCgpOwogICAgICB2YXIgcnNyY19pZCA9IHZhbC5zcGxpdCgnLCcpWzBdOwogICAgICB2YXIgcnNyY190eXBlID0gdmFsLnNwbGl0KCcsJylbMV07CiAgICAgIHZhciByc3JjX3N0ciA9IGpRdWVyeSgnI3NlbF9yc3JjIDpzZWxlY3RlZCcpLnRleHQoKTsKICAgICAgdmFyIG51bV9wZW9wbGUgPSBqUXVlcnkoJyNzZWxfbnVtcGVvcGxlJykudmFsKCk7CiAgICAgIHZhciBwcmljZSA9IGpRdWVyeSgnI3NlbF9pbnRfcHJpY2UnKS5odG1sKCk7CiAgICAgIHZhciBzdGFydF9kYXRlID0galF1ZXJ5KCcjc2VsX2R5bl9zdGFydF9kYXRlJykudmFsKCk7CiAgICAgIHZhciBlbmRfZGF0ZSA9IGpRdWVyeSgnI3NlbF9keW5fZW5kX2RhdGUnKS52YWwoKTsKICAgICAgdmFyIG1lcmlkaWFuID0gJyc7CgogICAgICBpZiggc3RhcnRfZGF0ZSA9PSAnLTEnIHx8IGVuZF9kYXRlID09ICctMScgKQogICAgICB7CglhbGVydCgnY2Fubm90IGFkZCcpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgaWYoIHJzcmNfdHlwZSA9PSAncCcgKQogICAgICB7CgltZXJpZGlhbiA9IGpRdWVyeSgnI3NlbF9tZXJpZGlhbicpLnZhbCgpOwogICAgICB9CgogICAgICAvLyBhZGQgdGhlIHJvdwogICAgICB2YXIgc2VyaWFsaXplZCA9IGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCcpLnNlcmlhbGl6ZUFueXRoaW5nKCk7CiAgICAgIGFkZF9yb3cocnNyY19pZCxyc3JjX3R5cGUscnNyY19zdHIsc3RhcnRfZGF0ZSxlbmRfZGF0ZSxudW1fcGVvcGxlLG1lcmlkaWFuLHByaWNlLHNlcmlhbGl6ZWQpOwoKICAgICAgLy8gdXBkYXRlIHRvdGFscy4KICAgICAgdmFyIHRvdGFsX3ByaWNlID0gX2NhbGNfdG90YWxfcHJpY2UoKTsKICAgICAgalF1ZXJ5KCcjY2FsY3ByaWNlJykuaHRtbCh0b3RhbF9wcmljZSk7CgogICAgICAvLyBubyBtb3JlIHByb2Nlc3NpbmcuCiAgICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuaGlkZSgpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKCiAgICAvLyBoYW5kbGUgZm9ybSBzdWJtaXNzaW9uLgogICAgalF1ZXJ5KCcjc3VibWl0X2J0bicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgIC8vIHN1Ym1pdCBidXR0b24gcHJlc3NlZC4KICAgICAgdmFyIGNvdW50ID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLnNpemUoKTsKICAgICAgaWYoIGNvdW50ID09IDAgKQogICAgICB7CiAgICAgICAgYWxlcnQoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygnZXJyb3Jfbm9fcmVzZXJ2YXRpb25fcGFydHMnKX17bGl0ZXJhbH0nKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0pOwoKICAgIC8vIGhhbmRsZSByb3cgZGVsZXRpb24uCiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuZmluZCgnLnJvd19kZWxldGUnKS5jbGljayhmdW5jdGlvbigpewogICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KHRoaXMpLnBhcmVudHMoJy5yZXNlcnZhdGlvbl9wYXJ0Jyk7CiAgICAgIF9kZWxldGVfcm93KGNvbnRhaW5lcik7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKICAgIC8vIGhhbmRsZSByb3cgZWRpdC4KICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKS5maW5kKCcucm93X2VkaXQnKS5jbGljayhmdW5jdGlvbigpewogICAgICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSh0aGlzKS5wYXJlbnRzKCcucmVzZXJ2YXRpb25fcGFydCcpOwogICAgICAgX29uX3Jvd19lZGl0KGNvbnRhaW5lcik7CiAgICAgICBfZGVsZXRlX3Jvdyhjb250YWluZXIpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgLy8gYW5kIHNldHVwCiAgICBfb25fY2hhbmdlX3JzcmMoKTsKICB9KTsKPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCgp7aWYgaXNzZXQoJGFjdGlvbnBhcmFtcy5yZXN2bmlkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0X3Jlc2VydmF0aW9uJyl9PC9oMz4Ke2Vsc2V9CjxoMz57JG1vZC0+TGFuZygnYWRkX3Jlc2VydmF0aW9uJyl9PC9oMz4Key9pZn0KCnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2N1c3RvbWVyX25hbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogIHskaW5wdXRfY3VzdG9tZXJfaWR9Jm5ic3A7CiAgPGEgaHJlZj0iamF2YXNjcmlwdDp2aWV3X3VzZXIoKTsiIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb192aWV3X3VzZXInKX0iPntjZ2ltYWdlIGltYWdlPSJpY29ucy9zeXN0ZW0vdmlldy5naWYiIGFsdD0kbW9kLT5MYW5nKCd2aWV3X3VzZXInKX08L2E+Jm5ic3A7CiAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0Zyb250RW5kVXNlcnMnIGFjdGlvbj0nYWRkdXNlcicgdXJsb25seT0xIG1lbWJlcm9mPSRtZW1iZXJvZiByZXR1cm50bz0nQXZhaWxhYmlsaXR5LGFkbWluX2VkaXRfcmVzdm4nIGFzc2lnbj0ndXJsJ308YSBocmVmPSJ7JHVybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19hZGRfdXNlcl9hY2NvdW50Jyl9Ij57Y2dpbWFnZSBpbWFnZT0iaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiIGFsdD0iIn0mbmJzcDt7JG1vZC0+TGFuZygnYWRkX3VzZXJfYWNjb3VudCcpfTwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdldGV4dCIgaWQ9InVzZXJpbmZvIiBzdHlsZT0iYm9yZGVyOiAxcHggZGFzaGVkIHJlZDsgd2lkdGg6IDQwJTsgZGlzcGxheTogbm9uZTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJpY2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX08aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9wcmljZSIgaWQ9InByaWNlIiB2YWx1ZT0ieyRkYXRhLnByaWNlfSIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iMTAiPgogICAgJm5ic3A7Jm5ic3A7eyRtb2QtPkxhbmcoJ2NhbGN1bGF0ZWRfcHJpY2UnKX06Jm5ic3A7eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX0mbmJzcDs8c3BhbiBpZD0iY2FsY3ByaWNlIj57JG1vZC0+TGFuZygnbm90X2NhbGN1bGF0ZWQnKX08L3NwYW4+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgaWQ9InJlc2VydmF0aW9uX3BhcnRfdGVtcGxhdGUiIGNsYXNzPSJyZXNlcnZhdGlvbl9wYXJ0IiBzdHlsZT0iZGlzcGxheTogbm9uZTsgY2xlYXI6IGxlZnQ7Ij4KIDxwIGNsYXNzPSJyb3dfcGFydG51bSIgc3R5bGU9ImZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB3aWR0aDogMmVtOyI+PC9wPgogPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfcnNyY19pZCIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9zZWxyc3JjX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19zZXJkYXRhIiBuYW1lPSJ7JGFjdGlvbmlkfVlZX3NlcmRhdGFfWFgiIHZhbHVlPSItMSIvPgogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3N0YXJ0ZGF0ZSIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9zdGFydGRhdGVfWFgiIHZhbHVlPSItMSIvPgogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X21lcmlkaWFuIiBuYW1lPSJ7JGFjdGlvbmlkfVlZX3N0YXJ0ZGF0ZV9YWG1lcmlkaWFuIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19lbmRkYXRlIiBuYW1lPSJ7JGFjdGlvbmlkfVlZX2VuZGRhdGVfWFgiIHZhbHVlPSItMSIvPgogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X251bXBlb3BsZSIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9udW1wZW9wbGVfWFgiIHZhbHVlPSItMSIvPgogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3ByaWNlIiBuYW1lPSJ7JGFjdGlvbmlkfVlZX3ByaWNlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPHNwYW4gY2xhc3M9InJvd19yZXNvdXJjZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdmcm9tJyl9OiZuYnNwOzxzcGFuIGNsYXNzPSJyb3dfc3RhcnRfZGF0ZSI+PC9zcGFuPiZuYnNwOwogICB7JG1vZC0+TGFuZygndG8nKX06Jm5ic3A7PHNwYW4gY2xhc3M9InJvd19lbmRfZGF0ZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdudW1fcGVvcGxlJyl9OiZuYnNwOzxzcGFuIGNsYXNzPSJyb3dfbnVtX3Blb3BsZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdwcmljZScpfTombmJzcDt7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfTxzcGFuIGNsYXNzPSJyb3dfc2hvd19wcmljZSI+PC9zcGFuPjxici8+CiAgIDxzcGFuIGNsYXNzPSJhY3Rpb25zIj4KICAgICB7Y2dpbWFnZSBjbGFzcz0icm93X2RlbGV0ZSIgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZGVsZXRlJyl9Jm5ic3A7CiAgICAge2NnaW1hZ2UgY2xhc3M9InJvd19lZGl0IiBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZWRpdCcpfQogICA8L3NwYW4+CiA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZXRleHQiPgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX3BhcnRzJyl9OiZuYnNwOzwvbGVnZW5kPgp7KiB0aGUgYXJlYSB3aGVyZSB0aGUgY29tcGxldGVkIHJlc2VydmF0aW9uIHBhcnRzIGFyZSBnb2luZyB0byBnbyAqfQo8ZGl2IGlkPSJyZXNlcnZhdGlvbl9wYXJ0c19saXN0IiBzdHlsZT0id2lkdGg6IDM5JTsgZmxvYXQ6IGxlZnQ7Ij4Ke2ZvcmVhY2ggZnJvbT0kZGF0YS5wYXJ0cyBpdGVtPSdwYXJ0JyBuYW1lPSdwYXJ0J30KIHthc3NpZ24gdmFyPSdpZHgnIHZhbHVlPSRzbWFydHkuZm9yZWFjaC5wYXJ0Lml0ZXJhdGlvbn0KIHthc3NpZ24gdmFyPSdyc3JjX2lkJyB2YWx1ZT0kcGFydC5leHRfcnNyY2lkfQogPGRpdiBpZD0icmVzZXJ2YXRpb25fcGFydF97JHNtYXJ0eS5mb3JlYWNoLnBhcnQuaXRlcmF0aW9ufSIgY2xhc3M9InJlc2VydmF0aW9uX3BhcnQiIHN0eWxlPSJjbGVhcjogbGVmdDsiPgogICA8cCBjbGFzcz0icm93X3BhcnRudW0iIHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgd2lkdGg6IDJlbTsiPnskaWR4fTwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19yc3JjX2lkIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfc2VscnNyY197JGlkeH0iIHZhbHVlPSJ7JHBhcnQucnNyY19pZH0iLz4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3NlcmRhdGEiIG5hbWU9InskYWN0aW9uaWR9cGFydF9zZWxkYXRhX3skaWR4fSIgdmFsdWU9IiIvPgogICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfc3RhcnRkYXRlIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfc3RhcnRkYXRlX3skaWR4fSIgdmFsdWU9InskcGFydC5zdGFydF9kYXRlfHN0cnRvdGltZX0iLz4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X21lcmlkaWFuIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfc3RhcnRkYXRlX3skaWR4fW1lcmlkaWFuIiB2YWx1ZT0iLTEiLz4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X2VuZGRhdGUiIG5hbWU9InskYWN0aW9uaWR9cGFydF9lbmRkYXRlX3skaWR4fSIgdmFsdWU9InskcGFydC5lbmRfZGF0ZXxzdHJ0b3RpbWV9Ii8+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19udW1wZW9wbGUiIG5hbWU9InskYWN0aW9uaWR9cGFydF9udW1wZW9wbGVfeyRpZHh9IiB2YWx1ZT0ieyRwYXJ0Lm51bV9wZW9wbGV9Ii8+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19wcmljZSIgbmFtZT0ieyRhY3Rpb25pZH1wYXJ0X3ByaWNlX3skaWR4fSIgdmFsdWU9InskcGFydC5wcmljZX0iLz4KICAgICA8c3BhbiBjbGFzcz0icm93X3Jlc291cmNlIj57JHJzcmNfbGlzdC4kcnNyY19pZH08L3NwYW4+PGJyLz4KICAgICB7JG1vZC0+TGFuZygnZnJvbScpfTombmJzcDs8c3BhbiBjbGFzcz0icm93X3N0YXJ0X2RhdGUiPnskcGFydC5zdGFydF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3NwYW4+Jm5ic3A7CiAgICAgeyRtb2QtPkxhbmcoJ3RvJyl9OiZuYnNwOzxzcGFuIGNsYXNzPSJyb3dfZW5kX2RhdGUiPnskcGFydC5lbmRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9zcGFuPjxici8+CiAgICAgeyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX06Jm5ic3A7PHNwYW4gY2xhc3M9InJvd19udW1fcGVvcGxlIj57JHBhcnQubnVtX3Blb3BsZX08L3NwYW4+PGJyLz4KICAgICB7JG1vZC0+TGFuZygncHJpY2UnKX06Jm5ic3A7eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX08c3BhbiBjbGFzcz0icm93X3ByaWNlIj57JHBhcnQucHJpY2V9PC9zcGFuPjxici8+ICAKICAgICA8c3BhbiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICB7Y2dpbWFnZSBjbGFzcz0icm93X2RlbGV0ZSIgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZGVsZXRlJyl9Jm5ic3A7CiAgICAgICB7Y2dpbWFnZSBjbGFzcz0icm93X2VkaXQiIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGFsdD0kbW9kLT5MYW5nKCdlZGl0Jyl9CiAgICAgPC9zcGFuPgogICA8L3A+CiAgPC9kaXY+CiAgCnsvZm9yZWFjaH0KPC9kaXY+Cgp7KiB0aGUgYXJlYSB3aGVyZSB3ZSB3aWxsIGVkaXQgYSByZXNlcnZhdGlvbiBwYXJ0ICp9CjxkaXYgaWQ9InJlc2VydmF0aW9uX3BhcnRfZWRpdCIgc3R5bGU9IndpZHRoOiA1OSU7IGZsb2F0OiByaWdodDsgcGFkZGluZy1sZWZ0OiAwLjVlbTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsiPgogPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InNlbF9keW5fc3RhcnRfZGF0ZSIgdmFsdWU9Ii0xIi8+CiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic2VsX2R5bl9lbmRfZGF0ZSIgdmFsdWU9Ii0xIi8+CiA8ZGl2PgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKCl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIDxzZWxlY3QgaWQ9InNlbF9yc3JjIiBuYW1lPSJzZWxfcnNyYyI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRyc3JjX2xpc3R9CiAgICAgPC9zZWxlY3Q+CiAgIDwvcD4KICAgPHAgaWQ9InNlbF9yc3JjX3N1bW1hcnkiIHN0eWxlPSJtYXJnaW4tbGVmdDogMWVtOyI+PC9wPgogPC9kaXY+CgogPGRpdiBpZD0icnNyY19wZXJpb2RfZCIgY2xhc3M9InJzcmNfcGVyaW9kIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0ic2VsX3N0YXJ0ZGF0ZV9kXyIgc3RhcnRfeWVhcj0kYWRtaW5fc3RhcnR5ZWFyIGVuZF95ZWFyPSIrMiJ9CiAgIDwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ2VuZF9kYXRlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0ic2VsX2VuZGRhdGVfZF8iIHN0YXJ0X3llYXI9JGFkbWluX3N0YXJ0eWVhciBlbmRfeWVhcj0iKzIifQogICA8L3A+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJyc3JjX3BlcmlvZF9wIiBjbGFzcz0icnNyY19wZXJpb2QiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3N0YXJ0X2RhdGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSJzZWxfc3RhcnRkYXRlX3BfIiBlbmRfeWVhcj0iKzIifQogICAgICZuYnNwO3skbW9kLT5MYW5nKCdhdCcpfSZuYnNwOwogICAgIDxzZWxlY3QgaWQ9J3NlbF9tZXJpZGlhbl9wJyBuYW1lPSdzZWxfbWVyaWRpYW5fcCc+CiAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG1lcmlkaWFuc30KICAgICA8L3NlbGVjdD4gICAgIAogICA8L3A+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJyc3JjX3BlcmlvZF9oIiBjbGFzcz0icnNyY19wZXJpb2QiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3N0YXJ0X2RhdGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSJzZWxfc3RhcnRkYXRlX2hfIiBzdGFydF95ZWFyPSRhZG1pbl9zdGFydHllYXIgZW5kX3llYXI9IisyIn0KICAgICAmbmJzcDt7JG1vZC0+TGFuZygnYXQnKX0mbmJzcDsKICAgICB7aHRtbF9zZWxlY3RfdGltZSBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1IHByZWZpeD0ic2VsX3N0YXJ0ZGF0ZV9oXyJ9CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgaWQ9InNlbF9yb3dfbnVtcGVvcGxlIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdudW1fcGVvcGxlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIDxzZWxlY3QgaWQ9InNlbF9udW1wZW9wbGUiIG5hbWU9InNlbF9udW1wZW9wbGUiPgogICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcGVvcGxlX2xpc3R9CiAgICAgPC9zZWxlY3Q+CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgaWQ9InNlbF9tZXNzYWdlIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJzZWxfaW50X3ByaWNlIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJzZWxfaW50X3N0YXR1cyIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogPC9kaXY+CgogPGRpdiBpZD0ic2VsX3ByaWNlIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdwcmljZScpfTwvcD4KICAgPHAgaWQ9InNlbF9wcmljZV9hbXQiIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgPC9wPgogPC9kaXY+CgogPGRpdiBpZD0ic2VsX2J0bnMiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+Jm5ic3A7PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InNlbF9idG5fY2hlY2siIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2hlY2snKX0iLz4KICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic2VsX2J0bl9hZGQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnYWRkJyl9IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiLz4KICAgPC9wPgogPC9kaXY+CjwvZGl2PgoKPC9maWVsZHNldD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXR1cycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9zdGF0dXMiPgogICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc3RhdHVzZXMgc2VsZWN0ZWQ9JGRhdGEuc3RhdHVzfQogICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2FkbWluX25vdGVzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluX25vdGVzfTwvcD4KPC9kaXY+CntpZiBpc3NldCgkaW5wdXRfc2VuZG1lc3NhZ2UpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3NlbmRfY3VzdG9tZXJfbWFpbCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlbmRtZXNzYWdlfTwvcD4KPC9kaXY+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InN1Ym1pdF9idG4iIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogICAgIHtpZiAkbW9kLT5DYW5FZGl0UmVzZXJ2YXRpb25zKCkgJiYgJGRhdGEuaWQgPiAwfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZGVsZXRlX3Jlc3ZuJyBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGltYWdlb25seT0xIHJlc3ZuaWQ9JGRhdGEuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGUnKSBjb25mbWVzc2FnZT0kbW9kLT5MYW5nKCdhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJyl9ey9pZn08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_resvn_old.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gb25fY2hhbmdlX2N1c3RvbWVyKCkKewogIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VyaW5mbycpOwogIGVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cn0KCmZ1bmN0aW9uIHZpZXdfdXNlcigpCnsKICB2YXIgYmFyZV91cmwgPSAiey9saXRlcmFsfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUZyb250RW5kVXNlcnMgYWN0aW9uPXZpZXd1c2VyIHVpZD1jaGFuZ2VtZSBwYWdlPSRkZWZhdWx0X2NvbnRlbnRfaWQgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgdmFyIGVsICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXRfY3VzdG9tZXJfaWQnKTsKICB2YXIgaWR4ICA9IGVsLnNlbGVjdGVkSW5kZXg7CiAgdmFyIHZhbCAgPSBlbFtpZHhdLnZhbHVlOwogIHZhciB0bXAgID0gYmFyZV91cmwucmVwbGFjZSgnY2hhbmdlbWUnLHZhbCkgKyAnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIHVybCAgPSB0bXAucmVwbGFjZSgvYW1wOy9nLCcnKTsKCiAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXNlcmluZm8nKTsKICAvLyBkbyBqcXVlcnkgYWpheCBzdHVmZgogIGpRdWVyeSgnI3VzZXJpbmZvJykubG9hZCh1cmwpOwogIC8vIGFuZCBkaXNwbGF5IHRoZSBlbGVtZW50IChiZSBuaWNlIGlmIHdlIGNvdWxkIGFuaW1hdGUgdGhpcykKICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKfQo8L3NjcmlwdD4Key9saXRlcmFsfQoKe2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMucmVzdm5pZCl9CjxoMz57JG1vZC0+TGFuZygnZWRpdF9yZXNlcnZhdGlvbicpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9yZXNlcnZhdGlvbicpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjdXN0b21lcl9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICB7JGlucHV0X2N1c3RvbWVyX2lkfSZuYnNwOwogIDxhIGhyZWY9ImphdmFzY3JpcHQ6dmlld191c2VyKCk7IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2luZm9fdmlld191c2VyJyl9Ij57Y2dpbWFnZSBpbWFnZT0iaWNvbnMvc3lzdGVtL3ZpZXcuZ2lmIiBhbHQ9JG1vZC0+TGFuZygndmlld191c2VyJyl9PC9hPiZuYnNwOwogIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdGcm9udEVuZFVzZXJzJyBhY3Rpb249J2FkZHVzZXInIHVybG9ubHk9MSBtZW1iZXJvZj0kbWVtYmVyb2YgcmV0dXJudG89J0F2YWlsYWJpbGl0eSxhZG1pbl9lZGl0X3Jlc3ZuJyBhc3NpZ249J3VybCd9PGEgaHJlZj0ieyR1cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2luZm9fYWRkX3VzZXJfYWNjb3VudCcpfSI+e2NnaW1hZ2UgaW1hZ2U9Imljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiBhbHQ9IiJ9Jm5ic3A7eyRtb2QtPkxhbmcoJ2FkZF91c2VyX2FjY291bnQnKX08L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZXRleHQiIGlkPSJ1c2VyaW5mbyIgc3R5bGU9ImJvcmRlcjogMXB4IGRhc2hlZCByZWQ7IHdpZHRoOiA0MCU7IGRpc3BsYXk6IG5vbmU7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfcHJpY2UiIGlkPSJwcmljZSIgdmFsdWU9InskZGF0YS5wcmljZX0iIHNpemU9IjEwIiBtYXhsZW5ndGg9IjEwIj4KICAgICZuYnNwOyZuYnNwO3skbW9kLT5MYW5nKCdjYWxjdWxhdGVkX3ByaWNlJyl9OiZuYnNwO3skbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9Jm5ic3A7PHNwYW4gaWQ9ImNhbGNwcmljZSI+eyRtb2QtPkxhbmcoJ25vdF9jYWxjdWxhdGVkJyl9PC9zcGFuPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdldGV4dCI+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fcGFydHMnKX08L2xlZ2VuZD4KPGRpdiBpZD0icmVzb3VyY2VMaXN0Ij4KICB7KiAKICAgKiBiZWdpbiByZXNvdXJjZSByb3cgdGVtcGxhdGUgCiAgICp9CiAgPGRpdiBpZD0icmVzb3VyY2VUZW1wbGF0ZSIgbmFtZT0icmVzb3VyY2VSb3ciIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8cD4KICAgICAgPHNwYW4gY2xhc3M9InJvd251bSIgbmFtZT0ieyRhY3Rpb25pZH1yc3JjbnVtX1hYIj4wPC9zcGFuPiZuYnNwOwogICAgICA8c2VsZWN0IGNsYXNzPSJzZWxyc3JjIiBuYW1lPSJ7JGFjdGlvbmlkfXNlbHJzcmNfWFgiPgogICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcnNyY19saXN0fQogICAgICA8L3NlbGVjdD4KCiAgICAgIHsqIHN0YXJ0IGRhdGUgYW5kIHRpbWUgKn0KICAgICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9c3RhcnRkYXRlX1hYey9jYXB0dXJlfQogICAgICA8c3BhbiBjbGFzcz0ic3RhcnRfZGF0ZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgeyRtb2QtPkxhbmcoJ3N0YXJ0X2RhdGUnKX06Jm5ic3A7e2h0bWxfc2VsZWN0X2RhdGUgZW5kX3llYXI9KzUgcHJlZml4PSR0bXB9CiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InN0YXJ0X3RpbWUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgIHskbW9kLT5MYW5nKCdhdCcpfSZuYnNwO3todG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InN0YXJ0X21lcmlkaWFuIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICB7JG1vZC0+TGFuZygnYXQnKX0mbmJzcDsKICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXN0YXJ0ZGF0ZV9YWE1lcmlkaWFuIiBjbGFzcz0ibWVyaWRpYW4iPgogICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kbWVyaWRpYW5zfQogICAgICAgICA8L3NlbGVjdD4KICAgICAgPC9zcGFuPgoKICAgICAgeyogZW5kIGRhdGUgYW5kIHRpbWUgPyp9CiAgICAgIDxzcGFuIGNsYXNzPSJlbmRfaW5mbyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9ZW5kZGF0ZV9YWHsvY2FwdHVyZX0KICAgICAgJm5ic3A7eyRtb2QtPkxhbmcoJ2VuZF9kYXRlJyl9Jm5ic3A7e2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSR0bXAgZW5kX3llYXI9KzV9CiAgICAgIDwvc3Bhbj4KCiAgICAgIHsqIGNoZWNrIGJ1dHRvbiAqfQogICAgICB7KiBkZWwgYnV0dG9uICp9CiAgICAgIDxzcGFuIGNsYXNzPSJidXR0b25zIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICA8YSBocmVmPSIjIiBuYW1lPSJjaGVja19yb3dfWFgiIGNsYXNzPSJjaGVja19yb3ciPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vaW5mby5naWYnIGFsdD0kbW9kLT5MYW5nKCdjaGVja19hdmFpbGFiaWxpdHknKX08L2E+CiAgICAgIDxhIGhyZWY9IiMiIG5hbWU9ImRlbF9yb3dfWFgiIGNsYXNzPSJkZWxfcm93Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX08L2E+CiAgICAgIDwvc3Bhbj4KICAgIDwvcD4KICAgIDxwIGNsYXNzPSJyc3JjaW5mbyIgc3R5bGU9Im1hcmdpbi1yaWdodDogM2VtOyBkaXNwbGF5OiBub25lOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJncmFudWxhcml0eSI+PC9zcGFuPiZuYnNwOyZuYnNwOwogICAgPC9wPgogICAgPHAgY2xhc3M9InJzcmNhdmFpbCIgc3R5bGU9Im1hcmdpbi1yaWdodDogM2VtOyBkaXNwbGF5OiBub25lOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJtZXNzYWdlIj48L3NwYW4+Jm5ic3A7Jm5ic3A7CiAgICAgIHskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeWJtb2wnLCckJyl9PHNwYW4gY2xhc3M9InByaWNlIj48L3NwYW4+CiAgICA8L3A+CiAgPC9kaXY+CiAgeyogZW5kIHJlc291cmNlIHJvdyB0ZW1wbGF0ZSAqfQoKICB7KiBhZGQgYnV0dG9uICp9CiAgPHA+IAogICAgPGlucHV0IGlkPSJhZGRSZXNvdXJjZSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FkZCcpfSIvPgogIDwvcD4KCiAgeyogZXhpc3RpbmcgcGFydHMgKn0KICB7Zm9yZWFjaCBmcm9tPSRkYXRhLnBhcnRzIGl0ZW09J3BhcnQnIG5hbWU9J3BhcnRzJ30KICA8ZGl2IG5hbWU9InJlc291cmNlUm93Ij4KICAgIDxwPgogICAgICA8c3BhbiBjbGFzcz0icm93bnVtIiBuYW1lPSJ7JGFjdGlvbmlkfXJzcmNudW0iPnskc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufTwvc3Bhbj4mbmJzcDsKICAgICAgPHNlbGVjdCBjbGFzcz0ic2VscnNyYyIgbmFtZT0ieyRhY3Rpb25pZH1zZWxyc3JjX3skc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufSI+CiAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRyc3JjX2xpc3Qgc2VsZWN0ZWQ9JHBhcnQuZXh0X3JzcmNpZH0KICAgICAgPC9zZWxlY3Q+CgogICAgICB7KiBzdGFydCBkYXRlIGFuZCB0aW1lICp9CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfXN0YXJ0ZGF0ZV97JHNtYXJ0eS5mb3JlYWNoLnBhcnRzLml0ZXJhdGlvbn17L2NhcHR1cmV9CiAgICAgIDxzcGFuIGNsYXNzPSJzdGFydF9kYXRlIj4KICAgICAgICB7JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTombmJzcDt7aHRtbF9zZWxlY3RfZGF0ZSBlbmRfeWVhcj0rNSBwcmVmaXg9JHRtcCB0aW1lPSRwYXJ0LnN0YXJ0X2RhdGV9CiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InN0YXJ0X3RpbWUie2lmICRwYXJ0LmV4dF9wYXJ0X3R5cGUgIT0gImhvdXJseSJ9IHN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KICAgICAgICB7JG1vZC0+TGFuZygnYXQnKX0mbmJzcDt7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1IHRpbWU9JHBhcnQuc3RhcnRfZGF0ZX0KICAgICAgPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0ic3RhcnRfbWVyaWRpYW4ie2lmICRwYXJ0LmV4dF9wYXJ0X3R5cGUgIT0gJ2hhbGZfZGF5J30gc3R5bGU9ImRpc3BsYXk6IG5vbmU7InsvaWZ9PgogICAgICAgIHskbW9kLT5MYW5nKCdhdCcpfSZuYnNwOwogICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zdGFydGRhdGVfeyRzbWFydHkuZm9yZWFjaC5wYXJ0cy5pdGVyYXRpb259TWVyaWRpYW4iIGNsYXNzPSJtZXJpZGlhbiI+CiAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG1lcmlkaWFucyBzZWxlY3RlZD0kcGFydC5tZXJpZGlhbn0geyogdG9kbyAqfQogICAgICAgIDwvc2VsZWN0PgogICAgICA8L3NwYW4+CgogICAgICB7KiBlbmQgZGF0ZSBhbmQgdGltZSA/Kn0KICAgICAgPHNwYW4gY2xhc3M9ImVuZF9pbmZvIntpZiAkcGFydC5leHRfcGFydF90eXBlICE9ICdkYWlseSd9IHN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KICAgICAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1lbmRkYXRlX3skc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufXsvY2FwdHVyZX0KICAgICAgICAmbmJzcDt7JG1vZC0+TGFuZygnZW5kX2RhdGUnKX0mbmJzcDt7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBlbmRfeWVhcj0rNSB0aW1lPSRwYXJ0LmVuZF9kYXRlfQogICAgICA8L3NwYW4+CgogICAgICB7KiBjaGVjayBidXR0b24gKn0KICAgICAgeyogZGVsIGJ1dHRvbiAqfQogICAgICA8c3BhbiBjbGFzcz0iYnV0dG9ucyI+CiAgICAgICAgPGEgaHJlZj0iIyIgbmFtZT0iY2hlY2tfcm93IiBjbGFzcz0iY2hlY2tfcm93Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2luZm8uZ2lmJyBhbHQ9JG1vZC0+TGFuZygnY2hlY2tfYXZhaWxhYmlsaXR5Jyl9PC9hPgogICAgICAgIDxhIGhyZWY9IiMiIG5hbWU9ImRlbF9yb3ciIGNsYXNzPSJkZWxfcm93Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX08L2E+CiAgICAgIDwvc3Bhbj4KICAgIDwvcD4KICAgIDxwIGNsYXNzPSJyc3JjaW5mbyIgc3R5bGU9Im1hcmdpbi1yaWdodDogM2VtOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJncmFudWxhcml0eSI+eyRwYXJ0LmV4dF9zdW1tYXJ5fTwvc3Bhbj4mbmJzcDsmbmJzcDsKICAgIDwvcD4KICAgIDxwIGNsYXNzPSJyc3JjYXZhaWwiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDNlbTsiPgogICAgICA8c3BhbiBjbGFzcz0ibWVzc2FnZSI+PC9zcGFuPiZuYnNwOyZuYnNwOwogICAgICB7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3libW9sJywnJCcpfTxzcGFuIGNsYXNzPSJwcmljZSI+eyRwYXJ0LnByaWNlfTwvc3Bhbj4KICAgIDwvcD4KICA8L2Rpdj4KICB7L2ZvcmVhY2h9CjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8L2Rpdj4KCntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgdmFyIG51bXJvd3M9ey9saXRlcmFsfXskc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufXtsaXRlcmFsfTsKICB2YXIgY2hlY2tfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fY2hlY2tfYXZhaWwgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgY2hlY2tfdXJsID0gY2hlY2tfdXJsLnJlcGxhY2UoL2FtcDsvZywnJykrJyZzdXBwcmVzc291dHB1dD1mYWxzZSc7CiAgdmFyIHJzcmNfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fcnNyY19pbmZvIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIHJzcmNfdXJsID0gcnNyY191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnN1cHByZXNzb3V0cHV0PWZhbHNlJzsKCiAgdmFyIGFjdGlvbmlkID0gJ3svbGl0ZXJhbH17JGFjdGlvbmlkfXtsaXRlcmFsfSc7CgogIGpRdWVyeS5leHRlbmQoewogICAgICBwb3N0SlNPTjogZnVuY3Rpb24oIHVybCwgZGF0YSwgY2FsbGJhY2sgKSB7CiAgICAgICAgICAgcmV0dXJuIGpRdWVyeS5wb3N0KHVybCwgZGF0YSwgY2FsbGJhY2ssICJqc29uIik7CiAgICAgIH0KICB9KTsKCgogIGZ1bmN0aW9uIGJ1aWxkX2RhdGUoY29udGFpbmVyLHByZWZpeCxudW0sdGltZSkKICB7CiAgICB0aW1lID0gdHlwZW9mKHRpbWUpICE9ICd1bmRlZmluZWQnID8gdGltZSA6IDE7CgogICAgdmFyIHN0YXJ0X3llYXI9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydZZWFyJysnXCddJykudmFsKCk7CiAgICB2YXIgc3RhcnRfbW9udGg9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydNb250aCcrJ1wnXScpLnZhbCgpOwogICAgdmFyIHN0YXJ0X2RheT1jb250YWluZXIuZmluZCgnW25hbWU9XCcnK2FjdGlvbmlkK3ByZWZpeCtudW0rJ0RheScrJ1wnXScpLnZhbCgpOwoKICAgIGlmKCB0aW1lICkKICAgIHsKICAgICAgdmFyIHN0YXJ0X2hvdXI9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydIb3VyJysnXCddJykudmFsKCk7CiAgICAgIHZhciBzdGFydF9taW51dGU9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydNaW51dGUnKydcJ10nKS52YWwoKTsKICAgIH0KCiAgICB2YXIgc3RyID0gc3RhcnRfbW9udGgrJy8nK3N0YXJ0X2RheSsnLycrc3RhcnRfeWVhcjsKICAgIGlmKCB0aW1lICkKICAgIHsgCiAgICAgIHN0ciArPSAnICcrc3RhcnRfaG91cisnOicrc3RhcnRfbWludXRlKyc6MDAnOwogICAgfQogICAgcmV0dXJuIHN0cjsKICB9CgogIGZ1bmN0aW9uIGNhbGN1bGF0ZV90b3RhbF9wcmljZSgpCiAgewogICAgdmFyIHRvdGFscHJpY2UgPSAwOwogICAgJCgnI3Jlc291cmNlTGlzdCcpLmZpbmQoJy5wcmljZScpLmVhY2goZnVuY3Rpb24oaSkgewogICAgICB2YXIgY3VycmVudEVsZW0gPSAkKHRoaXMpOwogICAgICBpZiggY3VycmVudEVsZW0uaHRtbCgpICE9ICcnICkKICAgICAgICAgewogICAgICAgICAgIHRvdGFscHJpY2UgKz0gcGFyc2VGbG9hdChjdXJyZW50RWxlbS5odG1sKCkpOwogICAgICAgICB9CiAgICB9KTsKICAgICQoJyNjYWxjcHJpY2UnKS5odG1sKHRvdGFscHJpY2UudG9TdHJpbmcoKSk7CiAgICAkKCcjcHJpY2UnKS52YWwodG90YWxwcmljZS50b1N0cmluZygpKTsKICB9CgogIGZ1bmN0aW9uIGFkZHJvdygpCiAgeyAgCQkJCiAgICBudW1yb3dzKys7CiAgICBuZXdyc3JjID0gJCgiI3Jlc291cmNlVGVtcGxhdGUiKS5jbG9uZSh0cnVlKTsKICAgIG5ld3JzcmMuYXR0cignaWQnLG5ld3JzcmMuYXR0cignaWQnKStudW1yb3dzKTsKICAgIG5ld3JzcmMuZmluZCgnc3Bhbi5yb3dudW0nKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCXZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKCWN1cnJlbnRFbGVtLmh0bWwobnVtcm93cyk7ICAgICAgICAKICAgIH0pOwogICAgbmV3cnNyYy5maW5kKCJzZWxlY3QiKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCXZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKCWN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiLGN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiKS5yZXBsYWNlKCdYWCcsbnVtcm93cykpOwoJLy9jdXJyZW50RWxlbS5hdHRyKCJpZCIsY3VycmVudEVsZW0uYXR0cigiaWQiKStudW1yb3dzKTsKICAgIH0pOwogICAgbmV3cnNyYy5maW5kKCJpbnB1dCIpLmVhY2goZnVuY3Rpb24oaSkgewoJdmFyIGN1cnJlbnRFbGVtPSAkKHRoaXMpOwoJY3VycmVudEVsZW0uYXR0cigibmFtZSIsY3VycmVudEVsZW0uYXR0cigibmFtZSIpLnJlcGxhY2UoJ1hYJyxudW1yb3dzKSk7CgkvL2N1cnJlbnRFbGVtLmF0dHIoImlkIixjdXJyZW50RWxlbS5hdHRyKCJpZCIpK251bXJvd3MpOwogICAgfSk7CiAgICBuZXdyc3JjLmZpbmQoImEiKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCXZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKCWN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiLGN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiKS5yZXBsYWNlKCdYWCcsbnVtcm93cykpOwoJLy9jdXJyZW50RWxlbS5hdHRyKCJpZCIsY3VycmVudEVsZW0uYXR0cigiaWQiKStudW1yb3dzKTsKICAgIH0pOwoJCQkKICAgIG5ld3JzcmMuYXBwZW5kVG8oIiNyZXNvdXJjZUxpc3QiKTsKICAgIG5ld3JzcmMuZmFkZUluKCk7CiAgfQoKCiAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICQuYWpheFNldHVwKHsKICAgICAgdGltZW91dDogMjAwMAogICAgfSk7CgogICAgYWRkcm93KCk7CiAgICBqUXVlcnkoJy5jaGVja19yb3cnKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgIHZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKICAgICAgIHZhciBwYXJlbnQgPSBjdXJyZW50RWxlbS5wYXJlbnQoKS5wYXJlbnQoKTsKICAgICAgIHZhciBjb250YWluZXIgPSBjdXJyZW50RWxlbS5wYXJlbnRzKCJbbmFtZT0ncmVzb3VyY2VSb3cnXSIpOwogICAgICAgdmFyIHJvdyA9IGNvbnRhaW5lci5maW5kKCcucm93bnVtJykuaHRtbCgpOwoKICAgICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICAgICBvYmoucnNyY19pZCA9IGNvbnRhaW5lci5maW5kKCcuc2VscnNyYycpLnZhbCgpLnNwbGl0KCcsJylbMF07CiAgICAgICBvYmouc3RhcnRfZGF0ZSA9IGJ1aWxkX2RhdGUoY29udGFpbmVyLCdzdGFydGRhdGVfJyxyb3cpOwogICAgICAgb2JqLmVuZF9kYXRlID0gYnVpbGRfZGF0ZShjb250YWluZXIsJ2VuZGRhdGVfJyxyb3csMCk7CiAgICAgICBvYmoubnVtX3Blb3BsZSA9IDEwOyAvLyB0b2RvCiAgICAgICBvYmoubWVyaWRpYW4gPSBjb250YWluZXIuZmluZCgnLm1lcmlkaWFuJykudmFsKCk7CiAgICAgICB2YXIgc3RyID0gJC50b0pTT04ob2JqKTsKICAgICAgIHZhciBqc29uID0gJC5wb3N0KGNoZWNrX3VybCwgeyBkYXRhOiBzdHIgfSwgCiAgICAgICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5tZXNzYWdlJykuaHRtbChyZXNwb25zZS5yZXN1bHQpOwoJICAgICBjb250YWluZXIuZmluZCgnLnByaWNlJykuaHRtbChyZXNwb25zZS5wcmljZSk7CiAgICAgICAgICAgICBjb250YWluZXIuZmluZCgnLnJzcmNhdmFpbCcpLnNob3coKTsKCSAgICAgY2FsY3VsYXRlX3RvdGFsX3ByaWNlKCk7CiAgICAgICAgICAgfSwgCiAgICAgICAgICAgJ2pzb24nKTsKICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwogICAgalF1ZXJ5KCcuc2VscnNyYycpLmNoYW5nZShmdW5jdGlvbigpIHsKICAgICAgIHZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKICAgICAgIHZhciB2YWwgPSBjdXJyZW50RWxlbS52YWwoKS5zcGxpdCgnLCcpOwogICAgICAgdmFyIGNvbnRhaW5lciA9IGN1cnJlbnRFbGVtLnBhcmVudHMoIltuYW1lPSdyZXNvdXJjZVJvdyddIik7CiAgICAgICBpZiggdmFsWzFdID09ICdkJyApCiAgICAgICB7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X2RhdGUnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLmJ1dHRvbnMnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X3RpbWUnKS5oaWRlKCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X21lcmlkaWFuJykuaGlkZSgpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5lbmRfaW5mbycpLnNob3coKTsKICAgICAgIH0KICAgICAgIGVsc2UgaWYoIHZhbFsxXSA9PSAncCcgKQogICAgICAgewogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF9kYXRlJykuc2hvdygpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5idXR0b25zJykuc2hvdygpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF90aW1lJykuaGlkZSgpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF9tZXJpZGlhbicpLnNob3coKTsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuZW5kX2luZm8nKS5oaWRlKCk7CiAgICAgICB9CiAgICAgICBlbHNlIGlmKCB2YWxbMV0gIT0gJy0xJyApCiAgICAgICB7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X2RhdGUnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLmJ1dHRvbnMnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLmVuZF9pbmZvJykuaGlkZSgpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF90aW1lJykuc2hvdygpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF9tZXJpZGlhbicpLmhpZGUoKTsKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuc3RhcnRfZGF0ZScpLmhpZGUoKTsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuYnV0dG9ucycpLmhpZGUoKTsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuZW5kX2luZm8nKS5oaWRlKCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X3RpbWUnKS5oaWRlKCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X21lcmlkaWFuJykuaGlkZSgpOwogICAgICAgfQoKICAgICAgIGNvbnRhaW5lci5maW5kKCcucnNyY2F2YWlsJykuaGlkZSgpOwogICAgICAgdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKICAgICAgIG9iai5yc3JjX2lkID0gY29udGFpbmVyLmZpbmQoJy5zZWxyc3JjJykudmFsKCkuc3BsaXQoJywnKVswXTsKICAgICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwogICAgICAgJC5wb3N0KHJzcmNfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKICAgICAgICAgICAgICBpZihyZXNwb25zZS5yZXN1bHQgPT0gJ3N1Y2Nlc3MnICkKCSAgICAgIHsKICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZCgnLmdyYW51bGFyaXR5JykuaHRtbChyZXNwb25zZS5zdW1tYXJ5KTsKICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZCgnLnJzcmNpbmZvJykuc2hvdygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICB9LAoJICAgJ2pzb24nKTsKICAgIH0pOwogICAgalF1ZXJ5KCcuZGVsX3JvdycpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgdmFyIGN1cnJlbnRFbGVtPSAkKHRoaXMpOwogICAgICAgdmFyIGNvbnRhaW5lciA9IGN1cnJlbnRFbGVtLnBhcmVudHMoIltuYW1lPSdyZXNvdXJjZVJvdyddIik7CiAgICAgICBjb250YWluZXIucmVtb3ZlKCk7CiAgICAgICBjYWxjdWxhdGVfdG90YWxfcHJpY2UoKTsKICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwogICAgalF1ZXJ5KCcjYWRkUmVzb3VyY2UnKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgIGFkZHJvdygpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CiAgfSk7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXR1cycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9zdGF0dXMiPgogICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc3RhdHVzZXMgc2VsZWN0ZWQ9JGRhdGEuc3RhdHVzfQogICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbnVtcGVvcGxlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWRtaW5fbm90ZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5fbm90ZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17aWYgJG1vZC0+Q2FuRWRpdFJlc2VydmF0aW9ucygpfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZGVsZXRlX3Jlc3ZuJyBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGltYWdlb25seT0xIHJlc3ZuaWQ9JGRhdGEuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGUnKSBjb25mbWVzc2FnZT0kbW9kLT5MYW5nKCdhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJyl9ey9pZn08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_rsrc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMucnNyY2lkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0Jyl9IHskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGQnKX0geyRtb2QtPkdldFJlc291cmNlVHlwZSgpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KeyRtb2QtPlN0YXJ0VGFiSGVhZGVycygpfQp7JG1vZC0+U2V0VGFiSGVhZGVyKCdyZXNvdXJjZXMnLCRtb2QtPkdldFJlc291cmNlVHlwZSgpKX0KeyRtb2QtPlNldFRhYkhlYWRlcignc2NoZWR1bGluZycsJG1vZC0+TGFuZygnc2NoZWR1bGluZycpKX0KeyRtb2QtPlNldFRhYkhlYWRlcigncHJpY2luZycsJG1vZC0+TGFuZygncHJpY2VzJykpfQp7JG1vZC0+RW5kVGFiSGVhZGVycygpfQoKeyRtb2QtPlN0YXJ0VGFiQ29udGVudCgpfQoKeyRtb2QtPlN0YXJ0VGFiKCdyZXNvdXJjZXMnKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhY3RpdmUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWN0aXZlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGVzY3JpcHRpb259PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWRtaW5fbm90ZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5fbm90ZXN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2FwYWNpdHknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X2NhcGFjaXR5Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRsaXN0X2NhcGFjaXRpZXMgc2VsZWN0ZWQ9JHJzcmMuY2FwYWNpdHl9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhbGxvd19vdmVyY2FwYWNpdHknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfb3ZlcmNhcGFjaXR5fTwvcD4KPC9kaXY+CgoKeyogY3VzdG9tIGZpZWxkcyAqfQp7Zm9yZWFjaCBmcm9tPSRmaWVsZHMgaXRlbT0nb25lZmllbGQnfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIHskb25lZmllbGQuaGlkZGVufQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvbmVmaWVsZC5wcm9tcHR9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aWYgaXNzZXQoJG9uZWZpZWxkLmRpc3BsYXlfdmFsdWUpfTxzdHJvbmc+eyRvbmVmaWVsZC5kaXNwbGF5X3ZhbHVlfTwvc3Ryb25nPntpZiBpc3NldCgkb25lZmllbGQuZGVsZXRlX2ZpZWxkKX0mbmJzcDt7JG1vZC0+TGFuZygnZGVsZXRlJyl9OiB7JG9uZWZpZWxkLmRlbGV0ZV9maWVsZH17L2lmfTxici8+ey9pZn17JG9uZWZpZWxkLmZpZWxkfTwvcD4gICAKPC9kaXY+CnsvZm9yZWFjaH0KCnsqIGNhdGVnb3JpZXMgKn0Ke2lmIGlzc2V0KCRjYXRlZ29yaWVzKX0KPGZpZWxkc2V0PgogIDxsZWdlbmQ+Jm5ic3A7eyRtb2QtPkxhbmcoJ2NhdGVnb3JpZXMnKX06Jm5ic3A7PC9sZWdlbmQ+CiAge2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcyBpdGVtPSdvbmVjYXQnfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb25lY2F0Lm5hbWV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb25lY2F0LmZpZWxkfTwvcD4KICA8L2Rpdj4KICB7L2ZvcmVhY2h9CjwvZmllbGRzZXQ+CnsvaWZ9CnskbW9kLT5FbmRUYWIoKX0KCnsqIHNjaGVkdWxpbmcgdGFiICp9CntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIG9uX3RpbWVfaW50ZXJ2YWwoKQp7CiAgdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGZsdF9pbnRlcnZhbCcpOwogIHZhciBob3VybHlkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG91cmx5Jyk7CiAgdmFyIGRhaWx5ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhaWx5Jyk7CiAgdmFyIGludGVydmFsc2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1laW50ZXJ2YWxzJyk7CiAgdmFyIGdyYW51bGFyaXR5ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyYW51bGFyaXR5Jyk7CiAgdmFyIGlkeCA9IGVsZW0uc2VsZWN0ZWRJbmRleDsgICAKICB2YXIgdmFsID0gZWxlbVtpZHhdLnZhbHVlOwoKICBpZiggdmFsID09ICdob3VybHknKQogIHsKICAgIGhvdXJseWRpdi5zdHlsZS5kaXNwbGF5PSdibG9jayc7CiAgICBpbnRlcnZhbHNkaXYuc3R5bGUuZGlzcGxheT0nYmxvY2snOwogICAgZGFpbHlkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgfQogIGVsc2UgaWYoIHZhbCA9PSAnZGFpbHknICkKICB7CiAgICBob3VybHlkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICBpbnRlcnZhbHNkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICBkYWlseWRpdi5zdHlsZS5kaXNwbGF5PSdibG9jayc7CiAgfQogIGVsc2UgewogICAgaG91cmx5ZGl2LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgaW50ZXJ2YWxzZGl2LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICAgIGRhaWx5ZGl2LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogIH0KfSAKPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCnskbW9kLT5TdGFydFRhYignc2NoZWR1bGluZycpfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzY2hlZHVsaW5nX2ludGVydmFsJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXJlc19pbnRlcnZhbCIgaWQ9ImRmbHRfaW50ZXJ2YWwiIG9uY2hhbmdlPSJvbl90aW1lX2ludGVydmFsKCk7Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRpbnRlcnZhbHMgc2VsZWN0ZWQ9JHJzcmMucmVzX2ludGVydmFsfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KCnsqIGZvciBob3VybHkgaW50ZXJ2YWxzICAqfQo8ZGl2IGlkPSJob3VybHkiIHtpZiAkcnNyYy5yZXNfaW50ZXJ2YWwgIT0gImhvdXJseSJ9c3R5bGU9ImRpc3BsYXk6IG5vbmU7InsvaWZ9ID4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBpZD0iZ3JhbnVsYXJpdHkiPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlZmF1bHRfZ3JhbnVsYXJpdHknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWdyYW51bGFyaXR5Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRncmFudWxhcml0eSBzZWxlY3RlZD0kcnNyYy5ncmFudWxhcml0eX0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjwvZGl2PgoKPGRpdiBpZD0idGltZWludGVydmFscyIge2lmICRyc3JjLnJlc19pbnRlcnZhbCA9PSAiZGFpbHkifXN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGFydF90aW1lXzEnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9c3RhcnR0aW1lMV97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRyc3JjLnN0YXJ0dGltZTEgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbmRfdGltZV8xJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWVuZHRpbWUxX3svY2FwdHVyZX0KICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JHJzcmMuZW5kdGltZTEgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGFydF90aW1lXzInKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9c3RhcnR0aW1lMl97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRyc3JjLnN0YXJ0dGltZTIgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbmRfdGltZV8yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWVuZHRpbWUyX3svY2FwdHVyZX0KICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JHJzcmMuZW5kdGltZTIgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0KICA8L3A+CjwvZGl2Pgo8L2Rpdj4KCnsqIGZvciBkYWlseSBpbnRlcnZhbHMgKn0KPGRpdiBpZD0iZGFpbHkiIHtpZiAkcnNyYy5yZXNfaW50ZXJ2YWwgIT0gImRhaWx5In1zdHlsZT0iZGlzcGxheTogbm9uZTsiey9pZn0+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9Y2hlY2tpbl97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2hlY2tpbl90aW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRyc3JjLmNoZWNraW50aW1lIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1jaGVja291dF97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2hlY2tvdXRfdGltZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXAgdGltZT0kcnNyYy5jaGVja291dHRpbWUgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0gPC9wPgo8L2Rpdj4KPC9kaXY+Cgp7JG1vZC0+RW5kVGFiKCl9CgoKeyogcHJpY2luZyB0YWIgKn0KeyRtb2QtPlN0YXJ0VGFiKCdwcmljaW5nJyl9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdiYXNpY19wcmljaW5nJyl9OiZuYnNwOzwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Jhc2VfcHJpY2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyRpbnB1dF9iYXNlX3ByaWNlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb3ZlcmNhcF9hbW91bnQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX08aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1vdmVyY2FwX2Ftb3VudCIgc2l6ZT0iNiIgbWF4bGVuZ3RoPSI2IiB2YWx1ZT0ieyRhZGp1c3RzLm92ZXJjYXB9Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fb3ZlcmNhcF9hbW91bnQnKX0KICA8L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKeyogd2Vla2RheSBhZGp1c3RzICp9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJyl9OiZuYnNwOzwvbGVnZW5kPgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij57JG1vZC0+TGFuZygnaW5mb19hZGp1c3RtZW50X3ZhbHVlcycpfTwvcD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdW5kYXknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyRzdW5kYXlfYWRqdXN0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbW9uZGF5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXskbW9uZGF5X2FkanVzdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3R1ZXNkYXknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyR0dWVzZGF5X2FkanVzdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3dlZG5lc2RheScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17JHdlZG5lc2RheV9hZGp1c3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0aHVyc2RheScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17JHRodXJzZGF5X2FkanVzdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ZyaWRheScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17JGZyaWRheV9hZGp1c3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzYXR1cmRheScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17JHNhdHVyZGF5X2FkanVzdH08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0Pgp7KiBlbmQgd2Vla2RheSBhZGp1c3RzICp9Cgp7KiBleHRlbmRlZCB1c2UgZGlzY291bnRzICp9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdleHRlbmRlZF91c2VfZGlzY291bnRzJyl9OiZuYnNwOzwvbGVnZW5kPgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij57JG1vZC0+TGFuZygnaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnKX08L3A+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGlzY291bnRfdHlwZScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1kaXNjb3VudF90eXBlIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRkaXNjb3VudF90eXBlcyBzZWxlY3RlZD0kYWRqdXN0cy5kaXNjb3VudF90eXBlfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkaXNjb3VudF9taW5fYmxvY2tzJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGlzY291bnRfZGF5cyIgdmFsdWU9InskYWRqdXN0cy5kaXNjb3VudF9kYXlzfSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIi8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkaXNjb3VudF9hZGp1c3RtZW50Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGlzY291bnRfYWRqdXN0IiB2YWx1ZT0ieyRhZGp1c3RzLmRpc2NvdW50X2FkanVzdH0iIHNpemU9IjEwIiBtYXhsZW5ndGg9IjMwIi8+CiAgPC9wPgo8L2Rpdj4KCjwvZmllbGRzZXQ+CnsqIGVuZCBleHRlbmRlZCB1c2UgZGlzY291bnRzICp9CnskbW9kLT5FbmRUYWIoKX0KCnskbW9kLT5FbmRUYWJDb250ZW50KCl9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_events_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWx0ZXInKX06PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3VzZV9kYXRlc19pbl9maWx0ZXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2VfZGF0ZXN9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1pbnB1dF9zdGFydGRhdGVfey9jYXB0dXJlfQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPS0yMCBlbmRfeWVhcj0rMjAgdGltZT0kaW5wdXRfc3RhcnRkYXRlfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9aW5wdXRfZW5kZGF0ZV97L2NhcHR1cmV9CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBlbmRfeWVhcj0tMjAgZW5kX3llYXI9KzIwIHRpbWU9JGlucHV0X2VuZGRhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdldmVudF90eXBlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdHlwZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Jvb2thYmxlX2JyJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYm9va2FibGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwYWdlX2xpbWl0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZWxpbWl0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJ0bmZpbHRlcn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cjxici8+CnskZm9ybWVuZH0KCntpZiBpc3NldCgkZXZlbnRzKX0KICB7aWYgJHBhZ2Vjb3VudCA+IDF9CiAgPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7aWYgJGN1cnBhZ2VfZXYgPiAxfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZV9ldj0xIHRleHQ9JG1vZC0+TGFuZygnZmlyc3RwYWdlJykgY2dfYWN0aXZldGFiPSdldmVudHMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZV9ldj0kcHJldnBhZ2UgdGV4dD0kbW9kLT5MYW5nKCdwcmV2cGFnZScpIGNnX2FjdGl2ZXRhYj0nZXZlbnRzJ30mbmJzcDsKICAgIHsvaWZ9CiAgICB7JG1vZC0+TGFuZygncGFnZScpfSB7JGN1cnBhZ2VfZXZ9IHskbW9kLT5MYW5nKCdvZicpfSB7JHBhZ2Vjb3VudH0mbmJzcDsKICAgIHtpZiAkY3VycGFnZV9ldiA8ICRwYWdlY291bnR9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nZGVmYXVsdGFkbWluJyBjdXJwYWdlX2V2PSRuZXh0cGFnZSB0ZXh0PSRtb2QtPkxhbmcoJ25leHRwYWdlJykgY2dfYWN0aXZldGFiPSdldmVudHMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZV9ldj0kcGFnZWNvdW50IHRleHQ9JG1vZC0+TGFuZygnbGFzdHBhZ2UnKSBjZ19hY3RpdmV0YWI9J2V2ZW50cyd9Jm5ic3A7CiAgICB7L2lmfQogIDwvcD4KICB7L2lmfQogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCI+CiAgICA8dGhlYWQ+IAogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3R5cGUnKX08L3RoPgoJPHRoPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9PC90aD4KCTx0aD57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnYm9va2FibGVfYnInKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRldmVudHMgaXRlbT0nb25lZXZlbnQnfQogICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogICAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfZXZlbnQnIGV2ZW50aWQ9JG9uZWV2ZW50LmlkIHRleHQ9JG9uZWV2ZW50Lm5hbWUgdGl0bGU9JG1vZC0+TGFuZygnZWRpdF9ldmVudCcpfTwvdGQ+CiAgICAgICAgPHRkPnskbW9kLT5HZXRFdmVudFR5cGVGcm9tSUQoJG9uZWV2ZW50LmV2ZW50X3R5cGVfaWQpfTwvdGQ+CiAgICAJPHRkPnskb25lZXZlbnQuc3RhcnRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgIAk8dGQ+eyRvbmVldmVudC5lbmRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgICAgICA8dGQ+e2lmICRvbmVldmVudC5ib29rYWJsZX17JG1vZC0+TGFuZygneWVzJyl9e2Vsc2V9Jm5ic3A7ey9pZn08L3RkPgoJPHRkPnskb25lZXZlbnQuZGVzY3JpcHRpb258c3RyaXBfdGFnc3xzdW1tYXJpemU6MjB9PC90ZD4KICAgICAgICA8dGQ+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X2V2ZW50JyBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBpbWFnZW9ubHk9MSBldmVudGlkPSRvbmVldmVudC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfZXZlbnQnKX08L3RkPgogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2RlbGV0ZV9ldmVudCcgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSBldmVudGlkPSRvbmVldmVudC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2RlbGV0ZV9ldmVudCcpIGNvbmZtZXNzYWdlPSRtb2QtPkxhbmcoJ2Fza19kZWxldGVldmVudCcpfTwvdGQ+CiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4Ke2lmICRtb2QtPkhhdmVFdmVudFR5cGVzKCkgJiYgJG1vZC0+SGF2ZVJlc291cmNlcygpfQogIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9ldmVudCcgdGV4dD0kbW9kLT5MYW5nKCdhZGRfZXZlbnQnKSBpbWFnZT0naWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnfQp7ZWxzZX0KICB7aWYgISRtb2QtPkhhdmVFdmVudFR5cGVzKCl9CiAgICB7JG1vZC0+U2hvd0Vycm9ycygkbW9kLT5MYW5nKCdlcnJvcl9ub19ldmVudF90eXBlcycpKX0KICB7ZWxzZWlmICEkbW9kLT5IYXZlUmVzb3VyY2VzKCl9CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRtb2QtPkxhbmcoJ2Vycm9yX25vX3Jlc291cmNlcycsJG1vZC0+R2V0UmVzb3VyY2VUeXBlKDEpKX17L2NhcHR1cmV9CiAgICB7JG1vZC0+U2hvd0Vycm9ycygkdG1wKX0KICB7L2lmfQp7L2lmfQo8L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_event_types_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRldmVudF90eXBlcyl9CiAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIGNlbGxzcGFjaW5nPSIwIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdjb2xvcicpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7eyogZWRpdCAqfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7eyogZGVsZXRlICp9PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRldmVudF90eXBlcyBpdGVtPSdvbmV0eXBlJ30KICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+eyRvbmV0eXBlLmlkfTwvdGQ+CiAgICAgICAgPHRkPnskb25ldHlwZS5uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnskb25ldHlwZS5jb2xvcn08L3RkPgogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfZXZlbnRfdHlwZScgaW1hZ2U9J2ljb25zL3N5c3RlbS9lZGl0LmdpZicgaW1hZ2Vvbmx5PTEgdHlwZWlkPSRvbmV0eXBlLmlkIHRleHQ9JG1vZC0+TGFuZygnZWRpdF9ldmVudF90eXBlJyl9PC90ZD4KICAgICAgICA8dGQ+eyogVE9ETzogc2hvdWxkIG5vdCBhbGxvdyBkZWxldGluZyBhbiBldmVudCB0eXBlIHRoYXQgaXMgaW4gdXNlICp9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfZXZlbnRfdHlwZScgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSB0eXBlaWQ9JG9uZXR5cGUuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGVfZXZlbnRfdHlwZScpfTwvdGQ+CiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9ldmVudF90eXBlJyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9ldmVudF90eXBlJykgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJ30KPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_graphing.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygneWVhcl8xJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZXRleHQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXllYXIxIj4KICAgICAge2h0bWxfb3B0aW9ucyB2YWx1ZXM9JHllYXJzIG91dHB1dD0keWVhcnMgc2VsZWN0ZWQ9JHZhbHVlc1swXX0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3llYXJfMicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH15ZWFyMiIgc2VsZWN0ZWQ9JHZhbHVlc1sxXT4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZWFyc30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3llYXJfMycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH15ZWFyMyIgc2VsZWN0ZWQ9JHZhbHVlc1syXT4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZWFyc30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnYXBwbHknKX0iIC8+CiAgPC9wPgo8L2Rpdj4KCnskZm9ybWVuZH0KCjxici8+PGJyLz4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+CjxpbWcgc3JjPSJ7JGdyYXBofSI+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_mail_resvn.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gdG9nZ2xlRGlzcGxheShlbGVtKQp7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbSk7CiAgdmFyIHR4dCA9IGVsLnN0eWxlLmRpc3BsYXk7CiAgaWYoIHR4dCA9PSAnbm9uZScgKQogICAgewogICAgICB0eHQgPSAnYmxvY2snOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgdHh0ID0gJ25vbmUnOwogICAgfQogIGVsLnN0eWxlLmRpc3BsYXkgPSB0eHQ7Cn0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCjxoMz57JG1vZC0+TGFuZygnbWFuYWdlX2N1c3RvbWVyX2NvbnRhY3RfcmVzdm4nKX06IHskcmVzdl9pZH08L2gzPgoKe2lmIGlzc2V0KCRyZXN2bil9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9kZXRhaWxzJyl9PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2N1c3RvbWVyJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdXNlcmluZm8uZGlzcGxheX0gKHskdXNlcmluZm8uZW1haWx9KTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKDEpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JywgJ3xpbXBsb2RlOiRyZXN2bi5yc3Jjc308L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNraW4nKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRyZXN2bi5zdGFydF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNrb3V0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcmVzdm4uZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3JlYXRlZCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHJlc3ZuLmNyZWF0ZV9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2xhc3RfbW9kaWZpZWQnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRyZXN2bi5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnKX17JHJlc3ZuLnByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+CnsvaWZ9Cgp7aWYgaXNzZXQoJG5vdGVzKX0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwYXN0X21lc3NhZ2VzJyl9PC9sZWdlbmQ+Cntmb3JlYWNoIGZyb209JG5vdGVzIGl0ZW09J29uZSd9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBhZ2V0YWJsZSI+CiAgICA8cD48c3Ryb25nPnskbW9kLT5MYW5nKCdzdWJqZWN0Jyl9Ojwvc3Ryb25nPiZuYnNwO3skb25lLnN1YmplY3R9Jm5ic3A7PGEgb25jbGljaz0idG9nZ2xlRGlzcGxheSgnbm90ZXskb25lLmlkfScpOyI+KzwvYT48L3A+CiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNlbTsiPjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3NlbnQnKX06PC9zdHJvbmc+Jm5ic3A7eyRvbmUuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICAgIDxkaXYgaWQ9Im5vdGV7JG9uZS5pZH0iIHN0eWxlPSJtYXJnaW4tbGVmdDogM2VtOyBkaXNwbGF5OiBub25lOyI+CiAgICAgICAgeyRvbmUudGV4dH0KICAgIDwvZGl2PgogIDwvZGl2PiAKey9mb3JlYWNofQo8L2ZpZWxkc2V0Pgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnc2VuZF9lbWFpbCcpfTombmJzcDs8L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtZXNzYWdlX3RlbXBsYXRlJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdWJqZWN0Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X3N1YmplY3QiIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJqX3JlX3Jlc3ZuJywkcmVzdm5faWQpfSIgLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21lc3NhZ2VfdGV4dCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2JvZHl9PC9wPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXR0YWNobWVudCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGV9PC9wPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzZW5kJyl9IiAvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_preferences_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gb25fdGltZV9pbnRlcnZhbCgpCnsKICB2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZmx0X2ludGVydmFsJyk7CiAgdmFyIGhvdXJseWRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3VybHknKTsKICB2YXIgZGFpbHlkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFpbHknKTsKICB2YXIgaW50ZXJ2YWxzZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVpbnRlcnZhbHMnKTsKICB2YXIgZ3JhbnVsYXJpdHlkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JhbnVsYXJpdHknKTsKICB2YXIgaWR4ID0gZWxlbS5zZWxlY3RlZEluZGV4OyAgIAogIHZhciB2YWwgPSBlbGVtW2lkeF0udmFsdWU7CgogIGlmKCB2YWwgPT0gJ2hvdXJseScpCiAgewogICAgaG91cmx5ZGl2LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICAgIGludGVydmFsc2Rpdi5zdHlsZS5kaXNwbGF5PSdibG9jayc7CiAgICBkYWlseWRpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICB9CiAgZWxzZSBpZiggdmFsID09ICdkYWlseScgKQogIHsKICAgIGhvdXJseWRpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICAgIGludGVydmFsc2Rpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICAgIGRhaWx5ZGl2LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICB9CiAgZWxzZSB7CiAgICBob3VybHlkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICBpbnRlcnZhbHNkaXYuc3R5bGUuZGlzcGxheT0nYmxvY2snOwogICAgZGFpbHlkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgfQp9IAo8L3NjcmlwdD4Key9saXRlcmFsfQoKeyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KPGxlZ2VuZD4mbmJzcDt7JG1vZC0+TGFuZygnZ2VuZXJhbF9jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzb3VyY2VfdHlwZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXNvdXJjZV90eXBlfTxici8+eyRtb2QtPkxhbmcoJ2luZm9fcmVzb3VyY2VfdHlwZScpfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3VycmVuY3lfc3ltYm9sJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2N1cnJlbmN5X3N5bWJvbH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1kZmx0X2ludGVydmFsIiBpZD0iZGZsdF9pbnRlcnZhbCIgb25jaGFuZ2U9Im9uX3RpbWVfaW50ZXJ2YWwoKTsiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGludGVydmFscyBzZWxlY3RlZD0kZGZsdF9pbnRlcnZhbH0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgp7KiBmb3IgaG91cmx5IGludGVydmFscyAqfQo8ZGl2IGlkPSJob3VybHkiIHtpZiAkZGZsdF9pbnRlcnZhbCAhPSAiaG91cmx5In1zdHlsZT0iZGlzcGxheTogbm9uZTsiey9pZn0gPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIGlkPSJncmFudWxhcml0eSI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVmYXVsdF9ncmFudWxhcml0eScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZGZsdF9ncmFudWxhcml0eSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZ3JhbnVsYXJpdHkgc2VsZWN0ZWQ9JGRmbHRfZ3JhbnVsYXJpdHl9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9InRpbWVpbnRlcnZhbHMiIHtpZiAkZGZsdF9pbnRlcnZhbCA9PSAiZGFpbHkifXN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGFydF90aW1lXzEnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9c3RhcnR0aW1lMV97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRzdGFydHRpbWUxIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5kX3RpbWVfMScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1lbmR0aW1lMV97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRlbmR0aW1lMSBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1fQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXJ0X3RpbWVfMicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1zdGFydHRpbWUyX3svY2FwdHVyZX0KICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JHN0YXJ0dGltZTIgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbmRfdGltZV8yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWVuZHRpbWUyX3svY2FwdHVyZX0KICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JGVuZHRpbWUyIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KPC9kaXY+Cgp7KiBmb3IgZGFpbHkgaW50ZXJ2YWxzICp9CjxkaXYgaWQ9ImRhaWx5IiB7aWYgJGRmbHRfaW50ZXJ2YWwgIT0gImRhaWx5In1zdHlsZT0iZGlzcGxheTogbm9uZTsiey9pZn0+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9Y2hlY2tpbl97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2hlY2tpbl90aW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRjaGVja2luX3RpbWUgZGlzcGxheV9zZWNvbmRzPWZhbHNlICBtaW51dGVfaW50ZXJ2YWw9MTV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1jaGVja291dF97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2hlY2tvdXRfdGltZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXAgdGltZT0kY2hlY2tvdXRfdGltZSBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1fSA8L3A+CjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWxsb3dfbm9fcHJpY2VzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1lcnJvcl9ub19wcmljZXMiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGxpc3RfeWVzbm8gc2VsZWN0ZWQ9JGVycm9yX25vX3ByaWNlc30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2FsbG93X25vX3ByaWNlcycpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlZmF1bHRfY2FwYWNpdHknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGVmYXVsdF9jYXBhY2l0eSIgdmFsdWU9InskZGVmYXVsdF9jYXBhY2l0eX0iIHNpemU9IjQiIG1heGxlbmd0aD0iNCIvPgogIDwvcD4KPC9kaXY+Cgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdpbWFnZV9oYW5kbGluZ19jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWxsb3dlZF9pbWFnZV90eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ltYWdlX3R5cGVzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2F1dG9fdGh1bWJuYWlsfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+Jm5ic3A7eyRtb2QtPkxhbmcoJ2ZpbGVfaGFuZGxpbmdfY29uZmlnJyl9OiZuYnNwOzwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2FsbG93ZWRfZmlsZV90eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ZpbGVfdHlwZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhdHRhY2htZW50X2RpcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hdHRhY2htZW50X2Rpcn08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdmZXVfcHJlZmVyZW5jZXMnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3VzdG9tZXJfZ3JvdXAnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY3VzdG9tZXJfZ3JvdXB9PC9wPgo8L2Rpdj4KeyoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJyl9PC9wPgo8L2Rpdj4KKn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnKX08YnIvPgogICAgeyRpbnB1dF9jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JG1vZC0+TGFuZygnaW5mb19wYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJyl9PGJyLz4KICAgIHskaW5wdXRfcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbn08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdjYWxlbmRhcl9jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fcGFydGlhbF9mb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3BhcnRpYWxfZm9yZWdyb3VuZH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jYWxlbmRhcl9wYXJ0aWFsX2JhY2tncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9mb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3Jlc3ZuX2ZvcmVncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9iYWNrZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3Jlc3ZuX2JhY2tncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX2NvbmZsaWN0X2ZvcmVncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX2NvbmZsaWN0X2JhY2tncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2FsZW5kYXJfcGVuZGluZ19mb3JlZ3JvdW5kfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fcGVuZGluZ19iYWNrZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3BlbmRpbmdfYmFja2dyb3VuZH08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZX08YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJyl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlfTxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnKX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX2NvbmZpcm1fbXNnfTxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX21zZycpfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZ308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjfTxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJyl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9hZG1pbl9zdGFydHllYXInKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWFkbWluX3N0YXJ0eWVhciI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kYWRtaW5feWVhcmxpc3Qgc2VsZWNlZD0kYWRtaW5fc3RhcnR5ZWFyfTxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX3Jlc2VydmF0aW9uX2FkbWluX3N0YXJ0eWVhcicpfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KCiAgPGZpZWxkc2V0PgogICAgPGxlZ2VuZD57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fZGVwb3NpdF9zZXR0aW5ncycpfTombmJzcDs8L2xlZ2VuZD4KICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXF1aXJlX2RlcG9zaXQnKX08L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzZXJ2YXRpb25fcmVxdWlyZV9kZXBvc2l0fTwvcD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlcG9zaXRfYW1vdW50cycpfTwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgeyRtb2QtPkxhbmcoJ3BlcmNlbnRhZ2VfZGVwb3NpdF9yZXF1aXJlZCcpfTogeyRpbnB1dF9yZXNlcnZhdGlvbl9kZXBvc2l0X3BlcmNlbnR9PGJyLz4KICAgICAgICB7JG1vZC0+TGFuZygnbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJyl9OiB7JGlucHV0X3Jlc2VydmF0aW9uX2RlcG9zaXRfbWluaW11bX08YnIvPgogICAgICAgIHskbW9kLT5MYW5nKCdpbmZvX2RlcG9zaXQnKX0KICAgICAgPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVwb3NpdF9zdW1tYXJ5X3RlbXBsYXRlJyl9PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX2RlcG9zaXRfc3VtbWFyeX08YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19kZXBvc2l0X3N1bW1hcnlfdGVtcGxhdGUnKX0KICAgICAgPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fc2t1X3ByZWZpeCcpfTwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXNlcnZhdGlvbl9za3VfcHJlZml4fTxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX3Jlc2VydmF0aW9uX3NrdV9wcmVmaXgnKX0KICAgICAgPC9wPgogICAgPC9kaXY+CgogIDwvZmllbGRzZXQ+CjwvZmllbGRzZXQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_reservations_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZpbHRlcicpfTombmJzcDs8L2xlZ2VuZD4KICB7JGZvcm1zdGFydH0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKCl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcnNyY3N9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1yZXN2bl9tb250aF97L2NhcHR1cmV9CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb250aCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBkaXNwbGF5X2RheXM9ZmFsc2UgcHJlZml4PSR0bXAgc3RhcnRfeWVhcj0tMjAgZW5kX3llYXI9KzIwIHRpbWU9JHJlc3ZfZGF0ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRidG5maWx0ZXJ9eyRidG5yZXNldH08L3A+CiAgPC9kaXY+CiAgeyRmb3JtZW5kfQo8L2ZpZWxkc2V0Pgo8L2Rpdj4KPGJyLz4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMjQlOyI+eyRwcmV2bW9udGhfbGlua308L3A+CiAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiA1MCU7Ij48c3Ryb25nPnskcmVzdl9kYXRlfGNtc19kYXRlX2Zvcm1hdDoiJUIgJVkifTwvc3Ryb25nPjwvcD4KICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDI0JTsiPnskbmV4dG1vbnRoX2xpbmt9PC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkcmVzZXJ2YXRpb25zKX0KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiIGNlbGxzcGFjaW5nPSIwIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgoJPHRoPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX0ocyk8L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTwvdGg+Cgk8dGg+eyRtb2QtPkxhbmcoJ2d1ZXN0Jyl9PC90aD4KCTx0aD57JG1vZC0+TGFuZygncHJpY2UnKX08L3RoPgoJPHRoPnskbW9kLT5MYW5nKCdzdGF0dXMnKX08L3RoPgoJPHRoPnskbW9kLT5MYW5nKCdvY2N1cnMnKX08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD57KiBjb250YWN0ICp9CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPnsqIHZpZXcgKn0KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+eyogZWRpdCAqfQogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD57KiBkZWxldGUgKn0KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRyZXNlcnZhdGlvbnMgaXRlbT1vbmV9CiAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgIHsqPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4qfQogICAgICA8dHI+Cgk8dGQ+eyIlMDRkInxzcHJpbnRmOiRvbmUuaWR9PC90ZD4KCTx0ZD57JG9uZS5yc3Jjc3x0cnVuY2F0ZTozMH08L3RkPgoJPHRkPnskb25lLnN0YXJ0X2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+Cgk8dGQ+eyRvbmUuZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+CiAgICAgICAgPHRkPnskb25lLnVzZXJkZXRhaWxzLmRpc3BsYXl9PC90ZD4KCTx0ZD57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJyl9eyRvbmUucHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9Jyd9CiAgICAgICAgICB7aWYgJG9uZS5zdGF0dXMgPT0gJ2NhbmNlbGxlZCd9CiAgICAgICAgICAgIHthc3NpZ24gdmFyPSd0bXAnIHZhbHVlPSdyZWQnfQogICAgICAgICAge2Vsc2VpZiAkb25lLnN0YXR1cyA9PSAnY29uZmlybWVkJ30KICAgICAgICAgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9J2dyZWVuJ30KICAgICAgICAgIHsvaWZ9CgkgIHtpZiAhZW1wdHkoJHRtcCl9CiAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHskdG1wfTsiPnskbW9kLT5MYW5nKCRvbmUuc3RhdHVzKX08L3NwYW4+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgIHskbW9kLT5MYW5nKCRvbmUuc3RhdHVzKX0KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC90ZD4KCTx0ZD4KICAgICAgICAgIHthc3NpZ24gdmFyPSd0bXAnIHZhbHVlPSdncmVlbid9CiAgICAgICAgICB7aWYgJG9uZS5hZGRuX3N0YXR1cyA9PSAnZXhwaXJlZCd9CgkgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9Jyd9CiAgICAgICAgICB7ZWxzZWlmICRvbmUuYWRkbl9zdGF0dXMgPT0gJ2luX3Byb2dyZXNzJ30KICAgICAgICAgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9J3JlZCd9CiAgICAgICAgICB7L2lmfQoJICB7aWYgIWVtcHR5KCR0bXApfQogICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiB7JHRtcH07Ij57JG1vZC0+TGFuZygkb25lLmFkZG5fc3RhdHVzKX08L3NwYW4+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgIHskbW9kLT5MYW5nKCRvbmUuYWRkbl9zdGF0dXMpfQogICAgICAgICAgey9pZn0KICAgICAgICA8L3RkPgogICAgICAgIDx0ZD57aWYgJG1vZC0+Q2FuQ29udGFjdEN1c3RvbWVycygpICYmICgkb25lLmFkZG5fc3RhdHVzID09ICdmdXR1cmUnKX17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX21haWxfcmVzdm4nIGltYWdlPSdlbWFpbC5wbmcnIGltYWdlb25seT0xIHJlc3ZuaWQ9JG9uZS5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VtYWlsJyl9ey9pZn08L3RkPgogICAgICAgIDx0ZD57aWYgJG1vZC0+Q2FuVmlld1Jlc2VydmF0aW9ucygpfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fdmlld19yZXN2bicgaW1hZ2U9J2ljb25zL3N5c3RlbS92aWV3LmdpZicgaW1hZ2Vvbmx5PTEgcmVzdm5pZD0kb25lLmlkIHRleHQ9JG1vZC0+TGFuZygndmlldycpfXsvaWZ9PC90ZD4KICAgICAgICA8dGQ+e2lmICRtb2QtPkNhbkVkaXRSZXNlcnZhdGlvbnMoKX17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfcmVzdm4nIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGltYWdlb25seT0xIHJlc3ZuaWQ9JG9uZS5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXQnKX17L2lmfTwvdGQ+CiAgICAgICAgPHRkPntpZiAkbW9kLT5DYW5FZGl0UmVzZXJ2YXRpb25zKCl9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfcmVzdm4nIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgaW1hZ2Vvbmx5PTEgcmVzdm5pZD0kb25lLmlkIHRleHQ9JG1vZC0+TGFuZygnZGVsZXRlJykgY29uZm1lc3NhZ2U9JG1vZC0+TGFuZygnYXNrX2RlbGV0ZV9yZXNlcnZhdGlvbicpfXsvaWZ9PC90ZD4KICAgICAgPC90cj4gICAgICAgCiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4Ke2lmICRtb2QtPkhhdmVSZXNvdXJjZXMoKSAmJiAkbW9kLT5DYW5FZGl0UmVzZXJ2YXRpb25zKCl9CiAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X3Jlc3ZuJyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9yZXNlcnZhdGlvbicpIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZid9CntlbHNlfQogIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JG1vZC0+TGFuZygnZXJyb3Jfbm9fcmVzb3VyY2VzJywkbW9kLT5HZXRSZXNvdXJjZVR5cGUoMSkpfXsvY2FwdHVyZX0KICB7JG1vZC0+U2hvd0Vycm9ycygkdG1wKX0Key9pZn0KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_resources_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWx0ZXInKX06PC9sZWdlbmQ+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsgZmxvYXQ6IGxlZnQ7Ij4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2F0ZWdvcnknKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jYXRlZ29yeX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2FjdGl2ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FjdGl2ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3BhZ2VfbGltaXQnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYWdlbGltaXR9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYnRuZmlsdGVyfTwvcD4KICA8L2Rpdj4KICA8L2Rpdj4KICAgCiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IHJpZ2h0OyI+CiAge2lmICEkY2FuX3Jlb3JkZXJ9CiAgeyRtb2QtPkxhbmcoJ2luZm9fcmVzb3VyY2VzX2ZpbHRlcicpfQogIHsvaWZ9CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cjxici8+CnskZm9ybWVuZH0KCntpZiBpc3NldCgkcmVzb3VyY2VzKX0KICB7aWYgJHBhZ2Vjb3VudCA+IDF9CiAgPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7aWYgJGN1cnBhZ2UgPiAxfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZT0xIHRleHQ9JG1vZC0+TGFuZygnZmlyc3RwYWdlJykgY2dfYWN0aXZldGFiPSdyZXNvdXJjZXMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZT0kcHJldnBhZ2UgdGV4dD0kbW9kLT5MYW5nKCdwcmV2cGFnZScpIGNnX2FjdGl2ZXRhYj0ncmVzb3VyY2VzJ30mbmJzcDsKICAgIHsvaWZ9CiAgICB7JG1vZC0+TGFuZygncGFnZScpfSB7JGN1cnBhZ2V9IHskbW9kLT5MYW5nKCdvZicpfSB7JHBhZ2Vjb3VudH0mbmJzcDsKICAgIHtpZiAkY3VycGFnZSA8ICRwYWdlY291bnR9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nZGVmYXVsdGFkbWluJyBjdXJwYWdlPSRuZXh0cGFnZSB0ZXh0PSRtb2QtPkxhbmcoJ25leHRwYWdlJykgY2dfYWN0aXZldGFiPSdyZXNvdXJjZXMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZT0kcGFnZWNvdW50IHRleHQ9JG1vZC0+TGFuZygnbGFzdHBhZ2UnKSBjZ19hY3RpdmV0YWI9J3Jlc291cmNlcyd9Jm5ic3A7CiAgICB7L2lmfQogIDwvcD4KICB7L2lmfQogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCI+CiAgICA8dGhlYWQ+IAogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2FjdGl2ZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTwvdGg+CiAgICAgICAge2lmICRjYW5fcmVvcmRlcn0KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgey9pZn0KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgogICAge2ZvcmVhY2ggbmFtZT0ncnNyY3MnIGZyb209JHJlc291cmNlcyBpdGVtPSdvbmVyc3JjJ30KICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+eyRvbmVyc3JjLmlkfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9yc3JjJyByc3JjaWQ9JG9uZXJzcmMuaWQgdGV4dD0kb25lcnNyYy5uYW1lfTwvdGQ+Cgk8dGQ+e2lmICRvbmVyc3JjLmFjdGl2ZSA9PSAxfXskbW9kLT5MYW5nKCd5ZXMnKX17ZWxzZX0mbmJzcDt7L2lmfTwvdGQ+Cgk8dGQ+eyRvbmVyc3JjLmRlc2NyaXB0aW9ufHN0cmlwX3RhZ3N8c3VtbWFyaXplOjIwfTwvdGQ+CiAgICAgICAge2lmICRjYW5fcmVvcmRlcn0KICAgICAgICA8dGQ+e2lmICRvbmVyc3JjLnNvcnRpbmcgPiAxfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fcmVvcmRlcl9yc3JjJyBpbWFnZT0naWNvbnMvc3lzdGVtL3NvcnRfdXAuZ2lmJyBpbWFnZW9ubHk9MSByc3JjaWQ9JG9uZXJzcmMuaWQgZGlyPSd1cCcgdGV4dD0kbW9kLT5MYW5nKCdtb3ZlX3VwJyl9ey9pZn08L3RkPgogICAgICAgIDx0ZD57aWYgISRzbWFydHkuZm9yZWFjaC5yc3Jjcy5sYXN0fXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fcmVvcmRlcl9yc3JjJyBpbWFnZT0naWNvbnMvc3lzdGVtL3NvcnRfZG93bi5naWYnIGltYWdlb25seT0xIHJzcmNpZD0kb25lcnNyYy5pZCBkaXI9J2Rvd24nIHRleHQ9JG1vZC0+TGFuZygnbW92ZV9kb3duJyl9ey9pZn0KICAgICAgICB7L2lmfQogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfcnNyYycgaW1hZ2U9J2ljb25zL3N5c3RlbS9lZGl0LmdpZicgaW1hZ2Vvbmx5PTEgcnNyY2lkPSRvbmVyc3JjLmlkIHRleHQ9JG1vZC0+TGFuZygnZWRpdCcpfTwvdGQ+CiAgICAgICAgPHRkPntpZiAhJG9uZXJzcmMucGFzdF9yZXN2bnMgJiYgISRvbmVyc3JjLmZ1dHVyZV9yZXN2bnN9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfcnNyYycgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSByc3JjaWQ9JG9uZXJzcmMuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGUnKSBjb25mbWVzc2FnZT0kbW9kLT5MYW5nKCdhc2tfZGVsZXRlX3Jlc291cmNlJyl9ey9pZn08L3RkPgogICAgICA8L3RyPgogICAgey9mb3JlYWNofQogICAgPC90Ym9keT4KICA8L3RhYmxlPgp7L2lmfQoKPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskbW9kLT5MYW5nKCdhZGQnKX0geyRtb2QtPkdldFJlc291cmNlVHlwZSgpfXsvY2FwdHVyZX0KICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfcnNyYycgdGV4dD0iJHRtcCIgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJ30KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_view_day.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWRtaW4gdmlldyBkYXkgdGVtcGxhdGUgKn0KCjxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICM5OTk7IG1hcmdpbi1ib3R0b206IDVweDsgcGFkZGluZzogMC4yZW07IHRleHQtYWxpZ246IGNlbnRlcjsiPgogIDxoMz57JG1vZC0+TGFuZygnZGF5X3ZpZXcnKX08L2gzPgogIHskc3RhcnRfdGltZXxkYXRlX2Zvcm1hdDoiJXgifQo8L2Rpdj4KCntsaXRlcmFsfQo8c3R5bGUgdHlwZT0ndGV4dC9jc3MnPgo8IS0tCi5sZWZ0Y29sdW1uIHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMzAlOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9Ci5yaWdodGNvbHVtbiB7CiAgZmxvYXQ6IHJpZ2h0OwogIHdpZHRoOiA2OSU7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQoucmVzdl9ub3RlIHsKICBjbGVhcjogbGVmdDsKICB3aWR0aDogYXV0bzsKICBwYWRkaW5nLXRvcDogMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luLWxlZnQ6IC01ZW07Cn0KCi0tPgo8L3N0eWxlPgp7L2xpdGVyYWx9Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiB0b2dnbGVEaXNwbGF5KGVsZW0pCnsKICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtKTsKICB2YXIgdHh0ID0gZWwuc3R5bGUuZGlzcGxheTsKICBpZiggdHh0ID09ICdub25lJyApCiAgewogICAgdHh0ID0gJ2Jsb2NrJzsKICB9CiAgZWxzZQogIHsKICAgIHR4dCA9ICdub25lJzsKICB9CiAgZWwuc3R5bGUuZGlzcGxheSA9IHR4dDsKfQo8L3NjcmlwdD4Key9saXRlcmFsfQoKCntmb3JlYWNoIGZyb209JHJlc3ZucyBpdGVtPSdvbmVyZXN2J30KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uJyl9OiB7JG9uZXJlc3YuaWR9PC9sZWdlbmQ+CiAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KICAgIDx0cj4KICAgIDx0ZCB3aWR0aD0iNTAlIiB2YWxpZ249InRvcCI+CiAgICAgIHsqIHJlc291cmNlIGxpc3QgKn0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0ibGVmdGNvbHVtbiI+eyRtb2QtPkdldFJlc291cmNlVHlwZSgxKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJyaWdodGNvbHVtbiI+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0kb25lcmVzdi5yZXNvdXJjZXMgaXRlbT0nb25lcnNyYyd9CiAgICAgICAgICB7JHJlc291cmNlc1skb25lcnNyY10ubmFtZX08YnIvPgogICAgICAgIHsvZm9yZWFjaH0KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgoKICAgICAge2lmICFlbXB0eSgkb25lcmVzdi5hZG1pbl9ub3Rlcyl9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPnskbW9kLT5MYW5nKCdhZG1pbl9ub3RlcycpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YuYWRtaW5fbm90ZXN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgey9pZn0KICAgIDwvdGQ+CgogICAgPHRkIHZhbGlnbj0idG9wIj4KICAgICAgeyogZGF0ZXMgYW5kIHBlb3BsZSAqfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3Yuc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDoiJXgifTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YuZW5kX2RhdGV8ZGF0ZV9mb3JtYXQ6IiV4In08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnY3JlYXRlZCcpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPnskbW9kLT5MYW5nKCdtb2RpZmllZF9kYXRlJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icmlnaHRjb2x1bW4iPnskb25lcmVzdi5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnbnVtX3Blb3BsZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YubnVtX3Blb3BsZX08L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KCiAge2lmIGlzc2V0KCRvbmVyZXN2Lm5vdGVzKX0KICAgIDxkaXYgc3R5bGU9Im1hcmdpbjogMmVtOyI+CiAgICAgICA8cCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij48YSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyIgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlRGlzcGxheSgnbm90ZXNfeyRvbmVyZXN2LmlkfScpOyByZXR1cm4gZmFsc2U7Ij57JGV4cGFuZF9pbWd9eyRtb2QtPkxhbmcoJ25vdGVzJyl9OjwvYT48L3A+CiAgICAgICA8ZGl2IGlkPSJub3Rlc197JG9uZXJlc3YuaWR9IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAge2ZvcmVhY2ggZnJvbT0kb25lcmVzdi5ub3RlcyBpdGVtPSdvbmVub3RlJ30KICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyOiAxcHggZGFzaGVkICMwMDAiPgogICAgICAgICA8ZGl2IGNsYXNzPSJyZXN2X25vdGUiPgogICAgICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnc3ViamVjdCcpfTo8L3A+CiAgICAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZW5vdGUuc3ViamVjdH08L3A+CiAgICAgICAgIDwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJyZXN2X25vdGUiPgogICAgICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnY3JlYXRlZCcpfTo8L3A+CiAgICAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZW5vdGUuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICAgICAgICAgPC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlc3Zfbm90ZSI+CiAgICAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPiZuYnNwOzwvcD4KICAgICAgICAgICA8cCBjbGFzcz0icmlnaHRjb2x1bW4iPnskb25lbm90ZS50ZXh0fTwvcD4KICAgICAgICAgPC9kaXY+CiAgICAgICAgIDwvZGl2PgogICAgICAgey9mb3JlYWNofQogICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICB7L2lmfQo8L2ZpZWxkc2V0Pgp7L2ZvcmVhY2h9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/orig_advanced_search_form_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWR2YW5jZXMgc2VhcmNoIGZvcm0gdGVtcGxhdGUgKn0KeyRmb3Jtc3RhcnR9CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+CiAgICAgIHskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWF2YWlsX3N0YXJ0ZGF0ZV97L2NhcHR1cmV9CiAgICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wIHRpbWU9JHN0YXJ0ZGF0ZSBlbmRfeWVhcj0rMn0KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij4KICAgICAgeyRtb2QtPkxhbmcoJ2VuZF9kYXRlJyl9OgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWF2YWlsX2VuZGRhdGVfey9jYXB0dXJlfQogICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCB0aW1lPSRlbmRkYXRlIGVuZF95ZWFyPSsyfQogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPiZuYnNwOzwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWF2YWlsX3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzZWFyY2gnKX0iLz4KICAgIDwvZGl2PgogIDwvZGl2PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_calendar_dates_across.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FsZW5kYXIgdmlldyB0ZW1wbGF0ZSAqfQoKe2lmIGlzc2V0KCRncmlkKX0KPGRpdiBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2J5ZGF0ZSI+CiAgPGRpdj4KICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyNCU7Ij48YSBocmVmPSJ7JHByZXZtb250aF91cmx9Ij57JG1vZC0+TGFuZygncHJldicpfTwvYT48L3A+CiAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiA1MCU7Ij48c3Ryb25nPnskZGlzcGRhdGV8Y21zX2RhdGVfZm9ybWF0OiIlQiAlWSJ9PC9zdHJvbmc+PC9wPgogIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogMjQlOyI+PGEgaHJlZj0ieyRuZXh0bW9udGhfdXJsfSI+eyRtb2QtPkxhbmcoJ25leHQnKX08L2E+PC9wPgogIDwvZGl2PgogIDxici8+CgogIDx0YWJsZSBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2J5ZGF0ZV90YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICB7KiBkYXkgbnVtYmVyIHJvdyAqfQogICAgICA8dGg+Jm5ic3A7PC90aD4KICAgICAge3NlY3Rpb24gbmFtZT0nZGF5JyBsb29wPSRncmlkIHN0YXJ0PTF9CiAgICAgIDx0aD4KICAgICAgICA8YSBocmVmPSJ7JGdyaWRbZGF5XVswXS0+dXJsfSIgdGl0bGU9InskbW9kLT5sYW5nKCd2aWV3X2RheScpfSI+eyRncmlkW2RheV1bMF0tPnRpbWV8Y21zX2RhdGVfZm9ybWF0OiclZSd9PC9hPgogICAgICA8L3RoPgogICAgICB7L3NlY3Rpb259CiAgICA8L3RyPgogICAgPHRyPgogICAgICB7KiB3ZWVrZGF5IHJvdyAqfQogICAgICA8dGg+Jm5ic3A7PC90aD4KICAgICAge3NlY3Rpb24gbmFtZT0nZGF5JyBsb29wPSRncmlkIHN0YXJ0PTF9CiAgICAgIDx0aD57JGdyaWRbZGF5XVswXS0+dGltZXxjbXNfZGF0ZV9mb3JtYXQ6IiVhInx0cnVuY2F0ZToyOiIifTwvdGg+CiAgICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgPC90aGVhZD4KCiAgPHRib2R5PgogICAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFswXSBzdGFydD0xfXsqIGZvciBlYWNoIHJlc291cmNlICp9CiAgICA8dHI+CiAgICAgIDx0ZD48YSBocmVmPSJ7JGdyaWRbMF1bcnNyY10tPnVybH0iPnskZ3JpZFswXVtyc3JjXS0+bGFiZWx9PC9hPjwvdGQ+CiAgICAgIHtzZWN0aW9uIG5hbWU9J2RheScgbG9vcD0kZ3JpZCBzdGFydD0xfQogICAgICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmJnfTsgY29sb3I6IHskZ3JpZFtkYXldW3JzcmNdLT5mZ307Ij4KICAgICAgICAgIHtpZiBpc3NldCgkZ3JpZFtkYXldW3JzcmNdLT51cmwpfQogICAgICAgICAgICA8YSBocmVmPSJ7JGdyaWRbZGF5XVtyc3JjXS0+dXJsfSI+eyRncmlkW2RheV1bcnNyY10tPmxhYmVsfTwvYT4KICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICB7JGdyaWRbZGF5XVtyc3JjXS0+bGFiZWx9CiAgICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgICB7L3NlY3Rpb259CiAgPC90Ym9keT4KCiAgPC90YWJsZT4KCiAge2lmIGlzc2V0KCRsZWdlbmQpfQogIDxmaWVsZHNldCBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2xlZ2VuZCI+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kJyl9OsKgPC9sZWdlbmQ+CiAgICA8dGFibGU+CiAgICB7Zm9yZWFjaCBmcm9tPSRsZWdlbmQga2V5PSduYW1lJyBpdGVtPSdpdGVtJ30KICAgICAgPHRyPgogICAgICAgIDx0ZD57JG5hbWV9OjwvdGQ+CiAgICAgICAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB7JGl0ZW0tPmJnfTsgY29sb3I6IHskaXRlbS0+Zmd9OyI+CiAgICAgICAgICB7JGl0ZW0tPmxhYmVsfQogICAgICAgIDwvdGQ+ICAgCiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgogIDwvZmllbGRzZXQ+CiAgey9pZn0KCnsqIGF2YWlsYWJpbGl0eV9jYWxlbmRhciAqfTwvZGl2Pgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_calendar_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FsZW5kYXIgdmlldyB0ZW1wbGF0ZSAqfQoKe2lmIGlzc2V0KCRncmlkKX0KPGRpdiBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyIj4KICA8ZGl2PgogIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDI0JTsiPjxhIGhyZWY9InskcHJldm1vbnRoX3VybH0iPnskbW9kLT5MYW5nKCdwcmV2Jyl9PC9hPjwvcD4KICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDUwJTsiPjxzdHJvbmc+eyRkaXNwZGF0ZXxjbXNfZGF0ZV9mb3JtYXQ6IiVCICVZIn08L3N0cm9uZz48L3A+CiAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiAyNCU7Ij48YSBocmVmPSJ7JG5leHRtb250aF91cmx9Ij57JG1vZC0+TGFuZygnbmV4dCcpfTwvYT48L3A+CiAgPC9kaXY+CiAgPGRpdiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyI+PC9kaXY+CgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBvdmVyZmxvdzogYXV0bzsiPgogIDx0YWJsZSBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX3RhYmxlIj4KICA8dGhlYWQ+CiAge3NlY3Rpb24gbmFtZT0nZGF5JyBsb29wPSRncmlkIG1heD0xfQogICAgPHRyPgogICAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFtkYXldfQogICAgICB7aWYgJHNtYXJ0eS5zZWN0aW9uLnJzcmMuaW5kZXggPT0gMH0KICAgICAgICB7KiBmaXJzdCBjZWxsICp9CiAgICAgICAgPHRoIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IiB3aWR0aD0iMiUiPnskZ3JpZFtkYXldW3JzcmNdfGNtc19kYXRlX2Zvcm1hdDoiJW0vJXkifTwvdGg+CiAgICAgIHtlbHNlfQogICAgICAgIDx0aCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGEgaHJlZj0ieyRncmlkW2RheV1bcnNyY10tPnVybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndmlld19yc3JjX2RldGFpbHMnLCRtb2QtPkdldFJlc291cmNlVHlwZSgpKX0iPnskZ3JpZFtkYXldW3JzcmNdLT5sYWJlbH08L2E+PC90aD4KICAgICAgey9pZn0KICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgey9zZWN0aW9ufQogIDwvdGhlYWQ+CgogIDx0Ym9keT4KICB7c2VjdGlvbiBuYW1lPSdkYXknIGxvb3A9JGdyaWQgc3RhcnQ9MX0KICAgIDx0cj4KICAgICAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFtkYXldfQogICAgICAgIHtpZiAkc21hcnR5LnNlY3Rpb24ucnNyYy5pbmRleCA9PSAwIH0KICAgICAgICAgIHsqIGRheSBjb2x1bW4gKn0KICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7Ij4KICAgICAgICAgICAgPGEgaHJlZj0ieyRncmlkW2RheV1bcnNyY10tPnVybH0iIHRpdGxlPSJ7JG1vZC0+bGFuZygndmlld19kYXknKX0iPnskc21hcnR5LnNlY3Rpb24uZGF5Lml0ZXJhdGlvbn08L2E+CiAgICAgICAgICA8L3RkPgogICAgICAgIHtlbHNlfSAKICAgICAgICAgIHthc3NpZ24gdmFyPSdsYWJlbCcgdmFsdWU9JGdyaWRbZGF5XVtyc3JjXS0+bGFiZWx9CiAgICAgICAgICB7aWYgJGdyaWRbZGF5XVtyc3JjXS0+c3RhdHVzID09ICdjbG9zZWQnfQogICAgICAgICAgICB7YXNzaWduIHZhcj0nbGFiZWwnIHZhbHVlPSRtb2QtPkxhbmcoJ2Nsb3NlZCcpfQogICAgICAgICAgey9pZn0KICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiB7JGdyaWRbZGF5XVtyc3JjXS0+Ymd9OyBjb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmZnfTsiPgogICAgICAgICAge2lmIGlzc2V0KCRncmlkW2RheV1bcnNyY10tPnVybCl9CiAgICAgICAgICAgIDxhIGhyZWY9InskZ3JpZFtkYXldW3JzcmNdLT51cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2NyZWF0ZV9yZXNlcnZhdGlvbicpfSI+eyRsYWJlbH08L2E+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgeyRsYWJlbH0KICAgICAgICAgIHsvaWZ9CiAgICAgICAgICA8L3RkPgogICAgICAgIHsvaWZ9CiAgICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgey9zZWN0aW9ufQogIDwvdGJvZHk+CiAgPC90YWJsZT4KICA8L2Rpdj4KCiAge2lmIGlzc2V0KCRsZWdlbmQpfQogIDxmaWVsZHNldCBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2xlZ2VuZCI+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgPHRhYmxlPgogICAge2ZvcmVhY2ggZnJvbT0kbGVnZW5kIGtleT0nbmFtZScgaXRlbT0naXRlbSd9CiAgICAgIDx0cj4KICAgICAgICA8dGQ+eyRuYW1lfTo8L3RkPgogICAgICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyRpdGVtLT5iZ307IGNvbG9yOiB7JGl0ZW0tPmZnfTsiPgogICAgICAgICAgeyRpdGVtLT5sYWJlbH0KICAgICAgICA8L3RkPiAgIAogICAgICA8L3RyPgogICAgey9mb3JlYWNofQogICAgPC90YWJsZT4KICA8L2ZpZWxkc2V0PgogIHsvaWZ9Cgp7KiBhdmFpbGFiaWxpdHlfY2FsZW5kYXIgKn08L2Rpdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_customer_email_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY3VzdG9tZXIgZW1haWwgdGVtcGxhdGUgKn0KPGh0bWw+CjxoZWFkPgo8L2hlYWQ+Cjxib2R5Pgo8c3Bhbj5NZXNzYWdlIFN1YmplY3Q6IHskc3ViamVjdH08L3NwYW4+PGJyLz4KCjxzcGFuPk1lc3NhZ2UgQm9keTo8L3NwYW4+CjxkaXY+CnskYm9keX0KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_day_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGF5IHZpZXcgdGVtcGxhdGUgKn0Ke2lmICFpc3NldCgkcnNyY2lkKX0KPGgyPnskbW9kLT5MYW5nKCdkYXlfcmVwb3J0Jyl9IHskdGhlX2RhdGV8Y21zX2RhdGVfZm9ybWF0OiIleCJ9PC9oMj4Ke2Vsc2V9CjxoMj57JG1vZC0+TGFuZygnZGF5X3JlcG9ydF9yc3JjJywkdGhlX3Jlc291cmNlLm5hbWUpfSB7JHRoZV9kYXRlfGNtc19kYXRlX2Zvcm1hdDoiJXgifTwvaDI+CnsvaWZ9Cgo8ZGl2IGlkPSJhdmFpbGFiaWxpdHlfZGF5dmlldyI+CiAge2lmIGlzc2V0KCRldmVudHMpfQogIDxkaXYgY2xhc3M9ImRheXZpZXdfZXZlbnRsaXN0Ij4KICAgIDxoMz57aWYgaXNzZXQoJHJzcmNpZCl9eyRtb2QtPkxhbmcoJ2V2ZW50c19mb3JfcmVzb3VyY2UnLCR0aGVfcmVzb3VyY2UubmFtZSl9e2Vsc2V9eyRtb2QtPkxhbmcoJ2xibF9ldmVudHMnKX17L2lmfTwvaDM+CiAgICB7Zm9yZWFjaCBmcm9tPSRldmVudHMgaXRlbT0nb25lJ30KICAgICAgPGRpdiBjbGFzcz0iZGF5dmlld19ldmVudCI+Cgl7KiBpdCdkIGJlIGNvb2wgaWYgdGhlcmUgd2FzIGFuIGltYWdlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGV2ZW50LCBvcHRpb25hbGx5ICp9CiAgICAgICAgPGg0IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjeyRvbmUuYmFja2dyb3VuZH07IGNvbG9yOiAjeyRvbmUuY29sb3J9OyI+eyRvbmUubmFtZX08L2g0PgogICAgICAgIDxwPnskb25lLmRlc2NyaXB0aW9ufTwvcD4KICAgICAgPC9kaXY+CiAgICB7L2ZvcmVhY2h9CiAgPC9kaXY+CiAgey9pZn0KCgogIHtpZiBpc3NldCgkcmVzb3VyY2VzKX0KICAgIHtpZiBpc3NldCgkcnNyY2lkKSAmJiAhaXNzZXQoJHJlc291cmNlc1skcnNyY2lkXSl9CiAgICAgIDxoND57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKCl9Jm5ic3A7eyRtb2QtPkxhbmcoJ3Jlc2VydmVkJyl9PC9oND4KICAgIHtlbHNlfQogICAgICA8ZGl2IGNsYXNzPSJkYXl2aWV3X2F2YWlsX3Jlc2VvdXJjZXMiPgogICAgICA8aDM+eyRtb2QtPkxhbmcoJ2F2YWlsYWJsZScpfSZuYnNwO3skbW9kLT5HZXRSZXNvdXJjZVR5cGUoMSl9PC9oMz4KICAgICAge2ZvcmVhY2ggZnJvbT0kcmVzb3VyY2VzIGl0ZW09J29uZSd9CiAgICAgICAgPGRpdiBjbGFzcz0iZGF5dmlld19yZXNvdXJjZSI+CiAgICAgICAgICA8aDQ+eyRvbmUubmFtZX08L2g0PgogICAgICAgICAgPHA+PHN0cm9uZz57JG1vZC0+TGFuZygnYmFzZV9wcmljZScpfTo8L3N0cm9uZz4mbmJzcDt7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXskb25lLmJhc2VfcHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvcD4KICAgICAgICAgIDxwPnskb25lLmRlc2NyaXB0aW9ufTwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgey9mb3JlYWNofSAgICAKICAgICAgPC9kaXY+CiAgICB7L2lmfQogIHsvaWZ9CiAgICAKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzb3VyY2UgZGV0YWlsIHRlbXBsYXRlICp9CntpZiBpc3NldCgkcnNyYyl9CjxkaXYgaWQ9IkF2YWlsYWJpbGl0eVJlc291cmNlRGV0YWlsIj4KICA8ZGl2PjxzdHJvbmc+eyRtb2QtPkxhbmcoJ2lkJyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5pZH08L2Rpdj4KICA8ZGl2PjxzdHJvbmc+eyRtb2QtPkxhbmcoJ25hbWUnKX06PC9zdHJvbmc+Jm5ic3A7eyRyc3JjLm5hbWV9PC9kaXY+CiAgPGRpdj48c3Ryb25nPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTo8L3N0cm9uZz48YnIvPgogICAgeyRyc3JjLmRlc2NyaXB0aW9ufQogIDwvZGl2PgogIDxkaXY+PHN0cm9uZz57JG1vZC0+TGFuZygnYmFzZV9wcmljZScpfTo8L3N0cm9uZz4mbmJzcDt7JHJzcmMuYmFzZV9wcmljZX08L2Rpdj4KCiAgeyogZmllbGRzICp9CiAgeyogZmllbGRzIGNhbiBhbHNvIGJlIGFkZHJlc3NlZCBhcyAkZW50cnktPmZpZWxkcy5teWZpZWxkbmFtZS52YWx1ZSAqfQogIHtpZiBpc3NldCgkcnNyYy5maWVsZHMpfQogIDxkaXY+PC9kaXY+CiAgPGRpdj48c3Ryb25nPnskbW9kLT5MYW5nKCdmaWVsZHMnKX06PC9zdHJvbmc+PGJyLz4KICB7Zm9yZWFjaCBmcm9tPSRyc3JjLmZpZWxkcyBpdGVtPSdmaWVsZCd9CiAgICA8ZGl2PgogICAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskZmllbGQubmFtZX06PC9zdHJvbmc+Jm5ic3A7Jm5ic3A7CiAgICB7aWYgJGZpZWxkLnR5cGUgPT0gJ2ltYWdlJ30KICAgICAge2lmIGlzc2V0KCRmaWVsZC50aHVtYm5haWwpfQogICAgICAgIDxpbWcgc3JjPSJ7JGZpbGVfbG9jYXRpb259L3skZmllbGQudGh1bWJuYWlsfSIgYWx0PSJ7JGZpZWxkLm5hbWV9IiAvPgogICAgICB7ZWxzZX0KICAgICAgICA8aW1nIHNyYz0ieyRmaWxlX2xvY2F0aW9ufS97JGZpZWxkLnZhbHVlfSIgd2lkdGg9IjE1MCIgYWx0PSJ7JGZpZWxkLm5hbWV9IiAvPgogICAgICB7L2lmfQogICAge2Vsc2VpZiAkZmllbGQudHlwZSA9PSAnZmlsZSd9CiAgICAgIDxhIGhyZWY9InskZmlsZV9sb2NhdGlvbn0veyRmaWVsZC52YWx1ZX0iIGFsdD0ieyRmaWVsZC5uYW1lfSI+eyRmaWVsZC52YWx1ZX08L2E+CiAgICB7ZWxzZX0KICAgICAgeyRmaWVsZC52YWx1ZX0KICAgIHsvaWZ9CiAgICA8L2Rpdj4KICB7L2ZvcmVhY2h9CiAgey9pZn0KCiAgeyogYXR0cmlidXRlcyAqfQogIHtpZiBpc3NldCgkcnNyYy5hdHRyaWJzKX0KICA8ZGl2PjwvZGl2PgogIDxkaXY+PHN0cm9uZz57JG1vZC0+TGFuZygnYXR0cmlidXRlcycpfTo8L3N0cm9uZz48YnIvPgogIHtmb3JlYWNoIGZyb209JHJzcmMuYXR0cmlicyBpdGVtPSdhdHRyaWInfQogICAgPGRpdj4mbmJzcDsmbmJzcDt7JGF0dHJpYi5uYW1lfSZuYnNwOyh7JGF0dHJpYi5pZH0pPC9kaXY+CiAgey9mb3JlYWNofQogIDwvZGl2PgogIHsvaWZ9CgogIHtpZiBpc3NldCgkcnNyYy5wcmljZXMpfQogIHsqIHByaWNlcyAqfQogIDxkaXY+PC9kaXY+CiAgPGRpdj48c3Ryb25nPnskbW9kLT5MYW5nKCdwcmljZXMnKX06PC9zdHJvbmc+PGJyLz4KICAgICZuYnNwOyZuYnNwOzxzdHJvbmc+eyRtb2QtPkxhbmcoJ3N1bmRheScpfTo8L3N0cm9uZz4mbmJzcDt7JHJzcmMucHJpY2VzLnN1bmRheX08YnIvPgogICAgJm5ic3A7Jm5ic3A7PHN0cm9uZz57JG1vZC0+TGFuZygnbW9uZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMubW9uZGF5fTxici8+CiAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskbW9kLT5MYW5nKCd0dWVzZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMudHVlc2RheX08YnIvPgogICAgJm5ic3A7Jm5ic3A7PHN0cm9uZz57JG1vZC0+TGFuZygnd2VkbmVzZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMud2VkbmVzZGF5fTxici8+CiAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskbW9kLT5MYW5nKCd0aHVyc2RheScpfTo8L3N0cm9uZz4mbmJzcDt7JHJzcmMucHJpY2VzLnRodXJzZGF5fTxici8+CiAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskbW9kLT5MYW5nKCdmcmlkYXknKX06PC9zdHJvbmc+Jm5ic3A7eyRyc3JjLnByaWNlcy5mcmlkYXl9PGJyLz4KICAgICZuYnNwOyZuYnNwOzxzdHJvbmc+eyRtb2QtPkxhbmcoJ3NhdHVyZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMuc2F0dXJkYXl9PGJyLz4KICA8L2Rpdj4KCiAgeyogZGlzY291bnRzICp9CiAgPGRpdj48L2Rpdj4KICB7aWYgJHJzcmMucHJpY2VzLmRpc2NvdW50X3R5cGUgPT0gMX0KICAgIHskbW9kLT5MYW5nKCdpbmZvX2Rpc2NvdW50X2ZyZWVibG9jaycsJHJzcmMucHJpY2VzLmRpc2NvdW50X2RheXMpfQogIHtlbHNlaWYgJHJzcmMucHJpY2VzLmRpc2NvdW50X3R5cGUgPT0gMn0KICAgIHskbW9kLT5MYW5nKCdpbmZvX2Rpc2NvdW50X2FsbGFkanVzdCcsJHJzcmMucHJpY2VzLmRpc2NvdW50X2FkanVzdCwkcnNyYy5wcmljZXMuZGlzY291bnRfZGF5cyl9CiAge2Vsc2VpZiAkcnNyYy5wcmljZXMuZGlzY291bnRfdHlwZSA9PSAzfQogICAgeyRtb2QtPkxhbmcoJ2luZm9fZGlzY291bnRfYWRqdXN0ZGF5cycsJHJzcmMucHJpY2VzLmRpc2NvdW50X2FkanVzdCwkcnNyYy5wcmljZXMuZGlzY291bnRfZGF5cyl9CiAgey9pZn0KICA8L2Rpdj4KICB7L2lmfQoKeyogQXZhaWxhYmlsaXR5UmVzb3VyY2VEZXRhaWwgKn08L2Rpdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_myreservations_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbXlyZXNlcnZhdGlvbnMgdmlldyAqfQp7aWYgaXNzZXQoJHJlc2VydmF0aW9ucyl9CjxkaXYgc3R5bGU9IndpZHRoOiA5NSU7IG92ZXJmbG93OiBhdXRvOyI+CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG1vZC0+TGFuZygnaWQnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskbW9kLT5MYW5nKCdwcmljZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+eyRtb2QtPkxhbmcoJ2NyZWF0ZV9kYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG1vZC0+TGFuZygnbW9kaWZpZWRfZGF0ZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+Jm5ic3A7PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij4mbmJzcDs8L2Rpdj4KPC9kaXY+Cntmb3JlYWNoIGZyb209JHJlc2VydmF0aW9ucyBpdGVtPSdvbmUnfQo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+eyIlMDZkInxzcHJpbnRmOiRvbmUuaWR9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG9uZS5zdGFydF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskb25lLmVuZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskb25lLm51bV9wZW9wbGV9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG9uZS5jcmVhdGVfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG9uZS5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPgogIHtpZiBpc3NldCgkb25lLmVtYWlsX3VybCl9PGEgaHJlZj0ieyRvbmUuZW1haWxfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdzZW5kX2VtYWlsJyl9Ij57JG9uZS5lbWFpbF9pY29ufTwvYT57ZWxzZX0mbmJzcDt7L2lmfSAgIAogIDwvZGl2PgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+CiAge2lmIGlzc2V0KCRvbmUuZWRpdF91cmwpfTxhIGhyZWY9Inskb25lLmVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57JG9uZS5lZGl0X2ljb259PC9hPntlbHNlfSZuYnNwO3svaWZ9ICAgCiAgPC9kaXY+CjwvZGl2Pgp7L2ZvcmVhY2h9CjwvZGl2Pgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_confirm_email_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsICp9CjxodG1sPgo8Ym9keT4KCjxoMz57JEF2YWlsYWJpbGl0eS0+TGFuZygncmVzZXJ2YXRpb25fY3JlYXRlZCcpfTwvaDM+CjxwPlRoYW5rIHlvdSB7JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9IDxlbT4oeyR1c2VyaW5mby0+ZW1haWx9KTwvZW0+LiAgRm9yIHN1Ym1pdHRpbmcgYSByZXNlcnZhdGlvbiB3aXRoIHtzaXRlbmFtZX08L3A+IHZhdGlvbiAoaWQgeyIlMDZkInxzcHJpbnRmOiRyZXNlcnZhdGlvbi5pZH0pIGhhcyBiZWVuIGNyZWF0ZWQuPC9wPgoKPGg0PnskQXZhaWxhYmlsaXR5LT5MYW5nKCdyZXNlcnZhdGlvbl9kZXRhaWxzJyl9OjwvaDQ+CjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDFlbTsiPgo8ZGl2IHN0eWxlPSJ3aWR0aDogODAlOyBtYXJnaW4tbGVmdDogM2VtOyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij57JEF2YWlsYWJpbGl0eS0+TGFuZygncmVzZXJ2YXRpb25faWQnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+eyRyZXNlcnZhdGlvbi5pZH08L2Rpdj4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxZW07Ij4KPGRpdiBzdHlsZT0id2lkdGg6IDgwJTsgbWFyZ2luLWxlZnQ6IDNlbTsiPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+eyRBdmFpbGFiaWxpdHktPkxhbmcoJ3N0YXR1cycpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij57JEF2YWlsYWJpbGl0eS0+TGFuZygkcmVzZXJ2YXRpb24uc3RhdHVzKX08L2Rpdj4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxZW07Ij4KPGRpdiBzdHlsZT0id2lkdGg6IDgwJTsgbWFyZ2luLWxlZnQ6IDNlbTsiPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+eyRBdmFpbGFiaWxpdHktPkxhbmcoJ3lvdXJfbmFtZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij57JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9PC9kaXY+CjwvZGl2PgoKPGRpdiBzdHlsZT0id2lkdGg6IDgwJTsgbWFyZ2luLWxlZnQ6IDNlbTsiPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+eyRBdmFpbGFiaWxpdHktPkxhbmcoJ3ByaWNlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPiR7JHJlc2VydmF0aW9uLnByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L2Rpdj4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSJ3aWR0aDogODAlOyBtYXJnaW4tbGVmdDogM2VtOyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij57JEF2YWlsYWJpbGl0eS0+TGFuZygnY3JlYXRlZCcpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij57JHJlc2VydmF0aW9uLmNyZWF0ZV9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KPC9kaXY+CjwvZGl2PgoKe2lmIGlzc2V0KCRyZXNlcnZhdGlvbi5wYXJ0cykgJiYgY291bnQoJHJlc2VydmF0aW9uLnBhcnRzKX0KPGg0PnskQXZhaWxhYmlsaXR5LT5HZXRSZXNvdXJjZXR5cGUoMSl9OjwvaDQ+CjxkaXY+CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsgZmxvYXQ6IGxlZnQ7Ij57JEF2YWlsYWJpbGl0eS0+R2V0UmVzb3VyY2VUeXBlKCl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7Ij57JEF2YWlsYWJpbGl0eS0+TGFuZygnc3RhcnRfZGF0ZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRBdmFpbGFiaWxpdHktPkxhbmcoJ2VuZF9kYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+eyRBdmFpbGFiaWxpdHktPkxhbmcoJ251bV9wZW9wbGUnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogcmlnaHQ7Ij57JEF2YWlsYWJpbGl0eS0+TGFuZygncHJpY2UnKX08L2Rpdj4KPC9kaXY+IAoKe2ZvcmVhY2ggZnJvbT0kcmVzZXJ2YXRpb24ucGFydHMgaXRlbT0nb25lcGFydCd9CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsgZmxvYXQ6IGxlZnQ7Ij57JHJlc2VydmF0aW9uLnJlc291cmNlc1skb25lcGFydC5yc3JjX2lkXS5uYW1lfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0LnN0YXJ0X2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0LmVuZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsiPnskb25lcGFydC5udW1fcGVvcGxlfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiByaWdodDsiPiR7JG9uZXBhcnQucHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvZGl2Pgo8L2Rpdj4gCnsvZm9yZWFjaH0KPC9kaXY+Cjxici8+CnsvaWZ9Cgo8YnIvPgo8aDQ+eyRBdmFpbGFiaWxpdHktPkxhbmcoJ25vdGVzJyl9OjwvaDQ+Cntmb3JlYWNoIGZyb209JG5vdGVzIGl0ZW09J29uZW5vdGUnfQogIDxkaXYgc3R5bGU9IndpZHRoOiA4MCU7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1ib3R0b206IDAuNWVtOyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNTAlOyBmbG9hdDogbGVmdDsiPnskQXZhaWxhYmlsaXR5LT5MYW5nKCdzdWJqZWN0Jyl9OiZuYnNwO3skb25lbm90ZS5zdWJqZWN0fTwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDQ5JTsgZmxvYXQ6IGxlZnQ7Ij57JEF2YWlsYWJpbGl0eS0+TGFuZygnY3JlYXRlZCcpfTombmJzcDt7JG9uZW5vdGUuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogICAgPHA+eyRvbmVub3RlLnRleHR9PC9wPgogIDwvZGl2Pgp7L2ZvcmVhY2h9Cgo8cD5JZiB0aGVyZSBhcmUgZXJyb3JzIGluIHlvdXIgcmVzZXJ2YXRpb24sIHlvdSBjYW4gZWRpdCBpdCBieSBjbGlja2luZyA8YSBocmVmPSJ7JGVkaXRfdXJsfSI+aGVyZTwvYT4uIFRoaXMgbGluayB3aWxsIHdvcmsgdW50aWwgdGhlIGRhdGUgb2YgdGhlIHJlc2VydmF0aW9uLjwvcD4KPHA+SWYgeW91IHdvdWxkIGxpa2UgdG8gY29udGFjdCB0aGUgYnVzaW5lc3MgdG8gZnVydGhlciBkaXNjdXNzIHlvdXIgcmVzZXJ2YXRpb24sIHBsZWFzZSBjbGljayA8YSBocmVmPSJ7JGVtYWlsX3VybH0iPmhlcmU8L2E+LjwvcD4KPC9ib2R5Pgo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_confirm_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHRlbXBsYXRlICp9CjxoMz57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fY3JlYXRlZCcpfTwvaDM+CjxwPlRoYW5rIHlvdSB7JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9IDxlbT4oeyR1c2VyaW5mby0+ZW1haWx9KTwvZW0+LiAgWW91ciByZXNlcnZhdGlvbiAoaWQgeyIlMDZkInxzcHJpbnRmOiRyZXNlcnZhdGlvbi5pZH0pIGhhcyBiZWVuIGNyZWF0ZWQuPC9wPgoKPGg0PnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9kZXRhaWxzJyl9OjwvaDQ+CjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDFlbTsiPgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3lvdXJfbmFtZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij57JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdwcmljZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij4keyRyZXNlcnZhdGlvbi5wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPnskcmVzZXJ2YXRpb24uY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgp7aWYgaXNzZXQoJHJlc2VydmF0aW9uLnBhcnRzKSAmJiBjb3VudCgkcmVzZXJ2YXRpb24ucGFydHMpfQo8aDQ+eyRtb2QtPkdldFJlc291cmNldHlwZSgxKX06PC9oND4KPGRpdj4KPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdkYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogcmlnaHQ7Ij57JG1vZC0+TGFuZygncHJpY2UnKX08L2Rpdj4KPC9kaXY+IAoKe2ZvcmVhY2ggZnJvbT0kcmVzZXJ2YXRpb24ucGFydHMgaXRlbT0nb25lcGFydCd9CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsgZmxvYXQ6IGxlZnQ7Ij57JHJlc2VydmF0aW9uLnJlc291cmNlc1skb25lcGFydC5yc3JjX2lkXS5uYW1lfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0LnN0YXJ0X2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0Lm51bV9wZW9wbGV9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+JHskb25lcGFydC5wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9kaXY+CjwvZGl2PiAKey9mb3JlYWNofQo8L2Rpdj4KPGJyLz4Key9pZn0KCjxoND57JG1vZC0+TGFuZygnbm90ZXMnKX06PC9oND4Ke2ZvcmVhY2ggZnJvbT0kcmVzZXJ2YXRpb24ubm90ZXMgaXRlbT0nb25lbm90ZSd9CntpZiAhJG9uZW5vdGUuYWRtaW5fbm90ZX0KICB7KiBvbmx5IGRpc3BsYXkgdXNlciBub3RlcyBoZXJlICp9CiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA1MCU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3N1YmplY3QnKX06Jm5ic3A7eyRvbmVub3RlLnN1YmplY3R9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9OiZuYnNwO3skb25lbm90ZS5jcmVhdGVfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgICA8cD57JG9uZW5vdGUudGV4dH08L3A+CiAgPC9kaXY+CnsvaWZ9CnsvZm9yZWFjaH0KPGJyLz4KPHA+QW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgYWJvdmUgd2l0aCB0aGUgZGV0YWlscyBvZiB5b3VyIHJlc2VydmF0aW9uLCBhbmQgaW5zdHJ1Y3Rpb25zIGFzIHRvIGhvdyB0byBhcnJhbmdlIHBheW1lbnQuPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_template.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAvLyAKICAvLyBzb21lIGluaXRpYWwgY2hlY2tzCiAgLy8KICBpZiggIWpRdWVyeSB8fCAhc3RyZnRpbWUgfHwgIXN0cnRvdGltZSApCiAgewogICAgYWxlcnQoJ0ZBVEFMIEVSUk9SIC0tIE5lY2Vzc2FyeSB1dGlsaXRpZXMgcmVxdWlyZWQgZm9yIHRoaXMgZnVuY3Rpb25hbGl0eSB0byBvcGVyYXRlIGhhdmUgbm90IGJlZW4gbG9hZGVkJyk7CiAgfQoKICBqUXVlcnkuZXh0ZW5kKHsKICAgICAgcG9zdEpTT046IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrICkgewogICAgICAgICAgIHJldHVybiBqUXVlcnkucG9zdCh1cmwsIGRhdGEsIGNhbGxiYWNrLCAianNvbiIpOwogICAgICB9CiAgfSk7CgogIGZ1bmN0aW9uIF9mb3JtYXRfcHJpY2UodmFsKQogIHsKICAgIHN0ciA9IGN1cnJlbmN5X3N5bWJvbCArIHZhbDsKICAgIHJldHVybiBzdHI7CiAgfQoKICBmdW5jdGlvbiBfYWRkX3Jvdyhyc3JjX2lkLHJzcmNfdHlwZSxyc3JjX3N0cixzdGFydF9kYXRlLGVuZF9kYXRlLG51bV9wZW9wbGUsbWVyaWRpYW4scHJpY2Usc2VyaWFsaXplZCkKICB7CiAgICAgLy8gZ2V0IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gb2YgY2xhc3MgcmVzZXJ2YXRpb25fcGFydAogICAgIHZhciBpZHggPSAwOwogICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKS5jaGlsZHJlbignLnJlc2VydmF0aW9uX3BhcnQnKS5lYWNoKGZ1bmN0aW9uKGVsZW0pewogICAgICAgdmFyIHRtcCA9IGpRdWVyeSh0aGlzKS5maW5kKCcucm93X3BhcnRudW0nKS5odG1sKCk7CiAgICAgICBpZiggdG1wID4gaWR4ICkgaWR4ID0gdG1wOwogICAgIH0pOwogICAgIGlkeCsrOwoKICAgICBuZXdyb3cgPSBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X3RlbXBsYXRlJykuY2xvbmUodHJ1ZSk7CiAgICAgbmV3cm93LmF0dHIoJ2lkJywncmVzZXJ2YXRpb25fcGFydF8nK2lkeCk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0JykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgIHZhciBuYW1lID0galF1ZXJ5KHRoaXMpLmF0dHIoJ25hbWUnKTsKICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoJ1hYJyxpZHgpOwogICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgnWVknLGFjdGlvbmlkKydhdmFpbF9wYXJ0Jyk7CiAgICAgICBqUXVlcnkodGhpcykuYXR0cignbmFtZScsbmFtZSk7CiAgICAgfSk7CgogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfcnNyY19pZCcpLmF0dHIoJ3ZhbHVlJyxyc3JjX2lkKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X3NlcmRhdGEnKS5hdHRyKCd2YWx1ZScsc2VyaWFsaXplZCk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19tZXJpZGlhbicpLmF0dHIoJ3ZhbHVlJyxtZXJpZGlhbik7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19zdGFydGRhdGUnKS5hdHRyKCd2YWx1ZScsc3RydG90aW1lKHN0YXJ0X2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X2VuZGRhdGUnKS5hdHRyKCd2YWx1ZScsc3RydG90aW1lKGVuZF9kYXRlKSk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19udW1wZW9wbGUnKS5hdHRyKCd2YWx1ZScsbnVtX3Blb3BsZSk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19wcmljZScpLmF0dHIoJ3ZhbHVlJyxwcmljZSk7CgogICAgIG5ld3Jvdy5maW5kKCcucm93X3N0YXJ0X2RhdGUnKS5odG1sKHN0cmZ0aW1lKGRhdGVfZm9ybWF0LHN0YXJ0X2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19lbmRfZGF0ZScpLmh0bWwoc3RyZnRpbWUoZGF0ZV9mb3JtYXQsZW5kX2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19wYXJ0bnVtJykuaHRtbChpZHgpOwogICAgIG5ld3Jvdy5maW5kKCcucm93X3Jlc291cmNlJykuaHRtbChyc3JjX3N0cik7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfbnVtX3Blb3BsZScpLmh0bWwobnVtX3Blb3BsZSk7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfc2hvd19wcmljZScpLmh0bWwocHJpY2UpOwoKICAgICBuZXdyb3cuZmluZCgnLnJvd19kZWxldGUnKS5jbGljayhmdW5jdGlvbigpewogICAgICAgLy8gaGFuZGxlIHRoZSBkZWxldGUgYnV0dG9uIG9uIHJlc2VydmF0aW9uIHBhcnRzLgogICAgICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSh0aGlzKS5wYXJlbnRzKCcucmVzZXJ2YXRpb25fcGFydCcpOwogICAgICAgX2RlbGV0ZV9yb3coY29udGFpbmVyKTsKICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9KTsKCiAgICAgbmV3cm93LmZpbmQoJy5yb3dfZWRpdCcpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAvLyBoYW5kbGUgdGhlIGVkaXQgYnV0dG9uIG9uIHJlc2VydmF0aW9uIHBhcnRzLgogICAgICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSh0aGlzKS5wYXJlbnRzKCcucmVzZXJ2YXRpb25fcGFydCcpOwogICAgICAgdmFyIHJzcmNfaWQgPSBjb250YWluZXIuZmluZCgnaW5wdXQucm93X3JzcmNfaWQnKS5hdHRyKCd2YWx1ZScpOwogICAgICAgdmFyIHN0YXJ0X2RhdGUgPSBjb250YWluZXIuZmluZCgnaW5wdXQucm93X3N0YXJ0ZGF0ZScpLmF0dHIoJ3ZhbHVlJyk7CiAgICAgICB2YXIgc2VyZGF0YSA9IGNvbnRhaW5lci5maW5kKCdpbnB1dC5yb3dfc2VyZGF0YScpLnZhbCgpOwogICAgICAgaWYoIHNlcmRhdGEubGVuZ3RoID4gMCApCgkgewogICAgICAgICAgIC8vIHdlIGhhdmUgc2VyaWFsaXplZCBkYXRhCgkgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X2VkaXQnKS5mb3JtX3BvcHVsYXRlX3NlcmlhbGl6ZWQoc2VyZGF0YSk7CiAgICAgICAgIH0KICAgICAgIF9vbl9jaGFuZ2VfcnNyYygpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0pOyAgICAgCiAgICAgCiAgICAgbmV3cm93LmFwcGVuZFRvKCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpOwogICAgIG5ld3Jvdy5mYWRlSW4oKTsKICB9CgogIGZ1bmN0aW9uIGNhbGNfdG90YWxfcHJpY2UoKSAKICB7CiAgICB2YXIgdG90YWxwcmljZSA9IDA7CiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuY2hpbGRyZW4oJy5yZXNlcnZhdGlvbl9wYXJ0JykuZWFjaChmdW5jdGlvbihlbGVtKXsKICAgICAgdmFsID0galF1ZXJ5KHRoaXMpLmZpbmQoJ2lucHV0LnJvd19wcmljZScpLnZhbCgpOwogICAgICB0b3RhbHByaWNlICs9IHBhcnNlRmxvYXQodmFsKTsJCiAgICB9KTsKICAgIHJldHVybiB0b3RhbHByaWNlOwogIH0KCiAgZnVuY3Rpb24gX3VwZGF0ZV9kYXRlcyhyc3JjX3R5cGUsc3RhcnRfZGF0ZSxlbmRfZGF0ZSkKICB7CiAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KCcjcnNyY19wZXJpb2RfJytyc3JjX3R5cGUpOwogICAgaWYoIHJzcmNfdHlwZSA9PSAnZCcgKQogICAgewogICAgICBjb250YWluZXIuZm9ybV9zZXRfZGF0ZXRpbWUoc3RydG90aW1lKHN0YXJ0X2RhdGUpLCdzZWxfc3RhcnRkYXRlX2RfJyk7CiAgICAgIGNvbnRhaW5lci5mb3JtX3NldF9kYXRldGltZShzdHJ0b3RpbWUoZW5kX2RhdGUpLCdzZWxfZW5kZGF0ZV9kXycpOwogICAgfQogICAgZWxzZSBpZiggcnNyY190eXBlID09ICdoJyApCiAgICB7CiAgICAgIGNvbnRhaW5lci5mb3JtX3NldF9kYXRldGltZShzdHJ0b3RpbWUoc3RhcnRfZGF0ZSksJ3NlbF9zdGFydGRhdGVfZF8nLDEpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gX29uX2NoYW5nZV9yc3JjKCkKICB7CiAgICBqUXVlcnkoJyNzZWxfYnRuX2FkZCcpLmhpZGUoKTsKICAgIHZhciB0bXAgPSBqUXVlcnkoJyNzZWxfcnNyYycpLnZhbCgpLnNwbGl0KCcsJyk7CiAgICBpZiggdG1wWzFdID09ICctMScgKQogICAgeyAKICAgICAgalF1ZXJ5KCcjc2VsX2J0bnMnKS5oaWRlKCk7CiAgICAgIGpRdWVyeSgnI3NlbF9yb3dfbnVtcGVvcGxlJykuaGlkZSgpOwogICAgICBqUXVlcnkoJyNzZWxfcnNyY19zdW1tYXJ5JykuaHRtbCgnJyk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgIGpRdWVyeSgnI3NlbF9idG5zJykuc2hvdygpOwogICAgICBqUXVlcnkoJyNzZWxfcm93X251bXBlb3BsZScpLnNob3coKTsKICAgIH0KICAgIGpRdWVyeSgnLnJzcmNfcGVyaW9kJykuaGlkZSgpOwogICAgalF1ZXJ5KCcjcnNyY19wZXJpb2RfJyt0bXBbMV0pLnNob3coKTsKICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaGlkZSgpOwogICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwoKICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICBvYmoucnNyY19pZCA9IHRtcFswXTsKICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwogICAgJC5wb3N0KHJzcmNfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICBpZihyZXNwb25zZS5yZXN1bHQgPT0gJ3N1Y2Nlc3MnICkgewogICAgICAgICAgIGpRdWVyeSgnI3NlbF9yc3JjX3N1bW1hcnknKS5odG1sKHJlc3BvbnNlLnN1bW1hcnkpOwogICAgICAgICB9CiAgICAgICB9LAogICAgICAgJ2pzb24nKTsKICB9CgogIGZ1bmN0aW9uIF91cGRhdGVfdG90YWxzKCkKICB7CiAgICAvLyByZWNhbGN1bGF0ZSB0b3RhbHMKICAgIHZhciBwcmljZSA9IGNhbGNfdG90YWxfcHJpY2UoKTsKICAgIGpRdWVyeSgnI2NhbGNwcmljZScpLmh0bWwocHJpY2UpOwoKICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICBvYmoucHJpY2UgPSBwcmljZTsKICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwogICAgJC5wb3N0KGRlcG9zaXRfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICBpZiggcmVzcG9uc2UucmVzdWx0ID09ICdzdWNjZXNzJyApCgkgewogICAgICAgICAgIGpRdWVyeSgnI2NhbGNkZXBvc2l0JykuaHRtbChyZXNwb25zZS52YWx1ZSk7CiAgICAgICAgICAgalF1ZXJ5KCcjdXNlcmRlcG9zaXQnKS52YWwocmVzcG9uc2UudmFsdWUpOwogICAgICAgICB9CiAgICAgICB9LAogICAgICAgJ2pzb24nKTsKICB9CgogIGZ1bmN0aW9uIF9kZWxldGVfcm93KG9iaikKICB7CiAgICBvYmoucmVtb3ZlKCk7CgogICAgdmFyIGlkeCA9IDE7CiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuY2hpbGRyZW4oJy5yZXNlcnZhdGlvbl9wYXJ0JykuZWFjaChmdW5jdGlvbihlbGVtKXsKICAgICAgalF1ZXJ5KHRoaXMpLmZpbmQoJy5yb3dfcGFydG51bScpLmh0bWwoaWR4KyspOwogICAgfSk7CiAgICBfdXBkYXRlX3RvdGFscygpOwogIH0KCiAgZnVuY3Rpb24gX2NoZWNrX2V4aXN0aW5nX3BhcnRzKG9iaikKICB7CiAgICB2YXIgcmVzID0gMTsKICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKS5jaGlsZHJlbignLnJlc2VydmF0aW9uX3BhcnQnKS5lYWNoKGZ1bmN0aW9uKGVsZW0pewogICAgICAgdmFyIHJzcmNfaWQgPSBqUXVlcnkodGhpcykuZmluZCgnaW5wdXQucm93X3JzcmNfaWQnKS52YWwoKTsKICAgICAgIHZhciBzdGFydCA9IGpRdWVyeSh0aGlzKS5maW5kKCdpbnB1dC5yb3dfc3RhcnRkYXRlJykudmFsKCk7CiAgICAgICB2YXIgZW5kID0galF1ZXJ5KHRoaXMpLmZpbmQoJ2lucHV0LnJvd19lbmRkYXRlJykudmFsKCk7CgogICAgICAgdmFyIG9zdGFydCA9IHN0cnRvdGltZShvYmouc3RhcnRfZGF0ZSk7CiAgICAgICB2YXIgb2VuZCA9IHN0cnRvdGltZShvYmouZW5kX2RhdGUpOwogICAgICAgaWYoIG9iai5yc3JjX2lkID09IHJzcmNfaWQgKQogICAgICAgewoJIGlmKCBvc3RhcnQgPT0gc3RhcnQgfHwgb2VuZCA9PSBlbmQgKQogICAgICAgICB7CiAgICAgICAgICAgcmVzID0gMDsKICAgICAgICAgfQogICAgICAgfQogICAgfSk7CiAgICByZXR1cm4gcmVzOwogIH0KCiAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICQuYWpheFNldHVwKHsKICAgICAgdGltZW91dDogMjAwMAogICAgfSk7CgogICAgLy8gaGlkZSBhbmQgc2hvdyB2YXJpb3VzIGZpZWxkcyBiYXNlZCBvbiB0aGUgcmVzb3VyY2Ugc2VsZWN0ZWQgCiAgICBqUXVlcnkoJyNzZWxfcnNyYycpLmNoYW5nZShmdW5jdGlvbigpIHsKICAgICAgX29uX2NoYW5nZV9yc3JjKCk7CiAgICB9KTsKCiAgICAvLyBoYW5kbGUgdGhlIGNoZWNrIGJ1dHRvbiBjbGljawogICAgalF1ZXJ5KCcjc2VsX2J0bl9jaGVjaycpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0Jyk7CgogICAgICAvLyBidWlsZCB0aGUganNvbiBkYXRhCiAgICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICAgIHZhciB2YWwgPSBqUXVlcnkoJyNzZWxfcnNyYycpLnZhbCgpOwogICAgICBvYmoucnNyY19pZCA9IHZhbC5zcGxpdCgnLCcpWzBdOwogICAgICB2YXIgcnNyY190eXBlID0gdmFsLnNwbGl0KCcsJylbMV07CiAgICAgIGlmKCByc3JjX3R5cGUgPT0gJ2QnICkKICAgICAgICB7CiAgICAgICAgICBvYmouc3RhcnRfZGF0ZSA9IGNvbnRhaW5lci5mb3JtX2dldF9kYXRldGltZSgnc2VsX3N0YXJ0ZGF0ZV9kXycpOwogICAgICAgICAgb2JqLmVuZF9kYXRlID0gY29udGFpbmVyLmZvcm1fZ2V0X2RhdGV0aW1lKCdzZWxfZW5kZGF0ZV9kXycpOwogICAgICAgIH0KICAgICAgZWxzZSBpZiggcnNyY190eXBlID09ICdoJyApCiAgICAgICAgewogICAgICAgICAgb2JqLnN0YXJ0X2RhdGUgPSBjb250YWluZXIuZm9ybV9nZXRfZGF0ZXRpbWUoJ3NlbF9zdGFydGRhdGVfaF8nLDEpCiAgICAgICAgfQogICAgICBlbHNlIGlmKCByc3JjX3R5cGUgPT0gJ3AnICkKICAgICAgICB7CiAgICAgICAgICBvYmouc3RhcnRfZGF0ZSA9IGNvbnRhaW5lci5mb3JtX2dldF9kYXRldGltZSgnc2VsX3N0YXJ0ZGF0ZV9wXycpCiAgICAgICAgICBvYmoubWVyaWRpYW4gPSBjb250YWluZXIuZmluZCgnI3NlbF9tZXJpZGlhbl9wJykudmFsKCk7IAogICAgICAgIH0KICAgICAgb2JqLm51bV9wZW9wbGUgPSBjb250YWluZXIuZmluZCgnI3NlbF9udW1wZW9wbGUnKS52YWwoKTsKCiAgICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwoKICAgICAgLy8gZG8ganNvbiByZXF1ZXN0CiAgICAgIHZhciBqc29uID0gJC5wb3N0KGNoZWNrX3VybCwgeyBkYXRhOiBzdHIgfSwKICAgICAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2ludF9zdGF0dXMnKS5odG1sKHJlc3BvbnNlLnJlc3VsdCk7CiAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9pbnRfcHJpY2UnKS5odG1sKHJlc3BvbnNlLnByaWNlKTsKCSAgICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLmh0bWwocmVzcG9uc2UubWVzc2FnZSk7CgogICAgICAgICAgICBpZiggcmVzcG9uc2UucmVzdWx0ID09ICdhdmFpbGFibGUnICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgb2JqLnN0YXJ0X2RhdGUgPSByZXNwb25zZS5zdGFydF9kYXRlOwogICAgICAgICAgICAgICAgb2JqLmVuZF9kYXRlID0gcmVzcG9uc2UuZW5kX2RhdGU7CiAgICAgICAgICAgICAgICByZXMgPSBfY2hlY2tfZXhpc3RpbmdfcGFydHMob2JqKTsKICAgICAgICAgICAgICAgIGlmKCAhcmVzICkKICAgICAgICAgICAgICAgIHsKICAgICAgIAkgICAgICAgICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaHRtbChlcnJvcl9yZXN2bl9jb25mbGljdCkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQoKCSAgICAgICAgLy8gZ290IGFuIGF2YWlsYWJsZSBwZXJpb2QKCSAgICAgICAgalF1ZXJ5KCcjc2VsX2J0bl9hZGQnKS5zaG93KCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfcHJpY2VfYW10JykuaHRtbChfZm9ybWF0X3ByaWNlKHJlc3BvbnNlLnByaWNlKSk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfcHJpY2UnKS5zaG93KCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLnNob3coKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9keW5fc3RhcnRfZGF0ZScpLnZhbChyZXNwb25zZS5zdGFydF9kYXRlKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9keW5fZW5kX2RhdGUnKS52YWwocmVzcG9uc2UuZW5kX2RhdGUpOwogCiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGRhdGVzIGZyb20gd2hhdCB3ZSBoYXZlCiAgICAgICAgICAgICAgICAvL191cGRhdGVfZGF0ZXMocnNyY190eXBlLHJlc3BvbnNlLnN0YXJ0X2RhdGUscmVzcG9uc2UuZW5kX2RhdGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX21lc3NhZ2UnKS5zaG93KCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX3N0YXJ0X2RhdGUnKS52YWwoJy0xJyk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX2VuZF9kYXRlJykudmFsKCctMScpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCAKICAgICAgICAgICdqc29uJyk7CgogICAgICAvLyBubyBtb3JlIHByb2Nlc3NpbmcuCiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKICAgIC8vIGhhbmRsZSB0aGUgc2VsZWN0IGZpZWxkcyBjaGFuZ2luZy4KICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCBzZWxlY3QnKS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgICAgLy8gc2VsZWN0IGZpZWxkIGhhcyBjaGFuZ2VkLgogICAgICBqUXVlcnkoJyNzZWxfZHluX3N0YXJ0X2RhdGUnKS52YWwoJy0xJyk7CiAgICAgIGpRdWVyeSgnI3NlbF9keW5fZW5kX2RhdGUnKS52YWwoJy0xJyk7CiAgICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuaGlkZSgpOwoKICAgICAgLy8gdGhpcyBwYXJ0IGF1dG9tYXRpY2FsbCB1cGRhdGVzIHRoZSBlbmQtZGF0ZSBvbiBzdGFydC1kYXRlIG1vZGlmaWNhdGlvbi4KICAgICAgdmFyIG5hbWUgPSBqUXVlcnkodGhpcykuYXR0cignbmFtZScpOwogICAgICB2YXIgbmFtZXIgPSBuYW1lLnJlcGxhY2UoJ3N0YXJ0ZGF0ZScsJ2VuZGRhdGUnKTsKICAgICAgaWYoIG5hbWUgIT0gbmFtZXIgKQoJewogICAgICAgICAgalF1ZXJ5KCI6aW5wdXRbbmFtZT0nIituYW1lcisiJ10iKS52YWwoalF1ZXJ5KCI6aW5wdXRbbmFtZT0nIituYW1lKyInXSIpLnZhbCgpKTsKICAgICAgICB9CiAgICB9KTsKCiAgICAvLyBoYW5kbGUgdGhlIGFkZCBidXR0b24uCiAgICBqUXVlcnkoJyNzZWxfYnRuX2FkZCcpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAvLyBoYXZlIHRvIGFkZCBhIHJvdyB0byB0aGUgcmVzZXJ2YXRpb25zIHBhcnRzIGxpc3QKICAgICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCcpOwogICAgICB2YXIgdmFsID0galF1ZXJ5KCcjc2VsX3JzcmMnKS52YWwoKTsKICAgICAgdmFyIHJzcmNfaWQgPSB2YWwuc3BsaXQoJywnKVswXTsKICAgICAgdmFyIHJzcmNfdHlwZSA9IHZhbC5zcGxpdCgnLCcpWzFdOwogICAgICB2YXIgcnNyY19zdHIgPSBqUXVlcnkoJyNzZWxfcnNyYyA6c2VsZWN0ZWQnKS50ZXh0KCk7CiAgICAgIHZhciBudW1fcGVvcGxlID0galF1ZXJ5KCcjc2VsX251bXBlb3BsZScpLnZhbCgpOwogICAgICB2YXIgcHJpY2UgPSBqUXVlcnkoJyNzZWxfaW50X3ByaWNlJykuaHRtbCgpOwogICAgICB2YXIgc3RhcnRfZGF0ZSA9IGpRdWVyeSgnI3NlbF9keW5fc3RhcnRfZGF0ZScpLnZhbCgpOwogICAgICB2YXIgZW5kX2RhdGUgPSBqUXVlcnkoJyNzZWxfZHluX2VuZF9kYXRlJykudmFsKCk7CiAgICAgIHZhciBtZXJpZGlhbiA9ICcnOwoKICAgICAgaWYoIHN0YXJ0X2RhdGUgPT0gJy0xJyB8fCBlbmRfZGF0ZSA9PSAnLTEnICkKICAgICAgewoJYWxlcnQoJ2Nhbm5vdCBhZGQnKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaWYoIHJzcmNfdHlwZSA9PSAncCcgKQogICAgICB7CgltZXJpZGlhbiA9IGpRdWVyeSgnI3NlbF9tZXJpZGlhbicpLnZhbCgpOwogICAgICB9CgogICAgICAvLyBhZGQgdGhlIHJvdwogICAgICB2YXIgc2VyaWFsaXplZCA9IGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRfZWRpdCcpLnNlcmlhbGl6ZUFueXRoaW5nKCk7CiAgICAgIF9hZGRfcm93KHJzcmNfaWQscnNyY190eXBlLHJzcmNfc3RyLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbnVtX3Blb3BsZSxtZXJpZGlhbixwcmljZSxzZXJpYWxpemVkKTsKCiAgICAgIC8vIHVwZGF0ZSB0b3RhbHMuCiAgICAgIF91cGRhdGVfdG90YWxzKCk7CgogICAgICAvLyBubyBtb3JlIHByb2Nlc3NpbmcuCiAgICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuaGlkZSgpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKCiAgICAvLyBoYW5kbGUgZm9ybSBzdWJtaXNzaW9uLgogICAgalF1ZXJ5KCcjc3VibWl0X2J0bicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgIC8vIHN1Ym1pdCBidXR0b24gcHJlc3NlZC4KICAgICAgdmFyIGNvdW50ID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLnNpemUoKTsKICAgICAgaWYoIGNvdW50ID09IDAgKQogICAgICB7CiAgICAgICAgYWxlcnQoZXJyb3Jfbm9fcmVzdm5fcGFydHMpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSk7CgogICAgLy8gaGFuZGxlIHJvdyBkZWxldGlvbi4KICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKS5maW5kKCcucm93X2RlbGV0ZScpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgIHZhciBjb250YWluZXIgPSBqUXVlcnkodGhpcykucGFyZW50cygnLnJlc2VydmF0aW9uX3BhcnQnKTsKICAgICAgX2RlbGV0ZV9yb3coY29udGFpbmVyKTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgLy8gaGFuZGxlIHJvdyBlZGl0LgogICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmZpbmQoJy5yb3dfZWRpdCcpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KHRoaXMpLnBhcmVudHMoJy5yZXNlcnZhdGlvbl9wYXJ0Jyk7CiAgICAgICB2YXIgc2VyZGF0YSA9IGNvbnRhaW5lci5maW5kKCdpbnB1dC5yb3dfc2VyZGF0YScpLnZhbCgpOwogICAgICAgaWYoIHNlcmRhdGEubGVuZ3RoID4gMCApCgkgewogICAgICAgICAgIC8vIHdlIGhhdmUgc2VyaWFsaXplZCBkYXRhCgkgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X2VkaXQnKS5mb3JtX3BvcHVsYXRlX3NlcmlhbGl6ZWQoc2VyZGF0YSk7CiAgICAgICAgIH0KICAgICAgIF9vbl9jaGFuZ2VfcnNyYygpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgLy9ub3cgaGFuZGxlIHRoZSBsYXRlc3Qgc3R1ZmYKICAgIF9vbl9jaGFuZ2VfcnNyYygpOwogIH0pOwo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJHJlc3ZfaWQpfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfcmVzZXJ2YXRpb24nKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdjcmVhdGVfcmVzZXJ2YXRpb24nKX08L2gzPgp7L2lmfQoKe2lmICFpc3NldCgkZm9ybXN0YXJ0KX0KPHA+eyRtb2QtPkxhbmcoJ2Vycm9yX25vdGxvZ2dlZGluX2ZldScpfTwvcD4Ke2Vsc2V9CjxkaXYgaWQ9InJlc2VydmF0aW9uX2Zvcm1fY29udCI+Cgp7aWYgaXNzZXQoJHN0YXR1cykgJiYgIWVtcHR5KCRzdGF0dXMpfQp7Y2dlcnJvcn17JG1lc3NhZ2V9ey9jZ2Vycm9yfQp7L2lmfQoKeyRmb3Jtc3RhcnR9Cgp7KgogKiA9PT09CiAqIE5PVEUKICoKICogVEhJUyBJUyBOT1QgWU9VUiBUWVBJQ0FMIFRFTVBMQVRFIEZPUiBBIENNU01TIE1PRFVMRQogKiAtCiAqIFRoaXMgdGVtcGxhdGUgbWFrZXMgZXh0ZW5zaXZlIHVzZSBvZiBqYXZhc2NyaXB0LGpxdWVyeSxhbmQgYWpheCB0byBwZXJmb3JtIGl0cyBmdW5jdGlvbnMuICAKICogYWx0aG91Z2ggaXQgaXMgcG9zc2libGUgdG8gbW9kaWZ5IHRoZSBhcHBlYXJhbmNlLCBsYXlvdXQgYW5kIGJlaGF2b3VyIG9mIHRoaXMgbW9kdWxlIGV4dHJlbWUKICogY2F1dGlvbiBtdXN0IGJlIHRha2VuIHdpdGggZWFjaCBtb2RpZmljYXRpb24uCiAqCiAqIFRoZSBpZHMsIGNsYXNzIG5hbWVzLCBhbmQgd2hlcmUgbmVjZXNzYXJ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIHVzZWQgdGhyb3VnaG91dCB0aGlzIHRlbXBsYXRlIGFyZSBub3QKICogbWVyZWx5IGV4YW1wbGVzLCB0aGV5IGFyZSB0aWVkIHRvZ2V0aGVyIHRocm91Z2ggdGhlIGphdmFzY3JpcHQvanF1ZXJ5LCBhbmQgdGVzdGluZyBzaG91bGQgYmUgZG9uZSBhdCBldmVyeQogKiBzdGVwIGZvciBlYWNoIG1vZGlmaWNhdGlvbi4KICogPT09PQogKn0KCnsqCiAqIEJFR0lOIEpRVUVSWSAvIEpBVkFTQ1JJUFQKICp9CntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8vPCFbQ0RBVEFbCiAgLy8gCiAgLy8gc29tZSBpbml0aWFsIGNoZWNrcwogIC8vCiAgdmFyIGNoZWNrX3VybCA9ICJ7L2xpdGVyYWx9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9QXZhaWxhYmlsaXR5IGFjdGlvbj1qc29uX2NoZWNrX2F2YWlsIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIGNoZWNrX3VybCA9IGNoZWNrX3VybC5yZXBsYWNlKC9hbXA7L2csJycpKycmc2hvd3RlbXBsYXRlPWZhbHNlJzsKICB2YXIgZGVwb3NpdF91cmwgPSAiey9saXRlcmFsfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUF2YWlsYWJpbGl0eSBhY3Rpb249anNvbl9yZXN2bl9kZXBvc2l0IHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIGRlcG9zaXRfdXJsID0gZGVwb3NpdF91cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIHJzcmNfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fcnNyY19pbmZvIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIHJzcmNfdXJsID0gcnNyY191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIGFjdGlvbmlkID0gJ3svbGl0ZXJhbH17JGFjdGlvbmlkfXtsaXRlcmFsfSc7CiAgdmFyIGN1cnJlbmN5X3N5bWJvbCA9ICd7L2xpdGVyYWx9eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17bGl0ZXJhbH0nOwogIHZhciBkYXRlX2Zvcm1hdCA9ICd7L2xpdGVyYWx9eyRkYXRlX2Zvcm1hdH17bGl0ZXJhbH0nOwogIHZhciBlcnJvcl9yZXN2bl9jb25mbGljdCA9ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2Vycm9yX3Jlc2VydmF0aW9uX2NvbmZsaWN0Jyl9e2xpdGVyYWx9JzsKICB2YXIgZXJyb3Jfbm9fcmVzdm5fcGFydHMgPSAney9saXRlcmFsfXskbW9kLT5MYW5nKCdlcnJvcl9ub19yZXNlcnZhdGlvbl9wYXJ0cycpfXtsaXRlcmFsfSc7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9CjxzY3JpcHQgc3JjPSJtb2R1bGVzL3skbW9kLT5HZXROYW1lKCl9L3RlbXBsYXRlcy9vcmlnX3Jlc3ZuX3RlbXBsYXRlLmpzIj48L3NjcmlwdD4KCnsqIHRoaXMgaXMgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggaW5kaXZpZHVhbCBwYXJ0IG9mIHRoZSByZXNlcnZhdGlvbiAqfQo8ZGl2IGlkPSJyZXNlcnZhdGlvbl9wYXJ0X3RlbXBsYXRlIiBjbGFzcz0icmVzZXJ2YXRpb25fcGFydCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IGNsZWFyOiBsZWZ0OyI+CiA8cCBjbGFzcz0icm93X3BhcnRudW0iIHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgd2lkdGg6IDJlbTsiPjwvcD4KIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsiPgogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3JzcmNfaWQiIG5hbWU9IllZX3NlbHJzcmNfWFgiIHZhbHVlPSItMSIvPgogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3NlcmRhdGEiIG5hbWU9IllZX3NlcmRhdGFfWFgiIHZhbHVlPSIiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19zdGFydGRhdGUiIG5hbWU9IllZX3N0YXJ0ZGF0ZV9YWCIgdmFsdWU9Ii0xIi8+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfbWVyaWRpYW4iIG5hbWU9IllZX3N0YXJ0ZGF0ZV9YWG1lcmlkaWFuIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19lbmRkYXRlIiBuYW1lPSJZWV9lbmRkYXRlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19udW1wZW9wbGUiIG5hbWU9IllZX251bXBlb3BsZV9YWCIgdmFsdWU9Ii0xIi8+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfcHJpY2UiIG5hbWU9IllZX3ByaWNlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPHNwYW4gY2xhc3M9InJvd19yZXNvdXJjZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdmcm9tJyl9OiA8c3BhbiBjbGFzcz0icm93X3N0YXJ0X2RhdGUiPjwvc3Bhbj4KICAgeyRtb2QtPkxhbmcoJ3RvJyl9OiA8c3BhbiBjbGFzcz0icm93X2VuZF9kYXRlIj48L3NwYW4+PGJyLz4KICAgeyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX06IDxzcGFuIGNsYXNzPSJyb3dfbnVtX3Blb3BsZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdwcmljZScpfTogeyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX08c3BhbiBjbGFzcz0icm93X3Nob3dfcHJpY2UiPjwvc3Bhbj48YnIvPgogICA8c3BhbiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgPGltZyBzcmM9Intyb290X3VybH0vbW9kdWxlcy9BdmFpbGFiaWxpdHkvaWNvbnMvZGVsZXRlLmdpZiIgY2xhc3M9InJvd19kZWxldGUiIGFsdD0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSIvPgogICA8L3NwYW4+CiA8L3A+CjwvZGl2PnsqIGVuZCByZXNlcnZhdGlvbl9wYXJ0X3RlbXBsYXRlICp9Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX3BhcnRzJyl9PC9sZWdlbmQ+CiB7KiB0aGUgYXJlYSB3aGVyZSB0aGUgY29tcGxldGVkIHJlc2VydmF0aW9uIHBhcnRzIGFyZSBnb2luZyB0byBnbyAqfQogPGRpdiBpZD0icmVzZXJ2YXRpb25fcGFydHNfbGlzdCIgc3R5bGU9IndpZHRoOiAzOSU7IGZsb2F0OiBsZWZ0OyI+Cgoge2lmIGlzc2V0KCRyZXNlcnZhdGlvbi5pZCkgJiYgJHJlc2VydmF0aW9uLmlkID4gMH0KIHtmb3JlYWNoIGZyb209JHJlc2VydmF0aW9uLnBhcnRzIGl0ZW09J3BhcnQnIG5hbWU9J3BhcnQnfQoge2Fzc2lnbiB2YXI9J2lkeCcgdmFsdWU9JHNtYXJ0eS5mb3JlYWNoLnBhcnQuaXRlcmF0aW9ufQoge2Fzc2lnbiB2YXI9J3JzcmNfaWQnIHZhbHVlPSRwYXJ0LmV4dF9yc3JjaWR9CiA8ZGl2IGlkPSJyZXNlcnZhdGlvbl9wYXJ0X3skc21hcnR5LmZvcmVhY2gucGFydC5pdGVyYXRpb259IiBjbGFzcz0icmVzZXJ2YXRpb25fcGFydCIgc3R5bGU9ImNsZWFyOiBsZWZ0OyI+CiAgIDxwIGNsYXNzPSJyb3dfcGFydG51bSIgc3R5bGU9ImZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB3aWR0aDogMmVtOyI+eyRpZHh9PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7Ij4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3JzcmNfaWQiIG5hbWU9InskYWN0aW9uaWR9cGFydF9zZWxyc3JjX3skaWR4fSIgdmFsdWU9InskcGFydC5yc3JjX2lkfSIvPgogICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfc3RhcnRkYXRlIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfc3RhcnRkYXRlX3skaWR4fSIgdmFsdWU9InskcGFydC5zdGFydF9kYXRlfHN0cnRvdGltZX0iLz4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X2VuZGRhdGUiIG5hbWU9InskYWN0aW9uaWR9cGFydF9lbmRkYXRlX3skaWR4fSIgdmFsdWU9InskcGFydC5lbmRfZGF0ZXxzdHJ0b3RpbWV9Ii8+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19udW1wZW9wbGUiIG5hbWU9InskYWN0aW9uaWR9cGFydF9udW1wZW9wbGVfeyRpZHh9IiB2YWx1ZT0ieyRwYXJ0Lm51bV9wZW9wbGV9Ii8+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19wcmljZSIgbmFtZT0ieyRhY3Rpb25pZH1wYXJ0X3ByaWNlX3skaWR4fSIgdmFsdWU9InskcGFydC5wcmljZX0iLz4KICAgICA8c3BhbiBjbGFzcz0icm93X3Jlc291cmNlIj57JHJzcmNfbGlzdC4kcnNyY19pZH08L3NwYW4+PGJyLz4KICAgICB7JG1vZC0+TGFuZygnZnJvbScpfTogPHNwYW4gY2xhc3M9InJvd19zdGFydF9kYXRlIj57JHBhcnQuc3RhcnRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9zcGFuPgogICAgIHskbW9kLT5MYW5nKCd0bycpfTogPHNwYW4gY2xhc3M9InJvd19lbmRfZGF0ZSI+eyRwYXJ0LmVuZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3NwYW4+PGJyLz4KICAgICB7JG1vZC0+TGFuZygnbnVtX3Blb3BsZScpfTogPHNwYW4gY2xhc3M9InJvd19udW1fcGVvcGxlIj57JHBhcnQubnVtX3Blb3BsZX08L3NwYW4+PGJyLz4KICAgICB7JG1vZC0+TGFuZygncHJpY2UnKX06IHskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9PHNwYW4gY2xhc3M9InJvd19wcmljZSI+eyRwYXJ0LnByaWNlfTwvc3Bhbj48YnIvPiAgCiAgICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgICAgPGltZyBzcmM9Intyb290X3VybH0vbW9kdWxlcy9BdmFpbGFiaWxpdHkvaWNvbnMvZGVsZXRlLmdpZiIgY2xhc3M9InJvd19kZWxldGUiIGFsdD0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSIvPgogICAgIDwvc3Bhbj4KICAgPC9wPgogIDwvZGl2PgogIHsvZm9yZWFjaH0KICB7L2lmfSAgCiA8L2Rpdj4KCgp7KiAKICogdGhlIGFyZWEgd2hlcmUgd2Ugd2lsbCBlZGl0IGEgcmVzZXJ2YXRpb24gcGFydCAKICp9CjxkaXYgaWQ9InJlc2VydmF0aW9uX3BhcnRfZWRpdCIgc3R5bGU9IndpZHRoOiA1OSU7IGZsb2F0OiByaWdodDsgcGFkZGluZy1sZWZ0OiAwLjVlbTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsiPgogPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InNlbF9keW5fc3RhcnRfZGF0ZSIgdmFsdWU9Ii0xIi8+CiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic2VsX2R5bl9lbmRfZGF0ZSIgdmFsdWU9Ii0xIi8+CiA8ZGl2PgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKCl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIDxzZWxlY3QgaWQ9InNlbF9yc3JjIj4KICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHJzcmNfbGlzdCBzZWxlY3RlZD0kc2VsX3JzcmN9CiAgICAgPC9zZWxlY3Q+CiAgIDwvcD4KICAgPHAgaWQ9InNlbF9yc3JjX3N1bW1hcnkiIHN0eWxlPSJtYXJnaW4tbGVmdDogMWVtOyI+PC9wPgogPC9kaXY+CiA8ZGl2IGlkPSJyc3JjX3BlcmlvZF9kIiBjbGFzcz0icnNyY19wZXJpb2QiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3N0YXJ0X2RhdGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSJzZWxfc3RhcnRkYXRlX2RfIiBlbmRfeWVhcj0iKzIiIHRpbWU9JGluaXRfc3RhcnRfZGF0ZX0KICAgPC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSJzZWxfZW5kZGF0ZV9kXyIgZW5kX3llYXI9IisyIiB0aW1lPSRpbml0X2VuZF9kYXRlfQogICA8L3A+CiA8L2Rpdj4KIDxkaXYgaWQ9InJzcmNfcGVyaW9kX3AiIGNsYXNzPSJyc3JjX3BlcmlvZCIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9InNlbF9zdGFydGRhdGVfcF8iIGVuZF95ZWFyPSIrMiIgdGltZT0kaW5pdF9zdGFydF9kYXRlfQogICAgIHskbW9kLT5MYW5nKCdhdCcpfQogICAgIDxzZWxlY3QgaWQ9J3NlbF9tZXJpZGlhbl9wJz4KICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kbWVyaWRpYW5zfQogICAgIDwvc2VsZWN0PiAgICAgCiAgIDwvcD4KIDwvZGl2PgogPGRpdiBpZD0icnNyY19wZXJpb2RfaCIgY2xhc3M9InJzcmNfcGVyaW9kIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0ic2VsX3N0YXJ0ZGF0ZV9oXyIgZW5kX3llYXI9IisyIiB0aW1lPSRpbml0X3N0YXJ0X2RhdGV9CiAgICAgeyRtb2QtPkxhbmcoJ2F0Jyl9CiAgICAge2h0bWxfc2VsZWN0X3RpbWUgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNSBwcmVmaXg9InNlbF9zdGFydGRhdGVfaF8ifQogICA8L3A+CiA8L2Rpdj4KIDxkaXYgaWQ9InNlbF9yb3dfbnVtcGVvcGxlIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdudW1fcGVvcGxlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIDxzZWxlY3QgaWQ9InNlbF9udW1wZW9wbGUiPgogICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcGVvcGxlX2xpc3R9CiAgICAgPC9zZWxlY3Q+CiAgIDwvcD4KIDwvZGl2PgogPGRpdiBpZD0ic2VsX21lc3NhZ2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4KIDxkaXYgaWQ9InNlbF9pbnRfcHJpY2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4KIDxkaXYgaWQ9InNlbF9pbnRfc3RhdHVzIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+PC9kaXY+CiA8ZGl2IGlkPSJzZWxfcHJpY2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9PC9wPgogICA8cCBpZD0ic2VsX3ByaWNlX2FtdCIgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICA8L3A+CiA8L2Rpdj4KIDxkaXYgaWQ9InNlbF9idG5zIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzZWxfYnRuX2NoZWNrIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NoZWNrJyl9Ii8+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InNlbF9idG5fYWRkIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FkZCcpfSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+CiAgIDwvcD4KIDwvZGl2Pgo8L2Rpdj4KPC9maWVsZHNldD4KCgp7KiB0aGlzIGlzIHRoZSBhcmVhIGZvciB0aGUgcmVzdCBvZiB0aGUgZm9ybSAqfQo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgPHAgY2xhc3M9ImZvcm1fdGV4dCI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9OjwvcD4KICA8cCBjbGFzcz0iZm9ybV9pbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcpfTxzcGFuIGlkPSJjYWxjcHJpY2UiPjwvc3Bhbj48L3A+CjwvZGl2Pgp7aWYgJHJlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdCA9PSAxfQo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgPHAgY2xhc3M9ImZvcm1fdGV4dCI+eyRtb2QtPkxhbmcoJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCcpfTo8L3A+CiAgPHAgY2xhc3M9ImZvcm1faW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnKX08c3BhbiBpZD0iY2FsY2RlcG9zaXQiPjwvc3Bhbj48L3A+CjwvZGl2Pgp7L2lmfQo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgPHAgY2xhc3M9ImZvcm1fdGV4dCI+eyRtb2QtPkxhbmcoJ25vdGVzJyl9OjwvcD4KICA8cCBjbGFzcz0iZm9ybV9pbnB1dCI+CiAgICB7YXNzaWduIHZhcj0ndHh0JyB2YWx1ZT0nJ308dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1hdmFpbF9vcmRlcl9ub3RlcyIgcm93cz0iNSIgY29scz0iNDAiPnskdHh0fTwvdGV4dGFyZWE+CiAgPC9wPgo8L2Rpdj4Ke2lmICRyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQgPT0gMX0KPGRpdiBjbGFzcz0iZm9ybV9yb3ciPgogIDxwIGNsYXNzPSJmb3JtX3RleHQiPnskbW9kLT5MYW5nKCdkZXBvc2l0X2Ftb3VudCcpfTo8L3A+CiAgPHAgY2xhc3M9ImZvcm1faW5wdXQiPgogICAgeyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX0KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idXNlcmRlcG9zaXQiIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfZGVwb3NpdF9hbW91bnQiIHZhbHVlPSIiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjEwIi8+CiAgPC9wPgo8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0iZm9ybV9yb3ciPgogIDxwIGNsYXNzPSJmb3JtX3RleHQiPjwvcD4KICA8cCBjbGFzcz0iZm9ybV9pbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic3VibWl0X2J0biIgbmFtZT0ieyRhY3Rpb25pZH1hdmFpbF9zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo8L2Rpdj57KiByZXNlcnZhdGlvbl9mb3JtX2NvbnQgKn0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_sendemail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc2VuZGVtYWlsIHRlbXBsYXRlICp9CjxoMz57JG1vZC0+TGFuZygnc2VuZF9lbWFpbCcpfTwvaDM+CjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uJyl9OiZuYnNwO3siJTA2ZCJ8c3ByaW50ZjokcmVzdl9pZH08L3N0cm9uZz48YnIvPgp7aWYgaXNzZXQoJHN0YXR1cyl9CiAge2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAhZW1wdHkoJG1lc3NhZ2UpfQogIHtpZiAkc3RhdHVzIGVxICdlcnJvcid9CiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZWUwOyBjb2xvcjogIzEwMDsgcGFkZGluZy10b3A6IDAuNWVtOyBwYWRkaW5nLWJvdHRvbTogMC41ZW07Ij57JG1lc3NhZ2V9PC9kaXY+CiAge2Vsc2V9CiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiOyBjb2xvcjogIzAwMDsgcGFkZGluZy10b3A6IDAuNWVtOyBwYWRkaW5nLWJvdHRvbTogMC41ZW07Ij57JG1lc3NhZ2V9PC9kaXY+CiAgey9pZn0KICB7L2lmfQp7L2lmfQoKe2lmIGlzc2V0KCRmb3Jtc3RhcnQpfQp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icm93Ij4KIDxwPnskbW9kLT5MYW5nKCdpbmZvX3NlbmRfbWVzc2FnZScpfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+CiAgICB7JG1vZC0+TGFuZygnc3ViamVjdCcpfToKICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hdmFpbF9zdWJqZWN0IiB2YWx1ZT0ieyRzdWJqZWN0fSIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1IiAvPgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij4KICAgIHskbW9kLT5MYW5nKCdtZXNzYWdlX3RleHQnKX06CiAgPC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPgogICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfYm9keSI+eyRib2R5fTwvdGV4dGFyZWE+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPgogICAgeyRtb2QtPkxhbmcoJ2NjX215c2VsZicpfToKICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICA8ZGl2PjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfY2NteXNlbGYiIHZhbHVlPSIwIj48L2Rpdj4KICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1hdmFpbF9jY215c2VsZiIgdmFsdWU9IjEiIHtpZiAhZW1wdHkoJGNjbXlzZWxmKSAmJiAkY2NteXNlbGYgPT0gMX1jaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPiZuYnNwOzwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3NlbmQnKX0iIC8+CiAgPC9kaXY+CjwvZGl2PgoKeyRmb3JtZW5kfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc3VtbWFyeSB0ZW1wbGF0ZSAqfQp7aWYgJHBhZ2Vjb3VudCA+IDF9CntpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdmaXJzdHBhZ2UnKX0iPnskbW9kLT5MYW5nKCdmaXJzdHBhZ2UnKX08L2E+CiAgPGEgaHJlZj0ieyRwcmV2cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3ByZXZwYWdlJyl9Ij57JG1vZC0+TGFuZygncHJldnBhZ2UnKX08L2E+CnsvaWZ9Cgp7aWYgaXNzZXQoJGxhc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRuZXh0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ25leHRwYWdlJyl9Ij57JG1vZC0+TGFuZygnbmV4dHBhZ2UnKX08L2E+CiAgPGEgaHJlZj0ieyRsYXN0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2xhc3RwYWdlJyl9Ij57JG1vZC0+TGFuZygnbGFzdHBhZ2UnKX08L2E+CnsvaWZ9CnsvaWZ9Cgp7aWYgaXNzZXQoJHJzcmNzKX0KPGRpdiBjbGFzcz0iYXZhaWxhYmlsaXR5X3N1bW1hcnkiPgogIHtmb3JlYWNoIGZyb209JHJzcmNzIGl0ZW09J29uZSd9CiAgPGRpdiBjbGFzcz0ic3VtbWFyeV9pdGVtIj4KICAgICA8ZGl2PnskbW9kLT5MYW5nKCdpZCcpfTogeyRvbmUuaWR9PC9kaXY+CiAgICAgPGRpdj57JG1vZC0+TGFuZygnbmFtZScpfTogeyRvbmUubmFtZX08L2Rpdj4KICAgICA8ZGl2PnskbW9kLT5MYW5nKCdiYXNlX3ByaWNlJyl9OiB7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJyl9eyRvbmUuYmFzZV9wcmljZX08L2Rpdj4KICAgICA8ZGl2PjxhIGhyZWY9Inskb25lLmRldGFpbF91cmx9IiB0aXRsZT0ieyRvbmUubmFtZX0iPnskbW9kLT5MYW5nKCdtb3JlJyl9PC9hPgogICAgIDxkaXY+CiAgICAgICB7KiBEZXNjcmlwdGlvbiAqfQogICAgICAgeyRvbmUuZGVzY3JpcHRpb259CiAgICAgPC9kaXY+CgogICAgIHsqIGF0dHJpYnV0ZXMgKn0KICAgICB7KiBhdHRyaWJ1dGVzIGFyZSBhbHNvIGF2YWlsYWJsZSBieSBuYW1lIGFzICRvbmUuYXR0cmlic19ieW5hbWUuPG5hbWU+ICp9CiAgICAgPGZpZWxkc2V0IHN0eWxlPSJ3aWR0aDogODAlOyI+CiAgICAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdhdHRyaWJ1dGVzJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgICAge2ZvcmVhY2ggZnJvbT0kb25lLmF0dHJpYnMgaXRlbT0nYXR0cmliJ30KICAgICAgICAgPHNwYW4+eyRhdHRyaWIubmFtZX0gPC9zcGFuPgogICAgICAgey9mb3JlYWNofQogICAgIDwvZmllbGRzZXQ+CgogICAgIHsqIGZpZWxkcyAqfQogICAgIHsqIGZpZWxkcyBhcmUgYWxzbyBhdmFpbGFibGUgYnkgbmFtZSBhcyAkb25lLmZpZWxkc19ieW5hbWUuPG5hbWU+ICp9CiAgICAge2lmIGNvdW50KCRvbmUuZmllbGRzKSA+IDB9CiAgICAgPGZpZWxkc2V0IHN0eWxlPSJ3aWR0aDogODAlOyI+CiAgICAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWVsZHMnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgICAgICB7Zm9yZWFjaCBmcm9tPSRvbmUuZmllbGRzIGl0ZW09J2ZpZWxkJ30KICAgICAgICAgPGRpdj57JGZpZWxkLnByb21wdH06IHtpZiBpc3NldCgkZmllbGQudGh1bWJuYWlsKX08YSBocmVmPSJ7JG9uZS5maWxlX2xvY2F0aW9ufS97JGZpZWxkLnZhbHVlfSI+PGltZyBzcmM9Inskb25lLmZpbGVfbG9jYXRpb259L3skZmllbGQudGh1bWJuYWlsfSIvPjwvYT57ZWxzZX17JGZpZWxkLnZhbHVlfXsvaWZ9PC9kaXY+CiAgICAgICB7L2ZvcmVhY2h9CiAgICAgPC9maWVsZHNldD4KICAgICB7L2lmfQogIDwvZGl2PgogIHsvZm9yZWFjaH0KPC9kaXY+CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/template_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRtc2d9CjwvcD4KCnskdGVtcGxhdGVsaXN0fQ==]]></data>
	</file>
</module>
