<?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>ListIt2</name>
	<version>1.4</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVkX2J1dHRvbl9pZCIgdmFsdWU9IjdUS0dZUlkzU1JQRVkiPgo8aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lISI+CjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgo8L2Zvcm0+PC9kaXY+Cgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly8xMC4xMC4wLjEyL2Ntc21zLWRldi9jbXMxMTE2L21vZHVsZXMvTGlzdEl0Mi9mcmFtZXdvcmsvY3NzL2NvbG9yYm94LmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cDovLzEwLjEwLjAuMTIvY21zbXMtZGV2L2NtczExMTYvbW9kdWxlcy9MaXN0SXQyL2ZyYW1ld29yay9jc3MvYmFja2VuZC5jc3MiIHR5cGU9InRleHQvY3NzIiAvPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0iaHR0cDovLzEwLjEwLjAuMTIvY21zbXMtZGV2L2NtczExMTYvbW9kdWxlcy9MaXN0SXQyL2ZyYW1ld29yay9qcy9qcXVlcnkuY29sb3Jib3guanMiPjwvc2NyaXB0Pgo8c2NyaXB0PgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICBqUXVlcnkoJy5jYm94JykuY29sb3Jib3goewogICAgICAgIHJlbDonZ3JvdXAnLAogICAgICAgIGlmcmFtZTogdHJ1ZSwKICAgICAgICBpbm5lcldpZHRoOiA4MDAsCiAgICAgICAgaW5uZXJIZWlnaHQ6IDQ1MCwKICAgICAgICBvcGFjaXR5OiAwLjIKICAgIH0pOwp9KTsKPC9zY3JpcHQ+CjxkaXYgaWQ9InBhZ2VfdGFicyI+CiAgICA8ZGl2IGlkPSJnZW5lcmFsIj4KICAgICAgICBHZW5lcmFsCiAgICA8L2Rpdj4gICAgCgk8ZGl2IGlkPSJkdXBsaWNhdGluZyI+CgkJQ3JlYXRpbmcgSW5zdGFuY2VzCgk8L2Rpdj4KCTxkaXYgaWQ9ImZpZWxkIj4KCQlGaWVsZCBEZWZpbml0aW9ucwoJPC9kaXY+CQogICAgPGRpdiBpZD0idXBncmFkaW5nIj4KICAgICAgICBVcGdyYWRpbmcKICAgIDwvZGl2PiAKICAgIDxkaXYgaWQ9InNtYXJ0eV9wbHVnaW5zIj4KICAgICAgICBTbWFydHkgcGx1Z2lucwogICAgPC9kaXY+ICAgCQoJPGRpdiBpZD0iYWJvdXQiPgoJCUFib3V0Cgk8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+CiAgICA8ZGl2IGlkPSJnZW5lcmFsX2MiPgogICAgICAgIDxpbWcgc3JjPSJodHRwOi8vMTAuMTAuMC4xMi9jbXNtcy1kZXYvY21zMTExNi9tb2R1bGVzL0xpc3RJdDIvaW1hZ2VzL2xpc3RpdC1leHRlbmRlZC1sb2dvLmpwZyIgYWx0PSJMaXN0SXRFeHRlbmRlZCBMb2dvIiAvPgogICAgICAgIDxoMz5HZW5lcmFsIEluZm88L2gzPiAgICAgIAogICAgPHA+U2ltcGx5IHB1dCwgTGlzdEl0RXh0ZW5kZWQgYWxsb3dzIHlvdSB0byBjcmVhdGUgbGlzdHMgdGhhdCB5b3UgY2FuIGRpc3BsYXkgdGhyb3VnaG91dCB5b3VyIHdlYnNpdGUuIFlvdSBjb3VsZCBtYWtlIGEgc2ltcGxlIEZBUSBvciBUZXN0aW1vbmlhbHMgZmVhdHVyZSB3aXRoIHRoaXMgbW9kdWxlLiBUaGUgd2ViIGRldmVsb3BlciBkZWZpbmVzIGZpZWxkcyB0byBjb25zdHJhaW4gd2hhdCBkYXRhIHRoZSBjbGllbnQgY2FuIGVudGVyLiBBIG51bWJlciBvZiBmaWVsZCB0eXBlcyBjYW4gYmUgc3BlY2lmaWVkIC0gdGV4dCBpbnB1dCwgY2hlY2tib3gsIHRleHQgYXJlYSwgc2VsZWN0IGRhdGUsIHVwbG9hZCBmaWxlLCBzZWxlY3QgZmlsZSwgZHJvcGRvd24gLSBhbmQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgY2FuIGJlIHNldCBmb3IgZWFjaCB0eXBlLCBmb3IgZXhhbXBsZSwgaW5wdXQgZmllbGQgc2l6ZSwgbWF4IGxlbmd0aCwgV1lTSVdZRyBlZGl0b3IsIHBvc3NpYmxlIGRyb3AgZG93biB2YWx1ZXMsIHBvc3NpYmxlIGZpbGUgZXh0ZW5zaW9ucywgZGlyZWN0b3J5IHBhdGhzIGZvciBmaWxlIHNlbGVjdGlvbnMsIGRhdGUgZm9ybWF0cywgZXRjLi48L3A+CiAgICA8cD5BbiBpbXBvcnRhbnQgbm90ZSBvZiB3YXJuaW5nIC0gVGhpcyBpcyBub3QgYSBjb250ZW50IGNvbnN0cnVjdGlvbiBraXQsIHN1Y2ggYXMgaW4gRHJ1cGFsLiBJdCBpcyBtZWFudCBmb3Igc21hbGwgbGlzdGluZ3MsIG5vdCB0byBzdG9yZSB0aG91c2FuZHMgb2YgcmVjb3Jkcy4gVGhpcyBpcyBiZWNhdXNlIG9mIHRoZSBkYXRhYmFzZSBtb2RlbCB1c2VkIChFQVYpLiBBbHNvLCBlYWNoIGJpdCBvZiBkYXRhIHlvdSBlbnRlciBpcyBzdG9yZWQgYXMgVEVYVCBkYXRhIHR5cGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyB2YXJjaGFyLCBib29sZWFuLCB0aW1lc3RhbXAsIGV0Yy48L3A+CiAgICA8L2Rpdj4gICAgCgk8ZGl2IGlkPSJkdXBsaWNhdGluZ19jIj4KCQk8aDM+Q3JlYXRpbmcgTW9kdWxlIEluc3RhbmNlczwvaDM+CiAgICA8cD5UaGlzIG1vZHVsZSBpcyBhIENvbnRyb2wgUGFuZWwgZm9yIGNyZWF0aW5nIExpc3RJdEV4dGVuZGVkIE1vZHVsZSBJbnN0YW5jZXMuIFRvIGNyZWF0ZSBMaXN0SXRFeHRlbmRlZCBtb2R1bGUgSW5zdGFuY2UsIHNpbXBseSBnbyB0byAiSW5zdGFuY2VzIiB0YWIgYW5kIGNsaWNrIG9uICJDcmVhdGUgSW5zdGFuY2UiIGJ1dHRvbi48YnIgLz4KICAgIE1ha2Ugc3VyZSB5b3UgZm9sbG93IHRoZSBDTVNNUyBtb2R1bGUgbmFtaW5nIGNvbnZlbnRpb25zLCBhLXogd2l0aCBubyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIG9yIHNwYWNlcyB0byBiZSBzYWZlIDopPGJyIC8+CiAgICBBZnRlciB0aGUgbW9kdWxlIGhhcyBiZWVuIGNyZWF0ZWQgYSBuZXcgaW5zdGFuY2Ugd2lsbCBiZSBpbnN0YWxsZWQgYW5kIGxpc3RlZCBpbiBvcmlnaW5hbCBMaXN0SXRFeHRlbmRlZCBtb2R1bGUgdW5kZXIgIkluc3RhbmNlcyIgdGFiLjwvcD48YnIgLz4KICAgIDxwPllvdSBjYW4gYWx3YXlzIGNoYW5nZSB0aGUgbW9kdWxlIGZyaWVuZGx5IG5hbWUgb25jZSBpbnN0YWxsZWQgdW5kZXIgIk9wdGlvbnMiIChDb250ZW50ICZyYXF1bzsgTGlzdEl0Mk5hbWVPZkR1cGxpY2F0ZSkuPGJyIC8+CiAgICBUbyBjaGFuZ2UgdGhlIGljb24sIHJlcGxhY2UgL21vZHVsZXMvTGlzdEl0Mk5hbWVPZkR1cGxpY2F0ZS9pbWFnZXMvaWNvbi5naWYuPGJyIC8+CiAgICBUbyBjaGFuZ2UgQWRtaW4gc2VjdGlvbiBvZiB0aGUgbW9kdWxlLCBzaW1wbHkgc2VsZWN0IGFwcHJvcHJpYXRlIHNlY3Rpb24gZnJvbSBEcm9wZG93bi4gTWFrZSBzdXJlIHlvdSBjbGVhciB0aGUgY2FjaGUgYWZ0ZXIgdGhlc2UgY2hhbmdlcy48L3A+Cgk8L2Rpdj4KCTxkaXYgaWQ9ImZpZWxkX2MiPgoJCTxoMz5GaWVsZCBEZWZpbml0aW9uczwvaDM+CiAgICA8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBjb25maWd1cmUgYXJlIHlvdXIgZmllbGQgZGVmaW5pdGlvbnMuPC9wPgogICAgPHA+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgc2V0dGluZ3MgYnkgY2hvb3NpbmcgZnJvbSBhdmFpbGFibGUgb3B0aW9ucy48L3A+CiAgICAKICAgIDxoMz5EZWZhdWx0IEZpZWxkIERlZmluaXRpb25zIGJ5IHR5cGU8L2gzPgogICAgPHVsPgogICAgICAgIDxsaT5UZXh0IElucHV0PC9saT4KICAgICAgICA8bGk+Q2hlY2tib3g8L2xpPgogICAgICAgIDxsaT5DaGVja2JveCBHcm91cDwvbGk+CiAgICAgICAgPGxpPlJhZGlvIEdyb3VwPC9saT4KICAgICAgICA8bGk+VGV4dCBBcmVhPC9saT4KICAgICAgICA8bGk+U2VsZWN0IEZpbGU8L2xpPgogICAgICAgIDxsaT5GaWxlIFVwbG9hZDwvbGk+CiAgICAgICAgPGxpPkRyb3Bkb3duPC9saT4KICAgICAgICA8bGk+Q29udGVudCBQYWdlczwvbGk+CiAgICAgICAgPGxpPlNlbGVjdCBEYXRlVGltZTwvbGk+CiAgICAgICAgPGxpPk11bHRpIFNlbGVjdDwvbGk+CiAgICAgICAgPGxpPkNoZWNrYm94IEdyb3VwPC9saT4KICAgICAgICA8bGk+U2xpZGVyPC9saT4KICAgICAgICA8bGk+Q2F0ZWdvcmllczwvbGk+CiAgICA8L3VsPgogICAgCiAgICA8aDM+Q3VzdG9tIEZpZWxkIERlZmluaXRpb25zPC9oMz4KICAgIDxwPlNpbmNlIFZlcnNpb24gMS4zIGZpZWxkIGRlZmluaXRpb25zIGhhdmUgYmVlbiBjb21wbGV0ZWx5IHJld3JpdHRlbi48YnIgLz4KICAgIEFzIGEgcmVzdWx0IHlvdSBjYW4gbm93IGNyZWF0ZSB5b3VyIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucyBieSBmb2xsb3dpbmcgbmFtaW5nIGNvbnZlbnRpb24gaW4gTGlzdEl0RXh0ZW5kZWQgbW9kdWxlLjwvcD4KICAgIDxwPkZvbGxvd2luZyB0aGVzZSBjaGFuZ2VzLCBMaXN0SXRFeHRlbmRlZCBUZWFtIGhhcyBhbHNvIHJlbGVhc2VkIGEgbW9kdWxlIG5hbWVkIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbGlzdGl0MnhkZWZzIiB0YXJnZXQ9Il9ibGFuayI+TGlzdEl0MlhEZWZzPC9hPiB0aGF0IGlzIHNpbXBseSBhIHdyYXBwZXIgbW9kdWxlIGZvciBDdXN0b20gRmllbGQgZGVmaW5pdGlvbnMuPGJyIC8+CiAgICBXaGVuIGNyZWF0aW5nIHlvdXIgY3VzdG9tIGZpbGVkIGZvciBleGFtcGxlICJNeUZpZWxkIiAod2hlcmUgTXlGaWVsZCB3b3VsZCBiZSBuYW1lIG9mIHlvdXIgY3VzdG9tIGZpZWxkKSB5b3Ugd291bGQgY3JlYXRlICJNeUZpZWxkIiBmb2xkZXIgaW5zaWRlICJMaXN0SXQyWERlZnMvZmllbGRkZWZzIiBmb2xkZXIgYW5kIGFkZCBuZWVkZWQgZmlsZXMgaW4gdGhpcyBwYXJ0aWN1bGFyIGZvbGRlci48YnIgLz4KICAgIEZpZWxkZGVmIGZpbGUgaGFzIHRvIGJlIHByZWZpeGVkIHdpdGggImxpc3RpdDJmZCIgZm9yIGV4YW1wbGUgImxpc3RpdDJmZC5NeUZpZWxkLnBocCIsIGZvciBpbnB1dCBmaWVsZCB0ZW1wbGF0ZSB3aGljaCBpcyB1c2VkIHdoZW4gbWFuYWdpbmcgSXRlbSB5b3Ugd291bGQgbmVlZCAiaW5wdXQuTXlGaWVsZC50cGwiIGFuZCBhcyBmaWVsZCBkZWZpbml0aW9uIHNldHRpbmdzIHRlbXBsYXRlIHlvdSB3b3VsZCBuZWVkIGFkbWluLk15RmllbGQudHBsIChvbmx5IG5lZWRlZCBpZiBhZGRpdGlvbmFsIHNldHRpbmdzIGFyZSBwb3NzaWJsZSBmb3IgdGhpcyBmaWVsZCkuPC9wPgogICAgPHA+QWZ0ZXIgeW91IGFyZSBkb25lIHdyaXRpbmcgeW91ciBvd24gY3VzdG9tIGZpZWxkIGRlZmluaXRpb24sIHlvdSB3aWxsIGhhdmUgdG8gZ28gdG8gIk1vZHVsZXMgJnJhcXVvOyBMaXN0SXQyIiBjbGljayBvbiAiRmllbGQgRGVmaW5pdGlvbnMiIHRhYiBhbmQgc2NhbiBmb3IgbmV3IGZpZWxkIGRlZmluaXRpb25zIGJ5IGNsaWNraW5nIG9uICJTY2FuIEZpZWxkIERlZmluaXRpb25zIiBidXR0b24uPGJyIC8+CiAgICA8c3Ryb25nPklmIHlvdSBhcmUgbG9va2luZyBmb3IgRmllbGQgRGVmaW5pdGlvbnMgbGlrZSBHQkZpbGVQaWNrZXIgVXBsb2FkLCBHYWxsZXJ5IE9wdGlvbnMsIEZFVSBEcm9wZG93biwgQ29sb3IgUGlja2VyIGluc3RhbGwgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9saXN0aXQyeGRlZnMiIHRhcmdldD0iX2JsYW5rIj5MaXN0SXQyWERlZnM8L2E+IG1vZHVsZSBmaXJzdC48L3N0cm9uZz48L3A+PGJyIC8+CiAgICAKICAgIDxoND48c3Ryb25nPldhdGNoIHRoaXMgdmlkZW8gZm9yIGRldGFpbGVkIGluc3RydWN0aW9uczwvc3Ryb25nPjwvaDQ+CgkJPGEgdGl0bGU9IkNyZWF0aW5nIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9uIiBjbGFzcz0iY2JveCIgcmVsPSJncm91cCIgaHJlZj0iLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzU1NzI4MTI3Ij4KCQkJCTxpbWcgc3JjPSJodHRwOi8vMTAuMTAuMC4xMi9jbXNtcy1kZXYvY21zMTExNi9tb2R1bGVzL0xpc3RJdDIvaW1hZ2VzL3NjcmVlbnNob3RzL2N1c3RvbV9maWVsZHNfdGh1bWIuanBnIiBhbHQ9IkNyZWF0aW5nIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9uIiAvPgoJCTwvYT4JCQoJPC9kaXY+CiAgICA8ZGl2IGlkPSJ1cGdyYWRpbmdfYyI+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXdhcm5pbmciPjxoMz5JbXBvcnRhbnQgdXBncmFkZSBJbmZvcm1hdGlvbjwvaDM+CiAgICA8cD48c3Ryb25nPklmIHlvdSBoYXZlIHVwZ3JhZGVkIHRvIDEuMyBmcm9tIExpc3RJdEV4dGVuZGVkIDEuMi4yIG9yIGVhcmxpZXIsIHJlYWQgdGhpcyBjYXJlZnVsbHkhPC9zdHJvbmc+PC9wPgogICAgPHA+QWZ0ZXIgY29tcGxldGluZyB0aGUgdXBncmFkZSBwcm9jZWVkdXJlIG9mIExpc3RJdEV4dGVuZGVkIDEuMywgeW91ciBwcmV2aW91cyAiTGlzdEl0MiIgbW9kdWxlIHdpbGwgYmUgY29udmVydGVkIHRvIGEgbmV3IG1vZHVsZSBpbnN0YW5jZSBjYWxsZWQgTGlzdEl0Mk9yaWdpbmFsLjxiciAvPgogICAgUGxlYXNlIGdvIHRvICJFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyIgYW5kIGluc3RhbGwgdGhpcyBuZXdseSBjcmVhdGVkIGluc3RhbmNlLiBPbmNlIGluc3RhbGxlZCwgaXRlbXMgZnJvbSB5b3VyIG9yaWdpbmFsIExpc3RJdDIgbW9kdWxlIHdpbGwgYmUgYXZhaWxhYmxlIGFnYWluLjxiciAvPgogICAgVW5mb3J0dW5hdGVseSB5b3Ugd2lsbCBoYXZlIHRvIGNoYW5nZSBhbGwge0xpc3RJdDJ9IHRhZ3MgaW4geW91ciB3ZWJzaXRlIHRvIHtMaXN0SXQyT3JpZ2luYWx9LiBTb3JyeSBhYm91dCB0aGF0LjwvcD48L2Rpdj4KCQk8ZmllbGRzZXQ+CgkJCTxsZWdlbmQ+VXBncmFkaW5nIGZyb20gMS4yLnggPT4gMS4zLng8L2xlZ2VuZD4KCQkJICAgIDxoND5TdGVwIG9uZTwvaDQ+CiAgICA8cCBjbGFzcz0icmVkIj48c3Ryb25nPlBsZWFzZSByZWFkIHVwZ3JhZGUgSW5mb3JtYXRpb24gYWJvdmUhPGJyIC8+CiAgICBNYWtlIHN1cmUgeW91IGNyZWF0ZSBCYWNrdXAgb3IgeW91ciBXZWJzaXRlIGFuZCBEYXRhYmFzZSBiZWZvcmUgYW55IGZ1cnRoZXIgYWN0aW9uczwvc3Ryb25nPjwvcD4KICAgIDxwPkFzIG1lbnRpb25lZCBhZnRlciB1cGdyYWRlIGZyb20gMS4yLnggdG8gMS4zIHRoZSBmaXJzdCBzdGVwIHlvdSB3aWxsIGhhdmUgdG8gbWFrZSBpcyBpbnN0YWxsaW5nIG5ld2x5IGNyZWF0ZWQgPHN0cm9uZz57TGlzdEl0Mk9yaWdpbmFsfTwvc3Ryb25nPiBJbnN0YW5jZS48YnIgLz4KICAgIE9uY2UgdGhpcyBJbnN0YW5jZSBpcyBpbnN0YWxsZWQgeW91ciBvbGQgT3JpZ2luYWwgTGlzdEl0MiBJdGVtcyB3aWxsIGJlIGF2YWlsYWJsZSBpbiBMaXN0SXQyT3JpZ2luYWwgSW5zdGFuY2Ugd2hpY2ggeW91IHdpbGwgZmluZCBpbiAiQ29udGVudCIgYmFja2VuZCBzZWN0aW9uLjwvcD4KICAgIDxwPkF0IHRoaXMgbW9tZW50IHlvdXIgRnJvbnRlbmQgd2lsbCBtb3N0IHBvc3NpYmx5IGJlIGJyb2tlbiwgZGlzcGxheWluZyBhIEVycm9yIGFib3V0IG5vdCByZWNvZ25pemVkIFNtYXJ0eSBUYWcgZm9yIGV4YW1wbGUgInVua25vd24gdGFnIExpc3RJdDIiLCB5b3Ugc2hvdWxkIHJlcGxhY2UgYW55IG9mIHtMaXN0SXQyfSB0YWdzIHlvdSBhcmUgdXNpbmcgaW4geW91ciBQYWdlcyBvciBUZW1wbGF0ZXMgdG8ge0xpc3RJdDJPcmlnaW5hbH0uPC9wPgogICAgPGg0PlN0ZXAgdHdvPC9oND4KICAgIDxwPkR1ZSB0byBsaW1pdGF0aW9uIGluIG1vZHVsZSB1cGdyYWRlIHByb2Nlc3MsIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXRlY3QgYW55IG9mIHlvdXIgcHJldmlvdXMgTGlzdEl0MiBNb2R1bGUgc2V0dGluZ3MsIHdoaWNoIG1lYW5zIHRoYXQgeW91IHNob3VsZCBtYWtlIHN1cmUgdG8gY2hhbmdlIHRoZXNlIHNldHRpbmdzIGluICJDb250ZW50ICZyYXF1bzsgTGlzdEl0Mk9yaWdpbmFsIiBhZ2FpbiB0byB5b3VyIHByZWZlcmVuY2UuPGJyIC8+CiAgICBBbHNvIHlvdSB3aWxsIGhhdmUgdG8gc2V0IGFueSBUZW1wbGF0ZSBpbiAiVGVtcGxhdGVzIiB0YWIgdGhhdCB5b3UgaGF2ZSBiZWVuIHVzaW5nIGJlZm9yZSBhcyBEZWZhdWwgdGVtcGxhdGUgYmFjayB0byAiZGVmYXVsdCIgaWYgeW91IGFyZSBub3QgdXNpbmcgInN1bWFyeXRlbXBsYXRlIiBvciAiZGV0YWlsdGVtcGxhdGUiIG9yIGFueSBUZW1wbGF0ZSByZWxhdGVkIHBhcmFtZXRlcnMuPC9wPgogICAgPGg0PlN0ZXAgdGhyZWU8L2g0PgogICAgPHA+SW4gY2FzZSB5b3UgaGF2ZSBiZWVuIHVzaW5nIEZpZWxkIGRlZmluaXRpb25zIGxpa2UgR0JGaWxlUGlja2VyIFVwbG9hZCBGaWxlIG9yIEdhbGxlcnkgc2VsZWN0aW9uLCBwbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIGFyZSBubyBsb25nZXIgcGFydCBvZiBMaXN0SXRFeHRlbmRlZCBNb2R1bGUuPGJyIC8+CiAgICBSZWFzb24gZm9yIHRoaXMgaXMgc2ltcGx5IHRoYXQgRmllbGQgZGVmaW5pdGlvbnMgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgcmV3cml0ZW4gbWFraW5nIGl0IHBvc3NpYmxlIGZvciB5b3UgdG8gY3JlYXRlIHlvdXIgb3duIGN1c3RvbSBGaWVsZCBkZWZpbml0aW9ucyBhbmQgc2ltcGx5IExpc3RJdEV4dGVuZGVkIERFViBUZWFtIGNhbiBub3Qgc3VwcG9ydCBhbnkgdGhpcmQgcGFydHkgTW9kdWxlcyBhcyBwYXJ0IG9mIExpc3RJdEV4dGVuZGVkIE1vZHVsZSBhbmQgdGhlcmVmb3IgcG9zc2libHkgZGVsYXlpbmcgcmVsZWFzZXMgaW4gZnV0dXJlIGR1ZSB0byBNb2R1bGUgaW5jb21wYXRpYmlsaXR5IG9yIGFueXRoaW5nIGVsc2UuPC9wPgogICAgPHA+VG8gbWFrZSB5b3VyIG9sZCBVcGxvYWQgRmlsZSBvciBHYWxsZXJ5IEZpZWxkcyB3b3JraW5nIGFnYWluIHlvdSB3aWxsIGhhdmUgdG8gaW5zdGFsbCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2xpc3RpdDJ4ZGVmcyIgdGFyZ2V0PSJfYmxhbmsiPkxpc3RJdEV4dGVuZGVkIFhEZWZzPC9hPiBNb2R1bGUgd2hpY2ggaXMgYSBHYXRld2F5IG1vZHVsZSB0byBMaXN0SXRFeHRlbmRlZCBjdXN0b20gRmllbGQgZGVmaW5pdGlvbnMuPGJyIC8+CiAgICBBZnRlciBMaXN0SXRFeHRlbmRlZCBYRGVmcyBpcyBpbnN0YWxsZWQgeW91IHdpbGwgZmluZCBhIGxpc3Qgb2YgYXZhaWxhYmxlIEZpZWxkIERlZmluaXRpb25zIGluICJFeHRlbnNpb25zICZyYXF1bzsgTGlzdEl0MiIgYnkgY2xpY2tpbmcgb24gIkZpZWxkIERlZmluaXRpb25zIiB0YWIuPGJyIC8+CiAgICBJZGVhbGx5IHlvdXIgRmllbGQgZGVmaW5pdGlvbnMgc2hvdWxkIHdvcmsgYWdhaW4sIGlmIHRoYXQgaXMgbm90IHRoZSBjYXNlIHlvdSBzaG91bGQgdHJ5IHRvIHJlcGFpciBGaWVsZCBkZWZpbml0aW9ucyBkYXRhYmFzZSB0YWJsZSBieSBjbGlja2luZyBvbiAiUmVwYWlyIiBidXR0b24gdW5kZXIgIk1haW50ZW5hbmNlIiB0YWIuPC9wPjxiciAvPgogICAgPHA+PHN0cm9uZz5JZiB5b3UgaGF2ZSBmb2xsb3dlZCBhYm92ZSBzdGVwcywgeW91IHNob3VsZCBub3cgaGF2ZSBhIGZ1bGx5IGZ1bmN0aW9uYWwgYW5kIHVwZ3JhZGVkIExpc3RJdEV4dGVuZGVkIE1vZHVsZSBhbmQgYWxsIGNyZWF0ZWQgSW5zdGFuY2VzLjwvc3Ryb25nPjwvcD4KCQk8L2ZpZWxkc2V0PgoJCTxmaWVsZHNldD4KCQkJPGxlZ2VuZD5VcGdyYWRpbmcgZnJvbSAxLjMueCA9PiAxLjQueDwvbGVnZW5kPgoJCQkJPGg0PkNhdGVnb3JpZXMgY2hhbmdlczwvaDQ+Cgk8cD5JbiB2ZXJzaW9uIDEuNCBiZWhhdmlvciBvZiBDYXRlZ29yaWVzIHdhcyBjaGFuZ2VkIGFuZCBtb3ZlZCB0byBGaWVsZCBkZWZpbml0aW9ucy4gUmVhc29uIGZvciB0aGlzIGlzLCB0aGF0IG5vdCBldmVyeSBMaXN0SXQyIE1vZHVsZSBpbnN0YW5jZSBhY3R1YWxseSByZXF1aXJlcyBDYXRlZ29yaWVzLAoJdGhlcmVmb3JlIHdoZW4geW91IHNlZSB5b3VyIENhdGVnb3JpZXMgbWlzc2luZyB5b3Ugd2lsbCBoYXZlIHRvIGNyZWF0ZSBuZXcgRmllbGQgZGVmaW5pdGlvbiBvZiB0eXBlICJDYXRlZ29yeSIsIGlmIHlvdSBkbyBub3Qgc2VlIHRoaXMgRmllbGQgZGVmaW5pdGlvbiwgdHJ5IHNjYW5pbmcgZm9yIG5ldyBGaWVsZAoJZGVmaW5pdGlvbiBpbiBMaXN0SXQyIE1vZHVsZSBpbnRlcmZhY2UsIGxvY2F0ZWQgaW4gIkZpZWxkIERlZmluaXRpb25zIiB0YWIuPC9wPgoJPHA+T25jZSB5b3VyIENhdGVnb3J5IEZpbGVkIGRlZmluaXRpb24gd2FzIGNyZWF0ZWQsIHlvdSBzaG91bGQgc2VlICJDYXRlZ29yaWVzIiB0YWIgaW4geW91ciBMaXN0SXQyIE1vZHVsZSBpbnN0YW5jZSBhZ2FpbiwgYXMgd2VsbCBhcyBoYXZlIHRoZSBhYmlsaXR5IG9mIGNob29zaW5nIGEgQ2F0ZWdvcnkgZm9yIGEgSXRlbS48L3A+CgkJPC9maWVsZHNldD4KICAgIDwvZGl2PgoJPGRpdiBpZD0ic21hcnR5X3BsdWdpbnNfYyI+CgkJPGZpZWxkc2V0PgoJCQk8bGVnZW5kPntMaXN0SXQyTG9hZGVyfTwvbGVnZW5kPgoJCQkJPGg0PldoYXQgZG9lcyB0aGlzIGRvPzwvaDQ+CgkgPHA+VGhpcyBwbHVnaW4gYWxsb3dzIHlvdSB0byBsb2FkIExpc3RJdEV4dGVuZGVkIGl0ZW0gYW5kIGNhdGVnb3J5IG9iamVjdCBieSBjZXJ0YWluIGNyaXRlcmlhLCBhbnl3aGVyZSBpbiB0aGUgc3lzdGVtLjwvcD4KCSAKCTxoND5Ib3cgZG8gSSB1c2UgaXQ/PC9oND4KCTxwPlNpbXBseSBpbnNlcnQgdGhpcyB0YWcgaW50byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU6PC9wPgoJPHByZT48Y29kZT57TGlzdEl0MkxvYWRlciBpdGVtPSdpdGVtJyBpZGVudGlmaWVyPSdhbGlhcycgaW5zdGFuY2U9J0xpc3RJdDJJbnN0YW5jZScgdmFsdWU9J215YWxpYXMnIGFzc2lnbj0ndG1wJ308L2NvZGU+PC9wcmU+CgkKCTxwPiZuYnNwOzwvcD4KCQoJPHA+Rm9sbG93aW5nIGxpbmUgd2lsbCBsb2FkIGl0ZW0gb2JqZWN0IGZyb20gaW5zdGFuY2UgJ0xpc3RJdDJJbnN0YW5jZScgYnkgYWxpYXMgJ215YWxpYXMnIGFuZCBhc3NpZ24gaXQgdG8gdmFyaWFibGUgJmRvbGxhcjt0bXAuIDxiciAvPiAKCUFmdGVyIHRoaXMgeW91IGNhbiB1c2UgaXQgaW4gc2ltaWxhciB3YXksIGp1c3QgbGlrZSBpbiByZWd1bGFyIExpc3RJdEV4dGVuZGVkIHRlbXBsYXRlczo8L3A+Cgk8cHJlPjxjb2RlPnsmZG9sbGFyO3RtcC0+dGl0bGV9PC9jb2RlPjwvcHJlPgoJCgk8cD4mbmJzcDs8L3A+CgkKCTxwPklmIG11bHRpcGxlIGl0ZW1zIGFyZSBiZWluZyBsb2FkZWQsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhcnJheSBvZiBvYmplY3RzLCBlbHNlIGl0IHJldHVybnMgc2luZ2xlIGl0ZW0vY2F0ZWdvcnkgb2JqZWN0PC9wPgoKCTxoND5XaGF0IHBhcmFtZXRlcnMgZG9lcyBpdCB0YWtlPzwvaDQ+Cgk8dWw+CgkJPGxpPjxlbT4ocmVxdWlyZWQpIDwvZW0+PHR0Pmluc3RhbmNlPC90dD4gLSBOYW1lIG9mIGluc3RhbmNlIHRoYXQgaG9sZHMgaXRlbXMuIDxpPihJZiB1c2VkIGluc2lkZSBMaXN0SXRFeHRlbmRlZCB0ZW1wbGF0ZXMsIHRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsKTwvaT48L2xpPgoJCTxsaT48ZW0+KHJlcXVpcmVkKSA8L2VtPjx0dD52YWx1ZTwvdHQ+IC0gQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaWRlbnRpZmllciB2YWx1ZXM6ICdhbGlhczEsYWxpYXMyLGFsaWFzMycgb3IgJzEsMiwzJzwvbGk+CgkJPGxpPjxlbT4ob3B0aW9uYWwpIDwvZW0+PHR0Pml0ZW09Iml0ZW0iPC90dD4gLSBXYW50ZWQgaXRlbSB0eXBlLCBlaXRoZXI6IGl0ZW0vY2F0ZWdvcnk8L2xpPgoJCTxsaT48ZW0+KG9wdGlvbmFsKSA8L2VtPjx0dD5pZGVudGlmaWVyPSJpdGVtX2lkL2NhdGVnb3J5X2lkIjwvdHQ+IC0gV2FudGVkIGlkZW50aWZpZXIsIG9uZSBvZiBmb2xsb3dpbmc6IGl0ZW1faWQsIGNhdGVnb3J5X2lkLCBhbGlhczwvbGk+CgkJPGxpPjxlbT4ob3B0aW9uYWwpIDwvZW0+PHR0PmZvcmNlX2FycmF5PSJmYWxzZSI8L3R0PiAtIEZvcmNlIG91dHB1dCB2YWx1ZSBhcyBhcnJheTwvbGk+Cgk8L3VsPgoJCTwvZmllbGRzZXQ+Cgk8L2Rpdj4KCTxkaXYgaWQ9ImFib3V0X2MiPgoJCQk8aDM+QWJvdXQ8L2gzPgogICAgPHA+T3JpZ2luIG9mIHRoaXMgbW9kdWxlIGNvbWVzIGZyb20gPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9saXN0aXQiIHRhcmdldD0iX2JsYW5rIj5MaXN0SXQgTW9kdWxlPC9hPiBkZXZlbG9wZWQgYnkgQmVuIE1hbGVuLjxiciAvPkFzIHRoZXJlIHdlcmUgbm8gcGxhbnMgb24gZnVydGhlciBkZXZlbG9wbWVudCBvZiB0aGUgbW9kdWxlIHNvbWUgcGVvcGxlIGRlY2lkZWQgdG8gZm9yayB0aGUgbW9kdWxlIGFuZCBjb250aW51ZSB3aXRoIGRldmVsb3BtZW50LjxiciAvPgogICAgSWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTAxNSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uIDwvcD4KICAgIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LgogICAgPC9wPgoJCTxoMz5UZWFtPC9oMz4KCQk8dWw+CgkJCTxsaT5Kb25hdGhhbiBTY2htaWQgKEZvYWx5KikgaGlAam9uYXRoYW5zY2htaWQuZGUgPGJyIC8+d3d3LmpvbmF0aGFuc2NobWlkLmRlPC9saT4KCQkJPGxpPkdvcmFuIElsaWMgKHVuaXF1MykgZy5pbGljQGktYXJ0cy5ldSA8YnIgLz53d3cuaWNoLW1hY2gtZGFzLmF0PC9saT4KCQkJPGxpPlRhcGlvIEwmb3VtbDt5dHl5IChTdGlra2kpIDxiciAvPiB0YXBzYUBvcmFuZ2UtbWVkaWEuZmk8L2xpPgoJCTwvdWw+CgkJPGgzPkNvbnRyaWJ1dG9yczwvaDM+CgkJPHVsPgoJCQk8bGk+Um9iZXJ0IENhbXBiZWxsIChjYWxndXkxMDAwKSBjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnICA8YnIgLz53d3cuY2FsZ3V5MTAwMC5jb208L2xpPgoJCQk8bGk+THVrYXMgQmxhdHRlciAobm9ja2VuZmVsbCkgbm9ja2VuZmVsbEBnbWFpbC5jb20gPGJyIC8+d3d3LmJsYXR0ZXJ0ZWNoLmNoPC9saT4KCQkJPGxpPkFybm91ZCAoYXJub3VkKSBhcm5vdWRAdXBzZXJ2aWNlLm5sIDxiciAvPnd3dy51cHNlcnZpY2Uubmw8L2xpPgoJCQk8bGk+V2F5bmUgT05laWwgKHdpc2hib25lKSB3YXluZUB0ZWFtd2lzaGJvbmUuY29tIDxiciAvPnd3dy50ZWFtd2lzaGJvbmUuY29tPC9saT4KCQk8L3VsPgkJCQoJPC9kaXY+ICAKPC9kaXY+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBJRFQgTWVkaWEgVGVhbSAmbHQ7aGlAaS1kby10aGlzLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAxLjQ8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48aDM+VmVyc2lvbiAxLjQ8L2gzPgo8dWw+CiAgICA8bGk+Rml4ZXMgdXBncmFkZSB2aWEgTW9NYSBoYW5naW5nIHdob2xlIGFkbWluLiBNb3ZlZCBkdXBsaWNhdG9yIG1ldGhvZHMgZnJvbSB1cGdyYWRlIHNjcmlwdCB0byBldmVudC48L2xpPgogICAgPGxpPlVwZGF0ZSB0byBkZWZhdWx0IHRlbXBsYXRlcywgcmVtb3ZlZCBhY2NvcmRpb24gYW5kIGNhdGVnb3JpemVkLjwvbGk+CiAgICA8bGk+QWRtaW5nIHBhZ2luYXRpb24gbm93IG1haW50YWlucyBjdXJyZW50IHBhZ2UsIHdoZW4ganVtcGluZyBpbiBhbmQgb3V0IG9mIGl0ZW1zLjwvbGk+CiAgICA8bGk+Rml4ZXMgaXNzdWUgd2hlcmUgaXNzZXQoKSBhbmQgZW1wdHkoKSBkaWRudCB3b3JrIGFnYWlucyBmaWVsZCBzaG9ydGhhbmQuPC9saT4KICAgIDxsaT5BZGRpbmcgcGVybWlzc2lvbnM6IFJlbW92ZSBpdGVtcywgQXBwcm92ZSBpdGVtcywgTW9kaWZ5IGFsbCBpdGVtcy48L2xpPgogICAgPGxpPkluY3JlYXNpbmcgcGVyZm9ybWFuY2UgYW5kIHJlZHVjaW5nIHF1ZXJpZXMgYW5kIG1lbW9yeSB1c2FnZSBhbG90IGluIGdlbmVyYWwuPC9saT4KICAgIDxsaT5BZGRpbmcgc2V2ZXJhbCBuZXcgcHJlZmVyZW5jZXMuPC9saT4KICAgIDxsaT5BZGRpbmcgbmV3IHBhcmFtOiBzdW1tYXJ5cGFnZS48L2xpPgogICAgPGxpPkludHJvZHVjaW5nIGludGVyYWwgRXZlbnQgSGFuZGxlciBpbiBGaWVsZGRlZkJhc2UuPC9saT4KICAgIDxsaT5BZGRpbmcgbmV3IEZpZWxkZGVmIFR5cGU6IEZpbGVVcGxvYWQuPC9saT4KICAgIDxsaT5BZGRpbmcgbmV3IEZpZWxkZGVmQmFzZSBtZXRob2QgSXNVbmlxdWUuPC9saT4KICAgIDxsaT5DYXRlZ29yaWVzIHdyaXR0ZW4gaW50byBmaWVsZGRlZi4gQWRkaW5nIHRoaXMgZmllbGQgd2lsbCByZXZlYWwgY2F0ZWdvcnkgb3B0aW9ucywgZWxzZSBhbGwgY2F0ZWdvcnkgcmVsYXRlZCBpcyBoaWRkZW4uPC9saT4KICAgIDxsaT5BZGRpbmcgbmV3IHNtYXJ0eSBwbHVnaW46IExpc3RJdDJMb2FkZXIuIE1ha2VzIHBvc3NpYmxlIHRvIGxvYWQgc2luZ2xlIG9yIG11bHRpcGxlIGl0ZW1zIG9yIGNhdGVnb3JpZXMgZnJvbSBhbnl3aGVyZSBpbiBDTVNNUyB3aXRoIG11bHRpcGxlIGNyaXRlcmFzLjwvbGk+CiAgICA8bGk+RHJvcHBpbmcgZGVwcmVjYXRlZCBzbWFydHkgYXNzaWducy4gRHJvcHBpbmcgJHVwbG9hZHNfdXJsIGFzc2lnbiwgdXNlIHt1cGxvYWRzX3VybH0gcGx1Z2luIGluc3RlYWQsIGluY2x1ZGVkIGluIGNvcmUuPC9saT4KICAgIDxsaT5BZGRpbmcgRlIjODkwMi4gT3JkZXIgYnkgc3RhcnQgYW5kIGVuZCBkYXRlLjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzgzNjcuIEdyb3VwIFBlcm1pc3Npb25zIC0gQXBwcm92ZSBpdGVtIGZvciBGcm9udGVuZCBEaXNwbGF5LjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzgxNTEuIEFkZCBjb3B5IGl0ZW0gYWN0aW9uLjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODQ1NC4gUGFnaW5hdGlvbiB3aXRoIHNlYXJjaCBmdW5jdGlvbiBhbmQgcGFnZSBsaW1pdC48L2xpPgogICAgPGxpPkZpeGVzIEJSIzg4NTMuIFRleHQgYXJlYXMgaGF2ZSB0byBoYXZlICdNYXggbGVuZ2h0Jy48L2xpPgogICAgPGxpPkZpeGVzIEJSIzkxMjMuIEFjdGlvbnM6ICJjYXRlZ29yeSIgbWlzc2luZyBpbiBoZWxwIGFuZCAiZmlsdGVyIiBkZXByZWNhdGVkID88L2xpPgogICAgPGxpPkZpeGVzIEJSIzkxMjQuIENhdGVnb3J5IHBhcmFtZXRlciBpbiBhIHN1bW1hcnl0ZW1wbGF0ZSBnZW5lcmF0ZXMgdW51c2FibGUgbGlua3MgdG8gaXRlbS48L2xpPgogICAgPGxpPkZpeGVzIEJSIzkxMzguIEVuZ2xpc2ggbGFuZ3VhZ2UgY29ycmVjdGlvbnMuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM5MTgyLiBDYXRlZ29yaWVzLT5zdWItY2F0ZWdvcmllcyBhbmQgcHJldHR5IHVybC48L2xpPgogICAgPGxpPkZpeGVzIEJSIzkxODcuIFZhcmlhYmxlcyBub3QgYXZhaWxhYmxlIHRvIGRldGFpbCB0ZW1wbGF0ZS48L2xpPgo8L3VsPgoKPGgzPlZlcnNpb24gMS40LWJldGEyPC9oMz4KPHVsPgogICAgPGxpPkludGVybmFsIHJlbGVhc2UuPC9saT4KPC91bD4KCjxoMz5WZXJzaW9uIDEuNC1iZXRhMTwvaDM+Cjx1bD4KICAgIDxsaT5BZGRpbmcgY2F0ZWdvcnkgb3BlcmF0aW9uIGNsYXNzZXM6IExpc3RJdDJDYXRlZ29yeU9wZXJhdGlvbnMsIExpc3RJdDJDYXRlZ29yeTwvbGk+CiAgICA8bGk+QWRkaW5nIHF1ZXJ5IGNsYXNzZXM6IExpc3RJdDJRdWVyeSwgTGlzdEl0Mkl0ZW1RdWVyeSwgTGlzdEl0MkNhdGVnb3J5UXVlcnk8L2xpPgogICAgPGxpPkFkZGluZyBoaWVyYXJjaHkgY2xhc3NlczogTGlzdEl0MkhpZXJhcmNoeU1hbmFnZXI8L2xpPgogICAgPGxpPkFkZGluZyBldmVudDogUHJlUmVuZGVyQWN0aW9uLiBNYWtpbmcgcXVlcnkgaW5qZWN0aW9ucyBwb3NzaWJsZSB3aXRoIFVEVC48L2xpPgogICAgPGxpPkFkZGluZyBkYXRhYmFzZSBpbnRlZ3JhdGlvbiBjb2x1bW5zOiBrZXkxLCBrZXkyLCBrZXkzLiBNYWtlcyBpbnRlZ3JhdGlvbnMgd2l0aCBleHRlcm5hbCBzeXN0ZW1zIHBvc3NpYmxlLjwvbGk+CiAgICA8bGk+QWRkaW5nIGJlaGF2aW9yIHRvIGxvYWQgaXRlbXMgYW5kIGNhdGVnb3JpZXMgd2l0aCBtb3JlIHRoYW4gb25lIGNyaXRlcmEuPC9saT4KICAgIDxsaT5BZGRpbmcgYWN0aW9uOiBjYXRlZ29yeS4gTWFrZXMgY2F0ZWdvcnkgbGlzdGluZyBwb3NzaWJsZSB2YXJpb3VzIG9mIHdheXMuPC9saT4KICAgIDxsaT5BZGRpbmcgVHdvIG5ldyBjYXRlZ29yeSB0ZW1wbGF0ZXMsIG9uZSBmb3Igbm9ybWFsIHZpZXcgYW5kIG9uZSBmb3IgaGllcmFyY2hpYWwuPC9saT4KICAgIDxsaT5DYXRlZ29yaWVzIGFyZSBubyBsb25nZXIgbWFuZGF0b3J5IGZvciBpdGVtcy48L2xpPgogICAgPGxpPlZhbHVlcyBubyBsb25nZXIgc2F2ZWQgaW50byBkYXRhYmFzZSBpbiBzZXJpYWxpemVkIGZvcm1hdC4gVXNpbmcgdmFsdWVfaW5kZXhlcyBmb3IgdmFsdWUgZnJhZ21lbnRzLjwvbGk+CiAgICA8bGk+U3VwcG9ydCBmb3IgUEhQIDUuMiBkcm9wcGVkLiBNaW5pbXVtIHJlcXVpcmVkIHZlcnNpb24gaXMgNS4zLjwvbGk+CiAgICA8bGk+U2V2ZXJhbCBuZXcgcGFyYW1ldGVycyBhdmFpbGFibGUuPC9saT4KICAgIDxsaT5BZGRpbmcgRlIjNjczMy4gSW5jbHVkZSBJdGVtIGluIG11bHRpcGxlIGNhdGVnb3JpZXMuPC9saT4JCiAgICA8bGk+QWRkaW5nIEZSIzgyNjAuIERpc2FibGUgY2F0ZWdvcmllcy48L2xpPgkKICAgIDxsaT5BZGRpbmcgRlIjODgxMy4gU2VwYXJhdGUgR2V0QWRtaW5EZXNjcmlwdGlvbi48L2xpPgkKICAgIDxsaT5BZGRpbmcgRlIjODg1MC4gQWxsb3cgIkNvbnRlbnQgUGFnZXMiIHRvIGJlIHByZXNlbnRlZCBhcyBhIG11bHRpLXNlbGVjdC48L2xpPgkKICAgIDxsaT5BZGRpbmcgRlIjODk2OC4gU2F2ZSB0aGUgImxhc3QgbW9kaWZpZWQiIGRhdGUgb2YgZWFjaCBpdGVtLjwvbGk+CQogICAgPGxpPkFkZGluZyBGUiM4OTY5LiBEYXRlcGlja2VyIGZpZWxkcyBpbiBhZG1pbiBsaXN0cy48L2xpPgogICAgPGxpPkZpeGVzIEJSIzgxNzguIENhdGVnb3J5IGhpZXJhcmNoaWVzIGFuZCByZW9yZGVyaW5nIGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkuPC9saT4JCiAgICA8bGk+Rml4ZXMgQlIjODI5MC4gUmVvcmRlciBDYXRlZ29yaWVzIEhhbmdzIEJyb3dzZXIuPC9saT4JCiAgICA8bGk+Rml4ZXMgQlIjODg1My4gVGV4dCBhcmVhcyBoYXZlIHRvIGhhdmUgJ01heCBsZW5naHQnLjwvbGk+CQo8L3VsPgoKPGgzPlZlcnNpb24gMS4zLjI8L2gzPgo8dWw+CiAgICA8bGk+Rml4ZXMgQlIjODgyMi4gRml4ZXMgaXNzdWUgd2l0aCBmaWVsZCB2YWx1ZXMsIHdoZW4gZGlyZWN0bHkgdXBncmFkaW5nIGZyb20gMS4yLnggc2VyaWVzLjwvbGk+CiAgICA8bGk+Rml4ZXMgaXNzdWUgd2hlbiB1c2luZyBvcmRlcmJ5PSdjdXN0b21fYWxpYXMnLjwvbGk+CiAgICA8bGk+RlIgIzg4MTMuIEFkZGVkIGFuZCBvcHRpb24gb2YgY2hhbmdpbmcgTW9kdWxlIERlc2NyaXB0aW9uIGZvciBlYWNoIEluc3RhbmNlPC9saT4KPC91bD4KCjxoMz5WZXJzaW9uIDEuMy4xPC9oMz4KPHVsPgogICAgPGxpPkZpeGVzIEJSIzg3NzkuIFVwZ3JhZGUgdGltZSBvdXRzIG9uIE1vTWEgdXBncmFkZSByZXF1ZXN0LiBNYW51YWwgZmllbGQgc2NhbiByZXF1aXJlZCBhZnRlciB1cGdyYWRlLjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODc4MC4gVW5pZGVudGlmaWVkIGluZGV4IHdhcm5pbmcgb24gTGlzdEl0MlhEZWZzIGluc3RhbGxhdGlvbiwgd2hlbiBhdXRvIGluc3RhbGwgc2V0dGluZyBpcyBvbi48L2xpPgogICAgPGxpPkFkZGluZyBtZXRob2RzIEdldEhlYWRlckhUTUwoKSBhbmQgR2V0VVJMUGF0aCgpIHRvIEZpZWxkZGVmQmFzZS48L2xpPgogICAgPGxpPkFkZGluZyBTZWxlY3QgRGF0ZVRpbWUgZmllbGQuPC9saT4KICAgIDxsaT5BZGRpbmcgU2xpZGVyIGZpZWxkLjwvbGk+CiAgICA8bGk+UmVtb3ZpbmcgU2VsZWN0IERhdGUgZmllbGQuPC9saT4KICAgIDxsaT5SZXN0b3JpbmcgcGFydGlhbCBQSFAgNS4yLnggc3VwcG9ydC4gVGhpcyB3aWxsIGJlIGxhc3QgcmVsZWFzZSBzdXBwb3J0aW5nIFBIUCA1LjIueC48L2xpPgogICAgPGxpPkZpeGVzIFVURi04IGRlY29kZS9lbmNvZGUgcHJvYmxlbSB3aXRoIGltcG9ydC9leHBvcnQuPC9saT4KICAgIDxsaT5NYWtpbmcgbXVsdGl2YWx1ZXMgcG9zc2libGUuIERhdGEgc3RvcmVkIGludG8gZGF0YWJhc2UgYXMgc3RyaW5nIEFORCBzZXJpYWxpemVkIGZvcm1hdC4gUG9zc2libGUgdG8gY2FsbCB2YWx1ZSBhcyBzdHJpbmcsIGFycmF5LCBvYmplY3QuPC9saT4KICAgIDxsaT5BZGRpbmcgTXVsdGkgU2VsZWN0IGZpZWxkLjwvbGk+CiAgICA8bGk+QWRkaW5nIENoZWNrYm94IEdyb3VwIGZpZWxkLjwvbGk+CQogICAgPGxpPkZpeGVzIEJSIzg4MTIuIEJhc2UgbW9kdWxlIHBlcm1pc3Npb24gdGllZCB0bzogTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMuIFRoYW5rcyB0byBjYjIwMDQuPC9saT4JCiAgICA8bGk+Rml4ZXMgQlIjODgxOS4gQXN0ZXJpc2sgYWRkZWQgYmFjayB0byBmaWVsZCBsYWJlbHMuIFRoYW5rcyB0byBjYjIwMDQuPC9saT4JCjwvdWw+Cgo8aDM+VmVyc2lvbiAxLjM8L2gzPgo8dWw+CiAgICA8bGk+UmVtb3ZlZCBkdXBsaWNhdGluZyBpbnN0cnVjdGlvbnMgZnJvbSBtb2R1bGUgZmlsZXMsIG5vIGxvbmdlciB2YWxpZCBidXQgc29tZW9uZSBjb3VsZCBiZSBhIHNtYXJ0YXNzIGFuZCBmb2xsb3cgaW5zdHJ1Y3Rpb25zIGFueXdheS48L2xpPgogICAgPGxpPlNlcGFyYXRpbmcgZnJhbWV3b3JrIGFuZCBpbnN0YW5jZSBzdHVmZi4gTW90aGVyIG1vZHVsZSBpbmRlcGVuZGVudCwgd2l0aG91dCBhbnkgaW5zdGFuY2Ugb24gaXQuPC9saT4KICAgIDxsaT5SZW1vdmluZyBwYXJhbWV0ZXI6IG51bWJlciwgdXNlOiBwYWdlbGltaXQgaW5zdGVhZC48L2xpPgogICAgPGxpPkFkZGVkIG9wdGlvbiBvZiBzaG93aW5nICJkYXRlIGNyZWF0ZWQiIGluIEl0ZW0gZWRpdCBtb2RlIChGUiAjODMzOCk8L2xpPgogICAgPGxpPkFkZGVkIG9wdGlvbnMgb2Ygc2hvd2luZyBjcmVhdGVfdGltZSwgc3RhcnRfdGltZSBhbmQgZW5kX3RpbWUgaW4gSXRlbXMgb3ZlcnZpZXcgdGFibGU8L2xpPgogICAgPGxpPlNhdmUgY3VycmVudCBpdGVtIGFuZCBjcmVhdGUgbmV3IChGUiAjODI1NCk8L2xpPgogICAgPGxpPkNvbXBsZXRlIHJld3JpdGUgb2YgZmllbGQgZGVmaW5pdGlvbnM8L2xpPgogICAgPGxpPkNvbXBsZXRlIHJld3JpdGUgb2YgaXRlbSBjbGFzc2VzPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4MjI5LiBOb3QgdGhyb3dpbmcgbm90aWNlIG9uIHVwZ3JhZGU8L2xpPgogICAgPGxpPkZpeGVzIEJSIzgzMzkuIE5vdCB0aHJvd2luZyBkZXByZWNhdGVkIHdhcm5pbmcgYW55bW9yZS48L2xpPgogICAgPGxpPkZpeGVzIEJSIzgzOTEuIEltcG9zc2libGUgdG8gbGVhdmUgY2VydGFpbiBvcHRpb25zIGVtcHR5LjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODM5Mi4gV29uJ3QgY29sbGFwc2Ugd2l0aCBHYWxsZXJ5IENTUyBhbnltb3JlLjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODQwNi4gQXNzZXRzIGdldHRpbmcgY29ycmVjdCBwcmVmaXguPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4NTY1LiBGaXhlcyBwcm9ibGVtIHdpdGggR0JGaWxlUGlja2VyIGZpZWxkIGRlZmluaXRpb24uPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4NTkzLiBTYW1lIGFzIEJSIzgzMzkuPC9saT4KICAgIDxsaT5BZGRpbmcgRlIjODY0NS4gUG9zc2libGUgdG8gc2hvdyBpdGVtcyB1cCB0byAxMDAwLjwvbGk+CiAgICA8bGk+QWRkaW5nIHNpbXBsZSBDU1YgaW1wb3J0L2V4cG9ydCBzeXN0ZW0uPC9saT4KICAgIDxsaT5BZGRpbmcgQUpBWCB0byBtb3N0IG9mIHNtYWxsIGFjdGlvbnMuIGllLiB0b2dnbGUsIGRlbGV0ZS48L2xpPgogICAgPGxpPkFkZGluZyBtYW55IG90aGVyIHRoaW5ncyB3ZSBmb3Jnb3QgdG8gbGlzdCBoZXJlLi4uPC9saT4KPC91bD4KCjxoMz5WZXJzaW9uIDEuMi4yPC9oMz4KPHVsPgogICAgPGxpPkZpeGVzIEJSIzgyNzAuIG1haW50YWlucyBvcmRlcmJ5IHBvc2l0aW9ucyBjb3JyZWN0bHkuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4MjY0LiBTdGF0aWMgc2VhcmNoIHdvcmtzIG5vdyBjb3JyZWN0bHkuPC9saT4KICAgIDxsaT5NZXJnaW4gYWN0aW9ucyBmaWx0ZXIgYW5kIHNlYXJjaCB0byBhY3Rpb24gc2VhcmNoLiBBY3Rpb24gZmlsdGVyIHRlbXBsYXRlIHRhYmxlcyByZW1vdmVkLiBTZWFyY2ggYWN0aW9uIGxvYWRpbmcgZmllZGRlZnMgb25seSBpZiByZXF1ZXN0ZWQgYnkgdGVtcGxhdGU8L2xpPgogICAgPGxpPlJlbW92aW5nICRoaWRkZW4gc21hcnR5IHZhcmlhYmxlIGZyb20gdGVtcGxhdGVzLCBwYXJ0IG9mIGNvbnRyb2xsZXIgbm93LjwvbGk+CiAgICA8bGk+QWRkaW5nIG93biBjbGFzcyBmb3IgaXRlbS4gUG9zc2libGUgdG8gY2FsbCBmaWVsZGRlZiB2YWx1ZSB3aXRoIGFsaWFzIGRpcmVjdGx5IGZyb20gb2JqZWN0OiAkaXRlbS0+YWxpYXMsIGluc3RlYWQgb2YgaXRlbS0+ZmllbGRkZWZzLmFsaWFzLnZhbHVlLiBPbGQgd2F5IHdvcmtzIGFsc28uPC9saT4KICAgIDxsaT5BZGRpbmcgc3VwcG9ydCBmb3Ige2NnZV9tb2R1bGVfaGludH0uIFVzYWdlIGFuZCBpbnN0cnVjdGlvbnMgaW4gQ0dFeHRlbnNpb25zLjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzgxNzkuIHByZXR0eSB1cmwgc3VwcG9ydCB0byBwYWdpbmF0aW9uLjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzgxODAuIHNlZSBDR0V4dGVuc2lvbnMgaGVscCBmb3Ige2NnZV9tb2R1bGVfaGludH0uPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4MjYyLiBUeXBvcyBpbiBsYW5ndWFnZSBmaWxlcy48L2xpPgogICAgPGxpPkZpeGVzIHByb2JsZW0gd2l0aCBpbmxpbmUgbW9kZS48L2xpPgogICAgPGxpPkFkZGluZyBGUiM4MTY4LiBwYWdpbmF0aW9uIGZvciBpdGVtcyBpbiBiYWNrLWVuZC48L2xpPgogICAgPGxpPkZpZWxkIGRlZmluaXRpb25zIG5vdyByZW1vdmFibGUgZXZlbiBpZiBpdGVtcyBoYXZlIHZhbHVlcyBvbiBlbS48L2xpPgogICAgPGxpPkRpc2FibGluZyByZW9yZGVyIGNhdGVnb3J5IGJ1dHRvbiwgdW50aWwgd2UgZ2V0IGl0IHdvcmtpbmcgcHJvcGVybHkuPC9saT4KICAgIDxsaT5SZW1vdmluZyBkZWJ1ZyB0ZW1wbGF0ZXMuIEFkZGluZyBwYXJhbWV0ZXI6IGRlYnVnLiBQb3NzaWJsZSB0byB2aWV3IHRlbXBsYXRlIGFuZCBkZWJ1ZyBpbmZvIGF0IHRoZSBzYW1lIHRpbWUgbm93LjwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbiAxLjIuMTwvaDM+Cjx1bD4KICAgIDxsaT5GaXhpbmcgYnVnIHdpdGggR0JGaWxlUGlja2VyLjwvbGk+CiAgICA8bGk+TWlub3IgYWRqdXN0bWVudHMuPC9saT4KICAgIDxsaT5Nb3ZpbmcgY2hhbmdlbG9nIHRvIHN0YXRpYyBmaWxlLjwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbiAxLjI8L2gzPgo8dWw+CiAgICA8bGk+Q29tcGxldGUgcmV3cml0ZSBvZiBUZW1wbGF0ZSBoYW5kbGluZywgdXNpbmcgQ01TTVMgdGVtcGxhdGVzIHRhYmxlIG5vdzwvbGk+CiAgICA8bGk+QWRkaXRpb25hbCBGaWxlZCBkZWZpbml0aW9uczwvbGk+CiAgICA8bGk+UmVtb3ZlZCBHQkZpbGVQaWNrZXIgZGVwZW5kZW5jeTwvbGk+CiAgICA8bGk+Q01TTVMgMS4xMSByZWFkeTwvbGk+CiAgICA8bGk+SW1wcm92ZWQgaGFuZGxpbmcgb2YgaXRlbXMgb3JkZXJpbmc8L2xpPgogICAgPGxpPkFkZGVkIHBvc3NpYmlsaXR5IG9mIGR1cGxpY2F0aW5nIG11bHRpcGxlIGluc3RhbmNlcyBmcm9tIGJhY2tlbmQgYW5kIHJlZHVjZWQgdGhlIG51bWJlciBvZiBmaWxlcyBuZWVkZWQgZm9yIGR1cGxpY2F0ZWQgaW5zdGFuY2VzPC9saT4KICAgIDxsaT5OdW1iZXJlZCBwYWdpbmF0aW9uIGluIHN1bW1hcnkgdGVtcGxhdGVzPC9saT4KICAgIDxsaT5OdW1lcm91cyBidWdmaXhlczwvbGk+CiAgICA8bGk+UG9zc2liaWxpdHkgdG8gc3BlY2lmeSBkZWZ1YWx0IGNhdGVnb3J5PC9saT4KICAgIDxsaT5Qb3NzaWJpbGl0eSB0byBzcGVjaWZ5IGRlZmF1bHQgVGVtcGxhdGVzPC9saT4KICAgIDxsaT5Qb3NzaWJpbGl0eSB0byByZWxvYWQgZGVmYXVsdCB0ZW1wbGF0ZXM8L2xpPgogICAgPGxpPkFkZGVkIG9wdGlvbiBvZiBjaG9vc2luZyBBZG1pbiBTZWN0aW9uPC9saT4KICAgIDxsaT5hbmQgbW9yZSAuLi48L2xpPgo8L3VsPgoKPGgzPlZlcnNpb24gMS4xPC9oMz4KPHVsPgogICAgPGxpPk11bGl0bGV2ZWwgQ2F0ZWdvcmllczwvbGk+CiAgICA8bGk+U3VtbWFyeSBQYWdpbmF0aW9uPC9saT4KICAgIDxsaT5NdWx0aXBsZSBDYXRlZ29yaWVzIGZvciBwYXJhbWV0ZXIgY2F0ZWdvcnk8L2xpPgogICAgPGxpPkNNU01TIDEuMTAgcmVhZHk8L2xpPgogICAgPGxpPkJhY2tlbmQgdGFibGUgc2VhcmNoPC9saT4KICAgIDxsaT5FeGNsdWRlIENhdGVnb3J5IHBhcmFtZXRlcjwvbGk+CjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[ListItExtended allows you to create lists that you can display throughout your website.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_copymodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ2hlY2sgcGFyYW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCiAgICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpbnN0YW5jZXN0YWInKTsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgokbW9kdWxlX25hbWUgPSAnJzsKaWYoaXNzZXQoJHBhcmFtc1snbW9kdWxlX25hbWUnXSkpIHsKCgkkbW9kdWxlX25hbWUgPSAkcGFyYW1zWydtb2R1bGVfbmFtZSddOwp9CgokaW52YWxpZF9uYW1lcyA9IGFycmF5KCdsaXN0aXQyJywgJ29yaWdpbmFsJywgJ3hkZWZzJywgJ2xvYWRlcicpOwokbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOwpmb3JlYWNoKCRtb2R1bGVzIGFzICRtb2QpIHsKCgkkbW9kLT5tb2R1bGVfbmFtZSA9IHN1YnN0cigkbW9kLT5tb2R1bGVfbmFtZSwgc3RybGVuKExpc3RJdDJEdXBsaWNhdG9yOjpNT0RfUFJFRklYKSk7CgkkaW52YWxpZF9uYW1lc1tdID0gc3RydG9sb3dlcigkbW9kLT5tb2R1bGVfbmFtZSk7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTdWJtaXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoKCSRlcnJvcnMgPSBhcnJheSgpOwoJCglpZihlbXB0eSgkbW9kdWxlX25hbWUpKSB7CgkKCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnbW9kdWxlX25hbWVfZW1wdHknKTsKCX0KCQoJaWYocHJlZ19tYXRjaCgnL1teMC05YS16QS1aXS8nLCAkbW9kdWxlX25hbWUpKSB7CgkKCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnbW9kdWxlX25hbWVfaW52YWxpZCcpOwoJfQoJCglpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRtb2R1bGVfbmFtZSksICRpbnZhbGlkX25hbWVzKSkgewoJCgkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ21vZHVsZV9uYW1lX2ludmFsaWQnKTsKCX0JCgoJaWYgKGVtcHR5KCRlcnJvcnMpKSB7CgkKCQkkZHVwbGljYXRvciA9IG5ldyBMaXN0SXQyRHVwbGljYXRvcigkbW9kdWxlX25hbWUpOwoJCSRtb2R1bGVfZnVsbG5hbWUgPSAkZHVwbGljYXRvci0+UnVuKCk7CgkJCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9pbnN0YWxsJykpIHsKCQkKCQkJJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKCQkJJG1vZG9wcy0+SW5zdGFsbE1vZHVsZSgkbW9kdWxlX2Z1bGxuYW1lKTsKCQl9CgkJCgkJJHBhcmFtcyA9IGFycmF5KCdtZXNzYWdlJyA9PiAnbW9kdWxlY29waWVkJywnYWN0aXZlX3RhYicgPT4gJ2luc3RhbmNlc3RhYicpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7ICAKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEVycm9yIGhhbmRsaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghZW1wdHkoJGVycm9ycykpIHsKCiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdhZG1pbl9jb3B5bW9kdWxlJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2UsICcnLCAkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tb2R1bGVfbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbW9kdWxlX25hbWUnLCAkbW9kdWxlX25hbWUsIDQwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjb3B5bW9kdWxlLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_domaintenance.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CiRwYXJtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnbWFpbnRlbmFuY2V0YWInKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBGaXggZmllbGRkZWYgdGFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmKGlzc2V0KCRwYXJhbXNbJ2ZpeF9maWVsZGRlZnMnXSkpIHsKCgkkdHlwZV9tYXAgPSBhcnJheSgKCQkJJ3RleHRib3gnID0+ICdUZXh0SW5wdXQnLAoJCQknZHJvcGRvd24nID0+ICdEcm9wZG93bicsCgkJCSdoaWVyYXJjaHknID0+ICdDb250ZW50UGFnZXMnLAoJCQknY2hlY2tib3gnID0+ICdDaGVja2JveCcsCgkJCSd0ZXh0YXJlYScgPT4gJ1RleHRBcmVhJywKCQkJJ2dhbGxlcnknID0+ICdHYWxsZXJ5RHJvcGRvd24nLAoJCQknc2VsZWN0X2RhdGUnID0+ICdTZWxlY3REYXRlJywKCQkJJ3VwbG9hZF9maWxlJyA9PiAnR0JGaWxlUGlja2VyJywKCQkJJ3NlbGVjdF9maWxlJyA9PiAnU2VsZWN0RmlsZScKCSk7CgoJJG1vZHVsZXMgPSAkdGhpcy0+TGlzdE1vZHVsZXMoKTsKCQoJZm9yZWFjaCgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7CgoJCSRtb2QgPSBjbXNtcygpLT5HZXRNb2R1bGVJbnN0YW5jZSgkbW9kdWxlLT5tb2R1bGVfbmFtZSk7CgkJCgkJaWYoaXNfb2JqZWN0KCRtb2QpKSB7CgkJCQoJCQlmb3JlYWNoKCR0eXBlX21hcCBhcyAkb2xkX3R5cGU9PiRuZXdfdHlwZSkgewoKCQkJCSRxdWVyeSAgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgU0VUIHR5cGUgPSA/IFdIRVJFIHR5cGUgPSA/JzsKCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmV3X3R5cGUsICRvbGRfdHlwZSkpOwoJCQl9CgkJfQoJfQoJCgkkcGFybXNbJ21lc3NhZ2UnXSA9ICdtZXNzYWdlX2ZpZWxkZGVmc19maXhlZCc7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZWRpcmVjdAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFybXMpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_scanfielddefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgpMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOwoKLy8gYWxsIGRvbmUKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnN0YWInLCAnbWVzc2FnZSc9PidmaWVsZGRlZl9zY2FubmVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_togglefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ3R5cGUnXSkpCgl0aHJvdyBuZXcgTGlzdEl0MkV4Y2VwdGlvbignTWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4hJyk7CgokdHlwZSA9IChzdHJpbmcpJHBhcmFtc1sndHlwZSddOwkKCQokc3RhdHVzID0gTGlzdEl0MkZpZWxkZGVmT3BlcmF0aW9uczo6VG9nZ2xlQWN0aXZlKCRwYXJhbXNbJ3R5cGUnXSk7CgkKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7CiRqc29uID0gbmV3IHN0ZENsYXNzOwoKaWYgKCRzdGF0dXMpIHsKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZXZlcnQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwp9IAplbHNlIHsKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7Cn0KCiRqc29uLT5ocmVmID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fdG9nZ2xlZmllbGRkZWYnLCAkcmV0dXJuaWQsICcnLCBhcnJheSgndHlwZScgPT4gJHR5cGUpLCAnJywgdHJ1ZSk7CgovLyBGaXggVVJMIGZvciBKU09OIG91dHB1dAokanNvbi0+aHJlZiA9IGh0bWxfZW50aXR5X2RlY29kZSgkanNvbi0+aHJlZik7CgpoZWFkZXIoIkNvbnRlbnQtdHlwZTphcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKZWNobyBqc29uX2VuY29kZSgkanNvbik7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_updateoptions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTZXQgbmV3IHZhbHVlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3NjYW4nLCAoaXNzZXQoJHBhcmFtc1snYWxsb3dfYXV0b3NjYW4nXSk/MTowKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19hdXRvaW5zdGFsbCcsIChpc3NldCgkcGFyYW1zWydhbGxvd19hdXRvaW5zdGFsbCddKT8xOjApKTsKCiRwYXJhbXMgPSBhcnJheSgnbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcsICdhY3RpdmVfdGFiJyA9PiAnb3B0aW9uc3RhYicpOwokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_upgrademodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZihpc3NldChzZWxmOjokZHVwbGljYXRlKSkgcmV0dXJuOwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsKCmlmICghaXNzZXQoJHBhcmFtc1snbW9kdWxlX2lkJ10pKQoJdGhyb3cgbmV3IExpc3RJdDJFeGNlcHRpb24oJ01pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuIScpOwoKJEdMT0JBTFNbJ0NNU19GT1JDRV9NT0RVTEVfTE9BRCddID0gMTsKCiRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CiRtb2R1bGVzID0gJHRoaXMtPkxpc3RNb2R1bGVzKCk7CiRtb2RuYW1lID0gJG1vZHVsZXNbJHBhcmFtc1snbW9kdWxlX2lkJ11dLT5tb2R1bGVfbmFtZTsKCiRtb2RvcHMtPlVwZ3JhZGVNb2R1bGUoJG1vZG5hbWUpOwoKLy8gYWxsIGRvbmUKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpbnN0YW5jZXN0YWInLCAnbWVzc2FnZScgPT4gJ2luc3RhbmNlX21vZHVsZXVwZ3JhZGVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZiAoaXNzZXQoJHBhcmFtc1snbWVzc2FnZSddKSkgewoJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJHBhcmFtc1snbWVzc2FnZSddKSk7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydlcnJvcnMnXSkgJiYgY291bnQoJHBhcmFtc1snZXJyb3JzJ10pKSB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRwYXJhbXNbJ2Vycm9ycyddKTsKfQoKaWYgKCFlbXB0eSgkcGFyYW1zWydhY3RpdmVfdGFiJ10pKSB7CgkkdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwp9IGVsc2UgewoJJHRhYiA9ICdpbnN0YW5jZXN0YWInOwp9CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpbnN0YW5jZXN0YWInLCAkdGhpcy0+TW9kTGFuZygnaW5zdGFuY2VzJyksICgkdGFiID09ICdpbnN0YW5jZXN0YWInKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZmllbGRkZWZzdGFiJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmcycpLCAoJHRhYiA9PSAnZmllbGRkZWZzdGFiJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21haW50ZW5hbmNldGFiJywgJHRoaXMtPk1vZExhbmcoJ21haW50ZW5hbmNlJyksICgkdGFiID09ICdtYWludGVuYW5jZXRhYicpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdvcHRpb25zdGFiJywgJHRoaXMtPk1vZExhbmcoJ29wdGlvbnMnKSwgKCR0YWIgPT0gJ29wdGlvbnN0YWInKSk7CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2luc3RhbmNlc3RhYicsICRwYXJhbXMpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy90YWJjb250ZW50LmFkbWluX2luc3RhbmNlc3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdmaWVsZGRlZnN0YWInLCAkcGFyYW1zKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvdGFiY29udGVudC5hZG1pbl9maWVsZGRlZnN0YWIucGhwJzsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignbWFpbnRlbmFuY2V0YWInLCAkcGFyYW1zKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvdGFiY29udGVudC5hZG1pbl9tYWludGVuYW5jZXRhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdvcHRpb25zdGFiJywgJHBhcmFtcyk7CmluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL3RhYmNvbnRlbnQuYWRtaW5fb3B0aW9uc3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKICAgIAplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPlZlcnNpb24gMS40PC9oMz4KPHVsPgogICAgPGxpPkZpeGVzIHVwZ3JhZGUgdmlhIE1vTWEgaGFuZ2luZyB3aG9sZSBhZG1pbi4gTW92ZWQgZHVwbGljYXRvciBtZXRob2RzIGZyb20gdXBncmFkZSBzY3JpcHQgdG8gZXZlbnQuPC9saT4KICAgIDxsaT5VcGRhdGUgdG8gZGVmYXVsdCB0ZW1wbGF0ZXMsIHJlbW92ZWQgYWNjb3JkaW9uIGFuZCBjYXRlZ29yaXplZC48L2xpPgogICAgPGxpPkFkbWluZyBwYWdpbmF0aW9uIG5vdyBtYWludGFpbnMgY3VycmVudCBwYWdlLCB3aGVuIGp1bXBpbmcgaW4gYW5kIG91dCBvZiBpdGVtcy48L2xpPgogICAgPGxpPkZpeGVzIGlzc3VlIHdoZXJlIGlzc2V0KCkgYW5kIGVtcHR5KCkgZGlkbnQgd29yayBhZ2FpbnMgZmllbGQgc2hvcnRoYW5kLjwvbGk+CiAgICA8bGk+QWRkaW5nIHBlcm1pc3Npb25zOiBSZW1vdmUgaXRlbXMsIEFwcHJvdmUgaXRlbXMsIE1vZGlmeSBhbGwgaXRlbXMuPC9saT4KICAgIDxsaT5JbmNyZWFzaW5nIHBlcmZvcm1hbmNlIGFuZCByZWR1Y2luZyBxdWVyaWVzIGFuZCBtZW1vcnkgdXNhZ2UgYWxvdCBpbiBnZW5lcmFsLjwvbGk+CiAgICA8bGk+QWRkaW5nIHNldmVyYWwgbmV3IHByZWZlcmVuY2VzLjwvbGk+CiAgICA8bGk+QWRkaW5nIG5ldyBwYXJhbTogc3VtbWFyeXBhZ2UuPC9saT4KICAgIDxsaT5JbnRyb2R1Y2luZyBpbnRlcmFsIEV2ZW50IEhhbmRsZXIgaW4gRmllbGRkZWZCYXNlLjwvbGk+CiAgICA8bGk+QWRkaW5nIG5ldyBGaWVsZGRlZiBUeXBlOiBGaWxlVXBsb2FkLjwvbGk+CiAgICA8bGk+QWRkaW5nIG5ldyBGaWVsZGRlZkJhc2UgbWV0aG9kIElzVW5pcXVlLjwvbGk+CiAgICA8bGk+Q2F0ZWdvcmllcyB3cml0dGVuIGludG8gZmllbGRkZWYuIEFkZGluZyB0aGlzIGZpZWxkIHdpbGwgcmV2ZWFsIGNhdGVnb3J5IG9wdGlvbnMsIGVsc2UgYWxsIGNhdGVnb3J5IHJlbGF0ZWQgaXMgaGlkZGVuLjwvbGk+CiAgICA8bGk+QWRkaW5nIG5ldyBzbWFydHkgcGx1Z2luOiBMaXN0SXQyTG9hZGVyLiBNYWtlcyBwb3NzaWJsZSB0byBsb2FkIHNpbmdsZSBvciBtdWx0aXBsZSBpdGVtcyBvciBjYXRlZ29yaWVzIGZyb20gYW55d2hlcmUgaW4gQ01TTVMgd2l0aCBtdWx0aXBsZSBjcml0ZXJhcy48L2xpPgogICAgPGxpPkRyb3BwaW5nIGRlcHJlY2F0ZWQgc21hcnR5IGFzc2lnbnMuIERyb3BwaW5nICR1cGxvYWRzX3VybCBhc3NpZ24sIHVzZSB7dXBsb2Fkc191cmx9IHBsdWdpbiBpbnN0ZWFkLCBpbmNsdWRlZCBpbiBjb3JlLjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzg5MDIuIE9yZGVyIGJ5IHN0YXJ0IGFuZCBlbmQgZGF0ZS48L2xpPgogICAgPGxpPkFkZGluZyBGUiM4MzY3LiBHcm91cCBQZXJtaXNzaW9ucyAtIEFwcHJvdmUgaXRlbSBmb3IgRnJvbnRlbmQgRGlzcGxheS48L2xpPgogICAgPGxpPkFkZGluZyBGUiM4MTUxLiBBZGQgY29weSBpdGVtIGFjdGlvbi48L2xpPgogICAgPGxpPkZpeGVzIEJSIzg0NTQuIFBhZ2luYXRpb24gd2l0aCBzZWFyY2ggZnVuY3Rpb24gYW5kIHBhZ2UgbGltaXQuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4ODUzLiBUZXh0IGFyZWFzIGhhdmUgdG8gaGF2ZSAnTWF4IGxlbmdodCcuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM5MTIzLiBBY3Rpb25zOiAiY2F0ZWdvcnkiIG1pc3NpbmcgaW4gaGVscCBhbmQgImZpbHRlciIgZGVwcmVjYXRlZCA/PC9saT4KICAgIDxsaT5GaXhlcyBCUiM5MTI0LiBDYXRlZ29yeSBwYXJhbWV0ZXIgaW4gYSBzdW1tYXJ5dGVtcGxhdGUgZ2VuZXJhdGVzIHVudXNhYmxlIGxpbmtzIHRvIGl0ZW0uPC9saT4KICAgIDxsaT5GaXhlcyBCUiM5MTM4LiBFbmdsaXNoIGxhbmd1YWdlIGNvcnJlY3Rpb25zLjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjOTE4Mi4gQ2F0ZWdvcmllcy0+c3ViLWNhdGVnb3JpZXMgYW5kIHByZXR0eSB1cmwuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM5MTg3LiBWYXJpYWJsZXMgbm90IGF2YWlsYWJsZSB0byBkZXRhaWwgdGVtcGxhdGUuPC9saT4KPC91bD4KCjxoMz5WZXJzaW9uIDEuNC1iZXRhMjwvaDM+Cjx1bD4KICAgIDxsaT5JbnRlcm5hbCByZWxlYXNlLjwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbiAxLjQtYmV0YTE8L2gzPgo8dWw+CiAgICA8bGk+QWRkaW5nIGNhdGVnb3J5IG9wZXJhdGlvbiBjbGFzc2VzOiBMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zLCBMaXN0SXQyQ2F0ZWdvcnk8L2xpPgogICAgPGxpPkFkZGluZyBxdWVyeSBjbGFzc2VzOiBMaXN0SXQyUXVlcnksIExpc3RJdDJJdGVtUXVlcnksIExpc3RJdDJDYXRlZ29yeVF1ZXJ5PC9saT4KICAgIDxsaT5BZGRpbmcgaGllcmFyY2h5IGNsYXNzZXM6IExpc3RJdDJIaWVyYXJjaHlNYW5hZ2VyPC9saT4KICAgIDxsaT5BZGRpbmcgZXZlbnQ6IFByZVJlbmRlckFjdGlvbi4gTWFraW5nIHF1ZXJ5IGluamVjdGlvbnMgcG9zc2libGUgd2l0aCBVRFQuPC9saT4KICAgIDxsaT5BZGRpbmcgZGF0YWJhc2UgaW50ZWdyYXRpb24gY29sdW1uczoga2V5MSwga2V5Miwga2V5My4gTWFrZXMgaW50ZWdyYXRpb25zIHdpdGggZXh0ZXJuYWwgc3lzdGVtcyBwb3NzaWJsZS48L2xpPgogICAgPGxpPkFkZGluZyBiZWhhdmlvciB0byBsb2FkIGl0ZW1zIGFuZCBjYXRlZ29yaWVzIHdpdGggbW9yZSB0aGFuIG9uZSBjcml0ZXJhLjwvbGk+CiAgICA8bGk+QWRkaW5nIGFjdGlvbjogY2F0ZWdvcnkuIE1ha2VzIGNhdGVnb3J5IGxpc3RpbmcgcG9zc2libGUgdmFyaW91cyBvZiB3YXlzLjwvbGk+CiAgICA8bGk+QWRkaW5nIFR3byBuZXcgY2F0ZWdvcnkgdGVtcGxhdGVzLCBvbmUgZm9yIG5vcm1hbCB2aWV3IGFuZCBvbmUgZm9yIGhpZXJhcmNoaWFsLjwvbGk+CiAgICA8bGk+Q2F0ZWdvcmllcyBhcmUgbm8gbG9uZ2VyIG1hbmRhdG9yeSBmb3IgaXRlbXMuPC9saT4KICAgIDxsaT5WYWx1ZXMgbm8gbG9uZ2VyIHNhdmVkIGludG8gZGF0YWJhc2UgaW4gc2VyaWFsaXplZCBmb3JtYXQuIFVzaW5nIHZhbHVlX2luZGV4ZXMgZm9yIHZhbHVlIGZyYWdtZW50cy48L2xpPgogICAgPGxpPlN1cHBvcnQgZm9yIFBIUCA1LjIgZHJvcHBlZC4gTWluaW11bSByZXF1aXJlZCB2ZXJzaW9uIGlzIDUuMy48L2xpPgogICAgPGxpPlNldmVyYWwgbmV3IHBhcmFtZXRlcnMgYXZhaWxhYmxlLjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzY3MzMuIEluY2x1ZGUgSXRlbSBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzLjwvbGk+CQogICAgPGxpPkFkZGluZyBGUiM4MjYwLiBEaXNhYmxlIGNhdGVnb3JpZXMuPC9saT4JCiAgICA8bGk+QWRkaW5nIEZSIzg4MTMuIFNlcGFyYXRlIEdldEFkbWluRGVzY3JpcHRpb24uPC9saT4JCiAgICA8bGk+QWRkaW5nIEZSIzg4NTAuIEFsbG93ICJDb250ZW50IFBhZ2VzIiB0byBiZSBwcmVzZW50ZWQgYXMgYSBtdWx0aS1zZWxlY3QuPC9saT4JCiAgICA8bGk+QWRkaW5nIEZSIzg5NjguIFNhdmUgdGhlICJsYXN0IG1vZGlmaWVkIiBkYXRlIG9mIGVhY2ggaXRlbS48L2xpPgkKICAgIDxsaT5BZGRpbmcgRlIjODk2OS4gRGF0ZXBpY2tlciBmaWVsZHMgaW4gYWRtaW4gbGlzdHMuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4MTc4LiBDYXRlZ29yeSBoaWVyYXJjaGllcyBhbmQgcmVvcmRlcmluZyBkb2Vzbid0IHdvcmsgY29ycmVjdGx5LjwvbGk+CQogICAgPGxpPkZpeGVzIEJSIzgyOTAuIFJlb3JkZXIgQ2F0ZWdvcmllcyBIYW5ncyBCcm93c2VyLjwvbGk+CQogICAgPGxpPkZpeGVzIEJSIzg4NTMuIFRleHQgYXJlYXMgaGF2ZSB0byBoYXZlICdNYXggbGVuZ2h0Jy48L2xpPgkKPC91bD4KCjxoMz5WZXJzaW9uIDEuMy4yPC9oMz4KPHVsPgogICAgPGxpPkZpeGVzIEJSIzg4MjIuIEZpeGVzIGlzc3VlIHdpdGggZmllbGQgdmFsdWVzLCB3aGVuIGRpcmVjdGx5IHVwZ3JhZGluZyBmcm9tIDEuMi54IHNlcmllcy48L2xpPgogICAgPGxpPkZpeGVzIGlzc3VlIHdoZW4gdXNpbmcgb3JkZXJieT0nY3VzdG9tX2FsaWFzJy48L2xpPgogICAgPGxpPkZSICM4ODEzLiBBZGRlZCBhbmQgb3B0aW9uIG9mIGNoYW5naW5nIE1vZHVsZSBEZXNjcmlwdGlvbiBmb3IgZWFjaCBJbnN0YW5jZTwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbiAxLjMuMTwvaDM+Cjx1bD4KICAgIDxsaT5GaXhlcyBCUiM4Nzc5LiBVcGdyYWRlIHRpbWUgb3V0cyBvbiBNb01hIHVwZ3JhZGUgcmVxdWVzdC4gTWFudWFsIGZpZWxkIHNjYW4gcmVxdWlyZWQgYWZ0ZXIgdXBncmFkZS48L2xpPgogICAgPGxpPkZpeGVzIEJSIzg3ODAuIFVuaWRlbnRpZmllZCBpbmRleCB3YXJuaW5nIG9uIExpc3RJdDJYRGVmcyBpbnN0YWxsYXRpb24sIHdoZW4gYXV0byBpbnN0YWxsIHNldHRpbmcgaXMgb24uPC9saT4KICAgIDxsaT5BZGRpbmcgbWV0aG9kcyBHZXRIZWFkZXJIVE1MKCkgYW5kIEdldFVSTFBhdGgoKSB0byBGaWVsZGRlZkJhc2UuPC9saT4KICAgIDxsaT5BZGRpbmcgU2VsZWN0IERhdGVUaW1lIGZpZWxkLjwvbGk+CiAgICA8bGk+QWRkaW5nIFNsaWRlciBmaWVsZC48L2xpPgogICAgPGxpPlJlbW92aW5nIFNlbGVjdCBEYXRlIGZpZWxkLjwvbGk+CiAgICA8bGk+UmVzdG9yaW5nIHBhcnRpYWwgUEhQIDUuMi54IHN1cHBvcnQuIFRoaXMgd2lsbCBiZSBsYXN0IHJlbGVhc2Ugc3VwcG9ydGluZyBQSFAgNS4yLnguPC9saT4KICAgIDxsaT5GaXhlcyBVVEYtOCBkZWNvZGUvZW5jb2RlIHByb2JsZW0gd2l0aCBpbXBvcnQvZXhwb3J0LjwvbGk+CiAgICA8bGk+TWFraW5nIG11bHRpdmFsdWVzIHBvc3NpYmxlLiBEYXRhIHN0b3JlZCBpbnRvIGRhdGFiYXNlIGFzIHN0cmluZyBBTkQgc2VyaWFsaXplZCBmb3JtYXQuIFBvc3NpYmxlIHRvIGNhbGwgdmFsdWUgYXMgc3RyaW5nLCBhcnJheSwgb2JqZWN0LjwvbGk+CiAgICA8bGk+QWRkaW5nIE11bHRpIFNlbGVjdCBmaWVsZC48L2xpPgogICAgPGxpPkFkZGluZyBDaGVja2JveCBHcm91cCBmaWVsZC48L2xpPgkKICAgIDxsaT5GaXhlcyBCUiM4ODEyLiBCYXNlIG1vZHVsZSBwZXJtaXNzaW9uIHRpZWQgdG86IE1vZGlmeSBTaXRlIFByZWZlcmVuY2VzLiBUaGFua3MgdG8gY2IyMDA0LjwvbGk+CQogICAgPGxpPkZpeGVzIEJSIzg4MTkuIEFzdGVyaXNrIGFkZGVkIGJhY2sgdG8gZmllbGQgbGFiZWxzLiBUaGFua3MgdG8gY2IyMDA0LjwvbGk+CQo8L3VsPgoKPGgzPlZlcnNpb24gMS4zPC9oMz4KPHVsPgogICAgPGxpPlJlbW92ZWQgZHVwbGljYXRpbmcgaW5zdHJ1Y3Rpb25zIGZyb20gbW9kdWxlIGZpbGVzLCBubyBsb25nZXIgdmFsaWQgYnV0IHNvbWVvbmUgY291bGQgYmUgYSBzbWFydGFzcyBhbmQgZm9sbG93IGluc3RydWN0aW9ucyBhbnl3YXkuPC9saT4KICAgIDxsaT5TZXBhcmF0aW5nIGZyYW1ld29yayBhbmQgaW5zdGFuY2Ugc3R1ZmYuIE1vdGhlciBtb2R1bGUgaW5kZXBlbmRlbnQsIHdpdGhvdXQgYW55IGluc3RhbmNlIG9uIGl0LjwvbGk+CiAgICA8bGk+UmVtb3ZpbmcgcGFyYW1ldGVyOiBudW1iZXIsIHVzZTogcGFnZWxpbWl0IGluc3RlYWQuPC9saT4KICAgIDxsaT5BZGRlZCBvcHRpb24gb2Ygc2hvd2luZyAiZGF0ZSBjcmVhdGVkIiBpbiBJdGVtIGVkaXQgbW9kZSAoRlIgIzgzMzgpPC9saT4KICAgIDxsaT5BZGRlZCBvcHRpb25zIG9mIHNob3dpbmcgY3JlYXRlX3RpbWUsIHN0YXJ0X3RpbWUgYW5kIGVuZF90aW1lIGluIEl0ZW1zIG92ZXJ2aWV3IHRhYmxlPC9saT4KICAgIDxsaT5TYXZlIGN1cnJlbnQgaXRlbSBhbmQgY3JlYXRlIG5ldyAoRlIgIzgyNTQpPC9saT4KICAgIDxsaT5Db21wbGV0ZSByZXdyaXRlIG9mIGZpZWxkIGRlZmluaXRpb25zPC9saT4KICAgIDxsaT5Db21wbGV0ZSByZXdyaXRlIG9mIGl0ZW0gY2xhc3NlczwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODIyOS4gTm90IHRocm93aW5nIG5vdGljZSBvbiB1cGdyYWRlPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4MzM5LiBOb3QgdGhyb3dpbmcgZGVwcmVjYXRlZCB3YXJuaW5nIGFueW1vcmUuPC9saT4KICAgIDxsaT5GaXhlcyBCUiM4MzkxLiBJbXBvc3NpYmxlIHRvIGxlYXZlIGNlcnRhaW4gb3B0aW9ucyBlbXB0eS48L2xpPgogICAgPGxpPkZpeGVzIEJSIzgzOTIuIFdvbid0IGNvbGxhcHNlIHdpdGggR2FsbGVyeSBDU1MgYW55bW9yZS48L2xpPgogICAgPGxpPkZpeGVzIEJSIzg0MDYuIEFzc2V0cyBnZXR0aW5nIGNvcnJlY3QgcHJlZml4LjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODU2NS4gRml4ZXMgcHJvYmxlbSB3aXRoIEdCRmlsZVBpY2tlciBmaWVsZCBkZWZpbml0aW9uLjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODU5My4gU2FtZSBhcyBCUiM4MzM5LjwvbGk+CiAgICA8bGk+QWRkaW5nIEZSIzg2NDUuIFBvc3NpYmxlIHRvIHNob3cgaXRlbXMgdXAgdG8gMTAwMC48L2xpPgogICAgPGxpPkFkZGluZyBzaW1wbGUgQ1NWIGltcG9ydC9leHBvcnQgc3lzdGVtLjwvbGk+CiAgICA8bGk+QWRkaW5nIEFKQVggdG8gbW9zdCBvZiBzbWFsbCBhY3Rpb25zLiBpZS4gdG9nZ2xlLCBkZWxldGUuPC9saT4KICAgIDxsaT5BZGRpbmcgbWFueSBvdGhlciB0aGluZ3Mgd2UgZm9yZ290IHRvIGxpc3QgaGVyZS4uLjwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbiAxLjIuMjwvaDM+Cjx1bD4KICAgIDxsaT5GaXhlcyBCUiM4MjcwLiBtYWludGFpbnMgb3JkZXJieSBwb3NpdGlvbnMgY29ycmVjdGx5LjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODI2NC4gU3RhdGljIHNlYXJjaCB3b3JrcyBub3cgY29ycmVjdGx5LjwvbGk+CiAgICA8bGk+TWVyZ2luIGFjdGlvbnMgZmlsdGVyIGFuZCBzZWFyY2ggdG8gYWN0aW9uIHNlYXJjaC4gQWN0aW9uIGZpbHRlciB0ZW1wbGF0ZSB0YWJsZXMgcmVtb3ZlZC4gU2VhcmNoIGFjdGlvbiBsb2FkaW5nIGZpZWRkZWZzIG9ubHkgaWYgcmVxdWVzdGVkIGJ5IHRlbXBsYXRlPC9saT4KICAgIDxsaT5SZW1vdmluZyAkaGlkZGVuIHNtYXJ0eSB2YXJpYWJsZSBmcm9tIHRlbXBsYXRlcywgcGFydCBvZiBjb250cm9sbGVyIG5vdy48L2xpPgogICAgPGxpPkFkZGluZyBvd24gY2xhc3MgZm9yIGl0ZW0uIFBvc3NpYmxlIHRvIGNhbGwgZmllbGRkZWYgdmFsdWUgd2l0aCBhbGlhcyBkaXJlY3RseSBmcm9tIG9iamVjdDogJGl0ZW0tPmFsaWFzLCBpbnN0ZWFkIG9mIGl0ZW0tPmZpZWxkZGVmcy5hbGlhcy52YWx1ZS4gT2xkIHdheSB3b3JrcyBhbHNvLjwvbGk+CiAgICA8bGk+QWRkaW5nIHN1cHBvcnQgZm9yIHtjZ2VfbW9kdWxlX2hpbnR9LiBVc2FnZSBhbmQgaW5zdHJ1Y3Rpb25zIGluIENHRXh0ZW5zaW9ucy48L2xpPgogICAgPGxpPkFkZGluZyBGUiM4MTc5LiBwcmV0dHkgdXJsIHN1cHBvcnQgdG8gcGFnaW5hdGlvbi48L2xpPgogICAgPGxpPkFkZGluZyBGUiM4MTgwLiBzZWUgQ0dFeHRlbnNpb25zIGhlbHAgZm9yIHtjZ2VfbW9kdWxlX2hpbnR9LjwvbGk+CiAgICA8bGk+Rml4ZXMgQlIjODI2Mi4gVHlwb3MgaW4gbGFuZ3VhZ2UgZmlsZXMuPC9saT4KICAgIDxsaT5GaXhlcyBwcm9ibGVtIHdpdGggaW5saW5lIG1vZGUuPC9saT4KICAgIDxsaT5BZGRpbmcgRlIjODE2OC4gcGFnaW5hdGlvbiBmb3IgaXRlbXMgaW4gYmFjay1lbmQuPC9saT4KICAgIDxsaT5GaWVsZCBkZWZpbml0aW9ucyBub3cgcmVtb3ZhYmxlIGV2ZW4gaWYgaXRlbXMgaGF2ZSB2YWx1ZXMgb24gZW0uPC9saT4KICAgIDxsaT5EaXNhYmxpbmcgcmVvcmRlciBjYXRlZ29yeSBidXR0b24sIHVudGlsIHdlIGdldCBpdCB3b3JraW5nIHByb3Blcmx5LjwvbGk+CiAgICA8bGk+UmVtb3ZpbmcgZGVidWcgdGVtcGxhdGVzLiBBZGRpbmcgcGFyYW1ldGVyOiBkZWJ1Zy4gUG9zc2libGUgdG8gdmlldyB0ZW1wbGF0ZSBhbmQgZGVidWcgaW5mbyBhdCB0aGUgc2FtZSB0aW1lIG5vdy48L2xpPgo8L3VsPgoKPGgzPlZlcnNpb24gMS4yLjE8L2gzPgo8dWw+CiAgICA8bGk+Rml4aW5nIGJ1ZyB3aXRoIEdCRmlsZVBpY2tlci48L2xpPgogICAgPGxpPk1pbm9yIGFkanVzdG1lbnRzLjwvbGk+CiAgICA8bGk+TW92aW5nIGNoYW5nZWxvZyB0byBzdGF0aWMgZmlsZS48L2xpPgo8L3VsPgoKPGgzPlZlcnNpb24gMS4yPC9oMz4KPHVsPgogICAgPGxpPkNvbXBsZXRlIHJld3JpdGUgb2YgVGVtcGxhdGUgaGFuZGxpbmcsIHVzaW5nIENNU01TIHRlbXBsYXRlcyB0YWJsZSBub3c8L2xpPgogICAgPGxpPkFkZGl0aW9uYWwgRmlsZWQgZGVmaW5pdGlvbnM8L2xpPgogICAgPGxpPlJlbW92ZWQgR0JGaWxlUGlja2VyIGRlcGVuZGVuY3k8L2xpPgogICAgPGxpPkNNU01TIDEuMTEgcmVhZHk8L2xpPgogICAgPGxpPkltcHJvdmVkIGhhbmRsaW5nIG9mIGl0ZW1zIG9yZGVyaW5nPC9saT4KICAgIDxsaT5BZGRlZCBwb3NzaWJpbGl0eSBvZiBkdXBsaWNhdGluZyBtdWx0aXBsZSBpbnN0YW5jZXMgZnJvbSBiYWNrZW5kIGFuZCByZWR1Y2VkIHRoZSBudW1iZXIgb2YgZmlsZXMgbmVlZGVkIGZvciBkdXBsaWNhdGVkIGluc3RhbmNlczwvbGk+CiAgICA8bGk+TnVtYmVyZWQgcGFnaW5hdGlvbiBpbiBzdW1tYXJ5IHRlbXBsYXRlczwvbGk+CiAgICA8bGk+TnVtZXJvdXMgYnVnZml4ZXM8L2xpPgogICAgPGxpPlBvc3NpYmlsaXR5IHRvIHNwZWNpZnkgZGVmdWFsdCBjYXRlZ29yeTwvbGk+CiAgICA8bGk+UG9zc2liaWxpdHkgdG8gc3BlY2lmeSBkZWZhdWx0IFRlbXBsYXRlczwvbGk+CiAgICA8bGk+UG9zc2liaWxpdHkgdG8gcmVsb2FkIGRlZmF1bHQgdGVtcGxhdGVzPC9saT4KICAgIDxsaT5BZGRlZCBvcHRpb24gb2YgY2hvb3NpbmcgQWRtaW4gU2VjdGlvbjwvbGk+CiAgICA8bGk+YW5kIG1vcmUgLi4uPC9saT4KPC91bD4KCjxoMz5WZXJzaW9uIDEuMTwvaDM+Cjx1bD4KICAgIDxsaT5NdWxpdGxldmVsIENhdGVnb3JpZXM8L2xpPgogICAgPGxpPlN1bW1hcnkgUGFnaW5hdGlvbjwvbGk+CiAgICA8bGk+TXVsdGlwbGUgQ2F0ZWdvcmllcyBmb3IgcGFyYW1ldGVyIGNhdGVnb3J5PC9saT4KICAgIDxsaT5DTVNNUyAxLjEwIHJlYWR5PC9saT4KICAgIDxsaT5CYWNrZW5kIHRhYmxlIHNlYXJjaDwvbGk+CiAgICA8bGk+RXhjbHVkZSBDYXRlZ29yeSBwYXJhbWV0ZXI8L2xpPgo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/duplicate/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/duplicate/4ab7b29dd7addc879cb92ce009306e4e</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyA0YWI3YjI5ZGQ3YWRkYzg3OWNiOTJjZTAwOTMwNmU0ZSBleHRlbmRzIExpc3RJdDIKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKCXsJCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOwoJfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTW9kdWxlIGFwaSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpCgl7CgkJcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQoJewoJCXJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJyk7Cgl9CgkKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZGRlc2NyaXB0aW9uJywgJHRoaXMtPk1vZExhbmcoJ21vZGRlc2NyaXB0aW9uJykpOwogICAgfSAJCgoJcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCgl7CgkJcmV0dXJuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbnNlY3Rpb24nKTsKCX0JCgoJcHVibGljIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKQoJewoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKCXsKCQlyZXR1cm4gYXJyYXkoJ0xpc3RJdDInID0+ICcxLjQnKTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCgl7CgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQoJewoJCXJldHVybiB0cnVlOwoJfQkKCglwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRGcm9udGVuZCgpIAoJewoJCXJldHVybiBmYWxzZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIFN1YlBhY2thZ2UoKQoJewoJCXJldHVybiBGQUxTRTsKCX0JCgoJcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKQoJewoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgoJCSRzbWFydHktPmFzc2lnbignbW9kdWxlX25hbWUnLCAkdGhpcy0+R2V0TmFtZSgpKTsKCQkkc21hcnR5LT5hc3NpZ24oJ3BhcmVudF9uYW1lJywgcGFyZW50OjpHZXROYW1lKCkpOwoJCSRzbWFydHktPmFzc2lnbignbW9kdWxlX2FsaWFzJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpKTsKCQkkc21hcnR5LT5hc3NpZ24oJ3Jvb3R1cmwnLCAkY29uZmlnWydyb290X3VybCddKTsKCgkJJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7CgoJCSRzbWFydHktPmFzc2lnbigndXNhZ2VfdGV4dCcsIHN0cl9yZXBsYWNlKCd7JG1vZHVsZV9uYW1lfScsICR0aGlzLT5HZXROYW1lKCksICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3VzYWdlJykpKTsKCQkkc21hcnR5LT5hc3NpZ24oJ3Blcm1pc3Npb25zX3RleHQnLCBzdHJfcmVwbGFjZSgneyRtb2R1bGVfbmFtZX0nLCAkdGhpcy0+R2V0TmFtZSgpLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wZXJtaXNzaW9ucycpKSk7CgkJJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZXNfdGV4dCcsIHN0cl9yZXBsYWNlKCd7JG1vZHVsZV9uYW1lfScsICR0aGlzLT5HZXROYW1lKCksICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3RlbXBsYXRlcycpKSk7CgkJJHNtYXJ0eS0+YXNzaWduKCdkdXBsaWNhdGluZ190ZXh0Jywgc3RyX3JlcGxhY2UoJ3skbW9kdWxlX25hbWV9JywgJHRoaXMtPkdldE5hbWUoKSwgJHRoaXMtPk1vZExhbmcoJ2hlbHBfZHVwbGljYXRpbmcnKSkpOwoKCQlyZXR1cm4gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnaGVscC50cGwnKTsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQoJewoJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhY3Rpb24nLCBDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaG93YWxsJywgQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnknLCBDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdleGNsdWRlX2NhdGVnb3J5JywgQ0xFQU5fU1RSSU5HKTsJCQkKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3ViY2F0ZWdvcnknLCBDTEVBTl9JTlQpOwkJCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ29yZGVyYnknLCBDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWx0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnl0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaHRlbXBsYXRlJywgQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnl0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLCBDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdW1tYXJ5cGFnZScsIENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW0nLCBDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpZF9oaWVyYXJjaHknLCBDTEVBTl9TVFJJTkcpOwkJCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3RhcnQnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VudW1iZXInLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaCcsIENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLicvc2VhcmNoXy4qLycsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmlsdGVyJywgQ0xFQU5fU1RSSU5HKTsKCQkvLyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyZXR1cm5wYWdlJywgQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGVidWcnLCBDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjb2xsYXBzZScsIENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3dfaXRlbXMnLCBDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdudW1iZXJfb2ZfbGV2ZWxzJywgQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5jbHVkZV9pdGVtcycsIENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2V4Y2x1ZGVfaXRlbXMnLCBDTEVBTl9TVFJJTkcpOwoJCQoJCSRzdWJjYXRlZ29yeSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdWJjYXRlZ29yeScpOwoJCQoJCS8vIFBhZ2luYXRpb24KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPnByZWZpeC4nXC9wYWdlXC8oP1A8cGFnZW51bWJlcj5bMC05XSs/KVwvKD9QPHBhZ2VsaW1pdD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKSk7CgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5wcmVmaXguJ1wvcGFnZVwvKD9QPHBhZ2VudW1iZXI+WzAtOV0rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpKTsKCQkKCQkvLyBIaWVyYXJjaHkgdmlldwkJCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5wcmVmaXguJ1wvKD9QPGNhdGVnb3J5Pi4rPylcLyg/UDxpZF9oaWVyYXJjaHk+WzAtOS5dKylcLyg/UDxpdGVtPi4rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJykpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+cHJlZml4LidcLyg/UDxjYXRlZ29yeT4uKz8pXC8oP1A8aWRfaGllcmFyY2h5PlswLTkuXSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnLCAnc3ViY2F0ZWdvcnknID0+ICRzdWJjYXRlZ29yeSkpOwkKCQkKCQkvLyBTaW5ndWxhcgkJCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5wcmVmaXguJ1wvKD9QPGl0ZW0+Lis/KVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxkZXRhaWx0ZW1wbGF0ZT4uKz8pJC8nLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJykpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+cHJlZml4LidcLyg/UDxpdGVtPi4rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJykpOwkKCX0KCQoJcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpCgl7CgkJLy8gcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBjYWxsZWQgaW4gdGhlIG1vZHVsZSB0YWcKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCAnZGVmYXVsdCcsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2FjdGlvbicpKTsJCQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ29yZGVyYnknLCAnaXRlbV9wb3NpdGlvbicsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX29yZGVyYnknKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd2FsbCcsICcwJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fc2hvd2FsbCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeScsICdnZW5lcmFsJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fY2F0ZWdvcnknKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZXhjbHVkZV9jYXRlZ29yeScsICcnLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9leGNsdWRlX2NhdGVnb3J5JykpOwkJCQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1YmNhdGVnb3J5JywgJ2ZhbHNlJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fc3ViY2F0ZWdvcnknKSk7CQkKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsICdkZWZhdWx0JywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3VtbWFyeXRlbXBsYXRlJywgJ2RlZmF1bHQnLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNodGVtcGxhdGUnLCAnZGVmYXVsdCcsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3NlYXJjaHRlbXBsYXRlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdGVnb3J5dGVtcGxhdGUnLCAnZGVmYXVsdCcsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2NhdGVnb3J5dGVtcGxhdGUnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGV0YWlscGFnZScsICcnLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9kZXRhaWxwYWdlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnlwYWdlJywgJycsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3N1bW1hcnlwYWdlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2l0ZW0nLCAnYWxpYXMnLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9pdGVtJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsIDEwMDAwMCwgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fcGFnZWxpbWl0JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N0YXJ0JywgMCwgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fc3RhcnQnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNoJywgJycsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3NlYXJjaCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZXJhY2hfKicsJycsJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fc2VhcmNoXycpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXInLCcnLCR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2ZpbHRlcicpKTsKCQkvLyR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3JldHVybnBhZ2UnLCAnJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fcmV0dXJucGFnZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZWJ1ZycsICdmYWxzZScsICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2RlYnVnJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NvbGxhcHNlJywgJ2ZhbHNlJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fY29sbGFwc2UnKSk7CQkKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzaG93X2l0ZW1zJywgJ2ZhbHNlJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fc2hvd19pdGVtcycpKTsJCQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ251bWJlcl9vZl9sZXZlbHMnLCAnJywgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fbnVtYmVyX29mX2xldmVscycpKTsJCQkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW5jbHVkZV9pdGVtcycsICcnLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9pbmNsdWRlX2l0ZW1zJykpOwkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZXhjbHVkZV9pdGVtcycsICcnLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9leGNsdWRlX2l0ZW1zJykpOwkJCgl9CQoJCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCiAgICB7CgkJLy8gU1NMIGNoZWNrIChIb3BlZnVsbHkgY29yZSB3b3VsZCBkbyB0aGlzIHNvb24uLi4pCgkJJHVzZV9zc2wgPSBmYWxzZTsKCQlpZihpc3NldCgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgJF9TRVJWRVJbJ0hUVFBTJ109PSdvbicpCgkJCSR1c2Vfc3NsID0gdHJ1ZTsKCQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkbW9kdWxlbmFtZSA9ICR0aGlzLT5HZXROYW1lKCk7CgkJJG1vZHVsZWRpciA9ICR0aGlzLT5HZXRQYXJlbnRVUkxQYXRoKCR1c2Vfc3NsKTsKCQkkZ2xvYmFsc19qcyA9ICgkdXNlX3NzbD8kY29uZmlnWydzc2xfdXJsJ106JGNvbmZpZ1sncm9vdF91cmwnXSkuICcvbW9kdWxlcy8nLiBMSVNUSVQyIC4nL2xpYi9qcy8nOwoJCSRnbG9iYWxzX2NzcyA9ICgkdXNlX3NzbD8kY29uZmlnWydzc2xfdXJsJ106JGNvbmZpZ1sncm9vdF91cmwnXSkuICcvbW9kdWxlcy8nLiBMSVNUSVQyIC4nL2xpYi9jc3MvJzsKICAgICAgICAkYWRtaW5kaXIgPSAkY29uZmlnWydhZG1pbl91cmwnXTsKICAgICAgICAkdXNlcmtleSA9IGdldF9zZWN1cmVfcGFyYW0oKTsKICAgICAgICAkanF1ZXJ5dWkgPSAnJzsKICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCAnMS4xMS1hbHBoYTAnKSA8IDApIHsKICAgICAgICAgICAgJGpxdWVyeXVpID0gJzxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicuICRtb2R1bGVkaXIgLicvY3NzL2pxdWVyeS11aS0xLjguMi5jdXN0b20uY3NzIj48L2xpbms+JzsKICAgICAgICB9CgogICAgICAgICR0bXBsID0gPDw8RU9UCnskanF1ZXJ5dWl9CjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InskbW9kdWxlZGlyfS9jc3MvY29sb3Jib3guY3NzIiAvPgo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGdsb2JhbHNfY3NzfWxpc3RpdDItZ2xvYmFscy5jc3MiIC8+CjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InskbW9kdWxlZGlyfS9jc3MvYmFja2VuZC5jc3MiIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPCEtLQp2YXIgQ01TX0FETUlOX0RJUiA9ICd7JGFkbWluZGlyfSc7CnZhciBDTVNfVVNFUl9LRVkgPSAneyR1c2Vya2V5fSc7CnZhciBNT0RVTEVfTkFNRSA9ICd7JG1vZHVsZW5hbWV9JzsKLS0+Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZWRpcn0vanMvanF1ZXJ5LnF1aWNrc2VhcmNoLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRtb2R1bGVkaXJ9L2pzL2pxdWVyeS50YWJsZXNvcnRlci5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZWRpcn0vanMvanF1ZXJ5LnNsdWcuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZWRpcn0vanMvanF1ZXJ5LmNvbG9yYm94LmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRnbG9iYWxzX2pzfWxpc3RpdDItZ2xvYmFscy5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskbW9kdWxlZGlyfS9qcy9saXN0aXQyLmpzIj48L3NjcmlwdD4KRU9UOwoKCQkkdG1wbCAuPSBMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpHZXRIZWFkZXJIVE1MKCk7CgkJCiAgICAgICAgcmV0dXJuICR0bXBsOwogICAgfQkKCglwdWJsaWMgZnVuY3Rpb24gRG9BY3Rpb24oJG5hbWUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkPScnKQoJewoJCWdsb2JhbCAkQ01TX0FETUlOX1BBR0U7CgkJCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQkKCQkkdGhpcy0+TG9hZE1vZHVsZUhpbnRzKCRwYXJhbXMpOwoJCQoJCSRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ21vZCcsICR0aGlzKTsKCQkkc21hcnR5LT5hc3NpZ24oJ2FjdGlvbmlkJywgJGlkKTsKCQkkc21hcnR5LT5hc3NpZ24oJ3JldHVybmlkJywgJHJldHVybmlkKTsKCQkKCQlpZihpc3NldCgkcGFyYW1zWydpZF9oaWVyYXJjaHknXSkpIHsKCQkJY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJ2xpc3RpdDJfaWRfaGllcmFyY2h5JywgJHBhcmFtc1snaWRfaGllcmFyY2h5J10pOwoJCX0JCQoJCQoJCWlmKCRDTVNfQURNSU5fUEFHRSkgewoJCQoJCQkkdGhlbWVPYmplY3QgPSBjbXNfdXRpbHM6OmdldF90aGVtZV9vYmplY3QoKTsKCQkJJHNtYXJ0eS0+YXNzaWduX2J5X3JlZigndGhlbWVPYmplY3QnLCAkdGhlbWVPYmplY3QpOwkJCgkJfQkKCQoJCWlmICgkbmFtZSAhPSAnJykgewoJCgkJCSRnb3RfY29udGVudHMgPSBmYWxzZTsKCQkJJGNvbnRlbnRzID0gJyc7CQkKCQkJJG5hbWUgPSBwcmVnX3JlcGxhY2UoJy9bXkEtWmEtejAtOVwtXytdLycsICcnLCAkbmFtZSk7CgoJCQlpZigkQ01TX0FETUlOX1BBR0UpCgkJCQkkY29udGVudHMgLj0gJzxkaXYgY2xhc3M9Imxpc3RpdDItYWRtaW4td3JhcHBlciI+JzsKCQkJCgkJCS8vIENoZWNrIGlmIHdlIGhhdmUgYWN0aW9uIGluIHRoaXMKCQkJJGZpbGVuYW1lID0gJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuICcvYWN0aW9uLicgLiAkbmFtZSAuICcucGhwJzsKCQkJaWYgKEBpc19maWxlKCRmaWxlbmFtZSkgJiYgISRnb3RfY29udGVudHMpIHsKCQkJCQkJCgkJCQlvYl9zdGFydCgpOwkKCQkJCWluY2x1ZGUoJGZpbGVuYW1lKTsKCQkJCSRjb250ZW50cyAuPSBvYl9nZXRfY29udGVudHMoKTsKCQkJCW9iX2VuZF9jbGVhbigpOwoKCQkJCSRnb3RfY29udGVudHMgPSB0cnVlOwkJCQkKCQkJfQkJCQoJCQkKCQkJLy8gQ2hlY2sgcGFyZW50IGlmIHdlIGRvbid0CgkJCSRmaWxlbmFtZSA9ICR0aGlzLT5HZXRQYXJlbnRQYXRoKCkgLiAnL2FjdGlvbi4nIC4gJG5hbWUgLiAnLnBocCc7CgkJCWlmIChAaXNfZmlsZSgkZmlsZW5hbWUpICYmICEkZ290X2NvbnRlbnRzKSB7CgkJCQkJCQoJCQkJb2Jfc3RhcnQoKTsJCgkJCQlpbmNsdWRlKCRmaWxlbmFtZSk7CgkJCQkkY29udGVudHMgLj0gb2JfZ2V0X2NvbnRlbnRzKCk7CgkJCQlvYl9lbmRfY2xlYW4oKTsJCgkJCQkKCQkJCSRnb3RfY29udGVudHMgPSB0cnVlOwkJCQkKCQkJfQoJCQkKCQkJaWYoJENNU19BRE1JTl9QQUdFKQoJCQkJJGNvbnRlbnRzIC49ICc8L2Rpdj4nOwoKCQkJZWNobyAkY29udGVudHM7CQkJCgkJfQoJfQoJCglmdW5jdGlvbiBVcGdyYWRlKCRvbGR2ZXJzaW9uLCAkbmV3dmVyc2lvbikKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCgkJJHJlc3BvbnNlID0gRkFMU0U7CgkJCgkJJGZpbGVuYW1lID0gJHRoaXMtPkdldFBhcmVudFBhdGgoKSAuICcvbWV0aG9kLnVwZ3JhZGVHbG9iYWxzLnBocCc7CgkJaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIHsKCQkJCgkJCSRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7CgkJCWlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSAkcmVzcG9uc2UgPSBUUlVFOwoJCX0KCQkKCQkkZmlsZW5hbWUgPSAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9tZXRob2QudXBncmFkZS5waHAnOwoJCWlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSB7CgkJCQoJCQkkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOwoJCQlpZigkcmVzID09IDEgfHwgJHJlcyA9PSAnJykgJHJlc3BvbnNlID0gVFJVRTsKCQl9CgkJCgkJLy8gQ2hlY2sgaWYgbW9kdWxlIGluIG91ciBvd24gY29udHJvbCB0YWJsZXMgeWV0CgkJJHF1ZXJ5ID0gIlNFTEVDVCBtb2R1bGVfaWQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9saXN0aXQyX2luc3RhbmNlcyBXSEVSRSBtb2R1bGVfbmFtZSA9ID8iOwkKCQkkbW9kc3RhdHVzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpKSk7CgkJCgkJaWYoISRtb2RzdGF0dXMpICR0aGlzLT5SZWdpc3Rlck1vZHVsZSgpOwkJCgkKCQlyZXR1cm4gJHJlc3BvbnNlOwoJfQkKCglmdW5jdGlvbiBJbnN0YWxsKCkKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCgkJJHJlc3BvbnNlID0gRkFMU0U7CgkJCgkJJGZpbGVuYW1lID0gJHRoaXMtPkdldFBhcmVudFBhdGgoKSAuICcvbWV0aG9kLmluc3RhbGxHbG9iYWxzLnBocCc7CgkJaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIHsKCQkJCgkJCSRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7CgkJCWlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSB7CgkJCQkkcmVzcG9uc2UgPSBGQUxTRTsKCQkJfSBlbHNlIHsKCQkJCSRyZXNwb25zZSA9ICRyZXM7CgkJCX0KCQl9CgkJCgkJJGZpbGVuYW1lID0gJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuICcvbWV0aG9kLmluc3RhbGwucGhwJzsKCQlpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgewoJCQkKCQkJJHJlcyA9IGluY2x1ZGUoJGZpbGVuYW1lKTsKCQkJaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpIHsKCQkJCSRyZXNwb25zZSA9IEZBTFNFOwoJCQl9IGVsc2UgewoJCQkJJHJlc3BvbnNlID0gJHJlczsKCQkJfQoJCX0KCQkKCQlpZighJHJlc3BvbnNlKSB7CgkJCgkJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZSgpOwoJCX0KCQoJCXJldHVybiAkcmVzcG9uc2U7Cgl9CgoJZnVuY3Rpb24gVW5pbnN0YWxsKCkKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCgkJJHJlc3BvbnNlID0gRkFMU0U7CgkJCgkJJGZpbGVuYW1lID0gJHRoaXMtPkdldFBhcmVudFBhdGgoKSAuICcvbWV0aG9kLnVuaW5zdGFsbEdsb2JhbHMucGhwJzsKCQlpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgewoJCQkKCQkJJHJlcyA9IGluY2x1ZGUoJGZpbGVuYW1lKTsKCQkJaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpIHsKCQkJCSRyZXNwb25zZSA9IEZBTFNFOwoJCQl9IGVsc2UgewoJCQkJJHJlc3BvbnNlID0gJHJlczsKCQkJfQoJCX0KCQkKCQkkZmlsZW5hbWUgPSAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9tZXRob2QudW5pbnN0YWxsLnBocCc7CgkJaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIHsKCQkJCgkJCSRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7CgkJCWlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSB7CgkJCQkkcmVzcG9uc2UgPSBGQUxTRTsKCQkJfSBlbHNlIHsKCQkJCSRyZXNwb25zZSA9ICRyZXM7CgkJCX0KCQl9CgkJCgkJaWYoISRyZXNwb25zZSkgewoJCQoJCQkkdGhpcy0+VW5yZWdpc3Rlck1vZHVsZSgpOwoJCX0JCQoJCgkJcmV0dXJuICRyZXNwb25zZTsKCX0JCgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFuaXB1bGF0aW9uIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQoJCglwdWJsaWMgZnVuY3Rpb24gTW9kTGFuZygpCgl7CgkJJG1vZCA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKExJU1RJVDIpOwoJCWlmKCFpc19vYmplY3QoJG1vZCkpIAoJCQl0aHJvdyBuZXcgTGlzdEl0MkV4Y2VwdGlvbignQ2Fubm90IHJldHJpdmUgTGlzdEl0MiBPYmplY3QuJyk7CgkJCgkJJG1vZC0+TG9hZExhbmdNZXRob2RzKCk7CgoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCWFycmF5X3Vuc2hpZnQoJGFyZ3MsJycpOwoKCQkkYXJnc1swXSA9ICYkbW9kOwoKCQlyZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ2Ntc19tb2R1bGVfTGFuZycsICRhcmdzKTsKCX0KCQkKCXB1YmxpYyBmdW5jdGlvbiBHZXRQYXJlbnRQYXRoKCkKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJcmV0dXJuIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10sICdtb2R1bGVzJywgTElTVElUMiwgJ2ZyYW1ld29yaycpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0UGFyZW50VVJMUGF0aCgkdXNlX3NzbD1mYWxzZSkKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJcmV0dXJuICgkdXNlX3NzbD8kY29uZmlnWydzc2xfdXJsJ106JGNvbmZpZ1sncm9vdF91cmwnXSkgLiAnL21vZHVsZXMvJyAuIExJU1RJVDIgLiAnL2ZyYW1ld29yayc7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEluc3RhbmNlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQkKCglmaW5hbCBwcml2YXRlIGZ1bmN0aW9uIFJlZ2lzdGVyTW9kdWxlKCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2luc3RhbmNlcyAobW9kdWxlX25hbWUpIFZBTFVFUyAoPyknOwoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpKSk7CgkJCgkJaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoJCQoJCXJldHVybiB0cnVlOwoJfQoJCglmaW5hbCBwcml2YXRlIGZ1bmN0aW9uIFVucmVnaXN0ZXJNb2R1bGUoKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2luc3RhbmNlcyBXSEVSRSBtb2R1bGVfbmFtZSA9ID8nOwoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpKSk7CgkJCgkJaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoJCQoJCXJldHVybiB0cnVlOwkJCgl9CQoJCQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/duplicate/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/duplicate/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhMAAwAPf/AHHE2gC87GXJ5FfA2xK98kbK83zN4gC/65Dg+d3s8IzS5ErG6W3K41PG5iO+7JfK2AC672S0yVyswrfa5Mvk67fh7FvK6XnK33jN4WLG4lmzzTXB6W290nHL4/D5/Bu97mnJ5Bq13KbR3jS+43a5yyK43/r9/WGtwuP0+WTD3Tury4HL3+r09jHB6qne7+z2+CG64S7B6P3+/lzI5TjC6VS61hSs0wC18FXI6krL7UPC5AOx2yLA6YW+zXbT65XX6Sy74WDI5VLO9HvY9EutyX7S5qrl90upxXnN4Ti11nrM4gC27ieszOTx9U210RinyXbI3gi58HbM4lW30ybA8BvA6Q603bLh8QCiymu5zg26712/29Lx+nTM4nrP5T3D6KDh83XL4TTA5kCmxAC56k7F52nP6gG04nzE2B7A8pXZ602+3Nz1/IPC1IfS5GLM6JvS4orV6gS58XHD2WyyxQKhxnLN5ha87xPA6QCs3JzZ6GrJ42nS80XE6Pb8/oTR4z3A5VjH5un4/Lrm8J/M2VKqw2rH4m3N5+z4+9bp7+/5/Lbj8cPf543d9SnB6SvA7UPE6nXF23LL4lu61QCq0njM4gS770HD6ErF527D2VS+3BG77xOy2gmu1UmnwkmwznnL4HbH3XHB1wm/6VnC4B2x1/X6+/H4+gq68DbG6l3E4oPQ4kjD5VW72C3C7+b3/fD3+QC65Mzq8sbu+ii/7A7A6Yzf+WzL5Ae97dTv9hi/8ga/6XXO5WnM51HA3kauyw+lygCfx6zf8InP43fM4gujxhS77zbE7UTH7YjD1M7w+pHU5pne7/P7/V3H5T/I8KzX423A1jugvAy950Opx2KwxqTc7DPD7WbI5HDP6k/I6gi+7A2/6g687rTW3wanzev4+zvE7Nnw9YjI24DQ40a52XC/1KLf8LLk8rLm9LTn9ASw2A+v2UDE7GfM58Dp9Lvq9oLa9KDV5ILc+GW4zkrB4m/H4GrB2IXY7mvF3W/E2XvN4QC48QC58v///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MThCRUI5MEY5MkZFRTExMTg1RjQ5OTBCMjZFMjNFOTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDhCMUYxNkZGRTk1MTFFMUI4RUJDNUQyQjU1MERDMDUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDhCMUYxNkVGRTk1MTFFMUI4RUJDNUQyQjU1MERDMDUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ1M1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZThlNjYyZDUtYzYxMC00ZmQzLWFhNDUtNDg4NGVhODNkOWE0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4QkVCOTBGOTJGRUUxMTE4NUY0OTkwQjI2RTIzRTkzIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+TGlzdEl0RXh0ZW5kZWQtbG9nby1pY29uLW9rPC9yZGY6bGk+IDwvcmRmOkFsdD4gPC9kYzp0aXRsZT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj3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]]></data>
	</file>
	<file>
	  <filename>/duplicate/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/duplicate/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/event.Core.ModuleInstalled.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpZWxkIHNjYW5uZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9zY2FuJykpCglMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/event.Core.ModuleUninstalled.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpZWxkIHNjYW5uZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9zY2FuJykpCglMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/event.Core.ModuleUpgraded.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEhhbmRsZSBjaGlsZCBjbG9uaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRtb2R1bGVzID0gJHRoaXMtPkxpc3RNb2R1bGVzKCk7CmZvcmVhY2goJG1vZHVsZXMgYXMgJG1vZHVsZSkgewoKCWlmKCRtb2R1bGUtPm1vZHVsZV9uYW1lID09PSAkcGFyYW1zWyduYW1lJ10pIHsKCgkJJGR1cGxpY2F0b3IgPSBuZXcgTGlzdEl0MkR1cGxpY2F0b3IoKTsKCQkkZHVwbGljYXRvci0+U2V0TW9kdWxlKCRtb2R1bGUtPm1vZHVsZV9uYW1lKTsKCQkkZHVwbGljYXRvci0+U2V0RGVzdGluYXRpb24oZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJG1vZHVsZS0+bW9kdWxlX25hbWUpOwoJCSRkdXBsaWNhdG9yLT5SdW4oKTsKCQkKCQlicmVhazsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpZWxkIHNjYW5uZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9zY2FuJykpCglMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/framework/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/action.admin_approvecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykpIHJldHVybjsKCmlmKCFpc3NldCgkcGFyYW1zWydhcHByb3ZlJ10pIHx8ICFpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSkKewoJZGllKCdtaXNzaW5nIHBhcmFtZXRlciwgdGhpcyBzaG91bGQgbm90IGhhcHBlbicpOwp9CgokY2F0ZWdvcnlfaWQgPSAoaW50KSRwYXJhbXNbJ2NhdGVnb3J5X2lkJ107CiRhY3RpdmUgPSAoYm9vbCkkcGFyYW1zWydhcHByb3ZlJ107CgokcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFNFVCBhY3RpdmUgPSA/IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3RpdmUsICRjYXRlZ29yeV9pZCkpOwoKJGFkbWludGhlbWUgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsKJGpzb24gPSBuZXcgc3RkQ2xhc3M7CgppZiAoJGFjdGl2ZSkgewoKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZXZlcnQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlY2F0ZWdvcnknLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnYXBwcm92ZScgPT4gMCwnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCksICcnLCB0cnVlKTsKfSBlbHNlIHsKCgkkanNvbi0+aW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlY2F0ZWdvcnknLCAkcmV0dXJuaWQsICcnLGFycmF5KCdhcHByb3ZlJyA9PiAxLCdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5X2lkKSwgJycsIHRydWUpOwp9CgovLyBGaXggVVJMIGZvciBKU09OIG91dHB1dAokanNvbi0+aHJlZiA9IGh0bWxfZW50aXR5X2RlY29kZSgkanNvbi0+aHJlZik7CgpoZWFkZXIoIkNvbnRlbnQtdHlwZTphcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKZWNobyBqc29uX2VuY29kZSgkanNvbik7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_approveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkgcmV0dXJuOwoKaWYoIWlzc2V0KCRwYXJhbXNbJ2FwcHJvdmUnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpCnsKCWRpZSgnbWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4nKTsKfQoKJGl0ZW1faWQgPSAoaW50KSRwYXJhbXNbJ2l0ZW1faWQnXTsKJGFjdGl2ZSA9IChib29sKSRwYXJhbXNbJ2FwcHJvdmUnXTsKCiRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgYWN0aXZlID0gPyBXSEVSRSBpdGVtX2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3RpdmUsICRpdGVtX2lkKSk7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKJGFkbWludGhlbWUgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsKJGpzb24gPSBuZXcgc3RkQ2xhc3M7CgppZiAoJGFjdGl2ZSkgewoKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZXZlcnQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlaXRlbScsICRyZXR1cm5pZCwgJycsIGFycmF5KCdhcHByb3ZlJyA9PiAwLCdpdGVtX2lkJyA9PiAkaXRlbV9pZCksICcnLCB0cnVlKTsKfSBlbHNlIHsKCgkkanNvbi0+aW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlaXRlbScsICRyZXR1cm5pZCwgJycsYXJyYXkoJ2FwcHJvdmUnID0+IDEsJ2l0ZW1faWQnID0+ICRpdGVtX2lkKSwgJycsIHRydWUpOwp9CgovLyBGaXggVVJMIGZvciBKU09OIG91dHB1dAokanNvbi0+aHJlZiA9IGh0bWxfZW50aXR5X2RlY29kZSgkanNvbi0+aHJlZik7CgpoZWFkZXIoIkNvbnRlbnQtdHlwZTphcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKZWNobyBqc29uX2VuY29kZSgkanNvbik7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykpIHJldHVybjsKCiRjYXRlZ29yaWVzID0gYXJyYXkoKTsKaWYoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpIHsKCSRjYXRlZ29yaWVzID0gYXJyYXkoKGludCkkcGFyYW1zWydjYXRlZ29yeV9pZCddKTsKfQppZihpc3NldCgkcGFyYW1zWydjYXRlZ29yaWVzJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2NhdGVnb3JpZXMnXSkpIHsKCSRjYXRlZ29yaWVzID0gJHBhcmFtc1snY2F0ZWdvcmllcyddOwp9Cgpmb3JlYWNoKCRjYXRlZ29yaWVzIGFzICRjYXRlZ29yeV9pZCkgewkKCgkkdGhpcy0+RGVsZXRlQ2F0ZWdvcnlCeUlkKCRjYXRlZ29yeV9pZCk7Cn0KCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgplY2hvICR0aGlzLT5Nb2RMYW5nKCdkZWxldGVkJyk7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsKCiRmaWVsZGRlZnMgPSBhcnJheSgpOwppZihpc3NldCgkcGFyYW1zWydmaWVsZGRlZl9pZCddKSkgewoJJGZpZWxkZGVmcyA9IGFycmF5KChpbnQpJHBhcmFtc1snZmllbGRkZWZfaWQnXSk7Cn0KaWYoaXNzZXQoJHBhcmFtc1snZmllbGRkZWZzJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2ZpZWxkZGVmcyddKSkgewoJJGZpZWxkZGVmcyA9ICRwYXJhbXNbJ2ZpZWxkZGVmcyddOwp9Cgpmb3JlYWNoICgkZmllbGRkZWZzIGFzICRmaWVsZGRlZl9pZCkgewoKCUxpc3RJdDJGaWVsZGRlZk9wZXJhdGlvbnM6OkRlbGV0ZSgkdGhpcywgJGZpZWxkZGVmX2lkKTsJCn0KCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgplY2hvICR0aGlzLT5Nb2RMYW5nKCdkZWxldGVkJyk7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deleteitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkgcmV0dXJuOwoKJGl0ZW1zID0gYXJyYXkoKTsKaWYoaXNzZXQoJHBhcmFtc1snaXRlbV9pZCddKSkgewoJJGl0ZW1zW10gPSAoaW50KSRwYXJhbXNbJ2l0ZW1faWQnXTsKfQppZihpc3NldCgkcGFyYW1zWydpdGVtcyddKSAmJiBpc19hcnJheSgkcGFyYW1zWydpdGVtcyddKSkgewoJJGl0ZW1zID0gJHBhcmFtc1snaXRlbXMnXTsKfQoKZm9yZWFjaCgkaXRlbXMgYXMgJGl0ZW1faWQpIHsJCgoJJHRoaXMtPkRlbGV0ZUl0ZW1CeUlkKCRpdGVtX2lkKTsKfQoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCmVjaG8gJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZWQnKTsKZXhpdCgpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgcmV0dXJuOwoKaWYgKCFpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7CiAgICBkaWUoJ21pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7Cn0KCiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWyduYW1lJ10pOwoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCmVjaG8gJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZWQnKTsKZXhpdCgpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykpIHJldHVybjsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDaGVjayBwYXJhbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoKICAgICRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3J5dGFiJyk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQgcGFyYW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRjYXRlZ29yeV9pZCAgICAgIAkJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ2NhdGVnb3J5X2lkJywgJHBhcmFtcywgLTEpOwokbmFtZSAgICAgICAJCQkgCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ25hbWUnLCAkcGFyYW1zLCAnJyk7CiRhbGlhcwkJIAkJCSAJPSBsaXN0aXQyX3V0aWxzOjppbml0X3ZhcignYWxpYXMnLCAkcGFyYW1zLCAnJyk7CiRkZXNjcmlwdGlvbgkJCQk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCdkZXNjcmlwdGlvbicsICRwYXJhbXMsICcnKTsKJHBhcmVudF9pZCAJCQkJIAk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCdwYXJlbnRfaWQnLCAkcGFyYW1zLCAtMSk7CiRhY3RpdmUgICAgICAJCQkgCT0gMTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IEl0ZW0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJG9iaiA9ICR0aGlzLT5Mb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJ2NhdGVnb3J5X2lkJywgJGNhdGVnb3J5X2lkKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTdWJtaXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSB8fCBpc3NldCgkcGFyYW1zWydzYXZlX2NyZWF0ZSddKSkgewoKCSRlcnJvcnMgPSBhcnJheSgpOwoKICAgIC8vIGNoZWNrIGNhdGVnb3J5IG5hbWUKICAgIGlmICgkbmFtZSA9PSAnJykgewogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yeV9uYW1lX2VtcHR5Jyk7CiAgICB9CgogICAgLy8gY2hlY2sgYWxpYXMKLyogICAgaWYgKCFsaXN0aXQyX3V0aWxzOjppc192YWxpZF9hbGlhcygkYWxpYXMpICYmICFlbXB0eSgkYWxpYXMpKSB7CiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2FsaWFzX2ludmFsaWQnKTsKICAgIH0qLwoJCgkvLyBDaGVjayBmb3IgZHVwbGljYXRlCgkkcGFybXMgPSBhcnJheSgpOwoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfYWxpYXMgPSA/JzsKCSRwYXJtc1tdID0gJGFsaWFzOwoKCWlmKCRjYXRlZ29yeV9pZCA+IDApewoJCSRxdWVyeSAuPSAnIEFORCBjYXRlZ29yeV9pZCAhPSA/JzsKCQkkcGFybXNbXSA9ICRjYXRlZ29yeV9pZDsKCX0KCQoJJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgJHBhcm1zKTsKCiAgICBpZiAoJGV4aXN0cykgewogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yeV9hbGlhc19leGlzdHMnKTsKICAgIH0JCgoJLy8gdGl0bGUgYW5kIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHZhbHVlcywgbGV0J3MgY29udGludWUKCWlmIChlbXB0eSgkZXJyb3JzKSkgewoJCgkJJG9iai0+bmFtZSAgICAgICAgCT0gJG5hbWU7CgkJJG9iai0+YWxpYXMJCSAJPSAkYWxpYXM7CgkJJG9iai0+ZGVzY3JpcHRpb24JPSAkZGVzY3JpcHRpb247CgkJJG9iai0+cGFyZW50X2lkIAk9ICRwYXJlbnRfaWQ7CQkKCQkkb2JqLT5hY3RpdmUgICAgICAgCT0gaXNzZXQoJHBhcmFtc1snYWN0aXZlJ10pID8gMSA6IDA7CgkJCgkJJHRoaXMtPlNhdmVDYXRlZ29yeSgkb2JqKTsKCQkKCQkvLyBpZiBhcHBseSBhbmQgYWpheCAgICAgICAgICAgCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpIHsKCQkJJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOwoJCQkkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5TdWNjZXNzPC9SZXNwb25zZT4nOwoJCQkkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycgLiAkdGhpcy0+TW9kTGFuZygnY2hhbmdlc3NhdmVkJykgLiAnXV0+PC9EZXRhaWxzPic7ICAgICAgICAgICAgICAgCgkJCSRyZXNwb25zZSAuPSAnPC9FZGl0SXRlbT4nOwoJCQllY2hvICRyZXNwb25zZTsKCQkJcmV0dXJuOwoJCX0gCgkJCgkJLy8gaWYgc2F2ZSBhbmQgY3JlYXRlIG5ldwoJCWlmIChpc3NldCgkcGFyYW1zWydzYXZlX2NyZWF0ZSddKSApIHsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2FkbWluX2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgYXJyYXkoCgkJCQknbWVzc2FnZScgPT4gJ3NhdmVjcmVhdGVfbWVzc2FnZScKCQkJKSk7CgkJfSAgCQkgICAgCgoJCS8vIHNob3cgc2F2ZWQgbWVzc2FnZQoJCWlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoCgkJCQknYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3J5dGFiJywKCQkJCSdtZXNzYWdlJyA9PiAnY2hhbmdlc3NhdmVkJwoJCQkpKTsKCQkJCgkJfSBlbHNlIHsKCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpKTsKCQl9CgkJCgl9IC8vIGVuZCBlcnJvciBjaGVjawoJCn0gLy8gZW5kIHN1Ym1pdCBvciBhcHBseQplbHNlaWYoJG9iai0+Y2F0ZWdvcnlfaWQgPiAwKSB7CgoJJGNhdGVnb3J5X2lkIAk9ICRvYmotPmNhdGVnb3J5X2lkOwkKCSRuYW1lIAkJCT0gJG9iai0+bmFtZTsKCSRhbGlhcwkJICAJPSAkb2JqLT5hbGlhczsKCSRkZXNjcmlwdGlvbgk9ICRvYmotPmRlc2NyaXB0aW9uOwoJJHBhcmVudF9pZCAJCT0gJG9iai0+cGFyZW50X2lkOwoJJGFjdGl2ZSAgICAgICAJPSAkb2JqLT5hY3RpdmU7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNZXNzYWdlIGNvbnRyb2wKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8gZGlzcGxheSBlcnJvcnMgaWYgdGhlcmUgYXJlIGFueQppZiAoIWVtcHR5KCRlcnJvcnMpKSB7CiAgICBpZiAoaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgJiYgaXNzZXQoJHBhcmFtc1snYWpheCddKSkgewogICAgICAgICRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5FcnJvcjwvUmVzcG9uc2U+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWyc7CiAgICAgICAgZm9yZWFjaCAoJGVycm9ycyBhcyAkZXJyb3IpIHsKICAgICAgICAgICAgJHJlc3BvbnNlIC49ICc8bGk+JyAuICRlcnJvciAuICc8L2xpPic7CiAgICAgICAgfQogICAgICAgICRyZXNwb25zZSAuPSAnXV0+PC9EZXRhaWxzPic7CiAgICAgICAgJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7CiAgICAgICAgZWNobyAkcmVzcG9uc2U7CiAgICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgfQp9CgppZihpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pICYmIGVtcHR5KCRlcnJvcnMpKSAKICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWRfY3JlYXRlJykpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlPYmplY3QnLCAkb2JqKTsKCiRzbWFydHktPmFzc2lnbignYmFja2xpbmsnLCAkdGhpcy0+Q3JlYXRlQmFja0xpbmsoJ2NhdGVnb3J5dGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgICAgIChpc3NldCgkY2F0ZWdvcnlfaWQpID8gJHRoaXMtPk1vZExhbmcoJ2VkaXRfY2F0ZWdvcnknKSA6ICR0aGlzLT5Nb2RMYW5nKCdhZGQnLCAkdGhpcy0+TW9kTGFuZygnY2F0ZWdvcnknKSkpKTsKCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5JywgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCAyMCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsaWFzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5X2Rlc2NyaXB0aW9uJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJGRlc2NyaXB0aW9uLCAnZGVzY3JpcHRpb24nLCAnJywgJycsICcnLCAnJywgJzgwJywgJzMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWN0aXZlJywgJHRoaXMtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAnYWN0aXZlJywgMSwgJGFjdGl2ZSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYXJlbnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdwYXJlbnRfaWQnLCBMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpHZXRIaWVyYXJjaHlMaXN0KCR0aGlzLCB0cnVlLCAkY2F0ZWdvcnlfaWQpLCAtMSwgJHBhcmVudF9pZCkpOwovKgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2FwcGx5JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOwokc21hcnR5LT5hc3NpZ24oJ3NhdmVfY3JlYXRlJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3NhdmVfY3JlYXRlJywgJHRoaXMtPk1vZExhbmcoJ3NhdmVfY3JlYXRlJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKKi8KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2F0ZWdvcnkudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSByZXR1cm47CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBwYXJhbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoKICAgICRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2ZpZWxkZGVmdGFiJyk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQgdmFyaWFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0eXBlIAkJCQk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCd0eXBlJywgJHBhcmFtcywgbnVsbCk7CiRmaWVsZGRlZl9pZCAJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ2ZpZWxkZGVmX2lkJywgJHBhcmFtcywgbnVsbCk7CiRuYW1lIAkJCQk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCduYW1lJywgJHBhcmFtcywgJycpOwokYWxpYXMgCQkJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ2FsaWFzJywgJHBhcmFtcywgJycpOwokaGVscCAJCQkJPSBsaXN0aXQyX3V0aWxzOjppbml0X3ZhcignaGVscCcsICRwYXJhbXMsICcnKTsKJGN1c3RvbV9pbnB1dAkJPSBsaXN0aXQyX3V0aWxzOjppbml0X3ZhcignY3VzdG9tX2lucHV0JywgJHBhcmFtcywgYXJyYXkoKSk7CiRleHRyYQkJCQk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCdleHRyYScsICRwYXJhbXMsICcnKTsgLy8gPC0gKFJlbW92ZSB0aGlzIGluIDEuNSkKJHJlcXVpcmVkIAkJCT0gMDsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IGZpZWxkIG9iamVjdAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLyBMb2FkIGZpZWxkZGVmIGZyb20gZGF0YWJhc2UKaWYoIWVtcHR5KCRmaWVsZGRlZl9pZCkpIHsKCgkkZmllbGRkZWZfb2JqID0gTGlzdEl0MkZpZWxkZGVmT3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJ2ZpZWxkZGVmX2lkJywgJGZpZWxkZGVmX2lkKTsKfSAKLy8gTG9hZCBmaWVsZGRlZiBmcm9tIHR5cGUKZWxzZWlmKCFlbXB0eSgkdHlwZSkpIHsKCgkkZmllbGRkZWZfb2JqID0gTGlzdEl0MkZpZWxkZGVmT3BlcmF0aW9uczo6TG9hZEZpZWxkZGVmQnlUeXBlKCR0eXBlKTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpbGwgb3B0aW9ucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovL0hhbmRsZSBmaWVsZCBvcHRpb25zIC0gQ2hlY2sgaWYgbW92aW5nIHRoaXMgaGVyZSBoYXMgc29tZSB3ZWlyZCByZWFjdGlvbgppZihjb3VudCgkY3VzdG9tX2lucHV0KSA+IDApIHsKCglmb3JlYWNoKCRjdXN0b21faW5wdXQgYXMgJGtleT0+JHZhbHVlKSB7CgkKCQkkZmllbGRkZWZfb2JqLT5TZXRPcHRpb25WYWx1ZSgka2V5LCAkdmFsdWUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU3VibWl0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgfHwgaXNzZXQoJHBhcmFtc1snc2F2ZV9jcmVhdGUnXSkpIHsKCgkkZXJyb3JzCT0gYXJyYXkoKTsKCiAgICAvLyBjaGVjayB0eXBlCiAgICBpZiAoIWlzc2V0KCRmaWVsZGRlZl9vYmopKSB7CiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX3R5cGVfbm90c2V0Jyk7CiAgICB9CQoJCiAgICAvLyBjaGVjayBuYW1lCiAgICBpZiAoJG5hbWUgPT0gJycpIHsKICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfbmFtZV9lbXB0eScpOwogICAgfQoKICAgIGlmIChpc3NldCgkZmllbGRkZWZfaWQpKSB7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBmaWVsZGRlZl9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFdIRVJFIGFsaWFzID0gPyBBTkQgZmllbGRkZWZfaWQgIT0gPyc7CiAgICAgICAgJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGFsaWFzLCAkZmllbGRkZWZfaWQpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBmaWVsZGRlZl9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFdIRVJFIGFsaWFzID0gPyc7CiAgICAgICAgJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGFsaWFzKSk7CiAgICB9CQoKICAgIC8vIGNoZWNrIGFsaWFzCiAgICBpZiAoIWxpc3RpdDJfdXRpbHM6OmlzX3ZhbGlkX2FsaWFzKCRhbGlhcykgJiYgIWVtcHR5KCRhbGlhcykpIHsKICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnYWxpYXNfaW52YWxpZCcpOwogICAgfQoKICAgIGlmICgkZXhpc3RzKSB7CiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX2FsaWFzX2V4aXN0cycpOwogICAgfQoJCgkvLyBEbyBlcnJvciBjaGVjayB0aGF0IHJlcXVpcmVzIG9iamVjdAogICAgaWYgKGVtcHR5KCRlcnJvcnMpKSB7CQoJCgkJLy8gY2hlY2sgaWYgdW5pcXVlCgkJJHR5cGVfZXhpc3RzID0gTGlzdEl0MkZpZWxkZGVmT3BlcmF0aW9uczo6VGVzdEV4aXN0YW5jZUJ5VHlwZSgkdGhpcywgJGZpZWxkZGVmX29iai0+R2V0VHlwZSgpKTsKCQlpZigkdHlwZV9leGlzdHMgJiYgJHR5cGVfZXhpc3RzICE9ICRmaWVsZGRlZl9vYmotPkdldElkKCkgJiYgJGZpZWxkZGVmX29iai0+SXNVbmlxdWUoKSkKCQkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX2lzX3VuaXF1ZScpOwoJfQoJCgkvLyBEbyBhY3R1YWwgZXJyb3IgY2hlY2sKICAgIGlmIChlbXB0eSgkZXJyb3JzKSkgewoJCgkJJGZpZWxkZGVmX29iai0+U2V0TmFtZSgkbmFtZSk7CgkJJGZpZWxkZGVmX29iai0+U2V0QWxpYXMoJGFsaWFzKTsKCQkkZmllbGRkZWZfb2JqLT5TZXREZXNjKCRoZWxwKTsKCQkkZmllbGRkZWZfb2JqLT5TZXRSZXF1aXJlZChpc3NldCgkcGFyYW1zWydyZXF1aXJlZCddKSA/IDEgOiAwKTsJCgkKCQkvL0hhbmRsZSBmaWVsZCBvcHRpb25zIC0gQ2hlY2sgaWYgbW92aW5nIHRoaXMgaGVyZSBoYXMgc29tZSB3ZWlyZCByZWFjdGlvbgoJCWlmKGNvdW50KCRjdXN0b21faW5wdXQpID4gMCkgewoKCQkJZm9yZWFjaCgkY3VzdG9tX2lucHV0IGFzICRrZXk9PiR2YWx1ZSkgewoJCQkKCQkJCSRmaWVsZGRlZl9vYmotPlNldE9wdGlvblZhbHVlKCRrZXksICR2YWx1ZSk7CgkJCX0KCQl9CQoJCgkJLy8gVXBkYXRlIGV4dHJhIChSZW1vdmUgdGhpcyBpbiAxLjUpCgkJaWYoJGZpZWxkZGVmX2lkID4gMCkgewoJCQoJCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBleHRyYSA9ID8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsJCQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGV4dHJhLCAkZmllbGRkZWZfaWQpKTsKCQkJCgkJCWlmICghJHJlc3VsdCkgCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwkJCgkJfQoJCQoJCS8vIFNhdmUgZmllbGQKCQlMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpTYXZlKCR0aGlzLCAkZmllbGRkZWZfb2JqKTsKCQoJCS8vIGlmIGFwcGx5IGFuZCBhamF4ICAgICAgICAgICAKCQlpZiAoaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgJiYgaXNzZXQoJHBhcmFtc1snYWpheCddKSkgewoJCQkkcmVzcG9uc2UgPSAnPEVkaXRJdGVtPic7CgkJCSRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPlN1Y2Nlc3M8L1Jlc3BvbnNlPic7CgkJCSRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJyAuICR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWQnKSAuICddXT48L0RldGFpbHM+JzsgICAgICAgICAgICAgICAKCQkJJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7CgkJCWVjaG8gJHJlc3BvbnNlOwoJCQlyZXR1cm47CgkJfSAKCQkKCQkvLyBpZiBzYXZlIGFuZCBjcmVhdGUgbmV3CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3NhdmVfY3JlYXRlJ10pICkgewoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCBhcnJheSgKCQkJCSdtZXNzYWdlJyA9PiAnc2F2ZWNyZWF0ZV9tZXNzYWdlJwoJCQkpKTsKCQl9ICAJCSAgICAKCgkJLy8gc2hvdyBzYXZlZCBtZXNzYWdlCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgKCQkJCSdhY3RpdmVfdGFiJyA9PiAnZmllbGRkZWZ0YWInLAoJCQkJJ21lc3NhZ2UnID0+ICdjaGFuZ2Vzc2F2ZWQnCgkJCSkpOwoJCQkKCQl9IGVsc2UgewoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TW9kTGFuZygnY2hhbmdlc3NhdmVkJykpOwoJCX0JCgkKCX0gLy8gZW5kIGVycm9yIGNoZWNrCgkKfSAvLyBlbmQgc3VibWl0IG9yIGFwcGx5CmVsc2VpZihpc3NldCgkZmllbGRkZWZfb2JqKSAmJiAkZmllbGRkZWZfaWQgPiAwKSB7CgoJJHR5cGUgCQkJCT0gJGZpZWxkZGVmX29iai0+R2V0VHlwZSgpOwoJJG5hbWUgCQkJCT0gJGZpZWxkZGVmX29iai0+R2V0TmFtZSgpOwoJJGFsaWFzIAkJCQk9ICRmaWVsZGRlZl9vYmotPkdldEFsaWFzKCk7CgkkaGVscCAJCQkJPSAkZmllbGRkZWZfb2JqLT5HZXREZXNjKCk7CgkkcmVxdWlyZWQgCQkJPSAkZmllbGRkZWZfb2JqLT5Jc1JlcXVpcmVkKCk7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb2FkIGluc3RydWN0aW9ucyAoUmVtb3ZlIHRoaXMgaW4gMS41KQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokcXVlcnkgPSAnU0VMRUNUIGV4dHJhIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsKJGV4dHJhID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsKCmlmKCRleHRyYSAmJiAhZW1wdHkoJGV4dHJhKSkgewoJCgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V4dHJhJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRleHRyYSwgJ2V4dHJhJykpOwp9CQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1lc3NhZ2UgY29udHJvbAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55CmlmICghZW1wdHkoJGVycm9ycykpIHsKICAgIGlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7CiAgICAgICAgJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPkVycm9yPC9SZXNwb25zZT4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJzsKICAgICAgICBmb3JlYWNoICgkZXJyb3JzIGFzICRlcnJvcikgewogICAgICAgICAgICAkcmVzcG9uc2UgLj0gJzxsaT4nIC4gJGVycm9yIC4gJzwvbGk+JzsKICAgICAgICB9CiAgICAgICAgJHJlc3BvbnNlIC49ICddXT48L0RldGFpbHM+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzwvRWRpdEl0ZW0+JzsKICAgICAgICBlY2hvICRyZXNwb25zZTsKICAgICAgICByZXR1cm47CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICB9Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkgJiYgZW1wdHkoJGVycm9ycykpIAogICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZF9jcmVhdGUnKSk7CgkKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnVuc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKTsgLy8gPz8/CnVuc2V0KCRwYXJhbXNbJ2FwcGx5J10pOyAvLyA/Pz8KCmlmKGlzc2V0KCRmaWVsZGRlZl9vYmopKQoJJHNtYXJ0eS0+YXNzaWduKCdmaWVsZGRlZicsICRmaWVsZGRlZl9vYmopOwoKaWYoaXNzZXQoJGZpZWxkZGVmX29iaikgJiYgJGZpZWxkZGVmX2lkID4gMCkgewoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHR5cGUnLCAkZmllbGRkZWZfb2JqLT5HZXRGcmllbmRseVR5cGUoKSk7IC8vIDwtIEFzc2lnbiBzdGF0aWMgdGV4dCwgYXMgdGhpcyB0eXBlIGlzIHNhdmVkCQp9CmVsc2UgewoJJGZpZWxkZGVmcyA9IGFycmF5X21lcmdlKGFycmF5KCR0aGlzLT5Nb2RMYW5nKCdzZWxlY3Rfb25lJyk9Pm51bGwpLCBMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpHZXRGaWVsZGRlZlR5cGVzKCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHR5cGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0eXBlJywgJGZpZWxkZGVmcywgLTEsICR0eXBlLCAnaWQ9Im0xX3R5cGUiJykpOyAvLyA8LSBBc3NpZ24gZHJvcGRvd24KfQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsaWFzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0aGVscCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaGVscCcsICRoZWxwLCAxMDAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlcXVpcmVkJywgJHRoaXMtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAncmVxdWlyZWQnLCAxLCAkcmVxdWlyZWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVCYWNrTGluaygnZmllbGRkZWZ0YWInKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGUnLCAgICAgKGlzc2V0KCRmaWVsZGRlZl9pZCkgPyAkdGhpcy0+TW9kTGFuZygnZWRpdGZpZWxkZGVmJykgOiAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmJykpKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKLyoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdhcHBseScsIGxhbmcoJ2FwcGx5JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdzYXZlX2NyZWF0ZScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzYXZlX2NyZWF0ZScsICR0aGlzLT5Nb2RMYW5nKCdzYXZlX2NyZWF0ZScpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CiovCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnZWRpdGZpZWxkZGVmLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_edititem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEzDtnl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+CiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpCiMKIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+CiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpIHJldHVybjsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDaGVjayBwYXJhbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoKCWxpc3RpdDJfdXRpbHM6OmNsZWFuX3BhcmFtcygkcGFyYW1zLCBhcnJheSgncGFnZScpLCB0cnVlKTsKCSRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdpdGVtdGFiJzsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBwYXJhbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJG1vZGUJICAgICAgCQkJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ21vZGUnLCAkcGFyYW1zLCAnZWRpdCcpOwokaXRlbV9pZCAgICAgIAkJCQk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCdpdGVtX2lkJywgJHBhcmFtcywgLTEpOwokdGl0bGUgICAgICAgCQkJIAk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCd0aXRsZScsICRwYXJhbXMsICcnKTsKJGFsaWFzCQkgCQkJIAk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCdhbGlhcycsICRwYXJhbXMsICcnKTsKJHRpbWVfY29udHJvbCAJCQkJPSBsaXN0aXQyX3V0aWxzOjppbml0X3ZhcigndGltZV9jb250cm9sJywgJHBhcmFtcywgMCk7CiRhY3RpdmUgICAgICAJCQkgCT0gMTsKCiRzdGFydF90aW1lID0gJyc7CiRlbmRfdGltZSA9ICcnOwppZiAoJHRpbWVfY29udHJvbCkgewoJJHN0YXJ0X3RpbWUgPSAkcGFyYW1zWydzdGFydF90aW1lJ107CgkkZW5kX3RpbWUgICA9ICRwYXJhbXNbJ2VuZF90aW1lJ107Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IEl0ZW0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJG9iaiA9ICR0aGlzLT5Mb2FkSXRlbUJ5SWRlbnRpZmllcignaXRlbV9pZCcsICRpdGVtX2lkKTsKaWYoJG1vZGUgPT0gJ2NvcHknKQkKCSRvYmogPSBjbG9uZSAkb2JqOwkKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBIYW5kbGUgY3VzdG9tIGZpZWxkcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsKCglmb3JlYWNoICgoYXJyYXkpJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7CgkKCQlpZihpc3NldCgkb2JqLT5maWVsZGRlZnNbJGZsZGlkXSkpCgkJCSRvYmotPmZpZWxkZGVmc1skZmxkaWRdLT5TZXRWYWx1ZSgkdmFsdWUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU3VibWl0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgfHwgaXNzZXQoJHBhcmFtc1snc2F2ZV9jcmVhdGUnXSkpIHsKCgkkZXJyb3JzID0gYXJyYXkoKTsKCQoJLy8gY2hlY2sgdGl0bGUKCWlmIChlbXB0eSgkdGl0bGUpKSB7CgkKCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnaXRlbV90aXRsZV9lbXB0eScpOwoJfQovKgkKICAgIC8vIGNoZWNrIGFsaWFzCiAgICBpZiAoIWxpc3RpdDJfdXRpbHM6OmlzX3ZhbGlkX2FsaWFzKCRhbGlhcykgJiYgIWVtcHR5KCRhbGlhcykpIHsKICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnYWxpYXNfaW52YWxpZCcpOwogICAgfQoqLwkKCS8vIENoZWNrIGZvciBkdXBsaWNhdGUKICAgIGlmICgkaXRlbV9pZCA+IDApIHsKCQogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgYWxpYXMgPSA/IEFORCBpdGVtX2lkICE9ID8nOwogICAgICAgICRleGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRhbGlhcywgJGl0ZW1faWQpKTsKICAgIH0gZWxzZSB7CQoJCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpdGVtX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSBhbGlhcyA9ID8nOwogICAgICAgICRleGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRhbGlhcykpOwogICAgfQkKCiAgICBpZiAoJGV4aXN0cykgewogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdpdGVtX2FsaWFzX2V4aXN0cycpOwogICAgfQkKCgkvLyBjaGVjayBpZiBzdGFydCBkYXRlIGlzIGxlc3MgZW5kIGRhdGUKCWlmICgkdGltZV9jb250cm9sICYmICRzdGFydF90aW1lICYmICRlbmRfdGltZSAmJiBzdHJ0b3RpbWUoJHN0YXJ0X3RpbWUpID4gc3RydG90aW1lKCRlbmRfdGltZSkpIHsKCQoJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdlcnJvcl9zdGFydGdyZWF0ZXJlbmQnKTsKCX0KCQoJLy8gUHJlUHJvY2VzcyAmIFZhbGlkYXRpb25zCglmb3JlYWNoKCRvYmotPmZpZWxkZGVmcyBhcyAkZmllbGQpIHsKCQoJCSRmaWVsZC0+RXZlbnRIYW5kbGVyKCktPkl0ZW1TYXZlUHJlUHJvY2VzcygkZXJyb3JzLCAkcGFyYW1zKTsKCX0KCQoJLy8gdGl0bGUgYW5kIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHZhbHVlcywgbGV0J3MgY29udGludWUKCWlmIChlbXB0eSgkZXJyb3JzKSkgewoJCgkJJG9iai0+dGl0bGUgICAgICAgIAk9ICR0aXRsZTsKCQkkb2JqLT5hbGlhcwkJIAk9ICRhbGlhczsKCQkkb2JqLT5hY3RpdmUgICAgICAgCT0gaXNzZXQoJHBhcmFtc1snYWN0aXZlJ10pID8gMSA6IDA7CgkJJG9iai0+c3RhcnRfdGltZSAgIAk9ICRzdGFydF90aW1lOwoJCSRvYmotPmVuZF90aW1lICAgICAJPSAkZW5kX3RpbWU7CgkJLy8kb2JqLT5jYXRlZ29yaWVzCT0gJGNhdGVnb3JpZXM7CgkJLy8kb2JqLT5jYXRlZ29yeV9pZCA9ICRjYXRlZ29yeV9pZDsKCQkJCQoJCS8vIFNhdmUgaXRlbSB0byBkYXRhYmFzZQoJCSR0aGlzLT5TYXZlSXRlbSgkb2JqKTsKCQkKCQkvLyBQb3N0UHJvY2VzcwoJCWZvcmVhY2goJG9iai0+ZmllbGRkZWZzIGFzICRmaWVsZCkgewoJCQoJCQkkZmllbGQtPkV2ZW50SGFuZGxlcigpLT5JdGVtU2F2ZVBvc3RQcm9jZXNzKCRlcnJvcnMsICRwYXJhbXMpOwoJCX0KCgkJLy8gaWYgYXBwbHkgYW5kIGFqYXggICAgICAgICAgIAoJCWlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7CgkJCSRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsKCQkJJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+U3VjY2VzczwvUmVzcG9uc2U+JzsKCQkJJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnIC4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpIC4gJ11dPjwvRGV0YWlscz4nOyAgICAgICAgICAgICAgIAoJCQkkcmVzcG9uc2UgLj0gJzwvRWRpdEl0ZW0+JzsKCQkJZWNobyAkcmVzcG9uc2U7CgkJCXJldHVybjsKCQl9IAoJCQoJCS8vIGlmIHNhdmUgYW5kIGNyZWF0ZSBuZXcKCQlpZiAoaXNzZXQoJHBhcmFtc1snc2F2ZV9jcmVhdGUnXSkgKSB7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgYXJyYXkoCgkJCQknbWVzc2FnZScgPT4gJ3NhdmVjcmVhdGVfbWVzc2FnZScKCQkJKSk7CgkJfSAgCQkgICAgCgoJCS8vIHNob3cgc2F2ZWQgbWVzc2FnZQoJCWlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsKCQkKCQkJbGlzdGl0Ml91dGlsczo6Y2xlYW5fcGFyYW1zKCRwYXJhbXMsIGFycmF5KCdwYWdlJyksIHRydWUpOwoJCQkkcGFyYW1zWydhY3RpdmVfdGFiJ10gPSAnaXRlbXRhYic7CgkJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICdjaGFuZ2Vzc2F2ZWQnOwoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCQkJCgkJfSBlbHNlIHsKCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpKTsKCQl9CgkJCgl9IC8vIGVuZCBlcnJvciBjaGVjawoJCn0gLy8gZW5kIHN1Ym1pdCBvciBhcHBseQplbHNlaWYoJG9iai0+aXRlbV9pZCA+IDAgfHwgJG1vZGUgPT0gJ2NvcHknKSB7CgoJJGl0ZW1faWQJCT0gJG9iai0+aXRlbV9pZDsKCSR0aXRsZSAJCQk9ICRvYmotPnRpdGxlOwoJJGFsaWFzCQkgIAk9ICRvYmotPmFsaWFzOwoJJGFjdGl2ZSAgICAgICAJPSAkb2JqLT5hY3RpdmU7Cgkkc3RhcnRfdGltZSAgIAk9ICRvYmotPnN0YXJ0X3RpbWU7CgkkZW5kX3RpbWUgICAgIAk9ICRvYmotPmVuZF90aW1lOwoJCglpZighZW1wdHkoJHN0YXJ0X3RpbWUpfHwgIWVtcHR5KCRlbmRfdGltZSkpIHsKCQkkdGltZV9jb250cm9sID0gMTsKCX0KCS8vJGNhdGVnb3JpZXMJPSAkb2JqLT5jYXRlZ29yaWVzOwoJLy8kY2F0ZWdvcnlfaWQgCT0gJG9iai0+Y2F0ZWdvcnlfaWQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNZXNzYWdlIGNvbnRyb2wKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8gZGlzcGxheSBlcnJvcnMgaWYgdGhlcmUgYXJlIGFueQppZiAoIWVtcHR5KCRlcnJvcnMpKSB7CiAgICBpZiAoaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgJiYgaXNzZXQoJHBhcmFtc1snYWpheCddKSkgewogICAgICAgICRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5FcnJvcjwvUmVzcG9uc2U+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWyc7CiAgICAgICAgZm9yZWFjaCAoJGVycm9ycyBhcyAkZXJyb3IpIHsKICAgICAgICAgICAgJHJlc3BvbnNlIC49ICc8bGk+JyAuICRlcnJvciAuICc8L2xpPic7CiAgICAgICAgfQogICAgICAgICRyZXNwb25zZSAuPSAnXV0+PC9EZXRhaWxzPic7CiAgICAgICAgJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7CiAgICAgICAgZWNobyAkcmVzcG9uc2U7CiAgICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgfQp9CgppZihpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pICYmIGVtcHR5KCRlcnJvcnMpKSAKICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWRfY3JlYXRlJykpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRzbWFydHktPmFzc2lnbignaXRlbU9iamVjdCcsICRvYmopOwoKJHNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVCYWNrTGluaygnaXRlbXRhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICgkaXRlbV9pZCA+IDAgPyAkdGhpcy0+TW9kTGFuZygnZWRpdCcpIC4gJyAnIC4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCAnJykgOiAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCAnJykpKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfdGl0bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlJywgJHRpdGxlLCA1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsaWFzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90aW1lX2NvbnRyb2wnLCAkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICd0aW1lX2NvbnRyb2wnLCAxLCAkdGltZV9jb250cm9sLCAnb25jbGljaz0idG9nZ2xlY29sbGFwc2UoXCdleHBpcnlpbmZvXCcpOyInKSk7CiRzbWFydHktPmFzc2lnbigndXNlX3RpbWVfY29udHJvbCcsICR0aW1lX2NvbnRyb2wpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXJ0X3RpbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N0YXJ0X3RpbWUnLCAkc3RhcnRfdGltZSwgMjApKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9lbmRfdGltZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZW5kX3RpbWUnLCAkZW5kX3RpbWUsIDIwKSk7CgppZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfYXBwcm92ZV9pdGVtJykpCgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FjdGl2ZScsICR0aGlzLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ2FjdGl2ZScsIDEsICRhY3RpdmUpKTsKCi8qCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignYXBwbHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHknLCBsYW5nKCdhcHBseScpKSk7CiRzbWFydHktPmFzc2lnbignc2F2ZV9jcmVhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc2F2ZV9jcmVhdGUnLCAkdGhpcy0+TW9kTGFuZygnc2F2ZV9jcmVhdGUnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoqLwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdlZGl0aXRlbS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEzvv715dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5CiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpLiAnX21vZGlmeV9vcHRpb24nKSkgcmV0dXJuOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEVycm9yIHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGVycm9ycyA9IGFycmF5KCk7CgppZihlbXB0eSgkcGFyYW1zWyd1cmxfcHJlZml4J10pKSB7CgoJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2Vycm9yX29wdGlvbnJlcXVpcmVkJywgJHRoaXMtPk1vZExhbmcoJ3Byb21wdF91cmxfcHJlZml4JykpOwp9CgppZihlbXB0eSgkcGFyYW1zWydmcmllbmRseW5hbWUnXSkpIHsKCgkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3Jfb3B0aW9ucmVxdWlyZWQnLCAkdGhpcy0+TW9kTGFuZygncHJvbXB0X2ZyaWVuZGx5bmFtZScpKTsKfQoKaWYoZW1wdHkoJHBhcmFtc1snaXRlbV90aXRsZSddKSkgewoKCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdlcnJvcl9vcHRpb25yZXF1aXJlZCcsICR0aGlzLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV90aXRsZScpKTsKfQoKaWYoZW1wdHkoJHBhcmFtc1snaXRlbV9zaW5ndWxhciddKSkgewoKCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdlcnJvcl9vcHRpb25yZXF1aXJlZCcsICR0aGlzLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV9zaW5ndWxhcicpKTsKfQoKaWYoZW1wdHkoJHBhcmFtc1snaXRlbV9wbHVyYWwnXSkpIHsKCgkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3Jfb3B0aW9ucmVxdWlyZWQnLCAkdGhpcy0+TW9kTGFuZygncHJvbXB0X2l0ZW1fcGx1cmFsJykpOwp9CgppZihjb3VudCgkZXJyb3JzKSkgewoKCSRwYXJhbXMgPSBhcnJheSgnZXJyb3JzJyA9PiAkZXJyb3JzWzBdLCAnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnRhYicpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNldCBuZXcgdmFsdWVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnLAkJJHBhcmFtc1snZnJpZW5kbHluYW1lJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5zZWN0aW9uJywJCSRwYXJhbXNbJ2FkbWluc2VjdGlvbiddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21vZGRlc2NyaXB0aW9uJywgICAgICAkcGFyYW1zWydtb2RkZXNjcmlwdGlvbiddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLAkJCSRwYXJhbXNbJ2l0ZW1fdGl0bGUnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXInLAkJCSRwYXJhbXNbJ2l0ZW1zX3NvcnRvcmRlciddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLAkJJHBhcmFtc1snaXRlbV9zaW5ndWxhciddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywJCQkkcGFyYW1zWydpdGVtX3BsdXJhbCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Rpc3BsYXlfY3JlYXRlX2RhdGUnLCAoaXNzZXQoJHBhcmFtc1snZGlzcGxheV9jcmVhdGVfZGF0ZSddKT8xOjApKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fY29scycsCQkJKChpc3NldCgkcGFyYW1zWydpdGVtX2NvbHMnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snaXRlbV9jb2xzJ10pKSA/IGltcGxvZGUoJywnLCAkcGFyYW1zWydpdGVtX2NvbHMnXSkgOiAnJykpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaXRlbXNfcGVyX3BhZ2UnLAkJJHBhcmFtc1snaXRlbXNfcGVyX3BhZ2UnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywJCQkkcGFyYW1zWyd1cmxfcHJlZml4J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLAkJKGlzc2V0KCRwYXJhbXNbJ2Rpc3BsYXlfaW5saW5lJ10pPzE6MCkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3ViY2F0ZWdvcnknLAkJCShpc3NldCgkcGFyYW1zWydzdWJjYXRlZ29yeSddKT8xOjApKTsKCi8vIE1vZHVsZSBkZWZhdWx0cwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsCQkJJHBhcmFtc1snZGV0YWlscGFnZSddID49IDAgPyAkcGFyYW1zWydkZXRhaWxwYWdlJ10gOiBOVUxMKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N1bW1hcnlwYWdlJywJCQkkcGFyYW1zWydzdW1tYXJ5cGFnZSddID49IDAgPyAkcGFyYW1zWydzdW1tYXJ5cGFnZSddIDogTlVMTCk7CgovLyBDcm9zcyBNb2R1bGUgb3B0aW9ucwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVpbmRleF9zZWFyY2gnLAkJKGlzc2V0KCRwYXJhbXNbJ3JlaW5kZXhfc2VhcmNoJ10pPzE6MCkpOwoKJHBhcmFtcyA9IGFycmF5KCdtZXNzYWdlJyA9PiAnY2hhbmdlc3NhdmVkJywgJ2FjdGl2ZV90YWInID0+ICdvcHRpb250YWInKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ2hlY2sgcGFyYW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgewoKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRldGFiJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3R5cGUnXSkpIHsKCgkkdHBsX3R5cGUgPSAkcGFyYW1zWyd0eXBlJ107CgkkdHBsX2NvbnRlbnQgPSAkdGhpcy0+TW9kR2V0VGVtcGxhdGVGcm9tRmlsZSgnZmVfJyAuICR0cGxfdHlwZSAuICdfZGVmYXVsdCcpOwoJJHRwbF9uYW1lID0gJyc7Cgp9IGVsc2VpZihpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7CgoJbGlzdCgkdHBsX3R5cGUsICR0cGxfbmFtZSkgPSBleHBsb2RlKCdfJywgJHBhcmFtc1snbmFtZSddLCAyKTsKCSR0cGxfY29udGVudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyduYW1lJ10pOwoJJHBhcmFtc1snb3JpZ19uYW1lJ10gPSAkcGFyYW1zWyduYW1lJ107Cgp9IGVsc2UgewoKCWRpZSgnQ2FudCBoYXBwZW5kJyk7Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX25hbWUnXSkpIHsKCgkkdHBsX25hbWUgPSAkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ107Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX3RleHQnXSkpIHsKCgkkdHBsX2NvbnRlbnQgPSAkcGFyYW1zWyd0ZW1wbGF0ZV90ZXh0J107Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTdWJtaXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSkgewoKCSRlcnJvcnMgPSBhcnJheSgpOwoJCglpZiAoZW1wdHkoJHRwbF9uYW1lKSkgewoJCgkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ3RlbXBsYXRlX25hbWVfZW1wdHknKTsKCX0KCQoJaWYgKGVtcHR5KCR0cGxfY29udGVudCkpIHsKCQoJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCd0ZW1wbGF0ZV9jb250ZW50X2VtcHR5Jyk7Cgl9CgkKCWlmIChlbXB0eSgkZXJyb3JzKSkgewoJCgkJaWYoaXNzZXQoJHBhcmFtc1snb3JpZ19uYW1lJ10pKSB7CgkJCgkJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWydvcmlnX25hbWUnXSk7CgkJCWxpc3QoJG9yaWdfdHBsX3R5cGUsICRvcmlnX3RwbF9uYW1lKSA9IGV4cGxvZGUoJ18nLCAkcGFyYW1zWydvcmlnX25hbWUnXSwgMik7CgkJCQoJCQkkdHBsX2RlZmF1bHQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfJy4kdHBsX3R5cGUuJ190ZW1wbGF0ZScpOwoJCQlpZigkdHBsX2RlZmF1bHQgPT0gJG9yaWdfdHBsX25hbWUpIHsKCQkJCgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfJy4kdHBsX3R5cGUuJ190ZW1wbGF0ZScsICR0cGxfbmFtZSk7CgkJCX0JCQkKCQl9CgkJCgkJJHRoaXMtPlNldFRlbXBsYXRlKCR0cGxfdHlwZS4nXycuJHRwbF9uYW1lLCAkdHBsX2NvbnRlbnQpOwoJCgkJaWYgKCFpc3NldCgkcGFyYW1zWydhcHBseSddKSkgewoJCQoJCQkkcGFyYW1zID0gYXJyYXkoJ21lc3NhZ2UnID0+ICdjaGFuZ2Vzc2F2ZWQnLCdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGV0YWInKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKICAgICAgICAgICAgCgkJfSBlbHNlaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpIHsKCQkgICAgJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOwoJCSAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5TdWNjZXNzPC9SZXNwb25zZT4nOwoJCSAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycgLiAkdGhpcy0+TW9kTGFuZygnY2hhbmdlc3NhdmVkJykgLiAnXV0+PC9EZXRhaWxzPic7CgkJICAgICRyZXNwb25zZSAuPSAnPC9FZGl0SXRlbT4nOwoJCSAgICBlY2hvICRyZXNwb25zZTsKCQkgICAgcmV0dXJuOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWQnKSk7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8gZGlzcGxheSBlcnJvcnMgaWYgdGhlcmUgYXJlIGFueQppZiAoIWVtcHR5KCRlcnJvcnMpKSB7CiAgICBpZiAoaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgJiYgaXNzZXQoJHBhcmFtc1snYWpheCddKSkgewogICAgICAgICRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5FcnJvcjwvUmVzcG9uc2U+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWyc7CiAgICAgICAgZm9yZWFjaCAoJGVycm9ycyBhcyAkZXJyb3IpIHsKICAgICAgICAgICAgJHJlc3BvbnNlIC49ICc8bGk+JyAuICRlcnJvciAuICc8L2xpPic7CiAgICAgICAgfQogICAgICAgICRyZXNwb25zZSAuPSAnXV0+PC9EZXRhaWxzPic7CiAgICAgICAgJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7CiAgICAgICAgZWNobyAkcmVzcG9uc2U7CiAgICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgfQp9Cgokc21hcnR5LT5hc3NpZ24oJ2JhY2tsaW5rJywgJHRoaXMtPkNyZWF0ZUJhY2tMaW5rKCd0ZW1wbGF0ZXRhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsIChpc3NldCgkcGFyYW1zWyduYW1lJ10pID8gJHRoaXMtPk1vZExhbmcoJ2VkaXR0ZW1wbGF0ZScpIDogJHRoaXMtPk1vZExhbmcoJ2FkZCcsICR0aGlzLT5Nb2RMYW5nKCR0cGxfdHlwZS4ndGVtcGxhdGUnKSkpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSgkaWQsICR0cGxfY29udGVudCwgJ3RlbXBsYXRlX3RleHQnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGVtcGxhdGVfbmFtZScsICR0cGxfbmFtZSwgNDApKTsKCiR0ZW1wbGF0ZWxpc3QgPSAkdGhpcy0+R2V0RmlsZVRlbXBsYXRlc0J5VHlwZSgkdHBsX3R5cGUpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RwbF9saXN0JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndGVtcGxhdGVfZnJvbWZpbGUnLCAkdGVtcGxhdGVsaXN0KSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2FwcGx5JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdlZGl0dGVtcGxhdGUudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_exportitems.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkgcmV0dXJuOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENoZWNrIHBhcmFtcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgoJJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2l0ZW10YWInOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCi8vIEluaXQgJGV4cG9ydHZhbHVlcwokb2JqID0gJHRoaXMtPkluaXRpYXRlSXRlbSgpOwpmb3JlYWNoKCRvYmogYXMgJGs9PiR2KSB7CgoJaWYoJHYgaW5zdGFuY2VvZiBMaXN0SXQyRmllbGRkZWZBcnJheSkgewoJCgkJZm9yZWFjaCgkdiBhcyAkZikgewoJCQkJCgkJCSRleHBvcnR2YWx1ZXNbJGYtPkdldEFsaWFzKCldID0gJGYtPkdldEFsaWFzKCk7CQoJCX0KCX0KCWVsc2UgewoKCQkkZXhwb3J0dmFsdWVzWyRrXSA9ICRrOwoJfQkJCn0KdW5zZXQoJG9iaik7CgokZGF0ZWZvcm1hdCA9IHRyaW0oZ2V0X3ByZWZlcmVuY2UoZ2V0X3VzZXJpZCgpLCdkYXRlX2Zvcm1hdF9zdHJpbmcnLCclWS0lbS0lZCcpKTsKCmlmKGVtcHR5KCRkYXRlZm9ybWF0KSkgCgkkZGF0ZWZvcm1hdCA9ICclWS0lbS0lZCc7CQkKCiRkYXRlIAkJCQk9IHN0cmZ0aW1lKCRkYXRlZm9ybWF0LCB0aW1lKCkpOwokZmlsZW5hbWUgCQkJPSAkdGhpcy0+R2V0TmFtZSgpLiAnLUV4cG9ydC0nIC4kZGF0ZTsKJGZpbGVuYW1lCQkJPSBwcmVnX3JlcGxhY2UoJy9bXlx3XGRcLlwtXF9dLycsJ18nLCRmaWxlbmFtZSk7CgokcGx1cmFsICAJCSAJPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9wbHVyYWwnLCAnJyk7CiRzZXBhcmF0b3IgCQkJPSBsaXN0aXQyX3V0aWxzOjppbml0X3Zhcignc2VwYXJhdG9yJywgJHBhcmFtcywgJzsnKTsgLy8gPC0gRGVmYXVsdCBjb3VsZCBiZSBvcHRpb24gCiRlbmNsb3VzZXIgCQkJPSBsaXN0aXQyX3V0aWxzOjppbml0X3ZhcignZW5jbG91c2VyJywgJHBhcmFtcywgJyInKTsgLy8gPC0gRGVmYXVsdCBjb3VsZCBiZSBvcHRpb24gCiRzZWxfZXhwb3J0dmFsdWVzIAk9IGxpc3RpdDJfdXRpbHM6OmluaXRfdmFyKCdleHBvcnR2YWx1ZXMnLCAkcGFyYW1zLCAkZXhwb3J0dmFsdWVzKTsKJGZpbGVuYW1lIAkJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ2ZpbGVuYW1lJywgJHBhcmFtcywgJGZpbGVuYW1lKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTdWJtaXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoKCSRoZWFkZXJzID0gYXJyYXkoKTsKCSRvdXRwdXQgPSBhcnJheSgpOwoJJGZpcnN0ID0gdHJ1ZTsKCgkkcXVlcnkgPSAnU0VMRUNUIGl0ZW1faWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIE9SREVSIEJZIHBvc2l0aW9uICcgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJyk7CgkkcmVzdWx0ID0gJGRiLT5HZXRDb2woJHF1ZXJ5KTsKCglpZigkcmVzdWx0KSB7CgoJCWZvcmVhY2goJHJlc3VsdCBhcyAkaXRlbV9pZCkgewoJCQoJCQkkb2JqID0gJHRoaXMtPkxvYWRJdGVtQnlJZCgkaXRlbV9pZCk7CgkJCSRyb3cgPSBhcnJheSgpOwoJCQkKCQkJZm9yZWFjaCgkb2JqIGFzICRrPT4kdikgewoKCQkJCWlmKCR2IGluc3RhbmNlb2YgTGlzdEl0MkZpZWxkZGVmQXJyYXkpIHsKCQkJCQoJCQkJCWZvcmVhY2goJHYgYXMgJGYpIHsKCQkJCQkJCgkJCQkJCWlmKCFpbl9hcnJheSgkZi0+R2V0QWxpYXMoKSwgJHNlbF9leHBvcnR2YWx1ZXMpKSAKCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQkKCQkJCQkJaWYoJGZpcnN0KQoJCQkJCQkJJGhlYWRlcnNbXSA9ICRmLT5HZXRBbGlhcygpOwoJCQkJCQkKCQkJCQkJJHJvd1tdID0gJGYtPkdldFZhbHVlKCk7CQkJCQoJCQkJCX0KCQkJCX0KCQkJCWVsc2UgewoKCQkJCQlpZighaW5fYXJyYXkoJGssICRzZWxfZXhwb3J0dmFsdWVzKSkgY29udGludWU7CgkJCQkKCQkJCQlpZigkZmlyc3QpCgkJCQkJCSRoZWFkZXJzW10gPSAkazsKCQkJCQoJCQkJCWlmKGlzX2FycmF5KCR2KSkKCQkJCQkJJHJvd1tdID0gaW1wbG9kZSgnLCcsICR2KTsKCQkJCQllbHNlCgkJCQkJCSRyb3dbXSA9ICR2OwoJCQkJfQkJCgkJCX0KCQkJCgkJCWlmKCRmaXJzdCkKCQkJCSRvdXRwdXRbXSA9ICRoZWFkZXJzOwoJCQkKCQkJJG91dHB1dFtdID0gJHJvdzsKCQkKCQkJdW5zZXQoJG9iaik7CgkJCSRmaXJzdCA9IGZhbHNlOwoJCX0KCX0KCQkKCS8vIE1ha2Ugc3VyZSBmaWxlbmFtZSBpcyBleHBvcnQgZnJpZW5kbHkKCSRmaWxlbmFtZSA9IHByZWdfcmVwbGFjZSgnL1teXHdcZFwuXC1cX10vJywnXycsJGZpbGVuYW1lKTsKCSRmaWxlbmFtZSAuPSAnLmNzdic7CgoJLy8gU2V0IGhlYWRlcnMKCWhlYWRlcigiQ29udGVudC10eXBlOnRleHQvY3N2OyBjaGFyc2V0PWlzbzg4NTktMSIpOwogICAgaGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOmF0dGFjaG1lbnQ7ZmlsZW5hbWU9Ii4kZmlsZW5hbWUpOwoKCS8vIENsZWFyIG91dHB1dCBidWZmZXIKCSRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCglmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoJCgkvLyBPdXRwdXQKCSR0b3RhbF9jb3VudCA9IGNvdW50KCRoZWFkZXJzKTsKCWZvcmVhY2goJG91dHB1dCBhcyAkb25lcm93KSB7CgkKCQkkY291bnRlciA9IDE7CgkJZm9yZWFjaCgkb25lcm93IGFzICRvbmVpdGVtKSB7CgkJCgkJCSRzdHIgPSAkZW5jbG91c2VyIC4gdXRmOF9kZWNvZGUoJG9uZWl0ZW0pIC4gJGVuY2xvdXNlcjsKCQkJaWYoJGNvdW50ZXIgPT0gJHRvdGFsX2NvdW50KSB7CgkJCQkkc3RyIC49ICJcbiI7CgkJCX0gZWxzZSB7CgkJCQkkc3RyIC49ICRzZXBhcmF0b3I7CgkJCX0KCQkJCgkJCWVjaG8gJHN0cjsKCQkJJGNvdW50ZXIrKzsKCQl9Cgl9CgkKCS8vIFByZXZlbnQgaW5jbHVkaW5nIGFjdHVhbCBIVE1MCglleGl0KCk7IAoKfSAvLyBlbmQgb2Ygc3VibWl0CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR0aGlzLT5Nb2RMYW5nKCdleHBvcnQnLCAkcGx1cmFsKSk7CiRzbWFydHktPmFzc2lnbignYmFja2xpbmsnLCAkdGhpcy0+Q3JlYXRlQmFja0xpbmsoJ2l0ZW10YWInKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9leHBvcnRpdGVtcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9leHBvcnR2YWx1ZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJ2V4cG9ydHZhbHVlc1tdJywgJGV4cG9ydHZhbHVlcywgJHNlbF9leHBvcnR2YWx1ZXMsIDEwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZmlsZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmaWxlbmFtZScsICRmaWxlbmFtZSwgNDQpIC4gJy5jc3YnKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfc2VwYXJhdG9yJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NlcGFyYXRvcicsICRzZXBhcmF0b3IsIDUwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZW5jbG91c2VyJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VuY2xvdXNlcicsICRlbmNsb3VzZXIsIDUwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY3N2X2ltcG9ydF9leHBvcnQudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_importitems.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkgcmV0dXJuOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENoZWNrIHBhcmFtcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgoJJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2l0ZW10YWInOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCiRjc3ZfbWltZXR5cGVzID0gYXJyYXkoCiAgICAndGV4dC9jc3YnLAogICAgJ3RleHQvcGxhaW4nLAogICAgJ2FwcGxpY2F0aW9uL2NzdicsCiAgICAndGV4dC9jb21tYS1zZXBhcmF0ZWQtdmFsdWVzJywKICAgICdhcHBsaWNhdGlvbi9leGNlbCcsCiAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJywKICAgICdhcHBsaWNhdGlvbi92bmQubXNleGNlbCcsCiAgICAndGV4dC9hbnl0ZXh0JywKICAgICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgJ2FwcGxpY2F0aW9uL3R4dCcsCik7CgokYWRtaW50aGVtZSAJCT0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7CiRkZXN0X3BhdGggCQkJPSBjbXNfam9pbl9wYXRoKFRNUF9DQUNIRV9MT0NBVElPTiwgJHRoaXMtPkdldE5hbWUoKSAuICdfQ1NWX0ZJTEUuY3N2Jyk7CiRmaWxlX3ZhbHVlcwkJPSBhcnJheSgpOwokdGVtcGxhdGUgCQkJPSAnYWRtaW5fY3N2X2ltcG9ydF9leHBvcnQudHBsJzsKJHBsdXJhbCAgCQkgCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpOwokc2VwYXJhdG9yIAkJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ3NlcGFyYXRvcicsICRwYXJhbXMsICc7Jyk7IC8vIDwtIERlZmF1bHQgY291bGQgYmUgb3B0aW9uIAokZW5jbG91c2VyIAkJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ2VuY2xvdXNlcicsICRwYXJhbXMsICciJyk7IC8vIDwtIERlZmF1bHQgY291bGQgYmUgb3B0aW9uIAokaW1wb3J0X3ZhbHVlcyAJCT0gbGlzdGl0Ml91dGlsczo6aW5pdF92YXIoJ2ltcG9ydF92YWx1ZXMnLCAkcGFyYW1zLCBhcnJheSgpKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb2FkIGl0ZW0gdmFyaWFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRkYXRhYmFzZV92YWx1ZXMgPSBhcnJheSgpOwokX2ludmFsaWRfdmFsdWVzID0gYXJyYXkoJ2NyZWF0ZV90aW1lJywgJ21vZGlmaWVkX3RpbWUnKTsKJGl0ZW0gPSAkdGhpcy0+SW5pdGlhdGVJdGVtKCk7Cgpmb3JlYWNoKCRpdGVtIGFzICRrPT4kdikgewoKCWlmKCR2IGluc3RhbmNlb2YgTGlzdEl0MkZpZWxkZGVmQXJyYXkpIHsKCQoJCWZvcmVhY2goJHYgYXMgJGYpIHsKCgkJCSRvYmogPSBuZXcgc3RkQ2xhc3M7CgkJCgkJCWlmKGluX2FycmF5KCRmLT5HZXRBbGlhcygpLCAkX2ludmFsaWRfdmFsdWVzKSkKCQkJCWNvbnRpbnVlOwoJCQkKCQkJJG9iai0+YWxpYXMgPSAkZi0+R2V0QWxpYXMoKTsKCQkJJG9iai0+cmVxdWlyZWQgPSAkZi0+SXNSZXF1aXJlZCgpID8gMSA6IDA7CgkJCSRvYmotPnJlcXVpcmVkX2ltYWdlID0gJGYtPklzUmVxdWlyZWQoKSA/ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJykgOiAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywnJywnJywnJywnc3lzdGVtaWNvbicpOwoJCQkkb2JqLT5oZWxwID0gJGYtPkdldERlc2MoKTsKCgkJCSRkYXRhYmFzZV92YWx1ZXNbXSA9ICRvYmo7CgkJfQoJfQoJZWxzZSB7CgkKCQkkb2JqID0gbmV3IHN0ZENsYXNzOwoJCgkJaWYoaW5fYXJyYXkoJGssICRfaW52YWxpZF92YWx1ZXMpKQoJCQljb250aW51ZTsKCQkJCgkJJG9iai0+YWxpYXMgPSAkazsKCQkkb2JqLT5yZXF1aXJlZCA9IGluX2FycmF5KCRrLCBMaXN0SXQySXRlbTo6JG1hbmRhdG9yeSkgPyAxIDogMDsKCQkkb2JqLT5yZXF1aXJlZF9pbWFnZSA9IGluX2FycmF5KCRrLCBMaXN0SXQySXRlbTo6JG1hbmRhdG9yeSkgPyAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAnJywnJywnJywnc3lzdGVtaWNvbicpIDogJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJycsJycsJycsJ3N5c3RlbWljb24nKTsKCQkkb2JqLT5oZWxwID0gJHRoaXMtPk1vZExhbmcoJ2l0ZW1fdmFyX2hlbHBfJy4gJGspOwoJCQoJCSRkYXRhYmFzZV92YWx1ZXNbXSA9ICRvYmo7Cgl9Cgp9Cgp1bnNldCgkaXRlbSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgR28gYmFjawojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoaXNzZXQoJHBhcmFtc1sncHJldmlvdXMnXSkpIHsKCgl1bnNldCgkcGFyYW1zWydzdWJtaXQnXSk7Cgl1bnNldCgkcGFyYW1zWydwcmV2aW91cyddKTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERvIGltcG9ydAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoaXNzZXQoJHBhcmFtc1snZG9faW1wb3J0J10pKSB7CgkJCgkkZXJyb3JzID0gYXJyYXkoKTsKCglmb3JlYWNoKCRkYXRhYmFzZV92YWx1ZXMgYXMgJG9iaikgewoJCgkJaWYoJG9iai0+cmVxdWlyZWQpIHsKCQkKCQkJaWYoISRpbXBvcnRfdmFsdWVzWyRvYmotPmFsaWFzXSkKCQkJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdyZXF1aXJlZF9maWVsZF9lbXB0eScpIC4gJyAoJyAuICRvYmotPmFsaWFzIC4gJyknOwoJCX0KCX0KCQoJaWYoZW1wdHkoJGVycm9ycykpIHsKCgkJJGRhdGFiYXNlX3ZhbHVlcyA9IGFycmF5KCk7CgkJCgkJLy8gSW5pdGlhdGUgQ3N2SXRlcmF0b3IKCQkkY3N2ID0gbmV3IExpc3RJdDJDc3ZJdGVyYXRvcigkZGVzdF9wYXRoLCB0cnVlLCAkc2VwYXJhdG9yLCAkZW5jbG91c2VyKTsKCgkJLy8gQ29sbGVjdCBkYXRhIGZyb20gZmlsZQoJCXdoaWxlICgkY3N2LT5uZXh0KCkpIHsKCgkJCSRyb3cgPSAkY3N2LT5jdXJyZW50KCk7CgkJCQoJCQlmb3JlYWNoKCRpbXBvcnRfdmFsdWVzIGFzICRhbGlhcyA9PiAkaW5kZXgpIHsKCQkJCgkJCQlpZigkaW5kZXgpIHsKCQkJCQoJCQkJCSRkYXRhYmFzZV92YWx1ZXNbJGNzdi0+a2V5KCldWyRhbGlhc10gPSAkcm93WyRpbmRleF07CgkJCQl9CgkJCQllbHNlIHsKCQkJCQoJCQkJCXVuc2V0KCRpbXBvcnRfdmFsdWVzWyRhbGlhc10pOwoJCQkJfQoJCQl9CgkJfQoJCQkKCQkvLyBJbXBvcnQgZGF0YSB0byBkYXRhYmFzZQoJCWZvcmVhY2goJGRhdGFiYXNlX3ZhbHVlcyBhcyAkaXRlbV92YWx1ZXMpIHsKCQkKCQkJJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUl0ZW0oKTsKCQkJCgkJCWZvcmVhY2goJGl0ZW1fdmFsdWVzIGFzICRrZXk9PiR2YWx1ZSkgewoKCQkJCWlmKCRrZXkgPT0gJ2l0ZW1faWQnICYmICFpc19udW1lcmljKCR2YWx1ZSkpCgkJCQkJY29udGludWU7CgkJCQoJCQkJJGtleSAJPSB1dGY4X2VuY29kZSgka2V5KTsKCQkJCSR2YWx1ZSAJPSBleHBsb2RlKExJU1RJVDJfVkFMVUVfU0VQQVJBVE9SLCB1dGY4X2VuY29kZSgkdmFsdWUpKTsKCQkJCgkJCQkkb2JqLT5TZXRQcm9wZXJ0eVZhbHVlKCRrZXksICR2YWx1ZSk7CgkJCQlpZigka2V5ID09ICdpdGVtX2lkJykKCQkJCQlMaXN0SXQySXRlbU9wZXJhdGlvbnM6OkxvYWQoJHRoaXMsICRvYmopOyAvLyA8LSBUcnkgbG9hZGluZyBpdGVtIGlmIHdlIGFjdHVhbGx5IGdvdCBJRC4KCQkJfQoJCQkJCQkJCgkJCSR0aGlzLT5TYXZlSXRlbSgkb2JqKTsKCQkJCgkJCXVuc2V0KCRvYmopOwoJCX0KCQkKCQkvLyBSZWRpcmVjdCBiYWNrIHRvIGxpc3RpbmcKCQkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4naXRlbXRhYicpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJCgl9IC8vIGVuZCBvZiBlcnJvciBjaGVjawp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU3VibWl0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsKCglpZiAoIWlzc2V0KCRwYXJhbXNbJ2RvX2ltcG9ydCddKSkgewoKCQkkZXJyb3JzID0gYXJyYXkoKTsKCgkJLy8gU3RhcnQgZmlsZSB2YWxpZGF0aW9uCgkJJF9maWxlID0gJF9GSUxFU1skaWQuJ2NzdmZpbGUnXTsKCQlpZighaXNzZXQoJF9maWxlWyduYW1lJ10pIHx8ICRfZmlsZVsnbmFtZSddID09ICcnKSB7CgoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3JfZmlsZV9lbXB0eScpOwoJCX0gCgkJLyogRElTQUJMRSBVTlRJTCBGVVJUSEVSIE5PVElDRSEKCQlpZighaW5fYXJyYXkoJF9maWxlWyd0eXBlJ10sICRjc3ZfbWltZXR5cGVzKSkgewoJCQoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3JfZmlsZV9ub2NzdicpOwoJCX0KCQkqLwkKCQlpZihlbXB0eSgkZXJyb3JzKSkgewoJCQoJCQlpZighbW92ZV91cGxvYWRlZF9maWxlKCRfZmlsZVsndG1wX25hbWUnXSwgJGRlc3RfcGF0aCkpIHsKCQkJCgkJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3JfZmlsZV9wZXJtaXNzaW9ucycpOwoJCQl9CQoJCX0KCX0KCQoJLy8gTm8gZmlsZSB2YWxpZGF0aW9uIGVycm9ycywgcmVhZCBmaWxlCglpZihlbXB0eSgkZXJyb3JzKSB8fCBpc3NldCgkcGFyYW1zWydkb19pbXBvcnQnXSkpIHsKCQoJCS8vIEluaXRpYXRlIENzdkl0ZXJhdG9yCgkJJGNzdiA9IG5ldyBMaXN0SXQyQ3N2SXRlcmF0b3IoJGRlc3RfcGF0aCwgZmFsc2UsICRzZXBhcmF0b3IsICRlbmNsb3VzZXIpOwoJCSRjc3YtPm5leHQoKTsKCQkkdG1wID0gJGNzdi0+Y3VycmVudCgpOwoJCSRjc3YtPnRlYXJEb3duKCk7CgkJCgkJLy8gQnVpbGQgZHJvcGRvd24gYXJyYXkKCQkkZmlsZV92YWx1ZXMgPSBhcnJheSgwID0+IGxhbmcoJ25vbmUnKSk7CgkJZm9yZWFjaCgkdG1wIGFzICR0bXB2YWwpIHsKCQkKCQkJJGZpbGVfdmFsdWVzWyR0bXB2YWxdID0gdXRmOF9lbmNvZGUoJHRtcHZhbCk7CgkJfQoJCQoJCSR0ZW1wbGF0ZSA9ICdhZG1pbl9jc3ZfaW1wb3J0LnRwbCc7CQoJfQoJCQoJCn0gLy8gZW5kIG9mIHN1Ym1pdAoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vIGRpc3BsYXkgZXJyb3JzIGlmIHRoZXJlIGFyZSBhbnkKaWYgKCFlbXB0eSgkZXJyb3JzKSkgewogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpIHsKICAgICAgICAkcmVzcG9uc2UgPSAnPEVkaXRJdGVtPic7CiAgICAgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+RXJyb3I8L1Jlc3BvbnNlPic7CiAgICAgICAgJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnOwogICAgICAgIGZvcmVhY2ggKCRlcnJvcnMgYXMgJGVycm9yKSB7CiAgICAgICAgICAgICRyZXNwb25zZSAuPSAnPGxpPicgLiAkZXJyb3IgLiAnPC9saT4nOwogICAgICAgIH0KICAgICAgICAkcmVzcG9uc2UgLj0gJ11dPjwvRGV0YWlscz4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPC9FZGl0SXRlbT4nOwogICAgICAgIGVjaG8gJHJlc3BvbnNlOwogICAgICAgIHJldHVybjsKICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgIH0KfQoKLy8gUGFydCAxCiRzbWFydHktPmFzc2lnbignaW5wdXRfZmlsZScsJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsICdjc3ZmaWxlJywgJycsIDI1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2VwYXJhdG9yJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NlcGFyYXRvcicsICRzZXBhcmF0b3IsIDUwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZW5jbG91c2VyJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VuY2xvdXNlcicsICRlbmNsb3VzZXIsIDUwKSk7CgovLyBQYXJ0IDIKJHNtYXJ0eS0+YXNzaWduKCdkYXRhYmFzZV92YWx1ZXMnLCAkZGF0YWJhc2VfdmFsdWVzKTsKJHNtYXJ0eS0+YXNzaWduKCdmaWxlX3ZhbHVlcycsICRmaWxlX3ZhbHVlcyk7Cgokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPk1vZExhbmcoJ2ltcG9ydCcsICRwbHVyYWwpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVCYWNrTGluaygnaXRlbXRhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2ltcG9ydGl0ZW1zJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2UsICcnLCAkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmV2aW91cycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdwcmV2aW91cycsIGxhbmcoJ3ByZXZpb3VzJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdkb19pbXBvcnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZG9faW1wb3J0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgkdGVtcGxhdGUpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_reordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyAgQSBmdW5jdGlvbiBmb3IgdGhlIExpc3RJdDIgbW9kdWxlIHRvIGFsbG93IHJlLW9yZGVyaW5nIHRoZSBoaWVyYXJjaGljYWwgY2F0ZWdvcnkgdHJlZS4KIyAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykpIHJldHVybjsKCi8vCi8vIGZ1bmN0aW9ucwovLwpmdW5jdGlvbiBsaXN0aXQyX2dldF9jYXRlZ29yeV90cmVlKCRtb2R1bGVfYWxpYXMsJHBhcmVudF9pZCA9IC0xKQp7CiAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAkdGhldGFibGUgPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV8nLiRtb2R1bGVfYWxpYXMuJ19jYXRlZ29yeSc7CgogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuJHRoZXRhYmxlLicgV0hFUkUgcGFyZW50X2lkID0gPyBPUkRFUiBCWSBoaWVyYXJjaHknOwogICRkYXRhPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcGFyZW50X2lkKSk7CgogIGlmKCBpc19hcnJheSgkZGF0YSkgJiYgY291bnQoJGRhdGEpICkKICAgIHsKICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkKCXsKCSAgJHRtcCA9IGxpc3RpdDJfZ2V0X2NhdGVnb3J5X3RyZWUoJG1vZHVsZV9hbGlhcywkZGF0YVskaV1bJ2NhdGVnb3J5X2lkJ10pOwoJICBpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKQoJICAgIHsKCSAgICAgICRkYXRhWyRpXVsnY2hpbGRyZW4nXSA9ICR0bXA7CgkgICAgfQoJfQoKICAgICAgcmV0dXJuICRkYXRhOwogICAgfQp9CgpmdW5jdGlvbiBsaXN0aXQyX2NyZWF0ZV9jYXRlZ29yeV9mbGF0bGlzdCgkdHJlZSwkcGFyZW50X2lkID0gLTEpCnsKICAkZGF0YSA9IGFycmF5KCk7CiAgJG9yZGVyID0gMTsKICBmb3JlYWNoKCAkdHJlZSBhcyAmJG5vZGUgKQogICAgewogICAgICBpZiggaXNfYXJyYXkoJG5vZGUpICYmIGNvdW50KCRub2RlKSA9PSAyICkKCXsKCSAgJHBpZCA9IChpbnQpc3Vic3RyKCRub2RlWzBdLHN0cmxlbignY2F0XycpKTsKCSAgJGRhdGFbXSA9IGFycmF5KCdpZCc9PiRwaWQsJ3BhcmVudF9pZCc9PiRwYXJlbnRfaWQsJ29yZGVyJz0+JG9yZGVyKTsKCSAgaWYoIGlzc2V0KCRub2RlWzFdKSAmJiBpc19hcnJheSgkbm9kZVsxXSkgKQoJICAgIHsKCSAgICAgICRkYXRhID0gYXJyYXlfbWVyZ2UoJGRhdGEsbGlzdGl0Ml9jcmVhdGVfY2F0ZWdvcnlfZmxhdGxpc3QoJG5vZGVbMV0sJHBpZCkpOwoJICAgIH0KCX0KICAgICAgZWxzZQoJewoJICAkcGlkID0gKGludClzdWJzdHIoJG5vZGUsc3RybGVuKCdjYXRfJykpOwoJICAkZGF0YVtdID0gYXJyYXkoJ2lkJz0+JHBpZCwncGFyZW50X2lkJz0+JHBhcmVudF9pZCwnb3JkZXInPT4kb3JkZXIpOwoJfQogICAgICAkb3JkZXIrKzsKICAgIH0KICByZXR1cm4gJGRhdGE7Cn0KCi8vCi8vIEdldCB0aGUgZGF0YQovLwokdHJlZSA9IGxpc3RpdDJfZ2V0X2NhdGVnb3J5X3RyZWUoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpKTsKCi8vcHJpbnRfcigkdHJlZSk7CgovLwovLyBIYW5kbGUgZm9ybSBzdWJtaXNzaW9uCi8vCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcnl0YWInKSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSAKICB7CgogICAgJG9yZGVyZGF0YSA9IGpzb25fZGVjb2RlKCRwYXJhbXNbJ29yZGVyZGF0YSddKTsKCQogICAgJGZsYXRsaXN0ID0gbGlzdGl0Ml9jcmVhdGVfY2F0ZWdvcnlfZmxhdGxpc3QoJG9yZGVyZGF0YSk7CiAgICAkdGhldGFibGUgPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV8nLiR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKS4nX2NhdGVnb3J5JzsKCiAgICAvLyBnZXQgdGhlIGZ1bGwgY2F0ZWdvcnkgbGlzdC4KICAgICRjYXRlZ29yaWVzID0gYXJyYXkoKTsKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy4kdGhldGFibGUuJyBPUkRFUiBCWSBoaWVyYXJjaHknOwogICAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCgl7CgkgICRyZWMgPSAkdG1wWyRpXTsKCSAgJGNhdGVnb3JpZXNbJHJlY1snY2F0ZWdvcnlfaWQnXV0gPSAkdG1wOwoJfQogICAgfQogICAgCiAgICAvLyBhbmQgdXBkYXRlIHRoZSBkYXRhYmFzZSB3aXRoIG91ciBuZXcgb3JkZXIgaW5mby4KICAgICRxdWVyeSA9ICdVUERBVEUgJy4kdGhldGFibGUuJyBTRVQgcGFyZW50X2lkID0gPywgcG9zaXRpb24gPSA/LCBoaWVyYXJjaHkgPSA/IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiAgICBmb3JlYWNoKCAkZmxhdGxpc3QgYXMgJHJlYyApCiAgICAgIHsKCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZWNbJ3BhcmVudF9pZCddLCRyZWNbJ29yZGVyJ10sJycsJHJlY1snaWQnXSkpOwogICAgICB9CiAgICBMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoJHRoaXMpOwogICAgCiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3J5dGFiJywgJ21lc3NhZ2UnID0+ICdjaGFuZ2Vzc2F2ZWQnKSk7CiAgfQoKLy8KLy8gZ2l2ZSBkYXRhIHRvIHNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3Jlb3JkZXJjYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiRzbWFydHktPmFzc2lnbigndHJlZScsJHRyZWUpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fcmVvcmRlcmNhdGVnb3J5LnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_requirefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbnMnKSkgcmV0dXJuOwoKaWYoIWlzc2V0KCRwYXJhbXNbJ3JlcXVpcmUnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkZGVmX2lkJ10pKQp7CglkaWUoJ21pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7Cn0KCiRmaWVsZGRlZl9pZCA9IChpbnQpJHBhcmFtc1snZmllbGRkZWZfaWQnXTsKJHJlcXVpcmVkID0gKGJvb2wpJHBhcmFtc1sncmVxdWlyZSddOwoKJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBTRVQgcmVxdWlyZWQgPSA/IFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRyZXF1aXJlZCwgJGZpZWxkZGVmX2lkKSk7CgokYWRtaW50aGVtZSA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOwokanNvbiA9IG5ldyBzdGRDbGFzczsKCmlmICgkcmVxdWlyZWQpIHsKCgkkanNvbi0+aW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TW9kTGFuZygncmV2ZXJ0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCSRqc29uLT5ocmVmID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fcmVxdWlyZWZpZWxkZGVmJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ3JlcXVpcmUnID0+IDAsJ2ZpZWxkZGVmX2lkJyA9PiAkZmllbGRkZWZfaWQpLCAnJywgdHJ1ZSk7Cn0gZWxzZSB7CgoJJGpzb24tPmltYWdlID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdhcHByb3ZlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCSRqc29uLT5ocmVmID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fcmVxdWlyZWZpZWxkZGVmJywgJHJldHVybmlkLCAnJyxhcnJheSgncmVxdWlyZScgPT4gMSwnZmllbGRkZWZfaWQnID0+ICRmaWVsZGRlZl9pZCksICcnLCB0cnVlKTsKfQoKLy8gRml4IFVSTCBmb3IgSlNPTiBvdXRwdXQKJGpzb24tPmhyZWYgPSBodG1sX2VudGl0eV9kZWNvZGUoJGpzb24tPmhyZWYpOwoKaGVhZGVyKCJDb250ZW50LXR5cGU6YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIpOwoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCmVjaG8ganNvbl9lbmNvZGUoJGpzb24pOwpleGl0KCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_setdefaulttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9ucycpKQogICAgcmV0dXJuOwoKaWYgKCFpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7CiAgICBkaWUoJ21pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7Cn0KCmxpc3QoJHRwbF90eXBlLCAkdHBsX25hbWUpID0gZXhwbG9kZSgnXycsICRwYXJhbXNbJ25hbWUnXSwgMik7CgovLyBzZXQgZGVmYXVsdCB0ZW1wbGF0ZSBwcmVmZXJlbmNlCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF8nLiR0cGxfdHlwZS4nX3RlbXBsYXRlJywgJHRwbF9uYW1lKTsKCi8vIGFsbCBkb25lCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGV0YWInKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_setfielddefvalue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpIHJldHVybjsKCmlmICghaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpCgl0aHJvdyBuZXcgTGlzdEl0MkV4Y2VwdGlvbignTWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4hJyk7CgokZmlkID0gKGludCkkcGFyYW1zWydmaWVsZGRlZl9pZCddOwokaXRlbV9pZCA9IChpbnQpJHBhcmFtc1snaXRlbV9pZCddOwkKCQokdmFsdWUgPSAnJzsJCmlmIChpc3NldCgkcGFyYW1zWyd2YWx1ZSddKSkgewoKCSR2YWx1ZSA9ICRwYXJhbXNbJ3ZhbHVlJ107Cn0KCiRxdWVyeSAgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZpZCkpOwoKJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkZmlkLCAkdmFsdWUpKTsKCQokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKJGpzb24gPSBuZXcgc3RkQ2xhc3M7CgokanNvbi0+dmFsdWUgPSAkdmFsdWU7CgovLyBGaXggVVJMIGZvciBKU09OIG91dHB1dAokanNvbi0+aHJlZiA9IGh0bWxfZW50aXR5X2RlY29kZSgkanNvbi0+aHJlZik7CgpoZWFkZXIoIkNvbnRlbnQtdHlwZTphcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKZWNobyBqc29uX2VuY29kZSgkanNvbik7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_togglefielddefvalue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpIHJldHVybjsKCmlmICghaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpCgl0aHJvdyBuZXcgTGlzdEl0MkV4Y2VwdGlvbignTWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4hJyk7CgokZmlkID0gKGludCkkcGFyYW1zWydmaWVsZGRlZl9pZCddOwokaXRlbV9pZCA9IChpbnQpJHBhcmFtc1snaXRlbV9pZCddOwkKCQokdmFsdWUgPSAnJzsJCmlmIChpc3NldCgkcGFyYW1zWyd2YWx1ZSddKSkgewoKCSR2YWx1ZSA9ICRwYXJhbXNbJ3ZhbHVlJ10gPyAkcGFyYW1zWyd2YWx1ZSddIDogZmFsc2U7Cn0KCiRxdWVyeSAgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZpZCkpOwoKJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkZmlkLCAkdmFsdWUpKTsKCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7CiRqc29uID0gbmV3IHN0ZENsYXNzOwoKaWYgKCR2YWx1ZSkgewoKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZXZlcnQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZnZhbHVlJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkZmlkLCAnaXRlbV9pZCcgPT4gJGl0ZW1faWQsICd2YWx1ZScgPT4gMCksICcnLCB0cnVlKTsKfSBlbHNlIHsKCgkkanNvbi0+aW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZnZhbHVlJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkZmlkLCAnaXRlbV9pZCcgPT4gJGl0ZW1faWQsICd2YWx1ZScgPT4gMSksICcnLCB0cnVlKTsKfQoKLy8gRml4IFVSTCBmb3IgSlNPTiBvdXRwdXQKJGpzb24tPmhyZWYgPSBodG1sX2VudGl0eV9kZWNvZGUoJGpzb24tPmhyZWYpOwoKaGVhZGVyKCJDb250ZW50LXR5cGU6YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIpOwoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCmVjaG8ganNvbl9lbmNvZGUoJGpzb24pOwpleGl0KCk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.ajax.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoaXNzZXQoJHBhcmFtc1sndXNyX2Z1bmN0aW9uJ10pKXsKCSR1c3JfcGFyYW1zID0gYXJyYXkoKTsKCWlmKGlzc2V0KCRwYXJhbXNbJ3BhcmFtcyddKSkKCXsKCQlpZihpc19hcnJheSgkcGFyYW1zWydwYXJhbXMnXSkpCgkJewoJCQkkdXNyX3BhcmFtcyA9IGFycmF5KCRwYXJhbXNbJ3BhcmFtcyddKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHVzcl9wYXJhbXMgPSBleHBsb2RlKCcsJywgJHBhcmFtc1sncGFyYW1zJ10pOwoJCX0KCX0KCWVjaG8gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHRoaXMsICRwYXJhbXNbJ3Vzcl9mdW5jdGlvbiddKSwgJHVzcl9wYXJhbXMpOwoJZXhpdDsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IG9iamVjdHMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHF1ZXJ5X29iamVjdCA9IG5ldyBMaXN0SXQyQ2F0ZWdvcnlRdWVyeSgkdGhpcywgJHBhcmFtcyk7CgpFdmVudHM6OlNlbmRFdmVudCgkdGhpcy0+R2V0TmFtZSgpLCAnUHJlUmVuZGVyQWN0aW9uJywgYXJyYXkoJ2FjdGlvbl9uYW1lJyA9PiAnY2F0ZWdvcnknLCAncXVlcnlfb2JqZWN0JyA9PiAmJHF1ZXJ5X29iamVjdCkpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy93aGljaCB0ZW1wbGF0ZSB0byB1c2UKJHRlbXBsYXRlID0gJ2NhdGVnb3J5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X2NhdGVnb3J5X3RlbXBsYXRlJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5dGVtcGxhdGUnXSkpIHsKCSR0ZW1wbGF0ZSA9ICdjYXRlZ29yeV8nLiRwYXJhbXNbJ2NhdGVnb3J5dGVtcGxhdGUnXTsKfQoKJGRlYnVnID0gKGlzc2V0KCRwYXJhbXNbJ2RlYnVnJ10pID8gdHJ1ZSA6IGZhbHNlKTsKJGlubGluZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5X2lubGluZScsIDApOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQgaXRlbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHF1ZXJ5X29iamVjdC0+QXBwZW5kVG8oTGlzdEl0MlF1ZXJ5OjpWQVJUWVBFX1dIRVJFLCAnQi5hY3RpdmUgPSAxIEFORCBCLnBhcmVudF9pZCA9IC0xJyk7CiRkYnIgPSAkcXVlcnlfb2JqZWN0LT5FeGVjdXRlKHRydWUpOwoKJGl0ZW1zID0gYXJyYXkoKTsKd2hpbGUoJGRiciAmJiAhJGRici0+RU9GKSB7CgoJJGl0ZW1zWyRkYnItPmZpZWxkc1snY2F0ZWdvcnlfaWQnXV0gPSAkZGJyLT5maWVsZHNbJ2NhdGVnb3J5X2lkJ107CgkkZGJyLT5Nb3ZlTmV4dCgpOwp9CgppZigkZGJyKSAKCSRkYnItPkNsb3NlKCk7CQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJ1aWxkIGhpZXJhcmNoeQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLyBHcmFwIGN1cnJlbnQgcGF0aAokY3VycmVudF9wYXRoID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJ2xpc3RpdDJfaWRfaGllcmFyY2h5Jyk7CgovLyBTZXQgY29sbGFwc2UgdHJ1ZS9mYWxzZQokc2hvd3BhcmVudHMgPSBhcnJheSgpOwppZiAoaXNzZXQoJHBhcmFtc1snY29sbGFwc2UnXSkpIHsKCglpZiAoJGN1cnJlbnRfcGF0aCkgewoJCgkJJHNwbGl0dGVkX3BhdGggPSBleHBsb2RlKCcuJywgJGN1cnJlbnRfcGF0aCk7CgkJZm9yZWFjaCgkc3BsaXR0ZWRfcGF0aCBhcyAkcGF0aCkgewoJCQoJCQkkc2hvd3BhcmVudHNbXSA9ICRwYXRoOwoJCX0KCX0KfQoKJG9yaWdkZXB0aCA9IDE7CiRwcmV2ZGVwdGggPSAxOwokY291bnQgPSAwOwokbm9kZWxpc3QgPSBhcnJheSgpOwoKTGlzdEl0MkhpZXJhcmNoeU1hbmFnZXI6OkdldENoaWxkTm9kZXMoJHRoaXMsICRpZCwgJHJldHVybmlkLCAkaXRlbXMsICRub2RlbGlzdCwgJGNvdW50LCAkcHJldmRlcHRoLCAkb3JpZ2RlcHRoLCAkcGFyYW1zLCAkc2hvd3BhcmVudHMpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsICRub2RlbGlzdCk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBvYmplY3RzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRpdGVtX3F1ZXJ5ID0gbmV3IExpc3RJdDJJdGVtUXVlcnkoJHRoaXMsICRwYXJhbXMpOwoKRXZlbnRzOjpTZW5kRXZlbnQoJHRoaXMtPkdldE5hbWUoKSwgJ1ByZVJlbmRlckFjdGlvbicsIGFycmF5KCdhY3Rpb25fbmFtZScgPT4gJ2RlZmF1bHQnLCAncXVlcnlfb2JqZWN0JyA9PiAmJGl0ZW1fcXVlcnkpKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDaGVjayBwYXJhbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy93aGljaCB0ZW1wbGF0ZSB0byB1c2UKJHN1bW1hcnl0ZW1wbGF0ZSA9ICdzdW1tYXJ5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnKTsKaWYoaXNzZXQoJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pKSB7Cgkkc3VtbWFyeXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXTsKfQoKLy8gRGV0YWlsIHBhZ2UgY2hlY2sKJGRldGFpbHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsICRyZXR1cm5pZCk7CmlmKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKCglpZihpc19udW1lcmljKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKCQkkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCX0KCWVsc2UgewoJCWlmKCFpc3NldCgkaG0pKQoJCQkkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgkJCgkJJGRldGFpbHBhZ2UgPSAkaG0tPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pLT5HZXRJZCgpOwoJfQp9CgovLyBTdW1tYXJ5IHBhZ2UgY2hlY2sKJHN1bW1hcnlwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N1bW1hcnlwYWdlJywgJHJldHVybmlkKTsKaWYoaXNzZXQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsKCglpZihpc19udW1lcmljKCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pKSB7CgkJJHN1bW1hcnlwYWdlID0gJHBhcmFtc1snc3VtbWFyeXBhZ2UnXTsKCX0KCWVsc2UgewoJCWlmKCFpc3NldCgkaG0pKQoJCQkkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgkJCgkJJHN1bW1hcnlwYWdlID0gJGhtLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSktPkdldElkKCk7Cgl9Cn0KCiRkZWJ1ZyA9IChpc3NldCgkcGFyYW1zWydkZWJ1ZyddKSA/IHRydWUgOiBmYWxzZSk7CiRpbmxpbmUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCAwKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IGl0ZW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRpdGVtX3F1ZXJ5LT5BcHBlbmRUbyhMaXN0SXQyUXVlcnk6OlZBUlRZUEVfV0hFUkUsICdBLmFjdGl2ZSA9IDEnKTsKJHJlc3VsdCA9ICRpdGVtX3F1ZXJ5LT5FeGVjdXRlKHRydWUpOwoKJGl0ZW1zID0gYXJyYXkoKTsKd2hpbGUoJHJlc3VsdCAmJiAkcm93ID0gJHJlc3VsdC0+RmV0Y2hSb3coKSkgewoKCSRvbmVyb3cgPSAkdGhpcy0+SW5pdGlhdGVJdGVtKCk7CglMaXN0SXQySXRlbU9wZXJhdGlvbnM6OkxvYWQoJHRoaXMsICRvbmVyb3csICRyb3cpOwkKCgkkbGlua3BhcmFtcyA9IGFycmF5KCk7CgkkbGlua3BhcmFtc1snaXRlbSddIAkJCT0gJG9uZXJvdy0+YWxpYXM7CgkKCWxpc3RpdDJfdXRpbHM6OmNsZWFuX3BhcmFtcygkcGFyYW1zLCBhcnJheSgncmV0dXJuaWQnKSk7CgkkbGlua3BhcmFtcyA9IGFycmF5X21lcmdlKCRsaW5rcGFyYW1zLCAkcGFyYW1zKTsKCgkkb25lcm93LT51cmwgPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZXRhaWwnLCAkZGV0YWlscGFnZSwgJycsICRsaW5rcGFyYW1zLCAnJywgdHJ1ZSwgJGlubGluZSk7CgoJJGl0ZW1zWyRyb3dbJ2l0ZW1faWQnXV0gPSAkb25lcm93Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBjYXRlZ29yeQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZihpc3NldCgkcGFyYW1zWydpZF9oaWVyYXJjaHknXSkpIHsKCgkkY2F0ZWdvcnkgPSAkdGhpcy0+TG9hZENhdGVnb3J5QnlJZGVudGlmaWVyKCdpZF9oaWVyYXJjaHknLCAkcGFyYW1zWydpZF9oaWVyYXJjaHknXSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5JywgJGNhdGVnb3J5KTsKCSRzbWFydHktPmFzc2lnbigkdGhpcy0+R2V0TmFtZSgpIC4gJ19jYXRlZ29yeScsICRjYXRlZ29yeSk7IC8vIDwtIEFsaWFzIGZvciAkY2F0ZWdvcnkKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRwYWdlbnVtYmVyID0gJGl0ZW1fcXVlcnktPkdldFBhZ2VOdW1iZXIoKTsKJHBhZ2Vjb3VudCA9ICRpdGVtX3F1ZXJ5LT5HZXRQYWdlQ291bnQoKTsKCi8vIEFzc2lnbiBzb21lIHBhZ2luYXRpb24gdmFyaWFibGVzIHRvIHNtYXJ0eQppZigkcGFnZW51bWJlciA9PSAxKSB7CgoJJHNtYXJ0eS0+YXNzaWduKCdwcmV2cGFnZScsJHRoaXMtPk1vZExhbmcoJ3ByZXZwYWdlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLCR0aGlzLT5Nb2RMYW5nKCdmaXJzdHBhZ2UnKSk7Cn0gZWxzZSB7CgoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXItMTsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAkdGhpcy0+TW9kTGFuZygncHJldnBhZ2UnKSwkcGFyYW1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsKCSRzbWFydHktPmFzc2lnbigncHJldnVybCcsICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsJycsICRwYXJhbXMsICcnLCB0cnVlLCAkaW5saW5lKSk7CgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAxOwoJJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAkdGhpcy0+TW9kTGFuZygnZmlyc3RwYWdlJyksJHBhcmFtcywgJycsIGZhbHNlLCAkaW5saW5lKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0dXJsJywgJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwnJywgJHBhcmFtcywgJycsIHRydWUsICRpbmxpbmUpKTsKfQoKaWYoJHBhZ2VudW1iZXIgPj0gJHBhZ2Vjb3VudCkgewoKCSRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCR0aGlzLT5Nb2RMYW5nKCduZXh0cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCR0aGlzLT5Nb2RMYW5nKCdsYXN0cGFnZScpKTsKfSBlbHNlIHsKCgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlcisxOwoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICR0aGlzLT5Nb2RMYW5nKCduZXh0cGFnZScpLCAkcGFyYW1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsKCSRzbWFydHktPmFzc2lnbignbmV4dHVybCcsICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICcnLCAkcGFyYW1zLCAnJywgdHJ1ZSwgJGlubGluZSkpOwoJJHBhcmFtc1sncGFnZW51bWJlciddPSRwYWdlY291bnQ7Cgkkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlJywgJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwgJHRoaXMtPk1vZExhbmcoJ2xhc3RwYWdlJyksICRwYXJhbXMsICcnLCBmYWxzZSwgJGlubGluZSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdsYXN0dXJsJywgJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwgJycsICRwYXJhbXMsICcnLCB0cnVlLCAkaW5saW5lKSk7Cn0KCiRzbWFydHktPmFzc2lnbigncGFnZW51bWJlcicsJHBhZ2VudW1iZXIpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJHBhZ2Vjb3VudCk7CgokcGFnZWxpbmtzID0gYXJyYXkoKTsKd2hpbGUoJHBhZ2Vjb3VudCkgewoKCSRvYmogPSBuZXcgc3RkQ2xhc3MoKTsKCgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZWNvdW50OwoJJG9iai0+bGluayA9ICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICRwYWdlY291bnQsICRwYXJhbXMsICcnLCBmYWxzZSwgJGlubGluZSk7Cgkkb2JqLT51cmwgPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAnJywgJHBhcmFtcywgJycsIHRydWUsICRpbmxpbmUpOwoJCgkkcGFnZWxpbmtzWyRwYWdlY291bnRdID0gJG9iajsKCSRwYWdlY291bnQtLTsKfQoKJHBhZ2VsaW5rcyA9IGFycmF5X3JldmVyc2UoJHBhZ2VsaW5rcywgdHJ1ZSk7Cgokc21hcnR5LT5hc3NpZ24oJ3BhZ2VsaW5rcycsICRwYWdlbGlua3MpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGl0ZW1zKTsKJHNtYXJ0eS0+YXNzaWduKCR0aGlzLT5HZXROYW1lKCkgLidfaXRlbXMnLCAkaXRlbXMpOyAvLyA8LSBBbGlhcyBmb3IgJGl0ZW1zCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHN1bW1hcnl0ZW1wbGF0ZSk7CgppZigkZGVidWcpIAoJJHNtYXJ0eS0+ZGlzcGxheSgnc3RyaW5nOjxwcmU+eyRpdGVtc3xAcHJpbnRfcn08L3ByZT4nKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKQoJcmV0dXJuOwoKLy8gR2V0IHByZWZzCiRzaG93X2NhdGVnb3JpZXMgPSBMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpUZXN0RXhpc3RhbmNlQnlUeXBlKCR0aGlzLCAnQ2F0ZWdvcmllcycpOwoJCmlmIChpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pKSB7CgllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TW9kTGFuZygkcGFyYW1zWydtZXNzYWdlJ10pKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2Vycm9ycyddKSAmJiBjb3VudCgkcGFyYW1zWydlcnJvcnMnXSkpIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHBhcmFtc1snZXJyb3JzJ10pOwp9CgppZiAoIWVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpIHsKCSR0YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0gZWxzZSB7CgkkdGFiID0gJ2l0ZW10YWInOwp9CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpdGVtdGFiJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpLCAoJHRhYiA9PSAnaXRlbXRhYicpKTsKCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykgJiYgJHNob3dfY2F0ZWdvcmllcykgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yeXRhYicsICR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yaWVzJyksICgkdGFiID09ICdjYXRlZ29yeXRhYicpKTsKfQoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZmllbGRkZWZ0YWInLCAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZzJyksICgkdGFiID09ICdmaWVsZGRlZnRhYicpKTsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGVtcGxhdGV0YWInLCAkdGhpcy0+TW9kTGFuZygndGVtcGxhdGVzJyksICgkdGFiID09ICd0ZW1wbGF0ZXRhYicpKTsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignb3B0aW9udGFiJywgJHRoaXMtPk1vZExhbmcoJ29wdGlvbnMnKSwgKCR0YWIgPT0gJ29wdGlvbnRhYicpKTsKfQoKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdpdGVtdGFiJywgJHBhcmFtcyk7CmluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX2l0ZW10YWIucGhwJzsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yeScpICYmICRzaG93X2NhdGVnb3JpZXMpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjYXRlZ29yeXRhYicsICRwYXJhbXMpOwoJaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fY2F0ZWdvcnl0YWIucGhwJzsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgewoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZpZWxkZGVmdGFiJywgJHBhcmFtcyk7CglpbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9maWVsZGRlZnRhYi5waHAnOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0ZW1wbGF0ZXRhYicsICRwYXJhbXMpOwoJaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fdGVtcGxhdGV0YWIucGhwJzsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwoJCgllY2hvICR0aGlzLT5TdGFydFRhYignb3B0aW9udGFiJywgJHBhcmFtcyk7CglpbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9vcHRpb250YWIucGhwJzsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ2hlY2sgcGFyYW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJHBhcmFtc1snaXRlbSddKSkgewogICAgZGllKCdtaXNzaW5nIHBhcmFtZXRlciwgdGhpcyBzaG91bGQgbm90IGhhcHBlbicpOwp9CgokdGVtcGxhdGUgPSAnZGV0YWlsXycuJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScpOwppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkpIHsKCgkkdGVtcGxhdGUgPSAnZGV0YWlsXycuJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsKfQoKaWYoaXNzZXQoJHBhcmFtc1snaXRlbSddKSkgewoJY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJ2xpc3RpdDJfaXRlbScsICRwYXJhbXNbJ2l0ZW0nXSk7Cn0JCgokaWRlbnRpZmllciA9IGlzX251bWVyaWMoJHBhcmFtc1snaXRlbSddKSA/ICdpdGVtX2lkJyA6ICdhbGlhcyc7CiRkZWJ1ZyA9IChpc3NldCgkcGFyYW1zWydkZWJ1ZyddKSA/IHRydWUgOiBmYWxzZSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBpdGVtCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRpdGVtID0gJHRoaXMtPkxvYWRJdGVtQnlJZGVudGlmaWVyKCRpZGVudGlmaWVyLCAkcGFyYW1zWydpdGVtJ10pOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwcm9jZXNzaW5nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRzbWFydHktPmFzc2lnbignaXRlbScsICRpdGVtKTsKJHNtYXJ0eS0+YXNzaWduKCR0aGlzLT5HZXROYW1lKCkgLiAnX2l0ZW0nLCAkaXRlbSk7IC8vIDwtIEFsaWFzIGZvciAkaXRlbQoKJHNtYXJ0eS0+YXNzaWduKCdyZXR1cm5fdXJsJywgJHRoaXMtPkNyZWF0ZVJldHVybkxpbmsoJGlkLCAkcmV0dXJuaWQsICR0aGlzLT5Nb2RMYW5nKCdyZXR1cm5fdXJsJyksICRwYXJhbXMsIGZhbHNlKSk7IC8vIERlcHJlY2F0ZWQKJHNtYXJ0eS0+YXNzaWduKCdyZXR1cm5fbGluaycsICR0aGlzLT5DcmVhdGVSZXR1cm5MaW5rKCRpZCwgJHJldHVybmlkLCAkdGhpcy0+TW9kTGFuZygncmV0dXJuX3VybCcpLCAkcGFyYW1zLCBmYWxzZSkpOyAKJHNtYXJ0eS0+YXNzaWduKCdyZXR1cm5faHJlZicsICR0aGlzLT5DcmVhdGVSZXR1cm5MaW5rKCRpZCwgJHJldHVybmlkLCAnJywgJHBhcmFtcywgdHJ1ZSkpOyAKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwoKaWYoJGRlYnVnKSAKCSRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzo8cHJlPnskaXRlbXxAcHJpbnRfcn08L3ByZT4nKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ2hlY2sgcGFyYW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0ZW1wbGF0ZSA9ICdzZWFyY2hfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfc2VhcmNoX3RlbXBsYXRlJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ10pKSB7CgoJJHRlbXBsYXRlID0gJ3NlYXJjaF8nLiRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ107Cn0KCiRzdW1tYXJ5cGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5cGFnZScsICRyZXR1cm5pZCk7CmlmKGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pKSB7CgoJaWYoaXNfbnVtZXJpYygkcGFyYW1zWydzdW1tYXJ5cGFnZSddKSkgewoJCSRzdW1tYXJ5cGFnZSA9ICRwYXJhbXNbJ3N1bW1hcnlwYWdlJ107Cgl9CgllbHNlIHsKCQlpZighaXNzZXQoJGhtKSkKCQkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCQoJCSRzdW1tYXJ5cGFnZSA9ICRobS0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pLT5HZXRJZCgpOwoJfQp9CgokZGVidWcgPSAoaXNzZXQoJHBhcmFtc1snZGVidWcnXSkgPyB0cnVlIDogZmFsc2UpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEdyYXAgdGVtcGxhdGUKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBmaWVsZGRlZnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoc3RyaXBvcygkdGVtcGxhdGUsICckZmllbGRkZWZzJykpIHsgLy8gPC0gTG9hZCBmaWVsZGRlZnMgb25seSBpZiB3ZSBoYXZlIHZhcmlhYmxlIHJlcXVlc3Qgb24gdGVtcGxhdGUKCgkkZmlsdGVycyA9IGFycmF5KCk7CglpZighZW1wdHkoJHBhcmFtc1snZmlsdGVyJ10pKSB7CgoJCSRmaWx0ZXJzID0gZXhwbG9kZSgnLCcsICRwYXJhbXNbJ2ZpbHRlciddKTsKCX0KCgkkZmllbGRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmcygkZmlsdGVycyk7Cglmb3JlYWNoKCRmaWVsZGRlZnMgYXMgJGZpZWxkZGVmKSB7CgoJCUxpc3RJdDJGaWVsZGRlZk9wZXJhdGlvbnM6OkxvYWRWYWx1ZXNGb3JGaWVsZERlZigkdGhpcywgJGZpZWxkZGVmKTsKCX0KCgkkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkZGVmcycsICRmaWVsZGRlZnMpOwoJJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJwcm9tcHQnLCAkdGhpcy0+TW9kTGFuZygnZmlsdGVycHJvbXB0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpKSk7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdtb2R1bGVhbGlhcycsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwoKaWYoJGRlYnVnKSAKCSRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzo8cHJlPnskZmllbGRkZWZzfEBwcmludF9yfTwvcHJlPicpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/framework/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/css/backend.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQmFja2VuZCAqLwpkaXYucGFnZWNvbnRhaW5lciBvbHsKCW1hcmdpbjogMCAwIDFlbSAwOwoJcGFkZGluZy1sZWZ0OjE1cHg7Cn0KZGl2LnBhZ2Vjb250YWluZXIgb2wgbGl7CglsaXN0LXN0eWxlOmRlY2ltYWw7Cn0KCmRpdi5wYWdlY29udGFpbmVyIC5saXN0aXRfZmllbGRzZXQgewoJbWFyZ2luOiAyMHB4IDAgMjBweCA1JTsKCW1heC13aWR0aDogODAlOwoJLW1vei1ib3JkZXItcmFkaXVzOiA1cHggNXB4IDVweCA1cHg7Cgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDsKCWJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDsKfQpkaXYucGFnZWNvbnRhaW5lciAubGlzdGl0X2ZpZWxkc2V0Lk9uZUVsZXZlbiB7CgltYXJnaW46IDIwcHggMDsKfQpkaXYucGFnZWNvbnRhaW5lciAubGlzdGl0X2ZpZWxkc2V0IC5wYWdlaW5wdXQsCmRpdi5wYWdlY29udGFpbmVyIC5saXN0aXRfZmllbGRzZXQgLnBhZ2V0ZXh0LApkaXYucGFnZWNvbnRhaW5lciAubGlzdGl0X2ZpZWxkc2V0IC5pbnB1dGhlbHB7CgltYXJnaW4tbGVmdDogMSU7Cn0KLyogUXVpY2sgc2VhcmNoICovCi5pdGVtLXNlYXJjaCB7CglmbG9hdDpyaWdodDsKCXRleHQtYWxpZ246IHJpZ2h0OwoJd2lkdGg6IDUwJTsKCW1hcmdpbi1ib3R0b206IDVweDsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKfQovKiBUYWJsZSBTb3J0ZXIgKi8KLyogTkNsZWFuR3JleSBUaGVtZSAqLwp0YWJsZS5wYWdldGFibGUuTkNsZWFuR3JleSB0aGVhZCB0ciB7CgliYWNrZ3JvdW5kOiAjQ0NDQ0NDIHVybCguLi8uLi8uLi8uLi9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvbGF5b3V0L2Jhbm5lci5wbmcpIHJlcGVhdC14IGxlZnQgLTMzcHg7Cn0KdGFibGUucGFnZXRhYmxlLk5DbGVhbkdyZXkgdGguaGVhZGVyIHsKCWJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbW9kdWxldWkvc29ydGFibGUuZ2lmKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0OwoJY3Vyc29yOiBwb2ludGVyOwp9CnRhYmxlLnBhZ2V0YWJsZS5OQ2xlYW5HcmV5IHRoLmhlYWRlclNvcnRVcCB7CgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21vZHVsZXVpL3NvcnRhYmxlX2FzYy5naWYpOwp9CnRhYmxlLnBhZ2V0YWJsZS5OQ2xlYW5HcmV5IHRoLmhlYWRlclNvcnREb3duIHsKCWJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbW9kdWxldWkvc29ydGFibGVfZGVzYy5naWYpOwp9Ci8qIE9uZUVsZXZlbiBUaGVtZSAqLwp0YWJsZS5wYWdldGFibGUuT25lRWxldmVuIHRoZWFkIHRyIHsKCWJhY2tncm91bmQ6ICMyMzIzMjMgdXJsKC4uLy4uLy4uLy4uL2FkbWluL3RoZW1lcy9PbmVFbGV2ZW4vaW1hZ2VzL2xheW91dC9zcHJpdGVfcmVwZWF0eC5wbmcpIDgzMXB4IC05OXB4IHJlcGVhdC14Owp9CnRhYmxlLnBhZ2V0YWJsZS5PbmVFbGV2ZW4gdGguaGVhZGVyIHsKCWJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbW9kdWxldWkvc29ydGFibGVfb3JhbmdlLmdpZikgY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDsKCWN1cnNvcjogcG9pbnRlcjsKfQp0YWJsZS5wYWdldGFibGUuT25lRWxldmVuIHRoLmhlYWRlclNvcnRVcCB7CgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21vZHVsZXVpL3NvcnRhYmxlX2FzY19vcmFuZ2UuZ2lmKTsKfQp0YWJsZS5wYWdldGFibGUuT25lRWxldmVuIHRoLmhlYWRlclNvcnREb3duIHsKCWJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbW9kdWxldWkvc29ydGFibGVfZGVzY19vcmFuZ2UuZ2lmKTsKfQovKiBnbG9iYWwgKi8KdGFibGUucGFnZXRhYmxlIHRoLmhlYWRlci5uby1zb3J0IHsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7CgljdXJzb3I6IHBvaW50ZXI7Cn0KdGFibGUucGFnZXRhYmxlIHRoLmhlYWRlclNvcnRVcC5uby1zb3J0IHsKCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KdGFibGUucGFnZXRhYmxlIHRoLmhlYWRlclNvcnREb3duLm5vLXNvcnQgewoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouY29udGVudCB0ci51aS1zb3J0YWJsZS1oZWxwZXIgewoJYm94LXNoYWRvdzogMCAycHggNHB4IDAgIzVmNWY1Zgp9Ci5wYWdlc2hvd3Jvd3N7CgljbGVhcjpib3RoOwp9CmEudGh1bWIgewoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJd2lkdGg6IGF1dG87CgltYXJnaW46IDVweAp9CmEudGh1bWIgaW1nIHsKCWJvcmRlcjogbm9uZQp9CgoucGFnZW9wdGlvbnMgYSB7CgltYXJnaW4tcmlnaHQ6IDVweDsKfQoKdWwubGlzdGl0Mi1jb2x1bW4tbGlzdCB7CgkKCW1hcmdpbjogMCAhaW1wb3J0YW50Owp9Cgp1bC5saXN0aXQyLWNvbHVtbi1saXN0IGxpIHsKCglmbG9hdDogbGVmdDsKCW1hcmdpbi1yaWdodDogNCU7CgltYXJnaW4tYm90dG9tOiAxMHB4OwoJbGlzdC1zdHlsZTogbm9uZTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/framework/css/colorbox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICAgIENvbG9yQm94IENvcmUgU3R5bGU6CiAgICBUaGUgZm9sbG93aW5nIENTUyBpcyBjb25zaXN0ZW50IGJldHdlZW4gZXhhbXBsZSB0aGVtZXMgYW5kIHNob3VsZCBub3QgYmUgYWx0ZXJlZC4KKi8KI2NvbG9yYm94LCAjY2JveE92ZXJsYXksICNjYm94V3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDo5OTk5OyBvdmVyZmxvdzpoaWRkZW47fQojY2JveE92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO30KI2Nib3hNaWRkbGVMZWZ0LCAjY2JveEJvdHRvbUxlZnR7Y2xlYXI6bGVmdDt9CiNjYm94Q29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt9CiNjYm94TG9hZGVkQ29udGVudHtvdmVyZmxvdzphdXRvO30KI2Nib3hUaXRsZXttYXJnaW46MDt9CiNjYm94TG9hZGluZ092ZXJsYXksICNjYm94TG9hZGluZ0dyYXBoaWN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO30KI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveENsb3NlLCAjY2JveFNsaWRlc2hvd3tjdXJzb3I6cG9pbnRlcjt9Ci5jYm94UGhvdG97ZmxvYXQ6bGVmdDsgbWFyZ2luOmF1dG87IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyBtYXgtd2lkdGg6bm9uZTt9Ci5jYm94SWZyYW1le3dpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBkaXNwbGF5OmJsb2NrOyBib3JkZXI6MDt9CiNjb2xvcmJveCwgI2Nib3hDb250ZW50LCAjY2JveExvYWRlZENvbnRlbnR7Ym94LXNpemluZzpjb250ZW50LWJveDt9CgovKiAKICAgIFVzZXIgU3R5bGU6CiAgICBDaGFuZ2UgdGhlIGZvbGxvd2luZyBzdHlsZXMgdG8gbW9kaWZ5IHRoZSBhcHBlYXJhbmNlIG9mIENvbG9yQm94LiAgVGhleSBhcmUKICAgIG9yZGVyZWQgJiB0YWJiZWQgaW4gYSB3YXkgdGhhdCByZXByZXNlbnRzIHRoZSBuZXN0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTC4KKi8KI2Nib3hPdmVybGF5e2JhY2tncm91bmQ6I2ZmZjt9CiNjb2xvcmJveHt9CiAgICAjY2JveENvbnRlbnR7bWFyZ2luLXRvcDozMnB4OyBvdmVyZmxvdzp2aXNpYmxlO30KICAgICAgICAuY2JveElmcmFtZXtiYWNrZ3JvdW5kOiNmZmY7fQogICAgICAgICNjYm94RXJyb3J7cGFkZGluZzo1MHB4OyBib3JkZXI6MXB4IHNvbGlkICNjY2M7fQogICAgICAgICNjYm94TG9hZGVkQ29udGVudHtiYWNrZ3JvdW5kOiMwMDA7IHBhZGRpbmc6MXB4O30KICAgICAgICAjY2JveExvYWRpbmdHcmFwaGlje2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1hbmltX2Jhc2ljXzE2eDE2LmdpZikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7fQogICAgICAgICNjYm94TG9hZGluZ092ZXJsYXl7YmFja2dyb3VuZDojZmZmO30KICAgICAgICAjY2JveFRpdGxle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIycHg7IGxlZnQ6MDsgY29sb3I6IzAwMDt9CiAgICAgICAgI2Nib3hDdXJyZW50e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIycHg7IHJpZ2h0OjIwNXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O30KICAgICAgICAjY2JveFNsaWRlc2hvdywgI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveENsb3Nle3RleHQtaW5kZW50Oi05OTk5cHg7IHdpZHRoOjIwcHg7IGhlaWdodDoyMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi0yMHB4OyBiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvY29sb3Jib3gvY29udHJvbHMucG5nKSBuby1yZXBlYXQgMCAwO30KICAgICAgICAjY2JveFByZXZpb3Vze2JhY2tncm91bmQtcG9zaXRpb246MHB4IDBweDsgcmlnaHQ6NDRweDt9CiAgICAgICAgI2Nib3hQcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjBweCAtMjVweDt9CiAgICAgICAgI2Nib3hOZXh0e2JhY2tncm91bmQtcG9zaXRpb246LTI1cHggMHB4OyByaWdodDoyMnB4O30KICAgICAgICAjY2JveE5leHQ6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMjVweCAtMjVweDt9CiAgICAgICAgI2Nib3hDbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MHB4IDBweDsgcmlnaHQ6MDt9CiAgICAgICAgI2Nib3hDbG9zZTpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MHB4IC0yNXB4O30KICAgICAgICAuY2JveFNsaWRlc2hvd19vbiAjY2JveFByZXZpb3VzLCAuY2JveFNsaWRlc2hvd19vZmYgI2Nib3hQcmV2aW91c3tyaWdodDo2NnB4O30KICAgICAgICAuY2JveFNsaWRlc2hvd19vbiAjY2JveFNsaWRlc2hvd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi03NXB4IC0yNXB4OyByaWdodDo0NHB4O30KICAgICAgICAuY2JveFNsaWRlc2hvd19vbiAjY2JveFNsaWRlc2hvdzpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDBweCAtMjVweDt9CiAgICAgICAgLmNib3hTbGlkZXNob3dfb2ZmICNjYm94U2xpZGVzaG93e2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IDBweDsgcmlnaHQ6NDRweDt9CiAgICAgICAgLmNib3hTbGlkZXNob3dfb2ZmICNjYm94U2xpZGVzaG93OmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246LTc1cHggLTI1cHg7fQo=]]></data>
	</file>
	<file>
	  <filename>/framework/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/css/jquery-ui-1.8.2.custom.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yawoqIENvcHlyaWdodCAoYykgMjAxMCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKE1JVC1MSUNFTlNFLnR4dCkgYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4KKi8KCi8qIExheW91dCBoZWxwZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktaGVscGVyLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH0KLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTk5OTk5cHg7IH0KLnVpLWhlbHBlci1yZXNldCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBvdXRsaW5lOiAwOyBsaW5lLWhlaWdodDogMS4zOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtc2l6ZTogMTAwJTsgbGlzdC1zdHlsZTogbm9uZTsgfQoudWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHsgY29udGVudDogIi4iOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAwOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuOyB9Ci51aS1oZWxwZXItY2xlYXJmaXggeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KLyogcmVxdWlyZWQgY29tbWVudCBmb3IgY2xlYXJmaXggdG8gd29yayBpbiBPcGVyYSBcKi8KKiBodG1sIC51aS1oZWxwZXItY2xlYXJmaXggeyBoZWlnaHQ6MSU7IH0KLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6YmxvY2s7IH0KLyogZW5kIGNsZWFyZml4ICovCi51aS1oZWxwZXItemZpeCB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRvcDogMDsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyBvcGFjaXR5OiAwOyBmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgfQoKCi8qIEludGVyYWN0aW9uIEN1ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1kaXNhYmxlZCB7IGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50OyB9CgoKLyogSWNvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBzdGF0ZXMgYW5kIGltYWdlcyAqLwoudWktaWNvbiB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWluZGVudDogLTk5OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KCgovKiBNaXNjIHZpc3VhbHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBPdmVybGF5cyAqLwoudWktd2lkZ2V0LW92ZXJsYXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQoKCi8qCiogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsKKiBDb3B5cmlnaHQgKGMpIDIwMTAgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpIGFuZCBHUEwgKEdQTC1MSUNFTlNFLnR4dCkgbGljZW5zZXMuCiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP2ZmRGVmYXVsdD1UcmVidWNoZXQlMjBNUywlMjBUYWhvbWEsJTIwVmVyZGFuYSwlMjBBcmlhbCwlMjBzYW5zLXNlcmlmJmZ3RGVmYXVsdD1ib2xkJmZzRGVmYXVsdD0xLjFlbSZjb3JuZXJSYWRpdXM9NHB4JmJnQ29sb3JIZWFkZXI9ZjZhODI4JmJnVGV4dHVyZUhlYWRlcj0xMl9nbG9zc193YXZlLnBuZyZiZ0ltZ09wYWNpdHlIZWFkZXI9MzUmYm9yZGVyQ29sb3JIZWFkZXI9ZTc4ZjA4JmZjSGVhZGVyPWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9ZmZmZmZmJmJnQ29sb3JDb250ZW50PWVlZWVlZSZiZ1RleHR1cmVDb250ZW50PTAzX2hpZ2hsaWdodF9zb2Z0LnBuZyZiZ0ltZ09wYWNpdHlDb250ZW50PTEwMCZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmZjQ29udGVudD0zMzMzMzMmaWNvbkNvbG9yQ29udGVudD0yMjIyMjImYmdDb2xvckRlZmF1bHQ9ZjZmNmY2JmJnVGV4dHVyZURlZmF1bHQ9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eURlZmF1bHQ9MTAwJmJvcmRlckNvbG9yRGVmYXVsdD1jY2NjY2MmZmNEZWZhdWx0PTFjOTRjNCZpY29uQ29sb3JEZWZhdWx0PWVmOGMwOCZiZ0NvbG9ySG92ZXI9ZmRmNWNlJmJnVGV4dHVyZUhvdmVyPTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlIb3Zlcj0xMDAmYm9yZGVyQ29sb3JIb3Zlcj1mYmNiMDkmZmNIb3Zlcj1jNzc0MDUmaWNvbkNvbG9ySG92ZXI9ZWY4YzA4JmJnQ29sb3JBY3RpdmU9ZmZmZmZmJmJnVGV4dHVyZUFjdGl2ZT0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5QWN0aXZlPTY1JmJvcmRlckNvbG9yQWN0aXZlPWZiZDg1MCZmY0FjdGl2ZT1lYjhmMDAmaWNvbkNvbG9yQWN0aXZlPWVmOGMwOCZiZ0NvbG9ySGlnaGxpZ2h0PWZmZTQ1YyZiZ1RleHR1cmVIaWdobGlnaHQ9MDNfaGlnaGxpZ2h0X3NvZnQucG5nJmJnSW1nT3BhY2l0eUhpZ2hsaWdodD03NSZib3JkZXJDb2xvckhpZ2hsaWdodD1mZWQyMmYmZmNIaWdobGlnaHQ9MzYzNjM2Jmljb25Db2xvckhpZ2hsaWdodD0yMjhlZjEmYmdDb2xvckVycm9yPWI4MTkwMCZiZ1RleHR1cmVFcnJvcj0wOF9kaWFnb25hbHNfdGhpY2sucG5nJmJnSW1nT3BhY2l0eUVycm9yPTE4JmJvcmRlckNvbG9yRXJyb3I9Y2QwYTBhJmZjRXJyb3I9ZmZmZmZmJmljb25Db2xvckVycm9yPWZmZDI3YSZiZ0NvbG9yT3ZlcmxheT02NjY2NjYmYmdUZXh0dXJlT3ZlcmxheT0wOF9kaWFnb25hbHNfdGhpY2sucG5nJmJnSW1nT3BhY2l0eU92ZXJsYXk9MjAmb3BhY2l0eU92ZXJsYXk9NTAmYmdDb2xvclNoYWRvdz0wMDAwMDAmYmdUZXh0dXJlU2hhZG93PTAxX2ZsYXQucG5nJmJnSW1nT3BhY2l0eVNoYWRvdz0xMCZvcGFjaXR5U2hhZG93PTIwJnRoaWNrbmVzc1NoYWRvdz01cHgmb2Zmc2V0VG9wU2hhZG93PS01cHgmb2Zmc2V0TGVmdFNoYWRvdz0tNXB4JmNvcm5lclJhZGl1c1NoYWRvdz01cHgKKi8KCgovKiBDb21wb25lbnQgY29udGFpbmVycwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXdpZGdldCB7IGZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMS4xZW07IH0KLnVpLXdpZGdldCAudWktd2lkZ2V0IHsgZm9udC1zaXplOiAxZW07IH0KLnVpLXdpZGdldCBpbnB1dCwgLnVpLXdpZGdldCBzZWxlY3QsIC51aS13aWRnZXQgdGV4dGFyZWEsIC51aS13aWRnZXQgYnV0dG9uIHsgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgVGFob21hLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxZW07IH0KLnVpLXdpZGdldC1jb250ZW50IHsgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWJnX2hpZ2hsaWdodC1zb2Z0XzEwMF9lZWVlZWVfMXgxMDAucG5nKSA1MCUgdG9wIHJlcGVhdC14OyBjb2xvcjogIzMzMzMzMzsgfQoudWktd2lkZ2V0LWNvbnRlbnQgYSB7IGNvbG9yOiAjMzMzMzMzOyB9Ci51aS13aWRnZXQtaGVhZGVyIHsgYm9yZGVyOiAxcHggc29saWQgI2U3OGYwODsgYmFja2dyb3VuZDogI2Y2YTgyOCB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWJnX2dsb3NzLXdhdmVfMzVfZjZhODI4XzUwMHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBjb2xvcjogI2ZmZmZmZjsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLnVpLXdpZGdldC1oZWFkZXIgYSB7IGNvbG9yOiAjZmZmZmZmOyB9CgovKiBJbnRlcmFjdGlvbiBzdGF0ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHsgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsgYmFja2dyb3VuZDogI2Y2ZjZmNiB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWJnX2dsYXNzXzEwMF9mNmY2ZjZfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMxYzk0YzQ7IH0KLnVpLXN0YXRlLWRlZmF1bHQgYSwgLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLCAudWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQgeyBjb2xvcjogIzFjOTRjNDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICNmYmNiMDk7IGJhY2tncm91bmQ6ICNmZGY1Y2UgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19nbGFzc18xMDBfZmRmNWNlXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjYzc3NDA1OyB9Ci51aS1zdGF0ZS1ob3ZlciBhLCAudWktc3RhdGUtaG92ZXIgYTpob3ZlciB7IGNvbG9yOiAjYzc3NDA1OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUgeyBib3JkZXI6IDFweCBzb2xpZCAjZmJkODUwOyBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktYmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjZWI4ZjAwOyB9Ci51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHsgY29sb3I6ICNlYjhmMDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktd2lkZ2V0IDphY3RpdmUgeyBvdXRsaW5lOiBub25lOyB9CgovKiBJbnRlcmFjdGlvbiBDdWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCAge2JvcmRlcjogMXB4IHNvbGlkICNmZWQyMmY7IGJhY2tncm91bmQ6ICNmZmU0NWMgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19oaWdobGlnaHQtc29mdF83NV9mZmU0NWNfMXgxMDAucG5nKSA1MCUgdG9wIHJlcGVhdC14OyBjb2xvcjogIzM2MzYzNjsgfQoudWktc3RhdGUtaGlnaGxpZ2h0IGEsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHsgY29sb3I6ICMzNjM2MzY7IH0KLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige2JvcmRlcjogMXB4IHNvbGlkICNjZDBhMGE7IGJhY2tncm91bmQ6ICNiODE5MDAgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19kaWFnb25hbHMtdGhpY2tfMThfYjgxOTAwXzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7IGNvbG9yOiAjZmZmZmZmOyB9Ci51aS1zdGF0ZS1lcnJvciBhLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHsgY29sb3I6ICNmZmZmZmY7IH0KLnVpLXN0YXRlLWVycm9yLXRleHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQgeyBjb2xvcjogI2ZmZmZmZjsgfQoudWktcHJpb3JpdHktcHJpbWFyeSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LCAudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9Ci51aS1wcmlvcml0eS1zZWNvbmRhcnksIC51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LCAgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7IG9wYWNpdHk6IC43OyBmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0KLnVpLXN0YXRlLWRpc2FibGVkLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQgeyBvcGFjaXR5OiAuMzU7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfQoKLyogSWNvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBzdGF0ZXMgYW5kIGltYWdlcyAqLwoudWktaWNvbiB7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQoudWktd2lkZ2V0LWhlYWRlciAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1kZWZhdWx0IC51aS1pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1pY29uc19lZjhjMDhfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1ob3ZlciAudWktaWNvbiwgLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1pY29uc19lZjhjMDhfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktaWNvbnNfMjI4ZWYxXzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtZXJyb3IgLnVpLWljb24sIC51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWljb25zX2ZmZDI3YV8yNTZ4MjQwLnBuZyk7IH0KCi8qIHBvc2l0aW9uaW5nICovCi51aS1pY29uLWNhcmF0LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfQoudWktaWNvbi1jYXJhdC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfQoudWktaWNvbi1jYXJhdC0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAwOyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfQoudWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93LTQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4OyB9Ci51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9Ci51aS1pY29uLWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfQoudWktaWNvbi1uZXd3aW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtODBweDsgfQoudWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH0KLnVpLWljb24tc2h1ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9Ci51aS1pY29uLXRyYW5zZmVyLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC04MHB4OyB9Ci51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9Ci51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9Ci51aS1pY29uLWZvbGRlci1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTk2cHg7IH0KLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfQoudWktaWNvbi1kb2N1bWVudC1iIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTk2cHg7IH0KLnVpLWljb24tbm90ZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC05NnB4OyB9Ci51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH0KLnVpLWljb24tbWFpbC1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTk2cHg7IH0KLnVpLWljb24tc3VpdGNhc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTk2cHg7IH0KLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfQoudWktaWNvbi1wZXJzb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTk2cHg7IH0KLnVpLWljb24tcHJpbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTk2cHg7IH0KLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH0KLnVpLWljb24tbG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4OyB9Ci51aS1pY29uLXVubG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC05NnB4OyB9Ci51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9Ci51aS1pY29uLXRhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsgfQoudWktaWNvbi1ob21lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH0KLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfQoudWktaWNvbi1jYWxlbmRhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfQoudWktaWNvbi1jYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTExMnB4OyB9Ci51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfQoudWktaWNvbi1jbG9jayB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfQoudWktaWNvbi1kaXNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTExMnB4OyB9Ci51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9Ci51aS1pY29uLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH0KLnVpLWljb24tem9vbW91dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTEycHg7IH0KLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfQoudWktaWNvbi13cmVuY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9Ci51aS1pY29uLWdlYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTExMnB4OyB9Ci51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfQoudWktaWNvbi1zdGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfQoudWktaWNvbi1saW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMTJweDsgfQoudWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfQoudWktaWNvbi1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9Ci51aS1pY29uLXBsdXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMjhweDsgfQoudWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfQoudWktaWNvbi1taW51c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9Ci51aS1pY29uLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4OyB9Ci51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH0KLnVpLWljb24ta2V5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfQoudWktaWNvbi1saWdodGJ1bGIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTEyOHB4OyB9Ci51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfQoudWktaWNvbi1jbGlwYm9hcmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9Ci51aS1pY29uLWNvcHkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTEyOHB4OyB9Ci51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9Ci51aS1pY29uLWltYWdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfQoudWktaWNvbi12aWRlbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTI4cHg7IH0KLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfQoudWktaWNvbi1hbGVydCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9Ci51aS1pY29uLWluZm8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTQ0cHg7IH0KLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9Ci51aS1pY29uLWhlbHAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTQ0cHg7IH0KLnVpLWljb24tY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTQ0cHg7IH0KLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9Ci51aS1pY29uLXJhZGlvLW9mZiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfQoudWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTQ0cHg7IH0KLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9Ci51aS1pY29uLXBpbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfQoudWktaWNvbi1wbGF5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7IH0KLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1uZXh0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstcHJldiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLXN0YXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9Ci8qIHVpLWljb24tc2Vlay1maXJzdCBpcyBkZXByZWNhdGVkLCB1c2UgdWktaWNvbi1zZWVrLXN0YXJ0IGluc3RlYWQgKi8KLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQoudWktaWNvbi1zdG9wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9Ci51aS1pY29uLWVqZWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNjBweDsgfQoudWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfQoudWktaWNvbi12b2x1bWUtb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9Ci51aS1pY29uLXBvd2VyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTc2cHg7IH0KLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH0KLnVpLWljb24tc2lnbmFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNzZweDsgfQoudWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDhweDsgfQoudWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfQoudWktaWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhweDsgfQoudWktaWNvbi1zcXVhcmVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9Ci51aS1pY29uLWdyaXAtZG90dGVkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwLXNvbGlkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtc29saWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMjRweDsgfQoKCi8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIENvcm5lciByYWRpdXMgKi8KLnVpLWNvcm5lci10bCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci10ciB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1ibCB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1iciB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci10b3AgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYm90dG9tIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXJpZ2h0IHsgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1sZWZ0IHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWFsbCB7IC1tb3otYm9yZGVyLXJhZGl1czogNHB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgYm9yZGVyLXJhZGl1czogNHB4OyB9CgovKiBPdmVybGF5cyAqLwoudWktd2lkZ2V0LW92ZXJsYXkgeyBiYWNrZ3JvdW5kOiAjNjY2NjY2IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0OyBvcGFjaXR5OiAuNTA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9NTApOyB9Ci51aS13aWRnZXQtc2hhZG93IHsgbWFyZ2luOiAtNXB4IDAgMCAtNXB4OyBwYWRkaW5nOiA1cHg7IGJhY2tncm91bmQ6ICMwMDAwMDAgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19mbGF0XzEwXzAwMDAwMF80MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBvcGFjaXR5OiAuMjA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MjApOyAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlci1yYWRpdXM6IDVweDsgfS8qIERhdGVwaWNrZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1kYXRlcGlja2VyIHsgd2lkdGg6IDE3ZW07IHBhZGRpbmc6IC4yZW0gLjJlbSAwOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBwYWRkaW5nOi4yZW0gMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMnB4OyB3aWR0aDogMS44ZW07IGhlaWdodDogMS44ZW07IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IHRvcDogMXB4OyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgeyBsZWZ0OjJweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcmlnaHQ6MnB4OyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIgeyBsZWZ0OjFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHsgcmlnaHQ6MXB4OyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLThweDsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC04cHg7ICB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHsgbWFyZ2luOiAwIDIuM2VtOyBsaW5lLWhlaWdodDogMS44ZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3QgeyBmb250LXNpemU6MWVtOyBtYXJnaW46MXB4IDA7IH0KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgteWVhciB7d2lkdGg6IDEwMCU7fQoudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIgeyB3aWR0aDogNDklO30KLnVpLWRhdGVwaWNrZXIgdGFibGUge3dpZHRoOiAxMDAlOyBmb250LXNpemU6IC45ZW07IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjowIDAgLjRlbTsgfQoudWktZGF0ZXBpY2tlciB0aCB7IHBhZGRpbmc6IC43ZW0gLjNlbTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAwOyAgfQoudWktZGF0ZXBpY2tlciB0ZCB7IGJvcmRlcjogMDsgcGFkZGluZzogMXB4OyB9Ci51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRkIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogLjJlbTsgdGV4dC1hbGlnbjogcmlnaHQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgbWFyZ2luOiAuN2VtIDAgMCAwOyBwYWRkaW5nOjAgLjJlbTsgYm9yZGVyLWxlZnQ6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLWJvdHRvbTogMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOyB3aWR0aDphdXRvOyBvdmVyZmxvdzp2aXNpYmxlOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7IGZsb2F0OmxlZnQ7IH0KCi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovCi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkgeyB3aWR0aDphdXRvOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6bGVmdDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7IHdpZHRoOjk1JTsgbWFyZ2luOjAgYXV0byAuNGVtOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDo1MCU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7IHdpZHRoOjMzLjMlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDoyNSU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7IGNsZWFyOmJvdGg7IHdpZHRoOjEwMCU7IH0KCi8qIFJUTCBzdXBwb3J0ICovCi51aS1kYXRlcGlja2VyLXJ0bCB7IGRpcmVjdGlvbjogcnRsOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHsgcmlnaHQ6IDJweDsgbGVmdDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7IGxlZnQ6IDJweDsgcmlnaHQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIgeyByaWdodDogMXB4OyBsZWZ0OiBhdXRvOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHsgbGVmdDogMXB4OyByaWdodDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGNsZWFyOnJpZ2h0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiBsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItcmlnaHQtd2lkdGg6MDsgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQoKLyogSUU2IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqLwoudWktZGF0ZXBpY2tlci1jb3ZlciB7CiAgICBkaXNwbGF5OiBub25lOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgZGlzcGxheS8qKi86IGJsb2NrOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgcG9zaXRpb246IGFic29sdXRlOyAvKm11c3QgaGF2ZSovCiAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqLwogICAgZmlsdGVyOiBtYXNrKCk7IC8qbXVzdCBoYXZlKi8KICAgIHRvcDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgbGVmdDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgd2lkdGg6IDIwMHB4OyAvKm11c3QgaGF2ZSovCiAgICBoZWlnaHQ6IDIwMHB4OyAvKm11c3QgaGF2ZSovCn0=]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_categorytab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IGNhdGVnb3JpZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykpIAoJcmV0dXJuOwoKJGFkbWludGhlbWUgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsKCiRxdWVyeV9vYmplY3QgPSBuZXcgTGlzdEl0MkNhdGVnb3J5UXVlcnkoJHRoaXMsICRwYXJhbXMpOwokcmVzdWx0ID0gJHF1ZXJ5X29iamVjdC0+RXhlY3V0ZSh0cnVlKTsKCiRpdGVtcyA9IGFycmF5KCk7CndoaWxlICgkcmVzdWx0ICYmICRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpKSB7CgoJJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUNhdGVnb3J5KCk7CglMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpMb2FkKCR0aGlzLCAkb2JqLCAkcm93KTsKCQoJJG9iai0+ZGVwdGggPSBjb3VudChleHBsb2RlKCcuJywgJG9iai0+aGllcmFyY2h5KSkgLSAxOwogCiAgICAvLyBhcHByb3ZlCiAgICBpZiAoJG9iai0+YWN0aXZlKSB7CiAgICAgICAgJG9iai0+YXBwcm92ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVjYXRlZ29yeScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ3JldmVydCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KAogICAgICAgICAgICAnYXBwcm92ZScgPT4gMCwKICAgICAgICAgICAgJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddCiAgICAgICAgKSk7CiAgICB9IGVsc2UgewogICAgICAgICRvYmotPmFwcHJvdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KAogICAgICAgICAgICAnYXBwcm92ZScgPT4gMSwKICAgICAgICAgICAgJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddCiAgICAgICAgKSk7CiAgICB9CiAgICAKICAgIC8vIGVkaXQKICAgICRvYmotPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TW9kTGFuZygnZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KAogICAgICAgICdjYXRlZ29yeV9pZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXQogICAgKSk7CgkKICAgICRvYmotPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRvYmotPm5hbWUsIGFycmF5KAogICAgICAgICdjYXRlZ29yeV9pZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXQogICAgKSk7CgkKCS8vIGRlbGV0ZQogICAgJG9iai0+ZGVsZXRlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRlY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KAogICAgICAgICdjYXRlZ29yeV9pZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXQogICAgKSk7CgkKCS8vIHNlbGVjdCBib3gKICAgICRvYmotPnNlbGVjdCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NhdGVnb3JpZXNbXScsICRyb3dbJ2NhdGVnb3J5X2lkJ10pOwoJCgkkaXRlbXNbXSA9ICRvYmo7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGl0ZW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5Nb2RMYW5nKCdhZGQnLCAkdGhpcy0+TW9kTGFuZygnY2F0ZWdvcnknKSksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuJHRoaXMtPk1vZExhbmcoJ2FkZCcsICR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yeScpKSkpOwokc21hcnR5LT5hc3NpZ24oJ3Jlb3JkZXJsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fcmVvcmRlcmNhdGVnb3J5JywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vcmVvcmRlci5naWYnLCAkdGhpcy0+TW9kTGFuZygncmVvcmRlcl9jYXRlZ29yaWVzJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuJHRoaXMtPk1vZExhbmcoJ3Jlb3JkZXJfY2F0ZWdvcmllcycpKSk7CiAKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdjYXRlZ29yeXRhYi50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_fielddeftab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBpdGVtcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsKCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7CiRmaWVsZGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzKCk7Cgpmb3JlYWNoKCRmaWVsZGRlZnMgYXMgJGZpZWxkZGVmKSB7CgoJJGZpZWxkZGVmLT5TZXROYW1lKCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGZpZWxkZGVmLT5HZXROYW1lKCksIGFycmF5KCdmaWVsZGRlZl9pZCc9PiRmaWVsZGRlZi0+R2V0SWQoKSkpKTsKCQoJaWYoJGZpZWxkZGVmLT5Jc1JlcXVpcmVkKCkpIHsKCQkkZmllbGRkZWYtPlNldFJlcXVpcmVkKCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnYWRtaW5fcmVxdWlyZWZpZWxkZGVmJywkcmV0dXJuaWQsCgkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ3N0YXR1c19vcHRpb25hbCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ3JlcXVpcmUnPT4wLCdmaWVsZGRlZl9pZCc9PiRmaWVsZGRlZi0+R2V0SWQoKSkpKTsKCX0gZWxzZSB7CgkJJGZpZWxkZGVmLT5TZXRSZXF1aXJlZCgkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FkbWluX3JlcXVpcmVmaWVsZGRlZicsICRyZXR1cm5pZCwKCQkJCQkkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TW9kTGFuZygnc3RhdHVzX3JlcXVpcmVkJyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgncmVxdWlyZSc9PjEsJ2ZpZWxkZGVmX2lkJz0+JGZpZWxkZGVmLT5HZXRJZCgpKSkpOwoJfQoKICAgICRmaWVsZGRlZi0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsIAoJCQkJCSRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5Nb2RMYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRmaWVsZGRlZi0+R2V0SWQoKSkpOwoKCgkkZmllbGRkZWYtPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGVmaWVsZGRlZicsICRyZXR1cm5pZCwgCgkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRmaWVsZGRlZi0+R2V0SWQoKSkpOwoJJGZpZWxkZGVmLT5zZWxlY3QgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdmaWVsZGRlZnNbXScsICRmaWVsZGRlZi0+R2V0SWQoKSk7Cgp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2RlbGV0ZWZpZWxkZGVmJywgJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZmllbGRkZWZzKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRvcmRlcicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRfZmllbGRkZWZvcmRlcicsICR0aGlzLT5Nb2RMYW5nKCdzdWJtaXRfb3JkZXInKSkpOwokc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FkZCcsICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZicpKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gJHRoaXMtPk1vZExhbmcoJ2FkZCcsICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZicpKSkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdG1hc3NkZWxldGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0bWFzc2RlbGV0ZScsICR0aGlzLT5Nb2RMYW5nKCdkZWxldGVfc2VsZWN0ZWQnLCAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZzJykpLCAnJywgJycsICR0aGlzLT5Nb2RMYW5nKCdhcmV5b3VzdXJlX2RlbGV0ZW11bHRpcGxlJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmcycpKSkpOwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdmaWVsZGRlZnRhYi50cGwnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_itemtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEzvv715dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5CiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkKICAgIHJldHVybjsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDaGVjayBQcmVmZXJlbmNlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokYWRtaW50aGVtZSAJCT0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7Cgokc2luZ3VsYXIgICAgICAgICAJPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKTsKJHBsdXJhbCAgICAgICAgICAgCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpOwokZmllbGRzICAgICAgICAgICAJPSBleHBsb2RlKCcsJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY29scycsICcnKSk7CiRsaW1pdCAgICAgICAgICAgIAk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtc19wZXJfcGFnZScsIDIwKTsKJGRhdGVmb3JtYXQgICAgICAgCT0gdHJpbShnZXRfcHJlZmVyZW5jZShnZXRfdXNlcmlkKCksJ2RhdGVfZm9ybWF0X3N0cmluZycsJyVZLSVtLSVkJykpOwoKaWYoZW1wdHkoJGRhdGVmb3JtYXQpKSAKCSRkYXRlZm9ybWF0ID0gJyVZLSVtLSVkJzsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IGl0ZW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKJHBhcmFtc1sncGFnZWxpbWl0J10gPSAkbGltaXQ7CiRpdGVtX3F1ZXJ5ID0gbmV3IExpc3RJdDJJdGVtUXVlcnkoJHRoaXMsICRwYXJhbXMpOwoKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfYWxsX2l0ZW0nKSkgewoKCSRpdGVtX3F1ZXJ5LT5BcHBlbmRUbyhMaXN0SXQyUXVlcnk6OlZBUlRZUEVfV0hFUkUsICdBLm93bmVyID0gPycpOwoJJGl0ZW1fcXVlcnktPkFwcGVuZFRvKExpc3RJdDJRdWVyeTo6VkFSVFlQRV9RUEFSQU1TLCBnZXRfdXNlcmlkKGZhbHNlKSk7Cn0KCiRyZXN1bHQgPSAkaXRlbV9xdWVyeS0+RXhlY3V0ZSh0cnVlKTsKCiRwYWdlID0gJGl0ZW1fcXVlcnktPkdldFBhZ2VOdW1iZXIoKTsKJHRvdGFsY291bnQgPSAkaXRlbV9xdWVyeS0+VG90YWxDb3VudCgpOwoKJGl0ZW1zID0gYXJyYXkoKTsKd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsKCgkkb2JqID0gJHRoaXMtPkluaXRpYXRlSXRlbSgkZmllbGRzKTsKCUxpc3RJdDJJdGVtT3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJG9iaiwgJHJvdyk7CQogICAgCgkvLyBDaGVjayBpZiB3ZSBuZWVkIHRvIHNob3cgYW55IGZpZWxkcwogICAgaWYgKGNvdW50KCRmaWVsZHMpID4gMCkgewoJCQoJCS8vIENoZWNrIHN0YXRpYwoJCWlmICghaW5fYXJyYXkoJ2NyZWF0ZV90aW1lJywgJGZpZWxkcykpIHsKCQkJLy8kb2JqLT5jcmVhdGVfdGltZSA9IHN0cmZ0aW1lKCRkYXRlZm9ybWF0LCAkb2JqLT5jcmVhdGVfdGltZSk7CgkJCXVuc2V0KCRvYmotPmNyZWF0ZV90aW1lKTsKCQl9IGVsc2UgewoJCQkkb2JqLT5jcmVhdGVfdGltZSA9IHN0cmZ0aW1lKCRkYXRlZm9ybWF0LCBzdHJ0b3RpbWUoJG9iai0+Y3JlYXRlX3RpbWUpKTsKCQl9CgkJCgkJaWYgKGluX2FycmF5KCdzdGFydF90aW1lJywgJGZpZWxkcykpIHsKCQkJJG9iai0+c3RhcnRfdGltZSA9ICFlbXB0eSgkb2JqLT5zdGFydF90aW1lKSA/IHN0cmZ0aW1lKCRkYXRlZm9ybWF0LCBzdHJ0b3RpbWUoJG9iai0+c3RhcnRfdGltZSkpIDogJyc7CgkJfQoJCQoJCWlmIChpbl9hcnJheSgnZW5kX3RpbWUnLCAkZmllbGRzKSkgewoJCQkkb2JqLT5lbmRfdGltZSA9ICFlbXB0eSgkb2JqLT5lbmRfdGltZSkgPyBzdHJmdGltZSgkZGF0ZWZvcm1hdCwgc3RydG90aW1lKCRvYmotPmVuZF90aW1lKSkgOiAnJzsKCQl9CQkJCiAgICB9CiAgIAogIAkvLyBhcHByb3ZlCglpZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfYXBwcm92ZV9pdGVtJykpIHsKCQoJCWlmICgkb2JqLT5hY3RpdmUpIHsKCQkJJG9iai0+YXBwcm92ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TW9kTGFuZygncmV2ZXJ0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoCgkJCQknYXBwcm92ZScgPT4gMCwKCQkJCSdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10KCQkJKSk7CgkJfSBlbHNlIHsKCQkJJG9iai0+YXBwcm92ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgKCQkJCSdhcHByb3ZlJyA9PiAxLAoJCQkJJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXQoJCQkpKTsKCQl9Cgl9CiAgICAKCSRsaW5rcGFyYW1zID0gYXJyYXkoKTsKCSRsaW5rcGFyYW1zWydpdGVtX2lkJ10gPSAkcm93WydpdGVtX2lkJ107CgkKCWxpc3RpdDJfdXRpbHM6OmNsZWFuX3BhcmFtcygkcGFyYW1zLCBhcnJheSgncGFnZScpLCB0cnVlKTsKCSRsaW5rcGFyYW1zID0gYXJyYXlfbWVyZ2UoJGxpbmtwYXJhbXMsICRwYXJhbXMpOwkKCQogICAgLy8gZWRpdAogICAgJG9iai0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAkbGlua3BhcmFtcyk7CiAgICAkb2JqLT50aXRsZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRpdGVtJywgJHJldHVybmlkLCAkb2JqLT50aXRsZSwgJGxpbmtwYXJhbXMpOwkKCQoJJGxpbmtwYXJhbXNbJ21vZGUnXSA9ICdjb3B5JzsKCQogICAgLy8gY29weQogICAgJG9iai0+Y29weWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2NvcHkuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2NvcHknKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAkbGlua3BhcmFtcyk7CQoJCgkvLyBkZWxldGUKCWlmKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19yZW1vdmVfaXRlbScpKSB7CgkKCQkkb2JqLT5kZWxldGUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgKCQkJJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXQoJCSkpOwoJfQoJCgkvLyBzZWxlY3QgYm94CiAgICAkb2JqLT5zZWxlY3QgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtc1tdJywgJHJvd1snaXRlbV9pZCddKTsKCQoJJGl0ZW1zW10gPSAkb2JqOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRpdGVtcyk7CiRzbWFydHktPmFzc2lnbigncGFnaW5hdGlvbicsICR0aGlzLT5DcmVhdGVQYWdpbmF0aW9uKCRpZCwgJycsICcnLCAkcGFnZSwgJHRvdGFsY291bnQsICRsaW1pdCkpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCAnJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3BsdXJhbCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsICcnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdG9yZGVyJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdF9pdGVtb3JkZXInLCAkdGhpcy0+TW9kTGFuZygnc3VibWl0X29yZGVyJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FkZCcsICRzaW5ndWxhciksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuIAoJJHRoaXMtPk1vZExhbmcoJ2FkZCcsICRzaW5ndWxhcikpKTsKCmlmKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfYWxsX2l0ZW0nKSkgewoJCgkkc21hcnR5LT5hc3NpZ24oJ2V4cG9ydGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9leHBvcnRpdGVtcycsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2V4cG9ydC5naWYnLCAkdGhpcy0+TW9kTGFuZygnZXhwb3J0JywgJHNpbmd1bGFyKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gCgkJJHRoaXMtPk1vZExhbmcoJ2V4cG9ydCcsICRwbHVyYWwpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2ltcG9ydGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9pbXBvcnRpdGVtcycsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ltcG9ydC5naWYnLCAkdGhpcy0+TW9kTGFuZygnaW1wb3J0JywgJHNpbmd1bGFyKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gCgkJJHRoaXMtPk1vZExhbmcoJ2ltcG9ydCcsICRwbHVyYWwpKSk7CQp9CQoJCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnaXRlbXRhYi50cGwnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEzvv715dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5CiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQogICAgcmV0dXJuOwoKJHN5c3RlbWRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzKCk7CiRmaWVsZGRlZnMgPSBhcnJheSgkdGhpcy0+TW9kTGFuZygnY3JlYXRlX3RpbWUnKSA9PiAnY3JlYXRlX3RpbWUnLCAkdGhpcy0+TW9kTGFuZygnc3RhcnRfdGltZScpID0+ICdzdGFydF90aW1lJywgJHRoaXMtPk1vZExhbmcoJ2VuZF90aW1lJykgPT4gJ2VuZF90aW1lJyk7CmZvcmVhY2goJHN5c3RlbWRlZnMgYXMgJG9uZWRlZikgewoKCSRmaWVsZGRlZnNbJG9uZWRlZi0+R2V0TmFtZSgpXSA9ICRvbmVkZWYtPkdldEFsaWFzKCk7Cn0KCi8vIHBhZ2luYXRpb24gb3B0aW9ucwokaXRlbXNfcGVyX3BhZ2UgPSBhcnJheSgKICAgIDEwID0+IDEwLAogICAgMjAgPT4gMjAsCiAgICA1MCA9PiA1MCwKICAgIDEwMCA9PiAxMDAsCiAgICAyMDAgPT4gMjAwLAogICAgMzAwID0+IDMwMCwKICAgIDQwMCA9PiA0MDAsCiAgICA1MDAgPT4gNTAwLAogICAgMTAwMCA9PiAxMDAwCik7CgovLyBtb2R1bGUgYWRtaW4gc2VjdGlvbiBvcHRpb25zCiRhZG1pbl9zZWN0aW9ucyA9IGFycmF5KAogICAgbGFuZygnbWFpbicpID0+ICdtYWluJywKICAgIGxhbmcoJ2NvbnRlbnQnKSA9PiAnY29udGVudCcsCiAgICBsYW5nKCdsYXlvdXQnKSA9PiAnbGF5b3V0JywKICAgIGxhbmcoJ3VzZXJzZ3JvdXBzJykgPT4gJ3VzZXJzZ3JvdXBzJywKICAgIGxhbmcoJ2V4dGVuc2lvbnMnKSA9PiAnZXh0ZW5zaW9ucycsCiAgICBsYW5nKCdzaXRlYWRtaW4nKSA9PiAnc2l0ZWFkbWluJywKICAgIGxhbmcoJ215cHJlZnMnKSA9PiAnbXlwcmVmcycsCiAgICBsYW5nKCdlY29tbWVyY2UnKSA9PiAnZWNvbW1lcmNlJwopOwoKLy8gc29ydG9yZGVyIG9wdGlvbnMKJHNvcnRvcmRlciAgICAgID0gYXJyYXkoCiAgICAkdGhpcy0+TW9kTGFuZygnYXNjZW5kaW5nJykgPT4gJ0FTQycsCiAgICAkdGhpcy0+TW9kTGFuZygnZGVzY2VuZGluZycpID0+ICdERVNDJwopOwoKJGNvbnRlbnRfb3BzIAkJCT0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCiRkaXNwbGF5X2lubGluZSAgICAgCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfaW5saW5lJywgMCk7CiRzdWJjYXRlZ29yeSAgICAgICAgCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N1YmNhdGVnb3J5JywgMCk7CiRkaXNwbGF5X2NyZWF0ZV9kYXRlIAk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5X2NyZWF0ZV9kYXRlJywgMCk7CiRyZWluZGV4X3NlYXJjaCAJCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlaW5kZXhfc2VhcmNoJywgMCk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CgovLyBNb2R1bGUgT3B0aW9ucwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZyaWVuZGx5bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZnJpZW5kbHluYW1lJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsICcnKSwgNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tb2RkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kZGVzY3JpcHRpb24nLCAnJyksICdtb2RkZXNjcmlwdGlvbicsICdwYWdlc21hbGx0ZXh0YXJlYScsICcnLCAnJywgJycsICc4MCcsICczJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkbWluc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2FkbWluc2VjdGlvbicsICRhZG1pbl9zZWN0aW9ucywgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbnNlY3Rpb24nLCAnY29udGVudCcpKSk7CgovLyBNb2R1bGUgZGVmYXVsdHMKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZXRhaWxwYWdlJywgJGNvbnRlbnRfb3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnKSwgJGlkLidkZXRhaWxwYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnlwYWdlJywgJGNvbnRlbnRfb3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N1bW1hcnlwYWdlJyksICRpZC4nc3VtbWFyeXBhZ2UnKSk7CgovLyBJdGVtIG9wdGlvbnMKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX3RpdGxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpdGVtX3RpdGxlJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCAnJyksIDUwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9zaW5ndWxhcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXRlbV9zaW5ndWxhcicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywgJycpLCA1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fcGx1cmFsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpdGVtX3BsdXJhbCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsICcnKSwgNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtc19wZXJfcGFnZScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2l0ZW1zX3Blcl9wYWdlJywgJGl0ZW1zX3Blcl9wYWdlLCAtMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1zX3Blcl9wYWdlJywgMjApKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydG9yZGVyJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnaXRlbXNfc29ydG9yZGVyJywgJHNvcnRvcmRlciwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXInLCAnQVNDJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jcmVhdGVfZGF0ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2Rpc3BsYXlfY3JlYXRlX2RhdGUnLCAxLCAkZGlzcGxheV9jcmVhdGVfZGF0ZSwgKCRkaXNwbGF5X2NyZWF0ZV9kYXRlID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fY29scycsICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAnaXRlbV9jb2xzW10nLCAkZmllbGRkZWZzLCBleHBsb2RlKCcsJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY29scycsICcnKSksIDUpKTsKCi8vIFVSTCBvcHRpb25zCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXJsX3ByZWZpeCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXJsX3ByZWZpeCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgJycpLCA1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rpc3BsYXlfaW5saW5lJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZGlzcGxheV9pbmxpbmUnLCAxLCAkZGlzcGxheV9pbmxpbmUsICgkZGlzcGxheV9pbmxpbmUgPyAnY2hlY2tlZD0iY2hlY2tlZCInIDogJycpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3ViY2F0ZWdvcnknLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdzdWJjYXRlZ29yeScsIDEsICRzdWJjYXRlZ29yeSwgKCRzdWJjYXRlZ29yeSA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJykpKTsKCi8vIENyb3NzIE1vZHVsZSBvcHRpb25zCiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVpbmRleF9zZWFyY2gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdyZWluZGV4X3NlYXJjaCcsIDEsICRyZWluZGV4X3NlYXJjaCwgKCRyZWluZGV4X3NlYXJjaCA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJykpKTsKCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnb3B0aW9udGFiLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_templatetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQgaXRlbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQogICAgcmV0dXJuOwoJCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7CiR0ZW1wbGF0ZXMgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygpOwokaXRlbXMgPSBhcnJheSgpOwokYWRkbGlua3MgPSBhcnJheSgpOwoKZm9yZWFjaCAoJHRlbXBsYXRlcyBhcyAkdGVtcGxhdGUpIHsKCglsaXN0KCR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ18nLCAkdGVtcGxhdGUsIDIpOwoKICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCiAgICAkb25lcm93LT5saW5rICAgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICR0cGxfbmFtZSwgYXJyYXkoJ25hbWUnID0+ICR0ZW1wbGF0ZSkpOwogICAgJG9uZXJvdy0+bmFtZSAgID0gJHRwbF9uYW1lOwogICAgJG9uZXJvdy0+ZGVsZXRlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCduYW1lJyA9PiAkdGVtcGxhdGUpKTsKICAgICRvbmVyb3ctPmVkaXQgICA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJHRlbXBsYXRlKSk7CgoJJHRwbF9kZWZhdWx0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0XycuJHRwbF90eXBlLidfdGVtcGxhdGUnKTsKCQoJaWYoJHRwbF9kZWZhdWx0ID09ICR0cGxfbmFtZSkgewoKCQkkb25lcm93LT5kZWZhdWx0ID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2lzX2RlZmF1bHQnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJCQoJCWlmKCR0cGxfdHlwZSAhPSAnZmlsdGVyJykgLy8gPC0gRm9yIHVwZ3JhZGUsIHNvIHBwbCBhcmUgYWJlbCB0byByZW1vdmUgYWxsIGZpbHRlciB0ZW1wbGF0ZXMgYWZ0ZXIgbW92aW5nIHN0dWZmIHRvIHNlYXJjaCBpbnN0YW5jZS4gKDEuMi4xIC0+IDEuMi4yKQoJCQl1bnNldCgkb25lcm93LT5kZWxldGUpOyAvLyA8LSBEaXNhYmxlIGRlbGV0ZSBidXR0b24KCQkKCX0gZWxzZSB7CgkKCQkkb25lcm93LT5kZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZG1pbl9zZXRkZWZhdWx0dGVtcGxhdGUnLCRyZXR1cm5pZCwKCQkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPk1vZExhbmcoJ3N0YXR1c19kZWZhdWx0JyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgnbmFtZScgPT4gJHRlbXBsYXRlKSk7Cgl9CQoJCiAgICAkaXRlbXNbJHRwbF90eXBlXVtdID0gJG9uZXJvdzsKCQoJaWYoIWlzc2V0KCRhZGRsaW5rc1skdHBsX3R5cGVdKSkKCQkkYWRkbGlua3NbJHRwbF90eXBlXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJHRwbF90eXBlIC4gJ3RlbXBsYXRlJykpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJHRwbF90eXBlIC4gJ3RlbXBsYXRlJykpLCBhcnJheSgndHlwZScgPT4gJHRwbF90eXBlKSk7Cn0KCmtzb3J0KCRpdGVtcyk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRpdGVtcyk7CiRzbWFydHktPmFzc2lnbignYWRkbGlua3MnLCAkYWRkbGlua3MpOwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZXRhYi50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/js/jquery.colorbox.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQ29sb3JCb3ggdjEuMy4yMC4xIC0galF1ZXJ5IGxpZ2h0Ym94IHBsdWdpbgovLyAoYykgMjAxMSBKYWNrIE1vb3JlIC0gamFja2xtb29yZS5jb20KLy8gTGljZW5zZTogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKKGZ1bmN0aW9uICgkLCBkb2N1bWVudCwgd2luZG93KSB7Cgl2YXIKCS8vIERlZmF1bHQgc2V0dGluZ3Mgb2JqZWN0LgoJLy8gU2VlIGh0dHA6Ly9qYWNrbG1vb3JlLmNvbS9jb2xvcmJveCBmb3IgZGV0YWlscy4KCWRlZmF1bHRzID0gewoJCXRyYW5zaXRpb246ICJlbGFzdGljIiwKCQlzcGVlZDogMzAwLAoJCXdpZHRoOiBmYWxzZSwKCQlpbml0aWFsV2lkdGg6ICI2MDAiLAoJCWlubmVyV2lkdGg6IGZhbHNlLAoJCW1heFdpZHRoOiBmYWxzZSwKCQloZWlnaHQ6IGZhbHNlLAoJCWluaXRpYWxIZWlnaHQ6ICI0NTAiLAoJCWlubmVySGVpZ2h0OiBmYWxzZSwKCQltYXhIZWlnaHQ6IGZhbHNlLAoJCXNjYWxlUGhvdG9zOiB0cnVlLAoJCXNjcm9sbGluZzogdHJ1ZSwKCQlpbmxpbmU6IGZhbHNlLAoJCWh0bWw6IGZhbHNlLAoJCWlmcmFtZTogZmFsc2UsCgkJZmFzdElmcmFtZTogdHJ1ZSwKCQlwaG90bzogZmFsc2UsCgkJaHJlZjogZmFsc2UsCgkJdGl0bGU6IGZhbHNlLAoJCXJlbDogZmFsc2UsCgkJb3BhY2l0eTogMC45LAoJCXByZWxvYWRpbmc6IHRydWUsCgoJCWN1cnJlbnQ6ICJpbWFnZSB7Y3VycmVudH0gb2Yge3RvdGFsfSIsCgkJcHJldmlvdXM6ICJwcmV2aW91cyIsCgkJbmV4dDogIm5leHQiLAoJCWNsb3NlOiAiY2xvc2UiLAoJCXhockVycm9yOiAiVGhpcyBjb250ZW50IGZhaWxlZCB0byBsb2FkLiIsCgkJaW1nRXJyb3I6ICJUaGlzIGltYWdlIGZhaWxlZCB0byBsb2FkLiIsCgoJCW9wZW46IGZhbHNlLAoJCXJldHVybkZvY3VzOiB0cnVlLAoJCXJlcG9zaXRpb246IHRydWUsCgkJbG9vcDogdHJ1ZSwKCQlzbGlkZXNob3c6IGZhbHNlLAoJCXNsaWRlc2hvd0F1dG86IHRydWUsCgkJc2xpZGVzaG93U3BlZWQ6IDI1MDAsCgkJc2xpZGVzaG93U3RhcnQ6ICJzdGFydCBzbGlkZXNob3ciLAoJCXNsaWRlc2hvd1N0b3A6ICJzdG9wIHNsaWRlc2hvdyIsCgkJb25PcGVuOiBmYWxzZSwKCQlvbkxvYWQ6IGZhbHNlLAoJCW9uQ29tcGxldGU6IGZhbHNlLAoJCW9uQ2xlYW51cDogZmFsc2UsCgkJb25DbG9zZWQ6IGZhbHNlLAoJCW92ZXJsYXlDbG9zZTogdHJ1ZSwKCQllc2NLZXk6IHRydWUsCgkJYXJyb3dLZXk6IHRydWUsCgkJdG9wOiBmYWxzZSwKCQlib3R0b206IGZhbHNlLAoJCWxlZnQ6IGZhbHNlLAoJCXJpZ2h0OiBmYWxzZSwKCQlmaXhlZDogZmFsc2UsCgkJZGF0YTogdW5kZWZpbmVkCgl9LAoJCgkvLyBBYnN0cmFjdGluZyB0aGUgSFRNTCBhbmQgZXZlbnQgaWRlbnRpZmllcnMgZm9yIGVhc3kgcmVicmFuZGluZwoJY29sb3Jib3ggPSAnY29sb3Jib3gnLAoJcHJlZml4ID0gJ2Nib3gnLAoJYm94RWxlbWVudCA9IHByZWZpeCArICdFbGVtZW50JywKCQoJLy8gRXZlbnRzCglldmVudF9vcGVuID0gcHJlZml4ICsgJ19vcGVuJywKCWV2ZW50X2xvYWQgPSBwcmVmaXggKyAnX2xvYWQnLAoJZXZlbnRfY29tcGxldGUgPSBwcmVmaXggKyAnX2NvbXBsZXRlJywKCWV2ZW50X2NsZWFudXAgPSBwcmVmaXggKyAnX2NsZWFudXAnLAoJZXZlbnRfY2xvc2VkID0gcHJlZml4ICsgJ19jbG9zZWQnLAoJZXZlbnRfcHVyZ2UgPSBwcmVmaXggKyAnX3B1cmdlJywKCQoJLy8gU3BlY2lhbCBIYW5kbGluZyBmb3IgSUUKCWlzSUUgPSAhJC5zdXBwb3J0Lm9wYWNpdHkgJiYgISQuc3VwcG9ydC5zdHlsZSwgLy8gSUU3ICYgSUU4Cglpc0lFNiA9IGlzSUUgJiYgIXdpbmRvdy5YTUxIdHRwUmVxdWVzdCwgLy8gSUU2CglldmVudF9pZTYgPSBwcmVmaXggKyAnX0lFNicsCgoJLy8gQ2FjaGVkIGpRdWVyeSBPYmplY3QgVmFyaWFibGVzCgkkb3ZlcmxheSwKCSRib3gsCgkkd3JhcCwKCSRjb250ZW50LAoJJHRvcEJvcmRlciwKCSRsZWZ0Qm9yZGVyLAoJJHJpZ2h0Qm9yZGVyLAoJJGJvdHRvbUJvcmRlciwKCSRyZWxhdGVkLAoJJHdpbmRvdywKCSRsb2FkZWQsCgkkbG9hZGluZ0JheSwKCSRsb2FkaW5nT3ZlcmxheSwKCSR0aXRsZSwKCSRjdXJyZW50LAoJJHNsaWRlc2hvdywKCSRuZXh0LAoJJHByZXYsCgkkY2xvc2UsCgkkZ3JvdXBDb250cm9scywKCQoJLy8gVmFyaWFibGVzIGZvciBjYWNoZWQgdmFsdWVzIG9yIHVzZSBhY3Jvc3MgbXVsdGlwbGUgZnVuY3Rpb25zCglzZXR0aW5ncywKCWludGVyZmFjZUhlaWdodCwKCWludGVyZmFjZVdpZHRoLAoJbG9hZGVkSGVpZ2h0LAoJbG9hZGVkV2lkdGgsCgllbGVtZW50LAoJaW5kZXgsCglwaG90bywKCW9wZW4sCglhY3RpdmUsCgljbG9zaW5nLAoJbG9hZGluZ1RpbWVyLAoJcHVibGljTWV0aG9kLAoJZGl2ID0gImRpdiIsCglpbml0OwoKCS8vICoqKioqKioqKioqKioqKioKCS8vIEhFTFBFUiBGVU5DVElPTlMKCS8vICoqKioqKioqKioqKioqKioKCQoJLy8gQ29udmllbmNlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyBuZXcgalF1ZXJ5IG9iamVjdHMKCWZ1bmN0aW9uICR0YWcodGFnLCBpZCwgY3NzKSB7CgkJdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7CgoJCWlmIChpZCkgewoJCQllbGVtZW50LmlkID0gcHJlZml4ICsgaWQ7CgkJfQoKCQlpZiAoY3NzKSB7CgkJCWVsZW1lbnQuc3R5bGUuY3NzVGV4dCA9IGNzczsKCQl9CgoJCXJldHVybiAkKGVsZW1lbnQpOwoJfQoKCS8vIERldGVybWluZSB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbWVtYmVycyBpbiBhIGdyb3VwLgoJZnVuY3Rpb24gZ2V0SW5kZXgoaW5jcmVtZW50KSB7CgkJdmFyCgkJbWF4ID0gJHJlbGF0ZWQubGVuZ3RoLAoJCW5ld0luZGV4ID0gKGluZGV4ICsgaW5jcmVtZW50KSAlIG1heDsKCQkKCQlyZXR1cm4gKG5ld0luZGV4IDwgMCkgPyBtYXggKyBuZXdJbmRleCA6IG5ld0luZGV4OwoJfQoKCS8vIENvbnZlcnQgJyUnIGFuZCAncHgnIHZhbHVlcyB0byBpbnRlZ2VycwoJZnVuY3Rpb24gc2V0U2l6ZShzaXplLCBkaW1lbnNpb24pIHsKCQlyZXR1cm4gTWF0aC5yb3VuZCgoLyUvLnRlc3Qoc2l6ZSkgPyAoKGRpbWVuc2lvbiA9PT0gJ3gnID8gd2luV2lkdGgoKSA6IHdpbkhlaWdodCgpKSAvIDEwMCkgOiAxKSAqIHBhcnNlSW50KHNpemUsIDEwKSk7Cgl9CgkKCS8vIENoZWNrcyBhbiBocmVmIHRvIHNlZSBpZiBpdCBpcyBhIHBob3RvLgoJLy8gVGhlcmUgaXMgYSBmb3JjZSBwaG90byBvcHRpb24gKHBob3RvOiB0cnVlKSBmb3IgaHJlZnMgdGhhdCBjYW5ub3QgYmUgbWF0Y2hlZCBieSB0aGlzIHJlZ2V4LgoJZnVuY3Rpb24gaXNJbWFnZSh1cmwpIHsKCQlyZXR1cm4gc2V0dGluZ3MucGhvdG8gfHwgL1wuKGdpZnxwbmd8anAoZXxnfGVnKXxibXB8aWNvKSgoI3xcPykuKik/JC9pLnRlc3QodXJsKTsKCX0KCQoJZnVuY3Rpb24gd2luV2lkdGgoKSB7CgkJLy8gJCh3aW5kb3cpLndpZHRoKCkgaXMgaW5jb3JyZWN0IGZvciBzb21lIG1vYmlsZSBicm93c2VycywgYnV0CgkJLy8gd2luZG93LmlubmVyV2lkdGggaXMgdW5zdXBwb3J0ZWQgaW4gSUU4IGFuZCBsb3dlci4KCQlyZXR1cm4gd2luZG93LmlubmVyV2lkdGggfHwgJHdpbmRvdy53aWR0aCgpOwoJfQoKCWZ1bmN0aW9uIHdpbkhlaWdodCgpIHsKCQlyZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IHx8ICR3aW5kb3cuaGVpZ2h0KCk7Cgl9CgoJLy8gQXNzaWducyBmdW5jdGlvbiByZXN1bHRzIHRvIHRoZWlyIHJlc3BlY3RpdmUgcHJvcGVydGllcwoJZnVuY3Rpb24gbWFrZVNldHRpbmdzKCkgewoJCXZhciBpLAoJCQlkYXRhID0gJC5kYXRhKGVsZW1lbnQsIGNvbG9yYm94KTsKCQkKCQlpZiAoZGF0YSA9PSBudWxsKSB7CgkJCXNldHRpbmdzID0gJC5leHRlbmQoe30sIGRlZmF1bHRzKTsKCQkJaWYgKGNvbnNvbGUgJiYgY29uc29sZS5sb2cpIHsKCQkJCWNvbnNvbGUubG9nKCdFcnJvcjogY2JveEVsZW1lbnQgbWlzc2luZyBzZXR0aW5ncyBvYmplY3QnKTsKCQkJfQoJCX0gZWxzZSB7CgkJCXNldHRpbmdzID0gJC5leHRlbmQoe30sIGRhdGEpOwoJCX0KCQkKCQlmb3IgKGkgaW4gc2V0dGluZ3MpIHsKCQkJaWYgKCQuaXNGdW5jdGlvbihzZXR0aW5nc1tpXSkgJiYgaS5zbGljZSgwLCAyKSAhPT0gJ29uJykgeyAvLyBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBmdW5jdGlvbiBpc24ndCBvbmUgb2YgdGhlIGNhbGxiYWNrcywgdGhleSB3aWxsIGJlIGhhbmRsZWQgYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWUuCgkJCQlzZXR0aW5nc1tpXSA9IHNldHRpbmdzW2ldLmNhbGwoZWxlbWVudCk7CgkJCX0KCQl9CgkJCgkJc2V0dGluZ3MucmVsID0gc2V0dGluZ3MucmVsIHx8IGVsZW1lbnQucmVsIHx8ICQoZWxlbWVudCkuZGF0YSgncmVsJykgfHwgJ25vZm9sbG93JzsKCQlzZXR0aW5ncy5ocmVmID0gc2V0dGluZ3MuaHJlZiB8fCAkKGVsZW1lbnQpLmF0dHIoJ2hyZWYnKTsKCQlzZXR0aW5ncy50aXRsZSA9IHNldHRpbmdzLnRpdGxlIHx8IGVsZW1lbnQudGl0bGU7CgkJCgkJaWYgKHR5cGVvZiBzZXR0aW5ncy5ocmVmID09PSAic3RyaW5nIikgewoJCQlzZXR0aW5ncy5ocmVmID0gJC50cmltKHNldHRpbmdzLmhyZWYpOwoJCX0KCX0KCglmdW5jdGlvbiB0cmlnZ2VyKGV2ZW50LCBjYWxsYmFjaykgewoJCSQuZXZlbnQudHJpZ2dlcihldmVudCk7CgkJaWYgKGNhbGxiYWNrKSB7CgkJCWNhbGxiYWNrLmNhbGwoZWxlbWVudCk7CgkJfQoJfQoKCS8vIFNsaWRlc2hvdyBmdW5jdGlvbmFsaXR5CglmdW5jdGlvbiBzbGlkZXNob3coKSB7CgkJdmFyCgkJdGltZU91dCwKCQljbGFzc05hbWUgPSBwcmVmaXggKyAiU2xpZGVzaG93XyIsCgkJY2xpY2sgPSAiY2xpY2suIiArIHByZWZpeCwKCQlzdGFydCwKCQlzdG9wLAoJCWNsZWFyOwoJCQoJCWlmIChzZXR0aW5ncy5zbGlkZXNob3cgJiYgJHJlbGF0ZWRbMV0pIHsKCQkJc3RhcnQgPSBmdW5jdGlvbiAoKSB7CgkJCQkkc2xpZGVzaG93CgkJCQkJLnRleHQoc2V0dGluZ3Muc2xpZGVzaG93U3RvcCkKCQkJCQkudW5iaW5kKGNsaWNrKQoJCQkJCS5iaW5kKGV2ZW50X2NvbXBsZXRlLCBmdW5jdGlvbiAoKSB7CgkJCQkJCWlmIChzZXR0aW5ncy5sb29wIHx8ICRyZWxhdGVkW2luZGV4ICsgMV0pIHsKCQkJCQkJCXRpbWVPdXQgPSBzZXRUaW1lb3V0KHB1YmxpY01ldGhvZC5uZXh0LCBzZXR0aW5ncy5zbGlkZXNob3dTcGVlZCk7CgkJCQkJCX0KCQkJCQl9KQoJCQkJCS5iaW5kKGV2ZW50X2xvYWQsIGZ1bmN0aW9uICgpIHsKCQkJCQkJY2xlYXJUaW1lb3V0KHRpbWVPdXQpOwoJCQkJCX0pCgkJCQkJLm9uZShjbGljayArICcgJyArIGV2ZW50X2NsZWFudXAsIHN0b3ApOwoJCQkJJGJveC5yZW1vdmVDbGFzcyhjbGFzc05hbWUgKyAib2ZmIikuYWRkQ2xhc3MoY2xhc3NOYW1lICsgIm9uIik7CgkJCQl0aW1lT3V0ID0gc2V0VGltZW91dChwdWJsaWNNZXRob2QubmV4dCwgc2V0dGluZ3Muc2xpZGVzaG93U3BlZWQpOwoJCQl9OwoJCQkKCQkJc3RvcCA9IGZ1bmN0aW9uICgpIHsKCQkJCWNsZWFyVGltZW91dCh0aW1lT3V0KTsKCQkJCSRzbGlkZXNob3cKCQkJCQkudGV4dChzZXR0aW5ncy5zbGlkZXNob3dTdGFydCkKCQkJCQkudW5iaW5kKFtldmVudF9jb21wbGV0ZSwgZXZlbnRfbG9hZCwgZXZlbnRfY2xlYW51cCwgY2xpY2tdLmpvaW4oJyAnKSkKCQkJCQkub25lKGNsaWNrLCBmdW5jdGlvbiAoKSB7CgkJCQkJCXB1YmxpY01ldGhvZC5uZXh0KCk7CgkJCQkJCXN0YXJ0KCk7CgkJCQkJfSk7CgkJCQkkYm94LnJlbW92ZUNsYXNzKGNsYXNzTmFtZSArICJvbiIpLmFkZENsYXNzKGNsYXNzTmFtZSArICJvZmYiKTsKCQkJfTsKCQkJCgkJCWlmIChzZXR0aW5ncy5zbGlkZXNob3dBdXRvKSB7CgkJCQlzdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJc3RvcCgpOwoJCQl9CgkJfSBlbHNlIHsKCQkJJGJveC5yZW1vdmVDbGFzcyhjbGFzc05hbWUgKyAib2ZmICIgKyBjbGFzc05hbWUgKyAib24iKTsKCQl9Cgl9CgoJZnVuY3Rpb24gbGF1bmNoKHRhcmdldCkgewoJCWlmICghY2xvc2luZykgewoJCQkKCQkJZWxlbWVudCA9IHRhcmdldDsKCQkJCgkJCW1ha2VTZXR0aW5ncygpOwoJCQkKCQkJJHJlbGF0ZWQgPSAkKGVsZW1lbnQpOwoJCQkKCQkJaW5kZXggPSAwOwoJCQkKCQkJaWYgKHNldHRpbmdzLnJlbCAhPT0gJ25vZm9sbG93JykgewoJCQkJJHJlbGF0ZWQgPSAkKCcuJyArIGJveEVsZW1lbnQpLmZpbHRlcihmdW5jdGlvbiAoKSB7CgkJCQkJdmFyIGRhdGEgPSAkLmRhdGEodGhpcywgY29sb3Jib3gpLAoJCQkJCQlyZWxSZWxhdGVkOwoKCQkJCQlpZiAoZGF0YSkgewoJCQkJCQlyZWxSZWxhdGVkID0gICQodGhpcykuZGF0YSgncmVsJykgfHwgZGF0YS5yZWwgfHwgdGhpcy5yZWw7CgkJCQkJfQoJCQkJCQoJCQkJCXJldHVybiAocmVsUmVsYXRlZCA9PT0gc2V0dGluZ3MucmVsKTsKCQkJCX0pOwoJCQkJaW5kZXggPSAkcmVsYXRlZC5pbmRleChlbGVtZW50KTsKCQkJCQoJCQkJLy8gQ2hlY2sgZGlyZWN0IGNhbGxzIHRvIENvbG9yQm94LgoJCQkJaWYgKGluZGV4ID09PSAtMSkgewoJCQkJCSRyZWxhdGVkID0gJHJlbGF0ZWQuYWRkKGVsZW1lbnQpOwoJCQkJCWluZGV4ID0gJHJlbGF0ZWQubGVuZ3RoIC0gMTsKCQkJCX0KCQkJfQoJCQkKCQkJaWYgKCFvcGVuKSB7CgkJCQlvcGVuID0gYWN0aXZlID0gdHJ1ZTsgLy8gUHJldmVudHMgdGhlIHBhZ2UtY2hhbmdlIGFjdGlvbiBmcm9tIHF1ZXVpbmcgdXAgaWYgdGhlIHZpc2l0b3IgaG9sZHMgZG93biB0aGUgbGVmdCBvciByaWdodCBrZXlzLgoJCQkJCgkJCQkkYm94LnNob3coKTsKCQkJCQoJCQkJaWYgKHNldHRpbmdzLnJldHVybkZvY3VzKSB7CgkJCQkJJChlbGVtZW50KS5ibHVyKCkub25lKGV2ZW50X2Nsb3NlZCwgZnVuY3Rpb24gKCkgewoJCQkJCQkkKHRoaXMpLmZvY3VzKCk7CgkJCQkJfSk7CgkJCQl9CgkJCQkKCQkJCS8vICtzZXR0aW5ncy5vcGFjaXR5IGF2b2lkcyBhIHByb2JsZW0gaW4gSUUgd2hlbiB1c2luZyBub24temVyby1wcmVmaXhlZC1zdHJpbmctdmFsdWVzLCBsaWtlICcuNScKCQkJCSRvdmVybGF5LmNzcyh7Im9wYWNpdHkiOiArc2V0dGluZ3Mub3BhY2l0eSwgImN1cnNvciI6IHNldHRpbmdzLm92ZXJsYXlDbG9zZSA/ICJwb2ludGVyIiA6ICJhdXRvIn0pLnNob3coKTsKCQkJCQoJCQkJLy8gT3BlbnMgaW5pdGFsIGVtcHR5IENvbG9yQm94IHByaW9yIHRvIGNvbnRlbnQgYmVpbmcgbG9hZGVkLgoJCQkJc2V0dGluZ3MudyA9IHNldFNpemUoc2V0dGluZ3MuaW5pdGlhbFdpZHRoLCAneCcpOwoJCQkJc2V0dGluZ3MuaCA9IHNldFNpemUoc2V0dGluZ3MuaW5pdGlhbEhlaWdodCwgJ3knKTsKCQkJCXB1YmxpY01ldGhvZC5wb3NpdGlvbigpOwoJCQkJCgkJCQlpZiAoaXNJRTYpIHsKCQkJCQkkd2luZG93LmJpbmQoJ3Jlc2l6ZS4nICsgZXZlbnRfaWU2ICsgJyBzY3JvbGwuJyArIGV2ZW50X2llNiwgZnVuY3Rpb24gKCkgewoJCQkJCQkkb3ZlcmxheS5jc3Moe3dpZHRoOiB3aW5XaWR0aCgpLCBoZWlnaHQ6IHdpbkhlaWdodCgpLCB0b3A6ICR3aW5kb3cuc2Nyb2xsVG9wKCksIGxlZnQ6ICR3aW5kb3cuc2Nyb2xsTGVmdCgpfSk7CgkJCQkJfSkudHJpZ2dlcigncmVzaXplLicgKyBldmVudF9pZTYpOwoJCQkJfQoJCQkJCgkJCQl0cmlnZ2VyKGV2ZW50X29wZW4sIHNldHRpbmdzLm9uT3Blbik7CgkJCQkKCQkJCSRncm91cENvbnRyb2xzLmFkZCgkdGl0bGUpLmhpZGUoKTsKCQkJCQoJCQkJJGNsb3NlLmh0bWwoc2V0dGluZ3MuY2xvc2UpLnNob3coKTsKCQkJfQoJCQkKCQkJcHVibGljTWV0aG9kLmxvYWQodHJ1ZSk7CgkJfQoJfQoKCS8vIENvbG9yQm94J3MgbWFya3VwIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00gcHJpb3IgdG8gYmVpbmcgY2FsbGVkCgkvLyBzbyB0aGF0IHRoZSBicm93c2VyIHdpbGwgZ28gYWhlYWQgYW5kIGxvYWQgdGhlIENTUyBiYWNrZ3JvdW5kIGltYWdlcy4KCWZ1bmN0aW9uIGFwcGVuZEhUTUwoKSB7CgkJaWYgKCEkYm94ICYmIGRvY3VtZW50LmJvZHkpIHsKCQkJaW5pdCA9IGZhbHNlOwoKCQkJJHdpbmRvdyA9ICQod2luZG93KTsKCQkJJGJveCA9ICR0YWcoZGl2KS5hdHRyKHtpZDogY29sb3Jib3gsICdjbGFzcyc6IGlzSUUgPyBwcmVmaXggKyAoaXNJRTYgPyAnSUU2JyA6ICdJRScpIDogJyd9KS5oaWRlKCk7CgkJCSRvdmVybGF5ID0gJHRhZyhkaXYsICJPdmVybGF5IiwgaXNJRTYgPyAncG9zaXRpb246YWJzb2x1dGUnIDogJycpLmhpZGUoKTsKCQkJJGxvYWRpbmdPdmVybGF5ID0gJHRhZyhkaXYsICJMb2FkaW5nT3ZlcmxheSIpLmFkZCgkdGFnKGRpdiwgIkxvYWRpbmdHcmFwaGljIikpOwoJCQkkd3JhcCA9ICR0YWcoZGl2LCAiV3JhcHBlciIpOwoJCQkkY29udGVudCA9ICR0YWcoZGl2LCAiQ29udGVudCIpLmFwcGVuZCgKCQkJCSRsb2FkZWQgPSAkdGFnKGRpdiwgIkxvYWRlZENvbnRlbnQiLCAnd2lkdGg6MDsgaGVpZ2h0OjA7IG92ZXJmbG93OmhpZGRlbicpLAoJCQkJJHRpdGxlID0gJHRhZyhkaXYsICJUaXRsZSIpLAoJCQkJJGN1cnJlbnQgPSAkdGFnKGRpdiwgIkN1cnJlbnQiKSwKCQkJCSRuZXh0ID0gJHRhZyhkaXYsICJOZXh0IiksCgkJCQkkcHJldiA9ICR0YWcoZGl2LCAiUHJldmlvdXMiKSwKCQkJCSRzbGlkZXNob3cgPSAkdGFnKGRpdiwgIlNsaWRlc2hvdyIpLmJpbmQoZXZlbnRfb3Blbiwgc2xpZGVzaG93KSwKCQkJCSRjbG9zZSA9ICR0YWcoZGl2LCAiQ2xvc2UiKQoJCQkpOwoJCQkKCQkJJHdyYXAuYXBwZW5kKCAvLyBUaGUgM3gzIEdyaWQgdGhhdCBtYWtlcyB1cCBDb2xvckJveAoJCQkJJHRhZyhkaXYpLmFwcGVuZCgKCQkJCQkkdGFnKGRpdiwgIlRvcExlZnQiKSwKCQkJCQkkdG9wQm9yZGVyID0gJHRhZyhkaXYsICJUb3BDZW50ZXIiKSwKCQkJCQkkdGFnKGRpdiwgIlRvcFJpZ2h0IikKCQkJCSksCgkJCQkkdGFnKGRpdiwgZmFsc2UsICdjbGVhcjpsZWZ0JykuYXBwZW5kKAoJCQkJCSRsZWZ0Qm9yZGVyID0gJHRhZyhkaXYsICJNaWRkbGVMZWZ0IiksCgkJCQkJJGNvbnRlbnQsCgkJCQkJJHJpZ2h0Qm9yZGVyID0gJHRhZyhkaXYsICJNaWRkbGVSaWdodCIpCgkJCQkpLAoJCQkJJHRhZyhkaXYsIGZhbHNlLCAnY2xlYXI6bGVmdCcpLmFwcGVuZCgKCQkJCQkkdGFnKGRpdiwgIkJvdHRvbUxlZnQiKSwKCQkJCQkkYm90dG9tQm9yZGVyID0gJHRhZyhkaXYsICJCb3R0b21DZW50ZXIiKSwKCQkJCQkkdGFnKGRpdiwgIkJvdHRvbVJpZ2h0IikKCQkJCSkKCQkJKS5maW5kKCdkaXYgZGl2JykuY3NzKHsnZmxvYXQnOiAnbGVmdCd9KTsKCQkJCgkJCSRsb2FkaW5nQmF5ID0gJHRhZyhkaXYsIGZhbHNlLCAncG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjk5OTlweDsgdmlzaWJpbGl0eTpoaWRkZW47IGRpc3BsYXk6bm9uZScpOwoJCQkKCQkJJGdyb3VwQ29udHJvbHMgPSAkbmV4dC5hZGQoJHByZXYpLmFkZCgkY3VycmVudCkuYWRkKCRzbGlkZXNob3cpOwoKCQkJJChkb2N1bWVudC5ib2R5KS5hcHBlbmQoJG92ZXJsYXksICRib3guYXBwZW5kKCR3cmFwLCAkbG9hZGluZ0JheSkpOwoJCX0KCX0KCgkvLyBBZGQgQ29sb3JCb3gncyBldmVudCBiaW5kaW5ncwoJZnVuY3Rpb24gYWRkQmluZGluZ3MoKSB7CgkJaWYgKCRib3gpIHsKCQkJaWYgKCFpbml0KSB7CgkJCQlpbml0ID0gdHJ1ZTsKCgkJCQkvLyBDYWNoZSB2YWx1ZXMgbmVlZGVkIGZvciBzaXplIGNhbGN1bGF0aW9ucwoJCQkJaW50ZXJmYWNlSGVpZ2h0ID0gJHRvcEJvcmRlci5oZWlnaHQoKSArICRib3R0b21Cb3JkZXIuaGVpZ2h0KCkgKyAkY29udGVudC5vdXRlckhlaWdodCh0cnVlKSAtICRjb250ZW50LmhlaWdodCgpOy8vU3VidHJhY3Rpb24gbmVlZGVkIGZvciBJRTYKCQkJCWludGVyZmFjZVdpZHRoID0gJGxlZnRCb3JkZXIud2lkdGgoKSArICRyaWdodEJvcmRlci53aWR0aCgpICsgJGNvbnRlbnQub3V0ZXJXaWR0aCh0cnVlKSAtICRjb250ZW50LndpZHRoKCk7CgkJCQlsb2FkZWRIZWlnaHQgPSAkbG9hZGVkLm91dGVySGVpZ2h0KHRydWUpOwoJCQkJbG9hZGVkV2lkdGggPSAkbG9hZGVkLm91dGVyV2lkdGgodHJ1ZSk7CgkJCQkKCQkJCS8vIFNldHRpbmcgcGFkZGluZyB0byByZW1vdmUgdGhlIG5lZWQgdG8gZG8gc2l6ZSBjb252ZXJzaW9ucyBkdXJpbmcgdGhlIGFuaW1hdGlvbiBzdGVwLgoJCQkJJGJveC5jc3MoeyJwYWRkaW5nLWJvdHRvbSI6IGludGVyZmFjZUhlaWdodCwgInBhZGRpbmctcmlnaHQiOiBpbnRlcmZhY2VXaWR0aH0pOwoKCQkJCS8vIEFub255bW91cyBmdW5jdGlvbnMgaGVyZSBrZWVwIHRoZSBwdWJsaWMgbWV0aG9kIGZyb20gYmVpbmcgY2FjaGVkLCB0aGVyZWJ5IGFsbG93aW5nIHRoZW0gdG8gYmUgcmVkZWZpbmVkIG9uIHRoZSBmbHkuCgkJCQkkbmV4dC5jbGljayhmdW5jdGlvbiAoKSB7CgkJCQkJcHVibGljTWV0aG9kLm5leHQoKTsKCQkJCX0pOwoJCQkJJHByZXYuY2xpY2soZnVuY3Rpb24gKCkgewoJCQkJCXB1YmxpY01ldGhvZC5wcmV2KCk7CgkJCQl9KTsKCQkJCSRjbG9zZS5jbGljayhmdW5jdGlvbiAoKSB7CgkJCQkJcHVibGljTWV0aG9kLmNsb3NlKCk7CgkJCQl9KTsKCQkJCSRvdmVybGF5LmNsaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQlpZiAoc2V0dGluZ3Mub3ZlcmxheUNsb3NlKSB7CgkJCQkJCXB1YmxpY01ldGhvZC5jbG9zZSgpOwoJCQkJCX0KCQkJCX0pOwoJCQkJCgkJCQkvLyBLZXkgQmluZGluZ3MKCQkJCSQoZG9jdW1lbnQpLmJpbmQoJ2tleWRvd24uJyArIHByZWZpeCwgZnVuY3Rpb24gKGUpIHsKCQkJCQl2YXIga2V5ID0gZS5rZXlDb2RlOwoJCQkJCWlmIChvcGVuICYmIHNldHRpbmdzLmVzY0tleSAmJiBrZXkgPT09IDI3KSB7CgkJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQkJcHVibGljTWV0aG9kLmNsb3NlKCk7CgkJCQkJfQoJCQkJCWlmIChvcGVuICYmIHNldHRpbmdzLmFycm93S2V5ICYmICRyZWxhdGVkWzFdKSB7CgkJCQkJCWlmIChrZXkgPT09IDM3KSB7CgkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCQkkcHJldi5jbGljaygpOwoJCQkJCQl9IGVsc2UgaWYgKGtleSA9PT0gMzkpIHsKCQkJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQkJCSRuZXh0LmNsaWNrKCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9KTsKCgkJCQkkKCcuJyArIGJveEVsZW1lbnQsIGRvY3VtZW50KS5saXZlKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CgkJCQkJLy8gaWdub3JlIG5vbi1sZWZ0LW1vdXNlLWNsaWNrcyBhbmQgY2xpY2tzIG1vZGlmaWVkIHdpdGggY3RybCAvIGNvbW1hbmQsIHNoaWZ0LCBvciBhbHQuCgkJCQkJLy8gU2VlOiBodHRwOi8vamFja2xtb29yZS5jb20vbm90ZXMvY2xpY2stZXZlbnRzLwoJCQkJCWlmICghKGUud2hpY2ggPiAxIHx8IGUuc2hpZnRLZXkgfHwgZS5hbHRLZXkgfHwgZS5tZXRhS2V5KSkgewoJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCWxhdW5jaCh0aGlzKTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCS8vIERvbid0IGRvIGFueXRoaW5nIGlmIENvbG9yQm94IGFscmVhZHkgZXhpc3RzLgoJaWYgKCQuY29sb3Jib3gpIHsKCQlyZXR1cm47Cgl9CgoJLy8gQXBwZW5kIHRoZSBIVE1MIHdoZW4gdGhlIERPTSBsb2FkcwoJJChhcHBlbmRIVE1MKTsKCgoJLy8gKioqKioqKioqKioqKioqKgoJLy8gUFVCTElDIEZVTkNUSU9OUwoJLy8gVXNhZ2UgZm9ybWF0OiAkLmZuLmNvbG9yYm94LmNsb3NlKCk7CgkvLyBVc2FnZSBmcm9tIHdpdGhpbiBhbiBpZnJhbWU6IHBhcmVudC4kLmZuLmNvbG9yYm94LmNsb3NlKCk7CgkvLyAqKioqKioqKioqKioqKioqCgkKCXB1YmxpY01ldGhvZCA9ICQuZm5bY29sb3Jib3hdID0gJFtjb2xvcmJveF0gPSBmdW5jdGlvbiAob3B0aW9ucywgY2FsbGJhY2spIHsKCQl2YXIgJHRoaXMgPSB0aGlzOwoJCQoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoJCQoJCWFwcGVuZEhUTUwoKTsKCgkJaWYgKGFkZEJpbmRpbmdzKCkpIHsKCQkJaWYgKCEkdGhpc1swXSkgewoJCQkJaWYgKCR0aGlzLnNlbGVjdG9yKSB7IC8vIGlmIGEgc2VsZWN0b3Igd2FzIGdpdmVuIGFuZCBpdCBkaWRuJ3QgbWF0Y2ggYW55IGVsZW1lbnRzLCBnbyBhaGVhZCBhbmQgZXhpdC4KCQkJCQlyZXR1cm4gJHRoaXM7CgkJCQl9CgkJCQkvLyBpZiBubyBzZWxlY3RvciB3YXMgZ2l2ZW4gKGllLiAkLmNvbG9yYm94KCkpLCBjcmVhdGUgYSB0ZW1wb3JhcnkgZWxlbWVudCB0byB3b3JrIHdpdGgKCQkJCSR0aGlzID0gJCgnPGEvPicpOwoJCQkJb3B0aW9ucy5vcGVuID0gdHJ1ZTsgLy8gYXNzdW1lIGFuIGltbWVkaWF0ZSBvcGVuCgkJCX0KCQkJCgkJCWlmIChjYWxsYmFjaykgewoJCQkJb3B0aW9ucy5vbkNvbXBsZXRlID0gY2FsbGJhY2s7CgkJCX0KCQkJCgkJCSR0aGlzLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJJC5kYXRhKHRoaXMsIGNvbG9yYm94LCAkLmV4dGVuZCh7fSwgJC5kYXRhKHRoaXMsIGNvbG9yYm94KSB8fCBkZWZhdWx0cywgb3B0aW9ucykpOwoJCQl9KS5hZGRDbGFzcyhib3hFbGVtZW50KTsKCQkJCgkJCWlmICgoJC5pc0Z1bmN0aW9uKG9wdGlvbnMub3BlbikgJiYgb3B0aW9ucy5vcGVuLmNhbGwoJHRoaXMpKSB8fCBvcHRpb25zLm9wZW4pIHsKCQkJCWxhdW5jaCgkdGhpc1swXSk7CgkJCX0KCQl9CgkJCgkJcmV0dXJuICR0aGlzOwoJfTsKCglwdWJsaWNNZXRob2QucG9zaXRpb24gPSBmdW5jdGlvbiAoc3BlZWQsIGxvYWRlZENhbGxiYWNrKSB7CgkJdmFyCgkJY3NzLAoJCXRvcCA9IDAsCgkJbGVmdCA9IDAsCgkJb2Zmc2V0ID0gJGJveC5vZmZzZXQoKSwKCQlzY3JvbGxUb3AsCgkJc2Nyb2xsTGVmdDsKCQkKCQkkd2luZG93LnVuYmluZCgncmVzaXplLicgKyBwcmVmaXgpOwoKCQkvLyByZW1vdmUgdGhlIG1vZGFsIHNvIHRoYXQgaXQgZG9lc24ndCBpbmZsdWVuY2UgdGhlIGRvY3VtZW50IHdpZHRoL2hlaWdodAoJCSRib3guY3NzKHt0b3A6IC05ZTQsIGxlZnQ6IC05ZTR9KTsKCgkJc2Nyb2xsVG9wID0gJHdpbmRvdy5zY3JvbGxUb3AoKTsKCQlzY3JvbGxMZWZ0ID0gJHdpbmRvdy5zY3JvbGxMZWZ0KCk7CgoJCWlmIChzZXR0aW5ncy5maXhlZCAmJiAhaXNJRTYpIHsKCQkJb2Zmc2V0LnRvcCAtPSBzY3JvbGxUb3A7CgkJCW9mZnNldC5sZWZ0IC09IHNjcm9sbExlZnQ7CgkJCSRib3guY3NzKHtwb3NpdGlvbjogJ2ZpeGVkJ30pOwoJCX0gZWxzZSB7CgkJCXRvcCA9IHNjcm9sbFRvcDsKCQkJbGVmdCA9IHNjcm9sbExlZnQ7CgkJCSRib3guY3NzKHtwb3NpdGlvbjogJ2Fic29sdXRlJ30pOwoJCX0KCgkJLy8ga2VlcHMgdGhlIHRvcCBhbmQgbGVmdCBwb3NpdGlvbnMgd2l0aGluIHRoZSBicm93c2VyJ3Mgdmlld3BvcnQuCgkJaWYgKHNldHRpbmdzLnJpZ2h0ICE9PSBmYWxzZSkgewoJCQlsZWZ0ICs9IE1hdGgubWF4KHdpbldpZHRoKCkgLSBzZXR0aW5ncy53IC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCAtIHNldFNpemUoc2V0dGluZ3MucmlnaHQsICd4JyksIDApOwoJCX0gZWxzZSBpZiAoc2V0dGluZ3MubGVmdCAhPT0gZmFsc2UpIHsKCQkJbGVmdCArPSBzZXRTaXplKHNldHRpbmdzLmxlZnQsICd4Jyk7CgkJfSBlbHNlIHsKCQkJbGVmdCArPSBNYXRoLnJvdW5kKE1hdGgubWF4KHdpbldpZHRoKCkgLSBzZXR0aW5ncy53IC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCwgMCkgLyAyKTsKCQl9CgkJCgkJaWYgKHNldHRpbmdzLmJvdHRvbSAhPT0gZmFsc2UpIHsKCQkJdG9wICs9IE1hdGgubWF4KHdpbkhlaWdodCgpIC0gc2V0dGluZ3MuaCAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCAtIHNldFNpemUoc2V0dGluZ3MuYm90dG9tLCAneScpLCAwKTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLnRvcCAhPT0gZmFsc2UpIHsKCQkJdG9wICs9IHNldFNpemUoc2V0dGluZ3MudG9wLCAneScpOwoJCX0gZWxzZSB7CgkJCXRvcCArPSBNYXRoLnJvdW5kKE1hdGgubWF4KHdpbkhlaWdodCgpIC0gc2V0dGluZ3MuaCAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCwgMCkgLyAyKTsKCQl9CgoJCSRib3guY3NzKHt0b3A6IG9mZnNldC50b3AsIGxlZnQ6IG9mZnNldC5sZWZ0fSk7CgoJCS8vIHNldHRpbmcgdGhlIHNwZWVkIHRvIDAgdG8gcmVkdWNlIHRoZSBkZWxheSBiZXR3ZWVuIHNhbWUtc2l6ZWQgY29udGVudC4KCQlzcGVlZCA9ICgkYm94LndpZHRoKCkgPT09IHNldHRpbmdzLncgKyBsb2FkZWRXaWR0aCAmJiAkYm94LmhlaWdodCgpID09PSBzZXR0aW5ncy5oICsgbG9hZGVkSGVpZ2h0KSA/IDAgOiBzcGVlZCB8fCAwOwoJCQoJCS8vIHRoaXMgZ2l2ZXMgdGhlIHdyYXBwZXIgcGxlbnR5IG9mIGJyZWF0aGluZyByb29tIHNvIGl0J3MgZmxvYXRlZCBjb250ZW50cyBjYW4gbW92ZSBhcm91bmQgc21vb3RobHksCgkJLy8gYnV0IGl0IGhhcyB0byBiZSBzaHJhbmsgZG93biBhcm91bmQgdGhlIHNpemUgb2YgZGl2I2NvbG9yYm94IHdoZW4gaXQncyBkb25lLiAgSWYgbm90LAoJCS8vIGl0IGNhbiBpbnZva2UgYW4gb2JzY3VyZSBJRSBidWcgd2hlbiB1c2luZyBpZnJhbWVzLgoJCSR3cmFwWzBdLnN0eWxlLndpZHRoID0gJHdyYXBbMF0uc3R5bGUuaGVpZ2h0ID0gIjk5OTlweCI7CgkJCgkJZnVuY3Rpb24gbW9kYWxEaW1lbnNpb25zKHRoYXQpIHsKCQkJJHRvcEJvcmRlclswXS5zdHlsZS53aWR0aCA9ICRib3R0b21Cb3JkZXJbMF0uc3R5bGUud2lkdGggPSAkY29udGVudFswXS5zdHlsZS53aWR0aCA9IHRoYXQuc3R5bGUud2lkdGg7CgkJCSRjb250ZW50WzBdLnN0eWxlLmhlaWdodCA9ICRsZWZ0Qm9yZGVyWzBdLnN0eWxlLmhlaWdodCA9ICRyaWdodEJvcmRlclswXS5zdHlsZS5oZWlnaHQgPSB0aGF0LnN0eWxlLmhlaWdodDsKCQl9CgoJCWNzcyA9IHt3aWR0aDogc2V0dGluZ3MudyArIGxvYWRlZFdpZHRoLCBoZWlnaHQ6IHNldHRpbmdzLmggKyBsb2FkZWRIZWlnaHQsIHRvcDogdG9wLCBsZWZ0OiBsZWZ0fTsKCQlpZihzcGVlZD09PTApeyAvLyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBzaWRlLXN0ZXAgalF1ZXJ5LVVJIDEuOCBidWcgKGh0dHA6Ly9idWdzLmpxdWVyeS5jb20vdGlja2V0LzEyMjczKQoJCQkkYm94LmNzcyhjc3MpOwoJCX0KCQkkYm94LmRlcXVldWUoKS5hbmltYXRlKGNzcywgewoJCQlkdXJhdGlvbjogc3BlZWQsCgkJCWNvbXBsZXRlOiBmdW5jdGlvbiAoKSB7CgkJCQltb2RhbERpbWVuc2lvbnModGhpcyk7CgkJCQkKCQkJCWFjdGl2ZSA9IGZhbHNlOwoJCQkJCgkJCQkvLyBzaHJpbmsgdGhlIHdyYXBwZXIgZG93biB0byBleGFjdGx5IHRoZSBzaXplIG9mIGNvbG9yYm94IHRvIGF2b2lkIGEgYnVnIGluIElFJ3MgaWZyYW1lIGltcGxlbWVudGF0aW9uLgoJCQkJJHdyYXBbMF0uc3R5bGUud2lkdGggPSAoc2V0dGluZ3MudyArIGxvYWRlZFdpZHRoICsgaW50ZXJmYWNlV2lkdGgpICsgInB4IjsKCQkJCSR3cmFwWzBdLnN0eWxlLmhlaWdodCA9IChzZXR0aW5ncy5oICsgbG9hZGVkSGVpZ2h0ICsgaW50ZXJmYWNlSGVpZ2h0KSArICJweCI7CgkJCQkKCQkJCWlmIChzZXR0aW5ncy5yZXBvc2l0aW9uKSB7CgkJCQkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7ICAvLyBzbWFsbCBkZWxheSBiZWZvcmUgYmluZGluZyBvbnJlc2l6ZSBkdWUgdG8gYW4gSUU4IGJ1Zy4KCQkJCQkJJHdpbmRvdy5iaW5kKCdyZXNpemUuJyArIHByZWZpeCwgcHVibGljTWV0aG9kLnBvc2l0aW9uKTsKCQkJCQl9LCAxKTsKCQkJCX0KCgkJCQlpZiAobG9hZGVkQ2FsbGJhY2spIHsKCQkJCQlsb2FkZWRDYWxsYmFjaygpOwoJCQkJfQoJCQl9LAoJCQlzdGVwOiBmdW5jdGlvbiAoKSB7CgkJCQltb2RhbERpbWVuc2lvbnModGhpcyk7CgkJCX0KCQl9KTsKCX07CgoJcHVibGljTWV0aG9kLnJlc2l6ZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CgkJaWYgKG9wZW4pIHsKCQkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307CgkJCQoJCQlpZiAob3B0aW9ucy53aWR0aCkgewoJCQkJc2V0dGluZ3MudyA9IHNldFNpemUob3B0aW9ucy53aWR0aCwgJ3gnKSAtIGxvYWRlZFdpZHRoIC0gaW50ZXJmYWNlV2lkdGg7CgkJCX0KCQkJaWYgKG9wdGlvbnMuaW5uZXJXaWR0aCkgewoJCQkJc2V0dGluZ3MudyA9IHNldFNpemUob3B0aW9ucy5pbm5lcldpZHRoLCAneCcpOwoJCQl9CgkJCSRsb2FkZWQuY3NzKHt3aWR0aDogc2V0dGluZ3Mud30pOwoJCQkKCQkJaWYgKG9wdGlvbnMuaGVpZ2h0KSB7CgkJCQlzZXR0aW5ncy5oID0gc2V0U2l6ZShvcHRpb25zLmhlaWdodCwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodDsKCQkJfQoJCQlpZiAob3B0aW9ucy5pbm5lckhlaWdodCkgewoJCQkJc2V0dGluZ3MuaCA9IHNldFNpemUob3B0aW9ucy5pbm5lckhlaWdodCwgJ3knKTsKCQkJfQoJCQlpZiAoIW9wdGlvbnMuaW5uZXJIZWlnaHQgJiYgIW9wdGlvbnMuaGVpZ2h0KSB7CgkJCQkkbG9hZGVkLmNzcyh7aGVpZ2h0OiAiYXV0byJ9KTsKCQkJCXNldHRpbmdzLmggPSAkbG9hZGVkLmhlaWdodCgpOwoJCQl9CgkJCSRsb2FkZWQuY3NzKHtoZWlnaHQ6IHNldHRpbmdzLmh9KTsKCQkJCgkJCXB1YmxpY01ldGhvZC5wb3NpdGlvbihzZXR0aW5ncy50cmFuc2l0aW9uID09PSAibm9uZSIgPyAwIDogc2V0dGluZ3Muc3BlZWQpOwoJCX0KCX07CgoJcHVibGljTWV0aG9kLnByZXAgPSBmdW5jdGlvbiAob2JqZWN0KSB7CgkJaWYgKCFvcGVuKSB7CgkJCXJldHVybjsKCQl9CgkJCgkJdmFyIGNhbGxiYWNrLCBzcGVlZCA9IHNldHRpbmdzLnRyYW5zaXRpb24gPT09ICJub25lIiA/IDAgOiBzZXR0aW5ncy5zcGVlZDsKCQkKCQkkbG9hZGVkLnJlbW92ZSgpOwoJCSRsb2FkZWQgPSAkdGFnKGRpdiwgJ0xvYWRlZENvbnRlbnQnKS5hcHBlbmQob2JqZWN0KTsKCQkKCQlmdW5jdGlvbiBnZXRXaWR0aCgpIHsKCQkJc2V0dGluZ3MudyA9IHNldHRpbmdzLncgfHwgJGxvYWRlZC53aWR0aCgpOwoJCQlzZXR0aW5ncy53ID0gc2V0dGluZ3MubXcgJiYgc2V0dGluZ3MubXcgPCBzZXR0aW5ncy53ID8gc2V0dGluZ3MubXcgOiBzZXR0aW5ncy53OwoJCQlyZXR1cm4gc2V0dGluZ3MudzsKCQl9CgkJZnVuY3Rpb24gZ2V0SGVpZ2h0KCkgewoJCQlzZXR0aW5ncy5oID0gc2V0dGluZ3MuaCB8fCAkbG9hZGVkLmhlaWdodCgpOwoJCQlzZXR0aW5ncy5oID0gc2V0dGluZ3MubWggJiYgc2V0dGluZ3MubWggPCBzZXR0aW5ncy5oID8gc2V0dGluZ3MubWggOiBzZXR0aW5ncy5oOwoJCQlyZXR1cm4gc2V0dGluZ3MuaDsKCQl9CgkJCgkJJGxvYWRlZC5oaWRlKCkKCQkuYXBwZW5kVG8oJGxvYWRpbmdCYXkuc2hvdygpKS8vIGNvbnRlbnQgaGFzIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBET00gZm9yIGFjY3VyYXRlIHNpemUgY2FsY3VsYXRpb25zLgoJCS5jc3Moe3dpZHRoOiBnZXRXaWR0aCgpLCBvdmVyZmxvdzogc2V0dGluZ3Muc2Nyb2xsaW5nID8gJ2F1dG8nIDogJ2hpZGRlbid9KQoJCS5jc3Moe2hlaWdodDogZ2V0SGVpZ2h0KCl9KS8vIHNldHMgdGhlIGhlaWdodCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIHdpZHRoIGluIGNhc2UgdGhlIG5ldyB3aWR0aCBpbmZsdWVuY2VzIHRoZSB2YWx1ZSBvZiBoZWlnaHQuCgkJLnByZXBlbmRUbygkY29udGVudCk7CgkJCgkJJGxvYWRpbmdCYXkuaGlkZSgpOwoJCQoJCS8vIGZsb2F0aW5nIHRoZSBJTUcgcmVtb3ZlcyB0aGUgYm90dG9tIGxpbmUtaGVpZ2h0IGFuZCBmaXhlZCBhIHByb2JsZW0gd2hlcmUgSUUgbWlzY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBlbGVtZW50IGFzIDEwMCUgb2YgdGhlIGRvY3VtZW50IHdpZHRoLgoJCS8vJChwaG90bykuY3NzKHsnZmxvYXQnOiAnbm9uZScsIG1hcmdpbkxlZnQ6ICdhdXRvJywgbWFyZ2luUmlnaHQ6ICdhdXRvJ30pOwoJCQoJCSQocGhvdG8pLmNzcyh7J2Zsb2F0JzogJ25vbmUnfSk7CgkJCgkJLy8gSGlkZXMgU0VMRUNUIGVsZW1lbnRzIGluIElFNiBiZWNhdXNlIHRoZXkgd291bGQgb3RoZXJ3aXNlIHNpdCBvbiB0b3Agb2YgdGhlIG92ZXJsYXkuCgkJaWYgKGlzSUU2KSB7CgkJCSQoJ3NlbGVjdCcpLm5vdCgkYm94LmZpbmQoJ3NlbGVjdCcpKS5maWx0ZXIoZnVuY3Rpb24gKCkgewoJCQkJcmV0dXJuIHRoaXMuc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7CgkJCX0pLmNzcyh7J3Zpc2liaWxpdHknOiAnaGlkZGVuJ30pLm9uZShldmVudF9jbGVhbnVwLCBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLnN0eWxlLnZpc2liaWxpdHkgPSAnaW5oZXJpdCc7CgkJCX0pOwoJCX0KCQkKCQljYWxsYmFjayA9IGZ1bmN0aW9uICgpIHsKCQkJdmFyIHByZWxvYWQsCgkJCQlpLAoJCQkJdG90YWwgPSAkcmVsYXRlZC5sZW5ndGgsCgkJCQlpZnJhbWUsCgkJCQlmcmFtZUJvcmRlciA9ICdmcmFtZUJvcmRlcicsCgkJCQlhbGxvd1RyYW5zcGFyZW5jeSA9ICdhbGxvd1RyYW5zcGFyZW5jeScsCgkJCQljb21wbGV0ZSwKCQkJCXNyYywKCQkJCWltZywKCQkJCWRhdGE7CgkJCQoJCQlpZiAoIW9wZW4pIHsKCQkJCXJldHVybjsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gcmVtb3ZlRmlsdGVyKCkgewoJCQkJaWYgKGlzSUUpIHsKCQkJCQkkYm94WzBdLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnZmlsdGVyJyk7CgkJCQl9CgkJCX0KCQkJCgkJCWNvbXBsZXRlID0gZnVuY3Rpb24gKCkgewoJCQkJY2xlYXJUaW1lb3V0KGxvYWRpbmdUaW1lcik7CgkJCQkvLyBEZXRhY2hpbmcgZm9yY2VzIEFuZHJpb2Qgc3RvY2sgYnJvd3NlciB0byByZWRyYXcgdGhlIGFyZWEgdW5kZXJuZWF0IHRoZSBsb2FkaW5nIG92ZXJsYXkuICBIaWRpbmcgYWxvbmUgaXNuJ3QgZW5vdWdoLgoJCQkJJGxvYWRpbmdPdmVybGF5LmRldGFjaCgpLmhpZGUoKTsKCQkJCXRyaWdnZXIoZXZlbnRfY29tcGxldGUsIHNldHRpbmdzLm9uQ29tcGxldGUpOwoJCQl9OwoJCQkKCQkJaWYgKGlzSUUpIHsKCQkJCS8vVGhpcyBmYWRlSW4gaGVscHMgdGhlIGJpY3ViaWMgcmVzYW1wbGluZyB0byBraWNrLWluLgoJCQkJaWYgKHBob3RvKSB7CgkJCQkJJGxvYWRlZC5mYWRlSW4oMTAwKTsKCQkJCX0KCQkJfQoJCQkKCQkJJHRpdGxlLmh0bWwoc2V0dGluZ3MudGl0bGUpLmFkZCgkbG9hZGVkKS5zaG93KCk7CgkJCQoJCQlpZiAodG90YWwgPiAxKSB7IC8vIGhhbmRsZSBncm91cGluZwoJCQkJaWYgKHR5cGVvZiBzZXR0aW5ncy5jdXJyZW50ID09PSAic3RyaW5nIikgewoJCQkJCSRjdXJyZW50Lmh0bWwoc2V0dGluZ3MuY3VycmVudC5yZXBsYWNlKCd7Y3VycmVudH0nLCBpbmRleCArIDEpLnJlcGxhY2UoJ3t0b3RhbH0nLCB0b3RhbCkpLnNob3coKTsKCQkJCX0KCQkJCQoJCQkJJG5leHRbKHNldHRpbmdzLmxvb3AgfHwgaW5kZXggPCB0b3RhbCAtIDEpID8gInNob3ciIDogImhpZGUiXSgpLmh0bWwoc2V0dGluZ3MubmV4dCk7CgkJCQkkcHJldlsoc2V0dGluZ3MubG9vcCB8fCBpbmRleCkgPyAic2hvdyIgOiAiaGlkZSJdKCkuaHRtbChzZXR0aW5ncy5wcmV2aW91cyk7CgkJCQkKCQkJCWlmIChzZXR0aW5ncy5zbGlkZXNob3cpIHsKCQkJCQkkc2xpZGVzaG93LnNob3coKTsKCQkJCX0KCQkJCQoJCQkJLy8gUHJlbG9hZHMgaW1hZ2VzIHdpdGhpbiBhIHJlbCBncm91cAoJCQkJaWYgKHNldHRpbmdzLnByZWxvYWRpbmcpIHsKCQkJCQlwcmVsb2FkID0gWwoJCQkJCQlnZXRJbmRleCgtMSksCgkJCQkJCWdldEluZGV4KDEpCgkJCQkJXTsKCQkJCQl3aGlsZSAoaSA9ICRyZWxhdGVkW3ByZWxvYWQucG9wKCldKSB7CgkJCQkJCWRhdGEgPSAkLmRhdGEoaSwgY29sb3Jib3gpOwoJCQkJCQkKCQkJCQkJaWYgKGRhdGEgJiYgZGF0YS5ocmVmKSB7CgkJCQkJCQlzcmMgPSBkYXRhLmhyZWY7CgkJCQkJCQlpZiAoJC5pc0Z1bmN0aW9uKHNyYykpIHsKCQkJCQkJCQlzcmMgPSBzcmMuY2FsbChpKTsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXNyYyA9IGkuaHJlZjsKCQkJCQkJfQoKCQkJCQkJaWYgKGlzSW1hZ2Uoc3JjKSkgewoJCQkJCQkJaW1nID0gbmV3IEltYWdlKCk7CgkJCQkJCQlpbWcuc3JjID0gc3JjOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgewoJCQkJJGdyb3VwQ29udHJvbHMuaGlkZSgpOwoJCQl9CgkJCQoJCQlpZiAoc2V0dGluZ3MuaWZyYW1lKSB7CgkJCQlpZnJhbWUgPSAkdGFnKCdpZnJhbWUnKVswXTsKCQkJCQoJCQkJaWYgKGZyYW1lQm9yZGVyIGluIGlmcmFtZSkgewoJCQkJCWlmcmFtZVtmcmFtZUJvcmRlcl0gPSAwOwoJCQkJfQoJCQkJaWYgKGFsbG93VHJhbnNwYXJlbmN5IGluIGlmcmFtZSkgewoJCQkJCWlmcmFtZVthbGxvd1RyYW5zcGFyZW5jeV0gPSAidHJ1ZSI7CgkJCQl9CgkJCQkvLyBnaXZlIHRoZSBpZnJhbWUgYSB1bmlxdWUgbmFtZSB0byBwcmV2ZW50IGNhY2hpbmcKCQkJCWlmcmFtZS5uYW1lID0gcHJlZml4ICsgKCtuZXcgRGF0ZSgpKTsKCQkJCWlmIChzZXR0aW5ncy5mYXN0SWZyYW1lKSB7CgkJCQkJY29tcGxldGUoKTsKCQkJCX0gZWxzZSB7CgkJCQkJJChpZnJhbWUpLm9uZSgnbG9hZCcsIGNvbXBsZXRlKTsKCQkJCX0KCQkJCWlmcmFtZS5zcmMgPSBzZXR0aW5ncy5ocmVmOwoJCQkJaWYgKCFzZXR0aW5ncy5zY3JvbGxpbmcpIHsKCQkJCQlpZnJhbWUuc2Nyb2xsaW5nID0gIm5vIjsKCQkJCX0KCQkJCSQoaWZyYW1lKS5hZGRDbGFzcyhwcmVmaXggKyAnSWZyYW1lJykuYXBwZW5kVG8oJGxvYWRlZCkub25lKGV2ZW50X3B1cmdlLCBmdW5jdGlvbiAoKSB7CgkJCQkJaWZyYW1lLnNyYyA9ICIvL2Fib3V0OmJsYW5rIjsKCQkJCX0pOwoJCQl9IGVsc2UgewoJCQkJY29tcGxldGUoKTsKCQkJfQoJCQkKCQkJaWYgKHNldHRpbmdzLnRyYW5zaXRpb24gPT09ICdmYWRlJykgewoJCQkJJGJveC5mYWRlVG8oc3BlZWQsIDEsIHJlbW92ZUZpbHRlcik7CgkJCX0gZWxzZSB7CgkJCQlyZW1vdmVGaWx0ZXIoKTsKCQkJfQoJCX07CgkJCgkJaWYgKHNldHRpbmdzLnRyYW5zaXRpb24gPT09ICdmYWRlJykgewoJCQkkYm94LmZhZGVUbyhzcGVlZCwgMCwgZnVuY3Rpb24gKCkgewoJCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKDAsIGNhbGxiYWNrKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKHNwZWVkLCBjYWxsYmFjayk7CgkJfQoJfTsKCglwdWJsaWNNZXRob2QubG9hZCA9IGZ1bmN0aW9uIChsYXVuY2hlZCkgewoJCXZhciBocmVmLCBzZXRSZXNpemUsIHByZXAgPSBwdWJsaWNNZXRob2QucHJlcDsKCQkKCQlhY3RpdmUgPSB0cnVlOwoJCQoJCXBob3RvID0gZmFsc2U7CgkJCgkJZWxlbWVudCA9ICRyZWxhdGVkW2luZGV4XTsKCQkKCQlpZiAoIWxhdW5jaGVkKSB7CgkJCW1ha2VTZXR0aW5ncygpOwoJCX0KCQkKCQl0cmlnZ2VyKGV2ZW50X3B1cmdlKTsKCQkKCQl0cmlnZ2VyKGV2ZW50X2xvYWQsIHNldHRpbmdzLm9uTG9hZCk7CgkJCgkJc2V0dGluZ3MuaCA9IHNldHRpbmdzLmhlaWdodCA/CgkJCQlzZXRTaXplKHNldHRpbmdzLmhlaWdodCwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCA6CgkJCQlzZXR0aW5ncy5pbm5lckhlaWdodCAmJiBzZXRTaXplKHNldHRpbmdzLmlubmVySGVpZ2h0LCAneScpOwoJCQoJCXNldHRpbmdzLncgPSBzZXR0aW5ncy53aWR0aCA/CgkJCQlzZXRTaXplKHNldHRpbmdzLndpZHRoLCAneCcpIC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCA6CgkJCQlzZXR0aW5ncy5pbm5lcldpZHRoICYmIHNldFNpemUoc2V0dGluZ3MuaW5uZXJXaWR0aCwgJ3gnKTsKCQkKCQkvLyBTZXRzIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgZm9yIHVzZSBpbiBpbWFnZSBzY2FsaW5nCgkJc2V0dGluZ3MubXcgPSBzZXR0aW5ncy53OwoJCXNldHRpbmdzLm1oID0gc2V0dGluZ3MuaDsKCQkKCQkvLyBSZS1ldmFsdWF0ZSB0aGUgbWluaW11bSB3aWR0aCBhbmQgaGVpZ2h0IGJhc2VkIG9uIG1heFdpZHRoIGFuZCBtYXhIZWlnaHQgdmFsdWVzLgoJCS8vIElmIHRoZSB3aWR0aCBvciBoZWlnaHQgZXhjZWVkIHRoZSBtYXhXaWR0aCBvciBtYXhIZWlnaHQsIHVzZSB0aGUgbWF4aW11bSB2YWx1ZXMgaW5zdGVhZC4KCQlpZiAoc2V0dGluZ3MubWF4V2lkdGgpIHsKCQkJc2V0dGluZ3MubXcgPSBzZXRTaXplKHNldHRpbmdzLm1heFdpZHRoLCAneCcpIC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aDsKCQkJc2V0dGluZ3MubXcgPSBzZXR0aW5ncy53ICYmIHNldHRpbmdzLncgPCBzZXR0aW5ncy5tdyA/IHNldHRpbmdzLncgOiBzZXR0aW5ncy5tdzsKCQl9CgkJaWYgKHNldHRpbmdzLm1heEhlaWdodCkgewoJCQlzZXR0aW5ncy5taCA9IHNldFNpemUoc2V0dGluZ3MubWF4SGVpZ2h0LCAneScpIC0gbG9hZGVkSGVpZ2h0IC0gaW50ZXJmYWNlSGVpZ2h0OwoJCQlzZXR0aW5ncy5taCA9IHNldHRpbmdzLmggJiYgc2V0dGluZ3MuaCA8IHNldHRpbmdzLm1oID8gc2V0dGluZ3MuaCA6IHNldHRpbmdzLm1oOwoJCX0KCQkKCQlocmVmID0gc2V0dGluZ3MuaHJlZjsKCQkKCQlsb2FkaW5nVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJJGxvYWRpbmdPdmVybGF5LnNob3coKS5hcHBlbmRUbygkY29udGVudCk7CgkJfSwgMTAwKTsKCQkKCQlpZiAoc2V0dGluZ3MuaW5saW5lKSB7CgkJCS8vIEluc2VydHMgYW4gZW1wdHkgcGxhY2Vob2xkZXIgd2hlcmUgaW5saW5lIGNvbnRlbnQgaXMgYmVpbmcgcHVsbGVkIGZyb20uCgkJCS8vIEFuIGV2ZW50IGlzIGJvdW5kIHRvIHB1dCBpbmxpbmUgY29udGVudCBiYWNrIHdoZW4gQ29sb3JCb3ggY2xvc2VzIG9yIGxvYWRzIG5ldyBjb250ZW50LgoJCQkkdGFnKGRpdikuaGlkZSgpLmluc2VydEJlZm9yZSgkKGhyZWYpWzBdKS5vbmUoZXZlbnRfcHVyZ2UsIGZ1bmN0aW9uICgpIHsKCQkJCSQodGhpcykucmVwbGFjZVdpdGgoJGxvYWRlZC5jaGlsZHJlbigpKTsKCQkJfSk7CgkJCXByZXAoJChocmVmKSk7CgkJfSBlbHNlIGlmIChzZXR0aW5ncy5pZnJhbWUpIHsKCQkJLy8gSUZyYW1lIGVsZW1lbnQgd29uJ3QgYmUgYWRkZWQgdG8gdGhlIERPTSB1bnRpbCBpdCBpcyByZWFkeSB0byBiZSBkaXNwbGF5ZWQsCgkJCS8vIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggRE9NLXJlYWR5IEpTIHRoYXQgbWlnaHQgYmUgdHJ5aW5nIHRvIHJ1biBpbiB0aGF0IGlmcmFtZS4KCQkJcHJlcCgiICIpOwoJCX0gZWxzZSBpZiAoc2V0dGluZ3MuaHRtbCkgewoJCQlwcmVwKHNldHRpbmdzLmh0bWwpOwoJCX0gZWxzZSBpZiAoaXNJbWFnZShocmVmKSkgewoJCQkkKHBob3RvID0gbmV3IEltYWdlKCkpCgkJCS5hZGRDbGFzcyhwcmVmaXggKyAnUGhvdG8nKQoJCQkuZXJyb3IoZnVuY3Rpb24gKCkgewoJCQkJc2V0dGluZ3MudGl0bGUgPSBmYWxzZTsKCQkJCXByZXAoJHRhZyhkaXYsICdFcnJvcicpLmh0bWwoc2V0dGluZ3MuaW1nRXJyb3IpKTsKCQkJfSkKCQkJLmxvYWQoZnVuY3Rpb24gKCkgewoJCQkJdmFyIHBlcmNlbnQ7CgkJCQlwaG90by5vbmxvYWQgPSBudWxsOyAvL3N0b3BzIGFuaW1hdGVkIGdpZnMgZnJvbSBmaXJpbmcgdGhlIG9ubG9hZCByZXBlYXRlZGx5LgoJCQkJCgkJCQlpZiAoc2V0dGluZ3Muc2NhbGVQaG90b3MpIHsKCQkJCQlzZXRSZXNpemUgPSBmdW5jdGlvbiAoKSB7CgkJCQkJCXBob3RvLmhlaWdodCAtPSBwaG90by5oZWlnaHQgKiBwZXJjZW50OwoJCQkJCQlwaG90by53aWR0aCAtPSBwaG90by53aWR0aCAqIHBlcmNlbnQ7CgkJCQkJfTsKCQkJCQlpZiAoc2V0dGluZ3MubXcgJiYgcGhvdG8ud2lkdGggPiBzZXR0aW5ncy5tdykgewoJCQkJCQlwZXJjZW50ID0gKHBob3RvLndpZHRoIC0gc2V0dGluZ3MubXcpIC8gcGhvdG8ud2lkdGg7CgkJCQkJCXNldFJlc2l6ZSgpOwoJCQkJCX0KCQkJCQlpZiAoc2V0dGluZ3MubWggJiYgcGhvdG8uaGVpZ2h0ID4gc2V0dGluZ3MubWgpIHsKCQkJCQkJcGVyY2VudCA9IChwaG90by5oZWlnaHQgLSBzZXR0aW5ncy5taCkgLyBwaG90by5oZWlnaHQ7CgkJCQkJCXNldFJlc2l6ZSgpOwoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJaWYgKHNldHRpbmdzLmgpIHsKCQkJCQlwaG90by5zdHlsZS5tYXJnaW5Ub3AgPSBNYXRoLm1heChzZXR0aW5ncy5oIC0gcGhvdG8uaGVpZ2h0LCAwKSAvIDIgKyAncHgnOwoJCQkJfQoJCQkJCgkJCQlpZiAoJHJlbGF0ZWRbMV0gJiYgKHNldHRpbmdzLmxvb3AgfHwgJHJlbGF0ZWRbaW5kZXggKyAxXSkpIHsKCQkJCQlwaG90by5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7CgkJCQkJcGhvdG8ub25jbGljayA9IGZ1bmN0aW9uICgpIHsKCQkJCQkJcHVibGljTWV0aG9kLm5leHQoKTsKCQkJCQl9OwoJCQkJfQoJCQkJCgkJCQlpZiAoaXNJRSkgewoJCQkJCXBob3RvLnN0eWxlLm1zSW50ZXJwb2xhdGlvbk1vZGUgPSAnYmljdWJpYyc7CgkJCQl9CgkJCQkKCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyAvLyBBIHBhdXNlIGJlY2F1c2UgQ2hyb21lIHdpbGwgc29tZXRpbWVzIHJlcG9ydCBhIDAgYnkgMCBzaXplIG90aGVyd2lzZS4KCQkJCQlwcmVwKHBob3RvKTsKCQkJCX0sIDEpOwoJCQl9KTsKCQkJCgkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyAvLyBBIHBhdXNlIGJlY2F1c2UgT3BlcmEgMTAuNisgd2lsbCBzb21ldGltZXMgbm90IHJ1biB0aGUgb25sb2FkIGZ1bmN0aW9uIG90aGVyd2lzZS4KCQkJCXBob3RvLnNyYyA9IGhyZWY7CgkJCX0sIDEpOwoJCX0gZWxzZSBpZiAoaHJlZikgewoJCQkkbG9hZGluZ0JheS5sb2FkKGhyZWYsIHNldHRpbmdzLmRhdGEsIGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIHhocikgewoJCQkJcHJlcChzdGF0dXMgPT09ICdlcnJvcicgPyAkdGFnKGRpdiwgJ0Vycm9yJykuaHRtbChzZXR0aW5ncy54aHJFcnJvcikgOiAkKHRoaXMpLmNvbnRlbnRzKCkpOwoJCQl9KTsKCQl9Cgl9OwoJCQoJLy8gTmF2aWdhdGVzIHRvIHRoZSBuZXh0IHBhZ2UvaW1hZ2UgaW4gYSBzZXQuCglwdWJsaWNNZXRob2QubmV4dCA9IGZ1bmN0aW9uICgpIHsKCQlpZiAoIWFjdGl2ZSAmJiAkcmVsYXRlZFsxXSAmJiAoc2V0dGluZ3MubG9vcCB8fCAkcmVsYXRlZFtpbmRleCArIDFdKSkgewoJCQlpbmRleCA9IGdldEluZGV4KDEpOwoJCQlwdWJsaWNNZXRob2QubG9hZCgpOwoJCX0KCX07CgkKCXB1YmxpY01ldGhvZC5wcmV2ID0gZnVuY3Rpb24gKCkgewoJCWlmICghYWN0aXZlICYmICRyZWxhdGVkWzFdICYmIChzZXR0aW5ncy5sb29wIHx8IGluZGV4KSkgewoJCQlpbmRleCA9IGdldEluZGV4KC0xKTsKCQkJcHVibGljTWV0aG9kLmxvYWQoKTsKCQl9Cgl9OwoKCS8vIE5vdGU6IHRvIHVzZSB0aGlzIHdpdGhpbiBhbiBpZnJhbWUgdXNlIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBwYXJlbnQuJC5mbi5jb2xvcmJveC5jbG9zZSgpOwoJcHVibGljTWV0aG9kLmNsb3NlID0gZnVuY3Rpb24gKCkgewoJCWlmIChvcGVuICYmICFjbG9zaW5nKSB7CgkJCQoJCQljbG9zaW5nID0gdHJ1ZTsKCQkJCgkJCW9wZW4gPSBmYWxzZTsKCQkJCgkJCXRyaWdnZXIoZXZlbnRfY2xlYW51cCwgc2V0dGluZ3Mub25DbGVhbnVwKTsKCQkJCgkJCSR3aW5kb3cudW5iaW5kKCcuJyArIHByZWZpeCArICcgLicgKyBldmVudF9pZTYpOwoJCQkKCQkJJG92ZXJsYXkuZmFkZVRvKDIwMCwgMCk7CgkJCQoJCQkkYm94LnN0b3AoKS5mYWRlVG8oMzAwLCAwLCBmdW5jdGlvbiAoKSB7CgkJCQoJCQkJJGJveC5hZGQoJG92ZXJsYXkpLmNzcyh7J29wYWNpdHknOiAxLCBjdXJzb3I6ICdhdXRvJ30pLmhpZGUoKTsKCQkJCQoJCQkJdHJpZ2dlcihldmVudF9wdXJnZSk7CgkJCQkKCQkJCSRsb2FkZWQucmVtb3ZlKCk7CgkJCQkKCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCWNsb3NpbmcgPSBmYWxzZTsKCQkJCQl0cmlnZ2VyKGV2ZW50X2Nsb3NlZCwgc2V0dGluZ3Mub25DbG9zZWQpOwoJCQkJfSwgMSk7CgkJCX0pOwoJCX0KCX07CgoJLy8gUmVtb3ZlcyBjaGFuZ2VzIENvbG9yQm94IG1hZGUgdG8gdGhlIGRvY3VtZW50LCBidXQgZG9lcyBub3QgcmVtb3ZlIHRoZSBwbHVnaW4KCS8vIGZyb20galF1ZXJ5LgoJcHVibGljTWV0aG9kLnJlbW92ZSA9IGZ1bmN0aW9uICgpIHsKCQkkKFtdKS5hZGQoJGJveCkuYWRkKCRvdmVybGF5KS5yZW1vdmUoKTsKCQkkYm94ID0gbnVsbDsKCQkkKCcuJyArIGJveEVsZW1lbnQpCgkJCS5yZW1vdmVEYXRhKGNvbG9yYm94KQoJCQkucmVtb3ZlQ2xhc3MoYm94RWxlbWVudCkKCQkJLmRpZSgpOwoJfTsKCgkvLyBBIG1ldGhvZCBmb3IgZmV0Y2hpbmcgdGhlIGN1cnJlbnQgZWxlbWVudCBDb2xvckJveCBpcyByZWZlcmVuY2luZy4KCS8vIHJldHVybnMgYSBqUXVlcnkgb2JqZWN0LgoJcHVibGljTWV0aG9kLmVsZW1lbnQgPSBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuICQoZWxlbWVudCk7Cgl9OwoKCXB1YmxpY01ldGhvZC5zZXR0aW5ncyA9IGRlZmF1bHRzOwoKfShqUXVlcnksIGRvY3VtZW50LCB0aGlzKSk7]]></data>
	</file>
	<file>
	  <filename>/framework/js/jquery.quicksearch.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKTGljZW5zZQpVbmRlciB0aGUgc2FtZSBsaWNlbnNlcyBhcyB0aGUgalF1ZXJ5IGxpYnJhcnkgaXRzZWxmOiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL0xpY2Vuc2UKQ3JlZGl0cwpqUXVlcnkgcXVpY2tzZWFyY2ggaXMgbWFkZSBieSBSaWsgTG9tYXMgYXQgTG9tYWxvZ3VlClRoYW5rcyB0byBTZXRoIEYuIGZvciBmaXhlcyBhbmQgS3J6eXNpZWsgR29qIGZvciB0aGUgdGVzdFF1ZXJ5IGFuZCBwcmVwYXJlUXVlcnkgb3B0aW9uIHVwZGF0ZXMKICovCgooZnVuY3Rpb24oYSxiLGMsZCl7YS5mbi5xdWlja3NlYXJjaD1mdW5jdGlvbihjLGQpe3ZhciBlLGYsZyxoLGk9IiIsaj10aGlzLGs9YS5leHRlbmQoe2RlbGF5OjEwMCxzZWxlY3RvcjpudWxsLHN0cmlwZVJvd3M6bnVsbCxsb2FkZXI6bnVsbCxub1Jlc3VsdHM6IiIsYmluZDoia2V5dXAiLG9uQmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJufSxvbkFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJufSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5kaXNwbGF5PSIifSxoaWRlOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIn0scHJlcGFyZVF1ZXJ5OmZ1bmN0aW9uKGEpe3JldHVybiBhLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiAiKX0sdGVzdFF1ZXJ5OmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrPTEpe2lmKGIuaW5kZXhPZihhW2RdKT09PS0xKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfX0sZCk7dGhpcy5nbz1mdW5jdGlvbigpe3ZhciBhPTAsYj10cnVlLGM9ay5wcmVwYXJlUXVlcnkoaSksZD1pLnJlcGxhY2UoIiAiLCIiKS5sZW5ndGg9PT0wO2Zvcih2YXIgYT0wLGU9Zy5sZW5ndGg7YTxlO2ErKyl7aWYoZHx8ay50ZXN0UXVlcnkoYyxmW2FdLGdbYV0pKXtrLnNob3cuYXBwbHkoZ1thXSk7Yj1mYWxzZX1lbHNle2suaGlkZS5hcHBseShnW2FdKX19aWYoYil7dGhpcy5yZXN1bHRzKGZhbHNlKX1lbHNle3RoaXMucmVzdWx0cyh0cnVlKTt0aGlzLnN0cmlwZSgpfXRoaXMubG9hZGVyKGZhbHNlKTtrLm9uQWZ0ZXIoKTtyZXR1cm4gdGhpc307dGhpcy5zdHJpcGU9ZnVuY3Rpb24oKXtpZih0eXBlb2Ygay5zdHJpcGVSb3dzPT09Im9iamVjdCImJmsuc3RyaXBlUm93cyE9PW51bGwpe3ZhciBiPWsuc3RyaXBlUm93cy5qb2luKCIgIik7dmFyIGM9ay5zdHJpcGVSb3dzLmxlbmd0aDtoLm5vdCgiOmhpZGRlbiIpLmVhY2goZnVuY3Rpb24oZCl7YSh0aGlzKS5yZW1vdmVDbGFzcyhiKS5hZGRDbGFzcyhrLnN0cmlwZVJvd3NbZCVjXSl9KX1yZXR1cm4gdGhpc307dGhpcy5zdHJpcF9odG1sPWZ1bmN0aW9uKGIpe3ZhciBjPWIucmVwbGFjZShuZXcgUmVnRXhwKCI8W148XSs+IiwiZyIpLCIiKTtjPWEudHJpbShjLnRvTG93ZXJDYXNlKCkpO3JldHVybiBjfTt0aGlzLnJlc3VsdHM9ZnVuY3Rpb24oYil7aWYodHlwZW9mIGsubm9SZXN1bHRzPT09InN0cmluZyImJmsubm9SZXN1bHRzIT09IiIpe2lmKGIpe2Eoay5ub1Jlc3VsdHMpLmhpZGUoKX1lbHNle2Eoay5ub1Jlc3VsdHMpLnNob3coKX19cmV0dXJuIHRoaXN9O3RoaXMubG9hZGVyPWZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBrLmxvYWRlcj09PSJzdHJpbmciJiZrLmxvYWRlciE9PSIiKXtiP2Eoay5sb2FkZXIpLnNob3coKTphKGsubG9hZGVyKS5oaWRlKCl9cmV0dXJuIHRoaXN9O3RoaXMuY2FjaGU9ZnVuY3Rpb24oKXtoPWEoYyk7aWYodHlwZW9mIGsubm9SZXN1bHRzPT09InN0cmluZyImJmsubm9SZXN1bHRzIT09IiIpe2g9aC5ub3Qoay5ub1Jlc3VsdHMpfXZhciBiPXR5cGVvZiBrLnNlbGVjdG9yPT09InN0cmluZyI/aC5maW5kKGsuc2VsZWN0b3IpOmEoYykubm90KGsubm9SZXN1bHRzKTtmPWIubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGouc3RyaXBfaHRtbCh0aGlzLmlubmVySFRNTCl9KTtnPWgubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KTtyZXR1cm4gdGhpcy5nbygpfTt0aGlzLnRyaWdnZXI9ZnVuY3Rpb24oKXt0aGlzLmxvYWRlcih0cnVlKTtrLm9uQmVmb3JlKCk7Yi5jbGVhclRpbWVvdXQoZSk7ZT1iLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmdvKCl9LGsuZGVsYXkpO3JldHVybiB0aGlzfTt0aGlzLmNhY2hlKCk7dGhpcy5yZXN1bHRzKHRydWUpO3RoaXMuc3RyaXBlKCk7dGhpcy5sb2FkZXIoZmFsc2UpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmJpbmQoay5iaW5kLGZ1bmN0aW9uKCl7aT1hKHRoaXMpLnZhbCgpO2oudHJpZ2dlcigpfSl9KX19KShqUXVlcnksdGhpcyxkb2N1bWVudCk=]]></data>
	</file>
	<file>
	  <filename>/framework/js/jquery.slug.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8KLy8gICAgICBqUXVlcnkgU2x1ZyBHZW5lcmF0aW9uIFBsdWdpbiBieSBQZXJyeSBUcmluaWVyIChwZXJyeXRyaW5pZXJAZ21haWwuY29tKQovLyAgTGljZW5zZWQgdW5kZXIgdGhlIEdQTDogaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCgpqUXVlcnkuZm4uc2x1ZyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgIHZhciBzZXR0aW5ncyA9IHsKICAgICAgICBzbHVnIDogJ3NsdWcnLCAvLyBDbGFzcyB1c2VkIGZvciBzbHVnIGRlc3RpbmF0aW9uIGlucHV0IGFuZCBzcGFuLiBUaGUgc3BhbiBpcyBjcmVhdGVkIG9uICQoZG9jdW1lbnQpLnJlYWR5KCkKICAgICAgICBoaWRlIDogdHJ1ZSwgLy8gQm9vbGVhbiAtIEJ5IGRlZmF1bHQgdGhlIHNsdWcgaW5wdXQgZmllbGQgaXMgaGlkZGVuLCBzZXQgdG8gZmFsc2UgdG8gc2hvdyB0aGUgaW5wdXQgZmllbGQgYW5kIGhpZGUgdGhlIHNwYW4uCiAgICAgICAgcHJlZml4IDogJycgLy8gcHJlZml4IGZvciBzbHVnIGlmIHNsdWcgaXMgbnVtZXJpYwogICAgfTsKCiAgICBpZiAob3B0aW9ucykgewogICAgICAgIGpRdWVyeS5leHRlbmQoc2V0dGluZ3MsIG9wdGlvbnMpOwogICAgfQoKICAgICR0aGlzID0galF1ZXJ5KHRoaXMpOwoKICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHNldHRpbmdzLmhpZGUpIHsKICAgICAgICAgICAgalF1ZXJ5KCdpbnB1dC4nICsgc2V0dGluZ3Muc2x1ZykuYWZ0ZXIoIjxzcGFuIGNsYXNzPSIgKyBzZXR0aW5ncy5zbHVnICsgIj48L3NwYW4+Iik7CiAgICAgICAgICAgIGpRdWVyeSgnaW5wdXQuJyArIHNldHRpbmdzLnNsdWcpLmhpZGUoKTsKICAgICAgICB9CiAgICB9KTsKCiAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzk5MDkwNC9qYXZhc2NyaXB0LXJlbW92ZS1hY2NlbnRzLWluLXN0cmluZ3MjYW5zd2VyLTU5MTI3NDYKICAgIHZhciBkZWZhdWx0RGlhY3JpdGljc1JlbW92YWxNYXAgPSBbewogICAgICAgICdiYXNlJyA6ICdBJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0MVx1MjRCNlx1RkYyMVx1MDBDMFx1MDBDMVx1MDBDMlx1MUVBNlx1MUVBNFx1MUVBQVx1MUVBOFx1MDBDM1x1MDEwMFx1MDEwMlx1MUVCMFx1MUVBRVx1MUVCNFx1MUVCMlx1MDIyNlx1MDFFMFx1MDBDNFx1MDFERVx1MUVBMlx1MDBDNVx1MDFGQVx1MDFDRFx1MDIwMFx1MDIwMlx1MUVBMFx1MUVBQ1x1MUVCNlx1MUUwMFx1MDEwNFx1MDIzQVx1MkM2Rl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdBQScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MzJdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnQUUnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMEM2XHUwMUZDXHUwMUUyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0FPJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczNF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdBVScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MzZdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnQVYnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzM4XHVBNzNBXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0FZJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczQ10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdCJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0Mlx1MjRCN1x1RkYyMlx1MUUwMlx1MUUwNFx1MUUwNlx1MDI0M1x1MDE4Mlx1MDE4MV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdDJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0M1x1MjRCOFx1RkYyM1x1MDEwNlx1MDEwOFx1MDEwQVx1MDEwQ1x1MDBDN1x1MUUwOFx1MDE4N1x1MDIzQlx1QTczRV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdEJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0NFx1MjRCOVx1RkYyNFx1MUUwQVx1MDEwRVx1MUUwQ1x1MUUxMFx1MUUxMlx1MUUwRVx1MDExMFx1MDE4Qlx1MDE4QVx1MDE4OVx1QTc3OV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdEWicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxRjFcdTAxQzRdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnRHonLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMUYyXHUwMUM1XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0UnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ1XHUyNEJBXHVGRjI1XHUwMEM4XHUwMEM5XHUwMENBXHUxRUMwXHUxRUJFXHUxRUM0XHUxRUMyXHUxRUJDXHUwMTEyXHUxRTE0XHUxRTE2XHUwMTE0XHUwMTE2XHUwMENCXHUxRUJBXHUwMTFBXHUwMjA0XHUwMjA2XHUxRUI4XHUxRUM2XHUwMjI4XHUxRTFDXHUwMTE4XHUxRTE4XHUxRTFBXHUwMTkwXHUwMThFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0YnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ2XHUyNEJCXHVGRjI2XHUxRTFFXHUwMTkxXHVBNzdCXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0cnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ3XHUyNEJDXHVGRjI3XHUwMUY0XHUwMTFDXHUxRTIwXHUwMTFFXHUwMTIwXHUwMUU2XHUwMTIyXHUwMUU0XHUwMTkzXHVBN0EwXHVBNzdEXHVBNzdFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0gnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ4XHUyNEJEXHVGRjI4XHUwMTI0XHUxRTIyXHUxRTI2XHUwMjFFXHUxRTI0XHUxRTI4XHUxRTJBXHUwMTI2XHUyQzY3XHUyQzc1XHVBNzhEXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0knLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ5XHUyNEJFXHVGRjI5XHUwMENDXHUwMENEXHUwMENFXHUwMTI4XHUwMTJBXHUwMTJDXHUwMTMwXHUwMENGXHUxRTJFXHUxRUM4XHUwMUNGXHUwMjA4XHUwMjBBXHUxRUNBXHUwMTJFXHUxRTJDXHUwMTk3XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0onLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDRBXHUyNEJGXHVGRjJBXHUwMTM0XHUwMjQ4XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0snLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDRCXHUyNEMwXHVGRjJCXHUxRTMwXHUwMUU4XHUxRTMyXHUwMTM2XHUxRTM0XHUwMTk4XHUyQzY5XHVBNzQwXHVBNzQyXHVBNzQ0XHVBN0EyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0wnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDRDXHUyNEMxXHVGRjJDXHUwMTNGXHUwMTM5XHUwMTNEXHUxRTM2XHUxRTM4XHUwMTNCXHUxRTNDXHUxRTNBXHUwMTQxXHUwMjNEXHUyQzYyXHUyQzYwXHVBNzQ4XHVBNzQ2XHVBNzgwXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0xKJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFDN10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdMaicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxQzhdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnTScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNERcdTI0QzJcdUZGMkRcdTFFM0VcdTFFNDBcdTFFNDJcdTJDNkVcdTAxOUNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnTicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNEVcdTI0QzNcdUZGMkVcdTAxRjhcdTAxNDNcdTAwRDFcdTFFNDRcdTAxNDdcdTFFNDZcdTAxNDVcdTFFNEFcdTFFNDhcdTAyMjBcdTAxOURcdUE3OTBcdUE3QTRdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnTkonLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMUNBXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ05qJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFDQl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdPJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0Rlx1MjRDNFx1RkYyRlx1MDBEMlx1MDBEM1x1MDBENFx1MUVEMlx1MUVEMFx1MUVENlx1MUVENFx1MDBENVx1MUU0Q1x1MDIyQ1x1MUU0RVx1MDE0Q1x1MUU1MFx1MUU1Mlx1MDE0RVx1MDIyRVx1MDIzMFx1MDBENlx1MDIyQVx1MUVDRVx1MDE1MFx1MDFEMVx1MDIwQ1x1MDIwRVx1MDFBMFx1MUVEQ1x1MUVEQVx1MUVFMFx1MUVERVx1MUVFMlx1MUVDQ1x1MUVEOFx1MDFFQVx1MDFFQ1x1MDBEOFx1MDFGRVx1MDE4Nlx1MDE5Rlx1QTc0QVx1QTc0Q10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdPSScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxQTJdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnT08nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzRFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ09VJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDIyMl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdQJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1MFx1MjRDNVx1RkYzMFx1MUU1NFx1MUU1Nlx1MDFBNFx1MkM2M1x1QTc1MFx1QTc1Mlx1QTc1NF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdRJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1MVx1MjRDNlx1RkYzMVx1QTc1Nlx1QTc1OFx1MDI0QV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdSJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1Mlx1MjRDN1x1RkYzMlx1MDE1NFx1MUU1OFx1MDE1OFx1MDIxMFx1MDIxMlx1MUU1QVx1MUU1Q1x1MDE1Nlx1MUU1RVx1MDI0Q1x1MkM2NFx1QTc1QVx1QTdBNlx1QTc4Ml0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdTJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1M1x1MjRDOFx1RkYzM1x1MUU5RVx1MDE1QVx1MUU2NFx1MDE1Q1x1MUU2MFx1MDE2MFx1MUU2Nlx1MUU2Mlx1MUU2OFx1MDIxOFx1MDE1RVx1MkM3RVx1QTdBOFx1QTc4NF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdUJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1NFx1MjRDOVx1RkYzNFx1MUU2QVx1MDE2NFx1MUU2Q1x1MDIxQVx1MDE2Mlx1MUU3MFx1MUU2RVx1MDE2Nlx1MDFBQ1x1MDFBRVx1MDIzRVx1QTc4Nl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdUWicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MjhdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnVScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNTVcdTI0Q0FcdUZGMzVcdTAwRDlcdTAwREFcdTAwREJcdTAxNjhcdTFFNzhcdTAxNkFcdTFFN0FcdTAxNkNcdTAwRENcdTAxREJcdTAxRDdcdTAxRDVcdTAxRDlcdTFFRTZcdTAxNkVcdTAxNzBcdTAxRDNcdTAyMTRcdTAyMTZcdTAxQUZcdTFFRUFcdTFFRThcdTFFRUVcdTFFRUNcdTFFRjBcdTFFRTRcdTFFNzJcdTAxNzJcdTFFNzZcdTFFNzRcdTAyNDRdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnVicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNTZcdTI0Q0JcdUZGMzZcdTFFN0NcdTFFN0VcdTAxQjJcdUE3NUVcdTAyNDVdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnVlknLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzYwXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1cnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDU3XHUyNENDXHVGRjM3XHUxRTgwXHUxRTgyXHUwMTc0XHUxRTg2XHUxRTg0XHUxRTg4XHUyQzcyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1gnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDU4XHUyNENEXHVGRjM4XHUxRThBXHUxRThDXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1knLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDU5XHUyNENFXHVGRjM5XHUxRUYyXHUwMEREXHUwMTc2XHUxRUY4XHUwMjMyXHUxRThFXHUwMTc4XHUxRUY2XHUxRUY0XHUwMUIzXHUwMjRFXHUxRUZFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1onLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDVBXHUyNENGXHVGRjNBXHUwMTc5XHUxRTkwXHUwMTdCXHUwMTdEXHUxRTkyXHUxRTk0XHUwMUI1XHUwMjI0XHUyQzdGXHUyQzZCXHVBNzYyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2EnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDYxXHUyNEQwXHVGRjQxXHUxRTlBXHUwMEUwXHUwMEUxXHUwMEUyXHUxRUE3XHUxRUE1XHUxRUFCXHUxRUE5XHUwMEUzXHUwMTAxXHUwMTAzXHUxRUIxXHUxRUFGXHUxRUI1XHUxRUIzXHUwMjI3XHUwMUUxXHUwMEU0XHUwMURGXHUxRUEzXHUwMEU1XHUwMUZCXHUwMUNFXHUwMjAxXHUwMjAzXHUxRUExXHUxRUFEXHUxRUI3XHUxRTAxXHUwMTA1XHUyQzY1XHUwMjUwXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2FhJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczM10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdhZScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwRTZcdTAxRkRcdTAxRTNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnYW8nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzM1XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2F1JywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczN10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdhdicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MzlcdUE3M0JdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnYXknLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzNEXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2InLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDYyXHUyNEQxXHVGRjQyXHUxRTAzXHUxRTA1XHUxRTA3XHUwMTgwXHUwMTgzXHUwMjUzXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2MnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDYzXHUyNEQyXHVGRjQzXHUwMTA3XHUwMTA5XHUwMTBCXHUwMTBEXHUwMEU3XHUxRTA5XHUwMTg4XHUwMjNDXHVBNzNGXHUyMTg0XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2QnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDY0XHUyNEQzXHVGRjQ0XHUxRTBCXHUwMTBGXHUxRTBEXHUxRTExXHUxRTEzXHUxRTBGXHUwMTExXHUwMThDXHUwMjU2XHUwMjU3XHVBNzdBXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2R6JywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFGM1x1MDFDNl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdlJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2NVx1MjRENFx1RkY0NVx1MDBFOFx1MDBFOVx1MDBFQVx1MUVDMVx1MUVCRlx1MUVDNVx1MUVDM1x1MUVCRFx1MDExM1x1MUUxNVx1MUUxN1x1MDExNVx1MDExN1x1MDBFQlx1MUVCQlx1MDExQlx1MDIwNVx1MDIwN1x1MUVCOVx1MUVDN1x1MDIyOVx1MUUxRFx1MDExOVx1MUUxOVx1MUUxQlx1MDI0N1x1MDI1Qlx1MDFERF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdmJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2Nlx1MjRENVx1RkY0Nlx1MUUxRlx1MDE5Mlx1QTc3Q10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdnJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2N1x1MjRENlx1RkY0N1x1MDFGNVx1MDExRFx1MUUyMVx1MDExRlx1MDEyMVx1MDFFN1x1MDEyM1x1MDFFNVx1MDI2MFx1QTdBMVx1MUQ3OVx1QTc3Rl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdoJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2OFx1MjREN1x1RkY0OFx1MDEyNVx1MUUyM1x1MUUyN1x1MDIxRlx1MUUyNVx1MUUyOVx1MUUyQlx1MUU5Nlx1MDEyN1x1MkM2OFx1MkM3Nlx1MDI2NV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdodicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxOTVdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnaScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNjlcdTI0RDhcdUZGNDlcdTAwRUNcdTAwRURcdTAwRUVcdTAxMjlcdTAxMkJcdTAxMkRcdTAwRUZcdTFFMkZcdTFFQzlcdTAxRDBcdTAyMDlcdTAyMEJcdTFFQ0JcdTAxMkZcdTFFMkRcdTAyNjhcdTAxMzFdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnaicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNkFcdTI0RDlcdUZGNEFcdTAxMzVcdTAxRjBcdTAyNDldL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnaycsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNkJcdTI0REFcdUZGNEJcdTFFMzFcdTAxRTlcdTFFMzNcdTAxMzdcdTFFMzVcdTAxOTlcdTJDNkFcdUE3NDFcdUE3NDNcdUE3NDVcdUE3QTNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnbCcsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNkNcdTI0REJcdUZGNENcdTAxNDBcdTAxM0FcdTAxM0VcdTFFMzdcdTFFMzlcdTAxM0NcdTFFM0RcdTFFM0JcdTAxN0ZcdTAxNDJcdTAxOUFcdTAyNkJcdTJDNjFcdUE3NDlcdUE3ODFcdUE3NDddL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnbGonLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMUM5XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ20nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDZEXHUyNERDXHVGRjREXHUxRTNGXHUxRTQxXHUxRTQzXHUwMjcxXHUwMjZGXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ24nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDZFXHUyNEREXHVGRjRFXHUwMUY5XHUwMTQ0XHUwMEYxXHUxRTQ1XHUwMTQ4XHUxRTQ3XHUwMTQ2XHUxRTRCXHUxRTQ5XHUwMTlFXHUwMjcyXHUwMTQ5XHVBNzkxXHVBN0E1XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ25qJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFDQ10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdvJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2Rlx1MjRERVx1RkY0Rlx1MDBGMlx1MDBGM1x1MDBGNFx1MUVEM1x1MUVEMVx1MUVEN1x1MUVENVx1MDBGNVx1MUU0RFx1MDIyRFx1MUU0Rlx1MDE0RFx1MUU1MVx1MUU1M1x1MDE0Rlx1MDIyRlx1MDIzMVx1MDBGNlx1MDIyQlx1MUVDRlx1MDE1MVx1MDFEMlx1MDIwRFx1MDIwRlx1MDFBMVx1MUVERFx1MUVEQlx1MUVFMVx1MUVERlx1MUVFM1x1MUVDRFx1MUVEOVx1MDFFQlx1MDFFRFx1MDBGOFx1MDFGRlx1MDI1NFx1QTc0Qlx1QTc0RFx1MDI3NV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdvaScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxQTNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnb3UnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMjIzXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ29vJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTc0Rl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdwJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3MFx1MjRERlx1RkY1MFx1MUU1NVx1MUU1N1x1MDFBNVx1MUQ3RFx1QTc1MVx1QTc1M1x1QTc1NV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdxJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3MVx1MjRFMFx1RkY1MVx1MDI0Qlx1QTc1N1x1QTc1OV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdyJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3Mlx1MjRFMVx1RkY1Mlx1MDE1NVx1MUU1OVx1MDE1OVx1MDIxMVx1MDIxM1x1MUU1Qlx1MUU1RFx1MDE1N1x1MUU1Rlx1MDI0RFx1MDI3RFx1QTc1Qlx1QTdBN1x1QTc4M10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdzJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3M1x1MjRFMlx1RkY1M1x1MDBERlx1MDE1Qlx1MUU2NVx1MDE1RFx1MUU2MVx1MDE2MVx1MUU2N1x1MUU2M1x1MUU2OVx1MDIxOVx1MDE1Rlx1MDIzRlx1QTdBOVx1QTc4NVx1MUU5Ql0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICd0JywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3NFx1MjRFM1x1RkY1NFx1MUU2Qlx1MUU5N1x1MDE2NVx1MUU2RFx1MDIxQlx1MDE2M1x1MUU3MVx1MUU2Rlx1MDE2N1x1MDFBRFx1MDI4OFx1MkM2Nlx1QTc4N10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICd0eicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MjldL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAndScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNzVcdTI0RTRcdUZGNTVcdTAwRjlcdTAwRkFcdTAwRkJcdTAxNjlcdTFFNzlcdTAxNkJcdTFFN0JcdTAxNkRcdTAwRkNcdTAxRENcdTAxRDhcdTAxRDZcdTAxREFcdTFFRTdcdTAxNkZcdTAxNzFcdTAxRDRcdTAyMTVcdTAyMTdcdTAxQjBcdTFFRUJcdTFFRTlcdTFFRUZcdTFFRURcdTFFRjFcdTFFRTVcdTFFNzNcdTAxNzNcdTFFNzdcdTFFNzVcdTAyODldL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAndicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNzZcdTI0RTVcdUZGNTZcdTFFN0RcdTFFN0ZcdTAyOEJcdUE3NUZcdTAyOENdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAndnknLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzYxXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3cnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDc3XHUyNEU2XHVGRjU3XHUxRTgxXHUxRTgzXHUwMTc1XHUxRTg3XHUxRTg1XHUxRTk4XHUxRTg5XHUyQzczXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3gnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDc4XHUyNEU3XHVGRjU4XHUxRThCXHUxRThEXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3knLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDc5XHUyNEU4XHVGRjU5XHUxRUYzXHUwMEZEXHUwMTc3XHUxRUY5XHUwMjMzXHUxRThGXHUwMEZGXHUxRUY3XHUxRTk5XHUxRUY1XHUwMUI0XHUwMjRGXHUxRUZGXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3onLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDdBXHUyNEU5XHVGRjVBXHUwMTdBXHUxRTkxXHUwMTdDXHUwMTdFXHUxRTkzXHUxRTk1XHUwMUI2XHUwMjI1XHUwMjQwXHUyQzZDXHVBNzYzXS9nCiAgICB9XTsKCiAgICB2YXIgY2hhbmdlczsKCiAgICBmdW5jdGlvbiByZW1vdmVEaWFjcml0aWNzKHN0cikgewogICAgICAgIGlmICghY2hhbmdlcykgewogICAgICAgICAgICBjaGFuZ2VzID0gZGVmYXVsdERpYWNyaXRpY3NSZW1vdmFsTWFwOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoY2hhbmdlc1tpXS5sZXR0ZXJzLCBjaGFuZ2VzW2ldLmJhc2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gc3RyOwogICAgfQoKICAgIG1ha2VTbHVnID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHNsdWdjb250ZW50ID0galF1ZXJ5LnRyaW0ocmVtb3ZlRGlhY3JpdGljcygkdGhpcy52YWwoKSkpLAogICAgICAgICAgICBzbHVnY29udGVudF9oeXBoZW5zID0gc2x1Z2NvbnRlbnQucmVwbGFjZSgvXHMvZywgJy0nKSwKICAgICAgICAgICAgZmluaXNoZWRzbHVnID0gc2x1Z2NvbnRlbnRfaHlwaGVucy5yZXBsYWNlKC9bXmEtekEtWjAtOVwtXS9nLCAnLScpLAogICAgICAgICAgICBmaW5pc2hlZHNsdWcgPSBmaW5pc2hlZHNsdWcucmVwbGFjZSgvWy1dezIsfS9nLCAnLScpLAogICAgICAgICAgICBmaW5pc2hlZHNsdWcgPSBmaW5pc2hlZHNsdWcucmVwbGFjZSgvKF5bLV0pfChbLV0kKS9nLCAnJyk7CgogICAgICAgIGlmIChzZXR0aW5ncy5wcmVmaXggJiYgJC5pc051bWVyaWMoZmluaXNoZWRzbHVnKSkgewogICAgICAgICAgICBqUXVlcnkoJ2lucHV0LicgKyBzZXR0aW5ncy5zbHVnKS52YWwoc2V0dGluZ3MucHJlZml4ICsgZmluaXNoZWRzbHVnLnRvTG93ZXJDYXNlKCkpOwogICAgICAgICAgICBqUXVlcnkoJ3NwYW4uJyArIHNldHRpbmdzLnNsdWcpLnRleHQoc2V0dGluZ3MucHJlZml4ICsgZmluaXNoZWRzbHVnLnRvTG93ZXJDYXNlKCkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGpRdWVyeSgnaW5wdXQuJyArIHNldHRpbmdzLnNsdWcpLnZhbChmaW5pc2hlZHNsdWcudG9Mb3dlckNhc2UoKSk7CiAgICAgICAgICAgIGpRdWVyeSgnc3Bhbi4nICsgc2V0dGluZ3Muc2x1ZykudGV4dChmaW5pc2hlZHNsdWcudG9Mb3dlckNhc2UoKSk7CiAgICAgICAgfQogICAgfQoKICAgIGpRdWVyeSh0aGlzKS5rZXl1cChtYWtlU2x1Zyk7CgogICAgcmV0dXJuICR0aGlzOwp9Owo=]]></data>
	</file>
	<file>
	  <filename>/framework/js/jquery.tablesorter.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKCQpeyQuZXh0ZW5kKHt0YWJsZXNvcnRlcjpuZXcKZnVuY3Rpb24oKXt2YXIgcGFyc2Vycz1bXSx3aWRnZXRzPVtdO3RoaXMuZGVmYXVsdHM9e2Nzc0hlYWRlcjoiaGVhZGVyIixjc3NBc2M6ImhlYWRlclNvcnRVcCIsY3NzRGVzYzoiaGVhZGVyU29ydERvd24iLGNzc0NoaWxkUm93OiJleHBhbmQtY2hpbGQiLHNvcnRJbml0aWFsT3JkZXI6ImFzYyIsc29ydE11bHRpU29ydEtleToic2hpZnRLZXkiLHNvcnRGb3JjZTpudWxsLHNvcnRBcHBlbmQ6bnVsbCxzb3J0TG9jYWxlQ29tcGFyZTp0cnVlLHRleHRFeHRyYWN0aW9uOiJzaW1wbGUiLHBhcnNlcnM6e30sd2lkZ2V0czpbXSx3aWRnZXRaZWJyYTp7Y3NzOlsiZXZlbiIsIm9kZCJdfSxoZWFkZXJzOnt9LHdpZHRoRml4ZWQ6ZmFsc2UsY2FuY2VsU2VsZWN0aW9uOnRydWUsc29ydExpc3Q6W10saGVhZGVyTGlzdDpbXSxkYXRlRm9ybWF0OiJ1cyIsZGVjaW1hbDonL1wufFwsL2cnLG9uUmVuZGVySGVhZGVyOm51bGwsc2VsZWN0b3JIZWFkZXJzOid0aGVhZCB0aCcsZGVidWc6ZmFsc2V9O2Z1bmN0aW9uIGJlbmNobWFyayhzLGQpe2xvZyhzKyIsIisobmV3IERhdGUoKS5nZXRUaW1lKCktZC5nZXRUaW1lKCkpKyJtcyIpO310aGlzLmJlbmNobWFyaz1iZW5jaG1hcms7ZnVuY3Rpb24gbG9nKHMpe2lmKHR5cGVvZiBjb25zb2xlIT0idW5kZWZpbmVkIiYmdHlwZW9mIGNvbnNvbGUuZGVidWchPSJ1bmRlZmluZWQiKXtjb25zb2xlLmxvZyhzKTt9ZWxzZXthbGVydChzKTt9fWZ1bmN0aW9uIGJ1aWxkUGFyc2VyQ2FjaGUodGFibGUsJGhlYWRlcnMpe2lmKHRhYmxlLmNvbmZpZy5kZWJ1Zyl7dmFyIHBhcnNlcnNEZWJ1Zz0iIjt9aWYodGFibGUudEJvZGllcy5sZW5ndGg9PTApcmV0dXJuO3ZhciByb3dzPXRhYmxlLnRCb2RpZXNbMF0ucm93cztpZihyb3dzWzBdKXt2YXIgbGlzdD1bXSxjZWxscz1yb3dzWzBdLmNlbGxzLGw9Y2VsbHMubGVuZ3RoO2Zvcih2YXIgaT0wO2k8bDtpKyspe3ZhciBwPWZhbHNlO2lmKCQubWV0YWRhdGEmJigkKCRoZWFkZXJzW2ldKS5tZXRhZGF0YSgpJiYkKCRoZWFkZXJzW2ldKS5tZXRhZGF0YSgpLnNvcnRlcikpe3A9Z2V0UGFyc2VyQnlJZCgkKCRoZWFkZXJzW2ldKS5tZXRhZGF0YSgpLnNvcnRlcik7fWVsc2UgaWYoKHRhYmxlLmNvbmZpZy5oZWFkZXJzW2ldJiZ0YWJsZS5jb25maWcuaGVhZGVyc1tpXS5zb3J0ZXIpKXtwPWdldFBhcnNlckJ5SWQodGFibGUuY29uZmlnLmhlYWRlcnNbaV0uc29ydGVyKTt9aWYoIXApe3A9ZGV0ZWN0UGFyc2VyRm9yQ29sdW1uKHRhYmxlLHJvd3MsLTEsaSk7fWlmKHRhYmxlLmNvbmZpZy5kZWJ1Zyl7cGFyc2Vyc0RlYnVnKz0iY29sdW1uOiIraSsiIHBhcnNlcjoiK3AuaWQrIlxuIjt9bGlzdC5wdXNoKHApO319aWYodGFibGUuY29uZmlnLmRlYnVnKXtsb2cocGFyc2Vyc0RlYnVnKTt9cmV0dXJuIGxpc3Q7fTtmdW5jdGlvbiBkZXRlY3RQYXJzZXJGb3JDb2x1bW4odGFibGUscm93cyxyb3dJbmRleCxjZWxsSW5kZXgpe3ZhciBsPXBhcnNlcnMubGVuZ3RoLG5vZGU9ZmFsc2Usbm9kZVZhbHVlPWZhbHNlLGtlZXBMb29raW5nPXRydWU7d2hpbGUobm9kZVZhbHVlPT0nJyYma2VlcExvb2tpbmcpe3Jvd0luZGV4Kys7aWYocm93c1tyb3dJbmRleF0pe25vZGU9Z2V0Tm9kZUZyb21Sb3dBbmRDZWxsSW5kZXgocm93cyxyb3dJbmRleCxjZWxsSW5kZXgpO25vZGVWYWx1ZT10cmltQW5kR2V0Tm9kZVRleHQodGFibGUuY29uZmlnLG5vZGUpO2lmKHRhYmxlLmNvbmZpZy5kZWJ1Zyl7bG9nKCdDaGVja2luZyBpZiB2YWx1ZSB3YXMgZW1wdHkgb24gcm93Oicrcm93SW5kZXgpO319ZWxzZXtrZWVwTG9va2luZz1mYWxzZTt9fWZvcih2YXIgaT0xO2k8bDtpKyspe2lmKHBhcnNlcnNbaV0uaXMobm9kZVZhbHVlLHRhYmxlLG5vZGUpKXtyZXR1cm4gcGFyc2Vyc1tpXTt9fXJldHVybiBwYXJzZXJzWzBdO31mdW5jdGlvbiBnZXROb2RlRnJvbVJvd0FuZENlbGxJbmRleChyb3dzLHJvd0luZGV4LGNlbGxJbmRleCl7cmV0dXJuIHJvd3Nbcm93SW5kZXhdLmNlbGxzW2NlbGxJbmRleF07fWZ1bmN0aW9uIHRyaW1BbmRHZXROb2RlVGV4dChjb25maWcsbm9kZSl7cmV0dXJuICQudHJpbShnZXRFbGVtZW50VGV4dChjb25maWcsbm9kZSkpO31mdW5jdGlvbiBnZXRQYXJzZXJCeUlkKG5hbWUpe3ZhciBsPXBhcnNlcnMubGVuZ3RoO2Zvcih2YXIgaT0wO2k8bDtpKyspe2lmKHBhcnNlcnNbaV0uaWQudG9Mb3dlckNhc2UoKT09bmFtZS50b0xvd2VyQ2FzZSgpKXtyZXR1cm4gcGFyc2Vyc1tpXTt9fXJldHVybiBmYWxzZTt9ZnVuY3Rpb24gYnVpbGRDYWNoZSh0YWJsZSl7aWYodGFibGUuY29uZmlnLmRlYnVnKXt2YXIgY2FjaGVUaW1lPW5ldyBEYXRlKCk7fXZhciB0b3RhbFJvd3M9KHRhYmxlLnRCb2RpZXNbMF0mJnRhYmxlLnRCb2RpZXNbMF0ucm93cy5sZW5ndGgpfHwwLHRvdGFsQ2VsbHM9KHRhYmxlLnRCb2RpZXNbMF0ucm93c1swXSYmdGFibGUudEJvZGllc1swXS5yb3dzWzBdLmNlbGxzLmxlbmd0aCl8fDAscGFyc2Vycz10YWJsZS5jb25maWcucGFyc2VycyxjYWNoZT17cm93OltdLG5vcm1hbGl6ZWQ6W119O2Zvcih2YXIgaT0wO2k8dG90YWxSb3dzOysraSl7dmFyIGM9JCh0YWJsZS50Qm9kaWVzWzBdLnJvd3NbaV0pLGNvbHM9W107aWYoYy5oYXNDbGFzcyh0YWJsZS5jb25maWcuY3NzQ2hpbGRSb3cpKXtjYWNoZS5yb3dbY2FjaGUucm93Lmxlbmd0aC0xXT1jYWNoZS5yb3dbY2FjaGUucm93Lmxlbmd0aC0xXS5hZGQoYyk7Y29udGludWU7fWNhY2hlLnJvdy5wdXNoKGMpO2Zvcih2YXIgaj0wO2o8dG90YWxDZWxsczsrK2ope2NvbHMucHVzaChwYXJzZXJzW2pdLmZvcm1hdChnZXRFbGVtZW50VGV4dCh0YWJsZS5jb25maWcsY1swXS5jZWxsc1tqXSksdGFibGUsY1swXS5jZWxsc1tqXSkpO31jb2xzLnB1c2goY2FjaGUubm9ybWFsaXplZC5sZW5ndGgpO2NhY2hlLm5vcm1hbGl6ZWQucHVzaChjb2xzKTtjb2xzPW51bGw7fTtpZih0YWJsZS5jb25maWcuZGVidWcpe2JlbmNobWFyaygiQnVpbGRpbmcgY2FjaGUgZm9yICIrdG90YWxSb3dzKyIgcm93czoiLGNhY2hlVGltZSk7fXJldHVybiBjYWNoZTt9O2Z1bmN0aW9uIGdldEVsZW1lbnRUZXh0KGNvbmZpZyxub2RlKXt2YXIgdGV4dD0iIjtpZighbm9kZSlyZXR1cm4iIjtpZighY29uZmlnLnN1cHBvcnRzVGV4dENvbnRlbnQpY29uZmlnLnN1cHBvcnRzVGV4dENvbnRlbnQ9bm9kZS50ZXh0Q29udGVudHx8ZmFsc2U7aWYoY29uZmlnLnRleHRFeHRyYWN0aW9uPT0ic2ltcGxlIil7aWYoY29uZmlnLnN1cHBvcnRzVGV4dENvbnRlbnQpe3RleHQ9bm9kZS50ZXh0Q29udGVudDt9ZWxzZXtpZihub2RlLmNoaWxkTm9kZXNbMF0mJm5vZGUuY2hpbGROb2Rlc1swXS5oYXNDaGlsZE5vZGVzKCkpe3RleHQ9bm9kZS5jaGlsZE5vZGVzWzBdLmlubmVySFRNTDt9ZWxzZXt0ZXh0PW5vZGUuaW5uZXJIVE1MO319fWVsc2V7aWYodHlwZW9mKGNvbmZpZy50ZXh0RXh0cmFjdGlvbik9PSJmdW5jdGlvbiIpe3RleHQ9Y29uZmlnLnRleHRFeHRyYWN0aW9uKG5vZGUpO31lbHNle3RleHQ9JChub2RlKS50ZXh0KCk7fX1yZXR1cm4gdGV4dDt9ZnVuY3Rpb24gYXBwZW5kVG9UYWJsZSh0YWJsZSxjYWNoZSl7aWYodGFibGUuY29uZmlnLmRlYnVnKXt2YXIgYXBwZW5kVGltZT1uZXcgRGF0ZSgpfXZhciBjPWNhY2hlLHI9Yy5yb3csbj1jLm5vcm1hbGl6ZWQsdG90YWxSb3dzPW4ubGVuZ3RoLGNoZWNrQ2VsbD0oblswXS5sZW5ndGgtMSksdGFibGVCb2R5PSQodGFibGUudEJvZGllc1swXSkscm93cz1bXTtmb3IodmFyIGk9MDtpPHRvdGFsUm93cztpKyspe3ZhciBwb3M9bltpXVtjaGVja0NlbGxdO3Jvd3MucHVzaChyW3Bvc10pO2lmKCF0YWJsZS5jb25maWcuYXBwZW5kZXIpe3ZhciBsPXJbcG9zXS5sZW5ndGg7Zm9yKHZhciBqPTA7ajxsO2orKyl7dGFibGVCb2R5WzBdLmFwcGVuZENoaWxkKHJbcG9zXVtqXSk7fX19aWYodGFibGUuY29uZmlnLmFwcGVuZGVyKXt0YWJsZS5jb25maWcuYXBwZW5kZXIodGFibGUscm93cyk7fXJvd3M9bnVsbDtpZih0YWJsZS5jb25maWcuZGVidWcpe2JlbmNobWFyaygiUmVidWlsdCB0YWJsZToiLGFwcGVuZFRpbWUpO31hcHBseVdpZGdldCh0YWJsZSk7c2V0VGltZW91dChmdW5jdGlvbigpeyQodGFibGUpLnRyaWdnZXIoInNvcnRFbmQiKTt9LDApO307ZnVuY3Rpb24gYnVpbGRIZWFkZXJzKHRhYmxlKXtpZih0YWJsZS5jb25maWcuZGVidWcpe3ZhciB0aW1lPW5ldyBEYXRlKCk7fXZhciBtZXRhPSgkLm1ldGFkYXRhKT90cnVlOmZhbHNlO3ZhciBoZWFkZXJfaW5kZXg9Y29tcHV0ZVRhYmxlSGVhZGVyQ2VsbEluZGV4ZXModGFibGUpOyR0YWJsZUhlYWRlcnM9JCh0YWJsZS5jb25maWcuc2VsZWN0b3JIZWFkZXJzLHRhYmxlKS5lYWNoKGZ1bmN0aW9uKGluZGV4KXt0aGlzLmNvbHVtbj1oZWFkZXJfaW5kZXhbdGhpcy5wYXJlbnROb2RlLnJvd0luZGV4KyItIit0aGlzLmNlbGxJbmRleF07dGhpcy5vcmRlcj1mb3JtYXRTb3J0aW5nT3JkZXIodGFibGUuY29uZmlnLnNvcnRJbml0aWFsT3JkZXIpO3RoaXMuY291bnQ9dGhpcy5vcmRlcjtpZihjaGVja0hlYWRlck1ldGFkYXRhKHRoaXMpfHxjaGVja0hlYWRlck9wdGlvbnModGFibGUsaW5kZXgpKXRoaXMuc29ydERpc2FibGVkPXRydWU7aWYoY2hlY2tIZWFkZXJPcHRpb25zU29ydGluZ0xvY2tlZCh0YWJsZSxpbmRleCkpdGhpcy5vcmRlcj10aGlzLmxvY2tlZE9yZGVyPWNoZWNrSGVhZGVyT3B0aW9uc1NvcnRpbmdMb2NrZWQodGFibGUsaW5kZXgpO2lmKCF0aGlzLnNvcnREaXNhYmxlZCl7dmFyICR0aD0kKHRoaXMpLmFkZENsYXNzKHRhYmxlLmNvbmZpZy5jc3NIZWFkZXIpO2lmKHRhYmxlLmNvbmZpZy5vblJlbmRlckhlYWRlcil0YWJsZS5jb25maWcub25SZW5kZXJIZWFkZXIuYXBwbHkoJHRoKTt9dGFibGUuY29uZmlnLmhlYWRlckxpc3RbaW5kZXhdPXRoaXM7fSk7aWYodGFibGUuY29uZmlnLmRlYnVnKXtiZW5jaG1hcmsoIkJ1aWx0IGhlYWRlcnM6Iix0aW1lKTtsb2coJHRhYmxlSGVhZGVycyk7fXJldHVybiAkdGFibGVIZWFkZXJzO307ZnVuY3Rpb24gY29tcHV0ZVRhYmxlSGVhZGVyQ2VsbEluZGV4ZXModCl7dmFyIG1hdHJpeD1bXTt2YXIgbG9va3VwPXt9O3ZhciB0aGVhZD10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdUSEVBRCcpWzBdO3ZhciB0cnM9dGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ1RSJyk7Zm9yKHZhciBpPTA7aTx0cnMubGVuZ3RoO2krKyl7dmFyIGNlbGxzPXRyc1tpXS5jZWxscztmb3IodmFyIGo9MDtqPGNlbGxzLmxlbmd0aDtqKyspe3ZhciBjPWNlbGxzW2pdO3ZhciByb3dJbmRleD1jLnBhcmVudE5vZGUucm93SW5kZXg7dmFyIGNlbGxJZD1yb3dJbmRleCsiLSIrYy5jZWxsSW5kZXg7dmFyIHJvd1NwYW49Yy5yb3dTcGFufHwxO3ZhciBjb2xTcGFuPWMuY29sU3Bhbnx8MQp2YXIgZmlyc3RBdmFpbENvbDtpZih0eXBlb2YobWF0cml4W3Jvd0luZGV4XSk9PSJ1bmRlZmluZWQiKXttYXRyaXhbcm93SW5kZXhdPVtdO31mb3IodmFyIGs9MDtrPG1hdHJpeFtyb3dJbmRleF0ubGVuZ3RoKzE7aysrKXtpZih0eXBlb2YobWF0cml4W3Jvd0luZGV4XVtrXSk9PSJ1bmRlZmluZWQiKXtmaXJzdEF2YWlsQ29sPWs7YnJlYWs7fX1sb29rdXBbY2VsbElkXT1maXJzdEF2YWlsQ29sO2Zvcih2YXIgaz1yb3dJbmRleDtrPHJvd0luZGV4K3Jvd1NwYW47aysrKXtpZih0eXBlb2YobWF0cml4W2tdKT09InVuZGVmaW5lZCIpe21hdHJpeFtrXT1bXTt9dmFyIG1hdHJpeHJvdz1tYXRyaXhba107Zm9yKHZhciBsPWZpcnN0QXZhaWxDb2w7bDxmaXJzdEF2YWlsQ29sK2NvbFNwYW47bCsrKXttYXRyaXhyb3dbbF09IngiO319fX1yZXR1cm4gbG9va3VwO31mdW5jdGlvbiBjaGVja0NlbGxDb2xTcGFuKHRhYmxlLHJvd3Mscm93KXt2YXIgYXJyPVtdLHI9dGFibGUudEhlYWQucm93cyxjPXJbcm93XS5jZWxscztmb3IodmFyIGk9MDtpPGMubGVuZ3RoO2krKyl7dmFyIGNlbGw9Y1tpXTtpZihjZWxsLmNvbFNwYW4+MSl7YXJyPWFyci5jb25jYXQoY2hlY2tDZWxsQ29sU3Bhbih0YWJsZSxoZWFkZXJBcnIscm93KyspKTt9ZWxzZXtpZih0YWJsZS50SGVhZC5sZW5ndGg9PTF8fChjZWxsLnJvd1NwYW4+MXx8IXJbcm93KzFdKSl7YXJyLnB1c2goY2VsbCk7fX19cmV0dXJuIGFycjt9O2Z1bmN0aW9uIGNoZWNrSGVhZGVyTWV0YWRhdGEoY2VsbCl7aWYoKCQubWV0YWRhdGEpJiYoJChjZWxsKS5tZXRhZGF0YSgpLnNvcnRlcj09PWZhbHNlKSl7cmV0dXJuIHRydWU7fTtyZXR1cm4gZmFsc2U7fWZ1bmN0aW9uIGNoZWNrSGVhZGVyT3B0aW9ucyh0YWJsZSxpKXtpZigodGFibGUuY29uZmlnLmhlYWRlcnNbaV0pJiYodGFibGUuY29uZmlnLmhlYWRlcnNbaV0uc29ydGVyPT09ZmFsc2UpKXtyZXR1cm4gdHJ1ZTt9O3JldHVybiBmYWxzZTt9ZnVuY3Rpb24gY2hlY2tIZWFkZXJPcHRpb25zU29ydGluZ0xvY2tlZCh0YWJsZSxpKXtpZigodGFibGUuY29uZmlnLmhlYWRlcnNbaV0pJiYodGFibGUuY29uZmlnLmhlYWRlcnNbaV0ubG9ja2VkT3JkZXIpKXJldHVybiB0YWJsZS5jb25maWcuaGVhZGVyc1tpXS5sb2NrZWRPcmRlcjtyZXR1cm4gZmFsc2U7fWZ1bmN0aW9uIGFwcGx5V2lkZ2V0KHRhYmxlKXt2YXIgYz10YWJsZS5jb25maWcud2lkZ2V0czt2YXIgbD1jLmxlbmd0aDtmb3IodmFyIGk9MDtpPGw7aSsrKXtnZXRXaWRnZXRCeUlkKGNbaV0pLmZvcm1hdCh0YWJsZSk7fX1mdW5jdGlvbiBnZXRXaWRnZXRCeUlkKG5hbWUpe3ZhciBsPXdpZGdldHMubGVuZ3RoO2Zvcih2YXIgaT0wO2k8bDtpKyspe2lmKHdpZGdldHNbaV0uaWQudG9Mb3dlckNhc2UoKT09bmFtZS50b0xvd2VyQ2FzZSgpKXtyZXR1cm4gd2lkZ2V0c1tpXTt9fX07ZnVuY3Rpb24gZm9ybWF0U29ydGluZ09yZGVyKHYpe2lmKHR5cGVvZih2KSE9Ik51bWJlciIpe3JldHVybih2LnRvTG93ZXJDYXNlKCk9PSJkZXNjIik/MTowO31lbHNle3JldHVybih2PT0xKT8xOjA7fX1mdW5jdGlvbiBpc1ZhbHVlSW5BcnJheSh2LGEpe3ZhciBsPWEubGVuZ3RoO2Zvcih2YXIgaT0wO2k8bDtpKyspe2lmKGFbaV1bMF09PXYpe3JldHVybiB0cnVlO319cmV0dXJuIGZhbHNlO31mdW5jdGlvbiBzZXRIZWFkZXJzQ3NzKHRhYmxlLCRoZWFkZXJzLGxpc3QsY3NzKXskaGVhZGVycy5yZW1vdmVDbGFzcyhjc3NbMF0pLnJlbW92ZUNsYXNzKGNzc1sxXSk7dmFyIGg9W107JGhlYWRlcnMuZWFjaChmdW5jdGlvbihvZmZzZXQpe2lmKCF0aGlzLnNvcnREaXNhYmxlZCl7aFt0aGlzLmNvbHVtbl09JCh0aGlzKTt9fSk7dmFyIGw9bGlzdC5sZW5ndGg7Zm9yKHZhciBpPTA7aTxsO2krKyl7aFtsaXN0W2ldWzBdXS5hZGRDbGFzcyhjc3NbbGlzdFtpXVsxXV0pO319ZnVuY3Rpb24gZml4Q29sdW1uV2lkdGgodGFibGUsJGhlYWRlcnMpe3ZhciBjPXRhYmxlLmNvbmZpZztpZihjLndpZHRoRml4ZWQpe3ZhciBjb2xncm91cD0kKCc8Y29sZ3JvdXA+Jyk7JCgidHI6Zmlyc3QgdGQiLHRhYmxlLnRCb2RpZXNbMF0pLmVhY2goZnVuY3Rpb24oKXtjb2xncm91cC5hcHBlbmQoJCgnPGNvbD4nKS5jc3MoJ3dpZHRoJywkKHRoaXMpLndpZHRoKCkpKTt9KTskKHRhYmxlKS5wcmVwZW5kKGNvbGdyb3VwKTt9O31mdW5jdGlvbiB1cGRhdGVIZWFkZXJTb3J0Q291bnQodGFibGUsc29ydExpc3Qpe3ZhciBjPXRhYmxlLmNvbmZpZyxsPXNvcnRMaXN0Lmxlbmd0aDtmb3IodmFyIGk9MDtpPGw7aSsrKXt2YXIgcz1zb3J0TGlzdFtpXSxvPWMuaGVhZGVyTGlzdFtzWzBdXTtvLmNvdW50PXNbMV07by5jb3VudCsrO319ZnVuY3Rpb24gbXVsdGlzb3J0KHRhYmxlLHNvcnRMaXN0LGNhY2hlKXtpZih0YWJsZS5jb25maWcuZGVidWcpe3ZhciBzb3J0VGltZT1uZXcgRGF0ZSgpO312YXIgZHluYW1pY0V4cD0idmFyIHNvcnRXcmFwcGVyID0gZnVuY3Rpb24oYSxiKSB7IixsPXNvcnRMaXN0Lmxlbmd0aDtmb3IodmFyIGk9MDtpPGw7aSsrKXt2YXIgYz1zb3J0TGlzdFtpXVswXTt2YXIgb3JkZXI9c29ydExpc3RbaV1bMV07dmFyIHM9KHRhYmxlLmNvbmZpZy5wYXJzZXJzW2NdLnR5cGU9PSJ0ZXh0Iik/KChvcmRlcj09MCk/bWFrZVNvcnRGdW5jdGlvbigidGV4dCIsImFzYyIsYyk6bWFrZVNvcnRGdW5jdGlvbigidGV4dCIsImRlc2MiLGMpKTooKG9yZGVyPT0wKT9tYWtlU29ydEZ1bmN0aW9uKCJudW1lcmljIiwiYXNjIixjKTptYWtlU29ydEZ1bmN0aW9uKCJudW1lcmljIiwiZGVzYyIsYykpO3ZhciBlPSJlIitpO2R5bmFtaWNFeHArPSJ2YXIgIitlKyIgPSAiK3M7ZHluYW1pY0V4cCs9ImlmKCIrZSsiKSB7IHJldHVybiAiK2UrIjsgfSAiO2R5bmFtaWNFeHArPSJlbHNlIHsgIjt9dmFyIG9yZ09yZGVyQ29sPWNhY2hlLm5vcm1hbGl6ZWRbMF0ubGVuZ3RoLTE7ZHluYW1pY0V4cCs9InJldHVybiBhWyIrb3JnT3JkZXJDb2wrIl0tYlsiK29yZ09yZGVyQ29sKyJdOyI7Zm9yKHZhciBpPTA7aTxsO2krKyl7ZHluYW1pY0V4cCs9In07ICI7fWR5bmFtaWNFeHArPSJyZXR1cm4gMDsgIjtkeW5hbWljRXhwKz0ifTsgIjtpZih0YWJsZS5jb25maWcuZGVidWcpe2JlbmNobWFyaygiRXZhbGluZyBleHByZXNzaW9uOiIrZHluYW1pY0V4cCxuZXcgRGF0ZSgpKTt9ZXZhbChkeW5hbWljRXhwKTtjYWNoZS5ub3JtYWxpemVkLnNvcnQoc29ydFdyYXBwZXIpO2lmKHRhYmxlLmNvbmZpZy5kZWJ1Zyl7YmVuY2htYXJrKCJTb3J0aW5nIG9uICIrc29ydExpc3QudG9TdHJpbmcoKSsiIGFuZCBkaXIgIitvcmRlcisiIHRpbWU6Iixzb3J0VGltZSk7fXJldHVybiBjYWNoZTt9O2Z1bmN0aW9uIG1ha2VTb3J0RnVuY3Rpb24odHlwZSxkaXJlY3Rpb24saW5kZXgpe3ZhciBhPSJhWyIraW5kZXgrIl0iLGI9ImJbIitpbmRleCsiXSI7aWYodHlwZT09J3RleHQnJiZkaXJlY3Rpb249PSdhc2MnKXtyZXR1cm4iKCIrYSsiID09ICIrYisiID8gMCA6ICgiK2ErIiA9PT0gbnVsbCA/IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA6ICgiK2IrIiA9PT0gbnVsbCA/IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA6ICgiK2ErIiA8ICIrYisiKSA/IC0xIDogMSApKSk7Ijt9ZWxzZSBpZih0eXBlPT0ndGV4dCcmJmRpcmVjdGlvbj09J2Rlc2MnKXtyZXR1cm4iKCIrYSsiID09ICIrYisiID8gMCA6ICgiK2ErIiA9PT0gbnVsbCA/IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA6ICgiK2IrIiA9PT0gbnVsbCA/IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA6ICgiK2IrIiA8ICIrYSsiKSA/IC0xIDogMSApKSk7Ijt9ZWxzZSBpZih0eXBlPT0nbnVtZXJpYycmJmRpcmVjdGlvbj09J2FzYycpe3JldHVybiIoIithKyIgPT09IG51bGwgJiYgIitiKyIgPT09IG51bGwpID8gMCA6KCIrYSsiID09PSBudWxsID8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDogKCIrYisiID09PSBudWxsID8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDogIithKyIgLSAiK2IrIikpOyI7fWVsc2UgaWYodHlwZT09J251bWVyaWMnJiZkaXJlY3Rpb249PSdkZXNjJyl7cmV0dXJuIigiK2ErIiA9PT0gbnVsbCAmJiAiK2IrIiA9PT0gbnVsbCkgPyAwIDooIithKyIgPT09IG51bGwgPyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgOiAoIitiKyIgPT09IG51bGwgPyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgOiAiK2IrIiAtICIrYSsiKSk7Ijt9fTtmdW5jdGlvbiBtYWtlU29ydFRleHQoaSl7cmV0dXJuIigoYVsiK2krIl0gPCBiWyIraSsiXSkgPyAtMSA6ICgoYVsiK2krIl0gPiBiWyIraSsiXSkgPyAxIDogMCkpOyI7fTtmdW5jdGlvbiBtYWtlU29ydFRleHREZXNjKGkpe3JldHVybiIoKGJbIitpKyJdIDwgYVsiK2krIl0pID8gLTEgOiAoKGJbIitpKyJdID4gYVsiK2krIl0pID8gMSA6IDApKTsiO307ZnVuY3Rpb24gbWFrZVNvcnROdW1lcmljKGkpe3JldHVybiJhWyIraSsiXS1iWyIraSsiXTsiO307ZnVuY3Rpb24gbWFrZVNvcnROdW1lcmljRGVzYyhpKXtyZXR1cm4iYlsiK2krIl0tYVsiK2krIl07Ijt9O2Z1bmN0aW9uIHNvcnRUZXh0KGEsYil7aWYodGFibGUuY29uZmlnLnNvcnRMb2NhbGVDb21wYXJlKXJldHVybiBhLmxvY2FsZUNvbXBhcmUoYik7cmV0dXJuKChhPGIpPy0xOigoYT5iKT8xOjApKTt9O2Z1bmN0aW9uIHNvcnRUZXh0RGVzYyhhLGIpe2lmKHRhYmxlLmNvbmZpZy5zb3J0TG9jYWxlQ29tcGFyZSlyZXR1cm4gYi5sb2NhbGVDb21wYXJlKGEpO3JldHVybigoYjxhKT8tMTooKGI+YSk/MTowKSk7fTtmdW5jdGlvbiBzb3J0TnVtZXJpYyhhLGIpe3JldHVybiBhLWI7fTtmdW5jdGlvbiBzb3J0TnVtZXJpY0Rlc2MoYSxiKXtyZXR1cm4gYi1hO307ZnVuY3Rpb24gZ2V0Q2FjaGVkU29ydFR5cGUocGFyc2VycyxpKXtyZXR1cm4gcGFyc2Vyc1tpXS50eXBlO307dGhpcy5jb25zdHJ1Y3Q9ZnVuY3Rpb24oc2V0dGluZ3Mpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZighdGhpcy50SGVhZHx8IXRoaXMudEJvZGllcylyZXR1cm47dmFyICR0aGlzLCRkb2N1bWVudCwkaGVhZGVycyxjYWNoZSxjb25maWcsc2hpZnREb3duPTAsc29ydE9yZGVyO3RoaXMuY29uZmlnPXt9O2NvbmZpZz0kLmV4dGVuZCh0aGlzLmNvbmZpZywkLnRhYmxlc29ydGVyLmRlZmF1bHRzLHNldHRpbmdzKTskdGhpcz0kKHRoaXMpOyQuZGF0YSh0aGlzLCJ0YWJsZXNvcnRlciIsY29uZmlnKTskaGVhZGVycz1idWlsZEhlYWRlcnModGhpcyk7dGhpcy5jb25maWcucGFyc2Vycz1idWlsZFBhcnNlckNhY2hlKHRoaXMsJGhlYWRlcnMpO2NhY2hlPWJ1aWxkQ2FjaGUodGhpcyk7dmFyIHNvcnRDU1M9W2NvbmZpZy5jc3NEZXNjLGNvbmZpZy5jc3NBc2NdO2ZpeENvbHVtbldpZHRoKHRoaXMpOyRoZWFkZXJzLmNsaWNrKGZ1bmN0aW9uKGUpe3ZhciB0b3RhbFJvd3M9KCR0aGlzWzBdLnRCb2RpZXNbMF0mJiR0aGlzWzBdLnRCb2RpZXNbMF0ucm93cy5sZW5ndGgpfHwwO2lmKCF0aGlzLnNvcnREaXNhYmxlZCYmdG90YWxSb3dzPjApeyR0aGlzLnRyaWdnZXIoInNvcnRTdGFydCIpO3ZhciAkY2VsbD0kKHRoaXMpO3ZhciBpPXRoaXMuY29sdW1uO3RoaXMub3JkZXI9dGhpcy5jb3VudCsrJTI7aWYodGhpcy5sb2NrZWRPcmRlcil0aGlzLm9yZGVyPXRoaXMubG9ja2VkT3JkZXI7aWYoIWVbY29uZmlnLnNvcnRNdWx0aVNvcnRLZXldKXtjb25maWcuc29ydExpc3Q9W107aWYoY29uZmlnLnNvcnRGb3JjZSE9bnVsbCl7dmFyIGE9Y29uZmlnLnNvcnRGb3JjZTtmb3IodmFyIGo9MDtqPGEubGVuZ3RoO2orKyl7aWYoYVtqXVswXSE9aSl7Y29uZmlnLnNvcnRMaXN0LnB1c2goYVtqXSk7fX19Y29uZmlnLnNvcnRMaXN0LnB1c2goW2ksdGhpcy5vcmRlcl0pO31lbHNle2lmKGlzVmFsdWVJbkFycmF5KGksY29uZmlnLnNvcnRMaXN0KSl7Zm9yKHZhciBqPTA7ajxjb25maWcuc29ydExpc3QubGVuZ3RoO2orKyl7dmFyIHM9Y29uZmlnLnNvcnRMaXN0W2pdLG89Y29uZmlnLmhlYWRlckxpc3Rbc1swXV07aWYoc1swXT09aSl7by5jb3VudD1zWzFdO28uY291bnQrKztzWzFdPW8uY291bnQlMjt9fX1lbHNle2NvbmZpZy5zb3J0TGlzdC5wdXNoKFtpLHRoaXMub3JkZXJdKTt9fTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2V0SGVhZGVyc0NzcygkdGhpc1swXSwkaGVhZGVycyxjb25maWcuc29ydExpc3Qsc29ydENTUyk7YXBwZW5kVG9UYWJsZSgkdGhpc1swXSxtdWx0aXNvcnQoJHRoaXNbMF0sY29uZmlnLnNvcnRMaXN0LGNhY2hlKSk7fSwxKTtyZXR1cm4gZmFsc2U7fX0pLm1vdXNlZG93bihmdW5jdGlvbigpe2lmKGNvbmZpZy5jYW5jZWxTZWxlY3Rpb24pe3RoaXMub25zZWxlY3RzdGFydD1mdW5jdGlvbigpe3JldHVybiBmYWxzZX07cmV0dXJuIGZhbHNlO319KTskdGhpcy5iaW5kKCJ1cGRhdGUiLGZ1bmN0aW9uKCl7dmFyIG1lPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe21lLmNvbmZpZy5wYXJzZXJzPWJ1aWxkUGFyc2VyQ2FjaGUobWUsJGhlYWRlcnMpO2NhY2hlPWJ1aWxkQ2FjaGUobWUpO30sMSk7fSkuYmluZCgidXBkYXRlQ2VsbCIsZnVuY3Rpb24oZSxjZWxsKXt2YXIgY29uZmlnPXRoaXMuY29uZmlnO3ZhciBwb3M9WyhjZWxsLnBhcmVudE5vZGUucm93SW5kZXgtMSksY2VsbC5jZWxsSW5kZXhdO2NhY2hlLm5vcm1hbGl6ZWRbcG9zWzBdXVtwb3NbMV1dPWNvbmZpZy5wYXJzZXJzW3Bvc1sxXV0uZm9ybWF0KGdldEVsZW1lbnRUZXh0KGNvbmZpZyxjZWxsKSxjZWxsKTt9KS5iaW5kKCJzb3J0b24iLGZ1bmN0aW9uKGUsbGlzdCl7JCh0aGlzKS50cmlnZ2VyKCJzb3J0U3RhcnQiKTtjb25maWcuc29ydExpc3Q9bGlzdDt2YXIgc29ydExpc3Q9Y29uZmlnLnNvcnRMaXN0O3VwZGF0ZUhlYWRlclNvcnRDb3VudCh0aGlzLHNvcnRMaXN0KTtzZXRIZWFkZXJzQ3NzKHRoaXMsJGhlYWRlcnMsc29ydExpc3Qsc29ydENTUyk7YXBwZW5kVG9UYWJsZSh0aGlzLG11bHRpc29ydCh0aGlzLHNvcnRMaXN0LGNhY2hlKSk7fSkuYmluZCgiYXBwZW5kQ2FjaGUiLGZ1bmN0aW9uKCl7YXBwZW5kVG9UYWJsZSh0aGlzLGNhY2hlKTt9KS5iaW5kKCJhcHBseVdpZGdldElkIixmdW5jdGlvbihlLGlkKXtnZXRXaWRnZXRCeUlkKGlkKS5mb3JtYXQodGhpcyk7fSkuYmluZCgiYXBwbHlXaWRnZXRzIixmdW5jdGlvbigpe2FwcGx5V2lkZ2V0KHRoaXMpO30pO2lmKCQubWV0YWRhdGEmJigkKHRoaXMpLm1ldGFkYXRhKCkmJiQodGhpcykubWV0YWRhdGEoKS5zb3J0bGlzdCkpe2NvbmZpZy5zb3J0TGlzdD0kKHRoaXMpLm1ldGFkYXRhKCkuc29ydGxpc3Q7fWlmKGNvbmZpZy5zb3J0TGlzdC5sZW5ndGg+MCl7JHRoaXMudHJpZ2dlcigic29ydG9uIixbY29uZmlnLnNvcnRMaXN0XSk7fWFwcGx5V2lkZ2V0KHRoaXMpO30pO307dGhpcy5hZGRQYXJzZXI9ZnVuY3Rpb24ocGFyc2VyKXt2YXIgbD1wYXJzZXJzLmxlbmd0aCxhPXRydWU7Zm9yKHZhciBpPTA7aTxsO2krKyl7aWYocGFyc2Vyc1tpXS5pZC50b0xvd2VyQ2FzZSgpPT1wYXJzZXIuaWQudG9Mb3dlckNhc2UoKSl7YT1mYWxzZTt9fWlmKGEpe3BhcnNlcnMucHVzaChwYXJzZXIpO307fTt0aGlzLmFkZFdpZGdldD1mdW5jdGlvbih3aWRnZXQpe3dpZGdldHMucHVzaCh3aWRnZXQpO307dGhpcy5mb3JtYXRGbG9hdD1mdW5jdGlvbihzKXt2YXIgaT1wYXJzZUZsb2F0KHMpO3JldHVybihpc05hTihpKSk/MDppO307dGhpcy5mb3JtYXRJbnQ9ZnVuY3Rpb24ocyl7dmFyIGk9cGFyc2VJbnQocyk7cmV0dXJuKGlzTmFOKGkpKT8wOmk7fTt0aGlzLmlzRGlnaXQ9ZnVuY3Rpb24ocyxjb25maWcpe3JldHVybi9eWy0rXT9cZCokLy50ZXN0KCQudHJpbShzLnJlcGxhY2UoL1ssLiddL2csJycpKSk7fTt0aGlzLmNsZWFyVGFibGVCb2R5PWZ1bmN0aW9uKHRhYmxlKXtpZigkLmJyb3dzZXIubXNpZSl7ZnVuY3Rpb24gZW1wdHkoKXt3aGlsZSh0aGlzLmZpcnN0Q2hpbGQpdGhpcy5yZW1vdmVDaGlsZCh0aGlzLmZpcnN0Q2hpbGQpO31lbXB0eS5hcHBseSh0YWJsZS50Qm9kaWVzWzBdKTt9ZWxzZXt0YWJsZS50Qm9kaWVzWzBdLmlubmVySFRNTD0iIjt9fTt9fSk7JC5mbi5leHRlbmQoe3RhYmxlc29ydGVyOiQudGFibGVzb3J0ZXIuY29uc3RydWN0fSk7dmFyIHRzPSQudGFibGVzb3J0ZXI7dHMuYWRkUGFyc2VyKHtpZDoidGV4dCIsaXM6ZnVuY3Rpb24ocyl7cmV0dXJuIHRydWU7fSxmb3JtYXQ6ZnVuY3Rpb24ocyl7cmV0dXJuICQudHJpbShzLnRvTG9jYWxlTG93ZXJDYXNlKCkpO30sdHlwZToidGV4dCJ9KTt0cy5hZGRQYXJzZXIoe2lkOiJkaWdpdCIsaXM6ZnVuY3Rpb24ocyx0YWJsZSl7dmFyIGM9dGFibGUuY29uZmlnO3JldHVybiAkLnRhYmxlc29ydGVyLmlzRGlnaXQocyxjKTt9LGZvcm1hdDpmdW5jdGlvbihzKXtyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChzKTt9LHR5cGU6Im51bWVyaWMifSk7dHMuYWRkUGFyc2VyKHtpZDoiY3VycmVuY3kiLGlzOmZ1bmN0aW9uKHMpe3JldHVybi9eW8KjJOKCrD8uXS8udGVzdChzKTt9LGZvcm1hdDpmdW5jdGlvbihzKXtyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChzLnJlcGxhY2UobmV3IFJlZ0V4cCgvW8KjJOKCrF0vZyksIiIpKTt9LHR5cGU6Im51bWVyaWMifSk7dHMuYWRkUGFyc2VyKHtpZDoiaXBBZGRyZXNzIixpczpmdW5jdGlvbihzKXtyZXR1cm4vXlxkezIsM31bXC5dXGR7MiwzfVtcLl1cZHsyLDN9W1wuXVxkezIsM30kLy50ZXN0KHMpO30sZm9ybWF0OmZ1bmN0aW9uKHMpe3ZhciBhPXMuc3BsaXQoIi4iKSxyPSIiLGw9YS5sZW5ndGg7Zm9yKHZhciBpPTA7aTxsO2krKyl7dmFyIGl0ZW09YVtpXTtpZihpdGVtLmxlbmd0aD09Mil7cis9IjAiK2l0ZW07fWVsc2V7cis9aXRlbTt9fXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHIpO30sdHlwZToibnVtZXJpYyJ9KTt0cy5hZGRQYXJzZXIoe2lkOiJ1cmwiLGlzOmZ1bmN0aW9uKHMpe3JldHVybi9eKGh0dHBzP3xmdHB8ZmlsZSk6XC9cLyQvLnRlc3Qocyk7fSxmb3JtYXQ6ZnVuY3Rpb24ocyl7cmV0dXJuIGpRdWVyeS50cmltKHMucmVwbGFjZShuZXcgUmVnRXhwKC8oaHR0cHM/fGZ0cHxmaWxlKTpcL1wvLyksJycpKTt9LHR5cGU6InRleHQifSk7dHMuYWRkUGFyc2VyKHtpZDoiaXNvRGF0ZSIsaXM6ZnVuY3Rpb24ocyl7cmV0dXJuL15cZHs0fVtcLy1dXGR7MSwyfVtcLy1dXGR7MSwyfSQvLnRlc3Qocyk7fSxmb3JtYXQ6ZnVuY3Rpb24ocyl7cmV0dXJuICQudGFibGVzb3J0ZXIuZm9ybWF0RmxvYXQoKHMhPSIiKT9uZXcgRGF0ZShzLnJlcGxhY2UobmV3IFJlZ0V4cCgvLS9nKSwiLyIpKS5nZXRUaW1lKCk6IjAiKTt9LHR5cGU6Im51bWVyaWMifSk7dHMuYWRkUGFyc2VyKHtpZDoicGVyY2VudCIsaXM6ZnVuY3Rpb24ocyl7cmV0dXJuL1wlJC8udGVzdCgkLnRyaW0ocykpO30sZm9ybWF0OmZ1bmN0aW9uKHMpe3JldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMucmVwbGFjZShuZXcgUmVnRXhwKC8lL2cpLCIiKSk7fSx0eXBlOiJudW1lcmljIn0pO3RzLmFkZFBhcnNlcih7aWQ6InVzTG9uZ0RhdGUiLGlzOmZ1bmN0aW9uKHMpe3JldHVybiBzLm1hdGNoKG5ldyBSZWdFeHAoL15bQS1aYS16XXszLDEwfVwuPyBbMC05XXsxLDJ9LCAoWzAtOV17NH18Jz9bMC05XXsyfSkgKChbMC0yXT9bMC05XTpbMC01XVswLTldKXwoWzAtMV0/WzAtOV06WzAtNV1bMC05XVxzKEFNfFBNKSkpJC8pKTt9LGZvcm1hdDpmdW5jdGlvbihzKXtyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChuZXcgRGF0ZShzKS5nZXRUaW1lKCkpO30sdHlwZToibnVtZXJpYyJ9KTt0cy5hZGRQYXJzZXIoe2lkOiJzaG9ydERhdGUiLGlzOmZ1bmN0aW9uKHMpe3JldHVybi9cZHsxLDJ9W1wvXC1dXGR7MSwyfVtcL1wtXVxkezIsNH0vLnRlc3Qocyk7fSxmb3JtYXQ6ZnVuY3Rpb24ocyx0YWJsZSl7dmFyIGM9dGFibGUuY29uZmlnO3M9cy5yZXBsYWNlKC9cLS9nLCIvIik7aWYoYy5kYXRlRm9ybWF0PT0idXMiKXtzPXMucmVwbGFjZSgvKFxkezEsMn0pW1wvXC1dKFxkezEsMn0pW1wvXC1dKFxkezR9KS8sIiQzLyQxLyQyIik7fWVsc2UgaWYoYy5kYXRlRm9ybWF0PT0idWsiKXtzPXMucmVwbGFjZSgvKFxkezEsMn0pW1wvXC1dKFxkezEsMn0pW1wvXC1dKFxkezR9KS8sIiQzLyQyLyQxIik7fWVsc2UgaWYoYy5kYXRlRm9ybWF0PT0iZGQvbW0veXkifHxjLmRhdGVGb3JtYXQ9PSJkZC1tbS15eSIpe3M9cy5yZXBsYWNlKC8oXGR7MSwyfSlbXC9cLV0oXGR7MSwyfSlbXC9cLV0oXGR7Mn0pLywiJDEvJDIvJDMiKTt9cmV0dXJuICQudGFibGVzb3J0ZXIuZm9ybWF0RmxvYXQobmV3IERhdGUocykuZ2V0VGltZSgpKTt9LHR5cGU6Im51bWVyaWMifSk7dHMuYWRkUGFyc2VyKHtpZDoidGltZSIsaXM6ZnVuY3Rpb24ocyl7cmV0dXJuL14oKFswLTJdP1swLTldOlswLTVdWzAtOV0pfChbMC0xXT9bMC05XTpbMC01XVswLTldXHMoYW18cG0pKSkkLy50ZXN0KHMpO30sZm9ybWF0OmZ1bmN0aW9uKHMpe3JldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KG5ldyBEYXRlKCIyMDAwLzAxLzAxICIrcykuZ2V0VGltZSgpKTt9LHR5cGU6Im51bWVyaWMifSk7dHMuYWRkUGFyc2VyKHtpZDoibWV0YWRhdGEiLGlzOmZ1bmN0aW9uKHMpe3JldHVybiBmYWxzZTt9LGZvcm1hdDpmdW5jdGlvbihzLHRhYmxlLGNlbGwpe3ZhciBjPXRhYmxlLmNvbmZpZyxwPSghYy5wYXJzZXJNZXRhZGF0YU5hbWUpPydzb3J0VmFsdWUnOmMucGFyc2VyTWV0YWRhdGFOYW1lO3JldHVybiAkKGNlbGwpLm1ldGFkYXRhKClbcF07fSx0eXBlOiJudW1lcmljIn0pO3RzLmFkZFdpZGdldCh7aWQ6InplYnJhIixmb3JtYXQ6ZnVuY3Rpb24odGFibGUpe2lmKHRhYmxlLmNvbmZpZy5kZWJ1Zyl7dmFyIHRpbWU9bmV3IERhdGUoKTt9dmFyICR0cixyb3c9LTEsb2RkOyQoInRyOnZpc2libGUiLHRhYmxlLnRCb2RpZXNbMF0pLmVhY2goZnVuY3Rpb24oaSl7JHRyPSQodGhpcyk7aWYoISR0ci5oYXNDbGFzcyh0YWJsZS5jb25maWcuY3NzQ2hpbGRSb3cpKXJvdysrO29kZD0ocm93JTI9PTApOyR0ci5yZW1vdmVDbGFzcyh0YWJsZS5jb25maWcud2lkZ2V0WmVicmEuY3NzW29kZD8wOjFdKS5hZGRDbGFzcyh0YWJsZS5jb25maWcud2lkZ2V0WmVicmEuY3NzW29kZD8xOjBdKX0pO2lmKHRhYmxlLmNvbmZpZy5kZWJ1Zyl7JC50YWJsZXNvcnRlci5iZW5jaG1hcmsoIkFwcGx5aW5nIFplYnJhIHdpZGdldCIsdGltZSk7fX19KTt9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/framework/js/listit2.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogRlVOQ1RJT05TCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmZ1bmN0aW9uIGluaXRUYWJsZVNvcnRlcigpewoJdmFyIGwgPSBqUXVlcnkoJyNzb3J0YWJsZV9pdGVtIHRoJykubGVuZ3RoOwoJdmFyIGhlYWRlck9wdGlvbnMgPSB7fTsKCWZvcihuID0gMTsgbiA8PSA1OyBuKyspewoJCXZhciBpbmRleCA9IGwtbjsKCQloZWFkZXJPcHRpb25zW2luZGV4XSA9IHtzb3J0ZXI6IGZhbHNlfTsKCX0KCWpRdWVyeSgnI3NvcnRhYmxlX2l0ZW0nKS50YWJsZXNvcnRlcih7CgkJaGVhZGVyczogaGVhZGVyT3B0aW9ucwoJfSk7Cn0KCmZ1bmN0aW9uIGluaXREYXRlcGlja2VyKCl7CglqUXVlcnkoJyNtMV9zdGFydF90aW1lLCAjbTFfZW5kX3RpbWUnKS5kYXRlcGlja2VyKHsKCQkgZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJwoJfSk7Cn0KCmZ1bmN0aW9uIGluaXRTb3J0YWJsZSgpewoKCWpRdWVyeSgnYm9keScpLmRlbGVnYXRlKCcjbTFfc3VibWl0X2l0ZW1vcmRlcicsJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpewoJCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsJCgkKCQl2YXIgbmV3T3JkZXJJZHMgPSBnZXRPcmRlcmluZygnI3NvcnRhYmxlX2l0ZW0nKTsgCgkJdmFyIGNhbGxiYWNrID0gYWpheF9mdW5jdGlvbignU2F2ZUl0ZW1PcmRlcicsIG5ld09yZGVySWRzKTsKCQljYWxsYmFjay5zdWNjZXNzKGZ1bmN0aW9uKGRhdGEpIHsKCQkJc2hvd19tZXNzYWdlKGRhdGEpOwkJCgkJfSk7CQkKCgl9KTsKCglqUXVlcnkoJ2JvZHknKS5kZWxlZ2F0ZSgnI20xX3N1Ym1pdF9maWVsZGRlZm9yZGVyJywnY2xpY2snLCBmdW5jdGlvbihldmVudCl7CgkKCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwkKCQoJCXZhciBuZXdPcmRlcklkcyA9IGdldE9yZGVyaW5nKCcjc29ydGFibGVfZmllbGRkZWYnKTsgCgkJdmFyIGNhbGxiYWNrID0gYWpheF9mdW5jdGlvbignU2F2ZUZpZWxkRGVmT3JkZXInLCBuZXdPcmRlcklkcyk7CgkJY2FsbGJhY2suc3VjY2VzcyhmdW5jdGlvbihkYXRhKSB7CgkJCXNob3dfbWVzc2FnZShkYXRhKTsKCQl9KTsJCQkKCgl9KTsKCgl2YXIgZ2V0T3JkZXJpbmcgPSBmdW5jdGlvbihpdGVtKSB7CgkKCQl2YXIgbmV3T3JkZXJpbmcgPSBqUXVlcnkoaXRlbSkuZmluZCgidGJvZHkuY29udGVudCIpLnNvcnRhYmxlKCd0b0FycmF5Jyk7CQoJCgkJaWYoaXRlbSA9PSAnI3NvcnRhYmxlX2l0ZW0nKQoJCQl2YXIgbCA9ICJpdGVtXyIubGVuZ3RoOwoJCQkKCQlpZihpdGVtID09ICcjc29ydGFibGVfZmllbGRkZWYnKQoJCQl2YXIgbCA9ICJmaWVsZGRlZl8iLmxlbmd0aDsKCQkJCgkgICAgdmFyIG5ld09yZGVySWRzID0gbmV3IEFycmF5KG5ld09yZGVyaW5nLmxlbmd0aCk7CgkgICAgdmFyIGN0ciA9IDA7CgkgICAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgaW4gdGhlIGFycmF5IGFuZCBnZXQgdGhlIElECgkgICAgalF1ZXJ5LmVhY2goCgkgICAgICAgIG5ld09yZGVyaW5nLAoJICAgICAgICBmdW5jdGlvbihpbnRJbmRleCwgb2JqVmFsdWUpIHsKCSAgICAgICAgICAgIC8vR2V0IHRoZSBJRCBvZiB0aGUgcmVvcmRlcmVkIGl0ZW1zIAoJICAgICAgICAgICAgLy8tIHRoaXMgaXMgc2VudCBiYWNrIHRvIHNlcnZlciB0byBzYXZlCgkgICAgICAgICAgICBuZXdPcmRlcklkc1tjdHJdID0gb2JqVmFsdWUuc3Vic3RyaW5nKGwsIG9ialZhbHVlLmxlbmd0aCk7CgkgICAgICAgICAgICBjdHIgPSBjdHIgKyAxOwoJICAgICAgICB9CgkgICAgKTsKCSAgICByZXR1cm4gbmV3T3JkZXJJZHM7ICAgIAoJfTsKCgkvL2ZpeCB0YWJsZSB3aWR0aCBvbiBzb3J0aW5nCgl2YXIgZml4SGVscGVyID0gZnVuY3Rpb24oZSwgdWkpIHsKICAgIAl1aS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgCWpRdWVyeSh0aGlzKS53aWR0aChqUXVlcnkodGhpcykud2lkdGgoKSk7CiAgICAJfSk7CiAgICAJcmV0dXJuIHVpOwoJfTsKCQoJLy9ydW4gc29ydGFibGUgZnVuY3Rpb24KCWpRdWVyeSgiI3NvcnRhYmxlX2l0ZW0gdGJvZHkuY29udGVudCwgI3NvcnRhYmxlX2ZpZWxkZGVmIHRib2R5LmNvbnRlbnQiKS5zb3J0YWJsZSh7CgkJaGVscGVyOiBmaXhIZWxwZXIsCiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKICAgICAgICAgICAgalF1ZXJ5KCIjc29ydGFibGVfaXRlbSwgI3NvcnRhYmxlX2ZpZWxkZGVmIikuZmluZCgidGJvZHkuY29udGVudCB0cjpvZGQiKS5hdHRyKCdjbGFzcycsICJyb3cyIik7CiAgICAgICAgICAgIGpRdWVyeSgiI3NvcnRhYmxlX2l0ZW0sICNzb3J0YWJsZV9maWVsZGRlZiIpLmZpbmQoInRib2R5LmNvbnRlbnQgdHI6ZXZlbiIpLmF0dHIoJ2NsYXNzJywgInJvdzEiKTsKICAgICAgICB9Cgl9KTsKCWpRdWVyeSgiI3NvcnRhYmxlX2l0ZW0sICNzb3J0YWJsZV9maWVsZGRlZiIpLmZpbmQoInRib2R5LmNvbnRlbnQiKS5kaXNhYmxlU2VsZWN0aW9uKCk7Cn0KCgpmdW5jdGlvbiBpbml0U2VsZWN0QWxsKCl7CglqUXVlcnkoJyNjaGVja19hbGxfaXRlbSwgI2NoZWNrX2FsbF9jYXRlZ29yeSwgI2NoZWNrX2FsbF9maWVsZGRlZicpLmNsaWNrKGZ1bmN0aW9uICgpIHsKCQoJCSQodGhpcykuY2xvc2VzdCgndGFibGUnKS5maW5kKCJ0Ym9keSB0ciIpLmVhY2goZnVuY3Rpb24oKSB7CgkJCgkJCSRjaGVja2JveCA9ICQodGhpcykuZmluZCgnOmNoZWNrYm94Jyk7CgkJCSRjaGVja2JveC5wcm9wKCdjaGVja2VkJywgISRjaGVja2JveFswXS5jaGVja2VkKTsJCQkKCQl9KTsKIAl9KTsKfQoKZnVuY3Rpb24gaW5pdFNsdWcoKSB7CgoJaWYgKGpRdWVyeSgnI20xX2FsaWFzJykudmFsKCkgPT0gJycpIHsKCQlqUXVlcnkoJyNtMV9hbGlhcycpLmFkZENsYXNzKCdzbHVnJyk7CgkJLy8gc2x1ZyBhbGlhcwoJCWpRdWVyeSgiI20xX3RpdGxlIikuc2x1Zyh7CgkJCXNsdWc6J3NsdWcnLCAvLyBjbGFzcyBvZiBpbnB1dCAvIHNwYW4gdGhhdCBjb250YWlucyB0aGUgZ2VuZXJhdGVkIHNsdWcKCQkJaGlkZTogZmFsc2UsIC8vIGhpZGUgdGhlIHRleHQgaW5wdXQsIHRydWUgYnkgZGVmYXVsdAoJCQlwcmVmaXg6ICdpdGVtLScKCQl9KTsKCX0KfQoKZnVuY3Rpb24gaW5pdFF1aWNrU2VhcmNoKCkgewoKCS8vIFRhYmxlIHF1aWNrc2VhcmNoCglqUXVlcnkoImlucHV0I2l0ZW1fc2VhcmNoIikucXVpY2tzZWFyY2goInRhYmxlI3NvcnRhYmxlX2l0ZW0gdGJvZHkgdHIiLCB7CgkJc3RyaXBlUm93czogWydyb3cxJywgJ3JvdzInXQoJfSk7CgkvLyBwcmV2ZW50IHF1aWNrc2VhcmNoIGlucHV0IGZyb20gc3VibWl0dGluZwoJalF1ZXJ5KCIjcXVpY2tzZWFyY2hfZm9ybSIpLnN1Ym1pdChmdW5jdGlvbihldmVudCkgewoKCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJfSk7Cn0KCmZ1bmN0aW9uIGluaXRDb2xvckJveCgpIHsKCglpZigoalF1ZXJ5KCcuY2JveCcpLmxlbmd0aCAhPT0gMCkgJiYgKHR5cGVvZiAkLmNvbG9yYm94ID09ICdmdW5jdGlvbicpKSB7CgkJalF1ZXJ5KCcuY2JveCcpLmNvbG9yYm94KHsKCQkJc2NhbGVQaG90b3M6IHRydWUsCgkJCW1heFdpZHRoOiA4MDAsCgkJCW1heEhlaWdodDogNjAwLAoJCQlyZWw6ICdncm91cCcsCgkJCW9wYWNpdHk6IDAuMgoJCX0pOwoJfQp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiBKUVVFUlkgSU5JVCAoUnVuIGluaXRpYWwgc3R1ZmYgaGVyZSkKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKalF1ZXJ5KGZ1bmN0aW9uKCQpewoKCWpRdWVyeSgiLnBhZ2VtY29udGFpbmVyIikuZWFjaChmdW5jdGlvbigpewoJCXZhciBjID0galF1ZXJ5KHRoaXMpOwoJCXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGMuaGlkZSgpOyB9LCA5MDAwKTsKCX0pOwoKCWluaXRTb3J0YWJsZSgpOwoJaW5pdFNlbGVjdEFsbCgpOwoJaW5pdERhdGVwaWNrZXIoKTsKCWluaXRUYWJsZVNvcnRlcigpOwoJaW5pdFNsdWcoKTsKCWluaXRRdWlja1NlYXJjaCgpOwoJaW5pdENvbG9yQm94KCk7CQp9KTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIEFKQVggTE9BRElORyAoT25seSBsb2FkIGFqYXggZnVuY3Rpb25zIGluIGhlcmUpCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCi8qKgoqIEFjY2VzcyBtb2R1bGUgb2JqZWN0IG1ldGhvZHMgd2l0aCB0aGlzCiogQCB1c3JfZnVuY3Rpb246IE1ldGhvZCBvZiBtb2R1bGUgb2JqZWN0CiogQCBwYXJhbXM6IFBhcmFtcyB0byBtb2R1bGUgb2JqZWN0CiovCmZ1bmN0aW9uIGFqYXhfZnVuY3Rpb24odXNyX2Z1bmN0aW9uLCBwYXJhbXMpewoKCXJldHVybiBqUXVlcnkucG9zdChDTVNfQURNSU5fRElSKyIvbW9kdWxlaW50ZXJmYWNlLnBocCIrQ01TX1VTRVJfS0VZLCB7IAoJCQltYWN0OiBNT0RVTEVfTkFNRSsnLG0xXyxhamF4LDAnLAoJCQltMV91c3JfZnVuY3Rpb246IHVzcl9mdW5jdGlvbiwKCQkJc2hvd3RlbXBsYXRlOiBmYWxzZSwKCQkJbTFfcGFyYW1zOiBwYXJhbXMKCX0pOwp9CgpqUXVlcnkoZnVuY3Rpb24oJCkgewoKCS8qKgoJKiBUWVBFIFNFTEVDVAoJKi8KCWpRdWVyeSgnI20xX3R5cGUnKS5jaGFuZ2UoZnVuY3Rpb24gKGV2ZW50KSB7CgoJCXZhciB1cmwgPSAkKHRoaXMpLmNsb3Nlc3QoImZvcm0iKS5hdHRyKCJhY3Rpb24iKTsKCQl2YXIgcGFyYW1zID0gICQodGhpcykuY2xvc2VzdCgiZm9ybSIpLnNlcmlhbGl6ZSgpOwoJCXBhcmFtcyArPSAiJnNob3d0ZW1wbGF0ZT1mYWxzZSI7CgkJdmFyIHNlbGVjdG9yID0gJy5saXN0aXQyX3R5cGVvcHRpb25zJzsKCQkJCgkJJC5hamF4KHsKCQkJdHlwZTogIlBPU1QiLAoJCQl1cmw6IHVybCwKCQkJYXN5bmM6IHRydWUsCgkJCWRhdGFUeXBlOiAiaHRtbCIsCgkJCWRhdGE6IHBhcmFtcywKCQkJYmVmb3JlU2VuZDogZnVuY3Rpb24oKSB7CgkJCQoJCQkJJChzZWxlY3RvcikuZW1wdHkoKS5hcHBlbmQoJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+PGRpdiBjbGFzcz0icGFnZWlucHV0Ij48ZGl2IGNsYXNzPSJhamF4LWxvYWRpbmcgYWpheC1sb2FkZXItdHlwZS13aWRlIj48L2Rpdj48L2Rpdj48L2Rpdj4nKTsKCQkJfSwKCQkJZXJyb3I6IGZ1bmN0aW9uKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgewoJCQkJCgkJCQlhbGVydCgiU29ycnkuIFRoZXJlIHdhcyBhbiBMaXN0SXQyIEFKQVggZXJyb3I6ICIgKyB0ZXh0U3RhdHVzKTsKCQkJfSwKCQkJc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewoJCQkJCgkJCQl2YXIgbXlfZGF0YSA9ICQoc2VsZWN0b3IsIGRhdGEpLmh0bWwoKTsKCQkJCSQoc2VsZWN0b3IpLmh0bWwobXlfZGF0YSk7CgkJCX0JCgkJCQoJCX0pOwoJfSk7CgkKCS8qKgoJKiBNQVNTIEFDVElPTiBJVEVNUwoJKi8KCWpRdWVyeSgnI2xpc3RpdDJfaXRlbV9tYXNzX2FjdGlvbicpLmNoYW5nZShmdW5jdGlvbiAoZXZlbnQpIHsKCgkJaWYoY29uZmlybSgnQXJlIHlvdXIgc3VyZT8nKSkgewoJCgkJCXZhciBpdGVtcyA9IGpRdWVyeSgiLml0ZW0tbWFzcy1hY3Rpb24gOmlucHV0Iikuc2VyaWFsaXplQXJyYXkoKTsKCQkJCgkJCXN3aXRjaCgkKHRoaXMpLnZhbCgpKQoJCQl7CgkJCQljYXNlICdkZWxldGUnOgoJCQkJCgkJCQkJalF1ZXJ5LmVhY2goaXRlbXMsIGZ1bmN0aW9uKGksIGZpZWxkKXsKCQkJCQkKCQkJCQkJYWpheF9kZWxldGUoJCgiI2l0ZW1fIiArIGZpZWxkLnZhbHVlKS5maW5kKCIuYWpheC1kZWxldGUiKSk7CgkJCQkJfSk7CgoJCQkJCWJyZWFrOwoJCQkKCQkJCWNhc2UgJ2FwcHJvdmUnOgoJCQkJCgkJCQkJalF1ZXJ5LmVhY2goaXRlbXMsIGZ1bmN0aW9uKGksIGZpZWxkKXsKCQkJCQkKCQkJCQkJYWpheF90b2dnbGUoJCgiI2l0ZW1fIiArIGZpZWxkLnZhbHVlKS5maW5kKCIuYXBwcm92ZS1pdGVtIC5hamF4LXRvZ2dsZSIpKTsKCQkJCQl9KTsKCQkJCQkKCQkJCQlicmVhazsKCQkJfQoJCQoJCX0gCgkJCgkJJCh0aGlzKS52YWwoMCk7CgkJCgl9KTsJCgoJLyoqCgkqIE1BU1MgQUNUSU9OIENBVEVHT1JJRVMKCSovCglqUXVlcnkoJyNsaXN0aXQyX2NhdGVnb3J5X21hc3NfYWN0aW9uJykuY2hhbmdlKGZ1bmN0aW9uIChldmVudCkgewoKCQlpZihjb25maXJtKCdBcmUgeW91ciBzdXJlPycpKSB7CgkKCQkJdmFyIGl0ZW1zID0galF1ZXJ5KCIuY2F0ZWdvcnktbWFzcy1hY3Rpb24gOmlucHV0Iikuc2VyaWFsaXplQXJyYXkoKTsKCQkJCgkJCXN3aXRjaCgkKHRoaXMpLnZhbCgpKQoJCQl7CgkJCQljYXNlICdkZWxldGUnOgoJCQkJCgkJCQkJalF1ZXJ5LmVhY2goaXRlbXMsIGZ1bmN0aW9uKGksIGZpZWxkKXsKCQkJCQkKCQkJCQkJYWpheF9kZWxldGUoJCgiI2NhdGVnb3J5XyIgKyBmaWVsZC52YWx1ZSkuZmluZCgiLmFqYXgtZGVsZXRlIikpOwoJCQkJCX0pOwoKCQkJCQlicmVhazsKCQkJCgkJCQljYXNlICdhcHByb3ZlJzoKCQkJCQoJCQkJCWpRdWVyeS5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpLCBmaWVsZCl7CgkJCQkJCgkJCQkJCWFqYXhfdG9nZ2xlKCQoIiNjYXRlZ29yeV8iICsgZmllbGQudmFsdWUpLmZpbmQoIi5hcHByb3ZlLWNhdGVnb3J5IC5hamF4LXRvZ2dsZSIpKTsKCQkJCQl9KTsKCQkJCQkKCQkJCQlicmVhazsKCQkJfQoJCQoJCX0gCgkJCgkJJCh0aGlzKS52YWwoMCk7CgkJCgl9KTsJCgkKCS8qKgoJKiBNQVNTIEFDVElPTiBGSUVMRERFRlMKCSovCglqUXVlcnkoJyNsaXN0aXQyX2ZpZWxkZGVmX21hc3NfYWN0aW9uJykuY2hhbmdlKGZ1bmN0aW9uIChldmVudCkgewoKCQlpZihjb25maXJtKCdBcmUgeW91ciBzdXJlPycpKSB7CgkKCQkJdmFyIGl0ZW1zID0galF1ZXJ5KCIuZmllbGRkZWYtbWFzcy1hY3Rpb24gOmlucHV0Iikuc2VyaWFsaXplQXJyYXkoKTsKCQkJCgkJCXN3aXRjaCgkKHRoaXMpLnZhbCgpKQoJCQl7CgkJCQljYXNlICdkZWxldGUnOgoJCQkJCgkJCQkJalF1ZXJ5LmVhY2goaXRlbXMsIGZ1bmN0aW9uKGksIGZpZWxkKXsKCQkJCQkKCQkJCQkJYWpheF9kZWxldGUoJCgiI2ZpZWxkZGVmXyIgKyBmaWVsZC52YWx1ZSkuZmluZCgiLmFqYXgtZGVsZXRlIikpOwoJCQkJCX0pOwoKCQkJCQlicmVhazsKCQkJCgkJCQljYXNlICdyZXF1aXJlJzoKCQkJCQoJCQkJCWpRdWVyeS5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpLCBmaWVsZCl7CgkJCQkJCgkJCQkJCWFqYXhfdG9nZ2xlKCQoIiNmaWVsZGRlZl8iICsgZmllbGQudmFsdWUpLmZpbmQoIi5hamF4LXRvZ2dsZSIpKTsKCQkJCQl9KTsKCQkJCQkKCQkJCQlicmVhazsKCQkJfQoJCQoJCX0gCgkJCgkJJCh0aGlzKS52YWwoMCk7CgkJCgl9KTsJCQoJCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/framework/method.installGlobals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGF0YWJhc2UgdGFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCi8vIGNyZWF0ZSBpdGVtIHRhYmxlCiRmaWVsZHMgPSAnCiAgICBpdGVtX2lkIEkgS0VZIEFVVE8sCgljYXRlZ29yeV9pZCBJLAogICAgdGl0bGUgQygyNTUpLAoJYWxpYXMgQygyNTUpLAogICAgcG9zaXRpb24gSSwKICAgIGFjdGl2ZSBJNCwKICAgIGNyZWF0ZV90aW1lIERULAoJbW9kaWZpZWRfdGltZSBEVCwKCXN0YXJ0X3RpbWUgRCwKCWVuZF90aW1lIEQsCglrZXkxIEMoNTApLAoJa2V5MiBDKDUwKSwKCWtleTMgQyg1MCksCglvd25lciBJCic7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gY3JlYXRlIGNhdGVnb3J5IHRhYmxlCiRmaWVsZHMgPSAnCgljYXRlZ29yeV9pZCBJIEtFWSBBVVRPLAoJY2F0ZWdvcnlfbmFtZSBDKDI1NSksCiAgICBjYXRlZ29yeV9hbGlhcyBDKDI1NSksCgljYXRlZ29yeV9kZXNjcmlwdGlvbiBYLAogICAgcGFyZW50X2lkIEksCiAgICBwb3NpdGlvbiBJLAogICAgaGllcmFyY2h5IEMoMjU1KSwKCWhpZXJhcmNoeV9wYXRoIEMoMjU1KSwKCWlkX2hpZXJhcmNoeSBDKDI1NSksCglhY3RpdmUgSTQsCgljcmVhdGVfZGF0ZSBEVCwKCW1vZGlmaWVkX2RhdGUgRFQsCglrZXkxIEMoNTApLAoJa2V5MiBDKDUwKSwKCWtleTMgQyg1MCkKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gY3JlYXRlIGl0ZW1fY2F0ZWdvcmllcwokZmllbGRzID0gJwogICAgaXRlbV9pZCBJIEtFWSBOT1QgbnVsbCwKICAgIGNhdGVnb3J5X2lkIEkgS0VZIE5PVCBudWxsCic7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBjcmVhdGUgZmllbGRkZWYgdGFibGUKJGZpZWxkcyA9ICcKICAgIGZpZWxkZGVmX2lkIEkgS0VZIEFVVE8sCiAgICBuYW1lIEMoMjU1KSwKICAgIGFsaWFzIEMoMjU1KSwKICAgIGhlbHAgQygyNTUpLAogICAgdHlwZSBDKDUwKSwKICAgIHBvc2l0aW9uIEksCiAgICByZXF1aXJlZCBJLAoJZXh0cmEgWAonOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBjcmVhdGUgZmllbGRkZWYgb3B0aW9ucyB0YWJsZQokZmllbGRzID0gJwogICAgZmllbGRkZWZfaWQgSSBLRVksCiAgICBuYW1lIEMoMjU1KSBLRVksCiAgICB2YWx1ZSBYCic7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZl9vcHRzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gY3JlYXRlIGZpZWxkdmFsIHRhYmxlCiRmaWVsZHMgPSAnCiAgICBpdGVtX2lkIEkgS0VZIE5PVCBudWxsLAogICAgZmllbGRkZWZfaWQgSSBLRVkgTk9UIG51bGwsCiAgICB2YWx1ZV9pbmRleCBJIEtFWSBOT1QgbnVsbCwKICAgIHZhbHVlIFgsCglkYXRhIFgKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwovKgovLyBpbnNlcnQgY2F0ZWdvcnkgZGF0YQokcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgCgkJKGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X2FsaWFzLCBwYXJlbnRfaWQsIHBvc2l0aW9uLCBhY3RpdmUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSAKCQlWQUxVRVMoPywgPywgPywgPywgPywgTk9XKCksIE5PVygpKSc7CgkJCiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnR2VuZXJhbCcsICdnZW5lcmFsJywgLTEsIDEsIDEpKTsKTGlzdEl0MkNhdGVnb3J5T3BlcmF0aW9uczo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCR0aGlzKTsKCmlmKCEkcmVzdWx0KQoJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsKKi8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRlbXBsYXRlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCi8vIFN1bW1hcnkgdGVtcGxhdGVzCiRmbiA9IGNtc19qb2luX3BhdGgoTElTVElUMl9URU1QTEFURV9QQVRILCAnZmVfc3VtbWFyeV9kZWZhdWx0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfc3VtbWFyeV90ZW1wbGF0ZScsICdkZWZhdWx0Jyk7Cn0KCiRmbiA9IGNtc19qb2luX3BhdGgoTElTVElUMl9URU1QTEFURV9QQVRILCAnZmVfc3VtbWFyeV9jYXRlZ29yaXplZC50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X2NhdGVnb3JpemVkJywgJHRlbXBsYXRlKTsKfQoKJGZuID0gY21zX2pvaW5fcGF0aChMSVNUSVQyX1RFTVBMQVRFX1BBVEgsICdmZV9zdW1tYXJ5X2FjY29yZGlvbi50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X2FjY29yZGlvbicsICR0ZW1wbGF0ZSk7Cn0KCiRmbiA9IGNtc19qb2luX3BhdGgoTElTVElUMl9URU1QTEFURV9QQVRILCAnZmVfc3VtbWFyeV9zZWFyY2hyZXN1bHRzLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfc2VhcmNocmVzdWx0cycsICR0ZW1wbGF0ZSk7Cn0KCi8vIERldGFpbCB0ZW1wbGF0ZXMKJGZuID0gY21zX2pvaW5fcGF0aChMSVNUSVQyX1RFTVBMQVRFX1BBVEgsICdmZV9kZXRhaWxfZGVmYXVsdC50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJywgJ2RlZmF1bHQnKTsKfQoKLy8gU2VhcmNoIHRlbXBsYXRlcwokZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX3NlYXJjaF9kZWZhdWx0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlYXJjaF9kZWZhdWx0JywgJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF9zZWFyY2hfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwp9CgokZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX3NlYXJjaF9maWx0ZXIudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VhcmNoX2ZpbHRlcicsICR0ZW1wbGF0ZSk7Cn0KCiRmbiA9IGNtc19qb2luX3BhdGgoTElTVElUMl9URU1QTEFURV9QQVRILCAnZmVfc2VhcmNoX211bHRpc2VsZWN0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlYXJjaF9tdWx0aXNlbGVjdCcsICR0ZW1wbGF0ZSk7Cn0KCi8vIENhdGVnb3J5IHRlbXBsYXRlcwokZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2RlZmF1bHQudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfY2F0ZWdvcnlfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwp9CgokZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2hpZXJhcmNoeS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeV9oaWVyYXJjaHknLCAkdGVtcGxhdGUpOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJlZmVyZW5jZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvcnRvcmRlcicsICdBU0MnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluc2VjdGlvbicsICdjb250ZW50Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpcy0+R2V0TmFtZSgpLCB0cnVlKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnLCAkdGhpcy0+R2V0TmFtZSgpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCB1dGY4X2VuY29kZShodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPk1vZExhbmcoJ2l0ZW0nKSkpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgdXRmOF9lbmNvZGUoaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5Nb2RMYW5nKCdpdGVtcycpKSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaXRlbV90aXRsZScsIHV0ZjhfZW5jb2RlKGh0bWxfZW50aXR5X2RlY29kZSgkdGhpcy0+TW9kTGFuZygnaXRlbV90aXRsZScpKSkpOwovLyR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF9jYXRlZ29yeScsICcxJyk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUGVybWlzc2lvbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICc6IE1vZGlmeSBJdGVtcycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yeScsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICc6IE1vZGlmeSBDYXRlZ29yaWVzJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICc6IE1vZGlmeSBPcHRpb25zJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfcmVtb3ZlX2l0ZW0nLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBSZW1vdmUgaXRlbXMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hcHByb3ZlX2l0ZW0nLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBBcHByb3ZlIGl0ZW1zJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2FsbF9pdGVtJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJzogTW9kaWZ5IGFsbCBpdGVtcycpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEV2ZW50cwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+Q3JlYXRlRXZlbnQoJ1ByZUl0ZW1TYXZlJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnUG9zdEl0ZW1TYXZlJyk7CgokdGhpcy0+Q3JlYXRlRXZlbnQoJ1ByZUl0ZW1EZWxldGUnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdQb3N0SXRlbURlbGV0ZScpOwoKJHRoaXMtPkNyZWF0ZUV2ZW50KCdQcmVJdGVtTG9hZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ1Bvc3RJdGVtTG9hZCcpOwoKJHRoaXMtPkNyZWF0ZUV2ZW50KCdQcmVSZW5kZXJBY3Rpb24nKTsK]]></data>
	</file>
	<file>
	  <filename>/framework/method.uninstallGlobals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGF0YWJhc2UgdGFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWZfb3B0cycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknKTsgLy8gdGhlIG9ubHkgZ29vZCBjYXQgaXMgYSBkZWFkIGNhdAokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIERFUFJFQ0FURUQKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3RlbXBsYXRlJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGVtcGxhdGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmVmZXJlbmNlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFBlcm1pc3Npb25zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfcmVtb3ZlX2l0ZW0nKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hcHByb3ZlX2l0ZW0nKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfYWxsX2l0ZW0nKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFdmVudHMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlJlbW92ZUV2ZW50KCdQcmVJdGVtU2F2ZScpOwokdGhpcy0+UmVtb3ZlRXZlbnQoJ1Bvc3RJdGVtU2F2ZScpOwoKJHRoaXMtPlJlbW92ZUV2ZW50KCdQcmVJdGVtRGVsZXRlJyk7CiR0aGlzLT5SZW1vdmVFdmVudCgnUG9zdEl0ZW1EZWxldGUnKTsKCiR0aGlzLT5SZW1vdmVFdmVudCgnUHJlSXRlbUxvYWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdQb3N0SXRlbUxvYWQnKTsKCiR0aGlzLT5SZW1vdmVFdmVudCgnUHJlUmVuZGVyQWN0aW9uJyk7Cgo=]]></data>
	</file>
	<file>
	  <filename>/framework/method.upgradeGlobals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIE5PVEU6IFN3aXRjaCB0byB1c2UgdmVyc2lvbl9jb21wYXJlKCkKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmlmICghaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKc3dpdGNoICgkb2xkdmVyc2lvbikgewoJY2FzZSAnMS4wIEJldGEnIDoKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUnLCAndHlwZSBDKDI1NSknKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5FeGVjdXRlKCdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgU0VUIHR5cGUgPSAic3VtbWFyeSInKTsKCgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3RlbXBsYXRlIChuYW1lLCBjb250ZW50LCB0eXBlKSBWQUxVRVMoPywgPywgPyknOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdkZWZhdWx0JywgJHRoaXMtPkdldFRlbXBsYXRlRnJvbUZpbGUoJ2ZlX2RldGFpbF9kZWZhdWx0JyksICdkZXRhaWwnKSk7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJ2RlYnVnJywgICR0aGlzLT5HZXRUZW1wbGF0ZUZyb21GaWxlKCdmZV9kZXRhaWxfZGVidWcnKSwgJ2RldGFpbCcpKTsKCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCR0aGlzLT5HZXROYW1lKCksIHRydWUpKTsKCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAnYWxpYXMgQygyNTUpJyk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJ1NFTEVDVCBpdGVtX2lkLCB0aXRsZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nKTsKCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewoJCQkkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRyb3dbJ3RpdGxlJ10sIHRydWUpOwoJCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBhbGlhcyA9ID8gV0hFUkUgaXRlbV9pZCA9ID8nLCBhcnJheSgkYWxpYXMsICRyb3dbJ2l0ZW1faWQnXSkpOwoJCX0KCgljYXNlICcxLjAnIDoKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgKG5hbWUsIGNvbnRlbnQsIHR5cGUpIFZBTFVFUyg/LCA/LCA/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJ2FjY29yZGlvbicsICR0aGlzLT5HZXRUZW1wbGF0ZUZyb21GaWxlKCdmZV9zdW1tYXJ5X2FjY29yZGlvbicpLCAnc3VtbWFyeScpKTsKCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAnc3RhcnRfdGltZSBEJyk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2VuZF90aW1lIEQnKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJY2FzZSAnMS4wLjMnOgoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2NyZWF0ZV90aW1lIERUJyk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdjYXRlZ29yeV9kZXNjcmlwdGlvbiBYJyk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdwYXJlbnRfaWQgSScpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAnaGllcmFyY2h5IEMoMjU1KScpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBTRVQgcGFyZW50X2lkID0gLTEnKTsKCQkKCQlMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoJHRoaXMpOwoJCQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdkZWZhdWx0JywgJHRoaXMtPkdldFRlbXBsYXRlRnJvbUZpbGUoJ2ZlX3NlYXJjaF9kZWZhdWx0JyksICdzZWFyY2gnKSk7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJ3NlYXJjaHJlc3VsdHMnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgnZmVfc3VtbWFyeV9zZWFyY2hyZXN1bHRzJyksICdzdW1tYXJ5JykpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdkZWZhdWx0JywgJHRoaXMtPkdldFRlbXBsYXRlRnJvbUZpbGUoJ2ZlX2ZpbHRlcl9kZWZhdWx0JyksICdmaWx0ZXInKSk7Cgp9CgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCAnMS4yJykgPCAwICkgewoKCS8vIE1vZGlmeSBkYXRhYmFlCgkkZGItPkV4ZWN1dGUoJ0FMVEVSIFRBQkxFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIE1PRElGWSBleHRyYSBURVhUJyk7CgkKCS8vIFNldCBwcmVmZXJlbmNlcwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvcnRvcmRlcicsICdBU0MnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbnNlY3Rpb24nLCAnY29udGVudCcpOwoKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJywgJ2RlZmF1bHQnKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdkZWZhdWx0X2ZpbHRlcl90ZW1wbGF0ZScsICdkZWZhdWx0Jyk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnZGVmYXVsdF9zZWFyY2hfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X2NhdGVnb3J5JywgJzEnKTsKCQoJLy8gVXBkYXRpbmcgZnJvbSBvbGQgdGVtcGxhdGUgdHlwZXMKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX3RlbXBsYXRlIjsKCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQoJd2hpbGUoJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSl7CgkKCQkkdGhpcy0+U2V0VGVtcGxhdGUoJHJvd1sndHlwZSddIC4gJ18nIC4gJHJvd1snbmFtZSddLCAkcm93Wydjb250ZW50J10pOwoJCWlmKCRyb3dbJ3RwbF9kZWZhdWx0J10pIHsKCQkKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0XycuJHJvd1sndHlwZSddLidfdGVtcGxhdGUnLCAkcm93WyduYW1lJ10pOwoJCX0KCX0KCQp9IC8vIGVuZCBvZiAxLjEgLT4gMS4yIHVwZ3JhZGUKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sICcxLjMnKSA8IDAgKSB7CgoJLy8gY3JlYXRlIGZpZWxkZGVmIG9wdGlvbnMgdGFibGUKCSRmaWVsZHMgPSAnCgkJZmllbGRkZWZfaWQgSSBLRVksCgkJbmFtZSBDKDI1NSkgS0VZLAoJCXZhbHVlIEMoMjU1KQoJJzsKCgkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZl9vcHRzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQoJLy8gY3JlYXRlIGV2ZW50cwoJJHRoaXMtPkNyZWF0ZUV2ZW50KCdQcmVJdGVtU2F2ZScpOwoJJHRoaXMtPkNyZWF0ZUV2ZW50KCdQb3N0SXRlbVNhdmUnKTsKCgkkdGhpcy0+Q3JlYXRlRXZlbnQoJ1ByZUl0ZW1EZWxldGUnKTsKCSR0aGlzLT5DcmVhdGVFdmVudCgnUG9zdEl0ZW1EZWxldGUnKTsKCgkkdGhpcy0+Q3JlYXRlRXZlbnQoJ1ByZUl0ZW1Mb2FkJyk7CgkkdGhpcy0+Q3JlYXRlRXZlbnQoJ1Bvc3RJdGVtTG9hZCcpOwkKCQp9IC8vIGVuZCBvZiAxLjIuMiAtPiAxLjMgdXBncmFkZQoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwgJzEuMy4yJykgPCAwICkgewoKCS8vIE1vZGlmeSBkYXRhYmFlCgkkZGItPkV4ZWN1dGUoJ0FMVEVSIFRBQkxFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmX29wdHMgTU9ESUZZIHZhbHVlIFRFWFQnKTsKCQoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJ2RhdGEgWCcpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkKCQp9IC8vIGVuZCBvZiAxLjMgLT4gMS4zLjIgdXBncmFkZQoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwgJzEuNC1iZXRhMScpIDwgMCApIHsKCgkvLyBDcmVhdGUgaXRlbV9jYXRlZ29yaWVzIHRhYmxlCgkkZmllbGRzID0gJwoJCWl0ZW1faWQgSSBLRVkgTk9UIG51bGwsCgkJY2F0ZWdvcnlfaWQgSSBLRVkgTk9UIG51bGwKCSc7CgoJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkvLyBVcGRhdGUgY2F0ZWdvcnkgdGFibGUKCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdoaWVyYXJjaHlfcGF0aCBDKDI1NSknKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JywgJ2lkX2hpZXJhcmNoeSBDKDI1NSknKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAnYWN0aXZlIEk0Jyk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JywgJ2NyZWF0ZV9kYXRlIERUJyk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JywgJ21vZGlmaWVkX2RhdGUgRFQnKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCgkKCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdrZXkxIEMoMjU1KScpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdrZXkyIEMoMjU1KScpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdrZXkzIEMoMjU1KScpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCS8vIFVwZGF0ZSBpdGVtIHRhYmxlCgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdtb2RpZmllZF90aW1lIERUJyk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQoJCQoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAna2V5MSBDKDI1NSknKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdrZXkyIEMoMjU1KScpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2tleTMgQygyNTUpJyk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkKCS8vIFVwZGF0ZSBmaWVsZHZhbCB0YWJsZQoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJ3ZhbHVlX2luZGV4IEkgTk9UIG51bGwnKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQoJJGRiLT5FeGVjdXRlKCdBTFRFUiBUQUJMRSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBEUk9QIFBSSU1BUlkgS0VZLCBBREQgUFJJTUFSWSBLRVkoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlX2luZGV4KScpOwkKCgkvLyBVcGRhdGUgY2F0ZWdvcnkgcG9zaXRpb25zCglMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoJHRoaXMpOwoJCgkvLyBVcGRhdGUgdGVtcGxhdGVzCgkkZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2RlZmF1bHQudHBsJyk7CglpZiggZmlsZV9leGlzdHMoICRmbiApICkgewoJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X2NhdGVnb3J5X3RlbXBsYXRlJywgJ2RlZmF1bHQnKTsKCX0KCgkkZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2hpZXJhcmNoeS50cGwnKTsKCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CgkJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeV9oaWVyYXJjaHknLCAkdGVtcGxhdGUpOwoJfQoKCS8vIFVwZGF0ZSBldmVudHMKCSR0aGlzLT5DcmVhdGVFdmVudCgnUHJlUmVuZGVyQWN0aW9uJyk7CgkKCS8vIFVwZGF0ZSBpdGVtIGNhdGVnb3JpZXMKCSRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCwgY2F0ZWdvcnlfaWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJzsKCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgl3aGlsZSgkZGJyICYmICRyb3cgPSAkZGJyLT5GZXRjaFJvdygpKSB7CgoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMgKGl0ZW1faWQsIGNhdGVnb3J5X2lkKSBWQUxVRVMgKD8sID8pJzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcm93WydpdGVtX2lkJ10sICRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCX0JCgkKfSAvLyBlbmQgb2YgMS4zLjIgLT4gMS40LWJldGExIHVwZ3JhZGUKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sICcxLjQtYmV0YTInKSA8IDAgKSB7CgkKCS8vIFVwZGF0ZSBpdGVtIHRhYmxlCgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdvd25lciBJJyk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJLy8gVXBkYXRlIHBlcm1pc3Npb25zCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3JlbW92ZV9pdGVtJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJzogUmVtb3ZlIGl0ZW1zJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2FwcHJvdmVfaXRlbScsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICc6IEFwcHJvdmUgaXRlbXMnKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2FsbF9pdGVtJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJzogTW9kaWZ5IGFsbCBpdGVtcycpOwkKCn0gLy8gZW5kIG9mIDEuNC1iZXRhMSAtPiAxLjQtYmV0YTIgdXBncmFkZQ==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/templates/admin_csv_import.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0aXRlbSI+CgkJeyR0aXRsZX0KCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgdGFiIC8vLS0+CjwhLS0gc3RhcnQgY29udGVudCAtLT4KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9jIj4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9yZXN1bHQiPjwvZGl2PgoKCQl7JGJhY2tsaW5rfQoJCXskc3RhcnRmb3JtfQoKCQk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJCQk8dGhlYWQ+CgkJCQk8dHIgY2xhc3M9InRvcCI+CgkJCQkJPHRoPnskbW9kLT5Nb2RMYW5nKCdpbXBvcnRfYWxpYXMnKX08L3RoPgoJCQkJCTx0aD57JG1vZC0+TW9kTGFuZygnZmlsZV9hbGlhcycpfTwvdGg+CgkJCQkJPHRoPntsYW5nKCdoZWxwJyl9PC90aD4KCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TW9kTGFuZygncmVxdWlyZWQnKX08L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGNsYXNzPSJjb250ZW50IiB3aWR0aD0iMTAwJSI+CgkJe2ZvcmVhY2ggZnJvbT0kZGF0YWJhc2VfdmFsdWVzIGl0ZW09b2JqfQoJCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInfSI+CgkJCQkJPHRkPnskb2JqLT5hbGlhc308L3RkPgoJCQkJCTx0ZD57aHRtbF9vcHRpb25zIG5hbWU9ImAkYWN0aW9uaWRgaW1wb3J0X3ZhbHVlc1tgJG9iai0+YWxpYXNgXSIgb3B0aW9ucz0kZmlsZV92YWx1ZXN9PC90ZD4KCQkJCQk8dGQ+eyRvYmotPmhlbHB9PC90ZD4KCQkJCQk8dGQ+eyRvYmotPnJlcXVpcmVkX2ltYWdlfTwvdGQ+CgkJCQk8L3RyPgoJCXsvZm9yZWFjaH0JCQoJCQk8L3Rib2R5PgoJCTwvdGFibGU+CQkKCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPGRpdiBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPnskcHJldmlvdXN9eyRkb19pbXBvcnR9eyRjYW5jZWx9PC9kaXY+CgkJPC9kaXY+CgoJCXskZW5kZm9ybX0KCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgY29udGVudCAvLy0tPg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/admin_csv_import_export.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0aXRlbSI+CgkJeyR0aXRsZX0KCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgdGFiIC8vLS0+CjwhLS0gc3RhcnQgY29udGVudCAtLT4KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9jIj4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9yZXN1bHQiPjwvZGl2PgoKCQl7JGJhY2tsaW5rfQoJCXskc3RhcnRmb3JtfQoKCQl7aWYgaXNzZXQoJGlucHV0X2V4cG9ydHZhbHVlcyl9CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCd2YWx1ZXMnKX06PC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leHBvcnR2YWx1ZXN9PC9kaXY+CgkJPC9kaXY+CgkJey9pZn0JCgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnZmlsZScpfTo8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGV9PC9kaXY+CgkJPC9kaXY+CgkKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3NlcGFyYXRvcicpfTo8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlcGFyYXRvcn08L2Rpdj4KCQk8L2Rpdj4KCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdlbmNsb3VzZXInKX06PC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbmNsb3VzZXJ9PC9kaXY+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L2Rpdj4KCQk8L2Rpdj4KCgkJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2Pgo8IS0tIGVuZCBjb250ZW50IC8vLS0+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/admin_reordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Z1bmN0aW9uIG5hbWU9dHJlZV9tYW5hZ2VyIGRlcHRoPTAgdHJlZT0wfQogIDx1bCBjbGFzcz0ic29ydGFibGVMaXN0e2lmICRkZXB0aCA9PSAwfSBzb3J0YWJsZXsvaWZ9Ij4KICB7Zm9yZWFjaCBmcm9tPSR0cmVlIGl0ZW09aXRlbX0KICAgIDxsaSBpZD0iY2F0X3skaXRlbS5jYXRlZ29yeV9pZH0iPgoJCTxkaXYgY2xhc3M9ImxhYmVsIj48c3Bhbj4mbmJzcDs8L3NwYW4+eyRpdGVtLmNhdGVnb3J5X25hbWV9PC9kaXY+CgkJe2lmIGlzc2V0KCRpdGVtLmNoaWxkcmVuKX0KCQkJe3RyZWVfbWFuYWdlciBkZXB0aD0kZGVwdGgrMSB0cmVlPSRpdGVtLmNoaWxkcmVufQoJCXsvaWZ9CiAgICA8L2xpPgogIHsvZm9yZWFjaH0KICA8L3VsPgp7L2Z1bmN0aW9ufQoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBwYXJzZVRyZWUodWwpewoKCXZhciB0YWdzID0gW107Cgl1bC5jaGlsZHJlbigibGkiKS5lYWNoKGZ1bmN0aW9uKCl7CgkKCQl2YXIgc3VidHJlZSA9CSQodGhpcykuY2hpbGRyZW4oInVsIik7CgkJaWYoc3VidHJlZS5zaXplKCkgPiAwKQoJCQl0YWdzLnB1c2goWyQodGhpcykuYXR0cigiaWQiKSwgcGFyc2VUcmVlKHN1YnRyZWUpXSk7CgkJZWxzZQoJCQl0YWdzLnB1c2goJCh0aGlzKS5hdHRyKCJpZCIpKTsKCX0pOwoJCglyZXR1cm4gdGFnczsKfQoKalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXsKCglqUXVlcnkoJ3VsLnNvcnRhYmxlJykubmVzdGVkU29ydGFibGUoewoJCWRpc2FibGVOZXN0aW5nOiAnbm8tbmVzdCcsCgkJZm9yY2VQbGFjZWhvbGRlclNpemU6IHRydWUsCgkJaGFuZGxlOiAnZGl2JywKCQlpdGVtczogJ2xpJywKCQlvcGFjaXR5OiA2LAoJCXBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLAoJCXRhYlNpemU6IDM1LAoJCXRvbGVyYW5jZTogJ3BvaW50ZXInLAoJCWxpc3RUeXBlOiAndWwnLAoJCXRvbGVyYW5jZUVsZW1lbnQ6ICc+IGRpdicKCX0pOwoKCWpRdWVyeSgiI2xpc3RpdDJfb3JkZXJmb3JtIikuc3VibWl0KGZ1bmN0aW9uKCl7CgoJCXZhciB0cmVlID0gJC50b0pTT04ocGFyc2VUcmVlKCQoJ3VsLnNvcnRhYmxlJykpKTsKCQkkKCcjb3JkZXJkYXRhJykudmFsKHRyZWUpOwoJfSk7Cgp9KTsKPC9zY3JpcHQ+CjwhLS0gc3RhcnQgdGFiIC0tPgo8ZGl2IGlkPSJwYWdlX3RhYnMiPgoJPGRpdiBpZD0icmVvcmRlcl9jYXRlZ29yaWVzIj4KCQl7JG1vZC0+TW9kTGFuZygncmVvcmRlcl9jYXRlZ29yaWVzJyl9Cgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIHRhYiAvLy0tPgo8IS0tIHN0YXJ0IGNvbnRlbnQgLS0+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoJPGRpdiBpZD0icmVvcmRlcl9jYXRlZ29yaWVzX2MiPiAKCgkJPGRpdiBpZD0ibGlzdGl0Ml9vcmRlcmZvcm0iPgoJCQl7JGZvcm1zdGFydH0KCgkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfW9yZGVyZGF0YSIgdmFsdWU9IiIgaWQ9Im9yZGVyZGF0YSIgLz4KCgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJCTxkaXYgY2xhc3M9InJlb3JkZXItcGFnZXMiPgoJCQkJCQl7dHJlZV9tYW5hZ2VyIHRyZWU9JHRyZWV9CgkJCQkJPC9kaXY+CgkJCQkgIDwvZGl2PgoJCQkJPGRpdj4KCgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfTwvcD4KCQkJCTwvZGl2PgoJCQkJCgkJCXskZm9ybWVuZH0KCQk8L2Rpdj4KCgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIGNvbnRlbnQgLy8tLT4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/categorytab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRpdGVtcykgPiAwfQo8dGFibGUgaWQ9ImNhdGVnb3J5IiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+eyRtb2QtPk1vZExhbmcoJ2NhdGVnb3J5Jyl9PC90aD4KICAgICAgICAgICAgPHRoPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aCB0aXRsZT0ieyRtb2QtPk1vZExhbmcoJ3NlbGVjdF9hbGwnKX0iIGNsYXNzPSJwYWdlaWNvbiBuby1zb3J0Ij48aW5wdXQgaWQ9ImNoZWNrX2FsbF9jYXRlZ29yeSIgdHlwZT0iY2hlY2tib3giIC8+PC90aD4KICAgICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keSBjbGFzcz0iY29udGVudCIgd2lkdGg9IjEwMCUiPgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICA8dHIgaWQ9ImNhdGVnb3J5X3skZW50cnktPmNhdGVnb3J5X2lkfSIgY2xhc3M9Inskcm93Y2xhc3N9Ij4KICAgICAgICAgICAgPHRkPntyZXBlYXQgc3RyaW5nPSc+Jm5ic3A7JyB0aW1lcz0kZW50cnktPmRlcHRofXskZW50cnktPm5hbWV9PC90ZD4KICAgICAgICAgICAgPHRkPnskZW50cnktPmFsaWFzfTwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iaW5pdC1hamF4LXRvZ2dsZSBhcHByb3ZlLWNhdGVnb3J5Ij57JGVudHJ5LT5hcHByb3ZlfTwvdGQ+CiAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgogICAgICAgICAgICA8dGQgY2xhc3M9ImluaXQtYWpheC1kZWxldGUiPnskZW50cnktPmRlbGV0ZX08L3RkPgogICAgICAgICAgICA8dGQgY2xhc3M9ImNhdGVnb3J5LW1hc3MtYWN0aW9uIj57JGVudHJ5LT5zZWxlY3R9PC90ZD4KICAgICAgICA8L3RyPgp7L2ZvcmVhY2h9CiAgICA8L3Rib2R5Pgo8L3RhYmxlPgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyIgc3R5bGU9ImZsb2F0OnJpZ2h0OyI+CjxzZWxlY3QgaWQ9Imxpc3RpdDJfY2F0ZWdvcnlfbWFzc19hY3Rpb24iPgoJPG9wdGlvbiB2YWx1ZT0iIj57JG1vZC0+TW9kTGFuZygnc2VsZWN0X29uZScpfTwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iZGVsZXRlIj5EZWxldGU8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9ImFwcHJvdmUiPlRvZ2dsZSBhY3RpdmU8L29wdGlvbj4KPC9zZWxlY3Q+CjwvZGl2Pgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua317aWYgaXNzZXQoJHJlb3JkZXJsaW5rKX0mbmJzcDt7JHJlb3JkZXJsaW5rfXsvaWZ9PC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0Y2F0ZWdvcnkiPgoJCXskdGl0bGV9Cgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIHRhYiAvLy0tPgo8IS0tIHN0YXJ0IGNvbnRlbnQgLS0+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoJPGRpdiBpZD0iZWRpdGNhdGVnb3J5X2MiPiAKCXskYmFja2xpbmt9Cgl7JHN0YXJ0Zm9ybX0KCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRtb2QtPk1vZExhbmcoJ2NhdGVnb3J5X25hbWUnKX06PC9wPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhdGVnb3J5fTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxpYXN9PC9wPgoJCTwvZGl2PgoJCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57bGFuZygncGFyZW50Jyl9OjwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYXJlbnR9PC9wPgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdjYXRlZ29yeV9kZXNjcmlwdGlvbicpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnlfZGVzY3JpcHRpb259PC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2FjdGl2ZScpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWN0aXZlfTwvcD4KCQk8L2Rpdj4JCQoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIGlkPSJsaXN0aXQyX3N1Ym1pdCIgdmFsdWU9IntsYW5nKCdzdWJtaXQnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCQkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgaWQ9Imxpc3RpdDJfY2FuY2VsIiB2YWx1ZT0ie2xhbmcoJ2NhbmNlbCcpfSIgdHlwZT0ic3VibWl0IiAvPgoJCQkJPGlucHV0IG5hbWU9InskYWN0aW9uaWR9YXBwbHkiIGlkPSJsaXN0aXQyX2FwcGx5IiB2YWx1ZT0ie2xhbmcoJ2FwcGx5Jyl9IiB0eXBlPSJzdWJtaXQiIC8+CgkJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1zYXZlX2NyZWF0ZSIgaWQ9Imxpc3RpdDJfc2F2ZV9jcmVhdGUiIHZhbHVlPSJ7JG1vZC0+TW9kTGFuZygnc2F2ZV9jcmVhdGUnKX0iIHR5cGU9InN1Ym1pdCIgLz4JCQkJCgkJCTwvcD4KCQk8L2Rpdj4KCQoJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0ZmllbGRkZWYiPgoJCXskdGl0bGV9Cgk8L2Rpdj4KCXtpZiBpc3NldCgkaW5wdXRfZXh0cmEpfQoJPGRpdiBpZD0iZmllbGRkZWZleHRyYSI+CgkJeyRtb2QtPk1vZExhbmcoJ2V4dHJhJyl9Cgk8L2Rpdj4JCgl7L2lmfQo8L2Rpdj4KPCEtLSBlbmQgdGFiIC8vLS0+CjwhLS0gc3RhcnQgY29udGVudCAtLT4KeyRzdGFydGZvcm19CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoKCXskYmFja2xpbmt9Cgk8ZGl2IGlkPSJlZGl0ZmllbGRkZWZfYyI+IAoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZl90eXBlJyl9OjwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHR5cGV9PC9wPgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPip7JG1vZC0+TW9kTGFuZygnZmllbGRkZWZfbmFtZScpfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRuYW1lfTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxpYXN9PC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX2hlbHAnKX06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aGVscH08L3A+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnZmllbGRkZWZfcmVxdWlyZWQnKX06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlcXVpcmVkfTwvcD4KCQk8L2Rpdj4KCgkJPGRpdiBjbGFzcz0ibGlzdGl0Ml90eXBlb3B0aW9ucyI+CgkJe2lmIGlzc2V0KCRmaWVsZGRlZil9CQoJCQl7JGZpZWxkZGVmLT5SZW5kZXJGb3JFZGl0KCRhY3Rpb25pZCwgJHJldHVybmlkKX0KCQl7L2lmfQoJCTwvZGl2PgogICAgICAgICAgCgk8L2Rpdj4Ke2lmIGlzc2V0KCRpbnB1dF9leHRyYSl9Cgk8ZGl2IGlkPSJmaWVsZGRlZmV4dHJhX2MiPiAKCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnZXh0cmEnKX06PC9wPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2V4dHJhfTwvcD4KCQk8L2Rpdj4KCQkKCTwvZGl2Pgp7L2lmfQkKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgaWQ9Imxpc3RpdDJfc3VibWl0IiB2YWx1ZT0ie2xhbmcoJ3N1Ym1pdCcpfSIgdHlwZT0ic3VibWl0IiAvPgoJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIGlkPSJsaXN0aXQyX2NhbmNlbCIgdmFsdWU9IntsYW5nKCdjYW5jZWwnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCQkJPGlucHV0IG5hbWU9InskYWN0aW9uaWR9YXBwbHkiIGlkPSJsaXN0aXQyX2FwcGx5IiB2YWx1ZT0ie2xhbmcoJ2FwcGx5Jyl9IiB0eXBlPSJzdWJtaXQiIC8+CgkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXNhdmVfY3JlYXRlIiBpZD0ibGlzdGl0Ml9zYXZlX2NyZWF0ZSIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzYXZlX2NyZWF0ZScpfSIgdHlwZT0ic3VibWl0IiAvPgkJCQkKCQk8L3A+Cgk8L2Rpdj4JCQo8L2Rpdj4KeyRlbmRmb3JtfQ==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/edititem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0aXRlbSI+CgkJeyR0aXRsZX0KCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgdGFiIC8vLS0+CjwhLS0gc3RhcnQgY29udGVudCAtLT4KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9jIj4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9yZXN1bHQiPjwvZGl2PgoKCQl7JGJhY2tsaW5rfQoJCXskc3RhcnRmb3JtfQoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgaWQ9Imxpc3RpdDJfc3VibWl0IiB2YWx1ZT0ie2xhbmcoJ3N1Ym1pdCcpfSIgdHlwZT0ic3VibWl0IiAvPgoJCQkJPGlucHV0IG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiBpZD0ibGlzdGl0Ml9jYW5jZWwiIHZhbHVlPSJ7bGFuZygnY2FuY2VsJyl9IiB0eXBlPSJzdWJtaXQiIC8+CgkJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1hcHBseSIgaWQ9Imxpc3RpdDJfYXBwbHkiIHZhbHVlPSJ7bGFuZygnYXBwbHknKX0iIHR5cGU9InN1Ym1pdCIgLz4KCQkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXNhdmVfY3JlYXRlIiBpZD0ibGlzdGl0Ml9zYXZlX2NyZWF0ZSIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzYXZlX2NyZWF0ZScpfSIgdHlwZT0ic3VibWl0IiAvPgkJCQkKCQkJPC9wPgoJCTwvZGl2PgoKCQl7aWYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9jcmVhdGVfZGF0ZScsIDApID09IDF9CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JG1vZC0+TW9kTGFuZygnY3JlYXRlX3RpbWUnLCAnJyl9OiA8ZW0gc3R5bGU9J2ZvbnQtd2VpZ2h0OiBub3JtYWw7Jz57JGl0ZW1PYmplY3QtPmNyZWF0ZV90aW1lfTwvZW0+PC9wPgoJCTwvZGl2PgoJCXsvaWZ9CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCAnJyl9Kjo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGl0bGV9PC9wPgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTo8L3A+eyRhbGlhc3xkZWZhdWx0OicnfQogICAgCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGlhc308L3A+CgkJPC9kaXY+CgoJCXtpZiBjb3VudCgkaXRlbU9iamVjdCl9CgkJCXtmb3JlYWNoIGZyb209JGl0ZW1PYmplY3QtPmZpZWxkZGVmcyBpdGVtPSdmaWVsZGRlZid9CgkJCQl7JGZpZWxkZGVmLT5SZW5kZXJJbnB1dCgkYWN0aW9uaWQsICRyZXR1cm5pZCl9CgkJCXsvZm9yZWFjaH0KCQl7L2lmfQoKCQl7aWYgaXNzZXQoJGlucHV0X2FjdGl2ZSl9CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnYWN0aXZlJyl9OjwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hY3RpdmV9PC9wPgoJCTwvZGl2PgoJCXsvaWZ9CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3RpbWVfY29udHJvbCcpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGltZV9jb250cm9sfTwvcD4KCQk8L2Rpdj4KCgkJPGRpdiBpZD0iZXhwaXJ5aW5mbyJ7aWYgJHVzZV90aW1lX2NvbnRyb2wgIT0gdHJ1ZX0gc3R5bGU9ImRpc3BsYXk6bm9uZTsiey9pZn0+CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdzdGFydF90aW1lJyl9OjwvcD4KCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc3RhcnRfdGltZX08L3A+CgkJCTwvZGl2PgoJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdlbmRfdGltZScpfTo8L3A+CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2VuZF90aW1lfTwvcD4KCQkJPC9kaXY+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgaWQ9Imxpc3RpdDJfc3VibWl0IiB2YWx1ZT0ie2xhbmcoJ3N1Ym1pdCcpfSIgdHlwZT0ic3VibWl0IiAvPgoJCQkJPGlucHV0IG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiBpZD0ibGlzdGl0Ml9jYW5jZWwiIHZhbHVlPSJ7bGFuZygnY2FuY2VsJyl9IiB0eXBlPSJzdWJtaXQiIC8+CgkJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1hcHBseSIgaWQ9Imxpc3RpdDJfYXBwbHkiIHZhbHVlPSJ7bGFuZygnYXBwbHknKX0iIHR5cGU9InN1Ym1pdCIgLz4KCQkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXNhdmVfY3JlYXRlIiBpZD0ibGlzdGl0Ml9zYXZlX2NyZWF0ZSIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzYXZlX2NyZWF0ZScpfSIgdHlwZT0ic3VibWl0IiAvPgkJCQoJCQk8L3A+CgkJPC9kaXY+CgoJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2Pgo8IS0tIGVuZCBjb250ZW50IC8vLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij57bGl0ZXJhbH0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgIGpRdWVyeSgnW25hbWU9bTFfYXBwbHldJykubGl2ZSgnY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICBpZiAodHlwZW9mIHRpbnlNQ0UgIT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdGlueU1DRS50cmlnZ2VyU2F2ZSgpOwogICAgICAgIH0KICAgICAgICB2YXIgZGF0YSA9IGpRdWVyeSgnZm9ybScpLmZpbmQoJ2lucHV0Om5vdChbdHlwZT1zdWJtaXRdKSwgc2VsZWN0LCB0ZXh0YXJlYScpLnNlcmlhbGl6ZUFycmF5KCk7CiAgICAgICAgZGF0YS5wdXNoKHsKICAgICAgICAgICAgJ25hbWUnOiAnbTFfYWpheCcsCiAgICAgICAgICAgICd2YWx1ZSc6IDEKICAgICAgICB9KTsKICAgICAgICBkYXRhLnB1c2goewogICAgICAgICAgICAnbmFtZSc6ICdtMV9hcHBseScsCiAgICAgICAgICAgICd2YWx1ZSc6IDEKICAgICAgICB9KTsKICAgICAgICBkYXRhLnB1c2goewogICAgICAgICAgICAnbmFtZSc6ICdzaG93dGVtcGxhdGUnLAogICAgICAgICAgICAndmFsdWUnOiAnZmFsc2UnCiAgICAgICAgfSk7CiAgICAgICAgdmFyIHVybCA9IGpRdWVyeSgnZm9ybScpLmF0dHIoJ2FjdGlvbicpOwogICAgICAgIGpRdWVyeS5wb3N0KHVybCwgZGF0YSwgZnVuY3Rpb24ocmVzdWx0ZGF0YSwgdGV4dCkgewogICAgICAgICAgICB2YXIgcmVzcCA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdSZXNwb25zZScpLnRleHQoKTsKICAgICAgICAgICAgdmFyIGRldGFpbHMgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnRGV0YWlscycpLnRleHQoKTsKICAgICAgICAgICAgdmFyIGh0bWxTaG93ID0gJyc7CiAgICAgICAgICAgIGlmIChyZXNwID09PSAnU3VjY2VzcycgJiYgZGV0YWlscyAhPT0gJycpIHsKICAgICAgICAgICAgICAgIGh0bWxTaG93ID0gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicgKyBkZXRhaWxzICsgJzxcL3A+PFwvZGl2Pic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBodG1sU2hvdyA9ICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPjx1bCBjbGFzcz0icGFnZWVycm9yIj4nOwogICAgICAgICAgICAgICAgaHRtbFNob3cgKz0gZGV0YWlsczsKICAgICAgICAgICAgICAgIGh0bWxTaG93ICs9ICc8XC91bD48XC9kaXY+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICBqUXVlcnkoJyNlZGl0aXRlbV9yZXN1bHQnKS5odG1sKGh0bWxTaG93KTsKICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXsgCiAgICAgICAgICAgIAkkKCcucGFnZW1jb250YWluZXInKS5oaWRlKCk7IAogICAgICAgICAgICAJfSwgOTAwMCkKICAgICAgICB9LCAneG1sJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7Cn0pOwp7L2xpdGVyYWx9PC9zY3JpcHQ+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0dGVtcGxhdGUiPgoJCXskdGl0bGV9Cgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIHRhYiAvLy0tPgo8IS0tIHN0YXJ0IGNvbnRlbnQgLS0+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoJPGRpdiBpZD0iZWRpdHRlbXBsYXRlX2MiPiAKCTxkaXYgaWQ9ImVkaXR0ZW1wbGF0ZV9yZXN1bHQiPjwvZGl2PgoJeyRiYWNrbGlua30KCXskc3RhcnRmb3JtfQoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ3RlbXBsYXRlX25hbWUnKX06PC9wPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2RlZmF1bHRfdGVtcGxhdGVzJyl9OjwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCB0cGxfbGlzdCI+eyRpbnB1dF90cGxfbGlzdH08L3A+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3RlbXBsYXRlJyl9OjwvcD4KICAgIAkJPGRpdiBjbGFzcz0icGFnZWlucHV0IHRwbF9jb250ZW50Ij57JGlucHV0X3RlbXBsYXRlfTwvZGl2PgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2lmIGlzc2V0KCRpZGZpZWxkKX17JGlkZmllbGR9ey9pZn17JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXtpZiBpc3NldCgkcmVzZXQpfXskcmVzZXR9ey9pZn08L3A+CgkJPC9kaXY+CgoJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewoKCWpRdWVyeSgnLnRwbF9saXN0IHNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpIHsKCQl2YXIgY2FsbGJhY2sgPSBhamF4X2Z1bmN0aW9uKCdNb2RHZXRUZW1wbGF0ZUZyb21GaWxlJywgJCh0aGlzKS52YWwoKSk7CgkJY2FsbGJhY2suc3VjY2VzcyhmdW5jdGlvbihkYXRhKSB7CgkJCWpRdWVyeSgnLnRwbF9jb250ZW50IHRleHRhcmVhJykudmFsKGRhdGEpOwoJCX0pOwoJfSk7CgogICAgalF1ZXJ5KCdbbmFtZT1tMV9hcHBseV0nKS5saXZlKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIGlmICh0eXBlb2YgdGlueU1DRSAhPSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB0aW55TUNFLnRyaWdnZXJTYXZlKCk7CiAgICAgICAgfQogICAgICAgIHZhciBkYXRhID0galF1ZXJ5KCdmb3JtJykuZmluZCgnaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLCBzZWxlY3QsIHRleHRhcmVhJykuc2VyaWFsaXplQXJyYXkoKTsKICAgICAgICBkYXRhLnB1c2goewogICAgICAgICAgICAnbmFtZSc6ICdtMV9hamF4JywKICAgICAgICAgICAgJ3ZhbHVlJzogMQogICAgICAgIH0pOwogICAgICAgIGRhdGEucHVzaCh7CiAgICAgICAgICAgICduYW1lJzogJ20xX2FwcGx5JywKICAgICAgICAgICAgJ3ZhbHVlJzogMQogICAgICAgIH0pOwogICAgICAgIGRhdGEucHVzaCh7CiAgICAgICAgICAgICduYW1lJzogJ3Nob3d0ZW1wbGF0ZScsCiAgICAgICAgICAgICd2YWx1ZSc6ICdmYWxzZScKICAgICAgICB9KTsKICAgICAgICB2YXIgdXJsID0galF1ZXJ5KCdmb3JtJykuYXR0cignYWN0aW9uJyk7CgkJCiAgICAgICAgalF1ZXJ5LnBvc3QodXJsLCBkYXRhLCBmdW5jdGlvbihyZXN1bHRkYXRhLCB0ZXh0KSB7CiAgICAgICAgICAgIHZhciByZXNwID0galF1ZXJ5KHJlc3VsdGRhdGEpLmZpbmQoJ1Jlc3BvbnNlJykudGV4dCgpOwogICAgICAgICAgICB2YXIgZGV0YWlscyA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdEZXRhaWxzJykudGV4dCgpOwogICAgICAgICAgICB2YXIgaHRtbFNob3cgPSAnJzsKICAgICAgICAgICAgaWYgKHJlc3AgPT09ICdTdWNjZXNzJyAmJiBkZXRhaWxzICE9PSAnJykgewogICAgICAgICAgICAgICAgaHRtbFNob3cgPSAnPGRpdiBjbGFzcz0icGFnZW1jb250YWluZXIiPjxwIGNsYXNzPSJwYWdlbWVzc2FnZSI+JyArIGRldGFpbHMgKyAnPFwvcD48XC9kaXY+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGh0bWxTaG93ID0gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+PHVsIGNsYXNzPSJwYWdlZXJyb3IiPic7CiAgICAgICAgICAgICAgICBodG1sU2hvdyArPSBkZXRhaWxzOwogICAgICAgICAgICAgICAgaHRtbFNob3cgKz0gJzxcL3VsPjxcL2Rpdj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGpRdWVyeSgnI2VkaXR0ZW1wbGF0ZV9yZXN1bHQnKS5odG1sKGh0bWxTaG93KTsKICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXsgCiAgICAgICAgICAgIAkkKCcucGFnZW1jb250YWluZXInKS5oaWRlKCk7IAogICAgICAgICAgICAJfSwgOTAwMCkKICAgICAgICB9LCAneG1sJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7Cn0pOwp7L2xpdGVyYWx9PC9zY3JpcHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_category_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBjYXRlZ29yaWVzIC0tPgo8dWw+Cntmb3JlYWNoIGZyb209JGNhdGVnb3JpZXMgaXRlbT1jYXRlZ29yeX0KCTxsaSBjbGFzcz0iY2F0ZWdvcnkteyRjYXRlZ29yeS0+YWxpYXN9Ij4KCQk8YSBjbGFzcz0iY2F0ZWdvcnktbmFtZSIgaHJlZj0ieyRjYXRlZ29yeS0+dXJsfSI+eyRjYXRlZ29yeS0+bmFtZX0gKHskY2F0ZWdvcnktPml0ZW1zfGNvdW50fSk8L2E+CgkJCXtpZiAhZW1wdHkoJGNhdGVnb3J5LT5kZXNjcmlwdGlvbil9CgkJCTxkaXYgY2xhc3M9ImNhdGVnb3J5LWRlc2NyaXB0aW9uIj4KCQkJCXtldmFsIHZhcj0kY2F0ZWdvcnktPmRlc2NyaXB0aW9ufQoJCQk8L2Rpdj4KCQkJey9pZn0KCTwvbGk+CnsvZm9yZWFjaH0KPHVsPgo8IS0tIGNhdGVnb3JpZXMgLy8tLT4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_category_hierarchy.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBjYXRlZ29yaWVzIGhpZXJhcmNoeSAtLT4KPHVsIGNsYXNzPSJjYXRlZ29yaWVzIj4Ke2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcyBpdGVtPWNhdGVnb3J5fQoKe2lmICRjYXRlZ29yeS0+ZGVwdGggPiAkY2F0ZWdvcnktPnByZXZkZXB0aH0KCXtyZXBlYXQgc3RyaW5nPSI8dWw+IiB0aW1lcz0kY2F0ZWdvcnktPmRlcHRoLSRjYXRlZ29yeS0+cHJldmRlcHRofQp7ZWxzZWlmICRjYXRlZ29yeS0+ZGVwdGggPCAkY2F0ZWdvcnktPnByZXZkZXB0aH0KCXtyZXBlYXQgc3RyaW5nPSI8L2xpPjwvdWw+IiB0aW1lcz0kY2F0ZWdvcnktPnByZXZkZXB0aC0kY2F0ZWdvcnktPmRlcHRofQoJPC9saT4Ke2Vsc2VpZiAkY2F0ZWdvcnktPmluZGV4ID4gMH0KCTwvbGk+CnsvaWZ9Cgp7aWYgJGNhdGVnb3J5LT5jdXJyZW50fQo8bGkgY2xhc3M9ImNhdGVnb3J5LXskY2F0ZWdvcnktPmFsaWFzfSBjdXJyZW50e2lmICRjYXRlZ29yeS0+cGFyZW50ID09IHRydWUgfHwgJGNhdGVnb3J5LT5jaGlsZHJlbnxAY291bnQgPiAwfSBwYXJlbnR7L2lmfSI+Cgk8YSBocmVmPSJ7JGNhdGVnb3J5LT51cmx9Ij57JGNhdGVnb3J5LT5tZW51dGV4dH08L2E+CntlbHNlfQo8bGkgY2xhc3M9ImNhdGVnb3J5LXskY2F0ZWdvcnktPmFsaWFzfXtpZiAkY2F0ZWdvcnktPnBhcmVudCA9PSB0cnVlIHx8ICRjYXRlZ29yeS0+Y2hpbGRyZW58QGNvdW50ID4gMH0gcGFyZW50ey9pZn0iPgoJPGEgaHJlZj0ieyRjYXRlZ29yeS0+dXJsfSI+eyRjYXRlZ29yeS0+bWVudXRleHR9PC9hPgp7L2lmfQoKey9mb3JlYWNofQoKCXtyZXBlYXQgc3RyaW5nPSI8L2xpPjwvdWw+IiB0aW1lcz0kY2F0ZWdvcnktPmRlcHRoLTF9Cgk8L2xpPgo8L3VsPgo8IS0tIGNhdGVnb3JpZXMgaGllcmFyY2h5IC8vLS0+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_detail_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBpdGVtIC0tPgo8ZGl2IGNsYXNzPSJpdGVtIj4KCTxoMiBjbGFzcz0iaXRlbS10aXRsZSI+eyRpdGVtLT50aXRsZXxjbXNfZXNjYXBlfTwvaDI+CgoJe2lmICFlbXB0eSgkaXRlbS0+ZmllbGRkZWZzKX0KCgk8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPgoJCXtmb3JlYWNoIGZyb209JGl0ZW0tPmZpZWxkZGVmcyBpdGVtPWZpZWxkZGVmfQoKCQl7KgoJCQlDYXRlZ29yaWVzIHdlcmUgbW92ZWQgdG8gZmllbGQgZGVmaW5pdGlvbnMuCgkJCUlmIHlvdSBuZWVkIENhdGVnb3JpZXMsIGNyZWF0ZSBuZXcgRmllbGQgZGVmaW5pdGlvbiB3aXRoIGFsaWFzICJjYXRlZ29yeSIKCQkJYW5kIENhdGVnb3JpZXMgd2lsbCBiZSBhdmFpbGFibGUgYWdhaW4uCgkJKn0KCgkJe2lmICRmaWVsZGRlZi50eXBlID09ICdDYXRlZ29yaWVzJyAmJiAoJGZpZWxkZGVmLnZhbHVlICE9ICcnKX0KCgkJCXsqIHVzZSBMaXN0SXQyTG9hZGVyIHBsdWdpbiBpZiB5b3UgbmVlZCBDYXRlZ29yeSBpbmZvcm1hdGlvbiBpbiBkZWZhdWx0IG1vZHVsZSBhY3Rpb24gdGVtcGxhdGVzICp9CgkJCXtMaXN0SXQyTG9hZGVyIGl0ZW09J2NhdGVnb3J5JyBmb3JjZV9hcnJheT0xIHZhbHVlPSRmaWVsZGRlZi52YWx1ZSBhc3NpZ249J2NhdHMnfQoJCgkJCTwhLS0gY2F0ZWdvcmllcyAtLT4KCQkJPGRpdiBjbGFzcz0iaXRlbS1jYXRlZ29yeSI+CgkJCQlDYXRlZ29yeTogeyRjYXRzfGltcGxvZGU6JywnfQoJCQk8L2Rpdj4KCQkJPCEtLSBjYXRlZ29yaWVzIC8vLS0+CgkJCQoJCXsvaWZ9CgoJCXtpZiAkZmllbGRkZWYudmFsdWUgJiYgJGZpZWxkZGVmLnR5cGUgIT0gJ0NhdGVnb3JpZXMnfQoJCQl7aWYgJGZpZWxkZGVmLnR5cGUgPT0gJ1NlbGVjdEZpbGUnIHx8ICRmaWVsZGRlZi50eXBlID09ICdGaWxlVXBsb2FkJ30KCQkJCXskZmllbGRkZWYubmFtZX06IDxhIGhyZWY9InskZmllbGRkZWYtPkdldEltYWdlUGF0aCh0cnVlKX0veyRmaWVsZGRlZi52YWx1ZX0iPnskZmllbGRkZWYudmFsdWV9PC9hPjxiciAvPgoJCXtlbHNlaWYgJGZpZWxkZGVmLnR5cGUgPT0gJ1NlbGVjdERhdGVUaW1lJ30KCQkJCQl7JGZpZWxkZGVmLm5hbWV9OiB7JGZpZWxkZGVmLnZhbHVlfGNtc19kYXRlX2Zvcm1hdH08YnIgLz4KCQl7ZWxzZX0KCQkJeyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX08YnIgLz4KCQkJey9pZn0KCQl7L2lmfQoKCQl7L2ZvcmVhY2h9Cgk8L2Rpdj4KCgl7L2lmfQoJCgk8YSBocmVmPSJ7JHJldHVybl9ocmVmfSIgY2xhc3M9InJldHVybi1saW5rIj5yZXR1cm48L2E+Cgl7KiBvciB1c2UgeyRyZXR1cm5fbGlua30gdG8gY3JlYXRlIGxpbmsgdGFnICp9CgkKPC9kaXY+CjwhLS0gaXRlbSAvLy0tPg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_search_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ieyRtb2R1bGVhbGlhc31fc2VhcmNoIj4KCXskZm9ybXN0YXJ0fQoJCTxsYWJlbCBmb3I9InskbW9kdWxlYWxpYXN9c2VhcmNoaW5wdXQiPnskbW9kLT5Nb2RMYW5nKCdzZWFyY2hmb3InKX06PC9sYWJlbD4mbmJzcDsKCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InskbW9kdWxlYWxpYXN9c2VhcmNoaW5wdXQiIG5hbWU9InskYWN0aW9uaWR9c2VhcmNoIiBzaXplPSIyMCIgbWF4bGVuZ3RoPSI1MCIgdmFsdWU9IiIgLz4KCQk8aW5wdXQgY2xhc3M9InNlYXJjaC1idXR0b24iIG5hbWU9InN1Ym1pdCIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzZWFyY2gnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCXskZm9ybWVuZH0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_search_filter.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ieyRtb2R1bGVhbGlhc31fZmlsdGVyIj4KCgk8aDM+eyRmaWx0ZXJwcm9tcHR9PC9oMz4KCgl7JGZvcm1zdGFydH0KCgkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWZzIGl0ZW09ZmllbGRkZWZ9CgkJPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgoJCQkKCQl7aWYgJGZpZWxkZGVmLnR5cGUgIT0gJ0NhdGVnb3JpZXMnfQoJCQk8bGFiZWwgZm9yPSJmaWx0ZXJfeyRmaWVsZGRlZi0+YWxpYXN9Ij57JGZpZWxkZGVmLT5uYW1lfTwvbGFiZWw+CgkJCQoJCQl7aWYgJGZpZWxkZGVmLnR5cGUgPT0gJ0NoZWNrYm94J30KCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWFyY2hfeyRmaWVsZGRlZi0+YWxpYXN9IiBpZD0iZmlsdGVyX3skZmllbGRkZWYtPmFsaWFzfSIgdmFsdWU9InskZmllbGRkZWYtPnZhbHVlfSIgLz4KCQkJe2Vsc2V9CgkJCQoJCQk8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9c2VhcmNoX3skZmllbGRkZWYtPmFsaWFzfSIgaWQ9ImZpbHRlcl97JGZpZWxkZGVmLT5hbGlhc30iPgoJCQkJPG9wdGlvbiB2YWx1ZT0nJz57JG1vZC0+TW9kTGFuZygnYWxsJyl9PC9vcHRpb24+CgkJCQl7Zm9yZWFjaCBmcm9tPSRmaWVsZGRlZi0+dmFsdWVzIGl0ZW09dmFsdWV9CgkJCQk8b3B0aW9uPnskdmFsdWV9PC9vcHRpb24+CgkJCQl7L2ZvcmVhY2h9CgkJCTwvc2VsZWN0PgoJCQl7L2lmfQoJCQkKCQl7L2lmfQoJCQkKCQk8L2Rpdj4KCQl7L2ZvcmVhY2h9CgkKCQk8aW5wdXQgY2xhc3M9InNlYXJjaC1idXR0b24iIG5hbWU9InN1Ym1pdCIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzZWFyY2gnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCgl7JGZvcm1lbmR9Cgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_search_multiselect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ieyRtb2R1bGVhbGlhc31fZmlsdGVyIj4KCgk8aDM+eyRmaWx0ZXJwcm9tcHR9PC9oMz4KCgl7JGZvcm1zdGFydH0KCgkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWZzIGl0ZW09ZmllbGRkZWZ9CgkJPGRpdiBjbGFzcz0iZmlsdGVyIGZvcm0tcm93Ij4KCgkJe2lmICRmaWVsZGRlZi50eXBlICE9ICdDYXRlZ29yaWVzJ30KCQkKCQkJPGxhYmVsPnskZmllbGRkZWYtPm5hbWV9PC9sYWJlbD48YnIgLz4KCQkJe2lmICRmaWVsZGRlZi50eXBlID09ICdDaGVja2JveCd9CgkJCQkKCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWFyY2hfeyRmaWVsZGRlZi0+YWxpYXN9IiBpZD0iZmlsdGVyX3skZmllbGRkZWYtPmFsaWFzfSIgdmFsdWU9InskZmllbGRkZWYtPnZhbHVlfSIgLz4KCQkJe2Vsc2V9CgkJCQkKCQkJCTxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zZWFyY2hfeyRmaWVsZGRlZi0+YWxpYXN9W10iIHNpemU9IjUiIG11bHRpcGxlPSJtdWx0aXBsZSI+CgkJCQkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWYtPnZhbHVlcyBpdGVtPSd2YWx1ZSd9CgkJCQkJPG9wdGlvbiB2YWx1ZT0ieyR2YWx1ZX0iPnskdmFsdWV9PC9vcHRpb24+CgkJCQkJey9mb3JlYWNofQoJCQkJPC9zZWxlY3Q+CgkJCXsvaWZ9CgkJey9pZn0KCQk8L2Rpdj4KCQl7L2ZvcmVhY2h9CgoJCTxpbnB1dCBjbGFzcz0ic2VhcmNoLWJ1dHRvbiIgbmFtZT0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPk1vZExhbmcoJ2ZpbHRlcicpfSIgdHlwZT0ic3VibWl0IiAvPgoKCXskZm9ybWVuZH0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_summary_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtc3xAY291bnQgPiAwfQoKCXtpZiAkcGFnZWNvdW50ID4gMX0KCTwhLS0gcGFnaW5hdGlvbiAtLT4KCTxwPgoJCXtpZiAkcGFnZW51bWJlciA+IDF9CgkJCXskZmlyc3RwYWdlfSZuYnNwO3skcHJldnBhZ2V9Jm5ic3A7CgkJey9pZn0KCQkJe2ZvcmVhY2ggZnJvbT0kcGFnZWxpbmtzIGl0ZW09cGFnZX0KCQkJCXskcGFnZS0+bGlua30KCQkJey9mb3JlYWNofQoJCXtpZiAkcGFnZW51bWJlciA8ICRwYWdlY291bnR9CgkJCSZuYnNwO3skbmV4dHBhZ2V9Jm5ic3A7eyRsYXN0cGFnZX0KCQl7L2lmfQoJPC9wPgoJPCEtLSBwYWdpbmF0aW9uIC8vLS0+Cgl7L2lmfQoJCgk8IS0tIGl0ZW1zIC0tPgoJe2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfQoJPCEtLSBpdGVtIC0tPgoJPGRpdiBjbGFzcz0iaXRlbSI+CgkKCQk8aDIgY2xhc3M9Iml0ZW0tdGl0bGUiPnskaXRlbS0+dGl0bGV9PC9oMj4KCQoJCXtpZiAhZW1wdHkoJGl0ZW0tPmZpZWxkZGVmcyl9CgkJPCEtLSBmaWVsZCBkZWZpbml0aW9ucyAtLT4KCQk8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPgoJCQl7Zm9yZWFjaCBmcm9tPSRpdGVtLT5maWVsZGRlZnMgaXRlbT1maWVsZGRlZn0KCQoJCQl7KgoJCQkJQ2F0ZWdvcmllcyB3ZXJlIG1vdmVkIHRvIGZpZWxkIGRlZmluaXRpb25zLgoJCQkJSWYgeW91IG5lZWQgQ2F0ZWdvcmllcywgY3JlYXRlIG5ldyBGaWVsZCBkZWZpbml0aW9uIHdpdGggYWxpYXMgImNhdGVnb3J5IgoJCQkJYW5kIENhdGVnb3JpZXMgd2lsbCBiZSBhdmFpbGFibGUgYWdhaW4uCgkJCSp9CgkKCQkJe2lmICRmaWVsZGRlZi50eXBlID09ICdDYXRlZ29yaWVzJyAmJiAoJGZpZWxkZGVmLnZhbHVlICE9ICcnKX0KCQoJCQl7KiB1c2UgTGlzdEl0MkxvYWRlciBwbHVnaW4gaWYgeW91IG5lZWQgQ2F0ZWdvcnkgaW5mb3JtYXRpb24gaW4gZGVmYXVsdCBtb2R1bGUgYWN0aW9uIHRlbXBsYXRlcyAqfQoJCQl7TGlzdEl0MkxvYWRlciBpdGVtPSdjYXRlZ29yeScgZm9yY2VfYXJyYXk9MSB2YWx1ZT0kZmllbGRkZWYudmFsdWUgYXNzaWduPSdjYXRzJ30KCQoJCQk8IS0tIGNhdGVnb3JpZXMgLS0+CgkJCTxkaXYgY2xhc3M9Iml0ZW0tY2F0ZWdvcnkiPgoJCQkJQ2F0ZWdvcnk6IHskY2F0c3xpbXBsb2RlOicsJ30KCQkJPC9kaXY+CgkJCTwhLS0gY2F0ZWdvcmllcyAvLy0tPgoJCQl7L2lmfQoJCgkJCXtpZiAkZmllbGRkZWYudmFsdWUgJiYgJGZpZWxkZGVmLnR5cGUgIT0gJ0NhdGVnb3JpZXMnfQoJCQkJe2lmICRmaWVsZGRlZi50eXBlID09ICdTZWxlY3RGaWxlJyB8fCAkZmllbGRkZWYudHlwZSA9PSAnRmlsZVVwbG9hZCd9CgkJCQkJeyRmaWVsZGRlZi5uYW1lfTogPGEgaHJlZj0ieyRmaWVsZGRlZi0+R2V0SW1hZ2VQYXRoKHRydWUpfS97JGZpZWxkZGVmLnZhbHVlfSI+eyRmaWVsZGRlZi52YWx1ZX08L2E+PGJyIC8+CgkJCQl7ZWxzZWlmICRmaWVsZGRlZi50eXBlID09ICdTZWxlY3REYXRlVGltZSd9CgkJCQkJeyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZXxjbXNfZGF0ZV9mb3JtYXR9PGJyIC8+CgkJCQl7ZWxzZX0KCQkJCQl7JGZpZWxkZGVmLm5hbWV9OiB7JGZpZWxkZGVmLnZhbHVlfTxiciAvPgoJCQkJey9pZn0KCQkJey9pZn0KCQoJCQl7L2ZvcmVhY2h9CgkJPC9kaXY+CgkJPCEtLSBmaWVsZCBkZWZpbml0aW9ucyAvLy0tPgoJCXsvaWZ9CgkKCQk8YSBocmVmPSJ7JGl0ZW0tPnVybH0iPm1vcmU8L2E+Cgk8L2Rpdj4KCTwhLS0gaXRlbSAvLy0tPgoJey9mb3JlYWNofQoJPCEtLSBpdGVtcyAvLy0tPgoKey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_summary_searchresults.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtc3xAY291bnQgPiAwfQoKe2lmICRwYWdlY291bnQgPiAxfQo8IS0tIHBhZ2luYXRpb24gLS0+CjxwPgp7aWYgJHBhZ2VudW1iZXIgPiAxfQogICAgeyRmaXJzdHBhZ2V9Jm5ic3A7eyRwcmV2cGFnZX0Key9pZn0Ke2ZvcmVhY2ggZnJvbT0kcGFnZWxpbmtzIGl0ZW09cGFnZX0KICAgIHskcGFnZS0+bGlua30Key9mb3JlYWNofQp7aWYgJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50fQogICAgJm5ic3A7eyRuZXh0cGFnZX0mbmJzcDt7JGxhc3RwYWdlfQp7L2lmfQo8L3A+CjwhLS0gcGFnaW5hdGlvbiAvLy0tPgp7L2lmfQoKe2lmICFlbXB0eSgkYWN0aW9ucGFyYW1zLnNlYXJjaCl9CiAgICA8aDI+eyRtb2QtPk1vZExhbmcoJ3NlYXJjaHJlc3VsdHNmb3InKX0gJnF1b3Q7eyRhY3Rpb25wYXJhbXMuc2VhcmNofSZxdW90OzwvaDI+CnsvaWZ9Cgo8dWw+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0KICAgIDxsaSBjbGFzcz0iaXRlbSBzZWFyY2hyZXN1bHQiPgogICAgICAgIDxhIGhyZWY9InskaXRlbS0+dXJsfSI+eyRpdGVtLT50aXRsZX08L2E+CiAgICA8L2xpPgp7L2ZvcmVhY2h9CjwvdWw+Cgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fielddeftab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRpdGVtcykgPiAwfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvZGl2Pgo8dGFibGUgaWQ9InNvcnRhYmxlX2ZpZWxkZGVmIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmJyl9PC90aD4KICAgICAgICAgICAgPHRoPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTwvdGg+CiAgICAgICAgICAgIDx0aD57JG1vZC0+TW9kTGFuZygnZmllbGRkZWZfdHlwZScpfTwvdGg+CiAgICAgICAgICAgIDx0aD57JG1vZC0+TW9kTGFuZygncmVxdWlyZWQnKX08L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8dGggdGl0bGU9InskbW9kLT5Nb2RMYW5nKCdzZWxlY3RfYWxsJyl9IiBjbGFzcz0icGFnZWljb24iPjxpbnB1dCBpZD0iY2hlY2tfYWxsX2ZpZWxkZGVmIiB0eXBlPSJjaGVja2JveCIgLz48L3RoPgogICAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5IGNsYXNzPSJjb250ZW50IiB3aWR0aD0iMTAwJSI+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09J2ZpZWxkZGVmJ30KICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgICAgPHRyIGlkPSJmaWVsZGRlZl97JGZpZWxkZGVmLT5HZXRJZCgpfSIgY2xhc3M9Inskcm93Y2xhc3N9IiBzdHlsZT0iY3Vyc29yOiBtb3ZlOyI+CiAgICAgICAgICAgIDx0ZD57JGZpZWxkZGVmLT5HZXROYW1lKCl9PC90ZD4KICAgICAgICAgICAgPHRkPnskZmllbGRkZWYtPkdldEFsaWFzKCl9PC90ZD4KICAgICAgICAgICAgPHRkPnskZmllbGRkZWYtPkdldEZyaWVuZGx5VHlwZSgpfTwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iaW5pdC1hamF4LXRvZ2dsZSI+eyRmaWVsZGRlZi0+R2V0UmVxdWlyZWQoKX08L3RkPgogICAgICAgICAgICA8dGQ+eyRmaWVsZGRlZi0+ZWRpdGxpbmt9PC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJpbml0LWFqYXgtZGVsZXRlIj57JGZpZWxkZGVmLT5kZWxldGVsaW5rfTwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmllbGRkZWYtbWFzcy1hY3Rpb24iPnskZmllbGRkZWYtPnNlbGVjdH08L3RkPgogICAgICAgIDwvdHI+CnsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CjwvdGFibGU+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij4KPHNlbGVjdCBpZD0ibGlzdGl0Ml9maWVsZGRlZl9tYXNzX2FjdGlvbiI+Cgk8b3B0aW9uIHZhbHVlPSIiPnskbW9kLT5Nb2RMYW5nKCdzZWxlY3Rfb25lJyl9PC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSJkZWxldGUiPkRlbGV0ZTwvb3B0aW9uPgkKCTxvcHRpb24gdmFsdWU9InJlcXVpcmUiPlRvZ2dsZSByZXF1aXJlPC9vcHRpb24+Cjwvc2VsZWN0Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDpyaWdodDsiPnskc3VibWl0b3JkZXJ9PC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVkX2J1dHRvbl9pZCIgdmFsdWU9IjdUS0dZUlkzU1JQRVkiPgo8aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lISI+CjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgo8L2Zvcm0+CjwvZGl2Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Inskcm9vdHVybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9mcmFtZXdvcmsvY3NzL2NvbG9yYm94LmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ZyYW1ld29yay9jc3MvYmFja2VuZC5jc3MiIHR5cGU9InRleHQvY3NzIiAvPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ZyYW1ld29yay9qcy9qcXVlcnkuY29sb3Jib3guanMiPjwvc2NyaXB0Pgo8c2NyaXB0PgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7bGRlbGltfQoJalF1ZXJ5KCcuY2JveCcpLmNvbG9yYm94KHtsZGVsaW19CgkJcmVsOidncm91cCcsCgkJaWZyYW1lOiB0cnVlLAoJCWlubmVyV2lkdGg6IDgwMCwKCQlpbm5lckhlaWdodDogNDUwLAoJCW9wYWNpdHk6IDAuMgoJe3JkZWxpbX0pOwp7cmRlbGltfSk7Cjwvc2NyaXB0Pgo8ZGl2IGlkPSJwYWdlX3RhYnMiPgoJPGRpdiBpZD0iZ2VuZXJhbCI+CgkJeyRtb2QtPk1vZExhbmcoJ2dlbmVyYWwnKX0KCTwvZGl2PgoJPGRpdiBpZD0idXNhZ2UiPgoJCXskbW9kLT5Nb2RMYW5nKCd1c2FnZScpfQoJPC9kaXY+Cgk8ZGl2IGlkPSJwZXJtaXNzaW9ucyI+CgkJeyRtb2QtPk1vZExhbmcoJ3Blcm1pc3Npb25zJyl9Cgk8L2Rpdj4KCTxkaXYgaWQ9ImZpZWxkIj4KCQl7JG1vZC0+TW9kTGFuZygnZmllbGRkZWZzJyl9Cgk8L2Rpdj4KCTxkaXYgaWQ9ImNhdGVnb3JpZXMiPgoJCXskbW9kLT5Nb2RMYW5nKCdjYXRlZ29yaWVzJyl9Cgk8L2Rpdj4KCTxkaXYgaWQ9InRlbXBsYXRlcyI+CgkJeyRtb2QtPk1vZExhbmcoJ3RlbXBsYXRlcycpfQoJPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pgo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPiAgCgk8ZGl2IGlkPSJnZW5lcmFsX2MiPgoJCTxpbWcgc3JjPSJ7JHJvb3R1cmx9L21vZHVsZXMveyRwYXJlbnRfbmFtZX0vaW1hZ2VzL2xpc3RpdC1leHRlbmRlZC1sb2dvLmpwZyIgYWx0PSJMaXN0SXRFeHRlbmRlZCBMb2dvIiAvPgoJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX2dlbmVyYWwnKX0KCTwvZGl2PgkKCTxkaXYgaWQ9InVzYWdlX2MiPgkJCgkJeyR1c2FnZV90ZXh0fQoJCTxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjIxMHB4OyBtYXJnaW4tcmlnaHQ6MTBweDsgbWFyZ2luLWJvdHRvbToyMHB4OyI+CQkJCgkJCTxhIHRpdGxlPSJTZXR0aW5nIHRoZSBNb2R1bGUgT3B0aW9ucyIgY2xhc3M9ImNib3giIHJlbD0iZ3JvdXAiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby80OTQ2MjE0OSI+CgkJCQk8aW1nIHNyYz0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ltYWdlcy9zY3JlZW5zaG90cy90aHVtYl9zY3JlZW5zaG90MS5qcGciIGFsdD0iU2V0dGluZyB0aGUgTW9kdWxlIE9wdGlvbnMiIC8+PC9hPgoJCTwvZGl2PgkJCgkJPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPgoJCQl7JG1vZC0+TW9kTGFuZygnaGVscF91c2FnZV9vcHRpb25zJyl9CgkJPC9kaXY+CgkJPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4KCQk8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsiPgoJCQk8YSB0aXRsZT0iU2V0dGluZyB0aGUgRmllbGQgRGVmaW5pdGlvbnMiIGNsYXNzPSJjYm94IiByZWw9Imdyb3VwIiBocmVmPSIvL3BsYXllci52aW1lby5jb20vdmlkZW8vNDk0NjIxNDgiPgoJCQkJPGltZyBzcmM9Inskcm9vdHVybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9pbWFnZXMvc2NyZWVuc2hvdHMvdGh1bWJfQWRkX0ZpZWxkRGVmX1RhYjguanBnIiBhbHQ9IlNldHRpbmcgdGhlIEZpZWxkIERlZmluaXRpb25zIiAvPjwvYT4KCQk8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBkaXNwbGF5OiBpbmxpbmU7Ij4KCQkJeyRtb2QtPk1vZExhbmcoJ2hlbHBfdXNhZ2VfZmllbGRkZWZzJyl9CgkJPC9kaXY+CgkJPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4KCQk8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsiPgoJCQk8YSB0aXRsZT0iU2V0dGluZyB0aGUgbGlzdCBjYXRlZ29yaWVzIiBjbGFzcz0iY2JveCIgcmVsPSJncm91cCIgaHJlZj0iLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzUwODE5NjcwIj4KCQkJCTxpbWcgc3JjPSJ7JHJvb3R1cmx9L21vZHVsZXMveyRwYXJlbnRfbmFtZX0vaW1hZ2VzL3NjcmVlbnNob3RzL3RodW1iX0NhdGVnb3JpZXNfVGFiOC5qcGciIGFsdD0iU2V0dGluZyB0aGUgbGlzdCBjYXRlZ29yaWVzIiAvPgoJCQk8L2E+CgkJPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPgoJCQl7JG1vZC0+TW9kTGFuZygnaGVscF91c2FnZV9jYXRlZ29yaWVzJyl9CgkJPC9kaXY+CgkJPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4KCQk8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsiPgoJCQk8YSB0aXRsZT0iQWRkaW5nIExpc3QgSXRlbXMiIGNsYXNzPSJjYm94IiByZWw9Imdyb3VwIiBocmVmPSIvL3BsYXllci52aW1lby5jb20vdmlkZW8vNTA4MjEzMTciPgoJCQkJPGltZyBzcmM9Inskcm9vdHVybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9pbWFnZXMvc2NyZWVuc2hvdHMvdGh1bWJfQWRkX0l0ZW1fVGFiOC5qcGciIGFsdD0iQWRkaW5nIExpc3QgSXRlbXMiIC8+PC9hPgoJCTwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4KCQkJeyRtb2QtPk1vZExhbmcoJ2hlbHBfdXNhZ2VfaXRlbXMnKX0KCQk8L2Rpdj4KCQk8YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPgoJPC9kaXY+Cgk8ZGl2IGlkPSJwZXJtaXNzaW9uc19jIj4KCQl7JHBlcm1pc3Npb25zX3RleHR9Cgk8L2Rpdj4KCTxkaXYgaWQ9ImZpZWxkX2MiPgoJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX2ZpZWxkZGVmcycpfQoJCTxhIHRpdGxlPSJDcmVhdGluZyBjdXN0b20gZmllbGQgZGVmaW5pdGlvbiIgY2xhc3M9ImNib3giIHJlbD0iZ3JvdXAiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby81NTcyODEyNyI+CgkJCQk8aW1nIHNyYz0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ltYWdlcy9zY3JlZW5zaG90cy9jdXN0b21fZmllbGRzX3RodW1iLmpwZyIgYWx0PSJDcmVhdGluZyBjdXN0b20gZmllbGQgZGVmaW5pdGlvbiIgLz4KCQk8L2E+Cgk8L2Rpdj4KCTxkaXYgaWQ9ImNhdGVnb3JpZXNfYyI+CgkJeyRtb2QtPk1vZExhbmcoJ2hlbHBfY2F0ZWdvcmllcycpfQoJPC9kaXY+Cgk8ZGl2IGlkPSJ0ZW1wbGF0ZXNfYyI+CgkJeyR0ZW1wbGF0ZXNfdGV4dH0KPHByZSBjbGFzcz0iY29kZSI+PGNvZGU+CntsaXRlcmFsfQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19Cgl7JGl0ZW0tPmZpZWxkZGVmcy5wb3NpdGlvbi52YWx1ZXxjbXNfZXNjYXBlfSZsdDticiAvJmd0Owp7L2ZvcmVhY2h9CnsvbGl0ZXJhbH0KCntsaXRlcmFsfQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19Cgl7JGl0ZW0tPnBvc2l0aW9ufGNtc19lc2NhcGV9Jmx0O2JyIC8mZ3Q7CnsvZm9yZWFjaH0Key9saXRlcmFsfQo8L2NvZGU+CjwvcHJlPgoJPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/templates/itemtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRpdGVtcykgPiAwfQo8ZGl2IGNsYXNzPSJpdGVtLXNlYXJjaCI+Cjxmb3JtIGlkPSJxdWlja3NlYXJjaF9mb3JtIj4gCgk8bGFiZWwgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnc2VhcmNoJyl9IHskdGl0bGVfcGx1cmFsfTogPC9sYWJlbD4KCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2VhcmNoIiB2YWx1ZT0iIiBpZD0iaXRlbV9zZWFyY2giIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TW9kTGFuZygnc2VhcmNoZm9yJyl9IHskdGl0bGV9IiAvPiAKPC9mb3JtPgkKPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9e2lmIGlzc2V0KCRpbXBvcnRsaW5rKX17JGltcG9ydGxpbmt9ey9pZn17aWYgaXNzZXQoJGV4cG9ydGxpbmspfXskZXhwb3J0bGlua317L2lmfTwvZGl2Pgo8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VzaG93cm93cyI+eyRwYWdpbmF0aW9ufTwvZGl2Pgo8dGFibGUgaWQ9InNvcnRhYmxlX2l0ZW0iIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIHskdGhlbWVPYmplY3QtPnRoZW1lTmFtZX0iPgoJPHRoZWFkPgoJCTx0ciBjbGFzcz0idG9wIj4KCQkJPHRoPnskdGl0bGV9PC90aD4KCQkJPHRoPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTwvdGg+CgkJCXtmb3JlYWNoIGZyb209JGl0ZW1zLjAtPmZpZWxkZGVmcyBpdGVtPWZpZWxkZGVmfQoJCQk8dGg+eyRmaWVsZGRlZi5uYW1lfTwvdGg+CgkJCXsvZm9yZWFjaH0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5jcmVhdGVfdGltZSl9PHRoPnskbW9kLT5Nb2RMYW5nKCdjcmVhdGVfdGltZScpfTwvdGg+ey9pZn0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5zdGFydF90aW1lKX08dGg+eyRtb2QtPk1vZExhbmcoJ3N0YXJ0X3RpbWUnKX08L3RoPnsvaWZ9CgkJCXtpZiBpc3NldCgkaXRlbXMuMC0+ZW5kX3RpbWUpfTx0aD57JG1vZC0+TW9kTGFuZygnZW5kX3RpbWUnKX08L3RoPnsvaWZ9CgkJCXtpZiBpc3NldCgkaXRlbXMuMC0+YXBwcm92ZSl9PHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD57L2lmfQoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPmRlbGV0ZSl9PHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD57L2lmfQoJCQk8dGggdGl0bGU9InskbW9kLT5Nb2RMYW5nKCdzZWxlY3RfYWxsJyl9IiBjbGFzcz0icGFnZWljb24gbm8tc29ydCI+PGlucHV0IGlkPSJjaGVja19hbGxfaXRlbSIgdHlwZT0iY2hlY2tib3giIC8+PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keSBjbGFzcz0iY29udGVudCIgd2lkdGg9IjEwMCUiPgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KCQk8dHIgaWQ9Iml0ZW1feyRlbnRyeS0+aXRlbV9pZH0iIGNsYXNzPSJ7JHJvd2NsYXNzfSIgc3R5bGU9ImN1cnNvcjogbW92ZTsiPgoJCQk8dGQ+eyRlbnRyeS0+dGl0bGV9PC90ZD4KCQkJPHRkPnskZW50cnktPmFsaWFzfTwvdGQ+CgkJCXtmb3JlYWNoIGZyb209JGVudHJ5LT5maWVsZGRlZnMgaXRlbT1maWVsZGRlZn0KCQkJPHRkPnskZmllbGRkZWYtPlJlbmRlckZvckFkbWluTGlzdGluZygkYWN0aW9uaWQsICRyZXR1cm5pZCl9PC90ZD4KCQkJey9mb3JlYWNofQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPmNyZWF0ZV90aW1lKX08dGQ+eyRlbnRyeS0+Y3JlYXRlX3RpbWV9PC90ZD57L2lmfQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPnN0YXJ0X3RpbWUpfTx0ZD57JGVudHJ5LT5zdGFydF90aW1lfTwvdGQ+ey9pZn0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5lbmRfdGltZSl9PHRkPnskZW50cnktPmVuZF90aW1lfTwvdGQ+ey9pZn0KCQkJe2lmIGlzc2V0KCRlbnRyeS0+YXBwcm92ZSl9PHRkIGNsYXNzPSJpbml0LWFqYXgtdG9nZ2xlIGFwcHJvdmUtaXRlbSI+eyRlbnRyeS0+YXBwcm92ZX08L3RkPnsvaWZ9CgkJCTx0ZD57JGVudHJ5LT5jb3B5bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJe2lmIGlzc2V0KCRlbnRyeS0+ZGVsZXRlKX08dGQgY2xhc3M9ImluaXQtYWpheC1kZWxldGUiPnskZW50cnktPmRlbGV0ZX08L3RkPnsvaWZ9CgkJCTx0ZCBjbGFzcz0iaXRlbS1tYXNzLWFjdGlvbiI+eyRlbnRyeS0+c2VsZWN0fTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4KPGRpdiBjbGFzcz0icGFnZXNob3dyb3dzIj57JHBhZ2luYXRpb259PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij4KPHNlbGVjdCBpZD0ibGlzdGl0Ml9pdGVtX21hc3NfYWN0aW9uIj4KCTxvcHRpb24gdmFsdWU9IiI+eyRtb2QtPk1vZExhbmcoJ3NlbGVjdF9vbmUnKX08L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9ImRlbGV0ZSI+RGVsZXRlPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSJhcHByb3ZlIj5Ub2dnbGUgYXBwcm92ZTwvb3B0aW9uPgo8L3NlbGVjdD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij57JHN1Ym1pdG9yZGVyfTwvZGl2Pgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua317aWYgaXNzZXQoJGltcG9ydGxpbmspfXskaW1wb3J0bGlua317L2lmfXtpZiBpc3NldCgkZXhwb3J0bGluayl9eyRleHBvcnRsaW5rfXsvaWZ9PC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ21vZHVsZV9vcHRpb25zJyl9PC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+CgkJPGgzPnskbW9kLT5Nb2RMYW5nKCdub3RpY2UnKX08L2gzPgoJCTxwPnskbW9kLT5Nb2RMYW5nKCdvcHRpb25zX25vdGljZScpfTwvcD4KCTwvZGl2PgkKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2ZyaWVuZGx5bmFtZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcmllbmRseW5hbWV9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9tb2RkZXNjcmlwdGlvbicpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tb2RkZXNjcmlwdGlvbn08L3A+CiAgICA8L2Rpdj4gICAgICAKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2FkbWluc2VjdGlvbicpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hZG1pbnNlY3Rpb259PC9wPgogICAgPC9kaXY+ICAgICAKPC9maWVsZHNldD4gCjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2RlZmF1bHRfb3B0aW9ucycpfTwvbGVnZW5kPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfZGV0YWlscGFnZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXRhaWxwYWdlfTwvcD4KICAgIDwvZGl2PiAKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X3N1bW1hcnlwYWdlJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlwYWdlfTwvcD4KICAgIDwvZGl2PiAJCjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KICAgIDxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2l0ZW1zX29wdGlvbnMnKX08L2xlZ2VuZD4gICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV90aXRsZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX3RpdGxlfTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV9zaW5ndWxhcicpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX3Npbmd1bGFyfTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV9wbHVyYWwnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9wbHVyYWx9PC9wPgogICAgPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9jcmVhdGVfZGF0ZScpfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NyZWF0ZV9kYXRlfTwvcD4KICAgIDwvZGl2PiAgICAKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2l0ZW1fY29scycpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX2NvbHN9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9pdGVtc19wZXJfcGFnZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtc19wZXJfcGFnZX08L3A+CiAgICA8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygndGV4dF9zb3J0b3JkZXInKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc29ydG9yZGVyfTwvcD4KICAgIDwvZGl2PiAgICAgCjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ3VybF9vcHRpb25zJyl9PC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF91cmxfcHJlZml4Jyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VybF9wcmVmaXh9PC9wPgogICAgPC9kaXY+IAoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfc3ViY2F0ZWdvcnknKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc3ViY2F0ZWdvcnl9PC9wPgogICAgPC9kaXY+CQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfZGlzcGxheV9pbmxpbmUnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGlzcGxheV9pbmxpbmV9PC9wPgogICAgPC9kaXY+CjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ3htb2R1bGVfb3B0aW9ucycpfTwvbGVnZW5kPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfcmVpbmRleF9zZWFyY2gnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVpbmRleF9zZWFyY2h9PC9wPgogICAgPC9kaXY+IAkKPC9maWVsZHNldD4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCXskc3VibWl0fQoJCTwvcD4KICAgIDwvZGl2PgoKeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/templatetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2ZvcmVhY2ggZnJvbT0kaXRlbXMga2V5PXNlY3Rpb24gaXRlbT10ZW1wbGF0ZXN9CgoJPGZpZWxkc2V0PgoJCXtjYXB0dXJlIGFzc2lnbj0nc2VjdGlvbl9sYW5nJ317JHNlY3Rpb259dGVtcGxhdGVzey9jYXB0dXJlfQoJCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJHNlY3Rpb25fbGFuZyl9PC9sZWdlbmQ+CgoJCXtpZiBjb3VudCgkdGVtcGxhdGVzKSA+IDB9CgkJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD57JG1vZC0+TW9kTGFuZygndGVtcGxhdGUnKX08L3RoPgkJCQkKCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj57J2RlZmF1bHQnfGxhbmd9PC90aD4KCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHk+CgkJCXtmb3JlYWNoIGZyb209JHRlbXBsYXRlcyBpdGVtPWVudHJ5fQoJCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInIG5hbWU9J3N1bW1hcnknfSI+CgkJCQkJPHRkPnskZW50cnktPmxpbmt9PC90ZD4KCQkJCQk8dGQ+eyRlbnRyeS0+ZGVmYXVsdH08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LT5lZGl0fTwvdGQ+CgkJCQkJPHRkIGNsYXNzPSJpbml0LWFqYXgtZGVsZXRlIj57JGVudHJ5LT5kZWxldGV8ZGVmYXVsdDonJ308L3RkPgoJCQkJPC90cj4KCQkJey9mb3JlYWNofQoJCQk8L3Rib2R5PgoJCTwvdGFibGU+CgkJey9pZn0KCgkJPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua3MuJHNlY3Rpb259PC9kaXY+Cgk8L2ZpZWxkc2V0PgkKCQp7L2ZvcmVhY2h9]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/colorbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/colorbox/controls.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAH0AAAAyCAMAAABGUCSuAAAAS1BMVEW/v7+fn5/v7+////+Hh4cPDw8/Pz9/f3/f39+AgIAAAADPz8+Xl5e3t7dvb2+vr6/n5+f39/cvLy+np6ePj4/Hx8dfX1/X19dPT08As0YMAAABqklEQVR4Xu3V2WrsMAwAUC3enX2W9v+/9HrChNKxzERQeh9qPSRgER0UIgX4f0bXu36TgduqA8IiU4QIfEMkSV+HKANxEPh1MA9kMXUSYhb1ECMyxhgEfTGxpccC1UQ53R8CITUq9VzwiIiX78iMiCVRdbO7Jj8ui6DHy6rRIR7x0vcRo8THGj9qDXReH2NLf8cvLOvR0Gkdfl4fzuuc3+lZ+eZx5bP6UWwEgJdKAONuSLiB5lc3KyeOhvbEDaScuMxKnde5oYvjs5jnthF6N4G1envTypuL6LhVCrEYBPDBHwDU/3Fd/+3oete73vWrDFxJWTLLVHDO89W5IOm0JRlIm8DTZh9ItnXSJxR1SMmxSwkEPdvU0lOBaqKc7g95ITUpdSx4cs59fkfu5agkqm521+LjkgU9fZJG9+mIl76PmCQ+1fhRawvn9Sm19Hd8ZllPNpzW/c/r23md8Z2OyjfviM/qR7HJe/9SyftpNyTc+uZXd1dOXNjaE7cF5cQhK3Wme0MXxyfb57YRerfAWr29aVE8DeG4VUpgMYL3M8/eh7/4j+t617v+DxheWmCszl0eAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhMAAwAPf/AHHE2gC87GXJ5FfA2xK98kbK83zN4gC/65Dg+d3s8IzS5ErG6W3K41PG5iO+7JfK2AC672S0yVyswrfa5Mvk67fh7FvK6XnK33jN4WLG4lmzzTXB6W290nHL4/D5/Bu97mnJ5Bq13KbR3jS+43a5yyK43/r9/WGtwuP0+WTD3Tury4HL3+r09jHB6qne7+z2+CG64S7B6P3+/lzI5TjC6VS61hSs0wC18FXI6krL7UPC5AOx2yLA6YW+zXbT65XX6Sy74WDI5VLO9HvY9EutyX7S5qrl90upxXnN4Ti11nrM4gC27ieszOTx9U210RinyXbI3gi58HbM4lW30ybA8BvA6Q603bLh8QCiymu5zg26712/29Lx+nTM4nrP5T3D6KDh83XL4TTA5kCmxAC56k7F52nP6gG04nzE2B7A8pXZ602+3Nz1/IPC1IfS5GLM6JvS4orV6gS58XHD2WyyxQKhxnLN5ha87xPA6QCs3JzZ6GrJ42nS80XE6Pb8/oTR4z3A5VjH5un4/Lrm8J/M2VKqw2rH4m3N5+z4+9bp7+/5/Lbj8cPf543d9SnB6SvA7UPE6nXF23LL4lu61QCq0njM4gS770HD6ErF527D2VS+3BG77xOy2gmu1UmnwkmwznnL4HbH3XHB1wm/6VnC4B2x1/X6+/H4+gq68DbG6l3E4oPQ4kjD5VW72C3C7+b3/fD3+QC65Mzq8sbu+ii/7A7A6Yzf+WzL5Ae97dTv9hi/8ga/6XXO5WnM51HA3kauyw+lygCfx6zf8InP43fM4gujxhS77zbE7UTH7YjD1M7w+pHU5pne7/P7/V3H5T/I8KzX423A1jugvAy950Opx2KwxqTc7DPD7WbI5HDP6k/I6gi+7A2/6g687rTW3wanzev4+zvE7Nnw9YjI24DQ40a52XC/1KLf8LLk8rLm9LTn9ASw2A+v2UDE7GfM58Dp9Lvq9oLa9KDV5ILc+GW4zkrB4m/H4GrB2IXY7mvF3W/E2XvN4QC48QC58v///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MThCRUI5MEY5MkZFRTExMTg1RjQ5OTBCMjZFMjNFOTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDhCMUYxNkZGRTk1MTFFMUI4RUJDNUQyQjU1MERDMDUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDhCMUYxNkVGRTk1MTFFMUI4RUJDNUQyQjU1MERDMDUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSWxsdXN0cmF0b3IgQ1M1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZThlNjYyZDUtYzYxMC00ZmQzLWFhNDUtNDg4NGVhODNkOWE0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4QkVCOTBGOTJGRUUxMTE4NUY0OTkwQjI2RTIzRTkzIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+TGlzdEl0RXh0ZW5kZWQtbG9nby1pY29uLW9rPC9yZGY6bGk+IDwvcmRmOkFsdD4gPC9kYzp0aXRsZT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj3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]]></data>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-anim_basic_16x16.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_diagonals-thick_18_b81900_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAy0lEQVRYhe3XQQrCMBSE4d8svIH0Ft5/5X3EG7jRTYUYk5ekackgb5alDF8LbZjT7bq8SPJ83NNLPzlfluo9e/SFPctyGe37AqrhIAIq4mAFquIAgjIOMh/JSNkRD2sCZ+PAeIMKOCgAVXCQASrhIAGq4SACKuJgBariAIIyDhp+1D1lRzxsE3DmcVgFzj6rTeBsHBhABRwUgCo48E3im6Sv7BPfJFvLfJOMllnxTdJSlotvkp6yOL5JtpSBb5Kxstb4JimV1fKXm+QNcHvyUkD/BIAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_diagonals-thick_20_666666_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAwklEQVRYhe3XXQqDMBhE0dtsIKvNwrOC+mIhTfNrlAzlm0eR4ShomFcI4U2WGGN+6Sfe++49d/S5O8tKWe37AqrhIAEq4uAEquIAnDIOCh/JStkTD9sE7sZB4w0q4KACVMFBAaiEgwyohoMEqIiDE6iKA3DKOBj4Uc+UPfGwQ8Cdx2EXuPusbgJ346ABVMBBBaiCA9sktknmyj6xTXK1zDbJalkrtklGykqxTTJTlsY2yZUysE2yVjYa2yS1sl7+cpMcegPyrqBRcaoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_flat_10_000000_40x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAeUlEQVRoge3OMQHAIBAAsQf/nlsJDDfAkCjImplvHrZvB04EK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEqx92LQHHRpDUNwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_glass_65_ffffff_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAMElEQVQ4je3LIQ4AIBTD0O3f/8wrFgmKhMy8pKJKwkhSKeVbbGuAPU9f4PIopTxgAeS0DRtI4yK0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_glass_100_f6f6f6_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAL0lEQVQ4je3HsQ0AIBDDwIT9F/4igpYiAyDk5mRrZvaSJAD4liT32u7bqi0APMcBiYQKDwcroFAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_glass_100_fdf5ce_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAARElEQVQ4jWP4+/PhfyYGBgaGUWKUGCWGL/HnLQMTAwMjjGBkYmBiYGBiYGJgZEZlMcNlYRKMCMUQAwbcM6PEKDFKYCEAGrQJAcbElNQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_gloss-wave_35_f6a828_500x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_highlight-soft_75_ffe45c_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAASElEQVQYldWPwQmAQBADJ+m/DfuzgN2ND/WjX+HwMzAQBkL2LQb4EZLCZLAYnDSWGpO6lBSGwjy1sHjvRN+pM1oYBmv5349xADIyLQUayPX/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_highlight-soft_100_eeeeee_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAAIUlEQVQYlWP48ePHfyYGBgaGIUT8//8fO5cSFn6J4UQAAJSgIpAFCJPdAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_228ef1_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEUkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvQkjvRBIJjhAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_222222_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_ef8c08_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_ffd27a_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nzkx5/eAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMM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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_ffffff_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/listit-extended-logo.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMTk4QkNCM0ZGMDkxMUUxOEU1MUNFM0E1NTU2OEI4NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMTk4QkNCNEZGMDkxMUUxOEU1MUNFM0E1NTU2OEI4NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMxOThCQ0IxRkYwOTExRTE4RTUxQ0UzQTU1NTY4Qjg2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMxOThCQ0IyRkYwOTExRTE4RTUxQ0UzQTU1NTY4Qjg2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEB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]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/moduleui/ajax-loader-wide.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/banner.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABQCAYAAADYxx/bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAAWdEVYdENyZWF0aW9uIFRpbWUAMTAvMTAvMzDEOp2NAAAAJ0lEQVQYlWP4+PHjfyYGBgYGpv///0MJNC6xYkSYQl9tpLt5wL0KAHD2rsaLVlOZAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/sortable.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/sortable_asc.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/sortable_asc_orange.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIABAPqABP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZGOUEzMTREMUM3MTFFMUFEODA5RDlGNDJCOTAzQjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZGOUEzMTVEMUM3MTFFMUFEODA5RDlGNDJCOTAzQjgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkY5QTMxMkQxQzcxMUUxQUQ4MDlEOUY0MkI5MDNCOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkY5QTMxM0QxQzcxMUUxQUQ4MDlEOUY0MkI5MDNCOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/sortable_desc.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/sortable_desc_orange.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIABAPqABP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTIwMkY2QTNEMUM3MTFFMUIyMDFGNUM2QjUyNkUzMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTIwMkY2QTREMUM3MTFFMUIyMDFGNUM2QjUyNkUzMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MjAyRjZBMUQxQzcxMUUxQjIwMUY1QzZCNTI2RTMxNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MjAyRjZBMkQxQzcxMUUxQjIwMUY1QzZCNTI2RTMxNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAVAAQAAAINjI+AywnaYnhUMopbAQA7]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/sortable_orange.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAJAIABAPqABP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0FGRDg3ODhEMUM3MTFFMUJGNUVCNjJFRDBBRjg0QjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0FGRDg3ODlEMUM3MTFFMUJGNUVCNjJFRDBBRjg0QjkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozQUZEODc4NkQxQzcxMUUxQkY1RUI2MkVEMEFGODRCOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozQUZEODc4N0QxQzcxMUUxQkY1RUI2MkVEMEFGODRCOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/screenshots/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/screenshots/custom_fields_thumb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QOeaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM1ODA4QkUwRURCMTFFMkE4M0ZBMUU5Mjg3NjZCRDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM1ODA4QkYwRURCMTFFMkE4M0ZBMUU5Mjg3NjZCRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkFDNTgwOEJEMEVEQjExRTJBODNGQTFFOTI4NzY2QkQ4Ii8+IDxkYzpjcmVhdG9yPiA8cmRmOlNlcT4gPHJkZjpsaT51bmlxdTM8L3JkZjpsaT4gPC9yZGY6U2VxPiA8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]]></data>
	</file>
	<file>
	  <filename>/images/screenshots/thumb_Add_FieldDef_Tab8.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QOeaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Qzk3N0FBQjUwRUM2MTFFMkJCNzZBQTJBODgyNDA2NjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Qzk3N0FBQjYwRUM2MTFFMkJCNzZBQTJBODgyNDA2NjEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM5NzdBQUI0MEVDNjExRTJCQjc2QUEyQTg4MjQwNjYxIi8+IDxkYzpjcmVhdG9yPiA8cmRmOlNlcT4gPHJkZjpsaT51bmlxdTM8L3JkZjpsaT4gPC9yZGY6U2VxPiA8L2RjOmNyZWF0b3I+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+0ASFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAPHAFaAAMbJUccAgAAAgACADhCSU0EJQAAAAAAEPzhH4nIt8l4LzRiNAdYd+v/7gAOQWRvYmUAZMAAAAAB/9sAhAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMDAQEBAQEBAQIBAQICAgECAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCACIAMgDAREAAhEBAxEB/8QA0AABAAAHAQEBAQAAAAAAAAAAAAIDBAUGBwgJAQoLAQEBAAMBAQEBAAAAAAAAAAAAAQIDBQQGBwgQAAEDAgQCAwURDAUHDQEAAAIBAwQFBgAREgchEzEUCCKT01TUQVFh0XIjM5QVFtYXl1gJGQoyUrJTJDRV1ZZXGBpxkkNElZFjs2R0pCWBobFigtJzozVFJlYnKBEAAQMCBAIHBQYFBAMAAAAAAQARAgMEITESBUETUWFxkSLSBvBSolMHgaHhMkIUwdHxchWxYoIjM6Mk/9oADAMBAAIRAxEAPwDsG6e21WLSvZ6yGdrarWY0WXR4DdxQ5TjdPVJsOlyXn5TQUGQEVAGoqjAA48shWiTuF4YyjEyy9uxHbE5Ld9570XRZ1hfGQ1SkuaCLFflTLTgR6XDrsNqkxpRw2YSBWalUalLnSYJgSFDbRBdb7kFz1fh/pT6k77v+7beKlvS/xu43FxTnSAhCvZxpRny5TH7ipUqvOmY1SaUBASiWgzH9Z9Reg9p2bb74RrVBe2FCjONXxzo3Uqkoa4xPJhTptGYNMCrPUYyGqQII5jh/SA3RMuJilpszVGKe7QKvVXH5FQkMy2ptPosuuMRHOdb7cZtHG4axXA4mL6qQqQBkf7hoK/JXxZWuD9Ibd0sOS5szKYnE5LcZU6jNAJMSBIaOUrMJ23m5KOpCeEUJXFEHF5hog+t4aT9iq7Poe8UqrUWkVR+LHiO1WmQKicNdJlDWfEZldUNxRHmuRedyyNEFDIVVBFFyTRSFcRPPMDPUW0ggaX8OZJdszkTkBktlTkuOSJiLB9RBLtjiAAz5BnbNXlnd2ey000j5IjTYNonMJMkbFBRMs+CIiY2rWpnxw1Dxgu+l6eCJ8cNQ8YLvpengifHDUPGC76Xp4Inxw1Dxgu+l6eCJ8cNQ8YLvpengifHDUPGC76Xp4Inxw1Dxgu+l6eCJ8cNQ8YLvpengix6Rv7WmJrsQKFcMptuS1GSdHGOsRxHFZRZDauzGnCjNc7MjQckECXpFUSAk4AH2f+OH2hXiBhj7fircPaPrK89FtS9hcZYlOoK0+OrbxxozklI7D6VJQcdkoHLa8wniQeHTinBRsHOX+nap0XtE1qU+Mb3sXhGM1IUcmRoDEVCSLJljzZaVZxhoHBjctCVchedbAtKlwgLh2KyMSC2Bx4KKR2h60xMfiDbV3yhYMg65FiwlhvaSdFDYdkVWOTrbgtakJByyIc8s8UY5KAP0Dt7H+/goJPaLq8Z11v3s3pKFp02kfh05l9lzInRBxtTqLLptOI1nqQNIoQ5rxRcAH7kYuRxCj/iFrBQIc4Lau0nJbjrZ05yJGaqMTlSji8yS2dQWODZqHNEldRCYVDTiunFbB+CEMWVA72k6yxo12ZfjiHHB9Oq0yJJ0kTSunHcQaoKg+3loyXgTioiLxzxBiH4OhiRmp7/aNrDDkkPele74sOG227Gp8JwJaAAOa4wlVW3iEhJURVFE1io555IsfFsVYx1DMAkf6qpjdoSrSJ4wjty7YrbjJPBPkwY4QUyhtzOS84NRJxh9Vc5OSio88VDVwVUoxWPAHpVM72jau2ekLUvR9vXHBX26dHFv19gH9YA7UQkEDOvlmqgOl1FFckTPAllW6woW+0lWBVhxbOvzun3WlAaXDNwFjuKCmQBV1JGHVRFA+gwVCHNM8pHEY4Ix49f3L84730tG4kKNZT7u32zlOgXo5WmYbs7cuv8ALt5mi1FynId0twGKjUKM3NQENpXY4qQl0LxVONt2+2+5btuG0U6NzTq7fOlGU50qkKdTmQ1g0ZyiI1RHGEzCUgJDMOy7F/tNxt+2WO6ValvOlfQqSjCFSE6lPlzESKsIyMqZk4lETjEmJwBIKhkfSv3vDJZbdpdmqQ+5JhRSdgbuV0pjiSxFUkuuLRGH1hQssnzMvWlToXhn6LfYtltNyq7ra2dpS3WuGqV40qYqzGP56gjrlli5xwdeWrvm7XNjT224ubqe20sYUpVJmnD+2BOkEdAGGKtNy/TCbgW07GYKwdmbhWSJOa7U3LuauR2AFuM62Up4KawDJvc9UEF9cEmjQhHJM+iJiRIAOHURxb8exeESPHBYuv009+EYuFs5YROAhIDhXdcyuAh6eYgGsTUCOaE1Ii5FkmfQmMnV1FRJ9NPfiKi/E1YBLq1d1dtzFmuefH8lz44ihJKvlt/TIXjcZ1lHrA2Zt5aTQajXBWv39c8Maq/BBDboVJ5dPfV+sTyXSyB6G+C6jTgi8bed5OzRtpC0vLv9xdU6P/zwE+UJljWquRppQ/UQ56l1dp2obrKuDc2ttyLedX/umYcwwypU2B1VJ/pBYYZrHA+mwvIyBF2k24ATIA1neNxoIalRCNzKKS6QQs1yRVRPMXHZ4suQ7h1m1W+l8uulU2RUm7e7O9Z5BqIU2i7m3jKrEpOcy0Bx4LtvRgISB7mLm6mkALPukQVpDAHAv0Y+3SrHxdWD4+2Z6FjtK+mdu+puk27tztFR0BUQnavfV0MNrn95yKbINxUXpRE4ebljnX19OyAMLa5uCRlSjGTduqUQO/Hgujt+3076RFS5traMeNaUog9mmEye77lXzfpj7shi4bdlbIT+W2TojC3CuwnHhQVIQZB6jtKrx6VRBLSueSL0pjz0t2q1JxhOxv6ZkQHlTiwcs8jGoWAzJD4ZL119lp0YylC/2+oIxfw1JvLB2iJUw5OQBbHqIKxv67G8v3Rbc/tlcPk2OwuGn12N5/ui25/bK4fJsET67G8/3Rbc/tlcPk2CJ9djef7otuf2yuHybBE+uxvP90W3P7ZXD5NgifXY3n+6Lbn9srh8mwRPrsbz/dFtz+2Vw+TYIn12N5/ui25/bK4fJsET67G8/wB0W3P7ZXD5NgifXY3n+6Lbn9srh8mwRffrr70/dDt1+2NxeS4IsplfTDXvFs+lXiu3mzbwVary6QNvx9wa87cUJYgSCWbPpyRuZHhudX4EqZaXWVzXmZDwbffo3HqG49Oi1vIzt7eNU15UyLaYlpaFOplKY1YgYvGoCPDj2a+yzobFQ343NrKFevKnyIzBrw06vFOGYiWcHJpQLvJhKrf0xt5UWj2zV/i92gqa3JAkzlp1Mvu45FQoqRnQa6tWGeqJ1eS4pqiD06gNOKIhFu27dzuF/eWJtrmj+0qiGupHTCq4J1Uj+qODv0GOTssNw2obfZWl7+4t6wuqZnopyedJmGmoP0nHvBGLOpM/6ZG+YVXhUdrbHaaoPTgp/LlQ79r3ue05PUQRuRMejNMMJGNV5hkqCIZEWnNUS2m707rbqu5So3FKnS5jxnAipIUw7wgHJ1ZRGZlgHDE43O1VLe/p7dCrQqVKmhpwmDTGss0pFgNP6nwAxLcL1bn0vl63Le8azqZYezIrIdkizcNQv+t0u3ySFAeqBkU+eMeM2LisKyCk4gm4qaVLNM/Fu3qSOy+nJeoryzvJRgIaqFOnKpX8c4wAFOAlItqEpMDpi+oBivbtfp87tv8AHYba6tImRkBXqVI06HggZkmc5RiMtIeXilkS4C8WLltKyaVHsurJfm21RcvkalLqlOp3XJNSsByMTZNxb1YYgOvRpEo3tIckXclAly0pnjLad/ud03XcNsrbdfWlKwqxhCvWjEUboS1eO3IJMoR04mQBxCw3XY6O17ZY7lSvrO6q3tMylRoyJq25DNCuCAIyL4AE5FSHLPshllJB7l7PuIjz7DkaK/dEqYJMuI2DwMhZotOxZKGJg4jiLo1KSCoqmPoZHTFxiej+vszL59y7aT7e33FXZvbywiKSLm82wzfJZcMS67ergyXmyjao8dR2+zXWL5K24WkDVokzRMlWyLDDFlSWDjL29vtUqJYNhSorLx7v7HQ3XAcccizJV4NvRxFsjabdJqxXgJ94k0qAKXLVeK5Yfp1fdxWRYccXb8exakq8u34ZVKOyFHmjEWUy3PgNKUOYjKmAy4Tj8eNIKO+g6wVxts9KpmIrwSAuHQhiy/ocXztdtNZ9rbKBbGwPZgYG6aVTkuW47820ssIFIgQLOp1R57DYRqUc6p1GW7pFFeIuldK8SH7b0js+w7pQv6+9yvDUt6EDRpWwGurUnPSRKUoVBGEY4k6ccA6/JPqj6t9YemrnZ7T0pT2uNK+uq0bq4vpHlW9GlSEwYQjWoGpUqSOmMRMnA+EhzHP6ftLssFkW5X53ZM2muCtVSjnOl061NoLHbbWSExmO2EZuq0hEihNiO9ZbR9/iAEIka6c+Vc7VYf5avZULmFvZ06jCVcuQNL+IwHiMZeAmMc2LBfW7Lve7V/TVnuW5W3N3StR1TjbRkIGQkwMBUJMIzi0wJzObAywVOO2WzoMOvyew9Y+oJDbTcOBthtlLmkz3KOyjSRRKfEEUNwdAg8ZKAmpaFERN/h9ulUFOO52gix8UhMBx+nASI7SM2zBJHsO9X8YylLbbosY4RMCWOZx0jB8gSc3Ys92o+0uxtUrUWkyuxjZNEYkKvNrlT2n2rWjxNLL5kj70OJJkEausIAaW1AkcFdaKqimi42u0oWsrmlf2laYypx5ms4jIGIGRxcvgcDgV6LfdbqtdRt52N1SgTjOWjQMDmRIl3HANiMXcLY38NfZy+b9sj8lNi/qLHGXZT+Gvs5fN+2R+Smxf1Fgifw19nL5v2yPyU2L+osET+Gvs5fN+2R+Smxf1Fgifw19nL5v2yPyU2L+osET+Gvs5fN+2R+Smxf1Fgifw19nL5v2yPyU2L+osET+Gvs5fN+2R+Smxf1Fgioal2duzzBhPSo3Zu2cqrzStaYEHavbwZT6G6DZ8pZdIjx/WgNTLUadyK5Zrki7KUIVKghUnGES/iLsGD8ATjksKkpQgZQiZyHAM/wB6xUdmdiibmmnY7sNFiAJtNntXtCDk9SIxVuGhKgk4CIKrrUByLgq5Lj1/tLdwDc0Mf78O3wYfevMbqsxa3rOP7Mezx8M1gtR2m2Xr028baTscWTajVv060KpTLurO023DVEuSTX2esSqPSnKbS5UlZtvu5szkyIQIVzyzDXvv9roWu00dwtb21r3deVWJox166JgWhOo4HgqYSi2LHpdsra5nVupUq1GrCjAROos0nzEWJxjiD19CxiH2c9m1jt+6WwG0TcpdauBE2vtd9kUVwtCC8ttxicVG8s15Y8f+f5na47rCwpx3qdCe5sdcqMZRpnEtpjMmQaLO5zXSujamuTZCYtsG1tqyxdsM1TTOzftGpPFT9htlg1MIDCzto6E4TchAeXmOrGpTXOY5it9wmgskLus1THR6jk/t/FefB3UtOzjtVoD/APA9kEcJsefltPR0DnIvFWl9xtZAo9GrIk9HLiJP2KN0df4KoZ7OGz/PVJGwWzPVFQ8xY2ooPWM+KNpqcoaNKi8FJck85E83Ec5qkRZgq5ezpsQKir2wm0wtqYoqvbWWkLfFeGauUNA6cUEjEZoQDgV5fSPoFewI4++4bG+2s3nDPTu4SJqIyUsk97PBM1xEUn6hPsBfiN9/ldL4M4In1CfYC/Eb7/K6XwZwRPqE+wF+I33+V0vgzgislw/QT/R9UekypcmD2h5AaUZRumbonPkob6o0B9WS3W1NsSNFXJc14CiKSomCL9IkCiNM0WjUdhCci0mlUynsC9GjzDKPAgR4TCujKjvJzEaaTMkEVVVX+jGMjUGNOpKn0kNj3gqGnSqDTWpwqx6JBwD0t0q5dQnpkiSZmSIiInVImSIiZIifknBETHn0y+fL/wBflW/UBgKcW/5eZOoz/GZntSL5Jhol8+XweVNQ+XH4vMpax5SKqLOkIqLkqKxCRUVOlFTqvBUxlyavzZ90PIpzIfLj8XmXzkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSfH3+8QvJcOTV+bPuh5E5kPcj8XmTkSU6Kg/3mF5NhyavzZ90PInMh7kfi8y+8mV+kJHeYXk2HJq/Nn3Q8icyHuR+LzJyZX6Qkd5heTYcmr82fdDyJzIe5H4vMnJlfpCR3mF5NhyavzZ90PInMh7kfi8ycmV+kJHeYXk2HJq/Nn3Q8icyHuR+LzKS/TPdAQizJkh5g3WiINEZvMgNFFdTbAGiovo4cmr82fdDyJzIe5Hvl5l59z9xLmBasUSFFkvsvKNOjuBJiBIzcFD6xJcYMRRAJSzAVyUVHjwJd5dvCHK1huOAUuj7iXQ/CRyuU6HTKhzXBKLAdeqkXlCgct5uYcSAZcxVJFFWhUdPo4yLA+HELEPxV09/wBUfO/3Rz08RVPf9UfO/wB0c9PBFSzr+qPUpipwVIkrIkiOZj6wfFFTimCLFvpFKHvVcVmbGs7P03eaqo1Wrhk3gxstLrUKujDctOC3RXqm7SHGxWGFVNVEX8wLI0HIlzx/QH0EvPSNndbvL1RV2alXla0BbS3KEJ0dXOJqiMZY6jTweDEOCcF+AfXmx9XXtrtMfS1Pd6tGNzWNxHb5zhV08oCmZSiQGFTEasCNQGK8zqbtV2u6nJkQmLN7fDEl1wiph1O9qzS6aMVgkkyUqtRqD0dlqU5BbcbZQCBDkaETNS04/frv1F9NrSiK8736fypiI16LLmT1nwjlwhqJhqIlJ4kxg5OAcfz/AGfpn6n3VxOiLT1zEknl67yUI6R4v+yc5ACWkEAAgSlpADljSyNt+1YVPUYtm/SJN1TqoIjsi4a87BWWLT4mRMibUgYz7qtlki62xQkRSVUVPRR3v6eQuoyub36cTtRPxCNsIy0uPyychwHAJzcE8VqrenvqOaJFva/UGNfTgZXMiHbiMM5YnoGAX6Aezcl1Quz9svD3BC4Wb5ibb2vGu1q5mam5cTdeZpzbc8K25NbcmHUhdHJ1XSVxS+6VVx/FP1BqbRV9dbvU2A0TsctwrGhydPK5RkdHL0gR0NlpDNkv7V+n9PdqPobaaW/CsN6jt9EV+c5q80QGvmGXi1vm+L5rdXWWfPd9rSvA4+PX16dZZ8932tK8DgidZZ8932tK8Dgiyi17UuO85qQLZo1Rqr/FSViHJFhoRy1E7JdabYbQUXPJSzy6EwRdAQuyTudLYB9yoWhBI0RerzalV0fD0DSNQZLaKnqlwRWyu9lrdKixikst0OvaUz6vQps5+SvoC3OplPRV/wCXBFzxUYsukS3YFUhzoExgyB2PKgTWXRISUV7k46ahzTgqZovmLgioess+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwRTGpLPNa4u+yB/dpX3yeezlgi4vq22e4QNG47JtmktR0UH6gdxvNI445UHSB99yZDSNHVxt5qOIJkmY55qRIibqVSFOcZyhGcRnEux4YtiOkNxWidGcxMRnKMpMxDPFuh8O9WWnbO7ntyXXluiDV201p1N6u08o7CmmSZrT6ExI1AQrp1mqdPBVTHtub60r0OVSs6FGo48cJVTLsac5Rx44OvNbWd1Rq66t1WrRb8so0wO3wwiexXr4qNyfv6F/jb/wCr8cxdBPio3J+/oX+Nv/q/BFbaptFug7GI2p9IjAw1LckMtVVHRntLDfAYzpvUs3WAB0hcQmiA1UNKrpVcbqdSnCnUhOnGcpxAiSZAwLg6osQCWeLSBji7OAVpq06k505QqShGMnkAIkTDEaS4JAciTxIODZErseddEWxbPqN01OPKlRLft+JK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]]></data>
	</file>
	<file>
	  <filename>/images/screenshots/thumb_Add_Item_Tab8.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QOeaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUU5M0QzM0EwRUQ1MTFFMkFEODdFMkUwOTVBNTBENDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUU5M0QzM0IwRUQ1MTFFMkFEODdFMkUwOTVBNTBENDMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFFOTNEMzM5MEVENTExRTJBRDg3RTJFMDk1QTUwRDQzIi8+IDxkYzpjcmVhdG9yPiA8cmRmOlNlcT4gPHJkZjpsaT51bmlxdTM8L3JkZjpsaT4gPC9yZGY6U2VxPiA8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]]></data>
	</file>
	<file>
	  <filename>/images/screenshots/thumb_Categories_Tab8.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QOeaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjkzRTYwQTMwRUM5MTFFMjhDMDRCRjdFNzI2RDA5ODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjkzRTYwQTQwRUM5MTFFMjhDMDRCRjdFNzI2RDA5ODYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY5M0U2MEEyMEVDOTExRTI4QzA0QkY3RTcyNkQwOTg2Ii8+IDxkYzpjcmVhdG9yPiA8cmRmOlNlcT4gPHJkZjpsaT51bmlxdTM8L3JkZjpsaT4gPC9yZGY6U2VxPiA8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qtRqD0dlqU5BbcbZQCBDkaETNS04/frv1F9NrSiK8736fypiI16LLmT1nwjlwhqJhqIlJ4kxg5OAcfz/AGfpn6n3VxOiLT1zEknl67yUI6R4v+yc5ACWkEAAgSlpADljSyNt+1YVPUYtm/SJN1TqoIjsi4a87BWWLT4mRMibUgYz7qtlki62xQkRSVUVPRR3v6eQuoyub36cTtRPxCNsIy0uPyychwHAJzcE8VqrenvqOaJFva/UGNfTgZXMiHbiMM5YnoGAX6Aezcl1Quz9svD3BC4Wb5ibb2vGu1q5mam5cTdeZpzbc8K25NbcmHUhdHJ1XSVxS+6VVx/FP1BqbRV9dbvU2A0TsctwrGhydPK5RkdHL0gR0NlpDNkv7V+n9PdqPobaaW/CsN6jt9EV+c5q80QGvmGXi1vm+L5rdXWWfPd9rSvA4+PX16dZZ8932tK8DgidZZ8932tK8Dgiyi17UuO85qQLZo1Rqr/FSViHJFhoRy1E7JdabYbQUXPJSzy6EwRdAQuyTudLYB9yoWhBI0RerzalV0fD0DSNQZLaKnqlwRWyu9lrdKixikst0OvaUz6vQps5+SvoC3OplPRV/wCXBFzxUYsukS3YFUhzoExgyB2PKgTWXRISUV7k46ahzTgqZovmLgioess+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwROss+e77WleBwRTGpLPNa4u+yB/dpX3yeezlgi4vq22e4QNG47JtmktR0UH6gdxvNI445UHSB99yZDSNHVxt5qOIJkmY55qRIibqVSFOcZyhGcRnEux4YtiOkNxWidGcxMRnKMpMxDPFuh8O9WWnbO7ntyXXluiDV201p1N6u08o7CmmSZrT6ExI1AQrp1mqdPBVTHtub60r0OVSs6FGo48cJVTLsac5Rx44OvNbWd1Rq66t1WrRb8so0wO3wwiexXr4qNyfv6F/jb/wCr8cxdBPio3J+/oX+Nv/q/BFbaptFug7GI2p9IjAw1LckMtVVHRntLDfAYzpvUs3WAB0hcQmiA1UNKrpVcbqdSnCnUhOnGcpxAiSZAwLg6osQCWeLSBji7OAVpq06k505QqShGMnkAIkTDEaS4JAciTxIODZErseddEWxbPqN01OPKlRLft+JK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]]></data>
	</file>
	<file>
	  <filename>/images/screenshots/thumb_screenshot1.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QOeaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzYxRDA5RDgwRUM1MTFFMkIzMDk5MjM3MjMyREM0MjUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzYxRDA5RDkwRUM1MTFFMkIzMDk5MjM3MjMyREM0MjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc2MUQwOUQ3MEVDNTExRTJCMzA5OTIzNzIzMkRDNDI1Ii8+IDxkYzpjcmVhdG9yPiA8cmRmOlNlcT4gPHJkZjpsaT51bmlxdTM8L3JkZjpsaT4gPC9yZGY6U2VxPiA8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]]></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[PD9waHAKLyogLS0tIGRvIG5vdCBlZGl0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBPbmx5IG5lY2Vzc2FyeSBpbiB0aGUgRW5nbGlzaCBsYW5nIGZpbGUsIGJlY2F1c2UgaXQncyBhbHdheXMgbG9hZGVkIGZpcnN0LCBldmVuIEVuZ2xpc2ggaXMgbm90IHRoZSB1c2VyJ3MgbGFuZ3VhZ2UuCiovCgppZihpc19vYmplY3QoJG1vZGluc3RhbmNlKSl7CiAgICAkbW9kdWxlX25hbWUgPSAkbW9kaW5zdGFuY2UtPkdldE5hbWUoKTsKfQovKiAtLSBlbmQgb2YgZG8gbm90IGVkaXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgovLyBnbG9iYWwKJGxhbmdbJ2ludmFsaWRfY2hhcmFjdGVycyddID0gJ0NoYXJhY3RlcnMsIHN1Y2g6ICVzIG5vdCBhbGxvd2VkIHdpdGggZmllbGQ6ICVzJzsKCi8vIHRhYnMKJGxhbmdbJ2l0ZW0nXSA9ICdJdGVtJzsKJGxhbmdbJ2l0ZW1zJ10gPSAnSXRlbXMnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0ZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snb3B0aW9uJ10gPSAnT3B0aW9uJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ21haW50ZW5hbmNlJ10gPSAnTWFpbnRlbmFuY2UnOwokbGFuZ1snYmFjayddID0gJ0dvIG9uZSBwYWdlIGJhY2snOwoKLy8gbWFpbnRlbmFuY2UKJGxhbmdbJ3Byb21wdF9maXhfZmllbGRkZWZzJ10gPSAnQXR0ZW1wdCB0byByZXBhaXIgZmllbGQgZGVmaW5pdGlvbiBkYXRhYmFzZSB0YWJsZXMnOwokbGFuZ1snbWVzc2FnZV9maWVsZGRlZnNfZml4ZWQnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyBvbiBhbGwgaW5zdGFuY2VzIHJlcGFpcmVkLic7CgovLyBpdGVtcwokbGFuZ1snaXRlbV90aXRsZSddID0gJ1RpdGxlJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnSXRlbSB0aXRsZSc7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOwokbGFuZ1snY3JlYXRlX3RpbWUnXSA9ICdEYXRlIGNyZWF0ZWQnOwokbGFuZ1sndGltZV9jb250cm9sJ10gPSAnVXNlIHRpbWUgY29udHJvbCc7CiRsYW5nWydzdGFydF90aW1lJ10gPSAnU3RhcnQgdGltZSc7CiRsYW5nWydlbmRfdGltZSddID0gJ0VuZCB0aW1lJzsKJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnUmVxdWlyZWQgZmllbGQgaXMgZW1wdHknOwokbGFuZ1sndG9vX2xvbmcnXSA9ICdGaWVsZCB2YWx1ZSBleGNlZWRzIG1heCBsZW5ndGgnOwokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gXCdBY3RpdmVcJyc7CiRsYW5nWydyZXZlcnQnXSA9ICdTZXQgU3RhdHVzIHRvIFwnSW5hY3RpdmVcJyc7CiRsYW5nWydzdWJtaXRfb3JkZXInXSA9ICdTYXZlIG9yZGVyJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ0RlbGV0ZSBTZWxlY3RlZCAlcyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZW11bHRpcGxlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBhbGwgb2YgdGhlc2UgJXM/JzsKJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdTZWxlY3QgYWxsJzsKJGxhbmdbJ2Vycm9yX3N0YXJ0Z3JlYXRlcmVuZCddID0gJ1N0YXJ0IGRhdGUgaXMgZ3JlYXRlciB0aGFuIGVuZCBkYXRlLic7CiRsYW5nWydpdGVtX2FsaWFzX2V4aXN0cyddID0gJ0l0ZW0gYWxpYXMgYWxyZWFkeSBleGlzdHMuIEFsaWFzIG11c3QgYmUgdW5pcXVlLic7CiRsYW5nWydyZXR1cm5fdXJsJ10gPSAnUmV0dXJuJzsKJGxhbmdbJ3BhdGhjb250YWluc3ZhcnMnXSA9ICdUaGlzIGZpZWxkIGNhbiBiZSBlZGl0ZWQgYWZ0ZXIgZmlyc3Qgc2F2aW5nIHRoaXMgJXMnOwoKLy8gSXRlbSBzdGF0aWMgdmFyaWFibGUgaGVscHMKJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfaXRlbV9pZCddID0gJ0lmIGl0ZW1faWQgaXMgZ2l2ZW4sIGl0ZW1zIGFyZSBleHBlY3RlZCB0byBiZSBleGlzdGluZyBvbmVzIGluIGRhdGFiYXNlLiBJZiB5b3VcJ3JlIGltcG9ydGluZyBuZXcgaXRlbXMsIGlnbm9yZSB0aGlzIGZpZWxkLic7CiRsYW5nWydpdGVtX3Zhcl9oZWxwX2NhdGVnb3J5X2lkJ10gPSAnSWYgY2F0ZWdvcnlfaWQgaXMgZ2l2ZW4sIHRoZSBpdGVtIHdpbGwgYmUgc2V0IGludG8gdGhpcyBjYXRlZ29yeS4gSWYgY2F0ZWdvcnlfaWQgaXMgZ2l2ZW4gYnV0IGRvc2VuXCcgZXhpc3QsIGl0IGlzIGlnbm9yZWQgYW5kIHRoZSBkZWZhdWx0IGNhdGVnb3J5IGlzIHVzZWQgaW5zdGVhZC4nOwokbGFuZ1snaXRlbV92YXJfaGVscF90aXRsZSddID0gJ0l0ZW0gdGl0bGUgdGhhdCBpcyBzaG93biBpbiBVUkwgYW5kIGRlc2NyaWJlcyBpdGVtLic7CiRsYW5nWydpdGVtX3Zhcl9oZWxwX2FsaWFzJ10gPSAnSXRlbSBhbGlhcyBkZXRlcm1pbmVzIGZyaWVuZGx5IGNvbXB1dGVyIGFjY2VwdGFibGUgbmFtZSBvZiBpdGVtLiBBbGlhcyBpcyB1bmlxdWUgZm9yIGVhY2ggaXRlbS4nOwokbGFuZ1snaXRlbV92YXJfaGVscF9wb3NpdGlvbiddID0gJ1lvdSBjYW4gc2V0IHRoZSBwb3NpdGlvbiBvZiBpdGVtcyB3aGljaCBkZXRlcm1pbmVzIHRoZWlyIG9yZGVyIG9mIGRpc3BsYXkuJzsKJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfYWN0aXZlJ10gPSAnVGhpcyBvcHRpb24gd2lsbCBzZXQgdGhlIGl0ZW0gYXMgZWl0aGVyIGFjdGl2ZSBvciBpbmFjdGl2ZS4nOwokbGFuZ1snaXRlbV92YXJfaGVscF9zdGFydF90aW1lJ10gPSAnU2V0IHRoZSB0aW1lIHdoZW4geW91IHdhbnQgdG8gc2hvdyB0aGlzIGl0ZW0nOwokbGFuZ1snaXRlbV92YXJfaGVscF9lbmRfdGltZSddID0gJ1NldCB0aGUgdGltZSB3aGVuIHlvdSB3YW50IHRvIGhpZGUgdGhpcyBpdGVtJzsKCi8vIGZpZWxkIGRlZmluaXRpb25zCiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdFZGl0IEZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snZmllbGRkZWZfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ0hlbHBmdWwgdGlwJzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkZGVmX2RlcHMnXSA9ICdNb2R1bGUgRGVwZW5kZW5jaWVzJzsKJGxhbmdbJ2ZpZWxkZGVmX2RlcHNfbWlzc2luZyddID0gJ09uZSBvciBtb3JlIG1vZHVsZSBkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcuIFBsZWFzZSBpbnN0YWxsIGFsbCByZXF1aXJlZCBtb2R1bGVzIHRvIHN0YXJ0IHVzaW5nIHRoaXMgZmllbGQuJzsKJGxhbmdbJ2ZpZWxkZGVmX3NjYW4nXSA9ICdTY2FuIEZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ2ZpZWxkZGVmX3NjYW5uZWQnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyBzY2FubmVkJzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGVfbm90c2V0J10gPSAnRmllbGQgRGVmaW5pdGlvbnMgdHlwZSBpcyBub3Qgc2V0JzsKJGxhbmdbJ2ZpZWxkZGVmX2ZyaWVuZGx5dHlwZSddID0gJ0ZyaWVuZGx5IFR5cGUnOwokbGFuZ1snZmllbGRkZWZfb3JpZ2luYXRvciddID0gJ09yaWdpbmF0b3InOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1sncmVnaXN0ZXJlZF9maWVsZGRlZnMnXSA9ICdSZWdpc3RlcmVkIEZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZW1wdHknXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgaXMgZW1wdHknOwokbGFuZ1snZmllbGRkZWZfbmFtZV9leGlzdHMnXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZmllbGRkZWZfYWxpYXNfZXhpc3RzJ10gPSAnRmllbGQgZGVmaW5pdGlvbiBhbGlhcyBhbHJlYWR5IGV4aXN0cy4gQWxpYXMgbXVzdCBiZSB1bmlxdWUuJzsKJGxhbmdbJ2ZpZWxkZGVmX2lzX3VuaXF1ZSddID0gJ0ZpZWxkIGRlZmluaXRpb24gaXMgdW5pcXVlLCB5b3UgY2FuXCd0IGhhdmUgbW9yZSB0aGFuIG9uZSBvZiB0aGVzZS4nOwokbGFuZ1snZmllbGRkZWZfaW1hZ2UnXSA9ICdFeHBlY3RlZCB0byBiZSBpbWFnZSc7CiRsYW5nWydpbnZhbGlkJ10gPSAnRmllbGQgdmFsdWUgaXMgaW52YWxpZCc7CiRsYW5nWydzdGF0dXNfcmVxdWlyZWQnXSA9ICdTZXQgc3RhdHVzIHRvIFwncmVxdWlyZWRcJyc7CiRsYW5nWydzdGF0dXNfb3B0aW9uYWwnXSA9ICdTZXQgc3RhdHVzIHRvIFwnb3B0aW9uYWxcJyc7CiRsYW5nWydpc19kZWZhdWx0J10gPSAnSXMgc2V0IHRvIFwnRGVmYXVsdFwnJzsKJGxhbmdbJ3N0YXR1c19kZWZhdWx0J10gPSAnU2V0IHRvIFwnRGVmYXVsdFwnJzsKJGxhbmdbJ2hlbHB0ZXh0X3RpdGxlJ10gPSAnUG9zc2libGUgRmllbGQgRGVmaW5pdGlvbiBpbnN0cnVjdGlvbnMgZm9yIEV4dHJhIGZpZWxkOic7CgovLyBUZXh0SW5wdXQKJGxhbmdbJ2ZpZWxkZGVmX1RleHRJbnB1dCddID0gJ1RleHQgSW5wdXQnOwovLyBDaGVja0JveAokbGFuZ1snZmllbGRkZWZfQ2hlY2tib3gnXSA9ICdDaGVja2JveCc7Ci8vIFRleHRBcmVhCiRsYW5nWydmaWVsZGRlZl9UZXh0QXJlYSddID0gJ1RleHQgQXJlYSc7Ci8vIFNlbGVjdCBEYXRlIChkZXByZWNhdGVkKQokbGFuZ1snZmllbGRkZWZfU2VsZWN0RGF0ZSddID0gJ1NlbGVjdCBEYXRlJzsKLy8gU2VsZWN0IERhdGVUaW1lCiRsYW5nWydmaWVsZGRlZl9TZWxlY3REYXRlVGltZSddID0gJ1NlbGVjdCBEYXRlVGltZSc7Ci8vRHJvcGRvd24KJGxhbmdbJ2ZpZWxkZGVmX0Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwovLyBDb250ZW50IFBhZ2VzCiRsYW5nWydmaWVsZGRlZl9Db250ZW50UGFnZXMnXSA9ICdDb250ZW50IFBhZ2VzJzsKLy8gU2VsZWN0IEZpbGUKJGxhbmdbJ2ZpZWxkZGVmX1NlbGVjdEZpbGUnXSA9ICdTZWxlY3QgRmlsZSc7Ci8vIFJhZGlvIEdyb3VwCiRsYW5nWydmaWVsZGRlZl9SYWRpb0dyb3VwJ10gPSAnUmFkaW8gR3JvdXAnOwokbGFuZ1snZW5hYmxlX2pxdWknXSA9ICdVc2UgalF1ZXJ5VUkgQnV0dG9ucyc7Ci8vIFNsaWRlcgokbGFuZ1snZmllbGRkZWZfU2xpZGVyJ10gPSAnU2xpZGVyJzsKLy8gTXVsdGkgU2VsZWN0CiRsYW5nWydmaWVsZGRlZl9NdWx0aVNlbGVjdCddID0gJ011bHRpIFNlbGVjdCc7Ci8vIENoZWNrYm94IEdyb3VwCiRsYW5nWydmaWVsZGRlZl9DaGVja2JveEdyb3VwJ10gPSAnQ2hlY2tib3ggR3JvdXAnOwovLyBGaWxlIFVwbG9hZAokbGFuZ1snZmllbGRkZWZfRmlsZVVwbG9hZCddID0gJ0ZpbGUgVXBsb2FkJzsKCi8qIEluc3RydWN0aW9ucyAqLwokbGFuZ1snZmllbGRkZWZfYWxsb3dfaGVscCddID0gJ1NwZWNpZnkgYSBjb21tYSBzZXByYXRlZCBsaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyB0aGF0IGFyZSBhbGxvd2VkLiBGb3IgZXhhbXBsZTogcGRmLGdpZixqcGVnLGpwZyAoa2VlcCBsb3dlcmNhc2UpJzsKJGxhbmdbJ2ZpZWxkZGVmX2Rpcl9oZWxwJ10gPSAnRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvICRjb25maWdbXCd1cGxvYWRzX3VybFwnXSAuIE5vIHNsYXNoIGF0IHRoZSBlbmQuIHskaXRlbV9pZH0gYW5kIHskZmllbGRfaWR9IHdpbGwgYmUgcmVwbGFjZWQuJzsKJGxhbmdbJ2ZpZWxkZGVmX2V4Y2x1ZGVfcHJlZml4X2hlbHAnXSA9ICdTcGVjaWZ5IGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcHJlZml4ZXMgdG8gZXhjbHVkZSBmaWxlcyB0aGF0IHN0YXJ0IHdpdGggdGhvc2UgcHJlZml4ZXMuIEZvciBleGFtcGxlOiB0aHVtYl8sIGZvb18nOwokbGFuZ1snZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnXSA9ICdPcHRpb25zIHNlcGFyYXRlZCBieSBsaW5lIGJyZWFrcy4gVmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgZnJvbSB0ZXh0IHdpdGggYSA9IGNoYXJhY3Rlci4gRm9yIGV4YW1wbGU6IEJhbmFuYT1iYW5hbmEnOwokbGFuZ1snZmllbGRkZWZfc2VwYXJhdG9yX2hlbHAnXSA9ICdDYW4gYmUgZW1wdHksIHNpbmdsZSBjaGFyYWN0ZXIgb3IgSFRNTCBlbnRpdHkuJzsKJGxhbmdbJ2ZpZWxkZGVmX3NpemVfaGVscCddID0gJ1NwZWNpZnkgc2l6ZSBvZiBpbnB1dCBmaWVsZC4gRm9yIGV4YW1wbGU6IDIwJzsKJGxhbmdbJ2ZpZWxkZGVmX21heF9sZW5naHRfaGVscCddID0gJ1NwZWNpZnkgbWF4aW11bSBsZW5ndGggb2YgdGhlIGZpZWxkLiBGb3IgZXhhbXBsZTogMjU1JzsKJGxhbmdbJ2ZpZWxkZGVmX2RhdGVfZm9ybWF0X2hlbHAnXSA9ICdTcGVjaWZ5IGRhdGUgZm9ybWF0IHVzZWQgYnkgalF1ZXJ5IERhdGVwaWNrZXIuIFRyeSBnb29nbGluZyBcJ2pxdWVyeSBmb3JtYXREYXRlXCcuIEZvciBleGFtcGxlOiBkZC1tbS15eSc7CiRsYW5nWydmaWVsZGRlZl9mb3JtYXRfdHlwZV9oZWxwJ10gPSAnU3BlY2lmeSBvdXRwdXQgZm9ybWF0IGZvciB0aGlzIGZpZWxkLic7CiRsYW5nWydmaWVsZGRlZl9zaG93X3NlY29uZHNfaGVscCddID0gJ1NwZWNpZnkgd2hldGhlciB0aGUgc2Vjb25kcyBzY3JvbGxlciBzaG91bGQgYmUgc2hvd24uIE5PVElDRSwgc2Vjb25kIHNjcm9sbGVyIGhhcyBubyBlZmZlY3QgaWYgdGltZSBmb3JtYXQgaXMgd3JvbmcuIFRyeSBISDptbTpzcyc7CiRsYW5nWydmaWVsZGRlZl90aW1lX2Zvcm1hdF9oZWxwJ10gPSAnU3BlY2lmeSBkYXRlIGZvcm1hdCB1c2VkIGJ5IGpRdWVyeSB0aW1lcGlja2VyLiBUcnkgZ29vZ2xpbmcgXCdqcXVlcnkgZm9ybWF0VGltZVwnLiBGb3IgZXhhbXBsZTogSEg6bW0nOwokbGFuZ1snZmllbGRkZWZfd3lzaXd5Z19oZWxwJ10gPSAnSWYgY2hlY2tlZCwgYSBXWVNJV1lHIEVkaXRvciB3aWxsIGJlIGVuYWJsZWQgZm9yIHRoaXMgZmllbGQuJzsKJGxhbmdbJ2ZpZWxkZGVmX21pbl92YWx1ZV9oZWxwJ10gPSAnU3BlY2lmeSBtaW5pbXVtIHZhbHVlIGZvciB0aGlzIGZpZWxkLic7CiRsYW5nWydmaWVsZGRlZl9tYXhfdmFsdWVfaGVscCddID0gJ1NwZWNpZnkgbWF4aW11bSB2YWx1ZSBmb3IgdGhpcyBmaWVsZC4nOwokbGFuZ1snZmllbGRkZWZfaW5jcmVtZW50X2J5X2hlbHAnXSA9ICdJbmNyZW1lbnQgc2xpZGVyIHZhbHVlcyAsIGNvbW1vbmx5IGEgZGl2aWRlbmQgb2YgdGhlIHNsaWRlclwncyBtYXhpbXVtIHZhbHVlLiBUaGUgZGVmYXVsdCBpbmNyZW1lbnQgaXMgMS4nOwokbGFuZ1snZmllbGRkZWZfd2lkdGhfaGVscCddID0gJ1NwZWNpZnkgd2lkdGggb2YgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBwaXhlbCB2YWx1ZS4gVGhpcyBpcyB1c2VkIGFzIHRoZSBDU1MgdmFsdWUuJzsKJGxhbmdbJ2ZpZWxkZGVmX3N1YnR5cGVfaGVscCddID0gJ1NlbGVjdCBTdWIgVHlwZSBmb3IgdGhpcyBmaWVsZCB0byBkZXRlcm1pbmUgaXRzIGJlaGF2aW9yLic7CiRsYW5nWydmaWVsZGRlZl9zaG93YWxsX2hlbHAnXSA9ICdTaG93IGFsbCwgcmVnYXJkbGVzcyBvZiBzeXN0ZW0gcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2ZpZWxkZGVmX2NvbHVtbnNfaGVscCddID0gJ051bWJlciBvZiBjb2x1bW5zLiBEaXZpZGUgdGhpcyBmaWVsZCBpbnRvIG11bHRpcGxlIGNvbHVtbnMgZm9yIGEgYmV0dGVyIHVzZXIgZXhwZXJpZW5jZS4nOwokbGFuZ1snZmllbGRkZWZfbWVkaWFfdHlwZV9oZWxwJ10gPSAnQWxsb3dzIHlvdSB0byBzcGVjaWZ5IGltYWdlcyBhcyBtZWRpYSB0eXBlIHRvIGJlIGRpc3BsYXllZC4gQnkgZGVmYXVsdCBhbGwgZmlsZXMgd2lsbCBiZSBzaG93bi4nOwokbGFuZ1snZmllbGRkZWZfZW5hYmxlX2pxdWlfaGVscCddID0gJ0VuaGFuY2VzIHN0YW5kYXJkIGZvcm0gZWxlbWVudHMgdG8gdGhlbWVhYmxlIGJ1dHRvbnMgd2l0aCBhcHByb3ByaWF0ZSBob3ZlciBhbmQgYWN0aXZlIHN0eWxlcy4nOwoKLy8gY2F0ZWdvcnkKJGxhbmdbJ3Jlb3JkZXJfY2F0ZWdvcmllcyddID0gJ1Jlb3JkZXIgQ2F0ZWdvcmllcyc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdCBDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeV9uYW1lJ10gPSAnQ2F0ZWdvcnkgbmFtZSc7CiRsYW5nWydjYXRlZ29yeV9kZXNjcmlwdGlvbiddID0gJ0NhdGVnb3J5IERlc2NyaXB0aW9uJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdDYXRlZ29yeSBuYW1lIGlzIGVtcHR5JzsKJGxhbmdbJ2NhdGVnb3J5X2FsaWFzX2V4aXN0cyddID0gJ0NhdGVnb3J5IGFsaWFzIGFscmVhZHkgZXhpc3RzLiBBbGlhcyBtdXN0IGJlIHVuaXF1ZS4nOwoKLy8gdGVtcGxhdGVzCiRsYW5nWydjYXRlZ29yeXRlbXBsYXRlJ10gPSAnQ2F0ZWdvcnkgVGVtcGxhdGUnOwokbGFuZ1snY2F0ZWdvcnl0ZW1wbGF0ZXMnXSA9ICdDYXRlZ29yeSBUZW1wbGF0ZXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZSddID0gJ1NlYXJjaCBUZW1wbGF0ZSc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZXMnXSA9ICdTZWFyY2ggVGVtcGxhdGVzJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlJ10gPSAnRmlsdGVyIFRlbXBsYXRlJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlcyddID0gJ0ZpbHRlciBUZW1wbGF0ZXMnOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnRWRpdCBUZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lJ10gPSAnVGVtcGxhdGUgbmFtZSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lX2VtcHR5J10gPSAnVGVtcGxhdGUgbmFtZSBpcyBlbXB0eSc7CiRsYW5nWyd0ZW1wbGF0ZV9jb250ZW50X2VtcHR5J10gPSAnVGVtcGxhdGUgY29udGVudCBpcyBlbXB0eSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgdGVtcGxhdGVzJzsKCi8vIG9wdGlvbnMKJGxhbmdbJ21vZHVsZV9vcHRpb25zJ10gPSAnTW9kdWxlIE9wdGlvbnMnOwokbGFuZ1sndXJsX29wdGlvbnMnXSA9ICdVUkwgT3B0aW9ucyc7CiRsYW5nWydkZWZhdWx0X29wdGlvbnMnXSA9ICdNb2R1bGUgZGVmYXVsdHMnOwokbGFuZ1sneG1vZHVsZV9vcHRpb25zJ10gPSAnQ3Jvc3MgTW9kdWxlIE9wdGlvbnMnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBmcmllbmRseSBuYW1lJzsKJGxhbmdbJ3Byb21wdF9tb2RkZXNjcmlwdGlvbiddID0gJ01vZHVsZSBBZG1pbiBkZXNjcmlwdGlvbic7CiRsYW5nWydwcm9tcHRfYWRtaW5zZWN0aW9uJ10gPSAnTW9kdWxlIEFkbWluIFNlY3Rpb24nOwokbGFuZ1snaXRlbXNfb3B0aW9ucyddID0gJ0l0ZW1zIE9wdGlvbnMnOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdJdGVtIHNpbmd1bGFyJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ0l0ZW0gcGx1cmFsJzsKJGxhbmdbJ3Byb21wdF91cmxfcHJlZml4J10gPSAnVVJMIFByZWZpeCc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdEaXNwbGF5IGRldGFpbHMgaW5saW5lIChyZXBsYWNlcyBtb2R1bGUgdGFnIGluc3RlYWQgb2Yge2NvbnRlbnR9KSc7CiRsYW5nWydwcm9tcHRfc3ViY2F0ZWdvcnknXSA9ICdFbmFibGUgc3ViY2F0ZWdvcnkgb3B0aW9uLCB3aWxsIHNob3cgaW5oZXJpdGVkIGl0ZW1zIGluIGNhdGVnb3J5IGFuZCBpdHMgY2hpbGRyZW4nOwokbGFuZ1sncHJvbXB0X2l0ZW1fY29scyddID0gJ0Rpc3BsYXkgdGhlc2UgZmllbGRzIGluIGl0ZW0gb3ZlcnZpZXcnOwokbGFuZ1sncHJvbXB0X2l0ZW1zX3Blcl9wYWdlJ10gPSAnRGlzcGxheSBpdGVtcyBwZXIgcGFnZSc7CiRsYW5nWydwcm9tcHRfY3JlYXRlX2RhdGUnXSA9ICdEaXNwbGF5IGl0ZW0gY3JlYXRlZCBkYXRlIGluIEl0ZW0gZWRpdCBtb2RlPyc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ0RldGFpbCBwYWdlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5cGFnZSddID0gJ1N1bW1hcnkgcGFnZSc7CiRsYW5nWydwcm9tcHRfcmVpbmRleF9zZWFyY2gnXSA9ICdJdGVtcyBzZWFyY2hhYmxlIGJ5IFNlYXJjaCBtb2R1bGUnOwokbGFuZ1sndGV4dF9zb3J0b3JkZXInXSA9ICdEZWZhdWx0IEl0ZW1zIHNvcnRvcmRlcic7CiRsYW5nWydvcHRpb25zX25vdGljZSddID0gJ0FmdGVyIGNoYW5naW5nIG1vZHVsZSBmcmllbmRseSBuYW1lIG9yIEFkbWluIHNlY3Rpb24sIHlvdSBtYXkgbmVlZCB0byBjbGVhciB0aGUgY2FjaGUgZm9yIHlvdXIgY2hhbmdlcyB0byB0YWtlIGVmZmVjdC4nOwokbGFuZ1sncHJvbXB0X2FsbG93X2F1dG9zY2FuJ10gPSAnQWxsb3cgc3lzdGVtIHRvIHNjYW4gZmllbGQgZGVmaW5pdGlvbnMgYXV0b21hdGljYWxseSc7CiRsYW5nWydub3RpY2VfYWxsb3dfYXV0b3NjYW4nXSA9ICdBbGxvd2luZyBhdXRvbWF0aWMgc2NhbiBvbiBpbnN0YWxsLCB1cGdyYWRlIGFuZCB1bmluc3RhbGwgZXZlbnRzLCBtaWdodCBoYXZlIHNvbWUgc3RyYW5nZSBiZWhhdmlvciB3aXRoIHNvbWUgY29yZSB2ZXJzaW9ucy4nOwokbGFuZ1sncHJvbXB0X2FsbG93X2F1dG9pbnN0YWxsJ10gPSAnQWxsb3cgc3lzdGVtIHRvIGluc3RhbGwgaW5zdGFuY2VzIGF1dG9tYXRpY2FsbHknOwoKLy8gaW5zdGFuY2VzCiRsYW5nWydub3RpY2UnXSA9ICdOb3RpY2UnOwokbGFuZ1snaW5zdGFuY2VzJ10gPSAnSW5zdGFuY2VzJzsKJGxhbmdbJ2luc3RhbGxlZF9pbnN0YW5jZXNfd2FybmluZyddID0gJ0JlbG93IGlzIGEgbGlzdCBvZiBkdXBsaWNhdGVkIG1vZHVsZSBpbnN0YW5jZXMuPGJyIC8+TWFrZSBzdXJlIHRvIGJhY2t1cCB5b3VyIHNpdGUgKERhdGFiYXNlIGFuZCBGaWxlcykgYmVmb3JlICJ1cGRhdGUiIGFjdGlvbic7CiRsYW5nWydpbnN0YWxsZWRfaW5zdGFuY2VzJ10gPSAnSW5zdGFsbGVkIGluc3RhbmNlcyc7CiRsYW5nWydpbnN0YW5jZV9uYW1lJ10gPSAnSW5zdGFuY2UgbmFtZSc7CiRsYW5nWydpbnN0YW5jZV9mcmllbmRseW5hbWUnXSA9ICdGcmllbmRseSBuYW1lJzsKJGxhbmdbJ2luc3RhbmNlX3NtYXJ0eSddID0gJ1NtYXJ0eSB0YWcnOwokbGFuZ1snaW5zdGFuY2VfdmVyc2lvbiddID0gJ1ZlcnNpb24nOwokbGFuZ1snaW5zdGFuY2VfdXBncmFkZSddID0gJ1VwZ3JhZGUnOwokbGFuZ1snaW5zdGFuY2VfdXB0b2RhdGUnXSA9ICdVcCB0byBkYXRlJzsKJGxhbmdbJ2luc3RhbmNlX21vZHVsZXVwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkJzsKLy8kbGFuZ1snZHVwbGljYXRlX2luc3RhbmNlJ10gPSAnRHVwbGljYXRlIG1vZHVsZSc7Ci8vJGxhbmdbJ2R1cGxpY2F0ZV9kZXNjcmlwdGlvbiddID0gJG1vZHVsZV9uYW1lIC4gJyBjYW4gYmUgZWFzaWx5IGR1cGxpY2F0ZWQgdG8gbXVsdGlwbGUgbW9kdWxlIGluc3RhbmNlcyB3aXRoIGR1cGxpY2F0ZSBidXR0b24uPGJyIC8+IEluc3RhbGwgbmV3bHkgY29waWVkIG1vZHVsZSBmcm9tICJFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyIuJzsKJGxhbmdbJ2NvcHlfdGl0bGUnXSA9ICdEdXBsaWNhdGUgbW9kdWxlJzsKCi8vIGdsb2JhbAokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1sncmVwYWlyJ10gPSAnUmVwYWlyJzsKJGxhbmdbJ3NhdmVfY3JlYXRlJ10gPSAnU2F2ZSAmYW1wOyBDcmVhdGUnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldCBEZWZhdWx0JzsKJGxhbmdbJ2R1cGxpY2F0ZSddID0gJ0NyZWF0ZSBpbnN0YW5jZSc7CiRsYW5nWydjaGFuZ2Vzc2F2ZWQnXSA9ICdZb3VyIGNoYW5nZXMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBzYXZlZC4nOwokbGFuZ1snY2hhbmdlc3NhdmVkX2NyZWF0ZSddID0gJ1lvdXIgcHJldmlvdXMgaXRlbSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIENyZWF0ZSBuZXcgaXRlbT8nOwokbGFuZ1sndGVtcGxhdGVyZXN0b3JlZCddID0gJ0RlZmF1bHQgVGVtcGxhdGUgaGFzIGJlZW4gcmVzdG9yZWQuJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPyc7CiRsYW5nWyd1cCddID0gJ1VwJzsKJGxhbmdbJ2Rvd24nXSA9ICdEb3duJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2NvcHknXSA9ICdDb3B5JzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydub3N1Y2hpZCddID0gJ05vIHN1Y2ggSUQnOwokbGFuZ1snZGVsZXRlZCddID0gJ1RoZSBpdGVtKHMpIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgZGVsZXRlZC4nOwokbGFuZ1snYWRkJ10gPSAnQWRkICVzJzsKJGxhbmdbJ2ltcG9ydCddID0gJ0ltcG9ydCAlcyc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnQgJXMnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWydhbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgaW52YWxpZC4gSXQgbXVzdCBvbmx5IGluY2x1ZGUgbGV0dGVycywgbnVtYmVycyBhbmQgdW5kZXJzY29yZXMnOwokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsKJGxhbmdbJ3NlYXJjaGZvciddID0gJ1NlYXJjaCBmb3InOwokbGFuZ1snc2VhcmNocmVzdWx0c2ZvciddID0gJ1NlYXJjaCByZXN1bHRzIGZvcic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmbHQ7Jmx0Oyc7CiRsYW5nWydwcmV2cGFnZSddID0gJyZsdDsnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmZ3Q7JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmd0OyZndDsnOwokbGFuZ1snbW9kdWxlX25hbWUnXSA9ICdNb2R1bGUgbmFtZSc7CiRsYW5nWydtb2R1bGVfbmFtZV9lbXB0eSddID0gJ01vZHVsZSBuYW1lIGlzIGVtcHR5JzsKJGxhbmdbJ21vZHVsZV9uYW1lX2ludmFsaWQnXSA9ICdNb2R1bGUgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMnOwokbGFuZ1snbW9kdWxlY29waWVkJ10gPSAnTW9kdWxlIGNvcGllZCBzdWNjZXNmdWxseSc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydtYXhfbGVuZ2h0J10gPSAnTWF4IExlbmd0aCc7CiRsYW5nWyd3eXNpd3lnJ10gPSAnV1lTSVdZRyc7CiRsYW5nWydkYXRlX2Zvcm1hdCddID0gJ0RhdGUgRm9ybWF0JzsKJGxhbmdbJ3RpbWVfZm9ybWF0J10gPSAnVGltZSBGb3JtYXQnOwokbGFuZ1snZm9ybWF0X3R5cGUnXSA9ICdGb3JtYXQgVHlwZSc7CiRsYW5nWydkaXInXSA9ICdEaXJlY3RvcnknOwokbGFuZ1snYWxsb3dlZCddID0gJ0FsbG93ZWQnOwokbGFuZ1snZXhjbHVkZV9wcmVmaXgnXSA9ICdFeGNsdWRlIHByZWZpeCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2ZpbGUnXSA9ICdGaWxlJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kaW5nJzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snY29tYmluZWQnXSA9ICdDb21iaW5lZCc7CiRsYW5nWydzaG93X3NlY29uZHMnXSA9ICdTaG93IFNlY29uZHMnOwokbGFuZ1sndmFsdWUnXSA9ICdWYWx1ZSc7CiRsYW5nWyd3aWR0aCddID0gJ1dpZHRoJzsKJGxhbmdbJ21pbl92YWx1ZSddID0gJ01pbmltdW0gVmFsdWUnOwokbGFuZ1snbWF4X3ZhbHVlJ10gPSAnTWF4aW11bSBWYWx1ZSc7CiRsYW5nWydpbmNyZW1lbnRfYnknXSA9ICdJbmNyZW1lbnQgYnknOwokbGFuZ1snc3VidHlwZSddID0gJ1N1YiBUeXBlJzsKJGxhbmdbJ3Nob3dhbGwnXSA9ICdTaG93IEFsbCc7CiRsYW5nWydjb2x1bW5zJ10gPSAnQ29sdW1ucyc7CiRsYW5nWydvd25lciddID0gJ093bmVyJzsKCi8vIGNzdiBpbXBvcnQvZXhwb3J0CiRsYW5nWydmaWxlbmFtZSddID0gJ0ZpbGUgbmFtZSc7CiRsYW5nWydlbmNsb3VzZXInXSA9ICdFbmNsb3N1cmUnOwokbGFuZ1snc2VwYXJhdG9yJ10gPSAnU2VwYXJhdG9yJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZhbHVlcyc7CiRsYW5nWydpbXBvcnRfYWxpYXMnXSA9ICdJdGVtL0ZpZWxkZGVmIGFsaWFzJzsKJGxhbmdbJ2ZpbGVfYWxpYXMnXSA9ICdGaWxlIGhlYWRlci9hbGlhcyc7CgovLyBlcnJvcnMKJGxhbmdbJ2Vycm9yX29wdGlvbnJlcXVpcmVkJ10gPSAnT3B0aW9uICVzIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ2Vycm9yX2JhZF9leHRlbnNpb24nXSA9ICdGaWxlIHlvdSB0cnlpbmcgdG8gdXBsb2FkIGhhcyBiYWQgZXh0ZW5zaW9uJzsKJGxhbmdbJ2Vycm9yX2ZpbGVfcGVybWlzc2lvbnMnXSA9ICdUaGVyZSB3YXMgcHJvYmxlbSB3aXRoIGZpbGUgcGVybWlzc2lvbnMnOwokbGFuZ1snZXJyb3JfZmlsZV9lbXB0eSddID0gJ05vIGZpbGUgZ2l2ZW4nOwokbGFuZ1snZXJyb3JfZmlsZV9ub2NzdiddID0gJ0ZpbGUgaXMgbm90IENTViBmaWxlJzsKCi8vIGZpbHRlcgokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpbHRlcnByb21wdCddID0gJ0ZpbHRlciAlcyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWlzc2luZyddID0gJ1BhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gaXMgcmVxdWlyZWQgaW4gZmlsdGVyIG1vZGUuJzsKJGxhbmdbJ2FsbCddID0gJ0FsbCc7CgovLyBFdmVudCBkZXNjcmlwdGlvbnMKJGxhbmdbJ2V2ZW50ZGVzY19QcmVJdGVtU2F2ZSddID0gJ1NlbnQgYmVmb3JlIGl0ZW0gc2F2ZSBwcm9jZXNzIGJlZ2lucy4gUG9zc2libGUgdG8gbWFuaXB1bGF0ZSBpdGVtIG9iamVjdCBkYXRhLic7CiRsYW5nWydldmVudGRlc2NfUG9zdEl0ZW1TYXZlJ10gPSAnU2VudCBhZnRlciBpdGVtIHNhdmUgcHJvY2VzcyBoYXMgY29tcGxldGVkLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuJzsKJGxhbmdbJ2V2ZW50ZGVzY19QcmVJdGVtRGVsZXRlJ10gPSAnU2VudCBiZWZvcmUgaXRlbSBkZWxldGUgcHJvY2VzcyBiZWdpbnMuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOwokbGFuZ1snZXZlbnRkZXNjX1Bvc3RJdGVtRGVsZXRlJ10gPSAnU2VudCBhZnRlciBpdGVtIGRlbGV0ZSBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOwokbGFuZ1snZXZlbnRkZXNjX1ByZUl0ZW1Mb2FkJ10gPSAnU2VudCBiZWZvcmUgaXRlbSBsb2FkIHByb2Nlc3MgYmVnaW5zLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuJzsKJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbUxvYWQnXSA9ICdTZW50IGFmdGVyIGl0ZW0gbG9hZCBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOwokbGFuZ1snZXZlbnRkZXNjX1ByZVJlbmRlckFjdGlvbiddID0gJ1NlbnQgb24gYWN0aW9uIGV4ZWN1dGUuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBxdWVyeSBkYXRhLic7CgojRXZlbnQgaGVscAokbGFuZ1snZXZlbnRoZWxwX1ByZUl0ZW1TYXZlJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1ByZUl0ZW1TYXZlJ10uIjwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT4naXRlbV9vYmplY3QnIC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+CjwvdWw+IjsKCiRsYW5nWydldmVudGhlbHBfUG9zdEl0ZW1TYXZlJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1Bvc3RJdGVtU2F2ZSddLiI8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+J2l0ZW1fb2JqZWN0JyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBpdGVtIG9iamVjdC48L2xpPgo8L3VsPiI7CgokbGFuZ1snZXZlbnRoZWxwX1ByZUl0ZW1EZWxldGUnXSA9ICI8cD4iLiRsYW5nWydldmVudGRlc2NfUHJlSXRlbURlbGV0ZSddLiI8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+J2l0ZW1fb2JqZWN0JyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBpdGVtIG9iamVjdC48L2xpPgo8L3VsPiI7CgokbGFuZ1snZXZlbnRoZWxwX1Bvc3RJdGVtRGVsZXRlJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1Bvc3RJdGVtRGVsZXRlJ10uIjwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT4naXRlbV9vYmplY3QnIC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+CjwvdWw+IjsKCiRsYW5nWydldmVudGhlbHBfUHJlSXRlbUxvYWQnXSA9ICI8cD4iLiRsYW5nWydldmVudGRlc2NfUHJlSXRlbUxvYWQnXS4iPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPidpdGVtX29iamVjdCcgLSBSZWZlcmVuY2UgdG8gYWZmZWN0ZWQgaXRlbSBvYmplY3QuPC9saT4KPC91bD4iOwoKJGxhbmdbJ2V2ZW50aGVscF9Qb3N0SXRlbUxvYWQnXSA9ICI8cD4iLiRsYW5nWydldmVudGRlc2NfUG9zdEl0ZW1Mb2FkJ10uIjwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT4naXRlbV9vYmplY3QnIC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+CjwvdWw+IjsKCiRsYW5nWydldmVudGhlbHBfUHJlUmVuZGVyQWN0aW9uJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1ByZVJlbmRlckFjdGlvbiddLiI8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+J2FjdGlvbl9uYW1lJyAtIE5hbWUgb2YgZXhlY3V0ZWQgYWN0aW9uLjwvbGk+CjxsaT4ncXVlcnlfb2JqZWN0JyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBxdWVyeSBvYmplY3QuPC9saT4KPC91bD4iOwoKLy8gbW9kdWxlCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0xpc3RJdEV4dGVuZGVkIGFsbG93cyB5b3UgdG8gY3JlYXRlIGxpc3RzIHRoYXQgeW91IGNhbiBkaXNwbGF5IHRocm91Z2hvdXQgeW91ciB3ZWJzaXRlLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJG1vZHVsZV9uYW1lIC4gJyBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICRtb2R1bGVfbmFtZSAuICcgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIHVuaW5zdGFsbGVkJzsKCi8vIG1vZHVsZSBoZWxwCiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbCc7CiRsYW5nWyd1c2FnZSddID0gJ1VzYWdlJzsKJGxhbmdbJ3Blcm1pc3Npb25zJ10gPSAnUGVybWlzc2lvbnMnOwokbGFuZ1snZHVwbGljYXRpbmcnXSA9ICdDcmVhdGluZyBJbnN0YW5jZXMnOwokbGFuZ1sndXBncmFkaW5nJ10gPSAnVXBncmFkaW5nJzsKJGxhbmdbJ3NtYXJ0eV9wbHVnaW5zJ10gPSAnU21hcnR5IHBsdWdpbnMnOwokbGFuZ1snYWJvdXQnXSA9ICdBYm91dCc7CiRsYW5nWyd1cGdyYWRlX2Zyb20nXSA9ICdVcGdyYWRpbmcgZnJvbSc7CiRsYW5nWyd0ZWFtJ10gPSAnVGVhbSc7CiRsYW5nWydjb250cmlidXRvcnMnXSA9ICdDb250cmlidXRvcnMnOwoKJGxhbmdbJ2hlbHBfZ2VuZXJhbCddID0gJzxoMz5HZW5lcmFsIEluZm88L2gzPiAgICAgIAogICAgPHA+U2ltcGx5IHB1dCwgTGlzdEl0RXh0ZW5kZWQgYWxsb3dzIHlvdSB0byBjcmVhdGUgbGlzdHMgdGhhdCB5b3UgY2FuIGRpc3BsYXkgdGhyb3VnaG91dCB5b3VyIHdlYnNpdGUuIFlvdSBjb3VsZCBtYWtlIGEgc2ltcGxlIEZBUSBvciBUZXN0aW1vbmlhbHMgZmVhdHVyZSB3aXRoIHRoaXMgbW9kdWxlLiBUaGUgd2ViIGRldmVsb3BlciBkZWZpbmVzIGZpZWxkcyB0byBjb25zdHJhaW4gd2hhdCBkYXRhIHRoZSBjbGllbnQgY2FuIGVudGVyLiBBIG51bWJlciBvZiBmaWVsZCB0eXBlcyBjYW4gYmUgc3BlY2lmaWVkIC0gdGV4dCBpbnB1dCwgY2hlY2tib3gsIHRleHQgYXJlYSwgc2VsZWN0IGRhdGUsIHVwbG9hZCBmaWxlLCBzZWxlY3QgZmlsZSwgZHJvcGRvd24gLSBhbmQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgY2FuIGJlIHNldCBmb3IgZWFjaCB0eXBlLCBmb3IgZXhhbXBsZSwgaW5wdXQgZmllbGQgc2l6ZSwgbWF4IGxlbmd0aCwgV1lTSVdZRyBlZGl0b3IsIHBvc3NpYmxlIGRyb3AgZG93biB2YWx1ZXMsIHBvc3NpYmxlIGZpbGUgZXh0ZW5zaW9ucywgZGlyZWN0b3J5IHBhdGhzIGZvciBmaWxlIHNlbGVjdGlvbnMsIGRhdGUgZm9ybWF0cywgZXRjLi48L3A+CiAgICA8cD5BbiBpbXBvcnRhbnQgbm90ZSBvZiB3YXJuaW5nIC0gVGhpcyBpcyBub3QgYSBjb250ZW50IGNvbnN0cnVjdGlvbiBraXQsIHN1Y2ggYXMgaW4gRHJ1cGFsLiBJdCBpcyBtZWFudCBmb3Igc21hbGwgbGlzdGluZ3MsIG5vdCB0byBzdG9yZSB0aG91c2FuZHMgb2YgcmVjb3Jkcy4gVGhpcyBpcyBiZWNhdXNlIG9mIHRoZSBkYXRhYmFzZSBtb2RlbCB1c2VkIChFQVYpLiBBbHNvLCBlYWNoIGJpdCBvZiBkYXRhIHlvdSBlbnRlciBpcyBzdG9yZWQgYXMgVEVYVCBkYXRhIHR5cGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyB2YXJjaGFyLCBib29sZWFuLCB0aW1lc3RhbXAsIGV0Yy48L3A+JzsKCQokbGFuZ1snaGVscF91c2FnZSddID0gJzxoMz5Vc2FnZTwvaDM+ICAgIAogICAgICAgCiAgICA8cD5Zb3UgY2FuIGNvbmZpZ3VyZSB7JG1vZHVsZV9uYW1lfSBoZXJlOiBDb250ZW50ICZyYXF1bzsgeyRtb2R1bGVfbmFtZX08L3A+CiAgICA8cD5QbGFjZSB0aGlzIHRhZyBpbiB5b3VyIHBhZ2U6IHt7JG1vZHVsZV9uYW1lfX08L3A+PGJyIC8+JzsKCQokbGFuZ1snaGVscF91c2FnZV9vcHRpb25zJ10gPSAnQWZ0ZXIgaW5zdGFsbGluZyB0aGUgbW9kdWxlIHRoZSBuZXh0IHRoaW5nIHRvIGRvIGlzIHNldCB0aGUgb3B0aW9ucy4gICAgICAgICAgICAgICAgIAogICAgPG9sPiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgPGxpPlRvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGluIHRoZSBtZW51IGNoYW5nZSB0aGUgIk1vZHVsZSBGcmllbmRseSBOYW1lIi48L2xpPgogICAgICAgIDxsaT5UbyBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGl0ZW0gdGFiIGNoYW5nZSB0aGUgIkl0ZW0gUGx1cmFsIi48L2xpPgogICAgPC9vbD4nOwoJCiRsYW5nWydoZWxwX3VzYWdlX2ZpZWxkZGVmcyddID0gJ05leHQgLSBzZXQgdGhlIEZpZWxkIERlZmluaXRpb25zLiAKICAgIDxvbD4KICAgICAgICA8bGk+Q2hvb3NlIGZyb20gIlRleHQgSW5wdXQiLCAiQ2hlY2tib3giLCAiVGV4dCBBcmVhIiwgIlNlbGVjdCBEYXRlIiwgIlNlbGVjdCBGaWxlIiwgIkNvbnRlbnQgUGFnZXMiICAmYW1wOyAiRHJvcGRvd24iLjwvbGk+CiAgICAgICAgPGxpPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBvciBjaG9vc2UgYWRkaXRpb25hbCBzZXR0aW5nczxiciAvPiBmcm9tIGF2YWlsYWJsZSBvcHRpb25zIHdoaWNoIGRlcGVuZCBvbiBmaWVsZCBkZWZpbml0aW9uIHR5cGUuPC9saT4KICAgICAgICA8bGk+RWFjaCBpdGVtIGluIGVhY2ggbGlzdCBoYXMgdGhyZWUgZGVmYXVsdCBmaWVsZHMuIDxiciAvPkFsbCBGaWVsZCBEZWZpbml0aW9ucyBzZXQgaGVyZSBhcmUgYWRkaXRpb25hbCB0byB0aGVtLjwvbGk+CiAgICA8L29sPic7CgkKJGxhbmdbJ2hlbHBfdXNhZ2VfY2F0ZWdvcmllcyddID0gJ1NpbmNlIFZlcnNpb24gMS40LCBDYXRlZ29yaWVzIHdlcmUgbW92ZWQgdG8gRmllbGQgZGVmaW5pdGlvbnMuIFRvIGJlIGFibGUgdG8gdXNlIENhdGVnb3JpZXMgd2l0aCB5b3VyIExpc3RJdDIgaW5zdGFuY2UgeW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgYQoJIEZpZWxkIGRlZmluaXRpb24gd2l0aCB0eXBlIG9mICJDYXRlZ29yeSIuPGJyIC8+IE9uY2UgYSBGaWVsZCBkZWZpbml0aW9uIHdhcyBjcmVhdGUgbmV3IFRhYiB3aXRoIG5hbWUgIkNhdGVnb3JpZXMiIHdpbGwgYmVjb21lIGF2YWlsYWJsZSBpbiB5b3VyIExpc3RJdDIgbW9kdWxlIGluc3RhbmNlLjxiciAvPgoJIE5vdyB5b3UgY2FuIHN0YXJ0IGFkZGluZyBjYXRlZ29yaWVzLic7CgokbGFuZ1snaGVscF91c2FnZV9pdGVtcyddID0gJ05vdyB3ZSBtb3ZlIG9uIHRvIHRoZSBpdGVtIGxpc3QgaXRzZWxmLiBJbiB0aGlzIGV4YW1wbGUgaXQgc2F5cyAiQWRkIEJveCIsIHRoaXMgd2FzIHJlbmFtZWQgaW4gdGhlICJPcHRpb25zIiB0YWIuIAogICAgPG9sPgogICAgICAgIDxsaT5UaGUgZmlyc3QgZmllbGQgaXMgdGhlIGRlZmF1bHQgIlRpdGxlIiBmaWVsZC48L2xpPgogICAgICAgIDxsaT5UaGUgIkNhdGVnb3J5IiBkcm9wZG93biBpcyBhbHNvIGEgZGVmYXVsdCBmaWVsZCwgYW5kIGlmIHVuY2hhbmdlZCwgd2lsbCBiZSBzZXQgdG8gIkdlbmVyYWwiLjwvbGk+CiAgICAgICAgPGxpPlRoZSB0aGlyZCBkZWZhdWx0IGZpZWxkIGlzIHRoZSBjaGVja2JveCBjYWxsZWQgIkFjdGl2ZSIuIFRoaXMgYWxsb3dzIHlvdSB0byB0b2dnbGUgYSBsaXN0IGVudHJ5IHdpdGhvdXQgZGVsZXRpbmcgaXQuPC9saT4KICAgIDwvb2w+JzsKCQokbGFuZ1snaGVscF9wZXJtaXNzaW9ucyddID0gJzxoMz5QZXJtaXNzaW9uczwvaDM+CiAgICA8cD5Zb3UgY2FuIHNwZWNpZnkgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9ucyB1bmRlciBVc2VycyAmYW1wOyBHcm91cHMgJnJhcnI7IEdyb3VwIFBlcm1pc3Npb25zPC9wPgogICAgPHVsPgogICAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IEl0ZW1zPC9saT4KICAgICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBhbGwgaXRlbXM8L2xpPgogICAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogUmVtb3ZlIGl0ZW1zPC9saT4KICAgICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IEFwcHJvdmUgaXRlbXM8L2xpPgogICAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IENhdGVnb3JpZXM8L2xpPgogICAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IE9wdGlvbnM8L2xpPgogICAgPC91bD4KICAgIDxwPlRvIGFsbG93IG5vbi1hZG1pbiB1c2VycyB0byB1cGxvYWQgZmlsZXMsIHBsZWFzZSBnbyB0byBFeHRlbnNpb25zID4gR0JGaWxlUGlja2VyIGFuZCB0aWNrIHRoYXQgZmlyc3QgY2hlY2tib3ggIlNob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyIuPC9wPic7CgkKJGxhbmdbJ2hlbHBfZmllbGRkZWZzJ10gPSAnPGgzPkZpZWxkIERlZmluaXRpb25zPC9oMz4KICAgIDxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGNvbmZpZ3VyZSBhcmUgeW91ciBmaWVsZCBkZWZpbml0aW9ucy48L3A+CiAgICA8cD5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBzZXR0aW5ncyBieSBjaG9vc2luZyBmcm9tIGF2YWlsYWJsZSBvcHRpb25zLjwvcD4KICAgIAogICAgPGgzPkRlZmF1bHQgRmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+CiAgICA8dWw+CiAgICAgICAgPGxpPlRleHQgSW5wdXQ8L2xpPgogICAgICAgIDxsaT5DaGVja2JveDwvbGk+CiAgICAgICAgPGxpPkNoZWNrYm94IEdyb3VwPC9saT4KICAgICAgICA8bGk+UmFkaW8gR3JvdXA8L2xpPgogICAgICAgIDxsaT5UZXh0IEFyZWE8L2xpPgogICAgICAgIDxsaT5TZWxlY3QgRmlsZTwvbGk+CiAgICAgICAgPGxpPkZpbGUgVXBsb2FkPC9saT4KICAgICAgICA8bGk+RHJvcGRvd248L2xpPgogICAgICAgIDxsaT5Db250ZW50IFBhZ2VzPC9saT4KICAgICAgICA8bGk+U2VsZWN0IERhdGVUaW1lPC9saT4KICAgICAgICA8bGk+TXVsdGkgU2VsZWN0PC9saT4KICAgICAgICA8bGk+Q2hlY2tib3ggR3JvdXA8L2xpPgogICAgICAgIDxsaT5TbGlkZXI8L2xpPgogICAgICAgIDxsaT5DYXRlZ29yaWVzPC9saT4KICAgIDwvdWw+CiAgICAKICAgIDxoMz5DdXN0b20gRmllbGQgRGVmaW5pdGlvbnM8L2gzPgogICAgPHA+U2luY2UgVmVyc2lvbiAxLjMgZmllbGQgZGVmaW5pdGlvbnMgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgcmV3cml0dGVuLjxiciAvPgogICAgQXMgYSByZXN1bHQgeW91IGNhbiBub3cgY3JlYXRlIHlvdXIgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zIGJ5IGZvbGxvd2luZyBuYW1pbmcgY29udmVudGlvbiBpbiBMaXN0SXRFeHRlbmRlZCBtb2R1bGUuPC9wPgogICAgPHA+Rm9sbG93aW5nIHRoZXNlIGNoYW5nZXMsIExpc3RJdEV4dGVuZGVkIFRlYW0gaGFzIGFsc28gcmVsZWFzZWQgYSBtb2R1bGUgbmFtZWQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9saXN0aXQyeGRlZnMiIHRhcmdldD0iX2JsYW5rIj5MaXN0SXQyWERlZnM8L2E+IHRoYXQgaXMgc2ltcGx5IGEgd3JhcHBlciBtb2R1bGUgZm9yIEN1c3RvbSBGaWVsZCBkZWZpbml0aW9ucy48YnIgLz4KICAgIFdoZW4gY3JlYXRpbmcgeW91ciBjdXN0b20gZmlsZWQgZm9yIGV4YW1wbGUgIk15RmllbGQiICh3aGVyZSBNeUZpZWxkIHdvdWxkIGJlIG5hbWUgb2YgeW91ciBjdXN0b20gZmllbGQpIHlvdSB3b3VsZCBjcmVhdGUgIk15RmllbGQiIGZvbGRlciBpbnNpZGUgIkxpc3RJdDJYRGVmcy9maWVsZGRlZnMiIGZvbGRlciBhbmQgYWRkIG5lZWRlZCBmaWxlcyBpbiB0aGlzIHBhcnRpY3VsYXIgZm9sZGVyLjxiciAvPgogICAgRmllbGRkZWYgZmlsZSBoYXMgdG8gYmUgcHJlZml4ZWQgd2l0aCAibGlzdGl0MmZkIiBmb3IgZXhhbXBsZSAibGlzdGl0MmZkLk15RmllbGQucGhwIiwgZm9yIGlucHV0IGZpZWxkIHRlbXBsYXRlIHdoaWNoIGlzIHVzZWQgd2hlbiBtYW5hZ2luZyBJdGVtIHlvdSB3b3VsZCBuZWVkICJpbnB1dC5NeUZpZWxkLnRwbCIgYW5kIGFzIGZpZWxkIGRlZmluaXRpb24gc2V0dGluZ3MgdGVtcGxhdGUgeW91IHdvdWxkIG5lZWQgYWRtaW4uTXlGaWVsZC50cGwgKG9ubHkgbmVlZGVkIGlmIGFkZGl0aW9uYWwgc2V0dGluZ3MgYXJlIHBvc3NpYmxlIGZvciB0aGlzIGZpZWxkKS48L3A+CiAgICA8cD5BZnRlciB5b3UgYXJlIGRvbmUgd3JpdGluZyB5b3VyIG93biBjdXN0b20gZmllbGQgZGVmaW5pdGlvbiwgeW91IHdpbGwgaGF2ZSB0byBnbyB0byAiTW9kdWxlcyAmcmFxdW87IExpc3RJdDIiIGNsaWNrIG9uICJGaWVsZCBEZWZpbml0aW9ucyIgdGFiIGFuZCBzY2FuIGZvciBuZXcgZmllbGQgZGVmaW5pdGlvbnMgYnkgY2xpY2tpbmcgb24gIlNjYW4gRmllbGQgRGVmaW5pdGlvbnMiIGJ1dHRvbi48YnIgLz4KICAgIDxzdHJvbmc+SWYgeW91IGFyZSBsb29raW5nIGZvciBGaWVsZCBEZWZpbml0aW9ucyBsaWtlIEdCRmlsZVBpY2tlciBVcGxvYWQsIEdhbGxlcnkgT3B0aW9ucywgRkVVIERyb3Bkb3duLCBDb2xvciBQaWNrZXIgaW5zdGFsbCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2xpc3RpdDJ4ZGVmcyIgdGFyZ2V0PSJfYmxhbmsiPkxpc3RJdDJYRGVmczwvYT4gbW9kdWxlIGZpcnN0Ljwvc3Ryb25nPjwvcD48YnIgLz4KICAgIAogICAgPGg0PjxzdHJvbmc+V2F0Y2ggdGhpcyB2aWRlbyBmb3IgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zPC9zdHJvbmc+PC9oND4nOwoJCiRsYW5nWydoZWxwX3VwZ3JhZGluZ18xMnh0bzEzJ10gPSA8PDxFT1QKICAgIDxoND5TdGVwIG9uZTwvaDQ+CiAgICA8cCBjbGFzcz0icmVkIj48c3Ryb25nPlBsZWFzZSByZWFkIHVwZ3JhZGUgSW5mb3JtYXRpb24gYWJvdmUhPGJyIC8+CiAgICBNYWtlIHN1cmUgeW91IGNyZWF0ZSBCYWNrdXAgb3IgeW91ciBXZWJzaXRlIGFuZCBEYXRhYmFzZSBiZWZvcmUgYW55IGZ1cnRoZXIgYWN0aW9uczwvc3Ryb25nPjwvcD4KICAgIDxwPkFzIG1lbnRpb25lZCBhZnRlciB1cGdyYWRlIGZyb20gMS4yLnggdG8gMS4zIHRoZSBmaXJzdCBzdGVwIHlvdSB3aWxsIGhhdmUgdG8gbWFrZSBpcyBpbnN0YWxsaW5nIG5ld2x5IGNyZWF0ZWQgPHN0cm9uZz57TGlzdEl0Mk9yaWdpbmFsfTwvc3Ryb25nPiBJbnN0YW5jZS48YnIgLz4KICAgIE9uY2UgdGhpcyBJbnN0YW5jZSBpcyBpbnN0YWxsZWQgeW91ciBvbGQgT3JpZ2luYWwgTGlzdEl0MiBJdGVtcyB3aWxsIGJlIGF2YWlsYWJsZSBpbiBMaXN0SXQyT3JpZ2luYWwgSW5zdGFuY2Ugd2hpY2ggeW91IHdpbGwgZmluZCBpbiAiQ29udGVudCIgYmFja2VuZCBzZWN0aW9uLjwvcD4KICAgIDxwPkF0IHRoaXMgbW9tZW50IHlvdXIgRnJvbnRlbmQgd2lsbCBtb3N0IHBvc3NpYmx5IGJlIGJyb2tlbiwgZGlzcGxheWluZyBhIEVycm9yIGFib3V0IG5vdCByZWNvZ25pemVkIFNtYXJ0eSBUYWcgZm9yIGV4YW1wbGUgInVua25vd24gdGFnIExpc3RJdDIiLCB5b3Ugc2hvdWxkIHJlcGxhY2UgYW55IG9mIHtMaXN0SXQyfSB0YWdzIHlvdSBhcmUgdXNpbmcgaW4geW91ciBQYWdlcyBvciBUZW1wbGF0ZXMgdG8ge0xpc3RJdDJPcmlnaW5hbH0uPC9wPgogICAgPGg0PlN0ZXAgdHdvPC9oND4KICAgIDxwPkR1ZSB0byBsaW1pdGF0aW9uIGluIG1vZHVsZSB1cGdyYWRlIHByb2Nlc3MsIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXRlY3QgYW55IG9mIHlvdXIgcHJldmlvdXMgTGlzdEl0MiBNb2R1bGUgc2V0dGluZ3MsIHdoaWNoIG1lYW5zIHRoYXQgeW91IHNob3VsZCBtYWtlIHN1cmUgdG8gY2hhbmdlIHRoZXNlIHNldHRpbmdzIGluICJDb250ZW50ICZyYXF1bzsgTGlzdEl0Mk9yaWdpbmFsIiBhZ2FpbiB0byB5b3VyIHByZWZlcmVuY2UuPGJyIC8+CiAgICBBbHNvIHlvdSB3aWxsIGhhdmUgdG8gc2V0IGFueSBUZW1wbGF0ZSBpbiAiVGVtcGxhdGVzIiB0YWIgdGhhdCB5b3UgaGF2ZSBiZWVuIHVzaW5nIGJlZm9yZSBhcyBEZWZhdWwgdGVtcGxhdGUgYmFjayB0byAiZGVmYXVsdCIgaWYgeW91IGFyZSBub3QgdXNpbmcgInN1bWFyeXRlbXBsYXRlIiBvciAiZGV0YWlsdGVtcGxhdGUiIG9yIGFueSBUZW1wbGF0ZSByZWxhdGVkIHBhcmFtZXRlcnMuPC9wPgogICAgPGg0PlN0ZXAgdGhyZWU8L2g0PgogICAgPHA+SW4gY2FzZSB5b3UgaGF2ZSBiZWVuIHVzaW5nIEZpZWxkIGRlZmluaXRpb25zIGxpa2UgR0JGaWxlUGlja2VyIFVwbG9hZCBGaWxlIG9yIEdhbGxlcnkgc2VsZWN0aW9uLCBwbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIGFyZSBubyBsb25nZXIgcGFydCBvZiBMaXN0SXRFeHRlbmRlZCBNb2R1bGUuPGJyIC8+CiAgICBSZWFzb24gZm9yIHRoaXMgaXMgc2ltcGx5IHRoYXQgRmllbGQgZGVmaW5pdGlvbnMgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgcmV3cml0ZW4gbWFraW5nIGl0IHBvc3NpYmxlIGZvciB5b3UgdG8gY3JlYXRlIHlvdXIgb3duIGN1c3RvbSBGaWVsZCBkZWZpbml0aW9ucyBhbmQgc2ltcGx5IExpc3RJdEV4dGVuZGVkIERFViBUZWFtIGNhbiBub3Qgc3VwcG9ydCBhbnkgdGhpcmQgcGFydHkgTW9kdWxlcyBhcyBwYXJ0IG9mIExpc3RJdEV4dGVuZGVkIE1vZHVsZSBhbmQgdGhlcmVmb3IgcG9zc2libHkgZGVsYXlpbmcgcmVsZWFzZXMgaW4gZnV0dXJlIGR1ZSB0byBNb2R1bGUgaW5jb21wYXRpYmlsaXR5IG9yIGFueXRoaW5nIGVsc2UuPC9wPgogICAgPHA+VG8gbWFrZSB5b3VyIG9sZCBVcGxvYWQgRmlsZSBvciBHYWxsZXJ5IEZpZWxkcyB3b3JraW5nIGFnYWluIHlvdSB3aWxsIGhhdmUgdG8gaW5zdGFsbCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2xpc3RpdDJ4ZGVmcyIgdGFyZ2V0PSJfYmxhbmsiPkxpc3RJdEV4dGVuZGVkIFhEZWZzPC9hPiBNb2R1bGUgd2hpY2ggaXMgYSBHYXRld2F5IG1vZHVsZSB0byBMaXN0SXRFeHRlbmRlZCBjdXN0b20gRmllbGQgZGVmaW5pdGlvbnMuPGJyIC8+CiAgICBBZnRlciBMaXN0SXRFeHRlbmRlZCBYRGVmcyBpcyBpbnN0YWxsZWQgeW91IHdpbGwgZmluZCBhIGxpc3Qgb2YgYXZhaWxhYmxlIEZpZWxkIERlZmluaXRpb25zIGluICJFeHRlbnNpb25zICZyYXF1bzsgTGlzdEl0MiIgYnkgY2xpY2tpbmcgb24gIkZpZWxkIERlZmluaXRpb25zIiB0YWIuPGJyIC8+CiAgICBJZGVhbGx5IHlvdXIgRmllbGQgZGVmaW5pdGlvbnMgc2hvdWxkIHdvcmsgYWdhaW4sIGlmIHRoYXQgaXMgbm90IHRoZSBjYXNlIHlvdSBzaG91bGQgdHJ5IHRvIHJlcGFpciBGaWVsZCBkZWZpbml0aW9ucyBkYXRhYmFzZSB0YWJsZSBieSBjbGlja2luZyBvbiAiUmVwYWlyIiBidXR0b24gdW5kZXIgIk1haW50ZW5hbmNlIiB0YWIuPC9wPjxiciAvPgogICAgPHA+PHN0cm9uZz5JZiB5b3UgaGF2ZSBmb2xsb3dlZCBhYm92ZSBzdGVwcywgeW91IHNob3VsZCBub3cgaGF2ZSBhIGZ1bGx5IGZ1bmN0aW9uYWwgYW5kIHVwZ3JhZGVkIExpc3RJdEV4dGVuZGVkIE1vZHVsZSBhbmQgYWxsIGNyZWF0ZWQgSW5zdGFuY2VzLjwvc3Ryb25nPjwvcD4KRU9UOwoKJGxhbmdbJ2hlbHBfdXBncmFkaW5nXzEzeHRvMTQnXSA9IDw8PEVPVAoJPGg0PkNhdGVnb3JpZXMgY2hhbmdlczwvaDQ+Cgk8cD5JbiB2ZXJzaW9uIDEuNCBiZWhhdmlvciBvZiBDYXRlZ29yaWVzIHdhcyBjaGFuZ2VkIGFuZCBtb3ZlZCB0byBGaWVsZCBkZWZpbml0aW9ucy4gUmVhc29uIGZvciB0aGlzIGlzLCB0aGF0IG5vdCBldmVyeSBMaXN0SXQyIE1vZHVsZSBpbnN0YW5jZSBhY3R1YWxseSByZXF1aXJlcyBDYXRlZ29yaWVzLAoJdGhlcmVmb3JlIHdoZW4geW91IHNlZSB5b3VyIENhdGVnb3JpZXMgbWlzc2luZyB5b3Ugd2lsbCBoYXZlIHRvIGNyZWF0ZSBuZXcgRmllbGQgZGVmaW5pdGlvbiBvZiB0eXBlICJDYXRlZ29yeSIsIGlmIHlvdSBkbyBub3Qgc2VlIHRoaXMgRmllbGQgZGVmaW5pdGlvbiwgdHJ5IHNjYW5pbmcgZm9yIG5ldyBGaWVsZAoJZGVmaW5pdGlvbiBpbiBMaXN0SXQyIE1vZHVsZSBpbnRlcmZhY2UsIGxvY2F0ZWQgaW4gIkZpZWxkIERlZmluaXRpb25zIiB0YWIuPC9wPgoJPHA+T25jZSB5b3VyIENhdGVnb3J5IEZpbGVkIGRlZmluaXRpb24gd2FzIGNyZWF0ZWQsIHlvdSBzaG91bGQgc2VlICJDYXRlZ29yaWVzIiB0YWIgaW4geW91ciBMaXN0SXQyIE1vZHVsZSBpbnN0YW5jZSBhZ2FpbiwgYXMgd2VsbCBhcyBoYXZlIHRoZSBhYmlsaXR5IG9mIGNob29zaW5nIGEgQ2F0ZWdvcnkgZm9yIGEgSXRlbS48L3A+CkVPVDsKCQokbGFuZ1snaGVscF9jYXRlZ29yaWVzJ10gPSA8PDxFT1QKCTxoMz5DYXRlZ29yaWVzPC9oMz4KICAgIDxwPkNhdGVnb3JpZXMgYXJlIHBhcnQgb2YgRmllbGQgZGVmaW5pdGlvbnMgYW5kIGRpc2FibGVkIGJ5IGRlZmF1bHQuPGJyIC8+CiAgICBJZiB5b3UgbmVlZCBDYXRlZ29yaWVzIHdpdGggdGhpcyBpbnN0YW5jZSB5b3Ugd2lsbCBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBGaWVsZCBkZWZpbml0aW9uIG9mIHR5cGUgIkNhdGVnb3J5Ii48YnIgLz4KICAgIE9uY2UgYSBGaWVsZCBkZWZpbml0aW9uIHdhcyBjcmVhdGVkLCBhIG5ld3MgdGFiIG5hbWVkICJDYXRlZ29yaWVzIiB3aWxsIGJlY29tZSBhdmFpbGFibGUgaW4gbW9kdWxlIEluc3RhbmNlLjwvcD4KICAgIDxwPkNhdGVnb3JpZXMgc3VwcG9ydCBtdWx0aXBsZSBsZXZlbHMgYW5kIGNyZWF0ZWQgSXRlbXMgbWF5IGJlbG9uZyB0byBtdWx0aXBsZSBjYXRlZ29yaWVzLCBkZXBlbmRpbmcgb24geW91ciBzZWxlY3RlZCBvcHRpb25zIHdoaWxlIGNyZWF0aW5nIENhdGVnb3J5IEZpZWxkIGRlZmludGlvbi48L3A+PGJyIC8+CiAgICA8cD5UaGVyZSBhcmUgdHdvIHNhbXBsZSB0ZW1wbGF0ZXMgaW5jbHVkZWQgdG8gZGVtb25zdGFydGUgaG93IGNhdGVnb3JpZXMgd2l0aGluIExpc3RJdDIgTW9kdWxlIGluc3RhbmNlIHdvcmssIHRoaXMgc2hvdWxkIGdpdmUgeW91IGEgc3RhcnRpbmcgaWRlYSBvbiBob3cgdG8gY3JlYXRlIHlvdXIgcGVyc29uYWxpemllZCBhbmQgY3VzdG9tPGJyIC8+CiAgICBUZW1wbGF0ZXMgZm9yIHlvdXIgbmV4dCBwcm9qZWN0LjwvcD4KICAgIDxoND5Vc2luZyBDYXRlZ29yaWVzPC9oND4KICAgIDxwPkZvciBkZXRhaWxlZCB1c2FnZSBhbmQgYXZhaWxhYmxlIHBhcmFtZXRlcnMsIGhhdmUgYSBsb29rIGJlbG93IGF0ICJQYXJhbWV0ZXJzIiBIZWxwIHNlY3Rpb248L3A+CiAgICA8cHJlPjxjb2RlPnt7JG1vZHVsZV9uYW1lfSBhY3Rpb249J2NhdGVnb3J5J308L2NvZGU+PC9wcmU+CkVPVDsKCQokbGFuZ1snaGVscF90ZW1wbGF0ZXMnXSA9ICc8aDM+VGVtcGxhdGVzPC9oMz4KICAgIDxwPklmIHlvdSBhcmUgbm90IHN1cmUgd2hhdCB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0byB1c2UgaW4geW91ciB0ZW1wbGF0ZXMsIHRyeSBkZWJ1Z2dpbmc6PC9wPgogICAgPHA+e3skbW9kdWxlX25hbWV9IGRlYnVnPTF9PC9wPgogICAgPHA+WW91IGNhbiBhY2Nlc3MgYW55IGZpZWxkIGRpcmVjdGx5IHdoZW4gbG9vcGluZyB0aHJvdWdoIGl0ZW1zIHVzaW5nIGl0cyBhbGlhcywgZm9yIGV4YW1wbGUsIHRvIGlmIHlvdSBjcmVhdGVkIGEgZmllbGQgZGVmaW5pdGlvbiB3aXRoIGFuIGFsaWFzICJwb3NpdGlvbiIsIHlvdSBjYW4gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6PC9wPic7CgokbGFuZ1snaGVscF9kdXBsaWNhdGluZyddID0gJzxoMz5DcmVhdGluZyBNb2R1bGUgSW5zdGFuY2VzPC9oMz4KICAgIDxwPlRoaXMgbW9kdWxlIGlzIGEgQ29udHJvbCBQYW5lbCBmb3IgY3JlYXRpbmcgTGlzdEl0RXh0ZW5kZWQgTW9kdWxlIEluc3RhbmNlcy4gVG8gY3JlYXRlIExpc3RJdEV4dGVuZGVkIG1vZHVsZSBJbnN0YW5jZSwgc2ltcGx5IGdvIHRvICJJbnN0YW5jZXMiIHRhYiBhbmQgY2xpY2sgb24gIkNyZWF0ZSBJbnN0YW5jZSIgYnV0dG9uLjxiciAvPgogICAgTWFrZSBzdXJlIHlvdSBmb2xsb3cgdGhlIENNU01TIG1vZHVsZSBuYW1pbmcgY29udmVudGlvbnMsIGEteiB3aXRoIG5vIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgb3Igc3BhY2VzIHRvIGJlIHNhZmUgOik8YnIgLz4KICAgIEFmdGVyIHRoZSBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBhIG5ldyBpbnN0YW5jZSB3aWxsIGJlIGluc3RhbGxlZCBhbmQgbGlzdGVkIGluIG9yaWdpbmFsIExpc3RJdEV4dGVuZGVkIG1vZHVsZSB1bmRlciAiSW5zdGFuY2VzIiB0YWIuPC9wPjxiciAvPgogICAgPHA+WW91IGNhbiBhbHdheXMgY2hhbmdlIHRoZSBtb2R1bGUgZnJpZW5kbHkgbmFtZSBvbmNlIGluc3RhbGxlZCB1bmRlciAiT3B0aW9ucyIgKENvbnRlbnQgJnJhcXVvOyBMaXN0SXQyTmFtZU9mRHVwbGljYXRlKS48YnIgLz4KICAgIFRvIGNoYW5nZSB0aGUgaWNvbiwgcmVwbGFjZSAvbW9kdWxlcy9MaXN0SXQyTmFtZU9mRHVwbGljYXRlL2ltYWdlcy9pY29uLmdpZi48YnIgLz4KICAgIFRvIGNoYW5nZSBBZG1pbiBzZWN0aW9uIG9mIHRoZSBtb2R1bGUsIHNpbXBseSBzZWxlY3QgYXBwcm9wcmlhdGUgc2VjdGlvbiBmcm9tIERyb3Bkb3duLiBNYWtlIHN1cmUgeW91IGNsZWFyIHRoZSBjYWNoZSBhZnRlciB0aGVzZSBjaGFuZ2VzLjwvcD4nOwoJCiRsYW5nWydoZWxwX2Fib3V0J10gPSA8PDxFT1QKCTxoMz5BYm91dDwvaDM+CiAgICA8cD5PcmlnaW4gb2YgdGhpcyBtb2R1bGUgY29tZXMgZnJvbSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2xpc3RpdCIgdGFyZ2V0PSJfYmxhbmsiPkxpc3RJdCBNb2R1bGU8L2E+IGRldmVsb3BlZCBieSBCZW4gTWFsZW4uPGJyIC8+QXMgdGhlcmUgd2VyZSBubyBwbGFucyBvbiBmdXJ0aGVyIGRldmVsb3BtZW50IG9mIHRoZSBtb2R1bGUgc29tZSBwZW9wbGUgZGVjaWRlZCB0byBmb3JrIHRoZSBtb2R1bGUgYW5kIGNvbnRpbnVlIHdpdGggZGV2ZWxvcG1lbnQuPGJyIC8+CiAgICBJZiB5b3UgZmluZCBhbnkgYnVncyBwbGVhc2UgZmVlbCBmcmVlIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4gb3IgZm9yIGFueSBnb29kIGlkZWFzIGNvbnNpZGVyIHN1Ym1pdGluZyBhIGZlYXR1cmUgcmVxdWVzdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2ZlYXR1cmVfcmVxdWVzdC9saXN0LzEwMTUiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gPC9wPgogICAgPHA+UGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuCiAgICA8L3A+CkVPVDsKCQokbGFuZ1snaGVscF9zbWFydHlfcGx1Z2lucyddID0gPDw8RU9UCgk8aDQ+V2hhdCBkb2VzIHRoaXMgZG8/PC9oND4KCSA8cD5UaGlzIHBsdWdpbiBhbGxvd3MgeW91IHRvIGxvYWQgTGlzdEl0RXh0ZW5kZWQgaXRlbSBhbmQgY2F0ZWdvcnkgb2JqZWN0IGJ5IGNlcnRhaW4gY3JpdGVyaWEsIGFueXdoZXJlIGluIHRoZSBzeXN0ZW0uPC9wPgoJIAoJPGg0PkhvdyBkbyBJIHVzZSBpdD88L2g0PgoJPHA+U2ltcGx5IGluc2VydCB0aGlzIHRhZyBpbnRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTo8L3A+Cgk8cHJlPjxjb2RlPntMaXN0SXQyTG9hZGVyIGl0ZW09J2l0ZW0nIGlkZW50aWZpZXI9J2FsaWFzJyBpbnN0YW5jZT0nTGlzdEl0Mkluc3RhbmNlJyB2YWx1ZT0nbXlhbGlhcycgYXNzaWduPSd0bXAnfTwvY29kZT48L3ByZT4KCQoJPHA+Jm5ic3A7PC9wPgoJCgk8cD5Gb2xsb3dpbmcgbGluZSB3aWxsIGxvYWQgaXRlbSBvYmplY3QgZnJvbSBpbnN0YW5jZSAnTGlzdEl0Mkluc3RhbmNlJyBieSBhbGlhcyAnbXlhbGlhcycgYW5kIGFzc2lnbiBpdCB0byB2YXJpYWJsZSAmZG9sbGFyO3RtcC4gPGJyIC8+IAoJQWZ0ZXIgdGhpcyB5b3UgY2FuIHVzZSBpdCBpbiBzaW1pbGFyIHdheSwganVzdCBsaWtlIGluIHJlZ3VsYXIgTGlzdEl0RXh0ZW5kZWQgdGVtcGxhdGVzOjwvcD4KCTxwcmU+PGNvZGU+eyZkb2xsYXI7dG1wLT50aXRsZX08L2NvZGU+PC9wcmU+CgkKCTxwPiZuYnNwOzwvcD4KCQoJPHA+SWYgbXVsdGlwbGUgaXRlbXMgYXJlIGJlaW5nIGxvYWRlZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGFycmF5IG9mIG9iamVjdHMsIGVsc2UgaXQgcmV0dXJucyBzaW5nbGUgaXRlbS9jYXRlZ29yeSBvYmplY3Q8L3A+CgoJPGg0PldoYXQgcGFyYW1ldGVycyBkb2VzIGl0IHRha2U/PC9oND4KCTx1bD4KCQk8bGk+PGVtPihyZXF1aXJlZCkgPC9lbT48dHQ+aW5zdGFuY2U8L3R0PiAtIE5hbWUgb2YgaW5zdGFuY2UgdGhhdCBob2xkcyBpdGVtcy4gPGk+KElmIHVzZWQgaW5zaWRlIExpc3RJdEV4dGVuZGVkIHRlbXBsYXRlcywgdGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwpPC9pPjwvbGk+CgkJPGxpPjxlbT4ocmVxdWlyZWQpIDwvZW0+PHR0PnZhbHVlPC90dD4gLSBDb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBpZGVudGlmaWVyIHZhbHVlczogJ2FsaWFzMSxhbGlhczIsYWxpYXMzJyBvciAnMSwyLDMnPC9saT4KCQk8bGk+PGVtPihvcHRpb25hbCkgPC9lbT48dHQ+aXRlbT0iaXRlbSI8L3R0PiAtIFdhbnRlZCBpdGVtIHR5cGUsIGVpdGhlcjogaXRlbS9jYXRlZ29yeTwvbGk+CgkJPGxpPjxlbT4ob3B0aW9uYWwpIDwvZW0+PHR0PmlkZW50aWZpZXI9Iml0ZW1faWQvY2F0ZWdvcnlfaWQiPC90dD4gLSBXYW50ZWQgaWRlbnRpZmllciwgb25lIG9mIGZvbGxvd2luZzogaXRlbV9pZCwgY2F0ZWdvcnlfaWQsIGFsaWFzPC9saT4KCQk8bGk+PGVtPihvcHRpb25hbCkgPC9lbT48dHQ+Zm9yY2VfYXJyYXk9ImZhbHNlIjwvdHQ+IC0gRm9yY2Ugb3V0cHV0IHZhbHVlIGFzIGFycmF5PC9saT4KCTwvdWw+CkVPVDsKCiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJwogICAgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgYWN0aW9uLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgPHVsPgogICAgICAgIDxsaT4mcXVvdDtkZWZhdWx0JnF1b3Q7IC0gZGlzcGxheXMgdGhlIHN1bW1hcnkgdmlldy48L2xpPgogICAgICAgIDxsaT4mcXVvdDtkZXRhaWwmcXVvdDsgLSBkaXNwbGF5cyBhIHNwZWNpZmllZCBlbnRyeSBpbiBkZXRhaWwgbW9kZS48L2xpPgogICAgICAgIDxsaT4mcXVvdDtzZWFyY2gmcXVvdDsgLSBkaXNwbGF5cyB0aGUgc2VhcmNoIGZvcm0uIE9wdGlvbmFsIHBhcmFtZXRlcnMgdGhhdCBhZmZlY3QgdG8gdGhpcyBhY3Rpb24gb25seTogPGVtPmZpbHRlci48L2VtPjwvbGk+CiAgICAgICAgPGxpPiZxdW90O2NhdGVnb3J5JnF1b3Q7IC0gZGlzcGxheXMgdGhlIGNhdGVnb3JpZXMuIE9wdGlvbmFsIHBhcmFtZXRlcnMgdGhhdCBhZmZlY3QgdG8gdGhpcyBhY3Rpb24gb25seTogPGVtPnNob3dfaXRlbXMsIGNvbGxhcHNlLCBudW1iZXJfb2ZfbGV2ZWxzLjwvZW0+PC9saT4KICAgIDwvdWw+JzsJCiRsYW5nWydoZWxwX3BhcmFtX3Nob3dhbGwnXSA9ICdTaG93IGFsbCBpdGVtcywgaXJyZXNwZWN0aXZlIG9mIGVuZCBkYXRlLic7CiRsYW5nWydoZWxwX3BhcmFtX2NhdGVnb3J5J10gPSAnU3BlY2lmeSBhbiBhbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgYWxpYXNlcyBvZiB0aGUgY2F0ZWdvcnkvY2F0ZWdvcmllcyBkaXNwbGF5ZWQgaXRlbXMgbXVzdCBiZSBhIG1lbWJlciBvZi4nOwokbGFuZ1snaGVscF9wYXJhbV9leGNsdWRlX2NhdGVnb3J5J10gPSAnU3BlY2lmeSBhbiBhbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgYWxpYXNlcyBvZiB0aGUgY2F0ZWdvcnkvY2F0ZWdvcmllcyBkaXNwbGF5ZWQgaXRlbXMgbXVzblwndCBiZSBhIG1lbWJlciBvZi4nOwokbGFuZ1snaGVscF9wYXJhbV9zdWJjYXRlZ29yeSddID0gJ0lmIHBhcmFtZXRlciBcJ2NhdGVnb3J5XCcgaXMgc3BlY2lmaWVkLCB0aGlzIHBhcmFtZXRlciBzZXQgdG8gPGVtPnRydWU8L2VtPiB3aWxsIG1ha2UgYWxsb3dhbmNlIGZvciBzdWJjYXRlZ29yaWVzXCcgaXRlbXMuIEl0IGlzIHNldCB0byBmYWxzZSBieSBkZWZhdWx0Lic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhlIGRldGFpbCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhlIHN1bW1hcnkgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlLic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHRlbXBsYXRlJ10gPSAnVGhlIHNlYXJjaCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnl0ZW1wbGF0ZSddID0gJ1RoZSBjYXRlZ29yeSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fb3JkZXJieSddID0gJ1lvdSBjYW4gb3JkZXIgYnkgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29sdW1uczogaXRlbV9pZCwgaXRlbV90aXRsZSwgaXRlbV9wb3NpdGlvbiwgaXRlbV9jcmVhdGVkLCBjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfcG9zaXRpb24sIGNhdGVnb3J5X2hpZXJhcmNoeSwgcmFuZCBhbmQgYWxzbyBieSBjdXN0b20gZmllbGRzIHdpdGggY3VzdG9tXyogKCogd291bGQgYmUgZmllbGQgZGVmaW5pdGlvbiBhbGlhcykuPGJyIC8+CiAgICA8dWw+CiAgICAgICAgPGxpPkZvciBleGFtcGxlOjxiciAvPgogICAgICAgIG9yZGVyYnk9XCdjYXRlZ29yeV9uYW1lLCBpdGVtX3RpdGxlXCc8L2xpPgogICAgICAgIDxsaT5XaXRoIGZpZWxkZGVmIHZhbHVlczo8YnIgLz4KICAgICAgICBvcmRlcmJ5PVwnY3VzdG9tX1tmaWVsZGRlZiBhbGlhc11cJzwvbGk+ICAgICAgICAKICAgICAgICA8bGk+WW91IGNhbiBhbHNvIHNwZWNpZnkgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgZm9yIGFueSBjb2x1bW4sIGZvciBleGFtcGxlOjxiciAvPgogICAgICAgIG9yZGVyYnk9XCdjYXRlZ29yeV9uYW1lfEFTQywgaXRlbV90aXRsZXxERVNDXCc8L2xpPgogICAgPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IChwZXIgcGFnZSkuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3VwcGxpZWQgYWxsIG1hdGNoaW5nIGl0ZW1zIHdpbGwgYmUgZGlzcGxheWVkLiAgSWYgaXQgaXMsIGFuZCB0aGVyZSBhcmUgbW9yZSBpdGVtcyBhdmFpbGFibGUgdGhhbiBzcGVjaWZpZWQgaW4gdGhlIHBhcmFtZXRlciwgdGV4dCBhbmQgbGlua3Mgd2lsbCBiZSBzdXBwbGllZCB0byBhbGxvdyBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgcmVzdWx0cyc7CiRsYW5nWydoZWxwX3BhcmFtX3N0YXJ0J10gPSAnU3RhcnQgYXQgdGhlIG50aCBpdGVtIC0tIGxlYXZpbmcgZW1wdHkgd2lsbCBzdGFydCBhdCB0aGUgZmlyc3QgaXRlbS4nOwokbGFuZ1snaGVscF9wYXJhbV9udW1iZXInXSA9ICdNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IChwZXIgcGFnZSkgLS0gbGVhdmluZyBlbXB0eSB3aWxsIHNob3cgYWxsIGl0ZW1zLiBUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIHBhZ2VsaW1pdCBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1BhZ2UgdG8gZGlzcGxheSBpdGVtIGRldGFpbHMgaW4uIE11c3QgYmUgYSBwYWdlIGFsaWFzL2lkLiBVc2VkIHRvIGFsbG93IGRldGFpbHMgdG8gYmUgZGlzcGxheWVkIGluIGEgZGlmZmVyZW50IHBhZ2UgdGhhbiBzdW1tYXJ5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnlwYWdlJ10gPSAnUGFnZSB0byBkaXNwbGF5IGl0ZW0gc3VtbWFyeSBpbi4gTXVzdCBiZSBhIHBhZ2UgYWxpYXMvaWQuIFVzZWQgdG8gYWxsb3cgc3VtbWFyaWVzIHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gaW5pdGlhdG9yLic7CiRsYW5nWydoZWxwX3BhcmFtX2l0ZW0nXSA9ICdUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGFwcGxpY2FibGUgdG8gdGhlIGRldGFpbCB2aWV3LiBJdCBhbGxvd3Mgc3BlY2lmeWluZyB3aGljaCBpdGVtIHRvIGRpc3BsYXkgaW4gZGV0YWlsIG1vZGUuIE11c3QgYmUgYW4gaXRlbSBhbGlhcy4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2gnXSA9ICdTZWFyY2ggYWxsIGZpZWxkcy4gVXNlcyBmdWxsdGV4dCBzZWFyY2guIENhbiBiZSBjb21iaW5lZCB3aXRoIGZpbHRlciBzZWFyY2guJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoXyddID0gJ1NlYXJjaCBhIHBhcnRpY3VsYXIgZmllbGQuIFlvdSBjYW4gdXNlIFwndGl0bGVcJyBvciB0aGUgYWxpYXMgb2YgYSBmaWVsZCBkZWZpbml0aW9uLCBlLmcuIHNlYXJjaF90aXRsZS4gQ2FuIGJlIGNvbWJpbmVkIHdpdGggZnVsbHRleHQgc2VhcmNoLiBNdWx0aXBsZSBzZWFyY2hfKiBwYXJhbXMgY2FuIGJlIGNvbWJpbmVkLic7CiRsYW5nWydoZWxwX3BhcmFtX2ZpbHRlciddID0gJ0FwcGxpZXMgb25seSB0byBhY3Rpb246IDxlbT5zZWFyY2g8L2VtPi4gU3BlY2lmeSB0aGUgZmllbGRzIHdob3NlIHZhbHVlcyBzaG91bGQgYmUgb2ZmZXJlZCBhcyBmaWx0ZXIgb3B0aW9ucyBieSBsaXN0aW5nIHRoZSBmaWVsZFwncyBhbGlhc2VzIGNvbW1hIHNlcGFyYXRlZC4nOwovLyRsYW5nWydoZWxwX3BhcmFtX3JldHVybnBhZ2UnXSA9ICdVc2VkIGZvciBmaWx0ZXIgb3Igc2VhcmNoIG1vZGUgb25seS4gUGFnZSB0byBkaXNwbGF5IHNlYXJjaCByZXN1bHRzIHJlc3BlY3Rpdmx5IGZpbHRlcmVkIGl0ZW1zIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy4gVXNlZCB0byBhbGxvdyBzdW1tYXJ5IHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gZmlsdGVyIC8gc2VhcmNoIG1hc2suJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVidWcnXSA9ICdFbmFibGVzIGRlYnVnIG1vZGUsIHByaW50aW5nIG91dCBhbGwgdGhlIG9iamVjdHMsIGFycmF5cywgdmFyaWFibGVzIGF2YWlsYWJsZSBmb3IgY3VycmVudCBhY3Rpb24uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fY29sbGFwc2UnXSA9ICdBcHBsaWVzIG9ubHkgdG8gYWN0aW9uOiA8ZW0+Y2F0ZWdvcnk8L2VtPi4gVG9nZ2xlIGNvbGxhcHNlIGNhdGVnb3JpZXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd19pdGVtcyddID0gJ0FwcGxpZXMgb25seSB0byBhY3Rpb246IDxlbT5jYXRlZ29yeTwvZW0+LiBBcHBlbmQgaXRlbXMgdG8gY2F0ZWdvcnkgdHJlZS4nOwokbGFuZ1snaGVscF9wYXJhbV9udW1iZXJfb2ZfbGV2ZWxzJ10gPSAnQXBwbGllcyBvbmx5IHRvIGFjdGlvbjogPGVtPmNhdGVnb3J5PC9lbT4uIE51bWJlciBvZiBvZiBjYXRlZ29yeSBsZXZlbHMgdG8gc2hvdy4nOwokbGFuZ1snaGVscF9wYXJhbV9pbmNsdWRlX2l0ZW1zJ10gPSAnU3BlY2lmeSBhbiBpZC9hbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgaWRzL2FsaWFzZXMgb2YgdGhlIGl0ZW1zIHlvdSB3YW50IHRvIGRpc3BsYXkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZXhjbHVkZV9pdGVtcyddID0gJ1NwZWNpZnkgYW4gaWQvYWxpYXMgb3IgY29tbWEgc2VwYXJhdGVkIGlkcy9hbGlhc2VzIG9mIHRoZSBpdGVtcyB5b3Ugd2FudCB0byBleGNsdWRlIGZyb20gbGlzdC4nOwoKLy8gdGhpcyBpcyB0ZW1wb3JhcnkgZm9yIDEuMyB1cGdyYWRlCiRsYW5nWyd1cGdyYWRlX3dhcm5pbmcnXSA9ICc8aDM+SW1wb3J0YW50IHVwZ3JhZGUgSW5mb3JtYXRpb248L2gzPgogICAgPHA+PHN0cm9uZz5JZiB5b3UgaGF2ZSB1cGdyYWRlZCB0byAxLjMgZnJvbSBMaXN0SXRFeHRlbmRlZCAxLjIuMiBvciBlYXJsaWVyLCByZWFkIHRoaXMgY2FyZWZ1bGx5ITwvc3Ryb25nPjwvcD4KICAgIDxwPkFmdGVyIGNvbXBsZXRpbmcgdGhlIHVwZ3JhZGUgcHJvY2VlZHVyZSBvZiBMaXN0SXRFeHRlbmRlZCAxLjMsIHlvdXIgcHJldmlvdXMgIkxpc3RJdDIiIG1vZHVsZSB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIG5ldyBtb2R1bGUgaW5zdGFuY2UgY2FsbGVkIExpc3RJdDJPcmlnaW5hbC48YnIgLz4KICAgIFBsZWFzZSBnbyB0byAiRXh0ZW5zaW9ucyAmcmFxdW87IE1vZHVsZXMiIGFuZCBpbnN0YWxsIHRoaXMgbmV3bHkgY3JlYXRlZCBpbnN0YW5jZS4gT25jZSBpbnN0YWxsZWQsIGl0ZW1zIGZyb20geW91ciBvcmlnaW5hbCBMaXN0SXQyIG1vZHVsZSB3aWxsIGJlIGF2YWlsYWJsZSBhZ2Fpbi48YnIgLz4KICAgIFVuZm9ydHVuYXRlbHkgeW91IHdpbGwgaGF2ZSB0byBjaGFuZ2UgYWxsIHtMaXN0SXQyfSB0YWdzIGluIHlvdXIgd2Vic2l0ZSB0byB7TGlzdEl0Mk9yaWdpbmFsfS4gU29ycnkgYWJvdXQgdGhhdC48L3A+JzsKCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ludmFsaWRfY2hhcmFjdGVycyddID0gJ1plaWNoZW4gd2llOiAlcyBzaW5kIG5pY2h0IGVybGF1YnQgbWl0IGRpZXNlbiBGZWxkOiAlcyc7CiRsYW5nWydpdGVtJ10gPSAnRWludHJhZyc7CiRsYW5nWydpdGVtcyddID0gJ0VpbnRyJmF1bWw7Z2UnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdFeHRyYS1GZWxkJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0V4dHJhLUZlbGRlcic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlICc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWVuJzsKJGxhbmdbJ29wdGlvbiddID0gJ09wdGlvbiAnOwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbmVuJzsKJGxhbmdbJ21haW50ZW5hbmNlJ10gPSAnV2FydHVuZyc7CiRsYW5nWydiYWNrJ10gPSAnRWluZSBTZWl0ZSB6dXImdXVtbDtjayc7CiRsYW5nWydwcm9tcHRfZml4X2ZpZWxkZGVmcyddID0gJ1ZlcnN1Y2hlIFJlcGFyYXR1ciBkZXIgRGF0ZW5iYW5rIEVpbnRyJmF1bWw7Z2UgZiZ1dW1sO3IgRXh0cmEtRmVsZGVyJzsKJGxhbmdbJ21lc3NhZ2VfZmllbGRkZWZzX2ZpeGVkJ10gPSAnRXh0cmEtRmVsZGVyIGYmdXVtbDtyIGFsbGUgSW5zdGFuemVuIHJlcGFyaWVydC4nOwokbGFuZ1snaXRlbV90aXRsZSddID0gJ1RpdGVsJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnVGl0ZWwgZGVzIEVpbnRyYWdzJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdGl2JzsKJGxhbmdbJ2NyZWF0ZV90aW1lJ10gPSAnRXJzdGVsbHVuZ3NkYXR1bSc7CiRsYW5nWyd0aW1lX2NvbnRyb2wnXSA9ICdaZWl0c3RldWVydW5nIHZlcndlbmRlbic7CiRsYW5nWydzdGFydF90aW1lJ10gPSAnU3RhcnR6ZWl0JzsKJGxhbmdbJ2VuZF90aW1lJ10gPSAnRW5kemVpdCc7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnVGl0ZWwgZGVzIEVpbnRyYWdzIGlzdCBsZWVyJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnUGZsaWNodGZlbGQgaXN0IGxlZXInOwokbGFuZ1sndG9vX2xvbmcnXSA9ICdGZWxkd2VydCAmdXVtbDtiZXJzY2hyZWl0ZXQgbWF4aW1hbGUgTCZhdW1sO25nZSc7CiRsYW5nWydhcHByb3ZlJ10gPSAnU3RhdHVzIGF1ZiAmIzAzOTtBa3RpdiYjMDM5OyBzZXR6ZW4nOwokbGFuZ1sncmV2ZXJ0J10gPSAnU3RhdHVzIGF1ZiAmIzAzOTtJbmFrdGl2JiMwMzk7IHNldHplbic7CiRsYW5nWydzdWJtaXRfb3JkZXInXSA9ICdSZWloZW5mb2xnZSBzcGVpY2hlcm4nOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnQXVzZ2V3JmF1bWw7aGx0ZSAlcyBsJm91bWw7c2NoZW4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZSddID0gJ1dvbGxlbiBTaWUgd2lya2xpY2ggYWxsZSAlcyBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdBbGxlIGF1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ2Vycm9yX3N0YXJ0Z3JlYXRlcmVuZCddID0gJ0ZFSExFUjogRGFzIFN0YXJ0ZGF0dW0gaXN0IHNwJmF1bWw7dGVyIGFscyBkYXMgRW5kZGF0dW0uJzsKJGxhbmdbJ2l0ZW1fYWxpYXNfZXhpc3RzJ10gPSAnQWxpYXMgZGVzIEVpbnRyYWdzIGV4aXN0aWVydCBiZXJlaXRzLiBEZXIgQWxpYXMg4oCL4oCLbXVzcyBlaW5kZXV0aWcgc2Vpbi4nOwokbGFuZ1sncmV0dXJuX3VybCddID0gJ1p1ciZ1dW1sO2NrJzsKJGxhbmdbJ3BhdGhjb250YWluc3ZhcnMnXSA9ICdEaWVzZXMgRmVsZCBrYW5uIG5hY2ggZGVtIGVyc3RlbiBTcGVpY2hlcm4gZGVzICVzIGJlYXJiZWl0ZXQgd2VyZGVuJzsKJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfaXRlbV9pZCddID0gJ0lmIGl0ZW1faWQgaXMgZ2l2ZW4sIGl0ZW1zIGFyZSBleHBlY3RlZCB0byBiZSBleGlzdGluZyBvbmVzIGluIGRhdGFiYXNlLiBJZiB5b3UgaW1wb3J0aW5nIG5ldyBpdGVtcywgaWdub3JlIHRoaXMgZmllbGQuJzsKJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfY2F0ZWdvcnlfaWQnXSA9ICdJZiBjYXRlZ29yeV9pZCBpcyBnaXZlLCBpdGVtIHdpbGwgYmUgc2V0IGludG8gdGhpcyBjYXRlZ29yeS4gSWYgY2F0ZWdvcnlfaWQgaXMgc2V0LCBidXQgZG9zZW4mIzAzOTsgZXhpc3RzLCBpdCBpcyBpZ25vcmVkIGFuZCBkZWZhdWx0IGlzIHVzZWQgaW5zdGVhZC4nOwokbGFuZ1snaXRlbV92YXJfaGVscF90aXRsZSddID0gJ0l0ZW0gdGl0bGUgdGhhdCBpcyBzaG93biBpbiBVUkwgYW5kIGRlc2NyaXBlcyBpdGVtLic7CiRsYW5nWydpdGVtX3Zhcl9oZWxwX2FsaWFzJ10gPSAnSXRlbSBhbGlhcyBkZXRlcm1pbmVzIGZyaWVuZGx5IGNvbXB1dGVyIGFjY2VwdGFibGUgbmFtZSBvZiBpdGVtLiBBbGlhcyBpcyB1bmlxdWUgZm9yIGVhY2ggaXRlbS4nOwokbGFuZ1snaXRlbV92YXJfaGVscF9wb3NpdGlvbiddID0gJ1dpdGggcG9zaXRpb24geW91IGFyZSBhYmVsIHRvIHNldCBwb3NpdGlvbiBvZiBpdGVtLiBUaGlzIG9wdGlvbiB3aWxsIGFmZmVjdCB0byB3YXkgaG93IGl0ZW1zIGFyZSBzaG93bi4nOwokbGFuZ1snaXRlbV92YXJfaGVscF9hY3RpdmUnXSA9ICdUaGlzIG9wdGlvbiB3aWxsIHNldCBpdGVtIGVpdGhlciBhY3RpdmUgb3IgZGVhY3RpdmUuJzsKJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfc3RhcnRfdGltZSddID0gJ1NldCB0aW1lIHdoZW4geW91IHdhbnQgdG8gc2hvdyB0aGlzIGl0ZW0nOwokbGFuZ1snaXRlbV92YXJfaGVscF9lbmRfdGltZSddID0gJ1NldCB0aW1lIHdoZW4geW91IHdhbnQgdG8gaGlkZSB0aGlzIGl0ZW0nOwokbGFuZ1snZWRpdGZpZWxkZGVmJ10gPSAnRXh0cmEtRmVsZCBiZWFyYmVpdGVuJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWUnXSA9ICdOYW1lICc7CiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGlsZnJlaWNoZXIgVGlwcCc7CiRsYW5nWydmaWVsZGRlZl90eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ2ZpZWxkZGVmX2RlcHMnXSA9ICdNb2R1bCBBYmgmYXVtbDtuZ2lna2VpdGVuJzsKJGxhbmdbJ2ZpZWxkZGVmX2RlcHNfbWlzc2luZyddID0gJ09uZSBvciBtb3JlIG1vZHVsZSBkZXBlbmRlbmNpZXMgbWlzc2luZywgcGxlYXNlIGluc3RhbGwgYWxsIHJlcXVpcmVkIG1vZHVsZXMgaW4gb3JkZXIgdG8gc3RhcnQgdXNpbmcgdGhpcyBmaWVsZC4nOwokbGFuZ1snZmllbGRkZWZfc2NhbiddID0gJ0V4dHJhLUZlbGRlciBTY2FubmVuJzsKJGxhbmdbJ2ZpZWxkZGVmX3NjYW5uZWQnXSA9ICdFeHRyYS1GZWxkZXIgZ2VzY2FubnQnOwokbGFuZ1snZmllbGRkZWZfdHlwZV9ub3RzZXQnXSA9ICdFeHRyYS1GZWxkIFR5cCBuaWNodCBkZWZpbmllcnQnOwokbGFuZ1snZmllbGRkZWZfZnJpZW5kbHl0eXBlJ10gPSAnRnJpZW5kbHkgVHlwZSc7CiRsYW5nWydmaWVsZGRlZl9vcmlnaW5hdG9yJ10gPSAnVXJzcHJ1aW5nJzsKJGxhbmdbJ2ZpZWxkZGVmX21heF9sZW5ndGgnXSA9ICdtYXhpbWFsZSBMJmF1bWw7bmdlJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnRXJmb3JkZXJsaWNoJzsKJGxhbmdbJ3JlZ2lzdGVyZWRfZmllbGRkZWZzJ10gPSAnUmVnaXN0cmllcnRlIEV4dHJhLUZlbGRlcic7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnRGVyIE5hbWUgZGVzIEV4dHJhLUZlbGRzIGlzdCBsZWVyJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJ10gPSAnRGVyIE5hbWUgZGVzIEV4dHJhLUZlbGRzIGV4aXN0aWVydCBiZXJlaXRzJzsKJGxhbmdbJ2ZpZWxkZGVmX2FsaWFzX2V4aXN0cyddID0gJ0RlciBBbGlhcyBleGlzdGllcnQgYmVyZWl0cy4gQWxpYXMgbXVzcyBlaW5kZXV0aWcgc2Vpbi4nOwokbGFuZ1snaW52YWxpZCddID0gJ0RlciBGZWxkd2VydCBpc3QgdW56dWwmYXVtbDtzc2lnJzsKJGxhbmdbJ3N0YXR1c19yZXF1aXJlZCddID0gJ1N0YXR1cyBhdWYgJiMwMzk7ZXJmb3JkZXJsaWNoJiMwMzk7IHNldHplbic7CiRsYW5nWydzdGF0dXNfb3B0aW9uYWwnXSA9ICdTdGF0dXMgYXVmICYjMDM5O29wdGlvbmFsJiMwMzk7IHNldHplbic7CiRsYW5nWydpc19kZWZhdWx0J10gPSAnSXN0ICYjMDM5O1N0YW5kYXJkJiMwMzk7JzsKJGxhbmdbJ3N0YXR1c19kZWZhdWx0J10gPSAnQXVmICYjMDM5O1N0YW5kYXJkJiMwMzk7IHNldHplbic7CiRsYW5nWydoZWxwdGV4dF90aXRsZSddID0gJ00mb3VtbDtnbGljaGUgRmVsZGRlZmluaXRpb24gQW53ZWlzdW5nZW4gZiZ1dW1sO3IgZGFzIEV4dHJhLUZlbGQ6JzsKJGxhbmdbJ2ZpZWxkZGVmX1RleHRJbnB1dCddID0gJ1RleHRmZWxkJzsKJGxhbmdbJ2ZpZWxkZGVmX0NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snZmllbGRkZWZfVGV4dEFyZWEnXSA9ICdUZXh0YXJlYSc7CiRsYW5nWydmaWVsZGRlZl9TZWxlY3REYXRlJ10gPSAnRGF0dW0gYXVzd2FobCc7CiRsYW5nWydmaWVsZGRlZl9Ecm9wZG93biddID0gJ0Ryb3Bkb3duJzsKJGxhbmdbJ2ZpZWxkZGVmX0NvbnRlbnRQYWdlcyddID0gJ0luaGFsdHNzZWl0ZW4nOwokbGFuZ1snZmllbGRkZWZfU2VsZWN0RmlsZSddID0gJ0RhdGVpIGF1c3dhaGwnOwokbGFuZ1snZmllbGRkZWZfUmFkaW9Hcm91cCddID0gJ1JhZGlva25vcGYtR3VwcGUnOwokbGFuZ1snZmllbGRkZWZfYWxsb3dfaGVscCddID0gJ1NwZWNpZnkgYSBjb21tYSBzZXByYXRlZCBsaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyB0aGF0IGFyZSBhbGxvd2VkLiBGb3IgZXhhbXBsZTogcGRmLGdpZixqcGVnLGpwZyAoa2VlcCBsb3dlcmNhc2UpJzsKJGxhbmdbJ2ZpZWxkZGVmX2Rpcl9oZWxwJ10gPSAnRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvICRjb25maWdbJiMwMzk7dXBsb2Fkc191cmwmIzAzOTtdIC4gTm8gc2xhc2ggYXQgdGhlIGVuZC4geyRpdGVtX2lkfSBhbmQgeyRpdGVtX2FsaWFzfSB3aWxsIGJlIHJlcGxhY2VkLic7CiRsYW5nWydmaWVsZGRlZl9leGNsdWRlX3ByZWZpeF9oZWxwJ10gPSAnU3BlY2lmeSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwcmVmaXhlcyB0byBleGNsdWRlIGZpbGVzIHRoYXQgc3RhcnRzIHdpdGggdGhlIHNldCBwcmVmaXguIEZvciBleGFtcGxlOiB0aHVtYl8sIGZvb18nOwokbGFuZ1snZmllbGRkZWZfZHJvcGRvd25faGVscCddID0gJ0Ryb3Bkb3duIG9wdGlvbnMsIHNlcGFyYXRlZCBieSBsaW5lIGJyZWFrcy4gVmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgZnJvbSB0ZXh0IHdpdGggYSA9IGNoYXJhY3Rlci4gRm9yIGV4YW1wbGU6IEJhbmFuYT1iYW5hbmEnOwokbGFuZ1snZmllbGRkZWZfcmFkaW9ncm91cF9oZWxwJ10gPSAnUmFkaW8gZ3JvdXAgb3B0aW9ucywgc2VwYXJhdGVkIGJ5IGxpbmUgYnJlYWtzLiBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBGb3IgZXhhbXBsZTogQmFuYW5hPWJhbmFuYSc7CiRsYW5nWydmaWVsZGRlZl9zZXBhcmF0b3JfaGVscCddID0gJ0NhbiBiZSBlbXB0eSwgc2luZ2xlIGNoYXJhY3RlciBvciBIVE1MIGVudGl0eS4nOwokbGFuZ1snZmllbGRkZWZfc2l6ZV9oZWxwJ10gPSAnU3BlY2lmeSBzaXplIG9mIGlucHV0IGZpZWxkLiBGb3IgZXhhbXBsZTogMjAnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmdodF9oZWxwJ10gPSAnU3BlY2lmeSBtYXhpbXVtIGxlbmdodCBvZiB0aGUgZmllbGQuIEZvciBleGFtcGxlOiAyNTUnOwokbGFuZ1snZmllbGRkZWZfZGF0ZV9mb3JtYXRfaGVscCddID0gJ1NwZWNpZnkgZGF0ZSBmb3JtYXQgdXNlZCBieSBqUXVlcnkgRGF0ZXBpY2tlci4gVHJ5IGdvb2dsaW5nICYjMDM5O2pxdWVyeSBmb3JtYXREYXRlJiMwMzk7LiBGb3IgZXhhbXBsZTogZGQvbW0veXknOwokbGFuZ1snZmllbGRkZWZfd3lzaXd5Z19oZWxwJ10gPSAnSWYgY2hlY2tlZCwgYSBXWVNJV1lHIEVkaXRvciB3aWxsIGJlIGVuYWJsZWQgZm9yIHRoaXMgZmllbGQuJzsKJGxhbmdbJ3Jlb3JkZXJfY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZW4gbmV1IGFub3JkbmVuJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdLYXRlZ29yaWUgYmVhcmJlaXRlbic7CiRsYW5nWydjYXRlZ29yeV9uYW1lJ10gPSAnTmFtZSBkZXIgS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5X2Rlc2NyaXB0aW9uJ10gPSAnS2F0ZWdvcmllLUJlc2NocmVpYnVuZyc7CiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAnTmFtZSBkZXIgS2F0ZWdvcmllIGlzdCBsZWVyJzsKJGxhbmdbJ2NhdGVnb3J5X2FsaWFzX2V4aXN0cyddID0gJ0RlciBLYXRlZ29yaWUtQWxpYXMgZXhpc3RpZXJ0IGJlcmVpdHMuIEFsaWFzIG11c3MgZWluZGV1dGlnIHNlaW4uJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1p1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGUnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1p1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGVzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlJ10gPSAnRGV0YWlsLVRlbXBsYXRlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFpbC1UZW1wbGF0ZXMnOwokbGFuZ1snc2VhcmNodGVtcGxhdGUnXSA9ICdTdWNoLVRlbXBsYXRlJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1N1Y2gtVGVtcGxhdGVzJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlJ10gPSAnRmlsdGVyLVRlbXBsYXRlJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlcyddID0gJ0ZpbHRlci1UZW1wbGF0ZXMnOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgYmVhcmJlaXRlbic7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lJ10gPSAnVGVtcGxhdGUtTmFtZSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lX2VtcHR5J10gPSAnTmFtZSBkZXMgVGVtcGxhdGVzIGlzdCBsZWVyJzsKJGxhbmdbJ3RlbXBsYXRlX2NvbnRlbnRfZW1wdHknXSA9ICdUZW1wbGF0ZSBJbmhhbHQgaXN0IGxlZXInOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdTdGFuZGFyZCBUZW1wbGF0ZXMnOwokbGFuZ1snbW9kdWxlX29wdGlvbnMnXSA9ICdNb2R1bC1PcHRpb25lbic7CiRsYW5nWyd1cmxfb3B0aW9ucyddID0gJ1VSTC1PcHRpb25lbic7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnQW5nZXplaWd0ZXIgTW9kdWxuYW1lJzsKJGxhbmdbJ3Byb21wdF9hZG1pbnNlY3Rpb24nXSA9ICdNb2R1bCBBZG1pbi1CZXJlaWNoJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3Npbmd1bGFyJ10gPSAnRWluemFobCB2b24gJiMwMzk7RWludHJhZyYjMDM5Oyc7CiRsYW5nWydwcm9tcHRfaXRlbV9wbHVyYWwnXSA9ICdNZWhyemFobCB2b24gJiMwMzk7RWludHJhZyYjMDM5Oyc7CiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1VSTC1QciZhdW1sO2ZpeCc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdEZXRhaWxzICYjMDM5O2lubGluZSYjMDM5OyBhbnplaWdlbic7CiRsYW5nWydwcm9tcHRfaXRlbV9jb2xzJ10gPSAnRGllc2UgRmVsZGVyIGluIGRlciAmVXVtbDtiZXJzaWNodCB6ZWlnZW4nOwokbGFuZ1sncHJvbXB0X2l0ZW1zX3Blcl9wYWdlJ10gPSAnQXJ0aWtlbCBwcm8gU2VpdGUgYW56ZWlnZW4nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZV9kYXRlJ10gPSAnRGlzcGxheSBpdGVtIGNyZWF0ZWQgZGF0ZSBpbiBJdGVtIGVkaXQgbW9kZT8nOwokbGFuZ1sndGV4dF9zb3J0b3JkZXInXSA9ICdWb3JlaW5nZXN0ZWxsdGUgRWludHJhZy1Tb3J0aWVycmVpaGVuZm9sZ2UgaW4gZGVyIEFkbWluaXN0cmF0aW9uJzsKJGxhbmdbJ29wdGlvbnNfbm90aWNlJ10gPSAnTmFjaCAmYXVtbDtuZGVydW5nIGRlcyBNb2R1bCBBbnplaWdlbmFtZW5zIG9kZXIgQWRtaW4tQmVyZWljaHMsIGsmb3VtbDtubnRlICBmJnV1bWw7ciBkaWUgd2lya3NhbWUgJkF1bWw7bmRlcnVuZ2VuICZxdW90O1p3aXNjaGVuc3BlaWNoZXIgbGVlcmVuJnF1b3Q7IEFrdGlvbiBlcmZvcmRlcmxpY2ggc2Vpbi4nOwokbGFuZ1sncHJvbXB0X2FsbG93X2F1dG9zY2FuJ10gPSAnQWxsb3cgc3lzdGVtIHRvIHNjYW4gZmllbGQgZGVmaW5pdGlvbnMgYXV0b21hdGljYWxseSc7CiRsYW5nWydub3RpY2VfYWxsb3dfYXV0b3NjYW4nXSA9ICdBbGxvd2luZyBhdXRvbWF0aWMgc2NhbiBvbiBpbnN0YWxsLCB1cGdyYWRlIGFuZCB1bmluc3RhbGwgZXZlbnRzLCBtaWdodCBoYXZlIHNvbWUgc3RyYW5nZSBiZWhhdmlvciB3aXRoIHNvbWUgY29yZSB2ZXJzaW9ucy4nOwokbGFuZ1sncHJvbXB0X2FsbG93X2F1dG9pbnN0YWxsJ10gPSAnQWxsb3cgc3lzdGVtIHRvIGluc3RhbGwgaW5zdGFuY2VzIGF1dG9tYXRpY2FsbHknOwokbGFuZ1snbm90aWNlJ10gPSAnSGlud2Vpcyc7CiRsYW5nWydpbnN0YW5jZXMnXSA9ICdJbnN0YW56ZW4nOwokbGFuZ1snaW5zdGFsbGVkX2luc3RhbmNlc193YXJuaW5nJ10gPSAnVW50ZW4gaXN0IGVpbmUgTGlzdGUgdm9uIGR1cGxpemllcnRlbiBNb2R1bC1JbnN0YW56ZW4uPGJyIC8+RXJzdGVsbGVuIFNpZSBlaW5lIFNpY2hlcnVuZyBJaHJlciBTZWl0ZSAoRGF0ZW5iYW5rIHVuZCBEYXRlaWVuKSB2b3IgJnF1b3Q7dXBncmFkZSZxdW90OyBBa3Rpb24nOwokbGFuZ1snaW5zdGFsbGVkX2luc3RhbmNlcyddID0gJ0luc3RhbGxpZXJ0ZSBJbnN0YW56ZW4nOwokbGFuZ1snaW5zdGFuY2VfbmFtZSddID0gJ0luc3RhbnogTmFtZSc7CiRsYW5nWydpbnN0YW5jZV9mcmllbmRseW5hbWUnXSA9ICdBbnplaWdlbmFtZSc7CiRsYW5nWydpbnN0YW5jZV9zbWFydHknXSA9ICdTbWFydHkgdGFnJzsKJGxhbmdbJ2luc3RhbmNlX3ZlcnNpb24nXSA9ICdWZXJzaW9uJzsKJGxhbmdbJ2luc3RhbmNlX3VwZ3JhZGUnXSA9ICdBa3R1YWxpc2llcmVuJzsKJGxhbmdbJ2luc3RhbmNlX3VwdG9kYXRlJ10gPSAnQWt0dWVsbCc7CiRsYW5nWydpbnN0YW5jZV9tb2R1bGV1cGdyYWRlZCddID0gJ01vZHVsIEFrdHVhbGlzaWVydCc7CiRsYW5nWydjb3B5X3RpdGxlJ10gPSAnTW9kdWwgRHVwbGl6aWVyZW4nOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWyd1cGRhdGUnXSA9ICdBa3R1YWxpc2llcmVuJzsKJGxhbmdbJ3JlcGFpciddID0gJ1JlcGFyaWVyZW4nOwokbGFuZ1snc2F2ZV9jcmVhdGUnXSA9ICdTcGVpY2hlcm4gJmFtcDsgRXJzdGVsbGVuJzsKJGxhbmdbJ3Jlc2V0J10gPSAnU3RhbmRhcmQgenVyJnV1bWw7Y2tzZXR6ZW4nOwokbGFuZ1snZHVwbGljYXRlJ10gPSAnRHVwbGl6aWVyZW4nOwokbGFuZ1snY2hhbmdlc3NhdmVkJ10gPSAnSWhyZSAmQXVtbDtuZGVydW5nZW4gd3VyZGVuIGdlc3BlaWNoZXJ0Lic7CiRsYW5nWydjaGFuZ2Vzc2F2ZWRfY3JlYXRlJ10gPSAnWW91ciBwcmV2aW91cyBpdGVtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBzYXZlZC4gQ3JlYXRlIG5ldyBpdGVtPyc7CiRsYW5nWyd0ZW1wbGF0ZXJlc3RvcmVkJ10gPSAnVm9yZWluZ2VzdGVsbHRlcyBUZW1wbGF0ZSB3dXJkZSB3aWVkZXJoZXJnZXN0ZWxsdC4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dvbGxlbiBTaWUgZGllcyB3aXJrbGljaCBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ3VwJ10gPSAnTmFjaCBvYmVuJzsKJGxhbmdbJ2Rvd24nXSA9ICdOYWNoIHVudGVuJzsKJGxhbmdbJ2VkaXQnXSA9ICdCZWFyYmVpdGVuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydub3N1Y2hpZCddID0gJ0tlaW5lIHNvbGNoZSBJRCB2b3JoYW5kZW4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0locmUgQXVzd2FobCB3dXJkZSBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWydhZGQnXSA9ICclcyBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snaW1wb3J0J10gPSAnSW1wb3J0aWVyZW4gJXMnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0aWVyZW4gJXMnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyAnOwokbGFuZ1snYWxpYXNfaW52YWxpZCddID0gJ0RlciBBbGlhcyDigIvigItpc3QgdW5nJnV1bWw7bHRpZy4gRXMgbXVzcyBlaW4gZyZ1dW1sO2x0aWdlciBQSFAtVmFyaWFibGVubmFtZW4gc2Vpbic7CiRsYW5nWydzZWFyY2gnXSA9ICdTdWNoZSc7CiRsYW5nWydzZWFyY2hmb3InXSA9ICdTdWNoZSBuYWNoJzsKJGxhbmdbJ3NlYXJjaHJlc3VsdHNmb3InXSA9ICdTdWNoZXJnZWJuaXNzZSBmJnV1bWw7cic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbW9kdWxlX25hbWUnXSA9ICdNb2R1bCBOYW1lJzsKJGxhbmdbJ21vZHVsZV9uYW1lX2VtcHR5J10gPSAnTW9kdWwgTmFtZSBpc3QgbGVlcic7CiRsYW5nWydtb2R1bGVfbmFtZV9pbnZhbGlkJ10gPSAnTW9kdWwgTmFtZSBlbnRoJmF1bWw7bHQgdW5nJnV1bWw7bHRpZ2UgWmVpY2hlbic7CiRsYW5nWydtb2R1bGVjb3BpZWQnXSA9ICdNb2R1bCBlcmZvbGdyZWljaCBrb3BpZXJ0JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdCaXR0ZSBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydzaXplJ10gPSAnR3Imb3VtbDsmc3psaWc7ZSc7CiRsYW5nWydtYXhfbGVuZ2h0J10gPSAnTWF4aW1hbGUgbCZhdW1sO25nZSc7CiRsYW5nWyd3eXNpd3lnJ10gPSAnV1lTSVdZRyc7CiRsYW5nWydkYXRlX2Zvcm1hdCddID0gJ0RhdHVtc2Zvcm1hdCc7CiRsYW5nWydkaXInXSA9ICdPcmRuZXInOwokbGFuZ1snYWxsb3dlZCddID0gJ0VybGF1YnQnOwokbGFuZ1snZXhjbHVkZV9wcmVmaXgnXSA9ICdQcmVmaXggYXVzc2NobGllJnN6bGlnO2VuJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZCc7CiRsYW5nWydmaWxlJ10gPSAnRGF0ZWknOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdFcmZvcmRlcmxpY2gnOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXVmc3RlaWdlbmQnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Fic3RlaWdlbmQnOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSAnOwokbGFuZ1snZmlsZW5hbWUnXSA9ICdEYXRlaS1OYW1lJzsKJGxhbmdbJ2VuY2xvdXNlciddID0gJ0VuY2xvdXNlcic7CiRsYW5nWydzZXBhcmF0b3InXSA9ICdUcmVubmVyJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1dlcnRlJzsKJGxhbmdbJ2ltcG9ydF9hbGlhcyddID0gJ0l0ZW0vRmllbGRkZWYgYWxpYXMnOwokbGFuZ1snZmlsZV9hbGlhcyddID0gJ0ZpbGUgaGVhZGVyL2FsaWFzJzsKJGxhbmdbJ2Vycm9yX29wdGlvbnJlcXVpcmVkJ10gPSAnT3B0aW9uICVzIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ2Vycm9yX2ZpbGVfcGVybWlzc2lvbnMnXSA9ICdUaGVyZSB3YXMgcHJvYmxlbSB3aXRoIGZpbGUgcGVybWlzc2lvbnMnOwokbGFuZ1snZXJyb3JfZmlsZV9lbXB0eSddID0gJ05vIGZpbGUgZ2l2ZW4nOwokbGFuZ1snZXJyb3JfZmlsZV9ub2NzdiddID0gJ0ZpbGUgaXMgbm90IENTViBmaWxlJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlciAnOwokbGFuZ1snZmlsdGVycHJvbXB0J10gPSAnRmlsdGVyICVzICc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWlzc2luZyddID0gJ0YmdXVtbDtyIGRlbiBGaWx0ZXJtb2R1cyBpc3QgendpbmdlbmQgZGVyIFBhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gZXJmb3JkZXJsaWNoLic7CiRsYW5nWydhbGwnXSA9ICdBbGxlJzsKJGxhbmdbJ2V2ZW50ZGVzY19QcmVJdGVtU2F2ZSddID0gJ1NlbnQgYmVmb3JlIGl0ZW0gc2F2ZSBwcm9jZXNzIGJlZ2lucy4gUG9zc2libGUgdG8gbWFuaXB1bGF0ZSBpdGVtIG9iamVjdCBkYXRhLic7CiRsYW5nWydldmVudGRlc2NfUG9zdEl0ZW1TYXZlJ10gPSAnU2VudCBhZnRlciBpdGVtIHNhdmUgcHJvY2VzcyBoYXMgY29tcGxldGVkLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuJzsKJGxhbmdbJ2V2ZW50ZGVzY19QcmVJdGVtRGVsZXRlJ10gPSAnU2VudCBiZWZvcmUgaXRlbSBkZWxldGUgcHJvY2VzcyBiZWdpbnMuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOwokbGFuZ1snZXZlbnRkZXNjX1Bvc3RJdGVtRGVsZXRlJ10gPSAnU2VudCBhZnRlciBpdGVtIGRlbGV0ZSBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOwokbGFuZ1snZXZlbnRkZXNjX1ByZUl0ZW1Mb2FkJ10gPSAnU2VudCBiZWZvcmUgaXRlbSBsb2FkIHByb2Nlc3MgYmVnaW5zLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuJzsKJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbUxvYWQnXSA9ICdTZW50IGFmdGVyIGl0ZW0gbG9hZCBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOwokbGFuZ1snZXZlbnRoZWxwX1ByZUl0ZW1TYXZlJ10gPSAnPHA+U2VudCBiZWZvcmUgaXRlbSBzYXZlIHByb2Nlc3MgYmVnaW5zLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPiYjMDM5O2l0ZW1fb2JqZWN0JiMwMzk7IC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydldmVudGhlbHBfUG9zdEl0ZW1TYXZlJ10gPSAnPHA+U2VudCBhZnRlciBpdGVtIHNhdmUgcHJvY2VzcyBoYXMgY29tcGxldGVkLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPiYjMDM5O2l0ZW1fb2JqZWN0JiMwMzk7IC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydldmVudGhlbHBfUHJlSXRlbURlbGV0ZSddID0gJzxwPlNlbnQgYmVmb3JlIGl0ZW0gZGVsZXRlIHByb2Nlc3MgYmVnaW5zLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPiYjMDM5O2l0ZW1fb2JqZWN0JiMwMzk7IC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydldmVudGhlbHBfUG9zdEl0ZW1EZWxldGUnXSA9ICc8cD5TZW50IGFmdGVyIGl0ZW0gZGVsZXRlIHByb2Nlc3MgaGFzIGNvbXBsZXRlZC4gUG9zc2libGUgdG8gbWFuaXB1bGF0ZSBpdGVtIG9iamVjdCBkYXRhLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT4mIzAzOTtpdGVtX29iamVjdCYjMDM5OyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBpdGVtIG9iamVjdC48L2xpPg0KPC91bD4nOwokbGFuZ1snZXZlbnRoZWxwX1ByZUl0ZW1Mb2FkJ10gPSAnPHA+U2VudCBiZWZvcmUgaXRlbSBsb2FkIHByb2Nlc3MgYmVnaW5zLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPiYjMDM5O2l0ZW1fb2JqZWN0JiMwMzk7IC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydldmVudGhlbHBfUG9zdEl0ZW1Mb2FkJ10gPSAnPHA+U2VudCBhZnRlciBpdGVtIGxvYWQgcHJvY2VzcyBoYXMgY29tcGxldGVkLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPiYjMDM5O2l0ZW1fb2JqZWN0JiMwMzk7IC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+DQo8L3VsPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0xpc3RJdCBlcmxhdWJ0IGVzIElobmVuLCBMaXN0ZW4genUgZXJzdGVsbGVuLCBkaWUgU2llIGF1ZiBJaHJlciBXZWJzaXRlIGFuemVpZ2VuIGsmb3VtbDtubmVuLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJyB3dXJkZSBpbnN0YWxsaWVydCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnIHd1cmRlIGRlaW5zdGFsbGllcnQnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsbGdlbWVpbic7CiRsYW5nWyd1c2FnZSddID0gJ1ZlcndlbmR1bmcnOwokbGFuZ1sncGVybWlzc2lvbnMnXSA9ICdCZXJlY2h0aWd1bmdlbic7CiRsYW5nWydkdXBsaWNhdGluZyddID0gJ0RpZXNlcyBNb2R1bCBkdXBsaXppZXJlbic7CiRsYW5nWydhYm91dCddID0gJyZVdW1sO2Jlcic7CiRsYW5nWydoZWxwX2dlbmVyYWwnXSA9ICc8aDM+R2VuZXJhbCBJbmZvPC9oMz4gICAgICANCiAgICA8cD5TaW1wbHkgcHV0LCBMaXN0SXRFeHRlbmRlZCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4gWW91IGNvdWxkIG1ha2UgYSBzaW1wbGUgRkFRIG9yIFRlc3RpbW9uaWFscyBmZWF0dXJlIHdpdGggdGhpcyBtb2R1bGUuIFRoZSB3ZWIgZGV2ZWxvcGVyIGRlZmluZXMgZmllbGRzIHRvIGNvbnN0cmFpbiB3aGF0IGRhdGEgdGhlIGNsaWVudCBjYW4gZW50ZXIuIEEgbnVtYmVyIG9mIGZpZWxkIHR5cGVzIGNhbiBiZSBzcGVjaWZpZWQgLSB0ZXh0IGlucHV0LCBjaGVja2JveCwgdGV4dCBhcmVhLCBzZWxlY3QgZGF0ZSwgdXBsb2FkIGZpbGUsIHNlbGVjdCBmaWxlLCBkcm9wZG93biAtIGFuZCBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBjYW4gYmUgc2V0IGZvciBlYWNoIHR5cGUsIGZvciBleGFtcGxlLCBpbnB1dCBmaWVsZCBzaXplLCBtYXggbGVuZ3RoLCBXWVNJV1lHIGVkaXRvciwgcG9zc2libGUgZHJvcCBkb3duIHZhbHVlcywgcG9zc2libGUgZmlsZSBleHRlbnNpb25zLCBkaXJlY3RvcnkgcGF0aHMgZm9yIGZpbGUgc2VsZWN0aW9ucywgZGF0ZSBmb3JtYXRzLCBldGMuLjwvcD4NCiAgICA8cD5BbiBpbXBvcnRhbnQgbm90ZSBvZiB3YXJuaW5nIC0gVGhpcyBpcyBub3QgYSBjb250ZW50IGNvbnN0cnVjdGlvbiBraXQsIHN1Y2ggYXMgaW4gRHJ1cGFsLiBJdCBpcyBtZWFudCBmb3Igc21hbGwgbGlzdGluZ3MsIG5vdCB0byBzdG9yZSB0aG91c2FuZHMgb2YgcmVjb3Jkcy4gVGhpcyBpcyBiZWNhdXNlIG9mIHRoZSBkYXRhYmFzZSBtb2RlbCB1c2VkIChFQVYpLiBBbHNvLCBlYWNoIGJpdCBvZiBkYXRhIHlvdSBlbnRlciBpcyBzdG9yZWQgYXMgVEVYVCBkYXRhIHR5cGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyB2YXJjaGFyLCBib29sZWFuLCB0aW1lc3RhbXAsIGV0Yy4gVGhpcyBpcyBhIHJlc3RyaWN0aW9uIG9mIGEgc2hvcnQgZGUnOwokbGFuZ1snaGVscF91c2FnZSddID0gJzxoMz5WZXJ3ZW5kdW5nPC9oMz4JCQkNCgk8cD5Zb3UgY2FuIGNvbmZpZ3VyZSB7JG1vZHVsZV9uYW1lfSBoZXJlOiBDb250ZW50ID4geyRtb2R1bGVfbmFtZX08L3A+DQoJPHA+UGxhY2UgdGhpcyB0YWcgaW4geW91ciBwYWdlOiB7eyRtb2R1bGVfbmFtZX19PC9wPic7CiRsYW5nWydoZWxwX3VzYWdlX29wdGlvbnMnXSA9ICdBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgCQkJCQ0KCTxvbD4JCQkJCQ0KCQk8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgaW4gdGhlIG1lbnUgY2hhbmdlIHRoZSAmcXVvdDtNb2R1bGUgRnJpZW5kbHkgTmFtZSZxdW90Oy48L2xpPg0KCQk8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBpdGVtIHRhYiBjaGFuZ2UgdGhlICZxdW90O0l0ZW0gUGx1cmFsJnF1b3Q7LjwvbGk+DQoJPC9vbD4nOwokbGFuZ1snaGVscF91c2FnZV9maWVsZGRlZnMnXSA9ICdOZXh0IC0gc2V0IHRoZSBGaWVsZCBEZWZpbml0aW9ucy4gDQoJPG9sPg0KCQk8bGk+Q2hvb3NlIGZyb20gJnF1b3Q7VGV4dCBJbnB1dCZxdW90OywgJnF1b3Q7Q2hlY2tib3gmcXVvdDssICZxdW90O1RleHQgQXJlYSZxdW90OywgJnF1b3Q7U2VsZWN0IERhdGUmcXVvdDssICZxdW90O1VwbG9hZCBGaWxlJnF1b3Q7LCAmcXVvdDtTZWxlY3QgRmlsZSZxdW90OyAmYW1wOyAmcXVvdDtEcm9wZG93biZxdW90Oy48L2xpPg0KCQk8bGk+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIHRoZSAmcXVvdDtleHRyYSZxdW90OyBmaWVsZC4gU2VlIHRoZSAmcXVvdDtGaWVsZCBEZWZpbml0aW9ucyZxdW90OyB0YWIgZm9yIGEgbGlzdC48L2xpPg0KCQk8bGk+RWFjaCBpdGVtIGluIGVhY2ggbGlzdCBoYXMgdGhyZWUgZGVmYXVsdCBmaWVsZHMuIEFsbCBGaWVsZCBEZWZpbml0aW9ucyBzZXQgaGVyZSBhcmUgYWRkaXRpb25hbCB0byB0aGVtLjwvbGk+DQoJPC9vbD4nOwokbGFuZ1snaGVscF91c2FnZV9jYXRlZ29yaWVzJ10gPSAnVGhlcmUgaXMgYSBzaW5nbGUgY2F0ZWdvcnkgYnkgZGVmYXVsdCBjYWxsZWQgJnF1b3Q7R2VuZXJhbCZxdW90Oy4gVGhpcyBjYW4gYmUgcmVuYW1lZCBhbmQgYWRkaXRpb25hbCBDYXRlZ29yaWVzIGNhbiBiZSBhZGRlZC4nOwokbGFuZ1snaGVscF91c2FnZV9pdGVtcyddID0gJ05vdyB3ZSBtb3ZlIG9uIHRvIHRoZSBpdGVtIGxpc3QgaXRzZWxmLiBJbiB0aGlzIGV4YW1wbGUgaXQgc2F5cyAmcXVvdDtBZGQgQm94JnF1b3Q7LCB0aGlzIHdhcyByZW5hbWVkIGluIHRoZSAmcXVvdDtPcHRpb25zJnF1b3Q7IHRhYi4gDQoJPG9sPg0KCQk8bGk+VGhlIGZpcnN0IGZpZWxkIGlzIHRoZSBkZWZhdWx0ICZxdW90O1RpdGxlJnF1b3Q7IGZpZWxkLjwvbGk+DQoJCTxsaT5UaGUgJnF1b3Q7Q2F0ZWdvcnkmcXVvdDsgZHJvcGRvd24gaXMgYWxzbyBhIGRlZmF1bHQgZmllbGQsIGFuZCBpZiB1bmNoYW5nZWQsIHdpbGwgYmUgc2V0IHRvICZxdW90O0dlbmVyYWwmcXVvdDsuPC9saT4NCgkJPGxpPlRoZSB0aGlyZCBkZWZhdWx0IGZpZWxkIGlzIHRoZSBjaGVja2JveCBjYWxsZWQgJnF1b3Q7QWN0aXZlJnF1b3Q7LiBUaGlzIGFsbG93cyB5b3UgdG8gdG9nZ2xlIGEgbGlzdCBlbnRyeSB3aXRob3V0IGRlbGV0aW5nIGl0LjwvbGk+DQoJPC9vbD4nOwokbGFuZ1snaGVscF9wZXJtaXNzaW9ucyddID0gJzxoMz5CZXJlY2h0aWd1bmdlbjwvaDM+DQoJPHA+WW91IGNhbiBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnMgdW5kZXIgVXNlcnMgJmFtcDsgR3JvdXBzID4gR3JvdXAgUGVybWlzc2lvbnM8L3A+DQoJPHVsPg0KCQk8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBJdGVtczwvbGk+DQoJCTxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IENhdGVnb3JpZXM8L2xpPg0KCQk8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBPcHRpb25zPC9saT4NCgk8L3VsPg0KCTxwPlRvIGFsbG93IG5vbi1hZG1pbiB1c2VycyB0byB1cGxvYWQgZmlsZXMsIHBsZWFzZSBnbyB0byBFeHRlbnNpb25zID4gR0JGaWxlUGlja2VyIGFuZCB0aWNrIHRoYXQgZmlyc3QgY2hlY2tib3ggJnF1b3Q7U2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJnF1b3Q7LjwvcD4nOwokbGFuZ1snaGVscF9maWVsZGRlZnMnXSA9ICc8aDM+RmllbGQgRGVmaW5pdGlvbnM8L2gzPg0KICAgIDxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGNvbmZpZ3VyZSBhcmUgeW91ciBmaWVsZCBkZWZpbml0aW9ucy48L3A+DQogICAgPHA+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgc2V0dGluZ3MgYnkgY2hvb3NpbmcgZnJvbSBhdmFpbGFibGUgb3B0aW9ucy48L3A+DQogICAgDQogICAgPGgzPkRlZmF1bHQgRmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+DQogICAgPHVsPg0KICAgICAgICA8bGk+VGV4dCBJbnB1dDwvbGk+DQogICAgICAgIDxsaT5DaGVja2JveDo8L2xpPg0KICAgICAgICA8bGk+VGV4dCBBcmVhPC9saT4NCiAgICAgICAgPGxpPlNlbGVjdCBEYXRlPC9saT4NCiAgICAgICAgPGxpPlNlbGVjdCBGaWxlPC9saT4NCiAgICAgICAgPGxpPkRyb3Bkb3duPC9saT4NCiAgICAgICAgPGxpPkNvbnRlbnQgUGFnZXM8L2xpPg0KICAgICAgICA8bGk+UmFkaW8gQnV0dG9uczwvbGk+DQogICAgPC91bD4NCiAgICANCiAgICA8aDM+Q3VzdG9tIEZpZWxkIERlZmluaXRpb25zPC9oMz4NCiAgICA8cD5TaW5jZSBWZXJzaW9uIDEuMyBmaWVsZCBkZWZpbml0aW9ucyBoYXZlIGJlZW4gY29tcGxldGVseSByZXdyaXR0ZW4uPGJyIC8+DQogICAgQXMgYSByZXN1bHQgeW91IGNhbiBub3cgY3JlYXRlIHlvdXIgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zIGJ5IGZvbGxvd2luZyBuYW1pbmcgY29udmVudGlvbiBpbiBMaXN0SXRFeHRlbmRlZCBtb2R1bGUuPC9wPg0KICAgIDxwPkZvbGxvd2luZyB0aGVzZSBjaGFuZ2VzIHRoZXNlIGNoYW5nZXMsIExpc3RJdEV4dGVuZGVkIFRlYW0gaGFzIGFsc28gcmVsZWFzZWQgYSBtb2R1bGUgbmFtZWQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9saXN0aXQyeGRlZnMiIHRhcmdldD0iX2JsYW5rIj5MaXN0SXQyWERlZnM8L2E+IHRoYXQgaXMgc2ltcGx5IGEgd3JhcHBlciBtb2R1bGUgZm9yIEN1c3RvbSBGaWVsZCBkZWZpbml0aW9ucy48YnIgLz4NCiAgICBXaGVuIGNyZWF0aW5nIHlvdXIgY3VzdG9tIGZpbGVkIGZvciBleGFtcGxlICZxdW90O015RmllbGQmcXVvdDsgKHdoZXJlIE15RmllbGQgd291bGQgYmUgbmFtZSBvZiB5b3VyIGN1c3RvbSBmaWVsZCkgeW91IHdvdWxkIGNyZWF0ZSAmcXVvdDtNeUZpZWxkJnF1b3Q7IGZvbGRlciBpbnNpZGUgJnF1b3Q7Rkxpc3RJdDJYRGVmcy9maWVsZGRlZnMmcXVvdDsgZm9sZGVyIGFuZCBhZGQgbmVlZGVkIGZpbGVzIGluIHRoaXMgcGFydGljdWxhciBmb2xkZXIuPGJyIC8+DQogICAgRmllbGRkZWYgZmlsZSBoYXMgdG8gYmUgcHJlZml4ZWQgd2l0aCAmcXVvdDtsaXN0aXQyZmQmcXVvdDsgZm9yIGV4YW1wbGUgJnF1b3Q7bGlzdGl0MmZkLk15RmllbGQucGhwJnF1b3Q7LCBmb3IgaW5wdXQgZmllbGQgdGVtcGxhdGUgd2hpY2ggaXMgdXNlZCB3aGVuIG1hbmFnaW5nIEl0ZW0geW91IHdvdWxkIG5lZWQgJnF1b3Q7aW5wdXQuTXlGaWVsZC50cGwmcXVvdDsgYW5kIGFzIGZpZWxkIGRlZmluaXRpb24gc2V0dGluZ3MgdGVtcGxhdGUgeW91IHdvdWxkIG5lZWQgYWRtaW4uTXlGaWVsZC50cGwgKG9ubHkgbmVlZGVkIGlmIGFkZGl0aW9uYWwgc2V0dGluZ3MgYXJlIHBvc3NpYmxlIGZvciB0aGlzIGZpZWxkKS48L3A+DQogICAgPHA+QWZ0ZXIgeW91IGFyZSBkb25lIHdyaXRpbmcgeW91ciBvd24gY3VzdG9tIGZpZWxkIGRlZmluaXRpb24sIHlvdSB3aWxsIGhhdmUgdG8gZ28gdG8gJnF1b3Q7TW9kdWxlcyAmYW1wO3JhcXVvOyBMaXN0SXQyJnF1b3Q7IGNsaWNrIG9uICZxdW90O0ZpZWxkIERlZmluaXRpb25zJnF1b3Q7IHRhYiBhbmQgc2NhbiBmb3IgbmV3IGZpZWxkIGRlZmluaXRpb25zIGJ5IGNsaWNraW5nIG9uICZxdW90O1NjYW4gRmllbGQgRGVmaW5pdGlvbnMmcXVvdDsgYnV0dG9uLjwvcD48YnIgLz4NCiAgICA8aDQ+PHN0cm9uZz5XYXRjaCB0aGlzIHZpZGVvIGZvciBkZXRhaWxlZCBpbnN0cnVjdGlvbnM8L3N0cm9uZz48L2g0Pic7CiRsYW5nWydoZWxwX2NhdGVnb3JpZXMnXSA9ICc8aDM+S2F0ZWdvcmllbjwvaDM+DQoJPHA+TWVocnNjaGljaHRpZ2UgS2F0ZWdvcmllbiB3ZXJkZW4gdW50ZXJzdCZ1dW1sO3R6dC48L3A+JzsKJGxhbmdbJ2hlbHBfdGVtcGxhdGVzJ10gPSAnPGgzPlRlbXBsYXRlczwvaDM+DQoJPHA+SWYgeW91IGFyZSBub3Qgc3VyZSB3aGF0IHZhcmlhYmxlcyBhcmUgYXZhaWxhYmxlIHRvIHVzZSBpbiB5b3VyIHRlbXBsYXRlcywgdHJ5IHRoZSBkZWJ1ZyB0ZW1wbGF0ZTo8L3A+DQoJPHA+e3skbW9kdWxlX25hbWV9IHN1bW1hcnl0ZW1wbGF0ZT0mIzAzOTtkZWJ1ZyYjMDM5O308L3A+DQoJPHA+WW91IGNhbiBhY2Nlc3MgYW55IGZpZWxkIGRpcmVjdGx5IHdoZW4gbG9vcGluZyB0aHJvdWdoIGl0ZW1zIHVzaW5nIGl0cyBhbGlhcywgZm9yIGV4YW1wbGUsIHRvIGlmIHlvdSBjcmVhdGVkIGEgZmllbGQgZGVmaW5pdGlvbiB3aXRoIGFuIGFsaWFzICZxdW90O3Bvc2l0aW9uJnF1b3Q7LCB5b3UgY2FuIGRvOjwvcD4nOwokbGFuZ1snaGVscF90ZW1wbGF0ZXNfY2F0ZWdvcmllcyddID0gJzxwPkJlc2lkZXMsIHlvdSBjYW4gbG9vcCB0aHJvdWdoIGNhdGVnb3JpZXMgaW4gdGhlIHN1bW1hcnkgdGVtcGxhdGUganVzdCBhcyB3ZWxsIGFzIGxvb3BpbmcgdGhyb3VnaCBpdGVtczo8L3A+JzsKJGxhbmdbJ2hlbHBfZHVwbGljYXRpbmcnXSA9ICc8aDM+Q3JlYXRpbmcgTW9kdWxlIEluc3RhbmNlczwvaDM+DQogICAgPHA+VGhpcyBtb2R1bGUgaXMgYSBDb250cm9sIFBhbmVsIGZvciBjcmVhdGluZyBMaXN0SXRFeHRlbmRlZCBNb2R1bGUgSW5zdGFuY2VzLiBUbyBjcmVhdGUgTGlzdEl0RXh0ZW5kZWQgbW9kdWxlIEluc3RhbmNlLCBzaW1wbHkgZ28gdG8gJnF1b3Q7SW5zdGFuY2VzJnF1b3Q7IHRhYiBhbmQgY2xpY2sgb24gJnF1b3Q7Q3JlYXRlIEluc3RhbmNlJnF1b3Q7IGJ1dHRvbi48YnIgLz4NCiAgICBNYWtlIHN1cmUgeW91IGZvbGxvdyB0aGUgQ01TTVMgbW9kdWxlIG5hbWluZyBjb252ZW50aW9ucywgYS16IHdpdGggbm8gcHVuY3R1YXRpb24gY2hhcmFjdGVycyBvciBzcGFjZXMgdG8gYmUgc2FmZSA6KTxiciAvPg0KICAgIEFmdGVyIHRoZSBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBhIG5ldyBpbnN0YW5jZSB3aWxsIGJlIGluc3RhbGxlZCBhbmQgbGlzdGVkIGluIG9yaWdpbmFsIExpc3RJdEV4dGVuZGVkIG1vZHVsZSB1bmRlciAmcXVvdDtJbnN0YW5jZXMmcXVvdDsgdGFiLjwvcD48YnIgLz4NCiAgICA8cD5Zb3UgY2FuIGFsd2F5cyBjaGFuZ2UgdGhlIG1vZHVsZSBmcmllbmRseSBuYW1lIG9uY2UgaW5zdGFsbGVkIHVuZGVyICZxdW90O09wdGlvbnMmcXVvdDsgKENvbnRlbnQgJmFtcDtyYXF1bzsgTGlzdEl0Mk5hbWVPZkR1cGxpY2F0ZSkuPGJyIC8+DQogICAgVG8gY2hhbmdlIHRoZSBpY29uLCByZXBsYWNlIC9tb2R1bGVzL3skbW9kdWxlX25hbWV9TmFtZU9mRHVwbGljYXRlL2ltYWdlcy9pY29uLmdpZi48YnIgLz4NCiAgICBUbyBjaGFuZ2UgQWRtaW4gc2VjdGlvbiBvZiB0aGUgbW9kdWxlLCBzaW1wbHkgc2VsZWN0IGFwcHJvcHJpYXRlIHNlY3Rpb24gZnJvbSBEcm9wZG93bi4gTWFrZSBzdXJlIHlvdSBjbGVhciB0aGUgY2FjaGUgYWZ0ZXIgdGhlc2UgY2hhbmdlcy48L3A+JzsKJGxhbmdbJ2hlbHBfYWJvdXQnXSA9ICc8aDM+QWJvdXQ8L2gzPg0KICAgIDxwPk9yaWdpbiBvZiB0aGlzIG1vZHVsZSBjb21lcyBmcm9tIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbGlzdGl0IiB0YXJnZXQ9Il9ibGFuayI+TGlzdEl0IE1vZHVsZTwvYT4gZGV2ZWxvcGVkIGJ5IEJlbiBNYWxlbi48YnIgLz5BcyB0aGVyZSB3ZXJlIG5vIHBsYW5zIG9uIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YgdGhlIG1vZHVsZSBzb21lIHBlb3BsZSBkZWNpZGVkIHRvIGZvcmsgdGhlIG1vZHVsZSBhbmQgY29udGludWUgd2l0aCBkZXZlbG9wbWVudC48YnIgLz4NCiAgICBJZiB5b3UgZmluZCBhbnkgYnVncyBwbGVhc2UgZmVlbCBmcmVlIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4gb3IgZm9yIGFueSBnb29kIGlkZWFzIGNvbnNpZGVyIHN1Ym1pdGluZyBhIGZlYXR1cmUgcmVxdWVzdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2ZlYXR1cmVfcmVxdWVzdC9saXN0LzEwMTUiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gPC9wPg0KICAgIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50Lg0KICAgIDwvcD4NCiAgICA8aDM+VGVhbTwvaDM+DQogICAgPHVsPg0KICAgICAgICA8bGk+Sm9uYXRoYW4gU2NobWlkIChGb2FseSopIGhpQGpvbmF0aGFuc2NobWlkLmRlIDxiciAvPnd3dy5qb25hdGhhbnNjaG1pZC5kZTwvbGk+DQogICAgICAgIDxsaT5Hb3JhbiBJbGljICh1bmlxdTMpIGcuaWxpY0BpLWFydHMuZXUgPGJyIC8+d3d3LmljaC1tYWNoLWRhcy5hdDwvbGk+DQogICAgICAgIDxsaT5Sb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApIGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcgIDxiciAvPnd3dy5jYWxndXkxMDAwLmNvbTwvbGk+DQogICAgICAgIDxsaT5MdWthcyBCbGF0dGVyIChub2NrZW5mZWxsKSBub2NrZW5mZWxsQGdtYWlsLmNvbSA8YnIgLz53d3cuYmxhdHRlcnRlY2guY2g8L2xpPg0KICAgICAgICA8bGk+QXJub3VkIChhcm5vdWQpIGFybm91ZEB1cHNlcnZpY2UubmwgPGJyIC8+d3d3LnVwc2VydmljZS5ubDwvbGk+DQogICAgICAgIDxsaT5XYXluZSBPTmVpbCAod2lzaGJvbmUpIHdheW5lQHRlYW13aXNoYm9uZS5jb20gPGJyIC8+d3d3LnRlYW13aXNoYm9uZS5jb208L2xpPg0KICAgICAgICA8bGk+VGFwaW8gTCZvdW1sO3l0eXkgKFN0aWtraSkgdGFwc2FAYmxhY2ttaWxrLmZpPC9saT4NCiAgICA8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJyZVdW1sO2JlcnNjaHJlaWJlbiBkZXIgU3RhbmRhcmQtQWt0aW9uLiBNJm91bWw7Z2xpY2hlIFdlcnRlIHNpbmQ6DQo8dWw+DQo8bGk+JnF1b3Q7ZGVmYXVsdCZxdW90OyAtIHp1ciBBbnplaWdlIGRlciBadXNhbW1lbmZhc3N1bmcuPC9saT4NCjxsaT4mcXVvdDtkZXRhaWwmcXVvdDsgLSB6dXIgQW56ZWlnZSBkZXIgRGV0YWlsc2VpdGUuPC9saT4NCjxsaT4mcXVvdDtzZWFyY2gmcXVvdDsgLSB6dXIgQW56ZWlnZSBkZXMgU3VjaGZvcm11bGFycy48L2xpPg0KPGxpPiZxdW90O2ZpbHRlciZxdW90OyAtIHp1ciBBbnplaWdlIGRlcyBGaWx0ZXJmb3JtdWxhcnMuIERlciBQYXJhbWV0ZXIgPGVtPmZpbHRlcjwvZW0+IE1VU1MgYW5nZWdlYmVuIHdlcmRlbi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93YWxsJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIHplaWdlbiwgdW5hYmgmYXVtbDtuZ2lnIHZvbiBkZXIgWmVpdHN0ZXVlcnVuZy4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeSddID0gJ0dlYmVuIFNpZSBlaW5lbiBvZGVyIG1laHJlcmUgS29tbWEgZ2V0cmVubnRlIEFsaWFzIHZvbiBLYXRlZ29yaWUobikgYW4sIHVtIG51ciBFaW50ciZhdW1sO2dlIGF1cyBkaWVzZW4gYW56dXplaWdlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9leGNsdWRlX2NhdGVnb3J5J10gPSAnR2ViZW4gU2llIGVpbmVuIG9kZXIgbWVocmVyZSBLb21tYSBnZXRyZW5udGUgQWxpYXMgdm9uIEthdGVnb3JpZShuKSBhbiwgdW0gRWludHImYXVtbDtnZSBhdXMgZGllc2VuIGF1c3p1c2NobGllJnN6bGlnO2VuLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1YmNhdGVnb3J5J10gPSAnV2VubiBTaWUgZGVuIFBhcmFtZXRlciAmIzAzOTtjYXRlZ29yeSYjMDM5OyBhbmdlZ2ViZW4gaGFiZW4sIGsmb3VtbDtubmVuIFNpZSBtaXQgPGVtPnRydWU8LyBlbT4gYXVjaCBFbGVtZW50ZSBhdXMgVW50ZXJrYXRlZ29yaWVuIGFuemVpZ2VuLiBTdGFuZGFyZG0mYXVtbDsmc3psaWc7aWcgaXN0IGRlciBXZXJ0IGF1ZiBmYWxzZSBnZXNldHp0Lic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGFzIERldGFpbC1UZW1wbGF0ZSwgZGFzIFNpZSB2ZXJ3ZW5kZW4gbSZvdW1sO2NodGVuLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RhcyBadXNhbW1lbmZhc3N1bmdzLVRlbXBsYXRlLCBkYXMgU2llIHZlcndlbmRlbiBtJm91bWw7Y2h0ZW4uICc7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHRlbXBsYXRlJ10gPSAnRGFzIFN1Y2gtVGVtcGxhdGUsIGRhcyBTaWUgdmVyd2VuZGVuIG0mb3VtbDtjaHRlbi4nOwokbGFuZ1snaGVscF9wYXJhbV9vcmRlcmJ5J10gPSAnWW91IGNhbiBvcmRlciBieSBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb2x1bW5zOiBpdGVtX2lkLCBpdGVtX3RpdGxlLCBpdGVtX3Bvc2l0aW9uLCBpdGVtX2NyZWF0ZWQsIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBjYXRlZ29yeV9wb3NpdGlvbiwgY2F0ZWdvcnlfaGllcmFyY2h5LCByYW5kIGFuZCBhbHNvIGJ5IGN1c3RvbSBmaWVsZHMgd2l0aCBjdXN0b21fKiAoKiB3b3VsZCBiZSBmaWVsZCBkZWZpbml0aW9uIGFsaWFzKS48YnIgLz4NCiAgICA8dWw+DQogICAgICAgIDxsaT5Gb3IgZXhhbXBsZTo8YnIgLz4NCiAgICAgICAgb3JkZXJieT0mIzAzOTtjYXRlZ29yeV9uYW1lLCBpdGVtX3RpdGxlJiMwMzk7PC9saT4NCiAgICAgICAgPGxpPldpdGggZmllbGRkZWYgdmFsdWVzOjxiciAvPg0KICAgICAgICBvcmRlcmJ5PSYjMDM5O2N1c3RvbV9bZmllbGRkZWYgYWxpYXNdJiMwMzk7PC9saT4gICAgICAgIA0KICAgICAgICA8bGk+WW91IGNhbiBhbHNvIHNwZWNpZnkgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgZm9yIGFueSBjb2x1bW4sIGZvciBleGFtcGxlOjxiciAvPg0KICAgICAgICBvcmRlcmJ5PSYjMDM5O2NhdGVnb3J5X25hbWV8QVNDLCBpdGVtX3RpdGxlfERFU0MmIzAzOTs8L2xpPg0KICAgIDwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnTWF4aW1hbGUgQW56YWhsIGRlciBhbnp1emVpZ2VuZGVuIEVpbnRyJmF1bWw7Z2UgKHBybyBTZWl0ZSkuIFdlbm4gZGllc2VyIFBhcmFtZXRlciBuaWNodCBhbmdlZ2ViZW4gd2lyZCwgd2VyZGVuIGFsbGUgcGFzc2VuZGVuIEVpbnRyJmF1bWw7Z2UgYW5nZXplaWd0LiBXZW5uIGVzIGlzdCwgdW5kIGVzIGdpYnQgbWVociBFaW50ciZhdW1sO2dlIGFscyBpbSBQYXJhbWV0ZXIgYW5nZWdlYmVuLCB3aXJkIGRlciBUZXh0IHVuZCBMaW5rcyBhbmdlemVpZ3QsIHVtIGRhcyBTY3JvbGxlbiBkdXJjaCBkaWUgRXJnZWJuaXNzZSB6dSBlcm0mb3VtbDtnbGljaGVuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3RhcnQnXSA9ICdCZWdpbm5lbiBiZWltIG4tdGVuIEVpbnRyYWcgLSBiZWltIGxlZXJlbiB3ZXJ0IHdpcmQgYWIgZXJzdGVuIEVpbnRyYWcgZ2VzdGFydGV0Lic7CiRsYW5nWydoZWxwX3BhcmFtX251bWJlciddID0gJ01heGltYWxlIGFuemFobCBkZXIgRWludHImYXVtbDtnZSAocHJvIFNlaXRlKSAtIGJlaW0gbGVlcmVuIHdlcnQgd2VyZGVuIGFsbGUgRWludHImYXVtbDtnZSBhbmdlaXplaWd0LiBEaWVzIGlzdCBlaW4gU3lub255bSBmJnV1bWw7ciBkaWUgcGFnZWxpbWl0IFBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnU2VpdGUgZiZ1dW1sO3IgRWludHJhZ2RldGFpbHMuIE11c3MgZWluIFNlaXRlbmFsaWFzIHNlaW4uIFdpcmQgdmVyd2VuZGV0LCBkYW1pdCBEZXRhaWxzIGluIGVpbmVyIGFuZGVyZW4gU2VpdGUgYWxzIFp1c2FtbWVuZmFzc3VuZyBhbmdlemVpZ3Qgd2VyZGVuLic7CiRsYW5nWydoZWxwX3BhcmFtX2l0ZW0nXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgZiZ1dW1sO3IgZGllIERldGFpbGFuc2ljaHQuIEVzIGVybSZvdW1sO2dsaWNodCBkaWUgQW5nYWJlLCB3ZWxjaGVzIEVsZW1lbnQgaW0gRGV0YWlsLU1vZHVzIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbC4gTXVzcyBlaW4gRWxlbWVudCBBbGlhcyDigIvigItzZWluLic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaF8nXSA9ICdEdXJjaHN1Y2h0IGVpbiBiZXN0aW1tdGVzIEZlbGQuIFNpZSBrJm91bWw7bm5lbiAmIzAzOTt0aXRsZSYjMDM5OyB2ZXJ3ZW5kZW4gb2RlciBkZW4gQWxpYXMgZWluZXMgRXh0cmEtRmVsZHMsIGJzcHcuIHNlYXJjaF90aXRsZS4gQmxlaWJ0IHVuYmVhY2h0ZXQsIHdlbm4gZGVyIFBhcmFtZXRlciAmIzAzOTtzZWFyY2gmIzAzOTsgZ2VzZXR6dCBpc3QsIGplZG9jaCBpc3QgZGllIEtvbWJpbmF0aW9uIG1laHJlcmVyIHNlYXJjaF8qIFBhcmFtZXRlciBtJm91bWw7Z2xpY2guJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZmlsdGVyJ10gPSAnUmVxdWlyZWQgZm9yIGFjdGlvbiA8ZW0+ZmlsdGVyPC9lbT4uIFNwZWNpZnkgdGhlIGZpZWxkcyB3aG9zZSB2YWx1ZXMgc2hvdWxkIGJlIG9mZmVyZWQgYXMgZmlsdGVyIG9wdGlvbnMgYnkgbGlzdGluZyB0aGUgZmllbGQmIzAzOTtzIGFsaWFzZXMgY29tbWEgc2VwYXJhdGVkLic7CiRsYW5nWydoZWxwX3BhcmFtX3JldHVybnBhZ2UnXSA9ICdVc2VkIGZvciBmaWx0ZXIgb3Igc2VhcmNoIG1vZGUgb25seS4gUGFnZSB0byBkaXNwbGF5IHNlYXJjaCByZXN1bHRzIHJlc3BlY3Rpdmx5IGZpbHRlcmVkIGl0ZW1zIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy4gVXNlZCB0byBhbGxvdyBzdW1tYXJ5IHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gZmlsdGVyIC8gc2VhcmNoIG1hc2suJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVidWcnXSA9ICdFcm0mb3VtbDtnbGljaHQgRGVidWctTW9kdXMsIEF1c2dhYmUgYWxsZXIgT2JqZWt0ZSwgQXJyYXlzIHVuZCBWYXJpYWJsZW4gZiZ1dW1sO3IgYWt0dWVsbGUgQWt0aW9uLic7CiRsYW5nWyd1cGdyYWRlX3dhcm5pbmcnXSA9ICc8aDM+SW1wb3J0YW50IHVwZ3JhZGUgSW5mb3JtYXRpb248L2gzPg0KICAgIDxwPjxzdHJvbmc+SWYgeW91IGhhdmUgdXBncmFkZWQgZnJvbSBMaXN0SXRFeHRlbmRlZCAxLjIuMiBvciBlYXJsaWVyIFZlcnNpb24gdG8gMS4zIHJlYWQgdGhpcyBjYXJlZnVsbHkhPC9zdHJvbmc+PC9wPg0KICAgIDxwPkFmdGVyIHVwZ3JhZGUgcHJvY2VlZHVyZSBvZiBMaXN0SXRFeHRlbmRlZCAxLjMgYSBuZXcgTW9kdWxlIGluc3RhbmNlIGNhbGxlZCBMaXN0SXQyT3JpZ2luYWwgd2lsbCBiZSBjcmVhdGVkIGF1dG9tYXRpY2FsbHkuPGJyIC8+DQogICAgUGxlYXNlIGdvIHRvICZxdW90O0V4dGVuc2lvbnMgJnJhcXVvOyBNb2R1bGVzJnF1b3Q7IGFuZCBpbnN0YWxsIHRoaXMgbmV3bHkgY3JlYXRlZCBJbnN0YW5jZS4gT25jZSB0aGlzIGluc3RhbmNlIHdhcyBpbnN0YWxsZWQgSXRlbXMgZnJvbSBMaXN0SXQyIHdpbGwgYmUgYXZhaWxhYmxlIGFnYWluLjxiciAvPg0KICAgIFVuZm9ydHVuYXRlbGx5IHlvdSB3aWxsIGhhdmUgdG8gY2hhbmdlIGFsbCB7TGlzdEl0Mn0gdGFncyBpbiB5b3VyIFdlYnNpdGUgdG8ge0xpc3RJdDJPcmlnaW5hbH0sIHdlIGFyZSBzb3JyeSBhYm91dCB0aGF0LjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43OTkwOTk0NzYuMTM1NTU4MTE2OS4xMzU1NTgxMTY5LjEzNTU1ODExNjkuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM1NTU4MTE2OS4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMzU1NTgxMTY5JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ludmFsaWRfY2hhcmFjdGVycyddID0gJ0tpcmphaW1ldCwga3V0ZW46ICVzIGVpdiZhdW1sO3Qgb2xlIHNhbGxpdHR1amEga2VudCZhdW1sO3NzJmF1bWw7OiAlcyc7CiRsYW5nWydpdGVtJ10gPSAnSXRlbWknOwokbGFuZ1snaXRlbXMnXSA9ICdJdGVtaXQnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdLZW50JmF1bWw7biBNJmF1bWw7JmF1bWw7cml0eXMnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnS2VudCZhdW1sO24gTSZhdW1sOyZhdW1sO3JpdHlrc2V0JzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnUG9oamEnOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnUG9oamF0JzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmlhJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWF0JzsKJGxhbmdbJ29wdGlvbiddID0gJ1ZhbGludGEnOwokbGFuZ1snb3B0aW9ucyddID0gJ1ZhbGlubmF0JzsKJGxhbmdbJ2JhY2snXSA9ICdTaXZ1IHRhYWtzZXBwJmF1bWw7aW4nOwokbGFuZ1snaXRlbV90aXRsZSddID0gJ090c2lra28nOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGUnXSA9ICdJdGVtaW4gb3RzaWtrbyc7CiRsYW5nWydhY3RpdmUnXSA9ICdBa3RpaXZpbmVuJzsKJGxhbmdbJ3RpbWVfY29udHJvbCddID0gJ0smYXVtbDt5dCZhdW1sOyBhamFuaGFsbGludGFhJzsKJGxhbmdbJ3N0YXJ0X3RpbWUnXSA9ICdBbG9pdHVzIGFpa2EnOwokbGFuZ1snZW5kX3RpbWUnXSA9ICdMb3BldHVzIGFpa2EnOwokbGFuZ1snaXRlbV90aXRsZV9lbXB0eSddID0gJ0l0ZW1pbiBvdHNpa2tvYSBlaSBvbGUgYW5uZXR0dSc7CiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1ZhYWRpdHR1IGtlbnR0JmF1bWw7IG9uIHR5aGomYXVtbDsnOwokbGFuZ1sndG9vX2xvbmcnXSA9ICdLZW50JmF1bWw7biBhcnZvIG9uIHNhbGxpdHR1YSBwaWRlbXBpJzsKJGxhbmdbJ2FwcHJvdmUnXSA9ICdBc2V0YSBha3RpaXZpc2Vrc2knOwokbGFuZ1sncmV2ZXJ0J10gPSAnQXNldGEgcGFzc2lpdmlzZWtzaSc7CiRsYW5nWydzdWJtaXRfb3JkZXInXSA9ICdUYWxsZW5uYSBqJmF1bWw7cmplc3R5cyc7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICdQb2lzdGEgVmFsaXR1dCAlcyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZW11bHRpcGxlJ10gPSAnT2xldGtvIHZhcm1hIGV0dCZhdW1sOyBoYWx1YXQgcG9pc3RhYSBrYWlra2kgJXM/JzsKJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdWYWxpdHNlIGthaWtraSc7CiRsYW5nWydlcnJvcl9zdGFydGdyZWF0ZXJlbmQnXSA9ICdBbG9pdHVzIHAmYXVtbDtpdiZhdW1sOyBvbiBsb3BldHVzIHAmYXVtbDtpdiZhdW1sOyZhdW1sOyBpc29tcGkuJzsKJGxhbmdbJ2l0ZW1fYWxpYXNfZXhpc3RzJ10gPSAnSXRlbWluIGFsaWFzIG9uIGpvIG9sZW1hc3NhLiBBbGlhcyBwaXQmYXVtbDsmYXVtbDsgb2xsYWEgdW5paWtraS4nOwokbGFuZ1sncmV0dXJuX3VybCddID0gJ1BhbGFhJzsKJGxhbmdbJ3BhdGhjb250YWluc3ZhcnMnXSA9ICdUJmF1bWw7dCZhdW1sOyBrZW50dCZhdW1sOyZhdW1sOyB2b2lkYWFuIG11b2thdGEgZW5zaW1tJmF1bWw7aXNlbiB0YWxsZW5udWtzZW4gaiZhdW1sO2xrZWVuICVzJzsKJGxhbmdbJ2VkaXRmaWVsZGRlZiddID0gJ011b2trYWEgS2VudCZhdW1sO24gTSZhdW1sOyZhdW1sO3JpdHlzdCZhdW1sOyc7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmltaSc7CiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnQXZ1bGlhcyB2aW5ra2knOwokbGFuZ1snZmllbGRkZWZfdHlwZSddID0gJ1R5eXBwaSc7CiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAnTWFrc2ltaSBwaXR1dXMnOwokbGFuZ1snZmllbGRkZWZfcmVxdWlyZWQnXSA9ICdWYWFkaXR0dSc7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZWtzdGlrZW50dCZhdW1sOyc7CiRsYW5nWydjaGVja2JveCddID0gJ1ZhbGludGFsYWF0aWtrbyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0aWFsdWUnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdWYWxpdHNlIFAmYXVtbDtpdiZhdW1sOyc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1RpZWRvc3RvbmxhdGF1cyc7CiRsYW5nWydkcm9wZG93biddID0gJ0FsYXN2ZXRvdmFsaWtrbyc7CiRsYW5nWydnYWxsZXJ5J10gPSAnR2FsbGVyaWEgQWxhc3ZldG92YWxpa2tvJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTW9uaXZhbGludGEnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnU2lzJmF1bWw7bHQmb3VtbDsgU2l2dXQnOwokbGFuZ1snc2VsZWN0X2ZpbGUnXSA9ICdWYWxpdHNlIFRpZWRvc3RvJzsKJGxhbmdbJ2ZpZWxkc2V0X3N0YXJ0J10gPSAnRmllbGRzZXQgQWxrYWEnOwokbGFuZ1snZmllbGRzZXRfZW5kJ10gPSAnRmllbGRzZXQgTG9wcHV1JzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZW1wdHknXSA9ICdLZW50JmF1bWw7biBtJmF1bWw7JmF1bWw7cml0eWtzZW4gbmltZSZhdW1sOyBlaSBvbGUgYW5uZXR0dSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ0tlbnQmYXVtbDtuIG0mYXVtbDsmYXVtbDtyaXR5a3NlbiBuaW1pIG9uIGpvIG9sZW1hc3NhJzsKJGxhbmdbJ2ZpZWxkZGVmX2FsaWFzX2V4aXN0cyddID0gJ0tlbnQmYXVtbDtuIG0mYXVtbDsmYXVtbDtyaXR5a3NlbiBhbGlhcyBvbiBqbyBvbGVtYXNzYS4gQWxpYXMgcGl0JmF1bWw7JmF1bWw7IG9sbGEgdW5paWtraS4nOwokbGFuZ1snaW52YWxpZCddID0gJ0tlbnQmYXVtbDtuIGFydm8gb24gdmlyaGVlbGxpbmVuJzsKJGxhbmdbJ3N0YXR1c19yZXF1aXJlZCddID0gJ0FzZXRhIHN0YXR1cyAmIzAzOTt2YWFkaXR1a3NpJiMwMzk7JzsKJGxhbmdbJ3N0YXR1c19vcHRpb25hbCddID0gJ0FzZXRhIHN0YXR1ICYjMDM5O3ZhcGFhZWh0b2lzZWtzaSYjMDM5Oyc7CiRsYW5nWydpc19kZWZhdWx0J10gPSAnT24gYXNldGV0dHUgJiMwMzk7T2xldHVrc2Vrc2kmIzAzOTsnOwokbGFuZ1snc3RhdHVzX2RlZmF1bHQnXSA9ICdBc2V0YSAmIzAzOTtPbGV0dWtzZWtzaSYjMDM5Oyc7CiRsYW5nWydoZWxwdGV4dF90aXRsZSddID0gJ01haGRvbGxpc2V0IEtlbnQmYXVtbDtuIE0mYXVtbDsmYXVtbDtyaXR5cyBvaGplZXQgRXh0cmEga2VudCZhdW1sO2xsZTonOwokbGFuZ1snZ2FsbGVyeV9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT5ObyBleHRyYSBpbnN0cnVjdGlvbnM8L2xpPgo8L3VsPic7CiRsYW5nWyd0ZXh0Ym94X2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPnNpemVbMjBdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5tYXhfbGVuZ2h0WzIwXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2NoZWNrYm94X2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPk5vIGV4dHJhIGluc3RydWN0aW9uPC9saT4KPC91bD4nOwokbGFuZ1sndGV4dGFyZWFfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+bWF4X2xlbmdodFsyMF08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGludGVnZXI8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPnd5c2l3eWdbMV08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPC9saT4KPC91bD4nOwokbGFuZ1snc2VsZWN0X2RhdGVfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+c2l6ZVsyMF08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGludGVnZXI8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPm1heF9sZW5naHRbMjBdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5kYXRlZm9ybWF0W2RkL21tL3l5XTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGF0ZSBmb3JtYXQgdXNlZCBieSB0aGUgalF1ZXJ5IGRhdGVwaWNrZXIuIFRyeSBnb29nbGluZyAmIzAzOTtqcXVlcnkgZm9ybWF0RGF0ZSYjMDM5OzwvbGk+CjwvdWw+JzsKJGxhbmdbJ3VwbG9hZF9maWxlX2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBleHRlbnNpb24gKGtlZXAgbG93ZXJjYXNlKTwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+ZGlyWy9wYXRoL3RvL2Rpcl08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IERpcmVjdG9yeSBwYXRoIHRoYXQgd2lsbCBiZSBhcHBlbmRlZCB0byAkY29uZmlnWyYjMDM5O3VwbG9hZHNfdXJsJiMwMzk7XSAuIE5vIHNsYXNoIGF0IHRoZSBlbmQuIHskaXRlbV9pZH0gYW5kIHskaXRlbV9hbGlhc30gd2lsbCBiZSByZXBsYWNlZC48L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmV4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogcHJlZml4PC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5maWxlYnJvd3NlclsxXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBOb3RlOiBTZXRzIEdCRmlsZVBpY2tlciB0byBmaWxlYnJvd3NlciBtb2RlIGluc3RlYWQgb2YgZGVmYXVsdCBkcm9wZG93biBtb2RlPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5pbWFnZVsxXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBOb3RlOiBTZXRzIEdCRmlsZVBpY2tlciB0byBzaG93IHRodW1ibmFpbCBpbWFnZSBpbnN0ZWFkIG9mIGlucHV0IGZpZWxkLjwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+Y3JlYXRlX2RpcnNbMV08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgTm90ZTogU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgY3JlYXRpbmcgbmV3IGRpcmVjdG9yeS4gKERlcGVuZHMgb24gdXNlciBvciBncm91cCBhcyB3ZWxsIGFzIEdCRmlsZVBpY2tlciBwZXJtaXNzaW9uKTwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+ZGVsZXRlWzFdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgogICAgICAgIE5vdGU6IFNldHMgR0JGaWxlUGlja2VyIHRvIGFsbG93IGRlbGV0aW5nIGZpbGVzLiAoRGVwZW5kcyBvbiB1c2VyIG9yIGdyb3VwIGFzIHdlbGwgYXMgR0JGaWxlUGlja2VyIHBlcm1pc3Npb24pPC9saT4gCiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+c2hvd19zdWJkaXJzWzFdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgogICAgICAgIE5vdGU6IFNldHMgR0JGaWxlUGlja2VyIHRvIGFsbG93IHZpZXdpbmcgb2Ygc3ViZGlyZWN0b3JpZXMuIChEZXBlbmRzIG9uIHVzZXIgb3IgZ3JvdXAgYXMgd2VsbCBhcyBHQkZpbGVQaWNrZXIgcGVybWlzc2lvbik8L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAKPC91bD4nOwokbGFuZ1snc2VsZWN0X2ZpbGVfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+YWxsb3dbcGRmLGdpZixqcGVnLGpwZ108L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGV4dGVuc2lvbiAoa2VlcCBsb3dlcmNhc2UpPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5kaXJbL3BhdGgvdG8vZGlyXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvICRjb25maWdbJiMwMzk7dXBsb2Fkc191cmwmIzAzOTtdIC4gTm8gc2xhc2ggYXQgdGhlIGVuZC4geyRpdGVtX2lkfSBhbmQgeyRpdGVtX2FsaWFzfSB3aWxsIGJlIHJlcGxhY2VkLjwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBwcmVmaXg8L2xpPgo8L3VsPic7CiRsYW5nWydkcm9wZG93bl9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5vcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAga2V5PXZhbHVlPC9saT4KPC91bD4nOwokbGFuZ1snbXVsdGlzZWxlY3RfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogIGtleT12YWx1ZTwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+c2l6ZVs1XTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2ZpZWxkc2V0X3N0YXJ0X2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPk5vIGV4dHJhIGluc3RydWN0aW9uczwvbGk+CjwvdWw+JzsKJGxhbmdbJ2ZpZWxkc2V0X2VuZF9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT5ObyBleHRyYSBpbnN0cnVjdGlvbnM8L2xpPgo8L3VsPic7CiRsYW5nWydoaWVyYXJjaHlfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+Tm8gZXh0cmEgaW5zdHJ1Y3Rpb25zPC9saT4KPC91bD4nOwokbGFuZ1sncmVvcmRlcl9jYXRlZ29yaWVzJ10gPSAnSiZhdW1sO3JqZXN0JmF1bWw7IEthdGVnb3Jpb2l0YSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTXVva2thIEthdGVnb3JpYWEnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ0thdGVnb3JpYW4gbmltaSc7CiRsYW5nWydjYXRlZ29yeV9kZXNjcmlwdGlvbiddID0gJ0thdGVnb3JpYW4ga3V2YXVzJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdLYXRlZ29yaWFuIG5pbWUmYXVtbDsgZWkgb2xlIGFubmV0dHUnOwokbGFuZ1snY2F0ZWdvcnlfYWxpYXNfZXhpc3RzJ10gPSAnS2F0ZWdvcmlhbiBhbGlhcyBvbiBqbyBvbGVtYXNzYS4gQWxpYXMgcGl0JmF1bWw7JmF1bWw7IG9sbGEgdW5paWtraS4nOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlJ10gPSAnS29vc3RlIFBvaGphJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdLb29zdGUgUG9oamF0JzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlJ10gPSAnWWtzaXR5aXNrb2h0YWluZW4gUG9oamEnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnWWtzaXR5aXNrb2h0YWlzZXQgUG9oamF0JzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlJ10gPSAnSGFrdSBQb2hqYSc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZXMnXSA9ICdIYWt1IFBvaGphdCc7CiRsYW5nWydmaWx0ZXJ0ZW1wbGF0ZSddID0gJ1ZhbGl0c2luIFBvaGphJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlcyddID0gJ1ZhbGl0c2luIFBvaGphdCc7CiRsYW5nWydlZGl0dGVtcGxhdGUnXSA9ICdNdW9ra2FhIFBvaGphYSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lJ10gPSAnUG9oamFuIG5pbWknOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ1BvaGphbiBuaW1lJmF1bWw7IGVpIG9sZSBhbm5ldHR1JzsKJGxhbmdbJ3RlbXBsYXRlX2NvbnRlbnRfZW1wdHknXSA9ICdQb2hqYW4gc2lzJmF1bWw7bHQmb3VtbDsmYXVtbDsgZWkgb2xlIGFubmV0dHUnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdPbGV0dXMgcG9oamF0JzsKJGxhbmdbJ21vZHVsZV9vcHRpb25zJ10gPSAnTW9kdXVsaSBWYWxpbm5hdCc7CiRsYW5nWyd1cmxfb3B0aW9ucyddID0gJ1VSTCBWYWxpbm5hdCc7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnTW9kdXVsaW4geXN0JmF1bWw7diZhdW1sO2xsaW5lbiBuaW1pa2UnOwokbGFuZ1sncHJvbXB0X2FkbWluc2VjdGlvbiddID0gJ01vZHV1bGluIEFkbWluIE9zaW8nOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdJdGVtIHNpbmd1bGFyJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ0l0ZW0gcGx1cmFsJzsKJGxhbmdbJ3Byb21wdF91cmxfcHJlZml4J10gPSAnVVJMIFByZWZpeCc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdOJmF1bWw7eXQmYXVtbDsgeWtzaXR5aXNrb2h0YWluZW4gc2lzJmF1bWw7bHQmb3VtbDsgaW5saW5lIG1vZGVzc2EnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY29scyddID0gJ04mYXVtbDt5dCZhdW1sOyB0JmF1bWw7bSZhdW1sOyBrZW50dCZhdW1sOyBpdGVtaWVuIGxpc3RhdWtzZXNzYSc7CiRsYW5nWyd0ZXh0X3NvcnRvcmRlciddID0gJ09sZXR1cyBqJmF1bWw7cmplc3R5cyBpdGVtZWlsbGUnOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnTm91c2V2YSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnTGFza2V2YSc7CiRsYW5nWydvcHRpb25zX25vdGljZSddID0gJ0t1biBvbGV0IHRlaG55dCBtdXV0b2tzaWEgbW9kdXVsaW4geXN0JmF1bWw7diZhdW1sO2xsaXNlZW4gbmltaWtrZWVzZWVuIHRhaSBhZG1pbiBvc2lvb24sIGpvdWR1dCBtYWhkb2xsaXNlc3RpIHR5aGpldCZhdW1sO20mYXVtbDsmYXVtbDtuIHYmYXVtbDtsaW11aXN0aW4gJnF1b3Q7Y2xlYXIgY2FjaGUmcXVvdDsgdG9pbWlubm9uIGF2dWxsYS4nOwokbGFuZ1snbm90aWNlJ10gPSAnSHVvbWF1dHVzJzsKJGxhbmdbJ2luc3RhbmNlcyddID0gJ0luc3RhbnNzaXQnOwokbGFuZ1snaW5zdGFsbGVkX2luc3RhbmNlc193YXJuaW5nJ10gPSAnQWxsYSBvbiBsaXN0YXVzIGtsb29uYXR1aXN0YSBpbnN0YW5zc2Vpc3RhLjxiciAvPlZhcm1pc3RhIGV0dCZhdW1sOyBvdGF0IHZhcm11dXNrb3Bpb24ga2Fpa2VzdGEgKFRpZWRvc3RvaXN0YSAmYW1wOyBUaWV0b2thbm5hc3RhKSBlbm5lbmt1aW4gcCZhdW1sO2l2aXQmYXVtbDt0IG1vZHV1bGluJzsKJGxhbmdbJ2luc3RhbGxlZF9pbnN0YW5jZXMnXSA9ICdBc2VubmV0dXQgaW5zdGFuc3NpdCc7CiRsYW5nWydpbnN0YW5jZV9uYW1lJ10gPSAnSW5zdGFuc3NpbiBuaW1pJzsKJGxhbmdbJ2luc3RhbmNlX2ZyaWVuZGx5bmFtZSddID0gJ1lzdCZhdW1sO3YmYXVtbDtsbGluZW4gbmltaWtlJzsKJGxhbmdbJ2luc3RhbmNlX3NtYXJ0eSddID0gJ1NtYXJ0eSB0YWdpJzsKJGxhbmdbJ2luc3RhbmNlX3ZlcnNpb24nXSA9ICdWZXJzaW8nOwokbGFuZ1snaW5zdGFuY2VfdXBncmFkZSddID0gJ1AmYXVtbDtpdml0JmF1bWw7JzsKJGxhbmdbJ2luc3RhbmNlX3VwdG9kYXRlJ10gPSAnQWphbnRhc2FsbGEnOwokbGFuZ1snaW5zdGFuY2VfbW9kdWxldXBncmFkZWQnXSA9ICdNb2R1dWxpbiBwJmF1bWw7aXZpdHlzJzsKJGxhbmdbJ2R1cGxpY2F0ZV9pbnN0YW5jZSddID0gJ0tsb29uYWEgbW9kdXVsaSc7CiRsYW5nWydkdXBsaWNhdGVfZGVzY3JpcHRpb24nXSA9ICdUJmF1bWw7bSZhdW1sOyBtb2R1dWxpIG9uIGhlbHBwbyBrbG9vbmF0YSBwYWluYW1hbGxhIEtsb29uYWEgbW9kdXVsaSBwYWluaWtldHRhLjxiciAvPiBBc2VubmEga2xvb25pdCAmcXVvdDtMYWFqZW5ub2tzZXQgJmFtcDtyYXF1bzsgTW9kdXVsaXQmcXVvdDsuJzsKJGxhbmdbJ2NvcHlfdGl0bGUnXSA9ICdLbG9vbmFhIG1vZHV1bGknOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydkZWZhdWx0J10gPSAnT2xldHVzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1BlcnV1dGEnOwokbGFuZ1sncmVzZXQnXSA9ICdQYWxhdXRhIE9sZXR1a3Nla3NpJzsKJGxhbmdbJ2R1cGxpY2F0ZSddID0gJ0tsb29uYWEnOwokbGFuZ1snY2hhbmdlc3NhdmVkJ10gPSAnS2Fpa2tpIG11dXRva3NldCB0YWxsZW5uZXR0dSBvbm5pc3R1bmVlc3RpLic7CiRsYW5nWyd0ZW1wbGF0ZXJlc3RvcmVkJ10gPSAnT2xldHVzIFBvaGphIHBhbGF1dGV0dHUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ09sZXRrbyB2YXJtYSBldHQmYXVtbDsgaGFsdWF0IHBvc3RhYT8nOwokbGFuZ1sndXAnXSA9ICdZbCZvdW1sO3MnOwokbGFuZ1snZG93biddID0gJ0FsYXMnOwokbGFuZ1snZWRpdCddID0gJ011b2trYWEnOwokbGFuZ1snZGVsZXRlJ10gPSAnUG9pc3RhJzsKJGxhbmdbJ25vc3VjaGlkJ10gPSAnRWkgSUQ6dCZhdW1sOyBvbGVtYXNzYSc7CiRsYW5nWydkZWxldGVkJ10gPSAnSXRlbWkodCkgcG9pc3RldHR1IG9ubmlzdHVuZWVzdGkuJzsKJGxhbmdbJ2FkZCddID0gJ0xpcyZhdW1sOyZhdW1sOyAlcyc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsKJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBlaSBrZWxwYWEuIEFsaWFzIHBpdCZhdW1sOyZhdW1sOyBvbGxhIFBIUCBtdXV0dHVqYW4gbmltaSc7CiRsYW5nWydzZWFyY2gnXSA9ICdIYWt1JzsKJGxhbmdbJ3NlYXJjaGZvciddID0gJ0hha3UnOwokbGFuZ1snc2VhcmNocmVzdWx0c2ZvciddID0gJ0hha3UgdHVsb2tzZXQnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ21vZHVsZV9uYW1lJ10gPSAnTW9kdXVsaW4gbmltaSc7CiRsYW5nWydtb2R1bGVfbmFtZV9lbXB0eSddID0gJ01vZHV1bGluIG5pbWUmYXVtbDsgZWkgb2xlIGFubmV0dHUnOwokbGFuZ1snbW9kdWxlX25hbWVfaW52YWxpZCddID0gJ01vZHV1bGluIG5pbWkgc2lzJmF1bWw7bHQmYXVtbDsmYXVtbDsgdmlyaGVlbGxpc2kmYXVtbDsga2lyamFpbWlhJzsKJGxhbmdbJ21vZHVsZWNvcGllZCddID0gJ01vZHV1bGkga29waW9pdHUgb25uaXN0dW5lZXN0aSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0dGVyaSc7CiRsYW5nWydmaWx0ZXJwcm9tcHQnXSA9ICdGaWx0dGVyaSAlcyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWlzc2luZyddID0gJ1BhcmFtdGVyaSA8ZW0+ZmlsdGVyPC9lbT4gb24gdmFhZGl0dHUgZmlsdGVyIG1vb2Rpc3NhLic7CiRsYW5nWydhbGwnXSA9ICdLYWlra2knOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdMaXN0SXQgYWxsb3dzIHlvdSB0byBjcmVhdGUgbGlzdHMgdGhhdCB5b3UgY2FuIGRpc3BsYXkgdGhyb3VnaG91dCB5b3VyIHdlYnNpdGUuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnb25uaXN0dW5lZXN0aSBhc2VubmV0dHUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ29ubmlzdHVuZWVzdGkgcG9pc3RldHR1JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzxoMz5WZXJzaW9uIDEuMjwvaDM+Cjx1bD4KICAgIDxsaT5Db21wbGV0ZSByZXdyaXRlIG9mIFRlbXBsYXRlIGhhbmRsaW5nLCB1c2luZyBDTVNNUyB0ZW1wbGF0ZXMgdGFibGUgbm93PC9saT4KICAgIDxsaT5BZGRpdGlvbmFsIEZpbGVkIGRlZmluaXRpb25zPC9saT4KICAgIDxsaT5SZW1vdmVkIEdCRmlsZVBpY2tlciBkZXBlbmRlbmN5PC9saT4KICAgIDxsaT5DTVNNUyAxLjExIHJlYWR5PC9saT4KICAgIDxsaT5JbXByb3ZlZCBoYW5kbGluZyBvZiBpdGVtcyBvcmRlcmluZzwvbGk+CiAgICA8bGk+QWRkZWQgcG9zc2liaWxpdHkgb2YgZHVwbGljYXRpbmcgbXVsdGlwbGUgaW5zdGFuY2VzIGZyb20gYmFja2VuZCBhbmQgcmVkdWNlZCB0aGUgbnVtYmVyIG9mIGZpbGVzIG5lZWRlZCBmb3IgZHVwbGljYXRlZCBpbnN0YW5jZXM8L2xpPgogICAgPGxpPE51bWJlcmVkIHBhZ2luYXRpb24gaW4gc3VtbWFyeSB0ZW1wbGF0ZXM8L2xpPgogICAgPGxpPk51bWVyb3VzIGJ1Z2ZpeGVzPC9saT4KICAgIDxsaT5Qb3NzaWJpbGl0eSB0byBzcGVjaWZ5IGRlZnVhbHQgY2F0ZWdvcnk8L2xpPgogICAgPGxpPlBvc3NpYmlsaXR5IHRvIHNwZWNpZnkgZGVmYXVsdCBUZW1wbGF0ZXM8L2xpPgogICAgPGxpPlBvc3NpYmlsaXR5IHRvIHJlbG9hZCBkZWZhdWx0IHRlbXBsYXRlczwvbGk+CiAgICA8bGk+QWRkZWQgb3B0aW9uIG9mIGNob29zaW5nIEFkbWluIFNlY3Rpb248L2xpPgogICAgPGxpPmFuZCBtb3JlIC4uLjwvbGk+CjwvdWw+CjxoMz5WZXJzaW9uIDEuMTwvaDM+Cjx1bD4KICAgIDxsaT5NdWxpdGxldmVsIENhdGVnb3JpZXM8L2xpPgogICAgPGxpPlN1bW1hcnkgUGFnaW5hdGlvbjwvbGk+CiAgICA8bGk+TXVsdGlwbGUgQ2F0ZWdvcmllcyBmb3IgcGFyYW1ldGVyIGNhdGVnb3J5PC9saT4KICAgIDxsaT5DTVNNUyAxLjEwIHJlYWR5PC9saT4KICAgIDxsaT5CYWNrZW5kIHRhYmxlIHNlYXJjaDwvbGk+CiAgICA8bGk+RXhjbHVkZSBDYXRlZ29yeSBwYXJhbWV0ZXI8L2xpPgo8L3VsPic7CiRsYW5nWydnZW5lcmFsJ10gPSAnWWxlaW5lbic7CiRsYW5nWyd1c2FnZSddID0gJ0smYXVtbDt5dHQmb3VtbDsnOwokbGFuZ1sncGVybWlzc2lvbnMnXSA9ICdPaWtldWRldCc7CiRsYW5nWydkdXBsaWNhdGluZyddID0gJ01vZHV1bGluIGtsb29uYXVzJzsKJGxhbmdbJ2Fib3V0J10gPSAnTWVpc3QmYXVtbDsnOwokbGFuZ1snaGVscF9nZW5lcmFsJ10gPSAnPGgzPkdlbmVyYWwgSW5mbzwvaDM+CQkKCTxwPlNpbXBseSBwdXQsIExpc3RJdCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4gWW91IGNvdWxkIG1ha2UgYSBzaW1wbGUgRkFRIG9yIFRlc3RpbW9uaWFscyBmZWF0dXJlIHdpdGggdGhpcyBtb2R1bGUuIFRoZSB3ZWIgZGV2ZWxvcGVyIGRlZmluZXMgZmllbGRzIHRvIGNvbnN0cmFpbiB3aGF0IGRhdGEgdGhlIGNsaWVudCBjYW4gZW50ZXIuIEEgbnVtYmVyIG9mIGZpZWxkIHR5cGVzIGNhbiBiZSBzcGVjaWZpZWQgLSB0ZXh0IGlucHV0LCBjaGVja2JveCwgdGV4dCBhcmVhLCBzZWxlY3QgZGF0ZSwgdXBsb2FkIGZpbGUsIHNlbGVjdCBmaWxlLCBkcm9wZG93biAtIGFuZCBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBjYW4gYmUgc2V0IGZvciBlYWNoIHR5cGUsIGZvciBleGFtcGxlLCBpbnB1dCBmaWVsZCBzaXplLCBtYXggbGVuZ3RoLCBXWVNJV1lHIGVkaXRvciwgcG9zc2libGUgZHJvcCBkb3duIHZhbHVlcywgcG9zc2libGUgZmlsZSBleHRlbnNpb25zLCBkaXJlY3RvcnkgcGF0aHMgZm9yIGZpbGUgc2VsZWN0aW9ucywgZGF0ZSBmb3JtYXRzLCBldGMuLjwvcD4KCTxwPkFuIGltcG9ydGFudCBub3RlIG9mIHdhcm5pbmcgLSBUaGlzIGlzIG5vdCBhIGNvbnRlbnQgY29uc3RydWN0aW9uIGtpdCwgc3VjaCBhcyBpbiBEcnVwYWwuIEl0IGlzIG1lYW50IGZvciBzbWFsbCBsaXN0aW5ncywgbm90IHRvIHN0b3JlIHRob3VzYW5kcyBvZiByZWNvcmRzLiBUaGlzIGlzIGJlY2F1c2Ugb2YgdGhlIGRhdGFiYXNlIG1vZGVsIHVzZWQgKEVBVikuIEFsc28sIGVhY2ggYml0IG9mIGRhdGEgeW91IGVudGVyIGlzIHN0b3JlZCBhcyBURVhUIGRhdGEgdHlwZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIHZhcmNoYXIsIGJvb2xlYW4sIHRpbWVzdGFtcCwgZXRjLiBUaGlzIGlzIGEgcmVzdHJpY3Rpb24gb2YgYSBzaG9ydCBkZXZlbG9wbWVudCB0aW1lIGZyYW1lLjwvcD4nOwokbGFuZ1snaGVscF91c2FnZSddID0gJzxoMz5Vc2FnZTwvaDM+CQkJCgk8cD5Zb3UgY2FuIGNvbmZpZ3VyZSB7JG1vZHVsZV9uYW1lfSBoZXJlOiBDb250ZW50ID4geyRtb2R1bGVfbmFtZX08L3A+Cgk8cD5QbGFjZSB0aGlzIHRhZyBpbiB5b3VyIHBhZ2U6IHt7JG1vZHVsZV9uYW1lfX08L3A+JzsKJGxhbmdbJ2hlbHBfdXNhZ2Vfb3B0aW9ucyddID0gJ0FmdGVyIGluc3RhbGxpbmcgdGhlIG1vZHVsZSB0aGUgbmV4dCB0aGluZyB0byBkbyBpcyBzZXQgdGhlIG9wdGlvbnMuICAJCQkJCgk8b2w+CQkJCQkKCQk8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgaW4gdGhlIG1lbnUgY2hhbmdlIHRoZSAmcXVvdDtNb2R1bGUgRnJpZW5kbHkgTmFtZSZxdW90Oy48L2xpPgoJCTxsaT5UbyBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGl0ZW0gdGFiIGNoYW5nZSB0aGUgJnF1b3Q7SXRlbSBQbHVyYWwmcXVvdDsuPC9saT4KCTwvb2w+JzsKJGxhbmdbJ2hlbHBfdXNhZ2VfZmllbGRkZWZzJ10gPSAnTmV4dCAtIHNldCB0aGUgRmllbGQgRGVmaW5pdGlvbnMuIAoJPG9sPgoJCTxsaT5DaG9vc2UgZnJvbSAmcXVvdDtUZXh0IElucHV0JnF1b3Q7LCAmcXVvdDtDaGVja2JveCZxdW90OywgJnF1b3Q7VGV4dCBBcmVhJnF1b3Q7LCAmcXVvdDtTZWxlY3QgRGF0ZSZxdW90OywgJnF1b3Q7VXBsb2FkIEZpbGUmcXVvdDssICZxdW90O1NlbGVjdCBGaWxlJnF1b3Q7ICZhbXA7ICZxdW90O0Ryb3Bkb3duJnF1b3Q7LjwvbGk+CgkJPGxpPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBpbiB0aGUgJnF1b3Q7ZXh0cmEmcXVvdDsgZmllbGQuIFNlZSB0aGUgJnF1b3Q7RmllbGQgRGVmaW5pdGlvbnMmcXVvdDsgdGFiIGZvciBhIGxpc3QuPC9saT4KCQk8bGk+RWFjaCBpdGVtIGluIGVhY2ggbGlzdCBoYXMgdGhyZWUgZGVmYXVsdCBmaWVsZHMuIEFsbCBGaWVsZCBEZWZpbml0aW9ucyBzZXQgaGVyZSBhcmUgYWRkaXRpb25hbCB0byB0aGVtLjwvbGk+Cgk8L29sPic7CiRsYW5nWydoZWxwX3VzYWdlX2NhdGVnb3JpZXMnXSA9ICdUaGVyZSBpcyBhIHNpbmdsZSBjYXRlZ29yeSBieSBkZWZhdWx0IGNhbGxlZCAmcXVvdDtHZW5lcmFsJnF1b3Q7LiBUaGlzIGNhbiBiZSByZW5hbWVkIGFuZCBhZGRpdGlvbmFsIENhdGVnb3JpZXMgY2FuIGJlIGFkZGVkLic7CiRsYW5nWydoZWxwX3VzYWdlX2l0ZW1zJ10gPSAnTm93IHdlIG1vdmUgb24gdG8gdGhlIGl0ZW0gbGlzdCBpdHNlbGYuIEluIHRoaXMgZXhhbXBsZSBpdCBzYXlzICZxdW90O0FkZCBCb3gmcXVvdDssIHRoaXMgd2FzIHJlbmFtZWQgaW4gdGhlICZxdW90O09wdGlvbnMmcXVvdDsgdGFiLiAKCTxvbD4KCQk8bGk+VGhlIGZpcnN0IGZpZWxkIGlzIHRoZSBkZWZhdWx0ICZxdW90O1RpdGxlJnF1b3Q7IGZpZWxkLjwvbGk+CgkJPGxpPlRoZSAmcXVvdDtDYXRlZ29yeSZxdW90OyBkcm9wZG93biBpcyBhbHNvIGEgZGVmYXVsdCBmaWVsZCwgYW5kIGlmIHVuY2hhbmdlZCwgd2lsbCBiZSBzZXQgdG8gJnF1b3Q7R2VuZXJhbCZxdW90Oy48L2xpPgoJCTxsaT5UaGUgdGhpcmQgZGVmYXVsdCBmaWVsZCBpcyB0aGUgY2hlY2tib3ggY2FsbGVkICZxdW90O0FjdGl2ZSZxdW90Oy4gVGhpcyBhbGxvd3MgeW91IHRvIHRvZ2dsZSBhIGxpc3QgZW50cnkgd2l0aG91dCBkZWxldGluZyBpdC48L2xpPgoJPC9vbD4nOwokbGFuZ1snaGVscF9wZXJtaXNzaW9ucyddID0gJzxoMz5QZXJtaXNzaW9uczwvaDM+Cgk8cD5Zb3UgY2FuIHNwZWNpZnkgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9ucyB1bmRlciBVc2VycyAmYW1wOyBHcm91cHMgPiBHcm91cCBQZXJtaXNzaW9uczwvcD4KCTx1bD4KCQk8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBJdGVtczwvbGk+CgkJPGxpPnskbW9kdWxlX25hbWV9OiBNb2RpZnkgQ2F0ZWdvcmllczwvbGk+CgkJPGxpPnskbW9kdWxlX25hbWV9OiBNb2RpZnkgT3B0aW9uczwvbGk+Cgk8L3VsPgoJPHA+VG8gYWxsb3cgbm9uLWFkbWluIHVzZXJzIHRvIHVwbG9hZCBmaWxlcywgcGxlYXNlIGdvIHRvIEV4dGVuc2lvbnMgPiBHQkZpbGVQaWNrZXIgYW5kIHRpY2sgdGhhdCBmaXJzdCBjaGVja2JveCAmcXVvdDtTaG93IGZpbGVtYW5hZ2VtZW50IG9wdGlvbnMmcXVvdDsuPC9wPic7CiRsYW5nWydoZWxwX2ZpZWxkZGVmcyddID0gJzxoMz5GaWVsZCBEZWZpbml0aW9uczwvaDM+Cgk8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBjb25maWd1cmUgYXJlIHlvdXIgZmllbGQgZGVmaW5pdGlvbnMuIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gRmllbGQgZGVmaW5pdGlvbnMgY2FuIG9ubHkgYmUgZGVsZXRlZCB3aGVuIHRoZXkmIzAzOTtyZSBub3QgaW4gdXNlIGluIG9yZGVyIHRvIGF2b2lkIGRhdGEgbG9zcy48L3A+Cgk8cD5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gdGhlICZxdW90O2V4dHJhJnF1b3Q7IGZpZWxkLjwvcD4KCTx1bD4KCQk8bGk+CgkJCTxwPkluc3RydWN0aW9uOiAKCQkJPGNvZGU+c2l6ZVsyMF08L2NvZGU+PGJyIC8+CgkJCVBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPGJyIC8+CgkJCUFwcGxpY2FibGUgdG86IFRleHQgSW5wdXQsIFNlbGVjdCBEYXRlPC9wPiAgICAKCQk8L2xpPgoJCTxsaT4KCQkJPHA+SW5zdHJ1Y3Rpb246IAoJCQk8Y29kZT5tYXhfbGVuZ3RoWzIwXQoJCQk8L2NvZGU+PGJyIC8+CgkJCVBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPGJyIC8+CgkJCUFwcGxpY2FibGUgdG86IFRleHQgSW5wdXQsIFRleHQgQXJlYSwgU2VsZWN0IERhdGU8L3A+CgkJPC9saT4KCQk8bGk+CgkJCTxwPkluc3RydWN0aW9uOiAKCQkJPGNvZGU+d3lzaXd5Z1sxXQoJCQk8L2NvZGU+PGJyIC8+CgkJCVBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgoJCQlBcHBsaWNhYmxlIHRvOiBUZXh0IEFyZWE8L3A+CgkJPC9saT4KCQk8bGk+CgkJCTxwPkluc3RydWN0aW9uOiAKCQkJPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXQoJCQk8L2NvZGU+PGJyIC8+CgkJCVBvc3NpYmxlIHZhbHVlOiBrZXk9dmFsdWUsLi4uPGJyIC8+CgkJCUFwcGxpY2FibGUgdG86IERyb3Bkb3duPC9wPgoJCTwvbGk+CiAgICAgIDxsaT4KICAgICAgPHA+SW5zdHJ1Y3Rpb246IAogICAgICAgIDxjb2RlPmFsbG93W3BkZixnaWYscG5nLGpwZWcsanBnXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogZXh0ZW5zaW9uLC4uLiAoa2VlcCBsb3dlcmNhc2UpPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+ICAgIAogICAgICA8bGk+ICAgICAgICAKICAgICAgPHA+SW5zdHJ1Y3Rpb246IAogICAgICAgIDxjb2RlPmRpclsvcGF0aC90by9kaXJdCiAgICAgICAgPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEaXJlY3RvcnkgcGF0aCB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gCiAgICAgICAgPGNvZGU+JGNvbmZpZ1smIzAzOTt1cGxvYWRzX3VybCYjMDM5O10KICAgICAgICA8L2NvZGU+LiBObyBzbGFzaCBhdCB0aGUgZW5kLiA8Y29kZT57JGl0ZW1faWR9IGFuZCB7JGl0ZW1fYWxpYXN9PC9jb2RlPiB3aWxsIGJlIHJlcGxhY2VkLjxiciAvPgogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlLCBTZWxlY3QgRmlsZQogICAgICA8L3A+ICAgIAogICAgICA8L2xpPiAgICAKICAgICAgPGxpPiAgICAgICAgCiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5leGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX10KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IHByZWZpeCwuLi48YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUKICAgICAgPC9wPiAgICAKICAgICAgPC9saT4gICAgCiAgICAgIDxsaT4gICAgICAgIAogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+ZGF0ZWZvcm1hdFtkZC9tbS95eV0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IERhdGUgZm9ybWF0IHVzZWQgYnkgdGhlIGpRdWVyeSBkYXRlcGlja2VyLiBUcnkgZ29vZ2xpbmcgJiMwMzk7anF1ZXJ5IGZvcm1hdERhdGUmIzAzOTs8YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBTZWxlY3QgRGF0ZQogICAgICA8L3A+ICAgIAogICAgICA8L2xpPgoJICA8bGk+ICAgICAgICAKICAgICAgPHA+SW5zdHJ1Y3Rpb246IAogICAgICAgIDxjb2RlPmZpbGVicm93c2VyWzFdCiAgICAgICAgPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlPGJyIC8+CgkJPGI+Tm90ZTo8L2I+IFNldHMgR0JGaWxlUGlja2VyIHRvIGZpbGVicm93c2VyIG1vZGUgaW5zdGVhZCBvZiBkZWZhdWx0IGRyb3Bkb3duIG1vZGUKICAgICAgPC9wPiAgICAKICAgICAgPC9saT4KICAgICAgPGxpPgogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+aW1hZ2VbMV0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGU8YnIgLz4KICAgICAgICA8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gc2hvdyB0aHVtYm5haWwgaW1hZ2UgaW5zdGVhZCBvZiBpbnB1dCBmaWVsZC4KICAgICAgPC9wPiAgICAKICAgICAgPC9saT4KICAgICAgPGxpPgogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+Y3JlYXRlX2RpcnNbMV0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGU8YnIgLz4KICAgICAgICA8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgY3JlYXRpbmcgb2YgbmV3IGRpcmVjb3RpcmVzLgogICAgICA8L3A+ICAgIAogICAgICA8L2xpPiAKICAgICAgPGxpPgogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+ZGVsZXRlWzFdCiAgICAgICAgPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlPGJyIC8+CiAgICAgICAgPGI+Tm90ZTo8L2I+IFNldHMgR0JGaWxlUGlja2VyIHRvIGFsbG93IGRlbGV0aW5nIGZpbGVzLgogICAgICA8L3A+ICAgIAogICAgICA8L2xpPgogICAgICA8bGk+CiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5zaG93X3N1YmRpcnNbMV0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGU8YnIgLz4KICAgICAgICA8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgdmlld2luZyBvZiBzdWJkaXJlY3Rvcmllcy4KICAgICAgPC9wPiAgICAKICAgICAgPC9saT4gICAgICAgICAgICAgICAgICAgICAgIAogICAgPC91bD4KICAgIDxwPllvdSBjYW4gc3BlY2lmeSBtdWx0aXBsZSBpbnN0cnVjdGlvbnMgc2VwYXJhdGVkIGJ5IGEgc2VtaWNvbG9uICgKICAgICAgPGNvZGU+OwogICAgICA8L2NvZGU+KSwgZm9yIGV4YW1wbGU6CiAgICA8L3A+CiAgICA8cD4KICAgICAgPGNvZGU+YWxsb3dbcGRmXTtkaXJbL2RvY3MvcGRmXTwvY29kZT4KICAgIDwvcD4KICAgIAoJPGgzPkZpZWxkIERlZmluaXRpb25zIGJ5IHR5cGU8L2gzPgogICAgICAgIAogICAgPHVsPgogICAgICAgIDxsaT5UZXh0IElucHV0OiA8Y29kZT5zaXplWzIwXTttYXhfbGVuZ3RoWzIwXTwvY29kZT48L2xpPgogICAgICAgIDxsaT5DaGVja2JveDogPGNvZGU+LTwvY29kZT48L2xpPgogICAgICAgIDxsaT5UZXh0IEFyZWE6IDxjb2RlPm1heF9sZW5ndGhbMjBdO3d5c2l3eWdbMV08L2NvZGU+PC9saT4KICAgICAgICA8bGk+U2VsZWN0IERhdGU6IDxjb2RlPnNpemVbMjBdO21heF9sZW5ndGhbMjBdO2RhdGVmb3JtYXRbZGQvbW0veXldPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPlVwbG9hZCBGaWxlOiA8Y29kZT5hbGxvd1twZGYsZ2lmLGpwZWcsanBnXTtkaXJbL3BhdGgvdG8vZGlyXTtleGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX107ZmlsZWJyb3dzZXJbMV07aW1hZ2VbMV07PC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPlNlbGVjdCBGaWxlOiA8Y29kZT5hbGxvd1twZGYsZ2lmLGpwZWcsanBnXTtkaXJbL3BhdGgvdG8vZGlyXTtleGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX108L2NvZGU+PC9saT4KICAgICAgICA8bGk+RHJvcGRvd246IDxjb2RlPm9wdGlvbnNbYXBwbGU9QXBwbGUsYmFuYW5hPUJhbmFuYV08L2NvZGU+PC9saT4KICAgICAgICA8bGk+Q29udGVudCBQYWdlczogPGNvZGU+LTwvY29kZT48L2xpPgogICAgICAgIDxsaT5GaWVsZHNldCBTdGFydDogPGNvZGU+LTwvY29kZT48L2xpPgogICAgICAgIDxsaT5GaWVsZHNldCBFbmQ6IDxjb2RlPi08L2NvZGU+PC9saT4KICAgIDwvdWw+JzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcmllcyddID0gJzxoMz5DYXRlZ29yaWVzPC9oMz4KCTxwPk11bHRpIGxldmVsIGNhdGVnb3JpZXMgYXJlIHN1cHBvcnRlZC48L3A+JzsKJGxhbmdbJ2hlbHBfdGVtcGxhdGVzJ10gPSAnPGgzPlRlbXBsYXRlczwvaDM+Cgk8cD5JZiB5b3UgYXJlIG5vdCBzdXJlIHdoYXQgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgdG8gdXNlIGluIHlvdXIgdGVtcGxhdGVzLCB0cnkgdGhlIGRlYnVnIHRlbXBsYXRlOjwvcD4KCTxwPnt7JG1vZHVsZV9uYW1lfSBzdW1tYXJ5dGVtcGxhdGU9JiMwMzk7ZGVidWcmIzAzOTt9PC9wPgoJPHA+WW91IGNhbiBhY2Nlc3MgYW55IGZpZWxkIGRpcmVjdGx5IHdoZW4gbG9vcGluZyB0aHJvdWdoIGl0ZW1zIHVzaW5nIGl0cyBhbGlhcywgZm9yIGV4YW1wbGUsIHRvIGlmIHlvdSBjcmVhdGVkIGEgZmllbGQgZGVmaW5pdGlvbiB3aXRoIGFuIGFsaWFzICZxdW90O3Bvc2l0aW9uJnF1b3Q7LCB5b3UgY2FuIGRvOjwvcD4nOwokbGFuZ1snaGVscF90ZW1wbGF0ZXNfY2F0ZWdvcmllcyddID0gJzxwPkJlc2lkZXMsIHlvdSBjYW4gbG9vcCB0aHJvdWdoIGNhdGVnb3JpZXMgaW4gdGhlIHN1bW1hcnkgdGVtcGxhdGUganVzdCBhcyB3ZWxsIGFzIGxvb3BpbmcgdGhyb3VnaCBpdGVtczo8L3A+JzsKJGxhbmdbJ2hlbHBfZHVwbGljYXRpbmcnXSA9ICc8aDM+RHVwbGljYXRpbmcgdGhpcyBtb2R1bGU8L2gzPgoJPHA+VGhpcyBtb2R1bGUgd2FzIG1hZGUgdG8gYmUgZWFzaWx5IGR1cGxpY2F0ZWQuIFRvIGR1cGxpY2F0ZSB0aGlzIG1vZHVsZSwgZm9sbG93IHRoZXNlIHN0ZXBzIEJFRk9SRSBpbnN0YWxsaW5nIHRoZSBtb2R1bGU6PC9wPgoJPG9sPiAgICAKCQk8bGk+UmVuYW1lIHRoZSBkaXJlY3RvcnkgJnF1b3Q7PGI+TGlzdEl0PC9iPiZxdW90OzwvbGk+ICAgIAoJCTxsaT5SZW5hbWUgJnF1b3Q7Y2xhc3MgPGI+TGlzdEl0PC9iPiBleHRlbmRzIENNU01vZHVsZSZxdW90OyBpbnNpZGUgTGlzdEl0Lm1vZHVsZS5waHA8L2xpPiAgICAKCQk8bGk+UmVuYW1lICZxdW90OzxiPkxpc3RJdDwvYj4ubW9kdWxlLnBocCZxdW90OzwvbGk+Cgk8L29sPgoJPHA+TWFrZSBzdXJlIHlvdSBmb2xsb3cgdGhlIENNU01TIG1vZHVsZSBuYW1pbmcgY29udmVudGlvbnMsIGEteiB3aXRoIG5vIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgb3Igc3BhY2VzIHRvIGJlIHNhZmUgOik8L3A+Cgk8cD5Zb3UgY2FuIGFsd2F5cyBjaGFuZ2UgdGhlIG1vZHVsZSBmcmllbmRseSBuYW1lIG9uY2UgaW5zdGFsbGVkIHVuZGVyICZxdW90O09wdGlvbnMmcXVvdDsgKENvbnRlbnQgPiB7JG1vZHVsZV9uYW1lfSkuIFRvIGNoYW5nZSB0aGUgaWNvbiwgcmVwbGFjZSAvbW9kdWxlcy97JG1vZHVsZV9uYW1lfS9pbWFnZXMvaWNvbi5naWYuPC9wPic7CiRsYW5nWydoZWxwX2Fib3V0J10gPSAnPGgzPkFib3V0PC9oMz4KCTxwPk9yaWdpbiBvZiB0aGlzIG1vZHVsZSBjb21lcyBmcm9tIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbGlzdGl0IiB0YXJnZXQ9Il9ibGFuayI+TGlzdEl0IE1vZHVsZTwvYT4gZGV2ZWxvcGVkIGJ5IEJlbiBNYWxlbi48YnIgLz5BcyB0aGVyZSB3ZXJlIG5vIHBsYW5zIG9uIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YgdGhlIG1vZHVsZSBzb21lIHBlb3BsZSBkZWNpZGVkIHRvIGZvcmsgdGhlIG1vZHVsZSBhbmQgY29udGludWUgd2l0aCBkZXZlbG9wbWVudC48YnIgLz4KCUlmIHlvdSBmaW5kIGFueSBidWdzIHBsZWFzZSBmZWVsIGZyZWUgdG8gc3VibWl0IGEgYnVnIHJlcG9ydCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2J1Zy9saXN0LzEwMTUiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPiBvciBmb3IgYW55IGdvb2QgaWRlYXMgY29uc2lkZXIgc3VibWl0aW5nIGEgZmVhdHVyZSByZXF1ZXN0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvZmVhdHVyZV9yZXF1ZXN0L2xpc3QvMTAxNSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+LiA8YnIgLz4KCVBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LgoJPC9wPgoJPGgzPlRlYW08L2gzPgoJPHVsPgoJCTxsaT5Kb25hdGhhbiBTY2htaWQgKEZvYWx5KikgaGlAam9uYXRoYW5zY2htaWQuZGUgPGJyIC8+d3d3LmpvbmF0aGFuc2NobWlkLmRlPC9saT4KCQk8bGk+R29yYW4gSWxpYyAodW5pcXUzKSBnLmlsaWNAaS1hcnRzLmV1IDxiciAvPnd3dy5pY2gtbWFjaC1kYXMuYXQ8L2xpPgoJCTxsaT5Sb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApIGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcgIDxiciAvPnd3dy5jYWxndXkxMDAwLmNvbTwvbGk+CgkJPGxpPkx1a2FzIEJsYXR0ZXIgKG5vY2tlbmZlbGwpIG5vY2tlbmZlbGxAZ21haWwuY29tIDxiciAvPnd3dy5ibGF0dGVydGVjaC5jaDwvbGk+CgkJPGxpPkFybm91ZCAoYXJub3VkKSBhcm5vdWRAdXBzZXJ2aWNlLm5sIDxiciAvPnd3dy51cHNlcnZpY2Uubmw8L2xpPgoJCTxsaT5XYXluZSBPTmVpbCAod2lzaGJvbmUpIHdheW5lQHRlYW13aXNoYm9uZS5jb20gPGJyIC8+d3d3LnRlYW13aXNoYm9uZS5jb208L2xpPgoJCTxsaT5UYXBpbyBMJm91bWw7eXR5eSAoU3Rpa2tpKSB0YXBzYUBibGFja21pbGsuZmk8L2xpPgoJPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICcJT3ZlcnJpZGUgdGhlIGRlZmF1bHQgYWN0aW9uLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgoJPHVsPgoJCTxsaT4mcXVvdDtkZWZhdWx0JnF1b3Q7IC0gZGlzcGxheXMgdGhlIHN1bW1hcnkgdmlldy48L2xpPgoJCTxsaT4mcXVvdDtkZXRhaWwmcXVvdDsgLSBkaXNwbGF5cyBhIHNwZWNpZmllZCBlbnRyeSBpbiBkZXRhaWwgbW9kZS48L2xpPgoJCTxsaT4mcXVvdDtzZWFyY2gmcXVvdDsgLSBkaXNwbGF5cyB0aGUgc2VhcmNoIGZvcm0uPC9saT4KCQk8bGk+JnF1b3Q7ZmlsdGVyJnF1b3Q7IC0gZGlzcGxheXMgdGhlIGZpbHRlciBmb3JtLiBQYXJhbWV0ZXIgPGVtPmZpbHRlcjwvZW0+IGlzIHJlcXVpcmVkLjwvbGk+Cgk8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3Nob3dhbGwnXSA9ICdTaG93IGFsbCBpdGVtcywgaXJyZXNwZWN0aXZlIG9mIGVuZCBkYXRlLic7CiRsYW5nWydoZWxwX3BhcmFtX2NhdGVnb3J5J10gPSAnU3BlY2lmeSBhbiBhbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgYWxpYXNlcyBvZiB0aGUgY2F0ZWdvcnkvY2F0ZWdvcmllcyBkaXNwbGF5ZWQgaXRlbXMgbXVzdCBiZSBhIG1lbWJlciBvZi4nOwokbGFuZ1snaGVscF9wYXJhbV9leGNsdWRlX2NhdGVnb3J5J10gPSAnU3BlY2lmeSBhbiBhbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgYWxpYXNlcyBvZiB0aGUgY2F0ZWdvcnkvY2F0ZWdvcmllcyBkaXNwbGF5ZWQgaXRlbXMgbXVzbiYjMDM5O3QgYmUgYSBtZW1iZXIgb2YuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3ViY2F0ZWdvcnknXSA9ICdJZiBwYXJhbWV0ZXIgJiMwMzk7Y2F0ZWdvcnkmIzAzOTsgaXMgc3BlY2lmaWVkLCB0aGlzIHBhcmFtZXRlciBzZXQgdG8gPGVtPnRydWU8L2VtPiB3aWxsIG1ha2UgYWxsb3dhbmNlIGZvciBzdWJjYXRlZ29yaWVzJiMwMzk7IGl0ZW1zLiBJdCBpcyBzZXQgdG8gZmFsc2UgYnkgZGVmYXVsdC4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoZSBkZXRhaWwgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoZSBzdW1tYXJ5IHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2h0ZW1wbGF0ZSddID0gJ1RoZSBzZWFyY2ggdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlLic7CiRsYW5nWydoZWxwX3BhcmFtX29yZGVyYnknXSA9ICdZb3UgY2FuIG9yZGVyIGJ5IGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IGl0ZW1faWQsIGl0ZW1fdGl0bGUsIGl0ZW1fcG9zaXRpb24sIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBjYXRlZ29yeV9wb3NpdGlvbiwgY2F0ZWdvcnlfaGllcmFyY2h5LjxiciAvPgoJPHVsPgoJCTxsaT5Gb3IgZXhhbXBsZTo8YnIgLz4KCQlvcmRlcmJ5PSYjMDM5O2NhdGVnb3J5X25hbWUsIGl0ZW1fdGl0bGUmIzAzOTs8L2xpPgoJCTxsaT5Zb3UgY2FuIGFsc28gc3BlY2lmeSBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZyBmb3IgYW55IGNvbHVtbiwgZm9yIGV4YW1wbGU6PGJyIC8+CgkJb3JkZXJieT0mIzAzOTtjYXRlZ29yeV9uYW1lfGFzYywgaXRlbV90aXRsZXxkZXNjJiMwMzk7PC9saT4KCTwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGlzcGxheSAocGVyIHBhZ2UpLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHN1cHBsaWVkIGFsbCBtYXRjaGluZyBpdGVtcyB3aWxsIGJlIGRpc3BsYXllZC4gIElmIGl0IGlzLCBhbmQgdGhlcmUgYXJlIG1vcmUgaXRlbXMgYXZhaWxhYmxlIHRoYW4gc3BlY2lmaWVkIGluIHRoZSBwYXJhbWV0ZXIsIHRleHQgYW5kIGxpbmtzIHdpbGwgYmUgc3VwcGxpZWQgdG8gYWxsb3cgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIHJlc3VsdHMnOwokbGFuZ1snaGVscF9wYXJhbV9zdGFydCddID0gJ1N0YXJ0IGF0IHRoZSBudGggaXRlbSAtLSBsZWF2aW5nIGVtcHR5IHdpbGwgc3RhcnQgYXQgdGhlIGZpcnN0IGl0ZW0uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fbnVtYmVyJ10gPSAnTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGlzcGxheSAocGVyIHBhZ2UpIC0tIGxlYXZpbmcgZW1wdHkgd2lsbCBzaG93IGFsbCBpdGVtcy4gVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSBwYWdlbGltaXQgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdQYWdlIHRvIGRpc3BsYXkgaXRlbSBkZXRhaWxzIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy4gVXNlZCB0byBhbGxvdyBkZXRhaWxzIHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gc3VtbWFyeS4nOwokbGFuZ1snaGVscF9wYXJhbV9pdGVtJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBhcHBsaWNhYmxlIHRvIHRoZSBkZXRhaWwgdmlldy4gSXQgYWxsb3dzIHNwZWNpZnlpbmcgd2hpY2ggaXRlbSB0byBkaXNwbGF5IGluIGRldGFpbCBtb2RlLiBNdXN0IGJlIGFuIGl0ZW0gYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoJ10gPSAnU2VhcmNoIGFsbCBmaWVsZHMuIFVzZXMgZnVsbHRleHQgc2VhcmNoLic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaF8nXSA9ICdTZWFyY2ggYSBwYXJ0aWN1bGFyIGZpZWxkLiBZb3UgY2FuIHVzZSAmIzAzOTt0aXRsZSYjMDM5OyBvciB0aGUgYWxpYXMgb2YgYSBmaWVsZCBkZWZpbml0aW9uLCBlLmcuIHNlYXJjaF90aXRsZS4gV2lsbCBiZSBpZ25vcmVkIHdoZW4gcGFyYW1ldGVyICYjMDM5O3NlYXJjaCYjMDM5OyBpcyBzZXQsIGJ1dCBtdWx0aXBsZSBzZWFyY2hfKiBwYXJhbXMgY2FuIGJlIGNvbWJpbmVkLic7CiRsYW5nWydoZWxwX3BhcmFtX2ZpbHRlciddID0gJ1JlcXVpcmVkIGZvciBhY3Rpb24gPGVtPmZpbHRlcjwvZW0+LiBTcGVjaWZ5IHRoZSBmaWVsZHMgd2hvc2UgdmFsdWVzIHNob3VsZCBiZSBvZmZlcmVkIGFzIGZpbHRlciBvcHRpb25zIGJ5IGxpc3RpbmcgdGhlIGZpZWxkJiMwMzk7cyBhbGlhc2VzIGNvbW1hIHNlcGFyYXRlZC4nOwokbGFuZ1snaGVscF9wYXJhbV9yZXR1cm5wYWdlJ10gPSAnVXNlZCBmb3IgZmlsdGVyIG9yIHNlYXJjaCBtb2RlIG9ubHkuIFBhZ2UgdG8gZGlzcGxheSBzZWFyY2ggcmVzdWx0cyByZXNwZWN0aXZseSBmaWx0ZXJlZCBpdGVtcyBpbi4gTXVzdCBiZSBhIHBhZ2UgYWxpYXMuIFVzZWQgdG8gYWxsb3cgc3VtbWFyeSB0byBiZSBkaXNwbGF5ZWQgaW4gYSBkaWZmZXJlbnQgcGFnZSB0aGFuIGZpbHRlciAvIHNlYXJjaCBtYXNrLic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjU0MzYxOTA3LjEzNDM4ODI4MjcuMTM0Mzg4MjgyNy4xMzQzODgyODI3LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNDM4ODI4MjcuMS4xLnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9KG5vdCBwcm92aWRlZCknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEzNDM4ODI4MjcnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2l0ZW0nXSA9ICdBcnRpY2xlJzsKJGxhbmdbJ2l0ZW1zJ10gPSAnQXJ0aWNsZXMnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdEJmVhY3V0ZTtmaW5pdGlvbiBkZSBjaGFtcCc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEJmVhY3V0ZTtmaW5pdGlvbiBkZSBjaGFtcHMnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdHYWJhcml0JzsKJGxhbmdbJ3RlbXBsYXRlcyddID0gJ0dhYmFyaXRzJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0JmVhY3V0ZTtnb3JpZSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snb3B0aW9uJ10gPSAnT3B0aW9uJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ2JhY2snXSA9ICdQYWdlIHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50ZSc7CiRsYW5nWydpdGVtX3RpdGxlJ10gPSAnVGl0cmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGUnXSA9ICdUaXJlIGRlIGwmIzAzOTthcnRpY2xlJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGlmJzsKJGxhbmdbJ3RpbWVfY29udHJvbCddID0gJ1V0aWxpc2VyIGxhIGRhdGUgZCYjMDM5O2V4cGlyYXRpb24nOwokbGFuZ1snc3RhcnRfdGltZSddID0gJ0RhdGUgZGUgZCZlYWN1dGU7YnV0JzsKJGxhbmdbJ2VuZF90aW1lJ10gPSAnRGF0ZSBkZSBmaW4nOwokbGFuZ1snaXRlbV90aXRsZV9lbXB0eSddID0gJ0xlIHRpdHJlIGRlIGwmIzAzOTthcnRpY2xlIGVzdCB2aWRlJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnQ2hhbXAgb2JsaWdhdG9pcmUgdmlkZSc7CiRsYW5nWyd0b29fbG9uZyddID0gJ0xhIHZhbGV1ciBkdSBjaGFtcCBkJmVhY3V0ZTtwYXNzZSBsYSBsb25ndWV1ciBtYXhpbWFsZSc7CiRsYW5nWydhcHByb3ZlJ10gPSAnUGFzc2VyIGwmIzAzOTsmZWFjdXRlO3RhdCAmYWdyYXZlOyAmIzAzOTtBY3RpZiYjMDM5Oyc7CiRsYW5nWydyZXZlcnQnXSA9ICdQYXNzZXIgbCYjMDM5OyZlYWN1dGU7dGF0ICZhZ3JhdmU7ICYjMDM5O0luYWN0aWYmIzAzOTsnOwokbGFuZ1snc3VibWl0X29yZGVyJ10gPSAnU2F1dmVnYXJkZXIgbCYjMDM5O29yZHJlJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ1N1cHByaW1lciBsYSBzJmVhY3V0ZTtsZWN0aW9uICVzJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGwmIzAzOTtlbnNlbWJsZSBkZSBjZXMgJXM/JzsKJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdUb3V0IHNlbGVjdGlvbm5lcic7CiRsYW5nWydlcnJvcl9zdGFydGdyZWF0ZXJlbmQnXSA9ICdMYSBkYXRlIGRlIGQmZWFjdXRlO3BhcnQgZXN0IHN1cCZlYWN1dGU7cmlldXJlICZhZ3JhdmU7IGxhIGRhdGUgZGUgZmluJzsKJGxhbmdbJ2l0ZW1fYWxpYXNfZXhpc3RzJ10gPSAnTCYjMDM5O2FsaWFzIGRlIGwmIzAzOTthcnRpY2xlIGV4aXN0ZSBkJmVhY3V0ZTtqJmFncmF2ZTsuIElsIGRvaXQgJmVjaXJjO3RyZSB1bmlxdWUuJzsKJGxhbmdbJ3JldHVybl91cmwnXSA9ICdSZXRvdXInOwokbGFuZ1sncGF0aGNvbnRhaW5zdmFycyddID0gJ0NlIGNoYW1wIHBldXQgJmVjaXJjO3RyZSAmZWFjdXRlO2RpdCZlYWN1dGU7IGFwciZlZ3JhdmU7cyBsYSBwcmVtaSZlZ3JhdmU7cmUgc2F1dmVnYXJkZSBkZSBjZSAlcyc7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdNb2RpZmllciBsYSBkJmVhY3V0ZTtmaW5pdGlvbiBkdSBjaGFtcCc7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ2ZpZWxkZGVmX2hlbHAnXSA9ICdDb25zZWlsJzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkZGVmX21heF9sZW5ndGgnXSA9ICdMb25ndWV1ciBtYXhpbXVtJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnT2JsaWdhdG9pcmUnOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnQ2hhbXAgdGV4dGUnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDYXNlICZhZ3JhdmU7IGNvY2hlcic7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1pvbmUgZGUgdGV4dGUnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3Rpb25uZXIgdW5lIGRhdGUnOwokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdEJmVhY3V0ZTtwb3NlciB1biBmaWNoaWVyJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTGlzdGUgZCZlYWN1dGU7cm91bGFudGUnOwokbGFuZ1snc2VsZWN0X2ZpbGUnXSA9ICdTZWxlY3Rpb25uZXIgdW4gZmljaGllcic7CiRsYW5nWydmaWVsZHNldF9zdGFydCddID0gJ0QmZWFjdXRlO2J1dCBkdSBGaWVsZHNldCc7CiRsYW5nWydmaWVsZHNldF9lbmQnXSA9ICdGaW4gZHUgRmllbGRzZXQnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ0xlIG5vbSBkZSBsYSBkJmVhY3V0ZTtmaW5pdGlvbiBkdSBjaGFtcCBlc3QgdmlkZSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ0xlIG5vbSBkZSBsYSBkJmVhY3V0ZTtmaW5pdGlvbiBkdSBjaGFtcCBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7JzsKJGxhbmdbJ2ZpZWxkZGVmX2FsaWFzX2V4aXN0cyddID0gJ0wmIzAzOTthbGlhcyBkZSBsYSBkJmVhY3V0ZTtmaW5pdGlvbiBkdSBjaGFtcCBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7LiBsJiMwMzk7YWxpYXMgZG9pdCAmZWNpcmM7dHJlIHVuaXF1ZS4nOwokbGFuZ1snaW52YWxpZCddID0gJ0xhIHZhbGV1ciBkdSBjaGFtcCBlc3QgaW52YWxpZGUnOwokbGFuZ1snc3RhdHVzX3JlcXVpcmVkJ10gPSAnUGFzc2VyIGxlIHN0YXR1dCAmYWdyYXZlOyAmIzAzOTtvYmxpZ2F0b2lyZSYjMDM5Oyc7CiRsYW5nWydzdGF0dXNfb3B0aW9uYWwnXSA9ICdQYXNzZXIgbGUgc3RhdHV0ICZhZ3JhdmU7ICYjMDM5O29wdGlvbm5lbCYjMDM5Oyc7CiRsYW5nWydyZW9yZGVyX2NhdGVnb3JpZXMnXSA9ICdSJmVhY3V0ZTtvcmRvbm5lciBsZXMgY2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ01vZGlmaWVyIGxhIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ05vbSBkZSBjYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ2NhdGVnb3J5X2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24gZGUgY2F0JmVhY3V0ZTtnb3JpZSc7CiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAnTGUgbm9tIGRlIGxhIGNhdCZlYWN1dGU7Z29yaWUgZXN0IHZpZGUnOwokbGFuZ1snY2F0ZWdvcnlfYWxpYXNfZXhpc3RzJ10gPSAnTCYjMDM5O2FsaWFzIGRlIGxhIGNhdCZlYWN1dGU7Z29yaWUgZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOy4gbCYjMDM5O2FsaWFzIGRvaXQgJmVjaXJjO3RyZSB1bmlxdWUuJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZGUgc29tbWFpcmUnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIHNvbW1haXJlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSBkZXRhaWwnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgZGV0YWlsJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSByZWNoZXJjaGUnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgcmVjaGVyY2hlJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSBmaWx0cmUnOwokbGFuZ1snZmlsdGVydGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgZmlsdHJlJzsKJGxhbmdbJ2VkaXR0ZW1wbGF0ZSddID0gJ01vZGlmaWVyIGxlIGdhYmFyaXQnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ05vbSBkdSBnYWJhcml0JzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVfZW1wdHknXSA9ICdMZSBub20gZHUgZ2FiYXJpdCBlc3QgdmlkZSc7CiRsYW5nWydtb2R1bGVfb3B0aW9ucyddID0gJ09wdGlvbnMgZHUgbW9kdWxlJzsKJGxhbmdbJ3VybF9vcHRpb25zJ10gPSAnT3B0aW9ucyBkJiMwMzk7VVJMJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdOb20gY291cmFudCBkdSBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdBcnRpY2xlIGF1IHNpbmd1bGllcic7CiRsYW5nWydwcm9tcHRfaXRlbV9wbHVyYWwnXSA9ICdBcnRpY2xlIGF1IHBsdXJpZWwnOwokbGFuZ1sncHJvbXB0X3VybF9wcmVmaXgnXSA9ICdQcmVmaXggZCYjMDM5O1VSTCc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdBZmZpY2hlciBsZXMgZCZlYWN1dGU7dGFpbCAmIzAzOTtpbmxpbmUmIzAzOTsnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY29scyddID0gJ1Nob3cgdGhpcyBmaWVsZHMgaW4gaXRlbSBvdmVydmlldyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHNhdmVkLic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8nOwokbGFuZ1sndXAnXSA9ICdVcCc7CiRsYW5nWydkb3duJ10gPSAnRG93bic7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snbm9zdWNoaWQnXSA9ICdObyBzdWNoIElEJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdUaGUgaXRlbShzKSBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQuJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCAlcyc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsKJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBpcyBpbnZhbGlkLiBJdCBtdXN0IGJlIGEgdmFsaWQgUEhQIHZhcmlhYmxlIG5hbWUnOwokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsKJGxhbmdbJ3NlYXJjaGZvciddID0gJ1NlYXJjaCBmb3InOwokbGFuZ1snc2VhcmNocmVzdWx0c2ZvciddID0gJ1NlYXJjaCByZXN1bHRzIGZvcic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpbHRlcnByb21wdCddID0gJ0ZpbHRlciAlcyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWlzc2luZyddID0gJ1BhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gaXMgcmVxdWlyZWQgaW4gZmlsdGVyIG1vZGUuJzsKJGxhbmdbJ2FsbCddID0gJ0FsbCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0xpc3RJdCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICcgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiB1bmluc3RhbGxlZCc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8cD5WZXJzaW9uIDEuMTwvcD48dWw+PGxpPk11bGl0bGV2ZWwgQ2F0ZWdvcmllczwvbGk+PGxpPlN1bW1hcnkgUGFnaW5hdGlvbjwvbGk+PGxpPk11bHRpcGxlIENhdGVnb3JpZXMgZm9yIHBhcmFtZXRlciBjYXRlZ29yeTwvbGk+PGxpPkNNU01TIDEuMTAgcmVhZHk8L2xpPjxsaT5CYWNrZW5kIHRhYmxlIHNlYXJjaDwvbGk+PGxpPkV4Y2x1ZGUgQ2F0ZWdvcnkgcGFyYW1ldGVyPC9saT48L3VsPic7CiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbCc7CiRsYW5nWyd1c2FnZSddID0gJ1VzYWdlJzsKJGxhbmdbJ3Blcm1pc3Npb25zJ10gPSAnUGVybWlzc2lvbnMnOwokbGFuZ1snZHVwbGljYXRpbmcnXSA9ICdEdXBsaWNhdGluZyB0aGlzIG1vZHVsZSc7CiRsYW5nWydhYm91dCddID0gJ0Fib3V0JzsKJGxhbmdbJ2hlbHBfZ2VuZXJhbCddID0gJzxoMz5HZW5lcmFsIEluZm88L2gzPgkJCgk8cD5TaW1wbHkgcHV0LCBMaXN0SXQgYWxsb3dzIHlvdSB0byBjcmVhdGUgbGlzdHMgdGhhdCB5b3UgY2FuIGRpc3BsYXkgdGhyb3VnaG91dCB5b3VyIHdlYnNpdGUuIFlvdSBjb3VsZCBtYWtlIGEgc2ltcGxlIEZBUSBvciBUZXN0aW1vbmlhbHMgZmVhdHVyZSB3aXRoIHRoaXMgbW9kdWxlLiBUaGUgd2ViIGRldmVsb3BlciBkZWZpbmVzIGZpZWxkcyB0byBjb25zdHJhaW4gd2hhdCBkYXRhIHRoZSBjbGllbnQgY2FuIGVudGVyLiBBIG51bWJlciBvZiBmaWVsZCB0eXBlcyBjYW4gYmUgc3BlY2lmaWVkIC0gdGV4dCBpbnB1dCwgY2hlY2tib3gsIHRleHQgYXJlYSwgc2VsZWN0IGRhdGUsIHVwbG9hZCBmaWxlLCBzZWxlY3QgZmlsZSwgZHJvcGRvd24gLSBhbmQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgY2FuIGJlIHNldCBmb3IgZWFjaCB0eXBlLCBmb3IgZXhhbXBsZSwgaW5wdXQgZmllbGQgc2l6ZSwgbWF4IGxlbmd0aCwgV1lTSVdZRyBlZGl0b3IsIHBvc3NpYmxlIGRyb3AgZG93biB2YWx1ZXMsIHBvc3NpYmxlIGZpbGUgZXh0ZW5zaW9ucywgZGlyZWN0b3J5IHBhdGhzIGZvciBmaWxlIHNlbGVjdGlvbnMsIGRhdGUgZm9ybWF0cywgZXRjLi48L3A+Cgk8cD5BbiBpbXBvcnRhbnQgbm90ZSBvZiB3YXJuaW5nIC0gVGhpcyBpcyBub3QgYSBjb250ZW50IGNvbnN0cnVjdGlvbiBraXQsIHN1Y2ggYXMgaW4gRHJ1cGFsLiBJdCBpcyBtZWFudCBmb3Igc21hbGwgbGlzdGluZ3MsIG5vdCB0byBzdG9yZSB0aG91c2FuZHMgb2YgcmVjb3Jkcy4gVGhpcyBpcyBiZWNhdXNlIG9mIHRoZSBkYXRhYmFzZSBtb2RlbCB1c2VkIChFQVYpLiBBbHNvLCBlYWNoIGJpdCBvZiBkYXRhIHlvdSBlbnRlciBpcyBzdG9yZWQgYXMgVEVYVCBkYXRhIHR5cGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyB2YXJjaGFyLCBib29sZWFuLCB0aW1lc3RhbXAsIGV0Yy4gVGhpcyBpcyBhIHJlc3RyaWN0aW9uIG9mIGEgc2hvcnQgZGV2ZWxvcG1lbnQgdGltZSBmcmFtZS48L3A+JzsKJGxhbmdbJ2hlbHBfdXNhZ2UnXSA9ICc8aDM+VXNhZ2U8L2gzPgkJCQoJPHA+WW91IGNhbiBjb25maWd1cmUgeyRtb2R1bGVfbmFtZX0gaGVyZTogQ29udGVudCA+IHskbW9kdWxlX25hbWV9PC9wPgoJPHA+UGxhY2UgdGhpcyB0YWcgaW4geW91ciBwYWdlOiB7eyRtb2R1bGVfbmFtZX19PC9wPic7CiRsYW5nWydoZWxwX3VzYWdlX29wdGlvbnMnXSA9ICdBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgCQkJCQoJPG9sPgkJCQkJCgkJPGxpPlRvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGluIHRoZSBtZW51IGNoYW5nZSB0aGUgJnF1b3Q7TW9kdWxlIEZyaWVuZGx5IE5hbWUmcXVvdDsuPC9saT4KCQk8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBpdGVtIHRhYiBjaGFuZ2UgdGhlICZxdW90O0l0ZW0gUGx1cmFsJnF1b3Q7LjwvbGk+Cgk8L29sPic7CiRsYW5nWydoZWxwX3VzYWdlX2ZpZWxkZGVmcyddID0gJ05leHQgLSBzZXQgdGhlIEZpZWxkIERlZmluaXRpb25zLiAKCTxvbD4KCQk8bGk+Q2hvb3NlIGZyb20gJnF1b3Q7VGV4dCBJbnB1dCZxdW90OywgJnF1b3Q7Q2hlY2tib3gmcXVvdDssICZxdW90O1RleHQgQXJlYSZxdW90OywgJnF1b3Q7U2VsZWN0IERhdGUmcXVvdDssICZxdW90O1VwbG9hZCBGaWxlJnF1b3Q7LCAmcXVvdDtTZWxlY3QgRmlsZSZxdW90OyAmYW1wOyAmcXVvdDtEcm9wZG93biZxdW90Oy48L2xpPgoJCTxsaT5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gdGhlICZxdW90O2V4dHJhJnF1b3Q7IGZpZWxkLiBTZWUgdGhlICZxdW90O0ZpZWxkIERlZmluaXRpb25zJnF1b3Q7IHRhYiBmb3IgYSBsaXN0LjwvbGk+CgkJPGxpPkVhY2ggaXRlbSBpbiBlYWNoIGxpc3QgaGFzIHRocmVlIGRlZmF1bHQgZmllbGRzLiBBbGwgRmllbGQgRGVmaW5pdGlvbnMgc2V0IGhlcmUgYXJlIGFkZGl0aW9uYWwgdG8gdGhlbS48L2xpPgoJPC9vbD4nOwokbGFuZ1snaGVscF91c2FnZV9jYXRlZ29yaWVzJ10gPSAnVGhlcmUgaXMgYSBzaW5nbGUgY2F0ZWdvcnkgYnkgZGVmYXVsdCBjYWxsZWQgJnF1b3Q7R2VuZXJhbCZxdW90Oy4gVGhpcyBjYW4gYmUgcmVuYW1lZCBhbmQgYWRkaXRpb25hbCBDYXRlZ29yaWVzIGNhbiBiZSBhZGRlZC4nOwokbGFuZ1snaGVscF91c2FnZV9pdGVtcyddID0gJ05vdyB3ZSBtb3ZlIG9uIHRvIHRoZSBpdGVtIGxpc3QgaXRzZWxmLiBJbiB0aGlzIGV4YW1wbGUgaXQgc2F5cyAmcXVvdDtBZGQgQm94JnF1b3Q7LCB0aGlzIHdhcyByZW5hbWVkIGluIHRoZSAmcXVvdDtPcHRpb25zJnF1b3Q7IHRhYi4gCgk8b2w+CgkJPGxpPlRoZSBmaXJzdCBmaWVsZCBpcyB0aGUgZGVmYXVsdCAmcXVvdDtUaXRsZSZxdW90OyBmaWVsZC48L2xpPgoJCTxsaT5UaGUgJnF1b3Q7Q2F0ZWdvcnkmcXVvdDsgZHJvcGRvd24gaXMgYWxzbyBhIGRlZmF1bHQgZmllbGQsIGFuZCBpZiB1bmNoYW5nZWQsIHdpbGwgYmUgc2V0IHRvICZxdW90O0dlbmVyYWwmcXVvdDsuPC9saT4KCQk8bGk+VGhlIHRoaXJkIGRlZmF1bHQgZmllbGQgaXMgdGhlIGNoZWNrYm94IGNhbGxlZCAmcXVvdDtBY3RpdmUmcXVvdDsuIFRoaXMgYWxsb3dzIHlvdSB0byB0b2dnbGUgYSBsaXN0IGVudHJ5IHdpdGhvdXQgZGVsZXRpbmcgaXQuPC9saT4KCTwvb2w+JzsKJGxhbmdbJ2hlbHBfcGVybWlzc2lvbnMnXSA9ICc8aDM+UGVybWlzc2lvbnM8L2gzPgoJPHA+WW91IGNhbiBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnMgdW5kZXIgVXNlcnMgJmFtcDsgR3JvdXBzID4gR3JvdXAgUGVybWlzc2lvbnM8L3A+Cgk8dWw+CgkJPGxpPnskbW9kdWxlX25hbWV9OiBNb2RpZnkgSXRlbXM8L2xpPgoJCTxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IENhdGVnb3JpZXM8L2xpPgoJCTxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IE9wdGlvbnM8L2xpPgoJPC91bD4KCTxwPlRvIGFsbG93IG5vbi1hZG1pbiB1c2VycyB0byB1cGxvYWQgZmlsZXMsIHBsZWFzZSBnbyB0byBFeHRlbnNpb25zID4gR0JGaWxlUGlja2VyIGFuZCB0aWNrIHRoYXQgZmlyc3QgY2hlY2tib3ggJnF1b3Q7U2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJnF1b3Q7LjwvcD4nOwokbGFuZ1snaGVscF9maWVsZGRlZnMnXSA9ICc8aDM+RmllbGQgRGVmaW5pdGlvbnM8L2gzPgoJPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgY29uZmlndXJlIGFyZSB5b3VyIGZpZWxkIGRlZmluaXRpb25zLiA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEZpZWxkIGRlZmluaXRpb25zIGNhbiBvbmx5IGJlIGRlbGV0ZWQgd2hlbiB0aGV5JiMwMzk7cmUgbm90IGluIHVzZSBpbiBvcmRlciB0byBhdm9pZCBkYXRhIGxvc3MuPC9wPgoJPHA+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIHRoZSAmcXVvdDtleHRyYSZxdW90OyBmaWVsZC48L3A+Cgk8dWw+CgkJPGxpPgoJCQk8cD5JbnN0cnVjdGlvbjogCgkJCTxjb2RlPnNpemVbMjBdPC9jb2RlPjxiciAvPgoJCQlQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPgoJCQlBcHBsaWNhYmxlIHRvOiBUZXh0IElucHV0LCBTZWxlY3QgRGF0ZTwvcD4gICAgCgkJPC9saT4KCQk8bGk+CgkJCTxwPkluc3RydWN0aW9uOiAKCQkJPGNvZGU+bWF4X2xlbmd0aFsyMF0KCQkJPC9jb2RlPjxiciAvPgoJCQlQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPgoJCQlBcHBsaWNhYmxlIHRvOiBUZXh0IElucHV0LCBUZXh0IEFyZWEsIFNlbGVjdCBEYXRlPC9wPgoJCTwvbGk+CgkJPGxpPgoJCQk8cD5JbnN0cnVjdGlvbjogCgkJCTxjb2RlPnd5c2l3eWdbMV0KCQkJPC9jb2RlPjxiciAvPgoJCQlQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KCQkJQXBwbGljYWJsZSB0bzogVGV4dCBBcmVhPC9wPgoJCTwvbGk+CgkJPGxpPgoJCQk8cD5JbnN0cnVjdGlvbjogCgkJCTxjb2RlPm9wdGlvbnNbYXBwbGU9QXBwbGUsYmFuYW5hPUJhbmFuYV0KCQkJPC9jb2RlPjxiciAvPgoJCQlQb3NzaWJsZSB2YWx1ZToga2V5PXZhbHVlLC4uLjxiciAvPgoJCQlBcHBsaWNhYmxlIHRvOiBEcm9wZG93bjwvcD4KCQk8L2xpPgogICAgICA8bGk+CiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5hbGxvd1twZGYsZ2lmLHBuZyxqcGVnLGpwZ10KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGV4dGVuc2lvbiwuLi4gKGtlZXAgbG93ZXJjYXNlKTxiciAvPgogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlLCBTZWxlY3QgRmlsZQogICAgICA8L3A+ICAgIAogICAgICA8L2xpPiAgICAKICAgICAgPGxpPiAgICAgICAgCiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5kaXJbL3BhdGgvdG8vZGlyXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIAogICAgICAgIDxjb2RlPiRjb25maWdbJiMwMzk7dXBsb2Fkc191cmwmIzAzOTtdCiAgICAgICAgPC9jb2RlPi4gTm8gc2xhc2ggYXQgdGhlIGVuZC4gPGNvZGU+eyRpdGVtX2lkfSBhbmQgeyRpdGVtX2FsaWFzfTwvY29kZT4gd2lsbCBiZSByZXBsYWNlZC48YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUKICAgICAgPC9wPiAgICAKICAgICAgPC9saT4gICAgCiAgICAgIDxsaT4gICAgICAgIAogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dCiAgICAgICAgPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBwcmVmaXgsLi4uPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+ICAgIAogICAgICA8bGk+ICAgICAgICAKICAgICAgPHA+SW5zdHJ1Y3Rpb246IAogICAgICAgIDxjb2RlPmRhdGVmb3JtYXRbZGQvbW0veXldCiAgICAgICAgPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEYXRlIGZvcm1hdCB1c2VkIGJ5IHRoZSBqUXVlcnkgZGF0ZXBpY2tlci4gVHJ5IGdvb2dsaW5nICYjMDM5O2pxdWVyeSBmb3JtYXREYXRlJiMwMzk7PGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogU2VsZWN0IERhdGUKICAgICAgPC9wPiAgICAKICAgICAgPC9saT4KCSAgPGxpPiAgICAgICAgCiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5maWxlYnJvd3NlclsxXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPgoJCTxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBmaWxlYnJvd3NlciBtb2RlIGluc3RlYWQgb2YgZGVmYXVsdCBkcm9wZG93biBtb2RlCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+CiAgICA8L3VsPgogICAgPHA+WW91IGNhbiBzcGVjaWZ5IG11bHRpcGxlIGluc3RydWN0aW9ucyBzZXBhcmF0ZWQgYnkgYSBzZW1pY29sb24gKAogICAgICA8Y29kZT47CiAgICAgIDwvY29kZT4pLCBmb3IgZXhhbXBsZToKICAgIDwvcD4KICAgIDxwPgogICAgICA8Y29kZT5hbGxvd1twZGZdO2RpclsvZG9jcy9wZGZdPC9jb2RlPgogICAgPC9wPgogICAgCgk8aDM+RmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+CiAgICAgICAgCiAgICA8dWw+CiAgICAgICAgPGxpPlRleHQgSW5wdXQ6IDxjb2RlPnNpemVbMjBdO21heF9sZW5ndGhbMjBdPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPkNoZWNrYm94OiA8Y29kZT4tPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPlRleHQgQXJlYTogPGNvZGU+bWF4X2xlbmd0aFsyMF07d3lzaXd5Z1sxXTwvY29kZT48L2xpPgogICAgICAgIDxsaT5TZWxlY3QgRGF0ZTogPGNvZGU+c2l6ZVsyMF07bWF4X2xlbmd0aFsyMF07ZGF0ZWZvcm1hdFtkZC9tbS95eV08L2NvZGU+PC9saT4KICAgICAgICA8bGk+VXBsb2FkIEZpbGU6IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddO2RpclsvcGF0aC90by9kaXJdO2V4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXTwvY29kZT48L2xpPgogICAgICAgIDxsaT5TZWxlY3QgRmlsZTogPGNvZGU+YWxsb3dbcGRmLGdpZixqcGVnLGpwZ107ZGlyWy9wYXRoL3RvL2Rpcl07ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dO2ZpbGVicm93c2VyWzFdPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPkRyb3Bkb3duOiA8Y29kZT5vcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdPC9jb2RlPjwvbGk+CiAgICA8L3VsPic7CiRsYW5nWydoZWxwX2NhdGVnb3JpZXMnXSA9ICc8aDM+Q2F0ZWdvcmllczwvaDM+Cgk8cD5NdWx0aSBsZXZlbCBjYXRlZ29yaWVzIGFyZSBzdXBwb3J0ZWQuPC9wPic7CiRsYW5nWydoZWxwX3RlbXBsYXRlcyddID0gJzxoMz5UZW1wbGF0ZXM8L2gzPgoJPHA+SWYgeW91IGFyZSBub3Qgc3VyZSB3aGF0IHZhcmlhYmxlcyBhcmUgYXZhaWxhYmxlIHRvIHVzZSBpbiB5b3VyIHRlbXBsYXRlcywgdHJ5IHRoZSBkZWJ1ZyB0ZW1wbGF0ZTo8L3A+Cgk8cD57eyRtb2R1bGVfbmFtZX0gc3VtbWFyeXRlbXBsYXRlPSYjMDM5O2RlYnVnJiMwMzk7fTwvcD4KCTxwPllvdSBjYW4gYWNjZXNzIGFueSBmaWVsZCBkaXJlY3RseSB3aGVuIGxvb3BpbmcgdGhyb3VnaCBpdGVtcyB1c2luZyBpdHMgYWxpYXMsIGZvciBleGFtcGxlLCB0byBpZiB5b3UgY3JlYXRlZCBhIGZpZWxkIGRlZmluaXRpb24gd2l0aCBhbiBhbGlhcyAmcXVvdDtwb3NpdGlvbiZxdW90OywgeW91IGNhbiBkbzo8L3A+JzsKJGxhbmdbJ2hlbHBfdGVtcGxhdGVzX2NhdGVnb3JpZXMnXSA9ICc8cD5CZXNpZGVzLCB5b3UgY2FuIGxvb3AgdGhyb3VnaCBjYXRlZ29yaWVzIGluIHRoZSBzdW1tYXJ5IHRlbXBsYXRlIGp1c3QgYXMgd2VsbCBhcyBsb29waW5nIHRocm91Z2ggaXRlbXM6PC9wPic7CiRsYW5nWydoZWxwX2R1cGxpY2F0aW5nJ10gPSAnPGgzPkR1cGxpY2F0aW5nIHRoaXMgbW9kdWxlPC9oMz4KCTxwPlRoaXMgbW9kdWxlIHdhcyBtYWRlIHRvIGJlIGVhc2lseSBkdXBsaWNhdGVkLiBUbyBkdXBsaWNhdGUgdGhpcyBtb2R1bGUsIGZvbGxvdyB0aGVzZSBzdGVwcyBCRUZPUkUgaW5zdGFsbGluZyB0aGUgbW9kdWxlOjwvcD4KCTxvbD4gICAgCgkJPGxpPlJlbmFtZSB0aGUgZGlyZWN0b3J5ICZxdW90OzxiPkxpc3RJdDwvYj4mcXVvdDs8L2xpPiAgICAKCQk8bGk+UmVuYW1lICZxdW90O2NsYXNzIDxiPkxpc3RJdDwvYj4gZXh0ZW5kcyBDTVNNb2R1bGUmcXVvdDsgaW5zaWRlIExpc3RJdC5tb2R1bGUucGhwPC9saT4gICAgCgkJPGxpPlJlbmFtZSAmcXVvdDs8Yj5MaXN0SXQ8L2I+Lm1vZHVsZS5waHAmcXVvdDs8L2xpPgoJPC9vbD4KCTxwPk1ha2Ugc3VyZSB5b3UgZm9sbG93IHRoZSBDTVNNUyBtb2R1bGUgbmFtaW5nIGNvbnZlbnRpb25zLCBhLXogd2l0aCBubyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIG9yIHNwYWNlcyB0byBiZSBzYWZlIDopPC9wPgoJPHA+WW91IGNhbiBhbHdheXMgY2hhbmdlIHRoZSBtb2R1bGUgZnJpZW5kbHkgbmFtZSBvbmNlIGluc3RhbGxlZCB1bmRlciAmcXVvdDtPcHRpb25zJnF1b3Q7IChDb250ZW50ID4geyRtb2R1bGVfbmFtZX0pLiBUbyBjaGFuZ2UgdGhlIGljb24sIHJlcGxhY2UgL21vZHVsZXMveyRtb2R1bGVfbmFtZX0vaW1hZ2VzL2ljb24uZ2lmLjwvcD4nOwokbGFuZ1snaGVscF9hYm91dCddID0gJzxoMz5BYm91dDwvaDM+Cgk8cD5PcmlnaW4gb2YgdGhpcyBtb2R1bGUgY29tZXMgZnJvbSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2xpc3RpdCIgdGFyZ2V0PSJfYmxhbmsiPkxpc3RJdCBNb2R1bGU8L2E+IGRldmVsb3BlZCBieSBCZW4gTWFsZW4uPGJyIC8+QXMgdGhlcmUgd2VyZSBubyBwbGFucyBvbiBmdXJ0aGVyIGRldmVsb3BtZW50IG9mIHRoZSBtb2R1bGUgc29tZSBwZW9wbGUgZGVjaWRlZCB0byBmb3JrIHRoZSBtb2R1bGUgYW5kIGNvbnRpbnVlIHdpdGggZGV2ZWxvcG1lbnQuPGJyIC8+CglJZiB5b3UgZmluZCBhbnkgYnVncyBwbGVhc2UgZmVlbCBmcmVlIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4gb3IgZm9yIGFueSBnb29kIGlkZWFzIGNvbnNpZGVyIHN1Ym1pdGluZyBhIGZlYXR1cmUgcmVxdWVzdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2ZlYXR1cmVfcmVxdWVzdC9saXN0LzEwMTUiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gPGJyIC8+CglQbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgZGV2ZWxvcGVycyBkbyBoYXZlIHRoZWlyIGRhaWx5IGpvYnMgd2hpY2ggbWVhbnMgdGhhdCBmZWF0dXJlIHJlcXVlc3RzIGFyZSBjb25zaWRlcmVkIGFuZCBkb25lIGFzIHRpbWUgYWxsb3dzLiBJZiB5b3UgbmVlZCBhIGZlYXR1cmUgcmVhbGx5IGJhZGx5IGNvbnNpZGVyIGNvbnRhY3Rpbmcgb25lIG9mIHRoZSBkZXZlbG9wZXJzIGZvciBhIHNwb25zb3JlZCBkZXZlbG9wbWVudC4KCTwvcD4KCTxoMz5UZWFtPC9oMz4KCTx1bD4KCQk8bGk+Sm9uYXRoYW4gU2NobWlkIChGb2FseSopIGhpQGpvbmF0aGFuc2NobWlkLmRlIDxiciAvPnd3dy5qb25hdGhhbnNjaG1pZC5kZTwvbGk+CgkJPGxpPkdvcmFuIElsaWMgKHVuaXF1MykgZy5pbGljQGktYXJ0cy5ldSA8YnIgLz53d3cuaWNoLW1hY2gtZGFzLmF0PC9saT4KCQk8bGk+Um9iZXJ0IENhbXBiZWxsIChjYWxndXkxMDAwKSBjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnICA8YnIgLz53d3cuY2FsZ3V5MTAwMC5jb208L2xpPgoJCTxsaT5MdWthcyBCbGF0dGVyIChub2NrZW5mZWxsKSBub2NrZW5mZWxsQGdtYWlsLmNvbSA8YnIgLz53d3cuYmxhdHRlcnRlY2guY2g8L2xpPgoJCTxsaT5Bcm5vdWQgKGFybm91ZCkgYXJub3VkQHVwc2VydmljZS5ubCA8YnIgLz53d3cudXBzZXJ2aWNlLm5sPC9saT4KCQk8bGk+V2F5bmUgT05laWwgKHdpc2hib25lKSB3YXluZUB0ZWFtd2lzaGJvbmUuY29tIDxiciAvPnd3dy50ZWFtd2lzaGJvbmUuY29tPC9saT4KCTwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnCU92ZXJyaWRlIHRoZSBkZWZhdWx0IGFjdGlvbi4gUG9zc2libGUgdmFsdWVzIGFyZToKCTx1bD4KCQk8bGk+JnF1b3Q7ZGVmYXVsdCZxdW90OyAtIGRpc3BsYXlzIHRoZSBzdW1tYXJ5IHZpZXcuPC9saT4KCQk8bGk+JnF1b3Q7ZGV0YWlsJnF1b3Q7IC0gZGlzcGxheXMgYSBzcGVjaWZpZWQgZW50cnkgaW4gZGV0YWlsIG1vZGUuPC9saT4KCQk8bGk+JnF1b3Q7c2VhcmNoJnF1b3Q7IC0gZGlzcGxheXMgdGhlIHNlYXJjaCBmb3JtLjwvbGk+CgkJPGxpPiZxdW90O2ZpbHRlciZxdW90OyAtIGRpc3BsYXlzIHRoZSBmaWx0ZXIgZm9ybS4gUGFyYW1ldGVyIDxlbT5maWx0ZXI8L2VtPiBpcyByZXF1aXJlZC48L2xpPgoJPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9zaG93YWxsJ10gPSAnU2hvdyBhbGwgaXRlbXMsIGlycmVzcGVjdGl2ZSBvZiBlbmQgZGF0ZS4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeSddID0gJ1NwZWNpZnkgYW4gYWxpYXMgb3IgY29tbWEgc2VwYXJhdGVkIGFsaWFzZXMgb2YgdGhlIGNhdGVnb3J5L2NhdGVnb3JpZXMgZGlzcGxheWVkIGl0ZW1zIG11c3QgYmUgYSBtZW1iZXIgb2YuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZXhjbHVkZV9jYXRlZ29yeSddID0gJ1NwZWNpZnkgYW4gYWxpYXMgb3IgY29tbWEgc2VwYXJhdGVkIGFsaWFzZXMgb2YgdGhlIGNhdGVnb3J5L2NhdGVnb3JpZXMgZGlzcGxheWVkIGl0ZW1zIG11c24mIzAzOTt0IGJlIGEgbWVtYmVyIG9mLic7CiRsYW5nWydoZWxwX3BhcmFtX3N1YmNhdGVnb3J5J10gPSAnSWYgcGFyYW1ldGVyICYjMDM5O2NhdGVnb3J5JiMwMzk7IGlzIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgc2V0IHRvIDxlbT50cnVlPC9lbT4gd2lsbCBtYWtlIGFsbG93YW5jZSBmb3Igc3ViY2F0ZWdvcmllcyYjMDM5OyBpdGVtcy4gSXQgaXMgc2V0IHRvIGZhbHNlIGJ5IGRlZmF1bHQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGUgZGV0YWlsIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZS4nOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGUgc3VtbWFyeSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNodGVtcGxhdGUnXSA9ICdUaGUgc2VhcmNoIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZS4nOwokbGFuZ1snaGVscF9wYXJhbV9vcmRlcmJ5J10gPSAnWW91IGNhbiBvcmRlciBieSBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb2x1bW5zOiBpdGVtX2lkLCBpdGVtX3RpdGxlLCBpdGVtX3Bvc2l0aW9uLCBjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfcG9zaXRpb24sIGNhdGVnb3J5X2hpZXJhcmNoeS48YnIgLz4KCTx1bD4KCQk8bGk+Rm9yIGV4YW1wbGU6PGJyIC8+CgkJb3JkZXJieT0mIzAzOTtjYXRlZ29yeV9uYW1lLCBpdGVtX3RpdGxlJiMwMzk7PC9saT4KCQk8bGk+WW91IGNhbiBhbHNvIHNwZWNpZnkgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgZm9yIGFueSBjb2x1bW4sIGZvciBleGFtcGxlOjxiciAvPgoJCW9yZGVyYnk9JiMwMzk7Y2F0ZWdvcnlfbmFtZXxhc2MsIGl0ZW1fdGl0bGV8ZGVzYyYjMDM5OzwvbGk+Cgk8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ01heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgKHBlciBwYWdlKS4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwbGllZCBhbGwgbWF0Y2hpbmcgaXRlbXMgd2lsbCBiZSBkaXNwbGF5ZWQuICBJZiBpdCBpcywgYW5kIHRoZXJlIGFyZSBtb3JlIGl0ZW1zIGF2YWlsYWJsZSB0aGFuIHNwZWNpZmllZCBpbiB0aGUgcGFyYW1ldGVyLCB0ZXh0IGFuZCBsaW5rcyB3aWxsIGJlIHN1cHBsaWVkIHRvIGFsbG93IHNjcm9sbGluZyB0aHJvdWdoIHRoZSByZXN1bHRzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3RhcnQnXSA9ICdTdGFydCBhdCB0aGUgbnRoIGl0ZW0gLS0gbGVhdmluZyBlbXB0eSB3aWxsIHN0YXJ0IGF0IHRoZSBmaXJzdCBpdGVtLic7CiRsYW5nWydoZWxwX3BhcmFtX251bWJlciddID0gJ01heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgKHBlciBwYWdlKSAtLSBsZWF2aW5nIGVtcHR5IHdpbGwgc2hvdyBhbGwgaXRlbXMuIFRoaXMgaXMgYSBzeW5vbnltIGZvciB0aGUgcGFnZWxpbWl0IHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnUGFnZSB0byBkaXNwbGF5IGl0ZW0gZGV0YWlscyBpbi4gTXVzdCBiZSBhIHBhZ2UgYWxpYXMuIFVzZWQgdG8gYWxsb3cgZGV0YWlscyB0byBiZSBkaXNwbGF5ZWQgaW4gYSBkaWZmZXJlbnQgcGFnZSB0aGFuIHN1bW1hcnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1faXRlbSddID0gJ1RoaXMgcGFyYW1ldGVyIGlzIG9ubHkgYXBwbGljYWJsZSB0byB0aGUgZGV0YWlsIHZpZXcuIEl0IGFsbG93cyBzcGVjaWZ5aW5nIHdoaWNoIGl0ZW0gdG8gZGlzcGxheSBpbiBkZXRhaWwgbW9kZS4gTXVzdCBiZSBhbiBpdGVtIGFsaWFzLic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaCddID0gJ1NlYXJjaCBhbGwgZmllbGRzLiBVc2VzIGZ1bGx0ZXh0IHNlYXJjaC4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hfJ10gPSAnU2VhcmNoIGEgcGFydGljdWxhciBmaWVsZC4gWW91IGNhbiB1c2UgJiMwMzk7dGl0bGUmIzAzOTsgb3IgdGhlIGFsaWFzIG9mIGEgZmllbGQgZGVmaW5pdGlvbiwgZS5nLiBzZWFyY2hfdGl0bGUuIFdpbGwgYmUgaWdub3JlZCB3aGVuIHBhcmFtZXRlciAmIzAzOTtzZWFyY2gmIzAzOTsgaXMgc2V0LCBidXQgbXVsdGlwbGUgc2VhcmNoXyogcGFyYW1zIGNhbiBiZSBjb21iaW5lZC4nOwokbGFuZ1snaGVscF9wYXJhbV9maWx0ZXInXSA9ICdSZXF1aXJlZCBmb3IgYWN0aW9uIDxlbT5maWx0ZXI8L2VtPi4gU3BlY2lmeSB0aGUgZmllbGRzIHdob3NlIHZhbHVlcyBzaG91bGQgYmUgb2ZmZXJlZCBhcyBmaWx0ZXIgb3B0aW9ucyBieSBsaXN0aW5nIHRoZSBmaWVsZCYjMDM5O3MgYWxpYXNlcyBjb21tYSBzZXBhcmF0ZWQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fcmV0dXJucGFnZSddID0gJ1VzZWQgZm9yIGZpbHRlciBvciBzZWFyY2ggbW9kZSBvbmx5LiBQYWdlIHRvIGRpc3BsYXkgc2VhcmNoIHJlc3VsdHMgcmVzcGVjdGl2bHkgZmlsdGVyZWQgaXRlbXMgaW4uIE11c3QgYmUgYSBwYWdlIGFsaWFzLiBVc2VkIHRvIGFsbG93IHN1bW1hcnkgdG8gYmUgZGlzcGxheWVkIGluIGEgZGlmZmVyZW50IHBhZ2UgdGhhbiBmaWx0ZXIgLyBzZWFyY2ggbWFzay4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzAzNDQ5NzkuMTMyOTI2MDIzMi4xMzI5MjYwMjMyLjEzMjkyNjAyMzIuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMjkyNjAyMzIuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2l0ZW0nXSA9ICdJdGVtJzsKJGxhbmdbJ2l0ZW1zJ10gPSAnSXRlbXMnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0ZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snb3B0aW9uJ10gPSAnT3B0aW9uJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ2JhY2snXSA9ICdHbyBvbmUgcGFnZSBiYWNrJzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdUaXRsZSc7CiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZSddID0gJ0l0ZW0gdGl0bGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ3RpbWVfY29udHJvbCddID0gJ1VzZSB0aW1lIGNvbnRyb2wnOwokbGFuZ1snc3RhcnRfdGltZSddID0gJ1N0YXJ0IHRpbWUnOwokbGFuZ1snZW5kX3RpbWUnXSA9ICdFbmQgdGltZSc7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnSXRlbSB0aXRsZSBpcyBlbXB0eSc7CiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1JlcXVpcmVkIGZpZWxkIGlzIGVtcHR5JzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnRmllbGQgdmFsdWUgZXhjZWVkcyBtYXggbGVuZ3RoJzsKJGxhbmdbJ2FwcHJvdmUnXSA9ICdTZXQgU3RhdHVzIHRvICYjMDM5O0FjdGl2ZSYjMDM5Oyc7CiRsYW5nWydyZXZlcnQnXSA9ICdTZXQgU3RhdHVzIHRvICYjMDM5O0luYWN0aXZlJiMwMzk7JzsKJGxhbmdbJ3N1Ym1pdF9vcmRlciddID0gJ1NhdmUgb3JkZXInOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnRGVsZXRlIFNlbGVjdGVkICVzJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBvZiB0aGVzZSAlcz8nOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdCBhbGwnOwokbGFuZ1snZXJyb3Jfc3RhcnRncmVhdGVyZW5kJ10gPSAnU3RhcnQgZGF0ZSBpcyBncmVhdGVyIHRoYW4gZW5kIGRhdGUuJzsKJGxhbmdbJ2l0ZW1fYWxpYXNfZXhpc3RzJ10gPSAnSXRlbSBhbGlhcyBhbHJlYWR5IGV4aXN0cy4gQWxpYXMgbXVzdCBiZSB1bmlxdWUuJzsKJGxhbmdbJ3JldHVybl91cmwnXSA9ICdSZXR1cm4nOwokbGFuZ1snZWRpdGZpZWxkZGVmJ10gPSAnRWRpdCBGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2ZpZWxkZGVmX2hlbHAnXSA9ICdIZWxwZnVsIHRpcCc7CiRsYW5nWydmaWVsZGRlZl90eXBlJ10gPSAnVHlwZSc7CiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAnTWF4aW11bSBsZW5ndGgnOwokbGFuZ1snZmllbGRkZWZfcmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3QgRGF0ZSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1VwbG9hZCBGaWxlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snc2VsZWN0X2RlZmF1bHQnXSA9ICctLSBTZWxlY3QgLS0nOwokbGFuZ1snc2VsZWN0X2ZpbGUnXSA9ICdTZWxlY3QgRmlsZSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGlzIGVtcHR5JzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJ10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2ZpZWxkZGVmX2FsaWFzX2V4aXN0cyddID0gJ0ZpZWxkIGRlZmluaXRpb24gYWxpYXMgYWxyZWFkeSBleGlzdHMuIEFsaWFzIG11c3QgYmUgdW5pcXVlLic7CiRsYW5nWydpbnZhbGlkJ10gPSAnRmllbGQgdmFsdWUgaXMgaW52YWxpZCc7CiRsYW5nWydzdGF0dXNfcmVxdWlyZWQnXSA9ICdTZXQgc3RhdHVzIHRvICYjMDM5O3JlcXVpcmVkJiMwMzk7JzsKJGxhbmdbJ3N0YXR1c19vcHRpb25hbCddID0gJ1NldCBzdGF0dXMgdG8gJiMwMzk7b3B0aW9uYWwmIzAzOTsnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ0NhdGVnb3J5IG5hbWUnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZV9lbXB0eSddID0gJ0NhdGVnb3J5IG5hbWUgaXMgZW1wdHknOwokbGFuZ1snY2F0ZWdvcnlfYWxpYXNfZXhpc3RzJ10gPSAnQ2F0ZWdvcnkgYWxpYXMgYWxyZWFkeSBleGlzdHMuIEFsaWFzIG11c3QgYmUgdW5pcXVlLic7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGUnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2VkaXR0ZW1wbGF0ZSddID0gJ0VkaXQgVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ1RlbXBsYXRlIG5hbWUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ1RlbXBsYXRlIG5hbWUgaXMgZW1wdHknOwokbGFuZ1snbW9kdWxlX29wdGlvbnMnXSA9ICdNb2R1bGUgT3B0aW9ucyc7CiRsYW5nWyd1cmxfb3B0aW9ucyddID0gJ1VSTCBPcHRpb25zJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdNb2R1bGUgZnJpZW5kbHkgbmFtZSc7CiRsYW5nWydwcm9tcHRfaXRlbV9zaW5ndWxhciddID0gJ0l0ZW0gc2luZ3VsYXInOwokbGFuZ1sncHJvbXB0X2l0ZW1fcGx1cmFsJ10gPSAnSXRlbSBwbHVyYWwnOwokbGFuZ1sncHJvbXB0X3VybF9wcmVmaXgnXSA9ICdVUkwgUHJlZml4JzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0Rpc3BsYXkgZGV0YWlscyBpbmxpbmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY29scyddID0gJ1Nob3cgdGhpcyBmaWVsZHMgaW4gaXRlbSBvdmVydmlldyc7CiRsYW5nWydjaGFuZ2Vzc2F2ZWQnXSA9ICdZb3VyIGNoYW5nZXMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBzYXZlZC4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JzsKJGxhbmdbJ3VwJ10gPSAnVXAnOwokbGFuZ1snZG93biddID0gJ0Rvd24nOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ25vc3VjaGlkJ10gPSAnTm8gc3VjaCBJRCc7CiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGl0ZW0ocykgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7CiRsYW5nWydhZGQnXSA9ICdBZGQgJXMnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWydhbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgaW52YWxpZC4gSXQgbXVzdCBiZSBhIHZhbGlkIFBIUCB2YXJpYWJsZSBuYW1lJzsKJGxhbmdbJ3NlYXJjaCddID0gJ1NlYXJjaCc7CiRsYW5nWydzZWFyY2hmb3InXSA9ICdTZWFyY2ggZm9yJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTGlzdEl0IGFsbG93cyB5b3UgdG8gY3JlYXRlIGxpc3RzIHRoYXQgeW91IGNhbiBkaXNwbGF5IHRocm91Z2hvdXQgeW91ciB3ZWJzaXRlLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJyBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICcgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJyc7CiRsYW5nWydoZWxwJ10gPSAnPHNjcmlwdCB0eXBlPSZxdW90O3RleHQvamF2YXNjcmlwdCZxdW90OyBsYW5ndWFnZT0mcXVvdDtqYXZhc2NyaXB0JnF1b3Q7IHNyYz0mcXVvdDsvbW9kdWxlcy8vanMvbHl0ZWJveC5qcyZxdW90Oz48L3NjcmlwdD4NCjxsaW5rIHJlbD0mcXVvdDtzdHlsZXNoZWV0JnF1b3Q7IGhyZWY9JnF1b3Q7L21vZHVsZXMvL2Nzcy9seXRlYm94LmNzcyZxdW90OyB0eXBlPSZxdW90O3RleHQvY3NzJnF1b3Q7IG1lZGlhPSZxdW90O3NjcmVlbiZxdW90OyAvPg0KDQo8ZGl2IGlkPSZxdW90O3BhZ2VfdGFicyZxdW90Oz4gICAgIA0KICA8ZGl2IGlkPSZxdW90O2dlbmVyYWwmcXVvdDs+DQogICAgR2VuZXJhbCBJbmZvICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9JnF1b3Q7dXNhZ2UmcXVvdDs+DQogICAgVXNhZ2UgICANCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0mcXVvdDtwZXJtaXNzaW9ucyZxdW90Oz4NCiAgICBQZXJtaXNzaW9ucyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSZxdW90O2ZpZWxkJnF1b3Q7Pg0KICAgIEZpZWxkIERlZmluaXRpb25zICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9JnF1b3Q7Y2F0ZWdvcmllcyZxdW90Oz4NCiAgICBDYXRlZ29yaWVzICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9JnF1b3Q7dGVtcGxhdGVzJnF1b3Q7Pg0KICAgIFRlbXBsYXRlcyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSZxdW90O2R1cGxpY2F0aW5nJnF1b3Q7Pg0KICAgIER1cGxpY2F0aW5nIHRoaXMgbW9kdWxlICAgDQogIDwvZGl2Pg0KPC9kaXY+ICAgDQo8ZGl2IGNsYXNzPSZxdW90O2NsZWFyYiZxdW90Oz4gIA0KPC9kaXY+DQo8ZGl2IGlkPSZxdW90O3BhZ2VfY29udGVudCZxdW90Oz4gIA0KICA8ZGl2IGlkPSZxdW90O2dlbmVyYWxfYyZxdW90Oz4JPGgzPkdlbmVyYWwgSW5mbzwvaDM+CQkNCiAgICA8cD5TaW1wbHkgcHV0LCBMaXN0SXQgYWxsb3dzIHlvdSB0byBjcmVhdGUgbGlzdHMgdGhhdCB5b3UgY2FuIGRpc3BsYXkgdGhyb3VnaG91dCB5b3VyIHdlYnNpdGUuIFlvdSBjb3VsZCBtYWtlIGEgc2ltcGxlIEZBUSBvciBUZXN0aW1vbmlhbHMgZmVhdHVyZSB3aXRoIHRoaXMgbW9kdWxlLiBUaGUgd2ViIGRldmVsb3BlciBkZWZpbmVzIGZpZWxkcyB0byBjb25zdHJhaW4gd2hhdCBkYXRhIHRoZSBjbGllbnQgY2FuIGVudGVyLiBBIG51bWJlciBvZiBmaWVsZCB0eXBlcyBjYW4gYmUgc3BlY2lmaWVkIC0gdGV4dCBpbnB1dCwgY2hlY2tib3gsIHRleHQgYXJlYSwgc2VsZWN0IGRhdGUsIHVwbG9hZCBmaWxlLCBzZWxlY3QgZmlsZSwgZHJvcGRvd24gLSBhbmQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgY2FuIGJlIHNldCBmb3IgZWFjaCB0eXBlLCBmb3IgZXhhbXBsZSwgaW5wdXQgZmllbGQgc2l6ZSwgbWF4IGxlbmd0aCwgV1lTSVdZRyBlZGl0b3IsIHBvc3NpYmxlIGRyb3AgZG93biB2YWx1ZXMsIHBvc3NpYmxlIGZpbGUgZXh0ZW5zaW9ucywgZGlyZWN0b3J5IHBhdGhzIGZvciBmaWxlIHNlbGVjdGlvbnMsIGRhdGUgZm9ybWF0cywgZXRjLg0KICAgIDwvcD4NCiAgICA8cD5BbiBpbXBvcnRhbnQgbm90ZSBvZiB3YXJuaW5nIC0gVGhpcyBpcyBub3QgYSBjb250ZW50IGNvbnN0cnVjdGlvbiBraXQsIHN1Y2ggYXMgaW4gRHJ1cGFsLiBJdCBpcyBtZWFudCBmb3Igc21hbGwgbGlzdGluZ3MsIG5vdCB0byBzdG9yZSB0aG91c2FuZHMgb2YgcmVjb3Jkcy4gVGhpcyBpcyBiZWNhdXNlIG9mIHRoZSBkYXRhYmFzZSBtb2RlbCB1c2VkIChFQVYpLiBBbHNvLCBlYWNoIGJpdCBvZiBkYXRhIHlvdSBlbnRlciBpcyBzdG9yZWQgYXMgVEVYVCBkYXRhIHR5cGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyB2YXJjaGFyLCBib29sZWFuLCB0aW1lc3RhbXAsIGV0Yy4gVGhpcyBpcyBhIHJlc3RyaWN0aW9uIG9mIGEgc2hvcnQgZGV2ZWxvcG1lbnQgdGltZSBmcmFtZS4NCiAgICA8L3A+CQ0KICA8L2Rpdj4JDQogIDxkaXYgaWQ9JnF1b3Q7dXNhZ2VfYyZxdW90Oz4JCQ0KICAgIDxoMz5Vc2FnZTwvaDM+CQkJDQogICAgICA8cD5Zb3UgY2FuIGNvbmZpZ3VyZSAgaGVyZTogQ29udGVudCA+IA0KICAgICAgPC9wPgkJCQ0KICAgIDxwPlBsYWNlIHRoaXMgdGFnIGluIHlvdXIgcGFnZTo8YnIgLz4JDQogICAge30NCiAgICA8L3A+CQkNCiAgICA8ZGl2PgkJCQ0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsmcXVvdDs+CQkJDQogICAgICAgIDxhIHRpdGxlPSJTZXR0aW5nIHRoZSBNb2R1bGUgT3B0aW9ucyIgcmVsPSJseXRlYm94W10iIGhyZWY9Ii9tb2R1bGVzLy9pbWFnZXMvc2NyZWVuc2hvdDEuanBnIj4NCiAgICAgICAgICA8aW1nIHNyYz0mcXVvdDsvbW9kdWxlcy8vaW1hZ2VzL3RodW1iX3NjcmVlbnNob3QxLmpwZyZxdW90OyBhbHQ9JnF1b3Q7U2V0dGluZyB0aGUgTW9kdWxlIE9wdGlvbnMmcXVvdDsgLz48L2E+DQogICAgICA8L2Rpdj4JCQ0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtmbG9hdDpsZWZ0OyZxdW90Oz4NCiAgICAgICAgQWZ0ZXIgaW5zdGFsbGluZyB0aGUgbW9kdWxlIHRoZSBuZXh0IHRoaW5nIHRvIGRvIGlzIHNldCB0aGUgb3B0aW9ucy4gIAkJCQkNCiAgICAgICAgPG9sPgkJCQkJDQogICAgICAgICAgPGxpPlRvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGluIHRoZSBtZW51IGNoYW5nZSB0aGUgJiMwMzk7TW9kdWxlIEZyaWVuZGx5IE5hbWUmIzAzOTsuDQogICAgICAgICAgPC9saT4JCQkJCQ0KICAgICAgICAgIDxsaT5UbyBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGl0ZW0gdGFiIGNoYW5nZSB0aGUgJiMwMzk7SXRlbSBQbHVyYWwmIzAzOTsuDQogICAgICAgICAgPC9saT4JCQkJDQogICAgICAgIDwvb2w+CQkNCiAgICAgIDwvZGl2Pg0KICAgICAgPGJyIHN0eWxlPSZxdW90O2NsZWFyOmJvdGg7JnF1b3Q7IC8+CQkNCiAgICA8L2Rpdj4JCQ0KICAgIDxkaXY+DQogICAgICA8ZGl2IHN0eWxlPSZxdW90O2Zsb2F0OmxlZnQ7IHdpZHRoOjIxMHB4OyBtYXJnaW4tcmlnaHQ6MTBweDsgbWFyZ2luLWJvdHRvbToyMHB4OyZxdW90Oz4NCiAgICAgICAgPGEgdGl0bGU9IlNldHRpbmcgdGhlIEZpZWxkIERlZmluaXRpb25zIiByZWw9Imx5dGVib3hbXSIgaHJlZj0iL21vZHVsZXMvL2ltYWdlcy9BZGRfRmllbGREZWZfVGFiOC5wbmciPg0KICAgICAgICAgIDxpbWcgc3JjPSZxdW90Oy9tb2R1bGVzLy9pbWFnZXMvdGh1bWJfQWRkX0ZpZWxkRGVmX1RhYjgucG5nJnF1b3Q7IGFsdD0mcXVvdDtTZXR0aW5nIHRoZSBGaWVsZCBEZWZpbml0aW9ucyZxdW90OyAvPjwvYT4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtmbG9hdDpsZWZ0OyZxdW90Oz4NCiAgICAgICAgTmV4dCAtIHNldCB0aGUgRmllbGQgRGVmaW5pdGlvbnMuIA0KICAgICAgICA8b2w+DQogICAgICAgICAgPGxpPkNob29zZSBmcm9tICYjMDM5O1RleHQgSW5wdXQmIzAzOTssICYjMDM5O0NoZWNrYm94JiMwMzk7LCAmIzAzOTtUZXh0IEFyZWEmIzAzOTssICYjMDM5O1NlbGVjdCBEYXRlJiMwMzk7LCAmIzAzOTtVcGxvYWQgRmlsZSYjMDM5OywgJiMwMzk7U2VsZWN0IEZpbGUmIzAzOTsgJmFtcDsgJiMwMzk7RHJvcGRvd24mIzAzOTsuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGk+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIHRoZSAmIzAzOTtleHRyYSYjMDM5OyBmaWVsZC4gU2VlIHRoZSAmIzAzOTtGaWVsZCBEZWZpbml0aW9ucyYjMDM5OyB0YWIgZm9yIGEgbGlzdC4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT5FYWNoIGl0ZW0gaW4gZWFjaCBsaXN0IGhhcyB0aHJlZSBkZWZhdWx0IGZpZWxkcy4gQWxsIEZpZWxkIERlZmluaXRpb25zIHNldCBoZXJlIGFyZSBhZGRpdGlvbmFsIHRvIHRoZW0uDQogICAgICAgICAgPC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgIDwvZGl2PjxiciBzdHlsZT0mcXVvdDtjbGVhcjpib3RoOyZxdW90OyAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXY+DQogICAgICA8ZGl2IHN0eWxlPSZxdW90O2Zsb2F0OmxlZnQ7IHdpZHRoOjIxMHB4OyBtYXJnaW4tcmlnaHQ6MTBweDsgbWFyZ2luLWJvdHRvbToyMHB4OyZxdW90Oz4NCiAgICAgICAgPGEgdGl0bGU9IlNldHRpbmcgdGhlIGxpc3QgY2F0ZWdvcmllcyIgcmVsPSJseXRlYm94W10iIGhyZWY9Ii9tb2R1bGVzLy9pbWFnZXMvQ2F0ZWdvcmllc19UYWI4LnBuZyI+DQogICAgICAgICAgPGltZyBzcmM9JnF1b3Q7L21vZHVsZXMvL2ltYWdlcy90aHVtYl9DYXRlZ29yaWVzX1RhYjgucG5nJnF1b3Q7IGFsdD0mcXVvdDtTZXR0aW5nIHRoZSBsaXN0IGNhdGVnb3JpZXMmcXVvdDsgLz48L2E+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgc3R5bGU9JnF1b3Q7ZmxvYXQ6bGVmdDsmcXVvdDs+DQogICAgICAgIFRoZXJlIGlzIGEgc2luZ2xlIGNhdGVnb3J5IGJ5IGRlZmF1bHQgY2FsbGVkICYjMDM5O0dlbmVyYWwmIzAzOTsuIFRoaXMgY2FuIGJlIHJlbmFtZWQgYW5kIGFkZGl0aW9uYWwgQ2F0ZWdvcmllcyBjYW4gYmUgYWRkZWQuIA0KICAgICAgPC9kaXY+DQogICAgICA8YnIgc3R5bGU9JnF1b3Q7Y2xlYXI6Ym90aDsmcXVvdDsgLz4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2Pg0KICAgICAgPGRpdiBzdHlsZT0mcXVvdDtmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsmcXVvdDs+DQogICAgICAgIDxhIHRpdGxlPSJBZGRpbmcgTGlzdCBJdGVtcyIgcmVsPSJseXRlYm94W10iIGhyZWY9Ii9tb2R1bGVzLy9pbWFnZXMvQWRkX0l0ZW1fVGFiOC5wbmciPg0KICAgICAgICAgIDxpbWcgc3JjPSZxdW90Oy9tb2R1bGVzLy9pbWFnZXMvdGh1bWJfQWRkX0l0ZW1fVGFiOC5wbmcmcXVvdDsgYWx0PSZxdW90O0FkZGluZyBMaXN0IEl0ZW1zJnF1b3Q7IC8+PC9hPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IHN0eWxlPSZxdW90O2Zsb2F0OmxlZnQ7JnF1b3Q7Pg0KICAgICAgICBOb3cgd2UgbW92ZSBvbiB0byB0aGUgSXRlbSBsaXN0IGl0c2VsZi4gSW4gdGhpcyBleGFtcGxlIGl0IHNheXMgJiMwMzk7QWRkIEJveCYjMDM5OywgdGhpcyB3YXMgcmVuYW1lZCBpbiB0aGUgJiMwMzk7T3B0aW9ucyYjMDM5OyB0YWIuIA0KICAgICAgICA8b2w+DQogICAgICAgICAgPGxpPlRoZSBmaXJzdCBmaWVsZCBpcyB0aGUgZGVmYXVsdCAmIzAzOTtUaXRsZSYjMDM5OyBmaWVsZC4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT5UaGUgJiMwMzk7Q2F0ZWdvcnkmIzAzOTsgZHJvcGRvd24gaXMgYWxzbyBhIGRlZmF1bHQgZmllbGQsIGFuZCBpZiB1bmNoYW5nZWQsIHdpbGwgYmUgc2V0IHRvICYjMDM5O0dlbmVyYWwmIzAzOTsuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGk+VGhlIHRoaXJkIGRlZmF1bHQgZmllbGQgaXMgdGhlIGNoZWNrYm94IGNhbGxlZCAmIzAzOTtBY3RpdmUmIzAzOTsuIFRoaXMgYWxsb3dzIHlvdSB0byB0b2dnbGUgYSBsaXN0IGVudHJ5IHdpdGhvdXQgZGVsZXRpbmcgaXQuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgIDwvZGl2PjxiciBzdHlsZT0mcXVvdDtjbGVhcjpib3RoOyZxdW90OyAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgc3R5bGU9JnF1b3Q7Y2xlYXI6Ym90aDsmcXVvdDsgLz4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9JnF1b3Q7cGVybWlzc2lvbnNfYyZxdW90Oz48aDM+UGVybWlzc2lvbnM8L2gzPg0KICAgIDxwPllvdSBjYW4gc3BlY2lmeSB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zIHVuZGVyIFVzZXJzICZhbXA7IEdyb3VwcyA+IEdyb3VwIFBlcm1pc3Npb25zDQogICAgPC9wPg0KICAgIDx1bD4NCiAgICAgIDxsaT46IE1vZGlmeSBJdGVtcw0KICAgICAgPC9saT4NCiAgICAgIDxsaT46IE1vZGlmeSBDYXRlZ29yaWVzDQogICAgICA8L2xpPg0KICAgICAgPGxpPjogTW9kaWZ5IE9wdGlvbnMNCiAgICAgIDwvbGk+DQogICAgPC91bD4NCgk8cD5UbyBhbGxvdyBub24tYWRtaW4gdXNlcnMgdG8gdXBsb2FkIGZpbGVzLCBwbGVhc2UgZ28gdG8gRXh0ZW5zaW9ucyA+IEdCRmlsZVBpY2tlciBhbmQgdGljayB0aGF0IGZpcnN0IGNoZWNrYm94ICZxdW90O1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyZxdW90Oy48L3A+DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSZxdW90O2ZpZWxkX2MmcXVvdDs+PGgzPkZpZWxkIERlZmluaXRpb25zPC9oMz4NCiAgICA8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBjb25maWd1cmUgYXJlIHlvdXIgZmllbGQgZGVmaW5pdGlvbnMuDQogICAgPC9wPg0KICAgIDxwPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBpbiB0aGUgJnF1b3Q7ZXh0cmEmcXVvdDsgZmllbGQuDQogICAgPC9wPg0KICAgIDx1bD4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+c2l6ZVsyMF0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBUZXh0IElucHV0LCBTZWxlY3QgRGF0ZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPm1heF9sZW5ndGhbMjBdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IGludGVnZXI8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVGV4dCBJbnB1dCwgVGV4dCBBcmVhLCBTZWxlY3QgRGF0ZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPnd5c2l3eWdbMV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVGV4dCBBcmVhDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBrZXk9dmFsdWUsLi4uPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IERyb3Bkb3duDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+YWxsb3dbcGRmLGdpZixwbmcsanBlZyxqcGddDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IGV4dGVuc2lvbiwuLi4gKGtlZXAgbG93ZXJjYXNlKTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5kaXJbL3BhdGgvdG8vZGlyXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEaXJlY3RvcnkgcGF0aCB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gDQogICAgICAgIDxjb2RlPiRjb25maWdbJiMwMzk7dXBsb2Fkc19wYXRoJiMwMzk7XQ0KICAgICAgICA8L2NvZGU+LiBObyBzbGFzaCBhdCB0aGUgZW5kLiA8Y29kZT57JGl0ZW1faWR9IGFuZCB7JGl0ZW1fYWxpYXN9PC9jb2RlPiB3aWxsIGJlIHJlcGxhY2VkLjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5leGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX10NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogcHJlZml4LC4uLjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5kYXRlZm9ybWF0W2RkL21tL3l5XQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEYXRlIGZvcm1hdCB1c2VkIGJ5IHRoZSBqUXVlcnkgZGF0ZXBpY2tlci4gVHJ5IGdvb2dsaW5nICYjMDM5O2pxdWVyeSBmb3JtYXREYXRlJiMwMzk7PGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IFNlbGVjdCBEYXRlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4NCgkgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5maWxlYnJvd3NlclsxXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPg0KCQk8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gZmlsZWJyb3dzZXIgbW9kZSBpbnN0ZWFkIG9mIGRlZmF1bHQgZHJvcGRvd24gbW9kZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+DQogICAgPC91bD4NCiAgICA8cD5Zb3UgY2FuIHNwZWNpZnkgbXVsdGlwbGUgaW5zdHJ1Y3Rpb25zIHNlcGFyYXRlZCBieSBhIHNlbWljb2xvbiAoDQogICAgICA8Y29kZT47DQogICAgICA8L2NvZGU+KSwgZm9yIGV4YW1wbGU6DQogICAgPC9wPg0KICAgIDxwPg0KICAgICAgPGNvZGU+YWxsb3dbcGRmXTtkaXJbL2RvY3MvcGRmXQ0KICAgICAgPC9jb2RlPg0KICAgIDwvcD4NCiAgICANCiAgICA8cD4NCiAgICAgICAgPGgzPkZpZWxkIERlZmluaXRpb25zIGJ5IHR5cGU8L2gzPg0KICAgIDwvcD4NCiAgICAgICAgDQogICAgPHVsPg0KICAgICAgICA8bGk+VGV4dCBJbnB1dDogPGNvZGU+c2l6ZVsyMF07bWF4X2xlbmd0aFsyMF08L2NvZGU+PC9saT4NCiAgICAgICAgPGxpPkNoZWNrYm94OiA8Y29kZT4tPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5UZXh0IEFyZWE6IDxjb2RlPm1heF9sZW5ndGhbMjBdO3d5c2l3eWdbMV08L2NvZGU+PC9saT4NCiAgICAgICAgPGxpPlNlbGVjdCBEYXRlOiA8Y29kZT5zaXplWzIwXTttYXhfbGVuZ3RoWzIwXTtkYXRlZm9ybWF0W2RkL21tL3l5XTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+VXBsb2FkIEZpbGU6IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddO2RpclsvcGF0aC90by9kaXJdO2V4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+U2VsZWN0IEZpbGU6IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddO2RpclsvcGF0aC90by9kaXJdO2V4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXTtmaWxlYnJvd3NlclsxXTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+RHJvcGRvd246IDxjb2RlPm9wdGlvbnNbYXBwbGU9QXBwbGUsYmFuYW5hPUJhbmFuYV08L2NvZGU+PC9saT4NCiAgICA8L3VsPg0KICAgIA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0mcXVvdDtjYXRlZ29yaWVzX2MmcXVvdDs+DQogICAgPGgzPkNhdGVnb3JpZXM8L2gzPg0KICAgIDxwPk9ubHkgc2luZ2xlIGxldmVsIGNhdGVnb3JpZXMgYXJlIHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUuDQogICAgPC9wPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0mcXVvdDt0ZW1wbGF0ZXNfYyZxdW90Oz4NCiAgICA8aDM+VGVtcGxhdGVzPC9oMz4NCiAgICA8cD5JZiB5b3UgYXJlIG5vdCBzdXJlIHdoYXQgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgdG8gdXNlIGluIHlvdXIgdGVtcGxhdGVzLCB0cnkgdGhlIGRlYnVnIHRlbXBsYXRlOg0KICAgIDwvcD4NCiAgICA8cD57IHN1bW1hcnl0ZW1wbGF0ZT0mIzAzOTtkZWJ1ZyYjMDM5O30NCiAgICA8L3A+DQogICAgPHA+WW91IGNhbiBhY2Nlc3MgYW55IGZpZWxkIGRpcmVjdGx5IHdoZW4gbG9vcGluZyB0aHJvdWdoIGl0ZW1zIHVzaW5nIGl0cyBhbGlhcywgZm9yIGV4YW1wbGUsIHRvIGlmIHlvdSBjcmVhdGVkIGEgZmllbGQgZGVmaW5pdGlvbiB3aXRoIGFuIGFsaWFzICZxdW90O3Bvc2l0aW9uJnF1b3Q7LCB5b3UgY2FuIGRvOg0KICAgIDwvcD4NCjxwcmU+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19DQogICAgeyRpdGVtLT5maWVsZGRlZnMucG9zaXRpb24udmFsdWV8Y21zX2VzY2FwZX08YnIgLz4NCnsvZm9yZWFjaH0NCjwvcHJlPg0KICAgIDxwPkJlc2lkZXMsIHlvdSBjYW4gbG9vcCB0aHJvdWdoIGNhdGVnb3JpZXMgaW4gdGhlIHN1bW1hcnkgdGVtcGxhdGUganVzdCBhcyB3ZWxsIGFzIGxvb3BpbmcgdGhyb3VnaCBpdGVtczo8L3A+DQo8cHJlPg0Ke2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcyBpdGVtPWNhdGVnb3J5fQ0KICAgIHskY2F0ZWdvcnktPm5hbWV9PGJyIC8+DQoJeyRjYXRlZ29yeS0+YWxpYXN9PGJyIC8+DQoJeyRjYXRlZ29yeS0+aWR9PGJyIC8+DQp7L2ZvcmVhY2h9DQo8L3ByZT4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9JnF1b3Q7ZHVwbGljYXRpbmdfYyZxdW90Oz4NCiAgICA8aDM+RHVwbGljYXRpbmcgdGhpcyBtb2R1bGU8L2gzPg0KICAgIDxwPlRoaXMgbW9kdWxlIHdhcyBtYWRlIHRvIGJlIGVhc2lseSBkdXBsaWNhdGVkLg0KICAgIDwvcD5UbyBkdXBsaWNhdGUgdGhpcyBtb2R1bGUsIGZvbGxvdyB0aGVzZSBzdGVwcyBCRUZPUkUgaW5zdGFsbGluZyB0aGUgbW9kdWxlOg0KICAgIDwvcD4NCiAgICA8b2w+ICAgIA0KICAgICAgPGxpPlJlbmFtZSB0aGUgZGlyZWN0b3J5ICZxdW90OzxiPkxpc3RJdDwvYj4mcXVvdDsNCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPlJlbmFtZSAmcXVvdDtjbGFzcyA8Yj5MaXN0SXQ8L2I+IGV4dGVuZHMgQ01TTW9kdWxlJnF1b3Q7IGluc2lkZSBMaXN0SXQubW9kdWxlLnBocA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+UmVuYW1lICZxdW90OzxiPkxpc3RJdDwvYj4ubW9kdWxlLnBocCZxdW90Ow0KICAgICAgPC9saT4NCiAgICA8L29sPg0KICAgIDxwPk1ha2Ugc3VyZSB5b3UgZm9sbG93IHRoZSBDTVNNUyBtb2R1bGUgbmFtaW5nIGNvbnZlbnRpb25zLCBhLXogd2l0aCBubyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIG9yIHNwYWNlcyB0byBiZSBzYWZlIDopDQogICAgPC9wPg0KICAgIDxwPllvdSBjYW4gYWx3YXlzIGNoYW5nZSB0aGUgbW9kdWxlIGZyaWVuZGx5IG5hbWUgb25jZSBpbnN0YWxsZWQgdW5kZXIgJnF1b3Q7T3B0aW9ucyZxdW90OyAoQ29udGVudCA+ICkuIFRvIGNoYW5nZSB0aGUgaWNvbiwgcmVwbGFjZSAvbW9kdWxlcy8vaW1hZ2VzL2ljb24uZ2lmLg0KICAgIDwvcD4NCiAgPC9kaXY+DQo8L2Rpdj4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdPdmVycmlkZSB0aGUgZGVmYXVsdCBhY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQo8bGk+JnF1b3Q7ZGVmYXVsdCZxdW90OyAtIHRvIGRpc3BsYXkgdGhlIHN1bW1hcnkgdmlldy48L2xpPg0KPGxpPiZxdW90O2RldGFpbCZxdW90OyAtIHRvIGRpc3BsYXkgYSBzcGVjaWZpZWQgZW50cnkgaW4gZGV0YWlsIG1vZGUuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2FsbCddID0gJ1Nob3cgYWxsIGl0ZW1zLCBpcnJlc3BlY3RpdmUgb2YgZW5kIGRhdGUuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnknXSA9ICdTcGVjaWZ5IHRoZSBjYXRlZ29yeSBhbGlhcyB0byBkaXNwbGF5IGl0ZW1zIG9ubHkgZnJvbSB0aGlzIGNhdGVnb3J5Lic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhlIGRldGFpbCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhlIHN1bW1hcnkgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlJzsKJGxhbmdbJ2hlbHBfcGFyYW1fb3JkZXJieSddID0gJ1lvdSBjYW4gb3JkZXIgYnkgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29sdW1uczogaXRlbV9pZCwgaXRlbV90aXRsZSwgaXRlbV9wb3NpdGlvbiwgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X3Bvc2l0aW9uLjxiciAvPg0KPHVsPg0KPGxpPkZvciBleGFtcGxlOjxiciAvPg0Kb3JkZXJieT0mIzAzOTtjYXRlZ29yeV9uYW1lLCBpdGVtX3RpdGxlJiMwMzk7PC9saT4NCjxsaT5Zb3UgY2FuIGFsc28gc3BlY2lmeSBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZyBmb3IgYW55IGNvbHVtbiwgZm9yIGV4YW1wbGU6PGJyIC8+DQpvcmRlcmJ5PSYjMDM5O2NhdGVnb3J5X25hbWV8YXNjLCBpdGVtX3RpdGxlfGRlc2MmIzAzOTs8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdQYWdlIHRvIGRpc3BsYXkgaXRlbSBkZXRhaWxzIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy4gVXNlZCB0byBhbGxvdyBkZXRhaWxzIHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gc3VtbWFyeS4nOwokbGFuZ1snaGVscF9wYXJhbV9pdGVtJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBhcHBsaWNhYmxlIHRvIHRoZSBkZXRhaWwgdmlldy4gSXQgYWxsb3dzIHNwZWNpZnlpbmcgd2hpY2ggaXRlbSB0byBkaXNwbGF5IGluIGRldGFpbCBtb2RlLiBNdXN0IGJlIGFuIGl0ZW0gYWxpYXMuJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTUzNjg0OTExNS0xMzA3OTgzNDk1MjEwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuOTAwNDA1NDc1LjEzMTUzNDQ1NDYuMTMxNTM0NDU0Ni4xMzE1MzQ0NTQ2LjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzE1MzQ0NTQ2LjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEzMTUzNDQ1NDYnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ludmFsaWRfY2hhcmFjdGVycyddID0gJ0thcmFrdGVycywgem9hbHM6ICVzIHppam4gbmlldCB0b2VnZXN0YWFuIGluIGhldCB2ZWxkOiAlcyc7CiRsYW5nWydpdGVtJ10gPSAnSXRlbSAnOwokbGFuZ1snaXRlbXMnXSA9ICdJdGVtcyAnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdWZWxkZGVmaW5pdGllJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ1ZlbGRkZWZpbml0aWVzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaSZldW1sO24nOwokbGFuZ1snb3B0aW9uJ10gPSAnT3B0aWUnOwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGllcyc7CiRsYW5nWydiYWNrJ10gPSAnR2EgZWVuIHBhZ2luYSB0ZXJ1Zyc7CiRsYW5nWydpdGVtX3RpdGxlJ10gPSAnVGl0ZWwnOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGUnXSA9ICdJdGVtIHRpdGVsJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGllZic7CiRsYW5nWydjcmVhdGVfdGltZSddID0gJ0RhdHVtIGFhbmdlbWFha3QnOwokbGFuZ1sndGltZV9jb250cm9sJ10gPSAnR2VicnVpayB0aWpkc2JlaGVlcic7CiRsYW5nWydzdGFydF90aW1lJ10gPSAnU3RhcnR0aWpkJzsKJGxhbmdbJ2VuZF90aW1lJ10gPSAnRWluZHRpamQnOwokbGFuZ1snaXRlbV90aXRsZV9lbXB0eSddID0gJ0l0ZW0gdGl0ZWwgaXMgbGVlZyc7CiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1ZlcnBsaWNodCB2ZWxkIGlzIGxlZWcnOwokbGFuZ1sndG9vX2xvbmcnXSA9ICdWZWxkd2FhcmRlIG92ZXJzY2hyaWpkdCBtYXhpbWFhbCB0b2VnZXN0YW5lIGxlbmd0ZSc7CiRsYW5nWydhcHByb3ZlJ10gPSAnWmV0IFN0YXR1cyBvcCAmIzAzOTtBY3RpZWYmIzAzOTsnOwokbGFuZ1sncmV2ZXJ0J10gPSAnWmV0IFN0YXR1cyBvcCAmIzAzOTtJbmFjdGllZiYjMDM5Oyc7CiRsYW5nWydzdWJtaXRfb3JkZXInXSA9ICdTbGEgdm9sZ29yZGUgb3AnOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnVmVyd2lqZGVyIGdlc2VsZWN0ZWVyZGUgJXMnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZSddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBhbGxlIGRlemUgJXMgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdGVlciBhbGxlcyc7CiRsYW5nWydlcnJvcl9zdGFydGdyZWF0ZXJlbmQnXSA9ICdTdGFydGRhdHVtIGlzIGxhdGVyIGRhbiBkZSBlaW5kZGF0dW0uJzsKJGxhbmdbJ2l0ZW1fYWxpYXNfZXhpc3RzJ10gPSAnQWxpYXMgdm9vciBkaXQgaXRlbSBiZXN0YWF0IGFsIHJlZWRzLiBFZW4gYWxpYXMgbW9ldCB1bmllayB6aWpuLic7CiRsYW5nWydyZXR1cm5fdXJsJ10gPSAnVGVydWcnOwokbGFuZ1sncGF0aGNvbnRhaW5zdmFycyddID0gJ0RpdCB2ZWxkIGthbiB3b3JkZW4gYmV3ZXJrdCBuYWRhdCB1IGVlcnN0IGRlemUgJXMgaGVlZnQgb3BnZXNsYWdlbic7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdCZXdlcmsgdmVsZGRlZmluaXRpZSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFhbSc7CiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGFuZGlnZSB0aXAnOwokbGFuZ1snZmllbGRkZWZfdHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ2ZpZWxkZGVmX2RlcHMnXSA9ICdNb2R1bGUgQWZoYW5rZWxpamtoZWRlbic7CiRsYW5nWydmaWVsZGRlZl9kZXBzX21pc3NpbmcnXSA9ICdPbmUgb3IgbW9yZSBtb2R1bGUgZGVwZW5kZW5jaWVzIG1pc3NpbmcsIHBsZWFzZSBpbnN0YWxsIGFsbCByZXF1aXJlZCBtb2R1bGVzIGluIG9yZGVyIHRvIHN0YXJ0IHVzaW5nIHRoaXMgZmllbGQuJzsKJGxhbmdbJ2ZpZWxkZGVmX3NjYW4nXSA9ICdTY2FuIEZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ2ZpZWxkZGVmX3NjYW5uZWQnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyBzY2FubmVkJzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGVfbm90c2V0J10gPSAnRmllbGQgRGVmaW5pdGlvbnMgdHlwZSBpcyBub3Qgc2V0JzsKJGxhbmdbJ2ZpZWxkZGVmX2ZyaWVuZGx5dHlwZSddID0gJ0ZyaWVuZGx5IFR5cGUnOwokbGFuZ1snZmllbGRkZWZfb3JpZ2luYXRvciddID0gJ09yaWdpbmF0b3InOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltYWxlIGxlbmd0ZSc7CiRsYW5nWydmaWVsZGRlZl9yZXF1aXJlZCddID0gJ1ZlcnBsaWNodCc7CiRsYW5nWydyZWdpc3RlcmVkX2ZpZWxkZGVmcyddID0gJ1JlZ2lzdGVyZWQgRmllbGQgRGVmaW5pdGlvbnMnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ05hYW0gdmFuIGRlIHZlbGRkZWZlbml0aWUgaXMgbmlldCBvcGdlZ2V2ZW4nOwokbGFuZ1snZmllbGRkZWZfbmFtZV9leGlzdHMnXSA9ICdOYWFtIHZhbiBkZSB2ZWxkZGVmaW5pdGllIGJlc3RhYXQgYWwnOwokbGFuZ1snZmllbGRkZWZfYWxpYXNfZXhpc3RzJ10gPSAnQWxpYXMgdm9vciBkZXplIHZlbGRkZWZlbml0aWUgYmVzdGFhdCBhbCByZWVkcy4gRWVuIGFsaWFzIG1vZXQgdW5pZWsgemlqbi4nOwokbGFuZ1snaW52YWxpZCddID0gJ1ZlbGR3YWFyZGUgaXMgb25nZWxkaWcnOwokbGFuZ1snc3RhdHVzX3JlcXVpcmVkJ10gPSAnWmV0IHN0YXR1cyBvcCAmIzAzOTt2ZXJwbGljaHQmIzAzOTsnOwokbGFuZ1snc3RhdHVzX29wdGlvbmFsJ10gPSAnWmV0IHN0YXR1cyBvcCAmIzAzOTtvcHRpb25lZWwmIzAzOTsnOwokbGFuZ1snaXNfZGVmYXVsdCddID0gJ0lzIGluZ2VzdGVsZCBhbHMgJiMwMzk7c3RhbmRhYXJkJiMwMzk7JzsKJGxhbmdbJ3N0YXR1c19kZWZhdWx0J10gPSAnSW5zdGVsbGVuIGFscyAmIzAzOTtzdGFuZGFhcmQmIzAzOTsnOwokbGFuZ1snaGVscHRleHRfdGl0bGUnXSA9ICdNb2dlbGlqa2UgdmVsZGRlZmluaXRpZSBpbnN0cnVjdGllcyB2b29yIGV4dHJhIHZlbGQ6JzsKJGxhbmdbJ2ZpZWxkZGVmX1RleHRJbnB1dCddID0gJ1Rla3N0aW52b2VyJzsKJGxhbmdbJ2ZpZWxkZGVmX0NoZWNrYm94J10gPSAnVmlua3Zha2plJzsKJGxhbmdbJ2ZpZWxkZGVmX1RleHRBcmVhJ10gPSAnVGVrc3RydWltdGUnOwokbGFuZ1snZmllbGRkZWZfU2VsZWN0RGF0ZSddID0gJ1NlbGVjdGVlciBEYXR1bSc7CiRsYW5nWydmaWVsZGRlZl9HQkZpbGVQaWNrZXInXSA9ICdHQkZpbGVQaWNrZXIgVXBsb2FkIEZpbGUnOwokbGFuZ1snZmllbGRkZWZfR0JGaWxlUGlja2VyX2ZpbGVicm93c2VyJ10gPSAnRW5hYmxlIEZpbGVicm93c2VyJzsKJGxhbmdbJ2ZpZWxkZGVmX0dCRmlsZVBpY2tlcl9pbWFnZSddID0gJ0V4cGVjdGVkIHRvIGJlIGltYWdlJzsKJGxhbmdbJ2ZpZWxkZGVmX0dCRmlsZVBpY2tlcl9jcmVhdGVfZGlycyddID0gJ0FsbG93IGRpcmVjdG9yeSBjcmVhdGlvbic7CiRsYW5nWydmaWVsZGRlZl9HQkZpbGVQaWNrZXJfZGVsZXRlJ10gPSAnVmVyd2lqZGVyZW4gdG9lc3RhYW4nOwokbGFuZ1snZmllbGRkZWZfR0JGaWxlUGlja2VyX3Nob3dfc3ViZGlycyddID0gJ0FsbG93IHN1YiBkaXJlY3Rvcmllcyc7CiRsYW5nWydmaWVsZGRlZl9Ecm9wZG93biddID0gJ0Ryb3Bkb3duICc7CiRsYW5nWydmaWVsZGRlZl9HYWxsZXJ5RHJvcGRvd24nXSA9ICdHYWxsZXJ5IERyb3Bkb3duICc7CiRsYW5nWydmaWVsZGRlZl9Db250ZW50UGFnZXMnXSA9ICdDb250ZW50IFBhZ2luYSYjMDM5O3MnOwokbGFuZ1snZmllbGRkZWZfU2VsZWN0RmlsZSddID0gJ1NlbGVjdGVlciBiZXN0YW5kJzsKJGxhbmdbJ2ZpZWxkc2V0X3N0YXJ0J10gPSAnU3RhcnQgVmVsZGdyb2VwJzsKJGxhbmdbJ2ZpZWxkc2V0X2VuZCddID0gJ0VpbmQgVmVsZGdyb2VwJzsKJGxhbmdbJ2ZpZWxkZGVmX2FsbG93X2hlbHAnXSA9ICdTcGVjaWZ5IGEgY29tbWEgc2VwcmF0ZWQgbGlzdCBvZiBmaWxlIGV4dGVuc2lvbnMgdGhhdCBhcmUgYWxsb3dlZC4gRm9yIGV4YW1wbGU6IHBkZixnaWYsanBlZyxqcGcgKGtlZXAgbG93ZXJjYXNlKSc7CiRsYW5nWydmaWVsZGRlZl9kaXJfaGVscCddID0gJ0RpcmVjdG9yeSBwYXRoIHRoYXQgd2lsbCBiZSBhcHBlbmRlZCB0byAkY29uZmlnWyYjMDM5O3VwbG9hZHNfdXJsJiMwMzk7XSAuIE5vIHNsYXNoIGF0IHRoZSBlbmQuIHskaXRlbV9pZH0gYW5kIHskaXRlbV9hbGlhc30gd2lsbCBiZSByZXBsYWNlZC4nOwokbGFuZ1snZmllbGRkZWZfZXhjbHVkZV9wcmVmaXhfaGVscCddID0gJ1NwZWNpZnkgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcHJlZml4ZXMgdG8gZXhjbHVkZSBmaWxlcyB0aGF0IHN0YXJ0cyB3aXRoIHRoZSBzZXQgcHJlZml4LiBGb3IgZXhhbXBsZTogdGh1bWJfLCBmb29fJzsKJGxhbmdbJ2ZpZWxkZGVmX2Ryb3Bkb3duX2hlbHAnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuIFZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIGZyb20gdGV4dCB3aXRoIGEgPSBjaGFyYWN0ZXIuIEZvciBleGFtcGxlOiBCYW5hbmE9YmFuYW5hJzsKJGxhbmdbJ2ZpZWxkZGVmX3NpemVfaGVscCddID0gJ1NwZWNpZnkgc2l6ZSBvZiBpbnB1dCBmaWVsZC4gRm9yIGV4YW1wbGU6IDIwJzsKJGxhbmdbJ2ZpZWxkZGVmX21heF9sZW5naHRfaGVscCddID0gJ1NwZWNpZnkgbWF4aW11bSBsZW5naHQgb2YgdGhlIGZpZWxkLiBGb3IgZXhhbXBsZTogMjU1JzsKJGxhbmdbJ2ZpZWxkZGVmX2RhdGVfZm9ybWF0X2hlbHAnXSA9ICdTcGVjaWZ5IGRhdGUgZm9ybWF0IHVzZWQgYnkgalF1ZXJ5IERhdGVwaWNrZXIuIFRyeSBnb29nbGluZyAmIzAzOTtqcXVlcnkgZm9ybWF0RGF0ZSYjMDM5Oy4gRm9yIGV4YW1wbGU6IGRkL21tL3l5JzsKJGxhbmdbJ2ZpZWxkZGVmX3d5c2l3eWdfaGVscCddID0gJ0lmIGNoZWNrZWQsIGEgV1lTSVdZRyBFZGl0b3Igd2lsbCBiZSBlbmFibGVkIGZvciB0aGlzIGZpZWxkLic7CiRsYW5nWydmaWVsZGRlZl9HQkZQX2ZpbGVicm93c2VyX2hlbHAnXSA9ICdCeSBkZWZhdWx0IGEgZHJvcGRvd24gd2lsbCBiZSB1c2VkLiBFbmFibCBmaWxlYnJvd3NlciBpZiB1c2VyIG1heSBicm93c2UgdGhlIGZpbGVzLic7CiRsYW5nWydmaWVsZGRlZl9HQkZQX21lZGlhX3R5cGVfaGVscCddID0gJ0FsbG93cyB5b3UgdG8gc3BlY2lmeSBpbWFnZXMgYXMgbWVkaWEgdHlwZSB0byBiZSBkaXNwbGF5ZWQuIEJ5IGRlZmF1bHQgYWxsIGZpbGVzIHdpbGwgYmUgc2hvd24uJzsKJGxhbmdbJ2ZpZWxkZGVmX0dCRlBfZGVsZXRlX2hlbHAnXSA9ICdJZiBlbmFibGVkIHlvdSBjYW4gZ3JhbnQgZGVsZXRpbmcgZmlsZXMgb3IgZGlyZWN0b3JpZXMgZm9yIHRoaXMgZmllbGQgZXZlbiB0byB1c2VycyB3aXRob3V0IGFwcm9wcmlhdGUgcGVybWlzc2lvbi4nOwokbGFuZ1snZmllbGRkZWZfR0JGUF9jcmVhdGVfZGlyc19oZWxwJ10gPSAnSWYgZW5hYmxlZCB5b3UgY2FuIGdyYW50IGNyZWF0aW9uIG9mIGRpcmVjdG9yaWVzIGZvciB0aGlzIGZpZWxkIGV2ZW4gdG8gdXNlcnMgd2l0aG91dCBhcHJvcHJpYXRlIHBlcm1pc3Npb24uJzsKJGxhbmdbJ2ZpZWxkZGVmX0dCRlBfc2hvd19zdWJkaXJzX2hlbHAnXSA9ICdJZiBlbmFibGVkIHVzZXIgbWF5IGJyb3dzZSBzdWJkaXJlY3Rvcmllcy4nOwokbGFuZ1sndXBsb2FkX2ZpbGVfaGVscHRleHQnXSA9ICc8dWw+DQogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogZXh0ZW5zaW9uIChrZWVwIGxvd2VyY2FzZSk8L2xpPg0KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5kaXJbL3BhdGgvdG8vZGlyXTwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IERpcmVjdG9yeSBwYXRoIHRoYXQgd2lsbCBiZSBhcHBlbmRlZCB0byAkY29uZmlnWyYjMDM5O3VwbG9hZHNfdXJsJiMwMzk7XSAuIE5vIHNsYXNoIGF0IHRoZSBlbmQuIHskaXRlbV9pZH0gYW5kIHskaXRlbV9hbGlhc30gd2lsbCBiZSByZXBsYWNlZC48L2xpPg0KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5leGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX108L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBwcmVmaXg8L2xpPg0KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5maWxlYnJvd3NlclsxXTwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+DQogICAgICAgIE5vdGU6IFNldHMgR0JGaWxlUGlja2VyIHRvIGZpbGVicm93c2VyIG1vZGUgaW5zdGVhZCBvZiBkZWZhdWx0IGRyb3Bkb3duIG1vZGU8L2xpPg0KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5pbWFnZVsxXTwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+DQogICAgICAgIE5vdGU6IFNldHMgR0JGaWxlUGlja2VyIHRvIHNob3cgdGh1bWJuYWlsIGltYWdlIGluc3RlYWQgb2YgaW5wdXQgZmllbGQuPC9saT4NCiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+Y3JlYXRlX2RpcnNbMV08L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KICAgICAgICBOb3RlOiBTZXRzIEdCRmlsZVBpY2tlciB0byBhbGxvdyBjcmVhdGluZyBuZXcgZGlyZWN0b3J5LiAoRGVwZW5kcyBvbiB1c2VyIG9yIGdyb3VwIGFzIHdlbGwgYXMgR0JGaWxlUGlja2VyIHBlcm1pc3Npb24pPC9saT4NCiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+ZGVsZXRlWzFdPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4NCiAgICAgICAgTm90ZTogU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgZGVsZXRpbmcgZmlsZXMuIChEZXBlbmRzIG9uIHVzZXIgb3IgZ3JvdXAgYXMgd2VsbCBhcyBHQkZpbGVQaWNrZXIgcGVybWlzc2lvbik8L2xpPiANCiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+c2hvd19zdWJkaXJzWzFdPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4NCiAgICAgICAgTm90ZTogU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgdmlld2luZyBvZiBzdWJkaXJlY3Rvcmllcy4gKERlcGVuZHMgb24gdXNlciBvciBncm91cCBhcyB3ZWxsIGFzIEdCRmlsZVBpY2tlciBwZXJtaXNzaW9uKTwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgIA0KPC91bD4nOwokbGFuZ1sncmVvcmRlcl9jYXRlZ29yaWVzJ10gPSAnSGVyc2NoaWsgQ2F0ZWdvcmllJmV1bWw7bic7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnQmV3ZXJrIGNhdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yeV9uYW1lJ10gPSAnTmFhbSBjYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnlfZGVzY3JpcHRpb24nXSA9ICdCZXNjaHJpanZpbmcgY2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdOYWFtIHZhbiBkZSBjYXRlZ29yaWUgaXMgbGVlZyBnZWxhdGVuJzsKJGxhbmdbJ2NhdGVnb3J5X2FsaWFzX2V4aXN0cyddID0gJ0RlIGNhdGVnb3JpZSBiZXN0YWF0IGFsLiBFZW4gYWxpYXMgbW9ldCB1bmllayB6aWpuLic7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGUnXSA9ICdTYW1lbnZhdHRpbmdzc2phYmxvb24nOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1NhbWVudmF0dGluZ3NzamFibG9uZW4nOwokbGFuZ1snZGV0YWlsdGVtcGxhdGUnXSA9ICdEZXRhaWxzamFibG9vbic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhaWxzamFibG9uZW4nOwokbGFuZ1snc2VhcmNodGVtcGxhdGUnXSA9ICdab2VrIFNqYWJsb29uJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1pvZWsgU2phYmxvbmVuJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlJ10gPSAnRmlsdGVyIFNqYWJsb29uJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlcyddID0gJ0ZpbHRlciBTamFibG9uZW4nOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnQmV3ZXJrIHNqYWJsb29uJzsKJGxhbmdbJ3RlbXBsYXRlX25hbWUnXSA9ICdOYWFtIHNqYWJsb29uJzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVfZW1wdHknXSA9ICdOYWFtIHZhbiBoZXQgc2phYmxvb24gaXMgbGVlZ2dlbGF0ZW4nOwokbGFuZ1sndGVtcGxhdGVfY29udGVudF9lbXB0eSddID0gJ1NqYWJsb29uIGluaG91ZCBpcyBsZWVnJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnU3RhbmRhYXJkIHNqYWJsb25lbic7CiRsYW5nWydtb2R1bGVfb3B0aW9ucyddID0gJ01vZHVsZSBvcHRpZXMnOwokbGFuZ1sndXJsX29wdGlvbnMnXSA9ICdVUkwgb3B0aWVzJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdWcmllbmRlbGlqa2UgbmFhbSBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2FkbWluc2VjdGlvbiddID0gJ01vZHVsZSBBZG1pbiBTZWN0aWUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdFbmtlbHZvdWRpZyBpdGVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ01lZXJ2b3VkaWcgaXRlbSc7CiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1VSTCBQcmVmaXggJzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0dlZWYgZGV0YWlscyBpbmxpbmUgd2Vlcic7CiRsYW5nWydwcm9tcHRfaXRlbV9jb2xzJ10gPSAnR2VlZiBkaXQgdmVsZCB3ZWVyIGluIGhldCBpdGVtb3ZlcnppY2h0JzsKJGxhbmdbJ3Byb21wdF9pdGVtc19wZXJfcGFnZSddID0gJ0Rpc3BsYXkgaXRlbXMgcGVyIHBhZ2UnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZV9kYXRlJ10gPSAnRGlzcGxheSBpdGVtIGNyZWF0ZWQgZGF0ZSBpbiBJdGVtIGVkaXQgbW9kZT8nOwokbGFuZ1sndGV4dF9zb3J0b3JkZXInXSA9ICdTdGFuZGFhcmQgYmFja2VuZCBpdGVtcyB2b2xnb3JkZSc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBZmxvcGVuZCc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnT3Bsb3BlbmQnOwokbGFuZ1snb3B0aW9uc19ub3RpY2UnXSA9ICdOYSBoZXQgd2lqemlnZW4gdmFuIGRlIG5hYW0gb2YgZGUgQWRtaW4gc2VjdGllIHZhbiBkZSBtb2R1bGUga2FuIGhldCBub2RpZyB6aWpuIG9tIGRlIHdlYnNpdGUtYnVmZmVyIHRlIHdpc3NlbiBvbSBkZSB3aWp6aWdpbmdlbiB6aWNodGJhYXIgdGUgbWFrZW4uJzsKJGxhbmdbJ25vdGljZSddID0gJ09wbWVya2luZyc7CiRsYW5nWydpbnN0YW5jZXMnXSA9ICdJbnN0YW50aWVzJzsKJGxhbmdbJ2luc3RhbGxlZF9pbnN0YW5jZXNfd2FybmluZyddID0gJ0JlbG93IGlzIGEgbGlzdCBvZiBkdXBsaWNhdGVkIG1vZHVsZSBpbnN0YW5jZXMuPGJyIC8+TWFrZSBzdXJlIHRvIGJhY2t1cCB5b3VyIHNpdGUgKERhdGFic2UgYW5kIEZpbGVzKSBiZWZvcmUgJnF1b3Q7dXBkYXRlJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbnN0YWxsZWRfaW5zdGFuY2VzJ10gPSAnR2UmaXVtbDtuc3RhbGxlZXJkZSBpbnN0YW50aWVzJzsKJGxhbmdbJ2luc3RhbmNlX25hbWUnXSA9ICdJbnN0YW50aWUgbmFhbSc7CiRsYW5nWydpbnN0YW5jZV9mcmllbmRseW5hbWUnXSA9ICdWcmllbmRlbGlqa2UgbmFhbSc7CiRsYW5nWydpbnN0YW5jZV9zbWFydHknXSA9ICdTbWFydHkgdGFnICc7CiRsYW5nWydpbnN0YW5jZV92ZXJzaW9uJ10gPSAnVmVyc2llJzsKJGxhbmdbJ2luc3RhbmNlX3VwZ3JhZGUnXSA9ICdCaWp3ZXJrZW4nOwokbGFuZ1snaW5zdGFuY2VfdXB0b2RhdGUnXSA9ICdVcC10by1kYXRlJzsKJGxhbmdbJ2luc3RhbmNlX21vZHVsZXVwZ3JhZGVkJ10gPSAnTW9kdWxlIGJpamdld2Vya3QnOwokbGFuZ1snZHVwbGljYXRlX2luc3RhbmNlJ10gPSAnRHVwbGljZWVyIG1vZHVsZSc7CiRsYW5nWydkdXBsaWNhdGVfZGVzY3JpcHRpb24nXSA9ICcgY2FuIGJlIGVhc2lseSBkdXBsaWNhdGVkIHRvIG11bHRpcGxlIG1vZHVsZSBpbnN0YW5jZXMgd2l0aCBkdXBsaWNhdGUgYnV0dG9uLjxiciAvPiBJbnN0YWxsIG5ld2x5IGNvcGllZCBtb2R1bGUgZnJvbSAmcXVvdDtFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyZxdW90Oy4nOwokbGFuZ1snY29weV90aXRsZSddID0gJ0R1YmJlbGUgbW9kdWxlJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnplbmRlbic7CiRsYW5nWydkZWZhdWx0J10gPSAnU3RhbmRhYXJkJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZXJlbic7CiRsYW5nWydzYXZlX2NyZWF0ZSddID0gJ09wc2xhYW4gJmFtcDsgQWFubWFrZW4nOwokbGFuZ1sncmVzZXQnXSA9ICdIZXJzdGVsIHN0YW5kYWFyZCc7CiRsYW5nWydkdXBsaWNhdGUnXSA9ICdEdWJiZWwnOwokbGFuZ1snY2hhbmdlc3NhdmVkJ10gPSAnVXcgd2lqemlnaW5nZW4gemlqbiBzdWNjZXN2b2wgb3BnZXNsYWdlbi4nOwokbGFuZ1snY2hhbmdlc3NhdmVkX2NyZWF0ZSddID0gJ1lvdXIgcHJldmlvdXMgaXRlbSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQuIENyZWF0ZSBuZXcgaXRlbT8nOwokbGFuZ1sndGVtcGxhdGVyZXN0b3JlZCddID0gJ1N0YW5kYWFyZCBzamFibG9vbiBpcyBoZXJzdGVsZC4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1sndXAnXSA9ICdPcCc7CiRsYW5nWydkb3duJ10gPSAnTmVlcic7CiRsYW5nWydlZGl0J10gPSAnV2lqemlnJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1ZlcndpamRlcic7CiRsYW5nWydub3N1Y2hpZCddID0gJ0dlZW4gZ2VsZGlnIElEJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdEZSBpdGVtKHMpIHppam4gc3VjY2Vzdm9sIG9wZ2VzbGFnZW4uJzsKJGxhbmdbJ2FkZCddID0gJ1RvZXZvZWdlbiAlcyc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzICc7CiRsYW5nWydhbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgb25nZWxkaWcuIEhldCBtb2V0IGVlbiBuYWFtIHppam4gZGllIGdlbGRpZyBpcyBhbHMgUEhQIHZhcmlhYmVsZSc7CiRsYW5nWydzZWFyY2gnXSA9ICdab2VrJzsKJGxhbmdbJ3NlYXJjaGZvciddID0gJ1pvZWsgbmFhcic7CiRsYW5nWydzZWFyY2hyZXN1bHRzZm9yJ10gPSAnWm9layByZXN1bHRhdGVuIHZvb3IuLi4nOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwgJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCAnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+ICc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+ICc7CiRsYW5nWydtb2R1bGVfbmFtZSddID0gJ01vZHVsZSBuYWFtJzsKJGxhbmdbJ21vZHVsZV9uYW1lX2VtcHR5J10gPSAnTW9kdWxlIG5hYW0gaXMgbGVlZyc7CiRsYW5nWydtb2R1bGVfbmFtZV9pbnZhbGlkJ10gPSAnTW9kdWxlbmFhbSBiZXZhdCBuaWV0IHRvZWdlc3RhbmUga2FyYWt0ZXJzJzsKJGxhbmdbJ21vZHVsZWNvcGllZCddID0gJ01vZHVsZSBzdWNjZXN2b2wgZ2Vrb3BpZWVyZCc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnS2llcyAmZWFjdXRlOyZlYWN1dGU7bic7CiRsYW5nWydzaXplJ10gPSAnQWZtZXRpbmcnOwokbGFuZ1snbWF4X2xlbmdodCddID0gJ01heCBMZW5ndGUnOwokbGFuZ1snd3lzaXd5ZyddID0gJ1d5c2l3eWcnOwokbGFuZ1snZGF0ZV9mb3JtYXQnXSA9ICdEYXR1bSBPcGJvdXcnOwokbGFuZ1snZGlyJ10gPSAnRGlyZWN0b3J5ICc7CiRsYW5nWydhbGxvd2VkJ10gPSAnVG9lZ2VzdGFhbic7CiRsYW5nWydleGNsdWRlX3ByZWZpeCddID0gJ05lZ2VlciBwcmVmaXgnOwokbGFuZ1snaW1hZ2UnXSA9ICdBZmJlZWxkaW5nJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcmVuJzsKJGxhbmdbJ2ZpbHRlcnByb21wdCddID0gJ0ZpbHRlciAlcyAnOwokbGFuZ1sncGFyYW1fZmlsdGVyX21pc3NpbmcnXSA9ICdQYXJhbWV0ZXIgPGVtPmZpbHRlcjwvZW0+IGlzIHZlcmVpc3QgaW4gZGUgZmlsdGVybW9kdXMuJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGVzJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTGlzdEl0IHN0YWF0IHRvZSBvbSBsaWpzdGVuIGFhbiB0ZSBtYWtlbiBkaWUgdSBrdW50IHdlZXJnZXZlbiBvcCB1dyB3ZWJzaXRlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnIGlzIHN1Y2Nlc3ZvbCBnZSZpdW1sO25zdGFsbGVlcmQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJyBpcyBzdWNjZXN2b2wgZ2VkZSZpdW1sO25zdGFsbGVlcmQnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ3VzYWdlJ10gPSAnR2VicnVpayc7CiRsYW5nWydwZXJtaXNzaW9ucyddID0gJ1JlY2h0ZW4nOwokbGFuZ1snZHVwbGljYXRpbmcnXSA9ICdEdXBsaWNlcmVuIHZhbiBkZXplIG1vZHVsZSc7CiRsYW5nWydhYm91dCddID0gJ092ZXInOwokbGFuZ1snaGVscF9nZW5lcmFsJ10gPSAnPGgzPkFsZ2VtZW5lIGluZm9ybWF0aWU8L2gzPgkJDQoJPHA+U2ltcGx5IHB1dCwgTGlzdEl0IGFsbG93cyB5b3UgdG8gY3JlYXRlIGxpc3RzIHRoYXQgeW91IGNhbiBkaXNwbGF5IHRocm91Z2hvdXQgeW91ciB3ZWJzaXRlLiBZb3UgY291bGQgbWFrZSBhIHNpbXBsZSBGQVEgb3IgVGVzdGltb25pYWxzIGZlYXR1cmUgd2l0aCB0aGlzIG1vZHVsZS4gVGhlIHdlYiBkZXZlbG9wZXIgZGVmaW5lcyBmaWVsZHMgdG8gY29uc3RyYWluIHdoYXQgZGF0YSB0aGUgY2xpZW50IGNhbiBlbnRlci4gQSBudW1iZXIgb2YgZmllbGQgdHlwZXMgY2FuIGJlIHNwZWNpZmllZCAtIHRleHQgaW5wdXQsIGNoZWNrYm94LCB0ZXh0IGFyZWEsIHNlbGVjdCBkYXRlLCB1cGxvYWQgZmlsZSwgc2VsZWN0IGZpbGUsIGRyb3Bkb3duIC0gYW5kIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGNhbiBiZSBzZXQgZm9yIGVhY2ggdHlwZSwgZm9yIGV4YW1wbGUsIGlucHV0IGZpZWxkIHNpemUsIG1heCBsZW5ndGgsIFdZU0lXWUcgZWRpdG9yLCBwb3NzaWJsZSBkcm9wIGRvd24gdmFsdWVzLCBwb3NzaWJsZSBmaWxlIGV4dGVuc2lvbnMsIGRpcmVjdG9yeSBwYXRocyBmb3IgZmlsZSBzZWxlY3Rpb25zLCBkYXRlIGZvcm1hdHMsIGV0Yy4uPC9wPg0KCTxwPkFuIGltcG9ydGFudCBub3RlIG9mIHdhcm5pbmcgLSBUaGlzIGlzIG5vdCBhIGNvbnRlbnQgY29uc3RydWN0aW9uIGtpdCwgc3VjaCBhcyBpbiBEcnVwYWwuIEl0IGlzIG1lYW50IGZvciBzbWFsbCBsaXN0aW5ncywgbm90IHRvIHN0b3JlIHRob3VzYW5kcyBvZiByZWNvcmRzLiBUaGlzIGlzIGJlY2F1c2Ugb2YgdGhlIGRhdGFiYXNlIG1vZGVsIHVzZWQgKEVBVikuIEFsc28sIGVhY2ggYml0IG9mIGRhdGEgeW91IGVudGVyIGlzIHN0b3JlZCBhcyBURVhUIGRhdGEgdHlwZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIHZhcmNoYXIsIGJvb2xlYW4sIHRpbWVzdGFtcCwgZXRjLiBUaGlzIGlzIGEgcmVzdHJpY3Rpb24gb2YgYSBzaG9ydCBkZXZlbG9wbWVudCB0aW1lIGZyYW1lLjwvcD4nOwokbGFuZ1snaGVscF91c2FnZSddID0gJzxoMz5HZWJydWlrPC9oMz4JCQkNCgk8cD5Zb3UgY2FuIGNvbmZpZ3VyZSB7JG1vZHVsZV9uYW1lfSBoZXJlOiBDb250ZW50ID4geyRtb2R1bGVfbmFtZX08L3A+DQoJPHA+UGxhY2UgdGhpcyB0YWcgaW4geW91ciBwYWdlOiB7eyRtb2R1bGVfbmFtZX19PC9wPic7CiRsYW5nWydoZWxwX3VzYWdlX29wdGlvbnMnXSA9ICdBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgCQkJCQ0KCTxvbD4JCQkJCQ0KCQk8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgaW4gdGhlIG1lbnUgY2hhbmdlIHRoZSAmcXVvdDtNb2R1bGUgRnJpZW5kbHkgTmFtZSZxdW90Oy48L2xpPg0KCQk8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBpdGVtIHRhYiBjaGFuZ2UgdGhlICZxdW90O0l0ZW0gUGx1cmFsJnF1b3Q7LjwvbGk+DQoJPC9vbD4gJzsKJGxhbmdbJ2hlbHBfdXNhZ2VfZmllbGRkZWZzJ10gPSAnTmV4dCAtIHNldCB0aGUgRmllbGQgRGVmaW5pdGlvbnMuDQoJPG9sPg0KCQk8bGk+Q2hvb3NlIGZyb20gJnF1b3Q7VGV4dCBJbnB1dCZxdW90OywgJnF1b3Q7Q2hlY2tib3gmcXVvdDssICZxdW90O1RleHQgQXJlYSZxdW90OywgJnF1b3Q7U2VsZWN0IERhdGUmcXVvdDssICZxdW90O1VwbG9hZCBGaWxlJnF1b3Q7LCAmcXVvdDtTZWxlY3QgRmlsZSZxdW90OyAmYW1wOyAmcXVvdDtEcm9wZG93biZxdW90Oy48L2xpPg0KCQk8bGk+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIHRoZSAmcXVvdDtleHRyYSZxdW90OyBmaWVsZC4gU2VlIHRoZSAmcXVvdDtGaWVsZCBEZWZpbml0aW9ucyZxdW90OyB0YWIgZm9yIGEgbGlzdC48L2xpPg0KCQk8bGk+RWFjaCBpdGVtIGluIGVhY2ggbGlzdCBoYXMgdGhyZWUgZGVmYXVsdCBmaWVsZHMuIEFsbCBGaWVsZCBEZWZpbml0aW9ucyBzZXQgaGVyZSBhcmUgYWRkaXRpb25hbCB0byB0aGVtLjwvbGk+DQoJPC9vbD4nOwokbGFuZ1snaGVscF91c2FnZV9jYXRlZ29yaWVzJ10gPSAnRXIgaXMgc3RhbmRhYXJkIGVlbiBjYXRlZ29yaWUgYWFud2V6aWcgJiMwMzk7QWxnZW1lZW4mIzAzOTsuIERlemUga2FuIGV2ZW50dWVlbCB3b3JkZW4gaGVybm9lbWQgZW4gYW5kZXJlIGNhdGVnb3JpZSZldW1sO24ga3VubmVuIHdvcmRlbiB0b2VnZXZvZWdkLic7CiRsYW5nWydoZWxwX3VzYWdlX2l0ZW1zJ10gPSAnTm93IHdlIG1vdmUgb24gdG8gdGhlIGl0ZW0gbGlzdCBpdHNlbGYuIEluIHRoaXMgZXhhbXBsZSBpdCBzYXlzICZxdW90O0FkZCBCb3gmcXVvdDssIHRoaXMgd2FzIHJlbmFtZWQgaW4gdGhlICZxdW90O09wdGlvbnMmcXVvdDsgdGFiLiANCgk8b2w+DQoJCTxsaT5UaGUgZmlyc3QgZmllbGQgaXMgdGhlIGRlZmF1bHQgJnF1b3Q7VGl0bGUmcXVvdDsgZmllbGQuPC9saT4NCgkJPGxpPlRoZSAmcXVvdDtDYXRlZ29yeSZxdW90OyBkcm9wZG93biBpcyBhbHNvIGEgZGVmYXVsdCBmaWVsZCwgYW5kIGlmIHVuY2hhbmdlZCwgd2lsbCBiZSBzZXQgdG8gJnF1b3Q7R2VuZXJhbCZxdW90Oy48L2xpPg0KCQk8bGk+VGhlIHRoaXJkIGRlZmF1bHQgZmllbGQgaXMgdGhlIGNoZWNrYm94IGNhbGxlZCAmcXVvdDtBY3RpdmUmcXVvdDsuIFRoaXMgYWxsb3dzIHlvdSB0byB0b2dnbGUgYSBsaXN0IGVudHJ5IHdpdGhvdXQgZGVsZXRpbmcgaXQuPC9saT4NCgk8L29sPiAnOwokbGFuZ1snaGVscF9wZXJtaXNzaW9ucyddID0gJzxoMz5QZXJtaXNzaW9uczwvaDM+IA0KCTxwPllvdSBjYW4gc3BlY2lmeSB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zIHVuZGVyIFVzZXJzICZhbXA7IEdyb3VwcyA+IEdyb3VwIFBlcm1pc3Npb25zPC9wPg0KCTx1bD4NCgkJPGxpPnskbW9kdWxlX25hbWV9OiBNb2RpZnkgSXRlbXM8L2xpPg0KCQk8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBDYXRlZ29yaWVzPC9saT4NCgkJPGxpPnskbW9kdWxlX25hbWV9OiBNb2RpZnkgT3B0aW9uczwvbGk+DQoJPC91bD4NCgk8cD5UbyBhbGxvdyBub24tYWRtaW4gdXNlcnMgdG8gdXBsb2FkIGZpbGVzLCBwbGVhc2UgZ28gdG8gRXh0ZW5zaW9ucyA+IEdCRmlsZVBpY2tlciBhbmQgdGljayB0aGF0IGZpcnN0IGNoZWNrYm94ICZxdW90O1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyZxdW90Oy48L3A+JzsKJGxhbmdbJ2hlbHBfZmllbGRkZWZzJ10gPSAnPGgzPkZpZWxkIERlZmluaXRpb25zPC9oMz4gDQoJPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgY29uZmlndXJlIGFyZSB5b3VyIGZpZWxkIGRlZmluaXRpb25zLiA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEZpZWxkIGRlZmluaXRpb25zIGNhbiBvbmx5IGJlIGRlbGV0ZWQgd2hlbiB0aGV5JiMwMzk7cmUgbm90IGluIHVzZSBpbiBvcmRlciB0byBhdm9pZCBkYXRhIGxvc3MuPC9wPg0KCTxwPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBpbiB0aGUgJnF1b3Q7ZXh0cmEmcXVvdDsgZmllbGQuPC9wPg0KCTx1bD4NCgkJPGxpPg0KCQkJPHA+SW5zdHJ1Y3Rpb246IA0KCQkJPGNvZGU+c2l6ZVsyMF08L2NvZGU+PGJyIC8+DQoJCQlQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KCQkJQXBwbGljYWJsZSB0bzogVGV4dCBJbnB1dCwgU2VsZWN0IERhdGU8L3A+ICAgIA0KCQk8L2xpPg0KCQk8bGk+DQoJCQk8cD5JbnN0cnVjdGlvbjogDQoJCQk8Y29kZT5tYXhfbGVuZ3RoWzIwXQ0KCQkJPC9jb2RlPjxiciAvPg0KCQkJUG9zc2libGUgdmFsdWU6IGludGVnZXI8YnIgLz4NCgkJCUFwcGxpY2FibGUgdG86IFRleHQgSW5wdXQsIFRleHQgQXJlYSwgU2VsZWN0IERhdGU8L3A+DQoJCTwvbGk+DQoJCTxsaT4NCgkJCTxwPkluc3RydWN0aW9uOiANCgkJCTxjb2RlPnd5c2l3eWdbMV0NCgkJCTwvY29kZT48YnIgLz4NCgkJCVBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KCQkJQXBwbGljYWJsZSB0bzogVGV4dCBBcmVhPC9wPg0KCQk8L2xpPg0KCQk8bGk+DQoJCQk8cD5JbnN0cnVjdGlvbjogDQoJCQk8Y29kZT5vcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdDQoJCQk8L2NvZGU+PGJyIC8+DQoJCQlQb3NzaWJsZSB2YWx1ZToga2V5PXZhbHVlLC4uLjxiciAvPg0KCQkJQXBwbGljYWJsZSB0bzogRHJvcGRvd248L3A+DQoJCTwvbGk+DQogICAgICA8bGk+DQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmFsbG93W3BkZixnaWYscG5nLGpwZWcsanBnXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBleHRlbnNpb24sLi4uIChrZWVwIGxvd2VyY2FzZSk8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+ZGlyWy9wYXRoL3RvL2Rpcl0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIA0KICAgICAgICA8Y29kZT4kY29uZmlnWyYjMDM5O3VwbG9hZHNfdXJsJiMwMzk7XQ0KICAgICAgICA8L2NvZGU+LiBObyBzbGFzaCBhdCB0aGUgZW5kLiA8Y29kZT57JGl0ZW1faWR9IGFuZCB7JGl0ZW1fYWxpYXN9PC9jb2RlPiB3aWxsIGJlIHJlcGxhY2VkLjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5leGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX10NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogcHJlZml4LC4uLjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5kYXRlZm9ybWF0W2RkL21tL3l5XQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEYXRlIGZvcm1hdCB1c2VkIGJ5IHRoZSBqUXVlcnkgZGF0ZXBpY2tlci4gVHJ5IGdvb2dsaW5nICYjMDM5O2pxdWVyeSBmb3JtYXREYXRlJiMwMzk7PGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IFNlbGVjdCBEYXRlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4NCgkgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5maWxlYnJvd3NlclsxXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPg0KCQk8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gZmlsZWJyb3dzZXIgbW9kZSBpbnN0ZWFkIG9mIGRlZmF1bHQgZHJvcGRvd24gbW9kZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmltYWdlWzFdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlPGJyIC8+DQogICAgICAgIDxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBzaG93IHRodW1ibmFpbCBpbWFnZSBpbnN0ZWFkIG9mIGlucHV0IGZpZWxkLg0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmNyZWF0ZV9kaXJzWzFdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlPGJyIC8+DQogICAgICAgIDxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBhbGxvdyBjcmVhdGluZyBvZiBuZXcgZGlyZWNvdGlyZXMuDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gDQogICAgICA8bGk+DQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmRlbGV0ZVsxXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPg0KICAgICAgICA8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgZGVsZXRpbmcgZmlsZXMuDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+c2hvd19zdWJkaXJzWzFdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlPGJyIC8+DQogICAgICAgIDxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBhbGxvdyB2aWV3aW5nIG9mIHN1YmRpcmVjdG9yaWVzLg0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgICAgICAgICAgICAgICAgICAgICANCiAgICA8L3VsPg0KICAgIDxwPllvdSBjYW4gc3BlY2lmeSBtdWx0aXBsZSBpbnN0cnVjdGlvbnMgc2VwYXJhdGVkIGJ5IGEgc2VtaWNvbG9uICgNCiAgICAgIDxjb2RlPjsNCiAgICAgIDwvY29kZT4pLCBmb3IgZXhhbXBsZToNCiAgICA8L3A+DQogICAgPHA+DQogICAgICA8Y29kZT5hbGxvd1twZGZdO2RpclsvZG9jcy9wZGZdPC9jb2RlPg0KICAgIDwvcD4NCiAgICANCgk8aDM+RmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+DQogICAgICAgIA0KICAgIDx1bD4NCiAgICAgICAgPGxpPlRleHQgSW5wdXQ6IDxjb2RlPnNpemVbMjBdO21heF9sZW5ndGhbMjBdPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5DaGVja2JveDogPGNvZGU+LTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+VGV4dCBBcmVhOiA8Y29kZT5tYXhfbGVuZ3RoWzIwXTt3eXNpd3lnWzFdPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5TZWxlY3QgRGF0ZTogPGNvZGU+c2l6ZVsyMF07bWF4X2xlbmd0aFsyMF07ZGF0ZWZvcm1hdFtkZC9tbS95eV08L2NvZGU+PC9saT4NCiAgICAgICAgPGxpPlVwbG9hZCBGaWxlOiA8Y29kZT5hbGxvd1twZGYsZ2lmLGpwZWcsanBnXTtkaXJbL3BhdGgvdG8vZGlyXTtleGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX107ZmlsZWJyb3dzZXJbMV07aW1hZ2VbMV07PC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5TZWxlY3QgRmlsZTogPGNvZGU+YWxsb3dbcGRmLGdpZixqcGVnLGpwZ107ZGlyWy9wYXRoL3RvL2Rpcl07ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5Ecm9wZG93bjogPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+Q29udGVudCBQYWdlczogPGNvZGU+LTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+RmllbGRzZXQgU3RhcnQ6IDxjb2RlPi08L2NvZGU+PC9saT4NCiAgICAgICAgPGxpPkZpZWxkc2V0IEVuZDogPGNvZGU+LTwvY29kZT48L2xpPg0KICAgIDwvdWw+JzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcmllcyddID0gJzxoMz5DYXRlZ29yaWVzPC9oMz4NCgk8cD5NdWx0aSBsZXZlbCBjYXRlZ29yaWVzIGFyZSBzdXBwb3J0ZWQuPC9wPic7CiRsYW5nWydoZWxwX3RlbXBsYXRlcyddID0gJzxoMz5UZW1wbGF0ZXM8L2gzPg0KCTxwPklmIHlvdSBhcmUgbm90IHN1cmUgd2hhdCB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0byB1c2UgaW4geW91ciB0ZW1wbGF0ZXMsIHRyeSB0aGUgZGVidWcgdGVtcGxhdGU6PC9wPg0KCTxwPnt7JG1vZHVsZV9uYW1lfSBzdW1tYXJ5dGVtcGxhdGU9JiMwMzk7ZGVidWcmIzAzOTt9PC9wPg0KCTxwPllvdSBjYW4gYWNjZXNzIGFueSBmaWVsZCBkaXJlY3RseSB3aGVuIGxvb3BpbmcgdGhyb3VnaCBpdGVtcyB1c2luZyBpdHMgYWxpYXMsIGZvciBleGFtcGxlLCB0byBpZiB5b3UgY3JlYXRlZCBhIGZpZWxkIGRlZmluaXRpb24gd2l0aCBhbiBhbGlhcyAmcXVvdDtwb3NpdGlvbiZxdW90OywgeW91IGNhbiBkbzo8L3A+JzsKJGxhbmdbJ2hlbHBfdGVtcGxhdGVzX2NhdGVnb3JpZXMnXSA9ICc8cD5CZXNpZGVzLCB5b3UgY2FuIGxvb3AgdGhyb3VnaCBjYXRlZ29yaWVzIGluIHRoZSBzdW1tYXJ5IHRlbXBsYXRlIGp1c3QgYXMgd2VsbCBhcyBsb29waW5nIHRocm91Z2ggaXRlbXM6PC9wPiAnOwokbGFuZ1snaGVscF9kdXBsaWNhdGluZyddID0gJzxoMz5EdXBsaWNhdGluZyB0aGlzIG1vZHVsZTwvaDM+DQoJPHA+VGhpcyBtb2R1bGUgd2FzIG1hZGUgdG8gYmUgZWFzaWx5IGR1cGxpY2F0ZWQuIFRvIGR1cGxpY2F0ZSB0aGlzIG1vZHVsZSwgZm9sbG93IHRoZXNlIHN0ZXBzIEJFRk9SRSBpbnN0YWxsaW5nIHRoZSBtb2R1bGU6PC9wPg0KCTxvbD4gICAgDQoJCTxsaT5SZW5hbWUgdGhlIGRpcmVjdG9yeSAmcXVvdDs8Yj5MaXN0SXQ8L2I+JnF1b3Q7PC9saT4gICAgDQoJCTxsaT5SZW5hbWUgJnF1b3Q7Y2xhc3MgPGI+TGlzdEl0PC9iPiBleHRlbmRzIENNU01vZHVsZSZxdW90OyBpbnNpZGUgTGlzdEl0Lm1vZHVsZS5waHA8L2xpPiAgICANCgkJPGxpPlJlbmFtZSAmcXVvdDs8Yj5MaXN0SXQ8L2I+Lm1vZHVsZS5waHAmcXVvdDs8L2xpPg0KCTwvb2w+DQoJPHA+TWFrZSBzdXJlIHlvdSBmb2xsb3cgdGhlIENNU01TIG1vZHVsZSBuYW1pbmcgY29udmVudGlvbnMsIGEteiB3aXRoIG5vIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgb3Igc3BhY2VzIHRvIGJlIHNhZmUgOik8L3A+DQoJPHA+WW91IGNhbiBhbHdheXMgY2hhbmdlIHRoZSBtb2R1bGUgZnJpZW5kbHkgbmFtZSBvbmNlIGluc3RhbGxlZCB1bmRlciAmcXVvdDtPcHRpb25zJnF1b3Q7IChDb250ZW50ID4geyRtb2R1bGVfbmFtZX0pLiBUbyBjaGFuZ2UgdGhlIGljb24sIHJlcGxhY2UgL21vZHVsZXMveyRtb2R1bGVfbmFtZX0vaW1hZ2VzL2ljb24uZ2lmLjwvcD4nOwokbGFuZ1snaGVscF9hYm91dCddID0gJzxoMz5BYm91dDwvaDM+IA0KCTxwPk9yaWdpbiBvZiB0aGlzIG1vZHVsZSBjb21lcyBmcm9tIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbGlzdGl0IiB0YXJnZXQ9Il9ibGFuayI+TGlzdEl0IE1vZHVsZTwvYT4gZGV2ZWxvcGVkIGJ5IEJlbiBNYWxlbi48YnIgLz5BcyB0aGVyZSB3ZXJlIG5vIHBsYW5zIG9uIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YgdGhlIG1vZHVsZSBzb21lIHBlb3BsZSBkZWNpZGVkIHRvIGZvcmsgdGhlIG1vZHVsZSBhbmQgY29udGludWUgd2l0aCBkZXZlbG9wbWVudC48YnIgLz4NCglJZiB5b3UgZmluZCBhbnkgYnVncyBwbGVhc2UgZmVlbCBmcmVlIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4gb3IgZm9yIGFueSBnb29kIGlkZWFzIGNvbnNpZGVyIHN1Ym1pdGluZyBhIGZlYXR1cmUgcmVxdWVzdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2ZlYXR1cmVfcmVxdWVzdC9saXN0LzEwMTUiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gPGJyIC8+DQoJUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuDQoJPC9wPg0KCTxoMz5UZWFtPC9oMz4NCgk8dWw+DQoJCTxsaT5Kb25hdGhhbiBTY2htaWQgKEZvYWx5KikgaGlAam9uYXRoYW5zY2htaWQuZGUgPGJyIC8+d3d3LmpvbmF0aGFuc2NobWlkLmRlPC9saT4NCgkJPGxpPkdvcmFuIElsaWMgKHVuaXF1MykgZy5pbGljQGktYXJ0cy5ldSA8YnIgLz53d3cuaWNoLW1hY2gtZGFzLmF0PC9saT4NCgkJPGxpPlJvYmVydCBDYW1wYmVsbCAoY2FsZ3V5MTAwMCkgY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyAgPGJyIC8+d3d3LmNhbGd1eTEwMDAuY29tPC9saT4NCgkJPGxpPkx1a2FzIEJsYXR0ZXIgKG5vY2tlbmZlbGwpIG5vY2tlbmZlbGxAZ21haWwuY29tIDxiciAvPnd3dy5ibGF0dGVydGVjaC5jaDwvbGk+DQoJCTxsaT5Bcm5vdWQgKGFybm91ZCkgYXJub3VkQHVwc2VydmljZS5ubCA8YnIgLz53d3cudXBzZXJ2aWNlLm5sPC9saT4NCgkJPGxpPldheW5lIE9OZWlsICh3aXNoYm9uZSkgd2F5bmVAdGVhbXdpc2hib25lLmNvbSA8YnIgLz53d3cudGVhbXdpc2hib25lLmNvbTwvbGk+DQoJCTxsaT5UYXBpbyBMJm91bWw7eXR5eSAoU3Rpa2tpKSB0YXBzYUBibGFja21pbGsuZmk8L2xpPg0KCTwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnCU92ZXJyaWRlIHRoZSBkZWZhdWx0IGFjdGlvbi4gUG9zc2libGUgdmFsdWVzIGFyZToNCgk8dWw+DQoJCTxsaT4mYW1wO3F1b3Q7ZGVmYXVsdCZhbXA7cXVvdDsgLSBkaXNwbGF5cyB0aGUgc3VtbWFyeSB2aWV3LjwvbGk+DQoJCTxsaT4mYW1wO3F1b3Q7ZGV0YWlsJmFtcDtxdW90OyAtIGRpc3BsYXlzIGEgc3BlY2lmaWVkIGVudHJ5IGluIGRldGFpbCBtb2RlLjwvbGk+DQoJCTxsaT4mYW1wO3F1b3Q7c2VhcmNoJmFtcDtxdW90OyAtIGRpc3BsYXlzIHRoZSBzZWFyY2ggZm9ybS48L2xpPg0KCQk8bGk+JmFtcDtxdW90O2ZpbHRlciZhbXA7cXVvdDsgLSBkaXNwbGF5cyB0aGUgZmlsdGVyIGZvcm0uIFBhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gaXMgcmVxdWlyZWQuPC9saT4NCgk8L3VsPiAnOwokbGFuZ1snaGVscF9wYXJhbV9zaG93YWxsJ10gPSAnR2VlZiBhbGxlIGl0ZW1zIHdlZXIsIG9uYWZoYW5rZWxpamsgdmFuIGRlIGVpbmRkYXR1bS4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeSddID0gJ0dlZWYgZWVuIGxpanN0IG9wLCB2YW4ga29tbWFnZXNjaGVpZGVuIHdhYXJkZW4gdmFuIGNhdGVnb3JpZWFsaWFzKHNlbikgem9kYXQgZXIgYWxsZWVuIGl0ZW1zIHdvcmRlbiB3ZWVyZ2VnZXZlbiB2YW4gZGUgb3BnZWdldmVuIGNhdGVnb3JpZSgmZXVtbDtuKS4nOwokbGFuZ1snaGVscF9wYXJhbV9leGNsdWRlX2NhdGVnb3J5J10gPSAnR2VlZiBlZW4gbGlqc3Qgb3AsIHZhbiBrb21tYWdlc2NoZWlkZW4gd2FhcmRlbiB2YW4gY2F0ZWdvcmllYWxpYXMoc2VuKSB6b2RhdCBlciBnZWVuIGl0ZW1zIHdvcmRlbiB3ZWVyZ2VnZXZlbiB2YW4gZGUgb3BnZWdldmVuIGNhdGVnb3JpZSgmZXVtbDtuKS4nOwokbGFuZ1snaGVscF9wYXJhbV9zdWJjYXRlZ29yeSddID0gJ0FscyB1IGVlbiBjYXRlZ29yaWUgaGVlZnQgb3BnZWdldmVuLCBkYW4ga3VudCB1IGRpdCBvb2sgb3BnZWdldmVuIG1ldCBkZSB3YWFyZGUgJiMwMzk7dHJ1ZSYjMDM5Oy4gQWxzIGRhdCBnZWJldXJkIHp1bGxlbiBvb2sgaXRlbXMgdWl0IHN1YmNhdGVnb3JpZSZldW1sO24gd29yZGVuIHdlZXJnZWdldmVuLiBTdGFuZGFhcmQgc3RhYXQgZGV6ZSBvcHRpZSBvcCAmIzAzOTtmYWxzZSYjMDM5Oy4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ0hldCBnZWRldGFpbGxlZXJkZSBzamFibG9vbiBkYXQgdSB3ZW5zdCB0ZSBnZWJydWlrZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnSGV0IHNhbWVudmF0dGluZ3NqYWxvb24gZGF0IHUgd2Vuc3QgdGUgZ2VicnVpa2VuLic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHRlbXBsYXRlJ10gPSAnSGV0IHpvZWtzamFibG9vbiBkYXQgdSB3ZW5zdCB0ZSBnZWJydWlrZW4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fb3JkZXJieSddID0gJ1lvdSBjYW4gb3JkZXIgYnkgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29sdW1uczogaXRlbV9pZCwgaXRlbV90aXRsZSwgaXRlbV9wb3NpdGlvbiwgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X3Bvc2l0aW9uLjxiciAvPg0KPHVsPg0KPGxpPkZvciBleGFtcGxlOjxiciAvPg0Kb3JkZXJieT0mIzAzOTtjYXRlZ29yeV9uYW1lLCBpdGVtX3RpdGxlJiMwMzk7PC9saT4NCjxsaT5Zb3UgY2FuIGFsc28gc3BlY2lmeSBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZyBmb3IgYW55IGNvbHVtbiwgZm9yIGV4YW1wbGU6PGJyIC8+DQpvcmRlcmJ5PSYjMDM5O2NhdGVnb3J5X25hbWV8YXNjLCBpdGVtX3RpdGxlfGRlc2MmIzAzOTs8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ01heGltdW0gYWFudGFsIGl0ZW1zIG9tIHdlZXIgdGUgZ2V2ZW4gKHBlciBwYWdpbmEpLiAgQWxzIGRlemUgcGFyYW1ldGVyIG5pZXQgd29yZHQgaW5nZXNsb3RlbiwgZGFuIHp1bGxlbiBhbGxlIG92ZXJlZW5rb21zdGlnZSBpdGVtcyB3b3JkZW4gd2VlcmdlZ2V2ZW4uICBBbHMgaGV0IHpvIGlzIGRhdCBlciBtZWVyIGl0ZW1zIGJlc2NoaWtiYWFyIHppam4sIGRhbiBvcGdlZ2V2ZW4gbWV0IGRlemUgcGFyYW1ldGVyLCBkYW4genVsbGVuIHRla3N0IGVuIGxpbmtzIHdvcmRlbiBpbmdldm9lZ2QgZGllIGhldCBtb2dlbGlqayBtYWtlbiB0ZSBibGFkZXJlbiBkb29yIGRlIHJlc3VsdGF0ZW4nOwokbGFuZ1snaGVscF9wYXJhbV9zdGFydCddID0gJ0JlZ2luIGJpaiBoZXQgJiMwMzk7em92ZWVsc3RlJiMwMzk7IGl0ZW0gLS0gYWxzIHUgZGl0IG5pZXQgb3BnZWVmdCwgZGFuIHdvcmR0IGVyIGdlc3RhcnQgYmlqIGhldCBlZXJzdGUgaXRlbS4nOwokbGFuZ1snaGVscF9wYXJhbV9udW1iZXInXSA9ICdNYXhpbXVtIGFhbnRhbCBpdGVtcyBvbSB3ZWVyIHRlIGdldmVuIChwZXIgcGFnaW5hKSAtLSBpbmRpZW4gdSBkaXQgbmlldCBvcGdlZWZ0LCBkYW4genVsbGVuIGFsbGUgaXRlbXMgd29yZGVuIHdlZXJnZWdldmVuLiBEaXQgaXMgZWVuIHN5bm9uaWVtIHZvb3IgZGUgcGFnZWxpbWl0IHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnUGFnaW5hIG9tIGl0ZW1kZXRhaWxzIHdlZXIgdGUgZ2V2ZW4uIERpdCBtb2V0IGVlbiBwYWdpbmEtYWxpYXMgemlqbi4gR2VicnVpa3Qgb20gZGV0YWlscyB3ZWVyIHRlIGdldmVuIG9wIGVlbiBhbmRlcmUgcGFnaW5hIGRhbiBkZSBzYW1lbnZhdHRpbmdzcGFnaW5hLic7CiRsYW5nWydoZWxwX3BhcmFtX2l0ZW0nXSA9ICdEZXplIHBhcmFtZXRlciBpcyBhbGxlZW4gdmFuIHRvZXBhc3NpbmcgaW4gZGUgZGV0YWlsd2VlcmdhdmUuIEhldCBzdGFhdCB0b2Ugb20gZWVuIGl0ZW0gb3AgdGUgZ2V2ZW4gZGllIHdvcmR0IHdlZXJnZWdldmVuIGluIGRlIGRldGFpbHdlZXJnYXZlLiBEaXQgbW9ldCBlZW4gaXRlbWFsaWFzIHppam4uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoXyddID0gJ1NlYXJjaCBhIHBhcnRpY3VsYXIgZmllbGQuIFlvdSBjYW4gdXNlICYjMDM5O3RpdGxlJiMwMzk7IG9yIHRoZSBhbGlhcyBvZiBhIGZpZWxkIGRlZmluaXRpb24sIGUuZy4gc2VhcmNoX3RpdGxlLiBXaWxsIGJlIGlnbm9yZWQgd2hlbiBwYXJhbWV0ZXIgJiMwMzk7c2VhcmNoJiMwMzk7IGlzIHNldCwgYnV0IG11bHRpcGxlIHNlYXJjaF8qIHBhcmFtcyBjYW4gYmUgY29tYmluZWQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZmlsdGVyJ10gPSAnUmVxdWlyZWQgZm9yIGFjdGlvbiA8ZW0+ZmlsdGVyPC9lbT4uIFNwZWNpZnkgdGhlIGZpZWxkcyB3aG9zZSB2YWx1ZXMgc2hvdWxkIGJlIG9mZmVyZWQgYXMgZmlsdGVyIG9wdGlvbnMgYnkgbGlzdGluZyB0aGUgZmllbGQmIzAzOTtzIGFsaWFzZXMgY29tbWEgc2VwYXJhdGVkLic7CiRsYW5nWydoZWxwX3BhcmFtX3JldHVybnBhZ2UnXSA9ICdVc2VkIGZvciBmaWx0ZXIgb3Igc2VhcmNoIG1vZGUgb25seS4gUGFnZSB0byBkaXNwbGF5IHNlYXJjaCByZXN1bHRzIHJlc3BlY3Rpdmx5IGZpbHRlcmVkIGl0ZW1zIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy4gVXNlZCB0byBhbGxvdyBzdW1tYXJ5IHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gZmlsdGVyIC8gc2VhcmNoIG1hc2suICc7CiRsYW5nWydoZWxwX3BhcmFtX2RlYnVnJ10gPSAnRW5hYmxlcyBkZWJ1ZyBtb2RlLCBwcmludGluZyBvdXQgYWxsIHRoZSBvYmplY3RzLCBhcnJheXMsIHZhcmlhYmxlcyBhdmFpbGFibGUgZm9yIGN1cnJlbnQgYWN0aW9uLic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE2MjI5MzQ1OTkuMTM0ODE2Mzk1OS4xMzQ4MTYzOTU5LjEzNDgxNjM5NTkuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM0ODE2Mzk1OS4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2l0ZW0nXSA9ICfQl9Cw0L/QuNGB0YwnOwokbGFuZ1snaXRlbXMnXSA9ICfQl9Cw0L/QuNGB0LgnOwokbGFuZ1snZmllbGRkZWYnXSA9ICfQntC/0YDQtdC00LXQu9C10L3QuNC1INC/0L7Qu9GPJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ9Ce0L/RgNC10LTQtdC70LXQvdC40Y8g0L/QvtC70LXQuSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICfQqNCw0LHQu9C+0L3Riyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ9Ca0LDRgtC10LPQvtGA0LjRjyc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAn0JrQsNGC0LXQs9C+0YDQuNC4JzsKJGxhbmdbJ29wdGlvbiddID0gJ9Ce0L/RhtC40Y8nOwokbGFuZ1snb3B0aW9ucyddID0gJ9Cd0LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWydiYWNrJ10gPSAnR28gb25lIHBhZ2UgYmFjayc7CiRsYW5nWydpdGVtX3RpdGxlJ10gPSAn0JfQsNCz0L7Qu9C+0LLQvtC6JzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAn0JfQsNCz0L7Qu9C+0LLQvtC6INC30LDQv9C40YHQuCc7CiRsYW5nWydhY3RpdmUnXSA9ICfQkNC60YLQuNCy0L3Ri9C5JzsKJGxhbmdbJ3RpbWVfY29udHJvbCddID0gJ1VzZSB0aW1lIGNvbnRyb2wnOwokbGFuZ1snc3RhcnRfdGltZSddID0gJ1N0YXJ0IHRpbWUnOwokbGFuZ1snZW5kX3RpbWUnXSA9ICdFbmQgdGltZSc7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAn0JfQsNCz0L7Qu9C+0LLQvtC6INC30LDQv9C40YHQuCDQv9GD0YHRgtC+0LknOwokbGFuZ1sncmVxdWlyZWRfZmllbGRfZW1wdHknXSA9ICfQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0LTQu9GPINC30LDQv9C+0LvQvdC10L3QuNGPINC/0L7Qu9C1INC/0YPRgdGC0L7QtSc7CiRsYW5nWyd0b29fbG9uZyddID0gJ0ZpZWxkIHZhbHVlIGV4Y2VlZHMgbWF4IGxlbmd0aCc7CiRsYW5nWydhcHByb3ZlJ10gPSAnU2V0IFN0YXR1cyB0byBcJ0FjdGl2ZVwnJzsKJGxhbmdbJ3JldmVydCddID0gJ1NldCBTdGF0dXMgdG8gXCdJbmFjdGl2ZVwnJzsKJGxhbmdbJ3N1Ym1pdF9vcmRlciddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDQv9C+0YDRj9C00L7Quic7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICfQo9C00LDQu9C40YLRjCDQstGL0LHRgNCw0L3Ri9C1ICIlcyInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgYWxsIG9mIHRoZXNlICVzPyc7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAn0JLRi9Cx0YDQsNGC0Ywg0LLRgdGRJzsKJGxhbmdbJ2Vycm9yX3N0YXJ0Z3JlYXRlcmVuZCddID0gJ1N0YXJ0IGRhdGUgaXMgZ3JlYXRlciB0aGFuIGVuZCBkYXRlLic7CiRsYW5nWydpdGVtX2FsaWFzX2V4aXN0cyddID0gJ0l0ZW0gYWxpYXMgYWxyZWFkeSBleGlzdHMuIEFsaWFzIG11c3QgYmUgdW5pcXVlLic7CiRsYW5nWydyZXR1cm5fdXJsJ10gPSAnUmV0dXJuJzsKJGxhbmdbJ3BhdGhjb250YWluc3ZhcnMnXSA9ICdUaGlzIGZpZWxkIGNhbiBiZSBlZGl0ZWQgYWZ0ZXIgZmlyc3Qgc2F2aW5nIHRoaXMgJXMnOwokbGFuZ1snZWRpdGZpZWxkZGVmJ10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQv9C+0LvRjyc7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAn0JjQvNGPJzsKJGxhbmdbJ2ZpZWxkZGVmX2hlbHAnXSA9ICfQn9C+0LTRgdC60LDQt9C60LAnOwokbGFuZ1snZmllbGRkZWZfdHlwZSddID0gJ9Ci0LjQvyc7CiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAnOwokbGFuZ1snZmllbGRkZWZfcmVxdWlyZWQnXSA9ICfQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+JzsKJGxhbmdbJ2V4dHJhJ10gPSAn0K3QutGB0YLRgNCwJzsKJGxhbmdbJ3RleHRib3gnXSA9ICfQotC10LrRgdGC0L7QstC+0LUg0L/QvtC70LUgKNGB0YLRgNC+0LrQsCknOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ9Ci0LXQutGB0YLQvtCy0L7QtSDQv9C+0LvQtSAo0YLQtdC60YHRgiknOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICfQktGL0LHQvtGAINC00LDRgtGLJzsKJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAn0JfQsNCz0YDRg9C30LrQsCDRhNCw0LnQu9CwJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAn0JLRi9C/0LDQtNCw0Y7RidC40Lkg0YHQv9C40YHQvtC6JzsKJGxhbmdbJ3NlbGVjdF9maWxlJ10gPSAn0JLRi9Cx0L7RgCDRhNCw0LnQu9CwJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZW1wdHknXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgaXMgZW1wdHknOwokbGFuZ1snZmllbGRkZWZfbmFtZV9leGlzdHMnXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZmllbGRkZWZfYWxpYXNfZXhpc3RzJ10gPSAnRmllbGQgZGVmaW5pdGlvbiBhbGlhcyBhbHJlYWR5IGV4aXN0cy4gQWxpYXMgbXVzdCBiZSB1bmlxdWUuJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdGaWVsZCB2YWx1ZSBpcyBpbnZhbGlkJzsKJGxhbmdbJ3N0YXR1c19yZXF1aXJlZCddID0gJ1NldCBzdGF0dXMgdG8gXCdyZXF1aXJlZFwnJzsKJGxhbmdbJ3N0YXR1c19vcHRpb25hbCddID0gJ1NldCBzdGF0dXMgdG8gXCdvcHRpb25hbFwnJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQutCw0YLQtdCz0L7RgNC40Y4nOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ9CY0LzRjyDQutCw0YLQtdCz0L7RgNC40LgnOwokbGFuZ1snY2F0ZWdvcnlfZGVzY3JpcHRpb24nXSA9ICfQntC/0LjRgdCw0L3QuNC1INC60LDRgtC10LPQvtGA0LjQuCc7CiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAn0JjQvNGPINC60LDRgtC10LPQvtGA0LjQuCDQv9GD0YHRgtC+0LUnOwokbGFuZ1snY2F0ZWdvcnlfYWxpYXNfZXhpc3RzJ10gPSAnQ2F0ZWdvcnkgYWxpYXMgYWxyZWFkeSBleGlzdHMuIEFsaWFzIG11c3QgYmUgdW5pcXVlLic7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0g0LLRi9Cy0L7QtNCwINGB0L/QuNGB0LrQsCc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAn0KjQsNCx0LvQvtC90Ysg0LLRi9Cy0L7QtNCwINGB0L/QuNGB0LrQsCc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDQstGL0LLQvtC00LAg0L/QvtC00YDQvtCx0L3QvtGB0YLQtdC5JzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ9Co0LDQsdC70L7QvdGLINCy0YvQstC+0LTQsCDQv9C+0LTRgNC+0LHQvdC+0YHRgtC10LknOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YjQsNCx0LvQvtC9JzsKJGxhbmdbJ3RlbXBsYXRlX25hbWUnXSA9ICfQmNC80Y8g0YjQsNCx0LvQvtC90LAnOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ9CY0LzRjyDRiNCw0LHQu9C+0L3QsCDQv9GD0YHRgtC+0LUnOwokbGFuZ1snbW9kdWxlX29wdGlvbnMnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0LzQvtC00YPQu9GPJzsKJGxhbmdbJ3VybF9vcHRpb25zJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4INGB0YHRi9C70L7Quic7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAn0JTRgNGD0LbQtdGB0YLQstC10L3QvdC+0LUg0LjQvNGPINC80L7QtNGD0LvRjyc7CiRsYW5nWydwcm9tcHRfaXRlbV9zaW5ndWxhciddID0gJ9CV0LTQuNC90LjRh9C90LDRjyDQt9Cw0L/QuNGB0YwnOwokbGFuZ1sncHJvbXB0X2l0ZW1fcGx1cmFsJ10gPSAn0JzQvdC+0LbQtdGB0YLQstC10L3QvdGL0LUg0LfQsNC/0LjRgdC4JzsKJGxhbmdbJ3Byb21wdF91cmxfcHJlZml4J10gPSAn0J/RgNC10YTQuNC60YEg0LTQu9GPINGB0YHRi9C70LrQuCc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICfQn9C+0LrQsNC30YvQstCw0YLRjCDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4IGlubGluZSc7CiRsYW5nWydwcm9tcHRfaXRlbV9jb2xzJ10gPSAnU2hvdyB0aGlzIGZpZWxkcyBpbiBpdGVtIG92ZXJ2aWV3JzsKJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ9CS0LDRiNC4INC40LfQvNC10L3QtdC90LjRjyDQsdGL0LvQuCDRg9GB0L/QtdGI0L3QviDRgdC+0YXRgNCw0L3QtdC90YsuJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLINCyINGC0L7QvCwg0YfRgtC+INGF0L7RgtC40YLQtSDRjdGC0L4g0YPQtNCw0LvQuNGC0Yw/JzsKJGxhbmdbJ3VwJ10gPSAn0JLQstC10YDRhSc7CiRsYW5nWydkb3duJ10gPSAn0JLQvdC40LcnOwokbGFuZ1snZWRpdCddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ9Cj0LTQsNC70LjRgtGMJzsKJGxhbmdbJ25vc3VjaGlkJ10gPSAnTm8gc3VjaCBJRCc7CiRsYW5nWydkZWxldGVkJ10gPSAn0JfQsNC/0LjRgdGMKNC4KSDQsdGL0LvQsCDRg9GB0L/QtdGI0L3QviDRg9C00LDQu9C10L3QsC4nOwokbGFuZ1snYWRkJ10gPSAn0JTQvtCx0LDQstC40YLRjCAlcyc7CiRsYW5nWydhbGlhcyddID0gJ9CQ0LvQuNCw0YEnOwokbGFuZ1snYWxpYXNfaW52YWxpZCddID0gJ0FsaWFzIGlzIGludmFsaWQuIEl0IG11c3QgYmUgYSB2YWxpZCBQSFAgdmFyaWFibGUgbmFtZSc7CiRsYW5nWydzZWFyY2gnXSA9ICfQn9C+0LjRgdC6JzsKJGxhbmdbJ3NlYXJjaGZvciddID0gJ9Cf0L7QuNGB0Log0LTQu9GPJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0xpc3RJdCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICcgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiB1bmluc3RhbGxlZCc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8cD5WZXJzaW9uIDEuMTwvcD48dWw+PGxpPk11bGl0bGV2ZWwgQ2F0ZWdvcmllczwvbGk+PGxpPlN1bW1hcnkgUGFnaW5hdGlvbjwvbGk+PGxpPk11bHRpcGxlIENhdGVnb3JpZXMgZm9yIHBhcmFtZXRlciBjYXRlZ29yeTwvbGk+PGxpPkNNU01TIDEuMTAgcmVhZHk8L2xpPjxsaT5CYWNrZW5kIHRhYmxlIHNlYXJjaDwvbGk+PGxpPkV4Y2x1ZGUgQ2F0ZWdvcnkgcGFyYW1ldGVyPC9saT48L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9Ii9tb2R1bGVzLy9qcy9seXRlYm94LmpzIj48L3NjcmlwdD4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL21vZHVsZXMvL2Nzcy9seXRlYm94LmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+DQoNCjxkaXYgaWQ9InBhZ2VfdGFicyI+ICAgICANCiAgPGRpdiBpZD0iZ2VuZXJhbCI+DQogICAg0JPQu9Cw0LLQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8gICANCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0idXNhZ2UiPg0KICAgINCf0YDQuNC80LXQvdC10L3QuNC1ICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9InBlcm1pc3Npb25zIj4NCiAgICDQn9GA0LDQstCwINC00L7RgdGC0YPQv9CwDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9ImZpZWxkIj4NCiAgICDQntC/0YDQtdC00LXQu9C10L3QuNGPINC/0L7Qu9C10LkgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJjYXRlZ29yaWVzIj4NCiAgICDQmtCw0YLQtdCz0L7RgNC40LgNCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0idGVtcGxhdGVzIj4NCiAgICDQqNCw0LHQu9C+0L3Riw0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJkdXBsaWNhdGluZyI+DQogICAgRHVwbGljYXRpbmcgdGhpcyBtb2R1bGUgICANCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImFib3V0Ij4NCiAgICDQniDQvNC+0LTRg9C70LUNCiAgPC9kaXY+ICANCjwvZGl2PiAgIA0KPGRpdiBjbGFzcz0iY2xlYXJiIj4gIA0KPC9kaXY+DQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPiAgDQogIDxkaXYgaWQ9ImdlbmVyYWxfYyI+CTxoMz5HZW5lcmFsIEluZm88L2gzPgkJDQogICAgPHA+U2ltcGx5IHB1dCwgTGlzdEl0IGFsbG93cyB5b3UgdG8gY3JlYXRlIGxpc3RzIHRoYXQgeW91IGNhbiBkaXNwbGF5IHRocm91Z2hvdXQgeW91ciB3ZWJzaXRlLiBZb3UgY291bGQgbWFrZSBhIHNpbXBsZSBGQVEgb3IgVGVzdGltb25pYWxzIGZlYXR1cmUgd2l0aCB0aGlzIG1vZHVsZS4gVGhlIHdlYiBkZXZlbG9wZXIgZGVmaW5lcyBmaWVsZHMgdG8gY29uc3RyYWluIHdoYXQgZGF0YSB0aGUgY2xpZW50IGNhbiBlbnRlci4gQSBudW1iZXIgb2YgZmllbGQgdHlwZXMgY2FuIGJlIHNwZWNpZmllZCAtIHRleHQgaW5wdXQsIGNoZWNrYm94LCB0ZXh0IGFyZWEsIHNlbGVjdCBkYXRlLCB1cGxvYWQgZmlsZSwgc2VsZWN0IGZpbGUsIGRyb3Bkb3duIC0gYW5kIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGNhbiBiZSBzZXQgZm9yIGVhY2ggdHlwZSwgZm9yIGV4YW1wbGUsIGlucHV0IGZpZWxkIHNpemUsIG1heCBsZW5ndGgsIFdZU0lXWUcgZWRpdG9yLCBwb3NzaWJsZSBkcm9wIGRvd24gdmFsdWVzLCBwb3NzaWJsZSBmaWxlIGV4dGVuc2lvbnMsIGRpcmVjdG9yeSBwYXRocyBmb3IgZmlsZSBzZWxlY3Rpb25zLCBkYXRlIGZvcm1hdHMsIGV0Yy4NCiAgICA8L3A+DQogICAgPHA+QW4gaW1wb3J0YW50IG5vdGUgb2Ygd2FybmluZyAtIFRoaXMgaXMgbm90IGEgY29udGVudCBjb25zdHJ1Y3Rpb24ga2l0LCBzdWNoIGFzIGluIERydXBhbC4gSXQgaXMgbWVhbnQgZm9yIHNtYWxsIGxpc3RpbmdzLCBub3QgdG8gc3RvcmUgdGhvdXNhbmRzIG9mIHJlY29yZHMuIFRoaXMgaXMgYmVjYXVzZSBvZiB0aGUgZGF0YWJhc2UgbW9kZWwgdXNlZCAoRUFWKS4gQWxzbywgZWFjaCBiaXQgb2YgZGF0YSB5b3UgZW50ZXIgaXMgc3RvcmVkIGFzIFRFWFQgZGF0YSB0eXBlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgdmFyY2hhciwgYm9vbGVhbiwgdGltZXN0YW1wLCBldGMuIFRoaXMgaXMgYSByZXN0cmljdGlvbiBvZiBhIHNob3J0IGRldmVsb3BtZW50IHRpbWUgZnJhbWUuDQogICAgPC9wPgkNCiAgPC9kaXY+CQ0KICA8ZGl2IGlkPSJ1c2FnZV9jIj4JCQ0KICAgIDxoMz5Vc2FnZTwvaDM+CQkJDQogICAgICA8cD5Zb3UgY2FuIGNvbmZpZ3VyZSAgaGVyZTogQ29udGVudCA+IA0KICAgICAgPC9wPgkJCQ0KICAgIDxwPlBsYWNlIHRoaXMgdGFnIGluIHlvdXIgcGFnZTo8YnIgLz4JDQogICAge30NCiAgICA8L3A+CQkNCiAgICA8ZGl2PgkJCQ0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MjEwcHg7IG1hcmdpbi1yaWdodDoxMHB4OyBtYXJnaW4tYm90dG9tOjIwcHg7Ij4JCQkNCiAgICAgICAgPGEgdGl0bGU9IlNldHRpbmcgdGhlIE1vZHVsZSBPcHRpb25zIiByZWw9Imx5dGVib3hbXSIgaHJlZj0iL21vZHVsZXMvL2ltYWdlcy9zY3JlZW5zaG90MS5qcGciPg0KICAgICAgICAgIDxpbWcgc3JjPSIvbW9kdWxlcy8vaW1hZ2VzL3RodW1iX3NjcmVlbnNob3QxLmpwZyIgYWx0PSJTZXR0aW5nIHRoZSBNb2R1bGUgT3B0aW9ucyIgLz48L2E+DQogICAgICA8L2Rpdj4JCQ0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KICAgICAgICBBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgCQkJCQ0KICAgICAgICA8b2w+CQkJCQkNCiAgICAgICAgICA8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgaW4gdGhlIG1lbnUgY2hhbmdlIHRoZSBcJ01vZHVsZSBGcmllbmRseSBOYW1lXCcuDQogICAgICAgICAgPC9saT4JCQkJCQ0KICAgICAgICAgIDxsaT5UbyBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGl0ZW0gdGFiIGNoYW5nZSB0aGUgXCdJdGVtIFBsdXJhbFwnLg0KICAgICAgICAgIDwvbGk+CQkJCQ0KICAgICAgICA8L29sPgkJDQogICAgICA8L2Rpdj4NCiAgICAgIDxiciBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+CQkNCiAgICA8L2Rpdj4JCQ0KICAgIDxkaXY+DQogICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsiPg0KICAgICAgICA8YSB0aXRsZT0iU2V0dGluZyB0aGUgRmllbGQgRGVmaW5pdGlvbnMiIHJlbD0ibHl0ZWJveFtdIiBocmVmPSIvbW9kdWxlcy8vaW1hZ2VzL0FkZF9GaWVsZERlZl9UYWI4LnBuZyI+DQogICAgICAgICAgPGltZyBzcmM9Ii9tb2R1bGVzLy9pbWFnZXMvdGh1bWJfQWRkX0ZpZWxkRGVmX1RhYjgucG5nIiBhbHQ9IlNldHRpbmcgdGhlIEZpZWxkIERlZmluaXRpb25zIiAvPjwvYT4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KICAgICAgICBOZXh0IC0gc2V0IHRoZSBGaWVsZCBEZWZpbml0aW9ucy4gDQogICAgICAgIDxvbD4NCiAgICAgICAgICA8bGk+Q2hvb3NlIGZyb20gXCdUZXh0IElucHV0XCcsIFwnQ2hlY2tib3hcJywgXCdUZXh0IEFyZWFcJywgXCdTZWxlY3QgRGF0ZVwnLCBcJ1VwbG9hZCBGaWxlXCcsIFwnU2VsZWN0IEZpbGVcJyAmIFwnRHJvcGRvd25cJy4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gdGhlIFwnZXh0cmFcJyBmaWVsZC4gU2VlIHRoZSBcJ0ZpZWxkIERlZmluaXRpb25zXCcgdGFiIGZvciBhIGxpc3QuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGk+RWFjaCBpdGVtIGluIGVhY2ggbGlzdCBoYXMgdGhyZWUgZGVmYXVsdCBmaWVsZHMuIEFsbCBGaWVsZCBEZWZpbml0aW9ucyBzZXQgaGVyZSBhcmUgYWRkaXRpb25hbCB0byB0aGVtLg0KICAgICAgICAgIDwvbGk+DQogICAgICAgIDwvb2w+DQogICAgICA8L2Rpdj48YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXY+DQogICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsiPg0KICAgICAgICA8YSB0aXRsZT0iU2V0dGluZyB0aGUgbGlzdCBjYXRlZ29yaWVzIiByZWw9Imx5dGVib3hbXSIgaHJlZj0iL21vZHVsZXMvL2ltYWdlcy9DYXRlZ29yaWVzX1RhYjgucG5nIj4NCiAgICAgICAgICA8aW1nIHNyYz0iL21vZHVsZXMvL2ltYWdlcy90aHVtYl9DYXRlZ29yaWVzX1RhYjgucG5nIiBhbHQ9IlNldHRpbmcgdGhlIGxpc3QgY2F0ZWdvcmllcyIgLz48L2E+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4NCiAgICAgICAgVGhlcmUgaXMgYSBzaW5nbGUgY2F0ZWdvcnkgYnkgZGVmYXVsdCBjYWxsZWQgXCdHZW5lcmFsXCcuIFRoaXMgY2FuIGJlIHJlbmFtZWQgYW5kIGFkZGl0aW9uYWwgQ2F0ZWdvcmllcyBjYW4gYmUgYWRkZWQuIA0KICAgICAgPC9kaXY+DQogICAgICA8YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXY+DQogICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoyMTBweDsgbWFyZ2luLXJpZ2h0OjEwcHg7IG1hcmdpbi1ib3R0b206MjBweDsiPg0KICAgICAgICA8YSB0aXRsZT0iQWRkaW5nIExpc3QgSXRlbXMiIHJlbD0ibHl0ZWJveFtdIiBocmVmPSIvbW9kdWxlcy8vaW1hZ2VzL0FkZF9JdGVtX1RhYjgucG5nIj4NCiAgICAgICAgICA8aW1nIHNyYz0iL21vZHVsZXMvL2ltYWdlcy90aHVtYl9BZGRfSXRlbV9UYWI4LnBuZyIgYWx0PSJBZGRpbmcgTGlzdCBJdGVtcyIgLz48L2E+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4NCiAgICAgICAgTm93IHdlIG1vdmUgb24gdG8gdGhlIEl0ZW0gbGlzdCBpdHNlbGYuIEluIHRoaXMgZXhhbXBsZSBpdCBzYXlzIFwnQWRkIEJveFwnLCB0aGlzIHdhcyByZW5hbWVkIGluIHRoZSBcJ09wdGlvbnNcJyB0YWIuIA0KICAgICAgICA8b2w+DQogICAgICAgICAgPGxpPlRoZSBmaXJzdCBmaWVsZCBpcyB0aGUgZGVmYXVsdCBcJ1RpdGxlXCcgZmllbGQuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGk+VGhlIFwnQ2F0ZWdvcnlcJyBkcm9wZG93biBpcyBhbHNvIGEgZGVmYXVsdCBmaWVsZCwgYW5kIGlmIHVuY2hhbmdlZCwgd2lsbCBiZSBzZXQgdG8gXCdHZW5lcmFsXCcuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGk+VGhlIHRoaXJkIGRlZmF1bHQgZmllbGQgaXMgdGhlIGNoZWNrYm94IGNhbGxlZCBcJ0FjdGl2ZVwnLiBUaGlzIGFsbG93cyB5b3UgdG8gdG9nZ2xlIGEgbGlzdCBlbnRyeSB3aXRob3V0IGRlbGV0aW5nIGl0Lg0KICAgICAgICAgIDwvbGk+DQogICAgICAgIDwvb2w+DQogICAgICA8L2Rpdj48YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0icGVybWlzc2lvbnNfYyI+PGgzPlBlcm1pc3Npb25zPC9oMz4NCiAgICA8cD5Zb3UgY2FuIHNwZWNpZnkgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9ucyB1bmRlciBVc2VycyAmIEdyb3VwcyA+IEdyb3VwIFBlcm1pc3Npb25zDQogICAgPC9wPg0KICAgIDx1bD4NCiAgICAgIDxsaT46IE1vZGlmeSBJdGVtcw0KICAgICAgPC9saT4NCiAgICAgIDxsaT46IE1vZGlmeSBDYXRlZ29yaWVzDQogICAgICA8L2xpPg0KICAgICAgPGxpPjogTW9kaWZ5IE9wdGlvbnMNCiAgICAgIDwvbGk+DQogICAgPC91bD4NCgk8cD5UbyBhbGxvdyBub24tYWRtaW4gdXNlcnMgdG8gdXBsb2FkIGZpbGVzLCBwbGVhc2UgZ28gdG8gRXh0ZW5zaW9ucyA+IEdCRmlsZVBpY2tlciBhbmQgdGljayB0aGF0IGZpcnN0IGNoZWNrYm94ICJTaG93IGZpbGVtYW5hZ2VtZW50IG9wdGlvbnMiLjwvcD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImZpZWxkX2MiPjxoMz5GaWVsZCBEZWZpbml0aW9uczwvaDM+DQogICAgPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgY29uZmlndXJlIGFyZSB5b3VyIGZpZWxkIGRlZmluaXRpb25zLg0KICAgIDwvcD4NCiAgICA8cD5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gdGhlICJleHRyYSIgZmllbGQuDQogICAgPC9wPg0KICAgIDx1bD4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+c2l6ZVsyMF0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBUZXh0IElucHV0LCBTZWxlY3QgRGF0ZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPm1heF9sZW5ndGhbMjBdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IGludGVnZXI8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVGV4dCBJbnB1dCwgVGV4dCBBcmVhLCBTZWxlY3QgRGF0ZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPnd5c2l3eWdbMV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVGV4dCBBcmVhDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBrZXk9dmFsdWUsLi4uPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IERyb3Bkb3duDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+YWxsb3dbcGRmLGdpZixwbmcsanBlZyxqcGddDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IGV4dGVuc2lvbiwuLi4gKGtlZXAgbG93ZXJjYXNlKTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5kaXJbL3BhdGgvdG8vZGlyXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEaXJlY3RvcnkgcGF0aCB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gDQogICAgICAgIDxjb2RlPiRjb25maWdbXCd1cGxvYWRzX3BhdGhcJ10NCiAgICAgICAgPC9jb2RlPi4gTm8gc2xhc2ggYXQgdGhlIGVuZC4gPGNvZGU+eyRpdGVtX2lkfSBhbmQgeyRpdGVtX2FsaWFzfTwvY29kZT4gd2lsbCBiZSByZXBsYWNlZC48YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IHByZWZpeCwuLi48YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+ZGF0ZWZvcm1hdFtkZC9tbS95eV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGF0ZSBmb3JtYXQgdXNlZCBieSB0aGUgalF1ZXJ5IGRhdGVwaWNrZXIuIFRyeSBnb29nbGluZyBcJ2pxdWVyeSBmb3JtYXREYXRlXCc8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0bzogU2VsZWN0IERhdGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPg0KCSAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmZpbGVicm93c2VyWzFdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlPGJyIC8+DQoJCTxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBmaWxlYnJvd3NlciBtb2RlIGluc3RlYWQgb2YgZGVmYXVsdCBkcm9wZG93biBtb2RlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4NCiAgICA8L3VsPg0KICAgIDxwPllvdSBjYW4gc3BlY2lmeSBtdWx0aXBsZSBpbnN0cnVjdGlvbnMgc2VwYXJhdGVkIGJ5IGEgc2VtaWNvbG9uICgNCiAgICAgIDxjb2RlPjsNCiAgICAgIDwvY29kZT4pLCBmb3IgZXhhbXBsZToNCiAgICA8L3A+DQogICAgPHA+DQogICAgICA8Y29kZT5hbGxvd1twZGZdO2RpclsvZG9jcy9wZGZdDQogICAgICA8L2NvZGU+DQogICAgPC9wPg0KICAgIA0KICAgIDxwPg0KICAgICAgICA8aDM+RmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+DQogICAgPC9wPg0KICAgICAgICANCiAgICA8dWw+DQogICAgICAgIDxsaT5UZXh0IElucHV0OiA8Y29kZT5zaXplWzIwXTttYXhfbGVuZ3RoWzIwXTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+Q2hlY2tib3g6IDxjb2RlPi08L2NvZGU+PC9saT4NCiAgICAgICAgPGxpPlRleHQgQXJlYTogPGNvZGU+bWF4X2xlbmd0aFsyMF07d3lzaXd5Z1sxXTwvY29kZT48L2xpPg0KICAgICAgICA8bGk+U2VsZWN0IERhdGU6IDxjb2RlPnNpemVbMjBdO21heF9sZW5ndGhbMjBdO2RhdGVmb3JtYXRbZGQvbW0veXldPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5VcGxvYWQgRmlsZTogPGNvZGU+YWxsb3dbcGRmLGdpZixqcGVnLGpwZ107ZGlyWy9wYXRoL3RvL2Rpcl07ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5TZWxlY3QgRmlsZTogPGNvZGU+YWxsb3dbcGRmLGdpZixqcGVnLGpwZ107ZGlyWy9wYXRoL3RvL2Rpcl07ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dO2ZpbGVicm93c2VyWzFdPC9jb2RlPjwvbGk+DQogICAgICAgIDxsaT5Ecm9wZG93bjogPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXTwvY29kZT48L2xpPg0KICAgIDwvdWw+DQogICAgDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJjYXRlZ29yaWVzX2MiPg0KICAgIDxoMz5DYXRlZ29yaWVzPC9oMz4NCiAgICA8cD5NdWx0aSBsZXZlbCBjYXRlZ29yaWVzIGFyZSBzdXBwb3J0ZWQuDQogICAgPC9wPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0idGVtcGxhdGVzX2MiPg0KICAgIDxoMz5UZW1wbGF0ZXM8L2gzPg0KICAgIDxwPklmIHlvdSBhcmUgbm90IHN1cmUgd2hhdCB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0byB1c2UgaW4geW91ciB0ZW1wbGF0ZXMsIHRyeSB0aGUgZGVidWcgdGVtcGxhdGU6DQogICAgPC9wPg0KICAgIDxwPnsgc3VtbWFyeXRlbXBsYXRlPVwnZGVidWdcJ30NCiAgICA8L3A+DQogICAgPHA+WW91IGNhbiBhY2Nlc3MgYW55IGZpZWxkIGRpcmVjdGx5IHdoZW4gbG9vcGluZyB0aHJvdWdoIGl0ZW1zIHVzaW5nIGl0cyBhbGlhcywgZm9yIGV4YW1wbGUsIHRvIGlmIHlvdSBjcmVhdGVkIGEgZmllbGQgZGVmaW5pdGlvbiB3aXRoIGFuIGFsaWFzICJwb3NpdGlvbiIsIHlvdSBjYW4gZG86DQogICAgPC9wPg0KPHByZSBjbGFzcz0iY29kZSI+DQo8Y29kZT4NCntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0NCiAgICB7JGl0ZW0tPmZpZWxkZGVmcy5wb3NpdGlvbi52YWx1ZXxjbXNfZXNjYXBlfTxiciAvPg0Key9mb3JlYWNofQ0KPC9jb2RlPg0KPC9wcmU+DQogICAgPHA+QmVzaWRlcywgeW91IGNhbiBsb29wIHRocm91Z2ggY2F0ZWdvcmllcyBpbiB0aGUgc3VtbWFyeSB0ZW1wbGF0ZSBqdXN0IGFzIHdlbGwgYXMgbG9vcGluZyB0aHJvdWdoIGl0ZW1zOjwvcD4NCjxwcmUgY2xhc3M9ImNvZGUiPg0KPGNvZGU+DQp7Zm9yZWFjaCBmcm9tPSRjYXRlZ29yaWVzIGl0ZW09Y2F0ZWdvcnl9DQogICAgeyRjYXRlZ29yeS0+bmFtZX08YnIgLz4NCgl7JGNhdGVnb3J5LT5hbGlhc308YnIgLz4NCgl7JGNhdGVnb3J5LT5pZH08YnIgLz4NCnsvZm9yZWFjaH0NCjwvY29kZT4NCjwvcHJlPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iZHVwbGljYXRpbmdfYyI+DQogICAgPGgzPkR1cGxpY2F0aW5nIHRoaXMgbW9kdWxlPC9oMz4NCiAgICA8cD5UaGlzIG1vZHVsZSB3YXMgbWFkZSB0byBiZSBlYXNpbHkgZHVwbGljYXRlZC4NCiAgICA8L3A+VG8gZHVwbGljYXRlIHRoaXMgbW9kdWxlLCBmb2xsb3cgdGhlc2Ugc3RlcHMgQkVGT1JFIGluc3RhbGxpbmcgdGhlIG1vZHVsZToNCiAgICA8L3A+DQogICAgPG9sPiAgICANCiAgICAgIDxsaT5SZW5hbWUgdGhlIGRpcmVjdG9yeSAiPGI+TGlzdEl0PC9iPiINCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPlJlbmFtZSAiY2xhc3MgPGI+TGlzdEl0PC9iPiBleHRlbmRzIENNU01vZHVsZSIgaW5zaWRlIExpc3RJdC5tb2R1bGUucGhwDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT5SZW5hbWUgIjxiPkxpc3RJdDwvYj4ubW9kdWxlLnBocCINCiAgICAgIDwvbGk+DQogICAgPC9vbD4NCiAgICA8cD5NYWtlIHN1cmUgeW91IGZvbGxvdyB0aGUgQ01TTVMgbW9kdWxlIG5hbWluZyBjb252ZW50aW9ucywgYS16IHdpdGggbm8gcHVuY3R1YXRpb24gY2hhcmFjdGVycyBvciBzcGFjZXMgdG8gYmUgc2FmZSA6KQ0KICAgIDwvcD4NCiAgICA8cD5Zb3UgY2FuIGFsd2F5cyBjaGFuZ2UgdGhlIG1vZHVsZSBmcmllbmRseSBuYW1lIG9uY2UgaW5zdGFsbGVkIHVuZGVyICJPcHRpb25zIiAoQ29udGVudCA+ICkuIFRvIGNoYW5nZSB0aGUgaWNvbiwgcmVwbGFjZSAvbW9kdWxlcy8vaW1hZ2VzL2ljb24uZ2lmLg0KICAgIDwvcD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImFib3V0X2MiPg0KICAgIDxoMz5BYm91dDwvaDM+DQogICAgPHA+T3JpZ2luIG9mIHRoaXMgbW9kdWxlIGNvbWVzIGZyb20gPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9saXN0aXQiIHRhcmdldD0iX2JsYW5rIj5MaXN0SXQgTW9kdWxlPC9hPiBkZXZlbG9wZWQgYnkgQmVuIE1hbGVuLjxiciAvPkFzIHRoZXJlIHdlcmUgbm8gcGxhbnMgb24gZnVydGhlciBkZXZlbG9wZW1lbnQgb2YgdGhlIE1vZHVsZSBzb21lIHBlb3BsZSBkZWNpZGVkIHRvIEZvcmsgdGhlIG1vZHVsZSBhbmQgY29udGludWUgd2l0aCBkZXZlbG9wZW1lbnQuPGJyIC8+DQogICAgSWYgeW91IGZpbmQgYW55IEJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBCdWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTAxNSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXRpbmcgYSBGZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uIDxiciAvPg0KICAgIFBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBEZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgRGFpbHkgSm9icywgd2hpY2ggbWVhbnMgdGhhdCBGZWF0dXJlIHJlcXVlc3RzIGFyZSBiZWluZyBjb25zaWRlcmVkIGFuZCBkb25lIGFzIHRpbWUgYWxsb3dzLiBJZiB5b3UgbmVlZCBhIEZlYXR1cmUgcmVhbHkgYmFkIHRoZW4gY29uc2lkZXIgQ29udGFjdGluZyBvbmUgb2YgRGV2ZWxvcGVycyBmb3IgYSBTcG9uc29yZWQgRGV2ZWxvcGVtZW50Lg0KICAgIDwvcD4NCiAgICA8cD48c3Ryb25nPlRlYW08L3N0cm9uZz48L3A+DQogICAgPHVsPg0KICAgICAgPGxpPkpvbmF0aGFuIFNjaG1pZCAoRm9hbHkqKSBoaUBqb25hdGhhbnNjaG1pZC5kZSA8YnIgLz53d3cuam9uYXRoYW5zY2htaWQuZGU8L2xpPg0KICAgICAgPGxpPkx1a2FzIEJsYXR0ZXIgKG5vY2tlbmZlbGwpIG5vY2tlbmZlbGxAZ21haWwuY29tIDxiciAvPnd3dy5ibGF0dGVydGVjaC5jaDwvbGk+DQogICAgICA8bGk+QXJub3VkIChhcm5vdWQpIGFybm91ZEB1cHNlcnZpY2UubmwgPGJyIC8+d3d3LnVwc2VydmljZS5ubDwvbGk+DQogICAgICA8bGk+R29yYW4gSWxpYyAodW5pcXUzKSBnLmlsaWNAaS1hcnRzLmV1IDxiciAvPnd3dy5pY2gtbWFjaC1kYXMuYXQ8L2xpPg0KICAgIDwvdWw+ICANCiAgPC9kaXY+ICANCjwvZGl2Pic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ092ZXJyaWRlIHRoZSBkZWZhdWx0IGFjdGlvbi4gUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCjxsaT4iZGVmYXVsdCIgLSB0byBkaXNwbGF5IHRoZSBzdW1tYXJ5IHZpZXcuPC9saT4NCjxsaT4iZGV0YWlsIiAtIHRvIGRpc3BsYXkgYSBzcGVjaWZpZWQgZW50cnkgaW4gZGV0YWlsIG1vZGUuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2FsbCddID0gJ1Nob3cgYWxsIGl0ZW1zLCBpcnJlc3BlY3RpdmUgb2YgZW5kIGRhdGUuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnknXSA9ICdTcGVjaWZ5IHRoZSBjYXRlZ29yeSBhbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgY2F0ZWdvcnkgYWxpYXNlcyB0byBkaXNwbGF5IGl0ZW1zIG9ubHkgZnJvbSBzcGVjaWZpZWQgY2F0ZWdvcnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZXhjbHVkZV9jYXRlZ29yeSddID0gJ1NwZWNpZnkgdGhlIGNhdGVnb3J5IGFsaWFzIG9yIGNvbW1hIHNlcGFyYXRlZCBjYXRlZ29yeSBhbGlhc2VzIHRvIGV4Y2x1ZGUgaXRlbXMgb25seSBmcm9tIHNwZWNpZmllZCBjYXRlZ29yeS4nOwokbGFuZ1snaGVscF9wYXJhbV9zdWJjYXRlZ29yeSddID0gJ0lmIHlvdSBoYXZlIHNwZWNpZmllZCBhIENhdGVnb3J5IHlvdSBjYW4gYWxzbyBzcGVjaWZ5IHdpdGggPGVtPnRydWU8L2VtPiBpZiBpdGVtcyBmcm9tIFN1YmNhdGVnb3JpZXMgc2hvdWxkIGJlIGRpc3BsYXllZC4gSXQgaXMgc2V0IHRvIGZhbHNlIGJ5IGRlZmF1bHQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGUgZGV0YWlsIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZS4nOwokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGUgc3VtbWFyeSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UnOwokbGFuZ1snaGVscF9wYXJhbV9vcmRlcmJ5J10gPSAnWW91IGNhbiBvcmRlciBieSBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb2x1bW5zOiBpdGVtX2lkLCBpdGVtX3RpdGxlLCBpdGVtX3Bvc2l0aW9uLCBjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfcG9zaXRpb24sIGNhdGVnb3J5X2hpZXJhcmNoeS48YnIgLz4NCjx1bD4NCjxsaT5Gb3IgZXhhbXBsZTo8YnIgLz4NCm9yZGVyYnk9XCdjYXRlZ29yeV9uYW1lLCBpdGVtX3RpdGxlXCc8L2xpPg0KPGxpPllvdSBjYW4gYWxzbyBzcGVjaWZ5IGFzY2VuZGluZyBvciBkZXNjZW5kaW5nIGZvciBhbnkgY29sdW1uLCBmb3IgZXhhbXBsZTo8YnIgLz4NCm9yZGVyYnk9XCdjYXRlZ29yeV9uYW1lfGFzYywgaXRlbV90aXRsZXxkZXNjXCc8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3BhcmFtX3BhZ2VsaW1pdCddID0gJ01heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgKHBlciBwYWdlKS4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwbGllZCBhbGwgbWF0Y2hpbmcgaXRlbXMgd2lsbCBiZSBkaXNwbGF5ZWQuICBJZiBpdCBpcywgYW5kIHRoZXJlIGFyZSBtb3JlIGl0ZW1zIGF2YWlsYWJsZSB0aGFuIHNwZWNpZmllZCBpbiB0aGUgcGFyYW1ldGVyLCB0ZXh0IGFuZCBsaW5rcyB3aWxsIGJlIHN1cHBsaWVkIHRvIGFsbG93IHNjcm9sbGluZyB0aHJvdWdoIHRoZSByZXN1bHRzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3RhcnQnXSA9ICdTdGFydCBhdCB0aGUgbnRoIGl0ZW0gLS0gbGVhdmluZyBlbXB0eSB3aWxsIHN0YXJ0IGF0IHRoZSBmaXJzdCBpdGVtLic7CiRsYW5nWydoZWxwX3BhcmFtX251bWJlciddID0gJ01heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgKHBlciBwYWdlKSAtLSBsZWF2aW5nIGVtcHR5IHdpbGwgc2hvdyBhbGwgaXRlbXMuIFRoaXMgaXMgYSBzeW5vbnltIGZvciB0aGUgcGFnZWxpbWl0IHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWxwYWdlJ10gPSAnUGFnZSB0byBkaXNwbGF5IGl0ZW0gZGV0YWlscyBpbi4gTXVzdCBiZSBhIHBhZ2UgYWxpYXMuIFVzZWQgdG8gYWxsb3cgZGV0YWlscyB0byBiZSBkaXNwbGF5ZWQgaW4gYSBkaWZmZXJlbnQgcGFnZSB0aGFuIHN1bW1hcnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1faXRlbSddID0gJ1RoaXMgcGFyYW1ldGVyIGlzIG9ubHkgYXBwbGljYWJsZSB0byB0aGUgZGV0YWlsIHZpZXcuIEl0IGFsbG93cyBzcGVjaWZ5aW5nIHdoaWNoIGl0ZW0gdG8gZGlzcGxheSBpbiBkZXRhaWwgbW9kZS4gTXVzdCBiZSBhbiBpdGVtIGFsaWFzLic7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjE3MDUwODUxLTEzMTc4MTA4Mzg2MDEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yMTE1MDc1NjAuMTMxOTQ0Njk1Ny4xMzE5NDQ2OTU3LjEzMTk0NDY5NTcuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMTk0NDY5NTcuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sr_YU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ludmFsaWRfY2hhcmFjdGVycyddID0gJ1puYWtvdmkga2FvOiAlcyBuaXN1IGRvenZvbGplbmkgemEgdG8gcG9samU6ICVzJzsKJGxhbmdbJ2l0ZW0nXSA9ICdBcnRpa2FsJzsKJGxhbmdbJ2l0ZW1zJ10gPSAnQXJ0aWtsaSc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluaWNpamEgcG9samEnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW5pY2lqZSBwb2xqYSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb24nOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmxvbmknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29yaWphJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWplJzsKJGxhbmdbJ29wdGlvbiddID0gJ09wY2lqYSc7CiRsYW5nWydvcHRpb25zJ10gPSAnT3BjaWplJzsKJGxhbmdbJ2JhY2snXSA9ICdKZWRudSBzdHJhbiBuYXphZCc7CiRsYW5nWydpdGVtX3RpdGxlJ10gPSAnTmFzbG92JzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnTmFzbG92IEFydGlrbGEnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWt0aXZubyc7CiRsYW5nWyd0aW1lX2NvbnRyb2wnXSA9ICdLb3Jpc3RpdGUga29udHJvbHUgdnJlbWVuYSc7CiRsYW5nWydzdGFydF90aW1lJ10gPSAnRGF0dW0gcG/EjWV0a2EnOwokbGFuZ1snZW5kX3RpbWUnXSA9ICdEYXR1bSBrcmFqYSc7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnTmFzbG92IGFydGlrbGEgamUgcHJhemFuJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnT2JhdmV6bm8gcG9samUgamUgcHJhem5vJzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnVnJlZG5vc3QgcG9samEgcHJlbGF6aSBtYWtzaW1hbG51IGR1xb5pbnUnOwokbGFuZ1snYXBwcm92ZSddID0gJ1Bvc3Rhdmkgc3RhdHVzIG5hICZxdW90O0FrdGl2YW4mcXVvdDsnOwokbGFuZ1sncmV2ZXJ0J10gPSAnUG9zdGF2aSBzdGF0dXMgbmEgJiMwMzk7RGVrYXRpdmlyYW4mIzAzOTsnOwokbGFuZ1snc3VibWl0X29yZGVyJ10gPSAnU2HEjXV2YWogcmVkb3NsZWQnOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnSXpicmkmc2Nhcm9uO2kgaXphYnJhbmEgJXMnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZSddID0gJ0RhIGxpIHN0ZSBzaWd1cm5pIGRhIMW+ZWxpdGUgZGEgaXpicmkmc2Nhcm9uO2V0ZSAlcz8nOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ0l6YWJlcmkgc3ZlJzsKJGxhbmdbJ2Vycm9yX3N0YXJ0Z3JlYXRlcmVuZCddID0gJ0RhdHVtIHBvxI1ldGthIGplIHZlxIdlIG9kIGtyYWpuamVnIGRhdHVtYS4nOwokbGFuZ1snaXRlbV9hbGlhc19leGlzdHMnXSA9ICdBbGlhcyBhcnRpa2xhIHBvc3RvamkuIEFsaWFzIG1vcmEgYml0aSBqZWRpbnN0dmVuLic7CiRsYW5nWydyZXR1cm5fdXJsJ10gPSAnTmF6YWQnOwokbGFuZ1sncGF0aGNvbnRhaW5zdmFycyddID0gJ092byBwb2xqZSBtb8W+ZSBzZSBpem1lbml0aSBuYWtvbiDEjXV2YW5qYSBvdm9nICVzJzsKJGxhbmdbJ2VkaXRmaWVsZGRlZiddID0gJ0l6bWVuaSBkZWZpbmljaWp1IHBvbGphJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWUnXSA9ICdJbWUnOwokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ0tvcmlzdGFuIHNhdmV0JzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUaXAnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01ha3NpbWFsbmEgZHXFvmluYSc7CiRsYW5nWydmaWVsZGRlZl9yZXF1aXJlZCddID0gJ09iYXZlem5vJzsKJGxhbmdbJ2V4dHJhJ10gPSAnRG9kYXRubyc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGVrc3QgcG9samUnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdQb2xqZSB6YSBwb3R2cmR1JzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnWm9uYSB0ZWtzdGEnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdJemJvciBEYXR1bWEnOwokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdVcGxvYWQgZGF0b3Rla2UnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG92bic7CiRsYW5nWydnYWxsZXJ5J10gPSAnRHJvcGRvdm4gR2FsZXJpamUnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aXNlbGVjdCc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdTdHJhbmljZSc7CiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ0l6Ym9yIGRhdG90ZWtlJzsKJGxhbmdbJ2ZpZWxkc2V0X3N0YXJ0J10gPSAnRmllbGRzZXQgcG/EjWV0YWsnOwokbGFuZ1snZmllbGRzZXRfZW5kJ10gPSAnRmllbGRzZXQga3Jhaic7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnSW1lIHBvbGphIGRlZmluaWNpamUgamUgcHJhem5vJzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJ10gPSAnSW1lIHBvbGphIGRlZmluaWNpamUgcG9zdG9qaSc7CiRsYW5nWydmaWVsZGRlZl9hbGlhc19leGlzdHMnXSA9ICdBbGlzIHBvbGphIGRlZmluaWNqZSBwb3N0b2ppLiBBbGlhcyBtb3JhIGJpdGkgamVkaW5zdHZlbi4nOwokbGFuZ1snaW52YWxpZCddID0gJ1ZyZWRub3N0IHBvbGphIGplIG5ldmHFvmXEhyc7CiRsYW5nWydzdGF0dXNfcmVxdWlyZWQnXSA9ICdQb3N0YXZpIHN0YXR1cyBuYSAmIzAzOTtwb3RyZWJhbiYjMDM5Oyc7CiRsYW5nWydzdGF0dXNfb3B0aW9uYWwnXSA9ICdQb3N0YXZpIHN0YXR1cyBuYSAmIzAzOTtvcGNpb25hbGFuJiMwMzk7JzsKJGxhbmdbJ2lzX2RlZmF1bHQnXSA9ICdQb2RlJnNjYXJvbjtlbiBuYSAmIzAzOTtQb2RyYXp1bWV2YW4mIzAzOTsnOwokbGFuZ1snc3RhdHVzX2RlZmF1bHQnXSA9ICdQb3N0YXZsamVuIG5hICYjMDM5O1BvZHJhenVtZXZhbiYjMDM5Oyc7CiRsYW5nWydoZWxwdGV4dF90aXRsZSddID0gJ1VwdXN0dm8gemEgbW9ndcSHZSBkZWZpbmljaWplIHBvbGphOic7CiRsYW5nWydnYWxsZXJ5X2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPk5vIGV4dHJhIGluc3RydWN0aW9uczwvbGk+CjwvdWw+JzsKJGxhbmdbJ3RleHRib3hfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+c2l6ZVsyMF08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGludGVnZXI8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPm1heF9sZW5naHRbMjBdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPC9saT4KPC91bD4nOwokbGFuZ1snY2hlY2tib3hfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+Tm8gZXh0cmEgaW5zdHJ1Y3Rpb248L2xpPgo8L3VsPic7CiRsYW5nWyd0ZXh0YXJlYV9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5tYXhfbGVuZ2h0WzIwXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+d3lzaXd5Z1sxXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8L2xpPgo8L3VsPic7CiRsYW5nWydzZWxlY3RfZGF0ZV9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5zaXplWzIwXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+bWF4X2xlbmdodFsyMF08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGludGVnZXI8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmRhdGVmb3JtYXRbZGQvbW0veXldPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEYXRlIGZvcm1hdCB1c2VkIGJ5IHRoZSBqUXVlcnkgZGF0ZXBpY2tlci4gVHJ5IGdvb2dsaW5nICYjMDM5O2pxdWVyeSBmb3JtYXREYXRlJiMwMzk7PC9saT4KPC91bD4nOwokbGFuZ1sndXBsb2FkX2ZpbGVfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+YWxsb3dbcGRmLGdpZixqcGVnLGpwZ108L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IGV4dGVuc2lvbiAoa2VlcCBsb3dlcmNhc2UpPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5kaXJbL3BhdGgvdG8vZGlyXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvICRjb25maWdbJiMwMzk7dXBsb2Fkc191cmwmIzAzOTtdIC4gTm8gc2xhc2ggYXQgdGhlIGVuZC4geyRpdGVtX2lkfSBhbmQgeyRpdGVtX2FsaWFzfSB3aWxsIGJlIHJlcGxhY2VkLjwvbGk+CiAgICA8bGk+PHN0cm9uZz5JbnN0cnVjdGlvbjo8L3N0cm9uZz4gPGNvZGU+ZXhjbHVkZV9wcmVmaXhbdGh1bWJfLGZvb19dPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBwcmVmaXg8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmZpbGVicm93c2VyWzFdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgogICAgICAgIE5vdGU6IFNldHMgR0JGaWxlUGlja2VyIHRvIGZpbGVicm93c2VyIG1vZGUgaW5zdGVhZCBvZiBkZWZhdWx0IGRyb3Bkb3duIG1vZGU8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmltYWdlWzFdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPgogICAgICAgIE5vdGU6IFNldHMgR0JGaWxlUGlja2VyIHRvIHNob3cgdGh1bWJuYWlsIGltYWdlIGluc3RlYWQgb2YgaW5wdXQgZmllbGQuPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5jcmVhdGVfZGlyc1sxXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBOb3RlOiBTZXRzIEdCRmlsZVBpY2tlciB0byBhbGxvdyBjcmVhdGluZyBuZXcgZGlyZWN0b3J5LiAoRGVwZW5kcyBvbiB1c2VyIG9yIGdyb3VwIGFzIHdlbGwgYXMgR0JGaWxlUGlja2VyIHBlcm1pc3Npb24pPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5kZWxldGVbMV08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgTm90ZTogU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgZGVsZXRpbmcgZmlsZXMuIChEZXBlbmRzIG9uIHVzZXIgb3IgZ3JvdXAgYXMgd2VsbCBhcyBHQkZpbGVQaWNrZXIgcGVybWlzc2lvbik8L2xpPiAKICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5zaG93X3N1YmRpcnNbMV08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgTm90ZTogU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgdmlld2luZyBvZiBzdWJkaXJlY3Rvcmllcy4gKERlcGVuZHMgb24gdXNlciBvciBncm91cCBhcyB3ZWxsIGFzIEdCRmlsZVBpY2tlciBwZXJtaXNzaW9uKTwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3VsPic7CiRsYW5nWydzZWxlY3RfZmlsZV9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5hbGxvd1twZGYsZ2lmLGpwZWcsanBnXTwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogZXh0ZW5zaW9uIChrZWVwIGxvd2VyY2FzZSk8L2xpPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPmRpclsvcGF0aC90by9kaXJdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEaXJlY3RvcnkgcGF0aCB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gJGNvbmZpZ1smIzAzOTt1cGxvYWRzX3VybCYjMDM5O10gLiBObyBzbGFzaCBhdCB0aGUgZW5kLiB7JGl0ZW1faWR9IGFuZCB7JGl0ZW1fYWxpYXN9IHdpbGwgYmUgcmVwbGFjZWQuPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5leGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX108L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IHByZWZpeDwvbGk+CjwvdWw+JzsKJGxhbmdbJ2Ryb3Bkb3duX2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPjxzdHJvbmc+SW5zdHJ1Y3Rpb246PC9zdHJvbmc+IDxjb2RlPm9wdGlvbnNbYXBwbGU9QXBwbGUsYmFuYW5hPUJhbmFuYV08L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6ICBrZXk9dmFsdWU8L2xpPgo8L3VsPic7CiRsYW5nWydtdWx0aXNlbGVjdF9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5vcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAga2V5PXZhbHVlPC9saT4KICAgIDxsaT48c3Ryb25nPkluc3RydWN0aW9uOjwvc3Ryb25nPiA8Y29kZT5zaXplWzVdPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPC9saT4KPC91bD4nOwokbGFuZ1snZmllbGRzZXRfc3RhcnRfaGVscHRleHQnXSA9ICc8dWw+CiAgICA8bGk+Tm8gZXh0cmEgaW5zdHJ1Y3Rpb25zPC9saT4KPC91bD4nOwokbGFuZ1snZmllbGRzZXRfZW5kX2hlbHB0ZXh0J10gPSAnPHVsPgogICAgPGxpPk5vIGV4dHJhIGluc3RydWN0aW9uczwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hpZXJhcmNoeV9oZWxwdGV4dCddID0gJzx1bD4KICAgIDxsaT5ObyBleHRyYSBpbnN0cnVjdGlvbnM8L2xpPgo8L3VsPic7CiRsYW5nWydyZW9yZGVyX2NhdGVnb3JpZXMnXSA9ICdQcm9tZW5pIHJlZG9zbGVkIEthdGVnb3JpamEnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0l6bWVuaSBLYXRlZ29yaWp1JzsKJGxhbmdbJ2NhdGVnb3J5X25hbWUnXSA9ICdJbWUgS2F0ZWdvcmlqZSc7CiRsYW5nWydjYXRlZ29yeV9kZXNjcmlwdGlvbiddID0gJ09waXMgS2F0ZWdvcmlqZSc7CiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAnSW1lIEthdGVnb3JpamUgamUgcHJhem5vJzsKJGxhbmdbJ2NhdGVnb3J5X2FsaWFzX2V4aXN0cyddID0gJ0FsaWFzIEthdGVnb3JpamUgcG9zdG9qaS4gQWxpYXMgbW9yYSBiaXRpIGplZGluc3R2ZW4uJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb24gcHJlZ2xlZGEnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsb25lIHByZWdsZWRhJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlJ10gPSAnRGV0YWxqICZzY2Fyb247YWJsb24nOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWxqICZzY2Fyb247YWJsb25lJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbiBwcmV0cmFnYSc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZXMnXSA9ICcmU2Nhcm9uO2FibG9uZSBwcmV0cmFnYSc7CiRsYW5nWydmaWx0ZXJ0ZW1wbGF0ZSddID0gJ0ZpbHRlciAmc2Nhcm9uO2FibG9uJzsKJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlcyddID0gJ0ZpbHRlciAmc2Nhcm9uO2FibG9uZSc7CiRsYW5nWydlZGl0dGVtcGxhdGUnXSA9ICdJem1lbmkgJnNjYXJvbjthYmxvbic7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lJ10gPSAnSW1lICZzY2Fyb247YWJsb25hJzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVfZW1wdHknXSA9ICdJbWUgJnNjYXJvbjthYmxvbmEgamUgcHJhem5vJzsKJGxhbmdbJ3RlbXBsYXRlX2NvbnRlbnRfZW1wdHknXSA9ICdTYWRyxb5haiAmc2Nhcm9uO2FibG9uYSBqZSBwcmF6YW4nOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdQb2RyYXp1bWV2YW5pICZzY2Fyb247YWJsb25pJzsKJGxhbmdbJ21vZHVsZV9vcHRpb25zJ10gPSAnTW9kdWwgb3BjaWplJzsKJGxhbmdbJ3VybF9vcHRpb25zJ10gPSAnVVJMIG9wY2lqZSc7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnTW9kdWwgaW1lJzsKJGxhbmdbJ3Byb21wdF9hZG1pbnNlY3Rpb24nXSA9ICdNb2R1bCBhZG1pbiBzZWtjaWphJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3Npbmd1bGFyJ10gPSAnQXJ0aWthbCBqZWRuaW5hJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ0FydGlrYWwgbW5vxb5pbmEnOwokbGFuZ1sncHJvbXB0X3VybF9wcmVmaXgnXSA9ICdVUkwgcHJlZmlrcyc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdQcmlrYXogZGV0YWxqYSBJbmxpbmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY29scyddID0gJ1ByaWthxb5pIG92YSBwb2xqYSB1IHRhxI1raSBwcmVnbGVkYSc7CiRsYW5nWyd0ZXh0X3NvcnRvcmRlciddID0gJ1BvZHJhenVtZXZhbmkgcmVkb3NsZWQgc29ydGlyYW5qYSBhcnRpa2xhJzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1Jhc3R1xIdpJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdPcGFkYWp1xIdpJzsKJGxhbmdbJ21haW4nXSA9ICdHbGF2bmknOwokbGFuZ1snY29udGVudCddID0gJ1NhZHLFvmFqJzsKJGxhbmdbJ2xheW91dCddID0gJ0l6Z2xlZCBzYWp0YSc7CiRsYW5nWyd1c2Vyc2dyb3VwcyddID0gJ0tvcmlzbmljaSBpIEtvcmlzbmnEjWtlIGdydXBlJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdFa3N0ZW56aWplJzsKJGxhbmdbJ3NpdGVhZG1pbiddID0gJ0FkbWluaXN0cmFjaWphIHNhanRhJzsKJGxhbmdbJ215cHJlZnMnXSA9ICdQb2RlJnNjYXJvbjthdmFuamEnOwokbGFuZ1snZWNvbW1lcmNlJ10gPSAnRUNvbW1lcmNlJzsKJGxhbmdbJ25vdGljZSddID0gJ05vdGljZSc7CiRsYW5nWydpbnN0YW5jZXMnXSA9ICdJbnN0YW5jZSc7CiRsYW5nWydpbnN0YWxsZWRfaW5zdGFuY2VzX3dhcm5pbmcnXSA9ICdCZWxvdyBpcyBhIGxpc3Qgb2YgZHVwbGljYXRlZCBtb2R1bGUgaW5zdGFuY2VzLjxiciAvPk1ha2Ugc3VyZSB0byBiYWNrdXAgeW91ciBzaXRlIChEYXRhYnNlIGFuZCBGaWxlcykgYmVmb3JlICZxdW90O3VwZGF0ZSZxdW90OyBhY3Rpb24nOwokbGFuZ1snaW5zdGFsbGVkX2luc3RhbmNlcyddID0gJ0luc3RhbGlyYW5lIGluc3RhbmNlJzsKJGxhbmdbJ2luc3RhbmNlX25hbWUnXSA9ICdJbWUgaW5zdGFuY2UnOwokbGFuZ1snaW5zdGFuY2VfZnJpZW5kbHluYW1lJ10gPSAnSW1lJzsKJGxhbmdbJ2luc3RhbmNlX3NtYXJ0eSddID0gJ1NtYXJ0eSB0YWcnOwokbGFuZ1snaW5zdGFuY2VfdmVyc2lvbiddID0gJ1ZlcnppamEnOwokbGFuZ1snaW5zdGFuY2VfdXBncmFkZSddID0gJ05hZG9ncmFkbmphJzsKJGxhbmdbJ2luc3RhbmNlX3VwdG9kYXRlJ10gPSAnQWt0dWFsbm8nOwokbGFuZ1snaW5zdGFuY2VfbW9kdWxldXBncmFkZWQnXSA9ICdNb2R1bCBuYWRvZ3JhxJFlbic7CiRsYW5nWydkdXBsaWNhdGVfaW5zdGFuY2UnXSA9ICdEdXBsaXJhaiBtb2R1bCc7CiRsYW5nWydkdXBsaWNhdGVfZGVzY3JpcHRpb24nXSA9ICcgY2FuIGJlIGVhc2lseSBkdXBsaWNhdGVkIHRvIG11bHRpcGxlIG1vZHVsZSBpbnN0YW5jZXMgd2l0aCBkdXBsaWNhdGUgYnV0dG9uLjxiciAvPiBJbnN0YWxsIG5ld2x5IGNvcGllZCBtb2R1bGUgZnJvbSAmcXVvdDtFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyZxdW90Oy4nOwokbGFuZ1snY29weV90aXRsZSddID0gJ0R1cGxpcmFqIG1vZHVsJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1BvZG5lc2knOwokbGFuZ1snZGVmYXVsdCddID0gJ1BvZHJhenVtZXZhbmknOwokbGFuZ1snY2FuY2VsJ10gPSAnT3RrYcW+aSc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0dWogcG9kcmF6dW1ldmFuaSc7CiRsYW5nWydkdXBsaWNhdGUnXSA9ICdEdXBsaXJhaic7CiRsYW5nWydjaGFuZ2Vzc2F2ZWQnXSA9ICdWYSZzY2Fyb247ZSBpem1lbmUgc3UgdXNwZSZzY2Fyb247bm8gc2HEjXV2YW5lLic7CiRsYW5nWyd0ZW1wbGF0ZXJlc3RvcmVkJ10gPSAnUG9kcmF6dW1ldmFuaSAmc2Nhcm9uO2FibG9uIGplIG9ibm92bGplbi4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0RhIGxpIHN0ZSBzaWd1cm5pIGRhIMW+ZWxpdGUgZGEgaXpicmkmc2Nhcm9uO2V0ZT8nOwokbGFuZ1sndXAnXSA9ICdHb3JlJzsKJGxhbmdbJ2Rvd24nXSA9ICdEb2xlJzsKJGxhbmdbJ2VkaXQnXSA9ICdJem1lbmknOwokbGFuZ1snZGVsZXRlJ10gPSAnSXpicmkmc2Nhcm9uO2knOwokbGFuZ1snbm9zdWNoaWQnXSA9ICdJRCBuZSBwb3N0b2ppJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdBcnRpa2FsKGkpIGplIHVzcGUmc2Nhcm9uO25vIGl6YnJpc2FuLic7CiRsYW5nWydhZGQnXSA9ICdEb2RhaiAlcyc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsKJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBqZSBuZXZhxb5lxIdpLiBUbyBtb3JhIGJpdGkgdmFsaWRubyBQSFAgaW1lIHZhcmlhYmxlJzsKJGxhbmdbJ3NlYXJjaCddID0gJ1ByZXRyYcW+aSc7CiRsYW5nWydzZWFyY2hmb3InXSA9ICdQb3RyYcW+aSB6YSc7CiRsYW5nWydzZWFyY2hyZXN1bHRzZm9yJ10gPSAnVHJhxb5pIHJlenVsdGF0ZSB6YSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbW9kdWxlX25hbWUnXSA9ICdNb2R1bCBpbWUnOwokbGFuZ1snbW9kdWxlX25hbWVfZW1wdHknXSA9ICdNb2R1bCBpbWUgamUgcHJhem5vJzsKJGxhbmdbJ21vZHVsZV9uYW1lX2ludmFsaWQnXSA9ICdNb2R1bCBpbWUgc2FkcsW+aSBuZXZhxb5lxIdlIHpuYWtlJzsKJGxhbmdbJ21vZHVsZWNvcGllZCddID0gJ01vZHVsIHVzcGUmc2Nhcm9uO25vIGtvcGlyYW4nOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpbHRlcnByb21wdCddID0gJ0ZpbHRlciAlcyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWlzc2luZyddID0gJ1BhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gaXMgcmVxdWlyZWQgaW4gZmlsdGVyIG1vZGUuJzsKJGxhbmdbJ2FsbCddID0gJ1N2ZSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0xpc3RJdCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICcgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiB1bmluc3RhbGxlZCc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8cD5WZXJzaW9uIDEuMTwvcD48dWw+PGxpPk11bGl0bGV2ZWwgQ2F0ZWdvcmllczwvbGk+PGxpPlN1bW1hcnkgUGFnaW5hdGlvbjwvbGk+PGxpPk11bHRpcGxlIENhdGVnb3JpZXMgZm9yIHBhcmFtZXRlciBjYXRlZ29yeTwvbGk+PGxpPkNNU01TIDEuMTAgcmVhZHk8L2xpPjxsaT5CYWNrZW5kIHRhYmxlIHNlYXJjaDwvbGk+PGxpPkV4Y2x1ZGUgQ2F0ZWdvcnkgcGFyYW1ldGVyPC9saT48L3VsPic7CiRsYW5nWydnZW5lcmFsJ10gPSAnT3Amc2Nhcm9uO3RpJzsKJGxhbmdbJ3VzYWdlJ10gPSAnVXBvdHJlYmEnOwokbGFuZ1sncGVybWlzc2lvbnMnXSA9ICdEb3p2b2xlJzsKJGxhbmdbJ2R1cGxpY2F0aW5nJ10gPSAnRHVwbGljYXRpbmcgdGhpcyBtb2R1bGUnOwokbGFuZ1snYWJvdXQnXSA9ICdBYm91dCc7CiRsYW5nWydoZWxwX2dlbmVyYWwnXSA9ICc8aDM+R2VuZXJhbCBJbmZvPC9oMz4JCQoJPHA+U2ltcGx5IHB1dCwgTGlzdEl0IGFsbG93cyB5b3UgdG8gY3JlYXRlIGxpc3RzIHRoYXQgeW91IGNhbiBkaXNwbGF5IHRocm91Z2hvdXQgeW91ciB3ZWJzaXRlLiBZb3UgY291bGQgbWFrZSBhIHNpbXBsZSBGQVEgb3IgVGVzdGltb25pYWxzIGZlYXR1cmUgd2l0aCB0aGlzIG1vZHVsZS4gVGhlIHdlYiBkZXZlbG9wZXIgZGVmaW5lcyBmaWVsZHMgdG8gY29uc3RyYWluIHdoYXQgZGF0YSB0aGUgY2xpZW50IGNhbiBlbnRlci4gQSBudW1iZXIgb2YgZmllbGQgdHlwZXMgY2FuIGJlIHNwZWNpZmllZCAtIHRleHQgaW5wdXQsIGNoZWNrYm94LCB0ZXh0IGFyZWEsIHNlbGVjdCBkYXRlLCB1cGxvYWQgZmlsZSwgc2VsZWN0IGZpbGUsIGRyb3Bkb3duIC0gYW5kIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGNhbiBiZSBzZXQgZm9yIGVhY2ggdHlwZSwgZm9yIGV4YW1wbGUsIGlucHV0IGZpZWxkIHNpemUsIG1heCBsZW5ndGgsIFdZU0lXWUcgZWRpdG9yLCBwb3NzaWJsZSBkcm9wIGRvd24gdmFsdWVzLCBwb3NzaWJsZSBmaWxlIGV4dGVuc2lvbnMsIGRpcmVjdG9yeSBwYXRocyBmb3IgZmlsZSBzZWxlY3Rpb25zLCBkYXRlIGZvcm1hdHMsIGV0Yy4uPC9wPgoJPHA+QW4gaW1wb3J0YW50IG5vdGUgb2Ygd2FybmluZyAtIFRoaXMgaXMgbm90IGEgY29udGVudCBjb25zdHJ1Y3Rpb24ga2l0LCBzdWNoIGFzIGluIERydXBhbC4gSXQgaXMgbWVhbnQgZm9yIHNtYWxsIGxpc3RpbmdzLCBub3QgdG8gc3RvcmUgdGhvdXNhbmRzIG9mIHJlY29yZHMuIFRoaXMgaXMgYmVjYXVzZSBvZiB0aGUgZGF0YWJhc2UgbW9kZWwgdXNlZCAoRUFWKS4gQWxzbywgZWFjaCBiaXQgb2YgZGF0YSB5b3UgZW50ZXIgaXMgc3RvcmVkIGFzIFRFWFQgZGF0YSB0eXBlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgdmFyY2hhciwgYm9vbGVhbiwgdGltZXN0YW1wLCBldGMuIFRoaXMgaXMgYSByZXN0cmljdGlvbiBvZiBhIHNob3J0IGRldmVsb3BtZW50IHRpbWUgZnJhbWUuPC9wPic7CiRsYW5nWydoZWxwX3VzYWdlJ10gPSAnPGgzPlVzYWdlPC9oMz4JCQkKCTxwPllvdSBjYW4gY29uZmlndXJlIHskbW9kdWxlX25hbWV9IGhlcmU6IENvbnRlbnQgPiB7JG1vZHVsZV9uYW1lfTwvcD4KCTxwPlBsYWNlIHRoaXMgdGFnIGluIHlvdXIgcGFnZToge3skbW9kdWxlX25hbWV9fTwvcD4nOwokbGFuZ1snaGVscF91c2FnZV9vcHRpb25zJ10gPSAnQWZ0ZXIgaW5zdGFsbGluZyB0aGUgbW9kdWxlIHRoZSBuZXh0IHRoaW5nIHRvIGRvIGlzIHNldCB0aGUgb3B0aW9ucy4gIAkJCQkKCTxvbD4JCQkJCQoJCTxsaT5UbyBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZSBpbiB0aGUgbWVudSBjaGFuZ2UgdGhlICZxdW90O01vZHVsZSBGcmllbmRseSBOYW1lJnF1b3Q7LjwvbGk+CgkJPGxpPlRvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgaXRlbSB0YWIgY2hhbmdlIHRoZSAmcXVvdDtJdGVtIFBsdXJhbCZxdW90Oy48L2xpPgoJPC9vbD4nOwokbGFuZ1snaGVscF91c2FnZV9maWVsZGRlZnMnXSA9ICdOZXh0IC0gc2V0IHRoZSBGaWVsZCBEZWZpbml0aW9ucy4gCgk8b2w+CgkJPGxpPkNob29zZSBmcm9tICZxdW90O1RleHQgSW5wdXQmcXVvdDssICZxdW90O0NoZWNrYm94JnF1b3Q7LCAmcXVvdDtUZXh0IEFyZWEmcXVvdDssICZxdW90O1NlbGVjdCBEYXRlJnF1b3Q7LCAmcXVvdDtVcGxvYWQgRmlsZSZxdW90OywgJnF1b3Q7U2VsZWN0IEZpbGUmcXVvdDsgJmFtcDsgJnF1b3Q7RHJvcGRvd24mcXVvdDsuPC9saT4KCQk8bGk+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIHRoZSAmcXVvdDtleHRyYSZxdW90OyBmaWVsZC4gU2VlIHRoZSAmcXVvdDtGaWVsZCBEZWZpbml0aW9ucyZxdW90OyB0YWIgZm9yIGEgbGlzdC48L2xpPgoJCTxsaT5FYWNoIGl0ZW0gaW4gZWFjaCBsaXN0IGhhcyB0aHJlZSBkZWZhdWx0IGZpZWxkcy4gQWxsIEZpZWxkIERlZmluaXRpb25zIHNldCBoZXJlIGFyZSBhZGRpdGlvbmFsIHRvIHRoZW0uPC9saT4KCTwvb2w+JzsKJGxhbmdbJ2hlbHBfdXNhZ2VfY2F0ZWdvcmllcyddID0gJ1RoZXJlIGlzIGEgc2luZ2xlIGNhdGVnb3J5IGJ5IGRlZmF1bHQgY2FsbGVkICZxdW90O0dlbmVyYWwmcXVvdDsuIFRoaXMgY2FuIGJlIHJlbmFtZWQgYW5kIGFkZGl0aW9uYWwgQ2F0ZWdvcmllcyBjYW4gYmUgYWRkZWQuJzsKJGxhbmdbJ2hlbHBfdXNhZ2VfaXRlbXMnXSA9ICdOb3cgd2UgbW92ZSBvbiB0byB0aGUgaXRlbSBsaXN0IGl0c2VsZi4gSW4gdGhpcyBleGFtcGxlIGl0IHNheXMgJnF1b3Q7QWRkIEJveCZxdW90OywgdGhpcyB3YXMgcmVuYW1lZCBpbiB0aGUgJnF1b3Q7T3B0aW9ucyZxdW90OyB0YWIuIAoJPG9sPgoJCTxsaT5UaGUgZmlyc3QgZmllbGQgaXMgdGhlIGRlZmF1bHQgJnF1b3Q7VGl0bGUmcXVvdDsgZmllbGQuPC9saT4KCQk8bGk+VGhlICZxdW90O0NhdGVnb3J5JnF1b3Q7IGRyb3Bkb3duIGlzIGFsc28gYSBkZWZhdWx0IGZpZWxkLCBhbmQgaWYgdW5jaGFuZ2VkLCB3aWxsIGJlIHNldCB0byAmcXVvdDtHZW5lcmFsJnF1b3Q7LjwvbGk+CgkJPGxpPlRoZSB0aGlyZCBkZWZhdWx0IGZpZWxkIGlzIHRoZSBjaGVja2JveCBjYWxsZWQgJnF1b3Q7QWN0aXZlJnF1b3Q7LiBUaGlzIGFsbG93cyB5b3UgdG8gdG9nZ2xlIGEgbGlzdCBlbnRyeSB3aXRob3V0IGRlbGV0aW5nIGl0LjwvbGk+Cgk8L29sPic7CiRsYW5nWydoZWxwX3Blcm1pc3Npb25zJ10gPSAnPGgzPlBlcm1pc3Npb25zPC9oMz4KCTxwPllvdSBjYW4gc3BlY2lmeSB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zIHVuZGVyIFVzZXJzICZhbXA7IEdyb3VwcyA+IEdyb3VwIFBlcm1pc3Npb25zPC9wPgoJPHVsPgoJCTxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IEl0ZW1zPC9saT4KCQk8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBDYXRlZ29yaWVzPC9saT4KCQk8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBPcHRpb25zPC9saT4KCTwvdWw+Cgk8cD5UbyBhbGxvdyBub24tYWRtaW4gdXNlcnMgdG8gdXBsb2FkIGZpbGVzLCBwbGVhc2UgZ28gdG8gRXh0ZW5zaW9ucyA+IEdCRmlsZVBpY2tlciBhbmQgdGljayB0aGF0IGZpcnN0IGNoZWNrYm94ICZxdW90O1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyZxdW90Oy48L3A+JzsKJGxhbmdbJ2hlbHBfZmllbGRkZWZzJ10gPSAnPGgzPkZpZWxkIERlZmluaXRpb25zPC9oMz4KCTxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGNvbmZpZ3VyZSBhcmUgeW91ciBmaWVsZCBkZWZpbml0aW9ucy4gPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBGaWVsZCBkZWZpbml0aW9ucyBjYW4gb25seSBiZSBkZWxldGVkIHdoZW4gdGhleSYjMDM5O3JlIG5vdCBpbiB1c2UgaW4gb3JkZXIgdG8gYXZvaWQgZGF0YSBsb3NzLjwvcD4KCTxwPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBpbiB0aGUgJnF1b3Q7ZXh0cmEmcXVvdDsgZmllbGQuPC9wPgoJPHVsPgoJCTxsaT4KCQkJPHA+SW5zdHJ1Y3Rpb246IAoJCQk8Y29kZT5zaXplWzIwXTwvY29kZT48YnIgLz4KCQkJUG9zc2libGUgdmFsdWU6IGludGVnZXI8YnIgLz4KCQkJQXBwbGljYWJsZSB0bzogVGV4dCBJbnB1dCwgU2VsZWN0IERhdGU8L3A+ICAgIAoJCTwvbGk+CgkJPGxpPgoJCQk8cD5JbnN0cnVjdGlvbjogCgkJCTxjb2RlPm1heF9sZW5ndGhbMjBdCgkJCTwvY29kZT48YnIgLz4KCQkJUG9zc2libGUgdmFsdWU6IGludGVnZXI8YnIgLz4KCQkJQXBwbGljYWJsZSB0bzogVGV4dCBJbnB1dCwgVGV4dCBBcmVhLCBTZWxlY3QgRGF0ZTwvcD4KCQk8L2xpPgoJCTxsaT4KCQkJPHA+SW5zdHJ1Y3Rpb246IAoJCQk8Y29kZT53eXNpd3lnWzFdCgkJCTwvY29kZT48YnIgLz4KCQkJUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CgkJCUFwcGxpY2FibGUgdG86IFRleHQgQXJlYTwvcD4KCQk8L2xpPgoJCTxsaT4KCQkJPHA+SW5zdHJ1Y3Rpb246IAoJCQk8Y29kZT5vcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdCgkJCTwvY29kZT48YnIgLz4KCQkJUG9zc2libGUgdmFsdWU6IGtleT12YWx1ZSwuLi48YnIgLz4KCQkJQXBwbGljYWJsZSB0bzogRHJvcGRvd248L3A+CgkJPC9saT4KICAgICAgPGxpPgogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+YWxsb3dbcGRmLGdpZixwbmcsanBlZyxqcGddCiAgICAgICAgPC9jb2RlPjxiciAvPgogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBleHRlbnNpb24sLi4uIChrZWVwIGxvd2VyY2FzZSk8YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZSwgU2VsZWN0IEZpbGUKICAgICAgPC9wPiAgICAKICAgICAgPC9saT4gICAgCiAgICAgIDxsaT4gICAgICAgIAogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+ZGlyWy9wYXRoL3RvL2Rpcl0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IERpcmVjdG9yeSBwYXRoIHRoYXQgd2lsbCBiZSBhcHBlbmRlZCB0byAKICAgICAgICA8Y29kZT4kY29uZmlnWyYjMDM5O3VwbG9hZHNfdXJsJiMwMzk7XQogICAgICAgIDwvY29kZT4uIE5vIHNsYXNoIGF0IHRoZSBlbmQuIDxjb2RlPnskaXRlbV9pZH0gYW5kIHskaXRlbV9hbGlhc308L2NvZGU+IHdpbGwgYmUgcmVwbGFjZWQuPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+ICAgIAogICAgICA8bGk+ICAgICAgICAKICAgICAgPHA+SW5zdHJ1Y3Rpb246IAogICAgICAgIDxjb2RlPmV4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogcHJlZml4LC4uLjxiciAvPgogICAgICAgIEFwcGxpY2FibGUgdG86IFVwbG9hZCBGaWxlLCBTZWxlY3QgRmlsZQogICAgICA8L3A+ICAgIAogICAgICA8L2xpPiAgICAKICAgICAgPGxpPiAgICAgICAgCiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5kYXRlZm9ybWF0W2RkL21tL3l5XQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGF0ZSBmb3JtYXQgdXNlZCBieSB0aGUgalF1ZXJ5IGRhdGVwaWNrZXIuIFRyeSBnb29nbGluZyAmIzAzOTtqcXVlcnkgZm9ybWF0RGF0ZSYjMDM5OzxiciAvPgogICAgICAgIEFwcGxpY2FibGUgdG86IFNlbGVjdCBEYXRlCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+CgkgIDxsaT4gICAgICAgIAogICAgICA8cD5JbnN0cnVjdGlvbjogCiAgICAgICAgPGNvZGU+ZmlsZWJyb3dzZXJbMV0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGU8YnIgLz4KCQk8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gZmlsZWJyb3dzZXIgbW9kZSBpbnN0ZWFkIG9mIGRlZmF1bHQgZHJvcGRvd24gbW9kZQogICAgICA8L3A+ICAgIAogICAgICA8L2xpPgogICAgICA8bGk+CiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5pbWFnZVsxXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPgogICAgICAgIDxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBzaG93IHRodW1ibmFpbCBpbWFnZSBpbnN0ZWFkIG9mIGlucHV0IGZpZWxkLgogICAgICA8L3A+ICAgIAogICAgICA8L2xpPgogICAgICA8bGk+CiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5jcmVhdGVfZGlyc1sxXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPgogICAgICAgIDxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBhbGxvdyBjcmVhdGluZyBvZiBuZXcgZGlyZWNvdGlyZXMuCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+IAogICAgICA8bGk+CiAgICAgIDxwPkluc3RydWN0aW9uOiAKICAgICAgICA8Y29kZT5kZWxldGVbMV0KICAgICAgICA8L2NvZGU+PGJyIC8+CiAgICAgICAgUG9zc2libGUgdmFsdWU6IDF8MHx0cnVlfGZhbHNlPGJyIC8+CiAgICAgICAgQXBwbGljYWJsZSB0bzogVXBsb2FkIEZpbGU8YnIgLz4KICAgICAgICA8Yj5Ob3RlOjwvYj4gU2V0cyBHQkZpbGVQaWNrZXIgdG8gYWxsb3cgZGVsZXRpbmcgZmlsZXMuCiAgICAgIDwvcD4gICAgCiAgICAgIDwvbGk+CiAgICAgIDxsaT4KICAgICAgPHA+SW5zdHJ1Y3Rpb246IAogICAgICAgIDxjb2RlPnNob3dfc3ViZGlyc1sxXQogICAgICAgIDwvY29kZT48YnIgLz4KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogMXwwfHRydWV8ZmFsc2U8YnIgLz4KICAgICAgICBBcHBsaWNhYmxlIHRvOiBVcGxvYWQgRmlsZTxiciAvPgogICAgICAgIDxiPk5vdGU6PC9iPiBTZXRzIEdCRmlsZVBpY2tlciB0byBhbGxvdyB2aWV3aW5nIG9mIHN1YmRpcmVjdG9yaWVzLgogICAgICA8L3A+ICAgIAogICAgICA8L2xpPiAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8L3VsPgogICAgPHA+WW91IGNhbiBzcGVjaWZ5IG11bHRpcGxlIGluc3RydWN0aW9ucyBzZXBhcmF0ZWQgYnkgYSBzZW1pY29sb24gKAogICAgICA8Y29kZT47CiAgICAgIDwvY29kZT4pLCBmb3IgZXhhbXBsZToKICAgIDwvcD4KICAgIDxwPgogICAgICA8Y29kZT5hbGxvd1twZGZdO2RpclsvZG9jcy9wZGZdPC9jb2RlPgogICAgPC9wPgogICAgCgk8aDM+RmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+CiAgICAgICAgCiAgICA8dWw+CiAgICAgICAgPGxpPlRleHQgSW5wdXQ6IDxjb2RlPnNpemVbMjBdO21heF9sZW5ndGhbMjBdPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPkNoZWNrYm94OiA8Y29kZT4tPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPlRleHQgQXJlYTogPGNvZGU+bWF4X2xlbmd0aFsyMF07d3lzaXd5Z1sxXTwvY29kZT48L2xpPgogICAgICAgIDxsaT5TZWxlY3QgRGF0ZTogPGNvZGU+c2l6ZVsyMF07bWF4X2xlbmd0aFsyMF07ZGF0ZWZvcm1hdFtkZC9tbS95eV08L2NvZGU+PC9saT4KICAgICAgICA8bGk+VXBsb2FkIEZpbGU6IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddO2RpclsvcGF0aC90by9kaXJdO2V4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXTtmaWxlYnJvd3NlclsxXTtpbWFnZVsxXTs8L2NvZGU+PC9saT4KICAgICAgICA8bGk+U2VsZWN0IEZpbGU6IDxjb2RlPmFsbG93W3BkZixnaWYsanBlZyxqcGddO2RpclsvcGF0aC90by9kaXJdO2V4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXTwvY29kZT48L2xpPgogICAgICAgIDxsaT5Ecm9wZG93bjogPGNvZGU+b3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXTwvY29kZT48L2xpPgogICAgICAgIDxsaT5Db250ZW50IFBhZ2VzOiA8Y29kZT4tPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPkZpZWxkc2V0IFN0YXJ0OiA8Y29kZT4tPC9jb2RlPjwvbGk+CiAgICAgICAgPGxpPkZpZWxkc2V0IEVuZDogPGNvZGU+LTwvY29kZT48L2xpPgogICAgPC91bD4nOwokbGFuZ1snaGVscF9jYXRlZ29yaWVzJ10gPSAnPGgzPkNhdGVnb3JpZXM8L2gzPgoJPHA+TXVsdGkgbGV2ZWwgY2F0ZWdvcmllcyBhcmUgc3VwcG9ydGVkLjwvcD4nOwokbGFuZ1snaGVscF90ZW1wbGF0ZXMnXSA9ICc8aDM+VGVtcGxhdGVzPC9oMz4KCTxwPklmIHlvdSBhcmUgbm90IHN1cmUgd2hhdCB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0byB1c2UgaW4geW91ciB0ZW1wbGF0ZXMsIHRyeSB0aGUgZGVidWcgdGVtcGxhdGU6PC9wPgoJPHA+e3skbW9kdWxlX25hbWV9IHN1bW1hcnl0ZW1wbGF0ZT0mIzAzOTtkZWJ1ZyYjMDM5O308L3A+Cgk8cD5Zb3UgY2FuIGFjY2VzcyBhbnkgZmllbGQgZGlyZWN0bHkgd2hlbiBsb29waW5nIHRocm91Z2ggaXRlbXMgdXNpbmcgaXRzIGFsaWFzLCBmb3IgZXhhbXBsZSwgdG8gaWYgeW91IGNyZWF0ZWQgYSBmaWVsZCBkZWZpbml0aW9uIHdpdGggYW4gYWxpYXMgJnF1b3Q7cG9zaXRpb24mcXVvdDssIHlvdSBjYW4gZG86PC9wPic7CiRsYW5nWydoZWxwX3RlbXBsYXRlc19jYXRlZ29yaWVzJ10gPSAnPHA+QmVzaWRlcywgeW91IGNhbiBsb29wIHRocm91Z2ggY2F0ZWdvcmllcyBpbiB0aGUgc3VtbWFyeSB0ZW1wbGF0ZSBqdXN0IGFzIHdlbGwgYXMgbG9vcGluZyB0aHJvdWdoIGl0ZW1zOjwvcD4nOwokbGFuZ1snaGVscF9kdXBsaWNhdGluZyddID0gJzxoMz5EdXBsaWNhdGluZyB0aGlzIG1vZHVsZTwvaDM+Cgk8cD5UaGlzIG1vZHVsZSB3YXMgbWFkZSB0byBiZSBlYXNpbHkgZHVwbGljYXRlZC4gVG8gZHVwbGljYXRlIHRoaXMgbW9kdWxlLCBmb2xsb3cgdGhlc2Ugc3RlcHMgQkVGT1JFIGluc3RhbGxpbmcgdGhlIG1vZHVsZTo8L3A+Cgk8b2w+ICAgIAoJCTxsaT5SZW5hbWUgdGhlIGRpcmVjdG9yeSAmcXVvdDs8Yj5MaXN0SXQ8L2I+JnF1b3Q7PC9saT4gICAgCgkJPGxpPlJlbmFtZSAmcXVvdDtjbGFzcyA8Yj5MaXN0SXQ8L2I+IGV4dGVuZHMgQ01TTW9kdWxlJnF1b3Q7IGluc2lkZSBMaXN0SXQubW9kdWxlLnBocDwvbGk+ICAgIAoJCTxsaT5SZW5hbWUgJnF1b3Q7PGI+TGlzdEl0PC9iPi5tb2R1bGUucGhwJnF1b3Q7PC9saT4KCTwvb2w+Cgk8cD5NYWtlIHN1cmUgeW91IGZvbGxvdyB0aGUgQ01TTVMgbW9kdWxlIG5hbWluZyBjb252ZW50aW9ucywgYS16IHdpdGggbm8gcHVuY3R1YXRpb24gY2hhcmFjdGVycyBvciBzcGFjZXMgdG8gYmUgc2FmZSA6KTwvcD4KCTxwPllvdSBjYW4gYWx3YXlzIGNoYW5nZSB0aGUgbW9kdWxlIGZyaWVuZGx5IG5hbWUgb25jZSBpbnN0YWxsZWQgdW5kZXIgJnF1b3Q7T3B0aW9ucyZxdW90OyAoQ29udGVudCA+IHskbW9kdWxlX25hbWV9KS4gVG8gY2hhbmdlIHRoZSBpY29uLCByZXBsYWNlIC9tb2R1bGVzL3skbW9kdWxlX25hbWV9L2ltYWdlcy9pY29uLmdpZi48L3A+JzsKJGxhbmdbJ2hlbHBfYWJvdXQnXSA9ICc8aDM+QWJvdXQ8L2gzPgoJPHA+T3JpZ2luIG9mIHRoaXMgbW9kdWxlIGNvbWVzIGZyb20gPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9saXN0aXQiIHRhcmdldD0iX2JsYW5rIj5MaXN0SXQgTW9kdWxlPC9hPiBkZXZlbG9wZWQgYnkgQmVuIE1hbGVuLjxiciAvPkFzIHRoZXJlIHdlcmUgbm8gcGxhbnMgb24gZnVydGhlciBkZXZlbG9wbWVudCBvZiB0aGUgbW9kdWxlIHNvbWUgcGVvcGxlIGRlY2lkZWQgdG8gZm9yayB0aGUgbW9kdWxlIGFuZCBjb250aW51ZSB3aXRoIGRldmVsb3BtZW50LjxiciAvPgoJSWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTAxNSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMDE1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uIDxiciAvPgoJUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuCgk8L3A+Cgk8aDM+VGVhbTwvaDM+Cgk8dWw+CgkJPGxpPkpvbmF0aGFuIFNjaG1pZCAoRm9hbHkqKSBoaUBqb25hdGhhbnNjaG1pZC5kZSA8YnIgLz53d3cuam9uYXRoYW5zY2htaWQuZGU8L2xpPgoJCTxsaT5Hb3JhbiBJbGljICh1bmlxdTMpIGcuaWxpY0BpLWFydHMuZXUgPGJyIC8+d3d3LmljaC1tYWNoLWRhcy5hdDwvbGk+CgkJPGxpPlJvYmVydCBDYW1wYmVsbCAoY2FsZ3V5MTAwMCkgY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyAgPGJyIC8+d3d3LmNhbGd1eTEwMDAuY29tPC9saT4KCQk8bGk+THVrYXMgQmxhdHRlciAobm9ja2VuZmVsbCkgbm9ja2VuZmVsbEBnbWFpbC5jb20gPGJyIC8+d3d3LmJsYXR0ZXJ0ZWNoLmNoPC9saT4KCQk8bGk+QXJub3VkIChhcm5vdWQpIGFybm91ZEB1cHNlcnZpY2UubmwgPGJyIC8+d3d3LnVwc2VydmljZS5ubDwvbGk+CgkJPGxpPldheW5lIE9OZWlsICh3aXNoYm9uZSkgd2F5bmVAdGVhbXdpc2hib25lLmNvbSA8YnIgLz53d3cudGVhbXdpc2hib25lLmNvbTwvbGk+CgkJPGxpPlRhcGlvIEwmb3VtbDt5dHl5IChTdGlra2kpIHRhcHNhQGJsYWNrbWlsay5maTwvbGk+Cgk8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJwlPdmVycmlkZSB0aGUgZGVmYXVsdCBhY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cgk8dWw+CgkJPGxpPiZxdW90O2RlZmF1bHQmcXVvdDsgLSBkaXNwbGF5cyB0aGUgc3VtbWFyeSB2aWV3LjwvbGk+CgkJPGxpPiZxdW90O2RldGFpbCZxdW90OyAtIGRpc3BsYXlzIGEgc3BlY2lmaWVkIGVudHJ5IGluIGRldGFpbCBtb2RlLjwvbGk+CgkJPGxpPiZxdW90O3NlYXJjaCZxdW90OyAtIGRpc3BsYXlzIHRoZSBzZWFyY2ggZm9ybS48L2xpPgoJCTxsaT4mcXVvdDtmaWx0ZXImcXVvdDsgLSBkaXNwbGF5cyB0aGUgZmlsdGVyIGZvcm0uIFBhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gaXMgcmVxdWlyZWQuPC9saT4KCTwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2FsbCddID0gJ1Nob3cgYWxsIGl0ZW1zLCBpcnJlc3BlY3RpdmUgb2YgZW5kIGRhdGUuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnknXSA9ICdTcGVjaWZ5IGFuIGFsaWFzIG9yIGNvbW1hIHNlcGFyYXRlZCBhbGlhc2VzIG9mIHRoZSBjYXRlZ29yeS9jYXRlZ29yaWVzIGRpc3BsYXllZCBpdGVtcyBtdXN0IGJlIGEgbWVtYmVyIG9mLic7CiRsYW5nWydoZWxwX3BhcmFtX2V4Y2x1ZGVfY2F0ZWdvcnknXSA9ICdTcGVjaWZ5IGFuIGFsaWFzIG9yIGNvbW1hIHNlcGFyYXRlZCBhbGlhc2VzIG9mIHRoZSBjYXRlZ29yeS9jYXRlZ29yaWVzIGRpc3BsYXllZCBpdGVtcyBtdXNuJiMwMzk7dCBiZSBhIG1lbWJlciBvZi4nOwokbGFuZ1snaGVscF9wYXJhbV9zdWJjYXRlZ29yeSddID0gJ0lmIHBhcmFtZXRlciAmIzAzOTtjYXRlZ29yeSYjMDM5OyBpcyBzcGVjaWZpZWQsIHRoaXMgcGFyYW1ldGVyIHNldCB0byA8ZW0+dHJ1ZTwvZW0+IHdpbGwgbWFrZSBhbGxvd2FuY2UgZm9yIHN1YmNhdGVnb3JpZXMmIzAzOTsgaXRlbXMuIEl0IGlzIHNldCB0byBmYWxzZSBieSBkZWZhdWx0Lic7CiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhlIGRldGFpbCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhlIHN1bW1hcnkgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlLic7CiRsYW5nWydoZWxwX3BhcmFtX3NlYXJjaHRlbXBsYXRlJ10gPSAnVGhlIHNlYXJjaCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fb3JkZXJieSddID0gJ1lvdSBjYW4gb3JkZXIgYnkgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29sdW1uczogaXRlbV9pZCwgaXRlbV90aXRsZSwgaXRlbV9wb3NpdGlvbiwgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X3Bvc2l0aW9uLCBjYXRlZ29yeV9oaWVyYXJjaHkuPGJyIC8+Cgk8dWw+CgkJPGxpPkZvciBleGFtcGxlOjxiciAvPgoJCW9yZGVyYnk9JiMwMzk7Y2F0ZWdvcnlfbmFtZSwgaXRlbV90aXRsZSYjMDM5OzwvbGk+CgkJPGxpPllvdSBjYW4gYWxzbyBzcGVjaWZ5IGFzY2VuZGluZyBvciBkZXNjZW5kaW5nIGZvciBhbnkgY29sdW1uLCBmb3IgZXhhbXBsZTo8YnIgLz4KCQlvcmRlcmJ5PSYjMDM5O2NhdGVnb3J5X25hbWV8YXNjLCBpdGVtX3RpdGxlfGRlc2MmIzAzOTs8L2xpPgoJPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9wYWdlbGltaXQnXSA9ICdNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IChwZXIgcGFnZSkuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3VwcGxpZWQgYWxsIG1hdGNoaW5nIGl0ZW1zIHdpbGwgYmUgZGlzcGxheWVkLiAgSWYgaXQgaXMsIGFuZCB0aGVyZSBhcmUgbW9yZSBpdGVtcyBhdmFpbGFibGUgdGhhbiBzcGVjaWZpZWQgaW4gdGhlIHBhcmFtZXRlciwgdGV4dCBhbmQgbGlua3Mgd2lsbCBiZSBzdXBwbGllZCB0byBhbGxvdyBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgcmVzdWx0cyc7CiRsYW5nWydoZWxwX3BhcmFtX3N0YXJ0J10gPSAnU3RhcnQgYXQgdGhlIG50aCBpdGVtIC0tIGxlYXZpbmcgZW1wdHkgd2lsbCBzdGFydCBhdCB0aGUgZmlyc3QgaXRlbS4nOwokbGFuZ1snaGVscF9wYXJhbV9udW1iZXInXSA9ICdNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IChwZXIgcGFnZSkgLS0gbGVhdmluZyBlbXB0eSB3aWxsIHNob3cgYWxsIGl0ZW1zLiBUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIHBhZ2VsaW1pdCBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1BhZ2UgdG8gZGlzcGxheSBpdGVtIGRldGFpbHMgaW4uIE11c3QgYmUgYSBwYWdlIGFsaWFzLiBVc2VkIHRvIGFsbG93IGRldGFpbHMgdG8gYmUgZGlzcGxheWVkIGluIGEgZGlmZmVyZW50IHBhZ2UgdGhhbiBzdW1tYXJ5Lic7CiRsYW5nWydoZWxwX3BhcmFtX2l0ZW0nXSA9ICdUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGFwcGxpY2FibGUgdG8gdGhlIGRldGFpbCB2aWV3LiBJdCBhbGxvd3Mgc3BlY2lmeWluZyB3aGljaCBpdGVtIHRvIGRpc3BsYXkgaW4gZGV0YWlsIG1vZGUuIE11c3QgYmUgYW4gaXRlbSBhbGlhcy4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2gnXSA9ICdTZWFyY2ggYWxsIGZpZWxkcy4gVXNlcyBmdWxsdGV4dCBzZWFyY2guJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoXyddID0gJ1NlYXJjaCBhIHBhcnRpY3VsYXIgZmllbGQuIFlvdSBjYW4gdXNlICYjMDM5O3RpdGxlJiMwMzk7IG9yIHRoZSBhbGlhcyBvZiBhIGZpZWxkIGRlZmluaXRpb24sIGUuZy4gc2VhcmNoX3RpdGxlLiBXaWxsIGJlIGlnbm9yZWQgd2hlbiBwYXJhbWV0ZXIgJiMwMzk7c2VhcmNoJiMwMzk7IGlzIHNldCwgYnV0IG11bHRpcGxlIHNlYXJjaF8qIHBhcmFtcyBjYW4gYmUgY29tYmluZWQuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZmlsdGVyJ10gPSAnUmVxdWlyZWQgZm9yIGFjdGlvbiA8ZW0+ZmlsdGVyPC9lbT4uIFNwZWNpZnkgdGhlIGZpZWxkcyB3aG9zZSB2YWx1ZXMgc2hvdWxkIGJlIG9mZmVyZWQgYXMgZmlsdGVyIG9wdGlvbnMgYnkgbGlzdGluZyB0aGUgZmllbGQmIzAzOTtzIGFsaWFzZXMgY29tbWEgc2VwYXJhdGVkLic7CiRsYW5nWydoZWxwX3BhcmFtX3JldHVybnBhZ2UnXSA9ICdVc2VkIGZvciBmaWx0ZXIgb3Igc2VhcmNoIG1vZGUgb25seS4gUGFnZSB0byBkaXNwbGF5IHNlYXJjaCByZXN1bHRzIHJlc3BlY3Rpdmx5IGZpbHRlcmVkIGl0ZW1zIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy4gVXNlZCB0byBhbGxvdyBzdW1tYXJ5IHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gZmlsdGVyIC8gc2VhcmNoIG1hc2suJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE0NTg0NTA2NjQtMTI4NDU3MzA4NDkxOCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNDM0NjQ2OTAuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjY4MzQyMTU5Ni4xMzQzNDY0NjkwLjEzNDM0NjQ2OTAuMTM0MzQ2Njg3OC4yJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQyQ2F0ZWdvcnkKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljICRjYXRlZ29yeV9pZCA9IG51bGw7CglwdWJsaWMgJGFsaWFzID0gbnVsbDsJCglwdWJsaWMgJG5hbWUgPSAnJzsKCXB1YmxpYyAkZGVzY3JpcHRpb24gPSAnJzsKCXB1YmxpYyAkYWN0aXZlID0gMTsKCXB1YmxpYyAkcG9zaXRpb24gPSAxOwoJcHVibGljICRwYXJlbnRfaWQgPSAtMTsKCXB1YmxpYyAkaGllcmFyY2h5ID0gJyc7CglwdWJsaWMgJGlkX2hpZXJhcmNoeSA9ICcnOwoJcHVibGljICRoaWVyYXJjaHlfcGF0aCA9ICcnOwoJcHVibGljICRjcmVhdGVfZGF0ZSA9ICcnOwoJcHVibGljICRtb2RpZmllZF9kYXRlID0gJyc7CgkKCXB1YmxpYyAka2V5MSA9IG51bGw7CglwdWJsaWMgJGtleTIgPSBudWxsOwoJcHVibGljICRrZXkzID0gbnVsbDsKCQoJcHVibGljICRpdGVtczsKCXB1YmxpYyAkY2hpbGRyZW47CglzdGF0aWMgcHVibGljICRtYW5kYXRvcnkgPSBhcnJheSgnbmFtZScpOwoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSAKCXsKCQkkdGhpcy0+aXRlbXMgPSBhcnJheSgpOwoJCSR0aGlzLT5jaGlsZHJlbiA9IGFycmF5KCk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKCXsKCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+bmFtZTsKCX0KCQp9IC8vIGVuZCBvZiBjbGFzcwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2CategoryOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEzvv715dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5CiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNsYXNzIExpc3RJdDJDYXRlZ29yeU9wZXJhdGlvbnMKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBWYXJpYWJsZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgoJcHVibGljIHN0YXRpYyAkaWRlbnRpZmllcnMgPSBhcnJheSgnY2F0ZWdvcnlfaWQnLCAnYWxpYXMnLCAnaGllcmFyY2h5JywgJ2lkX2hpZXJhcmNoeScsICdoaWVyYXJjaHlfcGF0aCcsICdrZXkxJywgJ2tleTInLCAna2V5MycpOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIERhdGFiYXNlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gU2F2ZShMaXN0SXQyICYkbW9kLCBMaXN0SXQyQ2F0ZWdvcnkgJiRvYmopCgl7CgkJLy8gQ2hlY2sgYWdhaW5zdCBtYW5kYXRvcnkgbGlzdAoJCWZvcmVhY2goTGlzdEl0MkNhdGVnb3J5OjokbWFuZGF0b3J5IGFzICRydWxlKSB7CgkJCgkJCWlmKCRvYmotPiRydWxlID09ICcnKQoJCQkJcmV0dXJuOwoJCX0KCQkKCQkvLyBFbnN1cmUgdGhhdCB3ZSBoYXZlIGFsaWFzCgkJaWYgKCRvYmotPmFsaWFzID09ICcnKXsKCQkKCQkJJG9iai0+YWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRvYmotPm5hbWUsIHRydWUpOwoJCX0KCQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkvLyBHZXQgbmV3IHBvc2l0aW9uCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBtYXgocG9zaXRpb24pICsgMSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgV0hFUkUgcGFyZW50X2lkID0gPyc7CgkJJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5wYXJlbnRfaWQpKTsKCQkKCQlpZiAoJHBvc2l0aW9uID09IG51bGwpCgkJCSRwb3NpdGlvbiA9IDE7CQoJCgkJLy8gRXhpc3RpbmcKCQlpZiAoJG9iai0+Y2F0ZWdvcnlfaWQgPiAwKSB7CgkJCgkJCS8vIEdldCBvbGQgZGF0YQoJCQkkcXVlcnkgPSAnU0VMRUNUIHBhcmVudF9pZCwgcG9zaXRpb24gRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkJCSRvbGRfZGF0YSA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJG9iai0+Y2F0ZWdvcnlfaWQpKTsJCQoJCQoJCQlpZigkb2JqLT5wYXJlbnRfaWQgIT0gJG9sZF9kYXRhWydwYXJlbnRfaWQnXSkgewoJCQkKCQkgICAgICAvLyBoYXZlIHRvIHVwZGF0ZSBwb3NpdGlvbiBpbmRleGVzIG9mIG9sZCBzaWJsaW5ncyBpZiBjaGFuZ2luZyBwYXJlbnRzLgoJCSAgICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSAKCQkJCQlTRVQgcG9zaXRpb24gPSBwb3NpdGlvbiAtIDEgV0hFUkUgcGFyZW50X2lkID0gPyBBTkQgcG9zaXRpb24gPiA/JzsKCQkJCQkKCQkgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2xkX2RhdGFbJ3BhcmVudF9pZCddLCAkb2xkX2RhdGFbJ3Bvc2l0aW9uJ10pKTsKCQkJICAKCQkgICAgfSBlbHNlIHsKCQkJCgkJCQkkcG9zaXRpb24gPSAkb2xkX2RhdGFbJ3Bvc2l0aW9uJ107CgkJCX0KCQoJCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgCgkJCQkJU0VUIGNhdGVnb3J5X25hbWUgPSA/LCBjYXRlZ29yeV9kZXNjcmlwdGlvbiA9ID8sIGNhdGVnb3J5X2FsaWFzID0gPywgcG9zaXRpb24gPSA/LCBwYXJlbnRfaWQgPSA/LCBhY3RpdmUgPSA/LCBtb2RpZmllZF9kYXRlID0gTk9XKCkgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkJCQkKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAoJCQkJJG9iai0+bmFtZSwgCgkJCQkkb2JqLT5kZXNjcmlwdGlvbiwgCgkJCQkkb2JqLT5hbGlhcywgIAoJCQkJJHBvc2l0aW9uLCAKCQkJCSRvYmotPnBhcmVudF9pZCwKCQkJCSRvYmotPmFjdGl2ZSwKCQkJCSRvYmotPmNhdGVnb3J5X2lkCgkJCSkpOwoJCQkKCQkJaWYgKCEkcmVzdWx0KQoJCQkJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsKCgkJLy8gTmV3CgkJfSBlbHNlIHsKCQkJCgkJCS8vIGNoZWNrIGFsaWFzIGlzIHVuaXF1ZQoJCQkkcXVlcnkgPSAnU0VMRUNUIENPVU5UKGFsaWFzKSBBUyBhbGlhcyBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfYWxpYXMgTElLRSAiJy4kb2JqLT5hbGlhcy4nJSInOwoJCQkkZGJyZXN1bHQgPSAkZGItPkdldE9uZSgkcXVlcnkpOwoJCQkKCQkJaWYoJGRicmVzdWx0ID4gMCkKCQkJCSRvYmotPmFsaWFzIC49ICdfJy4oJGRicmVzdWx0KzEpOwkJCgkJCgkJCgkJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IAoJCQkJCShjYXRlZ29yeV9uYW1lLCBjYXRlZ29yeV9kZXNjcmlwdGlvbiwgY2F0ZWdvcnlfYWxpYXMsIHBvc2l0aW9uLCBwYXJlbnRfaWQsIGFjdGl2ZSwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIAoJCQkJCVZBTFVFUyAoPywgPywgPywgPywgPywgPywgTk9XKCksIE5PVygpKSc7CgkJCQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoCgkJCQkkb2JqLT5uYW1lLCAKCQkJCSRvYmotPmRlc2NyaXB0aW9uLCAKCQkJCSRvYmotPmFsaWFzLCAKCQkJCSRwb3NpdGlvbiwgCgkJCQkkb2JqLT5wYXJlbnRfaWQsCgkJCQkkb2JqLT5hY3RpdmUKCQkJCQoJCQkpKTsKCQkJCgkJCWlmICghJHJlc3VsdCkKCQkJCWRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgoJCQkvLyBwb3B1bGF0ZSAkY2F0ZWdvcnlfaWQgZm9yIG5ld2x5IGluc2VydGVkIGNhdGVnb3J5CgkJCSRvYmotPmNhdGVnb3J5X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCQl9CgoJCS8vIHVwZGF0ZSBoaWVyYXJjaHkKCQlzZWxmOjpVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoJG1vZCk7CQkJCQoJfQoKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gRGVsZXRlKExpc3RJdDIgJiRtb2QsIExpc3RJdDJDYXRlZ29yeSAmJG9iaikKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQoJCWlmICgkb2JqLT5jYXRlZ29yeV9pZCA+IDApIHsKCgkJCS8vIEdldCBkZXRhaWxzCgkJCSRxdWVyeSA9ICdTRUxFQ1QgcG9zaXRpb24sIHBhcmVudF9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJG9iai0+Y2F0ZWdvcnlfaWQpKTsKCQkJCgkJCS8vIERldGVsZXRlIGNhdGVnb3J5CgkJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CgkJCQoJCQkvLyBEZWxldGUgZnJvbSBpdGVtcwoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9iai0+Y2F0ZWdvcnlfaWQpKTsJCQkKCQkJCQkJCQkJCgkJCS8vIFVwZGF0ZSBwb3NpdGlvbiBmb3Igc2libGluZ3MKCQkJaWYoJHJvd1sncGFyZW50X2lkJ10gPiAwKSB7CgkJCQoJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFNFVCBwb3NpdGlvbiA9IHBvc2l0aW9uIC0gMSBXSEVSRSBwYXJlbnRfaWQgPSA/IEFORCBwb3NpdGlvbiA+ID8nOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHJvd1sncGFyZW50X2lkJ10sICRyb3dbJ3Bvc2l0aW9uJ10pKTsJCQkJCgkJCX0KCQkJZWxzZSB7CQkJCgkJCQoJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFNFVCBwb3NpdGlvbiA9IHBvc2l0aW9uICsgMSBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CQkJCgkJCX0KCQkJCgkJCS8vIFVwZGF0ZSBwYXJlbnQgZm9yIGNoaWxkcmVuCgkJCSRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBTRVQgcGFyZW50X2lkID0gPyBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHJvd1sncGFyZW50X2lkJ10sICRvYmotPmNhdGVnb3J5X2lkKSk7CQkJCgkJCQoJCQlzZWxmOjpVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoJG1vZCk7CgkJCQoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCXJldHVybiBGQUxTRTsKCX0KCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIExvYWQoTGlzdEl0MiAmJG1vZCwgTGlzdEl0MkNhdGVnb3J5ICYkb2JqLCAkcm93ID0gZmFsc2UpCgl7CQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkvLyBJZiB3ZSBkb24ndCBoYXZlIHJvdyB0aGVuIGF0dGVtcHQgdG8gbG9hZCBpdAoJCWlmICghJHJvdykgewoJCQoJCQlmb3JlYWNoKHNlbGY6OiRpZGVudGlmaWVycyBhcyAkaWRlbnRpZmllcikgewoJCQkKCQkJCWlmKCFpc19udWxsKCRvYmotPiRpZGVudGlmaWVyKSkgewoJCQkKCQkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3J5IAoJCQkJCQkJCQkJV0hFUkUgJGlkZW50aWZpZXIgPSA/IAoJCQkJCQkJCQkJTElNSVQgMSI7CQkJCQkJCQkKCQkJCQkJCQkJCQoJCQkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRvYmotPiRpZGVudGlmaWVyKSk7CgkJCQkJCgkJCQkJaWYoJHJvdykKCQkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgoJCWlmICgkcm93KSB7CgoJCQkkb2JqLT5jYXRlZ29yeV9pZCAJCQk9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CgkJCSRvYmotPmFsaWFzIAkJCQk9ICRyb3dbJ2NhdGVnb3J5X2FsaWFzJ107CgkJCSRvYmotPm5hbWUgCQkJCQk9ICRyb3dbJ2NhdGVnb3J5X25hbWUnXTsKCQkJJG9iai0+ZGVzY3JpcHRpb24gCQkJPSAkcm93WydjYXRlZ29yeV9kZXNjcmlwdGlvbiddOwoJCQkkb2JqLT5hY3RpdmUgCQkJCT0gJHJvd1snYWN0aXZlJ107CgkJCSRvYmotPnBvc2l0aW9uIAkJCQk9ICRyb3dbJ3Bvc2l0aW9uJ107CgkJCSRvYmotPnBhcmVudF9pZCAJCQk9ICRyb3dbJ3BhcmVudF9pZCddOwoJCQkkb2JqLT5oaWVyYXJjaHkgCQkJPSAkcm93WydoaWVyYXJjaHknXTsKCQkJJG9iai0+aWRfaGllcmFyY2h5IAkJCT0gJHJvd1snaWRfaGllcmFyY2h5J107CgkJCSRvYmotPmhpZXJhcmNoeV9wYXRoCQk9ICRyb3dbJ2hpZXJhcmNoeV9wYXRoJ107CgkJCSRvYmotPmNyZWF0ZV9kYXRlIAkJCT0gJHJvd1snY3JlYXRlX2RhdGUnXTsKCQkJJG9iai0+bW9kaWZpZWRfZGF0ZSAJCT0gJHJvd1snbW9kaWZpZWRfZGF0ZSddOwoJCQkKCQkJJG9iai0+a2V5MQkJIAkJCT0gJHJvd1sna2V5MSddOwoJCQkkb2JqLT5rZXkyCQkgCQkJPSAkcm93WydrZXkyJ107CgkJCSRvYmotPmtleTMJCSAJCQk9ICRyb3dbJ2tleTMnXTsJCgkJCQoJCQkvLyBJdGVtcwoJCQkkcXVlcnkgPSAnU0VMRUNUIEEuaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBBIAoJCQkJCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMgSUIgCgkJCQkJCU9OIEEuaXRlbV9pZCA9IElCLml0ZW1faWQgCgkJCQkJCVdIRVJFIElCLmNhdGVnb3J5X2lkID0gPyAKCQkJCQkJQU5EIEEuYWN0aXZlID0gMSc7CgkJCQoJCQkkb2JqLT5pdGVtcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSwgYXJyYXkoJG9iai0+Y2F0ZWdvcnlfaWQpKTsJCQkJCQkKCgkJCS8vIENoaWxkcmVuCgkJCSRxdWVyeSA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIHBhcmVudF9pZCA9ID8gQU5EIGFjdGl2ZSA9IDEnOwoJCQkkb2JqLT5jaGlsZHJlbiA9ICRkYi0+R2V0Q29sKCRxdWVyeSwgYXJyYXkoJG9iai0+Y2F0ZWdvcnlfaWQpKTsJCQkKCQkKCQkJcmV0dXJuIHRydWU7CgkJfQoKCQlyZXR1cm4gRkFMU0U7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFV0aWxpdHkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIEdldEhpZXJhcmNoeUxpc3QoTGlzdEl0MiAmJG1vZCwgJG51bGwgPSB0cnVlLCAkZXhjbHVkZXMgPSBudWxsKQoJewoJCWlmKCFpc19udWxsKCRleGNsdWRlcykgJiYgIWlzX2FycmF5KCRleGNsdWRlcykpIHsKCQkKCQkJJGV4Y2x1ZGVzID0gYXJyYXkoJGV4Y2x1ZGVzKTsKCQl9CgkJCgkJaWYoaXNfbnVsbCgkZXhjbHVkZXMpKSAkZXhjbHVkZXMgPSBhcnJheSgpOwoKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkKCQkkcXVlcnkgPSAnU0VMRUNUIGhpZXJhcmNoeSwgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IE9SREVSIEJZIGhpZXJhcmNoeSBBU0MnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQoJCSRvcHRpb25zID0gJG51bGwgPyBhcnJheSgnLS0tICcubGFuZygnbm9uZScpLicgLS0tJyA9PiAnLTEnKSA6IGFycmF5KCk7CgoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsKCQkKCQkJaWYoaW5fYXJyYXkoJHJvd1snY2F0ZWdvcnlfaWQnXSwgJGV4Y2x1ZGVzKSkgCgkJCQljb250aW51ZTsKCQkJCQoJCQkkcG9zaXRpb24gPSAkY29udGVudG9wcy0+Q3JlYXRlRnJpZW5kbHlIaWVyYXJjaHlQb3NpdGlvbigkcm93WydoaWVyYXJjaHknXSk7CgkJCSRvcHRpb25zWyRwb3NpdGlvbiAuICcuIC0gJyAuICRyb3dbJ2NhdGVnb3J5X25hbWUnXV0gPSAkcm93WydjYXRlZ29yeV9pZCddOwoJCX0KCQkKCQlyZXR1cm4gJG9wdGlvbnM7Cgl9CgkKCS8vIE5vIGluIHVzZQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBHZXRDaGlsZHJlbnNGb3JDYXRlZ29yeShMaXN0SXQyICYkbW9kLCAkaWQpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQoJCSRxdWVyeSA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIHBhcmVudF9pZCA9ID8nOwoJCSRjYXRlZ29yaWVzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LCBhcnJheSgkaWQpKTsKCgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJZm9yZWFjaCgkY2F0ZWdvcmllcyBhcyAkb25lX2lkKSB7CgkJCgkJCSRyZXN1bHRbXSA9ICRtb2QtPkxvYWRDYXRlZ29yeUJ5SWRlbnRpZmllcignY2F0ZWdvcnlfaWQnLCAkb25lX2lkKTsKCQl9CgkKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBHZXRDYXRlZ29yeU5hbWVGcm9tSWQoTGlzdEl0MiAmJG1vZCwgJGlkX2FycmF5KQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkkcXVlcnkgPSAnU0VMRUNUIGNhdGVnb3J5X25hbWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JzsKCQkkcXBhcm1zID0gYXJyYXkoKTsKCQkkY2xhdXNlID0gYXJyYXkoKTsKCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQkKCQlmb3JlYWNoKChhcnJheSkkaWRfYXJyYXkgYXMgJG9uZV9pZCkgewoJCQkkY2xhdXNlW10gPSAnY2F0ZWdvcnlfaWQgPSA/JzsKCQkJJHFwYXJtc1tdID0gJG9uZV9pZDsKCQl9CgkJCgkJJHF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBPUiAnLCAkY2xhdXNlKTsKCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHFwYXJtcyk7CgkJCgkJd2hpbGUoJGRiciAmJiAhJGRici0+RU9GKSB7CgkJCQoJCQkkcmVzdWx0W10gPSAkZGJyLT5maWVsZHNbJ2NhdGVnb3J5X25hbWUnXTsKCQkJJGRici0+TW92ZU5leHQoKTsKCQl9CgkJCgkJaWYoJGRicikgCgkJCSRkYnItPkNsb3NlKCk7CQoJCQoJCXJldHVybiAkcmVzdWx0OwoJfQoJCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9uKExpc3RJdDIgJiRtb2QsICRpZCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKCQkkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24gPSAnJzsKCQkkY3VycmVudF9pZF9oaWVyYXJjaHlfcG9zaXRpb24gPSAnJzsKCQkkY3VycmVudF9oaWVyYXJjaHlfcGF0aCA9ICcnOwoJCSRjdXJyZW50X3BhcmVudF9pZCA9ICRpZDsKCgkJd2hpbGUgKCRjdXJyZW50X3BhcmVudF9pZCA+IC0xKQoJCXsKCQkJJHF1ZXJ5ID0gJ1NFTEVDVCBwb3NpdGlvbiwgcGFyZW50X2lkLCBjYXRlZ29yeV9hbGlhcyBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfcGFyZW50X2lkKSk7CgkJCWlmICgkcm93KSB7CgkJCQoJCQkJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3RyX3BhZCgkcm93Wydwb3NpdGlvbiddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkgLiAnLicgLiAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb247CgkJCQkkY3VycmVudF9pZF9oaWVyYXJjaHlfcG9zaXRpb24gPSAkY3VycmVudF9wYXJlbnRfaWQgLiAnLicgLiAkY3VycmVudF9pZF9oaWVyYXJjaHlfcG9zaXRpb247CgkJCQkkY3VycmVudF9oaWVyYXJjaHlfcGF0aCA9ICRyb3dbJ2NhdGVnb3J5X2FsaWFzJ10gLiAnLycgLiAkY3VycmVudF9oaWVyYXJjaHlfcGF0aDsKCQkJCSRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3dbJ3BhcmVudF9pZCddOwoJCQl9CgkJCWVsc2UgewoJCQkKCQkJCSRjdXJyZW50X3BhcmVudF9pZCA9IC0xOwoJCQl9CgkJfQoKCQlpZiAoc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbikgPiAwKSB7CgkJCgkJCSRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CgkJfQoJCQoJCWlmIChzdHJsZW4oJGN1cnJlbnRfaWRfaGllcmFyY2h5X3Bvc2l0aW9uKSA+IDApIHsKCQkKCQkJJGN1cnJlbnRfaWRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3Vic3RyKCRjdXJyZW50X2lkX2hpZXJhcmNoeV9wb3NpdGlvbiwgMCwgc3RybGVuKCRjdXJyZW50X2lkX2hpZXJhcmNoeV9wb3NpdGlvbikgLSAxKTsKCQl9CgkJCgkJaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcGF0aCkgPiAwKSB7CgkJCgkJCSRjdXJyZW50X2hpZXJhcmNoeV9wYXRoID0gc3Vic3RyKCRjdXJyZW50X2hpZXJhcmNoeV9wYXRoLCAwLCBzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3BhdGgpIC0gMSk7CgkJfQoKCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgU0VUIGhpZXJhcmNoeSA9ID8sIGlkX2hpZXJhcmNoeSA9ID8sIGhpZXJhcmNoeV9wYXRoID0gPyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiwgJGN1cnJlbnRfaWRfaGllcmFyY2h5X3Bvc2l0aW9uLCAkY3VycmVudF9oaWVyYXJjaHlfcGF0aCwgJGlkKSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIFVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucyhMaXN0SXQyICYkbW9kKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJCSRxdWVyeSA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JzsKCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgoJCXdoaWxlICgkZGJyICYmICEkZGJyLT5FT0YpIHsKCQkKCQkJc2VsZjo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb24oJG1vZCwgJGRici0+ZmllbGRzWydjYXRlZ29yeV9pZCddKTsKCQkJJGRici0+TW92ZU5leHQoKTsKCQl9CgkJCgkJaWYoJGRicikgCgkJCSRkYnItPkNsb3NlKCk7Cgl9CQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2CategoryQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQyQ2F0ZWdvcnlRdWVyeSBleHRlbmRzIExpc3RJdDJRdWVyeQp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEF0dHJpYnV0ZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIHN0YXRpYyAkb3JkZXJieV9tYXAgPSBhcnJheSgKCQkvLyBjYXRlZ29yeQoJCSdjYXRlZ29yeV9pZCcgPT4gJ2NhdGVnb3J5X2lkJywgJ25hbWUnID0+ICdjYXRlZ29yeV9uYW1lJywgJ2FsaWFzJyA9PiAnY2F0ZWdvcnlfbmFtZScsICdoaWVyYXJjaHknID0+ICdoaWVyYXJjaHknLCAncG9zaXRpb24nID0+ICdwb3NpdGlvbicsCgkJJ2NyZWF0ZV9kYXRlJyA9PiAnY3JlYXRlX2RhdGUnLCAnbW9kaWZpZWRfZGF0ZScgPT4gJ21vZGlmaWVkX2RhdGUnLCAnaGllcmFyY2h5X3BhdGgnID0+ICdoaWVyYXJjaHlfcGF0aCcsICdpZF9oaWVyYXJjaHknID0+ICdpZF9oaWVyYXJjaHknLAoJCS8vIGZ1bmN0aW9ucwoJCSdyYW5kJz0+J1JBTkQoKScJCgkpOwoJCgkvL3ByaXZhdGUgc3RhdGljICRfYWxsb3dlZF9wYXJhbXMgPSBhcnJheSgpOyAvLyBUT0RPCQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoTGlzdEl0MiAmJG1vZCwgJiRwYXJhbXMpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbW9kLCAkcGFyYW1zKTsKCX0KCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgUXVlcnkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCglwcml2YXRlIGZ1bmN0aW9uIF9hcHBlbmRfaW50ZXJuYWwoKQoJewoJCWlmKGlzc2V0KCR0aGlzLT5xdWVyeSkpCgkJCXJldHVybjsKCQkJCgkJJGRiID0gJHRoaXMtPkdldERiKCk7CgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgpOwoJCSRwYXJhbXMgPSAkdGhpcy0+R2V0UGFyYW1zKCk7CQoKCQkvKioKCQkgKiBPUkRFUiBCWQoJCSAqLwoJCWlmKGlzc2V0KCRwYXJhbXNbJ29yZGVyYnknXSkpIHsKCgkJCWxpc3QoJG9yZGVyX2NvbHMsICRjdXN0b21fY29scykgPSBzZWxmOjpleHBsb2RlX29yZGVyYnkoJHBhcmFtc1snb3JkZXJieSddLCBzZWxmOjokb3JkZXJieV9tYXApOyAvLyA8LSBCaXQgYnJva2VuLCB3YXNuJ3QgbWVudCBmb3IgY2F0ZWdvcnkgYWN0aW9uLCBzZWNvbmQgYXJyYXkgdG90YWxseSB1bm5lY2NlcnkuCgkJCQoJCQlpZihjb3VudCgkb3JkZXJfY29scykpIHsKCQkJCgkJCQlmb3JlYWNoKCRvcmRlcl9jb2xzIGFzICRvbmUpIHsKCQkJCQoJCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfT1JERVJCWSwgJG9uZSk7CgkJCQl9CgkJCX0KCQl9Cgl9CgkJCglwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCkKCXsKCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCk7CgkJJHBhcmFtcyA9ICR0aGlzLT5HZXRQYXJhbXMoKTsKCQkKCQkkb3JkZXJfY29scyA9IGFycmF5KCk7CgkJJGN1c3RvbV9jb2xzID0gYXJyYXkoKTsKCQkkdGhpcy0+X2FwcGVuZF9pbnRlcm5hbCgpOwkJCgoJCS8vIEluaXQgcXVlcnkKCQkkdGhpcy0+cXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IEIgJzsKCgkJLy8gTWVyZ2UgZXZlcnl0aGluZyB0byBvbmUgcXVlcnkKCQlpZihjb3VudCgkdGhpcy0+am9pbnMpKQoJCQkkdGhpcy0+cXVlcnkgLj0gaW1wbG9kZSgnICcsICR0aGlzLT5qb2lucyk7CgkJCgkJaWYoY291bnQoJHRoaXMtPndoZXJlKSkKCQkJJHRoaXMtPnF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHRoaXMtPndoZXJlKTsKCQkJCgkJJHRoaXMtPnF1ZXJ5IC49ICcgR1JPVVAgQlkgQi5jYXRlZ29yeV9pZCAnOwkJCQoKCQlpZihjb3VudCgkdGhpcy0+b3JkZXJieSkpIHsKCQkKCQkJJHRoaXMtPnF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJywgJHRoaXMtPm9yZGVyYnkpOwoJCX0gZWxzZSB7CgkJCgkJCSR0aGlzLT5xdWVyeSAuPSAnIE9SREVSIEJZIGhpZXJhcmNoeSAnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJyk7CgkJfQkJCQoJCQkKCQkkdGhpcy0+cmVzdWx0c2V0ID0gJGRiLT5FeGVjdXRlKCR0aGlzLT5xdWVyeSwgJHRoaXMtPnFwYXJhbXMpOwoJfQkKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBDbGFzcyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJc3RhdGljIHByaXZhdGUgZnVuY3Rpb24gZXhwbG9kZV9vcmRlcmJ5KCRwYXJhbSwgJHZhbGlkX2NvbHMpewoJCgkJJG9yZGVyX2NvbHMgPSBhcnJheSgpOwoJCSRjdXN0b21fY29scyA9IGFycmF5KCk7CgkJJGluZGV4ID0gMDsKCQkKCQlmb3JlYWNoKGV4cGxvZGUoJywnLCAkcGFyYW0pIGFzICRjb2wpIHsKCQkKCQkJJGNvbCA9IHRyaW0oJGNvbCk7CgkJCSRjb2xfcGFydHMgPSBleHBsb2RlKCd8JywgJGNvbCk7CgkKCQkJLy8gY29sdW1uIG5hbWUKCQkJJGNvbF9uYW1lID0gJGNvbF9wYXJ0c1swXTsKCQkJJGNvbF9vcmRlciA9ICdBU0MnOwoJCgkJCS8vIG9yZGVyIGNvbHVtbiBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZwoJCQlpZihpc3NldCgkY29sX3BhcnRzWzFdKSkgewoJCQkJCgkJCQkkY29sX29yZGVyID0gKGluX2FycmF5KCRjb2xfcGFydHNbMV0sIGFycmF5KCdBU0MnLCAnREVTQycpKSA/ICRjb2xfcGFydHNbMV0gOiAnQVNDJyk7CgkJCX0KCQoJCQkkY29sX29yZGVyID0gKGluX2FycmF5KCRjb2xfb3JkZXIsIGFycmF5KCdBU0MnLCAnREVTQycpKSA/ICRjb2xfb3JkZXIgOiAnQVNDJyk7CgkKCQkJaWYoaXNzZXQoJHZhbGlkX2NvbHNbJGNvbF9uYW1lXSkpIHsKCQkJCgkJCQkkb3JkZXJfY29sc1skaW5kZXhdID0gJHZhbGlkX2NvbHNbJGNvbF9uYW1lXSAuICcgJyAuICRjb2xfb3JkZXI7CgkJCX0gCgkJCWVsc2VpZiAoc3RhcnRzd2l0aCgkY29sX25hbWUsICdjdXN0b21fJykpIHsKCQkJCQoJCQkJJGN1c3RvbV9uYW1lID0gc3Vic3RyKCRjb2xfbmFtZSwgNyk7CgkJCQkkb2JqID0gbmV3IHN0ZENsYXNzOwoJCQkJJG9iai0+bmFtZSA9ICRjdXN0b21fbmFtZTsKCQkJCSRvYmotPm9yZGVyID0gJGNvbF9vcmRlcjsKCQkJCQoJCQkJJGN1c3RvbV9jb2xzWyRpbmRleF0gPSAkb2JqOwoJCQl9CgkJCQoJCQkkaW5kZXgrKzsKCQl9CgkJCQoJCXJldHVybiBhcnJheSgkb3JkZXJfY29scywgJGN1c3RvbV9jb2xzKTsKCX0JCQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pgk=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQyQ29uZmlnIGltcGxlbWVudHMgQXJyYXlBY2Nlc3MKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQogCglzdGF0aWMgcHJpdmF0ZSAkX2FsbG93ZWQgPSBhcnJheSgnbW9kdWxlX2FsaWFzJyk7Cglwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7Cglwcml2YXRlICRfbW9kX2luc3RhbmNlOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMaXN0SXQyICYkbW9kKSAKCXsKCQkkdGhpcy0+X21vZF9pbnN0YW5jZSA9ICRtb2Q7IC8vIDwtIE1heSBiZSBtZW1vcnkgaGVhdmUsIGRvIHNvbWUgdGVzdGluZy4uLgoJCgkJJGxpc3RpdDJfY29uZmlnID0gYXJyYXkoKTsKCQkkZm4gPSBjbXNfam9pbl9wYXRoKCRtb2QtPkdldE1vZHVsZVBhdGgoKSwgTElTVElUMl9DT05GSUdfRklMRSk7CgkJaWYoaXNfcmVhZGFibGUoJGZuKSkgewoJCQoJCQlpbmNsdWRlKCRmbik7CgkJCWlmKGlzc2V0KCRsaXN0aXQyX2NvbmZpZykpIHsKCQkJCgkJCQlmb3JlYWNoKCRsaXN0aXQyX2NvbmZpZyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkKCQkJCQkkdGhpcy0+b2Zmc2V0U2V0KCRrZXksICR2YWx1ZSk7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBcnJheSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRrZXkpCgl7CQkKCQlpZihpc3NldChzZWxmOjokX2FsbG93ZWRbJGtleV0pKQoJCQlyZXR1cm4gdHJ1ZTsKCQoJCXJldHVybiBmYWxzZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRrZXkpCgl7CQoJCS8vIENoZWNrIGZpbGUgdmFsdWVzCgkJaWYoaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSkgCgkJCXJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CgkJCgkJLy8gQ2hlY2sgcHJlLWRlZmluZWQgdmFsdWVzCgkJc3dpdGNoKCRrZXkpIHsKCQkKCQkJY2FzZSAnbW9kdWxlX2FsaWFzJzoKCQkJCXJldHVybiBzdHJ0b2xvd2VyKCR0aGlzLT5fbW9kX2luc3RhbmNlLT5HZXROYW1lKCkpOwoKCQkJZGVmYXVsdDoKCQkJCXJldHVybiBudWxsOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRrZXksJHZhbHVlKQoJewoJCWlmKGluX2FycmF5KCRrZXksIHNlbGY6OiRfYWxsb3dlZCkpCgkJCSR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGtleSkKCXsKCQl0cmlnZ2VyX2Vycm9yKCdVbnNldHRpbmcgTGlzdEl0MiBjb25maWcgdmFyaWFibGUgJy4ka2V5LicgaXMgaW52YWxpZCcsIEVfVVNFUl9FUlJPUik7Cgl9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2CsvIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIHNvdXJjZTogaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5mZ2V0Y3N2LnBocCM1NzgwMgogKiAKICogPT4gY2FuIGltcG9ydCBhIGNzdiBmaWxlIGFuZCBpdGVyYXRlIG92ZXIgdGhlIGl0ZW1zCiAqID0+IGFsbG93cyB0byBzcGVjaWZ5IHRoZSBzZXBhcmF0b3IgYW5kIHRoZSBlbmNsb3N1cmUKICogCiAqIFJlcXVpcmVzIGF0IGxlYXN0IFBIUCA0LjMKICogCiAqIEhvd1RvIHVzZSBleGFtcGxlOgoJJGNzdkl0ZXJhdG9yID0gbmV3IENzdkl0ZXJhdG9yKCcvcGF0aC90by9maWxlJywgdHJ1ZSwgJ3wnLCAnIicpOwoJd2hpbGUgKCRjc3ZJdGVyYXRvci0+bmV4dCgpKSB7CgkJcHJpbnRfcigkY3N2SXRlcmF0b3ItPmN1cnJlbnQoKSk7Cgl9CiAqIAogKiBAYXV0aG9yIE1PIG1vcnRhbm9uIGF0IGdtYWlsIGRvdCBjb20sIDE0LU9jdC0yMDA1IDA4OjA1CiAqIEBhdXRob3IgVEsgVG9iaWFzIEtsdWdlLCBodHRwOi8vZW5hcmlvbi5uZXQKICogCiAqIEB2ZXJzaW9uIDEuMSAtIDIwMDYtMDQtMjIgYnkgVEsKICogCQktIGJhY2twb3J0IHRvIFBIUCA0CiAqIAkJLSBhZGRlZCB1c2FnZSBvZiBlbmNsb3N1cmUKICogCQktIGFkZGVkIHN1cHBvcnQgb2YgaGVhZGVycyAKICogQHZlcnNpb24gMS4wIC0gMjAwNS0xMC0xNCBieSBNTwogKiAKICovCgpjbGFzcyBMaXN0SXQyQ3N2SXRlcmF0b3IKewogICB2YXIgJFJPV19TSVpFID0gNDA5NjsKICAgLyoqCiAgICAgKiBUaGUgcG9pbnRlciB0byB0aGUgY3ZzIGZpbGUuCiAgICAgKiBAdmFyIHJlc291cmNlCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICB2YXIgJGZpbGVQb2ludGVyID0gbnVsbDsKICAgLyoqCiAgICAgKiBUaGUgY3VycmVudCBlbGVtZW50LCB3aGljaCB3aWxsCiAgICAgKiBiZSByZXR1cm5lZCBvbiBlYWNoIGl0ZXJhdGlvbi4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgIHZhciAkY3VycmVudEVsZW1lbnQgPSBudWxsOwogICAvKioKICAgICAqIFRoZSByb3cgY291bnRlci4KICAgICAqIEB2YXIgaW50CiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICB2YXIgJHJvd0NvdW50ZXIgPSBudWxsOwogICAvKioKICAgICAqIFRoZSBkZWxpbWl0ZXIgZm9yIHRoZSBjc3YgZmlsZS4KICAgICAqIEB2YXIgc3RyCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICB2YXIgJGRlbGltaXRlciA9IG51bGw7CiAgIC8qKgogICAgICogVGhlIGVuY2xvc3VyZSBmb3IgdGhlIGNzdiBmaWxlLgogICAgICogQHZhciBzdHIKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgIHZhciAkZW5jbG9zdXJlID0gJyInOwogICAvKioKICAgICAqIFNwZWNpZmllcyBpZiBoZWFkZXJzIHNob3VsZCBiZSByZWFkIGFuZCB1c2VkLgogICAgICogQHZhciBib29sCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICB2YXIgJHdpdGhIZWFkZXJzID0gZmFsc2U7CiAgIC8qKgogICAgKiBDb250YWlucyB0aGUgaGVhZGVycyBpZiBoZWFkZXJzIGFyZSB1c2VkLgogICAgKiBAdmFyIGFycmF5CiAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgKi8KICAgdmFyICRoZWFkZXIgPSBhcnJheSgpOwoKCiAgIC8qKgogICAgICogVGhpcyBpcyB0aGUgY29uc3RydWN0b3IuSXQgdHJ5IHRvIG9wZW4gdGhlIGNzdiBmaWxlLlRoZSBtZXRob2QgdGhyb3dzIGFuIGV4Y2VwdGlvbgogICAgICogb24gZmFpbHVyZS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0ciAkZmlsZSBUaGUgY3N2IGZpbGUuCiAgICAgKiBAcGFyYW0gYm9vbCAkd2l0aEhlYWRlcnMgU3BlY2lmeSBpZiBmaWxlIGNvbnRhaW5zIGhlYWRlciBhbmQgc2hvdWxkIGJlIHVzZWQuCiAgICAgKiBAcGFyYW0gc3RyICRkZWxpbWl0ZXIgVGhlIGRlbGltaXRlci4KICAgICAqIEBwYXJhbSBzdHIgJGVuY2xvc3VyZSBUaGUgZW5jbG9zdXJlLgogICAgICoKICAgICAqIEB0aHJvd3MgRXhjZXB0aW9uCiAgICAgKi8KICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGZpbGUsICR3aXRoSGVhZGVycyA9IHRydWUsICRkZWxpbWl0ZXI9JywnLCAkZW5jbG9zdXJlPSciJykKICAgewogICAgICAgJHRoaXMtPmZpbGVQb2ludGVyID0gQGZvcGVuKCRmaWxlLCAncicpOwogICAgICAgaWYgKCR0aGlzLT5maWxlUG9pbnRlciA9PT0gZmFsc2UpIHsKICAgICAgIAkJZGllKCdUaGUgZmlsZSAiJy4kZmlsZS4nIiBjYW5ub3QgYmUgcmVhZC4nKTsKICAgICAgIH0KICAgICAgICR0aGlzLT5kZWxpbWl0ZXIgPSAkZGVsaW1pdGVyOwogICAgICAgJHRoaXMtPmVuY2xvc3VyZSA9ICRlbmNsb3N1cmU7CiAgICAgICAkdGhpcy0+d2l0aEhlYWRlcnMgPSAkd2l0aEhlYWRlcnM7CiAgIH0KCiAgIC8qKgogICAgICogVGhpcyBtZXRob2QgcmVzZXRzIHRoZSBmaWxlIHBvaW50ZXIuCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICBmdW5jdGlvbiByZXdpbmQoKSB7CiAgICAgICAkdGhpcy0+cm93Q291bnRlciA9IDA7CiAgICAgICByZXdpbmQoJHRoaXMtPmZpbGVQb2ludGVyKTsKICAgfQoKICAgLyoqCiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBjdXJyZW50IGNzdiByb3cgYXMgYSAyIGRpbWVuc2lvbmFsIGFycmF5CiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYXJyYXkgVGhlIGN1cnJlbnQgY3N2IHJvdyBhcyBhIDIgZGltZW5zaW9uYWwgYXJyYXkKICAgICAqLwogICBmdW5jdGlvbiBjdXJyZW50KCkgewoJICAgaWYgKCR0aGlzLT53aXRoSGVhZGVycyAmJiAkdGhpcy0+cm93Q291bnRlciA9PSAwKSB7ICAgCQogICAgICAgCQkkdGhpcy0+aGVhZGVyID0gJHRoaXMtPmN1cnJlbnRFbGVtZW50OwogICAgICAgCQkkdGhpcy0+bmV4dCgpOwoJICAgfQkgICAKCiAgICAgICAvLyBjaGVjayBmb3IgaW52YWxpZCBjdXJyZW50RWxlbWVudAogICAgICAgaWYgKCFpc19hcnJheSgkdGhpcy0+Y3VycmVudEVsZW1lbnQpKSB7CiAgICAgICAJCXZhcl9kdW1wKCR0aGlzLT5jdXJyZW50RWxlbWVudCk7CiAgICAgICAJCXJldHVybiAkdGhpcy0+Y3VycmVudEVsZW1lbnQ7CiAgICAgICB9CgoJICAgLy8gaGFuZGxlIGhlYWRlcnMgICAgICAgCiAgICAgICBpZiAoJHRoaXMtPndpdGhIZWFkZXJzKSB7CiAgICAgICAJCS8vIGFwcGx5IGhlYWRlcnMgdG8gY3VycmVudEVsZW1lbnQKCQkJJHRtcCA9IGFycmF5KCk7ICAgICAgIAkJCiAgICAgICAJCQogICAgICAgCQlmb3JlYWNoICgkdGhpcy0+Y3VycmVudEVsZW1lbnQgYXMgJGkgPT4gJHZhbHVlKSB7CiAgICAgICAJCQkvLyAkdG1wWyRpXSA9ICR2YWx1ZTsgLy8gdW5jb21tZW50IHRoaXMgbGluZSB0byB1c2UgaW5kaWNlcyBhcyBhcnJheSBrZXlzCgkJCQlpZihpc3NldCgkdGhpcy0+aGVhZGVyWyRpXSkpCgkJCQkJJHRtcFskdGhpcy0+aGVhZGVyWyRpXV0gPSAkdmFsdWU7CiAgICAgICAJCX0KICAgICAgIAkJJHRoaXMtPmN1cnJlbnRFbGVtZW50ID0gJHRtcDsKICAgICAgIH0KICAgICAgICR0aGlzLT5yb3dDb3VudGVyKys7CiAgICAgICByZXR1cm4gJHRoaXMtPmN1cnJlbnRFbGVtZW50OwogICB9ICAKICAgCiAgIC8qKgogICAgICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgY3VycmVudCByb3cgbnVtYmVyLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGludCBUaGUgY3VycmVudCByb3cgbnVtYmVyCiAgICAgKi8KICAgZnVuY3Rpb24ga2V5KCkgewogICAgICAgcmV0dXJuICR0aGlzLT5yb3dDb3VudGVyOwogICB9CgogICAvKipSYQogICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIHRoZSBlbmQgb2YgZmlsZSBpcyByZWFjaGVkLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4gUmV0dXJucyB0cnVlIG9uIEVPRiByZWFjaGVkLCBmYWxzZSBvdGhlcndpc2UuCiAgICAgKi8KICAgZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgICR0aGlzLT5jdXJyZW50RWxlbWVudCA9IEBmZ2V0Y3N2KCR0aGlzLT5maWxlUG9pbnRlciwgJHRoaXMtPlJPV19TSVpFLCAkdGhpcy0+ZGVsaW1pdGVyLCAkdGhpcy0+ZW5jbG9zdXJlKTsKICAgICAgIC8vIGVvZiBpcyByZWFjaGVkIDw9PiByZXN1bHQgb2YgZmdldGNzdiBpcyBmYWxzZSAKICAgICAgIHJldHVybiAkdGhpcy0+Y3VycmVudEVsZW1lbnQgIT09IEZBTFNFOwogICB9CgogICAvKioKICAgICAqIFRoaXMgbWV0aG9kIGNoZWNrcyBpZiB0aGUgbmV4dCByb3cgaXMgYSB2YWxpZCByb3cuCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYm9vbGVhbiBJZiB0aGUgbmV4dCByb3cgaXMgYSB2YWxpZCByb3cuCiAgICAgKi8KICAgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICAgICBpZiAoISR0aGlzLT5uZXh0KCkpIHsKICAgICAgICAgICAkdGhpcy0+dGVhckRyb3AoKTsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgfQogICAKICAgLyoqCiAgICAqIFRoaXMgbWV0aG9kIGNsb3NlcyBhbGwgb3BlbiBmaWxlcyBhbmQgc2h1dHMgdGhpcyBvYmplY3QgZG93bi4KICAgICogCiAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAqIEByZXR1cm4gdm9pZCBubyByZXN1bHQKICAgICovCiAgIGZ1bmN0aW9uIHRlYXJEb3duKCkgewogICAJICAgZmNsb3NlKCR0aGlzLT5maWxlUG9pbnRlcik7CiAgIH0KfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Duplicator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTGlzdEl0MkR1cGxpY2F0b3IgewoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ29uc3RhbnRzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkKCWNvbnN0IE1PRF9QUkVGSVggPSAnTGlzdEl0Mic7Cgljb25zdCBQTEFDRUhPTERFUiA9ICc0YWI3YjI5ZGQ3YWRkYzg3OWNiOTJjZTAwOTMwNmU0ZSc7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSAkc3JjOwoJcHJpdmF0ZSAkZHN0OwoJcHJpdmF0ZSAkbW9kbmFtZTsKCXByaXZhdGUgc3RhdGljICRfaW52YWxpZCA9IGFycmF5KCcuJywgJy4uJyk7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbW9kbmFtZSA9IHNlbGY6OlBMQUNFSE9MREVSKSAKCXsKCQkkdGhpcy0+bW9kbmFtZSA9IHNlbGY6Ok1PRF9QUkVGSVggLiAkbW9kbmFtZTsKCQkkdGhpcy0+c3JjID0gZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2R1cGxpY2F0ZSc7CgkJJHRoaXMtPmRzdCA9IGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICR0aGlzLT5tb2RuYW1lOwoJfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgU2V0L0dldAoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBTZXRNb2R1bGUoJG5hbWUpCgl7CgkJJHRoaXMtPm1vZG5hbWUgPSAkbmFtZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIFNldFNvdXJjZSgkbmFtZSkKCXsKCQkkdGhpcy0+c3JjID0gJG5hbWU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIFNldERlc3RpbmF0aW9uKCRuYW1lKQoJewoJCSR0aGlzLT5kc3QgPSAkbmFtZTsKCX0JCgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgUnVubmVyCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkKCXB1YmxpYyBmdW5jdGlvbiBSdW4oKQoJewoJCSR0aGlzLT5Db3B5UmVjdXJzaXZlKCR0aGlzLT5zcmMsICR0aGlzLT5kc3QpOwoJCSR0aGlzLT5SZW5hbWUoKTsKCQkkdGhpcy0+Rml4TW9kdWxlZmlsZSgpOwoJCQoJCXJldHVybiAkdGhpcy0+bW9kbmFtZTsKCX0KCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgRmlsZSBoYW5kbGluZyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENvcHlSZWN1cnNpdmUoJHNyYywgJGRzdCkgCgl7CgkJJGRpciA9IG9wZW5kaXIoJHNyYyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCUBta2RpcigkZHN0KTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJCgkJd2hpbGUoZmFsc2UgIT09ICggJGZpbGUgPSByZWFkZGlyKCRkaXIpKSApIHsKCQkKCQkJaWYgKGluX2FycmF5KCRmaWxlLCBzZWxmOjokX2ludmFsaWQpKSBjb250aW51ZTsgLy8gPC0gU2tpcCBzdHVmZiB3ZSBuZXZlciBhbGxvdyB0byBjb3B5CgoJCQlpZiAoIGlzX2Rpcigkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKSApIHsgCgkJCQkkdGhpcy0+Q29weVJlY3Vyc2l2ZSgkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKTsgCgkJCX0gCgkJCWVsc2UgeyAKCQkJCUBjb3B5KCRzcmMgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsICRkc3QgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCQkJfSAKCQl9IAoJCQoJCWNsb3NlZGlyKCRkaXIpOyAKCX0KCQoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBSZW5hbWUoKSAKCXsKCQlAcmVuYW1lKCR0aGlzLT5kc3QgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gc2VsZjo6UExBQ0VIT0xERVIsIAoJCQkkdGhpcy0+ZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICR0aGlzLT5tb2RuYW1lIC4nLm1vZHVsZS5waHAnKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/Cgl9CgkKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gRml4TW9kdWxlZmlsZSgpIAoJewoJCSRmaWxlbmFtZSA9ICR0aGlzLT5kc3QgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPm1vZG5hbWUgLicubW9kdWxlLnBocCc7CgoJCS8vIFJlcGxhY2VtZW50cwoJCSRfY29udGVudHMgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZW5hbWUpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCQkkX2NvbnRlbnRzID0gc3RyX3JlcGxhY2Uoc2VsZjo6UExBQ0VIT0xERVIsICR0aGlzLT5tb2RuYW1lLCAkX2NvbnRlbnRzKTsKCQoJCS8vIFdyaXRlIGZpbGUKCQkkZmggPSBAZm9wZW4oJGZpbGVuYW1lLCAndycpOwoJCWZ3cml0ZSgkZmgsICRfY29udGVudHMpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCQlmY2xvc2UoJGZoKTsJCgl9CQoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2EventHandlerBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBDdXJyZW50IGF2YWlsYWJsZSBldmVudHMgaW4gc3lzdGVtOgojCS0gT25JdGVtTG9hZChMaXN0SXQyICYkbW9kKQojCS0gT25JdGVtU2F2ZShMaXN0SXQyICYkbW9kKQojCS0gT25JdGVtRGVsZXRlKExpc3RJdDIgJiRtb2QpCiMJLSBJdGVtU2F2ZVByZVByb2Nlc3MoQXJyYXkgJiRlcnJvcnMsIEFycmF5ICYkcGFyYW1zKSAKIwktIEl0ZW1TYXZlUG9zdFByb2Nlc3MoQXJyYXkgJiRlcnJvcnMsIEFycmF5ICYkcGFyYW1zKQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQyRXZlbnRIYW5kbGVyQmFzZQp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEF0dHJpYnV0ZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlICRfZmllbGQ7CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMaXN0SXQyRmllbGRkZWZCYXNlICYkZmllbGQpCgl7CgkJJHRoaXMtPl9maWVsZAkgCT0gJGZpZWxkOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRuYW1lLCAkYXJncykKCXsKCQlpZihtZXRob2RfZXhpc3RzKCR0aGlzLT5fZmllbGQsICRuYW1lKSkKCQkJcmV0dXJuIGNhbGxfdXNlcl9mdW5jX2FycmF5KGFycmF5KCR0aGlzLT5fZmllbGQsICRuYW1lKSwgJGFyZ3MpOwoJCgkJcmV0dXJuIEZBTFNFOwoJfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgT3ZlcndyaXRhYmxlIGV2ZW50cwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgoJLyoqCgkgKiBMaXN0SXQyIEZpZWxkIERhdGFiYXNlIFNhdmUgbWV0aG9kCgkgKgoJICogQHJldHVybiB2b2lkCgkgKi8JCglwdWJsaWMgZnVuY3Rpb24gT25JdGVtU2F2ZShMaXN0SXQyICYkbW9kKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkkcXVlcnkgID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5HZXRQYXJlbnRJdGVtKCktPml0ZW1faWQsICR0aGlzLT5HZXRJZCgpKSk7CgkJCQoJCWlmICghJHJlc3VsdCkKCQkJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsKCQoJCSRxdWVyeSAgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlX2luZGV4LCB2YWx1ZSkgVkFMVUVTICg/LD8sPyw/KSc7CgkJJGluZGV4ID0gMDsKCQkKCQlmb3JlYWNoKCR0aGlzLT5HZXRWYWx1ZSgpIGFzICRvbmVfdmFsKSB7CgkJCgkJCWlmKCEkb25lX3ZhbCkKCQkJCWNvbnRpbnVlOwoJCQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPkdldFBhcmVudEl0ZW0oKS0+aXRlbV9pZCwgJHRoaXMtPkdldElkKCksICRpbmRleCwgJG9uZV92YWwpKTsKCgkJCWlmICghJHJlc3VsdCkKCQkJCWRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgoJCQkkaW5kZXgrKzsJCQkJCQkKCQl9Cgl9CgoJLyoqCgkgKiBMaXN0SXQyIEZpZWxkIERhdGFiYXNlIExvYWQgbWV0aG9kCgkgKgoJICogQHJldHVybiB2b2lkCgkgKi8JCQoJcHVibGljIGZ1bmN0aW9uIE9uSXRlbUxvYWQoTGlzdEl0MiAmJG1vZCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJJHF1ZXJ5ID0gIlNFTEVDVCB2YWx1ZV9pbmRleCwgdmFsdWUsIGRhdGEgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkdmFsIFdIRVJFIGZpZWxkZGVmX2lkID0gPyBBTkQgaXRlbV9pZCA9ID8iOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0SWQoKSwgJHRoaXMtPkdldFBhcmVudEl0ZW0oKS0+aXRlbV9pZCkpOwoJCgkJJGlucHV0X2FyciA9IGFycmF5KCk7CgkJd2hpbGUoJGRiciAmJiAhJGRici0+RU9GKSB7CgkJCgkJCWlmKCFpc19udWxsKCRkYnItPmZpZWxkc1snZGF0YSddKSkgewoJCQkKCQkJCSR0aGlzLT5TZXRWYWx1ZSh1bnNlcmlhbGl6ZSgkZGJyLT5maWVsZHNbJ2RhdGEnXSkpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCgkJCSRpbnB1dF9hcnJbJGRici0+ZmllbGRzWyd2YWx1ZV9pbmRleCddXSA9ICRkYnItPmZpZWxkc1sndmFsdWUnXTsKCQkJJGRici0+TW92ZU5leHQoKTsKCQl9CgkJCgkJaWYoJGRicikgCgkJCSRkYnItPkNsb3NlKCk7CQkJCgkJCQoJCSR0aGlzLT5TZXRWYWx1ZSgkaW5wdXRfYXJyKTsgLy8gPC0gQWx3YXlzIHNldCBhcnJheSwgcmVnYXJkbGVzcyBvZiBjb250ZW50cywgY2hlY2sgaWYgdGhpcyBjYW4gZmFpbC4JCgl9CQoKCS8qKgoJICogRXhlY3V0ZWQgaW4gZWRpdF9pdGVtIGFjdGlvbi4gSnVzdCBiZWZvcmUgZGF0YWJhc2Ugc2F2ZSBwcm9jZXNzIGlzIGFib3V0IHRvIHRha2UgcGxhY2UuCgkgKgoJICogQHJldHVybiB2b2lkCgkgKi8JCglwdWJsaWMgZnVuY3Rpb24gSXRlbVNhdmVQcmVQcm9jZXNzKCYkZXJyb3JzLCAmJHBhcmFtcykgCgl7CgkJJHRoaXMtPl9maWVsZC0+VmFsaWRhdGUoJGVycm9ycyk7Cgl9CQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgVXRpbGl0eSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoKCXByb3RlY3RlZCBmdW5jdGlvbiBHZXRGaWVsZCgpCgl7CgkJcmV0dXJuICR0aGlzLT5fZmllbGQ7Cgl9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4J]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Exception.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTGlzdEl0MkV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbiB7fQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2FielddefArray.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTGlzdEl0MkZpZWxkZGVmQXJyYXkgZXh0ZW5kcyBBcnJheU9iamVjdAp7IAoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBWYXJpYWJsZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCXByaXZhdGUgJF9wYXJlbnRfaXRlbTsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYXJyYXkpIAoJewogICAgICAgIGZvcmVhY2goJGFycmF5IGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCgkJCSR2YWx1ZS0+U2V0UGFyZW50QXJyYXkoJHRoaXMpOwogICAgICAgICAgICAkdGhpcy0+b2Zmc2V0U2V0KCRrZXksICR2YWx1ZSk7CiAgICAgICAgfQkKCX0KCQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybiAiQXJyYXkiOwoJfQkKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBcnJheSBPYmplY3QgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJGtleSwgJHZhbHVlKQoJewoJCWlmKCEkdmFsdWUgaW5zdGFuY2VvZiBMaXN0SXQyRmllbGRkZWZCYXNlKQoJCQlkaWUoJ05vdCBhbiBMaXN0SXQyIEZpZWxkZGVmIE9iamVjdCcpOyAvLyA8LSBQdXQgbWVudGlvbiB0byBhZG1pbiBsb2cgaW5zdGVhZCBvZiBraWxsaW5nIHNjcmlwdCBhbmQgaWdub3JlIHZhbHVlLgoJCQkKCQlwYXJlbnQ6Om9mZnNldFNldCgka2V5LCAkdmFsdWUpOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRFeGlzdHMoJG9mZnNldCkgCgl7CgkJaWYocGFyZW50OjpvZmZzZXRFeGlzdHMoJG9mZnNldCkpCgkJCXJldHVybiB0cnVlOwoJCQkKCQlmb3JlYWNoKCR0aGlzIGFzICRmaWVsZCkgewoJCQoJCQlpZihpc19vYmplY3QoJGZpZWxkKSkKCQkJCWlmKCRmaWVsZC0+R2V0QWxpYXMoKSA9PSAkb2Zmc2V0KQoJCQkJCXJldHVybiB0cnVlOwoJCX0KCQkKCQlyZXR1cm4gRkFMU0U7CiAgICB9CgkKICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRHZXQoJG9mZnNldCkgCgl7CgkJaWYocGFyZW50OjpvZmZzZXRFeGlzdHMoJG9mZnNldCkpIHsKCQkJCgkJCSRvYmogPSBwYXJlbnQ6Om9mZnNldEdldCgkb2Zmc2V0KTsKCQkJCgkJCWlmKCFjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpIHsKCQkJCgkJCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgkJCQkkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkZGVmJywgJG9iaik7CgkJCX0KCQkJCQkJCgkJCXJldHVybiAkb2JqOwoJCX0KCQkJCgkJZm9yZWFjaCgkdGhpcyBhcyAkZmllbGQpIHsKCQkKCQkJaWYoaXNfb2JqZWN0KCRmaWVsZCkpCgkJCQlpZigkZmllbGQtPkdldEFsaWFzKCkgPT0gJG9mZnNldCkgewoJCQkJCQoJCQkJCWlmKCFjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpIHsKCQkJCQkKCQkJCQkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwkKCQkJCQkJJHNtYXJ0eS0+YXNzaWduKCdmaWVsZGRlZicsICRmaWVsZCk7CgkJCQkJfQoJCQkJCQoJCQkJCXJldHVybiBwYXJlbnQ6Om9mZnNldEdldCgkZmllbGQtPkdldElkKCkpOwkKCQkJCX0KCQl9CgkJCgkJcmV0dXJuIG51bGw7CiAgICB9CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBDbGFzcyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UGFyZW50SXRlbSgpIHsKCQoJCWlmKGlzc2V0KCR0aGlzLT5fcGFyZW50X2l0ZW0pKQoJCQlyZXR1cm4gJHRoaXMtPl9wYXJlbnRfaXRlbTsKCQkKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFBhcmVudEl0ZW0oJiRvYmopIHsKCQoJCSR0aGlzLT5fcGFyZW50X2l0ZW0gPSAkb2JqOwoJfQkJCgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2FielddefBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovKioNCiAqIExpc3RJdDIgRmllbGRkZWYgQmFzZQ0KICoNCiAqIEBwYWNrYWdlIExpc3RJdDINCiAqIEBhdXRob3IgVGFwaW8gTPZ5dHR5DQogKiBAc2luY2UgMS4zDQogKi8NCmFic3RyYWN0IGNsYXNzIExpc3RJdDJGaWVsZGRlZkJhc2UgaW1wbGVtZW50cyBBcnJheUFjY2Vzcw0Kew0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIENvbnN0YW50cw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkNCgljb25zdCBUWVBFX1NUUklORyAJCQk9ICJzdHJpbmciOw0KCWNvbnN0IFRZUEVfQVJSQVkgCQkJPSAiYXJyYXkiOw0KCWNvbnN0IFRZUEVfT0JKRUNUIAkJCT0gIm9iamVjdCI7DQoNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBWYXJpYWJsZXMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KDQoJcHJpdmF0ZSAkaWQ7DQoJcHJpdmF0ZSAkbmFtZTsNCglwcml2YXRlICRhbGlhczsNCglwcml2YXRlICRkZXNjcmlwdGlvbjsNCglwcml2YXRlICR0eXBlOw0KCXByaXZhdGUgJGZyaWVuZGx5dHlwZTsNCglwcml2YXRlICR2YWx1ZTsNCglwcml2YXRlICRvcmlnaW5hdG9yOw0KCXByaXZhdGUgJGFjdGl2ZTsNCglwcml2YXRlICRkaXNhYmxlZDsNCglwcml2YXRlICRwYXRoOw0KCXByaXZhdGUgJHBvc2l0aW9uOw0KCXByaXZhdGUgJHJlcXVpcmVkOw0KCXByaXZhdGUgJG9wdGlvbnM7DQoJcHJpdmF0ZSAkY2FsbGVyOw0KCXByaXZhdGUgJGl0ZW1faWQ7IC8vIGRlcHJlY2F0ZWQNCglwcml2YXRlICRwYXJlbnRfYXJyYXk7DQoJDQoJcHJvdGVjdGVkICRldmVudF9oYW5kbGVyOw0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIE1hZ2ljIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8sICRjYWxsZXJfb2JqZWN0ID0gbnVsbCkgew0KCQ0KCQkkdGhpcy0+aWQgPSAtMTsNCgkJJHRoaXMtPm5hbWUgPSAnJzsNCgkJJHRoaXMtPmFsaWFzID0gJyc7DQoJCSR0aGlzLT5kZXNjcmlwdGlvbiA9ICcnOw0KCQkkdGhpcy0+dHlwZSA9ICRkYl9pbmZvLT50eXBlOw0KCQkkdGhpcy0+b3JpZ2luYXRvciA9ICRkYl9pbmZvLT5vcmlnaW5hdG9yOw0KCQkkdGhpcy0+YWN0aXZlID0gJGRiX2luZm8tPmFjdGl2ZTsNCgkJJHRoaXMtPmRpc2FibGVkID0gJGRiX2luZm8tPmRpc2FibGVkOw0KCQkkdGhpcy0+cGF0aCA9ICRkYl9pbmZvLT5wYXRoOwkJDQoJCSR0aGlzLT5mcmllbmRseXR5cGUgPSAkZGJfaW5mby0+dHlwZTsNCgkJJHRoaXMtPnZhbHVlID0gbmV3IExpc3RJdDJGaWVsZGRlZlZhbHVlOw0KCQkkdGhpcy0+cG9zaXRpb24gPSAtMTsNCgkJJHRoaXMtPnJlcXVpcmVkID0gMDsNCgkJJHRoaXMtPm9wdGlvbnMgPSBhcnJheSgpOw0KCQkkdGhpcy0+Y2FsbGVyID0gbnVsbDsNCgkJJHRoaXMtPml0ZW1faWQgPSAtMTsNCgkJDQoJCWlmKCRjYWxsZXJfb2JqZWN0IGluc3RhbmNlb2YgQ01TTW9kdWxlKSB7DQoJCQ0KCQkJJHRoaXMtPmNhbGxlciA9ICRjYWxsZXJfb2JqZWN0LT5HZXROYW1lKCk7DQoJCX0NCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpDQoJew0KCQlyZXR1cm4gJHRoaXMtPl9vdmVyd3JpdGVfY29uc3RhbnRzKCRrZXkpOwkNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQ0KCXsNCgkJcmV0dXJuIChzdHJpbmcpJHRoaXMtPnZhbHVlOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRuYW1lLCAkYXJncykNCgl7DQoJCXJldHVybiBGQUxTRTsNCgl9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgQXJyYXkgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgkb2Zmc2V0KSANCgl7CQkJDQoJCXJldHVybiAkdGhpcy0+X292ZXJ3cml0ZV9jb25zdGFudHMoJG9mZnNldCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFNldCgkb2Zmc2V0LCAkdmFsdWUpIHt9DQogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygkb2Zmc2V0KSB7fQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRVbnNldCgkb2Zmc2V0KSB7fQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFByaXZhdGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQ0KDQoJcHJpdmF0ZSBmdW5jdGlvbiBfb3ZlcndyaXRlX2NvbnN0YW50cygka2V5KQ0KCXsNCgkJc3dpdGNoKCRrZXkpIHsNCgkJDQoJCQljYXNlICduYW1lJzoNCgkJCQlyZXR1cm4gJHRoaXMtPkdldE5hbWUoKTsNCgkJCQkNCgkJCWNhc2UgJ3ZhbHVlJzoNCgkJCQlyZXR1cm4gJHRoaXMtPkdldFZhbHVlKHNlbGY6OlRZUEVfU1RSSU5HKTsNCgkJCQkJCQkJDQoJCQljYXNlICd0eXBlJzoNCgkJCQlyZXR1cm4gJHRoaXMtPkdldFR5cGUoKTsNCgkJCQkNCgkJCWNhc2UgJ2FsaWFzJzoNCgkJCQlyZXR1cm4gJHRoaXMtPkdldEFsaWFzKCk7CQ0KDQoJCQlkZWZhdWx0Og0KCQkJCXJldHVybiBudWxsOw0KCQl9CQ0KCX0NCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBnZXQvc2V0IG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkNCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0SWQoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+aWQ7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldElkKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+aWQgPSAkdmFsdWU7DQoJfQkNCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0TmFtZSgpIHsNCgkNCgkJcmV0dXJuICR0aGlzLT5uYW1lOw0KCX0NCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXROYW1lKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+bmFtZSA9ICR2YWx1ZTsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0QWxpYXMoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+YWxpYXM7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldEFsaWFzKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+YWxpYXMgPSAkdmFsdWU7DQoJfQkNCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0RGVzYygpIHsNCgkNCgkJcmV0dXJuICR0aGlzLT5kZXNjcmlwdGlvbjsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gU2V0RGVzYygkdmFsdWUpIHsNCgkNCgkJJHRoaXMtPmRlc2NyaXB0aW9uID0gJHZhbHVlOw0KCX0JCQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRUeXBlKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPnR5cGU7DQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRGcmllbmRseVR5cGUoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+ZnJpZW5kbHl0eXBlOw0KCX0NCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXRGcmllbmRseVR5cGUoJHZhbHVlKSB7DQoJDQoJCSR0aGlzLT5mcmllbmRseXR5cGUgPSAkdmFsdWU7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEhhc1ZhbHVlKCkNCgl7DQoJCWlmKCR0aGlzLT5HZXRWYWx1ZShzZWxmOjpUWVBFX1NUUklORykgIT09ICcnKQ0KCQkJcmV0dXJuIHRydWU7DQoJCQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRWYWx1ZSgkdHlwZSA9IHNlbGY6OlRZUEVfT0JKRUNUKSB7DQoJDQoJCSR0eXBlID0gc3RydG9sb3dlcigkdHlwZSk7DQoJDQoJCXN3aXRjaCgkdHlwZSkgew0KCQkJY2FzZSBzZWxmOjpUWVBFX1NUUklORzoNCgkJCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+dmFsdWU7DQoJCQkNCgkJCWNhc2Ugc2VsZjo6VFlQRV9BUlJBWToNCgkJCQlyZXR1cm4gKGFycmF5KSR0aGlzLT52YWx1ZTsNCgkJCQ0KCQkJZGVmYXVsdDoNCgkJCQlyZXR1cm4gJHRoaXMtPnZhbHVlOw0KCQl9DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFZhbHVlKCR2YWx1ZSA9IGFycmF5KCkpIHsNCgkJCQkNCgkJJHRoaXMtPnZhbHVlID0gbmV3IExpc3RJdDJGaWVsZGRlZlZhbHVlKCR2YWx1ZSk7DQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRPcmlnaW5hdG9yKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPm9yaWdpbmF0b3I7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIElzQWN0aXZlKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmFjdGl2ZSA/IHRydWUgOiBmYWxzZTsNCgl9CQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJc0Rpc2FibGVkKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlOw0KCX0JCQ0KCQ0KCS8vIGRlcHJlY2F0ZWQNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0QWN0aXZlKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmFjdGl2ZTsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UG9zaXRpb24oKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+cG9zaXRpb247DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFBvc2l0aW9uKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+cG9zaXRpb24gPSAkdmFsdWU7DQoJfQkNCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRQYXRoKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPnBhdGg7DQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRVUkxQYXRoKCkgew0KCQ0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCQ0KCQkkdXJsID0gc3Vic3RyKCR0aGlzLT5HZXRQYXRoKCksIHN0cmxlbigkY29uZmlnWydyb290X3BhdGgnXSkpOw0KCQkkdXJsID0gc3RyX3JlcGxhY2UoRElSRUNUT1JZX1NFUEFSQVRPUiwgJy8nLCAkdXJsKTsNCgkJJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAkdXJsOw0KCQkNCgkJcmV0dXJuICR1cmw7DQoJfQkNCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJc1JlcXVpcmVkKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPnJlcXVpcmVkID8gdHJ1ZSA6IGZhbHNlOw0KCX0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UmVxdWlyZWQoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+cmVxdWlyZWQ7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFJlcXVpcmVkKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+cmVxdWlyZWQgPSAkdmFsdWU7DQoJfQkNCg0KCS8vIGRlcHJlY2F0ZWQNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0SXRlbUlkKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPml0ZW1faWQ7DQoJfQ0KDQoJLy8gZGVwcmVjYXRlZA0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXRJdGVtSWQoJHZhbHVlKSB7DQoJDQoJCSR0aGlzLT5pdGVtX2lkID0gJHZhbHVlOw0KCX0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UGFyZW50QXJyYXkoKSB7DQoJDQoJCWlmKGlzc2V0KCR0aGlzLT5wYXJlbnRfYXJyYXkpKQ0KCQkJcmV0dXJuICR0aGlzLT5wYXJlbnRfYXJyYXk7DQoJCQkNCgkJcmV0dXJuIEZBTFNFOw0KCX0NCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXRQYXJlbnRBcnJheShMaXN0SXQyRmllbGRkZWZBcnJheSAmJG9iaikgew0KCQ0KCQkkdGhpcy0+cGFyZW50X2FycmF5ID0gJG9iajsNCgl9CQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRQYXJlbnRJdGVtKCkgew0KCQ0KCQlpZigkdGhpcy0+R2V0UGFyZW50QXJyYXkoKSkNCgkJCWlmKCR0aGlzLT5HZXRQYXJlbnRBcnJheSgpLT5HZXRQYXJlbnRJdGVtKCkpDQoJCQkJcmV0dXJuICR0aGlzLT5HZXRQYXJlbnRBcnJheSgpLT5HZXRQYXJlbnRJdGVtKCk7DQoJCQkNCgkJcmV0dXJuIEZBTFNFOw0KCX0NCg0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIE9wdGlvbiBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJDQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0T3B0aW9uVmFsdWVzKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+b3B0aW9uczsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldE9wdGlvblZhbHVlKCRrZXksICRkZWZhdWx0ID0gJycpDQoJew0KCQlyZXR1cm4gaXNzZXQoJHRoaXMtPm9wdGlvbnNbJGtleV0pID8gJHRoaXMtPm9wdGlvbnNbJGtleV0gOiAkZGVmYXVsdDsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldE9wdGlvblZhbHVlKCRrZXksICR2YWx1ZSkNCgl7DQoJCSR0aGlzLT5vcHRpb25zWyRrZXldID0gJHZhbHVlOw0KCX0JDQoNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBPdmVyd3JpdGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoNCglzdGF0aWMgcHVibGljIGZ1bmN0aW9uIEdldE1vZHVsZURlcHMoKQ0KCXsNCgkJcmV0dXJuIG51bGw7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkNCgl7DQoJCXJldHVybiBudWxsOw0KCX0JDQoJDQoJcHVibGljIGZ1bmN0aW9uIElzVW5pcXVlKCkNCgl7DQoJCXJldHVybiBGQUxTRTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFJlbmRlckZvckFkbWluTGlzdGluZygkaWQsICRyZXR1cm5pZCkNCgl7DQoJCXJldHVybiAkdGhpcy0+R2V0VmFsdWUoc2VsZjo6VFlQRV9TVFJJTkcpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gUmVuZGVyRm9yRWRpdCgkaWQsICRyZXR1cm5pZCkNCgl7DQoJCSRmbiA9ICR0aGlzLT5HZXRQYXRoKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2FkbWluLicgLiAkdGhpcy0+R2V0VHlwZSgpIC4gJy50cGwnOw0KCQlpZihpc19yZWFkYWJsZSgkZm4pKSB7DQoNCgkJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCgkJCQ0KCQkJJHNtYXJ0eS0+YXNzaWduKCdhY3Rpb25pZCcsICRpZCk7DQoJCQkkc21hcnR5LT5hc3NpZ24oJ3JldHVybmlkJywgJHJldHVybmlkKTsNCgkJDQoJCQlyZXR1cm4gJHNtYXJ0eS0+ZmV0Y2goJGZuKTsNCgkJfQ0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gUmVuZGVySW5wdXQoJGlkLCAkcmV0dXJuaWQpDQoJewkJDQoJCSRmbiA9ICR0aGlzLT5HZXRQYXRoKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2lucHV0LicgLiAkdGhpcy0+R2V0VHlwZSgpIC4gJy50cGwnOw0KCQlpZihpc19yZWFkYWJsZSgkZm4pKSB7DQoJDQoJCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQoJCQkNCgkJCSRzbWFydHktPmFzc2lnbignYWN0aW9uaWQnLCAkaWQpOw0KCQkJJHNtYXJ0eS0+YXNzaWduKCdyZXR1cm5pZCcsICRyZXR1cm5pZCk7CQkNCgkNCgkJCXJldHVybiAkc21hcnR5LT5mZXRjaCgkZm4pOw0KCQl9DQoJfQkNCgkNCglwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGUoJiRlcnJvcnMpIA0KCXsNCgkJaWYoJHRoaXMtPkdldFZhbHVlKHNlbGY6OlRZUEVfU1RSSU5HKSA9PSAnJyAmJiAkdGhpcy0+SXNSZXF1aXJlZCgpKSB7DQoJDQoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygncmVxdWlyZWRfZmllbGRfZW1wdHknKSAuICcgKCcgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJyknOw0KCQl9DQoJfQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIEV2ZW50IGhhbmRsZXINCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KCQ0KCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCgkgIE5PVElDRTogSGlnaGx5IGV4cGVyaW1lbnRhbA0KCSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCgkNCgkvLyBTaG91bGQgaSBtYWtlIHRoaXMgZmluYWwgb3Igbm90LCBsZXRzIGxlYXZlIGl0IGxpa2UgdGhpcyBmb3Igbm93Lg0KCXB1YmxpYyBmdW5jdGlvbiBFdmVudEhhbmRsZXIoKQ0KCXsNCgkJLy8gQ2hlY2sgaWYgZmllbGQgaGFzIG93biBldmVudCBoYW5kbGVyDQoJCWlmKCFpc3NldCgkdGhpcy0+ZXZlbnRfaGFuZGxlcikpIHsNCgkJDQoJCQkkZm4gPSAkdGhpcy0+R2V0UGF0aCgpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdsaXN0aXQyZWguJyAuICR0aGlzLT5HZXRUeXBlKCkgLiAnLnBocCc7DQoJCQlpZihpc19yZWFkYWJsZSgkZm4pKSB7DQoJCQkNCgkJCQlyZXF1aXJlX29uY2UoJGZuKTsNCgkJCQkNCgkJCQkkY2xhc3MgPSAnbGlzdGl0MmVoXycuJHRoaXMtPkdldFR5cGUoKTsNCgkJCQlpZihjbGFzc19leGlzdHMoJGNsYXNzKSkNCgkJCQkJJHRoaXMtPmV2ZW50X2hhbmRsZXIgPSBuZXcgJGNsYXNzKCR0aGlzKTsNCgkJCX0NCgkJfQ0KCQkNCgkJLy8gRW5zdXJlIHRoYXQgd2UgaGF2ZSBkZWZhdWx0IGV2ZW50IGhhbmRsZXINCgkJaWYoIWlzc2V0KCR0aGlzLT5ldmVudF9oYW5kbGVyKSkNCgkJCSR0aGlzLT5ldmVudF9oYW5kbGVyID0gbmV3IExpc3RJdDJFdmVudEhhbmRsZXJCYXNlKCR0aGlzKTsNCgkJDQoJCXJldHVybiAkdGhpcy0+ZXZlbnRfaGFuZGxlcjsNCgl9DQoNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBNb2R1bGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0TW9kdWxlSW5zdGFuY2UoJGNhbGxlciA9IGZhbHNlKQ0KCXsJDQoJCWlmKCRjYWxsZXIgJiYgIWlzX251bGwoJHRoaXMtPmNhbGxlcikpDQoJCQlyZXR1cm4gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJHRoaXMtPmNhbGxlcik7DQoNCgkJcmV0dXJuIGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCR0aGlzLT5vcmlnaW5hdG9yKTsNCgl9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTGFuZyBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gTW9kTGFuZygpDQoJew0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCk7DQoJCWlmKCFpc19vYmplY3QoJG1vZCkpIA0KCQkJdGhyb3cgbmV3IExpc3RJdDJFeGNlcHRpb24oJ0NvdWxkIG5vdCByZXRyaXZlIG1vZHVsZSBpbnN0YW5jZSBmcm9tIG9yaWdpbmF0b3IhJyk7IC8vIDwtIFNlbmQgb3duIG1pc3NpbmcgbGFuZyBzdHJpbmcgaW5zdGVhZCBvZiBmYWlsdXJlPw0KCQkNCgkJJG1vZC0+TG9hZExhbmdNZXRob2RzKCk7DQoNCgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7DQoJCWFycmF5X3Vuc2hpZnQoJGFyZ3MsJycpOw0KDQoJCSRhcmdzWzBdID0gJiRtb2Q7DQoJCQ0KCQlyZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ2Ntc19tb2R1bGVfTGFuZycsICRhcmdzKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KDQovKioNCiAqIExpc3RJdDIgRmllbGRkZWYgdmFsdWUNCiAqDQogKiBAcGFja2FnZSBMaXN0SXQyDQogKiBAYXV0aG9yIFRhcGlvIEz2eXR0eQ0KICogQHNpbmNlIDEuMy4xDQogKi8NCmNsYXNzIExpc3RJdDJGaWVsZGRlZlZhbHVlIGV4dGVuZHMgQXJyYXlPYmplY3QNCnsgDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTWFnaWMgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGFycmF5ID0gYXJyYXkoKSkgDQoJew0KICAgICAgICBmb3JlYWNoKChhcnJheSkkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJDQogICAgICAgICAgICAkdGhpcy0+b2Zmc2V0U2V0KCRrZXksICR2YWx1ZSk7DQogICAgICAgIH0NCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQ0KCXsNCgkJcmV0dXJuIChzdHJpbmcpaW1wbG9kZShMSVNUSVQyX1ZBTFVFX1NFUEFSQVRPUiwgKGFycmF5KSR0aGlzKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2FielddefOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zDQp7DQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgQ29uc3RhbnRzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCQ0KCWNvbnN0IEZJRUxEREVGX1BSRUZJWCA9ICdsaXN0aXQyZmQnOw0KDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgQXR0cmlidXRlcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoJDQoJcHVibGljIHN0YXRpYyAkaWRlbnRpZmllcnMgPSBhcnJheSgnZmllbGRkZWZfaWQnLCAnYWxpYXMnKTsNCglwcml2YXRlIHN0YXRpYyAkX2ZpZWxkZGVmczsNCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBNYWdpYyBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCg0KCXByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFNjYW5uaW5nIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIA0KDQoJc3RhdGljIHB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTY2FuTW9kdWxlcygpDQoJew0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCQ0KCQkkZmllbGRkZWZzID0gc2VsZjo6TG9hZERhdGFiYXNlSW5mbyh0cnVlLCB0cnVlKTsNCgkJJGluc3RhbGxlZF9tb2R1bGVzID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkdldEluc3RhbGxlZE1vZHVsZXMoKTsNCgkJDQoJCS8vIE1ha2Ugc3VyZSBMaXN0SXQyIGlzIHNjYW5uZWQgZmlyc3QNCgkJYXJyYXlfdW5zaGlmdCgkaW5zdGFsbGVkX21vZHVsZXMsIExJU1RJVDIpOw0KCQkkaW5zdGFsbGVkX21vZHVsZXMgPSBhcnJheV91bmlxdWUoJGluc3RhbGxlZF9tb2R1bGVzKTsNCgkJCQ0KCQkvLyBTY2FuIG1vZHVsZXMgZm9yIGZpZWxkZGVmcw0KCQkkc2Nhbm5lZF9maWVsZGRlZnMgPSBhcnJheSgpOwkJDQoJCWZvcmVhY2goJGluc3RhbGxlZF9tb2R1bGVzIGFzICRtb2RfbmFtZSkgew0KDQoJCQkkcmVzID0gYXJyYXkoKTsNCgkJCSRtb2RfZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZXMnLCAkbW9kX25hbWUpOwkJDQoJCQlzZWxmOjpTY2FuRGlyRm9yRmllbGRkZWZzKCRtb2RfZGlyLCAkcmVzKTsNCgkJCSRzY2FubmVkX2ZpZWxkZGVmc1skbW9kX25hbWVdID0gJHJlczsNCgkJfQkJDQoJCQ0KCQkvLyBSZWdpc3RlciBmaWVsZGRlZnMNCgkJZm9yZWFjaCgkc2Nhbm5lZF9maWVsZGRlZnMgYXMgJG1vZF9uYW1lPT4kbW9kX2RlZnMpIHsNCgkJDQoJCQlmb3JlYWNoKCRtb2RfZGVmcyBhcyAkdHlwZT0+JHBhdGgpIHsNCg0KCQkJCSRkaXNhYmxlZCA9IGZhbHNlOw0KCQkJDQoJCQkJLy8gQ2hlY2sgaWYgRmllbGRkZWYgaXMgbW92ZWQsIHVucmVnaXN0ZXIgaW4gdGhhdCBjYXNlLg0KCQkJCWlmKGlzc2V0KCRmaWVsZGRlZnNbJHR5cGVdKSAmJiAkcGF0aCAhPSAkZmllbGRkZWZzWyR0eXBlXS0+cGF0aCkgew0KCQkJCQ0KCQkJCQlzZWxmOjpVbnJlZ2lzdGVyKCR0eXBlKTsNCgkJCQkJdW5zZXQoJGZpZWxkZGVmc1skdHlwZV0pOwkJCQkJDQoJCQkJfQkJDQoJCQkNCgkJCQkvLyBDaGVjayBpZiBmaWVsZGRlZiBzaG91bGQgYmUgdG90YWxseSBkaXNhYmxlZCwgc2tpcCB3aG9sZSBjaGVjayBpZiBQSFAgdmVyc2lvbiBkb3Nlbid0IG1lZXQgcmVxdWlyZW1lbnRzLg0KCQkJCWlmICh2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sICc1LjMuMCcpID49IDApIHsNCgkJCQkJDQoJCQkJCXJlcXVpcmVfb25jZSgkcGF0aCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzZWxmOjpGaWxlbmFtZUZyb21UeXBlKCR0eXBlKSk7DQoJCQkJCSRjbGFzcyA9IHNlbGY6OkNsYXNzbmFtZUZyb21UeXBlKCR0eXBlKTsNCgkJCQkJJG1vZHVsZV9kZXBzID0gQGV2YWwoInJldHVybiAkY2xhc3M6OkdldE1vZHVsZURlcHMoKTsiKTsgLy8gPC0gRXZhbCByZXF1aXJlZCBmb3Igbm90IHRvIGNyYXNoIHN5c3RlbSB3aXRoIFBIUCA1LjIueA0KCQkJCQkNCgkJCQkJaWYoaXNfYXJyYXkoJG1vZHVsZV9kZXBzKSkgew0KCQkJCQkNCgkJCQkJCWZvcmVhY2goKGFycmF5KSRtb2R1bGVfZGVwcyBhcyAkbW9kdWxlPT4kdmVyc2lvbikgew0KCQkJCQkJDQoJCQkJCQkJJG9iaiA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCRtb2R1bGUsICR2ZXJzaW9uKTsgLy8gPC0gV2h5IGkgYW0gZ2V0dGluZyBub3QgaW5zdGFsbGVkIG1vZHVsZXMgYXQgdGhpcyBwb2ludD8gQ29yZSBidWc/DQoJCQkJCQkJaWYoIWlzX29iamVjdCgkb2JqKSB8fCAhaW5fYXJyYXkoJG1vZHVsZSwgJGluc3RhbGxlZF9tb2R1bGVzKSkgew0KCQkJCQkJCQkNCgkJCQkJCQkJc2VsZjo6U2V0RGlzYWJsZWRTdGF0dXMoJHR5cGUsIHRydWUpOw0KCQkJCQkJCQkkZGlzYWJsZWQgPSB0cnVlOw0KCQkJCQkJCQlicmVhazsgLy8gPC0gSWYgb25lIGRlcGVuZGVuY3kgZmFpbHMsIGFsbCBvZiBlbSBmYWlsLg0KCQkJCQkJCQkNCgkJCQkJCQl9IGVsc2VpZihpc3NldCgkZmllbGRkZWZzWyR0eXBlXSkgJiYgJGZpZWxkZGVmc1skdHlwZV0tPmRpc2FibGVkKSB7DQoJCQkJCQkJDQoJCQkJCQkJCXNlbGY6OlNldERpc2FibGVkU3RhdHVzKCR0eXBlLCBmYWxzZSk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCQ0KCQkJCS8vIEZpZWxkZGVmIG5vdCBpbiBkYXRhYmFzZSwgcmVnaXN0ZXIgaXQuDQoJCQkJaWYoIWlzc2V0KCRmaWVsZGRlZnNbJHR5cGVdKSkgew0KCQkJCQkJCQkJCQ0KCQkJCQlzZWxmOjpSZWdpc3RlcigkbW9kX25hbWUsICR0eXBlLCAkcGF0aCwgJGRpc2FibGVkKTsNCgkJCQl9DQoJCQkJZWxzZSB7DQoJCQkJCQ0KCQkJCQl1bnNldCgkZmllbGRkZWZzWyR0eXBlXSk7DQoJCQkJfQkJCQkNCgkJCX0NCgkJfQ0KCQkJDQoJCS8vIFVucmVnaXN0ZXIgZmllbGRkZWZzDQoJCWZvcmVhY2goJGZpZWxkZGVmcyBhcyAkb25lZGVmKSB7DQoJCQ0KCQkJaWYoIWlzX3JlYWRhYmxlKCRvbmVkZWYtPnBhdGggLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gc2VsZjo6RmlsZW5hbWVGcm9tVHlwZSgkb25lZGVmLT50eXBlKSkgfHwgDQoJCQkJIWluX2FycmF5KCRvbmVkZWYtPm9yaWdpbmF0b3IsICRpbnN0YWxsZWRfbW9kdWxlcykpIHsNCgkJCQkNCgkJCQlzZWxmOjpVbnJlZ2lzdGVyKCRvbmVkZWYtPnR5cGUpOw0KCQkJfQ0KCQl9CQkNCgl9DQoJDQoJc3RhdGljIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gU2NhbkRpckZvckZpZWxkZGVmcygkc3JjLCAmJHJlcykNCgl7DQoJCSRpbnZhbGlkID0gIGFycmF5KCcuJywgJy4uJyk7DQoJCSRkaXIgPSBvcGVuZGlyKCRzcmMpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8NCg0KCQl3aGlsZShmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkZGlyKSkpIHsNCgkJDQoJCQlpZiAoaW5fYXJyYXkoJGZpbGUsICRpbnZhbGlkKSkgY29udGludWU7IC8vIDwtIFNraXAgc3R1ZmYgd2UgbmV2ZXIgYWxsb3cgdG8gY29weQ0KDQoJCQlpZiAoaXNfZGlyKCRzcmMgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpKSB7IA0KCQ0KCQkJCXNlbGY6OlNjYW5EaXJGb3JGaWVsZGRlZnMoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJHJlcyk7IA0KCQkJfSANCgkJCWVsc2UgeyANCgkJCQkNCgkJCQlpZihzdGFydHN3aXRoKCRmaWxlLCBzZWxmOjpGSUVMRERFRl9QUkVGSVggLiAnLicpICYmIGVuZHN3aXRoKCRmaWxlLCAnLnBocCcpKSB7DQoJCQkJDQoJCQkJCSRmbiA9ICRzcmMgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGU7DQoJCQkJCWlmKGlzX3JlYWRhYmxlKCRmbikpIHsNCgkJCQkNCgkJCQkJCSRmaWxlID0gZXhwbG9kZSgnLicsICRmaWxlKTsNCgkJCQkJCSRyZXNbJGZpbGVbMV1dID0gJHNyYzsNCgkJCQkJfQkJCQkJDQoJCQkJfQ0KCQkJfSANCgkJfSANCgkJDQoJCWNsb3NlZGlyKCRkaXIpOyAJCQ0KCX0NCgkNCglzdGF0aWMgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBGaWxlbmFtZUZyb21UeXBlKCR0eXBlKQ0KCXsNCgkJcmV0dXJuIHNlbGY6OkZJRUxEREVGX1BSRUZJWCAuICcuJyAuICR0eXBlIC4gJy5waHAnOw0KCX0NCgkNCglzdGF0aWMgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBDbGFzc25hbWVGcm9tVHlwZSgkdHlwZSkNCgl7DQoJCXJldHVybiBzZWxmOjpGSUVMRERFRl9QUkVGSVggLiAnXycgLiAkdHlwZTsNCgl9CQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIExvYWQgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQkNCgkNCglzdGF0aWMgZmluYWwgcHJpdmF0ZSBmdW5jdGlvbiBMb2FkRGF0YWJhc2VJbmZvKCRmb3JjZV9kYiA9IGZhbHNlLCAkbG9hZF9hbGwgPSBmYWxzZSkNCgl7DQoJCWlmKGlzX2FycmF5KHNlbGY6OiRfZmllbGRkZWZzKSAmJiAhJGZvcmNlX2RiKSANCgkJCXJldHVybiBzZWxmOjokX2ZpZWxkZGVmczsNCgkJDQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCXNlbGY6OiRfZmllbGRkZWZzID0gYXJyYXkoKTsNCgkNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfbGlzdGl0Ml9maWVsZGRlZnMiOwkNCgkJaWYoISRsb2FkX2FsbCkNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGFjdGl2ZSA9IDEgQU5EIGRpc2FibGVkID0gMCI7DQoJCSRxdWVyeSAuPSAiIE9SREVSIEJZIHR5cGUiOw0KCQkNCgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQoJCXdoaWxlICgkZGJyICYmICRyb3cgPSAkZGJyLT5GZXRjaFJvdygpKSB7DQoJCQ0KCQkJJG9iaiA9IG5ldyBzdGRDbGFzcygpOw0KCQkNCgkJCSRvYmotPnR5cGUgPSAkcm93Wyd0eXBlJ107DQoJCQkkb2JqLT5vcmlnaW5hdG9yID0gJHJvd1snb3JpZ2luYXRvciddOw0KCQkJJG9iai0+YWN0aXZlID0gJHJvd1snYWN0aXZlJ10gPyB0cnVlIDogZmFsc2U7DQoJCQkkb2JqLT5kaXNhYmxlZCA9ICRyb3dbJ2Rpc2FibGVkJ10gPyB0cnVlIDogZmFsc2U7DQoJCQkkb2JqLT5wYXRoID0gJHJvd1sncGF0aCddOw0KCQkNCgkJCXNlbGY6OiRfZmllbGRkZWZzWyRyb3dbJ3R5cGUnXV0gPSAkb2JqOw0KCQl9DQoJDQoJCXJldHVybiBzZWxmOjokX2ZpZWxkZGVmczsJDQoJfQ0KDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBMb2FkRmllbGRkZWZCeVR5cGUoJHR5cGUsICRtb2QgPSBudWxsKQ0KCXsNCgkJJGZpZWxkZGVmcyA9IHNlbGY6OkxvYWREYXRhYmFzZUluZm8oKTsNCgkJDQoJCWlmKGlzc2V0KCRmaWVsZGRlZnNbJHR5cGVdKSkgew0KCQkNCgkJCWlmKCFjbXNfdXRpbHM6Om1vZHVsZV9hdmFpbGFibGUoJGZpZWxkZGVmc1skdHlwZV0tPm9yaWdpbmF0b3IpKQ0KCQkJCXJldHVybiBmYWxzZTsJCQ0KCQkNCgkJCSRmbiA9ICRmaWVsZGRlZnNbJHR5cGVdLT5wYXRoIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHNlbGY6OkZpbGVuYW1lRnJvbVR5cGUoJHR5cGUpOw0KCQkJaWYoaXNfcmVhZGFibGUoJGZuKSkgew0KCQkJDQoJCQkJcmVxdWlyZV9vbmNlKCRmbik7DQoJCQkJJGNsYXNzID0gc2VsZjo6Q2xhc3NuYW1lRnJvbVR5cGUoJHR5cGUpOw0KCQkJCSRvYmogPSBuZXcgJGNsYXNzKCRmaWVsZGRlZnNbJHR5cGVdLCAkbW9kKTsNCgkJCQkNCgkJCQlyZXR1cm4gJG9iajsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCg0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gR2V0RmllbGRkZWZUeXBlcygpDQoJew0KCQkkZmllbGRkZWZzID0gc2VsZjo6TG9hZERhdGFiYXNlSW5mbygpOw0KCQkNCgkJJHJlc3VsdCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGZpZWxkZGVmcyBhcyAkb25lZGVmKSB7DQoJCQ0KCQkJLy9pZighY21zX3V0aWxzOjptb2R1bGVfYXZhaWxhYmxlKCRvbmVkZWYtPm9yaWdpbmF0b3IpKQ0KCQkJCS8vY29udGludWU7CQkNCgkJDQoJCQkkb2JqID0gc2VsZjo6TG9hZEZpZWxkZGVmQnlUeXBlKCRvbmVkZWYtPnR5cGUpOw0KCQkJaWYoaXNfb2JqZWN0KCRvYmopKSB7DQoJCQkJDQoJCQkJJHJlc3VsdFskb2JqLT5HZXRGcmllbmRseXR5cGUoKV0gPSAkb2JqLT5HZXRUeXBlKCk7DQoJCQl9DQoJCX0NCgkJDQoJCWtzb3J0KCRyZXN1bHQpOw0KCQkNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQ0KCQ0KCXN0YXRpYyBmaW5hbCBmdW5jdGlvbiBHZXRSZWdpc3RlcmVkRmllbGRkZWZzKCRmb3JjZV9kYiA9IGZhbHNlLCAkbG9hZF9hbGwgPSBmYWxzZSkNCgl7DQoJCSRmaWVsZGRlZnMgPSBzZWxmOjpMb2FkRGF0YWJhc2VJbmZvKCRmb3JjZV9kYiwgJGxvYWRfYWxsKTsNCgkJDQoJCSRyZXN1bHQgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRmaWVsZGRlZnMgYXMgJG9uZWRlZikgew0KCQkNCgkJCS8vaWYoIWNtc191dGlsczo6bW9kdWxlX2F2YWlsYWJsZSgkb25lZGVmLT5vcmlnaW5hdG9yKSkNCgkJCQkvL2NvbnRpbnVlOw0KCQkNCgkJCSRvYmogPSBzZWxmOjpMb2FkRmllbGRkZWZCeVR5cGUoJG9uZWRlZi0+dHlwZSk7DQoJCQlpZihpc19vYmplY3QoJG9iaikpIHsNCgkJCQkNCgkJCQkkcmVzdWx0WyRvYmotPkdldEZyaWVuZGx5dHlwZSgpXSA9ICRvYmo7DQoJCQl9DQoJCX0NCgkJCQ0KCQlyZXR1cm4gJHJlc3VsdDsJDQoJfQ0KDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTW9kdWxlIGhlbHAgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQ0KCQ0KCXN0YXRpYyBmaW5hbCBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkNCgl7DQoJCSRmaWVsZGRlZnMgPSBzZWxmOjpMb2FkRGF0YWJhc2VJbmZvKCk7DQoJCQ0KCQkkc3RyaW5nID0gJyc7DQoJCWZvcmVhY2goJGZpZWxkZGVmcyBhcyAkb25lZGVmKSB7DQoJCQ0KCQkJJG9iaiA9IHNlbGY6OkxvYWRGaWVsZGRlZkJ5VHlwZSgkb25lZGVmLT50eXBlKTsNCgkJCWlmKGlzX29iamVjdCgkb2JqKSkgew0KCQkJCQ0KCQkJCSRmaWVsZF9oZWFkZXJfaHRtbCA9ICRvYmotPkdldEhlYWRlckhUTUwoKTsNCgkJCQkNCgkJCQlpZighaXNfbnVsbCgkZmllbGRfaGVhZGVyX2h0bWwpKQ0KCQkJCQkkc3RyaW5nIC49ICRmaWVsZF9oZWFkZXJfaHRtbDsNCgkJCQkJDQoJCQkJdW5zZXQoJG9iaik7DQoJCQl9DQoJCX0NCgkJCQ0KCQlyZXR1cm4gJHN0cmluZzsJDQoJfQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFRvZ2dsZSBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJDQoJDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBUb2dnbGVBY3RpdmUoJHR5cGUpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQ0KCQkkcXVlcnkgID0gJ1NFTEVDVCBhY3RpdmUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2ZpZWxkZGVmcyBXSEVSRSB0eXBlPT8nOw0KCQkkYWN0aXZlID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkdHlwZSkpOw0KCQkJDQoJCSRhY3RpdmUgPSAkYWN0aXZlID8gZmFsc2UgOiB0cnVlOw0KCQ0KCQlzZWxmOjpTZXRBY3RpdmVTdGF0dXMoJHR5cGUsICRhY3RpdmUpOw0KCQkNCgkJcmV0dXJuICRhY3RpdmU7DQoJCQ0KCX0NCgkNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFNldEFjdGl2ZVN0YXR1cygkdHlwZSwgJHN0YXR1cykNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCQ0KCQkkcXVlcnkgID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2ZpZWxkZGVmcyBTRVQgYWN0aXZlPT8gV0hFUkUgdHlwZT0/JzsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzdGF0dXMsICR0eXBlKSk7DQoJCQ0KCQlpZiAoISRyZXN1bHQpIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoJCQ0KCX0NCg0KCS8vIE5vdCB1c2VkIGN1cnJlbnRseSBhbnl3aGVyZQ0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gVG9nZ2xlRGlzYWJsZWQoJHR5cGUpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQ0KCQkkcXVlcnkgID0gJ1NFTEVDVCBkaXNhYmxlZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc3RpdDJfZmllbGRkZWZzIFdIRVJFIHR5cGU9Pyc7DQoJCSRhY3RpdmUgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0eXBlKSk7DQoJCQkNCgkJJGFjdGl2ZSA9ICRhY3RpdmUgPyBmYWxzZSA6IHRydWU7DQoJDQoJCXNlbGY6OlNldERpc2FibGVkU3RhdHVzKCR0eXBlLCAkYWN0aXZlKTsNCgkJDQoJCXJldHVybiAkYWN0aXZlOw0KCQkNCgl9DQoJDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBTZXREaXNhYmxlZFN0YXR1cygkdHlwZSwgJHN0YXR1cykNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCQ0KCQkkcXVlcnkgID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2ZpZWxkZGVmcyBTRVQgZGlzYWJsZWQ9PyBXSEVSRSB0eXBlPT8nOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHN0YXR1cywgJHR5cGUpKTsNCgkJDQoJCWlmICghJHJlc3VsdCkgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCgkJDQoJfQkJDQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgUmVnaXN0ZXIgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQkNCg0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gUmVnaXN0ZXIoJG9yaWdpbmF0b3IsICR0eXBlLCAkcGF0aCwgJGRpc2FibGVkID0gMCwgJGFjdGl2ZSA9IDEpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQkNCgkJJHF1ZXJ5ICA9ICdTRUxFQ1Qgb3JpZ2luYXRvciBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc3RpdDJfZmllbGRkZWZzIFdIRVJFIHR5cGU9Pyc7DQoJCSRleGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0eXBlKSk7DQoJCQ0KCQlpZigkZXhpc3RzKQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQ0KCQkkcXVlcnkgID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc3RpdDJfZmllbGRkZWZzICh0eXBlLCBvcmlnaW5hdG9yLCBwYXRoLCBhY3RpdmUsIGRpc2FibGVkKSBWQUxVRVMgKD8sPyw/LD8sPyknOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHR5cGUsICRvcmlnaW5hdG9yLCAkcGF0aCwgJGFjdGl2ZSwgJGRpc2FibGVkKSk7DQoJCQ0KCQlpZiAoISRyZXN1bHQpIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoJCQ0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJLy8gTWFrZSBicnV0ZSBmb3JjZSB0byB3aXBlIGl0IGZyb20gbW9kdWxlcw0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gVW5yZWdpc3RlcigkdHlwZSkNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoNCgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc3RpdDJfZmllbGRkZWZzIFdIRVJFIHR5cGUgPSA/JzsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0eXBlKSk7DQoJCQ0KCQlpZiAoISRyZXN1bHQpIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoJCQ0KCQlyZXR1cm4gdHJ1ZTsJCQ0KCX0NCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBGcmFtZXdvcmsgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQ0KDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBTYXZlKExpc3RJdDIgJiRtb2QsIExpc3RJdDJGaWVsZGRlZkJhc2UgJiRvYmopDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwkNCgkNCgkJLy8gZ2VuZXJhdGUgYWxpYXMgaWYgbm90IHN1cHBsaWVkDQoJCWlmICgkb2JqLT5HZXRBbGlhcygpID09ICcnKSB7DQoJCQkkb2JqLT5TZXRBbGlhcyhsaXN0aXQyX3V0aWxzOjpnZW5lcmF0ZV9hbGlhcygkb2JqLT5HZXROYW1lKCkpKTsNCgkJfQkNCgkNCiAgICAgICAgLy8gdXBkYXRlDQogICAgICAgIGlmICgkb2JqLT5HZXRJZCgpID4gMCkgew0KCQkNCiAgICAgICAgICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBTRVQgbmFtZSA9ID8sIGFsaWFzID0gPywgaGVscCA9ID8sIHR5cGUgPSA/LCByZXF1aXJlZCA9ID8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJCQ0KICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KA0KCQkJCSRvYmotPkdldE5hbWUoKSwgDQoJCQkJJG9iai0+R2V0QWxpYXMoKSwgDQoJCQkJJG9iai0+R2V0RGVzYygpLCANCgkJCQkkb2JqLT5HZXRUeXBlKCksIA0KCQkJCSRvYmotPkdldFJlcXVpcmVkKCksDQoJCQkJJG9iai0+R2V0SWQoKQ0KCQkJKSk7DQoJCQkNCiAgICAgICAgICAgIGlmICghJHJlc3VsdCkgDQoJCQkJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgICAgICAvLyBpbnNlcnQNCiAgICAgICAgfSBlbHNlIHsNCgkJDQoJCQkkcXVlcnkgPSAnU0VMRUNUIG1heChwb3NpdGlvbikgKyAxIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZic7DQogICAgICAgICAgICAkcG9zaXRpb24gPSAkZGItPkdldE9uZSgkcXVlcnkpOw0KCQkJDQogICAgICAgICAgICBpZiAoJHBvc2l0aW9uID09IG51bGwpDQogICAgICAgICAgICAgICAgJHBvc2l0aW9uID0gMTsNCiAgICAgICAgICAgDQogICAgICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiAobmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/KSc7DQoJCQkNCiAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgNCgkJCQkkb2JqLT5HZXROYW1lKCksIA0KCQkJCSRvYmotPkdldEFsaWFzKCksIA0KCQkJCSRvYmotPkdldERlc2MoKSwgDQoJCQkJJG9iai0+R2V0VHlwZSgpLA0KCQkJCSRwb3NpdGlvbiwgDQoJCQkJJG9iai0+R2V0UmVxdWlyZWQoKQ0KCQkJKSk7DQoJCQkNCiAgICAgICAgICAgIGlmICghJHJlc3VsdCkgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KCQkJJG9iai0+U2V0SWQoJGRiLT5JbnNlcnRfSUQoKSk7CQ0KICAgICAgICB9DQoJCQ0KCQkvLyBEcm9wIGFsbCBvcHRpb25zDQoJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmX29wdHMgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPkdldElkKCkpKTsJCQ0KCQkNCgkJaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KCQkNCgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWZfb3B0cyAoZmllbGRkZWZfaWQsIG5hbWUsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCgkJDQoJCS8vIEluc2VydCBhbGwgb3B0aW9ucw0KCQlmb3JlYWNoKCRvYmotPkdldE9wdGlvblZhbHVlcygpIGFzICRrZXk9PiR2YWx1ZSkgew0KCQkNCiAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5HZXRJZCgpLCAka2V5LCAkdmFsdWUpKTsJCQkNCgkJCWlmICghJHJlc3VsdCkgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCgkJfQ0KCX0NCgkNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIERlbGV0ZShMaXN0SXQyICYkbW9kLCAkZmllbGRkZWZfaWQpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KLyoJCQ0KCQkvLyBIYW5kbGUgZXh0ZXJuYWwgZGF0YWJhc2VzICh0aGlzIG1pZ2h0IG5vdCBiZWxvbmcgaGVyZSwgZG91YmxlIGNoZWNrKQ0KCQkkZmllbGRkZWYgPSBzZWxmOjpMb2FkKCRtb2QsICdmaWVsZGRlZl9pZCcsICRmaWVsZGRlZl9pZCk7DQoJCSRmaWVsZGRlZi0+RXZlbnRIYW5kbGVyKCktPkRlbGV0ZSgkbW9kKTsNCiovCQkNCgkJLy8gZ2V0IGRldGFpbHMNCgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOw0KCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsNCgkJCQ0KCQkvLyBkZWxldGUgZmllbGQgZGVmaW5pdGlvbnMNCgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSk7DQoJCQ0KCQkvLyBkZWxldGUgZmllbGQgZGVmaW5pdGlvbnMgb3B0aW9ucw0KCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZl9vcHRzIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZGRlZl9pZCkpOwkNCgkJDQoJCS8vIGRlbGV0ZSBmaWVsZCB2YWx1ZXMNCgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSk7DQoJCQ0KCQkvLyBjbGVhbiB1cCBzb3J0IG9yZGVyDQoJCSRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBTRVQgcG9zaXRpb24gPSAocG9zaXRpb24gLSAxKSBXSEVSRSBwb3NpdGlvbiA+ID8nOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcm93Wydwb3NpdGlvbiddKSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIExvYWRzIGZpZWxkZGVmIG9iamVjdA0KCSAqDQoJICogQExpc3RJdDIgJiRtb2QsIEFycmF5ICRyb3cNCgkgKiBATGlzdEl0MiAmJG1vZCwgU3RyaW5nICRrZXksIFN0cmluZyAkdmFsdWUNCgkgKiBAcmV0dXJuIExpc3RJdDJGaWVsZGRlZkJhc2UgT2JqZWN0DQoJICovDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBMb2FkKCkNCgl7DQoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOw0KCQkkbW9kID0gJGFyZ3NbMF07DQoJDQoJCSRyb3cgPSBjb3VudCgkYXJncykgPT0gMiA/ICRhcmdzWzFdIDogZmFsc2U7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CQ0KCQkNCgkJaWYoISRyb3cpIHsNCgkNCgkJCWZvcmVhY2goc2VsZjo6JGlkZW50aWZpZXJzIGFzICRpZGVudGlmaWVyKSB7DQoJCQkNCgkJCQlpZigkaWRlbnRpZmllciA9PSAkYXJnc1sxXSkgew0KCQkJCQ0KCQkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkZGVmDQoJCQkJCQkJCQkJV0hFUkUgJGlkZW50aWZpZXIgPSA/IA0KCQkJCQkJCQkJCUxJTUlUIDEiOwkJCQkJCQkJCQ0KCQkJCQkJCQkJCQ0KCQkJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkYXJnc1syXSkpOw0KCQkJCQkNCgkJCQkJaWYoJHJvdykNCgkJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWlmKCRyb3cpIHsNCgkJDQoJCQkkb2JqID0gc2VsZjo6TG9hZEZpZWxkZGVmQnlUeXBlKCRyb3dbJ3R5cGUnXSwgJG1vZCk7DQoJCQlpZihpc19vYmplY3QoJG9iaikpIHsNCgkJCQ0KCQkJCS8vIEZpbGwgb2JqZWN0DQoJCQkJJG9iai0+U2V0SWQoJHJvd1snZmllbGRkZWZfaWQnXSk7DQoJCQkJJG9iai0+U2V0TmFtZSgkcm93WyduYW1lJ10pOw0KCQkJCSRvYmotPlNldEFsaWFzKCRyb3dbJ2FsaWFzJ10pOw0KCQkJCSRvYmotPlNldERlc2MoJHJvd1snaGVscCddKTsNCgkJCQkkb2JqLT5TZXRQb3NpdGlvbigkcm93Wydwb3NpdGlvbiddKTsNCgkJCQkkb2JqLT5TZXRSZXF1aXJlZCgkcm93WydyZXF1aXJlZCddKTsNCgkJCQkNCgkJCQkvLyBTZXQgb3B0aW9ucw0KCQkJCSRxdWVyeSA9ICdTRUxFQ1QgbmFtZSwgdmFsdWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmX29wdHMgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9iai0+R2V0SWQoKSkpOw0KCQkJCQ0KCQkJCXdoaWxlKCRkYnIgJiYgISRkYnItPkVPRikgew0KCQkJCQ0KCQkJCQkkb2JqLT5TZXRPcHRpb25WYWx1ZSgkZGJyLT5maWVsZHNbJ25hbWUnXSwgJGRici0+ZmllbGRzWyd2YWx1ZSddKTsNCgkJCQkJJGRici0+TW92ZU5leHQoKTsNCgkJCQl9CQkNCg0KCQkJCWlmKCRkYnIpIA0KCQkJCQkkZGJyLT5DbG9zZSgpOw0KCQkJDQoJCQkJcmV0dXJuICRvYmo7DQoJCQl9DQoJCX0NCgkJCQ0KCQlyZXR1cm4gRkFMU0U7CQ0KCX0NCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBVdGlsaXR5IG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkJDQoJDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBMb2FkVmFsdWVzRm9yRmllbGREZWYoTGlzdEl0MiAmJG1vZCwgTGlzdEl0MkZpZWxkZGVmQmFzZSAmJG9iaikNCgl7CQkJDQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJDQoJCSRvYmotPnZhbHVlcyA9IGFycmF5KCk7DQoJDQoJCSRxdWVyeSA9ICJTRUxFQ1QgRElTVElOQ1QgdmFsdWUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkdmFsIFdIRVJFIGZpZWxkZGVmX2lkID0gPyBHUk9VUCBCWSB2YWx1ZSBBU0MiOw0KCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9iai0+R2V0SWQoKSkpOw0KCQkNCgkJd2hpbGUoJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSl7DQoJCQ0KCQkJJG9iai0+dmFsdWVzW10gPSAkcm93Wyd2YWx1ZSddOwkNCgkJfQ0KCQkJDQoJCXJldHVybiAkb2JqLT52YWx1ZXM7DQoJfQkNCgkNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFRlc3RFeGlzdGFuY2VCeVR5cGUoTGlzdEl0MiAmJG1vZCwgJHR5cGUpDQoJewkJCQ0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIGZpZWxkZGVmX2lkIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZGRlZiBXSEVSRSB0eXBlID0gPyI7DQoJCSRleGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0eXBlKSk7DQoJCQ0KCQlpZigkZXhpc3RzKQ0KCQkJcmV0dXJuICRleGlzdHM7DQoJCQkNCgkJcmV0dXJuIEZBTFNFOw0KCX0JCQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2HierarchyManager.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQySGllcmFyY2h5TWFuYWdlciB7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAoKCXByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEhpZXJhcmNoeSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkKCQkJCQkJCQkJCQkJCQkJCQkJLy8gfC0gVXNlbGVzcwkKCXN0YXRpYyBwdWJsaWMgZmluYWwgZnVuY3Rpb24gJkZpbGxOb2RlV2l0aENoaWxkKExpc3RJdDIgJiRtb2QsICRpZCwgJHJldHVybmlkLCAmJG5vZGUsICYkbm9kZWxpc3QsICYkY291bnQsICYkcHJldmRlcHRoLCAkb3JpZ2RlcHRoLCAmJHBhcmFtcykgCgl7CQoJCS8vIEdyYXAgY3VycmVudCBpZF9oaWVyYXJjaHkKCQkkY3VycmVudF9wYXRoID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJ2xpc3RpdDJfaWRfaGllcmFyY2h5Jyk7CgkJJGN1cnJlbnRfcGF0aF9hcnJheSA9IGV4cGxvZGUoJy4nLCAkY3VycmVudF9wYXRoKTsKCQkKCQkkbm9kZS0+ZGVwdGggPSBjb3VudChleHBsb2RlKCcuJywgJG5vZGUtPmhpZXJhcmNoeSkpOwoJCSRub2RlLT5wcmV2ZGVwdGggPSAkcHJldmRlcHRoIC0gKCRvcmlnZGVwdGggLSAxKTsKCQlpZiAoJG5vZGUtPnByZXZkZXB0aCA9PSAwKSAkbm9kZS0+cHJldmRlcHRoID0gMTsJCgkJJHByZXZkZXB0aCA9ICRub2RlLT5kZXB0aCArICgkb3JpZ2RlcHRoIC0gMSk7CgkJCgkJJGxpbmtwYXJhbXMgPSBhcnJheSgpOwoJCSRsaW5rcGFyYW1zWydjYXRlZ29yeSddIAkJPSAkbm9kZS0+YWxpYXM7CQkKCQkkbGlua3BhcmFtc1snaWRfaGllcmFyY2h5J10gCT0gJG5vZGUtPmlkX2hpZXJhcmNoeTsKCQkKCQkkcmV0dXJuaWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5cGFnZScsICRyZXR1cm5pZCk7CgkJaWYoaXNzZXQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsKCgkJCWlmKGlzX251bWVyaWMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsKCQkJCSRyZXR1cm5pZCA9ICRwYXJhbXNbJ3N1bW1hcnlwYWdlJ107CgkJCX0KCQkJZWxzZSB7CQkJCgkJCQkkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CQkJCQoJCQkJJHJldHVybmlkID0gJGhtLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSktPkdldElkKCk7CgkJCX0KCQl9CgkJCgkJJGxpbmtwYXJhbXMgPSBhcnJheV9tZXJnZSgkbGlua3BhcmFtcywgJHBhcmFtcyk7CgkJCgkJJG5vZGUtPnVybCA9ICRtb2QtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJycsICRsaW5rcGFyYW1zLCAnJywgdHJ1ZSwgZmFsc2UpOwoJCSRub2RlLT5pbmRleCA9ICRjb3VudDsKCQkkbm9kZS0+bWVudXRleHQgPSAkbm9kZS0+bmFtZTsgLy8gQWxpYXMgZm9yIG5hbWUsIG1ha2UgY29tcGF0aWJpbGl0eSB3aXRoIE1lbnVNYW5hZ2VyIHBvc3NpYmxlCgkJJG5vZGUtPnBhcmVudCA9IGZhbHNlOwkKCQkkY291bnQrKzsKCSAKCQlpZiAoJG5vZGUtPmlkX2hpZXJhcmNoeSA9PT0gJGN1cnJlbnRfcGF0aCkgewoJCQkKCQkJJG5vZGUtPmN1cnJlbnQgPSB0cnVlOwoJCQkKCQl9IGVsc2UgewoJCSAgCgkJCSRub2RlLT5jdXJyZW50ID0gZmFsc2U7CgkJCQkKCQkJaWYgKGluX2FycmF5KCRub2RlLT5jYXRlZ29yeV9pZCwgJGN1cnJlbnRfcGF0aF9hcnJheSkpIHsKCQkJCQkKCQkJCSRub2RlLT5wYXJlbnQgPSB0cnVlOwoJCQl9CgkJfQkJCgkJCgkJJG5vZGVsaXN0W10gPSAkbm9kZTsKCgkJcmV0dXJuICRub2RlOwoJfQoJCQkJCQkJCQkJCQkJCQkJCQkvLyB8LSBVc2VsZXNzCglzdGF0aWMgcHVibGljIGZpbmFsIGZ1bmN0aW9uICZGaWxsTm9kZVdpdGhJdGVtKExpc3RJdDIgJiRtb2QsICRpZCwgJHJldHVybmlkLCAmJG5vZGUsICYkaXRlbSwgJiRub2RlbGlzdCwgJiRjb3VudCwgJiRwcmV2ZGVwdGgsICRvcmlnZGVwdGgsICYkcGFyYW1zKSAKCXsJCQoJCS8vIEdyYXAgY3VycmVudCBpdGVtCgkJJGN1cnJlbnRfaXRlbSA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCdsaXN0aXQyX2l0ZW0nKTsKCQoJCSRpdGVtLT5kZXB0aCA9ICRub2RlLT5kZXB0aCArIDE7CgkJJGl0ZW0tPnByZXZkZXB0aCA9ICRwcmV2ZGVwdGggLSAoJG9yaWdkZXB0aCAtIDEpOwoJCWlmICgkaXRlbS0+cHJldmRlcHRoID09IDApICRpdGVtLT5wcmV2ZGVwdGggPSAxOwkKCQkkcHJldmRlcHRoID0gJGl0ZW0tPmRlcHRoICsgKCRvcmlnZGVwdGggLSAxKTsKCQoJCSRsaW5rcGFyYW1zID0gYXJyYXkoKTsKCQkkbGlua3BhcmFtc1snaXRlbSddIAkJCT0gJGl0ZW0tPmFsaWFzOwoJCSRsaW5rcGFyYW1zWydjYXRlZ29yeSddIAkJPSAkbm9kZS0+YWxpYXM7CQkKCQkkbGlua3BhcmFtc1snaWRfaGllcmFyY2h5J10gCT0gJG5vZGUtPmlkX2hpZXJhcmNoeTsKCQoJCSRyZXR1cm5pZCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnLCAkcmV0dXJuaWQpOwoJCWlmKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKCgkJCWlmKGlzX251bWVyaWMoJHBhcmFtc1snZGV0YWlscGFnZSddKSkgewoJCQkJJHJldHVybmlkID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCQl9CgkJCWVsc2UgewkJCQoJCQkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwkJCQkKCQkJCSRyZXR1cm5pZCA9ICRobS0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSktPkdldElkKCk7CgkJCX0KCQl9CQkJCgkJCgkJJGxpbmtwYXJhbXMgPSBhcnJheV9tZXJnZSgkbGlua3BhcmFtcywgJHBhcmFtcyk7CgkJCgkJJGl0ZW0tPnVybCA9ICRtb2QtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGV0YWlsJywgJHJldHVybmlkLCAnJywgJGxpbmtwYXJhbXMsICcnLCB0cnVlLCBmYWxzZSk7CgkJJGl0ZW0tPmluZGV4ID0gJGNvdW50OwkJCgkJJGl0ZW0tPm1lbnV0ZXh0ID0gJGl0ZW0tPnRpdGxlOyAvLyBBbGlhcyBmb3IgbmFtZSwgbWFrZSBjb21wYXRpYmlsaXR5IHdpdGggTWVudU1hbmFnZXIgcG9zc2libGUKCQkkaXRlbS0+cGFyZW50ID0gZmFsc2U7CQoJCSRjb3VudCsrOwkKCgkJJGl0ZW0tPmN1cnJlbnQgPSAoJGl0ZW0tPmFsaWFzID09ICRjdXJyZW50X2l0ZW0pID8gdHJ1ZSA6IGZhbHNlOwoJCQkKCQkkbm9kZWxpc3RbXSA9ICRpdGVtOwoJCQoJCXJldHVybiAkaXRlbTsKCX0JCgoJCQkJCQkJCQkJCQkJCQkJCS8vIHwtIFVzZWxlc3MJCglzdGF0aWMgcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldENoaWxkTm9kZXMoTGlzdEl0MiAmJG1vZCwgJGlkLCAkcmV0dXJuaWQsICYkaWRfbGlzdCwgJiRub2RlbGlzdCwgJiRjb3VudCwgJiRwcmV2ZGVwdGgsICRvcmlnZGVwdGgsICYkcGFyYW1zLCAmJHNob3dwYXJlbnRzKSAKCXsJCgkJaWYgKCFlbXB0eSgkaWRfbGlzdCkpIHsKCQkKCQkJZm9yZWFjaCgkaWRfbGlzdCBhcyAkb25lX2lkKSB7CgoJCQkJJG9uZWNoaWxkID0gJG1vZC0+TG9hZENhdGVnb3J5QnlJZGVudGlmaWVyKCdjYXRlZ29yeV9pZCcsICRvbmVfaWQpOwoJCQkKCQkJCWlmKCFpc19vYmplY3QoJG9uZWNoaWxkKSkKCQkJCQljb250aW51ZTsKCQkJCQkJCgkJCQkvLyBGaWxsIGNhdGVnb3JpZXMKCQkJCSRuZXdub2RlID0gc2VsZjo6RmlsbE5vZGVXaXRoQ2hpbGQoJG1vZCwgJGlkLCAkcmV0dXJuaWQsICRvbmVjaGlsZCwgJG5vZGVsaXN0LCAkY291bnQsICRwcmV2ZGVwdGgsICRvcmlnZGVwdGgsICRwYXJhbXMpOwkJCQkJCgkJCgkJCQlpZiAoIShpc3NldCgkcGFyYW1zWydudW1iZXJfb2ZfbGV2ZWxzJ10pICYmICRuZXdub2RlLT5kZXB0aCA+ICgkcGFyYW1zWydudW1iZXJfb2ZfbGV2ZWxzJ10pIC0gKCRvcmlnZGVwdGgpKSAmJiAKCQkJCQkJKCFpc3NldCgkcGFyYW1zWydjb2xsYXBzZSddKSB8fCAoY291bnQoJHNob3dwYXJlbnRzKSA+IDAgJiYgaW5fYXJyYXkoJG5ld25vZGUtPmNhdGVnb3J5X2lkLCAkc2hvd3BhcmVudHMpKSkpIHsKCQkJCQoJCQkJCXNlbGY6OkdldENoaWxkTm9kZXMoJG1vZCwgJGlkLCAkcmV0dXJuaWQsICRuZXdub2RlLT5jaGlsZHJlbiwgJG5vZGVsaXN0LCAkY291bnQsICRwcmV2ZGVwdGgsICRvcmlnZGVwdGgsICRwYXJhbXMsICRzaG93cGFyZW50cyk7CgkJCQkJCgkJCQkJLy8gRmlsbCBpdGVtcyBmb3IgY2F0ZWdvcnkKCQkJCQlpZighZW1wdHkoJG5ld25vZGUtPml0ZW1zKSAmJiBpc3NldCgkcGFyYW1zWydzaG93X2l0ZW1zJ10pKSB7CgkJCQkJCgkJCQkJCWZvcmVhY2goJG5ld25vZGUtPml0ZW1zIGFzICRpdGVtX2lkKSB7CgkJCQkJCQkKCQkJCQkJCSRpdGVtID0gJG1vZC0+TG9hZEl0ZW1CeUlkZW50aWZpZXIoJ2l0ZW1faWQnLCAkaXRlbV9pZCwgRkFMU0UpOwoJCQkJCQkJc2VsZjo6RmlsbE5vZGVXaXRoSXRlbSgkbW9kLCAkaWQsICRyZXR1cm5pZCwgJG5ld25vZGUsICRpdGVtLCAkbm9kZWxpc3QsICRjb3VudCwgJHByZXZkZXB0aCwgJG9yaWdkZXB0aCwgJHBhcmFtcyk7CQkJCQkJCgkJCQkJCX0KCQkJCQl9CQkJCQkKCQkJCX0KCQkJfQoJCX0KCX0gIAoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQySXRlbQp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEF0dHJpYnV0ZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgJGl0ZW1faWQ7CglwdWJsaWMgJGFsaWFzOwoJcHVibGljICR0aXRsZTsKCXB1YmxpYyAkcG9zaXRpb247CglwdWJsaWMgJGFjdGl2ZTsKCXB1YmxpYyAkY3JlYXRlX3RpbWU7CglwdWJsaWMgJG1vZGlmaWVkX3RpbWU7CglwdWJsaWMgJHN0YXJ0X3RpbWU7CglwdWJsaWMgJGVuZF90aW1lOwoJcHVibGljICRvd25lcjsJCgkKCXB1YmxpYyAka2V5MTsKCXB1YmxpYyAka2V5MjsKCXB1YmxpYyAka2V5MzsKCglwdWJsaWMgJGZpZWxkZGVmczsKCQoJc3RhdGljIHB1YmxpYyAkbWFuZGF0b3J5ID0gYXJyYXkoJ3RpdGxlJyk7CgkJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSAKCXsKCQkkdGhpcy0+aXRlbV9pZCA9IG51bGw7CgkJJHRoaXMtPmFsaWFzID0gbnVsbDsKCQkkdGhpcy0+dGl0bGUgPSAnJzsKCQkkdGhpcy0+cG9zaXRpb24gPSAtMTsKCQkkdGhpcy0+YWN0aXZlID0gMTsKCQkkdGhpcy0+Y3JlYXRlX3RpbWUgPSAnJzsKCQkkdGhpcy0+bW9kaWZpZWRfdGltZSA9ICcnOwoJCSR0aGlzLT5zdGFydF90aW1lID0gJyc7CgkJJHRoaXMtPmVuZF90aW1lID0gJyc7CgkJJHRoaXMtPm93bmVyID0gbnVsbDsKCQkKCQkkdGhpcy0+a2V5MSA9IG51bGw7CgkJJHRoaXMtPmtleTIgPSBudWxsOwoJCSR0aGlzLT5rZXkzID0gbnVsbDsKCQkKCQkkdGhpcy0+ZmllbGRkZWZzID0gbmV3IExpc3RJdDJGaWVsZGRlZkFycmF5KGFycmF5KCkpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX19jbG9uZSgpCgl7CgkJJHRoaXMtPml0ZW1faWQgPSBudWxsOwoJCSR0aGlzLT5hbGlhcyA9IG51bGw7CgkJJHRoaXMtPnBvc2l0aW9uID0gLTE7CgkJJHRoaXMtPmNyZWF0ZV90aW1lID0gJyc7CgkJJHRoaXMtPm1vZGlmaWVkX3RpbWUgPSAnJzsKCQkkdGhpcy0+a2V5MSA9IG51bGw7CgkJJHRoaXMtPmtleTIgPSBudWxsOwoJCSR0aGlzLT5rZXkzID0gbnVsbDsKCQkkdGhpcy0+b3duZXIgPSBudWxsOwoKCQkkdGhpcy0+ZmllbGRkZWZzLT5TZXRQYXJlbnRJdGVtKCR0aGlzKTsJCQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKCXsKCQlpZihpc3NldCgkdGhpcy0+ZmllbGRkZWZzWyRrZXldKSkgCgkJCXJldHVybiAkdGhpcy0+ZmllbGRkZWZzWyRrZXldLT5HZXRWYWx1ZSgpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwgJHZhbHVlKQoJewoJCWlmKGlzc2V0KCR0aGlzLT5maWVsZGRlZnNbJGtleV0pKSB7CgkJCgkJCSR0aGlzLT5maWVsZGRlZnNbJGtleV0tPlNldFZhbHVlKCR2YWx1ZSk7CgkJfQoJCWVsc2UgewoJCQoJCQkkdGhpcy0+JGtleSA9ICR2YWx1ZTsKCQl9Cgl9CQoKCXB1YmxpYyBmdW5jdGlvbiBfX2lzc2V0KCRrZXkpCgl7CgkJaWYoaXNzZXQoJHRoaXMtPmZpZWxkZGVmc1ska2V5XSkgJiYgJHRoaXMtPmZpZWxkZGVmc1ska2V5XS0+SGFzVmFsdWUoKSkKCQkJcmV0dXJuIHRydWU7CgkJCQoJCXJldHVybiBGQUxTRTsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKCXsKCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+dGl0bGU7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFV0aWxpdHkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJLy8gRGVsZXRlIHRoaXMgYXdmdWwgbWV0aG9kLiBVc2VkIG9ubHkgYnkgaW1wb3J0ZXIuCglwdWJsaWMgZnVuY3Rpb24gU2V0UHJvcGVydHlWYWx1ZSgkcHJvcGVydHksICR2YWx1ZSkKCXsKCQlpZihwcm9wZXJ0eV9leGlzdHMoJHRoaXMsICRwcm9wZXJ0eSkpIHsgIC8vIDwtIEZvciBpbnRlcm5hbCBwcm9wZXJ0aWVzCgkJCgkJCWlmKGlzX2FycmF5KCR2YWx1ZSkpIHsKCQkJCSR0aGlzLT4kcHJvcGVydHkgPSAkdmFsdWVbMF07CgkJCX0KCQkJZWxzZSB7CgkJCQkkdGhpcy0+JHByb3BlcnR5ID0gJHZhbHVlOyAKCQkJfQoJCX0gCgkJZWxzZWlmKGlzc2V0KCR0aGlzLT5maWVsZGRlZnNbJHByb3BlcnR5XSkpIHsgLy8gPC0gRm9yIGZpZWxkIGRlZmluaXRpb25zCgkJCgkJCSR0aGlzLT4kcHJvcGVydHkgPSAoYXJyYXkpJHZhbHVlOwoJCX0KCQllbHNlIHsgLy8gQW55dGhpbmcgZWxzZS4KCQkKCQkJJHRoaXMtPiRwcm9wZXJ0eSA9ICR2YWx1ZTsgCgkJfQoJfQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2ItemOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQySXRlbU9wZXJhdGlvbnMKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBWYXJpYWJsZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCXB1YmxpYyBzdGF0aWMgJGlkZW50aWZpZXJzID0gYXJyYXkoJ2l0ZW1faWQnLCAnYWxpYXMnLCAna2V5MScsICdrZXkyJywgJ2tleTMnKTsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBEYXRhYmFzZSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFNhdmUoTGlzdEl0MiAmJG1vZCwgTGlzdEl0Mkl0ZW0gJiRvYmopCgl7CgkJRXZlbnRzOjpTZW5kRXZlbnQoJG1vZC0+R2V0TmFtZSgpLCAnUHJlSXRlbVNhdmUnLCBhcnJheSgnaXRlbV9vYmplY3QnID0+ICYkb2JqKSk7CgoJCS8vIENoZWNrIGFnYWluc3QgbWFuZGF0b3J5IGxpc3QKCQlmb3JlYWNoKExpc3RJdDJJdGVtOjokbWFuZGF0b3J5IGFzICRydWxlKSB7CgkJCgkJCWlmKCRvYmotPiRydWxlID09ICcnKQoJCQkJcmV0dXJuOwoJCX0KCQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkvLyR0aW1lID0gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpOwoKCQkkc3FsX3N0YXJ0X3RpbWUgPSAkb2JqLT5zdGFydF90aW1lID8gZGF0ZSgnWS1tLWQnLCBzdHJ0b3RpbWUoJG9iai0+c3RhcnRfdGltZSkpIDogTlVMTDsKCQkkc3FsX2VuZF90aW1lID0gJG9iai0+ZW5kX3RpbWUgPyBkYXRlKCdZLW0tZCcsIHN0cnRvdGltZSgkb2JqLT5lbmRfdGltZSkpIDogTlVMTDsJCQoJCQoJCS8vIEVuc3VyZSB0aGF0IHdlIGhhdmUgYWxpYXMKCQlpZiAoJG9iai0+YWxpYXMgPT0gJycpewoJCQoJCQkkb2JqLT5hbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJG9iai0+dGl0bGUsIHRydWUpOwoJCX0KCQkKCQkvLyBUcnkgZ3JhYmJpbmcgb3duZXIgaWYgbm90IHNldAoJCWlmIChpc19udWxsKCRvYmotPm93bmVyKSkgewoJCQoJCQkkbG9nZ2VkaW4gPSBnZXRfdXNlcmlkKGZhbHNlKTsKCQkJaWYoJGxvZ2dlZGluKQoJCQkJJG9iai0+b3duZXIgPSAkbG9nZ2VkaW47CgkJfQoJCQkKCQkvLyBFeGlzdGluZyBpdGVtCQoJCWlmICgkb2JqLT5pdGVtX2lkID4gMCkgewoJCQoJCQkvLyB1cGRhdGUgaXRlbQoJCQkkcXVlcnkgID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gCgkJCQkJU0VUIHRpdGxlID0gPywgYWxpYXMgPSA/LCBhY3RpdmUgPSA/LCBzdGFydF90aW1lID0gPywgZW5kX3RpbWUgPSA/LCBtb2RpZmllZF90aW1lID0gTk9XKCksIGtleTEgPSA/LCBrZXkyID0gPywga2V5MyA9ID8sIG93bmVyID0gPwoJCQkJCVdIRVJFIGl0ZW1faWQgPSA/JzsKCQkJCQkJCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgKCQkJCSRvYmotPnRpdGxlLAoJCQkJJG9iai0+YWxpYXMsCgkJCQkvLyRvYmotPmNhdGVnb3J5X2lkLAoJCQkJJG9iai0+YWN0aXZlLAoJCQkJJHNxbF9zdGFydF90aW1lLAoJCQkJJHNxbF9lbmRfdGltZSwKCQkJCSRvYmotPmtleTEsCgkJCQkkb2JqLT5rZXkyLAoJCQkJJG9iai0+a2V5MywJCQoJCQkJJG9iai0+b3duZXIsCQkKCQkJCSRvYmotPml0ZW1faWQKCQkJKSk7CgkJCQoJCQlpZiAoISRyZXN1bHQpCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwkJCgkJCgkJLy8gTmV3IGl0ZW0KCQl9IGVsc2UgewoKCQkJLy8gZmluZCBwb3NpdGlvbiBiZWZvcmUgaW5zZXJ0aW5nIG5ldyBpdGVtCgkJCSRxdWVyeSA9ICdTRUxFQ1QgTUFYKHBvc2l0aW9uKSArIDEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nOwoJCQkkcG9zaXRpb24gPSAkZGItPkdldE9uZSgkcXVlcnkpOwoKCQkJaWYgKCRwb3NpdGlvbiA9PSBudWxsKQoJCQkJJHBvc2l0aW9uID0gMTsKCQkJCgkJCS8vIGNoZWNrIGFsaWFzIGlzIHVuaXF1ZQoJCQkkcXVlcnkgPSAnU0VMRUNUIENPVU5UKGFsaWFzKSBhcyBhbGlhcyBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSBhbGlhcyBMSUtFICInLiRvYmotPmFsaWFzLiclIic7CgkJCSRkYnJlc3VsdCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CgkJCQoJCQlpZigkZGJyZXN1bHQgPiAwKQoJCQkJJG9iai0+YWxpYXMgLj0gJ18nLigkZGJyZXN1bHQrMSk7CQoJCQkKCQkJLy8gaW5zZXJ0IGl0ZW0KCQkJJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gCgkJCQkJKHRpdGxlLCBhbGlhcywgcG9zaXRpb24sIGFjdGl2ZSwgY3JlYXRlX3RpbWUsIG1vZGlmaWVkX3RpbWUsIHN0YXJ0X3RpbWUsIGVuZF90aW1lLCBrZXkxLCBrZXkyLCBrZXkzLCBvd25lcikgCgkJCQkJVkFMVUVTICg/LCA/LCA/LCA/LCBOT1coKSwgTk9XKCksID8sID8sID8sID8sID8sID8pJzsKCQkJCQkKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAoJCQkJJG9iai0+dGl0bGUsCgkJCQkkb2JqLT5hbGlhcywKCQkJCS8vJG9iai0+Y2F0ZWdvcnlfaWQsCgkJCQkkcG9zaXRpb24sCgkJCQkkb2JqLT5hY3RpdmUsCgkJCQkkc3FsX3N0YXJ0X3RpbWUsCgkJCQkkc3FsX2VuZF90aW1lLAoJCQkJJG9iai0+a2V5MSwKCQkJCSRvYmotPmtleTIsCgkJCQkkb2JqLT5rZXkzLAoJCQkJJG9iai0+b3duZXIKCQkJKSk7CgkJCQoJCQlpZiAoISRyZXN1bHQpCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoKCQkJLy8gcG9wdWxhdGUgJGl0ZW1faWQgZm9yIG5ld2x5IGluc2VydGVkIGl0ZW0KCQkJJG9iai0+aXRlbV9pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CQkKCQl9CgkKCQkvLyBJbml0IHNlYXJjaAoJCSRzZWFyY2ggPSBjbXNtcygpLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CgkJaWYgKGlzX29iamVjdCgkc2VhcmNoKSkKCQkJJHNlYXJjaHRleHQgPSAkb2JqLT50aXRsZSAuJyAnOwoJCQkJCQoJCS8vIGhhbmRsZSBpbnNlcnRpbmcgY3VzdG9tIGZpZWxkcyBpbnRvIGRhdGFiYXNlCgkJaWYoY291bnQoJG9iai0+ZmllbGRkZWZzKSkgewoJCQoJCQlmb3JlYWNoICgkb2JqLT5maWVsZGRlZnMgYXMgJGZpZWxkKSB7CgkJCQoJCQkJJGZpZWxkLT5TZXRJdGVtSWQoJG9iai0+aXRlbV9pZCk7IC8vIDwtIFJlbW92ZSBpbiAxLjUKCQkJCSRmaWVsZC0+RXZlbnRIYW5kbGVyKCktPk9uSXRlbVNhdmUoJG1vZCk7CQoKCQkJCS8vIFBhcnQgb2Ygc2VhcmNoIHJlaW5kZXhpbmcKCQkJCWlmKGlzX29iamVjdCgkc2VhcmNoKSkKCQkJCQkkc2VhcmNodGV4dCAuPSAkZmllbGQtPkdldFZhbHVlKCJzdHJpbmciKSAuJyAnOwoJCQkJCQkJCgkJCX0KCQl9CgkJCgkJLy8gUmVpbmRleCBzZWFyY2gKCQlpZihpc19vYmplY3QoJHNlYXJjaCkpCgkJCSRzZWFyY2gtPkFkZFdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJG9iai0+aXRlbV9pZCwgJ3RpdGxlJywgJHNlYXJjaHRleHQpOwkJCgkJCgkJRXZlbnRzOjpTZW5kRXZlbnQoJG1vZC0+R2V0TmFtZSgpLCAnUG9zdEl0ZW1TYXZlJywgYXJyYXkoJ2l0ZW1fb2JqZWN0JyA9PiAmJG9iaikpOwoJCQoJfQoKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gRGVsZXRlKExpc3RJdDIgJiRtb2QsIExpc3RJdDJJdGVtICYkb2JqKQoJewoJCUV2ZW50czo6U2VuZEV2ZW50KCRtb2QtPkdldE5hbWUoKSwgJ1ByZUl0ZW1EZWxldGUnLCBhcnJheSgnaXRlbV9vYmplY3QnID0+ICYkb2JqKSk7CQoJCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkKCQlpZiAoJG9iai0+aXRlbV9pZCA+IDApIHsKCgkJCS8vIGdldCBkZXRhaWxzCgkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSBpdGVtX2lkID0gPyc7CgkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRvYmotPml0ZW1faWQpKTsKCQkJCgkJCS8vIGRlbGV0ZSBpdGVtCgkJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgaXRlbV9pZCA9ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5pdGVtX2lkKSk7CgkJCQoJCQkvLyBEZWxldGUgZnJvbSBpdGVtcwoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMgV0hFUkUgaXRlbV9pZCA9ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5pdGVtX2lkKSk7CQkJCQoJCQkKCQkJLy8gQ2xlYW4gdXAgc29ydCBvcmRlcgoJCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgcG9zaXRpb24gPSAocG9zaXRpb24gLSAxKSBXSEVSRSBwb3NpdGlvbiA+ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcm93Wydwb3NpdGlvbiddKSk7CQkJCgkJCQoJCQkvLyBEZWxldGUgZmllbGQgdmFsdWVzIGZyb20gcmVndWxhciB0YWJsZXMKCQkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5pdGVtX2lkKSk7CQkJCgkJCQoJCQkvLyBEZWxldGUgZmllbGQgdmFsdWVzIGZyb20gYW55IGV4dGVybmFsIHRhYmxlcyAodGhpcyBtaWdodCBub3QgYmVsb25nIGhlcmUsIGRvdWJsZSBjaGVjaykKCQkJaWYoY291bnQoJG9iai0+ZmllbGRkZWZzKSkgewoJCQkKCQkJCWZvcmVhY2ggKChhcnJheSkkb2JqLT5maWVsZGRlZnMgYXMgJGZpZWxkKSB7CgkJCQkKCQkJCQkkZmllbGQtPkV2ZW50SGFuZGxlcigpLT5Pbkl0ZW1EZWxldGUoJG1vZCk7CgkJCQl9IC8vIGVuZCBvZiBmb3JlYWNoCgkJCX0gLy8gZW5kIG9mIGNvdW50CgkJCQoJCQlFdmVudHM6OlNlbmRFdmVudCgkbW9kLT5HZXROYW1lKCksICdQb3N0SXRlbURlbGV0ZScsIGFycmF5KCdpdGVtX29iamVjdCcgPT4gJiRvYmopKTsKCQkJCgkJCXJldHVybiB0cnVlOwoJCX0KCgkJcmV0dXJuIEZBTFNFOwoJfQoKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gTG9hZChMaXN0SXQyICYkbW9kLCBMaXN0SXQySXRlbSAmJG9iaiwgJHJvdyA9IGZhbHNlKQoJewoJCUV2ZW50czo6U2VuZEV2ZW50KCRtb2QtPkdldE5hbWUoKSwgJ1ByZUl0ZW1Mb2FkJywgYXJyYXkoJ2l0ZW1fb2JqZWN0JyA9PiAmJG9iaikpOwkKCQoJCS8vIElmIHdlIGRvbid0IGhhdmUgcm93IHRoZW4gYXR0ZW1wdCB0byBsb2FkIGl0CgkJaWYgKCEkcm93KSB7CgkKCQkJZm9yZWFjaChzZWxmOjokaWRlbnRpZmllcnMgYXMgJGlkZW50aWZpZXIpIHsKCQkJCgkJCQlpZighaXNfbnVsbCgkb2JqLT4kaWRlbnRpZmllcikpIHsKCgkJCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJCQoJCQkJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfaXRlbQoJCQkJCQkJCQkJV0hFUkUgJGlkZW50aWZpZXIgPSA/IAoJCQkJCQkJCQkJTElNSVQgMSI7CQkJCQkJCQkJCgkJCQkJCQkJCQkKCQkJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkb2JqLT4kaWRlbnRpZmllcikpOwoJCQkJCQoJCQkJCWlmKCRyb3cpCgkJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJfQoKCQlpZiAoJHJvdykgewoKCQkJLy8gSXRlbSB0YWJsZQoJCQkkb2JqLT5pdGVtX2lkICAgICAgICAJCT0gJHJvd1snaXRlbV9pZCddOwoJCQkkb2JqLT50aXRsZSAgICAgICAgCQkJPSAkcm93Wyd0aXRsZSddOwoJCQkkb2JqLT5hbGlhcwkJIAkJCT0gJHJvd1snYWxpYXMnXTsKCQkJJG9iai0+cG9zaXRpb24gICAgICAgCQk9ICRyb3dbJ3Bvc2l0aW9uJ107CQkJCgkJCSRvYmotPmFjdGl2ZSAgICAgICAJCQk9ICRyb3dbJ2FjdGl2ZSddOwoJCQkkb2JqLT5jcmVhdGVfdGltZSAgCQkJPSAkcm93WydjcmVhdGVfdGltZSddOwoJCQkkb2JqLT5tb2RpZmllZF90aW1lICAJCT0gJHJvd1snbW9kaWZpZWRfdGltZSddOwoJCQkkb2JqLT5zdGFydF90aW1lICAgCQkJPSAkcm93WydzdGFydF90aW1lJ107CgkJCSRvYmotPmVuZF90aW1lICAgICAJCQk9ICRyb3dbJ2VuZF90aW1lJ107CgkJCSRvYmotPm93bmVyICAgICAJCQk9ICRyb3dbJ293bmVyJ107CgkJCQoJCQkkb2JqLT5rZXkxCQkgCQkJPSAkcm93WydrZXkxJ107CgkJCSRvYmotPmtleTIJCSAJCQk9ICRyb3dbJ2tleTInXTsKCQkJJG9iai0+a2V5MwkJIAkJCT0gJHJvd1sna2V5MyddOwoJCQkvLyRvYmotPmNhdGVnb3J5X2lkIAkJCT0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCgkJCS8vIEZpZWxkcwoJCQlpZihjb3VudCgkb2JqLT5maWVsZGRlZnMpKSB7CgkJCQoJCQkJZm9yZWFjaCAoKGFycmF5KSRvYmotPmZpZWxkZGVmcyBhcyAkZmllbGQpIHsKCQkJCQoJCQkJCSRmaWVsZC0+U2V0SXRlbUlkKCRvYmotPml0ZW1faWQpOyAvLyA8LSBSZW1vdmUgaW4gMS41CgkJCQkJJGZpZWxkLT5FdmVudEhhbmRsZXIoKS0+T25JdGVtTG9hZCgkbW9kKTsKCQkJCgkJCQl9IC8vIGVuZCBvZiBmb3JlYWNoCgkJCX0gLy8gZW5kIG9mIGNvdW50CgkJCgkJCUV2ZW50czo6U2VuZEV2ZW50KCRtb2QtPkdldE5hbWUoKSwgJ1Bvc3RJdGVtTG9hZCcsIGFycmF5KCdpdGVtX29iamVjdCcgPT4gJiRvYmopKTsKCQkKCQkJcmV0dXJuIHRydWU7CgkJfQoKCQlyZXR1cm4gRkFMU0U7Cgl9CQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2ItemQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQySXRlbVF1ZXJ5IGV4dGVuZHMgTGlzdEl0MlF1ZXJ5CnsKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQXR0cmlidXRlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgc3RhdGljICRvcmRlcmJ5X21hcCA9IGFycmF5KAoJCS8vIGl0ZW1zCgkJJ2l0ZW1faWQnID0+ICdBLml0ZW1faWQnLCAnaXRlbV90aXRsZScgPT4gJ0EudGl0bGUnLCAnaXRlbV9wb3NpdGlvbicgPT4gJ0EucG9zaXRpb24nLCAnaXRlbV9jcmVhdGVkJyA9PiAnQS5jcmVhdGVfdGltZScsICdpdGVtX21vZGlmaWVkJyA9PiAnQS5tb2RpZmllZF90aW1lJywgJ2l0ZW1fc3RhcnQnID0+ICdBLnN0YXJ0X3RpbWUnLCAnaXRlbV9lbmQnID0+ICdBLmVuZF90aW1lJywKCQkvLyBjYXRlZ29yeQoJCSdjYXRlZ29yeV9pZCcgPT4gJ0IuY2F0ZWdvcnlfaWQnLCAnY2F0ZWdvcnlfbmFtZScgPT4gJ0IuY2F0ZWdvcnlfbmFtZScsICdjYXRlZ29yeV9oaWVyYXJjaHknID0+ICdCLmhpZXJhcmNoeScsICdjYXRlZ29yeV9wb3NpdGlvbicgPT4gJ0IucG9zaXRpb24nLCAvLyA8LSBOb3QgbmVjY2VyeSB2YWxpZCwgaWYgSk9JTiB0byBjYXRlZ29yeSB0YWJsZSBpcyBub3QgbWFkZSwgY2hlY2sgdGhpcy4KCQkvLyBmdW5jdGlvbnMKCQkncmFuZCc9PidSQU5EKCknCgkpOwkKCQoJLy9wcm90ZWN0ZWQgc3RhdGljICRfYWxsb3dlZF9wYXJhbXMgPSBhcnJheSgnb3JkZXJieScsICdjYXRlZ29yeScsICdleGNsdWRlX2NhdGVnb3J5JywgJ3NlYXJjaCcsICcnLCAnJywgJycsICcnLCAnJywgJycpOwoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoTGlzdEl0MiAmJG1vZCwgJiRwYXJhbXMpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbW9kLCAkcGFyYW1zKTsKCX0KCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgUXVlcnkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHJpdmF0ZSBmdW5jdGlvbiBfYXBwZW5kX2ludGVybmFsKCkKCXsKCQlpZihpc3NldCgkdGhpcy0+cXVlcnkpKQoJCQlyZXR1cm47CgkJCQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOwoJCSRtb2QgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoKTsKCQkkcGFyYW1zID0gJHRoaXMtPkdldFBhcmFtcygpOwkJCQoJCQkKCQkvKgoJCSAqIE9SREVSIEJZCgkJICovCgkJaWYoaXNzZXQoJHBhcmFtc1snb3JkZXJieSddKSkgewoKCQkJbGlzdCgkb3JkZXJfY29scywgJGN1c3RvbV9jb2xzKSA9IHNlbGY6OmV4cGxvZGVfb3JkZXJieSgkcGFyYW1zWydvcmRlcmJ5J10sIHNlbGY6OiRvcmRlcmJ5X21hcCk7IC8vIDwtIEFsd2F5cyByZXR1cm5pbmcgdHdvIGFycmF5cwoJCQkKCQkJLy8gSGFuZGxlIGN1c3RvbV8qIG9yZGVyYnkgc3R1ZmYKCQkJaWYoIWVtcHR5KCRjdXN0b21fY29scykpIHsKCgkJCQlmb3JlYWNoKCRjdXN0b21fY29scyBhcyAkaW5kZXg9PiRvYmopIHsKCQkJCQoJCQkJCSRvbmVkZWYgPSBMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpMb2FkKCRtb2QsICdhbGlhcycsICRvYmotPm5hbWUpOwoJCQkJCWlmKCRvbmVkZWYpIHsKCQkJCQkKCQkJCQkJJGFzID0gJ1ZBTCcgLiAkb25lZGVmLT5HZXRJZCgpOwoJCQkJCQkkdGhpcy0+QXBwZW5kVG8ocGFyZW50OjpWQVJUWVBFX0pPSU5TLCAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kbW9kLT5fR2V0TW9kdWxlQWxpYXMoKS4nX2ZpZWxkdmFsICcuJGFzLicgT04gQS5pdGVtX2lkID0gJy4kYXMuJy5pdGVtX2lkJyk7IAkJCQkJCQkKCQkJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9XSEVSRSwgJGFzLicuZmllbGRkZWZfaWQgPSAnLiRkYi0+cXN0cigkb25lZGVmLT5HZXRJZCgpKSk7CQkJCQkJCQkKCQkJCQkJJG9yZGVyX2NvbHNbJGluZGV4XSA9ICRhcy4nLnZhbHVlICcuJG9iai0+b3JkZXI7CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlrc29ydCgkb3JkZXJfY29scyk7CgkJCX0KCQkJCgkJCWlmKGNvdW50KCRvcmRlcl9jb2xzKSkgewoJCQkKCQkJCWZvcmVhY2goJG9yZGVyX2NvbHMgYXMgJG9uZSkgewoJCQkJCgkJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9PUkRFUkJZLCAkb25lKTsKCQkJCX0KCQkJfQoKCQl9IC8vIGVuZCBvZiBvcmRlcmJ5OwoKCQkvKgoJCSAqIElOQ0xVREUvRVhDTFVERSBJVEVNUwoJCSAqLwkJCQkJCgkJaWYoIWVtcHR5KCRwYXJhbXNbJ2luY2x1ZGVfaXRlbXMnXSkgfHwgIWVtcHR5KCRwYXJhbXNbJ2V4Y2x1ZGVfaXRlbXMnXSkpIHsKCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ2luY2x1ZGVfaXRlbXMnXSkpIHsKCQkJCgkJCQkkYXJyYXkgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snaW5jbHVkZV9pdGVtcyddKTsKCQkJCSRzdHIgPSAiKCI7CgkJCX0KCQkJCgkJCWlmKCFlbXB0eSgkcGFyYW1zWydleGNsdWRlX2l0ZW1zJ10pKSB7CgkJCQoJCQkJJGFycmF5ID0gZXhwbG9kZSgnLCcsICRwYXJhbXNbJ2V4Y2x1ZGVfaXRlbXMnXSk7CgkJCQkkc3RyID0gIk5PVCAoIjsKCQkJfQoJCQkKCQkJJGNvdW50ID0gMDsJCQkKCQkJZm9yZWFjaCAoJGFycmF5IGFzICRhbGlhcykgeyAgCgoJCQkJaWYgKCRjb3VudCA+IDApCgkJCQkJJHN0ciAuPSAnIE9SICc7CgkJCQkJCQoJCQkJJHN0ciAuPSAgaXNfbnVtZXJpYygkYWxpYXMpID8gIiBBLml0ZW1faWQgPSAnIiAuICRhbGlhcyAuICInIiA6ICIgQS5hbGlhcyA9ICciIC4gJGFsaWFzIC4gIiciOwoJCQkJJGNvdW50Kys7CgkJCX0KCQkJJHN0ciAuPSAnKSc7CgkJCQoJCQkkdGhpcy0+QXBwZW5kVG8ocGFyZW50OjpWQVJUWVBFX1dIRVJFLCAkc3RyKTsKCgkJfSAvLyBlbmQgb2YgaW5jbHVkZSBpdGVtczsJCQoJCQoJCS8qCgkJICogSU5DTFVERS9FWENMVURFIENBVEVHT1JZCgkJICovCQkJCQkKCQlpZighZW1wdHkoJHBhcmFtc1snY2F0ZWdvcnknXSkgfHwgIWVtcHR5KCRwYXJhbXNbJ2V4Y2x1ZGVfY2F0ZWdvcnknXSkpIHsKCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ2NhdGVnb3J5J10pKSB7CgkJCQoJCQkJJGFycmF5ID0gZXhwbG9kZSgnLCcsICRwYXJhbXNbJ2NhdGVnb3J5J10pOwoJCQkJJHN0ciA9ICIoIjsKCQkJfQoJCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ2V4Y2x1ZGVfY2F0ZWdvcnknXSkpIHsKCQkJCgkJCQkkYXJyYXkgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snZXhjbHVkZV9jYXRlZ29yeSddKTsKCQkJCSRzdHIgPSAiTk9UICgiOwoJCQl9CgkJCQoJCQkkY291bnQgPSAwOwoJCQlmb3JlYWNoICgkYXJyYXkgYXMgJGNhdCkgeyAKCgkJCQlpZiAoJGNvdW50ID4gMCkKCQkJCQkkc3RyIC49ICcgT1IgJzsKCQkJCQkJCgkJCQkkc3RyIC49ICIgQi5jYXRlZ29yeV9hbGlhcyA9ICciIC4gJGNhdCAuICInIjsKCQkJCQoJCQkJaWYgKChpc3NldCgkcGFyYW1zWydzdWJjYXRlZ29yeSddKSAmJiAkcGFyYW1zWydzdWJjYXRlZ29yeSddKSB8fCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzdWJjYXRlZ29yeScpKSB7CgkJCQkJCgkJCQkJJHRoaXMtPl9nZXRfc3ViY2F0ZWdvcmllcygkc3RyLCAkY2F0KTsKCQkJCX0JCgkJCQkKCQkJCSRjb3VudCsrOwoJCQl9CgkJCSRzdHIgLj0gJyknOwoJCQkKCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9XSEVSRSwgJHN0cik7CgoJCX0gLy8gZW5kIG9mIGNhdGVnb3J5OwoJCQkKCQkvKgoJCSAqIFNFQVJDSAoJCSAqLwkKCQlpZighZW1wdHkoJHBhcmFtc1snc2VhcmNoJ10pKSB7CgkJCQoJCQkJJHN0ciA9ICRwYXJhbXNbJ3NlYXJjaCddOwoJCQkKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfV0hFUkUsICcoQS50aXRsZSBMSUtFID8gT1IgQS5pdGVtX2lkIElOIChTRUxFQ1QgQy5pdGVtX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBDIFdIRVJFIEMudmFsdWUgTElLRSA/KSknKTsKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgJyUnLnRyaW0oJHN0cikuJyUnKTsKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgJyUnLnRyaW0oJHN0cikuJyUnKTsKCQkJCgkJfSAvLyBlbmQgb2Ygc2VhcmNoCgkJCQkKCQkvKgoJCSAqIFNFQVJDSF8qCgkJICovCQoJCSRzZWFyY2hfY2xhdXNlID0gIkEuaXRlbV9pZCBJTiAKCQkJCQkJCShTRUxFQ1QgQy5pdGVtX2lkIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZHZhbCBDLCAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkZGVmIEQKCQkJCQkJCQkJV0hFUkUgQy5maWVsZGRlZl9pZCA9IEQuZmllbGRkZWZfaWQgCgkJCQkJCQkJCUFORCBELmFsaWFzID0gPyI7CQkJCQkJCQkJCgkJCQkJCgkJJGZpZWxkZGVmcyA9ICRtb2QtPkdldEZpZWxkRGVmcygpOwoJCWZvcmVhY2goJGZpZWxkZGVmcyBhcyAkZmllbGRkZWYpIHsKCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ3NlYXJjaF8nLiRmaWVsZGRlZi0+R2V0QWxpYXMoKV0pKSB7CgkJCQoJCQkJJHRoaXNwYXJhbSA9ICRwYXJhbXNbJ3NlYXJjaF8nLiRmaWVsZGRlZi0+R2V0QWxpYXMoKV07CgkJCQkkdGhpcy0+QXBwZW5kVG8ocGFyZW50OjpWQVJUWVBFX1FQQVJBTVMsICRmaWVsZGRlZi0+R2V0QWxpYXMoKSk7CgkJCQkKCQkJCSR0aGlzb3IgPSBhcnJheSgpOwoJCQkJZm9yZWFjaCgoYXJyYXkpJHRoaXNwYXJhbSBhcyAkdGhpc3ZhbHVlKSB7CgkJCQkKCQkJCQkkdGhpc29yW10gPSAnQy52YWx1ZSA9ID8nOwoJCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgJHRoaXN2YWx1ZSk7CgkJCQl9CgkJCQkKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfV0hFUkUsICRzZWFyY2hfY2xhdXNlIC4gIiBBTkQgIiAuIGltcGxvZGUoIiBPUiAiLCAkdGhpc29yKSAuICIpIik7CQoJCQl9CgkJfQkJCgkJCgkJLyoKCQkgKiBUSU1FIENPTlRST0wKCQkgKi8JCgkJaWYoIWlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkpCgkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfV0hFUkUsICcoc3RhcnRfdGltZSBJUyBOVUxMIE9SIFRJTUVTVEFNUERJRkYoREFZLCBDVVJEQVRFKCksIHN0YXJ0X3RpbWUpIDw9IDApIEFORCAoZW5kX3RpbWUgSVMgTlVMTCBPUiBUSU1FU1RBTVBESUZGKERBWSwgZW5kX3RpbWUsIENVUkRBVEUoKSkgPD0gMCknKTsKCQkKCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIF9xdWVyeSgpCgl7CgkJJGRiID0gJHRoaXMtPkdldERiKCk7CgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgpOwoJCSRwYXJhbXMgPSAkdGhpcy0+R2V0UGFyYW1zKCk7CgkJCQoJCSRvcmRlcl9jb2xzID0gYXJyYXkoKTsKCQkkY3VzdG9tX2NvbHMgPSBhcnJheSgpOwoJCSR0aGlzLT5fYXBwZW5kX2ludGVybmFsKCk7CgkJCQkJCgkJLy8gSW5pdCBxdWVyeQoJCSR0aGlzLT5xdWVyeSA9ICdTRUxFQ1QgQS4qIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIEEgCgkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIElCIAoJCQkJCU9OIEEuaXRlbV9pZCA9IElCLml0ZW1faWQgCgkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgQiAKCQkJCQlPTiBJQi5jYXRlZ29yeV9pZCA9IEIuY2F0ZWdvcnlfaWQgJzsKCQkJCQkJCgkJLy8gTWVyZ2UgZXZlcnl0aGluZyB0byBvbmUgcXVlcnkKCQlpZihjb3VudCgkdGhpcy0+am9pbnMpKQoJCQkkdGhpcy0+cXVlcnkgLj0gaW1wbG9kZSgnICcsICR0aGlzLT5qb2lucyk7CgkJCgkJaWYoY291bnQoJHRoaXMtPndoZXJlKSkKCQkJJHRoaXMtPnF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHRoaXMtPndoZXJlKTsKCgkJJHRoaXMtPnF1ZXJ5IC49ICcgR1JPVVAgQlkgQS5pdGVtX2lkICc7CQkJCgkJCQoJCWlmKGNvdW50KCR0aGlzLT5vcmRlcmJ5KSkgewoJCQoJCQkkdGhpcy0+cXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gaW1wbG9kZSgnLCAnLCAkdGhpcy0+b3JkZXJieSk7CgkJfSBlbHNlIHsKCQkKCQkJJHRoaXMtPnF1ZXJ5IC49ICcgT1JERVIgQlkgQS5wb3NpdGlvbiAnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJyk7CgkJfQoJCQkKCQkvLyBJbml0IHBhcmFtcyBuZWNlc3NhcnkgdG8gZXhlY3V0aW9uCgkJJHBhZ2Vjb3VudCA9IC0xOwoJCSRzdGFydGVsZW1lbnQgPSAwOwoJCSRwYWdlbnVtYmVyID0gJHRoaXMtPkdldFBhZ2VOdW1iZXIoKTsKCQkkcGFnZWxpbWl0ID0gJHRoaXMtPkdldFBhZ2VMaW1pdCgpOwoJCSRzdGFydGVsZW1lbnQgPSAoJHBhZ2VudW1iZXItMSkgKiAkcGFnZWxpbWl0OwoJCQoJCSRyZXMgPSAkZGItPkdldEFycmF5KCR0aGlzLT5xdWVyeSwgJHRoaXMtPnFwYXJhbXMpOwkKCQkkdGhpcy0+dG90YWxjb3VudCA9IGNvdW50KCRyZXMpOwoJCQkKCQlpZihpc3NldCgkcGFyYW1zWydzdGFydCddKSkgewoKCQkJJHRoaXMtPnRvdGFsY291bnQgLT0gKGludCkkcGFyYW1zWydzdGFydCddOwoJCQkkc3RhcnRlbGVtZW50ID0gJHN0YXJ0ZWxlbWVudCArIChpbnQpJHBhcmFtc1snc3RhcnQnXTsKCQl9CgoJCSR0aGlzLT5wYWdlY291bnQgPSAoaW50KSgkdGhpcy0+dG90YWxjb3VudCAvICRwYWdlbGltaXQpOwoJCWlmKCgkdGhpcy0+dG90YWxjb3VudCAlICRwYWdlbGltaXQpICE9IDApICR0aGlzLT5wYWdlY291bnQrKzsKCgkJJHRoaXMtPnJlc3VsdHNldCA9ICRkYi0+U2VsZWN0TGltaXQoJHRoaXMtPnF1ZXJ5LCAkcGFnZWxpbWl0LCAkc3RhcnRlbGVtZW50LCAkdGhpcy0+cXBhcmFtcyk7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIENsYXNzIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglzdGF0aWMgcHJpdmF0ZSBmdW5jdGlvbiBleHBsb2RlX29yZGVyYnkoJHBhcmFtLCAkdmFsaWRfY29scyl7CgkKCQkkb3JkZXJfY29scyA9IGFycmF5KCk7CgkJJGN1c3RvbV9jb2xzID0gYXJyYXkoKTsKCQkkaW5kZXggPSAwOwoJCQoJCWZvcmVhY2goZXhwbG9kZSgnLCcsICRwYXJhbSkgYXMgJGNvbCkgewoJCQoJCQkkY29sID0gdHJpbSgkY29sKTsKCQkJJGNvbF9wYXJ0cyA9IGV4cGxvZGUoJ3wnLCAkY29sKTsKCQoJCQkvLyBjb2x1bW4gbmFtZQoJCQkkY29sX25hbWUgPSAkY29sX3BhcnRzWzBdOwoJCQkkY29sX29yZGVyID0gJ0FTQyc7CgkKCQkJLy8gb3JkZXIgY29sdW1uIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nCgkJCWlmKGlzc2V0KCRjb2xfcGFydHNbMV0pKSB7CgkJCQkKCQkJCSRjb2xfb3JkZXIgPSAoaW5fYXJyYXkoJGNvbF9wYXJ0c1sxXSwgYXJyYXkoJ0FTQycsICdERVNDJykpID8gJGNvbF9wYXJ0c1sxXSA6ICdBU0MnKTsKCQkJfQoJCgkJCSRjb2xfb3JkZXIgPSAoaW5fYXJyYXkoJGNvbF9vcmRlciwgYXJyYXkoJ0FTQycsICdERVNDJykpID8gJGNvbF9vcmRlciA6ICdBU0MnKTsKCQoJCQlpZihpc3NldCgkdmFsaWRfY29sc1skY29sX25hbWVdKSkgewoJCQkKCQkJCSRvcmRlcl9jb2xzWyRpbmRleF0gPSAkdmFsaWRfY29sc1skY29sX25hbWVdIC4gJyAnIC4gJGNvbF9vcmRlcjsKCQkJfSAKCQkJZWxzZWlmIChzdGFydHN3aXRoKCRjb2xfbmFtZSwgJ2N1c3RvbV8nKSkgewoJCQkJCgkJCQkkY3VzdG9tX25hbWUgPSBzdWJzdHIoJGNvbF9uYW1lLCA3KTsKCQkJCSRvYmogPSBuZXcgc3RkQ2xhc3M7CgkJCQkkb2JqLT5uYW1lID0gJGN1c3RvbV9uYW1lOwoJCQkJJG9iai0+b3JkZXIgPSAkY29sX29yZGVyOwoJCQkJCgkJCQkkY3VzdG9tX2NvbHNbJGluZGV4XSA9ICRvYmo7CgkJCX0KCQkJCgkJCSRpbmRleCsrOwoJCX0KCQkJCgkJcmV0dXJuIGFycmF5KCRvcmRlcl9jb2xzLCAkY3VzdG9tX2NvbHMpOwoJfQkJCgkKCXByaXZhdGUgZnVuY3Rpb24gX2dldF9zdWJjYXRlZ29yaWVzKCYkc3RyLCAkYWxpYXMpCgl7CgkJJGRiID0gJHRoaXMtPkdldERiKCk7CgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgpOwkKCQoJCSRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2FsaWFzID0gPyI7CgkJJHN1YmNhdCA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGFsaWFzKSk7CgkJCgkJaWYoISRzdWJjYXQpCgkJCXJldHVybiBGQUxTRTsKCQkJCgkJJHN0ciAuPSAiIE9SIEIucGFyZW50X2lkID0gJyIgLiAkc3ViY2F0IC4gIiciOwoJCQoJCSRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfYWxpYXMgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3J5IFdIRVJFIHBhcmVudF9pZCA9ID8iOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkc3ViY2F0KSk7CgkJCgkJd2hpbGUoJGRiciAmJiAhJGRici0+RU9GKSB7CgoJCQkkdGhpcy0+X2dldF9zdWJjYXRlZ29yaWVzKCRzdHIsICRkYnItPmZpZWxkc1snY2F0ZWdvcnlfYWxpYXMnXSk7CgkJCSRkYnItPk1vdmVOZXh0KCk7CgkJfQoKCQlpZigkZGJyKSAKCQkJJGRici0+Q2xvc2UoKTsJCQkKCQkKCX0JCgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+CQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Query.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgphYnN0cmFjdCBjbGFzcyBMaXN0SXQyUXVlcnkKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBDb25zdGFudHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQoJY29uc3QgVkFSVFlQRV9KT0lOUyAJPSAnam9pbnMnOwoJY29uc3QgVkFSVFlQRV9XSEVSRSAJPSAnd2hlcmUnOwoJY29uc3QgVkFSVFlQRV9PUkRFUkJZIAk9ICdvcmRlcmJ5JzsKCWNvbnN0IFZBUlRZUEVfUVBBUkFNUyAJPSAncXBhcmFtcyc7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSAkX3BhcmFtczsKCXByaXZhdGUgJF9pbnN0YW5jZTsKCXByaXZhdGUgJF9kYjsKCglwcm90ZWN0ZWQgJGpvaW5zOwoJcHJvdGVjdGVkICR3aGVyZTsKCXByb3RlY3RlZCAkb3JkZXJieTsKCXByb3RlY3RlZCAkcXBhcmFtczsKCglwcm90ZWN0ZWQgJHF1ZXJ5OyAvLyBOb3Qgc2V0CQoJcHJvdGVjdGVkICRyZXN1bHRzZXQ7IC8vIE5vdCBzZXQKCXByb3RlY3RlZCAkdG90YWxjb3VudDsgLy8gTm90IHNldAoJcHJvdGVjdGVkICRwYWdlY291bnQ7IC8vIE5vdCBzZXQKCQoJLy9wcm90ZWN0ZWQgc3RhdGljICRfYWxsb3dlZF9wYXJhbXMgPSBhcnJheSgpOwkKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoTGlzdEl0MiAmJG1vZCwgJiRwYXJhbXMpCgl7CgkJJHRoaXMtPl9kYiAJCQk9IGNtc21zKCktPkdldERiKCk7CQoJCSR0aGlzLT5faW5zdGFuY2UgCT0gJG1vZDsKCQkkdGhpcy0+X3BhcmFtcyAJCT0gJHBhcmFtczsKCQkKCQkkdGhpcy0+am9pbnMgCQk9IGFycmF5KCk7CgkJJHRoaXMtPndoZXJlIAkJPSBhcnJheSgpOwoJCSR0aGlzLT5vcmRlcmJ5IAkJPSBhcnJheSgpOwoJCSR0aGlzLT5xcGFyYW1zIAkJPSBhcnJheSgpOwoJfQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEFic3RyYWN0IG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCWFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBfcXVlcnkoKTsKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBVdGlsaXR5IG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkJCglwcm90ZWN0ZWQgZnVuY3Rpb24gR2V0RGIoKQoJewoJCXJldHVybiAkdGhpcy0+X2RiOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0TW9kdWxlSW5zdGFuY2UoKQoJewoJCXJldHVybiAkdGhpcy0+X2luc3RhbmNlOwoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIEdldFBhcmFtcygpCgl7CgkJcmV0dXJuICR0aGlzLT5fcGFyYW1zOwoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIFNldFBhcmFtKCRrZXksICR2YWx1ZSkKCXsKCQkkdGhpcy0+X3BhcmFtc1ska2V5XSA9ICR2YWx1ZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIEdldFBhcmFtKCRrZXkpCgl7CgkJcmV0dXJuIGlzc2V0KCR0aGlzLT5fcGFyYW1zWyRrZXldKSA/ICR0aGlzLT5fcGFyYW1zWyRrZXldIDogbnVsbDsKCX0KCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgRGF0YWJhc2UgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHVibGljIGZ1bmN0aW9uIEFwcGVuZFRvKCR2YXIsICR2YWx1ZSkKCXsKCQkkdmFyID0gc3RydG9sb3dlcigkdmFyKTsKCQkkdmFsdWUgPSAoc3RyaW5nKSR2YWx1ZTsKCQoJCXN3aXRjaCgkdmFyKSB7CgkJCgkJCWNhc2Ugc2VsZjo6VkFSVFlQRV9KT0lOUzoKCQkJCSR0aGlzLT5qb2luc1tdID0gJHZhbHVlOwoJCQkJYnJlYWs7CgkJCQkKCQkJY2FzZSBzZWxmOjpWQVJUWVBFX1dIRVJFOgoJCQkJJHRoaXMtPndoZXJlW10gPSAkdmFsdWU7CgkJCQlicmVhazsKCgkJCWNhc2Ugc2VsZjo6VkFSVFlQRV9PUkRFUkJZOgoJCQkJJHRoaXMtPm9yZGVyYnlbXSA9ICR2YWx1ZTsKCQkJCWJyZWFrOwoKCQkJY2FzZSBzZWxmOjpWQVJUWVBFX1FQQVJBTVM6CgkJCQkkdGhpcy0+cXBhcmFtc1tdID0gJHZhbHVlOwoJCQkJYnJlYWs7CQkJCQoJCQoJCQlkZWZhdWx0OgoJCQkJdGhyb3cgbmV3IExpc3RJdDJFeGNlcHRpb24oJ0F0dGVtcHQgdG8gc2V0IHVuaWRlbnRpZmllZCBWQVJUWVBFLicpOwoJCX0KCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gRXhlY3V0ZSgkZm9yY2VfZXhlY3V0ZSA9IGZhbHNlKQoJewoJCWlmKCFpc3NldCgkdGhpcy0+cmVzdWx0c2V0KSB8fCAkZm9yY2VfZXhlY3V0ZSkKCQkJJHRoaXMtPl9xdWVyeSgpOwoJCQkKCQlyZXR1cm4gJHRoaXMtPnJlc3VsdHNldDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIFRvdGFsQ291bnQoKQoJewoJCWlmKGlzc2V0KCR0aGlzLT50b3RhbGNvdW50KSkKCQkJcmV0dXJuICR0aGlzLT50b3RhbGNvdW50OwoJCQkKCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIEdldFBhZ2VDb3VudCgpCgl7CgkJaWYoaXNzZXQoJHRoaXMtPnBhZ2Vjb3VudCkpCgkJCXJldHVybiAkdGhpcy0+cGFnZWNvdW50OwoJCQkKCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIEdldFBhZ2VMaW1pdCgpCgl7CgkJaWYoaXNzZXQoJHRoaXMtPl9wYXJhbXNbJ3BhZ2VsaW1pdCddKSkgCgkJCXJldHVybiAoaW50KSR0aGlzLT5fcGFyYW1zWydwYWdlbGltaXQnXTsKCQkJCgkJcmV0dXJuIDEwMDAwMDsJCgl9CQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0UGFnZU51bWJlcigpCgl7CgkJaWYoaXNzZXQoJHRoaXMtPl9wYXJhbXNbJ3BhZ2VudW1iZXInXSkpIAoJCQlyZXR1cm4gKGludCkkdGhpcy0+X3BhcmFtc1sncGFnZW51bWJlciddOwoJCQkKCQlpZihpc3NldCgkdGhpcy0+X3BhcmFtc1sncGFnZSddKSkgCgkJCXJldHVybiAoaW50KSR0aGlzLT5fcGFyYW1zWydwYWdlJ107CQkJCgkJCQoJCXJldHVybiAxOwkKCX0JCgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4J]]></data>
	</file>
	<file>
	  <filename>/lib/class.ListIt2Smarty.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBMaXN0SXQyU21hcnR5IHsKCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIGxvYWRlcigkcGFyYW1zLCAmJHNtYXJ0eSkKCXsKCQkkaXRlbSA9IGlzc2V0KCRwYXJhbXNbJ2l0ZW0nXSkgPyAkcGFyYW1zWydpdGVtJ10gOiAnaXRlbSc7CgkJJGluc3RhbmNlID0gaXNzZXQoJHBhcmFtc1snaW5zdGFuY2UnXSkgPyAkcGFyYW1zWydpbnN0YW5jZSddIDogJHNtYXJ0eS0+Z2V0VGVtcGxhdGVWYXJzKCdhY3Rpb25tb2R1bGUnKTsgLy8gTWFuZGF0b3J5CgkJJGlkZW50aWZpZXIgPSBpc3NldCgkcGFyYW1zWydpZGVudGlmaWVyJ10pID8gJHBhcmFtc1snaWRlbnRpZmllciddIDogbnVsbDsKCQkkdmFsdWUgPSBpc3NldCgkcGFyYW1zWyd2YWx1ZSddKSA/ICRwYXJhbXNbJ3ZhbHVlJ10gOiBudWxsOyAvLyBNYW5kYXRvcnkKCQkkZm9yY2VfYXJyYXkgPSBpc3NldCgkcGFyYW1zWydmb3JjZV9hcnJheSddKSA/IHRydWUgOiBmYWxzZTsKCQkkcmVzdWx0ID0gYXJyYXkoKTsKCgkJaWYoaXNfbnVsbCgkaW5zdGFuY2UpKQoJCQlyZXR1cm4gJ1BhcmFtZXRlciBpbnN0YW5jZSBpcyBub3QgZ2l2ZW4uJzsKCQoJCWlmKGlzX251bGwoJHZhbHVlKSkKCQkJcmV0dXJuICdQYXJhbWV0ZXIgdmFsdWUgaXMgbm90IGdpdmVuLic7CgkJCQoJCS8vIExvYWQgd2FudGVkIGluc3RhbmNlCgkJJGluc3RhbmNlID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJGluc3RhbmNlKTsKCQlpZighJGluc3RhbmNlIGluc3RhbmNlb2YgTElTVElUMikKCQkJcmV0dXJuICdMb2FkZWQgaW5zdGFuY2UgaXMgbm90IExpc3RJdDIgaW5zdGFuY2UuJzsKCQkKCQkvLyBHZXQgbG9hZGVyIGluZm8KCQlzd2l0Y2goJGl0ZW0pIHsKCQkKCQkJY2FzZSAnaXRlbSc6CgkJCQkKCQkJCSRsb2FkZXIgPSAnTG9hZEl0ZW1CeUlkZW50aWZpZXInOwoJCQkJaWYoaXNfbnVsbCgkaWRlbnRpZmllcikpCgkJCQkJJGlkZW50aWZpZXIgPSAnaXRlbV9pZCc7CgkJCQlicmVhazsKCQkJCQoJCQljYXNlICdjYXRlZ29yeSc6CgoJCQkJJGxvYWRlciA9ICdMb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXInOwoJCQkJaWYoaXNfbnVsbCgkaWRlbnRpZmllcikpCgkJCQkJJGlkZW50aWZpZXIgPSAnY2F0ZWdvcnlfaWQnOwkJCQkKCQkJCWJyZWFrOwoJCQkJCgkJCWRlZmF1bHQ6CgkJCQlyZXR1cm4gJ1Vua25vd24gaXRlbSB0eXBlJzsKCgkJfSAvLyBlbmQgc3dpdGNoCgkJCgkJLy9Mb2FkCgkJJHZhbHVlID0gZXhwbG9kZSgnLCcsICR2YWx1ZSk7CgkJZm9yZWFjaCgoYXJyYXkpJHZhbHVlIGFzICRvbmUpIHsKCQkKCQkJJHJlc3VsdFskb25lXSA9ICRpbnN0YW5jZS0+JGxvYWRlcigkaWRlbnRpZmllciwgJG9uZSk7CgkJfQoJCQkKCQkvLyBSZXR1cm4gc2luZ3VsYXIsIGlmIHNpbmd1bGFyICYgZm9yY2UgYXJyYXkgaXMgT2ZmCgkJaWYoY291bnQoJHJlc3VsdCkgPT0gMSAmJiAhJGZvcmNlX2FycmF5KSAJCQoJCQkkcmVzdWx0ID0gJHJlc3VsdFtrZXkoJHJlc3VsdCldOwoJCQkJCgkJLy8gQXNzaWduCgkJaWYoaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwgJHJlc3VsdCk7CQkJCgkJCXJldHVybjsKCQl9CgkKCQlyZXR1cm4gJHJlc3VsdDsKCQkKCX0gLy8gZW5kIG9mIGxvYWRlcigpCgkKfSAvLyBlbmQgb2YgY2xhc3MKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.listit2_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgbGlzdGl0Ml91dGlscyB7CgoJcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiAmYXJyYXlfdG9fb2JqZWN0KCRhcnJheSkKCXsKCQkkb2JqID0gbmV3IFN0ZENsYXNzOwoJCWZvcmVhY2goJGFycmF5IGFzICRrZXk9PiR2YWx1ZSkgewoJCQoJCQkkb2JqLT4ka2V5ID0gJHZhbHVlOwoJCX0KCQkKCQlyZXR1cm4gJG9iajsKCX0KCSAgCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIGNsZWFuX3BhcmFtcygmJHBhcmFtcywgJGxpc3QsICRhY2Nlc3NsaXN0ID0gZmFsc2UpIAoJewoJCgkJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSkgewoJCQoJCQlpZigkYWNjZXNzbGlzdCkgewoKCQkJCWlmKCFpbl9hcnJheSgka2V5LCAoYXJyYXkpJGxpc3QpKSB7CgkJCQkKCQkJCQl1bnNldCgkcGFyYW1zWyRrZXldKTsJCgkJCQl9CQkJCgkJCQoJCQl9IGVsc2UgewoJCQoJCQkJaWYoaW5fYXJyYXkoJGtleSwgKGFycmF5KSRsaXN0KSkgewoJCQkJCgkJCQkJdW5zZXQoJHBhcmFtc1ska2V5XSk7CQoJCQkJfQoJCQkKCQkJfQoJCX0JCgl9CgkKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gaW5pdF92YXIoJHN0cmluZywgJHBhcmFtcywgJGRlZmF1bHQgPSAnJykgCgl7CgkJJHZhciA9ICRkZWZhdWx0OwoKCQlpZihpc3NldCgkcGFyYW1zWyRzdHJpbmddKSkKCQkJJHZhciA9ICRwYXJhbXNbJHN0cmluZ107CgkJCQkJCQoJCXJldHVybiAkdmFyOwoJfQkKCQoJLyoqCgkgKiBHZW5lcmF0ZSBhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkbmFtZSBUaGUgc3RyaW5nIHRoYXQgdGhlIGFsaWFzIHdpbGwgYmUgZ2VuZXJhdGVkIGZyb20KCSAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgdGhlIGFsaWFzCgkgKi8KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVfYWxpYXMoJG5hbWUpCgl7CgkJaWYgKCFpc19zdHJpbmcoJG5hbWUpKQoJCQlyZXR1cm47CgkKCQkkYWxpYXMgPSAkbmFtZTsKCQoJCS8vIHJlcGxhY2UgbXVsdGlwbGUgc3BhY2VzIHdpdGggc2luZ2xlIHVuZGVyc2NvcmUKCQkkYWxpYXMgPSBwcmVnX3JlcGxhY2UoJy8gKy8nLCAnXycsICRhbGlhcyk7CgkKCQkvLyBsZWF2ZSBhbHBoYWJldGljIGNoYXJhY3RlcnMgYW5kIHVuc2NvcmVzLAoJCS8vIHJlcGxhY2UgZXZlcnl0aGluZyBlbHNlIHdpdGggYW4gdW5kZXJzY29yZQoJCSRhbGlhcyA9IHByZWdfcmVwbGFjZSgnL1teYS16QS1aX10vJywgJ18nLCAkYWxpYXMpOwoJCgkJLy8gcmVwbGFjZSBtdWx0aXBsZSB1bmRlcnNjb3JlcyB3aXRoIHNpbmdsZSB1bmRlcnNjb3JlCgkJJGFsaWFzID0gcHJlZ19yZXBsYWNlKCcvXysvJywgJ18nLCAkYWxpYXMpOwoJCgkJLy8gY29udmVydCB0byBsb3dlcmNhc2UKCQkkYWxpYXMgPSBzdHJ0b2xvd2VyKCRhbGlhcyk7CgkKCQkvLyByZW1vdmUgdW5kZXJzY29yZSBmcm9tIHN0YXJ0IGFuZCBlbmQKCQkkYWxpYXMgPSB0cmltKCRhbGlhcywgJ18nKTsKCQoJCXJldHVybiAkYWxpYXM7Cgl9CQoJCgkvKioKCSAqIElzIHZhbGlkIGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHJldHVybiBib29sIFJldHVybnMgdHJ1ZSBpZiBzdHJpbmcgaW4gcXVlc3Rpb24gaXMgYSB2YWxpZCBhbGlhcywgb3IKCSAqIGZhbHNlIG90aGVyd2lzZQoJICovCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIGlzX3ZhbGlkX2FsaWFzKCRhbGlhcykKCXsKCQlpZiAoIWlzX3N0cmluZygkYWxpYXMpKQoJCQlyZXR1cm47CgkKCQkvLyBjaGVjayBhbGlhcwoJCS8vIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vbGFuZ3VhZ2UudmFyaWFibGVzLmJhc2ljcy5waHAKCQlpZiAocHJlZ19tYXRjaCgnL15bYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aMC05X1x4N2YtXHhmZl0qJC8nLCAkYWxpYXMpKSB7CgkJCXJldHVybiB0cnVlOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9CgoJLyoqCgkgKiBIYXMgUHJlZml4CgkgKiBAcGFyYW0gc3RyaW5nICRzdHJpbmcgVGhlIHN0cmluZyBpbiBxdWVzdGlvbgoJICogQHBhcmFtIGFycmF5ICRwcmVmaXggQXJyYXkgb2YgcHJlZml4ZXMgdG8gbWF0Y2ggYWdhaW5zdAoJICogQHJldHVybiBib29sIFJldHVybnMgdHJ1ZSBpZiBwcmVmaXggaXMgZm91bmQsIG9yIGZhbHNlIG90aGVyd2lzZQoJICovCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIGhhc19wcmVmaXgoJHN0cmluZywgJHByZWZpeGVzKQoJewoJCWlmICghaXNfc3RyaW5nKCRzdHJpbmcpKQoJCQlyZXR1cm47CgkJaWYgKCFpc19hcnJheSgkcHJlZml4ZXMpKQoJCQlyZXR1cm47CgkKCQlmb3JlYWNoICgkcHJlZml4ZXMgYXMgJHByZWZpeCkKCQl7CgkJCWlmIChzdHJwb3MoJHN0cmluZywgJHByZWZpeCkgPT09IDApCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoJCgkJcmV0dXJuIGZhbHNlOwoJfQoJCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIGV4cGxvZGVfb3JkZXJieSgkcGFyYW0sICR2YWxpZF9jb2xzKXsKCQoJCSRvcmRlcl9jb2xzID0gYXJyYXkoKTsKCQkkY3VzdG9tX2NvbHMgPSBhcnJheSgpOwoJCSRpbmRleCA9IDA7CgkJCgkJZm9yZWFjaChleHBsb2RlKCcsJywgJHBhcmFtKSBhcyAkY29sKSB7CgkJCgkJCSRjb2wgPSB0cmltKCRjb2wpOwoJCQkkY29sX3BhcnRzID0gZXhwbG9kZSgnfCcsICRjb2wpOwoJCgkJCS8vIGNvbHVtbiBuYW1lCgkJCSRjb2xfbmFtZSA9ICRjb2xfcGFydHNbMF07CgkJCSRjb2xfb3JkZXIgPSAnQVNDJzsKCQoJCQkvLyBvcmRlciBjb2x1bW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcKCQkJaWYoaXNzZXQoJGNvbF9wYXJ0c1sxXSkpIHsKCQkJCQoJCQkJJGNvbF9vcmRlciA9IChpbl9hcnJheSgkY29sX3BhcnRzWzFdLCBhcnJheSgnQVNDJywgJ0RFU0MnKSkgPyAkY29sX3BhcnRzWzFdIDogJ0FTQycpOwoJCQl9CgkKCQkJJGNvbF9vcmRlciA9IChpbl9hcnJheSgkY29sX29yZGVyLCBhcnJheSgnQVNDJywgJ0RFU0MnKSkgPyAkY29sX29yZGVyIDogJ0FTQycpOwoJCgkJCWlmKGlzc2V0KCR2YWxpZF9jb2xzWyRjb2xfbmFtZV0pKSB7CgkJCQoJCQkJJG9yZGVyX2NvbHNbJGluZGV4XSA9ICR2YWxpZF9jb2xzWyRjb2xfbmFtZV0gLiAnICcgLiAkY29sX29yZGVyOwoJCQl9IAoJCQllbHNlaWYgKHN0YXJ0c3dpdGgoJGNvbF9uYW1lLCAnY3VzdG9tXycpKSB7CgkJCQkKCQkJCSRjdXN0b21fbmFtZSA9IHN1YnN0cigkY29sX25hbWUsIDcpOwoJCQkJJG9iaiA9IG5ldyBzdGRDbGFzczsKCQkJCSRvYmotPm5hbWUgPSAkY3VzdG9tX25hbWU7CgkJCQkkb2JqLT5vcmRlciA9ICRjb2xfb3JkZXI7CgkJCQkKCQkJCSRjdXN0b21fY29sc1skaW5kZXhdID0gJG9iajsKCQkJfQoJCQkKCQkJJGluZGV4Kys7CgkJfQoJCQkKCQlyZXR1cm4gYXJyYXkoJG9yZGVyX2NvbHMsICRjdXN0b21fY29scyk7Cgl9CQoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/listit2-globals.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQmFja2VuZCAqLwpkaXYubGlzdGl0Mi1hZG1pbi13cmFwcGVyIGF7CgoJb3V0bGluZTogbm9uZTsKfQoKLyogYWpheCBsb2FkZXJzICovCi5hamF4LWxvYWRlci10eXBlLTE2IHsKCgl3aWR0aDogMTZweDsKCWhlaWdodDogMTZweDsKCWJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktYW5pbV9iYXNpY18xNngxNi5naWYpIG5vLXJlcGVhdDsKfQoKLmFqYXgtbG9hZGVyLXR5cGUtd2lkZSB7CgoJbWFyZ2luLXRvcDogMTVweDsKCXdpZHRoOiAxMjhweDsKCWhlaWdodDogMTVweDsKCWJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbW9kdWxldWkvYWpheC1sb2FkZXItd2lkZS5naWYpIG5vLXJlcGVhdDsKfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/admin.Categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc3VidHlwZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc3VidHlwZV9oZWxwJyl9PC9lbT48YnIgLz4KCQl7aHRtbF9vcHRpb25zIG5hbWU9ImAkYWN0aW9uaWRgY3VzdG9tX2lucHV0W3N1YnR5cGVdIiBvcHRpb25zPSRmaWVsZGRlZi0+U3ViVHlwZXMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyl9Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NlcGFyYXRvcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2VwYXJhdG9yX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtzZXBhcmF0b3JdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NlcGFyYXRvcicpfSIgLz4KCTwvcD4JCjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2NvbHVtbnMnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2NvbHVtbnNfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2NvbHVtbnNdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2NvbHVtbnMnLCAxKX0iIC8+Cgk8L3A+CQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/listit2eh.Categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBsaXN0aXQyZWhfQ2F0ZWdvcmllcyBleHRlbmRzIExpc3RJdDJFdmVudEhhbmRsZXJCYXNlCnsKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMaXN0SXQyRmllbGRkZWZCYXNlICYkZmllbGQpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZmllbGQpOwoJfQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIERhdGFiYXNlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCS8qKgoJICogTGlzdEl0MiBGaWVsZCBEYXRhYmFzZSBTYXZlIG1ldGhvZAoJICoKCSAqIEBwYWNrYWdlIExpc3RJdDIKCSAqIEBzaW5jZSAxLjQtYmV0YTIKCSAqIEByZXR1cm4gdm9pZAoJICovCQoJcHVibGljIGZ1bmN0aW9uIE9uSXRlbVNhdmUoTGlzdEl0MiAmJG1vZCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJJHF1ZXJ5ICA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fY2F0ZWdvcmllcyBXSEVSRSBpdGVtX2lkID0gPyc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5HZXRQYXJlbnRJdGVtKCktPml0ZW1faWQpKTsKCgkJJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fY2F0ZWdvcmllcyAoaXRlbV9pZCwgY2F0ZWdvcnlfaWQpIFZBTFVFUyAoPyw/KSc7CgoJCWlmKGNvdW50KCR0aGlzLT5HZXRWYWx1ZSgpKSkgewoJCQoJCQlmb3JlYWNoICgkdGhpcy0+R2V0VmFsdWUoKSBhcyAkY2F0ZWdvcnlfaWQpIHsJCQoJCQoJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5HZXRQYXJlbnRJdGVtKCktPml0ZW1faWQsICRjYXRlZ29yeV9pZCkpOwoKCQkJCWlmICghJHJlc3VsdCkKCQkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoJCQl9CgkJfQoJfQoJCgkvKioKCSAqIExpc3RJdDIgRmllbGQgRGF0YWJhc2UgTG9hZCBtZXRob2QKCSAqCgkgKiBAcGFja2FnZSBMaXN0SXQyCgkgKiBAc2luY2UgMS40LWJldGEyCgkgKiBAcmV0dXJuIHZvaWQKCSAqLwkJCglwdWJsaWMgZnVuY3Rpb24gT25JdGVtTG9hZChMaXN0SXQyICYkbW9kKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkkcXVlcnkgPSAnU0VMRUNUIEIuY2F0ZWdvcnlfaWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IEIgCgkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIElCIAoJCQkJCU9OIEIuY2F0ZWdvcnlfaWQgPSBJQi5jYXRlZ29yeV9pZCAKCQkJCQlXSEVSRSBJQi5pdGVtX2lkID0gPyAKCQkJCQlBTkQgQi5hY3RpdmUgPSAxJzsJCQkKCQkKCQkkdGhpcy0+U2V0VmFsdWUoJGRiLT5HZXRDb2woJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0UGFyZW50SXRlbSgpLT5pdGVtX2lkKSkpOwoJfQkKCQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4J]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/listit2fd.Categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPg0KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkNCiMNCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPg0KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQ0KIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5DQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgbGlzdGl0MmZkX0NhdGVnb3JpZXMgZXh0ZW5kcyBMaXN0SXQyRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbywgJGNhbGxlcl9vYmplY3QpIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8sICRjYWxsZXJfb2JqZWN0KTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2NhdGVnb3JpZXMnKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBJc1VuaXF1ZSgpDQoJew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFJlbmRlcklucHV0KCRpZCwgJHJldHVybmlkKQ0KCXsNCgkJJHR5cGUgPSAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ3N1YnR5cGUnLCAnRHJvcGRvd24nKTsNCgkJJG9iaiA9IExpc3RJdDJGaWVsZGRlZk9wZXJhdGlvbnM6OkxvYWRGaWVsZGRlZkJ5VHlwZSgkdHlwZSk7DQoJCQ0KCQlpZihpc19vYmplY3QoJG9iaikpDQoJCQlyZXR1cm4gJG9iai0+UmVuZGVySW5wdXQoJGlkLCAkcmV0dXJuaWQpOw0KCQkJDQoJCXJldHVybiBmYWxzZTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFJlbmRlckZvckFkbWluTGlzdGluZygkaWQsICRyZXR1cm5pZCkNCgl7DQoJCSRtb2QgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UodHJ1ZSk7DQoJCSRpZF9saXN0ID0gJHRoaXMtPkdldFZhbHVlKHBhcmVudDo6VFlQRV9BUlJBWSk7DQoJCQ0KCQkkb3V0cHV0ID0gTGlzdEl0MkNhdGVnb3J5T3BlcmF0aW9uczo6R2V0Q2F0ZWdvcnlOYW1lRnJvbUlkKCRtb2QsICRpZF9saXN0KTsNCgkJDQoJCXJldHVybiBpbXBsb2RlKCcsICcsICRvdXRwdXQpOw0KCX0JDQoJDQoJcHVibGljIGZ1bmN0aW9uIEdldE9wdGlvbnMoKQ0KCXsJCQkNCgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSh0cnVlKTsNCgkJJHR5cGUgPSAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ3N1YnR5cGUnLCAnRHJvcGRvd24nKTsNCgkJJGNhdGVnb3JpZXMgPSBMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpHZXRIaWVyYXJjaHlMaXN0KCRtb2QpOw0KDQoJCWlmKCR0eXBlID09ICdNdWx0aVNlbGVjdCcgfHwgJHR5cGUgPT0gJ0NoZWNrYm94R3JvdXAnKQ0KCQkJYXJyYXlfc2hpZnQoJGNhdGVnb3JpZXMpOw0KDQoJCXJldHVybiBhcnJheV9mbGlwKCRjYXRlZ29yaWVzKTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gU3ViVHlwZXMoKQ0KCXsNCiAgICAgICAgcmV0dXJuIGFycmF5KA0KICAgICAgICAgICAgJ0Ryb3Bkb3duJyA9PiAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfRHJvcGRvd24nKSwNCiAgICAgICAgICAgICdNdWx0aVNlbGVjdCcgPT4gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX011bHRpU2VsZWN0JyksDQogICAgICAgICAgICAnUmFkaW9Hcm91cCcgPT4gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX1JhZGlvR3JvdXAnKSwNCiAgICAgICAgICAgICdDaGVja2JveEdyb3VwJyA9PiAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfQ2hlY2tib3hHcm91cCcpDQogICAgICAgICk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBTZXBhcmF0b3IoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyk7CQ0KCX0JDQoNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/input.Checkbox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIwIiAvPgoJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldFZhbHVlKCJzdHJpbmciKX0gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgkJCgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/listit2fd.Checkbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfQ2hlY2tib3ggZXh0ZW5kcyBMaXN0SXQyRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbywgJGNhbGxlcl9vYmplY3QpIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8sICRjYWxsZXJfb2JqZWN0KTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGUoJiRlcnJvcnMpIA0KCXsNCgkJaWYoJHRoaXMtPkdldFZhbHVlKCJzdHJpbmciKSA9PSAwICYmICR0aGlzLT5Jc1JlcXVpcmVkKCkpIHsNCgkNCgkJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdyZXF1aXJlZF9maWVsZF9lbXB0eScpIC4gJyAoJyAuICR0aGlzLT5HZXROYW1lKCkgLiAnKSc7DQoJCX0NCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gUmVuZGVyRm9yQWRtaW5MaXN0aW5nKCRpZCwgJHJldHVybmlkKQ0KCXsNCgkNCgkJJG91dHB1dCA9ICc8ZGl2IGNsYXNzPSJpbml0LWFqYXgtdG9nZ2xlIj4nOw0KCQ0KCQkkYWRtaW50aGVtZSA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOwkNCgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSh0cnVlKTsNCgkNCgkJaWYgKCR0aGlzLT5HZXRWYWx1ZSgic3RyaW5nIikpIHsNCg0KCQkJJG91dHB1dCAuPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX3RvZ2dsZWZpZWxkZGVmdmFsdWUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICcnLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KA0KCQkJCSdmaWVsZGRlZl9pZCcgPT4gJHRoaXMtPkdldElkKCksDQoJCQkJJ2l0ZW1faWQnID0+ICR0aGlzLT5HZXRJdGVtSWQoKSwNCgkJCQkndmFsdWUnID0+IDANCgkJCSkpOwkJDQoJCX0gDQoJCWVsc2Ugew0KCQkNCgkJCSRvdXRwdXQgLj0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZnZhbHVlJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJycsICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoDQoJCQkJJ2ZpZWxkZGVmX2lkJyA9PiAkdGhpcy0+R2V0SWQoKSwNCgkJCQknaXRlbV9pZCcgPT4gJHRoaXMtPkdldEl0ZW1JZCgpLA0KCQkJCSd2YWx1ZScgPT4gMQ0KCQkJKSk7CQ0KCQl9CQ0KCQkNCgkJJG91dHB1dCAuPSAnPC9kaXY+JzsNCgkJDQoJCXJldHVybiAkb3V0cHV0Ow0KCX0JDQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/admin.CheckboxGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdzZXBhcmF0b3InKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3NlcGFyYXRvcl9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2VwYXJhdG9yXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzZXBhcmF0b3InKX0iIC8+CiAgICA8L3A+CQo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdjb2x1bW5zJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9jb2x1bW5zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtjb2x1bW5zXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdjb2x1bW5zJywgMSl9IiAvPgogICAgPC9wPgkKPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgkKICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZW5hYmxlX2pxdWknKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2VuYWJsZV9qcXVpX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2pxdWlfYnV0dG9uc10iIHZhbHVlPSIwIiAvPgogICAgCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbanF1aV9idXR0b25zXSIgdmFsdWU9IjEie2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2pxdWlfYnV0dG9ucycpID09IDF9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KICAgIDwvcD4JCjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/input.CheckboxGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KCQl7aWYgJGZpZWxkZGVmLT5HZXREZXNjKCl9KHskZmllbGRkZWYtPkdldERlc2MoKX0pPGJyIC8+ey9pZn0KCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XSIgdmFsdWU9IiIgLz4KCQkKCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnanF1aV9idXR0b25zJykgPT0gJzEnfQoJCTxkaXYgY2xhc3M9Imxpc3RpdDItY2hlY2tib3gtYnV0dG9ucyIgaWQ9InskYWN0aW9uaWR9Y3VzdG9tZmllbGR7JGZpZWxkZGVmLT5HZXRJZCgpfS1jaGVja2JveGVzIj4KCQl7Zm9yZWFjaCAkZmllbGRkZWYtPkdldE9wdGlvbnMoKSBhcyAkdmFsdWUgPT4gJG9wdGlvbn0KCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XVtdIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV17JG9wdGlvbkBpdGVyYXRpb259IiB2YWx1ZT0ieyR2YWx1ZX0ie2lmIGluX2FycmF5KCR2YWx1ZSwgJGZpZWxkZGVmLT5HZXRWYWx1ZSgiYXJyYXkiKSl9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KCQkJPGxhYmVsIGZvcj0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV17JG9wdGlvbkBpdGVyYXRpb259Ij57JG9wdGlvbn08L2xhYmVsPgoJCXsvZm9yZWFjaH0KCQk8L2Rpdj4KCQkKCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7CgkJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkeyRmaWVsZGRlZi0+R2V0SWQoKX0tY2hlY2tib3hlcyIpLmJ1dHRvbnNldCgpOwkKCQl9KTsKCQk8L3NjcmlwdD4KCQkKCQl7ZWxzZX0KCQkKCQl7aHRtbF9jaGVja2JveGVzIG5hbWU9ImAkYWN0aW9uaWRgY3VzdG9tZmllbGRbYCRmaWVsZGRlZi0+R2V0SWQoKWBdIiBvcHRpb25zPSRmaWVsZGRlZi0+R2V0T3B0aW9ucygpIHNlbGVjdGVkPSRmaWVsZGRlZi0+R2V0VmFsdWUoImFycmF5Iikgc2VwYXJhdG9yPSRmaWVsZGRlZi0+U2VwYXJhdG9yKCkgYXNzaWduPSdsaTJib3hlcyd9CgkJe21hdGggZXF1YXRpb249J3gveScgeD0kbGkyYm94ZXN8Y291bnQgeT0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdjb2x1bW5zJywgMSkgYXNzaWduPSdjb3VudGVyJ30KCgkJPHVsIGNsYXNzPSJsaXN0aXQyLWNvbHVtbi1saXN0Ij4KCQl7Zm9yZWFjaCBmcm9tPSRsaTJib3hlcyBpdGVtPSdib3gnfQoJCQl7aWYgJGJveEBmaXJzdH08bGk+e2Vsc2VpZiAkYm94QGluZGV4ICUgJGNvdW50ZXJ8Y2VpbCA9PSAwfTwvbGk+PGxpPnsvaWZ9CgkJCXskYm94fQoJCQl7aWYgJGJveEBsYXN0fTwvbGk+ey9pZn0KCQl7L2ZvcmVhY2h9CgkJPC91bD4KCQkKCQl7L2lmfQoJPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/listit2fd.CheckboxGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfQ2hlY2tib3hHcm91cCBleHRlbmRzIExpc3RJdDJGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0T3B0aW9ucygpDQoJew0KCQkkb3B0aW9ucyA9ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnb3B0aW9ucycpOw0KCQkkbGlzdCA9IGV4cGxvZGUoIlxuIiwgJG9wdGlvbnMpOw0KCQkNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsaXN0IGFzICRvcHRpb24pIHsNCgkJDQoJCQkkb3B0aW9uID0gZXhwbG9kZSgiPSIsICRvcHRpb24sIDIpOw0KCQkJaWYoY291bnQoJG9wdGlvbikgPiAxKSB7DQoJCQkJJG9wdGlvbnNbdHJpbSgkb3B0aW9uWzFdKV0gPSB0cmltKCRvcHRpb25bMF0pOw0KCQkJfSBlbHNlIHsNCgkJCQkkb3B0aW9uc1t0cmltKCRvcHRpb25bMF0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJG9wdGlvbnM7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBTZXBhcmF0b3IoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyk7CQ0KCX0JDQoJCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/admin.ContentPages.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc3VidHlwZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc3VidHlwZV9oZWxwJyl9PC9lbT48YnIgLz4KCQl7aHRtbF9vcHRpb25zIG5hbWU9ImAkYWN0aW9uaWRgY3VzdG9tX2lucHV0W3N1YnR5cGVdIiBvcHRpb25zPSRmaWVsZGRlZi0+U3ViVHlwZXMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyl9Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NlcGFyYXRvcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2VwYXJhdG9yX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtzZXBhcmF0b3JdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NlcGFyYXRvcicpfSIgLz4KCTwvcD4JCjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2NvbHVtbnMnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2NvbHVtbnNfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2NvbHVtbnNdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2NvbHVtbnMnLCAxKX0iIC8+Cgk8L3A+CQo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3Nob3dhbGwnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3Nob3dhbGxfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2hvd2FsbF0iIHZhbHVlPSIwIiAvPgoJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2hvd2FsbF0iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaG93YWxsJyl9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/listit2fd.ContentPages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPg0KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkNCiMNCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPg0KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQ0KIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5DQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgbGlzdGl0MmZkX0NvbnRlbnRQYWdlcyBleHRlbmRzIExpc3RJdDJGaWVsZGRlZkJhc2UNCnsNCglwcml2YXRlICRfbGkyOw0KDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nLiR0aGlzLT5HZXRUeXBlKCkpKTsNCgkJDQoJCSR0aGlzLT5fbGkyID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoTElTVElUMik7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJJbnB1dCgkaWQsICRyZXR1cm5pZCkNCgl7DQoJCSR0eXBlID0gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyk7DQoJCSRvYmogPSBMaXN0SXQyRmllbGRkZWZPcGVyYXRpb25zOjpMb2FkRmllbGRkZWZCeVR5cGUoJHR5cGUpOw0KCQkNCgkJaWYoaXNfb2JqZWN0KCRvYmopKQ0KCQkJcmV0dXJuICRvYmotPlJlbmRlcklucHV0KCRpZCwgJHJldHVybmlkKTsNCgkJCQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQkkbWFuYWdlciA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCgkJJGlkX2xpc3QgPSAkdGhpcy0+R2V0VmFsdWUocGFyZW50OjpUWVBFX0FSUkFZKTsNCgkJJHVzZV9uYW1lID0gZ2V0X3NpdGVfcHJlZmVyZW5jZSgnbGlzdGNvbnRlbnRfc2hvd3RpdGxlJyx0cnVlKTsNCgkJDQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRpZF9saXN0IGFzICRvbmVpZCkgew0KCQkNCgkJCSRub2RlID0gJG1hbmFnZXItPmZpbmRfYnlfdGFnKCdpZCcsICRvbmVpZCk7DQoJCQkNCgkJCWlmKCRub2RlKSB7DQoJCQkJJGNvbnRlbnQgPSAkbm9kZS0+Z2V0Q29udGVudChGQUxTRSwgRkFMU0UsIEZBTFNFKTsNCgkJCQ0KCQkJCWlmKCRjb250ZW50KSB7DQoJCQkJCQ0KCQkJCQkkdHh0ID0gJHVzZV9uYW1lID8gJGNvbnRlbnQtPk5hbWUoKSA6ICRjb250ZW50LT5NZW51VGV4dCgpOw0KCQkJCQkkb3V0cHV0W10gPSAkdHh0Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuIGltcGxvZGUoJywgJywgJG91dHB1dCk7DQoJfQkNCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0T3B0aW9ucygpDQoJew0KCQkkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQoJCQkJDQoJCSRyZXN1bHQgPSBhcnJheSgpOw0KCQkkdXNlcmlkID0gZ2V0X3VzZXJpZCgpOw0KCQkkdHlwZSA9ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc3VidHlwZScsICdEcm9wZG93bicpOw0KCQkkc2hvd19hbGwgPSAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ3Nob3dhbGwnKSA/IHRydWUgOiBmYWxzZTsJCQ0KCQkkdXNlX25hbWUgPSBnZXRfc2l0ZV9wcmVmZXJlbmNlKCdsaXN0Y29udGVudF9zaG93dGl0bGUnLHRydWUpOw0KCQkkYWxsY29udGVudCA9ICRjb250ZW50b3BzLT5HZXRBbGxDb250ZW50KGZhbHNlKTsNCgkJDQoJCWlmICgkYWxsY29udGVudCAhPT0gRkFMU0UgJiYgY291bnQoJGFsbGNvbnRlbnQpID4gMCkgew0KCQkgIA0KCQkJaWYoJHR5cGUgPT0gJ0Ryb3Bkb3duJyB8fCAkdHlwZSA9PSAnUmFkaW9Hcm91cCcpDQoJCQkJJHJlc3VsdFstMV0gPSBsYW5nKCdub25lJyk7DQoJCQkgIA0KCQkJZm9yZWFjaCAoJGFsbGNvbnRlbnQgYXMgJG9uZSkgew0KCQkJDQoJCQkJLy8gQ2hlY2sgaWYgb2JqZWN0IGlzIHZhbGlkDQoJCQkJaWYoIWlzX29iamVjdCgkb25lKSkgDQoJCQkJCWNvbnRpbnVlOw0KCQkJCQkNCgkJCQkvLyBJZiBpdCBkb2Vzbid0IGhhdmUgYSB2YWxpZCBsaW5rLi4uDQoJCQkJLy8gZG9uJ3QgaW5jbHVkZSBpdC4NCgkJCQlpZighJG9uZS0+SGFzVXNhYmxlTGluaygpKQ0KCQkJCQljb250aW51ZTsNCgkJCQkJDQoJCQkJLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIHVzZXJpZC4uLiBvbmx5IGluY2x1ZGUgcGFnZXMgd2hlcmUgdGhpcyB1c2VyDQoJCQkJLy8gaGFzIHdyaXRlIGFjY2Vzcy4uLiBvciBpcyBhbiBhZG1pbiB1c2VyLi4uIG9yIGhhcyBhcHByb3ByaWF0ZSBwZXJtaXNzaW9uLg0KCQkJCWlmKCEkc2hvd19hbGwgJiYgIWNoZWNrX3Blcm1pc3Npb24oJHVzZXJpZCwnTWFuYWdlIEFsbCBDb250ZW50JykgJiYgIWNoZWNrX2F1dGhvcnNoaXAoJHVzZXJpZCwgJG9uZS0+SWQoKSkpDQoJCQkJCWNvbnRpbnVlOw0KCQkJCQkJCQkNCgkJCQkvLyBEb24ndCBpbmNsdWRlIGNvbnRlbnQgdHlwZXMgdGhhdCBkbyBub3Qgd2FudCBjaGlsZHJlbiBlaXRoZXIuLi4NCgkJCQlpZiAoISRvbmUtPldhbnRzQ2hpbGRyZW4oKSkgDQoJCQkJCWNvbnRpbnVlOw0KCQkJCQ0KCQkJCS8vIEVsc2UgYXBwZW5kIHRvIGFycmF5Lg0KCQkJCSR0eHQgPSAkdXNlX25hbWUgPyAkb25lLT5OYW1lKCkgOiAkb25lLT5NZW51VGV4dCgpOw0KCQkJCSRyZXN1bHRbJG9uZS0+SWQoKV0gPSAkb25lLT5IaWVyYXJjaHkoKSAuICcuIC0gJyAuICR0eHQ7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJHJlc3VsdDsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gU3ViVHlwZXMoKQ0KCXsNCiAgICAgICAgcmV0dXJuIGFycmF5KA0KICAgICAgICAgICAgJ0Ryb3Bkb3duJyA9PiAkdGhpcy0+X2xpMi0+TW9kTGFuZygnZmllbGRkZWZfRHJvcGRvd24nKSwNCiAgICAgICAgICAgICdNdWx0aVNlbGVjdCcgPT4gJHRoaXMtPl9saTItPk1vZExhbmcoJ2ZpZWxkZGVmX011bHRpU2VsZWN0JyksDQogICAgICAgICAgICAnUmFkaW9Hcm91cCcgPT4gJHRoaXMtPl9saTItPk1vZExhbmcoJ2ZpZWxkZGVmX1JhZGlvR3JvdXAnKSwNCiAgICAgICAgICAgICdDaGVja2JveEdyb3VwJyA9PiAkdGhpcy0+X2xpMi0+TW9kTGFuZygnZmllbGRkZWZfQ2hlY2tib3hHcm91cCcpDQogICAgICAgICk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBTZXBhcmF0b3IoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyk7CQ0KCX0JDQoNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/admin.Dropdown.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/input.Dropdown.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJe2h0bWxfb3B0aW9ucyBuYW1lPSJgJGFjdGlvbmlkYGN1c3RvbWZpZWxkW2AkZmllbGRkZWYtPkdldElkKClgXSIgb3B0aW9ucz0kZmllbGRkZWYtPkdldE9wdGlvbnMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldFZhbHVlKCl9Cgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/listit2fd.Dropdown.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfRHJvcGRvd24gZXh0ZW5kcyBMaXN0SXQyRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nLiR0aGlzLT5HZXRUeXBlKCkpKTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIEdldE9wdGlvbnMoKQ0KCXsNCgkJJG9wdGlvbnMgPSAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKTsNCgkJJGxpc3QgPSBleHBsb2RlKCJcbiIsICRvcHRpb25zKTsNCgkJDQoJCSRvcHRpb25zID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkbGlzdCBhcyAkb3B0aW9uKSB7DQoJCQ0KCQkJJG9wdGlvbiA9IGV4cGxvZGUoIj0iLCAkb3B0aW9uLCAyKTsNCgkJCWlmKGNvdW50KCRvcHRpb24pID4gMSkgew0KCQkJCSRvcHRpb25zW3RyaW0oJG9wdGlvblsxXSldID0gdHJpbSgkb3B0aW9uWzBdKTsNCgkJCX0gZWxzZSB7DQoJCQkJJG9wdGlvbnNbdHJpbSgkb3B0aW9uWzBdKV0gPSB0cmltKCRvcHRpb25bMF0pOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuICRvcHRpb25zOw0KCX0NCgkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/admin.FileUpload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnYWxsb3dlZCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfYWxsb3dfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2FsbG93ZWRdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2FsbG93ZWQnLCAncGRmLGdpZixqcGVnLGpwZycpfSIgLz4KCTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdkaXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2Rpcl9oZWxwJyl9PC9lbT48YnIgLz4KCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbZGlyXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkaXInLCdpbWFnZXMnKX0iIC8+Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfaW1hZ2UnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX21lZGlhX3R5cGVfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbaW1hZ2VdIiB2YWx1ZT0iMCIgLz4KCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2ltYWdlXSIgdmFsdWU9IjEie2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2ltYWdlJyl9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgoJPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NpemUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3NpemVfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3NpemVdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnLCAyMCl9IiAvPgogICAgPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/input.FileUpload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJe2lmICRmaWVsZGRlZi0+SGFzVmFsdWUoKX08ZW0+eyRtb2QtPk1vZExhbmcoJ3ZhbHVlJyl9OiB7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfTwvZW0+PGJyIC8+ey9pZn0KCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnaW1hZ2UnKX17JGZpZWxkZGVmLT5SZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGFjdGlvbmlkLCAkcmV0dXJuaWQpfXsvaWZ9CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfSIgLz4KCQk8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHNpemU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaXplJyl9Ij57aWYgISRmaWVsZGRlZi0+SXNSZXF1aXJlZCgpfTwhLS0KCQktLT48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9ZGVsZXRlX2N1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XSIgdmFsdWU9ImRlbGV0ZSIgdGl0bGU9InskbW9kLT5Nb2RMYW5nKCdkZWxldGUnKX0iIC8+ey9pZn0KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/listit2eh.FileUpload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBsaXN0aXQyZWhfRmlsZVVwbG9hZCBleHRlbmRzIExpc3RJdDJFdmVudEhhbmRsZXJCYXNlCnsKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgVmFyaWFibGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoKCXByaXZhdGUgJF9kYXRhOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMaXN0SXQyRmllbGRkZWZCYXNlICYkZmllbGQpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZmllbGQpOwoJfQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE92ZXJ3cml0YWJsZSBldmVudHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCXB1YmxpYyBmdW5jdGlvbiBPbkl0ZW1EZWxldGUoTGlzdEl0MiAmJG1vZCkKCXsKCQkvLyBEZWxldGUgZmlsZQoJCSRwYXRoID0gY21zX2pvaW5fcGF0aCgkdGhpcy0+R2V0SW1hZ2VQYXRoKCksICR0aGlzLT5HZXRWYWx1ZSgpKTsKCQlAdW5saW5rKCRwYXRoKTsJCQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gSXRlbVNhdmVQcmVQcm9jZXNzKCYkZXJyb3JzLCAmJHBhcmFtcykgCgl7CQkJCgkJLy8gQ2hlY2sgaWYgd2UgbmVlZCBkZWxldGUKCQlpZiAoaXNzZXQoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ11bJHRoaXMtPkdldElkKCldKSkgewoJCQkJCgkJCWlmKCRwYXJhbXNbJ2RlbGV0ZV9jdXN0b21maWVsZCddWyR0aGlzLT5HZXRJZCgpXSA9PSAnZGVsZXRlJykgewoJCQkKCQkJCS8vIERlbGV0ZSBmaWxlCgkJCQkkcGF0aCA9IGNtc19qb2luX3BhdGgoJHRoaXMtPkdldEltYWdlUGF0aCgpLCAkdGhpcy0+R2V0VmFsdWUoKSk7CgkJCQlAdW5saW5rKCRwYXRoKTsKCQkJCQoJCQkJLy8gUmVzZXQgdmFsdWUKCQkJCSR0aGlzLT5TZXRWYWx1ZSgpOwoJCQl9CgkJfQoJCS8vIEFwcGx5IG5ldyB2YWx1ZQoJCWVsc2UgewoJCQoJCQkvLyBGaWxsIF9kYXRhIGZyb20gJF9GSUxFUwoJCQkkZmlsZXMgPSBzZWxmOjpfZGl2ZXJzZV9hcnJheSgkX0ZJTEVTWydtMV9jdXN0b21maWVsZCddKTsgLy8gPC0gJGlkIGlzIHN0YXRpY2FsbHkgcGFydCBvZiBrZXksIG5vdCBpZGVhbC4KCQkJaWYoaXNzZXQoJGZpbGVzWyR0aGlzLT5HZXRJZCgpXSkpCgkJCQkkdGhpcy0+X2RhdGEgPSAkZmlsZXNbJHRoaXMtPkdldElkKCldOyAvLyA8LSBNeSBhc3N1bXB0aW9uIGlzIHRoYXQgJF9GSUxFUyBjb250YWlucyBjb3JyZWN0IHN0cnVjdHVyZSBhbmQgdGhlcmUgZm9yZSBhcnJheSBpcyBjb21wbGV0ZS4gQW0gaSB3cm9uZz8gMSArIDEgPSAyIQoKCQkJLy8gQ2hlY2sgdGhhdCBfZGF0YSBpcyB2YWxpZAoJCQlpZihpc3NldCgkdGhpcy0+X2RhdGEpICYmICR0aGlzLT5fZGF0YVsnZXJyb3InXSA9PT0gMCkgewkJCQkKCQkJCQoJCQkJLy8gVmFsaWRhdGUgZXJyb3JzCgkJCQlpZihzdHJwb3MoJHRoaXMtPkdldE9wdGlvblZhbHVlKCdhbGxvd2VkJyksIGxpc3RpdDJmZF9GaWxlVXBsb2FkOjpfZXh0KCR0aGlzLT5fZGF0YVsnbmFtZSddKSkgPT09IEZBTFNFKSB7CgkJCQkKCQkJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3JfYmFkX2V4dGVuc2lvbicpIC4gJyAoJyAuICR0aGlzLT5HZXROYW1lKCkgLiAnKSc7CgkJCQl9CgkJCQkKCQkJCS8vIFNldCBWYWx1ZSBmcm9tIF9kYXRhCgkJCQlpZihlbXB0eSgkZXJyb3JzKSkgewoJCQkJCQoJCQkJCSR0aGlzLT5TZXRWYWx1ZSgkdGhpcy0+X2RhdGFbJ25hbWUnXSk7CgkJCQl9CQkJCgkJCX0KCQl9CgkJCQkJCQoJCXBhcmVudDo6SXRlbVNhdmVQcmVQcm9jZXNzKCRlcnJvcnMsICRwYXJhbXMpOwoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIEl0ZW1TYXZlUG9zdFByb2Nlc3MoJiRlcnJvcnMsICYkcGFyYW1zKSAKCXsKCQkvLyBNb3ZlIGZpbGUgdG8gY29ycmVjdCBwbGFjZSwgbm90aGluZyBlbHNlLgoJCWlmKGlzc2V0KCR0aGlzLT5fZGF0YSkgJiYgJHRoaXMtPl9kYXRhWydlcnJvciddID09PSAwKSB7CgkJCgkJCS8vIEdldCBmaWxlIHBhdGgKCQkJJHBhdGggPSAkdGhpcy0+R2V0SW1hZ2VQYXRoKCk7CgkJCQoJCQkvLyBBc3N1cmUgZGlyZWN0b3J5IGV4aXN0cwoJCQlpZighaXNfZGlyKCRwYXRoKSkKCQkJCUBta2RpcigkcGF0aCwgMDc3NywgdHJ1ZSk7CgoJCQkvLyBNZXJnZSBmaWxlbmFtZSBpbnRvIHBhdGgKCQkJJHBhdGggPSBjbXNfam9pbl9wYXRoKCRwYXRoLCAkdGhpcy0+R2V0VmFsdWUoKSk7CgkJCQkKCQkJLy8gRXhlY3V0ZSBtb3ZlLgoJCQlpZighbW92ZV91cGxvYWRlZF9maWxlKCR0aGlzLT5fZGF0YVsndG1wX25hbWUnXSwgJHBhdGgpKSB7CgkJCQoJCQkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2Vycm9yX2ZpbGVfcGVybWlzc2lvbnMnKTsKCQkJfQoJCX0KCX0KCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFByaXZhdGUgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2RpdmVyc2VfYXJyYXkoJHZlY3RvcikgewoJCQoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCWZvcmVhY2goJHZlY3RvciBhcyAka2V5MSA9PiAkdmFsdWUxKSB7CgkJCgkJCWZvcmVhY2goJHZhbHVlMSBhcyAka2V5MiA9PiAkdmFsdWUyKSB7CgkJCgkJCQkkcmVzdWx0WyRrZXkyXVska2V5MV0gPSAkdmFsdWUyOwoJCQl9CgkJfQoJCQoJCXJldHVybiAkcmVzdWx0OwoJfSAJCgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+CQ==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/listit2fd.FileUpload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFRhcGlvIEzDtnl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0MlhEZWZzIGlzIGEgQ01TIE1hZGUgU2ltcGxlIER1bW15IG1vZHVsZSB0aGF0IGFkZHMgTGlzdEl0MiBNb2R1bGUgDQojIENvcmUgVGVhbSBzdXBwb3J0ZWQgTGlzdCBEZWZpbml0aW9ucyB0byBMaXN0SXQyIE1vZHVsZS4NCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIGxpc3RpdDJmZF9GaWxlVXBsb2FkIGV4dGVuZHMgTGlzdEl0MkZpZWxkZGVmQmFzZQ0Kew0KCXByaXZhdGUgc3RhdGljICRfaW1nX3R5cGVzID0gYXJyYXkoJ2dpZicsICdqcGcnLCAnanBlZycsICdwbmcnKTsNCg0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIEZpZWxkYmFzZSBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCg0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQkvLyBDaGVjayBpZiB3ZSBoYXZlIHZhbHVlLg0KCQlpZighJHRoaXMtPkhhc1ZhbHVlKCkpDQoJCQlyZXR1cm47DQoJDQoJCS8vIENoZWNrIGlmIHdlIG5lZWQgaW1hZ2UgYW5kIGlmIGV4dGVuc2lvbiBvZiBmaWxlbmFtZSBpcyBhY3R1YWxseSBpbWFnZS4NCgkJaWYoISR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnaW1hZ2UnKSB8fCAhaW5fYXJyYXkoc2VsZjo6X2V4dCgkdGhpcy0+R2V0VmFsdWUoKSksIHNlbGY6OiRfaW1nX3R5cGVzKSkNCgkJCXJldHVybiAkdGhpcy0+R2V0VmFsdWUoKTsNCg0KCQkvLyBDaGVjayBpZiBDR1NtYXJ0SW1hZ2UgbW9kdWxlIGlzIGluc3RhbGxlZC4NCgkJJGNnc2kgPSBjbXNtcygpLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ0dTbWFydEltYWdlJyk7DQoJCWlmKCFpc19vYmplY3QoJGNnc2kpKQ0KCQkJcmV0dXJuICR0aGlzLT5HZXRWYWx1ZSgpOw0KCQkJCQkNCgkJLy8gQ2hlY2sgaWYgb3VyIHNvdXJjZSBmaWxlIGlzIHJlYWRhYmxlLg0KICAgICAgICAkcGF0aCA9IGNtc19qb2luX3BhdGgoJHRoaXMtPkdldEltYWdlUGF0aCgpLCAkdGhpcy0+R2V0VmFsdWUoKSk7DQoJCWlmKCFpc19yZWFkYWJsZSgkcGF0aCkpDQoJCQlyZXR1cm4gJHRoaXMtPkdldFZhbHVlKCk7DQoJCQ0KICAgICAgICAkaHJlZiA9ICR0aGlzLT5HZXRJbWFnZVBhdGgodHJ1ZSkgLicvJy4gJHRoaXMtPkdldFZhbHVlKCk7DQoJDQoJCSRwYXJhbXNbJ3NyYyddID0gJGhyZWY7DQoJCSRwYXJhbXNbJ2ZpbHRlcl9jcm9wdG9maXQnXSA9ICc0OCw0OCc7DQoJCSRwYXJhbXNbJ25vdGFnJ10gPSB0cnVlOw0KCQkkcGFyYW1zWydub2VtYmVkJ10gPSB0cnVlOw0KCQ0KCQkkb3V0cHV0ID0gY2dzaV91dGlsczo6cHJvY2Vzc19pbWFnZSgkcGFyYW1zKTsNCgkJDQoJCSR1cmwgPSAkb3V0cHV0WydvdXRwdXQnXTsNCgkJDQoJCXJldHVybiAnPGEgaHJlZj0iJy4kaHJlZi4nIiBjbGFzcz0iY2JveCB0aHVtYiI+PGltZyBzcmM9IicuJHVybC4nIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIC8+PC9hPic7CQkNCgl9CQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIENsYXNzIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkNCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0SW1hZ2VQYXRoKCR1cmwgPSBmYWxzZSkNCgl7DQoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCgkJJHByZWZpeCA9ICR1cmwgPyAkY29uZmlnWyd1cGxvYWRzX3VybCddIDogJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ107DQoJCSRwYXRoID0gY21zX2pvaW5fcGF0aCgkcHJlZml4LCAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2RpcicpKTsJCQ0KCQ0KCQlpZihzdHJwb3MoJHBhdGgsICd7JGl0ZW1faWR9JykgIT09IGZhbHNlKQkJCQ0KCQkJJHBhdGggPSBzdHJfcmVwbGFjZSgneyRpdGVtX2lkfScsICR0aGlzLT5HZXRJdGVtSWQoKSwgJHBhdGgpOw0KCQkJCQ0KCQlpZihzdHJwb3MoJHBhdGgsICd7JGZpZWxkX2lkfScpICE9PSBmYWxzZSkJCQkNCgkJCSRwYXRoID0gc3RyX3JlcGxhY2UoJ3skZmllbGRfaWR9JywgJHRoaXMtPkdldElkKCksICRwYXRoKTsNCgkJCQkNCgkJaWYoJHVybCkNCgkJCSRwYXRoID0gc3RyX3JlcGxhY2UoRElSRUNUT1JZX1NFUEFSQVRPUiwgJy8nLCAkcGF0aCk7DQoNCgkJcmV0dXJuICRwYXRoOw0KCX0NCg0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFByaXZhdGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBfZXh0KCRmaWxlbmFtZSkNCgl7CQ0KCQkkZmlsZW5hbWUgPSBleHBsb2RlKCcuJywgJGZpbGVuYW1lKTsNCgkJcmV0dXJuIHRyaW0oc3RydG9sb3dlcihlbmQoJGZpbGVuYW1lKSkpOyAvLyA8LSBBIGJpdCBmcmVha3kgeWVzLCBidXQgc2hvdWxkIGNvdmVyIGFsbCBwb3NzaWJsZSBjYXNlcy4NCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/admin.MultiSelect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/input.MultiSelect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIiIC8+CgkJPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XVtdIiBzaXplPSI1IiBtdWx0aXBsZT0ibXVsdGlwbGUiPgoJCQl7Zm9yZWFjaCBmcm9tPSRmaWVsZGRlZi0+R2V0T3B0aW9ucygpIGtleT12YWx1ZSBpdGVtPWtleX0KCQkJCTxvcHRpb24gdmFsdWU9InskdmFsdWV9IntpZiBpbl9hcnJheSgkdmFsdWUsICRmaWVsZGRlZi0+R2V0VmFsdWUoImFycmF5IikpfSBzZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+eyRrZXl9PC9vcHRpb24+CgkJCXsvZm9yZWFjaH0KCQk8L3NlbGVjdD4JCQoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/listit2fd.MultiSelect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfTXVsdGlTZWxlY3QgZXh0ZW5kcyBMaXN0SXQyRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nLiR0aGlzLT5HZXRUeXBlKCkpKTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIEdldE9wdGlvbnMoKQ0KCXsNCgkJJG9wdGlvbnMgPSAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKTsNCgkJJGxpc3QgPSBleHBsb2RlKCJcbiIsICRvcHRpb25zKTsNCgkJDQoJCSRvcHRpb25zID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkbGlzdCBhcyAkb3B0aW9uKSB7DQoJCQ0KCQkJJG9wdGlvbiA9IGV4cGxvZGUoIj0iLCAkb3B0aW9uLCAyKTsNCgkJCWlmKGNvdW50KCRvcHRpb24pID4gMSkgew0KCQkJCSRvcHRpb25zW3RyaW0oJG9wdGlvblsxXSldID0gdHJpbSgkb3B0aW9uWzBdKTsNCgkJCX0gZWxzZSB7DQoJCQkJJG9wdGlvbnNbdHJpbSgkb3B0aW9uWzBdKV0gPSB0cmltKCRvcHRpb25bMF0pOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuICRvcHRpb25zOw0KCX0NCgkJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/admin.RadioGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgkKICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2VwYXJhdG9yJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9zZXBhcmF0b3JfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3NlcGFyYXRvcl0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyl9IiAvPgogICAgPC9wPgkKPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgkKICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnY29sdW1ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfY29sdW1uc19oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbY29sdW1uc10iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnY29sdW1ucycsIDEpfSIgLz4KICAgIDwvcD4JCjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2VuYWJsZV9qcXVpJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9lbmFibGVfanF1aV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtqcXVpX2J1dHRvbnNdIiB2YWx1ZT0iMCIgLz4KICAgIAk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2pxdWlfYnV0dG9uc10iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdqcXVpX2J1dHRvbnMnKSA9PSAxfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CiAgICA8L3A+CQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/input.RadioGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KCQl7aWYgJGZpZWxkZGVmLT5HZXREZXNjKCl9KHskZmllbGRkZWYtPkdldERlc2MoKX0pPGJyIC8+ey9pZn0KCQkKCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnanF1aV9idXR0b25zJykgPT0gJzEnfQoJCQoJCTxkaXYgY2xhc3M9Imxpc3RpdDItcmFkaW8tYnV0dG9ucyIgaWQ9InskYWN0aW9uaWR9Y3VzdG9tZmllbGR7JGZpZWxkZGVmLT5HZXRJZCgpfS1yYWRpbyI+CgkJe2ZvcmVhY2ggJGZpZWxkZGVmLT5HZXRPcHRpb25zKCkgYXMgJHZhbHVlID0+ICRvcHRpb259CgkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIGlkPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XXskb3B0aW9uQGl0ZXJhdGlvbn0iIHZhbHVlPSJ7JHZhbHVlfSJ7aWYgJGZpZWxkZGVmLT5HZXRWYWx1ZSgpID09ICR2YWx1ZX0gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgoJCQk8bGFiZWwgZm9yPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XXskb3B0aW9uQGl0ZXJhdGlvbn0iPnskb3B0aW9ufTwvbGFiZWw+CgkJey9mb3JlYWNofQoJCTwvZGl2PgoJCQoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCQkJJCgiI3skYWN0aW9uaWR9Y3VzdG9tZmllbGR7JGZpZWxkZGVmLT5HZXRJZCgpfS1yYWRpbyIpLmJ1dHRvbnNldCgpOwkKCQl9KTsKCQk8L3NjcmlwdD4KCQoJCXtlbHNlfQoJCQoJCXtodG1sX3JhZGlvcyBuYW1lPSJgJGFjdGlvbmlkYGN1c3RvbWZpZWxkW2AkZmllbGRkZWYtPkdldElkKClgXSIgb3B0aW9ucz0kZmllbGRkZWYtPkdldE9wdGlvbnMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldFZhbHVlKCkgc2VwYXJhdG9yPSRmaWVsZGRlZi0+U2VwYXJhdG9yKCkgYXNzaWduPSdsaTJib3hlcyd9CgkJe21hdGggZXF1YXRpb249J3gveScgeD0kbGkyYm94ZXN8Y291bnQgeT0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdjb2x1bW5zJywgMSkgYXNzaWduPSdjb3VudGVyJ30KCgkJPHVsIGNsYXNzPSJsaXN0aXQyLWNvbHVtbi1saXN0Ij4KCQl7Zm9yZWFjaCBmcm9tPSRsaTJib3hlcyBpdGVtPSdib3gnfQoJCQl7aWYgJGJveEBmaXJzdH08bGk+e2Vsc2VpZiAkYm94QGluZGV4ICUgJGNvdW50ZXJ8Y2VpbCA9PSAwfTwvbGk+PGxpPnsvaWZ9CgkJCXskYm94fQoJCQl7aWYgJGJveEBsYXN0fTwvbGk+ey9pZn0gCgkJIHsvZm9yZWFjaH0gCgkJPC91bD4KCQkKCQl7L2lmfQoJPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/listit2fd.RadioGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfUmFkaW9Hcm91cCBleHRlbmRzIExpc3RJdDJGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0T3B0aW9ucygpDQoJew0KCQkkb3B0aW9ucyA9ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnb3B0aW9ucycpOw0KCQkkbGlzdCA9IGV4cGxvZGUoIlxuIiwgJG9wdGlvbnMpOw0KCQkNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsaXN0IGFzICRvcHRpb24pIHsNCgkJDQoJCQkkb3B0aW9uID0gZXhwbG9kZSgiPSIsICRvcHRpb24sIDIpOw0KCQkJaWYoY291bnQoJG9wdGlvbikgPiAxKSB7DQoJCQkJJG9wdGlvbnNbdHJpbSgkb3B0aW9uWzFdKV0gPSB0cmltKCRvcHRpb25bMF0pOw0KCQkJfSBlbHNlIHsNCgkJCQkkb3B0aW9uc1t0cmltKCRvcHRpb25bMF0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJG9wdGlvbnM7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBTZXBhcmF0b3IoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyk7CQ0KCX0NCgkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/admin.SelectDateTime.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2l6ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2l6ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2l6ZV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDIwKX0iIC8+CiAgICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmdodCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmdodF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmdodF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmdodCcsIDI1NSl9IiAvPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2Zvcm1hdF90eXBlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9mb3JtYXRfdHlwZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAl7aHRtbF9vcHRpb25zIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2Zvcm1hdF90eXBlXSIgb3B0aW9ucz0kZmllbGRkZWYtPkZvcm1hdFR5cGVzKCkgc2VsZWN0ZWQ9JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnZm9ybWF0X3R5cGUnLCAwKX0KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdkYXRlX2Zvcm1hdCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfZGF0ZV9mb3JtYXRfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2RhdGVfZm9ybWF0XSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkYXRlX2Zvcm1hdCcsICdkZC1tbS15eScpfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCd0aW1lX2Zvcm1hdCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfdGltZV9mb3JtYXRfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3RpbWVfZm9ybWF0XSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCd0aW1lX2Zvcm1hdCcsICdISDptbScpfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdzaG93X3NlY29uZHMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3Nob3dfc2Vjb25kc19oZWxwJyl9PC9lbT48YnIgLz4KCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtzaG93X3NlY29uZHNdIiB2YWx1ZT0iMCIgLz4KCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3Nob3dfc2Vjb25kc10iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaG93X3NlY29uZHMnKX1jaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+Cgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/input.SelectDateTime.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfSIgc2l6ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnKX0iIC8+Cgk8L3A+CgkKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXSIpCgkJe2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2Zvcm1hdF90eXBlJykgPT0gMX0geyogRGF0ZSBGb3JtYXQgKn0KCQkuZGF0ZXBpY2tlcih7CgkJCWRhdGVGb3JtYXQ6ICJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnZGF0ZV9mb3JtYXQnKX0iCgkJfSk7CQkKCQl7ZWxzZWlmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2Zvcm1hdF90eXBlJykgPT0gMn0geyogVGltZSBGb3JtYXQgKn0KCQkudGltZXBpY2tlcih7CgkJCXRpbWVGb3JtYXQ6ICJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgndGltZV9mb3JtYXQnKX0iLAoJCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2hvd19zZWNvbmRzJyl9c2hvd1NlY29uZDogdHJ1ZSx7L2lmfQoJCQlob3VyR3JpZDogNCwKCQkJbWludXRlR3JpZDogMTAsCgkJCXNlY29uZEdyaWQ6IDEwCQkJCgkJfSk7CgkJe2Vsc2V9IHsqIENvbWJpbmVkICp9CgkJLmRhdGV0aW1lcGlja2VyKHsKCQkJZGF0ZUZvcm1hdDogInskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkYXRlX2Zvcm1hdCcpfSIsCgkJCXRpbWVGb3JtYXQ6ICJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgndGltZV9mb3JtYXQnKX0iLAoJCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2hvd19zZWNvbmRzJyl9c2hvd1NlY29uZDogdHJ1ZSx7L2lmfQoJCQlob3VyR3JpZDogNCwKCQkJbWludXRlR3JpZDogMTAsCgkJCXNlY29uZEdyaWQ6IDEwCgkJfSk7CQkKCQl7L2lmfQoJfSk7Cgk8L3NjcmlwdD4KCQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/jqeury-ui-timepicker-addon.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogY3NzIGZvciB0aW1lcGlja2VyICovCi51aS10aW1lcGlja2VyLWRpdiAudWktd2lkZ2V0LWhlYWRlciB7IG1hcmdpbi1ib3R0b206IDhweDsgfQoudWktdGltZXBpY2tlci1kaXYgZGwgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9Ci51aS10aW1lcGlja2VyLWRpdiBkbCBkdCB7IGhlaWdodDogMjVweDsgbWFyZ2luLWJvdHRvbTogLTI1cHg7IH0KLnVpLXRpbWVwaWNrZXItZGl2IGRsIGRkIHsgbWFyZ2luOiAwIDEwcHggMTBweCA2NXB4OyB9Ci51aS10aW1lcGlja2VyLWRpdiB0ZCB7IGZvbnQtc2l6ZTogOTAlOyB9Ci51aS10cGlja2VyLWdyaWQtbGFiZWwgeyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQoKLnVpLXRpbWVwaWNrZXItcnRseyBkaXJlY3Rpb246IHJ0bDsgfQoudWktdGltZXBpY2tlci1ydGwgZGwgeyB0ZXh0LWFsaWduOiByaWdodDsgfQoudWktdGltZXBpY2tlci1ydGwgZGwgZGQgeyBtYXJnaW46IDAgNjVweCAxMHB4IDEwcHg7IH0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/jquery-ui-timepicker-addon.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IHRpbWVwaWNrZXIgYWRkb24KICogQnk6IFRyZW50IFJpY2hhcmRzb24gW2h0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tXQogKiBWZXJzaW9uIDEuMS4xCiAqIExhc3QgTW9kaWZpZWQ6IDExLzA3LzIwMTIKICoKICogQ29weXJpZ2h0IDIwMTIgVHJlbnQgUmljaGFyZHNvbgogKiBZb3UgbWF5IHVzZSB0aGlzIHByb2plY3QgdW5kZXIgTUlUIG9yIEdQTCBsaWNlbnNlcy4KICogaHR0cDovL3RyZW50cmljaGFyZHNvbi5jb20vSW1wcm9tcHR1L0dQTC1MSUNFTlNFLnR4dAogKiBodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbS9JbXByb21wdHUvTUlULUxJQ0VOU0UudHh0CiAqLwoKLypqc2xpbnQgZXZpbDogdHJ1ZSwgd2hpdGU6IGZhbHNlLCB1bmRlZjogZmFsc2UsIG5vbWVuOiBmYWxzZSAqLwoKKGZ1bmN0aW9uKCQpIHsKCgkvKgoJKiBMZXRzIG5vdCByZWRlZmluZSB0aW1lcGlja2VyLCBQcmV2ZW50ICJVbmNhdWdodCBSYW5nZUVycm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZCIKCSovCgkkLnVpLnRpbWVwaWNrZXIgPSAkLnVpLnRpbWVwaWNrZXIgfHwge307CglpZiAoJC51aS50aW1lcGlja2VyLnZlcnNpb24pIHsKCQlyZXR1cm47Cgl9CgoJLyoKCSogRXh0ZW5kIGpRdWVyeVVJLCBnZXQgaXQgc3RhcnRlZCB3aXRoIG91ciB2ZXJzaW9uIG51bWJlcgoJKi8KCSQuZXh0ZW5kKCQudWksIHsKCQl0aW1lcGlja2VyOiB7CgkJCXZlcnNpb246ICIxLjEuMSIKCQl9Cgl9KTsKCgkvKiAKCSogVGltZXBpY2tlciBtYW5hZ2VyLgoJKiBVc2UgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzLCAkLnRpbWVwaWNrZXIsIHRvIGludGVyYWN0IHdpdGggdGhlIHRpbWUgcGlja2VyLgoJKiBTZXR0aW5ncyBmb3IgKGdyb3VwcyBvZikgdGltZSBwaWNrZXJzIGFyZSBtYWludGFpbmVkIGluIGFuIGluc3RhbmNlIG9iamVjdCwKCSogYWxsb3dpbmcgbXVsdGlwbGUgZGlmZmVyZW50IHNldHRpbmdzIG9uIHRoZSBzYW1lIHBhZ2UuCgkqLwoJZnVuY3Rpb24gVGltZXBpY2tlcigpIHsKCQl0aGlzLnJlZ2lvbmFsID0gW107IC8vIEF2YWlsYWJsZSByZWdpb25hbCBzZXR0aW5ncywgaW5kZXhlZCBieSBsYW5ndWFnZSBjb2RlCgkJdGhpcy5yZWdpb25hbFsnJ10gPSB7IC8vIERlZmF1bHQgcmVnaW9uYWwgc2V0dGluZ3MKCQkJY3VycmVudFRleHQ6ICdOb3cnLAoJCQljbG9zZVRleHQ6ICdEb25lJywKCQkJYW1OYW1lczogWydBTScsICdBJ10sCgkJCXBtTmFtZXM6IFsnUE0nLCAnUCddLAoJCQl0aW1lRm9ybWF0OiAnSEg6bW0nLAoJCQl0aW1lU3VmZml4OiAnJywKCQkJdGltZU9ubHlUaXRsZTogJ0Nob29zZSBUaW1lJywKCQkJdGltZVRleHQ6ICdUaW1lJywKCQkJaG91clRleHQ6ICdIb3VyJywKCQkJbWludXRlVGV4dDogJ01pbnV0ZScsCgkJCXNlY29uZFRleHQ6ICdTZWNvbmQnLAoJCQltaWxsaXNlY1RleHQ6ICdNaWxsaXNlY29uZCcsCgkJCXRpbWV6b25lVGV4dDogJ1RpbWUgWm9uZScsCgkJCWlzUlRMOiBmYWxzZQoJCX07CgkJdGhpcy5fZGVmYXVsdHMgPSB7IC8vIEdsb2JhbCBkZWZhdWx0cyBmb3IgYWxsIHRoZSBkYXRldGltZSBwaWNrZXIgaW5zdGFuY2VzCgkJCXNob3dCdXR0b25QYW5lbDogdHJ1ZSwKCQkJdGltZU9ubHk6IGZhbHNlLAoJCQlzaG93SG91cjogdHJ1ZSwKCQkJc2hvd01pbnV0ZTogdHJ1ZSwKCQkJc2hvd1NlY29uZDogZmFsc2UsCgkJCXNob3dNaWxsaXNlYzogZmFsc2UsCgkJCXNob3dUaW1lem9uZTogZmFsc2UsCgkJCXNob3dUaW1lOiB0cnVlLAoJCQlzdGVwSG91cjogMSwKCQkJc3RlcE1pbnV0ZTogMSwKCQkJc3RlcFNlY29uZDogMSwKCQkJc3RlcE1pbGxpc2VjOiAxLAoJCQlob3VyOiAwLAoJCQltaW51dGU6IDAsCgkJCXNlY29uZDogMCwKCQkJbWlsbGlzZWM6IDAsCgkJCXRpbWV6b25lOiBudWxsLAoJCQl1c2VMb2NhbFRpbWV6b25lOiBmYWxzZSwKCQkJZGVmYXVsdFRpbWV6b25lOiAiKzAwMDAiLAoJCQlob3VyTWluOiAwLAoJCQltaW51dGVNaW46IDAsCgkJCXNlY29uZE1pbjogMCwKCQkJbWlsbGlzZWNNaW46IDAsCgkJCWhvdXJNYXg6IDIzLAoJCQltaW51dGVNYXg6IDU5LAoJCQlzZWNvbmRNYXg6IDU5LAoJCQltaWxsaXNlY01heDogOTk5LAoJCQltaW5EYXRlVGltZTogbnVsbCwKCQkJbWF4RGF0ZVRpbWU6IG51bGwsCgkJCW9uU2VsZWN0OiBudWxsLAoJCQlob3VyR3JpZDogMCwKCQkJbWludXRlR3JpZDogMCwKCQkJc2Vjb25kR3JpZDogMCwKCQkJbWlsbGlzZWNHcmlkOiAwLAoJCQlhbHdheXNTZXRUaW1lOiB0cnVlLAoJCQlzZXBhcmF0b3I6ICcgJywKCQkJYWx0RmllbGRUaW1lT25seTogdHJ1ZSwKCQkJYWx0VGltZUZvcm1hdDogbnVsbCwKCQkJYWx0U2VwYXJhdG9yOiBudWxsLAoJCQlhbHRUaW1lU3VmZml4OiBudWxsLAoJCQlwaWNrZXJUaW1lRm9ybWF0OiBudWxsLAoJCQlwaWNrZXJUaW1lU3VmZml4OiBudWxsLAoJCQlzaG93VGltZXBpY2tlcjogdHJ1ZSwKCQkJdGltZXpvbmVJc284NjAxOiBmYWxzZSwKCQkJdGltZXpvbmVMaXN0OiBudWxsLAoJCQlhZGRTbGlkZXJBY2Nlc3M6IGZhbHNlLAoJCQlzbGlkZXJBY2Nlc3NBcmdzOiBudWxsLAoJCQljb250cm9sVHlwZTogJ3NsaWRlcicsCgkJCWRlZmF1bHRWYWx1ZTogbnVsbCwKCQkJcGFyc2U6ICdzdHJpY3QnCgkJfTsKCQkkLmV4dGVuZCh0aGlzLl9kZWZhdWx0cywgdGhpcy5yZWdpb25hbFsnJ10pOwoJfQoKCSQuZXh0ZW5kKFRpbWVwaWNrZXIucHJvdG90eXBlLCB7CgkJJGlucHV0OiBudWxsLAoJCSRhbHRJbnB1dDogbnVsbCwKCQkkdGltZU9iajogbnVsbCwKCQlpbnN0OiBudWxsLAoJCWhvdXJfc2xpZGVyOiBudWxsLAoJCW1pbnV0ZV9zbGlkZXI6IG51bGwsCgkJc2Vjb25kX3NsaWRlcjogbnVsbCwKCQltaWxsaXNlY19zbGlkZXI6IG51bGwsCgkJdGltZXpvbmVfc2VsZWN0OiBudWxsLAoJCWhvdXI6IDAsCgkJbWludXRlOiAwLAoJCXNlY29uZDogMCwKCQltaWxsaXNlYzogMCwKCQl0aW1lem9uZTogbnVsbCwKCQlkZWZhdWx0VGltZXpvbmU6ICIrMDAwMCIsCgkJaG91ck1pbk9yaWdpbmFsOiBudWxsLAoJCW1pbnV0ZU1pbk9yaWdpbmFsOiBudWxsLAoJCXNlY29uZE1pbk9yaWdpbmFsOiBudWxsLAoJCW1pbGxpc2VjTWluT3JpZ2luYWw6IG51bGwsCgkJaG91ck1heE9yaWdpbmFsOiBudWxsLAoJCW1pbnV0ZU1heE9yaWdpbmFsOiBudWxsLAoJCXNlY29uZE1heE9yaWdpbmFsOiBudWxsLAoJCW1pbGxpc2VjTWF4T3JpZ2luYWw6IG51bGwsCgkJYW1wbTogJycsCgkJZm9ybWF0dGVkRGF0ZTogJycsCgkJZm9ybWF0dGVkVGltZTogJycsCgkJZm9ybWF0dGVkRGF0ZVRpbWU6ICcnLAoJCXRpbWV6b25lTGlzdDogbnVsbCwKCQl1bml0czogWydob3VyJywnbWludXRlJywnc2Vjb25kJywnbWlsbGlzZWMnXSwKCQljb250cm9sOiBudWxsLAoKCQkvKiAKCQkqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgaW5zdGFuY2VzIG9mIHRoZSB0aW1lIHBpY2tlci4KCQkqIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHRoZSBuZXcgc2V0dGluZ3MgdG8gdXNlIGFzIGRlZmF1bHRzIChhbm9ueW1vdXMgb2JqZWN0KQoJCSogQHJldHVybiB0aGUgbWFuYWdlciBvYmplY3QKCQkqLwoJCXNldERlZmF1bHRzOiBmdW5jdGlvbihzZXR0aW5ncykgewoJCQlleHRlbmRSZW1vdmUodGhpcy5fZGVmYXVsdHMsIHNldHRpbmdzIHx8IHt9KTsKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCgkJLyoKCQkqIENyZWF0ZSBhIG5ldyBUaW1lcGlja2VyIGluc3RhbmNlCgkJKi8KCQlfbmV3SW5zdDogZnVuY3Rpb24oJGlucHV0LCBvKSB7CgkJCXZhciB0cF9pbnN0ID0gbmV3IFRpbWVwaWNrZXIoKSwKCQkJCWlubGluZVNldHRpbmdzID0ge30sCiAgICAgICAgICAgICAgICBmbnMgPSB7fSwKCQkgICAgICAgIG92ZXJyaWRlcywgaTsKCgkJCWZvciAodmFyIGF0dHJOYW1lIGluIHRoaXMuX2RlZmF1bHRzKSB7CgkJCQlpZih0aGlzLl9kZWZhdWx0cy5oYXNPd25Qcm9wZXJ0eShhdHRyTmFtZSkpewoJCQkJCXZhciBhdHRyVmFsdWUgPSAkaW5wdXQuYXR0cigndGltZTonICsgYXR0ck5hbWUpOwoJCQkJCWlmIChhdHRyVmFsdWUpIHsKCQkJCQkJdHJ5IHsKCQkJCQkJCWlubGluZVNldHRpbmdzW2F0dHJOYW1lXSA9IGV2YWwoYXR0clZhbHVlKTsKCQkJCQkJfSBjYXRjaCAoZXJyKSB7CgkJCQkJCQlpbmxpbmVTZXR0aW5nc1thdHRyTmFtZV0gPSBhdHRyVmFsdWU7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQkgICAgb3ZlcnJpZGVzID0gewoJCSAgICAgICAgYmVmb3JlU2hvdzogZnVuY3Rpb24gKGlucHV0LCBkcF9pbnN0KSB7CgkJICAgICAgICAgICAgaWYgKCQuaXNGdW5jdGlvbih0cF9pbnN0Ll9kZWZhdWx0cy5ldm50cy5iZWZvcmVTaG93KSkgewoJCSAgICAgICAgICAgICAgICByZXR1cm4gdHBfaW5zdC5fZGVmYXVsdHMuZXZudHMuYmVmb3JlU2hvdy5jYWxsKCRpbnB1dFswXSwgaW5wdXQsIGRwX2luc3QsIHRwX2luc3QpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgIH0sCgkJICAgICAgICBvbkNoYW5nZU1vbnRoWWVhcjogZnVuY3Rpb24gKHllYXIsIG1vbnRoLCBkcF9pbnN0KSB7CgkJICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSB0aW1lIGFzIHdlbGwgOiB0aGlzIHByZXZlbnRzIHRoZSB0aW1lIGZyb20gZGlzYXBwZWFyaW5nIGZyb20gdGhlICRpbnB1dCBmaWVsZC4KCQkgICAgICAgICAgICB0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShkcF9pbnN0KTsKCQkgICAgICAgICAgICBpZiAoJC5pc0Z1bmN0aW9uKHRwX2luc3QuX2RlZmF1bHRzLmV2bnRzLm9uQ2hhbmdlTW9udGhZZWFyKSkgewoJCSAgICAgICAgICAgICAgICB0cF9pbnN0Ll9kZWZhdWx0cy5ldm50cy5vbkNoYW5nZU1vbnRoWWVhci5jYWxsKCRpbnB1dFswXSwgeWVhciwgbW9udGgsIGRwX2luc3QsIHRwX2luc3QpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgIH0sCgkJICAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoZGF0ZVRleHQsIGRwX2luc3QpIHsKCQkgICAgICAgICAgICBpZiAodHBfaW5zdC50aW1lRGVmaW5lZCA9PT0gdHJ1ZSAmJiAkaW5wdXQudmFsKCkgIT09ICcnKSB7CgkJICAgICAgICAgICAgICAgIHRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGRwX2luc3QpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgICAgICBpZiAoJC5pc0Z1bmN0aW9uKHRwX2luc3QuX2RlZmF1bHRzLmV2bnRzLm9uQ2xvc2UpKSB7CgkJICAgICAgICAgICAgICAgIHRwX2luc3QuX2RlZmF1bHRzLmV2bnRzLm9uQ2xvc2UuY2FsbCgkaW5wdXRbMF0sIGRhdGVUZXh0LCBkcF9pbnN0LCB0cF9pbnN0KTsKCQkgICAgICAgICAgICB9CgkJICAgICAgICB9CgkJICAgIH07CgkJICAgIGZvciAoaSBpbiBvdmVycmlkZXMpIHsKCQkgICAgICAgIGlmIChvdmVycmlkZXMuaGFzT3duUHJvcGVydHkoaSkpIHsKCQkgICAgICAgICAgICBmbnNbaV0gPSBvW2ldIHx8IG51bGw7CgkJICAgICAgICB9CgkJICAgIH0KCQkgICAgdHBfaW5zdC5fZGVmYXVsdHMgPSAkLmV4dGVuZCh7fSwgdGhpcy5fZGVmYXVsdHMsIGlubGluZVNldHRpbmdzLCBvLCBvdmVycmlkZXMsIHsKCQkgICAgICAgIGV2bnRzOmZucywKCQkgICAgICAgIHRpbWVwaWNrZXI6IHRwX2luc3QgLy8gYWRkIHRpbWVwaWNrZXIgYXMgYSBwcm9wZXJ0eSBvZiBkYXRlcGlja2VyOiAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAndGltZXBpY2tlcicpOwoJCSAgICB9KTsKCQkJdHBfaW5zdC5hbU5hbWVzID0gJC5tYXAodHBfaW5zdC5fZGVmYXVsdHMuYW1OYW1lcywgZnVuY3Rpb24odmFsKSB7CgkJCQlyZXR1cm4gdmFsLnRvVXBwZXJDYXNlKCk7CgkJCX0pOwoJCQl0cF9pbnN0LnBtTmFtZXMgPSAkLm1hcCh0cF9pbnN0Ll9kZWZhdWx0cy5wbU5hbWVzLCBmdW5jdGlvbih2YWwpIHsKCQkJCXJldHVybiB2YWwudG9VcHBlckNhc2UoKTsKCQkJfSk7CgoJCQkvLyBjb250cm9sVHlwZSBpcyBzdHJpbmcgLSBrZXkgdG8gb3VyIHRoaXMuX2NvbnRyb2xzCgkJCWlmKHR5cGVvZih0cF9pbnN0Ll9kZWZhdWx0cy5jb250cm9sVHlwZSkgPT09ICdzdHJpbmcnKXsKCQkJCWlmKCQuZm5bdHBfaW5zdC5fZGVmYXVsdHMuY29udHJvbFR5cGVdID09PSB1bmRlZmluZWQpewoJCQkJCXRwX2luc3QuX2RlZmF1bHRzLmNvbnRyb2xUeXBlID0gJ3NlbGVjdCc7CgkJCQl9CgkJCQl0cF9pbnN0LmNvbnRyb2wgPSB0cF9pbnN0Ll9jb250cm9sc1t0cF9pbnN0Ll9kZWZhdWx0cy5jb250cm9sVHlwZV07CgkJCX0KCQkJLy8gY29udHJvbFR5cGUgaXMgYW4gb2JqZWN0IGFuZCBtdXN0IGltcGxlbWVudCBjcmVhdGUsIG9wdGlvbnMsIHZhbHVlIG1ldGhvZHMKCQkJZWxzZXsgCgkJCQl0cF9pbnN0LmNvbnRyb2wgPSB0cF9pbnN0Ll9kZWZhdWx0cy5jb250cm9sVHlwZTsKCQkJfQoKCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnRpbWV6b25lTGlzdCA9PT0gbnVsbCkgewoJCQkJdmFyIHRpbWV6b25lTGlzdCA9IFsnLTEyMDAnLCAnLTExMDAnLCAnLTEwMDAnLCAnLTA5MzAnLCAnLTA5MDAnLCAnLTA4MDAnLCAnLTA3MDAnLCAnLTA2MDAnLCAnLTA1MDAnLCAnLTA0MzAnLCAnLTA0MDAnLCAnLTAzMzAnLCAnLTAzMDAnLCAnLTAyMDAnLCAnLTAxMDAnLCAnKzAwMDAnLCAKCQkJCQkJCQkJJyswMTAwJywgJyswMjAwJywgJyswMzAwJywgJyswMzMwJywgJyswNDAwJywgJyswNDMwJywgJyswNTAwJywgJyswNTMwJywgJyswNTQ1JywgJyswNjAwJywgJyswNjMwJywgJyswNzAwJywgJyswODAwJywgJyswODQ1JywgJyswOTAwJywgJyswOTMwJywgCgkJCQkJCQkJCScrMTAwMCcsICcrMTAzMCcsICcrMTEwMCcsICcrMTEzMCcsICcrMTIwMCcsICcrMTI0NScsICcrMTMwMCcsICcrMTQwMCddOwoKCQkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lem9uZUlzbzg2MDEpIHsKCQkJCQl0aW1lem9uZUxpc3QgPSAkLm1hcCh0aW1lem9uZUxpc3QsIGZ1bmN0aW9uKHZhbCkgewoJCQkJCQlyZXR1cm4gdmFsID09ICcrMDAwMCcgPyAnWicgOiAodmFsLnN1YnN0cmluZygwLCAzKSArICc6JyArIHZhbC5zdWJzdHJpbmcoMykpOwoJCQkJCX0pOwoJCQkJfQoJCQkJdHBfaW5zdC5fZGVmYXVsdHMudGltZXpvbmVMaXN0ID0gdGltZXpvbmVMaXN0OwoJCQl9CgoJCQl0cF9pbnN0LnRpbWV6b25lID0gdHBfaW5zdC5fZGVmYXVsdHMudGltZXpvbmU7CgkJCXRwX2luc3QuaG91ciA9IHRwX2luc3QuX2RlZmF1bHRzLmhvdXI7CgkJCXRwX2luc3QubWludXRlID0gdHBfaW5zdC5fZGVmYXVsdHMubWludXRlOwoJCQl0cF9pbnN0LnNlY29uZCA9IHRwX2luc3QuX2RlZmF1bHRzLnNlY29uZDsKCQkJdHBfaW5zdC5taWxsaXNlYyA9IHRwX2luc3QuX2RlZmF1bHRzLm1pbGxpc2VjOwoJCQl0cF9pbnN0LmFtcG0gPSAnJzsKCQkJdHBfaW5zdC4kaW5wdXQgPSAkaW5wdXQ7CgoJCQlpZiAoby5hbHRGaWVsZCkgewoJCQkJdHBfaW5zdC4kYWx0SW5wdXQgPSAkKG8uYWx0RmllbGQpLmNzcyh7CgkJCQkJY3Vyc29yOiAncG9pbnRlcicKCQkJCX0pLmZvY3VzKGZ1bmN0aW9uKCkgewoJCQkJCSRpbnB1dC50cmlnZ2VyKCJmb2N1cyIpOwoJCQkJfSk7CgkJCX0KCgkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID09PSAwIHx8IHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lID09PSAwKSB7CgkJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUoKTsKCQkJfQoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSA9PT0gMCB8fCB0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSA9PT0gMCkgewoJCQkJdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSA9IG5ldyBEYXRlKCk7CgkJCX0KCgkJCS8vIGRhdGVwaWNrZXIgbmVlZHMgbWluRGF0ZS9tYXhEYXRlLCB0aW1lcGlja2VyIG5lZWRzIG1pbkRhdGVUaW1lL21heERhdGVUaW1lLi4KCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGUgIT09IHVuZGVmaW5lZCAmJiB0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlIGluc3RhbmNlb2YgRGF0ZSkgewoJCQkJdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgPSBuZXcgRGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlLmdldFRpbWUoKSk7CgkJCX0KCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKSB7CgkJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUuZ2V0VGltZSgpKTsKCQkJfQoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSAhPT0gdW5kZWZpbmVkICYmIHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgaW5zdGFuY2VvZiBEYXRlKSB7CgkJCQl0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSA9IG5ldyBEYXRlKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUuZ2V0VGltZSgpKTsKCQkJfQoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUgIT09IHVuZGVmaW5lZCAmJiB0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSBpbnN0YW5jZW9mIERhdGUpIHsKCQkJCXRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgPSBuZXcgRGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZS5nZXRUaW1lKCkpOwoJCQl9CgkJCXRwX2luc3QuJGlucHV0LmJpbmQoJ2ZvY3VzJywgZnVuY3Rpb24oKSB7CgkJCQl0cF9pbnN0Ll9vbkZvY3VzKCk7CgkJCX0pOwoKCQkJcmV0dXJuIHRwX2luc3Q7CgkJfSwKCgkJLyoKCQkqIGFkZCBvdXIgc2xpZGVycyB0byB0aGUgY2FsZW5kYXIKCQkqLwoJCV9hZGRUaW1lUGlja2VyOiBmdW5jdGlvbihkcF9pbnN0KSB7CgkJCXZhciBjdXJyRFQgPSAodGhpcy4kYWx0SW5wdXQgJiYgdGhpcy5fZGVmYXVsdHMuYWx0RmllbGRUaW1lT25seSkgPyB0aGlzLiRpbnB1dC52YWwoKSArICcgJyArIHRoaXMuJGFsdElucHV0LnZhbCgpIDogdGhpcy4kaW5wdXQudmFsKCk7CgoJCQl0aGlzLnRpbWVEZWZpbmVkID0gdGhpcy5fcGFyc2VUaW1lKGN1cnJEVCk7CgkJCXRoaXMuX2xpbWl0TWluTWF4RGF0ZVRpbWUoZHBfaW5zdCwgZmFsc2UpOwoJCQl0aGlzLl9pbmplY3RUaW1lUGlja2VyKCk7CgkJfSwKCgkJLyoKCQkqIHBhcnNlIHRoZSB0aW1lIHN0cmluZyBmcm9tIGlucHV0IHZhbHVlIG9yIF9zZXRUaW1lCgkJKi8KCQlfcGFyc2VUaW1lOiBmdW5jdGlvbih0aW1lU3RyaW5nLCB3aXRoRGF0ZSkgewoJCQlpZiAoIXRoaXMuaW5zdCkgewoJCQkJdGhpcy5pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0WzBdKTsKCQkJfQoKCQkJaWYgKHdpdGhEYXRlIHx8ICF0aGlzLl9kZWZhdWx0cy50aW1lT25seSkgewoJCQkJdmFyIGRwX2RhdGVGb3JtYXQgPSAkLmRhdGVwaWNrZXIuX2dldCh0aGlzLmluc3QsICdkYXRlRm9ybWF0Jyk7CgkJCQl0cnkgewoJCQkJCXZhciBwYXJzZVJlcyA9IHBhcnNlRGF0ZVRpbWVJbnRlcm5hbChkcF9kYXRlRm9ybWF0LCB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LCB0aW1lU3RyaW5nLCAkLmRhdGVwaWNrZXIuX2dldEZvcm1hdENvbmZpZyh0aGlzLmluc3QpLCB0aGlzLl9kZWZhdWx0cyk7CgkJCQkJaWYgKCFwYXJzZVJlcy50aW1lT2JqKSB7CgkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQl9CgkJCQkJJC5leHRlbmQodGhpcywgcGFyc2VSZXMudGltZU9iaik7CgkJCQl9IGNhdGNoIChlcnIpIHsKCQkJCQkkLmRhdGVwaWNrZXIubG9nKCJFcnJvciBwYXJzaW5nIHRoZSBkYXRlL3RpbWUgc3RyaW5nOiAiICsgZXJyICsKCQkJCQkJCQkJIlxuZGF0ZS90aW1lIHN0cmluZyA9ICIgKyB0aW1lU3RyaW5nICsKCQkJCQkJCQkJIlxudGltZUZvcm1hdCA9ICIgKyB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0ICsKCQkJCQkJCQkJIlxuZGF0ZUZvcm1hdCA9ICIgKyBkcF9kYXRlRm9ybWF0KTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBlbHNlIHsKCQkJCXZhciB0aW1lT2JqID0gJC5kYXRlcGlja2VyLnBhcnNlVGltZSh0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LCB0aW1lU3RyaW5nLCB0aGlzLl9kZWZhdWx0cyk7CgkJCQlpZiAoIXRpbWVPYmopIHsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQkkLmV4dGVuZCh0aGlzLCB0aW1lT2JqKTsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfSwKCgkJLyoKCQkqIGdlbmVyYXRlIGFuZCBpbmplY3QgaHRtbCBmb3IgdGltZXBpY2tlciBpbnRvIHVpIGRhdGVwaWNrZXIKCQkqLwoJCV9pbmplY3RUaW1lUGlja2VyOiBmdW5jdGlvbigpIHsKCQkJdmFyICRkcCA9IHRoaXMuaW5zdC5kcERpdiwKCQkJCW8gPSB0aGlzLmluc3Quc2V0dGluZ3MsCgkJCQl0cF9pbnN0ID0gdGhpcywKCQkJCWxpdGVtID0gJycsCgkJCQl1aXRlbSA9ICcnLAoJCQkJbWF4ID0ge30sCgkJCQlncmlkU2l6ZSA9IHt9LAoJCQkJc2l6ZSA9IG51bGw7CgoJCQkvLyBQcmV2ZW50IGRpc3BsYXlpbmcgdHdpY2UKCQkJaWYgKCRkcC5maW5kKCJkaXYudWktdGltZXBpY2tlci1kaXYiKS5sZW5ndGggPT09IDAgJiYgby5zaG93VGltZXBpY2tlcikgewoJCQkJdmFyIG5vRGlzcGxheSA9ICcgc3R5bGU9ImRpc3BsYXk6bm9uZTsiJywKCQkJCQlodG1sID0gJzxkaXYgY2xhc3M9InVpLXRpbWVwaWNrZXItZGl2JysgKG8uaXNSVEw/ICcgdWktdGltZXBpY2tlci1ydGwnIDogJycpICsnIj48ZGw+JyArICc8ZHQgY2xhc3M9InVpX3RwaWNrZXJfdGltZV9sYWJlbCInICsgKChvLnNob3dUaW1lKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8udGltZVRleHQgKyAnPC9kdD4nICsgCgkJCQkJCQkJJzxkZCBjbGFzcz0idWlfdHBpY2tlcl90aW1lIicgKyAoKG8uc2hvd1RpbWUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7CgoJCQkJLy8gQ3JlYXRlIHRoZSBtYXJrdXAKCQkJCWZvcih2YXIgaT0wLGw9dGhpcy51bml0cy5sZW5ndGg7IGk8bDsgaSsrKXsKCQkJCQlsaXRlbSA9IHRoaXMudW5pdHNbaV07CgkJCQkJdWl0ZW0gPSBsaXRlbS5zdWJzdHIoMCwxKS50b1VwcGVyQ2FzZSgpICsgbGl0ZW0uc3Vic3RyKDEpOwoJCQkJCS8vIEFkZGVkIGJ5IFBldGVyIE1lZGVpcm9zOgoJCQkJCS8vIC0gRmlndXJlIG91dCB3aGF0IHRoZSBob3VyL21pbnV0ZS9zZWNvbmQgbWF4IHNob3VsZCBiZSBiYXNlZCBvbiB0aGUgc3RlcCB2YWx1ZXMuCgkJCQkJLy8gLSBFeGFtcGxlOiBpZiBzdGVwTWludXRlIGlzIDE1LCB0aGVuIG1pbk1heCBpcyA0NS4KCQkJCQltYXhbbGl0ZW1dID0gcGFyc2VJbnQoKG9bbGl0ZW0rJ01heCddIC0gKChvW2xpdGVtKydNYXgnXSAtIG9bbGl0ZW0rJ01pbiddKSAlIG9bJ3N0ZXAnK3VpdGVtXSkpLCAxMCk7CgkJCQkJZ3JpZFNpemVbbGl0ZW1dID0gMDsKCgkJCQkJaHRtbCArPSAnPGR0IGNsYXNzPSJ1aV90cGlja2VyXycrIGxpdGVtICsnX2xhYmVsIicgKyAoKG9bJ3Nob3cnK3VpdGVtXSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvW2xpdGVtICsnVGV4dCddICsgJzwvZHQ+JyArIAoJCQkJCQkJCSc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfJysgbGl0ZW0gKyciPjxkaXYgY2xhc3M9InVpX3RwaWNrZXJfJysgbGl0ZW0gKydfc2xpZGVyIicgKyAoKG9bJ3Nob3cnK3VpdGVtXSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGl2Pic7CgoJCQkJCWlmIChvWydzaG93Jyt1aXRlbV0gJiYgb1tsaXRlbSsnR3JpZCddID4gMCkgewoJCQkJCQlodG1sICs9ICc8ZGl2IHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDFweCI+PHRhYmxlIGNsYXNzPSJ1aS10cGlja2VyLWdyaWQtbGFiZWwiPjx0cj4nOwoKCQkJCQkJaWYobGl0ZW0gPT0gJ2hvdXInKXsKCQkJCQkJCWZvciAodmFyIGggPSBvW2xpdGVtKydNaW4nXTsgaCA8PSBtYXhbbGl0ZW1dOyBoICs9IHBhcnNlSW50KG9bbGl0ZW0rJ0dyaWQnXSwgMTApKSB7CgkJCQkJCQkJZ3JpZFNpemVbbGl0ZW1dKys7CgkJCQkJCQkJdmFyIHRtcGggPSAkLmRhdGVwaWNrZXIuZm9ybWF0VGltZSh1c2VBbXBtKG8ucGlja2VyVGltZUZvcm1hdCB8fCBvLnRpbWVGb3JtYXQpPyAnaGh0JzonSEgnLCB7aG91cjpofSwgbyk7CQkJCQkJCQkJCgkJCQkJCQkJaHRtbCArPSAnPHRkIGRhdGEtZm9yPSInK2xpdGVtKyciPicgKyB0bXBoICsgJzwvdGQ+JzsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQllbHNlewoJCQkJCQkJZm9yICh2YXIgbSA9IG9bbGl0ZW0rJ01pbiddOyBtIDw9IG1heFtsaXRlbV07IG0gKz0gcGFyc2VJbnQob1tsaXRlbSsnR3JpZCddLCAxMCkpIHsKCQkJCQkJCQlncmlkU2l6ZVtsaXRlbV0rKzsKCQkJCQkJCQlodG1sICs9ICc8dGQgZGF0YS1mb3I9IicrbGl0ZW0rJyI+JyArICgobSA8IDEwKSA/ICcwJyA6ICcnKSArIG0gKyAnPC90ZD4nOwoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQlodG1sICs9ICc8L3RyPjwvdGFibGU+PC9kaXY+JzsKCQkJCQl9CgkJCQkJaHRtbCArPSAnPC9kZD4nOwoJCQkJfQoJCQkJCgkJCQkvLyBUaW1lem9uZQoJCQkJaHRtbCArPSAnPGR0IGNsYXNzPSJ1aV90cGlja2VyX3RpbWV6b25lX2xhYmVsIicgKyAoKG8uc2hvd1RpbWV6b25lKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8udGltZXpvbmVUZXh0ICsgJzwvZHQ+JzsKCQkJCWh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl90aW1lem9uZSIgJyArICgoby5zaG93VGltZXpvbmUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7CgoJCQkJLy8gQ3JlYXRlIHRoZSBlbGVtZW50cyBmcm9tIHN0cmluZwoJCQkJaHRtbCArPSAnPC9kbD48L2Rpdj4nOwoJCQkJdmFyICR0cCA9ICQoaHRtbCk7CgoJCQkJLy8gaWYgd2Ugb25seSB3YW50IHRpbWUgcGlja2VyLi4uCgkJCQlpZiAoby50aW1lT25seSA9PT0gdHJ1ZSkgewoJCQkJCSR0cC5wcmVwZW5kKCc8ZGl2IGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj4nICsgJzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItdGl0bGUiPicgKyBvLnRpbWVPbmx5VGl0bGUgKyAnPC9kaXY+JyArICc8L2Rpdj4nKTsKCQkJCQkkZHAuZmluZCgnLnVpLWRhdGVwaWNrZXItaGVhZGVyLCAudWktZGF0ZXBpY2tlci1jYWxlbmRhcicpLmhpZGUoKTsKCQkJCX0KCQkJCQoJCQkJLy8gYWRkIHNsaWRlcnMsIGFkanVzdCBncmlkcywgYWRkIGV2ZW50cwoJCQkJZm9yKHZhciBpPTAsbD10cF9pbnN0LnVuaXRzLmxlbmd0aDsgaTxsOyBpKyspewoJCQkJCWxpdGVtID0gdHBfaW5zdC51bml0c1tpXTsKCQkJCQl1aXRlbSA9IGxpdGVtLnN1YnN0cigwLDEpLnRvVXBwZXJDYXNlKCkgKyBsaXRlbS5zdWJzdHIoMSk7CgkJCQkJCgkJCQkJLy8gYWRkIHRoZSBzbGlkZXIKCQkJCQl0cF9pbnN0W2xpdGVtKydfc2xpZGVyJ10gPSB0cF9pbnN0LmNvbnRyb2wuY3JlYXRlKHRwX2luc3QsICR0cC5maW5kKCcudWlfdHBpY2tlcl8nK2xpdGVtKydfc2xpZGVyJyksIGxpdGVtLCB0cF9pbnN0W2xpdGVtXSwgb1tsaXRlbSsnTWluJ10sIG1heFtsaXRlbV0sIG9bJ3N0ZXAnK3VpdGVtXSk7CgoJCQkJCS8vIGFkanVzdCB0aGUgZ3JpZCBhbmQgYWRkIGNsaWNrIGV2ZW50CgkJCQkJaWYgKG9bJ3Nob3cnK3VpdGVtXSAmJiBvW2xpdGVtKydHcmlkJ10gPiAwKSB7CgkJCQkJCXNpemUgPSAxMDAgKiBncmlkU2l6ZVtsaXRlbV0gKiBvW2xpdGVtKydHcmlkJ10gLyAobWF4W2xpdGVtXSAtIG9bbGl0ZW0rJ01pbiddKTsKCQkJCQkJJHRwLmZpbmQoJy51aV90cGlja2VyXycrbGl0ZW0rJyB0YWJsZScpLmNzcyh7CgkJCQkJCQl3aWR0aDogc2l6ZSArICIlIiwKCQkJCQkJCW1hcmdpbkxlZnQ6IG8uaXNSVEw/ICcwJyA6ICgoc2l6ZSAvICgtMiAqIGdyaWRTaXplW2xpdGVtXSkpICsgIiUiKSwKCQkJCQkJCW1hcmdpblJpZ2h0OiBvLmlzUlRMPyAoKHNpemUgLyAoLTIgKiBncmlkU2l6ZVtsaXRlbV0pKSArICIlIikgOiAnMCcsCgkJCQkJCQlib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJwoJCQkJCQl9KS5maW5kKCJ0ZCIpLmNsaWNrKGZ1bmN0aW9uKGUpewoJCQkJCQkJCXZhciAkdCA9ICQodGhpcyksCgkJCQkJCQkJCWggPSAkdC5odG1sKCksCgkJCQkJCQkJCW4gPSBwYXJzZUludChoLnJlcGxhY2UoL1teMC05XS9nKSwxMCksCgkJCQkJCQkJCWFwID0gaC5yZXBsYWNlKC9bXmFwbV0vaWcpLAoJCQkJCQkJCQlmID0gJHQuZGF0YSgnZm9yJyk7IC8vIGxvc2VzIHNjb3BlLCBzbyB3ZSB1c2UgZGF0YS1mb3IKCgkJCQkJCQkJaWYoZiA9PSAnaG91cicpewoJCQkJCQkJCQlpZihhcC5pbmRleE9mKCdwJykgIT09IC0xICYmIG4gPCAxMil7CgkJCQkJCQkJCQluICs9IDEyOwoJCQkJCQkJCQl9CgkJCQkJCQkJCWVsc2V7CgkJCQkJCQkJCQlpZihhcC5pbmRleE9mKCdhJykgIT09IC0xICYmIG4gPT09IDEyKXsKCQkJCQkJCQkJCQluID0gMDsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJfQoJCQkJCQkJCX0KCQkJCQkJCQkKCQkJCQkJCQl0cF9pbnN0LmNvbnRyb2wudmFsdWUodHBfaW5zdCwgdHBfaW5zdFtmKydfc2xpZGVyJ10sIGxpdGVtLCBuKTsKCgkJCQkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7CgkJCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJCQl9KQoJCQkJCQkuY3NzKHsKCQkJCQkJCQljdXJzb3I6ICdwb2ludGVyJywKCQkJCQkJCQl3aWR0aDogKDEwMCAvIGdyaWRTaXplW2xpdGVtXSkgKyAnJScsCgkJCQkJCQkJdGV4dEFsaWduOiAnY2VudGVyJywKCQkJCQkJCQlvdmVyZmxvdzogJ2hpZGRlbicKCQkJCQkJCX0pOwoJCQkJCX0gLy8gZW5kIGlmIGdyaWQgPiAwCgkJCQl9IC8vIGVuZCBmb3IgbG9vcAoKCQkJCS8vIEFkZCB0aW1lem9uZSBvcHRpb25zCgkJCQl0aGlzLnRpbWV6b25lX3NlbGVjdCA9ICR0cC5maW5kKCcudWlfdHBpY2tlcl90aW1lem9uZScpLmFwcGVuZCgnPHNlbGVjdD48L3NlbGVjdD4nKS5maW5kKCJzZWxlY3QiKTsKCQkJCSQuZm4uYXBwZW5kLmFwcGx5KHRoaXMudGltZXpvbmVfc2VsZWN0LAoJCQkJJC5tYXAoby50aW1lem9uZUxpc3QsIGZ1bmN0aW9uKHZhbCwgaWR4KSB7CgkJCQkJcmV0dXJuICQoIjxvcHRpb24gLz4iKS52YWwodHlwZW9mIHZhbCA9PSAib2JqZWN0IiA/IHZhbC52YWx1ZSA6IHZhbCkudGV4dCh0eXBlb2YgdmFsID09ICJvYmplY3QiID8gdmFsLmxhYmVsIDogdmFsKTsKCQkJCX0pKTsKCQkJCWlmICh0eXBlb2YodGhpcy50aW1lem9uZSkgIT0gInVuZGVmaW5lZCIgJiYgdGhpcy50aW1lem9uZSAhPT0gbnVsbCAmJiB0aGlzLnRpbWV6b25lICE9PSAiIikgewoJCQkJCXZhciBsb2NhbF9kYXRlID0gbmV3IERhdGUodGhpcy5pbnN0LnNlbGVjdGVkWWVhciwgdGhpcy5pbnN0LnNlbGVjdGVkTW9udGgsIHRoaXMuaW5zdC5zZWxlY3RlZERheSwgMTIpOwoJCQkJCXZhciBsb2NhbF90aW1lem9uZSA9ICQudGltZXBpY2tlci50aW1lWm9uZU9mZnNldFN0cmluZyhsb2NhbF9kYXRlKTsKCQkJCQlpZiAobG9jYWxfdGltZXpvbmUgPT0gdGhpcy50aW1lem9uZSkgewoJCQkJCQlzZWxlY3RMb2NhbFRpbWVab25lKHRwX2luc3QpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCh0aGlzLnRpbWV6b25lKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWlmICh0eXBlb2YodGhpcy5ob3VyKSAhPSAidW5kZWZpbmVkIiAmJiB0aGlzLmhvdXIgIT09IG51bGwgJiYgdGhpcy5ob3VyICE9PSAiIikgewoJCQkJCQl0aGlzLnRpbWV6b25lX3NlbGVjdC52YWwoby5kZWZhdWx0VGltZXpvbmUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGVjdExvY2FsVGltZVpvbmUodHBfaW5zdCk7CgkJCQkJfQoJCQkJfQoJCQkJdGhpcy50aW1lem9uZV9zZWxlY3QuY2hhbmdlKGZ1bmN0aW9uKCkgewoJCQkJCXRwX2luc3QuX2RlZmF1bHRzLnVzZUxvY2FsVGltZXpvbmUgPSBmYWxzZTsKCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCX0pOwoJCQkJLy8gRW5kIHRpbWV6b25lIG9wdGlvbnMKCQkJCQoJCQkJLy8gaW5qZWN0IHRpbWVwaWNrZXIgaW50byBkYXRlcGlja2VyCgkJCQl2YXIgJGJ1dHRvblBhbmVsID0gJGRwLmZpbmQoJy51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUnKTsKCQkJCWlmICgkYnV0dG9uUGFuZWwubGVuZ3RoKSB7CgkJCQkJJGJ1dHRvblBhbmVsLmJlZm9yZSgkdHApOwoJCQkJfSBlbHNlIHsKCQkJCQkkZHAuYXBwZW5kKCR0cCk7CgkJCQl9CgoJCQkJdGhpcy4kdGltZU9iaiA9ICR0cC5maW5kKCcudWlfdHBpY2tlcl90aW1lJyk7CgoJCQkJaWYgKHRoaXMuaW5zdCAhPT0gbnVsbCkgewoJCQkJCXZhciB0aW1lRGVmaW5lZCA9IHRoaXMudGltZURlZmluZWQ7CgkJCQkJdGhpcy5fb25UaW1lQ2hhbmdlKCk7CgkJCQkJdGhpcy50aW1lRGVmaW5lZCA9IHRpbWVEZWZpbmVkOwoJCQkJfQoKCQkJCS8vIHNsaWRlQWNjZXNzIGludGVncmF0aW9uOiBodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbS8yMDExLzExLzExL2pxdWVyeS11aS1zbGlkZXJzLWFuZC10b3VjaC1hY2Nlc3NpYmlsaXR5LwoJCQkJaWYgKHRoaXMuX2RlZmF1bHRzLmFkZFNsaWRlckFjY2VzcykgewoJCQkJCXZhciBzbGlkZXJBY2Nlc3NBcmdzID0gdGhpcy5fZGVmYXVsdHMuc2xpZGVyQWNjZXNzQXJncywKCQkJCQkJcnRsID0gdGhpcy5fZGVmYXVsdHMuaXNSVEw7CgkJCQkJc2xpZGVyQWNjZXNzQXJncy5pc1JUTCA9IHJ0bDsKCQkJCQkJCgkJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsgLy8gZml4IGZvciBpbmxpbmUgbW9kZQoJCQkJCQlpZiAoJHRwLmZpbmQoJy51aS1zbGlkZXItYWNjZXNzJykubGVuZ3RoID09PSAwKSB7CgkJCQkJCQkkdHAuZmluZCgnLnVpLXNsaWRlcjp2aXNpYmxlJykuc2xpZGVyQWNjZXNzKHNsaWRlckFjY2Vzc0FyZ3MpOwoKCQkJCQkJCS8vIGZpeCBhbnkgZ3JpZHMgc2luY2Ugc2xpZGVycyBhcmUgc2hvcnRlcgoJCQkJCQkJdmFyIHNsaWRlckFjY2Vzc1dpZHRoID0gJHRwLmZpbmQoJy51aS1zbGlkZXItYWNjZXNzOmVxKDApJykub3V0ZXJXaWR0aCh0cnVlKTsKCQkJCQkJCWlmIChzbGlkZXJBY2Nlc3NXaWR0aCkgewoJCQkJCQkJCSR0cC5maW5kKCd0YWJsZTp2aXNpYmxlJykuZWFjaChmdW5jdGlvbigpIHsKCQkJCQkJCQkJdmFyICRnID0gJCh0aGlzKSwKCQkJCQkJCQkJCW9sZFdpZHRoID0gJGcub3V0ZXJXaWR0aCgpLAoJCQkJCQkJCQkJb2xkTWFyZ2luTGVmdCA9ICRnLmNzcyhydGw/ICdtYXJnaW5SaWdodCc6J21hcmdpbkxlZnQnKS50b1N0cmluZygpLnJlcGxhY2UoJyUnLCAnJyksCgkJCQkJCQkJCQluZXdXaWR0aCA9IG9sZFdpZHRoIC0gc2xpZGVyQWNjZXNzV2lkdGgsCgkJCQkJCQkJCQluZXdNYXJnaW5MZWZ0ID0gKChvbGRNYXJnaW5MZWZ0ICogbmV3V2lkdGgpIC8gb2xkV2lkdGgpICsgJyUnLAoJCQkJCQkJCQkJY3NzID0geyB3aWR0aDogbmV3V2lkdGgsIG1hcmdpblJpZ2h0OiAwLCBtYXJnaW5MZWZ0OiAwIH07CgkJCQkJCQkJCWNzc1tydGw/ICdtYXJnaW5SaWdodCc6J21hcmdpbkxlZnQnXSA9IG5ld01hcmdpbkxlZnQ7CgkJCQkJCQkJCSRnLmNzcyhjc3MpOwoJCQkJCQkJCX0pOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSwgMTApOwoJCQkJfQoJCQkJLy8gZW5kIHNsaWRlQWNjZXNzIGludGVncmF0aW9uCgoJCQl9CgkJfSwKCgkJLyoKCQkqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gbGltaXQgdGhlIGFiaWxpdHkgdG8gZ28gb3V0c2lkZSB0aGUKCQkqIG1pbi9tYXggZGF0ZSByYW5nZQoJCSovCgkJX2xpbWl0TWluTWF4RGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QsIGFkanVzdFNsaWRlcnMpIHsKCQkJdmFyIG8gPSB0aGlzLl9kZWZhdWx0cywKCQkJCWRwX2RhdGUgPSBuZXcgRGF0ZShkcF9pbnN0LnNlbGVjdGVkWWVhciwgZHBfaW5zdC5zZWxlY3RlZE1vbnRoLCBkcF9pbnN0LnNlbGVjdGVkRGF5KTsKCgkJCWlmICghdGhpcy5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIpIHsKCQkJCXJldHVybjsKCQkJfSAvLyBObyB0aW1lIHNvIG5vdGhpbmcgdG8gY2hlY2sgaGVyZQoKCQkJaWYgKCQuZGF0ZXBpY2tlci5fZ2V0KGRwX2luc3QsICdtaW5EYXRlVGltZScpICE9PSBudWxsICYmICQuZGF0ZXBpY2tlci5fZ2V0KGRwX2luc3QsICdtaW5EYXRlVGltZScpICE9PSB1bmRlZmluZWQgJiYgZHBfZGF0ZSkgewoJCQkJdmFyIG1pbkRhdGVUaW1lID0gJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21pbkRhdGVUaW1lJyksCgkJCQkJbWluRGF0ZVRpbWVEYXRlID0gbmV3IERhdGUobWluRGF0ZVRpbWUuZ2V0RnVsbFllYXIoKSwgbWluRGF0ZVRpbWUuZ2V0TW9udGgoKSwgbWluRGF0ZVRpbWUuZ2V0RGF0ZSgpLCAwLCAwLCAwLCAwKTsKCgkJCQlpZiAodGhpcy5ob3VyTWluT3JpZ2luYWwgPT09IG51bGwgfHwgdGhpcy5taW51dGVNaW5PcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLnNlY29uZE1pbk9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMubWlsbGlzZWNNaW5PcmlnaW5hbCA9PT0gbnVsbCkgewoJCQkJCXRoaXMuaG91ck1pbk9yaWdpbmFsID0gby5ob3VyTWluOwoJCQkJCXRoaXMubWludXRlTWluT3JpZ2luYWwgPSBvLm1pbnV0ZU1pbjsKCQkJCQl0aGlzLnNlY29uZE1pbk9yaWdpbmFsID0gby5zZWNvbmRNaW47CgkJCQkJdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsID0gby5taWxsaXNlY01pbjsKCQkJCX0KCgkJCQlpZiAoZHBfaW5zdC5zZXR0aW5ncy50aW1lT25seSB8fCBtaW5EYXRlVGltZURhdGUuZ2V0VGltZSgpID09IGRwX2RhdGUuZ2V0VGltZSgpKSB7CgkJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1pbiA9IG1pbkRhdGVUaW1lLmdldEhvdXJzKCk7CgkJCQkJaWYgKHRoaXMuaG91ciA8PSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluKSB7CgkJCQkJCXRoaXMuaG91ciA9IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW47CgkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IG1pbkRhdGVUaW1lLmdldE1pbnV0ZXMoKTsKCQkJCQkJaWYgKHRoaXMubWludXRlIDw9IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbikgewoJCQkJCQkJdGhpcy5taW51dGUgPSB0aGlzLl9kZWZhdWx0cy5taW51dGVNaW47CgkJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSBtaW5EYXRlVGltZS5nZXRTZWNvbmRzKCk7CgkJCQkJCQlpZiAodGhpcy5zZWNvbmQgPD0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluKSB7CgkJCQkJCQkJdGhpcy5zZWNvbmQgPSB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW47CgkJCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4gPSBtaW5EYXRlVGltZS5nZXRNaWxsaXNlY29uZHMoKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJaWYgKHRoaXMubWlsbGlzZWMgPCB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01pbikgewoJCQkJCQkJCQl0aGlzLm1pbGxpc2VjID0gdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW47CgkJCQkJCQkJfQoJCQkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluID0gdGhpcy5zZWNvbmRNaW5PcmlnaW5hbDsKCQkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWluID0gdGhpcy5taW51dGVNaW5PcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluID0gdGhpcy5zZWNvbmRNaW5PcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4gPSB0aGlzLm1pbGxpc2VjTWluT3JpZ2luYWw7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLl9kZWZhdWx0cy5ob3VyTWluID0gdGhpcy5ob3VyTWluT3JpZ2luYWw7CgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWluID0gdGhpcy5taW51dGVNaW5PcmlnaW5hbDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOwoJCQkJfQoJCQl9CgoJCQlpZiAoJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21heERhdGVUaW1lJykgIT09IG51bGwgJiYgJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21heERhdGVUaW1lJykgIT09IHVuZGVmaW5lZCAmJiBkcF9kYXRlKSB7CgkJCQl2YXIgbWF4RGF0ZVRpbWUgPSAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnbWF4RGF0ZVRpbWUnKSwKCQkJCQltYXhEYXRlVGltZURhdGUgPSBuZXcgRGF0ZShtYXhEYXRlVGltZS5nZXRGdWxsWWVhcigpLCBtYXhEYXRlVGltZS5nZXRNb250aCgpLCBtYXhEYXRlVGltZS5nZXREYXRlKCksIDAsIDAsIDAsIDApOwoKCQkJCWlmICh0aGlzLmhvdXJNYXhPcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLm1pbnV0ZU1heE9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMuc2Vjb25kTWF4T3JpZ2luYWwgPT09IG51bGwpIHsKCQkJCQl0aGlzLmhvdXJNYXhPcmlnaW5hbCA9IG8uaG91ck1heDsKCQkJCQl0aGlzLm1pbnV0ZU1heE9yaWdpbmFsID0gby5taW51dGVNYXg7CgkJCQkJdGhpcy5zZWNvbmRNYXhPcmlnaW5hbCA9IG8uc2Vjb25kTWF4OwoJCQkJCXRoaXMubWlsbGlzZWNNYXhPcmlnaW5hbCA9IG8ubWlsbGlzZWNNYXg7CgkJCQl9CgoJCQkJaWYgKGRwX2luc3Quc2V0dGluZ3MudGltZU9ubHkgfHwgbWF4RGF0ZVRpbWVEYXRlLmdldFRpbWUoKSA9PSBkcF9kYXRlLmdldFRpbWUoKSkgewoJCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNYXggPSBtYXhEYXRlVGltZS5nZXRIb3VycygpOwoJCQkJCWlmICh0aGlzLmhvdXIgPj0gdGhpcy5fZGVmYXVsdHMuaG91ck1heCkgewoJCQkJCQl0aGlzLmhvdXIgPSB0aGlzLl9kZWZhdWx0cy5ob3VyTWF4OwoJCQkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggPSBtYXhEYXRlVGltZS5nZXRNaW51dGVzKCk7CgkJCQkJCWlmICh0aGlzLm1pbnV0ZSA+PSB0aGlzLl9kZWZhdWx0cy5taW51dGVNYXgpIHsKCQkJCQkJCXRoaXMubWludXRlID0gdGhpcy5fZGVmYXVsdHMubWludXRlTWF4OwoJCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gbWF4RGF0ZVRpbWUuZ2V0U2Vjb25kcygpOwoJCQkJCQl9IGVsc2UgaWYgKHRoaXMuc2Vjb25kID49IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heCkgewoJCQkJCQkJdGhpcy5zZWNvbmQgPSB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXg7CgkJCQkJCQl0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCA9IG1heERhdGVUaW1lLmdldE1pbGxpc2Vjb25kcygpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJaWYgKHRoaXMubWlsbGlzZWMgPiB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCkgewoJCQkJCQkJCXRoaXMubWlsbGlzZWMgPSB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heDsKCQkJCQkJCX0KCQkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4ID0gdGhpcy5taWxsaXNlY01heE9yaWdpbmFsOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWF4ID0gdGhpcy5taW51dGVNYXhPcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNYXggPSB0aGlzLm1pbGxpc2VjTWF4T3JpZ2luYWw7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLl9kZWZhdWx0cy5ob3VyTWF4ID0gdGhpcy5ob3VyTWF4T3JpZ2luYWw7CgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWF4ID0gdGhpcy5taW51dGVNYXhPcmlnaW5hbDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXggPSB0aGlzLnNlY29uZE1heE9yaWdpbmFsOwoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4ID0gdGhpcy5taWxsaXNlY01heE9yaWdpbmFsOwoJCQkJfQoJCQl9CgoJCQlpZiAoYWRqdXN0U2xpZGVycyAhPT0gdW5kZWZpbmVkICYmIGFkanVzdFNsaWRlcnMgPT09IHRydWUpIHsKCQkJCXZhciBob3VyTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLmhvdXJNYXggLSAoKHRoaXMuX2RlZmF1bHRzLmhvdXJNYXggLSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBIb3VyKSksIDEwKSwKCQkJCQltaW5NYXggPSBwYXJzZUludCgodGhpcy5fZGVmYXVsdHMubWludXRlTWF4IC0gKCh0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggLSB0aGlzLl9kZWZhdWx0cy5taW51dGVNaW4pICUgdGhpcy5fZGVmYXVsdHMuc3RlcE1pbnV0ZSkpLCAxMCksCgkJCQkJc2VjTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heCAtICgodGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4IC0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBTZWNvbmQpKSwgMTApLAoJCQkJCW1pbGxpc2VjTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4IC0gKCh0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCAtIHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBNaWxsaXNlYykpLCAxMCk7CgoJCQkJaWYgKHRoaXMuaG91cl9zbGlkZXIpIHsKCQkJCQl0aGlzLmNvbnRyb2wub3B0aW9ucyh0aGlzLCB0aGlzLmhvdXJfc2xpZGVyLCAnaG91cicsIHsgbWluOiB0aGlzLl9kZWZhdWx0cy5ob3VyTWluLCBtYXg6IGhvdXJNYXggfSk7CgkJCQkJdGhpcy5jb250cm9sLnZhbHVlKHRoaXMsIHRoaXMuaG91cl9zbGlkZXIsICdob3VyJywgdGhpcy5ob3VyKTsKCQkJCX0KCQkJCWlmICh0aGlzLm1pbnV0ZV9zbGlkZXIpIHsKCQkJCQl0aGlzLmNvbnRyb2wub3B0aW9ucyh0aGlzLCB0aGlzLm1pbnV0ZV9zbGlkZXIsICdtaW51dGUnLCB7IG1pbjogdGhpcy5fZGVmYXVsdHMubWludXRlTWluLCBtYXg6IG1pbk1heCB9KTsKCQkJCQl0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5taW51dGVfc2xpZGVyLCAnbWludXRlJywgdGhpcy5taW51dGUpOwoJCQkJfQoJCQkJaWYgKHRoaXMuc2Vjb25kX3NsaWRlcikgewoJCQkJCXRoaXMuY29udHJvbC5vcHRpb25zKHRoaXMsIHRoaXMuc2Vjb25kX3NsaWRlciwgJ3NlY29uZCcsIHsgbWluOiB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4sIG1heDogc2VjTWF4IH0pOwoJCQkJCXRoaXMuY29udHJvbC52YWx1ZSh0aGlzLCB0aGlzLnNlY29uZF9zbGlkZXIsICdzZWNvbmQnLCB0aGlzLnNlY29uZCk7CgkJCQl9CgkJCQlpZiAodGhpcy5taWxsaXNlY19zbGlkZXIpIHsKCQkJCQl0aGlzLmNvbnRyb2wub3B0aW9ucyh0aGlzLCB0aGlzLm1pbGxpc2VjX3NsaWRlciwgJ21pbGxpc2VjJywgeyBtaW46IHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluLCBtYXg6IG1pbGxpc2VjTWF4IH0pOwoJCQkJCXRoaXMuY29udHJvbC52YWx1ZSh0aGlzLCB0aGlzLm1pbGxpc2VjX3NsaWRlciwgJ21pbGxpc2VjJywgdGhpcy5taWxsaXNlYyk7CgkJCQl9CgkJCX0KCgkJfSwKCgkJLyoKCQkqIHdoZW4gYSBzbGlkZXIgbW92ZXMsIHNldCB0aGUgaW50ZXJuYWwgdGltZS4uLgoJCSogb24gdGltZSBjaGFuZ2UgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdGltZSBpcyB1cGRhdGVkIGluIHRoZSB0ZXh0IGZpZWxkCgkJKi8KCQlfb25UaW1lQ2hhbmdlOiBmdW5jdGlvbigpIHsKCQkJdmFyIGhvdXIgPSAodGhpcy5ob3VyX3NsaWRlcikgPyB0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5ob3VyX3NsaWRlciwgJ2hvdXInKSA6IGZhbHNlLAoJCQkJbWludXRlID0gKHRoaXMubWludXRlX3NsaWRlcikgPyB0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5taW51dGVfc2xpZGVyLCAnbWludXRlJykgOiBmYWxzZSwKCQkJCXNlY29uZCA9ICh0aGlzLnNlY29uZF9zbGlkZXIpID8gdGhpcy5jb250cm9sLnZhbHVlKHRoaXMsIHRoaXMuc2Vjb25kX3NsaWRlciwgJ3NlY29uZCcpIDogZmFsc2UsCgkJCQltaWxsaXNlYyA9ICh0aGlzLm1pbGxpc2VjX3NsaWRlcikgPyB0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5taWxsaXNlY19zbGlkZXIsICdtaWxsaXNlYycpIDogZmFsc2UsCgkJCQl0aW1lem9uZSA9ICh0aGlzLnRpbWV6b25lX3NlbGVjdCkgPyB0aGlzLnRpbWV6b25lX3NlbGVjdC52YWwoKSA6IGZhbHNlLAoJCQkJbyA9IHRoaXMuX2RlZmF1bHRzLAoJCQkJcGlja2VyVGltZUZvcm1hdCA9IG8ucGlja2VyVGltZUZvcm1hdCB8fCBvLnRpbWVGb3JtYXQsCgkJCQlwaWNrZXJUaW1lU3VmZml4ID0gby5waWNrZXJUaW1lU3VmZml4IHx8IG8udGltZVN1ZmZpeDsKCgkJCWlmICh0eXBlb2YoaG91cikgPT0gJ29iamVjdCcpIHsKCQkJCWhvdXIgPSBmYWxzZTsKCQkJfQoJCQlpZiAodHlwZW9mKG1pbnV0ZSkgPT0gJ29iamVjdCcpIHsKCQkJCW1pbnV0ZSA9IGZhbHNlOwoJCQl9CgkJCWlmICh0eXBlb2Yoc2Vjb25kKSA9PSAnb2JqZWN0JykgewoJCQkJc2Vjb25kID0gZmFsc2U7CgkJCX0KCQkJaWYgKHR5cGVvZihtaWxsaXNlYykgPT0gJ29iamVjdCcpIHsKCQkJCW1pbGxpc2VjID0gZmFsc2U7CgkJCX0KCQkJaWYgKHR5cGVvZih0aW1lem9uZSkgPT0gJ29iamVjdCcpIHsKCQkJCXRpbWV6b25lID0gZmFsc2U7CgkJCX0KCgkJCWlmIChob3VyICE9PSBmYWxzZSkgewoJCQkJaG91ciA9IHBhcnNlSW50KGhvdXIsIDEwKTsKCQkJfQoJCQlpZiAobWludXRlICE9PSBmYWxzZSkgewoJCQkJbWludXRlID0gcGFyc2VJbnQobWludXRlLCAxMCk7CgkJCX0KCQkJaWYgKHNlY29uZCAhPT0gZmFsc2UpIHsKCQkJCXNlY29uZCA9IHBhcnNlSW50KHNlY29uZCwgMTApOwoJCQl9CgkJCWlmIChtaWxsaXNlYyAhPT0gZmFsc2UpIHsKCQkJCW1pbGxpc2VjID0gcGFyc2VJbnQobWlsbGlzZWMsIDEwKTsKCQkJfQoKCQkJdmFyIGFtcG0gPSBvW2hvdXIgPCAxMiA/ICdhbU5hbWVzJyA6ICdwbU5hbWVzJ11bMF07CgoJCQkvLyBJZiB0aGUgdXBkYXRlIHdhcyBkb25lIGluIHRoZSBpbnB1dCBmaWVsZCwgdGhlIGlucHV0IGZpZWxkIHNob3VsZCBub3QgYmUgdXBkYXRlZC4KCQkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSB1c2luZyB0aGUgc2xpZGVycywgdXBkYXRlIHRoZSBpbnB1dCBmaWVsZC4KCQkJdmFyIGhhc0NoYW5nZWQgPSAoaG91ciAhPSB0aGlzLmhvdXIgfHwgbWludXRlICE9IHRoaXMubWludXRlIHx8IHNlY29uZCAhPSB0aGlzLnNlY29uZCB8fCBtaWxsaXNlYyAhPSB0aGlzLm1pbGxpc2VjIAoJCQkJCQkJCXx8ICh0aGlzLmFtcG0ubGVuZ3RoID4gMCAmJiAoaG91ciA8IDEyKSAhPSAoJC5pbkFycmF5KHRoaXMuYW1wbS50b1VwcGVyQ2FzZSgpLCB0aGlzLmFtTmFtZXMpICE9PSAtMSkpIAoJCQkJCQkJCXx8ICgodGhpcy50aW1lem9uZSA9PT0gbnVsbCAmJiB0aW1lem9uZSAhPSB0aGlzLmRlZmF1bHRUaW1lem9uZSkgfHwgKHRoaXMudGltZXpvbmUgIT09IG51bGwgJiYgdGltZXpvbmUgIT0gdGhpcy50aW1lem9uZSkpKTsKCgkJCWlmIChoYXNDaGFuZ2VkKSB7CgoJCQkJaWYgKGhvdXIgIT09IGZhbHNlKSB7CgkJCQkJdGhpcy5ob3VyID0gaG91cjsKCQkJCX0KCQkJCWlmIChtaW51dGUgIT09IGZhbHNlKSB7CgkJCQkJdGhpcy5taW51dGUgPSBtaW51dGU7CgkJCQl9CgkJCQlpZiAoc2Vjb25kICE9PSBmYWxzZSkgewoJCQkJCXRoaXMuc2Vjb25kID0gc2Vjb25kOwoJCQkJfQoJCQkJaWYgKG1pbGxpc2VjICE9PSBmYWxzZSkgewoJCQkJCXRoaXMubWlsbGlzZWMgPSBtaWxsaXNlYzsKCQkJCX0KCQkJCWlmICh0aW1lem9uZSAhPT0gZmFsc2UpIHsKCQkJCQl0aGlzLnRpbWV6b25lID0gdGltZXpvbmU7CgkJCQl9CgoJCQkJaWYgKCF0aGlzLmluc3QpIHsKCQkJCQl0aGlzLmluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QodGhpcy4kaW5wdXRbMF0pOwoJCQkJfQoKCQkJCXRoaXMuX2xpbWl0TWluTWF4RGF0ZVRpbWUodGhpcy5pbnN0LCB0cnVlKTsKCQkJfQoJCQlpZiAodXNlQW1wbShvLnRpbWVGb3JtYXQpKSB7CgkJCQl0aGlzLmFtcG0gPSBhbXBtOwoJCQl9CgoJCQkvLyBVcGRhdGVzIHRoZSB0aW1lIHdpdGhpbiB0aGUgdGltZXBpY2tlcgoJCQl0aGlzLmZvcm1hdHRlZFRpbWUgPSAkLmRhdGVwaWNrZXIuZm9ybWF0VGltZShvLnRpbWVGb3JtYXQsIHRoaXMsIG8pOwoJCQlpZiAodGhpcy4kdGltZU9iaikgewoJCQkJaWYocGlja2VyVGltZUZvcm1hdCA9PT0gby50aW1lRm9ybWF0KXsKCQkJCQl0aGlzLiR0aW1lT2JqLnRleHQodGhpcy5mb3JtYXR0ZWRUaW1lICsgcGlja2VyVGltZVN1ZmZpeCk7CgkJCQl9CgkJCQllbHNlewoJCQkJCXRoaXMuJHRpbWVPYmoudGV4dCgkLmRhdGVwaWNrZXIuZm9ybWF0VGltZShwaWNrZXJUaW1lRm9ybWF0LCB0aGlzLCBvKSArIHBpY2tlclRpbWVTdWZmaXgpOwoJCQkJfQoJCQl9CgoJCQl0aGlzLnRpbWVEZWZpbmVkID0gdHJ1ZTsKCQkJaWYgKGhhc0NoYW5nZWQpIHsKCQkJCXRoaXMuX3VwZGF0ZURhdGVUaW1lKCk7CgkJCX0KCQl9LAoKCQkvKgoJCSogY2FsbCBjdXN0b20gb25TZWxlY3QuCgkJKiBiaW5kIHRvIHNsaWRlcnMgc2xpZGVzdG9wLCBhbmQgZ3JpZCBjbGljay4KCQkqLwoJCV9vblNlbGVjdEhhbmRsZXI6IGZ1bmN0aW9uKCkgewoJCQl2YXIgb25TZWxlY3QgPSB0aGlzLl9kZWZhdWx0cy5vblNlbGVjdCB8fCB0aGlzLmluc3Quc2V0dGluZ3Mub25TZWxlY3Q7CgkJCXZhciBpbnB1dEVsID0gdGhpcy4kaW5wdXQgPyB0aGlzLiRpbnB1dFswXSA6IG51bGw7CgkJCWlmIChvblNlbGVjdCAmJiBpbnB1dEVsKSB7CgkJCQlvblNlbGVjdC5hcHBseShpbnB1dEVsLCBbdGhpcy5mb3JtYXR0ZWREYXRlVGltZSwgdGhpc10pOwoJCQl9CgkJfSwKCgkJLyoKCQkqIHVwZGF0ZSBvdXIgaW5wdXQgd2l0aCB0aGUgbmV3IGRhdGUgdGltZS4uCgkJKi8KCQlfdXBkYXRlRGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QpIHsKCQkJZHBfaW5zdCA9IHRoaXMuaW5zdCB8fCBkcF9pbnN0OwoJCQl2YXIgZHQgPSAkLmRhdGVwaWNrZXIuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGRwX2luc3Quc2VsZWN0ZWRZZWFyLCBkcF9pbnN0LnNlbGVjdGVkTW9udGgsIGRwX2luc3Quc2VsZWN0ZWREYXkpKSwKCQkJCWRhdGVGbXQgPSAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnZGF0ZUZvcm1hdCcpLAoJCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoZHBfaW5zdCksCgkJCQl0aW1lQXZhaWxhYmxlID0gZHQgIT09IG51bGwgJiYgdGhpcy50aW1lRGVmaW5lZDsKCQkJdGhpcy5mb3JtYXR0ZWREYXRlID0gJC5kYXRlcGlja2VyLmZvcm1hdERhdGUoZGF0ZUZtdCwgKGR0ID09PSBudWxsID8gbmV3IERhdGUoKSA6IGR0KSwgZm9ybWF0Q2ZnKTsKCQkJdmFyIGZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOwoKCQkJLyoKCQkJKiByZW1vdmUgZm9sbG93aW5nIGxpbmVzIHRvIGZvcmNlIGV2ZXJ5IGNoYW5nZXMgaW4gZGF0ZSBwaWNrZXIgdG8gY2hhbmdlIHRoZSBpbnB1dCB2YWx1ZQoJCQkqIEJ1ZyBkZXNjcmlwdGlvbnM6IHdoZW4gYW4gaW5wdXQgZmllbGQgaGFzIGEgZGVmYXVsdCB2YWx1ZSwgYW5kIGNsaWNrIG9uIHRoZSBmaWVsZCB0byBwb3AgdXAgdGhlIGRhdGUgcGlja2VyLiAKCQkJKiBJZiB0aGUgdXNlciBtYW51YWxseSBlbXB0eSB0aGUgdmFsdWUgaW4gdGhlIGlucHV0IGZpZWxkLCB0aGUgZGF0ZSBwaWNrZXIgd2lsbCBuZXZlciBjaGFuZ2Ugc2VsZWN0ZWQgdmFsdWUuCgkJCSovCgkJCS8vaWYgKGRwX2luc3QubGFzdFZhbCAhPT0gdW5kZWZpbmVkICYmIChkcF9pbnN0Lmxhc3RWYWwubGVuZ3RoID4gMCAmJiB0aGlzLiRpbnB1dC52YWwoKS5sZW5ndGggPT09IDApKSB7CgkJCS8vCXJldHVybjsKCQkJLy99CgoJCQlpZiAodGhpcy5fZGVmYXVsdHMudGltZU9ubHkgPT09IHRydWUpIHsKCQkJCWZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWRUaW1lOwoJCQl9IGVsc2UgaWYgKHRoaXMuX2RlZmF1bHRzLnRpbWVPbmx5ICE9PSB0cnVlICYmICh0aGlzLl9kZWZhdWx0cy5hbHdheXNTZXRUaW1lIHx8IHRpbWVBdmFpbGFibGUpKSB7CgkJCQlmb3JtYXR0ZWREYXRlVGltZSArPSB0aGlzLl9kZWZhdWx0cy5zZXBhcmF0b3IgKyB0aGlzLmZvcm1hdHRlZFRpbWUgKyB0aGlzLl9kZWZhdWx0cy50aW1lU3VmZml4OwoJCQl9CgoJCQl0aGlzLmZvcm1hdHRlZERhdGVUaW1lID0gZm9ybWF0dGVkRGF0ZVRpbWU7CgoJCQlpZiAoIXRoaXMuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyKSB7CgkJCQl0aGlzLiRpbnB1dC52YWwodGhpcy5mb3JtYXR0ZWREYXRlKTsKCQkJfSBlbHNlIGlmICh0aGlzLiRhbHRJbnB1dCAmJiB0aGlzLl9kZWZhdWx0cy5hbHRGaWVsZFRpbWVPbmx5ID09PSB0cnVlKSB7CgkJCQl0aGlzLiRhbHRJbnB1dC52YWwodGhpcy5mb3JtYXR0ZWRUaW1lKTsKCQkJCXRoaXMuJGlucHV0LnZhbCh0aGlzLmZvcm1hdHRlZERhdGUpOwoJCQl9IGVsc2UgaWYgKHRoaXMuJGFsdElucHV0KSB7CgkJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCQkJdmFyIGFsdEZvcm1hdHRlZERhdGVUaW1lID0gJycsCgkJCQkJYWx0U2VwYXJhdG9yID0gdGhpcy5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yID8gdGhpcy5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yIDogdGhpcy5fZGVmYXVsdHMuc2VwYXJhdG9yLAoJCQkJCWFsdFRpbWVTdWZmaXggPSB0aGlzLl9kZWZhdWx0cy5hbHRUaW1lU3VmZml4ID8gdGhpcy5fZGVmYXVsdHMuYWx0VGltZVN1ZmZpeCA6IHRoaXMuX2RlZmF1bHRzLnRpbWVTdWZmaXg7CgoJCQkJaWYgKHRoaXMuX2RlZmF1bHRzLmFsdEZvcm1hdCkgYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgPSAkLmRhdGVwaWNrZXIuZm9ybWF0RGF0ZSh0aGlzLl9kZWZhdWx0cy5hbHRGb3JtYXQsIChkdCA9PT0gbnVsbCA/IG5ldyBEYXRlKCkgOiBkdCksIGZvcm1hdENmZyk7CgkJCQllbHNlIGFsdEZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOwoJCQkJaWYgKGFsdEZvcm1hdHRlZERhdGVUaW1lKSBhbHRGb3JtYXR0ZWREYXRlVGltZSArPSBhbHRTZXBhcmF0b3I7CgkJCQlpZiAodGhpcy5fZGVmYXVsdHMuYWx0VGltZUZvcm1hdCkgYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgKz0gJC5kYXRlcGlja2VyLmZvcm1hdFRpbWUodGhpcy5fZGVmYXVsdHMuYWx0VGltZUZvcm1hdCwgdGhpcywgdGhpcy5fZGVmYXVsdHMpICsgYWx0VGltZVN1ZmZpeDsKCQkJCWVsc2UgYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgKz0gdGhpcy5mb3JtYXR0ZWRUaW1lICsgYWx0VGltZVN1ZmZpeDsKCQkJCXRoaXMuJGFsdElucHV0LnZhbChhbHRGb3JtYXR0ZWREYXRlVGltZSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCQl9CgoJCQl0aGlzLiRpbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKTsKCQl9LAoKCQlfb25Gb2N1czogZnVuY3Rpb24oKSB7CgkJCWlmICghdGhpcy4kaW5wdXQudmFsKCkgJiYgdGhpcy5fZGVmYXVsdHMuZGVmYXVsdFZhbHVlKSB7CgkJCQl0aGlzLiRpbnB1dC52YWwodGhpcy5fZGVmYXVsdHMuZGVmYXVsdFZhbHVlKTsKCQkJCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0LmdldCgwKSksCgkJCQkJdHBfaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJCQlpZiAodHBfaW5zdCkgewoJCQkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lT25seSAmJiAoaW5zdC5pbnB1dC52YWwoKSAhPSBpbnN0Lmxhc3RWYWwpKSB7CgkJCQkJCXRyeSB7CgkJCQkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJCQkJCX0gY2F0Y2ggKGVycikgewoJCQkJCQkJJC5kYXRlcGlja2VyLmxvZyhlcnIpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCgkJLyoKCQkqIFNtYWxsIGFic3RyYWN0aW9uIHRvIGNvbnRyb2wgdHlwZXMKCQkqIFdlIGNhbiBhZGQgbW9yZSwganVzdCBiZSBzdXJlIHRvIGZvbGxvdyB0aGUgcGF0dGVybjogY3JlYXRlLCBvcHRpb25zLCB2YWx1ZQoJCSovCgkJX2NvbnRyb2xzOiB7CgkJCS8vIHNsaWRlciBtZXRob2RzCgkJCXNsaWRlcjogewoJCQkJY3JlYXRlOiBmdW5jdGlvbih0cF9pbnN0LCBvYmosIHVuaXQsIHZhbCwgbWluLCBtYXgsIHN0ZXApewoJCQkJCXZhciBydGwgPSB0cF9pbnN0Ll9kZWZhdWx0cy5pc1JUTDsgLy8gaWYgcnRsIGdvIC02MC0+MCBpbnN0ZWFkIG9mIDAtPjYwCgkJCQkJcmV0dXJuIG9iai5wcm9wKCdzbGlkZScsIG51bGwpLnNsaWRlcih7CgkJCQkJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsCgkJCQkJCXZhbHVlOiBydGw/IHZhbCotMSA6IHZhbCwKCQkJCQkJbWluOiBydGw/IG1heCotMSA6IG1pbiwKCQkJCQkJbWF4OiBydGw/IG1pbiotMSA6IG1heCwKCQkJCQkJc3RlcDogc3RlcCwKCQkJCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkJCQkJdHBfaW5zdC5jb250cm9sLnZhbHVlKHRwX2luc3QsICQodGhpcyksIHVuaXQsIHJ0bD8gdWkudmFsdWUqLTE6dWkudmFsdWUpOwoJCQkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7CgkJCQkJCX0sCgkJCQkJCXN0b3A6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJCX0KCQkJCQl9KTsJCgkJCQl9LAoJCQkJb3B0aW9uczogZnVuY3Rpb24odHBfaW5zdCwgb2JqLCB1bml0LCBvcHRzLCB2YWwpewoJCQkJCWlmKHRwX2luc3QuX2RlZmF1bHRzLmlzUlRMKXsKCQkJCQkJaWYodHlwZW9mKG9wdHMpID09ICdzdHJpbmcnKXsKCQkJCQkJCWlmKG9wdHMgPT0gJ21pbicgfHwgb3B0cyA9PSAnbWF4Jyl7CgkJCQkJCQkJaWYodmFsICE9PSB1bmRlZmluZWQpCgkJCQkJCQkJCXJldHVybiBvYmouc2xpZGVyKG9wdHMsIHZhbCotMSk7CgkJCQkJCQkJcmV0dXJuIE1hdGguYWJzKG9iai5zbGlkZXIob3B0cykpOwoJCQkJCQkJfQoJCQkJCQkJcmV0dXJuIG9iai5zbGlkZXIob3B0cyk7CgkJCQkJCX0KCQkJCQkJdmFyIG1pbiA9IG9wdHMubWluLCAKCQkJCQkJCW1heCA9IG9wdHMubWF4OwoJCQkJCQlvcHRzLm1pbiA9IG9wdHMubWF4ID0gbnVsbDsKCQkJCQkJaWYobWluICE9PSB1bmRlZmluZWQpCgkJCQkJCQlvcHRzLm1heCA9IG1pbiAqIC0xOwoJCQkJCQlpZihtYXggIT09IHVuZGVmaW5lZCkKCQkJCQkJCW9wdHMubWluID0gbWF4ICogLTE7CgkJCQkJCXJldHVybiBvYmouc2xpZGVyKG9wdHMpOwoJCQkJCX0KCQkJCQlpZih0eXBlb2Yob3B0cykgPT0gJ3N0cmluZycgJiYgdmFsICE9PSB1bmRlZmluZWQpCgkJCQkJCQlyZXR1cm4gb2JqLnNsaWRlcihvcHRzLCB2YWwpOwoJCQkJCXJldHVybiBvYmouc2xpZGVyKG9wdHMpOwoJCQkJfSwKCQkJCXZhbHVlOiBmdW5jdGlvbih0cF9pbnN0LCBvYmosIHVuaXQsIHZhbCl7CgkJCQkJaWYodHBfaW5zdC5fZGVmYXVsdHMuaXNSVEwpewoJCQkJCQlpZih2YWwgIT09IHVuZGVmaW5lZCkKCQkJCQkJCXJldHVybiBvYmouc2xpZGVyKCd2YWx1ZScsIHZhbCotMSk7CgkJCQkJCXJldHVybiBNYXRoLmFicyhvYmouc2xpZGVyKCd2YWx1ZScpKTsKCQkJCQl9CgkJCQkJaWYodmFsICE9PSB1bmRlZmluZWQpCgkJCQkJCXJldHVybiBvYmouc2xpZGVyKCd2YWx1ZScsIHZhbCk7CgkJCQkJcmV0dXJuIG9iai5zbGlkZXIoJ3ZhbHVlJyk7CgkJCQl9CgkJCX0sCgkJCS8vIHNlbGVjdCBtZXRob2RzCgkJCXNlbGVjdDogewoJCQkJY3JlYXRlOiBmdW5jdGlvbih0cF9pbnN0LCBvYmosIHVuaXQsIHZhbCwgbWluLCBtYXgsIHN0ZXApewoJCQkJCXZhciBzZWwgPSAnPHNlbGVjdCBjbGFzcz0idWktdGltZXBpY2tlci1zZWxlY3QiIGRhdGEtdW5pdD0iJysgdW5pdCArJyIgZGF0YS1taW49IicrIG1pbiArJyIgZGF0YS1tYXg9IicrIG1heCArJyIgZGF0YS1zdGVwPSInKyBzdGVwICsnIj4nLAoJCQkJCQl1bCA9IHRwX2luc3QuX2RlZmF1bHRzLnRpbWVGb3JtYXQuaW5kZXhPZigndCcpICE9PSAtMT8gJ3RvTG93ZXJDYXNlJzondG9VcHBlckNhc2UnLAoJCQkJCQltID0gMDsKCgkJCQkJZm9yKHZhciBpPW1pbjsgaTw9bWF4OyBpKz1zdGVwKXsJCQkJCQkKCQkJCQkJc2VsICs9ICc8b3B0aW9uIHZhbHVlPSInKyBpICsnIicrIChpPT12YWw/ICcgc2VsZWN0ZWQnOicnKSArJz4nOwoJCQkJCQlpZih1bml0ID09ICdob3VyJyAmJiB1c2VBbXBtKHRwX2luc3QuX2RlZmF1bHRzLnBpY2tlclRpbWVGb3JtYXQgfHwgdHBfaW5zdC5fZGVmYXVsdHMudGltZUZvcm1hdCkpCgkJCQkJCQlzZWwgKz0gJC5kYXRlcGlja2VyLmZvcm1hdFRpbWUoImhoIFRUIiwge2hvdXI6aX0sIHRwX2luc3QuX2RlZmF1bHRzKTsKCQkJCQkJZWxzZSBpZih1bml0ID09ICdtaWxsaXNlYycgfHwgaSA+PSAxMCkgc2VsICs9IGk7CgkJCQkJCWVsc2Ugc2VsICs9ICcwJysgaS50b1N0cmluZygpOwoJCQkJCQlzZWwgKz0gJzwvb3B0aW9uPic7CgkJCQkJfQoJCQkJCXNlbCArPSAnPC9zZWxlY3Q+JzsKCgkJCQkJb2JqLmNoaWxkcmVuKCdzZWxlY3QnKS5yZW1vdmUoKTsKCgkJCQkJJChzZWwpLmFwcGVuZFRvKG9iaikuY2hhbmdlKGZ1bmN0aW9uKGUpewoJCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJfSk7CgoJCQkJCXJldHVybiBvYmo7CgkJCQl9LAoJCQkJb3B0aW9uczogZnVuY3Rpb24odHBfaW5zdCwgb2JqLCB1bml0LCBvcHRzLCB2YWwpewoJCQkJCXZhciBvID0ge30sCgkJCQkJCSR0ID0gb2JqLmNoaWxkcmVuKCdzZWxlY3QnKTsKCQkJCQlpZih0eXBlb2Yob3B0cykgPT0gJ3N0cmluZycpewoJCQkJCQlpZih2YWwgPT09IHVuZGVmaW5lZCkKCQkJCQkJCXJldHVybiAkdC5kYXRhKG9wdHMpOwoJCQkJCQlvW29wdHNdID0gdmFsOwkKCQkJCQl9CgkJCQkJZWxzZSBvID0gb3B0czsKCQkJCQlyZXR1cm4gdHBfaW5zdC5jb250cm9sLmNyZWF0ZSh0cF9pbnN0LCBvYmosICR0LmRhdGEoJ3VuaXQnKSwgJHQudmFsKCksIG8ubWluIHx8ICR0LmRhdGEoJ21pbicpLCBvLm1heCB8fCAkdC5kYXRhKCdtYXgnKSwgby5zdGVwIHx8ICR0LmRhdGEoJ3N0ZXAnKSk7CgkJCQl9LAoJCQkJdmFsdWU6IGZ1bmN0aW9uKHRwX2luc3QsIG9iaiwgdW5pdCwgdmFsKXsKCQkJCQl2YXIgJHQgPSBvYmouY2hpbGRyZW4oJ3NlbGVjdCcpOwoJCQkJCWlmKHZhbCAhPT0gdW5kZWZpbmVkKQoJCQkJCQlyZXR1cm4gJHQudmFsKHZhbCk7CgkJCQkJcmV0dXJuICR0LnZhbCgpOwoJCQkJfQoJCQl9CgkJfSAvLyBlbmQgX2NvbnRyb2xzCgoJfSk7CgoJJC5mbi5leHRlbmQoewoJCS8qCgkJKiBzaG9ydGhhbmQganVzdCB0byB1c2UgdGltZXBpY2tlci4uCgkJKi8KCQl0aW1lcGlja2VyOiBmdW5jdGlvbihvKSB7CgkJCW8gPSBvIHx8IHt9OwoJCQl2YXIgdG1wX2FyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwoKCQkJaWYgKHR5cGVvZiBvID09ICdvYmplY3QnKSB7CgkJCQl0bXBfYXJnc1swXSA9ICQuZXh0ZW5kKG8sIHsKCQkJCQl0aW1lT25seTogdHJ1ZQoJCQkJfSk7CgkJCX0KCgkJCXJldHVybiAkKHRoaXMpLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkkLmZuLmRhdGV0aW1lcGlja2VyLmFwcGx5KCQodGhpcyksIHRtcF9hcmdzKTsKCQkJfSk7CgkJfSwKCgkJLyoKCQkqIGV4dGVuZCB0aW1lcGlja2VyIHRvIGRhdGVwaWNrZXIKCQkqLwoJCWRhdGV0aW1lcGlja2VyOiBmdW5jdGlvbihvKSB7CgkJCW8gPSBvIHx8IHt9OwoJCQl2YXIgdG1wX2FyZ3MgPSBhcmd1bWVudHM7CgoJCQlpZiAodHlwZW9mKG8pID09ICdzdHJpbmcnKSB7CgkJCQlpZiAobyA9PSAnZ2V0RGF0ZScpIHsKCQkJCQlyZXR1cm4gJC5mbi5kYXRlcGlja2VyLmFwcGx5KCQodGhpc1swXSksIHRtcF9hcmdzKTsKCQkJCX0gZWxzZSB7CgkJCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCQkJdmFyICR0ID0gJCh0aGlzKTsKCQkJCQkJJHQuZGF0ZXBpY2tlci5hcHBseSgkdCwgdG1wX2FyZ3MpOwoJCQkJCX0pOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCQl2YXIgJHQgPSAkKHRoaXMpOwoJCQkJCSR0LmRhdGVwaWNrZXIoJC50aW1lcGlja2VyLl9uZXdJbnN0KCR0LCBvKS5fZGVmYXVsdHMpOwoJCQkJfSk7CgkJCX0KCQl9Cgl9KTsKCgkvKgoJKiBQdWJsaWMgVXRpbGl0eSB0byBwYXJzZSBkYXRlIGFuZCB0aW1lCgkqLwoJJC5kYXRlcGlja2VyLnBhcnNlRGF0ZVRpbWUgPSBmdW5jdGlvbihkYXRlRm9ybWF0LCB0aW1lRm9ybWF0LCBkYXRlVGltZVN0cmluZywgZGF0ZVNldHRpbmdzLCB0aW1lU2V0dGluZ3MpIHsKCQl2YXIgcGFyc2VSZXMgPSBwYXJzZURhdGVUaW1lSW50ZXJuYWwoZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZVRpbWVTdHJpbmcsIGRhdGVTZXR0aW5ncywgdGltZVNldHRpbmdzKTsKCQlpZiAocGFyc2VSZXMudGltZU9iaikgewoJCQl2YXIgdCA9IHBhcnNlUmVzLnRpbWVPYmo7CgkJCXBhcnNlUmVzLmRhdGUuc2V0SG91cnModC5ob3VyLCB0Lm1pbnV0ZSwgdC5zZWNvbmQsIHQubWlsbGlzZWMpOwoJCX0KCgkJcmV0dXJuIHBhcnNlUmVzLmRhdGU7Cgl9OwoKCS8qCgkqIFB1YmxpYyB1dGlsaXR5IHRvIHBhcnNlIHRpbWUKCSovCgkkLmRhdGVwaWNrZXIucGFyc2VUaW1lID0gZnVuY3Rpb24odGltZUZvcm1hdCwgdGltZVN0cmluZywgb3B0aW9ucykgewkJCgkJdmFyIG8gPSBleHRlbmRSZW1vdmUoZXh0ZW5kUmVtb3ZlKHt9LCAkLnRpbWVwaWNrZXIuX2RlZmF1bHRzKSwgb3B0aW9ucyB8fCB7fSk7CgoJCS8vIFN0cmljdCBwYXJzZSByZXF1aXJlcyB0aGUgdGltZVN0cmluZyB0byBtYXRjaCB0aGUgdGltZUZvcm1hdCBleGFjdGx5CgkJdmFyIHN0cmljdFBhcnNlID0gZnVuY3Rpb24oZiwgcywgbyl7CgoJCQkvLyBwYXR0ZXJuIGZvciBzdGFuZGFyZCBhbmQgbG9jYWxpemVkIEFNL1BNIG1hcmtlcnMKCQkJdmFyIGdldFBhdHRlcm5BbXBtID0gZnVuY3Rpb24oYW1OYW1lcywgcG1OYW1lcykgewoJCQkJdmFyIG1hcmtlcnMgPSBbXTsKCQkJCWlmIChhbU5hbWVzKSB7CgkJCQkJJC5tZXJnZShtYXJrZXJzLCBhbU5hbWVzKTsKCQkJCX0KCQkJCWlmIChwbU5hbWVzKSB7CgkJCQkJJC5tZXJnZShtYXJrZXJzLCBwbU5hbWVzKTsKCQkJCX0KCQkJCW1hcmtlcnMgPSAkLm1hcChtYXJrZXJzLCBmdW5jdGlvbih2YWwpIHsKCQkJCQlyZXR1cm4gdmFsLnJlcGxhY2UoL1suKis/fCgpXFtcXXt9XFxdL2csICdcXCQmJyk7CgkJCQl9KTsKCQkJCXJldHVybiAnKCcgKyBtYXJrZXJzLmpvaW4oJ3wnKSArICcpPyc7CgkJCX07CgoJCQkvLyBmaWd1cmUgb3V0IHBvc2l0aW9uIG9mIHRpbWUgZWxlbWVudHMuLiBjYXVzZSBqcyBjYW50IGRvIG5hbWVkIGNhcHR1cmVzCgkJCXZhciBnZXRGb3JtYXRQb3NpdGlvbnMgPSBmdW5jdGlvbih0aW1lRm9ybWF0KSB7CgkJCQl2YXIgZmluZHMgPSB0aW1lRm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhoezEsMn18bXsxLDJ9fHN7MSwyfXxsezF9fHR7MSwyfXx6fCcuKj8nKS9nKSwKCQkJCQlvcmRlcnMgPSB7CgkJCQkJCWg6IC0xLAoJCQkJCQltOiAtMSwKCQkJCQkJczogLTEsCgkJCQkJCWw6IC0xLAoJCQkJCQl0OiAtMSwKCQkJCQkJejogLTEKCQkJCQl9OwoKCQkJCWlmIChmaW5kcykgewoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZmluZHMubGVuZ3RoOyBpKyspIHsKCQkJCQkJaWYgKG9yZGVyc1tmaW5kc1tpXS50b1N0cmluZygpLmNoYXJBdCgwKV0gPT0gLTEpIHsKCQkJCQkJCW9yZGVyc1tmaW5kc1tpXS50b1N0cmluZygpLmNoYXJBdCgwKV0gPSBpICsgMTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiBvcmRlcnM7CgkJCX07CgoJCQl2YXIgcmVnc3RyID0gJ14nICsgZi50b1N0cmluZygpCgkJCQkJLnJlcGxhY2UoLyhbaEhdezEsMn18bW0/fHNzP3xbdFRdezEsMn18W2x6XXwnLio/JykvZywgZnVuY3Rpb24gKG1hdGNoKSB7CgkJCQkJCQlzd2l0Y2ggKG1hdGNoLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpKSB7CgkJCQkJCQkJY2FzZSAnaCc6IHJldHVybiAnKFxcZD9cXGQpJzsKCQkJCQkJCQljYXNlICdtJzogcmV0dXJuICcoXFxkP1xcZCknOwoJCQkJCQkJCWNhc2UgJ3MnOiByZXR1cm4gJyhcXGQ/XFxkKSc7CgkJCQkJCQkJY2FzZSAnbCc6IHJldHVybiAnKFxcZD9cXGQ/XFxkKSc7CgkJCQkJCQkJY2FzZSAneic6IHJldHVybiAnKHp8Wy0rXVxcZFxcZDo/XFxkXFxkfFxcUyspPyc7CgkJCQkJCQkJY2FzZSAndCc6IHJldHVybiBnZXRQYXR0ZXJuQW1wbShvLmFtTmFtZXMsIG8ucG1OYW1lcyk7CgkJCQkJCQkJZGVmYXVsdDogICAgLy8gbGl0ZXJhbCBlc2NhcGVkIGluIHF1b3RlcwoJCQkJCQkJCQlyZXR1cm4gJygnICsgbWF0Y2gucmVwbGFjZSgvXCcvZywgIiIpLnJlcGxhY2UoLyhcLnxcJHxcXnxcXHxcL3xcKHxcKXxcW3xcXXxcP3xcK3xcKikvZywgZnVuY3Rpb24gKG0pIHsgcmV0dXJuICJcXCIgKyBtOyB9KSArICcpPyc7CgkJCQkJCQl9CgkJCQkJCX0pCgkJCQkJLnJlcGxhY2UoL1xzL2csICdcXHM/JykgKwoJCQkJCW8udGltZVN1ZmZpeCArICckJywKCQkJCW9yZGVyID0gZ2V0Rm9ybWF0UG9zaXRpb25zKGYpLAoJCQkJYW1wbSA9ICcnLAoJCQkJdHJlZzsKCgkJCXRyZWcgPSBzLm1hdGNoKG5ldyBSZWdFeHAocmVnc3RyLCAnaScpKTsKCgkJCXZhciByZXNUaW1lID0gewoJCQkJaG91cjogMCwKCQkJCW1pbnV0ZTogMCwKCQkJCXNlY29uZDogMCwKCQkJCW1pbGxpc2VjOiAwCgkJCX07CgoJCQlpZiAodHJlZykgewoJCQkJaWYgKG9yZGVyLnQgIT09IC0xKSB7CgkJCQkJaWYgKHRyZWdbb3JkZXIudF0gPT09IHVuZGVmaW5lZCB8fCB0cmVnW29yZGVyLnRdLmxlbmd0aCA9PT0gMCkgewoJCQkJCQlhbXBtID0gJyc7CgkJCQkJCXJlc1RpbWUuYW1wbSA9ICcnOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWFtcG0gPSAkLmluQXJyYXkodHJlZ1tvcmRlci50XS50b1VwcGVyQ2FzZSgpLCBvLmFtTmFtZXMpICE9PSAtMSA/ICdBTScgOiAnUE0nOwoJCQkJCQlyZXNUaW1lLmFtcG0gPSBvW2FtcG0gPT0gJ0FNJyA/ICdhbU5hbWVzJyA6ICdwbU5hbWVzJ11bMF07CgkJCQkJfQoJCQkJfQoKCQkJCWlmIChvcmRlci5oICE9PSAtMSkgewoJCQkJCWlmIChhbXBtID09ICdBTScgJiYgdHJlZ1tvcmRlci5oXSA9PSAnMTInKSB7CgkJCQkJCXJlc1RpbWUuaG91ciA9IDA7IC8vIDEyYW0gPSAwIGhvdXIKCQkJCQl9IGVsc2UgewoJCQkJCQlpZiAoYW1wbSA9PSAnUE0nICYmIHRyZWdbb3JkZXIuaF0gIT0gJzEyJykgewoJCQkJCQkJcmVzVGltZS5ob3VyID0gcGFyc2VJbnQodHJlZ1tvcmRlci5oXSwgMTApICsgMTI7IC8vIDEycG0gPSAxMiBob3VyLCBhbnkgb3RoZXIgcG0gPSBob3VyICsgMTIKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXJlc1RpbWUuaG91ciA9IE51bWJlcih0cmVnW29yZGVyLmhdKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQlpZiAob3JkZXIubSAhPT0gLTEpIHsKCQkJCQlyZXNUaW1lLm1pbnV0ZSA9IE51bWJlcih0cmVnW29yZGVyLm1dKTsKCQkJCX0KCQkJCWlmIChvcmRlci5zICE9PSAtMSkgewoJCQkJCXJlc1RpbWUuc2Vjb25kID0gTnVtYmVyKHRyZWdbb3JkZXIuc10pOwoJCQkJfQoJCQkJaWYgKG9yZGVyLmwgIT09IC0xKSB7CgkJCQkJcmVzVGltZS5taWxsaXNlYyA9IE51bWJlcih0cmVnW29yZGVyLmxdKTsKCQkJCX0KCQkJCWlmIChvcmRlci56ICE9PSAtMSAmJiB0cmVnW29yZGVyLnpdICE9PSB1bmRlZmluZWQpIHsKCQkJCQl2YXIgdHogPSB0cmVnW29yZGVyLnpdLnRvVXBwZXJDYXNlKCk7CgkJCQkJc3dpdGNoICh0ei5sZW5ndGgpIHsKCQkJCQljYXNlIDE6CgkJCQkJCS8vIFoKCQkJCQkJdHogPSBvLnRpbWV6b25lSXNvODYwMSA/ICdaJyA6ICcrMDAwMCc7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgNToKCQkJCQkJLy8gK2hobW0KCQkJCQkJaWYgKG8udGltZXpvbmVJc284NjAxKSB7CgkJCQkJCQl0eiA9IHR6LnN1YnN0cmluZygxKSA9PSAnMDAwMCcgPyAnWicgOiB0ei5zdWJzdHJpbmcoMCwgMykgKyAnOicgKyB0ei5zdWJzdHJpbmcoMyk7CgkJCQkJCX0KCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSA2OgoJCQkJCQkvLyAraGg6bW0KCQkJCQkJaWYgKCFvLnRpbWV6b25lSXNvODYwMSkgewoJCQkJCQkJdHogPSB0eiA9PSAnWicgfHwgdHouc3Vic3RyaW5nKDEpID09ICcwMDowMCcgPyAnKzAwMDAnIDogdHoucmVwbGFjZSgvOi8sICcnKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWlmICh0ei5zdWJzdHJpbmcoMSkgPT0gJzAwOjAwJykgewoJCQkJCQkJCXR6ID0gJ1onOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlyZXNUaW1lLnRpbWV6b25lID0gdHo7CgkJCQl9CgoKCQkJCXJldHVybiByZXNUaW1lOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9Oy8vIGVuZCBzdHJpY3RQYXJzZQoKCQkvLyBGaXJzdCB0cnkgSlMgRGF0ZSwgaWYgdGhhdCBmYWlscywgdXNlIHN0cmljdFBhcnNlCgkJdmFyIGxvb3NlUGFyc2UgPSBmdW5jdGlvbihmLHMsbyl7CgkJCXRyeXsKCQkJCXZhciBkID0gbmV3IERhdGUoJzIwMTItMDEtMDEgJysgcyk7CgkJCQlyZXR1cm4gewoJCQkJCWhvdXI6IGQuZ2V0SG91cnMoKSwKCQkJCQltaW51dGVzOiBkLmdldE1pbnV0ZXMoKSwKCQkJCQlzZWNvbmRzOiBkLmdldFNlY29uZHMoKSwKCQkJCQltaWxsaXNlYzogZC5nZXRNaWxsaXNlY29uZHMoKSwKCQkJCQl0aW1lem9uZTogJC50aW1lcGlja2VyLnRpbWVab25lT2Zmc2V0U3RyaW5nKGQpCgkJCQl9OwoJCQl9CgkJCWNhdGNoKGVycil7CgkJCQl0cnl7CgkJCQkJcmV0dXJuIHN0cmljdFBhcnNlKGYscyxvKTsKCQkJCX0KCQkJCWNhdGNoKGVycjIpewoJCQkJCSQuZGF0ZXBpY2tlci5sb2coIlVuYWJsZSB0byBwYXJzZSBcbnRpbWVTdHJpbmc6ICIrIHMgKyJcbnRpbWVGb3JtYXQ6ICIrIGYpOwoJCQkJfQkJCQkKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfTsgLy8gZW5kIGxvb3NlUGFyc2UKCQkKCQlpZih0eXBlb2Ygby5wYXJzZSA9PT0gImZ1bmN0aW9uIil7CgkJCXJldHVybiBvLnBhcnNlKHRpbWVGb3JtYXQsIHRpbWVTdHJpbmcsIG8pCgkJfQoJCWlmKG8ucGFyc2UgPT09ICdsb29zZScpewoJCQlyZXR1cm4gbG9vc2VQYXJzZSh0aW1lRm9ybWF0LCB0aW1lU3RyaW5nLCBvKTsKCQl9CgkJcmV0dXJuIHN0cmljdFBhcnNlKHRpbWVGb3JtYXQsIHRpbWVTdHJpbmcsIG8pOwoJfTsKCgkvKgoJKiBQdWJsaWMgdXRpbGl0eSB0byBmb3JtYXQgdGhlIHRpbWUKCSogZm9ybWF0ID0gc3RyaW5nIGZvcm1hdCBvZiB0aGUgdGltZQoJKiB0aW1lID0gYSB7fSwgbm90IGEgRGF0ZSgpIGZvciB0aW1lem9uZXMKCSogb3B0aW9ucyA9IGVzc2VudGlhbGx5IHRoZSByZWdpb25hbFtdLi4gYW1OYW1lcywgcG1OYW1lcywgYW1wbQoJKi8KCSQuZGF0ZXBpY2tlci5mb3JtYXRUaW1lID0gZnVuY3Rpb24oZm9ybWF0LCB0aW1lLCBvcHRpb25zKSB7CgkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307CgkJb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLnRpbWVwaWNrZXIuX2RlZmF1bHRzLCBvcHRpb25zKTsKCQl0aW1lID0gJC5leHRlbmQoewoJCQlob3VyOiAwLAoJCQltaW51dGU6IDAsCgkJCXNlY29uZDogMCwKCQkJbWlsbGlzZWM6IDAsCgkJCXRpbWV6b25lOiAnKzAwMDAnCgkJfSwgdGltZSk7CgoJCXZhciB0bXB0aW1lID0gZm9ybWF0LAoJCQlhbXBtTmFtZSA9IG9wdGlvbnMuYW1OYW1lc1swXSwKCQkJaG91ciA9IHBhcnNlSW50KHRpbWUuaG91ciwgMTApOwoKCQlpZiAoaG91ciA+IDExKSB7CgkJCWFtcG1OYW1lID0gb3B0aW9ucy5wbU5hbWVzWzBdOwoJCX0KCgkJdG1wdGltZSA9IHRtcHRpbWUucmVwbGFjZSgvKD86SEg/fGhoP3xtbT98c3M/fFt0VF17MSwyfXxbbHpdfCgnLio/J3wiLio/IikpL2csIGZ1bmN0aW9uKG1hdGNoKSB7CgkJc3dpdGNoIChtYXRjaCkgewoJCQljYXNlICdISCc6CgkJCQlyZXR1cm4gKCcwJyArIGhvdXIpLnNsaWNlKC0yKTsKCQkJY2FzZSAnSCc6CgkJCQlyZXR1cm4gaG91cjsKCQkJY2FzZSAnaGgnOgoJCQkJcmV0dXJuICgnMCcgKyBjb252ZXJ0MjR0bzEyKGhvdXIpKS5zbGljZSgtMik7CgkJCWNhc2UgJ2gnOgoJCQkJcmV0dXJuIGNvbnZlcnQyNHRvMTIoaG91cik7CgkJCWNhc2UgJ21tJzoKCQkJCXJldHVybiAoJzAnICsgdGltZS5taW51dGUpLnNsaWNlKC0yKTsKCQkJY2FzZSAnbSc6CgkJCQlyZXR1cm4gdGltZS5taW51dGU7CgkJCWNhc2UgJ3NzJzoKCQkJCXJldHVybiAoJzAnICsgdGltZS5zZWNvbmQpLnNsaWNlKC0yKTsKCQkJY2FzZSAncyc6CgkJCQlyZXR1cm4gdGltZS5zZWNvbmQ7CgkJCWNhc2UgJ2wnOgoJCQkJcmV0dXJuICgnMDAnICsgdGltZS5taWxsaXNlYykuc2xpY2UoLTMpOwoJCQljYXNlICd6JzoKCQkJCXJldHVybiB0aW1lLnRpbWV6b25lID09PSBudWxsPyBvcHRpb25zLmRlZmF1bHRUaW1lem9uZSA6IHRpbWUudGltZXpvbmU7CgkJCWNhc2UgJ1QnOiAKCQkJCXJldHVybiBhbXBtTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKTsKCQkJY2FzZSAnVFQnOiAKCQkJCXJldHVybiBhbXBtTmFtZS50b1VwcGVyQ2FzZSgpOwoJCQljYXNlICd0JzoKCQkJCXJldHVybiBhbXBtTmFtZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTsKCQkJY2FzZSAndHQnOgoJCQkJcmV0dXJuIGFtcG1OYW1lLnRvTG93ZXJDYXNlKCk7CgkJCWRlZmF1bHQ6CgkJCQlyZXR1cm4gbWF0Y2gucmVwbGFjZSgvXCcvZywgIiIpIHx8ICInIjsKCQkJfQoJCX0pOwoKCQl0bXB0aW1lID0gJC50cmltKHRtcHRpbWUpOwoJCXJldHVybiB0bXB0aW1lOwoJfTsKCgkvKgoJKiB0aGUgYmFkIGhhY2sgOi8gb3ZlcnJpZGUgZGF0ZXBpY2tlciBzbyBpdCBkb2VzbnQgY2xvc2Ugb24gc2VsZWN0CgkvLyBpbnNwaXJlZDogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUyNTEyL2pxdWVyeS1kYXRlcGlja2VyLXByZXZlbnQtY2xvc2luZy1waWNrZXItd2hlbi1jbGlja2luZy1hLWRhdGUvMTc2MjM3OCMxNzYyMzc4CgkqLwoJJC5kYXRlcGlja2VyLl9iYXNlX3NlbGVjdERhdGUgPSAkLmRhdGVwaWNrZXIuX3NlbGVjdERhdGU7CgkkLmRhdGVwaWNrZXIuX3NlbGVjdERhdGUgPSBmdW5jdGlvbihpZCwgZGF0ZVN0cikgewoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCgkKGlkKVswXSksCgkJCXRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCgkJaWYgKHRwX2luc3QpIHsKCQkJdHBfaW5zdC5fbGltaXRNaW5NYXhEYXRlVGltZShpbnN0LCB0cnVlKTsKCQkJaW5zdC5pbmxpbmUgPSBpbnN0LnN0YXlfb3BlbiA9IHRydWU7CgkJCS8vVGhpcyB3YXkgdGhlIG9uU2VsZWN0IGhhbmRsZXIgY2FsbGVkIGZyb20gY2FsZW5kYXJwaWNrZXIgZ2V0IHRoZSBmdWxsIGRhdGVUaW1lCgkJCXRoaXMuX2Jhc2Vfc2VsZWN0RGF0ZShpZCwgZGF0ZVN0cik7CgkJCWluc3QuaW5saW5lID0gaW5zdC5zdGF5X29wZW4gPSBmYWxzZTsKCQkJdGhpcy5fbm90aWZ5Q2hhbmdlKGluc3QpOwoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOwoJCX0gZWxzZSB7CgkJCXRoaXMuX2Jhc2Vfc2VsZWN0RGF0ZShpZCwgZGF0ZVN0cik7CgkJfQoJfTsKCgkvKgoJKiBzZWNvbmQgYmFkIGhhY2sgOi8gb3ZlcnJpZGUgZGF0ZXBpY2tlciBzbyBpdCB0cmlnZ2VycyBhbiBldmVudCB3aGVuIGNoYW5naW5nIHRoZSBpbnB1dCBmaWVsZAoJKiBhbmQgZG9lcyBub3QgcmVkcmF3IHRoZSBkYXRlcGlja2VyIG9uIGV2ZXJ5IHNlbGVjdERhdGUgZXZlbnQKCSovCgkkLmRhdGVwaWNrZXIuX2Jhc2VfdXBkYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcjsKCSQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKGluc3QpIHsKCgkJLy8gZG9uJ3QgcG9wdXAgdGhlIGRhdGVwaWNrZXIgaWYgdGhlcmUgaXMgYW5vdGhlciBpbnN0YW5jZSBhbHJlYWR5IG9wZW5lZAoJCXZhciBpbnB1dCA9IGluc3QuaW5wdXRbMF07CgkJaWYgKCQuZGF0ZXBpY2tlci5fY3VySW5zdCAmJiAkLmRhdGVwaWNrZXIuX2N1ckluc3QgIT0gaW5zdCAmJiAkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICYmICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ICE9IGlucHV0KSB7CgkJCXJldHVybjsKCQl9CgoJCWlmICh0eXBlb2YoaW5zdC5zdGF5X29wZW4pICE9PSAnYm9vbGVhbicgfHwgaW5zdC5zdGF5X29wZW4gPT09IGZhbHNlKSB7CgoJCQl0aGlzLl9iYXNlX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgoJCQkvLyBSZWxvYWQgdGhlIHRpbWUgY29udHJvbCB3aGVuIGNoYW5naW5nIHNvbWV0aGluZyBpbiB0aGUgaW5wdXQgdGV4dCBmaWVsZC4KCQkJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCQkJaWYgKHRwX2luc3QpIHsKCQkJCXRwX2luc3QuX2FkZFRpbWVQaWNrZXIoaW5zdCk7CgoJCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnVzZUxvY2FsVGltZXpvbmUpIHsgLy9jaGVja3MgZGF5bGlnaHQgc2F2aW5nIHdpdGggdGhlIG5ldyBkYXRlLgoJCQkJCXZhciBkYXRlID0gbmV3IERhdGUoaW5zdC5zZWxlY3RlZFllYXIsIGluc3Quc2VsZWN0ZWRNb250aCwgaW5zdC5zZWxlY3RlZERheSwgMTIpOwoJCQkJCXNlbGVjdExvY2FsVGltZVpvbmUodHBfaW5zdCwgZGF0ZSk7CgkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7CgkJCQl9CgkJCX0KCQl9Cgl9OwoKCS8qCgkqIHRoaXJkIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgYWxsb3dzIHNwYWNlcyBhbmQgY29sb24gaW4gdGhlIGlucHV0IGZpZWxkCgkqLwoJJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5UHJlc3MgPSAkLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3M7CgkkLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3MgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KGV2ZW50LnRhcmdldCksCgkJCXRwX2luc3QgPSAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoKCQlpZiAodHBfaW5zdCkgewoJCQlpZiAoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ2NvbnN0cmFpbklucHV0JykpIHsKCQkJCXZhciBhbXBtID0gdXNlQW1wbSh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lRm9ybWF0KSwKCQkJCQlkYXRlQ2hhcnMgPSAkLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ2RhdGVGb3JtYXQnKSksCgkJCQkJZGF0ZXRpbWVDaGFycyA9IHRwX2luc3QuX2RlZmF1bHRzLnRpbWVGb3JtYXQudG9TdHJpbmcoKQoJCQkJCQkJCQkJCS5yZXBsYWNlKC9baG1zXS9nLCAnJykKCQkJCQkJCQkJCQkucmVwbGFjZSgvVFQvZywgYW1wbSA/ICdBUE0nIDogJycpCgkJCQkJCQkJCQkJLnJlcGxhY2UoL1R0L2csIGFtcG0gPyAnQWFQcE1tJyA6ICcnKQoJCQkJCQkJCQkJCS5yZXBsYWNlKC90VC9nLCBhbXBtID8gJ0FhUHBNbScgOiAnJykKCQkJCQkJCQkJCQkucmVwbGFjZSgvVC9nLCBhbXBtID8gJ0FQJyA6ICcnKQoJCQkJCQkJCQkJCS5yZXBsYWNlKC90dC9nLCBhbXBtID8gJ2FwbScgOiAnJykKCQkJCQkJCQkJCQkucmVwbGFjZSgvdC9nLCBhbXBtID8gJ2FwJyA6ICcnKSArIAoJCQkJCQkJCQkJCSIgIiArIHRwX2luc3QuX2RlZmF1bHRzLnNlcGFyYXRvciArIAoJCQkJCQkJCQkJCXRwX2luc3QuX2RlZmF1bHRzLnRpbWVTdWZmaXggKyAKCQkJCQkJCQkJCQkodHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWV6b25lID8gdHBfaW5zdC5fZGVmYXVsdHMudGltZXpvbmVMaXN0LmpvaW4oJycpIDogJycpICsgCgkJCQkJCQkJCQkJKHRwX2luc3QuX2RlZmF1bHRzLmFtTmFtZXMuam9pbignJykpICsgKHRwX2luc3QuX2RlZmF1bHRzLnBtTmFtZXMuam9pbignJykpICsgCgkJCQkJCQkJCQkJZGF0ZUNoYXJzLAoJCQkJCWNociA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZXZlbnQuY2hhckNvZGUgPT09IHVuZGVmaW5lZCA/IGV2ZW50LmtleUNvZGUgOiBldmVudC5jaGFyQ29kZSk7CgkJCQlyZXR1cm4gZXZlbnQuY3RybEtleSB8fCAoY2hyIDwgJyAnIHx8ICFkYXRlQ2hhcnMgfHwgZGF0ZXRpbWVDaGFycy5pbmRleE9mKGNocikgPiAtMSk7CgkJCX0KCQl9CgoJCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlQcmVzcyhldmVudCk7Cgl9OwoKCS8qCgkqIEZvdXJ0aCBiYWQgaGFjayA6LyBvdmVycmlkZSBfdXBkYXRlQWx0ZXJuYXRlIGZ1bmN0aW9uIHVzZWQgaW4gaW5saW5lIG1vZGUgdG8gaW5pdCBhbHRGaWVsZAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV91cGRhdGVBbHRlcm5hdGUgPSAkLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZTsKCS8qIFVwZGF0ZSBhbnkgYWx0ZXJuYXRlIGZpZWxkIHRvIHN5bmNocm9uaXNlIHdpdGggdGhlIG1haW4gZmllbGQuICovCgkkLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZSA9IGZ1bmN0aW9uKGluc3QpIHsKCQl2YXIgdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoJCWlmKHRwX2luc3QpewoJCQl2YXIgYWx0RmllbGQgPSB0cF9pbnN0Ll9kZWZhdWx0cy5hbHRGaWVsZDsKCQkJaWYgKGFsdEZpZWxkKSB7IC8vIHVwZGF0ZSBhbHRlcm5hdGUgZmllbGQgdG9vCgkJCQl2YXIgYWx0Rm9ybWF0ID0gdHBfaW5zdC5fZGVmYXVsdHMuYWx0Rm9ybWF0IHx8IHRwX2luc3QuX2RlZmF1bHRzLmRhdGVGb3JtYXQsCgkJCQkJZGF0ZSA9IHRoaXMuX2dldERhdGUoaW5zdCksCgkJCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoaW5zdCksCgkJCQkJYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgPSAnJywgCgkJCQkJYWx0U2VwYXJhdG9yID0gdHBfaW5zdC5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yID8gdHBfaW5zdC5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yIDogdHBfaW5zdC5fZGVmYXVsdHMuc2VwYXJhdG9yLCAKCQkJCQlhbHRUaW1lU3VmZml4ID0gdHBfaW5zdC5fZGVmYXVsdHMuYWx0VGltZVN1ZmZpeCA/IHRwX2luc3QuX2RlZmF1bHRzLmFsdFRpbWVTdWZmaXggOiB0cF9pbnN0Ll9kZWZhdWx0cy50aW1lU3VmZml4LAoJCQkJCWFsdFRpbWVGb3JtYXQgPSB0cF9pbnN0Ll9kZWZhdWx0cy5hbHRUaW1lRm9ybWF0ICE9PSBudWxsID8gdHBfaW5zdC5fZGVmYXVsdHMuYWx0VGltZUZvcm1hdCA6IHRwX2luc3QuX2RlZmF1bHRzLnRpbWVGb3JtYXQ7CgkJCQkKCQkJCWFsdEZvcm1hdHRlZERhdGVUaW1lICs9ICQuZGF0ZXBpY2tlci5mb3JtYXRUaW1lKGFsdFRpbWVGb3JtYXQsIHRwX2luc3QsIHRwX2luc3QuX2RlZmF1bHRzKSArIGFsdFRpbWVTdWZmaXg7CgkJCQlpZighdHBfaW5zdC5fZGVmYXVsdHMudGltZU9ubHkgJiYgIXRwX2luc3QuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkpewoJCQkJCWlmKHRwX2luc3QuX2RlZmF1bHRzLmFsdEZvcm1hdCkKCQkJCQkJYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgPSAkLmRhdGVwaWNrZXIuZm9ybWF0RGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5hbHRGb3JtYXQsIChkYXRlID09PSBudWxsID8gbmV3IERhdGUoKSA6IGRhdGUpLCBmb3JtYXRDZmcpICsgYWx0U2VwYXJhdG9yICsgYWx0Rm9ybWF0dGVkRGF0ZVRpbWU7CgkJCQkJZWxzZSBhbHRGb3JtYXR0ZWREYXRlVGltZSA9IHRwX2luc3QuZm9ybWF0dGVkRGF0ZSArIGFsdFNlcGFyYXRvciArIGFsdEZvcm1hdHRlZERhdGVUaW1lOwoJCQkJfQoJCQkJJChhbHRGaWVsZCkudmFsKGFsdEZvcm1hdHRlZERhdGVUaW1lKTsKCQkJfQoJCX0KCQllbHNlewoJCQkkLmRhdGVwaWNrZXIuX2Jhc2VfdXBkYXRlQWx0ZXJuYXRlKGluc3QpOwoJCX0KCX07CgoJLyoKCSogT3ZlcnJpZGUga2V5IHVwIGV2ZW50IHRvIHN5bmMgbWFudWFsIGlucHV0IGNoYW5nZXMuCgkqLwoJJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5VXAgPSAkLmRhdGVwaWNrZXIuX2RvS2V5VXA7CgkkLmRhdGVwaWNrZXIuX2RvS2V5VXAgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KGV2ZW50LnRhcmdldCksCgkJCXRwX2luc3QgPSAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoKCQlpZiAodHBfaW5zdCkgewoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMudGltZU9ubHkgJiYgKGluc3QuaW5wdXQudmFsKCkgIT0gaW5zdC5sYXN0VmFsKSkgewoJCQkJdHJ5IHsKCQkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJCQl9IGNhdGNoIChlcnIpIHsKCQkJCQkkLmRhdGVwaWNrZXIubG9nKGVycik7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlVcChldmVudCk7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlICJUb2RheSIgYnV0dG9uIHRvIGFsc28gZ3JhYiB0aGUgdGltZS4KCSovCgkkLmRhdGVwaWNrZXIuX2Jhc2VfZ290b1RvZGF5ID0gJC5kYXRlcGlja2VyLl9nb3RvVG9kYXk7CgkkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSA9IGZ1bmN0aW9uKGlkKSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KCQoaWQpWzBdKSwKCQkJJGRwID0gaW5zdC5kcERpdjsKCQl0aGlzLl9iYXNlX2dvdG9Ub2RheShpZCk7CgkJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCQlzZWxlY3RMb2NhbFRpbWVab25lKHRwX2luc3QpOwoJCXZhciBub3cgPSBuZXcgRGF0ZSgpOwoJCXRoaXMuX3NldFRpbWUoaW5zdCwgbm93KTsKCQkkKCcudWktZGF0ZXBpY2tlci10b2RheScsICRkcCkuY2xpY2soKTsKCX07CgoJLyoKCSogRGlzYWJsZSAmIGVuYWJsZSB0aGUgVGltZSBpbiB0aGUgZGF0ZXRpbWVwaWNrZXIKCSovCgkkLmRhdGVwaWNrZXIuX2Rpc2FibGVUaW1lcGlja2VyRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCkgewoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpOwoJCWlmICghaW5zdCkgewoJCQlyZXR1cm47CgkJfQoKCQl2YXIgdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoJCSQodGFyZ2V0KS5kYXRlcGlja2VyKCdnZXREYXRlJyk7IC8vIEluaXQgc2VsZWN0ZWRbWWVhcnxNb250aHxEYXldCgkJaWYgKHRwX2luc3QpIHsKCQkJdHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIgPSBmYWxzZTsKCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7CgkJfQoJfTsKCgkkLmRhdGVwaWNrZXIuX2VuYWJsZVRpbWVwaWNrZXJEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0KSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7CgkJaWYgKCFpbnN0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJJCh0YXJnZXQpLmRhdGVwaWNrZXIoJ2dldERhdGUnKTsgLy8gSW5pdCBzZWxlY3RlZFtZZWFyfE1vbnRofERheV0KCQlpZiAodHBfaW5zdCkgewoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5zaG93VGltZXBpY2tlciA9IHRydWU7CgkJCXRwX2luc3QuX2FkZFRpbWVQaWNrZXIoaW5zdCk7IC8vIENvdWxkIGJlIGRpc2FibGVkIG9uIHBhZ2UgbG9hZAoJCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCQl9Cgl9OwoKCS8qCgkqIENyZWF0ZSBvdXIgb3duIHNldCB0aW1lIGZ1bmN0aW9uCgkqLwoJJC5kYXRlcGlja2VyLl9zZXRUaW1lID0gZnVuY3Rpb24oaW5zdCwgZGF0ZSkgewoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYgKHRwX2luc3QpIHsKCQkJdmFyIGRlZmF1bHRzID0gdHBfaW5zdC5fZGVmYXVsdHM7CgoJCQkvLyBjYWxsaW5nIF9zZXRUaW1lIHdpdGggbm8gZGF0ZSBzZXRzIHRpbWUgdG8gZGVmYXVsdHMKCQkJdHBfaW5zdC5ob3VyID0gZGF0ZSA/IGRhdGUuZ2V0SG91cnMoKSA6IGRlZmF1bHRzLmhvdXI7CgkJCXRwX2luc3QubWludXRlID0gZGF0ZSA/IGRhdGUuZ2V0TWludXRlcygpIDogZGVmYXVsdHMubWludXRlOwoJCQl0cF9pbnN0LnNlY29uZCA9IGRhdGUgPyBkYXRlLmdldFNlY29uZHMoKSA6IGRlZmF1bHRzLnNlY29uZDsKCQkJdHBfaW5zdC5taWxsaXNlYyA9IGRhdGUgPyBkYXRlLmdldE1pbGxpc2Vjb25kcygpIDogZGVmYXVsdHMubWlsbGlzZWM7CgoJCQkvL2NoZWNrIGlmIHdpdGhpbiBtaW4vbWF4IHRpbWVzLi4gCgkJCXRwX2luc3QuX2xpbWl0TWluTWF4RGF0ZVRpbWUoaW5zdCwgdHJ1ZSk7CgoJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7CgkJfQoJfTsKCgkvKgoJKiBDcmVhdGUgbmV3IHB1YmxpYyBtZXRob2QgdG8gc2V0IG9ubHkgdGltZSwgY2FsbGFibGUgYXMgJCgpLmRhdGVwaWNrZXIoJ3NldFRpbWUnLCBkYXRlKQoJKi8KCSQuZGF0ZXBpY2tlci5fc2V0VGltZURhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7CgkJaWYgKCFpbnN0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgoJCWlmICh0cF9pbnN0KSB7CgkJCXRoaXMuX3NldERhdGVGcm9tRmllbGQoaW5zdCk7CgkJCXZhciB0cF9kYXRlOwoJCQlpZiAoZGF0ZSkgewoJCQkJaWYgKHR5cGVvZiBkYXRlID09ICJzdHJpbmciKSB7CgkJCQkJdHBfaW5zdC5fcGFyc2VUaW1lKGRhdGUsIHdpdGhEYXRlKTsKCQkJCQl0cF9kYXRlID0gbmV3IERhdGUoKTsKCQkJCQl0cF9kYXRlLnNldEhvdXJzKHRwX2luc3QuaG91ciwgdHBfaW5zdC5taW51dGUsIHRwX2luc3Quc2Vjb25kLCB0cF9pbnN0Lm1pbGxpc2VjKTsKCQkJCX0gZWxzZSB7CgkJCQkJdHBfZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTsKCQkJCX0KCQkJCWlmICh0cF9kYXRlLnRvU3RyaW5nKCkgPT0gJ0ludmFsaWQgRGF0ZScpIHsKCQkJCQl0cF9kYXRlID0gdW5kZWZpbmVkOwoJCQkJfQoJCQkJdGhpcy5fc2V0VGltZShpbnN0LCB0cF9kYXRlKTsKCQkJfQoJCX0KCgl9OwoKCS8qCgkqIG92ZXJyaWRlIHNldERhdGUoKSB0byBhbGxvdyBzZXR0aW5nIHRpbWUgdG9vIHdpdGhpbiBEYXRlIG9iamVjdAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9zZXREYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fc2V0RGF0ZURhdGVwaWNrZXI7CgkkLmRhdGVwaWNrZXIuX3NldERhdGVEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBkYXRlKSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7CgkJaWYgKCFpbnN0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cF9kYXRlID0gKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSA/IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKSA6IGRhdGU7CgoJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJdGhpcy5fYmFzZV9zZXREYXRlRGF0ZXBpY2tlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoJCXRoaXMuX3NldFRpbWVEYXRlcGlja2VyKHRhcmdldCwgdHBfZGF0ZSwgdHJ1ZSk7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlIGdldERhdGUoKSB0byBhbGxvdyBnZXR0aW5nIHRpbWUgdG9vIHdpdGhpbiBEYXRlIG9iamVjdAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9nZXREYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fZ2V0RGF0ZURhdGVwaWNrZXI7CgkkLmRhdGVwaWNrZXIuX2dldERhdGVEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBub0RlZmF1bHQpIHsKCQl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KTsKCQlpZiAoIWluc3QpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCgkJaWYgKHRwX2luc3QpIHsKCQkJLy8gaWYgaXQgaGFzbid0IHlldCBiZWVuIGRlZmluZWQsIGdyYWIgZnJvbSBmaWVsZAoJCQlpZihpbnN0Lmxhc3RWYWwgPT09IHVuZGVmaW5lZCl7CgkJCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QsIG5vRGVmYXVsdCk7CgkJCX0KCgkJCXZhciBkYXRlID0gdGhpcy5fZ2V0RGF0ZShpbnN0KTsKCQkJaWYgKGRhdGUgJiYgdHBfaW5zdC5fcGFyc2VUaW1lKCQodGFyZ2V0KS52YWwoKSwgdHBfaW5zdC50aW1lT25seSkpIHsKCQkJCWRhdGUuc2V0SG91cnModHBfaW5zdC5ob3VyLCB0cF9pbnN0Lm1pbnV0ZSwgdHBfaW5zdC5zZWNvbmQsIHRwX2luc3QubWlsbGlzZWMpOwoJCQl9CgkJCXJldHVybiBkYXRlOwoJCX0KCQlyZXR1cm4gdGhpcy5fYmFzZV9nZXREYXRlRGF0ZXBpY2tlcih0YXJnZXQsIG5vRGVmYXVsdCk7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlIHBhcnNlRGF0ZSgpIGJlY2F1c2UgVUkgMS44LjE0IHRocm93cyBhbiBlcnJvciBhYm91dCAiRXh0cmEgY2hhcmFjdGVycyIKCSogQW4gb3B0aW9uIGluIGRhdGFwaWNrZXIgdG8gaWdub3JlIGV4dHJhIGZvcm1hdCBjaGFyYWN0ZXJzIHdvdWxkIGJlIG5pY2VyLgoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9wYXJzZURhdGUgPSAkLmRhdGVwaWNrZXIucGFyc2VEYXRlOwoJJC5kYXRlcGlja2VyLnBhcnNlRGF0ZSA9IGZ1bmN0aW9uKGZvcm1hdCwgdmFsdWUsIHNldHRpbmdzKSB7CgkJdmFyIGRhdGU7CgkJdHJ5IHsKCQkJZGF0ZSA9IHRoaXMuX2Jhc2VfcGFyc2VEYXRlKGZvcm1hdCwgdmFsdWUsIHNldHRpbmdzKTsKCQl9IGNhdGNoIChlcnIpIHsKCQkJLy8gSGFjayEgIFRoZSBlcnJvciBtZXNzYWdlIGVuZHMgd2l0aCBhIGNvbG9uLCBhIHNwYWNlLCBhbmQKCQkJLy8gdGhlICJleHRyYSIgY2hhcmFjdGVycy4gIFdlIHJlbHkgb24gdGhhdCBpbnN0ZWFkIG9mCgkJCS8vIGF0dGVtcHRpbmcgdG8gcGVyZmVjdGx5IHJlcHJvZHVjZSB0aGUgcGFyc2luZyBhbGdvcml0aG0uCgkJCWRhdGUgPSB0aGlzLl9iYXNlX3BhcnNlRGF0ZShmb3JtYXQsIHZhbHVlLnN1YnN0cmluZygwLHZhbHVlLmxlbmd0aC0oZXJyLmxlbmd0aC1lcnIuaW5kZXhPZignOicpLTIpKSwgc2V0dGluZ3MpOwoJCQkkLmRhdGVwaWNrZXIubG9nKCJFcnJvciBwYXJzaW5nIHRoZSBkYXRlIHN0cmluZzogIiArIGVyciArICJcbmRhdGUgc3RyaW5nID0gIiArIHZhbHVlICsgIlxuZGF0ZSBmb3JtYXQgPSAiICsgZm9ybWF0KTsKCQl9CgkJcmV0dXJuIGRhdGU7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlIGZvcm1hdERhdGUgdG8gc2V0IGRhdGUgd2l0aCB0aW1lIHRvIHRoZSBpbnB1dAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9mb3JtYXREYXRlID0gJC5kYXRlcGlja2VyLl9mb3JtYXREYXRlOwoJJC5kYXRlcGlja2VyLl9mb3JtYXREYXRlID0gZnVuY3Rpb24oaW5zdCwgZGF5LCBtb250aCwgeWVhcikgewoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYgKHRwX2luc3QpIHsKCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7CgkJCXJldHVybiB0cF9pbnN0LiRpbnB1dC52YWwoKTsKCQl9CgkJcmV0dXJuIHRoaXMuX2Jhc2VfZm9ybWF0RGF0ZShpbnN0KTsKCX07CgoJLyoKCSogb3ZlcnJpZGUgb3B0aW9ucyBzZXR0ZXIgdG8gYWRkIHRpbWUgdG8gbWF4RGF0ZShUaW1lKSBhbmQgbWluRGF0ZShUaW1lKS4gTWF4RGF0ZQoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9vcHRpb25EYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl9vcHRpb25EYXRlcGlja2VyOwoJJC5kYXRlcGlja2VyLl9vcHRpb25EYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBuYW1lLCB2YWx1ZSkgewoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpLAoJICAgICAgICBuYW1lX2Nsb25lOwoJCWlmICghaW5zdCkgewoJCQlyZXR1cm4gbnVsbDsKCQl9CgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYgKHRwX2luc3QpIHsKCQkJdmFyIG1pbiA9IG51bGwsCgkJCQltYXggPSBudWxsLAoJCQkJb25zZWxlY3QgPSBudWxsLAoJCQkJb3ZlcnJpZGVzID0gdHBfaW5zdC5fZGVmYXVsdHMuZXZudHMsCgkJCQlmbnMgPSB7fSwKCQkJCXByb3A7CgkJICAgIGlmICh0eXBlb2YgbmFtZSA9PSAnc3RyaW5nJykgeyAvLyBpZiBtaW4vbWF4IHdhcyBzZXQgd2l0aCB0aGUgc3RyaW5nCgkJICAgICAgICBpZiAobmFtZSA9PT0gJ21pbkRhdGUnIHx8IG5hbWUgPT09ICdtaW5EYXRlVGltZScpIHsKCQkgICAgICAgICAgICBtaW4gPSB2YWx1ZTsKCQkgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ21heERhdGUnIHx8IG5hbWUgPT09ICdtYXhEYXRlVGltZScpIHsKCQkgICAgICAgICAgICBtYXggPSB2YWx1ZTsKCQkgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ29uU2VsZWN0JykgewoJCSAgICAgICAgICAgIG9uc2VsZWN0ID0gdmFsdWU7CgkJICAgICAgICB9IGVsc2UgaWYgKG92ZXJyaWRlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgewoJCSAgICAgICAgICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkgICAgICAgICAgICAgICAgcmV0dXJuIG92ZXJyaWRlc1tuYW1lXTsKCQkgICAgICAgICAgICB9CgkJICAgICAgICAgICAgZm5zW25hbWVdID0gdmFsdWU7CgkJICAgICAgICAgICAgbmFtZV9jbG9uZSA9IHt9OyAvL2VtcHR5IHJlc3VsdHMgaW4gZXhpdGluZyBmdW5jdGlvbiBhZnRlciBvdmVycmlkZXMgdXBkYXRlZAoJCSAgICAgICAgfQoJCSAgICB9IGVsc2UgaWYgKHR5cGVvZiBuYW1lID09ICdvYmplY3QnKSB7IC8vaWYgbWluL21heCB3YXMgc2V0IHdpdGggdGhlIEpTT04KCQkgICAgICAgIGlmIChuYW1lLm1pbkRhdGUpIHsKCQkgICAgICAgICAgICBtaW4gPSBuYW1lLm1pbkRhdGU7CgkJICAgICAgICB9IGVsc2UgaWYgKG5hbWUubWluRGF0ZVRpbWUpIHsKCQkgICAgICAgICAgICBtaW4gPSBuYW1lLm1pbkRhdGVUaW1lOwoJCSAgICAgICAgfSBlbHNlIGlmIChuYW1lLm1heERhdGUpIHsKCQkgICAgICAgICAgICBtYXggPSBuYW1lLm1heERhdGU7CgkJICAgICAgICB9IGVsc2UgaWYgKG5hbWUubWF4RGF0ZVRpbWUpIHsKCQkgICAgICAgICAgICBtYXggPSBuYW1lLm1heERhdGVUaW1lOwoJCSAgICAgICAgfQoJCSAgICAgICAgZm9yIChwcm9wIGluIG92ZXJyaWRlcykgewoJCSAgICAgICAgICAgIGlmIChvdmVycmlkZXMuaGFzT3duUHJvcGVydHkocHJvcCkgJiYgbmFtZVtwcm9wXSkgewoJCSAgICAgICAgICAgICAgICBmbnNbcHJvcF0gPSBuYW1lW3Byb3BdOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgIH0KCQkgICAgfQoJCSAgICBmb3IgKHByb3AgaW4gZm5zKSB7CgkJICAgICAgICBpZiAoZm5zLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJICAgICAgICAgICAgb3ZlcnJpZGVzW3Byb3BdID0gZm5zW3Byb3BdOwoJCSAgICAgICAgICAgIGlmICghbmFtZV9jbG9uZSkgeyBuYW1lX2Nsb25lID0gJC5leHRlbmQoe30sIG5hbWUpO30KCQkgICAgICAgICAgICBkZWxldGUgbmFtZV9jbG9uZVtwcm9wXTsKCQkgICAgICAgIH0KCQkgICAgfQoJCSAgICBpZiAobmFtZV9jbG9uZSAmJiBpc0VtcHR5T2JqZWN0KG5hbWVfY2xvbmUpKSB7IHJldHVybjsgfQoJCSAgICBpZiAobWluKSB7IC8vaWYgbWluIHdhcyBzZXQKCQkgICAgICAgIGlmIChtaW4gPT09IDApIHsKCQkgICAgICAgICAgICBtaW4gPSBuZXcgRGF0ZSgpOwoJCSAgICAgICAgfSBlbHNlIHsKCQkgICAgICAgICAgICBtaW4gPSBuZXcgRGF0ZShtaW4pOwoJCSAgICAgICAgfQoJCSAgICAgICAgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZSA9IG1pbjsKCQkgICAgICAgIHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lID0gbWluOwoJCSAgICB9IGVsc2UgaWYgKG1heCkgeyAvL2lmIG1heCB3YXMgc2V0CgkJICAgICAgICBpZiAobWF4ID09PSAwKSB7CgkJICAgICAgICAgICAgbWF4ID0gbmV3IERhdGUoKTsKCQkgICAgICAgIH0gZWxzZSB7CgkJICAgICAgICAgICAgbWF4ID0gbmV3IERhdGUobWF4KTsKCQkgICAgICAgIH0KCQkgICAgICAgIHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgPSBtYXg7CgkJICAgICAgICB0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSA9IG1heDsKCQkgICAgfSBlbHNlIGlmIChvbnNlbGVjdCkgewoJCSAgICAgICAgdHBfaW5zdC5fZGVmYXVsdHMub25TZWxlY3QgPSBvbnNlbGVjdDsKCQkgICAgfQoJCX0KCQlpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gdGhpcy5fYmFzZV9vcHRpb25EYXRlcGlja2VyLmNhbGwoJC5kYXRlcGlja2VyLCB0YXJnZXQsIG5hbWUpOwoJCX0KCQlyZXR1cm4gdGhpcy5fYmFzZV9vcHRpb25EYXRlcGlja2VyLmNhbGwoJC5kYXRlcGlja2VyLCB0YXJnZXQsIG5hbWVfY2xvbmUgfHwgbmFtZSwgdmFsdWUpOwoJfTsKCS8qCgkqIGpRdWVyeSBpc0VtcHR5T2JqZWN0IGRvZXMgbm90IGNoZWNrIGhhc093blByb3BlcnR5IC0gaWYgc29tZW9uZSBoYXMgYWRkZWQgdG8gdGhlIG9iamVjdCBwcm90b3R5cGUsCgkqIGl0IHdpbGwgcmV0dXJuIGZhbHNlIGZvciBhbGwgb2JqZWN0cwoJKi8KCXZhciBpc0VtcHR5T2JqZWN0ID0gZnVuY3Rpb24ob2JqKSB7CgkJdmFyIHByb3A7CgkJZm9yIChwcm9wIGluIG9iaikgewoJCQlpZiAob2JqLmhhc093blByb3BlcnR5KG9iaikpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX07CgoJLyoKCSogalF1ZXJ5IGV4dGVuZCBub3cgaWdub3JlcyBudWxscyEKCSovCgl2YXIgZXh0ZW5kUmVtb3ZlID0gZnVuY3Rpb24odGFyZ2V0LCBwcm9wcykgewoJCSQuZXh0ZW5kKHRhcmdldCwgcHJvcHMpOwoJCWZvciAodmFyIG5hbWUgaW4gcHJvcHMpIHsKCQkJaWYgKHByb3BzW25hbWVdID09PSBudWxsIHx8IHByb3BzW25hbWVdID09PSB1bmRlZmluZWQpIHsKCQkJCXRhcmdldFtuYW1lXSA9IHByb3BzW25hbWVdOwoJCQl9CgkJfQoJCXJldHVybiB0YXJnZXQ7Cgl9OwoKCS8qCgkqIERldGVybWluZSBieSB0aGUgdGltZSBmb3JtYXQgaWYgc2hvdWxkIHVzZSBhbXBtCgkqIFJldHVybnMgdHJ1ZSBpZiBzaG91bGQgdXNlIGFtcG0sIGZhbHNlIGlmIG5vdAoJKi8KCXZhciB1c2VBbXBtID0gZnVuY3Rpb24odGltZUZvcm1hdCl7CgkJcmV0dXJuICh0aW1lRm9ybWF0LmluZGV4T2YoJ3QnKSAhPT0gLTEgJiYgdGltZUZvcm1hdC5pbmRleE9mKCdoJykgIT09IC0xKTsKCX07CgoJLyoKCSogQ29udmVydHMgMjQgaG91ciBmb3JtYXQgaW50byAxMiBob3VyCgkqIFJldHVybnMgMTIgaG91ciB3aXRob3V0IGxlYWRpbmcgMAoJKi8KCXZhciBjb252ZXJ0MjR0bzEyID0gZnVuY3Rpb24oaG91cikgewoJCWlmIChob3VyID4gMTIpIHsKCQkJaG91ciA9IGhvdXIgLSAxMjsKCQl9CgoJCWlmIChob3VyID09IDApIHsKCQkJaG91ciA9IDEyOwoJCX0KCgkJcmV0dXJuIFN0cmluZyhob3VyKTsKCX07CgoJLyoKCSogU3BsaXRzIGRhdGV0aW1lIHN0cmluZyBpbnRvIGRhdGUgYW5zIHRpbWUgc3Vic3RyaW5ncy4KCSogVGhyb3dzIGV4Y2VwdGlvbiB3aGVuIGRhdGUgY2FuJ3QgYmUgcGFyc2VkCgkqIFJldHVybnMgW2RhdGVTdHJpbmcsIHRpbWVTdHJpbmddCgkqLwoJdmFyIHNwbGl0RGF0ZVRpbWUgPSBmdW5jdGlvbihkYXRlRm9ybWF0LCBkYXRlVGltZVN0cmluZywgZGF0ZVNldHRpbmdzLCB0aW1lU2V0dGluZ3MpIHsKCQl0cnkgewoJCQkvLyBUaGUgaWRlYSBpcyB0byBnZXQgdGhlIG51bWJlciBzZXBhcmF0b3Igb2NjdXJhbmNlcyBpbiBkYXRldGltZSBhbmQgdGhlIHRpbWUgZm9ybWF0IHJlcXVlc3RlZCAoc2luY2UgdGltZSBoYXMgCgkJCS8vIGZld2VyIHVua25vd25zLCBtb3N0bHkgbnVtYmVycyBhbmQgYW0vcG0pLiBXZSB3aWxsIHVzZSB0aGUgdGltZSBwYXR0ZXJuIHRvIHNwbGl0LgoJCQl2YXIgc2VwYXJhdG9yID0gdGltZVNldHRpbmdzICYmIHRpbWVTZXR0aW5ncy5zZXBhcmF0b3IgPyB0aW1lU2V0dGluZ3Muc2VwYXJhdG9yIDogJC50aW1lcGlja2VyLl9kZWZhdWx0cy5zZXBhcmF0b3IsCgkJCQlmb3JtYXQgPSB0aW1lU2V0dGluZ3MgJiYgdGltZVNldHRpbmdzLnRpbWVGb3JtYXQgPyB0aW1lU2V0dGluZ3MudGltZUZvcm1hdCA6ICQudGltZXBpY2tlci5fZGVmYXVsdHMudGltZUZvcm1hdCwKCQkJCXRpbWVQYXJ0cyA9IGZvcm1hdC5zcGxpdChzZXBhcmF0b3IpLCAvLyBob3cgbWFueSBvY2N1cmFuY2VzIG9mIHNlcGFyYXRvciBtYXkgYmUgaW4gb3VyIGZvcm1hdD8KCQkJCXRpbWVQYXJ0c0xlbiA9IHRpbWVQYXJ0cy5sZW5ndGgsCgkJCQlhbGxQYXJ0cyA9IGRhdGVUaW1lU3RyaW5nLnNwbGl0KHNlcGFyYXRvciksCgkJCQlhbGxQYXJ0c0xlbiA9IGFsbFBhcnRzLmxlbmd0aDsKCgkJCWlmIChhbGxQYXJ0c0xlbiA+IDEpIHsKCQkJCXJldHVybiBbCgkJCQkJCWFsbFBhcnRzLnNwbGljZSgwLGFsbFBhcnRzTGVuLXRpbWVQYXJ0c0xlbikuam9pbihzZXBhcmF0b3IpLAoJCQkJCQlhbGxQYXJ0cy5zcGxpY2UoMCx0aW1lUGFydHNMZW4pLmpvaW4oc2VwYXJhdG9yKQoJCQkJCV07CgkJCX0KCgkJfSBjYXRjaCAoZXJyKSB7CgkJCSQuZGF0ZXBpY2tlci5sb2coJ0NvdWxkIG5vdCBzcGxpdCB0aGUgZGF0ZSBmcm9tIHRoZSB0aW1lLiBQbGVhc2UgY2hlY2sgdGhlIGZvbGxvd2luZyBkYXRldGltZXBpY2tlciBvcHRpb25zJyArCgkJCQkJIlxudGhyb3duIGVycm9yOiAiICsgZXJyICsKCQkJCQkiXG5kYXRlVGltZVN0cmluZyIgKyBkYXRlVGltZVN0cmluZyArCgkJCQkJIlxuZGF0ZUZvcm1hdCA9ICIgKyBkYXRlRm9ybWF0ICsKCQkJCQkiXG5zZXBhcmF0b3IgPSAiICsgdGltZVNldHRpbmdzLnNlcGFyYXRvciArCgkJCQkJIlxudGltZUZvcm1hdCA9ICIgKyB0aW1lU2V0dGluZ3MudGltZUZvcm1hdCk7CgoJCQlpZiAoZXJyLmluZGV4T2YoIjoiKSA+PSAwKSB7CgkJCQkvLyBIYWNrISAgVGhlIGVycm9yIG1lc3NhZ2UgZW5kcyB3aXRoIGEgY29sb24sIGEgc3BhY2UsIGFuZAoJCQkJLy8gdGhlICJleHRyYSIgY2hhcmFjdGVycy4gIFdlIHJlbHkgb24gdGhhdCBpbnN0ZWFkIG9mCgkJCQkvLyBhdHRlbXB0aW5nIHRvIHBlcmZlY3RseSByZXByb2R1Y2UgdGhlIHBhcnNpbmcgYWxnb3JpdGhtLgoJCQkJdmFyIGRhdGVTdHJpbmdMZW5ndGggPSBkYXRlVGltZVN0cmluZy5sZW5ndGggLSAoZXJyLmxlbmd0aCAtIGVyci5pbmRleE9mKCc6JykgLSAyKSwKCQkJCQl0aW1lU3RyaW5nID0gZGF0ZVRpbWVTdHJpbmcuc3Vic3RyaW5nKGRhdGVTdHJpbmdMZW5ndGgpOwoKCQkJCXJldHVybiBbJC50cmltKGRhdGVUaW1lU3RyaW5nLnN1YnN0cmluZygwLCBkYXRlU3RyaW5nTGVuZ3RoKSksICQudHJpbShkYXRlVGltZVN0cmluZy5zdWJzdHJpbmcoZGF0ZVN0cmluZ0xlbmd0aCkpXTsKCgkJCX0gZWxzZSB7CgkJCQl0aHJvdyBlcnI7CgkJCX0KCQl9CgkJcmV0dXJuIFtkYXRlVGltZVN0cmluZywgJyddOwoJfTsKCgkvKgoJKiBJbnRlcm5hbCBmdW5jdGlvbiB0byBwYXJzZSBkYXRldGltZSBpbnRlcnZhbAoJKiBSZXR1cm5zOiB7ZGF0ZTogRGF0ZSwgdGltZU9iajogT2JqZWN0fSwgd2hlcmUKCSogICBkYXRlIC0gcGFyc2VkIGRhdGUgd2l0aG91dCB0aW1lICh0eXBlIERhdGUpCgkqICAgdGltZU9iaiA9IHtob3VyOiAsIG1pbnV0ZTogLCBzZWNvbmQ6ICwgbWlsbGlzZWM6IH0gLSBwYXJzZWQgdGltZS4gT3B0aW9uYWwKCSovCgl2YXIgcGFyc2VEYXRlVGltZUludGVybmFsID0gZnVuY3Rpb24oZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZVRpbWVTdHJpbmcsIGRhdGVTZXR0aW5ncywgdGltZVNldHRpbmdzKSB7CgkJdmFyIGRhdGU7CgkJdmFyIHNwbGl0UmVzID0gc3BsaXREYXRlVGltZShkYXRlRm9ybWF0LCBkYXRlVGltZVN0cmluZywgZGF0ZVNldHRpbmdzLCB0aW1lU2V0dGluZ3MpOwoJCWRhdGUgPSAkLmRhdGVwaWNrZXIuX2Jhc2VfcGFyc2VEYXRlKGRhdGVGb3JtYXQsIHNwbGl0UmVzWzBdLCBkYXRlU2V0dGluZ3MpOwoJCWlmIChzcGxpdFJlc1sxXSAhPT0gJycpIHsKCQkJdmFyIHRpbWVTdHJpbmcgPSBzcGxpdFJlc1sxXSwKCQkJCXBhcnNlZFRpbWUgPSAkLmRhdGVwaWNrZXIucGFyc2VUaW1lKHRpbWVGb3JtYXQsIHRpbWVTdHJpbmcsIHRpbWVTZXR0aW5ncyk7CgoJCQlpZiAocGFyc2VkVGltZSA9PT0gbnVsbCkgewoJCQkJdGhyb3cgJ1dyb25nIHRpbWUgZm9ybWF0JzsKCQkJfQoJCQlyZXR1cm4gewoJCQkJZGF0ZTogZGF0ZSwKCQkJCXRpbWVPYmo6IHBhcnNlZFRpbWUKCQkJfTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gewoJCQkJZGF0ZTogZGF0ZQoJCQl9OwoJCX0KCX07CgoJLyoKCSogSW50ZXJuYWwgZnVuY3Rpb24gdG8gc2V0IHRpbWV6b25lX3NlbGVjdCB0byB0aGUgbG9jYWwgdGltZXpvbmUKCSovCgl2YXIgc2VsZWN0TG9jYWxUaW1lWm9uZSA9IGZ1bmN0aW9uKHRwX2luc3QsIGRhdGUpIHsKCQlpZiAodHBfaW5zdCAmJiB0cF9pbnN0LnRpbWV6b25lX3NlbGVjdCkgewoJCQl0cF9pbnN0Ll9kZWZhdWx0cy51c2VMb2NhbFRpbWV6b25lID0gdHJ1ZTsKCQkJdmFyIG5vdyA9IHR5cGVvZiBkYXRlICE9PSAndW5kZWZpbmVkJyA/IGRhdGUgOiBuZXcgRGF0ZSgpOwoJCQl2YXIgdHpvZmZzZXQgPSAkLnRpbWVwaWNrZXIudGltZVpvbmVPZmZzZXRTdHJpbmcobm93KTsKCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnRpbWV6b25lSXNvODYwMSkgewoJCQkJdHpvZmZzZXQgPSB0em9mZnNldC5zdWJzdHJpbmcoMCwgMykgKyAnOicgKyB0em9mZnNldC5zdWJzdHJpbmcoMyk7CgkJCX0KCQkJdHBfaW5zdC50aW1lem9uZV9zZWxlY3QudmFsKHR6b2Zmc2V0KTsKCQl9Cgl9OwoKCS8qCgkqIENyZWF0ZSBhIFNpbmdsZXRvbiBJbnNhbmNlCgkqLwoJJC50aW1lcGlja2VyID0gbmV3IFRpbWVwaWNrZXIoKTsKCgkvKioKCSAqIEdldCB0aGUgdGltZXpvbmUgb2Zmc2V0IGFzIHN0cmluZyBmcm9tIGEgZGF0ZSBvYmplY3QgKGVnICcrMDUzMCcgZm9yIFVUQys1LjUpCgkgKiBAcGFyYW0gIGRhdGUKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCSQudGltZXBpY2tlci50aW1lWm9uZU9mZnNldFN0cmluZyA9IGZ1bmN0aW9uKGRhdGUpIHsKCQl2YXIgb2ZmID0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogLTEsCgkJCW1pbnV0ZXMgPSBvZmYgJSA2MCwKCQkJaG91cnMgPSAob2ZmIC0gbWludXRlcykgLyA2MDsKCQlyZXR1cm4gKG9mZiA+PSAwID8gJysnIDogJy0nKSArICgnMCcgKyAoaG91cnMgKiAxMDEpLnRvU3RyaW5nKCkpLnN1YnN0cigtMikgKyAoJzAnICsgKG1pbnV0ZXMgKiAxMDEpLnRvU3RyaW5nKCkpLnN1YnN0cigtMik7Cgl9OwoKCS8qKgoJICogQ2FsbHMgYHRpbWVwaWNrZXIoKWAgb24gdGhlIGBzdGFydFRpbWVgIGFuZCBgZW5kVGltZWAgZWxlbWVudHMsIGFuZCBjb25maWd1cmVzIHRoZW0gdG8KCSAqIGVuZm9yY2UgZGF0ZSByYW5nZSBsaW1pdHMuCgkgKiBuLmIuIFRoZSBpbnB1dCB2YWx1ZSBtdXN0IGJlIGNvcnJlY3RseSBmb3JtYXR0ZWQgKHJlZm9ybWF0dGluZyBpcyBub3Qgc3VwcG9ydGVkKQoJICogQHBhcmFtICBFbGVtZW50IHN0YXJ0VGltZQoJICogQHBhcmFtICBFbGVtZW50IGVuZFRpbWUKCSAqIEBwYXJhbSAgb2JqIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHRpbWVwaWNrZXIoKSBjYWxsCgkgKiBAcmV0dXJuIGpRdWVyeQoJICovCgkkLnRpbWVwaWNrZXIudGltZVJhbmdlID0gZnVuY3Rpb24oc3RhcnRUaW1lLCBlbmRUaW1lLCBvcHRpb25zKSB7CgkJcmV0dXJuICQudGltZXBpY2tlci5oYW5kbGVSYW5nZSgndGltZXBpY2tlcicsIHN0YXJ0VGltZSwgZW5kVGltZSwgb3B0aW9ucyk7Cgl9OwoKCS8qKgoJICogQ2FsbHMgYGRhdGV0aW1lcGlja2VyYCBvbiB0aGUgYHN0YXJ0VGltZWAgYW5kIGBlbmRUaW1lYCBlbGVtZW50cywgYW5kIGNvbmZpZ3VyZXMgdGhlbSB0bwoJICogZW5mb3JjZSBkYXRlIHJhbmdlIGxpbWl0cy4KCSAqIEBwYXJhbSAgRWxlbWVudCBzdGFydFRpbWUKCSAqIEBwYXJhbSAgRWxlbWVudCBlbmRUaW1lCgkgKiBAcGFyYW0gIG9iaiBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSBgdGltZXBpY2tlcigpYCBjYWxsLiBBbHNvIHN1cHBvcnRzIGByZWZvcm1hdGAsCgkgKiAgIGEgYm9vbGVhbiB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZm9ybWF0IHRoZSBpbnB1dCB2YWx1ZXMgdG8gdGhlIGBkYXRlRm9ybWF0YC4KCSAqIEBwYXJhbSAgc3RyaW5nIG1ldGhvZCBDYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIHBpY2tlciB0byBiZSBhZGRlZAoJICogQHJldHVybiBqUXVlcnkKCSAqLwoJJC50aW1lcGlja2VyLmRhdGVUaW1lUmFuZ2UgPSBmdW5jdGlvbihzdGFydFRpbWUsIGVuZFRpbWUsIG9wdGlvbnMpIHsKCQkkLnRpbWVwaWNrZXIuZGF0ZVJhbmdlKHN0YXJ0VGltZSwgZW5kVGltZSwgb3B0aW9ucywgJ2RhdGV0aW1lcGlja2VyJyk7Cgl9OwoKCS8qKgoJICogQ2FsbHMgYG1ldGhvZGAgb24gdGhlIGBzdGFydFRpbWVgIGFuZCBgZW5kVGltZWAgZWxlbWVudHMsIGFuZCBjb25maWd1cmVzIHRoZW0gdG8KCSAqIGVuZm9yY2UgZGF0ZSByYW5nZSBsaW1pdHMuCgkgKiBAcGFyYW0gIEVsZW1lbnQgc3RhcnRUaW1lCgkgKiBAcGFyYW0gIEVsZW1lbnQgZW5kVGltZQoJICogQHBhcmFtICBvYmogb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgYHRpbWVwaWNrZXIoKWAgY2FsbC4gQWxzbyBzdXBwb3J0cyBgcmVmb3JtYXRgLAoJICogICBhIGJvb2xlYW4gdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCB0byByZWZvcm1hdCB0aGUgaW5wdXQgdmFsdWVzIHRvIHRoZSBgZGF0ZUZvcm1hdGAuCgkgKiBAcGFyYW0gIHN0cmluZyBtZXRob2QgQ2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgdHlwZSBvZiBwaWNrZXIgdG8gYmUgYWRkZWQKCSAqIEByZXR1cm4galF1ZXJ5CgkgKi8KCSQudGltZXBpY2tlci5kYXRlUmFuZ2UgPSBmdW5jdGlvbihzdGFydFRpbWUsIGVuZFRpbWUsIG9wdGlvbnMsIG1ldGhvZCkgewoJCW1ldGhvZCA9IG1ldGhvZCB8fCAnZGF0ZXBpY2tlcic7CgkJJC50aW1lcGlja2VyLmhhbmRsZVJhbmdlKG1ldGhvZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBvcHRpb25zKTsKCX07CgoJLyoqCgkgKiBDYWxscyBgbWV0aG9kYCBvbiB0aGUgYHN0YXJ0VGltZWAgYW5kIGBlbmRUaW1lYCBlbGVtZW50cywgYW5kIGNvbmZpZ3VyZXMgdGhlbSB0bwoJICogZW5mb3JjZSBkYXRlIHJhbmdlIGxpbWl0cy4KCSAqIEBwYXJhbSAgc3RyaW5nIG1ldGhvZCBDYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIHBpY2tlciB0byBiZSBhZGRlZAoJICogQHBhcmFtICBFbGVtZW50IHN0YXJ0VGltZQoJICogQHBhcmFtICBFbGVtZW50IGVuZFRpbWUKCSAqIEBwYXJhbSAgb2JqIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIGB0aW1lcGlja2VyKClgIGNhbGwuIEFsc28gc3VwcG9ydHMgYHJlZm9ybWF0YCwKCSAqICAgYSBib29sZWFuIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVmb3JtYXQgdGhlIGlucHV0IHZhbHVlcyB0byB0aGUgYGRhdGVGb3JtYXRgLgoJICogQHJldHVybiBqUXVlcnkKCSAqLwoJJC50aW1lcGlja2VyLmhhbmRsZVJhbmdlID0gZnVuY3Rpb24obWV0aG9kLCBzdGFydFRpbWUsIGVuZFRpbWUsIG9wdGlvbnMpIHsKCQkkLmZuW21ldGhvZF0uY2FsbChzdGFydFRpbWUsICQuZXh0ZW5kKHsKCQkJb25DbG9zZTogZnVuY3Rpb24oZGF0ZVRleHQsIGluc3QpIHsKCQkJCWNoZWNrRGF0ZXModGhpcywgZW5kVGltZSwgZGF0ZVRleHQpOwoJCQl9LAoJCQlvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0ZWREYXRlVGltZSkgewoJCQkJc2VsZWN0ZWQodGhpcywgZW5kVGltZSwgJ21pbkRhdGUnKTsKCQkJfQoJCX0sIG9wdGlvbnMsIG9wdGlvbnMuc3RhcnQpKTsKCQkkLmZuW21ldGhvZF0uY2FsbChlbmRUaW1lLCAkLmV4dGVuZCh7CgkJCW9uQ2xvc2U6IGZ1bmN0aW9uKGRhdGVUZXh0LCBpbnN0KSB7CgkJCQljaGVja0RhdGVzKHRoaXMsIHN0YXJ0VGltZSwgZGF0ZVRleHQpOwoJCQl9LAoJCQlvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0ZWREYXRlVGltZSkgewoJCQkJc2VsZWN0ZWQodGhpcywgc3RhcnRUaW1lLCAnbWF4RGF0ZScpOwoJCQl9CgkJfSwgb3B0aW9ucywgb3B0aW9ucy5lbmQpKTsKCQkvLyB0aW1lcGlja2VyIGRvZXNuJ3QgcHJvdmlkZSBhY2Nlc3MgdG8gaXRzICd0aW1lRm9ybWF0JyBvcHRpb24sIAoJCS8vIG5vciBjb3VsZCBJIGdldCBkYXRlcGlja2VyLmZvcm1hdFRpbWUoKSB0byBiZWhhdmUgd2l0aCB0aW1lcywgc28gSQoJCS8vIGhhdmUgZGlzYWJsZWQgcmVmb3JtYXR0aW5nIGZvciB0aW1lcGlja2VyCgkJaWYgKG1ldGhvZCAhPSAndGltZXBpY2tlcicgJiYgb3B0aW9ucy5yZWZvcm1hdCkgewoJCQkkKFtzdGFydFRpbWUsIGVuZFRpbWVdKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJdmFyIGZvcm1hdCA9ICQodGhpcylbbWV0aG9kXS5jYWxsKCQodGhpcyksICdvcHRpb24nLCAnZGF0ZUZvcm1hdCcpLAoJCQkJCWRhdGUgPSBuZXcgRGF0ZSgkKHRoaXMpLnZhbCgpKTsKCQkJCWlmICgkKHRoaXMpLnZhbCgpICYmIGRhdGUpIHsKCQkJCQkkKHRoaXMpLnZhbCgkLmRhdGVwaWNrZXIuZm9ybWF0RGF0ZShmb3JtYXQsIGRhdGUpKTsKCQkJCX0KCQkJfSk7CgkJfQoJCWNoZWNrRGF0ZXMoc3RhcnRUaW1lLCBlbmRUaW1lLCBzdGFydFRpbWUudmFsKCkpOwoKCQlmdW5jdGlvbiBjaGVja0RhdGVzKGNoYW5nZWQsIG90aGVyLCBkYXRlVGV4dCkgewoJCQlpZiAob3RoZXIudmFsKCkgJiYgKG5ldyBEYXRlKHN0YXJ0VGltZS52YWwoKSkgPiBuZXcgRGF0ZShlbmRUaW1lLnZhbCgpKSkpIHsKCQkJCW90aGVyLnZhbChkYXRlVGV4dCk7CgkJCX0KCQl9CgkJc2VsZWN0ZWQoc3RhcnRUaW1lLCBlbmRUaW1lLCAnbWluRGF0ZScpOwoJCXNlbGVjdGVkKGVuZFRpbWUsIHN0YXJ0VGltZSwgJ21heERhdGUnKTsKCgkJZnVuY3Rpb24gc2VsZWN0ZWQoY2hhbmdlZCwgb3RoZXIsIG9wdGlvbikgewoJCQlpZiAoISQoY2hhbmdlZCkudmFsKCkpIHsKCQkJCXJldHVybjsKCQkJfQoJCQl2YXIgZGF0ZSA9ICQoY2hhbmdlZClbbWV0aG9kXS5jYWxsKCQoY2hhbmdlZCksICdnZXREYXRlJyk7CgkJCS8vIHRpbWVwaWNrZXIgZG9lc24ndCBpbXBsZW1lbnQgJ2dldERhdGUnIGFuZCByZXR1cm5zIGEgalF1ZXJ5CgkJCWlmIChkYXRlLmdldFRpbWUpIHsKCQkJCSQob3RoZXIpW21ldGhvZF0uY2FsbCgkKG90aGVyKSwgJ29wdGlvbicsIG9wdGlvbiwgZGF0ZSk7CgkJCX0KCQl9CgkJcmV0dXJuICQoW3N0YXJ0VGltZS5nZXQoMCksIGVuZFRpbWUuZ2V0KDApXSk7Cgl9OwoKCS8qCgkqIEtlZXAgdXAgd2l0aCB0aGUgdmVyc2lvbgoJKi8KCSQudGltZXBpY2tlci52ZXJzaW9uID0gIjEuMS4xIjsKCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/listit2fd.SelectDateTime.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfU2VsZWN0RGF0ZVRpbWUgZXh0ZW5kcyBMaXN0SXQyRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nLiR0aGlzLT5HZXRUeXBlKCkpKTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKQ0KCXsNCiAgICAgICAgJHRtcGwgPSA8PDxFT1QNCjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InskdGhpcy0+R2V0VVJMUGF0aCgpfS9qcWV1cnktdWktdGltZXBpY2tlci1hZGRvbi5jc3MiIC8+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JHRoaXMtPkdldFVSTFBhdGgoKX0vanF1ZXJ5LXVpLXRpbWVwaWNrZXItYWRkb24uanMiPjwvc2NyaXB0Pg0KRU9UOw0KCQlyZXR1cm4gJHRtcGw7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBWYWxpZGF0ZSgmJGVycm9ycykNCgl7DQoJCWlmIChzdHJsZW4oJHRoaXMtPkdldFZhbHVlKCJzdHJpbmciKSkgPiAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ21heF9sZW5naHQnKSkgew0KCQkNCgkJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCd0b29fbG9uZycpIC4gJyAoJyAuICR0aGlzLT5HZXROYW1lKCkgLiAnKSc7DQoJCX0JCQ0KCQ0KCQlwYXJlbnQ6OlZhbGlkYXRlKCRlcnJvcnMpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gRm9ybWF0VHlwZXMoKQ0KCXsNCgkJcmV0dXJuIGFycmF5KA0KCQkJMCA9PiAkdGhpcy0+TW9kTGFuZygnY29tYmluZWQnKSwNCgkJCTEgPT4gJHRoaXMtPk1vZExhbmcoJ2RhdGVfZm9ybWF0JyksDQoJCQkyID0+ICR0aGlzLT5Nb2RMYW5nKCd0aW1lX2Zvcm1hdCcpDQoJCQ0KCQkpOw0KCX0JDQoJCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/admin.SelectFile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnYWxsb3dlZCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfYWxsb3dfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2FsbG93ZWRdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2FsbG93ZWQnLCAncGRmLGdpZixqcGVnLGpwZycpfSIgLz4KCTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdkaXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2Rpcl9oZWxwJyl9PC9lbT48YnIgLz4KCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbZGlyXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkaXInLCdpbWFnZXMnKX0iIC8+Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZXhjbHVkZV9wcmVmaXgnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2V4Y2x1ZGVfcHJlZml4X2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtleGNsdWRlX3ByZWZpeF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnZXhjbHVkZV9wcmVmaXgnKX0iIC8+Cgk8L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/input.SelectFile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJe2h0bWxfb3B0aW9ucyBuYW1lPSJgJGFjdGlvbmlkYGN1c3RvbWZpZWxkW2AkZmllbGRkZWYtPkdldElkKClgXSIgb3B0aW9ucz0kZmllbGRkZWYtPkdldEZpbGVzKCkgc2VsZWN0ZWQ9JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfQoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/listit2fd.SelectFile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfU2VsZWN0RmlsZSBleHRlbmRzIExpc3RJdDJGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0RmlsZXMoKQ0KCXsNCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KCQkNCgkJJHBhdGggPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2RpcicpKTsNCg0KCQlpZiAoIWlzX2RpcigkcGF0aCkpIHsNCgkJCUBta2RpcigkcGF0aCk7DQoJCX0NCg0KCQkkYWxsb3dlZCA9ICgkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2FsbG93ZWQnKSAhPSAnJyA/IGV4cGxvZGUoJywnLCR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnYWxsb3dlZCcpKSA6IGFycmF5KA0KCQkJJ2pwZycsDQoJCQknZ2lmJywNCgkJCSdwbmcnDQoJCSkpOw0KDQoJCSRpbnZhbGlkID0gYXJyYXkoJy4nLCcuLicpOw0KCQkkZXhjbHVkZV9wcmVmaXggPSBleHBsb2RlKCcsJywgJHRoaXMtPkdldE9wdGlvblZhbHVlKCdleGNsdWRlX3ByZWZpeCcpKTsNCgkJDQoJCSRpbWFnZXMgPSBhcnJheSgpOw0KCQlpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJHBhdGgpKSB7DQoJCQl3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpKSB7DQoJCQkNCgkJCQlpZihpbl9hcnJheSgkZmlsZSwgJGludmFsaWQpKSBjb250aW51ZTsNCgkJCQkNCgkJCQlmb3JlYWNoKCRleGNsdWRlX3ByZWZpeCBhcyAkb25lKSB7DQoJCQkJDQoJCQkJCWlmKHN0YXJ0c3dpdGgoJGZpbGUsICRvbmUpICYmICFlbXB0eSgkb25lKSkgY29udGludWUgMjsNCgkJCQl9DQoJCQkJDQoJCQkJZm9yZWFjaCgkYWxsb3dlZCBhcyAkZXh0KSB7DQoJCQkJDQoJCQkJCWlmKGVuZHN3aXRoKCRmaWxlLCAkZXh0KSkgew0KCQkJCQkNCgkJCQkJCSRpbWFnZXNbJGZpbGVdID0gJGZpbGU7DQoJCQkJCX0NCgkJCQkNCgkJCQl9DQoJCQl9DQoNCgkJCWNsb3NlZGlyKCRoYW5kbGUpOw0KCQl9DQoNCgkJYXNvcnQoJGltYWdlcyk7DQoJCSRpbWFnZXMgPSBhcnJheV9tZXJnZShhcnJheSgnJz0+JHRoaXMtPk1vZExhbmcoJ3NlbGVjdF9vbmUnKSksICRpbWFnZXMpOw0KCQkJDQoJCXJldHVybiAkaW1hZ2VzOw0KCX0NCgkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/admin.Slider.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnd2lkdGgnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3dpZHRoX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFt3aWR0aF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnd2lkdGgnLCAnMjAlJyl9IiAvPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ21pbl92YWx1ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWluX3ZhbHVlX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFttaW5dIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ21pbicsIDApfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdtYXhfdmFsdWUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX21heF92YWx1ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4XSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdtYXgnLCAxMDApfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdpbmNyZW1lbnRfYnknKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2luY3JlbWVudF9ieV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbaW5jcmVtZW50XSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdpbmNyZW1lbnQnLCAxKX0iIC8+CiAgICA8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/input.Slider.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KCQl7aWYgJGZpZWxkZGVmLT5HZXREZXNjKCl9KHskZmllbGRkZWYtPkdldERlc2MoKX0pPGJyIC8+ey9pZn0KCQk8cD48ZW0+eyRmaWVsZGRlZi0+TW9kTGFuZygndmFsdWUnKX06IDwvZW0+PHNwYW4gaWQ9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dLXZpc2libGUtdmFsdWUiPnskZmllbGRkZWYtPkdldFZhbHVlKCl8ZGVmYXVsdDokZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdtaW4nKX08L3NwYW4+PC9wPgoJCTxkaXYgY2xhc3M9Imxpc3RpdDItc2xpZGVyLWNvbnRhaW5lciIgc3R5bGU9IndpZHRoOiB7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnd2lkdGgnKX0iPgoJCQk8ZGl2IGNsYXNzPSJsaXN0aXQyLXNsaWRlciIgaWQ9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dLXNsaWRlciI+PC9kaXY+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0tdmFsdWUiIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfGRlZmF1bHQ6JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWluJyl9IiAvPgoJCTwvZGl2PgoJPC9kaXY+CgkKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXS1zbGlkZXIiKQoJCS5zbGlkZXIoewogICAgICAgICAgICByYW5nZTogIm1pbiIsCiAgICAgICAgICAgIG1pbjogeyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ21pbicpfSwKICAgICAgICAgICAgbWF4OiB7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4Jyl9LAogICAgICAgICAgICB7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnaW5jcmVtZW50JykgIT0gJyd9c3RlcDogeyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2luY3JlbWVudCcpfSx7L2lmfQoJCQl2YWx1ZTogJCggIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXS12YWx1ZSIgKS52YWwoKSwKCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkKCQkJCSQoICIjeyRhY3Rpb25pZH1jdXN0b21maWVsZFxcXFt7JGZpZWxkZGVmLT5HZXRJZCgpfVxcXF0tdmlzaWJsZS12YWx1ZSIgKS50ZXh0KCB1aS52YWx1ZSApOwoJCQkJJCggIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXS12YWx1ZSIgKS52YWwoIHVpLnZhbHVlICk7CgkJCX0JCQoJCX0pOwoJfSk7Cgk8L3NjcmlwdD4KCQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/listit2fd-slider.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lmxpc3RpdDItc2xpZGVyLWNvbnRhaW5lciB7IHBhZGRpbmc6IDZweCAxMHB4IDZweCA2cHg7IH0NCi5saXN0aXQyLXNsaWRlci1jb250YWluZXIgPiBkaXYgeyB6LWluZGV4OiAxOyB9]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/listit2fd.Slider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfU2xpZGVyIGV4dGVuZHMgTGlzdEl0MkZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkNCgl7DQogICAgICAgICR0bXBsID0gPDw8RU9UDQo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JHRoaXMtPkdldFVSTFBhdGgoKX0vbGlzdGl0MmZkLXNsaWRlci5jc3MiIC8+DQpFT1Q7DQoJCXJldHVybiAkdG1wbDsNCgl9CQ0KCQkJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/admin.TextArea.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmdodCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmdodF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmdodF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmdodCcsIDYwMDApfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCd3eXNpd3lnJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl93eXNpd3lnX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3d5c2l3eWddIiB2YWx1ZT0iMCIgLz4KCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3d5c2l3eWddIiB2YWx1ZT0iMSJ7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnd3lzaXd5ZycpfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/input.TextArea.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJeyRmaWVsZGRlZi0+R2V0SW5wdXQoJGFjdGlvbmlkKX0KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/listit2fd.TextArea.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM77+9eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUNCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQ0KIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4NCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIGxpc3RpdDJmZF9UZXh0QXJlYSBleHRlbmRzIExpc3RJdDJGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGUoJiRlcnJvcnMpDQoJew0KCQlpZiAoc3RybGVuKCR0aGlzLT5HZXRWYWx1ZSgic3RyaW5nIikpID4gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ2h0JywgNjAwMCkgJiYgJHRoaXMtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ2h0JykpIHsNCgkJDQoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygndG9vX2xvbmcnKSAuICcgKCcgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJyknOw0KCQl9CQkNCgkNCgkJcGFyZW50OjpWYWxpZGF0ZSgkZXJyb3JzKTsNCgl9DQoJCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRJbnB1dCgkaWQpDQoJew0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCk7DQoJCQ0KCQlyZXR1cm4gJG1vZC0+Q3JlYXRlVGV4dEFyZWEoJHRoaXMtPkdldE9wdGlvblZhbHVlKCd3eXNpd3lnJyksICRpZCwgJHRoaXMtPkdldFZhbHVlKCJzdHJpbmciKSwgJ2N1c3RvbWZpZWxkWycuJHRoaXMtPkdldElkKCkuJ10nKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/admin.TextInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2l6ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2l6ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2l6ZV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDIwKX0iIC8+CiAgICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmdodCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmdodF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmdodF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmdodCcsIDI1NSl9IiAvPgogICAgPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/input.TextInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0VmFsdWUoKX0iIHNpemU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaXplJyl9IiAvPgoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/listit2fd.TextInput.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4NCiMgV2ViOiB3d3cuY29uY2VwdGZhY3RvcnkuY29tLmF1DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTI6IA0KIw0KIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+DQojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQ0KIw0KIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+DQojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXN0aXQyZmRfVGV4dElucHV0IGV4dGVuZHMgTGlzdEl0MkZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBWYWxpZGF0ZSgmJGVycm9ycykNCgl7DQoJCWlmIChzdHJsZW4oJHRoaXMtPkdldFZhbHVlKCJzdHJpbmciKSkgPiAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ21heF9sZW5naHQnLCAyNTUpICYmICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmdodCcpKSB7DQoJCQ0KCQkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ3Rvb19sb25nJykgLiAnICgnIC4gJHRoaXMtPkdldE5hbWUoKSAuICcpJzsNCgkJfQkJDQoJDQoJCXBhcmVudDo6VmFsaWRhdGUoJGVycm9ycyk7DQoJfQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/listit2-globals.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogRlVOQ1RJT05TCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmZ1bmN0aW9uIHNob3dfbWVzc2FnZSh0ZXh0KSB7CgoJaWYodGV4dCAhPSAnJyl7CgkJdmFyIG1lc3NhZ2UgPSBqUXVlcnkoJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicgKyB0ZXh0ICsgJzwvcD48L2Rpdj4nKS5pbnNlcnRCZWZvcmUoJyNwYWdlX3RhYnMnKTsKCQl3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpeyBtZXNzYWdlLmhpZGUoKTsgfSwgOTAwMCk7Cgl9IAp9CgpmdW5jdGlvbiBpbml0QWpheCgpewoKCWpRdWVyeSgnLmluaXQtYWpheC10b2dnbGUnKS5jaGlsZHJlbigiYSIpLmFkZENsYXNzKCdhamF4LXRvZ2dsZScpOwoJalF1ZXJ5KCcuaW5pdC1hamF4LWRlbGV0ZScpLmNoaWxkcmVuKCJhIikuYWRkQ2xhc3MoJ2FqYXgtZGVsZXRlJyk7Cn0KCmZ1bmN0aW9uIGluaXRBamF4RXZlbnRzKCkgewoKCWpRdWVyeSgnLmFqYXgtdG9nZ2xlJykuY2xpY2soZnVuY3Rpb24gKGV2ZW50KSB7CgoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CQkKCQlhamF4X3RvZ2dsZSgkKHRoaXMpKTsKCX0pOwoJCglqUXVlcnkoJy5hamF4LWRlbGV0ZScpLmNsaWNrKGZ1bmN0aW9uIChldmVudCkgewoKCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCgkJaWYoY29uZmlybSgnQXJlIHlvdSBzdXJlPycpKSB7CgkKCQkJYWpheF9kZWxldGUoJCh0aGlzKSk7CgkJfQoJfSk7CQkKfQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogSlFVRVJZIElOSVQgKFJ1biBpbml0aWFsIHN0dWZmIGhlcmUpCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmpRdWVyeShmdW5jdGlvbigkKXsKCglpbml0QWpheCgpOwoJaW5pdEFqYXhFdmVudHMoKTsKfSk7CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiBBSkFYIExPQURJTkcgKE9ubHkgbG9hZCBhamF4IGZ1bmN0aW9ucyBpbiBoZXJlKQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKioKKiBERUxFVEUgSVRFTQoqIEAgb2JqIDogalF1ZXJ5IERPTSBvYmplY3QKKi8KZnVuY3Rpb24gYWpheF9kZWxldGUob2JqKSB7CgoJdmFyIHVybCA9IG9iai5hdHRyKCJocmVmIik7Cgl1cmwgKz0gIiZzaG93dGVtcGxhdGU9ZmFsc2UiOwoJCQoJalF1ZXJ5LmFqYXgoewoJCXR5cGU6ICJHRVQiLAoJCXVybDogdXJsLAoJCWFzeW5jOiB0cnVlLAoJCWRhdGFUeXBlOiAiaHRtbCIsCgkJYmVmb3JlU2VuZDogZnVuY3Rpb24oKSB7CgkJCgkJCW9iai5lbXB0eSgpLmFwcGVuZCgnPGRpdiBjbGFzcz0iYWpheC1sb2FkaW5nIGFqYXgtbG9hZGVyLXR5cGUtMTYiPjwvZGl2PicpOwoJCX0sCgkJZXJyb3I6IGZ1bmN0aW9uKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgewoJCQkKCQkJLy9hbGVydCgiU29ycnkuIFRoZXJlIHdhcyBhbiBMaXN0SXQyIEFKQVggZXJyb3I6ICIgKyB0ZXh0U3RhdHVzKTsKCQl9LAkJCQoJCXN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsKCQkJCgkJCXNob3dfbWVzc2FnZShkYXRhKTsKCQl9LAoJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsKCQkKCQkJb2JqLmNsb3Nlc3QoInRyIikuZmFkZU91dCg1MDAsIGZ1bmN0aW9uKCkgewoKCQkJCXZhciB0YWJsZSA9ICQodGhpcykuY2xvc2VzdCgidGFibGUiKTsKCQkJCXZhciB0b3RhbHJvd3MgPSB0YWJsZS5maW5kKCJ0Ym9keSB0ciIpLnNpemUoKTsJCQkJCQoJCQkJCgkJCQkkKHRoaXMpLnJlbW92ZSgpOwoJCQkJCgkJCQl0YWJsZS5maW5kKCJ0Ym9keSB0ciIpLnJlbW92ZUNsYXNzKCk7CgkJCQl0YWJsZS5maW5kKCJ0Ym9keSB0cjpudGgtY2hpbGQoMm4rMSkiKS5hZGRDbGFzcygicm93MSIpOwoJCQkJdGFibGUuZmluZCgidGJvZHkgdHI6bnRoLWNoaWxkKDJuKSIpLmFkZENsYXNzKCJyb3cyIik7CQkJCQkKCQkJCQoJCQl9KTsKCQl9CQkKCQkKCX0pOwoKfQoKLyoqCiogVE9HR0xFIEFDVElWRQoqIEAgb2JqIDogalF1ZXJ5IERPTSBvYmplY3QKKi8KZnVuY3Rpb24gYWpheF90b2dnbGUob2JqKSB7CgoJdmFyIHVybCA9IG9iai5hdHRyKCJocmVmIik7Cgl1cmwgKz0gIiZzaG93dGVtcGxhdGU9ZmFsc2UiOwoJCQoJalF1ZXJ5LmFqYXgoewoJCXR5cGU6ICJHRVQiLAoJCXVybDogdXJsLAoJCWFzeW5jOiB0cnVlLAoJCWRhdGFUeXBlOiAianNvbiIsCgkJYmVmb3JlU2VuZDogZnVuY3Rpb24oKSB7CgkJCgkJCW9iai5lbXB0eSgpLmFwcGVuZCgnPGRpdiBjbGFzcz0iYWpheC1sb2FkaW5nIGFqYXgtbG9hZGVyLXR5cGUtMTYiPjwvZGl2PicpOwoJCX0sCgkJZXJyb3I6IGZ1bmN0aW9uKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgewoJCQkKCQkJLy9hbGVydCgiU29ycnkuIFRoZXJlIHdhcyBhbiBMaXN0SXQyIEFKQVggZXJyb3I6ICIgKyB0ZXh0U3RhdHVzKTsKCQl9LAkJCQoJCXN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsKCQkJCgkJCW9iai5odG1sKGRhdGEuaW1hZ2UpOwkJCQkKCQkJb2JqLmF0dHIoImhyZWYiLCBkYXRhLmhyZWYpOwoJCX0sCgkJY29tcGxldGU6IGZ1bmN0aW9uKCkgewoJCQoJCQkkKHRoaXMsICIuYWpheC1sb2FkaW5nIikucmVtb3ZlKCk7CgkJfQkJCgkJCgl9KTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/ListIt2.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEzDtnl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+CiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpCiMKIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+CiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiBHTE9CQUwgREVGSU5FUwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCmRlZmluZSgnTElTVElUMicsICdMaXN0SXQyJyk7CmRlZmluZSgnTElTVElUMl9WQUxVRV9TRVBBUkFUT1InLCAnLCcpOwpkZWZpbmUoJ0xJU1RJVDJfQ09ORklHX0ZJTEUnLCAnbGlzdGl0Ml9jb25maWcucGhwJyk7CmRlZmluZSgnTElTVElUMl9GUkFNRVdPUktfUEFUSCcsIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLExJU1RJVDIsJ2ZyYW1ld29yaycpKTsKZGVmaW5lKCdMSVNUSVQyX1RFTVBMQVRFX1BBVEgnLCBjbXNfam9pbl9wYXRoKExJU1RJVDJfRlJBTUVXT1JLX1BBVEgsJ3RlbXBsYXRlcycpKTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogTUFJTiBDTEFTUwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmNsYXNzIExpc3RJdDIgZXh0ZW5kcyBDTVNNb2R1bGUKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljICRwcmVmaXg7IC8vIDwtIE1vdmUgdG8gdmFyaWFibGVzCgkvL3B1YmxpYyAkYWxsb3dlZF9wYXJhbXM7IC8vIDwtIERlcHJlY2F0ZSB0aGlzIGF0IHNvbWUgcG9pbnQKCXB1YmxpYyAkdXNlX2hpbnRzOyAvLyA8LSBNb3ZlIHRvIHZhcmlhYmxlcwoJcHJpdmF0ZSAkY29uZmlnOwoJcHJpdmF0ZSAkX2ZpZWxkZGVmX2NhY2hlOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCgl7CQoJCXNwbF9hdXRvbG9hZF9yZWdpc3RlcihhcnJheSgmJHRoaXMsICdfYXV0b2xvYWRlcicpKTsKCQoJCSR0aGlzLT5jb25maWcgPSBuZXcgTGlzdEl0MkNvbmZpZygkdGhpcyk7CgkJJHRoaXMtPnByZWZpeCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpcy0+R2V0TmFtZSgpLCB0cnVlKSk7CgkJLy8kdGhpcy0+YWxsb3dlZF9wYXJhbXMgPSBhcnJheSgpOwoJCQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoKTsJCgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgSW50ZXJuYWwgYXV0b2xvYWRlcgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIF9hdXRvbG9hZGVyKCRjbGFzc25hbWUpCgl7CQoJCSRmbiA9ICR0aGlzLT5HZXRNb2R1bGVQYXRoKCkuIi9saWIvY2xhc3MueyRjbGFzc25hbWV9LnBocCI7CgkJaWYoZmlsZV9leGlzdHMoJGZuKSkgewoJCQoJCQlyZXF1aXJlX29uY2UoJGZuKTsKCQl9CQoJfQkKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNb2R1bGUgYXBpIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpCgl7CgkJcmV0dXJuIExJU1RJVDI7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCgl7CgkJcmV0dXJuIExJU1RJVDI7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKQoJewoJCXJldHVybiAnMS40JzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0SGVscCgpCgl7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCgkJLy8kc21hcnR5LT5hc3NpZ24oJ21vZHVsZV9uYW1lJywgJHRoaXMtPkdldE5hbWUoKSk7CgkJJHNtYXJ0eS0+YXNzaWduKCdwYXJlbnRfbmFtZScsIHBhcmVudDo6R2V0TmFtZSgpKTsKCQkvLyRzbWFydHktPmFzc2lnbignbW9kdWxlX2FsaWFzJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpKTsKCQkkc21hcnR5LT5hc3NpZ24oJ3Jvb3R1cmwnLCAkY29uZmlnWydyb290X3VybCddKTsKCgkJJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7CgoJCXJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdoZWxwLnRwbCcpOwoJfQkKCglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkKCXsKCQlyZXR1cm4gJ0lEVCBNZWRpYSBUZWFtJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCXJldHVybiAnaGlAaS1kby10aGlzLmNvbSc7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCgl7CgkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2NoYW5nZWxvZy5odG1sJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKCXsKCQlyZXR1cm4gJ2V4dGVuc2lvbnMnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKCXsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ21vZGRlc2NyaXB0aW9uJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCgl7CgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKCXsKCQlyZXR1cm4gJzEuMTEnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TW9kTGFuZygncG9zdGluc3RhbGwnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TW9kTGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoJCglmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCAkZXZlbnRuYW1lICkKCXsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2V2ZW50ZGVzY18nIC4gJGV2ZW50bmFtZSk7Cgl9CgoJZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCAkZXZlbnRuYW1lICkKCXsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2V2ZW50aGVscF8nIC4gJGV2ZW50bmFtZSk7Cgl9CQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkKICAgIHsKCQkvLyBTU0wgY2hlY2sgKEhvcGVmdWxseSBjb3JlIHdvdWxkIGRvIHRoaXMgc29vbi4uLikKCQkkdXNlX3NzbCA9IGZhbHNlOwoJCWlmKGlzc2V0KCRfU0VSVkVSWydIVFRQUyddKSAmJiAkX1NFUlZFUlsnSFRUUFMnXT09J29uJykKCQkJJHVzZV9zc2wgPSB0cnVlOwkKCQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkZ2xvYmFsc19qcyA9ICgkdXNlX3NzbD8kY29uZmlnWydzc2xfdXJsJ106JGNvbmZpZ1sncm9vdF91cmwnXSkuICcvbW9kdWxlcy8nLiBMSVNUSVQyIC4nL2xpYi9qcy8nOwoJCSRnbG9iYWxzX2NzcyA9ICgkdXNlX3NzbD8kY29uZmlnWydzc2xfdXJsJ106JGNvbmZpZ1sncm9vdF91cmwnXSkuICcvbW9kdWxlcy8nLiBMSVNUSVQyIC4nL2xpYi9jc3MvJzsJCQoKICAgICAgICAkdG1wbCA9IDw8PEVPVAo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGdsb2JhbHNfY3NzfWxpc3RpdDItZ2xvYmFscy5jc3MiIC8+CQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JGdsb2JhbHNfanN9bGlzdGl0Mi1nbG9iYWxzLmpzIj48L3NjcmlwdD4KRU9UOwogICAgICAgIHJldHVybiAkdG1wbDsKICAgIH0JCgoJcHVibGljIGZ1bmN0aW9uIERvQWN0aW9uKCRuYW1lLCRpZCwkcGFyYW1zLCRyZXR1cm5pZD0nJykKCXsKCQlnbG9iYWwgJENNU19BRE1JTl9QQUdFOwoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQoJCSRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ21vZCcsICR0aGlzKTsKCQkkc21hcnR5LT5hc3NpZ24oJ2FjdGlvbmlkJywgJGlkKTsKCQkkc21hcnR5LT5hc3NpZ24oJ3JldHVybmlkJywgJHJldHVybmlkKTsKCQkKCQlpZigkQ01TX0FETUlOX1BBR0UpIHsKCQkKCQkJJHRoZW1lT2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CgkJCSRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ3RoZW1lT2JqZWN0JywgJHRoZW1lT2JqZWN0KTsJCQoJCX0KCQkJCQoJCWlmICgkbmFtZSAhPSAnJykgewoJCgkJCSRjb250ZW50cyA9ICcnOwkJCgkJCSRuYW1lID0gcHJlZ19yZXBsYWNlKCcvW15BLVphLXowLTlcLV8rXS8nLCAnJywgJG5hbWUpOwoKCQkJaWYoJENNU19BRE1JTl9QQUdFKQoJCQkJJGNvbnRlbnRzIC49ICc8ZGl2IGNsYXNzPSJsaXN0aXQyLWFkbWluLXdyYXBwZXIiPic7CgkJCQoJCQkkZmlsZW5hbWUgPSAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9hY3Rpb24uJyAuICRuYW1lIC4gJy5waHAnOwoJCQlpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgewoJCQkJCQkKCQkJCW9iX3N0YXJ0KCk7CQoJCQkJaW5jbHVkZSgkZmlsZW5hbWUpOwoJCQkJJGNvbnRlbnRzIC49IG9iX2dldF9jb250ZW50cygpOwoJCQkJb2JfZW5kX2NsZWFuKCk7CQoJCQl9CQkJCgkJCQkKCQkJaWYoJENNU19BRE1JTl9QQUdFKQoJCQkJJGNvbnRlbnRzIC49ICc8L2Rpdj4nOwoKCQkJZWNobyAkY29udGVudHM7CQkJCgkJfQkJCgl9CgkKCWZ1bmN0aW9uIFVwZ3JhZGUoJG9sZHZlcnNpb24sICRuZXd2ZXJzaW9uKQoJewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkKCQkkcmVzcG9uc2UgPSBGQUxTRTsKCQoJCSRmaWxlbmFtZSA9ICR0aGlzLT5HZXRNb2R1bGVQYXRoKCkgLiAnL21ldGhvZC51cGdyYWRlLnBocCc7CgkJaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIHsKCQkJCgkJCSRyZXNwb25zZSA9IEZBTFNFOwoJCQkkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOwoJCQlpZigkcmVzID09IDEgfHwgJHJlcyA9PSAnJykgJHJlc3BvbnNlID0gVFJVRTsKCQl9CgoJCXJldHVybiAkcmVzcG9uc2U7Cgl9CgoJZnVuY3Rpb24gSW5zdGFsbCgpCgl7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQoJCSRyZXNwb25zZSA9IEZBTFNFOwoJCgkJJGZpbGVuYW1lID0gJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuICcvbWV0aG9kLmluc3RhbGwucGhwJzsKCQlpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgewoJCQkKCQkJJHJlcyA9IGluY2x1ZGUoJGZpbGVuYW1lKTsKCQkJaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpIHsKCQkJCSRyZXNwb25zZSA9IEZBTFNFOwoJCQl9IGVsc2UgewoJCQkJJHJlc3BvbnNlID0gJHJlczsKCQkJfQoJCX0JCgkKCQlyZXR1cm4gJHJlc3BvbnNlOwoJfQoJCglmdW5jdGlvbiBVbmluc3RhbGwoKQoJewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkKCQkkcmVzcG9uc2UgPSBGQUxTRTsKCQkKCQkkZmlsZW5hbWUgPSAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9tZXRob2QudW5pbnN0YWxsLnBocCc7CgkJaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIHsKCQkJCgkJCSRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7CgkJCWlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSB7CgkJCQkkcmVzcG9uc2UgPSBGQUxTRTsKCQkJfSBlbHNlIHsKCQkJCSRyZXNwb25zZSA9ICRyZXM7CgkJCX0KCQl9CQoJCgkJcmV0dXJuICRyZXNwb25zZTsKCX0JCgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYW5pcHVsYXRpb24gbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKCQoJcHVibGljIGZ1bmN0aW9uIE1vZExhbmcoKQoJewoJCSR0aGlzLT5Mb2FkTGFuZ01ldGhvZHMoKTsKCgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJYXJyYXlfdW5zaGlmdCgkYXJncywnJyk7CgkJJGFyZ3NbMF0gPSAmJHRoaXM7CgoJCXJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheSgnY21zX21vZHVsZV9MYW5nJywgJGFyZ3MpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gTW9kUHJvY2Vzc1RlbXBsYXRlKCR0cGxfbmFtZSkKCXsKCQkkb2sgPSAoc3RycG9zKCR0cGxfbmFtZSwgJy4uJykgPT09IGZhbHNlKTsKCQlpZiAoISRvaykgcmV0dXJuOwoKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CQoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkcmVzdWx0ID0gJyc7CgkJCgkJJG9sZGNhY2hlID0gJHNtYXJ0eS0+Y2FjaGluZzsKCQkkc21hcnR5LT5jYWNoaW5nID0gJHRoaXMtPmNhbl9jYWNoZV9vdXRwdXQoKSA/IFNtYXJ0eTo6Q0FDSElOR19MSUZFVElNRV9DVVJSRU5UIDogU21hcnR5OjpDQUNISU5HX09GRjsKCgkJJGZpbGVzID0gYXJyYXkoKTsKCQkkZmlsZXNbXSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZV9jdXN0b20nLCR0aGlzLT5HZXROYW1lKCksJ3RlbXBsYXRlcycsJHRwbF9uYW1lKTsKCQkkZmlsZXNbXSA9IGNtc19qb2luX3BhdGgoTElTVElUMl9URU1QTEFURV9QQVRILCR0cGxfbmFtZSk7CgoJCWZvcmVhY2goJGZpbGVzIGFzICRmaWxlKSB7CgkJCgkJCWlmKGlzX3JlYWRhYmxlKCRmaWxlKSkgewoKCQkJCSRyZXN1bHQgPSAkc21hcnR5LT5mZXRjaCgkZmlsZSk7CgkJCQlicmVhazsKCQkJfQoJCX0KCQkKCQkkc21hcnR5LT5jYWNoaW5nID0gJG9sZGNhY2hlOwoKCQlyZXR1cm4gJHJlc3VsdDsJCQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBNb2RHZXRUZW1wbGF0ZUZyb21GaWxlKCR0cGxfbmFtZSkKCXsKCQkkb2sgPSAoc3RycG9zKCR0cGxfbmFtZSwgJy4uJykgPT09IGZhbHNlKTsKCQlpZiAoISRvaykgcmV0dXJuOwoKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJCgkJJHRlbXBsYXRlID0gY21zX2pvaW5fcGF0aChMSVNUSVQyX1RFTVBMQVRFX1BBVEgsJHRwbF9uYW1lLicudHBsJyk7CgkJCgkJaWYgKGlzX3JlYWRhYmxlKCR0ZW1wbGF0ZSkpIHsKCQkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkdGVtcGxhdGUpOwoJCX0gZWxzZSB7CgkJCXJldHVybiBudWxsOwoJCX0KCX0JCQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEluc3RhbmNlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQkKCgkvKioKCSAqIExpc3QgTW9kdWxlcwoJICogTk9URTogbGlzdGl0Ml91dGlsczo6YXJyYXlfdG9fb2JqZWN0KCkgbm90IGNhbGxlZCB3aXRoIHB1cnBvc2UuCgkgKiBAaW50ZXJuYWwKCSAqIEByZXR1cm4gYXJyYXkgb2Ygb2JqZWN0cwoJICovCQkKCWZpbmFsIHB1YmxpYyBmdW5jdGlvbiBMaXN0TW9kdWxlcygpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsJCgkJCgkJJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoJCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfbGlzdGl0Ml9pbnN0YW5jZXMgT1JERVIgQlkgbW9kdWxlX2lkIjsJCgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCQl3aGlsZSAoJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSkgewoJCQoJCQkkb2JqID0gbmV3IHN0ZENsYXNzKCk7CgkJCgkJCSRvYmotPm1vZHVsZV9pZCA9ICRyb3dbJ21vZHVsZV9pZCddOwoJCQkkb2JqLT5tb2R1bGVfbmFtZSA9ICRyb3dbJ21vZHVsZV9uYW1lJ107CgkJCgkJCSRlbnRyeWFycmF5WyRyb3dbJ21vZHVsZV9pZCddXSA9ICRvYmo7CgkJfQoJCgkJcmV0dXJuICRlbnRyeWFycmF5OwkKCX0JCgoJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCSogRlJBTUVXT1JLIFNUQVJUUwoJKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBDcm9zcyBtb2R1bGUgc3VwcG9ydAoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCgkKCS8vIENHRSBoaW50IHN5c3RlbSBzdXBwb3J0CQoJcHVibGljIGZ1bmN0aW9uIExvYWRNb2R1bGVIaW50cygmJHBhcmFtcykKCXsKCQkkdGhpcy0+dXNlX2hpbnRzID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJ19fTU9EVUxFX0hJTlRfXycuJHRoaXMtPkdldE5hbWUoKSk7CQkKCQlpZihjb3VudCgkdGhpcy0+dXNlX2hpbnRzKSA+IDApIHsKCQkJCgkJCWZvcmVhY2goKGFycmF5KSR0aGlzLT51c2VfaGludHMgYXMgJGtleT0+JHZhbHVlKSB7CgkJCQoJCQkJaWYoaXNzZXQoJHBhcmFtc1ska2V5XSkpIGNvbnRpbnVlOwoJCQkJJHBhcmFtc1ska2V5XSA9ICR2YWx1ZTsKCQkJfQoJCX0JCgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgU2VhcmNoIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCgoJcHVibGljIGZ1bmN0aW9uIFNlYXJjaFJlc3VsdCgkcmV0dXJuaWQsICRpdGVtX2lkLCAkYXR0ciA9ICcnKQoJewoJCSRyZXN1bHQgPSBhcnJheSgpOwoKCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVpbmRleF9zZWFyY2gnLCAwKSkgewkJCgkJCQoJCQlpZiAoJGF0dHIgPT0gJ3RpdGxlJykKCQkJewoJCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJCSRyb3cgPSAkZGItPkdldFJvdygnU0VMRUNUIGFsaWFzLCB0aXRsZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgYWN0aXZlID0gMSBBTkQgaXRlbV9pZCA9ID8nLCBhcnJheSgkaXRlbV9pZCkpOwoKCQkJCWlmICgkcm93KQoJCQkJewoJCQkJCS8vMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgoJCQkJCSRyZXN1bHRbMF0gPSAkdGhpcy0+R2V0RnJpZW5kbHlOYW1lKCk7CgoJCQkJCS8vMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUKCQkJCQkkcmVzdWx0WzFdID0gJHJvd1sndGl0bGUnXTsKCgkJCQkJLy8yIHBvc2l0aW9uIGlzIHRoZSBVUkwgdG8gdGhlIGl0ZW0uCgkJCQkJJGlubGluZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5X2lubGluZScsIDApID09IDE7CgoJCQkJCSRkZXRhaWx0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF9kZXRhaWxfdGVtcGxhdGUnKTsKCQkJCQkKCQkJCQkkcGFyYW1zID0gYXJyYXkoJ2l0ZW0nID0+ICRyb3dbJ2FsaWFzJ10sICdkZXRhaWx0ZW1wbGF0ZScgPT4gJGRldGFpbHRlbXBsYXRlKTsJCQkJCgkJCQkJJHRoaXMtPkxvYWRNb2R1bGVIaW50cygkcGFyYW1zKTsKCgkJCQkJJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCdjbnRudDAxJywgJ2RldGFpbCcsICRyZXR1cm5pZCwgJycsICRwYXJhbXMsICcnLCB0cnVlLCAkaW5saW5lKTsKCQkJCX0KCQkJfQoJCX0KCQkKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCQogICAgZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgkbW9kdWxlKQogICAgewkJCQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWluZGV4X3NlYXJjaCcsIDApKSB7CQoJCgkJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gT1JERVIgQlkgaXRlbV9pZCc7CgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJd2hpbGUgKCRyZXN1bHQgJiYgISRyZXN1bHQtPkVPRikKCQkJewoJCQkJaWYgKCRyZXN1bHQtPmZpZWxkc1snYWN0aXZlJ10gPT0gJzEnKQoJCQkJewoJCQkJCSRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRyZXN1bHQtPmZpZWxkc1snaXRlbV9pZCddLCAndGl0bGUnLCAkcmVzdWx0LT5maWVsZHNbJ3RpdGxlJ10sIE5VTEwpOwoJCQkJfQoJCQkJJHJlc3VsdC0+TW92ZU5leHQoKTsKCQkJfQoJCX0KICAgIH0JCQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgVGVtcGxhdGUgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKCQoJcHVibGljIGZ1bmN0aW9uIEdldEZpbGVUZW1wbGF0ZXNCeVR5cGUoJHR5cGUpCgl7CgkJJHJlc3VsdCA9IGFycmF5KCk7CQoJCQoJCWlmICgkaGFuZGxlID0gb3BlbmRpcihMSVNUSVQyX1RFTVBMQVRFX1BBVEgpKSB7CgkJCgkJCXdoaWxlIChmYWxzZSAhPT0gKCRlbnRyeSA9IHJlYWRkaXIoJGhhbmRsZSkpKSB7CgkJCQoJCQkJaWYgKCRlbnRyeSA9PSAiLiIgfHwgJGVudHJ5ID09ICIuLiIpIGNvbnRpbnVlOwoJCQkJCgkJCQlpZihzdGFydHN3aXRoKCRlbnRyeSwgJ2ZlXycpKSB7CgkJCQoJCQkJCWxpc3QoJHRwbF9wcmVmaXgsICR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ18nLCAkZW50cnksIDMpOwoJCQkJCWlmKCR0cGxfdHlwZSA9PSAkdHlwZSkgewoJCQkJCQoJCQkJCQkkc3BsaXRfZmlsZSA9IGV4cGxvZGUoJy4nLCAkZW50cnkpOwoJCQkJCQkkc3BsaXRfbmFtZSA9IGV4cGxvZGUoJy4nLCAkdHBsX25hbWUpOwoJCQkJCQkKCQkJCQkJJHJlc3VsdFskc3BsaXRfbmFtZVswXV0gPSAkc3BsaXRfZmlsZVswXTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJCgkJCWNsb3NlZGlyKCRoYW5kbGUpOwoJCX0JCQoJCgkJa3NvcnQoJHJlc3VsdCk7CgkKCQlyZXR1cm4gJHJlc3VsdDsKCQoJfQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEZpZWxkZGVmIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQoJCgkvLyBHZXQgRmllbGQgRGVmaW5pdGlvbnMgKFJldmlldyB0aGlzIG1ldGhvZCBBU0FQKQoJcHVibGljIGZ1bmN0aW9uIEdldEZpZWxkRGVmcygkaW5jbHVkZV9saXN0ID0gYXJyYXkoKSkKCXsJCQkKCQkvLyBMb2FkIGZyb20gY2FjaGUKCQlpZihpc3NldCgkdGhpcy0+X2ZpZWxkZGVmX2NhY2hlKSkgewoJCQkKCQkJJGZpZWxkZGVmcyA9IGFycmF5KCk7CgkJCWZvcmVhY2goJHRoaXMtPl9maWVsZGRlZl9jYWNoZSBhcyAkZmllbGQpIHsKCgkJCQlpZihjb3VudCgkaW5jbHVkZV9saXN0KSAmJiAKCQkJCQkhaW5fYXJyYXkoJGZpZWxkLT5HZXRBbGlhcygpLCAkaW5jbHVkZV9saXN0KSAmJiAKCQkJCQkhaW5fYXJyYXkoJGZpZWxkLT5HZXRJZCgpLCAkaW5jbHVkZV9saXN0KSkKCQkJCQkJY29udGludWU7CgkJCQoJCQkJJGZpZWxkZGVmc1skZmllbGQtPkdldElkKCldID0gY2xvbmUgJGZpZWxkOwoJCQl9CgkJCQoJCQlyZXR1cm4gbmV3IExpc3RJdDJGaWVsZGRlZkFycmF5KCRmaWVsZGRlZnMpOwoJCX0KCQkKCQkvLyBMb2FkIGZyb20gZGF0YWJhc2UKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwkJCQoJCSR0aGlzLT5fZmllbGRkZWZfY2FjaGUgPSBhcnJheSgpOwoKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZGRlZiBHUk9VUCBCWSBmaWVsZGRlZl9pZCBPUkRFUiBCWSBwb3NpdGlvbiI7CQoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgkJd2hpbGUgKCRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkpIHsKCQkKCQkJJG9iaiA9IExpc3RJdDJGaWVsZGRlZk9wZXJhdGlvbnM6OkxvYWQoJHRoaXMsICRyb3cpOwoJCQlpZihpc19vYmplY3QoJG9iaikpIAoJCQkJJHRoaXMtPl9maWVsZGRlZl9jYWNoZVtdID0gJG9iajsKCQl9CgkJCQoJCXJldHVybiAkdGhpcy0+R2V0RmllbGREZWZzKCRpbmNsdWRlX2xpc3QpOwoJfQoKCS8vIE1ha2UgYnVsayBhY3Rpb24gKHVzaW5nIHRoaXM6IGFjdGlvbi5hamF4LnBocCkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlRmllbGREZWZPcmRlcigkZmllbGRkZWZfb3JkZXIpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsKCQlmb3JlYWNoKCRmaWVsZGRlZl9vcmRlciBhcyAka2V5ID0+ICRpdGVtKXsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGtleSwgJGl0ZW0pKTsKCQl9CgkJcmV0dXJuICR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWQnKTsKCX0JCgkJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEl0ZW0gbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCgkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlSXRlbShMaXN0SXQySXRlbSAmJG9iaikKCXsKCQlMaXN0SXQySXRlbU9wZXJhdGlvbnM6OlNhdmUoJHRoaXMsICRvYmopOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gSW5pdGlhdGVJdGVtKCRsb2FkX2ZpZWxkcyA9IGFycmF5KCkpCgl7CgkJJG9iaiA9IG5ldyBMaXN0SXQySXRlbTsKCQlpZigkbG9hZF9maWVsZHMgIT09IGZhbHNlKSB7CgkJCgkJCSRvYmotPmZpZWxkZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnMoJGxvYWRfZmllbGRzKTsKCQkJJG9iai0+ZmllbGRkZWZzLT5TZXRQYXJlbnRJdGVtKCRvYmopOwoJCX0KCQkJCgkJcmV0dXJuICRvYmo7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBMb2FkSXRlbUJ5SWRlbnRpZmllcigkaWRlbnRpZmllciwgJHZhbHVlLCAkbG9hZF9maWVsZHMgPSBhcnJheSgpKQoJewkKCQlpZighaW5fYXJyYXkoJGlkZW50aWZpZXIsIExpc3RJdDJJdGVtT3BlcmF0aW9uczo6JGlkZW50aWZpZXJzKSkKCQkJdGhyb3cgbmV3IExpc3RJdDJFeGNlcHRpb24oIklsbGVnYWwgaWRlbnRpZmllcjogJGlkZW50aWZpZXIhIik7CgoJCSRvYmogPSAkdGhpcy0+SW5pdGlhdGVJdGVtKCRsb2FkX2ZpZWxkcyA9IGFycmF5KCkpOwoJCSRvYmotPiRpZGVudGlmaWVyID0gJHZhbHVlOwoJCQoJCUxpc3RJdDJJdGVtT3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJG9iaik7CQkJCgkJCQoJCXJldHVybiAkb2JqOwoJfQoJCgkvLyBEZXByZWNhdGVkCglwdWJsaWMgZnVuY3Rpb24gTG9hZEl0ZW1CeUlkKCRpZCA9IGZhbHNlLCAkaW5jbHVkZV9saXN0ID0gYXJyYXkoKSkKCXsKCQkkb2JqID0gJHRoaXMtPkluaXRpYXRlSXRlbSgkaW5jbHVkZV9saXN0KTsKCQkkb2JqLT5pdGVtX2lkID0gJGlkOwoJCQoJCUxpc3RJdDJJdGVtT3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJG9iaik7CQoKCQlyZXR1cm4gJG9iajsKCX0KCQoJLy8gRGVwcmVjYXRlZAoJcHVibGljIGZ1bmN0aW9uIExvYWRJdGVtQnlBbGlhcygkYWxpYXMsICRpbmNsdWRlX2xpc3QgPSBhcnJheSgpKQoJewoJCSRvYmogPSAkdGhpcy0+SW5pdGlhdGVJdGVtKCRpbmNsdWRlX2xpc3QpOwoJCSRvYmotPmFsaWFzID0gJGFsaWFzOwoJCQoJCUxpc3RJdDJJdGVtT3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJG9iaik7CQoKCQlyZXR1cm4gJG9iajsKCX0JCgoJcHVibGljIGZ1bmN0aW9uIERlbGV0ZUl0ZW1CeUlkKCRpZCkKCXsKCQkkb2JqID0gJHRoaXMtPkxvYWRJdGVtQnlJZCgkaWQpOwoJCUxpc3RJdDJJdGVtT3BlcmF0aW9uczo6RGVsZXRlKCR0aGlzLCAkb2JqKTsKCX0JCgkKCS8vIE1ha2UgYnVsayBhY3Rpb24gKHVzaW5nIHRoaXM6IGFjdGlvbi5hamF4LnBocCkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlSXRlbU9yZGVyKCRpdGVtX29yZGVyKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgaXRlbV9pZCA9ID8nOwoJCWZvcmVhY2goJGl0ZW1fb3JkZXIgYXMgJGtleSA9PiAkaXRlbSl7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRrZXksICRpdGVtKSk7CgkJfQoJCXJldHVybiAkdGhpcy0+TW9kTGFuZygnY2hhbmdlc3NhdmVkJyk7Cgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ2F0ZWdvcnkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCgkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlQ2F0ZWdvcnkoTGlzdEl0MkNhdGVnb3J5ICYkb2JqKQoJewoJCUxpc3RJdDJDYXRlZ29yeU9wZXJhdGlvbnM6OlNhdmUoJHRoaXMsICRvYmopOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gSW5pdGlhdGVDYXRlZ29yeSgpCgl7CgkJcmV0dXJuIG5ldyBMaXN0SXQyQ2F0ZWdvcnk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBMb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJGlkZW50aWZpZXIsICR2YWx1ZSkKCXsJCgkJaWYoIWluX2FycmF5KCRpZGVudGlmaWVyLCBMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjokaWRlbnRpZmllcnMpKQoJCQl0aHJvdyBuZXcgTGlzdEl0MkV4Y2VwdGlvbigiSWxsZWdhbCBpZGVudGlmaWVyOiAkaWRlbnRpZmllciEiKTsKCgkJJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUNhdGVnb3J5KCk7CgkJJG9iai0+JGlkZW50aWZpZXIgPSAkdmFsdWU7CgkJCgkJTGlzdEl0MkNhdGVnb3J5T3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJG9iaik7CgkJCQoJCXJldHVybiAkb2JqOwoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIERlbGV0ZUNhdGVnb3J5QnlJZCgkaWQpCgl7CgkJJG9iaiA9ICR0aGlzLT5Mb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJ2NhdGVnb3J5X2lkJywgJGlkKTsKCQlMaXN0SXQyQ2F0ZWdvcnlPcGVyYXRpb25zOjpEZWxldGUoJHRoaXMsICRvYmopOwoJfQkJCgkKCS8vIE1ha2UgYnVsayBhY3Rpb24gKHVzaW5nIHRoaXM6IGFjdGlvbi5hamF4LnBocCkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlQ2F0ZWdvcnlPcmRlcigkY2F0ZWdvcnlfb3JkZXIpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQlmb3JlYWNoKCRjYXRlZ29yeV9vcmRlciBhcyAka2V5ID0+ICRpdGVtKXsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGtleSwgJGl0ZW0pKTsKCQl9CgkJTGlzdEl0MkNhdGVnb3J5T3BlcmF0aW9uczo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCR0aGlzKTsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpOwoJfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgSW50ZXJuYWwgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCQoKCS8qKgoJICogR2V0IGZpZWxkIHR5cGVzCgkgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgZmllbGQgdHlwZXMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9HZXRNb2R1bGVDb25maWcoKQoJewoJCWlmKGNvdW50KGZ1bmNfbnVtX2FyZ3MoKSkpIHsKCQkJCgkJCSRrZXkgPSBmdW5jX2dldF9hcmcoMCk7CgkJCXJldHVybiAkdGhpcy0+Y29uZmlnWyRrZXldOwoJCX0KCQoJCXJldHVybiAkdGhpcy0+Y29uZmlnOwoJfQoJCgkvKioKCSAqIEdldCBmaWVsZCB0eXBlcwoJICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIGZpZWxkIHR5cGVzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBfR2V0TW9kdWxlQWxpYXMoKQoJewoJCXJldHVybiAkdGhpcy0+X0dldE1vZHVsZUNvbmZpZygnbW9kdWxlX2FsaWFzJyk7Cgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgSGVscCBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkKCQoJcHVibGljIGZ1bmN0aW9uIENyZWF0ZUJhY2tMaW5rKCR0YWIpCgl7CgkJJHNlY3VyZXBhcmFtID0gQ01TX1NFQ1VSRV9QQVJBTV9OQU1FIC4gJz0nIC4gJF9TRVNTSU9OW0NNU19VU0VSX0tFWV07CgkJcmV0dXJuICc8YSBjbGFzcz0icGFnZWJhY2siIGhyZWY9Im1vZHVsZWludGVyZmFjZS5waHA/JyAuICRzZWN1cmVwYXJhbSAuJyZtb2R1bGU9Jy4kdGhpcy0+R2V0TmFtZSgpLicmYW1wO20xX2FjdGl2ZV90YWI9Jy4kdGFiLiciPicuJHRoaXMtPk1vZExhbmcoJ2JhY2snKS4nPC9hPic7Cgl9CgoJZnVuY3Rpb24gQ3JlYXRlUHJldHR5TGluaygkaWQsICRhY3Rpb24sICRyZXR1cm5pZD0nJywgJGNvbnRlbnRzPScnLCAkcGFyYW1zPWFycmF5KCksICR3YXJuX21lc3NhZ2U9JycsICRvbmx5aHJlZj1mYWxzZSwgJGlubGluZT1mYWxzZSwgJGFkZHRleHQ9JycsICR0YXJnZXRjb250ZW50b25seT1mYWxzZSwgJHByZXR0eXVybD0nJykKCXsKCQlzd2l0Y2goJGFjdGlvbikgewoJCgkJCWNhc2UgJ2RldGFpbCc6CgkJCQoJCQkJJHN0cmluZ19hcnJheSA9IGFycmF5KCk7CgkJCQkkc3RyaW5nX2FycmF5W10gPSAkdGhpcy0+cHJlZml4OwoJCQkJCgkJCQkvLyBDYXRlZ29yeSAvIGhpZXJhcmNoaWFsIHN0dWZmCgkJCQlpZihpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSAmJiBpc3NldCgkcGFyYW1zWydpZF9oaWVyYXJjaHknXSkpIHsKCQkJCQoJCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydjYXRlZ29yeSddKSkgCgkJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107CgkJCQkJCgkJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ2lkX2hpZXJhcmNoeSddKSkKCQkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snaWRfaGllcmFyY2h5J107CgkJCQl9CQkKCQkJCQkJCgkJCQkkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydpdGVtJ107CgkJCQkKCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydyZXR1cm5pZCddKSkKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcmV0dXJuaWQ7CgoJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ2RldGFpbHRlbXBsYXRlJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKSAKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOwoJCQkJCgkJCQkkcHJldHR5dXJsID0gaW1wbG9kZSgnLycsICRzdHJpbmdfYXJyYXkpOwkJCQoJCQkJYnJlYWs7CgoJCQljYXNlICdkZWZhdWx0JzoKCQkJCgkJCQkkc3RyaW5nX2FycmF5ID0gYXJyYXkoKTsKCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICR0aGlzLT5wcmVmaXg7CQkJCgkJCQkKCQkJCS8vIENhdGVnb3J5IC8gaGllcmFyY2hpYWwgc3R1ZmYKCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydjYXRlZ29yeSddKSAmJiBpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSkgCgkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snY2F0ZWdvcnknXTsJCQkJCQoJCQkJCgkJCQlpZighaXNzZXQoJHRoaXMtPnVzZV9oaW50c1snaWRfaGllcmFyY2h5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2lkX2hpZXJhcmNoeSddKSkKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydpZF9oaWVyYXJjaHknXTsJCQkJCgoJCQkJLy8gUGFnZWxpbWl0IHN0dWZmLCB3b24ndCB3b3JrIHRvZ2V0aGVyIHdpdGggaGllcmFyY2h5IHN0dWZmLgoJCQkJaWYoaXNzZXQoJHBhcmFtc1sncGFnZWxpbWl0J10pKSB7CgkJCQkKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAncGFnZSc7CgkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1sncGFnZW51bWJlciddOwoJCQkJCgkJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ3BhZ2VsaW1pdCddKSkgCgkJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ3BhZ2VsaW1pdCddOwkKCQkJCX0KCQkJCQoJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ3JldHVybmlkJ10pKQoJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRyZXR1cm5pZDsJCgkKCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydkZXRhaWx0ZW1wbGF0ZSddKSAmJiBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSkgCgkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsJCQkJCQoJCQkJCQoJCQkJJHByZXR0eXVybCA9IGltcGxvZGUoJy8nLCAkc3RyaW5nX2FycmF5KTsJCQkKCQkJCWJyZWFrOwkJCQoJCX0KCgkJcmV0dXJuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwkYWN0aW9uLCRyZXR1cm5pZCwkY29udGVudHMsJHBhcmFtcywkd2Fybl9tZXNzYWdlLCRvbmx5aHJlZiwkaW5saW5lLCRhZGR0ZXh0LCR0YXJnZXRjb250ZW50b25seSwkcHJldHR5dXJsKTsKCX0JCgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGF0YWJhc2UgdGFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCi8vIGluc3RhbmNlIHRhYmxlcwokZmllbGRzID0gJwogICAgbW9kdWxlX2lkIEkgS0VZIEFVVE8sCiAgICBtb2R1bGVfbmFtZSBDKDE2MCkKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc3RpdDJfaW5zdGFuY2VzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gRmllbGRkZWYgdGFibGVzCiRmaWVsZHMgPSAnCgl0eXBlIEMoMjU1KSBLRVksCglvcmlnaW5hdG9yIEMoMjU1KSwKCXBhdGggQygyNTUpLAoJYWN0aXZlIEk0LAoJZGlzYWJsZWQgSTQKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc3RpdDJfZmllbGRkZWZzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEV2ZW50cwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywgJ01vZHVsZUluc3RhbGxlZCcsIGZhbHNlKTsKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdNb2R1bGVVbmluc3RhbGxlZCcsIGZhbHNlKTsKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdNb2R1bGVVcGdyYWRlZCcsIGZhbHNlKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmVmZXJlbmNlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3NjYW4nLCAwKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9pbnN0YWxsJywgMSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHBsdWdpbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlJlZ2lzdGVyU21hcnR5UGx1Z2luKCdMaXN0SXQyTG9hZGVyJywnZnVuY3Rpb24nLCBhcnJheSgnTGlzdEl0MlNtYXJ0eScsICdsb2FkZXInKSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU2NhbiBmaWVsZGRlZnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTGlzdEl0MkZpZWxkZGVmT3BlcmF0aW9uczo6U2Nhbk1vZHVsZXMoKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGF0YWJhc2UgdGFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2luc3RhbmNlcycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfbGlzdGl0Ml9maWVsZGRlZnMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEV2ZW50cwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywgJ01vZHVsZUluc3RhbGxlZCcpOwokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywgJ01vZHVsZVVuaW5zdGFsbGVkJyk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCAnTW9kdWxlVXBncmFkZWQnKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmVmZXJlbmNlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNtYXJ0eSBwbHVnaW5zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5SZW1vdmVTbWFydHlQbHVnaW4oKTs=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCAnMS4yJykgPCAwICkgewoKCS8vIEluc3RhbmNlIHRhYmxlcwoJJGZpZWxkcyA9ICcKCQltb2R1bGVfaWQgSSBLRVkgQVVUTywKCQltb2R1bGVfbmFtZSBDKDE2MCkKCSc7CgoJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfbGlzdGl0Ml9pbnN0YW5jZXMnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCn0gLy8gZW5kIG9mIDEuMSAtPiAxLjIgdXBncmFkZQoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwgJzEuMycpIDwgMCApIHsKCgkvLyBGaWVsZGRlZiB0YWJsZXMKCSRmaWVsZHMgPSAnCgkJdHlwZSBDKDI1NSkgS0VZLAoJCW9yaWdpbmF0b3IgQygyNTUpLAoJCXBhdGggQygyNTUpLAoJCWFjdGl2ZSBJNCwKCQlkaXNhYmxlZCBJNAoJJzsKCgkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXN0aXQyX2ZpZWxkZGVmcycsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkKCS8vIEV2ZW50cwoJJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdNb2R1bGVJbnN0YWxsZWQnLCBmYWxzZSk7CgkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywgJ01vZHVsZVVuaW5zdGFsbGVkJywgZmFsc2UpOwoJJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdNb2R1bGVVcGdyYWRlZCcsIGZhbHNlKTsKCgkvLyBQcmVmZXJlbmNlcwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9zY2FuJywgMCk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b2luc3RhbGwnLCAxKTsKCQkKCS8vIENyZWF0ZSBpbnN0YW5jZSBmcm9tIG9yaWdpbmFsCgkkbW9kX25hbWUgPSAkdGhpcy0+R2V0TmFtZSgpIC4gJ09yaWdpbmFsJzsKCQoJJGR1cGxpY2F0b3IgPSBuZXcgTGlzdEl0MkR1cGxpY2F0b3IoKTsKCSRkdXBsaWNhdG9yLT5TZXRNb2R1bGUoJG1vZF9uYW1lKTsKCSRkdXBsaWNhdG9yLT5TZXREZXN0aW5hdGlvbihkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkbW9kX25hbWUpOwoJJGR1cGxpY2F0b3ItPlJ1bigpOwoJCgkvLyBGaXggZmlsZXMgZm9yIHRoaXMgc3Blc2lmaWMgdXBncmFkZQoJJGR1cGxpY2F0b3ItPlNldFNvdXJjZShkaXJuYW1lKF9fRklMRV9fKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAndXBncmFkZV9zdXBwb3J0JyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnMS4zJyk7CgkkZHVwbGljYXRvci0+UnVuKCk7CgkJCn0gLy8gZW5kIG9mIDEuMi4yIC0+IDEuMyB1cGdyYWRlCgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCAnMS40LWJldGEyJykgPCAwICkgewoKCS8vIFNtYXJ0eSBwbHVnaW5zCgkkdGhpcy0+UmVnaXN0ZXJTbWFydHlQbHVnaW4oJ0xpc3RJdDJMb2FkZXInLCdmdW5jdGlvbicsIGFycmF5KCdMaXN0SXQyU21hcnR5JywgJ2xvYWRlcicpKTsKCn0gLy8gZW5kIG9mIDEuMyAtPiAxLjQtYmV0YTIgdXBncmFkZQ==]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_fielddefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb2FkIGZpZWxkZGVmcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokZmllbGRkZWZzID0gTGlzdEl0MkZpZWxkZGVmT3BlcmF0aW9uczo6R2V0UmVnaXN0ZXJlZEZpZWxkZGVmcyh0cnVlLCB0cnVlKTsKZm9yZWFjaCgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsKCglpZigkb25lZGVmLT5Jc0Rpc2FibGVkKCkpIHsKCQoJCSRvbmVkZWYtPmFjdGl2ZV9saW5rID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS93YXJuaW5nLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl9kZXBzX21pc3NpbmcnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJfQkKCWVsc2VpZigkb25lZGVmLT5Jc0FjdGl2ZSgpKSB7CgoJCSRvbmVkZWYtPmFjdGl2ZV9saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fdG9nZ2xlZmllbGRkZWYnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAnJywgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgKCQkJJ3R5cGUnID0+ICRvbmVkZWYtPkdldFR5cGUoKQoJCSkpOwkJCgl9IAkKCWVsc2UgewoJCgkJJG9uZWRlZi0+YWN0aXZlX2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAnJywgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgKCQkJJ3R5cGUnID0+ICRvbmVkZWYtPkdldFR5cGUoKQoJCSkpOwkKCX0JCn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkZGVmcycsICRmaWVsZGRlZnMpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX3NjYW5maWVsZGRlZnMnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzY2FuJywJCSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc2Nhbl9maWVsZGRlZnMnLCAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfc2NhbicpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ZpZWxkZGVmc3RhYi50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_instancestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgokR0xPQkFMU1snQ01TX0ZPUkNFX01PRFVMRV9MT0FEJ10gPSAxOwokdGhlbWVPYmplY3QgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb2FkIG1vZHVsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKJGFsbG1vZHVsZXMgPSAkbW9kb3BzLT5HZXRBbGxNb2R1bGVOYW1lcygpOwppZiAoY291bnQoJGFsbG1vZHVsZXMpID4gMCkgewoKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVzIE9SREVSIEJZIG1vZHVsZV9uYW1lIjsKCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgl3aGlsZSAoJHJlc3VsdCAmJiAkcm93ID0gJHJlc3VsdC0+RmV0Y2hSb3coKSkgewoKCQkkZGJtWyRyb3dbJ21vZHVsZV9uYW1lJ11dWydTdGF0dXMnXSA9ICRyb3dbJ3N0YXR1cyddOwoJCSRkYm1bJHJvd1snbW9kdWxlX25hbWUnXV1bJ1ZlcnNpb24nXSA9ICRyb3dbJ3ZlcnNpb24nXTsKCQkkZGJtWyRyb3dbJ21vZHVsZV9uYW1lJ11dWydBY3RpdmUnXSA9ICgkcm93WydhY3RpdmUnXSA9PSAxP3RydWU6ZmFsc2UpOwoJfQp9CgokbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOwpmb3JlYWNoKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsKCgkkbW9kID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkbW9kdWxlLT5tb2R1bGVfbmFtZSwnJyx0cnVlKTsKCQoJaWYoaXNfb2JqZWN0KCRtb2QpKSB7CgkJCgkJJG1vZHVsZS0+ZnJpZW5kbHluYW1lID0gJG1vZC0+R2V0RnJpZW5kbHlOYW1lKCk7CgkJJG1vZHVsZS0+dmVyc2lvbiA9ICRkYm1bJG1vZHVsZS0+bW9kdWxlX25hbWVdWydWZXJzaW9uJ107CgoJCWlmICh2ZXJzaW9uX2NvbXBhcmUoJG1vZC0+R2V0VmVyc2lvbigpLCAkZGJtWyRtb2R1bGUtPm1vZHVsZV9uYW1lXVsnVmVyc2lvbiddKSA+IDApIHsKCgkJCSRtb2R1bGUtPnVwZ3JhZGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fdXBncmFkZW1vZHVsZScsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnaW5zdGFuY2VfdXBncmFkZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KAoJCQkJJ21vZHVsZV9pZCcgPT4gJG1vZHVsZS0+bW9kdWxlX2lkCgkJCSkpOwkJCgkJfSAKCQllbHNlIHsKCQkKCQkJJG1vZHVsZS0+dXBncmFkZWxpbmsgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2luc3RhbmNlX3VwdG9kYXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCQl9Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokc21hcnR5LT5hc3NpZ24oJ21vZHVsZXMnLCAkbW9kdWxlcyk7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fY29weW1vZHVsZScsICRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAgICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2R1cGxpY2F0ZScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdkdXBsaWNhdGUnLCAkdGhpcy0+TW9kTGFuZygnZHVwbGljYXRlJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnaW5zdGFuY2VzdGFiLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_maintenancetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdhZG1pbl9kb21haW50ZW5hbmNlJywgJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdidXR0b25fZml4X2ZpZWxkZGVmcycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdmaXhfZmllbGRkZWZzJywgJHRoaXMtPkxhbmcoJ3JlcGFpcicpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21haW50ZW5hbmNldGFiLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_optionstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiAKIwojIFRhcGlvIEz2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkKIwojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTGlzdEl0IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IGl0ZW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRhbGxvd19hdXRvc2NhbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hdXRvc2NhbicsIDApOwokYWxsb3dfYXV0b2luc3RhbGwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b2luc3RhbGwnLCAwKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fdXBkYXRlb3B0aW9ucycsICRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dfYXV0b3NjYW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhbGxvd19hdXRvc2NhbicsIDEsICRhbGxvd19hdXRvc2NhbiwgKCRhbGxvd19hdXRvc2NhbiA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19hdXRvaW5zdGFsbCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2FsbG93X2F1dG9pbnN0YWxsJywgMSwgJGFsbG93X2F1dG9pbnN0YWxsLCAoJGFsbG93X2F1dG9pbnN0YWxsID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdvcHRpb250YWIudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/copymodule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb3B5X3RpdGxlJyl9PC9oMz4KeyRzdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ21vZHVsZV9uYW1lJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbW9kdWxlX25hbWV9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0KCg==]]></data>
	</file>
	<file>
	  <filename>/templates/fielddefstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2lmIGNvdW50KCRmaWVsZGRlZnMpID4gMH0KPGZpZWxkc2V0PgoJPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygncmVnaXN0ZXJlZF9maWVsZGRlZnMnKX08L2xlZ2VuZD4KCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAJPHRoZWFkPgogICAgICAgIAk8dHI+CiAgICAgICAgICAgIAk8dGg+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX3R5cGUnKX08L3RoPgogICAgICAgICAgICAJPHRoPnskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZl9mcmllbmRseXR5cGUnKX08L3RoPgogICAgICAgICAgICAJPHRoPnskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZl9vcmlnaW5hdG9yJyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnZmllbGRkZWZfZGVwcycpfTwvdGg+CiAgICAgICAgICAgIAk8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TW9kTGFuZygnYWN0aXZlJyl9PC90aD4KICAgICAgICAJPC90cj4KICAgIAk8L3RoZWFkPgogICAgCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGZpZWxkZGVmcyBpdGVtPSdlbnRyeScgbmFtZT0nZmllbGRkZWZzJ30KICAgIAkgICAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInIG5hbWU9J3N1bW1hcnknfSI+CiAgICAgICAgCSAgICA8dGQ+eyRlbnRyeS0+R2V0VHlwZSgpfTwvdGQ+CiAgICAgICAgCSAgICA8dGQ+eyRlbnRyeS0+R2V0RnJpZW5kbHlUeXBlKCl9PC90ZD4KICAgICAgICAgICAgCTx0ZD57JGVudHJ5LT5HZXRPcmlnaW5hdG9yKCl9PC90ZD4KCQkJCTx0ZD4KCQkJCXtpZiAhaXNfbnVsbCgkZW50cnktPkdldE1vZHVsZURlcHMoKSl9CgkJCQkJe2ZvcmVhY2ggZnJvbT0kZW50cnktPkdldE1vZHVsZURlcHMoKSBrZXk9J21vZHVsZScgaXRlbT0ndmVyc2lvbicgbmFtZT0nZGVwcyd9CgkJCQkJCXskbW9kdWxlfSAoeyR2ZXJzaW9ufSl7aWYgISRzbWFydHkuZm9yZWFjaC5kZXBzLmxhc3R9LHsvaWZ9CgkJCQkJey9mb3JlYWNofQkJCQkJCgkJCQl7ZWxzZX0KCQkJCQl7J25vbmUnfGxhbmd9CgkJCQl7L2lmfQoJCQkJPC90ZD4KICAgICAgICAgICAgCTx0ZCBjbGFzcz0iaW5pdC1hamF4LXRvZ2dsZSI+eyRlbnRyeS0+YWN0aXZlX2xpbmt9PC90ZD4KICAgICAgICAJPC90cj4KCXsvZm9yZWFjaH0KICAgIAk8L3Rib2R5PgoJPC90YWJsZT4KPC9maWVsZHNldD4Key9pZn0KeyRzdGFydGZvcm19CgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCXskc2Nhbn0KCQk8L3A+CiAgICA8L2Rpdj4KIAp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVkX2J1dHRvbl9pZCIgdmFsdWU9IjdUS0dZUlkzU1JQRVkiPgo8aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lISI+CjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgo8L2Zvcm0+PC9kaXY+Cgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Inskcm9vdHVybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9mcmFtZXdvcmsvY3NzL2NvbG9yYm94LmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ZyYW1ld29yay9jc3MvYmFja2VuZC5jc3MiIHR5cGU9InRleHQvY3NzIiAvPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ZyYW1ld29yay9qcy9qcXVlcnkuY29sb3Jib3guanMiPjwvc2NyaXB0Pgo8c2NyaXB0PgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7bGRlbGltfQogICAgalF1ZXJ5KCcuY2JveCcpLmNvbG9yYm94KHtsZGVsaW19CiAgICAgICAgcmVsOidncm91cCcsCiAgICAgICAgaWZyYW1lOiB0cnVlLAogICAgICAgIGlubmVyV2lkdGg6IDgwMCwKICAgICAgICBpbm5lckhlaWdodDogNDUwLAogICAgICAgIG9wYWNpdHk6IDAuMgogICAge3JkZWxpbX0pOwp7cmRlbGltfSk7Cjwvc2NyaXB0Pgo8ZGl2IGlkPSJwYWdlX3RhYnMiPgogICAgPGRpdiBpZD0iZ2VuZXJhbCI+CiAgICAgICAgeyRtb2QtPk1vZExhbmcoJ2dlbmVyYWwnKX0KICAgIDwvZGl2PiAgICAKCTxkaXYgaWQ9ImR1cGxpY2F0aW5nIj4KCQl7JG1vZC0+TW9kTGFuZygnZHVwbGljYXRpbmcnKX0KCTwvZGl2PgoJPGRpdiBpZD0iZmllbGQiPgoJCXskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZnMnKX0KCTwvZGl2PgkKICAgIDxkaXYgaWQ9InVwZ3JhZGluZyI+CiAgICAgICAgeyRtb2QtPk1vZExhbmcoJ3VwZ3JhZGluZycpfQogICAgPC9kaXY+IAogICAgPGRpdiBpZD0ic21hcnR5X3BsdWdpbnMiPgogICAgICAgIHskbW9kLT5Nb2RMYW5nKCdzbWFydHlfcGx1Z2lucycpfQogICAgPC9kaXY+ICAgCQoJPGRpdiBpZD0iYWJvdXQiPgoJCXskbW9kLT5Nb2RMYW5nKCdhYm91dCcpfQoJPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pgo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPgogICAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4KICAgICAgICA8aW1nIHNyYz0ieyRyb290dXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ltYWdlcy9saXN0aXQtZXh0ZW5kZWQtbG9nby5qcGciIGFsdD0iTGlzdEl0RXh0ZW5kZWQgTG9nbyIgLz4KICAgICAgICB7JG1vZC0+TW9kTGFuZygnaGVscF9nZW5lcmFsJyl9CiAgICA8L2Rpdj4gICAgCgk8ZGl2IGlkPSJkdXBsaWNhdGluZ19jIj4KCQl7JG1vZC0+TW9kTGFuZygnaGVscF9kdXBsaWNhdGluZycpfQoJPC9kaXY+Cgk8ZGl2IGlkPSJmaWVsZF9jIj4KCQl7JG1vZC0+TW9kTGFuZygnaGVscF9maWVsZGRlZnMnKX0KCQk8YSB0aXRsZT0iQ3JlYXRpbmcgY3VzdG9tIGZpZWxkIGRlZmluaXRpb24iIGNsYXNzPSJjYm94IiByZWw9Imdyb3VwIiBocmVmPSIvL3BsYXllci52aW1lby5jb20vdmlkZW8vNTU3MjgxMjciPgoJCQkJPGltZyBzcmM9Inskcm9vdHVybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9pbWFnZXMvc2NyZWVuc2hvdHMvY3VzdG9tX2ZpZWxkc190aHVtYi5qcGciIGFsdD0iQ3JlYXRpbmcgY3VzdG9tIGZpZWxkIGRlZmluaXRpb24iIC8+CgkJPC9hPgkJCgk8L2Rpdj4KICAgIDxkaXYgaWQ9InVwZ3JhZGluZ19jIj4KICAgICAgICB7KiB0aGlzIGlzIHRlbXBvcmFyeSBmb3IgMS4zIHJlbGVhc2UgKn0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+eyRtb2QtPk1vZExhbmcoJ3VwZ3JhZGVfd2FybmluZycpfTwvZGl2PgoJCTxmaWVsZHNldD4KCQkJPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygndXBncmFkZV9mcm9tJyl9IDEuMi54ID0+IDEuMy54PC9sZWdlbmQ+CgkJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX3VwZ3JhZGluZ18xMnh0bzEzJyl9CgkJPC9maWVsZHNldD4KCQk8ZmllbGRzZXQ+CgkJCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ3VwZ3JhZGVfZnJvbScpfSAxLjMueCA9PiAxLjQueDwvbGVnZW5kPgoJCQl7JG1vZC0+TW9kTGFuZygnaGVscF91cGdyYWRpbmdfMTN4dG8xNCcpfQoJCTwvZmllbGRzZXQ+CiAgICA8L2Rpdj4KCTxkaXYgaWQ9InNtYXJ0eV9wbHVnaW5zX2MiPgoJCTxmaWVsZHNldD4KCQkJPGxlZ2VuZD57bGl0ZXJhbH17TGlzdEl0MkxvYWRlcn17L2xpdGVyYWx9PC9sZWdlbmQ+CgkJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX3NtYXJ0eV9wbHVnaW5zJyl9CgkJPC9maWVsZHNldD4KCTwvZGl2PgoJPGRpdiBpZD0iYWJvdXRfYyI+CgkJeyRtb2QtPk1vZExhbmcoJ2hlbHBfYWJvdXQnKX0KCQk8aDM+eyRtb2QtPk1vZExhbmcoJ3RlYW0nKX08L2gzPgoJCTx1bD4KCQkJPGxpPkpvbmF0aGFuIFNjaG1pZCAoRm9hbHkqKSBoaUBqb25hdGhhbnNjaG1pZC5kZSA8YnIgLz53d3cuam9uYXRoYW5zY2htaWQuZGU8L2xpPgoJCQk8bGk+R29yYW4gSWxpYyAodW5pcXUzKSBnLmlsaWNAaS1hcnRzLmV1IDxiciAvPnd3dy5pY2gtbWFjaC1kYXMuYXQ8L2xpPgoJCQk8bGk+VGFwaW8gTCZvdW1sO3l0eXkgKFN0aWtraSkgPGJyIC8+IHRhcHNhQG9yYW5nZS1tZWRpYS5maTwvbGk+CgkJPC91bD4KCQk8aDM+eyRtb2QtPk1vZExhbmcoJ2NvbnRyaWJ1dG9ycycpfTwvaDM+CgkJPHVsPgoJCQk8bGk+Um9iZXJ0IENhbXBiZWxsIChjYWxndXkxMDAwKSBjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnICA8YnIgLz53d3cuY2FsZ3V5MTAwMC5jb208L2xpPgoJCQk8bGk+THVrYXMgQmxhdHRlciAobm9ja2VuZmVsbCkgbm9ja2VuZmVsbEBnbWFpbC5jb20gPGJyIC8+d3d3LmJsYXR0ZXJ0ZWNoLmNoPC9saT4KCQkJPGxpPkFybm91ZCAoYXJub3VkKSBhcm5vdWRAdXBzZXJ2aWNlLm5sIDxiciAvPnd3dy51cHNlcnZpY2Uubmw8L2xpPgoJCQk8bGk+V2F5bmUgT05laWwgKHdpc2hib25lKSB3YXluZUB0ZWFtd2lzaGJvbmUuY29tIDxiciAvPnd3dy50ZWFtd2lzaGJvbmUuY29tPC9saT4KCQk8L3VsPgkJCQoJPC9kaXY+ICAKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/instancestab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2lmIGNvdW50KCRtb2R1bGVzKSA+IDB9CjxkaXYgY2xhc3M9InBhZ2V3YXJuaW5nIj4KCTxoMz57JG1vZC0+TW9kTGFuZygnbm90aWNlJyl9PC9oMz4KCTxwPnskbW9kLT5Nb2RMYW5nKCdpbnN0YWxsZWRfaW5zdGFuY2VzX3dhcm5pbmcnKX08L3A+CjwvZGl2Pgo8ZmllbGRzZXQ+Cgk8bGVnZW5kPnskbW9kLT5Nb2RMYW5nKCdpbnN0YWxsZWRfaW5zdGFuY2VzJyl9PC9sZWdlbmQ+Cgk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgCTx0aGVhZD4KICAgICAgICAJPHRyPgogICAgICAgICAgICAJPHRoPnskbW9kLT5Nb2RMYW5nKCdpbnN0YW5jZV9uYW1lJyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2VfZnJpZW5kbHluYW1lJyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2Vfc21hcnR5Jyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2VfdmVyc2lvbicpfTwvdGg+CiAgICAgICAgICAgIAk8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2VfdXB0b2RhdGUnKX08L3RoPgogICAgICAgIAk8L3RyPgogICAgCTwvdGhlYWQ+CiAgICAJPHRib2R5PgoJe2ZvcmVhY2ggZnJvbT0kbW9kdWxlcyBpdGVtPSdlbnRyeSd9CiAgICAJICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0ncm93MSxyb3cyJyBuYW1lPSdzdW1tYXJ5J30iPgogICAgICAgIAkgICAgPHRkPnskZW50cnktPm1vZHVsZV9uYW1lfTwvdGQ+CiAgICAgICAgCSAgICA8dGQ+eyRlbnRyeS0+ZnJpZW5kbHluYW1lfTwvdGQ+CiAgICAgICAgCSAgICA8dGQ+e2xkZWxpbX17JGVudHJ5LT5tb2R1bGVfbmFtZX17cmRlbGltfTwvdGQ+CiAgICAgICAgICAgIAk8dGQ+eyRlbnRyeS0+dmVyc2lvbn08L3RkPgogICAgICAgICAgICAJPHRkPnskZW50cnktPnVwZ3JhZGVsaW5rfTwvdGQ+CiAgICAgICAgCTwvdHI+Cgl7L2ZvcmVhY2h9CiAgICAJPC90Ym9keT4KCTwvdGFibGU+CjwvZmllbGRzZXQ+CnsvaWZ9Cnskc3RhcnRmb3JtfQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJeyRkdXBsaWNhdGV9CgkJPC9wPiAgIAp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/maintenancetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/eyRzdGFydGZvcm19CjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmcycpfTwvbGVnZW5kPgoKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2ZpeF9maWVsZGRlZnMnKX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYnV0dG9uX2ZpeF9maWVsZGRlZnN9PC9wPgoJPC9kaXY+CQoJCjwvZmllbGRzZXQ+CnskZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/eyRzdGFydGZvcm19CjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmcycpfTwvbGVnZW5kPgoJCgk8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+CgkJPGgzPnskbW9kLT5Nb2RMYW5nKCdub3RpY2UnKX08L2gzPgoJCTxwPnskbW9kLT5Nb2RMYW5nKCdub3RpY2VfYWxsb3dfYXV0b3NjYW4nKX08L3A+Cgk8L2Rpdj4JCgkKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2FsbG93X2F1dG9zY2FuJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93X2F1dG9zY2FufTwvcD4KICAgIDwvZGl2PgogCjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+Cgk8bGVnZW5kPnskbW9kLT5Nb2RMYW5nKCdpbnN0YW5jZXMnKX08L2xlZ2VuZD4KCQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfYWxsb3dfYXV0b2luc3RhbGwnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfYXV0b2luc3RhbGx9PC9wPgogICAgPC9kaXY+CiAKPC9maWVsZHNldD4KCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQl7JHN1Ym1pdH0KCQk8L3A+CiAgICA8L2Rpdj4KCnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/upgrade_support/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/upgrade_support/1.3/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/upgrade_support/1.3/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/upgrade_support/1.3/listit2_config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxpc3RpdDJfY29uZmlnWydtb2R1bGVfYWxpYXMnXSA9ICdsaXN0aXQyJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/upgrade_support/1.3/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIEF1dGhvcjogQmVuIE1hbGVuLCA8YmVuQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBDby1NYWludGFpbmVyOiBTaW1vbiBSYWRmb3JkLCA8c2ltb25AY29uY2VwdGZhY3RvcnkuY29tLmF1PgojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBNYWludGFpbmVyIHNpbmNlIDIwMTE6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExpc3RJdCBpcyBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgdGhhdCBlbmFibGVzIHRoZSB3ZWIgZGV2ZWxvcGVyIHRvIGNyZWF0ZQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkKIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIE5PVEU6IERhdGFiYXNlIHN0dWZmIG5lZWRzIHRvIGJlIHVwZ3JhZGVkIGhlcmUsIGV2ZXJ5IHRpbWUgeW91IGNoYW5nZSBpdAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKaWYgKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGF0YWJhc2UgdGFibGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCiRkYi0+RXhlY3V0ZSgnQUxURVIgVEFCTEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWZfb3B0cyBNT0RJRlkgdmFsdWUgVEVYVCcpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJ2RhdGEgWCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQoKLy8gQ3JlYXRlIGl0ZW1fY2F0ZWdvcmllcyB0YWJsZQokZmllbGRzID0gJwoJaXRlbV9pZCBJIEtFWSBOT1QgbnVsbCwKCWNhdGVnb3J5X2lkIEkgS0VZIE5PVCBudWxsCic7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBVcGRhdGUgY2F0ZWdvcnkgdGFibGUKJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JywgJ2hpZXJhcmNoeV9wYXRoIEMoMjU1KScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAnaWRfaGllcmFyY2h5IEMoMjU1KScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAnYWN0aXZlIEk0Jyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdjcmVhdGVfZGF0ZSBEVCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAnbW9kaWZpZWRfZGF0ZSBEVCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQoKJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5JywgJ2tleTEgQygyNTUpJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeScsICdrZXkyIEMoMjU1KScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAna2V5MyBDKDI1NSknKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gVXBkYXRlIGl0ZW0gdGFibGUKJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAnbW9kaWZpZWRfdGltZSBEVCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQoJCiRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2tleTEgQygyNTUpJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2tleTIgQygyNTUpJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2tleTMgQygyNTUpJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCgokc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdvd25lciBJJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIFVwZGF0ZSBmaWVsZHZhbCB0YWJsZQokc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwnLCAndmFsdWVfaW5kZXggSSBOT1QgbnVsbCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkV4ZWN1dGUoJ0FMVEVSIFRBQkxFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIERST1AgUFJJTUFSWSBLRVksIEFERCBQUklNQVJZIEtFWShpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWVfaW5kZXgpJyk7CgovLyBVcGRhdGUgY2F0ZWdvcnkgcG9zaXRpb25zCkxpc3RJdDJDYXRlZ29yeU9wZXJhdGlvbnM6OlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygkdGhpcyk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGVtcGxhdGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgokZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2RlZmF1bHQudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CgkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfY2F0ZWdvcnlfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwp9CgokZm4gPSBjbXNfam9pbl9wYXRoKExJU1RJVDJfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2hpZXJhcmNoeS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeV9oaWVyYXJjaHknLCAkdGVtcGxhdGUpOwp9CQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEV2ZW50cwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+Q3JlYXRlRXZlbnQoJ1ByZVJlbmRlckFjdGlvbicpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFBlcm1pc3Npb25zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfcmVtb3ZlX2l0ZW0nLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBSZW1vdmUgaXRlbXMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hcHByb3ZlX2l0ZW0nLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBBcHByb3ZlIGl0ZW1zJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2FsbF9pdGVtJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJzogTW9kaWZ5IGFsbCBpdGVtcycpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRlbXBsYXRlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoKJHRlbXBsYXRlcyA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKHBhcmVudDo6R2V0TmFtZSgpKTsKZm9yZWFjaCAoJHRlbXBsYXRlcyBhcyAkdHBsX25hbWUpIHsKCgkkdHBsX2NvbnRlbnQgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRwbF9uYW1lLCBwYXJlbnQ6OkdldE5hbWUoKSk7CQkKCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdHBsX25hbWUsICR0cGxfY29udGVudCk7Cn0K]]></data>
	</file>
</module>
