<?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.2</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+QXV0aG9yOiBEdWtldG93bjxiciAvPjxiciAvPlZlcnNpb246IDAuMy4yPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAwLjMuMiAyMSBEZWNlbWJlciAyMDEwPGJyIC8+Cgk8dWw+CgkJPGxpPkF0dHJpYnV0ZSBkZXNjcmlwdGlvbiB3YXMgbm90IHNhdmVkIHdoZW4gYXR0cmlidXRlIHdhcyBhZGRlZDs8L2xpPgoJCTxsaT5XaGVuIGVkaXRpbmcgYSBjYXRlZ29yeSwgdGhlIGNhdGVnb3J5IHRoYXQgaXMgZWRpdGVkIGNhbid0IGJlIHNldCBhcyB0aGUgcGFyZW50IGNhdGVnb3J5OzwvbGk+CgkJPGxpPkRlcGVuZGVudCBvbiBpbnZlbnRvcnkgc2V0dGluZ3MsIGxhYmVscyBvZiBmaWVsZHMgb24gcHJvZHVjdCBhbmQgYXR0cmlidXRlIGxldmVsIGFyZSBzaG93biBvciBoaWRkZW47PC9saT4KCQk8bGk+SWYgcHJvZHVjdCBpcyBkZWFjdGl2YXRlZCwgaXRzIHNlYXJjaCBpbmRleCBlbnRyaWVzIGFyZSByZW1vdmVkLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjMuMSAxNyBOb3ZlbWJlciAyMDEwPGJyIC8+Cgk8dWw+CgkJPGxpPldoZW4gdW5pbnN0YWxsaW5nLCB0aGUgc2VhcmNoIGluZGV4IGVudHJpZXMgb2YgdGhlIHByb2R1Y3RzIGFyZSByZW1vdmVkOzwvbGk+CgkJPGxpPlByZWZlcmVuY2VzIG5vdyBob2xkcyBmaWVsZCB0aGF0IGFsbG93cyB0cmFja2luZyBvZiBpbnZlbnRvcnkgb24gcHJvZHVjdCBvciBhdHRyaWJ1dGUgbGV2ZWw7PC9saT4KCQk8bGk+TWFrZSBtYXggYXR0cmlidXRlcyBvbiBwcm9kdWN0IGxldmVsIG1haW50YWluYWJsZTs8L2xpPgoJCTxsaT5Ob3QgYWN0aXZlIGF0dHJpYnV0ZXMgd2hlcmUgc2hvd24gb24gZnJvbnQgZW5kLCBmcm9tIHRoaXMgbW9tZW50IG9uIHRoaXMgaXMgbm90IHRoZSBjYXNlIGFueW1vcmUuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMy4wIDYgTm92ZW1iZXIgMjAxMDxiciAvPgoJPHVsPgoJCTxsaT5OYW1lIG9mIHNob3AgaW4gcHJlZmVyZW5jZXMgaXMgbm93IHVzZWQgaW4gZG9jdW1lbnQgcHJvcGVydGllcyBvZiBpbnZvaWNlIGdlbmVyYXRlZCBpbiBDYXJ0IE1hZGUgU2ltcGxlOzwvbGk+CgkJPGxpPkJpZyBjaGFuZ2Ugb24gdGhlIHBlcm1pc3Npb24gc3lzdGVtLiBOb3RlIC0tPiBBbGwgcHJldmlvdXMgU2hvcCBNYWRlIFNpbXBsZSBwZXJtaXNzaW9ucyBhcmUgZ29uZSB3aGVuIHVwZ3JhZGVkISBTb3JyeSwgdGhpcyBjb3VsZCBub3QgYmUgYXZvaWRlZDs8L2xpPgoJCTxsaT5TaG93aW5nIG11bHRpcGxlIGxldmVscyBpbiBjYXRlZ29yaWVzIG5vdyBwb3NpYmxlIHdpdGggcGFybSBjYXRsaXN0IChzZWUgaGVscCB0ZXh0KTs8L2xpPgoJCTxsaT5JbmNsdWRlIHByaWNlIGZvcm1hdGluZyBpbiBkZWZhdWx0IGNhdGVnb3J5L3Byb2R1Y3RzIHRlbXBsYXRlOzwvbGk+CgkJPGxpPkdldCByaWQgb2YgcHVibGljIG1lbWJlciB2YXJpYWJsZXMgc3VjaCBhcyAnZ2xvYmFsICRnQ21zJzs8L2xpPgoJCTxsaT5NaW5pbXVtIHZlcnNpb24gc2V0IHRvIDEuOC4xIGR1ZSB0byByZW1vdmFsIHB1YmxpYyBtZW1iZXIgdmFyaWFibGVzOzwvbGk+CgkJPGxpPlJlbW92ZWQgY2FsbCB0byBzb21ldGltZXMgbm90IHdvcmtpbmcgZXhpZl9pbWFnZTs8L2xpPgoJCTxsaT5NYWRlIGJldHRlciB1c2Ugb2YgcGF0aCBkaXJlY3Rvcnkgc2VwYXJhdG9yOzwvbGk+CgkJPGxpPkludHJvZHVjdGlvbiBvZiBtYXhpbXVtIG51bWJlciBvZiBhdHRyaWJ1dGVzIHBlciBwcm9kdWN0OzwvbGk+CgkJPGxpPk5ldyBwcmVmZXJlbmNlczogJ21heGltdW0gYXR0cmlidXRlcycgYW5kICdhbGxvdyBkdXBsaWNhdGUgaXRlbSBudW1iZXInIGFkZGVkIHRvIHByZWZlcmVuY2UgcGFnZTs8L2xpPgoJCTxsaT5TaW5jZSBpdCBoYWQgdG90YWx5IG5vIGZ1bmN0aW9uLCBkZWZhdWx0IGxhbmd1YWdlIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBwcmVmZXJlbmNlcyBwYWdlOzwvbGk+CgkJPGxpPkNoYW5nZWQgZGVmYXVsdCBwcm9kdWN0IGRldGFpbCB0ZW1wbGF0ZSB3aXRoIHJlZ2FyZHMgdG8gbnVtYmVyIG9mIGRlY2ltYWxzIG9uIHByaWNlOzwvbGk+CgkJPGxpPlRhYmxlIGF0dHJpYnV0ZV9vcHRpb25zIHJlbW92ZWQsIGNvbnRlbnQgd2FzIG5vdCBtYWludGFpbmFibGUsIGFsbCBmaWVsZHMgbm93IGluIHRhYmxlIHByb2R1Y3RfYXR0cmlidXRlczs8L2xpPgoJCTxsaT5BdHRyaWJ1dGVzIG9mIHByb2R1Y3Qgbm93IGhvbGQgcHJpY2UgZmFjdG9yIGFuZCB2YXJpb3VzIG90aGVyIGZpZWxkczs8L2xpPgoJCTxsaT5Nb3ZlZCBmdW5jdGlvbnMgaW50ZXJuYWxseSBhcm91bmQsIHNvIG1vZHVsZSBiZWNvbWVzIGEgYml0IG1vcmUgbGlrZSBzdGFuZGFyZDs8L2xpPgoJCTxsaT5WZXJzaW9uIDAuMi45IG9uIHB1cnBvc2Ugc2tpcHBlZCwgc2luY2UgdGhpcyBpcyBhIG1ham9yIHJlbGVhc2UuIFNpbmNlIHRoaXMgdmVyc2lvbiBicmVha3Mgd2l0aCB0aGUgb3JpZ2luYWwsIER1a2V0b3duIHRoYW5rcyAKCQlHYXJ5IEdyZXlsaW5nIChMYWh1aW5kYWkpIGZvciBhbGwgaGlzIHBlcmZlY3Qgd29yay4gVGltZSB0byBtb3ZlIG9uLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuOCA5IFNlcHRlbWJlciAyMDEwPGJyIC8+Cgk8dWw+CgkJPGxpPk5vIG1vcmUgcHJvYmxlbXMgd2l0aCBwcm9kdWN0IHByaWNlcyBncmVhdGVyIHRoYW4gOTk5IChidWcjIDQ1MTEpOzwvbGk+CgkJPGxpPkFsbG93IG1vZHVsZSB0byBydW4gaW4gMS44IGVudmlyb25tZW50IG9mIENNU01TOzwvbGk+CgkJPGxpPlJlbmFtZSBvZiBjbGFzcyBQcm9kdWN0cyB0byBTTVNQcm9kdWN0cyBzbyBtb2R1bGUgY2FuIHJ1biBuZXh0IHRvIHByb2R1Y3RzIG1vZHVsZTs8L2xpPgoJCTxsaT5OYW1lIG9mIHByb2R1Y3QgaGFzIGJlZW4gaW5jcmVhc2VkIHdpdGggbnVtYmVyIG9mIGNoYXJhY3RlcnMgZnJvbSAzMCB0byAyNTU7PC9saT4KCQk8bGk+V29yayBkb25lIG9uIHByZXR0eSBVUkwgKGJ1ZyMgMzEyMiY0MDgxKSBzb2x2ZWQgYnkgZHJ1bXpvbmU7PC9saT4KCQk8bGk+TmV0d2VpZ2h0IG5vdyBhdmFpbGFibGUgYXMgdmFyaWFibGUgaW4gdGhlIHByb2R1Y3QgZGV0YWlsIG92ZXJ2aWV3LjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuNyAxIE1hcmNoIDIwMTA8YnI+Cgk8dWw+CgkJPGxpPklucHV0IHBhcmFtZXRlcnMgd2VyZSBub3QgY2xlYW5lZCBhdCBjb3JyZWN0IG1vbWVudCBjYXVzaW5nIHdhcm5pbmdzOzwvbGk+CgkJPGxpPkNhdGVnb3J5IGFuZCBwcm9kdWN0cyB0ZW1wbGF0ZSB0aGF0IGlzIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiBleHRlbmRlZCB0byBpbmNsdWRlIGhvdyB0byB1c2UgaW1hZ2Ugb2YgYWRkIHRvIGNhcnQ7PC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMi42IDEgTm92ZW1iZXIgMjAwOTxicj4KCTx1bD4KCQk8bGk+U2V0IG1heGltdW0gQ01TTVMgdmVyc2lvbiB0byAxLjYuOSB0byBvdmVyY29tZSBwcm9ibGVtczs8L2xpPgoJCTxsaT5DaGFuZ2UgbG9nIG5vdCBpbiB0cmFuc2xhdGlvbiBhbnltb3JlLCBzbyB0aGlzIGxvZyBpcyBvbmx5IGF2YWlsYWJsZSBpbiBFbmdsaXNoOzwvbGk+CgkJPGxpPlByZXBhcmUgYWRkIHRvIGNhcnQgbGluayB3aXRoIGltYWdlIChGZWF0IFJlcSMzMzI0KS4gSW1hZ2UgdGFrZW4gaXMgU2hvcE1hZGVTaW1wbGUvaW1hZ2VzL2FkZHRvY2FydC5naWYuIENoYW5nZSB0aGlzIGltYWdlIGlmIG5lZWRlZC48YnI+CgkJVXNlIHskYWRkcHJvZHVjdGltYWdlfSBpbiB0aGUgdGVtcGxhdGUgaW4gc3RlYWQgb2YgeyRhZGRwcm9kdWN0fSwgd2hpY2ggaXMgdGhlIHRleHQ7PC9saT4KCQk8bGk+UmVtb3ZlZCBwcm9kdWN0IGlkIG9uIGRlZmF1bHQgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMi41IDEwIEF1Z3VzdCAyMDA5PGJyPgoJPHVsPgoJCTxsaT5NaXNzaW5nIGNvZGUgaW4gZnJvbnQgZW5kIHByb2R1Y3QgZGV0YWlsLiAoYnVnIyAzODUwKSBzb2x2ZWQgYnkgTmFOLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuNCAyNiBKdWx5IDIwMDk8YnI+Cgk8dWw+CgkJPGxpPkF1dG9tYXRpYyBpbnN0YWxsYXRpb24gb2Ygc3R5bGVzaGVldCBcJ01vZHVsZTogU2hvcCBNYWRlIFNpbXBsZVwnIHdhcyBub3Qgd29ya2luZyAoc3R5bGVzaGVldCB3aWxsIGJlIGluc2VydGVkIGR1cmluZyB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjIuMyB0byAwLjIuNCk7PC9saT4KCQk8bGk+QWN0aXZhdGluZyBhbmQgZGVhY3RpdmF0aW5nIHdhcyBub3Qgd29ya2luZyBjb3JyZWN0bHkgZm9yIGNhdGVnb3JpZXMgaW4gbGlzdCBvZiBjYXRlZ29yaWVzLCBjaGFuZ2UgYWxzbyBhcHBsaWVkIGZvciBwcm9kdWN0czs8L2xpPgoJCTxsaT5ObyB0ZXN0IGRhdGEgY3JlYXRlZCBhbnltb3JlIGF1dG9tYXRpY2FsbHkgZHVyaW5nIGluc3RhbGxhdGlvbjs8L2xpPgoJCTxsaT5PbiBwcm9kdWN0IGRldGFpbCBuZXcgdmFyaWFibGVzIGludHJvZHVjZWQ6IHtpbWFnZXRodW1ifSBhbmQge2Z1bGxwYXRoaW1hZ2V9IHRvIHN1cHBvcnQgaW1hZ2VzIGJldHRlcjs8L2xpPgoJCTxsaT5ObyBjYXRlZ29yeSBhbmQgcHJvZHVjdCBpZCB1c2VkIGFueW1vcmUgaW4gaW5zdGFsbGVkIHRlbXBsYXRlIG9mIGNhdGFnb3J5IGxpc3Q7PC9saT4KCQk8bGk+RGVmYXVsdCBjdXJyZW5jeSBpcyBzZXQgdG8gRXVybzs8L2xpPgoJCTxsaT5Xb3JrIGRvbmUgb24gcHJldHR5IFVSTCAtLT4gbm90IGZ1bGx5IGZ1bmN0aW9uYWw7PC9saT4KCQk8bGk+QnVnIHNvbHZlZCAoYnkgRmF0bGl6YXJkKSB0byBoYW5kbGUgY29ycmVjdCBwcm9kdWN0X2lkIGluIGZlIHByb2R1Y3QgZGV0YWlsLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuMyAxNyBNYXkgMjAwOTxicj4KCTx1bD4KCQk8bGk+SW5pdGlhbGl6ZWQgdmFyaWFibGVzIGNvcnJlY3RseSwgc28gbm8gd2FybmluZyBhcHBlYXJzIGZvciB0aGVtIHdoZW4gcGhwLmluaSBzdGF0ZXMgdG8gc2hvdyB3YXJuaW5nczs8L2xpPgoJCTxsaT5OZXcgcHJlZmVyZW5jZXMgZm9yIHRodW1ibmFpbCBnZW5lcmF0aW9uLiBVc2UgdGhlIHJlYnVpbGQgYnV0dG9uIHRvIGdlbmVyYXRlIHRodW1ibmFpbHMgZnJvbSBlYXJsaWVyIGxvYWRlZCBpbWFnZXMuPC9saT4KCQk8bGk+VGhlIGRldGFpbCB0ZW1wbGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIGFsbG93IHN3aXRjaGluZyBpbWFnZXMuIEEgc2ltcGxlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSB0byBjb3B5IGZyb20gaW4gdGhlCgkJdGVtcGxhdGVzIGRpcmVjdG9yeS4gVGhlIG5hbWUgaXMgZmVfcHJvZHVjdF9kZXRhaWwxLnRwbC48YnI+CgkJSWYgeW91IGhhdmUgdXBncmFkZWQgZnJvbSBhbiBlYXJsaWVyIHZlcnNpb24geW91IG1heSB3YW50IHRvIHVzZSB0aGUgc3dpdGNoaW5nIG9mIGltYWdlcy4gTG9vayBpbiB0ZW1wbGF0ZXNcZmVfcHJvZHVjdF9kZXRhaWwudHBsLjwvbGk+CgkJPGxpPk9yaWdpbmFsIHRlbXBsYXRlIG9mIHByb2R1Y3RzIHBlciBjYXRlZ29yeSBjaGFuZ2VkIHRvIHNob3cgaW1hZ2Ugd2l0aCBsaW5rIG9uIHByb2R1Y3QgbGluZS48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMC4yLjIgOCBNYXIgMjAwOTxicj4KCTx1bD4KCQk8bGk+U2hvdyBuYW1lIHdpdGhvdXQgbGluayB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDI5ODYpOiB1c2UgcHJvZG5hbWVub2xpbmsgaW4gc3RlYWQgb2YgcHJvZG5hbWUgaW4gdGhlIHRlbXBsYXRlLjwvbGk+CgkJPGxpPkJ1aWxkIGluIGxpbmsgZnJvbSBpbWFnZSB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDMwODMpOiB1c2UgcHJvZGltYWdlbGluayBpbiBzdGVhZCBvZiBwcm9kaW1hZ2UgaW4gdGhlIHRlbXBsYXRlLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuMSAxNSBKYW4gMjAwOTxicj4KCTx1bD4KCQk8bGk+VHlwbyBjYXVzZWQgZGlzcGxheT1wcm9kdWN0bGlzdCBjYXRuYW1lPS4uLiBub3QgdG8gd29yayBjb3JyZWN0bHkuIEJ1ZyBzb2x2ZWQuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMi4wIDExIEphbiAyMDA5PGJyPgoJPHVsPgoJCTxsaT5DdXJyZW5jeSBzeW1ib2wgYXZhaWxhYmxlIGZvciBjYXRlZ29yeSBsaXN0ICh1c2UgJGVudHJ5LT5jdXJzeW1ib2x9OzwvbGk+CgkJPGxpPlRlbXBsYXRlcyBjYW4gbm93IGJlIGFkanVzdGVkIHRvIGRlY3JlYXNlIGxlbmd0aCBvZiBkZXNjcmlwdGlvbiAod2FzIGhhcmRjb2RlZCkgdXNpbmcgfHRydW5jYXRlIGluIHRlbXBsYXRlOzwvbGk+CgkJPGxpPkhhcmRjb2RlZCBzaWduYWxpbmcgdGhhdCB0aGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBvciBwcm9kdWN0cyBpcyByZW1vdmVkLCBub3cgcGFydCBvZiB0cmFuc2xhdGlvbjs8L2xpPgoJCTxsaT5JZiB0aGUgbW9kdWxlIFNlYXJjaCBoYXMgYmVlbiBpbnN0YWxsZWQsIHRoZSBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwcm9kdWN0cyBjYW4gYmUgc2VhcmNoZWQgdXBvbjs8L2xpPgoJCTxsaT5CdWcgc29sdmVkIG9uIHVwZGF0aW5nIGNhdGVnb3J5IGluZm9ybWF0aW9uLiBFZGl0b3Igd2FzIG5vdCB3b3JraW5nIHdlbGw7PC9saT4KCQk8bGk+RGVzY3JpcHRpb24gb2YgY2F0ZWdvcnkgYW5kIHByb2R1Y3QgY291bGQgc3BhbiB0d28gbGluZXMuIE5vdyBhbHdheXMgb25seSBvbmUgbGluZTs8L2xpPgoJCTxsaT5OZXcgcHJlZmVyZW5jZSBhZGRlZCB0byBob2xkIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2U7PC9saT4KCQk8bGk+VXNpbmcgcGFyYW1ldGVyIHByb2RwYWdlbGltaXQsIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2UgY2FuIGJlIGluZmx1ZW5jZWQgKG92ZXJyaWRpbmcgdGhlIHByZWZlcmVuY2UpLjxicj4KCQlQYWdpbmcgaXMgcG9zc2libGUgdXNpbmcgdGhlIGZvbGxvd2luZyBpbiB0aGUgQ2F0ZWdvcmllcy9Qcm9kdWN0cyB0ZW1wbGF0ZTo8YnI+CgkJe2lmICRwYWdlY291bnQgPiAxfTxicj4mbmJzcDt7JGZpcnN0cGFnZX0geyRwcmV2cGFnZX0geyRwYWdldGV4dH06ICB7JHBhZ2VudW1iZXJ9IHskb2Z0ZXh0fTogeyRwYWdlY291bnR9IHskbmV4dHBhZ2V9IHskbGFzdHBhZ2V9PGJyPnsvaWZ9CgkJPGJyPjwvbGk+CgkJPGxpPkludGVybmFsIGNsZWFuIHVwIG9mIGZyb250IGVuZCBjYXRlZ29yeSBsaXN0aW5nIHByb2dyYW0uPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMS45IDI5IERlYyAyMDA4PGJyPgoJPHVsPgoJCTxsaT5SZW1vdmVkIHRyYW5zbGF0aW9uIGJ1ZyBkdXJpbmcgaW5zdGFsbGF0aW9uLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuOCAxMSBEZWMgMjAwODxicj4KCTx1bD4KCQk8bGk+U29sdmVkIGlzc3VlIHdoZXJlIHN3aXRjaCBzdGF0dXMgb24gcHJvZHVjdCBjYXVzZWQgZGVzY3JpcHRpb24gdG8gYmUgY2xlYXJlZDs8L2xpPgoJCTxsaT5FZGl0IG9mIFN0b2NrIEtlZXBpbmcgVW5pdCB3YXMgbm90IHdvcmtpbmc7PC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMS43IDkgRGVjIDIwMDg8YnI+Cgk8dWw+CgkJPGxpPkFkZCB0byBjYXJ0IGF2YWlsYWJsZSBhdCBsaXN0IG9mIHByb2R1Y3RzIG9uIGZyb250IGVuZDs8L2xpPgoJCTxsaT5OZXcgZmllbGRzOiBTdG9jayBLZWVwaW5nIFVuaXQgKFNLVSkgYW5kIGl0ZW1udW1iZXIgYXZhaWxhYmxlIHBlciBwcm9kdWN0OzwvbGk+CgkJPGxpPk1haW50ZW5hbmNlIG9uIFNLVSBpcyBwb3NzaWJsZTs8L2xpPgoJCTxsaT5BZGRpdGlvbmFsIHByZWZlcmVuY2UgdG8gYWxsb3cgb25seSBjYXBpdGFsIGNoYXJhY3RlcnMgaW4gaXRlbW51bWJlcjs8L2xpPgoJCTxsaT5BZGRpdGlvbmFsIHByZWZlcmVuY2UgdG8gc2V0IGRlZmF1bHQgU0tVIGR1cmluZyBhZGQgb2YgYSBwcm9kdWN0LjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuNiAxMiBOb3YgMjAwODxicj4KCTx1bD4KCQk8bGk+SW1hZ2Ugb2YgY2F0ZWdvcnkgaXMgbm93IGRpc3BsYXllZCBpbiBmcm9udCBvZiBjYXRlZ29yeSBuYW1lIGluIGNhdGVnb3J5IGxpc3Rpbmc7PC9saT4KCQk8bGk+TGVuZ3RoIG9mIHByb2R1Y3QgYW5kIGF0dHJpYnV0ZSBkZXNjcmlwdGlvbiBlbmxhcmdlZDs8L2xpPgoJCTxsaT5DaGVjayBidWlsZCBpbiBkdXJpbmcgaW5zdGFsbGF0aW9uIGlmIHRoZSBjb25mbGljdGluZyBtb2R1bGUgUHJvZHVjdHMgaGFzIGJlZW4gaW5zdGFsbGVkOzwvbGk+CgkJPGxpPkJ1ZyBvbiBhZGRpbmcgbmV3IHByb2R1Y3RzIGNvcnJlY3RlZCAod2FzIGFsd2F5cyBwb2ludGluZyB0byByb290IGFmdGVyIGFkZGluZyk7PC9saT4KCQk8bGk+RGVsZXRpb24gb2YgcHJvZHVjdCByZXR1cm5zIHRvIGxhc3QgdXNlZCBjYXRlZ29yeTs8L2xpPgoJCTxsaT5BZnRlciBTd2l0Y2ggb2Ygc3RhdHVzLCBsYXN0IHNob3duIGNhdGVnb3J5L3Byb2R1Y3RzIGxpc3QgaXMgc2hvd247PC9saT4KCQk8bGk+RGVzY3JpcHRpb24gYm94ZXMgZm9yIHByb2R1Y3QsIGF0dHJpYnV0ZXMgYW5kIGltYWdlcyBpbXByb3ZlbWVudHM7PC9saT4KCQk8bGk+UHJlcGFyZSBjb3JyZWN0IGNvbm5lY3Rpb24gb2YgbXVsdGlwbGUgY2F0ZWdvcmllcyB0byBvbmUgcHJvZHVjdDs8L2xpPgoJCTxsaT5WYXJpYWJsZSAkaW1hZ2UgaW4gZGV0YWlsIHRlbXBsYXRlIHJlbmFtZWQgdG8gJHByb2RpbWFnZSwgc2luY2UgaXQgbWlnaHQgYmUgaW4gdXNlIGluIG90aGVyIG1vZHVsZXMgKGxpa2UgcHJpbnRpbmcpOzwvbGk+CgkJPGxpPldoZW4gbGFzdCBjYXRlZ29yeSBjb25uZWN0aW9uIHRvIHByb2R1Y3QgaXMgZGVsZXRlZCwgdGhlIHByb2R1Y3Qgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgKG90aGVyd2lzZSBpdCBjYW5cJ3QgYmUgc2VsZWN0ZWQgYW55bW9yZSk7PC9saT4KCQk8bGk+TXVsdGlwbGUgbGV2ZWxzIG9mIGNhdGVnb3JpZXMgaXMgYWxsb3dlZCBhcyBvZiB2ZXJzaW9uIDAuMS41IGJ1dCBpcyBub3Qgc3VwcG9ydGVkIG9uIGZyb250IGVuZCEgKHNvcnJ5KS48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMC4xLjUgSnVuZSAyMDA4PGJyPgoJPHVsPgoJCTxsaT5NdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZC9wb3NzaWJsZTs8L2xpPgoJCTxsaT5OZXcgcGFyYW1ldGVyIGZvciBmcm9udGVuZDogcGFyZW50Y2F0ZWdvcnkuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMS40IE1heSAyMDA4PGJyPgoJPHVsPgoJCTxsaT5VcGxvYWQgb2YgaW1hZ2UgZm9yIGNhdGVnb3J5IGhhcyBiZWVuIGNoYW5nZWQ7PC9saT4KCQk8bGk+Q2hhbmdlZCBpbnN0YWxsIHNvIGRpcmVjdG9yeSBwYXRoIGNvcnJlY3QgZm9yIGNhdGVnb3JpZXMgYW5kIHByb2R1Y3RzLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMyBNYXkgMjAwODxicj4KCTx1bD4KCQk8bGk+QWxsIGZyb250IGVuZCBwYWdlcyBhcmUgaGFuZGxlZCBieSB0ZW1wbGF0ZXMgZGVyaXZlZCBmcm9tIGFkbWluIHBhcnQ7PC9saT4KCQk8bGk+QWRtaW5pc3RyYXRvciBub3cgaGFzIHRhYiBjb250YWluaW5nIHRlbXBsYXRlcyBhcyB1c2VkIG9uIGZyb250IGVuZDs8L2xpPgoJCTxsaT5Gcm9udCBlbmQgc2hvd3Mgd2V0aGVyIHByaWNlcyBhcmUgaW5jbC4gb3IgZXhjbC4gVkFUIGRlcGVuZGVudCBvbiBwcmVmZXJlbmNlOzwvbGk+CgkJPGxpPlByb2R1Y3RzIGNvbm5lY3RlZCB0byBjYXRlZ29yeSBzb3J0ZWQgYnkgbGlzdCBvcmRlcjs8L2xpPgoJCTxsaT5PdmVydmlldyBjYXRlZ29yaWVzIGluIGJhY2sgZW5kIGFuZCBmcm9udCBlbmQgbm93IHNvcnRlZCBieSBsaXN0IG9yZGVyLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMiAtIE1heSAxc3QgMjAwODxicj4KCTx1bD4KCQk8bGk+V2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQsIGl0cyBjb25uZWN0ZWQgcHJvZHVjdHMgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgY2F0ZWdvcnkuPC9saT4KCQk8bGk+U29tZSBidXR0b25zIGxhY2tlZCBwcm9wZXIgdHJhbnNsYXRpb25zLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMSAtIEFwcmlsIDIwMDg8YnI+Cgk8dWw+CgkJPGxpPk5vdyBvcHRpb24gdG8gc2hvdyBwcm9kdWN0cyBvZiBvbmUgY2F0ZWdvcnkgaW4gc2luZ2xlIHBhZ2VzIHVzaW5nIHBhcmFtZXRlcnMuPC9saT4KCQk8bGk+U29tZSBmaWVsZHMgdHVybmVkIGludG8gZmxvYXQgdG8gY29ycmVjdGx5IGhhbmRsZSBkZWNpbWFscy48L2xpPgoJCTxsaT5Ecm9wcGVkIGFkbWluIHByZWZlcmVuY2VzIHRvIGhvbGQgc2hvcCBwb2xpY2llcyAodXNlIGNvbnRlbnQgYmxvY2sgb3Igbm9ybWFsIENNU01TIHBhZ2Ugd2l0aCB0aGUgcG9saWNpZXMpLjwvbGk+CgkJPGxpPkludHJvZHVjdGlvbiBvZiBjaGVja21hcmsgaWYgcHJpY2VzIGFyZSBpbmNsdXNpdmUgb3IgZXhsY3VzaXZlIFZBVCBpbiBwcmVmZXJlbmNlcy48L2xpPgoJCTxsaT5BbHNvIGluIHByZWZlcmVuY2VzIG5vdyB1bml0IG9mIG1lYXN1cmUgZm9yIHdlaWdodHMgb2YgdGhlIHByb2R1Y3RzLjwvbGk+CgkJPGxpPkludHJvZHVjdGlvbiBvZiBWQVQgY29kZSBhbmQgbmV0dCB3ZWlnaHQgcGVyIHByb2R1Y3QuIEZvciBjYWxjdWxhdGlvbiBvZiAoc2hpcHBpbmcpIGNvc3QgaW4gQ2FydCBtb2R1bGU8L2xpPiAgCgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMCAtIEFwcmlsIDE4dGggMjAwOCBSb2xsIG91dCB2ZXJzaW9uPGJyPgoJPHVsPgoJCTxsaT5MYXlvdXQgY2hhbmdlcyBtYWRlPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMC40IC0gSW1wb3J0IGFuZCBFeHBvcnQgUmVsZWFzZTxicj4KCTx1bD4KCQk8bGk+Q2F0ZWdvcmllczwvbGk+CgkJPGxpPlByb2R1Y3RzPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMC4zIC0gQ2xpZW50IEludGVyZmFjZSBSZWxlYXNlPGJyPgoJPHVsPgoJCTxsaT5DbGllbnQgaW50ZXJmYWNlIHRhZ3M8L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMC4wLjIgLSBBZG1pbmlzdHJhdGlvbiBFeHRlbmRlZCBSZWxlYXNlCgk8dWw+CgkJPGxpPlRlbXBsYXRlcywgRXZlbnRzLCBPcmRlcnMsIFRyYW5zbGF0aW9uczwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjAuMSAtIEFkbWluaXN0cmF0aW9uIFJlbGVhc2U8YnI+Cgk8dWw+CgkJPGxpPlByZWZlcmVuY2VzIC0gQ29tcGxldGVkIG9uIDI0LzEyLzIwMDc8L2xpPgoJCTxsaT5DYXRlZ29yaWVzIC0gQ29tcGxldGVkIG9uIDI1LzEyLzIwMDc8L2xpPgoJCTxsaT5Qcm9kdWN0czwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPjxiciAvPg==]]></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+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHBhZ2VsaW1pdCcsIDEwMDAwMCksIDEwLCAxMCApCgkpOwoJJGludmVudG9yeXR5cGVzID0gJHRoaXMtPkJ1aWxkTGlzdEludmVudG9yeVR5cGVzKCk7CgkkdXNlZGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScsICdub25lJyk7CgkkcHJlZmVyZW5jZXNbJ2ludmVudG9yeXR5cGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9pbnZlbnRvcnl0eXBlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0UmFkaW9Hcm91cCggJGlkLCAnaW52ZW50b3J5dHlwZScsICRpbnZlbnRvcnl0eXBlcywgJHVzZWRpbnZlbnRvcnl0eXBlICkKCSk7Cn0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSB8fCAKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcmllcycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfY2F0ZWdvcmllcycpLCAoJGFjdGl2ZV90YWIgPT0gJ2NhdGVnb3JpZXMnKSk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJykpIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc2t1cycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfc2t1cycpLCAoJGFjdGl2ZV90YWIgPT0gJ3NrdXMnKSk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGVtcGxhdGVzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl90ZW1wbGF0ZXMnKSwgKCRhY3RpdmVfdGFiID09ICd0ZW1wbGF0ZXMnKSk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpKSB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZWZlcmVuY2VzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl9wcmVmZXJlbmNlcycpLCAoJGFjdGl2ZV90YWIgPT0gJ3ByZWZlcmVuY2VzJykpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgovLyBQcmVwYXJlIHRoZSBjYXRlZ29yaWVzIGFuZCBwcm9kdWN0cyB0YWIKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSB8fCAKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjYXRlZ29yaWVzJywgJHBhcmFtcyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCAkY2F0ZWdvcmllcyk7IAoJJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0cycsICRwcm9kdWN0cyk7IAoJJHNtYXJ0eS0+YXNzaWduKCdub2NhdGZvdW5kJywgJHRoaXMtPkxhbmcoJ25vY2F0Zm91bmQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ25vcHJvZGZvdW5kJywgJHRoaXMtPkxhbmcoJ25vcHJvZGZvdW5kJykpOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfY2F0ZWdvcmllcy50cGwnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9Ci8vIFByZXBhcmUgdGhlIHRhYiBjb250YWluaW5nIHRoZSBTS1UncwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblNLVXMnKSkgewoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NrdXMnLCAkcGFyYW1zKTsKCSRzbWFydHktPmFzc2lnbignc2t1cycsICRza3VzKTsgCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RhYl9za3VzLnRwbCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KLy8gUHJlcGFyZSB0aGUgdGFiIGNvbnRhaW5pbmcgdGhlIHRlbXBsYXRlcwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkgewoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3RlbXBsYXRlcycsICRwYXJhbXMpOwoJJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZXMnLCAkdGVtcGxhdGVzKTsgCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RhYl90ZW1wbGF0ZXMudHBsJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQovLyBQcmVwYXJlIHByZWZlcmVuY2VzIHRhYgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmZXJlbmNlcycsICRwYXJhbXMpOwoJJHNtYXJ0eS0+YXNzaWduKCdwcmVmZXJlbmNlcycsICRwcmVmZXJlbmNlcyk7IAoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfcHJlZmVyZW5jZXMudHBsJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKPz4=]]></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+bmV0d2VpZ2h0ID0gJHJvd1snbmV0d2VpZ2h0J107Cgkkb25lcm93LT5za3UgPSAkcm93Wydza3UnXTsKCgkvLyBQcmVwYXJlIHByaWNlLCBpZiBubyBwcmljZSBzdGF0ZSAnU29sZCBvdXQnCglpZiAoJHJvd1sncHJpY2UnXSAhPSAwKSB7CgkJJG9uZXJvdy0+cHJpY2UgPSAkcm93WydwcmljZSddOwoJfQoJZWxzZSB7CgkJJG9uZXJvdy0+cHJpY2UgPSAkdGhpcy0+TGFuZygncHJvZHVjdHNvbGRvdXQnKTsKCX0KCS8vIEJ1aWxkIGxpbmsgdG8gY2FydAoJaWYgKCRjYXJ0TVNJbnN0YWxsZWQpIHsKCQkkb25lcm93LT5hZGRwcm9kdWN0ID0gJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXS0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLCAKCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkncHJvZHVjdF9pZCcgPT4gJHJvd1sncHJvZHVjdF9pZCddLAoJCQkJJ3F0eScgPT4gMSwKCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJKSk7CgkJLy8gUHJlcGFyZSBsaW5rIHdpdGggaW1hZ2UgKEZlYXQgUmVxIzMzMjQpCgkJJGltYWdlc3JjID0gJGNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLidtb2R1bGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLgoJCQkJJHRoaXMtPkdldE5hbWUoKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidpbWFnZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2FkZHRvY2FydC5naWYnOwoJCSRvbmVyb3ctPmFkZHByb2R1Y3RpbWFnZSA9ICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAKCQkJJHJldHVybmlkLCAnPGltZyBzcmM9IicuJGltYWdlc3JjLiciIGFsdD0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyIgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciPicsIAoJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywKCQkJCSdwcm9kdWN0X2lkJyA9PiAkcm93Wydwcm9kdWN0X2lkJ10sCgkJCQkncXR5JyA9PiAxLAoJCQkJJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkpKTsKCX0KCgkvLyBHZXQgdGhlIGZpcnN0IHBpY3R1cmUgYXZhaWxhYmxlIGZvciB0aGUgcHJvZHVjdCBmb3VuZAoJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9pbWFnZXMgV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwoJJHBpY3R1cmUgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRyb3dbJ3Byb2R1Y3RfaWQnXSkpOwoJaWYgKCRwaWN0dXJlKQoJewoJCWlmIChpc3NldCgkcGljdHVyZVsnaW1hZ2UnXSkgJiYgJHBpY3R1cmVbJ2ltYWdlJ10gIT0gJ25vX2ltYWdlLmpwZycpIHsKCQkJJG9uZXJvdy0+cHJvZGltYWdlID0gJHBhdGhwcm9kdWN0LiRwaWN0dXJlWydpbWFnZSddOwoJCQkjJG9uZXJvdy0+cHJvZGltYWdlID0gJHBhdGhwcm9kdWN0LiRwaWN0dXJlWydpbWFnZSddLiciIGFsdD0iJy4kcGljdHVyZVsnZGVzY3JpcHRpb24nXS4nIic7CgkJfQoJCWVsc2UgewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb2RpbWFnZScsICcqbm9uZScpOwoJCX0KCgl9CgoJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgoJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3Byb2R1Y3RzJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmxlX3Byb2R1Y3RfY291bnQnLCAkdGhpcy0+TGFuZygndGV4dHByb2R1Y3Rjb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSkpOwoKLy8gU3RhdGUgdGhlIGN1cnJlbmN5IHN5bWJvbCBhbmQgdGhhdCBwcmljZXMgYXJlIGluL2V4IFZBVC9UQVgKJGluZXh2YXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJpY2VzaW5jbHZhdCcpOwppZiAoICRpbmV4dmF0ICE9ICcnICkgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeScsICR0aGlzLT5MYW5nKCdwcmljZXNpbmN1cmludmF0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScpKSk7Cn0KZWxzZSB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cnJlbmN5JywgJHRoaXMtPkxhbmcoJ3ByaWNlc2luY3VyZXh2YXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2N1cnJlbmN5JykpKTsKfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cl9zeW1ib2wnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnKSk7CgovLyBEaXNwbGF5IHRlbXBsYXRlCiR0ZW1wbGF0ZSA9ICdwcm9kZmVhdF90ZW1wbGF0ZSc7Ci8vIEN1cnJlbnRseSBvbmx5IG9uZSB0ZW1wbGF0ZSBhdmFpbGFibGUsIHNvIG5leHQgbGluZXMgd2lsbCBub3QgcGVyZm9ybSBhbnl0aGluZwppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGZlYXR0ZW1wbGF0ZSddKSkgewoJJHRlbXBsYXRlID0gJHBhcmFtc1sncHJvZGZlYXR0ZW1wbGF0ZSddOwp9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwo/Pg==]]></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+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCS8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gZG9uJ3Qgc2hvdyBhbnkgYWRkIHRvIGNhcnQgb3B0aW9uCgkkb25zdG9jayA9ICdObyc7CgkkaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CglpZiAoJGludmVudG9yeXR5cGUgPT0gJ3Byb2QnICYmICRxdWFudGl0eW9uc3RvY2sgPiAwKSB7CgkJJG9uc3RvY2sgPSAnWWVzJzsKCX0KCWlmICgkb25zdG9jayA9PSAnWWVzJykgewoJCS8vIEJ1aWxkIGxpbmsgdG8gY2FydAoJCWlmICgkY2FydE1TSW5zdGFsbGVkKSB7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkcHJvZHVjdCcsICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKSwgCgkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkJJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsCgkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0X2lkLAoJCQkJCSdxdHknID0+IDEsCgkJCQkJJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkJKSkpOwoJCQkkaW1hZ2VzcmMgPSAkdGhpcy0+SW1hZ2VBZGRUb0NhcnRTb3VyY2UoKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRwcm9kdWN0aW1hZ2UnLCAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ29iamVjdCddLT5DcmVhdGVMaW5rKCAkaWQsICdjYXJ0JywgCgkJCQkkcmV0dXJuaWQsICc8aW1nIHNyYz0iJy4kaW1hZ2VzcmMuJyIgYWx0PSInLiR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKS4nIiB0aXRsZT0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyI+JywgCgkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkJJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsCgkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0X2lkLAoJCQkJCSdxdHknID0+IDEsCgkJCQkJJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkJKSkpOwoJCX0KCX0KCgkkcHJvZHVjdF9kYXRhID0gJHRoaXMtPnByb2R1Y3RzLT5HZXQoJHByb2R1Y3RfaWQpOwoJJGF0dHJpYnV0ZSA9IGFycmF5KCk7CgkkYXR0cmlidXRlcyA9IGFycmF5KCk7CgkvLyBDaGVjayBpZiB0aGVyZSBhcmUgYW55IGF0dHJpYnV0ZXMgZm9yIHRoZSBjdXJyZW50IHByb2R1Y3QuIElmIG5vdCBjaGVja2VkLCB0aGUgZm9yZWFjaCBydW5zIGludG8gYW4gZXJyb3IKCSRhdHRyaWJ1dGVzWydpdGVtY291bnQnXSA9IGNvdW50KCRwcm9kdWN0X2RhdGFbJ2F0dHJpYnV0ZXMnXSk7CglpZiAoJGF0dHJpYnV0ZXNbJ2l0ZW1jb3VudCddID4gMCkgewoJCWZvcmVhY2ggKCRwcm9kdWN0X2RhdGFbJ2F0dHJpYnV0ZXMnXSBhcyAkYXR0cmlidXRlKSB7CgkJCWlmICgkYXR0cmlidXRlWydhY3RpdmUnXSkgewoJCQkJJGF0dHJpYnV0ZVsnbmFtZSddID0gJGF0dHJpYnV0ZVsnbmFtZSddOwoJCQkJJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXSA9ICRhdHRyaWJ1dGVbJ2Rlc2NyaXB0aW9uJ107CgkJCQkvLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIGRvbid0IHNob3cgYW55IGFkZCB0byBjYXJ0IG9wdGlvbgoJCQkJJGF0dHJpYnV0ZVsnb25zdG9jayddID0gdHJ1ZTsKCQkJCSRpbnZlbnRvcnl0eXBlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ludmVudG9yeXR5cGUnKTsKCQkJCWlmICgoJGludmVudG9yeXR5cGUgPT0gJ2F0dHInICYmICRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSA+IDApCgkJCQkJfHwgJG9uc3RvY2sgPT0gJ1llcycpIHsKCQkJCQkkYXR0cmlidXRlWydwcmljZSddID0gJyc7CgkJCQkJc3dpdGNoICgkYXR0cmlidXRlWydwcmljZWFkanVzdHR5cGUnXSkgewoJCQkJCQljYXNlICdQJzoKCQkJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAnKycgLiAkdGhpcy0+Rm9ybWF0UHJpY2UoJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J10pOwoJCQkJCQkJYnJlYWs7CgkJCQkJCWNhc2UgJ00nOgoJCQkJCQkJJGF0dHJpYnV0ZVsncHJpY2UnXSA9ICctJyAuICR0aGlzLT5Gb3JtYXRQcmljZSgkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXSk7CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSAnVCc6CgkJCQkJCQkkcHJpY2UgPSAkdGhpcy0+Q2FsY3VsYXRlQXR0cmlidXRlUHJpY2UoJHByb2R1Y3RwcmljZSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10sICRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0bWVudCddKTsKCQkJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByaWNlKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQljYXNlICdWJzoKCQkJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+Rm9ybWF0UHJpY2UoJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J10pOwoJCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJCWlmICghJGF0dHJpYnV0ZVsnZGlzcGxheW9ubHknXSkgewoJCQkJCQkvLyBCdWlsZCBsaW5rIHRvIGNhcnQKCQkJCQkJaWYgKCRjYXJ0TVNJbnN0YWxsZWQpIHsKCQkJCQkJCSRhdHRyaWJ1dGVbJ2FkZGF0dHJpYnV0ZSddID0gJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXS0+Q3JlYXRlTGluayggJGlkLCAKCQkJCQkJCQknY2FydCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLCBhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLCAnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCwKCQkJCQkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0X2lkLCAnYXR0cmlidXRlX2lkJyA9PiAkYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSwgCgkJCQkJCQkJCSdxdHknID0+IDEsICdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCQkJCQkpKTsKCQkJCQkJCSRpbWFnZXNyYyA9ICR0aGlzLT5JbWFnZUFkZFRvQ2FydFNvdXJjZSgpOwoJCQkJCQkJJGF0dHJpYnV0ZVsnYWRkYXR0cmlidXRlaW1hZ2UnXSA9ICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAKCQkJCQkJCQkkcmV0dXJuaWQsICc8aW1nIHNyYz0iJy4kaW1hZ2VzcmMuJyIgYWx0PSInLiR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKS4nIiB0aXRsZT0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyI+JywgCgkJCQkJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCQkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywgJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsCgkJCQkJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdF9pZCwgJ2F0dHJpYnV0ZV9pZCcgPT4gJGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10sIAoJCQkJCQkJCQkncXR5JyA9PiAxLCAncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkJCQkJKSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCQllbHNlIHsKCQkJCQkkYXR0cmlidXRlWydwcmljZSddID0gJHRoaXMtPkxhbmcoJ3Byb2R1Y3Rzb2xkb3V0Jyk7CgkJCQkJJGF0dHJpYnV0ZVsnb25zdG9jayddID0gZmFsc2U7CgkJCQkJJGF0dHJpYnV0ZVsnYWRkYXR0cmlidXRlJ10gPSAnJzsKCQkJCX0KCQkJCSRwcm9kdWN0X2F0dHJpYnV0ZXNfbGlzdFtdID0gJGF0dHJpYnV0ZTsKCQkJfQoJCX0KCQkkYXR0cmlidXRlc1snbGlzdCddID0gJHByb2R1Y3RfYXR0cmlidXRlc19saXN0OwoJCS8vIE5vdyBhbGwgdGhlIGF0dHJpYnV0ZXMgYXJlIGZvdW5kLCBjb25uZWN0IHRoZW0gZm9yIHRoZSBmcm9udCBlbmQKCQkkYXR0cmlidXRlc1snbmFtZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfbmFtZScpOwoJCSRhdHRyaWJ1dGVzWydkZXNjcmlwdGlvbmNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKTsKCQkkYXR0cmlidXRlc1sncHJpY2Vjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX3ByaWNlJyk7CgkJJGF0dHJpYnV0ZXNbJ2FkZGF0dHJpYnV0ZWNvbHVtbiddID0gJyc7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignYXR0cmlidXRlcycsICRhdHRyaWJ1dGVzKTsKCgl9Cn0KCiRjdXJfc3ltYm9sID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY3VyX3N5bWJvbCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N5bWJvbCcpKTsKCi8vIERpc3BsYXkgdGVtcGxhdGUKJHRlbXBsYXRlID0gJ3Byb2RkZXRhaWxfdGVtcGxhdGUnOwovLyBDdXJyZW50bHkgb25seSBvbmUgdGVtcGxhdGUgYXZhaWxhYmxlLCBzbyBuZXh0IGxpbmVzIHdpbGwgbm90IHBlcmZvcm0gYW55dGhpbmcKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2RkZXRhaWx0ZW1wbGF0ZSddKSkgewoJJHRlbXBsYXRlID0gJHBhcmFtc1sncHJvZGRldGFpbHRlbXBsYXRlJ107Cn0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.fe_product_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKLy8gUHJlcGFyZSBzZXR0aW5ncyBmb3IgdXNhZ2Ugb2YgY2FydAokY2FydE1TSW5zdGFsbGVkID0gZmFsc2U7CiRtb2R1bGVuYW1lID0gJ0NhcnRNYWRlU2ltcGxlJzsKCiRjbXNtb2R1bGVzID0gJGdDbXMtPm1vZHVsZXM7CmlmIChpc3NldCgkY21zbW9kdWxlc1skbW9kdWxlbmFtZV0pKQp7CglpZiAoaXNzZXQoJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXSkKCQkmJiAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ2luc3RhbGxlZCddID09IHRydWUKCQkmJiAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ2FjdGl2ZSddID09IHRydWUgKSB7CgkJJGNhcnRNU0luc3RhbGxlZCA9IHRydWU7Cgl9Cn0KCiRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiRwYXRoY2F0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9jYXRlZ29yeScpOwokcGF0aHByb2R1Y3QgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnKTsKCi8vIERpc3BsYXkgaW5mb3JtYXRpb24gb2YgdGhlIGNhdGVnb3J5CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBhY3RpdmUgPSAxIjsKJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpOwppZiAoJHJvdykKewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpZCcsICRyb3dbJ2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeW5hbWUnLCAkcm93WyduYW1lJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsICRyb3dbJ2Rlc2NyaXB0aW9uJ10pOwoJaWYgKGlzc2V0KCRyb3dbJ2ltYWdlJ10pICYmICRyb3dbJ2ltYWdlJ10gIT0gJ25vX2ltYWdlLmpwZycgJiYgJHJvd1snaW1hZ2UnXSAhPSAnJykgewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW1hZ2UnLCAkcGF0aGNhdC4kcm93WydpbWFnZSddLiciIGFsdD0iJy4kcm93WydpbWFnZSddLiciJyk7Cgl9CgllbHNlIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ltYWdlJywgJypub25lJyk7Cgl9Cn0KCi8vIERpc3BsYXkgaW5mb3JtYXRpb24gb2YgdGhlIGNvbm5lY3RlZCBwcm9kdWN0cwokcXVlcnkgPSAnU0VMRUNUIHAubmFtZSBBUyBwcm9kbmFtZSwgcC5wcm9kdWN0X2lkLCBwLmRlc2NyaXB0aW9uIEFTIHByb2RkZXNjLCAKCXAucHJpY2UgQVMgcHJpY2UgRlJPTSAnCgkuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgYyBMRUZUIE9VVEVSIEpPSU4gJwoJLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBwIE9OIGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCAKCVdIRVJFIGMuY2F0ZWdvcnlfaWQgPSA/IEFORCBwLmFjdGl2ZSA9IDEKCU9SREVSIEJZIHAucG9zaXRpb24nOwokcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBGUk9NICcKCS5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSBjIExFRlQgT1VURVIgSk9JTiAnCgkuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIHAgT04gYy5wcm9kdWN0X2lkID0gcC5wcm9kdWN0X2lkIAoJV0hFUkUgYy5jYXRlZ29yeV9pZCA9ID8gQU5EIHAuYWN0aXZlID0gMSc7CgovLyBTZXQgdGhlIHBhZ2UgaHlwZXJsaW5rcyBpZiBuZWVkZWQKJHBhZ2VsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgMTAwMDAwKTsKCmlmIChpc3NldCgkcGFyYW1zWydwcm9kcGFnZWxpbWl0J10pKSB7CgkkcGFnZWxpbWl0ID0gaW50dmFsKCRwYXJhbXNbJ3Byb2RwYWdlbGltaXQnXSk7Cn0KCQkKLy8gR2V0IHRoZSBudW1iZXIgb2Ygcm93cyAoc28gd2UgY2FuIGRldGVybWluZSB0aGUgbnVtZXIgb2YgcGFnZXMpCiRwYWdlY291bnQgPSAtMTsKJHN0YXJ0ZWxlbWVudCA9IDA7CiRwYWdlbnVtYmVyID0gMTsKLy8gR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgdGhhdCBtYXRjaCB0aGUgcXVlcnkKLy8gYW5kIGRldGVybWluZSBhIG51bWJlciBvZiBwYWdlcwokcm93MiA9ICRkYi0+R2V0Um93KCRxdWVyeTIsIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKJGNvdW50ID0gaW50dmFsKCRyb3cyWydjb3VudCgqKSddKTsKCmlmIChpc3NldCggJHBhcmFtc1snc3RhcnQnXSApICkKewoJJGNvdW50IC09IChpbnQpJHBhcmFtc1snc3RhcnQnXTsKfQokcGFnZWNvdW50ID0gKGludCkoJGNvdW50IC8gJHBhZ2VsaW1pdCk7CmlmICggKCRjb3VudCAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7CgppZiAoaXNzZXQoICRwYXJhbXNbJ3BhZ2VudW1iZXInXSApICYmICRwYXJhbXNbJ3BhZ2VudW1iZXInXSAhPSAnJyApCnsKCS8vIElmIGdpdmVuIGEgcGFnZSBudW1iZXIsIGRldGVybWluZSBhIHN0YXJ0IGVsZW1lbnQKCSRwYWdlbnVtYmVyID0gKGludCkkcGFyYW1zWydwYWdlbnVtYmVyJ107Cgkkc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJHBhZ2VsaW1pdDsKfQppZiAoaXNzZXQoICRwYXJhbXNbJ3N0YXJ0J10gKSApCnsKCS8vIEdpdmVuIGEgc3RhcnQgZWxlbWVudCwgZGV0ZXJtaW5lIGEgcGFnZSBudW1iZXIKCSRzdGFydGVsZW1lbnQgPSAkc3RhcnRlbGVtZW50ICsgKGludCkkcGFyYW1zWydzdGFydCddOwp9CmlmICgkc3RhcnRlbGVtZW50ID09ICRwYWdlbGltaXQpIHsKCS8vIFRoaXMgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBsZXNzIHJlc3VsdHMgdGhlbiBvbmUgcGFnZS4gUmVzZXQgdG8gc3RhcnRpbmcgcG9zaXRpb24uCgkjJHN0YXJ0ZWxlbWVudCA9IDA7Cn0KLy8gQXNzaWduIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5CmlmICggJHBhZ2VudW1iZXIgPT0gMSApIHsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCR0aGlzLT5MYW5nKCdwcmV2cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywkdGhpcy0+TGFuZygnZmlyc3RwYWdlJykpOwp9IGVsc2UgewoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXItMTsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZGVmYXVsdCcsICR0aGlzLT5MYW5nKCdwcmV2cGFnZScpLCAkcGFyYW1zKSk7CgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAxOwoJJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZGVmYXVsdCcsICR0aGlzLT5MYW5nKCdmaXJzdHBhZ2UnKSwgJHBhcmFtcykpOwp9CiAgIAppZiAoICRwYWdlbnVtYmVyID49ICRwYWdlY291bnQgKSB7Cgkkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlJywkdGhpcy0+TGFuZygnbmV4dHBhZ2UnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlJywkdGhpcy0+TGFuZygnbGFzdHBhZ2UnKSk7Cn0gZWxzZSB7CgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlcisxOwoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdkZWZhdWx0JywgJHRoaXMtPkxhbmcoJ25leHRwYWdlJyksICRwYXJhbXMpKTsKCSRwYXJhbXNbJ3BhZ2VudW1iZXInXSA9ICRwYWdlY291bnQ7Cgkkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlJywgJHRoaXMtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsICRyZXR1cm5pZCwgJ2RlZmF1bHQnLCAkdGhpcy0+TGFuZygnbGFzdHBhZ2UnKSwgJHBhcmFtcykpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ3BhZ2VudW1iZXInLCAkcGFnZW51bWJlcik7CiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywgJHBhZ2Vjb3VudCk7CiRzbWFydHktPmFzc2lnbignb2Z0ZXh0JywgJHRoaXMtPkxhbmcoJ3Byb21wdF9vZicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwYWdldGV4dCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfcGFnZScpKTsKCiRkYnJlc3VsdCA9ICcnOwppZiAoICRwYWdlbGltaXQgPCAxMDAwMDAgfHwgJHN0YXJ0ZWxlbWVudCA+IDAgKQp7CgkkZGJyZXN1bHQgPSAkZGItPlNlbGVjdExpbWl0KCAkcXVlcnksICRwYWdlbGltaXQsICRzdGFydGVsZW1lbnQsIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKfQplbHNlCnsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKfQoKJHJvd2NsYXNzID0gJ3JvdzEnOwokZW50cnlhcnJheSA9IGFycmF5KCk7Cgp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCgkkb25lcm93LT5wcm9kaWQgPSAkcm93Wydwcm9kdWN0X2lkJ107CiAgJGFsaWFzZWRfdGl0bGUgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRyb3dbJ3Byb2RuYW1lJ10pOyAJCiAgJHNlbmR0b2RldGFpbCA9IGFycmF5KCdjYXRlZ29yeV9pZCcgPT4kcGFyYW1zWydjYXRlZ29yeV9pZCddLCdwcm9kdWN0X2lkJz0+JHJvd1sncHJvZHVjdF9pZCddICk7CiAgCiAgJHByZXR0eXVybCA9ICdTaG9wTWFkZVNpbXBsZS9wcm9kLycuJHBhcmFtc1snY2F0ZWdvcnlfaWQnXS4nLycuJHJvd1sncHJvZHVjdF9pZCddLicvJy4KCQkoJGRldGFpbHBhZ2UhPScnPyRkZXRhaWxwYWdlOiRyZXR1cm5pZCkuJy8nLiRhbGlhc2VkX3RpdGxlOwoJaWYgKGlzc2V0KCRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ10pKSB7CgkJJHByZXR0eXVybCAuPSAnL2QsJyAuICRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ107Cgl9Cgkkb25lcm93LT5wcm9kbmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ZlX3Byb2R1Y3RfZGV0YWlsJywgJGRldGFpbHBhZ2UhPScnPyRkZXRhaWxwYWdlOiRyZXR1cm5pZCwgCgkJCSRyb3dbJ3Byb2RuYW1lJ10sICRzZW5kdG9kZXRhaWwsICcnLCBmYWxzZSwgZmFsc2UsICcnLCB0cnVlLCAkcHJldHR5dXJsKTsKCS8vIFNob3cgbmFtZSB3aXRob3V0IGxpbmsgdG8gZGV0YWlsIG9uIHByb2R1Y3QgbGlzdGluZyAoZmVhdHVyZSByZXF1ZXN0IyAyOTg2KQoJJG9uZXJvdy0+cHJvZG5hbWVub2xpbmsgPSAkcm93Wydwcm9kbmFtZSddOwoJJG9uZXJvdy0+cHJvZGRlc2MgPSAkcm93Wydwcm9kZGVzYyddOwoJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyBkb24ndCBzaG93IGFueSBhZGQgdG8gY2FydCBvcHRpb24KCSRpbnZlbnRvcnl0eXBlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ludmVudG9yeXR5cGUnKTsKCWlmICgkaW52ZW50b3J5dHlwZSA9PSAncHJvZCcgJiYgJHJvd1snbWF4YXR0cmlidXRlcyddID4gMCkgewoJCS8vIEJ1aWxkIGxpbmsgdG8gY2FydAoJCWlmICgkY2FydE1TSW5zdGFsbGVkKSB7CgkJCS8vIFByZXBhcmUgYSBoeXBlcmxpbmsgdG8gYWRkIHRoZSBwcm9kdWN0IHRvIHRoZSBjYXJ0CgkJCSRsaW5rbmFtZSA9ICR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKTsKCQkJJG9uZXJvdy0+YWRkcHJvZHVjdCA9ICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAkcmV0dXJuaWQsICRsaW5rbmFtZSwgCgkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRyb3dbJ3Byb2R1Y3RfaWQnXSwKCQkJCQkncXR5JyA9PiAxLAoJCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCSkpOwoJCQkvLyBQcmVwYXJlIGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkKCQkJJGltYWdlc3JjID0gJGNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLidtb2R1bGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLgoJCQkJCSR0aGlzLT5HZXROYW1lKCkuRElSRUNUT1JZX1NFUEFSQVRPUi4naW1hZ2VzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidhZGR0b2NhcnQuZ2lmJzsKCQkJJG9uZXJvdy0+YWRkcHJvZHVjdGltYWdlID0gJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXS0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsIAoJCQkJJHJldHVybmlkLCAnPGltZyBzcmM9IicuJGltYWdlc3JjLiciIGFsdD0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyIgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciPicsIAoJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLAoJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcm93Wydwcm9kdWN0X2lkJ10sCgkJCQkJJ3F0eScgPT4gMSwKCQkJCQkncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkpKTsKCQl9CgkJJG9uZXJvdy0+b25zdG9jayA9IHRydWU7Cgl9CgllbHNlIHsKCQkkb25lcm93LT5vbnN0b2NrID0gZmFsc2U7CgkJLy8gJG9uZXJvdy0+cHJpY2UgPSAkdGhpcy0+TGFuZygncHJvZHVjdHNvbGRvdXQnKTsKCQkkb25lcm93LT5wcmljZSA9ICRyb3dbJ3ByaWNlJ107Cgl9CgoJLy8gR2V0IHRoZSBmaXJzdCBwaWN0dXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2R1Y3QgZm91bmQKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIFdIRVJFIHByb2R1Y3RfaWQgPSA/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+U2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScsICRwYXJhbXNbJ2ludmVudG9yeXR5cGUnXSk7CgokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3ByZWZlcmVuY2VzdXBkYXRlZCcpKTsKJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdwcmVmZXJlbmNlc3VwZGF0ZWQnKTsKJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ3ByZWZlcmVuY2VzJzsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJJGRvdWJsZWl0ZW0gPSAkdGhpcy0+cHJvZHVjdHMtPkNoZWNrRG91YmxlSXRlbU51bWJlcigkcGFyYW1zWydpdGVtbnVtYmVyJ10sIC0xKTsgCglpZiAoISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2RvdWJsZWl0ZW0nLCAwKSAmJiAkZG91YmxlaXRlbSAhPSBmYWxzZSkgewoJCSRzbWFydHktPmFzc2lnbignbWVzc2FnZScsICR0aGlzLT5MYW5nICgnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSkpOwoJfQoJZWxzZSB7CgkJLy8gVXNlciBwcmVzc2VkIGNvbnRpbnVlIHNvIHNhdmUgdGhlIHByb2R1Y3QgaW5mb3JtYXRpb24gYW5kIGFmdGVyIHRoYXQgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGNhdGVnb3J5CgkJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGUoJHBhcmFtcyk7CgkJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGVDYXRlZ29yeU1hcCgkcGFyYW1zWydjYXRlZ29yeV9pZCddLCAkcGFyYW1zWydwcm9kdWN0X2lkJ10pOwoJCQoJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cgl9Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQoKJHByb2R1Y3QgPSBhcnJheSgpOwokcHJvZHVjdFsnc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2FkZCcsICRyZXR1cm5pZCwgJ3Bvc3QnKTsKJHByb2R1Y3RbJ3N1Ym1pdCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnY29udGludWUnKSk7CiRwcm9kdWN0WydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJHByb2R1Y3RbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgokcHJvZHVjdFsnY3VycmVudF9jYXRlZ29yeV9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnY3VycmVudF9jYXRlZ29yeV9pZCcsICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkKKTsKCiRjYXRlZ29yeWRyb3Bkb3duID0gJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkTGlzdCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICcnLCAwKTsKJHByb2R1Y3RbJ2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2NhdGVnb3J5X2lkJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnY2F0ZWdvcnlfaWQnLCAkY2F0ZWdvcnlkcm9wZG93biwgLTEsIGludHZhbCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pKQopOwoKJHByb2R1Y3RbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbmFtZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbmFtZScsICRwYXJhbXNbJ25hbWUnXSwgNDAsIDQwKQopOwokcHJvZHVjdFsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICcnLCAnZGVzY3JpcHRpb24nLCAncGFnZXNtYWxsdGV4dGFyZWEnLCAnJywgJycsICcnLCA0MCwgNDApCik7CiRwcm9kdWN0WydwcmljZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9wcmljZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJpY2UnLCAnJywgNDAsIDQwKQopOwokcHJvZHVjdFsnYWN0aXZlJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2FjdGl2ZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2FjdGl2ZScsIHRydWUpCik7CiRwcm9kdWN0WydmZWF0dXJlZCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9mZWF0dXJlZCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2ZlYXR1cmVkJywgdHJ1ZSkKKTsKJHByb2R1Y3RbJ25ldHdlaWdodCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9uZXR3ZWlnaHQnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25ldHdlaWdodCcsICcnLCAxMCwgMjApLAoJJ3VuaXQnPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnd2VpZ2h0dW5pdG1lYXN1cmUnLCAnS2cnKQopOwovLyBQcmVwYXJlIGxpc3Qgb2YgcG9zc2libGUgVkFUIGNvZGVzIGFzIHNldCB1cCBpbiBDYXJ0IE1hZGUgU2ltcGxlCiRjYXJ0bXMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXJ0TWFkZVNpbXBsZScpOwppZiggJGNhcnRtcyApIHsgCgkkdmF0Y29kZSA9ICcnOwoJJGxpc3R2YXRjb2RlWyRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ3ZhdDBuYW1lJywgJycpXSA9ICcwJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQxbmFtZScsICcnKV0gPSAnMSc7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0Mm5hbWUnLCAnJyldID0gJzInOwoJJGxpc3R2YXRjb2RlWyRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ3ZhdDNuYW1lJywgJycpXSA9ICczJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQ0bmFtZScsICcnKV0gPSAnNCc7CgkkcHJvZHVjdFsndmF0Y29kZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfdmF0Y29kZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICd2YXRjb2RlJywgJGxpc3R2YXRjb2RlLCAtMSwgJHZhdGNvZGUpCgkpOwp9CmVsc2UgewoJJHByb2R1Y3RbJ3ZhdGNvZGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3ZhdGNvZGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd2YXRjb2RlJywgJycsIDEsIDEpCgkpOwp9Cgokc2t1ZHJvcGRvd24gPSAkdGhpcy0+QnVpbGRMaXN0U0tVKCk7CiRwcm9kdWN0Wydza3UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3Rfc2t1JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnc2t1JywgJHNrdWRyb3Bkb3duLCAtMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc2t1JywgJycpKQopOwoKJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfaXRlbW51bWJlcicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaXRlbW51bWJlcicsICcnLCAzMCwgMzApCik7CgokcHJvZHVjdFsncG9zaXRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfcG9zaXRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3Bvc2l0aW9uJywgJycsIDEwLCAxMCkKKTsKLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyB1c2UgZGlmZmVyZW50IGxhYmVsCiRpbnZlbnRvcnl0eXBlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ludmVudG9yeXR5cGUnKTsKaWYgKCRpbnZlbnRvcnl0eXBlID09ICdwcm9kJykgewoJJGxhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCdsYWJlbF9xdWFudGl0eV9vbnN0b2NrJyk7Cn0KZWxzZSB7CgkkbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzID0gJHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcycpOwp9CiRwcm9kdWN0WydtYXhhdHRyaWJ1dGVzJ10gPSBhcnJheSgKCSdsYWJlbCc9PiRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhdHRyaWJ1dGVzJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfbWF4YXR0cmlidXRlcycsIDEpLCAxMCwgMTApCik7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3QnLCAkcHJvZHVjdCk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9hZGQudHBsJyk7Cgo/Pg==]]></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+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbmFtZScsICRwcm9kdWN0X2RhdGFbJ25hbWUnXSwgNDAsIDQwKQopOwokcHJvZHVjdFsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRwcm9kdWN0X2RhdGFbJ2Rlc2NyaXB0aW9uJ10sICdwZGVzY3JpcHRpb24nLCdwYWdlc21hbGx0ZXh0YXJlYScsJycsJycsJycsNDAsNDApCik7CiRwcm9kdWN0WydwcmljZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9wcmljZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJpY2UnLCAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByb2R1Y3RfZGF0YVsncHJpY2UnXSksIDQwLCA0MCkKKTsKJHByb2R1Y3RbJ2FjdGl2ZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9hY3RpdmUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkcHJvZHVjdF9kYXRhWydhY3RpdmUnXSkKKTsKJHByb2R1Y3RbJ2ZlYXR1cmVkJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2ZlYXR1cmVkJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnZmVhdHVyZWQnLCAxLCAkcHJvZHVjdF9kYXRhWydmZWF0dXJlZCddKQopOwokcHJvZHVjdFsnbmV0d2VpZ2h0J10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X25ldHdlaWdodCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbmV0d2VpZ2h0JywgJHRoaXMtPkZvcm1hdFdlaWdodCgkcHJvZHVjdF9kYXRhWyduZXR3ZWlnaHQnXSksMTAsIDIwKSwKCSd1bml0Jz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ3dlaWdodHVuaXRtZWFzdXJlJywgJ0tnJykKKTsKLy8gUHJlcGFyZSBsaXN0IG9mIHBvc3NpYmxlIFZBVCBjb2RlcyBhcyBzZXQgdXAgaW4gQ2FydCBNYWRlIFNpbXBsZQokY2FydG1zID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FydE1hZGVTaW1wbGUnKTsKaWYoICRjYXJ0bXMgKSB7IAoJJHZhdGNvZGUgPSAnJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQwbmFtZScsICcnKV0gPSAnMCc7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0MW5hbWUnLCAnJyldID0gJzEnOwoJJGxpc3R2YXRjb2RlWyRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ3ZhdDJuYW1lJywgJycpXSA9ICcyJzsKCSRsaXN0dmF0Y29kZVskY2FydG1zLT5HZXRQcmVmZXJlbmNlKCd2YXQzbmFtZScsICcnKV0gPSAnMyc7CgkkbGlzdHZhdGNvZGVbJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgndmF0NG5hbWUnLCAnJyldID0gJzQnOwoJJHByb2R1Y3RbJ3ZhdGNvZGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3ZhdGNvZGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAndmF0Y29kZScsICRsaXN0dmF0Y29kZSwgJHByb2R1Y3RfZGF0YVsndmF0Y29kZSddLCAkdmF0Y29kZSkKCSk7Cn0KZWxzZSB7CgkkcHJvZHVjdFsndmF0Y29kZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfdmF0Y29kZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ZhdGNvZGUnLCAnJywgMSwgMSkKCSk7Cn0KCiRza3Vkcm9wZG93biA9ICR0aGlzLT5CdWlsZExpc3RTS1UoKTsKJHByb2R1Y3RbJ3NrdSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9za3UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdza3UnLCAkc2t1ZHJvcGRvd24sIC0xLCAkcHJvZHVjdF9kYXRhWydza3UnXSkKKTsKCiRwcm9kdWN0WydpdGVtbnVtYmVyJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2l0ZW1udW1iZXInKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2l0ZW1udW1iZXInLCAkcHJvZHVjdF9kYXRhWydpdGVtbnVtYmVyJ10sIDMwLCAzMCkKKTsKCiRwcm9kdWN0Wydwb3NpdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9wb3NpdGlvbicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncG9zaXRpb24nLCAkcHJvZHVjdF9kYXRhWydwb3NpdGlvbiddLCAxMCwgMTApCik7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CmlmICgkaW52ZW50b3J5dHlwZSA9PSAncHJvZCcpIHsKCSRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygnbGFiZWxfcXVhbnRpdHlfb25zdG9jaycpOwoJJHRvb2x0aXBfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCd0b29sdGlwX3F1YW50aXR5X29uc3RvY2snKTsKfQplbHNlIHsKCSRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzJyk7CgkkdG9vbHRpcF9tYXhhdHRyaWJ1dGVzID0gJHRoaXMtPkxhbmcoJ3Rvb2x0aXBfbWF4YXR0cmlidXRlcycpOwp9CiRwcm9kdWN0WydtYXhhdHRyaWJ1dGVzJ10gPSBhcnJheSgKCSdsYWJlbCc9PiRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhdHRyaWJ1dGVzJywgJHByb2R1Y3RfZGF0YVsnbWF4YXR0cmlidXRlcyddLCAxMCwgMTAsIAoJCSd0aXRsZT0iJy4kdG9vbHRpcF9tYXhhdHRyaWJ1dGVzLiciJykKKTsKLyoqCiAqIFByZXBhcmUgQ2F0ZWdvcmllcyBUYWIKICovCiRjYXRlZ29yaWVzWydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokY2F0ZWdvcmllc1snc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdkb25lJykpOwokY2F0ZWdvcmllc1snY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRjYXRlZ29yaWVzWydlbmRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJGNhdGVnb3JpZXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pCik7CiRjYXRlZ29yaWVzWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwoKJGNhdGVnb3J5X2xpc3QgPSBhcnJheSgpOwpmb3JlYWNoICgkcHJvZHVjdF9kYXRhWydjYXRlZ29yaWVzJ10gYXMgJGNhdGVnb3J5KSB7CglpZiAoJGNhdGVnb3J5WyduYW1lJ10gPT0gJycpIHsKCQkkY2F0ZWdvcnlbJ25hbWUnXSA9ICR0aGlzLT5MYW5nKCdyb290Jyk7Cgl9IGVsc2UgewoJCSRjYXRlZ29yeVsnbmFtZSddID0gJGNhdGVnb3J5WyduYW1lJ107Cgl9CgkkY2F0ZWdvcnlbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsIAoJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCWFycmF5ICgnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSwgJ3Byb2R1Y3RfaWQnPT4kcHJvZHVjdF9kYXRhWydwcm9kdWN0X2lkJ10sICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLCAnc3VibWl0Jz0+JHRoaXMtPkxhbmcoJ2RlbGV0ZWNhdGVnb3J5JykpLCAKCQkkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZXByb2RjYXQnLCAkcHJvZHVjdF9kYXRhWyduYW1lJ10sICRjYXRlZ29yeVsnbmFtZSddKSk7CgkkY2F0ZWdvcnlfbGlzdFtdID0gJGNhdGVnb3J5Owp9CiRjYXRlZ29yaWVzWydsaXN0J10gPSAkY2F0ZWdvcnlfbGlzdDsKCiRjYXRlZ29yaWVzWydjYXRlZ29yaWVzJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdhZGRjYXRlZ29yeScpLAoJJ3N1Ym1pdCc9PiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JykpLAoJJ2xpc3QnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnY2F0ZWdvcnlfaWQnLCAkdGhpcy0+Y2F0ZWdvcmllcy0+QnVpbGRUb3RhbExpc3QoKSwgLTEsICcnKQopOwovKioKICogUHJlcGFyZSBBdHRyaWJ1dGVzIFRhYgogKi8KJGF0dHJpYnV0ZXNbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJyk7CiRhdHRyaWJ1dGVzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2FkZGF0dHJpYnV0ZScpKTsKJGF0dHJpYnV0ZXNbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokYXR0cmlidXRlc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCi8vIE1lc3NhZ2VzIGNvbWUgZnJvbSBkZWxldGlvbiAob3Igb3RoZXIgcGxhY2VzKS4gU28gc2hvdyBpdC4KaWYgKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkpIHsKCSRhdHRyaWJ1dGVzWydtZXNzYWdlJ10gPSAkcGFyYW1zWydtZXNzYWdlJ107Cn0KLy8gUHJlcGFyZSBuYW1lIG9mIHByb2R1Y3Qgc28gdGhhdCBjYW4gYmUgc2hvd24gYWJvdmUgaW1hZ2VzLiBJcyBlYXN5IGZvciB1c2VyIHRvIHNlZSBmb3Igd2hpY2ggcHJvZHVjdCBvbmUgaXMgYnVzeQokYXR0cmlidXRlc1sncHJvZG5hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZXNfcHJvZHVjdF9uYW1lJyksCgknb3V0cHV0Jz0+JHByb2R1Y3RfZGF0YVsnbmFtZSddIC4gJyAnIC4KCQkkdGhpcy0+TGFuZygnYmFzZXByb2R1Y3RwcmljZScsICR0aGlzLT5Gb3JtYXRQcmljZSgkcHJvZHVjdF9kYXRhWydwcmljZSddKSApCik7CiRhdHRyaWJ1dGVzWyduYW1lJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAkcHJvZHVjdFsnYXR0cmlidXRlcyddWyduYW1lJ10sIDQwLCA0MCkKKTsKJGF0dHJpYnV0ZXNbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICcnLCAnYWRlc2NyaXB0aW9uJywncGFnZXNtYWxsdGV4dGFyZWEnLCcnLCcnLCcnLDQwLDEwKQopOwovLyBQcmVwYXJlIHNvbWUgZGVmYXVsdCB2YWx1ZXMgZm9yIGEgbmV3IGF0dHJpYnV0ZQppZiAoIWlzc2V0KCRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ2F0dHJpYnV0ZV9pZCddKSkgewoJJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbWluYWxsb3dlZCddID0gJzAnOwoJJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnYWN0aXZlJ10gPSB0cnVlOwp9IAokYXR0cmlidXRlc1snbWluYWxsb3dlZCddID0gYXJyYXkoCgknbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfbWluYWxsb3dlZCcpLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtaW5hbGxvd2VkJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbWluYWxsb3dlZCddLCA1LCA1KQopOwovLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIHVzZSBkaWZmZXJlbnQgbGFiZWwKaWYgKCRpbnZlbnRvcnl0eXBlID09ICdhdHRyJykgewoJJGxhYmVsX2F0dHJpYnV0ZV9tYXhhbGxvd2VkID0gJHRoaXMtPkxhbmcoJ2xhYmVsX3F1YW50aXR5X29uc3RvY2snKTsKfQplbHNlIHsKCSRsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCA9ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCcpOwp9CiRhdHRyaWJ1dGVzWydtYXhhbGxvd2VkJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJGxhYmVsX2F0dHJpYnV0ZV9tYXhhbGxvd2VkLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhbGxvd2VkJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbWF4YWxsb3dlZCddLCA1LCA1KQopOwovLyBQcmVwYXJlIHRoZSB2YXJpb3VzIHByaWNpbmcgYWRqdXN0bWVudCB0eXBlcwokYXR0cmlidXRlc1sncHJpY2VhZGp1c3R0eXBlJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9wcmljZWFkanVzdHR5cGUnKSwKCSdpbnB1dCcgPT4gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAncHJpY2VhZGp1c3R0eXBlJywgJHRoaXMtPkJ1aWxkTGlzdE9mQWRqdXN0VHlwZXMoKSwgLTEsIAoJCSRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ3ByaWNlYWRqdXN0dHlwZSddKQopOwokYXR0cmlidXRlc1sncHJpY2VhZGp1c3RtZW50J10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3RtZW50JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdwcmljZWFkanVzdG1lbnQnLCAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsncHJpY2VhZGp1c3RtZW50J10pLCAxMCwgNDApCik7CiRhdHRyaWJ1dGVzWydkaXNwbGF5b25seSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX2Rpc3BsYXlvbmx5JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnZGlzcGxheW9ubHknLCAxLCAkcHJvZHVjdFsnYXR0cmlidXRlcyddWydkaXNwbGF5b25seSddKQopOwokYXR0cmlidXRlc1snaXRlbW51bWJlciddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9pdGVtbnVtYmVyJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpdGVtbnVtYmVyJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnaXRlbW51bWJlciddLCAzMCwgMzApCik7CiRhdHRyaWJ1dGVzWydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9hY3RpdmUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkcHJvZHVjdFsnYXR0cmlidXRlcyddWydhY3RpdmUnXSkKKTsKJGF0dHJpYnV0ZXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pCik7CiRhdHRyaWJ1dGVzWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwovLyBCdWlsZCBsaXN0IG9mIGF2YWlsYWJsZSBhdHRyaWJ1dGVzCiRhdHRyaWJ1dGVzWyduYW1lY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9uYW1lJyk7CiRhdHRyaWJ1dGVzWydkZXNjcmlwdGlvbmNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKTsKJGF0dHJpYnV0ZXNbJ2FkanVzdG1lbnRjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2FkanVzdG1lbnQnKTsKJGF0dHJpYnV0ZXNbJ3ByaWNlY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9wcmljZScpOwokYXR0cmlidXRlc1snZGlzcGxheWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfZGlzcGxheScpOwokYXR0cmlidXRlc1snYWN0aXZlY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnYWN0aXZlJyk7CiRhdHRyaWJ1dGVzWydtaW5hbGxvd2VkY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9taW5hbGxvd2VkJyk7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAppZiAoJGludmVudG9yeXR5cGUgPT0gJ2F0dHInKSB7CgkkYXR0cmlidXRlc1snbWF4YWxsb3dlZGNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2xhYmVsX29uc3RvY2snKTsKfQplbHNlIHsKCSRhdHRyaWJ1dGVzWydtYXhhbGxvd2VkY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9tYXhhbGxvd2VkJyk7Cn0KJGF0dHJpYnV0ZXNbJ2l0ZW1udW1iZXJjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2l0ZW1udW1iZXInKTsKJGF0dHJpYnV0ZXNbJ25vX2F0dHJpYnV0ZXNfYXZhaWxhYmxlJ10gPSAkdGhpcy0+TGFuZygnbm9fYXR0cmlidXRlc19hdmFpbGFibGUnKTsKJGRlc2NsZW5ndGggPSA4MDsKJHByb2R1Y3RfYXR0cmlidXRlX2xpc3QgPSBhcnJheSgpOwovLyBDaGVjayBpZiB0aGVyZSBhcmUgYW55IGF0dHJpYnV0ZXMgZm9yIHRoZSBjdXJyZW50IHByb2R1Y3QuIElmIG5vdCBjaGVja2VkLCB0aGUgZm9yZWFjaCBydW5zIGludG8gYW4gZXJyb3IKJGF0dHJpYnV0ZXNbJ2l0ZW1jb3VudCddID0gY291bnQoJHByb2R1Y3RfZGF0YVsnYXR0cmlidXRlcyddKTsKaWYgKCRhdHRyaWJ1dGVzWydpdGVtY291bnQnXSA+IDApIHsKZm9yZWFjaCAoJHByb2R1Y3RfZGF0YVsnYXR0cmlidXRlcyddIGFzICRhdHRyaWJ1dGUpIHsKCSRhdHRyaWJ1dGVuYW1lID0gJGF0dHJpYnV0ZVsnbmFtZSddOwoJJGF0dHJpYnV0ZVsnbmFtZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3Byb2R1Y3RfYXR0cmlidXRlX2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkYXR0cmlidXRlbmFtZSwgCgkJCWFycmF5ICgnY3VycmVudF9hdHRyaWJ1dGVfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfYXR0cmlidXRlX2lkJ10sCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ3Byb2RuYW1lJyA9PiAkcHJvZHVjdF9kYXRhWyduYW1lJ10sCgkJCQknYXR0cmlidXRlX2lkJyA9PiAkYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSkpOwoJaWYgKHN0cmxlbigkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddKSA+ICRkZXNjbGVuZ3RoKSB7CgkJJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXSA9IHN1YnN0cigkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddLCAwLCAkZGVzY2xlbmd0aCkuJy4uLic7Cgl9CgllbHNlIHsKCQkkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddID0gJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXTsKCX0KCWlmICgkYXR0cmlidXRlWydkaXNwbGF5b25seSddKSB7CgkJJGF0dHJpYnV0ZVsnYWRqdXN0bWVudCddID0gJy0tLSc7CgkJJGF0dHJpYnV0ZVsncHJpY2UnXSA9ICctLS0nOwoJCSRhdHRyaWJ1dGVbJ21pbmFsbG93ZWQnXSA9ICctLS0nOwoJCSRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSA9ICctLS0nOwoJfQoJZWxzZSB7CgkJc3dpdGNoICgkYXR0cmlidXRlWydwcmljZWFkanVzdHR5cGUnXSkgewoJCQljYXNlICdQJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICcrICcgLiAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXTsKCQkJCWJyZWFrOwoJCQljYXNlICdNJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICctICcgLiAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXTsKCQkJCWJyZWFrOwoJCQljYXNlICdUJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICcqICcgLiAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXTsKCQkJCWJyZWFrOwoJCQljYXNlICdWJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICcnOwoJCQkJYnJlYWs7CgkJfQoJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+Rm9ybWF0UHJpY2UoJHRoaXMtPkNhbGN1bGF0ZUF0dHJpYnV0ZVByaWNlKCRwcm9kdWN0X2RhdGFbJ3ByaWNlJ10sCgkJCSRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0dHlwZSddLCAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXSkpOwoJfQoJJGF0dHJpYnV0ZVsnbGlua19kaXNwbGF5J10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hzdGF0dXMnLCAkcmV0dXJuaWQsIAoJCSRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10gPT0gMCA/ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9ub2NhbGN1bGF0aW9uJyksCgkJJycsJycsJ3N5c3RlbWljb24nKSA6ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfY2FsY3VsYXRpb24nKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCWFycmF5KCd0YWJsZSc9PidBdHRyaWJ1dGVzRGlzcGxheScsJ2Rpc3BsYXlvbmx5Jz0+JGF0dHJpYnV0ZVsnZGlzcGxheW9ubHknXSwgJ2F0dHJpYnV0ZV9pZCc9PiRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLAoJCSdwcm9kdWN0X2lkJz0+JHBhcmFtc1sncHJvZHVjdF9pZCddKSk7CgkkYXR0cmlidXRlWydsaW5rX2VuYWJsZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkkYXR0cmlidXRlWydhY3RpdmUnXSA9PSAxID8gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2luYWN0aXZlJyksCgkJJycsJycsJ3N5c3RlbWljb24nKSA6ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfYWN0aXZlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQlhcnJheSgndGFibGUnPT4nQXR0cmlidXRlcycsJ2FjdGl2ZSc9PiRhdHRyaWJ1dGVbJ2FjdGl2ZSddLCAnYXR0cmlidXRlX2lkJz0+JGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10sCgkJJ3Byb2R1Y3RfaWQnPT4kcGFyYW1zWydwcm9kdWN0X2lkJ10pKTsKCSRhdHRyaWJ1dGVbJ2xpbmtfZWRpdCddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3Byb2R1Y3RfYXR0cmlidXRlX2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCQlhcnJheSAoJ2N1cnJlbnRfYXR0cmlidXRlX2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2F0dHJpYnV0ZV9pZCddLAoJCQkJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwKCQkJCSdwcm9kbmFtZScgPT4gJHByb2R1Y3RfZGF0YVsnbmFtZSddLAoJCQkJJ2F0dHJpYnV0ZV9pZCcgPT4gJGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10pKTsKCSRhdHRyaWJ1dGVbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9kdWN0X2F0dHJpYnV0ZV9kZWxldGUnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9kZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdhdHRyaWJ1dGVfaWQnID0+ICRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLAoJCQkJJ3Byb2R1Y3RfaWQnID0+ICRhdHRyaWJ1dGVbJ3Byb2R1Y3RfaWQnXSwKCQkJCSdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgkJCQknbmFtZScgPT4gJGF0dHJpYnV0ZW5hbWUpLCAKCQkJCSR0aGlzLT5MYW5nICgnbWVzc2FnZV9hcmV5b3VzdXJlYXR0cmlidXRlJywkYXR0cmlidXRlbmFtZSkpOwoJJHByb2R1Y3RfYXR0cmlidXRlc19saXN0W10gPSAkYXR0cmlidXRlOwp9CiRhdHRyaWJ1dGVzWydsaXN0J10gPSAkcHJvZHVjdF9hdHRyaWJ1dGVzX2xpc3Q7Cn0KLyoqCiAqIFByZXBhcmUgSW1hZ2VzIFRhYgogKi8KJGltYWdlc1snc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2ltYWdlcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokaW1hZ2VzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2FkZGltYWdlJykpOwokaW1hZ2VzWydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJGltYWdlc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCi8vIE1lc3NhZ2VzIGNvbWUgZnJvbSBkZWxldGlvbiAob3Igb3RoZXIgcGxhY2VzKS4gU28gc2hvdyBpdC4KJGltYWdlc1snbWVzc2FnZSddID0gJHBhcmFtc1snbWVzc2FnZSddOwovLyBQcmVwYXJlIG5hbWUgb2YgcHJvZHVjdCBzbyB0aGF0IGNhbiBiZSBzaG93biBhYm92ZSBpbWFnZXMuIElzIGVhc3kgZm9yIHVzZXIgdG8gc2VlIGZvciB3aGljaCBwcm9kdWN0IG9uZSBpcyBidXN5CiRpbWFnZXNbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ltYWdlX3Byb2R1Y3RfbmFtZScpLAoJJ291dHB1dCc9PiRwcm9kdWN0X2RhdGFbJ25hbWUnXQopOwokaW1hZ2VzWydpbWFnZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnY29sdW1uX2ltYWdlX25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltYWdlJywgJycsIDQwKQopOwokaW1hZ2VzWydkZXNjcmlwdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfaW1hZ2VfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICcnLCAnaWRlc2NyaXB0aW9uJywncGFnZXNtYWxsdGV4dGFyZWEnLCcnLCcnLCcnLDQwLDQwKQopOwokaW1hZ2VzWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwokaW1hZ2VzWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwovLyBCdWlsZCBsaXN0IG9mIGF2YWlsYWJsZSBpbWFnZXMKJGltYWdlc1snbmFtZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9pbWFnZV9uYW1lJyk7CiRpbWFnZXNbJ2Rlc2NyaXB0aW9uY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2ltYWdlX2Rlc2NyaXB0aW9uJyk7CiRpbWFnZXNbJ25vX2ltYWdlc19hdmFpbGFibGUnXSA9ICR0aGlzLT5MYW5nKCdub19pbWFnZXNfYXZhaWxhYmxlJyk7CgokcHJvZHVjdF9pbWFnZV9saXN0ID0gYXJyYXkoKTsKLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBpbWFnZXMgZm9yIHRoZSBjdXJyZW50IHByb2R1Y3QuIElmIG5vdCBjaGVja2VkLCB0aGUgZm9yZWFjaCBydW5zIGludG8gYW4gZXJyb3IKJGltYWdlc1snaXRlbWNvdW50J10gPSBjb3VudCgkcHJvZHVjdF9kYXRhWydpbWFnZXMnXSk7CmlmICgkaW1hZ2VzWydpdGVtY291bnQnXSA+IDApIHsKZm9yZWFjaCAoJHByb2R1Y3RfZGF0YVsnaW1hZ2VzJ10gYXMgJGltYWdlKSB7CgkkaW1hZ2VbJ3Byb2R1Y3RpbWFnZSddID0gJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0JykuJGltYWdlWydpbWFnZSddOwoJJGltYWdlWydpbWFnZWhlaWdodCddID0gJzcwJzsgLy8gPC0tIFNob3VsZCBiZSBtb3ZlZCBpbnRvIGEgcHJlZmVyZW5jZQoJJGltYWdlWydpbWFnZSddID0gJGltYWdlWydpbWFnZSddOwoJJGltYWdlWydkZXNjcmlwdGlvbiddID0gJGltYWdlWydkZXNjcmlwdGlvbiddOwoJJGltYWdlWydsaW5rX2VkaXQnXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdwcm9kdWN0X2ltYWdlX2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdjdXJyZW50X3Byb2R1Y3RfaW1hZ2VzX2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X3Byb2R1Y3RfaW1hZ2VzX2lkJ10sCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ3Byb2R1Y3RfaW1hZ2VzX2lkJyA9PiAkaW1hZ2VbJ3Byb2R1Y3RfaW1hZ2VzX2lkJ10pKTsKCSRpbWFnZVsnbGlua19kZWxldGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Byb2R1Y3RfaW1hZ2VfZGVsZXRlJywgJHJldHVybmlkLCAKCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgCgkJCWFycmF5ICgncHJvZHVjdF9pbWFnZXNfaWQnID0+ICRpbWFnZVsncHJvZHVjdF9pbWFnZXNfaWQnXSwKCQkJCSdwcm9kdWN0X2lkJyA9PiAkaW1hZ2VbJ3Byb2R1Y3RfaWQnXSwKCQkJCSdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgkJCQknaW1hZ2UnID0+ICRpbWFnZVsnaW1hZ2UnXSksIAoJCQkJJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2FyZXlvdXN1cmVpbWFnZScsJGltYWdlWydpbWFnZSddKSk7CgkkcHJvZHVjdF9pbWFnZXNfbGlzdFtdID0gJGltYWdlOwp9CiRpbWFnZXNbJ2xpc3QnXSA9ICRwcm9kdWN0X2ltYWdlc19saXN0Owp9CgovKioKICogU2hvdyBwYWdlcwogKi8KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJvZHVjdCcsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfcHJvZHVjdCcpLCAoJGFjdGl2ZV90YWIgPT0gJ3Byb2R1Y3QnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcmllcycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfcHJvZHVjdF9jYXRlZ29yaWVzJyksICgkYWN0aXZlX3RhYiA9PSAnY2F0ZWdvcmllcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhdHRyaWJ1dGVzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl9hdHRyaWJ1dGVzJyksICgkYWN0aXZlX3RhYiA9PSAnYXR0cmlidXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpbWFnZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX2ltYWdlcycpLCAoJGFjdGl2ZV90YWIgPT0gJ2ltYWdlcycpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmVjaG8gIlxuPCEtLSBGcm9tIHByb2R1Y3QgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYigncHJvZHVjdCcsICRwYXJhbXMpOwokc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3QnLCAkcHJvZHVjdCk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9lZGl0LnRwbCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gIlxuPCEtLSBGcm9tIGNhdGVnb3JpZXMgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycsICRwYXJhbXMpOwokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCAkY2F0ZWdvcmllcyk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9jYXRlZ29yaWVzLnRwbCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gIlxuPCEtLSBGcm9tIGF0dHJpYnV0ZXMgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYignYXR0cmlidXRlcycsICRwYXJhbXMpOwokc21hcnR5LT5hc3NpZ24oJ2F0dHJpYnV0ZXMnLCAkYXR0cmlidXRlcyk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9hdHRyaWJ1dGVzLnRwbCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gIlxuPCEtLSBGcm9tIGltYWdlcyAtLT5cbiI7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdpbWFnZXMnLCAkcGFyYW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZXMnLCAkaW1hZ2VzKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdwcm9kdWN0X2ltYWdlcy50cGwnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cgo/Pg==]]></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[PHVsPgo8bGk+VmVyc2lvbiAwLjMuMiAyMSBEZWNlbWJlciAyMDEwPGJyIC8+Cgk8dWw+CgkJPGxpPkF0dHJpYnV0ZSBkZXNjcmlwdGlvbiB3YXMgbm90IHNhdmVkIHdoZW4gYXR0cmlidXRlIHdhcyBhZGRlZDs8L2xpPgoJCTxsaT5XaGVuIGVkaXRpbmcgYSBjYXRlZ29yeSwgdGhlIGNhdGVnb3J5IHRoYXQgaXMgZWRpdGVkIGNhbid0IGJlIHNldCBhcyB0aGUgcGFyZW50IGNhdGVnb3J5OzwvbGk+CgkJPGxpPkRlcGVuZGVudCBvbiBpbnZlbnRvcnkgc2V0dGluZ3MsIGxhYmVscyBvZiBmaWVsZHMgb24gcHJvZHVjdCBhbmQgYXR0cmlidXRlIGxldmVsIGFyZSBzaG93biBvciBoaWRkZW47PC9saT4KCQk8bGk+SWYgcHJvZHVjdCBpcyBkZWFjdGl2YXRlZCwgaXRzIHNlYXJjaCBpbmRleCBlbnRyaWVzIGFyZSByZW1vdmVkLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjMuMSAxNyBOb3ZlbWJlciAyMDEwPGJyIC8+Cgk8dWw+CgkJPGxpPldoZW4gdW5pbnN0YWxsaW5nLCB0aGUgc2VhcmNoIGluZGV4IGVudHJpZXMgb2YgdGhlIHByb2R1Y3RzIGFyZSByZW1vdmVkOzwvbGk+CgkJPGxpPlByZWZlcmVuY2VzIG5vdyBob2xkcyBmaWVsZCB0aGF0IGFsbG93cyB0cmFja2luZyBvZiBpbnZlbnRvcnkgb24gcHJvZHVjdCBvciBhdHRyaWJ1dGUgbGV2ZWw7PC9saT4KCQk8bGk+TWFrZSBtYXggYXR0cmlidXRlcyBvbiBwcm9kdWN0IGxldmVsIG1haW50YWluYWJsZTs8L2xpPgoJCTxsaT5Ob3QgYWN0aXZlIGF0dHJpYnV0ZXMgd2hlcmUgc2hvd24gb24gZnJvbnQgZW5kLCBmcm9tIHRoaXMgbW9tZW50IG9uIHRoaXMgaXMgbm90IHRoZSBjYXNlIGFueW1vcmUuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMy4wIDYgTm92ZW1iZXIgMjAxMDxiciAvPgoJPHVsPgoJCTxsaT5OYW1lIG9mIHNob3AgaW4gcHJlZmVyZW5jZXMgaXMgbm93IHVzZWQgaW4gZG9jdW1lbnQgcHJvcGVydGllcyBvZiBpbnZvaWNlIGdlbmVyYXRlZCBpbiBDYXJ0IE1hZGUgU2ltcGxlOzwvbGk+CgkJPGxpPkJpZyBjaGFuZ2Ugb24gdGhlIHBlcm1pc3Npb24gc3lzdGVtLiBOb3RlIC0tPiBBbGwgcHJldmlvdXMgU2hvcCBNYWRlIFNpbXBsZSBwZXJtaXNzaW9ucyBhcmUgZ29uZSB3aGVuIHVwZ3JhZGVkISBTb3JyeSwgdGhpcyBjb3VsZCBub3QgYmUgYXZvaWRlZDs8L2xpPgoJCTxsaT5TaG93aW5nIG11bHRpcGxlIGxldmVscyBpbiBjYXRlZ29yaWVzIG5vdyBwb3NpYmxlIHdpdGggcGFybSBjYXRsaXN0IChzZWUgaGVscCB0ZXh0KTs8L2xpPgoJCTxsaT5JbmNsdWRlIHByaWNlIGZvcm1hdGluZyBpbiBkZWZhdWx0IGNhdGVnb3J5L3Byb2R1Y3RzIHRlbXBsYXRlOzwvbGk+CgkJPGxpPkdldCByaWQgb2YgcHVibGljIG1lbWJlciB2YXJpYWJsZXMgc3VjaCBhcyAnZ2xvYmFsICRnQ21zJzs8L2xpPgoJCTxsaT5NaW5pbXVtIHZlcnNpb24gc2V0IHRvIDEuOC4xIGR1ZSB0byByZW1vdmFsIHB1YmxpYyBtZW1iZXIgdmFyaWFibGVzOzwvbGk+CgkJPGxpPlJlbW92ZWQgY2FsbCB0byBzb21ldGltZXMgbm90IHdvcmtpbmcgZXhpZl9pbWFnZTs8L2xpPgoJCTxsaT5NYWRlIGJldHRlciB1c2Ugb2YgcGF0aCBkaXJlY3Rvcnkgc2VwYXJhdG9yOzwvbGk+CgkJPGxpPkludHJvZHVjdGlvbiBvZiBtYXhpbXVtIG51bWJlciBvZiBhdHRyaWJ1dGVzIHBlciBwcm9kdWN0OzwvbGk+CgkJPGxpPk5ldyBwcmVmZXJlbmNlczogJ21heGltdW0gYXR0cmlidXRlcycgYW5kICdhbGxvdyBkdXBsaWNhdGUgaXRlbSBudW1iZXInIGFkZGVkIHRvIHByZWZlcmVuY2UgcGFnZTs8L2xpPgoJCTxsaT5TaW5jZSBpdCBoYWQgdG90YWx5IG5vIGZ1bmN0aW9uLCBkZWZhdWx0IGxhbmd1YWdlIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBwcmVmZXJlbmNlcyBwYWdlOzwvbGk+CgkJPGxpPkNoYW5nZWQgZGVmYXVsdCBwcm9kdWN0IGRldGFpbCB0ZW1wbGF0ZSB3aXRoIHJlZ2FyZHMgdG8gbnVtYmVyIG9mIGRlY2ltYWxzIG9uIHByaWNlOzwvbGk+CgkJPGxpPlRhYmxlIGF0dHJpYnV0ZV9vcHRpb25zIHJlbW92ZWQsIGNvbnRlbnQgd2FzIG5vdCBtYWludGFpbmFibGUsIGFsbCBmaWVsZHMgbm93IGluIHRhYmxlIHByb2R1Y3RfYXR0cmlidXRlczs8L2xpPgoJCTxsaT5BdHRyaWJ1dGVzIG9mIHByb2R1Y3Qgbm93IGhvbGQgcHJpY2UgZmFjdG9yIGFuZCB2YXJpb3VzIG90aGVyIGZpZWxkczs8L2xpPgoJCTxsaT5Nb3ZlZCBmdW5jdGlvbnMgaW50ZXJuYWxseSBhcm91bmQsIHNvIG1vZHVsZSBiZWNvbWVzIGEgYml0IG1vcmUgbGlrZSBzdGFuZGFyZDs8L2xpPgoJCTxsaT5WZXJzaW9uIDAuMi45IG9uIHB1cnBvc2Ugc2tpcHBlZCwgc2luY2UgdGhpcyBpcyBhIG1ham9yIHJlbGVhc2UuIFNpbmNlIHRoaXMgdmVyc2lvbiBicmVha3Mgd2l0aCB0aGUgb3JpZ2luYWwsIER1a2V0b3duIHRoYW5rcyAKCQlHYXJ5IEdyZXlsaW5nIChMYWh1aW5kYWkpIGZvciBhbGwgaGlzIHBlcmZlY3Qgd29yay4gVGltZSB0byBtb3ZlIG9uLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuOCA5IFNlcHRlbWJlciAyMDEwPGJyIC8+Cgk8dWw+CgkJPGxpPk5vIG1vcmUgcHJvYmxlbXMgd2l0aCBwcm9kdWN0IHByaWNlcyBncmVhdGVyIHRoYW4gOTk5IChidWcjIDQ1MTEpOzwvbGk+CgkJPGxpPkFsbG93IG1vZHVsZSB0byBydW4gaW4gMS44IGVudmlyb25tZW50IG9mIENNU01TOzwvbGk+CgkJPGxpPlJlbmFtZSBvZiBjbGFzcyBQcm9kdWN0cyB0byBTTVNQcm9kdWN0cyBzbyBtb2R1bGUgY2FuIHJ1biBuZXh0IHRvIHByb2R1Y3RzIG1vZHVsZTs8L2xpPgoJCTxsaT5OYW1lIG9mIHByb2R1Y3QgaGFzIGJlZW4gaW5jcmVhc2VkIHdpdGggbnVtYmVyIG9mIGNoYXJhY3RlcnMgZnJvbSAzMCB0byAyNTU7PC9saT4KCQk8bGk+V29yayBkb25lIG9uIHByZXR0eSBVUkwgKGJ1ZyMgMzEyMiY0MDgxKSBzb2x2ZWQgYnkgZHJ1bXpvbmU7PC9saT4KCQk8bGk+TmV0d2VpZ2h0IG5vdyBhdmFpbGFibGUgYXMgdmFyaWFibGUgaW4gdGhlIHByb2R1Y3QgZGV0YWlsIG92ZXJ2aWV3LjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuNyAxIE1hcmNoIDIwMTA8YnI+Cgk8dWw+CgkJPGxpPklucHV0IHBhcmFtZXRlcnMgd2VyZSBub3QgY2xlYW5lZCBhdCBjb3JyZWN0IG1vbWVudCBjYXVzaW5nIHdhcm5pbmdzOzwvbGk+CgkJPGxpPkNhdGVnb3J5IGFuZCBwcm9kdWN0cyB0ZW1wbGF0ZSB0aGF0IGlzIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiBleHRlbmRlZCB0byBpbmNsdWRlIGhvdyB0byB1c2UgaW1hZ2Ugb2YgYWRkIHRvIGNhcnQ7PC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMi42IDEgTm92ZW1iZXIgMjAwOTxicj4KCTx1bD4KCQk8bGk+U2V0IG1heGltdW0gQ01TTVMgdmVyc2lvbiB0byAxLjYuOSB0byBvdmVyY29tZSBwcm9ibGVtczs8L2xpPgoJCTxsaT5DaGFuZ2UgbG9nIG5vdCBpbiB0cmFuc2xhdGlvbiBhbnltb3JlLCBzbyB0aGlzIGxvZyBpcyBvbmx5IGF2YWlsYWJsZSBpbiBFbmdsaXNoOzwvbGk+CgkJPGxpPlByZXBhcmUgYWRkIHRvIGNhcnQgbGluayB3aXRoIGltYWdlIChGZWF0IFJlcSMzMzI0KS4gSW1hZ2UgdGFrZW4gaXMgU2hvcE1hZGVTaW1wbGUvaW1hZ2VzL2FkZHRvY2FydC5naWYuIENoYW5nZSB0aGlzIGltYWdlIGlmIG5lZWRlZC48YnI+CgkJVXNlIHskYWRkcHJvZHVjdGltYWdlfSBpbiB0aGUgdGVtcGxhdGUgaW4gc3RlYWQgb2YgeyRhZGRwcm9kdWN0fSwgd2hpY2ggaXMgdGhlIHRleHQ7PC9saT4KCQk8bGk+UmVtb3ZlZCBwcm9kdWN0IGlkIG9uIGRlZmF1bHQgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMi41IDEwIEF1Z3VzdCAyMDA5PGJyPgoJPHVsPgoJCTxsaT5NaXNzaW5nIGNvZGUgaW4gZnJvbnQgZW5kIHByb2R1Y3QgZGV0YWlsLiAoYnVnIyAzODUwKSBzb2x2ZWQgYnkgTmFOLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuNCAyNiBKdWx5IDIwMDk8YnI+Cgk8dWw+CgkJPGxpPkF1dG9tYXRpYyBpbnN0YWxsYXRpb24gb2Ygc3R5bGVzaGVldCBcJ01vZHVsZTogU2hvcCBNYWRlIFNpbXBsZVwnIHdhcyBub3Qgd29ya2luZyAoc3R5bGVzaGVldCB3aWxsIGJlIGluc2VydGVkIGR1cmluZyB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjIuMyB0byAwLjIuNCk7PC9saT4KCQk8bGk+QWN0aXZhdGluZyBhbmQgZGVhY3RpdmF0aW5nIHdhcyBub3Qgd29ya2luZyBjb3JyZWN0bHkgZm9yIGNhdGVnb3JpZXMgaW4gbGlzdCBvZiBjYXRlZ29yaWVzLCBjaGFuZ2UgYWxzbyBhcHBsaWVkIGZvciBwcm9kdWN0czs8L2xpPgoJCTxsaT5ObyB0ZXN0IGRhdGEgY3JlYXRlZCBhbnltb3JlIGF1dG9tYXRpY2FsbHkgZHVyaW5nIGluc3RhbGxhdGlvbjs8L2xpPgoJCTxsaT5PbiBwcm9kdWN0IGRldGFpbCBuZXcgdmFyaWFibGVzIGludHJvZHVjZWQ6IHtpbWFnZXRodW1ifSBhbmQge2Z1bGxwYXRoaW1hZ2V9IHRvIHN1cHBvcnQgaW1hZ2VzIGJldHRlcjs8L2xpPgoJCTxsaT5ObyBjYXRlZ29yeSBhbmQgcHJvZHVjdCBpZCB1c2VkIGFueW1vcmUgaW4gaW5zdGFsbGVkIHRlbXBsYXRlIG9mIGNhdGFnb3J5IGxpc3Q7PC9saT4KCQk8bGk+RGVmYXVsdCBjdXJyZW5jeSBpcyBzZXQgdG8gRXVybzs8L2xpPgoJCTxsaT5Xb3JrIGRvbmUgb24gcHJldHR5IFVSTCAtLT4gbm90IGZ1bGx5IGZ1bmN0aW9uYWw7PC9saT4KCQk8bGk+QnVnIHNvbHZlZCAoYnkgRmF0bGl6YXJkKSB0byBoYW5kbGUgY29ycmVjdCBwcm9kdWN0X2lkIGluIGZlIHByb2R1Y3QgZGV0YWlsLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuMyAxNyBNYXkgMjAwOTxicj4KCTx1bD4KCQk8bGk+SW5pdGlhbGl6ZWQgdmFyaWFibGVzIGNvcnJlY3RseSwgc28gbm8gd2FybmluZyBhcHBlYXJzIGZvciB0aGVtIHdoZW4gcGhwLmluaSBzdGF0ZXMgdG8gc2hvdyB3YXJuaW5nczs8L2xpPgoJCTxsaT5OZXcgcHJlZmVyZW5jZXMgZm9yIHRodW1ibmFpbCBnZW5lcmF0aW9uLiBVc2UgdGhlIHJlYnVpbGQgYnV0dG9uIHRvIGdlbmVyYXRlIHRodW1ibmFpbHMgZnJvbSBlYXJsaWVyIGxvYWRlZCBpbWFnZXMuPC9saT4KCQk8bGk+VGhlIGRldGFpbCB0ZW1wbGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIGFsbG93IHN3aXRjaGluZyBpbWFnZXMuIEEgc2ltcGxlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSB0byBjb3B5IGZyb20gaW4gdGhlCgkJdGVtcGxhdGVzIGRpcmVjdG9yeS4gVGhlIG5hbWUgaXMgZmVfcHJvZHVjdF9kZXRhaWwxLnRwbC48YnI+CgkJSWYgeW91IGhhdmUgdXBncmFkZWQgZnJvbSBhbiBlYXJsaWVyIHZlcnNpb24geW91IG1heSB3YW50IHRvIHVzZSB0aGUgc3dpdGNoaW5nIG9mIGltYWdlcy4gTG9vayBpbiB0ZW1wbGF0ZXNcZmVfcHJvZHVjdF9kZXRhaWwudHBsLjwvbGk+CgkJPGxpPk9yaWdpbmFsIHRlbXBsYXRlIG9mIHByb2R1Y3RzIHBlciBjYXRlZ29yeSBjaGFuZ2VkIHRvIHNob3cgaW1hZ2Ugd2l0aCBsaW5rIG9uIHByb2R1Y3QgbGluZS48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMC4yLjIgOCBNYXIgMjAwOTxicj4KCTx1bD4KCQk8bGk+U2hvdyBuYW1lIHdpdGhvdXQgbGluayB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDI5ODYpOiB1c2UgcHJvZG5hbWVub2xpbmsgaW4gc3RlYWQgb2YgcHJvZG5hbWUgaW4gdGhlIHRlbXBsYXRlLjwvbGk+CgkJPGxpPkJ1aWxkIGluIGxpbmsgZnJvbSBpbWFnZSB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDMwODMpOiB1c2UgcHJvZGltYWdlbGluayBpbiBzdGVhZCBvZiBwcm9kaW1hZ2UgaW4gdGhlIHRlbXBsYXRlLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjIuMSAxNSBKYW4gMjAwOTxicj4KCTx1bD4KCQk8bGk+VHlwbyBjYXVzZWQgZGlzcGxheT1wcm9kdWN0bGlzdCBjYXRuYW1lPS4uLiBub3QgdG8gd29yayBjb3JyZWN0bHkuIEJ1ZyBzb2x2ZWQuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMi4wIDExIEphbiAyMDA5PGJyPgoJPHVsPgoJCTxsaT5DdXJyZW5jeSBzeW1ib2wgYXZhaWxhYmxlIGZvciBjYXRlZ29yeSBsaXN0ICh1c2UgJGVudHJ5LT5jdXJzeW1ib2x9OzwvbGk+CgkJPGxpPlRlbXBsYXRlcyBjYW4gbm93IGJlIGFkanVzdGVkIHRvIGRlY3JlYXNlIGxlbmd0aCBvZiBkZXNjcmlwdGlvbiAod2FzIGhhcmRjb2RlZCkgdXNpbmcgfHRydW5jYXRlIGluIHRlbXBsYXRlOzwvbGk+CgkJPGxpPkhhcmRjb2RlZCBzaWduYWxpbmcgdGhhdCB0aGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBvciBwcm9kdWN0cyBpcyByZW1vdmVkLCBub3cgcGFydCBvZiB0cmFuc2xhdGlvbjs8L2xpPgoJCTxsaT5JZiB0aGUgbW9kdWxlIFNlYXJjaCBoYXMgYmVlbiBpbnN0YWxsZWQsIHRoZSBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwcm9kdWN0cyBjYW4gYmUgc2VhcmNoZWQgdXBvbjs8L2xpPgoJCTxsaT5CdWcgc29sdmVkIG9uIHVwZGF0aW5nIGNhdGVnb3J5IGluZm9ybWF0aW9uLiBFZGl0b3Igd2FzIG5vdCB3b3JraW5nIHdlbGw7PC9saT4KCQk8bGk+RGVzY3JpcHRpb24gb2YgY2F0ZWdvcnkgYW5kIHByb2R1Y3QgY291bGQgc3BhbiB0d28gbGluZXMuIE5vdyBhbHdheXMgb25seSBvbmUgbGluZTs8L2xpPgoJCTxsaT5OZXcgcHJlZmVyZW5jZSBhZGRlZCB0byBob2xkIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2U7PC9saT4KCQk8bGk+VXNpbmcgcGFyYW1ldGVyIHByb2RwYWdlbGltaXQsIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgcGVyIHBhZ2UgY2FuIGJlIGluZmx1ZW5jZWQgKG92ZXJyaWRpbmcgdGhlIHByZWZlcmVuY2UpLjxicj4KCQlQYWdpbmcgaXMgcG9zc2libGUgdXNpbmcgdGhlIGZvbGxvd2luZyBpbiB0aGUgQ2F0ZWdvcmllcy9Qcm9kdWN0cyB0ZW1wbGF0ZTo8YnI+CgkJe2lmICRwYWdlY291bnQgPiAxfTxicj4mbmJzcDt7JGZpcnN0cGFnZX0geyRwcmV2cGFnZX0geyRwYWdldGV4dH06ICB7JHBhZ2VudW1iZXJ9IHskb2Z0ZXh0fTogeyRwYWdlY291bnR9IHskbmV4dHBhZ2V9IHskbGFzdHBhZ2V9PGJyPnsvaWZ9CgkJPGJyPjwvbGk+CgkJPGxpPkludGVybmFsIGNsZWFuIHVwIG9mIGZyb250IGVuZCBjYXRlZ29yeSBsaXN0aW5nIHByb2dyYW0uPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMS45IDI5IERlYyAyMDA4PGJyPgoJPHVsPgoJCTxsaT5SZW1vdmVkIHRyYW5zbGF0aW9uIGJ1ZyBkdXJpbmcgaW5zdGFsbGF0aW9uLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuOCAxMSBEZWMgMjAwODxicj4KCTx1bD4KCQk8bGk+U29sdmVkIGlzc3VlIHdoZXJlIHN3aXRjaCBzdGF0dXMgb24gcHJvZHVjdCBjYXVzZWQgZGVzY3JpcHRpb24gdG8gYmUgY2xlYXJlZDs8L2xpPgoJCTxsaT5FZGl0IG9mIFN0b2NrIEtlZXBpbmcgVW5pdCB3YXMgbm90IHdvcmtpbmc7PC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMS43IDkgRGVjIDIwMDg8YnI+Cgk8dWw+CgkJPGxpPkFkZCB0byBjYXJ0IGF2YWlsYWJsZSBhdCBsaXN0IG9mIHByb2R1Y3RzIG9uIGZyb250IGVuZDs8L2xpPgoJCTxsaT5OZXcgZmllbGRzOiBTdG9jayBLZWVwaW5nIFVuaXQgKFNLVSkgYW5kIGl0ZW1udW1iZXIgYXZhaWxhYmxlIHBlciBwcm9kdWN0OzwvbGk+CgkJPGxpPk1haW50ZW5hbmNlIG9uIFNLVSBpcyBwb3NzaWJsZTs8L2xpPgoJCTxsaT5BZGRpdGlvbmFsIHByZWZlcmVuY2UgdG8gYWxsb3cgb25seSBjYXBpdGFsIGNoYXJhY3RlcnMgaW4gaXRlbW51bWJlcjs8L2xpPgoJCTxsaT5BZGRpdGlvbmFsIHByZWZlcmVuY2UgdG8gc2V0IGRlZmF1bHQgU0tVIGR1cmluZyBhZGQgb2YgYSBwcm9kdWN0LjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuNiAxMiBOb3YgMjAwODxicj4KCTx1bD4KCQk8bGk+SW1hZ2Ugb2YgY2F0ZWdvcnkgaXMgbm93IGRpc3BsYXllZCBpbiBmcm9udCBvZiBjYXRlZ29yeSBuYW1lIGluIGNhdGVnb3J5IGxpc3Rpbmc7PC9saT4KCQk8bGk+TGVuZ3RoIG9mIHByb2R1Y3QgYW5kIGF0dHJpYnV0ZSBkZXNjcmlwdGlvbiBlbmxhcmdlZDs8L2xpPgoJCTxsaT5DaGVjayBidWlsZCBpbiBkdXJpbmcgaW5zdGFsbGF0aW9uIGlmIHRoZSBjb25mbGljdGluZyBtb2R1bGUgUHJvZHVjdHMgaGFzIGJlZW4gaW5zdGFsbGVkOzwvbGk+CgkJPGxpPkJ1ZyBvbiBhZGRpbmcgbmV3IHByb2R1Y3RzIGNvcnJlY3RlZCAod2FzIGFsd2F5cyBwb2ludGluZyB0byByb290IGFmdGVyIGFkZGluZyk7PC9saT4KCQk8bGk+RGVsZXRpb24gb2YgcHJvZHVjdCByZXR1cm5zIHRvIGxhc3QgdXNlZCBjYXRlZ29yeTs8L2xpPgoJCTxsaT5BZnRlciBTd2l0Y2ggb2Ygc3RhdHVzLCBsYXN0IHNob3duIGNhdGVnb3J5L3Byb2R1Y3RzIGxpc3QgaXMgc2hvd247PC9saT4KCQk8bGk+RGVzY3JpcHRpb24gYm94ZXMgZm9yIHByb2R1Y3QsIGF0dHJpYnV0ZXMgYW5kIGltYWdlcyBpbXByb3ZlbWVudHM7PC9saT4KCQk8bGk+UHJlcGFyZSBjb3JyZWN0IGNvbm5lY3Rpb24gb2YgbXVsdGlwbGUgY2F0ZWdvcmllcyB0byBvbmUgcHJvZHVjdDs8L2xpPgoJCTxsaT5WYXJpYWJsZSAkaW1hZ2UgaW4gZGV0YWlsIHRlbXBsYXRlIHJlbmFtZWQgdG8gJHByb2RpbWFnZSwgc2luY2UgaXQgbWlnaHQgYmUgaW4gdXNlIGluIG90aGVyIG1vZHVsZXMgKGxpa2UgcHJpbnRpbmcpOzwvbGk+CgkJPGxpPldoZW4gbGFzdCBjYXRlZ29yeSBjb25uZWN0aW9uIHRvIHByb2R1Y3QgaXMgZGVsZXRlZCwgdGhlIHByb2R1Y3Qgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgKG90aGVyd2lzZSBpdCBjYW5cJ3QgYmUgc2VsZWN0ZWQgYW55bW9yZSk7PC9saT4KCQk8bGk+TXVsdGlwbGUgbGV2ZWxzIG9mIGNhdGVnb3JpZXMgaXMgYWxsb3dlZCBhcyBvZiB2ZXJzaW9uIDAuMS41IGJ1dCBpcyBub3Qgc3VwcG9ydGVkIG9uIGZyb250IGVuZCEgKHNvcnJ5KS48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMC4xLjUgSnVuZSAyMDA4PGJyPgoJPHVsPgoJCTxsaT5NdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZC9wb3NzaWJsZTs8L2xpPgoJCTxsaT5OZXcgcGFyYW1ldGVyIGZvciBmcm9udGVuZDogcGFyZW50Y2F0ZWdvcnkuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMS40IE1heSAyMDA4PGJyPgoJPHVsPgoJCTxsaT5VcGxvYWQgb2YgaW1hZ2UgZm9yIGNhdGVnb3J5IGhhcyBiZWVuIGNoYW5nZWQ7PC9saT4KCQk8bGk+Q2hhbmdlZCBpbnN0YWxsIHNvIGRpcmVjdG9yeSBwYXRoIGNvcnJlY3QgZm9yIGNhdGVnb3JpZXMgYW5kIHByb2R1Y3RzLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMyBNYXkgMjAwODxicj4KCTx1bD4KCQk8bGk+QWxsIGZyb250IGVuZCBwYWdlcyBhcmUgaGFuZGxlZCBieSB0ZW1wbGF0ZXMgZGVyaXZlZCBmcm9tIGFkbWluIHBhcnQ7PC9saT4KCQk8bGk+QWRtaW5pc3RyYXRvciBub3cgaGFzIHRhYiBjb250YWluaW5nIHRlbXBsYXRlcyBhcyB1c2VkIG9uIGZyb250IGVuZDs8L2xpPgoJCTxsaT5Gcm9udCBlbmQgc2hvd3Mgd2V0aGVyIHByaWNlcyBhcmUgaW5jbC4gb3IgZXhjbC4gVkFUIGRlcGVuZGVudCBvbiBwcmVmZXJlbmNlOzwvbGk+CgkJPGxpPlByb2R1Y3RzIGNvbm5lY3RlZCB0byBjYXRlZ29yeSBzb3J0ZWQgYnkgbGlzdCBvcmRlcjs8L2xpPgoJCTxsaT5PdmVydmlldyBjYXRlZ29yaWVzIGluIGJhY2sgZW5kIGFuZCBmcm9udCBlbmQgbm93IHNvcnRlZCBieSBsaXN0IG9yZGVyLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMiAtIE1heSAxc3QgMjAwODxicj4KCTx1bD4KCQk8bGk+V2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQsIGl0cyBjb25uZWN0ZWQgcHJvZHVjdHMgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIHJvb3QgY2F0ZWdvcnkuPC9saT4KCQk8bGk+U29tZSBidXR0b25zIGxhY2tlZCBwcm9wZXIgdHJhbnNsYXRpb25zLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMSAtIEFwcmlsIDIwMDg8YnI+Cgk8dWw+CgkJPGxpPk5vdyBvcHRpb24gdG8gc2hvdyBwcm9kdWN0cyBvZiBvbmUgY2F0ZWdvcnkgaW4gc2luZ2xlIHBhZ2VzIHVzaW5nIHBhcmFtZXRlcnMuPC9saT4KCQk8bGk+U29tZSBmaWVsZHMgdHVybmVkIGludG8gZmxvYXQgdG8gY29ycmVjdGx5IGhhbmRsZSBkZWNpbWFscy48L2xpPgoJCTxsaT5Ecm9wcGVkIGFkbWluIHByZWZlcmVuY2VzIHRvIGhvbGQgc2hvcCBwb2xpY2llcyAodXNlIGNvbnRlbnQgYmxvY2sgb3Igbm9ybWFsIENNU01TIHBhZ2Ugd2l0aCB0aGUgcG9saWNpZXMpLjwvbGk+CgkJPGxpPkludHJvZHVjdGlvbiBvZiBjaGVja21hcmsgaWYgcHJpY2VzIGFyZSBpbmNsdXNpdmUgb3IgZXhsY3VzaXZlIFZBVCBpbiBwcmVmZXJlbmNlcy48L2xpPgoJCTxsaT5BbHNvIGluIHByZWZlcmVuY2VzIG5vdyB1bml0IG9mIG1lYXN1cmUgZm9yIHdlaWdodHMgb2YgdGhlIHByb2R1Y3RzLjwvbGk+CgkJPGxpPkludHJvZHVjdGlvbiBvZiBWQVQgY29kZSBhbmQgbmV0dCB3ZWlnaHQgcGVyIHByb2R1Y3QuIEZvciBjYWxjdWxhdGlvbiBvZiAoc2hpcHBpbmcpIGNvc3QgaW4gQ2FydCBtb2R1bGU8L2xpPiAgCgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjEuMCAtIEFwcmlsIDE4dGggMjAwOCBSb2xsIG91dCB2ZXJzaW9uPGJyPgoJPHVsPgoJCTxsaT5MYXlvdXQgY2hhbmdlcyBtYWRlPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMC40IC0gSW1wb3J0IGFuZCBFeHBvcnQgUmVsZWFzZTxicj4KCTx1bD4KCQk8bGk+Q2F0ZWdvcmllczwvbGk+CgkJPGxpPlByb2R1Y3RzPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDAuMC4zIC0gQ2xpZW50IEludGVyZmFjZSBSZWxlYXNlPGJyPgoJPHVsPgoJCTxsaT5DbGllbnQgaW50ZXJmYWNlIHRhZ3M8L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMC4wLjIgLSBBZG1pbmlzdHJhdGlvbiBFeHRlbmRlZCBSZWxlYXNlCgk8dWw+CgkJPGxpPlRlbXBsYXRlcywgRXZlbnRzLCBPcmRlcnMsIFRyYW5zbGF0aW9uczwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAwLjAuMSAtIEFkbWluaXN0cmF0aW9uIFJlbGVhc2U8YnI+Cgk8dWw+CgkJPGxpPlByZWZlcmVuY2VzIC0gQ29tcGxldGVkIG9uIDI0LzEyLzIwMDc8L2xpPgoJCTxsaT5DYXRlZ29yaWVzIC0gQ29tcGxldGVkIG9uIDI1LzEyLzIwMDc8L2xpPgoJCTxsaT5Qcm9kdWN0czwvbGk+Cgk8L3VsPgo8L2xpPgo8L3VsPg==]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Nob3AgTWFkZSBTaW1wbGUnOwokbGFuZ1snYWRtaW5fZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBmb3JtcyB0aGUgYmFzZSBvZiBwcmVwYXJpbmcgYSBzaG9wLiBJdCBoYW5kbGVzIHRoZSBwcm9kdWN0cyBhbmQgdGhlaXIgZ3JvdXBpbmcuIEltYWdlcyBhbmQgYXR0cmlidXRlcyBhcmUgYXZhaWxhYmxlIHBlciBwcm9kdWN0JzsKJGxhbmdbJ21lc3NhZ2VfcG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUuJzsKJGxhbmdbJ21lc3NhZ2VfcG9zdHVuaW5zdGFsbCddID0gJ0lmIGltYWdlcyBoYXZlIGJlZW4gYWRkZWQsIHRoZXkgYXJlIG5vdCByZW1vdmVkIGR1cmluZyB1bmluc3RhbGwuJzsKJGxhbmdbJ21lc3NhZ2VfY29uZmlybXVuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8nOwoKLy8gQ29tbW9uIHRyYW5zbGF0aW9ucwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwoKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snZG9uZSddID0gJ0RvbmUnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ2NvbnRpbnVlJ10gPSAnQ29udGludWUnOwokbGFuZ1snbW9kdWxlX2V4YW1wbGVfc3R5bGVzaGVldCddPSdNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUnOwokbGFuZ1sncm9vdCddID0gJ1Jvb3QnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwoKLy8gVHJhbnNsYXRpb25zIGluIGFscGhhYmV0aWMgb3JkZXIKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOwokbGFuZ1snYWRkYXR0cmlidXRlJ10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkZCBDYXRlZ29yeSc7CiRsYW5nWydhZGRpbWFnZSddID0gJ0FkZCBJbWFnZSc7CiRsYW5nWydhZGR0b2NhcnQnXSA9ICdBZGQgdG8gQ2FydCc7CiRsYW5nWydhZGp1c3R0eXBlbWluJ10gPSAnLSBNaW4nOwokbGFuZ1snYWRqdXN0dHlwZXBsdXMnXSA9ICcrIFBsdXMnOwokbGFuZ1snYWRqdXN0dHlwZXRpbWVzJ10gPSAnKiBUaW1lcyc7CiRsYW5nWydhZGp1c3R0eXBldmFsdWUnXSA9ICdWYWx1ZSc7CiRsYW5nWydiYXNlcHJvZHVjdHByaWNlJ10gPSAnKFByb2R1Y3QgYmFzZSBwcmljZTogJXMpJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfYWRqdXN0bWVudCddID0gJ0FkanVzdG1lbnQnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfZGlzcGxheSddID0gJ0NhbGN1bGF0ZSB3aXRoPyc7CiRsYW5nWydjb2x1bW5fYXR0cmlidXRlX2l0ZW1udW1iZXInXSA9ICdJdGVtIG51bWJlcic7CiRsYW5nWydjb2x1bW5fYXR0cmlidXRlX21heGFsbG93ZWQnXSA9ICdNYXgnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9taW5hbGxvd2VkJ10gPSAnTWluJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9wcmljZSddID0gJ1ByaWNlJzsKJGxhbmdbJ2NvbHVtbl9pbWFnZV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NvbHVtbl9pbWFnZV9uYW1lJ10gPSAnSW1hZ2UgZmlsZSc7CiRsYW5nWydkZWxldGVjYXRlZ29yeSddID0gJ0RlbGV0ZSBDYXRlZ29yeSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX25vbmUnXSA9ICdObyB1c2VkJzsKJGxhbmdbJ2ludmVudG9yeXR5cGVfcHJvZCddID0gJ1BlciBwcm9kdWN0JzsKJGxhbmdbJ2ludmVudG9yeXR5cGVfYXR0ciddID0gJ1BlciBhdHRyaWJ1dGUnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlJ10gPSAnQXR0cmlidXRlJzsKJGxhbmdbJ2xhYmVsX2FkbWluX2VtYWlsJ10gPSAnQWRtaW5pc3RyYXRvciBFbWFpbCc7CiRsYW5nWydsYWJlbF9hZG1pbl9uYW1lJ10gPSAnQWRtaW5pc3RyYXRvciBOYW1lJzsKJGxhbmdbJ2xhYmVsX2FsbG93ZG91YmxlaXRlbSddID0gJ0FsbG93IGRvdWJsZSBpdGVtIG51bWJlcnM/JzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9hY3RpdmUnXSA9ICdBdHRyaWJ1dGUgaXMgYWN0aXZlPyc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfZGlzcGxheW9ubHknXSA9ICdPbmx5IGRpc3BsYXkgdGhlIGF0dHJpYnV0ZT8nOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX2l0ZW1udW1iZXInXSA9ICdJdGVtIG51bWJlcic7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCddID0gJ01heGltdW0gYWxsb3dlZCc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfbWluYWxsb3dlZCddID0gJ01pbmltdW0gYWxsb3dlZCc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX3ByaWNlYWRqdXN0dHlwZSddID0gJ1ByaWNlIGFkanVzdCB0eXBlJzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9wcmljZWFkanVzdG1lbnQnXSA9ICdQcmljZSBhZGp1c3RtZW50JzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9wcm9kdWN0X25hbWUnXSA9ICdBdHRyaWJ1dGUgZm9yIHByb2R1Y3QnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlc19wcm9kdWN0X25hbWUnXSA9ICdBdHRyaWJ1dGVzIGZvciBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3JpZXNfdGVtcGxhdGUnXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X2FjdGl2ZSddID0gJ0NhdGVnb3J5IGlzIGFjdGl2ZT8nOwokbGFuZ1snbGFiZWxfY2F0ZWdvcnlfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9pZCddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snbGFiZWxfY2F0ZWdvcnlfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbGFiZWxfY2F0ZWdvcnlfcGFyZW50J10gPSAnUGFyZW50IENhdGVnb3J5JzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X3Bvc2l0aW9uJ10gPSAnTGlzdCBPcmRlcic7CiRsYW5nWydsYWJlbF9jYXRsaXN0X3RlbXBsYXRlJ10gPSAnQ2F0ZWdvcnkgJiBQcm9kdWN0cyc7CiRsYW5nWydsYWJlbF9jdXJyZW50X2NhdGVnb3J5J10gPSAnQ3VycmVudCBDYXRlZ29yeSc7CiRsYW5nWydsYWJlbF9kZWZhdWx0X2N1cnJlbmN5J10gPSAnRGVmYXVsdCBDdXJyZW5jeSc7CiRsYW5nWydsYWJlbF9kZWZhdWx0X2xhbmd1YWdlJ10gPSAnRGVmYXVsdCBMYW5ndWFnZSc7CiRsYW5nWydsYWJlbF9kZWZhdWx0X21heGF0dHJpYnV0ZXMnXSA9ICdEZWZhdWx0IG1heGltdW0gYXR0cmlidXRlcyBwZXIgcHJvZHVjdCc7CiRsYW5nWydsYWJlbF9kZWZhdWx0X3NrdSddID0gJ0RlZmF1bHQgU3RvY2sgS2VlcGluZyBVbml0JzsKJGxhbmdbJ2xhYmVsX2RlZmF1bHRfc3ltYm9sJ10gPSAnRGVmYXVsdCBDdXJyZW5jeSBTeW1ib2wnOwokbGFuZ1snbGFiZWxfaW1hZ2VfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydsYWJlbF9pbWFnZV9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydsYWJlbF9pbWFnZV9wcm9kdWN0X25hbWUnXSA9ICdJbWFnZXMgZm9yIHByb2R1Y3QnOwokbGFuZ1snbGFiZWxfaW1hZ2VwYXRoX2NhdGVnb3J5J10gPSAnUGF0aCB0byBjYXRlZ29yeSBpbWFnZXMnOwokbGFuZ1snbGFiZWxfaW1hZ2VwYXRoX3Byb2R1Y3QnXSA9ICdQYXRoIHRvIHByb2R1Y3QgaW1hZ2VzJzsKJGxhbmdbJ2xhYmVsX2ludmVudG9yeXR5cGUnXSA9ICdJbnZlbnRvcnkgdG8gdHJhY2snOwokbGFuZ1snbGFiZWxfaXRlbV9jYXBpdGFsX29ubHknXSA9ICdJdGVtbnVtYmVyIGNhcGl0YWxzIG9ubHknOwokbGFuZ1snbGFiZWxfb25zdG9jayddID0gJ09uIHN0b2NrJzsKJGxhbmdbJ2xhYmVsX3ByaWNlc19pbmNsX3ZhdCddID0gJ1ByaWNlcyBhcmUgaW5jbHVzaXZlIFZBVCc7CiRsYW5nWydsYWJlbF9wcm9kZGV0YWlsX3RlbXBsYXRlJ10gPSAnUHJvZHVjdCBkZXRhaWwnOwokbGFuZ1snbGFiZWxfcHJvZGZlYXRfdGVtcGxhdGUnXSA9ICdGZWF0dXJlZCBwcm9kdWN0cyc7CiRsYW5nWydsYWJlbF9wcm9kdWN0J10gPSAnUHJvZHVjdCc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2FjdGl2ZSddID0gJ1Byb2R1Y3QgaXMgYWN0aXZlPyc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2NhdGVnb3J5J10gPSAnUHJvZHVjdHMgZm9yJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfY2F0ZWdvcnlfaWQnXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9mZWF0dXJlZCddID0gJ0ZlYXR1cmUgdGhpcyBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfaWQnXSA9ICdJRCc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9pdGVtbnVtYmVyJ10gPSAnSXRlbSBudW1iZXInOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzJ10gPSAnTWF4aW11bSBhbGxvd2VkIGF0dHJpYnV0ZXMnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X25ldHdlaWdodCddID0gJ05ldHQgV2VpZ2h0JzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfcG9zaXRpb24nXSA9ICdMaXN0IE9yZGVyJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfcHJpY2UnXSA9ICdQcmljZSc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X3NrdSddID0gJ1N0b2NrIEtlZXBpbmcgVW5pdCAoU0tVKSc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X3ZhdGNvZGUnXSA9ICdWQVQnOwokbGFuZ1snbGFiZWxfcHJvZHVjdHBhZ2VsaW1pdCddID0gJ051bWJlciBvZiBwcm9kdWN0cyBwZXIgcGFnZSc7CiRsYW5nWydsYWJlbF9xdWFudGl0eV9vbnN0b2NrJ10gPSAnUXVhbnRpdHkgb24gc3RvY2snOwokbGFuZ1snbGFiZWxfc2hvcF9uYW1lJ10gPSAnU2hvcCBOYW1lJzsKJGxhbmdbJ2xhYmVsX3Nob3Bfb25saW5lJ10gPSAnU2hvcCBPbmxpbmUnOwokbGFuZ1snbGFiZWxfc2hvcF9waG9uZSddID0gJ1Nob3AgRW1lcmdlbmN5IFBob25lJzsKJGxhbmdbJ2xhYmVsX3NrdV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2xhYmVsX3NrdV9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydsYWJlbF90YWJfYXR0cmlidXRlcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snbGFiZWxfdGFiX2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzIGFuZCBQcm9kdWN0cyc7CiRsYW5nWydsYWJlbF90YWJfaW1hZ2VzJ10gPSAnSW1hZ2VzJzsKJGxhbmdbJ2xhYmVsX3RhYl9wcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2xhYmVsX3RhYl9wcm9kdWN0J10gPSAnUHJvZHVjdCBEZXRhaWxzJzsKJGxhbmdbJ2xhYmVsX3RhYl9wcm9kdWN0X2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ2xhYmVsX3RhYl9za3VzJ10gPSAnU0tVXCdzJzsKJGxhbmdbJ2xhYmVsX3RhYl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlcyc7CiRsYW5nWydsYWJlbF90YWJfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ2xhYmVsX3RuaGVpZ2h0X3Byb2R1Y3QnXSA9ICdQcm9kdWN0IHRodW1ibmFpbCBoZWlnaHQnOwokbGFuZ1snbGFiZWxfdG53aWR0aF9wcm9kdWN0J10gPSAnV2lkdGgnOwokbGFuZ1snbGFiZWxfd2VpZ2h0X3VuaXRfbWVhc3VyZSddID0gJ1Byb2R1Y3Qgd2VpZ2h0IGluJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbWVzc2FnZV9hcmV5b3VzdXJlYXR0cmlidXRlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBhdHRyaWJ1dGU6ICVzPyc7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVjYXRlZ29yeSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgY2F0ZWdvcnk6ICVzPyc7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVpbWFnZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgaW1hZ2U6ICVzPyc7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVwcm9kY2F0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2Nvbm5lY3QgdGhpcyBwcm9kdWN0OiAlcyBmcm9tIGNhdGVnb3J5ICVzPyc7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVwcm9kdWN0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBwcm9kdWN0OiAlcz8nOwokbGFuZ1snbWVzc2FnZV9hcmV5b3VzdXJlc2t1J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBTS1U6ICVzPyc7CiRsYW5nWydtZXNzYWdlX2F0dHJpYnV0ZWFkZGVkJ10gPSAnQXR0cmlidXRlOiAlcyBoYXMgYmVlbiBhZGRlZCc7CiRsYW5nWydtZXNzYWdlX2F0dHJpYnV0ZWRlbGV0ZWQnXSA9ICdBdHRyaWJ1dGU6ICVzIGhhcyBiZWVuIGRlbGV0ZWQnOwokbGFuZ1snbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnXSA9ICdEb3VibGUgaXRlbSBudW1iZXIgZm91bmQsIHNlZSBwcm9kdWN0IFwnJXNcJyc7CiRsYW5nWydtZXNzYWdlX2ltYWdlYWRkZWQnXSA9ICdJbWFnZTogJXMgaGFzIGJlZW4gYWRkZWQnOwokbGFuZ1snbWVzc2FnZV9pbWFnZWRlbGV0ZWQnXSA9ICdJbWFnZTogJXMgaGFzIGJlZW4gZGVsZXRlZCc7CiRsYW5nWydtZXNzYWdlX25vYXR0cmlidXRlbmFtZWdpdmVuJ10gPSAnTm8gYXR0cmlidXRlIG5hbWUgZ2l2ZW4sIHdoaWxlIHRoaXMgaXMgbWFuZGF0b3J5JzsKJGxhbmdbJ21lc3NhZ2Vfbm9hdHRyaWJ1dGV0b3NhdmUnXSA9ICdObyBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gdG8gc2F2ZS4gTm8gYXR0cmlidXRlIGFkZGVkJzsKJGxhbmdbJ21lc3NhZ2Vfbm9pbWFnZXRvdXBsb2FkJ10gPSAnTm8gaW1hZ2UgdG8gdXBsb2FkLiBObyBpbWFnZSBhZGRlZCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm9fYXR0cmlidXRlc19hdmFpbGFibGUnXSA9ICdObyBhdHRyaWJ1dGVzIGF2YWlsYWJsZSc7CiRsYW5nWydub19pbWFnZXNfYXZhaWxhYmxlJ10gPSAnTm8gaW1hZ2VzIGF2YWlsYWJsZSc7CiRsYW5nWydub2NhdGZvdW5kJ10gPSAnTm8gY2F0ZWdvcmllcyBmb3VuZCc7CiRsYW5nWydub3Byb2Rmb3VuZCddID0gJ05vIHByb2R1Y3RzIGZvdW5kJzsKJGxhbmdbJ3BpZWNlJ10gPSAnUGllY2UnOwokbGFuZ1sncHJlZmVyZW5jZXN1cGRhdGVkJ10gPSAnUHJlZmVyZW5jZXMgaGF2ZSBiZWVuIHVwZGF0ZWQnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3ByaWNlc2luY3VyZXh2YXQnXSA9ICdBbGwgcHJpY2VzIGluICVzLCBleGNsdWRpbmcgVEFYL1ZBVCc7CiRsYW5nWydwcmljZXNpbmN1cmludmF0J10gPSAnQWxsIHByaWNlcyBpbiAlcywgaW5jbHVkaW5nIFRBWC9WQVQnOwokbGFuZ1sncHJpbnQnXSA9ICdQcmludCB0aGlzIHBhZ2UnOwokbGFuZ1sncHJpbnRfcGFnZSddID0gJ1ByaW50JzsKJGxhbmdbJ3Byb2R1Y3Rzb2xkb3V0J10gPSAnU29sZCBvdXQnOwokbGFuZ1sncHJvZHVjdHNyZWluZGV4ZWQnXSA9ICdQcm9kdWN0cyBoYXZlIGJlZW4gcmVpbmRleGVkIGZvciB0aGUgU2VhcmNoIG1vZHVsZSc7CiRsYW5nWydwcm9kdWN0dGh1bWJuYWlsc3JlYnVpbGQnXSA9ICdUaHVtYm5haWxzIG9mIHByb2R1Y3RzIGhhdmUgYmVlbiByZWJ1aWxkJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ29mJzsKJGxhbmdbJ3Byb21wdF9wYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwcm9wZXJ0aWVzX3VwZGF0ZWQnXSA9ICdQcm9wZXJ0aWVzIGhhdmUgYmVlbiB1cGRhdGVkJzsKJGxhbmdbJ3JlYnVpbGRwcm9kdWN0dGh1bWJuYWlscyddID0gJ1JlYnVpbGQnOwokbGFuZ1snc2VhcmNocmVpbmRleCddID0gJ1JlaW5kZXggZm9yIFNlYXJjaCc7CiRsYW5nWydTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeSddID0gJ1Nob3AgTWFkZSBTaW1wbGU6IE1haW50YWluIENhdGVnb3JpZXMnOwokbGFuZ1snU2hvcE1TX01haW50YWluUHJvZHVjdHMnXSA9ICdTaG9wIE1hZGUgU2ltcGxlOiBNYWludGFpbiBQcm9kdWN0cyc7CiRsYW5nWydTaG9wTVNfTWFpbnRhaW5TS1VzJ10gPSAnU2hvcCBNYWRlIFNpbXBsZTogTWFpbnRhaW4gU3RvY2sgS2VlcGluZyBVbml0cyc7CiRsYW5nWydTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnXSA9ICdTaG9wIE1hZGUgU2ltcGxlOiBBbGwgcGVybWlzc2lvbnMnOwokbGFuZ1snc2t1ZGVsZXRlZCddID0gJ1N0b2NrIGtlZXBpbmcgdW5pdCAlcyBkZWxldGVkJzsKJGxhbmdbJ3NrdWludXNlJ10gPSAnQ2FuXCd0IGRlbGV0ZSwgc3RvY2sga2VlcGluZyB1bml0IGlzLCBhdCBsZWFzdCwgaW4gdXNlIGluIHByb2R1Y3Q6ICVzJzsKJGxhbmdbJ3RlbXBsYXRlc3VwZGF0ZWQnXSA9ICdUZW1wbGF0ZXMgaGF2ZSBiZWVuIHVwZGF0ZWQnOwokbGFuZ1sndGV4dF9hY3RpdmUnXSA9ICdTZXQgQWN0aXZlJzsKJGxhbmdbJ3RleHRfYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ3RleHRfY2FsY3VsYXRpb24nXSA9ICdVc2UgY2FsY3VsYXRpb24nOwokbGFuZ1sndGV4dF9jYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ3RleHRfZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ3RleHRfZWRpdCddID0gJ0VkaXQnOwokbGFuZ1sndGV4dF9pbmFjdGl2ZSddID0gJ1NldCBJbmFjdGl2ZSc7CiRsYW5nWyd0ZXh0X25vY2FsY3VsYXRpb24nXSA9ICdKdXN0IHNob3cgdGhlIGF0dHJpYnV0ZXMgbmFtZSc7CiRsYW5nWyd0ZXh0X3Byb2R1Y3QnXSA9ICdQcm9kdWN0JzsKJGxhbmdbJ3RleHRfc2t1J10gPSAnU3RvY2sgS2VlcGluZyBVbml0JzsKJGxhbmdbJ3RleHRtb3JlJ10gPSAnIC4uLic7CiRsYW5nWyd0ZXh0cHJvZHVjdGNvdW50J10gPSAnVG90YWwgJXMgcHJvZHVjdChzKSBmb3VuZDonOwokbGFuZ1sndG9vbHRpcF9tYXhhdHRyaWJ1dGVzJ10gPSAnVGhpcyBmaWVsZCBhbGxvd3MgeW91IHRvIGhhdmUgdGhlIHZpc2l0b3IgdG8gc2VsZWN0IHVwIHRvIGdpdmVuIG51bWJlciBvZiBhdHRyaWJ1dGVzLiAKQmxhbmsgb3IgemVybyBtZWFucyBubyBsaW1pdC4nOwokbGFuZ1sndG9vbHRpcF9xdWFudGl0eV9vbnN0b2NrJ10gPSAnRW50ZXIgaGVyZSB0aGUgcXVhbnRpdHkgb2Ygc3RvY2sgdGhhdCB5b3UgaGF2ZS4nOwokbGFuZ1sndW5rbm93bl9kaXNwbGF5J10gPSAnUGFyYW1ldGVyIFwnZGlzcGxheVwnIG5vdCBkZWZpbmVkIGluIGFjdGlvbi5kZWZhdWx0LnBocCc7CgovLyBBZG1pbgokbGFuZ1snaGVscGNhdG5hbWUnXSA9ICdOYW1lIG9mIGNhdGVnb3J5LiBNdXN0IGV4YWN0bHkgbWF0Y2guIElmIGxlZnQgYmxhbmssIHRoZSBwcm9kdWN0cyBmcm9tIHRoZSByb290IGNhdGVnb3J5IHdpbGwgYmUgc2hvd24uIApUaGlzIHBhcmFtZXRlciBpcyBvbmx5IHVzZWQgaWYgdGhlIHBhcmFtZXRlciBkaXNwbGF5IGNvbnRhaW5zIHByb2R1Y3RsaXN0IChzZWUgZXhhbXBsZSkuJzsKJGxhbmdbJ2hlbHBkaXNwbGF5J10gPSAnU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGRpc3BsYXkgeW91IHdhbnQgdG8gc2hvdy4gVGhlcmUgYXJlIGN1cnJlbnRseSB0d28gYXZhaWxhYmxlOjx1bD4KCTxsaT5jYXRlZ29yeWxpc3QgKGRlZmF1bHQpIC0gc2hvd3MgYSBsaXN0IG9mIHRoZSBjYXRlZ29yaWVzIGFuZCB0aGUgbnVtYmVyIG9mIHByb2R1Y3RzIHdpdGhpbiBjYXRlZ29yeSAob25lIGxldmVsIG9ubHkhKTs8L2xpPgoJPGxpPmNhdGxpc3QgLSBzaG93cyBsaXN0IG9mIGNhdGVnb3JpZXMgd2l0aCBudW1iZXIgb2YgcHJvZHVjdHMuIFVzZSB0aGlzIGlmIG11bHRpcGxlIGxldmVscyBvZiBjYXRlZ29yaWVzIGFyZSB1c2VkOzwvbGk+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+RmV0Y2hSb3coKSApIHsKCQkJLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGRlc2NyaXB0aW9uIGRvZXNuJ3Qgc3BhbiBtdWx0aXBsZSBsaW5lcwoJCQkkcm93WydkZXNjcmlwdGlvbiddID0gc3RyaXBfdGFncygkcm93WydkZXNjcmlwdGlvbiddKTsKCQkJJHJlc3VsdFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7CQoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBFbmFibGVDYXRlZ29yeSgpCgkgICBUaGlzIGZ1bmN0aW9uIHdpbGwgc2F2ZSBhIHJvdyB3aXRoIHBhc3NlZCBjYXRlZ29yeSBpbmZvcm1hdGlvbiAKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIENyZWF0ZSgmJGNhdGVnb3J5KSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcyhwYXJlbnRfaWQsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmUsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24pIAoJCSAgICAgICAgVkFMVUVTKD8sPyw/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/KSc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGF0dHJpYnV0ZVsncHJvZHVjdF9pZCddLAoJCQkkYXR0cmlidXRlWyduYW1lJ10sICRhdHRyaWJ1dGVbJ2FkZXNjcmlwdGlvbiddLCAkYXR0cmlidXRlWydtaW5hbGxvd2VkJ10sCgkJCSRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10sICRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0bWVudCddLAoJCQkkYXR0cmlidXRlWydkaXNwbGF5b25seSddLCAkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10sICRhdHRyaWJ1dGVbJ2FjdGl2ZSddICAgCgkJCSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCS8vIERlbGV0ZSBwcm9kdWN0IGF0dHJpYnV0ZSBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gRGVsZXRlQXR0cmlidXRlKCRwYXJhbXMpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmFtc1snYXR0cmlidXRlX2lkJ10gKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLy8gU2F2ZSBjaGFuZ2VkIHByb2R1Y3QgYXR0cmlidXRlIGluZm9ybWF0aW9uCglmdW5jdGlvbiBVcGRhdGVBdHRyaWJ1dGUoJHBhcmFtcykgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddID0gc3RydG91cHBlcigkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10pOwoJCX0KCQkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMgU0VUIG5hbWUgPSA/LCAKCQkJZGVzY3JpcHRpb24gPSA/LCBtaW5hbGxvd2VkID0gPywgbWF4YWxsb3dlZCA9ID8sIHByaWNlYWRqdXN0dHlwZSA9ID8sCgkJCXByaWNlYWRqdXN0bWVudCA9ID8sIGRpc3BsYXlvbmx5ID0gPywgaXRlbW51bWJlciA9ID8sIGFjdGl2ZSA9ID8gCQkKCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmFtc1snbmFtZSddLCAkcGFyYW1zWydkZXNjcmlwdGlvbiddLAoJCQkkcGFyYW1zWydtaW5hbGxvd2VkJ10sICRwYXJhbXNbJ21heGFsbG93ZWQnXSwgJHBhcmFtc1sncHJpY2VhZGp1c3R0eXBlJ10sIAoJCQkkcGFyYW1zWydwcmljZWFkanVzdG1lbnQnXSwgJHBhcmFtc1snZGlzcGxheW9ubHknXSwgJHBhcmFtc1snaXRlbW51bWJlciddLAoJCQkkcGFyYW1zWydhY3RpdmUnXSwgCgkJCSRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgkKCS8vIEltYWdlcyByZWxhdGVkIGZ1bmN0aW9ucwkKCS8vIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGEgcHJvZHVjdCBpbWFnZQoJZnVuY3Rpb24gR2V0SW1hZ2UoJHByb2R1Y3RfaW1hZ2VzX2lkKSB7CgkJJGRiID0gY21zbXMoKS0+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+TGFuZygnU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSk7CgkJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpOwoJCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblNLVXMnKSk7CgkJLy8gRGVmYXVsdCBsYW5ndWFnZSBmb3IgdGhlIHNob3Agd2FzIG5vdCB1c2VkLCBzbyByZW1vdmUgaXQgZHVyaW5nIHRoaXMgbWFqb3IgcmVsZWFzZQoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdkZWZhdWx0X2xhbmd1YWdlJyk7CgoJCS8vIE1ham9yIHN0ZXBzIHRha2VuIGhlcmUsIHNpbmNlIGV4dGVuc2lvbiB0byBhdHRyaWJ1dGVzIGlzIGh1Z2UuCiAgCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjAnOwoKCWNhc2UgJzAuMy4wJzoKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuMSc7CgoJY2FzZSAnMC4zLjEnOgogIAkkY3VycmVudF92ZXJzaW9uID0gJzAuMy4yJzsKCn0KCi8vIExvZyB0aGUgdXBncmFkZSBpbiB0aGUgYWRtaW4gYXVkaXQgdHJhaWwKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/ShopMadeSimple.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmluY2x1ZGVfb25jZShkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidsaWJyYXJ5Jy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjYXRlZ29yaWVzLmFwaS5waHAnKTsKaW5jbHVkZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2xpYnJhcnknLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3Byb2R1Y3RzLmFwaS5waHAnKTsKCmNsYXNzIFNob3BNYWRlU2ltcGxlIGV4dGVuZHMgQ01TTW9kdWxlIHsKCQoJdmFyICRjYXRlZ29yaWVzOwoJdmFyICRwcm9kdWN0czsKCQoJZnVuY3Rpb24gU2hvcE1hZGVTaW1wbGUoKSB7CiAgICAJcGFyZW50OjpDTVNNb2R1bGUoKTsKICAgIAkkdGhpcy0+Y2F0ZWdvcmllcyA9IG5ldyBDYXRlZ29yaWVzKCR0aGlzKTsKICAgIAkkdGhpcy0+cHJvZHVjdHMgPSBuZXcgU01TUHJvZHVjdHMoJHRoaXMpOwoJfQoJZnVuY3Rpb24gR2V0TmFtZSgpIHsKCQlyZXR1cm4gJ1Nob3BNYWRlU2ltcGxlJzsKCX0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwoJfQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsKCQlyZXR1cm4gJzAuMy4yJzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvcigpIHsKCQlyZXR1cm4gJ0R1a2V0b3duJzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgewoJCS8vIFRvIHJlZHVjZSBzcGFtIHRoaXMgZW1haWwgZmllbGQgbGVmdCBibGFuawoJCXJldHVybiAnJzsKCX0KCWZ1bmN0aW9uIEdldEhlbHAoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7Cgl9CglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQl7CgkJcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NoYW5nZWxvZy5pbmMnKTsKCX0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgewoJCXJldHVybiB0cnVlOwoJfQoJZnVuY3Rpb24gSGFzQWRtaW4oKQl7CgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7CiAgICBnbG9iYWwgJENNU19WRVJTSU9OOwogICAgaWYoIHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuOCcsJzwnKSApIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgICByZXR1cm4gJ2Vjb21tZXJjZSc7Cgl9CglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5fZGVzY3JpcHRpb24nKTsKCX0KICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IE1vZHVsZXMnKSB8fAoJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpCgkJCSkgewoJCQkJcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7Cgl9CQoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7CgkJcmV0dXJuICcxLjguMSc7Cgl9CglmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpIHsKCQlyZXR1cm4gJzEuOS41JzsKCX0KCQoJZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsKCQkjJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bc1NdaG9wW21NXWFkZVtzU11pbXBsZVwvKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZmVfY2F0ZWdvcnlfbGlzdCcpKTsKCQkvLyR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWhvcFttTV1hZGVbc1NdaW1wbGVcLyg/UDxwcm9kdWN0X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2ZlX3Byb2R1Y3RfZGV0YWlsJykpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWhvcFttTV1hZGVbc1NdaW1wbGVcL2NhdFwvKD9QPGNhdGVnb3J5X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2ZlX3Byb2R1Y3RfbGlzdCcpKTsKCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tzU11ob3BbbU1dYWRlW3NTXWltcGxlXC9wcm9kXC8oP1A8Y2F0ZWdvcnlfaWQ+WzAtOV0rKVwvKD9QPHByb2R1Y3RfaWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsYXJyYXkoJ2FjdGlvbic9PidmZV9wcm9kdWN0X2RldGFpbCcpKTsKCQkjIFRoZSB0b3AgbW9zdCBwYXJhbWV0ZXIgd2lsbCBiZSBzaG93biBpbiB0aGUgYm90dG9tIGFuZCB2aWNlIHZlcnNhCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3RhcnQnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBzdGFydCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYWdlbnVtYmVyJywgJycsICR0aGlzLT5MYW5nKCdoZWxwcGFnZW51bWJlcicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwcm9kcGFnZWxpbWl0JywgJycsICR0aGlzLT5MYW5nKCdoZWxwcHJvZHBhZ2VsaW1pdCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYXJlbnRjYXRlZ29yeScsICcnLCAkdGhpcy0+TGFuZygnaGVscHBhcmVudGNhdGVnb3J5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2Rpc3BsYXknLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBkaXNwbGF5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdG5hbWUnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBjYXRuYW1lJykpOwoJCQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdGFydCcsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZW51bWJlcicsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJvZHBhZ2VsaW1pdCcsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFyZW50Y2F0ZWdvcnknLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Rpc3BsYXknLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhdG5hbWUnLENMRUFOX1NUUklORyk7CgoJfQoKCWZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24gKCAkZXZlbnRuYW1lICkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKCX0KCglmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKCX0KCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtZXNzYWdlX3Bvc3RpbnN0YWxsJyk7Cgl9CglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21lc3NhZ2VfcG9zdHVuaW5zdGFsbCcpOwoJfQoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21lc3NhZ2VfY29uZmlybXVuaW5zdGFsbCcpOwoJfQoKCS8vIFByZXBhcmUgYSBsaXN0IG9mIHRoZSBwb3NzaWJsZSBwcmljZSBhZGp1c3RtZW50IHR5cGVzCglmdW5jdGlvbiBCdWlsZExpc3RPZkFkanVzdFR5cGVzKCkgewoJCS8qCVAgLSBBZGRzIHRoZSBhZGp1c3RtZW50IHRvIHRoZSBwcm9kdWN0IHByaWNlCgkJCQlNIC0gU3VidHJhY3RzIHRoZSBhZGp1c3RtZW50IGZyb20gdGhlIHByb2R1Y3QgcHJpY2UKCQkJCVQgLSBNdWx0aXBsaWVzIHRoZSBwcm9kdWN0IHByaWNlIHRpbWUgdGhlIGFkanVzdG1lbnQgZmFjdG9yIChtaWdodCBiZSBtaW51cyBmYWN0b3IhKQoJCQkJViAtIE92ZXJyaWRlcyB0aGUgcHJvZHVjdCBwcmljZSB3aXRoIGdpdmVuIGZhY3RvcgoJCSovCgkJJGFkanVzdHR5cGVkcm9wZG93biA9IGFycmF5KCk7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZXBsdXMnKV0gPSAnUCc7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZW1pbicpXSA9ICdNJzsKCQkkYWRqdXN0dHlwZWRyb3Bkb3duWyR0aGlzLT5MYW5nKCdhZGp1c3R0eXBldGltZXMnKV0gPSAnVCc7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZXZhbHVlJyldID0gJ1YnOwoKCQlyZXR1cm4gJGFkanVzdHR5cGVkcm9wZG93bjsKCX0KCglmdW5jdGlvbiBCdWlsZExpc3RJbnZlbnRvcnlUeXBlcygpIHsKCQkkaW52ZW50b3J5dHlwZXMgPSBhcnJheSgpOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9ub25lJyldID0gJ25vbmUnOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9wcm9kJyldID0gJ3Byb2QnOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9hdHRyJyldID0gJ2F0dHInOwoKCQlyZXR1cm4gJGludmVudG9yeXR5cGVzOwoJfQoKCWZ1bmN0aW9uIEJ1aWxkTGlzdFNLVSgpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gJ1NFTEVDVCBza3UsIGRlc2NyaXB0aW9uIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzCgkJICAgICAgICBPUkRFUiBCWSBza3UnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCApOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRza3VfbGlzdCA9IGFycmF5KCk7CgkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCSRza3VfbGlzdFskcm93Wydza3UnXS4nIC0gJy4kcm93WydkZXNjcmlwdGlvbiddXSA9ICRyb3dbJ3NrdSddOwoJCX0KCQlyZXR1cm4gJHNrdV9saXN0OwkKCX0KCQoJZnVuY3Rpb24gQnVpbGRUaHVtYiAoJGltYWdlLCAkc291cmNlZGlyLCAkdGh1bWJ3aWR0aCA9IDAsICAkdGh1bWJoZWlnaHQ9MCkgewoKCQlpbmlfc2V0KCJtZW1vcnlfbGltaXQiLCIzME0iKTsKCQkkaW1nc2l6ZSA9IGdldGltYWdlc2l6ZSgkc291cmNlZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGltYWdlKTsKCQlpZiAoISRpbWdzaXplKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmICgkdGh1bWJ3aWR0aCA9PSAwICYmICR0aHVtYmhlaWdodCA9PSAwKSB7CgkJCSR0YXJnZXRzaXplWzBdID0gJGltZ3NpemVbMF07CS8vIFRhcmdldCBIZWlnaHQKCQkJJHRhcmdldHNpemVbMV0gPSAkaW1nc2l6ZVsxXTsJLy8gVGFyZ2V0IFdpZHRoCgkJfSBlbHNlaWYgKCR0aHVtYndpZHRoID09IDAgJiYgJHRodW1iaGVpZ2h0ICE9IDApIAl7CgkJCSR0YXJnZXRzaXplWzBdID0gcm91bmQoJHRodW1iaGVpZ2h0KigkaW1nc2l6ZVswXS8kaW1nc2l6ZVsxXSkpOyAKCQkJJHRhcmdldHNpemVbMV0gPSAkdGh1bWJoZWlnaHQ7IAoJCX0gZWxzZWlmICgkdGh1bWJ3aWR0aCAhPSAwICYmICR0aHVtYmhlaWdodCA9PSAwKSAJewoJCQkkdGFyZ2V0c2l6ZVswXSA9ICR0aHVtYndpZHRoOyAKCQkJJHRhcmdldHNpemVbMV0gPSByb3VuZCgkdGh1bWJ3aWR0aCooJGltZ3NpemVbMF0vJGltZ3NpemVbMV0pKTsgCgkJfQoJCWVsc2UgewoJCQlpZiAocm91bmQoJHRodW1id2lkdGgqKCRpbWdzaXplWzBdLyRpbWdzaXplWzFdKSkgPiAkdGh1bWJoZWlnaHQpCgkJCQl7CgkJCQkJJHRhcmdldHNpemVbMF0gPSAkdGh1bWJoZWlnaHQ7CgkJCQkJJHRhcmdldHNpemVbMV0gPSByb3VuZCgkdGh1bWJoZWlnaHQqKCRpbWdzaXplWzFdLyRpbWdzaXplWzBdKSk7IAoJCQkJfSBlbHNlIHsKCQkJCQkkdGFyZ2V0c2l6ZVswXSA9IHJvdW5kKCR0aHVtYndpZHRoKigkaW1nc2l6ZVswXS8kaW1nc2l6ZVsxXSkpOyAKCQkJCQkkdGFyZ2V0c2l6ZVsxXSA9ICR0aHVtYndpZHRoOwoJCQkJfQoJCX0KCQkkaW1hZ2V0eXBlID0gJGltZ3NpemVbMl07CgkJLy8gVHlwZSBvZiBpbWFnZSBjYW4gaGF2ZSB0aGUgZm9sbG93aW5nIHZhbHVlcyAKCQkvLyAxID0gR0lGIDIgPSBKUEcgMyA9IFBORwoJCS8vIEZvciBvdGhlciB0eXBlcyBzZWUgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5leGlmLWltYWdldHlwZS5waHAjCgoJCSRwcm9wZXJ0aWVzID0gYXJyYXkgKCR0YXJnZXRzaXplWzBdLCAkdGFyZ2V0c2l6ZVsxXSwgJGltZ3NpemVbMF0sICRpbWdzaXplWzFdKTsKCgkJc3dpdGNoKCRpbWFnZXR5cGUpIHsKCQkJCWNhc2UgMToKCQkJCQkkc3JjaW1nID0gaW1hZ2VjcmVhdGVmcm9tZ2lmKCRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2UpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAyOgoJCQkJCSRzcmNpbWcgPSBpbWFnZWNyZWF0ZWZyb21qcGVnKCRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2UpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAzOgoJCQkJCSRzcmNpbWcgPSBpbWFnZWNyZWF0ZWZyb21wbmcoJHNvdXJjZWRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRpbWFnZSk7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSRkZXN0aW5hdGlvbmltZyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRwcm9wZXJ0aWVzWzBdLCAkcHJvcGVydGllc1sxXSk7CQkJCgoJCWlmICgKCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCRkZXN0aW5hdGlvbmltZywgJHNyY2ltZywgMCwgMCwgMCwgMCwgJHByb3BlcnRpZXNbMF0sICRwcm9wZXJ0aWVzWzFdLCAkcHJvcGVydGllc1syXSwgJHByb3BlcnRpZXNbM10pCgkJCSYmCgkJCWltYWdlanBlZygkZGVzdGluYXRpb25pbWcsICRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4ndG5fJy4kaW1hZ2UpCgkJKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCQoJZnVuY3Rpb24gQ2FsY3VsYXRlQXR0cmlidXRlUHJpY2UoJHByaWNlLCAkcHJpY2VhZGp1c3R0eXBlLCAkcHJpY2VhZGp1c3RtZW50KSB7CgkJc3dpdGNoICgkcHJpY2VhZGp1c3R0eXBlKSB7CgkJCWNhc2UgJ1AnOgoJCQkJJHByaWNlID0gJHByaWNlICsgJHByaWNlYWRqdXN0bWVudDsKCQkJCWJyZWFrOwoJCQljYXNlICdNJzoKCQkJCSRwcmljZSA9ICRwcmljZSAtICRwcmljZWFkanVzdG1lbnQ7CgkJCQlicmVhazsKCQkJY2FzZSAnVCc6CgkJCQkkcHJpY2UgPSAkcHJpY2UgKiAkcHJpY2VhZGp1c3RtZW50OwoJCQkJYnJlYWs7CgkJCWNhc2UgJ1YnOgoJCQkJJHByaWNlID0gJHByaWNlYWRqdXN0bWVudDsKCQkJCWJyZWFrOwoJCX0KCQlyZXR1cm4gJHByaWNlOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJIENoZWNrSXRlbU9uU3RvY2soKQoJCSBVc2luZyB0aGlzIGZ1bmN0aW9uIGEgY2hlY2sgaXMgZG9uZSBpZiBpbnZlbnRvcnkgaXMgYXZhaWxhYmxlCgkJIHVzZTogaWYgKCR0aGlzLT5DaGVja0l0ZW1PblN0b2NrKCRhdHRyaWJ1dGVbJ2l0ZW1udW1iZXInXSwgJ0FUVFInKSkgewoJICAgICAgICB9CgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBDaGVja0l0ZW1PblN0b2NrKCRpdGVtbnVtYmVyLCAkaXRlbXR5cGUpCXsKCS8vIEZ1bmN0aW9uIG5vdCBpbiB1c2UuIFdpbGwgYmUgdXNlZCBpZiBpbnZlbnRvcnkgZmlsZSB3aWxsIGJlIGluY2x1ZGVkCgkJc3dpdGNoICgkaXRlbXR5cGUpIHsKCQkJY2FzZSAnQVRUUic6CgkJCQlicmVhazsKCQkJY2FzZSAnUFJEJzoKCQkJCWJyZWFrOwoJCX0gCgkJcmV0dXJuIHRydWU7Cgl9CgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgRGlzcGxheUVycm9yUGFnZSgpCgkgICBUaGlzIGlzIGEgc2ltcGxlIGZ1bmN0aW9uIGZvciBnZW5lcmF0aW5nIGVycm9yIHBhZ2VzLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKCXsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CgoJICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQoJICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7Cgl9CgkKCS8vIENvbXBsZXRlbHkgZXhwYW5kIGNhdGVnb3J5IHRyZWUKCWZ1bmN0aW9uIEZpbGxDYXRMaXN0KCRwYXJlbnQsICRsZXZlbCwgJHJldHVybmlkKSAKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRvbGRfZmV0Y2htb2RlID0gJGRiLT5TZXRGZXRjaE1vZGUoJ0FET0RCX0ZFVENIX05VTScpOwoJCQoJCSRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQsIG5hbWUsIHBhcmVudF9pZCAKCQkJRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzIAoJCQlXSEVSRSBjYXRlZ29yeV9pZDw+MCBBTkQgcGFyZW50X2lkID0gPyBBTkQgYWN0aXZlID0gMSAKCQkJT1JERVIgQlkgcG9zaXRpb24sIG5hbWUiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSgkcGFyZW50KSApOwoJCSRhID0gYXJyYXkoKTsKCQlpZiAoISRkYnJlc3VsdCkgewoJCQllY2hvICdFcnJvciBmb3VuZDogcmVzdWx0ID0gJy4kZGItPkVycm9yTXNnKCkuJzxici8+Jm5ic3A7Jm5ic3A7Jy4kZGItPnNxbC4nPGJyLz4nOyAjZGllKCk7CgkJfQoJCWVsc2UgewoJCQkkcm93ID0gYXJyYXkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgkJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewoJCQkJLy8gQ2hlY2sgdGhlIG51bWJlciBvZiBhY3RpdmUgcHJvZHVjdHMgY29ubmVjdGVkIHRvIHRoaXMgY2F0ZWdvcnkKCQkJCSRxdWVyeTIgPSAnU0VMRUNUIGNvdW50KCopIGFzIG51bV9wcm9kdWN0cyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgcGMsCgkJCQkJJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgcCBXSEVSRSBjYXRlZ29yeV9pZD0/IEFORCBwYy5wcm9kdWN0X2lkID0gcC5wcm9kdWN0X2lkIEFORCAKCQkJCQlwLmFjdGl2ZSA9IDEnOwoJCQkJJGRicmVzdWx0MiA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5MiwgYXJyYXkoICRyb3dbMF0gKSk7CgkJCQkkcHJvZHJvdyA9ICRkYnJlc3VsdDItPkZldGNoUm93KCk7CgkJCQkkcm93WzRdID0gJHByb2Ryb3dbJ251bV9wcm9kdWN0cyddOwoKCSAgICAgICRkZXN0cGFnZSA9ICRkZXRhaWxwYWdlIT0nJz8kZGV0YWlscGFnZTokcmV0dXJuaWQ7CgkJCQkkc2VuZHRvZGV0YWlsID0gYXJyYXkoJ2NhdGVnb3J5X2lkJz0+JHJvd1swXSwJJ2RldGFpbHBhZ2UnPT4kZGVzdHBhZ2UpOwoJCQkJJHByZXR0eXVybCA9ICdTaG9wTWFkZVNpbXBsZS9jYXQvJy4kcm93WzBdLicvJy4kZGVzdHBhZ2U7CgkJCQlpZiAoaXNzZXQoJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXSkpIHsKCQkJCQkkcHJldHR5dXJsIC49ICcvZCwnIC4gJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXTsKCQkJCX0KCQkJCWlmICgkcm93WzRdICE9IDApIHsKCQkJCQkkcm93WzFdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZmVfcHJvZHVjdF9saXN0JywgJGRlc3RwYWdlLCAkcm93WzFdLAoJCQkJCQkkc2VuZHRvZGV0YWlsLCcnLCBmYWxzZSwgZmFsc2UsICcnLCB0cnVlLCAkcHJldHR5dXJsKTsKCQkJCX0gCgkJCQkkcm93WzNdID0gJGxldmVsOwoJCgkJCQkkYVtdID0gJHJvdzsKCQkJCQoJCQkJLy8gUHJvY2VzcyBzdWJjYXRlZ29yaWVzCgkJCQkkYiA9ICR0aGlzLT5GaWxsQ2F0TGlzdCgkcm93WzBdLCAkbGV2ZWwrMSwgJHJldHVybmlkKTsKCQkJCS8vIEFkZCAkYltdIHRvIHRoZSBlbmQgb2YgJGFbXQoJCQkJZm9yICgkaj0wOyAkajxjb3VudCgkYik7ICRqKyspIHsKCQkJCQkkYVtdID0gJGJbJGpdOwoJCQkJfQoJCQl9CQkKCSAgfQoJCgkJJGRiLT5TZXRGZXRjaE1vZGUoJG9sZF9mZXRjaG1vZGUpOwoJCXJldHVybiAkYTsKCQkKCX0KCglmdW5jdGlvbiBGb3JtYXRQcmljZSgkcHJpY2UpIHsKCQkkZGVjaW1hbHBvc2l0aW9ucyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFscG9zaXRpb25zcHJpY2UnLCAyKTsKCQkkZGVjaW1hbHNlcGVyYXRvciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFsc2VwYXJhdG9ycHJpY2UnLCAnLicpOwoJCSR0aG91c2FuZHNlcGVyYXRvciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aG91c2FuZHNlcGFyYXRvcnByaWNlJywgJycpOwoJCXJldHVybiBudW1iZXJfZm9ybWF0KCRwcmljZSwgJGRlY2ltYWxwb3NpdGlvbnMsICRkZWNpbWFsc2VwZXJhdG9yLCAkdGhvdXNhbmRzZXBlcmF0b3IpOwoJfQkKCglmdW5jdGlvbiBGb3JtYXRXZWlnaHQoJHdlaWdodCkgewoJCSRkZWNpbWFscG9zaXRpb25zID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlY2ltYWxwb3NpdGlvbnN3ZWlnaHQnLCAzKTsKCQkkZGVjaW1hbHNlcGVyYXRvciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFsc2VwYXJhdG9yd2VpZ2h0JywgJy4nKTsKCQkkdGhvdXNhbmRzZXBlcmF0b3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGhvdXNhbmRzZXBhcmF0b3J3ZWlnaHQnLCAnJyk7CgkJcmV0dXJuIG51bWJlcl9mb3JtYXQoJHdlaWdodCwgJGRlY2ltYWxwb3NpdGlvbnMsICRkZWNpbWFsc2VwZXJhdG9yLCAkdGhvdXNhbmRzZXBlcmF0b3IpOwoJfQkKCglmdW5jdGlvbiBJbWFnZUFkZFRvQ2FydFNvdXJjZSAoKSB7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCS8vJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCQkvLyBQcmVwYXJlIGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkKCQlyZXR1cm4gJGNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLidtb2R1bGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLgoJCQkJJHRoaXMtPkdldE5hbWUoKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidpbWFnZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2FkZHRvY2FydC5naWYnOwoKCX0KCQoJZnVuY3Rpb24gUmVidWlsZFRodW1ibmFpbHMoJHNvdXJjZWRpciwgJHR5cGU9J3Byb2R1Y3RzJykgewoJCSRpbWFnZXMgPSBhcnJheSgpOwoJCS8vIFNldCBwYXR0ZXJuIAoJCSRwYXR0ZXJuID0gInRuXyoiOyAKCQkvLyBDaGFuZ2UgdG8gbmFtZWQgZGlyZWN0b3J5IAoJCWNoZGlyKCRzb3VyY2VkaXIpOyAKCQkvLyBGaW5kIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4gCgkJJGltYWdlcyA9IGdsb2IoJHBhdHRlcm4pOyAKCQkvLyBJdGVyYXRlIG92ZXIgZmlsZXMgYXJyYXkgYW5kIGRlbGV0ZSBleGlzdGluZyB0aHVtYm5haWxzCgkJZm9yZWFjaCAoJGltYWdlcyBhcyAkZikgeyAKCQkJdW5saW5rKCRmKTsKCQl9IAoJCQoJCS8vIFByZXBhcmUgYW4gYXJyYXkgd2l0aCB0aGUgYXZhaWxhYmxlIGltYWdlcwoJCSRwYXR0ZXJuID0gIioiOyAKCQkkaW1hZ2VzID0gZ2xvYigkcGF0dGVybik7IAoJCSR0aHVtYndpZHRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rud2lkdGhfcHJvZHVjdCcsICcxMDAnKTsKCQkkdGh1bWJoZWlnaHQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndG5oZWlnaHRfcHJvZHVjdCcsICcxMDAnKTsKCQkvLyBVc2UgbmV4dCBpbWFnZSBmb3VuZCBpbiBsaXN0IG9mIGF2YWlsYWJsZSBpbWFnZXMgYW5kIHByZXBhcmUgdGh1bWJuYWlsCgkJZm9yZWFjaCAoJGltYWdlcyBhcyAkZikgeyAKCQkJJHRoaXMtPkJ1aWxkVGh1bWIgKCRmLCAkc291cmNlZGlyLCAkdGh1bWJ3aWR0aCwgJHRodW1iaGVpZ2h0KTsKCQl9CgoJCXJldHVybjsKCX0KCgkvLyBGdW5jdGlvbiB0aGF0IGlzIHVzZWQgYnkgdGhlIHNlYXJjaCBtb2R1bGUKCWZ1bmN0aW9uIFNlYXJjaFJlc3VsdFdpdGhQYXJhbXMoICRyZXR1cm5pZCwgJHByb2R1Y3RfaWQsICRhdHRyPScnLCAkcGFybXMpICAgewoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCWlmICgkYXR0ciA9PSAncHJvZHVjdCcpIHsKCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJJHEgPSAiU0VMRUNUIG5hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cyBXSEVSRSBwcm9kdWN0X2lkID0gPyI7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcHJvZHVjdF9pZCApICk7CgkJCWlmICgkZGJyZXN1bHQpIHsKCQkJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7IAoJCQkJLy8gMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgoJCQkJJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsKCgkJCQkvLyAxIHBvc2l0aW9uIGlzIHRoZSB0aXRsZQoJCQkJJHJlc3VsdFsxXSA9ICRyb3dbJ25hbWUnXTsKCgoJCQkJLy8gUGFnZSB0byB1c2UgZm9yIHRoZSBuZXdzLWFydGljbGUtZGV0YWlsczoKCQkJCWlmIChpc3NldCgkcGFybXNbJ2RldGFpbHBhZ2UnXSkpIHsgICAgCgkJCQkJJHBhZ2VhbGlhcyA9ICRwYXJtc1snZGV0YWlscGFnZSddOwoJCQkJfSAgCgkJCQllbHNlICRwYWdlYWxpYXMgPSAnaG9tZSc7ICAKCQkJCSRwYWdlaW5mbyA9IFBhZ2VJbmZvT3BlcmF0aW9uczo6TG9hZFBhZ2VJbmZvQnlDb250ZW50QWxpYXMoJHBhZ2VhbGlhcyk7CgkJCQkkY29udGVudF9pZCA9ICRwYWdlaW5mby0+Y29udGVudF9pZDsKCQkJCSRwcmV0dHl1cmwgPSAnU2hvcE1hZGVTaW1wbGUnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHByb2R1Y3RfaWQuRElSRUNUT1JZX1NFUEFSQVRPUi4kY29udGVudF9pZDsKCgkJCQkvLyAyIHBvc2l0aW9uIGlzIHRoZSBVUkwgdG8gdGhlIHRpdGxlLiAKCQkJCSRyZXN1bHRbMl0gPSAkdGhpcy0+Q3JlYXRlTGluaygnY250bnQwMScsICdmZV9wcm9kdWN0X2RldGFpbCcsICRyZXR1cm5pZCwgJycsIAoJCQkJYXJyYXkoJ3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0X2lkKSwgJycsIHRydWUsIGZhbHNlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7CgkJCX0KCQl9CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgoJZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgpIHsKCQkkc2VhcmNobW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CgkJaWYgKCRzZWFyY2htb2R1bGUgIT0gRkFMU0UpIHsKCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJLy8gRmlyc3QgcmVtb3ZlIGFsbCB0aGUgc2VhcmNoIGluZGV4IGVudHJpZXMKCQkJJHNlYXJjaG1vZHVsZS0+RGVsZXRlV29yZHMoJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpKTsKCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMKCQkJCVdIRVJFIGFjdGl2ZSA9IDEnOwoJCQkkZGJyZXN1bHQgPSAmJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCS8vIEFkZCBpbmRleCBlbnRyaWVzIGZvciB0aGUgYWN0aXZlIHByb2R1Y3RzCgkJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJCSRzZWFyY2htb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRyb3dbJ3Byb2R1Y3RfaWQnXSwgJ3Byb2R1Y3QnLCAkcm93WyduYW1lJ10gLiAnICcgLiAkcm93WydkZXNjcmlwdGlvbiddKTsKCQkJfQoJCQkvLyBBdHRyaWJ1dGVzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHNlYXJjaCBzaW5jZSB0aGV5IGFyZSBvbmx5IGF2YWlsYWJsZQoJCQkvLyB2aWEgcHJvZHVjdHMgKHRoZXJlIGRvZXNuJ3QgZXhpc3QgYSBhdHRyaWJ1dGUgZGV0YWlsIHBhZ2UpCgkJfQoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJVGhpcyBmdW5jdGlvbiBhbGxvdyByZXRyaWV2YWwgZnJvbSBwcmVmZXJlbmNlcyBmcm9tIHRoaXMgbW9kdWxlCgkJd2hlbiBuZWVkZWQgaW4gYW5vdGhlciBtb2R1bGUKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8JCglmdW5jdGlvbiBHZXRTTVNQcmVmZXJlbmNlKCRwcmVmZXJlbmNlLCAkZGVmYXVsdD0nJykgewoJCXJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkcHJlZmVyZW5jZSwgJGRlZmF1bHQpOwoJfQp9Cgo/Pg==]]></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[e2lmICRtZXNzYWdlIT0nJ30NCgk8cD57JG1lc3NhZ2V9PC9wPg0Key9pZn0NCnskcHJlZmVyZW5jZXMuc3RhcnRmb3JtfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5hZG1pbl9uYW1lLmxhYmVsfTwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5hZG1pbl9uYW1lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWRtaW5fZW1haWwubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5hZG1pbl9lbWFpbC5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLnNob3BfbmFtZS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLnNob3BfbmFtZS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLnNob3BfcGhvbmUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zaG9wX3Bob25lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuc2hvcF9vbmxpbmUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zaG9wX29ubGluZS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLnByaWNlc2luY2x2YXQubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5wcmljZXNpbmNsdmF0LmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMud2VpZ2h0dW5pdG1lYXN1cmUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy53ZWlnaHR1bml0bWVhc3VyZS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLml0ZW1jYXBpdGFsb25seS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLml0ZW1jYXBpdGFsb25seS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmFsbG93ZG91YmxlaXRlbS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmFsbG93ZG91YmxlaXRlbS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfbWF4YXR0cmlidXRlcy5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfbWF4YXR0cmlidXRlcy5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfc2t1LmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuZGVmYXVsdF9za3UuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X2N1cnJlbmN5LmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuZGVmYXVsdF9jdXJyZW5jeS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfc3ltYm9sLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuZGVmYXVsdF9zeW1ib2wuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfY2F0ZWdvcnkubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfY2F0ZWdvcnkuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfcHJvZHVjdC5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmltYWdlcGF0aF9wcm9kdWN0LmlucHV0fSZuYnNwOw0KCQkJeyRwcmVmZXJlbmNlcy50bmhlaWdodF9wcm9kdWN0LmxhYmVsfTombmJzcDt7JHByZWZlcmVuY2VzLnRuaGVpZ2h0X3Byb2R1Y3QuaW5wdXR9Jm5ic3A7DQoJCQl7JHByZWZlcmVuY2VzLnRud2lkdGhfcHJvZHVjdC5sYWJlbH06Jm5ic3A7eyRwcmVmZXJlbmNlcy50bndpZHRoX3Byb2R1Y3QuaW5wdXR9DQoJCQkmbmJzcDt7JHByZWZlcmVuY2VzLnJlYnVpbGRwcm9kdWN0dGh1bWJuYWlsc308L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLnByb2R1Y3RwYWdlbGltaXQubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5wcm9kdWN0cGFnZWxpbWl0LmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuaW52ZW50b3J5dHlwZS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmludmVudG9yeXR5cGUuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLnN1Ym1pdH17JHByZWZlcmVuY2VzLnNlYXJjaHJlaW5kZXh9PC9wPg0KCTwvZGl2Pg0KeyRwcmVmZXJlbmNlcy5lbmRmb3JtfQ0K]]></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>
