<?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>SEOTools2</name>
	<version>1.2.1</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PHN0eWxlPmRpdi5zZW8yIHAsIGRpdi5zZW8yIGxpLCBkaXYuc2VvMiBkaXYge21hcmdpbi1ib3R0b206IDEuMmVtO31saXtsaXN0LXN0eWxlLXR5cGU6c3F1YXJlfTwvc3R5bGU+CjxkaXYgY2xhc3M9InNlbzIiPgo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+U0VPVG9vbHMyIGhlbHBzIHlvdSB0byBnZXQgeW91ciBTRU8gKFNlYXJjaCBFbmdpbmUgT3B0aW1pemF0aW9uKSByaWdodC4gVGhlIG1vZHVsZSBhZGRzIHNldmVyYWwgU0VPIGNhcGFiaWxpdGllcyB0byB5b3VyIENNU01TIGluc3RhbGxhdGlvbiBhbmQgYWxlcnRzIHlvdSBpZiB5b3UgbWlzc2VkIG91dCBvbiBzb21ldGhpbmcgU0VPIHJlbGF0ZWQuIEN1cnJlbnRseSwgdGhlIGZvbGxvd2luZyBmZWF0dXJlcyBhcmUgc3VwcG9ydGVkOjwvcD4KPHVsPgo8bGk+IGdlbmVyYXRlcyBNZXRhIHRhZ3MgaW4gc3RhbmRhcmQgaHRtbCwgRHVibGluIENvcmUgYW5kIE9wZW5HcmFwaCBmb3JtYXRzPC9saT4KPGxpPiBhdXRvbWF0aWNhbGx5IGV4dHJhY3RzIGtleXdvcmRzIGZyb20geW91ciBwYWdlcyBhbmQgYWRkcyB0aGVtIHRvIHRoZSBtZXRhIHRhZ3MgYW5kIHBhZ2UgdGl0bGU8L2xpPgo8bGk+IGxldHMgeW91IGRldGVybWluZSB3aXRoIGEgc2luZ2xlIGNsaWNrIHdoZXRoZXIgY2VydGFpbiBwYWdlcyBzaG91bGQgYmUgaW5kZXhlZCBieSBzZWFyY2ggZW5naW5lcyBvciBub3Q8L2xpPgo8bGk+IGdlbmVyYXRlcyBhIHNpdGVtYXAueG1sIGZpbGUgd2l0aCB5b3VyIHBhZ2VzIHdoaWxlIGdpdmluZyB5b3UgZnVsbCBjb250cm9sIG92ZXIgdGhlIHByaW9yaXRpZXMgb2YgeW91ciBwYWdlczwvbGk+CjxsaT4gZ2VuZXJhdGVzIGEgcm9ib3RzLnR4dCBmaWxlIGV4cGxpY2l0bHkgZGlzYWxsb3dpbmcgYWNjZXNzIHRvIHBhZ2VzIHlvdSBkb24ndCB3YW50IHRvIGJlIGluZGV4ZWQ8L2xpPgo8bGk+IGFsZXJ0cyB5b3Ugd2hlbiB0aGVyZSBhcmUgc2V2ZXJhbCBwYWdlcyBmZWF0dXJpbmcgdGhlIHNhbWUgcGFnZSB0aXRsZXMgYW5kIGRlc2NyaXB0aW9uczwvbGk+CjxsaT4gYWxlcnRzIHlvdSB3aGVuIHZlcnkgc2hvcnQgcGFnZSBtZXRhIGRlc2NyaXB0aW9ucyBhcmUgZGV0ZWN0ZWQ8L2xpPgo8bGk+IGF1dG9tYXRpY2FsbHkgc3VibWl0cyB5b3VyIHNpdGVtYXAgZmlsZSB0byBHb29nbGUgd2hlbiB5b3UgY2hhbmdlIHlvdXIgY29udGVudDwvbGk+CjwvdWw+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5GaXJzdCwgb3BlbiBhbGwgdGVtcGxhdGVzIHdoZXJlIHlvdSB3YW50IGRvIHVzZSBTRU9Ub29sczIuIFJlbW92ZSB0aGUgY29tcGxldGUgJmx0O3RpdGxlJmd0OyB0YWcgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGUgbW9kdWxlIHRhZy4gWW91IG1heSBhbHNvIHdpc2ggdG8gcmVtb3ZlIHRoZSB7bWV0YWRhdGF9IHRhZy4gU2hvdWxkIHlvdSBlbGVjdCB0byBsZWF2ZSBpdCB0aGVyZSwgZW5zdXJlIHRoYXQgbm8gbWV0YSB0YWdzIGFyZSBkdXBsaWNhdGVkLiBSZW1vdmUgYW55IGR1cGxpY2F0ZXMgZnJvbSBTaXRlIEFkbWluIC0gR2xvYmFsIFNldHRpbmdzIC0gR2xvYmFsIE1ldGFkYXRhLiA8L3A+CjxwcmU+CntTRU9Ub29sczJ9CjwvcHJlPjxiciAvPgoKPHA+SWYgeW91IGxlZnQgdGhlIHttZXRhZGF0YX0gdGFnIGluIHRoZSB0ZW1wbGF0ZSwgeW91IGNhbiBhbHRlcm5hdGl2ZWx5IHBsYWNlIHRoZSB7U0VPVG9vbHMyfSB0YWcgaW4gdGhlIEdsb2JhbCBNZXRhIHRleHRhcmVhLjwvcD4KPHA+TmV4dCwgYXQgdGhlIGJvdHRvbSBvZiB5b3VyIHRlbXBsYXRlIChhZnRlciB0aGUgY2xvc2luZyAmbHQ7L2JvZHkmZ3Q7IHRhZyksIGluc2VydCB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPgo8cHJlPgp7Y29udGVudCBibG9jaz0ibWV0YWRlc2NyaXB0aW9uIiBsYWJlbD0iUGFnZSBEZXNjcmlwdGlvbiIgb25lbGluZT0idHJ1ZSIgYXNzaWduPSJtZXRhZGVzY3JpcHRpb24ifQo8L3ByZT48YnIgLz4KCjxwPlRoaXMgaXMgd2hlcmUgeW91J2xsIGVudGVyIGEgc2hvcnQgcGFnZSBkZXNjcmlwdGlvbiAob25lIG9yIHR3byBzZW50ZW5jZXMpIHRoYXQgd2lsbCBhcHBlYXIgaW4gdGhlIHNlYXJjaCBlbmdpbmUncyByZXN1bHRzIGFuZCBpZiwgZm9yIGV4YW1wbGUsIHNvbWVvbmUgc2hhcmVzIGEgbGluayB0byB5b3VyIHBhZ2Ugb24gZmFjZWJvb2suPC9wPgoKPHA+Tm93LCB2aXNpdCB0aGUgYWRtaW4gdGFicyBmb3IgPGVtPlBhZ2UgVGl0bGUgJiBNZXRhIEluZm9ybWF0aW9uPC9lbT4sIHRoZSA8ZW0+U2l0ZW1hcCAmIENyYXdsZXIgU2V0dGluZ3M8L2VtPiBhbmQgdGhlIDxlbT5LZXl3b3JkIEdlbmVyYXRvciBTZXR0aW5nczwvZW0+IGFuZCBmaWxsIGluIGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbiBmb3IgeW91ciBzaXRlLiBVbmRlciAiTmFtZSBvZiBwYWdlIGRlc2NyaXB0aW9uIGNvbnRlbnQgYmxvY2siIHlvdSBuZWVkIHRvIGVudGVyIHRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIHlvdSBqdXN0IGFkZGVkIHRvIHlvdXIgdGVtcGxhdGVzICgibWV0YWRlc2NyaXB0aW9uIiBpbiBvdXIgZXhhbXBsZSkuPC9wPgo8cD5UaGUgdGFiICJTRU8gQWxlcnRzIiB3aWxsIGFsZXJ0IHlvdSBpZiBpdCBkZXRlY3RzIGFueXRoaW5nIHRoYXQgaXMgcmVxdWlyZWQgYnV0IG5vdCBhY3RpdmF0ZWQgb3IgZmlsbGVkIGluLiBZb3Ugc2hvdWxkIGFsc28gY29uc2lkZXIgc2lnbmluZyB1cCB5b3VyCnNpdGUgd2l0aCBHb29nbGUgV2VibWFzdGVyIHRvb2xzLiBUaGVyZSwgc2VsZWN0ICJNZXRhIHRhZyB2YWxpZGF0aW9uIiBhbmQgcGFzdGUgdGhlIHZlcmlmaWNhdGlvbiBjb2RlIChxdWl0ZSBhIGxvbmcgc3RyaW5nIG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMpIGludG8gdGhlIGJveCAiVmVyaWZpY2F0aW9uIENvZGUiIGluICJTRU8gU2V0dGluZ3MiIHRvIGF1dG9tYXRpY2FsbHkgdmVyaWZ5IHRoYXQgeW91IGFyZSByZWFsbHkKdGhlIG93bmVyIG9mIHlvdXIgcGFnZSAobm8gbmVlZCB0byBwYXN0ZSB0aGUgR29vZ2xlIE1ldGEtY29kZSBpbnRvIHlvdXIgdGVtcGxhdGUpLjwvcD4KPHA+QXMgc29vbiBhcyBldmVyeXRoaW5nIGlzIHNldCB1cCwgbG9vayBhdCB0aGUgIlNFTyBBbGVydHMiIHRhYiBhbmQgZml4IGFsbCBwcm9ibGVtcyBkZXRlY3RlZCBoZXJlLiBUYWtlIGNhcmUgdG8gaW5zZXJ0IGEgdW5pcXVlIHBhZ2UgZGVzY3JpcHRpb24gb24gZXZlcnkgcGFnZS48L3A+CjxwPkdvIHRvIHRoZSA8ZW0+UGFnZSBzZXR0aW5nczwvZW0+IHRhYiB3aGVyZSB5b3UnbGwgZmluZCBhIGxpc3Qgb2YgYWxsIHBhZ2VzIHlvdSBoYXZlIGluIHlvdXIgc3lzdGVtLiBIZXJlLCB5b3UgY2FuOjwvcD4KPHVsPgo8bGk+U2V0IHlvdXIgb3duIGtleXdvcmRzIChpbnN0ZWFkIG9mIHRoZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBvbmVzKSBvciBPcGVuR3JhcGggdHlwZSBmb3IgY2VydGFpbiBwYWdlczwvbGk+CjxsaT5BZGp1c3QgdGhlIHNpdGVtYXAgcHJpb3JpdHkgKHdoaWNoIGlzIGF1dG8tY2FsY3VsYXRlZCBieSBkZWZhdWx0KSBvZiBhIHBhZ2UgdG8gaW5kaWNhdGUgdGhhdCBpdCBzaG91bGQKYmUgY29uc2lkZXJlZCBtb3JlIGltcG9ydGFudCBmb3Igc2VhcmNoIGVuZ2luZSBtYXRjaGVzIG9uIHlvdXIgcGFnZS48L2xpPgo8bGk+UHJldmVudCBhY3RpdmUgcGFnZXMgZnJvbSBiZWluZyBsaXN0ZWQgaW4gdGhlIFNpdGUgTWFwPC9saT4KPGxpPlNwZWNpZnkgd2hldGhlciByb2JvdHMgc2hvdWxkIGluZGV4IG9yIGZvbGxvdyB0aGUgcGFnZSBhbmQgbGlua3M8L2xpPgo8L3VsPgo8cD5TRU9Ub29sczIgd2lsbCBhbHNvIGF1dG9tYXRpY2FsbHkgaW5zZXJ0IGEgbGluayB0byB0aGUgaW1hZ2UgdG8gYmUgdXNlZCBhcyB0aGUgbWFpbiBpbWFnZSBvZiB5b3VyIHBhZ2UgaWYgeW91IHNlbGVjdCBhbiAiSW1hZ2UiIGZvciB0aGUgcGFnZSBmcm9tIHdpdGhpbiB5b3VyIHBhZ2UncyAiT3B0aW9ucyIgdGFiICh0aGlzIGlzIGltcG9ydGFudCBmb3IgcGVvcGxlIHN1Ym1pdHRpbmcgYSBsaW5rIHRvIHlvdXIgcGFnZSBlLmcuIG9uIGZhY2Vib29rKS4gQWxzbywgaWYgeW91IGFyZSB1c2luZyBPcGVuR3JhcGgsIHRoZSBpbWFnZSBzZWxlY3RlZCBoZXJlCndpbGwgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgT3BlbkdyYXBoIGltYWdlIHlvdSBzcGVjaWZpZWQgZnJvbSB3aXRoaW4gIlNFTyBTZXR0aW5ncyIuIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHlvdSBuZWVkIHRvIHVwbG9hZCB0aG9zZSBpbWFnZXMgdG8geW91ciAvdXBsb2Fkcy9pbWFnZXMgZGlyZWN0b3J5LjwvcD4KPGgzPkNhbiBJIHVzZSBzbWFydHkgdmFyaWFibGVzPzwvaDM+CjxwPllvdSBjYW4gdXNlIGFsbCBzbWFydHkgdmFyaWFibGVzIGFuZCBVRFRzIHdpdGhpbiB0aGUgc2V0dGluZ3MgZmllbGRzIDxpPlBhZ2UgdGl0bGU8L2k+LCA8aT5NZXRhIHBhZ2UgdGl0bGU8L2k+LCA8aT5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBkZXNjcmlwdGlvbnM8L2k+LCA8aT5NZXRhIGNvcHlyaWdodDwvaT4sIDxpPkFkZGl0aW9uYWwgbWV0YSB0YWdzPC9pPiBhbmQgeW91ciBjdXN0b20gcGFnZSBkZXNjcmlwdGlvbiBibG9jay4gRW50ZXIgPGNvZGU+e2RlYnVnfTwvY29kZT4gdG8gc2VlIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHZhcmlhYmxlcy48L3A+CjxoMz5XaGljaCBzbWFydHkgdmFyaWFibGVzIGFyZSBleHBvcnRlZCBieSBTRU9Ub29sczI/PC9oMz4KPGNvZGU+eyRzZW9fa2V5d29yZHN9PC9jb2RlPjogQSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGwga2V5d29yZHMgc2V0IGZvciB0aGUgcGFnZSAoaW5jbHVkaW5nIHRoZSBkZWZhdWx0IGtleXdvcmRzKTxiciAvPgo8Y29kZT57JHRpdGxlX2tleXdvcmRzfTwvY29kZT46IEEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIGtleXdvcmRzIHNldCBmb3IgdGhlIHBhZ2UgKGluY2x1ZGluZyB0aGUgZGVmYXVsdCBrZXl3b3Jkcyk8YnIgLz4KPGNvZGU+eyRkZWZhdWx0X2tleXdvcmRzfTwvY29kZT46IEEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIGRlZmF1bHQga2V5d29yZHM8YnIgLz4KPGNvZGU+eyRwYWdlX2tleXdvcmRzfTwvY29kZT46IEEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIGtleXdvcmRzIHNldCBmb3IgdGhlIHBhZ2UgKHdpdGhvdXQgdGhlIGRlZmF1bHQga2V5d29yZHMpPGJyIC8+CjxwPjwvcD4KPGgzPkFja25vd2xlZGdlbWVudHM8L2gzPgo8cD5UaGFuayB5b3UgdG8gYWxsIHRoZSBDTVNNUyBkZXZlbG9wZXJzIHdobyBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoaXMgbW9kdWxlIHdpdGggc3VnZ2VzdGlvbnMgYW5kIGJ1Zy1yZXBvcnRzLiBFdmVyeSBsaXR0bGUgYml0IGhlbHBzIHRvIG1ha2UgaXQgYmV0dGVyIGZvciBhbGwuPC9wPgo8cD5JbiBwYXJ0aWN1bGFyLCBhIEhVR0UgdGhhbmsgeW91IHRvIHVuaXF1MyBmb3IgdGhlIGFib3ZlIGFzIHdlbGwgYXMgYmV0YSB0ZXN0aW5nIGFuZCBoaXMgd29yZHMgb2YgZW5jb3VyYWdlbWVudCB3aGVuIEkgZmVsdCBsaWtlIGdpdmluZyB1cC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMywgQ2xpcCBNYWdpYyA8YSBocmVmPSJtYWlsdG86YWRtaW5AY2xpcG1hZ2ljLmNvbS5hdSI+Jmx0O2FkbWluQGNsaXBtYWdpYy5jb20uYXUmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgo8L2Rpdj48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzaG93YmFzZT0idHJ1ZSIgLSBTZXQgdGhpcyBwYXJhbWV0ZXIgdG8gPGNvZGU+ZmFsc2U8L2NvZGU+IHRvIHN1cHByZXNzIHRoZSBvdXRwdXQgb2YgdGhlIGJhc2UgaHJlZiB0YWcuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBDbGlwIE1hZ2ljICZsdDthZG1pbkBjbGlwbWFnaWMuY29tLmF1Jmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMi4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSAyNSBKYW51YXJ5IDIwMTIuIEluaXRpYWwgcmVsZWFzZS4gVGhpcyBpcyBhIGZvcmsgb2YgdGhlIFNFT1Rvb2xzIG1vZHVsZSB3aXRoIENNU01TIDEuMTArIGNvbXBhdGliaWxpdHkuIENoYW5nZXMgaW5jbHVkZToKCTx1bD4KCQk8bGk+U2V0IHByZWZlcmVuY2VzIG9uIGluc3RhbGw8L2xpPgoJCTxsaT5SZW1vdmUgcHJlZmVyZW5jZXMgb24gdW5pbnN0YWxsPC9saT4KCQk8bGk+UmVwbGFjZSBhbGwgcmVmZXJlbmNlIHRvIEhpZXJhcmNoeU1hbmFnZXIgb2JqZWN0cyB3aXRoIENvbnRlbnRPcGVyYXRpb25zIG9iamVjdHM8L2xpPgoJCTxsaT5HZW5lcmF0ZSBhbGwga2V5d29yZHMsIGtleXdvcmQgc3VnZ2VzdGlvbnMsIGRlc2NyaXB0aW9ucyBhbmQgZGVmYXVsdCBkZXNjcmlwdGlvbnM8L2xpPgoJCTxsaT5HZW5lcmF0ZSBzaXRlbWFwLnhtbCBhbmQgcm9ib3RzLnR4dCBmaWxlczwvbGk+CgkJPGxpPlJldGFpbiBjaGVja2JveCBwcmVmZXJlbmNlIHNldHRpbmdzIGFmdGVyIHN1Ym1pdDwvbGk+CgkJPGxpPk9uIGZyb250ZW5kIHBhZ2UgbG9hZCwgZW5zdXJlIHRoYXQgYSBjb3JyZXNwb25kaW5nIHJlY29yZCBleGlzdHMgaW4gdGhlIHNlb3Rvb2xzMiBkYXRhYmFzZSB0YWJsZTwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjAuMSAtIDI1IEphbnVhcnkgMjAxMi4gTWlub3IgYnVnIGZpeDwvbGk+CjxsaT5WZXJzaW9uIDEuMC4yIC0gMSBGZWJydWFyeSAyMDEyLiBCdWcgZml4PC9saT4KPGxpPlZlcnNpb24gMS4wLjMgLSAxIEZlYnJ1YXJ5IDIwMTIuIEJ1ZyBmaXg8L2xpPgo8bGk+VmVyc2lvbiAxLjAuNCAtIDEgRmVicnVhcnkgMjAxMi4gQ29ycmVjdGlvbjwvbGk+CjxsaT5WZXJzaW9uIDEuMC41IC0gNiBGZWJydWFyeSAyMDEyLiBBZGQgZXZlbnQgaGFuZGxlcnMgdG8gcHVzaCBzaXRlbWFwIHRvIEdvb2dsZSB3ZWJtYXN0ZXJzPC9saT4KPGxpPlZlcnNpb24gMS4wLjYgLSA1IE1hcmNoIDIwMTIuIEltcHJvdmVkIGhhbmRsaW5nIG9mIHNzbCB1cmxzIGFuZCBidWcgZml4IHdoZW4gdGhlcmUgYXJlIG5vIHNob3J0IG1ldGEgZGVzY3JpcHRpb25zPC9saT4KPGxpPlZlcnNpb24gMS4wLjcgLSA5IEFwcmlsIDIwMTIuIEJ1ZyBmaXg8L2xpPgo8bGk+VmVyc2lvbiAxLjAuOCAtIDkgQXByaWwgMjAxMi4gQnVnIGZpeDwvbGk+CjxsaT5WZXJzaW9uIDEuMC45IC0gMTEgQXByaWwgMjAxMi4KICAgIDx1bD4KICAgICAgICA8bGk+TW9yZSBpbXByb3ZlbWVudHMgdG8gc3NsIGhhbmRsaW5nIGVzcGVjaWFsbHkgaW4gdGhlIHNpdGVtYXAueG1sICh0aGFua3MgYW5kcmllc2luZm9zZXJ2KTwvbGk+CiAgICAgICAgPGxpPkFiaWxpdHkgdG8gc2hvdyBhbnkgQWN0aXZlIHBhZ2UsIG5vdCBqdXN0IHBhZ2VzIHdpdGggQWN0aXZlIGFuZCBTaG93IEluIE1lbnUgaW4gdGhlIHNpdGVtYXAueG1sICh0aGFua3MgTWF0dCk8L2xpPgogICAgPC91bD4KPGxpPlZlcnNpb24gMS4wLjEwIC0gMjQgTWF5IDIwMTIgLSBtb3N0bHkgaW1wcm92ZW1lbnRzIGluIHRoZSBzaXRlbWFwIGFyZWEsIGllOgogICAgPHVsPgogICAgICAgIDxsaT5BbGxvd3Mgc2l0ZW1hcCBpbmRleGluZyBvZiBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgVVJMIGxpbmtzPC9saT4KICAgICAgICA8bGk+RmlsdGVycyBvdXQgRXJyb3IgUGFnZSBmcm9tIHNpdGVtYXAueG1sPC9saT4KICAgIDwvdWw+CjxsaT5WZXJzaW9uIDEuMC4xMSAtIDE0IEF1Z3VzdCAyMDEyLiBDTVNNUyAxLjExIGNvbXBhdGliaWxpdHkgKHRoYW5rcyBsZWVyb3licnVuIGFuZCBwb3N0aWZmbSk8L2xpPgo8bGk+VmVyc2lvbiAxLjEgLSA4IFNlcHRlbWJlciAyMDEyLiBCZXR0ZXIgZnV0dXJlLXByb29maW5nIGZvciBDTVNNUyAxLjExIGNvbXBhdGliaWxpdHkgYW5kIGEgZmV3IG1vcmUgZmVhdHVyZXMKCTx1bD4KCQk8bGk+T3B0aW9uIHRvIGluY2x1ZGUgZm9sbG93L25vZm9sbG93IGFzIHdlbGwgYXMgaW5kZXgvbm9pbmRleCB0byBtZXRhIHJvYm90cyB0YWc8L2xpPgoJCTxsaT5KcXVlcnkgYWpheCBzdXBwb3J0IGZvciBQcmlvcml0eSwgSW5kZXggYW5kIEZvbGxvdyB0b2dnbGluZy48L2xpPgoJCTxsaT5Qcm9jZXNzIHNtYXJ0eSB0YWdzIGluIHRoZSBtZXRhIGRlc2NyaXB0aW9uIGFuZCBtZXRhIGNvcHlyaWdodCBmaWVsZHM8L2xpPgoJCTxsaT5JbmNsdWRlIG1ldGEgdmlld3BvcnQgdGFnIGJ5IGRlZmF1bHQgdG8gdGhlIGFkZGl0aW9uYWwgbWV0YSB0YWdzPC9saT4KCQk8bGk+S2V5d29yZCBlZGl0IHNjcmVlbiBub3cgc2hvd3MgYSBwcmV2aWV3IG9mIHRoZSBwYWdlIGNvbnRlbnQgZm9yIHF1aWNrIHJlZmVyZW5jZSwgYXMgd2VsbCBhcyBsaW5rcyB0byBlZGl0IG9yIHZpZXcgdGhlIGZyb250ZW5kIHZlcnNpb24gb2YgdGhlIHBhZ2UuPC9saT4KCQk8bGk+UmVzdHJ1Y3R1cmVkIGRlZmF1bHRhZG1pbiB0YWIgZmlsZXMgdG8gYmUgYSBsaXR0bGUgbW9yZSBtYW5hZ2VhYmxlLjwvbGk+CgkJPGxpPk91dHB1dHMgb25seSBIVE1MNSByZWdpc3RlcmVkIG1ldGEgdGFncyB3aGVuIEhUTUw1IGlzIHNwZWNpZmllZC4gKFRoYW5rcyB1bmlxdTMpPC9saT4KCQk8bGk+VXNlcyBjYW5vbmljYWwgVVJMIHdoZW4gYXZhaWxhYmxlLiAoVGhhbmtzIGluZm9hbmRyaWVzKTwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIgLSA2IEFwcmlsIDIwMTMuIEV2ZW4gbW9yZSBmZWF0dXJlcyBpbmNsdWRpbmcgQ09NTUEtU0VQQVJBVEVEIEtFWVdPUkRTIQoJPHVsPgoJCTxsaT5PdXRwdXRzIHJvYm90cy50eHQgZmlsZSB0byB0aGUgcm9vdCBkaXJlY3RvcnkgcmVnYXJkbGVzcyB3aGVyZSBDTVNNUyBpcyBpbnN0YWxsZWQuPC9saT4KCQk8bGk+QWJpbGl0eSB0byBpbmNsdWRlIGN1c3RvbSBydWxlcyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBzdGFuZGFyZCBDTVNNUyByb2JvdHMudHh0IHJ1bGVzLjwvbGk+CgkJPGxpPkFzc2lnbmluZyBhIG1vZHVsZSBjdXN0b20gZmllbGQgdG8gU21hcnR5IHdpdGggdGhlIHNhbWUgdmFyIG5hbWUgYXMgdGhlIFNFT1Rvb2xzMiBibG9jayBuYW1lIGZvciB0aGUgbWV0YSBkZXNjcmlwdGlvbiBpbiBtb2R1bGUgZGV0YWlsIHBhZ2VzIGVnIE5ld3MsIFByb2R1Y3RzLCBDR0Jsb2cgZXRjLCBhdXRvbWF0aWNhbGx5IHJlcGxhY2VzIHRoZSBwYWdlIG1ldGEgZGVzY3JpcHRpb24gd2l0aG91dCBuZWVkaW5nIHRvIGVkaXQgdGhlIHBhZ2UgdGVtcGxhdGUuIChUaGFua3MgQ2hyaXMpLjwvbGk+CgkJPGxpPllvdSBjYW4gbm9taW5hdGUgYSBTbWFydHkgdmFyIHRoYXQgY29udGFpbnMga2V5d29yZHMgZnJvbSBtb2R1bGUgY3VzdG9tIGZpZWxkIG9uIGEgZGV0YWlsIHBhZ2UgZWcgTmV3cywgUHJvZHVjdHMsIENHQmxvZyBldGMsIHRoYXQgd2lsbCBhdXRvbWF0aWNhbGx5IHJlcGxhY2UgdGhlIHBhZ2Uga2V5d29yZHMgd2l0aG91dCBuZWVkaW5nIHRvIGVkaXQgdGhlIHBhZ2UgdGVtcGxhdGUuPC9saT4KCQk8bGk+QXV0b21hdGljYWxseSBpbnNlcnRzICZsdDtiYXNlJmd0OyB0YWcgcmVnYXJkbGVzcyB3aGV0aGVyIHNwZWNpZmllZCBhcyBhIHBhcmFtZXRlciBpbiB0aGUgU0VPVG9vbHMyIHRhZy4gKFRoYW5rcyB1bmlxdTMpLjwvbGk+CgkJPGxpPldoZW4gYm90aCB7U0VPVG9vbHMyfSBhbmQge21ldGFkYXRhfSB0YWdzIGV4aXN0IGluIHRoZSBwYWdlIHRlbXBsYXRlLCBlbnN1cmVzIG9ubHkgb25lICZsdDtiYXNlJmd0OyB0YWcgaXMgb3V0cHV0LjwvbGk+CgkJPGxpPlVzZXMgQ09NTUEtU0VQQVJBVEVEIGtleXdvcmQgbGlzdHMhIFVwZ3JhZGUgd2lsbCBjb252ZXJ0IGV4aXN0aW5nIHNwYWNlLXNlcGFyYXRlZCBsaXN0cy4gKFRoYW5rcyB0byBhbGwgd2hvIHJlcXVlc3RlZCB0aGlzIGZlYXR1cmUpLjwvbGk+CgkJPGxpPkFsbCBTRU9Ub29sczIgZGIgZnVuY3Rpb25zIG9jY3VyIGluIHRoZSBhZG1pbiBzZWN0aW9uIHRvIGhlbHAgc3BlZWQgdXAgZnJvbnRlbmQgcGFnZSBsb2FkLjwvbGk+CgkJPGxpPk5ld2x5IGNyZWF0ZWQgcGFnZXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBzaXRlIG1hcC48L2xpPgoJCTxsaT5JbmFjdGl2ZSBwYWdlcyBjaGFuZ2VkIHRvIEFjdGl2ZSBhdXRvbWF0aWNhbGx5IHJlaW5zdGF0ZWQgaW4gc2l0ZSBtYXAuPC9saT4KCQk8bGk+QnVnIGZpeCBmb3Igb2c6aW1hZ2UgdGFnIChUaGFua3MgQ2hyaXMgYW5kIHN3YXJmZWdhKTwvbGk+CgkJPGxpPkJ1ZyBmaXggaW4gZGIgcXVlcnkgKFRoYW5rcyBNaWNoYWVsKTwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIuMSAtIDE5IEFwcmlsIDIwMTMuIEJ1ZyBmaXhlczwvbGk+CjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[Helps with SEO in general, automatically generating XML sitemaps and comprehensive meta descriptions]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.changesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEFjdGlvbjogY2hhbmdlc2V0dGluZ3MKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoIkVkaXQgU0VPIFNldHRpbmdzIikpCnsKICByZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKfQoKLy8gUmVnZW5lcmF0ZSBTaXRlbWFwIGFuZCByb2JvdHMudHh0CmlmIChpc3NldCgkX1BPU1RbJ2RvX3JlZ2VuZXJhdGUnXSkpIHsKICAkcHVzaCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnLDEpOwogIHNlbzJfdXRpbHM6OmNyZWF0ZVNpdGVtYXAoJHB1c2ggPT0gMSk7CiAgJHJvYm90cyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcmVhdGVfcm9ib3RzJywxKTsKICBpZiAoJHJvYm90cyA9PSAxKSB7CiAgICBzZW8yX3V0aWxzOjpjcmVhdGVSb2JvdHNUWFQoKTsKICB9CiAgJHRoaXMtPmF1ZGl0KCJUZXN0IiwiU0VPVG9vbHMyIiwiTWFudWFsbHkgcmVnZW5lcmF0ZWQgc2l0ZW1hcC54bWwgYW5kIHJvYm90cy50eHQiKTsKICAkdGhpcy0+UmVkaXJlY3QoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsIEFycmF5KCdtZXNzYWdlJz0+J3NpdGVtYXBfcmVnZW5lcmF0ZWQnLCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwp9CgovLyBzYXZlIG1ldGEgc2V0dGluZ3MKaWYgKGlzc2V0KCRfUE9TVFsnc2F2ZV9tZXRhX3NldHRpbmdzJ10pKSB7CiAgIAogICRtZXRhX3N0YW5kYXJkID0gaXNzZXQoJF9QT1NUWydtZXRhX3N0YW5kYXJkJ10pID8gMSA6IDA7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfc3RhbmRhcmQnLCRtZXRhX3N0YW5kYXJkKTsKCiAgJG1ldGFfZHVibGluY29yZSA9IGlzc2V0KCRfUE9TVFsnbWV0YV9kdWJsaW5jb3JlJ10pID8gMSA6IDA7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfZHVibGluY29yZScsJG1ldGFfZHVibGluY29yZSk7CgogICRtZXRhX29wZW5ncmFwaCA9IGlzc2V0KCRfUE9TVFsnbWV0YV9vcGVuZ3JhcGgnXSkgPyAxIDogMDsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGgnLCRtZXRhX29wZW5ncmFwaCk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZGRpdGlvbmFsX21ldGFfdGFncycsJF9QT1NUWydhZGRpdGlvbmFsX21ldGFfdGFncyddKTsKCiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJywkX1BPU1RbJ21ldGFfcHVibGlzaGVyJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2NvbnRyaWJ1dG9yJywkX1BPU1RbJ21ldGFfY29udHJpYnV0b3InXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfY29weXJpZ2h0JywkX1BPU1RbJ21ldGFfY29weXJpZ2h0J10pOwoKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJF9QT1NUWydtZXRhX2xvY2F0aW9uJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX3JlZ2lvbicsJF9QT1NUWydtZXRhX3JlZ2lvbiddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9sYXRpdHVkZScsJF9QT1NUWydtZXRhX2xhdGl0dWRlJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScsJF9QT1NUWydtZXRhX2xvbmdpdHVkZSddKTsKCiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3RpdGxlJywkX1BPU1RbJ21ldGFfb3BlbmdyYXBoX3RpdGxlJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF90eXBlJywkX1BPU1RbJ21ldGFfb3BlbmdyYXBoX3R5cGUnXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywkX1BPU1RbJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9pbWFnZScsJF9QT1NUWydtZXRhX29wZW5ncmFwaF9pbWFnZSddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJywkX1BPU1RbJ21ldGFfb3BlbmdyYXBoX2FkbWlucyddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCRfUE9TVFsnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nXSk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0aXRsZScsJF9QT1NUWyd0aXRsZSddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGl0bGVfbWV0YScsJF9QT1NUWyd0aXRsZV9tZXRhJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJF9QT1NUWydkZXNjcmlwdGlvbl9ibG9jayddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV0YWlsX2tleXdvcmRzX3ZhcicsJF9QT1NUWydkZXRhaWxfa2V5d29yZHNfdmFyJ10pOwoKICAkZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZSA9IGlzc2V0KCRfUE9TVFsnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZSddKSA/IDEgOiAwOwoKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZScsJGRlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUpOwoKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0bycsJF9QT1NUWydkZXNjcmlwdGlvbl9hdXRvJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2tleXdvcmRzJywkX1BPU1RbJ2RlZmF1bHRfa2V5d29yZHMnXSk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2RvY3R5cGUnLCRfUE9TVFsnbWV0YV9kb2N0eXBlJ10pOwogIAogICRjb21waWxlX3VkdHMgPSBpc3NldCgkX1BPU1RbJ2NvbXBpbGVfdWR0cyddKSA/IDEgOiAwOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjb21waWxlX3VkdHMnLCRjb21waWxlX3VkdHMpOwogICAgCiAgJHRoaXMtPmF1ZGl0KCJUZXN0IiwiU0VPVG9vbHMyIiwiRWRpdGVkIE1ldGEgc2V0dGluZ3MiKTsKICAkdGhpcy0+UmVkaXJlY3QoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsIEFycmF5KCdtZXNzYWdlJz0+J3NldHRpbmdzX3VwZGF0ZWQnLCd0YWInPT4nbWV0YXNldHRpbmdzJykpOwp9CgovLyBzYXZlIHNpdGVtYXAgc2V0dGluZ3MKaWYgKGlzc2V0KCRfUE9TVFsnc2F2ZV9zaXRlbWFwX3NldHRpbmdzJ10pKSB7CgogICRjcmVhdGVfc2l0ZW1hcCA9IGlzc2V0KCRfUE9TVFsnY3JlYXRlX3NpdGVtYXAnXSkgPyAxIDogMDsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3JlYXRlX3NpdGVtYXAnLCRjcmVhdGVfc2l0ZW1hcCk7CgogICRwdXNoX3NpdGVtYXAgPSBpc3NldCgkX1BPU1RbJ3B1c2hfc2l0ZW1hcCddKSA/IDEgOiAwOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnLCRwdXNoX3NpdGVtYXApOwoKICAkY3JlYXRlX3JvYm90cyA9IGlzc2V0KCRfUE9TVFsnY3JlYXRlX3JvYm90cyddKSA/IDEgOiAwOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjcmVhdGVfcm9ib3RzJywkY3JlYXRlX3JvYm90cyk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd2ZXJpZmljYXRpb24nLCRfUE9TVFsndmVyaWZpY2F0aW9uJ10pOwoKICAkdGhpcy0+YXVkaXQoIlRlc3QiLCJTRU9Ub29sczIiLCJFZGl0ZWQgU2l0ZW1hcCBzZXR0aW5ncyIpOwogICR0aGlzLT5SZWRpcmVjdCgkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgQXJyYXkoJ21lc3NhZ2UnPT4nc2V0dGluZ3NfdXBkYXRlZCcsJ3RhYic9PidzaXRlbWFwc2V0dGluZ3MnKSk7Cn0KCi8vIHNhdmUgY3VzdG9tIHJvYm90cyBzZXR0aW5ncwppZiAoaXNzZXQoJF9QT1NUWydzYXZlX2N1c3RvbV9yb2JvdHNfc2V0dGluZ3MnXSkpIHsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncl9iZWZvcmUnLCRfUE9TVFsncm9ib3RzX2JlZm9yZSddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncl9hZnRlcicsICRfUE9TVFsncm9ib3RzX2FmdGVyJ10pOwoKICAkdGhpcy0+YXVkaXQoIlRlc3QiLCJTRU9Ub29sczIiLCJFZGl0ZWQgY3VzdG9tIHJvYm90cy50eHQgc2V0dGluZ3MiKTsKICAkdGhpcy0+UmVkaXJlY3QoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsIEFycmF5KCdtZXNzYWdlJz0+J3NldHRpbmdzX3VwZGF0ZWQnLCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwogIAp9CgovLyBzYXZlIGtleXdvcmQgc2V0dGluZ3MKaWYgKGlzc2V0KCRfUE9TVFsnc2F2ZV9rZXl3b3JkX3NldHRpbmdzJ10pKSB7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmxlbmd0aCcsJF9QT1NUWydrZXl3b3JkX21pbmxlbmd0aCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgna2V5d29yZF90aXRsZV93ZWlnaHQnLCRfUE9TVFsna2V5d29yZF90aXRsZV93ZWlnaHQnXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2tleXdvcmRfZGVzY3JpcHRpb25fd2VpZ2h0JywkX1BPU1RbJ2tleXdvcmRfZGVzY3JpcHRpb25fd2VpZ2h0J10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCcsJF9QT1NUWydrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgna2V5d29yZF9jb250ZW50X3dlaWdodCcsJF9QT1NUWydrZXl3b3JkX2NvbnRlbnRfd2VpZ2h0J10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmltdW1fd2VpZ2h0JywkX1BPU1RbJ2tleXdvcmRfbWluaW11bV93ZWlnaHQnXSk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2V4Y2x1ZGUnLCRfUE9TVFsna2V5d29yZF9leGNsdWRlJ10pOwoKICAkdGhpcy0+YXVkaXQoIlRlc3QiLCJTRU9Ub29sczIiLCJFZGl0ZWQgS2V5d29yZCBzZXR0aW5ncyIpOwogICR0aGlzLT5SZWRpcmVjdCgkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgQXJyYXkoJ21lc3NhZ2UnPT4nc2V0dGluZ3NfdXBkYXRlZCcsJ3RhYic9PidrZXl3b3Jkc2V0dGluZ3MnKSk7Cn0KCi8vIERvIGV2ZW50cwokdGhpcy0+U2VuZEV2ZW50KCdQcmVmc1VwZGF0ZWQnLCRfUE9TVCk7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEFjdGlvbjogZGVmYXVsdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8vIEdldCBwYWdlIGRhdGEKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwokZGIgPSYgY21zbXMoKS0+R2V0RGIoKTsKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwokaHRtbCA9ICIiOwokaHRtbF92ZXJzaW9uID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfZG9jdHlwZScpOwokY2xvc2VfdGFnID0gJGh0bWxfdmVyc2lvbiA8IDMgPyAiIC8+XG4iIDogIj5cbiI7Cgokcm9vdF91cmwgPSBlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgPyAkY29uZmlnWydyb290X3VybCddIDogJGNvbmZpZ1snc3NsX3VybCddOwoKJHRwbF92YXJzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoKTsKaWYgKCEkY3VyY29udGVudCA9ICR0cGxfdmFyc1snY29udGVudF9vYmonXSkKICByZXR1cm47ICAvLyBObyBwYWdlCgokcGFnZV91cmwgPSAhZW1wdHkoJHRwbF92YXJzWydjYW5vbmljYWwnXSkgPyAkdHBsX3ZhcnNbJ2Nhbm9uaWNhbCddIDogJGN1cmNvbnRlbnQtPkdldFVSTCgpOwokcGFnZV9pZCA9ICRjdXJjb250ZW50LT5JZCgpOwoKCiRtb2RpZmllZF9kYXRlID0gJGN1cmNvbnRlbnQtPmdldE1vZGlmaWVkRGF0ZSgpOwokbW9kaWZpZWRfZGF0ZSA9IGRhdGUoJ1ktbS1kXFRIOmk6c1AnLCRtb2RpZmllZF9kYXRlKTsKCi8vIEtleXdvcmQgZ2VuZXJhdG9yCiRkZWZhdWx0X2tleXdvcmRzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfa2V5d29yZHMnLCcnKTsKJGtleXdvcmRzID0gIWVtcHR5KCRkZWZhdWx0X2tleXdvcmRzKSA/IGFycmF5X21hcCgndHJpbScsZXhwbG9kZSgnLCcsJGRlZmF1bHRfa2V5d29yZHMpKSA6IGFycmF5KCk7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBXSEVSRSBjb250ZW50X2lkID0gPyc7CmlmICghJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhZ2VfaWQpKSkgewogICRodG1sIC49ICAiUHJvYmxlbSB3aXRoIHRoZSBkYXRhYmFzZSEgUGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLiI7CiAgZGllOwp9CgokcGFnZV9pbmZvID0gJHJlc3VsdC0+RmV0Y2hSb3coKTsKCmlmICgkcGFnZV9pbmZvWydrZXl3b3JkcyddICE9ICIiKSB7CiAgJG90aGVyX2tleXdvcmRzID0gYXJyYXlfbWFwKCd0cmltJyxleHBsb2RlKCcsJywkcGFnZV9pbmZvWydrZXl3b3JkcyddKSk7Cn1lbHNlewogICRvdGhlcl9rZXl3b3JkcyA9IHNlbzJfdXRpbHM6OmdldEtleXdvcmRTdWdnZXN0aW9ucygkcGFnZV9pZCk7Cn0KCmlmICghZW1wdHkoJHRwbF92YXJzWyR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxfa2V5d29yZHNfdmFyJyldKSkgewogICRvdGhlcl9rZXl3b3JkcyA9IGV4cGxvZGUoJywnLCR0cGxfdmFyc1skdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlsX2tleXdvcmRzX3ZhcicpXSk7Cn0KCiRzZW9fa2V5d29yZHMgPSBpbXBsb2RlKCIsICIsYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKCRrZXl3b3JkcywgJG90aGVyX2tleXdvcmRzKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdzZW9fa2V5d29yZHMnLCAkc2VvX2tleXdvcmRzKTsKJHRpdGxlX2tleXdvcmRzID0gaW1wbG9kZSgiLCIsYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKCRrZXl3b3JkcywgJG90aGVyX2tleXdvcmRzKSkpOwoKCgoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9rZXl3b3JkcycsIHN0cl9yZXBsYWNlKCcsJywnICcsaHRtbHNwZWNpYWxjaGFycygkdGl0bGVfa2V5d29yZHMsIEVOVF9RVU9URVMpKSk7CiRzbWFydHktPmFzc2lnbignZGVmYXVsdF9rZXl3b3JkcycsIGh0bWxzcGVjaWFsY2hhcnMoaW1wbG9kZSgnLCAnLCAka2V5d29yZHMpLCBFTlRfUVVPVEVTKSk7CiRzbWFydHktPmFzc2lnbigncGFnZV9rZXl3b3JkcycsICAgIGh0bWxzcGVjaWFsY2hhcnMoaW1wbG9kZSgnLCAnLCAkb3RoZXJfa2V5d29yZHMpLCBFTlRfUVVPVEVTKSk7CgoKCi8vIFBhZ2UgZGVzY3JpcHRpb24KJGRlc2NyaXB0aW9uX2lkID0gc3RyX3JlcGxhY2UoJyAnLCdfJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKSk7CmlmICgkY3VyY29udGVudCAhPT0gZmFsc2UpIHsKICAkZGVzY3JpcHRpb24gPSBzdHJpcF90YWdzKCRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4kY3VyY29udGVudC0+R2V0UHJvcGVydHlWYWx1ZSgkZGVzY3JpcHRpb25faWQpKSk7Cn0KCmlmICgoJGRlc2NyaXB0aW9uID09ICIiKSAmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnLDEpID09IDEpICYmICRjdXJjb250ZW50ICE9PSBOVUxMKSB7CiAgJGt3ID0gJG90aGVyX2tleXdvcmRzOwogICRsYXN0X2tleXdvcmQgPSBhcnJheV9wb3AoJGt3KTsKICAka2V5d29yZHMgPSBpbXBsb2RlKCcsICcsJGt3KSAuICIgIiAuICR0aGlzLT5sYW5nKCdhbmQnKSAuICIgIiAuICRsYXN0X2tleXdvcmQ7CiAgCiAgJGRlc2NyaXB0aW9uID0gc3RyX3JlcGxhY2UoJ3trZXl3b3Jkc30nLCRrZXl3b3JkcywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0bycsJycpKTsKICAkZGVzY3JpcHRpb24gPSBzdHJfcmVwbGFjZSgne3RpdGxlfScsJGN1cmNvbnRlbnQtPk5hbWUoKSwkZGVzY3JpcHRpb24pOwogICRkZXNjcmlwdGlvbiA9ICRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy5odG1sc3BlY2lhbGNoYXJzKCRkZXNjcmlwdGlvbiwgRU5UX1FVT1RFUykpOwoKfQovLyBNRVRBIHRhZyBmb3IgY29udGVudCB0eXBlCmlmICgkaHRtbF92ZXJzaW9uIDwgMykgewogICRodG1sIC49ICAiPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJyBjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9Ii4kY29uZmlnWydkZWZhdWx0X2VuY29kaW5nJ10uIiciIC4kY2xvc2VfdGFnOwp9IGVsc2UgewogICRodG1sIC49ICc8bWV0YSBjaGFyc2V0PSInLnN0cnRvdXBwZXIoJGNvbmZpZ1snZGVmYXVsdF9lbmNvZGluZyddKS4nIicuICRjbG9zZV90YWc7Cn0KCi8vIFNob3cgYmFzZT8KaWYgKGlzc2V0KCRwYXJhbXNbJ3Nob3diYXNlJ10pICYmICRwYXJhbXNbJ3Nob3diYXNlJ10gIT0gZmFsc2UpIHsKICAkaHRtbCAuPSAgIjxiYXNlIGhyZWY9JyIuJHJvb3RfdXJsLiIvJyIgLiAkY2xvc2VfdGFnOwp9CgoKLy8gUGFnZSB0aXRsZQppZiAoJGN1cmNvbnRlbnQgIT09IE5VTEwpewogICR0aXRsZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aXRsZScsJ3t0aXRsZX0gfCB7c2l0ZW5hbWV9IC0ge3Nlb19rZXl3b3Jkc30nKTsKICAkdGl0bGUgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHRpdGxlKTsKCiAgJG1ldGFfdGl0bGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGl0bGVfbWV0YScsJ3t0aXRsZX0gfCB7c2l0ZW5hbWV9Jyk7CiAgJG1ldGFfdGl0bGUgPSBzdHJfcmVwbGFjZSgne3RpdGxlfScsJGN1cmNvbnRlbnQtPk5hbWUoKSwkbWV0YV90aXRsZSk7CiAgJG1ldGFfdGl0bGUgPSBzdHJfcmVwbGFjZSgne3NpdGVuYW1lfScsJHRwbF92YXJzWydzaXRlbmFtZSddLCRtZXRhX3RpdGxlKTsKICAkbWV0YV90aXRsZSA9IHN0cl9yZXBsYWNlKCd7c2VvX2tleXdvcmRzfScsJHRpdGxlX2tleXdvcmRzLCRtZXRhX3RpdGxlKTsKICAkbWV0YV90aXRsZSA9ICRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4kbWV0YV90aXRsZSk7CgogICRvcGVuZ3JhcGhfdGl0bGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfdGl0bGUnLCd7dGl0bGV9Jyk7CiAgJG9wZW5ncmFwaF90aXRsZSA9IHN0cl9yZXBsYWNlKCd7dGl0bGV9JywkY3VyY29udGVudC0+TmFtZSgpLCRvcGVuZ3JhcGhfdGl0bGUpOwogICRvcGVuZ3JhcGhfdGl0bGUgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJG9wZW5ncmFwaF90aXRsZSk7CgogICRodG1sIC49ICAiPHRpdGxlPiIuJHRpdGxlLiI8L3RpdGxlPlxuIjsKfQoKLy8gSW1hZ2UtTGluawokaW1nID0gJGN1cmNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJ2ltYWdlJyk7CmlmICgoJGltZyAhPSAtMSkgJiYgKCRpbWcgIT0gIiIpKSAgewogICRodG1sIC49ICAiPGxpbmsgcmVsPSdpbWFnZV9zcmMnIGhyZWY9JyIuJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXS4gRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1nLiInIiAuICRjbG9zZV90YWc7Cn0KCgovLyBTdGFuZGFyZCBNRVRBIHRhZ3MKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3N0YW5kYXJkJywxKSA9PSAxKSB7CiAgJGh0bWwgLj0gICI8bWV0YSBuYW1lPSdkZXNjcmlwdGlvbicgY29udGVudD0nJGRlc2NyaXB0aW9uJyIgLiAkY2xvc2VfdGFnOwogIAogICRodG1sIC49ICAiPG1ldGEgbmFtZT0na2V5d29yZHMnIGNvbnRlbnQ9JyRzZW9fa2V5d29yZHMnIiAuICRjbG9zZV90YWc7CiAgCgogIGlmICgkaHRtbF92ZXJzaW9uIDwgMyl7CiAgICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J3RpdGxlJyBjb250ZW50PSciLiBodG1sc3BlY2lhbGNoYXJzKCRtZXRhX3RpdGxlLEVOVF9RVU9URVMpLiInIiAuICRjbG9zZV90YWc7CiAgICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J2RhdGUnIGNvbnRlbnQ9JyIuIGh0bWxzcGVjaWFsY2hhcnMoJG1vZGlmaWVkX2RhdGUsRU5UX1FVT1RFUykuIiciIC4gJGNsb3NlX3RhZzsKICAgICRodG1sIC49ICAiPG1ldGEgbmFtZT0nbGFzdHVwZGF0ZScgY29udGVudD0nJG1vZGlmaWVkX2RhdGUnIiAuICRjbG9zZV90YWc7CiAgICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J3JldmlzZWQnIGNvbnRlbnQ9JyRtb2RpZmllZF9kYXRlJyIgLiAkY2xvc2VfdGFnOwogIH0KCgovLyBTdGFydCBvZiBNRVRBIHJvYm90cyB0YWcgZm9yIElOREVYL05PSU5ERVgKaWYgKCgkcGFnZV9pbmZvWydpbmRleGFibGUnXSA9PSAxIHx8ICRwYWdlX2luZm9bJ2luZGV4YWJsZSddID09IG51bGwpICYmICRwYWdlX2luZm9bJ2luZGV4YWJsZSddICE9PTApIHsKICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J3JvYm90cycgY29udGVudD0naW5kZXgiOwp9ZWxzZXsKICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J3JvYm90cycgY29udGVudD0nbm9pbmRleCI7Cn0KCi8vIEVuZCBvZiBNRVRBIHJvYm90cyB0YWcgZm9yIEZPTExPVy9OT0ZPTExPVwppZiAoJHBhZ2VfaW5mb1snZm9sbG93J10gPT0gMSApICB7CiAgJGh0bWwgLj0gICIsIG5vZm9sbG93JyIgLiAkY2xvc2VfdGFnOwp9ZWxzZXsKICAkaHRtbCAuPSAgIiwgZm9sbG93JyIgLiAkY2xvc2VfdGFnOwp9CgoKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd2ZXJpZmljYXRpb24nLCcnKSAhPSAnJykgewogICRodG1sIC49ICAiPG1ldGEgbmFtZT0nZ29vZ2xlLXNpdGUtdmVyaWZpY2F0aW9uJyBjb250ZW50PSciLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd2ZXJpZmljYXRpb24nLCcnKS4iJyIgLiAkY2xvc2VfdGFnOwp9CiAgCiAgCiAgCiAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3B1Ymxpc2hlcicsJycpICE9ICIiKXsKJGh0bWwgLj0gIjxtZXRhIG5hbWU9J2F1dGhvcicgY29udGVudD0nIi4kc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuIGh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJyksIEVOVF9RVU9URVMpKS4iJyIgLiAkY2xvc2VfdGFnOwogIH0gZWxzZSB7CgkkaHRtbCAuPSAiPG1ldGEgbmFtZT0nYXV0aG9yJyBjb250ZW50PSciLiBodG1sc3BlY2lhbGNoYXJzKGNtc19zaXRlcHJlZnM6OmdldCgnc2l0ZW5hbWUnKSwgRU5UX1FVT1RFUykuIiciLiAkY2xvc2VfdGFnOwogIH0KCQogIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJycpICE9ICIiKSB7CiAgICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J2dlby5wbGFjZW5hbWUnIGNvbnRlbnQ9JyIuIGh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfbG9jYXRpb24nLCcnKSwgRU5UX1FVT1RFUykuIiciIC4gJGNsb3NlX3RhZzsKICB9CiAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3JlZ2lvbicsJycpICE9ICIiKSB7CiAgICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J2dlby5yZWdpb24nIGNvbnRlbnQ9JyIuJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfcmVnaW9uJywnJykuIiciIC4gJGNsb3NlX3RhZzsKICB9CiAgaWYgKCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sYXRpdHVkZScsJycpICE9ICIiKSAmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykgIT0gIiIpKSB7CiAgICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J2dlby5wb3NpdGlvbicgY29udGVudD0nIi4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sYXRpdHVkZScsJycpLCBFTlRfUVVPVEVTKS4iOyIuJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykuIiciIC4gJGNsb3NlX3RhZzsKICAgICRodG1sIC49ICAiPG1ldGEgbmFtZT0nSUNCTScgY29udGVudD0nIi4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sYXRpdHVkZScsJycpLiIsICIuJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykuIiciIC4gJGNsb3NlX3RhZzsKICB9CiAgCn0KCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRkaXRpb25hbF9tZXRhX3RhZ3MnLCcnKSAhPSAnJykgewoJJGh0bWwgLj0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZGRpdGlvbmFsX21ldGFfdGFncycpKTsKfQoKLy8gRHVibGluQ29yZSBNRVRBIHRhZ3MKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX2R1YmxpbmNvcmUnLDApID09IDEpIHsKICAkaHRtbCAuPSAgIjxsaW5rIHJlbD0nc2NoZW1hLkRDJyBocmVmPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyciIC4gJGNsb3NlX3RhZzsKICAkaHRtbCAuPSAgIjxsaW5rIHJlbD0nc2NoZW1hLkRDVEVSTVMnIGhyZWY9J2h0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8nIiAuICRjbG9zZV90YWc7CiAgJGh0bWwgLj0gICI8bWV0YSBuYW1lPSdEQy50eXBlJyBjb250ZW50PSdUZXh0JyBzY2hlbWU9J0RDVEVSTVMuRENNSVR5cGUnIiAuICRjbG9zZV90YWc7CiAgJGh0bWwgLj0gICI8bWV0YSBuYW1lPSdEQy5mb3JtYXQnIGNvbnRlbnQ9J3RleHQvaHRtbCcgc2NoZW1lPSdEQ1RFUk1TLklNVCciIC4gJGNsb3NlX3RhZzsKICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J0RDLnJlbGF0aW9uJyBjb250ZW50PSdodHRwOi8vZHVibGluY29yZS5vcmcvJyBzY2hlbWU9J0RDVEVSTVMuVVJJJyIgLiAkY2xvc2VfdGFnOwogIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9wdWJsaXNoZXInLCcnKSAhPSAiIikKCSRodG1sIC49ICAiPG1ldGEgbmFtZT0nREMucHVibGlzaGVyJyBjb250ZW50PSciLiBodG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3B1Ymxpc2hlcicsJycpLCBFTlRfUVVPVEVTKS4iJyIgLiAkY2xvc2VfdGFnOwogIGVsc2UKCSRodG1sIC49ICI8bWV0YSBuYW1lPSdEQy5wdWJsaXNoZXInIGNvbnRlbnQ9JyIuIGh0bWxzcGVjaWFsY2hhcnMoY21zX3NpdGVwcmVmczo6Z2V0KCdzaXRlbmFtZScpLCBFTlRfUVVPVEVTKS4iJyIgLiAkY2xvc2VfdGFnOwogIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9jb250cmlidXRvcicsJycpICE9ICIiKQoJJGh0bWwgLj0gICI8bWV0YSBuYW1lPSdEQy5jb250cmlidXRvcicgY29udGVudD0nIi4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9jb250cmlidXRvcicsJycpLCBFTlRfUVVPVEVTKS4iJyIgLiAkY2xvc2VfdGFnOwoKICBpZigkZmVsYW5nID0gY21zX3NpdGVwcmVmczo6Z2V0KCdmcm9udGVuZGxhbmcnKSkKICAgICRodG1sIC49ICAiPG1ldGEgbmFtZT0nREMubGFuZ3VhZ2UnIGNvbnRlbnQ9JyIuJGZlbGFuZy4iJyBzY2hlbWU9J0RDVEVSTVMuUkZDMzA2NicgLz5cbiI7CgogIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9jb3B5cmlnaHQnLCcnKSAhPSAiIikKICAgICRodG1sIC49ICAiPG1ldGEgbmFtZT0nREMucmlnaHRzJyBjb250ZW50PSciLiRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9jb3B5cmlnaHQnKSwgRU5UX1FVT1RFUykpLiInIiAuICRjbG9zZV90YWc7CgogICRodG1sIC49ICAiPG1ldGEgbmFtZT0nREMudGl0bGUnIGNvbnRlbnQ9JyRtZXRhX3RpdGxlJyIgLiAkY2xvc2VfdGFnOwogICRodG1sIC49ICAiPG1ldGEgbmFtZT0nREMuZGVzY3JpcHRpb24nIGNvbnRlbnQ9JyRkZXNjcmlwdGlvbiciIC4gJGNsb3NlX3RhZzsKICAkaHRtbCAuPSAgIjxtZXRhIG5hbWU9J0RDLmRhdGUnIGNvbnRlbnQ9JyRtb2RpZmllZF9kYXRlJyBzY2hlbWU9J0RDVEVSTVMuVzNDRFRGJyIgLiAkY2xvc2VfdGFnOwogICRodG1sIC49ICAiPG1ldGEgbmFtZT0nREMuaWRlbnRpZmllcicgY29udGVudD0nJHBhZ2VfdXJsJyBzY2hlbWU9J0RDVEVSTVMuVVJJJyIgLiAkY2xvc2VfdGFnOwp9CgovLyBPcGVuR3JhcGggTUVUQSB0YWdzCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGgnLDApID09IDEpIHsKICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzp0aXRsZScgY29udGVudD0nJG9wZW5ncmFwaF90aXRsZScgLz5cbiI7CiAgaWYgKCRwYWdlX2luZm9bJ29ndHlwZSddID09ICIiKSB7CiAgICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzp0eXBlJyBjb250ZW50PSciLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF90eXBlJywnJykuIicgIiAuICRjbG9zZV90YWc7CiAgfWVsc2V7CiAgICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzp0eXBlJyBjb250ZW50PSciLiRwYWdlX2luZm9bJ29ndHlwZSddLiInIiAuICRjbG9zZV90YWc7CiAgfQogICRodG1sIC49ICAiPG1ldGEgcHJvcGVydHk9J29nOnVybCcgY29udGVudD0nJHBhZ2VfdXJsJyIgLiAkY2xvc2VfdGFnOwoKICBpZigkY3VyY29udGVudCAhPSBOVUxMKSB7CiAgICAkaW1nID0gJGN1cmNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJ2ltYWdlJyk7OwogICAgaWYgKCgkaW1nICE9IC0xKSAmJiAoJGltZyAhPSAiIikpICB7CiAgICAgICRpbWFnZSA9ICRpbWc7CiAgICAgICAKICAgIH1lbHNlewogICAgICAkaW1hZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnLCcnKTsKICAgIH0KICB9CiAgJGh0bWwgLj0gICI8bWV0YSBwcm9wZXJ0eT0nb2c6aW1hZ2UnIGNvbnRlbnQ9JyIuJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXS4iLyIuJGltYWdlLiInIiAuICRjbG9zZV90YWc7CiAgJGh0bWwgLj0gICI8bWV0YSBwcm9wZXJ0eT0nb2c6c2l0ZV9uYW1lJyBjb250ZW50PSciLiBodG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9zaXRlbmFtZScsY21zX3NpdGVwcmVmczo6Z2V0KCdzaXRlbmFtZScpLCBFTlRfUVVPVEVTKSkuIiciIC4gJGNsb3NlX3RhZzsKICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzpkZXNjcmlwdGlvbicgY29udGVudD0nJGRlc2NyaXB0aW9uJyAvPlxuIjsKICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uJywnJykgIT0gIiIpIHsKICAgICRodG1sIC49ICAiPG1ldGEgcHJvcGVydHk9J2ZiOmFwcF9pZCcgY29udGVudD0nIi4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCcnKSwgRU5UX1FVT1RFUykuIiciIC4gJGNsb3NlX3RhZzsKICB9ZWxzZXsKICAgICRodG1sIC49ICAiPG1ldGEgcHJvcGVydHk9J2ZiOmFkbWlucycgY29udGVudD0nIi4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJywnJyksIEVOVF9RVU9URVMpLiInIiAuICRjbG9zZV90YWc7CiAgfQogIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJycpICE9ICIiKSB7CiAgICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzpsb2NhbGl0eScgY29udGVudD0nIi4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJycpLCBFTlRfUVVPVEVTKS4iJyIgLiAkY2xvc2VfdGFnOwogIH0KICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfcmVnaW9uJywnJykgIT0gIiIpIHsKICAgICRodG1sIC49ICAiPG1ldGEgcHJvcGVydHk9J29nOnJlZ2lvbicgY29udGVudD0nIi4gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9yZWdpb24nLCcnKSwgRU5UX1FVT1RFUykuIiciIC4gJGNsb3NlX3RhZzsKICB9CiAgaWYgKCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sYXRpdHVkZScsJycpICE9ICIiKSAmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykgIT0gIiIpKSB7CiAgICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzpsYXRpdHVkZScgY29udGVudD0nIi4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sYXRpdHVkZScsJycpLiInIiAuICRjbG9zZV90YWc7CiAgICAkaHRtbCAuPSAgIjxtZXRhIHByb3BlcnR5PSdvZzpsb25naXR1ZGUnIGNvbnRlbnQ9JyIuJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykuIiciIC4gJGNsb3NlX3RhZzsKICB9Cn0KJHNtYXJ0eS0+ZGlzcGxheSgnc3RyaW5nOicuJGh0bWwpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEFjdGlvbjogZGVmYXVsdGFkbWluCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKewogIHJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwp9CgokZGIgPSBjbXNtcygpLT5HZXREYigpOwokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiRhZG1pbl9kaXIgPSAkY29uZmlnWydhZG1pbl9kaXInXTsKJHRoZW1lTmFtZSA9IGNtc191c2VycHJlZnM6OmdldCgnYWRtaW50aGVtZScpOwokcm9vdF91cmwgPSBlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgPyAkY29uZmlnWydyb290X3VybCddIDogJGNvbmZpZ1snc3NsX3VybCddOwokY29udGVudF9pZCA9IGlzc2V0KCRfR0VUWydjb250ZW50X2lkJ10pID8gJF9HRVRbJ2NvbnRlbnRfaWQnXSA6ICcnOwokdGFiID0gaXNzZXQoJF9HRVRbJ3RhYiddKSA/ICRfR0VUWyd0YWInXSA6ICcnOwokaiA9IDA7CmlmIChpc3NldCgkX0dFVFsndGFiJ10pKQogICR0aGlzLT5TZXRDdXJyZW50VGFiKCRfR0VUWyd0YWInXSk7CgoKJG1lc3NhZ2UgPSAnJzsKCi8vIERvIHRoZSBhY3Rpb24KLy8gVXBkYXRlIHRoZSBpbmRleGFibGUgZGIgZmllbGQKLy8gRG8gdGhlIGFjdGlvbgppZiAoaXNzZXQoJF9HRVRbJ3doYXQnXSkgJiYgJF9HRVRbJ3doYXQnXSA9PSAndG9nZ2xlX2luZGV4JykgewogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMyIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRfR0VUWydjb250ZW50X2lkJ107CiAgJHJlc3VsdCA9JiAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAkaW5mbyA9ICRyZXN1bHQtPmZldGNoUm93KCk7CiAgaWYgKCFlbXB0eSgkaW5mbykgJiYgJGluZm9bJ2luZGV4YWJsZSddID09ICIxIikgewogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBTRVQgaW5kZXhhYmxlID0gMCBXSEVSRSBjb250ZW50X2lkID0gJy4kX0dFVFsnY29udGVudF9pZCddOwogIH1lbHNlewogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMyIFNFVCBjb250ZW50X2lkID0gJy4kX0dFVFsnY29udGVudF9pZCddLicsIGluZGV4YWJsZSA9IDAgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgaW5kZXhhYmxlID0gMSc7CiAgfQogICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCiAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcmVhdGVfcm9ib3RzJywxKSA9PSAxKSB7CiAgICBzZW8yX3V0aWxzOjpjcmVhdGVSb2JvdHNUWFQoKTsKICB9CiAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcmVhdGVfc2l0ZW1hcCcsMSkgPT0gMSkgewogICAgc2VvMl91dGlsczo6Y3JlYXRlU2l0ZW1hcCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJywxKSA9PSAxKTsKICB9CiAgJF9HRVRbJ3RhYiddID0gJ3BhZ2VkZXNjcmlwdGlvbnMnOwp9CgovLyBVcGRhdGUgdGhlIGZvbGxvdyBkYiBmaWVsZAppZiAoaXNzZXQoJF9HRVRbJ3doYXQnXSkgJiYgJF9HRVRbJ3doYXQnXSA9PSAndG9nZ2xlX2ZvbGxvdycpIHsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBXSEVSRSBjb250ZW50X2lkID0gJy4kY29udGVudF9pZDsKICAkcmVzdWx0ID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICRpbmZvID0gJHJlc3VsdC0+ZmV0Y2hSb3coKTsKICBpZiAoIWVtcHR5KCRpbmZvKSAmJiAkaW5mb1snZm9sbG93J10gPT0gIjEiKSB7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMyIFNFVCBmb2xsb3cgPSAwIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRjb250ZW50X2lkOwogIH1lbHNlewogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMyIFNFVCBjb250ZW50X2lkID0gJy4kY29udGVudF9pZC4nLCBmb2xsb3cgPSAwIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIGZvbGxvdyA9IDEnOwogIH0KICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCn0KICBpZiAoaXNzZXQoJF9HRVRbJ3doYXQnXSkgJiYgJF9HRVRbJ3doYXQnXSA9PSAnc2V0X3ByaW9yaXR5JykgewogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMyIFNFVCBjb250ZW50X2lkID0gJy4kY29udGVudF9pZC4nLCBwcmlvcml0eSA9ICcuJF9HRVRbJ3ByaW9yaXR5J10uJyBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBwcmlvcml0eSA9ICcuJF9HRVRbJ3ByaW9yaXR5J107CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICR0YWIgPSAncGFnZWRlc2NyaXB0aW9ucyc7CiAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywxKSA9PSAxKSB7CiAgICAgIHNlbzJfdXRpbHM6OmNyZWF0ZVNpdGVtYXAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3B1c2hfc2l0ZW1hcCcsMSkgPT0gMSk7CiAgICB9CiAgfQoKICBpZiAoaXNzZXQoJF9HRVRbJ3doYXQnXSkgJiYgJF9HRVRbJ3doYXQnXSA9PSAncmVzZXRfcHJpb3JpdHknKSB7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMyIFNFVCBwcmlvcml0eSA9IE5VTEwgV0hFUkUgY29udGVudF9pZCA9ICcuJGNvbnRlbnRfaWQ7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICR0YWIgPSAncGFnZWRlc2NyaXB0aW9ucyc7CiAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywxKSA9PSAxKSB7CiAgICAgIHNlbzJfdXRpbHM6OmNyZWF0ZVNpdGVtYXAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3B1c2hfc2l0ZW1hcCcsMSkgPT0gMSk7CiAgICB9CiAgfQoKICBpZiAoaXNzZXQoJF9HRVRbJ3doYXQnXSkgJiYgJF9HRVRbJ3doYXQnXSA9PSAncmVzZXRfb2d0eXBlJykgewogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBTRVQgb2d0eXBlID0gTlVMTCBXSEVSRSBjb250ZW50X2lkID0gJy4kY29udGVudF9pZDsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgJHRhYiA9ICdwYWdlZGVzY3JpcHRpb25zJzsKICB9CgogIGlmIChpc3NldCgkX0dFVFsnd2hhdCddKSAmJiAkX0dFVFsnd2hhdCddID09ICdyZXNldF9rZXl3b3JkcycpIHsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgU0VUIGtleXdvcmRzID0gTlVMTCBXSEVSRSBjb250ZW50X2lkID0gJy4kY29udGVudF9pZDsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgJHRhYiA9ICdwYWdlZGVzY3JpcHRpb25zJzsKICB9CgogIGlmIChpc3NldCgkX0dFVFsnd2hhdCddKSAmJiAkX0dFVFsnd2hhdCddID09ICdlZGl0X29ndHlwZScpIHsKICAgIGVjaG8gJHRoaXMtPlJlZGlyZWN0KG51bGwsICdlZGl0X29ndHlwZScsICR0aGlzLT5yZXR1cm5pZCwgQXJyYXkoJ2NvbnRlbnRfaWQnPT4kY29udGVudF9pZCkpOwogIH0KCiAgaWYgKGlzc2V0KCRfR0VUWyd3aGF0J10pICYmICRfR0VUWyd3aGF0J10gPT0gJ2VkaXRfa2V5d29yZHMnKSB7CiAgICBlY2hvICR0aGlzLT5SZWRpcmVjdChudWxsLCAnZWRpdF9rZXl3b3JkcycsICR0aGlzLT5yZXR1cm5pZCwgQXJyYXkoJ2NvbnRlbnRfaWQnPT4kY29udGVudF9pZCkpOwogIH0KCi8qIFN0YXJ0IHRoZSBBZG1pbiBvdXRwdXQgKi8KICAKICAKICBlY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Nlb2FsZXJ0cycsJHRoaXMtPkxhbmcoJ3RpdGxlX3Nlb2FsZXJ0cycpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3BhZ2VkZXNjcmlwdGlvbnMnLCR0aGlzLT5MYW5nKCd0aXRsZV9wYWdlZGVzY3JpcHRpb25zJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbWV0YXNldHRpbmdzJywkdGhpcy0+TGFuZygndGl0bGVfbWV0YXNldHRpbmdzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc2l0ZW1hcHNldHRpbmdzJywkdGhpcy0+TGFuZygndGl0bGVfc2l0ZW1hcHNldHRpbmdzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigna2V5d29yZHNldHRpbmdzJywkdGhpcy0+TGFuZygndGl0bGVfa2V5d29yZHNldHRpbmdzJykpOwogIGVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKICAKICBlY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCiAgaWYgKGlzc2V0KCRfR0VUWydtZXNzYWdlJ10pKSB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCR0aGlzLT5zaG93TWVzc2FnZSgkdGhpcy0+bGFuZygkX0dFVFsnbWVzc2FnZSddKSkpOwogIH0gZWxzZSB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCcnKTsKICB9CgogIC8qIFNFTyBBbGVydHMgVGFiICovCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2VvYWxlcnRzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fYWxlcnRzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCiAgLyogUGFnZSBzZXR0aW5ncyBUYWIgKi8KICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwYWdlZGVzY3JpcHRpb25zJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcGFnZXNldHRpbmdzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCiAgLyogU0VPIFNldHRpbmdzIFRhYiAqLwogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ21ldGFzZXR0aW5ncycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Nlb3NldHRpbmdzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAvKiBTSVRFTUFQIFNldHRpbmdzICovCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2l0ZW1hcHNldHRpbmdzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fc2l0ZW1hcHNldHRpbmdzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCiAgLyogS0VZV09SRCBTZXR0aW5ncyAqLwogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2tleXdvcmRzZXR0aW5ncycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2tleXdvcmRzZXR0aW5nc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CgokanEgPSAnJzsKJGpxIC49ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgovKiA8IVtDREFUQVsgKi8KKGZ1bmN0aW9uICgkKSB7CiQuZm4uaGFzQiA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYXNCID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCJiIikuZmluZCgiLnByaW9yaXR5OmZpcnN0Iikuc2l6ZSgpOwoJCXJldHVybiBoYXNCOwoJfQoJCgkkLmZuLmF1dG9kZXB0aCA9IGZ1bmN0aW9uKCkgewoJCSQodGhpcykucGFyZW50c1VudGlsKCJ0Ym9keSIpLnBhcmVudCgpLmZpbmQoInRyIikubmV4dCgpLmZpcnN0KCkuYWRkQ2xhc3MoImgiKTsKCQl2YXIgcGcgPSAkKHRoaXMpLnBhcmVudHNVbnRpbCgidHIiKS5wYXJlbnQoKS5maW5kKCJ0ZC5wZzpmaXJzdCIpLmh0bWwoKTsKCQl2YXIgYSA9ICQubWFwKHBnLCBmdW5jdGlvbih4KSB7IHJldHVybiBwZy5jaGFyQ29kZUF0KHgpIH0pOwoJCXZhciBkZXB0aCA9ICQuZ3JlcCggYSwgZnVuY3Rpb24obixpKXsgcmV0dXJuIG4gPT0gMTg3O30pOwoJCQoJCXN3aXRjaChkZXB0aC5sZW5ndGgpIHsKCQkJY2FzZSAwOgoJCQkgIHZhciBhdXRvZGVwdGggPSAoJCh0aGlzKS5wYXJlbnRzVW50aWwoInRyIikucGFyZW50KCkuaGFzQ2xhc3MoImgiKSkgPyAxMDAgOiA4MDsKCQkJICBicmVhazsKCQkJY2FzZSAxOgoJCQkgIHZhciBhdXRvZGVwdGggPSA0MDsKCQkJICBicmVhazsKCQkJZGVmYXVsdDoKCQkJICB2YXIgYXV0b2RlcHRoID0gMjA7CgkJfQoJCXJldHVybiBhdXRvZGVwdGg7Cgl9Cn0pKGpRdWVyeSk7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoJdmFyIHNwaW5uZXIgPSAiPGltZyBzcmM9XCInLiRyb290X3VybC4nL21vZHVsZXMvU0VPVG9vbHMyL2ltZy9hamF4LWxvYWRlci5naWZcIiBhbHQ9XCJBamF4IGxvYWRpbmcuLi5cIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBjbGFzcz1cInNwaW5uZXJcIiAvPiI7CgkKCSQoIi5zZW8yYWpheCBhIikuY2xpY2soZnVuY3Rpb24oZSl7CgkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCXZhciBpbWcgPSAkKHRoaXMpLmZpbmQoImltZyIpOwoJCXZhciBpbWdzcmMgPSBpbWcuYXR0cigic3JjIik7CgkJdmFyIGltZ3NyYyA9IChpbWdzcmMuaW5kZXhPZigidHJ1ZSIpICE9PSAtMSkgPyBpbWdzcmMucmVwbGFjZSgidHJ1ZSIsImZhbHNlIikgOiBpbWdzcmMucmVwbGFjZSgiZmFsc2UiLCJ0cnVlIik7CgkJJChpbWcpLmF0dHIoInNyYyIsaW1nc3JjKTsKCQl2YXIgeCA9ICQodGhpcykuYXR0cigiaHJlZiIpOwoJCSQodGhpcykuYXBwZW5kKHNwaW5uZXIpOwoJCSQuZ2V0KHgsIGZ1bmN0aW9uKGRhdGEpewoJCQkkKCIuc3Bpbm5lcjpmaXJzdCIpLnJlbW92ZSgpOwoJCX0pOwoJfSk7CgkkKCIudXBkb3duIikuY2xpY2soZnVuY3Rpb24oZSl7CgkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCSQodGhpcykuYXBwZW5kKHNwaW5uZXIpOwoJCXZhciBhdXRvZGVwdGggPSAkKHRoaXMpLmF1dG9kZXB0aCgpOwoJCXZhciBwcmlvcml0eSAgPSAoJCh0aGlzKS5oYXNCKCkgPiAwKSA/ICQodGhpcykucGFyZW50KCkuZmluZCgiYiIpLmZpbmQoIi5wcmlvcml0eTpmaXJzdCIpIDogJCh0aGlzKS5wYXJlbnQoKS5maW5kKCIucHJpb3JpdHk6Zmlyc3QiKTsKCQl2YXIgbXNnU3BhbiAgID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCIucG1zZzpmaXJzdCIpOwoJCXZhciBpZCAgICAgICAgPSAkKHRoaXMpLnBhcmVudHNVbnRpbCgidHIiKS5wYXJlbnQoKS5maW5kKCJ0ZCIpLmZpcnN0KCkudGV4dCgpOwoJCQoJCXZhciBhbXQgPSAoJCh0aGlzKS5oYXNDbGFzcygidXAiKSkgPyAxMCA6IC0xMDsKCQl2YXIgbmV3dmFsID0gTnVtYmVyKHByaW9yaXR5LnRleHQoKSkrYW10OwoJCWlmIChuZXd2YWwgIT0gYXV0b2RlcHRoKSB7CgkJCXZhciBwbXNnID0gIjxiIGNsYXNzPVwicmVzZXQxMDBcIj4iOwoJCQlwbXNnCSs9ICI8c3BhbiBjbGFzcz1cInByaW9yaXR5XCI+IjsKCQkJcG1zZwkrPSBuZXd2YWw7CgkJCXBtc2cJKz0gIjwvc3Bhbj4lIjsKCQkJcG1zZwkrPSAiPGEgaHJlZj1cIicuJHJvb3RfdXJsLicvJy4kY29uZmlnWydhZG1pbl9kaXInXS4nL21vZHVsZWludGVyZmFjZS5waHA/bWFjdD1TRU9Ub29sczIsLGRlZmF1bHRhZG1pbiwwJmFtcDsnLkNNU19TRUNVUkVfUEFSQU1fTkFNRS4nPScuJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXS4nJmFtcDt3aGF0PXJlc2V0X3ByaW9yaXR5JmFtcDtjb250ZW50X2lkPSI7CgkJCXBtc2cJKz0gaWQ7CgkJCXBtc2cJKz0gIiZhbXA7dGFiPXBhZ2VkZXNjcmlwdGlvbnMiOwoJCQlwbXNnCSs9ICJcIiBjbGFzcz1cImFkbWluLXRvb2x0aXBcIj4iOwoJCQlwbXNnCSs9ICI8aW1nIGFsaWduPVwiYWJzbWlkZGxlXCIgc3JjPVwiJy4kcm9vdF91cmwuJy9tb2R1bGVzL1NFT1Rvb2xzMi9pbWcvcmVzZXQucG5nXCIgLz4iOwoJCQlwbXNnCSs9ICI8c3Bhbj4iOwoJCQlwbXNnCSs9ICInLiR0aGlzLT5MYW5nKCdyZXNldF90b19kZWZhdWx0JykgLiciOwoJCQlwbXNnCSs9ICI8L3NwYW4+IjsKCQkJcG1zZwkrPSAiPC9hPjwvYj4iOwoJCX0gZWxzZSB7CgkJCXZhciBwbXNnID0gIihhdXRvKSA8c3BhbiBjbGFzcz1cInByaW9yaXR5XCI+IiArICQodGhpcykuYXV0b2RlcHRoKCkgKyAiPC9zcGFuPiUgIjsKCQl9CgkJCgkJdmFyIHggPSAkKHRoaXMpLmF0dHIoImhyZWYiKTsKCQkkLmdldCh4LCBmdW5jdGlvbihkYXRhKXsKCQkJJChwcmlvcml0eSkudGV4dChuZXd2YWwpOwoJCQkJJChtc2dTcGFuKS5hZGRDbGFzcygicG1zZyIpLmh0bWwocG1zZyk7Ci8vCQkJCSQobXNnU3BhbikuaHRtbChwbXNnKTsKCQkJJCgiLnNwaW5uZXI6Zmlyc3QiKS5yZW1vdmUoKTsKCQl9KTsKCX0pOwoJCgkKCSQoInNwYW4ucG1zZyBhIikuY2xpY2soZnVuY3Rpb24oZSl7CgkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCSQodGhpcykuYXBwZW5kKHNwaW5uZXIpOwoJCXZhciB0ZCA9ICQodGhpcykucGFyZW50c1VudGlsKCJ0ZCIpLnBhcmVudCgpOwoJCXZhciBtc2dTcGFuID0gJCh0ZCkuZmluZCgic3Bhbi5wbXNnIik7CgkKCQkKCQl2YXIgcG1zZyA9ICIoYXV0bykgPHNwYW4gY2xhc3M9XCJwcmlvcml0eVwiPiIgKyAkKHRoaXMpLmF1dG9kZXB0aCgpICsgIjwvc3Bhbj4lICI7CgkJdmFyIHggPSAkKHRoaXMpLmF0dHIoImhyZWYiKTsKCQkkLmdldCh4LCBmdW5jdGlvbihkYXRhKXsKCQkJJCh0ZCkuZmluZCgiLnNwaW5uZXIiKS5yZW1vdmUoKTsKCQkJJChtc2dTcGFuKS5odG1sKHBtc2cpOwoKCQl9KTsKCQkKCX0pOwp9KTsKLyogXV0+ICovCjwvc2NyaXB0Pic7CmVjaG8gJGpxOwogID8+]]></data>
	</file>
	<file>
	  <filename>/action.edit_keywords.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEFjdGlvbjogZWRpdF9rZXl3b3JkcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCFpc3NldCgkX1JFUVVFU1RbJ2NvbnRlbnRfaWQnXSkpCiAgcmV0dXJuOwoKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwokY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiRjb250X2lkID0gJF9SRVFVRVNUWydjb250ZW50X2lkJ10gOwokY29udGVudF9vYmogPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGNvbnRfaWQpOwoKaWYgKGlzc2V0KCRfUE9TVFsnc2V0X2tleXdvcmRzJ10pKSB7CgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZW90b29sczIgU0VUIGNvbnRlbnRfaWQgPSA/LCBrZXl3b3JkcyA9ID8sIGluZGV4YWJsZSA9IDEgT04gRFVQTElDQVRFIEtFWSBVUERBVEUga2V5d29yZHMgPSA/IjsKCWlmICghJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNvbnRfaWQsICRfUE9TVFsna2V5d29yZHMnXSwkX1BPU1RbJ2tleXdvcmRzJ10pKSl7CgkgIGVjaG8gJGRiLT5zcWw7CgkgIGRpZTsKCX0KCSR0aGlzLT5yZWRpcmVjdChudWxsLCAnZGVmYXVsdGFkbWluJywgbnVsbCwgQXJyYXkoJ3RhYic9PidwYWdlZGVzY3JpcHRpb25zJykpOwp9CgokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBXSEVSRSBjb250ZW50X2lkID0gPyc7CmlmICghJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNvbnRfaWQpKSkgewogIGVjaG8gJ3RoaXMgaXMgdGhlIGZhaWw8YnIgLz4nOwogIGVjaG8gJGRiLT5zcWw7CiAgZGllOwp9CgokaW5mbyA9ICRyZXN1bHQtPmZldGNoUm93KCk7CgppZiAoIWlzc2V0KCRpbmZvWydrZXl3b3JkcyddKSB8fCAkaW5mb1sna2V5d29yZHMnXSA9PSAnJykgewogIAkkaW5mb1sna2V5d29yZHMnXSA9IHN0cnRvbG93ZXIoaW1wbG9kZSgnLCAnLHNlbzJfdXRpbHM6OmdldEtleXdvcmRTdWdnZXN0aW9ucygkY29udF9pZCkpKTsKfQoKCiRvdXRwdXQgID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydChudWxsLCAnZWRpdF9rZXl3b3JkcycpOwokb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbihudWxsLCAnY29udGVudF9pZCcsICRjb250X2lkKTsKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCdlbnRlcl9uZXdfa2V5d29yZHMnKS4nOjwvcD4nOwoKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsIG51bGwsICRpbmZvWydrZXl3b3JkcyddLCAna2V5d29yZHMnKS4nICcuJHRoaXMtPkxhbmcoJ2hlbHBfbmV3X2tleXdvcmRzJykuJzwvcD4nOwoKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+JzsKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQobnVsbCwgJ3NldF9rZXl3b3JkcycsJHRoaXMtPmxhbmcoJ3NhdmUnKSkuJzwvcD4nOwoKJG91dHB1dCAuPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJG91dHB1dCAuPSAnPGJyIC8+PGJyIC8+JzsKCi8vIEdldCB0aGUgbWFpbiBjb250ZW50IGJsb2NrCiRjb250ZW50X2VuID0gJGNvbnRlbnRfb2JqLT5HZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50X2VuJyk7CgppZiAoaXNzZXQoJGNvbnRlbnRfZW4pKSB7CiAgJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCdwYWdlX25hbWUnKS4nOjwvcD4nOwogIAogICRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJGNvbnRlbnRfb2JqLT5OYW1lKCkuJzwvcD4nOwogICRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygnYWRtaW5fdmlldycpLic6PC9wPic7CiAgJG91dHB1dCAuPSAnPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4nLnNlbzJfdXRpbHM6OmNvbXBpbGVfdWR0cygkY29udGVudF9lbikuJzwvZGl2Pic7CiAgICAKICAvLyBHZXQgdGhlIG1ldGEgZGVzY3JpcHRpb24KICAkbWV0YWRlc2NyaXB0aW9uID0gJGNvbnRlbnRfb2JqLT5HZXRQcm9wZXJ0eVZhbHVlKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycpKTsKICAKICAgICAgJG91dHB1dCAuPSAnPGJyIC8+PGJyIC8+PHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCdtZXRhZGVzY3JpcHRpb25fY29udGVudCcpLic6PC9wPic7CiAgCiAgaWYgKCFlbXB0eSgkbWV0YWRlc2NyaXB0aW9uKSkgewogICAgICAkb3V0cHV0IC49ICc8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPicuc2VvMl91dGlsczo6Y29tcGlsZV91ZHRzKCRtZXRhZGVzY3JpcHRpb24pLic8L2Rpdj4nOwogICAgCiAgfSBlbHNlIHsKICAgICRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkxhbmcoJ25vX21ldGFkZXNjcmlwdGlvbicpLic6PC9wPic7CiAgfQogIAp9CiRvdXRwdXQgLj0gJzxiciAvPjxiciAvPjxwPjxhIGhyZWY9ImVkaXRjb250ZW50LnBocD8nLkNNU19TRUNVUkVfUEFSQU1fTkFNRS4nPScuJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXS4nJmNvbnRlbnRfaWQ9Jy4kY29udF9pZC4nIj4nLiR0aGlzLT5MYW5nKCdlZGl0X3BhZ2UnKS4nPC9hPiAnOwokb3V0cHV0IC49ICc8YSBocmVmPSInLiRjb250ZW50X29iai0+R2V0VVJMKCkuJyIgdGFyZ2V0PSJfYmxhbmsiPicuJHRoaXMtPkxhbmcoJ3ZpZXdfcGFnZScpLic8L2E+PC9wPic7CgplY2hvICRvdXRwdXQ7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.edit_ogtype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBTRU9Ub29sczIgLSBUdXJiby1jaGFyZ2UgeW91ciBvbi1wYWdlIFNFTwojIFZlcnNpb246IDEuMiwgQ2xpcCBNYWdpYyA8YWRtaW5AY2xpcG1hZ2ljLmNvbS5hdT4KIyBBY3Rpb246IGVkaXRfb2d0eXBlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSBjbXNtcygpLT5HZXREYigpOwoKaWYgKGlzc2V0KCRfUE9TVFsnc2V0X29ndHlwZSddKSkgewoJaWYgKCRfUE9TVFsnb2dfdHlwZSddICE9ICIiKSB7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMyIFNFVCBjb250ZW50X2lkID0gIi4kX1BPU1RbJ2NvbnRlbnRfaWQnXS4iLCBvZ3R5cGUgPSAnIi4kX1BPU1RbJ29nX3R5cGUnXS4iJywgaW5kZXhhYmxlID0gMSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBvZ3R5cGUgPSAnIi4kX1BPU1RbJ29nX3R5cGUnXS4iJyI7Cgl9ZWxzZXsKCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMyIFNFVCBvZ3R5cGUgPSBOVUxMIFdIRVJFIGNvbnRlbnRfaWQgPSAiLiRfUE9TVFsnY29udGVudF9pZCddOwoJfQoJCgllY2hvICRxdWVyeTsKCQoJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkkdGhpcy0+UmVkaXJlY3QobnVsbCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsIEFycmF5KCd0YWInPT4ncGFnZWRlc2NyaXB0aW9ucycpKTsKfQoKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgV0hFUkUgY29udGVudF9pZCA9ICcuJF9HRVRbJ2NvbnRlbnRfaWQnXTsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwokaW5mbyA9ICRyZXN1bHQtPmZldGNoUm93KCk7Cgokb3V0cHV0ICA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQobnVsbCwgJ2VkaXRfb2d0eXBlJyk7CiRvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKG51bGwsICdjb250ZW50X2lkJywgJF9HRVRbJ2NvbnRlbnRfaWQnXSk7CiRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygnZW50ZXJfbmV3X29ndHlwZScpLic6PC9wPic7CiRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAnb2dfdHlwZScsICRpbmZvWydvZ3R5cGUnXSwgMzAsIDMwKS4nICcuJHRoaXMtPkxhbmcoJ2hlbHBfbmV3X29ndHlwZScpLic8L3A+JzsKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGJyIC8+Jy4kdGhpcy0+TGFuZygnaGVscF9vcGVuZ3JhcGgnKS4nPGJyIC8+PGJyIC8+JzsKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQobnVsbCwgJ3NldF9vZ3R5cGUnLCR0aGlzLT5MYW5nKCdzYXZlJykpLic8L3A+JzsKCiRvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCmVjaG8gJG91dHB1dDsKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.robots.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBTRU9Ub29sczIgLSBUdXJiby1jaGFyZ2UgeW91ciBvbi1wYWdlIFNFTwojIFZlcnNpb246IDEuMiwgQ2xpcCBNYWdpYyA8YWRtaW5AY2xpcG1hZ2ljLmNvbS5hdT4KIyBBY3Rpb246IHJvYm90cyAtIHVwZGF0ZXMgdGhlIHJvYm90cy50eHQgZmlsZSBpbiB0aGUgcm9vdCBkaXIKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwokcm9vdF9wYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywnLycsJGNvbmZpZ1sncm9vdF9wYXRoJ10pOyAvLyBmb3IgV2luZG93cwokc2VydmVyX3Jvb3QgPSAkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddOwoKLy8gZ3JhYiBhIGNvcHkgb2YgdGhlIGV4aXN0aW5nIHJvYm90cy50eHQgZmlsZSBhbmQgc2hvdyBpdCBvbiB0aGUgc2NyZWVuCiRmaWxlbmFtZSA9ICRzZXJ2ZXJfcm9vdC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuJ3JvYm90cy50eHQnOwoKLy8ganVzdCBpbiBjYXNlIHRoZSBzZXJ2ZXIgZG91YmxlZCB1cCBvbiB0aGUgZGlyZWN0b3J5IHNlcGFyYXRvcnMKJGZpbGVuYW1lID0gc3RyX3JlcGxhY2UoJy8vJywnLycsJGZpbGVuYW1lKTsKCi8vIHdhc24ndCB0aGVyZSB0byBzdGFydCB3aXRoIQppZiAoIWZpbGVfZXhpc3RzICgkZmlsZW5hbWUpKXsKICAkdGhpcy0+cmVkaXJlY3QobnVsbCwnY2hhbmdlc2V0dGluZ3MnLCRfUE9TVFsnZG9fcmVnZW5lcmF0ZSddKTsKfQoKLy8geW91J3JlIGdvaW5nIHRvIGRlbGV0ZSB0aGUgb2xkIG9uZSBub3chCmlmIChpc3NldCgkX1BPU1RbJ2RvX2RlbGV0ZV9yb2JvdHMnXSkpewogIHVubGluayAoJGZpbGVuYW1lKTsKICBzZW8yX3V0aWxzOjpjcmVhdGVSb2JvdHNUWFQoKTsKICAkdGhpcy0+UmVkaXJlY3QoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsIEFycmF5KCdtZXNzYWdlJz0+J3NpdGVtYXBfcmVnZW5lcmF0ZWQnLCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwogICAgfQppZiAoaXNzZXQoJF9QT1NUWydkb250X2RlbGV0ZV9yb2JvdHMnXSkpewoKICAkdGhpcy0+YXVkaXQoIlRlc3QiLCJTRU8gVG9vbHMiLCJNYW51YWxseSByZWdlbmVyYXRlZCBzaXRlbWFwLnhtbCBvbmx5Iik7CiAgJHRoaXMtPlJlZGlyZWN0KCR0aGlzLT5pZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBBcnJheSgnbWVzc2FnZSc9PidzaXRlbWFwX29ubHlfcmVnZW5lcmF0ZWQnLCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwp9CgovLyBPSywgc2hvdyBtZSB3aGF0J3MgdGhlcmUgaW4gdGhlIHJvYm90cy50eHQgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3RvcnkKJGhhbmRsZSA9IGZvcGVuKCRmaWxlbmFtZSwgInJiIik7CiRjb250ZW50cyA9IGZyZWFkKCRoYW5kbGUsIGZpbGVzaXplKCRmaWxlbmFtZSkpOwpmY2xvc2UoJGhhbmRsZSk7Cgokcm9ib3RzICA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQobnVsbCwgJ3JvYm90cycpOwokcm9ib3RzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPkxhbmcoJ3JvYm90c19vbGRfZmlsZScpLic6PC9wPic7CiRyb2JvdHMgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicubmwyYnIoJGNvbnRlbnRzKS4nPC9wPic7Cgokcm9ib3RzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPkxhbmcoJ3JvYm90c19zdXJlX2RlbGV0ZScpLic6PC9wPic7CiRyb2JvdHMgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KG51bGwsICdkb19kZWxldGVfcm9ib3RzJywgJHRoaXMtPmxhbmcoJ2NvbmZpcm0nKSkuJyZuYnNwOyZuYnNwOyZuYnNwOycuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KG51bGwsICdkb250X2RlbGV0ZV9yb2JvdHMnLCAkdGhpcy0+bGFuZygnY2FuY2VsJykpLic8L3A+JzsKCgokcm9ib3RzIC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7Cgokcm9ib3RzIC49ICc8YnIgLz48YnIgLz4nOwplY2hvICRyb2JvdHM7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/delete.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogPCFbQ0RBVEFbICovCihmdW5jdGlvbiAoJCkgewokLmZuLmhhc0IgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFzQiA9ICQodGhpcykucGFyZW50KCkuZmluZCgiYiIpLmZpbmQoIi5wcmlvcml0eTpmaXJzdCIpLnNpemUoKTsJCQoJCXJldHVybiBoYXNCOwoJfQoJCgkkLmZuLmF1dG9kZXB0aCA9IGZ1bmN0aW9uKCkgewoJCSQodGhpcykucGFyZW50c1VudGlsKCJ0Ym9keSIpLnBhcmVudCgpLmZpbmQoInRyIikubmV4dCgpLmZpcnN0KCkuYWRkQ2xhc3MoImgiKTsKCQl2YXIgcGcgPSAkKHRoaXMpLnBhcmVudHNVbnRpbCgidHIiKS5wYXJlbnQoKS5maW5kKCJ0ZC5wZzpmaXJzdCIpLmh0bWwoKTsKCQl2YXIgYSA9IEFycmF5Lm1hcChwZywgZnVuY3Rpb24oeCkgeyByZXR1cm4gU3RyaW5nLmNoYXJDb2RlQXQoeCkgfSk7CgkJdmFyIGRlcHRoID0gJC5ncmVwKCBhLCBmdW5jdGlvbihuLGkpeyByZXR1cm4gbiA9PSAxODc7fSk7CgkJCgkJc3dpdGNoKGRlcHRoLmxlbmd0aCkgewoJCQljYXNlIDA6CQkJCQoJCQkgIHZhciBhdXRvZGVwdGggPSAoJCh0aGlzKS5wYXJlbnRzVW50aWwoInRyIikucGFyZW50KCkuaGFzQ2xhc3MoImgiKSkgPyAxMDAgOiA4MDsKCQkJICBicmVhazsKCQkJY2FzZSAxOgoJCQkgIHZhciBhdXRvZGVwdGggPSA0MDsKCQkJICBicmVhazsKCQkJZGVmYXVsdDoKCQkJICB2YXIgYXV0b2RlcHRoID0gMjA7CgkJfQoJCXJldHVybiBhdXRvZGVwdGg7Cgl9Cn0pKGpRdWVyeSk7CgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoJdmFyIHNwaW5uZXIgPSAiPGltZyBzcmM9XCInLiRyb290X3VybC4nL21vZHVsZXMvU0VPVG9vbHMyL2ltZy9hamF4LWxvYWRlci5naWZcIiBhbHQ9XCJBamF4IGxvYWRpbmcuLi5cIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBjbGFzcz1cInNwaW5uZXJcIiAvPiI7CgkKCSQoIi5zZW8yYWpheCBhIikuY2xpY2soZnVuY3Rpb24oZSl7CgkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCXZhciBpbWcgPSAkKHRoaXMpLmZpbmQoImltZyIpOwoJCXZhciBpbWdzcmMgPSBpbWcuYXR0cigic3JjIik7CgkJdmFyIGltZ3NyYyA9IChpbWdzcmMuaW5kZXhPZigidHJ1ZSIpICE9PSAtMSkgPyBpbWdzcmMucmVwbGFjZSgidHJ1ZSIsImZhbHNlIikgOiBpbWdzcmMucmVwbGFjZSgiZmFsc2UiLCJ0cnVlIik7CgkJJChpbWcpLmF0dHIoInNyYyIsaW1nc3JjKTsJCQoJCXZhciB4ID0gJCh0aGlzKS5hdHRyKCJocmVmIik7CgkJJCh0aGlzKS5hcHBlbmQoc3Bpbm5lcik7CgkJJC5nZXQoeCwgZnVuY3Rpb24oZGF0YSl7CgkJCSQoIi5zcGlubmVyOmZpcnN0IikuZGV0YWNoKCk7CgkJfSk7Cgl9KTsKCSQoIi51cGRvd24iKS5jbGljayhmdW5jdGlvbihlKXsKCQllLnByZXZlbnREZWZhdWx0KCk7CgkJJCh0aGlzKS5hcHBlbmQoc3Bpbm5lcik7CgkJdmFyIHByaW9yaXR5ID0gKCQodGhpcykuaGFzQigpID4gMCkgPyAkKHRoaXMpLnBhcmVudCgpLmZpbmQoImIiKS5maW5kKCIucHJpb3JpdHk6Zmlyc3QiKSA6ICQodGhpcykucGFyZW50KCkuZmluZCgiLnByaW9yaXR5OmZpcnN0Iik7CQkKCQl2YXIgYW10ID0gKCQodGhpcykuaGFzQ2xhc3MoInVwIikpID8gMTAgOiAtMTA7CgkJdmFyIG5ld3ZhbCA9IE51bWJlcihwcmlvcml0eS50ZXh0KCkpK2FtdDsKCQl2YXIgeCA9ICQodGhpcykuYXR0cigiaHJlZiIpOwoJCSQuZ2V0KHgsIGZ1bmN0aW9uKGRhdGEpewoJCQkkKHByaW9yaXR5KS50ZXh0KG5ld3ZhbCk7CgkJCSQoIi5zcGlubmVyOmZpcnN0IikuZGV0YWNoKCk7CgkJfSk7Cgl9KTsKCQoJCgkkKCIucmVzZXQxMDAgYSIpLmNsaWNrKGZ1bmN0aW9uKGUpewoJCWUucHJldmVudERlZmF1bHQoKTsKCQl2YXIgdGQgPSAkKHRoaXMpLnBhcmVudHNVbnRpbCgidGQiKS5wYXJlbnQoKTsKCQkkKHRkKS5hcHBlbmQoc3Bpbm5lcik7CgkJdmFyIGIgPSAkKHRoaXMpLnBhcmVudCgpOwoJCQoJCXZhciBkZWZhdWx0UHJpb3JpdHkgPSAiKGF1dG8pIDxzcGFuIGNsYXNzPVwicHJpb3JpdHlcIj4iICsgJCh0aGlzKS5hdXRvZGVwdGgoKSArICI8L3NwYW4+JSAiOwkJCgkJdmFyIHggPSAkKHRoaXMpLmF0dHIoImhyZWYiKTsKCQkkLmdldCh4LCBmdW5jdGlvbihkYXRhKXsJCQoJCQkkKHRkKS5hcHBlbmQoZGVmYXVsdFByaW9yaXR5KTsJCgkJCSQoYikucmVtb3ZlKCk7CgkJCSQoIi5zcGlubmVyOmZpcnN0IikuZGV0YWNoKCk7CgkJfSk7CgkJCgl9KTsKfSk7Ci8qIF1dPiAqLwo=]]></data>
	</file>
	<file>
	  <filename>/event.Core.ContentDeletePost.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEV2ZW50OiBDb250ZW50RGVsZXRlUG9zdAojIEZ1bmN0aW9uOiBDb2RlIHRvIHB1c2ggc2l0ZW1hcCB0byBHb29nbGUgV2VibWFzdGVycyBpZiByZXF1aXJlZAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKc2VvMl91dGlsczo6c2VvdG9vbHMyX2RiX3VwZGF0ZSgpOwoKICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX3NpdGVtYXAnKSA9PSAxKSB7CiAgICAgIHNlbzJfdXRpbHM6OmNyZWF0ZVNpdGVtYXAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3B1c2hfc2l0ZW1hcCcpID09IDEpOwogICAgfQo=]]></data>
	</file>
	<file>
	  <filename>/event.Core.ContentEditPost.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEV2ZW50OiBDb3JlQ29udGVudEVkaXRQb3N0CiMgRnVuY3Rpb246IENvZGUgdG8gY3JlYXRlIGFuZCBwdXNoIHNpdGVtYXAgdG8gR29vZ2xlIFdlYm1hc3RlcnMgaWYgcmVxdWlyZWQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU0VPVG9vbHMyJyk7CgoKaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJ0VkaXQgU0VPIFNldHRpbmdzJykgPT0xICkKcmV0dXJuOyAgLy8gZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGVkaXQgc2VvIHNldHRpbmdzCgoKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiRjb250ZW50ID0gJHBhcmFtc1snY29udGVudCddOwokY29udGVudG9wcyA9IENvbnRlbnRPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKTsKJGNvbnRlbnRfaWQgPSAkY29udGVudC0+SWQoKTsKJGNvbnRlbnRvYmogPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGNvbnRlbnRfaWQpOwoKaWYgKCRjb250ZW50b2JqKQp7CiAgJGhpZCA9ICRjb250ZW50b2JqLT5IaWVyYXJjaHkoKTsKICBpZiAoISRoaWQpIHsKICAgIC8vIE5ldyBwYWdlcyBhcmUgb25seSBwYXJ0aWFsbHkgc2F2ZWQuIFdlIG5lZWQgdG8gc2V0L2dldCB0aGUgaGllcmFyY2h5IHN0dWZmCiAgICAkY29udGVudG9wcy0+U2V0SGllcmFyY2h5UG9zaXRpb24oJGNvbnRlbnRvYmotPklkKCkpOwogICAgJGhpZCA9ICRjb250ZW50b2JqLT5IaWVyYXJjaHkoKTsKICB9CiAgJGNvbnRlbnRvcHMtPkNyZWF0ZUZyaWVuZGx5SGllcmFyY2h5UG9zaXRpb24oJGhpZCk7CgogIC8vIFNlZSBpZiBhbiBpbmFjdGl2ZSBwYWdlIGhhcyBiZWVuIG1hZGUgYWN0aXZlIGR1cmluZyB0aGUgZWRpdAogIGlmIChpc3NldCgkX1NFU1NJT05bJ3NlbzJfb2xkX2FjdGl2ZSddKSAmJiAkY29udGVudG9iai0+QWN0aXZlKCkgPT0gMSAmJiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnKSA9PSAxKSB7CiAgICAvLyBHcmFiIHRoZSBwcmUgc2F2ZSB2YWx1ZSBvZiB0aGUgQWN0aXZlIHN0YXR1cyBmcm9tIHRoZSBzZXNzaW9uIHRoZW4gZHJvcCB0aGUgc2Vzc2lvbiB2YXIKICAgICRvbGRfYWN0aXZlID0gJF9TRVNTSU9OWydzZW8yX29sZF9hY3RpdmUnXTsKICAgIHVuc2V0ICgkX1NFU1NJT05bJ3NlbzJfb2xkX2FjdGl2ZSddKTsKCiAgICAvLyBGb3JjZSB0aGUgcGFnZSB0byBhcHBlYXIgaW4gdGhlIHNpdGVtYXAuIE5vdCBpZGVhbCBidXQgYmV0dGVyIHRoYW4gbm90aGluZwogICAgJHF1ZXJ5ID0gIlNFTEVDVCBjb250ZW50X2lkIEZST00gIiAuY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9zZW90b29sczIgd2hlcmUgY29udGVudF9pZCA9Pyc7CiAgICAkc2VvMSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY29udGVudF9pZCkpOwogICAgCiAgICBpZiAoISRzZW8xKXsKICAgICAgJHEyID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMyIFNFVCBjb250ZW50X2lkID0gPywgaW5kZXhhYmxlID0gPywgZm9sbG93ID0gPyI7CiAgICAgICRhcnIgPSBhcnJheSgkY29udGVudF9pZCwxLDApOwogICAgfSBlbHNlIHsKICAgICRxMiA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZW90b29sczIgU0VUIGluZGV4YWJsZSA9ID8sIGZvbGxvdyA9ID8gV0hFUkUgY29udGVudF9pZCA9ID8iOwogICAgICAkYXJyID0gYXJyYXkoMSwwLCRjb250ZW50X2lkKTsKICAgIH0KCiAgICBpZiAoISRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHEyLCRhcnIpKXsKICAgICAgZWNobyAncHJvYmxlbSBoZXJlPGJyIC8+JzsKICAgICAgZWNobyAkZGItPnNxbDsKICAgICAgZGllOwogICAgfQoKICB9CiAgJHVwZGF0ZWQgPSBzZW8yX3V0aWxzOjpzZW90b29sczJfZGJfdXBkYXRlKCk7CgogIGlmICgkdXBkYXRlZCA9PSB0cnVlICkgewogICAgc2VvMl91dGlsczo6Y3JlYXRlU2l0ZW1hcCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJykgPT0gMSk7CiAgfQoKfQ==]]></data>
	</file>
	<file>
	  <filename>/event.Core.ContentEditPre.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEV2ZW50OiBDb3JlQ29udGVudEVkaXRQcmUKIyBGdW5jdGlvbjogR2V0cyB0aGUgcGFnZSBkZXRhaWxzIGJlZm9yZSBpdCdzIHVwZGF0ZWQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU0VPVG9vbHMyJyk7CmlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCdFZGl0IFNFTyBTZXR0aW5ncycpKQogIHJldHVybjsgIC8vIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBlZGl0IHNlbyBzZXR0aW5ncwoKaWYgKCEkbW9kLT5HZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnKSA9PSAxKQogIHJldHVybjsgLy8gZG9lcyBub3QgbmVlZCBzaXRlbWFwIHVwZGF0ZWQKICAgIAogICAKJGNvbnRlbnRvYmogPSAkcGFyYW1zWydjb250ZW50J107CgppZiAoJGNvbnRlbnRvYmotPklkKCkgPT0gLTEpeyAvLyBJdCdzIGEgbmV3IHBhZ2UgYW5kIHdlIG9ubHkgbmVlZCBvbGQgcGFnZXMKICByZXR1cm47Cn0KaWYgKCRjb250ZW50b2JqLT5BY3RpdmUoKSAhPSAxKSB7CiAgJF9TRVNTSU9OWydzZW8yX29sZF9hY3RpdmUnXSA9IDE7Cn0K]]></data>
	</file>
	<file>
	  <filename>/event.Core.ContentPostRender.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEV2ZW50OiBDb3JlQ29udGVudFBvc3RSZW5kZXIKIyBGdW5jdGlvbjogRW5zdXJlcyB0aGUgbWV0YSBkZXNjcmlwdGlvbiBpcyBjb3JyZWN0IGFuZCB0aGF0IHRoZXJlIGlzIGEgYmFzZSB0YWcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU0VPVG9vbHMyJyk7Cgokc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiR0cGxfdmFycyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCk7CiRodG1sX3ZlcnNpb24gPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdtZXRhX2RvY3R5cGUnKTsKJGNsb3NlX3RhZyA9ICRodG1sX3ZlcnNpb24gPCAzID8gIiAvPlxuIiA6ICI+XG4iOwokY29udGVudCA9ICRwYXJhbXNbJ2NvbnRlbnQnXTsKJGRldGFpbF9rZXl3b3JkcyA9ICcnOwoKLy8gQ2hhbmdlIHRoZSBwYWdlIG1ldGEgZGVzY3JpcHRpb24gdG8gYSBtb2R1bGUgZGV0YWlsIHBhZ2UgbWV0YSBkZXNjcmlwdGlvbiBlZyBOZXdzLCBDR0Jsb2csIFByb2R1Y3RzLCBldGMKaWYgKCRzZW8yYmxvY2tuYW1lID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snKSkgewogICRzZW8yYmxvY2tjb250ZW50ID0gJHRwbF92YXJzWydjb250ZW50X29iaiddLT5HZXRQcm9wZXJ0eVZhbHVlICgkc2VvMmJsb2NrbmFtZSk7CiAgaWYgKCR0cGxfdmFyc1snbWV0YWRlc2NyaXB0aW9uJ10gIT0gJHNlbzJibG9ja2NvbnRlbnQpIHsKICAgICRuZXd0YWcgPSAiPG1ldGEgbmFtZT0nZGVzY3JpcHRpb24nIGNvbnRlbnQ9JyIuJHRwbF92YXJzWydtZXRhZGVzY3JpcHRpb24nXS4iJyIgLiRjbG9zZV90YWc7CiAgICAkc3RhcnQgPSBzdHJwb3MoJGNvbnRlbnQsIjxtZXRhIG5hbWU9J2Rlc2NyaXB0aW9uJyIpOwogICAgJGVuZG9mdGFnID0gc3RycG9zKCRjb250ZW50LCI+Iiwkc3RhcnQpOwogICAgJGxlbmd0aCA9ICRlbmRvZnRhZyAtICRzdGFydCArIDE7CiAgICAkY29udGVudCA9IHN1YnN0cl9yZXBsYWNlKCRjb250ZW50LCRuZXd0YWcsJHN0YXJ0LCRsZW5ndGgpOwogIH0KfQoKCi8vIENoYW5nZSB0aGUgcGFnZSBtZXRhIGtleXdvcmRzIHRvIGEgbW9kdWxlIGRldGFpbCBwYWdlIG1ldGEga2V5d29yZHMgZWcgTmV3cywgQ0dCbG9nLCBQcm9kdWN0cywgZXRjCi8vIEZpcnN0IG9mZiwgbGltaXQgdGhlIGFyZWEgd2UncmUgd29ya2luZyBpbiB0byA8aGVhZD4gdGFnIGp1c3QgaW4gY2FzZSB0aGUgY29udGVudCBjb250YWlucyBzdHJpbmdzIHdlIGRvbid0IHdhbnQgcmVwbGFjZWQKCiRoZWFkc3RhcnQgPSBzdHJwb3MoJGNvbnRlbnQsJzxoZWFkPicpOwokaGVhZGVuZCAgID0gc3RycG9zKCRjb250ZW50LCc8L2hlYWQ+Jyk7CiRoZWFkbGVuZ3RoID0gJGhlYWRlbmQgLSAkaGVhZHN0YXJ0OwokaGVhZGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsJGhlYWRzdGFydCwkaGVhZGxlbmd0aCk7CgovLyBDaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBkZXRhaWwgcGFnZSBrZXl3b3JkcwogIGlmICghZW1wdHkoJHRwbF92YXJzWyRtb2QtPkdldFByZWZlcmVuY2UoJ2RldGFpbF9rZXl3b3Jkc192YXInKV0pKXsKICAgICRkZXRhaWxfa2V5d29yZHMgPSAkdHBsX3ZhcnNbJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGV0YWlsX2tleXdvcmRzX3ZhcicpXTsKICAgIC8veyRzZW9fa2V5d29yZHN9CiAgICAkaGVhZGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgkdHBsX3ZhcnNbJ3BhZ2Vfa2V5d29yZHMnXSwkZGV0YWlsX2tleXdvcmRzLCAkaGVhZGNvbnRlbnQpOwogICAgCiAgICAvL3skdGl0bGVfa2V5d29yZHN9CiAgICAkcGFnZV90aXRsZV9rdyA9IHN0cl9yZXBsYWNlKCcsJywgJyAnLCAkdHBsX3ZhcnNbJ3BhZ2Vfa2V5d29yZHMnXSk7CiAgICAkZGV0YWlsX3RpdGxlX2t3ID0gc3RyX3JlcGxhY2UoJywnLCAnICcsICRkZXRhaWxfa2V5d29yZHMpOwogICAgJGhlYWRjb250ZW50ID0gc3RyX3JlcGxhY2UoJHBhZ2VfdGl0bGVfa3csJGRldGFpbF90aXRsZV9rdywgJGhlYWRjb250ZW50KTsKICAgIAogICAgLy8gTm93IHJlcGxhY2UgdGhlIG9sZCA8aGVhZD4gd2l0aCB0aGUgbmV3IG9uZQogICAgJGNvbnRlbnQgPSBzdWJzdHJfcmVwbGFjZSgkY29udGVudCwkaGVhZGNvbnRlbnQsJGhlYWRzdGFydCwkaGVhZGxlbmd0aCk7CiAgfQoKCgovLyBDaGVjayB0byBzZWUgaWYgdGhlcmUgaXMgYSA8YmFzZSBocmVmLi4uPiB0YWcKJGZpcnN0ID0gc3RycG9zKCRjb250ZW50LCI8YmFzZSBocmVmIik7CmlmICgkZmlyc3QgPT09IGZhbHNlICkgewogICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAkcm9vdF91cmwgPSBlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgPyAkY29uZmlnWydyb290X3VybCddIDogJGNvbmZpZ1snc3NsX3VybCddOwogICRiYXNldGFnID0gJzxiYXNlIGhyZWY9IicuJHJvb3RfdXJsIC4gJyIgJyAuICRjbG9zZV90YWc7CiAgJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgnPHRpdGxlPicsJGJhc2V0YWcgLiAnPHRpdGxlPicsJGNvbnRlbnQpOwoKfSBlbHNlIHsKICAvLyBNYWtlIHN1cmUgdGhlcmUgaXMgb25seSBvbmUgKG5vdCBmcm9tIGJvdGgge21ldGFkYXRhfSBhbmQge1NFT1Rvb2xzMn0pCiAgJGxhc3QgPSBzdHJycG9zKCRjb250ZW50LCI8YmFzZSBocmVmIik7CgogIGlmICgkZmlyc3QgIT09ICRsYXN0KSB7CiAgICAvLyByZW1vdmUgdGhlIGR1cGxpY2F0ZSB0YWcKICAgICRlbmRsYXN0ID0gc3RycG9zKCRjb250ZW50LCc+JywkbGFzdCk7CiAgICAkbGVuZ3RoID0gJGVuZGxhc3QgLSAkbGFzdCArIDE7CiAgICAkY29udGVudCA9IHN1YnN0cl9yZXBsYWNlKCRjb250ZW50LCcnLCRsYXN0LCRsZW5ndGgpOwoKICB9Cn0KJHBhcmFtc1snY29udGVudCddID0gJGNvbnRlbnQ7Cj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_alerts_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIFRhYjogQWxlcnRzCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGFsZXJ0cyAgPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRTdGFydChudWxsLCAnYWxlcnRzX3VyZ2VudCcsICR0aGlzLT5MYW5nKCd0aXRsZV9hbGVydHNfdXJnZW50JykpOwoKICAkdXJnZW50X2FsZXJ0cyA9IHNlbzJfdXRpbHM6OmdldFVyZ2VudEFsZXJ0cygpOwoKICBpZiAoY291bnQoJHVyZ2VudF9hbGVydHMpID09IDApIHsKICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSInLiRyb290X3VybC4nLycuJGFkbWluX2Rpci4nL3RoZW1lcy8nLiR0aGVtZU5hbWUuJy9pbWFnZXMvaWNvbnMvc3lzdGVtL3RydWUuZ2lmIiBhbGlnbj0iYWJzbWlkZGxlIiAvPiAnLiR0aGlzLT5sYW5nKCdub3RoaW5nX3RvX2JlX2ZpeGVkJykuJzxiciAvPjxiciAvPic7CiAgfWVsc2V7CiAgICAkZ3JvdXBzID0gQXJyYXkoKTsKICAgIGZvcmVhY2ggKCR1cmdlbnRfYWxlcnRzIGFzICRhbGVydCkgewogICAgICAkZ3JvdXBzWyRhbGVydFsnZ3JvdXAnXV1bXSA9ICRhbGVydDsKICAgIH0KICAgIGZvcmVhY2goJGdyb3VwcyBhcyAkZ3JvdXAgPT4gJGdhbGVydHMpIHsKICAgICAgJGNvdW50ID0gY291bnQoJGdhbGVydHMpOwogICAgICBpZiAoY291bnQoJGdhbGVydHMpID4gMjApIHsKICAgICAgICAkcGFydHMgPSBhcnJheV9jaHVuaygkZ2FsZXJ0cywgMjApOwogICAgICAgICRnYWxlcnRzID0gJHBhcnRzWzBdOwogICAgICAgICRjb3VudCA9ICI+IDIwIjsKICAgICAgfQogICAgICBpZiAoY291bnQoJGdhbGVydHMpID09IDEpIHsKICAgICAgICAkYWxlcnRzIC49ICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy8nLiRhZG1pbl9kaXIuJy90aGVtZXMvJy4kdGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL05vdGlmaWNhdGlvbnMvMS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+IDxiPicuJGdhbGVydHNbMF1bJ21lc3NhZ2UnXS4nPC9iPiBbJy5pbXBsb2RlKCcgfCAnLCRnYWxlcnRzWzBdWydsaW5rcyddKS4nXTxiciAvPjxiciAvPic7CiAgICAgIH1lbHNlewogICAgICAgICRncm91cF90aXRsZSA9ICR0aGlzLT5sYW5nKCdncm91cHRpdGxlXycuJGdyb3VwLCBBcnJheSgkY291bnQpKTsKICAgICAgICAkYWxlcnRzIC49ICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy8nLiRhZG1pbl9kaXIuJy90aGVtZXMvJy4kdGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL05vdGlmaWNhdGlvbnMvMS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+IDxiPicuJGdyb3VwX3RpdGxlLic8L2I+IFs8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQobnVsbCkiIG9uQ2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwndXJnZW50X2dyb3VwXycuJGdyb3VwLidcJykuc3R5bGUuZGlzcGxheSA9IFwnYmxvY2tcJyI+Jy4kdGhpcy0+bGFuZygndmlld19hbGwnKS4nPC9hPl08YnIgLz48YnIgLz4nOwogICAgICAgICRhbGVydHMgLj0gJzxkaXYgaWQ9InVyZ2VudF9ncm91cF8nLiRncm91cC4nIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAzMHB4OyBkaXNwbGF5OiBub25lOyI+JzsKICAgICAgICBmb3JlYWNoICgkZ2FsZXJ0cyBhcyAkYWxlcnQpIHsKICAgICAgICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSInLiRyb290X3VybC4nLycuJGFkbWluX2Rpci4nL3RoZW1lcy8nLiR0aGVtZU5hbWUuJy9pbWFnZXMvaWNvbnMvTm90aWZpY2F0aW9ucy8xLmdpZiIgYWxpZ249ImFic21pZGRsZSIgLz4gPGI+Jy4kYWxlcnRbJ21lc3NhZ2UnXS4nPC9iPiBbJy5pbXBsb2RlKCcgfCAnLCRhbGVydFsnbGlua3MnXSkuJ108YnIgLz48YnIgLz4nOwogICAgICAgIH0KICAgICAgICAkYWxlcnRzIC49ICc8L2Rpdj4nOwogICAgICB9CiAgICB9CiAgfQoKICAkYWxlcnRzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldEVuZCgpOwoKICAkYWxlcnRzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldFN0YXJ0KG51bGwsICdhbGVydHNfaW1wb3J0YW50JywgJHRoaXMtPkxhbmcoJ3RpdGxlX2FsZXJ0c19pbXBvcnRhbnQnKSk7CgoKICAkaW1wb3J0YW50X2FsZXJ0cyA9IHNlbzJfdXRpbHM6OmdldEltcG9ydGFudEFsZXJ0cygpOwogIGlmIChjb3VudCgkaW1wb3J0YW50X2FsZXJ0cykgPT0gMCkgewogICAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvJy4kYWRtaW5fZGlyLicvdGhlbWVzLycuJHRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9zeXN0ZW0vdHJ1ZS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+ICcuJHRoaXMtPmxhbmcoJ25vdGhpbmdfdG9fYmVfZml4ZWQnKS4nPGJyIC8+PGJyIC8+JzsKICB9ZWxzZXsKICAgICRncm91cHMgPSBBcnJheSgpOwogICAgZm9yZWFjaCAoJGltcG9ydGFudF9hbGVydHMgYXMgJGFsZXJ0KSB7CiAgICAgICRncm91cHNbJGFsZXJ0Wydncm91cCddXVtdID0gJGFsZXJ0OwogICAgfQogICAgZm9yZWFjaCgkZ3JvdXBzIGFzICRncm91cCA9PiAkZ2FsZXJ0cykgewogICAgICAkY291bnQgPSBjb3VudCgkZ2FsZXJ0cyk7CiAgICAgIGlmIChjb3VudCgkZ2FsZXJ0cykgPiAyMCkgewogICAgICAgICRwYXJ0cyA9IGFycmF5X2NodW5rKCRnYWxlcnRzLCAyMCk7CiAgICAgICAgJGdhbGVydHMgPSAkcGFydHNbMF07CiAgICAgICAgJGNvdW50ID0gIj4gMjAiOwogICAgICB9CiAgICAgIGlmIChjb3VudCgkZ2FsZXJ0cykgPT0gMSkgewogICAgICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSInLiRyb290X3VybC4nLycuJGFkbWluX2Rpci4nL3RoZW1lcy8nLiR0aGVtZU5hbWUuJy9pbWFnZXMvaWNvbnMvTm90aWZpY2F0aW9ucy8yLmdpZiIgYWxpZ249ImFic21pZGRsZSIgLz4gPGI+Jy4kZ2FsZXJ0c1swXVsnbWVzc2FnZSddLic8L2I+IFsnLmltcGxvZGUoJyB8ICcsJGdhbGVydHNbMF1bJ2xpbmtzJ10pLiddPGJyIC8+PGJyIC8+JzsKICAgICAgfWVsc2V7CiAgICAgICAgJGdyb3VwX3RpdGxlID0gJHRoaXMtPmxhbmcoJ2dyb3VwdGl0bGVfJy4kZ3JvdXAsIEFycmF5KCRjb3VudCkpOwogICAgICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSInLiRyb290X3VybC4nLycuJGFkbWluX2Rpci4nL3RoZW1lcy8nLiR0aGVtZU5hbWUuJy9pbWFnZXMvaWNvbnMvTm90aWZpY2F0aW9ucy8yLmdpZiIgYWxpZ249ImFic21pZGRsZSIgLz4gPGI+Jy4kZ3JvdXBfdGl0bGUuJzwvYj4gWzxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZChudWxsKSIgb25DbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdpbXBvcnRhbnRfZ3JvdXBfJy4kZ3JvdXAuJ1wnKS5zdHlsZS5kaXNwbGF5ID0gXCdibG9ja1wnIj4nLiR0aGlzLT5sYW5nKCd2aWV3X2FsbCcpLic8L2E+XTxiciAvPjxiciAvPic7CiAgICAgICAgJGFsZXJ0cyAuPSAnPGRpdiBpZD0iaW1wb3J0YW50X2dyb3VwXycuJGdyb3VwLiciIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDMwcHg7IGRpc3BsYXk6IG5vbmU7Ij4nOwogICAgICAgIGZvcmVhY2ggKCRnYWxlcnRzIGFzICRhbGVydCkgewogICAgICAgICAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvJy4kYWRtaW5fZGlyLicvdGhlbWVzLycuJHRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9Ob3RpZmljYXRpb25zLzIuZ2lmIiBhbGlnbj0iYWJzbWlkZGxlIiAvPiA8Yj4nLiRhbGVydFsnbWVzc2FnZSddLic8L2I+IFsnLmltcGxvZGUoJyB8ICcsJGFsZXJ0WydsaW5rcyddKS4nXTxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgICAgICRhbGVydHMgLj0gJzwvZGl2Pic7CiAgICAgIH0KICAgIH0KICB9CgogICRhbGVydHMgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0RW5kKCk7CgogICRhbGVydHMgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0U3RhcnQobnVsbCwgJ2FsZXJ0c19ub3RpY2VzJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2FsZXJ0c19ub3RpY2VzJykpOwoKICAkbm90aWNlX2FsZXJ0cyA9IHNlbzJfdXRpbHM6OmdldE5vdGljZUFsZXJ0cygpOwogIGlmIChjb3VudCgkbm90aWNlX2FsZXJ0cykgPT0gMCkgewogICAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvJy4kYWRtaW5fZGlyLicvdGhlbWVzLycuJHRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9zeXN0ZW0vdHJ1ZS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+ICcuJHRoaXMtPmxhbmcoJ25vdGhpbmdfdG9fYmVfZml4ZWQnKS4nPGJyIC8+PGJyIC8+JzsKICB9ZWxzZXsKICAgIGZvcmVhY2ggKCRub3RpY2VfYWxlcnRzIGFzICRhbGVydCkgewogICAgICAkYWxlcnRzIC49ICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy8nLiRhZG1pbl9kaXIuJy90aGVtZXMvJy4kdGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL05vdGlmaWNhdGlvbnMvMy5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+IDxiPicuJGFsZXJ0WydtZXNzYWdlJ10uJzwvYj4gWycuaW1wbG9kZSgnIHwgJywkYWxlcnRbJ2xpbmtzJ10pLiddPGJyIC8+PGJyIC8+JzsKICAgIH0KICB9CgogICRhbGVydHMgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0RW5kKCk7CiAgZWNobyAkYWxlcnRzOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_keywordsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIFRhYjogS2V5d29yZCBTZXR0aW5ncwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiAgJGtzZXR0aW5ncyAgPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KG51bGwsICdjaGFuZ2VzZXR0aW5ncycpOwoKICAka3NldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldFN0YXJ0KG51bGwsICdrZXl3b3JkX3dlaWdodF9kZXNjcmlwdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV9rZXl3b3JkX3dlaWdodCcpKTsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2tleXdvcmRfbWlubGVuZ3RoX3RpdGxlJykuJzo8L3A+JzsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ2tleXdvcmRfbWlubGVuZ3RoJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2tleXdvcmRfbWlubGVuZ3RoJywnNicpLCAyKS4nICcuJHRoaXMtPmxhbmcoJ2tleXdvcmRfbWlubGVuZ3RoX2hlbHAnKS4nPC9wPic7CiAgJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdrZXl3b3JkX3RpdGxlX3dlaWdodF90aXRsZScpLic6PC9wPic7CiAgJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KG51bGwsICdrZXl3b3JkX3RpdGxlX3dlaWdodCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdrZXl3b3JkX3RpdGxlX3dlaWdodCcsJzYnKSwgMikuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX3RpdGxlX3dlaWdodF9oZWxwJykuJzwvcD4nOwogICRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfdGl0bGUnKS4nOjwvcD4nOwogICRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnLCc0JyksIDIpLicgJy4kdGhpcy0+bGFuZygna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfaGVscCcpLic8L3A+JzsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2tleXdvcmRfaGVhZGxpbmVfd2VpZ2h0X3RpdGxlJykuJzo8L3A+JzsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ2tleXdvcmRfaGVhZGxpbmVfd2VpZ2h0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2tleXdvcmRfaGVhZGxpbmVfd2VpZ2h0JywnMicpLCAyKS4nICcuJHRoaXMtPmxhbmcoJ2tleXdvcmRfaGVhZGxpbmVfd2VpZ2h0X2hlbHAnKS4nPC9wPic7CiAgJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdrZXl3b3JkX2NvbnRlbnRfd2VpZ2h0X3RpdGxlJykuJzo8L3A+JzsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ2tleXdvcmRfY29udGVudF93ZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9jb250ZW50X3dlaWdodCcsJzEnKSwgMikuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX2NvbnRlbnRfd2VpZ2h0X2hlbHAnKS4nPC9wPic7CiAgJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdrZXl3b3JkX21pbmltdW1fd2VpZ2h0X3RpdGxlJykuJzo8L3A+JzsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ2tleXdvcmRfbWluaW11bV93ZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5pbXVtX3dlaWdodCcsJzcnKSwgMikuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX21pbmltdW1fd2VpZ2h0X2hlbHAnKS4nPC9wPic7CiAgJGtzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRFbmQoKTsKCiAgJGtzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRTdGFydChudWxsLCAna2V5d29yZF9leGNsdWRlX2Rlc2NyaXB0aW9uJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2tleXdvcmRfZXhjbHVkZScpKTsKICAka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2tleXdvcmRfZXhjbHVkZV90aXRsZScpLic6PC9wPic7CiAgJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsIG51bGwsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2V4Y2x1ZGUnLCcnKSwgJ2tleXdvcmRfZXhjbHVkZScpLicgJy4kdGhpcy0+bGFuZygna2V5d29yZF9leGNsdWRlX2hlbHAnKS4nPC9wPic7CiAgJGtzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRFbmQoKTsKCiAgJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQobnVsbCwgJ3NhdmVfa2V5d29yZF9zZXR0aW5ncycsICR0aGlzLT5sYW5nKCdzYXZlJykpLic8L3A+JzsKICAka3NldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgogICRrc2V0dGluZ3MgLj0gJzxiciAvPjxiciAvPicuJHRoaXMtPmxhbmcoJ2hlbHBfa2V5d29yZF9nZW5lcmF0b3InKTsKCWVjaG8gJGtzZXR0aW5nczsKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_pagesettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIFRhYjogUGFnZSBTZXR0aW5ncwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKJHJvb3RfdXJsID0gZW1wdHkoJF9TRVJWRVJbJ0hUVFBTJ10pID8gJGNvbmZpZ1sncm9vdF91cmwnXSA6ICRjb25maWdbJ3NzbF91cmwnXTsKICAkcGFnZXNldHRpbmdzICA9ICc8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+JzsKICAkcGFnZXNldHRpbmdzIC49ICc8dHI+JzsKICAkcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygncGFnZV9pZCcpLic8L3RoPic7CiAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ3BhZ2VfbmFtZScpLic8L3RoPic7CiAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ3ByaW9yaXR5JykuJzwvdGg+JzsKICAkcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygnb2dfdHlwZScpLic8L3RoPic7CiAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ2tleXdvcmRzJykuJzwvdGg+JzsKICAkcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygnZGVzY3JpcHRpb24nKS4nPC90aD4nOwogICRwYWdlc2V0dGluZ3MgLj0gJzx0aD4nLiR0aGlzLT5sYW5nKCdpbmRleCcpLic8L3RoPic7CiAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ2ZvbGxvdycpLic8L3RoPic7CiAgJHBhZ2VzZXR0aW5ncyAuPSAnPC90cj4nOwoKCgkkYWxsX2NvbnRlbnQgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXRBbGxDb250ZW50KCk7Cglmb3JlYWNoICgkYWxsX2NvbnRlbnQgYXMgJGNvbnRlbnRfb2JqKSB7CgkJaWYgKCRjb250ZW50X29iai0+QWN0aXZlKCkgIT09IHRydWUpCgkJCWNvbnRpbnVlOwoJCSRwcmVmaXggPSAiIjsKCQkkYXV0b19wcmlvcml0eSA9IDgwOwoJCWZvciAoJGkgPSAwOyAkaSA8IHN1YnN0cl9jb3VudCgkY29udGVudF9vYmotPkhpZXJhcmNoeSgpLCcuJyk7ICRpKyspIHsKCQkgICRwcmVmaXggLj0gJyZyYXF1bzsgJzsKCQkgICRhdXRvX3ByaW9yaXR5ICA9ICRhdXRvX3ByaW9yaXR5IC8gMjsKCQl9CgkJaWYgKCRjb250ZW50X29iai0+RGVmYXVsdENvbnRlbnQoKSA9PSAxKSB7CgkJICAkYXV0b19wcmlvcml0eSA9IDEwMDsKCQl9CgoJCSRkZXNjcmlwdGlvbiA9ICRjb250ZW50X29iai0+R2V0UHJvcGVydHlWYWx1ZShzdHJfcmVwbGFjZSgnICcsJ18nLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpKSk7CgkJCgkJCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgV0hFUkUgY29udGVudF9pZCA9ID8nOwogICAgICAgIGlmICghJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNvbnRlbnRfb2JqLT5JZCgpKSkpIHsKICAgICAgICAgIGVjaG8gJ3RoaXMgaXMgdGhlIGZhaWw8YnIgLz4nOwogICAgICAgICAgZWNobyAkZGItPnNxbDsKICAgICAgICAgIGRpZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGt3ID0gYXJyYXkoKTsKICAgICAgICAkaW5mbyA9IGFycmF5KCk7CiAgICAgICAgCiAgICAgICAgaWYgKGlzX29iamVjdCgkcmVzdWx0KSAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkgewogICAgICAgICAgJGluZm8gPSAkcmVzdWx0LT5mZXRjaFJvdygpOwogICAgICAgICAgaWYgKCFpc3NldCgkaW5mb1sna2V5d29yZHMnXSkgfHwgJGluZm9bJ2tleXdvcmRzJ10gPT0gJycpIHsKICAgICAgICAgICAgJGt3ID0gc2VvMl91dGlsczo6Z2V0S2V5d29yZFN1Z2dlc3Rpb25zKCRjb250ZW50X29iai0+SWQoKSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAka3cgPSBleHBsb2RlKCcsJywkaW5mb1sna2V5d29yZHMnXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICAgICAKCQkkZGVzY3JpcHRpb25fYXV0byA9IGZhbHNlOwoJCWlmICgoJGRlc2NyaXB0aW9uID09ICIiKSAmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnLCdmYWxzZScpID09ICd0cnVlJykpIHsKCQkgICRsYXN0X2tleXdvcmQgPSBhcnJheV9wb3AoJGt3KTsKCQkgICRrZXl3b3JkcyA9IGltcGxvZGUoJywgJywka3cpIC4gIiAiIC4gJHRoaXMtPmxhbmcoJ2FuZCcpIC4gIiAiIC4gJGxhc3Rfa2V5d29yZDsKCQkgICRkZXNjcmlwdGlvbiA9ICR0aGlzLT5sYW5nKCdhdXRvX2dlbmVyYXRlZCcpLiI6ICIuc3RyX3JlcGxhY2UoJ3trZXl3b3Jkc30nLCRrZXl3b3JkcywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0bycsJycpKTsKCQkgICRkZXNjcmlwdGlvbiA9IHN0cl9yZXBsYWNlKCd7dGl0bGV9JywkY29udGVudF9vYmpbJ2NvbnRlbnRfbmFtZSddLCRkZXNjcmlwdGlvbik7CgkJICAkZGVzY3JpcHRpb25fYXV0byA9IHRydWU7CgkJfQoJCSRkZWZhdWx0X29ndHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF90eXBlJywnJyk7CgoJCS8vIHRvIHJlZm9ybWF0IHdpdGggY29tbWFzCgkJJGF1dG9fa2V5d29yZHMgPSBzdHJfcmVwbGFjZSAoJyAnLCcsICcsaW1wbG9kZSgnICcsJGt3KSk7CgkJCgkJCgkJJHByaW9yaXR5ID0gJyhhdXRvKSA8c3BhbiBjbGFzcz0icHJpb3JpdHkiPicuJGF1dG9fcHJpb3JpdHkuJzwvc3Bhbj4lICc7CgkJJG9ndHlwZSA9ICcoZGVmYXVsdCkgJy4kZGVmYXVsdF9vZ3R5cGUuJyAnLiR0aGlzLT5DcmVhdGVUb29sdGlwTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy9tb2R1bGVzL1NFT1Rvb2xzMi9pbWcvZWRpdC5wbmciIGFsaWduPSJhYnNtaWRkbGUiIC8+JywgJHRoaXMtPmxhbmcoJ2VkaXRfdmFsdWUnKSwgQXJyYXkoIndoYXQiPT4iZWRpdF9vZ3R5cGUiLCJjb250ZW50X2lkIj0+JGNvbnRlbnRfb2JqLT5JZCgpKSk7CgoJCQoJCSRrZXl3b3JkcyA9ICcoYXV0bykgJy5jb3VudCgka3cpLicgJy4kdGhpcy0+Q3JlYXRlVG9vbHRpcExpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvbW9kdWxlcy9TRU9Ub29sczIvaW1nL2VkaXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICRhdXRvX2tleXdvcmRzLic7ICcuJHRoaXMtPmxhbmcoJ2VkaXRfdmFsdWUnKSwgQXJyYXkoIndoYXQiPT4iZWRpdF9rZXl3b3JkcyIsImNvbnRlbnRfaWQiPT4kY29udGVudF9vYmotPklkKCkpKTsKCQkKCQkkaW5kZXhhYmxlID0gJ3RydWUnOwoJCSRmb2xsb3cgPSAndHJ1ZSc7CgoJCWlmICgkaW5mbyAmJiAkaW5mb1snY29udGVudF9pZCddICE9ICIiKSB7CgkJICBpZiAoJGluZm9bJ3ByaW9yaXR5J10gIT0gMCkgewoJCQkkcHJpb3JpdHkgPSAnPGIgY2xhc3M9InJlc2V0MTAwIj48c3BhbiBjbGFzcz0icHJpb3JpdHkiPicuJGluZm9bJ3ByaW9yaXR5J10gLiAnPC9zcGFuPiUgJy4kdGhpcy0+Q3JlYXRlVG9vbHRpcExpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvbW9kdWxlcy9TRU9Ub29sczIvaW1nL3Jlc2V0LnBuZyIgYWxpZ249ImFic21pZGRsZSIgLz4nLCAkdGhpcy0+bGFuZygncmVzZXRfdG9fZGVmYXVsdCcpLCBBcnJheSgid2hhdCI9PiJyZXNldF9wcmlvcml0eSIsImNvbnRlbnRfaWQiPT4kY29udGVudF9vYmotPklkKCkpKSAuICc8L2I+JzsKCQkJJGF1dG9fcHJpb3JpdHkgPSAkaW5mb1sncHJpb3JpdHknXTsKCQkgIH0KCQkgIGlmICgkaW5mb1snb2d0eXBlJ10gIT0gIiIpIHsKCQkJJG9ndHlwZSA9ICc8Yj4nLiRpbmZvWydvZ3R5cGUnXSAuICcgJyAuICR0aGlzLT5DcmVhdGVUb29sdGlwTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy9tb2R1bGVzL1NFT1Rvb2xzMi9pbWcvcmVzZXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICR0aGlzLT5sYW5nKCdyZXNldF90b19kZWZhdWx0JyksIEFycmF5KCJ3aGF0Ij0+InJlc2V0X29ndHlwZSIsImNvbnRlbnRfaWQiPT4kY29udGVudF9vYmotPklkKCkpKSAuICR0aGlzLT5DcmVhdGVUb29sdGlwTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy9tb2R1bGVzL1NFT1Rvb2xzMi9pbWcvZWRpdC5wbmciIGFsaWduPSJhYnNtaWRkbGUiIC8+JywgJHRoaXMtPmxhbmcoJ2VkaXRfdmFsdWUnKSwgQXJyYXkoIndoYXQiPT4iZWRpdF9vZ3R5cGUiLCJjb250ZW50X2lkIj0+JGNvbnRlbnRfb2JqLT5JZCgpKSkuJzwvYj4nOwoJCSAgfQoJCSAgaWYgKCRpbmZvWydrZXl3b3JkcyddICE9ICIiKSB7CgkJCSRrZXl3b3JkcyA9ICc8Yj4nLmNvdW50KGV4cGxvZGUoJywnLCRpbmZvWydrZXl3b3JkcyddKSkgLiR0aGlzLT5DcmVhdGVUb29sdGlwTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy9tb2R1bGVzL1NFT1Rvb2xzMi9pbWcvcmVzZXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICR0aGlzLT5sYW5nKCdyZXNldF90b19kZWZhdWx0JyksIEFycmF5KCJ3aGF0Ij0+InJlc2V0X2tleXdvcmRzIiwiY29udGVudF9pZCI9PiRjb250ZW50X29iai0+SWQoKSkpIC4nPC9iPicgLiAkdGhpcy0+Q3JlYXRlVG9vbHRpcExpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvbW9kdWxlcy9TRU9Ub29sczIvaW1nL2VkaXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICcgJy4gaW1wbG9kZSgnLCAnLCRrdykgLiAnOyAnIC4gJHRoaXMtPmxhbmcoJ2VkaXRfdmFsdWUnKSwgQXJyYXkoIndoYXQiPT4iZWRpdF9rZXl3b3JkcyIsImNvbnRlbnRfaWQiPT4kY29udGVudF9vYmotPklkKCkpKTsKCQkgIH0KCQkgIGlmICgkaW5mb1snaW5kZXhhYmxlJ10gPT0gMCkgewoJCQkkaW5kZXhhYmxlID0gJ2ZhbHNlJzsKCQkgIH0KCQkgIGlmICghZW1wdHkoJGluZm9bJ2ZvbGxvdyddKSAmJiAkaW5mb1snZm9sbG93J10gPT0gMSApIHsKCQkJJGZvbGxvdyA9ICdmYWxzZSc7CgkJICB9CgkJfQoKCQkkdXBkb3duICA9ICR0aGlzLT5DcmVhdGVMaW5rIChudWxsLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy8nLiRhZG1pbl9kaXIuJy90aGVtZXMvJy4kdGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZiIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsIEFycmF5KCd3aGF0Jz0+J3NldF9wcmlvcml0eScsJ3ByaW9yaXR5Jz0+JGF1dG9fcHJpb3JpdHktMTAsJ2NvbnRlbnRfaWQnPT4kY29udGVudF9vYmotPklkKCkpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InVwZG93biBkb3duIicsIGZhbHNlLCAnJyk7CgkJJHVwZG93biAuPSAkdGhpcy0+Q3JlYXRlTGluayAobnVsbCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9IicuJHJvb3RfdXJsLicvJy4kYWRtaW5fZGlyLicvdGhlbWVzLycuJHRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYiIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgLz4nLCBBcnJheSgnd2hhdCc9PidzZXRfcHJpb3JpdHknLCdwcmlvcml0eSc9PiRhdXRvX3ByaW9yaXR5KzEwLCdjb250ZW50X2lkJz0+JGNvbnRlbnRfb2JqLT5JZCgpKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJ1cGRvd24gdXAiJywgZmFsc2UsICcnKTsKCQkkdXBkb3duIC49ICIgIiAuICR0aGlzLT5sYW5nKCdkZWNyZWFzZV9wcmlvcml0eScpOwoJCQoJCQoJCSRwYWdlc2V0dGluZ3MgLj0gJzx0ciBjbGFzcz0icm93Jy4oJGogJSAyICsgMSkuJyI+JzsKCQkkcGFnZXNldHRpbmdzIC49ICc8dGQ+Jy4kY29udGVudF9vYmotPklkKCkuJzwvdGQ+JzsKCQkkcGFnZXNldHRpbmdzIC49ICc8dGQgY2xhc3M9InBnIj4nLiRwcmVmaXggLicgJy4kY29udGVudF9vYmotPk5hbWUoKS4nPC90ZD4nOwoKCgkJaWYgKHN0cnBvcygkY29udGVudF9vYmotPlR5cGUoKSwgJ2NvbnRlbnQnKSAhPT0gZmFsc2UgfHwgc3RycG9zKCRjb250ZW50X29iai0+VHlwZSgpLCAnbGluaycpICE9PSBmYWxzZSApIHsKCQkgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4nLiR1cGRvd24uJyA8c3BhbiBjbGFzcz0icG1zZyI+Jy4kcHJpb3JpdHkuJzwvc3Bhbj48L3RkPic7CgkJICAvLyAgICAgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4nLiAkb2d0eXBlLic8L3RkPic7CgkJICAkcGFnZXNldHRpbmdzIC49IHN0cnBvcygkY29udGVudF9vYmotPlR5cGUoKSwgJ2xpbmsnKSAhPT0gZmFsc2UgPyAnPHRkPi0tLTwvdGQ+JyA6ICc8dGQ+Jy4gJG9ndHlwZS4nPC90ZD4nOwoJCSAgJHBhZ2VzZXR0aW5ncyAuPSBzdHJwb3MoJGNvbnRlbnRfb2JqLT5UeXBlKCksICdsaW5rJykgIT09IGZhbHNlID8gJzx0ZD4tLS08L3RkPicgOiAnPHRkPicuICRrZXl3b3Jkcy4nPC90ZD4nOwoKCQkgIC8vICAgICAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPicuJGtleXdvcmRzLic8L3RkPic7CgkJICBpZiAoc3RycG9zKCRjb250ZW50X29iai0+VHlwZSgpLCAnY29udGVudCcpICE9PSBmYWxzZSApIHsKCgkJCWlmICgkZGVzY3JpcHRpb24gIT0gIiIpIHsKCQkJICBpZiAoJGRlc2NyaXB0aW9uX2F1dG8pIHsKCQkJCSRwYWdlc2V0dGluZ3MgLj0gJzx0ZD48aW1nIHNyYz0iJy4kcm9vdF91cmwuJy8nLiRhZG1pbl9kaXIuJy90aGVtZXMvJy4kdGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL3N5c3RlbS93YXJuaW5nLmdpZiIgdGl0bGU9Iicuc3RyaXBfdGFncygkZGVzY3JpcHRpb24pLicgYWx0PSInLnN0cmlwX3RhZ3MoJGRlc2NyaXB0aW9uKS4nIC8+PC90ZD4nOwoJCQkgIH1lbHNlewoJCQkJJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPjxhIGhyZWY9ImVkaXRjb250ZW50LnBocD8nLkNNU19TRUNVUkVfUEFSQU1fTkFNRS4nPScuJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXS4nJmNvbnRlbnRfaWQ9Jy4kY29udGVudF9vYmotPklkKCkuJyI+PGltZyBzcmM9IicuJHJvb3RfdXJsLicvJy4kYWRtaW5fZGlyLicvdGhlbWVzLycuJHRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9zeXN0ZW0vdHJ1ZS5naWYiIHRpdGxlPSInLnN0cmlwX3RhZ3MoJGRlc2NyaXB0aW9uKS4nIGFsdD0iJy5zdHJpcF90YWdzKCRkZXNjcmlwdGlvbikuJyIgLz48L2E+PC90ZD4nOwoJCQkgIH0KCQkJfWVsc2V7CgkJCSAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPjxhIGhyZWY9ImVkaXRjb250ZW50LnBocD8nLkNNU19TRUNVUkVfUEFSQU1fTkFNRS4nPScuJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXS4nJmNvbnRlbnRfaWQ9Jy4kY29udGVudF9vYmotPklkKCkuJyI+PGltZyBzcmM9IicuJHJvb3RfdXJsLicvJy4kYWRtaW5fZGlyLicvdGhlbWVzLycuJHRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9zeXN0ZW0vZmFsc2UuZ2lmIiBib3JkZXI9IjAiIHRpdGxlPSInLiR0aGlzLT5sYW5nKCdjbGlja190b19hZGRfZGVzY3JpcHRpb24nKS4nIiBhbHQ9IicuJHRoaXMtPmxhbmcoJ2NsaWNrX3RvX2FkZF9kZXNjcmlwdGlvbicpLiciLz48L2E+PC90ZD4nOwoJCQl9CgkJICB9IGVsc2UgewoJCQkkcGFnZXNldHRpbmdzIC49ICc8dGQ+LS0tPC90ZD4nOwoJCSAgfQoJCSAgLy8gSW5kZXgvTm9pbmRleCBGb2xsb3cvTm9mb2xsb3cKCQkgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZCBjbGFzcz0ic2VvMmFqYXgiPicuJHRoaXMtPkNyZWF0ZVRvb2x0aXBMaW5rKG51bGwsICdkZWZhdWx0YWRtaW4nLCAnJywgJzxpbWcgc3JjPSInLiRyb290X3VybC4nLycuJGFkbWluX2Rpci4nL3RoZW1lcy8nLiR0aGVtZU5hbWUuJy9pbWFnZXMvaWNvbnMvc3lzdGVtLycuJGluZGV4YWJsZS4nLmdpZiIgLz4nLCAnJywgQXJyYXkoJ3doYXQnPT4ndG9nZ2xlX2luZGV4JywnY29udGVudF9pZCc9PiRjb250ZW50X29iai0+SWQoKSkpLic8L3RkPic7CgkJICAkcGFnZXNldHRpbmdzIC49ICc8dGQgY2xhc3M9InNlbzJhamF4Ij4nLiR0aGlzLT5DcmVhdGVUb29sdGlwTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iJy4kcm9vdF91cmwuJy8nLiRhZG1pbl9kaXIuJy90aGVtZXMvJy4kdGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL3N5c3RlbS8nLiRmb2xsb3cuJy5naWYiIC8+JywgJycsIEFycmF5KCd3aGF0Jz0+J3RvZ2dsZV9mb2xsb3cnLCdjb250ZW50X2lkJz0+JGNvbnRlbnRfb2JqLT5JZCgpKSkuJzwvdGQ+JzsKCQl9ZWxzZXsKCQkgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4tLS08L3RkPic7CgkJICAkcGFnZXNldHRpbmdzIC49ICc8dGQ+LS0tPC90ZD4nOwoJCSAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPi0tLTwvdGQ+JzsKCQkgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4tLS08L3RkPic7CgkJICAkcGFnZXNldHRpbmdzIC49ICc8dGQ+LS0tPC90ZD4nOwoJCSAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPi0tLTwvdGQ+JzsKCQl9CgkJJHBhZ2VzZXR0aW5ncyAuPSAnPC90cj4nOwoJCSRqKys7Cgp9CgogICRwYWdlc2V0dGluZ3MgLj0gJzwvdGFibGU+JzsKICBlY2hvICRwYWdlc2V0dGluZ3M7Cj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_seosettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIFRhYjogU0VPIFNldHRpbmdzCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKICAvLyBHZXQgaW1hZ2UgZmlsZXMgZnJvbSAvdXBsb2Fkcy9pbWFnZXMKICAkZmlsZXNfbGlzdCA9IEFycmF5KCR0aGlzLT5sYW5nKCdub25lJyk9PiIiKTsKICAKICAKICAkZHAgPSBvcGVuZGlyKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvdXBsb2Fkcy9pbWFnZXMnKTsKICB3aGlsZSAoJGZpbGUgPSByZWFkZGlyKCRkcCkpIHsKICAgIGlmIChzdHJwb3Moc3Vic3RyKCRmaWxlLCAtNSksJy5naWYnKSAhPT0gZmFsc2UpIHsKICAgICAgJGZpbGVzX2xpc3RbJGZpbGVdID0gJGZpbGU7CiAgICB9CiAgICBpZiAoc3RycG9zKHN1YnN0cigkZmlsZSwgLTUpLCcucG5nJykgIT09IGZhbHNlKSB7CiAgICAgICRmaWxlc19saXN0WyRmaWxlXSA9ICRmaWxlOwogICAgfQogICAgaWYgKHN0cnBvcyhzdWJzdHIoJGZpbGUsIC01KSwnLmpwZycpICE9PSBmYWxzZSkgewogICAgICAkZmlsZXNfbGlzdFskZmlsZV0gPSAkZmlsZTsKICAgIH0KICAgIGlmIChzdHJwb3Moc3Vic3RyKCRmaWxlLCAtNSksJy5qcGVnJykgIT09IGZhbHNlKSB7CiAgICAgICRmaWxlc19saXN0WyRmaWxlXSA9ICRmaWxlOwogICAgfQogIH0KICBjbG9zZWRpcigkZHApOwoKICAkc2V0dGluZ3MgID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydChudWxsLCAnY2hhbmdlc2V0dGluZ3MnKTsKCiAgLyogUGFnZSBUaXRsZSAqLwogICRzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRTdGFydChudWxsLCAndGl0bGVfZGVzY3JpcHRpb24nLCAkdGhpcy0+TGFuZygndGl0bGVfdGl0bGVfZGVzY3JpcHRpb24nKSk7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ3RpdGxlX3RpdGxlJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAndGl0bGUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGl0bGUnLCd7dGl0bGV9IHwgeyRzaXRlbmFtZX0gLSB7JHRpdGxlX2tleXdvcmRzfScpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCd0aXRsZV90aXRsZV9oZWxwJykuJzwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCd0aXRsZV9tZXRhX3RpdGxlJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAndGl0bGVfbWV0YScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aXRsZV9tZXRhJywne3RpdGxlfSB8IHskc2l0ZW5hbWV9JyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ3RpdGxlX21ldGFfaGVscCcpLic8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnZGVzY3JpcHRpb25fYmxvY2tfdGl0bGUnKS4nOjwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KG51bGwsICdkZXNjcmlwdGlvbl9ibG9jaycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdkZXNjcmlwdGlvbl9ibG9ja19oZWxwJykuJzwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnKSAuICc6ICcgLiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveChudWxsLCAnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZScsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9hdXRvX2dlbmVyYXRlJywxKSkgLiAnPC9wPic7CgoKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnZGVzY3JpcHRpb25fYXV0b190aXRsZScpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ2Rlc2NyaXB0aW9uX2F1dG8nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0bycsJ1RoaXMgcGFnZSBjb3ZlcnMgdGhlIHRvcGljcyB7a2V5d29yZHN9JyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ2Rlc2NyaXB0aW9uX2F1dG9faGVscCcpLic8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnZGVmYXVsdF9rZXl3b3Jkc190aXRsZScpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ2RlZmF1bHRfa2V5d29yZHMnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9rZXl3b3JkcycsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdkZWZhdWx0X2tleXdvcmRzX2hlbHAnKS4nPC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2RldGFpbF9rZXl3b3Jkc192YXJfdGl0bGUnKS4nOjwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KG51bGwsICdkZXRhaWxfa2V5d29yZHNfdmFyJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbF9rZXl3b3Jkc192YXInLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnZGV0YWlsX2tleXdvcmRzX3Zhcl9oZWxwJykuJzwvcD4nOwogIAogIC8qIENvbXBpbGUgdGhlIFVEVHNzIG9uIHRoZSBLZXl3b3JkIFNldHRpbmdzIHRhYiAqLwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkxhbmcoJ2NvbXBpbGVfdWR0cycpIC4gJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicgLiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveChudWxsLCAnY29tcGlsZV91ZHRzJywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbXBpbGVfdWR0cycsMSkpLicgJy4kdGhpcy0+bGFuZygnY29tcGlsZV91ZHRzX2hlbHAnKS4nPC9wPic7CiAgCiAgCiAgCiAgCiAgJHNldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldEVuZCgpOwoKICAvKiBNRVRBIFR5cGVzICovCiAgJHNldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldFN0YXJ0KG51bGwsICdtZXRhX3R5cGUnLCAkdGhpcy0+TGFuZygndGl0bGVfbWV0YV90eXBlJykpOwogIAogIC8qIENoZWNrIHRoZSBET0NUWVBFICovCiAgJGl0ZW1zID0gYXJyYXkoJ0hUTUw1JyA9PiAzLCdYSFRNTCcgPT4gMiwnSFRNTDQnID0+IDEpOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiAkdGhpcy0+TGFuZygnbWV0YV9kb2N0eXBlJykgLiAnOjwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24obnVsbCwgJ21ldGFfZG9jdHlwZScsICRpdGVtcywgJycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX2RvY3R5cGUnLDMpLCAnJykuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX2RvY3R5cGVfaGVscCcpLic8L3A+PGJyIC8+JzsKICAKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+JyAuICR0aGlzLT5MYW5nKCdtZXRhX2NyZWF0ZV9zdGFuZGFyZCcpIC4gJzogJyAuICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KG51bGwsICdtZXRhX3N0YW5kYXJkJywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfc3RhbmRhcmQnLDEpKSAuICc8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+JyAuICR0aGlzLT5MYW5nKCdtZXRhX2NyZWF0ZV9kdWJsaW5jb3JlJykgLiAnOiAnIC4gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3gobnVsbCwgJ21ldGFfZHVibGluY29yZScsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX2R1YmxpbmNvcmUnLDEpKSAuICc8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+JyAuICR0aGlzLT5MYW5nKCdtZXRhX2NyZWF0ZV9vcGVuZ3JhcGgnKSAuICc6ICcgLiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveChudWxsLCAnbWV0YV9vcGVuZ3JhcGgnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGgnLDEpKSAuICc8L3A+JzsKICAkc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0RW5kKCk7CgogIC8qIE1FVEEgRGVmYXVsdHMgKi8KICAkc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0U3RhcnQobnVsbCwgJ21ldGFfZGVmYXVsdHMnLCAkdGhpcy0+TGFuZygndGl0bGVfbWV0YV9kZWZhdWx0cycpKTsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9wdWJsaXNoZXInKS4nOjwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KG51bGwsICdtZXRhX3B1Ymxpc2hlcicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3B1Ymxpc2hlcicsJ3tzaXRlbmFtZX0nKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9wdWJsaXNoZXJfaGVscCcpLic8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9jb250cmlidXRvcicpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ21ldGFfY29udHJpYnV0b3InLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9jb250cmlidXRvcicsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX2NvbnRyaWJ1dG9yX2hlbHAnKS4nPC9wPic7CgogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX2NvcHlyaWdodCcpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ21ldGFfY29weXJpZ2h0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfY29weXJpZ2h0JywnKEMpIHtjdXN0b21fY29weXJpZ2h0fSB7c2l0ZW5hbWV9LiBBbGwgcmlnaHRzIHJlc2VydmVkLicpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX2NvcHlyaWdodF9oZWxwJykuJzwvcD48YnIgLz4nOwoKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij48Yj4nLiR0aGlzLT5sYW5nKCdtZXRhX2xvY2F0aW9uX2Rlc2NyaXB0aW9uJykuJzwvYj48L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9sb2NhdGlvbicpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ21ldGFfbG9jYXRpb24nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX2xvY2F0aW9uX2hlbHAnKS4nPC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfcmVnaW9uJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAnbWV0YV9yZWdpb24nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9yZWdpb24nLCcnKSwgNSwgNSkuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX3JlZ2lvbl9oZWxwJykuJzwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX2xhdGl0dWRlJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAnbWV0YV9sYXRpdHVkZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfbGF0aXR1ZGVfaGVscCcpLic8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9sb25naXR1ZGUnKS4nOjwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KG51bGwsICdtZXRhX2xvbmdpdHVkZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX2xvbmdpdHVkZV9oZWxwJykuJzwvcD48YnIgLz4nOwoKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij48Yj4nLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF9kZXNjcmlwdGlvbicpLic8L2I+PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX3RpdGxlJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAnbWV0YV9vcGVuZ3JhcGhfdGl0bGUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfdGl0bGUnLCd7dGl0bGV9JyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX3RpdGxlX2hlbHAnKS4nPC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX3R5cGUnKS4nOjwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KG51bGwsICdtZXRhX29wZW5ncmFwaF90eXBlJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3R5cGUnLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfdHlwZV9oZWxwJykuJzwvcD4nOwogICRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF9zaXRlbmFtZScpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lX2hlbHAnKS4nPC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX2ltYWdlJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24obnVsbCwgJ21ldGFfb3BlbmdyYXBoX2ltYWdlJywgJGZpbGVzX2xpc3QsIG51bGwsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9pbWFnZScsJycpKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX2ltYWdlX2hlbHAnKS4nPC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX2FkbWlucycpLic6PC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQobnVsbCwgJ21ldGFfb3BlbmdyYXBoX2FkbWlucycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9hZG1pbnMnLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zX2hlbHAnKS4nPC9wPic7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb25faGVscCcpLic8L3A+JzsKICAkc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0RW5kKCk7CgogIC8qIEFkZGl0aW9uYWwgTWV0YSBUYWdzICovCiAgJHNldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldFN0YXJ0KG51bGwsICdhZGRpdGlvbmFsX21ldGEnLCAkdGhpcy0+TGFuZygndGl0bGVfYWRkaXRpb25hbF9tZXRhX3RhZ3MnKSk7CiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2FkZGl0aW9uYWxfbWV0YV90YWdzX3RpdGxlJykuJzo8L3A+JzsKICAkc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCBudWxsLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRkaXRpb25hbF9tZXRhX3RhZ3MnLCcnKSwgJ2FkZGl0aW9uYWxfbWV0YV90YWdzJykuJyAnLiR0aGlzLT5sYW5nKCdhZGRpdGlvbmFsX21ldGFfdGFnc19oZWxwJykuJzwvcD4nOwogICRzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRFbmQoKTsKCiAgJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdChudWxsLCAnc2F2ZV9tZXRhX3NldHRpbmdzJywgJHRoaXMtPmxhbmcoJ3NhdmUnKSkuJzwvcD4nOwogICRzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKICAkc2V0dGluZ3MgLj0gJzxiciAvPjxiciAvPicuJHRoaXMtPmxhbmcoJ2hlbHBfZGVzY3JpcHRpb25fY29udGVudCcpOwogICRzZXR0aW5ncyAuPSAnPGJyIC8+PGJyIC8+Jy4kdGhpcy0+bGFuZygnaGVscF9kZXRhaWxfa2V5d29yZHNfY29udGVudCcpOwogIGVjaG8gJHNldHRpbmdzOwogID8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_sitemapsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIFRhYjogU2l0ZW1hcCBTZXR0aW5ncwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vIEdlbmVyYWwgU2l0ZW1hcCBhbmQgUm9ib3RzIHN0dWZmCiAgJHNzZXR0aW5ncyAgPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KG51bGwsICdjaGFuZ2VzZXR0aW5ncycpOwogICRzc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0U3RhcnQobnVsbCwgJ3NpdGVtYXBfZGVzY3JpcHRpb24nLCAkdGhpcy0+TGFuZygndGl0bGVfc2l0ZW1hcF9kZXNjcmlwdGlvbicpKTsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicgLiAkdGhpcy0+TGFuZygnY3JlYXRlX3NpdGVtYXBfdGl0bGUnKSAuICc6ICcgLiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveChudWxsLCAnY3JlYXRlX3NpdGVtYXAnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX3NpdGVtYXAnLDEpKSAuICc8L3A+JzsKICBpZiAoaW5pX2dldCgnYWxsb3dfdXJsX2ZvcGVuJykpIHsKICAgICRzc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+JyAuICR0aGlzLT5MYW5nKCdwdXNoX3NpdGVtYXBfdGl0bGUnKSAuICc6ICcgLiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveChudWxsLCAncHVzaF9zaXRlbWFwJywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3B1c2hfc2l0ZW1hcCcsMCkpIC4gJzwvcD4nOwogIH1lbHNlewogICAgJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkxhbmcoJ3B1c2hfc2l0ZW1hcF90aXRsZScpIC4gJzogJyAuICR0aGlzLT5MYW5nKCdub191cmxfZm9wZW4nKSAuICc8L3A+JzsKICB9CiAgJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkxhbmcoJ2NyZWF0ZV9yb2JvdHNfdGl0bGUnKSAuICc6ICcgLiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveChudWxsLCAnY3JlYXRlX3JvYm90cycsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcmVhdGVfcm9ib3RzJywxKSkgLiAnPC9wPic7CiAgJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCd2ZXJpZmljYXRpb25fdGl0bGUnKS4nOjwvcD4nOwogICRzc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dChudWxsLCAndmVyaWZpY2F0aW9uJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ZlcmlmaWNhdGlvbicsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCd2ZXJpZmljYXRpb25faGVscCcpLic8L3A+JzsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5sYW5nKCdoZWxwX3NpdGVtYXBfcm9ib3RzJykuJzwvcD4nOwogICRzc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0RW5kKCk7CiAgJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQobnVsbCwgJ3NhdmVfc2l0ZW1hcF9zZXR0aW5ncycsICR0aGlzLT5sYW5nKCdzYXZlJykpLic8L3A+JzsKICAKICAkc3NldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CiAgCgogIC8vIEN1c3RvbSByb2JvdHMgc3R1ZmYKICAkc3NldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQobnVsbCwgJ2NoYW5nZXNldHRpbmdzJyk7CiAgJHNzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRTdGFydChudWxsLCAnY3VzdG9tX3JvYm90c19kZXNjcmlwdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV9jdXN0b21fcm9ib3RzX2Rlc2NyaXB0aW9uJykpOwogICRzc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygncm9ib3RzX2JlZm9yZScpLic8L3A+JzsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgbnVsbCwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JfYmVmb3JlJyksICdyb2JvdHNfYmVmb3JlJykuJyA8L3A+JzsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ3JvYm90c19hZnRlcicpLic8L3A+JzsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgbnVsbCwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JfYWZ0ZXInKSwgJ3JvYm90c19hZnRlcicpLicgPC9wPic7CiAgJHNzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRmllbGRzZXRFbmQoKTsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdChudWxsLCAnc2F2ZV9jdXN0b21fcm9ib3RzX3NldHRpbmdzJywgJHRoaXMtPmxhbmcoJ3NhdmUnKSkuJzwvcD4nOwogICRzc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKICAKICAKICAvLyBSZWdlbmVyYXRlIHNpdGVtYXAueG1sIGFuZCByb2JvdHMudHh0CiAgJHNzZXR0aW5ncyAuPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KG51bGwsICdjaGFuZ2VzZXR0aW5ncycpOwogICRzc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZpZWxkc2V0U3RhcnQobnVsbCwgJ3JlZ2VuZXJhdGVfc2l0ZW1hcCcsICR0aGlzLT5MYW5nKCd0aXRsZV9yZWdlbmVyYXRlX3NpdGVtYXAnKSk7CiAgJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+JzsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdChudWxsLCAnZG9fcmVnZW5lcmF0ZScsICR0aGlzLT5sYW5nKCdidXR0b25fcmVnZW5lcmF0ZV9zaXRlbWFwJykpLic8L3A+JzsKICAkc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5sYW5nKCd0ZXh0X3JlZ2VuZXJhdGVfc2l0ZW1hcCcpLic8L3A+JzsKICAkc3NldHRpbmdzIC49ICR0aGlzLT5DcmVhdGVGaWVsZHNldEVuZCgpOwogICRzc2V0dGluZ3MgLj0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCiAgZWNobyAkc3NldHRpbmdzOwogIAogIAo/Pg==]]></data>
	</file>
	<file>
	  <filename>/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/img/ajax-loader.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/img/edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH2ggQDQAHiaSPRwAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAImSURBVHjajZPPaxNBFMe/O9tuaJMY7NbUqrVNVeoPVESqB+2pBxFBD3r3Ip78Lzx48aA0WpGi4EnBg0UptIeK0Jh6UKIhmKRG0f5MqjFNm7o7uzvrzJoNqUm0A495zLzPd95j3pNs24YkSbsAdHCT8e+V4/aNM6xyIgT4Oq5pWsEwDMs0Tbue8Xs7HA7f5rE93IjgnMfLGZzgcFTXdcL9ijgHwRgDpRSqqmIp9QxrsaeQfYdR+v4KkjZ/WUQL6+fBb7gICCEO5ApYluUItNAI1tLTaGkfQCB0DIUvUSQnRrJN1QUK2N2FiCzLTprs5yQMK4W2faeQz3yEIlH4t2yHT90dqBFwSxC+eJ2tTEMxEgj0noG++BhKq4SvsSS0dX2lVFo9uUGgun7h0x8RsMJLBPaehzZ/D0Qx0ezrhteeQ3j0w7U7Y5k0afRf2eRzlBYmyvAwSLMBWuzB8tR7qIPXIWAn07pwagzFhSiCh86BLo1AVmzoxW4Ov8O2C0PwdOyvxDb9Dc9En4CtJmBKO7AYH8LWoAIt34XC2yQ6L96F7O/cEF+TQfz1Axw8fRWe2SmkRyOIjeeRnowhePZGDVxXYObzMmjiBUJHB+D19iEbz6Dv0k142nudn3G/umEJiU853Lo/jP4DIfj3HMHglYdobdvZcDiqBcRQSI/G57CJ5bQqbzJbDIUAGW+aX+7F/2Aeu853y+mX8jB14c84k00IoAznODv7G84tFQol4BT4AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/img/reset.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH2ggQDDghTfTcdgAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAJ5SURBVHjapVNdSBRRGD1zZ8bZHcfFn1VWDSNMpYSUBCGCMivJHgyMkiAwfCroIZBSiFAixLeIChaiIlAhf4IoKkhEgh4KJetF1/xF3XSUTVubcdydud1xZRmjJOiDw8yd+53zffd8c4H/DM65uHq/sv9QiXxYN1S2IYDCYk8RinAAS/qidaff3zFwC7WAaHFihKMRUOIU8KXKGUnJERD3OHh5DoIcZJiFKX1GuneZtNZcOd/SWfUFpZHdlPE5EZzgFFglAWUpIYyQFARx9CZgBGaUtWsC5QfrC/0ptQMX654U0hlpjt9ynkx1x0xwhXwdwdjYKKYYJsdGuen5OU/IpaRmpGbKZFLrtYpyy92iQnIG30x1xcmia4svv0NhqLjxLG+hfcZDu4NltGOgTkcOTsU7sKLbmr3OMB5YCekVZcUn1+h7eN1FQvuHoXnhrxTbXsvREwUWVAxRIwkcsRVXbHM2p0Bi+XZkncOF9Hw+LU5GjGzHsePuao+L1TQSoWnf7U/6pssxy083pjTce33UTi9jcDOkMXhRifwjjdLNro81tHOwhHYN7aTNTwu+sb09G0eIshIn6pMbzlbvb/Up+XjUp/Ym8ImUbpQWOdlVzCcpOsL6KMJrgxCEAnS/CDxgm8Ox0lVofnx9b5OUoOGnMQVF9oJadLN35jPng2FOgxd+wIxko6dn8dXLlvUzjKzFphDgZ9P2qSVZecs5dv6qqWGd02HAhoYor8KgFiYmpLW2tpD/3V3zMmOFN7Sdf/Klh3i+qxCl1xpxO1tCkPDsItgeExCdKalv0c+Wn5yTib2LcZHsyib0eXKRu+14/3gtxS0pAsfjn+IXjhPiCXMAIGsAAAAASUVORK5CYII=]]></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[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIEFjdGlvbjogZW5fVVMgSGVscCB0ZXh0IGFuZCBjaGFuZ2UgbG9nCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTRU9Ub29sczInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdTRU9Ub29sczIgaGFzIGJlZW4gaW5zdGFsbGVkLiBCZSBzdXJlIHRvIHJlYWQgdGhlIG1vZHVsZSBoZWxwIHRvIGxlYXJuIGhvdyB0byB1c2UgaXQuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTRU9Ub29sczIgaGFzIGJlZW4gdW5pbnN0YWxsZWQuIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHlvdSBoYXZlIGp1c3QgbG9zdCBhbGwgbWV0YSBpbmZvcm1hdGlvbiBmcm9tIHlvdXIgcGFnZXMhJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gdW5pbnN0YWxsIFNFT1Rvb2xzMj8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIGNvbGxlY3Rpb24gb2YgdG9vbHMgdG8gaGVscCB3aXRoIFNlYXJjaCBFbmdpbmUgT3B0aW1pemF0aW9uLic7CgokbGFuZ1snZXZlbnRkZXNjLVByZWZzVXBkYXRlZCddID0gJ1NlbnQgd2hlbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgYXJlIHVwZGF0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1QcmVmc1VwZGF0ZWQnXSA9ICc8cD5TZW50IHdoZW4gdGhlIGFkbWluIHByZWZlcmVuY2VzIGFyZSB1cGRhdGVkLjwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8b2w+CjxsaT48L2xpPgo8L29sPic7CgoKCiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5kWydhZG1pbl90aXRsZSddID0gJ1NFT1Rvb2xzMiBBZG1pbiBQYW5lbCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnSGVscHMgd2l0aCBTRU8gaW4gZ2VuZXJhbCwgYXV0b21hdGljYWxseSBnZW5lcmF0aW5nIFhNTCBzaXRlbWFwcyBhbmQgY29tcHJlaGVuc2l2ZSBtZXRhIGRlc2NyaXB0aW9ucyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snU0VPQWxlcnRzJ10gPSAnU0VPIEFsZXJ0cyc7CiRsYW5nWydQYWdlZGVzY3JpcHRpb25zJ10gPSAnUGFnZSBzZXR0aW5ncyc7CiRsYW5nWydTaXRlbWFwJ10gPSAnU2l0ZW1hcCc7CiRsYW5nWydTRU9TZXR0aW5ncyddID0gJ1NFTyBTZXR0aW5ncyc7CiRsYW5nWyd0aXRsZV9zZW9hbGVydHMnXSA9ICdTRU8gQWxlcnRzJzsKJGxhbmdbJ3RpdGxlX3BhZ2VkZXNjcmlwdGlvbnMnXSA9ICdQYWdlIHNldHRpbmdzJzsKJGxhbmdbJ3RpdGxlX3NpdGVtYXAnXSA9ICdTaXRlbWFwJzsKJGxhbmdbJ3RpdGxlX3Nlb3NldHRpbmdzJ10gPSAnU0VPIFNldHRpbmdzJzsKCiRsYW5nWyd0aXRsZV9tZXRhX3R5cGUnXSA9ICdNZXRhIFRhZyBHZW5lcmF0b3InOwokbGFuZ1snbWV0YV9jcmVhdGVfc3RhbmRhcmQnXSA9ICdHZW5lcmF0ZSBzdGFuZGFyZCBNZXRhIFRhZ3MnOwokbGFuZ1snbWV0YV9kb2N0eXBlJ10gPSAnSFRNTCBWZXJzaW9uJzsKJGxhbmdbJ21ldGFfZG9jdHlwZV9oZWxwJ10gPSAnKFNlbGVjdCB0aGUgdmVyc2lvbiBvZiBIVE1MIHVzZWQgaW4gdGhlIHBhZ2UgdGVtcGxhdGVzKSc7CiRsYW5nWydtZXRhX2NyZWF0ZV9kdWJsaW5jb3JlJ10gPSAnR2VuZXJhdGUgRHVibGluIENvcmUgTWV0YSBUYWdzJzsKJGxhbmdbJ21ldGFfY3JlYXRlX29wZW5ncmFwaCddID0gJ0dlbmVyYXRlIE9wZW5HcmFwaCBNZXRhIFRhZ3MgKGUuZy4gZm9yIEZhY2Vib29rIExpa2UgQnV0dG9uKSc7CgokbGFuZ1sndGl0bGVfbWV0YV9kZWZhdWx0cyddID0gJ01FVEEgVGFnIFZhbHVlcyc7CiRsYW5nWydtZXRhX3B1Ymxpc2hlciddID0gJ1NpdGUgcHVibGlzaGVyJzsKJGxhbmdbJ21ldGFfcHVibGlzaGVyX2hlbHAnXSA9ICcoVGhpcyBpcyB1c3VhbGx5IHRoZSBvcmdhbml6YXRpb24geW91IGFyZSBidWlsZGluZyB0aGUgd2Vic2l0ZSBmb3IpJzsKJGxhbmdbJ21ldGFfY29udHJpYnV0b3InXSA9ICdTaXRlIGNvbnRyaWJ1dG9yJzsKJGxhbmdbJ21ldGFfY29udHJpYnV0b3JfaGVscCddID0gJyhVc3VhbGx5LCB0aGlzIHdvdWxkIGJlIHlvdSBvciBhbnkgb3RoZXIgY29udGVudCBhdXRob3IpJzsKJGxhbmdbJ21ldGFfY29weXJpZ2h0J10gPSAnU2l0ZSBjb3B5cmlnaHQnOwokbGFuZ1snbWV0YV9jb3B5cmlnaHRfaGVscCddID0gJyhTb21ldGhpbmcgbGlrZSAie2N1c3RvbV9jb3B5cmlnaHR9IHtzaXRlbmFtZX0uIEFsbCBSaWdodHMgUmVzZXJ2ZWQiLiBZb3UgY2FuIHVzZSBzbWFydHkgdGFncyBhbmQgVURUcyBoZXJlLiknOwokbGFuZ1snbWV0YV9sb2NhdGlvbl9kZXNjcmlwdGlvbiddID0gJ0lmIHlvdXIgd2Vic2l0ZSBpcyBhYm91dCBhbiBlbnRpdHkgdGhhdCBjYW4gYmUgbG9jYXRlZCBvbiBhIG1hcCwgeW91IHNob3VsZCBvcHRpb25hbGx5IGZpbGwgaW4gdGhlIGZvbGxvd2luZyB2YWx1ZXM6JzsKJGxhbmdbJ21ldGFfbG9jYXRpb24nXSA9ICdMb2NhdGlvbiBvZiB5b3VyIGVudGl0eSc7CiRsYW5nWydtZXRhX2xvY2F0aW9uX2hlbHAnXSA9ICcoVXN1YWxseSwgdGhpcyB3b3VsZCBiZSB0aGUgdG93biBuYW1lIG9mIHlvdXIgY29tcGFueSknOwokbGFuZ1snbWV0YV9yZWdpb24nXSA9ICdSZWdpb24gb2YgeW91ciBlbnRpdHknOwokbGFuZ1snbWV0YV9yZWdpb25faGVscCddID0gJyhFbnRlciBzb21ldGhpbmcgbGlrZSAiVVMtSUwiIGZvciBhbiBlbnRpdHkgbG9jYXRlZCBpbiBJbGxpbm9pcywgVVMpJzsKJGxhbmdbJ21ldGFfbGF0aXR1ZGUnXSA9ICdMYXRpdHVkZSBvZiB5b3VyIGVudGl0eSc7CiRsYW5nWydtZXRhX2xhdGl0dWRlX2hlbHAnXSA9ICcoRW50ZXIgdGhlIGRlY2ltYWwgbGF0aXR1ZGUgZ2VvIGNvb2RpbmF0ZSBvZiB5b3VyIGVudGl0aXkpJzsKJGxhbmdbJ21ldGFfbG9uZ2l0dWRlJ10gPSAnTG9uZ2l0dWRlIG9mIHlvdXIgZW50aXR5JzsKJGxhbmdbJ21ldGFfbG9uZ2l0dWRlX2hlbHAnXSA9ICcoRW50ZXIgdGhlIGRlY2ltYWwgbG9uZ2l0dWRlIGdlbyBjb29kaW5hdGUgb2YgeW91ciBlbnRpdGl5KSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9kZXNjcmlwdGlvbiddID0gJ0lmIHlvdSBhcmUgY3JlYXRpbmcgT3BlbkdyYXBoIE1FVEEgVGFncywgcGxlYXNlIGZpbGwgaW4gdGhlIGZvbGxvd2luZyB2YWx1ZXM6JzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX3RpdGxlJ10gPSAnT3BlbkdyYXBoIHBhZ2UgdGl0bGUnOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfdGl0bGVfaGVscCddID0gJyhZb3UgY2FuIHVzZSBhbGwgc21hcnR5IHRhZ3MgaGVyZSwgZS5nLiB0byByZXBsYWNlIHdpdGggdGhlIGFjdHVhbCBwYWdlIHRpdGxlKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF90eXBlJ10gPSAnT3BlbkdyYXBoIGRlZmF1bHQgcGFnZSB0eXBlJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX3R5cGVfaGVscCddID0gJyhUaGUgZGVmYXVsdCBwYWdlIHR5cGUgZm9yIE9wZW5HcmFwaCwgY2FuIGJlIG92ZXJyaWRkZW4gZm9yIGVhY2ggcGFnZS4gTG9vayA8YSBocmVmPSJodHRwOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9vcGVuZ3JhcGgjdHlwZXMiIHRhZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IGZvciBhIGxpc3Qgb2YgYWxsb3dlZCB2YWx1ZXMpJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJ10gPSAnT3BlbkdyYXBoIHNpdGUgbmFtZSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9zaXRlbmFtZV9oZWxwJ10gPSAnKEEgc2hvcnQgdmVyc2lvbiBvZiB5b3VyIHNpdGUgbmFtZSwgZS5nLiAiWW91ciBDb21wYW55IiwgbWF4LiAyNSBjaGFycyknOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnXSA9ICdPcGVuR3JhcGggZGVmYXVsdCBpbWFnZSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9pbWFnZV9oZWxwJ10gPSAnKFNlbGVjdCBhbiBpbWFnZSBmcm9tIHlvdXIgaW1hZ2VzIGRpcmVjdG9yeSB0byBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IGZvciBPcGVuR3JhcGggcGFnZXMpJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX2FkbWlucyddID0gJ0ZhY2Vib29rIHNpdGUgYWRtaW5pc3RyYXRvcnMnOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfYWRtaW5zX2hlbHAnXSA9ICcoQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmYWNlYm9vayBhY2NvdW50IElEcyB3aG8gYXJlIGFibGUgdG8gYWRtaW5pc3RyYXRlIHRoZSBzdHJlYW1zIG9mIHlvdXIgcGFnZXMpJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uJ10gPSAnRmFjZWJvb2sgYXBwbGljYXRpb24nOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb25faGVscCddID0gJyhUaGUgSUQgb2YgYSBmYWNlYm9vayBhcHBsaWNhdGlvbiBhYmxlIHRvIGFkbWluaXN0cmF0ZSB0aGUgc3RyZWFtcyBvZiB5b3VyIHBhZ2VzKSc7CgokbGFuZ1sndGl0bGVfdGl0bGVfZGVzY3JpcHRpb24nXSA9ICdQYWdlIHRpdGxlLCBkZXNjcmlwdGlvbiBhbmQga2V5d29yZHMnOwokbGFuZ1sndGl0bGVfdGl0bGUnXSA9ICdQYWdlIHRpdGxlJzsKJGxhbmdbJ3RpdGxlX3RpdGxlX2hlbHAnXSA9ICcoVGhlIHBhZ2UgdGl0bGUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBicm93c2VyXCdzIHRpdGxlIGJhci4gWW91IGNhbiB1c2UgdGhlIHRhZ3Mge3RpdGxlfSwgeyRwYWdldGl0bGV9LCB7JHNlb19rZXl3b3Jkc30gYW5kIGFsbCBzbWFydHkgdGFncyBhbmQgVURUcyBoZXJlKSc7CiRsYW5nWyd0aXRsZV9tZXRhX3RpdGxlJ10gPSAnUGFnZSBNZXRhIHRpdGxlJzsKJGxhbmdbJ3RpdGxlX21ldGFfaGVscCddID0gJyhUaGUgcGFnZSB0aXRsZSB0byBiZSB1c2VkIGluIHRoZSBNZXRhIHRpdGxlIHRhZ3MuIFlvdSBjYW4gdXNlIHRoZSB0YWdzIHt0aXRsZX0sIHskcGFnZXRpdGxlfSwgeyRzZW9fa2V5d29yZHN9IGFuZCBhbGwgc21hcnR5IHRhZ3MgYW5kIFVEVHMgaGVyZSknOwokbGFuZ1snZGVzY3JpcHRpb25fYmxvY2tfdGl0bGUnXSA9ICdOYW1lIG9mIHBhZ2UgZGVzY3JpcHRpb24gY29udGVudCBibG9jayc7CiRsYW5nWydkZXNjcmlwdGlvbl9ibG9ja19oZWxwJ10gPSAnKFRoZSBuYW1lIG9mIHlvdXIgcGFnZSBkZXNjcmlwdGlvbiBjb250ZW50IGJsb2NrLiBQbGVhc2Ugc2VlIGJlbG93IGZvciBhbiBleHBsYW5hdGlvbiknOwokbGFuZ1snZGV0YWlsX2tleXdvcmRzX3Zhcl90aXRsZSddID0gJ01vZHVsZSBjdXN0b20gZmllbGQga2V5d29yZHMgU21hcnR5IHZhcic7CiRsYW5nWydkZXRhaWxfa2V5d29yZHNfdmFyX2hlbHAnXSA9ICcoTmFtZSBvZiB0aGUgU21hcnR5IHZhciB5b3UgYXNzaWduZWQgeW91ciBjdXN0b20gZmllbGQga2V5d29yZHMgdG8gb24gYSBtb2R1bGUgZGV0YWlsIHRlbXBsYXRlLiBQbGVhc2Ugc2VlIGJlbG93IGZvciBhbiBleHBsYW5hdGlvbiknOwoKCiRsYW5nWydkZWZhdWx0X2tleXdvcmRzX3RpdGxlJ10gPSAnS2V5d29yZHMgdG8gYWx3YXlzIGluY2x1ZGUnOwokbGFuZ1snZGVmYXVsdF9rZXl3b3Jkc19oZWxwJ10gPSAnKEEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Yga2V5d29yZHMgeW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBvbiBldmVyeSBwYWdlKSc7CgokbGFuZ1sndGl0bGVfc2l0ZW1hcF9kZXNjcmlwdGlvbiddID0gJ0dvb2dsZSBTaXRlbWFwIGFuZCBDcmF3bGVyIFNldHRpbmdzJzsKJGxhbmdbJ2NyZWF0ZV9zaXRlbWFwX3RpdGxlJ10gPSAnQ3JlYXRlIGFuIFhNTCBHb29nbGUgU2l0ZW1hcConOwokbGFuZ1sncHVzaF9zaXRlbWFwX3RpdGxlJ10gPSAnQXV0b21hdGljYWxseSBwdXNoIHRoZSBzaXRlbWFwIHRvIEdvb2dsZSBhZnRlciBjb250ZW50IGNoYW5nZXMnOwokbGFuZ1snY3JlYXRlX3JvYm90c190aXRsZSddID0gJ0NyZWF0ZSBhIHJvYm90cy50eHQgZmlsZSonOwokbGFuZ1sndmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnU2l0ZSB2ZXJpZmljYXRpb24gY29kZSc7CiRsYW5nWyd2ZXJpZmljYXRpb25faGVscCddID0gJyhUaGUgc2l0ZSB2ZXJpZmljYXRpb24gY29kZSB5b3Ugb2J0YWluIGZyb20gR29vZ2xlIFdlYm1hc3RlciBUb29scywganVzdCB0aGUgaGFzaCwgbm90IHRoZSBjb21wbGV0ZSBtZXRhIHRhZyknOwoKJGxhbmdbJ3RpdGxlX2FsZXJ0c191cmdlbnQnXSA9ICdUbyBiZSBmaXhlZCBpbW1lZGlhdGVseSc7CiRsYW5nWyd0aXRsZV9hbGVydHNfaW1wb3J0YW50J10gPSAnVG8gYmUgZml4ZWQgYXMgc29vbiBhcyBwb3NzaWJsZSc7CiRsYW5nWyd0aXRsZV9hbGVydHNfbm90aWNlcyddID0gJ1RoaW5ncyB5b3Ugc2hvdWxkIGNvbnNpZGVyIGZpeGluZyc7CiRsYW5nWydub3RoaW5nX3RvX2JlX2ZpeGVkJ10gPSAnVGhlcmUgYXJlIG5vIGFjdGlvbnMgeW91IG5lZWQgdG8gdGFrZSBpbiB0aGlzIGNhdGVnb3J5JzsKCiRsYW5nWydzYXZlJ10gPSAnU2F2ZSBzZXR0aW5ncyc7CiRsYW5nWydub25lJ10gPSAnKG5vbmUpJzsKJGxhbmdbJ2NvbmZpcm0nXSA9ICdDb25maXJtJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydzZXR0aW5nc191cGRhdGVkJ10gPSAnVGhlIFNFTyBzZXR0aW5ncyB3ZXJlIHN1Y2Nlc3NmdWxseSB1cGRhdGVkLic7CiRsYW5nWydwcm9ibGVtX2FsZXJ0J10gPSAnaGFzIGRldGVjdGVkIHNldmVyZSBwcm9ibGVtcyB3aXRoIHlvdXIgU0VPLiAlcyc7CiRsYW5nWydwcm9ibGVtX2xpbmtfdGl0bGUnXSA9ICdDbGljayBoZXJlIHRvIGZpeCB0aGVtJzsKCiRsYW5nWydoZWxwX2Rlc2NyaXB0aW9uX2NvbnRlbnQnXSA9ICc8Yj5Ib3cgdG8gdXNlIHRoZSAiZGVzY3JpcHRpb24gY29udGVudCBibG9jayI6PC9iPjxiciAvPlRvIGJlIGFibGUgdG8gZW50ZXIgYSBwYWdlIGRlc2NyaXB0aW9uIHdoZW4gZWRpdGluZyBhIHBhZ2UsIHlvdSBtdXN0IGluY2x1ZGUgdGhlIGZvbGxvd2luZyBjb2RlIGFueXdoZXJlIG9uIGV2ZXJ5IHRlbXBsYXRlOjxiciAvPjxiciAvPjxwcmU+e2NhcHR1cmUgYXNzaWduPW1ldGFkZXNjcmlwdGlvbn17Y29udGVudCBibG9jaz0ibWV0YWRlc2NyaXB0aW9uIiBsYWJlbD0iTUVUQSBEZXNjcmlwdGlvbiIgb25lbGluZT0idHJ1ZSJ9ey9jYXB0dXJlfTwvcHJlPjxiciAvPlRoZW4sIHB1dCAibWV0YWRlc2NyaXB0aW9uIiBpbnRvIHRoZSBmaWVsZCAiTmFtZSBvZiBwYWdlIGRlc2NyaXB0aW9uIGNvbnRlbnQgYmxvY2s8YnIgLz48YnIgLz5BbHRlcm5hdGl2ZWx5LCBlbmFibGUgdGhlIG9wdGlvbiAmcXVvdDtBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGRlc2NyaXB0aW9ucyB3aGVyZSBub25lIGlzIGdpdmVuJnF1b3Q7LiBUaGlzIGlzIG5vdCBhcyBnb29kIGJ1dCBzdGlsbCBiZXR0ZXIgdGhhbiBub3RoaW5nLic7CiRsYW5nWydoZWxwX2RldGFpbF9rZXl3b3Jkc19jb250ZW50J10gPSAnPGI+SG93IHRvIHVzZSB0aGUgIm1vZHVsZSBjdXN0b20gZmllbGQgc21hcnR5IHZhciI6PC9iPjxiciAvPllvdSBjYW4gb3ZlcndyaXRlIHRoZSBwYWdlIGtleXdvcmRzIGJ5IGFzc2lnbmluZyBhIGN1c3RvbSBmaWVsZCBpbiBhIG1vZHVsZSBkZXRhaWwgdGVtcGxhdGUsIGVnIE5ld3MsIENHQmxvZywgUHJvZHVjdHMsIGV0YywgdGhhdCBjb250YWlucyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGtleXdvcmRzIHNwZWNpZmljIHRvIHRoZSBhcnRpY2xlIG9yIHByb2R1Y3QsIGVnIHthc3NpZ249ImRldGFpbF9rZXl3b3JkcyIgdmFsdWU9JGVudHJ5LT5maWVsZHMuY3VzdG9tLm15ZmllbGQudmFsdWV9IChvciB3aGF0ZXZlciB0aGUgcGFydGljdWxhciBtb2R1bGUgcmVxdWlyZXMgdG8gYWNjZXNzIHRoZSBmaWVsZCB2YWx1ZSkgdG8gU21hcnR5LiBUaGUgY3VzdG9tIGZpZWxkIG5hbWUgZG9lcyBub3QgbWF0dGVyIGhvd2V2ZXIgdGhlIG5hbWUgb2YgdGhlIFNtYXJ0eSB2YXIgdG8gd2hpY2ggeW91IGFzc2lnbiB0aGUgdmFsdWUgbXVzdCBiZSBjb25zaXN0ZW50IHRocm91Z2hvdXQgYWxsIHlvdXIgbW9kdWxlcy4nOwoKCiRsYW5nWydoZWxwX3NpdGVtYXBfcm9ib3RzJ10gPSAnKiBUbyB1c2UgdGhlIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIGEgc2l0ZW1hcCBhbmQgcm9ib3RzLnR4dCBmaWxlLCBib3RoIHRoZSByb290IGRpcmVjdG9yeSBvZiB5b3VyIHNlcnZlciBhbmQgQ01TTVMgaW5zdGFsbGF0aW9uIG11c3QgYmUgd3JpdGVhYmxlIHRvIHRoZSB3ZWIgc2VydmVyLiBJZiB5b3UgYWxyZWFkeSBoYXZlIGEgc2l0ZW1hcC54bWwgYW5kL29yIHJvYm90cy50eHQgZmlsZSwgYm90aCBvZiB0aGVtIG11c3QgYmUgd3JpdGVhYmxlIHRvIHRoZSB3ZWIgc2VydmVyLic7CgokbGFuZ1sndXNlX3N0YW5kYXJkX29yX2R1YmxpbmNvcmVfbWV0YSddID0gJ1VzZSBhdCBsZWFzdCBvbmUgb2YgdGhlIHN0YW5kYXJkIG9yIER1YmxpbiBDb3JlIE1ldGEgVGFnIGdlbmVyYXRvcnMnOwokbGFuZ1sndXNlX3N0YW5kYXJkX21ldGEnXSA9ICdZb3Ugc2hvdWxkIGFsd2F5cyBlbmFibGUgdGhlIHN0YW5kYXJkIE1ldGEgZ2VuZXJhdG9yJzsKJGxhbmdbJ21ldGFfZGVzY3JpcHRpb25fbWlzc2luZyddID0gJ1RoZSBwYWdlIDxpPiVzPC9pPiBpcyBsYWNraW5nIGEgTWV0YSBkZXNjcmlwdGlvbic7CiRsYW5nWydtZXRhX2Rlc2NyaXB0aW9uX3Nob3J0J10gPSAnVGhlIE1ldGEgZGVzY3JpcHRpb24gb2YgPGk+JXM8L2k+IGlzIHJhdGhlciBzaG9ydCAoIDwgNzUgY2hhcnMpJzsKJGxhbmdbJ2R1cGxpY2F0ZV90aXRsZXMnXSA9ICdUaGUgcGFnZXMgPGk+JXM8L2k+IGFuZCA8aT4lczwvaT4gaGF2ZSB0aGUgc2FtZSB0aXRsZSc7CiRsYW5nWydkdXBsaWNhdGVfZGVzY3JpcHRpb25zJ10gPSAnVGhlIHBhZ2VzIDxpPiVzPC9pPiBhbmQgPGk+JXM8L2k+IGhhdmUgdGhlIHNhbWUgTWV0YSBkZXNjcmlwdGlvbic7CiRsYW5nWydwcm92aWRlX2FuX2F1dGhvciddID0gJ1lvdSBzaG91bGQgcHJvdmlkZSB0aGUgbmFtZSBvZiB0aGUgcGFnZSBwdWJsaXNoZXInOwokbGFuZ1snc2V0X3VwX2Rlc2NyaXB0aW9uX2Jsb2NrJ10gPSAnU2V0IHVwIGEgY29udGVudCBibG9jayBmb3IgTWV0YSBkZXNjcmlwdGlvbnMnOwokbGFuZ1snYWN0aXZhdGVfcHJldHR5X3VybHMnXSA9ICdBY3RpdmF0ZSB0aGUgcHJldHR5IFVSTHMgZmVhdHVyZSBvZiBDTVNNUyc7CiRsYW5nWydwcmV0dHlfdXJsc19oZWxwJ10gPSAnPGEgaHJlZj0iaHR0cDovL3dpa2kuY21zbWFkZXNpbXBsZS5vcmcvaW5kZXgucGhwL1VzZXJfSGFuZGJvb2svSW5zdGFsbGF0aW9uL09wdGlvbmFsX1NldHRpbmdzIiB0YXJnZXQ9Il9ibGFuayI+R2V0IGhlbHA8L2E+JzsKJGxhbmdbJ2NyZWF0ZV9hX3NpdGVtYXAnXSA9ICdIYXZlIGEgR29vZ2xlIFhNTCBTaXRlbWFwIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgeW91JzsKJGxhbmdbJ2F1dG9tYXRpY2FsbHlfdXBsb2FkX3NpdGVtYXAnXSA9ICdIYXZlIHlvdXIgWE1MIFNpdGVtYXAgYXV0b21hdGljYWxseSB1cGxvYWRlZCB0byBHb29nbGUnOwokbGFuZ1snY3JlYXRlX3JvYm90cyddID0gJ0hhdmUgYSByb2JvdHMudHh0IGZpbGUgYXV0b21hdGljYWxseSBjcmVhdGVkIGZvciB5b3UnOwokbGFuZ1snc2l0ZW1hcF9ub3Rfd3JpdGVhYmxlJ10gPSAnWW91ciBzaXRlbWFwLnhtbCBmaWxlIGlzIG5vdCB3cml0ZWFibGUnOwokbGFuZ1snY2htb2Rfc2l0ZW1hcCddID0gJ1NldCB5b3VyIC9zaXRlbWFwLnhtbCBmaWxlIHRvIGJlIHdyaXRlYWJsZSBieSB0aGUgd2ViIHNlcnZlcic7CiRsYW5nWydyb2JvdHNfbm90X3dyaXRlYWJsZSddID0gJ1lvdXIgcm9ib3RzLnR4dCBmaWxlIGlzIG5vdCB3cml0ZWFibGUnOwokbGFuZ1snbm9fb3BlbmdyYXBoX2FkbWlucyddID0gJ1lvdSBoYXZlIG5vdCBzZXQgYW4gT3BlbkdyYXBoIGFkbWluIGFwcGxpY2F0aW9uIHJlc3AuIGFkbWluIGxpc3QnOwokbGFuZ1snbm9fb3BlbmdyYXBoX3R5cGUnXSA9ICdZb3UgaGF2ZSBub3Qgc2V0IHRoZSBkZWZhdWx0IE9wZW5HcmFwaCBwYWdlIHR5cGUnOwokbGFuZ1snbm9fb3BlbmdyYXBoX3NpdGVuYW1lJ10gPSAnWW91IGhhdmUgbm90IHNldCB0aGUgT3BlbkdyYXBoIHNpdGUgbmFtZSc7CiRsYW5nWydub19vcGVuZ3JhcGhfaW1hZ2UnXSA9ICdZb3UgaGF2ZSBub3Qgc2V0IGFuIE9wZW5HcmFwaCBkZWZhdWx0IGltYWdlJzsKJGxhbmdbJ2NobW9kX3JvYm90cyddID0gJ1NldCB5b3VyIC9yb2JvdHMudHh0IGZpbGUgdG8gYmUgd3JpdGVhYmxlIGJ5IHRoZSB3ZWIgc2VydmVyJzsKJGxhbmdbJ2VkaXRfcGFnZSddID0gJ0VkaXQgJXMnOwokbGFuZ1snZWRpdF9wYWdlX3RvX2ZpeCddID0gJ0NsaWNrIGhlcmUgdG8gZWRpdCB0aGUgcGFnZSBhbmQgZml4IHRoZSBwcm9ibGVtJzsKJGxhbmdbJ3Zpc2l0X3NldHRpbmdzJ10gPSAnQ2hhbmdlIHNldHRpbmdzJzsKCiRsYW5nWydwYWdlX2lkJ10gPSAnSUQnOwokbGFuZ1sncGFnZV9uYW1lJ10gPSAnUGFnZSBuYW1lJzsKJGxhbmdbJ3BhZ2VfbWVudXRleHQnXSA9ICdQYWdlIG1lbnUgdGV4dCc7CiRsYW5nWydwcmlvcml0eSddID0gJ1NpdGVtYXAgUHJpb3JpdHknOwokbGFuZ1snb2dfdHlwZSddID0gJ09wZW5HcmFwaCB0eXBlJzsKJGxhbmdbJ2tleXdvcmRzJ10gPSAnIyBLZXl3b3Jkcyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2luZGV4J10gPSAnSW5kZXgnOwokbGFuZ1snZm9sbG93J10gPSAnRm9sbG93JzsKCiRsYW5nWydjbGlja190b19hZGRfZGVzY3JpcHRpb24nXSA9ICdDbGljayBoZXJlIHRvIGFkZCBhIHBhZ2UgZGVzY3JpcHRpb24nOwokbGFuZ1sndG9nZ2xlJ10gPSAndG9nZ2xlJzsKJGxhbmdbJ3Jlc2V0J10gPSAncmVzZXQnOwokbGFuZ1sncmVzZXRfdG9fZGVmYXVsdCddID0gJ1Jlc2V0IHRoaXMgdG8gdGhlIGRlZmF1bHQgdmFsdWUnOwokbGFuZ1snZWRpdF92YWx1ZSddID0gJ1tFZGl0XSc7CiRsYW5nWydhZG1pbl92aWV3J10gPSAnUXVpY2sgdW5mb3JtYXR0ZWQgdmlldyBvZiB5b3VyIG1haW4gY29udGVudCBibG9jayc7CiRsYW5nWydlZGl0X3BhZ2UnXSA9ICdbRWRpdCBQYWdlXSc7CiRsYW5nWyd2aWV3X3BhZ2UnXSA9ICdbVmlldyBpbiBCcm93c2VyXSc7CiRsYW5nWydjb21waWxlX3VkdHMnXSA9ICdVc2UgU21hcnR5IHRvIGNvbXBpbGUgVURUcyBpbiB0aGUgY29udGVudCBwcmV2aWV3IG9uIHRoZSBLZXl3b3JkIEVkaXQgc2NyZWVuJzsKJGxhbmdbJ2NvbXBpbGVfdWR0c19oZWxwJ10gPSAnKFVuY2hlY2sgdGhpcyBvcHRpb24gaWYgaXQgY2F1c2VzIHByb2JsZW1zLiBTbWFydHkgdGFncyBpbiB0aGUgcHJldmlldyB3aWxsIHRoZW4gYXBwZWFyIGFzIG5vcm1hbCB0ZXh0LiknOwoKJGxhbmdbJ2hlbHBfb3BlbmdyYXBoJ10gPSAnTG9vayA8YSBocmVmPSJodHRwOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9vcGVuZ3JhcGgjdHlwZXMiIHRhZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IGZvciBhIGxpc3Qgb2YgYWxsb3dlZCB2YWx1ZXMnOwokbGFuZ1snZW50ZXJfbmV3X29ndHlwZSddID0gJ0VudGVyIHRoZSBuZXcgdmFsdWUgZm9yIHRoaXMgcGFnZVwncyBPcGVuR3JhcGggdHlwZSc7CiRsYW5nWydoZWxwX25ld19vZ3R5cGUnXSA9ICdMZWF2ZSBibGFuayB0byByZXZlcnQgdG8gdGhlIGRlZmF1bHQgc2V0dGluZyc7CgokbGFuZ1snZW50ZXJfbmV3X2tleXdvcmRzJ10gPSAnRW50ZXIgdGhlIG5ldyBrZXl3b3JkcyBmb3IgdGhpcyBwYWdlJzsKJGxhbmdbJ2hlbHBfbmV3X2tleXdvcmRzJ10gPSAnQ09NTUEgc2VwYXJhdGVkIGxpc3Qgb2Yga2V5d29yZHMuIExlYXZlIGJsYW5rIHRvIHJldmVydCB0byBhdXRvIGdlbmVyYXRlZCBrZXl3b3Jkcyc7CiRsYW5nWydtZXRhZGVzY3JpcHRpb25fY29udGVudCddID0gJ01ldGEgRGVzY3JpcHRpb24gVGFnIENvbnRlbnQnOwokbGFuZ1snbm9fbWV0YWRlc2NyaXB0aW9uJ10gPSAnPGVtPjxzdHJvbmc+Tk8gTUVUQSBERVNDUklQVElPTiBTRVQgRk9SIFRISVMgUEFHRSE8L3N0cm9uZz48L2VtPic7CgokbGFuZ1snZ3JvdXB0aXRsZV9vcGVuZ3JhcGgnXSA9ICdXZSBoYXZlIGRldGVjdGVkICVzIE9wZW5HcmFwaCByZWxhdGVkIHByb2JsZW0ocyknOwokbGFuZ1snZ3JvdXB0aXRsZV9zeXN0ZW0nXSA9ICdXZSBoYXZlIGRldGVjdGVkICVzIHByb2JsZW0ocykgd2l0aCB5b3VyIHN5c3RlbSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2dyb3VwdGl0bGVfcGFnZXMnXSA9ICdXZSBoYXZlIGRldGVjdGVkICVzIHByb2JsZW0ocykgb24geW91ciBjb250ZW50IHBhZ2VzJzsKJGxhbmdbJ2dyb3VwdGl0bGVfc2V0dGluZ3MnXSA9ICdXZSBoYXZlIGRldGVjdGVkICVzIHByb2JsZW0ocykgd2l0aCB5b3VyIFNFTyBTZXR0aW5ncyc7CiRsYW5nWydncm91cHRpdGxlX2Rlc2NyaXB0aW9ucyddID0gJ1dlIGhhdmUgZGV0ZWN0ZWQgJXMgcHJvYmxlbShzKSB3aXRoIHlvdXIgcGFnZSBkZXNjcmlwdGlvbnMnOwokbGFuZ1snZ3JvdXB0aXRsZV90aXRsZXMnXSA9ICdXZSBoYXZlIGRldGVjdGVkICVzIHByb2JsZW0ocykgd2l0aCB5b3VyIHBhZ2UgdGl0bGVzJzsKCiRsYW5nWyd2aWV3X2FsbCddID0gJ1ZpZXcgYWxsJzsKCiRsYW5nWyd0aXRsZV9tZXRhc2V0dGluZ3MnXSA9ICdQYWdlIHRpdGxlICZhbXA7IE1ldGEgaW5mb3JtYXRpb24nOwokbGFuZ1sndGl0bGVfc2l0ZW1hcHNldHRpbmdzJ10gPSAnU2l0ZW1hcCAmYW1wOyBDcmF3bGVyIHNldHRpbmdzJzsKJGxhbmdbJ3RpdGxlX2tleXdvcmRzZXR0aW5ncyddID0gJ0tleXdvcmQgZ2VuZXJhdG9yIHNldHRpbmdzJzsKCiRsYW5nWydkZXNjcmlwdGlvbl9hdXRvX2dlbmVyYXRlJ10gPSAnQXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIHBhZ2UgZGVzY3JpcHRpb24gd2hlcmUgbm9uZSBpcyBwcm92aWRlZCc7CiRsYW5nWydkZXNjcmlwdGlvbl9hdXRvX3RpdGxlJ10gPSAnVGV4dCBmb3IgYXV0by1nZW5lcmF0ZWQgZGVzY3JpcHRpb25zJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX2F1dG9faGVscCddID0gJyhZb3UgPGI+bXVzdDwvYj4gaW5jbHVkZSB0aGUgdGFnIHtrZXl3b3Jkc30gaGVyZSknOwoKJGxhbmdbJ3NldF91cF9hdXRvX2Rlc2NyaXB0aW9uJ10gPSAnU2V0IHVwIHRoZSBkZXNjcmlwdGlvbiBhdXRvLWdlbmVyYXRvciBhbmQgZW5zdXJlIHRoZSB0ZXh0IGNvbnRhaW5zIHRoZSB0YWcge2tleXdvcmRzfSc7CiRsYW5nWydhdXRvX2dlbmVyYXRlZCddID0gJ0F1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkJzsKJGxhbmdbJ2FuZCddID0gJ2FuZCc7CgokbGFuZ1sndGl0bGVfa2V5d29yZF93ZWlnaHQnXSA9ICdLZXl3b3JkIHdlaWdodCBzZXR0aW5ncyc7CiRsYW5nWydrZXl3b3JkX21pbmxlbmd0aF90aXRsZSddID0gJ01pbmltdW0ga2V5d29yZCBsZW5ndGgnOwokbGFuZ1sna2V5d29yZF9taW5sZW5ndGhfaGVscCddID0gJyhUaGUgbWluaW11bSBsZW5ndGggb2YgYSB3b3JkIHRvIGJlIGNvbnNpZGVyZWQgYXMgYSBrZXl3b3JkKSc7CiRsYW5nWydrZXl3b3JkX3RpdGxlX3dlaWdodF90aXRsZSddID0gJ1dlaWdodCBvZiB3b3JkcyBpbiB0aGUgcGFnZSB0aXRsZSc7CiRsYW5nWydrZXl3b3JkX3RpdGxlX3dlaWdodF9oZWxwJ10gPSAnKFRoZSB3ZWlnaHQgb2Ygd29yZHMgaW4gdGhlIHBhZ2UgdGl0bGUuIFRoZSBoaWdoZXIgYSB3b3JkXCdzIHdlaWdodCwgdGhlIG1vcmUgbGlrZWx5IGl0IGlzIHRvIGJlY29tZSBhIGtleXdvcmQpJzsKJGxhbmdbJ2tleXdvcmRfZGVzY3JpcHRpb25fd2VpZ2h0X3RpdGxlJ10gPSAnV2VpZ2h0IG9mIHdvcmRzIGluIHRoZSBwYWdlIGRlc2NyaXB0aW9uJzsKJGxhbmdbJ2tleXdvcmRfZGVzY3JpcHRpb25fd2VpZ2h0X2hlbHAnXSA9ICcoVGhlIHdlaWdodCBvZiB3b3JkcyBpbiB0aGUgcGFnZSBkZXNjcmlwdGlvbi4gVGhlIGhpZ2hlciBhIHdvcmRcJ3Mgd2VpZ2h0LCB0aGUgbW9yZSBsaWtlbHkgaXQgaXMgdG8gYmVjb21lIGEga2V5d29yZCknOwokbGFuZ1sna2V5d29yZF9oZWFkbGluZV93ZWlnaHRfdGl0bGUnXSA9ICdXZWlnaHQgb2Ygd29yZHMgaW4gY29udGVudCBoZWFkbGluZXMnOwokbGFuZ1sna2V5d29yZF9oZWFkbGluZV93ZWlnaHRfaGVscCddID0gJyhUaGUgd2VpZ2h0IG9mIHdvcmRzIGJldHdlZW4gJmx0O2gxJmd0OyB0byAmbHQ7aDYmZ3Q7IHRhZ3MuIFRoZSBoaWdoZXIgYSB3b3JkXCdzIHdlaWdodCwgdGhlIG1vcmUgbGlrZWx5IGl0IGlzIHRvIGJlY29tZSBhIGtleXdvcmQpJzsKJGxhbmdbJ2tleXdvcmRfY29udGVudF93ZWlnaHRfdGl0bGUnXSA9ICdXZWlnaHQgb2Ygd29yZHMgaW4gcGxhaW4gY29udGVudCc7CiRsYW5nWydrZXl3b3JkX2NvbnRlbnRfd2VpZ2h0X2hlbHAnXSA9ICcoVGhlIHdlaWdodCBvZiB3b3JkcyBpbnNpZGUgdGhlIHBsYWluIGNvbnRlbnQuIFRoZSBoaWdoZXIgYSB3b3JkXCdzIHdlaWdodCwgdGhlIG1vcmUgbGlrZWx5IGl0IGlzIHRvIGJlY29tZSBhIGtleXdvcmQpJzsKCiRsYW5nWydrZXl3b3JkX21pbmltdW1fd2VpZ2h0X3RpdGxlJ10gPSAnTWluaW11bSB0b3RhbCB3ZWlnaHQgb2YgYSBrZXl3b3JkJzsKJGxhbmdbJ2tleXdvcmRfbWluaW11bV93ZWlnaHRfaGVscCddID0gJyhUaGUgbWluaW11bSB0b3RhbCB3ZWlnaHQgb2YgYSB3b3JkIHRvIGJlY29tZSBhIGtleXdvcmQuIFNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhlIGhpZ2hlc3Qgd2VpZ2h0IGZyb20gYWJvdmUuIFRoZSBzbWFsbGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIGtleXdvcmRzIHlvdSBnZXQpJzsKCiRsYW5nWydoZWxwX2tleXdvcmRfZ2VuZXJhdG9yJ10gPSAnVGhlIHNldHRpbmdzIHlvdSBjaGFuZ2Ugb24gdGhpcyBwYWdlIHdpbGwgbm90IGFmZmVjdCBhbnkga2V5d29yZHMgeW91IGVudGVyIG1hbnVhbGx5LiBGZWVsIGZyZWUgdG8gcGxheSB3aXRoIGFsbCB2YWx1ZXMgdW50aWwgeW91IGdldCB0aGUgYmVzdCByZXN1bHRzIGZvciB5b3VyIHBhZ2UuJzsKCiRsYW5nWyd0aXRsZV9rZXl3b3JkX2V4Y2x1ZGUnXSA9ICdLZXl3b3JkIGV4Y2x1c2lvbiBsaXN0JzsKJGxhbmdbJ2tleXdvcmRfZXhjbHVkZV90aXRsZSddID0gJ1dvcmRzIHRvIG5ldmVyIGNvbnNpZGVyIGFzIGtleXdvcmRzJzsKJGxhbmdbJ2tleXdvcmRfZXhjbHVkZV9oZWxwJ10gPSAnKFByb3ZpZGUgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiB3b3JkcyB0aGF0IHNob3VsZCBuZXZlciBhcHBlYXIgaW4ga2V5d29yZCBsaXN0cyknOwoKJGxhbmdbJ2luY3JlYXNlX3ByaW9yaXR5J10gPSAnYnkgMTAlJzsKJGxhbmdbJ2RlY3JlYXNlX3ByaW9yaXR5J10gPSAnYnkgMTAlJzsKCiRsYW5nWyd0aXRsZV9yZWdlbmVyYXRlX3NpdGVtYXAnXSA9ICJSZWdlbmVyYXRlIHNpdGVtYXAgYW5kIHJvYm90cy50eHQiOwokbGFuZ1snYnV0dG9uX3JlZ2VuZXJhdGVfc2l0ZW1hcCddID0gIlJlZ2VuZXJhdGUgc2l0ZW1hcCBhbmQgcm9ib3RzLnR4dCBub3ciOwokbGFuZ1sndGV4dF9yZWdlbmVyYXRlX3NpdGVtYXAnXSA9ICJJdCBjYW4gYmUgbmVjZXNzYXJ5IHRvIHJlZ2VuZXJhdGUgdGhlIHNpdGVtYXAgYW5kIHJvYm90cy50eHQgZmlsZSBhZnRlciBleHRlbnNpdmUgY2hhbmdlcyB0byB0aGUgcGFnZSBzdHJ1Y3R1cmUiOwokbGFuZ1snc2l0ZW1hcF9yZWdlbmVyYXRlZCddID0gIkJvdGggdGhlIHNpdGVtYXAgYW5kIHRoZSByb2JvdHMudHh0IGZpbGVzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgcmVnZW5lcmF0ZWQuIjsKJGxhbmdbJ3NpdGVtYXBfb25seV9yZWdlbmVyYXRlZCddID0gIk9ubHkgdGhlIHNpdGVtYXAgZmlsZSB3YXMgcmVnZW5lcmF0ZWQuIjsKJGxhbmdbJ3RpdGxlX2N1c3RvbV9yb2JvdHNfZGVzY3JpcHRpb24nXSA9ICdDdXN0b20gcm9ib3RzLnR4dCBjb250ZW50JzsKJGxhbmdbJ3JvYm90c19iZWZvcmUnXSA9ICdDdXN0b20gcnVsZXMgdG8gaW5zZXJ0IGJlZm9yZSBVc2VyLUFnZW50OionOwokbGFuZ1sncm9ib3RzX2FmdGVyJ10gPSAnQ3VzdG9tIHJ1bGVzIHRvIGluc2VydCBhZnRlciBDTVNNUyBzdGFuZGFyZCBydWxlcyc7CgokbGFuZ1sncm9ib3RzX3N1cmVfZGVsZXRlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlcGxhY2UgdGhlIHJvYm90cy50eHQgaW4gdGhlIHJvb3QgZGlyZWN0b3J5Pyc7CiRsYW5nIFsncm9ib3RzX29sZF9maWxlJ10gPSAnQmVsb3cgaXMgYSBjb3B5IG9mIHRoZSBleGlzdGluZyByb2JvdHMudHh0IGZpbGUnOwoKJGxhbmdbJ2luc3RhbGxfZGF0YWJhc2VfZXJyb3InXSA9ICJBbiBlcnJvciBoYXMgb2NjdXJlZCBkdXJpbmcgaW5zdGFsbGF0aW9uOiBUaGUgZGF0YWJhc2UgdGFibGUgY291bGQgbm90IGJlIGNyZWF0ZWQuIjsKJGxhbmdbJ25vX3VybF9mb3BlbiddID0gIk5vdCBwb3NzaWJsZSBhcyBhbGxvd191cmxfZm9wZW4gaGFzIG5vdCBiZWVuIHNldCB0byAmcXVvdDtvbiZxdW90OyBpbiB5b3VyIHBocCBjb25maWd1cmF0aW9uLiI7CiRsYW5nWyd0aXRsZV9hZGRpdGlvbmFsX21ldGFfdGFncyddID0gIkFkZGl0aW9uYWwgTWV0YSB0YWdzIjsKJGxhbmdbJ2FkZGl0aW9uYWxfbWV0YV90YWdzX3RpdGxlJ10gPSAiQWRkaXRpb25hbCBNZXRhIHRhZ3MgdG8gYmUgaW5zZXJ0ZWQiOwokbGFuZ1snYWRkaXRpb25hbF9tZXRhX3RhZ3NfaGVscCddID0gIlNwZWNpZnkgYWRkaXRpb25hbCBNZXRhIHRhZ3MgaGVyZSB0byBiZSBpbnNlcnRlZCBpbnRvIHRoZSBwYWdlIGhlYWRlci4gWW91IGNhbiB1c2UgYWxsIHNtYXJ0eSB2YXJpYWJsZXMgYW5kIFVEVHMgaGVyZS4iOwoKCiRsYW5nWydzaXRlbWFwX3RpdGxlJ10gPSAnVXBkYXRlIFNFT1Rvb2xzMic7CiRsYW5nWydzaXRlbWFwX21lc3NhZ2UnXSA9ICdUaGlzIHBhZ2Ugd2FzIHByZXZpb3VzbHkgbWFya2VkIGluYWN0aXZlLiAgUGxlYXNlIHVwZGF0ZSB0aGUgU0VPVG9vbHMyIHNldHRpbmdzLic7CiRsYW5nWydzaXRlbWFwX2FkZF9pbmRleCddID0gJ0FkZCB0aGlzIHBhZ2UgdG8gdGhlIHNpdGVtYXAueG1sJzsKJGxhbmdbJ3NpdGVtYXBfYWRkX2ZvbGxvdyddID0gJ0FsbG93IHJvYm90cyB0byBmb2xsb3cgbGlua3MnOwoKCiRsYW5nWydoZWxwX3Nob3diYXNlJ10gPSAiU2V0IHRoaXMgcGFyYW1ldGVyIHRvIDxjb2RlPmZhbHNlPC9jb2RlPiB0byBzdXBwcmVzcyB0aGUgb3V0cHV0IG9mIHRoZSBiYXNlIGhyZWYgdGFnLiI7CgokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgo8bGk+VmVyc2lvbiAxLjAgLSAyNSBKYW51YXJ5IDIwMTIuIEluaXRpYWwgcmVsZWFzZS4gVGhpcyBpcyBhIGZvcmsgb2YgdGhlIFNFT1Rvb2xzIG1vZHVsZSB3aXRoIENNU01TIDEuMTArIGNvbXBhdGliaWxpdHkuIENoYW5nZXMgaW5jbHVkZToKCTx1bD4KCQk8bGk+U2V0IHByZWZlcmVuY2VzIG9uIGluc3RhbGw8L2xpPgoJCTxsaT5SZW1vdmUgcHJlZmVyZW5jZXMgb24gdW5pbnN0YWxsPC9saT4KCQk8bGk+UmVwbGFjZSBhbGwgcmVmZXJlbmNlIHRvIEhpZXJhcmNoeU1hbmFnZXIgb2JqZWN0cyB3aXRoIENvbnRlbnRPcGVyYXRpb25zIG9iamVjdHM8L2xpPgoJCTxsaT5HZW5lcmF0ZSBhbGwga2V5d29yZHMsIGtleXdvcmQgc3VnZ2VzdGlvbnMsIGRlc2NyaXB0aW9ucyBhbmQgZGVmYXVsdCBkZXNjcmlwdGlvbnM8L2xpPgoJCTxsaT5HZW5lcmF0ZSBzaXRlbWFwLnhtbCBhbmQgcm9ib3RzLnR4dCBmaWxlczwvbGk+CgkJPGxpPlJldGFpbiBjaGVja2JveCBwcmVmZXJlbmNlIHNldHRpbmdzIGFmdGVyIHN1Ym1pdDwvbGk+CgkJPGxpPk9uIGZyb250ZW5kIHBhZ2UgbG9hZCwgZW5zdXJlIHRoYXQgYSBjb3JyZXNwb25kaW5nIHJlY29yZCBleGlzdHMgaW4gdGhlIHNlb3Rvb2xzMiBkYXRhYmFzZSB0YWJsZTwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjAuMSAtIDI1IEphbnVhcnkgMjAxMi4gTWlub3IgYnVnIGZpeDwvbGk+CjxsaT5WZXJzaW9uIDEuMC4yIC0gMSBGZWJydWFyeSAyMDEyLiBCdWcgZml4PC9saT4KPGxpPlZlcnNpb24gMS4wLjMgLSAxIEZlYnJ1YXJ5IDIwMTIuIEJ1ZyBmaXg8L2xpPgo8bGk+VmVyc2lvbiAxLjAuNCAtIDEgRmVicnVhcnkgMjAxMi4gQ29ycmVjdGlvbjwvbGk+CjxsaT5WZXJzaW9uIDEuMC41IC0gNiBGZWJydWFyeSAyMDEyLiBBZGQgZXZlbnQgaGFuZGxlcnMgdG8gcHVzaCBzaXRlbWFwIHRvIEdvb2dsZSB3ZWJtYXN0ZXJzPC9saT4KPGxpPlZlcnNpb24gMS4wLjYgLSA1IE1hcmNoIDIwMTIuIEltcHJvdmVkIGhhbmRsaW5nIG9mIHNzbCB1cmxzIGFuZCBidWcgZml4IHdoZW4gdGhlcmUgYXJlIG5vIHNob3J0IG1ldGEgZGVzY3JpcHRpb25zPC9saT4KPGxpPlZlcnNpb24gMS4wLjcgLSA5IEFwcmlsIDIwMTIuIEJ1ZyBmaXg8L2xpPgo8bGk+VmVyc2lvbiAxLjAuOCAtIDkgQXByaWwgMjAxMi4gQnVnIGZpeDwvbGk+CjxsaT5WZXJzaW9uIDEuMC45IC0gMTEgQXByaWwgMjAxMi4KICAgIDx1bD4KICAgICAgICA8bGk+TW9yZSBpbXByb3ZlbWVudHMgdG8gc3NsIGhhbmRsaW5nIGVzcGVjaWFsbHkgaW4gdGhlIHNpdGVtYXAueG1sICh0aGFua3MgYW5kcmllc2luZm9zZXJ2KTwvbGk+CiAgICAgICAgPGxpPkFiaWxpdHkgdG8gc2hvdyBhbnkgQWN0aXZlIHBhZ2UsIG5vdCBqdXN0IHBhZ2VzIHdpdGggQWN0aXZlIGFuZCBTaG93IEluIE1lbnUgaW4gdGhlIHNpdGVtYXAueG1sICh0aGFua3MgTWF0dCk8L2xpPgogICAgPC91bD4KPGxpPlZlcnNpb24gMS4wLjEwIC0gMjQgTWF5IDIwMTIgLSBtb3N0bHkgaW1wcm92ZW1lbnRzIGluIHRoZSBzaXRlbWFwIGFyZWEsIGllOgogICAgPHVsPgogICAgICAgIDxsaT5BbGxvd3Mgc2l0ZW1hcCBpbmRleGluZyBvZiBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgVVJMIGxpbmtzPC9saT4KICAgICAgICA8bGk+RmlsdGVycyBvdXQgRXJyb3IgUGFnZSBmcm9tIHNpdGVtYXAueG1sPC9saT4KICAgIDwvdWw+CjxsaT5WZXJzaW9uIDEuMC4xMSAtIDE0IEF1Z3VzdCAyMDEyLiBDTVNNUyAxLjExIGNvbXBhdGliaWxpdHkgKHRoYW5rcyBsZWVyb3licnVuIGFuZCBwb3N0aWZmbSk8L2xpPgo8bGk+VmVyc2lvbiAxLjEgLSA4IFNlcHRlbWJlciAyMDEyLiBCZXR0ZXIgZnV0dXJlLXByb29maW5nIGZvciBDTVNNUyAxLjExIGNvbXBhdGliaWxpdHkgYW5kIGEgZmV3IG1vcmUgZmVhdHVyZXMKCTx1bD4KCQk8bGk+T3B0aW9uIHRvIGluY2x1ZGUgZm9sbG93L25vZm9sbG93IGFzIHdlbGwgYXMgaW5kZXgvbm9pbmRleCB0byBtZXRhIHJvYm90cyB0YWc8L2xpPgoJCTxsaT5KcXVlcnkgYWpheCBzdXBwb3J0IGZvciBQcmlvcml0eSwgSW5kZXggYW5kIEZvbGxvdyB0b2dnbGluZy48L2xpPgoJCTxsaT5Qcm9jZXNzIHNtYXJ0eSB0YWdzIGluIHRoZSBtZXRhIGRlc2NyaXB0aW9uIGFuZCBtZXRhIGNvcHlyaWdodCBmaWVsZHM8L2xpPgoJCTxsaT5JbmNsdWRlIG1ldGEgdmlld3BvcnQgdGFnIGJ5IGRlZmF1bHQgdG8gdGhlIGFkZGl0aW9uYWwgbWV0YSB0YWdzPC9saT4KCQk8bGk+S2V5d29yZCBlZGl0IHNjcmVlbiBub3cgc2hvd3MgYSBwcmV2aWV3IG9mIHRoZSBwYWdlIGNvbnRlbnQgZm9yIHF1aWNrIHJlZmVyZW5jZSwgYXMgd2VsbCBhcyBsaW5rcyB0byBlZGl0IG9yIHZpZXcgdGhlIGZyb250ZW5kIHZlcnNpb24gb2YgdGhlIHBhZ2UuPC9saT4KCQk8bGk+UmVzdHJ1Y3R1cmVkIGRlZmF1bHRhZG1pbiB0YWIgZmlsZXMgdG8gYmUgYSBsaXR0bGUgbW9yZSBtYW5hZ2VhYmxlLjwvbGk+CgkJPGxpPk91dHB1dHMgb25seSBIVE1MNSByZWdpc3RlcmVkIG1ldGEgdGFncyB3aGVuIEhUTUw1IGlzIHNwZWNpZmllZC4gKFRoYW5rcyB1bmlxdTMpPC9saT4KCQk8bGk+VXNlcyBjYW5vbmljYWwgVVJMIHdoZW4gYXZhaWxhYmxlLiAoVGhhbmtzIGluZm9hbmRyaWVzKTwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIgLSA2IEFwcmlsIDIwMTMuIEV2ZW4gbW9yZSBmZWF0dXJlcyBpbmNsdWRpbmcgQ09NTUEtU0VQQVJBVEVEIEtFWVdPUkRTIQoJPHVsPgoJCTxsaT5PdXRwdXRzIHJvYm90cy50eHQgZmlsZSB0byB0aGUgcm9vdCBkaXJlY3RvcnkgcmVnYXJkbGVzcyB3aGVyZSBDTVNNUyBpcyBpbnN0YWxsZWQuPC9saT4KCQk8bGk+QWJpbGl0eSB0byBpbmNsdWRlIGN1c3RvbSBydWxlcyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBzdGFuZGFyZCBDTVNNUyByb2JvdHMudHh0IHJ1bGVzLjwvbGk+CgkJPGxpPkFzc2lnbmluZyBhIG1vZHVsZSBjdXN0b20gZmllbGQgdG8gU21hcnR5IHdpdGggdGhlIHNhbWUgdmFyIG5hbWUgYXMgdGhlIFNFT1Rvb2xzMiBibG9jayBuYW1lIGZvciB0aGUgbWV0YSBkZXNjcmlwdGlvbiBpbiBtb2R1bGUgZGV0YWlsIHBhZ2VzIGVnIE5ld3MsIFByb2R1Y3RzLCBDR0Jsb2cgZXRjLCBhdXRvbWF0aWNhbGx5IHJlcGxhY2VzIHRoZSBwYWdlIG1ldGEgZGVzY3JpcHRpb24gd2l0aG91dCBuZWVkaW5nIHRvIGVkaXQgdGhlIHBhZ2UgdGVtcGxhdGUuIChUaGFua3MgQ2hyaXMpLjwvbGk+CgkJPGxpPllvdSBjYW4gbm9taW5hdGUgYSBTbWFydHkgdmFyIHRoYXQgY29udGFpbnMga2V5d29yZHMgZnJvbSBtb2R1bGUgY3VzdG9tIGZpZWxkIG9uIGEgZGV0YWlsIHBhZ2UgZWcgTmV3cywgUHJvZHVjdHMsIENHQmxvZyBldGMsIHRoYXQgd2lsbCBhdXRvbWF0aWNhbGx5IHJlcGxhY2UgdGhlIHBhZ2Uga2V5d29yZHMgd2l0aG91dCBuZWVkaW5nIHRvIGVkaXQgdGhlIHBhZ2UgdGVtcGxhdGUuPC9saT4KCQk8bGk+QXV0b21hdGljYWxseSBpbnNlcnRzICZsdDtiYXNlJmd0OyB0YWcgcmVnYXJkbGVzcyB3aGV0aGVyIHNwZWNpZmllZCBhcyBhIHBhcmFtZXRlciBpbiB0aGUgU0VPVG9vbHMyIHRhZy4gKFRoYW5rcyB1bmlxdTMpLjwvbGk+CgkJPGxpPldoZW4gYm90aCB7U0VPVG9vbHMyfSBhbmQge21ldGFkYXRhfSB0YWdzIGV4aXN0IGluIHRoZSBwYWdlIHRlbXBsYXRlLCBlbnN1cmVzIG9ubHkgb25lICZsdDtiYXNlJmd0OyB0YWcgaXMgb3V0cHV0LjwvbGk+CgkJPGxpPlVzZXMgQ09NTUEtU0VQQVJBVEVEIGtleXdvcmQgbGlzdHMhIFVwZ3JhZGUgd2lsbCBjb252ZXJ0IGV4aXN0aW5nIHNwYWNlLXNlcGFyYXRlZCBsaXN0cy4gKFRoYW5rcyB0byBhbGwgd2hvIHJlcXVlc3RlZCB0aGlzIGZlYXR1cmUpLjwvbGk+CgkJPGxpPkFsbCBTRU9Ub29sczIgZGIgZnVuY3Rpb25zIG9jY3VyIGluIHRoZSBhZG1pbiBzZWN0aW9uIHRvIGhlbHAgc3BlZWQgdXAgZnJvbnRlbmQgcGFnZSBsb2FkLjwvbGk+CgkJPGxpPk5ld2x5IGNyZWF0ZWQgcGFnZXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBzaXRlIG1hcC48L2xpPgoJCTxsaT5JbmFjdGl2ZSBwYWdlcyBjaGFuZ2VkIHRvIEFjdGl2ZSBhdXRvbWF0aWNhbGx5IHJlaW5zdGF0ZWQgaW4gc2l0ZSBtYXAuPC9saT4KCQk8bGk+QnVnIGZpeCBmb3Igb2c6aW1hZ2UgdGFnIChUaGFua3MgQ2hyaXMgYW5kIHN3YXJmZWdhKTwvbGk+CgkJPGxpPkJ1ZyBmaXggaW4gZGIgcXVlcnkgKFRoYW5rcyBNaWNoYWVsKTwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIuMSAtIDE5IEFwcmlsIDIwMTMuIEJ1ZyBmaXhlczwvbGk+CjwvdWw+CkVPVDsKCiRsYW5nWydoZWxwJ10gPSAnPHN0eWxlPmRpdi5zZW8yIHAsIGRpdi5zZW8yIGxpLCBkaXYuc2VvMiBkaXYge21hcmdpbi1ib3R0b206IDEuMmVtO31saXtsaXN0LXN0eWxlLXR5cGU6c3F1YXJlfTwvc3R5bGU+CjxkaXYgY2xhc3M9InNlbzIiPgo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+U0VPVG9vbHMyIGhlbHBzIHlvdSB0byBnZXQgeW91ciBTRU8gKFNlYXJjaCBFbmdpbmUgT3B0aW1pemF0aW9uKSByaWdodC4gVGhlIG1vZHVsZSBhZGRzIHNldmVyYWwgU0VPIGNhcGFiaWxpdGllcyB0byB5b3VyIENNU01TIGluc3RhbGxhdGlvbiBhbmQgYWxlcnRzIHlvdSBpZiB5b3UgbWlzc2VkIG91dCBvbiBzb21ldGhpbmcgU0VPIHJlbGF0ZWQuIEN1cnJlbnRseSwgdGhlIGZvbGxvd2luZyBmZWF0dXJlcyBhcmUgc3VwcG9ydGVkOjwvcD4KPHVsPgo8bGk+IGdlbmVyYXRlcyBNZXRhIHRhZ3MgaW4gc3RhbmRhcmQgaHRtbCwgRHVibGluIENvcmUgYW5kIE9wZW5HcmFwaCBmb3JtYXRzPC9saT4KPGxpPiBhdXRvbWF0aWNhbGx5IGV4dHJhY3RzIGtleXdvcmRzIGZyb20geW91ciBwYWdlcyBhbmQgYWRkcyB0aGVtIHRvIHRoZSBtZXRhIHRhZ3MgYW5kIHBhZ2UgdGl0bGU8L2xpPgo8bGk+IGxldHMgeW91IGRldGVybWluZSB3aXRoIGEgc2luZ2xlIGNsaWNrIHdoZXRoZXIgY2VydGFpbiBwYWdlcyBzaG91bGQgYmUgaW5kZXhlZCBieSBzZWFyY2ggZW5naW5lcyBvciBub3Q8L2xpPgo8bGk+IGdlbmVyYXRlcyBhIHNpdGVtYXAueG1sIGZpbGUgd2l0aCB5b3VyIHBhZ2VzIHdoaWxlIGdpdmluZyB5b3UgZnVsbCBjb250cm9sIG92ZXIgdGhlIHByaW9yaXRpZXMgb2YgeW91ciBwYWdlczwvbGk+CjxsaT4gZ2VuZXJhdGVzIGEgcm9ib3RzLnR4dCBmaWxlIGV4cGxpY2l0bHkgZGlzYWxsb3dpbmcgYWNjZXNzIHRvIHBhZ2VzIHlvdSBkb25cJ3Qgd2FudCB0byBiZSBpbmRleGVkPC9saT4KPGxpPiBhbGVydHMgeW91IHdoZW4gdGhlcmUgYXJlIHNldmVyYWwgcGFnZXMgZmVhdHVyaW5nIHRoZSBzYW1lIHBhZ2UgdGl0bGVzIGFuZCBkZXNjcmlwdGlvbnM8L2xpPgo8bGk+IGFsZXJ0cyB5b3Ugd2hlbiB2ZXJ5IHNob3J0IHBhZ2UgbWV0YSBkZXNjcmlwdGlvbnMgYXJlIGRldGVjdGVkPC9saT4KPGxpPiBhdXRvbWF0aWNhbGx5IHN1Ym1pdHMgeW91ciBzaXRlbWFwIGZpbGUgdG8gR29vZ2xlIHdoZW4geW91IGNoYW5nZSB5b3VyIGNvbnRlbnQ8L2xpPgo8L3VsPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+Rmlyc3QsIG9wZW4gYWxsIHRlbXBsYXRlcyB3aGVyZSB5b3Ugd2FudCBkbyB1c2UgU0VPVG9vbHMyLiBSZW1vdmUgdGhlIGNvbXBsZXRlICZsdDt0aXRsZSZndDsgdGFnIGFuZCByZXBsYWNlIGl0IHdpdGggdGhlIG1vZHVsZSB0YWcuIFlvdSBtYXkgYWxzbyB3aXNoIHRvIHJlbW92ZSB0aGUge21ldGFkYXRhfSB0YWcuIFNob3VsZCB5b3UgZWxlY3QgdG8gbGVhdmUgaXQgdGhlcmUsIGVuc3VyZSB0aGF0IG5vIG1ldGEgdGFncyBhcmUgZHVwbGljYXRlZC4gUmVtb3ZlIGFueSBkdXBsaWNhdGVzIGZyb20gU2l0ZSBBZG1pbiAtIEdsb2JhbCBTZXR0aW5ncyAtIEdsb2JhbCBNZXRhZGF0YS4gPC9wPgo8cHJlPgp7U0VPVG9vbHMyfQo8L3ByZT48YnIgLz4KCjxwPklmIHlvdSBsZWZ0IHRoZSB7bWV0YWRhdGF9IHRhZyBpbiB0aGUgdGVtcGxhdGUsIHlvdSBjYW4gYWx0ZXJuYXRpdmVseSBwbGFjZSB0aGUge1NFT1Rvb2xzMn0gdGFnIGluIHRoZSBHbG9iYWwgTWV0YSB0ZXh0YXJlYS48L3A+CjxwPk5leHQsIGF0IHRoZSBib3R0b20gb2YgeW91ciB0ZW1wbGF0ZSAoYWZ0ZXIgdGhlIGNsb3NpbmcgJmx0Oy9ib2R5Jmd0OyB0YWcpLCBpbnNlcnQgdGhlIGZvbGxvd2luZyBjb2RlOjwvcD4KPHByZT4Ke2NvbnRlbnQgYmxvY2s9Im1ldGFkZXNjcmlwdGlvbiIgbGFiZWw9IlBhZ2UgRGVzY3JpcHRpb24iIG9uZWxpbmU9InRydWUiIGFzc2lnbj0ibWV0YWRlc2NyaXB0aW9uIn0KPC9wcmU+PGJyIC8+Cgo8cD5UaGlzIGlzIHdoZXJlIHlvdVwnbGwgZW50ZXIgYSBzaG9ydCBwYWdlIGRlc2NyaXB0aW9uIChvbmUgb3IgdHdvIHNlbnRlbmNlcykgdGhhdCB3aWxsIGFwcGVhciBpbiB0aGUgc2VhcmNoIGVuZ2luZVwncyByZXN1bHRzIGFuZCBpZiwgZm9yIGV4YW1wbGUsIHNvbWVvbmUgc2hhcmVzIGEgbGluayB0byB5b3VyIHBhZ2Ugb24gZmFjZWJvb2suPC9wPgoKPHA+Tm93LCB2aXNpdCB0aGUgYWRtaW4gdGFicyBmb3IgPGVtPlBhZ2UgVGl0bGUgJiBNZXRhIEluZm9ybWF0aW9uPC9lbT4sIHRoZSA8ZW0+U2l0ZW1hcCAmIENyYXdsZXIgU2V0dGluZ3M8L2VtPiBhbmQgdGhlIDxlbT5LZXl3b3JkIEdlbmVyYXRvciBTZXR0aW5nczwvZW0+IGFuZCBmaWxsIGluIGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbiBmb3IgeW91ciBzaXRlLiBVbmRlciAiTmFtZSBvZiBwYWdlIGRlc2NyaXB0aW9uIGNvbnRlbnQgYmxvY2siIHlvdSBuZWVkIHRvIGVudGVyIHRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIHlvdSBqdXN0IGFkZGVkIHRvIHlvdXIgdGVtcGxhdGVzICgibWV0YWRlc2NyaXB0aW9uIiBpbiBvdXIgZXhhbXBsZSkuPC9wPgo8cD5UaGUgdGFiICJTRU8gQWxlcnRzIiB3aWxsIGFsZXJ0IHlvdSBpZiBpdCBkZXRlY3RzIGFueXRoaW5nIHRoYXQgaXMgcmVxdWlyZWQgYnV0IG5vdCBhY3RpdmF0ZWQgb3IgZmlsbGVkIGluLiBZb3Ugc2hvdWxkIGFsc28gY29uc2lkZXIgc2lnbmluZyB1cCB5b3VyCnNpdGUgd2l0aCBHb29nbGUgV2VibWFzdGVyIHRvb2xzLiBUaGVyZSwgc2VsZWN0ICJNZXRhIHRhZyB2YWxpZGF0aW9uIiBhbmQgcGFzdGUgdGhlIHZlcmlmaWNhdGlvbiBjb2RlIChxdWl0ZSBhIGxvbmcgc3RyaW5nIG9mIGNoYXJhY3RlcnMgYW5kIG51bWJlcnMpIGludG8gdGhlIGJveCAiVmVyaWZpY2F0aW9uIENvZGUiIGluICJTRU8gU2V0dGluZ3MiIHRvIGF1dG9tYXRpY2FsbHkgdmVyaWZ5IHRoYXQgeW91IGFyZSByZWFsbHkKdGhlIG93bmVyIG9mIHlvdXIgcGFnZSAobm8gbmVlZCB0byBwYXN0ZSB0aGUgR29vZ2xlIE1ldGEtY29kZSBpbnRvIHlvdXIgdGVtcGxhdGUpLjwvcD4KPHA+QXMgc29vbiBhcyBldmVyeXRoaW5nIGlzIHNldCB1cCwgbG9vayBhdCB0aGUgIlNFTyBBbGVydHMiIHRhYiBhbmQgZml4IGFsbCBwcm9ibGVtcyBkZXRlY3RlZCBoZXJlLiBUYWtlIGNhcmUgdG8gaW5zZXJ0IGEgdW5pcXVlIHBhZ2UgZGVzY3JpcHRpb24gb24gZXZlcnkgcGFnZS48L3A+CjxwPkdvIHRvIHRoZSA8ZW0+UGFnZSBzZXR0aW5nczwvZW0+IHRhYiB3aGVyZSB5b3VcJ2xsIGZpbmQgYSBsaXN0IG9mIGFsbCBwYWdlcyB5b3UgaGF2ZSBpbiB5b3VyIHN5c3RlbS4gSGVyZSwgeW91IGNhbjo8L3A+Cjx1bD4KPGxpPlNldCB5b3VyIG93biBrZXl3b3JkcyAoaW5zdGVhZCBvZiB0aGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgb25lcykgb3IgT3BlbkdyYXBoIHR5cGUgZm9yIGNlcnRhaW4gcGFnZXM8L2xpPgo8bGk+QWRqdXN0IHRoZSBzaXRlbWFwIHByaW9yaXR5ICh3aGljaCBpcyBhdXRvLWNhbGN1bGF0ZWQgYnkgZGVmYXVsdCkgb2YgYSBwYWdlIHRvIGluZGljYXRlIHRoYXQgaXQgc2hvdWxkCmJlIGNvbnNpZGVyZWQgbW9yZSBpbXBvcnRhbnQgZm9yIHNlYXJjaCBlbmdpbmUgbWF0Y2hlcyBvbiB5b3VyIHBhZ2UuPC9saT4KPGxpPlByZXZlbnQgYWN0aXZlIHBhZ2VzIGZyb20gYmVpbmcgbGlzdGVkIGluIHRoZSBTaXRlIE1hcDwvbGk+CjxsaT5TcGVjaWZ5IHdoZXRoZXIgcm9ib3RzIHNob3VsZCBpbmRleCBvciBmb2xsb3cgdGhlIHBhZ2UgYW5kIGxpbmtzPC9saT4KPC91bD4KPHA+U0VPVG9vbHMyIHdpbGwgYWxzbyBhdXRvbWF0aWNhbGx5IGluc2VydCBhIGxpbmsgdG8gdGhlIGltYWdlIHRvIGJlIHVzZWQgYXMgdGhlIG1haW4gaW1hZ2Ugb2YgeW91ciBwYWdlIGlmIHlvdSBzZWxlY3QgYW4gIkltYWdlIiBmb3IgdGhlIHBhZ2UgZnJvbSB3aXRoaW4geW91ciBwYWdlXCdzICJPcHRpb25zIiB0YWIgKHRoaXMgaXMgaW1wb3J0YW50IGZvciBwZW9wbGUgc3VibWl0dGluZyBhIGxpbmsgdG8geW91ciBwYWdlIGUuZy4gb24gZmFjZWJvb2spLiBBbHNvLCBpZiB5b3UgYXJlIHVzaW5nIE9wZW5HcmFwaCwgdGhlIGltYWdlIHNlbGVjdGVkIGhlcmUKd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdCBPcGVuR3JhcGggaW1hZ2UgeW91IHNwZWNpZmllZCBmcm9tIHdpdGhpbiAiU0VPIFNldHRpbmdzIi4gUGxlYXNlIGJlIGF3YXJlIHRoYXQgeW91IG5lZWQgdG8gdXBsb2FkIHRob3NlIGltYWdlcyB0byB5b3VyIC91cGxvYWRzL2ltYWdlcyBkaXJlY3RvcnkuPC9wPgo8aDM+Q2FuIEkgdXNlIHNtYXJ0eSB2YXJpYWJsZXM/PC9oMz4KPHA+WW91IGNhbiB1c2UgYWxsIHNtYXJ0eSB2YXJpYWJsZXMgYW5kIFVEVHMgd2l0aGluIHRoZSBzZXR0aW5ncyBmaWVsZHMgPGk+UGFnZSB0aXRsZTwvaT4sIDxpPk1ldGEgcGFnZSB0aXRsZTwvaT4sIDxpPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGRlc2NyaXB0aW9uczwvaT4sIDxpPk1ldGEgY29weXJpZ2h0PC9pPiwgPGk+QWRkaXRpb25hbCBtZXRhIHRhZ3M8L2k+IGFuZCB5b3VyIGN1c3RvbSBwYWdlIGRlc2NyaXB0aW9uIGJsb2NrLiBFbnRlciA8Y29kZT57ZGVidWd9PC9jb2RlPiB0byBzZWUgYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgdmFyaWFibGVzLjwvcD4KPGgzPldoaWNoIHNtYXJ0eSB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkIGJ5IFNFT1Rvb2xzMj88L2gzPgo8Y29kZT57JHNlb19rZXl3b3Jkc308L2NvZGU+OiBBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGFsbCBrZXl3b3JkcyBzZXQgZm9yIHRoZSBwYWdlIChpbmNsdWRpbmcgdGhlIGRlZmF1bHQga2V5d29yZHMpPGJyIC8+Cjxjb2RlPnskdGl0bGVfa2V5d29yZHN9PC9jb2RlPjogQSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGwga2V5d29yZHMgc2V0IGZvciB0aGUgcGFnZSAoaW5jbHVkaW5nIHRoZSBkZWZhdWx0IGtleXdvcmRzKTxiciAvPgo8Y29kZT57JGRlZmF1bHRfa2V5d29yZHN9PC9jb2RlPjogQSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGwgZGVmYXVsdCBrZXl3b3JkczxiciAvPgo8Y29kZT57JHBhZ2Vfa2V5d29yZHN9PC9jb2RlPjogQSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBhbGwga2V5d29yZHMgc2V0IGZvciB0aGUgcGFnZSAod2l0aG91dCB0aGUgZGVmYXVsdCBrZXl3b3Jkcyk8YnIgLz4KPHA+PC9wPgo8aDM+QWNrbm93bGVkZ2VtZW50czwvaDM+CjxwPlRoYW5rIHlvdSB0byBhbGwgdGhlIENNU01TIGRldmVsb3BlcnMgd2hvIGhhdmUgY29udHJpYnV0ZWQgdG8gdGhpcyBtb2R1bGUgd2l0aCBzdWdnZXN0aW9ucyBhbmQgYnVnLXJlcG9ydHMuIEV2ZXJ5IGxpdHRsZSBiaXQgaGVscHMgdG8gbWFrZSBpdCBiZXR0ZXIgZm9yIGFsbC48L3A+CjxwPkluIHBhcnRpY3VsYXIsIGEgSFVHRSB0aGFuayB5b3UgdG8gdW5pcXUzIGZvciB0aGUgYWJvdmUgYXMgd2VsbCBhcyBiZXRhIHRlc3RpbmcgYW5kIGhpcyB3b3JkcyBvZiBlbmNvdXJhZ2VtZW50IHdoZW4gSSBmZWx0IGxpa2UgZ2l2aW5nIHVwLjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEzLCBDbGlwIE1hZ2ljIDxhIGhyZWY9Im1haWx0bzphZG1pbkBjbGlwbWFnaWMuY29tLmF1Ij4mbHQ7YWRtaW5AY2xpcG1hZ2ljLmNvbS5hdSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CjwvZGl2Pic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.seo2_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIENsYXNzOiBzZW8yX3RhYgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNsYXNzIHNlbzJfdGFiCnsKCiAgcHJpdmF0ZSAkYmxvY2tfbmFtZSA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkdmFsdWUgPSAnJzsKICBwcml2YXRlICRhZGRpbmcgPSBmYWxzZTsKICBwcml2YXRlICRvcHRpb25zID0gYXJyYXkoKTsKICBwcml2YXRlICRhbGlhcyA9ICcnOwogIHByaXZhdGUgJGZpZWxkID0gJyc7CiAgcHJpdmF0ZSAkdGFiID0gJyc7CiAgLyoqCiAgICoKICAgKiBAcGFyYW0gc3RyaWJuZyAkYmxvY2tOYW1lCiAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUKICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcwogICAqIEBwYXJhbSBib29sZWFuICRhZGRpbmcKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgCiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTRU9Ub29sczInKTsKICAgIAogICAgJGJsb2NrcyA9IGFycmF5KCk7CiAgICAkYmxvY2tzWydkZXNjcmlwdGlvbl9ibG9jayddID0gJ3RleHRhcmVhJzsKICAgICRibG9ja3NbJ2tleXdvcmRzJ10gPSAndGV4dGFyZWEnOwogICAgJGJsb2Nrc1sncHJpb3JpdHknXSA9ICdkcm9wZG93bic7CiAgICAkYmxvY2tzWydpbmRleCddID0gJ2NoZWNrYm94JzsKICAgICRibG9ja3NbJ2ZvbGxvdyddID0gJ2NoZWNrYm94JzsKCiAgICAkcHJpb3JpdGllcyA9IGFycmF5KDEwMCw5MCw4MCw3MCw2MCw1MCw0MCwzMCwyMCwxMCwwKTsKCiAgICBmb3JlYWNoICgkYmxvY2tzIGFzICRrZXk9PiR2YWx1ZSkgewogICAgICAkdGhpcy0+YmxvY2tfbmFtZSA9ICRibG9ja05hbWU7CiAgICAgICR0aGlzLT5hbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJGJsb2NrTmFtZSwgdHJ1ZSk7CiAgICAgICR0aGlzLT52YWx1ZSA9ICR2YWx1ZTsKICAgICAgJHRoaXMtPmFkZGluZyA9ICRhZGRpbmc7CiAgICB9CiAgfQoKICAvKioKICAgKiAgZ2V0IGNvbnRlbnQgYmxvY2sKICAgKiBAcmV0dXJuIHN0cmluZwogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NvbnRlbnRfYmxvY2tfaW5wdXQoKSB7CiAgICBwcmludF9yKCRwYXJhbXMpO2RpZTsKICAgICRmdW5jdGlvbiA9ICdnZXRfJyAuICR0aGlzLT5maWVsZDsKICAgIHJldHVybiAkdGhpcy0+JGZ1bmN0aW9uKCk7CiAgfQoKICAvKioKICAgKgogICAqIEByZXR1cm4gc3RyaW5nCiAgICovCiAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfdGV4dGFyZWEoKSB7CiAgICAkdG1wID0gJzx0ZXh0YXJlYSBuYW1lPSIlcyIgcm93cz0iJWQiIGNvbHM9IiVkIj4lczwvdGV4dGFyZWE+JzsKICAgIHJldHVybiBzcHJpbnRmKCR0bXAsICR0aGlzLT5ibG9ja19uYW1lLCAkdGhpcy0+b3B0aW9uc1sicm93cyJdLCAkdGhpcy0+b3B0aW9uc1siY29scyJdLCAkdGhpcy0+dmFsdWUpOwogIH0KCiAgLyoqCiAgICoKICAgKiBAcmV0dXJuIHN0cmluZwogICAqLwogIHByaXZhdGUgZnVuY3Rpb24gZ2V0X2lucHV0KCkgewogICAgJHRtcCA9ICc8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iJXMiIHNpemU9IiVkIiBtYXhsZW5ndGg9IiVkIiB2YWx1ZT0iJXMiLz4nOwogICAgcmV0dXJuIHNwcmludGYoJHRtcCwgJHRoaXMtPmJsb2NrX25hbWUsICR0aGlzLT5vcHRpb25zWyJzaXplIl0sICR0aGlzLT5vcHRpb25zWyJtYXhfbGVuZ3RoIl0sICR0aGlzLT52YWx1ZSk7CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIGdldF9kcm9wZG93bigpIHsKICAgICRvcHRpb25zID0gYXJyYXkoKTsKCiAgICBmb3JlYWNoICgkcHJpb3JpdGllcyBhcyAkb3B0aW9uKSB7CgogICAgICAkb3B0aW9uc1skb3B0aW9uXSA9ICRvcHRpb247CiAgICB9CgogICAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsICR0aGlzLT5ibG9ja19uYW1lLCAkb3B0aW9ucywgLTEsICR0aGlzLT52YWx1ZSk7CiAgfQoKICAvKioKICAgKgogICAqIEByZXR1cm4gc3RyaW5nCiAgICovCiAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfY2hlY2tib3goKSB7CgogICAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0SGlkZGVuKCcnLCAkdGhpcy0+YmxvY2tfbmFtZSwgMCkgLiAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCcnLCAkdGhpcy0+YmxvY2tfbmFtZSwgMSwgJHRoaXMtPnZhbHVlKTsKICB9Cgp9CgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.seo2_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgY3JlYXRpbmcgaW1hZ2UgdGFncyBpbiBhIHNtYXJ0CiMgIHdheSB0byBvcHRpbWl6ZSBwZXJmb3JtYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIHNlbzJfdXRpbHMKewoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIGNtc191dGlsczo6Z2V0X21vZHVsZSgnU0VPVG9vbHMyJyk7CiAgfQogICAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVSb2JvdHNUWFQoKSB7CiAgICByZXR1cm4gc2VsZjo6X2NyZWF0ZVJvYm90c1RYVCgpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29tcGlsZV91ZHRzKCRkYXRhKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NFT1Rvb2xzMicpOwogICAgJHVkdHMgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjb21waWxlX3VkdHMnKTsKICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICRvdXRwdXQgPSAkZGF0YTsKICAgICRjYWNoaW5nID0gJyc7CiAgICBpZiAoJHVkdHMgPT0gMSkgewogICAgICAgCiAgICAgIC8vIExvYWQgVXNlciBEZWZpbmVkIFRhZ3MKICAgICAgJHV0b3BzID0gY21zbXMoKS0+R2V0VXNlclRhZ09wZXJhdGlvbnMoKTsKICAgICAgJHVzZXJ0YWdzID0gJHV0b3BzLT5MaXN0VXNlclRhZ3MoKTsKICAgICAgIAogICAgICBmb3JlYWNoKCAkdXNlcnRhZ3MgYXMgJGlkID0+ICRuYW1lICkKICAgICAgewogICAgICAgICRmdW5jdGlvbiA9ICR1dG9wcy0+Q3JlYXRlVGFnRnVuY3Rpb24oJG5hbWUpOwogICAgICAgICRzbWFydHktPnJlZ2lzdGVyUGx1Z2luKCdmdW5jdGlvbicsJG5hbWUsJGZ1bmN0aW9uLCRjYWNoaW5nKTsKICAgICAgfQogICAgICAgCiAgICAgIHRyeSB7CiAgICAgICAgJG91dHB1dCA9ICRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4kZGF0YSk7CiAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogICAgICAgIAogICAgICB9CgogICAgfQogICAgcmV0dXJuICRvdXRwdXQ7CiAgfQogIAoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFVyZ2VudEFsZXJ0cygpIHsKICAgIHJldHVybiBzZWxmOjpfZ2V0VXJnZW50QWxlcnRzKCk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9oZWFkbGluZXMoJGZpbGUpIHsKICAgIHJldHVybiBzZWxmOjpfZ2V0X2hlYWRsaW5lcygkZmlsZSk7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0S2V5d29yZFN1Z2dlc3Rpb25zKCRjb250ZW50X2lkKSB7CiAgICByZXR1cm4gc2VsZjo6X2dldEtleXdvcmRTdWdnZXN0aW9ucygkY29udGVudF9pZCk7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2tleXdvcmRzKCRzb3VyY2UsICRtaW5sZW5ndGggPSA2KSB7CiAgICByZXR1cm4gc2VsZjo6X2dldF9rZXl3b3Jkcygkc291cmNlLCAkbWlubGVuZ3RoKTsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRJbXBvcnRhbnRBbGVydHMoKSB7CiAgICByZXR1cm4gc2VsZjo6X2dldEltcG9ydGFudEFsZXJ0cygpOwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldE5vdGljZUFsZXJ0cygpewogICAgcmV0dXJuIHNlbGY6Ol9nZXROb3RpY2VBbGVydHMoKTsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVTaXRlbWFwKCRwdXNoKXsKICAgIHJldHVybiBzZWxmOjpfY3JlYXRlU2l0ZW1hcCgkcHVzaCk7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gR2V0Tm90aWZpY2F0aW9uT3V0cHV0KCRwcmlvcml0eSA9IDMpIHsKICAgIHJldHVybiBzZWxmOjpfR2V0Tm90aWZpY2F0aW9uT3V0cHV0KCRwcmlvcml0eSk7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2VvdG9vbHMyX2RiX3VwZGF0ZSgpIHsKICAgIHJldHVybiBzZWxmOjpfc2VvdG9vbHMyX2RiX3VwZGF0ZSgpOwogIH0KICAKICAKICAvKioqKioqKioqKiogUFJJVkFURSBGVU5DVElPTlMgKioqKioqKioqKioqKioqKiovCgoKICAKICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfZ2V0VXJnZW50QWxlcnRzKCkgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU0VPVG9vbHMyJyk7CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHJvb3RfdXJsID0gZW1wdHkoJF9TRVJWRVJbJ0hUVFBTJ10pID8gJGNvbmZpZ1sncm9vdF91cmwnXSA6ICRjb25maWdbJ3NzbF91cmwnXTsKCiAgICAkYWxlcnRzID0gQXJyYXkoKTsKICAgIC8vIEVuYWJsZSBQcmV0dHkgVVJMcwogICAgaWYgKCgkY29uZmlnWyd1cmxfcmV3cml0aW5nJ10gIT0gIm1vZF9yZXdyaXRlIikgJiYgKCRjb25maWdbJ3VybF9yZXdyaXRpbmcnXSAhPSAnaW50ZXJuYWwnKSkgewogICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAkYWxlcnRbJ2dyb3VwJ10gPSAnc3lzdGVtJzsKICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdhY3RpdmF0ZV9wcmV0dHlfdXJscycpOwogICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPkxhbmcoJ3ByZXR0eV91cmxzX2hlbHAnKTsKICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgfQogICAgLy8gTm8gTWV0YSB0YWdzIGFyZSBpbnNlcnRlZAogICAgaWYgKCgkbW9kLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3N0YW5kYXJkJywwKSAhPSAxKSAmJiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbWV0YV9kdWJsaW5jb3JlJywwKSAhPSAxKSkgewogICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAkYWxlcnRbJ2dyb3VwJ10gPSAnc2V0dGluZ3MnOwogICAgICAkYWxlcnRbJ21lc3NhZ2UnXSA9ICRtb2QtPkxhbmcoJ3VzZV9zdGFuZGFyZF9vcl9kdWJsaW5jb3JlX21ldGEnKTsKICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAkbW9kLT5jcmVhdGVMaW5rKG51bGwsICdkZWZhdWx0YWRtaW4nLCBudWxsLCAkbW9kLT5MYW5nKCd2aXNpdF9zZXR0aW5ncycpLCBBcnJheSgndGFiJz0+J21ldGFzZXR0aW5ncycpKTsKICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgfQoKICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9hdXRvX2dlbmVyYXRlJywwKSAhPSAxKSB7CiAgICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpICE9ICcnKSB7CiAgICAgICAgLy8gUGFnZXMgd2l0aG91dCBkZXNjcmlwdGlvbgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKixjLmNvbnRlbnRfaWQgQVMgY2lkLCBjLnR5cGUgQVMgY3R5cGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBjIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudF9wcm9wcyBwIE9OIChjLmNvbnRlbnRfaWQgPSBwLmNvbnRlbnRfaWQgQU5EIHAucHJvcF9uYW1lID0gIicuc3RyX3JlcGxhY2UoJyAnLCdfJywkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpKS4nIikgV0hFUkUgKHAuY29udGVudCBJUyBOVUxMIE9SIHAuY29udGVudCA9ICIiKSBBTkQgYy50eXBlID0gImNvbnRlbnQiIExJTUlUIDAsMjEnOwogICAgICAgICRyZXN1bHQgPSYgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAgICAgd2hpbGUgKGlzX29iamVjdCgkcmVzdWx0KSAmJiAkcHJvYmxlbSA9ICRyZXN1bHQtPmZldGNoUm93KCkpIHsKICAgCQkgIAkgIGlmICgkcHJvYmxlbVsnY3R5cGUnXSA9PSAnY29udGVudCcpIHsKICAgCQkgIAkgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgCQkgIAkgICAgJGFsZXJ0Wydncm91cCddID0gJ3BhZ2VzJzsKICAgCQkgIAkgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdtZXRhX2Rlc2NyaXB0aW9uX21pc3NpbmcnLEFycmF5KCRwcm9ibGVtWydjb250ZW50X25hbWUnXSkpOwoJCSAgCSAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICc8YSBocmVmPSInLiRyb290X3VybC4nLycuJGNvbmZpZ1snYWRtaW5fZGlyJ10uJy9lZGl0Y29udGVudC5waHA/Jy5DTVNfU0VDVVJFX1BBUkFNX05BTUUuJz0nLiRfR0VUW0NNU19TRUNVUkVfUEFSQU1fTkFNRV0uJyZjb250ZW50X2lkPScuJHByb2JsZW1bJ2NpZCddLiciPicuJG1vZC0+TGFuZygnZWRpdF9wYWdlX3RvX2ZpeCcpLic8L2E+JzsKICAgCQkgIAkgICAgCiAgIAkJICAJICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgCQkgIAkgIH0KICAgICAgICB9CiAgICAgIH1lbHNlewogICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgJGFsZXJ0Wydncm91cCddID0gJ3NldHRpbmdzJzsKICAgICAgICAkYWxlcnRbJ21lc3NhZ2UnXSA9ICRtb2QtPkxhbmcoJ3NldF91cF9kZXNjcmlwdGlvbl9ibG9jaycpOwogICAgICAgICRhbGVydFsnbGlua3MnXVtdID0gJG1vZC0+Y3JlYXRlTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgbnVsbCwgJG1vZC0+TGFuZygndmlzaXRfc2V0dGluZ3MnKSwgQXJyYXkoJ3RhYic9PidtZXRhc2V0dGluZ3MnKSk7CiAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICB9CiAgICB9ZWxzZWlmKHN0cnBvcygkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9hdXRvJywnJyksJ3trZXl3b3Jkc30nKSA9PT0gZmFsc2UpIHsKICAgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgJGFsZXJ0Wydncm91cCddID0gJ3NldHRpbmdzJzsKICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdzZXRfdXBfYXV0b19kZXNjcmlwdGlvbicpOwogICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPmNyZWF0ZUxpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsICRtb2QtPkxhbmcoJ3Zpc2l0X3NldHRpbmdzJyksIEFycmF5KCd0YWInPT4nbWV0YXNldHRpbmdzJykpOwogICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICB9CgogICAgLy8gc2l0ZW1hcC54bWwgbm90IHdyaXRlYWJsZQogICAgaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywxKSA9PSAxKSB7CiAgICAgIGlmICghaXNfd3JpdGVhYmxlKCRjb25maWdbJ3Jvb3RfcGF0aCddIC4gJy9zaXRlbWFwLnhtbCcpKSB7CiAgICAgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgICAkYWxlcnRbJ2dyb3VwJ10gPSAnc3lzdGVtJzsKICAgICAgICAkYWxlcnRbJ21lc3NhZ2UnXSA9ICRtb2QtPkxhbmcoJ3NpdGVtYXBfbm90X3dyaXRlYWJsZScpOwogICAgICAgICRhbGVydFsnbGlua3MnXVtdID0gJG1vZC0+TGFuZygnY2htb2Rfc2l0ZW1hcCcpOwogICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgfQogICAgfQoKICAgIC8vIHJvYm90cy50eHQgbm90IHdyaXRlYWJsZQogICAgaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2NyZWF0ZV9yb2JvdHMnLDEpID09IDEpIHsKICAgICAgJGZwID0gQGZvcGVuKCRjb25maWdbJ3Jvb3RfcGF0aCddIC4gJy9yb2JvdHMudHh0JywiYSIpOwogICAgICBAZmNsb3NlKCRmcCk7CiAgICAgIGlmICghaXNfd3JpdGVhYmxlKCRjb25maWdbJ3Jvb3RfcGF0aCddIC4gJy9yb2JvdHMudHh0JykpIHsKICAgICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICRhbGVydFsnZ3JvdXAnXSA9ICdzeXN0ZW0nOwogICAgICAgICRhbGVydFsnbWVzc2FnZSddID0gJG1vZC0+TGFuZygncm9ib3RzX25vdF93cml0ZWFibGUnKTsKICAgICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPkxhbmcoJ2NobW9kX3JvYm90cycpOwogICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgfQogICAgfQoKICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaCcsMCkgPT0gMSkgewogICAgICAvLyBObyBPcGVuR3JhcGggYWRtaW4gc2V0CiAgICAgIGlmICgoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJywnJykgPT0gJycpICYmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9hcHBsaWNhdGlvbicsJycpID09ICcnKSkgewogICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgJGFsZXJ0Wydncm91cCddID0gJ29wZW5ncmFwaCc7CiAgICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdub19vcGVuZ3JhcGhfYWRtaW5zJyk7CiAgICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAkbW9kLT5jcmVhdGVMaW5rKG51bGwsICdkZWZhdWx0YWRtaW4nLCBudWxsLCAkbW9kLT5MYW5nKCd2aXNpdF9zZXR0aW5ncycpLCBBcnJheSgndGFiJz0+J21ldGFzZXR0aW5ncycpKTsKICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgIH0KICAgICAgLy8gTm8gT3BlbkdyYXBoIHBhZ2UgdHlwZSBzZXQKICAgICAgaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3R5cGUnLCcnKSA9PSAnJykgewogICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgJGFsZXJ0Wydncm91cCddID0gJ29wZW5ncmFwaCc7CiAgICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdub19vcGVuZ3JhcGhfdHlwZScpOwogICAgICAgICRhbGVydFsnbGlua3MnXVtdID0gJG1vZC0+Y3JlYXRlTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgbnVsbCwgJG1vZC0+TGFuZygndmlzaXRfc2V0dGluZ3MnKSwgQXJyYXkoJ3RhYic9PidtZXRhc2V0dGluZ3MnKSk7CiAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICB9CiAgICAgIC8vIE5vIE9wZW5HcmFwaCBzaXRlbmFtZSBzZXQKICAgICAgaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywnJykgPT0gJycpIHsKICAgICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICRhbGVydFsnZ3JvdXAnXSA9ICdvcGVuZ3JhcGgnOwogICAgICAgICRhbGVydFsnbWVzc2FnZSddID0gJG1vZC0+TGFuZygnbm9fb3BlbmdyYXBoX3NpdGVuYW1lJyk7CiAgICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAkbW9kLT5jcmVhdGVMaW5rKG51bGwsICdkZWZhdWx0YWRtaW4nLCBudWxsLCAkbW9kLT5MYW5nKCd2aXNpdF9zZXR0aW5ncycpLCBBcnJheSgndGFiJz0+J21ldGFzZXR0aW5ncycpKTsKICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgIH0KICAgICAgLy8gTm8gT3BlbkdyYXBoIGltYWdlIHNldAogICAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnLCcnKSA9PSAnJykgewogICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgJGFsZXJ0Wydncm91cCddID0gJ29wZW5ncmFwaCc7CiAgICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdub19vcGVuZ3JhcGhfaW1hZ2UnKTsKICAgICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPmNyZWF0ZUxpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsICRtb2QtPkxhbmcoJ3Zpc2l0X3NldHRpbmdzJyksIEFycmF5KCd0YWInPT4nbWV0YXNldHRpbmdzJykpOwogICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgfQogICAgfQoKICAgIHJldHVybiAkYWxlcnRzOwogIH0KCiAgCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2dldEltcG9ydGFudEFsZXJ0cygpIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NFT1Rvb2xzMicpOwogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRhbGVydHMgPSBBcnJheSgpOwogICAgJHJvb3RfdXJsID0gZW1wdHkoJF9TRVJWRVJbJ0hUVFBTJ10pID8gJGNvbmZpZ1sncm9vdF91cmwnXSA6ICRjb25maWdbJ3NzbF91cmwnXTsKCiAgICAvLyBQYWdlcyB3aXRoIHNob3J0IGRlc2NyaXB0aW9uCiAgICAkcXVlcnkgPSAnU0VMRUNUICosYy5jb250ZW50X2lkIEFTIGNpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IGMgSU5ORVIgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudF9wcm9wcyBwIE9OIChjLmNvbnRlbnRfaWQgPSBwLmNvbnRlbnRfaWQgQU5EIHAucHJvcF9uYW1lID0gIicuc3RyX3JlcGxhY2UoJyAnLCdfJywkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpKS4nIikgV0hFUkUgQ0hBUl9MRU5HVEgocC5jb250ZW50KSA8IDc1IEFORCBjLnR5cGUgPSAiY29udGVudCIgQU5EIHAuY29udGVudCA8PiAiIiBMSU1JVCAwLDIxJzsKICAgICRyZXN1bHQgPSYgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICBpZiAoaXNfb2JqZWN0KCRyZXN1bHQpICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKSB7CiAgICAgIHdoaWxlICgkcHJvYmxlbSA9ICRyZXN1bHQtPmZldGNoUm93KCkpIHsKICAgICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICRhbGVydFsnZ3JvdXAnXSA9ICdkZXNjcmlwdGlvbnMnOwogICAgICAgICRhbGVydFsnbWVzc2FnZSddID0gJG1vZC0+TGFuZygnbWV0YV9kZXNjcmlwdGlvbl9zaG9ydCcsQXJyYXkoJHByb2JsZW1bJ2NvbnRlbnRfbmFtZSddKSk7CiAgICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAnPGEgaHJlZj0iJy4kcm9vdF91cmwuJy8nLiRjb25maWdbJ2FkbWluX2RpciddLicvZWRpdGNvbnRlbnQucGhwPycuQ01TX1NFQ1VSRV9QQVJBTV9OQU1FLic9Jy4kX0dFVFtDTVNfU0VDVVJFX1BBUkFNX05BTUVdLicmY29udGVudF9pZD0nLiRwcm9ibGVtWydjaWQnXS4nIj4nLiRtb2QtPkxhbmcoJ2VkaXRfcGFnZV90b19maXgnKS4nPC9hPic7CiAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICB9CiAgICB9CgogICAgLy8gUGFnZXMgd2l0aCBkdXBsaWNhdGUgdGl0bGUKICAgICRxdWVyeSA9ICdTRUxFQ1QgYzEuY29udGVudF9hbGlhcyBBUyBjMW5hbWUsIGMxLmNvbnRlbnRfaWQgQVMgYzFpZCwgYzIuY29udGVudF9hbGlhcyBBUyBjMm5hbWUsIGMyLmNvbnRlbnRfaWQgQVMgYzJpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IGMxIElOTkVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgYzIgT04gKGMxLmNvbnRlbnRfbmFtZSA9IGMyLmNvbnRlbnRfbmFtZSBBTkQgYzEuY29udGVudF9pZCA8IGMyLmNvbnRlbnRfaWQpIFdIRVJFIGMxLnR5cGUgPSAiY29udGVudCIgQU5EIGMyLnR5cGUgPSAiY29udGVudCIgTElNSVQgMCwyMSc7CiAgICAkcmVzdWx0ID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgaWYgKGlzX29iamVjdCgkcmVzdWx0KSAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkgewoKICAgICAgd2hpbGUgKCRwcm9ibGVtID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewogICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgJGFsZXJ0Wydncm91cCddID0gJ3RpdGxlcyc7CiAgICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdkdXBsaWNhdGVfdGl0bGVzJyxBcnJheSgkcHJvYmxlbVsnYzFuYW1lJ10sJHByb2JsZW1bJ2MybmFtZSddKSk7CiAgICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAnPGEgaHJlZj0iJy4kcm9vdF91cmwuJy8nLiRjb25maWdbJ2FkbWluX2RpciddLicvZWRpdGNvbnRlbnQucGhwPycuQ01TX1NFQ1VSRV9QQVJBTV9OQU1FLic9Jy4kX0dFVFtDTVNfU0VDVVJFX1BBUkFNX05BTUVdLicmY29udGVudF9pZD0nLiRwcm9ibGVtWydjMWlkJ10uJyI+Jy4kbW9kLT5MYW5nKCdlZGl0X3BhZ2UnLEFycmF5KCRwcm9ibGVtWydjMW5hbWUnXSkpLic8L2E+JzsKICAgICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICc8YSBocmVmPSInLiRyb290X3VybC4nLycuJGNvbmZpZ1snYWRtaW5fZGlyJ10uJy9lZGl0Y29udGVudC5waHA/Jy5DTVNfU0VDVVJFX1BBUkFNX05BTUUuJz0nLiRfR0VUW0NNU19TRUNVUkVfUEFSQU1fTkFNRV0uJyZjb250ZW50X2lkPScuJHByb2JsZW1bJ2MyaWQnXS4nIj4nLiRtb2QtPkxhbmcoJ2VkaXRfcGFnZScsQXJyYXkoJHByb2JsZW1bJ2MybmFtZSddKSkuJzwvYT4nOwogICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgfQogICAgfQogICAgLy8gUGFnZXMgd2l0aCBkdXBsaWNhdGUgZGVzY3JpcHRpb24KICAgICRxdWVyeSA9ICdTRUxFQ1QgcDEuY29udGVudF9pZCBBUyBjMWlkLCBwMi5jb250ZW50X2lkIEFTIGMyaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudF9wcm9wcyBwMSBJTk5FUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50X3Byb3BzIHAyIE9OIChwMS5wcm9wX25hbWUgPSBwMi5wcm9wX25hbWUgQU5EIHAxLnByb3BfbmFtZSA9ICInLnN0cl9yZXBsYWNlKCcgJywnXycsJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKSkuJyIgQU5EIHAxLmNvbnRlbnRfaWQgPCBwMi5jb250ZW50X2lkIEFORCBwMS5jb250ZW50IDw+ICIiIEFORCBwMi5jb250ZW50IDw+ICIiKSBXSEVSRSBwMS5jb250ZW50ID0gcDIuY29udGVudCBMSU1JVCAwLDIxJzsKICAgICRyZXN1bHQgPSYgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICBpZiAoaXNfb2JqZWN0KCRyZXN1bHQpICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKSB7CgogICAgICB3aGlsZSAoJHByb2JsZW0gPSAkcmVzdWx0LT5mZXRjaFJvdygpKSB7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2lkLCBjb250ZW50X25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBXSEVSRSBjb250ZW50X2lkID0gJy4kcHJvYmxlbVsnYzFpZCddLicgT1IgY29udGVudF9pZCA9ICcuJHByb2JsZW1bJ2MyaWQnXTsKICAgICAgICAkcmVzdWx0MSA9JiAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgICAkZmlyc3QgPSAkcmVzdWx0MS0+ZmV0Y2hSb3coKTsKICAgICAgICAkc2Vjb25kID0gJHJlc3VsdDEtPmZldGNoUm93KCk7CiAgICAgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgICAkYWxlcnRbJ2dyb3VwJ10gPSAnZGVzY3JpcHRpb25zJzsKICAgICAgICAkYWxlcnRbJ21lc3NhZ2UnXSA9ICRtb2QtPkxhbmcoJ2R1cGxpY2F0ZV9kZXNjcmlwdGlvbnMnLEFycmF5KCRmaXJzdFsnY29udGVudF9uYW1lJ10sJHNlY29uZFsnY29udGVudF9uYW1lJ10pKTsKICAgICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICc8YSBocmVmPSInLiRyb290X3VybC4nLycuJGNvbmZpZ1snYWRtaW5fZGlyJ10uJy9lZGl0Y29udGVudC5waHA/Jy5DTVNfU0VDVVJFX1BBUkFNX05BTUUuJz0nLiRfR0VUW0NNU19TRUNVUkVfUEFSQU1fTkFNRV0uJyZjb250ZW50X2lkPScuJGZpcnN0Wydjb250ZW50X2lkJ10uJyI+Jy4kbW9kLT5MYW5nKCdlZGl0X3BhZ2UnLEFycmF5KCRmaXJzdFsnY29udGVudF9uYW1lJ10pKS4nPC9hPic7CiAgICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAnPGEgaHJlZj0iJy4kcm9vdF91cmwuJy8nLiRjb25maWdbJ2FkbWluX2RpciddLicvZWRpdGNvbnRlbnQucGhwPycuQ01TX1NFQ1VSRV9QQVJBTV9OQU1FLic9Jy4kX0dFVFtDTVNfU0VDVVJFX1BBUkFNX05BTUVdLicmY29udGVudF9pZD0nLiRzZWNvbmRbJ2NvbnRlbnRfaWQnXS4nIj4nLiRtb2QtPkxhbmcoJ2VkaXRfcGFnZScsQXJyYXkoJHNlY29uZFsnY29udGVudF9uYW1lJ10pKS4nPC9hPic7CiAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICB9CiAgICB9CiAgICAvLyBObyBhdXRob3IgcHJvdmlkZWQKICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdtZXRhX3B1Ymxpc2hlcicsJycpID09ICcnKSB7CiAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICRhbGVydFsnZ3JvdXAnXSA9ICdzZXR0aW5ncyc7CiAgICAgICRhbGVydFsnbWVzc2FnZSddID0gJG1vZC0+TGFuZygncHJvdmlkZV9hbl9hdXRob3InKTsKICAgICAgJGFsZXJ0WydsaW5rcyddW10gPSAkbW9kLT5jcmVhdGVMaW5rKG51bGwsICdkZWZhdWx0YWRtaW4nLCBudWxsLCAkbW9kLT5MYW5nKCd2aXNpdF9zZXR0aW5ncycpLCBBcnJheSgndGFiJz0+J21ldGFzZXR0aW5ncycpKTsKICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgfQogICAgcmV0dXJuICRhbGVydHM7CiAgfQogIAogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9nZXROb3RpY2VBbGVydHMoKSB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTRU9Ub29sczInKTsKICAgICRhbGVydHMgPSBBcnJheSgpOwogICAgLy8gTm8gc3RhbmRhcmQgbWV0YQogICAgaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ21ldGFfc3RhbmRhcmQnLDEpICE9IDEpIHsKICAgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCd1c2Vfc3RhbmRhcmRfbWV0YScpOwogICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPmNyZWF0ZUxpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsICRtb2QtPkxhbmcoJ3Zpc2l0X3NldHRpbmdzJyksIEFycmF5KCd0YWInPT4nbWV0YXNldHRpbmdzJykpOwogICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICB9CiAgICAvLyBTdWJtaXQgYSBzaXRlbWFwCiAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX3NpdGVtYXAnLDEpICE9IDEpIHsKICAgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgJGFsZXJ0WydtZXNzYWdlJ10gPSAkbW9kLT5MYW5nKCdjcmVhdGVfYV9zaXRlbWFwJyk7CiAgICAgICRhbGVydFsnbGlua3MnXVtdID0gJG1vZC0+Y3JlYXRlTGluayhudWxsLCAnZGVmYXVsdGFkbWluJywgbnVsbCwgJG1vZC0+TGFuZygndmlzaXRfc2V0dGluZ3MnKSwgQXJyYXkoJ3RhYic9PidzaXRlbWFwc2V0dGluZ3MnKSk7CiAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgIH1lbHNlaWYoJG1vZC0+R2V0UHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJywxKSAhPSAxKSB7CiAgICAgIC8vIEF1dG9tYXRpY2FsbHkgc3VibWl0IHRoZSBzaXRlbWFwCiAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICRhbGVydFsnbWVzc2FnZSddID0gJG1vZC0+TGFuZygnYXV0b21hdGljYWxseV91cGxvYWRfc2l0ZW1hcCcpOwogICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPmNyZWF0ZUxpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsICRtb2QtPkxhbmcoJ3Zpc2l0X3NldHRpbmdzJyksIEFycmF5KCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwogICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICB9CiAgICAvLyBDcmVhdGUgYSByb2JvdHMudHh0IGZpbGUKICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdjcmVhdGVfcm9ib3RzJywxKSAhPSAxKSB7CiAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICRhbGVydFsnbWVzc2FnZSddID0gJG1vZC0+TGFuZygnY3JlYXRlX3JvYm90cycpOwogICAgICAkYWxlcnRbJ2xpbmtzJ11bXSA9ICRtb2QtPmNyZWF0ZUxpbmsobnVsbCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsICRtb2QtPkxhbmcoJ3Zpc2l0X3NldHRpbmdzJyksIEFycmF5KCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwogICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICB9CiAgICAvLyBTZXQgYSBkZWZhdWx0IGltYWdlCiAgICByZXR1cm4gJGFsZXJ0czsKICB9CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9nZXRfa2V5d29yZHMoJHNvdXJjZSwgJG1pbmxlbmd0aCA9IDYpIHsKICAgICRzb3VyY2UgPSBwcmVnX3JlcGxhY2UoJy9ce1teXH1dK1x9L2lzVScsICcnLCB1dGY4X2RlY29kZSgkc291cmNlKSk7CiAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoIlxuIiwiICIsc3RyaXBfdGFncygkc291cmNlKSk7CiAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoJy0nLCcgJywkc291cmNlKTsKICAgICRzb3VyY2UgPSBzdHJfcmVwbGFjZSgnLicsJyAnLCRzb3VyY2UpOwogICAgJHNvdXJjZSA9IHN0cl9yZXBsYWNlKCcsJywnICcsJHNvdXJjZSk7CiAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoJyEnLCcgJywkc291cmNlKTsKICAgICRzb3VyY2UgPSBzdHJfcmVwbGFjZSgnPycsJyAnLCRzb3VyY2UpOwogICAgJHNvdXJjZSA9IHN0cl9yZXBsYWNlKCc6JywnICcsJHNvdXJjZSk7CiAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoJyAgJywnICcsJHNvdXJjZSk7CiAgICAka2V5d29yZHMgPSBleHBsb2RlKCcgJywkc291cmNlKTsKICAgIGZvcmVhY2ggKCRrZXl3b3JkcyBhcyAka2V5PT4kdmFsdWUpIHsKICAgICAgaWYgKHN0cmxlbigkdmFsdWUpIDwgJG1pbmxlbmd0aCkgewogICAgICAgIHVuc2V0KCRrZXl3b3Jkc1ska2V5XSk7CiAgICAgIH1lbHNlewogICAgICAgICRrZXl3b3Jkc1ska2V5XSA9IGh0bWxlbnRpdGllcyh0cmltKCR2YWx1ZSkpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gJGtleXdvcmRzOwogIH0KCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2dldF9oZWFkbGluZXMoJGZpbGUpewogICAgJGgxdGFncyA9IHByZWdfbWF0Y2hfYWxsKCIvKDxoMS4qPikoXHcuKikoPFwvaDE+KS9pc3htVSIsJGZpbGUsJHBhdHRlcm5zKTsKICAgICRjb250ZW50ID0gIiI7CiAgICBmb3JlYWNoKCRwYXR0ZXJuc1syXSBhcyAkdGFnKSB7CiAgICAgICRjb250ZW50IC49ICIgIi4kdGFnOwogICAgfQogICAgJGgydGFncyA9IHByZWdfbWF0Y2hfYWxsKCIvKDxoMi4qPikoXHcuKikoPFwvaDI+KS9pc3htVSIsJGZpbGUsJHBhdHRlcm5zKTsKICAgIGZvcmVhY2goJHBhdHRlcm5zWzJdIGFzICR0YWcpIHsKICAgICAgJGNvbnRlbnQgLj0gIiAiLiR0YWc7CiAgICB9CiAgICAkaDN0YWdzID0gcHJlZ19tYXRjaF9hbGwoIi8oPGgzLio+KShcdy4qKSg8XC9oMz4pL2lzeG1VIiwkZmlsZSwkcGF0dGVybnMpOwogICAgZm9yZWFjaCgkcGF0dGVybnNbMl0gYXMgJHRhZykgewogICAgICAkY29udGVudCAuPSAiICIuJHRhZzsKICAgIH0KICAgICRoNHRhZ3MgPSBwcmVnX21hdGNoX2FsbCgiLyg8aDQuKj4pKFx3LiopKDxcL2g0PikvaXN4bVUiLCRmaWxlLCRwYXR0ZXJucyk7CiAgICBmb3JlYWNoKCRwYXR0ZXJuc1syXSBhcyAkdGFnKSB7CiAgICAgICRjb250ZW50IC49ICIgIi4kdGFnOwogICAgfQogICAgJGg1dGFncyA9IHByZWdfbWF0Y2hfYWxsKCIvKDxoNS4qPikoXHcuKikoPFwvaDU+KS9pc3htVSIsJGZpbGUsJHBhdHRlcm5zKTsKICAgIGZvcmVhY2goJHBhdHRlcm5zWzJdIGFzICR0YWcpIHsKICAgICAgJGNvbnRlbnQgLj0gIiAiLiR0YWc7CiAgICB9CiAgICAkaDZ0YWdzID0gcHJlZ19tYXRjaF9hbGwoIi8oPGg2Lio+KShcdy4qKSg8XC9oNj4pL2lzeG1VIiwkZmlsZSwkcGF0dGVybnMpOwogICAgZm9yZWFjaCgkcGF0dGVybnNbMl0gYXMgJHRhZykgewogICAgICAkY29udGVudCAuPSAiICIuJHRhZzsKICAgIH0KICAgIHJldHVybiAkY29udGVudDsKICB9CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9nZXRLZXl3b3JkU3VnZ2VzdGlvbnMoJGNvbnRlbnRfaWQpIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NFT1Rvb2xzMicpOwogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgIAogICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgaWYgKCEkY3VyY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21JZCAoJGNvbnRlbnRfaWQpKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgICRkZXNjcmlwdGlvbl9pZCA9IHN0cl9yZXBsYWNlKCcgJywnXycsJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKSk7CgogICAgLyogR2VuZXJhdGUga2V5d29yZHMgZnJvbSBwYWdlIHRpdGxlLCBkZXNjcmlwdGlvbiBhbmQgY29udGVudCAqLwogICAgJHRpdGxlX2tleXdvcmRzID0gc2VvMl91dGlsczo6Z2V0X2tleXdvcmRzKCRjdXJjb250ZW50LT5HZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50X2VuJyksICRtb2QtPkdldFByZWZlcmVuY2UoJ2tleXdvcmRfbWlubGVuZ3RoJywnNicpKTsKCiAgICAkZGVzY3JpcHRpb25fa2V5d29yZHMgPSBzZW8yX3V0aWxzOjpnZXRfa2V5d29yZHMoJGN1cmNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJGRlc2NyaXB0aW9uX2lkKSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5sZW5ndGgnLCc2JykpOwoKICAgICRoZWFkbGluZV9rZXl3b3JkcyA9IHNlbzJfdXRpbHM6OmdldF9rZXl3b3JkcyhzZW8yX3V0aWxzOjpnZXRfaGVhZGxpbmVzKCRjdXJjb250ZW50LT5OYW1lKCkpLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmxlbmd0aCcsJzYnKSk7CgogICAgJGNvbnRlbnRfa2V5d29yZHMgPSBzZW8yX3V0aWxzOjpnZXRfa2V5d29yZHMoJGN1cmNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJ2NvbnRlbnRfZW4nKSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5sZW5ndGgnLCc2JykpOwoKICAgICRvdGhlcl9rZXl3b3JkcyA9IEFycmF5KCk7CgogICAgZm9yZWFjaCgkdGl0bGVfa2V5d29yZHMgYXMgJGtleXdvcmQpIHsKICAgICAgaWYgKCFpc3NldCgkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdKSkgewogICAgICAgICRvdGhlcl9rZXl3b3Jkc1ska2V5d29yZF0gPSAwOwogICAgICB9CiAgICAgICRvdGhlcl9rZXl3b3Jkc1ska2V5d29yZF0gPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdrZXl3b3JkX3RpdGxlX3dlaWdodCcsJzYnKTsKICAgIH0KICAgIGZvcmVhY2goJGRlc2NyaXB0aW9uX2tleXdvcmRzIGFzICRrZXl3b3JkKSB7CiAgICAgIGlmICghaXNzZXQoJG90aGVyX2tleXdvcmRzWyRrZXl3b3JkXSkpIHsKICAgICAgICAkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdID0gMDsKICAgICAgfQogICAgICAkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdICs9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2tleXdvcmRfZGVzY3JpcHRpb25fd2VpZ2h0JywnNCcpOwogICAgfQogICAgZm9yZWFjaCgkaGVhZGxpbmVfa2V5d29yZHMgYXMgJGtleXdvcmQpIHsKICAgICAgaWYgKCFpc3NldCgkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdKSkgewogICAgICAgICRvdGhlcl9rZXl3b3Jkc1ska2V5d29yZF0gPSAwOwogICAgICB9CiAgICAgICRvdGhlcl9rZXl3b3Jkc1ska2V5d29yZF0gKz0gJG1vZC0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9oZWFkbGluZV93ZWlnaHQnLCcyJyk7CiAgICB9CiAgICBmb3JlYWNoKCRjb250ZW50X2tleXdvcmRzIGFzICRrZXl3b3JkKSB7CiAgICAgIGlmICghaXNzZXQoJG90aGVyX2tleXdvcmRzWyRrZXl3b3JkXSkpIHsKICAgICAgICAkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdID0gMDsKICAgICAgfQogICAgICAkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdICs9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2tleXdvcmRfY29udGVudF93ZWlnaHQnLCcxJyk7CiAgICB9CgogICAgYXJzb3J0KCRvdGhlcl9rZXl3b3Jkcyk7CgogICAgJGV4Y2x1ZGVfbGlzdCA9IGV4cGxvZGUoJyAnLHN0cnRvdXBwZXIodXRmOF9kZWNvZGUoJG1vZC0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9leGNsdWRlJywnJykpKSk7CgogICAgZm9yZWFjaCAoJG90aGVyX2tleXdvcmRzIGFzICRrZXk9PiR2YWx1ZSkgewogICAgICBpZiAoJHZhbHVlIDwgJG1vZC0+R2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5pbXVtX3dlaWdodCcsJzcnKSkgewogICAgICAgIHVuc2V0KCRvdGhlcl9rZXl3b3Jkc1ska2V5XSk7CiAgICAgIH1lbHNlaWYgKGluX2FycmF5KHN0cnRvdXBwZXIoJGtleSksJGV4Y2x1ZGVfbGlzdCkpIHsKICAgICAgICB1bnNldCgkb3RoZXJfa2V5d29yZHNbJGtleV0pOwogICAgICB9CiAgICB9CiAgICAkb3RoZXJfa2V5d29yZHMgPSBhcnJheV9mbGlwKCRvdGhlcl9rZXl3b3Jkcyk7CiAgICByZXR1cm4gJG90aGVyX2tleXdvcmRzOwogIH0KCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2NyZWF0ZVJvYm90c1RYVCgpIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NFT1Rvb2xzMicpOwogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRjbXNfcm9vdF91cmwgPSBlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgPyAkY29uZmlnWydyb290X3VybCddIDogJGNvbmZpZ1snc3NsX3VybCddOwogICAgCiAgICAkcm9vdF9wYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywnLycsJGNvbmZpZ1sncm9vdF9wYXRoJ10pOyAvLyBmb3IgV2luZG93cwogICAgJHNlcnZlcl9yb290ID0gJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXTsKICAgICRjbXNfcGF0aCA9IHN0cl9yZXBsYWNlKCRzZXJ2ZXJfcm9vdCwnJywkcm9vdF9wYXRoKTsKICAgIAogICAgJGxlYWRpbmdfc2xhc2ggPSBzdHJwb3MoJGNtc19wYXRoLCAnLycpID09PSAwID8gJycgOiAnLyc7CgogICAgJGZpbGVuYW1lID0gJHNlcnZlcl9yb290LiBESVJFQ1RPUllfU0VQQVJBVE9SIC4ncm9ib3RzLnR4dCc7CiAgICAKICAgIC8vIGp1c3QgaW4gY2FzZSB0aGUgc2VydmVyIGRvdWJsZWQgdXAgb24gdGhlIGRpcmVjdG9yeSBzZXBhcmF0b3JzCiAgICAkZmlsZW5hbWUgPSBzdHJfcmVwbGFjZSgnLy8nLCcvJywkZmlsZW5hbWUpOwogICAgCiAgIAogICAgLy8gd2FybiB0aGUgdXNlciB0aGV5J3JlIGFib3V0IHRvIGRlbGV0ZSB0aGUgcm9ib3RzLnR4dCBmaWxlCiAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGVuYW1lKSkgewogICAgICAJJG1vZC0+cmVkaXJlY3QobnVsbCwgJ3JvYm90cycsIG51bGwsICcnKTsKICAgIH0KICAgIAogICAgdG91Y2goJGZpbGVuYW1lKTsKICAgIAogICAgJGZwID0gZm9wZW4oJGZpbGVuYW1lLCd3YicpOwoKICAgIC8vIENyZWF0ZSByb2JvdHMudHh0CiAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX3NpdGVtYXAnLDEpID09IDEpIHsKICAgICAgZndyaXRlKCRmcCwgIlNpdGVtYXA6ICIuJGNtc19yb290X3VybC4iL3NpdGVtYXAueG1sXHJcbiIpOwogICAgfQogICAgCiAgICAkYmVmb3JlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncl9iZWZvcmUnLCcnKTsKICAgIGlmICghZW1wdHkoJGJlZm9yZSkpIHsKICAgICAgZndyaXRlKCRmcCwgJGJlZm9yZSAuIlxyXG4iKTsKICAgIH0KICAgIGZ3cml0ZSgkZnAsICJVc2VyLWFnZW50OiAqXHJcbiIpOwogICAgZndyaXRlKCRmcCwgIkRpc2FsbG93OiAiLiAkbGVhZGluZ19zbGFzaCAuICRjbXNfcGF0aC4gIi8iLiRjb25maWdbJ2FkbWluX2RpciddLiIvXHJcbiIpOwogICAgZndyaXRlKCRmcCwgIkRpc2FsbG93OiAiLiAkbGVhZGluZ19zbGFzaCAuICRjbXNfcGF0aC4iL2NvbnRyaWIvXHJcclxuIik7CiAgICBmd3JpdGUoJGZwLCAiRGlzYWxsb3c6ICIuICRsZWFkaW5nX3NsYXNoIC4gJGNtc19wYXRoLiIvZG9jL1xyXG4iKTsKICAgIGZ3cml0ZSgkZnAsICJEaXNhbGxvdzogIi4gJGxlYWRpbmdfc2xhc2ggLiAkY21zX3BhdGguIi9saWIvXHJcbiIpOwogICAgZndyaXRlKCRmcCwgIkRpc2FsbG93OiAiLiAkbGVhZGluZ19zbGFzaCAuICRjbXNfcGF0aC4iL21vZHVsZXMvXHJcbiIpOwogICAgZndyaXRlKCRmcCwgIkRpc2FsbG93OiAiLiAkbGVhZGluZ19zbGFzaCAuICRjbXNfcGF0aC4iL3BsdWdpbnMvXHJcbiIpOwogICAgZndyaXRlKCRmcCwgIkRpc2FsbG93OiAiLiAkbGVhZGluZ19zbGFzaCAuICRjbXNfcGF0aC4iL3NjcmlwdHMvXHJcbiIpOwogICAgZndyaXRlKCRmcCwgIkRpc2FsbG93OiAiLiAkbGVhZGluZ19zbGFzaCAuICRjbXNfcGF0aC4iL3RtcC9cclxuIik7CgogICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZW90b29sczIgV0hFUkUgaW5kZXhhYmxlID0gMCI7CiAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgogICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgd2hpbGUgKCRwYWdlID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewoKICAgICAgaWYgKCRjdXJjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUlkICgkcGFnZVsnY29udGVudF9pZCddKSkgewogICAgICAgICRwYWdlX3BhdGggPSAkY21zX3BhdGggLiAiLyIgLiAkY3VyY29udGVudC0+SGllcmFyY2h5UGF0aCgpIC4gJGNvbmZpZ1sncGFnZV9leHRlbnNpb24nXTsKICAgICAgICBmd3JpdGUoJGZwLCAiRGlzYWxsb3c6ICIuJHBhZ2VfcGF0aC4iXHJcbiIpOwogICAgICB9CiAgICB9CiAgICAkYWZ0ZXIgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdyX2FmdGVyJywnJyk7CiAgICBpZiAoIWVtcHR5KCRhZnRlcikpIHsKICAgICAgZndyaXRlKCRmcCwgJGFmdGVyIC4iXHJcbiIpOwogICAgfQogICAgCiAgICBmY2xvc2UoJGZwKTsKICB9CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9jcmVhdGVTaXRlbWFwKCRwdXNoID0gZmFsc2UpIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NFT1Rvb2xzMicpOwogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRyb290X3VybCA9IGVtcHR5KCRfU0VSVkVSWydIVFRQUyddKSA/ICRjb25maWdbJ3Jvb3RfdXJsJ10gOiAkY29uZmlnWydzc2xfdXJsJ107CiAgICAkcm9vdF9wYXRoID0gJGNvbmZpZ1sncm9vdF9wYXRoJ107CiAgICAkbWFwX3BhdGggPSAkcm9vdF9wYXRoLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3NpdGVtYXAueG1sJzsKICAgIAogICAgJGZwID0gZm9wZW4oJG1hcF9wYXRoLCd3Jyk7CgogICAgLy8gV3JpdGUgdGhlIHNpdGVtYXAKICAgIGZ3cml0ZSgkZnAsICI8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdVVEYtOCc/PlxyXG4iKTsKICAgIGZ3cml0ZSgkZnAsICI8dXJsc2V0IHhtbG5zPSdodHRwOi8vd3d3LnNpdGVtYXBzLm9yZy9zY2hlbWFzL3NpdGVtYXAvMC45Jz5cclxuIik7CgogICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGFjdGl2ZSA9IDEgQU5EIHR5cGUgIT0gImVycm9ycGFnZSIgT1JERVIgQlkgaGllcmFyY2h5IEFTQyc7CiAgICAkcmVzdWx0ID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgCiAgICAKICAgIGlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCApIHsKICAgICAgd2hpbGUgKCRwYWdlID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewogICAgICAgIAogICAgICAgIGlmICgkY3VyY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21JZCAoJHBhZ2VbJ2NvbnRlbnRfaWQnXSkpIHsKCiAgICAgICAgICBpZiAoJGN1cmNvbnRlbnQtPkFjdGl2ZSgpKSB7CiAgICAgICAgICAgICR1cmwgPSAkY3VyY29udGVudC0+R2V0VVJMKCk7CiAgICAgICAgICAgIGlmICgkdXJsID09ICIjIikgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKHN0cnBvcyhzdHJzdHIoJHVybCwnOicpLCBzdHJzdHIoJHJvb3RfdXJsLCc6JykpID09PSBmYWxzZSkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcHJpb3JpdHkgPSA4MDsKICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgc3Vic3RyX2NvdW50KCRwYWdlWydoaWVyYXJjaHknXSwnLicpOyAkaSsrKSB7CiAgICAgICAgICAgICAgJHByaW9yaXR5ICA9ICRwcmlvcml0eSAvIDI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRwYWdlWydkZWZhdWx0X2NvbnRlbnQnXSA9PSAxKSB7CiAgICAgICAgICAgICAgJHByaW9yaXR5ID0gMTAwOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBXSEVSRSBjb250ZW50X2lkID0gJy4kcGFnZVsnY29udGVudF9pZCddOwogICAgICAgICAgICAkcmVzdWx0MiA9JiAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICRpbmZvID0gJHJlc3VsdDItPmZldGNoUm93KCk7CiAgICAgICAgICAgIGlmIChpc3NldCgkaW5mb1sncHJpb3JpdHknXSkgJiYgKCRpbmZvWydwcmlvcml0eSddICE9IDApICYmICgkaW5mb1sncHJpb3JpdHknXSAhPSAiIikpIHsKICAgICAgICAgICAgICAkcHJpb3JpdHkgPSAkaW5mb1sncHJpb3JpdHknXTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKCFpc3NldCgkaW5mb1snaW5kZXhhYmxlJ10pIHx8ICgkaW5mb1snaW5kZXhhYmxlJ10gPT0gIiIpIHx8ICgkaW5mb1snaW5kZXhhYmxlJ10gPT0gMSkpIHsKICAgICAgICAgICAgICBmd3JpdGUoJGZwLCAiPHVybD5cclxuIik7CiAgICAgICAgICAgICAgZndyaXRlKCRmcCwgIjxsb2M+Ii4kdXJsLiI8L2xvYz5cclxuIik7CiAgICAgICAgICAgICAgZndyaXRlKCRmcCwgIjxsYXN0bW9kPiIuZGF0ZSgiWS1tLWQiLCBzdHJ0b3RpbWUoJHBhZ2VbJ21vZGlmaWVkX2RhdGUnXSkpLiI8L2xhc3Rtb2Q+XHJcbiIpOwogICAgICAgICAgICAgIGZ3cml0ZSgkZnAsICI8Y2hhbmdlZnJlcT5hbHdheXM8L2NoYW5nZWZyZXE+XHJcbiIpOwogICAgICAgICAgICAgIGZ3cml0ZSgkZnAsICI8cHJpb3JpdHk+Ii5udW1iZXJfZm9ybWF0KCRwcmlvcml0eSAvIDEwMCwgMSkuIjwvcHJpb3JpdHk+XHJcbiIpOwogICAgICAgICAgICAgIGZ3cml0ZSgkZnAsICI8L3VybD5cclxuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgZndyaXRlKCRmcCwgIjwvdXJsc2V0PiIpOwogICAgZmNsb3NlKCRmcCk7CiAgICAKICAgIGlmICgkcHVzaCAhPSBmYWxzZSAmJiAkcHVzaCAhPT0wKSB7CiAgICAgIC8vIFB1c2ggc2l0ZW1hcCB0byBnb29nbGUKICAgICAgaWYgKGZpbGVfZXhpc3RzKCRtYXBfcGF0aCkpIHsKICAgICAgICAkZ29vZ2xlID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS93ZWJtYXN0ZXJzL3Rvb2xzL3Bpbmc/c2l0ZW1hcD0iLnVybGVuY29kZSgkbWFwX3BhdGgpOwogICAgICAgICRmID0gQGZvcGVuKCRnb29nbGUsInIiKTsKICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJGYpKQogICAgICAgIGZjbG9zZSgkZik7CiAgICAgIH0KCiAgICB9CiAgfQogIAogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9HZXROb3RpZmljYXRpb25PdXRwdXQoJHByaW9yaXR5ID0gMykgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU0VPVG9vbHMyJyk7CiAgICBpZiAoY291bnQoc2VvMl86OmdldFVyZ2VudEFsZXJ0cygpKSA+IDApIHsKICAgICAgJHRleHQgPSAkbW9kLT5MYW5nKCdwcm9ibGVtX2FsZXJ0JyxBcnJheSgkbW9kLT5jcmVhdGVMaW5rKG51bGwsICdkZWZhdWx0YWRtaW4nLCAnJywgJG1vZC0+TGFuZygncHJvYmxlbV9saW5rX3RpdGxlJykpKSk7CgogICAgICAkb2JqID0gbmV3IFN0ZENsYXNzOwogICAgICAkb2JqLT5wcmlvcml0eSA9IDM7CiAgICAgICRvYmotPmh0bWwgPSAkdGV4dDsKCiAgICAgIHJldHVybiAkb2JqOwogICAgfQogIH0KICAKICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfc2VvdG9vbHMyX2RiX3VwZGF0ZSgpIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkaHRtbCA9ICcnOwogICAgLy8gRmlyc3QgdXAsIHdlIGRvIHNvbWUgZGF0YWJhc2UgbWFpbnRlbmFuY2UKICAgIC8vIEVuc3VyZSBhbGwgdGhlIGFjdGl2ZSBwYWdlcyBhcmUgaW4gdGhlIHNlb3Rvb2xzMiBkYXRhYmFzZQogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBgY29udGVudF9pZGAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBXSEVSRSAoYHR5cGVgIExJS0UgIiVjb250ZW50JSIgT1IgYHR5cGVgIExJS0UgIiVsaW5rJSIgT1IgYHR5cGVgIExJS0UgIiVjYXRhbG9nJSIgKUFORCBgY29udGVudF9pZGAgTk9UIElOIChTRUxFQ1QgYGNvbnRlbnRfaWRgIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKS4gJ21vZHVsZV9zZW90b29sczIpJzsKICAgIGlmICghJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpKSB7CiAgICAgICRodG1sID0gICI8YnIgLz5Qcm9ibGVtIHdpdGggdGhlIGRhdGFiYXNlISBQbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuIjsKICAgIH0KICAgIAogICAgCiAgICBpZiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApIHsKICAgICAgLy8gT0sgd2UgaGF2ZSBzb21lIG5ldyBwYWdlcwogICAgICAkcTIgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgU0VUIGNvbnRlbnRfaWQgPSA/LCBpbmRleGFibGUgPSA/JzsKICAgICAgd2hpbGUgKCRvbmVfcGFnZSA9ICRyZXN1bHQtPmZldGNoUm93KCkpIHsKICAgICAgICAkZGItPkV4ZWN1dGUoJHEyLGFycmF5KCRvbmVfcGFnZVsnY29udGVudF9pZCddLDEpKTsKICAgICAgfQogICAgfQogICAgCiAgICAvLyBOb3cgY2hlY2sgdGhhdCB3ZSBoYXZlIHJlbW92ZWQgZnJvbSBzZW90b29sczIgYW55IHBhZ2VzIHRoYXQgaGF2ZSBiZWVuIGRlbGV0ZWQKICAgICRxdWVyeSA9ICdTRUxFQ1QgYGNvbnRlbnRfaWRgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgV0hFUkUgYGNvbnRlbnRfaWRgIE5PVCBJTiAoU0VMRUNUIGBjb250ZW50X2lkYCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkuICdjb250ZW50KSc7CiAgICBpZiAoISRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KSkgewogICAgICAkaHRtbCA9ICAiPGJyIC8+UHJvYmxlbSB3aXRoIHRoZSBkYXRhYmFzZSEgUGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLiI7CiAgICB9CiAgICAKICAgIGlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkgewogICAgICAvLyBPSyB3ZSBoYXZlIHNvbWUgZGVsZXRlZCBwYWdlcwogICAgICAkcTMgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgV0hFUkUgY29udGVudF9pZCA9ID8nOwogICAgICB3aGlsZSAoJG9uZV9wYWdlID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewogICAgICAgICRkYi0+RXhlY3V0ZSgkcTMsYXJyYXkoJG9uZV9wYWdlWydjb250ZW50X2lkJ10pKTsKICAgICAgfQogICAgfQogICAgCiAgICAvLyBOZXh0LCBlbnN1cmUgdGhhdCBhbGwgaW5hY3RpdmUgcGFnZXMgYXJlIG1hcmtlZCBhcyBub3QgaW5kZXhhYmxlIGluIHNlb3Rvb2xzMgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdjb250ZW50IFdIRVJFIGFjdGl2ZSA9IDAnOwogICAgaWYgKCEkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSkpIHsKICAgICAgJGh0bWwgPSAgIjxiciAvPlByb2JsZW0gd2l0aCB0aGUgZGF0YWJhc2UhIFBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4iOwogICAgfQogICAgCiAgICBpZiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApIHsKICAgICAgLy8gT0sgd2UgaGF2ZSB0byBwcmV2ZW50IHRoZSBpbmFjdGl2ZSBwYWdlcyBmcm9tIGJlaW5nIGluZGV4ZWQuCiAgICAgICRxNCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgU0VUIGluZGV4YWJsZSA9IDAgV0hFUkUgY29udGVudF9pZCA9ID8nOwogICAgICB3aGlsZSAoJG9uZV9wYWdlID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewogICAgICAgICRkYi0+RXhlY3V0ZSgkcTQsYXJyYXkoJG9uZV9wYWdlWydjb250ZW50X2lkJ10pKTsKICAgICAgfQogICAgfQogICAgCiAgICAKICAgIAogICAgaWYgKCFlbXB0eSgkaHRtbCkpIHsKICAgICAgZWNobyAkaHRtbDsKICAgICAgZGllOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICAvLyBQaGV3LCB0aGF0J3MgYWxsIGRvbmUgc28gd2UgY2FuIG1vdmUgb24gdG8gdGhlIHJlYWwgYnVzaW5lc3Mgb2YgdGhlIGRheQogICAgCiAgfQogIAp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBTRU9Ub29sczIgLSBUdXJiby1jaGFyZ2UgeW91ciBvbi1wYWdlIFNFTwojIFZlcnNpb246IDEuMiwgQ2xpcCBNYWdpYyA8YWRtaW5AY2xpcG1hZ2ljLmNvbS5hdT4KIyBNZXRob2Q6IGluc3RhbGwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbnN0YWxsKCkKV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCnNldHVwLiBUeXBpY2FsIHRoaW5ncyB0aGF0IGhhcHBlbiBoZXJlIGFyZSB0aGUgY3JlYXRpb24KYW5kIHByZXBvcHVsYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLCBkYXRhYmFzZSBzZXF1ZW5jZXMsCnBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgogICAKRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCmNoZWNrIG91dCB0aGUgQURPREIgRGF0YSBEaWN0aW9uYXJ5IHBhZ2UgYXQKaHR0cDovL3BocGxlbnMuY29tL2xlbnMvYWRvZGIvZG9jcy1kYXRhZGljdC5odG0KClRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBhIHN0cmluZyBpbiBjYXNlIG9mIGFueSBlcnJvciwKYW5kIENNUyB3aWxsIG5vdCBjb25zaWRlciB0aGUgbW9kdWxlIGluc3RhbGxlZC4KU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgokZGIgPWNtc21zKCktPkdldERiKCk7CgkKLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCi8vIHRhYmxlIHNjaGVtYSBkZXNjcmlwdGlvbgokZmxkcyA9ICIKCWNvbnRlbnRfaWQgSSBLRVksCglpbmRleGFibGUgSSgxKSwKCWZvbGxvdyBJKDEpLAoJa2V5d29yZHMgQygyNTUpLAoJcHJpb3JpdHkgSSgzKSwKCW9ndHlwZSBDKDMyKQoJIjsKCi8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Nlb3Rvb2xzMiIsCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIFRlc3QgaWYgaW5zdGFsbGF0aW9uIHdvcmtlZDoKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczInOwokcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CmlmICghJHJlc3VsdCkgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdpbnN0YWxsX2RhdGFiYXNlX2Vycm9yJyk7Cn0KCi8vIHBlcm1pc3Npb25zCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdFZGl0IFNFTyBTZXR0aW5ncycsJ0VkaXQgU0VPIFNldHRpbmdzJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdFZGl0IHBhZ2UgZGVzY3JpcHRpb25zJywnRWRpdCBwYWdlIGRlc2NyaXB0aW9ucycpOwoKLy8gYWRkIHNpdGUgcHJlZmVyZW5jZXMKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkZGl0aW9uYWxfbWV0YV90YWdzJywnPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEiPicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3JlYXRlX3JvYm90cycsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjcmVhdGVfc2l0ZW1hcCcsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2tleXdvcmRzJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9hdXRvJywnVGhpcyBwYWdlIGNvdmVycyB0aGUgdG9waWNzIHtrZXl3b3Jkc30nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnLDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RldGFpbF9rZXl3b3Jkc192YXInLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2tleXdvcmRfY29udGVudF93ZWlnaHQnLDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnLDQpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgna2V5d29yZF9leGNsdWRlJywnaSwgbWUsIG15LCBteXNlbGYsIHdlLCBvdXIsIG91cnMsIG91cnNlbHZlcywgeW91LCB5b3VyLCB5b3VycywgeW91cnNlbGYsIHlvdXJzZWx2ZXMsIGhlLCBoaW0sIGhpcywgaGltc2VsZiwgc2hlLCBoZXIsIGhlcnMsIGhlcnNlbGYsIGl0LCBpdHMsIGl0c2VsZiwgdGhleSwgdGhlbSwgdGhlaXIsIHRoZWlycywgdGhlbXNlbHZlcywgd2hhdCwgd2hpY2gsIHdobywgd2hvbSwgdGhpcywgdGhhdCwgdGhlc2UsIHRob3NlLCBhbSwgaXMsIGFyZSwgd2FzLCB3ZXJlLCBiZSwgYmVlbiwgYmVpbmcsIGhhdmUsIGhhcywgaGFkLCBoYXZpbmcsIGRvLCBkb2VzLCBkaWQsIGRvaW5nLCBhLCBhbiwgdGhlLCBhbmQsIGJ1dCwgaWYsIG9yLCBiZWNhdXNlLCBhcywgdW50aWwsIHdoaWxlLCBvZiwgYXQsIGJ5LCBmb3IsIHdpdGgsIGFib3V0LCBhZ2FpbnN0LCBiZXR3ZWVuLCBpbnRvLCB0aHJvdWdoLCBkdXJpbmcsIGJlZm9yZSwgYWZ0ZXIsIGFib3ZlLCBiZWxvdywgdG8sIGZyb20sIHVwLCBkb3duLCBpbiwgb3V0LCBvbiwgb2ZmLCBvdmVyLCB1bmRlciwgYWdhaW4sIGZ1cnRoZXIsIHRoZW4sIG9uY2UsIGhlcmUsIHRoZXJlLCB3aGVuLCB3aGVyZSwgd2h5LCBob3csIGFsbCwgYW55LCBib3RoLCBlYWNoLCBmZXcsIG1vcmUsIG1vc3QsIG90aGVyLCBzb21lLCBzdWNoLCBubywgbm9yLCBub3QsIG9ubHksIG93biwgc2FtZSwgc28sIHRoYW4sIHRvbywgdmVyeSwgbG9yZW0sIGNvbWluZycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgna2V5d29yZF9oZWFkbGluZV93ZWlnaHQnLDIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5pbXVtX3dlaWdodCcsNyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmxlbmd0aCcsNSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdrZXl3b3JkX3RpdGxlX3dlaWdodCcsNik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2NvbnRyaWJ1dG9yJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2NvcHlyaWdodCcsJyhjKSB7Y3VzdG9tX2NvcHlyaWdodH0ge3NpdGVuYW1lfS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfZHVibGluY29yZScsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2xvY2F0aW9uJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScsJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGgnLDApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9hcHBsaWNhdGlvbicsJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF90aXRsZScsJ3t0aXRsZX0nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3R5cGUnLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJywne3NpdGVuYW1lfScpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWV0YV9yZWdpb24nLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfc3RhbmRhcmQnLDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RpdGxlJywne3RpdGxlfSB8IHskc2l0ZW5hbWV9IC0geyR0aXRsZV9rZXl3b3Jkc30nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RpdGxlX21ldGEnLCd7dGl0bGV9IHwgeyRzaXRlbmFtZX0nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ByZWZfdmVyaWZpY2F0aW9uJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXRhX2RvY3R5cGUnLDMpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29tcGlsZV91ZHRzJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JfYmVmb3JlJywnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyX2FmdGVyJywnJyk7CgovLyByZWdpc3RlciBldmVudHMgYW5kIGFkZCBldmVudCBoYW5kbGVycwokdGhpcy0+Q3JlYXRlRXZlbnQoICdQcmVmc1VwZGF0ZWQnICk7CiR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50RWRpdFByZScsZmFsc2UpOwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudEVkaXRQb3N0JyxmYWxzZSk7CiR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50RGVsZXRlUG9zdCcsZmFsc2UpOwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInLGZhbHNlKTsKCgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCQkKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFR1cmJvLWNoYXJnZSB5b3VyIG9uLXBhZ2UgU0VPCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljIDxhZG1pbkBjbGlwbWFnaWMuY29tLmF1PgojIE1ldGhvZDogdW5pbnN0YWxsCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVuaW5zdGFsbCgpClNvbWV0aW1lcywgYW4gZXhjZXB0aW9uYWxseSB1bmVubGlnaHRlbmVkIG9yIGlnbm9yYW50CmFkbWluIHdpbGwgd2lzaCB0byB1bmluc3RhbGwgeW91ciBtb2R1bGUuIFdoaWxlIGl0CndvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCndlIHdpbGwgZG8gdGhlIG1hZ25hbmltb3VzIHRoaW5nIGFuZCByZW1vdmUgdGhlIG1vZHVsZQphbmQgY2xlYW4gdXAgdGhlIGRhdGFiYXNlLCBwZXJtaXNzaW9ucywgYW5kIHByZWZlcmVuY2VzCnRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgpUaGlzIGlzIHRoZSBtZXRob2Qgd2hlcmUgd2UgZG8gdGhpcy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8vIFR5cGljYWwgRGF0YWJhc2UgUmVtb3ZhbAokZGIgPSBjbXNtcygpLT5HZXREYigpOwoKLy8gcmVtb3ZlIHRoZSBkYXRhYmFzZSB0YWJsZQokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMyIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdFZGl0IFNFTyBTZXR0aW5ncycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBwYWdlIGRlc2NyaXB0aW9ucycpOwoKLy8gcmVtb3ZlIHNpdGUgcHJlZmVyZW5jZXMKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2FkZGl0aW9uYWxfbWV0YV90YWdzJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdjcmVhdGVfcm9ib3RzJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdjcmVhdGVfc2l0ZW1hcCcpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZGVmYXVsdF9rZXl3b3JkcycpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0bycpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2RldGFpbF9rZXl3b3Jkc192YXInKTsKCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdrZXl3b3JkX2NvbnRlbnRfd2VpZ2h0Jyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdrZXl3b3JkX2Rlc2NyaXB0aW9uX3dlaWdodCcpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgna2V5d29yZF9leGNsdWRlJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCcpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgna2V5d29yZF9taW5pbXVtX3dlaWdodCcpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgna2V5d29yZF9taW5sZW5ndGgnKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2tleXdvcmRfdGl0bGVfd2VpZ2h0Jyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX2NvbnRyaWJ1dG9yJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX2NvcHlyaWdodCcpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnbWV0YV9kdWJsaW5jb3JlJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX2xvY2F0aW9uJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGgnKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2FkbWlucycpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2ltYWdlJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9zaXRlbmFtZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfdGl0bGUnKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3R5cGUnKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtZXRhX3JlZ2lvbicpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnbWV0YV9zdGFuZGFyZCcpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCd0aXRsZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndGl0bGVfbWV0YScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgncHJlZl92ZXJpZmljYXRpb24nKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ21ldGFfZG9jdHlwZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnY29tcGlsZV91ZHRzJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdyX2JlZm9yZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgncl9hZnRlcicpOwoKCi8vIHJlbW92ZSBldmVudHMgYW5kIGV2ZW50IGhhbmRsZXJzCiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdQcmVmc1VwZGF0ZWQnICk7CiR0aGlzLT5SZW1vdmVFdmVudCggJ1ByZWZzVXBkYXRlZCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRFZGl0UHJlJyxmYWxzZSk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50RWRpdFBvc3QnLGZhbHNlKTsKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnREZWxldGVQb3N0JyxmYWxzZSk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50UG9zdFJlbmRlcicsZmFsc2UpOwoKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogVXBncmFkZSgpCiBJZiB5b3VyIG1vZHVsZSB2ZXJzaW9uIG51bWJlciBkb2VzIG5vdCBtYXRjaCB0aGUgdmVyc2lvbgogbnVtYmVyIG9mIHRoZSBpbnN0YWxsZWQgbW9kdWxlLCB0aGUgQ01TIEFkbWluIHdpbGwgZ2l2ZQogeW91IGEgY2hhbmNlIHRvIHVwZ3JhZGUgdGhlIG1vZHVsZS4gVGhpcyBpcyB0aGUgZnVuY3Rpb24KIHRoYXQgYWN0dWFsbHkgaGFuZGxlcyB0aGUgdXBncmFkZS4KIElkZWFsbHksIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGhhbmRsZSB1cGdyYWRlcyBpbmNyZW1lbnRhbGx5LAogc28geW91IGNvdWxkIHVwZ3JhZGUgZnJvbSB2ZXJzaW9uIDAuMC4xIHRvIDEwLjUuNyB3aXRoCiBhIHNpbmdsZSBjYWxsLiBGb3IgYSBncmVhdCBleGFtcGxlIG9mIHRoaXMsIHNlZSB0aGUgTmV3cwogbW9kdWxlIGluIHRoZSBzdGFuZGFyZCBDTVMgaW5zdGFsbC4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247Cgpzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikKewogIGNhc2UgIjEuMCI6CiAgY2FzZSAiMS4wLjEiOgogIGNhc2UgIjEuMC4yIjoKICBjYXNlICIxLjAuMyI6CiAgY2FzZSAiMS4wLjQiOgogICAgLy8gcmVnaXN0ZXIgZXZlbnRzCiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdQcmVmc1VwZGF0ZWQnICk7CiAgICAKICAgIC8vIEFkZCAnZm9sbG93JyBmaWVsZCBmb3IgPG1ldGEgbmFtZT1yb2JvdHMgdGFnCiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMicsJ2ZvbGxvdyBJJyk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzMiBTRVQgZm9sbG93ID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KDEpKTsKICAgIAogICAgLy8gU2V0IHRoZSB2aWV3cG9ydCBtZXRhIHRhZyBhcyBhIHN0ZCBhZGRpdGlvbmFsIHRhZwogICAgJG9sZHN0dWZmID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkZGl0aW9uYWxfbWV0YV90YWdzJyk7CiAgICAkdmlld3BvcnQgPSAnPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEiPic7CiAgICBpZiAoc3RycG9zKCRvbGRzdHVmZiwgc3RydG9sb3dlcignPG1ldGEgbmFtZT0idmlld3BvcnQiJykpICE9PSBmYWxzZSl7CiAgICAgICR2aWV3cG9ydCA9ICc8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1heGltdW0tc2NhbGU9MSI+JzsKICAgICAgJG5ld3N0dWZmID0gJG9sZHN0dWZmIC4gJHZpZXdwb3J0OwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRkaXRpb25hbF9tZXRhX3RhZ3MnLCAkbmV3c3R1ZmYpOwogICAgfQogICAgICAgIC8vIE5ldyBQYWdlIE1ldGEgaW5mbyBwcmVmZXJlbmNlcwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfZG9jdHlwZScsMyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29tcGlsZV91ZHRzJywxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyX2JlZm9yZScsJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JfYWZ0ZXInLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZXRhaWxfa2V5d29yZHNfdmFyJywnJyk7CiAgICAKICAgICR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50RWRpdFByZScsZmFsc2UpOwogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRFZGl0UG9zdCcsZmFsc2UpOwogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnREZWxldGVQb3N0JyxmYWxzZSk7CiAgICAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInLGZhbHNlKTsKICAgICAgICAKICAgIGJyZWFrOwogICAgCiAgY2FzZSAiMS4wLjUiOgogIGNhc2UgIjEuMC42IjoKICBjYXNlICIxLjAuNyI6CiAgY2FzZSAiMS4wLjgiOgogIGNhc2UgIjEuMC45IjoKICBjYXNlICIxLjAuMTAiOgogIGNhc2UgIjEuMC4xMSI6CiAgICAvLyBBZGQgJ2ZvbGxvdycgZmllbGQgZm9yIDxtZXRhIG5hbWU9cm9ib3RzIHRhZwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczInLCdmb2xsb3cgSScpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgU0VUIGZvbGxvdyA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgxKSk7CiAgICAKICAgIC8vIFNldCB0aGUgdmlld3BvcnQgbWV0YSB0YWcgYXMgYSBzdGQgYWRkaXRpb25hbCB0YWcKICAgICRvbGRzdHVmZiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZGRpdGlvbmFsX21ldGFfdGFncycpOwogICAgaWYgKHN0cnBvcygkb2xkc3R1ZmYsIHN0cnRvbG93ZXIoJzxtZXRhIG5hbWU9InZpZXdwb3J0IicpKSAhPT0gZmFsc2UpewogICAgICAkdmlld3BvcnQgPSAnPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEiPic7CiAgICAgICRuZXdzdHVmZiA9ICRvbGRzdHVmZiAuICR2aWV3cG9ydDsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkZGl0aW9uYWxfbWV0YV90YWdzJywgJG5ld3N0dWZmKTsKICAgIH0KICAgICAgICAKICAgIC8vIE5ldyBQYWdlIE1ldGEgaW5mbyBwcmVmZXJlbmNlcwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21ldGFfZG9jdHlwZScsMyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29tcGlsZV91ZHRzJywxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyX2JlZm9yZScsJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JfYWZ0ZXInLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZXRhaWxfa2V5d29yZHNfdmFyJywnJyk7CiAgICAKICAgICR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50RWRpdFByZScsZmFsc2UpOwogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRFZGl0UG9zdCcsZmFsc2UpOwogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnREZWxldGVQb3N0JyxmYWxzZSk7CiAgICAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInLGZhbHNlKTsKICAgIAogICAgYnJlYWs7CiAgICAKICBjYXNlICIxLjEiOgogIGNhc2UgIjEuMS4xIjoKICBjYXNlICIxLjEuMiI6CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncl9iZWZvcmUnLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyX2FmdGVyJywnJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV0YWlsX2tleXdvcmRzX3ZhcicsJycpOwogICAgCiAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9zZW90b29sczIiOwogICAgaWYgKCEkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSkpIHsKICAgICAgZWNobyAiVGhlcmUgd2FzIGEgcHJvYmxlbSBhY2Nlc3NpbmcgdGhlICIuICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKSAuICIgdGFibGUgaW4gdGhlIGRhdGFiYXNlIjsKICAgICAgZGllOwogICAgfQogICAgCiAgICBpZiAoJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKSB7CiAgICAgIHdoaWxlICgkcm93ID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewogICAgICAgICRzcGFjZXMgPSAkcm93WydrZXl3b3JkcyddOwogICAgICAgICRjb250ZW50X2lkID0gJHJvd1snY29udGVudF9pZCddOwogICAgICAgIGlmICghZW1wdHkoJHNwYWNlcykpewogICAgICAgICAgJGtleXdvcmRzID0gc3RyX3JlcGxhY2UoJyAnLCcsJywkc3BhY2VzKTsKICAgICAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29sczIgU0VUIGtleXdvcmRzID0gPyBXSEVSRSBjb250ZW50X2lkID0gPyc7CiAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRrZXl3b3JkcywkY29udGVudF9pZCkpOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRFZGl0UHJlJyxmYWxzZSk7CiAgICAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudEVkaXRQb3N0JyxmYWxzZSk7CiAgICAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudERlbGV0ZVBvc3QnLGZhbHNlKTsKICAgICR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50UG9zdFJlbmRlcicsZmFsc2UpOwoKICBjYXNlICIxLjIiOgogIGRlZmF1bHQ6CiAgICBicmVhazsKICAgIAp9CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/SEOTools2.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzMiAtIFNldmVyYWwgdG9vbHMgdG8gaGVscCB3aXRoIFNlYXJjaCBFbmdpbmUgT3B0aW1pemF0aW9uIGFuZCBjaGVjayBmb3Igc3Vib3B0aW1hbCBTRU8tcmVsYXRlZCB0aGluZ3MuCiMgVmVyc2lvbjogMS4yLCBDbGlwIE1hZ2ljCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMTAgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIyBUaGlzIGZpbGUgb3JpZ2luYWxseSBjcmVhdGVkIGJ5IE1vZHVsZU1ha2VyIG1vZHVsZSwgdmVyc2lvbiAwLjMuMgojIENvcHlyaWdodCAoYykgMjAxMCBieSBTYW11ZWwgR29sZHN0ZWluIChzamdAY21zbWFkZXNpbXBsZS5vcmcpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy9lcnJvcl9yZXBvcnRpbmcoRV9BTEwpOwoKCmNsYXNzIFNFT1Rvb2xzMiBleHRlbmRzIENNU01vZHVsZQp7CgogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnU0VPVG9vbHMyJzsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEZyaWVuZGx5TmFtZSgpCiAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbG9jYWxpemVkIG5hbWUKICAgb2YgdGhlIG1vZHVsZS4gVGhpcyBpcyB0aGUgbmFtZSB0aGF0J3Mgc2hvd24gaW4gdGhlCiAgIEFkbWluIE1lbnVzIGFuZCBzZWN0aW9uIHBhZ2VzIChpZiB0aGUgbW9kdWxlIGhhcyBhbiBhZG1pbgogICBjb21wb25lbnQpLgoKICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yCiAgIHNvbWV0aGluZyB0aGF0IG1ha2VzIHNlbnNlIGZvciBkZXNpZ25hdGluZyBhIHZlcnNpb24uCiAgIFRoZSBDTVMgd2lsbCB1c2UgdGhpcyB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdAogICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQKICAgdGhlIG1vZHVsZSB3aWxsIHVzZSBpdCB0byBmaWd1cmUgb3V0IGhvdyB0byB1cGdyYWRlCiAgIGl0c2VsZiBpZiByZXF1ZXN0ZWQuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgewogICAgcmV0dXJuICcxLjIuMSc7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgVGhpcyByZXR1cm5zIEhUTUwgaW5mb3JtYXRpb24gb24gdGhlIG1vZHVsZS4KICAgVHlwaWNhbGx5LCB5b3UnbGwgd2FudCB0byBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIGhvdyB0bwogICB1c2UgdGhlIG1vZHVsZS4KCiAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQogICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnQ2xpcCBNYWdpYyc7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlCiAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2VycwogICBvZiB5b3VyIG1vZHVsZSBnZXQgaW4gdG91Y2ggd2l0aCB5b3UgdG8gc2VuZCBidWcgcmVwb3J0cywKICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdhZG1pbkBjbGlwbWFnaWMuY29tLmF1JzsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgbW9kdWxlCiAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgQWJvdXQgbGluay4gSXQgaGVscHMgdXNlcnMKICAgZmlndXJlIG91dCB3aGF0J3MgY2hhbmdlZCBiZXR3ZWVuIHJlbGVhc2VzLgogICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgb3IgZmFsc2UsIGRlcGVuZGluZyB1cG9uCiAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3IKICAgdGVtcGxhdGUgdXNpbmcgYSBzbWFydHkgdGFnIG9mIHRoZSBmb3JtCiAgIHtjbXNfbW9kdWxlIG1vZHVsZT0nU0VPVG9vbHMyJyBwYXJhbTE9dmFsIHBhcmFtMj12YWwuLi59CgogICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3IKICAgdGVtcGxhdGVzLCByZXR1cm4gImZhbHNlIiBoZXJlLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiAgCgkvKioKCSAqIFJldHVybnMgd2hldGhlciB0aGlzIG1vZHVsZSBzaG91bGQgb25seSBiZSBsb2FkZWQgZnJvbSB0aGUgYWRtaW4KCSAqCgkgKiBAYWJzdHJhY3QKCSAqIEByZXR1cm4gYm9vbGVhbgoJICovCglmdW5jdGlvbiBJc0FkbWluT25seSgpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUsIGRlcGVuZGluZyBvbgogICB3aGV0aGVyIHlvdXIgbW9kdWxlIGFkZHMgYW55dGhpbmcgdG8gdGhlIEFkbWluIGFyZWEgb2YKICAgdGhlIHNpdGUuIEZvciB0aGUgcmVzdCBvZiB0aGVzZSBjb21tZW50cywgSSdsbCBiZSBjYWxsaW5nCiAgIHRoZSBhZG1pbiBwYXJ0IG9mIHlvdXIgbW9kdWxlIHRoZSAiQWRtaW4gUGFuZWwiIGZvcgogICB3YW50IG9mIGEgYmV0dGVyIHRlcm0uCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluU2VjdGlvbigpCiAgIElmIHlvdXIgbW9kdWxlIGhhcyBhbiBBZG1pbiBQYW5lbCwgeW91IGNhbiBzcGVjaWZ5CiAgIHdoaWNoIEFkbWluIFNlY3Rpb24gKG9yIHRvcC1sZXZlbCBBZG1pbiBNZW51KSBpdCBzaG93cwogICB1cCBpbi4gVGhpcyBtZXRob2QgcmV0dXJucyBhIHN0cmluZyB0byBzcGVjaWZ5IHRoYXQKICAgc2VjdGlvbi4gVmFsaWQgcmV0dXJuIHZhbHVlcyBhcmU6CgogICBtYWluICAgICAgICAtIHRoZSBNYWluIG1lbnUgdGFiLgogICBjb250ZW50ICAgICAtIHRoZSBDb250ZW50IG1lbnUKICAgbGF5b3V0ICAgICAgLSB0aGUgTGF5b3V0IG1lbnUKICAgdXNlcnNncm91cHMgLSB0aGUgVXNlcnMgYW5kIEdyb3VwcyBtZW51CiAgIGV4dGVuc2lvbnMgIC0gdGhlIEV4dGVuc2lvbnMgbWVudSAodGhpcyBpcyB0aGUgZGVmYXVsdCkKICAgc2l0ZWFkbWluICAgLSB0aGUgU2l0ZSBBZG1pbiBtZW51CiAgIHZpZXdzaXRlICAgIC0gdGhlIFZpZXcgU2l0ZSBtZW51IHRhYgogICBsb2dvdXQgICAgICAtIHRoZSBMb2dvdXQgbWVudSB0YWIKCiAgIE5vdGUgdGhhdCBpZiB5b3UgcGxhY2UgeW91ciBtb2R1bGUgaW4gdGhlIG1haW4sCiAgIHZpZXdzaXRlLCBvciBsb2dvdXQgc2VjdGlvbnMsIGl0IHdpbGwgc2hvdyB1cCBpbiB0aGUKICAgbWVudXMsIGJ1dCB3aWxsIG5vdCBiZSB2aXNpYmxlIGluIGFueSB0b3AtbGV2ZWwKICAgc2VjdGlvbiBwYWdlcy4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnY29udGVudCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIElmIHlvdXIgbW9kdWxlIGRvZXMgaGF2ZSBhbiBBZG1pbiBQYW5lbCwgeW91CiAgIGNhbiBoYXZlIGl0IHJldHVybiBhIGRlc2NyaXB0aW9uIHN0cmluZyB0aGF0IGdldHMgc2hvd24KICAgaW4gdGhlIEFkbWluIFNlY3Rpb24gcGFnZSB0aGF0IGNvbnRhaW5zIHRoZSBtb2R1bGUuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgSWYgeW91ciBtb2R1bGUgZG9lcyBoYXZlIGFuIEFkbWluIFBhbmVsLCB5b3UKICAgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgaXQncyBkaXNwbGF5ZWQgYnkgdGhlIGJvb2xlYW4KICAgdGhhdCBpcyByZXR1cm5lZCBieSB0aGlzIG1ldGhvZC4gVGhpcyBpcyBwcmltYXJpbHkgdXNlZAogICB0byBoaWRlIG1vZHVsZXMgZnJvbSBhZG1pbnMgd2hvIGxhY2sgcGVybWlzc2lvbiB0byB1c2UKICAgdGhlbS4KCiAgIFR5cGljYWxseSwgeW91J2xsIHVzZSBzb21lIHBlcm1pc3Npb24gdG8gc2V0IHRoaXMKICAgKGUuZy4sICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NvbWUgUGVybWlzc2lvbicpOyApCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRWRpdCBTRU8gU2V0dGluZ3MnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDaGVja0FjY2VzcygpCiAgIFRoaXMgd3JhcHBlciBmdW5jdGlvbiB3aWxsIGNoZWNrIGFnYWluc3QgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uLAogICBhbmQgZGlzcGxheSBhbiBlcnJvciBwYWdlIGlmIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSBhZGVxdWF0ZSBwZXJtaXNzaW9ucy4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDaGVja0FjY2VzcygkcGVybSA9ICdFZGl0IFNFTyBTZXR0aW5ncycpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHBlcm0pOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUVycm9yUGFnZSgpCiAgIFRoaXMgaXMgYSBzaW1wbGUgZnVuY3Rpb24gZm9yIGdlbmVyYXRpbmcgZXJyb3IgcGFnZXMuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKCiAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKICAgIC8vZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKCSRzbWFydHktPmRpc3BsYXkoJ2Vycm9yLnRwbCcpOwogIH0KCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZAogICBiZWZvcmUgeW91IGNhbiBpbnN0YWxsIGl0LgogICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYW5kCiAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuCgogICBJdCBzaG91bGQgcmV0dXJuIGFuIGhhc2gsIGVnLgogICByZXR1cm4gYXJyYXkoJ3NvbWVtb2R1bGUnPT4nMS4wJywgJ290aGVybW9kdWxlJz0+JzEuMScpOwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIFlvdXIgbW9kdWxlIG1heSByZXF1aXJlIGZ1bmN0aW9ucyBvciBvYmplY3RzIGZyb20KICAgYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIENNUyBNYWRlIFNpbXBsZS4KICAgRXZlciBzaW5jZSB2ZXJzaW9uIDAuMTEsIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBtaW5pbXVtCiAgIENNUyBNUyB2ZXJzaW9uIGlzIHJlcXVpcmVkIGZvciB5b3VyIG1vZHVsZSwgd2hpY2ggd2lsbAogICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgaW5zdGFsbGVkIGJ5IGEgdmVyc2lvbiBvZiBDTVMgdGhhdAogICBjYW4ndCBydW4gaXQuCgogICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUKICAgbWluaW11bSB2ZXJzaW9uIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS4xMSI7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWF4aW11bUNNU1ZlcnNpb24oKQogICBZb3UgbWF5IHdhbnQgdG8gcHJldmVudCBwZW9wbGUgZnJvbSB1c2luZyB5b3VyIG1vZHVsZSBpbgogICBmdXR1cmUgdmVyc2lvbnMgb2YgQ01TIE1hZGUgU2ltcGxlLCBlc3BlY2lhbGx5IGlmIHlvdQogICB0aGluayBBUEkgZmVhdHVyZXMgeW91IHVzZSBtYXkgY2hhbmdlIC0tIGFmdGVyIGFsbCwgeW91CiAgIG5ldmVyIHJlYWxseSBrbm93IGhvdyB0aGUgQ01TIE1TIEFQSSBjb3VsZCBldm9sdmUuCgogICBTbywgdG8gcHJldmVudCBwZW9wbGUgZnJvbSBmbG9vZGluZyB5b3Ugd2l0aCBidWcgcmVwb3J0cwogICB3aGVuIGEgbmV3IHZlcnNpb24gb2YgQ01TIE1TIGlzIHJlbGVhc2VkLCB5b3UgY2FuIHNpbXBseQogICByZXN0cmljdCB0aGUgdmVyc2lvbi4gVGhlbiwgb2YgY291cnNlLCB0aGUgb251cyBpcyBvbiB5b3UKICAgdG8gcmVsZWFzZSBhIG5ldyB2ZXJzaW9uIG9mIHlvdXIgbW9kdWxlIHdoZW4gYSBuZXcgdmVyc2lvbgogICBvZiB0aGUgQ01TIGlzIHJlbGVhc2VkLi4uCgogICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUKICAgbWF4aW11bSB2ZXJzaW9uIHRoYXQgdGhpcyBtb2R1bGUgc3VwcG9ydHMuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgLyogZnVuY3Rpb24gTWF4aW11bUNNU1ZlcnNpb24oKQogICB7CiAgIHJldHVybjsKICAgfQogICAqLwoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICBBZnRlciBpbnN0YWxsYXRpb24sIHRoZXJlIG1heSBiZSB0aGluZ3MgeW91IHdhbnQgdG8KICAgY29tbXVuaWNhdGUgdG8geW91ciBhZG1pbi4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEKICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICBBZnRlciByZW1vdmluZyBhIG1vZHVsZSwgdGhlcmUgbWF5IGJlIHRoaW5ncyB5b3Ugd2FudCB0bwogICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQogICBzdHJpbmcgd2hpY2ggd2lsbCBiZSBkaXNwbGF5ZWQuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIC8qKgogICAqIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogICAqIFRoaXMgYWxsb3dzIHlvdSB0byBkaXNwbGF5IGEgbWVzc2FnZSBhbG9uZyB3aXRoIGEgWWVzL05vIGRpYWxvZyBib3guIElmIHRoZSB1c2VyIHJlc3BvbmRzCiAgICogaW4gdGhlIGFmZmlybWF0aXZlIHRvIHlvdXIgbWVzc2FnZSwgdGhlIHVuaW5zdGFsbCB3aWxsIHByb2NlZWQuIElmIHRoZXkgcmVzcG9uZCBpbiB0aGUKICAgKiBuZWdhdGl2ZSwgdGhlIHVuaW5zdGFsbCB3aWxsIGJlIGNhbmNlbGVkLiBUaHVzLCB5b3VyIG1lc3NhZ2Ugc2hvdWxkIGJlIG9mIHRoZSBmb3JtCiAgICogIkFsbCBtb2R1bGUgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBtb2R1bGU/IgogICAqCiAgICogSWYgeW91IGRvbid0IHdhbnQgdGhlIGRpYWxvZywgaGF2ZSB0aGlzIG1ldGhvZCByZXR1cm4gYSBGQUxTRSwgd2hpY2ggd2lsbCBjYXVzZSB0aGUKICAgKiBtb2R1bGUgdG8gdW5pbnN0YWxsIGltbWVkaWF0ZWx5IGlmIHRoZSB1c2VyIGNsaWNrcyB0aGUgInVuaW5zdGFsbCIgbGluay4KICAgKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICB9CgoKCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Nob3diYXNlJywgJ3RydWUnLCAkdGhpcy0+TGFuZygnaGVscF9zaG93YmFzZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaG93YmFzZScsIENMRUFOX1NUUklORyk7CiAgICAKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXModHJ1ZSk7CgogIH0KCgoKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9J3RleHQvY3NzJz4Ke2xpdGVyYWx9CnAucGFnZXRleHQgewogIGNsZWFyOiBib3RoOwp9CmEgaW1nIHsKICBib3JkZXItc3R5bGU6IG5vbmUgIWltcG9ydGFudDsKfQp7L2xpdGVyYWx9Cjwvc3R5bGU+CgoKeyRtZXNzYWdlfQoKeyR0YWJfaGVhZGVyc30KCnskc3RhcnRfc2VvYWxlcnRzX3RhYn0KeyRhbGVydHN9CnskZW5kX3RhYn0KCnskc3RhcnRfcGFnZWRlc2NyaXB0aW9uc190YWJ9CnskcGFnZXNldHRpbmdzfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X21ldGFzZXR0aW5nc190YWJ9CnskbWV0YV9mb3JtfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X3NpdGVtYXBzZXR0aW5nc190YWJ9Cnskc2l0ZW1hcF9mb3JtfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X2tleXdvcmRzZXR0aW5nc190YWJ9Cnska2V5d29yZF9mb3JtfQp7JGVuZF90YWJ9Cgp7JHRhYl9mb290ZXJzfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
</module>
