<?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>ShopMadeSimple</name>
	<version>0.3.5</version>
  <mincmsversion>1.8.1</mincmsversion>
	<help><![CDATA[CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD4KQSB2aXNpdG9yIG9mIHRoZSB3ZWJzaXRlIHdpbGwgc2VlIGEgbGlzdCBvZiBjYXRlZ29yaWVzLiBZb3Ugd2lsbCBiZSBhYmxlIHRvIHNob3cgYSBsaXN0IG9mIHRoZSBjYXRlZ29yaWVzIGJ5IHBsYWNpbmcgYSBzbWFydHkgdGFnIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyAmIzEyMztjbXNfbW9kdWxlIG1vZHVsZT0nU2hvcE1hZGVTaW1wbGUnfS48YnI+IApVc2luZyB0aGUgcGFyYW1ldGVyIGNvbm5lY3RlZCB0byBhIGNhdGVnb3J5LCB5b3UgYXJlIGFibGUgdG8gc2hvdyBwcm9kdWN0cyBsaW5rZWQgdG8gdGhhdCBjYXRlZ29yeS48YnI+CkFuIGV4YW1wbGUgaXM6IHtjbXNfbW9kdWxlIG1vZHVsZT0nU2hvcE1hZGVTaW1wbGUnIGRpc3BsYXk9J3Byb2R1Y3RsaXN0JyBjYXRuYW1lPSdHYXJkZW50b29scyd9LiBUaGlzIHdpbGwgc2hvdyBhbGwgcHJvZHVjdHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvIHRoZQpjYXRlZ29yeSBuYW1lICdHYXJkZW50b29scycuIFVzaW5nIHRoZSBkaXNwbGF5PSdwcm9kdWN0bGlzdCcgd2l0aG91dCBhIGNhdGVnb3J5IG5hbWUgd2lsbCBzaG93IHRoZSBwcm9kdWN0cyBpbiB0aGUgcm9vdC48YnI+IApBbm90aGVyIGV4YW1wbGUgaXM6IHtjbXNfbW9kdWxlIG1vZHVsZT0nU2hvcE1hZGVTaW1wbGUnIGRpc3BsYXk9J2NhdGVnb3J5bGlzdCd9LiBUaGlzIHdpbGwgc2hvdyB0aGUgdmFyaW91cyBjYXRlZ29yaWVzLiBJZiBvbmUgaXMgc2VsZWN0ZWQsIGFsbCB0aGUgY29ubmVjdGVkIHByb2R1Y3RzIGFyZSBzaG93bi48YnI+CklmIHlvdSBkb24ndCB3YW50IHRvIHNlZSBhbiBpbWFnZSBmb3IgYSBjYXRlZ29yeSBvbiB0aGUgZnJvbnQgZW5kLCBwbGFjZSAnbm9faW1hZ2UuanBnJyBpbiB0aGUgZmllbGQgJ0ltYWdlJy48YnI+PGJyPgpXaGVuIHRoZSBTZWFyY2ggbW9kdWxlIGlzIGluc3RhbGxlZCwgYWxsIHRoZSB3b3JkcyBhcyBlbnRlcmVkIGluIHRoZSBwcm9kdWN0IG5hbWUgYW5kIHByb2R1Y3QgZGVzY3JpcHRpb24gd2lsbCBiZSBwYXJ0IG9mIHRoZSBzZWFyY2ggaW5kZXguPGJyPgpJZiB0aGUgU2VhcmNoIG1vZHVsZSBpcyBpbnN0YWxsZWQgYWZ0ZXIgdGhpcyBtb2R1bGUsIG9uZSBjYW4gdXNlIHRoZSBidXR0b24gUmVpbmRleCBmb3IgU2VhcmNoIGZyb20gdGhlIG9wdGlvbnMgdGFiIGluIHRoZSBiYWNrIGVuZC48YnIgLz4KV2hlbiB5b3UgdXNlIGludmVudG9yeSB0cmFja2luZywgdGhlIHF1YW50aXR5IHNvbGQgd2lsbCBiZSBzdWJ0cmFjdGVkIGZyb20gdGhlIHF1YW50aXR5IG9uIHN0b2NrIGF0IHRoZSBtb21lbnQgdGhhdCBwYXltZW50IGhhcyBiZWVuIApyZWNlaXZlZC4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBzZWUgdGhlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zIj5wcm9qZWN0cyBob21lcGFnZTwvYT47PC9saT4KPGxpPkNvbW1lcmNpYWwgc3VwcG9ydCBpcyBhdmFpbGFibGUgdmlhIER1a2V0b3duJ3MgbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZHVrZXRvd24uZXUiPkR1a2V0b3duPC9hPjs8L2xpPgo8bGk+QnV5IHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmR1a2V0b3duLmV1L3Nob3AiPkNNUyBNYWRlIFNpbXBsZSBib29rPC9hPiBmcm9tIER1a2V0b3duLCB3aGljaCBkZXNjcmliZXMgaW4gZGV0YWlsIGhvdyB0byB1c2UgdGhpcyBtb2R1bGU7PC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOC0yMDEwLjxicj4KQXV0aG9yOiBEdWtldG93bgo8aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzdGFydD0iIiAtIFRoZSBzdGFydGluZyB2YWx1ZSBmb3IgdGhlIHBhZ2Ugb2YgcHJvZHVjdHMuIElmIHlvdSB3YW50IHRvIHNob3cgYWxsIHByb2R1Y3RzIHN0YXJ0aW5nIGF0IHRoZSBmb3VydGgsIHVzZSAnc3RhcnQ9NCcuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYWdlbnVtYmVyPSIiIC0gRW50ZXIgdGhlIG51bWJlciBvZiB0aGUgcGFnZSB0aGF0IHRoZSBwcm9kdWN0cyBzaG91bGQgYmUgc2hvd24uICdwYWdlbnVtYmVyPTInIHdpbGwgc2hvdyBhbGwgcHJvZHVjdHMgYXMgb2YgcGFnZSAyLiAKVGhlIHZpc2l0b3Igd2lsbCBiZSBhYmxlIHRvIHVzZSB0aGUgcHJldmlvdXMgcGFnZSBhbmQgdGhlIG5leHQgKGlmIGFueSkuIElmIHRoZSBwYWdlbnVtYmVyIGlzIG5vdCBwYXNzZWQsIHBhZ2UgMSB3aWxsIGJlIHNob3duLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcHJvZHBhZ2VsaW1pdD0iIiAtIFRoZSBudW1iZXIgb2YgcHJvZHVjdHMgdGhhdCBhcmUgdG8gYmUgc2hvd24gb24gb25lIHBhZ2UuIFRoaXMgb3ZlcnJpZGVzIHRoZSB2YWx1ZSBhcyBlbnRlcmVkIGluIHRoZSBwcmVmZXJlbmNlcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhcmVudGNhdGVnb3J5PSIiIC0gSW50ZXJuYWwgbnVtYmVyIG9mIGNhdGVnb3J5LiBUaGlzIHdpbGwgc2hvdyBhIGxpc3Qgb2YgYWxsIHRoZSBjYXRlZ29yaWVzIHVzaW5nIHRoZSBwcm92aWRlZCBudW1iZXIgYXMgcGFyZW50LiAKVGhlIGludGVybmFsIG51bWJlciBjYW4gYmUgZm91bmQgb24gdGhlIGxlZnQgc2lkZSBvZiBlYWNoIGNhdGVnb3J5IGluIHRoZSBhZG1pbiBwYWdlIG9mIHRoaXMgbW9kdWxlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGlzcGxheT0iIiAtIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBkaXNwbGF5IHlvdSB3YW50IHRvIHNob3cuIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIGF2YWlsYWJsZTo8dWw+Cgk8bGk+Y2F0ZWdvcnlsaXN0IChkZWZhdWx0KSAtIHNob3dzIGEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcyBhbmQgdGhlIG51bWJlciBvZiBwcm9kdWN0cyB3aXRoaW4gY2F0ZWdvcnkgKG9uZSBsZXZlbCBvbmx5ISk7PC9saT4KCTxsaT5jYXRsaXN0IC0gc2hvd3MgbGlzdCBvZiBjYXRlZ29yaWVzIHdpdGggbnVtYmVyIG9mIHByb2R1Y3RzLiBVc2UgdGhpcyBpZiBtdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgdXNlZDs8L2xpPgoJPGxpPmZlYXR1cmVkIC0gc2hvd3MgYSBsaXN0IG9mIHRoZSBwcm9kdWN0cyB0aGF0IGFyZSBtYXJrZWQgYXMgZmVhdHVyZWQ7PC9saT4KCTxsaT5wcm9kdWN0bGlzdCAtIHNob3cgcHJvZHVjdHMgZnJvbSBhIG5hbWVkIGNhdGVnb3J5LjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYXRuYW1lPSIiIC0gTmFtZSBvZiBjYXRlZ29yeS4gTXVzdCBleGFjdGx5IG1hdGNoLiBJZiBsZWZ0IGJsYW5rLCB0aGUgcHJvZHVjdHMgZnJvbSB0aGUgcm9vdCBjYXRlZ29yeSB3aWxsIGJlIHNob3duLiAKVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB1c2VkIGlmIHRoZSBwYXJhbWV0ZXIgZGlzcGxheSBjb250YWlucyBwcm9kdWN0bGlzdCAoc2VlIGV4YW1wbGUpLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBEdWtldG93bjxiciAvPjxiciAvPlZlcnNpb246IDAuMy41PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgoJPGxpPlZlcnNpb24gMC4zLjUgMiBBdWd1c3QgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPkFkZCB0byBjYXJ0IGZyb20gcHJvZHVjdCBsaXN0IHdhcyBhYmxlIHRvIGFkZCBzZWNvbmQgbGluZSB3aXRoIHNhbWUgcHJvZHVjdDs8L2xpPgoJCQk8bGk+TWlub3IgY2hhbmdlcyBzbyBtb2R1bGUgd29ya3Mgd2l0aCBQb3N0Z3Jlc3MgZGF0YWJhc2UgYXMgd2VsbCAodGhhbmtzIGdvIHRvIEJyZXR0IG9mIEJpbmFyeXN0dWRpb3MubmV0KS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjQgMTIgSnVuZSAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+VGltZSBvZiBkZWNyZWFzaW5nIHRoZSBpbnZlbnRvcnkgc3RvY2sgbGV2ZWwgY2FuIG5vdyBiZSBzZXQgdmlhIHByZWZlcmVuY2VzOzwvbGk+CgkJCTxsaT5QYWdpbmF0aW9uIGRpZG4ndCB3b3JrIGNvcnJlY3RseSBvbiBwcm9kdWN0IGxpc3QgcGFnZSAoYWZ0ZXIgc2VsZWN0aW5nIGNhdGVnb3J5KTs8L2xpPgoJCQk8bGk+QXR0cmlidXRlIGl0ZW0gbnVtYmVycyB3ZXJlIG5vdCBjYXBpdGFsaXplZCBhdXRvbWF0aWNhbGx5IHdoZW4gb3B0aW9uIHRvIGRvIHNvIHdhcyBvbjs8L2xpPgoJCQk8bGk+UGFnaW5hdGlvbiBkaWRuJ3Qgd29yayB3aGVuIG9ubHkgb25lIGl0ZW0gc2hvdWxkIGJlIHNob3duIHBlciBwYWdlIChidWcjIDM4ODcpOzwvbGk+CgkJCTxsaT5DYWxjdWxhdGlvbiBvZiBhdHRyaWJ1dGUgcHJpY2Ugd2FzIHdyb25nIHdoZW4gcHJpY2UgYWRqdXN0bWVudCB3YXMgJysnIG9yICctJzs8L2xpPgoJCQk8bGk+TmV3IHZhcmlhYmxlIGF2YWlsYWJsZSBpbiB0aGUgdGhlIHByb2R1Y3QgbGlzdGluZyB0ZW1wbGF0ZTogYXZhaWxhYmxlc3RvY2suIFRoaXMgaG9sZHMgdGhlIAoJCQlxdWFudGl0eSBhdmFpbGFibGUgb2YgdGhlIHByb2R1Y3QgdGhhdCBpcyBvbiBzdG9jazs8L2xpPgoJCQk8bGk+SWYgaW52ZW50b3J5IG1hbmFnZW1lbnQgbW9kdWxlIGlzIGluIHVzZSwgc2FsZXMgdHJhbnNhY3Rpb25zIGFyZSBwYXNzZWQ7PC9saT4KCQkJPGxpPkNoYW5nZWQgdGhlIG1heGltdW0gdmVyc2lvbiBvZiBDTVNNUyB0byBtYWtlIHN1cmUgbm8gcHJvYmxlbXMgd2l0aCB2ZXJzaW9uIDEuMTAgb2YgQ01TTVMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy4zIDI2IE1heSAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+RXh0ZW5kZWQgbGVuZ2h0IG9mIG5hbWUgb2YgcHJvZHVjdCBpbnB1dCB0byAyNTUgaW4gdG90YWw7PC9saT4KCQkJPGxpPklmIGludmVudG9yeSB0eXBlIHByZWZlcmVuY2Ugc2V0IHRvICdOb3QgdXNlZCcsIGFsbG93IGFkZCB0byBjYXJ0IG9wdGlvbi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjIgMjEgRGVjZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPkF0dHJpYnV0ZSBkZXNjcmlwdGlvbiB3YXMgbm90IHNhdmVkIHdoZW4gYXR0cmlidXRlIHdhcyBhZGRlZDs8L2xpPgoJCQk8bGk+V2hlbiBlZGl0aW5nIGEgY2F0ZWdvcnksIHRoZSBjYXRlZ29yeSB0aGF0IGlzIGVkaXRlZCBjYW4ndCBiZSBzZXQgYXMgdGhlIHBhcmVudCBjYXRlZ29yeTs8L2xpPgoJCQk8bGk+RGVwZW5kZW50IG9uIGludmVudG9yeSBzZXR0aW5ncywgbGFiZWxzIG9mIGZpZWxkcyBvbiBwcm9kdWN0IGFuZCBhdHRyaWJ1dGUgbGV2ZWwgYXJlIHNob3duIG9yIGhpZGRlbjs8L2xpPgoJCQk8bGk+SWYgcHJvZHVjdCBpcyBkZWFjdGl2YXRlZCwgaXRzIHNlYXJjaCBpbmRleCBlbnRyaWVzIGFyZSByZW1vdmVkLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjMuMSAxNyBOb3ZlbWJlciAyMDEwPGJyIC8+CgkJPHVsPgoJCQk8bGk+V2hlbiB1bmluc3RhbGxpbmcsIHRoZSBzZWFyY2ggaW5kZXggZW50cmllcyBvZiB0aGUgcHJvZHVjdHMgYXJlIHJlbW92ZWQ7PC9saT4KCQkJPGxpPlByZWZlcmVuY2VzIG5vdyBob2xkcyBmaWVsZCB0aGF0IGFsbG93cyB0cmFja2luZyBvZiBpbnZlbnRvcnkgb24gcHJvZHVjdCBvciBhdHRyaWJ1dGUgbGV2ZWwgKFJlcXVlc3QjIDQ1MDEpOzwvbGk+CgkJCTxsaT5NYWtlIG1heCBhdHRyaWJ1dGVzIG9uIHByb2R1Y3QgbGV2ZWwgbWFpbnRhaW5hYmxlOzwvbGk+CgkJCTxsaT5Ob3QgYWN0aXZlIGF0dHJpYnV0ZXMgd2hlcmUgc2hvd24gb24gZnJvbnQgZW5kLCBmcm9tIHRoaXMgbW9tZW50IG9uIHRoaXMgaXMgbm90IHRoZSBjYXNlIGFueW1vcmUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy4wIDYgTm92ZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPk5hbWUgb2Ygc2hvcCBpbiBwcmVmZXJlbmNlcyBpcyBub3cgdXNlZCBpbiBkb2N1bWVudCBwcm9wZXJ0aWVzIG9mIGludm9pY2UgZ2VuZXJhdGVkIGluIENhcnQgTWFkZSBTaW1wbGU7PC9saT4KCQkJPGxpPkJpZyBjaGFuZ2Ugb24gdGhlIHBlcm1pc3Npb24gc3lzdGVtLiBOb3RlIC0tPiBBbGwgcHJldmlvdXMgU2hvcCBNYWRlIFNpbXBsZSBwZXJtaXNzaW9ucyBhcmUgZ29uZSB3aGVuIHVwZ3JhZGVkISBTb3JyeSwgdGhpcyBjb3VsZCBub3QgYmUgYXZvaWRlZDs8L2xpPgoJCQk8bGk+U2hvd2luZyBtdWx0aXBsZSBsZXZlbHMgaW4gY2F0ZWdvcmllcyBub3cgcG9zaWJsZSB3aXRoIHBhcm0gY2F0bGlzdCAoc2VlIGhlbHAgdGV4dCk7PC9saT4KCQkJPGxpPkluY2x1ZGUgcHJpY2UgZm9ybWF0aW5nIGluIGRlZmF1bHQgY2F0ZWdvcnkvcHJvZHVjdHMgdGVtcGxhdGU7PC9saT4KCQkJPGxpPkdldCByaWQgb2YgcHVibGljIG1lbWJlciB2YXJpYWJsZXMgc3VjaCBhcyAnZ2xvYmFsICRnQ21zJzs8L2xpPgoJCQk8bGk+TWluaW11bSB2ZXJzaW9uIHNldCB0byAxLjguMSBkdWUgdG8gcmVtb3ZhbCBwdWJsaWMgbWVtYmVyIHZhcmlhYmxlczs8L2xpPgoJCQk8bGk+UmVtb3ZlZCBjYWxsIHRvIHNvbWV0aW1lcyBub3Qgd29ya2luZyBleGlmX2ltYWdlOzwvbGk+CgkJCTxsaT5NYWRlIGJldHRlciB1c2Ugb2YgcGF0aCBkaXJlY3Rvcnkgc2VwYXJhdG9yOzwvbGk+CgkJCTxsaT5JbnRyb2R1Y3Rpb24gb2YgbWF4aW11bSBudW1iZXIgb2YgYXR0cmlidXRlcyBwZXIgcHJvZHVjdDs8L2xpPgoJCQk8bGk+TmV3IHByZWZlcmVuY2VzOiAnbWF4aW11bSBhdHRyaWJ1dGVzJyBhbmQgJ2FsbG93IGR1cGxpY2F0ZSBpdGVtIG51bWJlcicgYWRkZWQgdG8gcHJlZmVyZW5jZSBwYWdlOzwvbGk+CgkJCTxsaT5TaW5jZSBpdCBoYWQgdG90YWx5IG5vIGZ1bmN0aW9uLCBkZWZhdWx0IGxhbmd1YWdlIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBwcmVmZXJlbmNlcyBwYWdlOzwvbGk+CgkJCTxsaT5DaGFuZ2VkIGRlZmF1bHQgcHJvZHVjdCBkZXRhaWwgdGVtcGxhdGUgd2l0aCByZWdhcmRzIHRvIG51bWJlciBvZiBkZWNpbWFscyBvbiBwcmljZTs8L2xpPgoJCQk8bGk+VGFibGUgYXR0cmlidXRlX29wdGlvbnMgcmVtb3ZlZCwgY29udGVudCB3YXMgbm90IG1haW50YWluYWJsZSwgYWxsIGZpZWxkcyBub3cgaW4gdGFibGUgcHJvZHVjdF9hdHRyaWJ1dGVzOzwvbGk+CgkJCTxsaT5BdHRyaWJ1dGVzIG9mIHByb2R1Y3Qgbm93IGhvbGQgcHJpY2UgZmFjdG9yIGFuZCB2YXJpb3VzIG90aGVyIGZpZWxkcyAoUmVxdWVzdCMgMzgyNik7PC9saT4KCQkJPGxpPk1vdmVkIGZ1bmN0aW9ucyBpbnRlcm5hbGx5IGFyb3VuZCwgc28gbW9kdWxlIGJlY29tZXMgYSBiaXQgbW9yZSBsaWtlIHN0YW5kYXJkOzwvbGk+CgkJCTxsaT5WZXJzaW9uIDAuMi45IG9uIHB1cnBvc2Ugc2tpcHBlZCwgc2luY2UgdGhpcyBpcyBhIG1ham9yIHJlbGVhc2UuIFNpbmNlIHRoaXMgdmVyc2lvbiBicmVha3Mgd2l0aCB0aGUgb3JpZ2luYWwsIER1a2V0b3duIHRoYW5rcyAKCQkJR2FyeSBHcmV5bGluZyAoTGFodWluZGFpKSBmb3IgYWxsIGhpcyBwZXJmZWN0IHdvcmsuIFRpbWUgdG8gbW92ZSBvbi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjggOSBTZXB0ZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPk5vIG1vcmUgcHJvYmxlbXMgd2l0aCBwcm9kdWN0IHByaWNlcyBncmVhdGVyIHRoYW4gOTk5IChidWcjIDQ1MTEpOzwvbGk+CgkJCTxsaT5BbGxvdyBtb2R1bGUgdG8gcnVuIGluIDEuOCBlbnZpcm9ubWVudCBvZiBDTVNNUzs8L2xpPgoJCQk8bGk+UmVuYW1lIG9mIGNsYXNzIFByb2R1Y3RzIHRvIFNNU1Byb2R1Y3RzIHNvIG1vZHVsZSBjYW4gcnVuIG5leHQgdG8gcHJvZHVjdHMgbW9kdWxlOzwvbGk+CgkJCTxsaT5OYW1lIG9mIHByb2R1Y3QgaGFzIGJlZW4gaW5jcmVhc2VkIHdpdGggbnVtYmVyIG9mIGNoYXJhY3RlcnMgZnJvbSAzMCB0byAyNTU7PC9saT4KCQkJPGxpPldvcmsgZG9uZSBvbiBwcmV0dHkgVVJMIChidWcjIDMxMjImNDA4MSkgc29sdmVkIGJ5IGRydW16b25lOzwvbGk+CgkJCTxsaT5OZXR3ZWlnaHQgbm93IGF2YWlsYWJsZSBhcyB2YXJpYWJsZSBpbiB0aGUgcHJvZHVjdCBkZXRhaWwgb3ZlcnZpZXcuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi43IDEgTWFyY2ggMjAxMDxicj4KCQk8dWw+CgkJCTxsaT5JbnB1dCBwYXJhbWV0ZXJzIHdlcmUgbm90IGNsZWFuZWQgYXQgY29ycmVjdCBtb21lbnQgY2F1c2luZyB3YXJuaW5nczs8L2xpPgoJCQk8bGk+Q2F0ZWdvcnkgYW5kIHByb2R1Y3RzIHRlbXBsYXRlIHRoYXQgaXMgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uIGV4dGVuZGVkIHRvIGluY2x1ZGUgaG93IHRvIHVzZSBpbWFnZSBvZiBhZGQgdG8gY2FydDs8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjYgMSBOb3ZlbWJlciAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPlNldCBtYXhpbXVtIENNU01TIHZlcnNpb24gdG8gMS42LjkgdG8gb3ZlcmNvbWUgcHJvYmxlbXM7PC9saT4KCQkJPGxpPkNoYW5nZSBsb2cgbm90IGluIHRyYW5zbGF0aW9uIGFueW1vcmUsIHNvIHRoaXMgbG9nIGlzIG9ubHkgYXZhaWxhYmxlIGluIEVuZ2xpc2g7PC9saT4KCQkJPGxpPlByZXBhcmUgYWRkIHRvIGNhcnQgbGluayB3aXRoIGltYWdlIChGZWF0IFJlcSMzMzI0KS4gSW1hZ2UgdGFrZW4gaXMgU2hvcE1hZGVTaW1wbGUvaW1hZ2VzL2FkZHRvY2FydC5naWYuIENoYW5nZSB0aGlzIGltYWdlIGlmIG5lZWRlZC48YnI+CgkJCVVzZSB7JGFkZHByb2R1Y3RpbWFnZX0gaW4gdGhlIHRlbXBsYXRlIGluIHN0ZWFkIG9mIHskYWRkcHJvZHVjdH0sIHdoaWNoIGlzIHRoZSB0ZXh0OzwvbGk+CgkJCTxsaT5SZW1vdmVkIHByb2R1Y3QgaWQgb24gZGVmYXVsdCBmZWF0dXJlZCBwcm9kdWN0cyB0ZW1wbGF0ZS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjUgMTAgQXVndXN0IDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+TWlzc2luZyBjb2RlIGluIGZyb250IGVuZCBwcm9kdWN0IGRldGFpbC4gKGJ1ZyMgMzg1MCkgc29sdmVkIGJ5IE5hTi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjQgMjYgSnVseSAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPkF1dG9tYXRpYyBpbnN0YWxsYXRpb24gb2Ygc3R5bGVzaGVldCBcJ01vZHVsZTogU2hvcCBNYWRlIFNpbXBsZVwnIHdhcyBub3Qgd29ya2luZyAoc3R5bGVzaGVldCB3aWxsIGJlIGluc2VydGVkIGR1cmluZyB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjIuMyB0byAwLjIuNCk7PC9saT4KCQkJPGxpPkFjdGl2YXRpbmcgYW5kIGRlYWN0aXZhdGluZyB3YXMgbm90IHdvcmtpbmcgY29ycmVjdGx5IGZvciBjYXRlZ29yaWVzIGluIGxpc3Qgb2YgY2F0ZWdvcmllcywgY2hhbmdlIGFsc28gYXBwbGllZCBmb3IgcHJvZHVjdHM7PC9saT4KCQkJPGxpPk5vIHRlc3QgZGF0YSBjcmVhdGVkIGFueW1vcmUgYXV0b21hdGljYWxseSBkdXJpbmcgaW5zdGFsbGF0aW9uOzwvbGk+CgkJCTxsaT5PbiBwcm9kdWN0IGRldGFpbCBuZXcgdmFyaWFibGVzIGludHJvZHVjZWQ6IHtpbWFnZXRodW1ifSBhbmQge2Z1bGxwYXRoaW1hZ2V9IHRvIHN1cHBvcnQgaW1hZ2VzIGJldHRlcjs8L2xpPgoJCQk8bGk+Tm8gY2F0ZWdvcnkgYW5kIHByb2R1Y3QgaWQgdXNlZCBhbnltb3JlIGluIGluc3RhbGxlZCB0ZW1wbGF0ZSBvZiBjYXRhZ29yeSBsaXN0OzwvbGk+CgkJCTxsaT5EZWZhdWx0IGN1cnJlbmN5IGlzIHNldCB0byBFdXJvOzwvbGk+CgkJCTxsaT5Xb3JrIGRvbmUgb24gcHJldHR5IFVSTCAtLT4gbm90IGZ1bGx5IGZ1bmN0aW9uYWw7PC9saT4KCQkJPGxpPkJ1ZyBzb2x2ZWQgKGJ5IEZhdGxpemFyZCkgdG8gaGFuZGxlIGNvcnJlY3QgcHJvZHVjdF9pZCBpbiBmZSBwcm9kdWN0IGRldGFpbC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjMgMTcgTWF5IDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+SW5pdGlhbGl6ZWQgdmFyaWFibGVzIGNvcnJlY3RseSwgc28gbm8gd2FybmluZyBhcHBlYXJzIGZvciB0aGVtIHdoZW4gcGhwLmluaSBzdGF0ZXMgdG8gc2hvdyB3YXJuaW5nczs8L2xpPgoJCQk8bGk+TmV3IHByZWZlcmVuY2VzIGZvciB0aHVtYm5haWwgZ2VuZXJhdGlvbi4gVXNlIHRoZSByZWJ1aWxkIGJ1dHRvbiB0byBnZW5lcmF0ZSB0aHVtYm5haWxzIGZyb20gZWFybGllciBsb2FkZWQgaW1hZ2VzLjwvbGk+CgkJCTxsaT5UaGUgZGV0YWlsIHRlbXBsYXRlIGhhcyBiZWVuIGNoYW5nZWQgdG8gYWxsb3cgc3dpdGNoaW5nIGltYWdlcy4gQSBzaW1wbGVyIHZlcnNpb24gaXMgYXZhaWxhYmxlIHRvIGNvcHkgZnJvbSBpbiB0aGUKCQkJdGVtcGxhdGVzIGRpcmVjdG9yeS4gVGhlIG5hbWUgaXMgZmVfcHJvZHVjdF9kZXRhaWwxLnRwbC48YnI+CgkJCUlmIHlvdSBoYXZlIHVwZ3JhZGVkIGZyb20gYW4gZWFybGllciB2ZXJzaW9uIHlvdSBtYXkgd2FudCB0byB1c2UgdGhlIHN3aXRjaGluZyBvZiBpbWFnZXMuIExvb2sgaW4gdGVtcGxhdGVzXGZlX3Byb2R1Y3RfZGV0YWlsLnRwbC48L2xpPgoJCQk8bGk+T3JpZ2luYWwgdGVtcGxhdGUgb2YgcHJvZHVjdHMgcGVyIGNhdGVnb3J5IGNoYW5nZWQgdG8gc2hvdyBpbWFnZSB3aXRoIGxpbmsgb24gcHJvZHVjdCBsaW5lLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuMiA4IE1hciAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPlNob3cgbmFtZSB3aXRob3V0IGxpbmsgdG8gZGV0YWlsIG9uIHByb2R1Y3QgbGlzdGluZyAoZmVhdHVyZSByZXF1ZXN0IyAyOTg2KTogdXNlIHByb2RuYW1lbm9saW5rIGluIHN0ZWFkIG9mIHByb2RuYW1lIGluIHRoZSB0ZW1wbGF0ZS48L2xpPgoJCQk8bGk+QnVpbGQgaW4gbGluayBmcm9tIGltYWdlIHRvIGRldGFpbCBvbiBwcm9kdWN0IGxpc3RpbmcgKGZlYXR1cmUgcmVxdWVzdCMgMzA4Myk6IHVzZSBwcm9kaW1hZ2VsaW5rIGluIHN0ZWFkIG9mIHByb2RpbWFnZSBpbiB0aGUgdGVtcGxhdGUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi4xIDE1IEphbiAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPlR5cG8gY2F1c2VkIGRpc3BsYXk9cHJvZHVjdGxpc3QgY2F0bmFtZT0uLi4gbm90IHRvIHdvcmsgY29ycmVjdGx5LiBCdWcgc29sdmVkLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuMCAxMSBKYW4gMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5DdXJyZW5jeSBzeW1ib2wgYXZhaWxhYmxlIGZvciBjYXRlZ29yeSBsaXN0ICh1c2UgJGVudHJ5LT5jdXJzeW1ib2x9OzwvbGk+CgkJCTxsaT5UZW1wbGF0ZXMgY2FuIG5vdyBiZSBhZGp1c3RlZCB0byBkZWNyZWFzZSBsZW5ndGggb2YgZGVzY3JpcHRpb24gKHdhcyBoYXJkY29kZWQpIHVzaW5nIHx0cnVuY2F0ZSBpbiB0ZW1wbGF0ZTs8L2xpPgoJCQk8bGk+SGFyZGNvZGVkIHNpZ25hbGluZyB0aGF0IHRoZXJlIGFyZSBubyBjYXRlZ29yaWVzIG9yIHByb2R1Y3RzIGlzIHJlbW92ZWQsIG5vdyBwYXJ0IG9mIHRyYW5zbGF0aW9uOzwvbGk+CgkJCTxsaT5JZiB0aGUgbW9kdWxlIFNlYXJjaCBoYXMgYmVlbiBpbnN0YWxsZWQsIHRoZSBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwcm9kdWN0cyBjYW4gYmUgc2VhcmNoZWQgdXBvbjs8L2xpPgoJCQk8bGk+QnVnIHNvbHZlZCBvbiB1cGRhdGluZyBjYXRlZ29yeSBpbmZvcm1hdGlvbi4gRWRpdG9yIHdhcyBub3Qgd29ya2luZyB3ZWxsOzwvbGk+CgkJCTxsaT5EZXNjcmlwdGlvbiBvZiBjYXRlZ29yeSBhbmQgcHJvZHVjdCBjb3VsZCBzcGFuIHR3byBsaW5lcy4gTm93IGFsd2F5cyBvbmx5IG9uZSBsaW5lOzwvbGk+CgkJCTxsaT5OZXcgcHJlZmVyZW5jZSBhZGRlZCB0byBob2xkIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2U7PC9saT4KCQkJPGxpPlVzaW5nIHBhcmFtZXRlciBwcm9kcGFnZWxpbWl0LCB0aGUgbnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdlIGNhbiBiZSBpbmZsdWVuY2VkIChvdmVycmlkaW5nIHRoZSBwcmVmZXJlbmNlKS48YnI+CgkJCVBhZ2luZyBpcyBwb3NzaWJsZSB1c2luZyB0aGUgZm9sbG93aW5nIGluIHRoZSBDYXRlZ29yaWVzL1Byb2R1Y3RzIHRlbXBsYXRlOjxicj4KCQkJe2lmICRwYWdlY291bnQgPiAxfTxicj4mbmJzcDt7JGZpcnN0cGFnZX0geyRwcmV2cGFnZX0geyRwYWdldGV4dH06ICB7JHBhZ2VudW1iZXJ9IHskb2Z0ZXh0fTogeyRwYWdlY291bnR9IHskbmV4dHBhZ2V9IHskbGFzdHBhZ2V9PGJyPnsvaWZ9CgkJCTxicj48L2xpPgoJCQk8bGk+SW50ZXJuYWwgY2xlYW4gdXAgb2YgZnJvbnQgZW5kIGNhdGVnb3J5IGxpc3RpbmcgcHJvZ3JhbS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjkgMjkgRGVjIDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+UmVtb3ZlZCB0cmFuc2xhdGlvbiBidWcgZHVyaW5nIGluc3RhbGxhdGlvbi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjggMTEgRGVjIDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+U29sdmVkIGlzc3VlIHdoZXJlIHN3aXRjaCBzdGF0dXMgb24gcHJvZHVjdCBjYXVzZWQgZGVzY3JpcHRpb24gdG8gYmUgY2xlYXJlZDs8L2xpPgoJCQk8bGk+RWRpdCBvZiBTdG9jayBLZWVwaW5nIFVuaXQgd2FzIG5vdCB3b3JraW5nOzwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuNyA5IERlYyAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPkFkZCB0byBjYXJ0IGF2YWlsYWJsZSBhdCBsaXN0IG9mIHByb2R1Y3RzIG9uIGZyb250IGVuZDs8L2xpPgoJCQk8bGk+TmV3IGZpZWxkczogU3RvY2sgS2VlcGluZyBVbml0IChTS1UpIGFuZCBpdGVtbnVtYmVyIGF2YWlsYWJsZSBwZXIgcHJvZHVjdDs8L2xpPgoJCQk8bGk+TWFpbnRlbmFuY2Ugb24gU0tVIGlzIHBvc3NpYmxlOzwvbGk+CgkJCTxsaT5BZGRpdGlvbmFsIHByZWZlcmVuY2UgdG8gYWxsb3cgb25seSBjYXBpdGFsIGNoYXJhY3RlcnMgaW4gaXRlbW51bWJlcjs8L2xpPgoJCQk8bGk+QWRkaXRpb25hbCBwcmVmZXJlbmNlIHRvIHNldCBkZWZhdWx0IFNLVSBkdXJpbmcgYWRkIG9mIGEgcHJvZHVjdC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjYgMTIgTm92IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+SW1hZ2Ugb2YgY2F0ZWdvcnkgaXMgbm93IGRpc3BsYXllZCBpbiBmcm9udCBvZiBjYXRlZ29yeSBuYW1lIGluIGNhdGVnb3J5IGxpc3Rpbmc7PC9saT4KCQkJPGxpPkxlbmd0aCBvZiBwcm9kdWN0IGFuZCBhdHRyaWJ1dGUgZGVzY3JpcHRpb24gZW5sYXJnZWQ7PC9saT4KCQkJPGxpPkNoZWNrIGJ1aWxkIGluIGR1cmluZyBpbnN0YWxsYXRpb24gaWYgdGhlIGNvbmZsaWN0aW5nIG1vZHVsZSBQcm9kdWN0cyBoYXMgYmVlbiBpbnN0YWxsZWQ7PC9saT4KCQkJPGxpPkJ1ZyBvbiBhZGRpbmcgbmV3IHByb2R1Y3RzIGNvcnJlY3RlZCAod2FzIGFsd2F5cyBwb2ludGluZyB0byByb290IGFmdGVyIGFkZGluZyk7PC9saT4KCQkJPGxpPkRlbGV0aW9uIG9mIHByb2R1Y3QgcmV0dXJucyB0byBsYXN0IHVzZWQgY2F0ZWdvcnk7PC9saT4KCQkJPGxpPkFmdGVyIFN3aXRjaCBvZiBzdGF0dXMsIGxhc3Qgc2hvd24gY2F0ZWdvcnkvcHJvZHVjdHMgbGlzdCBpcyBzaG93bjs8L2xpPgoJCQk8bGk+RGVzY3JpcHRpb24gYm94ZXMgZm9yIHByb2R1Y3QsIGF0dHJpYnV0ZXMgYW5kIGltYWdlcyBpbXByb3ZlbWVudHM7PC9saT4KCQkJPGxpPlByZXBhcmUgY29ycmVjdCBjb25uZWN0aW9uIG9mIG11bHRpcGxlIGNhdGVnb3JpZXMgdG8gb25lIHByb2R1Y3Q7PC9saT4KCQkJPGxpPlZhcmlhYmxlICRpbWFnZSBpbiBkZXRhaWwgdGVtcGxhdGUgcmVuYW1lZCB0byAkcHJvZGltYWdlLCBzaW5jZSBpdCBtaWdodCBiZSBpbiB1c2UgaW4gb3RoZXIgbW9kdWxlcyAobGlrZSBwcmludGluZyk7PC9saT4KCQkJPGxpPldoZW4gbGFzdCBjYXRlZ29yeSBjb25uZWN0aW9uIHRvIHByb2R1Y3QgaXMgZGVsZXRlZCwgdGhlIHByb2R1Y3Qgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgKG90aGVyd2lzZSBpdCBjYW5cJ3QgYmUgc2VsZWN0ZWQgYW55bW9yZSk7PC9saT4KCQkJPGxpPk11bHRpcGxlIGxldmVscyBvZiBjYXRlZ29yaWVzIGlzIGFsbG93ZWQgYXMgb2YgdmVyc2lvbiAwLjEuNSBidXQgaXMgbm90IHN1cHBvcnRlZCBvbiBmcm9udCBlbmQhIChzb3JyeSkuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS41IEp1bmUgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5NdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZC9wb3NzaWJsZTs8L2xpPgoJCQk8bGk+TmV3IHBhcmFtZXRlciBmb3IgZnJvbnRlbmQ6IHBhcmVudGNhdGVnb3J5LjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuNCBNYXkgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5VcGxvYWQgb2YgaW1hZ2UgZm9yIGNhdGVnb3J5IGhhcyBiZWVuIGNoYW5nZWQ7PC9saT4KCQkJPGxpPkNoYW5nZWQgaW5zdGFsbCBzbyBkaXJlY3RvcnkgcGF0aCBjb3JyZWN0IGZvciBjYXRlZ29yaWVzIGFuZCBwcm9kdWN0cy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjMgTWF5IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+QWxsIGZyb250IGVuZCBwYWdlcyBhcmUgaGFuZGxlZCBieSB0ZW1wbGF0ZXMgZGVyaXZlZCBmcm9tIGFkbWluIHBhcnQ7PC9saT4KCQkJPGxpPkFkbWluaXN0cmF0b3Igbm93IGhhcyB0YWIgY29udGFpbmluZyB0ZW1wbGF0ZXMgYXMgdXNlZCBvbiBmcm9udCBlbmQ7PC9saT4KCQkJPGxpPkZyb250IGVuZCBzaG93cyB3ZXRoZXIgcHJpY2VzIGFyZSBpbmNsLiBvciBleGNsLiBWQVQgZGVwZW5kZW50IG9uIHByZWZlcmVuY2U7PC9saT4KCQkJPGxpPlByb2R1Y3RzIGNvbm5lY3RlZCB0byBjYXRlZ29yeSBzb3J0ZWQgYnkgbGlzdCBvcmRlcjs8L2xpPgoJCQk8bGk+T3ZlcnZpZXcgY2F0ZWdvcmllcyBpbiBiYWNrIGVuZCBhbmQgZnJvbnQgZW5kIG5vdyBzb3J0ZWQgYnkgbGlzdCBvcmRlci48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjIgLSBNYXkgMXN0IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+V2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQsIGl0cyBjb25uZWN0ZWQgcHJvZHVjdHMgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgY2F0ZWdvcnkuPC9saT4KCQkJPGxpPlNvbWUgYnV0dG9ucyBsYWNrZWQgcHJvcGVyIHRyYW5zbGF0aW9ucy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjEgLSBBcHJpbCAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPk5vdyBvcHRpb24gdG8gc2hvdyBwcm9kdWN0cyBvZiBvbmUgY2F0ZWdvcnkgaW4gc2luZ2xlIHBhZ2VzIHVzaW5nIHBhcmFtZXRlcnMuPC9saT4KCQkJPGxpPlNvbWUgZmllbGRzIHR1cm5lZCBpbnRvIGZsb2F0IHRvIGNvcnJlY3RseSBoYW5kbGUgZGVjaW1hbHMuPC9saT4KCQkJPGxpPkRyb3BwZWQgYWRtaW4gcHJlZmVyZW5jZXMgdG8gaG9sZCBzaG9wIHBvbGljaWVzICh1c2UgY29udGVudCBibG9jayBvciBub3JtYWwgQ01TTVMgcGFnZSB3aXRoIHRoZSBwb2xpY2llcykuPC9saT4KCQkJPGxpPkludHJvZHVjdGlvbiBvZiBjaGVja21hcmsgaWYgcHJpY2VzIGFyZSBpbmNsdXNpdmUgb3IgZXhsY3VzaXZlIFZBVCBpbiBwcmVmZXJlbmNlcy48L2xpPgoJCQk8bGk+QWxzbyBpbiBwcmVmZXJlbmNlcyBub3cgdW5pdCBvZiBtZWFzdXJlIGZvciB3ZWlnaHRzIG9mIHRoZSBwcm9kdWN0cy48L2xpPgoJCQk8bGk+SW50cm9kdWN0aW9uIG9mIFZBVCBjb2RlIGFuZCBuZXR0IHdlaWdodCBwZXIgcHJvZHVjdC4gRm9yIGNhbGN1bGF0aW9uIG9mIChzaGlwcGluZykgY29zdCBpbiBDYXJ0IG1vZHVsZTwvbGk+ICAKCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4wIC0gQXByaWwgMTh0aCAyMDA4IFJvbGwgb3V0IHZlcnNpb248YnI+CgkJPHVsPgoJCQk8bGk+TGF5b3V0IGNoYW5nZXMgbWFkZTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjAuNCAtIEltcG9ydCBhbmQgRXhwb3J0IFJlbGVhc2U8YnI+CgkJPHVsPgoJCQk8bGk+Q2F0ZWdvcmllczwvbGk+CgkJCTxsaT5Qcm9kdWN0czwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjAuMyAtIENsaWVudCBJbnRlcmZhY2UgUmVsZWFzZTxicj4KCQk8dWw+CgkJCTxsaT5DbGllbnQgaW50ZXJmYWNlIHRhZ3M8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4wLjIgLSBBZG1pbmlzdHJhdGlvbiBFeHRlbmRlZCBSZWxlYXNlCgkJPHVsPgoJCQk8bGk+VGVtcGxhdGVzLCBFdmVudHMsIE9yZGVycywgVHJhbnNsYXRpb25zPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMC4xIC0gQWRtaW5pc3RyYXRpb24gUmVsZWFzZTxicj4KCQk8dWw+CgkJCTxsaT5QcmVmZXJlbmNlcyAtIENvbXBsZXRlZCBvbiAyNC8xMi8yMDA3PC9saT4KCQkJPGxpPkNhdGVnb3JpZXMgLSBDb21wbGV0ZWQgb24gMjUvMTIvMjAwNzwvbGk+CgkJCTxsaT5Qcm9kdWN0czwvbGk+CgkJPC91bD4KCTwvbGk+CjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[This module forms the base of preparing a shop. It handles the products and their grouping. Images and attributes are available per product]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.category_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzU2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJLyogVE9ETzogU2NhbGUgYW5kIGRvIGNoZWNrcyBvbiBmaWxlbmFtZSBvbiB1cGxvYWRlZCBpbWFnZSAqLwoJcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9DbGFzc2VzL0ZpbGVzLnBocCcpOwoJLyogQnVpbGQgdGhlIHBhdGggd2Ugd2lsbCBiZSB1cGxvYWRpbmcgdGhlIGltYWdlIHRvICovCgkkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoJJHBhdGggPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3BhdGgnXS4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX2NhdGVnb3J5Jyk7CgkkZmlsZXMgPSBuZXcgRmlsZXM7CgkkZmlsZXMtPmNyZWF0ZUZvbGRlcigkcGF0aCk7Cglmb3JlYWNoICgkX0ZJTEVTIGFzICR1cGxvYWRmaWxlKSB7CgkJJGZpbGVzLT5jb3B5RmlsZSgkdXBsb2FkZmlsZVsndG1wX25hbWUnXSwgJHBhdGgsICR1cGxvYWRmaWxlWyduYW1lJ10sIHRydWUpOwoJCS8vcHJpbnRfcigkdXBsb2FkZmlsZSk7IAoJCSRwYXJhbXNbJ2ltYWdlJ10gPSAkdXBsb2FkZmlsZVsnbmFtZSddOwoJfQoJJHRoaXMtPmNhdGVnb3JpZXMtPkNyZWF0ZSgkcGFyYW1zKTsKCQoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLAoJICAgICAgICAgICAgICAgICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1sncGFyZW50X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsCgkgICAgICAgICAgICAgICAgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydwYXJlbnRfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgokY2F0ZWdvcnkgPSBhcnJheSgpOwokY2F0ZWdvcnlbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnY2F0ZWdvcnlfYWRkJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJyk7CiRjYXRlZ29yeVsnc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSk7CiRjYXRlZ29yeVsnY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRjYXRlZ29yeVsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKJGNhdGVnb3J5WydpZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnY2F0ZWdvcnlfaWQnLCAwKQopOwokY2F0ZWdvcnlbJ3BhcmVudF9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfcGFyZW50JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAncGFyZW50X2lkJywgJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkTGlzdCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICcnLCAwKSwgLTEsIGludHZhbCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pKQopOwokY2F0ZWdvcnlbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAnJywgNDAsIDQwKQopOwokY2F0ZWdvcnlbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9kZXNjcmlwdGlvbicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJycsICdkZXNjcmlwdGlvbicsJ3BhZ2VzbWFsbHRleHRhcmVhJywnJywnJywnJyw0MCw0MCkKKTsKJGNhdGVnb3J5WydpbWFnZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfaW1hZ2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltYWdlJywgJycsIDQwKQopOwokY2F0ZWdvcnlbJ2FjdGl2ZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfYWN0aXZlJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSkKKTsKJGNhdGVnb3J5Wydwb3NpdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfcG9zaXRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3Bvc2l0aW9uJywgJycsIDQwLCA0MCkKKTsKCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCAkY2F0ZWdvcnkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NhdGVnb3J5X2VkaXQudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.category_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRlbGV0ZV9jYXRlZ29yeSA9ICR0aGlzLT5jYXRlZ29yaWVzLT5HZXQoJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKTsgCi8qKgogKiBHZXQgQW55IFN1YmNhdGVnb3JpZXMgYW5kIFJlYXNzaWduIHRoZW0gdG8gdGhpcyBvbmVzIHBhcmVudAogKi8KZm9yZWFjaCAoJHRoaXMtPmNhdGVnb3JpZXMtPkdldExpc3QoJGRlbGV0ZV9jYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSkgYXMgJGNhdGVnb3J5KSB7CgkkY2F0ZWdvcnlbJ3BhcmVudF9pZCddID0gJGRlbGV0ZV9jYXRlZ29yeVsncGFyZW50X2lkJ107CgkkdGhpcy0+Y2F0ZWdvcmllcy0+VXBkYXRlKCRjYXRlZ29yeSk7IAp9Ci8qIFRPRE86IEdldCBhbnkgUHJvZHVjdHMgaW4gdGhpcyBDYXRlZ29yeSBhbmQgYXNzaWduIHRvIFVuYXNzaWduZWQuICovCgokdGhpcy0+Y2F0ZWdvcmllcy0+RGVsZXRlKCRkZWxldGVfY2F0ZWdvcnkpOwokcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsCiAgICAgICAgICAgICAgICAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRkZWxldGVfY2F0ZWdvcnlbJ3BhcmVudF9pZCddKTsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.category_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzU2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9DbGFzc2VzL0ZpbGVzLnBocCcpOwoJLy8gU2F2ZSB0aGUgaW1hZ2UgbmFtZSBmcm9tIGJlaW5nIG92ZXJ3cml0dGVuCgkkaW1hZ2UgPSAkcGFyYW1zWydpbWFnZSddOwoJCgkvKiBCdWlsZCB0aGUgcGF0aCB3ZSB3aWxsIGJlIHVwbG9hZGluZyB0aGUgaW1hZ2UgdG8gKi8KCSRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgkkcGF0aCA9ICRjb25maWdbJ2ltYWdlX3VwbG9hZHNfcGF0aCddLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfY2F0ZWdvcnknKTsKCSRmaWxlcyA9IG5ldyBGaWxlczsKCgkkZmlsZXMtPmNyZWF0ZUZvbGRlcigkcGF0aCk7Cglmb3JlYWNoICgkX0ZJTEVTIGFzICR1cGxvYWRmaWxlKSB7CgkJLy8gUmVwbGFjZSBhbnkgbm9uLXdvcmQgY2hhcmFjdGVycyBieSB1bmRlcnNjb3JlcwoJCSR1cGxvYWRmaWxlWyduYW1lJ10gPSAkZmlsZXMtPmVzY2FwZSgkdXBsb2FkZmlsZVsnbmFtZSddKTsKCQkkZmlsZXMtPmNvcHlGaWxlKCR1cGxvYWRmaWxlWyd0bXBfbmFtZSddLCAkcGF0aCwgJHVwbG9hZGZpbGVbJ25hbWUnXSwgdHJ1ZSk7CgkJJHBhcmFtc1snaW1hZ2UnXSA9ICR1cGxvYWRmaWxlWyduYW1lJ107Cgl9CgkvLyBSZXN0b3JlIHRoZSBuYW1lIG9mIHRoZSBpbWFnZSBpZiBubyBuZXcgaW1hZ2UgaGFzIGJlZW4gdXBsb2FkZWQKCWlmICggJHBhcmFtc1snaW1hZ2UnXSA9PSAnJyApIHsKCQkkcGFyYW1zWydpbWFnZSddID0gJGltYWdlOwoJfQoKCSR0aGlzLT5jYXRlZ29yaWVzLT5VcGRhdGUoJHBhcmFtcyk7CgkKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywKCSAgICAgICAgICAgICAgICAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ3BhcmVudF9pZCddKTsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KLy8gQWxsIGFjdGlvbnMgaGFuZGxlZCwgbm93IGdldCBhbGwgdGhlIGluZm9ybWF0aW9uIGxpbmtlZCB0byB0aGUgcHJvZHVjdAppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpIHsKCSRjYXRlZ29yeV9kYXRhID0gJHRoaXMtPmNhdGVnb3JpZXMtPkdldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKTsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsCgkgICAgICAgICAgICAgICAgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydwYXJlbnRfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgokY2F0ZWdvcnkgPSBhcnJheSgpOwokY2F0ZWdvcnlbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnY2F0ZWdvcnlfZWRpdCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokY2F0ZWdvcnlbJ3N1Ym1pdCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JykpOwokY2F0ZWdvcnlbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokY2F0ZWdvcnlbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CiRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkKKTsKJGNhdGVnb3J5WydwYXJlbnRfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X3BhcmVudCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ3BhcmVudF9pZCcsICR0aGlzLT5jYXRlZ29yaWVzLT5CdWlsZFRvdGFsTGlzdCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSwgLTEsIGludHZhbCgkY2F0ZWdvcnlfZGF0YVsncGFyZW50X2lkJ10pKQopOwokY2F0ZWdvcnlbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAkY2F0ZWdvcnlfZGF0YVsnbmFtZSddLCA0MCwgNDApCik7CiRjYXRlZ29yeVsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkY2F0ZWdvcnlfZGF0YVsnZGVzY3JpcHRpb24nXSwgJ2NkZXNjcmlwdGlvbicsJ3BhZ2VzbWFsbHRleHRhcmVhJywnJywnJywnJyw0MCw0MCkKKTsKJGNhdGVnb3J5WydpbWFnZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfaW1hZ2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2ltYWdlJywgJGNhdGVnb3J5X2RhdGFbJ2ltYWdlJ10sIDQwLCA0MCkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ25ld19pbWFnZScsICcnLCA0MCkKKTsKJGNhdGVnb3J5WydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X2FjdGl2ZScpLAoJJ2lucHV0Jz0+JGNhdGVnb3J5X2FjdGl2ZSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkY2F0ZWdvcnlfZGF0YVsnYWN0aXZlJ10pCik7CiRjYXRlZ29yeVsncG9zaXRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X3Bvc2l0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdwb3NpdGlvbicsICRjYXRlZ29yeV9kYXRhWydwb3NpdGlvbiddLCA0MCwgNDApCik7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCAkY2F0ZWdvcnkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NhdGVnb3J5X2VkaXQudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.category_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2NhdGVnb3JpZXMnOwokdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRnQ21zID0gY21zbXMoKTsgaWYoICFpc19vYmplY3QoJGdDbXMpICkgZXhpdDsKCmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCSAgfQogICAgICB9CiAgfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwokZGlzcGxheSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZGlzcGxheSddKSkgICAgICAgIAp7CgkkZGlzcGxheSA9ICRwYXJhbXNbJ2Rpc3BsYXknXTsKfQplbHNlCnsKCSRkaXNwbGF5ID0gJ2NhdGVnb3J5bGlzdCc7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYXRuYW1lJ10pKSB7CgkkY2F0bmFtZSA9ICRwYXJhbXNbJ2NhdG5hbWUnXTsKfQplbHNlIHsKCSRjYXRuYW1lID0gJ3Jvb3QnOwp9CnN3aXRjaCgkZGlzcGxheSkKICB7CiAJY2FzZSAnY2F0bGlzdCc6CgkJLy8gUHJlcGFyZSBhIGNvbXBsZXRlIGxpc3Qgb2YgY2F0ZWdvcmllcyBzdGFydGluZyBhdCB0b3AgbGV2ZWwKCQkkZGlzcGxheSA9ICdmZV9jYXRfbGlzdCc7CgkJLy8gUHJlcGFyZSBhIGxpc3Qgb2YgcHJvZHVjdHMgZm9yIGdpdmVuIGNhdGVnb3J5CgkJaWYgKCRjYXRuYW1lID09ICdyb290JykgewoJCQkkcGFyYW1zWydwYXJlbnRjYXRlZ29yeSddID0gMDsKCQl9IGVsc2UgewoJCQkkY2F0aW5mbyA9IGFycmF5KCk7CgkJCSRjYXRpbmZvID0gJHRoaXMtPmNhdGVnb3JpZXMtPkdldENhdEJ5TmFtZSggJGNhdG5hbWUgKTsKCQkJJHBhcmFtc1sncGFyZW50Y2F0ZWdvcnknXSA9ICRjYXRpbmZvWydjYXRlZ29yeV9pZCddOwoJCX0KIAkJYnJlYWs7CiAJY2FzZSAnY2F0ZWdvcnlsaXN0JzoKCQkvLyBQcmVwYXJlIGEgbGlzdCBvZiBjYXRlZ29yaWVzIGF0IHRvcCBsZXZlbAoJCSRkaXNwbGF5ID0gJ2ZlX2NhdGVnb3J5X2xpc3QnOwogCQlicmVhazsKCWNhc2UgJ3Byb2R1Y3RsaXN0JzoKCQkvLyBQcmVwYXJlIGEgbGlzdCBvZiBwcm9kdWN0cyBmb3IgZ2l2ZW4gY2F0ZWdvcnkKCQlpZiAoJGNhdG5hbWUgPT0gJ3Jvb3QnKSB7CgkJCSRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10gPSAwOwoJCX0gZWxzZSB7CgkJCSRjYXRpbmZvID0gYXJyYXkoKTsKCQkJJGNhdGluZm8gPSAkdGhpcy0+Y2F0ZWdvcmllcy0+R2V0Q2F0QnlOYW1lKCAkY2F0bmFtZSApOwoJCQkkcGFyYW1zWydjYXRlZ29yeV9pZCddID0gJGNhdGluZm9bJ2NhdGVnb3J5X2lkJ107CgkJfQoJCSRkaXNwbGF5ID0gJ2ZlX3Byb2R1Y3RfbGlzdCc7CiAJCWJyZWFrOwoJY2FzZSAnZmVhdHVyZWQnOgoJCS8vIFByZXBhcmUgbGlzdCBvZiBhbGwgZmVhdHVyZWQgcHJvZHVjdHMKCQkkcGFyYW1zWydhY3Rpb24nXSA9ICcnOwoJCSRkaXNwbGF5ID0gJ2ZlX3Byb2R1Y3RzX2ZlYXR1cmVkJzsKIAkJYnJlYWs7CgljYXNlICdwcm9kdWN0ZGV0YWlsJzoKCQkvLyBQcmVwYXJlIGRldGFpbHMgZm9yIGdpdmVuIHByb2R1Y3QKIAkJYnJlYWs7CglkZWZhdWx0OgogCQllY2hvICR0aGlzLT5MYW5nKCd1bmtub3duX2Rpc3BsYXknLCAkZGlzcGxheSk7CiAJCXJldHVybjsKICB9CgpyZXF1aXJlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLicuJGRpc3BsYXkuJy5waHAnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gCiMKIyBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIHRoZSBhZG1pbiBwYXJ0IG9mIG1vZHVsZSBTaG9wIE1hZGUgU2ltcGxlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghIGlzc2V0KCRnQ21zKSkgZXhpdDsKCiRhY3RpdmVfdGFiID0gJ2NhdGVnb3JpZXMnOwppZiggaXNzZXQoICRwYXJhbXNbJ2FjdGl2ZV90YWInXSApICkgewoJJGFjdGl2ZV90YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0KLy8gUHJlcGFyZSBjYXRlZ29yaWVzIGFuZCBwcm9kdWN0cyBvbmx5IGZvciBhbGxvd2VkIHVzZXJzCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSB8fCAKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpIHsKCWlmICggISBpc3NldCggJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKSApIHsKCQkkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSAwOwoJfQoJJGN1cnJlbnRfY2F0ZWdvcnkgPSAkdGhpcy0+Y2F0ZWdvcmllcy0+R2V0KCRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CgkkbWVzc2FnZSA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddICkgKSB7CgkJJG1lc3NhZ2UgPSAkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddOwoJfQoJCgkvKioKCSAqIFByZXBhcmUgdGhlIENhdGVnb3JpZXMuCgkgKi8KCSRjYXRlZ29yaWVzID0gYXJyYXkoKTsKCSRjYXRlZ29yeV9wYXRoID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhdGVnb3J5X2xpc3QnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdyb290JyksIGFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gMCkpOwoJZm9yZWFjaCAoJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkUGF0aCgkY3VycmVudF9jYXRlZ29yeSkgYXMgJGNhdGVnb3J5KSB7CgkJJGNhdGVnb3J5X3BhdGggLj0gJyAvICcuJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhdGVnb3J5X2xpc3QnLCAkcmV0dXJuaWQsICRjYXRlZ29yeVsnbmFtZSddLCBhcnJheSAoJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSkpOwoJfQoJCglpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScpKSB7IAoJCSRjYXRlZ29yaWVzWydjdXJyZW50J10gPSBhcnJheSgKCQkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2N1cnJlbnRfY2F0ZWdvcnknKSwKCQkJJ3ZhbHVlJz0+JGNhdGVnb3J5X3BhdGgsCgkJCSdsaW5rX2FkZCc9PiR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdjYXRlZ29yeV9hZGQnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2FkZCcpLicgJy4kdGhpcy0+TGFuZygndGV4dF9jYXRlZ29yeScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKQoJCSk7Cgl9IAoJZWxzZSB7CgkJJGNhdGVnb3JpZXNbJ2N1cnJlbnQnXSA9IGFycmF5KAoJCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY3VycmVudF9jYXRlZ29yeScpLAoJCQkndmFsdWUnPT4kY2F0ZWdvcnlfcGF0aCwKCQkJJ2xpbmtfYWRkJz0+JyZuYnNwOycKCQkpOwoJfQoJJGNhdGVnb3J5X2xpc3QgPSBhcnJheSgpOwoJZm9yZWFjaCAoJHRoaXMtPmNhdGVnb3JpZXMtPkdldExpc3QoJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKSBhcyAkY2F0ZWdvcnkpIHsKCQlpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSkgeyAKCQkJCSRjYXRlZ29yeVsnbGlua19kZWxldGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2NhdGVnb3J5X2RlbGV0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkgKCdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10pLCAkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZWNhdGVnb3J5JywkY2F0ZWdvcnlbJ25hbWUnXSkpOwoJCQkJJGNhdGVnb3J5WydsaW5rX2VkaXQnXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdjYXRlZ29yeV9lZGl0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSAoJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwgJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10sICdwYXJlbnRfaWQnID0+ICRjYXRlZ29yeVsncGFyZW50X2lkJ10sICduYW1lJyA9PiAkY2F0ZWdvcnlbJ25hbWUnXSwnZGVzY3JpcHRpb24nID0+ICRjYXRlZ29yeVsnZGVzY3JpcHRpb24nXSwnaW1hZ2UnID0+ICRjYXRlZ29yeVsnaW1hZ2UnXSwnYWN0aXZlJyA9PiAkY2F0ZWdvcnlbJ2FjdGl2ZSddLCdwb3NpdGlvbicgPT4gJGNhdGVnb3J5Wydwb3NpdGlvbiddLCkpOwoJCQkJJGNhdGVnb3J5WydsaW5rX2VuYWJsZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkJCQkkY2F0ZWdvcnlbJ2FjdGl2ZSddID09IDEgPyAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfaW5hY3RpdmUnKSwKCQkJCQknJywnJywnc3lzdGVtaWNvbicpIDogJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9hY3RpdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJCWFycmF5KCd0YWJsZSc9PidDYXRlZ29yaWVzJywnYWN0aXZlJz0+JGNhdGVnb3J5WydhY3RpdmUnXSwnY2F0ZWdvcnlfaWQnPT4kY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10sCgkJCQkJJ3BhcmVudF9pZCc9PiRjYXRlZ29yeVsncGFyZW50X2lkJ10pKTsKCQl9CgkJJGNhdGVnb3J5WyduYW1lJ10gPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnY2F0ZWdvcnlfbGlzdCcsICRyZXR1cm5pZCwgJGNhdGVnb3J5WyduYW1lJ10sIGFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSk7CgkJJGNhdGVnb3J5X2xpc3RbXSA9ICRjYXRlZ29yeTsKCX0KCSRjYXRlZ29yaWVzWydzdWJjYXRlZ29yaWVzJ10gPSBhcnJheSgKCQknbGFiZWwnPT5hcnJheSgKCQkJJ2lkJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X2lkJyksCgkJCSduYW1lJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X25hbWUnKSwKCQkJJ2Rlc2NyaXB0aW9uJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X2Rlc2NyaXB0aW9uJykKCQkpLAoJCSdsaXN0Jz0+JGNhdGVnb3J5X2xpc3QKCSk7CgkvKioKCSAqIFByZXBhcmUgdGhlIHByb2R1Y3RzCgkgKi8KCSRwcm9kdWN0cyA9IGFycmF5KCk7CglpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpKSB7IAoJCSRwcm9kdWN0c1snY2F0ZWdvcnknXSA9IGFycmF5KAoJCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9jYXRlZ29yeScpLAoJCQkndmFsdWUnPT4kY3VycmVudF9jYXRlZ29yeVsnbmFtZSddLAoJCQknbGlua19hZGQnPT4kdGhpcy0+Q3JlYXRlTGluayggJGlkLCAncHJvZHVjdF9hZGQnLCAkcmV0dXJuaWQsIAoJCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfYWRkJykuJyAnLiR0aGlzLT5MYW5nKCd0ZXh0X3Byb2R1Y3QnKSwnJywnJywnc3lzdGVtaWNvbicpLCAKCQkJCWFycmF5KCdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKQoJCSk7Cgl9CgllbHNlIHsKCQkkcHJvZHVjdHNbJ2NhdGVnb3J5J10gPSBhcnJheSgKCQkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfY2F0ZWdvcnknKSwKCQkJJ3ZhbHVlJz0+JGN1cnJlbnRfY2F0ZWdvcnlbJ25hbWUnXSwKCQkJJ2xpbmtfYWRkJz0+JyZuYnNwOycKCQkpOwoJfQoJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyB1c2UgZGlmZmVyZW50IGxhYmVsCgkkaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CglpZiAoJGludmVudG9yeXR5cGUgPT0gJ3Byb2QnKSB7CgkJJGxhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCdsYWJlbF9vbnN0b2NrJyk7Cgl9CgllbHNlIHsKCQkkbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzID0gJyc7Cgl9CgkkcHJvZHVjdF9saXN0ID0gYXJyYXkoKTsKCWZvcmVhY2ggKCR0aGlzLT5wcm9kdWN0cy0+R2V0TGlzdCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pIGFzICRwcm9kdWN0KSB7CgkJJHByb2R1Y3RuYW1lID0gJHByb2R1Y3RbJ25hbWUnXTsKCQlpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluUHJvZHVjdHMnKSkgeyAKCQkJJHByb2R1Y3RbJ25hbWUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwcm9kdWN0WyduYW1lJ10sIAoJCQkJYXJyYXkgKCdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJCSMkcHJvZHVjdFsnZGVzY3JpcHRpb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwcm9kdWN0WydkZXNjcmlwdGlvbiddLCAKCQkJIwlhcnJheSAoJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwgJ3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10pKTsKCQkJJHByb2R1Y3RbJ2ludmVudG9yeXR5cGUnXSA9ICRpbnZlbnRvcnl0eXBlOwoJCQkkcHJvZHVjdFsnb25zdG9jayddID0gJHByb2R1Y3RbJ21heGF0dHJpYnV0ZXMnXTsKCQkJJHByb2R1Y3RbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9kdWN0X2RlbGV0ZScsICRyZXR1cm5pZCwgCgkJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9kZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJCWFycmF5ICgnY3VycmVudF9wcm9kdWN0X2lkJyA9PiAkcHJvZHVjdFsncHJvZHVjdF9pZCddLCAnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddICksIAoJCQkJJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2FyZXlvdXN1cmVwcm9kdWN0JywkcHJvZHVjdG5hbWUpKTsKCQkJJHByb2R1Y3RbJ2xpbmtfZWRpdCddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgCgkJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJCWFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLCAncHJvZHVjdF9pZCcgPT4gJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSkpOwoJCQkkcHJvZHVjdFsnbGlua19lbmFibGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3N3aXRjaHN0YXR1cycsICRyZXR1cm5pZCwgCgkJCQkkcHJvZHVjdFsnYWN0aXZlJ10gPT0gMSA/ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9pbmFjdGl2ZScpLAoJCQkJJycsJycsJ3N5c3RlbWljb24nKSA6ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfYWN0aXZlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCWFycmF5KCd0YWJsZSc9PidQcm9kdWN0cycsJ2FjdGl2ZSc9PiRwcm9kdWN0WydhY3RpdmUnXSwnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwKCQkJCSdwYXJlbnRfaWQnPT4kcHJvZHVjdFsncGFyZW50X2lkJ10sICdwcm9kdWN0X2lkJz0+JHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSkpOwoJCQkKCQl9CgkJZWxzZSB7CgkJCSRwcm9kdWN0WyduYW1lJ10gPSAkcHJvZHVjdFsnbmFtZSddOwoJCQkkcHJvZHVjdFsnbGlua19kZWxldGUnXSA9ICcnOwoJCQkkcHJvZHVjdFsnbGlua19lZGl0J10gPSAnJzsKCQkJJHByb2R1Y3RbJ2xpbmtfZW5hYmxlJ10gPSAnJzsKCQl9CgkJJHByb2R1Y3RfbGlzdFtdID0gJHByb2R1Y3Q7Cgl9CgkkcHJvZHVjdHNbJ3Byb2R1Y3RzJ10gPSBhcnJheSgKCQknbGFiZWwnPT5hcnJheSgKCQkJJ2lkJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3QnKSwKCQkJJ25hbWUnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfbmFtZScpLAoJCQknZGVzY3JpcHRpb24nPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfZGVzY3JpcHRpb24nKSwKCQkJJ29uc3RvY2snPT4kbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzCgkJKSwKCQknbGlzdCc9PiRwcm9kdWN0X2xpc3QKCSk7Cn0KLyoqCiAqIFByZXBhcmUgdGhlIFN0b2NrIEtlZXBpbmcgVW5pdHMKICovCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpKSB7Cgkkc2t1cyA9IGFycmF5KCk7CglpZiggaXNzZXQoICRwYXJhbXNbJ3NrdW1lc3NhZ2UnXSApICkgewoJCSRza3VzWydtZXNzYWdlJ10gPSAkcGFyYW1zWydza3VtZXNzYWdlJ107Cgl9Cglmb3JlYWNoICgkdGhpcy0+cHJvZHVjdHMtPkdldExpc3RTS1UoKSBhcyAkc2t1KSB7CgkJJHNrdVsnbmFtZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3NrdV9lZGl0JywgJHJldHVybmlkLCAkc2t1Wydza3UnXSwgYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddKSk7CgkJJHNrdVsnZGVzY3JpcHRpb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdza3VfZWRpdCcsICRyZXR1cm5pZCwgJHNrdVsnZGVzY3JpcHRpb24nXSwgYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddKSk7CgkJJHNrdVsnbGlua19lZGl0J10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnc2t1X2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddKSk7CgkJJHNrdVsnbGlua19kZWxldGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3NrdV9kZWxldGUnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9kZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddICksIAoJCQkkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZXNrdScsJHNrdVsnc2t1J10pKTsKCQkkc2t1X2xpc3RbXSA9ICRza3U7Cgl9Cgkkc2t1c1snc2t1cyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+YXJyYXkoCgkJCSdsaW5rX2FkZCc9PiR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdza3VfYWRkJywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2FkZCcpLicgJy4kdGhpcy0+TGFuZygndGV4dF9za3UnKSwnJywnJywnc3lzdGVtaWNvbicpKSwKCQkJJ3RleHRfYWRkJz0+JHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ3NrdV9hZGQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCd0ZXh0X2FkZCcpLicgJy4kdGhpcy0+TGFuZygndGV4dF9za3UnKSksCgkJCSdza3UnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2t1X25hbWUnKSwKCQkJJ2Rlc2NyaXB0aW9uJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NrdV9kZXNjcmlwdGlvbicpCgkJKSwKCQknbGlzdCc9PiRza3VfbGlzdAoJKTsKfQovKioKICogUHJlcGFyZSB0aGUgdGVtcGxhdGVzIHRhYgogKi8KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKCSR0ZW1wbGF0ZXMgPSBhcnJheSgpOwoJJHRlbXBsYXRlc1snc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICd0ZW1wbGF0ZXNfdXBkYXRlJyk7CgkkdGVtcGxhdGVzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKTsKCSR0ZW1wbGF0ZXNbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgkKCSR0ZW1wbGF0ZXNbJ2NhdGxpc3RfdGVtcGxhdGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRsaXN0X3RlbXBsYXRlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgnY2F0bGlzdF90ZW1wbGF0ZScpLCAnY2F0bGlzdF90ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KQoJKTsKCSR0ZW1wbGF0ZXNbJ2NhdGVnb3JpZXNfdGVtcGxhdGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yaWVzX3RlbXBsYXRlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgnY2F0ZWdvcmllc190ZW1wbGF0ZScpLCAnY2F0ZWdvcmllc190ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KQoJKTsKCSR0ZW1wbGF0ZXNbJ3Byb2RkZXRhaWxfdGVtcGxhdGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kZGV0YWlsX3RlbXBsYXRlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgncHJvZGRldGFpbF90ZW1wbGF0ZScpLCAncHJvZGRldGFpbF90ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KQoJKTsKCSR0ZW1wbGF0ZXNbJ3Byb2RmZWF0X3RlbXBsYXRlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZGZlYXRfdGVtcGxhdGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsCSRpZCwgJHRoaXMtPkdldFRlbXBsYXRlKCdwcm9kZmVhdF90ZW1wbGF0ZScpLCAncHJvZGZlYXRfdGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSkKCSk7Cn0KLyoqCiAqIFByZXBhcmUgdGhlIHByZWZlcmVuY2VzIHRhYgogKi8KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpKSB7CgkkcHJlZmVyZW5jZXMgPSBhcnJheSgpOwoJJHByZWZlcmVuY2VzWydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3ByZWZlcmVuY2VzX3VwZGF0ZScpOwoJJHByZWZlcmVuY2VzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKTsKCSRwcmVmZXJlbmNlc1sncmVidWlsZHByb2R1Y3R0aHVtYm5haWxzJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncmVidWlsZHByb2R1Y3R0aHVtYm5haWxzJywgJHRoaXMtPkxhbmcoJ3JlYnVpbGRwcm9kdWN0dGh1bWJuYWlscycpKTsKCSRzZWFyY2htb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdTZWFyY2gnKTsKCWlmICgkc2VhcmNobW9kdWxlICE9IEZBTFNFKQoJewoJCSRwcmVmZXJlbmNlc1snc2VhcmNocmVpbmRleCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3NlYXJjaHJlaW5kZXgnLCAkdGhpcy0+TGFuZygnc2VhcmNocmVpbmRleCcpKTsKCX0KCSRwcmVmZXJlbmNlc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCQoJJHByZWZlcmVuY2VzWydhZG1pbl9uYW1lJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYWRtaW5fbmFtZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2FkbWluX25hbWUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fbmFtZScsICcnKSwgNDAsIDQwICkKCSk7IAoJJHByZWZlcmVuY2VzWydhZG1pbl9lbWFpbCddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2FkbWluX2VtYWlsJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnYWRtaW5fZW1haWwnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fZW1haWwnLCAnJyksIDQwLCA0MCApCgkpOyAKCSRwcmVmZXJlbmNlc1snc2hvcF9uYW1lJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2hvcF9uYW1lJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnc2hvcF9uYW1lJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3BfbmFtZScsICcnKSwgNDAsIDQwICkKCSk7IAoJJHByZWZlcmVuY2VzWydzaG9wX3Bob25lJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2hvcF9waG9uZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3Nob3BfcGhvbmUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2hvcF9waG9uZScsICcnKSwgNDAsIDQwICkKCSk7IAoJJHByZWZlcmVuY2VzWydzaG9wX29ubGluZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Nob3Bfb25saW5lJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdzaG9wX29ubGluZScsIDEsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3Bfb25saW5lJywgJycpKQoJKTsgCgkkcHJlZmVyZW5jZXNbJ2RlZmF1bHRfbWF4YXR0cmlidXRlcyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2RlZmF1bHRfbWF4YXR0cmlidXRlcycpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlZmF1bHRfbWF4YXR0cmlidXRlcycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X21heGF0dHJpYnV0ZXMnLCAxKSwgMTAsIDEwKQoJKTsgCgkkcHJlZmVyZW5jZXNbJ3ByaWNlc2luY2x2YXQnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcmljZXNfaW5jbF92YXQnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3ByaWNlc2luY2x2YXQnLCAxLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmljZXNpbmNsdmF0JywgZmFsc2UpKQoJKTsgCgkkcHJlZmVyZW5jZXNbJ3ByaWNlc2luY2x2YXQnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcmljZXNfaW5jbF92YXQnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3ByaWNlc2luY2x2YXQnLCAxLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmljZXNpbmNsdmF0JywgZmFsc2UpKQoJKTsgCgkkcHJlZmVyZW5jZXNbJ3dlaWdodHVuaXRtZWFzdXJlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfd2VpZ2h0X3VuaXRfbWVhc3VyZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3dlaWdodHVuaXRtZWFzdXJlJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dlaWdodHVuaXRtZWFzdXJlJywgJ0tnJyksIDEwLCAxMCApCgkpOyAKCSRwcmVmZXJlbmNlc1snaXRlbWNhcGl0YWxvbmx5J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfaXRlbV9jYXBpdGFsX29ubHknKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2l0ZW1jYXBpdGFsb25seScsIDEsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1jYXBpdGFsb25seScsIGZhbHNlKSkKCSk7IAoJJHByZWZlcmVuY2VzWydhbGxvd2RvdWJsZWl0ZW0nXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hbGxvd2RvdWJsZWl0ZW0nKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2FsbG93ZG91YmxlaXRlbScsIDEsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZG91YmxlaXRlbScsIGZhbHNlKSkKCSk7IAoJJHNrdWRyb3Bkb3duID0gJHRoaXMtPkJ1aWxkTGlzdFNLVSgpOwoJJHByZWZlcmVuY2VzWydkZWZhdWx0X3NrdSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2RlZmF1bHRfc2t1JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdkZWZhdWx0X3NrdScsICRza3Vkcm9wZG93biwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3NrdScsICcnKSkKCSk7IAoJJHByZWZlcmVuY2VzWydkZWZhdWx0X2N1cnJlbmN5J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfZGVmYXVsdF9jdXJyZW5jeScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlZmF1bHRfY3VycmVuY3knLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScsICcnKSwgMTAsIDEwICkKCSk7IAoJJHByZWZlcmVuY2VzWydkZWZhdWx0X3N5bWJvbCddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2RlZmF1bHRfc3ltYm9sJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZGVmYXVsdF9zeW1ib2wnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnLCAnJyksIDQwLCA0MCApCgkpOyAKCSRwcmVmZXJlbmNlc1snaW1hZ2VwYXRoX2NhdGVnb3J5J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfaW1hZ2VwYXRoX2NhdGVnb3J5JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW1hZ2VwYXRoX2NhdGVnb3J5JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9jYXRlZ29yeScsICcnKSwgNDAsIDQwICkKCSk7IAoJJHByZWZlcmVuY2VzWydpbWFnZXBhdGhfcHJvZHVjdCddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ltYWdlcGF0aF9wcm9kdWN0JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW1hZ2VwYXRoX3Byb2R1Y3QnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnLCAnJyksIDQwLCA0MCApCgkpOwoJJHByZWZlcmVuY2VzWyd0bmhlaWdodF9wcm9kdWN0J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfdG5oZWlnaHRfcHJvZHVjdCcpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3RuaGVpZ2h0X3Byb2R1Y3QnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndG5oZWlnaHRfcHJvZHVjdCcsICcxMDAnKSwgNSwgNSApCgkpOwoJJHByZWZlcmVuY2VzWyd0bndpZHRoX3Byb2R1Y3QnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF90bndpZHRoX3Byb2R1Y3QnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd0bndpZHRoX3Byb2R1Y3QnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndG53aWR0aF9wcm9kdWN0JywgJzAnKSwgNSwgNSApCgkpOwoJJHByZWZlcmVuY2VzWydwcm9kdWN0cGFnZWxpbWl0J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdHBhZ2VsaW1pdCcpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3Byb2R1Y3RwYWdlbGltaXQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHBhZ2VsaW1pdCcsIDEwMDAwMCksIDEwLCAxMCApCgkpOwoJJHByZWZlcmVuY2VzWydpbnZlbnRvcnlzZXR0aW5ncyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ludmVudG9yeXNldHRpbmdzJykKCSk7CgkkaW52ZW50b3J5dHlwZXMgPSAkdGhpcy0+QnVpbGRMaXN0SW52ZW50b3J5VHlwZXMoKTsKCSR1c2VkaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJywgJ25vbmUnKTsKCSRwcmVmZXJlbmNlc1snaW52ZW50b3J5dHlwZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ludmVudG9yeXR5cGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCAkaWQsICdpbnZlbnRvcnl0eXBlJywgJGludmVudG9yeXR5cGVzLCAkdXNlZGludmVudG9yeXR5cGUgKQoJKTsKCS8vIERlZmluZSBhdCB3aGF0IG1vbWVudCB0aGUgc2FsZXMgdHJhbnNhY3Rpb24gc2hvdWxkIGRlY3JlYXNlIGludmVudG9yeQoJJHNhbGVzaW52ZW50dGltaW5nID0gJHRoaXMtPkJ1aWxkTGlzdFNhbGVzSW52ZW50VGltaW5nKCk7CgkkdXNlZHNhbGVzaW52ZW50dGltaW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NhbGVzaW52ZW50dGltaW5nJywgJ0NORicpOwoJJHByZWZlcmVuY2VzWydzYWxlc2ludmVudHRpbWluZyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NhbGVzaW52ZW50dGltaW5nJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdzYWxlc2ludmVudHRpbWluZycsICRzYWxlc2ludmVudHRpbWluZywgLTEsICR1c2Vkc2FsZXNpbnZlbnR0aW1pbmcpCgkpOwp9CmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JykgfHwgCgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpKSB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhdGVnb3JpZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX2NhdGVnb3JpZXMnKSwgKCRhY3RpdmVfdGFiID09ICdjYXRlZ29yaWVzJykpOwp9CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpKSB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NrdXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX3NrdXMnKSwgKCRhY3RpdmVfdGFiID09ICdza3VzJykpOwp9CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpKSB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RlbXBsYXRlcycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfdGVtcGxhdGVzJyksICgkYWN0aXZlX3RhYiA9PSAndGVtcGxhdGVzJykpOwp9CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmVmZXJlbmNlcycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfcHJlZmVyZW5jZXMnKSwgKCRhY3RpdmVfdGFiID09ICdwcmVmZXJlbmNlcycpKTsKfQoKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKLy8gUHJlcGFyZSB0aGUgY2F0ZWdvcmllcyBhbmQgcHJvZHVjdHMgdGFiCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JykgfHwgCgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycsICRwYXJhbXMpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yaWVzJywgJGNhdGVnb3JpZXMpOyAKCSRzbWFydHktPmFzc2lnbigncHJvZHVjdHMnLCAkcHJvZHVjdHMpOyAKCSRzbWFydHktPmFzc2lnbignbm9jYXRmb3VuZCcsICR0aGlzLT5MYW5nKCdub2NhdGZvdW5kJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdub3Byb2Rmb3VuZCcsICR0aGlzLT5MYW5nKCdub3Byb2Rmb3VuZCcpKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGFiX2NhdGVnb3JpZXMudHBsJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQovLyBQcmVwYXJlIHRoZSB0YWIgY29udGFpbmluZyB0aGUgU0tVJ3MKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdza3VzJywgJHBhcmFtcyk7Cgkkc21hcnR5LT5hc3NpZ24oJ3NrdXMnLCAkc2t1cyk7IAoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfc2t1cy50cGwnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9Ci8vIFByZXBhcmUgdGhlIHRhYiBjb250YWluaW5nIHRoZSB0ZW1wbGF0ZXMKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0ZW1wbGF0ZXMnLCAkcGFyYW1zKTsKCSRzbWFydHktPmFzc2lnbigndGVtcGxhdGVzJywgJHRlbXBsYXRlcyk7IAoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfdGVtcGxhdGVzLnRwbCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KLy8gUHJlcGFyZSBwcmVmZXJlbmNlcyB0YWIKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYigncHJlZmVyZW5jZXMnLCAkcGFyYW1zKTsKCSRzbWFydHktPmFzc2lnbigncHJlZmVyZW5jZXMnLCAkcHJlZmVyZW5jZXMpOyAKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGFiX3ByZWZlcmVuY2VzLnRwbCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.fe_category_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKJHBhcmVudGNhdGVnb3J5ID0gJzAnOwppZiAoaXNzZXQoJHBhcmFtc1sncGFyZW50Y2F0ZWdvcnknXSkpIHsKCSRwYXJlbnRjYXRlZ29yeSA9ICRwYXJhbXNbJ3BhcmVudGNhdGVnb3J5J107Cn0KCi8vIFNlbGVjdCBhbGwgYWN0aXZlIGNhdGVnb3JpZXMgYW5kIHNob3cgdGhlbQpmb3JlYWNoICgkdGhpcy0+Y2F0ZWdvcmllcy0+R2V0TGlzdCggJHBhcmVudGNhdGVnb3J5ICkgYXMgJGNhdGVnb3J5KSB7CglpZiAoJGNhdGVnb3J5WydhY3RpdmUnXSA9PSAxKSB7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCS8vIENoZWNrIHRoZSBudW1iZXIgb2YgYWN0aXZlIHByb2R1Y3RzIGNvbm5lY3RlZCB0byB0aGlzIGNhdGVnb3J5CgkJJHF1ZXJ5ID0gJ1NFTEVDVCBjb3VudCgqKSBhcyBudW1fcHJvZHVjdHMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IHBjLAoJCQknLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBwIFdIRVJFIGNhdGVnb3J5X2lkPT8gQU5EIHBjLnByb2R1Y3RfaWQgPSBwLnByb2R1Y3RfaWQgQU5EIAoJCQlwLmFjdGl2ZSA9IDEnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSk7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQkkbnVtX3Byb2R1Y3RzPSRyb3dbJ251bV9wcm9kdWN0cyddOwoJCS8vIEluY2x1ZGUgdGhlIG51bWJlciBvZiBwcm9kdWN0cyBpbiB0aGUgbmFtZSBvZiB0aGUgY2F0ZWdvcnkKCQlpZiAoJG51bV9wcm9kdWN0cyAhPSAwKSB7CgkJCSRjYXRlZ29yeVsnbmFtZSddID0gJGNhdGVnb3J5WyduYW1lJ10gLiAnICgnLiRudW1fcHJvZHVjdHMuJyknOwoJCX0KCQkkc2VuZHRvZGV0YWlsID0gYXJyYXkoJ2NhdGVnb3J5X2lkJz0+JGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKTsKCQkkcHJldHR5dXJsID0gJ1Nob3BNYWRlU2ltcGxlL2NhdC8nLiRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXS4nLycuKCRkZXRhaWxwYWdlIT0nJz8kZGV0YWlscGFnZTokcmV0dXJuaWQpOwoJCWlmIChpc3NldCgkc2VuZHRvZGV0YWlsWydkZXRhaWx0ZW1wbGF0ZSddKSkgewoJCQkkcHJldHR5dXJsIC49ICcvZCwnIC4gJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXTsKCQl9CgkJLy8gUHJlcGFyZSBpbWFnZSBvZiB0aGUgY2F0ZWdvcnkKCQlpZiAoaXNzZXQoJGNhdGVnb3J5WydpbWFnZSddKSAmJiAkY2F0ZWdvcnlbJ2ltYWdlJ10gIT0gJ25vX2ltYWdlLmpwZycgJiYgJGNhdGVnb3J5WydpbWFnZSddICE9ICcnKSB7CgkJCSRvbmVyb3ctPmltYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9jYXRlZ29yeScpLiRjYXRlZ29yeVsnaW1hZ2UnXTsKCQkJJG9uZXJvdy0+ZGVzY3JpcHRpb24gPSAkY2F0ZWdvcnlbJ25hbWUnXTsKCQl9CgkJZWxzZSB7CgkJCSRvbmVyb3ctPmltYWdlID0gJypub25lJzsKCQl9CgkJJG9uZXJvdy0+Y3Vyc3ltYm9sID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJywgJycpOwoJCSRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdmZV9wcm9kdWN0X2xpc3QnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAKCQkJJGNhdGVnb3J5WyduYW1lJ10sICRzZW5kdG9kZXRhaWwsJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJfQp9CiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRGb3JtU3RhcnQoJGlkLCAkcmV0dXJuaWQsICdmZV9jYXRlZ29yeV9saXN0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYWJlbF9jYXRlZ29yaWVzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3JpZXMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsICRjYXRlZ29yaWVzKTsKLy8gRGlzcGxheSB0ZW1wbGF0ZQokdGVtcGxhdGUgPSAnY2F0ZWdvcmllc190ZW1wbGF0ZSc7Ci8vIEN1cnJlbnRseSBvbmx5IG9uZSB0ZW1wbGF0ZSBhdmFpbGFibGUsIHNvIG5leHQgbGluZXMgd2lsbCBub3QgcGVyZm9ybSBhbnl0aGluZwppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcmllc3RlbXBsYXRlJ10pKSB7CgkkdGVtcGxhdGUgPSAkcGFyYW1zWydjYXRlZ29yaWVzdGVtcGxhdGUnXTsKfQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.fe_cat_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRnQ21zID0gY21zbXMoKTsgaWYoICFpc19vYmplY3QoJGdDbXMpICkgZXhpdDsKCiRkZXRhaWxwYWdlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQp7CgkkbWFuYWdlciA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgl7CgkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsKCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQoJCXsKCQkJJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCQl9Cgl9CgllbHNlCgl7CgkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJCWlmIChpc3NldCgkbm9kZSkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCQl9Cgl9Cn0KCiRwYXJlbnRjYXRlZ29yeSA9ICcwJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3BhcmVudGNhdGVnb3J5J10pKSB7CgkkcGFyZW50Y2F0ZWdvcnkgPSAkcGFyYW1zWydwYXJlbnRjYXRlZ29yeSddOwp9Ci8vIENoZWNrIHRoZSBudW1iZXIgb2YgYWN0aXZlIHByb2R1Y3RzIGNvbm5lY3RlZCB0byB0aGUgcm9vdCBjYXRlZ29yeQokcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBhcyBudW1fcHJvZHVjdHMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IHBjLAoJJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgcCBXSEVSRSBjYXRlZ29yeV9pZDw9MCBBTkQgcGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCBBTkQgCglwYy5hY3RpdmUgPSAxIEFORCBwLmFjdGl2ZSA9IDEnOwokZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkyKTsKJG51bXByb2RzID0gMDsKaWYgKCRkYnJlc3VsdDIgJiYgJHByb2Ryb3cgPSAkZGJyZXN1bHQyLT5GZXRjaFJvdygpKSB7CgkkbnVtcHJvZHMgPSAkcHJvZHJvd1snbnVtX3Byb2R1Y3RzJ107Cn0KCiRkZXN0cGFnZSA9ICRkZXRhaWxwYWdlIT0nJz8kZGV0YWlscGFnZTokcmV0dXJuaWQ7CiRzZW5kdG9kZXRhaWwgPSBhcnJheSgnY2F0ZWdvcnlfaWQnPT4kcm93WzBdLAknZGV0YWlscGFnZSc9PiRkZXN0cGFnZSk7CiRwcmV0dHl1cmwgPSAnU2hvcE1hZGVTaW1wbGUvY2F0LycuJHJvd1swXS4nLycuJGRlc3RwYWdlOwppZiAoaXNzZXQoJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXSkpIHsKCSRwcmV0dHl1cmwgLj0gJy9kLCcgLiAkc2VuZHRvZGV0YWlsWydkZXRhaWx0ZW1wbGF0ZSddOwp9CmlmICgkbnVtcHJvZHMgIT0gMCkgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyb290Y2F0JywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZmVfcHJvZHVjdF9saXN0JywgJGRlc3RwYWdlLCAkcm93WzFdLAoJCSRzZW5kdG9kZXRhaWwsJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvZHVjdHNfaW5fcm9vdF9jYXRlZ29yeScsICRudW1fcHJvZHVjdHMpOwp9IAoKLy8gQ3JlYXRlIGEgY2F0ZWdvcnkgdHJlZQokYyA9ICR0aGlzLT5GaWxsQ2F0TGlzdCgkcGFyZW50Y2F0ZWdvcnksIDAsICRyZXR1cm5pZCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCAkYyk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGcm9udGVuZEZvcm1TdGFydCgkaWQsICRyZXR1cm5pZCwgJ2ZlX2NhdF9saXN0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYWJlbF9jYXRlZ29yaWVzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3JpZXMnKSk7Ci8vJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yaWVzJywgJGNhdGVnb3JpZXMpOwovLyBEaXNwbGF5IHRlbXBsYXRlCiR0ZW1wbGF0ZSA9ICdjYXRlZ29yaWVzX3RlbXBsYXRlJzsKLy8gQ3VycmVudGx5IG9ubHkgb25lIHRlbXBsYXRlIGF2YWlsYWJsZSwgc28gbmV4dCBsaW5lcyB3aWxsIG5vdCBwZXJmb3JtIGFueXRoaW5nCmlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yaWVzdGVtcGxhdGUnXSkpIHsKCSR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ2NhdGVnb3JpZXN0ZW1wbGF0ZSddOwp9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwoKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.fe_products_featured.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKJHBhdGhwcm9kdWN0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0Jyk7Ci8vIFByZXBhcmUgc2V0dGluZ3MgZm9yIHVzYWdlIG9mIGNhcnQKJGNhcnRNU0luc3RhbGxlZCA9IGZhbHNlOwokbW9kdWxlbmFtZSA9ICdDYXJ0TWFkZVNpbXBsZSc7CgokY21zbW9kdWxlcyA9ICRnQ21zLT5tb2R1bGVzOwppZiAoaXNzZXQoJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdKSkKewoJaWYgKGlzc2V0KCRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10pCgkJJiYgJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydpbnN0YWxsZWQnXSA9PSB0cnVlCgkJJiYgJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydhY3RpdmUnXSA9PSB0cnVlICkgewoJCSRjYXJ0TVNJbnN0YWxsZWQgPSB0cnVlOwoJfQp9CgovLyBEaXNwbGF5IGluZm9ybWF0aW9uIG9mIHRoZSBwcm9kdWN0CiRzcWwgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBXSEVSRSBmZWF0dXJlZCA9IDEgT1JERVIgQlkgcG9zaXRpb24nOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwgKTsKCiRyb3cgPSBhcnJheSgpOwokcm93Y2xhc3MgPSAncm93MSc7CiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJJG9uZXJvdy0+cHJvZGlkID0gJHJvd1sncHJvZHVjdF9pZCddOwoJJG9uZXJvdy0+cHJvZG5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdmZV9wcm9kdWN0X2RldGFpbCcsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLCBhcnJheSgncHJvZHVjdF9pZCc9PiRyb3dbJ3Byb2R1Y3RfaWQnXSkpOwoJJG9uZXJvdy0+cHJvZGRlc2MgPSAkcm93WydkZXNjcmlwdGlvbiddOwoJJG9uZXJvdy0+bmV0d2VpZ2h0ID0gJHJvd1snbmV0d2VpZ2h0J107Cgkkb25lcm93LT5za3UgPSAkcm93Wydza3UnXTsKCgkvLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIGRvbid0IHNob3cgYW55IGFkZCB0byBjYXJ0IG9wdGlvbgoJJGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScpOwoJaWYgKCRpbnZlbnRvcnl0eXBlID09ICdwcm9kJyAmJiAkcm93WydtYXhhdHRyaWJ1dGVzJ10gPiAwIHx8ICRpbnZlbnRvcnl0eXBlID09J25vbmUnKSB7CgkJLy8gQnVpbGQgbGluayB0byBjYXJ0CgkJaWYgKCRjYXJ0TVNJbnN0YWxsZWQpIHsKCQkJJG9uZXJvdy0+YWRkcHJvZHVjdCA9ICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKSwgCgkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRyb3dbJ3Byb2R1Y3RfaWQnXSwKCQkJCQkncXR5JyA9PiAxLAoJCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCSkpOwoJCQkvLyBQcmVwYXJlIGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkKCQkJJGltYWdlc3JjID0gJGNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLidtb2R1bGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLgoJCQkJCSR0aGlzLT5HZXROYW1lKCkuRElSRUNUT1JZX1NFUEFSQVRPUi4naW1hZ2VzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidhZGR0b2NhcnQuZ2lmJzsKCQkJJG9uZXJvdy0+YWRkcHJvZHVjdGltYWdlID0gJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXS0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsIAoJCQkJJHJldHVybmlkLCAnPGltZyBzcmM9IicuJGltYWdlc3JjLiciIGFsdD0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyIgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciPicsIAoJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLAoJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcm93Wydwcm9kdWN0X2lkJ10sCgkJCQkJJ3F0eScgPT4gMSwKCQkJCQkncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkpKTsKCQl9Cgl9CgoJLy8gR2V0IHRoZSBmaXJzdCBwaWN0dXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2R1Y3QgZm91bmQKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIFdIRVJFIHByb2R1Y3RfaWQgPSA/IjsKCSRwaWN0dXJlID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcm93Wydwcm9kdWN0X2lkJ10pKTsKCWlmICgkcGljdHVyZSkKCXsKCQlpZiAoaXNzZXQoJHBpY3R1cmVbJ2ltYWdlJ10pICYmICRwaWN0dXJlWydpbWFnZSddICE9ICdub19pbWFnZS5qcGcnKSB7CgkJCSRvbmVyb3ctPnByb2RpbWFnZSA9ICRwYXRocHJvZHVjdC4kcGljdHVyZVsnaW1hZ2UnXTsKCQkJIyRvbmVyb3ctPnByb2RpbWFnZSA9ICRwYXRocHJvZHVjdC4kcGljdHVyZVsnaW1hZ2UnXS4nIiBhbHQ9IicuJHBpY3R1cmVbJ2Rlc2NyaXB0aW9uJ10uJyInOwoJCX0KCQllbHNlIHsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9kaW1hZ2UnLCAnKm5vbmUnKTsKCQl9CgoJfQoKCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoKCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoKCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdwcm9kdWN0cycsICRlbnRyeWFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYWJsZV9wcm9kdWN0X2NvdW50JywgJHRoaXMtPkxhbmcoJ3RleHRwcm9kdWN0Y291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpKTsKCi8vIFN0YXRlIHRoZSBjdXJyZW5jeSBzeW1ib2wgYW5kIHRoYXQgcHJpY2VzIGFyZSBpbi9leCBWQVQvVEFYCiRpbmV4dmF0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ByaWNlc2luY2x2YXQnKTsKaWYgKCAkaW5leHZhdCAhPSAnJyApIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignY3VycmVuY3knLCAkdGhpcy0+TGFuZygncHJpY2VzaW5jdXJpbnZhdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY3VycmVuY3knKSkpOwp9CmVsc2UgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeScsICR0aGlzLT5MYW5nKCdwcmljZXNpbmN1cmV4dmF0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScpKSk7Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXJfc3ltYm9sJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJykpOwoKLy8gRGlzcGxheSB0ZW1wbGF0ZQokdGVtcGxhdGUgPSAncHJvZGZlYXRfdGVtcGxhdGUnOwovLyBDdXJyZW50bHkgb25seSBvbmUgdGVtcGxhdGUgYXZhaWxhYmxlLCBzbyBuZXh0IGxpbmVzIHdpbGwgbm90IHBlcmZvcm0gYW55dGhpbmcKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2RmZWF0dGVtcGxhdGUnXSkpIHsKCSR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3Byb2RmZWF0dGVtcGxhdGUnXTsKfQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.fe_product_detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRnQ21zID0gY21zbXMoKTsgaWYoICFpc19vYmplY3QoJGdDbXMpICkgZXhpdDsKCiRkZXRhaWxwYWdlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQp7CgkkbWFuYWdlciA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgl7CgkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsKCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQoJCXsKCQkJJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCQl9Cgl9CgllbHNlCgl7CgkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJCWlmIChpc3NldCgkbm9kZSkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCQl9Cgl9Cn0KCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKJHBhdGhjYXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX2NhdGVnb3J5Jyk7CiRwYXRocHJvZHVjdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcpOwovLyBQcmVwYXJlIHNldHRpbmdzIGZvciB1c2FnZSBvZiBjYXJ0CiRjYXJ0TVNJbnN0YWxsZWQgPSBmYWxzZTsKJG1vZHVsZW5hbWUgPSAnQ2FydE1hZGVTaW1wbGUnOwoKJGNtc21vZHVsZXMgPSAkZ0Ntcy0+bW9kdWxlczsKaWYgKGlzc2V0KCRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXSkpCnsKCWlmIChpc3NldCgkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ29iamVjdCddKQoJCSYmICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnaW5zdGFsbGVkJ10gPT0gdHJ1ZQoJCSYmICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnYWN0aXZlJ10gPT0gdHJ1ZSApIHsKCQkkY2FydE1TSW5zdGFsbGVkID0gdHJ1ZTsKCX0KfQoKLy8gU2F2ZSB0aGUgcHJvZHVjdCBpZCBmb3IgY29ycmVjdCB1c2FnZSB0aHJvdWdob3V0IGFsbCBxdWVyaWVzCiRwcm9kdWN0X2lkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydwcm9kdWN0X2lkJ10pKSAkcHJvZHVjdF9pZCA9ICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXTsKJGNhdGVnb3J5X2lkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSkgJGNhdGVnb3J5X2lkID0gJHBhcmFtc1snY2F0ZWdvcnlfaWQnXTsKCi8vIERpc3BsYXkgaW5mb3JtYXRpb24gb2YgdGhlIHByb2R1Y3QKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMgV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwokcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcHJvZHVjdF9pZCkpOwoKaWYgKCRyb3cpCnsKCSRwcm9kdWN0cHJpY2UgPSAkcm93WydwcmljZSddOwoJJHF1YW50aXR5b25zdG9jayA9ICRyb3dbJ21heGF0dHJpYnV0ZXMnXTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaWQnLCAkcHJvZHVjdF9pZCk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3RuYW1lJywgJHJvd1snbmFtZSddKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb24nLCAkcm93WydkZXNjcmlwdGlvbiddKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJpY2UnLCAkcm93WydwcmljZSddKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc2t1JywgJHJvd1snc2t1J10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtbnVtYmVyJywgJHJvd1snaXRlbW51bWJlciddKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbmV0d2VpZ2h0JywgJHJvd1snbmV0d2VpZ2h0J10pOwoJLy8gR2V0IHRoZSBmaXJzdCBwaWN0dXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2R1Y3QgZm91bmQKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIFdIRVJFIHByb2R1Y3RfaWQgPSA/IjsKCSRwaWN0dXJlID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcHJvZHVjdF9pZCkpOwoJaWYgKCRwaWN0dXJlKQoJewoJCWlmIChpc3NldCgkcGljdHVyZVsnaW1hZ2UnXSkgJiYgJHBpY3R1cmVbJ2ltYWdlJ10gIT0gJ25vX2ltYWdlLmpwZycpIHsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9kaW1hZ2UnLCAkcGF0aHByb2R1Y3QuJHBpY3R1cmVbJ2ltYWdlJ10pOwoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ltYWdlZGVzYycsICRyb3dbJ2Rlc2NyaXB0aW9uJ10pOwoJCX0KCQllbHNlIHsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9kaW1hZ2UnLCAnKm5vbmUnKTsKCQl9Cgl9CgkvLyBXaGVuIHRoZSB7aW1hZ2V9IHRhZyBvZiBzbWFydHkgaXMgbm90IGluIHVzZSwgdGhlIGNvbXBsZXRlIHBhdGggbXVzdCBiZSBwYXNzZWQKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncGltYWdlJywgJGNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLid1cGxvYWRzJy4KCQlESVJFQ1RPUllfU0VQQVJBVE9SLidpbWFnZXMnLiRwYXRocHJvZHVjdC4kcGljdHVyZVsnaW1hZ2UnXSk7CgkvLyBCdWlsZCBhcnJheSB0aGF0IGhvbGRzIHRoZSBpbWFnZXMgY29ubmVjdGVkIHRvIHRoZSBwcm9kdWN0CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcHJvZHVjdF9pZCkpOwoJJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCQlpZiAoaXNzZXQoJHBpY3R1cmVbJ2ltYWdlJ10pICYmICRwaWN0dXJlWydpbWFnZSddICE9ICdub19pbWFnZS5qcGcnKSB7CgkJCSRvbmVyb3ctPmltYWdlID0gJHBhdGhwcm9kdWN0LiRyb3dbJ2ltYWdlJ107CgkJCSRvbmVyb3ctPmltYWdldGh1bWIgPSAkcGF0aHByb2R1Y3QuJ3RuXycuJHJvd1snaW1hZ2UnXTsKCQkJJG9uZXJvdy0+aW1hZ2VkZXNjID0gJHJvd1snZGVzY3JpcHRpb24nXTsKCQkJJG9uZXJvdy0+ZnVsbHBhdGhpbWFnZSA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4ndXBsb2FkcycuCgkJCQlESVJFQ1RPUllfU0VQQVJBVE9SLidpbWFnZXMnLiRwYXRocHJvZHVjdC4kcm93WydpbWFnZSddOwoJCX0KCgkJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCS8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gZG9uJ3Qgc2hvdyBhbnkgYWRkIHRvIGNhcnQgb3B0aW9uCgkkb25zdG9jayA9ICdObyc7CgkkaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CglpZiAoJGludmVudG9yeXR5cGUgPT0gJ3Byb2QnICYmICRxdWFudGl0eW9uc3RvY2sgPiAwIHx8ICRpbnZlbnRvcnl0eXBlID09ICdub25lJykgewoJCSRvbnN0b2NrID0gJ1llcyc7Cgl9CglpZiAoJG9uc3RvY2sgPT0gJ1llcycpIHsKCQkvLyBCdWlsZCBsaW5rIHRvIGNhcnQKCQlpZiAoJGNhcnRNU0luc3RhbGxlZCkgewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZHByb2R1Y3QnLCAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ29iamVjdCddLT5DcmVhdGVMaW5rKCAkaWQsICdjYXJ0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkdG9jYXJ0JyksIAoJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLAoJCQkJCSdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5X2lkLAoJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdF9pZCwKCQkJCQkncXR5JyA9PiAxLAoJCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCSkpKTsKCQkJJGltYWdlc3JjID0gJHRoaXMtPkltYWdlQWRkVG9DYXJ0U291cmNlKCk7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkcHJvZHVjdGltYWdlJywgJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXS0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsIAoJCQkJJHJldHVybmlkLCAnPGltZyBzcmM9IicuJGltYWdlc3JjLiciIGFsdD0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyIgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciPicsIAoJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLAoJCQkJCSdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5X2lkLAoJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdF9pZCwKCQkJCQkncXR5JyA9PiAxLAoJCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCSkpKTsKCQl9Cgl9CgoJJHByb2R1Y3RfZGF0YSA9ICR0aGlzLT5wcm9kdWN0cy0+R2V0KCRwcm9kdWN0X2lkKTsKCSRhdHRyaWJ1dGUgPSBhcnJheSgpOwoJJGF0dHJpYnV0ZXMgPSBhcnJheSgpOwoJLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBhdHRyaWJ1dGVzIGZvciB0aGUgY3VycmVudCBwcm9kdWN0LiBJZiBub3QgY2hlY2tlZCwgdGhlIGZvcmVhY2ggcnVucyBpbnRvIGFuIGVycm9yCgkkYXR0cmlidXRlc1snaXRlbWNvdW50J10gPSBjb3VudCgkcHJvZHVjdF9kYXRhWydhdHRyaWJ1dGVzJ10pOwoJaWYgKCRhdHRyaWJ1dGVzWydpdGVtY291bnQnXSA+IDApIHsKCQlmb3JlYWNoICgkcHJvZHVjdF9kYXRhWydhdHRyaWJ1dGVzJ10gYXMgJGF0dHJpYnV0ZSkgewoJCQlpZiAoJGF0dHJpYnV0ZVsnYWN0aXZlJ10pIHsKCQkJCSRhdHRyaWJ1dGVbJ25hbWUnXSA9ICRhdHRyaWJ1dGVbJ25hbWUnXTsKCQkJCSRhdHRyaWJ1dGVbJ2Rlc2NyaXB0aW9uJ10gPSAkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddOwoJCQkJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyBkb24ndCBzaG93IGFueSBhZGQgdG8gY2FydCBvcHRpb24KCQkJCSRhdHRyaWJ1dGVbJ29uc3RvY2snXSA9IHRydWU7CgkJCQkkaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CgkJCQlpZiAoKCRpbnZlbnRvcnl0eXBlID09ICdhdHRyJyAmJiAkYXR0cmlidXRlWydtYXhhbGxvd2VkJ10gPiAwKQoJCQkJCXx8ICRvbnN0b2NrID09ICdZZXMnKSB7CgkJCQkJJGF0dHJpYnV0ZVsncHJpY2UnXSA9ICcnOwoJCQkJCSRwcmljZSA9ICR0aGlzLT5DYWxjdWxhdGVBdHRyaWJ1dGVQcmljZSgkcHJvZHVjdHByaWNlLCAkYXR0cmlidXRlWydwcmljZWFkanVzdHR5cGUnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J10pOwoJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByaWNlKTsKCQkJCQlpZiAoISRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10pIHsKCQkJCQkJLy8gQnVpbGQgbGluayB0byBjYXJ0CgkJCQkJCWlmICgkY2FydE1TSW5zdGFsbGVkKSB7CgkJCQkJCQkkYXR0cmlidXRlWydhZGRhdHRyaWJ1dGUnXSA9ICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUxpbmsoICRpZCwgCgkJCQkJCQkJJ2NhcnQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKSwgYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCQkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywgJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsCgkJCQkJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdF9pZCwgJ2F0dHJpYnV0ZV9pZCcgPT4gJGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10sIAoJCQkJCQkJCQkncXR5JyA9PiAxLCAncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkJCQkJKSk7CgkJCQkJCQkkaW1hZ2VzcmMgPSAkdGhpcy0+SW1hZ2VBZGRUb0NhcnRTb3VyY2UoKTsKCQkJCQkJCSRhdHRyaWJ1dGVbJ2FkZGF0dHJpYnV0ZWltYWdlJ10gPSAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ29iamVjdCddLT5DcmVhdGVMaW5rKCAkaWQsICdjYXJ0JywgCgkJCQkJCQkJJHJldHVybmlkLCAnPGltZyBzcmM9IicuJGltYWdlc3JjLiciIGFsdD0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyIgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciPicsIAoJCQkJCQkJCWFycmF5ICgnbmFtZSc9PiRyb3dbJ25hbWUnXSwKCQkJCQkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsICdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5X2lkLAoJCQkJCQkJCQkncHJvZHVjdF9pZCcgPT4gJHByb2R1Y3RfaWQsICdhdHRyaWJ1dGVfaWQnID0+ICRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLCAKCQkJCQkJCQkJJ3F0eScgPT4gMSwgJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkJCQkJCSkpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJJGF0dHJpYnV0ZVsncHJpY2UnXSA9ICR0aGlzLT5MYW5nKCdwcm9kdWN0c29sZG91dCcpOwoJCQkJCSRhdHRyaWJ1dGVbJ29uc3RvY2snXSA9IGZhbHNlOwoJCQkJCSRhdHRyaWJ1dGVbJ2FkZGF0dHJpYnV0ZSddID0gJyc7CgkJCQl9CgkJCQkkcHJvZHVjdF9hdHRyaWJ1dGVzX2xpc3RbXSA9ICRhdHRyaWJ1dGU7CgkJCX0KCQl9CgkJJGF0dHJpYnV0ZXNbJ2xpc3QnXSA9ICRwcm9kdWN0X2F0dHJpYnV0ZXNfbGlzdDsKCQkvLyBOb3cgYWxsIHRoZSBhdHRyaWJ1dGVzIGFyZSBmb3VuZCwgY29ubmVjdCB0aGVtIGZvciB0aGUgZnJvbnQgZW5kCgkJJGF0dHJpYnV0ZXNbJ25hbWVjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX25hbWUnKTsKCQkkYXR0cmlidXRlc1snZGVzY3JpcHRpb25jb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2Rlc2NyaXB0aW9uJyk7CgkJJGF0dHJpYnV0ZXNbJ3ByaWNlY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9wcmljZScpOwoJCSRhdHRyaWJ1dGVzWydhZGRhdHRyaWJ1dGVjb2x1bW4nXSA9ICcnOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2F0dHJpYnV0ZXMnLCAkYXR0cmlidXRlcyk7CgoJfQp9CgokY3VyX3N5bWJvbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N5bWJvbCcpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cl9zeW1ib2wnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnKSk7CgovLyBEaXNwbGF5IHRlbXBsYXRlCiR0ZW1wbGF0ZSA9ICdwcm9kZGV0YWlsX3RlbXBsYXRlJzsKLy8gQ3VycmVudGx5IG9ubHkgb25lIHRlbXBsYXRlIGF2YWlsYWJsZSwgc28gbmV4dCBsaW5lcyB3aWxsIG5vdCBwZXJmb3JtIGFueXRoaW5nCmlmIChpc3NldCgkcGFyYW1zWydwcm9kZGV0YWlsdGVtcGxhdGUnXSkpIHsKCSR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3Byb2RkZXRhaWx0ZW1wbGF0ZSddOwp9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.fe_product_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKLy8gUHJlcGFyZSBzZXR0aW5ncyBmb3IgdXNhZ2Ugb2YgY2FydAokZ0NtcyA9IGNtc21zKCk7CiRDYXJ0TVMgPSAkZ0Ntcy0+bW9kdWxlc1snQ2FydE1hZGVTaW1wbGUnXVsnb2JqZWN0J107CgokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwokcGF0aGNhdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfY2F0ZWdvcnknKTsKJHBhdGhwcm9kdWN0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0Jyk7CgovLyBEaXNwbGF5IGluZm9ybWF0aW9uIG9mIHRoZSBjYXRlZ29yeQokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBBTkQgYWN0aXZlID0gMSI7CiRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKaWYgKCRyb3cpCnsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaWQnLCAkcm93WydjYXRlZ29yeV9pZCddKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignY2F0ZWdvcnluYW1lJywgJHJvd1snbmFtZSddKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb24nLCAkcm93WydkZXNjcmlwdGlvbiddKTsKCWlmIChpc3NldCgkcm93WydpbWFnZSddKSAmJiAkcm93WydpbWFnZSddICE9ICdub19pbWFnZS5qcGcnICYmICRyb3dbJ2ltYWdlJ10gIT0gJycpIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ltYWdlJywgJHBhdGhjYXQuJHJvd1snaW1hZ2UnXS4nIiBhbHQ9IicuJHJvd1snaW1hZ2UnXS4nIicpOwoJfQoJZWxzZSB7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbWFnZScsICcqbm9uZScpOwoJfQp9CgovLyBEaXNwbGF5IGluZm9ybWF0aW9uIG9mIHRoZSBjb25uZWN0ZWQgcHJvZHVjdHMKJHF1ZXJ5ID0gJ1NFTEVDVCBwLm5hbWUgQVMgcHJvZG5hbWUsIHAucHJvZHVjdF9pZCwgcC5kZXNjcmlwdGlvbiBBUyBwcm9kZGVzYywgCglwLnByaWNlIEFTIHByaWNlLCBwLm1heGF0dHJpYnV0ZXMgRlJPTSAnCgkuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgYyBMRUZUIE9VVEVSIEpPSU4gJwoJLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBwIE9OIGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCAKCVdIRVJFIGMuY2F0ZWdvcnlfaWQgPSA/IEFORCBwLmFjdGl2ZSA9IDEKCU9SREVSIEJZIHAucG9zaXRpb24nOwokcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBGUk9NICcKCS5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSBjIExFRlQgT1VURVIgSk9JTiAnCgkuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIHAgT04gYy5wcm9kdWN0X2lkID0gcC5wcm9kdWN0X2lkIAoJV0hFUkUgYy5jYXRlZ29yeV9pZCA9ID8gQU5EIHAuYWN0aXZlID0gMSc7CgovLyBTZXQgdGhlIHBhZ2UgaHlwZXJsaW5rcyBpZiBuZWVkZWQKJHBhZ2VsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgMTAwMDAwKTsKCmlmIChpc3NldCgkcGFyYW1zWydwcm9kcGFnZWxpbWl0J10pKSB7CgkkcGFnZWxpbWl0ID0gaW50dmFsKCRwYXJhbXNbJ3Byb2RwYWdlbGltaXQnXSk7Cn0KCQkKLy8gR2V0IHRoZSBudW1iZXIgb2Ygcm93cyAoc28gd2UgY2FuIGRldGVybWluZSB0aGUgbnVtZXIgb2YgcGFnZXMpCiRwYWdlY291bnQgPSAtMTsKJHN0YXJ0ZWxlbWVudCA9IDA7CiRwYWdlbnVtYmVyID0gMTsKLy8gR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgdGhhdCBtYXRjaCB0aGUgcXVlcnkKLy8gYW5kIGRldGVybWluZSBhIG51bWJlciBvZiBwYWdlcwokcm93MiA9ICRkYi0+R2V0Um93KCRxdWVyeTIsIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKJGNvdW50ID0gaW50dmFsKCRyb3cyWydjb3VudCgqKSddKTsKCmlmIChpc3NldCggJHBhcmFtc1snc3RhcnQnXSApICkKewoJJGNvdW50IC09IChpbnQpJHBhcmFtc1snc3RhcnQnXTsKfQokcGFnZWNvdW50ID0gKGludCkoJGNvdW50IC8gJHBhZ2VsaW1pdCk7CmlmICggKCRjb3VudCAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7CgppZiAoaXNzZXQoICRwYXJhbXNbJ3BhZ2VudW1iZXInXSApICYmICRwYXJhbXNbJ3BhZ2VudW1iZXInXSAhPSAnJyApCnsKCS8vIElmIGdpdmVuIGEgcGFnZSBudW1iZXIsIGRldGVybWluZSBhIHN0YXJ0IGVsZW1lbnQKCSRwYWdlbnVtYmVyID0gKGludCkkcGFyYW1zWydwYWdlbnVtYmVyJ107Cgkkc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJHBhZ2VsaW1pdDsKfQppZiAoaXNzZXQoICRwYXJhbXNbJ3N0YXJ0J10gKSApCnsKCS8vIEdpdmVuIGEgc3RhcnQgZWxlbWVudCwgZGV0ZXJtaW5lIGEgcGFnZSBudW1iZXIKCSRzdGFydGVsZW1lbnQgPSAkc3RhcnRlbGVtZW50ICsgKGludCkkcGFyYW1zWydzdGFydCddOwp9CmlmICgkc3RhcnRlbGVtZW50ID09ICRwYWdlbGltaXQpIHsKCS8vIFRoaXMgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBsZXNzIHJlc3VsdHMgdGhlbiBvbmUgcGFnZS4gUmVzZXQgdG8gc3RhcnRpbmcgcG9zaXRpb24uCgkjJHN0YXJ0ZWxlbWVudCA9IDA7Cn0KLy8gQXNzaWduIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5CmlmICggJHBhZ2VudW1iZXIgPT0gMSApIHsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCR0aGlzLT5MYW5nKCdwcmV2cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywkdGhpcy0+TGFuZygnZmlyc3RwYWdlJykpOwp9IGVsc2UgewoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXItMTsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZmVfcHJvZHVjdF9saXN0JywgJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJyksICRwYXJhbXMpKTsKCSRwYXJhbXNbJ3BhZ2VudW1iZXInXSA9IDE7Cgkkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdmZV9wcm9kdWN0X2xpc3QnLCAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJyksICRwYXJhbXMpKTsKfQogICAKaWYgKCAkcGFnZW51bWJlciA+PSAkcGFnZWNvdW50ICkgewoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsJHRoaXMtPkxhbmcoJ25leHRwYWdlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJykpOwp9IGVsc2UgewoJLy8gTWFrZSBzdXJlIG5leHQgcGFnZSBpcyBzZWxlY3RlZCAoYWxzbyBpZiBvbmUgcHJvZHVjdCBwZXIgcGFnZSkgKEJ1ZyM6IDM4ODcpCgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlcisxOwoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdmZV9wcm9kdWN0X2xpc3QnLCAkdGhpcy0+TGFuZygnbmV4dHBhZ2UnKSwgJHBhcmFtcykpOwoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2Vjb3VudDsKCSRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZmVfcHJvZHVjdF9saXN0JywgJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJyksICRwYXJhbXMpKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywgJHBhZ2VudW1iZXIpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsICRwYWdlY291bnQpOwokc21hcnR5LT5hc3NpZ24oJ29mdGV4dCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfb2YnKSk7CiRzbWFydHktPmFzc2lnbigncGFnZXRleHQnLCAkdGhpcy0+TGFuZygncHJvbXB0X3BhZ2UnKSk7CgokZGJyZXN1bHQgPSAnJzsKaWYgKCAkcGFnZWxpbWl0IDwgMTAwMDAwIHx8ICRzdGFydGVsZW1lbnQgPiAwICkKewoJJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCggJHF1ZXJ5LCAkcGFnZWxpbWl0LCAkc3RhcnRlbGVtZW50LCBhcnJheSgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7Cn0KZWxzZQp7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7Cn0KCiRyb3djbGFzcyA9ICdyb3cxJzsKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwovLyBSZXRyaWV2ZSB0aGUgdHlwZSBvZiBpbnZlbnRvcnkgdGhhdCBpcyBpbiBwbGFjZQokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7Cgp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCgkkb25lcm93LT5wcm9kaWQgPSAkcm93Wydwcm9kdWN0X2lkJ107CgkkYWxpYXNlZF90aXRsZSA9IG11bmdlX3N0cmluZ190b191cmwoJHJvd1sncHJvZG5hbWUnXSk7IAkKCSRzZW5kdG9kZXRhaWwgPSBhcnJheSgnY2F0ZWdvcnlfaWQnID0+JHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwncHJvZHVjdF9pZCc9PiRyb3dbJ3Byb2R1Y3RfaWQnXSApOwoJCgkkcHJldHR5dXJsID0gJ1Nob3BNYWRlU2ltcGxlL3Byb2QvJy4kcGFyYW1zWydjYXRlZ29yeV9pZCddLicvJy4kcm93Wydwcm9kdWN0X2lkJ10uJy8nLgoJCSgkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkKS4nLycuJGFsaWFzZWRfdGl0bGU7CglpZiAoaXNzZXQoJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXSkpIHsKCQkkcHJldHR5dXJsIC49ICcvZCwnIC4gJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXTsKCX0KCSRvbmVyb3ctPnByb2RuYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZmVfcHJvZHVjdF9kZXRhaWwnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAKCQkJJHJvd1sncHJvZG5hbWUnXSwgJHNlbmR0b2RldGFpbCwgJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJLy8gU2hvdyBuYW1lIHdpdGhvdXQgbGluayB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDI5ODYpCgkkb25lcm93LT5wcm9kbmFtZW5vbGluayA9ICRyb3dbJ3Byb2RuYW1lJ107Cgkkb25lcm93LT5wcm9kZGVzYyA9ICRyb3dbJ3Byb2RkZXNjJ107Cgkkb25lcm93LT5wcmljZSA9ICRyb3dbJ3ByaWNlJ107CgkvLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIHNob3cgYWRkIHRvIGNhcnQgb3B0aW9ucwoJaWYgKCRpbnZlbnRvcnl0eXBlID09ICdwcm9kJyAmJiAkcm93WydtYXhhdHRyaWJ1dGVzJ10gPiAwIHx8ICRpbnZlbnRvcnl0eXBlID09J25vbmUnKSB7CgkJJG9uZXJvdy0+YXZhaWxhYmxlc3RvY2sgPSAkcm93WydtYXhhdHRyaWJ1dGVzJ107CgkJLy8gQnVpbGQgbGluayB0byBjYXJ0CgkJaWYgKCRDYXJ0TVMpIHsKCQkJLy8gUHJlcGFyZSBhIGh5cGVybGluayB0byBhZGQgdGhlIHByb2R1Y3QgdG8gdGhlIGNhcnQKCQkJJGxpbmtuYW1lID0gJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpOwoJCQkkb25lcm93LT5hZGRwcm9kdWN0ID0gJENhcnRNUy0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsICRyZXR1cm5pZCwgJGxpbmtuYW1lLCAKCQkJCWFycmF5ICgnbmFtZSc9PiRyb3dbJ25hbWUnXSwKCQkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywKCQkJCQknY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10sCgkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRyb3dbJ3Byb2R1Y3RfaWQnXSwKCQkJCQkncXR5JyA9PiAxLAoJCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCSkpOwoJCQkvLyBQcmVwYXJlIGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkKCQkJJGltYWdlc3JjID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3VybCddLCAnbW9kdWxlcycsICR0aGlzLT5HZXROYW1lKCksCgkJCQknaW1hZ2VzJywgJ2FkZHRvY2FydC5naWYnKTsKCQkJJG9uZXJvdy0+YWRkcHJvZHVjdGltYWdlID0gJENhcnRNUy0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsIAoJCQkJJHJldHVybmlkLCAnPGltZyBzcmM9IicuJGltYWdlc3JjLiciIGFsdD0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyIgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciPicsIAoJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLAoJCQkJCSdjYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwKCQkJCQkncHJvZHVjdF9pZCcgPT4gJHJvd1sncHJvZHVjdF9pZCddLAoJCQkJCSdxdHknID0+IDEsCgkJCQkJJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkJKSk7CgkJfQoJCSRvbmVyb3ctPm9uc3RvY2sgPSB0cnVlOwoJfQoJZWxzZSB7CgkJJG9uZXJvdy0+b25zdG9jayA9IGZhbHNlOwoJCS8vICRvbmVyb3ctPnByaWNlID0gJHRoaXMtPkxhbmcoJ3Byb2R1Y3Rzb2xkb3V0Jyk7Cgl9CgoJLy8gR2V0IHRoZSBmaXJzdCBwaWN0dXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2R1Y3QgZm91bmQKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCSRwaWN0dXJlID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcm93Wydwcm9kdWN0X2lkJ10pKTsKCWlmICgkcGljdHVyZSkKCXsKCQlpZiAoaXNzZXQoJHBpY3R1cmVbJ2ltYWdlJ10pICYmICRwaWN0dXJlWydpbWFnZSddICE9ICdub19pbWFnZS5qcGcnJiYgJHBpY3R1cmVbJ2ltYWdlJ10gIT0gJycpIHsKCQkJJG9uZXJvdy0+cHJvZGltYWdlID0gJHBhdGhwcm9kdWN0Lid0bl8nLiRwaWN0dXJlWydpbWFnZSddOwoJCQkvLyBGb3IgZmVhdHVyZSByZXF1ZXN0IyAzMDgzOiBwcmVwYXJlIGFsc28gYSBsaW5rIGZyb20gaW1hZ2UgdG8gZGV0YWlsCgkJCSRvbmVyb3ctPnByb2RpbWFnZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdmZV9wcm9kdWN0X2RldGFpbCcsIAoJCQkJJHJldHVybmlkLCAnPGltZyBzcmM9XCcnLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy91cGxvYWRzL2ltYWdlcycuJHBhdGhwcm9kdWN0Lid0bl8nLiRwaWN0dXJlWydpbWFnZSddIC4KCQkJCSdcJyB0aXRsZT1cJycuJHBpY3R1cmVbJ2Rlc2NyaXB0aW9uJ10uJ1wnID4nLCBhcnJheSgncHJvZHVjdF9pZCc9PiRyb3dbJ3Byb2R1Y3RfaWQnXSkpOwoJCX0KCQllbHNlIHsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9kaW1hZ2UnLCAnKm5vbmUnKTsKCQl9Cgl9CgkKCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoKCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoKCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdwcm9kdWN0cycsICRlbnRyeWFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYWJsZV9wcm9kdWN0X2NvdW50JywgJHRoaXMtPkxhbmcoJ3RleHRwcm9kdWN0Y291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpKTsKCi8vIFN0YXRlIHRoZSBjdXJyZW5jeSBzeW1ib2wgYW5kIHRoYXQgcHJpY2VzIGFyZSBpbi9leCBWQVQvVEFYCiRpbmV4dmF0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ByaWNlc2luY2x2YXQnKTsKaWYgKCAkaW5leHZhdCAhPSAnJyApIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignY3VycmVuY3knLCAkdGhpcy0+TGFuZygncHJpY2VzaW5jdXJpbnZhdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY3VycmVuY3knKSkpOwp9CmVsc2UgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeScsICR0aGlzLT5MYW5nKCdwcmljZXNpbmN1cmV4dmF0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScpKSk7Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXJfc3ltYm9sJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJykpOwoKLy8gRGlzcGxheSB0ZW1wbGF0ZQokdGVtcGxhdGUgPSAnY2F0bGlzdF90ZW1wbGF0ZSc7Ci8vIEN1cnJlbnRseSBvbmx5IG9uZSB0ZW1wbGF0ZSBhdmFpbGFibGUsIHNvIG5leHQgbGluZXMgd2lsbCBub3QgcGVyZm9ybSBhbnl0aGluZwppZiAoaXNzZXQoJHBhcmFtc1snY2F0bGlzdHRlbXBsYXRlJ10pKSB7CgkkdGVtcGxhdGUgPSAkcGFyYW1zWydjYXRsaXN0dGVtcGxhdGUnXTsKfQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.preferences_update.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIFJlaW5kZXhpbmcgcmVxdWVzdGVkIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGUgU2VhcmNoIE1vZHVsZQppZiAoaXNzZXQoJHBhcmFtc1snc2VhcmNocmVpbmRleCddKSkKewoJJHRoaXMtPlNlYXJjaFJlaW5kZXgoKTsKCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygncHJvZHVjdHNyZWluZGV4ZWQnKSk7CgkkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3Byb2R1Y3RzcmVpbmRleGVkJyk7CgkkcGFyYW1zWydhY3RpdmVfdGFiJ10gPSAncHJlZmVyZW5jZXMnOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQoKLy8gUmVidWlsZCB0aGUgdGh1bWJuYWlscwppZiAoaXNzZXQoJHBhcmFtc1sncmVidWlsZHByb2R1Y3R0aHVtYm5haWxzJ10pKQp7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndG5oZWlnaHRfcHJvZHVjdCcsICRwYXJhbXNbJ3RuaGVpZ2h0X3Byb2R1Y3QnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndG53aWR0aF9wcm9kdWN0JywgJHBhcmFtc1sndG53aWR0aF9wcm9kdWN0J10pOwoJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCSRwYXRoID0gJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc19wYXRoJ10uJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0Jyk7CgkkdGhpcy0+UmVidWlsZFRodW1ibmFpbHMoJHBhdGgsICdwcm9kdWN0cycpOwoJJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdwcm9kdWN0dGh1bWJuYWlsc3JlYnVpbGQnKTsKCSRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdwcmVmZXJlbmNlcyc7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgovLyBJbiBvdGhlciBjYXNlcywgdGhlIHByZWZlcmVuY2VzIGFyZSBzYXZlZAokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5fbmFtZScsICRwYXJhbXNbJ2FkbWluX25hbWUnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbl9lbWFpbCcsICRwYXJhbXNbJ2FkbWluX2VtYWlsJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvcF9uYW1lJywgJHBhcmFtc1snc2hvcF9uYW1lJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvcF9waG9uZScsICRwYXJhbXNbJ3Nob3BfcGhvbmUnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzaG9wX29ubGluZScsICRwYXJhbXNbJ3Nob3Bfb25saW5lJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJpY2VzaW5jbHZhdCcsICRwYXJhbXNbJ3ByaWNlc2luY2x2YXQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICRwYXJhbXNbJ3dlaWdodHVuaXRtZWFzdXJlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgJHBhcmFtc1snaXRlbWNhcGl0YWxvbmx5J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9za3UnLCAkcGFyYW1zWydkZWZhdWx0X3NrdSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfY3VycmVuY3knLCAkcGFyYW1zWydkZWZhdWx0X2N1cnJlbmN5J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnLCAkcGFyYW1zWydkZWZhdWx0X3N5bWJvbCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9jYXRlZ29yeScsICRwYXJhbXNbJ2ltYWdlcGF0aF9jYXRlZ29yeSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0JywgJHBhcmFtc1snaW1hZ2VwYXRoX3Byb2R1Y3QnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0bmhlaWdodF9wcm9kdWN0JywgJHBhcmFtc1sndG5oZWlnaHRfcHJvZHVjdCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rud2lkdGhfcHJvZHVjdCcsICRwYXJhbXNbJ3Rud2lkdGhfcHJvZHVjdCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2R1Y3RwYWdlbGltaXQnLCAkcGFyYW1zWydwcm9kdWN0cGFnZWxpbWl0J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9tYXhhdHRyaWJ1dGVzJywgJHBhcmFtc1snZGVmYXVsdF9tYXhhdHRyaWJ1dGVzJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dkb3VibGVpdGVtJywgJHBhcmFtc1snYWxsb3dkb3VibGVpdGVtJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScsICRwYXJhbXNbJ2ludmVudG9yeXR5cGUnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzYWxlc2ludmVudHRpbWluZycsICRwYXJhbXNbJ3NhbGVzaW52ZW50dGltaW5nJ10pOwoKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdwcmVmZXJlbmNlc3VwZGF0ZWQnKSk7CiRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygncHJlZmVyZW5jZXN1cGRhdGVkJyk7CiRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdwcmVmZXJlbmNlcyc7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJJGRvdWJsZWl0ZW0gPSAkdGhpcy0+cHJvZHVjdHMtPkNoZWNrRG91YmxlSXRlbU51bWJlcigkcGFyYW1zWydpdGVtbnVtYmVyJ10sIC0xKTsgCglpZiAoISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2RvdWJsZWl0ZW0nLCAwKSAmJiAkZG91YmxlaXRlbSAhPSBmYWxzZSkgewoJCSRzbWFydHktPmFzc2lnbignbWVzc2FnZScsICR0aGlzLT5MYW5nICgnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSkpOwoJfQoJZWxzZSB7CgkJLy8gVXNlciBwcmVzc2VkIGNvbnRpbnVlIHNvIHNhdmUgdGhlIHByb2R1Y3QgaW5mb3JtYXRpb24gYW5kIGFmdGVyIHRoYXQgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGNhdGVnb3J5CgkJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGUoJHBhcmFtcyk7CgkJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGVDYXRlZ29yeU1hcCgkcGFyYW1zWydjYXRlZ29yeV9pZCddLCAkcGFyYW1zWydwcm9kdWN0X2lkJ10pOwoJCQoJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cgl9Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQoKJHByb2R1Y3QgPSBhcnJheSgpOwokcHJvZHVjdFsnc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2FkZCcsICRyZXR1cm5pZCwgJ3Bvc3QnKTsKJHByb2R1Y3RbJ3N1Ym1pdCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnY29udGludWUnKSk7CiRwcm9kdWN0WydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJHByb2R1Y3RbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgokcHJvZHVjdFsnY3VycmVudF9jYXRlZ29yeV9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnY3VycmVudF9jYXRlZ29yeV9pZCcsICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkKKTsKCiRjYXRlZ29yeWRyb3Bkb3duID0gJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkTGlzdCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICcnLCAwKTsKJHByb2R1Y3RbJ2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2NhdGVnb3J5X2lkJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnY2F0ZWdvcnlfaWQnLCAkY2F0ZWdvcnlkcm9wZG93biwgLTEsIGludHZhbCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pKQopOwoKJHByb2R1Y3RbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbmFtZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbmFtZScsICRwYXJhbXNbJ25hbWUnXSwgNDAsIDI1NSkKKTsKJHByb2R1Y3RbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAnJywgJ2Rlc2NyaXB0aW9uJywgJ3BhZ2VzbWFsbHRleHRhcmVhJywgJycsICcnLCAnJywgNDAsIDQwKQopOwokcHJvZHVjdFsncHJpY2UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfcHJpY2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ByaWNlJywgJycsIDQwLCA0MCkKKTsKJHByb2R1Y3RbJ2FjdGl2ZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9hY3RpdmUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCB0cnVlKQopOwokcHJvZHVjdFsnZmVhdHVyZWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfZmVhdHVyZWQnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdmZWF0dXJlZCcsIHRydWUpCik7CiRwcm9kdWN0WyduZXR3ZWlnaHQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbmV0d2VpZ2h0JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICduZXR3ZWlnaHQnLCAnJywgMTAsIDIwKSwKCSd1bml0Jz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ3dlaWdodHVuaXRtZWFzdXJlJywgJ0tnJykKKTsKLy8gUHJlcGFyZSBsaXN0IG9mIHBvc3NpYmxlIFZBVCBjb2RlcyBhcyBzZXQgdXAgaW4gQ2FydCBNYWRlIFNpbXBsZQokY2FydG1zID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FydE1hZGVTaW1wbGUnKTsKaWYoICRjYXJ0bXMgKSB7IAoJJHZhdGNvZGUgPSAnJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQwbmFtZScsICcnKV0gPSAnMCc7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0MW5hbWUnLCAnJyldID0gJzEnOwoJJGxpc3R2YXRjb2RlWyRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ3ZhdDJuYW1lJywgJycpXSA9ICcyJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQzbmFtZScsICcnKV0gPSAnMyc7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0NG5hbWUnLCAnJyldID0gJzQnOwoJJHByb2R1Y3RbJ3ZhdGNvZGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3ZhdGNvZGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAndmF0Y29kZScsICRsaXN0dmF0Y29kZSwgLTEsICR2YXRjb2RlKQoJKTsKfQplbHNlIHsKCSRwcm9kdWN0Wyd2YXRjb2RlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF92YXRjb2RlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAndmF0Y29kZScsICcnLCAxLCAxKQoJKTsKfQoKJHNrdWRyb3Bkb3duID0gJHRoaXMtPkJ1aWxkTGlzdFNLVSgpOwokcHJvZHVjdFsnc2t1J10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3NrdScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ3NrdScsICRza3Vkcm9wZG93biwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3NrdScsICcnKSkKKTsKCiRwcm9kdWN0WydpdGVtbnVtYmVyJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2l0ZW1udW1iZXInKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2l0ZW1udW1iZXInLCAnJywgMzAsIDMwKQopOwoKJHByb2R1Y3RbJ3Bvc2l0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3Bvc2l0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdwb3NpdGlvbicsICcnLCAxMCwgMTApCik7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CmlmICgkaW52ZW50b3J5dHlwZSA9PSAncHJvZCcpIHsKCSRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygnbGFiZWxfcXVhbnRpdHlfb25zdG9jaycpOwp9CmVsc2UgewoJJGxhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMnKTsKfQokcHJvZHVjdFsnbWF4YXR0cmlidXRlcyddID0gYXJyYXkoCgknbGFiZWwnPT4kbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbWF4YXR0cmlidXRlcycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X21heGF0dHJpYnV0ZXMnLCAxKSwgMTAsIDEwKQopOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0JywgJHByb2R1Y3QpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Byb2R1Y3RfYWRkLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_attributes.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBidXR0b24gYWRkIGF0dHJpYnV0ZSBpcyB1c2VkCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ2FkZGF0dHJpYnV0ZScpKSB7CgkkZXJyb3JmbmQgPSBmYWxzZTsKCSRkb3VibGVpdGVtID0gJHRoaXMtPnByb2R1Y3RzLT5DaGVja0RvdWJsZUl0ZW1OdW1iZXIoJHBhcmFtc1snaXRlbW51bWJlciddLCAtMSk7IAoJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dkb3VibGVpdGVtJywgMCkgJiYgJGRvdWJsZWl0ZW0gIT0gZmFsc2UpIHsKCQkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCWlmICghaXNzZXQoJHBhcmFtc1snbmFtZSddKSB8fCAgJHBhcmFtc1snbmFtZSddID09ICcnKSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ21lc3NhZ2Vfbm9hdHRyaWJ1dGVuYW1lZ2l2ZW4nKTsKCQkkZXJyb3JmbmQgPSB0cnVlOwoJfQoKCWlmICghJGVycm9yZm5kKSB7CgkJLy8gTm93IHRoYXQgYWxsIGluZm8gaXMga25vd24sIGluc2VydCBhIHJlY29yZCBpbiB0aGUgYXR0cmlidXRlcyBkYXRhYmFzZQoJCSR0aGlzLT5wcm9kdWN0cy0+Q3JlYXRlQXR0cmlidXRlKCRwYXJhbXMpOwoJCS8vIFByZXBhcmUgYSBtZXNzYWdlIHRvIGJlIHNob3duIG9uIHRvcCBvZiB0aGUgYXR0cmlidXRlcyBvdmVydmlldwoJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9hdHRyaWJ1dGVhZGRlZCcsJHBhcmFtc1snbmFtZSddKTsKCX0KfQplbHNlIHsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9ub2F0dHJpYnV0ZXRvc2F2ZScpOwp9Ci8vIFJlZGlyZWN0IGJhY2sgdG8gYXR0cmlidXRlcywgc28gd2UgY2FuIHNlZSB0aGUgcmVzdWx0CiRwYXJhbXMgPSBhcnJheSgncHJvZHVjdF9pZCcgPT4gJHBhcmFtc1sncHJvZHVjdF9pZCddLAoJCQknYWN0aXZlX3RhYicgPT4gJ2F0dHJpYnV0ZXMnLAoJCQknbWVzc2FnZScgPT4gJHBhcmFtc1snbWVzc2FnZSddCgkJKTsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsJCgoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSAmJiAkcGFyYW1zWydjYW5jZWwnXSA9PSAkdGhpcy0+TGFuZygnY2FuY2VsJykpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.product_attribute_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBpY29uIGRlbGV0ZSBhdHRyaWJ1dGUgaXMgdXNlZAoKJHRoaXMtPnByb2R1Y3RzLT5EZWxldGVBdHRyaWJ1dGUoJHBhcmFtcyk7CiRwYXJhbXMgPSBhcnJheSgKCS8vIFByb2R1Y3QgaWQsIGFsd2F5cyBoYW5keSB0byBwYXNzLiBJbiB0aGlzIGNhc2UgbmVlZGVkIHRvIGdldCBhbGwgdGhlIGNvbm5lY3RlZCBpbmZvcm1hdGlvbgoJJ3Byb2R1Y3RfaWQnID0+ICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSwKCS8vIFByZXBhcmUgYSBtZXNzYWdlIHRvIGJlIHNob3duIG9uIHRvcCBvZiB0aGUgaW1hZ2VzIG92ZXJ2aWV3CgknbWVzc2FnZScgPT4gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2F0dHJpYnV0ZWRlbGV0ZWQnLCRwYXJhbXNbJ25hbWUnXSksCgkvLyBSZWRpcmVjdCBiYWNrIHRvIGltYWdlcywgc28gd2UgY2FuIHNlZSB0aGUgcmVzdWx0CgknYWN0aXZlX3RhYicgPT4gJ2F0dHJpYnV0ZXMnCQoJKTsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsJCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.product_attribute_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGFsbG93cyB0aGUgdXNlciB0byBjaGFuZ2UgYXR0cmlidXRlIGluZm9ybWF0aW9uCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgJiYgJHBhcmFtc1snY2FuY2VsJ10gPT0gJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSB7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwkKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnc3VibWl0JykpIHsKCSRlcnJvcmZuZCA9IGZhbHNlOwoJJGRvdWJsZWl0ZW0gPSAkdGhpcy0+cHJvZHVjdHMtPkNoZWNrRG91YmxlSXRlbU51bWJlcigkcGFyYW1zWydpdGVtbnVtYmVyJ10sICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKTsgCglpZiAoISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2RvdWJsZWl0ZW0nLCAwKSAmJiAkZG91YmxlaXRlbSAhPSBmYWxzZSkgewoJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCWlmICghaXNzZXQoJHBhcmFtc1snbmFtZSddKSB8fCAgJHBhcmFtc1snbmFtZSddID09ICcnKSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX25vYXR0cmlidXRlbmFtZWdpdmVuJyk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCglpZiAoISRlcnJvcmZuZCkgewoJCSR0aGlzLT5wcm9kdWN0cy0+VXBkYXRlQXR0cmlidXRlKCRwYXJhbXMpOwoJfQoJJHBhcmFtcyBbJ2FjdGl2ZV90YWInXSA9ICdhdHRyaWJ1dGVzJzsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CQp9CmVsc2UgewoJLy8gUmV0cmlldmUgaW5mb3JtYXRpb24gZm9yIHBhc3NlZCBhdHRyaWJ1dGUgaWQuIEFycmF5IHdpbGwgaG9sZCBpbmZvcm1hdGlvbiBhZnRlcndhcmRzCglpZiAoaXNzZXQoJHBhcmFtc1snYXR0cmlidXRlX2lkJ10pKSB7CgkJJHByb2R1Y3RfYXR0cmlidXRlX2RhdGEgPSAkdGhpcy0+cHJvZHVjdHMtPkdldEF0dHJpYnV0ZSgkcGFyYW1zWydhdHRyaWJ1dGVfaWQnXSk7Cgl9Cn0KLy8gUHJlcGFyZSBuZXh0IHNjcmVlbiBpbmZvcm1hdGlvbgokYXR0cmlidXRlID0gYXJyYXkoKTsKJGF0dHJpYnV0ZVsnc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2F0dHJpYnV0ZV9lZGl0JywgJHJldHVybmlkLCAncG9zdCcsICcnKTsKJGF0dHJpYnV0ZVsnc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSk7CiRhdHRyaWJ1dGVbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokYXR0cmlidXRlWydlbmRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJGF0dHJpYnV0ZVsncHJvZG5hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9wcm9kdWN0X25hbWUnKSwKCSdvdXRwdXQnPT4kcGFyYW1zWydwcm9kbmFtZSddCik7CiRhdHRyaWJ1dGVbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJyA9PiAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9uYW1lJyksCgknaW5wdXQnID0+ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsnbmFtZSddLCA0MCwgNDApCik7CiRhdHRyaWJ1dGVbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRwcm9kdWN0X2F0dHJpYnV0ZV9kYXRhWydkZXNjcmlwdGlvbiddLCAnZGVzY3JpcHRpb24nLCdwYWdlc21hbGx0ZXh0YXJlYScsJycsJycsJycsNDAsNDApCik7CiRhdHRyaWJ1dGVbJ21pbmFsbG93ZWQnXSA9IGFycmF5KAoJJ2xhYmVsJyA9PiAkdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX21pbmFsbG93ZWQnKSwKCSdpbnB1dCcgPT4gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbWluYWxsb3dlZCcsICRwcm9kdWN0X2F0dHJpYnV0ZV9kYXRhWydtaW5hbGxvd2VkJ10sIDUsIDUpCik7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CmlmICgkaW52ZW50b3J5dHlwZSA9PSAnYXR0cicpIHsKCSRsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCA9ICR0aGlzLT5MYW5nKCdsYWJlbF9xdWFudGl0eV9vbnN0b2NrJyk7Cn0KZWxzZSB7CgkkbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQgPSAkdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQnKTsKfQokYXR0cmlidXRlWydtYXhhbGxvd2VkJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJGxhYmVsX2F0dHJpYnV0ZV9tYXhhbGxvd2VkLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhbGxvd2VkJywgJHByb2R1Y3RfYXR0cmlidXRlX2RhdGFbJ21heGFsbG93ZWQnXSwgNSwgNSkKKTsKCi8vIFByZXBhcmUgdGhlIHZhcmlvdXMgcHJpY2luZyBhZGp1c3RtZW50IHR5cGVzCiRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0dHlwZSddID0gYXJyYXkoCgknbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3R0eXBlJyksCgknaW5wdXQnID0+ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3ByaWNlYWRqdXN0dHlwZScsICR0aGlzLT5CdWlsZExpc3RPZkFkanVzdFR5cGVzKCksIC0xLCAKCQkkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsncHJpY2VhZGp1c3R0eXBlJ10pCik7CiRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0bWVudCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX3ByaWNlYWRqdXN0bWVudCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJpY2VhZGp1c3RtZW50JywgbnVtYmVyX2Zvcm1hdCgkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsncHJpY2VhZGp1c3RtZW50J10sIDIsICIuIiwgIiIpLCAxMCwgNDApCik7CiRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfZGlzcGxheW9ubHknKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdkaXNwbGF5b25seScsIDEsICRwcm9kdWN0X2F0dHJpYnV0ZV9kYXRhWydkaXNwbGF5b25seSddKQopOwokYXR0cmlidXRlWydpdGVtbnVtYmVyJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfaXRlbW51bWJlcicpLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpdGVtbnVtYmVyJywgJHByb2R1Y3RfYXR0cmlidXRlX2RhdGFbJ2l0ZW1udW1iZXInXSwgMzAsIDMwKQopOwokYXR0cmlidXRlWydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9hY3RpdmUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsnYWN0aXZlJ10pCik7CgovLyBTdXBwb3J0aW5nIGZpZWxkcwokYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2F0dHJpYnV0ZV9pZCcsICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKQopOwokYXR0cmlidXRlWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwokYXR0cmlidXRlWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHByb2R1Y3RfYXR0cmlidXRlX2RhdGFbJ3Byb2R1Y3RfaWQnXSkKKTsKCi8vIEJ1aWxkIHRoZSB0ZW1wbGF0ZSB0byBzaG93CiRzbWFydHktPmFzc2lnbignYXR0cmlidXRlJywgJGF0dHJpYnV0ZSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9hdHRyaWJ1dGVfZWRpdC50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRlbGV0ZV9wcm9kdWN0ID0gJHRoaXMtPnByb2R1Y3RzLT5HZXQoJHBhcmFtc1snY3VycmVudF9wcm9kdWN0X2lkJ10pOyAKJHRoaXMtPnByb2R1Y3RzLT5EZWxldGUoJGRlbGV0ZV9wcm9kdWN0KTsKJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSAmJiAkcGFyYW1zWydjYW5jZWwnXSA9PSAkdGhpcy0+TGFuZygnY2FuY2VsJykpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICYmICRwYXJhbXNbJ3N1Ym1pdCddID09ICR0aGlzLT5MYW5nKCd1cGRhdGUnKSkgewoJJGVycm9yZm5kID0gZmFsc2U7CgkkZG91YmxlaXRlbSA9ICR0aGlzLT5wcm9kdWN0cy0+Q2hlY2tEb3VibGVJdGVtTnVtYmVyKCRwYXJhbXNbJ2l0ZW1udW1iZXInXSwgJHBhcmFtc1sncHJvZHVjdF9pZCddKTsKCWlmICghJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZG91YmxlaXRlbScsIDApICYmICRkb3VibGVpdGVtICE9IGZhbHNlKSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2RvdWJsZWl0ZW1udW1iZXJmb3VuZCcsICRkb3VibGVpdGVtKTsKCQkkZXJyb3JmbmQgPSB0cnVlOwoJfQoJaWYgKCFpc3NldCgkcGFyYW1zWyduYW1lJ10pIHx8ICAkcGFyYW1zWyduYW1lJ10gPT0gJycpIHsKCQkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZyAoJ21lc3NhZ2Vfbm9hdHRyaWJ1dGVuYW1lZ2l2ZW4nKTsKCQkkZXJyb3JmbmQgPSB0cnVlOwoJfQoKCWlmICghJGVycm9yZm5kKSB7CgkJJHRoaXMtPnByb2R1Y3RzLT5VcGRhdGUoJHBhcmFtcyk7Ci8vIAkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7Ci8vIAkJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCX0KCSRwYXJhbXNbJ3N1Ym1pdCddID0gTlVMTDsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CQp9CmVsc2UgewppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICYmICRwYXJhbXNbJ3N1Ym1pdCddID09ICR0aGlzLT5MYW5nKCdhZGRpbWFnZScpKSB7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfaW1hZ2VzJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnYWRkYXR0cmlidXRlJykpIHsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9hdHRyaWJ1dGVzJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSkgewoJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGVDYXRlZ29yeU1hcCgkcGFyYW1zWydjYXRlZ29yeV9pZCddLCAkcGFyYW1zWydwcm9kdWN0X2lkJ10pOwoJJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2NhdGVnb3JpZXMnOwp9CmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ2RlbGV0ZWNhdGVnb3J5JykpIHsKCSR0aGlzLT5wcm9kdWN0cy0+RGVsZXRlQ2F0ZWdvcnlNYXAoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwgJHBhcmFtc1sncHJvZHVjdF9pZCddKTsKCSRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdjYXRlZ29yaWVzJzsKfQovLyBBbGwgYWN0aW9ucyBoYW5kbGVkLCBub3cgZ2V0IGFsbCB0aGUgaW5mb3JtYXRpb24gbGlua2VkIHRvIHRoZSBwcm9kdWN0CmlmIChpc3NldCgkcGFyYW1zWydwcm9kdWN0X2lkJ10pKSB7CgkkcHJvZHVjdF9kYXRhID0gJHRoaXMtPnByb2R1Y3RzLT5HZXQoJHBhcmFtc1sncHJvZHVjdF9pZCddKTsKfQp9CiRhY3RpdmVfdGFiID0gJ3Byb2R1Y3QnOwppZiggaXNzZXQoICRwYXJhbXNbJ2FjdGl2ZV90YWInXSApICkgewoJJGFjdGl2ZV90YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0KCi8qKgogKiBQcmVwYXJlIFByb2R1Y3QgVGFiCiAqLwokcHJvZHVjdCA9IGFycmF5KCk7CiRwcm9kdWN0WydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCk7CiRwcm9kdWN0WydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKTsKJHByb2R1Y3RbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokcHJvZHVjdFsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCi8vIE1lc3NhZ2VzIGNvbWUgZnJvbSBkZWxldGlvbiAob3Igb3RoZXIgcGxhY2VzKS4gU28gc2hvdyBpdC4KJHByb2R1Y3RbJ21lc3NhZ2UnXSA9ICRwYXJhbXNbJ21lc3NhZ2UnXTsKJHByb2R1Y3RbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pCik7CiRwcm9kdWN0Wydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwoKJHByb2R1Y3RbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbmFtZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbmFtZScsICRwcm9kdWN0X2RhdGFbJ25hbWUnXSwgNDAsIDI1NSkKKTsKJHByb2R1Y3RbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkcHJvZHVjdF9kYXRhWydkZXNjcmlwdGlvbiddLCAncGRlc2NyaXB0aW9uJywncGFnZXNtYWxsdGV4dGFyZWEnLCcnLCcnLCcnLDQwLDQwKQopOwokcHJvZHVjdFsncHJpY2UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfcHJpY2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ByaWNlJywgJHRoaXMtPkZvcm1hdFByaWNlKCRwcm9kdWN0X2RhdGFbJ3ByaWNlJ10pLCA0MCwgNDApCik7CiRwcm9kdWN0WydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfYWN0aXZlJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSwgJHByb2R1Y3RfZGF0YVsnYWN0aXZlJ10pCik7CiRwcm9kdWN0WydmZWF0dXJlZCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9mZWF0dXJlZCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2ZlYXR1cmVkJywgMSwgJHByb2R1Y3RfZGF0YVsnZmVhdHVyZWQnXSkKKTsKJHByb2R1Y3RbJ25ldHdlaWdodCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9uZXR3ZWlnaHQnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25ldHdlaWdodCcsICR0aGlzLT5Gb3JtYXRXZWlnaHQoJHByb2R1Y3RfZGF0YVsnbmV0d2VpZ2h0J10pLDEwLCAyMCksCgkndW5pdCc9PiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICdLZycpCik7Ci8vIFByZXBhcmUgbGlzdCBvZiBwb3NzaWJsZSBWQVQgY29kZXMgYXMgc2V0IHVwIGluIENhcnQgTWFkZSBTaW1wbGUKJGNhcnRtcyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcnRNYWRlU2ltcGxlJyk7CmlmKCAkY2FydG1zICkgeyAKCSR2YXRjb2RlID0gJyc7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0MG5hbWUnLCAnJyldID0gJzAnOwoJJGxpc3R2YXRjb2RlWyRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ3ZhdDFuYW1lJywgJycpXSA9ICcxJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQybmFtZScsICcnKV0gPSAnMic7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0M25hbWUnLCAnJyldID0gJzMnOwoJJGxpc3R2YXRjb2RlWyRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ3ZhdDRuYW1lJywgJycpXSA9ICc0JzsKCSRwcm9kdWN0Wyd2YXRjb2RlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF92YXRjb2RlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ3ZhdGNvZGUnLCAkbGlzdHZhdGNvZGUsICRwcm9kdWN0X2RhdGFbJ3ZhdGNvZGUnXSwgJHZhdGNvZGUpCgkpOwp9CmVsc2UgewoJJHByb2R1Y3RbJ3ZhdGNvZGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3ZhdGNvZGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd2YXRjb2RlJywgJycsIDEsIDEpCgkpOwp9Cgokc2t1ZHJvcGRvd24gPSAkdGhpcy0+QnVpbGRMaXN0U0tVKCk7CiRwcm9kdWN0Wydza3UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3Rfc2t1JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnc2t1JywgJHNrdWRyb3Bkb3duLCAtMSwgJHByb2R1Y3RfZGF0YVsnc2t1J10pCik7CgokcHJvZHVjdFsnaXRlbW51bWJlciddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9pdGVtbnVtYmVyJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpdGVtbnVtYmVyJywgJHByb2R1Y3RfZGF0YVsnaXRlbW51bWJlciddLCAzMCwgMzApCik7CgokcHJvZHVjdFsncG9zaXRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfcG9zaXRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3Bvc2l0aW9uJywgJHByb2R1Y3RfZGF0YVsncG9zaXRpb24nXSwgMTAsIDEwKQopOwovLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIHVzZSBkaWZmZXJlbnQgbGFiZWwKJGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScpOwppZiAoJGludmVudG9yeXR5cGUgPT0gJ3Byb2QnKSB7CgkkbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzID0gJHRoaXMtPkxhbmcoJ2xhYmVsX3F1YW50aXR5X29uc3RvY2snKTsKCSR0b29sdGlwX21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygndG9vbHRpcF9xdWFudGl0eV9vbnN0b2NrJyk7Cn0KZWxzZSB7CgkkbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzID0gJHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcycpOwoJJHRvb2x0aXBfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCd0b29sdGlwX21heGF0dHJpYnV0ZXMnKTsKfQokcHJvZHVjdFsnbWF4YXR0cmlidXRlcyddID0gYXJyYXkoCgknbGFiZWwnPT4kbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbWF4YXR0cmlidXRlcycsICRwcm9kdWN0X2RhdGFbJ21heGF0dHJpYnV0ZXMnXSwgMTAsIDEwLCAKCQkndGl0bGU9IicuJHRvb2x0aXBfbWF4YXR0cmlidXRlcy4nIicpCik7Ci8qKgogKiBQcmVwYXJlIENhdGVnb3JpZXMgVGFiCiAqLwokY2F0ZWdvcmllc1snc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsKJGNhdGVnb3JpZXNbJ3N1Ym1pdCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnZG9uZScpKTsKJGNhdGVnb3JpZXNbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokY2F0ZWdvcmllc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCiRjYXRlZ29yaWVzWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwokY2F0ZWdvcmllc1sncHJvZHVjdF9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAncHJvZHVjdF9pZCcsICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkKKTsKCiRjYXRlZ29yeV9saXN0ID0gYXJyYXkoKTsKZm9yZWFjaCAoJHByb2R1Y3RfZGF0YVsnY2F0ZWdvcmllcyddIGFzICRjYXRlZ29yeSkgewoJaWYgKCRjYXRlZ29yeVsnbmFtZSddID09ICcnKSB7CgkJJGNhdGVnb3J5WyduYW1lJ10gPSAkdGhpcy0+TGFuZygncm9vdCcpOwoJfSBlbHNlIHsKCQkkY2F0ZWdvcnlbJ25hbWUnXSA9ICRjYXRlZ29yeVsnbmFtZSddOwoJfQoJJGNhdGVnb3J5WydsaW5rX2RlbGV0ZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAKCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9kZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQlhcnJheSAoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10sICdwcm9kdWN0X2lkJz0+JHByb2R1Y3RfZGF0YVsncHJvZHVjdF9pZCddLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwgJ3N1Ym1pdCc9PiR0aGlzLT5MYW5nKCdkZWxldGVjYXRlZ29yeScpKSwgCgkJJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2FyZXlvdXN1cmVwcm9kY2F0JywgJHByb2R1Y3RfZGF0YVsnbmFtZSddLCAkY2F0ZWdvcnlbJ25hbWUnXSkpOwoJJGNhdGVnb3J5X2xpc3RbXSA9ICRjYXRlZ29yeTsKfQokY2F0ZWdvcmllc1snbGlzdCddID0gJGNhdGVnb3J5X2xpc3Q7CgokY2F0ZWdvcmllc1snY2F0ZWdvcmllcyddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwKCSdzdWJtaXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdhZGRjYXRlZ29yeScpKSwKCSdsaXN0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ2NhdGVnb3J5X2lkJywgJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkVG90YWxMaXN0KCksIC0xLCAnJykKKTsKLyoqCiAqIFByZXBhcmUgQXR0cmlidXRlcyBUYWIKICovCiRhdHRyaWJ1dGVzWydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokYXR0cmlidXRlc1snc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdhZGRhdHRyaWJ1dGUnKSk7CiRhdHRyaWJ1dGVzWydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJGF0dHJpYnV0ZXNbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgovLyBNZXNzYWdlcyBjb21lIGZyb20gZGVsZXRpb24gKG9yIG90aGVyIHBsYWNlcykuIFNvIHNob3cgaXQuCmlmIChpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pKSB7CgkkYXR0cmlidXRlc1snbWVzc2FnZSddID0gJHBhcmFtc1snbWVzc2FnZSddOwp9Ci8vIFByZXBhcmUgbmFtZSBvZiBwcm9kdWN0IHNvIHRoYXQgY2FuIGJlIHNob3duIGFib3ZlIGltYWdlcy4gSXMgZWFzeSBmb3IgdXNlciB0byBzZWUgZm9yIHdoaWNoIHByb2R1Y3Qgb25lIGlzIGJ1c3kKJGF0dHJpYnV0ZXNbJ3Byb2RuYW1lJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVzX3Byb2R1Y3RfbmFtZScpLAoJJ291dHB1dCc9PiRwcm9kdWN0X2RhdGFbJ25hbWUnXSAuICcgJyAuCgkJJHRoaXMtPkxhbmcoJ2Jhc2Vwcm9kdWN0cHJpY2UnLCAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByb2R1Y3RfZGF0YVsncHJpY2UnXSkgKQopOwokYXR0cmlidXRlc1snbmFtZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9uYW1lJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICduYW1lJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddLCA0MCwgNDApCik7CiRhdHRyaWJ1dGVzWydkZXNjcmlwdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAnJywgJ2FkZXNjcmlwdGlvbicsJ3BhZ2VzbWFsbHRleHRhcmVhJywnJywnJywnJyw0MCwxMCkKKTsKLy8gUHJlcGFyZSBzb21lIGRlZmF1bHQgdmFsdWVzIGZvciBhIG5ldyBhdHRyaWJ1dGUKaWYgKCFpc3NldCgkcHJvZHVjdFsnYXR0cmlidXRlcyddWydhdHRyaWJ1dGVfaWQnXSkpIHsKCSRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ21pbmFsbG93ZWQnXSA9ICcwJzsKCSRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ2FjdGl2ZSddID0gdHJ1ZTsKfSAKJGF0dHJpYnV0ZXNbJ21pbmFsbG93ZWQnXSA9IGFycmF5KAoJJ2xhYmVsJyA9PiAkdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX21pbmFsbG93ZWQnKSwKCSdpbnB1dCcgPT4gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbWluYWxsb3dlZCcsICRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ21pbmFsbG93ZWQnXSwgNSwgNSkKKTsKLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyB1c2UgZGlmZmVyZW50IGxhYmVsCmlmICgkaW52ZW50b3J5dHlwZSA9PSAnYXR0cicpIHsKCSRsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCA9ICR0aGlzLT5MYW5nKCdsYWJlbF9xdWFudGl0eV9vbnN0b2NrJyk7Cn0KZWxzZSB7CgkkbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQgPSAkdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQnKTsKfQokYXR0cmlidXRlc1snbWF4YWxsb3dlZCddID0gYXJyYXkoCgknbGFiZWwnID0+ICRsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCwKCSdpbnB1dCcgPT4gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbWF4YWxsb3dlZCcsICRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ21heGFsbG93ZWQnXSwgNSwgNSkKKTsKLy8gUHJlcGFyZSB0aGUgdmFyaW91cyBwcmljaW5nIGFkanVzdG1lbnQgdHlwZXMKJGF0dHJpYnV0ZXNbJ3ByaWNlYWRqdXN0dHlwZSddID0gYXJyYXkoCgknbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3R0eXBlJyksCgknaW5wdXQnID0+ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3ByaWNlYWRqdXN0dHlwZScsICR0aGlzLT5CdWlsZExpc3RPZkFkanVzdFR5cGVzKCksIC0xLCAKCQkkcHJvZHVjdFsnYXR0cmlidXRlcyddWydwcmljZWFkanVzdHR5cGUnXSkKKTsKJGF0dHJpYnV0ZXNbJ3ByaWNlYWRqdXN0bWVudCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX3ByaWNlYWRqdXN0bWVudCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJpY2VhZGp1c3RtZW50JywgJHRoaXMtPkZvcm1hdFByaWNlKCRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ3ByaWNlYWRqdXN0bWVudCddKSwgMTAsIDQwKQopOwokYXR0cmlidXRlc1snZGlzcGxheW9ubHknXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9kaXNwbGF5b25seScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2Rpc3BsYXlvbmx5JywgMSwgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnZGlzcGxheW9ubHknXSkKKTsKJGF0dHJpYnV0ZXNbJ2l0ZW1udW1iZXInXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfaXRlbW51bWJlcicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaXRlbW51bWJlcicsICRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ2l0ZW1udW1iZXInXSwgMzAsIDMwKQopOwokYXR0cmlidXRlc1snYWN0aXZlJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfYWN0aXZlJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSwgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnYWN0aXZlJ10pCik7CiRhdHRyaWJ1dGVzWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwokYXR0cmlidXRlc1sncHJvZHVjdF9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAncHJvZHVjdF9pZCcsICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkKKTsKLy8gQnVpbGQgbGlzdCBvZiBhdmFpbGFibGUgYXR0cmlidXRlcwokYXR0cmlidXRlc1snbmFtZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfbmFtZScpOwokYXR0cmlidXRlc1snZGVzY3JpcHRpb25jb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2Rlc2NyaXB0aW9uJyk7CiRhdHRyaWJ1dGVzWydhZGp1c3RtZW50Y29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9hZGp1c3RtZW50Jyk7CiRhdHRyaWJ1dGVzWydwcmljZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfcHJpY2UnKTsKJGF0dHJpYnV0ZXNbJ2Rpc3BsYXljb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2Rpc3BsYXknKTsKJGF0dHJpYnV0ZXNbJ2FjdGl2ZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2FjdGl2ZScpOwokYXR0cmlidXRlc1snbWluYWxsb3dlZGNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfbWluYWxsb3dlZCcpOwovLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIHVzZSBkaWZmZXJlbnQgbGFiZWwKaWYgKCRpbnZlbnRvcnl0eXBlID09ICdhdHRyJykgewoJJGF0dHJpYnV0ZXNbJ21heGFsbG93ZWRjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdsYWJlbF9vbnN0b2NrJyk7Cn0KZWxzZSB7CgkkYXR0cmlidXRlc1snbWF4YWxsb3dlZGNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfbWF4YWxsb3dlZCcpOwp9CiRhdHRyaWJ1dGVzWydpdGVtbnVtYmVyY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9pdGVtbnVtYmVyJyk7CiRhdHRyaWJ1dGVzWydub19hdHRyaWJ1dGVzX2F2YWlsYWJsZSddID0gJHRoaXMtPkxhbmcoJ25vX2F0dHJpYnV0ZXNfYXZhaWxhYmxlJyk7CiRkZXNjbGVuZ3RoID0gODA7CiRwcm9kdWN0X2F0dHJpYnV0ZV9saXN0ID0gYXJyYXkoKTsKLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBhdHRyaWJ1dGVzIGZvciB0aGUgY3VycmVudCBwcm9kdWN0LiBJZiBub3QgY2hlY2tlZCwgdGhlIGZvcmVhY2ggcnVucyBpbnRvIGFuIGVycm9yCiRhdHRyaWJ1dGVzWydpdGVtY291bnQnXSA9IGNvdW50KCRwcm9kdWN0X2RhdGFbJ2F0dHJpYnV0ZXMnXSk7CmlmICgkYXR0cmlidXRlc1snaXRlbWNvdW50J10gPiAwKSB7CmZvcmVhY2ggKCRwcm9kdWN0X2RhdGFbJ2F0dHJpYnV0ZXMnXSBhcyAkYXR0cmlidXRlKSB7CgkkYXR0cmlidXRlbmFtZSA9ICRhdHRyaWJ1dGVbJ25hbWUnXTsKCSRhdHRyaWJ1dGVbJ25hbWUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdwcm9kdWN0X2F0dHJpYnV0ZV9lZGl0JywgJHJldHVybmlkLCAKCQkJJGF0dHJpYnV0ZW5hbWUsIAoJCQlhcnJheSAoJ2N1cnJlbnRfYXR0cmlidXRlX2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2F0dHJpYnV0ZV9pZCddLAoJCQkJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwKCQkJCSdwcm9kbmFtZScgPT4gJHByb2R1Y3RfZGF0YVsnbmFtZSddLAoJCQkJJ2F0dHJpYnV0ZV9pZCcgPT4gJGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10pKTsKCWlmIChzdHJsZW4oJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXSkgPiAkZGVzY2xlbmd0aCkgewoJCSRhdHRyaWJ1dGVbJ2Rlc2NyaXB0aW9uJ10gPSBzdWJzdHIoJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXSwgMCwgJGRlc2NsZW5ndGgpLicuLi4nOwoJfQoJZWxzZSB7CgkJJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXSA9ICRhdHRyaWJ1dGVbJ2Rlc2NyaXB0aW9uJ107Cgl9CglpZiAoJGF0dHJpYnV0ZVsnZGlzcGxheW9ubHknXSkgewoJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICctLS0nOwoJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAnLS0tJzsKCQkkYXR0cmlidXRlWydtaW5hbGxvd2VkJ10gPSAnLS0tJzsKCQkkYXR0cmlidXRlWydtYXhhbGxvd2VkJ10gPSAnLS0tJzsKCX0KCWVsc2UgewoJCXN3aXRjaCAoJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10pIHsKCQkJY2FzZSAnUCc6CgkJCQkkYXR0cmlidXRlWydhZGp1c3RtZW50J10gPSAnKyAnIC4gJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J107CgkJCQlicmVhazsKCQkJY2FzZSAnTSc6CgkJCQkkYXR0cmlidXRlWydhZGp1c3RtZW50J10gPSAnLSAnIC4gJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J107CgkJCQlicmVhazsKCQkJY2FzZSAnVCc6CgkJCQkkYXR0cmlidXRlWydhZGp1c3RtZW50J10gPSAnKiAnIC4gJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J107CgkJCQlicmVhazsKCQkJY2FzZSAnVic6CgkJCQkkYXR0cmlidXRlWydhZGp1c3RtZW50J10gPSAnJzsKCQkJCWJyZWFrOwoJCX0KCQkkYXR0cmlidXRlWydwcmljZSddID0gJHRoaXMtPkZvcm1hdFByaWNlKCR0aGlzLT5DYWxjdWxhdGVBdHRyaWJ1dGVQcmljZSgkcHJvZHVjdF9kYXRhWydwcmljZSddLAoJCQkkYXR0cmlidXRlWydwcmljZWFkanVzdHR5cGUnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J10pKTsKCX0KCSRhdHRyaWJ1dGVbJ2xpbmtfZGlzcGxheSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkkYXR0cmlidXRlWydkaXNwbGF5b25seSddID09IDAgPyAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfbm9jYWxjdWxhdGlvbicpLAoJCScnLCcnLCdzeXN0ZW1pY29uJykgOiAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2NhbGN1bGF0aW9uJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQlhcnJheSgndGFibGUnPT4nQXR0cmlidXRlc0Rpc3BsYXknLCdkaXNwbGF5b25seSc9PiRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10sICdhdHRyaWJ1dGVfaWQnPT4kYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSwKCQkncHJvZHVjdF9pZCc9PiRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkpOwoJJGF0dHJpYnV0ZVsnbGlua19lbmFibGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3N3aXRjaHN0YXR1cycsICRyZXR1cm5pZCwgCgkJJGF0dHJpYnV0ZVsnYWN0aXZlJ10gPT0gMSA/ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9pbmFjdGl2ZScpLAoJCScnLCcnLCdzeXN0ZW1pY29uJykgOiAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2FjdGl2ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJYXJyYXkoJ3RhYmxlJz0+J0F0dHJpYnV0ZXMnLCdhY3RpdmUnPT4kYXR0cmlidXRlWydhY3RpdmUnXSwgJ2F0dHJpYnV0ZV9pZCc9PiRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLAoJCSdwcm9kdWN0X2lkJz0+JHBhcmFtc1sncHJvZHVjdF9pZCddKSk7CgkkYXR0cmlidXRlWydsaW5rX2VkaXQnXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdwcm9kdWN0X2F0dHJpYnV0ZV9lZGl0JywgJHJldHVybmlkLCAKCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdjdXJyZW50X2F0dHJpYnV0ZV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9hdHRyaWJ1dGVfaWQnXSwKCQkJCSdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgkJCQkncHJvZG5hbWUnID0+ICRwcm9kdWN0X2RhdGFbJ25hbWUnXSwKCQkJCSdhdHRyaWJ1dGVfaWQnID0+ICRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddKSk7CgkkYXR0cmlidXRlWydsaW5rX2RlbGV0ZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncHJvZHVjdF9hdHRyaWJ1dGVfZGVsZXRlJywgJHJldHVybmlkLCAKCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgCgkJCWFycmF5ICgnYXR0cmlidXRlX2lkJyA9PiAkYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSwKCQkJCSdwcm9kdWN0X2lkJyA9PiAkYXR0cmlidXRlWydwcm9kdWN0X2lkJ10sCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ25hbWUnID0+ICRhdHRyaWJ1dGVuYW1lKSwgCgkJCQkkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZWF0dHJpYnV0ZScsJGF0dHJpYnV0ZW5hbWUpKTsKCSRwcm9kdWN0X2F0dHJpYnV0ZXNfbGlzdFtdID0gJGF0dHJpYnV0ZTsKfQokYXR0cmlidXRlc1snbGlzdCddID0gJHByb2R1Y3RfYXR0cmlidXRlc19saXN0Owp9Ci8qKgogKiBQcmVwYXJlIEltYWdlcyBUYWIKICovCiRpbWFnZXNbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAncHJvZHVjdF9pbWFnZXMnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsKJGltYWdlc1snc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdhZGRpbWFnZScpKTsKJGltYWdlc1snY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRpbWFnZXNbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgovLyBNZXNzYWdlcyBjb21lIGZyb20gZGVsZXRpb24gKG9yIG90aGVyIHBsYWNlcykuIFNvIHNob3cgaXQuCiRpbWFnZXNbJ21lc3NhZ2UnXSA9ICRwYXJhbXNbJ21lc3NhZ2UnXTsKLy8gUHJlcGFyZSBuYW1lIG9mIHByb2R1Y3Qgc28gdGhhdCBjYW4gYmUgc2hvd24gYWJvdmUgaW1hZ2VzLiBJcyBlYXN5IGZvciB1c2VyIHRvIHNlZSBmb3Igd2hpY2ggcHJvZHVjdCBvbmUgaXMgYnVzeQokaW1hZ2VzWyduYW1lJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9pbWFnZV9wcm9kdWN0X25hbWUnKSwKCSdvdXRwdXQnPT4kcHJvZHVjdF9kYXRhWyduYW1lJ10KKTsKJGltYWdlc1snaW1hZ2UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2NvbHVtbl9pbWFnZV9uYW1lJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRGaWxlKCAkaWQsICdpbWFnZScsICcnLCA0MCkKKTsKJGltYWdlc1snZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ltYWdlX2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAnJywgJ2lkZXNjcmlwdGlvbicsJ3BhZ2VzbWFsbHRleHRhcmVhJywnJywnJywnJyw0MCw0MCkKKTsKJGltYWdlc1snY3VycmVudF9jYXRlZ29yeV9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnY3VycmVudF9jYXRlZ29yeV9pZCcsICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkKKTsKJGltYWdlc1sncHJvZHVjdF9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAncHJvZHVjdF9pZCcsICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkKKTsKLy8gQnVpbGQgbGlzdCBvZiBhdmFpbGFibGUgaW1hZ2VzCiRpbWFnZXNbJ25hbWVjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5faW1hZ2VfbmFtZScpOwokaW1hZ2VzWydkZXNjcmlwdGlvbmNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9pbWFnZV9kZXNjcmlwdGlvbicpOwokaW1hZ2VzWydub19pbWFnZXNfYXZhaWxhYmxlJ10gPSAkdGhpcy0+TGFuZygnbm9faW1hZ2VzX2F2YWlsYWJsZScpOwoKJHByb2R1Y3RfaW1hZ2VfbGlzdCA9IGFycmF5KCk7Ci8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgaW1hZ2VzIGZvciB0aGUgY3VycmVudCBwcm9kdWN0LiBJZiBub3QgY2hlY2tlZCwgdGhlIGZvcmVhY2ggcnVucyBpbnRvIGFuIGVycm9yCiRpbWFnZXNbJ2l0ZW1jb3VudCddID0gY291bnQoJHByb2R1Y3RfZGF0YVsnaW1hZ2VzJ10pOwppZiAoJGltYWdlc1snaXRlbWNvdW50J10gPiAwKSB7CmZvcmVhY2ggKCRwcm9kdWN0X2RhdGFbJ2ltYWdlcyddIGFzICRpbWFnZSkgewoJJGltYWdlWydwcm9kdWN0aW1hZ2UnXSA9ICRjb25maWdbJ2ltYWdlX3VwbG9hZHNfdXJsJ10uJy8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcpLiRpbWFnZVsnaW1hZ2UnXTsKCSRpbWFnZVsnaW1hZ2VoZWlnaHQnXSA9ICc3MCc7IC8vIDwtLSBTaG91bGQgYmUgbW92ZWQgaW50byBhIHByZWZlcmVuY2UKCSRpbWFnZVsnaW1hZ2UnXSA9ICRpbWFnZVsnaW1hZ2UnXTsKCSRpbWFnZVsnZGVzY3JpcHRpb24nXSA9ICRpbWFnZVsnZGVzY3JpcHRpb24nXTsKCSRpbWFnZVsnbGlua19lZGl0J10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAncHJvZHVjdF9pbWFnZV9lZGl0JywgJHJldHVybmlkLCAKCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9lZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgCgkJCWFycmF5ICgnY3VycmVudF9wcm9kdWN0X2ltYWdlc19pZCcgPT4gJHBhcmFtc1snY3VycmVudF9wcm9kdWN0X2ltYWdlc19pZCddLAoJCQkJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwKCQkJCSdwcm9kdWN0X2ltYWdlc19pZCcgPT4gJGltYWdlWydwcm9kdWN0X2ltYWdlc19pZCddKSk7CgkkaW1hZ2VbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9kdWN0X2ltYWdlX2RlbGV0ZScsICRyZXR1cm5pZCwgCgkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCQlhcnJheSAoJ3Byb2R1Y3RfaW1hZ2VzX2lkJyA9PiAkaW1hZ2VbJ3Byb2R1Y3RfaW1hZ2VzX2lkJ10sCgkJCQkncHJvZHVjdF9pZCcgPT4gJGltYWdlWydwcm9kdWN0X2lkJ10sCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ2ltYWdlJyA9PiAkaW1hZ2VbJ2ltYWdlJ10pLCAKCQkJCSR0aGlzLT5MYW5nICgnbWVzc2FnZV9hcmV5b3VzdXJlaW1hZ2UnLCRpbWFnZVsnaW1hZ2UnXSkpOwoJJHByb2R1Y3RfaW1hZ2VzX2xpc3RbXSA9ICRpbWFnZTsKfQokaW1hZ2VzWydsaXN0J10gPSAkcHJvZHVjdF9pbWFnZXNfbGlzdDsKfQoKLyoqCiAqIFNob3cgcGFnZXMKICovCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Byb2R1Y3QnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX3Byb2R1Y3QnKSwgKCRhY3RpdmVfdGFiID09ICdwcm9kdWN0JykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhdGVnb3JpZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX3Byb2R1Y3RfY2F0ZWdvcmllcycpLCAoJGFjdGl2ZV90YWIgPT0gJ2NhdGVnb3JpZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYXR0cmlidXRlcycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfYXR0cmlidXRlcycpLCAoJGFjdGl2ZV90YWIgPT0gJ2F0dHJpYnV0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignaW1hZ2VzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl9pbWFnZXMnKSwgKCRhY3RpdmVfdGFiID09ICdpbWFnZXMnKSk7CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwplY2hvICJcbjwhLS0gRnJvbSBwcm9kdWN0IC0tPlxuIjsKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Byb2R1Y3QnLCAkcGFyYW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0JywgJHByb2R1Y3QpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Byb2R1Y3RfZWRpdC50cGwnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICJcbjwhLS0gRnJvbSBjYXRlZ29yaWVzIC0tPlxuIjsKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhdGVnb3JpZXMnLCAkcGFyYW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yaWVzJywgJGNhdGVnb3JpZXMpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Byb2R1Y3RfY2F0ZWdvcmllcy50cGwnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICJcbjwhLS0gRnJvbSBhdHRyaWJ1dGVzIC0tPlxuIjsKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2F0dHJpYnV0ZXMnLCAkcGFyYW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdhdHRyaWJ1dGVzJywgJGF0dHJpYnV0ZXMpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Byb2R1Y3RfYXR0cmlidXRlcy50cGwnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICJcbjwhLS0gRnJvbSBpbWFnZXMgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYignaW1hZ2VzJywgJHBhcmFtcyk7CiRzbWFydHktPmFzc2lnbignaW1hZ2VzJywgJGltYWdlcyk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9pbWFnZXMudHBsJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_images.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBidXR0b24gYWRkIGltYWdlIGlzIHVzZWQKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnYWRkaW1hZ2UnKSkgewoJcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9DbGFzc2VzL0ZpbGVzLnBocCcpOwoKCS8vIEJ1aWxkIHRoZSBwYXRoIHdlIHdpbGwgYmUgdXBsb2FkaW5nIHRoZSBpbWFnZSB0bwoJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCSRwYXRoID0gJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc19wYXRoJ10uJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0Jyk7CgkkZmlsZXMgPSBuZXcgRmlsZXM7CgkKCS8vIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5IGNhbiBiZSBmb3VuZC4gQ3JlYXRlIGl0LCBlcnJvciBoYW5kbGluZyB3aWxsIGNvdnJlIGFueSBwcm9ibGVtcyBmb3VuZAoJJGZpbGVzLT5jcmVhdGVGb2xkZXIoJHBhdGgpOwoJZm9yZWFjaCAoJF9GSUxFUyBhcyAkdXBsb2FkZmlsZSkgewoJCS8vIFJlcGxhY2UgYW55IG5vbi13b3JkIGNoYXJhY3RlcnMgYnkgdW5kZXJzY29yZXMKCQkkdXBsb2FkZmlsZVsnbmFtZSddID0gJGZpbGVzLT5lc2NhcGUoJHVwbG9hZGZpbGVbJ25hbWUnXSk7CgkJJGZpbGVzLT5jb3B5RmlsZSgkdXBsb2FkZmlsZVsndG1wX25hbWUnXSwgJHBhdGgsICR1cGxvYWRmaWxlWyduYW1lJ10sIHRydWUpOwoJCSRwYXJhbXNbJ2ltYWdlJ10gPSAkdXBsb2FkZmlsZVsnbmFtZSddOwoJCWlmICgkdXBsb2FkZmlsZVsnbmFtZSddICE9ICcnKSB7CgkJCS8vIE5vdyB0aGF0IGFsbCBpbmZvIGlzIGtub3duLCBpbnNlcnQgYSByZWNvcmQgaW4gdGhlIGltYWdlcyBkYXRhYmFzZQoJCQkkdGhpcy0+cHJvZHVjdHMtPkNyZWF0ZUltYWdlKCRwYXJhbXMpOwoJCQkvLyBQcmVwYXJlIHRoZSBjb25uZWN0ZWQgdGh1bWJuYWlsIHNvIGl0IGNhbiBiZSByZXF1ZXN0ZWQgYXQgZnJvbnQgZW5kLgoJCQkkdGh1bWJ3aWR0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0bndpZHRoX3Byb2R1Y3QnLCAnMTAwJyk7CgkJCSR0aHVtYmhlaWdodCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0bmhlaWdodF9wcm9kdWN0JywgJzEwMCcpOwoJCQkkdGhpcy0+QnVpbGRUaHVtYiAoJHVwbG9hZGZpbGVbJ25hbWUnXSwgJHBhdGgsICR0aHVtYndpZHRoLCAgJHRodW1iaGVpZ2h0KTsKCQkJLy8gUHJlcGFyZSBhIG1lc3NhZ2UgdG8gYmUgc2hvd24gb24gdG9wIG9mIHRoZSBpbWFnZXMgb3ZlcnZpZXcKCQkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2ltYWdlYWRkZWQnLCR1cGxvYWRmaWxlWyduYW1lJ10pOwoJCX0KCQllbHNlIHsKCQkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX25vaW1hZ2V0b3VwbG9hZCcpOwoJCX0KCX0KCS8vIFJlZGlyZWN0IGJhY2sgdG8gaW1hZ2VzLCBzbyB3ZSBjYW4gc2VlIHRoZSByZXN1bHQKCSRwYXJhbXMgPSBhcnJheSgncHJvZHVjdF9pZCcgPT4gJHBhcmFtc1sncHJvZHVjdF9pZCddLAoJCQkJJ2FjdGl2ZV90YWInID0+ICdpbWFnZXMnLAoJCQkJJ21lc3NhZ2UnID0+ICRwYXJhbXNbJ21lc3NhZ2UnXQoJCQkpOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsJCn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgJiYgJHBhcmFtc1snY2FuY2VsJ10gPT0gJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsIAoJCQkJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_image_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBpY29uIGRlbGV0ZSBpbWFnZSBpcyB1c2VkCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nLy4uLy4uL2xpYi9maWxlbWFuYWdlci9JbWFnZU1hbmFnZXIvQ2xhc3Nlcy9GaWxlcy5waHAnKTsKLy8gQnVpbGQgdGhlIHBhdGggdGhlIGltYWdlIHdhcyB1cGxvYWRlZCB0byAKJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKJHBhdGggPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3BhdGgnXS4nXFwnLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcpOwokZmlsZXMgPSBuZXcgRmlsZXM7CiRuYW1lID0gJHBhdGggLiAkcGFyYW1zWydpbWFnZSddOwovLyBTaXRlIHVtYXNrIHNldCB0byAwMDIyIHdvcmtzIG9rIGR1cmluZyB0ZXN0cywgd2hlbiBwZXJtaXNzaW9uIGRlbmllZCB3YXMgc3RhdGVkLgppZiAoJGZpbGVzLT5kZWxGaWxlKCRuYW1lKSApIHsKCWVjaG8gJ0ZpbGUgJy4kbmFtZS4nIGRlbGV0ZWQ8YnI+JzsKfQplbHNlIHsKCWVjaG8gJ0Vycm9yIGR1cmluZyBkZWxldGlvbiBvZiBmaWxlOiAnLiRuYW1lLic8YnI+JzsKfQkKJG5hbWUgPSAkcGF0aCAuICd0bl8nIC4gJHBhcmFtc1snaW1hZ2UnXTsKaWYgKCRmaWxlcy0+ZGVsRmlsZSgkbmFtZSkgKSB7CgllY2hvICdUaHVtYm5haWwgJy4kbmFtZS4nIGRlbGV0ZWQ8YnI+JzsKfQplbHNlIHsKCWVjaG8gJ0Vycm9yIGR1cmluZyBkZWxldGlvbiBvZiB0aHVtYm5haWw6ICcuJG5hbWUuJzxicj4nOwp9CgovLyBOb3cgdGhhdCBhbGwgaW5mbyBpcyBrbm93biwgaW5zZXJ0IGEgcmVjb3JkIGluIHRoZSBpbWFnZXMgZGF0YWJhc2UKJHRoaXMtPnByb2R1Y3RzLT5EZWxldGVJbWFnZSgkcGFyYW1zKTsKJHBhcmFtcyA9IGFycmF5KAoJLy8gUHJvZHVjdCBpZCwgYWx3YXlzIGhhbmR5IHRvIHBhc3MuIEluIHRoaXMgY2FzZSBuZWVkZWQgdG8gZ2V0IGFsbCB0aGUgY29ubmVjdGVkIGluZm9ybWF0aW9uCgkncHJvZHVjdF9pZCcgPT4gJHBhcmFtc1sncHJvZHVjdF9pZCddLAoJLy8gUHJlcGFyZSBhIG1lc3NhZ2UgdG8gYmUgc2hvd24gb24gdG9wIG9mIHRoZSBpbWFnZXMgb3ZlcnZpZXcKCSdtZXNzYWdlJyA9PiAkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfaW1hZ2VkZWxldGVkJywkcGFyYW1zWydpbWFnZSddKSwKCS8vIFJlZGlyZWN0IGJhY2sgdG8gaW1hZ2VzLCBzbyB3ZSBjYW4gc2VlIHRoZSByZXN1bHQKCSdhY3RpdmVfdGFiJyA9PiAnaW1hZ2VzJwkKCSk7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_image_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGFsbG93cyB0aGUgdXNlciB0byBjaGFuZ2UgaW1hZ2UgaW5mb3JtYXRpb24KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnc3VibWl0JykpIHsKCSR0aGlzLT5wcm9kdWN0cy0+VXBkYXRlSW1hZ2UoJHBhcmFtcyk7CgkkcGFyYW1zIFsnYWN0aXZlX3RhYiddID0gJ2ltYWdlcyc7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwkKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICYmICRwYXJhbXNbJ2NhbmNlbCddID09ICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkgewoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsJCn0KLy8gUmV0cmlldmUgaW5mb3JtYXRpb24gZm9yIHBhc3NlZCBpbWFnZSBpZC4gQXJyYXkgd2lsbCBob2xkIGluZm9ybWF0aW9uIGFmdGVyd2FyZHMKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RfaW1hZ2VzX2lkJ10pKSB7CgkkcHJvZHVjdF9pbWFnZV9kYXRhID0gJHRoaXMtPnByb2R1Y3RzLT5HZXRJbWFnZSgkcGFyYW1zWydwcm9kdWN0X2ltYWdlc19pZCddKTsKfQoKLy8gUHJlcGFyZSBuZXh0IHNjcmVlbiBpbmZvcm1hdGlvbgokaW1hZ2UgPSBhcnJheSgpOwokaW1hZ2VbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAncHJvZHVjdF9pbWFnZV9lZGl0JywgJHJldHVybmlkLCAncG9zdCcsICcnKTsKJGltYWdlWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKTsKJGltYWdlWydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJGltYWdlWydlbmRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJGltYWdlWyduYW1lJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJHRoaXMtPkxhbmcoJ2NvbHVtbl9pbWFnZV9uYW1lJyksCgknb3V0cHV0JyA9PiAkcHJvZHVjdF9pbWFnZV9kYXRhWydpbWFnZSddCik7CiRpbWFnZVsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ltYWdlX2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkcHJvZHVjdF9pbWFnZV9kYXRhWydkZXNjcmlwdGlvbiddLCAnZGVzY3JpcHRpb24nLCdwYWdlc21hbGx0ZXh0YXJlYScsJycsJycsJycsNDAsNDApCik7CiRpbWFnZVsncHJvZHVjdF9pbWFnZXNfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ3Byb2R1Y3RfaW1hZ2VzX2lkJywgJHBhcmFtc1sncHJvZHVjdF9pbWFnZXNfaWQnXSkKKTsKJGltYWdlWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2ltYWdlc19pZCcsICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkKKTsKJGltYWdlWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHByb2R1Y3RfaW1hZ2VfZGF0YVsncHJvZHVjdF9pZCddKQopOwoKLy8gQnVpbGQgdGhlIHRlbXBsYXRlIHRvIHNob3cKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZScsICRpbWFnZSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9pbWFnZV9lZGl0LnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.sku_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJLy8gVXNlciBwcmVzc2VkIGNvbnRpbnVlIHNvIHNhdmUgdGhlIHNrdSBpbmZvcm1hdGlvbgoJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGVTS1UoJHBhcmFtcyk7CgkKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJyk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nc2t1cycsICk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cgokc2t1ID0gYXJyYXkoKTsKJHNrdVsnc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdza3VfYWRkJywgJHJldHVybmlkLCAncG9zdCcpOwokc2t1WydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2NvbnRpbnVlJykpOwokc2t1WydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJHNrdVsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCgokc2t1Wydza3UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NrdV9uYW1lJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdza3UnLCAnJywgMjAsIDIwLCAnY2xhc3M9ImRlZmF1bHRmb2N1cyInKQopOwokc2t1WydkZXNjcmlwdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2t1X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Rlc2NyaXB0aW9uJywgJycsIDYwLCAxMDApCik7Cgokc21hcnR5LT5hc3NpZ24oJ3NrdScsICRza3UpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NrdV9hZGQudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sku_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHNrdW1lc3NhZ2UgPSAkdGhpcy0+cHJvZHVjdHMtPkRlbGV0ZVNLVSgkcGFyYW1zWydza3UnXSk7CiRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJywgJ3NrdW1lc3NhZ2UnPT4kc2t1bWVzc2FnZSk7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.sku_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJJHRoaXMtPnByb2R1Y3RzLT5VcGRhdGVTS1UoJHBhcmFtcyk7CgkKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJyk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJyk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Ci8vIEFsbCBhY3Rpb25zIGhhbmRsZWQsIG5vdyBnZXQgYWxsIHRoZSBpbmZvcm1hdGlvbiBsaW5rZWQgdG8gdGhlIFN0b2NrIEtlZXBpbmcgVW5pdAppZiAoaXNzZXQoJHBhcmFtc1snc2t1J10pKSB7Cgkkc2t1X2RhdGEgPSAkdGhpcy0+cHJvZHVjdHMtPkdldFNLVSgkcGFyYW1zWydza3UnXSk7Cn0KCiRza3UgPSBhcnJheSgpOwokc2t1WydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3NrdV9lZGl0JywgJHJldHVybmlkLCAncG9zdCcpOwokc2t1WydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKTsKJHNrdVsnY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRza3VbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CiRza3VbJ3NrdSddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnc2t1JywgJHBhcmFtc1snc2t1J10pCik7CiRza3VbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NrdV9uYW1lJyksCgknaW5wdXQnPT4kc2t1X2RhdGFbJ3NrdSddCik7CiRza3VbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9za3VfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2Rlc2NyaXB0aW9uJywgJHNrdV9kYXRhWydkZXNjcmlwdGlvbiddLCA2MCwgMTAwLCAnY2xhc3M9ImRlZmF1bHRmb2N1cyInKQopOwokc21hcnR5LT5hc3NpZ24oJ3NrdScsICRza3UpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NrdV9lZGl0LnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.switchstatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIE5vIGRpcmVjdCBhY2Nlc3MKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKLy8gQ2hlY2sgcGVybWlzc2lvbgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSAmJgoJISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpIHsKICAvLyBTaG93IGFuIGVycm9yIG1lc3NhZ2UKICBlY2hvICR0aGlzLT5TaG93RXJyb3IoJHRoaXMtPkxhbmcoJ2FjY2Vzc19kZW5pZWQnKSk7Cn0KLy8gVXNlciBoYXMgc3VmZmljaWVudCBwcml2aWxlZ2VzCmVsc2UKewoJJHJlZGlyZWN0dG8gPSAnZGVmYXVsdGFkbWluJzsKCXN3aXRjaCAoJHBhcmFtc1sndGFibGUnXSkKCXsKCQljYXNlICdBdHRyaWJ1dGVzJzoKCQkJJGFjdGl2ZSA9ICgkcGFyYW1zWydhY3RpdmUnXSA9PSAwKT8xOjA7CgkJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzIFNFVCBhY3RpdmUgPSA/IAoJCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3RpdmUsICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKSk7CgkJCSRyZWRpcmVjdHRvID0gJ3Byb2R1Y3RfZWRpdCc7CgkJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2F0dHJpYnV0ZXMnLCAncHJvZHVjdF9pZCc9PiRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSk7CgkJCWJyZWFrOwoJCWNhc2UgJ0F0dHJpYnV0ZXNEaXNwbGF5JzsKCQkJJGRpc3BsYXlvbmx5ID0gKCRwYXJhbXNbJ2Rpc3BsYXlvbmx5J10gPT0gMCk/MTowOwoJCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyBTRVQgZGlzcGxheW9ubHkgPSA/IAoJCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRkaXNwbGF5b25seSwgJHBhcmFtc1snYXR0cmlidXRlX2lkJ10pKTsKCQkJJHJlZGlyZWN0dG8gPSAncHJvZHVjdF9lZGl0JzsKCQkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnYXR0cmlidXRlcycsICdwcm9kdWN0X2lkJz0+JHBhcmFtc1sncHJvZHVjdF9pZCddKTsKCQkJYnJlYWs7CgkJY2FzZSAnQ2F0ZWdvcmllcyc6CgkJCSRhY3RpdmUgPSAoJHBhcmFtc1snYWN0aXZlJ10gPT0gMCk/MTowOwoJCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2NhdGVnb3JpZXMgU0VUIGFjdGl2ZSA9ID8gCgkJCQlXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRhY3RpdmUsICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKCQkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ3BhcmVudF9pZCddKTsKCQkJYnJlYWs7CgkJY2FzZSAnUHJvZHVjdHMnOgoJCQkkYWN0aXZlID0gKCRwYXJhbXNbJ2FjdGl2ZSddID09IDApPzE6MDsKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBTRVQgYWN0aXZlID0gPyAKCQkJCVdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRhY3RpdmUsICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkpOwoJCQkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ2N1cnJlbnRfcHJvZHVjdF9pZCc9PiRwYXJhbXNbJ3BhcmVudF9pZCddKTsKCQkJYnJlYWs7CgkJZGVmYXVsdDoKCQkJYnJlYWs7Cgl9CgogIC8vIFJlZGlyZWN0IHRoZSB1c2VyIHRvIHRoZSBhZG1pbiBzY3JlZW4gdGhhdCBvbmUgY2FtZSBmcm9tCiAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJHJlZGlyZWN0dG8sICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/action.templates_update.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gPGR1a2V0b3duQG1hbnRveC5ubD4KIwojIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIHRlbXBsYXRlcyBhcyBzZXQgaW4gdGhlIGFkbWluIHBhcnQgb2YgbW9kdWxlIFNob3AgTWFkZSBTaW1wbGUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFNob3BNYWRlU2ltcGxlJykpCgl7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCX0KCmlmIChpc3NldCgkcGFyYW1zWydjYXRsaXN0X3RlbXBsYXRlJ10pICYmICEgZW1wdHkoJHBhcmFtc1snY2F0bGlzdF90ZW1wbGF0ZSddKSkKCXsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0bGlzdF90ZW1wbGF0ZScsJHBhcmFtc1snY2F0bGlzdF90ZW1wbGF0ZSddKTsKCX0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3JpZXNfdGVtcGxhdGUnXSkgJiYgISBlbXB0eSgkcGFyYW1zWydjYXRlZ29yaWVzX3RlbXBsYXRlJ10pKQoJewoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yaWVzX3RlbXBsYXRlJywkcGFyYW1zWydjYXRlZ29yaWVzX3RlbXBsYXRlJ10pOwoJfQppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGRldGFpbF90ZW1wbGF0ZSddKSAmJiAhIGVtcHR5KCRwYXJhbXNbJ3Byb2RkZXRhaWxfdGVtcGxhdGUnXSkpCgl7CQoJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZGV0YWlsX3RlbXBsYXRlJywkcGFyYW1zWydwcm9kZGV0YWlsX3RlbXBsYXRlJ10pOwoJfQppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGZlYXRfdGVtcGxhdGUnXSkgJiYgISBlbXB0eSgkcGFyYW1zWydwcm9kZmVhdF90ZW1wbGF0ZSddKSkKCXsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJvZGZlYXRfdGVtcGxhdGUnLCRwYXJhbXNbJ3Byb2RmZWF0X3RlbXBsYXRlJ10pOwoJfQoKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd0ZW1wbGF0ZXN1cGRhdGVkJykpOwokcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3RlbXBsYXRlc3VwZGF0ZWQnKTsKJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ3RlbXBsYXRlcyc7CiR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdGFkbWluJywgJGlkLCAkcGFyYW1zKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgoJPGxpPlZlcnNpb24gMC4zLjUgMiBBdWd1c3QgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPkFkZCB0byBjYXJ0IGZyb20gcHJvZHVjdCBsaXN0IHdhcyBhYmxlIHRvIGFkZCBzZWNvbmQgbGluZSB3aXRoIHNhbWUgcHJvZHVjdDs8L2xpPgoJCQk8bGk+TWlub3IgY2hhbmdlcyBzbyBtb2R1bGUgd29ya3Mgd2l0aCBQb3N0Z3Jlc3MgZGF0YWJhc2UgYXMgd2VsbCAodGhhbmtzIGdvIHRvIEJyZXR0IG9mIEJpbmFyeXN0dWRpb3MubmV0KS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjQgMTIgSnVuZSAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+VGltZSBvZiBkZWNyZWFzaW5nIHRoZSBpbnZlbnRvcnkgc3RvY2sgbGV2ZWwgY2FuIG5vdyBiZSBzZXQgdmlhIHByZWZlcmVuY2VzOzwvbGk+CgkJCTxsaT5QYWdpbmF0aW9uIGRpZG4ndCB3b3JrIGNvcnJlY3RseSBvbiBwcm9kdWN0IGxpc3QgcGFnZSAoYWZ0ZXIgc2VsZWN0aW5nIGNhdGVnb3J5KTs8L2xpPgoJCQk8bGk+QXR0cmlidXRlIGl0ZW0gbnVtYmVycyB3ZXJlIG5vdCBjYXBpdGFsaXplZCBhdXRvbWF0aWNhbGx5IHdoZW4gb3B0aW9uIHRvIGRvIHNvIHdhcyBvbjs8L2xpPgoJCQk8bGk+UGFnaW5hdGlvbiBkaWRuJ3Qgd29yayB3aGVuIG9ubHkgb25lIGl0ZW0gc2hvdWxkIGJlIHNob3duIHBlciBwYWdlIChidWcjIDM4ODcpOzwvbGk+CgkJCTxsaT5DYWxjdWxhdGlvbiBvZiBhdHRyaWJ1dGUgcHJpY2Ugd2FzIHdyb25nIHdoZW4gcHJpY2UgYWRqdXN0bWVudCB3YXMgJysnIG9yICctJzs8L2xpPgoJCQk8bGk+TmV3IHZhcmlhYmxlIGF2YWlsYWJsZSBpbiB0aGUgdGhlIHByb2R1Y3QgbGlzdGluZyB0ZW1wbGF0ZTogYXZhaWxhYmxlc3RvY2suIFRoaXMgaG9sZHMgdGhlIAoJCQlxdWFudGl0eSBhdmFpbGFibGUgb2YgdGhlIHByb2R1Y3QgdGhhdCBpcyBvbiBzdG9jazs8L2xpPgoJCQk8bGk+SWYgaW52ZW50b3J5IG1hbmFnZW1lbnQgbW9kdWxlIGlzIGluIHVzZSwgc2FsZXMgdHJhbnNhY3Rpb25zIGFyZSBwYXNzZWQ7PC9saT4KCQkJPGxpPkNoYW5nZWQgdGhlIG1heGltdW0gdmVyc2lvbiBvZiBDTVNNUyB0byBtYWtlIHN1cmUgbm8gcHJvYmxlbXMgd2l0aCB2ZXJzaW9uIDEuMTAgb2YgQ01TTVMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy4zIDI2IE1heSAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+RXh0ZW5kZWQgbGVuZ2h0IG9mIG5hbWUgb2YgcHJvZHVjdCBpbnB1dCB0byAyNTUgaW4gdG90YWw7PC9saT4KCQkJPGxpPklmIGludmVudG9yeSB0eXBlIHByZWZlcmVuY2Ugc2V0IHRvICdOb3QgdXNlZCcsIGFsbG93IGFkZCB0byBjYXJ0IG9wdGlvbi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjIgMjEgRGVjZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPkF0dHJpYnV0ZSBkZXNjcmlwdGlvbiB3YXMgbm90IHNhdmVkIHdoZW4gYXR0cmlidXRlIHdhcyBhZGRlZDs8L2xpPgoJCQk8bGk+V2hlbiBlZGl0aW5nIGEgY2F0ZWdvcnksIHRoZSBjYXRlZ29yeSB0aGF0IGlzIGVkaXRlZCBjYW4ndCBiZSBzZXQgYXMgdGhlIHBhcmVudCBjYXRlZ29yeTs8L2xpPgoJCQk8bGk+RGVwZW5kZW50IG9uIGludmVudG9yeSBzZXR0aW5ncywgbGFiZWxzIG9mIGZpZWxkcyBvbiBwcm9kdWN0IGFuZCBhdHRyaWJ1dGUgbGV2ZWwgYXJlIHNob3duIG9yIGhpZGRlbjs8L2xpPgoJCQk8bGk+SWYgcHJvZHVjdCBpcyBkZWFjdGl2YXRlZCwgaXRzIHNlYXJjaCBpbmRleCBlbnRyaWVzIGFyZSByZW1vdmVkLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjMuMSAxNyBOb3ZlbWJlciAyMDEwPGJyIC8+CgkJPHVsPgoJCQk8bGk+V2hlbiB1bmluc3RhbGxpbmcsIHRoZSBzZWFyY2ggaW5kZXggZW50cmllcyBvZiB0aGUgcHJvZHVjdHMgYXJlIHJlbW92ZWQ7PC9saT4KCQkJPGxpPlByZWZlcmVuY2VzIG5vdyBob2xkcyBmaWVsZCB0aGF0IGFsbG93cyB0cmFja2luZyBvZiBpbnZlbnRvcnkgb24gcHJvZHVjdCBvciBhdHRyaWJ1dGUgbGV2ZWwgKFJlcXVlc3QjIDQ1MDEpOzwvbGk+CgkJCTxsaT5NYWtlIG1heCBhdHRyaWJ1dGVzIG9uIHByb2R1Y3QgbGV2ZWwgbWFpbnRhaW5hYmxlOzwvbGk+CgkJCTxsaT5Ob3QgYWN0aXZlIGF0dHJpYnV0ZXMgd2hlcmUgc2hvd24gb24gZnJvbnQgZW5kLCBmcm9tIHRoaXMgbW9tZW50IG9uIHRoaXMgaXMgbm90IHRoZSBjYXNlIGFueW1vcmUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy4wIDYgTm92ZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPk5hbWUgb2Ygc2hvcCBpbiBwcmVmZXJlbmNlcyBpcyBub3cgdXNlZCBpbiBkb2N1bWVudCBwcm9wZXJ0aWVzIG9mIGludm9pY2UgZ2VuZXJhdGVkIGluIENhcnQgTWFkZSBTaW1wbGU7PC9saT4KCQkJPGxpPkJpZyBjaGFuZ2Ugb24gdGhlIHBlcm1pc3Npb24gc3lzdGVtLiBOb3RlIC0tPiBBbGwgcHJldmlvdXMgU2hvcCBNYWRlIFNpbXBsZSBwZXJtaXNzaW9ucyBhcmUgZ29uZSB3aGVuIHVwZ3JhZGVkISBTb3JyeSwgdGhpcyBjb3VsZCBub3QgYmUgYXZvaWRlZDs8L2xpPgoJCQk8bGk+U2hvd2luZyBtdWx0aXBsZSBsZXZlbHMgaW4gY2F0ZWdvcmllcyBub3cgcG9zaWJsZSB3aXRoIHBhcm0gY2F0bGlzdCAoc2VlIGhlbHAgdGV4dCk7PC9saT4KCQkJPGxpPkluY2x1ZGUgcHJpY2UgZm9ybWF0aW5nIGluIGRlZmF1bHQgY2F0ZWdvcnkvcHJvZHVjdHMgdGVtcGxhdGU7PC9saT4KCQkJPGxpPkdldCByaWQgb2YgcHVibGljIG1lbWJlciB2YXJpYWJsZXMgc3VjaCBhcyAnZ2xvYmFsICRnQ21zJzs8L2xpPgoJCQk8bGk+TWluaW11bSB2ZXJzaW9uIHNldCB0byAxLjguMSBkdWUgdG8gcmVtb3ZhbCBwdWJsaWMgbWVtYmVyIHZhcmlhYmxlczs8L2xpPgoJCQk8bGk+UmVtb3ZlZCBjYWxsIHRvIHNvbWV0aW1lcyBub3Qgd29ya2luZyBleGlmX2ltYWdlOzwvbGk+CgkJCTxsaT5NYWRlIGJldHRlciB1c2Ugb2YgcGF0aCBkaXJlY3Rvcnkgc2VwYXJhdG9yOzwvbGk+CgkJCTxsaT5JbnRyb2R1Y3Rpb24gb2YgbWF4aW11bSBudW1iZXIgb2YgYXR0cmlidXRlcyBwZXIgcHJvZHVjdDs8L2xpPgoJCQk8bGk+TmV3IHByZWZlcmVuY2VzOiAnbWF4aW11bSBhdHRyaWJ1dGVzJyBhbmQgJ2FsbG93IGR1cGxpY2F0ZSBpdGVtIG51bWJlcicgYWRkZWQgdG8gcHJlZmVyZW5jZSBwYWdlOzwvbGk+CgkJCTxsaT5TaW5jZSBpdCBoYWQgdG90YWx5IG5vIGZ1bmN0aW9uLCBkZWZhdWx0IGxhbmd1YWdlIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBwcmVmZXJlbmNlcyBwYWdlOzwvbGk+CgkJCTxsaT5DaGFuZ2VkIGRlZmF1bHQgcHJvZHVjdCBkZXRhaWwgdGVtcGxhdGUgd2l0aCByZWdhcmRzIHRvIG51bWJlciBvZiBkZWNpbWFscyBvbiBwcmljZTs8L2xpPgoJCQk8bGk+VGFibGUgYXR0cmlidXRlX29wdGlvbnMgcmVtb3ZlZCwgY29udGVudCB3YXMgbm90IG1haW50YWluYWJsZSwgYWxsIGZpZWxkcyBub3cgaW4gdGFibGUgcHJvZHVjdF9hdHRyaWJ1dGVzOzwvbGk+CgkJCTxsaT5BdHRyaWJ1dGVzIG9mIHByb2R1Y3Qgbm93IGhvbGQgcHJpY2UgZmFjdG9yIGFuZCB2YXJpb3VzIG90aGVyIGZpZWxkcyAoUmVxdWVzdCMgMzgyNik7PC9saT4KCQkJPGxpPk1vdmVkIGZ1bmN0aW9ucyBpbnRlcm5hbGx5IGFyb3VuZCwgc28gbW9kdWxlIGJlY29tZXMgYSBiaXQgbW9yZSBsaWtlIHN0YW5kYXJkOzwvbGk+CgkJCTxsaT5WZXJzaW9uIDAuMi45IG9uIHB1cnBvc2Ugc2tpcHBlZCwgc2luY2UgdGhpcyBpcyBhIG1ham9yIHJlbGVhc2UuIFNpbmNlIHRoaXMgdmVyc2lvbiBicmVha3Mgd2l0aCB0aGUgb3JpZ2luYWwsIER1a2V0b3duIHRoYW5rcyAKCQkJR2FyeSBHcmV5bGluZyAoTGFodWluZGFpKSBmb3IgYWxsIGhpcyBwZXJmZWN0IHdvcmsuIFRpbWUgdG8gbW92ZSBvbi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjggOSBTZXB0ZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPk5vIG1vcmUgcHJvYmxlbXMgd2l0aCBwcm9kdWN0IHByaWNlcyBncmVhdGVyIHRoYW4gOTk5IChidWcjIDQ1MTEpOzwvbGk+CgkJCTxsaT5BbGxvdyBtb2R1bGUgdG8gcnVuIGluIDEuOCBlbnZpcm9ubWVudCBvZiBDTVNNUzs8L2xpPgoJCQk8bGk+UmVuYW1lIG9mIGNsYXNzIFByb2R1Y3RzIHRvIFNNU1Byb2R1Y3RzIHNvIG1vZHVsZSBjYW4gcnVuIG5leHQgdG8gcHJvZHVjdHMgbW9kdWxlOzwvbGk+CgkJCTxsaT5OYW1lIG9mIHByb2R1Y3QgaGFzIGJlZW4gaW5jcmVhc2VkIHdpdGggbnVtYmVyIG9mIGNoYXJhY3RlcnMgZnJvbSAzMCB0byAyNTU7PC9saT4KCQkJPGxpPldvcmsgZG9uZSBvbiBwcmV0dHkgVVJMIChidWcjIDMxMjImNDA4MSkgc29sdmVkIGJ5IGRydW16b25lOzwvbGk+CgkJCTxsaT5OZXR3ZWlnaHQgbm93IGF2YWlsYWJsZSBhcyB2YXJpYWJsZSBpbiB0aGUgcHJvZHVjdCBkZXRhaWwgb3ZlcnZpZXcuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi43IDEgTWFyY2ggMjAxMDxicj4KCQk8dWw+CgkJCTxsaT5JbnB1dCBwYXJhbWV0ZXJzIHdlcmUgbm90IGNsZWFuZWQgYXQgY29ycmVjdCBtb21lbnQgY2F1c2luZyB3YXJuaW5nczs8L2xpPgoJCQk8bGk+Q2F0ZWdvcnkgYW5kIHByb2R1Y3RzIHRlbXBsYXRlIHRoYXQgaXMgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uIGV4dGVuZGVkIHRvIGluY2x1ZGUgaG93IHRvIHVzZSBpbWFnZSBvZiBhZGQgdG8gY2FydDs8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjYgMSBOb3ZlbWJlciAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPlNldCBtYXhpbXVtIENNU01TIHZlcnNpb24gdG8gMS42LjkgdG8gb3ZlcmNvbWUgcHJvYmxlbXM7PC9saT4KCQkJPGxpPkNoYW5nZSBsb2cgbm90IGluIHRyYW5zbGF0aW9uIGFueW1vcmUsIHNvIHRoaXMgbG9nIGlzIG9ubHkgYXZhaWxhYmxlIGluIEVuZ2xpc2g7PC9saT4KCQkJPGxpPlByZXBhcmUgYWRkIHRvIGNhcnQgbGluayB3aXRoIGltYWdlIChGZWF0IFJlcSMzMzI0KS4gSW1hZ2UgdGFrZW4gaXMgU2hvcE1hZGVTaW1wbGUvaW1hZ2VzL2FkZHRvY2FydC5naWYuIENoYW5nZSB0aGlzIGltYWdlIGlmIG5lZWRlZC48YnI+CgkJCVVzZSB7JGFkZHByb2R1Y3RpbWFnZX0gaW4gdGhlIHRlbXBsYXRlIGluIHN0ZWFkIG9mIHskYWRkcHJvZHVjdH0sIHdoaWNoIGlzIHRoZSB0ZXh0OzwvbGk+CgkJCTxsaT5SZW1vdmVkIHByb2R1Y3QgaWQgb24gZGVmYXVsdCBmZWF0dXJlZCBwcm9kdWN0cyB0ZW1wbGF0ZS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjUgMTAgQXVndXN0IDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+TWlzc2luZyBjb2RlIGluIGZyb250IGVuZCBwcm9kdWN0IGRldGFpbC4gKGJ1ZyMgMzg1MCkgc29sdmVkIGJ5IE5hTi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjQgMjYgSnVseSAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPkF1dG9tYXRpYyBpbnN0YWxsYXRpb24gb2Ygc3R5bGVzaGVldCBcJ01vZHVsZTogU2hvcCBNYWRlIFNpbXBsZVwnIHdhcyBub3Qgd29ya2luZyAoc3R5bGVzaGVldCB3aWxsIGJlIGluc2VydGVkIGR1cmluZyB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjIuMyB0byAwLjIuNCk7PC9saT4KCQkJPGxpPkFjdGl2YXRpbmcgYW5kIGRlYWN0aXZhdGluZyB3YXMgbm90IHdvcmtpbmcgY29ycmVjdGx5IGZvciBjYXRlZ29yaWVzIGluIGxpc3Qgb2YgY2F0ZWdvcmllcywgY2hhbmdlIGFsc28gYXBwbGllZCBmb3IgcHJvZHVjdHM7PC9saT4KCQkJPGxpPk5vIHRlc3QgZGF0YSBjcmVhdGVkIGFueW1vcmUgYXV0b21hdGljYWxseSBkdXJpbmcgaW5zdGFsbGF0aW9uOzwvbGk+CgkJCTxsaT5PbiBwcm9kdWN0IGRldGFpbCBuZXcgdmFyaWFibGVzIGludHJvZHVjZWQ6IHtpbWFnZXRodW1ifSBhbmQge2Z1bGxwYXRoaW1hZ2V9IHRvIHN1cHBvcnQgaW1hZ2VzIGJldHRlcjs8L2xpPgoJCQk8bGk+Tm8gY2F0ZWdvcnkgYW5kIHByb2R1Y3QgaWQgdXNlZCBhbnltb3JlIGluIGluc3RhbGxlZCB0ZW1wbGF0ZSBvZiBjYXRhZ29yeSBsaXN0OzwvbGk+CgkJCTxsaT5EZWZhdWx0IGN1cnJlbmN5IGlzIHNldCB0byBFdXJvOzwvbGk+CgkJCTxsaT5Xb3JrIGRvbmUgb24gcHJldHR5IFVSTCAtLT4gbm90IGZ1bGx5IGZ1bmN0aW9uYWw7PC9saT4KCQkJPGxpPkJ1ZyBzb2x2ZWQgKGJ5IEZhdGxpemFyZCkgdG8gaGFuZGxlIGNvcnJlY3QgcHJvZHVjdF9pZCBpbiBmZSBwcm9kdWN0IGRldGFpbC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjMgMTcgTWF5IDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+SW5pdGlhbGl6ZWQgdmFyaWFibGVzIGNvcnJlY3RseSwgc28gbm8gd2FybmluZyBhcHBlYXJzIGZvciB0aGVtIHdoZW4gcGhwLmluaSBzdGF0ZXMgdG8gc2hvdyB3YXJuaW5nczs8L2xpPgoJCQk8bGk+TmV3IHByZWZlcmVuY2VzIGZvciB0aHVtYm5haWwgZ2VuZXJhdGlvbi4gVXNlIHRoZSByZWJ1aWxkIGJ1dHRvbiB0byBnZW5lcmF0ZSB0aHVtYm5haWxzIGZyb20gZWFybGllciBsb2FkZWQgaW1hZ2VzLjwvbGk+CgkJCTxsaT5UaGUgZGV0YWlsIHRlbXBsYXRlIGhhcyBiZWVuIGNoYW5nZWQgdG8gYWxsb3cgc3dpdGNoaW5nIGltYWdlcy4gQSBzaW1wbGVyIHZlcnNpb24gaXMgYXZhaWxhYmxlIHRvIGNvcHkgZnJvbSBpbiB0aGUKCQkJdGVtcGxhdGVzIGRpcmVjdG9yeS4gVGhlIG5hbWUgaXMgZmVfcHJvZHVjdF9kZXRhaWwxLnRwbC48YnI+CgkJCUlmIHlvdSBoYXZlIHVwZ3JhZGVkIGZyb20gYW4gZWFybGllciB2ZXJzaW9uIHlvdSBtYXkgd2FudCB0byB1c2UgdGhlIHN3aXRjaGluZyBvZiBpbWFnZXMuIExvb2sgaW4gdGVtcGxhdGVzXGZlX3Byb2R1Y3RfZGV0YWlsLnRwbC48L2xpPgoJCQk8bGk+T3JpZ2luYWwgdGVtcGxhdGUgb2YgcHJvZHVjdHMgcGVyIGNhdGVnb3J5IGNoYW5nZWQgdG8gc2hvdyBpbWFnZSB3aXRoIGxpbmsgb24gcHJvZHVjdCBsaW5lLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuMiA4IE1hciAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPlNob3cgbmFtZSB3aXRob3V0IGxpbmsgdG8gZGV0YWlsIG9uIHByb2R1Y3QgbGlzdGluZyAoZmVhdHVyZSByZXF1ZXN0IyAyOTg2KTogdXNlIHByb2RuYW1lbm9saW5rIGluIHN0ZWFkIG9mIHByb2RuYW1lIGluIHRoZSB0ZW1wbGF0ZS48L2xpPgoJCQk8bGk+QnVpbGQgaW4gbGluayBmcm9tIGltYWdlIHRvIGRldGFpbCBvbiBwcm9kdWN0IGxpc3RpbmcgKGZlYXR1cmUgcmVxdWVzdCMgMzA4Myk6IHVzZSBwcm9kaW1hZ2VsaW5rIGluIHN0ZWFkIG9mIHByb2RpbWFnZSBpbiB0aGUgdGVtcGxhdGUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi4xIDE1IEphbiAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPlR5cG8gY2F1c2VkIGRpc3BsYXk9cHJvZHVjdGxpc3QgY2F0bmFtZT0uLi4gbm90IHRvIHdvcmsgY29ycmVjdGx5LiBCdWcgc29sdmVkLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuMCAxMSBKYW4gMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5DdXJyZW5jeSBzeW1ib2wgYXZhaWxhYmxlIGZvciBjYXRlZ29yeSBsaXN0ICh1c2UgJGVudHJ5LT5jdXJzeW1ib2x9OzwvbGk+CgkJCTxsaT5UZW1wbGF0ZXMgY2FuIG5vdyBiZSBhZGp1c3RlZCB0byBkZWNyZWFzZSBsZW5ndGggb2YgZGVzY3JpcHRpb24gKHdhcyBoYXJkY29kZWQpIHVzaW5nIHx0cnVuY2F0ZSBpbiB0ZW1wbGF0ZTs8L2xpPgoJCQk8bGk+SGFyZGNvZGVkIHNpZ25hbGluZyB0aGF0IHRoZXJlIGFyZSBubyBjYXRlZ29yaWVzIG9yIHByb2R1Y3RzIGlzIHJlbW92ZWQsIG5vdyBwYXJ0IG9mIHRyYW5zbGF0aW9uOzwvbGk+CgkJCTxsaT5JZiB0aGUgbW9kdWxlIFNlYXJjaCBoYXMgYmVlbiBpbnN0YWxsZWQsIHRoZSBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwcm9kdWN0cyBjYW4gYmUgc2VhcmNoZWQgdXBvbjs8L2xpPgoJCQk8bGk+QnVnIHNvbHZlZCBvbiB1cGRhdGluZyBjYXRlZ29yeSBpbmZvcm1hdGlvbi4gRWRpdG9yIHdhcyBub3Qgd29ya2luZyB3ZWxsOzwvbGk+CgkJCTxsaT5EZXNjcmlwdGlvbiBvZiBjYXRlZ29yeSBhbmQgcHJvZHVjdCBjb3VsZCBzcGFuIHR3byBsaW5lcy4gTm93IGFsd2F5cyBvbmx5IG9uZSBsaW5lOzwvbGk+CgkJCTxsaT5OZXcgcHJlZmVyZW5jZSBhZGRlZCB0byBob2xkIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2U7PC9saT4KCQkJPGxpPlVzaW5nIHBhcmFtZXRlciBwcm9kcGFnZWxpbWl0LCB0aGUgbnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdlIGNhbiBiZSBpbmZsdWVuY2VkIChvdmVycmlkaW5nIHRoZSBwcmVmZXJlbmNlKS48YnI+CgkJCVBhZ2luZyBpcyBwb3NzaWJsZSB1c2luZyB0aGUgZm9sbG93aW5nIGluIHRoZSBDYXRlZ29yaWVzL1Byb2R1Y3RzIHRlbXBsYXRlOjxicj4KCQkJe2lmICRwYWdlY291bnQgPiAxfTxicj4mbmJzcDt7JGZpcnN0cGFnZX0geyRwcmV2cGFnZX0geyRwYWdldGV4dH06ICB7JHBhZ2VudW1iZXJ9IHskb2Z0ZXh0fTogeyRwYWdlY291bnR9IHskbmV4dHBhZ2V9IHskbGFzdHBhZ2V9PGJyPnsvaWZ9CgkJCTxicj48L2xpPgoJCQk8bGk+SW50ZXJuYWwgY2xlYW4gdXAgb2YgZnJvbnQgZW5kIGNhdGVnb3J5IGxpc3RpbmcgcHJvZ3JhbS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjkgMjkgRGVjIDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+UmVtb3ZlZCB0cmFuc2xhdGlvbiBidWcgZHVyaW5nIGluc3RhbGxhdGlvbi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjggMTEgRGVjIDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+U29sdmVkIGlzc3VlIHdoZXJlIHN3aXRjaCBzdGF0dXMgb24gcHJvZHVjdCBjYXVzZWQgZGVzY3JpcHRpb24gdG8gYmUgY2xlYXJlZDs8L2xpPgoJCQk8bGk+RWRpdCBvZiBTdG9jayBLZWVwaW5nIFVuaXQgd2FzIG5vdCB3b3JraW5nOzwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuNyA5IERlYyAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPkFkZCB0byBjYXJ0IGF2YWlsYWJsZSBhdCBsaXN0IG9mIHByb2R1Y3RzIG9uIGZyb250IGVuZDs8L2xpPgoJCQk8bGk+TmV3IGZpZWxkczogU3RvY2sgS2VlcGluZyBVbml0IChTS1UpIGFuZCBpdGVtbnVtYmVyIGF2YWlsYWJsZSBwZXIgcHJvZHVjdDs8L2xpPgoJCQk8bGk+TWFpbnRlbmFuY2Ugb24gU0tVIGlzIHBvc3NpYmxlOzwvbGk+CgkJCTxsaT5BZGRpdGlvbmFsIHByZWZlcmVuY2UgdG8gYWxsb3cgb25seSBjYXBpdGFsIGNoYXJhY3RlcnMgaW4gaXRlbW51bWJlcjs8L2xpPgoJCQk8bGk+QWRkaXRpb25hbCBwcmVmZXJlbmNlIHRvIHNldCBkZWZhdWx0IFNLVSBkdXJpbmcgYWRkIG9mIGEgcHJvZHVjdC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjYgMTIgTm92IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+SW1hZ2Ugb2YgY2F0ZWdvcnkgaXMgbm93IGRpc3BsYXllZCBpbiBmcm9udCBvZiBjYXRlZ29yeSBuYW1lIGluIGNhdGVnb3J5IGxpc3Rpbmc7PC9saT4KCQkJPGxpPkxlbmd0aCBvZiBwcm9kdWN0IGFuZCBhdHRyaWJ1dGUgZGVzY3JpcHRpb24gZW5sYXJnZWQ7PC9saT4KCQkJPGxpPkNoZWNrIGJ1aWxkIGluIGR1cmluZyBpbnN0YWxsYXRpb24gaWYgdGhlIGNvbmZsaWN0aW5nIG1vZHVsZSBQcm9kdWN0cyBoYXMgYmVlbiBpbnN0YWxsZWQ7PC9saT4KCQkJPGxpPkJ1ZyBvbiBhZGRpbmcgbmV3IHByb2R1Y3RzIGNvcnJlY3RlZCAod2FzIGFsd2F5cyBwb2ludGluZyB0byByb290IGFmdGVyIGFkZGluZyk7PC9saT4KCQkJPGxpPkRlbGV0aW9uIG9mIHByb2R1Y3QgcmV0dXJucyB0byBsYXN0IHVzZWQgY2F0ZWdvcnk7PC9saT4KCQkJPGxpPkFmdGVyIFN3aXRjaCBvZiBzdGF0dXMsIGxhc3Qgc2hvd24gY2F0ZWdvcnkvcHJvZHVjdHMgbGlzdCBpcyBzaG93bjs8L2xpPgoJCQk8bGk+RGVzY3JpcHRpb24gYm94ZXMgZm9yIHByb2R1Y3QsIGF0dHJpYnV0ZXMgYW5kIGltYWdlcyBpbXByb3ZlbWVudHM7PC9saT4KCQkJPGxpPlByZXBhcmUgY29ycmVjdCBjb25uZWN0aW9uIG9mIG11bHRpcGxlIGNhdGVnb3JpZXMgdG8gb25lIHByb2R1Y3Q7PC9saT4KCQkJPGxpPlZhcmlhYmxlICRpbWFnZSBpbiBkZXRhaWwgdGVtcGxhdGUgcmVuYW1lZCB0byAkcHJvZGltYWdlLCBzaW5jZSBpdCBtaWdodCBiZSBpbiB1c2UgaW4gb3RoZXIgbW9kdWxlcyAobGlrZSBwcmludGluZyk7PC9saT4KCQkJPGxpPldoZW4gbGFzdCBjYXRlZ29yeSBjb25uZWN0aW9uIHRvIHByb2R1Y3QgaXMgZGVsZXRlZCwgdGhlIHByb2R1Y3Qgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgKG90aGVyd2lzZSBpdCBjYW5cJ3QgYmUgc2VsZWN0ZWQgYW55bW9yZSk7PC9saT4KCQkJPGxpPk11bHRpcGxlIGxldmVscyBvZiBjYXRlZ29yaWVzIGlzIGFsbG93ZWQgYXMgb2YgdmVyc2lvbiAwLjEuNSBidXQgaXMgbm90IHN1cHBvcnRlZCBvbiBmcm9udCBlbmQhIChzb3JyeSkuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS41IEp1bmUgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5NdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZC9wb3NzaWJsZTs8L2xpPgoJCQk8bGk+TmV3IHBhcmFtZXRlciBmb3IgZnJvbnRlbmQ6IHBhcmVudGNhdGVnb3J5LjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuNCBNYXkgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5VcGxvYWQgb2YgaW1hZ2UgZm9yIGNhdGVnb3J5IGhhcyBiZWVuIGNoYW5nZWQ7PC9saT4KCQkJPGxpPkNoYW5nZWQgaW5zdGFsbCBzbyBkaXJlY3RvcnkgcGF0aCBjb3JyZWN0IGZvciBjYXRlZ29yaWVzIGFuZCBwcm9kdWN0cy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjMgTWF5IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+QWxsIGZyb250IGVuZCBwYWdlcyBhcmUgaGFuZGxlZCBieSB0ZW1wbGF0ZXMgZGVyaXZlZCBmcm9tIGFkbWluIHBhcnQ7PC9saT4KCQkJPGxpPkFkbWluaXN0cmF0b3Igbm93IGhhcyB0YWIgY29udGFpbmluZyB0ZW1wbGF0ZXMgYXMgdXNlZCBvbiBmcm9udCBlbmQ7PC9saT4KCQkJPGxpPkZyb250IGVuZCBzaG93cyB3ZXRoZXIgcHJpY2VzIGFyZSBpbmNsLiBvciBleGNsLiBWQVQgZGVwZW5kZW50IG9uIHByZWZlcmVuY2U7PC9saT4KCQkJPGxpPlByb2R1Y3RzIGNvbm5lY3RlZCB0byBjYXRlZ29yeSBzb3J0ZWQgYnkgbGlzdCBvcmRlcjs8L2xpPgoJCQk8bGk+T3ZlcnZpZXcgY2F0ZWdvcmllcyBpbiBiYWNrIGVuZCBhbmQgZnJvbnQgZW5kIG5vdyBzb3J0ZWQgYnkgbGlzdCBvcmRlci48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjIgLSBNYXkgMXN0IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+V2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQsIGl0cyBjb25uZWN0ZWQgcHJvZHVjdHMgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgY2F0ZWdvcnkuPC9saT4KCQkJPGxpPlNvbWUgYnV0dG9ucyBsYWNrZWQgcHJvcGVyIHRyYW5zbGF0aW9ucy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjEgLSBBcHJpbCAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPk5vdyBvcHRpb24gdG8gc2hvdyBwcm9kdWN0cyBvZiBvbmUgY2F0ZWdvcnkgaW4gc2luZ2xlIHBhZ2VzIHVzaW5nIHBhcmFtZXRlcnMuPC9saT4KCQkJPGxpPlNvbWUgZmllbGRzIHR1cm5lZCBpbnRvIGZsb2F0IHRvIGNvcnJlY3RseSBoYW5kbGUgZGVjaW1hbHMuPC9saT4KCQkJPGxpPkRyb3BwZWQgYWRtaW4gcHJlZmVyZW5jZXMgdG8gaG9sZCBzaG9wIHBvbGljaWVzICh1c2UgY29udGVudCBibG9jayBvciBub3JtYWwgQ01TTVMgcGFnZSB3aXRoIHRoZSBwb2xpY2llcykuPC9saT4KCQkJPGxpPkludHJvZHVjdGlvbiBvZiBjaGVja21hcmsgaWYgcHJpY2VzIGFyZSBpbmNsdXNpdmUgb3IgZXhsY3VzaXZlIFZBVCBpbiBwcmVmZXJlbmNlcy48L2xpPgoJCQk8bGk+QWxzbyBpbiBwcmVmZXJlbmNlcyBub3cgdW5pdCBvZiBtZWFzdXJlIGZvciB3ZWlnaHRzIG9mIHRoZSBwcm9kdWN0cy48L2xpPgoJCQk8bGk+SW50cm9kdWN0aW9uIG9mIFZBVCBjb2RlIGFuZCBuZXR0IHdlaWdodCBwZXIgcHJvZHVjdC4gRm9yIGNhbGN1bGF0aW9uIG9mIChzaGlwcGluZykgY29zdCBpbiBDYXJ0IG1vZHVsZTwvbGk+ICAKCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4wIC0gQXByaWwgMTh0aCAyMDA4IFJvbGwgb3V0IHZlcnNpb248YnI+CgkJPHVsPgoJCQk8bGk+TGF5b3V0IGNoYW5nZXMgbWFkZTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjAuNCAtIEltcG9ydCBhbmQgRXhwb3J0IFJlbGVhc2U8YnI+CgkJPHVsPgoJCQk8bGk+Q2F0ZWdvcmllczwvbGk+CgkJCTxsaT5Qcm9kdWN0czwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjAuMyAtIENsaWVudCBJbnRlcmZhY2UgUmVsZWFzZTxicj4KCQk8dWw+CgkJCTxsaT5DbGllbnQgaW50ZXJmYWNlIHRhZ3M8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4wLjIgLSBBZG1pbmlzdHJhdGlvbiBFeHRlbmRlZCBSZWxlYXNlCgkJPHVsPgoJCQk8bGk+VGVtcGxhdGVzLCBFdmVudHMsIE9yZGVycywgVHJhbnNsYXRpb25zPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMC4xIC0gQWRtaW5pc3RyYXRpb24gUmVsZWFzZTxicj4KCQk8dWw+CgkJCTxsaT5QcmVmZXJlbmNlcyAtIENvbXBsZXRlZCBvbiAyNC8xMi8yMDA3PC9saT4KCQkJPGxpPkNhdGVnb3JpZXMgLSBDb21wbGV0ZWQgb24gMjUvMTIvMjAwNzwvbGk+CgkJCTxsaT5Qcm9kdWN0czwvbGk+CgkJPC91bD4KCTwvbGk+CjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/css/stylesheet.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2F0ZWdvcnkgcmVsYXRlZCBzZXR0aW5ncyAqLwouY2F0ZGVzY3JpcHRpb24KewogIG1hcmdpbi1sZWZ0OiAwLjVlbTsKICB3aWR0aDogMjUwcHg7Cn0KCiNjYXRpZAp7CiAgZGlzcGxheTogbm9uZTsKfQoKI2NhdGluZm8KewogIG1hcmdpbi1ib3R0b206IDFlbTsKICBib3JkZXItc3R5bGUKICB3aWR0aDogNDUwcHg7Cn0KCiNjYXRpbWFnZXRodW1iCnsKICBtYXJnaW46IDVweCAwIDAgMDsKICB3aWR0aDogNTBweDsKfQoKI2NhdGxpc3RoZWFkZXIKewogIGNvbG9yOiAjMjk0QjVGOwogIGZvbnQtc2l6ZTogMTMwJTsKICBtYXJnaW4tbGVmdDogMC41ZW07CiAgbWFyZ2luLXRvcDogMC41ZW07CiAgbWFyZ2luLWJvdHRvbTogMC41ZW07CiAgbWFyZ2luLXJpZ2h0OiAxZW07Cn0KCi5jYXRsaXN0bGluZQp7CiAgdGV4dC1pbmRlbnQ6IDVtbTsKfQoKLyogUHJvZHVjdCByZWxhdGVkIHNldHRpbmdzICovCiNwcm9kdWN0Y291bnQKewogIG1hcmdpbi10b3A6IDAuNWVtOwogIG1hcmdpbi1ib3R0b206IDAuNWVtOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMjk0QjVGOwp9CgojcHJvZHVjdGlkIHsKICBkaXNwbGF5OiBub25lOwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KCi5pbWcKewogIG1hcmdpbjogMnB4OwogIGJvcmRlcjogMXB4IHNvbGlkICMyOTRCNUY7CiAgZmxvYXQ6IGxlZnQ7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CQouaW1nIGltZwp7CiAgZGlzcGxheTogaW5saW5lOwogIGhlaWdodDogYXV0bzsKICB3aWR0aDogNDBweDsKICBtYXJnaW46IDNweDsKICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmOwp9Ci5pbWcgYTpob3ZlciBpbWcKewogIGJvcmRlcjogMXB4IHNvbGlkICMyOTRCNUY7Cn0KCi5wcm9kdWN0ZGVzYwp7CiAgdmVydGljYWwtYWxpZ246IHRvcDsKICBtYXJnaW4tbGVmdDogMC41ZW07CiAgd2lkdGg6IDUwMHB4Owp9CgpkaXYucHJvZHVjdGxpc3QKewogIHdpZHRoOiA2MDBweDsKfQoKLnByb2R1Y3RuYW1lCnsKICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogIHBhZGRpbmctYm90dG9tOiAzcHg7CiAgd2lkdGg6IDMwMHB4Owp9CgoucHJvZHVjdHByaWNlCnsKICBjb2xvcjogIzI5NEI1RjsKICB3aWR0aDogMzBweDsKICB0ZXh0LWFsaWduOiByaWdodDsKfQoKLnByb2R1Y3RhbW91bnQKewogIHdpZHRoOiA1MHB4OwogIHRleHQtYWxpZ246IHJpZ2h0Owp9CgoucHJvZHVjdHJlbW92ZQp7CiAgcGFkZGluZy1sZWZ0OiA1cHg7Cn0KCi50b3RhbGFtb3VudAp7CiAgZm9udC1zaXplOiAxOHB4OwogIHRleHQtYWxpZ246IHJpZ2h0Owp9CgojcHJvZHVjdHByaWNlc2luCnsKICBwYWRkaW5nLXRvcDogMzBweDsKfQoKZGl2LmF0dHJpYnV0ZWxpc3QKewogIHBhZGRpbmctYm90dG9tOiAzcHg7Cn0KdHIucm93MQp7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKdHIucm93Mgp7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsKfQoKdGFibGUucHJvZHVjdGF0dHIKewogIHRhYmxlLWxheW91dDogYXV0b21hdGljOwp9CgouYXR0cm5hbWUKewogIG1hcmdpbi1ib3R0b206IDAuMmVtOwogIHdpZHRoOiAyMCU7Cn0KCi5hdHRyZGVzYwp7CiAgbWFyZ2luLWJvdHRvbTogMC4yZW07CiAgdGV4dC1pbmRlbnQ6IDFjbQp9]]></data>
	</file>
	<file>
	  <filename>/desktop.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W1ZpZXdTdGF0ZV0NCk1vZGU9DQpWaWQ9DQpGb2xkZXJUeXBlPURvY3VtZW50cw0K]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/addtocart.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAAAAAAUHBhUVFRscGzwcHyMiISkjJCsrKzgsLjIyMT0yMzw9PUotL0EuMEg+P0NDQ0pFRktLS09PUVNNTltISlNTU1xWVlhYVlpaWmdeX21QUndbXWRkZGZmaGthYmtra3VtbnBwbnNzc3t7e36Af4J5eoOCg42Cg4qKi5GLi5KNjZOPj5SUlJuWl5ubmrOdnqWmpqmnqKurq7ipqr2ur7Ozs7e5uLm3uLm5ucPDw8vLy9LJytXV1dzb297b3OPGyOLR0+Lc3eDg3uLh4uXl5efn6enp6e7p6e3t7fTg4fvr7Pnu7f7s7vPz8/7w8v/y9Pj49vn5+f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAgACAAAAj/AP8JHEiwoMGDCBMqXMiwocOHAoeMqIADosIaKDgICFDBiEWBP16c8ADhwYEEHw4UGIHEIZAZKjZoIMBAwYcWNSp8QKIjh5GWCH3cWAFiAoIGFCAUcJBhAgYRKWso7IHDRAUIBhKYiGEiRZAgGXoMMQGjh4wERBA24bCgAoYIFTkIrMFC4AeBKCqyuAAFoZEIImS0qFCjRgQZVUPUsCFBho0PJnBUQBEFIZIIHVB8eIDCxAISGSejWIACRQUOIw5UtFzBxj8dJgTK/UdXYAeBLGrAiCAkIRLC/3KMkD237r/ZKGqQ4NDXcgSdFxZ0CJGAw4cIDz58QCnigUkcTRIa4gGeQwTxfzKMIx+dVjz54cfnurCLOwKG8L4Bs5jIggVpFx9wwIILDwzIQQEoLNSECdpZ1+CDD3ZgnQ6VKdQEEk1kqCGGRuTgAg5FHLGEEkw88ZFAUeiQ0gADiJDEiQM1oQMHJ5nAAwpZ9XBiFDyIcMABI+gQXhM8tPhREx8UoNUQBTnRgwEG6PgQEagJiVAPHEjlUBM1tJDDQjVk2VAULDxQwQNSHkQDCwKmmZ8MPWBg3EER7NDDAFpaiMEHNTwgQ0IWlNCCAm4iJEUOHFRgAn4H1YBBBfMxhAQSRrQH46UNBQQAOw==]]></data>
	</file>
	<file>
	  <filename>/images/bg_button_a.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgAwANUAAPj4+PX19dnZ2fLy8tHR0fv7++7u7re3t9jY2NbW1tPT09fX1/39/dDQ0Obm5uzs7Onp6c/Pz8zMzM7Oztzc3MXFxa+vr6ysrK2trc3NzcnJycLCwtLS0sjIyODg4L+/v/Dw8MrKytXV1cTExPz8/Lq6ut7e3tra2vr6+u/v79TU1Nvb2+Li4uvr66qqqurq6uHh4efn5+Tk5N/f393d3f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAASADAAAAb/QJdwiDlUFo+acslckgYyjkXSalqZKNqBcu3WQJeF9xq4cMdN0KGKZtIkNYZ8Tq8DLI+Cfs/vFxoLAIKDhIUAMxUBiouMjQEvBwOSk5SVAykYBpqbnJ0GLRgvoqOkpS8eBzGqq6ytMSoVMrKztLUyRzC5uru8JngzwMHCwyFwNMfIyckqazXKz8cLZkrQyiphS9XHJx1bbsorIhkbU2xLQ0RGSFfoQkVHSVYZ8/QSHRsl5U0T/P3+Eh+8LYlAsKBBghqwKWnAsKHDhhKm1SBAsaJFiyGaKdjIsaPHDXBUiBxJsiQBPAlSqlzJMsGHBQhiypxJE4GGCgJy6tzJUwCHXgMrggodSnSFAAzaoK3AMKzpsAUHeEnl1aACi6tYs2plMWKBra+yPOBxQLas2bMT4LhaG4NCMwhw48qNy0KiKVMzFNZowbev3xgEBCp5QLgwBBYLNOhj0s7Fu3VWggAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/bg_button_span.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhLAEwANUAANbW1tjY2NHR0e7u7vv7+9DQ0NPT0+bm5v39/ezs7Onp6c/Pz87Ozs3Nzbe3t9fX18zMzNzc3MXFxaysrK2tra+vr8nJycLCwsrKytLS0r+/v/Dw8ODg4MjIyNra2tXV1d7e3rq6usTExO/v7/z8/Pr6+vj4+PX19fLy8tnZ2dTU1Nvb2+Li4uvr6+rq6uHh4efn5+Tk5N/f36qqqt3d3f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAsATAAAAb/wJpwWEs8JA7KbMlsOp/QqHRKrVqv2Kx2y+16v+AqsdaCVDIxFGnMbrvf8Lh8Tq/b7/i8fs/v+4URDjQlf4WGh4iJiouMjQ8TG42Sk5SVlpeUERMnmJ2en6Chki0OkaKnqKmqqhA0q6+wsbKGCRUmCLi5uru8vb6/wMHCw8TFxsfIycrLzM3LDwUE0tPU1dbX2Nna29zd3t/g4eLj5OXm5+YSMibs7e7v8PHy8/T19vf4+fr7/P3+/wADAnTg4oTBgwgTKlzIsKHDhxAjSpxIsaLFixgzatyokcIIFCBDihxJsqTJkyhTqlzJsqXLlzBjypxJsyZNCi0G6NzJs6fP/59AgwodSrSo0aNIkypdyrSp06dOHXBwQbWq1atYs2rdyrWr169gw4odS7as2bNo06KVoAKG27dw48qdS7eu3bt48+rdy7ev37+AAwseLPhIjMOIEytezLix48eQI0ueTLmy5cuYM2vezHlzLRAvQoseTbq06dOoU6tezbq169ewY8ueTbu2bdo1IGCQwbu379/AgwsfTry48ePIkytfzry58+fQoz8n40AFjevYs2vfzr279+/gw4sfT768+fPo06tfzz49oAkP2sufT7++/fv48+v/PuSR9f0ABijggAQWuB8RgXTggYEMNujggxDiN0YZFVzQwAcrRKjhhhx22P9gG0YgoUQYJJZo4okopqjiiiwuAeIRSbQo44w01mjjjShOaEYIF3QAQQNABinkkEQWaeSRSCap5JJMNunkk1BGKeWUVFapJIIOaAABA1x26eWXYIYp5phklmnmmWimqeaabLbp5ptwxqlmfxNYsMCdeOap55589unnn4AGKuighBZq6KGIJqrooowe+h4EBUQq6aSUVmrppZhmqummnHbq6aeghirqqKSWaqqo1GEgwKqsturqq7DGKuustNZq66245qrrrrz26uuvwPaa2wUGFGvsscgmq+yyzDbr7LPQRivttNRWa+212GarLba1CKDCt+CGK+645JZr7rnopqv/7rrstuvuu/DGK++89Mr7gAYA5Kvvvvz26++/AAcs8MAEF2zwwQgnrPDCDDfscMMSWBDAxBRXbPHFGGes8cYcd+zxxyCHLPLIJJds8skon+xABim07PLLMMcs88w012zzzTjnrPPOPPfs889ABy100BSksMLRSCet9NJMN+3001BHLfXUVFdt9dVYZ6311lxvTUGGHoYt9thk0+fAA9KlrfbabLft9ttwx32cBAXcZvfdeOet99589+03aw+IwMLghBdu+OGIJ6744ow37vjjkEcu+eSUV2755ZhfXgsHnXXu+eeghy766KSXHlluDByg+uqst+7667DHLvvstNduqPvtuOeu++689+77771TFwFhxBdv/PHIJ6/88szf9R4LCkQv/fTUV2/99dhnr/323Hfv/ffghy/++OSXb774dMqg1vrst+/++/DHL//8W2EpAAwt5K///vz37///AAygAAdIwAIa8IAITKACF8jABjrwgDqqgAUeAL0EWPCCGMygBjfIwQ568IMgDKEIR0jCEprwhChMoQpXCMIXiQhHMIyhDGdIQxMFAQA7]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAAUHBhUVFRscGzwcHyMiISkjJCsrKzgsLjIyMT0yMzw9PUEYHEotL0EuMEg+P1o9P0NDQ0pFRktLS09PUVNNTltISlNTU1xWVlhYVlpaWmVFSGdeX21QUnVXWX5QU2RkZGZmaGpgYWtra3VsbXBwbnNzc3t7e36Af6U4PYxFSYdPUo9YXYJ5epJucJl1d7hRVbtfZKxgZKpvc7Zqbrdyd8JdY8Vka8tudsFwdsdxeMZ6fsl0e85zes92fNBnbthlbNFsctdvdtJ1etB1fNV0eNV1fNF4ftd4fthzed5wed92feRtdJt+grN8gb58gMd8gcl8gcx6gM59hNJ8gdh5geN/h4OCg4qKi5GLi5SUlJuWl5ubmreOkqWmpqenqaqhoqmnqKurq7Gjo7Ozs7e5uLq0trm5ucGDiMeKj8+AhcuFicqJjc+Kj8WRlc6RltGDidOIjd2Ch9iCiN2Eit2GjtiJjtSPkt+NkdCQkdGZn9qUmt6ZntGfos+5u9qwstqxtd6ys9m8vuOEieSFi+aFjOuCieuIjeqLkeuMlO6KkuyPl+CRluWUmuOYneyTmeqYnu6ZnPOCifKNk/aRl/qRlvmWm/+Sm/+UmvyepeOlqOmkp+6mquqtsuS7v+m7vv+gqP+kqf+nrv+orfarsP+rsPyts/Oytva1u/+yuP+1uv64vf+5wP+7xP+8wv++xMPDw8vLy9rQz9XV1dnZ19zb2+zDxuHO0OLc3ezS1ffFyP/Axf/Cyf7Eyf/GzfrIy//Jzv7Mz/PP0f/K0f/N0f/P1PPR1PDX2vnR0v7Q0v/R1f/U1//S2P7U2f3Z3P/e5ODg3uLh4uXl4+Xl5efn6enl5unp6e7p6e3r7Ozs6u3t7e/x8PTg4ffj5PDu7/ft7P/g5f/k5//l6f/n7Pjo6fvr7Pnu7f/p6//q7f7s7vHv8P/t8fHw7vPz8/f5+Pnx8vn19P7w8v/y9P/19fn3+P/2+Pj49vn5+fv7/fr8+//5+v/7/P78+/7+/gAAAAAAAAAAACH5BAEAAP8ALAAAAAAgACAAAAj/AHlJSiKIly88yJgBypOs1aEgR0YBa0VnjpxHybZJmyatWrd7/AhNYjWIUzId38xlWhPOUZxdqaD86mVkVaocvfLx22kvXTZ+g4h8UvUtGZBQpATJSSZEFzx4dyrtoiJMFw9d9HiyY3dtnitRhYSYSuYjUiQicoQh4RUvHiRKvW68UaMnHD170ExYMJOOnSFXzjC96dXD2TlNapwpASXu2xRRvaQoAxfO1pgrHwIAsFCN3aI0dZ6cSnbmnDo/bdSh2sFmjZ1fm2QwCREBggEEIgwQMJGNXbNitY7Fg1dMnj5uxtSdq8WlRQcOAxgkEKFljAUR2WC9qtabWr7v+vbJ/3N3q8yXERQONKgQgYCDDRQylMg9ZufOrdTu0zJjxUKEAghYAYYVWNxyywa0QGNFF7SEgYA09vGzFYTsfKCABRlIYEY1H3Q2Rhb2sCNCOu9cYUY9WWBQT4S9VcNPNRKUEIYWFowxhgRh8EfCGGRMEAYZIlhhhgVX2BOhNu1AmI0EIFwhAgRXWKHACZgReYUCV1xhwQcmGGBGhPxow46SFpDRDixWsFPPB9LY82GIIGyVxRhdSPDMPhFu5WI2NbLzignsZPMBNOx8uFWH7FwxxgkfrJjnmPwseR0GCoBAAgIfiCABBCKIgFsJENhmBjtgtvhijeu8UgI2HNLCThhZZP/D4TPZZKkAhGBOeOoY9vwZIpuFbrGVCOzYk4UEGZCaKzt7xpiFXllkgeUWInyQxRYQXPsBAVeAeR+k7FjRaabjllsuCJnCYmSpkErY21bwtvjKFmZMY0055KATz3f8flfOOy56a589sOQmgAAlbNMMMOjAwwwy6qgzjCrDgANPwN6yA8sHt1khyxUFaNDEDLqE4wQNzZQyhSJQ/HGxt/bIUoIBBpgAS7HsiLFACjVc8ssQOTCDSCLL6NKJOhjfJwIBARIaITyexIDCEpYUUsQyu1QhxBu5oJM0P9JwebO3+agDxws/LIHJ1csIswsjiSVdqBavCMxP2W7gAIMNu0STwcweerTSCBrf4MqPsRBYAAEtdqvjggcrqMALH+A0w8cabgSDjuFLhgFNBlnYXU4FfeDyQCDy0EOPPPGoM447bd6XgQhjQBCG3etcwIIWCcSS1d3fWQOvPUa+8oEFadqtzxgZWLCFo1plg0+IvWUjqzSBVh9o9txVU806W1nPbDbrHr5ViMOnv1U77LyjJrzn2xcQADs=]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Nob3AgTWFkZSBTaW1wbGUnOwokbGFuZ1snYWRtaW5fZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBmb3JtcyB0aGUgYmFzZSBvZiBwcmVwYXJpbmcgYSBzaG9wLiBJdCBoYW5kbGVzIHRoZSBwcm9kdWN0cyBhbmQgdGhlaXIgZ3JvdXBpbmcuIEltYWdlcyBhbmQgYXR0cmlidXRlcyBhcmUgYXZhaWxhYmxlIHBlciBwcm9kdWN0JzsKJGxhbmdbJ21lc3NhZ2VfcG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUuJzsKJGxhbmdbJ21lc3NhZ2VfcG9zdHVuaW5zdGFsbCddID0gJ0lmIGltYWdlcyBoYXZlIGJlZW4gYWRkZWQsIHRoZXkgYXJlIG5vdCByZW1vdmVkIGR1cmluZyB1bmluc3RhbGwuJzsKJGxhbmdbJ21lc3NhZ2VfY29uZmlybXVuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8nOwoKLy8gQ29tbW9uIHRyYW5zbGF0aW9ucwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwoKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snZG9uZSddID0gJ0RvbmUnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ2NvbnRpbnVlJ10gPSAnQ29udGludWUnOwokbGFuZ1snbW9kdWxlX2V4YW1wbGVfc3R5bGVzaGVldCddPSdNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUnOwokbGFuZ1sncm9vdCddID0gJ1Jvb3QnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwoKLy8gVHJhbnNsYXRpb25zIGluIGFscGhhYmV0aWMgb3JkZXIKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOwokbGFuZ1snYWRkYXR0cmlidXRlJ10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkZCBDYXRlZ29yeSc7CiRsYW5nWydhZGRpbWFnZSddID0gJ0FkZCBJbWFnZSc7CiRsYW5nWydhZGR0b2NhcnQnXSA9ICdBZGQgdG8gQ2FydCc7CiRsYW5nWydhZGp1c3R0eXBlbWluJ10gPSAnLSBNaW4nOwokbGFuZ1snYWRqdXN0dHlwZXBsdXMnXSA9ICcrIFBsdXMnOwokbGFuZ1snYWRqdXN0dHlwZXRpbWVzJ10gPSAnKiBUaW1lcyc7CiRsYW5nWydhZGp1c3R0eXBldmFsdWUnXSA9ICdWYWx1ZSc7CiRsYW5nWydiYXNlcHJvZHVjdHByaWNlJ10gPSAnKFByb2R1Y3QgYmFzZSBwcmljZTogJXMpJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfYWRqdXN0bWVudCddID0gJ0FkanVzdG1lbnQnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfZGlzcGxheSddID0gJ0NhbGN1bGF0ZSB3aXRoPyc7CiRsYW5nWydjb2x1bW5fYXR0cmlidXRlX2l0ZW1udW1iZXInXSA9ICdJdGVtIG51bWJlcic7CiRsYW5nWydjb2x1bW5fYXR0cmlidXRlX21heGFsbG93ZWQnXSA9ICdNYXgnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9taW5hbGxvd2VkJ10gPSAnTWluJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9wcmljZSddID0gJ1ByaWNlJzsKJGxhbmdbJ2NvbHVtbl9pbWFnZV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NvbHVtbl9pbWFnZV9uYW1lJ10gPSAnSW1hZ2UgZmlsZSc7CiRsYW5nWydkZWxldGVjYXRlZ29yeSddID0gJ0RlbGV0ZSBDYXRlZ29yeSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX25vbmUnXSA9ICdOb3QgdXNlZCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX3Byb2QnXSA9ICdQZXIgcHJvZHVjdCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX2F0dHInXSA9ICdQZXIgYXR0cmlidXRlJzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZSddID0gJ0F0dHJpYnV0ZSc7CiRsYW5nWydsYWJlbF9hZG1pbl9lbWFpbCddID0gJ0FkbWluaXN0cmF0b3IgRW1haWwnOwokbGFuZ1snbGFiZWxfYWRtaW5fbmFtZSddID0gJ0FkbWluaXN0cmF0b3IgTmFtZSc7CiRsYW5nWydsYWJlbF9hbGxvd2RvdWJsZWl0ZW0nXSA9ICdBbGxvdyBkb3VibGUgaXRlbSBudW1iZXJzPyc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfYWN0aXZlJ10gPSAnQXR0cmlidXRlIGlzIGFjdGl2ZT8nOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX2Rpc3BsYXlvbmx5J10gPSAnT25seSBkaXNwbGF5IHRoZSBhdHRyaWJ1dGU/JzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9pdGVtbnVtYmVyJ10gPSAnSXRlbSBudW1iZXInOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQnXSA9ICdNYXhpbXVtIGFsbG93ZWQnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX21pbmFsbG93ZWQnXSA9ICdNaW5pbXVtIGFsbG93ZWQnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9wcmljZWFkanVzdHR5cGUnXSA9ICdQcmljZSBhZGp1c3QgdHlwZSc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3RtZW50J10gPSAnUHJpY2UgYWRqdXN0bWVudCc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfcHJvZHVjdF9uYW1lJ10gPSAnQXR0cmlidXRlIGZvciBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZXNfcHJvZHVjdF9uYW1lJ10gPSAnQXR0cmlidXRlcyBmb3IgcHJvZHVjdCc7CiRsYW5nWydsYWJlbF9jYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydsYWJlbF9jYXRlZ29yaWVzX3RlbXBsYXRlJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9hY3RpdmUnXSA9ICdDYXRlZ29yeSBpcyBhY3RpdmU/JzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfY2F0ZWdvcnlfaWQnXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9pbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X3BhcmVudCddID0gJ1BhcmVudCBDYXRlZ29yeSc7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9wb3NpdGlvbiddID0gJ0xpc3QgT3JkZXInOwokbGFuZ1snbGFiZWxfY2F0bGlzdF90ZW1wbGF0ZSddID0gJ0NhdGVnb3J5ICYgUHJvZHVjdHMnOwokbGFuZ1snbGFiZWxfY3VycmVudF9jYXRlZ29yeSddID0gJ0N1cnJlbnQgQ2F0ZWdvcnknOwokbGFuZ1snbGFiZWxfZGVmYXVsdF9jdXJyZW5jeSddID0gJ0RlZmF1bHQgQ3VycmVuY3knOwokbGFuZ1snbGFiZWxfZGVmYXVsdF9sYW5ndWFnZSddID0gJ0RlZmF1bHQgTGFuZ3VhZ2UnOwokbGFuZ1snbGFiZWxfZGVmYXVsdF9tYXhhdHRyaWJ1dGVzJ10gPSAnRGVmYXVsdCBtYXhpbXVtIGF0dHJpYnV0ZXMgcGVyIHByb2R1Y3QnOwokbGFuZ1snbGFiZWxfZGVmYXVsdF9za3UnXSA9ICdEZWZhdWx0IFN0b2NrIEtlZXBpbmcgVW5pdCc7CiRsYW5nWydsYWJlbF9kZWZhdWx0X3N5bWJvbCddID0gJ0RlZmF1bHQgQ3VycmVuY3kgU3ltYm9sJzsKJGxhbmdbJ2xhYmVsX2ltYWdlX2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfaW1hZ2VfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbGFiZWxfaW1hZ2VfcHJvZHVjdF9uYW1lJ10gPSAnSW1hZ2VzIGZvciBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX2ltYWdlcGF0aF9jYXRlZ29yeSddID0gJ1BhdGggdG8gY2F0ZWdvcnkgaW1hZ2VzJzsKJGxhbmdbJ2xhYmVsX2ltYWdlcGF0aF9wcm9kdWN0J10gPSAnUGF0aCB0byBwcm9kdWN0IGltYWdlcyc7CiRsYW5nWydsYWJlbF9pbnZlbnRvcnlzZXR0aW5ncyddID0gJ0ludmVudG9yeSBTZXR0aW5ncyc7CiRsYW5nWydsYWJlbF9pbnZlbnRvcnl0eXBlJ10gPSAnSW52ZW50b3J5IHRvIHRyYWNrJzsKJGxhbmdbJ2xhYmVsX2l0ZW1fY2FwaXRhbF9vbmx5J10gPSAnSXRlbW51bWJlciBjYXBpdGFscyBvbmx5JzsKJGxhbmdbJ2xhYmVsX29uc3RvY2snXSA9ICdPbiBzdG9jayc7CiRsYW5nWydsYWJlbF9wcmljZXNfaW5jbF92YXQnXSA9ICdQcmljZXMgYXJlIGluY2x1c2l2ZSBWQVQnOwokbGFuZ1snbGFiZWxfcHJvZGRldGFpbF90ZW1wbGF0ZSddID0gJ1Byb2R1Y3QgZGV0YWlsJzsKJGxhbmdbJ2xhYmVsX3Byb2RmZWF0X3RlbXBsYXRlJ10gPSAnRmVhdHVyZWQgcHJvZHVjdHMnOwokbGFuZ1snbGFiZWxfcHJvZHVjdCddID0gJ1Byb2R1Y3QnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9hY3RpdmUnXSA9ICdQcm9kdWN0IGlzIGFjdGl2ZT8nOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9jYXRlZ29yeSddID0gJ1Byb2R1Y3RzIGZvcic7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2NhdGVnb3J5X2lkJ10gPSAnQ2F0ZWdvcnknOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfZmVhdHVyZWQnXSA9ICdGZWF0dXJlIHRoaXMgcHJvZHVjdCc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2lkJ10gPSAnSUQnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9pbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfaXRlbW51bWJlciddID0gJ0l0ZW0gbnVtYmVyJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcyddID0gJ01heGltdW0gYWxsb3dlZCBhdHRyaWJ1dGVzJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9uZXR3ZWlnaHQnXSA9ICdOZXR0IFdlaWdodCc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X3Bvc2l0aW9uJ10gPSAnTGlzdCBPcmRlcic7CiRsYW5nWydsYWJlbF9wcm9kdWN0X3ByaWNlJ10gPSAnUHJpY2UnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9za3UnXSA9ICdTdG9jayBLZWVwaW5nIFVuaXQgKFNLVSknOwokbGFuZ1snbGFiZWxfcHJvZHVjdF92YXRjb2RlJ10gPSAnVkFUJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RwYWdlbGltaXQnXSA9ICdOdW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2UnOwokbGFuZ1snbGFiZWxfcXVhbnRpdHlfb25zdG9jayddID0gJ1F1YW50aXR5IG9uIHN0b2NrJzsKJGxhbmdbJ2xhYmVsX3NhbGVzaW52ZW50dGltaW5nJ10gPSAnV2hlbiBzaG91bGQgaW52ZW50b3J5IGJlIGRlY3JlYXNlZCc7CiRsYW5nWydsYWJlbF9zaG9wX25hbWUnXSA9ICdTaG9wIE5hbWUnOwokbGFuZ1snbGFiZWxfc2hvcF9vbmxpbmUnXSA9ICdTaG9wIE9ubGluZSc7CiRsYW5nWydsYWJlbF9zaG9wX3Bob25lJ10gPSAnU2hvcCBFbWVyZ2VuY3kgUGhvbmUnOwokbGFuZ1snbGFiZWxfc2t1X2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfc2t1X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2xhYmVsX3RhYl9hdHRyaWJ1dGVzJ10gPSAnQXR0cmlidXRlcyc7CiRsYW5nWydsYWJlbF90YWJfY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMgYW5kIFByb2R1Y3RzJzsKJGxhbmdbJ2xhYmVsX3RhYl9pbWFnZXMnXSA9ICdJbWFnZXMnOwokbGFuZ1snbGFiZWxfdGFiX3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1snbGFiZWxfdGFiX3Byb2R1Y3QnXSA9ICdQcm9kdWN0IERldGFpbHMnOwokbGFuZ1snbGFiZWxfdGFiX3Byb2R1Y3RfY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snbGFiZWxfdGFiX3NrdXMnXSA9ICdTS1VcJ3MnOwokbGFuZ1snbGFiZWxfdGFiX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ2xhYmVsX3RhYl90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1snbGFiZWxfdG5oZWlnaHRfcHJvZHVjdCddID0gJ1Byb2R1Y3QgdGh1bWJuYWlsIGhlaWdodCc7CiRsYW5nWydsYWJlbF90bndpZHRoX3Byb2R1Y3QnXSA9ICdXaWR0aCc7CiRsYW5nWydsYWJlbF93ZWlnaHRfdW5pdF9tZWFzdXJlJ10gPSAnUHJvZHVjdCB3ZWlnaHQgaW4nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVhdHRyaWJ1dGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGF0dHJpYnV0ZTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZWNhdGVnb3J5J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBjYXRlZ29yeTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZWltYWdlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpbWFnZTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZXByb2RjYXQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzY29ubmVjdCB0aGlzIHByb2R1Y3Q6ICVzIGZyb20gY2F0ZWdvcnkgJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZXByb2R1Y3QnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHByb2R1Y3Q6ICVzPyc7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVza3UnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIFNLVTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXR0cmlidXRlYWRkZWQnXSA9ICdBdHRyaWJ1dGU6ICVzIGhhcyBiZWVuIGFkZGVkJzsKJGxhbmdbJ21lc3NhZ2VfYXR0cmlidXRlZGVsZXRlZCddID0gJ0F0dHJpYnV0ZTogJXMgaGFzIGJlZW4gZGVsZXRlZCc7CiRsYW5nWydtZXNzYWdlX2RvdWJsZWl0ZW1udW1iZXJmb3VuZCddID0gJ0RvdWJsZSBpdGVtIG51bWJlciBmb3VuZCwgc2VlIHByb2R1Y3QgXCclc1wnJzsKJGxhbmdbJ21lc3NhZ2VfaW1hZ2VhZGRlZCddID0gJ0ltYWdlOiAlcyBoYXMgYmVlbiBhZGRlZCc7CiRsYW5nWydtZXNzYWdlX2ltYWdlZGVsZXRlZCddID0gJ0ltYWdlOiAlcyBoYXMgYmVlbiBkZWxldGVkJzsKJGxhbmdbJ21lc3NhZ2Vfbm9hdHRyaWJ1dGVuYW1lZ2l2ZW4nXSA9ICdObyBhdHRyaWJ1dGUgbmFtZSBnaXZlbiwgd2hpbGUgdGhpcyBpcyBtYW5kYXRvcnknOwokbGFuZ1snbWVzc2FnZV9ub2F0dHJpYnV0ZXRvc2F2ZSddID0gJ05vIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiB0byBzYXZlLiBObyBhdHRyaWJ1dGUgYWRkZWQnOwokbGFuZ1snbWVzc2FnZV9ub2ltYWdldG91cGxvYWQnXSA9ICdObyBpbWFnZSB0byB1cGxvYWQuIE5vIGltYWdlIGFkZGVkJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydub19hdHRyaWJ1dGVzX2F2YWlsYWJsZSddID0gJ05vIGF0dHJpYnV0ZXMgYXZhaWxhYmxlJzsKJGxhbmdbJ25vX2ltYWdlc19hdmFpbGFibGUnXSA9ICdObyBpbWFnZXMgYXZhaWxhYmxlJzsKJGxhbmdbJ25vY2F0Zm91bmQnXSA9ICdObyBjYXRlZ29yaWVzIGZvdW5kJzsKJGxhbmdbJ25vcHJvZGZvdW5kJ10gPSAnTm8gcHJvZHVjdHMgZm91bmQnOwokbGFuZ1sncGllY2UnXSA9ICdQaWVjZSc7CiRsYW5nWydwcmVmZXJlbmNlc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbmNlcyBoYXZlIGJlZW4gdXBkYXRlZCc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJpY2VzaW5jdXJleHZhdCddID0gJ0FsbCBwcmljZXMgaW4gJXMsIGV4Y2x1ZGluZyBUQVgvVkFUJzsKJGxhbmdbJ3ByaWNlc2luY3VyaW52YXQnXSA9ICdBbGwgcHJpY2VzIGluICVzLCBpbmNsdWRpbmcgVEFYL1ZBVCc7CiRsYW5nWydwcmludCddID0gJ1ByaW50IHRoaXMgcGFnZSc7CiRsYW5nWydwcmludF9wYWdlJ10gPSAnUHJpbnQnOwokbGFuZ1sncHJvZHVjdHNvbGRvdXQnXSA9ICdTb2xkIG91dCc7CiRsYW5nWydwcm9kdWN0c3JlaW5kZXhlZCddID0gJ1Byb2R1Y3RzIGhhdmUgYmVlbiByZWluZGV4ZWQgZm9yIHRoZSBTZWFyY2ggbW9kdWxlJzsKJGxhbmdbJ3Byb2R1Y3R0aHVtYm5haWxzcmVidWlsZCddID0gJ1RodW1ibmFpbHMgb2YgcHJvZHVjdHMgaGF2ZSBiZWVuIHJlYnVpbGQnOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnb2YnOwokbGFuZ1sncHJvbXB0X3BhZ2UnXSA9ICdQYWdlJzsKJGxhbmdbJ3Byb3BlcnRpZXNfdXBkYXRlZCddID0gJ1Byb3BlcnRpZXMgaGF2ZSBiZWVuIHVwZGF0ZWQnOwokbGFuZ1sncmVidWlsZHByb2R1Y3R0aHVtYm5haWxzJ10gPSAnUmVidWlsZCc7CiRsYW5nWydzYWxlc2ludmVudHRpbWluZ19jbmYnXSA9ICdTdGF0dXMgY2hhbmdlcyB0byBjb25maXJtZWQnOwokbGFuZ1snc2FsZXNpbnZlbnR0aW1pbmdfaW50J10gPSAnU3RhdHVzIGNoYW5nZXMgdG8gY29uZmlybWVkJzsKJGxhbmdbJ3NhbGVzaW52ZW50dGltaW5nX2ludiddID0gJ0ludm9pY2UgaXMgc2VuZCc7CiRsYW5nWydzYWxlc2ludmVudHRpbWluZ19wYXknXSA9ICdTdGF0dXMgY2hhbmdlcyB0byBwYWlkJzsKJGxhbmdbJ3NhbGVzaW52ZW50dGltaW5nX3NocCddID0gJ1N0YXR1cyBjaGFuZ2VzIHRvIHNoaXBwZWQnOwokbGFuZ1snc2VhcmNocmVpbmRleCddID0gJ1JlaW5kZXggZm9yIFNlYXJjaCc7CiRsYW5nWydTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeSddID0gJ1Nob3AgTWFkZSBTaW1wbGU6IE1haW50YWluIENhdGVnb3JpZXMnOwokbGFuZ1snU2hvcE1TX01haW50YWluUHJvZHVjdHMnXSA9ICdTaG9wIE1hZGUgU2ltcGxlOiBNYWludGFpbiBQcm9kdWN0cyc7CiRsYW5nWydTaG9wTVNfTWFpbnRhaW5TS1VzJ10gPSAnU2hvcCBNYWRlIFNpbXBsZTogTWFpbnRhaW4gU3RvY2sgS2VlcGluZyBVbml0cyc7CiRsYW5nWydTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnXSA9ICdTaG9wIE1hZGUgU2ltcGxlOiBBbGwgcGVybWlzc2lvbnMnOwokbGFuZ1snc2t1ZGVsZXRlZCddID0gJ1N0b2NrIGtlZXBpbmcgdW5pdCAlcyBkZWxldGVkJzsKJGxhbmdbJ3NrdWludXNlJ10gPSAnQ2FuXCd0IGRlbGV0ZSwgc3RvY2sga2VlcGluZyB1bml0IGlzLCBhdCBsZWFzdCwgaW4gdXNlIGluIHByb2R1Y3Q6ICVzJzsKJGxhbmdbJ3RlbXBsYXRlc3VwZGF0ZWQnXSA9ICdUZW1wbGF0ZXMgaGF2ZSBiZWVuIHVwZGF0ZWQnOwokbGFuZ1sndGV4dF9hY3RpdmUnXSA9ICdTZXQgQWN0aXZlJzsKJGxhbmdbJ3RleHRfYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ3RleHRfY2FsY3VsYXRpb24nXSA9ICdVc2UgY2FsY3VsYXRpb24nOwokbGFuZ1sndGV4dF9jYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ3RleHRfZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ3RleHRfZWRpdCddID0gJ0VkaXQnOwokbGFuZ1sndGV4dF9pbmFjdGl2ZSddID0gJ1NldCBJbmFjdGl2ZSc7CiRsYW5nWyd0ZXh0X25vY2FsY3VsYXRpb24nXSA9ICdKdXN0IHNob3cgdGhlIGF0dHJpYnV0ZXMgbmFtZSc7CiRsYW5nWyd0ZXh0X3Byb2R1Y3QnXSA9ICdQcm9kdWN0JzsKJGxhbmdbJ3RleHRfc2t1J10gPSAnU3RvY2sgS2VlcGluZyBVbml0JzsKJGxhbmdbJ3RleHRtb3JlJ10gPSAnIC4uLic7CiRsYW5nWyd0ZXh0cHJvZHVjdGNvdW50J10gPSAnVG90YWwgJXMgcHJvZHVjdChzKSBmb3VuZDonOwokbGFuZ1sndG9vbHRpcF9tYXhhdHRyaWJ1dGVzJ10gPSAnVGhpcyBmaWVsZCBhbGxvd3MgeW91IHRvIGhhdmUgdGhlIHZpc2l0b3IgdG8gc2VsZWN0IHVwIHRvIGdpdmVuIG51bWJlciBvZiBhdHRyaWJ1dGVzLiAKQmxhbmsgb3IgemVybyBtZWFucyBubyBsaW1pdC4nOwokbGFuZ1sndG9vbHRpcF9xdWFudGl0eV9vbnN0b2NrJ10gPSAnRW50ZXIgaGVyZSB0aGUgcXVhbnRpdHkgb2Ygc3RvY2sgdGhhdCB5b3UgaGF2ZS4nOwokbGFuZ1sndW5rbm93bl9kaXNwbGF5J10gPSAnUGFyYW1ldGVyIFwnZGlzcGxheVwnIG5vdCBkZWZpbmVkIGluIGFjdGlvbi5kZWZhdWx0LnBocCc7CgovLyBBZG1pbgokbGFuZ1snaGVscGNhdG5hbWUnXSA9ICdOYW1lIG9mIGNhdGVnb3J5LiBNdXN0IGV4YWN0bHkgbWF0Y2guIElmIGxlZnQgYmxhbmssIHRoZSBwcm9kdWN0cyBmcm9tIHRoZSByb290IGNhdGVnb3J5IHdpbGwgYmUgc2hvd24uIApUaGlzIHBhcmFtZXRlciBpcyBvbmx5IHVzZWQgaWYgdGhlIHBhcmFtZXRlciBkaXNwbGF5IGNvbnRhaW5zIHByb2R1Y3RsaXN0IChzZWUgZXhhbXBsZSkuJzsKJGxhbmdbJ2hlbHBkaXNwbGF5J10gPSAnU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGRpc3BsYXkgeW91IHdhbnQgdG8gc2hvdy4gVGhlcmUgYXJlIGN1cnJlbnRseSB0d28gYXZhaWxhYmxlOjx1bD4KCTxsaT5jYXRlZ29yeWxpc3QgKGRlZmF1bHQpIC0gc2hvd3MgYSBsaXN0IG9mIHRoZSBjYXRlZ29yaWVzIGFuZCB0aGUgbnVtYmVyIG9mIHByb2R1Y3RzIHdpdGhpbiBjYXRlZ29yeSAob25lIGxldmVsIG9ubHkhKTs8L2xpPgoJPGxpPmNhdGxpc3QgLSBzaG93cyBsaXN0IG9mIGNhdGVnb3JpZXMgd2l0aCBudW1iZXIgb2YgcHJvZHVjdHMuIFVzZSB0aGlzIGlmIG11bHRpcGxlIGxldmVscyBvZiBjYXRlZ29yaWVzIGFyZSB1c2VkOzwvbGk+Cgk8bGk+ZmVhdHVyZWQgLSBzaG93cyBhIGxpc3Qgb2YgdGhlIHByb2R1Y3RzIHRoYXQgYXJlIG1hcmtlZCBhcyBmZWF0dXJlZDs8L2xpPgoJPGxpPnByb2R1Y3RsaXN0IC0gc2hvdyBwcm9kdWN0cyBmcm9tIGEgbmFtZWQgY2F0ZWdvcnkuPC9saT4KPC91bD4nOwokbGFuZ1snaGVscHBhZ2VudW1iZXInXSA9ICdFbnRlciB0aGUgbnVtYmVyIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHByb2R1Y3RzIHNob3VsZCBiZSBzaG93bi4gXCdwYWdlbnVtYmVyPTJcJyB3aWxsIHNob3cgYWxsIHByb2R1Y3RzIGFzIG9mIHBhZ2UgMi4gClRoZSB2aXNpdG9yIHdpbGwgYmUgYWJsZSB0byB1c2UgdGhlIHByZXZpb3VzIHBhZ2UgYW5kIHRoZSBuZXh0IChpZiBhbnkpLiBJZiB0aGUgcGFnZW51bWJlciBpcyBub3QgcGFzc2VkLCBwYWdlIDEgd2lsbCBiZSBzaG93bi4nOwokbGFuZ1snaGVscHBhcmVudGNhdGVnb3J5J10gPSAnSW50ZXJuYWwgbnVtYmVyIG9mIGNhdGVnb3J5LiBUaGlzIHdpbGwgc2hvdyBhIGxpc3Qgb2YgYWxsIHRoZSBjYXRlZ29yaWVzIHVzaW5nIHRoZSBwcm92aWRlZCBudW1iZXIgYXMgcGFyZW50LiAKVGhlIGludGVybmFsIG51bWJlciBjYW4gYmUgZm91bmQgb24gdGhlIGxlZnQgc2lkZSBvZiBlYWNoIGNhdGVnb3J5IGluIHRoZSBhZG1pbiBwYWdlIG9mIHRoaXMgbW9kdWxlLic7CiRsYW5nWydoZWxwcHJvZHBhZ2VsaW1pdCddID0gJ1RoZSBudW1iZXIgb2YgcHJvZHVjdHMgdGhhdCBhcmUgdG8gYmUgc2hvd24gb24gb25lIHBhZ2UuIFRoaXMgb3ZlcnJpZGVzIHRoZSB2YWx1ZSBhcyBlbnRlcmVkIGluIHRoZSBwcmVmZXJlbmNlcy4nOwokbGFuZ1snaGVscHN0YXJ0J10gPSAnVGhlIHN0YXJ0aW5nIHZhbHVlIGZvciB0aGUgcGFnZSBvZiBwcm9kdWN0cy4gSWYgeW91IHdhbnQgdG8gc2hvdyBhbGwgcHJvZHVjdHMgc3RhcnRpbmcgYXQgdGhlIGZvdXJ0aCwgdXNlIFwnc3RhcnQ9NFwnLic7CgokbGFuZ1snaGVscCddID0gJwo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+CkEgdmlzaXRvciBvZiB0aGUgd2Vic2l0ZSB3aWxsIHNlZSBhIGxpc3Qgb2YgY2F0ZWdvcmllcy4gWW91IHdpbGwgYmUgYWJsZSB0byBzaG93IGEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcyBieSBwbGFjaW5nIGEgc21hcnR5IHRhZyBpbiBhIHBhZ2Ugb3IgdGVtcGxhdGUgdXNpbmcgJiMxMjM7Y21zX21vZHVsZSBtb2R1bGU9XCdTaG9wTWFkZVNpbXBsZVwnfS48YnI+IApVc2luZyB0aGUgcGFyYW1ldGVyIGNvbm5lY3RlZCB0byBhIGNhdGVnb3J5LCB5b3UgYXJlIGFibGUgdG8gc2hvdyBwcm9kdWN0cyBsaW5rZWQgdG8gdGhhdCBjYXRlZ29yeS48YnI+CkFuIGV4YW1wbGUgaXM6IHtjbXNfbW9kdWxlIG1vZHVsZT1cJ1Nob3BNYWRlU2ltcGxlXCcgZGlzcGxheT1cJ3Byb2R1Y3RsaXN0XCcgY2F0bmFtZT1cJ0dhcmRlbnRvb2xzXCd9LiBUaGlzIHdpbGwgc2hvdyBhbGwgcHJvZHVjdHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvIHRoZQpjYXRlZ29yeSBuYW1lIFwnR2FyZGVudG9vbHNcJy4gVXNpbmcgdGhlIGRpc3BsYXk9XCdwcm9kdWN0bGlzdFwnIHdpdGhvdXQgYSBjYXRlZ29yeSBuYW1lIHdpbGwgc2hvdyB0aGUgcHJvZHVjdHMgaW4gdGhlIHJvb3QuPGJyPiAKQW5vdGhlciBleGFtcGxlIGlzOiB7Y21zX21vZHVsZSBtb2R1bGU9XCdTaG9wTWFkZVNpbXBsZVwnIGRpc3BsYXk9XCdjYXRlZ29yeWxpc3RcJ30uIFRoaXMgd2lsbCBzaG93IHRoZSB2YXJpb3VzIGNhdGVnb3JpZXMuIElmIG9uZSBpcyBzZWxlY3RlZCwgYWxsIHRoZSBjb25uZWN0ZWQgcHJvZHVjdHMgYXJlIHNob3duLjxicj4KSWYgeW91IGRvblwndCB3YW50IHRvIHNlZSBhbiBpbWFnZSBmb3IgYSBjYXRlZ29yeSBvbiB0aGUgZnJvbnQgZW5kLCBwbGFjZSBcJ25vX2ltYWdlLmpwZ1wnIGluIHRoZSBmaWVsZCBcJ0ltYWdlXCcuPGJyPjxicj4KV2hlbiB0aGUgU2VhcmNoIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFsbCB0aGUgd29yZHMgYXMgZW50ZXJlZCBpbiB0aGUgcHJvZHVjdCBuYW1lIGFuZCBwcm9kdWN0IGRlc2NyaXB0aW9uIHdpbGwgYmUgcGFydCBvZiB0aGUgc2VhcmNoIGluZGV4Ljxicj4KSWYgdGhlIFNlYXJjaCBtb2R1bGUgaXMgaW5zdGFsbGVkIGFmdGVyIHRoaXMgbW9kdWxlLCBvbmUgY2FuIHVzZSB0aGUgYnV0dG9uIFJlaW5kZXggZm9yIFNlYXJjaCBmcm9tIHRoZSBvcHRpb25zIHRhYiBpbiB0aGUgYmFjayBlbmQuPGJyIC8+CldoZW4geW91IHVzZSBpbnZlbnRvcnkgdHJhY2tpbmcsIHRoZSBxdWFudGl0eSBzb2xkIHdpbGwgYmUgc3VidHJhY3RlZCBmcm9tIHRoZSBxdWFudGl0eSBvbiBzdG9jayBhdCB0aGUgbW9tZW50IHRoYXQgcGF5bWVudCBoYXMgYmVlbiAKcmVjZWl2ZWQuCgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgc2VlIHRoZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NtcyI+cHJvamVjdHMgaG9tZXBhZ2U8L2E+OzwvbGk+CjxsaT5Db21tZXJjaWFsIHN1cHBvcnQgaXMgYXZhaWxhYmxlIHZpYSBEdWtldG93blwncyBtb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5kdWtldG93bi5ldSI+RHVrZXRvd248L2E+OzwvbGk+CjxsaT5CdXkgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZHVrZXRvd24uZXUvc2hvcCI+Q01TIE1hZGUgU2ltcGxlIGJvb2s8L2E+IGZyb20gRHVrZXRvd24sIHdoaWNoIGRlc2NyaWJlcyBpbiBkZXRhaWwgaG93IHRvIHVzZSB0aGlzIG1vZHVsZTs8L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LTIwMTAuPGJyPgpBdXRob3I6IER1a2V0b3duCic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/library/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/library/categories.api.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgQ2F0ZWdvcmllcyB7CgkKCXZhciAkbW9kdWxlOwoJdmFyICR0YWJvcHRhcnJheTsKCQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIENhdGVnb3JpZXMoKQoJICAgVGhpcyBmdW5jdGlvbiBkZWZpbmVzIHRoZSBjbGFzcyBDYXRlZ29yaWVzCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBDYXRlZ29yaWVzKCYkbW9kdWxlKSB7CgkJJHRoaXMtPm1vZHVsZSA9ICRtb2R1bGU7CgkJJHRoaXMtPnRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0KCkKCSAgIFRoaXMgZnVuY3Rpb24gcmV0cmlldmVzIGNhdGVnb3J5IGluZm9ybWF0aW9uIGJhc2VkIHVwb24gcGFzc2VkIGNhdGVnb3J5IGlkCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXQoJGNhdGVnb3J5X2lkKSB7CgkJLy8gUmV0cmlldmUgaW5mb3JtYXRpb24gb24gdGhlIGNhdGVnb3J5IGJ5IGlkCgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLAoJCSAgICAgICAgICAgICAgIHBhcmVudF9pZCwKCQkgICAgICAgICAgICAgICBuYW1lLAoJCSAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uLAoJCSAgICAgICAgICAgICAgIGltYWdlLAoJCSAgICAgICAgICAgICAgIGFjdGl2ZSwKCQkgICAgICAgICAgICAgICBwb3NpdGlvbgoJCSAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzCgkJICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfaWQgKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0Q2F0QnlOYW1lKCkKCSAgIFRoaXMgZnVuY3Rpb24gcmV0cmlldmVzIHRoZSBjYXRlZ29yaWVzIHRoYXQgaGF2ZSBhIHBhc3NlZCBuYW1lLiBUaGUgZmlyc3QgcmV0cmlldmVkIHdpbGwgYmUgcmV0dXJuZWQKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldENhdEJ5TmFtZSgkY2F0ZWdvcnlfbmFtZSkgewoJCS8vIFJldHJpZXZlIGluZm9ybWF0aW9uIG9uIHRoZSBjYXRlZ29yeSBieSBjYXRlZ29yeSBuYW1lCgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUICoKCQkgICAgICAgIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcwoJCSAgICAgICAgV0hFUkUgbmFtZT0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfbmFtZSApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRMaXN0KCkKCSAgIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gYXJyYXkgZmlsbGVkIHdpdGggY2F0ZWdvcmllcyB0aGF0IGJlbG9uZyB0byB0aGUgcGFzc2VkIHBhcmVudCBpZC4KCSAgIFJvb3QgaWQgaXMgdGFrZW4gaWYgbm8gcGFyZW50IGlkIHBhc3NlZC4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldExpc3QoJHBhcmVudF9pZD0wKSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLAoJCSAgICAgICAgICAgICAgIHBhcmVudF9pZCwKCQkgICAgICAgICAgICAgICBuYW1lLAoJCSAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uLAoJCSAgICAgICAgICAgICAgIGltYWdlLAoJCSAgICAgICAgICAgICAgIGFjdGl2ZSwKCQkgICAgICAgICAgICAgICBwb3NpdGlvbgoJCSAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzCgkJICAgICAgICBXSEVSRSBwYXJlbnRfaWQ9PyBPUkRFUiBCWSBwb3NpdGlvbiI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmVudF9pZCApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGRlc2NyaXB0aW9uIGRvZXNuJ3Qgc3BhbiBtdWx0aXBsZSBsaW5lcwoJCQkkcm93WydkZXNjcmlwdGlvbiddID0gc3RyaXBfdGFncygkcm93WydkZXNjcmlwdGlvbiddKTsKCQkJJHJlc3VsdFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7CQoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBFbmFibGVDYXRlZ29yeSgpCgkgICBUaGlzIGZ1bmN0aW9uIHdpbGwgc2F2ZSBhIHJvdyB3aXRoIHBhc3NlZCBjYXRlZ29yeSBpbmZvcm1hdGlvbiAKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIENyZWF0ZSgmJGNhdGVnb3J5KSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCWlmICghaXNfbnVtZXJpYygkY2F0ZWdvcnlbJ3Bvc2l0aW9uJ10pKSAkY2F0ZWdvcnlbJ3Bvc2l0aW9uJ10gPSAwOwoJCSRzcWwgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcyhwYXJlbnRfaWQsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmUsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24pIAoJCSAgICAgICAgVkFMVUVTKD8sPyw/LD8sPyw/KSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5WydwYXJlbnRfaWQnXSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WyduYW1lJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydkZXNjcmlwdGlvbiddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXRlZ29yeVsnaW1hZ2UnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F0ZWdvcnlbJ2FjdGl2ZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXRlZ29yeVsncG9zaXRpb24nXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBVcGRhdGUoKQoJICAgVGhpcyBmdW5jdGlvbiB3aWxsIHVzZSB0aGUgcGFzc2VkIGNhdGVnb3J5IGluZm9ybWF0aW9uIGFuZCBzYXZlIHRoZSB2YWx1ZXMgZm9yIHRoZSBwYXNzZWQgY2F0ZWdvcnkgaWQKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIFVwZGF0ZSgmJGNhdGVnb3J5KSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX2NhdGVnb3JpZXMKCQkgICAgICAgIFNFVCBwYXJlbnRfaWQ9PywgCgkJICAgICAgICAgICAgbmFtZT0/LAoJCSAgICAgICAgICAgIGRlc2NyaXB0aW9uPT8sIAoJCSAgICAgICAgICAgIGltYWdlPT8sIAoJCSAgICAgICAgICAgIGFjdGl2ZT0/LCAKCQkgICAgICAgICAgICBwb3NpdGlvbj0/IAoJCSAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5WydwYXJlbnRfaWQnXSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WyduYW1lJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydjZGVzY3JpcHRpb24nXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F0ZWdvcnlbJ2ltYWdlJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydhY3RpdmUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F0ZWdvcnlbJ3Bvc2l0aW9uJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIERlbGV0ZSgpCgkgICBUaGlzIGZ1bmN0aW9uIHJlc2V0IGNoaWxkIGNhdGVnb3JpZXMgdG8gdGhlIHJvb3QgYXMgcGFyZW50LiBOZXh0IHRoZSBjYXRlZ29yeSBpcyBkZWxldGVkCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBEZWxldGUoJiRjYXRlZ29yeSkgewoJCSRkYiA9JiAkdGhpcy0+bW9kdWxlLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkvLyBGaXJzdCByZXNldCBhbGwgY29ubmVjdGVkIHByb2R1Y3RzIHRvIHJvb3Qgb3RoZXJ3aXNlIHRoZXkgYXJlIGxvc3QgaW4gJ3NwYWNlJwoJCSRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgU0VUIGNhdGVnb3J5X2lkPSAwIFdIRVJFIGNhdGVnb3J5X2lkPT8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRjYXRlZ29yeV9pZCkpOwoJCS8vIE5vdyB0aGF0IHRoZSBjYXRlZ29yeSBoYXMgbm8gY29ubmVjdGlvbnMgYW55bW9yZSBpdCBjYW4gYmUgcmVtb3ZlZAoJCSRzcWwgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcwoJCSAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEJ1aWxkTGlzdCgpCgkgICBUaGlzIGZ1bmN0aW9uIGJ1aWxkIHJlY3Vyc2l2ZWx5IGEgcGF0aCB0byB0aGUgY2F0ZWdvcnkKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEJ1aWxkTGlzdCgkY2F0ZWdvcnlfaWQ9MCwgJGNhdGVnb3J5X2xpc3Q9JycsICRsZXZlbD0wKSB7CgkJJHBhZCA9IHN0cl9wYWQoIiIsICRsZXZlbCwiLSIsU1RSX1BBRF9MRUZUKTsKCQlpZiAoJGNhdGVnb3J5X2xpc3QgPT0gJycpICRjYXRlZ29yeV9saXN0ID0gYXJyYXkoJHRoaXMtPm1vZHVsZS0+TGFuZygncm9vdCcpID0+ICcwJyk7CgkJJGNhdGVnb3J5ID0gJHRoaXMtPkdldCgkY2F0ZWdvcnlfaWQpOwoJCWlmICggJGNhdGVnb3J5WyduYW1lJ10gIT0gJycgKSB7CgkJCSRjYXRlZ29yeV9saXN0WyRjYXRlZ29yeVsnbmFtZSddXSA9ICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXTsKCQl9CgkJZm9yZWFjaCAoJHRoaXMtPkdldExpc3QoJGNhdGVnb3J5X2lkKSBhcyAkY2F0ZWdvcnkpIHsKCQkgICAgJG5hbWUgPSAkcGFkLiIgIi4kY2F0ZWdvcnlbJ25hbWUnXTsKCQkJJGNhdGVnb3J5X2xpc3RbJG5hbWVdID0gJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddOwoJCQkkdGhpcy0+QnVpbGRMaXN0KCRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSwgJGNhdGVnb3J5X2xpc3QsICRsZXZlbCsxKTsKCQl9CgkJcmV0dXJuICRjYXRlZ29yeV9saXN0OwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBCdWlsZFRvdGFsTGlzdCgpCgkgICBUaGlzIGZ1bmN0aW9uIHNlbGVjdHMgYWxsIHRoZSBjYXRlZ29yaWVzIGFuZCBidWlsZCBhIGxpc3Qgb2YgdGhlaXIgbmFtZXMKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEJ1aWxkVG90YWxMaXN0KCRjYXRlZ29yeV9pZCA9IC0xKSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAnU0VMRUNUIGNhdGVnb3J5X2lkLCBwYXJlbnRfaWQsIG5hbWUsIGRlc2NyaXB0aW9uLAoJCQlpbWFnZSwgYWN0aXZlLCBwb3NpdGlvbgoJCQlGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2NhdGVnb3JpZXMKCQkJV0hFUkUgY2F0ZWdvcnlfaWQgPD4gPwoJCQlPUkRFUiBCWSBuYW1lJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCRjYXRlZ29yeV9pZCkgKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkY2F0ZWdvcnlfbGlzdCA9IGFycmF5KCk7CgkJJGNhdGVnb3J5X2xpc3RbJHRoaXMtPm1vZHVsZS0+TGFuZygncm9vdCcpXSA9ICcwJzsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJGNhdGVnb3J5X2xpc3RbJHJvd1snbmFtZSddXSA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CgkJfQoJCXJldHVybiAkY2F0ZWdvcnlfbGlzdDsJCgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEJ1aWxkUGF0aCgpCgkgICBUaGlzIGZ1bmN0aW9uIGJ1aWxkcyBhbiBhcnJheSB3aXRoIGFsbCBpbmZvcm1hdGlvbiBvZiBjYXRlZ29yaWVzIGluIGEgcGF0aAoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gQnVpbGRQYXRoKCRjYXRlZ29yeSkgewoJCSRwYXRoX2FycmF5ID0gYXJyYXkoKTsKCQkkcGF0aF9hcnJheVtdID0gJGNhdGVnb3J5OwoJCXdoaWxlICgkY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10gIT0gMCkgewoJCQkkY2F0ZWdvcnkgPSAkdGhpcy0+R2V0KCRjYXRlZ29yeVsncGFyZW50X2lkJ10pOwoJCQlpZiAoJGNhdGVnb3J5KSB7CgkJCQkkcGF0aF9hcnJheVtdID0gJGNhdGVnb3J5OwoJCQl9CgkJfQoJCXJldHVybiBhcnJheV9yZXZlcnNlKCRwYXRoX2FycmF5KTsKCX19Cj8+]]></data>
	</file>
	<file>
	  <filename>/library/products.api.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgU01TUHJvZHVjdHMgewoJCgl2YXIgJG1vZHVsZTsKCXZhciAkdGFib3B0YXJyYXk7CgkKCWZ1bmN0aW9uIFNNU1Byb2R1Y3RzKCRtb2R1bGUpIHsKCQkkdGhpcy0+bW9kdWxlID0gJG1vZHVsZTsKCQkkdGhpcy0+dGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJfQoKCWZ1bmN0aW9uIEdldCgkcHJvZHVjdF9pZCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUIHByb2R1Y3RfaWQsIG5hbWUsIGRlc2NyaXB0aW9uLCBwcmljZSwKCQkJCWFjdGl2ZSwgZmVhdHVyZWQsIG5ldHdlaWdodCwgdmF0Y29kZSwgc2t1LAoJCQkJaXRlbW51bWJlciwgcG9zaXRpb24sIG1heGF0dHJpYnV0ZXMKCQkgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cwoJCQkJV0hFUkUgcHJvZHVjdF9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdF9pZCApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcHJvZHVjdCA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQkvKioKCQkgKiBHZXQgdGhlIGNhdGVnb3JpZXMgdGhpcyBwcm9kdWN0IGJlbG9uZ3MgdG8uCgkJICovCgkJJHByb2R1Y3RbJ2NhdGVnb3JpZXMnXSA9IGFycmF5KCk7CgkJZm9yZWFjaCAoJHRoaXMtPkdldENhdGVnb3J5TWFwKCRwcm9kdWN0X2lkKSBhcyAkY2F0ZWdvcnlfbWFwKSB7CgkJCSRwcm9kdWN0WydjYXRlZ29yaWVzJ11bXSA9ICR0aGlzLT5tb2R1bGUtPmNhdGVnb3JpZXMtPkdldCgkY2F0ZWdvcnlfbWFwWydjYXRlZ29yeV9pZCddKTsKCQl9CgkJLyoqCgkJICogR2V0IHRoZSBpbWFnZXMgZm9yIHRoZSBwcm9kdWN0LgoJCSAqLwoJCSRzcWwgPSAiU0VMRUNUIHByb2R1Y3RfaW1hZ2VzX2lkLCBwcm9kdWN0X2lkLCBpbWFnZSwgZGVzY3JpcHRpb24KCQkgICAgICAgIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9pbWFnZXMKCQkgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHByb2R1Y3RfaWQgKSk7CgkJCgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CgkJCSRwcm9kdWN0WydpbWFnZXMnXVtdID0gJHJvdzsKCQl9CgkJLyoqCgkJICogR2V0IHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBwcm9kdWN0LgoJCSAqLwoJCSRzcWwgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMKCQkJV0hFUkUgcHJvZHVjdF9pZD0/JzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdF9pZCApKTsKCgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CgkJCSRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bXSA9ICRyb3c7CgkJfQoJCXJldHVybiAkcHJvZHVjdDsJCQoJfQoKCWZ1bmN0aW9uIEdldExpc3QoJGNhdGVnb3J5X2lkPTApIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gIlNFTEVDVCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5wcm9kdWN0X2lkLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLm5hbWUsCgkJICAgICAgICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMuZGVzY3JpcHRpb24sCgkJICAgICAgICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMucHJpY2UsCgkJICAgICAgICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMuYWN0aXZlLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLmZlYXR1cmVkLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLm5ldHdlaWdodCwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy52YXRjb2RlLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLnNrdSwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5pdGVtbnVtYmVyLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLnBvc2l0aW9uLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLm1heGF0dHJpYnV0ZXMKCQkJCUZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMsICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkKCQkJCVdIRVJFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLnByb2R1Y3RfaWQgPSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5LnByb2R1Y3RfaWQKCQkJCUFORCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5LmNhdGVnb3J5X2lkID0gPyAKCQkJCU9SREVSIEJZICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLnBvc2l0aW9uIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfaWQpKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGRlc2NyaXB0aW9uIGRvZXNuJ3Qgc3BhbiBtdWx0aXBsZSBsaW5lcwoJCQkkcm93WydkZXNjcmlwdGlvbiddID0gc3RyaXBfdGFncygkcm93WydkZXNjcmlwdGlvbiddKTsKCQkJJHJlc3VsdFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7CQoJfQoJZnVuY3Rpb24gQ3JlYXRlKCYkcHJvZHVjdCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSA9IHN0cnRvdXBwZXIoJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSk7CgkJfQoJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMobmFtZSwgZGVzY3JpcHRpb24sIAoJCQlwcmljZSwgYWN0aXZlLCBmZWF0dXJlZCwgbmV0d2VpZ2h0LCB2YXRjb2RlLCBza3UsIGl0ZW1udW1iZXIsIHBvc2l0aW9uLCAKCQkJbWF4YXR0cmlidXRlcykgCgkJCVZBTFVFUyg/LD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdFsnbmFtZSddLCAkcHJvZHVjdFsnZGVzY3JpcHRpb24nXSwKCQkJJHByb2R1Y3RbJ3ByaWNlJ10sICRwcm9kdWN0WydhY3RpdmUnXSwgJHByb2R1Y3RbJ2ZlYXR1cmVkJ10sICRwcm9kdWN0WyduZXR3ZWlnaHQnXSwKCQkJJHByb2R1Y3RbJ3ZhdGNvZGUnXSwgJHByb2R1Y3RbJ3NrdSddLCAkcHJvZHVjdFsnaXRlbW51bWJlciddLCAkcHJvZHVjdFsncG9zaXRpb24nXSwKCQkJJHByb2R1Y3RbJ21heGF0dHJpYnV0ZXMnXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRwcm9kdWN0Wydwcm9kdWN0X2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwoKCQkvLyBBZGQgdG8gc2VhcmNoIGluZGV4CgkJJHNlYXJjaG1vZHVsZSA9JiAkdGhpcy0+bW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CgkJaWYgKCRzZWFyY2htb2R1bGUgIT0gRkFMU0UpCgkJewoJCQkkdGV4dCA9ICRwcm9kdWN0WyduYW1lJ10uJyAnLiRwcm9kdWN0WydkZXNjcmlwdGlvbiddOwoJCQkkc2VhcmNobW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCksICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10sICdwcm9kdWN0JywgJHRleHQpOwoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBDcmVhdGVDYXRlZ29yeU1hcCgkY2F0ZWdvcnlfaWQsICRwcm9kdWN0X2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJLy8gRG9uJ3QgYWxsb3cgdHdpY2UgdGhlIHNhbWUgZW50cnksIHNpbmNlIGRlbGV0aW9uIG9mIG9uZSBvZiB0aGUgY2F0ZWdvcnkvcHJvZHVjdHMgaXMgbm90IHBvc3NpYmxlIGFueW1vcmUKCQkkc3FsID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSBXSEVSRSBjYXRlZ29yeV9pZD0/IEFORCBwcm9kdWN0X2lkPT8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRjYXRlZ29yeV9pZCwgJHByb2R1Y3RfaWQpKTsKCQlpZiAoICEkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJJHNxbCA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5KGNhdGVnb3J5X2lkLCBwcm9kdWN0X2lkKSAKCQkJICAgICAgICBWQUxVRVMoPyw/KSI7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRjYXRlZ29yeV9pZCwgJHByb2R1Y3RfaWQpKTsKCQkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBEZWxldGVDYXRlZ29yeU1hcCgkY2F0ZWdvcnlfaWQsICRwcm9kdWN0X2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgbGFzdCBjYXRlZ29yeSB0aGF0IGlzIGNvbm5lY3RlZC4KCQkvLyBJZiB0aGF0IGlzIHRydWUsIHJlc2V0IGNhdGVnb3J5IHRvIHJvb3QsIGVsc2UgcHJvZHVjdCBjYW4ndCBiZSBmb3VuZCBhbnltb3JlCgkJJHNxbCA9ICJTRUxFQ1QgQ09VTlQoY2F0ZWdvcnlfaWQpIGFzIGNudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgV0hFUkUgcHJvZHVjdF9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCRwcm9kdWN0X2lkKSk7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQlpZiAoJHJvd1snY250J10gPT0gMSkgewoJCQkvLyBSZXNldCB0byByb290CgkJCSRzcWwgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgU0VUIGNhdGVnb3J5X2lkID0gMCBXSEVSRSBwcm9kdWN0X2lkPT8iOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCRwcm9kdWN0X2lkKSk7CgkJfSBlbHNlIHsKCQkJJHNxbCA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkPT8gQU5EIHByb2R1Y3RfaWQ9PyI7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRjYXRlZ29yeV9pZCwKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3RfaWQpKTsKCQkJaWYoICEkZGJyZXN1bHQgKSByZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCWZ1bmN0aW9uIEdldENhdGVnb3J5TWFwKCRwcm9kdWN0X2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJJHNxbCA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQgCgkJICAgICAgICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkKCQkgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQ9Pyc7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdF9pZCkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCXdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgewoJCQkkcmVzdWx0W10gPSAkcm93OwoJCX0KCQlyZXR1cm4gJHJlc3VsdDsJCgl9CgoJZnVuY3Rpb24gVXBkYXRlKCRwcm9kdWN0KSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJLy8gSWYgYWNjb3JkaW5nIHRvIHByZWZlcmVuY2VzIG9ubHkgdXBwZXJjYXNlIGNoYXJhY3RlcnMgaW4gaXRlbSBudW1iZXIsIHRyYW5zZm9ybSBpdAoJCWlmICgkdGhpcy0+bW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtY2FwaXRhbG9ubHknLCBmYWxzZSkgPT0gMSkgewoJCQkkcHJvZHVjdFsnaXRlbW51bWJlciddID0gc3RydG91cHBlcigkcHJvZHVjdFsnaXRlbW51bWJlciddKTsKCQl9CgkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgU0VUIG5hbWUgPSA/LCAKCQkJZGVzY3JpcHRpb24gPSA/LCBwcmljZSA9ID8sCWFjdGl2ZSA9ID8sCWZlYXR1cmVkID0gPywgbmV0d2VpZ2h0ID0gPywgCgkJCXZhdGNvZGUgPSA/LCBza3UgPSA/LCBpdGVtbnVtYmVyID0gPywgcG9zaXRpb24gPSA/LCBtYXhhdHRyaWJ1dGVzID0gPyAKCQkJV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoCSRwcm9kdWN0WyduYW1lJ10sICRwcm9kdWN0WydwZGVzY3JpcHRpb24nXSwKCQkJJHByb2R1Y3RbJ3ByaWNlJ10sICRwcm9kdWN0WydhY3RpdmUnXSwgJHByb2R1Y3RbJ2ZlYXR1cmVkJ10sCgkJCSRwcm9kdWN0WyduZXR3ZWlnaHQnXSwgJHByb2R1Y3RbJ3ZhdGNvZGUnXSwgJHByb2R1Y3RbJ3NrdSddLAoJCQkkcHJvZHVjdFsnaXRlbW51bWJlciddLCAkcHJvZHVjdFsncG9zaXRpb24nXSwgJHByb2R1Y3RbJ21heGF0dHJpYnV0ZXMnXSwKCQkJJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCS8vIFVwZGF0ZSBzZWFyY2ggaW5kZXggKEFkZFdvcmRzIGZpcnN0IGRlbGV0ZXMgdGhlIG9sZCBvbmVzKQoJCSRzZWFyY2htb2R1bGUgPSYgJHRoaXMtPm1vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJCWlmICgkc2VhcmNobW9kdWxlICE9IEZBTFNFKQoJCXsKCQkJaWYgKCRwcm9kdWN0WydhY3RpdmUnXSA9PSAwKSB7CgkJCQkkc2VhcmNobW9kdWxlLT5EZWxldGVXb3JkcygkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCksICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10pOwoJCQl9CgkJCWVsc2UgewoJCQkJJHRleHQgPSAkcHJvZHVjdFsnbmFtZSddLicgJy4kcHJvZHVjdFsncGRlc2NyaXB0aW9uJ107CgkJCQkkc2VhcmNobW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCksICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10sICdwcm9kdWN0JywgJHRleHQpOwoJCQl9CgkJfQoKCQlyZXR1cm4gdHJ1ZTsKCX0KCWZ1bmN0aW9uIERlbGV0ZSgkcHJvZHVjdCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCS8vIERlbGV0ZSB0aGUgdXBsb2FkZWQgcGljdHVyZShzKSBmb3IgdGhpcyBwcm9kdWN0CgkJLy8gRGVsZXRlIHRoZSBwaWN0dXJlKHMpCgkJJHNxbCA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcyAKCQkJCVdIRVJFIHByb2R1Y3RfaWQgPSA/IjsJCQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10pKTsKCQkvLyBEZWxldGUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGNhdGVnb3J5CgkJJHNxbCA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5CgkJCQlXSEVSRSBwcm9kdWN0X2lkID0gPyI7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJLy8gRGVsZXRlIHRoZSBhdHRyaWJ1dGVzIG9mIHRoaXMgcHJvZHVjdAoJCSRzcWwgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzCgkJCQlXSEVSRSBwcm9kdWN0X2lkID0gPyI7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJLy8gTm93IGl0IGlzIHBvc3NpYmxlIHRvIGRlbGV0ZSB0aGUgcHJvZHVjdCBpdCBzZWxmCgkJLy8gU2hvdWxkIGEgY2hlY2sgYmVlbiBkb25lIHRvIHRoZSBDYXJ0IE1hZGUgU2ltcGxlIHRhYmxlcz8gU28gZGVsZXRlIG9yZGVycz8/Pz8KCQkkc3FsID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzIAoJCQkJV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwkJCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCS8vIERlbGV0ZSBmcm9tIHNlYXJjaCBpbmRleAoJCSRzZWFyY2htb2R1bGUgPSYgJHRoaXMtPm1vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJCWlmICgkc2VhcmNobW9kdWxlICE9IEZBTFNFKSB7CgkJCSRzZWFyY2htb2R1bGUtPkRlbGV0ZVdvcmRzKCR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKSwgJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSwgJ3Byb2R1Y3QnKTsKCQl9CgoJCXJldHVybiB0cnVlOwoJfQoKCS8vIENoZWNrIGlmIGl0ZW0gbnVtYmVyIGhhcyBiZWVuIHVzZWQKCS8vIFRoZSBpbnRlcm5hbCBpZCBpcyBlaXRoZXIgdGhlIHByb2R1Y3Qgb3IgdGhlIGF0dHJpYnV0ZSBpZAoJLy8gSW4gY2FzZSBpdCBpcyBhIG5ldyBwcm9kdWN0IG9yIGF0dHJpY3V0ZSwgdGhlIGludGVybmFsIGlkIHBhc3NlZCBpcyAtMQoJZnVuY3Rpb24gQ2hlY2tEb3VibGVJdGVtTnVtYmVyKCRpdGVtbnVtYmVyLCAkaW50ZXJuYWxfaWQpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQlpZiAoJGl0ZW1udW1iZXIgPT0gJycpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkvLyBEZWZpbml0aW9uIG9mIGEgZG91YmxlIG51bWJlciBpcyB0aGF0IHRoZSBwYXNzZWQgaXRlbSBudW1iZXIgZG9lc24ndCBleGlzdCAKCQkvLyBleGVwdCB3aXRoIHRoZSBzYW1lIHByb2R1Y3QvYXR0cmlidXRlIGlkCgkJJGl0ZW1jYXBpdGFsb25seSA9ICR0aGlzLT5tb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1jYXBpdGFsb25seScsIGZhbHNlKTsKCQlpZiAoJGl0ZW1jYXBpdGFsb25seSA9PSAxKSB7CgkJCSRxdWVyeSA9ICdTRUxFQ1QgaXRlbW51bWJlciwgbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIAoJCQkJV0hFUkUgVVBQRVIoaXRlbW51bWJlcikgPSBVUFBFUig/KSBBTkQgcHJvZHVjdF9pZCA8PiA/JzsKCQl9CgkJZWxzZSB7CgkJCSRxdWVyeSA9ICdTRUxFQ1QgaXRlbW51bWJlciwgbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIAoJCQkJV0hFUkUgaXRlbW51bWJlciA9ID8gQU5EIHByb2R1Y3RfaWQgPD4gPyc7CgkJfQoJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRpdGVtbnVtYmVyLCAkaW50ZXJuYWxfaWQpKTsKCQlpZiAoISRyb3cpIHsKCQkJLy8gTm8gcHJvZHVjdCBmb3VuZCB3aXRoIHRoZSBzYW1lIG51bWJlciwgbGV0J3MgY2hlY2sgdGhlIGF0dHJpYnV0ZXMKCQkJaWYgKCRpdGVtY2FwaXRhbG9ubHkgPT0gMSkgewoJCQkJJHF1ZXJ5ID0gJ1NFTEVDVCBpdGVtbnVtYmVyLCBuYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzIAoJCQkJCVdIRVJFIFVQUEVSKGl0ZW1udW1iZXIpID0gVVBQRVIoPykgQU5EIGF0dHJpYnV0ZV9pZCA8PiA/JzsKCQkJfQoJCQllbHNlIHsKCQkJCSRxdWVyeSA9ICdTRUxFQ1QgaXRlbW51bWJlciwgbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJCQlXSEVSRSBpdGVtbnVtYmVyID0gPyBBTkQgYXR0cmlidXRlX2lkIDw+ID8nOwoJCQl9CgkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRpdGVtbnVtYmVyLCAkaW50ZXJuYWxfaWQpKTsKCQkJaWYgKCEkcm93KSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJZWxzZSB7CgkJCQlyZXR1cm4gJHJvd1snbmFtZSddICAuICcgKCcgLiAkdGhpcy0+bW9kdWxlLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGUnKSAuICcpJzsKCQkJfQoJCX0KCQllbHNlIHsKCQkJLy8gUGFydCBvZiBtZXNzYWdlIHNlbmQgYmFjay4gQ2FsbGluZyByb3V0aW5lIHdpbGwgcHJlcGFyZSBtZXNzYWdlIHRvIGRpc3BsYXkKCQkJcmV0dXJuICRyb3dbJ25hbWUnXSAuICcgKCcgLiAkdGhpcy0+bW9kdWxlLT5MYW5nKCdsYWJlbF9wcm9kdWN0JykgLiAnKSc7CgkJfQoJfQoKCQoJLy8gQXR0cmlidXRlcyByZWxhdGVkIGZ1bmN0aW9ucwkKCS8vIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGEgcHJvZHVjdCBhdHRyaWJ1dGUKCWZ1bmN0aW9uIEdldEF0dHJpYnV0ZSgkYXR0cmlidXRlX2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcwoJCSAgICAgICAgV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkYXR0cmlidXRlX2lkICkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRyZXN1bHQgPSAnJzsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJHJlc3VsdCA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmVzdWx0OwkKCX0KCgkvLyBTYXZlIG5ldyBwcm9kdWN0IGF0dHJpYnV0ZSBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gQ3JlYXRlQXR0cmlidXRlKCRhdHRyaWJ1dGUpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkvLyBJZiBhY2NvcmRpbmcgdG8gcHJlZmVyZW5jZXMgb25seSB1cHBlcmNhc2UgY2hhcmFjdGVycyBpbiBpdGVtIG51bWJlciwgdHJhbnNmb3JtIGl0CgkJaWYgKCR0aGlzLT5tb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1jYXBpdGFsb25seScsIGZhbHNlKSA9PSAxKSB7CgkJCSRhdHRyaWJ1dGVbJ2l0ZW1udW1iZXInXSA9IHN0cnRvdXBwZXIoJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddKTsKCQl9CgkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMgCgkJCShwcm9kdWN0X2lkLCBuYW1lLCBkZXNjcmlwdGlvbiwgbWluYWxsb3dlZCwgbWF4YWxsb3dlZCwKCQkJcHJpY2VhZGp1c3R0eXBlLCBwcmljZWFkanVzdG1lbnQsIGRpc3BsYXlvbmx5LCBpdGVtbnVtYmVyLCBhY3RpdmUpCgkJCVZBTFVFUyg/LD8sPyw/LD8sPyw/LD8sPyw/KSc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGF0dHJpYnV0ZVsncHJvZHVjdF9pZCddLAoJCQkkYXR0cmlidXRlWyduYW1lJ10sICRhdHRyaWJ1dGVbJ2FkZXNjcmlwdGlvbiddLCAkYXR0cmlidXRlWydtaW5hbGxvd2VkJ10sCgkJCSRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10sICRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0bWVudCddLAoJCQkkYXR0cmlidXRlWydkaXNwbGF5b25seSddLCAkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10sICRhdHRyaWJ1dGVbJ2FjdGl2ZSddICAgCgkJCSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCS8vIERlbGV0ZSBwcm9kdWN0IGF0dHJpYnV0ZSBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gRGVsZXRlQXR0cmlidXRlKCRwYXJhbXMpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmFtc1snYXR0cmlidXRlX2lkJ10gKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLy8gU2F2ZSBjaGFuZ2VkIHByb2R1Y3QgYXR0cmlidXRlIGluZm9ybWF0aW9uCglmdW5jdGlvbiBVcGRhdGVBdHRyaWJ1dGUoJGF0dHJpYnV0ZSkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddID0gc3RydG91cHBlcigkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10pOwoJCX0KCQkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMgU0VUIG5hbWUgPSA/LCAKCQkJZGVzY3JpcHRpb24gPSA/LCBtaW5hbGxvd2VkID0gPywgbWF4YWxsb3dlZCA9ID8sIHByaWNlYWRqdXN0dHlwZSA9ID8sCgkJCXByaWNlYWRqdXN0bWVudCA9ID8sIGRpc3BsYXlvbmx5ID0gPywgaXRlbW51bWJlciA9ID8sIGFjdGl2ZSA9ID8gCQkKCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGF0dHJpYnV0ZVsnbmFtZSddLCAkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddLAoJCQkkYXR0cmlidXRlWydtaW5hbGxvd2VkJ10sICRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10sIAoJCQkkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXSwgJGF0dHJpYnV0ZVsnZGlzcGxheW9ubHknXSwgJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddLAoJCQkkYXR0cmlidXRlWydhY3RpdmUnXSwgCgkJCSRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgkKCS8vIEltYWdlcyByZWxhdGVkIGZ1bmN0aW9ucwkKCS8vIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGEgcHJvZHVjdCBpbWFnZQoJZnVuY3Rpb24gR2V0SW1hZ2UoJHByb2R1Y3RfaW1hZ2VzX2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJJHNxbCA9ICJTRUxFQ1QgcHJvZHVjdF9pZCwgaW1hZ2UsIGRlc2NyaXB0aW9uIAoJCSAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcwoJCSAgICAgICAgV0hFUkUgcHJvZHVjdF9pbWFnZXNfaWQgPSA/IjsJCQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwcm9kdWN0X2ltYWdlc19pZCApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcmVzdWx0ID0gJyc7CgkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCSRyZXN1bHQgPSAkcm93OwoJCX0KCQlyZXR1cm4gJHJlc3VsdDsJCgkKCX0KCgkvLyBTYXZlIG5ldyBwcm9kdWN0IGltYWdlIGluZm9ybWF0aW9uCglmdW5jdGlvbiBDcmVhdGVJbWFnZSgkaW1hZ2UpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzKHByb2R1Y3RfaWQsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24pCgkJICAgICAgICBWQUxVRVMoPyw/LD8pIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkaW1hZ2VbJ3Byb2R1Y3RfaWQnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1hZ2VbJ2ltYWdlJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltYWdlWydpZGVzY3JpcHRpb24nXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQllY2hvICJGQUxTRSI7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7CgkJCgl9CgoJLy8gRGVsZXRlIGltYWdlIGZyb20gZm9sZGVyIGFuZCBpdHMgcHJvZHVjdCBpbWFnZSBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gRGVsZXRlSW1hZ2UoJHBhcmFtcykgewoJCS8vIE5vdyBkZWxldGUgdGhlIGltYWdlIHJlY29yZAoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9pbWFnZXMgV0hFUkUgcHJvZHVjdF9pbWFnZXNfaWQgPSA/ICI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmFtc1sncHJvZHVjdF9pbWFnZXNfaWQnXSApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJZWNobyAiRkFMU0UiOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJCQoJfQoJLy8gU2F2ZSBjaGFuZ2VkIHByb2R1Y3QgaW1hZ2UgaW5mb3JtYXRpb24KCWZ1bmN0aW9uIFVwZGF0ZUltYWdlKCRwYXJhbXMpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcyBTRVQgZGVzY3JpcHRpb24gPSA/IFdIRVJFIHByb2R1Y3RfaW1hZ2VzX2lkID0gPyAiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtc1sncHJvZHVjdF9pbWFnZXNfaWQnXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQllY2hvICJGQUxTRSI7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7CgkJCgl9CgoJLy8gU2F2ZSBuZXcgcHJvZHVjdCBTdG9jayBLZWVwaW5nIFVuaXQgaW5mb3JtYXRpb24KCWZ1bmN0aW9uIENyZWF0ZVNLVSgkc2t1KSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X3NrdXMgKHNrdSwgZGVzY3JpcHRpb24pCgkJICAgICAgICBWQUxVRVMoPyw/KSc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHNrdVsnc2t1J10sICRza3VbJ2Rlc2NyaXB0aW9uJ10pKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJZWNobyAiRkFMU0UiOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJCQoJfQoKCS8vIERlbGV0ZSBTdG9jayBLZWVwaW5nIFVuaXQgaW5mb3JtYXRpb24KCWZ1bmN0aW9uIERlbGV0ZVNLVSgkc2t1KSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJLy8gSXQgaXMgbm90IHZhbGlkIHRvIGRlbGV0ZSBpZiBpbiB1c2Ugc28gY2hlY2sgdXNhZ2UKCQkkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgV0hFUkUgc2t1ID0gPyAnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRza3UgKSk7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQlpZiAoIWlzc2V0KCRyb3dbJ25hbWUnXSkpIHsKCQkJJHNxbCA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X3NrdXMgV0hFUkUgc2t1ID0gPyAnOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkc2t1ICkpOwoJCQlpZiggISRkYnJlc3VsdCApIHsKCQkJCSRtZXNzYWdlID0gJHRoaXMtPm1vZHVsZS0+U2hvd0Vycm9ycygnU2VyaW91cyBlcnJvciBmb3VuZCBpbiBjbGFzcyBTTVNQcm9kdWN0cyBmdW5jdGlvbiBEZWxldGVTS1U6IG5vdGlmeSBhZG1pbmlzdHJhdG9yJyk7CgkJCQlyZXR1cm4gJG1lc3NhZ2U7CgkJCX0KCQl9IGVsc2UgewoJCQkvLyBMZXQgdXNlciBrbm93IHdoaWNoIHByb2R1Y3QgaXMgdGhlIGZpcnN0IHRoYXQgdXNlcyB0aGlzIFNLVQoJCQkkbWVzc2FnZSA9ICR0aGlzLT5tb2R1bGUtPlNob3dFcnJvcnMoJHRoaXMtPm1vZHVsZS0+TGFuZygnc2t1aW51c2UnLCAkcm93WyduYW1lJ10pKTsKCQkJcmV0dXJuICRtZXNzYWdlOwoJCX0KCQkkbWVzc2FnZSA9ICR0aGlzLT5tb2R1bGUtPkxhbmcoJ3NrdWRlbGV0ZWQnLCAkc2t1KTsKCQlyZXR1cm4gJG1lc3NhZ2U7CgkJCgl9CgkvLyBTYXZlIGNoYW5nZWQgU3RvY2sgS2VlcGluZyBVbml0IGluZm9ybWF0aW9uCglmdW5jdGlvbiBVcGRhdGVTS1UoJHBhcmFtcykgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3Rfc2t1cyBTRVQgZGVzY3JpcHRpb24gPSA/IFdIRVJFIHNrdSA9ID8gJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcGFyYW1zWydkZXNjcmlwdGlvbiddLCAkcGFyYW1zWydza3UnXSApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJZWNobyAiRkFMU0UiOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJCQoJfQoJZnVuY3Rpb24gR2V0U0tVKCRza3UpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzIFdIRVJFIHNrdSA9ID8gJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkc2t1ICkpOwoJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuICRyb3c7CQoJfQoJZnVuY3Rpb24gR2V0TGlzdFNLVSgpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9za3VzIE9SREVSIEJZIHNrdSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJHJlc3VsdFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7CQoJfQp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKLyoqCiAqIENyZWF0ZSBhbGwgdGFibGVzCiAqLwokZGIgPSBjbXNtcygpLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Ci8qKgogKiBDcmVhdGUgYWxsIENhdGVnb3J5IHJlbGF0ZWQgdGFibGVzCiAqLwovKioKICogUHJpbWFyeSBDYXRlZ29yeSB0YWJsZQogKi8KJGZpZWxkcyA9ICJjYXRlZ29yeV9pZCBJIFBSSU1BUlkgQVVUTywKCXBhcmVudF9pZCBJLAoJbmFtZSBDKDMwKSwKCWRlc2NyaXB0aW9uIEMoMjU1KSwKCWltYWdlIEMoNjApLAoJYWN0aXZlIEwsCglwb3NpdGlvbiBJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzIiwgJGZpZWxkcywgJHRoaXMtPnRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCgovKioKICogQ3JlYXRlIGFsbCBQcm9kdWN0IHJlbGF0ZWQgdGFibGVzCiAqLwovKioKICogUHJpbWFyeSBQcm9kdWN0IFRhYmxlCiAqLwokZmllbGRzID0gInByb2R1Y3RfaWQgSSBQUklNQVJZIEFVVE8sCgluYW1lIEMoMjU1KSwKCWRlc2NyaXB0aW9uIFgsCglwcmljZSBGLAoJYWN0aXZlIEwsCglmZWF0dXJlZCBMLAoJbmV0d2VpZ2h0IEYsCgl2YXRjb2RlIEMoMSksCglza3UgQygyMCksCglpdGVtbnVtYmVyIEMoMzApLAoJcG9zaXRpb24gSSwKCW1heGF0dHJpYnV0ZXMgSTIiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzIiwgJGZpZWxkcywgJHRoaXMtPnRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwovKioKICogUHJvZHVjdCBJbWFnZXMKICovCiRmaWVsZHMgPSAicHJvZHVjdF9pbWFnZXNfaWQgSSBQUklNQVJZIEFVVE8sCglwcm9kdWN0X2lkIEksCglpbWFnZSBDKDMwKSwKCWRlc2NyaXB0aW9uIEMoMjU1KSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9pbWFnZXMiLCAkZmllbGRzLCAkdGhpcy0+dGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Ci8qKgogKiBQcm9kdWN0IEF0dHJpYnV0ZXMKICovICAgICAgICAgICAKJGZpZWxkcyA9ICJhdHRyaWJ1dGVfaWQgSSBQUklNQVJZIEFVVE8sCglwcm9kdWN0X2lkIEksCgluYW1lIEMoMjU1KSwKCWRlc2NyaXB0aW9uIFgsCgltaW5hbGxvd2VkIEkyLAoJbWF4YWxsb3dlZCBJMiwKCXByaWNlYWRqdXN0dHlwZSBDKDEpLAoJcHJpY2VhZGp1c3RtZW50IEYsCglkaXNwbGF5b25seSBMLAoJaXRlbW51bWJlciBDKDMwKSwKCWFjdGl2ZSBMIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMiLCAkZmllbGRzLCAkdGhpcy0+dGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Ci8qKgogKiBQcm9kdWN0IDwtPiBDYXRlZ29yeSBNYXAgVGFibGUKICovCiRmaWVsZHMgPSAiY2F0ZWdvcnlfcHJvZHVjdF9pZCBJIFBSSU1BUlkgQVVUTywKCWNhdGVnb3J5X2lkIEksCglwcm9kdWN0X2lkIEkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkiLCAkZmllbGRzLCAkdGhpcy0+dGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Ci8qKgogKiBQcm9kdWN0IFN0b2NrIEtlZXBpbmcgVW5pdCAoU0tVKQogKi8gICAgICAgICAgIAokZmllbGRzID0gInNrdSBDKDIwKSBLRVksCglkZXNjcmlwdGlvbiBDKDEwMCkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3Rfc2t1cyIsICRmaWVsZHMsICR0aGlzLT50YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3Rfc2t1cyAoc2t1LCBkZXNjcmlwdGlvbikgVkFMVUVTKCA/LCA/KSc7CiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnUEMnLCAnUGllY2UnKSk7CgovKioKICogQ3JlYXRlIGFsbCBwcmVmZXJlbmNlcwogKi8KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX25hbWUnLCAnPEFkbWluaXN0cmF0b3IgTmFtZT4nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJywgJzxBZG1pbmlzdHJhdG9yIEVtYWlsPicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvcF9uYW1lJywgJzxUaGUgbmFtZSBvZiB0aGUgc2hvcD4nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Nob3BfcGhvbmUnLCAnPFRoZSBjb250YWN0IG51bWJlciBpbiBjYXNlIG9mIGVtZXJnZW5jaWVzPicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvcF9vbmxpbmUnLCAnZmFsc2UnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfbGFuZ3VhZ2UnLCAnZW5fVVMnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ByaWNlc2luY2x2YXQnLCBmYWxzZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICdLZycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScsICdFVVInKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJywgJyZldXJvOycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX2NhdGVnb3J5JywgJy9jYXRlZ29yaWVzLycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnLCAnL3Byb2R1Y3RzLycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZHVjdHBhZ2VsaW1pdCcsIDEwMDAwMCk7Ci8qKgogKiBDcmVhdGUgYW4gZXhhbXBsZSBzdHlsZXNoZWV0IGZvciBTaG9wIE1hZGUgU2ltcGxlIHRhZ3MKICovCiRjc3NfbmFtZSA9ICR0aGlzLT5MYW5nKCdtb2R1bGVfZXhhbXBsZV9zdHlsZXNoZWV0Jyk7IC8vIFJldHJpZXZlIHRoZSBuYW1lIG9mIHRoZSBuZXcgc3R5bGVzaGVldCBsb2NhdGUgaW4gdGhlIGNzcyBkaXJlY3RvcnkKLy8gQ2hlY2sgaWYgdGhpcyBtb2RlbCBzdHlsZSBzaGVldCBhbGxyZWFkeSBleGlzdHMKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy4gY21zX2RiX3ByZWZpeCgpIC4nY3NzIFdIRVJFIGNzc19uYW1lID0gPyc7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjc3NfbmFtZSkpOwppZiggISRkYnJlc3VsdCB8fCAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCApIHsKCSRuZXdfY3NzX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkgLiAiY3NzX3NlcSIpOwoJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nY3NzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidzdHlsZXNoZWV0LmNzcyc7CgkkY3NzX3RleHQgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSRtZWRpYV90eXBlID0gJ3NjcmVlbic7CgkvLyBBZGQgdGhlIHN0eWxlc2hlZXQgdG8gdGhlIGRhdGFiYXNlCgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJjc3MgKGNzc19pZCwgY3NzX25hbWUsIGNzc190ZXh0LCBtZWRpYV90eXBlLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/KSI7CgkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5ld19jc3NfaWQsICRjc3NfbmFtZSwgJGNzc190ZXh0LCAkbWVkaWFfdHlwZSwgJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkpKTsKfQoKLyoqCiAqIENyZWF0ZSBzZWN1cml0eSBwZXJtaXNzaW9ucwogKi8KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScsICR0aGlzLT5MYW5nKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScsICR0aGlzLT5MYW5nKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScpKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycsICR0aGlzLT5MYW5nKCdTaG9wTVNfTWFpbnRhaW5TS1VzJykpOwoKLyoqCiAqIENyZWF0ZSB2YXJpb3VzIHRlbXBsYXRlcwogKi8KIyBTZXR1cCBjYXRlZ29yeSBsaXN0IHRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nZmVfY2F0ZWdvcnlfbGlzdC50cGwnOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKewoJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGxpc3RfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7Cn0KCiMgU2V0dXAgY2F0ZWdvcmllcyB0ZW1wbGF0ZQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX2NhdGVnb3JpZXMudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCnsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yaWVzX3RlbXBsYXRlJywkdGVtcGxhdGUpOwp9CgojIFNldHVwIHByb2R1Y3QgZGV0YWlsIHRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nZmVfcHJvZHVjdF9kZXRhaWwudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCnsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZGV0YWlsX3RlbXBsYXRlJywkdGVtcGxhdGUpOwp9CgojIFNldHVwIGZlYXR1cmVkIHByb2R1Y3RzIHRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nZmVfcHJvZHVjdHNfZmVhdHVyZWQudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCnsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZmVhdF90ZW1wbGF0ZScsJHRlbXBsYXRlKTsKfQoKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKLy8gRHJvcCBhbGwgdGFibGVzCiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2NhdGVnb3JpZXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkJCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkJCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQkJCQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X3NrdXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCQkKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQkJCQoKLy8gUmVtb3ZlIGFsbCBwcmVmZXJlbmNlcwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gUmVtb3ZlIHNlY3VyaXR5IHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5Jyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpOwoKLy8gUmVtb3ZlIHN0eWxlIHNoZWV0IHRoYXQgYmVsb25nIHRvIHRoaXMgbW9kdWxlCiRjc3NfbmFtZSA9ICR0aGlzLT5MYW5nKCdtb2R1bGVfZXhhbXBsZV9zdHlsZXNoZWV0Jyk7IC8vIFJldHJpZXZlIHRoZSBuYW1lIG9mIHRoZSBuZXcgc3R5bGVzaGVldCBsb2NhdGUgaW4gdGhlIGNzcyBkaXJlY3RvcnkKJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjc3MgV0hFUkUgY3NzX25hbWUgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNzc19uYW1lKSk7CgovLyBSZW1vdmUgYWxsIHRoZSBzZWFyY2ggaW5kZXggZW50cmllcwokc2VhcmNobW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CmlmICgkc2VhcmNobW9kdWxlICE9IEZBTFNFKSB7Cgkkc2VhcmNobW9kdWxlLT5EZWxldGVXb3JkcygkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCkpOwp9CgovLyBSZW1vdmUgdGVtcGxhdGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgbW9kdWxlCiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgnJywgJ1Nob3BNYWRlU2ltcGxlJyk7CgokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gPGR1a2V0b3duQG1hbnRveC5ubD4KIwojIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGdyYWRlIHRoZSBtb2R1bGUgU2hvcCBNYWRlIFNpbXBsZQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9zbXMKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCnsKCWNhc2UgJzAuMS4wJzoKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICdwcmljZSBGJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICduZXR3ZWlnaHQgRicgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMnLCAndmF0Y29kZSBDKDEpJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX29wdGlvbnMnLCAncHJpY2UgRicgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJLy8gU2hvcCBwb2xpY3kgdG8gYmUgdGFrZW4gZnJvbSBwYWdlIG9yIGNvbnRlbnQgYmxvY2sKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnc2hvcF9kZXNjcmlwdGlvbicpOwoJCS8vIEludHJvZHVjZSBjaGVja21hcmsgdG8gc3RhdGUgaWYgcHJpY2VzIGFyZSBpbi0gb3IgZXhjbHVkaW5nIFZBVAoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcmljZXNpbmNsdmF0JywgZmFsc2UpOwoJCS8vIEFsbCB3ZWlnaHQgYXJlIGluIHVuaXQgb2YgbWVhc3VyZSBhcyBwcmVwYXJlZCBpbiBwcmVmZXJlbmNlcwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICdLZycpOwoKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuMSc7CgkJCgljYXNlICcwLjEuMSc6CQkKCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4xLjInOwoJCQoJY2FzZSAnMC4xLjInOgoKCQkvKioKCQkgKiBDcmVhdGUgdmFyaW91cyB0ZW1wbGF0ZXMKCQkgKi8KCQkjIFNldHVwIGNhdGVnb3J5IGxpc3QgdGVtcGxhdGUKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX2NhdGVnb3J5X2xpc3QudHBsJzsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGxpc3RfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7CgkJfQoKCQkjIFNldHVwIGNhdGVnb3JpZXMgdGVtcGxhdGUKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX2NhdGVnb3JpZXMudHBsJzsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGVnb3JpZXNfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7CgkJfQoKCQkjIFNldHVwIHByb2R1Y3QgZGV0YWlsIHRlbXBsYXRlCgkJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidmZV9wcm9kdWN0X2RldGFpbC50cGwnOwoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCXsKCQkJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJvZGRldGFpbF90ZW1wbGF0ZScsJHRlbXBsYXRlKTsKCQl9CgoJCSMgU2V0dXAgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX3Byb2R1Y3RzX2ZlYXR1cmVkLnRwbCc7CgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCQkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCQkJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZmVhdF90ZW1wbGF0ZScsJHRlbXBsYXRlKTsKCQl9CgkJCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4xLjMnOwoJCQoJY2FzZSAnMC4xLjMnOgoJCQogCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMS40JzsKCQkKCWNhc2UgJzAuMS40JzoKCQkKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuNSc7CgkJCgljYXNlICcwLjEuNSc6CgkJLy8gQWx0ZXIgY29sdW1uIHRvIG5ldyB0eXBlCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICdkZXNjcmlwdGlvbiBYJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycsICdkZXNjcmlwdGlvbiBYJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2F0dHJpYnV0ZV9vcHRpb25zJywgJ2Rlc2NyaXB0aW9uIFgnICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuNic7CgkJCgljYXNlICcwLjEuNic6CgkJLy8gQWRkIHR3byBuZXcgZmllbGRzIHRvIHByb2R1Y3RzIHRhYmxlCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMnLCAnc2t1IEMoMjApJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICdpdGVtbnVtYmVyIEMoMzApJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkvKioKCQkgKiBQcm9kdWN0IFN0b2NrIEtlZXBpbmcgVW5pdCAoU0tVKQoJCSAqLyAgICAgICAgICAgCgkJJGZpZWxkcyA9ICJza3UgQygyMCkgS0VZLAoJCQlkZXNjcmlwdGlvbiBDKDEwMCkiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9za3VzIiwgJGZpZWxkcywgJHRoaXMtPnRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3Rfc2t1cyAoc2t1LCBkZXNjcmlwdGlvbikgVkFMVUVTKCA/LCA/KSc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdQQycsICR0aGlzLT5MYW5nKCdwaWVjZScpKSk7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBTRVQgc2t1ID0gPyc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdQQycpKTsKCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4xLjcnOwoJCQoJY2FzZSAnMC4xLjcnOgoJCS8vIE5vIGRhdGFiYXNlIGNoYW5nZXMgb25seSBjaGFuZ2UgaW4gcHJvZ3JhbXMgdGhlbXNlbHZlcwogCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMS44JzsKCQkKCWNhc2UgJzAuMS44JzoKCQkvLyBObyBkYXRhYmFzZSBjaGFuZ2VzIG9ubHkgY2hhbmdlIGluIHByb2dyYW1zIHRoZW1zZWx2ZXMKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuOSc7CgoJY2FzZSAnMC4xLjknOgoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgMTAwMDAwKTsKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuMCc7CgoJY2FzZSAnMC4yLjAnOgoJCS8vIE5vIGRhdGFiYXNlIGNoYW5nZXMgb25seSBjaGFuZ2UgaW4gcHJvZ3JhbXMgdGhlbXNlbHZlcwogCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMi4xJzsKCgljYXNlICcwLjIuMSc6CgkJLy8gVmVyc2lvbiBjaGFuZ2VzIGhhdmUgbm90IGJlZW4gcHVibGlzaGVkIHNpbmNlIHRlc3Rpbmcgd2FzIG5vdCBkb25lCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4yLjInOwoKCWNhc2UgJzAuMi4yJzoKCQkvLyBObyBkYXRhYmFzZSBjaGFuZ2VzIG9ubHkgY2hhbmdlIGluIHByb2dyYW1zIHRoZW1zZWx2ZXMKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuMyc7CgoJY2FzZSAnMC4yLjMnOgoJCSRjc3NfbmFtZSA9ICR0aGlzLT5MYW5nKCdtb2R1bGVfZXhhbXBsZV9zdHlsZXNoZWV0Jyk7IC8vIFJldHJpZXZlIHRoZSBuYW1lIG9mIHRoZSBuZXcgc3R5bGVzaGVldCBsb2NhdGUgaW4gdGhlIGNzcyBkaXJlY3RvcnkKCQkvLyBDaGVjayBpZiB0aGlzIG1vZGVsIHN0eWxlIHNoZWV0IGFsbHJlYWR5IGV4aXN0cwoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuIGNtc19kYl9wcmVmaXgoKSAuJ2NzcyBXSEVSRSBjc3NfbmFtZSA9ID8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjc3NfbmFtZSkpOwoJCWlmKCAhJGRicmVzdWx0IHx8ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwICkgewoJCQkkbmV3X2Nzc19pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpIC4gImNzc19zZXEiKTsKCQkJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nY3NzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidzdHlsZXNoZWV0LmNzcyc7CgkJCSRjc3NfdGV4dCA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkkbWVkaWFfdHlwZSA9ICdzY3JlZW4nOwoJCQkvLyBBZGQgdGhlIHN0eWxlc2hlZXQgdG8gdGhlIGRhdGFiYXNlCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNzcyAoY3NzX2lkLCBjc3NfbmFtZSwgY3NzX3RleHQsIG1lZGlhX3R5cGUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8pIjsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuZXdfY3NzX2lkLCAkY3NzX25hbWUsICRjc3NfdGV4dCwgJG1lZGlhX3R5cGUsICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7CgkJfQoKICAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4yLjQnOwoKCWNhc2UgJzAuMi40JzoKCQkvLyBCdWcgY2hhbmdlIG9ubHkKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuNSc7CgoJY2FzZSAnMC4yLjUnOgoJCS8vIEluY2x1ZGVkIG9ubHkgZmVhdHVyZSByZXF1ZXN0CiAgCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4yLjYnOwoKCWNhc2UgJzAuMi42JzoKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuNyc7CgoJY2FzZSAnMC4yLjcnOgoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzJywgJ25hbWUgQygyNTUpJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuOCc7CgoJY2FzZSAnMC4yLjgnOgoJCS8vIEksIER1a2V0b3duLCBoYXZlIGRlY2lkZWQgdGhhdCBhdHRyaWJ1dGVzIGFyZSB0byBiZSBleHRlbmRlZCB3aXRoIHByaWNlCgkJLy8gYW5kIG5vdCBhIHN1YiB0YWJsZSB0aGF0IGhvbGRzIHByaWNlcyBwZXIgYXR0cmlidXRlLCB0aGVyZWZvciBhZGRpbmcgY29sdW1ucwoJCS8vIHRvIGF0dHJpYnV0ZXMgdGFibGUgYW5kIGRyb3BwaW5nIG9mIGF0dHJpYnV0ZSBvcHRpb25zIAoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMnLCAnbWluYWxsb3dlZCBJMicgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzJywgJ21heGFsbG93ZWQgSTInICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycsICdwcmljZWFkanVzdHR5cGUgQygxKScgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzJywgJ3ByaWNlYWRqdXN0bWVudCBGJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMnLCAnZGlzcGxheW9ubHkgTCcgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzJywgJ2l0ZW1udW1iZXIgQygzMCknICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycsICdhY3RpdmUgTCcgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMnLCAnbmFtZSBDKDI1NSknICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzJywgJ21heGF0dHJpYnV0ZXMgSTInKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfYXR0cmlidXRlX29wdGlvbnMnKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJLy8gUmVtb3ZlIHBlcm1pc3Npb24gdGhhdCB3ZXJlIG5vdCB3b3JraW5nL25lZWRlZAoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdVc2UgU2hvcE1hZGVTaW1wbGUnLCAnVXNlIFNob3BNYWRlU2ltcGxlJyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0VkaXQgUHJlZmVyZW5jZXMnLCAnRWRpdCBQcmVmZXJlbmNlcycpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBZGQvRGVsZXRlIENhdGVnb3J5JywgJ0FkZC9EZWxldGUgQ2F0ZWdvcnknKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBDYXRlZ29yeScsICdFZGl0IENhdGVnb3J5Jyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0FkZC9EZWxldGUgUHJvZHVjdHMnLCAnQWRkL0RlbGV0ZSBQcm9kdWN0cycpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdFZGl0IFByb2R1Y3RzJywgJ0VkaXQgUHJvZHVjdHMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignQWRkL0RlbGV0ZSBUcmFuc2xhdGlvbnMnLCAnQWRkL0RlbGV0ZSBUcmFuc2xhdGlvbnMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBUcmFuc2xhdGlvbnMnLCAnRWRpdCBUcmFuc2xhdGlvbnMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignQWRkL0RlbGV0ZSBUZW1wbGF0ZXMnLCAnQWRkL0RlbGV0ZSBUZW1wbGF0ZXMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBUZW1wbGF0ZXMnLCAnRWRpdCBUZW1wbGF0ZXMnKTsKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknLCAkdGhpcy0+TGFuZygnU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSk7CgkJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpOwoJCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblNLVXMnKSk7CgkJLy8gRGVmYXVsdCBsYW5ndWFnZSBmb3IgdGhlIHNob3Agd2FzIG5vdCB1c2VkLCBzbyByZW1vdmUgaXQgZHVyaW5nIHRoaXMgbWFqb3IgcmVsZWFzZQoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdkZWZhdWx0X2xhbmd1YWdlJyk7CgoJCS8vIE1ham9yIHN0ZXBzIHRha2VuIGhlcmUsIHNpbmNlIGV4dGVuc2lvbiB0byBhdHRyaWJ1dGVzIGlzIGh1Z2UuCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuMCc7CgoJY2FzZSAnMC4zLjAnOgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjEnOwoKCWNhc2UgJzAuMy4xJzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMy4yJzsKCgljYXNlICcwLjMuMic6CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuMyc7CgoJY2FzZSAnMC4zLjMnOgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjQnOwoKCWNhc2UgJzAuMy40JzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMy41JzsKCn0KCi8vIExvZyB0aGUgdXBncmFkZSBpbiB0aGUgYWRtaW4gYXVkaXQgdHJhaWwKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/ShopMadeSimple.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmluY2x1ZGVfb25jZShkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidsaWJyYXJ5Jy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjYXRlZ29yaWVzLmFwaS5waHAnKTsKaW5jbHVkZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2xpYnJhcnknLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3Byb2R1Y3RzLmFwaS5waHAnKTsKCmNsYXNzIFNob3BNYWRlU2ltcGxlIGV4dGVuZHMgQ01TTW9kdWxlIHsKCQoJdmFyICRjYXRlZ29yaWVzOwoJdmFyICRwcm9kdWN0czsKCQoJZnVuY3Rpb24gU2hvcE1hZGVTaW1wbGUoKSB7CiAgICAJcGFyZW50OjpDTVNNb2R1bGUoKTsKICAgIAkkdGhpcy0+Y2F0ZWdvcmllcyA9IG5ldyBDYXRlZ29yaWVzKCR0aGlzKTsKICAgIAkkdGhpcy0+cHJvZHVjdHMgPSBuZXcgU01TUHJvZHVjdHMoJHRoaXMpOwoJfQoJZnVuY3Rpb24gR2V0TmFtZSgpIHsKCQlyZXR1cm4gJ1Nob3BNYWRlU2ltcGxlJzsKCX0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwoJfQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsKCQlyZXR1cm4gJzAuMy41JzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvcigpIHsKCQlyZXR1cm4gJ0R1a2V0b3duJzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgewoJCS8vIFRvIHJlZHVjZSBzcGFtIHRoaXMgZW1haWwgZmllbGQgbGVmdCBibGFuawoJCXJldHVybiAnJzsKCX0KCWZ1bmN0aW9uIEdldEhlbHAoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7Cgl9CglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQl7CgkJcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NoYW5nZWxvZy5pbmMnKTsKCX0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgewoJCXJldHVybiB0cnVlOwoJfQoJZnVuY3Rpb24gSGFzQWRtaW4oKQl7CgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7CiAgICBnbG9iYWwgJENNU19WRVJTSU9OOwogICAgaWYoIHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuOCcsJzwnKSApIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgICByZXR1cm4gJ2Vjb21tZXJjZSc7Cgl9CglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5fZGVzY3JpcHRpb24nKTsKCX0KICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IE1vZHVsZXMnKSB8fAoJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpCgkJCSkgewoJCQkJcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7Cgl9CQoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7CgkJcmV0dXJuICcxLjguMSc7Cgl9CglmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpIHsKCQlyZXR1cm4gJzEuOS45JzsKCX0KCQoJZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsKCQkjJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bc1NdaG9wW21NXWFkZVtzU11pbXBsZVwvKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZmVfY2F0ZWdvcnlfbGlzdCcpKTsKCQkvLyR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWhvcFttTV1hZGVbc1NdaW1wbGVcLyg/UDxwcm9kdWN0X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2ZlX3Byb2R1Y3RfZGV0YWlsJykpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWhvcFttTV1hZGVbc1NdaW1wbGVcL2NhdFwvKD9QPGNhdGVnb3J5X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2ZlX3Byb2R1Y3RfbGlzdCcpKTsKCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tzU11ob3BbbU1dYWRlW3NTXWltcGxlXC9wcm9kXC8oP1A8Y2F0ZWdvcnlfaWQ+WzAtOV0rKVwvKD9QPHByb2R1Y3RfaWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsYXJyYXkoJ2FjdGlvbic9PidmZV9wcm9kdWN0X2RldGFpbCcpKTsKCQkjIFRoZSB0b3AgbW9zdCBwYXJhbWV0ZXIgd2lsbCBiZSBzaG93biBpbiB0aGUgYm90dG9tIGFuZCB2aWNlIHZlcnNhCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3RhcnQnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBzdGFydCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYWdlbnVtYmVyJywgJycsICR0aGlzLT5MYW5nKCdoZWxwcGFnZW51bWJlcicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwcm9kcGFnZWxpbWl0JywgJycsICR0aGlzLT5MYW5nKCdoZWxwcHJvZHBhZ2VsaW1pdCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYXJlbnRjYXRlZ29yeScsICcnLCAkdGhpcy0+TGFuZygnaGVscHBhcmVudGNhdGVnb3J5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2Rpc3BsYXknLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBkaXNwbGF5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdG5hbWUnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBjYXRuYW1lJykpOwoJCQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdGFydCcsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZW51bWJlcicsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJvZHBhZ2VsaW1pdCcsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFyZW50Y2F0ZWdvcnknLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Rpc3BsYXknLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhdG5hbWUnLENMRUFOX1NUUklORyk7CgoJfQoKCWZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24gKCAkZXZlbnRuYW1lICkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKCX0KCglmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKCX0KCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtZXNzYWdlX3Bvc3RpbnN0YWxsJyk7Cgl9CglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21lc3NhZ2VfcG9zdHVuaW5zdGFsbCcpOwoJfQoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21lc3NhZ2VfY29uZmlybXVuaW5zdGFsbCcpOwoJfQoKCS8vIFByZXBhcmUgYSBsaXN0IG9mIHRoZSBwb3NzaWJsZSBwcmljZSBhZGp1c3RtZW50IHR5cGVzCglmdW5jdGlvbiBCdWlsZExpc3RPZkFkanVzdFR5cGVzKCkgewoJCS8qCVAgLSBBZGRzIHRoZSBhZGp1c3RtZW50IHRvIHRoZSBwcm9kdWN0IHByaWNlCgkJCU0gLSBTdWJ0cmFjdHMgdGhlIGFkanVzdG1lbnQgZnJvbSB0aGUgcHJvZHVjdCBwcmljZQoJCQlUIC0gTXVsdGlwbGllcyB0aGUgcHJvZHVjdCBwcmljZSB0aW1lIHRoZSBhZGp1c3RtZW50IGZhY3RvciAobWlnaHQgYmUgbWludXMgZmFjdG9yISkKCQkJViAtIE92ZXJyaWRlcyB0aGUgcHJvZHVjdCBwcmljZSB3aXRoIGdpdmVuIGZhY3RvcgoJCSovCgkJJGFkanVzdHR5cGVkcm9wZG93biA9IGFycmF5KCk7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZXBsdXMnKV0gPSAnUCc7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZW1pbicpXSA9ICdNJzsKCQkkYWRqdXN0dHlwZWRyb3Bkb3duWyR0aGlzLT5MYW5nKCdhZGp1c3R0eXBldGltZXMnKV0gPSAnVCc7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZXZhbHVlJyldID0gJ1YnOwoKCQlyZXR1cm4gJGFkanVzdHR5cGVkcm9wZG93bjsKCX0KCglmdW5jdGlvbiBCdWlsZExpc3RJbnZlbnRvcnlUeXBlcygpIHsKCQkkaW52ZW50b3J5dHlwZXMgPSBhcnJheSgpOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9ub25lJyldID0gJ25vbmUnOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9wcm9kJyldID0gJ3Byb2QnOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9hdHRyJyldID0gJ2F0dHInOwoKCQlyZXR1cm4gJGludmVudG9yeXR5cGVzOwoJfQoKCWZ1bmN0aW9uIEJ1aWxkTGlzdFNLVSgpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gJ1NFTEVDVCBza3UsIGRlc2NyaXB0aW9uIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzCgkJICAgICAgICBPUkRFUiBCWSBza3UnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCApOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRza3VfbGlzdCA9IGFycmF5KCk7CgkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCSRza3VfbGlzdFskcm93Wydza3UnXS4nIC0gJy4kcm93WydkZXNjcmlwdGlvbiddXSA9ICRyb3dbJ3NrdSddOwoJCX0KCQlyZXR1cm4gJHNrdV9saXN0OwkKCX0KCQoJZnVuY3Rpb24gQnVpbGRMaXN0U2FsZXNJbnZlbnRUaW1pbmcoKSB7CgkJJHNhbGVzaW52ZW50dGltaW5nID0gYXJyYXkoKTsKCQkvLyRzYWxlc2ludmVudHRpbWluZ1skdGhpcy0+TGFuZygnc2FsZXNpbnZlbnR0aW1pbmdfaW50JyldID0gJ0lOVCc7CgkJJHNhbGVzaW52ZW50dGltaW5nWyR0aGlzLT5MYW5nKCdzYWxlc2ludmVudHRpbWluZ19jbmYnKV0gPSAnQ05GJzsKCQkkc2FsZXNpbnZlbnR0aW1pbmdbJHRoaXMtPkxhbmcoJ3NhbGVzaW52ZW50dGltaW5nX3BheScpXSA9ICdQQVknOwoJCSRzYWxlc2ludmVudHRpbWluZ1skdGhpcy0+TGFuZygnc2FsZXNpbnZlbnR0aW1pbmdfc2hwJyldID0gJ1NIUCc7CgkJJHNhbGVzaW52ZW50dGltaW5nWyR0aGlzLT5MYW5nKCdzYWxlc2ludmVudHRpbWluZ19pbnYnKV0gPSAnSU5WJzsKCgkJcmV0dXJuICRzYWxlc2ludmVudHRpbWluZzsKCX0KCQoJZnVuY3Rpb24gQnVpbGRUaHVtYiAoJGltYWdlLCAkc291cmNlZGlyLCAkdGh1bWJ3aWR0aCA9IDAsICAkdGh1bWJoZWlnaHQ9MCkgewoKCQlpbmlfc2V0KCJtZW1vcnlfbGltaXQiLCIzME0iKTsKCQkkaW1nc2l6ZSA9IGdldGltYWdlc2l6ZSgkc291cmNlZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGltYWdlKTsKCQlpZiAoISRpbWdzaXplKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmICgkdGh1bWJ3aWR0aCA9PSAwICYmICR0aHVtYmhlaWdodCA9PSAwKSB7CgkJCSR0YXJnZXRzaXplWzBdID0gJGltZ3NpemVbMF07CS8vIFRhcmdldCBIZWlnaHQKCQkJJHRhcmdldHNpemVbMV0gPSAkaW1nc2l6ZVsxXTsJLy8gVGFyZ2V0IFdpZHRoCgkJfSBlbHNlaWYgKCR0aHVtYndpZHRoID09IDAgJiYgJHRodW1iaGVpZ2h0ICE9IDApIAl7CgkJCSR0YXJnZXRzaXplWzBdID0gcm91bmQoJHRodW1iaGVpZ2h0KigkaW1nc2l6ZVswXS8kaW1nc2l6ZVsxXSkpOyAKCQkJJHRhcmdldHNpemVbMV0gPSAkdGh1bWJoZWlnaHQ7IAoJCX0gZWxzZWlmICgkdGh1bWJ3aWR0aCAhPSAwICYmICR0aHVtYmhlaWdodCA9PSAwKSAJewoJCQkkdGFyZ2V0c2l6ZVswXSA9ICR0aHVtYndpZHRoOyAKCQkJJHRhcmdldHNpemVbMV0gPSByb3VuZCgkdGh1bWJ3aWR0aCooJGltZ3NpemVbMF0vJGltZ3NpemVbMV0pKTsgCgkJfQoJCWVsc2UgewoJCQlpZiAocm91bmQoJHRodW1id2lkdGgqKCRpbWdzaXplWzBdLyRpbWdzaXplWzFdKSkgPiAkdGh1bWJoZWlnaHQpCgkJCQl7CgkJCQkJJHRhcmdldHNpemVbMF0gPSAkdGh1bWJoZWlnaHQ7CgkJCQkJJHRhcmdldHNpemVbMV0gPSByb3VuZCgkdGh1bWJoZWlnaHQqKCRpbWdzaXplWzFdLyRpbWdzaXplWzBdKSk7IAoJCQkJfSBlbHNlIHsKCQkJCQkkdGFyZ2V0c2l6ZVswXSA9IHJvdW5kKCR0aHVtYndpZHRoKigkaW1nc2l6ZVswXS8kaW1nc2l6ZVsxXSkpOyAKCQkJCQkkdGFyZ2V0c2l6ZVsxXSA9ICR0aHVtYndpZHRoOwoJCQkJfQoJCX0KCQkkaW1hZ2V0eXBlID0gJGltZ3NpemVbMl07CgkJLy8gVHlwZSBvZiBpbWFnZSBjYW4gaGF2ZSB0aGUgZm9sbG93aW5nIHZhbHVlcyAKCQkvLyAxID0gR0lGIDIgPSBKUEcgMyA9IFBORwoJCS8vIEZvciBvdGhlciB0eXBlcyBzZWUgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5leGlmLWltYWdldHlwZS5waHAjCgoJCSRwcm9wZXJ0aWVzID0gYXJyYXkgKCR0YXJnZXRzaXplWzBdLCAkdGFyZ2V0c2l6ZVsxXSwgJGltZ3NpemVbMF0sICRpbWdzaXplWzFdKTsKCgkJc3dpdGNoKCRpbWFnZXR5cGUpIHsKCQkJCWNhc2UgMToKCQkJCQkkc3JjaW1nID0gaW1hZ2VjcmVhdGVmcm9tZ2lmKCRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2UpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAyOgoJCQkJCSRzcmNpbWcgPSBpbWFnZWNyZWF0ZWZyb21qcGVnKCRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2UpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAzOgoJCQkJCSRzcmNpbWcgPSBpbWFnZWNyZWF0ZWZyb21wbmcoJHNvdXJjZWRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRpbWFnZSk7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSRkZXN0aW5hdGlvbmltZyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRwcm9wZXJ0aWVzWzBdLCAkcHJvcGVydGllc1sxXSk7CQkJCgoJCWlmICgKCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCRkZXN0aW5hdGlvbmltZywgJHNyY2ltZywgMCwgMCwgMCwgMCwgJHByb3BlcnRpZXNbMF0sICRwcm9wZXJ0aWVzWzFdLCAkcHJvcGVydGllc1syXSwgJHByb3BlcnRpZXNbM10pCgkJCSYmCgkJCWltYWdlanBlZygkZGVzdGluYXRpb25pbWcsICRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4ndG5fJy4kaW1hZ2UpCgkJKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCQoJZnVuY3Rpb24gQ2FsY3VsYXRlQXR0cmlidXRlUHJpY2UoJHByaWNlLCAkcHJpY2VhZGp1c3R0eXBlLCAkcHJpY2VhZGp1c3RtZW50KSB7CgkJc3dpdGNoICgkcHJpY2VhZGp1c3R0eXBlKSB7CgkJCWNhc2UgJ1AnOgoJCQkJJHByaWNlID0gJHByaWNlICsgJHByaWNlYWRqdXN0bWVudDsKCQkJCWJyZWFrOwoJCQljYXNlICdNJzoKCQkJCSRwcmljZSA9ICRwcmljZSAtICRwcmljZWFkanVzdG1lbnQ7CgkJCQlicmVhazsKCQkJY2FzZSAnVCc6CgkJCQkkcHJpY2UgPSAkcHJpY2UgKiAkcHJpY2VhZGp1c3RtZW50OwoJCQkJYnJlYWs7CgkJCWNhc2UgJ1YnOgoJCQkJJHByaWNlID0gJHByaWNlYWRqdXN0bWVudDsKCQkJCWJyZWFrOwoJCX0KCQlyZXR1cm4gJHByaWNlOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJIENoZWNrSXRlbU9uU3RvY2soJGl0ZW1udW1iZXIsICRpdGVtdHlwZSkKCQkgVXNpbmcgdGhpcyBmdW5jdGlvbiBhIGNoZWNrIGlzIGRvbmUgaWYgaW52ZW50b3J5IGlzIGF2YWlsYWJsZQoJCSB1c2U6IGlmICgkdGhpcy0+Q2hlY2tJdGVtT25TdG9jaygkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10sICdhdHRyJykpIHsKCSAgICAgICAgfQoJICAgICBBbiBhcnJheSBpcyByZXR1cm5lZCB3aXRoIGJvb2xlYW4gaWYgc3RvY2sgaXMgYXZhaWxhYmxlIGFuZCAKCSAgICAgcXVhbnRpdHkgYXZhaWxhYmxlIGlzIGFsc28gaW5jbHVkZWQKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIENoZWNrSXRlbU9uU3RvY2soJGl0ZW1udW1iZXIsICRpdGVtdHlwZSkgewoJCS8vIEluaXRpYWxpemUgdGhlIERhdGFiYXNlCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkSXRlbU9uU3RvY2sgPSBhcnJheSgpOwoJCSRJdGVtT25TdG9ja1snb25zdG9jayddID0gZmFsc2U7CgkJCgkvLyBGdW5jdGlvbiBub3QgaW4gdXNlLiBXaWxsIGJlIHVzZWQgaWYgaW52ZW50b3J5IGZpbGUgd2lsbCBiZSBpbmNsdWRlZAoJCXN3aXRjaCAoJGl0ZW10eXBlKSB7CgkJCWNhc2UgJ3Byb2QnOgoJCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgCgkJCQkJV0hFUkUgaXRlbW51bWJlciA9ID8nOwoJCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGl0ZW1udW1iZXIpKTsKCQkJCWlmICgkcm93ICYmICRyb3dbJ21heGF0dHJpYnV0ZXMnXSA+IDApIHsKCQkJCQkkSXRlbU9uU3RvY2tbJ29uc3RvY2snXSA9IHRydWU7CgkJCQkJJEl0ZW1PblN0b2NrWydxdWFudGl0eW9uc3RvY2snXSA9ICRyb3dbJ21heGF0dHJpYnV0ZXMnXTsKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlICdhdHRyJzoKCQkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJCQlXSEVSRSBpdGVtbnVtYmVyID0gPyc7CgkJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkaXRlbW51bWJlcikpOwoJCQkJaWYgKCRyb3cgJiYgJHJvd1snbWF4YWxsb3dlZCddID4gMCkgewoJCQkJCSRJdGVtT25TdG9ja1snb25zdG9jayddID0gdHJ1ZTsKCQkJCQkkSXRlbU9uU3RvY2tbJ3F1YW50aXR5b25zdG9jayddID0gJHJvd1snbWF4YWxsb3dlZCddOwoJCQkJfQoJCQkJYnJlYWs7CgkJfSAKCQlyZXR1cm4gJEl0ZW1PblN0b2NrOwoJfQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIERpc3BsYXlFcnJvclBhZ2UoKQoJICAgVGhpcyBpcyBhIHNpbXBsZSBmdW5jdGlvbiBmb3IgZ2VuZXJhdGluZyBlcnJvciBwYWdlcy4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2U9JycpCgl7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9lcnJvcicsICR0aGlzLT5MYW5nKCdlcnJvcicpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwoKCSAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKCSAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwoJfQoJCgkvLyBDb21wbGV0ZWx5IGV4cGFuZCBjYXRlZ29yeSB0cmVlCglmdW5jdGlvbiBGaWxsQ2F0TGlzdCgkcGFyZW50LCAkbGV2ZWwsICRyZXR1cm5pZCkgCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkb2xkX2ZldGNobW9kZSA9ICRkYi0+U2V0RmV0Y2hNb2RlKCdBRE9EQl9GRVRDSF9OVU0nKTsKCQkKCQkkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBuYW1lLCBwYXJlbnRfaWQgCgkJCUZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcyAKCQkJV0hFUkUgY2F0ZWdvcnlfaWQ8PjAgQU5EIHBhcmVudF9pZCA9ID8gQU5EIGFjdGl2ZSA9IDEgCgkJCU9SREVSIEJZIHBvc2l0aW9uLCBuYW1lIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJHBhcmVudCkgKTsKCQkkYSA9IGFycmF5KCk7CgkJaWYgKCEkZGJyZXN1bHQpIHsKCQkJZWNobyAnRXJyb3IgZm91bmQ6IHJlc3VsdCA9ICcuJGRiLT5FcnJvck1zZygpLic8YnIvPiZuYnNwOyZuYnNwOycuJGRiLT5zcWwuJzxici8+JzsgI2RpZSgpOwoJCX0KCQllbHNlIHsKCQkJJHJvdyA9IGFycmF5KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJCS8vIENoZWNrIHRoZSBudW1iZXIgb2YgYWN0aXZlIHByb2R1Y3RzIGNvbm5lY3RlZCB0byB0aGlzIGNhdGVnb3J5CgkJCQkkcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBhcyBudW1fcHJvZHVjdHMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IHBjLAoJCQkJCScuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIHAgV0hFUkUgY2F0ZWdvcnlfaWQ9PyBBTkQgcGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCBBTkQgCgkJCQkJcC5hY3RpdmUgPSAxJzsKCQkJCSRkYnJlc3VsdDIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeTIsIGFycmF5KCAkcm93WzBdICkpOwoJCQkJJHByb2Ryb3cgPSAkZGJyZXN1bHQyLT5GZXRjaFJvdygpOwoJCQkJJHJvd1s0XSA9ICRwcm9kcm93WydudW1fcHJvZHVjdHMnXTsKCgkgICAgICAkZGVzdHBhZ2UgPSAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkOwoJCQkJJHNlbmR0b2RldGFpbCA9IGFycmF5KCdjYXRlZ29yeV9pZCc9PiRyb3dbMF0sCSdkZXRhaWxwYWdlJz0+JGRlc3RwYWdlKTsKCQkJCSRwcmV0dHl1cmwgPSAnU2hvcE1hZGVTaW1wbGUvY2F0LycuJHJvd1swXS4nLycuJGRlc3RwYWdlOwoJCQkJaWYgKGlzc2V0KCRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ10pKSB7CgkJCQkJJHByZXR0eXVybCAuPSAnL2QsJyAuICRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ107CgkJCQl9CgkJCQlpZiAoJHJvd1s0XSAhPSAwKSB7CgkJCQkJJHJvd1sxXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ZlX3Byb2R1Y3RfbGlzdCcsICRkZXN0cGFnZSwgJHJvd1sxXSwKCQkJCQkJJHNlbmR0b2RldGFpbCwnJywgZmFsc2UsIGZhbHNlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7CgkJCQl9IAoJCQkJJHJvd1szXSA9ICRsZXZlbDsKCQoJCQkJJGFbXSA9ICRyb3c7CgkJCQkKCQkJCS8vIFByb2Nlc3Mgc3ViY2F0ZWdvcmllcwoJCQkJJGIgPSAkdGhpcy0+RmlsbENhdExpc3QoJHJvd1swXSwgJGxldmVsKzEsICRyZXR1cm5pZCk7CgkJCQkvLyBBZGQgJGJbXSB0byB0aGUgZW5kIG9mICRhW10KCQkJCWZvciAoJGo9MDsgJGo8Y291bnQoJGIpOyAkaisrKSB7CgkJCQkJJGFbXSA9ICRiWyRqXTsKCQkJCX0KCQkJfQkJCgkgIH0KCQoJCSRkYi0+U2V0RmV0Y2hNb2RlKCRvbGRfZmV0Y2htb2RlKTsKCQlyZXR1cm4gJGE7CgkJCgl9CgoJZnVuY3Rpb24gRm9ybWF0UHJpY2UoJHByaWNlKSB7CgkJJGRlY2ltYWxwb3NpdGlvbnMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHBvc2l0aW9uc3ByaWNlJywgMik7CgkJJGRlY2ltYWxzZXBlcmF0b3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHNlcGFyYXRvcnByaWNlJywgJy4nKTsKCQkkdGhvdXNhbmRzZXBlcmF0b3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGhvdXNhbmRzZXBhcmF0b3JwcmljZScsICcnKTsKCQlyZXR1cm4gbnVtYmVyX2Zvcm1hdCgkcHJpY2UsICRkZWNpbWFscG9zaXRpb25zLCAkZGVjaW1hbHNlcGVyYXRvciwgJHRob3VzYW5kc2VwZXJhdG9yKTsKCX0JCgoJZnVuY3Rpb24gRm9ybWF0V2VpZ2h0KCR3ZWlnaHQpIHsKCQkkZGVjaW1hbHBvc2l0aW9ucyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFscG9zaXRpb25zd2VpZ2h0JywgMyk7CgkJJGRlY2ltYWxzZXBlcmF0b3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHNlcGFyYXRvcndlaWdodCcsICcuJyk7CgkJJHRob3VzYW5kc2VwZXJhdG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rob3VzYW5kc2VwYXJhdG9yd2VpZ2h0JywgJycpOwoJCXJldHVybiBudW1iZXJfZm9ybWF0KCR3ZWlnaHQsICRkZWNpbWFscG9zaXRpb25zLCAkZGVjaW1hbHNlcGVyYXRvciwgJHRob3VzYW5kc2VwZXJhdG9yKTsKCX0JCgoJZnVuY3Rpb24gSW1hZ2VBZGRUb0NhcnRTb3VyY2UgKCkgewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkvLyRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgkJLy8gUHJlcGFyZSBsaW5rIHdpdGggaW1hZ2UgKEZlYXQgUmVxIzMzMjQpCgkJcmV0dXJuICRjb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4nbW9kdWxlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4KCQkJCSR0aGlzLT5HZXROYW1lKCkuRElSRUNUT1JZX1NFUEFSQVRPUi4naW1hZ2VzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidhZGR0b2NhcnQuZ2lmJzsKCgl9CgkKCWZ1bmN0aW9uIFJlYnVpbGRUaHVtYm5haWxzKCRzb3VyY2VkaXIsICR0eXBlPSdwcm9kdWN0cycpIHsKCQkkaW1hZ2VzID0gYXJyYXkoKTsKCQkvLyBTZXQgcGF0dGVybiAKCQkkcGF0dGVybiA9ICJ0bl8qIjsgCgkJLy8gQ2hhbmdlIHRvIG5hbWVkIGRpcmVjdG9yeSAKCQljaGRpcigkc291cmNlZGlyKTsgCgkJLy8gRmluZCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIAoJCSRpbWFnZXMgPSBnbG9iKCRwYXR0ZXJuKTsgCgkJLy8gSXRlcmF0ZSBvdmVyIGZpbGVzIGFycmF5IGFuZCBkZWxldGUgZXhpc3RpbmcgdGh1bWJuYWlscwoJCWZvcmVhY2ggKCRpbWFnZXMgYXMgJGYpIHsgCgkJCXVubGluaygkZik7CgkJfSAKCQkKCQkvLyBQcmVwYXJlIGFuIGFycmF5IHdpdGggdGhlIGF2YWlsYWJsZSBpbWFnZXMKCQkkcGF0dGVybiA9ICIqIjsgCgkJJGltYWdlcyA9IGdsb2IoJHBhdHRlcm4pOyAKCQkkdGh1bWJ3aWR0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0bndpZHRoX3Byb2R1Y3QnLCAnMTAwJyk7CgkJJHRodW1iaGVpZ2h0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RuaGVpZ2h0X3Byb2R1Y3QnLCAnMTAwJyk7CgkJLy8gVXNlIG5leHQgaW1hZ2UgZm91bmQgaW4gbGlzdCBvZiBhdmFpbGFibGUgaW1hZ2VzIGFuZCBwcmVwYXJlIHRodW1ibmFpbAoJCWZvcmVhY2ggKCRpbWFnZXMgYXMgJGYpIHsgCgkJCSR0aGlzLT5CdWlsZFRodW1iICgkZiwgJHNvdXJjZWRpciwgJHRodW1id2lkdGgsICR0aHVtYmhlaWdodCk7CgkJfQoKCQlyZXR1cm47Cgl9CgoJLy8gRnVuY3Rpb24gdGhhdCBpcyB1c2VkIGJ5IHRoZSBzZWFyY2ggbW9kdWxlCglmdW5jdGlvbiBTZWFyY2hSZXN1bHRXaXRoUGFyYW1zKCAkcmV0dXJuaWQsICRwcm9kdWN0X2lkLCAkYXR0cj0nJywgJHBhcm1zKSAgIHsKCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQlpZiAoJGF0dHIgPT0gJ3Byb2R1Y3QnKSB7CgkJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCSRxID0gIlNFTEVDVCBuYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMgV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHByb2R1Y3RfaWQgKSApOwoJCQlpZiAoJGRicmVzdWx0KSB7CgkJCQkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOyAKCQkJCS8vIDAgcG9zaXRpb24gaXMgdGhlIHByZWZpeCBkaXNwbGF5ZWQgaW4gdGhlIGxpc3QgcmVzdWx0cy4KCQkJCSRyZXN1bHRbMF0gPSAkdGhpcy0+R2V0RnJpZW5kbHlOYW1lKCk7CgoJCQkJLy8gMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUKCQkJCSRyZXN1bHRbMV0gPSAkcm93WyduYW1lJ107CgoKCQkJCS8vIFBhZ2UgdG8gdXNlIGZvciB0aGUgbmV3cy1hcnRpY2xlLWRldGFpbHM6CgkJCQlpZiAoaXNzZXQoJHBhcm1zWydkZXRhaWxwYWdlJ10pKSB7ICAgIAoJCQkJCSRwYWdlYWxpYXMgPSAkcGFybXNbJ2RldGFpbHBhZ2UnXTsKCQkJCX0gIAoJCQkJZWxzZSAkcGFnZWFsaWFzID0gJ2hvbWUnOyAgCgkJCQkkcGFnZWluZm8gPSBQYWdlSW5mb09wZXJhdGlvbnM6OkxvYWRQYWdlSW5mb0J5Q29udGVudEFsaWFzKCRwYWdlYWxpYXMpOwoJCQkJJGNvbnRlbnRfaWQgPSAkcGFnZWluZm8tPmNvbnRlbnRfaWQ7CgkJCQkkcHJldHR5dXJsID0gJ1Nob3BNYWRlU2ltcGxlJy5ESVJFQ1RPUllfU0VQQVJBVE9SLiRwcm9kdWN0X2lkLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGNvbnRlbnRfaWQ7CgoJCQkJLy8gMiBwb3NpdGlvbiBpcyB0aGUgVVJMIHRvIHRoZSB0aXRsZS4gCgkJCQkkcmVzdWx0WzJdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJ2NudG50MDEnLCAnZmVfcHJvZHVjdF9kZXRhaWwnLCAkcmV0dXJuaWQsICcnLCAKCQkJCWFycmF5KCdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdF9pZCksICcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJCQl9CgkJfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCWZ1bmN0aW9uIFNlYXJjaFJlaW5kZXgoKSB7CgkJJHNlYXJjaG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJCWlmICgkc2VhcmNobW9kdWxlICE9IEZBTFNFKSB7CgkJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCS8vIEZpcnN0IHJlbW92ZSBhbGwgdGhlIHNlYXJjaCBpbmRleCBlbnRyaWVzCgkJCSRzZWFyY2htb2R1bGUtPkRlbGV0ZVdvcmRzKCR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKSk7CgkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzCgkJCQlXSEVSRSBhY3RpdmUgPSAxJzsKCQkJJGRicmVzdWx0ID0gJiRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkvLyBBZGQgaW5kZXggZW50cmllcyBmb3IgdGhlIGFjdGl2ZSBwcm9kdWN0cwoJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCQkkc2VhcmNobW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkcm93Wydwcm9kdWN0X2lkJ10sICdwcm9kdWN0JywgJHJvd1snbmFtZSddIC4gJyAnIC4gJHJvd1snZGVzY3JpcHRpb24nXSk7CgkJCX0KCQkJLy8gQXR0cmlidXRlcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBzZWFyY2ggc2luY2UgdGhleSBhcmUgb25seSBhdmFpbGFibGUKCQkJLy8gdmlhIHByb2R1Y3RzICh0aGVyZSBkb2Vzbid0IGV4aXN0IGEgYXR0cmlidXRlIGRldGFpbCBwYWdlKQoJCX0KCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCVRoaXMgZnVuY3Rpb24gYWxsb3cgcmV0cmlldmFsIGZyb20gcHJlZmVyZW5jZXMgZnJvbSB0aGlzIG1vZHVsZQoJCXdoZW4gbmVlZGVkIGluIGFub3RoZXIgbW9kdWxlCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCQoJZnVuY3Rpb24gR2V0U01TUHJlZmVyZW5jZSgkcHJlZmVyZW5jZSwgJGRlZmF1bHQ9JycpIHsKCQlyZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJHByZWZlcmVuY2UsICRkZWZhdWx0KTsKCX0KfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/category_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRjYXRlZ29yeS5zdGFydGZvcm19DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNhdGVnb3J5LnBhcmVudF9pZC5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNhdGVnb3J5LnBhcmVudF9pZC5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNhdGVnb3J5Lm5hbWUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5uYW1lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskY2F0ZWdvcnkuZGVzY3JpcHRpb24ubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNhdGVnb3J5LmltYWdlLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcnkuaW1hZ2UuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yeS5hY3RpdmUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5hY3RpdmUuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yeS5wb3NpdGlvbi5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNhdGVnb3J5LnBvc2l0aW9uLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5jYXRlZ29yeV9pZC5pbnB1dH17JGNhdGVnb3J5LmN1cnJlbnRfY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNhdGVnb3J5LnN1Ym1pdH17JGNhdGVnb3J5LmNhbmNlbH08L3A+DQogICAgPC9kaXY+DQp7JGNhdGVnb3J5LmVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/example_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/fe_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogRnJvbnQgRW5kOiBMaXN0IG9mIGFwZXggY2F0ZWdvcmllcyAqfQ0KPGRpdiBjbGFzcz0iY2F0bGlzdGhlYWRlciAiPg0KCXskbGFiZWxfY2F0ZWdvcmllc30NCjwvZGl2Pg0Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCiAge2lmICRlbnRyeS0+aW1hZ2UhPScqbm9uZSd9DQogICAgPGRpdiBjbGFzcz0iY2F0aW1hZ2V0aHVtYiI+DQogICAgICAge2ltYWdlIHNyYz0kZW50cnktPmltYWdlIGFsdD0kZW50cnktPmRlc2NyaXB0aW9ufSZuYnNwO3skZW50cnktPm5hbWV9DQogICAgPC9kaXY+DQogIHtlbHNlfQ0KICAgICAgICA8ZGl2IGNsYXNzPSJjYXRsaXN0bGluZSI+DQogICAgICAgICAgICB7JGVudHJ5LT5uYW1lfQ0KICAgICAgICA8L2Rpdj4NCiAgey9pZn0NCnsvZm9yZWFjaH0NCg0KeyogTmV3IGNhdGVnb3J5IGxpc3RpbmcgKn0NCjx0YWJsZSB3aWR0aD0xMDAlIGJvcmRlcj0wPg0Ke2lmICRwcm9kdWN0c19pbl9yb290X2NhdGVnb3J5ICE9IDB9DQogPHRyPg0KICA8dGQgY29sc3Bhbj0yPnskcm9vdGNhdH0gKHskcHJvZHVjdHNfaW5fcm9vdF9jYXRlZ29yeX0pPC90ZD4NCiA8L3RyPg0Key9pZn0NCntzZWN0aW9uIG5hbWU9aSBsb29wPSRjYXRlZ29yaWVzfQ0KIDx0cj4NCiAgPHRkPntzZWN0aW9uIG5hbWU9aiBsb29wPSRjYXRlZ29yaWVzW2ldWzNdIG1heD0kY2F0ZWdvcmllc1tpXVszXX0mbmJzcDsmbmJzcDt7L3NlY3Rpb259eyRjYXRlZ29yaWVzW2ldWzFdfXtpZiAkY2F0ZWdvcmllc1tpXVs0XSA+IDB9Jm5ic3A7KHskY2F0ZWdvcmllc1tpXVs0XX0pey9pZn0NCiAgPC90ZD4NCiA8L3RyPg0Key9zZWN0aW9ufQ0KPC90YWJsZT4=]]></data>
	</file>
	<file>
	  <filename>/templates/fe_category_list.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlzdCBvZiBjYXRlZ29yeSBkYXRhICp9DQo8ZGl2IElEPSJjYXRsaXN0aGVhZGVyIj57JGNhdGVnb3J5bmFtZX08L2Rpdj4NCjx0YWJsZSBJRD0iY2F0aW5mbyI+DQoJPHRyPg0KCQl7aWYgJGltYWdlIT0nKm5vbmUnfTx0ZCBJRD0iY2F0aW1hZ2V0aHVtYiI+DQoJCQl7aW1hZ2Ugc3JjPSRpbWFnZSBhbHQ9JGRlc2NyaXB0aW9ufTwvdGQ+DQoJCXsvaWZ9DQoJCTx0ZCBjbGFzcz0iY2F0ZGVzY3JpcHRpb24iPnskZGVzY3JpcHRpb259PC90ZD4NCgk8L3RyPg0KPC90YWJsZT4NCjxkaXYgY2xhc3M9InByb2R1Y3RsaXN0Ij4NCjxkaXYgSUQ9InByb2R1Y3Rjb3VudCI+eyRsYWJsZV9wcm9kdWN0X2NvdW50fTwvZGl2Pg0KPHRhYmxlPg0KCXtmb3JlYWNoIGZyb209JHByb2R1Y3RzIGl0ZW09ZW50cnl9DQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+DQoJCQk8dGQgY2xhc3M9InByb2R1Y3RuYW1lIj57JGVudHJ5LT5wcm9kbmFtZX08L3RkPg0KCQkJeyogVXNlIHRoZSBmb2xsb3dpbmcgaWYgeW91IG9ubHkgd2FudCB0byBzaG93IHRoZSBuYW1lIG9mIHByb2R1Y3QgKG5vIGxpbmspOg0KCQkJPHRkIGNsYXNzPSJwcm9kdWN0bmFtZSI+eyRlbnRyeS0+cHJvZG5hbWVub2xpbmt9PC90ZD4NCgkJCSp9DQoJCQk8dGQgY2xhc3M9InByb2R1Y3RkZXNjIj57JGVudHJ5LT5wcm9kZGVzY3x0cnVuY2F0ZX08L3RkPg0KCQkJPHRkIGNsYXNzPSJwcm9kdWN0cHJpY2UiPnskZW50cnktPnByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L3RkPg0KCQkJPHRkPnskZW50cnktPmFkZHByb2R1Y3R9PC90ZD4NCgkJCXsqIHVzZSA8dGQ+eyRlbnRyeS0+YWRkcHJvZHVjdGltYWdlfTwvdGQ+IGlmIHlvdSB3YW50IGFuIGltYWdlIGFzIHRoZSBhZGQgdG8gY2FydCBsaW5rICp9DQoJCQl7aWYgJHByb2RpbWFnZSE9Jypub25lJ308dGQgY2xhc3M9ImltZyI+DQoJCQkJe2ltYWdlIHNyYz0kZW50cnktPnByb2RpbWFnZSBhbHQ9JGVudHJ5LT5wcm9kZGVzY308L3RkPg0KCQkJCXsqIG9yIHVzZSB0aGUgZm9sbG93aW5nLiBUaGUgaW1hZ2UgaXMgdGhlbiBhIGxpbmsgdG8gdGhlIGRldGFpbCBwYWdlDQoJCQkJeyRlbnRyeS0+cHJvZGltYWdlbGlua308L3RkPg0KCQkJCSp9DQoJCQl7L2lmfQ0KCQk8L3RyPg0KCXsvZm9yZWFjaH0NCjwvdGFibGU+DQp7aWYgJHBhZ2Vjb3VudCA+IDF9DQoJeyRmaXJzdHBhZ2V9IHskcHJldnBhZ2V9IHskcGFnZXRleHR9OiB7JHBhZ2VudW1iZXJ9IHskb2Z0ZXh0fTogeyRwYWdlY291bnR9IHskbmV4dHBhZ2V9IHskbGFzdHBhZ2V9DQp7L2lmfSANCjxkaXYgSUQ9InByb2R1Y3RwcmljZXNpbiI+eyRjdXJyZW5jeX08L2Rpdj4NCjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/fe_products_featured.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlzdCBvZiBmZWF0dXJlZCBwcm9kdWN0cyAqfQ0KPGRpdiBjbGFzcz0icHJvZHVjdGxpc3QiPg0KPGRpdiBJRD0icHJvZHVjdGNvdW50Ij57JGxhYmxlX3Byb2R1Y3RfY291bnR9PC9kaXY+DQo8dGFibGU+DQoJe2ZvcmVhY2ggZnJvbT0kcHJvZHVjdHMgaXRlbT1mZWF0ZW50cnl9DQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+DQoJCQk8dGQgY2xhc3M9InByb2R1Y3RuYW1lIj57JGZlYXRlbnRyeS0+cHJvZG5hbWV9PC90ZD4NCgkJCTx0ZCBjbGFzcz0icHJvZHVjdGRlc2MiPnskZmVhdGVudHJ5LT5wcm9kZGVzY3x0cnVuY2F0ZX08L3RkPg0KCQkJPHRkIGNsYXNzPSJwcm9kdWN0cHJpY2UiPnskZmVhdGVudHJ5LT5wcmljZX08L3RkPg0KCQkJPHRkPnskZmVhdGVudHJ5LT5uZXR3ZWlnaHR8bnVtYmVyX2Zvcm1hdDoyfTwvdGQ+DQoJCQk8dGQ+eyRmZWF0ZW50cnktPnNrdX08L3RkPg0KCQkJPHRkPnskZmVhdGVudHJ5LT5hZGRwcm9kdWN0fTwvdGQ+DQoJCQl7aWYgJHByb2RpbWFnZSE9Jypub25lJ308dGQgY2xhc3M9ImltZyI+DQoJCQkJe2ltYWdlIHNyYz0kZmVhdGVudHJ5LT5wcm9kaW1hZ2UgYWx0PSRmZWF0ZW50cnktPnByb2RkZXNjfTwvdGQ+DQoJCQl7L2lmfQ0KCQk8L3RyPg0KCXsvZm9yZWFjaH0NCjwvdGFibGU+DQo8ZGl2IElEPSJwcm9kdWN0cHJpY2VzaW4iPnskY3VycmVuY3l9PC9kaXY+DQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/fe_product_detail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlzdCBvZiBwcm9kdWN0IGRhdGEgKn0NCjxkaXYgSUQ9InByb2R1Y3RoZWFkZXIiPnskcHJvZHVjdG5hbWV9Jm5ic3A7eyRkZXNjcmlwdGlvbn0mbmJzcDt7JG5ldHdlaWdodHxudW1iZXJfZm9ybWF0OjJ9PC9kaXY+DQoNCntsaXRlcmFsfQ0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KZnVuY3Rpb24gcmVwbChpbWcsIHRpdGxlKQ0KICAgew0KICAgZG9jdW1lbnQuaXRlbV9pbWFnZS5zcmM9aW1nOw0KICAgZG9jdW1lbnQuaXRlbV9pbWFnZS50aXRsZT10aXRsZTsNCiAgIH0NCjwvc2NyaXB0Pg0Key9saXRlcmFsfQ0KDQp7aWYgJGl0ZW1jb3VudCA+IDB9DQo8dGFibGUgSUQ9ImNhdGluZm8iPg0KPHRyPg0KPHRkPg0KIDxpbWcgbmFtZT0iaXRlbV9pbWFnZSIgaWQ9Iml0ZW1faW1hZ2UiIHNyYz0ieyRwaW1hZ2V9IiB0aXRsZT0ieyRpbWFnZWRlc2N9Ij4NCiA8ZGl2IGNsYXNzPSJQcm9kVGh1bWJuYWlscyI+DQogIHtzZWN0aW9uIG5hbWU9aW5kIGxvb3A9JGVudHJ5YXJyYXl9DQogICA8YSBocmVmPSJqYXZhc2NyaXB0OnJlcGwoJ3skaXRlbXN9JywneyRpbWFnZWRlc2N9JykiPntpbWFnZSBzcmM9JGVudHJ5YXJyYXlbaW5kXS0+aW1hZ2V0aHVtYiB0aXRsZT0kZW50cnlhcnJheVtpbmRdLT5pbWFnZWRlc2N9PC9hPg0KICB7L3NlY3Rpb259DQo8YnI+DQp7aWYgJGl0ZW1jb3VudCA+IDF9DQoge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCiAgPGEgaHJlZj0iamF2YXNjcmlwdDpyZXBsKCd7JGVudHJ5LT5mdWxscGF0aGltYWdlfScsJ3skZW50cnktPmltYWdlZGVzY30nKSI+e2ltYWdlIHNyYz0kZW50cnktPmltYWdldGh1bWIgIHRpdGxlPSRlbnRyeS0+aW1hZ2VkZXNjIH08L2E+Jm5ic3A7DQogey9mb3JlYWNofQ0KIDwvZGl2Pg0Key9pZn0NCjwvdGQ+DQo8L3RyPg0Key9pZn0NCjwvdGFibGU+DQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPg0KICAgIDx0Ym9keT4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkPjxkaXYgY2xhc3M9InByb2R1Y3RwcmljZSI+eyRjdXJfc3ltYm9sfSZuYnNwO3skcHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvZGl2PjwvdGQ+DQogICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICAgICAgICAgIDx0ZD48ZGl2IGNsYXNzPSJhZGRwcm9kdWN0Ij57JGFkZHByb2R1Y3R9PC9kaXY+PC90ZD4NCiAgICAgICAgPC90cj4NCiAgICA8L3Rib2R5Pg0KPC90YWJsZT4NCjxicj4NCjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InByb2R1Y3RhdHRyIj4NCiA8dGhlYWQ+DQogIDx0cj4NCiAgIDx0aD57JGF0dHJpYnV0ZXMubmFtZWNvbHVtbn08L3RoPg0KICAgPHRoPnskYXR0cmlidXRlcy5kZXNjcmlwdGlvbmNvbHVtbn08L3RoPg0KICAgPHRoPnskYXR0cmlidXRlcy5wcmljZWNvbHVtbn08L3RoPg0KICAgPHRoPnskYXR0cmlidXRlcy5hZGRhdHRyaWJ1dGVjb2x1bW59PC90aD4NCiAgPC90cj4NCiA8L3RoZWFkPg0KIDx0Ym9keT4NCiAge2lmICRhdHRyaWJ1dGVzLml0ZW1jb3VudCA+IDB9DQogICB7Zm9yZWFjaCBmcm9tPSRhdHRyaWJ1dGVzLmxpc3QgaXRlbT1lbnRyeX0NCiAgICA8dHI+DQogICAgIDx0ZD48ZGl2IGNsYXNzPSJhdHRybmFtZSI+eyRlbnRyeS5uYW1lfTwvZGl2PjwvdGQ+DQogICAgIDx0ZD48ZGl2IGNsYXNzPSJhdHRyZGVzYyI+eyRlbnRyeS5kZXNjcmlwdGlvbn08L2Rpdj48L3RkPg0KICAgICA8dGQ+PGRpdiBjbGFzcz0iYXR0cnByaWNlIj4NCgkJIAl7aWYgJGVudHJ5LmRpc3BsYXlvbmx5fSZuYnNwO3tlbHNlfXskZW50cnkucHJpY2V9ey9pZn08L2Rpdj48L3RkPg0KICAgICA8dGQ+PGRpdiBjbGFzcz0iYWRkYXR0ciI+eyRlbnRyeS5hZGRhdHRyaWJ1dGV9PC9kaXY+PC90ZD4NCiAgICA8L3RyPg0KICAgey9mb3JlYWNofQ0KICB7L2lmfQ0KIDwvdGJvZHk+DQo8L3RhYmxlPg==]]></data>
	</file>
	<file>
	  <filename>/templates/product_add.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRwcm9kdWN0LnN0YXJ0Zm9ybX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5jYXRlZ29yeV9pZC5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0Lm5hbWUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lm5hbWUuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmRlc2NyaXB0aW9uLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QucHJpY2UubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnByaWNlLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5hY3RpdmUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmFjdGl2ZS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuZmVhdHVyZWQubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmZlYXR1cmVkLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5uZXR3ZWlnaHQubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lm5ldHdlaWdodC5pbnB1dH0mbmJzcDt7JHByb2R1Y3QubmV0d2VpZ2h0LnVuaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnZhdGNvZGUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnZhdGNvZGUuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnNrdS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3Quc2t1LmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5pdGVtbnVtYmVyLmxhYmVsfTo8L3A+DQoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lml0ZW1udW1iZXIuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnBvc2l0aW9uLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5wb3NpdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QubWF4YXR0cmlidXRlcy5sYWJlbH06PC9wPg0KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lm1heGF0dHJpYnV0ZXMuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3Quc3VibWl0fXskcHJvZHVjdC5jYW5jZWx9DQoJCQkJeyRwcm9kdWN0LnByb2R1Y3RfaWQuaW5wdXR9eyRwcm9kdWN0LmN1cnJlbnRfY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIHtmb3JlYWNoIGZyb209JHByb2R1Y3QuY2F0ZWdvcmllcy5saXN0IGl0ZW09ZW50cnl9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVudHJ5LmxhYmVsfTwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRlbnRyeS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgey9mb3JlYWNofQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuY2F0ZWdvcmllcy5zdWJtaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIHtmb3JlYWNoIGZyb209JHByb2R1Y3QuYXR0cmlidXRlcy5saXN0IGl0ZW09ZW50cnl9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVudHJ5LmxhYmVsfTwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRlbnRyeS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgey9mb3JlYWNofQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuYXR0cmlidXRlcy5zdWJtaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIHtmb3JlYWNoIGZyb209JHByb2R1Y3QuaW1hZ2VzLmxpc3QgaXRlbT1lbnRyeX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPjxpbWcgc3JjPSIvdXBsb2Fkcy9pbWFnZXMvcHJvZHVjdHMveyRlbnRyeS5pbWFnZX0iPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRlbnRyeS5kZXNjcmlwdGlvbn08L3A+DQogICAgPC9kaXY+DQogICAgey9mb3JlYWNofQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuaW1hZ2VzLnN1Ym1pdH08L3A+DQogICAgPC9kaXY+DQp7JHByb2R1Y3QuZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/product_attributes.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhdHRyaWJ1dGVzLm1lc3NhZ2UpIH08cD57JGF0dHJpYnV0ZXMubWVzc2FnZX08L3A+ey9pZn0NCnskYXR0cmlidXRlcy5zdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMucHJvZG5hbWUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0IiBzdHlsZT0id2lkdGg6IDUwZW07Ij57JGF0dHJpYnV0ZXMucHJvZG5hbWUub3V0cHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5uYW1lLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlcy5uYW1lLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5kZXNjcmlwdGlvbi5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMuZGVzY3JpcHRpb24uaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGVzLnByaWNlYWRqdXN0dHlwZS5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMucHJpY2VhZGp1c3R0eXBlLmlucHV0fSZuYnNwOw0KCQkJeyRhdHRyaWJ1dGVzLnByaWNlYWRqdXN0bWVudC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMubWluYWxsb3dlZC5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMubWluYWxsb3dlZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMubWF4YWxsb3dlZC5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMubWF4YWxsb3dlZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMuZGlzcGxheW9ubHkubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGVzLmRpc3BsYXlvbmx5LmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5pdGVtbnVtYmVyLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlcy5pdGVtbnVtYmVyLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5hY3RpdmUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGVzLmFjdGl2ZS5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlcy5zdWJtaXR9eyRhdHRyaWJ1dGVzLmNhbmNlbH0NCgkJCQl7JHByb2R1Y3QucHJvZHVjdF9pZC5pbnB1dH17JHByb2R1Y3QuY3VycmVudF9jYXRlZ29yeV9pZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoNCjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+DQogICAgPHRoZWFkPg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGg+eyRhdHRyaWJ1dGVzLm5hbWVjb2x1bW59PC90aD4NCiAgICAgICAgICAgIDx0aD57JGF0dHJpYnV0ZXMuZGVzY3JpcHRpb25jb2x1bW59PC90aD4NCiAgICAgICAgICAgIDx0aD57JGF0dHJpYnV0ZXMuYWRqdXN0bWVudGNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoPnskYXR0cmlidXRlcy5wcmljZWNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoPnskYXR0cmlidXRlcy5kaXNwbGF5Y29sdW1ufTwvdGg+DQogICAgICAgICAgICA8dGg+eyRhdHRyaWJ1dGVzLm1pbmFsbG93ZWRjb2x1bW59PC90aD4NCiAgICAgICAgICAgIDx0aD57JGF0dHJpYnV0ZXMubWF4YWxsb3dlZGNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoPnskYXR0cmlidXRlcy5pdGVtbnVtYmVyY29sdW1ufTwvdGg+DQogICAgICAgICAgICA8dGg+eyRhdHRyaWJ1dGVzLmFjdGl2ZWNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgIDwvdHI+DQogICAgPC90aGVhZD4NCiAgICA8dGJvZHk+DQoJe2lmICRhdHRyaWJ1dGVzLml0ZW1jb3VudCA+IDB9DQoJCXtmb3JlYWNoIGZyb209JGF0dHJpYnV0ZXMubGlzdCBpdGVtPWVudHJ5fQ0KCQk8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9Ij4NCgkJCTx0ZD57JGVudHJ5Lm5hbWV9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS5hZGp1c3RtZW50fTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS5wcmljZX08L3RkPg0KCQkJPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2Rpc3BsYXl9PC90ZD4NCgkJCTx0ZD57JGVudHJ5Lm1pbmFsbG93ZWR9PC90ZD4NCgkJCTx0ZD57JGVudHJ5Lm1heGFsbG93ZWR9PC90ZD4NCgkJCTx0ZD57JGVudHJ5Lml0ZW1udW1iZXJ9PC90ZD4NCgkJCTx0ZCBjbGFzcz0icGFnZWljb24iPnskZW50cnkubGlua19lbmFibGV9PC90ZD4NCgkJCTx0ZCBjbGFzcz0icGFnZWljb24iPnskZW50cnkubGlua19lZGl0fTwvdGQ+DQoJCQk8dGQgY2xhc3M9InBhZ2VpY29uIj57JGVudHJ5LmxpbmtfZGVsZXRlfTwvdGQ+DQoJCTwvdHI+DQoJICAgICAgICB7L2ZvcmVhY2h9DQoJe2Vsc2V9DQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPg0KCQkJPHRkIGNvbHNwYW49JzUnIGFsaWduPSdjZW50ZXInPnskYXR0cmlidXRlcy5ub19hdHRyaWJ1dGVzX2F2YWlsYWJsZX08L3RkPg0KCQk8L3RyPg0KCXsvaWZ9DQogICAgPC90Ym9keT4NCjwvdGFibGU+DQp7JGF0dHJpYnV0ZXMuZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/product_attribute_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhdHRyaWJ1dGUubWVzc2FnZSkgfTxwPnskYXR0cmlidXRlLm1lc3NhZ2V9PC9wPnsvaWZ9DQp7JGF0dHJpYnV0ZS5zdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5wcm9kbmFtZS5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlLnByb2RuYW1lLm91dHB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5uYW1lLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLm5hbWUuaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGUuZGVzY3JpcHRpb24ubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuZGVzY3JpcHRpb24uaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGUucHJpY2VhZGp1c3R0eXBlLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLnByaWNlYWRqdXN0dHlwZS5pbnB1dH0mbmJzcDsNCgkJCXskYXR0cmlidXRlLnByaWNlYWRqdXN0bWVudC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5taW5hbGxvd2VkLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLm1pbmFsbG93ZWQuaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGUubWF4YWxsb3dlZC5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZS5tYXhhbGxvd2VkLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlLmRpc3BsYXlvbmx5LmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLmRpc3BsYXlvbmx5LmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlLml0ZW1udW1iZXIubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuaXRlbW51bWJlci5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5hY3RpdmUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuYWN0aXZlLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuc3VibWl0fXskYXR0cmlidXRlLmNhbmNlbH0NCgkJCXskYXR0cmlidXRlLnByb2R1Y3RfaWQuaW5wdXR9DQoJCQl7JGF0dHJpYnV0ZS5jdXJyZW50X2NhdGVnb3J5X2lkLmlucHV0fQ0KCQkJeyRhdHRyaWJ1dGUuYXR0cmlidXRlX2lkLmlucHV0fTwvcD4NCgk8L2Rpdj4NCnskYXR0cmlidXRlLmVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/product_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JGNhdGVnb3JpZXMuc3RhcnRmb3JtfQogICAge2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcy5saXN0IGl0ZW09ZW50cnl9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRlbnRyeS5uYW1lfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGVudHJ5LmxpbmtfZGVsZXRlfTwvcD4KICAgIDwvZGl2PgogICAge2ZvcmVhY2hlbHNlfQogICAgICBObyBDYXRlZ29yaWVzCiAgICB7L2ZvcmVhY2h9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yaWVzLmNhdGVnb3JpZXMubGFiZWx9IHskY2F0ZWdvcmllcy5jYXRlZ29yaWVzLmxpc3R9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcmllcy5jYXRlZ29yaWVzLnN1Ym1pdH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnByb2R1Y3RfaWQuaW5wdXR9eyRwcm9kdWN0LmN1cnJlbnRfY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcmllcy5zdWJtaXR9eyRjYXRlZ29yaWVzLmNhbmNlbH08L3A+CiAgICA8L2Rpdj4KeyRjYXRlZ29yaWVzLmVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/product_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRwcm9kdWN0LnN0YXJ0Zm9ybX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5uYW1lLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5uYW1lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5kZXNjcmlwdGlvbi5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuZGVzY3JpcHRpb24uaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnByaWNlLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5wcmljZS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuYWN0aXZlLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5hY3RpdmUuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmZlYXR1cmVkLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5mZWF0dXJlZC5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QubmV0d2VpZ2h0LmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5uZXR3ZWlnaHQuaW5wdXR9Jm5ic3A7eyRwcm9kdWN0Lm5ldHdlaWdodC51bml0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC52YXRjb2RlLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC52YXRjb2RlLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5za3UubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnNrdS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuaXRlbW51bWJlci5sYWJlbH06PC9wPg0KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lml0ZW1udW1iZXIuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnBvc2l0aW9uLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5wb3NpdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QubWF4YXR0cmlidXRlcy5sYWJlbH06PC9wPg0KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lm1heGF0dHJpYnV0ZXMuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3Quc3VibWl0fXskcHJvZHVjdC5jYW5jZWx9DQoJCQkJeyRwcm9kdWN0LnByb2R1Y3RfaWQuaW5wdXR9eyRwcm9kdWN0LmN1cnJlbnRfY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KeyRwcm9kdWN0LmVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/product_images.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRpbWFnZXMubWVzc2FnZSkgfTxwPnskaW1hZ2VzLm1lc3NhZ2V9PC9wPnsvaWZ9DQp7JGltYWdlcy5zdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskaW1hZ2VzLm5hbWUubGFiZWx9OjwvcD4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpbWFnZXMubmFtZS5vdXRwdXR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpbWFnZXMuaW1hZ2UubGFiZWx9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1hZ2VzLmltYWdlLmlucHV0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskaW1hZ2VzLmRlc2NyaXB0aW9uLmxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGltYWdlcy5kZXNjcmlwdGlvbi5pbnB1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QucHJvZHVjdF9pZC5pbnB1dH17JHByb2R1Y3QuY3VycmVudF9jYXRlZ29yeV9pZC5pbnB1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGltYWdlcy5zdWJtaXR9eyRpbWFnZXMuY2FuY2VsfTwvcD4KPC9kaXY+Cgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgPHRoZWFkPgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aD57JGltYWdlcy5uYW1lY29sdW1ufTwvdGg+CiAgICAgICAgICAgIDx0aD57JGltYWdlcy5kZXNjcmlwdGlvbmNvbHVtbn08L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgoJe2lmICRpbWFnZXMuaXRlbWNvdW50ID4gMH0KCQl7Zm9yZWFjaCBmcm9tPSRpbWFnZXMubGlzdCBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPgoJCQk8dGQ+PGltZyBzcmM9InskZW50cnkucHJvZHVjdGltYWdlfSIgaGVpZ2h0PSJ7JGVudHJ5LmltYWdlaGVpZ2h0fSI+PC90ZD4KCQkJPHRkPnskZW50cnkuaW1hZ2V9PC90ZD4KCQkJPHRkPnskZW50cnkuZGVzY3JpcHRpb259PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2VkaXR9PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2RlbGV0ZX08L3RkPgoJCTwvdHI+CgkgICAgICAgIHsvZm9yZWFjaH0KCXtlbHNlfQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPgoJCQk8dGQgY29sc3Bhbj0nNScgYWxpZ249J2NlbnRlcic+eyRpbWFnZXMubm9faW1hZ2VzX2F2YWlsYWJsZX08L3RkPgoJCTwvdHI+Cgl7L2lmfQogICAgPC90Ym9keT4KPC90YWJsZT4KeyRpbWFnZXMuZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/product_image_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRpbWFnZS5tZXNzYWdlKSB9PHA+eyRpbWFnZS5tZXNzYWdlfTwvcD57L2lmfQ0KeyRpbWFnZS5zdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGltYWdlLm5hbWUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGltYWdlLm5hbWUub3V0cHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaW1hZ2UuZGVzY3JpcHRpb24ubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbWFnZS5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KCQkJeyRpbWFnZS5wcm9kdWN0X2lkLmlucHV0fQ0KCQkJeyRpbWFnZS5jdXJyZW50X2NhdGVnb3J5X2lkLmlucHV0fQ0KCQkJeyRpbWFnZS5wcm9kdWN0X2ltYWdlc19pZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1hZ2Uuc3VibWl0fXskaW1hZ2UuY2FuY2VsfTwvcD4NCgk8L2Rpdj4NCnskaW1hZ2UuZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/sku_add.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRza3Uuc3RhcnRmb3JtfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRza3Uuc2t1LmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2t1LnNrdS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNrdS5kZXNjcmlwdGlvbi5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHNrdS5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2t1LnN1Ym1pdH08L3A+DQogICAgPC9kaXY+DQp7JHNrdS5lbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/sku_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRza3Uuc3RhcnRmb3JtfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRza3UubmFtZS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHNrdS5uYW1lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskc2t1LmRlc2NyaXB0aW9uLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2t1LmRlc2NyaXB0aW9uLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRza3Uuc3VibWl0fXskc2t1LmNhbmNlbH17JHNrdS5za3UuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KeyRza3UuZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/tab_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ30NCgk8cD57JG1lc3NhZ2V9PC9wPg0Key9pZn0NCnskY2F0ZWdvcmllcy5jdXJyZW50LmxhYmVsfTombmJzcDt7JGNhdGVnb3JpZXMuY3VycmVudC52YWx1ZX0mbmJzcDt7JGNhdGVnb3JpZXMuY3VycmVudC5saW5rX2FkZH0NCg0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCiAgICA8dGhlYWQ+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0aCB3aWR0aD0iNSUiPnskY2F0ZWdvcmllcy5zdWJjYXRlZ29yaWVzLmxhYmVsLmlkfTwvdGg+DQogICAgICAgICAgICA8dGg+eyRjYXRlZ29yaWVzLnN1YmNhdGVnb3JpZXMubGFiZWwubmFtZX08L3RoPg0KICAgICAgICAgICAgPHRoPnskY2F0ZWdvcmllcy5zdWJjYXRlZ29yaWVzLmxhYmVsLmRlc2NyaXB0aW9ufTwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgIDwvdHI+DQogICAgPC90aGVhZD4NCiAgICA8dGJvZHk+DQogICAgICAgIHtmb3JlYWNoIGZyb209JGNhdGVnb3JpZXMuc3ViY2F0ZWdvcmllcy5saXN0IGl0ZW09ZW50cnl9DQogICAgICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPg0KICAgICAgICAgICAgPHRkPnskZW50cnkuY2F0ZWdvcnlfaWR9PC90ZD4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5Lm5hbWV9PC90ZD4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufHRydW5jYXRlfTwvdGQ+DQogICAgICAgICAgICA8dGQgY2xhc3M9InBhZ2VpY29uIj57JGVudHJ5LmxpbmtfZW5hYmxlfTwvdGQ+DQogICAgICAgICAgICA8dGQgY2xhc3M9InBhZ2VpY29uIj57JGVudHJ5LmxpbmtfZWRpdH08L3RkPg0KICAgICAgICAgICAgPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2RlbGV0ZX08L3RkPg0KICAgICAgICA8L3RyPg0KICAgICAgICB7Zm9yZWFjaGVsc2V9DQogICAgICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPg0KICAgICAgICAgICAgPHRkIGNvbHNwYW49JzYnIGFsaWduPSdjZW50ZXInPnskbm9jYXRmb3VuZH08L3RkPg0KICAgICAgICA8L3RyPg0KICAgICAgICB7L2ZvcmVhY2h9DQogICAgPC90Ym9keT4NCjwvdGFibGU+DQoNCnskcHJvZHVjdHMuY2F0ZWdvcnkubGFiZWx9OiZuYnNwO3skcHJvZHVjdHMuY2F0ZWdvcnkudmFsdWV9Jm5ic3A7eyRwcm9kdWN0cy5jYXRlZ29yeS5saW5rX2FkZH0NCg0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCiAgICA8dGhlYWQ+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0aCB3aWR0aD0iNSUiPnskcHJvZHVjdHMucHJvZHVjdHMubGFiZWwuaWR9PC90aD4NCiAgICAgICAgICAgIDx0aD57JHByb2R1Y3RzLnByb2R1Y3RzLmxhYmVsLm5hbWV9PC90aD4NCiAgICAgICAgICAgIDx0aD57JHByb2R1Y3RzLnByb2R1Y3RzLmxhYmVsLmRlc2NyaXB0aW9ufTwvdGg+DQogICAgICAgICAgICA8dGg+eyRwcm9kdWN0cy5wcm9kdWN0cy5sYWJlbC5vbnN0b2NrfTwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgIDwvdHI+DQogICAgPC90aGVhZD4NCiAgICA8dGJvZHk+DQogICAgICAgIHtmb3JlYWNoIGZyb209JHByb2R1Y3RzLnByb2R1Y3RzLmxpc3QgaXRlbT1lbnRyeX0NCiAgICAgICAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5wcm9kdWN0X2lkfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5uYW1lfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5kZXNjcmlwdGlvbnx0cnVuY2F0ZX08L3RkPg0KICAgICAgICAgICAge2lmICRlbnRyeS5pbnZlbnRvcnl0eXBlID09ICdwcm9kJ30NCiAgICAgICAgICAgIAk8dGQ+eyRlbnRyeS5vbnN0b2NrfTwvdGQ+DQogICAgICAgICAgICB7ZWxzZX0NCiAgICAgICAgICAgIAk8dGQ+Jm5ic3A7PC90ZD4NCiAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICA8dGQgY2xhc3M9InBhZ2VpY29uIj57JGVudHJ5LmxpbmtfZW5hYmxlfTwvdGQ+DQogICAgICAgICAgICA8dGQgY2xhc3M9InBhZ2VpY29uIj57JGVudHJ5LmxpbmtfZWRpdH08L3RkPg0KICAgICAgICAgICAgPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2RlbGV0ZX08L3RkPg0KICAgICAgICA8L3RyPg0KICAgICAgICB7Zm9yZWFjaGVsc2V9DQogICAgICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPg0KICAgICAgICAgICAgPHRkIGNvbHNwYW49JzYnIGFsaWduPSdjZW50ZXInPnskbm9wcm9kZm91bmR9PC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgey9mb3JlYWNofQ0KICAgIDwvdGJvZHk+DQo8L3RhYmxlPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/tab_preferences.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ30KCTxwPnskbWVzc2FnZX08L3A+CnsvaWZ9CnskcHJlZmVyZW5jZXMuc3RhcnRmb3JtfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWRtaW5fbmFtZS5sYWJlbH08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5hZG1pbl9uYW1lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWRtaW5fZW1haWwubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmFkbWluX2VtYWlsLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuc2hvcF9uYW1lLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zaG9wX25hbWUuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5zaG9wX3Bob25lLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zaG9wX3Bob25lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuc2hvcF9vbmxpbmUubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLnNob3Bfb25saW5lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMucHJpY2VzaW5jbHZhdC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMucHJpY2VzaW5jbHZhdC5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLndlaWdodHVuaXRtZWFzdXJlLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy53ZWlnaHR1bml0bWVhc3VyZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLml0ZW1jYXBpdGFsb25seS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuaXRlbWNhcGl0YWxvbmx5LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWxsb3dkb3VibGVpdGVtLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5hbGxvd2RvdWJsZWl0ZW0uaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X21heGF0dHJpYnV0ZXMubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfbWF4YXR0cmlidXRlcy5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfc2t1LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X3NrdS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfY3VycmVuY3kubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfY3VycmVuY3kuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X3N5bWJvbC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuZGVmYXVsdF9zeW1ib2wuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfY2F0ZWdvcnkubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmltYWdlcGF0aF9jYXRlZ29yeS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmltYWdlcGF0aF9wcm9kdWN0LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfcHJvZHVjdC5pbnB1dH0mbmJzcDsKCQkJeyRwcmVmZXJlbmNlcy50bmhlaWdodF9wcm9kdWN0LmxhYmVsfTombmJzcDt7JHByZWZlcmVuY2VzLnRuaGVpZ2h0X3Byb2R1Y3QuaW5wdXR9Jm5ic3A7CgkJCXskcHJlZmVyZW5jZXMudG53aWR0aF9wcm9kdWN0LmxhYmVsfTombmJzcDt7JHByZWZlcmVuY2VzLnRud2lkdGhfcHJvZHVjdC5pbnB1dH0KCQkJJm5ic3A7eyRwcmVmZXJlbmNlcy5yZWJ1aWxkcHJvZHVjdHRodW1ibmFpbHN9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5wcm9kdWN0cGFnZWxpbWl0LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5wcm9kdWN0cGFnZWxpbWl0LmlucHV0fTwvcD4KICAgIDwvZGl2PgoJPGZpZWxkc2V0PgoJPGxlZ2VuZD57JHByZWZlcmVuY2VzLmludmVudG9yeXNldHRpbmdzLmxhYmVsfTwvbGVnZW5kPgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuaW52ZW50b3J5dHlwZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuaW52ZW50b3J5dHlwZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLnNhbGVzaW52ZW50dGltaW5nLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zYWxlc2ludmVudHRpbWluZy5pbnB1dH08L3A+CiAgICA8L2Rpdj4KCTwvZmllbGRzZXQ+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuc3VibWl0fXskcHJlZmVyZW5jZXMuc2VhcmNocmVpbmRleH08L3A+Cgk8L2Rpdj4KeyRwcmVmZXJlbmNlcy5lbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/tab_skus.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRza3VzLm1lc3NhZ2UhPScnfQ0KCTxwPnskc2t1cy5tZXNzYWdlfTwvcD4NCnsvaWZ9DQp7JHNrdXMuc3RhcnRmb3JtfQ0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgkgICAgPHRoZWFkPg0KCSAgICAgICAgPHRyPg0KCSAgICAgICAgICAgIDx0aD57JHNrdXMuc2t1cy5sYWJlbC5za3V9PC90aD4NCgkgICAgICAgICAgICA8dGg+eyRza3VzLnNrdXMubGFiZWwuZGVzY3JpcHRpb259PC90aD4NCgkgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KCSAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQoJICAgICAgICA8L3RyPg0KCSAgICA8L3RoZWFkPg0KCSAgICA8dGJvZHk+DQoJICAgICAgICB7Zm9yZWFjaCBmcm9tPSRza3VzLnNrdXMubGlzdCBpdGVtPWVudHJ5fQ0KCSAgICAgICAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+DQoJICAgICAgICAgICAgPHRkPnskZW50cnkubmFtZX08L3RkPg0KCSAgICAgICAgICAgIDx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufTwvdGQ+DQoJICAgICAgICAgICAgPHRkPnskZW50cnkubGlua19lZGl0fTwvdGQ+DQoJICAgICAgICAgICAgPHRkPnskZW50cnkubGlua19kZWxldGV9PC90ZD4NCgkgICAgICAgIDwvdHI+DQoJICAgICAgICB7Zm9yZWFjaGVsc2V9DQoJICAgICAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9Ij4NCgkgICAgICAgICAgICA8dGQgY29sc3Bhbj0nMicgYWxpZ249J2NlbnRlcic+eyRub3NrdXNmb3VuZH08L3RkPg0KCSAgICAgICAgPC90cj4NCgkgICAgICAgIHsvZm9yZWFjaH0NCgkgICAgPC90Ym9keT4NCgk8L3RhYmxlPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRza3VzLnNrdXMubGFiZWwubGlua19hZGR9Jm5ic3A7eyRza3VzLnNrdXMubGFiZWwudGV4dF9hZGR9PC9wPg0KCTwvZGl2Pg0KeyRza3VzLmVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/tab_templates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ30NCgk8cD57JG1lc3NhZ2V9PC9wPg0Key9pZn0NCnskdGVtcGxhdGVzLnN0YXJ0Zm9ybX0NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGVtcGxhdGVzLmNhdGxpc3RfdGVtcGxhdGUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZXMuY2F0bGlzdF90ZW1wbGF0ZS5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVzLnN1Ym1pdH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRlbXBsYXRlcy5jYXRlZ29yaWVzX3RlbXBsYXRlLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVzLmNhdGVnb3JpZXNfdGVtcGxhdGUuaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlcy5zdWJtaXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0ZW1wbGF0ZXMucHJvZGRldGFpbF90ZW1wbGF0ZS5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlcy5wcm9kZGV0YWlsX3RlbXBsYXRlLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZXMuc3VibWl0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGVtcGxhdGVzLnByb2RmZWF0X3RlbXBsYXRlLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVzLnByb2RmZWF0X3RlbXBsYXRlLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZXMuc3VibWl0fTwvcD4NCgk8L2Rpdj4NCnskdGVtcGxhdGVzLmVuZGZvcm19DQo=]]></data>
	</file>
</module>
