<?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>DownloadManager</name>
	<version>1.5</version>
  <mincmsversion>1.4</mincmsversion>
	<help></help>
	<about></about>
	<description><![CDATA[This module allows to Manage Downloads.]]></description>
	<file>
	  <filename>/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[T3B0aW9ucyAtSW5kZXhlcwpSZXdyaXRlRW5naW5lIE9mZgoK]]></data>
	</file>
	<file>
	  <filename>/action.addfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWxlcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cn0KJGFkZGZpbGVkYiA9IGZhbHNlOwokc2VydmVyX25hbWUgPSAnJzsKJGFsaWFzID0gJyc7CiRleHQgPSAnJzsKJGRlc2NyaXB0aW9uID0gJyc7CiRzaXplID0gJyc7CiRoYXNoID0gJyc7CiR1c2VleHAgPSAnJzsKJGFjY2Vzc3R5cGUgPSAoaXNzZXQoJHBhcmFtc1snYWNjZXNzdHlwZSddKSk/JHBhcmFtc1snYWNjZXNzdHlwZSddOjA7CiR0ZW1wbGF0ZV9kZXRhaWwgPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZGV0YWlsJ10pKT8kcGFyYW1zWyd0ZW1wbGF0ZV9kZXRhaWwnXTonJzsKJHRlbXBsYXRlX2Zvcm0gPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZm9ybSddKSk/JHBhcmFtc1sndGVtcGxhdGVfZm9ybSddOicnOwokdGVtcGxhdGVfZW1haWwgPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZW1haWwnXSkpPyRwYXJhbXNbJ3RlbXBsYXRlX2VtYWlsJ106Jyc7CiRmZXVncm91cHMgPSAoaXNzZXQoJHBhcmFtc1snZmV1Z3JvdXBzJ10pKT8kcGFyYW1zWydmZXVncm91cHMnXTphcnJheSgpOwokZGVzY3JpcHRpb24gPSAoaXNzZXQoJHBhcmFtc1snZGVzY3JpcHRpb24nXSkpPyRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ106Jyc7CiRtYWtlX3RodW1iID0gKGlzc2V0KCRwYXJhbXNbJ21ha2VfdGh1bWInXSkpPyAoYm9vbCkgJHBhcmFtc1snbWFrZV90aHVtYiddOiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aHVtYnNfYXV0bycsIHRydWUpOwokdGh1bWJfcGF0aCA9ICghZW1wdHkoJHBhcmFtc1sndGh1bWJfcGF0aCddKSk/ICRwYXJhbXNbJ3RodW1iX3BhdGgnXTpmYWxzZTsKJGV4cGlyZXMgPSBOVUxMOwokaW5wdXR1cGxvYWRlZGVuYWJsZWQgPSB0cnVlOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZWV4cCddKSkKCXskZXhwaXJlcyA9ICRwYXJhbXNbJ2V4cGlyZWRhdGVfWWVhciddLictJy4kcGFyYW1zWydleHBpcmVkYXRlX01vbnRoJ10uJy0nLiRwYXJhbXNbJ2V4cGlyZWRhdGVfRGF5J10uJyAnLiRwYXJhbXNbJ2V4cGlyZWRhdGVfSG91ciddLic6Jy4kcGFyYW1zWydleHBpcmVkYXRlX01pbnV0ZSddLic6Jy4kcGFyYW1zWydleHBpcmVkYXRlX1NlY29uZCddO30KJHZpc2libGUgPSAwOwppZiAoaXNzZXQoJHBhcmFtc1sndmlzaWJsZSddKSkKCSR2aXNpYmxlID0gJHBhcmFtc1sndmlzaWJsZSddOwoKaW5jbHVkZSgnZnVuY3Rpb24udXBsb2FkZmlsZS5waHAnKTsKaWYoJGFkZGZpbGVkYikgLy8gbmV3IGZpbGUKewoJLy8gZ2VuZXJhdGUgdGh1bWIKCWlmKCAkdGh1bWJfcGF0aCApCgkJJGZfY29udGVudHNbJ3RodW1iJ10gPSAkdGh1bWJfcGF0aDsKCWVsc2UgaWYoIGZ1bmN0aW9uX2V4aXN0cygnZ2RfaW5mbycpIC8vIGNoZWNrIGlmIGdkIHN1cHBvcnQKCQkmJiBpbl9hcnJheSggJGZfY29udGVudHNbJ3R5cGUnXSwgYXJyYXkoJ2ltYWdlL3BuZycsJ2ltYWdlL2pwZWcnLCdpbWFnZS9naWYnKSApIC8vIGNoZWNrIGlmIHN1cHBvcnRlZCBpbWFnZQoJCSYmICRtYWtlX3RodW1iIC8vIGNoZWNrIHNob3VsZCBiZSBkb25lCgkJICl7Ly8gCgkJJGZfY29udGVudHNbJ3RodW1iJ10gPSAkdGhpcy0+Q3JlYXRlVGh1bWJuYWlsKCRmX2NvbnRlbnRzWydwYXRoJ10gKTsKCX0KCgkkZmlsZV9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX3NlcSIpOwoJLy8gYWRkaW5nIGFsaWFzCgkkaSA9IDE7CgkkYWxpYXMgPSAkbiA9ICR0aGlzLT5DcmVhdGVBbGlhcygkZmlsZV9uYW1lKTsKCXdoaWxlKCEkdGhpcy0+Q2hlY2tBbGlhcygnZmlsZXMnLCAkYWxpYXMpKQoJCSRhbGlhcyA9ICRuLiItIi4kaSsrOwoJCQoJLy9pbnNlcnQgbWFzdGVyIGluZm8KCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyhmaWxlX2lkLGFsaWFzLCBuYW1lLCBzZXJ2ZXJfbmFtZSwgZXh0LCB0eXBlLCBzaXplLCBoYXNoLCBkZXNjcmlwdGlvbiwgY3JlYXRlZCwgZXhwaXJlcywgdmlzaWJsZSwgYWNjZXNzdHlwZSwgdGVtcGxhdGVfZGV0YWlsLCB0ZW1wbGF0ZV9mb3JtLCB0ZW1wbGF0ZV9lbWFpbCx0aHVtYl9wYXRoKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyknOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQsJGFsaWFzLCAkZmlsZV9uYW1lICwgJGZfY29udGVudHNbJ3BhdGgnXSwgCgkkZl9jb250ZW50c1snZXh0J10sICRmX2NvbnRlbnRzWyd0eXBlJ10sICRmX2NvbnRlbnRzWydzaXplJ10sICRmX2NvbnRlbnRzWydtZDUnXSwgCgkkZGVzY3JpcHRpb24sIGRhdGUgKCJZLW0tZCBHOmk6cyIpICwgJGV4cGlyZXMsICR2aXNpYmxlLCAkYWNjZXNzdHlwZSwgJHRlbXBsYXRlX2RldGFpbCwgJHRlbXBsYXRlX2Zvcm0sICR0ZW1wbGF0ZV9lbWFpbCwkZl9jb250ZW50c1sndGh1bWInXSkpOwoJCgkvLyBpbnNlcnMgYXNzb2NpYXRpb25zCQkKCWlmKCBpc3NldCgkcGFyYW1zWydhc3NvYyddKSApCgl7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5ICggY2F0ZWdvcnlfaWQsIGZpbGVfaWQpICBWQUxVRVMgKCAiLiBpbXBsb2RlKCIgLCAiLiRmaWxlX2lkLiIgKSwgKCAiLGFycmF5X2tleXMoJHBhcmFtc1snYXNzb2MnXSkgKS4iLCAiLiRmaWxlX2lkLiIgKSIgIDsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCX0KCQoJLy8gdXBkYXRlIGZldSBncm91cHMgYXNzb2NpYXRpb24KCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlZ3JvdXBzIFdIRVJFIGZpbGVfaWQ9PyI7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9pZCkpOwoJZm9yZWFjaCgkZmV1Z3JvdXBzIGFzICRncm91cCl7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVncm91cHMgU0VUIGZpbGVfaWQ9PywgZ3JvdXBfaWQ9PyI7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQsICRncm91cCkpOwoJfQoJCgkvLyBhZGQgbW9yZSBmaWVsZHMgYXMgbmVlZGVkIHRvIHRoZSBzZW5kIGV2ZW50CglAJHRoaXMtPlNlbmRFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZUFkZGVkJywgYXJyYXkoJ2ZpbGVfaWQnID0+ICRmaWxlX2lkLCAnbmFtZScgPT4gJG5hbWUpKTsKCgkkdGhpcy0+VXBkYXRlQXNzb2NpYXRpb25BZ3JlZ2F0aW9uKCAoaW50KSAkZmlsZV9pZCk7CglpZigkdmlzaWJsZSkKCQkkdGhpcy0+U2VhcmNoQWRkRmlsZSggKGludCkgJGZpbGVfaWQsICRhbGlhcy4nICcuJGZpbGVfbmFtZS4nICcuJGRlc2NyaXB0aW9uLCAkZXhwaXJlcyk7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWxlYWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2ZpbGVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2ZpbGVfcGF0aCddKSkKewoJJHVwbG9hZGVkID0gYmFzZTY0X2RlY29kZSgkcGFyYW1zWydmaWxlX3BhdGgnXSk7CgkkaW5wdXR1cGxvYWRlZGVuYWJsZWQgPSBmYWxzZTsKfQojRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkZmlsZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBhc3NvY2lhdGlvbnMKZ2xvYmFsICRnQ21zOwokcXVlcnkgPSAiU0VMRUNUICBjYXRlZ29yeV9pZCwgbG9uZ19uYW1lICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgIE9SREVSIEJZIGhpZXJhcmNoeV9wcmlvcml0eTsgIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRyb3djbGFzcyA9ICdyb3cxJzsKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCSRvbmVyb3ctPm5hbWUgPSAkcm93Wydsb25nX25hbWUnXTsKCSRvbmVyb3ctPmlucHV0YXNzb2MgPSAgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnYXNzb2NbJy4kcm93WydjYXRlZ29yeV9pZCddLiddJywgJzEnLCAwLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKTsKCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignYXNzb2NpYXRpb25zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygiYXNzb2NhdGlvbnN0YWJoZWFkZXIiKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Jvb3RwYXRoJywgJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10pOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdmb3JtaWQnLCAkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdpbnB1dGZpbGUnLCAkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnZmlsZScsJyBpZD0iJy4kaWQuJ2ZpbGUiICcuKCRpbnB1dHVwbG9hZGVkZW5hYmxlZD8nJzonZGlzYWJsZWQ9ImRpc2FibGVkIicpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR1cGxvYWRlZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXBsb2FkZWQnLCR1cGxvYWRlZCwgNjAsMjI1LCAhJGlucHV0dXBsb2FkZWRlbmFibGVkPycnOidkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dXBsb2FkZWRlbmFibGVkJywgJGlucHV0dXBsb2FkZWRlbmFibGVkKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG1kNScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbWQ1JywnJywgMzIsMzIsICdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZXh0ZXJuYWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2V4dGVybmFsJywgJycsIDYwLDI1NSwgJ2Rpc2FibGVkPSJkaXNhYmxlZCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRzZXJ2ZXJfbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2VydmVyX25hbWUnLCAkc2VydmVyX25hbWUsIDMwLCAzMCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZXh0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdleHQnLCAkZXh0LCAzMCwgNSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2l6ZScsICRzaXplLCAzMCwgMTApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGhhc2gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hhc2gnLCAkaGFzaCwgMzAsIDMyKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwgJGRlc2NyaXB0aW9uLCAnZGVzY3JpcHRpb24nLCAncGFnZXNtYWxsdGV4dGFyZWEnLCAnJywgJycsICcnLCAnMzAwJywgJzUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXhwaXJlZGF0ZXByZWZpeCcsICRpZC4nZXhwaXJlZGF0ZV8nKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGV4cCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3VzZWV4cCcsICcxJywgJHVzZWV4cCwgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dmlzaWJsZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3Zpc2libGUnLCAnMScsICR2aXNpYmxlLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRtYWtlX3RodW1iJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnbWFrZV90aHVtYicsICcxJywgJG1ha2VfdGh1bWIsICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGFjY2Vzc3R5cGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdhY2Nlc3N0eXBlJywkdGhpcy0+R2V0QWNjZXNzVHlwZUNvbWJvKCksLTEsJGFjY2Vzc3R5cGUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGZldWdyb3VwcycsICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAnZmV1Z3JvdXBzW10nLCR0aGlzLT5HZXRHcm91cHNDb21ibygpLCRmZXVncm91cHMpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRlbXBsYXRlX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0ZW1wbGF0ZV9mb3JtJywkdGhpcy0+R2V0VGVtcGxhdGVzQ29tYm8oImZvcm0iKSwtMSwkdGVtcGxhdGVfZm9ybSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dGVtcGxhdGVfZGV0YWlsJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndGVtcGxhdGVfZGV0YWlsJywkdGhpcy0+R2V0VGVtcGxhdGVzQ29tYm8oImRldGFpbCIpLC0xLCR0ZW1wbGF0ZV9kZXRhaWwpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRlbXBsYXRlX2VtYWlsJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndGVtcGxhdGVfZW1haWwnLCR0aGlzLT5HZXRUZW1wbGF0ZXNDb21ibygiZW1haWwiKSwtMSwkdGVtcGxhdGVfZW1haWwpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRodW1iX3BhdGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0aHVtYl9wYXRoJywkdGhpcy0+R2V0VGh1bWJuYWlsc0Ryb3Bkb3duKCR0aHVtYl92YWx1ZSkpKTsKCi8vIEFTU0lORyBBTEwgTEFCRUxTCiR0aGlzLT5zbWFydHktPmFzc2lnbigndXBsb2FkbGFiZWwnLCAkdGhpcy0+TGFuZygndXBsb2FkZmlsZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cGxvYWRlZGxhYmVsJywgJHRoaXMtPkxhbmcoJ2FscmVhZHl1cGxvYWRlZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRlcm5hbGxhYmVsJywgJHRoaXMtPkxhbmcoJ2V4dGVybmFsZmlsZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZXJ2ZXJfbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NlcnZlcl9uYW1lbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0bGFiZWwnLCAkdGhpcy0+TGFuZygnZXh0bGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2l6ZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NpemVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoYXNobGFiZWwnLCAkdGhpcy0+TGFuZygnaGFzaGxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rlc2NyaXB0aW9ubGFiZWwnLCAkdGhpcy0+TGFuZygnZGVzY3JpcHRpb25sYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjcmVhdGVkbGFiZWwnLCAkdGhpcy0+TGFuZygnY3JlYXRlZGxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2V4cGlyZXNsYWJlbCcsICR0aGlzLT5MYW5nKCdleHBpcmVzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndmlzaWJsZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3Zpc2libGVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtYWtlX3RodW1ibGFiZWwnLCAkdGhpcy0+TGFuZygnbWFrZV90aHVtYmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZWV4cGlyYXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ3VzZWV4cGlyYXRpb24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWNjZXNzdHlwZWxhYmVsJywgJHRoaXMtPkxhbmcoJ2FjY2Vzc3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZGV0YWlsbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3JkZXRhaWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZm9ybWxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZm9ybScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9lbWFpbGxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZW1haWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZmV1Z3JvdXBzbGFiZWwnLCAkdGhpcy0+TGFuZygnZmV1Z3JvdXBzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGh1bWJfcGF0aGxhYmVsJywgJHRoaXMtPkxhbmcoJ3RodW1ibGFiZWwnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZpbGV0eXBlaW5wdXQnLCAgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZmlsZXR5cGVpbnB1dC50cGwnKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkZmlsZS50cGwnKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.changefile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQppZiAoIWlzc2V0KCRwYXJhbXNbJ2ZpbGVfaWQnXSkgfHwgZW1wdHkoJHBhcmFtc1snZmlsZV9pZCddKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9maWxlJykpOwoJcmV0dXJuOwp9CgppbmNsdWRlKCdmdW5jdGlvbi51cGxvYWRmaWxlLnBocCcpOwoKaWYoJGFkZGZpbGVkYikKewoJJHBhcmFtc1snZmlsZV9pZCddID0gKGludCkgJHBhcmFtc1snZmlsZV9pZCddOwoJLy8gcmVtb3ZpbmcgdGhlIG9sZCBmaWxlCgkkcXVlcnkgPSAnU0VMRUNUIHNlcnZlcl9uYW1lIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFIGZpbGVfaWQ9ID8nOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snZmlsZV9pZCddKSk7Cgkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJdW5saW5rKCRyb3dbJ3NlcnZlcl9uYW1lJ10pOwoJaWYoICFpc3NldCgkcGFyYW1zWydjaGFuZ2VuYW1lJ10pIHx8ICRwYXJhbXNbJ2NoYW5nZW5hbWUnXSA9PSAwICkKCXsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFNFVCBzZXJ2ZXJfbmFtZSA9ID8sIHR5cGUgPSA/LCBzaXplID0gPywgaGFzaCA9ID8sICBjcmVhdGVkID0gbm93KCkgV0hFUkUgZmlsZV9pZCA9ID8nOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCAkZl9jb250ZW50c1sncGF0aCddLCAkZl9jb250ZW50c1sndHlwZSddLCAkZl9jb250ZW50c1snc2l6ZSddLCAkZl9jb250ZW50c1snbWQ1J10sJHBhcmFtc1snZmlsZV9pZCddKSk7Cgl9CgllbHNlCgl7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBTRVQgbmFtZSA9ID8gLCBleHQgPSA/ICwgc2VydmVyX25hbWUgPSA/LCB0eXBlID0gPywgc2l6ZSA9ID8sIGhhc2ggPSA/LCAgY3JlYXRlZCA9IG5vdygpIFdIRVJFIGZpbGVfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9uYW1lICwgJGZfY29udGVudHNbJ2V4dCddLCAkZl9jb250ZW50c1sncGF0aCddLCAkZl9jb250ZW50c1sndHlwZSddLCAkZl9jb250ZW50c1snc2l6ZSddLCAkZl9jb250ZW50c1snbWQ1J10sJHBhcmFtc1snZmlsZV9pZCddKSk7Cgl9CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWxlY2hhbmdlZCcsICdhY3RpdmVfdGFiJyA9PiAnZmlsZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CmVsc2UKewokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdmb3JtaWQnLCAkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdyb290cGF0aCcsICRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjaGFuZ2VmaWxlaW5mbycsICR0aGlzLT5MYW5nKCdjaGFuZ2VmaWxlaW5mbycsIGFycmF5KCBiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ25hbWUnXSksIGJhc2U2NF9kZWNvZGUoJHBhcmFtc1snYWxpYXMnXSkgKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VwbG9hZGxhYmVsJywgJHRoaXMtPkxhbmcoJ3VwbG9hZGZpbGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXBsb2FkZWRsYWJlbCcsICR0aGlzLT5MYW5nKCdhbHJlYWR5dXBsb2FkZWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2hhbmdlbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ2NoYW5nZW5hbWVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRlcm5hbGxhYmVsJywgJHRoaXMtPkxhbmcoJ2V4dGVybmFsZmlsZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoYXNobGFiZWwnLCAkdGhpcy0+TGFuZygnaGFzaGxhYmVsJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRmaWxlJywgJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2ZpbGUnLCcgaWQ9IicuJGlkLidmaWxlIiAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR1cGxvYWRlZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXBsb2FkZWQnLCR1cGxvYWRlZCwgODAsMjI1LCdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0bWQ1JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtZDUnLCRwYXJtc1snbWQ1J10sIDMyLDMyLCAnZGlzYWJsZWQ9ImRpc2FibGVkIicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGV4dGVybmFsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdleHRlcm5hbCcsJHVwbG9hZGVkLCA2MCwyNTUsICdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Y2hhbmdlbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NoYW5nZW5hbWUnLCAnMScsIDAsICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdjaGFuZ2VmaWxlJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmlsZV9pZCcsIChpbnQpICRwYXJhbXNbJ2ZpbGVfaWQnXSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZpbGV0eXBlaW5wdXQnLCAgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZmlsZXR5cGVpbnB1dC50cGwnKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY2hhbmdlZmlsZS50cGwnKTsKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBEaXNwbGF5TW9kdWxlT3V0cHV0KCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSkKCSAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCgoJICAgVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgc2ltcGxlIG1ldGhvZCB0byBkaXNwbGF5CgkgICBzb21ldGhpbmcgd2hlcmUgYSBwYWdlIG9yIHRlbXBsYXRlIGhhcyBhIHRhZyBjYWxsaW5nCgkgICB0aGlzIG1vZHVsZS4KCSAgIAoJICAgTm90ZSB0aGF0IGl0IHVzZXMgYSB0ZW1wbGF0ZSwgYW5kIGlzIHRodXMgdmVyeSBwb3dlcmZ1bCwKCSAgIGV2ZW4gaWYgaXQncyBzaW1wbGUuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKgogICAgRm9yIHNlcGFyYXRlZCBtZXRob2RzLCB5b3UnbGwgYWx3YXlzIHdhbnQgdG8gc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nCiAgICBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogICAgQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToKKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwovL3Zhcl9kdW1wKCRwYXJhbXMpOwoKJHF1ZXJ5ID0gJyc7CiRkYnJlc3VsdCA9Jyc7CiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKJGNhdGVnb3J5X2lkID0gJycgOwokY2F0ZWdvcnlfbGV2ZWwgPSAnJzsKJGRlcHRoID0gaXNzZXQoICRwYXJhbXNbJ2RlcHRoJ10gKT8oaW50KSRwYXJhbXNbJ2RlcHRoJ106ZmFsc2U7CgokcXVlcnkgPSAnJzsKJHF1ZXJ5cHJlZml4ID0gCSdTRUxFQ1QgZmMuY2F0ZWdvcnlfaWQsIGZjLmZpbGVfaWQsIGMuaGllcmFyY2h5LCBjLm5hbWUgQVMgY2F0ZWdvcnlfbmFtZSAsCgkJYy5sb25nX25hbWUgQVMgY2F0ZWdvcnlfbG9uZ19uYW1lICwJYy5kZXB0aCwgYy5hbGlhcyBBUyBjYXRlZ29yeV9hbGlhcywKCQlmLioKCQlGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IGZjCgkJTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgYyBVU0lORyhjYXRlZ29yeV9pZCkKCQlMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgZiBVU0lORyhmaWxlX2lkKQoJCVdIRVJFIGYudmlzaWJsZSA9IDEgQU5EICcuJHRoaXMtPkdldEZpbGVTdGRXaGVyZSgnZicpOwokcXVlcnlfZGVwdGggPSAnJzsKJHNob3doZWFkZXJzID0gdHJ1ZTsKCiRiYXNlX2RlcHRoID0gMDsKCi8vIGdldCBzdWJjYXRlZ29yaWVzIHRyZWUgc3RydWN0dXJlCiRzdWJjYXRlZ29yaWVzID0gJHRoaXMtPkdldFN1YkNhdGVnb3JpZXMoKTsKCi8qCiAqIFBBUlNJTkcgQ0FURUdPUlkgQU5EIENBVEVHT1JZSUQKICoKICogaWYgYm90aCBhcmUgc2V0IGNhdGVnb3J5aWQgaGF2ZSBoaWdoZXIgcHJpb3JpdHkKKi8KaWYoIGlzc2V0KCAkcGFyYW1zWydhbGlhcyddICkgfHwgaXNzZXQoICRwYXJhbXNbJ2NhdGVnb3J5aWQnXSApICkKewoJJGRicmVzdWx0ID0gJyc7CgkkcXVlcnkgPSAnU0VMRUNUIGNhdGVnb3J5X2lkLCBoaWVyYXJjaHksIGRlcHRoLCBhbGlhcywgZGVmYXVsdF90ZW1wbGF0ZQoJCUZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcwoJCVdIRVJFICc7CgoJLy8gY2hvb3Npbmcgd2hlcmUgY29uZGl0aW9uCglpZiggaXNzZXQoICRwYXJhbXNbJ2NhdGVnb3J5aWQnXSApICkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LicgY2F0ZWdvcnlfaWQgPSA/ICcsYXJyYXkoKGludCkkcGFyYW1zWydjYXRlZ29yeWlkJ10pKTsKCWVsc2UKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LicgYWxpYXMgPSA/ICcsYXJyYXkoJHBhcmFtc1snYWxpYXMnXSkpOwoKCS8vIGZldGNoaW5nIGNhdGVnb3J5CglpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkJJGNhdGVnb3J5X2lkID0gKGludCkgJHJvd1snY2F0ZWdvcnlfaWQnXTsKCQkkY2F0ZWdvcnlfZGVwdGggPSAoaW50KSAkcm93WydkZXB0aCddOwoJCSRjYXRlZ29yeV9oaWVyYXJjaHkgPSAkcm93WydoaWVyYXJjaHknXTsKCQkkY2F0ZWdvcnlfdGVtcGxhdGUgPSAkcm93WydkZWZhdWx0X3RlbXBsYXRlJ107Cgl9CgoJaWYoJGNhdGVnb3J5X2lkID09ICcnKQoJCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR0aGlzLT5sYW5nKCd3cm9uZ2NhdGVnb3J5JykpOwoJLy8gd2UgaGF2ZSBjYXRlZ29yeSBzcGVjaWZpZWQKCgkkcXVlcnkgPSAkcXVlcnlwcmVmaXguCgkJJ0FORCBjLmhpZXJhcmNoeSBMSUtFIFwnJScuc3RyX3BhZCgkY2F0ZWdvcnlfaWQsIDUsICcwJywgU1RSX1BBRF9MRUZUKS4nJVwnJzsKCgkvLyBjcmVhdGUgbGluayB0byB1cHBlciBjYXRlZ29yeQoJJHQgPSAmJHN1YmNhdGVnb3JpZXNbJGNhdGVnb3J5X2lkXTsKCSR0b3A9Jyc7CglpZighaXNfbnVsbCgkdFsncGFyZW50J10pKQoJewoJCS8vd2UgaGF2ZSB0b3AgY2F0ZWdvcnkKCQkkdG9wID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGluaygkaWQsICRyZXR1cm5pZCwgJHRbJ3BhcmVudCddWyduYW1lJ10sICR0WydwYXJlbnQnXVsnYWxpYXMnXSwkZGVwdGgpOwoJfQoJZWxzZQoJewoJCS8vIG5vIHVwcGVyIGNhdGVnb3J5IGNyZWF0aW5nIGxpbmsgdG8gcm9vdAoJCSR0b3AgPSAkdGhpcy0+Q3JlYXRlQ2F0ZWdvcnlMaW5rKCRpZCwgJHJldHVybmlkLCIiLCIiLCRkZXB0aCk7Cgl9CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndG9wY2F0ZWdvcnlsaW5rJywgJHRvcCk7Cn0KZWxzZQp7CgkvLyBhbGwgY2F0ZWdvcmllcyBhcmUgc2VsbGVjdGVkCgkkcXVlcnkgPSAkcXVlcnlwcmVmaXg7CgkkY2F0ZWdvcnlfZGVwdGggPSAwOwp9CgovLyBhZGRpbmcgZGVwdGggY29uZGl0aW9uCgppZiggJGRlcHRoICE9PSBmYWxzZSkKewoJLy8gYWRkIGRlcHRoIGNvbmRpdGlvbgoJJHF1ZXJ5X2RlcHRoID0gJyBBTkQgJy4oJGNhdGVnb3J5X2RlcHRoKyRkZXB0aCkuJyA+PSBjLmRlcHRoICc7Cn0KCi8vIG1lcmdpbmcgcXVlcmllcwokcXVlcnkgLj0gJHF1ZXJ5X2RlcHRoLicKCQlPUkRFUiBCWSBjLmhpZXJhcmNoeV9wcmlvcml0eSwgZmMuaXRlbV9vcmRlciAnOwoKCgokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCi8vIGFsc28gdXNlZCBieSBhY3Rpb24gc2VsZWN0b3IKaW5jbHVkZSgnZnVuY3Rpb24uYXNzaW5nZmlsZXMucGhwJyk7CgokdGVtcGxhdGVuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGUnXSApICkJCiAgICAkdGVtcGxhdGVuYW1lID0gJ2xpc3RfJy4kcGFyYW1zWyd0ZW1wbGF0ZSddOyAvLyBkZWZhdWx0IGlzIGxpc3QgYWN0aW9uCgppZiggJHRlbXBsYXRlbmFtZSAhPSAnJyAmJiAkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSkpCnsKCS8vIHRoZSB0ZW1wbGF0ZSBleGlzdHMsIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdAoJCn0KZWxzZSBpZiggIWVtcHR5KCRjYXRlZ29yeV90ZW1wbGF0ZSkgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRjYXRlZ29yeV90ZW1wbGF0ZSkpCnsKCS8vIHVzaW5nIHRoZSBkZWZhdWx0IGNhdGVnb3J5IHRlbXBsYXRlIGJlY2F1c2UgaXQgaXMgc2V0Cn0KZWxzZQp7CgkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2xpc3RfdGVtcGxhdGUnLCAnJyk7CgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSk7Cn0KI0Rpc3BsYXkgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CgokdGFiID0iIjsKaWYoaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkKCSR0YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoImZpbGVzIiwkdGhpcy0+TGFuZygiZmlsZXN0YWJoZWFkZXIiKSwoJHRhYj09ImZpbGVzIikpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiY2F0ZWdvcmllcyIsJHRoaXMtPkxhbmcoImNhdGVnb3JpZXN0YWJoZWFkZXIiKSwoJHRhYj09ImNhdGVnb3JpZXMiKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCBsYW5nKCJ0ZW1wbGF0ZXMiKSwoJHRhYj09InRlbXBsYXRlcyIpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInByZWZlcmVuY2VzIiwgbGFuZygicHJlZmVyZW5jZXMiKSwoJHRhYj09InByZWZlcmVuY2VzIikpOwplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlSURDb2xIZWFkZXInLCAnSUQnKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJsZU5hbWVDb2xIZWFkZXInLCBsYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlRGVzY3JpcHRpb25Db2xIZWFkZXInLCBsYW5nKCdkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJsZURlZmF1bHRDb2xIZWFkZXInLCBsYW5nKCdkZWZhdWx0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlQWN0aW9uc0hlYWRlcicsICR0aGlzLT5sYW5nKCdhY3Rpb25zJykpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdmaWxlcycsICRwYXJhbXMpOwoJaW5jbHVkZSgndGFiLmRlZmF1bHRhZG1pbi5maWxlcy5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjYXRlZ29yaWVzJywgJHBhcmFtcyk7CglpbmNsdWRlKCd0YWIuZGVmYXVsdGFkbWluLmNhdGVnb3JpZXMucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwplY2hvICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGVzJywgJHBhcmFtcyk7CglpbmNsdWRlKCd0YWIuZGVmYXVsdGFkbWluLnRlbXBsYXRlcy5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmZXJlbmNlcycsICRwYXJhbXMpOwoJaW5jbHVkZSgndGFiLmRlZmF1bHRhZG1pbi5wcmVmZXJlbmNlcy5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKCiRjYXRlZ29yeV9pZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpCnsKCSRjYXRlZ29yeV9pZCA9ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ107Cn0KCi8vIEdldCB0aGUgY2F0ZWdvcnkgZGV0YWlscwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiRyb3cgPSAkZGItPkdldFJvdyggJHF1ZXJ5LCBhcnJheSggJGNhdGVnb3J5X2lkICkgKTsKCgkvL1Jlc2V0IGFsbCBjYXRlZ29yaWVzIHVzaW5nIHRoaXMgcGFyZW50IHRvIGhhdmUgbm8gcGFyZW50ICgtMSkKCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBTRVQgcGFyZW50X2lkPT8sIG1vZGlmaWVkX2RhdGU9Jy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyBXSEVSRSBwYXJlbnRfaWQ9Pyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgtMSwgJGNhdGVnb3J5X2lkKSk7CgoJLy9Ob3cgcmVtb3ZlIHRoZSBjYXRlZ29yeQoJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjYXRlZ29yeV9pZCkpOwoKLy9BbmQgcmVtb3ZlIGl0IGZyb20gYW55IGFydGljbGVzCi8vfiAkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmV3cyBTRVQgbmV3c19jYXRlZ29yeV9pZCA9IC0xIFdIRVJFIG5ld3NfY2F0ZWdvcnlfaWQgPSA/IjsKCS8vfiAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCiR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCi8vVXBkYXRlIHNlYXJjaCBpbmRleAokdGhpcy0+U2VhcmNoRGVsZXRlQ2F0ZWdvcnkoJGNhdGVnb3J5X2lkKTsKCi8vIGFkZCBtb3JlIGZpZWxkcyBhcyBuZWVkZWQgdG8gdGhlIHNlbmQgZXZlbnQKCkAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCkpOwoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnY2F0ZWdvcnlkZWxldGVkJywgJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yaWVzJyk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletefile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKJGZpbGVfaWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2ZpbGVfaWQnXSkpCnsKCSRmaWxlX2lkID0gJHBhcmFtc1snZmlsZV9pZCddOwp9CgovLyByZW1vdmUgdGhlIGZpbGUKJHF1ZXJ5ID0gJ1NFTEVDVCBzZXJ2ZXJfbmFtZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRSBmaWxlX2lkPSA/JzsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQpKTsKaWYgKCRkYnJlc3VsdCkKewoJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCXVubGluaygkcm93WydzZXJ2ZXJfbmFtZSddKTsKfQoKLy9VcGRhdGUgc2VhcmNoIGluZGV4CiR0aGlzLT5TZWFyY2hEZWxldGVGaWxlKCRmaWxlX2lkKTsKCi8vTm93IHJlbW92ZSB0aGUgaXRlbSBmcm9tIGRhdGFiYXNlCiRxdWVyeSA9ICdERUxFVEUgZnJvbSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgZmlsZV9pZD0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlX2lkKSk7CiRxdWVyeSA9ICdERUxFVEUgZnJvbSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgV0hFUkUgZmlsZV9pZD0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlX2lkKSk7CgoKLy8gYWRkIG1vcmUgZmllbGRzIGFzIG5lZWRlZCB0byB0aGUgc2VuZCBldmVudApAJHRoaXMtPlNlbmRFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZURlbGV0ZWQnLCBhcnJheSgnZmlsZV9pZCcgPT4gJGZpbGVfaWQpKTsKCiRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2ZpbGVkZWxldGVkJywgJ2FjdGl2ZV90YWInID0+ICdmaWxlcycpOwokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCgoKPz4KCg==]]></data>
	</file>
	<file>
	  <filename>/action.deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CiRuZXdwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX25hbWUnXSkgJiYgJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddICE9ICcnKQp7CglpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IERvd25sb2FkIE1hbmFnZXIgVGVtcGxhdGUnKSkKCXsKCQlpZigkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddKSkKCQl7CgkJCS8vIHRlbXBsYXRlIHN1Y2Nlc3NmdWxseSBkZWxldGVkCgkJCSRuZXdwYXJhbXNbJ3RhYl9tZXNzYWdlJ10gPSAndGVtcGxhdGVkZWxldGVkJzsKCQkJQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlclRlbXBsYXRlRGVsZXRlZCcsIGFycmF5KCd0ZW1wbGF0ZV9uYW1lJyA9PiAkdGVtcGxhdGVfbmFtZSkpOwoJCX0KCX0KCWVsc2UKCXsKCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgRG93bmxvYWQgTWFuYWdlciBUZW1wbGF0ZScpKSk7Cgl9Cn0KCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMgKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGZpbGVfaWQgPSAnJzsKJGZpbGUgPSBmYWxzZTsKCi8vIGxvYWQgZmlsZSBkYXRhCmlmKGlzc2V0KCRwYXJhbXNbJ2FsaWFzJ10pKQp7CgkkYWxpYXMgPSAkcGFyYW1zWydhbGlhcyddOwoKCS8vIGdldCB0aGUgZmlsZSBpZAoJJHF1ZXJ5ID0gJ1NFTEVDVCBmaWxlX2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgYWxpYXMgPSA/ICc7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ2FsaWFzJ10pKTsKCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCSAgICAkZmlsZV9pZCA9ICRyb3dbJ2ZpbGVfaWQnXTsKCgkvLyBnZXQgY2F0ZWdvcmllc3MKCSRmaWxlc19jYXRlZ29yaWVzID0gJHRoaXMtPkdldEZpbGVDYXRlZ29yaWVzKCdmaWxlX2lkID0gJy4kZmlsZV9pZCk7CgoJLy8gcnVuIHRoZSBhc3NpbmcgZmlsZXMgZnVuY3Rpb24KCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFIGZpbGVfaWQgPSAnLiRmaWxlX2lkOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cgkkc2hvd2hlYWRlcnMgPSBmYWxzZTsKCWluY2x1ZGUoJ2Z1bmN0aW9uLmFzc2luZ2ZpbGVzLnBocCcpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbScsICRvbmVyb3cpOwp9CmlmKCEkb25lcm93KSAvLyBjaGVja2luZyBpZiBmaWxlIGV4aXN0cyBpbiBkYXRhYmFzZQp7CgkkdGhpcy0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCR0aGlzLT5sYW5nKCdub2ZpbGUnKSk7Cn0KCgoKLy8gd2UgZ2l2ZSB0aGUgZmlsZSBpbmZvIHRvIHNtYXJ0eS4uLiBzbyBpbiBib3RoIGRldGFpbCBhbmQgZm9ybSB0ZW1wbGF0ZXMsIGZpbGUgaW5mbyB3aWxsIGJlIGF2YWlsYWJsZSB3aXRoICRmaWxlLT5maWVsZC4uLgoKaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZSddICkgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCdkZXRhaWxfJy4kdGVtcGxhdGVuYW1lKSApCnsKCS8vIHRlbXBsYXRlIGlzIHNwZWNpZmllZCBpbiBzbWFydHkgdGFnCgkvLyB0aGUgdGVtcGxhdGUgZXhpc3RzLCB3ZSdyZSBnb2luZyB0byB1c2UgaXQKfQplbHNlaWYoICRmaWxlLT50ZW1wbGF0ZV9kZXRhaWwgIT0gJycgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRmaWxlLT50ZW1wbGF0ZV9kZXRhaWwpICkKewoJLy9nZXR0aW5nIHRlbXBsYXRlIGZyb20gZmlsZSBpbmZvIGluIGRhdGFiYXNlCgkvLyBpZGVtCn0KZWxzZQp7CgkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsICcnKTsKCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1lbGFiZWwnLCAkdGhpcy0+TGFuZygnbmFtZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzbGFiZWwnLCAkdGhpcy0+TGFuZygnYWxpYXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZXJ2ZXJfbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NlcnZlcl9uYW1lbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0bGFiZWwnLCAkdGhpcy0+TGFuZygnZXh0bGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2l6ZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NpemVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBlbGFiZWwnLCAkdGhpcy0+TGFuZygndHlwZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hhc2hsYWJlbCcsICR0aGlzLT5MYW5nKCdoYXNobGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb25sYWJlbCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NyZWF0ZWRsYWJlbCcsICR0aGlzLT5MYW5nKCdjcmVhdGVkbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXhwaXJlc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2V4cGlyZXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd2aXNpYmxlbGFiZWwnLCAkdGhpcy0+TGFuZygndmlzaWJsZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZWV4cGlyYXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ3VzZWV4cGlyYXRpb24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYXNzb2NpYXRlZGxhYmVsJywgJHRoaXMtPkxhbmcoJ2Fzc29jaWF0ZWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWNjZXNzdHlwZWxhYmVsJywgJHRoaXMtPkxhbmcoJ2FjY2Vzc3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZGV0YWlsbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3JkZXRhaWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZm9ybWxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZm9ybScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9lbWFpbGxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZW1haWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZmV1Z3JvdXBzbGFiZWwnLCAkdGhpcy0+TGFuZygnZmV1Z3JvdXBzbGFiZWwnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwo=]]></data>
	</file>
	<file>
	  <filename>/action.download.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwokZmlsZSA9IGZhbHNlOwoKaWYoICFpc3NldCAoICRwYXJhbXNbJ2FsaWFzJ10pICkKCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ25vZmlsZScpKTsKCgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRSBhbGlhcyA9ID8gJzsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+Q3JlYXRlQWxpYXMoJHBhcmFtc1snYWxpYXMnXSkpKTsKaWYgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQp7CgkkZmlsZSA9IG5ldyBTdGRDbGFzcygpOwoJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSkKCQkkZmlsZS0+JGtleSA9ICR2YWx1ZTsKfQplbHNlCgkkdGhpcy0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCR0aGlzLT5sYW5nKCd3cm9uZ2ZpbGUnKSk7CgovLyBjaGVja2luZyBwZXJtaXNpb25zCmlmKAkoICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9NQUlMKSAmJiAhJHRoaXMtPk1haWxlckluc3RhbGxlZCgpICkgfHwKCQkoICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9GRVUpICYmICEkdGhpcy0+RkVVaW5zdGFsbGVkKCkgKSB8fAoJCSggJHRoaXMtPkNoZWNrRG93blR5cGUoJGZpbGUtPmFjY2Vzc3R5cGUgLCBETU5SX0JZX0JPVEggKSAmJiAhJHRoaXMtPk1haWxlckluc3RhbGxlZCgpICYmICEkdGhpcy0+RkVVaW5zdGFsbGVkKCkpKQp7CgkvLyB0aGUgZmlsZSBoYXMgYW4gYWNjZXNzIHR5cGUgdGhhdCBpcyB1bmF2YWlsYWJsZQoJJHRoaXMtPkRpc3BsYXlEb3dubG9hZEVycm9yUGFnZSgkdGhpcy0+bGFuZygnbm9hY2NlcycpKTsKfQoKLy8gaWYgdGhlIGZpbGUgaGFzIEZFVSBhY2Nlc3MsIHdlIGNoZWNrIGlmIHRoZSB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluIGFuZCBoYXMgYWNjZXNzCi8vIGlmIGhlIGRvZXMsIHdlIGRvbid0IGRpc3BsYXkgZm9ybXMgYW5kIGdvIHRvIHRoZSBkZXRhaWxzCiRoYXNwZXJtID0gZmFsc2U7CmlmKCAkdGhpcy0+Q2hlY2tEb3duVHlwZSgkZmlsZS0+YWNjZXNzdHlwZSAsIERNTlJfQllfRkVVKSApCgkkaGFzcGVybSA9ICR0aGlzLT5DaGVja0ZFVVBlcm0oJGZpbGUtPmZpbGVfaWQpOwoKLy8gdXNlciBoYXMgbm90IGdhaW4gYWNjZXMgYnkgRkVVIHNvIHdlIGFyZSBjaGVha2luZyBpZiBoZSBjYW4gZ2V0IHRoaXMgYnkgbWFpbAppZiggISRoYXNwZXJtICYmICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9NQUlMKSkKewoJLy8gRU1BSUwgSVMgQSBQT1NTSUJMRSBBQ0NFU1MKCgkvLyBsb2FkIHRoZSBpbnB1dHMgYW5kIGxhYmVscwoJJHByeCA9ICdzbV8nOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmaXJzdG5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygicHJvbXB0X2ZpcnN0bmFtZSIpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZmlyc3RuYW1lX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJHByeC4iZmlyc3RuYW1lIiwiIiwyOCw2NCkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYXN0bmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJwcm9tcHRfbGFzdG5hbWUiKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhc3RuYW1lX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJHByeC4ibGFzdG5hbWUiLCIiLDI4LDY0KSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImVtYWlsX2xhYmVsIiwgJHRoaXMtPkxhbmcoInByb21wdF9lbWFpbCIpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZW1haWxfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwkcHJ4LiJlbWFpbCIsIiIsMjgsNjQpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigibWFpbGluZ2xpc3RfbGFiZWwiLCAkdGhpcy0+TGFuZygicHJvbXB0X21haWxpbmdsaXN0IikpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtYWlsaW5nbGlzdF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHByeC4ibWFpbGluZ2xpc3QiLCAxLCAxKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJHByeC4nc3VibWl0JywkdGhpcy0+bGFuZygnc3VibWl0cmVxZW1haWwnKSwgJ29uY2xpY2s9InJldHVybiBkb3dubG9hZGVyX3ZhbGlkYXRlKFwnJy4kaWQuJ1wnKTsiJykgKTsKCgoKCWlmKCAkZmlsZS0+dGVtcGxhdGVfZm9ybSAhPSAnJyAmJiAkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJGZpbGUtPnRlbXBsYXRlX2Zvcm0pICkKCXsKCQkvLyB0aGUgdGVtcGxhdGUgZXhpc3RzLCB3ZSdyZSBnb2luZyB0byB1c2UgaXQKCX0KCWVsc2UKCXsKCQkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9mb3JtX3RlbXBsYXRlJywgJycpOwoJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lKTsKCX0KCgllY2hvICc8c2NyaXB0PgoJZnVuY3Rpb24gZG93bmxvYWRlcl92YWxpZGF0ZShpZCl7CgkJdmFyIGZpcnN0bmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKyInLiRwcnguJ2ZpcnN0bmFtZSIpLnZhbHVlOwoJCXZhciBsYXN0bmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKyInLiRwcnguJ2xhc3RuYW1lIikudmFsdWU7CgkJdmFyIGVtYWlsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQrIicuJHByeC4nZW1haWwiKS52YWx1ZTsKCQlpZihmaXJzdG5hbWUgPT0gIiIgfHwgbGFzdG5hbWUgPT0gIiIpewoJCQlhbGVydCgiJy4kdGhpcy0+TGFuZygicGxlYXNlX25hbWUiKS4nIik7CgkJCXJldHVybiBmYWxzZTsKCQl9ZWxzZSBpZihlbWFpbCA9PSAiIiB8fCBlbWFpbC5pbmRleE9mKCJAIikgPT0gLTEpewoJCQlhbGVydCgiJy4kdGhpcy0+TGFuZygicGxlYXNlX2VtYWlsIikuJyIpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfWVsc2V7CgkJCXJldHVybiB0cnVlOwoJCX0KCX0KCTwvc2NyaXB0PgoJJzsKCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnc2VuZGVtYWlsJywgJHJldHVybmlkLCAncG9zdCcpOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiZmlsZV9pZCIsICRmaWxlLT5maWxlX2lkKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7CgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7Cn0KCi8vIHVzZXIgaGFzIG5vdCBnYWluIGFjY2VzIGJ5IEZFVSBzbyB3ZSBhcmUgY2hlYWtpbmcgaWYgaGUgY2FuIGdldCB0aGlzIGJ5IGxvZ2luCmlmKCAhJGhhc3Blcm0gJiYgJHRoaXMtPkNoZWNrRG93blR5cGUoJGZpbGUtPmFjY2Vzc3R5cGUgLCBETU5SX0JZX0ZFVSkgJiYgJHRoaXMtPkZFVWluc3RhbGxlZCgpICkKewoJLy8gRkVVIElTIEEgUE9TU0lCTEUgQUNDRVNTCgoJJEZFVSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJaWYoJEZFVS0+TG9nZ2VkSW4oKSl7CgkJLy8gdGhlIHVzZXIgaXMgbG9nZ2VkIGluLCBidXQgZG9lc24ndCBoYXZlIGFjY2VzcwoJCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ25vYWNjZXNzJykpOwoJfQoJZWxzZQoJewoJCS8vIHVzZXIgbm90IGxvZ2dlZCBpbgoJCSRsb2dpbm1zZyA9ICgkdGhpcy0+Q2hlY2tEb3duVHlwZSgkZmlsZS0+YWNjZXNzdHlwZSAsIERNTlJfQllfTUFJTCkpPydtYXlhbHNvbG9naW4nOidtdXN0bG9naW4nOwoJCWVjaG8gJzxwIGNsYXNzPSJkbWxvZ2ludGl0bGUiPicuJHRoaXMtPkxhbmcoJGxvZ2lubXNnKS4nPC9wPic7CgkJJGFsbG93ZWRncm91cHMgPSAkdGhpcy0+R2V0RmlsZUdyb3VwcygkZmlsZV9pZCk7CgkJJGFsbG93ZWRncm91cHMgPSAkdGhpcy0+R2V0RkVVR3JvdXBOYW1lcygkYWxsb3dlZGdyb3Vwcyk7CgkJJGFyciA9IGFycmF5KCJmb3JtIj0+ImxvZ2luIik7CgkJaWYoIWVtcHR5KCRhbGxvd2VkZ3JvdXBzKSkKCQkJJGFyclsib25seV9ncm91cHMiXT0kYWxsb3dlZGdyb3VwczsKCgkJJEZFVS0+X0RvVXNlckFjdGlvbigkaWQsJGFyciwgJHJldHVybmlkKTsKCX0KfQoKaWYoICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9GUkVFICkgfHwgJGhhc3Blcm0pCnsKCS8vIGRvd25sb2FkaW5nIGZpbGUKCSRmaWxlX25hbWUgPSAgJGZpbGUtPm5hbWUuKCRmaWxlLT5leHQhPScnPycuJy4gJGZpbGUtPmV4dDonJyk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZG93bmxvYWRfbmFtZScsICAkZmlsZV9uYW1lKSA7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rvd25sb2FkaW5nJywgJHRoaXMtPmxhbmcoJ2Rvd25sb2FkaW5nJywgJGZpbGVfbmFtZSkgKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZG93bmxvYWRpbmdfaW5mbycsICR0aGlzLT5sYW5nKCdkb3dubG9hZGluZ19pbmZvJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrdG9saXN0bGluaycsICc8YSBocmVmPSJqYXZhc2NyaXB0Omhpc3RvcnkuYmFjaygpIj4nLiR0aGlzLT5sYW5nKCdiYWNrdG9saXN0JykuJzwvYT4nKTsKCgloZWFkZXIoIlJlZnJlc2g6IDI7IHVybD0iLiRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10uIi9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9kb3dubG9hZC5waHA/YWxpYXM9Ii4kZmlsZS0+YWxpYXMpOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdkZWZhdWx0X2Rvd25sb2FkX3RlbXBsYXRlJyAsJycsdHJ1ZSkgOwoJLy9+IGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZG93bmxvYWQudHBsJyk7Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.do_updateassoc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pIG9yICFpc3NldCgkcGFyYW1zWydmaWxlX2lkJ10pICkKewoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cn0KCiRmaWxlX2lkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydmaWxlX2lkJ10pKQp7CgkkZmlsZV9pZCA9ICRwYXJhbXNbJ2ZpbGVfaWQnXTsKfQokY2hlY2tlZCA9IGFycmF5KCk7Cgpmb3JlYWNoKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFyICkKewoJJHRtcCA9IGV4cGxvZGUoIl8iICwgJGtleSk7CglpZiggJHRtcFswXSA9PSAiYXNzb2MiKSAKCQkkY2hlY2tlZFtdID0gKGludCkgJHRtcFsxXTsKfQovL34gdmFyX2R1bXAoJGNoZWNrZWQpOwoKJGFzc29jX2JlZm9yZSA9IGFycmF5KCk7CiRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSAKV0hFUkUgZmlsZV9pZCA9ID87IjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmlsZV9pZCkpOwp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkkYXNzb2NfYmVmb3JlW10gPSAoaW50KSAkcm93WydjYXRlZ29yeV9pZCddOwovL34gdmFyX2R1bXAoJGFzc29jX2JlZm9yZSk7CgokcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgCldIRVJFIGZpbGVfaWQgPSA/IEFORCBjYXRlZ29yeV9pZCBOT1QgSU4gKCAiLmltcGxvZGUoIiAsICIsJGNoZWNrZWQpLiIgKTsiOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSggJGZpbGVfaWQpKTsKLy9+IHZhcl9kdW1wKCRxdWVyeSk7CiRkaWZmID0gYXJyYXlfZGlmZiggICRjaGVja2VkLCAkYXNzb2NfYmVmb3JlICApOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgKCBjYXRlZ29yeV9pZCwgZmlsZV9pZCkgIFZBTFVFUyAoICIuIGltcGxvZGUoIiAsICIuJGZpbGVfaWQuIiApLCAoICIsJGRpZmYpLiIsICIuJGZpbGVfaWQuIiApIiAgOwokZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKLy9+IHZhcl9kdW1wKCRkaWZmICk7Ci8vfiB2YXJfZHVtcCgkcXVlcnkpOwovL34gZXhpdDsKCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yaWVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCRwYXJhbXMpOwp9CgoKJGNhdGVnb3J5X2lkID0gKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKT8gaW50dmFsKCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pIDogLTE7CiRkZXNjcmlwdGlvbiA9IChpc3NldCgkcGFyYW1zWydkZXNjcmlwdGlvbiddKSk/ICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ106Jyc7CiRwYXJlbnRfaWQgPSAoaXNzZXQoJHBhcmFtc1sncGFyZW50J10pKT9pbnR2YWwoJHBhcmFtc1sncGFyZW50J10pOicnOwokYWxpYXMgPSAoaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkpPyR0aGlzLT5DcmVhdGVBbGlhcygkcGFyYW1zWydhbGlhcyddKTonJzsKJGRlZmF1bHRfdGVtcGxhdGU9IChpc3NldCgkcGFyYW1zWydkZWZhdWx0X3RlbXBsYXRlJ10pKT8kcGFyYW1zWydkZWZhdWx0X3RlbXBsYXRlJ106Jyc7CiRuYW1lID0gJyc7CgppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpCnsKCS8vIHdlIGFyZSBlZGl0dGluZyBjYXRlZ29yeQoJaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCgl7CgkJLy8gc2F2aW5nIGNoYW5nZXMKCQkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKCgkJLy8gY2hlY2tpbmcgYWxpYXMKCQlpZighJHRoaXMtPkNoZWNrQWxpYXMoJ2ZpbGVzJywgJGFsaWFzKSkKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnd3JvbmdhbGlhcycpKTsKCQllbHNlIGlmICgkbmFtZSAhPSAnJyApCgkJewoJCQkkdGltZSA9ICRkYi0+REJUaW1lU3RhbXAodGltZSgpKTsKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFNFVCBuYW1lID0gPywgZGVzY3JpcHRpb24gPSA/LCBwYXJlbnRfaWQgPSA/LCBtb2RpZmllZF9kYXRlPT8gLCBhbGlhcz0/LCBkZWZhdWx0X3RlbXBsYXRlPT8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5hbWUsICRkZXNjcmlwdGlvbiwgJHBhcmVudF9pZCwgJHRpbWUsICRhbGlhcywkZGVmYXVsdF90ZW1wbGF0ZSwgJGNhdGVnb3J5X2lkKSk7CgkJCSR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCQkJLy8gdXBkYXRlIHNlYXJjaCBpbmRleAoJCQkkdGhpcy0+U2VhcmNoRGVsZXRlQ2F0ZWdvcnkoJGNhdGVnb3J5X2lkKTsKCQkJJHRoaXMtPlNlYXJjaEFkZENhdGVnb3J5KCAoaW50KSAkY2F0ZWdvcnlfaWQsICRhbGlhcy4nICcuJG5hbWUuJyAnLiRkZXNjcmlwdGlvbik7CgkJCS8vIGFkZCBtb3JlIGZpZWxkcyBhcyBuZWVkZWQgdG8gdGhlIHNlbmQgZXZlbnQKCQkJQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckNhdGVnb3J5RWRpdGVkJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsICduYW1lJyA9PiAkbmFtZSkpOwoJCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdjYXRlZ29yeXVwZGF0ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwoJCX0KCX0KCS8vIGdldHRpbmcgY2F0ZWdvcnkgZGF0YSBmb3IgZWRpdGlvbgoJJHF1ZXJ5ID0gJ3NlbGVjdCBhbGlhcywgY2F0ZWdvcnlfaWQsIG5hbWUsIGRlc2NyaXB0aW9uLCBwYXJlbnRfaWQsZGVmYXVsdF90ZW1wbGF0ZSBmcm9tICcuY21zX2RiX3ByZWZpeCgpIC4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkPSA/JzsKCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjYXRlZ29yeV9pZCkpOwoKCWlmICgkcm93KQoJewoJCSRuYW1lID0gJHJvd1snbmFtZSddOwoJCSRkZXNjcmlwdGlvbiA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107CgkJJHBhcmVudF9pZCA9ICRyb3dbJ3BhcmVudF9pZCddOwoJCSRhbGlhcyA9ICRyb3dbJ2FsaWFzJ107CgkJJGRlZmF1bHRfdGVtcGxhdGUgPSAkcm93WydkZWZhdWx0X3RlbXBsYXRlJ107Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdjYXRlZ29yeV9pZCcsICRjYXRlZ29yeV9pZCkpOwoJCgp9CmVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCnsKCS8vIHdlIGFyZSBhZGRpbmcgbmV3IGNhdGVnb3J5CgkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKCQoJLy8gYWRkaW5nIGFsaWFzCgkkaSA9IDE7CgkkYWxpYXMgPSAkbiA9ICR0aGlzLT5DcmVhdGVBbGlhcygkbmFtZSk7Cgl3aGlsZSghJHRoaXMtPkNoZWNrQWxpYXMoJ2NhdGVnb3JpZXMnLCAkYWxpYXMpKQoJCSRhbGlhcyA9ICRuLiItIi4kaSsrOwoJCQoJJGNhdGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllc19zZXEiKTsKCSR0aW1lID0gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpOwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgKGNhdGVnb3J5X2lkLCBuYW1lLCBhbGlhcywgZGVzY3JpcHRpb24sIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUsZGVmYXVsdF90ZW1wbGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8sJy4kdGltZS4nLCcuJHRpbWUuJyw/KSc7CgkkcGFybXMgPSBhcnJheSgkY2F0aWQsJG5hbWUsJGFsaWFzLCRkZXNjcmlwdGlvbiwkcGFyZW50X2lkLCRkZWZhdWx0X3RlbXBsYXRlKTsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksICRwYXJtcyk7CgkkdGhpcy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgkkdGhpcy0+U2VhcmNoQWRkQ2F0ZWdvcnkoIChpbnQpICRjYXRpZCwgJGFsaWFzLicgJy4kbmFtZS4nICcuJGRlc2NyaXB0aW9uKTsKCUAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeUFkZGVkJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsICduYW1lJyA9PiAkbmFtZSkpOwoKCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2NhdGVnb3J5YWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgoKLy8gc3RhdGluZyBmb3JtCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBpbnB1dHMKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMzAsIDI1NSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0YWxpYXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCAzMCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZGVzY3JpcHRpb24nLCAkZGVzY3JpcHRpb24sIDMwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHBhcmVudF9pZCcsICAkdGhpcy0+Q3JlYXRlUGFyZW50RHJvcGRvd24oJGlkLCAkY2F0ZWdvcnlfaWQsICRwYXJlbnRfaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGRlZmF1bHRfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdkZWZhdWx0X3RlbXBsYXRlJywkdGhpcy0+R2V0VGVtcGxhdGVzQ29tYm8oImxpc3QiKSwtMSwkZGVmYXVsdF90ZW1wbGF0ZSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKLy8gbGFiZWxzCiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ25hbWVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhbGlhc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2FsaWFzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb25sYWJlbCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BhcmVudF9pZGxhYmVsJywgJHRoaXMtPkxhbmcoJ3BhcmVudF9pZGxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRfdGVtcGxhdGVsYWJlbCcsICR0aGlzLT5MYW5nKCdkZWZhdWx0dGVtcGxhdGUnKSk7CgoKI0Rpc3BsYXkgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2F0ZWdvcnkudHBsJyk7Cj8+Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.editfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKTsKfQoKCgovLyBzZXR0aW5nIGRlZmF1bHRzCiRmaWxlX2lkID0gaXNzZXQoJHBhcmFtc1snZmlsZV9pZCddKT8oaW50KSRwYXJhbXNbJ2ZpbGVfaWQnXTonJzsKJHNlcnZlcl9uYW1lID0gJyc7CiRleHQgPSBpc3NldCgkcGFyYW1zWydleHQnXSk/JHBhcmFtc1snZXh0J106Jyc7CiRzaXplID0gJyc7CiR0aHVtYl92YWx1ZSA9Jyc7CiRoYXNoID0gJyc7CiRjcmVhdGVkID0gJyc7CiRleHBpcmUgPSAnJzsKJHN0YXJ0ID0gJyc7CiR2aXNpYmxlID0gKGlzc2V0KCRwYXJhbXNbJ3Zpc2libGUnXSkpPyR2aXNpYmxlID0gJHBhcmFtc1sndmlzaWJsZSddOjA7CiR0eXBlID0gJyc7CiR1c2VleHAgPSAwOwokYWxpYXMgPSAoaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkpPyRwYXJhbXNbJ2FsaWFzJ106Jyc7CiRhY2Nlc3N0eXBlID0gKGlzc2V0KCRwYXJhbXNbJ2FjY2Vzc3R5cGUnXSkpPyRwYXJhbXNbJ2FjY2Vzc3R5cGUnXTowOwokY291bnRlciA9ICghaXNzZXQoJHBhcmFtc1snY291bnRlciddKSB8fCAkcGFyYW1zWydjb3VudGVyJ108MCk/MDokcGFyYW1zWydjb3VudGVyJ107CiR0ZW1wbGF0ZV9kZXRhaWwgPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZGV0YWlsJ10pKT8kcGFyYW1zWyd0ZW1wbGF0ZV9kZXRhaWwnXTonJzsKJHRlbXBsYXRlX2Zvcm0gPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZm9ybSddKSk/JHBhcmFtc1sndGVtcGxhdGVfZm9ybSddOicnOwokdGVtcGxhdGVfZW1haWwgPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZW1haWwnXSkpPyRwYXJhbXNbJ3RlbXBsYXRlX2VtYWlsJ106Jyc7CiRmZXVncm91cHMgPSAoaXNzZXQoJHBhcmFtc1snZmV1Z3JvdXBzJ10pKT8kcGFyYW1zWydmZXVncm91cHMnXTphcnJheSgpOwokZGVzY3JpcHRpb24gPSAoaXNzZXQoJHBhcmFtc1snZGVzY3JpcHRpb24nXSkpPyRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ106Jyc7CiR0aHVtYl92YWx1ZSA9IChpc3NldCgkcGFyYW1zWyd0aHVtYl9wYXRoJ10pKT8kcGFyYW1zWyd0aHVtYl9wYXRoJ106Jyc7CgppZiAoaXNzZXQoJHBhcmFtc1sndXNlZXhwJ10pKQoJJGV4cGlyZXMgPSAkcGFyYW1zWydleHBpcmVkYXRlX1llYXInXS4nLScuJHBhcmFtc1snZXhwaXJlZGF0ZV9Nb250aCddLictJy4kcGFyYW1zWydleHBpcmVkYXRlX0RheSddLicgJy4kcGFyYW1zWydleHBpcmVkYXRlX0hvdXInXS4nOicuJHBhcmFtc1snZXhwaXJlZGF0ZV9NaW51dGUnXS4nOicuJHBhcmFtc1snZXhwaXJlZGF0ZV9TZWNvbmQnXTsKZWxzZQoJJGV4cGlyZXMgPSBOVUxMOwppZiAoaXNzZXQoJHBhcmFtc1sndXNlc3RhcnQnXSkpCiAgICAkc3RhcnRzID0gJHBhcmFtc1snc3RhcnRkYXRlX1llYXInXS4nLScuJHBhcmFtc1snc3RhcnRkYXRlX01vbnRoJ10uJy0nLiRwYXJhbXNbJ3N0YXJ0ZGF0ZV9EYXknXS4nICcuJHBhcmFtc1snc3RhcnRkYXRlX0hvdXInXS4nOicuJHBhcmFtc1snc3RhcnRkYXRlX01pbnV0ZSddLic6Jy4kcGFyYW1zWydzdGFydGRhdGVfU2Vjb25kJ107CmVsc2UKICAgICRzdGFydHMgPSBOVUxMOwoKCiRuYW1lID0gJyc7CmlmKGlzc2V0KCRwYXJhbXNbJ2NoYW5nZXZpc2liaWxpdHknXSkpCnsKICAgIGlmKGVtcHR5KCRmaWxlX2lkKSB8fCAhaXNfbnVtZXJpYygkZmlsZV9pZCkpCiAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub2ZpbGUnKSk7CglyZXR1cm47CiAgICB9CiAgICAKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgU0VUIHZpc2libGUgPSA/IFdIRVJFIGZpbGVfaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR2aXNpYmxlLCAkZmlsZV9pZCkpOwogICAgQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckZpbGVFZGl0ZWQnLCBhcnJheSgnZmlsZV9pZCcgPT4gJGZpbGVfaWQsICduYW1lJyA9PiAkbmFtZSkpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkKewoJJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107CglpZiAoJG5hbWUgIT0gJycgJiYgJGFsaWFzICE9ICcnKQoJewogICAgICAgIAoJCS8vIGNoZWNraW5nIGFsaWFzCgkJJGFsaWFzID0gJHRoaXMtPkNyZWF0ZUFsaWFzKCRhbGlhcyk7CgkJaWYoISR0aGlzLT5DaGVja0FsaWFzKCdmaWxlcycsICRhbGlhcywkcGFyYW1zWydmaWxlX2lkJ10sJ2ZpbGVfaWQnKSkKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnd3JvbmdhbGlhcycpKTsKCQllbHNlCgkJewoJCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFNFVCBhbGlhcyA9ID8sICBuYW1lID0gPywgIGV4dCA9ID8sICBkZXNjcmlwdGlvbiA9ID8sICBleHBpcmVzID0gPyxzdGFydHMgPSA/LCB2aXNpYmxlID0gPywgYWNjZXNzdHlwZT0/LCB0ZW1wbGF0ZV9kZXRhaWw9PywgdGVtcGxhdGVfZm9ybT0/LCB0ZW1wbGF0ZV9lbWFpbD0/LCBjb3VudGVyID0gPywgdGh1bWJfcGF0aCA9ID8gV0hFUkUgZmlsZV9pZCA9ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkYWxpYXMsICRuYW1lLCAkZXh0LCAkZGVzY3JpcHRpb24sICAkZXhwaXJlcywkc3RhcnRzLCAkdmlzaWJsZSwgJGFjY2Vzc3R5cGUsICR0ZW1wbGF0ZV9kZXRhaWwsICR0ZW1wbGF0ZV9mb3JtLCAkdGVtcGxhdGVfZW1haWwsJGNvdW50ZXIsICR0aHVtYl92YWx1ZSwgJGZpbGVfaWQpKTsKCgkJCS8vIHVwZGF0ZSBmZXUgZ3JvdXBzIGFzc29jaWF0aW9uCgkJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlZ3JvdXBzIFdIRVJFIGZpbGVfaWQ9PyI7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlX2lkKSk7CgkJCWZvcmVhY2goJGZldWdyb3VwcyBhcyAkZ3JvdXApewoJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVncm91cHMgU0VUIGZpbGVfaWQ9PywgZ3JvdXBfaWQ9PyI7CgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9pZCwgJGdyb3VwKSk7CgkJCX0KCgkJCS8vIHVwZGF0ZSBzZWFyY2ggaW5kZXgKCQkJJHRoaXMtPlNlYXJjaERlbGV0ZUZpbGUoJGZpbGVfaWQpOwoJCQlpZigkdmlzaWJsZSkKCQkJCSR0aGlzLT5TZWFyY2hBZGRGaWxlKCAkZmlsZV9pZCwgJGFsaWFzLicgJy4kbmFtZS4nICcuJGRlc2NyaXB0aW9uLCAkZXhwaXJlcyk7CgkJCS8vIGFkZCBtb3JlIGZpZWxkcyBhcyBuZWVkZWQgdG8gdGhlIHNlbmQgZXZlbnQKCQkJQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckZpbGVFZGl0ZWQnLCBhcnJheSgnZmlsZV9pZCcgPT4gJGZpbGVfaWQsICduYW1lJyA9PiAkbmFtZSkpOwoJCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWxlbW9kaWZpZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2ZpbGVzJyk7CgkJCSR0aGlzLT5VcGRhdGVBc3NvY2lhdGlvbkFncmVnYXRpb24oIChpbnQpICRmaWxlX2lkKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJfQoJfQoJZWxzZQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwp9CgokcXVlcnkgPSAnc2VsZWN0ICogZnJvbSAnLmNtc19kYl9wcmVmaXgoKSAuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgZmlsZV9pZD0gPyc7CiRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRmaWxlX2lkKSk7Ci8vfiB2YXJfZHVtcCgkcm93KTsKaWYgKCRyb3cpCnsKCSRuYW1lID0gJHJvd1snbmFtZSddOwoJJGFsaWFzID0gJHJvd1snYWxpYXMnXTsKCSRzZXJ2ZXJfbmFtZSA9ICRyb3dbJ3NlcnZlcl9uYW1lJ107CgkkZXh0ID0gJHJvd1snZXh0J107Cgkkc2l6ZSA9ICRyb3dbJ3NpemUnXTsKCSRoYXNoID0gJHJvd1snaGFzaCddOwoJJGRlc2NyaXB0aW9uID0gJHJvd1snZGVzY3JpcHRpb24nXTsKCSRjcmVhdGVkID0gJHJvd1snY3JlYXRlZCddOwoJaWYoICFpc19udWxsKCRyb3dbJ2V4cGlyZXMnXSkgKQoJewoJCSR1c2VleHAgPSAxOwoJCSRleHBpcmUgPSBzdHJ0b3RpbWUoJHJvd1snZXhwaXJlcyddKTsKCX0KICAgIGlmKCAhaXNfbnVsbCgkcm93WydzdGFydHMnXSkgKQogICAgewogICAgICAgICR1c2VzdGFydCA9IDE7CiAgICAgICAgJHN0YXJ0ID0gc3RydG90aW1lKCRyb3dbJ3N0YXJ0cyddKTsKICAgIH0KCSR2aXNpYmxlID0gJHJvd1sndmlzaWJsZSddOwoJJHR5cGUgPSAkcm93Wyd0eXBlJ107CgkkY291bnRlciA9ICRyb3dbJ2NvdW50ZXInXTsKCSRhY2Nlc3N0eXBlID0gJHJvd1snYWNjZXNzdHlwZSddOwoJJHRlbXBsYXRlX2RldGFpbCA9ICRyb3dbJ3RlbXBsYXRlX2RldGFpbCddOwoJJHRlbXBsYXRlX2Zvcm0gPSAkcm93Wyd0ZW1wbGF0ZV9mb3JtJ107CgkkdGVtcGxhdGVfZW1haWwgPSAkcm93Wyd0ZW1wbGF0ZV9lbWFpbCddOwoJJHRodW1iX3ZhbHVlID0gJHJvd1sndGh1bWJfcGF0aCddOwoJJGZldWdyb3VwcyA9ICR0aGlzLT5HZXRGaWxlR3JvdXBzKCRmaWxlX2lkKTsKfQoKCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKJHF1ZXJ5ID0gIlNFTEVDVCAgYy5jYXRlZ29yeV9pZCwgYy5sb25nX25hbWUgLCBmYy5maWxlX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBjCkxFRlQgT1VURVIgSk9JTiAgKCAKCVNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgZmMKCVdIRVJFIGZpbGVfaWQgPSA/CgkpIGZjCk9OIGZjLmNhdGVnb3J5X2lkID0gYy5jYXRlZ29yeV9pZApPUkRFUiBCWSBjLmhpZXJhcmNoeV9wcmlvcml0eTsgIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmlsZV9pZCkpOwokcm93Y2xhc3MgPSAncm93MSc7Ci8vfiB2YXJfZHVtcCgkZGJyZXN1bHQpOwp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCSRvbmVyb3ctPm5hbWUgPSAkcm93Wydsb25nX25hbWUnXTsKCS8vfiAkcm93WydjYXRlZ29yeV9pZCddOwoJJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2RlbGV0ZWFzc29jJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpbGVfaWQnPT4kZmlsZV9pZCwnY2F0ZWdvcnlfaWQnPT4kcm93WydjYXRlZ29yeV9pZCddKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CglpZiggaXNfbnVsbCggJHJvd1snZmlsZV9pZCddICkpCgkJJG9uZXJvdy0+aW5wdXRhc3NvYyA9ICAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhc3NvY18nLiRyb3dbJ2NhdGVnb3J5X2lkJ10sICcxJywgMCwgJ2NsYXNzPSJwYWdlY2hlY2tib3giJyk7CgllbHNlCgkJJG9uZXJvdy0+aW5wdXRhc3NvYyA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2Fzc29jXycuJHJvd1snY2F0ZWdvcnlfaWQnXSwgJzEnLCAxLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKTsKCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdhc3NvY2lhdGlvbnMnLCAkZW50cnlhcnJheSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybWFzc29jJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdkb191cGRhdGVhc3NvYycsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZm9ybWFzc29jJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgoKI0Rpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRmaWxlJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMzAsIDI1NSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0YWxpYXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCAzMCwgMjU1KSk7Ci8vfiAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c2VydmVyX25hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NlcnZlcl9uYW1lJywgJHNlcnZlcl9uYW1lLCAzMCwgMzApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHNlcnZlcl9uYW1lJywgICRzZXJ2ZXJfbmFtZSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRleHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2V4dCcsICRleHQsIDMwLCA1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRjb3VudGVyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjb3VudGVyJywgJGNvdW50ZXIsIDMwLCA1KSk7Ci8vfiAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2l6ZScsICRzaXplLCAzMCwgMTApKTsKJHNpemUgPSAoICRzaXplPDEwMjQ/ICAkc2l6ZS4iIEIiOiAoICRzaXplPDEwNDg1NzYgPyAgICgoaW50KSAoJHNpemUvMTAyNCkpLiIgS0IiIDogKChpbnQpICgkc2l6ZS8xMDQ4NTc2ICkpLiIgTUIiICkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c2l6ZScsICAkc2l6ZSApOwovL34gJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGhhc2gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hhc2gnLCAkaGFzaCwgMzAsIDMyKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRoYXNoJywgJGhhc2gpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZGVzY3JpcHRpb24nLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkZGVzY3JpcHRpb24sICdkZXNjcmlwdGlvbicsICdwYWdlc21hbGx0ZXh0YXJlYScsICcnLCAnJywgJycsICcyMCcsICc1JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZXhwJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndXNlZXhwJywgJzEnLCAkdXNlZXhwLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRzdGFydCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3VzZXN0YXJ0JywgJzEnLCAkdXNlc3RhcnQsICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHZpc2libGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd2aXNpYmxlJywgJzEnLCAkdmlzaWJsZSwgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dHlwZScsICR0eXBlKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGNyZWF0ZWQnLCAkY3JlYXRlZCk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRleHBpcmVzJywgJGV4cGlyZSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXhwaXJlZGF0ZXByZWZpeCcsICRpZC4nZXhwaXJlZGF0ZV8nKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHN0YXJ0cycsICRzdGFydCk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRkYXRlcHJlZml4JywgJGlkLidzdGFydGRhdGVfJyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRhY2Nlc3N0eXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnYWNjZXNzdHlwZScsJHRoaXMtPkdldEFjY2Vzc1R5cGVDb21ibygpLC0xLCRhY2Nlc3N0eXBlKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR0aHVtYl9wYXRoJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndGh1bWJfcGF0aCcsJHRoaXMtPkdldFRodW1ibmFpbHNEcm9wZG93bigkdGh1bWJfdmFsdWUpLC0xLCR0aHVtYl92YWx1ZSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZmV1Z3JvdXBzJywgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICdmZXVncm91cHNbXScsJHRoaXMtPkdldEdyb3Vwc0NvbWJvKCksJGZldWdyb3VwcykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dGVtcGxhdGVfZm9ybScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3RlbXBsYXRlX2Zvcm0nLCR0aGlzLT5HZXRUZW1wbGF0ZXNDb21ibygiZm9ybSIpLC0xLCR0ZW1wbGF0ZV9mb3JtKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR0ZW1wbGF0ZV9kZXRhaWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0ZW1wbGF0ZV9kZXRhaWwnLCR0aGlzLT5HZXRUZW1wbGF0ZXNDb21ibygiZGV0YWlsIiksLTEsJHRlbXBsYXRlX2RldGFpbCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dGVtcGxhdGVfZW1haWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0ZW1wbGF0ZV9lbWFpbCcsJHRoaXMtPkdldFRlbXBsYXRlc0NvbWJvKCJlbWFpbCIpLC0xLCR0ZW1wbGF0ZV9lbWFpbCkpOwoKLy8gQVNTSU5HIEFMTCBMQUJFTFMKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ25hbWVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhbGlhc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2FsaWFzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2VydmVyX25hbWVsYWJlbCcsICR0aGlzLT5MYW5nKCdzZXJ2ZXJfbmFtZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2V4dGxhYmVsJywgJHRoaXMtPkxhbmcoJ2V4dGxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpemVsYWJlbCcsICR0aGlzLT5MYW5nKCdzaXplbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndHlwZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3R5cGVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoYXNobGFiZWwnLCAkdGhpcy0+TGFuZygnaGFzaGxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvdW50ZXJsYWJlbCcsICR0aGlzLT5MYW5nKCdjb3VudGVybGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb25sYWJlbCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NyZWF0ZWRsYWJlbCcsICR0aGlzLT5MYW5nKCdjcmVhdGVkbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXhwaXJlc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2V4cGlyZXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGxhYmVsJywgJHRoaXMtPkxhbmcoJ3N0YXJ0c2xhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Zpc2libGVsYWJlbCcsICR0aGlzLT5MYW5nKCd2aXNpYmxlbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlZXhwaXJhdGlvbnRleHQnLCAkdGhpcy0+TGFuZygndXNlZXhwaXJhdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VzdGFydHRleHQnLCAkdGhpcy0+TGFuZygndXNlc3RhcnQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGh1bWJfcGF0aGxhYmVsJywgJHRoaXMtPkxhbmcoJ3RodW1ibGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYXNzb2NpYXRlZGxhYmVsJywgJHRoaXMtPkxhbmcoJ2Fzc29jaWF0ZWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWNjZXNzdHlwZWxhYmVsJywgJHRoaXMtPkxhbmcoJ2FjY2Vzc3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZGV0YWlsbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3JkZXRhaWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZm9ybWxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZm9ybScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9lbWFpbGxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZW1haWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZmV1Z3JvdXBzbGFiZWwnLCAkdGhpcy0+TGFuZygnZmV1Z3JvdXBzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0cmF0YWInLCAkdGhpcy0+RW5kVGFiKCkuJHRoaXMtPlN0YXJ0VGFiKCdleHRyYScsICRwYXJhbXMpICk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmaWxlX2lkJywgJGZpbGVfaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCiR0YWIgPSAnJzsKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoIm92ZXJhbGwiLCR0aGlzLT5MYW5nKCJvdmVyYWxsdGFiaGVhZGVyIiksKCR0YWI9PSJvdmVyYWxsIikpIDsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiYXNzb2NhdGlvbnMiLCR0aGlzLT5MYW5nKCJhc3NvY2F0aW9uc3RhYmhlYWRlciIpLCgkdGFiPT0iYXNzb2NhdGlvbnMiKSk7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoImV4dHJhIixsYW5nKCJhZHZhbmNlZCIpLCgkdGFiPT0iZXh0cmEiKSkgOwplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdvdmVyYWxsJywgJHBhcmFtcykgOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0ZmlsZS50cGwnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpIDsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhc3NvY2F0aW9ucycsICRwYXJhbXMpIDsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGZpbGVfYXNzb2MudHBsJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKSA7CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCgo/PgoK]]></data>
	</file>
	<file>
	  <filename>/action.edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KCiRwcmVmaXggPSBpc3NldCgkcGFyYW1zWydwcmVmaXgnXSk/JHBhcmFtc1sncHJlZml4J106Jyc7CiR0ZW1wbGF0ZV9uYW1lID0gJyc7CgppZiAoIGlzc2V0KCRwYXJhbXNbJ2NvbnRlbnQnXSkgKQp7CgkvLyB0aGUgdGVtcGxhdGUgaGFzIGJlZW4gc3VibWl0dGVkCgkkZXJyb3JzID0gMDsKCglpZigkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10gPT0gJycpCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CgkJJGVycm9ycysrOwoJfQoKCWlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IERvd25sb2FkIE1hbmFnZXIgVGVtcGxhdGUnKSApCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IERvd25sb2FkIE1hbmFnZXIgVGVtcGxhdGUnKSkpOwoJCSRlcnJvcnMrKzsKCX0KCgkkY29udGVudCA9ICRwYXJhbXNbJ2NvbnRlbnQnXTsKCSR0ZW1wbGF0ZV9uYW1lID0gJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddOwoJCglpZiggJGVycm9ycyA9PSAwICYmIGlzc2V0KCRwYXJhbXNbJ25ldyddKSAmJiAkcGFyYW1zWyduZXcnXSApCgl7CgkJLy8gbmV3IHRlbXBsYXRlCgkJJG1lc3NhZ2UgPSAndGVtcGxhdGVhZGRlZCc7CgkJJHRlbXBsYXRlX25hbWUgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCR0ZW1wbGF0ZV9uYW1lKTsKCQkvLyBjaGVjayBpZiB0aGUgbmFtZSBhbHJlYWR5IGV4aXN0czoKCQkkYWxsdGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJHRoaXMtPkdldE5hbWUoKSk7CgkJaWYoaW5fYXJyYXkoJHByZWZpeC4kdGVtcGxhdGVfbmFtZSwgJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJHRoaXMtPkdldE5hbWUoKSkpKQoJCXsKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWxyZWFkeWV4aXN0JykpOwoJCQkkZXJyb3JzKys7CgkJfQoJCWVsc2UKCQl7CgkJCUAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJUZW1wbGF0ZUFkZGVkJywgYXJyYXkoJ3RlbXBsYXRlX25hbWUnID0+ICR0ZW1wbGF0ZV9uYW1lLCAnY29udGVudCcgPT4gJGNvbnRlbnQsICdwcmVmaXgnID0+ICRwcmVmaXgpKTsKCQl9Cgl9CgllbHNlCgl7CgkJLy8gZXhpc2l0aW5nIHRlbXBsYXRlCgkJJG1lc3NhZ2UgPSAndGVtcGxhdGV1cGRhdGVkJzsKCQkvLyBmb3JjZSBhIGNhY2hlIGNsZWFyPwoJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcHJlZml4LiR0ZW1wbGF0ZV9uYW1lLCAkdGhpcy0+R2V0TmFtZSgpKTsKCQlAJHRoaXMtPlNlbmRFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVFZGl0ZWQnLCBhcnJheSgndGVtcGxhdGVfbmFtZScgPT4gJHRlbXBsYXRlX25hbWUsICdjb250ZW50JyA9PiAkY29udGVudCwgJ3ByZWZpeCcgPT4gJHByZWZpeCkpOwoJfQoJCQoJaWYoJGVycm9ycyA9PSAwKQoJewoJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcHJlZml4LiR0ZW1wbGF0ZV9uYW1lLCAkY29udGVudCwgJHRoaXMtPkdldE5hbWUoKSk7CgkJJG5ldyA9IGZhbHNlOwoKCQlpZihpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCgkJewoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgndGFiX21lc3NhZ2UnPT4gJG1lc3NhZ2UsICdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJykpOwoJCX0KCQllbHNlCgkJewoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygkbWVzc2FnZSkpOwoJCX0KCX0KfQplbHNlaWYgKCBpc3NldCgkcGFyYW1zWydmcm9tJ10pICYmICR0bXAgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHByZWZpeC4kcGFyYW1zWydmcm9tJ10sICR0aGlzLT5HZXROYW1lKCkpICkKewoJLy8gd2UgYXJlIGR1cGxpY2F0aW5nIGFuIGV4aXN0aW5nIHRlbXBsYXRlCgkkY29udGVudCA9ICR0bXA7CgkkbmV3ID0gdHJ1ZTsKfQplbHNlaWYgKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10pICYmICR0bXAgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHByZWZpeC4kcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10sICR0aGlzLT5HZXROYW1lKCkpICkKewoJLy8gd2UgYXJlIGVkaXRpbmcgYW4gZXhpc3RpbmcgdGVtcGxhdGUKCSRjb250ZW50ID0gJHRtcDsKCSR0ZW1wbGF0ZV9uYW1lID0gJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddOwoJJG5ldyA9IGZhbHNlOwp9CmVsc2UKewoJLy8gd2UgYXJlIGNyZWF0aW5nIGEgbmV3IHRlbXBsYXRlCgkvLyB3ZSBnZXQgYSBkZWZhdWx0IGNvbnRlbnQgZm9yIHRoZSBuZXcgdGVtcGxhdGUKCSRjb250ZW50ID0gJHRoaXMtPkdldFRlbXBsYXRlRnJvbUZpbGUoJHByZWZpeC4nZGVmYXVsdCcpOwoJLy8gZGVmYXVsdCB0ZW1wbGF0ZXMsIGlmIGFueSwgc2hvdWxkIGJlIG5hbWVkICJwcmVmaXhfZGVmYXVsdC50cGwiCgkkbmV3ID0gdHJ1ZTsKfQoKLy8gZm9ybSBkaXNwbGF5CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRjb250ZW50JywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRjb250ZW50LCAnY29udGVudCcsICcnLCAnJywgJycsICcnLCAnMjAnLCAnNScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRlbXBsYXRlX25hbWUnLCAkbmV3PyR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGVtcGxhdGVfbmFtZScsICR0ZW1wbGF0ZV9uYW1lLCAzMCwgNjQpOiR0ZW1wbGF0ZV9uYW1lLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0ZW1wbGF0ZV9uYW1lJywgJHRlbXBsYXRlX25hbWUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoZWxwX3RlbXBsYXRlX3ZhcmlhYmxlcycsICR0aGlzLT5MYW5nKCRwcmVmaXguJ3RlbXBsYXRlaGVscCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoZWxwX3RlbXBsYXRlX2dlbmVyYWwnLCAkdGhpcy0+TGFuZygnZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY29udGVudGxhYmVsJywgJHRoaXMtPkxhbmcoJ2NvbnRlbnRsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9uYW1lbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVfbmFtZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICduZXcnLCAkbmV3KS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAncHJlZml4JywgJHByZWZpeCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FwcGx5JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0dGVtcGxhdGUudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.reorder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CmVsc2UgaWYgKCAhaXNzZXQoJHBhcmFtc1sncHJpb3JpdHknXSkgJiYgIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKQp7CgoJI1B1dCB0b2dldGhlciBhIGxpc3Qgb2YgY3VycmVudCBjYXRlZ29yaWVzLi4uCgkkZW50cnlhcnJheSA9IGFycmF5KCk7CgkKCSRxdWVyeSA9ICJTRUxFQ1QgZmMuZmlsZV9pZCwgZi5uYW1lLCBmYy5pdGVtX29yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgZmMgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIGYgT04gZmMuZmlsZV9pZCA9IGYuZmlsZV9pZCAgV0hFUkUgZmMuY2F0ZWdvcnlfaWQgPSA/IE9SREVSIEJZIGZjLml0ZW1fb3JkZXIsIGZjLmZpbGVfaWQ7ICI7Ci8vfiBlY2hvICRxdWVyeTsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pICk7CgkvL34gJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkKCSRyb3djbGFzcyA9ICdyb3cxJzsKCS8vfiB2YXJfZHVtcCgkZGJyZXN1bHQpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCQoJCSRkZXB0aCA9IGNvdW50KGV4cGxvZGUoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCQoJCSRvbmVyb3ctPmlkID0gJHJvd1snZmlsZV9pZCddOwoJCSRvbmVyb3ctPm5hbWUgPSBzdHJfcmVwZWF0KCcmbmJzcDsmZ3Q7Jm5ic3A7JywgJGRlcHRoLTEpLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWxlJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCdmaWxlX2lkJyA9PiRyb3dbJ2ZpbGVfaWQnXSkpOwoJCSRvbmVyb3ctPnByaW9yaXR5ID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwcmlvcml0eVsnLiRyb3dbJ2ZpbGVfaWQnXS4nXScsIChzdHJpbmcpKGludCkkcm93WydpdGVtX29yZGVyJ10gLCAzLCAzKTsKCQkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCQkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCQoJCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwoJfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ3Jlb3JkZXInLCAkcmV0dXJuaWQsICdwb3N0JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3ByaW9yaXR5dGV4dCcsICR0aGlzLT5sYW5nKCdyZW9yZGVyX3ByaW9yaXR5JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtdGV4dCcsIGxhbmcoImZpbGVzIikpOwoJI1NldHVwIGxpbmtzCgkKCSNEaXNwbGF5IHRlbXBsYXRlCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Jlb3JkZXJpdGVtLnRwbCcpOwp9CmVsc2UgaWYgKCBpc3NldCgkcGFyYW1zWydwcmlvcml0eSddKSAmJiAgaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpCnsKCWZvcmVhY2goICRwYXJhbXNbJ3ByaW9yaXR5J10gYXMgJGtleSA9PiAkdmFyICkKCXsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5ICBTRVQgaXRlbV9vcmRlcj0gPyBXSEVSRSBmaWxlX2lkID0gPyBBTkQgY2F0ZWdvcnlfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgoKGludCkkdmFyKSUxMDAsKGludCkka2V5LChpbnQpJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpOwoJfQoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.reordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQplbHNlIGlmICggIWlzc2V0KCRwYXJhbXNbJ3ByaW9yaXR5J10pICkKewoKCSNQdXQgdG9nZXRoZXIgYSBsaXN0IG9mIGN1cnJlbnQgY2F0ZWdvcmllcy4uLgoJJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoJCgkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeV9wcmlvcml0eSI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJCgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCgkJJGRlcHRoID0gY291bnQoc3BsaXQoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCQoJCSRvbmVyb3ctPmlkID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCQkkb25lcm93LT5uYW1lID0gc3RyX3JlcGVhdCgnJm5ic3A7Jmd0OyZuYnNwOycsICRkZXB0aC0xKS4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3ByaW9yaXR5WycuJHJvd1snY2F0ZWdvcnlfaWQnXS4nXScsIChzdHJpbmcpKChpbnQpJHJvd1sncHJpb3JpdHknXSAtIDEwMCkgLCAzLCAzKS4gJyAnLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+JHJvd1snY2F0ZWdvcnlfaWQnXSkpOwoJCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJCgkJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAncmVvcmRlcmNhdGVnb3J5JywgJHJldHVybmlkLCAncG9zdCcpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJpb3JpdHl0ZXh0JywgJHRoaXMtPmxhbmcoJ3Jlb3JkZXJfcHJpb3JpdHknKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCJjYXRlZ29yaWVzdGFiaGVhZGVyIikpOwoJI1NldHVwIGxpbmtzCgkKCSNEaXNwbGF5IHRlbXBsYXRlCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Jlb3JkZXJjYXRlZ29yeS50cGwnKTsKfQplbHNlCnsKCWZvcmVhY2goICRwYXJhbXNbJ3ByaW9yaXR5J10gYXMgJGtleSA9PiAkdmFyICkKCXsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgIFNFVCBwcmlvcml0eSA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgoKGludCkkdmFyKSUxMDArMTAwLChpbnQpJGtleSkpOwoJfQoJJHRoaXMtPlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpOwoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.save_admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KaWYoaXNzZXQgKCRwYXJhbXNbJ2Rvd25sb2FkX2RpciddKSkKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXInLCAkcGFyYW1zWydkb3dubG9hZF9kaXInXSk7CiRwYXJhbXNbJ3NlYXJjaF9leHBpcmVzJ10gPSBpc3NldCgkcGFyYW1zWydzZWFyY2hfZXhwaXJlcyddKSAmJiAkcGFyYW1zWydkb3dubG9hZF9zY2FuX3JlY3VycyddID09IHRydWU7CmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXhwaXJlZF9zZWFyY2hhYmxlJywgdHJ1ZSkgIT0gJHBhcmFtc1snc2VhcmNoX2V4cGlyZXMnXSkKewoJJHRoaXMtPlNlYXJjaFJlaW5kZXgoKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdleHBpcmVkX3NlYXJjaGFibGUnLCAkcGFyYW1zWydzZWFyY2hfZXhwaXJlcyddKTsKfQppZihpc3NldCAoJHBhcmFtc1snZG93bmxvYWRfc2NhbiddKSkKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzY2FuJywgJHBhcmFtc1snZG93bmxvYWRfc2NhbiddKTsKCmlmKGlzc2V0KCRwYXJhbXNbJ2Rpcl90aHVtYnMnXSkgKQp7CglnbG9iYWwgJGNvbmZpZzsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkaXJfdGh1bWJzIiwgCgkJc3RyX3JlcGxhY2UoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUiwnJywgcmVhbHBhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4kcGFyYW1zWydkaXJfdGh1bWJzJ10gKSApLkRJUkVDVE9SWV9TRVBBUkFUT1IgLy8iaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8iCgkpOwp9CiRwYXJhbXNbJ3RodW1ic19hdXRvJ10gPSBpc3NldCAoJHBhcmFtc1sndGh1bWJzX2F1dG8nXSkgJiYgJHBhcmFtc1sndGh1bWJzX2F1dG8nXSA9PSB0cnVlOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgidGh1bWJzX2F1dG8iLCAkcGFyYW1zWyd0aHVtYnNfYXV0byddICk7CgppZihpc3NldCgkcGFyYW1zWyd0aHVtYnNfc2l6ZSddKSAmJiAoaW50KSRwYXJhbXNbJ3RodW1ic19zaXplJ10gID4gNSApIAoJJHRoaXMtPlNldFByZWZlcmVuY2UoInRodW1ic19zaXplIiwgKGludCkkcGFyYW1zWyd0aHVtYnNfc2l6ZSddICk7CgokcGFyYW1zWydkb3dubG9hZF9zY2FuX3JlY3VycyddID0gaXNzZXQgKCRwYXJhbXNbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10pICYmICRwYXJhbXNbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10gPT0gdHJ1ZTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NjYW5fcmVjdXJzJywgJHBhcmFtc1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSk7CgppZihpc3NldCAoJHBhcmFtc1snZG93bmxvYWRfdGVtcGxhdGUnXSkpCgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfZG93bmxvYWRfdGVtcGxhdGUnLCRwYXJhbXNbJ2Rvd25sb2FkX3RlbXBsYXRlJ10pOwoKCiR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdGFkbWluJywgJGlkLCBhcnJheSggJ3RhYl9tZXNzYWdlJz0+J3ByZWZzdXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAicHJlZmVyZW5jZXMiKSk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.scanfornewfiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KCgoKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokcXVlcnkgPSAnc2VsZWN0IHNlcnZlcl9uYW1lIGZyb20gJy5jbXNfZGJfcHJlZml4KCkgLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzJzsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRyb3djbGFzcyA9ICdyb3cxJzsKCiRwYXRocyA9IGFycmF5KCk7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAkcGF0aHNbXSA9IHJlYWxwYXRoKCRyb3dbJ3NlcnZlcl9uYW1lJ10pOwoKJHJlY3VycyAgPSAoYm9vbCkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NjYW5fcmVjdXJzJykgOwoKJHNjYW5fYXJyYXkgPSBhcnJheSgpOwokZG93bmxvYWRfc2NhbiA9IGV4cGxvZGUoIjsiLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzY2FuJykpOwoKaWYoY291bnQoJGRvd25sb2FkX3NjYW4pPjApCiAgZm9yZWFjaCggJGRvd25sb2FkX3NjYW4gYXMgJGYgKQoJJHNjYW5fYXJyYXkgPSBhcnJheV9tZXJnZSggJHNjYW5fYXJyYXkgLCR0aGlzLT5nZXREaXJlY3RvcnlUcmVlKCAkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmLCAkcmVjdXJzICkpIDsKCiRkaWZmID0gYXJyYXlfZGlmZigkc2Nhbl9hcnJheSwkcGF0aHMpOwpmb3JlYWNoKCAkZGlmZiBhcyAkayA9PiAkdikKICAkZGlmZlska10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRmaWxlJywgJHJldHVybmlkLCAkdiwgYXJyYXkoJ2ZpbGVfcGF0aCc9PiBiYXNlNjRfZW5jb2RlKAoJc3Vic3RyKCR2LDAsc3RybGVuKCRjb25maWdbJ3Jvb3RfcGF0aCddKSk9PSRjb25maWdbJ3Jvb3RfcGF0aCddP3N1YnN0cigkdixzdHJsZW4oJGNvbmZpZ1sncm9vdF9wYXRoJ10pKzEpOiR2CgkpKSk7CgppZiggY291bnQoJGRpZmYpID09IDAgKSAKewogICRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ3NjYW5ub25ldycsICdhY3RpdmVfdGFiJyA9PiAnZmlsZXMnKTsKICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtaWQnLCAkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX25ld2ZpbGVzJywgJHRoaXMtPkxhbmcoJ3NjYW5yZXN1bHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2NhbicpLCBjb3VudCgkZGlmZikpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZGRmaWxlJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCAsICcmbGFxdW87ICcuJHRoaXMtPmxhbmcoJ2JhY2snKSApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignZGlmZicsICRkaWZmKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdzY2FuZmlsZS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.selector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Ci8vdmFyX2R1bXAoJHBhcmFtcyk7CgovKgogKiBQQVJTSU5HIHNlbGVjdG9yCiAqCiAqIEhlcmUgY29tZSBldmVyeXRoaW5nIHdoYXQgaGFzIHRvIGRvIHdpdGggc2VsZWN0b3IsCiAqIGlmIHNlbGVjdG9yIHBhcmFtZXRlciBpcyBzZXQgdGhlIG90aGVyIHBhcmFtZXRlcnMKICogYXJlIG9tbml0ZWQKKi8KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3NlbGVjdG9yJ10gKSApCgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+bGFuZygnbm9jYXRlZ29yeXNlbCcpKTsKCiRzaG93aGVhZGVycyA9IGZhbHNlOwovLyBwYXJzaW5nIHRoZSBjYXRlZ29yeSBzZWxlY3RvcgokY2F0ZWdvcnlpZCAgPSBodG1sX2VudGl0eV9kZWNvZGUoICRwYXJhbXNbJ3NlbGVjdG9yJ10gKTsKJHBhdHRlcm4gPSAnLyhbXjAtOSgpfCZdKSsvaSc7CiRjYXRlZ29yeWNsZWFuID0gJGNhdGVnb3J5aWQgID0gcHJlZ19yZXBsYWNlKCRwYXR0ZXJuLCAnJywgJGNhdGVnb3J5aWQpOyAvLyBjbGVhbmluZwovLwl2YXJfZHVtcCgkY2F0ZWdvcnlpZCk7CgokYXJyID0gYXJyYXkoKTsgLy8gYXJyYXkgZm9yIHN0b3JpbmcgcGFpcnMKCiR0aGlzLT5NYXRjaFBhaXIoICRjYXRlZ29yeWlkICwgJGFycik7IC8vIHJlY3Vyc2l2ZSBjYXRlZ29yeSBzZWxlY3RvciBwYXJzaW5nCgokY2F0ZWdvcnlpZCA9IHN0cl9yZXBsYWNlKCBhcnJheSgiKCIsIikiKSwgJycgLCAkY2F0ZWdvcnlpZCk7CmlmICggcHJlZ19tYXRjaCgnL15bJF0/XGQrJC9pJywgJGNhdGVnb3J5aWQpID09IDAgKQp7CgkkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPmxhbmcoJ3dyb25nY2F0ZWdvcnlzZWwnLCAkY2F0ZWdvcnljbGVhbikgKTsKCXJldHVybjsKfQoKLy8gbm90IHdlIGFyZSBzdXJlIHRoYXQgY2F0ZWdvcnkgc2VsZWN0b3IgaXMgb2sKLy8gd2UgY2FuIGNoYW5nZSBpdCB0byBzcWwKCiRzcWxfcHJlZml4ID0gJ1NFTEVDVCBmaWxlX2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgJy4kdGhpcy0+R2V0RmlsZVN0ZFdoZXJlKCkuJyBBTkQgJzsKJHNxbCA9ICcnOwoKZm9yZWFjaCggJGFyciBhcyAkayA9PiAkdiApCnsKCSR0bXAgPSBhcnJheSgpOwoJaWYoIGlzX251bGwoJHYpICkKCQljb250aW51ZTsKCgkkdiA9IGFycmF5X3VuaXF1ZSgkdik7IC8vIG5vIG5lZWQgZm9yIGRvdWJsZXMKCgkkb3AgPSAkdlswXTsgLy8gZ2V0IG9wZXJhdG9yCgl1bnNldCgkdlswXSk7ICAvLyBjbGVhbiBvcGVyYXRvcgoKCWZvcmVhY2goJHYgYXMgJHR2KQoJewoJCWlmKCR0dnswfSA9PSAnJCcpIC8vIHdlIGdldCBhIHJlZmVyYWwKCQl7CgkJCSR6ID0gKGludCkgc3Vic3RyKCR0diwgMSk7CgkJCSR0bXBbXSA9ICRhcnJbJHpdOwoJCX0KCQllbHNlCgkJCSR0bXBbXSA9ICdoaWVyYXJjaHkgTElLRSBcJyUnLnN0cl9wYWQoJHR2LCA1LCAnMCcsIFNUUl9QQURfTEVGVCkuJyVcJyc7Cgl9CgoJaWYoICRvcCA9PSAnfCcgKQoJCSRvcCA9ICIgT1IgIjsKCWVsc2UKCQkkb3AgPSAiIEFORCAiOwoKCSRzcWwgPSAkYXJyWyRrXSA9ICIoIi5pbXBsb2RlKCRvcCwgJHRtcCkuIikiOwoKfQoKJHNxbCA9ICRzcWxfcHJlZml4LiAkc3FsOwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcwoJCVdIRVJFIGZpbGVfaWQgSU4gKCcuJHNxbC4iKQoJCU9SREVSIEJZIG5hbWUiOwokZmlsZXNfY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRGaWxlQ2F0ZWdvcmllcygnZmlsZV9pZCBJTiAoJy4kc3FsLicpJyk7CgokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCi8vIGFsc28gdXNlZCBieSBhY3Rpb24gZGVmYXVsdAppbmNsdWRlKCdmdW5jdGlvbi5hc3NpbmdmaWxlcy5waHAnKTsKCiR0ZW1wbGF0ZW5hbWUgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZSddICkgKQkkdGVtcGxhdGVuYW1lID0gJHBhcmFtc1sndGVtcGxhdGUnXTsKLy8gVEVNUE9SQVJZIDogSSBBU1NVTUUgVEhFIERFRkFVTFQgQUNUSU9OIFdJTEwgQkUgVEhFIExJU1QgQUNUSU9OCmlmKCAkdGVtcGxhdGVuYW1lICE9ICcnICYmICR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgnbGlzdF8nLiR0ZW1wbGF0ZW5hbWUpICkKewoJLy8gdGhlIHRlbXBsYXRlIGV4aXN0cywgd2UncmUgZ29pbmcgdG8gdXNlIGl0Cn0KZWxzZQp7CgkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2xpc3RfdGVtcGxhdGUnLCAnJyk7CgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSk7Cn0KCiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.sendemail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKaWYoISRjbXNtYWlsZXIpCQlkaWUoJHRoaXMtPmxhbmcoJ2Vycm9yJykpOwkvLyBkdWUgdG8gcHJpb3IgY2hlY2tpbmcsIHRoaXMgc2hvdWxkbid0IGJlIGhhcHBlbmluZwoKJGRiID0mICR0aGlzLT5HZXREYigpOwoKJGZpbGUgPSBmYWxzZTsKaWYoaXNzZXQoJHBhcmFtc1snZmlsZV9pZCddKSkKewoJJGZpbGVfaWQgPSAoaW50KSAkcGFyYW1zWydmaWxlX2lkJ107CgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRSBmaWxlX2lkID0gPyAnOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmlsZV9pZCkpOwoJJHNob3doZWFkZXJzID0gZmFsc2U7CglpbmNsdWRlKCdmdW5jdGlvbi5hc3NpbmdmaWxlcy5waHAnKTsKCSRmaWxlID0gJG9uZXJvdzsKfQoKLy8gY2xlYW5pbmcgcHJlZml4ZXMKJHByeCA9ICdzbV8nOwpmb3JlYWNoKCRwYXJhbXMgYXMgJGsgPT4gJHYpCglpZiggc3RyaXBvcygkaywgJHByeCkgPT09IDAgKQoJewoJCXVuc2V0KCRwYXJhbXNbJGtdKTsKCQkkcGFyYW1zW3N1YnN0cigkayxzdHJsZW4oJHByeCkpXSA9ICR2OwoJfQppZighJGZpbGUpCnsKCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ25vZmlsZScpKTsKfQplbHNlCnsKCWlmKCFwcmVnX21hdGNoKCIvXihbXHd8XC58XC18X10rKUAoW1x3fHxcLXxfXSspXC4oW1x3fFwufFwtfF9dKykkL2kiLCAkcGFyYW1zWydlbWFpbCddKSkKCXsKCQkvLyB0aGUgYmFzaWMgY2hlY2tpbmcgd2FzIGRvbmUgdGhyb3VnaCBqcwoJCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ2ludmFsaWRlbWFpbCcpKTsKCX0KCWVsc2UKCXsKCQkvLyBjaGVjayBpZiB0aGUgdXNlciBleGlzdHMKCQkkcXVlcnkgPSAiU0VMRUNUIHVzZXJfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl91c2VycyBXSEVSRSBlbWFpbD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ2VtYWlsJ10pKTsKCQlpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkkdXNlcmlkID0gJHJvd1sndXNlcl9pZCddOwoJCX0KCQllbHNlCgkJewoJCQkvLyBpZiBub3QsIGFkZCBoaW0KCQkJJHVzZXJpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3VzZXJzX3NlcSIpOwoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfdXNlcnMgKHVzZXJfaWQsZmlyc3RuYW1lLGxhc3RuYW1lLGVtYWlsLG1haWxpbmdsaXN0KSBWQUxVRVMgKD8sPyw/LD8sPykiOwoJCQkkdmFsdWVzID0gYXJyYXkoJHVzZXJpZCwgc3RyX3JlcGxhY2UoJywnLCcnLCRwYXJhbXNbJ2ZpcnN0bmFtZSddKSwgc3RyX3JlcGxhY2UoJywnLCcnLCRwYXJhbXNbJ2xhc3RuYW1lJ10pLCAkcGFyYW1zWydlbWFpbCddLCBpc3NldCgkcGFyYW1zWydtYWlsaW5nbGlzdCddKT8kcGFyYW1zWydtYWlsaW5nbGlzdCddOjApOwoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkdmFsdWVzKTsKCQkJCgkJfQoJCQoJCS8vIGNyZWF0ZSB0aGUgZG93bmxvYWQKCQkkaGFzaGtleSA9ICRmaWxlX2lkLiR1c2VyaWQubWQ1KHVuaXFpZChyYW5kKCksMSkpLmRhdGUoJ1ltZCcpOwoJCSRkb3dubG9hZF9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2Fkc19zZXEiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZG93bmxvYWRzICggZG93bmxvYWRfaWQsIHVzZXJfaWQsIHVzZXJfdHlwZSwgZmlsZV9pZCwgaGFzaGtleSwgZG93bmxvYWRlZCkKCQkJVkFMVUVTKD8sPywyLD8sPywwKTsiOwoJCSR2YWx1ZXMgPSBhcnJheSgkZG93bmxvYWRfaWQsJHVzZXJpZCwkZmlsZV9pZCwkaGFzaGtleSk7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHZhbHVlcyk7CgoJCS8vIHJldHJpZXZlIHRoZSBlbWFpbCB0ZW1wbGF0ZQoJCWlmKCAkZmlsZS0+dGVtcGxhdGVfZW1haWwgIT0gJycgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRmaWxlLT50ZW1wbGF0ZV9lbWFpbCkgKQoJCXsKCQkJLy8gdGhlIHRlbXBsYXRlIGV4aXN0cywgd2UncmUgZ29pbmcgdG8gdXNlIGl0CgkJfQoJCWVsc2UKCQl7CgkJCS8vIG5vIHRlbXBsYXRlIHNwZWNpZmllZCwgb3IgdGVtcGxhdGUgZG9lc24ndCBleGlzdC4uLiB3ZSBnZXQgdGhlIGRlZmF1bHQgb25lCgkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9lbWFpbF90ZW1wbGF0ZScsICcnKTsKCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUpOwoJCX0KCgkJJGhyZWYgPSAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLiIvbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvZG93bmxvYWQucGhwP2hhc2hrZXk9Ii4kaGFzaGtleTsKCQkkdXJsID0gJzxhIGhyZWY9IicuJGhyZWYuJyIgPiAnLiRmaWxlLT5uYW1lLic8L2E+JzsKCgoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbScsJGZpbGUpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZmlyc3RuYW1lJywkcGFyYW1zWydmaXJzdG5hbWUnXSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYXN0bmFtZScsJHBhcmFtc1snbGFzdG5hbWUnXSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkdXJsJywkdXJsKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RocmVmJywkaHJlZik7CgkJJGVtYWlsYm9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwoJCQoJCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHBhcmFtc1snZW1haWwnXSwkcGFyYW1zWydmaXJzdG5hbWUnXS4iICIuJHBhcmFtc1snbGFzdG5hbWUnXSk7CgkJJGNtc21haWxlci0+U2V0Qm9keSgkZW1haWxib2R5KTsKCQkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CgkJJGNtc21haWxlci0+U2V0U3ViamVjdCgkdGhpcy0+TGFuZygnZG93bmxvYWQnKS4nOiAnLiRmaWxlLT5uYW1lKTsKCgkJaWYoJGNtc21haWxlci0+U2VuZCgpKQoJCXsKCQkJLy8gdGhpcyBzaG91bGRuYHQgYmUgZG9uZSB0aGlzIHdheQoJCQllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCdlbWFpbHNlbnQnKS4nPC9wPic7CgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPkxhbmcoJ2NvdWxkbm90c2VuZCcpKTsKCQl9Cgl9Cn0KCj8+Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.toggledefaulttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKJHRlbXBsYXRlX25hbWUgPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10pPyRwYXJhbXNbJ3RlbXBsYXRlX25hbWUnXTonJzsKJHByZWZpeCA9IGlzc2V0KCRwYXJhbXNbJ3ByZWZpeCddKT8kcGFyYW1zWydwcmVmaXgnXTonJzsKCmlmKCAkdGVtcGxhdGVfbmFtZSAhPSAnJyAmJiAkcHJlZml4ICE9ICcnICkKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfJy4kcHJlZml4Lid0ZW1wbGF0ZScsICRwcmVmaXguJHRlbXBsYXRlX25hbWUpOwp9CgkKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKSk7CQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/download.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vLi4vaW5jbHVkZS5waHAiKTsKZ2xvYmFsICRnQ21zOwokZGIgPSYgJGdDbXMtPkdldERiKCk7CiRkbSA9JiAkZ0Ntcy0+bW9kdWxlc1snRG93bmxvYWRNYW5hZ2VyJ11bJ29iamVjdCddOwokZmlsZSA9IG5ldyBTdGRDbGFzcygpOwokaGFzcGVybSA9IGZhbHNlOwokZmlsZV9wYXRoICA9ICcnOwokZmlsZV9uYW1lID0gJyc7CiRmaWxlX2lkID0gJyc7Ci8vIG1ha2UgY2hlY2tpbmcgd2hlbiBkb3dubG9hZGluZyBieSBhbGlhcwppZiggaXNzZXQoJF9HRVRbJ2FsaWFzJ10pICkKewoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgYWxpYXMgPSA/IEFORCAnLiRkbS0+R2V0RmlsZVN0ZFdoZXJlKCk7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRfR0VUWydhbGlhcyddKSk7CglpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSkKCQkJJGZpbGUtPiRrZXkgPSAkdmFsdWU7CgkJJGZpbGVfcGF0aCA9ICAkcm93WydzZXJ2ZXJfbmFtZSddOwoJCSRmaWxlX25hbWUgPSAgJHJvd1snbmFtZSddLigkcm93WydleHQnXSE9Jyc/Jy4nLiAkcm93WydleHQnXTonJyk7CgkJJGZpbGVfaWQgPSAkcm93WydmaWxlX2lkJ107Cgl9CgllbHNlCgl7CgkJJGRtLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJGRtLT5sYW5nKCdub2FsaWFzJykpOwoJfQoKCS8vIGxldHMgc2VlIGlmIHdlIGFjY2Vzc2VkIGJ5IEZFVQoJaWYoICRmaWxlLT5hY2Nlc3N0eXBlID49IDEgKQoJewoJCS8vIHdlIGRpZCBpbmRlZWQKCQkkaGFzcGVybSA9ICRkbS0+Q2hlY2tGRVVQZXJtKCRyb3dbJ2ZpbGVfaWQnXSk7Cgl9CgllbHNlIGlmKCAkZmlsZS0+YWNjZXNzdHlwZSA9PSAwICkKCQkvLyBmcmVlIGRvd25sb2FkcyBmb3IgYWxsCgkJJGhhc3Blcm0gPSB0cnVlOwoKfQovLyBtYWtpbmcgY2hlY2tpbmcgd2hlbiBkb3dubG9hZGluZyBieSBlbWFpbAplbHNlIGlmKCBpc3NldCgkX0dFVFsnaGFzaGtleSddKSkKewoJJGhhc3Blcm0gPSB0cnVlOwoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgZgoJCVJJR0hUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZG93bmxvYWRzIGMgVVNJTkcgKGZpbGVfaWQpCgkJV0hFUkUgaGFzaGtleSA9ID8gQU5EICcuJGRtLT5HZXRGaWxlU3RkV2hlcmUoJ2YnKTsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRfR0VUWydoYXNoa2V5J10pKTsKCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQoJCQkkZmlsZS0+JGtleSA9ICR2YWx1ZTsKCgkJJGZpbGVfcGF0aCA9ICAkcm93WydzZXJ2ZXJfbmFtZSddOwoJCSRmaWxlX25hbWUgPSAgJHJvd1snbmFtZSddLigkcm93WydleHQnXSE9Jyc/Jy4nLiAkcm93WydleHQnXTonJyk7CgkJJGZpbGVfaWQgPSAgJHJvd1snZmlsZV9pZCddOwoKCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9kb3dubG9hZHMKCQkJU0VUIGRvd25sb2FkZWQgPSBub3coKSBXSEVSRSBoYXNoa2V5ID0gPycsIGFycmF5KCRfR0VUWydoYXNoa2V5J10pICk7Cgl9CgllbHNlCgkJJGRtLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJGRtLT5sYW5nKCdub2hhc2gnKSwnJyk7Cn0KZWxzZQoJJGRtLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJGRtLT5sYW5nKCd3cm9uZ3BhcmFtcycpKTsKCmlmKCEkaGFzcGVybSkKewoJaGVhZGVyKCJIVFRQLzEuMCA0MDMgRm9yYmlkZGVuIik7CglleGl0Owp9CgppZiggJGZpbGVfcGF0aCA9PSAnJyB8fCAkZmlsZV9uYW1lID09ICcnICkKCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnd3JvbmdkYXRhJykpOwoKaWYoc3RycG9zKCRmaWxlX3BhdGggLCAnaHR0cDovLycpID09PSAwIHx8IAoJc3RycG9zKCRmaWxlX3BhdGggLCAnaHR0cHM6Ly8nKSA9PT0gMCApCnsKICBoZWFkZXIoJ0xvY2F0aW9uOiAnLiRmaWxlX3BhdGgpOwogIGV4aXQ7Cn0KZWxzZSBpZiggIWZpbGVfZXhpc3RzKCRmaWxlX3BhdGggKSkKCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnZmlsZW5vdGZvdW5kJywkZmlsZV9uYW1lKSk7CgokZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcwoJCQlTRVQgY291bnRlciA9IGNvdW50ZXIrMSBXSEVSRSBmaWxlX2lkID0gPycsIGFycmF5KCRmaWxlX2lkKSApOwovLyBhbGwgY2hlY2tlZCAtPiBkb3dubG9hZGluZwppbmNsdWRlX29uY2UoImxpYi92bmNfaHR0cGRvd25sb2FkL2NsYXNzLmh0dHBkb3dubG9hZC5waHAiKTsKJG9iamVjdCA9IG5ldyBodHRwZG93bmxvYWQ7CiRvYmplY3QtPnNldF9ieWZpbGUoJGZpbGVfcGF0aCk7CiRvYmplY3QtPmZpbGVuYW1lID0gJGZpbGVfbmFtZTsKJG9iamVjdC0+ZG93bmxvYWQoKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/DownloadManager.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBEb3dubG9hZE1hbmFnZXIgCiMgVmVyc2lvbjogMS4wLVJDMwojIEF1dGhvcjogU3p5bW9uIMWBdWthc3pjenlrCiMgUHJvamVjdCBwYWdlOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Rvd25sb2FkbWFuYWdlci8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vIHNldHRpbmcgdGhlIGFjY2VzcyBjb25zdGFudHMKZGVmaW5lKCdETU5SX0JZX0ZSRUUnLCAwKTsKZGVmaW5lKCdETU5SX0JZX0ZFVScsIDEpOwpkZWZpbmUoJ0RNTlJfQllfTUFJTCcsIDIpOwpkZWZpbmUoJ0RNTlJfQllfQk9USCcsIDMpOwoKaWYgKCFkZWZpbmVkKCdQSFBfVkVSU0lPTl9JRCcpKSB7CiAgICAkdmVyc2lvbiA9IGV4cGxvZGUoJy4nLCBQSFBfVkVSU0lPTik7CiAgICBkZWZpbmUoJ1BIUF9WRVJTSU9OX0lEJywgKCR2ZXJzaW9uWzBdICogMTAwMDAgKyAkdmVyc2lvblsxXSAqIDEwMCArICR2ZXJzaW9uWzJdKSk7Cn0KcmVxdWlyZSBkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLm1pbmVfY29udGVudF90eXBlLnBocCc7CgpjbGFzcyBEb3dubG9hZE1hbmFnZXIgZXh0ZW5kcyBDTVNNb2R1bGUKewoKICAgIGZ1bmN0aW9uIEdldE5hbWUoKQogICAgewoJcmV0dXJuICdEb3dubG9hZE1hbmFnZXInOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogICAgewoJcmV0dXJuICcxLjUnOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEhlbHAoKQogICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICAgIHsKCXJldHVybiAnU3p5bW9uIMWBdWthc3pjenlrJzsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgICB7CglyZXR1cm4gJ3N6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSc7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7CiAgICB9CgogICAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogICAgewoJcmV0dXJuIHRydWU7CiAgICB9CgogICAgZnVuY3Rpb24gSGFzQWRtaW4oKQogICAgewoJcmV0dXJuIHRydWU7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICAgIHsKCXJldHVybiAnY29udGVudCc7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgICB9CgogICAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgIHsKCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJyk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICAgIHsKCXJldHVybiBhcnJheSgpOwogICAgfQoKICAgIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgIHsKCXJldHVybiAiMS40IjsKICAgIH0KCiAgICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICAgIHsKICAgIC8vIHJlZ2lzdHJpbmcgbmV3IGNvbnRlbnQgdHlwZQogICAgLy8gJHRoaXMtPlJlZ2lzdGVyQ29udGVudFR5cGUoJ0Rvd25sb2FkQ2F0ZWdvcnknLAogICAgLy8gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nY29udGVudHR5cGUuZG93bmxvYWRjYXRlZ29yeS5waHAnLAogICAgLy8gJHRoaXMtPkxhbmcoJ2NhdGVnb3J5X3BhZ2UnKSk7CgoJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOyAvLyBvbmx5IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGhlcmUKCgkvLyBzbWFydHkgdGFnIHBhcmFtZXRlcnMKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsICdkZWZhdWx0JywgJHRoaXMtPmxhbmcoJ2hlbHBfcGFyYW1fYWN0aW9uJykpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VsZWN0b3InLCAnJywgJHRoaXMtPmxhbmcoJ2hlbHBfcGFyYW1fc2VsZWN0b3InKSk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0ZW1wbGF0ZScsICcnLCAkdGhpcy0+bGFuZygnaGVscF9wYXJhbV90ZW1wbGF0ZScpKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FsaWFzJywgJycsICR0aGlzLT5sYW5nKCdoZWxwX3BhcmFtX2FsaWFzJykpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2F0ZWdvcnlpZCcsICcnLCAkdGhpcy0+bGFuZygnaGVscF9wYXJhbV9jYXRlZ29yeWlkJykpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGVwdGgnLCAnJywgJHRoaXMtPmxhbmcoJ2hlbHBfcGFyYW1fZGVwdGgnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2VsZWN0b3InLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWN0aW9uJyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RlbXBsYXRlJywgQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhbGlhcycsIENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGVwdGgnLCBDTEVBTl9JTlQpOwoKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdoYXNoa2V5JywgQ0xFQU5fU1RSSU5HKTsKCgkvLyBmb3JtLCBwYXJhbWV0ZXJzCgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmlsZV9pZCcsIENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9zbV8uKi8nLENMRUFOX1NUUklORyk7IC8vIGZvciBmcm9udGVuZCBmb3JtcyB3aXRoIG1haWwgc2VuZGluZwoKCSRhbGlhc3BhdHQgPSAnW2EtekEtWjAtOVwtXF9dJzsKCgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2Rvd25sb2FkXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKCSAgICBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2Rvd25sb2FkXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGRlcHRoPlswLTldKykkLycsCgkgICAgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9kb3dubG9hZFwvY2F0ZWdvcnlcLyg/UDxhbGlhcz4nLiRhbGlhc3BhdHQuJyspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKCSAgICBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2Rvd25sb2FkXC9jYXRlZ29yeVwvKD9QPGFsaWFzPicuJGFsaWFzcGF0dC4nKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8ZGVwdGg+WzAtOV0rKSQvJywKCSAgICBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2Rvd25sb2FkXC9nZXRcLyg/UDxhbGlhcz4nLiRhbGlhc3BhdHQuJyspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKCSAgICBhcnJheSgnYWN0aW9uJz0+J2Rvd25sb2FkJykpOwogICAgLy8JCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcL2dldGJ5bWFpbFwvKD9QPGhhc2hrZXk+W2EtejAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsCiAgICAvLwkJCQkJYXJyYXkoJ2FjdGlvbic9Pidkb3dubG9hZCcpKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcL2RldGFpbFwvKD9QPGFsaWFzPicuJGFsaWFzcGF0dC4nKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLAoJICAgIGFycmF5KCdhY3Rpb24nPT4nZGV0YWlsJykpOwogICAgLy8JCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcL3NlbmRlbWFpbFwvKD9QPHJldHVybmlkPlswLTldKykkLycsCiAgICAvLwkJCQkJYXJyYXkoJ2FjdGlvbic9PidzZW5kZW1haWwnKSk7CgogICAgLy8JCUZvciB5b3VyIGZvcm0ncyBwYXJhbXMgeW91IG5lZWQgb25seQogICAgLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYXJhbU5hbWUnLENMRUFOX1RZUEUpOwogICAgLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL2ZpbGVfLiovJyxDTEVBTl9TVFJJTkcpOwoKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uICggJGV2ZW50bmFtZSApCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2luZm9fJy4kZXZlbnRuYW1lICk7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RXZlbnRIZWxwICggJGV2ZW50bmFtZSApCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7CiAgICB9CgogICAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwogICAgfQoJZnVuY3Rpb24gZ2V0RGlyZWN0b3J5VHJlZSggJG91dGVyRGlyICwgJHJlY3Vyc2l2ZSA9IHRydWUpewoJCSRkaXJzID0gYXJyYXlfZGlmZiggc2NhbmRpciggJG91dGVyRGlyICksIEFycmF5KCAnLicsICcuLicsJy5odGFjY2VzcycgKSApOwoJCSRkaXJfYXJyYXkgPSBBcnJheSgpOwoJCWZvcmVhY2goICRkaXJzIGFzICRkICl7CgkJCWlmKCBpc19kaXIoJG91dGVyRGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGQpICYmICRyZWN1cnNpdmUpIAoJCQkkZGlyX2FycmF5ID0gYXJyYXlfbWVyZ2UoICRkaXJfYXJyYXkgLCR0aGlzLT5nZXREaXJlY3RvcnlUcmVlKCAkb3V0ZXJEaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZCApICk7CgkJCWVsc2UgCgkJCSRkaXJfYXJyYXlbXSA9IHJlYWxwYXRoKCRvdXRlckRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRkKTsKCQl9CgkJcmV0dXJuICRkaXJfYXJyYXk7Cgl9IAogICAgZnVuY3Rpb24gR2V0VGh1bWJuYWlsc0Ryb3Bkb3duKCRhZGR2YWx1ZSA9IG51bGwpCiAgICB7CgkJZ2xvYmFsICRjb25maWc7CgkJJGluX3BhdGggPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlyX3RodW1icycsJycpOwoJCSRsaXN0ID0gJHRoaXMtPmdldERpcmVjdG9yeVRyZWUoICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuICRpbl9wYXRoKTsKCQkkcmV0ID0gYXJyYXkoJycgPT4gJycpOwoJCWZvcmVhY2goICRsaXN0IGFzICR2ICkKCQl7CgkJCSR2ID0gc3RyX3JlcGxhY2UoICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IsICcnLCAkdik7CgkJCSRyZXRbc3RyX3JlcGxhY2UoICRpbl9wYXRoLCAnJywgJHYpXSA9ICR2OwoJCX0KCQlpZiggIWVtcHR5KCAkYWRkdmFsdWUgKSApCgkJCSRyZXRbc3RyX3JlcGxhY2UoICRpbl9wYXRoLCAnJywkYWRkdmFsdWUpXSA9ICRhZGR2YWx1ZTsKCQlyZXR1cm4gJHJldDsKCX0KICAgIGZ1bmN0aW9uIENyZWF0ZVRodW1ibmFpbCgkcGF0aCkKICAgIHsKCQlnbG9iYWwgJGNvbmZpZzsKCQkKCQkkZXh0ID0gc3RybGVuKCcuJy4gcGF0aGluZm8oJHBhdGgsUEFUSElORk9fRVhURU5TSU9OKSk7CgkJJGZpbGUgPSBzdWJzdHIoIHBhdGhpbmZvKCRwYXRoLFBBVEhJTkZPX0JBU0VOQU1FKSwgMCwgLSRleHQpOwoKCQlpbmNsdWRlX29uY2UoImxpYi9lYXN5cGhwdGh1bWJuYWlsL2Vhc3lwaHB0aHVtYm5haWwuY2xhc3MucGhwNSIpOwoJCSR0aHVtYiA9IG5ldyBlYXN5cGhwdGh1bWJuYWlsKCk7CgkJJGluc2lkZV9kaXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlyX3RodW1icycsJycpOwoJCSR0aHVtYi0+VGh1bWJsb2NhdGlvbiA9ICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGluc2lkZV9kaXI7CgkJJHRodW1iLT5UaHVtYnNpemUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGh1bWJzX3NpemUnLCA4MCk7CgkJJHRodW1iLT5UaHVtYnNhdmVhcyA9ICdqcGcnOwoJCSR0aHVtYi0+VGh1bWJmaWxlbmFtZSA9ICRmaWxlLicuanBnJzsKCQkkdGh1bWItPlRodW1icHJlZml4ID0gJyc7CgkJJHRodW1iLT5DcmVhdGV0aHVtYiggJHBhdGgsJ2ZpbGUnKTsKCQlyZXR1cm4gJGluc2lkZV9kaXIuJHRodW1iLT5UaHVtYmZpbGVuYW1lOwogICAgfQoKICAgIGZ1bmN0aW9uIFByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZUJ5QWxpYXMoJGFsaWFzKQogICAgewoJZ2xvYmFsICRnQ21zOwoJJGRiID0mICRnQ21zLT5HZXREYigpOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCdTRUxFQ1QgdGVtcGxhdGVfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXMgV0hFUkUgdGVtcGxhdGVfbmFtZSA9ID8nLGFycmF5KCRhbGlhcykpOwoJaWYgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCS8vfiB2YXJfZHVtcCgkcm93KTsKCSAgICByZXR1cm4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZG93bm1hbl8nLiRyb3dbJ3RlbXBsYXRlX2lkJ10gLCcnLHRydWUpIDsKCX0KCWVsc2UKCSAgICAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPmxhbmcoJ3dyb25ndGVtcGxhdGUnLCRhbGlhcykgKTsKCXJldHVybiBmYWxzZTsKCiAgICB9CgogICAgZnVuY3Rpb24gU2VhcmNoUmVzdWx0KCRyZXR1cm5pZCwgJGlkLCAkYXR0ciA9ICcnKQogICAgewogICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICAKICAgICAgaWYgKCRhdHRyID09ICdkb3dubG9hZCcpCiAgICAgIHsKICAgICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICAgJHEgPSAiU0VMRUNUIG5hbWUsIGFsaWFzIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUKICAgICAgICAgICAgICAgIGZpbGVfaWQgPSA/IjsKICAgICAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2V4cGlyZWRfc2VhcmNoYWJsZScsMSkgPT0gMCApCiAgICAgICAgewogICAgICAgICAgICAvLyBtYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIGV4cGlyZWQgYXJ0aWNsZXMuCiAgICAgICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgZW0gdG8uCiAgICAgICAgICAgICRxIC49ICcgQU5EICcuICR0aGlzLT5HZXRGaWxlU3RkV2hlcmUoKTsKICAgICAgICB9CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCApICk7CiAgICAgICAgaWYgKCRkYnJlc3VsdCkKICAgICAgICB7CiAgICAgICAgICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgICAgICAgIC8vMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgogICAgICAgICAgICAkcmVzdWx0WzBdID0gJHRoaXMtPkdldEZyaWVuZGx5TmFtZSgpOwogICAgICAgICAgICAvLzEgcG9zaXRpb24gaXMgdGhlIHRpdGxlCiAgICAgICAgICAgICRyZXN1bHRbMV0gPSAkcm93WyduYW1lJ107CiAgICAgICAgICAgIC8vMiBwb3NpdGlvbiBpcyB0aGUgVVJMIHRvIHRoZSB0aXRsZS4KICAgICAgICAgICAgJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVEZXRhaWxMaW5rKCRpZCwkcmV0dXJuaWQsJHRoaXMtPmxhbmcoJ2RldGFpbHMnKSwkcm93WydhbGlhcyddLHRydWUpOwogICAgICAgIH0KICAgICAgfQogICAgICBlbHNlIGlmICgkYXR0ciA9PSAnY2F0ZWdvcnknKQogICAgICB7CiAgICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAgICRxID0gIlNFTEVDVCBuYW1lLCBhbGlhcyBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgV0hFUkUKICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZCA9ID8iOwogICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQgKSApOwogICAgICAgIGlmICgkZGJyZXN1bHQpCiAgICAgICAgewogICAgICAgICAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgICAgICAgICAvLzAgcG9zaXRpb24gaXMgdGhlIHByZWZpeCBkaXNwbGF5ZWQgaW4gdGhlIGxpc3QgcmVzdWx0cy4KICAgICAgICAgICAgJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsKICAgICAgICAgICAgLy8xIHBvc2l0aW9uIGlzIHRoZSB0aXRsZQogICAgICAgICAgICAkcmVzdWx0WzFdID0gJHRoaXMtPmxhbmcoJ2NhdGVnb3J5JykuICc6ICcuICRyb3dbJ25hbWUnXTsKICAgICAgICAgICAgLy8yIHBvc2l0aW9uIGlzIHRoZSBVUkwgdG8gdGhlIHRpdGxlLgogICAgICAgICAgICAkcmVzdWx0WzJdID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGluaygkaWQsJHJldHVybmlkLCcnLCRyb3dbJ2FsaWFzJ10sIGZhbHNlLHRydWUpOwogICAgICAgIH0KCiAgICAgIH0KICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgZnVuY3Rpb24gU2VhcmNoRGVsZXRlRmlsZSgkaWQsICYkc2VhcmNoTSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPlNlYXJjaERlbGV0ZVdvcmRzKCdkb3dubG9hZCcsICRpZCwgJHNlYXJjaE0pOwogICAgfQogICAgZnVuY3Rpb24gU2VhcmNoRGVsZXRlQ2F0ZWdvcnkoJGlkLCAmJHNlYXJjaE0gPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5TZWFyY2hEZWxldGVXb3JkcygnY2F0ZWdvcnknLCAkaWQsICRzZWFyY2hNKTsKICAgIH0KICAgIGZ1bmN0aW9uIFNlYXJjaERlbGV0ZVdvcmRzKCR0eXBlLCAkaWQsICYkc2VhcmNoTSA9IG51bGwpCiAgICB7CiAgICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAgIGlmKGlzX251bGwoJHNlYXJjaE0pKQogICAgICAgICAgICAkc2VhcmNoTSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwogICAgICAgIGlmICgkc2VhcmNoTSAhPSBGQUxTRSkKICAgICAgICB7CiAgICAgICAgICAgICRzZWFyY2hNLT5EZWxldGVXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaWQsICR0eXBlKTsKICAgICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBTZWFyY2hBZGRGaWxlKCRpZCwgJGRhdGEsICRleHBpcmUsICYkc2VhcmNoTSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPlNlYXJjaEFkZFdvcmRzKCdkb3dubG9hZCcsICRpZCwgJGRhdGEsICRleHBpcmUsICRzZWFyY2hNKTsKICAgIH0KICAgIGZ1bmN0aW9uIFNlYXJjaEFkZENhdGVnb3J5KCRpZCwgJGRhdGEsICRleHBpcmUsICYkc2VhcmNoTSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPlNlYXJjaEFkZFdvcmRzKCdjYXRlZ29yeScsICRpZCwgJGRhdGEsICRleHBpcmUsICRzZWFyY2hNKTsKICAgIH0KICAgIGZ1bmN0aW9uIFNlYXJjaEFkZFdvcmRzKCR0eXBlLCAkaWQsICRkYXRhLCAkZXhwaXJlLCAmJHNlYXJjaE0gPSBudWxsKQogICAgewogICAgICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICAgICBpZihpc19udWxsKCRzZWFyY2hNKSkKICAgICAgICAgICAgJHNlYXJjaE0gPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdTZWFyY2gnKTsKICAgICAgICBpZiAoJHNlYXJjaE0gIT0gRkFMU0UpCiAgICAgICAgewogICAgICAgICAgICAkZXhwaXJlID0gKCRleHBpcmUgIT0gTlVMTCAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXhwaXJlZF9zZWFyY2hhYmxlJywwKSA9PSAwKSA/ICAkZGItPlVuaXhUaW1lU3RhbXAoJGV4cGlyZSkgOiBOVUxMOwogICAgICAgICAgICAkc2VhcmNoTS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGlkLCR0eXBlLCAkZGF0YSwgJGV4cGlyZSk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIFNlYXJjaFJlaW5kZXgoJiRtb2R1bGUgPSBudWxsKQogICAgewogICAgICAgIGlmKGlzX251bGwoJG1vZHVsZSkpCiAgICAgICAgICAgICRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdTZWFyY2gnKTsKCQogICAgICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMnOwogICAgICAgICRyZXN1bHQgPSAmJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAgICAgd2hpbGUgKCRyZXN1bHQgJiYgISRyZXN1bHQtPkVPRikKICAgICAgICB7CiAgICAgICAgICAgIGlmICgkcmVzdWx0LT5maWVsZHNbJ3Zpc2libGUnXSA9PSB0cnVlKQogICAgICAgICAgICB7CgkJCSR0aGlzLT5TZWFyY2hEZWxldGVGaWxlKCRyZXN1bHQtPmZpZWxkc1snZmlsZV9pZCddLCAkbW9kdWxlICk7CiAgICAgICAgICAgICR0aGlzLT5TZWFyY2hBZGRGaWxlKCRyZXN1bHQtPmZpZWxkc1snZmlsZV9pZCddLAogICAgICAgICAgICAgICAgICAgICRyZXN1bHQtPmZpZWxkc1snYWxpYXMnXSAuICcgJyAuICRyZXN1bHQtPmZpZWxkc1snbmFtZSddIC4gJyAnIC4gJHJlc3VsdC0+ZmllbGRzWydkZXNjcmlwdGlvbiddLAogICAgICAgICAgICAgICAgICAgICRyZXN1bHQtPmZpZWxkc1snZXhwaXJlcyddLCAkbW9kdWxlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcmVzdWx0LT5Nb3ZlTmV4dCgpOwogICAgICAgIH0KICAgICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzJzsKICAgICAgICAkcmVzdWx0ID0gJiRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAgIHdoaWxlICgkcmVzdWx0ICYmICEkcmVzdWx0LT5FT0YpCiAgICAgICAgewoJCQkkdGhpcy0+U2VhcmNoRGVsZXRlQ2F0ZWdvcnkoJHJlc3VsdC0+ZmllbGRzWydjYXRlZ29yeV9pZCddLCAkbW9kdWxlICk7CiAgICAgICAgICAgICR0aGlzLT5TZWFyY2hBZGRDYXRlZ29yeSgkcmVzdWx0LT5maWVsZHNbJ2NhdGVnb3J5X2lkJ10sCiAgICAgICAgICAgICAgICAgICAgJHJlc3VsdC0+ZmllbGRzWydhbGlhcyddIC4gJyAnIC4gJHJlc3VsdC0+ZmllbGRzWyduYW1lJ10gLiAnICcgLiAkcmVzdWx0LT5maWVsZHNbJ2Rlc2NyaXB0aW9uJ10sCiAgICAgICAgICAgICAgICAgICAgbnVsbCwgJG1vZHVsZSk7CiAgICAgICAgICAgICRyZXN1bHQtPk1vdmVOZXh0KCk7CiAgICAgICAgfQogICAgfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSkKCSAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCgoJICAgVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgc2ltcGxlIG1ldGhvZCB0byBkaXNwbGF5CgkgICBlcnJvciBpbmZvcm1hdGlvbiBvbiB0aGUgYWRtaW4gc2lkZS4KCSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgICBmdW5jdGlvbiBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2U9JycpCiAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJaWYgKCRtZXNzYWdlICE9ICcnKQoJewoJICAgICR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7Cgl9CgoJLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwoJCiAgICB9CglmdW5jdGlvbiBEaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJG1zZywgJHJldHVybmxpbmsgPSBudWxsKQoJewoJCWlmKCRyZXR1cm5saW5rID09IG51bGwgKSAKCQkJJHJldHVybmxpbmsgPSAnPGEgaHJlZj0iamF2YXNjcmlwdDpoaXN0b3J5LmJhY2soKSI+Jy4kdGhpcy0+bGFuZygnYmFjaycpLic8L2E+JzsKCQkkZXJyWydtc2cnXSA9ICRtc2c7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcicsICR0aGlzLT5sYW5nKCdlcnJvcicpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JldHVybmxpbmsnLCAkcmV0dXJubGluayk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignZG93bmxvYWRfZXJyb3InLCAkZXJyKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rvd25sb2FkX2Vycm9yX21zZycsICR0aGlzLT5sYW5nKCdkb3dubG9hZF9lcnJvcl9tc2cnKSk7CgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdkb3dubG9hZF9lcnJvci50cGwnKTsKCQlleGl0OwoJfQogICAgLy8gZ2V0IHRoZSBkZWZhdWx0IHJlc3RyaWN0aW9ucyBleC4gZGF0ZQogICAgZnVuY3Rpb24gR2V0RmlsZVN0ZFdoZXJlKCRhbGlhcyA9IG51bGwpCiAgICB7CiAgICAgICAgJGFsaWFzID0gIWVtcHR5KCRhbGlhcyk/JGFsaWFzLicuJzogJGFsaWFzOwogICAgICAgIHJldHVybiAnKCAoICcuJGFsaWFzLidleHBpcmVzIElTIE5VTEwgIE9SICcuJGFsaWFzLidleHBpcmVzID49IG5vdygpICkgCiAgICAgICAgICAgICAgICAgICAgQU5EICggJy4kYWxpYXMuJ3N0YXJ0cyBJUyBOVUxMICBPUiAnLiRhbGlhcy4nc3RhcnRzIDw9IG5vdygpICkgKSc7CiAgICB9CiAgICAvLyBnZXRzIG51bWJlciBvZiBhc3NvY2lhdGVkIGZpbGVzIGZvciBjYXRlZ29yaWVzCiAgICBmdW5jdGlvbiBHZXRDYXRlZ29yeUZpbGVOYiggJHdoZXJlID0gZmFsc2UgKQogICAgewoJJHRtcCA9IGFycmF5KCk7CgkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkkcSA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQgLCBDT1VOVChmaWxlX2lkKSBBUyBjb3VudCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5ICcKCSAgICAuKCR3aGVyZSE9PWZhbHNlPyAnV0hFUkUgJy4kd2hlcmU6JycpLgoJICAgICdHUk9VUCBCWSBjYXRlZ29yeV9pZCc7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHEpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJICAgICR0bXBbJHJvd1snY2F0ZWdvcnlfaWQnXV0gPSAgJHJvd1snY291bnQnXTsKCXJldHVybiAkdG1wOwogICAgfQogICAgLy8gZ2V0IGZpbGUgYXNzb3RpYXRpb24gd2l0aCBhcnJheXMKICAgIC8vIHJldHVybnMgYW4gYXJyYXkgd2l0aCBlbGVtZW50cwogICAgLy8JCSRmaWxlaWQgPT4gYXJyYXkgKAogICAgLy8JCQkJCSdjb3VudCcgPT4gKGludCkgc2l6ZSBvZiBhcnJheSwKICAgIC8vCQkJCQkwID0+IGFycmF5KCBsb25nX25hbWUgLCBuYW1lLCBjYXRlZ29yeV9pZCkKICAgIC8vCQkJCQkuLi4KICAgIC8vCQkJCSkKICAgIGZ1bmN0aW9uIEdldEZpbGVDYXRlZ29yaWVzKCAkd2hlcmUgPSBmYWxzZSApCiAgICB7CgkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkvLyBnZXQgZmlsZSBjYXRlZ29yaWVzIHNvIHdlIGNhbiBzaG93IHRvIHdoaWNoIGNhdGVnb3J5IGZpbGUgYmVsb25ncwoJLy8gd2lsbCBiZSB1c2VkIHNvb24KCgkkZmlsZXNfY2F0ZWdvcmllcyA9IGFycmF5KCk7CgkkcSA9ICdTRUxFQ1QgZmlsZV9pZCwgbG9uZ19uYW1lLCBuYW1lLCBjYXRlZ29yeV9pZCwgYWxpYXMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeQoJCQkJTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgVVNJTkcgKGNhdGVnb3J5X2lkKSAnLgoJICAgICgkd2hlcmUhPT1mYWxzZT8gJ1dIRVJFICcuJHdoZXJlOicnKTsKCgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHEpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJICAgICRmaWxlc19jYXRlZ29yaWVzWyRyb3dbJ2ZpbGVfaWQnXV1bXSA9IGFycmF5KAoJCSdsb25nX25hbWUnID0+ICRyb3dbJ2xvbmdfbmFtZSddLAoJCSduYW1lJyA9PiAkcm93WyduYW1lJ10sCgkJJ2FsaWFzJyA9PiAkcm93WydhbGlhcyddLAoJCSdjYXRlZ29yeV9pZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXQoJICAgICk7Cgl9Cglmb3JlYWNoICgkZmlsZXNfY2F0ZWdvcmllcyBhcyAkayA9PiAkdiApCgkgICAgJGZpbGVzX2NhdGVnb3JpZXNbJGtdWydjb3VudCddID0gY291bnQoJHYpOwoKCXJldHVybiAkZmlsZXNfY2F0ZWdvcmllczsKICAgIH0KICAgIC8vIGdldCBhbGwgc3ViY2F0ZWdvcmllcwogICAgLy8JIGl0ZW1zIGluIHJldHVybmVkIGFycmF5OgogICAgLy8gICAxID0+IGFycmF5CiAgICAvLyAgICAgICdpZCcgPT4gaW50IDEgIC8vIGlkIGluIGRhdGFiYXNlCiAgICAvLyAgICAgICduYW1lJyA9PiBzdHJpbmcgJ0dlbmVyYWwnIC8vIG5hbWUKICAgIC8vCQkuLi4KICAgIC8vICAgICAgJ2ZpbGVzbmInID0+IGludCAyIC8vIG51bWJlciBvZiBmaWxlcwogICAgLy8gICAgICAnaXRlbXMnID0+IGFycmF5KCYsJiwmLC4uLikgLy8gcmVmZXJhbHMgdG8gc3ViY2F0ZWdvcmllcwogICAgLy8gICAgICAncGFyZW50JyA9PiAmIC8vIHJlZmVyYWwgdG8gcGFyZW50IGNhdGVnb3J5CiAgICBmdW5jdGlvbiBHZXRTdWJDYXRlZ29yaWVzKCAkd2hlcmUgPSBmYWxzZSApCiAgICB7CgkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkkcSA9ICdTRUxFQ1QgKiwgQ09VTlQoZmlsZV9pZCkgQVMgZmlsZXNuYiBGUk9NIGNtc19tb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgYwoJCQlMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgVVNJTkcgKGNhdGVnb3J5X2lkKQoJCQknIC4oJHdoZXJlIT09ZmFsc2U/ICdXSEVSRSAnLiR3aGVyZTonJykuCgkgICAgJ0dST1VQIEJZIGNhdGVnb3J5X2lkIE9SREVSIEJZIGMuaGllcmFyY2h5X3ByaW9yaXR5JzsKCSRzdWJjYXRlZ29yaWVzID0gYXJyYXkoKTsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcSk7Cgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgoJICAgICRzdWJjYXRlZ29yaWVzWyhpbnQpICRyb3dbJ2NhdGVnb3J5X2lkJ10gXSA9IGFycmF5KAoJCSdpZCcgPT4gKGludCkkcm93WydjYXRlZ29yeV9pZCddLAoJCSduYW1lJyA9PiAkcm93WyduYW1lJ10sCgkJJ2xvbmdfbmFtZScgPT4gJHJvd1snbG9uZ19uYW1lJ10sCgkJJ2FsaWFzJyA9PiAkcm93WydhbGlhcyddLAoJCSdmaWxlc25iJyA9PiAoaW50KSRyb3dbJ2ZpbGVzbmInXSwKCQknaXRlbXMnID0+IGFycmF5KCkgLAoJCSdwYXJlbnQnID0+IGZhbHNlICwKCSAgICApOwoJICAgICR0bXAgPSAmJHN1YmNhdGVnb3JpZXNbKGludCkgJHJvd1snY2F0ZWdvcnlfaWQnXSBdOwoKCSAgICAkcyA9IGV4cGxvZGUoIi4iLCRyb3dbJ2hpZXJhcmNoeSddKTsKCSAgICBpZihjb3VudCgkcykgPiAxKQoJICAgIHsKCSAgICAvLyBub3QgYSAxc3QgbGV2ZWwgY2F0ZWdvcnkKCQkkc3ViY2F0ZWdvcmllc1sgKGludCkgJHNbY291bnQoJHMpLTJdIF1bJ2l0ZW1zJ11bXSA9ICR0bXA7CgkJJHN1YmNhdGVnb3JpZXNbKGludCkgJHJvd1snY2F0ZWdvcnlfaWQnXSBdWydwYXJlbnQnXSAgPSAmJHN1YmNhdGVnb3JpZXNbIChpbnQpICRzW2NvdW50KCRzKS0yXSBdOwoJICAgIH0KCX0KCXJldHVybiAkc3ViY2F0ZWdvcmllczsKICAgIH0KICAgIC8vIGdldHMgaHVtYW4gcmVkZWFibGUgYWNjZXNzIHR5cGUgYXJyYXkKICAgIGZ1bmN0aW9uIEdldEFjY2Vzc1R5cGVzKCRhY2Nlc3MpCiAgICB7CgkkdCA9IGFycmF5KCk7CglpZigkdGhpcy0+Q2hlY2tEb3duVHlwZSgkYWNjZXNzLCBETU5SX0JZX0ZSRUUpKQoJICAgICR0W10gPSAnZnJlZSc7CglpZigkdGhpcy0+Q2hlY2tEb3duVHlwZSgkYWNjZXNzLCBETU5SX0JZX0ZFVSkpCgkgICAgJHRbXSA9ICdmZXUnOwoJaWYoJHRoaXMtPkNoZWNrRG93blR5cGUoJGFjY2VzcywgRE1OUl9CWV9NQUlMKSkKCSAgICAkdFtdID0gJ21haWwnOwoJcmV0dXJuICR0OwogICAgfQogICAgLy8gcmV0dXJucyB0ZXh0IHdpdGggcmVwbGFjZWQgbm9uLXdvcmQgY2hhcnMgdG8gJHJlcGxhY2VtZW50CiAgICBmdW5jdGlvbiBPYnN0cnVjYXRlKCRocmVmLCAkcmVwbGFjZW1lbnQgPSAnLScpCiAgICB7CglyZXR1cm4gcHJlZ19yZXBsYWNlKCIvKFxXKykvaSIsJHJlcGxhY2VtZW50LCAkaHJlZik7CiAgICB9CiAgICAvLyB0YWtlcyBpZCBhbmQgYXJyYXkgcHJvZHVjZWQgYnkgZnVuY3Rpb24gR2V0RmlsZUNhdGVnb3JpZXMKICAgIC8vIGZ1cnRoZXIgdmVyc2lvbiB3aWxsIG1ha2UgbGlua3MKICAgIGZ1bmN0aW9uIENyZWF0ZUNhdGVnb3J5TGlua3MoJG1pZCwkcmV0dXJuaWQsJGlkLCAgJiRhcnIgKQogICAgewoJJGlkID0gKGludCkkaWQ7CglpZiggIWlzX2FycmF5KCRhcnIpIHx8IGVtcHR5KCRhcnIpIHx8ICFpc3NldCgkYXJyWyRpZF0pICkKCS8vIGlmIGVycm9yIG9yIGVtcHR5IG9yIG5vIGl0ZW0gdG8gc2VsbGVjdAoJICAgIHJldHVybiAnJzsKCSR0ID0gYXJyYXkoKTsKCXVuc2V0KCRhcnJbJGlkXVsnY291bnQnXSk7Cglmb3JlYWNoKCAkYXJyWyRpZF0gYXMgJHYgKQoJICAgICR0W10gPSAkdGhpcy0+Q3JlYXRlQ2F0ZWdvcnlMaW5rKCRtaWQsJHJldHVybmlkLCR2WyduYW1lJ10sJHZbJ2FsaWFzJ10pOwoKCXJldHVybiAJaW1wbG9kZSggIiwgIiwgJHQgKTsKICAgIH0KCiAgICAvLwogICAgZnVuY3Rpb24gQ3JlYXRlQ2F0ZWdvcnlMaW5rKCRpZCwkcmV0dXJuaWQsJG5hbWU9JycsJGFsaWFzPScnLCAkZGVwdGg9ZmFsc2UsJG9ubHl1cmw9ZmFsc2UpCiAgICB7CgkkYXJyID0gYXJyYXkoKTsKCWlmKCRkZXB0aCE9PWZhbHNlKQoJICAgICRhcnJbJ2RlcHRoJ10gPSAkZGVwdGg7CgoJaWYoJG5hbWUgPT0gJycgfHwgJGFsaWFzID09ICcnKQoJewoKCSAgICAkdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICR0aGlzLT5sYW5nKCdyb290Y2F0ZWdvcnknKSwKCQkkYXJyLCcnLCRvbmx5dXJsLHRydWUsJycsZmFsc2UsCgkJJ2Rvd25sb2FkLycuJHJldHVybmlkLigkZGVwdGghPT1mYWxzZT8iLyIuJGRlcHRoOicnKSk7Cgl9CgllbHNlCgl7CgkgICAgJGFyclsnYWxpYXMnXT0kYWxpYXM7CgoJICAgICR0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJG5hbWUsCgkJJGFyciwnJywkb25seXVybCx0cnVlLCcnLGZhbHNlLAoJCSdkb3dubG9hZC9jYXRlZ29yeS8nLiRhbGlhcy4nLycuJHJldHVybmlkLigkZGVwdGghPT1mYWxzZT8iLyIuJGRlcHRoOicnKSk7Cgl9CglyZXR1cm4gJHQ7CiAgICB9CiAgICBmdW5jdGlvbiBDcmVhdGVEb3dubG9hZExpbmsoJGlkLCRyZXR1cm5pZCwkbmFtZSwkYWxpYXMsJG9ubHl1cmw9ZmFsc2UpCiAgICB7CglyZXR1cm4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZG93bmxvYWQnLCAkcmV0dXJuaWQsICRuYW1lICwgYXJyYXkoJ2FsaWFzJz0+JGFsaWFzKSwnJywkb25seXVybCx0cnVlLCcnLGZhbHNlLCdkb3dubG9hZC9nZXQvJy4kYWxpYXMuJy8nLiRyZXR1cm5pZCk7CiAgICB9CgogICAgZnVuY3Rpb24gQ3JlYXRlRGV0YWlsTGluaygkaWQsJHJldHVybmlkLCRuYW1lLCRhbGlhcywkb25seXVybD1mYWxzZSkKICAgIHsKCXJldHVybiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZXRhaWwnLCAkcmV0dXJuaWQsICRuYW1lICwgYXJyYXkoJ2FsaWFzJz0+JGFsaWFzKSwnJywkb25seXVybCx0cnVlLCcnLGZhbHNlLCdkb3dubG9hZC9kZXRhaWwvJy4kYWxpYXMuJy8nLiRyZXR1cm5pZCk7CiAgICB9CiAgICBmdW5jdGlvbiBUb0hSU2l6ZSgkc2l6ZSkKICAgIHsKCXJldHVybiAoICAkc2l6ZTwxMDI0PyAkc2l6ZS4iIEIiOiAoICRzaXplPDEwNDg1NzYgPyAgICgoaW50KSAoICRzaXplLzEwMjQpKS4iIEtCIiA6ICgoaW50KSAoICRzaXplLzEwNDg1NzYgKSkuIiBNQiIgKSk7CiAgICB9CgogICAgLy8gYmFzZWQgb24gTmV3cyBNb2R1bGUgZnVuY3Rpb24gTmV3cy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCkKICAgIGZ1bmN0aW9uIFVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpCiAgICB7CgkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgoJLy8gY29tcHV0aW5nIGZpbGVzIHBsYWNlCgkkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBuYW1lLCBwcmlvcml0eSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gIiI7CgkgICAgJGN1cnJlbnRfaGllcmFyY2h5X3ByaW9yaXR5ID0gIiI7CgkgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gIiI7CgkgICAgJGNvbnRlbnRfaWQgPSAkcm93WydjYXRlZ29yeV9pZCddOwoJICAgICRjb250ZW50X3ByaW9yaXR5ID0gJHJvd1sncHJpb3JpdHknXTsKCSAgICAkY3VycmVudF9wYXJlbnRfaWQgPSAkcm93WydjYXRlZ29yeV9pZCddOwoJICAgICRjb3VudCA9IDA7CgoJICAgIHdoaWxlICgkY3VycmVudF9wYXJlbnRfaWQgPiAtMSkKCSAgICB7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCwgbmFtZSwgcGFyZW50X2lkLCBwcmlvcml0eSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKCQkkcm93MiA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfcGFyZW50X2lkKSk7CgkJaWYgKCRyb3cyKQoJCXsKCQkgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3RyX3BhZCgkcm93MlsnY2F0ZWdvcnlfaWQnXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gIi4iIC4gJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uOwoJCSAgICAkY3VycmVudF9oaWVyYXJjaHlfcHJpb3JpdHkgPSBzdHJfcGFkKCRyb3cyWydwcmlvcml0eSddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkgLiAifCIuIHN0cl9wYWQoJHJvdzJbJ2NhdGVnb3J5X2lkJ10sIDUsICcwJywgU1RSX1BBRF9MRUZUKS4gIi4iIC4gJGN1cnJlbnRfaGllcmFyY2h5X3ByaW9yaXR5OwoJCSAgICAkY3VycmVudF9sb25nX25hbWUgPSAkcm93MlsnbmFtZSddIC4gJyB8ICcgLiAkY3VycmVudF9sb25nX25hbWU7CgkJICAgICRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3cyWydwYXJlbnRfaWQnXTsKCQkgICAgJGNvdW50Kys7CgkJfQoJCWVsc2UKCQl7CgkJICAgICRjdXJyZW50X3BhcmVudF9pZCA9IDA7CgkJfQoJICAgIH0KCgkgICAgaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pID4gMCkKCSAgICB7CgkJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3Vic3RyKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiwgMCwgc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbikgLSAxKTsKCQkkY3VycmVudF9oaWVyYXJjaHlfcHJpb3JpdHkgPSBzdWJzdHIoJGN1cnJlbnRfaGllcmFyY2h5X3ByaW9yaXR5LCAwLCBzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3ByaW9yaXR5KSAtIDEpOwoJICAgIH0KCgkgICAgaWYgKHN0cmxlbigkY3VycmVudF9sb25nX25hbWUpID4gMCkKCSAgICB7CgkJJGN1cnJlbnRfbG9uZ19uYW1lID0gc3Vic3RyKCRjdXJyZW50X2xvbmdfbmFtZSwgMCwgc3RybGVuKCRjdXJyZW50X2xvbmdfbmFtZSkgLSAzKTsKCSAgICB9CgkgICAgJGRlcHRoID0gc3Vic3RyX2NvdW50KCAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sICcuJyApOwoJICAgICRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBTRVQgaGllcmFyY2h5ID0gPywgbG9uZ19uYW1lID0gPywgcHJpb3JpdHkgPSA/LCBoaWVyYXJjaHlfcHJpb3JpdHkgPSA/LCBkZXB0aCA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKCSAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sICRjdXJyZW50X2xvbmdfbmFtZSwgJGNvbnRlbnRfcHJpb3JpdHksICRjdXJyZW50X2hpZXJhcmNoeV9wcmlvcml0eSwgJGRlcHRoLCAkY29udGVudF9pZCkpOwoJfQogICAgfQoKICAgIC8vIG1haW4gZnVuY3Rpb24gZm9yIHBhcnNpbmcgdGhlIHNlbGVjdG9yCiAgICBmdW5jdGlvbiBNYXRjaFBhaXIoICYkc3ViamVjdCAsICYkYXJyKQogICAgewoJJG1hdGNoZXM9YXJyYXkoKTsKCSRwYXR0ZXJuID0gJy8oWyRdP1xkK3xcKFskXT9cZCtcKSkoW3wmXSkoWyRdP1xkK3xcKFskXT9cZCtcKSkvaSc7CgkkY20gPSBwcmVnX21hdGNoX2FsbCgkcGF0dGVybiwgJHN1YmplY3QsICRtYXRjaGVzKTsKCWZvcmVhY2goJG1hdGNoZXNbMF0gYXMgJGsgPT4gJG0pCgkvLyAkbSA9ICdbJF0/XGRbfCZdWyRdP1xkJwoKCXsKCSAgICAkYyA9IGNvdW50KCRhcnIpOwoJICAgICRjb3VudCA9IDA7CgkgICAgJHN1YmplY3QgPSAgc3Vic3RyKCRzdWJqZWN0LDAsIHN0cnBvcygkc3ViamVjdCwgJG0pKS4KCQknJCcuJGMuCgkJc3Vic3RyKCRzdWJqZWN0LHN0cnBvcygkc3ViamVjdCwgJG0pK3N0cmxlbigkbSkpOwoKCSAgICAkYXJyWyRjXSA9IGFycmF5KCAkbWF0Y2hlc1syXVska10sICRtYXRjaGVzWzFdWyRrXSAsJG1hdGNoZXNbM11bJGtdICk7CgoJICAgIC8vIHNocmluayBvcHRpbWl6ZQoJICAgICR2ID0mICRhcnJbJGNdOyAvLyBsZXRgcyBtYWtlIGFuIGFsaWFzCgkgICAgJHYgPSBzdHJfcmVwbGFjZSggYXJyYXkoIigiLCIpIiksIGFycmF5KCcnLCcnKSAsICR2KTsgLy8gYnJhY2tldHMgYXJlIG5vIGxvbmdlciBuZWVkZWQKCgkgICAgaWYoJHZbMF0gPT0gJ3wnKSAvLyB3ZSBjYW4gc2hyaW5rIHNxbCBvbmx5IGZvciBPUiBwYXJhbWV0ZXJzCgkJZm9yKCAkaiA9IDEgOyAkaiA8IDM7ICRqKyspCgkJICAgIGlmKCR2WyRqXXswfSA9PSAnJCcpCgkJICAgIHsKCQkJJHogPSAoaW50KSBzdWJzdHIoJHZbJGpdLCAxKTsKCQkJaWYoICRhcnJbJHpdWzBdID09ICd8JyApCgkJCXsvLyBub3cgd2UgY2FuIHNocmluawoJCQkgICAgdW5zZXQoJGFyclskel1bMF0pOwoJCQkgICAgZm9yZWFjaCgkYXJyWyR6XSBhcyAkenYpCgkJCQkkYXJyWyRjXVtdID0gJHp2OwoKCQkJICAgIHVuc2V0KCRhcnJbJGNdWyRqXSk7CgkJCSAgICAkYXJyWyR6XSA9IG51bGw7IC8vIHdlIHdvbmB0IG5lZWQgaXQgYW55bW9yZQoJCQl9CgkJICAgIH0KCX0KCWlmKCRjbSA+IDApCgkgICAgcmV0dXJuICR0aGlzLT5NYXRjaFBhaXIoICRzdWJqZWN0ICwgJGFycik7CglyZXR1cm4gMDsKICAgIH0KICAgIC8vIHVncmFkZSBmaWxlIGFncmVnYXRpb24gd2hlbiBjYXRlZ29yeSBjaGFuZ2UKICAgIGZ1bmN0aW9uIFVwZGF0ZUFzc29jaWF0aW9uQWdyZWdhdGlvbkNhdGVnb3J5KCAkY2F0ICkKICAgIHsKCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSRxdWVyeSA9ICJTRUxFQ1QgZmlsZV9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5CgkJCQlXSEVSRSBjYXRlZ29yeV9pZCA9ICIuKGludCkkY2F0LiI7IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJJGFyciA9IGFycmF5KCk7Cgl3aGlsZSggJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQoJICAgICRhcnJbXSA9IChpbnQpICRyb3dbJ2ZpbGVfaWQnXTsKCgkkdGhpcy0+VXBkYXRlQXNzb2NpYXRpb25BZ3JlZ2F0aW9uKCAkYXJyICk7CiAgICB9CgogICAgLy8gdXBncmFkZSBmaWxlIGFncmVnYXRpb24gd2hlbiBmaWxlKHMpIGNoYW5nZQogICAgLy8gaWYgZmFsc2UgYWxsIGZpbGUgYXJlIHVwZ3JhZ2VkCiAgICAvLyAgICBpbnQgb25seSBvbmUKICAgIC8vICAgIGFycmF5IGFsbCBmaWxlcyBpbiBhcnJheQogICAgZnVuY3Rpb24gVXBkYXRlQXNzb2NpYXRpb25BZ3JlZ2F0aW9uKCAkZmlsZSA9IGZhbHNlICkKICAgIHsKCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSRxdWVyeSA9Jyc7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoIlNFTEVDVCBmaWxlX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMiKTsKCXdoaWxlKCAkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCgkgICAgJGFyclskcm93WydmaWxlX2lkJ11dID0gJyc7CgoJJHByZWZpeCA9IlNFTEVDVCBmaWxlX2lkLCBoaWVyYXJjaHkgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSBmYwoJCQkJCUxFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIGMgVVNJTkcoY2F0ZWdvcnlfaWQpIjsKCWlmKCAkZmlsZSAgPT09IGZhbHNlICkKCXsvLyBhbGwgZmlsZXMgYXJlIHVwZ3JhZGVkCgkgICAgJHF1ZXJ5ID0gJHByZWZpeDsKCX0KCWVsc2UgaWYoIGlzX2ludCgkZmlsZSkgKQoJICAgIHsvLyBPbmx5IG9uZSBmaWxlCgkJJHF1ZXJ5ID0gJHByZWZpeC4iIFdIRVJFIGZpbGVfaWQgID0gJGZpbGUgIjsKCSAgICB9CgkgICAgZWxzZSBpZiggaXNfYXJyYXkoJGZpbGUpICYmIGNvdW50KCRmaWxlKT4wICkKCQl7Ly8gb25seSBmaWxlcyBpbiBhcnJheQoJCSAgICBmb3JlYWNoKCRmaWxlIGFzICRrID0+ICR2KQoJCQkkZmlsZVska10gPSAoaW50KSAkdjsKCQkgICAgJHF1ZXJ5ID0gJHByZWZpeC4iIFdIRVJFIGZpbGVfaWQgSU4oIi5pbXBsb2RlKCIsIiwkZmlsZSkuIik7IjsKCQl9CgoJaWYoJHF1ZXJ5ID09ICcnKQoJICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1dyb25nICRmaWxlIHBhcmFtZXRlciBpbiAnLl9fRlVOQ1RJT05fXy4nIGZ1bmN0aW9uIGluIGZpbGUgJy5fX0ZJTEVfXyk7CgoJJGFyciA9IGFycmF5KCk7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCXdoaWxlKCAkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCgkgICAgJGFyclskcm93WydmaWxlX2lkJ11dW10gPSAkcm93WydoaWVyYXJjaHknXTsKCglmb3JlYWNoKCAkYXJyIGFzICRrID0+ICR2KQoJewoJICAgICRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgU0VUCgkJCQkJaGllcmFyY2h5ID0gJyIuaW1wbG9kZSgiOyIsJHYpLiInCgkJCQkJV0hFUkUgZmlsZV9pZCA9ICIuKGludCkkazsKCSAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCX0KICAgIH0KCiAgICAvLyBiYXNlZCBvbiBOZXdzIE1vZHVsZSBmdW5jdGlvbiBOZXdzLT5DcmVhdGVQYXJlbnREcm9wZG93bigpCiAgICAvLyByZXR1cm4gZ2VuZXJhdGVkIGRyb3Bkb3duaW5wdXQgd2l0aCBpdGVtIHNldCBvbiAkc2VsZWN0ZWR2YWx1ZQogICAgLy8JCSAgaW5wdXQgd2lsbCBjb250YWluIGFsbCAkY2F0aWQga2lkcwogICAgLy8JCSAgaWYgJGNhdGlkID0gLTEgYWxsIHJvb3Qgbm9kZSBraWRzCiAgICBmdW5jdGlvbiBDcmVhdGVQYXJlbnREcm9wZG93bigkaWQsICRjYXRpZCA9IC0xLCAkc2VsZWN0ZWR2YWx1ZSA9IC0xKQogICAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoKCSRsb25nbmFtZSA9ICcnOwoKCSRpdGVtc1snKCcuJHRoaXMtPkxhbmcoJ25vbmUnKS4nKSddID0gJy0xJzsKCgkkcXVlcnkgPSAiU0VMRUNUIGhpZXJhcmNoeSwgbG9uZ19uYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7Cgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgICAgJGxvbmduYW1lID0gJHJvd1snaGllcmFyY2h5J10gLiAnJSc7CgoJJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCwgbmFtZSwgaGllcmFyY2h5LCBsb25nX25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGhpZXJhcmNoeSBub3QgbGlrZSA/IE9SREVSIGJ5IGhpZXJhcmNoeV9wcmlvcml0eSxoaWVyYXJjaHkiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxvbmduYW1lKSk7Cgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgICAgJGl0ZW1zWyRyb3dbJ2xvbmdfbmFtZSddXSA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CgoJcmV0dXJuICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3BhcmVudCcsICRpdGVtcywgLTEsICRzZWxlY3RlZHZhbHVlKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRBY2Nlc3NUeXBlQ29tYm8oJGtleT1mYWxzZSwgJG5hbWUyaWQ9ZmFsc2UpCiAgICB7CgkkdHlwZXMgPSBhcnJheSgJIjAiID0+ICR0aGlzLT5MYW5nKCJhY2Nlc3N0eXBlX2ZyZWUiKSwKCSAgICAiMSIgPT4gJHRoaXMtPkxhbmcoImFjY2Vzc3R5cGVfZmV1b25seSIpLAoJICAgICIyIiA9PiAkdGhpcy0+TGFuZygiYWNjZXNzdHlwZV9lbWFpbG9ubHkiKSwKCSAgICAiMyIgPT4gJHRoaXMtPkxhbmcoImFjY2Vzc3R5cGVfbWl4ZWQiKQoJKTsKCWlmKCRrZXkpCgl7CgkgICAgcmV0dXJuIChpc3NldCgkdHlwZXNbJGtleV0pPyR0eXBlc1ska2V5XTpmYWxzZSk7Cgl9CgoJcmV0dXJuICgkbmFtZTJpZD8kdHlwZXM6YXJyYXlfZmxpcCgkdHlwZXMpKTsKICAgIH0KCiAgICBmdW5jdGlvbiBGRVVpbnN0YWxsZWQoKQogICAgewogICAgLy8ganVzdCBjaGVjayBpZiBGRVUgaXMgaW5zdGFsbGVkCglnbG9iYWwgJGdDbXM7CglpZihpc3NldCgkZ0Ntcy0+bW9kdWxlc1snRnJvbnRFbmRVc2VycyddKSAmJiAkZ0Ntcy0+bW9kdWxlc1snRnJvbnRFbmRVc2VycyddWydhY3RpdmUnXSkJcmV0dXJuIHRydWU7CglyZXR1cm4gZmFsc2U7CiAgICB9CgogICAgZnVuY3Rpb24gTWFpbGVySW5zdGFsbGVkKCkKICAgIHsKICAgIC8vIGp1c3QgY2hlY2sgaWYgQ01TTWFpbGVyIGlzIGluc3RhbGxlZAoJZ2xvYmFsICRnQ21zOwoJaWYoaXNzZXQoJGdDbXMtPm1vZHVsZXNbJ0NNU01haWxlciddKSAmJiAkZ0Ntcy0+bW9kdWxlc1snQ01TTWFpbGVyJ11bJ2FjdGl2ZSddKQlyZXR1cm4gdHJ1ZTsKCXJldHVybiBmYWxzZTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRUZW1wbGF0ZXNDb21ibygkdHlwZT1mYWxzZSwgJHdpdGhkZWZhdWx0PXRydWUsICRuYW1lMmlkPWZhbHNlKQogICAgewogICAgLy8gZ2V0IGFuIGFycmF5IG9mIHRoZSB0ZW1wbGF0ZXMgb2YgdGhlIGNob3NlbiB0eXBlIChvciBhbGwpLCBmb3IgdXNlCiAgICAvLyBpbiBkcm9wZG93biBsaXN0cwoJJHJlc3VsdCA9IGFycmF5KCk7CglpZigkdHlwZSAmJiBzdWJzdHIoJHR5cGUsLTEpICE9ICdfJykJJHR5cGUgLj0gJ18nOwoJaWYoJHdpdGhkZWZhdWx0KQkkcmVzdWx0WycnXSA9ICR0aGlzLT5MYW5nKCdkZWZhdWx0dGVtcGxhdGUnKTsKCSR0ZW1wbGF0ZWxpc3QgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygkdGhpcy0+R2V0TmFtZSgpKTsKCWZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkdGVtcGxhdGUpCgl7CgkgICAgJG5hbWUgPSBzdWJzdHIoc3Ryc3RyKCR0ZW1wbGF0ZSwgJ18nKSwgMSk7CgkgICAgJHByZWZpeCA9IHN0cl9yZXBsYWNlKCRuYW1lLCIiLCR0ZW1wbGF0ZSk7CgkgICAgaWYoISR0eXBlIHx8IHN0cnRvbG93ZXIoJHByZWZpeCkgPT0gc3RydG9sb3dlcigkdHlwZSkpCSRyZXN1bHRbJHRlbXBsYXRlXSA9ICRuYW1lOwoJfQoJcmV0dXJuICgkbmFtZTJpZD8kcmVzdWx0OmFycmF5X2ZsaXAoJHJlc3VsdCkpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEdyb3Vwc0NvbWJvKCkKICAgIHsKICAgIC8vIGdldCBhbiBhcnJheSBvZiB0aGUgRkVVIGdyb3VwcywgZm9yIHVzZSBpbiBhIHNlbGVjdCBsaXN0CiAgICAvLwkJdmFyX2R1bXAoIkZFVSIpOwoJaWYoISR0aGlzLT5GRVVpbnN0YWxsZWQoKSkKCSAgICByZXR1cm4gYXJyYXkoKTsKCS8vCQl2YXJfZHVtcCgkZ3JvdXBzKTsKCSRGRVUgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKCWlmKCRGRVUpCgkgICAgJGdyb3VwcyA9ICRGRVUtPkdldEdyb3VwTGlzdCgpOwoJLy8JCXZhcl9kdW1wKCRncm91cHMpOwoJcmV0dXJuICRncm91cHM7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RmlsZUdyb3VwcygkZmlsZV9pZCkKICAgIHsKICAgIC8vIGdldCB0aGUgZ3JvdXBzIHRoYXQgaGF2ZSBhY2Nlc3MgdG8gYSBnaXZlbiBmaWxlCgkkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVncm91cHMgV0hFUkUgZmlsZV9pZD0/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlX2lkKSk7Cgkkb3V0cHV0ID0gYXJyYXkoKTsKCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJICAgICRvdXRwdXRbXSA9ICRyb3dbJ2dyb3VwX2lkJ107Cgl9CglyZXR1cm4gJG91dHB1dDsKICAgIH0KCiAgICBmdW5jdGlvbiBDaGVja0ZFVVBlcm0oJGZpbGVfaWQpCiAgICB7CiAgICAvLyBjaGVja3MgaWYgdGhlIGxvZ2dlZCBpbiB1c2VyIGhhcyBhY2Nlc3MgdG8gdGhpcyBmaWxlCglpZighJHRoaXMtPkZFVWluc3RhbGxlZCgpKQlyZXR1cm4gZmFsc2U7CgoJJEZFVSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJaWYoISRGRVUtPkxvZ2dlZEluKCkpCXJldHVybiBmYWxzZTsKCgkkdXNlcmlkID0gJEZFVS0+TG9nZ2VkSW5JZCgpOwoJJHVzZXJncm91cHMgPSBleHBsb2RlKCcsJywkRkVVLT5HZXRNZW1iZXJHcm91cHMoJHVzZXJpZCkpOwoJJGdyb3VwcyA9ICRGRVUtPkdldEdyb3VwTGlzdCgpOwoJJGZpbGVncm91cHMgPSAkdGhpcy0+R2V0RmlsZUdyb3VwcygkZmlsZV9pZCk7CgkKCS8vIGNoZWNrIGlmIGFueSBncm91cCBpcyBuZWVkZWQgdG8gYWNjZXNzCglpZihlbXB0eSgkZmlsZWdyb3VwcykpCgkJJGhhc3Blcm0gPSB0cnVlOwoJZWxzZQoJCSRoYXNwZXJtID0gZmFsc2U7CgoJJGkgPSAwOwoJd2hpbGUoISRoYXNwZXJtICYmICRpIDwgY291bnQoJHVzZXJncm91cHMpKQoJewoJICAgIGlmKGluX2FycmF5KCRncm91cHNbJHVzZXJncm91cHNbJGldXSwkZmlsZWdyb3VwcykpCSRoYXNwZXJtID0gdHJ1ZTsKCSAgICAkaSsrOwoJfQoJcmV0dXJuICRoYXNwZXJtOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEZFVUdyb3VwTmFtZXMoJGdyb3VwaWRhcnJheSkKICAgIHsKICAgIC8vIHRoaXMgdGFrZXMgYW4gYXJyYXkgb2YgZ3JvdXAgaWRzLCBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdHJpbmcgb2YgZ3JvdXAgbmFtZXMKICAgIC8vIHVzZSB0aGlzIHRvIHByZXBhcmUgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtZXRlciBvZiB0aGUgRkVVIGxvZ2luIGZvcm0KCWlmKGNvdW50KCRncm91cGlkcykgPT0gMCkKCSAgICByZXR1cm4gYXJyYXkoKTsKCWlmKCEkdGhpcy0+RkVVaW5zdGFsbGVkKCkpCgkgICAgcmV0dXJuIGZhbHNlOwoJJEZFVSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJJGdyb3VwcyA9IGFycmF5X2ZsaXAoJEZFVS0+R2V0R3JvdXBMaXN0KCkpOwoJJG91dHB1dCA9ICcnOwoJZm9yZWFjaCgkZ3JvdXBpZGFycmF5IGFzICRvbmVpZCkKCXsKCSAgICBpZihpc3NldCgkZ3JvdXBzWyRvbmVpZF0pKQkkb3V0cHV0IC49ICgkb3V0cHV0ID09ICcnPycnOicsJykuJGdyb3Vwc1skb25laWRdOwoJfQoJcmV0dXJuICRvdXRwdXQ7CiAgICB9CiAgICBmdW5jdGlvbiBDcmVhdGVBbGlhcygkdHh0KQogICAgewoJcmV0dXJuIHN0cnRvbG93ZXIoJHRoaXMtPk9ic3RydWNhdGUoJHR4dCkpOwogICAgfQogICAgLy8gdGFrZW4gZm9ybSBjbHQgbW9kdWxlCiAgICAvLyByZXR1cm4gdHJ1ZSBpZiBhbGlhcyBkb2VzIG5vdCBleGlzdCBpbiBkYXRhYmFzZQogICAgZnVuY3Rpb24gQ2hlY2tBbGlhcygkZGJ0YWJsZSwgJGFsaWFzLCAkaXRlbWlkPWZhbHNlLCAkaWRmaWVsZD0iaWQiLCAkYWxpYXNmaWVsZD0iYWxpYXMiKQogICAgewoJaWYoZW1wdHkoJGFsaWFzKSkKCSAgICByZXR1cm4gZmFsc2U7CgoJJGRiID0gJHRoaXMtPkdldERiKCk7CgkvLyBjaGVja3MgaWYgdGhpcyBhbGlhcyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGV2ZWwKCSRxdWVyeSA9ICJTRUxFQ1QgIi4kYWxpYXNmaWVsZC4iIEZST00gIi5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfJy4kZGJ0YWJsZS4iIFdIRVJFICIuJGFsaWFzZmllbGQuIiA9ID8iOwoJaWYoJGl0ZW1pZCkgJHF1ZXJ5IC49ICIgQU5EICIuJGlkZmllbGQuIiE9Ii4kaXRlbWlkOwoKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGFsaWFzKSk7CgkkdGFyZ2V0ID0gMDsKCWlmKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSAkdGFyZ2V0Kys7CglyZXR1cm4gKCAkdGFyZ2V0ID09IDApOwogICAgfQoKICAgIGZ1bmN0aW9uIENoZWNrRG93blR5cGUoJGdpdmVuICwgJHRvY2hlYWNrKQogICAgewoJJGdpdmVuID0gKGludCkkZ2l2ZW47CgkkdG9jaGVhY2s9IChpbnQpJHRvY2hlYWNrOwoJaWYoJHRvY2hlYWNrID09PSAkZ2l2ZW4gKQoJICAgIHJldHVybiB0cnVlOwoKCSR0ID0gJGdpdmVuICYgJHRvY2hlYWNrOwoJcmV0dXJuICAkdD4wP3RydWU6ZmFsc2UgOwogICAgfQoKfSAvLyBjbGFzcyBlbmQKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.assingfiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Cgokcm93Y2xhc3MgPSAncm93MSc7CiRjYXRlZ29yeV9pZCA9IC0xIDsKZ2xvYmFsICRjb25maWc7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoKCS8vCXZhcl9kdW1wKCRyb3cpOwoJaWYoJHNob3doZWFkZXJzICYmICRjYXRlZ29yeV9pZCAhPSAgJHJvd1snY2F0ZWdvcnlfaWQnXSkKCXsKCQkvLyBhZGRpbmcgbmV3IGNhdGVnb3J5IGhlYWRlcgoJCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCQkkb25lcm93LT5pdGVtdHlwZSA9ICdoZWFkZXInOwoJCSRvbmVyb3ctPml0ZW1sZXZlbCA9IChpbnQpICRyb3dbJ2RlcHRoJ107CgoJCSRvbmVyb3ctPmFsaWFzID0gJHJvd1snY2F0ZWdvcnlfYWxpYXMnXTsKCQkkb25lcm93LT5uYW1lID0gJzxzcGFuIGlkPSJkbWNfJy4kb25lcm93LT5hbGlhcy4nIiA+Jy4gJHJvd1snY2F0ZWdvcnlfbmFtZSddIC4gJzwvc3Bhbj4nOwoJCWlmKCAhZW1wdHkoJHN1YmNhdGVnb3JpZXNbJHJvd1snY2F0ZWdvcnlfaWQnXV1bJ2l0ZW1zJ10gKSApCgkJewoJCQlpZigkZGVwdGggPT09IGZhbHNlIHx8ICRvbmVyb3ctPml0ZW1sZXZlbCAtICRiYXNlX2RlcHRoIDwgJGRlcHRoICkKCQkJCS8vIHN1YmNhdGVnb3JpZXMgd2hpY2ggYXJlIGluIHNldCBkZXB0aAoJCQkJZm9yZWFjaCggJHN1YmNhdGVnb3JpZXNbJHJvd1snY2F0ZWdvcnlfaWQnXV1bJ2l0ZW1zJ10gYXMgJGtjYXQgPT4gJHZjYXQpCgkJCQkJJHN1YmNhdGVnb3JpZXNbJHJvd1snY2F0ZWdvcnlfaWQnXV1bJ2l0ZW1zJ11bJGtjYXRdWydsaW5rJ10gPQoJCQkJCQknPGEgaHJlZj0iJy4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXS4nI2RtY18nLiR2Y2F0WydhbGlhcyddLiciPicuJHZjYXRbJ25hbWUnXS4nPC9hPic7CgkJCWVsc2UKCQkJCS8vIHN1YmNhdGVnb3JpZXMgd2hpY2ggYXJlIGRlZXBlciB0aGFuIHNldCBkZXB0aAoJCQkJZm9yZWFjaCggJHN1YmNhdGVnb3JpZXNbJHJvd1snY2F0ZWdvcnlfaWQnXV1bJ2l0ZW1zJ10gYXMgJGtjYXQgPT4gJHZjYXQpCgkJCQkJJHN1YmNhdGVnb3JpZXNbJHJvd1snY2F0ZWdvcnlfaWQnXV1bJ2l0ZW1zJ11bJGtjYXRdWydsaW5rJ10gPQoJCQkJCQkkdGhpcy0+Q3JlYXRlQ2F0ZWdvcnlMaW5rKCRpZCwgJHJldHVybmlkLCAkdmNhdFsnbmFtZSddLCAkdmNhdFsnYWxpYXMnXSwkZGVwdGgpOwoJCX0KCQkkb25lcm93LT5zdWJjYXRlZ29yaWVzID0gJHN1YmNhdGVnb3JpZXNbJHJvd1snY2F0ZWdvcnlfaWQnXV1bJ2l0ZW1zJ107CgoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJCSRjYXRlZ29yeV9pZCA9ICAkcm93WydjYXRlZ29yeV9pZCddIDsKCX0KCgkvLyBhZGRpbmcgaXRlbQoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSkKCQkkb25lcm93LT4ka2V5ID0gJHZhbHVlOwoKCSRvbmVyb3ctPml0ZW10eXBlID0gJ2ZpbGUnOwoJJG9uZXJvdy0+aXRlbWxldmVsID0gKGludCkgJHJvd1snZGVwdGgnXTsKCSRvbmVyb3ctPmlkID0gKGludCkgJHJvd1snZmlsZV9pZCddOwoJJGZpbGVuYW1lID0gJHJvd1snbmFtZSddLigkcm93WydleHQnXSE9Jyc/Jy4nLiAkcm93WydleHQnXTonJyk7Cgkkb25lcm93LT5uYW1lID0gJGZpbGVuYW1lOwoJJG9uZXJvdy0+ZGVzY3JpcHRpb24gPSAkcm93WydkZXNjcmlwdGlvbiddOwoJJG9uZXJvdy0+dGh1bWIgPSAgIWVtcHR5KCRyb3dbJ3RodW1iX3BhdGgnXSkgID8gJHRoaXMtPkNyZWF0ZURvd25sb2FkTGluaygkaWQsJHJldHVybmlkLCc8aW1nIHNyYz0iJy4gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuc3RyX3JlcGxhY2UoIERJUkVDVE9SWV9TRVBBUkFUT1IsICcvJywgJHJvd1sndGh1bWJfcGF0aCddKSAuJyIgLz4nLCRyb3dbJ2FsaWFzJ10pIDogJyc7Cgkkb25lcm93LT50aHVtYl9wYXRoID0gICFlbXB0eSgkcm93Wyd0aHVtYl9wYXRoJ10pICA/ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy8nLnN0cl9yZXBsYWNlKCBESVJFQ1RPUllfU0VQQVJBVE9SLCAnLycsICRyb3dbJ3RodW1iX3BhdGgnXSkgOiAnJzsKCSRvbmVyb3ctPmNvdW50ZXIgPSAkcm93Wydjb3VudGVyJ107Cgkkb25lcm93LT5jb3VudGVybG9jYWxlID0gJHRoaXMtPmxhbmcoJ2NvdW50ZXJuYnInLCBhcnJheSgkcm93Wydjb3VudGVyJ10pKTsKCSRvbmVyb3ctPmRldGFpbCA9ICR0aGlzLT5DcmVhdGVEZXRhaWxMaW5rKCRpZCwkcmV0dXJuaWQsJHRoaXMtPmxhbmcoJ2RldGFpbHMnKSwkcm93WydhbGlhcyddKTsKCSRvbmVyb3ctPmRvd25sb2FkID0gJHRoaXMtPkNyZWF0ZURvd25sb2FkTGluaygkaWQsJHJldHVybmlkLCRmaWxlbmFtZSwkcm93WydhbGlhcyddKTsKCSRvbmVyb3ctPmhyZWYgPSAkdGhpcy0+Q3JlYXRlRG93bmxvYWRMaW5rKCRpZCwkcmV0dXJuaWQsJGZpbGVuYW1lLCRyb3dbJ2FsaWFzJ10sdHJ1ZSk7Cgkkb25lcm93LT5zaXplID0gJHRoaXMtPlRvSFJTaXplKCRyb3dbJ3NpemUnXSk7Cgkkb25lcm93LT5jYXRlZ29yaWVzID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGlua3MoJGlkLCRyZXR1cm5pZCwkcm93WydmaWxlX2lkJ10sICRmaWxlc19jYXRlZ29yaWVzICk7Cgkkb25lcm93LT5hY2Nlc3N0eXBlcyA9ICR0aGlzLT5HZXRBY2Nlc3NUeXBlcygkcm93WydhY2Nlc3N0eXBlJ10pOwoJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQovL3Zhcl9kdW1wKCRlbnRyeWFycmF5KTsKLy92YXJfZHVtcCgkdGVtcGxhdGUpOwokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25vZG93bmxvYWRzJywgJHRoaXMtPmxhbmcoJ25vZG93bmxvYWRzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2JhY2t0b2xpc3RsaW5rJywgJzxhIGhyZWY9ImphdmFzY3JpcHQ6aGlzdG9yeS5iYWNrKCkiPicuJHRoaXMtPmxhbmcoJ2JhY2t0b2xpc3QnKS4nPC9hPicpOwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.mine_content_type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWZ1bmN0aW9uX2V4aXN0cygnbWltZV9jb250ZW50X3R5cGUnKSkgewoJaWYoUEhQX1ZFUlNJT05fSUQgPj0gNTAzMDApewoJCWZ1bmN0aW9uIG1pbWVfY29udGVudF90eXBlKCRmaWxlbmFtZSkKCQl7CgkJCSRyZXN1bHQgPSBuZXcgZmluZm8oKTsKCQkJaWYgKGlzX3Jlc291cmNlKCRyZXN1bHQpID09PSB0cnVlKQoJCQl7CgkJCQlyZXR1cm4gJHJlc3VsdC0+ZmlsZSgkZmlsZW5hbWUsIEZJTEVJTkZPX01JTUVfVFlQRSk7CgkJCX0KCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCWVsc2UKCXsKCQlmdW5jdGlvbiBtaW1lX2NvbnRlbnRfdHlwZSgkZmlsZW5hbWUpIHsKCQkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZmluZm9fb3BlbicpKSB7CgkJCQkkZmluZm8gPSBmaW5mb19vcGVuKEZJTEVJTkZPX01JTUUpOwoJCQkJJG1pbWV0eXBlID0gZmluZm9fZmlsZSgkZmluZm8sICRmaWxlbmFtZSk7CgkJCQlmaW5mb19jbG9zZSgkZmluZm8pOwoJCQkJcmV0dXJuICRtaW1ldHlwZTsKCQkJfQoJCQkkbWltZV90eXBlcyA9IGFycmF5KAoJCQkJJ3R4dCcgPT4gJ3RleHQvcGxhaW4nLAoJCQkJJ2h0bScgPT4gJ3RleHQvaHRtbCcsCgkJCQknaHRtbCcgPT4gJ3RleHQvaHRtbCcsCgkJCQkncGhwJyA9PiAndGV4dC9odG1sJywKCQkJCSdjc3MnID0+ICd0ZXh0L2NzcycsCgkJCQknanMnID0+ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JywKCQkJCSdqc29uJyA9PiAnYXBwbGljYXRpb24vanNvbicsCgkJCQkneG1sJyA9PiAnYXBwbGljYXRpb24veG1sJywKCQkJCSdzd2YnID0+ICdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcsCgkJCQknZmx2JyA9PiAndmlkZW8veC1mbHYnLAoKCQkJCS8vIGltYWdlcwoJCQkJJ3BuZycgPT4gJ2ltYWdlL3BuZycsCgkJCQknanBlJyA9PiAnaW1hZ2UvanBlZycsCgkJCQknanBlZycgPT4gJ2ltYWdlL2pwZWcnLAoJCQkJJ2pwZycgPT4gJ2ltYWdlL2pwZWcnLAoJCQkJJ2dpZicgPT4gJ2ltYWdlL2dpZicsCgkJCQknYm1wJyA9PiAnaW1hZ2UvYm1wJywKCQkJCSdpY28nID0+ICdpbWFnZS92bmQubWljcm9zb2Z0Lmljb24nLAoJCQkJJ3RpZmYnID0+ICdpbWFnZS90aWZmJywKCQkJCSd0aWYnID0+ICdpbWFnZS90aWZmJywKCQkJCSdzdmcnID0+ICdpbWFnZS9zdmcreG1sJywKCQkJCSdzdmd6JyA9PiAnaW1hZ2Uvc3ZnK3htbCcsCgoJCQkJLy8gYXJjaGl2ZXMKCQkJCSd6aXAnID0+ICdhcHBsaWNhdGlvbi96aXAnLAoJCQkJJ3JhcicgPT4gJ2FwcGxpY2F0aW9uL3gtcmFyLWNvbXByZXNzZWQnLAoJCQkJJ2V4ZScgPT4gJ2FwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCcsCgkJCQknbXNpJyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKCQkJCSdjYWInID0+ICdhcHBsaWNhdGlvbi92bmQubXMtY2FiLWNvbXByZXNzZWQnLAoKCQkJCS8vIGF1ZGlvL3ZpZGVvCgkJCQknbXAzJyA9PiAnYXVkaW8vbXBlZycsCgkJCQkncXQnID0+ICd2aWRlby9xdWlja3RpbWUnLAoJCQkJJ21vdicgPT4gJ3ZpZGVvL3F1aWNrdGltZScsCgoJCQkJLy8gYWRvYmUKCQkJCSdwZGYnID0+ICdhcHBsaWNhdGlvbi9wZGYnLAoJCQkJJ3BzZCcgPT4gJ2ltYWdlL3ZuZC5hZG9iZS5waG90b3Nob3AnLAoJCQkJJ2FpJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCgkJCQknZXBzJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCgkJCQkncHMnID0+ICdhcHBsaWNhdGlvbi9wb3N0c2NyaXB0JywKCgkJCQkvLyBtcyBvZmZpY2UKCQkJCSdkb2MnID0+ICdhcHBsaWNhdGlvbi9tc3dvcmQnLAoJCQkJJ3J0ZicgPT4gJ2FwcGxpY2F0aW9uL3J0ZicsCgkJCQkneGxzJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJywKCQkJCSdwcHQnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsCgoJCQkJLy8gb3BlbiBvZmZpY2UKCQkJCSdvZHQnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLAoJCQkJJ29kcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLAoJCQkpOwoJCQkKCQkJJGV4dCA9IHN0cnRvbG93ZXIoYXJyYXlfcG9wKGV4cGxvZGUoJy4nLCRmaWxlbmFtZSkpKTsKCQkJaWYgKGFycmF5X2tleV9leGlzdHMoJGV4dCwgJG1pbWVfdHlwZXMpKSB7CgkJCQlyZXR1cm4gJG1pbWVfdHlwZXNbJGV4dF07CgkJCX0KCQkJZWxzZSB7CgkJCQlyZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7CgkJCX0KCQl9Cgl9Cn0KPz4=]]></data>
	</file>
	<file>
	  <filename>/function.uploadfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmluY2x1ZGVfb25jZSgibGliL3NpbXBsZS11cGxvYWQvU2ltcGxlVXBsb2FkLnBocCIpOwokdXBsb2FkZWQgPSAnJzsKJGZpbGUgPSAnJzsKJGZfY29udGVudHMgPSAnJzsKJGZpbGVfbmFtZSA9ICcnOwppZihpc3NldCgkX0ZJTEVTWyRpZC4iZmlsZSJdKSAmJiAkcGFyYW1zWydyYWRpb3UnXSA9PSAnbmV3JykKewoJLy8gd2UgaGF2ZSBuZXdseSB1cGxvYWRlZCBmaWxlCgkkZmlsZSA9ICRfRklMRVNbJGlkLiJmaWxlIl07CglpZiggJGZpbGVbJ3NpemUnXSA9PSAwKQoJewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yIikuIiAiLiR0aGlzLT5MYW5nKCdub3RoaW5ndXBsb2FkZWQnKSApOwoJCXJldHVybjsKCX0KCQoJaWYgKCBpc19hcnJheSgkZmlsZSkgKQoJewoJCSRkaXIgPSAkdGhpcy0+Y21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RpcicpLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkJdHJ5IHsKCQkJJHVwbG9hZCA9IG5ldyBTaW1wbGVVcGxvYWQ7CgkJCSR1cGxvYWQtPnNldFBhdGgoJGRpcik7CgkJCSR1cGxvYWQtPnNldENvbnRlbnRzKCRmaWxlKTsKCQkJaWYgKCEkdXBsb2FkLT51cGxvYWRGaWxlKCkpCgkJCXsKCQkJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yIikuIiAiLiAkdGhpcy0+TGFuZygndW5hYmxldG9tb3ZlJykpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCSRmX2NvbnRlbnRzID0gJHVwbG9hZC0+Z2V0Q29udGVudHMoKTsKCQl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3IiKS4iICIuJGUtPmdldE1lc3NhZ2UoKSApOwoJCQlyZXR1cm47CgkJfQoJfQoJLy8gc2V0dGluZyB0aGluZ3MgZm9yIGRhdGFiYXNlCgkkZmlsZV9uYW1lID0gc3Vic3RyKCAkZmlsZVsibmFtZSJdICwgMCAgLCBzdHJycG9zKCAkZmlsZVsibmFtZSJdICwgICRmX2NvbnRlbnRzWydleHQnXSApLTEpOwoJJGZfY29udGVudHNbJ3BhdGgnXSA9IHJlYWxwYXRoKCRmX2NvbnRlbnRzWydwYXRoJ10pOwoJJGFkZGZpbGVkYiA9IHRydWU7Cgp9CmVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ3VwbG9hZGVkJ10pICYmICRwYXJhbXNbJ3JhZGlvdSddID09ICdvbGQnKQp7CgkkdXBsb2FkZWQgPSAkdGhpcy0+Y21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHBhcmFtc1sndXBsb2FkZWQnXTsKCWlmKCAhZmlsZV9leGlzdHMoJHVwbG9hZGVkKSApCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZmlsZWRvZXNudGV4aXN0cyIsYXJyYXkoJHVwbG9hZGVkKSkpOwoJCXJldHVybjsKCX0KCSRmX2NvbnRlbnRzWydwYXRoJ10gPSByZWFscGF0aCgkdXBsb2FkZWQpOwoKCSRwYXRoX3BhcnRzID0gcGF0aGluZm8oJGZfY29udGVudHNbJ3BhdGgnXSk7CgkkZl9jb250ZW50c1snZXh0J10gPSAkcGF0aF9wYXJ0c1snZXh0ZW5zaW9uJ107CgkkZmlsZV9uYW1lID0gc3Vic3RyKCAkcGF0aF9wYXJ0c1snYmFzZW5hbWUnXSAsIDAgICwgc3RycnBvcyggJHBhdGhfcGFydHNbJ2Jhc2VuYW1lJ10gLCAkcGF0aF9wYXJ0c1snZXh0ZW5zaW9uJ10gKS0xKTsKCSRmX2NvbnRlbnRzWyd0eXBlJ10gPSBtaW1lX2NvbnRlbnRfdHlwZSgkdXBsb2FkZWQpOwoJJGZfY29udGVudHNbJ3NpemUnXSA9IGZpbGVzaXplKCR1cGxvYWRlZCk7CgkkZl9jb250ZW50c1snbWQ1J10gPSBtZDVfZmlsZSgkdXBsb2FkZWQpOwoJJGFkZGZpbGVkYiA9IHRydWU7Cn0KZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1snZXh0ZXJuYWwnXSkgJiYgJHBhcmFtc1sncmFkaW91J10gPT0gJ2V4dGVybmFsJykKewoKICBpZighZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2V4ZWMnKSkKICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJjdXJsZG9lc250ZXhpc3RzIikpOwoJcmV0dXJuOwogIH0KICBpZihzdHJwb3MoICRwYXJhbXNbJ2V4dGVybmFsJ10gICwgJ2h0dHA6Ly8nKSA9PT0gMCApCgkkcGFyYW1zWydleHRlcm5hbCddID0gc3Vic3RyKCRwYXJhbXNbJ2V4dGVybmFsJ10sNyk7CgogICRyZW1vdGVGaWxlID0gJ2h0dHA6Ly8nLiRwYXJhbXNbJ2V4dGVybmFsJ107CiAgJGNoID0gY3VybF9pbml0KCRyZW1vdGVGaWxlKTsKICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfTk9CT0RZLCB0cnVlKTsKICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIHRydWUpOwogIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgdHJ1ZSk7IC8vbm90IG5lY2Vzc2FyeSB1bmxlc3MgdGhlIGZpbGUgcmVkaXJlY3RzIChsaWtlIHRoZSBQSFAgZXhhbXBsZSB3ZSdyZSB1c2luZyBoZXJlKQogICRkYXRhID0gY3VybF9leGVjKCRjaCk7CiAgY3VybF9jbG9zZSgkY2gpOwogIGlmICgkZGF0YSA9PT0gZmFsc2UpIAogIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImN1cmxmYWlsZWQiKSk7CglyZXR1cm47CiAgfQogIGlmIChwcmVnX21hdGNoKCcvXkhUVFBcLzFcLlswMV0gKFxkXGRcZCkvJywgJGRhdGEsICRtYXRjaGVzKSkgewoJJHN0YXR1cyA9IChpbnQpJG1hdGNoZXNbMV07CglpZigkc3RhdHVzID09IDQwNCkKCXsKCSAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZmlsZWRvZXNudGV4aXN0cyIsIGFycmF5KCRyZW1vdGVGaWxlKSkpOwoJICByZXR1cm47Cgl9CiAgfQogIAogICRmX2NvbnRlbnRzWydwYXRoJ10gPSAkcmVtb3RlRmlsZTsKICBpZiAocHJlZ19tYXRjaCgnL0NvbnRlbnQtTGVuZ3RoOiAoXGQrKS8nLCAkZGF0YSwgJG1hdGNoZXMpKSB7CgkkZl9jb250ZW50c1snc2l6ZSddID0gKGludCkkbWF0Y2hlc1sxXTsKICB9CiAgaWYgKHByZWdfbWF0Y2goJy9Db250ZW50LVR5cGU6IChbXHdcL19cLStdKykvJywgJGRhdGEsICRtYXRjaGVzKSkgewoJJGZfY29udGVudHNbJ3R5cGUnXSA9ICRtYXRjaGVzWzFdOwogIH0KCiAgJGZfY29udGVudHNbJ21kNSddID0gJHBhcmFtc1snbWQ1J107CiAgJHBhdGhfcGFydHMgPSBwYXRoaW5mbygkZl9jb250ZW50c1sncGF0aCddKTsKICAkZl9jb250ZW50c1snZXh0J10gPSAkcGF0aF9wYXJ0c1snZXh0ZW5zaW9uJ107CiAgJGZpbGVfbmFtZSA9IHN1YnN0ciggJHBhdGhfcGFydHNbJ2Jhc2VuYW1lJ10gLCAwICAsIHN0cnJwb3MoICRwYXRoX3BhcnRzWydiYXNlbmFtZSddICwgJHBhdGhfcGFydHNbJ2V4dGVuc2lvbiddICktMSk7CiAgJGFkZGZpbGVkYiA9IHRydWU7Cn0KPz4=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAOf/ACwtKy0uLDAyLzIzMTM0MjQ2Mzo7OT0/PEBBP0FCQEFDQUZIRUlKSEpLSUpMSk1PTFBST1NUUlxeW15gXWxua3FzcHN1cjGUAjKVBDuTAnd5dnh6dziZDHl7eHt9enx+e31/fH+BfoGDgEWiC4KEgUugGoOFgoSGgz+nEYWHhEOpAECoEzusBIeJhnGWVUarBT6uCYmLiEypF4GQeIqMiUWsGYuNikCwDmGiOju0AFSpJIyOi42PjEOyEkywEY6QjT62AUqwH4+RjlWsMZGTkEG5BmOqOXClTFeyI2GuNES7DJSWkzq+EHCnVWqrQ2irST+/AEW8DpWXlJaYlTbEAkPCAFS5KWqxP2ixRmK2MjrHCJudmW20Qpyemz3JDjbNAJ2fnGG8LnO0S0PLAEbHH1XCJ3C3RUrID3W2TWu6R3e4T3G6UKKkoGq/Oz3SBXa5VqOlonW8S6Smo3q7UXO9UkrRBkDUDIO4XjjYAHm9WaaopXPBRnHBTU3TDYq3cn2+VGnGQWLIQqiqp5myi6mrqJO2f33AXXnCVzLgB6qsqYDBV3HHS4LAZKutqnvEWUHeBayuq66wrYTFW4vDb7GzrzvmFoXJZLK0sYbKZbO1smzXPrS2s6u7orW3tIXOYra4tbS6sLe5tovOao/NcLi6t3PZUobRa7m7uHnYWbq8uVroLbu9uorUZ2bjP6LKi7y+u4rVb5XSdb2/vJHVcI3XaorZZL7BvanMlZPXco3Zc8HDv8PFwsTGw8XHxIziZMbIxaLahMfJxoLoYLTTosjKx7bVpcrMybrUq77UppPmdqTfjsvOyojtZc3Py87QzL7Yr8HYqc/RztDSz5XuddHT0JrsfNLU0czXxdPV0tTW09XX1NbY1aPwh9ja1tnb19rc2dvd2tze293f3N7g3d/h3uDi3+Hk4OPl4cD2rOTm4+Xn5Ofp5uTr4Ojq58/2wunr6Ors6eLy2Ovu6u3v6+7w7e/x7uP41vDy7+H53fHz8PL08fT28vf59fj69/n8+P///yH5BAEAAP8ALAAAAAAgACAAAAj+AP8JNGQplihHawQqXMiw4cJnwPDZc4eOGTdaaRxqdNgmno4MHJBMq6Sq2p6NKP/NkcHhgksMQaYheiSMT0qNJVbA2LlziKdWePD4SqjR2adeRLrIISRQTZlATwMBmmQomR03dXK5WjiuVydn8vj5O2HiBA0eG4fN6vNlTKmE3Vad6navH799+vyZoIBgAdqNijR50XIGEydz+/zdxZsvXz8SDQ5I+OvQVRJUVKpAMfUGGrJi9PQ1znePHwkDBCZQVnhLhzJYs2pBYaIEFyZLo0pco3evHr15/ESgVu2QESwys5UAAZKjR5g/hXZhkzdPHrx9IR4UmLBDIxdWUZb+N+/hQ9ITW69eaYP3rl2+ECEqWLCx0cyi8TBeHDIC6hSpULaYs84694QAAggf0LCRH45Ykd8LWYgxSCebXHIJJdSccw49B36Q4Ea9oOGIDCjI8EYThOghCCSQNMKLOebMA8ICAiQQw0a8sHNFHCPMgcMPOwTJgxRwfBLOOO98QEAADdyo0S75HIMGI07MEOSVO/DARjferOPBkg20sJEu9LxzBxYuYInlEs10c86XTIqpkS3znDPOETaoeaUUy2BjTgcDABDmRq+sYw45m1zJwxRd8BBkF804Mw6gADAgp0OknENOMITwsAQk2MBDjKM7JOKMM+JsEKilG31yjjfDqZxDzDjzjBPMFld+5Yw3Gqx6aUOhmBOMNdacA48zq4BBqhC6NLMMr75u1Ik5zRDTzji6RNLolZAss4wx3fRa6a8MbTKON5dkE4oeU5C6Qxe8fAuuuKxqlIk53hDDBhykUCJElnLoIq8x2tBL7kJsXLILNd54k40zupwiizEUV5yNwTfx0IUeofxiDTbUDEwxNhjftNASbCTyCjHUONOMMSRHkAAEB5ss0BRwCHKUNR2EkEIM9NmckiBgdPGPM0InrVBAADs=]]></data>
	</file>
	<file>
	  <filename>/images/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icons/access-feu.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ3SURBVDjLpZNtSNNRFIcNKunF1rZWBMJqKaSiX9RP1dClsjldA42slW0q5oxZiuHrlqllLayoaJa2jbm1Lc3QUZpKFmmaTMsaRp+kMgjBheSmTL2//kqMBJlFHx44XM7vOfdyuH4A/P6HFQ9zo7cpa/mM6RvCrVDzaVDy6C5JJKv6rwSnIhlFd0R0Up/GwF2KWyl01CTSkM/dQoQRzAurCjRCGnRUUE2FaoSL0HExiYVzsQwcj6RNrSqo4W5Gh6Yc4+1qDDTkIy+GhYK4nTgdz0H2PrrHUJzs71NQn86enPn+CVN9GnzruoYR63mMPbkC59gQzDl7pt7rc9f7FNyUhPY6Bx9gwt4E9zszhWWpdg6ZcS8j3O7zCTuEpnXB+3MNZkUUZu0NmHE8XsL91oSWwiiEc3MeseLrN6woYCWa/Zl8ozyQ3w3Hl2lYy0SwlCUvsVi/Gv2JwITnYPDun2Hy6jYuEzAF1jUBCVYpO6kXo+NuGMeBAgcgfwNkvgBOPgUqXgKvP7rBFvRhE1crp8Vq1noFYSlacVyqGk0D86gbART9BDk9BFnPCNJbCY5aCFL1Cyhtp0RWAp74MsKSrkq9guHyvfMTtmLc1togpZoyqYmyNoITzVTYRJCiXYBIQ3CwFqi83o3JDhX6C0M8XsGIMoQ4OyuRlq1DdZcLkmbgGDX1iIEKNxAcbgTEOqC4ZRaJ6Ub86K7CYFEo8Qo+GBQlQyXBczLZpbloaQ9k1NUz/kD2myBBKxRZpa5hVcQslalatoUxizxAVVrN3CW21bFj9F858Q9dnIRmDyeuybM71uxmH9BNBB1q6zybV7H9s1Ue4PM3/gu/AEbfqfWy2twsAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/access-free.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLvZPZLkNhFIV75zjvYm7VGFNCqoZUJ+roKUUpjRuqp61Wq0NKDMelGGqOxBSUIBKXWtWGZxAvobr8lWjChRgSF//dv9be+9trCwAI/vIE/26gXmviW5bqnb8yUK028qZjPfoPWEj4Ku5HBspgAz941IXZeze8N1bottSo8BTZviVWrEh546EO03EXpuJOdG63otJbjBKHkEp/Ml6yNYYzpuezWL4s5VMtT8acCMQcb5XL3eJE8VgBlR7BeMGW9Z4yT9y1CeyucuhdTGDxfftaBO7G4L+zg91UocxVmCiy51NpiP3n2treUPujL8xhOjYOzZYsQWANyRYlU4Y9Br6oHd5bDh0bCpSOixJiWx71YY09J5pM/WEbzFcDmHvwwBu2wnikg+lEj4mwBe5bC5h1OUqcwpdC60dxegRmR06TyjCF9G9z+qM2uCJmuMJmaNZaUrCSIi6X+jJIBBYtW5Cge7cd7sgoHDfDaAvKQGAlRZYc6ltJlMxX03UzlaRlBdQrzSCwksLRbOpHUSb7pcsnxCCwngvM2Rm/ugUCi84fycr4l2t8Bb6iqTxSCgNIAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/access-mail.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAITSURBVBgZpcHLThNhGIDh9/vn7/RApwc5VCmFWBPi1mvwAlx7BW69Afeu3bozcSE7E02ILjCRhRrds8AEbKVS2gIdSjvTmf+TYqLu+zyiqszDMCf75PnnnVwhuNcLpwsXk8Q4BYeSOsWpkqrinJI6JXVK6lSRdDq9PO+19vb37XK13Hj0YLMUTVVyWY//Cf8IVwQEGEeJN47S1YdPo4npDpNmnDh5udOh1YsZRcph39EaONpnjs65oxsqvZEyTaHdj3n2psPpKDLBcuOOGUWpZDOG+q0S7751ObuYUisJGQ98T/Ct4Fuo5IX+MGZr95jKjRKLlSxXxFxOEmaaN4us1Upsf+1yGk5ZKhp8C74H5ZwwCGO2drssLZZo1ouIcs2MJikz1oPmapHlaoFXH1oMwphyTghyQj+MefG+RblcoLlaJG/5y4zGCTMikEwTctaxXq/w9kuXdm9Cuzfh9acujXqFwE8xmuBb/hCwl1GKAnGccDwIadQCfD9DZ5Dj494QA2w2qtQW84wmMZ1eyFI1QBVQwV5GiaZOpdsPaSwH5HMZULi9UmB9pYAAouBQbMHHrgQcnQwZV/KgTu1o8PMgipONu2t5KeaNiEkxgAiICDMCCFeEK5aNauAOfoXx8KR9ZOOLk8P7j7er2WBhwWY9sdbDeIJnwBjBWBBAhGsCmiZxPD4/7Z98b/0QVWUehjkZ5vQb/Un5e/DIsVsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/calculator.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGxSURBVDjLpVM9a8JQFL0vUUGFfowFpw4dxM2vf9G5newv6OIvEDoVOnUQf0G7CEYQHVzUVZQoaKFugoW20EUaTd5L+u6NSQORdvDC5dyEd+499ySPOY4Dh0TEK8rl8n0mk7lOJBIpVVWBMUaJAzCFEMA5B8MwPpfL5VOlUrklonegWq3qEr+c/2Nbq9VWHs9XkEwm0xLUy/Lzn5KbD1exaDR6FlpBURSq4/E4HJ2c4jMwmYpcw6vf31be2bAHQTPVHYEFyAr7VeEACzfAQKPuSmlCy7LINBcteifSx3ROWutzlCAZ3Z9Op9ButyEWi8F8Poder0drXTQ1SNUeqalt22EFQrgvC4UC5HI5mow1EjA/SjdEjEQiYAd+HV8BF5xwNBpBo9EgBZPJBDqdDimYzWbQ7XapmeA8rIDLiRjFYpEm4zTEfD7v19lslhSgJ2EFXBAOh0Oo1+vk/ng8Bk3TyBtd16HVarkrCRFWYFqmrwAzqMDzBhMVWNaeFSzT5P3BQJXI3G+9P14XC8c0t5tQg/V6/dLv9c+l3ATDFrvL5HZyCBxpv5Rvboxv3eOxQ6/zD+IbEqvBQWgxAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/drive_disk.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJJSURBVDjLpVM9ixNRFD1vvhLzxUiMCitiCjFWwrJuYaGQICgIgl2wSCWSIr9AFAsbQcVfYGEj9kICizGFgoUIIUENBDFrkLiDukw22fke7501MetHtY+58x6Pd+455973RBiG2MuQsMehzBa9Xu+57/tFCnieB9d15+E4zjxs2+a5WalUSowTbIHA5zRNa+VyuejQn2PRpqqqaLVaGAwGpVqt1owUEOMtXdcxGo0Qi8XmoEUgr4fDITKZDPL5PJPeoO2m6HQ6EXs2m4VpmrvkshUGCiEgy3LEnk6nkUwm0Wg00O/3Swqzs3T2yofi8XgUD+pbSJOYqeNhf0rDl41tCMlHKjFGEG7hh1mAZw7vKsw0mUxgGEZUIGYMggDb0wyKqydweTmFZ6+HuHn15K66PG4ZeBGcX5EoQZE3OBF3oN1uo9vtYmq7+D72osNrb77OgRZtmTZgbDpkLYDCrOyVgxNwsGdJIt9UQ9cPcL+6TKqoqJRApn+CSs84c+LsJJgBWXqhUIjmdz0JFqm48/QTKBc8ShRQhLO20pdQfyngDnCCWes4vPc2bN+DLKkMgcCOspCVhAEp5gvmQbEsq1Gv1y8s3LJoHrtnoQoF1UtpeIGzc+uZmHzHFQ33nqzjmzmBUi6XL/7rjl+5/TKkzoP6gUdvr+NA4iipkGBMP+Pa6Ye0ilOhnd9v4a9Hosg4dhg4lBqjdGoVurYUidi0lnAw6SGh0RmyJP73nFeqa6+OH9l3Ro/pJDlDNlwIKq4Iqdhiig/rH7FhuvgJMpVtkQoe5WAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/transport.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHAhEkBuSjfggAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC6ElEQVQ4y33TS2hcdRiG8eecmcwtnSYzjSbNrTVabTo0FJGipnUhGARR0CjUVbsXRASlaN1IixREpK4KiisFUQlU0YImBrXVmqS2hTbTdtSkk8mkSdp0bmfOnPM/3+dCCNMsfNe/d/lY2VPPjKloUkXe2PXC6T/5n2W/fTaDyNFmby1f/liD+iq358arKnpSA/lg98sTi83Hq989d6+Kvqoir2y5//n2Zm+Jk9dqcZqWaIjl3CR3FmbmVeR9FfmktbPDqOohFXkz2TPyQOfgi9gS0Owt/9aU/jN5jL5dw9iJbTRqK9zMzVBZzWYjydZgU89jmc6do8RSO0A9zNp1mr115fRrGrUadPU/BO4aoU392LEk5eI1buZmCCe76Mi8RGlllsCr4teKNPtwOTfFwwc+oiXeCrU5tJbDKl9jS/cQbWk4//1XpLf2EHVWcMpFyvnCXT7c25cC9wYEEXALUM/jLJ2jOneW2PZRLCtMJGSTSLXTnooTx7nLh1tCYDl/ga14Sz9SKd/BxNshEkV9w+dtNrULX3Ji7wGkusxGb8eSCWTpB0rzY1QsJYgmEcdDHBfxDK7x6O0Y5NAvnxJJD7LRW3L1iJZuT+MHPuLBe0UPFQ9PDJ4xdKcfZKh3H3/MTXBx4XfGRg7ily+t+zCxboyCNgKkHmDE46nMQQIVAgkQlMVSnt29w1S9Ok+eOsEXw8Mk/P98GAT1hcD1ME6AazwCFeZvXccXgxEfP/ApNyrs6dtP1Xd4enycn/Y+jnECbBSCho+YVpLbR3GNiwkMnZv76dq8ja1tA7SE4tyT7OF8/gyzhQucHHpk3Vu69quW87+hRileucxblZ9peB6eeLjGY6Ajw6MDI0zfOMulwgyfjX5IV31p3YdX/56ivrzA4uxFTH3h69fFPrb/ncJ6lc7Rc2rZcaazk/67qYFwurxqlZq8deb4zglEIipyfN/buW82JrzjiCUNta09a4knDt/XF1eRw83+X+3c2+zAw1o+AAAAAElFTkSuQmCC]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAiVXNlIERvd25sb2FkIE1hbmFnZXIiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEuIDxici8+IFJlbWVtYmVyIHRvIGNyZWF0ZSBkb3dubG9hZHMvIGRpciBpbiByb290IGNtcyBkaXIgYW5kIGdpdmUgaXQgMDc3NyBwZXJtaXNzaW9ucyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRG93bmxvYWQgTWFuYWdlciB1bmluc3RhbGwnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ0Vycm9yIG9jY3VyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGlzIGZpbGUnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snc3VibWl0cmVxZW1haWwnXSA9ICdTdWJtaXQgdG8gcmVjZWl2ZSBsaW5rIHRvIGRvd25sb2FkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ2JhY2snXSA9ICdHbyBiYWNrJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3Rpb25zJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ1Jvb3QgY2F0ZWdvcnknOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdZb3UgbXVzdCBlbnRlciBhIG5hbWUuJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ1lvdSBtdXN0IGxvZyBpbiB0byBkb3dubG9hZCB0aGlzIGZpbGU6JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1lvdSBtYXkgYWxzbyBsb2cgaW4gdG8gZG93bmxvYWQgdGhpcyBmaWxlOic7CgokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBhbGxvd3MgdG8gTWFuYWdlIERvd25sb2Fkcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2VsY29tZSB0byB0aGUgRG93bmxvYWRNYW5hZ2VyIGFkbWluIHNlY3Rpb24uPC9wPic7CgokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPgo8bGk+VmVyc2lvbiAwLjEgYWxwaGEgLSBmaXJzdCBhbHBoYTwvbGk+CjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4KPGxpPlZlcnNpb24gMC4zIGJldGEgLSBtYWtpbmcgbW9kdWxlIG1vcmUgdXNlci1mcmllbmRseTwvbGk+CjxsaT5WZXJzaW9uIDAuNCAtIGZpeGVkIGluc3RhbGwgYnVnIHdoaWNoIHVuYWJsZXMgYXNzb2NpYXRpb25zLCBhZGRlZCBhc3NvY2lhdGlvbnMgaW4gZmlsZSBhZGRpbmc8L2xpPgo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPgo8bGk+VmVyc2lvbiAxLjAtcmMxICAtIGFkZGVkIGludGVncmF0aW9uIHdpdGggZmV1IG1vZHVsZSBhbmQgc2VuZGluZyBmaWxlIGxpbmsgYnkgZW1haWwsIG1hZGUgY2F0ZWdvcmllcyB3YWxrYWJsZSwgZGlmZmVyZW50IHRlbXBsYXRlcyBmb3IgZGlmZmVyZW50IGFjdGlvbiB0eXBlcywgY2hhbmdlZCBjYXRlZ29yeV9zZWxlY3RvciBwYXJhbWV0ZXIgaW50byBzZWxlY3RvciwgcmVtb3ZlZCBjYXRlZ29yeSBwYXJhbWV0ZXIsIGFkZGVkIGNhdGVnb3J5IGxpc3QgZm9yIGZpbGVzIGluIHNlbGVjdG9yLCBhZGRlZCBhbGlhc2VzIHRvIGZpbGVzIGFuZCBjYXRlZ29yaWVzPC9saT4KPGxpPlZlcnNpb24gMS4xICAtIGFkZGVkIHRoZSBmaWxlY2hhbmdlIGZ1bmN0aW9uYWxpdHk8L2xpPgo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+CjxsaT5WZXJzaW9uIDEuMyAgLSBhZGRlZCBkb3dubG9hZCBjb3VudGluZzwvbGk+CjwvdWw+JzsKCiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkFsbG93cyB0byBtYW5hZ2UgRG93bmxvYWRzIGZyb20gYWRtaW4gcGFuZWwuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+Rmlyc3QgbWFrZSBkb3dubG9hZHMvIGRpcmVjdG9yeSBpbiByb290IGNtcyBkaXJlY3RvcnkuIE5leHQgZ2l2ZSBpdCAwNzc3IG1vZGUsIGRlcGVuZGluZyBvbiBhcGFjaGUgY29uZmlndXJhdGlvbiBjb3VsZCBiZSAwNzc1IG9yIDA3NTUuPC9wPgo8cD5UbyBhY2NlcyBtb2R1bGUgYWRtaW4gaW50ZXJmYWNlIGdvIHRvIENvbnRlbnQgLT4gRG93bmxvYWQgTWFuYWdlci48L3A+CjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyAmIzEyMztjbXNfbW9kdWxlIG1vZHVsZT1cJ0Rvd25sb2FkTWFuYWdlclwnfS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LjwvcD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPlRyYW5zbGF0aW9uczwvaDM+CjxwPk5ld2VzdCB0cmFuc2xhdGlvbnMgYXJlIGFsd2F5cyBhdmFpbGFibGUgYXQKPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTenltb24gxYF1a2FzemN6eWsgPGEgaHJlZj0ibWFpbHRvOnN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSI+Jmx0O3N6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSZndDs8L2E+ICYgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+Jmx0O3BsLmdlcm1haW5AZ21haWwuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+R2VybWFuIHRyYW5zbGF0aW9uIGJ5IENvbm5pZSBNw7xsbGVyLUfDtmRlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPiZsdDtjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUmZ3Q7PC9hPi48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+Cic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddPSdBY3Rpb24gY2hvb3Nlbi4gUG9zc2libGUgYWN0aW9uczogCjx1bD4KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdAoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+Y2F0ZWdvcnlpZDwvZW0+IG9yIDxlbT5hbGlhczwvZW0+LCA8ZW0+ZGVwdGg8L2VtPiwgPGVtPnRlbXBsYXRlPC9lbT4KCTxici8+ZXg6ICAmIzEyMztjbXNfbW9kdWxlIG1vZHVsZT1cJ0Rvd25sb2FkTWFuYWdlclwnIGFsaWFzPVwnbXktY2F0ZWdvcnlcJyBkZXB0aD1cJzJcJ30gPC9saT4KPGxpPjxlbT5zZWxlY3RvcjwvZW0+OiBhbGxvdyB0byBzZWxlY3QgbXVsdGlwbGUgY2F0ZWdvcmllcywgc2VlIHNlbGVjdG9yIHBhcmFtZXRlcgoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+c2VsZWN0b3I8L2VtPgoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPgoJPGJyLz5leDogICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwnRG93bmxvYWRNYW5hZ2VyXCcgYWN0aW9uPVwnc2VsZWN0b3JcJyBzZWxlY3Rvcj1cJzMmKDF8MilcJyB9IDwvbGk+CjxsaT48ZW0+ZGV0YWlsPC9lbT46IHNob3dzIGRldGFpbHMgb2Ygc2VsZWN0ZWQgZmlsZQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPgoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPgoJPGJyLz5leDogICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwnRG93bmxvYWRNYW5hZ2VyXCcgYWN0aW9uPVwnZGV0YWlsXCcgYWxpYXM9XCdteS1maWxlXCcgfSA8L2xpPgo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+Cgk8YnIvPm9wdGlvbmFsIHBhcmFtZXRlcnM6IDxlbT50ZW1wbGF0ZTwvZW0+IAoJPGJyLz5leDogICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwnRG93bmxvYWRNYW5hZ2VyXCcgYWN0aW9uPVwnZG93bmxvYWRcJyBhbGlhcz1cJ215LWZpbGVcJyB9IDwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnlpZCddPSdDYXRlZ29yeSBpZCwgY291bGQgYmUgZm91bmQgaW4gY2F0ZWdvcmllcyB0YWIuIElmIHNlbGVjdGVkLCBhbGlhcyBpcyBub3QgdGFrZW4gaW50byBhY2NvdW50Lic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ109J0NhdGVnb3J5IG9yIGZpbGUgYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXT0nQWxsb3cgdG8gc3BlY2lmeSB0aGUgZGVwdGggb2YgdHJlZSBzaG93biBieSBkZWZhdWx0IGFjdGlvbi4gSWYgbm90IHNldCBmdWxsIHRyZWUgd2lsbCBiZSBzaG93bi4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddPSdUZW1wbGF0ZSBuYW1lLiBJZiBub3QgZ2l2ZW4gdGhlIGRlZmF1bHQgdGVtcGxhdGUgZm9yIGN1cnJlbnQgYWN0aW9uIGlzIGFjdGlvbi9maWxlL2NhdGVnb3J5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3NlbGVjdG9yJ109J1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6Cjx1bD4KPGxpPiImIiAtIGludGVyc2VjdGlvbjwvbGk+CjxsaT4ifCIgLSBzdW08L2xpPgo8bGk+Y2F0ZWdvcnkgaWQgKHlvdSBjYW4gc2VlIGl0IGluIGNhdGVnb3JpZXMgdGFiKTwvbGk+CjxsaT5hbGwgb3RoZXIgY2hhcmFjdGVycyB3aWxsIGJlIGNsZWFuZWQgYmVmb3JlIHBhcnNpbmc8L2xpPgo8L3VsPgpGb3IgZXhhbXBsZSBzZWxlY3Rvcj0iMyYoMXwyKSIgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPgpJZiBzZWxlY3RvciBpcyBzcGVjaWZpZWQgY2F0ZWdvcnkgcGFyYW1ldGVyIHdpbGwgPGI+bm90PC9iPiBiZSBwYXJzZWQuCic7CgokbGFuZ1snd3JvbmdhbGlhcyddID0gJ1dyb25nIGFsaWFzIGdpdmVuLic7CiRsYW5nWydkb3dubG9hZCddID0gJ0Rvd25sb2FkJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gID0gJ0Rvd25sb2FkaW5nICVzLi4uJzsKJGxhbmdbJ2JhY2t0b2xpc3QnXSAgPSAnQmFjayB0byB0aGUgZmlsZSBsaXN0Lic7CiRsYW5nWydiYWNrJ10gID0gJ0dvIGJhY2suJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIGdpdmVuJzsKJGxhbmdbJ3dyb25nZmlsZSddID0gJ1dyb25nIGZpbGUgaWQnOwokbGFuZ1snbm9hY2Nlc3MnXSA9ICdZb3UgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoaXMgZmlsZS4nOwoKLy8qKioqKioqKioqKiBQcmVmZXJlbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiRsYW5nWydkb3dubG9hZF9kaXInXSAgPSAnRG93bmxvYWQgZGlyZWN0b3J5JzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW4nXSAgPSAnU2Nhbm5lZCBkaXJlY3RvcmllcyAoc2VwZWF0ZWQgd2l0aCBzZW1pY29sb24gZXguICJkaXIxLztkaXIyLztkaXIzLyIgKSc7CiRsYW5nWydkb3dubG9hZF9zY2FuX3JlY3VycyddICA9ICdTY2FuIGRpcmVjdG9yaWVzIHJlY3Vyc2l2ZT8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSAgPSAnRG93bmxvYWQgdGVtcGxhdGUnOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGVfaW5mbyddICA9ICc8dGFibGUgc3R5bGU9InRleHQtYWxpZ246bGVmdDsiPgo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+Cjx0cj48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsiPjxiPiYjMTIzOyRkb3dubG9hZGluZyYjMTI1OzwvYj48L3RkPjx0ZD5UZXh0OiAnLiRsYW5nWydkb3dubG9hZGluZyddLic8L3RkPjwvdHI+Cjx0cj48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsiPjxiPiYjMTIzOyRkb3dubG9hZGluZ19pbmZvJiMxMjU7PC9iPjwvdGQ+PHRkPlRleHQ6ICcuJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXS4nPC90ZD48L3RyPgo8dHI+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij48Yj4mIzEyMzskZG93bmxvYWRfbmFtZSYjMTI1OzwvYj48L3RkPjx0ZD5OYW1lIG9mIGN1cnJlbnRseSBkb3dubG9hZGluZyBmaWxlLjwvdGQ+PC90cj4KPHRyPjx0ZCBzdHlsZT0idmVydGljYWwtYWxpZ246dG9wOyI+PGI+JiMxMjM7JGJhY2t0b2xpc3RsaW5rJiMxMjU7PC9iPjwvdGQ+PHRkPkJhY2sgdG8gdGhlIGZpbGUgbGlzdCBsaW5rLjwvdGQ+PC90cj4KPC90YWJsZT4KJzsKJGxhbmdbJ2Rvd25sb2FkX2Rpcl9ub3Rfd3JpdGFibGUnXSA9ICdEb3dubG9hZCBkaXJlY3RvcnkgKCVzKSBpcyBub3Qgd3JpdGFibGUsIHRyeSBjaG1vZCA3NzcuJzsKJGxhbmdbJ2Rpcl9kb250X2V4aXN0cyddID0gJ0Rvd25sb2FkIGRpcmVjdG9yeSAoJXMpIGRvZXMgbm90IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QuJzsKJGxhbmdbJ3NlYXJjaF9leHBpcmUnXSA9ICdFeHBpcmVkIGFuZCBub3Qgc3RhcnRlZCBkb3dubG9hZHMgY2FuIGFwcGVhciBpbiBzZWFyY2ggcmVzdWx0cyc7CiRsYW5nWyd0aHVtYl9kaXInXSA9ICdEaXJlY3RvcnkgdG8gc2Nhbi9zYXZlIHRodW1ibmFpbHMuIERlZmF1bHQ6ICJpbWFnZXMvRG93bmxvYWRNYW5hZ2VyVGh1bWJzLyIuIERpcmVjdG9yeSBtdXN0IGV4aXN0JzsKJGxhbmdbJ3RodW1iX3NpemUnXSA9ICdNYXggdGh1bWJuYWlsIHNpemUnOwokbGFuZ1sndGh1bWJfYXV0byddID0gJ0RvIHRyeSBhdXRvbWF0aWNseSB0byBtYWtlIHRodW1ibmFpbHM/JzsKCi8vKioqKioqKioqKiogRmlsZSBsYWJlbHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKgokbGFuZ1snbmFtZWxhYmVsJ109J05hbWUnOwokbGFuZ1snY291bnRlcmxhYmVsJ109J0Rvd25sb2FkIGNvdW50ZXInOwokbGFuZ1snY291bnRlcm5iciddPSdEb3dubG9hZGVkICVzIHRpbWUocykuJzsKJGxhbmdbJ2FsaWFzbGFiZWwnXT0nQWxpYXMnOwokbGFuZ1snZmlsZWxhYmVsJ109J0ZpbGUnOwokbGFuZ1snZmlsZWRlbGV0ZWQnXT0nRmlsZSB3YXMgZGVsZXRlZC4nOwokbGFuZ1sndXBsb2FkZmlsZSddPSdVcGxvYWQgbmV3IGZpbGUnOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ109J1VzZSBhbHJlYWR5IHVwbG9hZGVkIGZpbGUnOwokbGFuZ1snZXh0ZXJuYWxmaWxlJ109J1VzZSBleHRlcm5hbCBmaWxlIGFjY2Vzc2libGUgdGhyb3VnaCBodHRwLiBGaWxlIHdpbGwgbm90IGJlIGRvd25sb2FkZWQgdG8gc2VydmVyJzsKJGxhbmdbJ2ZpbGVkb2VzbnRleGlzdHMnXT0nRmlsZSAlcyBkb2VzbmB0IGV4aXN0IG9uIHNlcnZlci4nOwokbGFuZ1snY3VybGZhaWxlZCddPSdDdXJsIHJlcXVlc3QgZmFpbGVkLic7CiRsYW5nWydjdXJsZG9lc250ZXhpc3RzJ109J0N1cmwgcGhwIGV4dGVuc2lvbiBuZWVkZWQgZm9yIGV4dGVybmFsIGxpbmtzIG5vdCBwcmVzZW50Lic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ109J09yZ2luYWwgcGF0aCc7CiRsYW5nWydleHRsYWJlbCddPSdFeHRlbnNpb24nOwokbGFuZ1snc2l6ZWxhYmVsJ109J1NpemUnOwokbGFuZ1snaGFzaGxhYmVsJ109J01kNSBoYXNoJzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXT0nRGVzY3JpcHRpb24nOwokbGFuZ1snY3JlYXRlZGxhYmVsJ109J0NyZWF0aW9uIHRpbWUnOwokbGFuZ1snZXhwaXJlc2xhYmVsJ109J0V4cGlyZXMnOwokbGFuZ1snbWFrZV90aHVtYmxhYmVsJ109J01ha2UgdGh1bWJuYWlsIGZyb20gaW1hZ2UgKGlmIHBvc3NpYmxlKT8nOwokbGFuZ1sndGh1bWJsYWJlbCddPSdUaHVtYm5haWwnOwokbGFuZ1snc3RhcnRzbGFiZWwnXT0nU3RhcnRzJzsKJGxhbmdbJ3Zpc2libGVsYWJlbCddPSdWaXNpYmxlJzsKJGxhbmdbJ3VzZWV4cGlyYXRpb24nXT0nVXNlIGV4cGlyYXRpb24gZGF0ZSc7CiRsYW5nWyd1c2VzdGFydCddPSdVc2Ugc3RhcnQgZGF0ZSc7CiRsYW5nWydhZGRmaWxlJ109J05ldyBmaWxlJzsKJGxhbmdbJ3NjYW5mb3JuZXdmaWxlcyddPSdTY2FuIGZvciBuZXcgZmlsZXMnOwokbGFuZ1snc2NhbnJlc3VsdCddPSdTY2FubmVkIGRpcmVjdG9yaWVzOiAlcyA8YnIgLz4gJXMgbmV3IGZpbGVzIGxpc3RlZCBiZWxvdy4gQ2hvb3NlIGZpbGUgdG8gYWRkLic7CiRsYW5nWydzY2Fubm9uZXcnXT0nTm8gbmV3IGZpbGVzIGFkZGVkLic7CiRsYW5nWydub2ZpbGVnaXZlbiddPSdUaGVyZSB3YXMgbm8gZmlsZSc7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXT0nTm8gZmlsZSBvciBlbXB0eSBmaWxlIHdhcyB1cGxvYWRlZC4nOwokbGFuZ1sndW5hYmxldG9tb3ZlJ109J1VuYWJsZSB0byBtb3ZlIG9yIGNvcHkgdXBsb2FkZWQgZmlsZS4nOwokbGFuZ1sndHlwZWxhYmVsJ109J1R5cGUnOwokbGFuZ1snZmlsZXN0YWJoZWFkZXInXT0nRmlsZXMnOwokbGFuZ1snZmlsZWFkZGVkJ109J0ZpbGUgc3VjY2VzZnVsbHkgYWRkZWQnOwokbGFuZ1snZmlsZW1vZGlmaWVkJ109J0ZpbGUgc3VjY2VzZnVsbHkgbW9kaWZpZWQnOwokbGFuZ1sndGVtcGxhdGVmb3Jmb3JtJ10gPSAnRm9ybSB0ZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmRldGFpbCddID0gJ0RldGFpbCB0ZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmVtYWlsJ10gPSAnRW1haWwgdGVtcGxhdGUnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBjYXRlZ29yeSB0ZW1wbGF0ZSc7CiRsYW5nWydmZXVncm91cHNsYWJlbCddID0gJ0ZFVSBncm91cHMgd2hvIGNhbiBhY2Nlc3MgdGhlIGZpbGUsIGlmIG5vIGdyb3VwIHNlbGVjdGVkIGFsbCBGRVUgdXNlcnMgY2FuIGFjY2Vzcyc7CiRsYW5nWydhY2Nlc3N0eXBlJ10gPSAnQWNjZXNzIHR5cGUnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnRnJlZSBhY2Nlc3MnOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnRnJvbnRlbmQgVXNlcnMgb25seSc7CiRsYW5nWydhY2Nlc3N0eXBlX2VtYWlsb25seSddID0gJ0VtYWlsIG9ubHknOwokbGFuZ1snYWNjZXNzdHlwZV9taXhlZCddID0gJ0ZFVSBvciBFbWFpbCc7CiRsYW5nWydkZXRhaWxzJ109J0RldGFpbHMnOwokbGFuZ1snZmlsZWNoYW5nZSddPSdDaGFuZ2UgdGhpcyBmaWxlLic7CiRsYW5nWydjaGFuZ2VmaWxlaW5mbyddPSdDaG9vc2UgbmV3IGZpbGUgdG8gY2hhbmdlIHRoZSBjdXJyZW50ICIlcyIgKGFsaWFzOiVzKSBmaWxlLiBBbGwgYXNzb2NpYXRpb25zLCBsaW5rcywgaW5mbyBhbmQgYWxpYXMgd2lsbCBzdGF5IHRoZSBzYW1lLic7CiRsYW5nWydmaWxlY2hhbmdlZCddPSdGaWxlIHdhcyBzdWNjZXNzZnVsbHkgcmVwbGFjZWQnOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ109J0NoYW5nZSB0aGUgZmlsZSBuYW1lIHRvIHRoZSBvbmUgZnJvbSBuZXcgZmlsZT8nOwokbGFuZ1snYWxsdGltZSddPSdBbGwgdGltZSc7CiRsYW5nWydhdmFpbGFibGl0eSddPSdBdmFpbGFibGl0eSc7Ci8vKioqKioqKioqKiogRXJyb3JzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioKJGxhbmdbJ25vYWxpYXMnXT0iTm8gc3VjaCBhbGlhcyBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlIjsKJGxhbmdbJ25vaGFzaCddPSJObyBzdWNoIGhhc2ggb3IgZG93bmxvYWQgbm90IGF2YWlsYWJsZSI7CiRsYW5nWyd3cm9uZ3BhcmFtcyddPSJXcm9uZyBwYXJhbWV0ZXJzIjsKJGxhbmdbJ2ZpbGVub3Rmb3VuZCddPSJGaWxlICVzIG5vdCBmb3VuZC4iOwokbGFuZ1snd3JvbmdkYXRhJ109Ildyb25nIGRhdGEgaW4gZGF0YWJhc2Ugcm93LiI7CgovLyoqKioqKioqKioqIENhdGVnb3J5IGxhYmVscyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdOZXcgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeScgOwokbGFuZ1sncGFyZW50X2lkbGFiZWwnXSA9ICdQYXJlbnQgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcmllc3RhYmhlYWRlciddPSdDYXRlZ29yaWVzJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXT0nUHJpb3JpdHkgKC05OSZuYnNwO3RvJm5ic3A7OTkpLCAgbG93ZXItPmJldHRlciAnOwokbGFuZ1snbm9kb3dubG9hZHMnXSA9ICdObyBkb3dubG9hZHMgaW4gdGhpcyBjYXRlZ29yeSc7CiRsYW5nWydmaWxlbmInXSA9ICclcyZuYnNwO2ZpbGUocyknOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdUaGUgY2F0ZWdvcnkgd2FzIHN1Y2Nlc3NmdWxseSB1cGRhdGVkLic7CiRsYW5nWydjYXRlZ29yeWRlbGV0ZWQnXSA9ICdUaGUgY2F0ZWdvcnkgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7CgokbGFuZ1snY2F0ZWdvcnljb250ZW50dHlwZWZyaWVuZGx5J10gPSAnRG93bmxvYWQgQ2F0ZWdvcnknIDsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXT0nT3ZlcmFsbCc7CiRsYW5nWydhc3NvY2F0aW9uc3RhYmhlYWRlciddPSdDYXRlZ29yaWVzJzsKJGxhbmdbJ2FkZGFzc29jJ109J0FkZCB0byBjYXRlZ29yeSc7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5c2VsJ109J0NhdGVnb3J5IHNlbGVjdG9yIHBhcnNlIGVycm9yLiA8YnIgLz4gU2VsZWN0b3IgYWZ0ZXIgY2xlYW5pbmc6ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXT0nQ2F0ZWdvcnkgc2VsZWN0b3Igbm90IHNldC4nOwokbGFuZ1snd3JvbmdjYXRlZ29yeSddPSdTZWxlY3RlZCBjYXRlZ29yeSBkb2VzIG5vdCBleGlzdHMuJzsKCgovLyoqKioqKioqKioqIEVNQUlMICoqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiRsYW5nWydzZW5kZW1haWwnXSA9ICdFbWFpbCBkb3dubG9hZCBsaW5rJzsKJGxhbmdbJ3Byb21wdF9maXJzdG5hbWUnXSA9ICdGaXJzdCBuYW1lJzsKJGxhbmdbJ3Byb21wdF9sYXN0bmFtZSddID0gJ0xhc3QgbmFtZSc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWydwcm9tcHRfbWFpbGluZ2xpc3QnXSA9ICdJIHdvdWxkIGxpa2UgdG8gaGVhciBhYm91dCBuZXcgZmlsZXMgYW5kIGltcG9ydGFudCBuZXdzJzsKJGxhbmdbJ2VtYWlsc2VudCddID0gJ0FuIGVtYWlsIGNvbnRhaW5pbmcgdGhlIGRvd25sb2FkIGxpbmsgd2FzIHNlbnQgdG8gdGhlIHNwZWNpZmllZCBhZGRyZXNzLic7CiRsYW5nWydjb3VsZG5vdHNlbmQnXSA9ICdUaGVyZSB3YXMgYW4gZXJyb3Igd2l0aCB5b3VyIHJlcXVlc3QsIGFuZCB0aGUgZW1haWwgY291bGQgbm90IGJlIHNlbnQuJzsKJGxhbmdbJ2ludmFsaWRlbWFpbCddID0gJ1RoZSBlbWFpbCB5b3UgaGF2ZSBlbnRlcmVkIGlzIGludmFsaWQuIFdpdGhvdXQgYSB2YWxpZCBlbWFpbCwgd2UgY2Fubm90IHNlbmQgeW91IGEgZG93bmxvYWQgbGluaywgYW5kIHlvdSBjYW5ub3QgZG93bmxvYWQgdGhlIGZpbGUuJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnUGxlYXNlIGVudGVyIHlvdXIgbmFtZS4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnUGxlYXNlIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcy4gVGhlIGRvd25sb2FkIGxpbmsgd2lsbCBiZSBzZW50IHRvIHRoaXMgYWRkcmVzcy4nOwoKCi8vKioqKioqKioqKiogVGVtcGxhdGUgbGFiZWxzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ05ldyBUZW1wbGF0ZSc7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIHRvIGRpc3BsYXkgbGlzdHMgb2YgY2F0ZWdvcmllcyBvciBmaWxlcyc7CiRsYW5nWydhZGRsaXN0dGVtcGxhdGUnXSA9ICdOZXcgTGlzdCBUZW1wbGF0ZSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdG8gZGlzcGxheSB0aGUgZGV0YWlscyBvZiBhIGZpbGUnOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOZXcgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2Zvcm10ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZm9yIHRoZSBmb3JtIHRvIHJlcXVlc3QgYSBkb3dubG9hZCBsaW5rIGJ5IG1haWwnOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTmV3IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZm9yIGVtYWlscyBzZW50IHdpdGggZG93bmxvYWQgbGluayc7CiRsYW5nWydhZGRlbWFpbHRlbXBsYXRlJ10gPSAnTmV3IEVtYWlsIEJvZHkgVGVtcGxhdGUnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnVXNlIHRoZSBkZWZhdWx0IHRlbXBsYXRlIChzZWUgdGVtcGxhdGVzIHRhYiknOwoKJGxhbmdbJ3Byb21wdF9kZWxldGV0ZW1wbGF0ZSddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhlIHRlbXBsYXRlICVzPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJyA7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdDb250ZW50JzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVsYWJlbCddID0gJ05hbWUnOwoKJGxhbmdbJ3RlbXBsYXRlYWRkZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBhZGRlZC4nOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZC4nOwoKJGxhbmdbJ3dyb25ndGVtcGxhdGUnXSA9ICdXcm9uZyB0ZW1wbGF0ZSBzcGVjaWZpZWQuJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ1RoZXJlIGlzIGFscmVhZHkgYSB0ZW1wbGF0ZSBieSB0aGF0IG5hbWUuJzsKCiRsYW5nWydnZW5lcmFsX3RlbXBsYXRlaGVscCddID0gJwo8dHI+PHRkPjxiPiYjMTIzOyRiYWNrdG9saXN0bGluayYjMTI1OzwvYj48L3RkPjx0ZD5SZXR1cm4gYmFjayBpbiBoaXN0b3J5IGxpbms8L3RkPjwvdHI+Cic7CiRsYW5nWydmaWxlaXRlbV90ZW1wbGF0ZWhlbHAnXSAgPScKPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+bmFtZSYjMTI1OzwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmRlc2NyaXB0aW9uJiMxMjU7PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPnNpemUmIzEyNTs8L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5jb3VudGVyJiMxMjU7PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5jb3VudGVybG9jYWxlJiMxMjU7PC9iPjwvdGQ+PHRkPnRleHQ6ICcuJGxhbmdbJ2NvdW50ZXJuYnInXS4nPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5oYXNoJiMxMjU7PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+ZXh0JiMxMjU7PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+Y3JlYXRlZCYjMTI1OzwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+ZXhwaXJlcyYjMTI1OzwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPnN0YXJ0cyYjMTI1OzwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT50aHVtYiYjMTI1OzwvYj48L3RkPjx0ZD50aHVtYm5haWwgaW1hZ2U8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPnRodW1iX3BhdGgmIzEyNTs8L2I+PC90ZD48dGQ+dGh1bWJuYWlsIHBhdGg8L3RkPjwvdHI+Cic7CgokbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddID0gJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddLicKPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+Y2F0ZWdvcmllcyYjMTI1OzwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmRvd25sb2FkJiMxMjU7PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5ocmVmJiMxMjU7PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+YWNjZXNzdHlwZXMmIzEyNTs8L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+ZGV0YWlsJiMxMjU7PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4KJzsKJGxhbmdbJ2Zvcm1fdGVtcGxhdGVoZWxwJ10gPSAnCjx0cj48dGggY29sc3Bhbj0iMiIgc3R5bGU9ImNvbG9yOiM3NzciPjxpPklucHV0czwvaT46PC90aD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRmaXJzdG5hbWVfaW5wdXQmIzEyNTs8L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRsYXN0bmFtZV9pbnB1dCYjMTI1OzwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskZW1haWxfaW5wdXQmIzEyNTs8L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JG1haWxpbmdsaXN0X2lucHV0JiMxMjU7PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRzdWJtaXQmIzEyNTs8L2I+PC90ZD48dGQ+c3VibWl0PC90ZD48L3RyPgo8dHI+PHRoIGNvbHNwYW49IjIiIHN0eWxlPSJjb2xvcjojNzc3Ij48aT5MYWJlbHM8L2k+OjwvdGg+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskZmlyc3RuYW1lX2xhYmVsJiMxMjU7PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskbGFzdG5hbWVfbGFiZWwmIzEyNTs8L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGVtYWlsX2xhYmVsJiMxMjU7PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRtYWlsaW5nbGlzdF9sYWJlbCYjMTI1OzwvYj48L3RkPjx0ZD5tYWlsaW5nbGlzdCBjaGVja2JveDwvdGQ+PC90cj4KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJwo8dHI+PHRkPjxiPiYjMTIzOyRmaXJzdG5hbWUmIzEyNTs8L2I+PC90ZD48dGQ+Zmlyc3RuYW1lIG9mIHVzZXIgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGxhc3RuYW1lJiMxMjU7PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRkdXJsJiMxMjU7PC9iPjwvdGQ+PHRkPmxpbmsgZm9yIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRkaHJlZiYjMTI1OzwvYj48L3RkPjx0ZD51cmkgZm9yIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPgonLiRsYW5nWydkZXRhaWxfdGVtcGxhdGVoZWxwJ10uJwonOwokbGFuZ1snbGlzdF90ZW1wbGF0ZWhlbHAnXSA9ICcKPHRyPjx0aCBjb2xzcGFuPSIyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Ij48YnIvPjxpPiBJbiB0aGUgJiMxMjM7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW0mIzEyNTsgbG9vcDo8L2k+PC90aD48L3RyPgo8dHI+PHRoPlZhcmlhYmxlOjwvdGg+PHRoPldoYXQgaXMgaXQ/PC90aD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5pdGVtbGV2ZWwmIzEyNTs8L2I+PC90ZD48dGQ+YWN0dWFsIGNhdGVnb3J5LWxldmVsPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5yb3djbGFzcyYjMTI1OzwvYj48L3RkPjx0ZD5yb3cxIG9yIHJvdzIgZGVwZW5kaW5nIG9uIHBhcml0eTwvdGQ+PC90cj4KCjx0cj48dGggY29sc3Bhbj0iMiIgc3R5bGU9ImNvbG9yOiM3NzciPjxpPiBXaGVuIDxiPiYjMTIzOyRpdGVtLT5pdGVtdHlwZSYjMTI1OzwvYj4gPSA8aT5oZWFkZXI8L2k+OjwvdGg+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+aXRlbXR5cGUmIzEyNTs8L2I+PC90ZD48dGQ+PGk+aGVhZGVyPC9pPjwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+bmFtZSYjMTI1OzwvYj48L3RkPjx0ZD5jYXRlZ29yeSBuYW1lPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5kZXNjcmlwdGlvbiYjMTI1OzwvYj48L3RkPjx0ZD5jYXRlZ29yeSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+c3ViY2F0ZWdvcmllcyYjMTI1OzwvYj48L3RkPjx0ZD5hcnJheSBvZiBzdWJjYXRlZ29yaWVzLCBlYWNoIHN1YmNhdGVnb3J5IGhhcyBlbGVtZW50czogaWQsIG5hbWUsIGxvbmdfbmFtZSwgYWxpYXMsIGZpbGVzbmIsIGl0ZW1zLCBwYXJlbnQ8L3RkPjwvdHI+Cgo8dHI+PHRoIGNvbHNwYW49IjIiIHN0eWxlPSJjb2xvcjojNzc3IiA+PGk+IFdoZW4gPGI+JiMxMjM7JGl0ZW0tPml0ZW10eXBlJiMxMjU7PC9iPiA9IDxpPmZpbGU8L2k+OjwvdGg+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+aXRlbXR5cGUmIzEyNTs8L2I+PC90ZD48dGQ+PGk+ZmlsZTwvaT48L3RkPjwvdHI+CicuJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXS4nCgo8dHI+PHRoIGNvbHNwYW49IjIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjxici8+PGk+SW4gd2hvbGUgdGVtcGxhdGU6PC9pPjwvdGg+PC90cj4KPHRyPjx0ZD48Yj5WYXJpYWJsZTo8L2I+PC90ZD48dGQ+PGI+V2hhdCBpcyBpdD88L2I+PC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtY291bnQmIzEyNTs8L2I+PC90ZD48dGQ+bnVtYmVyIG9mIGl0ZW1zIGluICRpdGVtczwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskbm9kb3dubG9hZHMmIzEyNTs8L2I+PC90ZD48dGQ+bWVzc2FnZSB0aGVuIHRoZXJlIGFyZSBubyBkb3dubG9hZHMgaW4gc2VsZWN0ZWQgY2F0ZWdvcnk8L3RkPjwvdHI+Cic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkLU1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdTdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgZGllIEJlbnV0emVyLCB3ZWxjaGUgZGVuIERvd25sb2FkTWFuYWdlciB2ZXJ3YWx0ZW4gc29sbGVuLCBkaWUgQmVyZWNodGlndW5nICZxdW90O1VzZSBEb3dubG9hZCBNYW5hZ2VyJnF1b3Q7IGhhYmVuLjxici8+U3RlbGxlbiBTaWUgc2ljaGVyLCBkYXNzIGRhcyBWZXJ6ZWljaG5pcyAmcXVvdDtkb3dubG9hZHMmcXVvdDsgaW0gQ01TbXMtV3VyemVsL1Vyc3BydW5ncy1WZXJ6ZWljaG5pcyBhbmdlbGVndCBpc3QgdW5kIGRpZSBSZWNodGUgJnF1b3Q7MDc3NyZxdW90OyBnZXNldHp0IHd1cmRlbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RlbiBEb3dubG9hZC1NYW5hZ2VyIGRlaW5zdGFsbGllcmVuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdXb2xsZW4gU2llIGRpZXNlcyBNb2R1bCB3aXJrbGljaCBkZWluc3RhbGxpZXJlbj8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdEYXMgTW9kdWwgd3VyZGUgZGVpbnN0YWxsaWVydC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnRGFzIE1vZHVsIHd1cmRlIGluIGRlciBWZXJzaW9uICVzIGluc3RhbGxpZXJ0Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdEaWUgTW9kdWxlaW5zdGVsbHVuZ2VuIHd1cmRlbiBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1p1Z3JpZmYgdmVyd2VpZ2VydC4gQml0dGUgcHImdXVtbDtmZW4gU2llIElocmUgQmVyZWNodGlndW5nZW4uJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ0JlaW0gVmVyYXJiZWl0ZW4gZGVyIERhdGVpICBpc3QgZWluIEZlaGxlciBhdWZnZXRyZXRlbic7CiRsYW5nWydub25lJ10gPSAnS2VpbmUnOwokbGFuZ1snc3VibWl0cmVxZW1haWwnXSA9ICdCZXN0JmF1bWw7dGlnZW4sIHVtIExpbmsgenVtIEhlcnVudGVybGFkZW4gZGVyIERhdGVpIHp1IGVyaGFsdGVuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyISc7CiRsYW5nWydiYWNrJ10gPSAnWnVyJnV1bWw7Y2snOwokbGFuZ1snYWN0aW9ucyddID0gJ0FrdGlvbmVuJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ0hhdXB0a2F0ZWdvcmllJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnRGVyIERvd25sb2FkLU1hbmFnZXIgd3VyZGUgYXVmIGRpZSBWZXJzaW9uICUgYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bC1FaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsLUFkbWluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQtTWFuYWdlcic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ0JpdHRlIGdlYmVuIFNpZSBlaW5lbiBOYW1lbiBlaW4uJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ1NpZSBtJnV1bWw7c3NlbiBhbmdlbWVsZGV0IHNlaW4sIHVtIGRpZXNlIERhdGVpIGhlcnVudGVyenVsYWRlbjogJzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1NpZSBzb2xsdGVuIHNpY2ggYW5tZWxkZW4sIHVtIGRpZXNlIERhdGVpIGhlcnVudGVyenVsYWRlbjonOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdEaWVzZXMgTW9kdWwgZXJtJm91bWw7Z2xpY2h0IGRpZSBWZXJ3YWx0dW5nIHZvbiBEb3dubG9hZHMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldpbGxrb21tZW4gaW0gVmVyd2FsdHVuZ3NiZXJlaWNoIGRlcyBEb3dubG9hZE1hbmFnZXJzLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4xIGFscGhhIC0gRXJzdGUgQWxwaGEgVmVyc2lvbjwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIFJlLU9yZGVyLU0mb3VtbDtnbGljaGtlaXQ8L2xpPg0KPGxpPlZlcnNpb24gMC4zIGJldGEgLSBiZW51dHplcmZyZXVuZGxpY2hlcjwvbGk+DQo8bGk+VmVyc2lvbiAwLjQgLSBJbnN0YWxsYXRpb25zZmVobGVyIGJlcmVpbmlndCwgZGVyIGRpZSBLYXRlZ29yaWUtVmVya24mdXVtbDtwZnVuZyB2ZXJoaW5kZXJ0ZSwgS2F0ZWdvcmllbiBhdWNoIGJlaW0gSGluenVmJnV1bWw7Z2VuIHZvbiBEYXRlaWVuIG51biB3JmF1bWw7aGxiYXI8L2xpPg0KPGxpPlZlcnNpb24gMC41IC0gVm9yZWluc3RlbGx1bmcgaW0gVmVyd2FsdHVuZ3NtZW4mdXVtbDsgaGluenVnZWYmdXVtbDtndCwgVGV4dHN0ZWxsZW4gaW50ZXJuYXRpb25hbGlzaWVydCwgVmFyaWFibGVuLUJlc2NocmVpYnVuZ2VuIGhpbnp1Z2VmJnV1bWw7Z3Q8L2xpPg0KPGxpPlZlcnNpb24gMC44IC0gRGF0YWJhc2UtVmlldyBlbnRmZXJudCB3Zy4gdmllbGVyb3J0cyBiZXN0ZWhlbmRlbiBFaW5zY2hyJmF1bWw7bmt1bmdlbiB3aWVkZXIgZW50ZmVybnQsIGZhbHNjaGVuIFZpZXctTmFtZSBrb3JyaWdpZXJ0LCBVUkwtcmV3cml0ZSBoaW56dWdlZiZ1dW1sO2d0LCBLb21wYXRpYmlsaXQmYXVtbDt0IG1pdCBDTVMgbWFkZSBzaW1wbGUgMS41LjEgZWluZ2VyaWNodGV0LCBlZGl0LmZpbGUtYnVnIGJlcmVpbmlndCwgUGFyYW1ldGVyIFwmIzAzOTtLYXRlZ29yaWUtU2VsZWt0b3JcJiMwMzk7IGYmdXVtbDtyIE1laHJmYWNoLUthdGVnb3JpZW4tQXVzd2FobCBlaW5nZXJpY2h0ZXQuPC9saT4NCjxsaT5WZXJzaW9uIDAuOC40IC0gS2F0ZWdvcmllLUF1c3dhaGwgaGluenVnZWYmdXVtbDtndCwgZWluaWdlIEZlaGxlciBiZXJlaW5pZ3Q8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBJbnRlZ3JhdGlvbiBtaXQgRkVVLU1vZHVsIGhpbnp1Z2VmJnV1bWw7Z3QsIERhdGVpLUxpbmstRW1haWwtVmVyc2FuZCwgS2F0ZWdvcmllbiBudW4gd2Fsa2FibGUsIHZlcnNjaGllZGVuZSBUZW1wbGF0ZXMsIFZvcmxhZ2VuIGYmdXVtbDtyIHZlcnNjaGllZGVuZSBBa3Rpb25lbiwgY2F0ZWdvcnlfc2VsZWN0b3IgUGFyYW1ldGVyIGdlJmF1bWw7bmRlcnQgenUgc2VsZWN0b3IsIEthdGVnb3JpZS1QYXJhbWV0ZXIgZW50ZmVybnQsIEthdGVnb3JpZS1MaXN0ZSBmJnV1bWw7ciBEYXRlaWVuIGluIGRlciBBdXN3YWhsIGhpbnp1Z2YmdXVtbDtndCwgQWxpYXNlIGYmdXVtbDtyIERhdGVpZW4gdW5kIEthdGVnb3JpZW4gaGluenVnZWYmdXVtbDtndDwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5FcyBlcm0mb3VtbDtnbGljaHQgZGllIFZlcndhbHR1bmcgdm9uIERhdGVpZW4sIGRpZSBTaWUgSWhyZW4gU2VpdGVuYmVzdWNoZXJuIHp1bSBIZXJ1bnRlcmxhZGVuIGFuYmlldGVuIG0mb3VtbDtjaHRlbi48L3A+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dD88L2gzPg0KPHA+MS4gTGVnZW4gU2llIGRhcyBWZXJ6ZWljaG5pcyAmcXVvdDtkb3dubG9hZHMmcXVvdDsgaW0gSGF1cHR2ZXJ6ZWljaG5pcyB2b24gQ01TTWFkZVNpbXBsZSBhbi48YnIvPjIuIFZlcmdlYmVuIFNpZSBkaWUgbm90d2VuZGlnZW4gU2NocmVpYnJlY2h0ZSBmJnV1bWw7ciBkaWVzZXMgVmVyemVpY2huaXMsIGplIG5hY2ggQXBhY2hlLUtvbmZpZ3VyYXRpb24gYmVuJm91bWw7dGlnZW4gU2llIDxpPjA3NzU8L2k+IG9kZXIgPGk+MDc1NTwvaT4uPC9wPg0KPHA+RGllIEFkbWluaXN0cmF0aW9uIGRlcyBNb2R1bHMgZXJyZWljaGVuIFNpZSBhdWYgJnV1bWw7YmVyIDxpPkluaGFsdGUgPiBEb3dubG9hZC1NYW5hZ2VyPC9pPi48L3A+DQo8cD5TaWUgayZvdW1sO25uZW4gZGVuIERvd25sb2FkLU1hbmFnZXIgZW50d2VkZXIgaW4gZWluZXIgU2VpdGVudm9ybGFnZSAvIFRlbXBsYXRlIG9kZXIgaW4gZWluZXIgSW5oYWx0cy1TZWl0ZSBlaW5iaW5kZW4uDQo8YnIgLz48YnIvPk51dHplbiBTaWUgZGFmJnV1bWw7ciBkZW4gU21hcnR5LVRhZyA8Yj48YmlnPjxjb2RlPiZhbXA7IzEyMztjbXNfbW9kdWxlIG1vZHVsZT1cJiMwMzk7RG93bmxvYWRNYW5hZ2VyXCYjMDM5O2NhdGVnb3J5PVwmIzAzOTtLYXRlZ29yaWUtTmFtZVwmIzAzOTsgdGVtcGxhdGU9XCYjMDM5O1RlbXBsYXRlLU5hbWVcJiMwMzk7JmFtcDsjMTI1OzwvY29kZT48L2JpZz48L2I+Lg0KPGJyIC8+PGk+Y2F0ZWdvcnk8L2k+IHVuZCA8aT50ZW1wbGF0ZTwvaT4gc2luZCBvcHRpb25hbGUgUGFyYW1ldGVyLiBXZWl0ZXJlIFBhcmFtZXRlciBmaW5kZW4gU2llIHVudGVuIGF1ZiBkZXIgU2VpdGUgYXVmZ2VsaXN0ZXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+RGllc2VzIE1vZHVsIGJpZXRldCBrZWluZW4ga29tbWVyemllbGxlbiBTdXBwb3J0LjwvcD4NCjxwPk5hY2ggZGVyIEdQTCB3aXJkIGRpZXNlIFNvZnR3YXJlIHNvIHZlciZvdW1sO2ZmZW50bGljaHQsIHdpZSBzaWUgaXN0LiBCaXR0ZSBsZXNlbiBTaWUgZGVuIExpemVuenRleHQgZiZ1dW1sO3IgZGVuIHZvbGxlbiBIYWZ0dW5nc2F1c3NjaGx1c3MuPC9wPg0KPGgzPkNvcHlyaWdodCB1bmQgTGl6ZW56PC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgU3p5bW9uIEx1a2FzemN6eWsgPGEgaHJlZj0ibWFpbHRvOnN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSI+c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPC9hPiB1bmQgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+cGwuZ2VybWFpbkBnbWFpbC5jb208L2E+LiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi48L3A+DQo8cD5EaWVzZXMgTW9kdWwgd3VyZGUgdW50ZXIgZGVyIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPiB2ZXImb3VtbDtmZmVudGxpY2h0LiBTaWUgbSZ1dW1sO3NzZW4gZGllc2VyIExpemVueiB6dXN0aW1tZW4sIGJldm9yIFNpZSBkYXMgTW9kdWwgdmVyd2VuZGVuLjwvcD4nOwokbGFuZ1snaGVscF9wYXJhbV9hY3Rpb24nXSA9ICdBa3Rpb25zLUF1c3dhaGwuIE0mb3VtbDtnbGljaGUgQWt0aW9uZW46IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHplaWd0IERhdGVpLUxpc3RlIGFuDQoJPGJyLz5vcHRpb25hbGUgUGFyYW1ldGVyOiA8ZW0+Y2F0ZWdvcnlpZDwvZW0+IG9kZXIgPGVtPmFsaWFzPC9lbT4sIDxlbT5kZXB0aDwvZW0+LCA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ei5CLjogICZhbXA7IzEyMztjbXNfbW9kdWxlIG1vZHVsZT1cJiMwMzk7RG93bmxvYWRNYW5hZ2VyXCYjMDM5OyBhbGlhcz1cJiMwMzk7bXktY2F0ZWdvcnlcJiMwMzk7IGRlcHRoPVwmIzAzOTsyXCYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogQXVzd2FobCBtZWhyZXJlciBLYXRlZ29yaWVuLCBzaWVoZSBhdWNoOiBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPkVyZm9yZGVybGljaDogPGVtPnNlbGVjdG9yPC9lbT4NCgk8YnIvPk9wdGlvbmFsZSBQYXJhbWV0ZXI6IDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz56LkIuOiAgJmFtcDsjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwmIzAzOTtEb3dubG9hZE1hbmFnZXJcJiMwMzk7IGFjdGlvbj1cJiMwMzk7c2VsZWN0b3JcJiMwMzk7IHNlbGVjdG9yPVwmIzAzOTszJmFtcDsoMXwyKVwmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kZXRhaWw8L2VtPjogemVpZ3QgRGV0YWlscyBkZXIgYXVzZ2V3JmF1bWw7aGx0ZW4gRGF0ZWkgYW4NCgk8YnIvPkVyZm9yZGVybGljaDogPGVtPmFsaWFzPC9lbT4NCgk8YnIvPk9wdGlvbmFsZSBQYXJhbWV0ZXI6IDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz56LkIuOiAgJmFtcDsjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwmIzAzOTtEb3dubG9hZE1hbmFnZXJcJiMwMzk7IGFjdGlvbj1cJiMwMzk7ZGV0YWlsXCYjMDM5OyBhbGlhcz1cJiMwMzk7bXktZmlsZVwmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kb3dubG9hZDwvZW0+OiBEb3dubG9hZCBkZXIgYXVzZ2V3JmF1bWw7aGx0ZW4gRGF0ZWllbg0KCTxici8+RXJmb3JkZXJsaWNoOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+T3B0aW9uYWxlIFBhcmFtZXRlcjogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz56LkIuOiAgJmFtcDsjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwmIzAzOTtEb3dubG9hZE1hbmFnZXJcJiMwMzk7IGFjdGlvbj1cJiMwMzk7ZG93bmxvYWRcJiMwMzk7IGFsaWFzPVwmIzAzOTtteS1maWxlXCYjMDM5OyB9IDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2NhdGVnb3J5aWQnXSA9ICdLYXRlZ29yaWUtSUQsIHp1IGZpbmRlbiBpbiBkZXIgS2F0ZWdvcmllbi1UYWJlbGxlLiBXZW5uIGdlc2V0enQsIHdpcmQgQWxpYXMgbmljaHQgYmVyJnV1bWw7Y2tzaWNodGlndC4nOwokbGFuZ1snaGVscF9wYXJhbV9hbGlhcyddID0gJ0thdGVnb3JpZS0gb2RlciBEYXRlaS1BbGlhcyc7CiRsYW5nWydoZWxwX3BhcmFtX2RlcHRoJ10gPSAnRGVmaW5pZXJ0IGRpZSBWZXJzY2hhY2h0ZWx1bmdzLVRpZWZlIGRlcyBha3R1ZWxsIGFuZ2V6ZWlndGVuIEJhdW1zLiBPaG5lIFZvcmdhYmUgd2lyZCBkZXIgZ2VzYW10ZSBCYXVtIGFuZ2V6ZWlndC4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlLU5hbWUuIE9obmUgVm9yZ2FiZSBpc3QgZGFzIFN0YW5kYXJkLVRlbXBsYXRlIGYmdXVtbDtyIGRpZSBha3R1ZWxsZSBBa3Rpb24gXCYjMDM5O2FjdGlvbi9maWxlL2NhdGVnb3J5XCYjMDM5Oy4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJyZxdW90O2NhdGVnb3J5X3NlbGVjdG9yJnF1b3Q7IGVybGF1YnQgZGllIEF1c3dhaGwgdm9uIG1laHIgYWxzIGVpbmVyIEthdGVnb3JpZS4gRGllIEFud2Vpc3VuZyBrYW5uIHNvIGxhdXRlbjoNCjx1bD4NCjxsaT4mcXVvdDsmYW1wOyZxdW90OyAtIFNjaG5pdHRtZW5nZTwvbGk+DQo8bGk+JnF1b3Q7fCZxdW90OyAtIHN1bTwvbGk+DQo8bGk+S2F0ZWdvcnkgSUQgKFNpZSB3aXJkIGluIGRlciBLYXRlZ29yaWUtVGFiZWxsZSBhbmdlemVpZ3QuKTwvbGk+DQo8bGk+YWxsZSB3ZWl0ZXJlbiBaZWljaGVuIHdlcmRlbiB2b3IgZGVtIEF1c2xlc2VuIGVudGZlcm50PC9saT4NCjwvdWw+DQpTbyB3aXJkIGRpZSBBbmdhYmUgPGk+Y2F0ZWdvcnlfc2VsZWN0b3I9JnF1b3Q7MyZhbXA7KDF8MikmcXVvdDs8L2k+IGFsbGUgV2VydGUgZGVyIEthdGVnb3JpZSBtaXQgZGVyIGlkPTMgenVyJnV1bWw7Y2tsaWVmZXJuLCB3ZWxjaGUgYXVjaCBpbiBkZXIgaW4gZGVyIFN1bW1lIHZvbiBLYXRlZ29yaWUgMSB1bmQgMiBlbnRoYWx0ZW4gc2luZC4uIDxici8+DQpXZW5uICZxdW90O2NhdGVnb3J5X3NlbGVjdG9yJnF1b3Q7IGRlZmluaWVydCBpc3QsIHdpcmQgZGVyIEthdGVnb3JpZS1QYXJhbWV0ZXIgPGI+aWdub3JpZXJ0LjwvYj4NCic7CiRsYW5nWyd3cm9uZ2FsaWFzJ10gPSAnRmFsc2NoZXIgQWxpYXMgZ2V3JmF1bWw7aGx0Lic7CiRsYW5nWydkb3dubG9hZCddID0gJ0Rvd25sb2FkICc7CiRsYW5nWydkb3dubG9hZGluZyddID0gJyVzIGhlcnVudGVyZ2VsYWRlbi4uLic7CiRsYW5nWydiYWNrdG9saXN0J10gPSAnWnVyJnV1bWw7Y2sgenVyIERhdGVpbGlzdGUuJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdEZXIgRG93bmxvYWQgd2lyZCBiYWxkIHN0YXJ0ZW4uIEZhbGxzIFByb2JsZW1lIGF1ZnRyZXRlbiwgd2VuZGVuIFNpZSBzaWNoIGJpdHRlIGFuIGRlbiBXZWJtYXN0ZXIuJzsKJGxhbmdbJ25vZmlsZSddID0gJ0tlaW5lIERhdGVpIGF1c2dldyZhdW1sO2hsdCc7CiRsYW5nWyd3cm9uZ2ZpbGUnXSA9ICdGYWxzY2hlIERhdGVpLUlEJzsKJGxhbmdbJ25vYWNjZXMnXSA9ICdTaWUgaGFiZW4ga2VpbmUgQmVyZWNodGlndW5nIGYmdXVtbDtyIGRpZXNlIERhdGVpLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdEb3dubG9hZC1WZXJ6ZWljaG5pcyc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnR2VzY2FubnRlIFZlcnplaWNobmlzc2UgKG1pdCBTZW1pa29sb24gZ2V0cmVubnQsIEJlaXNwaWVsICZxdW90O2RpcjEvO2RpcjIvO2RpcjMvJnF1b3Q7ICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSA9ICdEaWUgVmVyemVpY2huaXMgcmVrdXJzaXYgZHVyY2hzdWNoZW4/JzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgZGFzIEhlcnVudGVybGFkZW4nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGVfaW5mbyddID0gJzx0YWJsZSBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmxlZnQ7JnF1b3Q7Pg0KPHRyPjx0ZD48Yj5WYXJpYWJsZTo8L2I+PC90ZD48dGQ+PGI+V2FzIGlzdCBkYXM/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj4mYW1wOyMxMjM7JGRvd25sb2FkaW5nX2luZm8mYW1wOyMxMjU7PC9iPjwvdGQ+DQo8dGQ+VGV4dDogRGllIERhdGVpIHdpcmQgaGVydW50ZXJnZWxhZGVuLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj4mYW1wOyMxMjM7JGRvd25sb2FkaW5nX2luZm8mYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlRleHQ6IERlciBEb3dubG9hZCB3aXJkIGJhbGQgc3RhcnRlbi4gRmFsbHMgUHJvYmxlbWUgYXVmdHJldGVuLCB3ZW5kZW4gU2llIHNpY2ggYml0dGUgYW4gZGVuIFdlYm1hc3Rlci48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+JmFtcDsjMTIzO2Rvd25sb2FkX25hbWUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk5hbWUgZGVyIGFrdHVlbGxlbiBEb3dubG9hZC1EYXRlaS48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+JmFtcDsjMTIzOyRiYWNrdG9saXN0bGluayZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WnVyJnV1bWw7Y2sgenVyIExpbmtsaXN0ZS48L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQonOwokbGFuZ1snZG93bmxvYWRfZGlyX25vdF93cml0YWJsZSddID0gJ0RhcyBEb3dubG9hZC1WZXJ6ZWljaG5pcyAoJXMpIGlzdCBuaWNodCBiZXNjaHJlaWJiYXIsICZhdW1sO25kZXJuIFNpZSBkaWUgRGF0ZWktUmVjaHRlIChjaG1vZCA3NzcpLic7CiRsYW5nWydkaXJfZG9udF9leGlzdHMnXSA9ICdEYXMgRG93bmxvYWQtVmVyemVpY2huaXMgKCVzKSBpc3QgbmljaHQgdm9yaGFuZGVuLCBiaXR0ZSBsZWdlbiBTaWUgZXMgenVlcnN0IGFuLic7CiRsYW5nWyduYW1lbGFiZWwnXSA9ICdOYW1lICc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdEb3dubG9hZC1aJmF1bWw7aGxlcic7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnJXMgbWFsIGhlcnVudGVyZ2VsYWRlbi4nOwokbGFuZ1snYWxpYXNsYWJlbCddID0gJ0FsaWFzICc7CiRsYW5nWydmaWxlbGFiZWwnXSA9ICdEYXRlaSc7CiRsYW5nWydmaWxlZGVsZXRlZCddID0gJ0RpZSBEYXRlaSB3dXJkZSBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTmV1ZSBEYXRlaSBob2NobGFkZW4nOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnQmVyZWl0cyBob2NoZ2VsYWRlbmRlIERhdGVpIHZlcndlbmRlbiAoZ2ViZW4gU2llIGRlbiBleGFrdGVuIFBmYWQgdm9tIENNUyBSb290IFZlcnplaWNobmlzIHp1ciBEYXRlaSBhbiknOwokbGFuZ1snZXh0ZXJuYWxmaWxlJ10gPSAnRXh0ZXJuZW4gRGF0ZWl6dWdyaWZmIHZpYSBodHRwIHZlcndlbmRlbi4gRGllIERhdGVpIHdpcmQgbmljaHQgYXVmIGRlbiBTZXJ2ZXIgaG9jaGdlbGFkZW4nOwokbGFuZ1snZmlsZWRvZXNudGV4aXN0cyddID0gJ0RpZSBEYXRlaSAlcyBnaWJ0IGVzIGF1ZiBkZW0gU2VydmVyIG5pY2h0Lic7CiRsYW5nWydjdXJsZmFpbGVkJ10gPSAnRGllIEN1cmwtQW5mcmFnZSBpc3QgZmVobGdlc2NobGFnZW4uJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdEaWUgc2VydmVyc2VpdGlnZSBDdXJsLXBocC1FcndlaXRlcnVuZ2VuLCBkaWUgZiZ1dW1sO3IgZXh0ZXJuZSBMaW5rcyBiZW4mb3VtbDt0aWd0IHdpcmQsIGlzdCBuaWNodCB2b3JoYW5kZW4uJzsKJGxhbmdbJ3NlcnZlcl9uYW1lbGFiZWwnXSA9ICdEYXRlaW5hbWUgYXVmIGRlbSBTZXJ2ZXInOwokbGFuZ1snZXh0bGFiZWwnXSA9ICdEYXRlaS1FbmR1bmcvLUV4dGVuc2lvbic7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdEYXRlaWdyJm91bWw7JnN6bGlnO2UnOwokbGFuZ1snaGFzaGxhYmVsJ10gPSAnTUQ1LUhhc2gtV2VydCc7CiRsYW5nWydkZXNjcmlwdGlvbmxhYmVsJ10gPSAnQmVzY2hyZWlidW5nJzsKJGxhbmdbJ2NyZWF0ZWRsYWJlbCddID0gJ0Vyc3RlbGx1bmdzZGF0dW06ICc7CiRsYW5nWydleHBpcmVzbGFiZWwnXSA9ICdBYmxhdWZkYXR1bTogJzsKJGxhbmdbJ3Zpc2libGVsYWJlbCddID0gJ1NpY2h0YmFyJzsKJGxhbmdbJ3VzZWV4cGlyYXRpb24nXSA9ICdBYmxhdWZkYXR1bSB2ZXJ3ZW5kZW4nOwokbGFuZ1snYWRkZmlsZSddID0gJ05ldWUgRGF0ZWknOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnTmFjaCBuZXVlbiBEYXRlaWVuIHN1Y2hlbic7CiRsYW5nWydzY2FucmVzdWx0J10gPSAnRHVyY2hzdWNodGUgVmVyemVpY2huaXNzZTogJXMgPGJyIC8+ICVzIG5ldWUgRGF0ZWllbiBuYWNoc3RlaGVuZCBhdWZnZWYmdXVtbDtocnQuIFcmYXVtbDtobGVuIFNpZSBkaWUgRGF0ZWkgYXVzLic7CiRsYW5nWydzY2Fubm9uZXcnXSA9ICdLZWluZSBuZXVlbiBEYXRlaWVuIGhpbnp1Z2VmJnV1bWw7Z3QuJzsKJGxhbmdbJ25vZmlsZWdpdmVuJ10gPSAnTm9jaCBrZWluZSBEYXRlaSB2b3JoYW5kZW4nOwokbGFuZ1snbm90aGluZ3VwbG9hZGVkJ10gPSAnRXMgd3VyZGUga2VpbmUgb2RlciBlaW5lIGxlZXJlIERhdGVpIGhvY2hnZWxhZGVuLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdFcyBpc3QgbmljaHQgbSZvdW1sO2dsaWNoLCBkaWUgaG9jaGdlbGFkZW5lIERhdGVpIGF1ZiBkZW0gU2VydmVyIHp1IGtvcGllcmVuIG9kZXIgenUgdmVyc2NoaWViZW4uJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1R5cCc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0RhdGVpZW4nOwokbGFuZ1snZmlsZWFkZGVkJ10gPSAnRGllIERhdGVpIHd1cmRlIGhpbnp1Z2VmJnV1bWw7Z3QnOwokbGFuZ1snZmlsZW1vZGlmaWVkJ10gPSAnRGllIERhdGVpIHd1cmRlIGdlJmF1bWw7bmRlcnQnOwokbGFuZ1sndGVtcGxhdGVmb3Jmb3JtJ10gPSAnRm9ybXVsYXItVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVmb3JkZXRhaWwnXSA9ICdEZXRhaWwtVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVmb3JlbWFpbCddID0gJ0VtYWlsLVRlbXBsYXRlJzsKJGxhbmdbJ2ZldWdyb3Vwc2xhYmVsJ10gPSAnRkVVLUdydXBwZW4sIGRpZSBhdWYgZGllc2UgRGF0ZWkgenVncmVpZmVuIGQmdXVtbDtyZmVuJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdadWdyaWZmcy1UeXAnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnRnJlaWVyIFp1Z3JpZmYnOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnTnVyIEZyb250ZW5kLVVzZXInOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdOdXIgcGVyIEVtYWlsJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGcm9udGVuZC1Vc2VyIG9kZXIgRW1haWwnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMgJzsKJGxhbmdbJ2ZpbGVjaGFuZ2UnXSA9ICdEaWVzZSBEYXRlaSBlcnNldHplbic7CiRsYW5nWydjaGFuZ2VmaWxlaW5mbyddID0gJ1cmYXVtbDtobGVuIFNpZSBkaWUgRGF0ZWksIG1pdCBkZXIgU2llIGRpZSBha3R1ZWxsZSBEYXRlaSAmcXVvdDslcyZxdW90Ow0KKEFsaWFzOiAlcykgZXJzZXR6ZW4gbSZvdW1sO2NodGVuLiBBbGxlIFZlcmtuJnV1bWw7cGZ1bmdlbiwgTGlua3MsIEluZm9zIHVuZCBkZXIgQWxpYXMtTmFtZSBibGVpYmVuIHVudmVyJmF1bWw7bmRlcnQuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnRGllIERhdGVpIHd1cmRlIGVyc2V0enQnOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnU29sbCBkZXIgRGF0ZWluYW1lIG1pdCBkZW0gTmFtZW4gZGVyIG5ldWVuIERhdGVpIGVyc2V0enQgd2VyZGVuPyc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ05ldWUgS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnJlV1bWw7YmVyZ2VvcmRuZXRlIEthdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yaWVzdGFiaGVhZGVyJ10gPSAnS2F0ZWdvcmllbic7CiRsYW5nWydyZW9yZGVyX3ByaW9yaXR5J10gPSAnR2V3aWNodHVuZyAoLTk5IGJpcyA5OSksICBuaWVkcmlnZXIgV2VydC0+aCZvdW1sO2hlcmUgR2V3aWNodHVuZyc7CiRsYW5nWydub2Rvd25sb2FkcyddID0gJ0tlaW5lIERhdGVpZW4genVtIEhlcnVudGVybGFkZW4gaW4gZGllc2VyIEthdGVnb3JpZSc7CiRsYW5nWydmaWxlbmInXSA9ICclcyBEYXRlaShlbiknOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0RpZSBLYXRlZ29yaWUgd3VyZGUgaGluenVnZWYmdXVtbDtndC4nOwokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnRGllIEthdGVnb3JpZSB3dXJkZSBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ0RpZSBLYXRlZ29yaWUgd3VyZGUgZ2VsJm91bWw7c2NodC4nOwokbGFuZ1snY2F0ZWdvcnljb250ZW50dHlwZWZyaWVuZGx5J10gPSAnS2F0ZWdvcmllIHp1bSBIZXJ1bnRlcmxhZGVuJzsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXSA9ICcmVXVtbDtiZXJzaWNodCc7CiRsYW5nWydhc3NvY2F0aW9uc3RhYmhlYWRlciddID0gJ0thdGVnb3JpZW4nOwokbGFuZ1snYWRkYXNzb2MnXSA9ICdadXIgS2F0ZWdvcmllIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5c2VsJ10gPSAnRmVobGVyIGJlaW0gUGFyc2VuIGRlcyBLYXRlZ29yaWUtU2VsZWt0b3JzLjxiciAvPiBTZWxla3RvciBuYWNoIEJlcmVpbmlndW5nOiAlcyc7CiRsYW5nWydub2NhdGVnb3J5c2VsJ10gPSAnS2F0ZWdvcmllLVNlbGVrdG9yIG5pY2h0IGdlc2V0enQuJzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnknXSA9ICdEaWUgZ2V3JmF1bWw7aGx0ZSBLYXRlZ29yaWUgZ2lidCBlcyBuaWNodC4nOwokbGFuZ1snc2VuZGVtYWlsJ10gPSAnTGluayB6dW0gSGVydW50ZXJsYWRlbiAoaW4gZGVyIEVtYWlsKSc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnVm9ybmFtZSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdGYW1pbGllbm5hbWUnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWwtQWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfbWFpbGluZ2xpc3QnXSA9ICdJY2ggbSZvdW1sO2NodGUgJnV1bWw7YmVyIEFrdHVhbGlzaWVydW5nZW4gdW5kIGFuZGVyZSB3aWNodGlnZSBOZXVpZ2tlaXRlbiBpbmZvcm1pZXJ0IHdlcmRlbi4nOwokbGFuZ1snZW1haWxzZW50J10gPSAnRWluZSBFbWFpbCBtaXQgZGVtIExpbmsgenVtIEhlcnVudGVybGFkZW4gZGVyIGdldyZ1dW1sO25zY2h0ZW4gRGF0ZWkgd3VyZGUgYW4gZGllIGFuZ2VnZWJlbmUgQWRyZXNzZSB2ZXJzYW5kdC4nOwokbGFuZ1snY291bGRub3RzZW5kJ10gPSAnQmVpIElocmVyIEFuZm9yZGVydW5nIGlzdCBlaW4gRmVobGVyIGF1ZmdldHJldGVuLCBkaWUgRW1haWwga29ubnRlIG5pY2h0IHZlcnNhbmR0IHdlcmRlbi4nOwokbGFuZ1snaW52YWxpZGVtYWlsJ10gPSAnRGllIGFuZ2VnZWJlbmUgRW1haWwtQWRyZXNzZSBpc3QgdW5nJnV1bWw7bHRpZy4gT2huZSBnJnV1bWw7bHRpZ2UgRW1haWwtQWRyZXNzZSBrJm91bWw7bm5lbiB3aXIgSWhuZW4gZGVuIExpbmssIGRlbiBTaWUgenVtIEhlcnVudGVybGFkZW4gZGVyIERhdGVpIGJlbiZvdW1sO3RpZ2VuLCBuaWNodCBtaXR0ZWlsZW4uJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnQml0dGUgZ2ViZW4gU2llIElocmVuIE5hbWVuIGVpbi4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnQml0dGUgZ2ViZW4gU2llIElocmUgRW1haWwtQWRyZXNzZSBlaW4uIERlciBMaW5rIHp1bSBIZXJ1bnRlcmxhZGVuIGRlciBEYXRlaSB3aXJkIGFuIGRpZXNlIEFkcmVzc2UgdmVyc2FuZHQuJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnTmV1ZXMgVGVtcGxhdGUnOwokbGFuZ1snbGlzdHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmJnV1bWw7ciBLYXRlZ29yaWUtIG9kZXIgRGF0ZWktTGlzdGVuJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05ldWVzIExpc3Rlbi1UZW1wbGF0ZSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZiZ1dW1sO3IgZGllIEFuemVpZ2Ugdm9uIERhdGVpLURldGFpbHMnOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOZXVlcyBEZXRhaWwtVGVtcGxhdGUnOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmJnV1bWw7ciBkYXMgRW1haWwtQW5mb3JkZXJ1bmdzZm9ybXVsYXInOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTmV1ZXMgRm9ybXVsYXItVGVtcGxhdGUnOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZiZ1dW1sO3IgRW1haWxzIHp1bSBWZXJzZW5kZW4gZGVzIExpbmtzIHp1bSBIZXJ1bnRlcmxhZGVuIHZvbiBEYXRlaWVuJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOZXVlcyBUZW1wbGF0ZSBmJnV1bWw7ciBkaWUgRW1haWwtTmFjaHJpY2h0JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkLVRlbXBsYXRlIHZlcndlbmRlbiAoc2llaGUgTGlzdGUgZGVyIFRlbXBsYXRlcyknOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJ10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCBkYXMgVGVtcGxhdGUgJXMgbCZvdW1sO3NjaGVuPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlICc7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdJbmhhbHQnOwokbGFuZ1sndGVtcGxhdGVfbmFtZWxhYmVsJ10gPSAnTmFtZSAnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ0RhcyBUZW1wbGF0ZSB3dXJkZSBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdEYXMgVGVtcGxhdGUgd3VyZGUgZ2UmYXVtbDtuZGVydCc7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdEYXMgVGVtcGxhdGUgd3VyZGUgZ2VsJm91bWw7c2NodC4nOwokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ1NpZSBoYWJlbiBlaW5lbiBmYWxzY2hlbiBUZW1wbGF0ZS1OYW1lbiBhbmdlZ2ViZW4uJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ0VzIGdpYnQgYmVyZWl0cyBlaW4gVGVtcGxhdGUgbWl0IGRpZXNlbSBOYW1lbi4nOwokbGFuZ1snZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPlp1ciZ1dW1sO2NrIHp1ciBMaW5rbGlzdGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10gPSAnDQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+bmFtZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWluYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRlc2NyaXB0aW9uJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaS1CZXNjaHJlaWJ1bmc8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+c2l6ZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWktR3Imb3VtbDsmc3psaWc7ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jb3VudGVyJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aJmF1bWw7aGxlciwgd2llIG9mIGRpZXNlIERhdGVpIGhlcnVudGVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlcmxvY2FsZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+VGV4dDogJXMgbWFsIGhlcnVudGVyZ2VsYWRlbi48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+aGFzaCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+TWQ1LUhhc2gtV2VydDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5leHQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpLUVuZHVuZy8tRXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jcmVhdGVkJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aZWl0cHVua3QsIGFuIGRlbSBkaWUgRGF0ZWkgYXVmIGRlbiBTZXJ2ZXIgZ2VsYWRlbiB3dXJkZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5leHBpcmVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5BYmxhdWZkYXR1bSwgbmFjaCBkZW0gZGllc2UgRGF0ZWkgbmljaHQgbWVociB2ZXJmJnV1bWw7Z2JhciBpc3Q8L3RkPjwvdHI+DQonOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddID0gJw0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPm5hbWUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kZXNjcmlwdGlvbiZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWktQmVzY2hyZWlidW5nPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPnNpemUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpLUdyJm91bWw7JnN6bGlnO2U8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlciZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WiZhdW1sO2hsZXIsIHdpZSBvZiBkaWVzZSBEYXRlaSBoZXJ1bnRlciBnZWxhZGVuIHd1cmRlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmNvdW50ZXJsb2NhbGUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlRleHQ6ICVzIG1hbCBoZXJ1bnRlcmdlbGFkZW4uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmhhc2gmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1kNS1IYXNoLVdlcnQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZXh0JmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaS1FbmR1bmcvLUV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y3JlYXRlZCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WmVpdHB1bmt0LCBhbiBkZW0gZGllIERhdGVpIGF1ZiBkZW4gU2VydmVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZXhwaXJlcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+QWJsYXVmZGF0dW0sIG5hY2ggZGVtIGRpZXNlIERhdGVpIG5pY2h0IG1laHIgdmVyZiZ1dW1sO2diYXIgaXN0PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y2F0ZWdvcmllcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+S2F0ZWdvcmllbiwgZGVuZW4gZGllIERhdGVpIHp1Z2VvcmRuZXQgaXN0ICh2ZXJmJnV1bWw7Z2JhciBpbiBkZXIgQXVzd2FobCB1bmQgaW0gRGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kb3dubG9hZCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+ZXJ6ZXVndGVyIExpbmsgenVtIEhlcnVudGVybGFkZW48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+aHJlZiZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+aHJlZiBhdWYgZGllIGhlcnVudGVyenVsYWRlbmRlIERhdGVpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmFjY2Vzc3R5cGVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5BcnJheSBkZXIgWnVncmlmZnN0eXBlbiAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZGV0YWlsJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5lcnpldWd0ZXIgRGV0YWlsLUxpbms8L3RkPg0KPC90cj4nOwokbGFuZ1snZm9ybV90ZW1wbGF0ZWhlbHAnXSA9ICcNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+RWluZ2FiZW48L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRmaXJzdG5hbWVfaW5wdXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlZvcm5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbGFzdG5hbWVfaW5wdXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkZhbWlsaWVubmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRlbWFpbF9pbnB1dCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbWFpbGluZ2xpc3RfaW5wdXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1haWxpbmdsaXN0ZS1DaGVja2JveDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRzdWJtaXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmFic2VuZGVuPC90ZD48L3RyPg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5MYWJlbHM8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRmaXJzdG5hbWVfbGFiZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlZvcm5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbGFzdG5hbWVfbGFiZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkZhbWlsaWVubmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRlbWFpbF9sYWJlbCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbWFpbGluZ2xpc3RfbGFiZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1haWxpbmdsaXN0ZW4tS29udHJvbGxmZWxkPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJw0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGZpcnN0bmFtZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+Vm9ybmFtZSBkZXMgQmVudXR6ZXJzLCBkZXIgZGllIERhdGVpIGhlcnVudGVybCZhdW1sO2R0PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGxhc3RuYW1lJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5GYW1pbGllbm5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskZHVybCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+TGluayB6dW0gRGF0ZWktRG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskZGhyZWYmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlVSaSBkZXMgRGF0ZWktRG93bmxvYWRzPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+RGF0ZWluYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5EYXRlaS1CZXNjaHJlaWJ1bmc8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+RGF0ZWlnciZvdW1sOyZzemxpZztlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmNvdW50ZXImYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlomYXVtbDtobGVyLCB3aWUgb2YgZGllc2UgRGF0ZWkgaGVydW50ZXIgZ2VsYWRlbiB3dXJkZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jb3VudGVybG9jYWxlJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5UZXh0OiAlcyBtYWwgaGVydW50ZXJnZWxhZGVuLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5NZDUtSGFzaC1XZXJ0PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+RGF0ZWktRW5kdW5nLy1FeHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPlplaXRwdW5rdCwgYW4gZGVtIGRpZSBEYXRlaSBhdWYgZGVuIFNlcnZlciBnZWxhZGVuIHd1cmRlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPkFibGF1ZmRhdHVtLCBuYWNoIGRlbSBkaWVzZSBEYXRlaSBuaWNodCBtZWhyIHZlcmYmdXVtbDtnYmFyIGlzdDwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmNhdGVnb3JpZXMmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkthdGVnb3JpZW4sIGRlbmVuIGRpZSBEYXRlaSB6dWdlb3JkbmV0IGlzdCAodmVyZiZ1dW1sO2diYXIgaW4gZGVyIEF1c3dhaGwgdW5kIGltIERldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZG93bmxvYWQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmVyemV1Z3RlciBMaW5rIHp1bSBIZXJ1bnRlcmxhZGVuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmhyZWYmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmhyZWYgYXVmIGRpZSBoZXJ1bnRlcnp1bGFkZW5kZSBEYXRlaTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5hY2Nlc3N0eXBlcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+QXJyYXkgZGVyIFp1Z3JpZmZzdHlwZW4gKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRldGFpbCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+ZXJ6ZXVndGVyIERldGFpbC1MaW5rPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2xpc3RfdGVtcGxhdGVoZWxwJ10gPSAnDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT4gSW0gJmFtcDsjMTIzO2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtJmFtcDsjMTI1OyBMb29wOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRoPlZhcmlhYmxlOjwvdGg+PHRoPldhcyBpc3QgZGFzPzwvdGg+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5pdGVtbGV2ZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmFrdGl2ZXMgS2F0ZWdvcmllLUxldmVsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPnJvd2NsYXNzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5SZWloZTEgb2RlciBSZWloZTIsIGFiaCZhbXA7YXVtbDtuZ2lnIG9iIGdlcmFkZSBvZGVyIHVuZ2VyYWRlPC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPiBXZW5uIDxiPiZhbXA7IzEyMzskaXRlbS0+aXRlbXR5cGUmYW1wOyMxMjU7PC9iPiA9IDxpPmhlYWRlcjwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPml0ZW10eXBlJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD48aT5oZWFkZXI8L2k+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPm5hbWUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkthdGVnb3JpZS1OYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRlc2NyaXB0aW9uJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5LYXRlZ29yaWUtQmVzY2hyZWlidW5nPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPnN1YmNhdGVnb3JpZXMmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkFycmF5IGRlciBVbnRlcmthdGVnb3JpZW4sIGplZGUgVW50ZXJrYXRlZ29yaWUgYmVzaXR6dCBkaWVzZSBFbGVtZW50ZTogaWQsIG5hbWUsIGxvbmdfbmFtZSwgYWxpYXMsIGZpbGVzbmIsIGl0ZW1zLCBwYXJlbnQ8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDsgPjxpPiBXZW5uIDxiPiZhbXA7IzEyMzskaXRlbS0+aXRlbXR5cGUmYW1wOyMxMjU7PC9iPiA9IDxpPmZpbGU8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5pdGVtdHlwZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+PGk+ZmlsZTwvaT48L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5uYW1lJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaW5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZGVzY3JpcHRpb24mYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpLUJlc2NocmVpYnVuZzwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5zaXplJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaWdyJm91bWw7JnN6bGlnO2U8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlciZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WiZhdW1sO2hsZXIsIHdpZSBvZiBkaWVzZSBEYXRlaSBoZXJ1bnRlciBnZWxhZGVuIHd1cmRlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmNvdW50ZXJsb2NhbGUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlRleHQ6ICVzIG1hbCBoZXJ1bnRlcmdlbGFkZW4uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmhhc2gmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1kNS1IYXNoLVdlcnQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZXh0JmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaS1FbmR1bmcvLUV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y3JlYXRlZCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WmVpdHB1bmt0LCBhbiBkZW0gZGllIERhdGVpIGF1ZiBkZW4gU2VydmVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZXhwaXJlcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+QWJsYXVmZGF0dW0sIG5hY2ggZGVtIGRpZXNlIERhdGVpIG5pY2h0IG1laHIgdmVyZiZ1dW1sO2diYXIgaXN0PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y2F0ZWdvcmllcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+S2F0ZWdvcmllbiwgZGVuZW4gZGllIERhdGVpIHp1Z2VvcmRuZXQgaXN0ICh2ZXJmJnV1bWw7Z2JhciBpbiBkZXIgQXVzd2FobCB1bmQgaW0gRGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kb3dubG9hZCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+ZXJ6ZXVndGVyIExpbmsgenVtIEhlcnVudGVybGFkZW48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+aHJlZiZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+aHJlZiBhdWYgZGllIGhlcnVudGVyenVsYWRlbmRlIERhdGVpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmFjY2Vzc3R5cGVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5BcnJheSBkZXIgWnVncmlmZnN0eXBlbiAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZGV0YWlsJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5lcnpldWd0ZXIgRGV0YWlsLUxpbms8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPkltIGdlc2FtdGVuIFRlbXBsYXRlOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XYXMgaXN0IGRhcz88L2I+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW1jb3VudCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+QW56YWhsIGRlciBFaW50ciZhdW1sO2dlIGluICRpdGVtczwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRub2Rvd25sb2FkcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+SGlud2VpcywgZGFzcyBlcyBpbiBkZXIgZ2V3JmF1bWw7aGx0ZW4gS2F0ZWdvcmllIGtlaW5lIERhdGVpZW4genVtIEhlcnVudGVybGFkZW4gZ2lidDwvdGQ+PC90cj4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MTc0NjI3MzYuMTE0NzUxMTg1Ni4xMjYyNjc3OTM4LjEyNjI2ODIwNjguMzk4JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2MjU2MDEwMC4zOTMuNy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vcHJvamVjdHMvZ2FsbGVyeXx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sncWNhJ10gPSAnMTI0NjQ2OTgxNS0zNzM3MTAxMS0xMTkzMTYyMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhLiA8YnIvPiBSZW1lbWJlciB0byBjcmVhdGUgZG93bmxvYWRzLyBkaXIgaW4gcm9vdCBjbXMgZGlyIGFuZCBnaXZlIGl0IDA3NzcgcGVybWlzc2lvbnMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0Rvd25sb2FkIE1hbmFnZXIgdW5pbnN0YWxsJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzIHZvdXMgc3VyIGRlIHZvdWxvaXIgZCZlYWN1dGU7c2luc3RhbGxlciBjZSBtb2R1bGUgPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBkJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgaW5zdGFsbCZlYWN1dGU7IHZlcmlvbnMgJXMnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBkdSBtb2R1bGUgbWlzZXMgJmFncmF2ZTsgam91ci4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjJmVncmF2ZTtzIHJlZnVzJmVhY3V0ZTsuIFZldWlsbGV6IHYmZWFjdXRlO3JpZmllciB2b3MgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ0Vycm9yIG9jY3VyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGlzIGZpbGUnOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnQ2xpcXVleiBwb3VyIHJlY2V2b2lyIHVuIGxpZW4gcG91ciB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VyJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyZXVyICEnOwokbGFuZ1snYmFjayddID0gJ1JldG91cm5leiBlbiBhcnJpJmVncmF2ZTtyZS4nOwokbGFuZ1snYWN0aW9ucyddID0gJ0FjdGlvbnMnOwokbGFuZ1sncm9vdGNhdGVnb3J5J10gPSAnQ2F0JmVhY3V0ZTtnb3JpZSBwYXJlbnRlJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIG1pcyAmYWdyYXZlOyBuaXZlYXUgJmFncmF2ZTsgbGEgdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUiZlYWN1dGU7Z2xhZ2VzIGR1IG1vZHVsZSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5uZWF1IGQmIzAzOTthZG1pbmlzdHJhdGlvbiBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdEb3dubG9hZCBNYW5hZ2VyJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnVm91cyBkZXZleiBlbnRyZXIgdW4gbm9tLic7CiRsYW5nWydtdXN0bG9naW4nXSA9ICdWb3VzIGRldmV6IHZvdXMgYXV0aGVudGlmaWVyIHBvdXIgdCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlciBjZSBmaWNoaWVyIDonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnVm91cyBkZXZleiBhdXNzaSB2b3VzIGNvbm5lY3RlciBwb3VyIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZXIgY2UgZmljaGllciA6JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2UgbW9kdWxlIHBlcm1ldCBkZSBnJmVhY3V0ZTtyZXIgbGVzIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CaWVudmVudWUgZGFucyBsYSBzZWN0aW9uIGQmIzAzOTthZG1pbmlzdHJhdGlvbiBkdSBtb2R1bGUgRG93bmxvYWRNYW5hZ2VyLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4xIGFscGhhIC0gZmlyc3QgYWxwaGE8L2xpPg0KPGxpPlZlcnNpb24gMC4yIGJldGEgLSBpdGVtIHJlb3JkZXIgYWRkZWQ8L2xpPg0KPGxpPlZlcnNpb24gMC4zIGJldGEgLSBtYWtpbmcgbW9kdWxlIG1vcmUgdXNlci1mcmllbmRseTwvbGk+DQo8bGk+VmVyc2lvbiAwLjQgLSBmaXhlZCBpbnN0YWxsIGJ1ZyB3aGljaCB1bmFibGVzIGFzc29jaWF0aW9ucywgYWRkZWQgYXNzb2NpYXRpb25zIGluIGZpbGUgYWRkaW5nPC9saT4NCjxsaT5WZXJzaW9uIDAuOC40IC0gYWRkZWQgY2F0ZWdvcnkgc2VsZWN0b3IsIGZpeGVkIHNvbWUgYnVnczwvbGk+DQo8bGk+VmVyc2lvbiAxLjAtcmMxICAtIGFkZGVkIGludGVncmF0aW9uIHdpdGggZmV1IG1vZHVsZSBhbmQgc2VuZGluZyBmaWxlIGxpbmsgYnkgZW1haWwsIG1hZGUgY2F0ZWdvcmllcyB3YWxrYWJsZSwgZGlmZmVyZW50IHRlbXBsYXRlcyBmb3IgZGlmZmVyZW50IGFjdGlvbiB0eXBlcywgY2hhbmdlZCBjYXRlZ29yeV9zZWxlY3RvciBwYXJhbWV0ZXIgaW50byBzZWxlY3RvciwgcmVtb3ZlZCBjYXRlZ29yeSBwYXJhbWV0ZXIsIGFkZGVkIGNhdGVnb3J5IGxpc3QgZm9yIGZpbGVzIGluIHNlbGVjdG9yLCBhZGRlZCBhbGlhc2VzIHRvIGZpbGVzIGFuZCBjYXRlZ29yaWVzPC9saT4NCjxsaT5WZXJzaW9uIDEuMSAgLSBhZGRlZCB0aGUgZmlsZWNoYW5nZSBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT5WZXJzaW9uIDEuMiAgLSBhZGRlZCBzY2FubmluZyBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT5WZXJzaW9uIDEuMyAgLSBhZGRlZCBkb3dubG9hZCBjb3VudGluZzwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+Q29tbWVudCAmY2NlZGlsO2EgbWFyY2hlID88L2gzPg0KPHA+Rmlyc3QgbWFrZSBkb3dubG9hZHMvIGRpcmVjdG9yeSBpbiByb290IGNtcyBkaXJlY3RvcnkuIE5leHQgZ2l2ZSBpdCAwNzc3IG1vZGUsIGRlcGVuZGluZyBvbiBhcGFjaGUgY29uZmlndXJhdGlvbiBjb3VsZCBiZSAwNzc1IG9yIDA3NTUuPC9wPg0KPHA+VG8gYWNjZXMgbW9kdWxlIGFkbWluIGludGVyZmFjZSBnbyB0byBDb250ZW50IC0+IERvd25sb2FkIE1hbmFnZXIuPC9wPg0KPHA+SW5zdGFsbCBpdCBieSBwbGFjaW5nIHRoZSBtb2R1bGUgaW4gYSBwYWdlIG9yIHRlbXBsYXRlIHVzaW5nIHRoZSBzbWFydHkgdGFnIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTt9LiBTZWUgbW9yZSBleGFtcGxlcyBiZWxvdy48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC48L3A+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnQ2F0ZWdvcnkgaWQsIGNvdWxkIGJlIGZvdW5kIGluIGNhdGVnb3JpZXMgdGFiLiBJZiBzZWxlY3RlZCwgYWxpYXMgaXMgbm90IHRha2VuIGludG8gYWNjb3VudC4nOwokbGFuZ1snaGVscF9wYXJhbV9hbGlhcyddID0gJ0NhdGVnb3J5IG9yIGZpbGUgYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdBbGxvdyB0byBzcGVjaWZ5IHRoZSBkZXB0aCBvZiB0cmVlIHNob3duIGJ5IGRlZmF1bHQgYWN0aW9uLiBJZiBub3Qgc2V0IGZ1bGwgdHJlZSB3aWxsIGJlIHNob3duLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgbmFtZS4gSWYgbm90IGdpdmVuIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGZvciBjdXJyZW50IGFjdGlvbiBpcyBhY3Rpb24vZmlsZS9jYXRlZ29yeS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6DQo8dWw+DQo8bGk+JnF1b3Q7JmFtcDsmcXVvdDsgLSBpbnRlcnNlY3Rpb248L2xpPg0KPGxpPiZxdW90O3wmcXVvdDsgLSBzdW08L2xpPg0KPGxpPmNhdGVnb3J5IGlkICh5b3UgY2FuIHNlZSBpdCBpbiBjYXRlZ29yaWVzIHRhYik8L2xpPg0KPGxpPmFsbCBvdGhlciBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xlYW5lZCBiZWZvcmUgcGFyc2luZzwvbGk+DQo8L3VsPg0KRm9yIGV4YW1wbGUgc2VsZWN0b3I9JnF1b3Q7MyZhbXA7KDF8MikmcXVvdDsgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPg0KSWYgc2VsZWN0b3IgaXMgc3BlY2lmaWVkIGNhdGVnb3J5IHBhcmFtZXRlciB3aWxsIDxiPm5vdDwvYj4gYmUgcGFyc2VkLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdXcm9uZyBhbGlhcyBnaXZlbi4nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdEb3dubG9hZCc7CiRsYW5nWydkb3dubG9hZGluZyddID0gJ1QmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnQgZGUgJXMuLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ1JldG91ciAmYWdyYXZlOyBsYSBsaXN0ZSBkZXMgZmljaGllcnMuJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIGdpdmVuJzsKJGxhbmdbJ3dyb25nZmlsZSddID0gJ1dyb25nIGZpbGUgaWQnOwokbGFuZ1snbm9hY2Nlc3MnXSA9ICdWb3VzIG4mIzAzOTthdmV6IHBhcyBhY2MmZWdyYXZlO3MgJmFncmF2ZTsgY2UgZmljaGllci4nOwokbGFuZ1snZG93bmxvYWRfZGlyJ10gPSAnRG9zc2llciBkZSB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50JzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW4nXSA9ICdEb3NzaWVycyBzY2FubiZlYWN1dGU7cyAocyZlYWN1dGU7cGFyJmVhY3V0ZTtzIHBhciAvIGV4IDogJnF1b3Q7ZG9zc2llcjEvO2Rvc3NpZXIyLztkb3NzaWVyMy8mcXVvdDsgKSc7CiRsYW5nWydkb3dubG9hZF9zY2FuX3JlY3VycyddID0gJ1NjYW4gZGlyZWN0b3JpZXMgcmVjdXJzaXZlPyc7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZSddID0gJ0Rvd25sb2FkIHRlbXBsYXRlJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSA9ICc8dGFibGUgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpsZWZ0OyZxdW90Oz4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nfTwvYj48L3RkPjx0ZD5UZXh0OiBEb3dubG9hZGluZyAlcy4uLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nX2luZm99PC9iPjwvdGQ+PHRkPlRleHQ6IFlvdXIgZG93bmxvYWQgc2hvdWxkIGJlZ2luIHNob3J0bHkuIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMsIHBsZWFzZSBjb250YWN0IHRoZSBXZWJtYXN0ZXIuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPntkb3dubG9hZF9uYW1lfTwvYj48L3RkPjx0ZD5OYW1lIG9mIGN1cnJlbnRseSBkb3dubG9hZGluZyBmaWxlLjwvdGQ+PC90cj4NCjwvdGFibGU+DQonOwokbGFuZ1snZG93bmxvYWRfZGlyX25vdF93cml0YWJsZSddID0gJ0Rvd25sb2FkIGRpcmVjdG9yeSAoJXMpIGlzIG5vdCB3cml0YWJsZSwgdHJ5IGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgZG9lcyBub3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdC4nOwokbGFuZ1snc2VhcmNoX2V4cGlyZSddID0gJ0V4cGlyZWQgYW5kIG5vdCBzdGFydGVkIGRvd25sb2FkcyBjYW4gYXBwZWFyIGluIHNlYXJjaCByZXN1bHRzJzsKJGxhbmdbJ25hbWVsYWJlbCddID0gJ05vbSc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdDb21wdGV1ciBkZSB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50cyc7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnVCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlciAlcyBmb2lzLic7CiRsYW5nWydhbGlhc2xhYmVsJ10gPSAnQWxpYXMnOwokbGFuZ1snZmlsZWxhYmVsJ10gPSAnRmljaGllcic7CiRsYW5nWydmaWxlZGVsZXRlZCddID0gJ0ZpY2hpZXIgZWZmYWMmZWFjdXRlOy4nOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCBuZXcgZmlsZSc7CiRsYW5nWydhbHJlYWR5dXBsb2FkZWQnXSA9ICdVc2UgYWxyZWFkeSB1cGxvYWRlZCBmaWxlICh3cml0ZSB0aGUgZXhhY3QgcGF0aCB0byBmaWxlIGZyb20gY21zIHJvb3QgZGlyZWN0b3J5KSc7CiRsYW5nWydleHRlcm5hbGZpbGUnXSA9ICdVc2UgZXh0ZXJuYWwgZmlsZSBhY2Nlc3NpYmxlIHRocm91Z2ggaHR0cC4gRmlsZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkIHRvIHNlcnZlcic7CiRsYW5nWydmaWxlZG9lc250ZXhpc3RzJ10gPSAnRmlsZSAlcyBkb2VzbmB0IGV4aXN0IG9uIHNlcnZlci4nOwokbGFuZ1snY3VybGZhaWxlZCddID0gJ0N1cmwgcmVxdWVzdCBmYWlsZWQuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdDdXJsIHBocCBleHRlbnNpb24gbmVlZGVkIGZvciBleHRlcm5hbCBsaW5rcyBub3QgcHJlc2VudC4nOwokbGFuZ1snc2VydmVyX25hbWVsYWJlbCddID0gJ05hbWUgb24gc2VydmVyJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXh0ZW5zaW9uJzsKJGxhbmdbJ3NpemVsYWJlbCddID0gJ1RhaWxsZSc7CiRsYW5nWydoYXNobGFiZWwnXSA9ICdIYWNoYWdlIE1kNSc7CiRsYW5nWydkZXNjcmlwdGlvbmxhYmVsJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snY3JlYXRlZGxhYmVsJ10gPSAnRGF0ZSBkZSBjciZlYWN1dGU7YXRpb24nOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnRXhwaXJlJzsKJGxhbmdbJ3N0YXJ0c2xhYmVsJ10gPSAnRCZlYWN1dGU7bWFycmUnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnVmlzaWJsZSc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXRpbGlzZXIgdW5lIGRhdGUgZCYjMDM5O2V4cGlyYXRpb24nOwokbGFuZ1sndXNlc3RhcnQnXSA9ICdVdGlsaXNlciB1bmUgZGF0ZSBkZSBkJmVhY3V0ZTttYXJyYWdlJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOb3V2ZWF1IGZpY2hpZXInOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnU2Nhbm5lciBwb3VyIHRyb3V2ZXIgZGUgbm91dmVhdXggZmljaGllcnMnOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ1NjYW5uZWQgZGlyZWN0b3JpZXM6ICVzIDxiciAvPiAlcyBuZXcgZmlsZXMgbGlzdGVkIGJlbG93LiBDaG9vc2UgZmlsZSB0byBhZGQuJzsKJGxhbmdbJ3NjYW5ub25ldyddID0gJ0lsIG4mIzAzOTt5IGEgcGFzIGRlIG5vdXZlYXV4IGZpY2hpZXJzLic7CiRsYW5nWydub2ZpbGVnaXZlbiddID0gJ0lsIG4mIzAzOTt5IGEgcGFzIGV1IGRlIGZpY2hpZXInOwokbGFuZ1snbm90aGluZ3VwbG9hZGVkJ10gPSAnTm8gZmlsZSBvciBlbXB0eSBmaWxlIHdhcyB1cGxvYWRlZC4nOwokbGFuZ1sndW5hYmxldG9tb3ZlJ10gPSAnVW5hYmxlIHRvIG1vdmUgb3IgY29weSB1cGxvYWRlZCBmaWxlLic7CiRsYW5nWyd0eXBlbGFiZWwnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpbGVzdGFiaGVhZGVyJ10gPSAnRmljaGllcnMnOwokbGFuZ1snZmlsZWFkZGVkJ10gPSAnRmljaGllciBham91dCZlYWN1dGU7IGF2ZWMgc3VjYyZlZ3JhdmU7cyc7CiRsYW5nWydmaWxlbW9kaWZpZWQnXSA9ICdGaWNoaWVyIG1vZGlmaSZlYWN1dGU7IGF2ZWMgc3VjYyZlZ3JhdmU7cyc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdHYWJhcml0IGR1IGZvcm11bGFpcmUnOwokbGFuZ1sndGVtcGxhdGVmb3JkZXRhaWwnXSA9ICdHYWJhcml0IGR1IGQmZWFjdXRlO3RhaWwnOwokbGFuZ1sndGVtcGxhdGVmb3JlbWFpbCddID0gJ0dhYmFyaXQgZHUgY291cnJpZWwnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnVXNlIHRoZSBkZWZhdWx0IHRlbXBsYXRlIChzZWUgdGVtcGxhdGVzIHRhYiknOwokbGFuZ1snZmV1Z3JvdXBzbGFiZWwnXSA9ICdHcm91cGVzIEZFVSBhdXRvcmlzJmVhY3V0ZTtzICZhZ3JhdmU7IGFjYyZlYWN1dGU7ZGVyIGF1IGZpY2hpZXIsIHNpIGF1Y3VuIGdyb3VwZSBuJiMwMzk7ZXN0IHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTssIHRvdXMgbGVzIHV0aWxpc2F0ZXVycyBzZXJvbnQgYXV0b3JpcyZlYWN1dGU7cyc7CiRsYW5nWydhY2Nlc3N0eXBlJ10gPSAnVHlwZSBkJiMwMzk7YWNjZXNzJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZnJlZSddID0gJ0FjYyZlZ3JhdmU7cyBsaWJyZSc7CiRsYW5nWydhY2Nlc3N0eXBlX2ZldW9ubHknXSA9ICdVdGlsaXNhdGV1cnMgZHUgRkVVIHNldWxlbWVudCc7CiRsYW5nWydhY2Nlc3N0eXBlX2VtYWlsb25seSddID0gJ0NvdXJyaWVsIHNldWxlbWVudCc7CiRsYW5nWydhY2Nlc3N0eXBlX21peGVkJ10gPSAnRkVVIG9yIEVtYWlsJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEJmVhY3V0ZTt0YWlscyc7CiRsYW5nWydmaWxlY2hhbmdlJ10gPSAnQ2hhbmdlciBjZSBmaWNoaWVyLic7CiRsYW5nWydjaGFuZ2VmaWxlaW5mbyddID0gJ0Nob29zZSBuZXcgZmlsZSB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgJnF1b3Q7JXMmcXVvdDsgKGFsaWFzOiVzKSBmaWxlLiBBbGwgYXNzb2NpYXRpb25zLCBsaW5rcywgaW5mbyBhbmQgYWxpYXMgd2lsbCBzdGF5IHRoZSBzYW1lLic7CiRsYW5nWydmaWxlY2hhbmdlZCddID0gJ0xlIGZpY2hpZXIgYSBiaWVuICZlYWN1dGU7dCZlYWN1dGU7IHJlbXBsYWMmZWFjdXRlOyc7CiRsYW5nWydjaGFuZ2VuYW1lbGFiZWwnXSA9ICdDaGFuZ2UgdGhlIGZpbGUgbmFtZSB0byB0aGUgb25lIGZyb20gbmV3IGZpbGU/JzsKJGxhbmdbJ2FsbHRpbWUnXSA9ICdBbGwgdGltZSc7CiRsYW5nWydhdmFpbGFibGl0eSddID0gJ0Rpc3BvbmliaWxpdCZlYWN1dGU7JzsKJGxhbmdbJ25vYWxpYXMnXSA9ICdObyBzdWNoIGFsaWFzIG9yIGRvd25sb2FkIG5vdCBhdmFpbGFibGUnOwokbGFuZ1snbm9oYXNoJ10gPSAnTm8gc3VjaCBoYXNoIG9yIGRvd25sb2FkIG5vdCBhdmFpbGFibGUnOwokbGFuZ1snd3JvbmdwYXJhbXMnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBlcnJvbiZlYWN1dGU7cyc7CiRsYW5nWydmaWxlbm90Zm91bmQnXSA9ICdMZSBmaWNoaWVyICVzIG4mIzAzOTthIHBhcyAmZWFjdXRlO3QmZWFjdXRlOyB0cm91diZlYWN1dGU7JzsKJGxhbmdbJ3dyb25nZGF0YSddID0gJ1dyb25nIGRhdGEgaW4gZGF0YWJhc2Ugcm93Lic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ05vdXZlbGxlIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnQ2F0JmVhY3V0ZTtnb3JpZSBwYXJlbnRlJzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdDYXQmZWFjdXRlO2dvcmllcyc7CiRsYW5nWydyZW9yZGVyX3ByaW9yaXR5J10gPSAnUHJpb3JpdCZlYWN1dGU7ICgtOTkmbmJzcDsmYWdyYXZlOyZuYnNwOzk5KSwgIGJhc3NlIC0+IGhhdXRlICc7CiRsYW5nWydub2Rvd25sb2FkcyddID0gJ05vIGRvd25sb2FkcyBpbiB0aGlzIGNhdGVnb3J5JzsKJGxhbmdbJ2ZpbGVuYiddID0gJyVzJm5ic3A7ZmlsZShzKSc7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0Rvd25sb2FkIENhdGVnb3J5JzsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXSA9ICdPdmVyYWxsJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snYWRkYXNzb2MnXSA9ICdBam91dGVyICZhZ3JhdmU7IGxhIGNhdGcmZWFjdXRlO29yaWUnOwokbGFuZ1snd3JvbmdjYXRlZ29yeXNlbCddID0gJ0NhdGVnb3J5IHNlbGVjdG9yIHBhcnNlIGVycm9yLiA8YnIgLz4gU2VsZWN0b3IgYWZ0ZXIgY2xlYW5pbmc6ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXSA9ICdDYXRlZ29yeSBzZWxlY3RvciBub3Qgc2V0Lic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnU2VsZWN0ZWQgY2F0ZWdvcnkgZG9lcyBub3QgZXhpc3RzLic7CiRsYW5nWydzZW5kZW1haWwnXSA9ICdFbWFpbCBkb3dubG9hZCBsaW5rJzsKJGxhbmdbJ3Byb21wdF9maXJzdG5hbWUnXSA9ICdQciZlYWN1dGU7bm9tJzsKJGxhbmdbJ3Byb21wdF9sYXN0bmFtZSddID0gJ05vbSc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdDb3VycmllbCc7CiRsYW5nWydwcm9tcHRfbWFpbGluZ2xpc3QnXSA9ICdJIHdvdWxkIGxpa2UgdG8gaGVhciBhYm91dCBuZXcgZmlsZXMgYW5kIGltcG9ydGFudCBuZXdzJzsKJGxhbmdbJ2VtYWlsc2VudCddID0gJ0FuIGVtYWlsIGNvbnRhaW5pbmcgdGhlIGRvd25sb2FkIGxpbmsgd2FzIHNlbnQgdG8gdGhlIHNwZWNpZmllZCBhZGRyZXNzLic7CiRsYW5nWydjb3VsZG5vdHNlbmQnXSA9ICdUaGVyZSB3YXMgYW4gZXJyb3Igd2l0aCB5b3VyIHJlcXVlc3QsIGFuZCB0aGUgZW1haWwgY291bGQgbm90IGJlIHNlbnQuJzsKJGxhbmdbJ2ludmFsaWRlbWFpbCddID0gJ1RoZSBlbWFpbCB5b3UgaGF2ZSBlbnRlcmVkIGlzIGludmFsaWQuIFdpdGhvdXQgYSB2YWxpZCBlbWFpbCwgd2UgY2Fubm90IHNlbmQgeW91IGEgZG93bmxvYWQgbGluaywgYW5kIHlvdSBjYW5ub3QgZG93bmxvYWQgdGhlIGZpbGUuJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnVmV1aWxsZXogZW50cmVyIHZvdHJlIG5vbS4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnUGxlYXNlIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcy4gVGhlIGRvd25sb2FkIGxpbmsgd2lsbCBiZSBzZW50IHRvIHRoaXMgYWRkcmVzcy4nOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdOb3V2ZWF1IGdhYmFyaXQnOwokbGFuZ1snbGlzdHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyB0byBkaXNwbGF5IGxpc3RzIG9mIGNhdGVnb3JpZXMgb3IgZmlsZXMnOwokbGFuZ1snYWRkbGlzdHRlbXBsYXRlJ10gPSAnTmV3IExpc3QgVGVtcGxhdGUnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIHRvIGRpc3BsYXkgdGhlIGRldGFpbHMgb2YgYSBmaWxlJzsKJGxhbmdbJ2FkZGRldGFpbHRlbXBsYXRlJ10gPSAnTmV3IERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydmb3JtdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIGZvciB0aGUgZm9ybSB0byByZXF1ZXN0IGEgZG93bmxvYWQgbGluayBieSBtYWlsJzsKJGxhbmdbJ2FkZGZvcm10ZW1wbGF0ZSddID0gJ05ldyBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2VtYWlsdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIGZvciBlbWFpbHMgc2VudCB3aXRoIGRvd25sb2FkIGxpbmsnOwokbGFuZ1snYWRkZW1haWx0ZW1wbGF0ZSddID0gJ05ldyBFbWFpbCBCb2R5IFRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGV0ZW1wbGF0ZSddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhlIHRlbXBsYXRlICVzPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQnOwokbGFuZ1snY29udGVudGxhYmVsJ10gPSAnQ29udGVudSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lbGFiZWwnXSA9ICdOb20nOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSB1cGRhdGVkLic7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7CiRsYW5nWyd3cm9uZ3RlbXBsYXRlJ10gPSAnV3JvbmcgdGVtcGxhdGUgc3BlY2lmaWVkLic7CiRsYW5nWydhbHJlYWR5ZXhpc3QnXSA9ICdUaGVyZSBpcyBhbHJlYWR5IGEgdGVtcGxhdGUgYnkgdGhhdCBuYW1lLic7CiRsYW5nWydnZW5lcmFsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+UmV0dXJuIGJhY2sgaW4gaGlzdG9yeSBsaW5rPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChvbmx5IHdoZW4gY2F0ZWdvcnkgc2VsZWN0b3IgaXMgdXNlZCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBjYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25ncyAoc2FtZSBhcnJheSBhcyBpbiBzdWJjYXRlZ29yaWVzKTwvdGQ+PC90cj4NCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2lucHV0fTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9pbnB1dH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskc3VibWl0fTwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkxhYmVsczwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZSBvZiB1c2VyIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KJzsKJGxhbmdbJ2xpc3RfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+IEluIHRoZSB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19IGxvb3A6PC9pPjwvdGg+PC90cj4NCjx0cj48dGg+VmFyaWFibGU6PC90aD48dGg+V2hhdCBpcyBpdD88L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbWxldmVsfTwvYj48L3RkPjx0ZD5hY3R1YWwgY2F0ZWdvcnktbGV2ZWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+cm93Y2xhc3N9PC9iPjwvdGQ+PHRkPnJvdzEgb3Igcm93MiBkZXBlbmRpbmcgb24gcGFyaXR5PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPiBXaGVuIDxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPiA9IDxpPmhlYWRlcjwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5oZWFkZXI8L2k+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN1YmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIHN1YmNhdGVnb3JpZXMsIGVhY2ggc3ViY2F0ZWdvcnkgaGFzIGVsZW1lbnRzOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90OyA+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKG9ubHkgd2hlbiBjYXRlZ29yeSBzZWxlY3RvciBpcyB1c2VkKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmdzIChzYW1lIGFycmF5IGFzIGluIHN1YmNhdGVnb3JpZXMpPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPkluIHdob2xlIHRlbXBsYXRlOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbWNvdW50fTwvYj48L3RkPjx0ZD5udW1iZXIgb2YgaXRlbXMgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG5vZG93bmxvYWRzfTwvYj48L3RkPjx0ZD5tZXNzYWdlIHRoZW4gdGhlcmUgYXJlIG5vIGRvd25sb2FkcyBpbiBzZWxlY3RlZCBjYXRlZ29yeTwvdGQ+PC90cj4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIwMDM4NjY5MTAuMTI0NTY1Mjg1OS4xMjc5ODI3MTkwLjEyODAwODg1MzkuMTc5JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4MDA4ODUzOS4xNzkuMTYzLnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sncWNhJ10gPSAnNGEzZDFiNDEtNWViMzYtYzk1NzAtZjQ5ZWEnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyODAwODg1MzknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdBY2NlcnRhdGV2aSBkaSBhdmVyZSBpbXBvc3RhdG8gaSBwZXJtZXNzaSAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwZXIgdXRpbGl6emFyZSBxdWVzdG8gbW9kdWxvISA8YnIvPiBSaWNvcmRhdGUgZGkgY3JlYXJlIHVuYSBjYXJ0ZWxsYSBkb3dubG9hZHMvIG5lbGxhIHJvb3QgZGVsIGNtcyBlIGF0dHJpYnVpcmdsaSBwZXJtZXNzaSAwNzc3JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEaXNpbnN0YWxsYXJlIERvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1ZlcmFtZW50ZT8gVm9sZXRlIGRhdnZlcm8gZGlzaW5zdGFsbGFyZSBxdWVzdG8gYmVsIG1vZHVsbz8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gRGlzaW5zdGFsbGF0byc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdWZXJzaW9uZSAlcyBkZWwgTW9kdWxvIEluc3RhbGxhdGEuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuemEgTW9kdWxvIEFnZ2lvcm5hdGUuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gTmVnYXRvLiBWZXJpZmljYXRlIGkgdm9zdHJpIHBlcm1lc3NpLic7CiRsYW5nWydkb3dubG9hZF9lcnJvcl9tc2cnXSA9ICdFcnJvcmUgZHVyYW50ZSBsJiMwMzk7ZWxhYm9yYXppb25lIGRlbCBmaWxlJzsKJGxhbmdbJ25vbmUnXSA9ICdOZXNzdW5vJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnSW52aWFyZSBwZXIgcmljZXZlcmUgaWwgbGluayBkYSBzY2FyaWNhcmUnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvcmUhJzsKJGxhbmdbJ2JhY2snXSA9ICdUb3JuYSBpbmRpZXRybyc7CiRsYW5nWydhY3Rpb25zJ10gPSAnQXppb25pJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ0NhdGVnb3JpYSBiYXNlJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxvIGFnZ2lvcm5hdG8gYWxsYSB2ZXJzaW9uZSAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHJlZmVyZW56ZSBNb2R1bG8nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFubmVsbG8gZGkgQW1taW5pc3RyYXppb25lIE1vZHVsbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdEb3ZldGUgaW5zZXJpcmUgdW4gbm9tZS4nOwokbGFuZ1snbXVzdGxvZ2luJ10gPSAnRG92ZXRlIGFjY2VkZXJlIHBlciBwb3RlcmUgc2NhcmljYXJlIHF1ZXN0byBmaWxlOjonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnUG90ZXRlIGFuY2hlIGFjY2VkZXJlIHBlciBzY2FyaWNhcmUgcXVlc3RvIGZpbGU6JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnUXVlc3RvIG1vZHVsbyBwZXJtZXR0ZSBkaSBnZXN0aXJlIGkgZG93bmxvYWQuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJlbnZlbnV0aSBhbGxhIHNlemlvbmUgYW1taW5pc3RyYXppb25lIGRlbCBEb3dubG9hZE1hbmFnZXIuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjEgYWxwaGEgLSBmaXJzdCBhbHBoYTwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIGl0ZW0gcmVvcmRlciBhZGRlZDwvbGk+DQo8bGk+VmVyc2lvbiAwLjMgYmV0YSAtIG1ha2luZyBtb2R1bGUgbW9yZSB1c2VyLWZyaWVuZGx5PC9saT4NCjxsaT5WZXJzaW9uIDAuNCAtIGZpeGVkIGluc3RhbGwgYnVnIHdoaWNoIHVuYWJsZXMgYXNzb2NpYXRpb25zLCBhZGRlZCBhc3NvY2lhdGlvbnMgaW4gZmlsZSBhZGRpbmc8L2xpPg0KPGxpPlZlcnNpb24gMC44LjQgLSBhZGRlZCBjYXRlZ29yeSBzZWxlY3RvciwgZml4ZWQgc29tZSBidWdzPC9saT4NCjxsaT5WZXJzaW9uIDEuMC1yYzEgIC0gYWRkZWQgaW50ZWdyYXRpb24gd2l0aCBmZXUgbW9kdWxlIGFuZCBzZW5kaW5nIGZpbGUgbGluayBieSBlbWFpbCwgbWFkZSBjYXRlZ29yaWVzIHdhbGthYmxlLCBkaWZmZXJlbnQgdGVtcGxhdGVzIGZvciBkaWZmZXJlbnQgYWN0aW9uIHR5cGVzLCBjaGFuZ2VkIGNhdGVnb3J5X3NlbGVjdG9yIHBhcmFtZXRlciBpbnRvIHNlbGVjdG9yLCByZW1vdmVkIGNhdGVnb3J5IHBhcmFtZXRlciwgYWRkZWQgY2F0ZWdvcnkgbGlzdCBmb3IgZmlsZXMgaW4gc2VsZWN0b3IsIGFkZGVkIGFsaWFzZXMgdG8gZmlsZXMgYW5kIGNhdGVnb3JpZXM8L2xpPg0KPGxpPlZlcnNpb24gMS4xICAtIGFkZGVkIHRoZSBmaWxlY2hhbmdlIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4yICAtIGFkZGVkIHNjYW5uaW5nIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4zICAtIGFkZGVkIGRvd25sb2FkIGNvdW50aW5nPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPkFsbG93cyB0byBtYW5hZ2UgRG93bmxvYWRzIGZyb20gYWRtaW4gcGFuZWwuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5GaXJzdCBtYWtlIGRvd25sb2Fkcy8gZGlyZWN0b3J5IGluIHJvb3QgY21zIGRpcmVjdG9yeS4gTmV4dCBnaXZlIGl0IDA3NzcgbW9kZSwgZGVwZW5kaW5nIG9uIGFwYWNoZSBjb25maWd1cmF0aW9uIGNvdWxkIGJlIDA3NzUgb3IgMDc1NS48L3A+DQo8cD5UbyBhY2NlcyBtb2R1bGUgYWRtaW4gaW50ZXJmYWNlIGdvIHRvIENvbnRlbnQgLT4gRG93bmxvYWQgTWFuYWdlci48L3A+DQo8cD5JbnN0YWxsIGl0IGJ5IHBsYWNpbmcgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3IgdGVtcGxhdGUgdXNpbmcgdGhlIHNtYXJ0eSB0YWcge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5O30uIFNlZSBtb3JlIGV4YW1wbGVzIGJlbG93LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LjwvcD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+VHJhbnNsYXRpb25zPC9oMz4NCjxwPk5ld2VzdCB0cmFuc2xhdGlvbnMgYXJlIGFsd2F5cyBhdmFpbGFibGUgYXQNCjxhIGhyZWY9Imh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC8iIHRpdGxlPSJEb3dubG9hZCBtYW5hZ2VyIHRyYW5sYXRpb25zIj5odHRwOi8vc3ZuLmNtc21hZGVzaW1wbGUub3JnL3N2bi90cmFuc2xhdGVjZW50ZXIvbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvbGFuZy9leHQvPC9hPjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTenltb24gxYF1a2FzemN6eWsgPGEgaHJlZj0ibWFpbHRvOnN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSI+PHN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbT48L2E+ICZhbXA7IFBpZXJyZS1MdWMgR2VybWFpbiA8YSBocmVmPSJtYWlsdG86cGwuZ2VybWFpbkBnbWFpbC5jb20iPjxwbC5nZXJtYWluQGdtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5HZXJtYW4gdHJhbnNsYXRpb24gYnkgQ29ubmllIE0mdXVtbDtsbGVyLUcmb3VtbDtkZWNrZSA8YSBocmVmPSJtYWlsdG86Y29ubmllLm11ZWxsZXItZ29lZGVja2VAd2ViZGVlcm5zLmRlIj48Y29ubmllLm11ZWxsZXItZ29lZGVja2VAd2ViZGVlcm5zLmRlPjwvYT4uPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0FjdGlvbiBjaG9vc2VuLiBQb3NzaWJsZSBhY3Rpb25zOiANCjx1bD4NCjxsaT48ZW0+ZGVmYXVsdDwvZW0+OiBzaG93cyBmaWxlIGxpc3QNCgk8YnIvPm9wdGlvbmFsIHBhcmFtZXRlcnM6IDxlbT5jYXRlZ29yeWlkPC9lbT4gb3IgPGVtPmFsaWFzPC9lbT4sIDxlbT5kZXB0aDwvZW0+LCA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFsaWFzPSYjMDM5O215LWNhdGVnb3J5JiMwMzk7IGRlcHRoPSYjMDM5OzImIzAzOTt9IDwvbGk+DQo8bGk+PGVtPnNlbGVjdG9yPC9lbT46IGFsbG93IHRvIHNlbGVjdCBtdWx0aXBsZSBjYXRlZ29yaWVzLCBzZWUgc2VsZWN0b3IgcGFyYW1ldGVyDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+c2VsZWN0b3I8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4NCgk8YnIvPmV4OiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhY3Rpb249JiMwMzk7c2VsZWN0b3ImIzAzOTsgc2VsZWN0b3I9JiMwMzk7MyZhbXA7KDF8MikmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kZXRhaWw8L2VtPjogc2hvd3MgZGV0YWlscyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4NCgk8YnIvPmV4OiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhY3Rpb249JiMwMzk7ZGV0YWlsJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kb3dubG9hZDwvZW0+OiBkb3dubG9hZHMgb2Ygc2VsZWN0ZWQgZmlsZQ0KCTxici8+cmVxdWlyZWQgcGFyYW1ldGVyczogPGVtPmFsaWFzPC9lbT4NCgk8YnIvPm9wdGlvbmFsIHBhcmFtZXRlcnM6IDxlbT50ZW1wbGF0ZTwvZW0+IA0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkb3dubG9hZCYjMDM5OyBhbGlhcz0mIzAzOTtteS1maWxlJiMwMzk7IH0gPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnlpZCddID0gJ2lkIENhdGVnb3JpYSwgcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byBuZWwgcGFubmVsbG8gY2F0ZWdvcmllLiBTZSBzZWxlemlvbmF0bywgbm9uIHZpZW5lIHRlbnV0byBjb24gdG8gZGVsbCYjMDM5O2FsaWFzLic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ10gPSAnQ2F0ZWdvcmlhIG8gYWxpYXMgZGVsIGZpbGUuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdQZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBsYSBwcm9mb25kaXQmYWdyYXZlOyBkZWwgcGVyY29yc28gdmlzdWFsaXp6YXRvIHBlciBhemlvbmUgcHJlZGVmaW5pdGEuIFNlIG5vbiBpbXBvc3RhdG8gdmVyciZhZ3JhdmU7IHZpc3VhbGl6emF0byBpbCBwZXJjb3JzbyBjb21wbGV0by4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddID0gJ05vbWUgZGVsIE1vZGVsbG8uIFNlIG5vbiBmb3JuaXRvLCBpbCBtb2RlbGxvIHByZWRlZmluaXRvIHBlciBxdWVzdGEgYXppb25lICZlZ3JhdmU7IGF6aW9uZS9maWxlL2NhdGVnb3JpYS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ0lsIHNlbGV0dG9yZSBjaGUgcGVybWV0dGUgZGkgc2NlZ2xpZXJlIHBpJnVncmF2ZTsgZGkgdW5hIGNhdGVnb3JpYS4gTGEgc2ludGFzc2kgZGVsIHNlbGV0dG9yZSBwdSZvZ3JhdmU7IHByZXZlZGVyZToNCjx1bD4NCjxsaT4mcXVvdDsmYW1wOyZxdW90OyAtIGludGVyc2V6aW9uZTwvbGk+DQo8bGk+JnF1b3Q7fCZxdW90OyAtIHNvbW1hPC9saT4NCjxsaT5jYXRlZ29yeSBpZCAoJmVncmF2ZTsgcG9zc2liaWxlIHZlZGVybG8gbmVsIHBhbm5lbGxvIGNhdGVnb3JpZSk8L2xpPg0KPGxpPm9nbmkgYWx0cm8gY2FyYXR0ZXJlIHZlcnImYWdyYXZlOyBlbGltaW5hdG8gcHJpbWEgZGVsbCYjMDM5O2VsYWJvcmF6aW9uZTwvbGk+DQo8L3VsPg0KQWQgZXNlbXBpbywgc2VsZXR0b3JlPSZxdW90OzMmYW1wOygxfDIpJnF1b3Q7IHNjZWdsaWVyJmFncmF2ZTsgdHV0dGkgZ2xpIGVsZW1lbnRpIGRhbGxhIGNhdGVnb3JpYSBjb24gaWQ9MyBjaGUgc29ubyBhbmNoZSBsYSBzb21tYSBkZWxsZSBjYXRlZ29yaWUgMSBlIDIuIDxici8+DQpTZSAmZWdyYXZlOyBzcGVjaWZpY2F0byB1biBzZWxldHRvcmUsIGlsIHBhcmFtZXRybyBjYXRlZ29yaWEgPGI+bm9uPC9iPiB2ZXJyJmFncmF2ZTsgZWxhYm9yYXRvLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdBbGlhcyBFcnJhdG8nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdTY2FyaWNhJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gPSAnU3RvIHNjYXJpY2FuZG8gJXMuLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ1Rvcm5hIGFsbGEgbGlzdGEgZGVpIGZpbGUuJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdJbCB2b3N0cm8gZG93bmxvYWQgZG92cmViYmUgaW5pemlhcmUgYSBicmV2ZS4gU2UgaW5jb250cmF0ZSBwcm9ibGVtaSBjb250YXR0YXRlIGlsIHdlYm1hc3Rlci4nOwokbGFuZ1snbm9maWxlJ10gPSAnTmVzc3VuIGZpbGUgZm9ybml0byc7CiRsYW5nWyd3cm9uZ2ZpbGUnXSA9ICdJZGVudGlmaWNhdG9yZSBkZWwgZmlsZSBlcnJhdG8uJzsKJGxhbmdbJ25vYWNjZXMnXSA9ICdOb24gYXZldGUgYWNjZXNzbyBhIHF1ZXN0byBmaWxlLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdDYXJ0ZWxsYSBkaSBEb3dubG9hZCc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnQ2FydGVsbGUgc2NhbnNpb25hdGUgKHNlcGFyYXRlIGRhIHB1bnRvIGUgdmlyZ29sYSwgZXM6ICZxdW90O2RpcjEvO2RpcjIvO2RpcjMvJnF1b3Q7ICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSA9ICdDZXJjYSBuZWxsZSBzb3R0b2NhcnRlbGxlPyc7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGkgRG93bmxvYWQnOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGVfaW5mbyddID0gJzx0YWJsZSBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmxlZnQ7JnF1b3Q7Pg0KPHRyPjx0ZD48Yj5WYXJpYWJpbGU6PC9iPjwvdGQ+PHRkPjxiPkNvcyYjMDM5OyZhbXA7ZWdyYXZlOzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ308L2I+PC90ZD48dGQ+VGVzdG86IFN0byBzY2FyaWNhbmRvICVzLi4uPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRpbmdfaW5mb308L2I+PC90ZD48dGQ+VGVzdG86IElsIHZvc3RybyBkb3dubG9hZCBkb3ZyZWJiZSBpbml6aWFyZSBhIGJyZXZlLiBTZSBpbmNvbnRyYXRlIHByb2JsZW1pIGNvbnRhdHRhdGUgaWwgd2VibWFzdGVyLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkX25hbWV9PC9iPjwvdGQ+PHRkPk5vbWUgZGVsIGZpbGUgY2hlIHNpIHN0YSBzY2FyaWNhbmRvPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPlRvcm5hIGFsbGEgbGlzdGEgZGVpIGZpbGU8L3RkPjwvdHI+DQo8L3RhYmxlPg0KJzsKJGxhbmdbJ2Rvd25sb2FkX2Rpcl9ub3Rfd3JpdGFibGUnXSA9ICdMYSBjYXJ0ZWxsYSBkaSBEb3dubG9hZCAoJXMpIG5vbiAmZWdyYXZlOyBzY3JpdmliaWxlLCBwcm92YXRlIGEgaW1wb3N0YXJlIGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnbGEgY2FydGVsbGEgZGkgRG93bmxvYWQgKCVzKSBub24gZXNpc3RlLCBwcmltYSBjcmVhdGVsYS4nOwokbGFuZ1snbmFtZWxhYmVsJ10gPSAnTm9tZSc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdDb250YXRvcmUgZGkgRG93bmxvYWQnOwokbGFuZ1snY291bnRlcm5iciddID0gJ1NjYXJpY2F0byAlcyB2b2x0YS9lLic7CiRsYW5nWydhbGlhc2xhYmVsJ10gPSAnQWxpYXMnOwokbGFuZ1snZmlsZWxhYmVsJ10gPSAnRmlsZSc7CiRsYW5nWydmaWxlZGVsZXRlZCddID0gJ0ZpbGUgZWxpbWluYXRvLic7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnQ2FyaWNhIHVuIG51b3ZvIGZpbGUnOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnVXRpbGl6emFyZSBmaWxlIGdpJmFncmF2ZTsgY2FyaWNhdG8gKHNjcml2ZXRlIGlsIHBlcmNvcnNvIGVzYXR0byBkZWwgZmlsZSBkYWxsYSBjYXJ0ZWxsYSByYWRpY2UgZGVsIGNtcyknOwokbGFuZ1snZmlsZWRvZXNudGV4aXN0cyddID0gJ0lsIGZpbGUgJXMgbm9uIGVzaXN0ZSBzdWwgc2VydmVyLic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ10gPSAnTm9tZSBzdWwgc2VydmVyJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXN0ZW5zaW9uZSc7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdEaW1lbnNpb25lJzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ2hhc2ggTWQ1JzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXSA9ICdEZXNjcml6aW9uZSc7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdEYXRhIGRpIGNyZWF6aW9uZSc7CiRsYW5nWydleHBpcmVzbGFiZWwnXSA9ICdTY2FkZSc7CiRsYW5nWyd2aXNpYmxlbGFiZWwnXSA9ICdWaXNpYmlsZSc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXNhIGRhdGEgZGkgc2NhZGVuemEnOwokbGFuZ1snYWRkZmlsZSddID0gJ051b3ZvIGZpbGUnOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnQ2VyY2EgbnVvdmkgZmlsZSc7CiRsYW5nWydzY2FucmVzdWx0J10gPSAnQ2FydGVsbGUgcmljZXJjYXRlOiAlcyA8YnIgLz4gJXMgbnVvdmkgZmlsZSBlbGVuY2F0aSBzb3R0by4gU2NlZ2xpZXRlIGlsIGZpbGUgZGEgYWdnaXVuZ2VyZS4nOwokbGFuZ1snc2Nhbm5vbmV3J10gPSAnTmVzc3VuIG51b3ZvIGZpbGUgYWdnaXVudG8uJzsKJGxhbmdbJ25vZmlsZWdpdmVuJ10gPSAnTm9uIGMmIzAzOTtlcmEgYWxjdW4gZmlsZSc7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdOb24gJmVncmF2ZTsgc3RhdG8gY2FyaWNhdG8gYWxjdW4gZmlsZSwgb3BwdXJlIHVuIGZpbGUgdnVvdG8uJzsKJGxhbmdbJ3VuYWJsZXRvbW92ZSddID0gJ05vbiBwb3NzbyBzcG9zdGFyZSBvIGNvcGlhcmUgaWwgZmlsZSBjYXJpY2F0by4nOwokbGFuZ1sndHlwZWxhYmVsJ10gPSAnVGlwbyc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0ZpbGUnOwokbGFuZ1snZmlsZWFkZGVkJ10gPSAnRmlsZSBhZ2dpdW50byBjb24gc3VjY2Vzc28nOwokbGFuZ1snZmlsZW1vZGlmaWVkJ10gPSAnRmlsZSBtb2RpZmljYXRvIGNvbiBzdWNjZXNzbyc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdNb2RlbGxvIGRpIE1vZHVsbyc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmRldGFpbCddID0gJ01vZGVsbG8gRGV0dGFnbGlvJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZW1haWwnXSA9ICdNb2RlbGxvIEVtYWlsJzsKJGxhbmdbJ2ZldWdyb3Vwc2xhYmVsJ10gPSAnZ3J1cHBpIEZFVSBjaGUgcG9zc29ubyBhY2NlZGVyZSBhbCBmaWxlJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdUaXBvIGRpIEFjY2Vzc28nOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnQWNjZXNzbyBMaWJlcm8nOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnU29sbyBVdGVudGkgRnJvbnRlbmQnOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdTb2xvIEVtYWlsJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGRVUgbyBFbWFpbCc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0dGFnbGknOwokbGFuZ1snZmlsZWNoYW5nZSddID0gJ1Nvc3RpdHVpdGUgcXVlc3RvIGZpbGUuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnU2NlZ2xpZXRlIHVuIG51b3ZvIGZpbGUgcGVyIHNvc3RpdHVpcmUgbCYjMDM5O2F0dHVhbGUgJnF1b3Q7JXMmcXVvdDsgKGFsaWFzOiVzKS4gVHV0dGUgbGUgYXNzb2NpYXppb25pLCBsaW5rLCBpbmZvIGUgYWxpYXMgcmltYXJyYW5ubyBpbnZhcmlhdGkuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnRmlsZSBzb3N0aXR1aXRvIGNvbiBzdWNjZXNzby4nOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnTW9kaWZpY2FyZSBpbCBub21lIGRlbCBmaWxlIGNvbiBxdWVsbG8gZGVsIG51b3ZvIGZpbGU/JzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTnVvdmEgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmlhJzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnQ2F0ZWdvcmlhIFN1cGVyaW9yZSc7CiRsYW5nWydjYXRlZ29yaWVzdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdQcmlvcml0JmFtcDthZ3JhdmU7ICgtOTkmbmJzcDthJm5ic3A7OTkpLCAgbWlub3JlLT5taWdsaW9yZSAnOwokbGFuZ1snbm9kb3dubG9hZHMnXSA9ICdOZXNzdW4gZG93bmxvYWQgaW4gcXVlc3RhIGNhdGVnb3JpYSc7CiRsYW5nWydmaWxlbmInXSA9ICclcyZuYnNwO2ZpbGUnOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0xhIGNhdGVnb3JpYSAmZWdyYXZlOyBzdGF0YSBhZ2dpdW50YSBjb3JyZXR0YW1lbnRlLic7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdMYSBjYXRlZ29yaWEgJmVncmF2ZTsgc3RhdGEgYWdnaW9ybmF0YSBjb3JyZXR0YW1lbnRlLic7CiRsYW5nWydjYXRlZ29yeWRlbGV0ZWQnXSA9ICdMYSBjYXRlZ29yaWEgJmVncmF2ZTsgc3RhdGEgZWxpbWluYXRhIGNvcnJldHRhbWVudGUuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0NhdGVnb3JpYSBkaSBEb3dubG9hZCc7CiRsYW5nWydvdmVyYWxsdGFiaGVhZGVyJ10gPSAnU3VwZXJpb3JlJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ2FkZGFzc29jJ10gPSAnQWdnaXVuZ2kgYWxsZSBDYXRlZ29yaWUnOwokbGFuZ1snd3JvbmdjYXRlZ29yeXNlbCddID0gJ0Vycm9yZSBkaSBlbGFib3JhemlvbmUgZGVsIHNlbGV0dG9yZSBjYXRlZ29yaWUuIDxiciAvPiBTZWxldHRvcmUgZG9wbyBsYSBwdWxpemlhOiAlcyc7CiRsYW5nWydub2NhdGVnb3J5c2VsJ10gPSAnU2VsZXR0b3JlIGNhdGVnb3JpZSBub24gaW1wb3N0YXRvLic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnSWwgc2VsZXR0b3JlIGRlbGxlIGNhdGVnb3JpZSBub24gZXNpc3RlLic7CiRsYW5nWydzZW5kZW1haWwnXSA9ICdJbnZpYSBwZXIgZW1haWwgaWwgbGluayBkaSBkb3dubG9hZCc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnTm9tZSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdDb2dub21lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ1ZvcnJlaSBlc3NlcmUgYWdnaW9ybmF0byBzdSBudW92aSBmaWxlIGUgbm90aXppZSBpbXBvcnRhbnRpJzsKJGxhbmdbJ2VtYWlsc2VudCddID0gJ0FiYmlhbW8gaW52aWF0byB1biYjMDM5O2VtYWlsIGFsbCYjMDM5O2luZGlyaXp6byBzcGVjaWZpY2F0byBjb250ZW5lbnRlIGlsIGxpbmsgcGVyIGlsIGRvd25sb2FkJzsKJGxhbmdbJ2NvdWxkbm90c2VuZCddID0gJ0MmIzAzOTsmZWdyYXZlOyBzdGF0byB1biBlcnJvcmUgY29uIGxhIHJpY2hpZXN0YSwgbCYjMDM5O2VtYWlsIG5vbiBwdSZvZ3JhdmU7IGVzc2VyZSBpbnZpYXRhLic7CiRsYW5nWydpbnZhbGlkZW1haWwnXSA9ICdMJiMwMzk7aW5kaXJpenpvIGVtYWlsIGluc2VyaXRvIG5vbiAmZWdyYXZlOyB2YWxpZG8uIFNlbnphIHVuIGluZGlyaXp6byB2YWxpZG8gbm9uIHBvc3NpYW1vIGludmlhcmUgaWwgbGluayBwZXIgaWwgZG93bmxvYWQuJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnSW5zZXJpdGUgaWwgdm9zdHJvIG5vbWUuJzsKJGxhbmdbJ3BsZWFzZV9lbWFpbCddID0gJ0luc2VyaXRlIGlsIHZvc3RybyBpbmRpcml6em8gZW1haWwuIElsIGxpbmsgcGVyIGlsIGRvd25sb2FkIHZlcnImYWdyYXZlOyBpbnZpYXRvIGEgcXVlc3RvIGluZGlyaXp6by4nOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdOdW92byBNb2RlbGxvJzsKJGxhbmdbJ2xpc3R0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxvIHBlciBsYSB2aXN1YWxpenphemlvbmUgZGkgY2F0ZWdvcmllIG8gZmlsZSc7CiRsYW5nWydhZGRsaXN0dGVtcGxhdGUnXSA9ICdOdW92byBNb2RlbGxvIGRpIExpc3RhJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ01vZGVsbG8gcGVyIGxhIHZpc3VhbGl6emF6aW9uZSBkZWkgZGV0dGFnbGkgZGkgdW4gZmlsZSc7CiRsYW5nWydhZGRkZXRhaWx0ZW1wbGF0ZSddID0gJ051b3ZvIE1vZGVsbG8gRGV0dGFnbGknOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ01vZGVsbG8gcGVyIGlsIG1vZHVsbyBkaSByaWNoaWVzdGEgZGkgaW52aW8gbGluayBkaSBkb3dubG9hZCB2aWEgZW1haWwnOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTnVvdm8gTW9kZWxsbyBNb2R1bG8nOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxvIHBlciBsJiMwMzk7ZW1haWwgaW52aWF0YSBjb24gaWwgbGluayBkaSBkb3dubG9hZCc7CiRsYW5nWydhZGRlbWFpbHRlbXBsYXRlJ10gPSAnTnVvdm8gTW9kZWxsbyBDb3JwbyBFbWFpbCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdVc2EgaWwgbW9kZWxsbyBwcmVkZWZpbml0byAodmVkZXJlIGlsIHBhbm5lbGxvIG1vZGVsbGkpJzsKJGxhbmdbJ3Byb21wdF9kZWxldGV0ZW1wbGF0ZSddID0gJ1ZvbGV0ZSBkYXZ2ZXJvIGVsaW1pbmFyZSBpbCBtb2RlbGxvICVzPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ01vZGVsbG8nOwokbGFuZ1snY29udGVudGxhYmVsJ10gPSAnQ29udGVudXRvJzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVsYWJlbCddID0gJ05vbWUnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ0lsIG1vZGVsbG8gJmVncmF2ZTsgc3RhdG8gYWdnaXVudG8gY29ycmV0dGFtZW50ZS4nOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnSWwgbW9kZWxsbyAmZWdyYXZlOyBzdGF0byBhZ2dpb3JuYXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnaWwgbW9kZWxsbyAmZWdyYXZlOyBzdGF0byBlbGltaW5hdG8gY29ycmV0dGFtZW50ZS4nOwokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ01vZGVsbG8gZXJyYXRvIHNwZWNpZmljYXRvLic7CiRsYW5nWydhbHJlYWR5ZXhpc3QnXSA9ICdFc2lzdGUgZ2kmYWdyYXZlOyB1biBtb2RlbGxvIGNvbiBxdWVsIG5vbWUuJzsKJGxhbmdbJ2dlbmVyYWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGJhY2t0b2xpc3RsaW5rfTwvYj48L3RkPjx0ZD5SaXRvcm5hIGFsbGEgcGFnaW5hIHByZWNlZGVudGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPm5vbWUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZGVzY3JpemlvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5kaW1lbnNpb25lIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+bnVtZXJvIGRpIGRvd25sb2FkIGRlbCBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRlc3RvOiBTY2FyaWNhdG8gJXMgdm9sdGEvZS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+aGFzaCBtZDU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5lc3RlbnNpb25lIGZpbGUgKGpwZyxwZGYsdGFyLmJ6LGV0Yy4uLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGVtcG8sIHF1YW5kbyBpbCBmaWxlICZlZ3JhdmU7IHN0YXRvIGNhcmljYXRvIHN1bCBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZGF0YSBkaSBzY2FkZW56YSwgZG9wbyBxdWVzdGEgaWwgZmlsZSBub24gc2FyJmFtcDthZ3JhdmU7IHBpJmFtcDt1Z3JhdmU7IGRpc3BvbmliaWxlPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+bm9tZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5kZXNjcml6aW9uZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmRpbWVuc2lvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD5udW1lcm8gZGkgZG93bmxvYWQgZGVsIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGVzdG86IFNjYXJpY2F0byAlcyB2b2x0YS9lLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5oYXNoIG1kNTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmVzdGVuc2lvbmUgZmlsZSAoanBnLHBkZix0YXIuYnosZXRjLi4uKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50ZW1wbywgcXVhbmRvIGlsIGZpbGUgJmVncmF2ZTsgc3RhdG8gY2FyaWNhdG8gc3VsIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5kYXRhIGRpIHNjYWRlbnphLCBkb3BvIHF1ZXN0YSBpbCBmaWxlIG5vbiBzYXImYW1wO2FncmF2ZTsgcGkmYW1wO3VncmF2ZTsgZGlzcG9uaWJpbGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWUgYSBjdWkgYXBwYXJ0aWVuZSBpbCBmaWxlIChkaXNwb25pYmlsZSBuZWwgc2VsZXR0b3JlIGUgbmVsIGRldHRhZ2xpbyk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmxpbmsgZGkgZG93bmxvYWQgZ2VuZXJhdG88L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiBhbCBkb3dubG9hZCBkZWwgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+ZWxlbmNvIGRpIHRpcGkgZGkgYWNjZXNzbyBsZWdnaWJpbGUgKGxpYmVybyxmZXUsZW1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+bGluayBkZWwgZGV0dGFnbGlvIGdlbmVyYXRvPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2Zvcm1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5JbnB1dDwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9pbnB1dH08L2I+PC90ZD48dGQ+bm9tZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZV9pbnB1dH08L2I+PC90ZD48dGQ+Y29nbm9tZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9pbnB1dH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfaW5wdXR9PC9iPjwvdGQ+PHRkPmNhc2VsbGEgYSBzcHVudGEgZGVsbGEgbWFpbGluZyBsaXN0PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JHN1Ym1pdH08L2I+PC90ZD48dGQ+SW52aWE8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkV0aWNoZXR0ZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+bm9tZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Y29nbm9tZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPmNhc2VsbGEgYSBzcHVudGEgZGVsbGEgbWFpbGluZyBsaXN0PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPm5vbWUgZGVsbCYjMDM5O3V0ZW50ZSBjaGUgc2NhcmljYSBpbCBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5jb2dub21lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGR1cmx9PC9iPjwvdGQ+PHRkPmxpbmsgcGVyIHNjYXJpY2FyZSBpbCBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGRocmVmfTwvYj48L3RkPjx0ZD51cmkgcGVyIHNjYXJpY2FyZSBpbCBmaWxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+bm9tZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5kZXNjcml6aW9uZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmRpbWVuc2lvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD5udW1lcm8gZGkgZG93bmxvYWQgZGVsIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGVzdG86IFNjYXJpY2F0byAlcyB2b2x0YS9lLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5oYXNoIG1kNTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmVzdGVuc2lvbmUgZmlsZSAoanBnLHBkZix0YXIuYnosZXRjLi4uKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50ZW1wbywgcXVhbmRvIGlsIGZpbGUgJmVncmF2ZTsgc3RhdG8gY2FyaWNhdG8gc3VsIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5kYXRhIGRpIHNjYWRlbnphLCBkb3BvIHF1ZXN0YSBpbCBmaWxlIG5vbiBzYXImYW1wO2FncmF2ZTsgcGkmYW1wO3VncmF2ZTsgZGlzcG9uaWJpbGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWUgYSBjdWkgYXBwYXJ0aWVuZSBpbCBmaWxlIChkaXNwb25pYmlsZSBuZWwgc2VsZXR0b3JlIGUgbmVsIGRldHRhZ2xpbyk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmxpbmsgZGkgZG93bmxvYWQgZ2VuZXJhdG88L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiBhbCBkb3dubG9hZCBkZWwgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+ZWxlbmNvIGRpIHRpcGkgZGkgYWNjZXNzbyBsZWdnaWJpbGUgKGxpYmVybyxmZXUsZW1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+bGluayBkZWwgZGV0dGFnbGlvIGdlbmVyYXRvPC90ZD48L3RyPg0KDQonOwokbGFuZ1snbGlzdF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT5OZWwge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfSBsb29wOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRoPlZhcmlhYmlsZTo8L3RoPjx0aD5Db3MmIzAzOTsmYW1wO2VncmF2ZTs/PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW1sZXZlbH08L2I+PC90ZD48dGQ+bGl2ZWxsbyBhdHR1YWxlIGRlbGxhIGNhdGVnb3JpYTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5yb3djbGFzc308L2I+PC90ZD48dGQ+cmlnYTEgbyByaWdhMiBhIHNlY29uZGEgZGVsbGEgcGFyaXQmYW1wO2FncmF2ZTs8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+IFF1YW5kbyA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5pbnRlc3RhemlvbmU8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+PC90ZD48dGQ+PGk+aW50ZXN0YXppb25lPC9pPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5ub21lIGNhdGVnb3JpYTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZGVzY3JpemlvbmUgY2F0ZWdvcmlhPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN1YmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmluc2llbWUgZGkgc290dG9jYXRlZ29yaWU7IG9nbmkgc290dG9jYXRlZ29yaWEgY29udGllbmUgZ2xpIGVsZW1lbnRpOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90OyA+PGk+IFF1YW5kbyA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5maWxlPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmZpbGU8L2k+PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+bm9tZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5kZXNjcml6aW9uZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmRpbWVuc2lvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD5udW1lcm8gZGkgZG93bmxvYWQgZGVsIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGVzdG86IHNjYXJpY2F0byAlcyB2b2x0YS9lLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5oYXNoIG1kNTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmVzdGVuc2lvbmUgZmlsZSAoanBnLHBkZix0YXIuYnosZXRjLi4uKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50ZW1wbywgcXVhbmRvIGlsIGZpbGUgJmVncmF2ZTsgc3RhdG8gY2FyaWNhdG8gc3VsIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5kYXRhIGRpIHNjYWRlbnphLCBkb3BvIHF1ZXN0YSBpbCBmaWxlIG5vbiBzYXImYW1wO2FncmF2ZTsgcGkmYW1wO3VncmF2ZTsgZGlzcG9uaWJpbGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWUgYSBjdWkgYXBwYXJ0aWVuZSBpbCBmaWxlIChkaXNwb25pYmlsZSBuZWwgc2VsZXR0b3JlIGUgbmVsIGRldHRhZ2xpbyk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmxpbmsgZGkgZG93bmxvYWQgZ2VuZXJhdG88L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiBhbCBkb3dubG9hZCBkZWwgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+ZWxlbmNvIGRpIHRpcGkgZGkgYWNjZXNzbyBsZWdnaWJpbGUgKGxpYmVybyxmZXUsZW1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+bGluayBkZWwgZGV0dGFnbGlvIGdlbmVyYXRvPC90ZD48L3RyPg0KDQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPk5lbGwmIzAzOTtpbnRlcm5vIG1vZGVsbG86PC9pPjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+VmFyaWFiaWxlOjwvYj48L3RkPjx0ZD48Yj5Db3MmIzAzOTsmYW1wO2VncmF2ZTs/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtY291bnR9PC9iPjwvdGQ+PHRkPm51bWVybyBkaSBlbGVtZW50ZSBpbiAkaXRlbXM8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbm9kb3dubG9hZHN9PC9iPjwvdGQ+PHRkPm1lc3NhZ2dpbyBxdWFuZG8gbm9uIHNvbm8gcHJlc2VudGkgZG93bmxvYWQgbmVsbGEgY2F0ZWdvcmlhIHNlbGV6aW9uYXRhPC90ZD48L3RyPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTYzMjM4NDAxMDE1MTQ5NDAwLjEyMjYzMzQ3NTEuMTI1MTkwNDA5OC4xMjUyMDUxMjQxLjQxJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1MTkwNDA5OC40MC4xNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9uZGF6aW9uZXRlYXRyb2JvcmdhdHRpLml0fHV0bWNjdD0vYW1taW4vbW9kdWxlaW50ZXJmYWNlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sncWNhJ10gPSAnUDAtMjAwNzY4NjkyMC0xMjUxMTkwODE1MDI3JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhLiA8YnIvPiBSZW1lbWJlciB0byBjcmVhdGUgZG93bmxvYWRzLyBkaXIgaW4gcm9vdCBjbXMgZGlyIGFuZCBnaXZlIGl0IDA3NzcgcGVybWlzc2lvbnMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0Rvd25sb2FkIE1hbmFnZXIgdW5pbnN0YWxsJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdSYjMDM5O3JlIHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsZSBwcmVmZXJlbmNlcyB1cGRhdGVkLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZG93bmxvYWRfZXJyb3JfbXNnJ10gPSAnRXJyb3Igb2NjdXJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoaXMgZmlsZSc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydzdWJtaXRyZXFlbWFpbCddID0gJ1N1Ym1pdCB0byByZWNlaXZlIGxpbmsgdG8gZG93bmxvYWQnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snYmFjayddID0gJ0dvIGJhY2suJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3Rpb25zJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ1Jvb3QgY2F0ZWdvcnknOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdZb3UgbXVzdCBlbnRlciBhIG5hbWUuJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ1lvdSBtdXN0IGxvZyBpbiB0byBkb3dubG9hZCB0aGlzIGZpbGU6JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1lvdSBtYXkgYWxzbyBsb2cgaW4gdG8gZG93bmxvYWQgdGhpcyBmaWxlOic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFsbG93cyB0byBNYW5hZ2UgRG93bmxvYWRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBEb3dubG9hZE1hbmFnZXIgYWRtaW4gc2VjdGlvbi48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhPC9saT4NCjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5UcmFuc2xhdGlvbnM8L2gzPg0KPHA+TmV3ZXN0IHRyYW5zbGF0aW9ucyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnQ2F0ZWdvcnkgaWQsIGNvdWxkIGJlIGZvdW5kIGluIGNhdGVnb3JpZXMgdGFiLiBJZiBzZWxlY3RlZCwgYWxpYXMgaXMgbm90IHRha2VuIGludG8gYWNjb3VudC4nOwokbGFuZ1snaGVscF9wYXJhbV9hbGlhcyddID0gJ0NhdGVnb3J5IG9yIGZpbGUgYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdBbGxvdyB0byBzcGVjaWZ5IHRoZSBkZXB0aCBvZiB0cmVlIHNob3duIGJ5IGRlZmF1bHQgYWN0aW9uLiBJZiBub3Qgc2V0IGZ1bGwgdHJlZSB3aWxsIGJlIHNob3duLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgbmFtZS4gSWYgbm90IGdpdmVuIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGZvciBjdXJyZW50IGFjdGlvbiBpcyBhY3Rpb24vZmlsZS9jYXRlZ29yeS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6DQo8dWw+DQo8bGk+JnF1b3Q7JmFtcDsmcXVvdDsgLSBpbnRlcnNlY3Rpb248L2xpPg0KPGxpPiZxdW90O3wmcXVvdDsgLSBzdW08L2xpPg0KPGxpPmNhdGVnb3J5IGlkICh5b3UgY2FuIHNlZSBpdCBpbiBjYXRlZ29yaWVzIHRhYik8L2xpPg0KPGxpPmFsbCBvdGhlciBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xlYW5lZCBiZWZvcmUgcGFyc2luZzwvbGk+DQo8L3VsPg0KRm9yIGV4YW1wbGUgc2VsZWN0b3I9JnF1b3Q7MyZhbXA7KDF8MikmcXVvdDsgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPg0KSWYgc2VsZWN0b3IgaXMgc3BlY2lmaWVkIGNhdGVnb3J5IHBhcmFtZXRlciB3aWxsIDxiPm5vdDwvYj4gYmUgcGFyc2VkLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdXcm9uZyBhbGlhcyBnaXZlbi4nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdEb3dubG9hZCc7CiRsYW5nWydkb3dubG9hZGluZyddID0gJ0Rvd25sb2FkaW5nICVzLi4uJzsKJGxhbmdbJ2JhY2t0b2xpc3QnXSA9ICdCYWNrIHRvIHRoZSBmaWxlIGxpc3QuJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIGdpdmVuJzsKJGxhbmdbJ3dyb25nZmlsZSddID0gJ1dyb25nIGZpbGUgaWQnOwokbGFuZ1snbm9hY2Nlc3MnXSA9ICdZb3UgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoaXMgZmlsZS4nOwokbGFuZ1snZG93bmxvYWRfZGlyJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5JzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW4nXSA9ICdTY2FubmVkIGRpcmVjdG9yaWVzIChzZXBlYXRlZCB3aXRoIHNlbWljb2xvbiBleC4gJnF1b3Q7ZGlyMS87ZGlyMi87ZGlyMy8mcXVvdDsgKSc7CiRsYW5nWydkb3dubG9hZF9zY2FuX3JlY3VycyddID0gJ1NjYW4gZGlyZWN0b3JpZXMgcmVjdXJzaXZlPyc7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZSddID0gJ0Rvd25sb2FkIHRlbXBsYXRlJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSA9ICc8dGFibGUgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpsZWZ0OyZxdW90Oz4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nfTwvYj48L3RkPjx0ZD5UZXh0OiBEb3dubG9hZGluZyAlcy4uLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nX2luZm99PC9iPjwvdGQ+PHRkPlRleHQ6IFlvdXIgZG93bmxvYWQgc2hvdWxkIGJlZ2luIHNob3J0bHkuIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMsIHBsZWFzZSBjb250YWN0IHRoZSBXZWJtYXN0ZXIuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRfbmFtZX08L2I+PC90ZD48dGQ+TmFtZSBvZiBjdXJyZW50bHkgZG93bmxvYWRpbmcgZmlsZS48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+QmFjayB0byB0aGUgZmlsZSBsaXN0IGxpbmsuPC90ZD48L3RyPg0KPC90YWJsZT4NCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgaXMgbm90IHdyaXRhYmxlLCB0cnkgY2htb2QgNzc3Lic7CiRsYW5nWydkaXJfZG9udF9leGlzdHMnXSA9ICdEb3dubG9hZCBkaXJlY3RvcnkgKCVzKSBkb2VzIG5vdCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0Lic7CiRsYW5nWydzZWFyY2hfZXhwaXJlJ10gPSAnRXhwaXJlZCBhbmQgbm90IHN0YXJ0ZWQgZG93bmxvYWRzIGNhbiBhcHBlYXIgaW4gc2VhcmNoIHJlc3VsdHMnOwokbGFuZ1snbmFtZWxhYmVsJ10gPSAnTmFtZSc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdEb3dubG9hZCBjb3VudGVyJzsKJGxhbmdbJ2NvdW50ZXJuYnInXSA9ICdEb3dubG9hZGVkICVzIHRpbWUocykuJzsKJGxhbmdbJ2FsaWFzbGFiZWwnXSA9ICdBbGlhcyc7CiRsYW5nWydmaWxlbGFiZWwnXSA9ICdGaWxlJzsKJGxhbmdbJ2ZpbGVkZWxldGVkJ10gPSAnRmlsZSB3YXMgZGVsZXRlZC4nOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCBuZXcgZmlsZSc7CiRsYW5nWydhbHJlYWR5dXBsb2FkZWQnXSA9ICdVc2UgYWxyZWFkeSB1cGxvYWRlZCBmaWxlJzsKJGxhbmdbJ2V4dGVybmFsZmlsZSddID0gJ1VzZSBleHRlcm5hbCBmaWxlIGFjY2Vzc2libGUgdGhyb3VnaCBodHRwLiBGaWxlIHdpbGwgbm90IGJlIGRvd25sb2FkZWQgdG8gc2VydmVyJzsKJGxhbmdbJ2ZpbGVkb2VzbnRleGlzdHMnXSA9ICdGaWxlICVzIGRvZXNuYHQgZXhpc3Qgb24gc2VydmVyLic7CiRsYW5nWydjdXJsZmFpbGVkJ10gPSAnQ3VybCByZXF1ZXN0IGZhaWxlZC4nOwokbGFuZ1snY3VybGRvZXNudGV4aXN0cyddID0gJ0N1cmwgcGhwIGV4dGVuc2lvbiBuZWVkZWQgZm9yIGV4dGVybmFsIGxpbmtzIG5vdCBwcmVzZW50Lic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ10gPSAnT3JnaW5hbCBwYXRoJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXh0ZW5zaW9uJzsKJGxhbmdbJ3NpemVsYWJlbCddID0gJ1NpemUnOwokbGFuZ1snaGFzaGxhYmVsJ10gPSAnTWQ1IGhhc2gnOwokbGFuZ1snZGVzY3JpcHRpb25sYWJlbCddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NyZWF0ZWRsYWJlbCddID0gJ0NyZWF0aW9uIHRpbWUnOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnRXhwaXJlcyc7CiRsYW5nWydzdGFydHNsYWJlbCddID0gJ1N0YXJ0cyc7CiRsYW5nWyd2aXNpYmxlbGFiZWwnXSA9ICdWaXNpYmxlJzsKJGxhbmdbJ3VzZWV4cGlyYXRpb24nXSA9ICdVc2UgZXhwaXJhdGlvbiBkYXRlJzsKJGxhbmdbJ3VzZXN0YXJ0J10gPSAnVXNlIHN0YXJ0IGRhdGUnOwokbGFuZ1snYWRkZmlsZSddID0gJ05ldyBmaWxlJzsKJGxhbmdbJ3NjYW5mb3JuZXdmaWxlcyddID0gJ1NjYW4gZm9yIG5ldyBmaWxlcyc7CiRsYW5nWydzY2FucmVzdWx0J10gPSAnU2Nhbm5lZCBkaXJlY3RvcmllczogJXMgPGJyIC8+ICVzIG5ldyBmaWxlcyBsaXN0ZWQgYmVsb3cuIENob29zZSBmaWxlIHRvIGFkZC4nOwokbGFuZ1snc2Nhbm5vbmV3J10gPSAnTm8gbmV3IGZpbGVzIGFkZGVkLic7CiRsYW5nWydub2ZpbGVnaXZlbiddID0gJ1RoZXJlIHdhcyBubyBmaWxlJzsKJGxhbmdbJ25vdGhpbmd1cGxvYWRlZCddID0gJ05vIGZpbGUgb3IgZW1wdHkgZmlsZSB3YXMgdXBsb2FkZWQuJzsKJGxhbmdbJ3VuYWJsZXRvbW92ZSddID0gJ1VuYWJsZSB0byBtb3ZlIG9yIGNvcHkgdXBsb2FkZWQgZmlsZS4nOwokbGFuZ1sndHlwZWxhYmVsJ10gPSAnVHlwZSc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0ZpbGVzJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0ZpbGUgc3VjY2VzZnVsbHkgYWRkZWQnOwokbGFuZ1snZmlsZW1vZGlmaWVkJ10gPSAnRmlsZSBzdWNjZXNmdWxseSBtb2RpZmllZCc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdGb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnRGV0YWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZW1haWwnXSA9ICdFbWFpbCB0ZW1wbGF0ZSc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdVc2UgdGhlIGRlZmF1bHQgdGVtcGxhdGUgKHNlZSB0ZW1wbGF0ZXMgdGFiKSc7CiRsYW5nWydmZXVncm91cHNsYWJlbCddID0gJ0ZFVSBncm91cHMgd2hvIGNhbiBhY2Nlc3MgdGhlIGZpbGUsIGlmIG5vIGdyb3VwIHNlbGVjdGVkIGFsbCBGRVUgdXNlcnMgY2FuIGFjY2Vzcyc7CiRsYW5nWydhY2Nlc3N0eXBlJ10gPSAnQWNjZXNzIHR5cGUnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnRnJlZSBhY2Nlc3MnOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnRnJvbnRlbmQgVXNlcnMgb25seSc7CiRsYW5nWydhY2Nlc3N0eXBlX2VtYWlsb25seSddID0gJ0VtYWlsIG9ubHknOwokbGFuZ1snYWNjZXNzdHlwZV9taXhlZCddID0gJ0ZFVSBvciBFbWFpbCc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlscyc7CiRsYW5nWydmaWxlY2hhbmdlJ10gPSAnQ2hhbmdlIHRoaXMgZmlsZS4nOwokbGFuZ1snY2hhbmdlZmlsZWluZm8nXSA9ICdDaG9vc2UgbmV3IGZpbGUgdG8gY2hhbmdlIHRoZSBjdXJyZW50ICZxdW90OyVzJnF1b3Q7IChhbGlhczolcykgZmlsZS4gQWxsIGFzc29jaWF0aW9ucywgbGlua3MsIGluZm8gYW5kIGFsaWFzIHdpbGwgc3RheSB0aGUgc2FtZS4nOwokbGFuZ1snZmlsZWNoYW5nZWQnXSA9ICdGaWxlIHdhcyBzdWNjZXNzZnVsbHkgcmVwbGFjZWQnOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnQ2hhbmdlIHRoZSBmaWxlIG5hbWUgdG8gdGhlIG9uZSBmcm9tIG5ldyBmaWxlPyc7CiRsYW5nWydhbGx0aW1lJ10gPSAnQWxsIHRpbWUnOwokbGFuZ1snYXZhaWxhYmxpdHknXSA9ICdBdmFpbGFibGl0eSc7CiRsYW5nWydub2FsaWFzJ10gPSAnTm8gc3VjaCBhbGlhcyBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ25vaGFzaCddID0gJ05vIHN1Y2ggaGFzaCBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ3dyb25ncGFyYW1zJ10gPSAnV3JvbmcgcGFyYW1ldGVycyc7CiRsYW5nWydmaWxlbm90Zm91bmQnXSA9ICdGaWxlICVzIG5vdCBmb3VuZC4nOwokbGFuZ1snd3JvbmdkYXRhJ10gPSAnV3JvbmcgZGF0YSBpbiBkYXRhYmFzZSByb3cuJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTmV3IENhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcnknOwokbGFuZ1sncGFyZW50X2lkbGFiZWwnXSA9ICdQYXJlbnQgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcmllc3RhYmhlYWRlciddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1sncmVvcmRlcl9wcmlvcml0eSddID0gJ1ByaW9yaXR5ICgtOTkmbmJzcDt0byZuYnNwOzk5KSwgIGxvd2VyLT5iZXR0ZXIgJzsKJGxhbmdbJ25vZG93bmxvYWRzJ10gPSAnTm8gZG93bmxvYWRzIGluIHRoaXMgY2F0ZWdvcnknOwokbGFuZ1snZmlsZW5iJ10gPSAnJXMmbmJzcDtmaWxlKHMpJzsKJGxhbmdbJ2NhdGVnb3J5YWRkZWQnXSA9ICdUaGUgY2F0ZWdvcnkgd2FzIHN1Y2Nlc3NmdWxseSBhZGRlZC4nOwokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1snY2F0ZWdvcnlkZWxldGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZC4nOwokbGFuZ1snY2F0ZWdvcnljb250ZW50dHlwZWZyaWVuZGx5J10gPSAnRG93bmxvYWQgQ2F0ZWdvcnknOwokbGFuZ1snb3ZlcmFsbHRhYmhlYWRlciddID0gJ092ZXJhbGwnOwokbGFuZ1snYXNzb2NhdGlvbnN0YWJoZWFkZXInXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ2FkZGFzc29jJ10gPSAnQWRkIHRvIGNhdGVnb3J5JzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnlzZWwnXSA9ICdDYXRlZ29yeSBzZWxlY3RvciBwYXJzZSBlcnJvci4gPGJyIC8+IFNlbGVjdG9yIGFmdGVyIGNsZWFuaW5nOiAlcyc7CiRsYW5nWydub2NhdGVnb3J5c2VsJ10gPSAnQ2F0ZWdvcnkgc2VsZWN0b3Igbm90IHNldC4nOwokbGFuZ1snd3JvbmdjYXRlZ29yeSddID0gJ1NlbGVjdGVkIGNhdGVnb3J5IGRvZXMgbm90IGV4aXN0cy4nOwokbGFuZ1snc2VuZGVtYWlsJ10gPSAnRW1haWwgZG93bmxvYWQgbGluayc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnRmlyc3QgbmFtZSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdMYXN0IG5hbWUnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sncHJvbXB0X21haWxpbmdsaXN0J10gPSAnSSB3b3VsZCBsaWtlIHRvIGhlYXIgYWJvdXQgbmV3IGZpbGVzIGFuZCBpbXBvcnRhbnQgbmV3cyc7CiRsYW5nWydlbWFpbHNlbnQnXSA9ICdBbiBlbWFpbCBjb250YWluaW5nIHRoZSBkb3dubG9hZCBsaW5rIHdhcyBzZW50IHRvIHRoZSBzcGVjaWZpZWQgYWRkcmVzcy4nOwokbGFuZ1snY291bGRub3RzZW5kJ10gPSAnVGhlcmUgd2FzIGFuIGVycm9yIHdpdGggeW91ciByZXF1ZXN0LCBhbmQgdGhlIGVtYWlsIGNvdWxkIG5vdCBiZSBzZW50Lic7CiRsYW5nWydpbnZhbGlkZW1haWwnXSA9ICdUaGUgZW1haWwgeW91IGhhdmUgZW50ZXJlZCBpcyBpbnZhbGlkLiBXaXRob3V0IGEgdmFsaWQgZW1haWwsIHdlIGNhbm5vdCBzZW5kIHlvdSBhIGRvd25sb2FkIGxpbmssIGFuZCB5b3UgY2Fubm90IGRvd25sb2FkIHRoZSBmaWxlLic7CiRsYW5nWydwbGVhc2VfbmFtZSddID0gJ1BsZWFzZSBlbnRlciB5b3VyIG5hbWUuJzsKJGxhbmdbJ3BsZWFzZV9lbWFpbCddID0gJ1BsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFkZHJlc3MuIFRoZSBkb3dubG9hZCBsaW5rIHdpbGwgYmUgc2VudCB0byB0aGlzIGFkZHJlc3MuJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnTmV3IFRlbXBsYXRlJzsKJGxhbmdbJ2xpc3R0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdG8gZGlzcGxheSBsaXN0cyBvZiBjYXRlZ29yaWVzIG9yIGZpbGVzJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05ldyBMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyB0byBkaXNwbGF5IHRoZSBkZXRhaWxzIG9mIGEgZmlsZSc7CiRsYW5nWydhZGRkZXRhaWx0ZW1wbGF0ZSddID0gJ05ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgdGhlIGZvcm0gdG8gcmVxdWVzdCBhIGRvd25sb2FkIGxpbmsgYnkgbWFpbCc7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOZXcgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgZW1haWxzIHNlbnQgd2l0aCBkb3dubG9hZCBsaW5rJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOZXcgRW1haWwgQm9keSBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZGVsZXRldGVtcGxhdGUnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoZSB0ZW1wbGF0ZSAlcz8nOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdDb250ZW50JzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVsYWJlbCddID0gJ05hbWUnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSB1cGRhdGVkLic7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7CiRsYW5nWyd3cm9uZ3RlbXBsYXRlJ10gPSAnV3JvbmcgdGVtcGxhdGUgc3BlY2lmaWVkLic7CiRsYW5nWydhbHJlYWR5ZXhpc3QnXSA9ICdUaGVyZSBpcyBhbHJlYWR5IGEgdGVtcGxhdGUgYnkgdGhhdCBuYW1lLic7CiRsYW5nWydnZW5lcmFsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+UmV0dXJuIGJhY2sgaW4gaGlzdG9yeSBsaW5rPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdGFydHN9PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdGFydHN9PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2lucHV0fTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9pbnB1dH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskc3VibWl0fTwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkxhYmVsczwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZSBvZiB1c2VyIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN0YXJ0c308L2I+PC90ZD48dGQ+c3RhcnQgdGltZSwgYWZ0ZXIgdGhpcyBmaWxlIGlzIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQonOwokbGFuZ1snbGlzdF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT4gSW4gdGhlIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0gbG9vcDo8L2k+PC90aD48L3RyPg0KPHRyPjx0aD5WYXJpYWJsZTo8L3RoPjx0aD5XaGF0IGlzIGl0PzwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtbGV2ZWx9PC9iPjwvdGQ+PHRkPmFjdHVhbCBjYXRlZ29yeS1sZXZlbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5yb3djbGFzc308L2I+PC90ZD48dGQ+cm93MSBvciByb3cyIGRlcGVuZGluZyBvbiBwYXJpdHk8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+aGVhZGVyPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmhlYWRlcjwvaT48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3ViY2F0ZWdvcmllc308L2I+PC90ZD48dGQ+YXJyYXkgb2Ygc3ViY2F0ZWdvcmllcywgZWFjaCBzdWJjYXRlZ29yeSBoYXMgZWxlbWVudHM6IGlkLCBuYW1lLCBsb25nX25hbWUsIGFsaWFzLCBmaWxlc25iLCBpdGVtcywgcGFyZW50PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7ID48aT4gV2hlbiA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5maWxlPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmZpbGU8L2k+PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3RhcnRzfTwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+SW4gd2hvbGUgdGVtcGxhdGU6PC9pPjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtY291bnR9PC9iPjwvdGQ+PHRkPm51bWJlciBvZiBpdGVtcyBpbiAkaXRlbXM8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbm9kb3dubG9hZHN9PC9iPjwvdGQ+PHRkPm1lc3NhZ2UgdGhlbiB0aGVyZSBhcmUgbm8gZG93bmxvYWRzIGluIHNlbGVjdGVkIGNhdGVnb3J5PC90ZD48L3RyPg0KJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4MzI4NzM0OS4zMjAyLjc0LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzkwNTI2MjMwODQxMTAxMDAuMTIxMDQyMzU3Ny4xMjg0MjI1NDA2LjEyODQyMjg4OTUuMzI0Nyc7CiRsYW5nWydxY2EnXSA9ICcxMjEwOTcxNjkwLTI3MzA4MDczLTgxOTUyODMyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyODQyMjg4OTUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXIgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQmUgc3VyZSB0byBzZXQgJnF1b3Q7VXNlIERvd25sb2FkIE1hbmFnZXImcXVvdDsgcGVybWlzc2lvbnMgdG8gdXNlIHRoaXMgbW9kdWxlIS4gPGJyLz4gUmVtZW1iZXIgdG8gY3JlYXRlIGRvd25sb2Fkcy8gZGlyIGluIHJvb3QgY21zIGRpciBhbmQgZ2l2ZSBpdCAwNzc3IHBlcm1pc3Npb25zJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEb3dubG9hZCBNYW5hZ2VyIGRlJml1bWw7bnN0YWxsYXRpZSc7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlIG1vZHVsZSB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBnZWRlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpZSAlcyAgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGV2b29ya2V1cmVuIHppam4gYmV3YWFyZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQuIFpvcmcgZGF0IHUgYmVzY2hpa3Qgb3ZlciB2b2xkb2VuZGUgcmVjaHRlbi4nOwokbGFuZ1snZG93bmxvYWRfZXJyb3JfbXNnJ10gPSAnRXIgaXMgZWVuIGZvdXQgb3BnZXRyZWRlbiB0aWpkZW5zIGhldCB2ZXJ3ZXJrZW4gdmFuIGRpdCBiZXN0YW5kJzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnVWl0dm9lcmVuIG9tIGVlbiBsaW5rIHRlIG9udmFuZ2VuIHZhbiBoZXQgdGUgZG93bmxvYWRlbiBiZXN0YW5kJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRm91dCEnOwokbGFuZ1snYmFjayddID0gJ0dhIHRlcnVnJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3RpZXMnOwokbGFuZ1sncm9vdGNhdGVnb3J5J10gPSAnUm9vdCBjYXRlZ29yaWUnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgZ2UmdXVtbDtwZ3JhZGUgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBWb29ya2V1cmVuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBCZWhlZXIgUGFuZWVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQgTWFuYWdlciAnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdVIG1vZXQgZWVuIG5hYW0gaW52b2VyZW4nOwokbGFuZ1snbXVzdGxvZ2luJ10gPSAnVSBtb2V0IHppY2ggYWFubWVsZGVuIG9tIGRpdCBiZXN0YW5kIHRlIGRvd25sb2FkZW46JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1UgbWFnIHppY2ggYWFubWVsZGVuIG9tIGRpdCBiZXN0YW5kIHRlIGRvd25sb2FkZW46JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTWV0IGRlemUgbW9kdWxlIGJlaGVlcnQgdSBoZXQgZG93bmxvYWRlbiB2YW4gYmVzdGFuZGVuLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxrb20gaW4gaGV0IERvd25sb2FkTWFuYWdlciBiZWhlZXJnZWRlZWx0ZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhIDwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIGl0ZW0gcmVvcmRlciBhZGRlZDwvbGk+DQo8bGk+VmVyc2lvbiAwLjMgYmV0YSAtIG1ha2luZyBtb2R1bGUgbW9yZSB1c2VyLWZyaWVuZGx5PC9saT4NCjxsaT5WZXJzaW9uIDAuNCAtIGZpeGVkIGluc3RhbGwgYnVnIHdoaWNoIHVuYWJsZXMgYXNzb2NpYXRpb25zLCBhZGRlZCBhc3NvY2lhdGlvbnMgaW4gZmlsZSBhZGRpbmc8L2xpPg0KPGxpPlZlcnNpb24gMC44LjQgLSBhZGRlZCBjYXRlZ29yeSBzZWxlY3RvciwgZml4ZWQgc29tZSBidWdzPC9saT4NCjxsaT5WZXJzaW9uIDEuMC1yYzEgIC0gYWRkZWQgaW50ZWdyYXRpb24gd2l0aCBmZXUgbW9kdWxlIGFuZCBzZW5kaW5nIGZpbGUgbGluayBieSBlbWFpbCwgbWFkZSBjYXRlZ29yaWVzIHdhbGthYmxlLCBkaWZmZXJlbnQgdGVtcGxhdGVzIGZvciBkaWZmZXJlbnQgYWN0aW9uIHR5cGVzLCBjaGFuZ2VkIGNhdGVnb3J5X3NlbGVjdG9yIHBhcmFtZXRlciBpbnRvIHNlbGVjdG9yLCByZW1vdmVkIGNhdGVnb3J5IHBhcmFtZXRlciwgYWRkZWQgY2F0ZWdvcnkgbGlzdCBmb3IgZmlsZXMgaW4gc2VsZWN0b3IsIGFkZGVkIGFsaWFzZXMgdG8gZmlsZXMgYW5kIGNhdGVnb3JpZXM8L2xpPg0KPGxpPlZlcnNpb24gMS4xICAtIGFkZGVkIHRoZSBmaWxlY2hhbmdlIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4yICAtIGFkZGVkIHNjYW5uaW5nIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4zICAtIGFkZGVkIGRvd25sb2FkIGNvdW50aW5nPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/IDwvaDM+DQo8cD5BbGxvd3MgdG8gbWFuYWdlIERvd25sb2FkcyBmcm9tIGFkbWluIHBhbmVsLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+Rmlyc3QgbWFrZSBkb3dubG9hZHMvIGRpcmVjdG9yeSBpbiByb290IGNtcyBkaXJlY3RvcnkuIE5leHQgZ2l2ZSBpdCAwNzc3IG1vZGUsIGRlcGVuZGluZyBvbiBhcGFjaGUgY29uZmlndXJhdGlvbiBjb3VsZCBiZSAwNzc1IG9yIDA3NTUuPC9wPg0KPHA+VG8gYWNjZXMgbW9kdWxlIGFkbWluIGludGVyZmFjZSBnbyB0byBDb250ZW50IC0+IERvd25sb2FkIE1hbmFnZXIuPC9wPg0KPHA+SW5zdGFsbCBpdCBieSBwbGFjaW5nIHRoZSBtb2R1bGUgaW4gYSBwYWdlIG9yIHRlbXBsYXRlIHVzaW5nIHRoZSBzbWFydHkgdGFnIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTt9LiBTZWUgbW9yZSBleGFtcGxlcyBiZWxvdy48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC48L3A+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnQ2F0ZWdvcmllIGlkLCBjYW4gZ2V2b25kZW4gd29yZGVuIGluIGRlIGNhdGVnb3JpZSB0YWIuIEFscyBkZXplIGdlc2VsZWN0ZWVyZCBpcywgd29yZHQgZGUgYWxpYXMgZ2VuZWdlZXJkLic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ10gPSAnQ2F0ZWdvcmllIG9mIGJlc3RhbmRzYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdTdGFhdCBoZXQgc3BlY2lmaWNlcmVuIHZhbiBkZSB0ZSB0b25lbiBkaWVwdGUgdmFuIGRlIGJvb20gYmlqIGVlbiBzdGFuZGFhcmQgYWN0aWUgdG9lLiBJbmRpZW4gbmlldCBpbmdldm9lcmQgemFsIGRlIGdlaGVsZSBib29tIHdvcmRlbiBnZXRvb25kLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnU2phYmxvb24gbmFhbS4gSW5kaWVuIG5pZXQgaW5nZXZvZXJkLCBkYW4gaXMgaGV0IHN0YW5kYWFyZCBzamFibG9vbiAgdm9vciBkZSBodWlkaWdlIGFjdGllOiBhY3Rpb24vZmlsZS9jYXRlZ29yeS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6DQo8dWw+DQo8bGk+JnF1b3Q7JmFtcDsmcXVvdDsgLSBpbnRlcnNlY3Rpb248L2xpPg0KPGxpPiZxdW90O3wmcXVvdDsgLSBzdW08L2xpPg0KPGxpPmNhdGVnb3J5IGlkICh5b3UgY2FuIHNlZSBpdCBpbiBjYXRlZ29yaWVzIHRhYik8L2xpPg0KPGxpPmFsbCBvdGhlciBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xlYW5lZCBiZWZvcmUgcGFyc2luZzwvbGk+DQo8L3VsPg0KRm9yIGV4YW1wbGUgc2VsZWN0b3I9JnF1b3Q7MyZhbXA7KDF8MikmcXVvdDsgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPg0KSWYgc2VsZWN0b3IgaXMgc3BlY2lmaWVkIGNhdGVnb3J5IHBhcmFtZXRlciB3aWxsIDxiPm5vdDwvYj4gYmUgcGFyc2VkLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdWZXJrZWVyZGUgYWxpYXMgZ2VnZXZlbi4nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdEb3dubG9hZCAnOwokbGFuZ1snZG93bmxvYWRpbmcnXSA9ICclcyBhYW4gaGV0IGRvd25sb2FkZW4uLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ1RlcnVnIG5hYXIgZGUgYmVzdGFuZHNsaWpzdC4nOwokbGFuZ1snZG93bmxvYWRpbmdfaW5mbyddID0gJ1V3IGRvd25sb2FkIHphbCBkaXJlY3Qgc3RhcnRlbi4gQWxzIGVyIG9udmVyaG9vcHQgZWVuIGZvdXQgb3B0cmVlZHQsIG5lZW10IHUgZGFuIGNvbnRhY3Qgb3AgbWV0IGRlIHdlYnNpdGUgYmVoZWVyZGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdHZWVuIGJlc3RhbmRzbmFhbSBpbmdldm9lcmQnOwokbGFuZ1snd3JvbmdmaWxlJ10gPSAnVmVya2VlcmRlIGJlc3RhbmRzIGlkJzsKJGxhbmdbJ25vYWNjZXNzJ10gPSAnVSBoZWVmdCBnZWVuIHRvZWdhbmcgdG90IGRpdCBiZXN0YW5kLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdEb3dubG9hZCBtYXAnOwokbGFuZ1snZG93bmxvYWRfc2NhbiddID0gJ1RlIHNjYW5uZW4gZGlyZWN0b3JpZXMgKGdlc2NoZWlkZW4gZG9vciBlZW4gcHVudC1rb21tYSwgYmlqdi46ICZxdW90O2RpcjEvO2RpcjIvO2RpcjMvJnF1b3Q7ICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSA9ICdTY2FuIGRpcmVjdG9yaWVzIHJlY3Vyc2llZj8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSA9ICdEb3dubG9hZCBzamFibG9vbic7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZV9pbmZvJ10gPSAnPHRhYmxlIHN0eWxlPSZxdW90O3RleHQtYWxpZ246bGVmdDsmcXVvdDs+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ308L2I+PC90ZD48dGQ+VGV4dDogRG93bmxvYWRpbmcgJXMuLi48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ19pbmZvfTwvYj48L3RkPjx0ZD5UZXh0OiBZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57ZG93bmxvYWRfbmFtZX08L2I+PC90ZD48dGQ+TmFtZSBvZiBjdXJyZW50bHkgZG93bmxvYWRpbmcgZmlsZS48L3RkPjwvdHI+DQo8L3RhYmxlPg0KICc7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnRG93bmxvYWQgbWFwICglcykgaXMgbmlldCBzY2hyaWpmYmFhciwgd2lqemlnIGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnRG93bmxvYWQgbWFwICglcykgYmVzdGFhdCBuaWV0LCBtYWFrIGRlemUgZWVyc3QgYWFuLic7CiRsYW5nWydzZWFyY2hfZXhwaXJlJ10gPSAnVmVybG9wZW4gZW4gbmlldC1nZXN0YXJ0ZSBkb3dubG9hZHMga3VubmVuIHZvb3Jrb21lbiBpbiBkZSB6b2VrcmVzdWx0YXRlbic7CiRsYW5nWyduYW1lbGFiZWwnXSA9ICdOYWFtJzsKJGxhbmdbJ2NvdW50ZXJsYWJlbCddID0gJ0Rvd25sb2FkIHRlbGxlcic7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnJXMgS2VlciBnZWRvd25sb2FkLic7CiRsYW5nWydhbGlhc2xhYmVsJ10gPSAnQWxpYXMgJzsKJGxhbmdbJ2ZpbGVsYWJlbCddID0gJ0Jlc3RhbmQnOwokbGFuZ1snZmlsZWRlbGV0ZWQnXSA9ICdCZXN0YW5kIGlzIHZlcndpamRlcmQuJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdVcGxvYWQgZWVuIG5pZXV3IGJlc3RhbmQnOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnR2VicnVpayBlZW4gYmVzdGFuZCBkYXQgamUgYWwgZ2UmdXVtbDtwbG9hZCBoZWJ0IChzY2hyaWpmIGhldCBleGFjdGUgcGFkIG5hYXIgaGV0IGJlc3RhbmQgaW4gZGUgQ01TIHJvb3QgZGlyZWN0b3J5KSc7CiRsYW5nWydleHRlcm5hbGZpbGUnXSA9ICdHZWJydWlrIGhldCBleHRlcm4gYmVzdGFuZCB2aWEgaHR0cC4gSGV0IGJlc3RhbmQgaG9lZnQgbmlldCB0ZSB3b3JkZW4gZ2Vkb3dubG9hZCBuYWFyIGRlIHNlcnZlcic7CiRsYW5nWydmaWxlZG9lc250ZXhpc3RzJ10gPSAnQmVzdGFuZCAlcyBiZXN0YWF0IG5pZXQgb3AgZGUgc2VydmVyLic7CiRsYW5nWydjdXJsZmFpbGVkJ10gPSAnY1VSTCBhYW5yb2VwIG1pc2x1a3QuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdjVVJMIFBIUCBleHRlbnNpZSwgYmVub2RpZ2Qgdm9vciBleHRlcm5lIGxpbmtzLCBuaWV0IGFhbndlemlnLic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ10gPSAnTmFhbSB2YW4gZGUgc2VydmVyJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXh0ZW5zaWUnOwokbGFuZ1snc2l6ZWxhYmVsJ10gPSAnR3Jvb3R0ZSc7CiRsYW5nWydoYXNobGFiZWwnXSA9ICdNZDUgaGFzaCAnOwokbGFuZ1snZGVzY3JpcHRpb25sYWJlbCddID0gJ09tc2NocmlqdmluZyc7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdBYW5tYWFrIHRpamRzdGlwJzsKJGxhbmdbJ2V4cGlyZXNsYWJlbCddID0gJ1Zlcmxvb3B0JzsKJGxhbmdbJ3N0YXJ0c2xhYmVsJ10gPSAnQmVnaW50JzsKJGxhbmdbJ3Zpc2libGVsYWJlbCddID0gJ1ppY2h0YmFhcic7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnR2VicnVpayB2ZXJsb29wIGRhdHVtJzsKJGxhbmdbJ3VzZXN0YXJ0J10gPSAnR2VicnVpayBzdGFydGRhdHVtJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOaWV1dyBiZXN0YW5kJzsKJGxhbmdbJ3NjYW5mb3JuZXdmaWxlcyddID0gJ1NjYW4gbmFhciBuaWV1d2UgYmVzdGFuZGVuJzsKJGxhbmdbJ3NjYW5yZXN1bHQnXSA9ICdHZXNjYW5kZSBkaXJlY3RvcmllczogJXMgPGJyIC8+ICVzIE5pZXV3ZSBiZXN0YW5kZW4gemlqbiBvbmRlcnN0YWFuZCBvcGdlc29tZC4gS2llcyBlZW4gYmVzdGFuZCBvbSB0b2UgdGUgdm9lZ2VuLic7CiRsYW5nWydzY2Fubm9uZXcnXSA9ICdHZWVuIG5pZXV3ZSBiZXN0YW5kZW4gdG9lZ2V2b2VnZC4nOwokbGFuZ1snbm9maWxlZ2l2ZW4nXSA9ICdFciB6aWpuIGdlZW4gbmlldXdlIGJlc3RhbmRlbic7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdFciBpcyBnZWVuLCBkYW53ZWwgZWVuIGxlZWcgYmVzdGFuZCBnZSZ1dW1sO3Bsb2FkLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdLYW4gaGV0IGdlJnV1bWw7cGxvYWRlIGJlc3RhbmQgbmlldCB2ZXJwbGFhdHNlbiBvZiBrb3BpJmV1bWw7cmVuLic7CiRsYW5nWyd0eXBlbGFiZWwnXSA9ICdUeXBlICc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0Jlc3RhbmRlbic7CiRsYW5nWydmaWxlYWRkZWQnXSA9ICdCZXN0YW5kIHN1Y2Nlc3ZvbCB0b2VnZXZvZWdkJzsKJGxhbmdbJ2ZpbGVtb2RpZmllZCddID0gJ0Jlc3RhbmQgc3VjY2Vzdm9sIGdld2lqemlnZC4nOwokbGFuZ1sndGVtcGxhdGVmb3Jmb3JtJ10gPSAnRm9ybXVsaWVyIHNqYWJsb29uJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnRGV0YWlsIHNqYWJsb29uJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZW1haWwnXSA9ICdFLW1haWwgc2phYmxvb24nOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnUGFzIGhldCBzdGFuZGFhcmQgKGRlZmF1bHQpIHNqYWJsb29uIHRvZSAoc2VlIHNqYWJsb25lbiB0YWIpJzsKJGxhbmdbJ2ZldWdyb3Vwc2xhYmVsJ10gPSAnRkVVIGdyb2VwZW4gZGllIHRvZWdhbmcgaGViYmVuIHRvdCBoZXQgYmVzdGFuZCc7CiRsYW5nWydhY2Nlc3N0eXBlJ10gPSAnVG9lZ2FuZ3N0eXBlJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZnJlZSddID0gJ1ZyaWplIHRvZWdhbmcnOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnQWxsZWVuIEZyb250ZW5kIEdlYnJ1aWtlcnMnOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdBbGxlZW4gRS1tYWlsJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGRVUgb2YgRS1tYWlsJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhaWxzICc7CiRsYW5nWydmaWxlY2hhbmdlJ10gPSAnQmV3ZXJrIGRpdCBiZXN0YW5kLic7CiRsYW5nWydjaGFuZ2VmaWxlaW5mbyddID0gJ0tpZXMgZWVuIG5pZXV3IGJlc3RhbmQgb20gZGUgaHVpZGlnZSBtZWUgdGUgdmVydmFuZ2VuICZxdW90OyVzJnF1b3Q7IChhbGlhczolcykgYmVzdGFuZC4gQWxsZSBhc3NvY2lhdGllcywgbGlua3MsIGluZm8gZW4gYWxpYXMgd2lsbCB6dWxsZW4gZGV6ZWxmZGUgYmxpanZlbi4nOwokbGFuZ1snZmlsZWNoYW5nZWQnXSA9ICdCZXN0YW5kIGlzIHN1Y2Nlc3ZvbCBoZXJwbGFhdHN0JzsKJGxhbmdbJ2NoYW5nZW5hbWVsYWJlbCddID0gJ0Jlc3RhbmRzbmFhbSB3aWp6aWdlbiBpbiBkaWUgdmFuIGhldCBuaWV1d2UgYmVzdGFuZD8nOwokbGFuZ1snYWxsdGltZSddID0gJ0FsdGlqZCc7CiRsYW5nWydhdmFpbGFibGl0eSddID0gJ0Jlc2NoaWtiYWFyaGVpZCc7CiRsYW5nWydub2FsaWFzJ10gPSAnR2VlbiBhbGlhcyBvZiBkb3dubG9hZCBiZXNjaGlrYmFhcic7CiRsYW5nWydub2hhc2gnXSA9ICdHZWVuIGFsaWFzIG9mIGRvd25sb2FkIGJlc2NoaWtiYWFyJzsKJGxhbmdbJ3dyb25ncGFyYW1zJ10gPSAnVmVya2VlcmRlIHBhcmFtZXRlcnMnOwokbGFuZ1snZmlsZW5vdGZvdW5kJ10gPSAnQmVzdGFuZCAlcyBuaWV0IGdldm9uZGVuLic7CiRsYW5nWyd3cm9uZ2RhdGEnXSA9ICdWZXJrZWVyZGUgZGF0YSBpbiBkZSBkYXRhYmFzZSByZWdlbC4nOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdOaWV1d2UgQ2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnSG9vZmQgQ2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdDYXRlZ29yaSZldW1sO24nOwokbGFuZ1sncmVvcmRlcl9wcmlvcml0eSddID0gJ1ByaW9yaXRlaXQgKC05OSB0b3QgOTkpLCAgbGFnZXItPmJldGVyICc7CiRsYW5nWydub2Rvd25sb2FkcyddID0gJ0dlZW4gZG93bmxvYWRzIGluIGRlemUgY2F0ZWdvcmllJzsKJGxhbmdbJ2ZpbGVuYiddID0gJyVzIGJlc3RhbmQoZW4pJzsKJGxhbmdbJ2NhdGVnb3J5YWRkZWQnXSA9ICdEZSBjYXRlZ29yaWUgaXMgc3VjY2Vzdm9sIHRvZWdldm9lZ2QuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ0RlIHVwZGF0ZSB2YW4gZGUgY2F0ZWdvcmllIHdhcyBzdWNjZXN2b2wuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ0hldCB2ZXJ3aWpkZXJlbiB2YW4gZGUgY2F0ZWdvcmllIHdhcyBzdWNjZXN2b2wnOwokbGFuZ1snY2F0ZWdvcnljb250ZW50dHlwZWZyaWVuZGx5J10gPSAnRG93bmxvYWQgQ2F0ZWdvcmllJzsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXSA9ICdPdmVyIGRlIGdlaGVsZSBsaW5pZSc7CiRsYW5nWydhc3NvY2F0aW9uc3RhYmhlYWRlciddID0gJ0NhdGVnb3JpJmV1bWw7bic7CiRsYW5nWydhZGRhc3NvYyddID0gJ1RvZXZvZWdlbiBhYW4gY2F0ZWdvcmllJzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnlzZWwnXSA9ICdDYXRlZ29yaWUgc2VsZWN0b3IgcGFyc2UgZm91dC4gPGJyIC8+U2VsZWN0b3IgbmEgb3BzY2hvbmVuOiAlcyc7CiRsYW5nWydub2NhdGVnb3J5c2VsJ10gPSAnQ2F0ZWdvcmllIHNlbGVjdG9yIG5pZXQgaW5nZXN0ZWxkLic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnRGUgZ2VzZWxlY3RlZXJkZSBjYXRlZ29yaWUgYmVzdGFhdCBuaWV0Lic7CiRsYW5nWydzZW5kZW1haWwnXSA9ICdFLW1haWwgZG93bmxvYWQgbGluayc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnVm9vcm5hYW0nOwokbGFuZ1sncHJvbXB0X2xhc3RuYW1lJ10gPSAnQWNodGVybmFhbSc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdFLW1haWwnOwokbGFuZ1sncHJvbXB0X21haWxpbmdsaXN0J10gPSAnSWsgd2lsIG9wIGRlIGhvb2d0ZSBnZWhvdWRlbiB3b3JkZW4gdmFuIG5pZXV3ZSBiZXN0YW5kZW4gZW4gYmVsYW5ncmlqayBuaWV1d3MnOwokbGFuZ1snZW1haWxzZW50J10gPSAnRXIgaXMgZWVuIEUtbWFpbCBtZXQgZGUgZG93bmxvYWQgbGluayBnZXN0dXVyZCBuYWFyIGhldCBvcGdlZ2V2ZW4gYWRyZXMuJzsKJGxhbmdbJ2NvdWxkbm90c2VuZCddID0gJ0VyIGlzIGlldHMgdmVya2VlcmQgZ2VnYWFuIGluIGplIHZlcnpvZWssIGRlIEUtbWFpbCBrb24gbmlldCB2ZXJ6b25kZW4gd29yZGVuLic7CiRsYW5nWydpbnZhbGlkZW1haWwnXSA9ICdIZXQgRS1tYWlsIGFkcmVzIGRhdCBqZSBoZWJ0IGluZ2V2b2VyZCBpcyBvbmdlbGRpZy4gWm9uZGVyIGVlbiBnZWxkaWcgKHdlcmtlbmQpIEUtbWFpbCBhZHJlcyBrdW5uZW4gd2UgamUgZ2VlbiBkb3dubG9hZCBsaW5rIHN0dXJlbiBlbiBrdW4gamUgaGV0IGJlc3RhbmQgbmlldCBkb3dubG9hZGVuLic7CiRsYW5nWydwbGVhc2VfbmFtZSddID0gJ1Z1bCB1IHV3IG5hYW0gaW4uJzsKJGxhbmdbJ3BsZWFzZV9lbWFpbCddID0gJ1Z1bCBoaWVyIGplIEUtbWFpbCBhZHJlcyBpbi4gRGUgZG93bmxvYWQgbGluayB6YWwgZGFhciBuYWFydG9lIGdlc3R1dXJkIHdvcmRlbi4nOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdOaWV1dyBTamFibG9vbic7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuIG9tIGxpanN0ZW4gbWV0IGNhdGVnb3JpZSZldW1sO24gb2YgYmVzdGFuZGVuIHRlIHRvbmVuLic7CiRsYW5nWydhZGRsaXN0dGVtcGxhdGUnXSA9ICdOaWV1dyBsaWpzdHNqYWJsb29uLic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdTamFibG9uZW4gb20gZGUgZGV0YWlscyB2YW4gZWVuIGJlc3RhbmQgdGUgdG9uZW4uJzsKJGxhbmdbJ2FkZGRldGFpbHRlbXBsYXRlJ10gPSAnTmlldXcgZGV0YWlsc2phYmxvb24nOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ1NqYWJsb25lbiB2b29yIGhldCBmb3JtdWxpZXIgd2Fhcm1lZSBlZW4gZG93bmxvYWRsaW5rIHBlciBtYWlsIGFhbmdldnJhYWdkIGthbiB3b3JkZW4uJzsKJGxhbmdbJ2FkZGZvcm10ZW1wbGF0ZSddID0gJ05pZXV3IGZvcm11bGllciBzamFibG9vbi4nOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdTamFibG9uZW4gdm9vciBkZSB0ZSBzdHVyZW4gRS1tYWlscyBtZXQgZGUgZG93bmxvYWRsaW5rJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOaWV1dyBFLW1haWwgYm9keSBzamFibG9vbic7CiRsYW5nWydwcm9tcHRfZGVsZXRldGVtcGxhdGUnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IHNqYWJsb29uICVzIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1snY29udGVudGxhYmVsJ10gPSAnSW5ob3VkJzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVsYWJlbCddID0gJ05hYW0nOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ0hldCBzamFibG9vbiBpcyBzdWNjZXN2b2wgdG9lZ2V2b2VnZC4nOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnSGV0IHNqYWJsb29uIGlzIHN1Y2Nlc3ZvbCBiaWpnZXdlcmt0Lic7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdIZXQgc2phYmxvb24gaXMgc3VjY2Vzdm9sIHZlcndpamRlcmQuJzsKJGxhbmdbJ3dyb25ndGVtcGxhdGUnXSA9ICdWZXJrZWVyZGUgc2phYmxvb24gb3BnZWdldmVuLic7CiRsYW5nWydhbHJlYWR5ZXhpc3QnXSA9ICdFciBiZXN0YWF0IGFsIGVlbiBzamFibG9vbiBtZXQgZGllIG5hYW0uJzsKJGxhbmdbJ2dlbmVyYWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGJhY2t0b2xpc3RsaW5rfTwvYj48L3RkPjx0ZD5HYSB0ZXJ1ZyBpbiBkZSBnZXNjaGllZGVuaXMgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmaWxlaXRlbV90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKG9ubHkgd2hlbiBjYXRlZ29yeSBzZWxlY3RvciBpcyB1c2VkKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQonOwokbGFuZ1snZm9ybV90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPklucHV0czwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9pbnB1dH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9pbnB1dH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfaW5wdXR9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JHN1Ym1pdH08L2I+PC90ZD48dGQ+c3VibWl0PC90ZD48L3RyPg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5MYWJlbHM8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRmaXJzdG5hbWVfbGFiZWx9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZW1haWxfbGFiZWx9PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG1haWxpbmdsaXN0X2xhYmVsfTwvYj48L3RkPjx0ZD5tYWlsaW5nbGlzdCBjaGVja2JveDwvdGQ+PC90cj4NCic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskZmlyc3RuYW1lfTwvYj48L3RkPjx0ZD5maXJzdG5hbWUgb2YgdXNlciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZX08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZHVybH08L2I+PC90ZD48dGQ+bGluayBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZGhyZWZ9PC9iPjwvdGQ+PHRkPnVyaSBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2xpc3RfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+IEluIHRoZSB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19IGxvb3A6PC9pPjwvdGg+PC90cj4NCjx0cj48dGg+VmFyaWFibGU6PC90aD48dGg+V2hhdCBpcyBpdD88L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbWxldmVsfTwvYj48L3RkPjx0ZD5hY3R1YWwgY2F0ZWdvcnktbGV2ZWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+cm93Y2xhc3N9PC9iPjwvdGQ+PHRkPnJvdzEgb3Igcm93MiBkZXBlbmRpbmcgb24gcGFyaXR5PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPiBXaGVuIDxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPiA9IDxpPmhlYWRlcjwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5oZWFkZXI8L2k+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN1YmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIHN1YmNhdGVnb3JpZXMsIGVhY2ggc3ViY2F0ZWdvcnkgaGFzIGVsZW1lbnRzOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90OyA+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAob25seSB3aGVuIGNhdGVnb3J5IHNlbGVjdG9yIGlzIHVzZWQpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+SW4gd2hvbGUgdGVtcGxhdGU6PC9pPjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtY291bnR9PC9iPjwvdGQ+PHRkPm51bWJlciBvZiBpdGVtcyBpbiAkaXRlbXM8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbm9kb3dubG9hZHN9PC9iPjwvdGQ+PHRkPm1lc3NhZ2UgdGhlbiB0aGVyZSBhcmUgbm8gZG93bmxvYWRzIGluIHNlbGVjdGVkIGNhdGVnb3J5PC90ZD48L3RyPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTIwNjIxODI4NS4xMjU5OTQ0MTAxLjEyNzgzNTMzNzguMTI3ODQwMzk5MS4xMzAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjc3ODk4Nzg5LjEyNi41MC51dG1jc3I9ZmVlZGJ1cm5lcnx1dG1jY249RmVlZDogY21zbWFkZXNpbXBsZS9ibG9nIChDTVMgTWFkZSBTaW1wbGUpfHV0bWNtZD1mZWVkJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTU3MTk4ODc5Ny0xMjU5OTQ0MTAwOTczJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjc4NDAzOTkxJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdVc3RhdyB6ZXp3b2xlbmlhICZxdW90O1VzZSBEb3dubG9hZCBNYW5hZ2VyJnF1b3Q7LCDFvGVieSB1xbx5d2HEhyB0ZW4gbW9kdcWCIS4gPGJyLz4gVXR3Jm9hY3V0ZTtyeiBrYXRhbG9nIGRvd25sb2Fkcy8gdyBnxYImb2FjdXRlO3dueW0ga2F0YWxvZ3UgY21zbXMgaSBuYWRhaiBtdSB1cHJhd25pZW5pYSAwNzc3Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnT2RpbnN0YWx1aiBEb3dubG9hZCBNYW5hZ2VyJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdKZXN0ZcWbIHBld2llbiwgxbxlIGNoY2VzeiBvZGluc3RhbG93YcSHIHRlbiBtb2R1xYI/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdcWCIG9kaW5zdGFsb3dhbnkuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1dlcnNqYSAlcyB6YWluc3RhbG93YW5hLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdVYWt0dWFsbmlvbm8gdXN0YXdpZW5pYSBtb2R1xYJ1Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdCcmFrIGRvc3TEmXB1LiBTcHJhd2TFuiBzd29qZSB1cHJhd25pZW5pYS4nOwokbGFuZ1snZG93bmxvYWRfZXJyb3JfbXNnJ10gPSAnV3lzdMSFcGnFgiBixYJhZCB3IGN6YXNpZSBwcnpldHdhcnphbmllIHRlZ28gcGxpa3UuJzsKJGxhbmdbJ25vbmUnXSA9ICdCcmFrJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnV3nFm2xpaiwgxbxlYnkgb3RyenltYcSHIGxpbmsgZG8gcGxpa3UuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkISc7CiRsYW5nWydiYWNrJ10gPSAnV3Imb2FjdXRlO2MuJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBa2NqZSc7CiRsYW5nWydyb290Y2F0ZWdvcnknXSA9ICdLYXRhbG9nIGfFgiZvYWN1dGU7d255Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHXFgiB1YWt0dWFsbmlvbnkgZG8gd2Vyc2ppJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1VzdGF3aWVuaWEgbW9kdcWCdS4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFuZWwgYWRtaW5pc3RyYWN5am55IG1vZHXFgnUnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdEb3dubG9hZCBNYW5hZ2VyJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTXVzaXN6IHBvZGHEhyBuYXp3xJkuJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ011c2lzeiBiecSHIHphbG9nb3dhbnltIMW8ZWJ5IMWbY2nEhWduxIXEhyB0ZW4gcGxpazonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnTW/FvGVzeiBzacSZIHRlxbwgemFsb2dvd2HEhyDFvGVieSDFm2NpxIVnbsSFxIcgdGVuIHBsaWs6JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGVuIG1vZHXFgiB1bW/Fm2xpd2lhIHphcnrEhWR6YW5pZW0gxZtjaWFnYW5pZW0gcGxpayZvYWN1dGU7dyB6ZSBzdHJvbmllLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XaXRhbXkgdyBwYW5lbHUgYWRtaW5pc3RyYWN5am55bSBtb2R1xYJ5IERvd25sb2FkIE1hbmFnZXIuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjEgYWxwaGEgLSBwaWVyd3N6YSBhbHBoYTwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIGRvZGFubyB6YW1pYW7EmSBrb2xlam5vxZtjaSBwbGlrJm9hY3V0ZTt3PC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5UcmFuc2xhdGlvbnM8L2gzPg0KPHA+TmV3ZXN0IHRyYW5zbGF0aW9ucyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnSWQga2F0ZWdvcmlpICh3eXBpc2FuZSB3IHpha8WCYWRjZSBrYXRlZ29yaWkpLiBKZcWbbGkgd3licmFubyB0xIUgb3BjasSZIGFsaWFzIG5pZSBqZXN0IGJyYW55IHBvZCB1d2FnxJkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWxpYXMnXSA9ICdBbGlhcyBwbGlrdSBsdWIga2F0ZWdvcmlpLic7CiRsYW5nWydoZWxwX3BhcmFtX2RlcHRoJ10gPSAnQWxsb3cgdG8gc3BlY2lmeSB0aGUgZGVwdGggb2YgdHJlZSBzaG93biBieSBkZWZhdWx0IGFjdGlvbi4gSWYgbm90IHNldCBmdWxsIHRyZWUgd2lsbCBiZSBzaG93bi4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIG5hbWUuIElmIG5vdCBnaXZlbiB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgY3VycmVudCBhY3Rpb24gaXMgYWN0aW9uL2ZpbGUvY2F0ZWdvcnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VsZWN0b3InXSA9ICdUaGUgc2VsZWN0b3Igd2hpY2ggYWxsb3dzIHRvIGNob29zZSBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LiBUaGUgc2VsZWN0b3Igc3ludGF4IGNhbiBoYXZlOg0KPHVsPg0KPGxpPiZxdW90OyZhbXA7JnF1b3Q7IC0gaW50ZXJzZWN0aW9uPC9saT4NCjxsaT4mcXVvdDt8JnF1b3Q7IC0gc3VtPC9saT4NCjxsaT5jYXRlZ29yeSBpZCAoeW91IGNhbiBzZWUgaXQgaW4gY2F0ZWdvcmllcyB0YWIpPC9saT4NCjxsaT5hbGwgb3RoZXIgY2hhcmFjdGVycyB3aWxsIGJlIGNsZWFuZWQgYmVmb3JlIHBhcnNpbmc8L2xpPg0KPC91bD4NCkZvciBleGFtcGxlIHNlbGVjdG9yPSZxdW90OzMmYW1wOygxfDIpJnF1b3Q7IHdpbGwgY2hvb3NlIGFsbCBlbGVtZW50cyBmcm9tIGNhdGVnb3J5IHdpdGggaWQ9MyB3aGljaCBhcmUgYWxzbyBpbiBzdW0gb2YgY2F0ZWdvcnkgMSBhbmQgMi4gPGJyLz4NCklmIHNlbGVjdG9yIGlzIHNwZWNpZmllZCBjYXRlZ29yeSBwYXJhbWV0ZXIgd2lsbCA8Yj5ub3Q8L2I+IGJlIHBhcnNlZC4NCic7CiRsYW5nWyd3cm9uZ2FsaWFzJ10gPSAnV3JvbmcgYWxpYXMgZ2l2ZW4uJzsKJGxhbmdbJ2Rvd25sb2FkJ10gPSAnRG93bmxvYWQnOwokbGFuZ1snZG93bmxvYWRpbmcnXSA9ICdEb3dubG9hZGluZyAlcy4uLic7CiRsYW5nWydiYWNrdG9saXN0J10gPSAnQmFjayB0byB0aGUgZmlsZSBsaXN0Lic7CiRsYW5nWydkb3dubG9hZGluZ19pbmZvJ10gPSAnWW91ciBkb3dubG9hZCBzaG91bGQgYmVnaW4gc2hvcnRseS4gSWYgeW91IGVuY291bnRlciBwcm9ibGVtcywgcGxlYXNlIGNvbnRhY3QgdGhlIFdlYm1hc3Rlci4nOwokbGFuZ1snbm9maWxlJ10gPSAnTm8gZmlsZSBnaXZlbic7CiRsYW5nWyd3cm9uZ2ZpbGUnXSA9ICdXcm9uZyBmaWxlIGlkJzsKJGxhbmdbJ25vYWNjZXNzJ10gPSAnWW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byB0aGlzIGZpbGUuJzsKJGxhbmdbJ2Rvd25sb2FkX2RpciddID0gJ0Rvd25sb2FkIGRpcmVjdG9yeSc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnU2Nhbm5lZCBkaXJlY3RvcmllcyAoc2VwZWF0ZWQgd2l0aCBzZW1pY29sb24gZXguICZxdW90O2RpcjEvO2RpcjIvO2RpcjMvJnF1b3Q7ICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSA9ICdTY2FuIGRpcmVjdG9yaWVzIHJlY3Vyc2l2ZT8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSA9ICdEb3dubG9hZCB0ZW1wbGF0ZSc7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZV9pbmZvJ10gPSAnPHRhYmxlIHN0eWxlPSZxdW90O3RleHQtYWxpZ246bGVmdDsmcXVvdDs+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ308L2I+PC90ZD48dGQ+VGV4dDogRG93bmxvYWRpbmcgJXMuLi48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ19pbmZvfTwvYj48L3RkPjx0ZD5UZXh0OiBZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkX25hbWV9PC9iPjwvdGQ+PHRkPk5hbWUgb2YgY3VycmVudGx5IGRvd25sb2FkaW5nIGZpbGUuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPkJhY2sgdG8gdGhlIGZpbGUgbGlzdCBsaW5rLjwvdGQ+PC90cj4NCjwvdGFibGU+DQonOwokbGFuZ1snZG93bmxvYWRfZGlyX25vdF93cml0YWJsZSddID0gJ0Rvd25sb2FkIGRpcmVjdG9yeSAoJXMpIGlzIG5vdCB3cml0YWJsZSwgdHJ5IGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgZG9lcyBub3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdC4nOwokbGFuZ1snc2VhcmNoX2V4cGlyZSddID0gJ0V4cGlyZWQgYW5kIG5vdCBzdGFydGVkIGRvd25sb2FkcyBjYW4gYXBwZWFyIGluIHNlYXJjaCByZXN1bHRzJzsKJGxhbmdbJ25hbWVsYWJlbCddID0gJ05hbWUnOwokbGFuZ1snY291bnRlcmxhYmVsJ10gPSAnRG93bmxvYWQgY291bnRlcic7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnRG93bmxvYWRlZCAlcyB0aW1lKHMpLic7CiRsYW5nWydhbGlhc2xhYmVsJ10gPSAnQWxpYXMnOwokbGFuZ1snZmlsZWxhYmVsJ10gPSAnRmlsZSc7CiRsYW5nWydmaWxlZGVsZXRlZCddID0gJ0ZpbGUgd2FzIGRlbGV0ZWQuJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdVcGxvYWQgbmV3IGZpbGUnOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnVXNlIGFscmVhZHkgdXBsb2FkZWQgZmlsZSc7CiRsYW5nWydleHRlcm5hbGZpbGUnXSA9ICdVc2UgZXh0ZXJuYWwgZmlsZSBhY2Nlc3NpYmxlIHRocm91Z2ggaHR0cC4gRmlsZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkIHRvIHNlcnZlcic7CiRsYW5nWydmaWxlZG9lc250ZXhpc3RzJ10gPSAnRmlsZSAlcyBkb2VzbmB0IGV4aXN0IG9uIHNlcnZlci4nOwokbGFuZ1snY3VybGZhaWxlZCddID0gJ0N1cmwgcmVxdWVzdCBmYWlsZWQuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdDdXJsIHBocCBleHRlbnNpb24gbmVlZGVkIGZvciBleHRlcm5hbCBsaW5rcyBub3QgcHJlc2VudC4nOwokbGFuZ1snc2VydmVyX25hbWVsYWJlbCddID0gJ09yZ2luYWwgcGF0aCc7CiRsYW5nWydleHRsYWJlbCddID0gJ0V4dGVuc2lvbic7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdTaXplJzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ01kNSBoYXNoJzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdDcmVhdGlvbiB0aW1lJzsKJGxhbmdbJ2V4cGlyZXNsYWJlbCddID0gJ0V4cGlyZXMnOwokbGFuZ1snc3RhcnRzbGFiZWwnXSA9ICdTdGFydHMnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnVmlzaWJsZSc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXNlIGV4cGlyYXRpb24gZGF0ZSc7CiRsYW5nWyd1c2VzdGFydCddID0gJ1VzZSBzdGFydCBkYXRlJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOZXcgZmlsZSc7CiRsYW5nWydzY2FuZm9ybmV3ZmlsZXMnXSA9ICdTY2FuIGZvciBuZXcgZmlsZXMnOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ1NjYW5uZWQgZGlyZWN0b3JpZXM6ICVzIDxiciAvPiAlcyBuZXcgZmlsZXMgbGlzdGVkIGJlbG93LiBDaG9vc2UgZmlsZSB0byBhZGQuJzsKJGxhbmdbJ3NjYW5ub25ldyddID0gJ05vIG5ldyBmaWxlcyBhZGRlZC4nOwokbGFuZ1snbm9maWxlZ2l2ZW4nXSA9ICdUaGVyZSB3YXMgbm8gZmlsZSc7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdObyBmaWxlIG9yIGVtcHR5IGZpbGUgd2FzIHVwbG9hZGVkLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdVbmFibGUgdG8gbW92ZSBvciBjb3B5IHVwbG9hZGVkIGZpbGUuJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1R5cGUnOwokbGFuZ1snZmlsZXN0YWJoZWFkZXInXSA9ICdGaWxlcyc7CiRsYW5nWydmaWxlYWRkZWQnXSA9ICdGaWxlIHN1Y2Nlc2Z1bGx5IGFkZGVkJzsKJGxhbmdbJ2ZpbGVtb2RpZmllZCddID0gJ0ZpbGUgc3VjY2VzZnVsbHkgbW9kaWZpZWQnOwokbGFuZ1sndGVtcGxhdGVmb3Jmb3JtJ10gPSAnRm9ybSB0ZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmRldGFpbCddID0gJ0RldGFpbCB0ZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmVtYWlsJ10gPSAnRW1haWwgdGVtcGxhdGUnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnVXNlIHRoZSBkZWZhdWx0IHRlbXBsYXRlIChzZWUgdGVtcGxhdGVzIHRhYiknOwokbGFuZ1snZmV1Z3JvdXBzbGFiZWwnXSA9ICdGRVUgZ3JvdXBzIHdobyBjYW4gYWNjZXNzIHRoZSBmaWxlLCBpZiBubyBncm91cCBzZWxlY3RlZCBhbGwgRkVVIHVzZXJzIGNhbiBhY2Nlc3MnOwokbGFuZ1snYWNjZXNzdHlwZSddID0gJ0FjY2VzcyB0eXBlJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZnJlZSddID0gJ0ZyZWUgYWNjZXNzJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZmV1b25seSddID0gJ0Zyb250ZW5kIFVzZXJzIG9ubHknOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdFbWFpbCBvbmx5JzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGRVUgb3IgRW1haWwnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snZmlsZWNoYW5nZSddID0gJ0NoYW5nZSB0aGlzIGZpbGUuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnQ2hvb3NlIG5ldyBmaWxlIHRvIGNoYW5nZSB0aGUgY3VycmVudCAmcXVvdDslcyZxdW90OyAoYWxpYXM6JXMpIGZpbGUuIEFsbCBhc3NvY2lhdGlvbnMsIGxpbmtzLCBpbmZvIGFuZCBhbGlhcyB3aWxsIHN0YXkgdGhlIHNhbWUuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnRmlsZSB3YXMgc3VjY2Vzc2Z1bGx5IHJlcGxhY2VkJzsKJGxhbmdbJ2NoYW5nZW5hbWVsYWJlbCddID0gJ0NoYW5nZSB0aGUgZmlsZSBuYW1lIHRvIHRoZSBvbmUgZnJvbSBuZXcgZmlsZT8nOwokbGFuZ1snYWxsdGltZSddID0gJ0FsbCB0aW1lJzsKJGxhbmdbJ2F2YWlsYWJsaXR5J10gPSAnQXZhaWxhYmxpdHknOwokbGFuZ1snbm9hbGlhcyddID0gJ05vIHN1Y2ggYWxpYXMgb3IgZG93bmxvYWQgbm90IGF2YWlsYWJsZSc7CiRsYW5nWydub2hhc2gnXSA9ICdObyBzdWNoIGhhc2ggb3IgZG93bmxvYWQgbm90IGF2YWlsYWJsZSc7CiRsYW5nWyd3cm9uZ3BhcmFtcyddID0gJ1dyb25nIHBhcmFtZXRlcnMnOwokbGFuZ1snZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSAlcyBub3QgZm91bmQuJzsKJGxhbmdbJ3dyb25nZGF0YSddID0gJ1dyb25nIGRhdGEgaW4gZGF0YWJhc2Ugcm93Lic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ05ldyBDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnUGFyZW50IENhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdQcmlvcml0eSAoLTk5Jm5ic3A7dG8mbmJzcDs5OSksICBsb3dlci0+YmV0dGVyICc7CiRsYW5nWydub2Rvd25sb2FkcyddID0gJ05vIGRvd25sb2FkcyBpbiB0aGlzIGNhdGVnb3J5JzsKJGxhbmdbJ2ZpbGVuYiddID0gJyVzJm5ic3A7ZmlsZShzKSc7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0Rvd25sb2FkIENhdGVnb3J5JzsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXSA9ICdPdmVyYWxsJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydhZGRhc3NvYyddID0gJ0FkZCB0byBjYXRlZ29yeSc7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5c2VsJ10gPSAnQ2F0ZWdvcnkgc2VsZWN0b3IgcGFyc2UgZXJyb3IuIDxiciAvPiBTZWxlY3RvciBhZnRlciBjbGVhbmluZzogJXMnOwokbGFuZ1snbm9jYXRlZ29yeXNlbCddID0gJ0NhdGVnb3J5IHNlbGVjdG9yIG5vdCBzZXQuJzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnknXSA9ICdTZWxlY3RlZCBjYXRlZ29yeSBkb2VzIG5vdCBleGlzdHMuJzsKJGxhbmdbJ3NlbmRlbWFpbCddID0gJ0VtYWlsIGRvd25sb2FkIGxpbmsnOwokbGFuZ1sncHJvbXB0X2ZpcnN0bmFtZSddID0gJ0ZpcnN0IG5hbWUnOwokbGFuZ1sncHJvbXB0X2xhc3RuYW1lJ10gPSAnTGFzdCBuYW1lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ0kgd291bGQgbGlrZSB0byBoZWFyIGFib3V0IG5ldyBmaWxlcyBhbmQgaW1wb3J0YW50IG5ld3MnOwokbGFuZ1snZW1haWxzZW50J10gPSAnQW4gZW1haWwgY29udGFpbmluZyB0aGUgZG93bmxvYWQgbGluayB3YXMgc2VudCB0byB0aGUgc3BlY2lmaWVkIGFkZHJlc3MuJzsKJGxhbmdbJ2NvdWxkbm90c2VuZCddID0gJ1RoZXJlIHdhcyBhbiBlcnJvciB3aXRoIHlvdXIgcmVxdWVzdCwgYW5kIHRoZSBlbWFpbCBjb3VsZCBub3QgYmUgc2VudC4nOwokbGFuZ1snaW52YWxpZGVtYWlsJ10gPSAnVGhlIGVtYWlsIHlvdSBoYXZlIGVudGVyZWQgaXMgaW52YWxpZC4gV2l0aG91dCBhIHZhbGlkIGVtYWlsLCB3ZSBjYW5ub3Qgc2VuZCB5b3UgYSBkb3dubG9hZCBsaW5rLCBhbmQgeW91IGNhbm5vdCBkb3dubG9hZCB0aGUgZmlsZS4nOwokbGFuZ1sncGxlYXNlX25hbWUnXSA9ICdQbGVhc2UgZW50ZXIgeW91ciBuYW1lLic7CiRsYW5nWydwbGVhc2VfZW1haWwnXSA9ICdQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzLiBUaGUgZG93bmxvYWQgbGluayB3aWxsIGJlIHNlbnQgdG8gdGhpcyBhZGRyZXNzLic7CiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ05ldyBUZW1wbGF0ZSc7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIHRvIGRpc3BsYXkgbGlzdHMgb2YgY2F0ZWdvcmllcyBvciBmaWxlcyc7CiRsYW5nWydhZGRsaXN0dGVtcGxhdGUnXSA9ICdOZXcgTGlzdCBUZW1wbGF0ZSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdG8gZGlzcGxheSB0aGUgZGV0YWlscyBvZiBhIGZpbGUnOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOZXcgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2Zvcm10ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZm9yIHRoZSBmb3JtIHRvIHJlcXVlc3QgYSBkb3dubG9hZCBsaW5rIGJ5IG1haWwnOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTmV3IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZm9yIGVtYWlscyBzZW50IHdpdGggZG93bmxvYWQgbGluayc7CiRsYW5nWydhZGRlbWFpbHRlbXBsYXRlJ10gPSAnTmV3IEVtYWlsIEJvZHkgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJ10gPSAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGUgdGVtcGxhdGUgJXM/JzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snY29udGVudGxhYmVsJ10gPSAnQ29udGVudCc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lbGFiZWwnXSA9ICdOYW1lJzsKJGxhbmdbJ3RlbXBsYXRlYWRkZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBhZGRlZC4nOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZC4nOwokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ1dyb25nIHRlbXBsYXRlIHNwZWNpZmllZC4nOwokbGFuZ1snYWxyZWFkeWV4aXN0J10gPSAnVGhlcmUgaXMgYWxyZWFkeSBhIHRlbXBsYXRlIGJ5IHRoYXQgbmFtZS4nOwokbGFuZ1snZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPlJldHVybiBiYWNrIGluIGhpc3RvcnkgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmaWxlaXRlbV90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3RhcnRzfTwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3RhcnRzfTwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQonOwokbGFuZ1snZm9ybV90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPklucHV0czwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9pbnB1dH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9pbnB1dH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfaW5wdXR9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JHN1Ym1pdH08L2I+PC90ZD48dGQ+c3VibWl0PC90ZD48L3RyPg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5MYWJlbHM8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRmaXJzdG5hbWVfbGFiZWx9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZW1haWxfbGFiZWx9PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG1haWxpbmdsaXN0X2xhYmVsfTwvYj48L3RkPjx0ZD5tYWlsaW5nbGlzdCBjaGVja2JveDwvdGQ+PC90cj4NCic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskZmlyc3RuYW1lfTwvYj48L3RkPjx0ZD5maXJzdG5hbWUgb2YgdXNlciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZX08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZHVybH08L2I+PC90ZD48dGQ+bGluayBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZGhyZWZ9PC9iPjwvdGQ+PHRkPnVyaSBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdGFydHN9PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCg0KJzsKJGxhbmdbJ2xpc3RfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+IEluIHRoZSB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19IGxvb3A6PC9pPjwvdGg+PC90cj4NCjx0cj48dGg+VmFyaWFibGU6PC90aD48dGg+V2hhdCBpcyBpdD88L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbWxldmVsfTwvYj48L3RkPjx0ZD5hY3R1YWwgY2F0ZWdvcnktbGV2ZWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+cm93Y2xhc3N9PC9iPjwvdGQ+PHRkPnJvdzEgb3Igcm93MiBkZXBlbmRpbmcgb24gcGFyaXR5PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPiBXaGVuIDxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPiA9IDxpPmhlYWRlcjwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5oZWFkZXI8L2k+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN1YmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIHN1YmNhdGVnb3JpZXMsIGVhY2ggc3ViY2F0ZWdvcnkgaGFzIGVsZW1lbnRzOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90OyA+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN0YXJ0c308L2I+PC90ZD48dGQ+c3RhcnQgdGltZSwgYWZ0ZXIgdGhpcyBmaWxlIGlzIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPkluIHdob2xlIHRlbXBsYXRlOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbWNvdW50fTwvYj48L3RkPjx0ZD5udW1iZXIgb2YgaXRlbXMgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG5vZG93bmxvYWRzfTwvYj48L3RkPjx0ZD5tZXNzYWdlIHRoZW4gdGhlcmUgYXJlIG5vIGRvd25sb2FkcyBpbiBzZWxlY3RlZCBjYXRlZ29yeTwvdGQ+PC90cj4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE2NzY1MTQwMy4xMjQxMjAwOTUzLjEyNjczOTIzNzMuMTI2ODI0NjU4Mi4zNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNjczODExMzcuMzQuMjUudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDI2MzkuMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWydxY2EnXSA9ICcxMjE3NTQxOTI3LTY2MTYzMzQ4LTIzODIwNTk4JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIGNlbnRlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ05hc3Rhdml0ZSAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwcmF2aWNlIHphIHVwb3JhYm8gdGVnYSBtb2R1bGEhIDxici8+VXN0dmFyaXRlIG1hcG8gZG93bmxvYWRzLyB2IGtvcmVudSBDTVMgc2lzdGVtYSBpbiBqaSBkb2RlbGl0ZSAwNzc3IHByYXZpY2UnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ09kc3RyYW5pdGV2IERvd25sb2FkIGNlbnRlciBtb2R1bGEnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBvZHN0cmFuaXRpIHRhIG1vZHVsPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kc3RyYW5qZW4uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ05hbWUmc2Nhcm9uO8SNZW4gbW9kdWwgcmF6bGnEjWljZSAlcy4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTmFzdGF2aXR2ZSBtb2R1bGEgcG9zb2RvYmxqZW5lLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdEb3N0b3AgemF2cm5qZW4uIFByb3NpbSwgcHJldmVyaXRlIHZhJnNjYXJvbjtlIHByYXZpY2UuJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ05hcGFrYSBwcmkgb2JkZWxhdmkgZGF0b3Rla2UuJzsKJGxhbmdbJ25vbmUnXSA9ICdOb2Jlbic7CiRsYW5nWydzdWJtaXRyZXFlbWFpbCddID0gJ1BvJnNjYXJvbjtsamkgemEgcHJlamVtIHBvdmV6YXZlIHphIHByZW5vcyc7CiRsYW5nWydlcnJvciddID0gJ05hcGFrYSEnOwokbGFuZ1snYmFjayddID0gJ05hemFqJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBa2NpamUnOwokbGFuZ1sncm9vdGNhdGVnb3J5J10gPSAnVnJobmphIGthdGVnb3JpamEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBuYWRncmFqZW4gbmEgcmF6bGnEjWljbyAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2aXR2ZSBtb2R1bGEnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTmFkem9ybmEgcGxvJnNjYXJvbjvEjWEgbW9kdWxhJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQgY2VudGVyJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnVnBpc2F0aSBtb3JhdGUgaW1lLic7CiRsYW5nWydtdXN0bG9naW4nXSA9ICdaYSBwcmVub3MgdGUgZGF0b3Rla2Ugc2UgbW9yYXRlIHByaWphdml0aTonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnWmEgcHJlbm9zIHRlIGRhdG90ZWtlIHNlIGxhaGtvIHByaWphdml0ZTonOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUYSBtb2R1bCBvbW9nb8SNYSB1cHJhdmxqYW5qZSB6IGRhdG90ZWthbWkgemEgcHJlbm9zLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5Eb2Jyb2RvJnNjYXJvbjtsaSB2IGFkbWluaXN0cmFjaWpvIERvd25sb2FkIGNlbnRyYS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhPC9saT4NCjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5UcmFuc2xhdGlvbnM8L2gzPg0KPHA+TmV3ZXN0IHRyYW5zbGF0aW9ucyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnSUQga2F0ZWdvcmlqZSBuaSBuYWpkZW4gdiB6YXZpaGt1IGthdGVnb3Jpai4gxIxlIGplIGl6YnJhbiwgYWxpYXMgbmUgYm8gdXBvJnNjYXJvbjt0ZXZhbi4nOwokbGFuZ1snaGVscF9wYXJhbV9hbGlhcyddID0gJ0FsaWFzIGthdGVnb3JpamUgYWxpIGRhdG90ZWtlLic7CiRsYW5nWydoZWxwX3BhcmFtX2RlcHRoJ10gPSAnT21vZ2/EjWEgZG9sb8SNYW5qZSBnbG9iaW5lIHByaWthemFuZWdhIGRyZXZlc2EgcHJpdnpldGUgYWtjaWplLiDEjGUgbmkgbmFzdGF2bGplbm8sIGJvIHByaWthemFubyBjZWxvdG5vIGRyZXZvLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnTmF6aXYgcHJlZGxvZ2UuIMSMZSBuaSBuYXN0YXZsamVubywgYm8gcHJpdnpldGEgcHJlZGxvZ2EgemEgdHJlbnV0bm8gYWtjaWpvIGFrY2lqYS9kYXRvdGVrYS9rYXRlZ29yaWphJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VsZWN0b3InXSA9ICdUaGUgc2VsZWN0b3Igd2hpY2ggYWxsb3dzIHRvIGNob29zZSBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LiBUaGUgc2VsZWN0b3Igc3ludGF4IGNhbiBoYXZlOg0KPHVsPg0KPGxpPiZxdW90OyZhbXA7JnF1b3Q7IC0gaW50ZXJzZWN0aW9uPC9saT4NCjxsaT4mcXVvdDt8JnF1b3Q7IC0gc3VtPC9saT4NCjxsaT5jYXRlZ29yeSBpZCAoeW91IGNhbiBzZWUgaXQgaW4gY2F0ZWdvcmllcyB0YWIpPC9saT4NCjxsaT5hbGwgb3RoZXIgY2hhcmFjdGVycyB3aWxsIGJlIGNsZWFuZWQgYmVmb3JlIHBhcnNpbmc8L2xpPg0KPC91bD4NCkZvciBleGFtcGxlIHNlbGVjdG9yPSZxdW90OzMmYW1wOygxfDIpJnF1b3Q7IHdpbGwgY2hvb3NlIGFsbCBlbGVtZW50cyBmcm9tIGNhdGVnb3J5IHdpdGggaWQ9MyB3aGljaCBhcmUgYWxzbyBpbiBzdW0gb2YgY2F0ZWdvcnkgMSBhbmQgMi4gPGJyLz4NCklmIHNlbGVjdG9yIGlzIHNwZWNpZmllZCBjYXRlZ29yeSBwYXJhbWV0ZXIgd2lsbCA8Yj5ub3Q8L2I+IGJlIHBhcnNlZC4NCic7CiRsYW5nWyd3cm9uZ2FsaWFzJ10gPSAnUG9kYW4gbmFwYcSNZW4gYWxpYXMuJzsKJGxhbmdbJ2Rvd25sb2FkJ10gPSAnUHJlbm9zJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gPSAnUHJlbmEmc2Nhcm9uO2FuamUgJXMuLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ05hemFqIG5hIHNlem5hbSBkYXRvdGVrLic7CiRsYW5nWydkb3dubG9hZGluZ19pbmZvJ10gPSAnVmEmc2Nhcm9uOyBwcmVub3Mgc2UgYm8gcHJpxI1lbCB2IGtyYXRrZW0uIMSMZSBuYWxldGl0ZSBuYSB0ZcW+YXZlIHZhcyBwcm9zaW1vLCBkYSBvYnZlc3RpdGUgdXByYXZpdGVsamEgc3BsZXRuZSBzdHJhbmkuJzsKJGxhbmdbJ25vZmlsZSddID0gJ05vYmVuYSBkYXRvdGVrYSBuaSBwb2RhbmEnOwokbGFuZ1snd3JvbmdmaWxlJ10gPSAnTmFwYcSNZW4gSUQgZGF0b3Rla2UnOwokbGFuZ1snbm9hY2NlcyddID0gJ05pbWF0ZSBkb3N0b3BhIGRvIHRlIGRhdG90ZWtlLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdNYXBhIHphIHByZW5vcyc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnUHJlZ2xlZGFuZSBtYXBlIChsb8SNZW5lIHMgcG9kcGnEjWppIC0gbnByLiAmcXVvdDtkaXIxLztkaXIyLztkaXIzLyZxdW90OyApJzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10gPSAnUHJlZ2xlaiBtYXBlIHJla3Vyeml2bm8/JzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlJ10gPSAnUHJlZGxvZ2EgemEgcHJlbm9zJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSA9ICc8dGFibGUgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpsZWZ0OyZxdW90Oz4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nfTwvYj48L3RkPjx0ZD5UZXh0OiBEb3dubG9hZGluZyAlcy4uLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nX2luZm99PC9iPjwvdGQ+PHRkPlRleHQ6IFlvdXIgZG93bmxvYWQgc2hvdWxkIGJlZ2luIHNob3J0bHkuIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMsIHBsZWFzZSBjb250YWN0IHRoZSBXZWJtYXN0ZXIuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRfbmFtZX08L2I+PC90ZD48dGQ+TmFtZSBvZiBjdXJyZW50bHkgZG93bmxvYWRpbmcgZmlsZS48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+QmFjayB0byB0aGUgZmlsZSBsaXN0IGxpbmsuPC90ZD48L3RyPg0KPC90YWJsZT4NCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnTWFwYSB6IGRhdG90ZWthbWkgKCVzKSBuaSB6YXBpc2xqaXZhLiBQb2l6a3VzaXRlIGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnTWFwYSB6IGRhdG90ZWthbWkgKCVzKSBuZSBvYnN0YWphLiBQcm9zaW1vLCB1c3R2YXJpdGUgbWFwby4nOwokbGFuZ1snbmFtZWxhYmVsJ10gPSAnSW1lJzsKJGxhbmdbJ2NvdW50ZXJsYWJlbCddID0gJyZTY2Fyb247dGV2ZWMgcHJlbm9zb3YnOwokbGFuZ1snY291bnRlcm5iciddID0gJ1ByZW5lJnNjYXJvbjtlbm8gJXMta3JhdC4nOwokbGFuZ1snYWxpYXNsYWJlbCddID0gJ0FsaWFzJzsKJGxhbmdbJ2ZpbGVsYWJlbCddID0gJ0RhdG90ZWthJzsKJGxhbmdbJ2ZpbGVkZWxldGVkJ10gPSAnRGF0b3Rla2EgamUgYmlsYSBpemJyaXNhbmEuJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdOYWxvxb5pIG5vdm8gZGF0b3Rla28nOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnVXBvcmFiaSDFvmUgbmFsb8W+ZW5vIGRhdG90ZWtvJzsKJGxhbmdbJ2V4dGVybmFsZmlsZSddID0gJ1Vwb3JhYmkgenVuYW5qbyBkYXRvdGVrbywgZG9zdG9wbm8gcHJla28gaHR0cC4gRGF0b3Rla2EgbmUgYm8gbmFsb8W+ZW5hIG5hIHN0cmXFvm5pay4nOwokbGFuZ1snZmlsZWRvZXNudGV4aXN0cyddID0gJ0RhdG90ZWthICVzIG5lIG9ic3RhamEgbmEgdGVtIHN0cmXFvm5pa3UuJzsKJGxhbmdbJ2N1cmxmYWlsZWQnXSA9ICdDVVJMIHphaHRldmVrIG5pIGJpbCB1c3BlJnNjYXJvbjtlbi4nOwokbGFuZ1snY3VybGRvZXNudGV4aXN0cyddID0gJ1BvdHJlYm5hIGplIENVUkwgUEhQIHJheiZzY2Fyb247aXJpdGV2IHphIG5lcHJpc290bmUgenVuYW5qZSBwb3ZlemF2ZS4nOwokbGFuZ1snc2VydmVyX25hbWVsYWJlbCddID0gJ0l6dmlybmEgcG90JzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnS29uxI1uaWNhJzsKJGxhbmdbJ3NpemVsYWJlbCddID0gJ1ZlbGlrb3N0JzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ01ENSBoYXNoJzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXSA9ICdPcGlzJzsKJGxhbmdbJ2NyZWF0ZWRsYWJlbCddID0gJ1VzdHZhcmplbm8nOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnUG90ZcSNZSc7CiRsYW5nWyd2aXNpYmxlbGFiZWwnXSA9ICdWaWRubyc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXBvcmFiaSBkYXR1bSBpenRla2EnOwokbGFuZ1snYWRkZmlsZSddID0gJ05vdmEgZGF0b3Rla2EnOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnUHJlZ2xlaiB6YSBub3ZlIGRhdG90ZWtlJzsKJGxhbmdbJ3NjYW5yZXN1bHQnXSA9ICdQcmVnbGVkYW5lIG1hcGU6ICVzIDxiciAvPiAlcyBub3ZpaCBkYXRvdGVrLCBwcmlrYXphbmloIHNwb2Rhai4gSXpiZXJpdGUgZGF0b3Rla28gemEgZG9kYWphbmplLic7CiRsYW5nWydzY2Fubm9uZXcnXSA9ICdOaSBiaWxvIG5hamRlbmloIG5vdmloIGRhdG90ZWsuJzsKJGxhbmdbJ25vZmlsZWdpdmVuJ10gPSAnTmkgYmlsbyBkYXRvdGVrZSc7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdOaSBkYXRvdGVrZSwgYWxpIHBhIHN0ZSBuYWxvxb5pbGkgcHJhem5vIGRhdG90ZWtvLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdOZSBtb3JlbSBwcmVtYWtuaXRpIGFsaSBrb3BpcmF0aSBuYWxvxb5lbmUgZGF0b3Rla2UuJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1RpcCc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0RhdG90ZWtlJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0RhdG90ZWthIHVzcGUmc2Nhcm9uO25vIGRvZGFuYSc7CiRsYW5nWydmaWxlbW9kaWZpZWQnXSA9ICdEYXRvdGVrYSB1c3BlJnNjYXJvbjtubyBzcHJlbWVuamVuYSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdQcmVkbG9nYSBvYnJhemNhJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnUHJlZGxvZ2EgcG9kcm9ibm9zdGknOwokbGFuZ1sndGVtcGxhdGVmb3JlbWFpbCddID0gJ0UtbWFpbCBwcmVkbG9nYSc7CiRsYW5nWydmZXVncm91cHNsYWJlbCddID0gJ1Vwb3JhYm5pJnNjYXJvbjtrZSBza3VwaW5lLCBraSBpbWFqbyBkb3N0b3AgZG8gZGF0b3Rla2UnOwokbGFuZ1snYWNjZXNzdHlwZSddID0gJ1RpcCBkb3N0b3BhJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZnJlZSddID0gJ1Byb3N0IGRvc3RvcCc7CiRsYW5nWydhY2Nlc3N0eXBlX2ZldW9ubHknXSA9ICdTYW1vIHJlZ2lzdHJpcmFuaSB1cG9yYWJuaWtpJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZW1haWxvbmx5J10gPSAnU2FtbyBwcmVrbyBFLW1haWxhJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdSZWdpc3RyaXJhbmkgdXBvcmFibmlraSBhbGkgcHJla28gRS1tYWlsYSc7CiRsYW5nWydkZXRhaWxzJ10gPSAnUG9kcm9ibm9zdGknOwokbGFuZ1snZmlsZWNoYW5nZSddID0gJ1NwcmVtZW5pIHRvIGRhdG90ZWtvJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnSXpiZXJpdGUgbm92byBkYXRvdGVrbyB6YSBzcHJlbWluamFuamUgdHJlbnV0bmUgJnF1b3Q7JXMmcXVvdDsgKGFsaWFzOiVzKSBkYXRvdGVrZS4gVnNlIHBvdmV6YXZlLCBpbmZvcm1hY2lqZSBpbiBhbGlhcyBib2RvIG9zdGFsaSBlbmFraS4nOwokbGFuZ1snZmlsZWNoYW5nZWQnXSA9ICdEYXRvdGVrYSBqZSBiaWxhIHVzcGUmc2Nhcm9uO25vIHBvdm/FvmVuYSc7CiRsYW5nWydjaGFuZ2VuYW1lbGFiZWwnXSA9ICfFvWVsaXRlIHNwcmVtZW5pdGkgaW1lIGRhdG90ZWtlIHYgaW1lIG5vdmUgZGF0b3Rla2U/JzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTm92YSBrYXRlZ29yaWphJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmlqYSc7CiRsYW5nWydwYXJlbnRfaWRsYWJlbCddID0gJ05hZHJlamVuYSBrYXRlZ29yaWphJzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdLYXRlZ29yaWplJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdQcmlvcml0ZXRhICgtOTkmbmJzcDtkbyZuYnNwOzk5KSwgIG5pxb5qZS0+Ym9samUnOwokbGFuZ1snbm9kb3dubG9hZHMnXSA9ICdWIHRlaiBrYXRlZ29yaWppIG5pIGRhdG90ZWsnOwokbGFuZ1snZmlsZW5iJ10gPSAnJXMmbmJzcDtkYXRvdGVrJzsKJGxhbmdbJ2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZ29yaWphIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gZG9kYW5hLic7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdLYXRlZ29yaWphIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gc3ByZW1lbmplbmEuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ0thdGVnb3JpamEgamUgYmlsYSB1c3BlJnNjYXJvbjtubyBpemJyaXNhbmEuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0thdGVnb3JpamEgZGF0b3Rlayc7CiRsYW5nWydvdmVyYWxsdGFiaGVhZGVyJ10gPSAnU2t1cGFqJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnS2F0ZWdvcmlqZSc7CiRsYW5nWydhZGRhc3NvYyddID0gJ0RvZGFqIHYga2F0ZWdvcmlqbyc7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5c2VsJ10gPSAnTmFwYWthIHByaSBwcmViaXJhbmp1IHNlbGVrdG9yamEga2F0ZWdvcmlqZS48YnIgLz4gU2VsZWt0b3IgcG8gxI1pJnNjYXJvbjvEjWVuanU6ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXSA9ICdTZWxla3RvciBrYXRlZ29yaWplIG5pIHBvZGFuLic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnSXpicmFuYSBrYXRlZ29yaWphIG5lIG9ic3RhamEuJzsKJGxhbmdbJ3NlbmRlbWFpbCddID0gJ1BvJnNjYXJvbjtsamkgcG92ZXphdm8gemEgcHJlbm9zIG5hIEUtbWFpbCc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnSW1lJzsKJGxhbmdbJ3Byb21wdF9sYXN0bmFtZSddID0gJ1ByaWltZWsnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ8W9ZWxpbSBiaXRpIG9idmUmc2Nhcm9uO8SNZW4gbyBub3ZpaCBkYXRvdGVrYWggaW4gcG9tZW1ibmloIG9idmVzdGlsaWgnOwokbGFuZ1snZW1haWxzZW50J10gPSAnRS1tYWlsLCBraSB2c2VidWplIHBvdmV6YXZvIHphIHByZW5vcywgamUgYmlsIHBvc2xhbiBuYSB2cGlzYW4gbmFzbG92Lic7CiRsYW5nWydjb3VsZG5vdHNlbmQnXSA9ICdQcmkmc2Nhcm9uO2xvIGplIGRvIG5hcGFrZSBwcmkgdmEmc2Nhcm9uO2VtIHphaHRldmt1LiBFLW1haWwgbmkgYmlsIHBvc2xhbi4nOwokbGFuZ1snaW52YWxpZGVtYWlsJ10gPSAnRS1tYWlsLCBraSBzdGUgZ2EgdnBpc2FsaSwgbmkgdmVsamF2ZW4uIEJyZXogdmVsamF2bmVnYSBFLW1haWwgbmFzbG92YSB2YW0gbmUgbW9yZW1vIHBvc2xhdGkgcG92ZXphdmUgemEgcHJlbm9zIGRhdG90ZWtlLCB6YXRvIGRhdG90ZWtlIG5lIGJvc3RlIG1vZ2xpIHByZW5lc3RpLic7CiRsYW5nWydwbGVhc2VfbmFtZSddID0gJ1Byb3NpbW8sIHZwaSZzY2Fyb247aXRlIHZhJnNjYXJvbjtlIGltZS4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnUHJvc2ltbywgdnBpJnNjYXJvbjtpdGUgdmEmc2Nhcm9uOyBFLW1haWwgbmFzbG92LiBQb3ZlemF2YSB6YSBwcmVub3MgYm8gcG9zbGFuYSBuYSB0YSBuYXNsb3YuJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnTm92YSBwcmVkbG9nYSc7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnUHJlZGxvZ2UgemEgcHJpa2F6IHNlem5hbWEga2F0ZWdvcmlqIGFsaSBkYXRvdGVrJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05vdmEgcHJlZGxvZ2Egc2V6bmFtYSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBwcmlrYXogcG9kcm9ibm9zdGkgZGF0b3Rla2UnOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOb3ZhIHByZWRsb2dhIHBvZHJvYm5vc3RpJzsKJGxhbmdbJ2Zvcm10ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSBvYnJhemNhIHphIHphaHRldmFuamUgcG92ZXphdmUgcHJla28gRS1tYWlsYSc7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOb3ZhIHByZWRsb2dhIG9icmF6Y2EnOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBFLW1haWxlIHMgcG92ZXphdm8gemEgcHJlbm9zJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOb3ZhIHByZWRsb2dhIEUtbWFpbGEnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnVXBvcmFiaSBwcml2emV0byBwcmVkbG9nbyAoZ2xlaiB6YXZpaGVrIHByZWRsb2dlKSc7CiRsYW5nWydwcm9tcHRfZGVsZXRldGVtcGxhdGUnXSA9ICdTdGUgcHJlcHJpxI1hbmksIGRhIMW+ZWxpdGUgaXpicmlzYXRpIHByZWRsb2dvICVzPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1ByZWRsb2dhJzsKJGxhbmdbJ2NvbnRlbnRsYWJlbCddID0gJ1ZzZWJpbmEnOwokbGFuZ1sndGVtcGxhdGVfbmFtZWxhYmVsJ10gPSAnTmF6aXYnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1ByZWRsb2dhIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gZG9kYW5hLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdQcmVkbG9nYSBqZSBiaWxhIHVzcGUmc2Nhcm9uO25vIHBvc29kb2JsamVuYS4nOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnUHJlZGxvZ2EgamUgYmlsYSB1c3BlJnNjYXJvbjtubyBpemJyaXNhbmEuJzsKJGxhbmdbJ3dyb25ndGVtcGxhdGUnXSA9ICdEb2xvxI1lbmEgamUgbmFwYcSNbmEgcHJlZGxvZ2EuJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ1ByZWRsb2dhIHMgdGVtIG5heml2b20gxb5lIG9ic3RhamEuJzsKJGxhbmdbJ2dlbmVyYWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGJhY2t0b2xpc3RsaW5rfTwvYj48L3RkPjx0ZD5SZXR1cm4gYmFjayBpbiBoaXN0b3J5IGxpbms8L3RkPjwvdHI+DQonOwokbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2lucHV0fTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9pbnB1dH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskc3VibWl0fTwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkxhYmVsczwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZSBvZiB1c2VyIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCic7CiRsYW5nWydsaXN0X3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPiBJbiB0aGUge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfSBsb29wOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRoPlZhcmlhYmxlOjwvdGg+PHRoPldoYXQgaXMgaXQ/PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW1sZXZlbH08L2I+PC90ZD48dGQ+YWN0dWFsIGNhdGVnb3J5LWxldmVsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnJvd2NsYXNzfTwvYj48L3RkPjx0ZD5yb3cxIG9yIHJvdzIgZGVwZW5kaW5nIG9uIHBhcml0eTwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT4gV2hlbiA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5oZWFkZXI8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+PC90ZD48dGQ+PGk+aGVhZGVyPC9pPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5jYXRlZ29yeSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5jYXRlZ29yeSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdWJjYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBzdWJjYXRlZ29yaWVzLCBlYWNoIHN1YmNhdGVnb3J5IGhhcyBlbGVtZW50czogaWQsIG5hbWUsIGxvbmdfbmFtZSwgYWxpYXMsIGZpbGVzbmIsIGl0ZW1zLCBwYXJlbnQ8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDsgPjxpPiBXaGVuIDxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPiA9IDxpPmZpbGU8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+PC90ZD48dGQ+PGk+ZmlsZTwvaT48L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPkluIHdob2xlIHRlbXBsYXRlOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbWNvdW50fTwvYj48L3RkPjx0ZD5udW1iZXIgb2YgaXRlbXMgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG5vZG93bmxvYWRzfTwvYj48L3RkPjx0ZD5tZXNzYWdlIHRoZW4gdGhlcmUgYXJlIG5vIGRvd25sb2FkcyBpbiBzZWxlY3RlZCBjYXRlZ29yeTwvdGQ+PC90cj4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3MjI0NjQzNTQ0MzIwMDIwMDAuMTI1MTM3MDA5OC4xMjU4OTYyMTA2LjEyNTkyMzgyNDEuMTYnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjU5MjM4MjQxLjE2LjE1LnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zIG1hZGUgc2ltcGxlJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE1ODA0ODk3NjMtMTI1MTM3MDA5OTM4OCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTI1OTIzODI0MSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZGVueSBmcm9tIGFsbAo=]]></data>
	</file>
	<file>
	  <filename>/lib/easyphpthumbnail/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/easyphpthumbnail/easyphpthumbnail.class.php5</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgDQoNCi8qKg0KDQpFYXN5UGhwVGh1bWJuYWlsIGNsYXNzIHZlcnNpb24gMi4wLjMgLSBQSFA1DQpPbi10aGUtZmx5IGltYWdlIG1hbmlwdWxhdGlvbiBhbmQgdGh1bWJuYWlsIGdlbmVyYXRpb24NCg0KQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAgSkYgTnV0YnJvZWsgPGpmbnV0YnJvZWtAZ21haWwuY29tPg0KVmlzaXQgaHR0cDovL3d3dy5teXdlYm15bWFpbC5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24NCg0KUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQpwdXJwb3NlIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQ0KY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4NCg0KVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTDQpXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GDQpNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUg0KQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUw0KV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFODQpBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRg0KT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCg0KKi8NCg0KY2xhc3MgZWFzeXBocHRodW1ibmFpbCB7DQoJDQoJLyoqDQoJICogVGhlIHNpemUgb2YgdGhlIHRodW1ibmFpbCBpbiBweA0KCSAqIEF1dG9zY2FsZSBsYW5kc2NhcGUgb3IgcG9ydHJhaXQNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQ0KCXB1YmxpYyAkVGh1bWJzaXplOwkNCgkvKioNCgkgKiBUaGUgaGVpZ2h0IG9mIHRoZSB0aHVtYm5haWwgaW4gcHgNCgkgKiBGb3JjZXMgYWxsIHRodW1ibmFpbHMgdG8gdGhlIHNhbWUgaGVpZ2h0DQoJICoNCgkgKiBAdmFyIGludA0KCSAqLwkNCglwdWJsaWMgJFRodW1iaGVpZ2h0OwkJDQoJLyoqDQoJICogVGhlIHdpZHRoIG9mIHRoZSB0aHVtYm5haWwgaW4gcHgNCgkgKiBGb3JjZXMgYWxsIHRodW1ibmFpbHMgdG8gdGhlIHNhbWUgd2lkdGgNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQ0KCXB1YmxpYyAkVGh1bWJ3aWR0aDsNCgkvKioNCgkgKiBTZXQgZGltZW5zaW9ucyB0byBwZXJjZW50YWdlIGluc3RlYWQgb2YgcHgNCgkgKiANCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQ0KCXB1YmxpYyAkUGVyY2VudGFnZTsJDQoJLyoqDQoJICogQWxsb3cgaW1hZ2UgZW5sYXJnZW1lbnQNCgkgKg0KCSAqIEB2YXIgYm9vbGVhbg0KCSAqLwkJDQoJcHVibGljICRJbmZsYXRlOw0KCS8qKg0KCSAqIFF1YWxpdHkgb2YgSlBFRyBpbWFnZXMgMCAtIDEwMA0KCSAqDQoJICogQHZhciBpbnQNCgkgKi8JCQ0KCXB1YmxpYyAkUXVhbGl0eTsJDQoJLyoqDQoJICogVGhlIGZyYW1lIHdpZHRoIGluIHB4IGFyb3VuZCB0aGUgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQ0KCXB1YmxpYyAkRnJhbWV3aWR0aDsNCgkvKioNCgkgKiBGcmFtZSBjb2xvciBpbiB3ZWIgZm9ybWF0OiAnIzAwRkYwMCcNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJEZyYW1lY29sb3I7CQ0KCS8qKg0KCSAqIEJhY2tncm91bmQgY29sb3IgaW4gd2ViIGZvcm1hdDogJyMwMEZGMDAnDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRCYWNrZ3JvdW5kY29sb3I7CQ0KCS8qKg0KCSAqIEFkZCBzaGFkb3cNCgkgKiANCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQ0KCXB1YmxpYyAkU2hhZG93Ow0KCS8qKg0KCSAqIFNob3cgYmluZGVyIHJpbmdzDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQ0KCXB1YmxpYyAkQmluZGVyOw0KCS8qKg0KCSAqIEJpbmRlciByaW5nIHNwYWNpbmcgaW4gcHgNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQkJDQoJcHVibGljICRCaW5kZXJzcGFjaW5nOwkNCgkvKioNCgkgKiBQYXRoIHRvIFBORyB3YXRlcm1hcmsgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJFdhdGVybWFya3BuZzsNCgkvKioNCgkgKiBQb3NpdGlvbiBvZiB3YXRlcm1hcmsgaW1hZ2UsIGJvdHRvbSByaWdodCBjb3JuZXI6ICcxMDAlIDEwMCUnDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRXYXRlcm1hcmtwb3NpdGlvbjsNCgkvKioNCgkgKiBUcmFuc3BhcmVuY3kgbGV2ZWwgb2Ygd2F0ZXJtYXJrIGltYWdlIDAgLSAxMDANCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQkNCglwdWJsaWMgJFdhdGVybWFya3RyYW5zcGFyZW5jeTsNCgkvKioNCgkgKiBDSE1PRCBsZXZlbCBvZiBzYXZlZCB0aHVtYm5haWxzOiAnMDc1NScNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJENobW9kbGV2ZWw7DQoJLyoqDQoJICogUGF0aCB0byBsb2NhdGlvbiBmb3IgdGh1bWJuYWlscw0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQ0KCXB1YmxpYyAkVGh1bWJsb2NhdGlvbjsNCgkvKioNCgkgKiBGaWxldHlwZSBjb252ZXJzaW9uIGZvciBzYXZpbmcgdGh1bWJuYWlsDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRUaHVtYnNhdmVhczsJDQoJLyoqDQoJICogUHJlZml4IGZvciBzYXZpbmcgdGh1bWJuYWlscw0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQ0KCXB1YmxpYyAkVGh1bWJwcmVmaXg7DQoJLyoqDQoJICogQ2xpcCBjb3JuZXJzOyBhcnJheSB3aXRoIDcgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1zdHJhaWdodCAyPXJvdW5kZWQNCgkgKiBbMV06IFBlcmNlbnRhZ2Ugb2YgY2xpcHBpbmcNCgkgKiBbMl06IENsaXAgcmFuZG9tbHkgMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzNdOiBDbGlwIHRvcCBsZWZ0IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFs0XTogQ2xpcCBib3R0b20gbGVmdCAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbNV06IENsaXAgdG9wIHJpZ2h0IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFs2XTogQ2xpcCBib3R0b20gcmlnaHQgMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJENsaXBjb3JuZXI7DQoJLyoqDQoJICogQWdlIGltYWdlOyBhcnJheSB3aXRoIDMgdmFsdWVzDQoJICogWzBdOiBCb29sZWFuIDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogQWRkIG5vaXNlIDAtMTAwLCAwPWRpc2FibGUNCgkgKiBbMl06IFNlcGhpYSBkZXB0aCAwLTEwMCwgMD1kaXNhYmxlIChncmV5c2NhbGUpDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJEFnZWltYWdlOw0KCS8qKg0KCSAqIENyb3AgaW1hZ2U7IGFycmF5IHdpdGggNiB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZSBmcmVlIGNyb3AgMj1lbmFibGUgY2VudGVyIGNyb3AgMz1lbmFibGUgc3F1YXJlIGNyb3ANCgkgKiBbMV06IDA9cGVyY2VudGFnZSAxPXBpeGVscw0KCSAqIFsyXTogQ3JvcCBsZWZ0DQoJICogWzNdOiBDcm9wIHJpZ2h0DQoJICogWzRdOiBDcm9wIHRvcA0KCSAqIFs1XTogQ3JvcCBib3R0b20NCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkQ3JvcGltYWdlOwkNCgkvKioNCgkgKiBQYXRoIHRvIFBORyBib3JkZXIgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkJDQoJcHVibGljICRCb3JkZXJwbmc7DQoJLyoqDQoJICogQ29weXJpZ2h0IHRleHQNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJENvcHlyaWdodHRleHQ7DQoJLyoqDQoJICogUG9zaXRpb24gZm9yIENvcHlyaWdodHRleHQgdGV4dCwgYm90dG9tIHJpZ2h0IGNvcm5lcjogJzEwMCUgMTAwJScNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkJDQoJcHVibGljICRDb3B5cmlnaHRwb3NpdGlvbjsNCgkvKioNCgkgKiBQYXRoIHRvIFRURiBGb250dHlwZQ0KCSAqIElmIG5vIFRURiBmb250IGlzIHNwZWNpZmllZCwgc3lzdGVtIGZvbnQgd2lsbCBiZSB1c2VkDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJCQ0KCXB1YmxpYyAkQ29weXJpZ2h0Zm9udHR5cGU7CQkNCgkvKioNCgkgKiBGb250c2l6ZSBmb3IgQ29weXJpZ2h0dGV4dCB0ZXh0DQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJCQ0KCXB1YmxpYyAkQ29weXJpZ2h0Zm9udHNpemU7CQ0KCS8qKg0KCSAqIENvcHlyaWdodHRleHQgdGV4dCBjb2xvciBpbiB3ZWIgZm9ybWF0OiAnIzAwMDAwMCcNCgkgKiBObyBjb2xvciBzcGVjaWZpZWQgd2lsbCBhdXRvLWRldGVybWluZSBibGFjayBvciB3aGl0ZQ0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQkNCglwdWJsaWMgJENvcHlyaWdodHRleHRjb2xvcjsNCgkvKioNCgkgKiBSb3RhdGUgaW1hZ2UgaW4gZGVncmVlcw0KCSAqDQoJICogQHZhciBpbnQNCgkgKi8JCQkJDQoJcHVibGljICRSb3RhdGU7CQ0KCS8qKg0KCSAqIEZsaXAgdGhlIGltYWdlIGhvcml6b250YWxseQ0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJCQ0KCXB1YmxpYyAkRmxpcGhvcml6b250YWw7CQkNCgkvKioNCgkgKiBGbGlwIHRoZSBpbWFnZSB2ZXJ0aWNhbGx5DQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRGbGlwdmVydGljYWw7CQ0KCS8qKg0KCSAqIENyZWF0ZSBzcXVhcmUgY2FudmFzIHRodW1icw0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJDQoJcHVibGljICRTcXVhcmU7DQoJLyoqDQoJICogQXBwbHkgYSBmaWx0ZXIgdG8gdGhlIGltYWdlDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkNCglwdWJsaWMgJEFwcGx5ZmlsdGVyOw0KCS8qKg0KCSAqIEFwcGx5IGEgM3gzIGZpbHRlciBtYXRyaXggdG8gdGhlIGltYWdlOyBhcnJheSB3aXRoIDkgdmFsdWVzDQoJICogWzBdOiBhMSwxDQoJICogWzFdOiBhMSwyDQoJICogWzJdOiBhMSwzDQoJICogWzNdOiBhMiwxDQoJICogWzRdOiBhMiwyDQoJICogWzVdOiBhMiwzDQoJICogWzZdOiBhMywxDQoJICogWzddOiBhMywyDQoJICogWzhdOiBhMywzDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJEZpbHRlcjsNCgkvKioNCgkgKiBEaXZpc29yIGZvciBmaWx0ZXINCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQkJCQ0KCXB1YmxpYyAkRGl2aXNvcjsNCgkvKioNCgkgKiBPZmZzZXQgZm9yIGZpbHRlcg0KCSAqDQoJICogQHZhciBpbnQNCgkgKi8JCQkJDQoJcHVibGljICRPZmZzZXQ7DQoJLyoqDQoJICogQmx1ciBmaWx0ZXINCgkgKg0KCSAqIEB2YXIgYm9vbGVhbg0KCSAqLwkJCQkNCglwdWJsaWMgJEJsdXI7CQ0KCS8qKg0KCSAqIFNoYXJwZW4gZmlsdGVyDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRTaGFycGVuOwkJDQoJLyoqDQoJICogRWRnZSBmaWx0ZXINCgkgKg0KCSAqIEB2YXIgYm9vbGVhbg0KCSAqLwkJCQkNCglwdWJsaWMgJEVkZ2U7DQoJLyoqDQoJICogRW1ib3NzIGZpbHRlcg0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJCQ0KCXB1YmxpYyAkRW1ib3NzOw0KCS8qKg0KCSAqIE1lYW4gZmlsdGVyDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRNZWFuOwkNCgkvKioNCgkgKiBSb3RhdGUgYW5kIGNyb3AgdGhlIGltYWdlDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRDcm9wcm90YXRlOwkNCgkvKioNCgkgKiBBcHBseSBwZXJzcGVjdGl2ZSB0byB0aGUgaW1hZ2U7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogRGlyZWN0aW9uIDA9bGVmdCAxPXJpZ2h0IDI9dG9wIDM9Ym90dG9tDQoJICogWzJdOiBQZXJzcGVjdGl2ZSBzdHJlbmd0aCAwIC0gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJFBlcnNwZWN0aXZlOw0KCS8qKg0KCSAqIEFwcGx5IHBlcnNwZWN0aXZlIHRvIHRoZSB0aHVtYm5haWw7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogRGlyZWN0aW9uIDA9bGVmdCAxPXJpZ2h0IDI9dG9wIDM9Ym90dG9tDQoJICogWzJdOiBQZXJzcGVjdGl2ZSBzdHJlbmd0aCAwIC0gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJFBlcnNwZWN0aXZldGh1bWI7DQoJLyoqDQoJICogQXBwbHkgc2hhZGluZyBncmFkaWVudCB0byB0aGUgaW1hZ2U7IGFycmF5IHdpdGggNCB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogU2hhZGluZyBzdHJlbmd0aCAwIC0gMTAwDQoJICogWzJdOiBTaGFkaW5nIGFyZWEgMCAtIDEwMA0KCSAqIFszXTogU2hhZGluZyBkaXJlY3Rpb24gMD1yaWdodCAxPWxlZnQgMj10b3AgMz1ib3R0b20NCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkU2hhZGluZzsNCgkvKioNCgkgKiBTaGFkaW5nIGdyYWRpZW50IGNvbG9yIGluIHdlYiBmb3JtYXQ6ICcjMDBGRjAwJw0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQ0KCXB1YmxpYyAkU2hhZGluZ2NvbG9yOwkJDQoJLyoqDQoJICogQXBwbHkgYSBtaXJyb3IgZWZmZWN0IHRvIHRoZSB0aHVtYm5haWw7IGFycmF5IHdpdGggNCB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogTWlycm9yIHRyYW5zcGFyZW5jeSBncmFkaWVudCBzdGFydGluZyBzdHJlbmd0aCAwIC0gMTAwDQoJICogWzJdOiBNaXJyb3IgdHJhbnNwYXJlbmN5IGdyYWRpZW50IGVuZGluZyBzdHJlbmd0aCAwIC0gMTAwDQoJICogWzNdOiBNaXJyb3IgYXJlYSAwIC0gMTAwDQoJICogWzRdOiBNaXJyb3IgJ2dhcCcgYmV0d2VlbiBvcmlnaW5hbCBpbWFnZSBhbmQgcmVmbGVjdGlvbiBpbiBweA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkNCglwdWJsaWMgJE1pcnJvcjsNCgkvKioNCgkgKiBNaXJyb3IgZ3JhZGllbnQgY29sb3IgaW4gd2ViIGZvcm1hdDogJyMwMEZGMDAnDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRNaXJyb3Jjb2xvcjsJCQ0KCS8qKg0KCSAqIENyZWF0ZSBpbWFnZSBuZWdhdGl2ZQ0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJDQoJcHVibGljICROZWdhdGl2ZTsNCgkvKioNCgkgKiBSZXBsYWNlIGEgY29sb3IgaW4gdGhlIGltYWdlOyBhcnJheSB3aXRoIDQgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IENvbG9yIHRvIHJlcGxhY2UgaW4gd2ViIGZvcm1hdDogJyMwMEZGMDAnDQoJICogWzJdOiBSZXBsYWNlbWVudCBjb2xvciBpbiB3ZWIgZm9ybWF0OiAnI0ZGMDAwMCcNCgkgKiBbM106IFJHQiB0b2xlcmFuY2UgMCAtIDEwMA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRDb2xvcnJlcGxhY2U7DQoJLyoqDQoJICogU2NyYW1ibGUgcGl4ZWxzOyBhcnJheSB3aXRoIDMgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IFBpeGVsIHJhbmdlDQoJICogWzJdOiBSZXBlYXRzICh1c2Ugd2l0aCBjYXJlISkNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUGl4ZWxzY3JhbWJsZTsNCgkvKioNCgkgKiBDb252ZXJ0IGltYWdlIHRvIGdyZXlzY2FsZQ0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJCQ0KCXB1YmxpYyAkR3JleXNjYWxlOw0KCS8qKg0KCSAqIENoYW5nZSBicmlnaHRuZXNzIG9mIHRoZSBpbWFnZTsgYXJyYXkgd2l0aCAyIHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBCcmlnaHRuZXNzIC0xMDAgdG8gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJEJyaWdodG5lc3M7CQ0KCS8qKg0KCSAqIENoYW5nZSBjb250cmFzdCBvZiB0aGUgaW1hZ2U7IGFycmF5IHdpdGggMiB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogQ29udHJhc3QgLTEwMCB0byAxMDANCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkQ29udHJhc3Q7DQoJLyoqDQoJICogQ2hhbmdlIGdhbW1hIG9mIHRoZSBpbWFnZTsgYXJyYXkgd2l0aCAyIHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBHYW1tYSBjb3JyZWN0aW9uIGZhY3Rvcg0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRHYW1tYTsJDQoJLyoqDQoJICogUmVkdWNlIHBhbGV0dGUgb2YgdGhlIGltYWdlOyBhcnJheSB3aXRoIDIgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IEFtb3VudCBvZiBjb2xvcnMgZm9yIHBhbGV0dGUNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUGFsZXR0ZTsJDQoJCS8qKg0KCSAqIE1lcmdlIGEgY29sb3IgaW4gdGhlIGltYWdlOyBhcnJheSB3aXRoIDUgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IFJlZCBjb21wb25lbnQgMCAtIDI1NQ0KCSAqIFsyXTogR3JlZW4gY29tcG9uZW50IDAgLSAyNTUNCgkgKiBbM106IEJsdWUgY29tcG9uZW50IDAgLSAyNTUNCgkgKiBbNF06IE9wYWNpdHkgbGV2ZWwgMCAtIDEyNw0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRDb2xvcml6ZTsJDQoJLyoqDQoJICogUGl4ZWxhdGUgdGhlIGltYWdlOyBhcnJheSB3aXRoIDIgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IEJsb2NrIHNpemUgaW4gcHgNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUGl4ZWxhdGU7CQkNCgkvKioNCgkgKiBBcHBseSBhIG1lZGlhbiBmaWx0ZXIgdG8gcmVtb3ZlIG5vaXNlDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRNZWRpYW5maWx0ZXI7CQkNCgkvKioNCgkgKiBEZWZvcm0gdGhlIGltYWdlIHdpdGggdHdpcmwgZWZmZWN0OyBhcnJheSB3aXRoIDMgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IEVmZmVjdCBzdHJlbmd0aCAwIHRvIDEwMA0KCSAqIFsyXTogRGlyZWN0aW9uIG9mIHR3aXJsIDA9Y2xvY2t3aXNlIDE9YW50aS1jbG9ja3dpc2UNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkVHdpcmxmeDsNCgkvKioNCgkgKiBEZWZvcm0gdGhlIGltYWdlIHdpdGggcmlwcGxlIGVmZmVjdDsgYXJyYXkgd2l0aCAyIHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBBbW91bnQgb2YgaG9yaXpvbnRhbCB3YXZlcw0KCSAqIFsyXTogQW1wbGl0dWRlIG9mIGhvcml6b250YWwgd2F2ZXMgaW4gcHgNCgkgKiBbM106IEFtb3VudCBvZiB2ZXJ0aWNhbCB3YXZlcw0KCSAqIFs0XTogQW1wbGl0dWRlIG9mIHZlcnRpY2FsIHdhdmVzIGluIHB4CSANCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUmlwcGxlZng7CQkNCgkvKioNCgkgKiBEZWZvcm0gdGhlIGltYWdlIHdpdGggcGVyc3BlY3RpdmUgcmlwcGxlIG9yICdsYWtlJyBlZmZlY3Q7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogRGVuc2l0eSBvZiB0aGUgd2F2ZXMJIA0KCSAqIFsyXTogTGFrZSBhcmVhIG1lYXN1cmVkIGZyb20gYm90dG9tIDAgLSAxMDAJIA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRMYWtlZng7DQoJLyoqDQoJICogRGVmb3JtIHRoZSBpbWFnZSB3aXRoIGEgY2lyY3VsYXIgd2F0ZXJkcm9wIGVmZmVjdDsgYXJyYXkgd2l0aCA0IHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBBbXBsaXR1ZGUgaW4gcHgNCgkgKiBbMl06IFJhZGl1cyBpbiBweA0KCSAqIFszXTogV2F2ZWxlbmd0aCBpbiBweA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRXYXRlcmRyb3BmeDsNCgkvKioNCgkgKiBDcmVhdGUgdHJhbnNwYXJlbnQgaW1hZ2U7IGFycmF5IHdpdGggNCB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogMD1QTkcgMT1HSUYNCgkgKiBbMl06IFJlcGxhY2VtZW50IGNvbG9yIGluIHdlYiBmb3JtYXQ6ICcjRkYwMDAwJw0KCSAqIFszXTogUkdCIHRvbGVyYW5jZSAwIC0gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJE1ha2V0cmFuc3BhcmVudDsNCgkvKioNCgkgKiBGaWxlbmFtZSBmb3Igc2F2aW5nIHRodW1ibmFpbHMNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJFRodW1iZmlsZW5hbWU7CQkNCgkvKioNCgkgKiBUaGUgaW1hZ2UgZmlsZW5hbWUgb3IgYXJyYXkgd2l0aCBmaWxlbmFtZXMNCgkgKg0KCSAqIEB2YXIgc3RyaW5nIC8gYXJyYXkNCgkgKi8JDQoJcHJpdmF0ZSAkaW1hZ2U7CQ0KCS8qKg0KCSAqIE9yaWdpbmFsIGltYWdlDQoJICoNCgkgKiBAdmFyIGltYWdlCSANCgkgKi8JCQkNCglwcml2YXRlICRpbTsNCgkvKioNCgkgKiBUaHVtYm5haWwgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgaW1hZ2UJIA0KCSAqLwkJCQ0KCXByaXZhdGUgJHRodW1iOw0KCS8qKg0KCSAqIFRlbXBvcmFyeSBpbWFnZQ0KCSAqDQoJICogQHZhciBpbWFnZQkgDQoJICovCQkJDQoJcHJpdmF0ZSAkbmV3aW1hZ2U7CQ0KCS8qKg0KCSAqIERpbWVuc2lvbnMgb2Ygb3JpZ2luYWwgaW1hZ2U7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IFdpZHRoDQoJICogWzFdOiBIZWlnaHQNCgkgKiBbMl06IEZpbGV0eXBlDQoJICoNCgkgKiBAdmFyIGFycmF5CSANCgkgKi8JCQkNCglwcml2YXRlICRzaXplOw0KCS8qKg0KCSAqIE9mZnNldCBpbiBweCBmb3IgYmluZGVyDQoJICoNCgkgKiBAdmFyIGludAkgDQoJICovCQkJDQoJcHJpdmF0ZSAkYmluZF9vZmZzZXQ7DQoJLyoqDQoJICogT2Zmc2V0IGluIHB4IGZvciBzaGFkb3cNCgkgKg0KCSAqIEB2YXIgaW50CSANCgkgKi8JCQkNCglwcml2YXRlICRzaGFkb3dfb2Zmc2V0Ow0KCS8qKg0KCSAqIE9mZnNldCBpbiBweCBmb3IgZnJhbWUNCgkgKg0KCSAqIEB2YXIgaW50IA0KCSAqLwkJCQ0KCXByaXZhdGUgJGZyYW1lX29mZnNldDsNCgkvKioNCgkgKiBUaHVtYiB3aWR0aCBpbiBweA0KCSAqDQoJICogQHZhciBpbnQJIA0KCSAqLwkJCQkNCglwcml2YXRlICR0aHVtYng7DQoJLyoqDQoJICogVGh1bWIgaGVpZ2h0IGluIHB4DQoJICoNCgkgKiBAdmFyIGludAkgDQoJICovCQkJCQ0KCXByaXZhdGUgJHRodW1ieTsNCg0KCS8qKg0KCSAqIENsYXNzIGNvbnN0cnVjdG9yDQoJICoNCgkgKi8JDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQ0KCQkkdGhpcy0+VGh1bWJzaXplICAgICAgICAgICAgICA9IDE2MDsNCgkJJHRoaXMtPlRodW1iaGVpZ2h0ICAgICAgICAgICAgPSAwOw0KCQkkdGhpcy0+VGh1bWJ3aWR0aCAgICAgICAgICAgICA9IDA7DQoJCSR0aGlzLT5QZXJjZW50YWdlICAgICAgICAgICAgID0gZmFsc2U7CQkNCgkJJHRoaXMtPkZyYW1ld2lkdGggICAgICAgICAgICAgPSAwOw0KCQkkdGhpcy0+SW5mbGF0ZSAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+U2hhZG93ICAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+QmluZGVyICAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+QmluZGVyc3BhY2luZyAgICAgICAgICA9IDg7CQkNCgkJJHRoaXMtPkJhY2tncm91bmRjb2xvciAgICAgICAgPSAnI0ZGRkZGRic7DQoJCSR0aGlzLT5GcmFtZWNvbG9yICAgICAgICAgICAgID0gJyNGRkZGRkYnOw0KCQkkdGhpcy0+V2F0ZXJtYXJrcG5nICAgICAgICAgICA9ICcnOw0KCQkkdGhpcy0+V2F0ZXJtYXJrcG9zaXRpb24gICAgICA9ICcxMDAlIDEwMCUnOw0KCQkkdGhpcy0+V2F0ZXJtYXJrdHJhbnNwYXJlbmN5ICA9ICc3MCc7CQ0KCQkkdGhpcy0+UXVhbGl0eSAgICAgICAgICAgICAgICA9ICc5MCc7DQoJCSR0aGlzLT5DaG1vZGxldmVsICAgICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5UaHVtYmxvY2F0aW9uICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5UaHVtYnNhdmVhcyAgICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5UaHVtYnByZWZpeCAgICAgICAgICAgID0gJ3RodW1ibmFpbF8nOw0KCQkkdGhpcy0+Q2xpcGNvcm5lciAgICAgICAgICAgICA9IGFycmF5KDAsMTUsMCwxLDEsMSwwKTsNCgkJJHRoaXMtPkFnZWltYWdlICAgICAgICAgICAgICAgPSBhcnJheSgwLDEwLDgwKTsNCgkJJHRoaXMtPkNyb3BpbWFnZSAgICAgICAgICAgICAgPSBhcnJheSgwLDAsMjAsMjAsMjAsMjApOwkJDQoJCSR0aGlzLT5Cb3JkZXJwbmcgICAgICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5Db3B5cmlnaHR0ZXh0ICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5Db3B5cmlnaHRwb3NpdGlvbiAgICAgID0gJzAlIDk1JSc7DQoJCSR0aGlzLT5Db3B5cmlnaHRmb250dHlwZSAgICAgID0gJyc7DQoJCSR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSAgICAgID0gMjsNCgkJJHRoaXMtPkNvcHlyaWdodHRleHRjb2xvciAgICAgPSAnJzsNCgkJJHRoaXMtPlJvdGF0ZSAgICAgICAgICAgICAgICAgPSAwOw0KCQkkdGhpcy0+RmxpcGhvcml6b250YWwgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+RmxpcHZlcnRpY2FsICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+U3F1YXJlICAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+QXBwbHlmaWx0ZXIgICAgICAgICAgICA9IGZhbHNlOwkJDQoJCSR0aGlzLT5GaWx0ZXIgICAgICAgICAgICAgICAgID0gYXJyYXkoMCwwLDAsMCwxLDAsMCwwLDApOw0KCQkkdGhpcy0+RGl2aXNvciAgICAgICAgICAgICAgICA9IDE7DQoJCSR0aGlzLT5PZmZzZXQgICAgICAgICAgICAgICAgID0gMDsNCgkJJHRoaXMtPkJsdXIgICAgICAgICAgICAgICAgICAgPSBmYWxzZTsJCQ0KCQkkdGhpcy0+U2hhcnBlbiAgICAgICAgICAgICAgICA9IGZhbHNlOwkNCgkJJHRoaXMtPkVkZ2UgICAgICAgICAgICAgICAgICAgPSBmYWxzZTsJDQoJCSR0aGlzLT5FbWJvc3MgICAgICAgICAgICAgICAgID0gZmFsc2U7CQ0KCQkkdGhpcy0+TWVhbiAgICAgICAgICAgICAgICAgICA9IGZhbHNlOwkJCQ0KCQkkdGhpcy0+Q3JvcHJvdGF0ZSAgICAgICAgICAgICA9IGZhbHNlOwkNCgkJJHRoaXMtPlBlcnNwZWN0aXZlICAgICAgICAgICAgPSBhcnJheSgwLDAsMzApOw0KCQkkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYiAgICAgICA9IGFycmF5KDAsMSwyMCk7DQoJCSR0aGlzLT5TaGFkaW5nICAgICAgICAgICAgICAgID0gYXJyYXkoMCw3MCw2NSwwKTsNCgkJJHRoaXMtPlNoYWRpbmdjb2xvciAgICAgICAgICAgPSAnIzAwMDAwMCc7CQkNCgkJJHRoaXMtPk1pcnJvciAgICAgICAgICAgICAgICAgPSBhcnJheSgwLDIwLDEwMCw0MCwyKTsNCgkJJHRoaXMtPk1pcnJvcmNvbG9yICAgICAgICAgICAgPSAnI0ZGRkZGRic7CQkNCgkJJHRoaXMtPk5lZ2F0aXZlICAgICAgICAgICAgICAgPSBmYWxzZTsNCgkJJHRoaXMtPkNvbG9ycmVwbGFjZSAgICAgICAgICAgPSBhcnJheSgwLCcjMDAwMDAwJywnI0ZGRkZGRicsMzApOw0KCQkkdGhpcy0+UGl4ZWxzY3JhbWJsZSAgICAgICAgICA9IGFycmF5KDAsMywxKTsNCgkJJHRoaXMtPkdyZXlzY2FsZSAgICAgICAgICAgICAgPSBmYWxzZTsJCQ0KCQkkdGhpcy0+QnJpZ2h0bmVzcyAgICAgICAgICAgICA9IGFycmF5KDAsMzApOw0KCQkkdGhpcy0+Q29udHJhc3QgICAgICAgICAgICAgICA9IGFycmF5KDAsMzApOw0KCQkkdGhpcy0+R2FtbWEgICAgICAgICAgICAgICAgICA9IGFycmF5KDAsMS41KTsNCgkJJHRoaXMtPlBhbGV0dGUgICAgICAgICAgICAgICAgPSBhcnJheSgwLDYpOw0KCQkkdGhpcy0+Q29sb3JpemUgICAgICAgICAgICAgICA9IGFycmF5KDAsMTAwLDAsMCwwKTsNCgkJJHRoaXMtPlBpeGVsYXRlICAgICAgICAgICAgICAgPSBhcnJheSgwLDMpOw0KCQkkdGhpcy0+TWVkaWFuZmlsdGVyICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+VHdpcmxmeCAgICAgICAgICAgICAgICA9IGFycmF5KDAsMjAsMCk7DQoJCSR0aGlzLT5SaXBwbGVmeCAgICAgICAgICAgICAgID0gYXJyYXkoMCw1LDE1LDUsNSk7DQoJCSR0aGlzLT5MYWtlZnggICAgICAgICAgICAgICAgID0gYXJyYXkoMCwxNSw4MCk7DQoJCSR0aGlzLT5XYXRlcmRyb3BmeCAgICAgICAgICAgID0gYXJyYXkoMCwxLjIsNDAwLDQwKTsNCgkJJHRoaXMtPk1ha2V0cmFuc3BhcmVudCAgICAgICAgPSBhcnJheSgwLDAsJyNGRkZGRkYnLDMwKTsNCgkJJHRoaXMtPlRodW1iZmlsZW5hbWUgICAgICAgICAgPSAnJzsJCQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBDbGFzcyBkZXN0cnVjdG9yDQoJICoNCgkgKi8JDQoJcHVibGljIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKSB7DQoJCWlmKGlzX3Jlc291cmNlKCR0aGlzLT5pbSkpIGltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQlpZihpc19yZXNvdXJjZSgkdGhpcy0+dGh1bWIpKSBpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJaWYoaXNfcmVzb3VyY2UoJHRoaXMtPm5ld2ltYWdlKSkgaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJfQ0KDQoJLyoqDQoJICogQ3JlYXRlcyBhbmQgb3V0cHV0cyB0aHVtYm5haWwNCgkgKg0KCSAqIEBwYXJhbSBzdHJpbmcvYXJyYXkgJGZpbGVuYW1lDQoJICogQHBhcmFtIHN0cmluZyAkb3V0cHV0DQoJICovCQ0KCXB1YmxpYyBmdW5jdGlvbiBDcmVhdGV0aHVtYigkZmlsZW5hbWU9InVua25vd24iLCRvdXRwdXQ9InNjcmVlbiIpIHsNCg0KCQlpZiAoaXNfYXJyYXkoJGZpbGVuYW1lKSAmJiAkb3V0cHV0PT0iZmlsZSIpIHsNCgkJCWZvcmVhY2ggKCRmaWxlbmFtZSBhcyAkbmFtZSkgew0KCQkJCSR0aGlzLT5pbWFnZT0kbmFtZTsNCgkJCQkkdGhpcy0+dGh1bWJtYWtlcigpOw0KCQkJCSR0aGlzLT5zYXZldGh1bWIoKTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5pbWFnZT0kZmlsZW5hbWU7DQoJCQkkdGhpcy0+dGh1bWJtYWtlcigpOw0KCQkJaWYgKCRvdXRwdXQ9PSJmaWxlIikgeyR0aGlzLT5zYXZldGh1bWIoKTt9IGVsc2UgeyR0aGlzLT5kaXNwbGF5dGh1bWIoKTt9DQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogQXBwbHkgYWxsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiB0aHVtYm1ha2VyKCkgew0KDQoJCWlmKCR0aGlzLT5sb2FkaW1hZ2UoKSkgew0KCQkJLy8gTW9kaWZpY2F0aW9ucyB0byB0aGUgb3JpZ2luYWwgc2l6ZWQgaW1hZ2UJCQkNCgkJCWlmICgkdGhpcy0+Q3JvcGltYWdlWzBdPjApIHskdGhpcy0+Y3JvcGltYWdlKCk7fQ0KCQkJaWYgKCR0aGlzLT5NZWRpYW5maWx0ZXIpIHskdGhpcy0+bWVkaWFuZmlsdGVyKCk7fQ0KCQkJaWYgKCR0aGlzLT5HcmV5c2NhbGUpIHskdGhpcy0+Z3JleXNjYWxlKCk7fQ0KCQkJaWYgKCR0aGlzLT5CcmlnaHRuZXNzWzBdPT0xKSB7JHRoaXMtPmJyaWdodG5lc3MoKTt9DQoJCQlpZiAoJHRoaXMtPkNvbnRyYXN0WzBdPT0xKSB7JHRoaXMtPmNvbnRyYXN0KCk7fQ0KCQkJaWYgKCR0aGlzLT5HYW1tYVswXT09MSkgeyR0aGlzLT5nYW1tYSgpO30NCgkJCWlmICgkdGhpcy0+UGFsZXR0ZVswXT09MSkgeyR0aGlzLT5wYWxldHRlKCk7fQ0KCQkJaWYgKCR0aGlzLT5Db2xvcml6ZVswXT09MSkgeyR0aGlzLT5jb2xvcml6ZSgpO30JCQkNCgkJCWlmICgkdGhpcy0+Q29sb3JyZXBsYWNlWzBdPT0xKSB7JHRoaXMtPmNvbG9ycmVwbGFjZSgpO30NCgkJCWlmICgkdGhpcy0+UGl4ZWxzY3JhbWJsZVswXT09MSkgeyR0aGlzLT5waXhlbHNjcmFtYmxlKCk7fQ0KCQkJaWYgKCR0aGlzLT5QaXhlbGF0ZVswXT09MSkgeyR0aGlzLT5waXhlbGF0ZSgpO30NCgkJCWlmICgkdGhpcy0+QWdlaW1hZ2VbMF09PTEpIHskdGhpcy0+YWdlaW1hZ2UoKTt9DQoJCQlpZiAoJHRoaXMtPkZsaXBob3Jpem9udGFsKSB7JHRoaXMtPnJvdGF0ZW9yZmxpcCgwLDEpO30NCgkJCWlmICgkdGhpcy0+RmxpcHZlcnRpY2FsKSB7JHRoaXMtPnJvdGF0ZW9yZmxpcCgwLC0xKTt9DQoJCQlpZiAoJHRoaXMtPldhdGVybWFya3BuZyE9JycpIHskdGhpcy0+YWRkcG5nd2F0ZXJtYXJrKCk7fQ0KCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzBdPT0xKSB7JHRoaXMtPmNsaXBjb3JuZXJzc3RyYWlnaHQoKTt9DQoJCQlpZiAoJHRoaXMtPkNsaXBjb3JuZXJbMF09PTIpIHskdGhpcy0+Y2xpcGNvcm5lcnNyb3VuZCgpO30NCgkJCWlmIChpbnR2YWwoJHRoaXMtPlJvdGF0ZSk8PjAgJiYgISR0aGlzLT5Dcm9wcm90YXRlKSB7DQoJCQkJc3dpdGNoKGludHZhbCgkdGhpcy0+Um90YXRlKSkgew0KCQkJCQljYXNlIC05MDoNCgkJCQkJY2FzZSAyNzA6DQoJCQkJCQkkdGhpcy0+cm90YXRlb3JmbGlwKDEsMCk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAtMjcwOg0KCQkJCQljYXNlIDkwOg0KCQkJCQkJJHRoaXMtPnJvdGF0ZW9yZmxpcCgxLDApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgLTE4MDoNCgkJCQkJY2FzZSAxODA6DQoJCQkJCQkkdGhpcy0+cm90YXRlb3JmbGlwKDEsMCk7DQoJCQkJCQkkdGhpcy0+cm90YXRlb3JmbGlwKDEsMCk7DQoJCQkJCQlicmVhazsNCgkJCQkJZGVmYXVsdDoNCgkJCQkJCSR0aGlzLT5mcmVlcm90YXRlKCk7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYgKCR0aGlzLT5Dcm9wcm90YXRlKSB7JHRoaXMtPmNyb3Byb3RhdGUoKTt9DQoJCQlpZiAoJHRoaXMtPlNoYXJwZW4pIHskdGhpcy0+c2hhcnBlbigpO30JCQkNCgkJCWlmICgkdGhpcy0+Qmx1cikgeyR0aGlzLT5ibHVyKCk7fQ0KCQkJaWYgKCR0aGlzLT5FZGdlKSB7JHRoaXMtPmVkZ2UoKTt9CQkJDQoJCQlpZiAoJHRoaXMtPkVtYm9zcykgeyR0aGlzLT5lbWJvc3MoKTt9CQ0KCQkJaWYgKCR0aGlzLT5NZWFuKSB7JHRoaXMtPm1lYW4oKTt9CQ0KCQkJaWYgKCR0aGlzLT5BcHBseWZpbHRlcikgeyR0aGlzLT5maWx0ZXIoKTt9DQoJCQlpZiAoJHRoaXMtPlR3aXJsZnhbMF09PTEpIHskdGhpcy0+dHdpcmxmeCgpO30NCgkJCWlmICgkdGhpcy0+UmlwcGxlZnhbMF09PTEpIHskdGhpcy0+cmlwcGxlZngoKTt9DQoJCQlpZiAoJHRoaXMtPkxha2VmeFswXT09MSkgeyR0aGlzLT5sYWtlZngoKTt9DQoJCQlpZiAoJHRoaXMtPldhdGVyZHJvcGZ4WzBdPT0xKSB7JHRoaXMtPndhdGVyZHJvcGZ4KCk7fQ0KCQkJaWYgKCR0aGlzLT5OZWdhdGl2ZSkgeyR0aGlzLT5uZWdhdGl2ZSgpO30NCgkJCWlmICgkdGhpcy0+U2hhZGluZ1swXT09MSkgeyR0aGlzLT5zaGFkaW5nKCk7fQ0KCQkJaWYgKCR0aGlzLT5QZXJzcGVjdGl2ZVswXT09MSkgeyR0aGlzLT5wZXJzcGVjdGl2ZSgpO30NCgkJCS8vIFByZXBhcmUgdGhlIHRodW1ibmFpbCAobmV3IGNhbnZhcykgYW5kIGFkZCBtb2RpZmljYXRpb25zIHRvIHRoZSByZXNpemVkIGltYWdlICh0aHVtYm5haWwpDQoJCQkkdGhpcy0+Y3JlYXRlZW1wdHl0aHVtYm5haWwoKTsNCgkJCWlmICgkdGhpcy0+QmluZGVyKSB7JHRoaXMtPmFkZGJpbmRlcigpO30NCgkJCWlmICgkdGhpcy0+U2hhZG93KSB7JHRoaXMtPmFkZHNoYWRvdygpO30NCgkJCWltYWdlY29weXJlc2FtcGxlZCgkdGhpcy0+dGh1bWIsJHRoaXMtPmltLCR0aGlzLT5GcmFtZXdpZHRoKigkdGhpcy0+ZnJhbWVfb2Zmc2V0LTEpLCR0aGlzLT5GcmFtZXdpZHRoLDAsMCwkdGhpcy0+dGh1bWJ4LSgkdGhpcy0+ZnJhbWVfb2Zmc2V0KiR0aGlzLT5GcmFtZXdpZHRoKS0kdGhpcy0+c2hhZG93X29mZnNldCwkdGhpcy0+dGh1bWJ5LTIqJHRoaXMtPkZyYW1ld2lkdGgtJHRoaXMtPnNoYWRvd19vZmZzZXQsaW1hZ2VzeCgkdGhpcy0+aW0pLGltYWdlc3koJHRoaXMtPmltKSk7DQoJCQlpZiAoJHRoaXMtPkJvcmRlcnBuZyE9JycpIHskdGhpcy0+YWRkcG5nYm9yZGVyKCk7fQ0KCQkJaWYgKCR0aGlzLT5Db3B5cmlnaHR0ZXh0IT0nJykgeyR0aGlzLT5hZGRjb3B5cmlnaHQoKTt9CQkNCgkJCWlmICgkdGhpcy0+U3F1YXJlKSB7JHRoaXMtPnNxdWFyZSgpO30NCgkJCWlmICgkdGhpcy0+TWlycm9yWzBdPT0xKSB7JHRoaXMtPm1pcnJvcigpO30NCgkJCWlmICgkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYlswXT09MSkgeyR0aGlzLT5wZXJzcGVjdGl2ZXRodW1iKCk7fQ0KCQkJaWYgKCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbMF09PTEpIHskdGhpcy0+bWFrZXRyYW5zcGFyZW50KCk7fQ0KCQl9DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIExvYWQgaW1hZ2UgaW4gbWVtb3J5DQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBsb2FkaW1hZ2UoKSB7DQoNCgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5pbWFnZSkpIHsNCgkJCSR0aGlzLT5zaXplPUdldEltYWdlU2l6ZSgkdGhpcy0+aW1hZ2UpOw0KCQkJc3dpdGNoKCR0aGlzLT5zaXplWzJdKSB7DQoJCQkJY2FzZSAxOg0KCQkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX0dJRikgeyR0aGlzLT5pbT1pbWFnZWNyZWF0ZWZyb21naWYoJHRoaXMtPmltYWdlKTtyZXR1cm4gdHJ1ZTt9IGVsc2UgeyR0aGlzLT5pbnZhbGlkaW1hZ2UoJ05vIEdJRiBzdXBwb3J0Jyk7cmV0dXJuIGZhbHNlO30NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAyOg0KCQkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX0pQRykgeyR0aGlzLT5pbT1pbWFnZWNyZWF0ZWZyb21qcGVnKCR0aGlzLT5pbWFnZSk7cmV0dXJuIHRydWU7fSBlbHNlIHskdGhpcy0+aW52YWxpZGltYWdlKCdObyBKUEcgc3VwcG9ydCcpO3JldHVybiBmYWxzZTt9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgMzoNCgkJCQkJaWYgKGltYWdldHlwZXMoKSAmIElNR19QTkcpIHskdGhpcy0+aW09aW1hZ2VjcmVhdGVmcm9tcG5nKCR0aGlzLT5pbWFnZSk7cmV0dXJuIHRydWU7fSBlbHNlIHskdGhpcy0+aW52YWxpZGltYWdlKCdObyBQTkcgc3VwcG9ydCcpO3JldHVybiBmYWxzZTt9DQoJCQkJCWJyZWFrOw0KCQkJCWRlZmF1bHQ6DQoJCQkJCSR0aGlzLT5pbnZhbGlkaW1hZ2UoJ0ZpbGV0eXBlID8/Pz8/Jyk7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5pbnZhbGlkaW1hZ2UoJ0ZpbGUgbm90IGZvdW5kJyk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJCQkNCgl9DQoNCgkvKioNCgkgKiBDcmVhdGVzIGVycm9yIGltYWdlDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gaW52YWxpZGltYWdlKCRtZXNzYWdlKSB7DQoJDQoJCSR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZSg4MCw3NSk7DQoJCSRibGFjaz1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDAsMCwwKTskeWVsbG93PWltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsMjU1LDI1NSwwKTsNCgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDAsMCw4MCw3NSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDI1NSwwLDApKTsNCgkJaW1hZ2VyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDAsMCw3OSw3NCwkYmxhY2spO2ltYWdlbGluZSgkdGhpcy0+dGh1bWIsMCwyMCw4MCwyMCwkYmxhY2spOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+dGh1bWIsMSwxLDc4LDE5LCR5ZWxsb3cpO2ltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT50aHVtYiwyNywzNSw1Miw2MCwkeWVsbG93KTsNCgkJaW1hZ2VyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDI2LDM0LDUzLDYxLCRibGFjayk7DQoJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsMjcsMzUsNTIsNjAsJGJsYWNrKTtpbWFnZWxpbmUoJHRoaXMtPnRodW1iLDUyLDM1LDI3LDYwLCRibGFjayk7DQoJCWltYWdlc3RyaW5nKCR0aGlzLT50aHVtYiwxLDUsNSwkbWVzc2FnZSwkYmxhY2spOw0KCQkNCgl9CQkNCg0KCS8qKg0KCSAqIEFkZCB3YXRlcm1hcmsgdG8gaW1hZ2UNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFkZHBuZ3dhdGVybWFyaygpIHsNCgkNCgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5XYXRlcm1hcmtwbmcpKSB7DQoJCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGVmcm9tcG5nKCR0aGlzLT5XYXRlcm1hcmtwbmcpOw0KCQkJJHdwb3M9ZXhwbG9kZSgnICcsc3RyX3JlcGxhY2UoJyUnLCcnLCR0aGlzLT5XYXRlcm1hcmtwb3NpdGlvbikpOw0KCQkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSxtaW4obWF4KGltYWdlc3goJHRoaXMtPmltKSooJHdwb3NbMF0vMTAwKS0wLjUqaW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLDApLGltYWdlc3goJHRoaXMtPmltKS1pbWFnZXN4KCR0aGlzLT5uZXdpbWFnZSkpLG1pbihtYXgoaW1hZ2VzeSgkdGhpcy0+aW0pKigkd3Bvc1sxXS8xMDApLTAuNSppbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSksMCksaW1hZ2VzeSgkdGhpcy0+aW0pLWltYWdlc3koJHRoaXMtPm5ld2ltYWdlKSksMCwwLGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSksaW50dmFsKCR0aGlzLT5XYXRlcm1hcmt0cmFuc3BhcmVuY3kpKTsNCgkJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQl9DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIENyZWF0ZSBlbXB0eSB0aHVtYm5haWwNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZWVtcHR5dGh1bWJuYWlsKCkgew0KCQ0KCQkkdGh1bWJzaXplPSR0aGlzLT5UaHVtYnNpemU7JHRodW1id2lkdGg9JHRoaXMtPlRodW1id2lkdGg7JHRodW1iaGVpZ2h0PSR0aGlzLT5UaHVtYmhlaWdodDsNCgkJaWYgKCR0aHVtYnNpemU9PTApIHskdGh1bWJzaXplPTk5OTk7JHRodW1id2lkdGg9MDskdGh1bWJoZWlnaHQ9MDt9DQoJCWlmICgkdGhpcy0+UGVyY2VudGFnZSkgew0KCQkJaWYgKCR0aHVtYndpZHRoPjApIHskdGh1bWJ3aWR0aD1mbG9vcigoJHRodW1id2lkdGgvMTAwKSokdGhpcy0+c2l6ZVswXSk7fQ0KCQkJaWYgKCR0aHVtYmhlaWdodD4wKSB7JHRodW1iaGVpZ2h0PWZsb29yKCgkdGh1bWJoZWlnaHQvMTAwKSokdGhpcy0+c2l6ZVsxXSk7fQ0KCQkJaWYgKCR0aGlzLT5zaXplWzBdPiR0aGlzLT5zaXplWzFdKQ0KCQkJCSR0aHVtYnNpemU9Zmxvb3IoKCR0aHVtYnNpemUvMTAwKSokdGhpcy0+c2l6ZVswXSk7DQoJCQllbHNlDQoJCQkJJHRodW1ic2l6ZT1mbG9vcigoJHRodW1ic2l6ZS8xMDApKiR0aGlzLT5zaXplWzFdKTsNCgkJfQ0KCQlpZiAoISR0aGlzLT5JbmZsYXRlKSB7DQoJCQlpZiAoJHRodW1ic2l6ZT4kdGhpcy0+c2l6ZVswXSAmJiAkdGh1bWJzaXplPiR0aGlzLT5zaXplWzFdKSB7JHRodW1ic2l6ZT1tYXgoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pO30NCgkJCWlmICgkdGh1bWJoZWlnaHQ+JHRoaXMtPnNpemVbMV0pIHskdGh1bWJoZWlnaHQ9JHRoaXMtPnNpemVbMV07fQ0KCQkJaWYgKCR0aHVtYndpZHRoPiR0aGlzLT5zaXplWzBdKSB7JHRodW1id2lkdGg9JHRoaXMtPnNpemVbMF07fQ0KCQl9DQoJCWlmICgkdGhpcy0+QmluZGVyKSB7JHRoaXMtPmZyYW1lX29mZnNldD0zOyR0aGlzLT5iaW5kX29mZnNldD00O30gZWxzZSB7JHRoaXMtPmZyYW1lX29mZnNldD0yOyR0aGlzLT5iaW5kX29mZnNldD0wO30NCgkJaWYgKCR0aGlzLT5TaGFkb3cpIHskdGhpcy0+c2hhZG93X29mZnNldD0zO30gZWxzZSB7JHRoaXMtPnNoYWRvd19vZmZzZXQ9MDt9DQoJCWlmICgkdGh1bWJoZWlnaHQ+MCAmJiAkdGh1bWJ3aWR0aD4wKSB7DQoJCQkkdGhpcy0+dGh1bWI9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPkZyYW1ld2lkdGgqJHRoaXMtPmZyYW1lX29mZnNldCskdGh1bWJ3aWR0aCskdGhpcy0+c2hhZG93X29mZnNldCwkdGhpcy0+RnJhbWV3aWR0aCoyKyR0aHVtYmhlaWdodCskdGhpcy0+c2hhZG93X29mZnNldCk7CQkNCgkJfSBlbHNlIGlmICgkdGh1bWJoZWlnaHQ+MCkgew0KCQkJJHRoaXMtPnRodW1iPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5GcmFtZXdpZHRoKiR0aGlzLT5mcmFtZV9vZmZzZXQrY2VpbCgkdGhpcy0+c2l6ZVswXS8oJHRoaXMtPnNpemVbMV0vJHRodW1iaGVpZ2h0KSkrJHRoaXMtPnNoYWRvd19vZmZzZXQsJHRoaXMtPkZyYW1ld2lkdGgqMiskdGh1bWJoZWlnaHQrJHRoaXMtPnNoYWRvd19vZmZzZXQpOw0KCQl9IGVsc2UgaWYgKCR0aHVtYndpZHRoPjApIHsNCgkJCSR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+RnJhbWV3aWR0aCokdGhpcy0+ZnJhbWVfb2Zmc2V0KyR0aHVtYndpZHRoKyR0aGlzLT5zaGFkb3dfb2Zmc2V0LCR0aGlzLT5GcmFtZXdpZHRoKjIrY2VpbCgkdGhpcy0+c2l6ZVsxXS8oJHRoaXMtPnNpemVbMF0vJHRodW1id2lkdGgpKSskdGhpcy0+c2hhZG93X29mZnNldCk7DQoJCX0gZWxzZSB7DQoJCQkkeDE9JHRoaXMtPkZyYW1ld2lkdGgqJHRoaXMtPmZyYW1lX29mZnNldCskdGh1bWJzaXplKyR0aGlzLT5zaGFkb3dfb2Zmc2V0Ow0KCQkJJHgyPSR0aGlzLT5GcmFtZXdpZHRoKiR0aGlzLT5mcmFtZV9vZmZzZXQrY2VpbCgkdGhpcy0+c2l6ZVswXS8oJHRoaXMtPnNpemVbMV0vJHRodW1ic2l6ZSkpKyR0aGlzLT5zaGFkb3dfb2Zmc2V0Ow0KCQkJJHkxPSR0aGlzLT5GcmFtZXdpZHRoKjIrY2VpbCgkdGhpcy0+c2l6ZVsxXS8oJHRoaXMtPnNpemVbMF0vJHRodW1ic2l6ZSkpKyR0aGlzLT5zaGFkb3dfb2Zmc2V0Ow0KCQkJJHkyPSR0aGlzLT5GcmFtZXdpZHRoKjIrJHRodW1ic2l6ZSskdGhpcy0+c2hhZG93X29mZnNldDsNCgkJCWlmICgkdGhpcy0+c2l6ZVswXT4kdGhpcy0+c2l6ZVsxXSkgeyR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZXRydWVjb2xvcigkeDEsJHkxKTt9IGVsc2UgeyR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZXRydWVjb2xvcigkeDIsJHkyKTt9DQoJCX0NCgkJJHRoaXMtPnRodW1ieD1pbWFnZXN4KCR0aGlzLT50aHVtYik7JHRoaXMtPnRodW1ieT1pbWFnZXN5KCR0aGlzLT50aHVtYik7DQoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT50aHVtYiwwLDAsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpKTsJCQkNCgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCwwLCR0aGlzLT50aHVtYngtJHRoaXMtPnNoYWRvd19vZmZzZXQsJHRoaXMtPnRodW1ieS0kdGhpcy0+c2hhZG93X29mZnNldCxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLGhleGRlYyhzdWJzdHIoJHRoaXMtPkZyYW1lY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+RnJhbWVjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5GcmFtZWNvbG9yLDUsMikpKSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIERyb3Agc2hhZG93IG9uIHRodW1ibmFpbA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gYWRkc2hhZG93KCkgew0KCQ0KCQkkZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDE5MiwxOTIsMTkyKTsNCgkJJG1pZGRsZWdyYXk9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwxNTgsMTU4LDE1OCk7DQoJCSRkYXJrZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDEyOCwxMjgsMTI4KTsNCgkJaW1hZ2VyZWN0YW5nbGUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCwwLCR0aGlzLT50aHVtYngtNCwkdGhpcy0+dGh1bWJ5LTQsJGdyYXkpOw0KCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCwkdGhpcy0+dGh1bWJ5LTMsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5LTMsJGRhcmtncmF5KTsNCgkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiwkdGhpcy0+dGh1bWJ4LTMsMCwkdGhpcy0+dGh1bWJ4LTMsJHRoaXMtPnRodW1ieSwkZGFya2dyYXkpOw0KCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCsyLCR0aGlzLT50aHVtYnktMiwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnktMiwkbWlkZGxlZ3JheSk7DQoJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsJHRoaXMtPnRodW1ieC0yLDIsJHRoaXMtPnRodW1ieC0yLCR0aGlzLT50aHVtYnksJG1pZGRsZWdyYXkpOw0KCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCsyLCR0aGlzLT50aHVtYnktMSwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnktMSwkZ3JheSk7DQoJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsJHRoaXMtPnRodW1ieC0xLDIsJHRoaXMtPnRodW1ieC0xLCR0aGlzLT50aHVtYnksJGdyYXkpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBDbGlwIGNvcm5lcnMgb3JpZ2luYWwgaW1hZ2UNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGNsaXBjb3JuZXJzc3RyYWlnaHQoKSB7DQoJDQoJCSRjbGlwc2l6ZT0kdGhpcy0+Q2xpcGNvcm5lclsxXTsNCgkJaWYgKCR0aGlzLT5zaXplWzBdPiR0aGlzLT5zaXplWzFdKQ0KCQkJJGNsaXBzaXplPWZsb29yKCR0aGlzLT5zaXplWzBdKihpbnR2YWwoJGNsaXBzaXplKS8xMDApKTsNCgkJZWxzZQ0KCQkJJGNsaXBzaXplPWZsb29yKCR0aGlzLT5zaXplWzFdKihpbnR2YWwoJGNsaXBzaXplKS8xMDApKTsNCgkJaWYgKGludHZhbCgkY2xpcHNpemUpPjApIHsNCgkJCSRiZ2NvbG9yPWltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW0saGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpOw0KCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzJdKSB7JHJhbmRvbTE9cmFuZCgwLDEpOyRyYW5kb20yPXJhbmQoMCwxKTskcmFuZG9tMz1yYW5kKDAsMSk7JHJhbmRvbTQ9cmFuZCgwLDEpO30gZWxzZSB7JHJhbmRvbTE9MTskcmFuZG9tMj0xOyRyYW5kb20zPTE7JHJhbmRvbTQ9MTt9DQoJCQlmb3IgKCRpPTA7JGk8JGNsaXBzaXplOyRpKyspIHsJCQkNCgkJCQlpZiAoJHRoaXMtPkNsaXBjb3JuZXJbM10gJiYgJHJhbmRvbTEpIHtpbWFnZWxpbmUoJHRoaXMtPmltLDAsJGksJGNsaXBzaXplLSRpLCRpLCRiZ2NvbG9yKTt9DQoJCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzRdICYmICRyYW5kb20yKSB7aW1hZ2VsaW5lKCR0aGlzLT5pbSwwLCR0aGlzLT5zaXplWzFdLSRpLTEsJGNsaXBzaXplLSRpLCR0aGlzLT5zaXplWzFdLSRpLTEsJGJnY29sb3IpO30JCQkJDQoJCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzVdICYmICRyYW5kb20zKSB7aW1hZ2VsaW5lKCR0aGlzLT5pbSwkdGhpcy0+c2l6ZVswXS0kY2xpcHNpemUrJGksJGksJHRoaXMtPnNpemVbMF0rJGNsaXBzaXplLSRpLCRpLCRiZ2NvbG9yKTt9CQkJCQ0KCQkJCWlmICgkdGhpcy0+Q2xpcGNvcm5lcls2XSAmJiAkcmFuZG9tNCkge2ltYWdlbGluZSgkdGhpcy0+aW0sJHRoaXMtPnNpemVbMF0tJGNsaXBzaXplKyRpLCR0aGlzLT5zaXplWzFdLSRpLTEsJHRoaXMtPnNpemVbMF0rJGNsaXBzaXplLSRpLCR0aGlzLT5zaXplWzFdLSRpLTEsJGJnY29sb3IpO30NCgkJCX0NCgkJfQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBDbGlwIHJvdW5kIGNvcm5lcnMgb3JpZ2luYWwgaW1hZ2UNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGNsaXBjb3JuZXJzcm91bmQoKSB7DQoJDQoJCSRjbGlwc2l6ZT1mbG9vcigkdGhpcy0+c2l6ZVswXSooJHRoaXMtPkNsaXBjb3JuZXJbMV0vMTAwKSk7DQoJCSRjbGlwX2RlZ3JlZXM9OTAvbWF4KCRjbGlwc2l6ZSwxKTsNCgkJJHBvaW50c190bD1hcnJheSgwLDApOw0KCQkkcG9pbnRzX2JyPWFycmF5KCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJJHBvaW50c190cj1hcnJheSgkdGhpcy0+c2l6ZVswXSwwKTsNCgkJJHBvaW50c19ibD1hcnJheSgwLCR0aGlzLT5zaXplWzFdKTsNCgkJJGJnY29sb3I9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciw1LDIpKSk7DQoJCWZvciAoJGk9MDskaTwkY2xpcHNpemU7JGkrKykgew0KCQkJJHg9JGNsaXBzaXplKmNvcyhkZWcycmFkKCRpKiRjbGlwX2RlZ3JlZXMpKTsNCgkJCSR5PSRjbGlwc2l6ZSpzaW4oZGVnMnJhZCgkaSokY2xpcF9kZWdyZWVzKSk7DQoJCQlhcnJheV9wdXNoKCRwb2ludHNfdGwsJGNsaXBzaXplLSR4KTsNCgkJCWFycmF5X3B1c2goJHBvaW50c190bCwkY2xpcHNpemUtJHkpOw0KCQkJYXJyYXlfcHVzaCgkcG9pbnRzX3RyLCR0aGlzLT5zaXplWzBdLSRjbGlwc2l6ZSskeCk7DQoJCQlhcnJheV9wdXNoKCRwb2ludHNfdHIsJGNsaXBzaXplLSR5KTsNCgkJCWFycmF5X3B1c2goJHBvaW50c19iciwkdGhpcy0+c2l6ZVswXS0kY2xpcHNpemUrJHgpOw0KCQkJYXJyYXlfcHVzaCgkcG9pbnRzX2JyLCR0aGlzLT5zaXplWzFdLSRjbGlwc2l6ZSskeSk7DQoJCQlhcnJheV9wdXNoKCRwb2ludHNfYmwsJGNsaXBzaXplLSR4KTsNCgkJCWFycmF5X3B1c2goJHBvaW50c19ibCwkdGhpcy0+c2l6ZVsxXS0kY2xpcHNpemUrJHkpOw0KCQl9DQoJCWFycmF5X3B1c2goJHBvaW50c190bCwkY2xpcHNpemUsMCk7DQoJCWFycmF5X3B1c2goJHBvaW50c19iciwkdGhpcy0+c2l6ZVswXS0kY2xpcHNpemUsJHRoaXMtPnNpemVbMV0pOw0KCQlhcnJheV9wdXNoKCRwb2ludHNfdHIsJHRoaXMtPnNpemVbMF0tJGNsaXBzaXplLDApOw0KCQlhcnJheV9wdXNoKCRwb2ludHNfYmwsJGNsaXBzaXplLCR0aGlzLT5zaXplWzFdKTsNCgkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzJdKSB7JHJhbmRvbTE9cmFuZCgwLDEpOyRyYW5kb20yPXJhbmQoMCwxKTskcmFuZG9tMz1yYW5kKDAsMSk7JHJhbmRvbTQ9cmFuZCgwLDEpO30gZWxzZSB7JHJhbmRvbTE9MTskcmFuZG9tMj0xOyRyYW5kb20zPTE7JHJhbmRvbTQ9MTt9DQoJCWlmICgkdGhpcy0+Q2xpcGNvcm5lclszXSAmJiAkcmFuZG9tMSkge2ltYWdlZmlsbGVkcG9seWdvbigkdGhpcy0+aW0sJHBvaW50c190bCxjb3VudCgkcG9pbnRzX3RsKS8yLCRiZ2NvbG9yKTt9DQoJCWlmICgkdGhpcy0+Q2xpcGNvcm5lcls0XSAmJiAkcmFuZG9tMikge2ltYWdlZmlsbGVkcG9seWdvbigkdGhpcy0+aW0sJHBvaW50c19ibCxjb3VudCgkcG9pbnRzX2JsKS8yLCRiZ2NvbG9yKTt9CQkNCgkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzVdICYmICRyYW5kb20zKSB7aW1hZ2VmaWxsZWRwb2x5Z29uKCR0aGlzLT5pbSwkcG9pbnRzX3RyLGNvdW50KCRwb2ludHNfdHIpLzIsJGJnY29sb3IpO30JCQ0KCQlpZiAoJHRoaXMtPkNsaXBjb3JuZXJbNl0gJiYgJHJhbmRvbTQpIHtpbWFnZWZpbGxlZHBvbHlnb24oJHRoaXMtPmltLCRwb2ludHNfYnIsY291bnQoJHBvaW50c19icikvMiwkYmdjb2xvcik7fQ0KCQlpbWFnZXJlY3RhbmdsZSgkdGhpcy0+aW0sMCwwLCR0aGlzLT5zaXplWzBdLTEsJHRoaXMtPnNpemVbMV0tMSwkYmdjb2xvcik7DQoNCgl9DQoNCgkvKioNCgkgKiBDb252ZXJ0IG9yaWdpbmFsIGltYWdlIHRvIGdyZXlzY2FsZSBhbmQvb3IgYXBwbHkgbm9pc2UgYW5kIHNlcGhpYSBlZmZlY3QNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFnZWltYWdlKCkgew0KCQ0KCQlpbWFnZXRydWVjb2xvcnRvcGFsZXR0ZSgkdGhpcy0+aW0sMSwyNTYpOw0KCQlmb3IgKCRjPTA7JGM8MjU2OyRjKyspIHsgICAgDQoJCQkkY29sPWltYWdlY29sb3JzZm9yaW5kZXgoJHRoaXMtPmltLCRjKTsNCgkJCSRuZXdfY29sPWZsb29yKCRjb2xbJ3JlZCddKjAuMjEyNSskY29sWydncmVlbiddKjAuNzE1NCskY29sWydibHVlJ10qMC4wNzIxKTsNCgkJCSRub2lzZT1yYW5kKC0kdGhpcy0+QWdlaW1hZ2VbMV0sJHRoaXMtPkFnZWltYWdlWzFdKTsNCgkJCWlmICgkdGhpcy0+QWdlaW1hZ2VbMl0+MCkgew0KCQkJCSRyPSRuZXdfY29sKyR0aGlzLT5BZ2VpbWFnZVsyXSskbm9pc2U7DQoJCQkJJGc9Zmxvb3IoJG5ld19jb2wrJHRoaXMtPkFnZWltYWdlWzJdLzEuODYrJG5vaXNlKTsNCgkJCQkkYj1mbG9vcigkbmV3X2NvbCskdGhpcy0+QWdlaW1hZ2VbMl0vLTMuNDgrJG5vaXNlKTsNCgkJCX0gZWxzZSB7DQoJCQkJJHI9JG5ld19jb2wrJG5vaXNlOw0KCQkJCSRnPSRuZXdfY29sKyRub2lzZTsNCgkJCQkkYj0kbmV3X2NvbCskbm9pc2U7DQoJCQl9DQoJCQlpbWFnZWNvbG9yc2V0KCR0aGlzLT5pbSwkYyxtYXgoMCxtaW4oMjU1LCRyKSksbWF4KDAsbWluKDI1NSwkZykpLG1heCgwLG1pbigyNTUsJGIpKSk7DQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogQWRkIGJvcmRlciB0byB0aHVtYm5haWwNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFkZHBuZ2JvcmRlcigpIHsNCgkNCgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5Cb3JkZXJwbmcpKSB7DQoJCQkkYm9yZGVyaW09aW1hZ2VjcmVhdGVmcm9tcG5nKCR0aGlzLT5Cb3JkZXJwbmcpOw0KCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT50aHVtYiwkYm9yZGVyaW0sJHRoaXMtPmJpbmRfb2Zmc2V0LDAsMCwwLCR0aGlzLT50aHVtYngtJHRoaXMtPnNoYWRvd19vZmZzZXQtJHRoaXMtPmJpbmRfb2Zmc2V0LCR0aGlzLT50aHVtYnktJHRoaXMtPnNoYWRvd19vZmZzZXQsaW1hZ2VzeCgkYm9yZGVyaW0pLGltYWdlc3koJGJvcmRlcmltKSk7DQoJCQlpbWFnZWRlc3Ryb3koJGJvcmRlcmltKTsNCgkJfQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBBZGQgYmluZGVyIGVmZmVjdCB0byB0aHVtYm5haWwNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFkZGJpbmRlcigpIHsNCgkNCgkJaWYgKGludHZhbCgkdGhpcy0+QmluZGVyc3BhY2luZyk8NCkgeyR0aGlzLT5CaW5kZXJzcGFjaW5nPTQ7fQ0KCQkkc3BhY2luZz1mbG9vcigkdGhpcy0+dGh1bWJ5LyR0aGlzLT5CaW5kZXJzcGFjaW5nKS0yOw0KCQkkb2Zmc2V0PWZsb29yKCgkdGhpcy0+dGh1bWJ5LSgkc3BhY2luZyokdGhpcy0+QmluZGVyc3BhY2luZykpLzIpOw0KCQkkZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDE5MiwxOTIsMTkyKTsNCgkJJG1pZGRsZWdyYXk9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwxNTgsMTU4LDE1OCk7DQoJCSRkYXJrZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDEyOCwxMjgsMTI4KTsJCQ0KCQkkYmxhY2s9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwwLDAsMCk7CQ0KCQkkd2hpdGU9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwyNTUsMjU1LDI1NSk7CQkNCgkJZm9yICgkaT0kb2Zmc2V0OyRpPD0kb2Zmc2V0KyRzcGFjaW5nKiR0aGlzLT5CaW5kZXJzcGFjaW5nOyRpKz0kdGhpcy0+QmluZGVyc3BhY2luZykgew0KCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDgsJGktMiwxMCwkaSsyLCRibGFjayk7DQoJCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLDExLCRpLTEsMTEsJGkrMSwkZGFya2dyYXkpOw0KCQkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiw4LCRpLTIsMTAsJGktMiwkZGFya2dyYXkpOw0KCQkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiw4LCRpKzIsMTAsJGkrMiwkZGFya2dyYXkpOw0KCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDAsJGktMSw4LCRpKzEsJGdyYXkpOw0KCQkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiwwLCRpLDgsJGksJHdoaXRlKTsNCgkJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsMCwkaS0xLDAsJGkrMSwkZ3JheSk7DQoJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT50aHVtYiwwLCRpLCRkYXJrZ3JheSk7DQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogQWRkIENvcHlyaWdodCB0ZXh0IHRvIHRodW1ibmFpbA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gYWRkY29weXJpZ2h0KCkgew0KDQoJCWlmICgkdGhpcy0+Q29weXJpZ2h0Zm9udHR5cGU9PScnKSB7DQoJCQkkd2lkdGh4PWltYWdlZm9udHdpZHRoKCR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSkqc3RybGVuKCR0aGlzLT5Db3B5cmlnaHR0ZXh0KTsNCgkJCSRoZWlnaHR5PWltYWdlZm9udGhlaWdodCgkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUpOw0KCQkJJGZvbnR3aWR0aD1pbWFnZWZvbnR3aWR0aCgkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUpOw0KCQl9IGVsc2UgewkJDQoJCQkkZGltZW5zaW9ucz1pbWFnZXR0ZmJib3goJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLDAsJHRoaXMtPkNvcHlyaWdodGZvbnR0eXBlLCR0aGlzLT5Db3B5cmlnaHR0ZXh0KTsNCgkJCSR3aWR0aHg9JGRpbWVuc2lvbnNbMl07JGhlaWdodHk9JGRpbWVuc2lvbnNbNV07DQoJCQkkZGltZW5zaW9ucz1pbWFnZXR0ZmJib3goJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLDAsJHRoaXMtPkNvcHlyaWdodGZvbnR0eXBlLCdXJyk7DQoJCQkkZm9udHdpZHRoPSRkaW1lbnNpb25zWzJdOw0KCQl9DQoJCSRjcG9zPWV4cGxvZGUoJyAnLHN0cl9yZXBsYWNlKCclJywnJywkdGhpcy0+Q29weXJpZ2h0cG9zaXRpb24pKTsNCgkJaWYgKGNvdW50KCRjcG9zKT4xKSB7DQoJCQkkY3Bvc3g9Zmxvb3IobWluKG1heCgkdGhpcy0+dGh1bWJ4KigkY3Bvc1swXS8xMDApLTAuNSokd2lkdGh4LCRmb250d2lkdGgpLCR0aGlzLT50aHVtYngtJHdpZHRoeC0wLjUqJGZvbnR3aWR0aCkpOw0KCQkJJGNwb3N5PWZsb29yKG1pbihtYXgoJHRoaXMtPnRodW1ieSooJGNwb3NbMV0vMTAwKS0wLjUqJGhlaWdodHksJGhlaWdodHkpLCR0aGlzLT50aHVtYnktJGhlaWdodHkqMS41KSk7DQoJCX0gZWxzZSB7DQoJCQkkY3Bvc3g9JGZvbnR3aWR0aDsNCgkJCSRjcG9zeT0kdGhpcy0+dGh1bWJ5LTEwOw0KCQl9CQkJDQoJCWlmICgkdGhpcy0+Q29weXJpZ2h0dGV4dGNvbG9yPT0nJykgew0KCQkJJGNvbG9ycz1hcnJheSgpOw0KCQkJZm9yICgkaT0kY3Bvc3g7JGk8KCRjcG9zeCskd2lkdGh4KTskaSsrKSB7DQoJCQkJJGluZGV4aXM9SW1hZ2VDb2xvckF0KCR0aGlzLT50aHVtYiwkaSwkY3Bvc3krMC41KiRoZWlnaHR5KTsNCgkJCQkkcmdiYXJyYXk9SW1hZ2VDb2xvcnNGb3JJbmRleCgkdGhpcy0+dGh1bWIsJGluZGV4aXMpOw0KCQkJCWFycmF5X3B1c2goJGNvbG9ycywkcmdiYXJyYXlbJ3JlZCddLCRyZ2JhcnJheVsnZ3JlZW4nXSwkcmdiYXJyYXlbJ2JsdWUnXSk7DQoJCQl9DQoJCQlpZiAoYXJyYXlfc3VtKCRjb2xvcnMpL2NvdW50KCRjb2xvcnMpPjE4MCkgew0KCQkJCWlmICgkdGhpcy0+Q29weXJpZ2h0Zm9udHR5cGU9PScnKQ0KCQkJCQlpbWFnZXN0cmluZygkdGhpcy0+dGh1bWIsJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLCRjcG9zeCwkY3Bvc3ksJHRoaXMtPkNvcHlyaWdodHRleHQsaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwwLDAsMCkpOw0KCQkJCWVsc2UNCgkJCQkJaW1hZ2V0dGZ0ZXh0KCR0aGlzLT50aHVtYiwkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUsMCwkY3Bvc3gsJGNwb3N5LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsMCwwLDApLCR0aGlzLT5Db3B5cmlnaHRmb250dHlwZSwkdGhpcy0+Q29weXJpZ2h0dGV4dCk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICgkdGhpcy0+Q29weXJpZ2h0Zm9udHR5cGU9PScnKQ0KCQkJCQlpbWFnZXN0cmluZygkdGhpcy0+dGh1bWIsJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLCRjcG9zeCwkY3Bvc3ksJHRoaXMtPkNvcHlyaWdodHRleHQsaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwyNTUsMjU1LDI1NSkpOw0KCQkJCWVsc2UNCgkJCQkJaW1hZ2V0dGZ0ZXh0KCR0aGlzLT50aHVtYiwkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUsMCwkY3Bvc3gsJGNwb3N5LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsMjU1LDI1NSwyNTUpLCR0aGlzLT5Db3B5cmlnaHRmb250dHlwZSwkdGhpcy0+Q29weXJpZ2h0dGV4dCk7CQkJCQ0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJaWYgKCR0aGlzLT5Db3B5cmlnaHRmb250dHlwZT09JycpDQoJCQkJaW1hZ2VzdHJpbmcoJHRoaXMtPnRodW1iLCR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSwkY3Bvc3gsJGNwb3N5LCR0aGlzLT5Db3B5cmlnaHR0ZXh0LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsaGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29weXJpZ2h0dGV4dGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkNvcHlyaWdodHRleHRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5Db3B5cmlnaHR0ZXh0Y29sb3IsNSwyKSkpKTsNCgkJCWVsc2UNCgkJCQlpbWFnZXR0ZnRleHQoJHRoaXMtPnRodW1iLCR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSwwLCRjcG9zeCwkY3Bvc3ksaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYixoZXhkZWMoc3Vic3RyKCR0aGlzLT5Db3B5cmlnaHR0ZXh0Y29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29weXJpZ2h0dGV4dGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkNvcHlyaWdodHRleHRjb2xvciw1LDIpKSksJHRoaXMtPkNvcHlyaWdodGZvbnR0eXBlLCR0aGlzLT5Db3B5cmlnaHR0ZXh0KTsJCQkJDQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogUm90YXRlIHRoZSBpbWFnZSBhdCBhbnkgYW5nbGUNCgkgKiBJbWFnZSBpcyBub3Qgc2NhbGVkIGRvd24NCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGZyZWVyb3RhdGUoKSB7DQoJDQoJCSRhbmdsZT0kdGhpcy0+Um90YXRlOw0KCQlpZiAoJGFuZ2xlPD4wKSB7DQoJCQkkY2VudGVyeD1mbG9vcigkdGhpcy0+c2l6ZVswXS8yKTsNCgkJCSRjZW50ZXJ5PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpOw0KCQkJJG1heHNpemV4PWNlaWwoYWJzKGNvcyhkZWcycmFkKCRhbmdsZSkpKiR0aGlzLT5zaXplWzBdKSthYnMoc2luKGRlZzJyYWQoJGFuZ2xlKSkqJHRoaXMtPnNpemVbMV0pKTsNCgkJCSRtYXhzaXpleT1jZWlsKGFicyhzaW4oZGVnMnJhZCgkYW5nbGUpKSokdGhpcy0+c2l6ZVswXSkrYWJzKGNvcyhkZWcycmFkKCRhbmdsZSkpKiR0aGlzLT5zaXplWzFdKSk7DQoJCQlpZiAoJG1heHNpemV4ICYgMSkgeyRtYXhzaXpleCs9Mzt9IGVsc2UJeyRtYXhzaXpleCs9Mjt9DQoJCQlpZiAoJG1heHNpemV5ICYgMSkgeyRtYXhzaXpleSs9Mzt9IGVsc2UgeyRtYXhzaXpleSs9Mjt9DQoJCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJG1heHNpemV4LCRtYXhzaXpleSk7DQoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCRtYXhzaXpleCwkbWF4c2l6ZXksaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5uZXdpbWFnZSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciw1LDIpKSkpOwkJCQ0KCQkJJG5ld2NlbnRlcng9aW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLzI7DQoJCQkkbmV3Y2VudGVyeT1pbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkvMjsNCgkJCSRhbmdsZSs9MTgwOw0KCQkJZm9yICgkcHg9MDskcHg8aW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpOyRweCsrKSB7DQoJCQkJZm9yICgkcHk9MDskcHk8aW1hZ2VzeSgkdGhpcy0+bmV3aW1hZ2UpOyRweSsrKSB7DQoJCQkJCSR2ZWN0b3J4PWZsb29yKCgkbmV3Y2VudGVyeC0kcHgpKmNvcyhkZWcycmFkKCRhbmdsZSkpKygkbmV3Y2VudGVyeS0kcHkpKnNpbihkZWcycmFkKCRhbmdsZSkpKTsNCgkJCQkJJHZlY3Rvcnk9Zmxvb3IoKCRuZXdjZW50ZXJ5LSRweSkqY29zKGRlZzJyYWQoJGFuZ2xlKSktKCRuZXdjZW50ZXJ4LSRweCkqc2luKGRlZzJyYWQoJGFuZ2xlKSkpOw0KCQkJCQlpZiAoKCRjZW50ZXJ4KyR2ZWN0b3J4KT4tMSAmJiAoJGNlbnRlcngrJHZlY3RvcngpPCgkY2VudGVyeCoyKSAmJiAoJGNlbnRlcnkrJHZlY3RvcnkpPi0xICYmICgkY2VudGVyeSskdmVjdG9yeSk8KCRjZW50ZXJ5KjIpKQ0KCQkJCQkgICAgaW1hZ2Vjb3B5KCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+aW0sJHB4LCRweSwkY2VudGVyeCskdmVjdG9yeCwkY2VudGVyeSskdmVjdG9yeSwxLDEpOw0KCQkJCX0NCgkJCX0NCgkJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQkJJHRoaXMtPmltPWltYWdlY3JlYXRldHJ1ZWNvbG9yKGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkpOw0KCQkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCxpbWFnZXN4KCR0aGlzLT5uZXdpbWFnZSksaW1hZ2VzeSgkdGhpcy0+bmV3aW1hZ2UpKTsNCgkJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkJJHRoaXMtPnNpemVbMF09aW1hZ2VzeCgkdGhpcy0+aW0pOw0KCQkJJHRoaXMtPnNpemVbMV09aW1hZ2VzeSgkdGhpcy0+aW0pOw0KCQl9DQoJCQ0KCX0JDQoNCgkvKioNCgkgKiBSb3RhdGUgdGhlIGltYWdlIGF0IGFueSBhbmdsZQ0KCSAqIEltYWdlIGlzIHNjYWxlZCBkb3duDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBjcm9wcm90YXRlKCkgew0KCQ0KCQkkdGhpcy0+aW09aW1hZ2Vyb3RhdGUoJHRoaXMtPmltLC0kdGhpcy0+Um90YXRlLGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW0saGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpKTsNCgkJDQoJfQ0KCQ0KCS8qKg0KCSAqIFJvdGF0ZSB0aGUgaW1hZ2UgKzkwLCAtOTAgb3IgMTgwIGRlZ3JlZXMNCgkgKiBGbGlwIHRoZSBpbWFnZSBvdmVyIGhvcml6b250YWwgb3IgdmVydGljYWwgYXhpcw0KCSAqDQoJICogQHBhcmFtICRyb3RhdGUNCgkgKiBAcGFyYW0gJGZsaXANCgkgKi8JCQ0KCXByaXZhdGUgZnVuY3Rpb24gcm90YXRlb3JmbGlwKCRyb3RhdGUsJGZsaXApIHsNCg0KCQlpZiAoJHJvdGF0ZSkgew0KCQkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzFdLCR0aGlzLT5zaXplWzBdKTsNCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCX0NCgkJaWYgKGludHZhbCgkdGhpcy0+Um90YXRlKT4wIHx8ICRmbGlwPjApIHsNCgkJCWZvciAoJHB4PTA7JHB4PCR0aGlzLT5zaXplWzBdOyRweCsrKSB7DQoJCQkJaWYgKCRyb3RhdGUpIHsNCgkJCQkJZm9yICgkcHk9MDskcHk8JHRoaXMtPnNpemVbMV07JHB5KyspIHtpbWFnZWNvcHkoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT5pbSwkdGhpcy0+c2l6ZVsxXS0kcHktMSwkcHgsJHB4LCRweSwxLDEpO30NCgkJCQl9IGVsc2Ugew0KCQkJCQlmb3IgKCRweT0wOyRweTwkdGhpcy0+c2l6ZVsxXTskcHkrKykge2ltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLCR0aGlzLT5zaXplWzBdLSRweC0xLCRweSwkcHgsJHB5LDEsMSk7fQ0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWZvciAoJHB4PTA7JHB4PCR0aGlzLT5zaXplWzBdOyRweCsrKSB7DQoJCQkJaWYgKCRyb3RhdGUpIHsJCQkJDQoJCQkJCWZvciAoJHB5PTA7JHB5PCR0aGlzLT5zaXplWzFdOyRweSsrKSB7aW1hZ2Vjb3B5KCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+aW0sJHB5LCR0aGlzLT5zaXplWzBdLSRweC0xLCRweCwkcHksMSwxKTt9DQoJCQkJfSBlbHNlIHsNCgkJCQkJZm9yICgkcHk9MDskcHk8JHRoaXMtPnNpemVbMV07JHB5KyspIHtpbWFnZWNvcHkoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT5pbSwkcHgsJHRoaXMtPnNpemVbMV0tJHB5LTEsJHB4LCRweSwxLDEpO30NCgkJCQl9CQkJCQkNCgkJCX0NCgkJfQ0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPmltKTsNCgkJJHRoaXMtPmltPWltYWdlY3JlYXRldHJ1ZWNvbG9yKGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkpOw0KCQlpbWFnZWNvcHkoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwwLDAsMCwwLGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkpOwkJCQ0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPm5ld2ltYWdlKTsNCgkJJHRoaXMtPnNpemVbMF09aW1hZ2VzeCgkdGhpcy0+aW0pOw0KCQkkdGhpcy0+c2l6ZVsxXT1pbWFnZXN5KCR0aGlzLT5pbSk7DQoNCgl9DQoJDQoJLyoqDQoJICogQ3JvcCBpbWFnZSBpbiBwZXJjZW50YWdlIG9yIHBpeGVscw0KCSAqIENyb3AgZnJvbSBzaWRlcyBvciBmcm9tIGNlbnRlcg0KCSAqIE5lZ2F0aXZlIHZhbHVlIGZvciBib3R0b20gY3JvcCB3aWxsIGVubGFyZ2UgdGhlIGNhbnZhcw0KCSAqDQoJICovCQkNCglwcml2YXRlIGZ1bmN0aW9uIGNyb3BpbWFnZSgpIHsJDQoJCQ0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVsxXT09MCkgew0KCQkJJGNyb3AyPWZsb29yKCR0aGlzLT5zaXplWzBdKigkdGhpcy0+Q3JvcGltYWdlWzJdLzEwMCkpOw0KCQkJJGNyb3AzPWZsb29yKCR0aGlzLT5zaXplWzBdKigkdGhpcy0+Q3JvcGltYWdlWzNdLzEwMCkpOw0KCQkJJGNyb3A0PWZsb29yKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+Q3JvcGltYWdlWzRdLzEwMCkpOw0KCQkJJGNyb3A1PWZsb29yKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+Q3JvcGltYWdlWzVdLzEwMCkpOw0KCQl9IA0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVsxXT09MSkgew0KCQkJJGNyb3AyPSR0aGlzLT5Dcm9waW1hZ2VbMl07DQoJCQkkY3JvcDM9JHRoaXMtPkNyb3BpbWFnZVszXTsNCgkJCSRjcm9wND0kdGhpcy0+Q3JvcGltYWdlWzRdOw0KCQkJJGNyb3A1PSR0aGlzLT5Dcm9waW1hZ2VbNV07CQkNCgkJfQ0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVswXT09Mikgew0KCQkJJGNyb3AyPWZsb29yKCR0aGlzLT5zaXplWzBdLzIpLSRjcm9wMjsNCgkJCSRjcm9wMz1mbG9vcigkdGhpcy0+c2l6ZVswXS8yKS0kY3JvcDM7DQoJCQkkY3JvcDQ9Zmxvb3IoJHRoaXMtPnNpemVbMV0vMiktJGNyb3A0Ow0KCQkJJGNyb3A1PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpLSRjcm9wNTsNCgkJfQ0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVswXT09Mykgew0KCQkJaWYgKCR0aGlzLT5zaXplWzBdPiR0aGlzLT5zaXplWzFdKSB7DQoJCQkJJGNyb3AyPSRjcm9wMz1mbG9vcigoJHRoaXMtPnNpemVbMF0tJHRoaXMtPnNpemVbMV0pLzIpOw0KCQkJCSRjcm9wND0kY3JvcDU9MDsNCgkJCX0gZWxzZSB7DQoJCQkJJGNyb3A0PSRjcm9wNT1mbG9vcigoJHRoaXMtPnNpemVbMV0tJHRoaXMtPnNpemVbMF0pLzIpOw0KCQkJCSRjcm9wMj0kY3JvcDM9MDsJCQkNCgkJCX0NCgkJfQ0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0tJGNyb3AyLSRjcm9wMywkdGhpcy0+c2l6ZVsxXS0kY3JvcDQtJGNyb3A1KTsNCgkJaWYgKCRjcm9wNTwwKSB7JGNyb3A1PTA7aW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPm5ld2ltYWdlLDAsMCxpbWFnZXN4KCR0aGlzLT5uZXdpbWFnZSksaW1hZ2VzeSgkdGhpcy0+bmV3aW1hZ2UpLGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+bmV3aW1hZ2UsaGV4ZGVjKHN1YnN0cigkdGhpcy0+UG9sYXJvaWRmcmFtZWNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPlBvbGFyb2lkZnJhbWVjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5Qb2xhcm9pZGZyYW1lY29sb3IsNSwyKSkpKTt9DQoJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLDAsMCwkY3JvcDIsJGNyb3A0LCR0aGlzLT5zaXplWzBdLSRjcm9wMi0kY3JvcDMsJHRoaXMtPnNpemVbMV0tJGNyb3A0LSRjcm9wNSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQkkdGhpcy0+aW09aW1hZ2VjcmVhdGV0cnVlY29sb3IoaW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLGltYWdlc3koJHRoaXMtPm5ld2ltYWdlKSk7DQoJCWltYWdlY29weSgkdGhpcy0+aW0sJHRoaXMtPm5ld2ltYWdlLDAsMCwwLDAsaW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLGltYWdlc3koJHRoaXMtPm5ld2ltYWdlKSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkkdGhpcy0+c2l6ZVswXT1pbWFnZXN4KCR0aGlzLT5pbSk7DQoJCSR0aGlzLT5zaXplWzFdPWltYWdlc3koJHRoaXMtPmltKTsNCgkNCgl9DQoNCgkvKioNCgkgKiBFbmxhcmdlIHRoZSBjYW52YXMgdG8gYmUgc2FtZSB3aWR0aCBhbmQgaGVpZ2h0DQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzcXVhcmUoKSB7DQoJDQoJCSRzcXVhcmVzaXplPW1heCgkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkpOw0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHNxdWFyZXNpemUsJHNxdWFyZXNpemUpOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCRzcXVhcmVzaXplLCRzcXVhcmVzaXplLGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+bmV3aW1hZ2UsaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpKTsNCgkJJGNlbnRlcng9Zmxvb3IoKCRzcXVhcmVzaXplLSR0aGlzLT50aHVtYngpLzIpOw0KCQkkY2VudGVyeT1mbG9vcigoJHNxdWFyZXNpemUtJHRoaXMtPnRodW1ieSkvMik7DQoJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPnRodW1iLCRjZW50ZXJ4LCRjZW50ZXJ5LDAsMCwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkpOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJJHRoaXMtPnRodW1iPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCRzcXVhcmVzaXplLCRzcXVhcmVzaXplKTsNCgkJaW1hZ2Vjb3B5KCR0aGlzLT50aHVtYiwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkc3F1YXJlc2l6ZSwkc3F1YXJlc2l6ZSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBBcHBseSBhIDN4MyBmaWx0ZXIgbWF0cml4IHRvIHRoZSBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gZmlsdGVyKCkgew0KCQkNCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnaW1hZ2Vjb252b2x1dGlvbicpKSB7DQoJCQlpbWFnZWNvbnZvbHV0aW9uKCR0aGlzLT5pbSxhcnJheShhcnJheSgkdGhpcy0+RmlsdGVyWzBdLCR0aGlzLT5GaWx0ZXJbMV0sJHRoaXMtPkZpbHRlclsyXSksIGFycmF5KCR0aGlzLT5GaWx0ZXJbM10sJHRoaXMtPkZpbHRlcls0XSwkdGhpcy0+RmlsdGVyWzVdKSxhcnJheSgkdGhpcy0+RmlsdGVyWzZdLCR0aGlzLT5GaWx0ZXJbN10sJHRoaXMtPkZpbHRlcls4XSkpLCR0aGlzLT5EaXZpc29yLCR0aGlzLT5PZmZzZXQpOwkNCgkJfSBlbHNlIHsNCgkJCSRuZXdwaXhlbD1hcnJheSgpOw0KCQkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJG5ld3BpeGVsWzBdPTA7JG5ld3BpeGVsWzFdPTA7JG5ld3BpeGVsWzJdPTA7DQoJCQkJCSRhMTE9JHRoaXMtPnJnYnBpeGVsKCR4LTEsJHktMSk7JGExMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHktMSk7JGExMz0kdGhpcy0+cmdicGl4ZWwoJHgrMSwkeS0xKTsNCgkJCQkJJGEyMT0kdGhpcy0+cmdicGl4ZWwoJHgtMSwkeSk7JGEyMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHkpOyRhMjM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHkpOw0KCQkJCQkkYTMxPSR0aGlzLT5yZ2JwaXhlbCgkeC0xLCR5KzEpOyRhMzI9JHRoaXMtPnJnYnBpeGVsKCR4LCR5KzEpOyRhMzM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHkrMSk7DQoJCQkJCSRuZXdwaXhlbFswXSs9JGExMVsncmVkJ10qJHRoaXMtPkZpbHRlclswXSskYTEyWydyZWQnXSokdGhpcy0+RmlsdGVyWzFdKyRhMTNbJ3JlZCddKiR0aGlzLT5GaWx0ZXJbMl07DQoJCQkJCSRuZXdwaXhlbFsxXSs9JGExMVsnZ3JlZW4nXSokdGhpcy0+RmlsdGVyWzBdKyRhMTJbJ2dyZWVuJ10qJHRoaXMtPkZpbHRlclsxXSskYTEzWydncmVlbiddKiR0aGlzLT5GaWx0ZXJbMl07DQoJCQkJCSRuZXdwaXhlbFsyXSs9JGExMVsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbMF0rJGExMlsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbMV0rJGExM1snYmx1ZSddKiR0aGlzLT5GaWx0ZXJbMl07DQoJCQkJCSRuZXdwaXhlbFswXSs9JGEyMVsncmVkJ10qJHRoaXMtPkZpbHRlclszXSskYTIyWydyZWQnXSokdGhpcy0+RmlsdGVyWzRdKyRhMjNbJ3JlZCddKiR0aGlzLT5GaWx0ZXJbNV07DQoJCQkJCSRuZXdwaXhlbFsxXSs9JGEyMVsnZ3JlZW4nXSokdGhpcy0+RmlsdGVyWzNdKyRhMjJbJ2dyZWVuJ10qJHRoaXMtPkZpbHRlcls0XSskYTIzWydncmVlbiddKiR0aGlzLT5GaWx0ZXJbNV07DQoJCQkJCSRuZXdwaXhlbFsyXSs9JGEyMVsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbM10rJGEyMlsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbNF0rJGEyM1snYmx1ZSddKiR0aGlzLT5GaWx0ZXJbNV07DQoJCQkJCSRuZXdwaXhlbFswXSs9JGEzMVsncmVkJ10qJHRoaXMtPkZpbHRlcls2XSskYTMyWydyZWQnXSokdGhpcy0+RmlsdGVyWzddKyRhMzNbJ3JlZCddKiR0aGlzLT5GaWx0ZXJbOF07DQoJCQkJCSRuZXdwaXhlbFsxXSs9JGEzMVsnZ3JlZW4nXSokdGhpcy0+RmlsdGVyWzZdKyRhMzJbJ2dyZWVuJ10qJHRoaXMtPkZpbHRlcls3XSskYTMzWydncmVlbiddKiR0aGlzLT5GaWx0ZXJbOF07DQoJCQkJCSRuZXdwaXhlbFsyXSs9JGEzMVsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbNl0rJGEzMlsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbN10rJGEzM1snYmx1ZSddKiR0aGlzLT5GaWx0ZXJbOF07DQoJCQkJCSRuZXdwaXhlbFswXT1tYXgoMCxtaW4oMjU1LGludHZhbCgkbmV3cGl4ZWxbMF0vJHRoaXMtPkRpdmlzb3IpKyR0aGlzLT5PZmZzZXQpKTsNCgkJCQkJJG5ld3BpeGVsWzFdPW1heCgwLG1pbigyNTUsaW50dmFsKCRuZXdwaXhlbFsxXS8kdGhpcy0+RGl2aXNvcikrJHRoaXMtPk9mZnNldCkpOw0KCQkJCQkkbmV3cGl4ZWxbMl09bWF4KDAsbWluKDI1NSxpbnR2YWwoJG5ld3BpeGVsWzJdLyR0aGlzLT5EaXZpc29yKSskdGhpcy0+T2Zmc2V0KSk7DQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPm5ld2ltYWdlLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5uZXdpbWFnZSwkbmV3cGl4ZWxbMF0sJG5ld3BpeGVsWzFdLCRuZXdwaXhlbFsyXSwkYTExWydhbHBoYSddKSk7DQoJCQkJfQ0KCQkJfQ0KCQkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCQlpbWFnZWRlc3Ryb3koJHRoaXMtPm5ld2ltYWdlKTsNCgkJfQ0KCQkNCgl9DQoJDQoJLyoqDQoJICogQXBwbHkgYSBtZWRpYW4gZmlsdGVyIG1hdHJpeCB0byB0aGUgaW1hZ2UgdG8gcmVtb3ZlIG5vaXNlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtZWRpYW5maWx0ZXIoKSB7DQoJCQ0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkbmV3cmVkPWFycmF5KCk7JG5ld2dyZWVuPWFycmF5KCk7JG5ld2JsdWU9YXJyYXkoKTsNCgkJCQkkYTExPSR0aGlzLT5yZ2JwaXhlbCgkeC0xLCR5LTEpOyRhMTI9JHRoaXMtPnJnYnBpeGVsKCR4LCR5LTEpOyRhMTM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHktMSk7DQoJCQkJJGEyMT0kdGhpcy0+cmdicGl4ZWwoJHgtMSwkeSk7JGEyMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHkpOyRhMjM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHkpOw0KCQkJCSRhMzE9JHRoaXMtPnJnYnBpeGVsKCR4LTEsJHkrMSk7JGEzMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHkrMSk7JGEzMz0kdGhpcy0+cmdicGl4ZWwoJHgrMSwkeSsxKTsNCgkJCQkkbmV3cmVkW109JGExMVsncmVkJ107JG5ld2dyZWVuW109JGExMVsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMTFbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGExMlsncmVkJ107JG5ld2dyZWVuW109JGExMlsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMTJbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGExM1sncmVkJ107JG5ld2dyZWVuW109JGExM1snZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMTNbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEyMVsncmVkJ107JG5ld2dyZWVuW109JGEyMVsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMjFbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEyMlsncmVkJ107JG5ld2dyZWVuW109JGEyMlsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMjJbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEyM1sncmVkJ107JG5ld2dyZWVuW109JGEyM1snZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMjNbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEzMVsncmVkJ107JG5ld2dyZWVuW109JGEzMVsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMzFbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEzMlsncmVkJ107JG5ld2dyZWVuW109JGEzMlsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMzJbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEzM1sncmVkJ107JG5ld2dyZWVuW109JGEzM1snZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMzNbJ2JsdWUnXTsNCgkJCQlzb3J0KCRuZXdyZWQsU09SVF9OVU1FUklDKTtzb3J0KCRuZXdncmVlbixTT1JUX05VTUVSSUMpO3NvcnQoJG5ld2JsdWUsU09SVF9OVU1FUklDKTsNCgkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5uZXdpbWFnZSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+bmV3aW1hZ2UsJG5ld3JlZFs0XSwkbmV3Z3JlZW5bNF0sJG5ld2JsdWVbNF0sJGEyMlsnYWxwaGEnXSkpOwkJDQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBSZXR1cm4gUkdCIHZhbHVlcyBmcm9tIHBpeGVsDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiByZ2JwaXhlbCgkeCwkeSkgew0KCQkJDQoJCWlmICgkeDwwKSB7JHg9MDt9DQoJCWlmICgkeD49JHRoaXMtPnNpemVbMF0pIHskeD0kdGhpcy0+c2l6ZVswXS0xO30NCgkJaWYgKCR5PDApIHskeT0wO30NCgkJaWYgKCR5Pj0kdGhpcy0+c2l6ZVsxXSkgeyR5PSR0aGlzLT5zaXplWzFdLTE7fQkJDQoJCSRwaXhlbD1JbWFnZUNvbG9yQXQoJHRoaXMtPmltLCR4LCR5KTsNCgkJcmV0dXJuIGFycmF5KCdyZWQnID0+ICgkcGl4ZWwgPj4gMTYgJiAweEZGKSwnZ3JlZW4nID0+ICgkcGl4ZWwgPj4gOCAmIDB4RkYpLCdibHVlJyA9PiAoJHBpeGVsICYgMHhGRiksJ2FscGhhJyA9PiAoJHBpeGVsID4+MjQgJiAweEZGKSk7DQoJCQ0KCX0JDQoNCgkvKioNCgkgKiBHYXVzc2lhbiBCbHVyIEZpbHRlcg0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gYmx1cigpIHsNCg0KCQkkb2xkZmlsdGVyPSR0aGlzLT5GaWx0ZXI7JG9sZGRpdmlzb3I9JHRoaXMtPkRpdmlzb3I7JG9sZG9mZnNldD0kdGhpcy0+T2Zmc2V0Ow0KCQkkdGhpcy0+RmlsdGVyICA9IGFycmF5KDEsMiwxLDIsNCwyLDEsMiwxKTsNCgkJJHRoaXMtPkRpdmlzb3IgPSAxNjsNCgkJJHRoaXMtPk9mZnNldCAgPSAwOw0KCQkkdGhpcy0+ZmlsdGVyKCk7DQoJCSR0aGlzLT5GaWx0ZXIgID0gJG9sZGZpbHRlcjsNCgkJJHRoaXMtPkRpdmlzb3IgPSAkb2xkZGl2aXNvcjsNCgkJJHRoaXMtPk9mZnNldCAgPSAkb2xkb2Zmc2V0OwkJDQoJCQ0KCX0NCg0KCS8qKg0KCSAqIFNoYXJwZW4gRmlsdGVyDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzaGFycGVuKCkgew0KDQoJCSRvbGRmaWx0ZXI9JHRoaXMtPkZpbHRlcjskb2xkZGl2aXNvcj0kdGhpcy0+RGl2aXNvcjskb2xkb2Zmc2V0PSR0aGlzLT5PZmZzZXQ7DQoJCSR0aGlzLT5GaWx0ZXIgID0gYXJyYXkoLTEsLTEsLTEsLTEsMTYsLTEsLTEsLTEsLTEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDg7DQoJCSR0aGlzLT5PZmZzZXQgID0gMDsNCgkJJHRoaXMtPmZpbHRlcigpOw0KCQkkdGhpcy0+RmlsdGVyICA9ICRvbGRmaWx0ZXI7DQoJCSR0aGlzLT5EaXZpc29yID0gJG9sZGRpdmlzb3I7DQoJCSR0aGlzLT5PZmZzZXQgID0gJG9sZG9mZnNldDsJCQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBFZGdlIEZpbHRlcg0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gZWRnZSgpIHsNCg0KCQkkb2xkZmlsdGVyPSR0aGlzLT5GaWx0ZXI7JG9sZGRpdmlzb3I9JHRoaXMtPkRpdmlzb3I7JG9sZG9mZnNldD0kdGhpcy0+T2Zmc2V0Ow0KCQkkdGhpcy0+RmlsdGVyICA9IGFycmF5KC0xLC0xLC0xLC0xLDgsLTEsLTEsLTEsLTEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDE7DQoJCSR0aGlzLT5PZmZzZXQgID0gMTI3Ow0KCQkkdGhpcy0+ZmlsdGVyKCk7DQoJCSR0aGlzLT5GaWx0ZXIgID0gJG9sZGZpbHRlcjsNCgkJJHRoaXMtPkRpdmlzb3IgPSAkb2xkZGl2aXNvcjsNCgkJJHRoaXMtPk9mZnNldCAgPSAkb2xkb2Zmc2V0OwkJDQoJCQ0KCX0NCg0KCS8qKg0KCSAqIEVtYm9zcyBGaWx0ZXINCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGVtYm9zcygpIHsNCg0KCQkkb2xkZmlsdGVyPSR0aGlzLT5GaWx0ZXI7JG9sZGRpdmlzb3I9JHRoaXMtPkRpdmlzb3I7JG9sZG9mZnNldD0kdGhpcy0+T2Zmc2V0Ow0KCQkkdGhpcy0+RmlsdGVyICA9IGFycmF5KDIsMCwwLDAsLTEsMCwwLDAsLTEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDE7DQoJCSR0aGlzLT5PZmZzZXQgID0gMTI3Ow0KCQkkdGhpcy0+ZmlsdGVyKCk7DQoJCSR0aGlzLT5GaWx0ZXIgID0gJG9sZGZpbHRlcjsNCgkJJHRoaXMtPkRpdmlzb3IgPSAkb2xkZGl2aXNvcjsNCgkJJHRoaXMtPk9mZnNldCAgPSAkb2xkb2Zmc2V0OwkJDQoJCQ0KCX0NCg0KCS8qKg0KCSAqIE1lYW4gRmlsdGVyDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtZWFuKCkgew0KDQoJCSRvbGRmaWx0ZXI9JHRoaXMtPkZpbHRlcjskb2xkZGl2aXNvcj0kdGhpcy0+RGl2aXNvcjskb2xkb2Zmc2V0PSR0aGlzLT5PZmZzZXQ7DQoJCSR0aGlzLT5GaWx0ZXIgID0gYXJyYXkoMSwxLDEsMSwxLDEsMSwxLDEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDk7DQoJCSR0aGlzLT5PZmZzZXQgID0gMDsNCgkJJHRoaXMtPmZpbHRlcigpOw0KCQkkdGhpcy0+RmlsdGVyICA9ICRvbGRmaWx0ZXI7DQoJCSR0aGlzLT5EaXZpc29yID0gJG9sZGRpdmlzb3I7DQoJCSR0aGlzLT5PZmZzZXQgID0gJG9sZG9mZnNldDsJCQ0KCQkNCgl9DQoJDQoJLyoqDQoJICogQXBwbHkgcGVyc3BlY3RpdmUgdG8gdGhlIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBwZXJzcGVjdGl2ZSgpIHsNCgkJDQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT5uZXdpbWFnZSwwLDAsJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0saW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5uZXdpbWFnZSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciw1LDIpKSkpOwkJCQ0KCQlpZiAoJHRoaXMtPlBlcnNwZWN0aXZlWzFdPT0wIHx8ICR0aGlzLT5QZXJzcGVjdGl2ZVsxXT09MSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50PSgkdGhpcy0+c2l6ZVsxXS0oJHRoaXMtPnNpemVbMV0qKG1heCgxMDAtJHRoaXMtPlBlcnNwZWN0aXZlWzJdLDEpLzEwMCkpKS8kdGhpcy0+c2l6ZVswXTsNCgkJICAgICAgICBmb3IgKCRjPTA7JGM8JHRoaXMtPnNpemVbMF07JGMrKykgew0KCQkJICAgICAgICBpZiAoJHRoaXMtPlBlcnNwZWN0aXZlWzFdPT0wKSB7DQoJCQkJICAgICRsZW5ndGg9JHRoaXMtPnNpemVbMV0tKGZsb29yKCRncmFkaWVudCokYykpOw0KCQkJICAgICAgICB9IGVsc2Ugew0KCQkJCSAgICAkbGVuZ3RoPSR0aGlzLT5zaXplWzFdLShmbG9vcigkZ3JhZGllbnQqKCR0aGlzLT5zaXplWzBdLSRjKSkpOw0KCQkJICAgICAgICB9DQoJCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+aW0sJGMsZmxvb3IoKCR0aGlzLT5zaXplWzFdLSRsZW5ndGgpLzIpLCRjLDAsMSwkbGVuZ3RoLDEsJHRoaXMtPnNpemVbMV0pOw0KCQkgICAgICAgIH0NCgkJfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudD0oJHRoaXMtPnNpemVbMF0tKCR0aGlzLT5zaXplWzBdKihtYXgoMTAwLSR0aGlzLT5QZXJzcGVjdGl2ZVsyXSwxKS8xMDApKSkvJHRoaXMtPnNpemVbMV07DQoJCSAgICAgICAgZm9yICgkYz0wOyRjPCR0aGlzLT5zaXplWzFdOyRjKyspIHsNCgkJCSAgICAgICAgaWYgKCR0aGlzLT5QZXJzcGVjdGl2ZVsxXT09Mikgew0KCQkJCSAgICAkbGVuZ3RoPSR0aGlzLT5zaXplWzBdLShmbG9vcigkZ3JhZGllbnQqJGMpKTsNCgkJCSAgICAgICAgfSBlbHNlIHsNCgkJCQkgICAgJGxlbmd0aD0kdGhpcy0+c2l6ZVswXS0oZmxvb3IoJGdyYWRpZW50KigkdGhpcy0+c2l6ZVsxXS0kYykpKTsNCgkJCSAgICAgICAgfQ0KCQkJCWltYWdlY29weXJlc2FtcGxlZCgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLGZsb29yKCgkdGhpcy0+c2l6ZVswXS0kbGVuZ3RoKS8yKSwkYywwLCRjLCRsZW5ndGgsMSwkdGhpcy0+c2l6ZVswXSwxKTsNCgkJICAgICAgICB9CQkNCgkJfQ0KCQlpbWFnZWNvcHkoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwwLDAsMCwwLCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJDQoJfQkJDQoNCgkgLyoqDQoJICogQXBwbHkgcGVyc3BlY3RpdmUgdG8gdGhlIHRodW1ibmFpbA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcGVyc3BlY3RpdmV0aHVtYigpIHsNCgkJDQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkpOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCR0aGlzLT50aHVtYngsJHRoaXMtPnRodW1ieSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwxLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMywyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDUsMikpKSk7CQkJDQoJCWlmICgkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYlsxXT09MCB8fCAkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYlsxXT09MSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50PSgkdGhpcy0+dGh1bWJ5LSgkdGhpcy0+dGh1bWJ5KihtYXgoMTAwLSR0aGlzLT5QZXJzcGVjdGl2ZXRodW1iWzJdLDEpLzEwMCkpKS8kdGhpcy0+dGh1bWJ4Ow0KCQkgICAgICAgIGZvciAoJGM9MDskYzwkdGhpcy0+dGh1bWJ4OyRjKyspIHsNCgkJCSAgICAgICAgaWYgKCR0aGlzLT5QZXJzcGVjdGl2ZXRodW1iWzFdPT0wKSB7DQoJCQkJICAgICRsZW5ndGg9JHRoaXMtPnRodW1ieS0oZmxvb3IoJGdyYWRpZW50KiRjKSk7DQoJCQkgICAgICAgIH0gZWxzZSB7DQoJCQkJICAgICRsZW5ndGg9JHRoaXMtPnRodW1ieS0oZmxvb3IoJGdyYWRpZW50KigkdGhpcy0+dGh1bWJ4LSRjKSkpOw0KCQkJICAgICAgICB9DQoJCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+dGh1bWIsJGMsZmxvb3IoKCR0aGlzLT50aHVtYnktJGxlbmd0aCkvMiksJGMsMCwxLCRsZW5ndGgsMSwkdGhpcy0+dGh1bWJ5KTsNCgkJICAgICAgICB9DQoJCX0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQ9KCR0aGlzLT50aHVtYngtKCR0aGlzLT50aHVtYngqKG1heCgxMDAtJHRoaXMtPlBlcnNwZWN0aXZldGh1bWJbMl0sMSkvMTAwKSkpLyR0aGlzLT50aHVtYnk7DQoJCSAgICAgICAgZm9yICgkYz0wOyRjPCR0aGlzLT50aHVtYnk7JGMrKykgew0KCQkJICAgICAgICBpZiAoJHRoaXMtPlBlcnNwZWN0aXZldGh1bWJbMV09PTIpIHsNCgkJCQkgICAgJGxlbmd0aD0kdGhpcy0+dGh1bWJ4LShmbG9vcigkZ3JhZGllbnQqJGMpKTsNCgkJCSAgICAgICAgfSBlbHNlIHsNCgkJCQkgICAgJGxlbmd0aD0kdGhpcy0+dGh1bWJ4LShmbG9vcigkZ3JhZGllbnQqKCR0aGlzLT50aHVtYnktJGMpKSk7DQoJCQkgICAgICAgIH0NCgkJCQlpbWFnZWNvcHlyZXNhbXBsZWQoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT50aHVtYixmbG9vcigoJHRoaXMtPnRodW1ieC0kbGVuZ3RoKS8yKSwkYywwLCRjLCRsZW5ndGgsMSwkdGhpcy0+dGh1bWJ4LDEpOw0KCQkgICAgICAgIH0JCQ0KCQl9DQoJCWltYWdlY29weSgkdGhpcy0+dGh1bWIsJHRoaXMtPm5ld2ltYWdlLDAsMCwwLDAsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5KTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJDQoJfQkJDQoNCgkvKioNCgkgKiBBcHBseSBncmFkaWVudCBzaGFkaW5nIHRvIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzaGFkaW5nKCkgew0KCQkNCgkJaWYgKCR0aGlzLT5TaGFkaW5nWzNdPT0wIHx8ICR0aGlzLT5TaGFkaW5nWzNdPT0xKSB7CQkNCgkJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigxLCR0aGlzLT5zaXplWzFdKTsNCgkJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT5uZXdpbWFnZSwwLDAsMSwkdGhpcy0+c2l6ZVsxXSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPlNoYWRpbmdjb2xvciwxLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5TaGFkaW5nY29sb3IsMywyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+U2hhZGluZ2NvbG9yLDUsMikpKSk7DQoJCX0gZWxzZSB7DQoJCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sMSk7DQoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCR0aGlzLT5zaXplWzBdLDEsaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5uZXdpbWFnZSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5TaGFkaW5nY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+U2hhZGluZ2NvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPlNoYWRpbmdjb2xvciw1LDIpKSkpOwkJCQ0KCQl9DQoJCWlmICgkdGhpcy0+U2hhZGluZ1szXT09MCkgew0KCQkJJHNoYWRpbmdzdHJlbmd0aD0kdGhpcy0+U2hhZGluZ1sxXS8oJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpOw0KCQkJZm9yICgkYz0kdGhpcy0+c2l6ZVswXS1mbG9vcigoJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpKTskYzwkdGhpcy0+c2l6ZVswXTskYysrKSB7IA0KCQkJCSRvcGFjaXR5PWZsb29yKCRzaGFkaW5nc3RyZW5ndGgqKCRjLSgkdGhpcy0+c2l6ZVswXS1mbG9vcigoJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpKSkpKTsgDQoJCQkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwkYywwLDAsMCwxLCR0aGlzLT5zaXplWzFdLG1heChtaW4oJG9wYWNpdHksMTAwKSwwKSk7DQoJCQl9CQ0KCQl9IGVsc2UgaWYgKCR0aGlzLT5TaGFkaW5nWzNdPT0xKSB7DQoJCQkkc2hhZGluZ3N0cmVuZ3RoPSR0aGlzLT5TaGFkaW5nWzFdLygkdGhpcy0+c2l6ZVswXSooJHRoaXMtPlNoYWRpbmdbMl0vMTAwKSk7DQoJCQlmb3IgKCRjPTA7JGM8Zmxvb3IoJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpOyRjKyspIHsgDQoJCQkJJG9wYWNpdHk9Zmxvb3IoJHRoaXMtPlNoYWRpbmdbMV0tKCRjKiRzaGFkaW5nc3RyZW5ndGgpKTsJCQkgDQoJCQkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwkYywwLDAsMCwxLCR0aGlzLT5zaXplWzFdLG1heChtaW4oJG9wYWNpdHksMTAwKSwwKSk7DQoJCQl9CQkJDQoJCX0gZWxzZSBpZiAoJHRoaXMtPlNoYWRpbmdbM109PTIpIHsNCgkJCSRzaGFkaW5nc3RyZW5ndGg9JHRoaXMtPlNoYWRpbmdbMV0vKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKTsNCgkJCWZvciAoJGM9MDskYzxmbG9vcigkdGhpcy0+c2l6ZVsxXSooJHRoaXMtPlNoYWRpbmdbMl0vMTAwKSk7JGMrKykgeyANCgkJCQkkb3BhY2l0eT1mbG9vcigkdGhpcy0+U2hhZGluZ1sxXS0oJGMqJHNoYWRpbmdzdHJlbmd0aCkpOwkJCSANCgkJCQlpbWFnZWNvcHltZXJnZSgkdGhpcy0+aW0sJHRoaXMtPm5ld2ltYWdlLDAsJGMsMCwwLCR0aGlzLT5zaXplWzBdLDEsbWF4KG1pbigkb3BhY2l0eSwxMDApLDApKTsNCgkJCX0JCQkNCgkJfSBlbHNlIHsNCgkJCSRzaGFkaW5nc3RyZW5ndGg9JHRoaXMtPlNoYWRpbmdbMV0vKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKTsNCgkJCWZvciAoJGM9JHRoaXMtPnNpemVbMV0tZmxvb3IoKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKSk7JGM8JHRoaXMtPnNpemVbMV07JGMrKykgeyANCgkJCQkkb3BhY2l0eT1mbG9vcigkc2hhZGluZ3N0cmVuZ3RoKigkYy0oJHRoaXMtPnNpemVbMV0tZmxvb3IoKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKSkpKSk7IA0KCQkJCWltYWdlY29weW1lcmdlKCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwkYywwLDAsJHRoaXMtPnNpemVbMF0sMSxtYXgobWluKCRvcGFjaXR5LDEwMCksMCkpOw0KCQkJfQkJCQ0KCQl9DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQ0KCX0JCQ0KDQoJLyoqDQoJICogQXBwbHkgbWlycm9yIGVmZmVjdCB0byB0aGUgdGh1bWJuYWlsIHdpdGggZ3JhZGllbnQgDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtaXJyb3IoKSB7DQoJCQ0KCQkkYm90dG9tPWZsb29yKCgkdGhpcy0+TWlycm9yWzNdLzEwMCkqJHRoaXMtPnRodW1ieSkrJHRoaXMtPk1pcnJvcls0XTsNCgkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT50aHVtYngsJHRoaXMtPnRodW1ieSskYm90dG9tKTsNCgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPm5ld2ltYWdlLDAsMCwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkrJGJvdHRvbSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwxLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMywyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDUsMikpKSk7DQoJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPnRodW1iLDAsMCwwLDAsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5KTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT50aHVtYik7JHRoaXMtPnRodW1iPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT50aHVtYngsJHRoaXMtPnRodW1ieSskYm90dG9tKTsNCgkJaW1hZ2Vjb3B5KCR0aGlzLT50aHVtYiwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkrJGJvdHRvbSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOyR0aGlzLT50aHVtYng9aW1hZ2VzeCgkdGhpcy0+dGh1bWIpOyR0aGlzLT50aHVtYnk9aW1hZ2VzeSgkdGhpcy0+dGh1bWIpOw0KCQlmb3IgKCRweD0wOyRweDwkdGhpcy0+dGh1bWJ4OyRweCsrKSB7DQoJCQlmb3IgKCRweT0kdGhpcy0+dGh1bWJ5LSgkYm90dG9tKjIpKyR0aGlzLT5NaXJyb3JbNF07JHB5PCgkdGhpcy0+dGh1bWJ5LSRib3R0b20pOyRweSsrKSB7aW1hZ2Vjb3B5KCR0aGlzLT50aHVtYiwkdGhpcy0+dGh1bWIsJHB4LCR0aGlzLT50aHVtYnktKCRweS0oJHRoaXMtPnRodW1ieS0oJGJvdHRvbSoyKSkpLTErJHRoaXMtPk1pcnJvcls0XSwkcHgsJHB5LDEsMSk7fQ0KCQl9DQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+dGh1bWJ4LDEpOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCR0aGlzLT50aHVtYngsMSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPk1pcnJvcmNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPk1pcnJvcmNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPk1pcnJvcmNvbG9yLDUsMikpKSk7CQ0KCQkkc2hhZGluZ3N0cmVuZ3RoPSgkdGhpcy0+TWlycm9yWzJdLSR0aGlzLT5NaXJyb3JbMV0pLyRib3R0b207DQoJCWZvciAoJGM9JHRoaXMtPnRodW1ieS0kYm90dG9tOyRjPCR0aGlzLT50aHVtYnk7JGMrKykgeyANCgkJCSRvcGFjaXR5PSR0aGlzLT5NaXJyb3JbMV0rZmxvb3IoKCRib3R0b20tKCR0aGlzLT50aHVtYnktJGMpKSokc2hhZGluZ3N0cmVuZ3RoKTsNCgkJCWltYWdlY29weW1lcmdlKCR0aGlzLT50aHVtYiwkdGhpcy0+bmV3aW1hZ2UsMCwkYywwLDAsJHRoaXMtPnRodW1ieCwxLG1heChtaW4oJG9wYWNpdHksMTAwKSwwKSk7DQoJCX0JDQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KDQoJfQ0KDQoJLyoqDQoJICogQ3JlYXRlIGEgbmVnYXRpdmUNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIG5lZ2F0aXZlKCkgew0KCQkNCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnaW1hZ2VmaWx0ZXInKSkgew0KCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltLElNR19GSUxURVJfTkVHQVRFKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+aW0sJHgsJHkpOw0KCQkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5pbSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+aW0sMjU1LSgkcGl4ZWwgPj4gMTYgJiAweEZGKSwyNTUtKCRwaXhlbCA+PiA4ICYgMHhGRiksMjU1LSgkcGl4ZWwgJiAweEZGKSwkcGl4ZWwgPj4gMjQgJiAweEZGKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgl9DQoJDQoJLyoqDQoJICogUmVwbGFjZSBhIGNvbG9yDQoJICogRXVjbGVkaWFuIGNvbG9yIHZlY3RvciBkaXN0YW5jZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gY29sb3JyZXBsYWNlKCkgew0KCQkNCgkJJHJlZD1oZXhkZWMoc3Vic3RyKCR0aGlzLT5Db2xvcnJlcGxhY2VbMV0sMSwyKSk7JGdyZWVuPWhleGRlYyhzdWJzdHIoJHRoaXMtPkNvbG9ycmVwbGFjZVsxXSwzLDIpKTskYmx1ZT1oZXhkZWMoc3Vic3RyKCR0aGlzLT5Db2xvcnJlcGxhY2VbMV0sNSwyKSk7DQoJCSRyZWRuZXc9aGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29sb3JyZXBsYWNlWzJdLDEsMikpOyRncmVlbm5ldz1oZXhkZWMoc3Vic3RyKCR0aGlzLT5Db2xvcnJlcGxhY2VbMl0sMywyKSk7JGJsdWVuZXc9aGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29sb3JyZXBsYWNlWzJdLDUsMikpOw0KCQkkdG9sZXJhbmNlPXNxcnQocG93KCR0aGlzLT5Db2xvcnJlcGxhY2VbM10sMikrcG93KCR0aGlzLT5Db2xvcnJlcGxhY2VbM10sMikrcG93KCR0aGlzLT5Db2xvcnJlcGxhY2VbM10sMikpOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkcGl4ZWw9SW1hZ2VDb2xvckF0KCR0aGlzLT5pbSwkeCwkeSk7DQoJCQkJJHJlZHBpeD0oJHBpeGVsID4+IDE2ICYgMHhGRik7JGdyZWVucGl4PSgkcGl4ZWwgPj4gOCAmIDB4RkYpOyRibHVlcGl4PSgkcGl4ZWwgJiAweEZGKTsNCgkJCQlpZiAoc3FydChwb3coJHJlZHBpeC0kcmVkLDIpK3BvdygkZ3JlZW5waXgtJGdyZWVuLDIpK3BvdygkYmx1ZXBpeC0kYmx1ZSwyKSk8JHRvbGVyYW5jZSkNCgkJCQkJaW1hZ2VzZXRwaXhlbCgkdGhpcy0+aW0sJHgsJHksaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRoaXMtPmltLCRyZWRuZXcsJGdyZWVubmV3LCRibHVlbmV3LCRwaXhlbCA+PiAyNCAmIDB4RkYpKTsJDQoJCQl9DQoJCX0NCg0KCX0JDQoNCgkvKioNCgkgKiBSYW5kb21seSByZXBvc2l0aW9uIHBpeGVscw0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcGl4ZWxzY3JhbWJsZSgpIHsNCgkJDQoJCWZvciAoJGk9MDskaTwkdGhpcy0+UGl4ZWxzY3JhbWJsZVsyXTskaSsrKSB7DQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnNpemVbMF07JHgrKykgew0KCQkJCSRuZXd4PSR4K3JhbmQoLSR0aGlzLT5QaXhlbHNjcmFtYmxlWzFdLCR0aGlzLT5QaXhlbHNjcmFtYmxlWzFdKTsNCgkJCQkkbmV3eT0keStyYW5kKC0kdGhpcy0+UGl4ZWxzY3JhbWJsZVsxXSwkdGhpcy0+UGl4ZWxzY3JhbWJsZVsxXSk7DQoJCQkJaWYgKCRuZXd4PDAgJiYgJG5ld3g+PSR0aGlzLT5zaXplWzBdKSB7JG5ld3g9JHg7fQ0KCQkJCWlmICgkbmV3eTwwICYmICRuZXd5Pj0kdGhpcy0+c2l6ZVsxXSkgeyRuZXd5PSR5O30NCgkJCQlpbWFnZWNvcHkoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT5pbSwkbmV3eCwkbmV3eSwkeCwkeSwxLDEpOw0KCQkJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLCR4LCR5LCRuZXd4LCRuZXd5LDEsMSk7DQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQl9DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIENvbnZlcnQgdG8gZ3JleXNjYWxlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBncmV5c2NhbGUoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOw0KCQl9IGVsc2Ugew0KCQkJZm9yICgkeT0wOyR5PCR0aGlzLT5zaXplWzFdOyR5KyspIHsNCgkJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnNpemVbMF07JHgrKykgew0KCQkJCQkkcGl4ZWw9SW1hZ2VDb2xvckF0KCR0aGlzLT5pbSwkeCwkeSk7DQoJCQkJCSRncmV5PWZsb29yKCgkcGl4ZWwgPj4gMTYgJiAweEZGKSowLjI5OSArICgkcGl4ZWwgPj4gOCAmIDB4RkYpKjAuNTg3ICsgKCRwaXhlbCAmIDB4RkYpKjAuMTE0KTsNCgkJCQkJaW1hZ2VzZXRwaXhlbCgkdGhpcy0+aW0sJHgsJHksaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRoaXMtPmltLCRncmV5LCRncmV5LCRncmV5LCRwaXhlbCA+PiAyNCAmIDB4RkYpKTsNCgkJCQl9DQoJCQl9DQoJCX0JCQ0KDQoJfQ0KDQoJLyoqDQoJICogQ2hhbmdlIGJyaWdodG5lc3MNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGJyaWdodG5lc3MoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9CUklHSFRORVNTLCR0aGlzLT5CcmlnaHRuZXNzWzFdKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+aW0sJHgsJHkpOw0KCQkJCQkkcmVkcGl4PW1heCgwLG1pbigyNTUsKCRwaXhlbCA+PiAxNiAmIDB4RkYpKygkdGhpcy0+QnJpZ2h0bmVzc1sxXS8xMDApKjI1NSkpOw0KCQkJCQkkZ3JlZW5waXg9bWF4KDAsbWluKDI1NSwoJHBpeGVsID4+IDggJiAweEZGKSsoJHRoaXMtPkJyaWdodG5lc3NbMV0vMTAwKSoyNTUpKTsNCgkJCQkJJGJsdWVwaXg9bWF4KDAsbWluKDI1NSwoJHBpeGVsICYgMHhGRikrKCR0aGlzLT5CcmlnaHRuZXNzWzFdLzEwMCkqMjU1KSk7DQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPmltLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5pbSwkcmVkcGl4LCRncmVlbnBpeCwkYmx1ZXBpeCwkcGl4ZWwgPj4gMjQgJiAweEZGKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9CQkNCg0KCX0NCg0KCS8qKg0KCSAqIENoYW5nZSBjb250cmFzdA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gY29udHJhc3QoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9DT05UUkFTVCwtJHRoaXMtPkNvbnRyYXN0WzFdKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+aW0sJHgsJHkpOw0KCQkJCQkkcmVkcGl4PW1heCgwLG1pbigyNTUsKCgoKCRwaXhlbCA+PiAxNiAmIDB4RkYpLzI1NSktMC41KSooJHRoaXMtPkNvbnRyYXN0WzFdLzEwMCsxKSswLjUpKjI1NSkpOw0KCQkJCQkkZ3JlZW5waXg9bWF4KDAsbWluKDI1NSwoKCgoJHBpeGVsID4+IDggJiAweEZGKS8yNTUpLTAuNSkqKCR0aGlzLT5Db250cmFzdFsxXS8xMDArMSkrMC41KSoyNTUpKTsNCgkJCQkJJGJsdWVwaXg9bWF4KDAsbWluKDI1NSwoKCgoJHBpeGVsICYgMHhGRikvMjU1KS0wLjUpKigkdGhpcy0+Q29udHJhc3RbMV0vMTAwKzEpKzAuNSkqMjU1KSk7DQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPmltLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5pbSwkcmVkcGl4LCRncmVlbnBpeCwkYmx1ZXBpeCwkcGl4ZWwgPj4gMjQgJiAweEZGKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9CQkNCg0KCX0NCg0KCS8qKg0KCSAqIENoYW5nZSBnYW1tYQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gZ2FtbWEoKSB7DQoJCQ0KCQlpbWFnZWdhbW1hY29ycmVjdCgkdGhpcy0+aW0sMSwkdGhpcy0+R2FtbWFbMV0pOwkNCg0KCX0NCg0KCS8qKg0KCSAqIFJlZHVjZSBwYWxldHRlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBwYWxldHRlKCkgew0KCQkNCgkJaW1hZ2V0cnVlY29sb3J0b3BhbGV0dGUoJHRoaXMtPmltLGZhbHNlLCR0aGlzLT5QYWxldHRlWzFdKTsNCg0KCX0NCg0KCS8qKg0KCSAqIE1lcmdlIGEgY29sb3IgaW4gdGhlIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBjb2xvcml6ZSgpIHsNCgkJDQoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ2ltYWdlZmlsdGVyJykpIHsNCgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbSxJTUdfRklMVEVSX0NPTE9SSVpFLCR0aGlzLT5Db2xvcml6ZVsxXSwkdGhpcy0+Q29sb3JpemVbMl0sJHRoaXMtPkNvbG9yaXplWzNdLCR0aGlzLT5Db2xvcml6ZVs0XSk7DQoJCX0gZWxzZSB7DQoJCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJCWZvciAoJHg9MDskeDwkdGhpcy0+c2l6ZVswXTskeCsrKSB7DQoJCQkJCSRwaXhlbD1JbWFnZUNvbG9yQXQoJHRoaXMtPmltLCR4LCR5KTsNCgkJCQkJJHJlZHBpeD1tYXgoMCxtaW4oMjU1LCgkcGl4ZWwgPj4gMTYgJiAweEZGKSskdGhpcy0+Q29sb3JpemVbMV0pKTsNCgkJCQkJJGdyZWVucGl4PW1heCgwLG1pbigyNTUsKCRwaXhlbCA+PiA4ICYgMHhGRikrJHRoaXMtPkNvbG9yaXplWzJdKSk7DQoJCQkJCSRibHVlcGl4PW1heCgwLG1pbigyNTUsKCRwaXhlbCAmIDB4RkYpKyR0aGlzLT5Db2xvcml6ZVszXSkpOw0KCQkJCQkkYWxwaGEgPW1heCgwLG1pbigxMjcsKCRwaXhlbCA+PiAyNCAmIDB4RkYpKyR0aGlzLT5Db2xvcml6ZVs0XSkpOw0KCQkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5pbSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+aW0sJHJlZHBpeCwkZ3JlZW5waXgsJGJsdWVwaXgsJGFscGhhKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9CQkNCg0KCX0NCg0KCS8qKg0KCSAqIFBpeGVsYXRlIHRoZSBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcGl4ZWxhdGUoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9QSVhFTEFURSwkdGhpcy0+UGl4ZWxhdGVbMV0sdHJ1ZSk7DQoJCX0gZWxzZSB7DQoJCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrPSR0aGlzLT5QaXhlbGF0ZVsxXSkgew0KCQkJCWZvciAoJHg9MDskeDwkdGhpcy0+c2l6ZVswXTskeCs9JHRoaXMtPlBpeGVsYXRlWzFdKSB7DQoJCQkJCSRwaXhlbD1JbWFnZUNvbG9yQXQoJHRoaXMtPmltLCR4LCR5KTsNCgkJCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPmltLCR4LCR5LCR4KyR0aGlzLT5QaXhlbGF0ZVsxXS0xLCR5KyR0aGlzLT5QaXhlbGF0ZVsxXS0xLCRwaXhlbCk7CQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJfQ0KDQoJLyoqDQoJICogQmlsaW5lYXIgaW50ZXJwb2xhdGlvbiANCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGJpbGluZWFyKCR4bmV3LCR5bmV3KSB7DQoJCQ0KCQkkeGY9Zmxvb3IoJHhuZXcpOyR4Yz0keGYrMTskZnJhY3g9JHhuZXctJHhmOyRmcmFjeDE9MS0kZnJhY3g7DQoJCSR5Zj1mbG9vcigkeW5ldyk7JHljPSR5ZisxOyRmcmFjeT0keW5ldy0keWY7JGZyYWN5MT0xLSRmcmFjeTsNCgkJJGZmPSR0aGlzLT5yZ2JwaXhlbCgkeGYsJHlmKTskY2Y9JHRoaXMtPnJnYnBpeGVsKCR4YywkeWYpOw0KCQkkZmM9JHRoaXMtPnJnYnBpeGVsKCR4ZiwkeWMpOyRjYz0kdGhpcy0+cmdicGl4ZWwoJHhjLCR5Yyk7DQoJCSRyZWQ9Zmxvb3IoJGZyYWN5MSooJGZyYWN4MSokZmZbJ3JlZCddKyRmcmFjeCokY2ZbJ3JlZCddKSskZnJhY3kqKCRmcmFjeDEqJGZjWydyZWQnXSskZnJhY3gqJGNjWydyZWQnXSkpOw0KCQkkZ3JlZW49Zmxvb3IoJGZyYWN5MSooJGZyYWN4MSokZmZbJ2dyZWVuJ10rJGZyYWN4KiRjZlsnZ3JlZW4nXSkrJGZyYWN5KigkZnJhY3gxKiRmY1snZ3JlZW4nXSskZnJhY3gqJGNjWydncmVlbiddKSk7DQoJCSRibHVlPWZsb29yKCRmcmFjeTEqKCRmcmFjeDEqJGZmWydibHVlJ10rJGZyYWN4KiRjZlsnYmx1ZSddKSskZnJhY3kqKCRmcmFjeDEqJGZjWydibHVlJ10rJGZyYWN4KiRjY1snYmx1ZSddKSk7DQoJCXJldHVybiBhcnJheSgncmVkJyA9PiAkcmVkLCdncmVlbicgPT4gJGdyZWVuLCdibHVlJyA9PiAkYmx1ZSwnYWxwaGEnID0+ICRjY1snYWxwaGEnXSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIEFwcGx5IHR3aXJsIEZYIHRvIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiB0d2lybGZ4KCkgew0KCQkNCgkJJHJvdGF0aW9uYW1vdW50PSR0aGlzLT5Ud2lybGZ4WzFdLzEwMDA7DQoJCSRjZW50ZXJ4PWZsb29yKCR0aGlzLT5zaXplWzBdLzIpOyRjZW50ZXJ5PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpOw0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkdHJ1ZXg9JHgtJGNlbnRlcng7JHRydWV5PSR5LSRjZW50ZXJ5Ow0KCQkJCSR0aGV0YT1hdGFuMigoJHRydWV5KSwoJHRydWV4KSk7DQoJCQkJJHJhZGl1cz1zcXJ0KCR0cnVleCokdHJ1ZXgrJHRydWV5KiR0cnVleSk7DQoJCQkJaWYgKCR0aGlzLT5Ud2lybGZ4WzJdPT0wKSB7DQoJCQkJCSRuZXd4PSRjZW50ZXJ4KygkcmFkaXVzKmNvcygkdGhldGErJHJvdGF0aW9uYW1vdW50KiRyYWRpdXMpKTsNCgkJCQkJJG5ld3k9JGNlbnRlcnkrKCRyYWRpdXMqc2luKCR0aGV0YSskcm90YXRpb25hbW91bnQqJHJhZGl1cykpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCSRuZXd4PSRjZW50ZXJ4LSgkcmFkaXVzKmNvcygkdGhldGErJHJvdGF0aW9uYW1vdW50KiRyYWRpdXMpKTsNCgkJCQkJJG5ld3k9JGNlbnRlcnktKCRyYWRpdXMqc2luKCR0aGV0YSskcm90YXRpb25hbW91bnQqJHJhZGl1cykpOwkJCQkJDQoJCQkJfQ0KCQkJCSRuZXdwaXg9JHRoaXMtPmJpbGluZWFyKCRuZXd4LCRuZXd5KTsNCgkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5uZXdpbWFnZSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+bmV3aW1hZ2UsJG5ld3BpeFsncmVkJ10sJG5ld3BpeFsnZ3JlZW4nXSwkbmV3cGl4WydibHVlJ10sJG5ld3BpeFsnYWxwaGEnXSkpOw0KCQkJfQ0KCQl9DQoJCWltYWdlY29weSgkdGhpcy0+aW0sJHRoaXMtPm5ld2ltYWdlLDAsMCwwLDAsJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPm5ld2ltYWdlKTsNCg0KCX0NCg0KCS8qKg0KCSAqIEFwcGx5IHJpcHBsZSBGWCB0byBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcmlwcGxlZngoKSB7DQoJCQ0KCQkkd2F2ZXg9KCgyKnBpKCkpLyR0aGlzLT5zaXplWzBdKSokdGhpcy0+UmlwcGxlZnhbMV07DQoJCSR3YXZleT0oKDIqcGkoKSkvJHRoaXMtPnNpemVbMV0pKiR0aGlzLT5SaXBwbGVmeFszXTsNCgkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJZm9yICgkeT0wOyR5PCR0aGlzLT5zaXplWzFdOyR5KyspIHsNCgkJCWZvciAoJHg9MDskeDwkdGhpcy0+c2l6ZVswXTskeCsrKSB7DQoJCQkJJG5ld3g9JHgrJHRoaXMtPlJpcHBsZWZ4WzRdKnNpbigkeSokd2F2ZXkpOyANCgkJCQkkbmV3eT0keSskdGhpcy0+UmlwcGxlZnhbMl0qc2luKCR4KiR3YXZleCk7DQoJCQkJJG5ld3BpeD0kdGhpcy0+YmlsaW5lYXIoJG5ld3gsJG5ld3kpOw0KCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPm5ld2ltYWdlLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5uZXdpbWFnZSwkbmV3cGl4WydyZWQnXSwkbmV3cGl4WydncmVlbiddLCRuZXdwaXhbJ2JsdWUnXSwkbmV3cGl4WydhbHBoYSddKSk7DQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KDQoJfQ0KDQoJLyoqDQoJICogQXBwbHkgbGFrZSBGWCB0byBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gbGFrZWZ4KCkgew0KCQkNCgkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJJHlzdGFydD1tYXgoJHRoaXMtPnNpemVbMV0tZmxvb3IoJHRoaXMtPnNpemVbMV0qKCR0aGlzLT5MYWtlZnhbMl0vMTAwKSksMCk7DQoJCWlmICgkeXN0YXJ0PjApIHsNCgkJICAgIGltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLDAsMCwwLDAsJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQl9DQoJCWZvciAoJHk9JHlzdGFydDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnNpemVbMF07JHgrKykgew0KCQkJCSRuZXd5PSR5KzMqcGkoKSooMS8kdGhpcy0+c2l6ZVsxXSkqJHkqc2luKCgkdGhpcy0+c2l6ZVsxXSooJHRoaXMtPkxha2VmeFsxXS8xMDApKigkdGhpcy0+c2l6ZVsxXS0keSkpLyR5KTsgDQoJCQkJJG5ld3BpeD0kdGhpcy0+YmlsaW5lYXIoJHgsJG5ld3kpOw0KCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPm5ld2ltYWdlLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5uZXdpbWFnZSwkbmV3cGl4WydyZWQnXSwkbmV3cGl4WydncmVlbiddLCRuZXdwaXhbJ2JsdWUnXSwkbmV3cGl4WydhbHBoYSddKSk7DQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KDQoJfQ0KDQoJLyoqDQoJICogQXBwbHkgd2F0ZXJkcm9wIEZYIHRvIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiB3YXRlcmRyb3BmeCgpIHsNCgkJDQoJCSRjZW50ZXJ4PWZsb29yKCR0aGlzLT5zaXplWzBdLzIpOyRjZW50ZXJ5PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpOw0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkdHJ1ZXg9JHgtJGNlbnRlcng7JHRydWV5PSR5LSRjZW50ZXJ5Ow0KCQkJCSRkaXN0YW5jZT1zcXJ0KCR0cnVleCokdHJ1ZXgrJHRydWV5KiR0cnVleSk7CQ0KCQkJCSRhbW91bnQ9JHRoaXMtPldhdGVyZHJvcGZ4WzFdKnNpbigkZGlzdGFuY2UvJHRoaXMtPldhdGVyZHJvcGZ4WzNdKjIqcGkoKSk7DQoJCQkJJGFtb3VudD0kYW1vdW50KigkdGhpcy0+V2F0ZXJkcm9wZnhbMl0tJGRpc3RhbmNlKS8kdGhpcy0+V2F0ZXJkcm9wZnhbMl07DQoJCQkJaWYgKCRkaXN0YW5jZSE9MCkgeyRhbW91bnQ9JGFtb3VudCokdGhpcy0+V2F0ZXJkcm9wZnhbM10vJGRpc3RhbmNlO30NCgkJCQkkbmV3eD0keCskdHJ1ZXgqJGFtb3VudDsNCgkJCQkkbmV3eT0keSskdHJ1ZXkqJGFtb3VudDsNCgkJCQkkbmV3cGl4PSR0aGlzLT5iaWxpbmVhcigkbmV3eCwkbmV3eSk7DQoJCQkJaW1hZ2VzZXRwaXhlbCgkdGhpcy0+bmV3aW1hZ2UsJHgsJHksaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRoaXMtPm5ld2ltYWdlLCRuZXdwaXhbJ3JlZCddLCRuZXdwaXhbJ2dyZWVuJ10sJG5ld3BpeFsnYmx1ZSddLCRuZXdwaXhbJ2FscGhhJ10pKTsNCgkJCX0NCgkJfQ0KCQlpbWFnZWNvcHkoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwwLDAsMCwwLCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIENyZWF0ZSBhIHRyYW5zcGFyZW50IGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtYWtldHJhbnNwYXJlbnQoKSB7DQoJCQ0KCQlpbWFnZXRydWVjb2xvcnRvcGFsZXR0ZSgkdGhpcy0+dGh1bWIsZmFsc2UsMjU0KTsNCgkJJHJlZD1oZXhkZWMoc3Vic3RyKCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbMl0sMSwyKSk7JGdyZWVuPWhleGRlYyhzdWJzdHIoJHRoaXMtPk1ha2V0cmFuc3BhcmVudFsyXSwzLDIpKTskYmx1ZT1oZXhkZWMoc3Vic3RyKCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbMl0sNSwyKSk7DQoJCSR0cmFuc3BhcmVudGNvbG9yPWltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsJHJlZCwkZ3JlZW4sJGJsdWUpOw0KCQkkdG9sZXJhbmNlPXNxcnQocG93KCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbM10sMikrcG93KCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbM10sMikrcG93KCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbM10sMikpOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnRodW1ieTskeSsrKSB7DQoJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnRodW1ieDskeCsrKSB7DQoJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+dGh1bWIsJHgsJHkpOw0KCQkJCSRyZWRwaXg9KCRwaXhlbCA+PiAxNiAmIDB4RkYpOyRncmVlbnBpeD0oJHBpeGVsID4+IDggJiAweEZGKTskYmx1ZXBpeD0oJHBpeGVsICYgMHhGRik7DQoJCQkJaWYgKHNxcnQocG93KCRyZWRwaXgtJHJlZCwyKStwb3coJGdyZWVucGl4LSRncmVlbiwyKStwb3coJGJsdWVwaXgtJGJsdWUsMikpPCR0b2xlcmFuY2UpDQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPnRodW1iLCR4LCR5LCR0cmFuc3BhcmVudGNvbG9yKTsJDQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT50aHVtYiwkdHJhbnNwYXJlbnRjb2xvcik7DQoJCWlmICgkdGhpcy0+TWFrZXRyYW5zcGFyZW50WzFdPT0wKSB7JHRoaXMtPnNpemVbMl09Mzt9IGVsc2UgeyR0aGlzLT5zaXplWzJdPTE7fQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBDcmVhdGUgYSBhbmltYXRlZCBQTkcgaW1hZ2UNCgkgKg0KCSAqIEBwYXJhbSBhcnJheSAkZnJhbWVzDQoJICogQHBhcmFtIHN0cmluZyAkb3V0cHV0DQoJICogQHBhcmFtIHN0cmluZyAkZGVsYXkNCgkgKi8JDQoJcHVibGljIGZ1bmN0aW9uIENyZWF0ZV9hcG5nKCRmcmFtZXMsICRvdXRwdXRGaWxlbmFtZSwgJGRlbGF5KSB7DQogICAgICAgIA0KCQkkaW1hZ2VEYXRhID0gYXJyYXkoKTsNCgkJJElIRFIgPSBhcnJheSgpOw0KCQkkc2VxdWVuY2VOdW1iZXIgPSAwOw0KCQlmb3JlYWNoICgkZnJhbWVzIGFzICRmcmFtZSkgew0KCQkJaWYgKGZpbGVfZXhpc3RzKCRmcmFtZSkpIHsNCgkJCQkkZmggPSBmb3BlbigkZnJhbWUsJ3JiJyk7DQoJCQkJJGNodW5rRGF0YSA9IGZyZWFkKCRmaCwgOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCSRoZWFkZXIgPSB1bnBhY2soIkMxaGlnaGJpdC8iLiJBM3NpZ25hdHVyZS8iLiAiQzJsaW5lZW5kaW5ncy8iLiJDMWVvZi8iLiJDMWVvbCIsICRjaHVua0RhdGEpOw0KCQkJCWlmIChpc19hcnJheSgkaGVhZGVyKSAmJiAkaGVhZGVyWydoaWdoYml0J10gPT0gMHg4OSAmJiAkaGVhZGVyWydzaWduYXR1cmUnXSA9PSAiUE5HIikgew0KCQkJCQkkSURBVD0nJzsNCgkJCQkJd2hpbGUgKCFmZW9mKCRmaCkpIHsNCgkJCQkJCSRjaHVua0RhdGEgPSBmcmVhZCgkZmgsIDgpOw0KCQkJCQkJJGNodW5rRGF0YUhlYWRlciA9IHVucGFjayAoIk4xbGVuZ3RoL0E0dHlwZSIsICRjaHVua0RhdGEpOyAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQlzd2l0Y2ggKCRjaHVua0RhdGFIZWFkZXJbJ3R5cGUnXSkgew0KCQkJCQkJCWNhc2UgJ0lIRFInOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCWlmIChjb3VudCgkSUhEUikgPT0gMCkgew0KCQkJCQkJCQkJJGNodW5rRGF0YSA9IGZyZWFkKCRmaCwgJGNodW5rRGF0YUhlYWRlclsnbGVuZ3RoJ10pOyAgICAgDQoJCQkJCQkJCQkkSUhEUiA9IHVucGFjaygiTjF3aWR0aC8iLiJOMWhlaWdodC8iLiAiQzFiaXRzLyIuIkMxY29sb3IvIi4iQzFjb21wcmVzc2lvbi8iLiJDMXByZWZpbHRlci8iLiJDMWludGVybGFjaW5nIiwgJGNodW5rRGF0YSk7DQoJCQkJCQkJCQlmc2VlaygkZmgsIDQsIFNFRUtfQ1VSKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJZnNlZWsoJGZoLCAkY2h1bmtEYXRhSGVhZGVyWydsZW5ndGgnXSArIDQsIFNFRUtfQ1VSKTsgICAgDQoJCQkJCQkJCX0NCgkJCQkJCQkJYnJlYWs7ICAgICAgICAgICAgDQoJCQkJCQkJY2FzZSAnSURBVCc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJJElEQVQgLj0gZnJlYWQoJGZoLCAkY2h1bmtEYXRhSGVhZGVyWydsZW5ndGgnXSk7ICAgICANCgkJCQkJCQkJZnNlZWsoJGZoLCA0LCBTRUVLX0NVUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQlicmVhazsgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJY2FzZSAnSUVORCc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJYnJlYWsgMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQlkZWZhdWx0Og0KCQkJCQkJCQlmc2VlaygkZmgsICRjaHVua0RhdGFIZWFkZXJbJ2xlbmd0aCddICsgNCwgU0VFS19DVVIpOw0KCQkJCQkJCQlicmVhazsNCgkJCQkJCX0gICAgICAgICAgICAgICAgICAgIA0KCQkJCQl9DQoJCQkJCWZjbG9zZSgkZmgpOw0KCQkJCQkkaW1hZ2VEYXRhW10gPSAkSURBVDsNCgkJCQl9IGVsc2Ugew0KCQkJCQlmY2xvc2UoJGZoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCiAgICAJCSRwbmdIZWFkZXIgPSAiXHg4OVx4NTBceDRFXHg0N1x4MERceDBBXHgxQVx4MEEiOw0KCQkkSUhEUl9jaHVuayA9ICR0aGlzLT5jcmVhdGVfY2h1bmsoJ0lIRFInLCBwYWNrKCdOTkNDQ0NDJywgJElIRFJbJ3dpZHRoJ10sICRJSERSWydoZWlnaHQnXSwgJElIRFJbJ2JpdHMnXSwgJElIRFJbJ2NvbG9yJ10sICRJSERSWydjb21wcmVzc2lvbiddLCAkSUhEUlsncHJlZmlsdGVyJ10sICRJSERSWydpbnRlcmxhY2luZyddKSk7DQoJCSRhY1RMX2NodW5rID0gJHRoaXMtPmNyZWF0ZV9jaHVuaygnYWNUTCcsIHBhY2soIk5OIiwgY291bnQoJGltYWdlRGF0YSksIDApKTsNCgkJJGRhdGEgPSAkdGhpcy0+Y3JlYXRlX2ZjVEwoJHNlcXVlbmNlTnVtYmVyLCAkSUhEUlsnd2lkdGgnXSwgJElIRFJbJ2hlaWdodCddLCAkZGVsYXkpOyAgDQoJCSRmY1RMX2NodW5rID0gJHRoaXMtPmNyZWF0ZV9jaHVuaygnZmNUTCcsICRkYXRhKTsNCgkJJHNlcXVlbmNlTnVtYmVyICs9IDE7DQoJCWlmIChjb3VudCgkaW1hZ2VEYXRhKSA9PSAxKSB7JGFjVExfY2h1bmsgPSAkZmNUTF9jaHVuayA9ICcnO30NCgkJJGZoID0gZm9wZW4oJG91dHB1dEZpbGVuYW1lLCAndycpOw0KCQlmb3JlYWNoICgkaW1hZ2VEYXRhIGFzICRrZXkgPT4gJGltYWdlKSB7DQoJCQlpZiAoJGtleSA9PSAwKSB7DQoJCQkJJGZpcnN0RnJhbWUgPSAkdGhpcy0+Y3JlYXRlX2NodW5rKCdJREFUJywgJGltYWdlKTsNCgkJCQlmd3JpdGUoJGZoLCAkcG5nSGVhZGVyIC4gJElIRFJfY2h1bmsgLiAkYWNUTF9jaHVuayAuICRmY1RMX2NodW5rIC4gJGZpcnN0RnJhbWUpOw0KCQkJfSBlbHNlIHsNCgkJCQkkZGF0YSA9ICR0aGlzLT5jcmVhdGVfZmNUTCgkc2VxdWVuY2VOdW1iZXIsICRJSERSWyd3aWR0aCddLCAkSUhEUlsnaGVpZ2h0J10sICRkZWxheSk7ICANCgkJCQkkZmNUTF9jaHVuayA9ICR0aGlzLT5jcmVhdGVfY2h1bmsoJ2ZjVEwnLCAkZGF0YSk7DQoJCQkJJHNlcXVlbmNlTnVtYmVyICs9IDE7DQoJCQkJJGRhdGEgPSBwYWNrKCJOIiwgJHNlcXVlbmNlTnVtYmVyKTsNCgkJCQkkZGF0YSAuPSAkaW1hZ2U7IA0KCQkJCSRmZEFUX2NodW5rID0gJHRoaXMtPmNyZWF0ZV9jaHVuaygnZmRBVCcsICRkYXRhKTsNCgkJCQkkc2VxdWVuY2VOdW1iZXIgKz0gMTsgICAgICAgICAgICANCgkJCQlmd3JpdGUoJGZoLCAkZmNUTF9jaHVuayAuICRmZEFUX2NodW5rKTsNCgkJCX0NCgkJfQ0KCQlmd3JpdGUoJGZoLCAkdGhpcy0+Y3JlYXRlX2NodW5rKCdJRU5EJykpOw0KCQlmY2xvc2UoJGZoKTsNCiAgICANCgl9DQoNCgkvKioNCgkgKiBDcmVhdGUgYSBQTkcgYmluYXJ5IGNodW5rDQoJICoNCgkgKiBAcGFyYW0gYXJyYXkgJHR5cGUNCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRhDQoJICovDQoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfY2h1bmsoJHR5cGUsICRkYXRhID0gJycpIHsNCg0KCQkkY2h1bmsgPSBwYWNrKCJOIiwgc3RybGVuKCRkYXRhKSkgLiAkdHlwZSAuICRkYXRhIC4gcGFjaygiTiIsIGNyYzMyKCR0eXBlIC4gJGRhdGEpKTsgICAgICAgIA0KCQlyZXR1cm4gJGNodW5rOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBDcmVhdGUgYSBQTkcgZmNUTCBiaW5hcnkgY2h1bmsNCgkgKg0KCSAqIEBwYXJhbSBhcnJheSAkZnJhbWVOdW1iZXINCgkgKiBAcGFyYW0gc3RyaW5nICR3aWR0aA0KCSAqIEBwYXJhbSBzdHJpbmcgJGhlaWdodA0KCSAqIEBwYXJhbSBzdHJpbmcgJGRlbGF5DQoJICovDQoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfZmNUTCgkZnJhbWVOdW1iZXIsICR3aWR0aCwgJGhlaWdodCwgJGRlbGF5KSB7DQoNCgkJJGZjVEwgPSBhcnJheSgpOw0KCQkkZmNUTFsnc2VxdWVuY2VfbnVtYmVyJ10gPSAkZnJhbWVOdW1iZXI7DQoJCSRmY1RMWyd3aWR0aCddID0gJHdpZHRoOw0KCQkkZmNUTFsnaGVpZ2h0J10gPSAkaGVpZ2h0Ow0KCQkkZmNUTFsneF9vZmZzZXQnXSA9IDA7DQoJCSRmY1RMWyd5X29mZnNldCddID0gMDsNCgkJJGZjVExbJ2RlbGF5X251bSddID0gJGRlbGF5Ow0KCQkkZmNUTFsnZGVsYXlfZGVuJ10gPSAxMDAwOw0KCQkkZmNUTFsnZGlzcG9zZV9vcCddID0gMDsNCgkJJGZjVExbJ2JsZW5kX29wJ10gPSAwOw0KCQkkZGF0YSA9IHBhY2soIk5OTk5OIiwgJGZjVExbJ3NlcXVlbmNlX251bWJlciddLCAkZmNUTFsnd2lkdGgnXSwgJGZjVExbJ2hlaWdodCddLCAkZmNUTFsneF9vZmZzZXQnXSwgJGZjVExbJ3lfb2Zmc2V0J10pOw0KCQkkZGF0YSAuPSBwYWNrKCJubiIsICRmY1RMWydkZWxheV9udW0nXSwgJGZjVExbJ2RlbGF5X2RlbiddKTsNCgkJJGRhdGEgLj0gcGFjaygiY2MiLCAkZmNUTFsnZGlzcG9zZV9vcCddLCAkZmNUTFsnYmxlbmRfb3AnXSk7DQoJCXJldHVybiAkZGF0YTsgICAgIA0KCQkNCgl9DQoNCgkvKioNCgkgKiBTYXZlIHRodW1ibmFpbCB0byBmaWxlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzYXZldGh1bWIoKSB7DQoJDQoJCWlmICgkdGhpcy0+VGh1bWJzYXZlYXMhPScnKSB7DQoJCQlzd2l0Y2ggKHN0cnRvbG93ZXIoJHRoaXMtPlRodW1ic2F2ZWFzKSkgew0KCQkJCWNhc2UgImdpZiI6DQoJCQkJCSR0aGlzLT5pbWFnZT1zdWJzdHIoJHRoaXMtPmltYWdlLDAsc3RycnBvcygkdGhpcy0+aW1hZ2UsJy4nKSkuIi5naWYiOw0KCQkJCQkkdGhpcy0+c2l6ZVsyXT0xOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICJqcGciOg0KCQkJCQkkdGhpcy0+aW1hZ2U9c3Vic3RyKCR0aGlzLT5pbWFnZSwwLHN0cnJwb3MoJHRoaXMtPmltYWdlLCcuJykpLiIuanBnIjsNCgkJCQkJJHRoaXMtPnNpemVbMl09MjsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAianBlZyI6DQoJCQkJCSR0aGlzLT5pbWFnZT1zdWJzdHIoJHRoaXMtPmltYWdlLDAsc3RycnBvcygkdGhpcy0+aW1hZ2UsJy4nKSkuIi5qcGVnIjsNCgkJCQkJJHRoaXMtPnNpemVbMl09MjsNCgkJCQkJYnJlYWs7CQkJDQoJCQkJY2FzZSAicG5nIjoNCgkJCQkJJHRoaXMtPmltYWdlPXN1YnN0cigkdGhpcy0+aW1hZ2UsMCxzdHJycG9zKCR0aGlzLT5pbWFnZSwnLicpKS4iLnBuZyI7DQoJCQkJCSR0aGlzLT5zaXplWzJdPTM7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJCWlmICgkdGhpcy0+VGh1bWJmaWxlbmFtZSE9JycpIHsNCgkJCSR0aGlzLT5pbWFnZT0kdGhpcy0+VGh1bWJmaWxlbmFtZTsNCgkJfQkJDQoJCXN3aXRjaCgkdGhpcy0+c2l6ZVsyXSkgew0KCQkJY2FzZSAxOg0KCQkJCWltYWdlZ2lmKCR0aGlzLT50aHVtYiwkdGhpcy0+VGh1bWJsb2NhdGlvbi4kdGhpcy0+VGh1bWJwcmVmaXguYmFzZW5hbWUoJHRoaXMtPmltYWdlKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlIDI6DQoJCQkJaW1hZ2VqcGVnKCR0aGlzLT50aHVtYiwkdGhpcy0+VGh1bWJsb2NhdGlvbi4kdGhpcy0+VGh1bWJwcmVmaXguYmFzZW5hbWUoJHRoaXMtPmltYWdlKSwkdGhpcy0+UXVhbGl0eSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlIDM6DQoJCQkJaW1hZ2VwbmcoJHRoaXMtPnRodW1iLCR0aGlzLT5UaHVtYmxvY2F0aW9uLiR0aGlzLT5UaHVtYnByZWZpeC5iYXNlbmFtZSgkdGhpcy0+aW1hZ2UpKTsNCgkJCQlicmVhazsNCgkJfQkJDQoJCWlmICgkdGhpcy0+Q2htb2RsZXZlbCE9JycpIHtjaG1vZCgkdGhpcy0+VGh1bWJsb2NhdGlvbi4kdGhpcy0+VGh1bWJwcmVmaXguYmFzZW5hbWUoJHRoaXMtPmltYWdlKSxvY3RkZWMoJHRoaXMtPkNobW9kbGV2ZWwpKTt9DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJDQoJfQ0KDQoJLyoqDQoJICogRGlzcGxheSB0aHVtYm5haWwgb24gc2NyZWVuDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBkaXNwbGF5dGh1bWIoKSB7DQoJCQ0KCQlzd2l0Y2goJHRoaXMtPnNpemVbMl0pIHsNCgkJCWNhc2UgMToNCgkJCQloZWFkZXIoIkNvbnRlbnQtdHlwZTogaW1hZ2UvZ2lmIik7aW1hZ2VnaWYoJHRoaXMtPnRodW1iKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgMjoNCgkJCQloZWFkZXIoIkNvbnRlbnQtdHlwZTogaW1hZ2UvanBlZyIpO2ltYWdlanBlZygkdGhpcy0+dGh1bWIsJycsJHRoaXMtPlF1YWxpdHkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAzOg0KCQkJCWhlYWRlcigiQ29udGVudC10eXBlOiBpbWFnZS9wbmciKTtpbWFnZXBuZygkdGhpcy0+dGh1bWIpOw0KCQkJCWJyZWFrOw0KCQl9DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJZXhpdDsNCgkJDQoJfQ0KDQp9DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/simple-upload/Doxyfile</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBEb3h5ZmlsZSAxLjUuNgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByb2plY3QgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpET1hZRklMRV9FTkNPRElORyAgICAgID0gVVRGLTgKUFJPSkVDVF9OQU1FICAgICAgICAgICA9IEZpbGVVcGxvYWQKUFJPSkVDVF9OVU1CRVIgICAgICAgICA9IDEuMApPVVRQVVRfRElSRUNUT1JZICAgICAgID0gL2hvbWUvbHVraS9wcmFjYS9wb3dvZGUvRG93bmxvYWRNYW5hZ2VyL2Rvd25sb2FkbWFuYWdlci90cnVuay9saWIvdXBsb2FkL2RveHkvCkNSRUFURV9TVUJESVJTICAgICAgICAgPSBOTwpPVVRQVVRfTEFOR1VBR0UgICAgICAgID0gRW5nbGlzaApCUklFRl9NRU1CRVJfREVTQyAgICAgID0gWUVTClJFUEVBVF9CUklFRiAgICAgICAgICAgPSBZRVMKQUJCUkVWSUFURV9CUklFRiAgICAgICA9ICJUaGUgJG5hbWUgY2xhc3MiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgJG5hbWUgd2lkZ2V0IiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlICRuYW1lIGZpbGUiIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGlzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllcyBcCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWlucyBcCiAgICAgICAgICAgICAgICAgICAgICAgICByZXByZXNlbnRzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGEgXAogICAgICAgICAgICAgICAgICAgICAgICAgYW4gXAogICAgICAgICAgICAgICAgICAgICAgICAgdGhlCkFMV0FZU19ERVRBSUxFRF9TRUMgICAgPSBOTwpJTkxJTkVfSU5IRVJJVEVEX01FTUIgID0gTk8KRlVMTF9QQVRIX05BTUVTICAgICAgICA9IFlFUwpTVFJJUF9GUk9NX1BBVEggICAgICAgID0gIi92YXIvd3d3L2RveHkgZ2VuZXJhdG9yLyIKU1RSSVBfRlJPTV9JTkNfUEFUSCAgICA9IApTSE9SVF9OQU1FUyAgICAgICAgICAgID0gTk8KSkFWQURPQ19BVVRPQlJJRUYgICAgICA9IE5PClFUX0FVVE9CUklFRiAgICAgICAgICAgPSBOTwpNVUxUSUxJTkVfQ1BQX0lTX0JSSUVGID0gTk8KREVUQUlMU19BVF9UT1AgICAgICAgICA9IE5PCklOSEVSSVRfRE9DUyAgICAgICAgICAgPSBZRVMKU0VQQVJBVEVfTUVNQkVSX1BBR0VTICA9IE5PClRBQl9TSVpFICAgICAgICAgICAgICAgPSA4CkFMSUFTRVMgICAgICAgICAgICAgICAgPSAKT1BUSU1JWkVfT1VUUFVUX0ZPUl9DICA9IE5PCk9QVElNSVpFX09VVFBVVF9KQVZBICAgPSBOTwpPUFRJTUlaRV9GT1JfRk9SVFJBTiAgID0gTk8KT1BUSU1JWkVfT1VUUFVUX1ZIREwgICA9IE5PCkJVSUxUSU5fU1RMX1NVUFBPUlQgICAgPSBOTwpDUFBfQ0xJX1NVUFBPUlQgICAgICAgID0gTk8KU0lQX1NVUFBPUlQgICAgICAgICAgICA9IE5PCklETF9QUk9QRVJUWV9TVVBQT1JUICAgPSBZRVMKRElTVFJJQlVURV9HUk9VUF9ET0MgICA9IE5PClNVQkdST1VQSU5HICAgICAgICAgICAgPSBZRVMKVFlQRURFRl9ISURFU19TVFJVQ1QgICA9IE5PCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCdWlsZCByZWxhdGVkIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkVYVFJBQ1RfQUxMICAgICAgICAgICAgPSBOTwpFWFRSQUNUX1BSSVZBVEUgICAgICAgID0gTk8KRVhUUkFDVF9TVEFUSUMgICAgICAgICA9IE5PCkVYVFJBQ1RfTE9DQUxfQ0xBU1NFUyAgPSBZRVMKRVhUUkFDVF9MT0NBTF9NRVRIT0RTICA9IE5PCkVYVFJBQ1RfQU5PTl9OU1BBQ0VTICAgPSBOTwpISURFX1VORE9DX01FTUJFUlMgICAgID0gWUVTCkhJREVfVU5ET0NfQ0xBU1NFUyAgICAgPSBZRVMKSElERV9GUklFTkRfQ09NUE9VTkRTICA9IE5PCkhJREVfSU5fQk9EWV9ET0NTICAgICAgPSBOTwpJTlRFUk5BTF9ET0NTICAgICAgICAgID0gTk8KQ0FTRV9TRU5TRV9OQU1FUyAgICAgICA9IFlFUwpISURFX1NDT1BFX05BTUVTICAgICAgID0gTk8KU0hPV19JTkNMVURFX0ZJTEVTICAgICA9IFlFUwpJTkxJTkVfSU5GTyAgICAgICAgICAgID0gWUVTClNPUlRfTUVNQkVSX0RPQ1MgICAgICAgPSBZRVMKU09SVF9CUklFRl9ET0NTICAgICAgICA9IE5PClNPUlRfR1JPVVBfTkFNRVMgICAgICAgPSBOTwpTT1JUX0JZX1NDT1BFX05BTUUgICAgID0gTk8KR0VORVJBVEVfVE9ET0xJU1QgICAgICA9IFlFUwpHRU5FUkFURV9URVNUTElTVCAgICAgID0gWUVTCkdFTkVSQVRFX0JVR0xJU1QgICAgICAgPSBZRVMKR0VORVJBVEVfREVQUkVDQVRFRExJU1Q9IFlFUwpFTkFCTEVEX1NFQ1RJT05TICAgICAgID0gCk1BWF9JTklUSUFMSVpFUl9MSU5FUyAgPSAzMApTSE9XX1VTRURfRklMRVMgICAgICAgID0gWUVTClNIT1dfRElSRUNUT1JJRVMgICAgICAgPSBOTwpTSE9XX0ZJTEVTICAgICAgICAgICAgID0gWUVTClNIT1dfTkFNRVNQQUNFUyAgICAgICAgPSBZRVMKRklMRV9WRVJTSU9OX0ZJTFRFUiAgICA9IAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gd2FybmluZyBhbmQgcHJvZ3Jlc3MgbWVzc2FnZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpRVUlFVCAgICAgICAgICAgICAgICAgID0gTk8KV0FSTklOR1MgICAgICAgICAgICAgICA9IFlFUwpXQVJOX0lGX1VORE9DVU1FTlRFRCAgID0gWUVTCldBUk5fSUZfRE9DX0VSUk9SICAgICAgPSBZRVMKV0FSTl9OT19QQVJBTURPQyAgICAgICA9IE5PCldBUk5fRk9STUFUICAgICAgICAgICAgPSAiJGZpbGU6JGxpbmU6ICR0ZXh0IgpXQVJOX0xPR0ZJTEUgICAgICAgICAgID0gCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgaW5wdXQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJTlBVVCAgICAgICAgICAgICAgICAgID0gL2hvbWUvbHVraS9wcmFjYS9wb3dvZGUvRG93bmxvYWRNYW5hZ2VyL2Rvd25sb2FkbWFuYWdlci90cnVuay9saWIvdXBsb2FkLwpJTlBVVF9FTkNPRElORyAgICAgICAgID0gVVRGLTgKRklMRV9QQVRURVJOUyAgICAgICAgICA9ICouYyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmNjIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouY3h4IFwKICAgICAgICAgICAgICAgICAgICAgICAgICouY3BwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouYysrIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouZCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmphdmEgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5paSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLml4eCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmlwcCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmkrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmlubCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmggXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5oaCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmh4eCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmhwcCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmgrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmlkbCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLm9kbCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmNzIFwKICAgICAgICAgICAgICAgICAgICAgICAgICoucGhwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICoucGhwMyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmluYyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLm0gXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5tbSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmRveCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLnB5IFwKICAgICAgICAgICAgICAgICAgICAgICAgICouZjkwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouZiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLnZoZCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLnZoZGwgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5DIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouQ0MgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5DKysgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5JSSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkkrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkggXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5ISCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkgrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkNTIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouUEhQIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouUEhQMyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLk0gXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5NTSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLlBZIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouRjkwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouRiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLlZIRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLlZIREwKUkVDVVJTSVZFICAgICAgICAgICAgICA9IE5PCkVYQ0xVREUgICAgICAgICAgICAgICAgPSAKRVhDTFVERV9TWU1MSU5LUyAgICAgICA9IE5PCkVYQ0xVREVfUEFUVEVSTlMgICAgICAgPSAKRVhDTFVERV9TWU1CT0xTICAgICAgICA9IApFWEFNUExFX1BBVEggICAgICAgICAgID0gCkVYQU1QTEVfUEFUVEVSTlMgICAgICAgPSAqCkVYQU1QTEVfUkVDVVJTSVZFICAgICAgPSBOTwpJTUFHRV9QQVRIICAgICAgICAgICAgID0gCklOUFVUX0ZJTFRFUiAgICAgICAgICAgPSAKRklMVEVSX1BBVFRFUk5TICAgICAgICA9IApGSUxURVJfU09VUkNFX0ZJTEVTICAgID0gTk8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHNvdXJjZSBicm93c2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClNPVVJDRV9CUk9XU0VSICAgICAgICAgPSBOTwpJTkxJTkVfU09VUkNFUyAgICAgICAgID0gTk8KU1RSSVBfQ09ERV9DT01NRU5UUyAgICA9IFlFUwpSRUZFUkVOQ0VEX0JZX1JFTEFUSU9OID0gTk8KUkVGRVJFTkNFU19SRUxBVElPTiAgICA9IE5PClJFRkVSRU5DRVNfTElOS19TT1VSQ0UgPSBZRVMKVVNFX0hUQUdTICAgICAgICAgICAgICA9IE5PClZFUkJBVElNX0hFQURFUlMgICAgICAgPSBOTwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIGFscGhhYmV0aWNhbCBjbGFzcyBpbmRleAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFMUEhBQkVUSUNBTF9JTkRFWCAgICAgPSBOTwpDT0xTX0lOX0FMUEhBX0lOREVYICAgID0gNQpJR05PUkVfUFJFRklYICAgICAgICAgID0gCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgSFRNTCBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9IVE1MICAgICAgICAgID0gWUVTCkhUTUxfT1VUUFVUICAgICAgICAgICAgPSBodG1sCkhUTUxfRklMRV9FWFRFTlNJT04gICAgPSAuaHRtbApIVE1MX0hFQURFUiAgICAgICAgICAgID0gCkhUTUxfRk9PVEVSICAgICAgICAgICAgPSAKSFRNTF9TVFlMRVNIRUVUICAgICAgICA9IApIVE1MX0FMSUdOX01FTUJFUlMgICAgID0gWUVTCkdFTkVSQVRFX0hUTUxIRUxQICAgICAgPSBOTwpHRU5FUkFURV9ET0NTRVQgICAgICAgID0gTk8KRE9DU0VUX0ZFRUROQU1FICAgICAgICA9ICJEb3h5Z2VuIGdlbmVyYXRlZCBkb2NzIgpET0NTRVRfQlVORExFX0lEICAgICAgID0gb3JnLmRveHlnZW4uUHJvamVjdApIVE1MX0RZTkFNSUNfU0VDVElPTlMgID0gTk8KQ0hNX0ZJTEUgICAgICAgICAgICAgICA9IApISENfTE9DQVRJT04gICAgICAgICAgID0gCkdFTkVSQVRFX0NISSAgICAgICAgICAgPSBOTwpDSE1fSU5ERVhfRU5DT0RJTkcgICAgID0gCkJJTkFSWV9UT0MgICAgICAgICAgICAgPSBOTwpUT0NfRVhQQU5EICAgICAgICAgICAgID0gTk8KRElTQUJMRV9JTkRFWCAgICAgICAgICA9IE5PCkVOVU1fVkFMVUVTX1BFUl9MSU5FICAgPSA0CkdFTkVSQVRFX1RSRUVWSUVXICAgICAgPSBOT05FClRSRUVWSUVXX1dJRFRIICAgICAgICAgPSAyNTAKRk9STVVMQV9GT05UU0laRSAgICAgICA9IDEwCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgTGFUZVggb3V0cHV0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KR0VORVJBVEVfTEFURVggICAgICAgICA9IFlFUwpMQVRFWF9PVVRQVVQgICAgICAgICAgID0gbGF0ZXgKTEFURVhfQ01EX05BTUUgICAgICAgICA9IGxhdGV4Ck1BS0VJTkRFWF9DTURfTkFNRSAgICAgPSBtYWtlaW5kZXgKQ09NUEFDVF9MQVRFWCAgICAgICAgICA9IE5PClBBUEVSX1RZUEUgICAgICAgICAgICAgPSBhNHdpZGUKRVhUUkFfUEFDS0FHRVMgICAgICAgICA9IApMQVRFWF9IRUFERVIgICAgICAgICAgID0gClBERl9IWVBFUkxJTktTICAgICAgICAgPSBZRVMKVVNFX1BERkxBVEVYICAgICAgICAgICA9IFlFUwpMQVRFWF9CQVRDSE1PREUgICAgICAgID0gTk8KTEFURVhfSElERV9JTkRJQ0VTICAgICA9IE5PCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgUlRGIG91dHB1dAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkdFTkVSQVRFX1JURiAgICAgICAgICAgPSBOTwpSVEZfT1VUUFVUICAgICAgICAgICAgID0gcnRmCkNPTVBBQ1RfUlRGICAgICAgICAgICAgPSBOTwpSVEZfSFlQRVJMSU5LUyAgICAgICAgID0gTk8KUlRGX1NUWUxFU0hFRVRfRklMRSAgICA9IApSVEZfRVhURU5TSU9OU19GSUxFICAgID0gCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgbWFuIHBhZ2Ugb3V0cHV0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KR0VORVJBVEVfTUFOICAgICAgICAgICA9IE5PCk1BTl9PVVRQVVQgICAgICAgICAgICAgPSBtYW4KTUFOX0VYVEVOU0lPTiAgICAgICAgICA9IC4zCk1BTl9MSU5LUyAgICAgICAgICAgICAgPSBOTwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIFhNTCBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9YTUwgICAgICAgICAgID0gTk8KWE1MX09VVFBVVCAgICAgICAgICAgICA9IHhtbApYTUxfU0NIRU1BICAgICAgICAgICAgID0gClhNTF9EVEQgICAgICAgICAgICAgICAgPSAKWE1MX1BST0dSQU1MSVNUSU5HICAgICA9IFlFUwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXV0b0dlbiBEZWZpbml0aW9ucyBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9BVVRPR0VOX0RFRiAgID0gTk8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBQZXJsIG1vZHVsZSBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9QRVJMTU9EICAgICAgID0gTk8KUEVSTE1PRF9MQVRFWCAgICAgICAgICA9IE5PClBFUkxNT0RfUFJFVFRZICAgICAgICAgPSBZRVMKUEVSTE1PRF9NQUtFVkFSX1BSRUZJWCA9IAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIHByZXByb2Nlc3NvciAgIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkVOQUJMRV9QUkVQUk9DRVNTSU5HICAgPSBZRVMKTUFDUk9fRVhQQU5TSU9OICAgICAgICA9IE5PCkVYUEFORF9PTkxZX1BSRURFRiAgICAgPSBOTwpTRUFSQ0hfSU5DTFVERVMgICAgICAgID0gWUVTCklOQ0xVREVfUEFUSCAgICAgICAgICAgPSAKSU5DTFVERV9GSUxFX1BBVFRFUk5TICA9IApQUkVERUZJTkVEICAgICAgICAgICAgID0gCkVYUEFORF9BU19ERUZJTkVEICAgICAgPSAKU0tJUF9GVU5DVElPTl9NQUNST1MgICA9IFlFUwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29uZmlndXJhdGlvbjo6YWRkaXRpb25zIHJlbGF0ZWQgdG8gZXh0ZXJuYWwgcmVmZXJlbmNlcyAgIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRBR0ZJTEVTICAgICAgICAgICAgICAgPSAKR0VORVJBVEVfVEFHRklMRSAgICAgICA9IApBTExFWFRFUk5BTFMgICAgICAgICAgID0gTk8KRVhURVJOQUxfR1JPVVBTICAgICAgICA9IFlFUwpQRVJMX1BBVEggICAgICAgICAgICAgID0gL3Vzci9iaW4vcGVybAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIGRvdCB0b29sICAgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQ0xBU1NfRElBR1JBTVMgICAgICAgICA9IE5PCk1TQ0dFTl9QQVRIICAgICAgICAgICAgPSAKSElERV9VTkRPQ19SRUxBVElPTlMgICA9IFlFUwpIQVZFX0RPVCAgICAgICAgICAgICAgID0gWUVTCkRPVF9GT05UTkFNRSAgICAgICAgICAgPSBGcmVlU2FucwpET1RfRk9OVFBBVEggICAgICAgICAgID0gCkNMQVNTX0dSQVBIICAgICAgICAgICAgPSBZRVMKQ09MTEFCT1JBVElPTl9HUkFQSCAgICA9IFlFUwpHUk9VUF9HUkFQSFMgICAgICAgICAgID0gWUVTClVNTF9MT09LICAgICAgICAgICAgICAgPSBOTwpURU1QTEFURV9SRUxBVElPTlMgICAgID0gTk8KSU5DTFVERV9HUkFQSCAgICAgICAgICA9IFlFUwpJTkNMVURFRF9CWV9HUkFQSCAgICAgID0gWUVTCkNBTExfR1JBUEggICAgICAgICAgICAgPSBOTwpDQUxMRVJfR1JBUEggICAgICAgICAgID0gTk8KR1JBUEhJQ0FMX0hJRVJBUkNIWSAgICA9IFlFUwpESVJFQ1RPUllfR1JBUEggICAgICAgID0gWUVTCkRPVF9JTUFHRV9GT1JNQVQgICAgICAgPSBwbmcKRE9UX1BBVEggICAgICAgICAgICAgICA9IApET1RGSUxFX0RJUlMgICAgICAgICAgID0gCkRPVF9HUkFQSF9NQVhfTk9ERVMgICAgPSA1MApNQVhfRE9UX0dSQVBIX0RFUFRIICAgID0gMTAwMApET1RfVFJBTlNQQVJFTlQgICAgICAgID0gWUVTCkRPVF9NVUxUSV9UQVJHRVRTICAgICAgPSBOTwpHRU5FUkFURV9MRUdFTkQgICAgICAgID0gWUVTCkRPVF9DTEVBTlVQICAgICAgICAgICAgPSBZRVMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENvbmZpZ3VyYXRpb246OmFkZGl0aW9ucyByZWxhdGVkIHRvIHRoZSBzZWFyY2ggZW5naW5lICAgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KU0VBUkNIRU5HSU5FICAgICAgICAgICA9IE5PCg==]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/example.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT4gU2ltcGxlVXBsb2FkIENsYXNzIEV4YW1wbGUgPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KDQo8aGVhZD4NCjxib2R5Pg0KPGgxPiBTaW1wbGVVcGxvYWQgQ2xhc3MgRXhhbXBsZTwvaDE+DQo8aDM+YnkgU3p5bW9uIMWBdWthc3pjenlrPC9oMz4NCg0KPGZvcm0gZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgYWN0aW9uPSJleGFtcGxlLnBocCIgbWV0aG9kPSJQT1NUIj4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJNQVhfRklMRV9TSVpFIiB2YWx1ZT0iMzAwMDAiIC8+DQogICAgU2VuZCB0aGlzIGZpbGU6IDxpbnB1dCBuYW1lPSJmaWxlIiB0eXBlPSJmaWxlIiAvPg0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIEZpbGUiIC8+DQo8L2Zvcm0+DQo8cHJlPg0KPD9waHANCg0KaW5jbHVkZV9vbmNlKCJTaW1wbGVVcGxvYWQucGhwIik7DQppZiggaXNzZXQgKCRfRklMRVNbImZpbGUiXSkpOg0KDQokdXBsb2FkID0gbmV3IFNpbXBsZVVwbG9hZDsNCi8vfiAkdXBsb2FkLT5zZXRQYXRoKCIuL3VwbG9hZCIpOyAvLyBzZXRzIHVwbG9hZCBwYXRoIHRvIC4vdXBsb2FkDQovL34gJHVwbG9hZC0+c2V0RGVidWcodHJ1ZSk7DQokdXBsb2FkLT5zZXRDb250ZW50cygkX0ZJTEVTWyJmaWxlIl0pOw0KLy9+ICR1cGxvYWQtPnNldFJhbmRvbUFkZFNpemUoZmFsc2UpOyAgLy8gbm8gcmFuZG9tIGVuZGluZw0KLy9+ICR1cGxvYWQtPnNldFJhbmRvbUFkZFNpemUoMTApOyAvLyAxMCBjaGFyIHJhbmRvbSBlbmRpbmcNCi8vfiAkdXBsb2FkLT5zZXRNYXhOYW1lU2l6ZSgxMCk7IC8vZmlsZSB3aXRob3V0IGV4dGVuc2lvbiBoYXMgMTAgY2hhcnMNCi8vfiAkdXBsb2FkLT5zZXROYW1lRm9ybWF0aW5nKGZhbHNlKTsgLy8gbm8gY3JvcHBpbmcsIG5vIGNoYXIgY29udmVyc2lvbihZb3UgY2FuIGhhdmUgIUAvIGluIGZpbGUgbmFtZSkNCi8vfiAkdXBsb2FkLT5zZXRSYW5kb21FbmRpbmcoZmFsc2UpOyAgLy8gbm8gcmFuZG9tIGVuZGluZw0KLy9+ICR1cGxvYWQtPnNldE1kNU1ha2luZyhmYWxzZSkgLy8gbm8gbWQ1IHN1bQ0KDQppZiAoISR1cGxvYWQtPnVwbG9hZEZpbGUoZmFsc2UpKQ0KCQllY2hvICJFcnJvciBvY2N1cmVkIjsNCmVsc2UNCnsNCgkJZWNobyAgIlN1Y2Nlc3M8YnIvPiI7DQoJCXByaW50X3IoJHVwbG9hZC0+Z2V0Q29udGVudHMoKSk7DQp9DQoNCmVuZGlmOw0KPz4NCg0KDQo8L3ByZT4NCjwvYm9keT4NCjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/gpl.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpDQpWZXJzaW9uIDIsIEp1bmUgMTk5MQ0KDQpDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KDQpFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMNCm9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLg0KDQpQcmVhbWJsZQ0KDQpUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZSBzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiBUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8gdXNpbmcgaXQuIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSBZb3UgY2FuIGFwcGx5IGl0IHRvIHlvdXIgcHJvZ3JhbXMsIHRvby4NCg0KV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdCBwcmljZS4gT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvciB0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLg0KDQpUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkIGFueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4gVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0Lg0KDQpGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyIGdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdCB5b3UgaGF2ZS4gWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlIHNvdXJjZSBjb2RlLiBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuDQoNCldlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4NCg0KQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4gdGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUgc29mdHdhcmUuIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2Ugd2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28gdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwgYXV0aG9ycycgcmVwdXRhdGlvbnMuDQoNCkZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZSBwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlIHByb2dyYW0gcHJvcHJpZXRhcnkuIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55IHBhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZvciBldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuDQoNClRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBmb2xsb3cuDQoNClRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTg0KDQowLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoZSAiUHJvZ3JhbSIsIGJlbG93LCByZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIgbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwgZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIgbGFuZ3VhZ2UuIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluIHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuDQoNCkFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gVGhlIGFjdCBvZiBydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtIGlzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuIFdoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLg0KDQoxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7IGFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4NCg0KWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYSBmZWUuDQoNCjIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24gb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZCBkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEgYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoNCg0KICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLg0KDQogICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueSBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuDQoNCiAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5IHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2ggaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbiBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dCBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQ0KDQpUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gSWYgaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwgYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluIHRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2Ugc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiBCdXQgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZSBlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuDQoNClRodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdCB5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8gZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yIGNvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIFByb2dyYW0uDQoNCkluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0gd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mIGEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyIHRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuDQoNCjMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LCB1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOg0KDQogICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsDQoNCiAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91ciBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLA0KDQogICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAoVGhpcyBhbHRlcm5hdGl2ZSBpcyBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdSByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQ0KDQpUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UgY29kZSBtZWFucyBhbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkgYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkgZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQgaXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLg0KDQpJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzIGRpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdCBjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLg0KDQo0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuIEFueSBhdHRlbXB0IG90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuIEhvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoIHBhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4NCg0KNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90IHNpZ25lZCBpdC4gSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gVGhlc2UgYWN0aW9ucyBhcmUgcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiBUaGVyZWZvcmUsIGJ5IG1vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZCBhbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nIHRoZSBQcm9ncmFtIG9yIHdvcmtzIGJhc2VkIG9uIGl0Lg0KDQo2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8gdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvIHRoaXMgTGljZW5zZS4NCg0KNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudCBpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLCBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yIG90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QgZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gSWYgeW91IGNhbm5vdCBkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UgbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50IGxpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYnkgYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuIHRoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8gcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbS4NCg0KSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcy4NCg0KSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueSBwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueSBzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlIGludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcyBpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuIE1hbnkgcGVvcGxlIGhhdmUgbWFkZSBnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHRocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0IHN5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcgdG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90IGltcG9zZSB0aGF0IGNob2ljZS4NCg0KVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvIGJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLg0KDQo4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbiBjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUgb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZyBjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcyB0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4NCg0KOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLg0KDQpFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gSWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KDQoxMC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50byBvdGhlciBmcmVlIHByb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvciBwZXJtaXNzaW9uLiBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzIG1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4NCg0KTk8gV0FSUkFOVFkNCg0KMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZIEZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gU0hPVUxEIFRIRSBQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uDQoNCjEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcgV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUiBSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLCBJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkgWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4NCg0KRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05T]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/SimpleUpload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgDQovKg0KICAgIGNsYXNzIFNpbXBsZVVwbG9hZCAtIGFsbG93IGVhc3kgdXBsb2FkIHdpdGggcGhwIGFuZCB3ZWIgZm9ybXMNCiAgICBDb3B5cmlnaHQgKEMpIDIwMDggU3p5bW9uIMWBdWthc3pjenlrDQoNCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KDQogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KDQogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiovDQovKioNCiogXGRldGFpbHMgIGFsbG93IGVhc3kgdXBsb2FkIHdpdGggcGhwIGFuZCB3ZWIgZm9ybXMNCiogXGF1dGhvciAgU3p5bW9uIMWBdWthc3pjenlrIDxzenltb24ubHVrYXN6Y3p5a0BnbWFpbC5jb20+DQoqIFxzaW5jZSAgQXByaWwvMjAwNw0KKi8NCmNsYXNzICBTaW1wbGVVcGxvYWQgDQp7DQoJcHJpdmF0ZSAgJGRpciA9ICIuIjsgLy8vPCBwbGFjZSB3aGVyZSBvdXIgZG93bmxvYWQgd2lsbCBiZSANCglwcml2YXRlICRmaWxlX2MgPSAwOyAvLy88IGFsbCBmaWxlIGNvbnRlbnRzDQoJcHJpdmF0ZSAgJG1heF9uYW1lX3NpemUgPSAyMDsgLy8vPCBtYXggbmFtZSBzaXplIHdpdGhvdXQgZXh0ZW5zaW9uDQoJcHJpdmF0ZSAkcmFuZG9tX3NpemU9IDU7IC8vLzwgc2l6ZSBvZiB0aGUgcmFuZG9tIHBhcnQsIGlmIGZhbHNlIC0+IG5vIHJhbmRvbSBwYXJ0DQoJcHJpdmF0ZSAkcmFuZG9tX2VuZCA9Jyc7IC8vLzwgbGFzdCBnZW5lcmF0ZWQgcmFuZG9tIGVuZGluZw0KCXByaXZhdGUgJG5hbWVfZm9ybWF0aW5nID0gIHRydWU7IC8vLzwgaWYgdHJ1ZSwgZmlsZSBpcyBjcm9wcGVkIHRvICRtYXhfbmFtZV9zaXplIGFuZCBhbGwgbm9uIFthLXpBLVowLTkuXSBhcmUgcmVtb3ZlZA0KCXByaXZhdGUgJG1ha2VfbWQ1ID0gIHRydWU7IC8vLzwgaWYgdG8gbWFrZSBtZDUgc3VtIGF0IHRoZSBlbmQNCglwcml2YXRlICRkZWJ1ZyA9IGZhbHNlOw0KCQ0KLyoqDQoqIFxicmllZiAgIHNldHMgcmFuZG9taXplIHNlZWQNCiovDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAgKQ0KCXsNCgkJJHRoaXMtPmZpbGVfYyA9IGFycmF5KCk7DQoJCW10X3NyYW5kKChkb3VibGUpIG1pY3JvdGltZSgpICogMTAwMDAwMCk7DQoJCSR0aGlzLT5fZGVidWcoJHRoaXMtPmZpbGVfYyk7DQoJfQ0KDQovKiANCglwcml2YXRlIHByb3BlcnRpZXMgDQoqLw0KLyoqDQoqIFxicmllZiBnZXRzIHBhdGggdG8gdGhlIHVwbG9hZGVkIGZpbGUNCiovDQoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRGaWxlUGF0aCgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPmZpbGVfY1sicGF0aCJdOw0KCX0NCi8qKg0KKiBcYnJpZWYgICBzZXRzIHRoZSB1cGxvYWQgcGF0aA0KKi8NCglwcml2YXRlIGZ1bmN0aW9uIHNldEZpbGVQYXRoKCkNCgl7DQoJCSR0aGlzLT5maWxlX2NbInBhdGgiXSAgPSAgc3RyX3JlcGxhY2UoICIvLyIsICIvIiwgJHRoaXMtPmRpci4iLyIuJHRoaXMtPmZpbGVfY1siZnVsbF9uYW1lIl0gKSA7DQoJfQ0KLyogDQoJcHJpdmF0ZSBmdW5jdGlvbnMgDQoqLw0KLyoqDQoqIFxicmllZiAgZGVidWcgZnVuY3Rpb24NCiovCQ0KCXByaXZhdGUgZnVuY3Rpb24gX2RlYnVnKCAkdmFyLCAkdHh0ID0gJycgKQ0KCXsNCgkJaWYoICR0aGlzLT5kZWJ1ZyApDQoJCQl2YXJfZHVtcCgkdmFyKTsNCgl9DQoNCi8qKg0KKiBcYnJpZWYgICBzZXBhcmF0ZXMgdGhlIGZpbGUgbmFtYSBmcm9tIGV4dGVuc2lvbg0KKiBccGFyYW0gbmFtZSBnb3QgZnJvbSAkX0ZJTEVTWyduYW1lXQ0KKi8NCglwcml2YXRlIGZ1bmN0aW9uIHNldE5hbWVzKCAgJG5hbWUgKQ0KCXsNCgkJJGV4dCA9ICcnOyAkZmlsZSA9ICcnOw0KCQkkYXJyTmFtZSA9IGV4cGxvZGUoIi4iLCRuYW1lKTsNCgkJJGFyclNpemUgPSBjb3VudCgkYXJyTmFtZSk7DQoJCQ0KCQlpZiggJGFyck5hbWVbMF0gPT0gJycgKSAvLyBuYW1lIGJlZ2lucyB3aXRoIGRvdA0KCQl7DQoJCQlhcnJheV9zaGlmdCgkYXJyTmFtZSk7DQoJCQkkYXJyTmFtZVswXSA9ICIuIi4kYXJyTmFtZVswXTsNCgkJCSRhcnJTaXplID0gY291bnQoJGFyck5hbWUpOw0KCQl9CQ0KCQlpZiggJGFyclNpemUgPiAyICYmIGluX2FycmF5KCAkYXJyTmFtZVskYXJyU2l6ZS0yXS4iLiIuJGFyck5hbWVbJGFyclNpemUtMV0sICBhcnJheSgndGFyLmd6JywgJ3Rhci5ieicsICd0YXIuYnoyJykgKSkgIC8vIGRvdWJsZSBleHRlbnNpb25zDQoJCXsNCgkJCSRleHQgPSAkYXJyTmFtZVskYXJyU2l6ZS0yXS4iLiIuJGFyck5hbWVbJGFyclNpemUtMV07DQoJCQl1bnNldCggJGFyck5hbWVbJGFyclNpemUtMl0gLCAkYXJyTmFtZVskYXJyU2l6ZS0xXSApOw0KCQkJJGZpbGUgPSBpbXBsb2RlKCIuIiwgJGFyck5hbWUpOw0KCQl9DQoJCWVsc2UgaWYoICRhcnJTaXplID4gMSApIC8vIHRoZXJlIGlzIGRvdCBpbiBuYW1lDQoJCXsNCgkJCSRleHQgPSAkYXJyTmFtZVskYXJyU2l6ZS0xXTsNCgkJCXVuc2V0KCAkYXJyTmFtZVskYXJyU2l6ZS0xXSApOw0KCQkJJGZpbGUgPSBpbXBsb2RlKCIuIiwgJGFyck5hbWUpOw0KCQl9DQoJCWVsc2UgLy8gbm8gZG90IGluIG5hbWUNCgkJew0KCQkJJGZpbGUgPSAkbmFtZTsNCgkJfQ0KCQkNCgkJaWYoJHRoaXMtPm5hbWVfZm9ybWF0aW5nKQ0KCQl7DQoJCQkkZXh0ICA9ICR0aGlzLT5mb3JtYXRTdHIoJGV4dCk7DQoJCQkkZmlsZSAgPSAkdGhpcy0+Zm9ybWF0U3RyKCRmaWxlKTsNCgkJfQ0KCQkkdGhpcy0+ZmlsZV9jWyJuYW1lIl0gPSAkZmlsZTsNCgkJJHRoaXMtPmZpbGVfY1siZXh0Il0gPSAkZXh0Ow0KCQkNCgkJJHRoaXMtPnNldEZpbGVQYXRoKCk7DQoJfQ0KLyoqDQoqIFxicmllZiAgIGdlbmVyYXRlcyB0aGUgcmFuZG9tIHBhcnQgYW5kIHNldHMgdGhlICR0aGlzLT5maWxlX2NbImZ1bGxfbmFtZSJdIHJpZ2h0DQoqIFxyZXR1cm4gIGZhbHNlIGlmICR0aGlzLT5yYW5kb21fc2l6ZSA9PT0gZmFsc2UgDQoqLw0KCXByaXZhdGUgZnVuY3Rpb24gbWFrZVJhbmRvbSgpIA0KCXsNCgkJaWYoICR0aGlzLT5yYW5kb21fc2l6ZT09PSBmYWxzZSApDQoJCQlyZXR1cm4gZmFsc2U7DQoJCQ0KCQkkdGhpcy0+cmFuZG9tX2VuZCA9ICIiOw0KCQkkYXJyID0gIjEyMzQ1Njc4OTBxd2VydHl1aW9wYXNkZmdoamtsenhjdmJubVFXRVJUWVVJT1BBU0RGR0hKS0xaWENWQk5NIjsNCgkJZm9yICgkaSA9IDA7ICRpIDwgJHRoaXMtPnJhbmRvbV9zaXplOyAkaSsrKSANCgkJCSR0aGlzLT5yYW5kb21fZW5kIC49ICRhcnJbbXRfcmFuZCgpJnN0cmxlbigkYXJyKV07DQoJCQkNCgkJJHRoaXMtPmZpbGVfY1siZnVsbF9uYW1lIl0gID0gJHRoaXMtPmZpbGVfY1sibmFtZSJdLiJfIi4kdGhpcy0+cmFuZG9tX2VuZC4iLiIuJHRoaXMtPmZpbGVfY1siZXh0Il07DQoJCSR0aGlzLT5zZXRGaWxlUGF0aCgpOw0KCX0NCg0KDQovKioNCiogXGJyaWVmICAgcmVtb3ZlcyBhbGwgbm9uIFthLXpBLVowLTkuXSAgY2hhcnMNCiogXHBhcmFtIHZhciBzdHIgdG8gZm9ybWF0DQoqIFxyZXR1cm4gIGZvcm1hdGVkIHN0cmluZw0KKi8NCglwcml2YXRlIGZ1bmN0aW9uIGZvcm1hdFN0cigkdmFyKQ0KCXsNCgkJJHZhciA9IHN0cnRyKCR2YXIsIsSExIXFmsWbxJjEmcOTw7PFgcWCxbvFvMW5xbrEhsSHxYPFhCIsIkFhU3NFZU9vTGxaelp6Q2NObiIpOyAvLy88DQoJCSR2YXIgPSBwcmVnX3JlcGxhY2UoIi8oW15hLXpBLVowLTlcLl0pLyIsICJfIiwgJHZhciApIDsgLy8vPA0KCQkkdmFyID0gbWJfc3RydG9sb3dlcigkdmFyKTsgLy8vPA0KCQlyZXR1cm4gJHZhcjsNCgl9DQovKioNCiogXGJyaWVmICAgY3JvcHMgdGhlIG5hbWUgdG8gJHRoaXMtPm1heF9uYW1lX3NpemUNCiogXHJldHVybiAgZmFsc2UgaWYgJHRoaXMtPm5hbWVfZm9ybWF0aW5nIGlzIGZhbHNlDQoqLw0KCXByaXZhdGUgZnVuY3Rpb24gZm9ybWF0TmFtZSgpDQoJew0KCQlpZiggISR0aGlzLT5uYW1lX2Zvcm1hdGluZyApDQoJCQlyZXR1cm4gZmFsc2U7DQoJCSRzaXplID0gc3RybGVuKCR0aGlzLT5maWxlX2NbIm5hbWUiXSk7CQkNCgkJaWYgKCAkc2l6ZSsoJHRoaXMtPnJhbmRvbV9zaXplID8gKGludCkkdGhpcy0+cmFuZG9tX3NpemUtMSA6IDApID4gJHRoaXMtPm1heF9uYW1lX3NpemUgKQ0KCQkJJHRoaXMtPmZpbGVfY1sibmFtZSJdID0gc3Vic3RyKCR0aGlzLT5maWxlX2NbIm5hbWUiXSwNCgkJCQkwLA0KCQkJCSR0aGlzLT5tYXhfbmFtZV9zaXplLSgkdGhpcy0+cmFuZG9tX3NpemUgPyAoaW50KSR0aGlzLT5yYW5kb21fc2l6ZS0xIDogMCkgKTsgDQoNCgkJJHRoaXMtPm1ha2VSYW5kb20oKTsNCgl9DQoJDQoNCg0KLyogDQoJcHVibGljIHByb3BlcnRpZXMgDQoqLw0KLyoqDQoqIFxicmllZiAgIHNldHMgZGVidWdnaW5nDQoqLw0KCWZ1bmN0aW9uIHNldERlYnVnKCAkYiApDQoJew0KCQkkdGhpcy0+ZGVidWcgPSAoYm9vbCkgJGI7DQoJfQ0KCQ0KLyoqDQoqIFxicmllZiBzZXQgYWxsIGNvbnRlbnRzIGFib3V0IHRoZSBmaWxlDQoqIFxkZXRhaWxzICBleGFtcGxlOiAkdXBsb2FkLT5zZXRDb250ZW50cyggJF9GSUxFU1siZmlsZSJdICk7DQoqIFxwYXJhbSBmaWxlICRfRklMRVNbImZpbGUiXQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdUaGUgZmlsZSB3YXMgbm90IHVwbG9hZGVkIHRvIC90bXAgZGlyZWN0b3J5JykNCiogXGV4Y2VwdGlvbiBFeGNlcHRpb24gbmV3IEV4Y2VwdGlvbignVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSAnLmluaV9nZXQoInVwbG9hZF9tYXhfZmlsZXNpemUiKS4nIGRpcmVjdGl2ZSBpbiBwaHAuaW5pLicpDQoqIFxleGNlcHRpb24gRXhjZXB0aW9uIG5ldyBFeGNlcHRpb24oJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtLicpDQoqIFxleGNlcHRpb24gRXhjZXB0aW9uIG5ldyBFeGNlcHRpb24oJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZC4nKQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdObyBmaWxlIHdhcyB1cGxvYWRlZC4nKQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlci4nKQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrLicpDQoqIFxleGNlcHRpb24gRXhjZXB0aW9uIG5ldyBFeGNlcHRpb24oJ0ZpbGUgdXBsb2FkIHN0b3BwZWQgYnkgZXh0ZW5zaW9uLicpDQoqIFxyZXR1cm4gIGZhbHNlIGlmICRmaWxlIGlzIG5vdCB2YWxpZA0KKi8NCgkgcHVibGljIGZ1bmN0aW9uIHNldENvbnRlbnRzKCAkZmlsZSApDQoJew0KCQlpZiggICEoQGlzX3VwbG9hZGVkX2ZpbGUoJGZpbGVbInRtcF9uYW1lIl0pICkpDQoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgZmlsZSB3YXMgbm90IHVwbG9hZGVkIHRvIC90bXAgZGlyZWN0b3J5Jyk7DQoJCWlmKCAhaXNzZXQoJGZpbGVbIm5hbWUiXSkgfHwgIWlzc2V0KCRmaWxlWyJ0bXBfbmFtZSJdKSAgIHx8ICFpc3NldCgkZmlsZVsidHlwZSJdICkgfHwgIWlzc2V0KCRmaWxlWyJzaXplIl0pIHx8ICFpc3NldCgkZmlsZVsiZXJyb3IiXSkgICkNCgkJCXJldHVybiBmYWxzZTsNCgkJJGZpbGVbInNpemUiXSA9IChpbnQpICRmaWxlWyJzaXplIl07DQoJCWlmKCAkZmlsZVsiZXJyb3IiXSAhPSBVUExPQURfRVJSX09LICkNCgkJCXN3aXRjaCggJGZpbGVbImVycm9yIl0gKSANCgkJCXsNCgkJCQljYXNlIFVQTE9BRF9FUlJfSU5JX1NJWkU6IHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgJy5pbmlfZ2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIikuJyBkaXJlY3RpdmUgaW4gcGhwLmluaS4nKTsgYnJlYWs7DQoJCQkJY2FzZSBVUExPQURfRVJSX0ZPUk1fU0laRTogdGhyb3cgbmV3IEV4Y2VwdGlvbignVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0uJyk7IGJyZWFrOw0KCQkJCWNhc2UgVVBMT0FEX0VSUl9QQVJUSUFMOiB0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQuJyk7IGJyZWFrOw0KCQkJCWNhc2UgVVBMT0FEX0VSUl9OT19GSUxFOiB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBmaWxlIHdhcyB1cGxvYWRlZC4nKTsgYnJlYWs7DQoJCQkJY2FzZSBVUExPQURfRVJSX05PX1RNUF9ESVI6IHRocm93IG5ldyBFeGNlcHRpb24oJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyLicpOyBicmVhazsNCgkJCQljYXNlIFVQTE9BRF9FUlJfQ0FOVF9XUklURTogdGhyb3cgbmV3IEV4Y2VwdGlvbignRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzay4nKTsgYnJlYWs7DQoJCQkJY2FzZSBVUExPQURfRVJSX0VYVEVOU0lPTjogdGhyb3cgbmV3IEV4Y2VwdGlvbignRmlsZSB1cGxvYWQgc3RvcHBlZCBieSBleHRlbnNpb24uJyk7IGJyZWFrOw0KCQkJfQ0KCQkkdGhpcy0+X2RlYnVnKCR0aGlzLT5maWxlX2MpOw0KCQl1bnNldCggJGZpbGVbImVycm9yIl0pOw0KCQkvL34gaWYoIWlzX2FycmF5KCAkdGhpcy0+ZmlsZV9jICkgKQ0KCQkJLy9+ICR0aGlzLT5maWxlX2MgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCAkZmlsZSBhcyAka2V5ID0+ICR2YXIpIA0KCQkJJHRoaXMtPmZpbGVfY1ska2V5XSA9ICR2YXI7DQoJCSR0aGlzLT5fZGVidWcoJHRoaXMtPmZpbGVfYyk7DQoJCSR0aGlzLT5zZXROYW1lcygkZmlsZVsibmFtZSJdKTsNCgkJJHRoaXMtPl9kZWJ1ZygkdGhpcy0+ZmlsZV9jKTsNCgl9DQoJDQovKioNCiogXGJyaWVmICAgZ2V0IGRhdGEgYWJvdXQgdXBsb2FkZWQgZmlsZQ0KKiBccmV0dXJuICANCiovDQoJIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50cygpDQoJew0KCQkkcmV0ID0gJHRoaXMtPmZpbGVfYzsNCgkJJHJldFsncGF0aCddID1yZWFscGF0aCgkcmV0WydwYXRoJ10pOw0KCQl1bnNldCggJHJldFsidG1wX25hbWUiXSk7DQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KLyoqDQoqIFxicmllZiAgc2V0cyAkdGhpcy0+cmFuZG9tX3NpemUNCiogXHBhcmFtIGludCAoMS0zMikgbnVtYmVyIG9mIHJhbmRvbSBjaGFycyBvZiBmYWxzZQ0KKi8NCgkgcHVibGljIGZ1bmN0aW9uIHNldFJhbmRvbUFkZFNpemUoICRpbnQpDQoJew0KCQlpZiggKGludCkgJGludCA+IDMzICkNCgkJCSR0aGlzLT5yYW5kb21fc2l6ZT0gMzI7DQoJCWVsc2VpZiggKGludCkgJGludCA+IDAgKQ0KCQkJJHRoaXMtPnJhbmRvbV9zaXplPSAoaW50KSAkaW50Ow0KCQllbHNlDQoJCQkkdGhpcy0+cmFuZG9tX3NpemU9IGZhbHNlOw0KCX0NCg0KLyoqDQoqIFxicmllZiAgIHNldHMgdGhlICR0aGlzLT5kaXINCiogXHBhcmFtIHBhdGggdG8gdXBsb2FkIGRpcg0KKi8NCgkgcHVibGljIGZ1bmN0aW9uIHNldFBhdGgoJHBhdGgpDQoJew0KCQkkdGhpcy0+ZGlyID0gJHBhdGg7DQoJCSR0aGlzLT50ZXN0UGF0aCgpOw0KCQkkdGhpcy0+c2V0RmlsZVBhdGgoKTsNCgl9DQovKioNCiogXGJyaWVmICAgdGVzdHMgJHRoaXMtPmRpcg0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdQYXRoIG5vdCB3cml0YWJsZS4nKQ0KKi8NCglwdWJsaWMgZnVuY3Rpb24gdGVzdFBhdGgoKQ0KCXsNCgkJJHBhdGggPSAkdGhpcy0+ZGlyOw0KCQkkdGltZSA9IHRpbWUoKTsNCgkJJHJhbmQgPSBtdF9yYW5kKCk7DQoNCgkJaWYgKCAhIEBmaWxlX3B1dF9jb250ZW50cygkcGF0aC4kdGltZS4kcmFuZCAsICIuLiIgKSApDQoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCJQYXRoICckcGF0aCcgbm90IHdyaXRhYmxlIik7DQoJCUB1bmxpbmsoJHBhdGguJHRpbWUuJHJhbmQgKTsNCgkJJHRoaXMtPnNldEZpbGVQYXRoKCk7DQoJfQ0KLyoqDQoqIFxicmllZiAgc2V0cyAkdGhpcy0+bWF4X25hbWVfc2l6ZQ0KKiBccGFyYW0gbWF4X25hbWVfc2l6ZSAgaW50IGJpZ2dlciB0aGFuIDUNCiovDQoJcHVibGljICBmdW5jdGlvbiBzZXRNYXhOYW1lU2l6ZSgkbWF4X25hbWVfc2l6ZSkNCgl7DQoJCWlmICgoaW50KSRtYXhfbmFtZV9zaXplID4gNSkNCgkJCSR0aGlzLT5tYXhfbmFtZV9zaXplID0gKGludCkkbWF4X25hbWVfc2l6ZTsNCgkJZWxzZQ0KCQkJJHRoaXMtPm1heF9uYW1lX3NpemUgPSAyMDsNCgl9DQovKioNCiogXGJyaWVmICAgc2V0cyAkdGhpcy0+bmFtZV9mb3JtYXRpbmcNCiogXHBhcmFtIGZvcm1hdCAgYm9vbA0KKi8NCglwdWJsaWMgIGZ1bmN0aW9uIHNldE5hbWVGb3JtYXRpbmcoICRmb3JtYXQpDQoJew0KCQkgJHRoaXMtPm5hbWVfZm9ybWF0aW5nID0gKGJvb2wpICRmb3JtYXQJOw0KCX0NCi8qKg0KKiBcYnJpZWYgICBzZXRzICR0aGlzLT5yYW5kb21fZW5kDQoqIFxwYXJhbSBmb3JtYXQgIGJvb2wNCiovDQoJcHVibGljICBmdW5jdGlvbiBzZXRSYW5kb21FbmRpbmcoICRmb3JtYXQpDQoJew0KCQkgJHRoaXMtPnJhbmRvbV9lbmQgPSAoYm9vbCkgJGZvcm1hdDsNCgl9DQovKioNCiogXGJyaWVmICAgc2V0cyAkdGhpcy0+bWFrZV9tZDUNCiogXHBhcmFtIG1ha2UgYm9vbA0KKi8NCglwdWJsaWMgIGZ1bmN0aW9uIHNldE1kNU1ha2luZyggJG1ha2UpDQoJew0KCQkgJHRoaXMtPm1ha2VfbWQ1ID0gKGJvb2wpICRtYWtlCTsNCgl9DQovKiANCglwdWJsaWMgZnVuY3Rpb25zIC8vLzwNCiovDQovKioNCiogXGJyaWVmIHVwbG9hZHMgZmlsZQ0KKiBcZGV0YWlscyANCgkJZm9ybWF0cyB0aGUgZmlsZSBuYW1lLCBnZW5lcmF0ZXMgbmV3IHJhbmRvbSBuYW1lcywgIG1ha2VzIG1kNSBzdW0gIA0KCQlhbGwgYWNjb3JkaW5nIHRvIGNvbmZpZ3VyYXRpb24gDQoqIFxwYXJhbSBtb3ZlICBpZiB0cnVlIHVzZXMgbW92ZV91cGxvYWRlZF9maWxlKCkgZWxzZSBjb3B5KCkNCiogXGV4Y2VwdGlvbiBFeGNlcHRpb24gbmV3IEV4Y2VwdGlvbignRmlsZSAoJy4kdGhpcy0+ZmlsZV9jWyJmdWxsX25hbWUiXS4nKSB5b3UgYXJlIHRyeWluZyB0byB1cGxvYWQgZXhpc3RzIG9uIHNlcndlcicpDQoqIFxyZXR1cm4gIChib29sKSAgdHJ1ZSBpZiBzdWNjZXMgZWxzZSBmYWxzZQ0KKi8NCglwdWJsaWMgZnVuY3Rpb24gdXBsb2FkRmlsZSggJG1vdmUgPSBmYWxzZSkNCgl7DQoJCSRyZXQgPSBmYWxzZTsNCgkJJHRoaXMtPnNldEZpbGVQYXRoKCk7DQoJCSR0aGlzLT50ZXN0UGF0aCgpOw0KCQkkdGhpcy0+Zm9ybWF0TmFtZSgpOw0KCQkNCgkJaWYoIGZpbGVfZXhpc3RzKCR0aGlzLT5maWxlX2NbInBhdGgiXSkgKQ0KCQkJaWYoICR0aGlzLT5yYW5kb21fc2l6ZSE9PSBmYWxzZSkgDQoJCQkJd2hpbGUoIGZpbGVfZXhpc3RzKCR0aGlzLT5maWxlX2NbInBhdGgiXSkgKQ0KCQkJCQkkdGhpcy0+bWFrZVJhbmRvbSgpIDsNCgkJCWVsc2UNCgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdGaWxlICgnLiR0aGlzLT5maWxlX2NbImZ1bGxfbmFtZSJdLicpIHlvdSBhcmUgdHJ5aW5nIHRvIHVwbG9hZCBleGlzdHMgb24gc2Vyd2VyJyk7DQoJCQ0KCQlpZiggIShib29sKSAkbW92ZSkNCgkJew0KCQkJaWYgKGNvcHkoJHRoaXMtPmZpbGVfY1sidG1wX25hbWUiXSwkdGhpcy0+ZmlsZV9jWyJwYXRoIl0pKQ0KCQkJCSRyZXQgPSB0cnVlOw0KCQl9IGVsc2Ugew0KCQkJaWYgKG1vdmVfdXBsb2FkZWRfZmlsZSgkdGhpcy0+ZmlsZV9jWyJ0bXBfbmFtZSJdLCR0aGlzLT5maWxlX2NbInBhdGgiXSkpDQoJCQkJJHJldCA9IHRydWU7DQoJCX0NCgkJJHRoaXMtPl9kZWJ1ZygkcmV0KTsNCgkJJHRoaXMtPl9kZWJ1ZygkbW92ZSk7DQoJCWlmKCAkcmV0ICYmICR0aGlzLT5tYWtlX21kNSkNCgkJCSR0aGlzLT5maWxlX2NbJ21kNSddID0gbWQ1X2ZpbGUoICR0aGlzLT5maWxlX2NbInBhdGgiXSApOw0KCQlyZXR1cm4gJHJldDsNCgl9CQ0KCQ0KDQoNCn0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/vnc_httpdownload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/vnc_httpdownload/class.httpdownload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogQGF1dGhvciBOZ3V5ZW4gUXVvYyBCYW8gPHF1b2NiYW8uY29kZXJAZ21haWwuY29tPg0KIEB2ZXJzaW9uIDEuMw0KIEBkZXNjIEEgc2ltcGxlIG9iamVjdCBmb3IgcHJvY2Vzc2luZyBkb3dubG9hZCBvcGVyYXRpb24gLCBzdXBwb3J0IHNlY3Rpb24gZG93bmxvYWRpbmcNCiBQbGVhc2Ugc2VuZCBtZSBhbiBlbWFpbCBpZiB5b3UgZmluZCBzb21lIGJ1ZyBvciBpdCBkb2Vzbid0IHdvcmsgd2l0aCBkb3dubG9hZCBtYW5hZ2VyLg0KIEkndmUgdGVzdGVkIGl0IHdpdGgNCiAJLSBSZWdldA0KIAktIEZETQ0KIAktIEZsYXNoR2V0DQogCS0gR2V0UmlnaHQNCiAJLSBEQVANCiAJDQogQGNvcHlyaWdodCBJdCdzIGZyZWUgYXMgbG9uZyBhcyB5b3Uga2VlcCB0aGlzIGhlYWRlciAuDQogQGV4YW1wbGUNCiANCiAxOiBGaWxlIERvd25sb2FkDQogCSRvYmplY3QgPSBuZXcgZG93bmxvYWRlcjsNCiAJJG9iamVjdC0+c2V0X2J5ZmlsZSgkZmlsZW5hbWUpOyAvL0Rvd25sb2FkIGZyb20gYSBmaWxlDQogCSRvYmplY3QtPnVzZV9yZXN1bWUgPSB0cnVlOyAvL0VuYWJsZSBSZXN1bWUgTW9kZQ0KIAkkb2JqZWN0LT5kb3dubG9hZCgpOyAvL0Rvd25sb2FkIEZpbGUNCiAJDQogMjogRGF0YSBEb3dubG9hZA0KICAkb2JqZWN0ID0gbmV3IGRvd25sb2FkZXI7DQogCSRvYmplY3QtPnNldF9ieWRhdGEoJGRhdGEpOyAvL0Rvd25sb2FkIGZyb20gcGhwIGRhdGENCiAJJG9iamVjdC0+dXNlX3Jlc3VtZSA9IHRydWU7IC8vRW5hYmxlIFJlc3VtZSBNb2RlDQogCSRvYmplY3QtPnNldF9maWxlbmFtZSgkZmlsZW5hbWUpOyAvL1NldCBkb3dubG9hZCBuYW1lDQogCSRvYmplY3QtPnNldF9taW1lKCRtaW1lKTsgLy9GaWxlIE1JTUUgKERlZmF1bHQ6IGFwcGxpY2F0aW9uL290ZWN0LXN0cmVhbSkNCiAJJG9iamVjdC0+ZG93bmxvYWQoKTsgLy9Eb3dubG9hZCBGaWxlDQogCQ0KIAkzOiBNYW51YWwgRG93bmxvYWQNCiAJJG9iamVjdCA9IG5ldyBkb3dubG9hZGVyOw0KIAkkb2JqZWN0LT5zZXRfZmlsZW5hbWUoJGZpbGVuYW1lKTsNCgkkb2JqZWN0LT5kb3dubG9hZF9leCgkc2l6ZSk7DQoJLy9vdXRwdXQgeW91ciBkYXRhIGhlcmUgLCByZW1lbWJlciB0byB1c2UgJHRoaXMtPnNlZWtfc3RhcnQgYW5kICR0aGlzLT5zZWVrX2VuZCB2YWx1ZSA6KQ0KCQ0KKiovDQoNCmNsYXNzIGh0dHBkb3dubG9hZCB7DQoNCgl2YXIgJGRhdGEgPSBudWxsOw0KCXZhciAkZGF0YV9sZW4gPSAwOw0KCXZhciAkZGF0YV9tb2QgPSAwOw0KCXZhciAkZGF0YV90eXBlID0gMDsNCgl2YXIgJGRhdGFfc2VjdGlvbiA9IDA7IC8vc2VjdGlvbiBkb3dubG9hZA0KCS8qKg0KCSAqIEB2YXIgT2JqZWN0SGFuZGxlcg0KCSAqKi8NCgl2YXIgJGhhbmRsZXIgPSBhcnJheSgnYXV0aCcgPT4gbnVsbCk7DQoJdmFyICR1c2VfcmVzdW1lID0gdHJ1ZTsNCgl2YXIgJHVzZV9hdXRvZXhpdCA9IGZhbHNlOw0KCXZhciAkdXNlX2F1dGggPSBmYWxzZTsNCgl2YXIgJGZpbGVuYW1lID0gbnVsbDsNCgl2YXIgJG1pbWUgPSBudWxsOw0KCXZhciAkYnVmc2l6ZSA9IDIwNDg7DQoJdmFyICRzZWVrX3N0YXJ0ID0gMDsNCgl2YXIgJHNlZWtfZW5kID0gLTE7DQoJDQoJLyoqDQoJICogVG90YWwgYmFuZHdpZHRoIGhhcyBiZWVuIHVzZWQgZm9yIHRoaXMgZG93bmxvYWQNCgkgKiBAdmFyIGludA0KCSAqLw0KCXZhciAkYmFuZHdpZHRoID0gMDsNCgkvKioNCgkgKiBTcGVlZCBsaW1pdA0KCSAqIEB2YXIgZmxvYXQNCgkgKi8NCgl2YXIgJHNwZWVkID0gMDsNCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0NCgl8IERvd25sb2FkIEZ1bmN0aW9uIHwNCgktLS0tLS0tLS0tLS0tLS0tLS0tKi8NCgkvKioNCgkgKiBDaGVjayBhdXRoZW50aWNhdGlvbiBhbmQgZ2V0IHNlZWsgcG9zaXRpb24NCgkgKiBAcmV0dXJuIGJvb2wNCgkgKiovDQoJZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsNCgkJZ2xvYmFsICRIVFRQX1NFUlZFUl9WQVJTOw0KCQkNCgkJaWYgKCR0aGlzLT51c2VfYXV0aCkgLy91c2UgYXV0aGVudGljYXRpb24NCgkJew0KCQkJaWYgKCEkdGhpcy0+X2F1dGgoKSkgLy9ubyBhdXRoZW50aWNhdGlvbg0KCQkJew0KCQkJCWhlYWRlcignV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09IlBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCInKTsNCiAgICAJCWhlYWRlcignSFRUUC8xLjAgNDAxIFVuYXV0aG9yaXplZCcpOw0KICAgIAkJaGVhZGVyKCdzdGF0dXM6IDQwMSBVbmF1dGhvcml6ZWQnKTsNCiAgICAJCWlmICgkdGhpcy0+dXNlX2F1dG9leGl0KSBleGl0KCk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJCWlmICgkdGhpcy0+bWltZSA9PSBudWxsKSAkdGhpcy0+bWltZSA9ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iOyAvL2RlZmF1bHQgbWltZQ0KCQkNCgkJaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX1JBTkdFJ10pIHx8IGlzc2V0KCRIVFRQX1NFUlZFUl9WQVJTWydIVFRQX1JBTkdFJ10pKQ0KCQl7DQoJCQkNCgkJCWlmIChpc3NldCgkSFRUUF9TRVJWRVJfVkFSU1snSFRUUF9SQU5HRSddKSkgJHNlZWtfcmFuZ2UgPSBzdWJzdHIoJEhUVFBfU0VSVkVSX1ZBUlNbJ0hUVFBfUkFOR0UnXSAsIHN0cmxlbignYnl0ZXM9JykpOw0KCQkJZWxzZSAkc2Vla19yYW5nZSA9IHN1YnN0cigkX1NFUlZFUlsnSFRUUF9SQU5HRSddICwgc3RybGVuKCdieXRlcz0nKSk7DQoJCQkNCgkJCSRyYW5nZSA9IGV4cGxvZGUoJy0nLCRzZWVrX3JhbmdlKTsNCgkJCQ0KCQkJaWYgKCRyYW5nZVswXSA+IDApDQoJCQl7DQoJCQkJJHRoaXMtPnNlZWtfc3RhcnQgPSBpbnR2YWwoJHJhbmdlWzBdKTsNCgkJCX0NCgkJCQ0KCQkJaWYgKCRyYW5nZVsxXSA+IDApICR0aGlzLT5zZWVrX2VuZCA9IGludHZhbCgkcmFuZ2VbMV0pOw0KCQkJZWxzZSAkdGhpcy0+c2Vla19lbmQgPSAtMTsNCgkJCQ0KCQkJaWYgKCEkdGhpcy0+dXNlX3Jlc3VtZSkNCgkJCXsNCgkJCQkkdGhpcy0+c2Vla19zdGFydCA9IDA7DQoJCQkJDQoJCQkJLy9oZWFkZXIoIkhUVFAvMS4wIDQwNCBCYWQgUmVxdWVzdCIpOw0KCQkJCS8vaGVhZGVyKCJTdGF0dXM6IDQwMCBCYWQgUmVxdWVzdCIpOw0KCQkJCQ0KCQkJCS8vZXhpdDsNCgkJCQkNCgkJCQkvL3JldHVybiBmYWxzZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkdGhpcy0+ZGF0YV9zZWN0aW9uID0gMTsNCgkJCX0NCgkJCQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHRoaXMtPnNlZWtfc3RhcnQgPSAwOw0KCQkJJHRoaXMtPnNlZWtfZW5kID0gLTE7DQoJCX0NCgkJDQoJCXJldHVybiB0cnVlOw0KCX0NCgkvKioNCgkgKiBTZW5kIGRvd25sb2FkIGluZm9ybWF0aW9uIGhlYWRlcg0KCSAqKi8NCglmdW5jdGlvbiBoZWFkZXIoJHNpemUsJHNlZWtfc3RhcnQ9bnVsbCwkc2Vla19lbmQ9bnVsbCkgew0KCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogJyAuICR0aGlzLT5taW1lKTsNCgkJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJyAuICR0aGlzLT5maWxlbmFtZSAuICciJyk7DQoJCWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAuIGRhdGUoJ0QsIGQgTSBZIEg6aTpzIFxHXE1cVCcgLCAkdGhpcy0+ZGF0YV9tb2QpKTsNCgkJaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsNCgkJDQoJCWlmICgkdGhpcy0+ZGF0YV9zZWN0aW9uICYmICR0aGlzLT51c2VfcmVzdW1lKQ0KCQl7DQoJCQloZWFkZXIoIkhUVFAvMS4wIDIwNiBQYXJ0aWFsIENvbnRlbnQiKTsNCgkJCWhlYWRlcigiU3RhdHVzOiAyMDYgUGFydGlhbCBDb250ZW50Iik7DQoJCQloZWFkZXIoJ0FjY2VwdC1SYW5nZXM6IGJ5dGVzJyk7DQoJCQloZWFkZXIoIkNvbnRlbnQtUmFuZ2U6IGJ5dGVzICRzZWVrX3N0YXJ0LSRzZWVrX2VuZC8kc2l6ZSIpOw0KCQkJaGVhZGVyKCJDb250ZW50LUxlbmd0aDogIiAuICgkc2Vla19lbmQgLSAkc2Vla19zdGFydCArIDEpKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCWhlYWRlcigiQ29udGVudC1MZW5ndGg6ICRzaXplIik7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gZG93bmxvYWRfZXgoJHNpemUpDQoJew0KCQlpZiAoISR0aGlzLT5pbml0aWFsaXplKCkpIHJldHVybiBmYWxzZTsNCgkJaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7DQoJCS8vVXNlIHNlZWsgZW5kIGhlcmUNCgkJaWYgKCR0aGlzLT5zZWVrX3N0YXJ0ID4gKCRzaXplIC0gMSkpICR0aGlzLT5zZWVrX3N0YXJ0ID0gMDsNCgkJaWYgKCR0aGlzLT5zZWVrX2VuZCA8PSAwKSAkdGhpcy0+c2Vla19lbmQgPSAkc2l6ZSAtIDE7DQoJCSR0aGlzLT5oZWFkZXIoJHNpemUsJHNlZWssJHRoaXMtPnNlZWtfZW5kKTsNCgkJJHRoaXMtPmRhdGFfbW9kID0gdGltZSgpOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJLyoqDQoJICogU3RhcnQgZG93bmxvYWQNCgkgKiBAcmV0dXJuIGJvb2wNCgkgKiovDQoJZnVuY3Rpb24gZG93bmxvYWQoKSB7DQoJCWlmICghJHRoaXMtPmluaXRpYWxpemUoKSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJJHNlZWsgPSAkdGhpcy0+c2Vla19zdGFydDsNCgkJJHNwZWVkID0gJHRoaXMtPnNwZWVkOw0KCQkkYnVmc2l6ZSA9ICR0aGlzLT5idWZzaXplOw0KCQkkcGFja2V0ID0gMTsNCgkJDQoJCS8vZG8gc29tZSBjbGVhbiB1cA0KCQlAb2JfZW5kX2NsZWFuKCk7DQoJCSRvbGRfc3RhdHVzID0gaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7DQoJCUBzZXRfdGltZV9saW1pdCgwKTsNCgkJJHRoaXMtPmJhbmR3aWR0aCA9IDA7DQoJCQ0KCQkkc2l6ZSA9ICR0aGlzLT5kYXRhX2xlbjsNCgkJDQoJCWlmICgkdGhpcy0+ZGF0YV90eXBlID09IDApIC8vZG93bmxvYWQgZnJvbSBhIGZpbGUNCgkJew0KCQkJDQoJCQkkc2l6ZSA9IGZpbGVzaXplKCR0aGlzLT5kYXRhKTsNCgkJCWlmICgkc2VlayA+ICgkc2l6ZSAtIDEpKSAkc2VlayA9IDA7DQoJCQlpZiAoJHRoaXMtPmZpbGVuYW1lID09IG51bGwpICR0aGlzLT5maWxlbmFtZSA9IGJhc2VuYW1lKCR0aGlzLT5kYXRhKTsNCgkJCQ0KCQkJJHJlcyA9IGZvcGVuKCR0aGlzLT5kYXRhLCdyYicpOw0KCQkJaWYgKCRzZWVrKSBmc2VlaygkcmVzICwgJHNlZWspOw0KCQkJaWYgKCR0aGlzLT5zZWVrX2VuZCA8ICRzZWVrKSAkdGhpcy0+c2Vla19lbmQgPSAkc2l6ZSAtIDE7DQoJCQkNCgkJCSR0aGlzLT5oZWFkZXIoJHNpemUsJHNlZWssJHRoaXMtPnNlZWtfZW5kKTsgLy9hbHdheXMgdXNlIHRoZSBsYXN0IHNlZWsNCgkJCSRzaXplID0gJHRoaXMtPnNlZWtfZW5kIC0gJHNlZWsgKyAxOw0KCQkJDQoJCQl3aGlsZSAoIShjb25uZWN0aW9uX2Fib3J0ZWQoKSB8fCBjb25uZWN0aW9uX3N0YXR1cygpID09IDEpICYmICRzaXplID4gMCkNCgkJCXsNCgkJCQlpZiAoJHNpemUgPCAkYnVmc2l6ZSkNCgkJCQl7DQoJCQkJCWVjaG8gZnJlYWQoJHJlcyAsICRzaXplKTsNCgkJCQkJJHRoaXMtPmJhbmR3aWR0aCArPSAkc2l6ZTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJZWNobyBmcmVhZCgkcmVzICwgJGJ1ZnNpemUpOw0KCQkJCQkkdGhpcy0+YmFuZHdpZHRoICs9ICRidWZzaXplOw0KCQkJCX0NCgkJCQkNCgkJCQkkc2l6ZSAtPSAkYnVmc2l6ZTsNCgkJCQlmbHVzaCgpOw0KCQkJCQ0KCQkJCWlmICgkc3BlZWQgPiAwICYmICgkdGhpcy0+YmFuZHdpZHRoID4gJHNwZWVkKiRwYWNrZXQqMTAyNCkpDQoJCQkJew0KCQkJCQlzbGVlcCgxKTsNCgkJCQkJJHBhY2tldCsrOw0KCQkJCX0NCgkJCX0NCgkJCWZjbG9zZSgkcmVzKTsNCgkJCQ0KCQl9DQoJCQ0KCQllbHNlaWYgKCR0aGlzLT5kYXRhX3R5cGUgPT0gMSkgLy9kb3dubG9hZCBmcm9tIGEgc3RyaW5nDQoJCXsNCgkJCWlmICgkc2VlayA+ICgkc2l6ZSAtIDEpKSAkc2VlayA9IDA7DQoJCQlpZiAoJHRoaXMtPnNlZWtfZW5kIDwgJHNlZWspICR0aGlzLT5zZWVrX2VuZCA9ICR0aGlzLT5kYXRhX2xlbiAtIDE7DQoJCQkkdGhpcy0+ZGF0YSA9IHN1YnN0cigkdGhpcy0+ZGF0YSAsICRzZWVrICwgJHRoaXMtPnNlZWtfZW5kIC0gJHNlZWsgKyAxKTsNCgkJCWlmICgkdGhpcy0+ZmlsZW5hbWUgPT0gbnVsbCkgJHRoaXMtPmZpbGVuYW1lID0gdGltZSgpOw0KCQkJJHNpemUgPSBzdHJsZW4oJHRoaXMtPmRhdGEpOw0KCQkJJHRoaXMtPmhlYWRlcigkdGhpcy0+ZGF0YV9sZW4sJHNlZWssJHRoaXMtPnNlZWtfZW5kKTsNCgkJCXdoaWxlICghY29ubmVjdGlvbl9hYm9ydGVkKCkgJiYgJHNpemUgPiAwKSB7DQoJCQkJaWYgKCRzaXplIDwgJGJ1ZnNpemUpDQoJCQkJew0KCQkJCQkkdGhpcy0+YmFuZHdpZHRoICs9ICRzaXplOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkdGhpcy0+YmFuZHdpZHRoICs9ICRidWZzaXplOw0KCQkJCX0NCgkJCQkNCgkJCQllY2hvIHN1YnN0cigkdGhpcy0+ZGF0YSAsIDAgLCAkYnVmc2l6ZSk7DQoJCQkJJHRoaXMtPmRhdGEgPSBzdWJzdHIoJHRoaXMtPmRhdGEgLCAkYnVmc2l6ZSk7DQoJCQkJDQoJCQkJJHNpemUgLT0gJGJ1ZnNpemU7DQoJCQkJZmx1c2goKTsNCgkJCQkNCgkJCQlpZiAoJHNwZWVkID4gMCAmJiAoJHRoaXMtPmJhbmR3aWR0aCA+ICRzcGVlZCokcGFja2V0KjEwMjQpKQ0KCQkJCXsNCgkJCQkJc2xlZXAoMSk7DQoJCQkJCSRwYWNrZXQrKzsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSBpZiAoJHRoaXMtPmRhdGFfdHlwZSA9PSAyKSB7DQoJCQkvL2p1c3Qgc2VuZCBhIHJlZGlyZWN0IGhlYWRlcg0KCQkJaGVhZGVyKCdsb2NhdGlvbjogJyAuICR0aGlzLT5kYXRhKTsNCgkJfQ0KCQkNCgkJaWYgKCR0aGlzLT51c2VfYXV0b2V4aXQpIGV4aXQoKTsNCgkJDQoJCS8vcmVzdG9yZSBvbGQgc3RhdHVzDQoJCWlnbm9yZV91c2VyX2Fib3J0KCRvbGRfc3RhdHVzKTsNCgkJc2V0X3RpbWVfbGltaXQoaW5pX2dldCgibWF4X2V4ZWN1dGlvbl90aW1lIikpOw0KCQkNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHNldF9ieWZpbGUoJGRpcikgew0KCQlpZiAoaXNfcmVhZGFibGUoJGRpcikgJiYgaXNfZmlsZSgkZGlyKSkgew0KCQkJJHRoaXMtPmRhdGFfbGVuID0gMDsNCgkJCSR0aGlzLT5kYXRhID0gJGRpcjsNCgkJCSR0aGlzLT5kYXRhX3R5cGUgPSAwOw0KCQkJJHRoaXMtPmRhdGFfbW9kID0gZmlsZW10aW1lKCRkaXIpOw0KCQkJcmV0dXJuIHRydWU7DQoJCX0gZWxzZSByZXR1cm4gZmFsc2U7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHNldF9ieWRhdGEoJGRhdGEpIHsNCgkJaWYgKCRkYXRhID09ICcnKSByZXR1cm4gZmFsc2U7DQoJCSR0aGlzLT5kYXRhID0gJGRhdGE7DQoJCSR0aGlzLT5kYXRhX2xlbiA9IHN0cmxlbigkZGF0YSk7DQoJCSR0aGlzLT5kYXRhX3R5cGUgPSAxOw0KCQkkdGhpcy0+ZGF0YV9tb2QgPSB0aW1lKCk7DQoJCXJldHVybiB0cnVlOw0KCX0NCgkNCglmdW5jdGlvbiBzZXRfYnl1cmwoJGRhdGEpIHsNCgkJJHRoaXMtPmRhdGEgPSAkZGF0YTsNCgkJJHRoaXMtPmRhdGFfbGVuID0gMDsNCgkJJHRoaXMtPmRhdGFfdHlwZSA9IDI7DQoJCXJldHVybiB0cnVlOw0KCX0NCgkNCglmdW5jdGlvbiBzZXRfbGFzdG1vZHRpbWUoJHRpbWUpIHsNCgkJJHRpbWUgPSBpbnR2YWwoJHRpbWUpOw0KCQlpZiAoJHRpbWUgPD0gMCkgJHRpbWUgPSB0aW1lKCk7DQoJCSR0aGlzLT5kYXRhX21vZCA9ICR0aW1lOw0KCX0NCgkNCgkvKioNCgkgKiBDaGVjayBhdXRoZW50aWNhdGlvbg0KCSAqIEByZXR1cm4gYm9vbA0KCSAqKi8NCglmdW5jdGlvbiBfYXV0aCgpIHsNCgkJaWYgKCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSkgcmV0dXJuIGZhbHNlOw0KCQlpZiAoaXNzZXQoJHRoaXMtPmhhbmRsZXJbJ2F1dGgnXSkgJiYgZnVuY3Rpb25fZXhpc3RzKCR0aGlzLT5oYW5kbGVyWydhdXRoJ10pKQ0KCQl7DQoJCQlyZXR1cm4gJHRoaXMtPmhhbmRsZXJbJ2F1dGgnXSgnYXV0aCcgLCAkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddLCRfU0VSVkVSWydQSFBfQVVUSF9QVyddKTsNCgkJfQ0KCQllbHNlIHJldHVybiB0cnVlOyAvL3lvdSBtdXN0IHVzZSBhIGhhbmRsZXINCgl9DQoJDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/vnc_httpdownload/test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJEZJTEVOQU1FID0gIlNlc3EgLSBEZSBwcm9mdW5kaXMuYXZpIjsgLy9TRVQgWU9VUiBGSUxFIEhFUkUNCg0KaWYgKCEkRklMRU5BTUUgfHwgIWZpbGVfZXhpc3RzKCRGSUxFTkFNRSkpIHsNCgllY2hvICJQbGVhc2Ugc2V0IHlvdXIgdGFyZ2V0IGZpbGUgXCRGSUxFTkFNRSBvbiBsaW5lIDJcbiI7DQoJZXhpdCgpOw0KfQ0KDQppbmNsdWRlX29uY2UgImNsYXNzLmh0dHBkb3dubG9hZC5waHAiOw0KDQokb2JqZWN0ID0gbmV3IGh0dHBkb3dubG9hZDsNCg0KJGJhbmR3aWR0aCA9IEBpbnR2YWwoaW1wbG9kZSgnJyxmaWxlKCdiYW5kd2lkdGgudHh0JykpKSAvIDEwMjQ7DQppZiAoJGJhbmR3aWR0aCA+IDEwMjQpDQp7DQoJJGJhbmR3aWR0aCA9IHJvdW5kKCRiYW5kd2lkdGggLyAxMDI0ICwgMik7DQoJJGJhbmR3aWR0aCAuPSAiIE1CIjsNCn0NCmVsc2UNCnsNCgkkYmFuZHdpZHRoIC49ICIgS0IiOw0KfQ0KDQpzd2l0Y2ggKEAkX0dFVFsnZG93bmxvYWQnXSkgew0KY2FzZSAncmVzdW1lX3NwZWVkJzoNCmNhc2UgJ25vcmVzdW1lX3NwZWVkJzoNCmNhc2UgJ3Jlc3VtZSc6DQpjYXNlICdub3Jlc3VtZSc6DQoJJG9iamVjdC0+c2V0X2J5ZmlsZSgkRklMRU5BTUUpOw0KCWlmICgkX0dFVFsnZG93bmxvYWQnXSA9PSAnbm9yZXN1bWUnIHx8ICRfR0VUWydkb3dubG9hZCddID09ICdub3Jlc3VtZV9zcGVlZCcpICRvYmplY3QtPnVzZV9yZXN1bWUgPSBmYWxzZTsNCglpZiAoJF9HRVRbJ2Rvd25sb2FkJ10gPT0gJ3Jlc3VtZV9zcGVlZCcgfHwgJF9HRVRbJ2Rvd25sb2FkJ10gPT0gJ25vcmVzdW1lX3NwZWVkJyApICRvYmplY3QtPnNwZWVkID0gMTAwOw0KCSRvYmplY3QtPmRvd25sb2FkKCk7DQpicmVhazsNCmNhc2UgJ2RhdGEnOg0KY2FzZSAnZGF0YXJlc3VtZSc6DQoJJGRhdGEgPSBpbXBsb2RlKCcnICwgZmlsZSgkRklMRU5BTUUpKTsNCgkkb2JqZWN0LT5zZXRfYnlkYXRhKCRkYXRhKTsNCglpZiAoJF9TRVJWRVJbJ2Rvd25sb2FkJ10gIT0gJ2RhdGFyZXN1bWUnKSAkb2JqZWN0LT51c2VfcmVzdW1lID0gZmFsc2U7DQoJJG9iamVjdC0+ZmlsZW5hbWUgPSBiYXNlbmFtZSgkRklMRU5BTUUpOw0KCSRvYmplY3QtPmRvd25sb2FkKCk7DQpicmVhazsNCmNhc2UgJ2F1dGgnOg0KCSRvYmplY3QtPnNldF9ieWZpbGUoJEZJTEVOQU1FKTsNCgkkb2JqZWN0LT51c2VfYXV0aCA9IHRydWU7DQoJJG9iamVjdC0+aGFuZGxlclsnYXV0aCddID0gInRlc3RfYXV0aCI7DQoJJG9iamVjdC0+ZG93bmxvYWQoKTsNCmJyZWFrOw0KY2FzZSAndXJsJzoNCgkkb2JqZWN0LT5zZXRfYnl1cmwoJ2h0dHA6Ly93d3cucGhwLm5ldC9nZXQvcGhwX21hbnVhbF9jaG0uemlwL2Zyb20vY3IucGhwLm5ldC9taXJyb3InKTsNCgkkb2JqZWN0LT5kb3dubG9hZCgpOw0KYnJlYWs7DQp9DQoNCmlmICgkb2JqZWN0LT5iYW5kd2lkdGggPiAwKQ0Kew0KCWVycm9yX3JlcG9ydGluZyhFX05PTkUpOw0KCSRiID0gaW50dmFsKGltcGxvZGUoJycsZmlsZSgnYmFuZHdpZHRoLnR4dCcpKSkgKyAkb2JqZWN0LT5iYW5kd2lkdGg7DQoJJGYgPSBmb3BlbignYmFuZHdpZHRoLnR4dCcsJ3diJyk7DQoJZndyaXRlKCRmLCRiKTsNCglmY2xvc2UoJGYpOw0KCWV4aXQ7DQp9DQoNCmZ1bmN0aW9uIHRlc3RfYXV0aCgkdXNlciwkcGFzcykgeyAvL3Rlc3QgYXV0aGVudGljYXRpb24gZnVuY3Rpb24NCglpZiAoJHVzZXIgPT0gJ3VzZXInICYmICRwYXNzID09ICdwYXNzJykgcmV0dXJuIHRydWU7DQoJcmV0dXJuIGZhbHNlOw0KfQ0KDQo/Pg0KDQo8aGVhZD4NCjxzdHlsZT4NCjwhLS0NCmJvZHkgICAgICAgICB7IGZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQtc2l6ZTogMTJweCB9DQphICAgICAgICAgICAgeyBjb2xvcjogI0ZGMDAwMCB9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQoNCjx0aXRsZT5IVFRQRG93bmxvYWQgZXhhbXBsZTwvdGl0bGU+DQoNCjxoMj48Zm9udCBjb2xvcj0ibmF2eSI+SHR0cERvd25sb2FkPC9mb250PjwvaDI+U2VsZWN0IGEgbGluayBhbmQgdHJ5IGl0IHdpdGggYSBkb3dubG9hZCBtYW5hZ2VyIChsaWtlIDxhIGhyZWY9Imh0dHA6Ly9yZWdldC5jb20iPlJlZ2V0PC9hPikgLjxicj48YnI+DQoNClRvdGFsIGJhbmR3aWR0aCB1c2VkIDogPEI+PD9waHA9JGJhbmR3aWR0aD8+PC9CPg0KDQo8YnI+PGJyPg0KPGEgaHJlZj0idGVzdC5waHA/ZG93bmxvYWQ9bm9yZXN1bWUiPkRvd25sb2FkIGZpbGU8L2E+PGJyPg0KPGEgaHJlZj0idGVzdC5waHA/ZG93bmxvYWQ9bm9yZXN1bWVfc3BlZWQiPkRvd25sb2FkIGZpbGUgKHNwZWVkIGxpbWl0IDEwMCBrYnMpPC9hPjxicj4NCjxhIGhyZWY9InRlc3QucGhwP2Rvd25sb2FkPXJlc3VtZSI+RG93bmxvYWQgZmlsZSB3aXRoIHJlc3VtZTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1yZXN1bWVfc3BlZWQiPkRvd25sb2FkIGZpbGUgd2l0aCByZXN1bWUgKHNwZWVkIGxpbWl0IDEwMCBrYnMpIDwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1kYXRhIj5Eb3dubG9hZCBmaWxlIGRhdGEgKE1heSBzbG93KTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1kYXRhcmVzdW1lIj5Eb3dubG9hZCBmaWxlIGRhdGEgd2l0aCByZXN1bWUgKE1heSBzbG93KTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1hdXRoIj5BdXRoZW50aWNhdGlvbiBkb3dubG9hZCAodXNlci9wYXNzKTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD11cmwiPlVSTCBEb3dubG9hZCAoc2ltcGxlIHJlZGlyZWN0KTwvYT48YnI+DQoNCjxwPjxmb250IHNpemU9IjEiPjxmb250IGNvbG9yPSIjODA4MDgwIj4oIENsaWNrIA0KPGEgaHJlZj0iaHR0cDovL2VuLnZpZXRhcGkuY29tL3dpa2kvaW5kZXgucGhwL1BIUDpfSHR0cERvd25sb2FkIj4NCjxmb250IGNvbG9yPSJibGFjayI+aGVyZTwvZm9udD48L2E+PGZvbnQgY29sb3I9IiI+IHRvIHZpZXcgY2xhc3MgDQppbmZvcm1hdGlvbiApPC9mb250PjwvcD4NCg0K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvd25sb2FkTWFuYWdlciAKIyBBdXRob3I6IFN6eW1vbiDFgXVrYXN6Y3p5awojIFByb2plY3QgcGFnZTogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9kb3dubG9hZG1hbmFnZXIvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCiRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJywgJ1VzZSBEb3dubG9hZE1hbmFnZXInKTsKCiRkaXIgPSAndXBsb2Fkcy9pbWFnZXMvRG93bmxvYWRNYW5hZ2VyVGh1bWJzLyc7CmlmKCAhaXNfZGlyKCcuLi8nLiRkaXIpICkKewoJbWtkaXIoc3RyX3JlcGxhY2UoJy8nLCBESVJFQ1RPUllfU0VQQVJBVE9SLCAnLi4vJy4kZGlyKSk7Cn0KaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApCnsKCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsKCXJldHVybiAkdG1wOwp9CgovLyBGaWxlcwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiRmbGRzID0KCSdmaWxlX2lkIEkgS0VZLAoJYWNjZXNzdHlwZSBJLAoJbmFtZSBDKDMwKSBOT1ROVUxMLAoJYWxpYXMgQyg2NCkgVU5JUVVFLAoJc2VydmVyX25hbWUgWCBOT1ROVUxMLAoJZXh0IEMoOCkgIE5PVE5VTEwsCgl0eXBlIEMoMzApICBOT1ROVUxMLAoJc2l6ZSBJIE5PVE5VTEwsCgloYXNoIEMoMzIpIE5PVE5VTEwgLAoJZGVzY3JpcHRpb24gWCAsCgl0ZW1wbGF0ZV9kZXRhaWwgQyg2NCksCgl0ZW1wbGF0ZV9mb3JtIEMoNjQpLAoJdGVtcGxhdGVfZW1haWwgQyg2NCksCgloaWVyYXJjaHkgWCwKCWNvdW50ZXIgSSBOT1ROVUxMIERFRkFVTFQgMCwKCWNyZWF0ZWQgJyAuIENNU19BRE9EQl9EVCAuICcsCglleHBpcmVzICcgLiBDTVNfQURPREJfRFQgLiAnLAogICAgc3RhcnRzICcgLiBDTVNfQURPREJfRFQgLiAnLAoJdmlzaWJsZSBJLAoJdGh1bWJfcGF0aCBYIERFRkFVTFQgXCdcJwonOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzJywkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19zZXEnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlRWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZUFkZGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZURlbGV0ZWQnKTsKCi8vIENhdGVnb3JpZXMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokZmxkcyA9CgkiY2F0ZWdvcnlfaWQgSSBLRVkgLAoJbmFtZSBDKDMwKSBOT1ROVUxMLAoJYWxpYXMgQyg2NCkgVU5JUVVFLAoJZGVzY3JpcHRpb24gQygyNTUpICwKCXBhcmVudF9pZCBJIE5PVE5VTEwsCgloaWVyYXJjaHkgQygyNTUpLAoJZGVwdGggSSBERUZBVUxUIDAsCglsb25nX25hbWUgWCwKCXByaW9yaXR5ICBDKDUpIERFRkFVTFQgMTAwLAoJaGllcmFyY2h5X3ByaW9yaXR5IFgsIAkKCWRlZmF1bHRfdGVtcGxhdGUgQygyNTUpICwgCQoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcycsJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllc19zZXEnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeUVkaXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckNhdGVnb3J5QWRkZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnKTsKCiMgU2V0dXAgR2VuZXJhbCBjYXRlZ29yeQokY2F0aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzX3NlcSIpOwokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyAoY2F0ZWdvcnlfaWQsIG5hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUsIGFsaWFzKSBWQUxVRVMgKCcuJGNhdGlkLicsXCdHZW5lcmFsXCcsLTEsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLFwnZ2VuZXJhbFwnKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnkpOwokdGhpcy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgovLyBBc3NvY2lhdGlvbnMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokZmxkcyA9CgkiCglmaWxlX2lkIEkgS0VZLAogICAgY2F0ZWdvcnlfaWQgSSBLRVksCglpdGVtX29yZGVyIEkgTk9UTlVMTAoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5JywkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gRG93bmxvYWRzCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJGZsZHMgPQoJImRvd25sb2FkX2lkIEkgS0VZICwKCWZpbGVfaWQgSSBOT1ROVUxMLAoJdXNlcl90eXBlIEksCgl1c2VyX2lkIEksCgloYXNoa2V5IEMoMjU1KSwKCWRvd25sb2FkZWQgIiAuIENNU19BRE9EQl9EVCAuICIKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9kb3dubG9hZHMnLCRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2Fkc19zZXEnKTsKCi8vIFVzZXJzCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJGZsZHMgPQoJInVzZXJfaWQgSSBOT1ROVUxMLAoJZmlyc3RuYW1lIEMoNjQpLAoJbGFzdG5hbWUgQyg2NCksCgllbWFpbCBDKDEyOCksCgltYWlsaW5nbGlzdCBMCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfdXNlcnMnLCRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3VzZXJzX3NlcScpOwoKLy8gTWFwcGluZyBGRVUgZ3JvdXBzIHRvIGZpbGVzCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJGZsZHMgPQoJImZpbGVfaWQgSSBOT1ROVUxMLAoJZ3JvdXBfaWQgSSBOT1ROVUxMCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZWdyb3VwcycsJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIHdlIGFkZCB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMKJHRlbXBsYXRldHlwZXMgPSBhcnJheSgnbGlzdCcsICdkZXRhaWwnLCAnZm9ybScsICdlbWFpbCcpOwpmb3JlYWNoKCR0ZW1wbGF0ZXR5cGVzIGFzICR0eXBlKXsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdHlwZS4nX2RlZmF1bHQnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgkdHlwZS4nX2RlZmF1bHQnKSwgJHRoaXMtPkdldE5hbWUoKSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF8nLiR0eXBlLidfdGVtcGxhdGUnLCAkdHlwZS4nX2RlZmF1bHQnKTsKfQokdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfZG93bmxvYWRfdGVtcGxhdGUnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgnZG93bmxvYWQnKSk7CgokdGhpcy0+Q3JlYXRlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlclRlbXBsYXRlRWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVBZGRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlclRlbXBsYXRlRGVsZXRlZCcpOwoKLy8gY3JlYXRlIGEgcHJlZmVyZW5jZXMKJHRoaXMtPlNldFByZWZlcmVuY2UoImRpciIsICJkb3dubG9hZHMvIik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhbGxvd211bHRpcGxlIiwgdHJ1ZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJsaW5rZXhwaXJlIiwgMik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJzY2FuIiwgImRvd25sb2Fkcy8iKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoInNjYW5fcmVjdXJzIiwgdHJ1ZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJleHBpcmVkX3NlYXJjaGFibGUiLCBmYWxzZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkaXJfdGh1bWJzIiwgImltYWdlcy9Eb3dubG9hZE1hbmFnZXJUaHVtYnMvIik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ0aHVtYnNfYXV0byIsIHRydWUpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgidGh1bWJzX3NpemUiLCA4MCk7CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvd25sb2FkTWFuYWdlciAKIyBWZXJzaW9uOiAwLjEgYWxwaGEKIyBBeXRob3I6IFN6eW1vbiDFgXVrYXN6Y3p5awojIFByb2plY3QgcGFnZTogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9kb3dubG9hZG1hbmFnZXIvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWV0aG9kOiBVbmluc3RhbGwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovKgogICAgRm9yIHNlcGFyYXRlZCBtZXRob2RzLCB5b3UnbGwgYWx3YXlzIHdhbnQgdG8gc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nCiAgICBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogICAgQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToKKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8qIEFmdGVyIHRoaXMsIHRoZSBjb2RlIGlzIGlkZW50aWNhbCB0byB0aGUgY29kZSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZQogICAgd3JhcHBlZCBpbiB0aGUgVW5pbnN0YWxsKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KKi8KCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19zZXEiICk7CgkJCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllc19zZXEiICk7CgkJCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3RlbXBsYXRlcyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXNfc2VxIiApOwoKCQkvLyByZW1vdmUgdGhlIHRlbXBsYXRlcwoJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoJCQoJCS8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRG93bmxvYWRNYW5hZ2VyIEZpbGUnKTsKCQkKCQkvLyByZW1vdmUgdGhlIGV2ZW50CgkJJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlRWRpdGVkJyk7CgkJJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlQWRkZWQnKTsKCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckZpbGVEZWxldGVkJyk7CiAgICAgICAgJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeUVkaXRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlBZGRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlEZWxldGVkJyk7CiAgICAgICAgJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJUZW1wbGF0ZUVkaXRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVBZGRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVEZWxldGVkJyk7CgogICAgICAgIC8vIHJlbW92ZSB0aGUgZXZlbnQKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgiZGlyIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImFsbG93bXVsdGlwbGUiKTsKICAgICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgibGlua2V4cGlyZSIpOwogICAgICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJzY2FuIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInNjYW5fcmVjdXJzIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImV4cGlyZWRfc2VhcmNoYWJsZSIpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJkaXJfdGh1bWJzIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInRodW1ic19hdXRvIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInRodW1ic19zaXplIik7CgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvd25sb2FkTWFuYWdlciAKIyBWZXJzaW9uOiAwLjEgYWxwaGEKIyBBdXRob3I6IFN6eW1vbiDFgXVrYXN6Y3p5awojIFByb2plY3QgcGFnZTogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9kb3dubG9hZG1hbmFnZXIvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWV0aG9kOiBVcGdyYWRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoKICAgIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogICAgbGluZSB3aGljaCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBtZXRob2Qgd2FzIGNhbGxlZCBmcm9tIHRoZSBtb2R1bGUKICAgIEFQSSwgYW5kIHRoYXQgZXZlcnl0aGluZydzIHNhZmUgdG8gY29udGludWU6CiovIAppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCgovKiBBZnRlciB0aGlzLCB0aGUgY29kZSBpcyBpZGVudGljYWwgdG8gdGhlIGNvZGUgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUKICAgIHdyYXBwZWQgaW4gdGhlIFVwZ3JhZGUoKSBtZXRob2QgaW4gdGhlIG1vZHVsZSBib2R5LgoqLwoKJGRiID0mICRnQ21zLT5HZXREYigpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKCQkkY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CgkJc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCgkJewoJCQljYXNlICIwLjEiOgoJCQljYXNlICIwLjIiOgoJCQljYXNlICIwLjMiOgoJCQkJaW5jbHVkZSggIm1ldGhvZC51bmluc3RhbGwucGhwIiApOwoJCQkJaW5jbHVkZSggIm1ldGhvZC5pbnN0YWxsLnBocCIgKTsKCQkJCWJyZWFrOwoJCQljYXNlICIwLjQiOgoJCQljYXNlICIwLjQuMSI6CgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGlyIiwgImRvd25sb2Fkcy8iKTsKCQkJCS8vfiAkdGhpcy0+U2V0UHJlZmVyZW5jZSgidGVtcGxhdGUiLCBmaWxlX2dldF9jb250ZW50cygiLi4vbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvdGVtcGxhdGVzL2Rvd25sb2FkLnRwbCIpKTsKCQkJY2FzZSAiMC41IjoKCQkJY2FzZSAiMC43IjoKCQkJY2FzZSAiMC44IjoKCQkJY2FzZSAiMC44LjIiOgoJCQljYXNlICIwLjguMyI6CgkJCWNhc2UgIjAuOC40IjoKCQkJY2FzZSAiMC44LjUiOgoJCQkJJHF1ZXJ5ID0gJ0RST1AgVklFVyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRfZmlsZV90ZW1wOyc7IAoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCWNhc2UgIjAuOC42IjoKCQkJCS8vIHdlIGFkZCB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMKCQkJCSR0ZW1wbGF0ZXR5cGVzID0gYXJyYXkoJ2xpc3QnLCAnZGV0YWlsJywgJ2Zvcm0nLCAnZW1haWwnKTsKCQkJCWZvcmVhY2goJHRlbXBsYXRldHlwZXMgYXMgJHR5cGUpewoJCQkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZUZyb21GaWxlKCR0eXBlLidfZGVmYXVsdCcpOwoJCQkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdHlwZS4nX2RlZmF1bHQnLCAkdGVtcGxhdGUsICR0aGlzLT5HZXROYW1lKCkpOwoJCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0XycuJHR5cGUuJ190ZW1wbGF0ZScsICR0eXBlLidfZGVmYXVsdCcpOwoJCQkJfQoJCQkJCgkJCQkvLyB3ZSB0cmFuc2ZlciB0aGUgdGVtcGxhdGVzIGZyb20gdGhlIG1vZHVsZV9kb3dubG9hZG1hbmFnZXJfdGVtcGxhdGVzIHRhYmxlCgkJCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXMnOwoJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCQl7CgkJCQkJLy8gYW5kIHNhdmUgdGhlbSBhcyAibGlzdCIgdGVtcGxhdGVzCgkJCQkJJHRoaXMtPlNldFRlbXBsYXRlKCdsaXN0XycuJHJvd1sndGVtcGxhdGVfbmFtZSddLCAkcm93Wydjb250ZW50J10pOwoJCQkJfQoJCQkJLy8gdGhlbiB3ZSBkZWxldGUgdGhlIG9sZCB0ZW1wbGF0ZSB0YWJsZQoJCQkJJHF1ZXJ5ID0gJ0RST1AgVEFCTEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfdGVtcGxhdGVzJzsKCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXNfc2VxIiApOwoJCQkJYnJlYWs7CgkJCWNhc2UgIjAuOC43IjoKCQkJCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIEFMVEVSIHByaW9yaXR5IFNFVCBERUZBVUxUIDEwMCc7CgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRG93bmxvYWRNYW5hZ2VyIEZpbGUnKTsKCQkJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRG93bmxvYWQgTWFuYWdlciBDYXRlZ29yeScpOwoJCQkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBEb3dubG9hZCBNYW5hZ2VyIFRlbXBsYXRlcycpOwoJCQljYXNlICIwLjguOCI6CgkJCQkkcXVlcmllcyA9IGFycmF5KCk7CgkJCQkkcXVlcmllc1tdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gYWNjZXNzdHlwZSBpbnQnOwoJCQkJJHF1ZXJpZXNbXSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIHRlbXBsYXRlX2RldGFpbCBWQVJDSEFSKDY0KSc7CgkJCQkkcXVlcmllc1tdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gdGVtcGxhdGVfZm9ybSBWQVJDSEFSKDY0KSc7CgkJCQkkcXVlcmllc1tdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gdGVtcGxhdGVfZW1haWwgVkFSQ0hBUig2NCknOwoJCQkJZm9yZWFjaCgkcXVlcmllcyBhcyAkcXVlcnkpCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCQkJCS8vIERvd25sb2FkcwoJCQkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCQkJJGZsZHMgPQoJCQkJCSJkb3dubG9hZF9pZCBJIEtFWSAsCgkJCQkJZmlsZV9pZCBJIE5PVE5VTEwsCgkJCQkJdXNlcl90eXBlIEksCgkJCQkJdXNlcl9pZCBJLAoJCQkJCWhhc2hrZXkgQygyNTUpLAoJCQkJCWRvd25sb2FkZWQgIiAuIENNU19BRE9EQl9EVCAuICIKCQkJCSI7CgkJCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2FkcycsJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9kb3dubG9hZHNfc2VxJyk7CgoJCQkJLy8gVXNlcnMKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRmbGRzID0KCQkJCQkidXNlcl9pZCBJIE5PVE5VTEwsCgkJCQkJZmlyc3RuYW1lIEMoNjQpLAoJCQkJCWxhc3RuYW1lIEMoNjQpLAoJCQkJCWVtYWlsIEMoMTI4KSwKCQkJCQltYWlsaW5nbGlzdCBMCgkJCQkiOwoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl91c2VycycsJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl91c2Vyc19zZXEnKTsKCgkJCQkvLyBNYXBwaW5nIEZFVSBncm91cHMgdG8gZmlsZXMKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRmbGRzID0KCQkJCQkiZmlsZV9pZCBJIE5PVE5VTEwsCgkJCQkJZ3JvdXBfaWQgSSBOT1ROVUxMCgkJCQkiOwoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlZ3JvdXBzJywkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiYWxsb3dtdWx0aXBsZSIsIHRydWUpOwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImxpbmtleHBpcmUiLCAyKTsKCQkJY2FzZSAiMC45LjAiOgoJCQkJJHF1ZXJ5ID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gaGllcmFyY2h5IHRleHQnOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQkKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVfY2F0X2FncmVnYXRvciIgKTsKCQkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJCSR0aGlzLT5VcGRhdGVBc3NvY2lhdGlvbkFncmVnYXRpb24oKTsKCQkJY2FzZSAiMC45LjIuMiI6CgkJCQkkcXVlcnlbXSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIEFERCBDT0xVTU4gZGVwdGggaW50IERFRkFVTFQgMCBBRlRFUiBoaWVyYXJjaHknOwoJCQljYXNlICIwLjkuMi42IjoKCQkJCSRxdWVyeVtdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgQUREIENPTFVNTiBhbGlhcyAgVkFSQ0hBUig2NCkgQUZURVIgbmFtZSc7CgkJCQkkcXVlcnlbXSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIGFsaWFzIFZBUkNIQVIoNjQpIEFGVEVSIG5hbWUnOwoJCQkJZm9yZWFjaCgkcXVlcnkgYXMgJHEpCgkJCQkJJGRiLT5FeGVjdXRlKCRxKTsKCgkJCQkvLyBjcmVhdGluZyBhbGlhc2VzIGZvciBjYXRlZ29yaWVzCgkJCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzJzsKCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCQkJewoJCQkJCSRpPTE7CgkJCQkJJGFsaWFzID0gJG4gPSAkdGhpcy0+Q3JlYXRlQWxpYXMoJHJvd1snbmFtZSddKTsKCQkJCQl3aGlsZSghJHRoaXMtPkNoZWNrQWxpYXMoJ2NhdGVnb3JpZXMnLCAkYWxpYXMpKQoJCQkJCQkkYWxpYXMgPSAkbi4iLSIuJGkrKzsKCQkJCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFNFVCBhbGlhcyA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JwoJCQkJCQksYXJyYXkoJGFsaWFzLCRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCQkJCX0KCgkJCQkvLyBjcmVhdGluZyBhbGlhc2VzIGZvciBmaWxlcwoJCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMnOwoJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCQl7CgkJCQkJJGk9MTsKCQkJCQkkYWxpYXMgPSAkbiA9ICR0aGlzLT5DcmVhdGVBbGlhcygkcm93WyduYW1lJ10pOwoJCQkJCXdoaWxlKCEkdGhpcy0+Q2hlY2tBbGlhcygnZmlsZXMnLCAkYWxpYXMpKQoJCQkJCQkkYWxpYXMgPSAkbi4iLSIuJGkrKzsKCQkJCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBTRVQgYWxpYXMgPSA/IFdIRVJFIGZpbGVfaWQgPSA/JwoJCQkJCQksYXJyYXkoJGFsaWFzLCRyb3dbJ2ZpbGVfaWQnXSkpOwoJCQkJfQoJCQkJCQoJCQkJJHRoaXMtPlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpOwoJCQljYXNlICIxLjAtUkMxIjoKCQkJY2FzZSAiMS4wLVJDMiI6CgkJCWNhc2UgIjEuMC1SQzMiOgoJCQljYXNlICIxLjEiOgoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoInNjYW4iLCAiZG93bmxvYWRzLyIpOwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoInNjYW5fcmVjdXJzIiwgdHJ1ZSk7CgkJCWNhc2UgIjEuMiI6CgkJCWNhc2UgIjEuMi40IjoKCQkJCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIGNvdW50ZXIgSU5UIE5PVCBOVUxMIERFRkFVTFQgMCBBRlRFUiBoaWVyYXJjaHkgJzsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAgICAgICBjYXNlICIxLjMiOgoJCQkJLy8gQ2hhbmdpbmcgZXZlbnQgbmFtZXMgdG8gd2l0aG91dCBzcGFjZXMKCQkJCSR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWQgTWFuYWdlckNhdGVnb3J5RWRpdGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJDYXRlZ29yeUFkZGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnKTsKCQkJCSR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWQgTWFuYWdlclRlbXBsYXRlRWRpdGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJUZW1wbGF0ZUFkZGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJUZW1wbGF0ZURlbGV0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlFZGl0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlBZGRlZCcpOwoJCQkJJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVFZGl0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVBZGRlZCcpOwoJCQkJJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJUZW1wbGF0ZURlbGV0ZWQnKTsKCQkJCS8vIGFkZGluZyBzdGFydCBjb2x1bW4KCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIHN0YXJ0cyAnIC4gJGRpY3QtPkFjdHVhbFR5cGUoQ01TX0FET0RCX0RUKSAuICcgQUZURVIgZXhwaXJlcyAnOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQkvLyBhZGRpbmcgc2VhcmNoIHByZWZlcmVuY2UKCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJleHBpcmVkX3NlYXJjaGFibGUiLCBmYWxzZSk7CgkJCQkkcXVlcnkgPSAnQUxURVIgVEFCTEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBBREQgQ09MVU1OIGRlZmF1bHRfdGVtcGxhdGUgJyAuICRkaWN0LT5BY3R1YWxUeXBlKCdDJykgLiAnKDI1NSkgQUZURVIgaGllcmFyY2h5X3ByaW9yaXR5ICc7CgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJY2FzZSAiMS40IjoKCQkJY2FzZSAiMS40LjEiOgoJCQljYXNlICIxLjQuMiI6CgkJCQkvLyBjbGVhbmluZyBsb29zZSBmaWxlcyBpbiBjYXRlZ29yaWVzCgkJCQkkcXVlcnkgPSAnU0VMRUNUIGZjLmZpbGVfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSBmYyBXSEVSRSBOT1QgRVhJU1RTICggU0VMRUNUIDEgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBmIFdIRVJFIGYuZmlsZV9pZCA9IGZjLmZpbGVfaWQgKSc7CgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJCSRsb29zZSA9IGFycmF5KCk7CgkJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCQkJJGxvb3NlW10gPSAoaW50KSAkcm93WydmaWxlX2lkJ107CgkJCQlpZighZW1wdHkoJGxvb3NlKSkKCQkJCQkkZGItPkV4ZWN1dGUoJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IFdIRVJFIGZpbGVfaWQgSU4oJy5pbXBsb2RlKCcsJywkbG9vc2UpLicpJyk7CgkJCQkKCQkJCS8vIGFkZCBwcmVmZXJlbmNlcwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImRpcl90aHVtYnMiLCAiaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8iKTsKCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ0aHVtYnNfYXV0byIsIHRydWUpOwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoInRodW1ic19zaXplIiwgODApOwoJCQkJLy8gYWRkIHRodW1iIHBhdGggZmllbGQKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRkYi0+RXhlY3V0ZSgnQUxURVIgVEFCTEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgQUREIENPTFVNTiB0aHVtYl9wYXRoICcgLiAkZGljdC0+QWN0dWFsVHlwZSgnWCcpIC4gJyBERUZBVUxUIFwnXCcgQUZURVIgdmlzaWJsZSAnKTsKCQkJCgkJCQkvLyBjcmVhdGUgZGlyZWN0b3J5CgkJCQkkZGlyID0gJ3VwbG9hZHMvaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8nOwoJCQkJaWYoICFpc19kaXIoJy4uLycuJGRpcikgKQoJCQkJewoJCQkJCW1rZGlyKHN0cl9yZXBsYWNlKCcvJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJy4uLycuJGRpcikpOwoJCQkJfQoJCQkJaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApCgkJCQl7CgkJCQkJJHRtcCA9IGxhbmcoJ2Vycm9yZGlyZWN0b3J5bm90d3JpdGFibGUnKS4gJyA+ICcgLiAkZGlyOwoJCQkJCXJldHVybiAkdG1wOwoJCQkJfQoJCQlkZWZhdWx0OgoJCX0KCQkKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQoKLy8gUHV0IHRvZ2V0aGVyIGEgbGlzdCBvZiBjdXJyZW50IGNhdGVnb3JpZXMuLi4KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokY2F0ZWdvcnlfZmlsZV9uYiA9ICR0aGlzLT5HZXRDYXRlZ29yeUZpbGVOYigpOwoKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHlfcHJpb3JpdHkiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRyb3djbGFzcyA9ICdyb3cxJzsKCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoKCSRkZXB0aCA9IGNvdW50KGV4cGxvZGUoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCSRmbmIgPSBpc3NldCgkY2F0ZWdvcnlfZmlsZV9uYlskcm93WydjYXRlZ29yeV9pZCddXSk/KGludCkkY2F0ZWdvcnlfZmlsZV9uYlskcm93WydjYXRlZ29yeV9pZCddXTowOwoJCgkkb25lcm93LT5pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107Cgkkb25lcm93LT5hbGlhcyA9ICRyb3dbJ2FsaWFzJ107Cgkkb25lcm93LT5uYW1lID0gc3RyX3JlcGVhdCgnJm5ic3A7Jmd0OyZuYnNwOycsICRkZXB0aC0xKS4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCSRvbmVyb3ctPnByaW9yaXR5ID0gJHJvd1sncHJpb3JpdHknXSswOwoJJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCBsYW5nKCdlZGl0JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGVnb3J5X2lkJz0+JHJvd1snY2F0ZWdvcnlfaWQnXSkpOwoJJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY2F0ZWdvcnlfaWQnPT4kcm93WydjYXRlZ29yeV9pZCddKSwgbGFuZygnZGVsZXRlY29uZmlybScsJHJvd1snbmFtZSddKSk7Cgkkb25lcm93LT5yZW9yZGVybGluayA9ICcnOwoJJG9uZXJvdy0+cmVvcmRlcmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdyZW9yZGVyJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3Jlb3JkZXIuZ2lmJywgbGFuZygncmVvcmRlcicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjYXRlZ29yeV9pZCc9PiRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCSRvbmVyb3ctPmZpbGVuYiA9ICRmbmI7Cgkkb25lcm93LT5maWxlbmJ0eHQgPSAkdGhpcy0+TGFuZygnZmlsZW5iJywkZm5iKTsKCgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCiNTZXR1cCBsaW5rcwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjYXRlZ29yeScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdmb2xkZXIuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Jlb3JkZXJjYXRlZ29yeWxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdyZW9yZGVyY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vcmVvcmRlci5naWYnLCBsYW5nKCdyZW9yZGVyJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Jlb3JkZXJjYXRlZ29yeScsICRyZXR1cm5pZCwgbGFuZygncmVvcmRlcicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignY2F0ZWdvcnl0ZXh0JywgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzdGV4dCcsICR0aGlzLT5MYW5nKCdhbGlhc2xhYmVsJykpOwojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2xpc3RjYXRlZ29yeS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.files.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwovLyBjaGVjayBmb3IgcGVybWlzc2lvbnMKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KJGZpbGVzX2NhdGVnb3JpZXMgPSAkdGhpcy0+R2V0RmlsZUNhdGVnb3JpZXMoKTsKCi8vTG9hZCBmaWxlcwokZW50cnlhcnJheSA9IGFycmF5KCk7CiRxdWVyeSA9ICdzZWxlY3QgdmlzaWJsZSwgZmlsZV9pZCwgYWxpYXMsbmFtZSwgc3RhcnRzLGV4cGlyZXMsIGV4dCwgZGVzY3JpcHRpb24sIGNvdW50ZXIgZnJvbSAnLmNtc19kYl9wcmVmaXgoKSAuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgb3JkZXIgYnkgbmFtZSBhc2MnOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKJHJvd2NsYXNzID0gJ3JvdzEnOwoKJHRydWVpY29uID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJyk7CiRmYWxzZWljb24gPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJyk7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJJG9uZXJvdy0+aWQgPSAkcm93WydmaWxlX2lkJ107Ci8vCSRvbmVyb3ctPnNlcnZlcl9uYW1lID0gJHJvd1snc2VydmVyX25hbWUnXTsKLy8JJG9uZXJvdy0+ZXh0ID0gJHJvd1snZXh0J107Ci8vCSRvbmVyb3ctPnNpemUgPSAkcm93WydzaXplJ107Ci8vCSRvbmVyb3ctPmhhc2ggPSAkcm93WydoYXNoJ107Cgkkb25lcm93LT5kZXNjcmlwdGlvbiA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107Ci8vCSRvbmVyb3ctPmNyZWF0ZWQgPSAkcm93WydjcmVhdGVkJ107Ci8vCSRvbmVyb3ctPmV4cGlyZXMgPSAkcm93WydleHBpcmVzJ107Cgkkb25lcm93LT52aXNpYmxlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGZpbGUnLCAkcmV0dXJuaWQsICRyb3dbJ3Zpc2libGUnXT8kdHJ1ZWljb246JGZhbHNlaWNvbiwgYXJyYXkoJ2ZpbGVfaWQnPT4kcm93WydmaWxlX2lkJ10sICdjaGFuZ2V2aXNpYmlsaXR5Jz0+MSwndmlzaWJsZSc9PiRyb3dbJ3Zpc2libGUnXT8wOjEpKTsKCSRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0ZmlsZScsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLigkcm93WydleHQnXSE9Jyc/Jy4nLiAkcm93WydleHQnXTonJyksIGFycmF5KCdmaWxlX2lkJz0+JHJvd1snZmlsZV9pZCddKSk7Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCSRvbmVyb3ctPmFsaWFzID0gJHJvd1snYWxpYXMnXTsKCSRvbmVyb3ctPmNvdW50ZXIgPSAkcm93Wydjb3VudGVyJ107CgkKICAgIGlmKGVtcHR5KCRyb3dbJ3N0YXJ0cyddKSAmJiBlbXB0eSgkcm93WydleHBpcmVzJ10pKQogICAgICAgICRvbmVyb3ctPmF2YWlsYWJsZSA9ICR0aGlzLT5MYW5nKCdhbGx0aW1lJyk7CiAgICBlbHNlCiAgICB7CiAgICAgICAgJHJvd1snc3RhcnRzJ10gPSAhZW1wdHkoJHJvd1snc3RhcnRzJ10pID8gJHJvd1snc3RhcnRzJ10gOiAnLi4uJzsKICAgICAgICAkcm93WydleHBpcmVzJ10gPSAhZW1wdHkoJHJvd1snZXhwaXJlcyddKSA/ICRyb3dbJ2V4cGlyZXMnXSA6ICcuLi4nOwogICAgICAgICRvbmVyb3ctPmF2YWlsYWJsZSA9ICRyb3dbJ3N0YXJ0cyddLicgLSAnLiRyb3dbJ2V4cGlyZXMnXSA7CiAgICB9Cgkkb25lcm93LT5jaGFuZ2VsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnY2hhbmdlZmlsZScsICRyZXR1cm5pZCwgJzxpbWcgY2xhc3M9InN5c3RlbWljb24iIHNyYz0iJy4kZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvaW1hZ2VzL2ljb25zL3RyYW5zcG9ydC5wbmciIGFsdD0iJy4gJHRoaXMtPmxhbmcoJ2ZpbGVjaGFuZ2UnKS4nIiB0aXRsZT0iJy4gJHRoaXMtPmxhbmcoJ2ZpbGVjaGFuZ2UnKS4nIi8+JywgYXJyYXkoJ2ZpbGVfaWQnPT4kcm93WydmaWxlX2lkJ10sICduYW1lJz0+IGJhc2U2NF9lbmNvZGUoJHJvd1snbmFtZSddKSwgJ2FsaWFzJz0+IGJhc2U2NF9lbmNvZGUoJHJvd1snYWxpYXMnXSkgKSk7Cgkkb25lcm93LT5pbmNhdGVnb3JpZXMgPSAhYXJyYXlfa2V5X2V4aXN0cygoaW50KSAkcm93WydmaWxlX2lkJ10sICRmaWxlc19jYXRlZ29yaWVzICk/MDokZmlsZXNfY2F0ZWdvcmllc1soaW50KSAkcm93WydmaWxlX2lkJ11dWydjb3VudCddOwovLwkkb25lcm93LT5jYXRlZ29yaWVzID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGlua3MoJGlkLCAkcmV0dXJuaWQsICRyb3dbJ2ZpbGVfaWQnXSAsICRmaWxlc19jYXRlZ29yaWVzICk7Cgkkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWxlJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgbGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmaWxlX2lkJz0+JHJvd1snZmlsZV9pZCddKSk7Cgkkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRlZmlsZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgbGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpbGVfaWQnPT4kcm93WydmaWxlX2lkJ10pLCBsYW5nKCdkZWxldGVjb25maXJtJywkcm93WyduYW1lJ10uKCRyb3dbJ2V4dCddIT0nJz8nLicuICRyb3dbJ2V4dCddOicnKSkpOwoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkZmlsZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGZpbGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkZmlsZScsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGZpbGUnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2NhbmxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzY2FuZm9ybmV3ZmlsZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS92aWV3LmdpZicsICR0aGlzLT5MYW5nKCdzY2FuZm9ybmV3ZmlsZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzY2FuZm9ybmV3ZmlsZXMnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdzY2FuZm9ybmV3ZmlsZXMnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGFibGV2aXNpYmxlaGVhZGVyJywgJHRoaXMtPkxhbmcoJ3Zpc2libGVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJsZWNvdW50ZXJoZWFkZXInLCAkdGhpcy0+TGFuZygnY291bnRlcmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlYXZhaWxhYmxpdHloZWFkZXInLCAkdGhpcy0+TGFuZygnYXZhaWxhYmxpdHknKSk7CiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbGlzdGZpbGUudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.preferences.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzYXZlX2FkbWluX3ByZWZzJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICdTdWJtaXQnKSk7CgoKJHByZWZfZXJyb3JzID0gYXJyYXkoKTsKJGRvd25sb2FkX2RpciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXInKTsKaWYoICFmaWxlX2V4aXN0cygkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRkb3dubG9hZF9kaXIgKSApCgkkcHJlZl9lcnJvcnNbXSA9ICR0aGlzLT5sYW5nKCdkaXJfZG9udF9leGlzdHMnLCRkb3dubG9hZF9kaXIpOwppZiggIWlzX3dyaXRhYmxlKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGRvd25sb2FkX2RpciApICkKCSRwcmVmX2Vycm9yc1tdID0gJHRoaXMtPmxhbmcoJ2Rvd25sb2FkX2Rpcl9ub3Rfd3JpdGFibGUnLCRkb3dubG9hZF9kaXIpOwokZG93bmxvYWRfc2NhbiA9IGV4cGxvZGUoIjsiLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzY2FuJykpOwppZihjb3VudCgkZG93bmxvYWRfc2Nhbik+MCkKICBmb3JlYWNoKCAkZG93bmxvYWRfc2NhbiBhcyAkZiApCglpZiggIWZpbGVfZXhpc3RzKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGYgKSApCgkgICRwcmVmX2Vycm9yc1tdID0gJHRoaXMtPmxhbmcoJ2Rpcl9kb250X2V4aXN0cycsJGYpOwoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfdGh1bWJfZGlyJywgJHRoaXMtPkxhbmcoJ3RodW1iX2RpcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYWJlbF90aHVtYl9zaXplJywgJHRoaXMtPkxhbmcoJ3RodW1iX3NpemUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfdGh1bWJfYXV0bycsICR0aGlzLT5MYW5nKCd0aHVtYl9hdXRvJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX2Rvd25sb2FkX2RpcicsICR0aGlzLT5MYW5nKCdkb3dubG9hZF9kaXInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfZG93bmxvYWRfc2NhbicsICR0aGlzLT5MYW5nKCdkb3dubG9hZF9zY2FuJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX2Rvd25sb2FkX3NjYW5fcmVjdXJzJywgJHRoaXMtPkxhbmcoJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX3ByZWZzX3NlYXJjaF9leHBpcmVzJywgJHRoaXMtPkxhbmcoJ3NlYXJjaF9leHBpcmUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfZG93bmxvYWRfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnZG93bmxvYWRfdGVtcGxhdGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfZG93bmxvYWRfdGVtcGxhdGVfaW5mbycsICR0aGlzLT5MYW5nKCdkb3dubG9hZF90ZW1wbGF0ZV9pbmZvJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdG9wX2ltYWdlJywkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3N0b3AuZ2lmJywgJ2Vycm9yJywnJywnJywnc3lzdGVtaWNvbicpKTsKaWYoY291bnQoJHByZWZfZXJyb3JzKSA+IDAgKQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZigncHJlZl9lcnJvcnMnLCAkcHJlZl9lcnJvcnMpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90aHVtYl9kaXInLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Rpcl90aHVtYnMnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlyX3RodW1icycsIGxhbmcoJ25lZWR1cGdyYWRlJykpLCA1MCwgMjUwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGh1bWJfc2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGh1bWJzX3NpemUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGh1bWJzX3NpemUnLCBsYW5nKCduZWVkdXBncmFkZScpKSwgNTAsIDI1MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RodW1iX2F1dG8nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd0aHVtYnNfYXV0bycsJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGh1bWJzX2F1dG8nLCBsYW5nKCduZWVkdXBncmFkZScpKSwgICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kb3dubG9hZF9kaXInLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Rvd25sb2FkX2RpcicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXInLCBsYW5nKCduZWVkdXBncmFkZScpKSwgNTAsIDI1MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rvd25sb2FkX3NjYW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Rvd25sb2FkX3NjYW4nLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2NhbicsIGxhbmcoJ25lZWR1cGdyYWRlJykpLCA1MCwgMjUwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZG93bmxvYWRfc2Nhbl9yZWN1cnMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdkb3dubG9hZF9zY2FuX3JlY3VycycsICcxJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NjYW5fcmVjdXJzJywgdHJ1ZSksICAnY2xhc3M9InBhZ2VjaGVja2JveCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2VhcmNoX2V4cGlyZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdzZWFyY2hfZXhwaXJlcycsICcxJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2V4cGlyZWRfc2VhcmNoYWJsZScsIHRydWUpLCAgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rvd25sb2FkX3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKCBmYWxzZSwgJGlkLCAkdGhpcy0+R2V0VGVtcGxhdGUoJ2RlZmF1bHRfZG93bmxvYWRfdGVtcGxhdGUnKSwgJ2Rvd25sb2FkX3RlbXBsYXRlJywncGFnZXNtYWxsdGV4dGFyZWEnKSk7CgovLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnByZWZzLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQoKLy8gdHlwZXMgY2FuIGJlIGFkZGVkIG9yIHJlbW92ZWQgc2ltcGx5IGJ5IGNoYW5naW5nIHRoZSBhcnJheSBiZWxvdwokdGVtcGxhdGV0eXBlcyA9IGFycmF5KCdsaXN0JywnZGV0YWlsJywnZm9ybScsJ2VtYWlsJyk7CgovLyB3ZSBmaXJzdCByZXRyaWV2ZSB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMsIHRvIGNyZWF0ZSB0b2dnbGVkZWZhdWx0IGxpbmtzCi8vIGFuZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgZGVsZXRlIGxpbmtzIGZvciB0aGVzZQokZGVmYXVsdCA9IGFycmF5KCk7CiRvcmRlcmVkdGVtcGxhdGVzID0gYXJyYXkoKTsKZm9yZWFjaCgkdGVtcGxhdGV0eXBlcyBhcyAkb25ldHlwZSl7CgkkZGVmYXVsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfJy4kb25ldHlwZS4nX3RlbXBsYXRlJywgJycpOwoJJG9yZGVyZWR0ZW1wbGF0ZXNbJG9uZXR5cGVdID0gYXJyYXkoKTsKfQoKLy8gdGhlbiB3ZSByZXRyaWV2ZSBhbGwgbW9kdWxlIHRlbXBsYXRlcywgYnV0IHdlJ2xsIG5lZWQgdG8gb3JkZXIgdGhlbSBieSB0eXBlCiR0ZW1wbGF0ZWxpc3QgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygkdGhpcy0+R2V0TmFtZSgpKTsKCmZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkdGVtcGxhdGUpCnsKCS8vIHdlIGNyZWF0ZSB0aGUgYWRtaW4gbGlua3MKCSR0cGwgPSBuZXcgU3RkQ2xhc3MoKTsKCgkkdHBsLT5uYW1lID0gc3Vic3RyKHN0cnN0cigkdGVtcGxhdGUsICdfJyksIDEpOwoJJHRwbC0+cHJlZml4ID0gc3RyX3JlcGxhY2UoJHRwbC0+bmFtZSwiIiwkdGVtcGxhdGUpOwoKCSR0cGwtPm5hbWVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCAkdHBsLT5uYW1lLCBhcnJheSgndGVtcGxhdGVfbmFtZSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgpKTsKCSR0cGwtPmR1cGxpY2F0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLGxhbmcoJ2NvcHknKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZnJvbSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgsICduZXcnPT50cnVlKSk7CgkkdHBsLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgndGVtcGxhdGVfbmFtZSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgpKTsKCglpZihpbl9hcnJheSgkdGVtcGxhdGUsICRkZWZhdWx0KSkKCXsKCQkvLyB0aGUgdGVtcGxhdGUgaXMgdXNlZCBhcyBhIGRlZmF1bHQgdGVtcGxhdGUKCQkkdHBsLT50b2dnbGVkZWZhdWx0ID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsbGFuZygndHJ1ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkJJHRwbC0+ZGVsZXRlbGluayA9ICcnOwoJfQoJZWxzZWlmKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBEb3dubG9hZCBNYW5hZ2VyIFRlbXBsYXRlJykpCgl7CgkJJHRwbC0+dG9nZ2xlZGVmYXVsdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3RvZ2dsZWRlZmF1bHR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLGxhbmcoJ3NldHRydWUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgndGVtcGxhdGVfbmFtZSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgpKTsKCQkkdHBsLT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsbGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RlbXBsYXRlX25hbWUnPT4kdGVtcGxhdGUpLCAkdGhpcy0+TGFuZygncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJywgJHRwbC0+bmFtZSkpOwoJfQoJZWxzZQoJewoJCSR0cGwtPnRvZ2dsZWRlZmF1bHQgPSAnJzsKCQkkdHBsLT5kZWxldGVsaW5rID0gJyc7Cgl9CgoJLy8gYWRkIHB1dCB0aGUgdGVtcGxhdGUgaW4gdGhlIHJpZ2h0IHRlbXBsYXRlIHR5cGUKCSR0bXBwcmVmaXggPSBzdWJzdHIoJHRwbC0+cHJlZml4LCAwLCAtMSk7CglpZihpc3NldCgkb3JkZXJlZHRlbXBsYXRlc1skdG1wcHJlZml4XSkpCSRvcmRlcmVkdGVtcGxhdGVzWyR0bXBwcmVmaXhdW10gPSAkdHBsOwoKfQoKLy8gd2UgdGhlbiBkaXNwbGF5IGVhY2ggdHlwZSBvbmUgYnkgb25lLi4uIGxpc3R0ZW1wbGF0ZS50cGwgaXMgcmVwZWF0ZWQgZm9yIGVhY2ggdHlwZQpmb3JlYWNoKCR0ZW1wbGF0ZXR5cGVzIGFzICRvbmV0eXBlKQp7CgkkYWRkbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZCcuJG9uZXR5cGUuJ3RlbXBsYXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3ByZWZpeCc9PiRvbmV0eXBlLidfJyksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGQnLiRvbmV0eXBlLid0ZW1wbGF0ZScpLCBhcnJheSgncHJlZml4Jz0+JG9uZXR5cGUuJ18nKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKTsKCSR0ZW1wbGF0ZXMgPSBhcnJheSgpOwoJLy8gbm93IHRoYXQgdGhlIHRlbXBsYXRlcyBhcmUgb3JkZXJlZCBieSB0eXBlLCB3ZSBjYW4gYXNzaWduIHRoZSByb3cgY2xhc3MKCS8vICh0aGlzIGNvdWxkIGhhdmUgYmVlbiBkb25lIGluIHRoZSB0ZW1wbGF0ZSBpdHNlbGYgdGhvdWdoLi4uKQoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJZm9yZWFjaCgkb3JkZXJlZHRlbXBsYXRlc1skb25ldHlwZV0gYXMgJHRlbXBsYXRlKQoJewoJCSR0ZW1wbGF0ZS0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkJJHRlbXBsYXRlc1tdID0gJHRlbXBsYXRlOwoJCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwoJfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkdGVtcGxhdGVzKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+TGFuZygkb25ldHlwZS4ndGVtcGxhdGVzJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJGFkZGxpbmspOwoJI0Rpc3BsYXkgdGVtcGxhdGUKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbGlzdHRlbXBsYXRlLnRwbCcpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgp7JGZpbGV0eXBlaW5wdXR9Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRhY2Nlc3N0eXBlbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dGFjY2Vzc3R5cGV9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskZmV1Z3JvdXBzbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dGZldWdyb3Vwc308L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRkZXNjcmlwdGlvbmxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0ZGVzY3JpcHRpb259PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHVzZWV4cGlyYXRpb250ZXh0fTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0ZXhwfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGV4cGlyZXNsYWJlbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JGV4cGlyZWRhdGVwcmVmaXggdGltZT0kaW5wdXRleHBpcmVzIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxNSJ9IHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kZXhwaXJlZGF0ZXByZWZpeCB0aW1lPSRpbnB1dGV4cGlyZXN9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR2aXNpYmxlbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHZpc2libGV9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRtYWtlX3RodW1ibGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dG1ha2VfdGh1bWJ9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0aHVtYl9wYXRobGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHRodW1iX3BhdGh9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0ZW1wbGF0ZV9kZXRhaWxsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0dGVtcGxhdGVfZGV0YWlsfTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskdGVtcGxhdGVfZm9ybWxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9mb3JtfTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskdGVtcGxhdGVfZW1haWxsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0dGVtcGxhdGVfZW1haWx9PC9wPjwvZGl2PgoKPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aD57JGNhdGVnb3J5dGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRhc3NvY2lhdGlvbnMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQ+eyRlbnRyeS0+aW5wdXRhc3NvY308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiA8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0KCg==]]></data>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfc2VjdGlvbn08L2gzPgo8cD57JGFkbWluX25hdn08L3A+Cnskd2VsY29tZV90ZXh0fQ==]]></data>
	</file>
	<file>
	  <filename>/templates/adminprefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kcHJlZl9lcnJvcnMgaXRlbT1lcnJ9CjxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj57JHN0b3BfaW1hZ2V9eyRlcnJ9PC9kaXY+CnsvZm9yZWFjaH0KeyRzdGFydGZvcm19Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF9kb3dubG9hZF9kaXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Rvd25sb2FkX2Rpcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGxhYmVsX2Rvd25sb2FkX3NjYW59OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Rvd25sb2FkX3NjYW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF9kb3dubG9hZF9zY2FuX3JlY3Vyc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZG93bmxvYWRfc2Nhbl9yZWN1cnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF9wcmVmc19zZWFyY2hfZXhwaXJlc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VhcmNoX2V4cGlyZXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF90aHVtYl9kaXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RodW1iX2Rpcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGxhYmVsX3RodW1iX3NpemV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RodW1iX3NpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF90aHVtYl9hdXRvfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90aHVtYl9hdXRvfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbGFiZWxfZG93bmxvYWRfdGVtcGxhdGV9OjwvcD4KCQk8YnIgc3R5bGU9ImNsZWFyOmxlZnQ7Ii8+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDt3aWR0aDoyMjBweCI+eyRsYWJlbF9kb3dubG9hZF90ZW1wbGF0ZV9pbmZvfTwvZGl2PgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZG93bmxvYWRfdGVtcGxhdGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KCTwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/changefile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CnskZmlsZXR5cGVpbnB1dH0KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNoYW5nZW5hbWVsYWJlbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y2hhbmdlbmFtZX08L3A+CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzdHlsZSB0eXBlPSAidGV4dC9jc3MiIG1lZGlhPSAic2NyZWVuIj4KLmRvd25sb2FkcyB7d2lkdGg6OTAlO21hcmdpbjowIDUlO30KLmRvd25sb2FkcyBoMyB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7fQouZG93bmxvYWRzIGg0IHt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOjEuMWVtO30KLmRvd25sb2FkcyBoNSB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkIGJsYWNrO21hcmdpbjoxZW0gMC41ZW0gMC41ZW0gIWltcG9ydGFudDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtc2l6ZToxZW07fQouZG93bmxvYWRzIC5maWxlIHtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO21hcmdpbjoycHg7cGFkZGluZzo1cHg7fQouZG93bmxvYWRzIC5kZXNjcmlwdGlvbiB7d2lkdGg6ODAlO30KLmRvd25sb2FkcyAuaWNvbnMge2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6cmlnaHQ7fQouZG93bmxvYWRzIC5zbWFsbCB7Zm9udC1zaXplOjAuOGVtO30KLmRvd25sb2FkcyAudGl0bGUge2ZvbnQtc2l6ZToxLjFlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6ODAlO3RleHQtYWxpZ246Y2VudGVyO30KLmRvd25sb2FkcyBwIHttYXJnaW46MDtwYWRkaW5nOjA7fQouZG93bmxvYWRzIC5yb3cxIHtiYWNrZ3JvdW5kLWNvbG9yOiNkZGQ7fQouZG93bmxvYWRzIC5yb3cyIHtiYWNrZ3JvdW5kLWNvbG9yOiNiYmI7fQo8L3N0eWxlPgp7L2xpdGVyYWx9CjxkaXYgY2xhc3M9ImRvd25sb2FkcyI+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0KICAgIHtpZiAkaXRlbS0+aXRlbXR5cGUgPT0gJ2hlYWRlcicgfQogICAgICAge2lmICRpdGVtLT5pdGVtbGV2ZWwgPT0gMCB9CiAgICAgICAgICAgPGgzPiBIZWFkZXIgMDogeyRpdGVtLT5uYW1lfSA8L2gzPgogICAgICAgICAgIHtpZiAkaXRlbS0+ZGVzY3JpcHRpb24gIT0gJycgfTxzcGFuIGNsYXNzPSJzbWFsbCI+RGVzY3JpcHRpb246PC9zcGFuPjxiciAvPiB7JGl0ZW0tPmRlc2NyaXB0aW9ufSB7L2lmfQogICAgICAge2Vsc2VpZiAkaXRlbS0+aXRlbWxldmVsID09IDEgfQogICAgICAgICAgIDxoND4gSGVhZGVyIDE6IHskaXRlbS0+bmFtZX0gPC9oND4KICAgICAgICAgICB7aWYgJGl0ZW0tPmRlc2NyaXB0aW9uICE9ICcnIH08c3BhbiBjbGFzcz0ic21hbGwiPkRlc2NyaXB0aW9uOjwvc3Bhbj48YnIgLz4geyRpdGVtLT5kZXNjcmlwdGlvbn0gey9pZn0KICAgICAgIHtlbHNlaWYgJGl0ZW0tPml0ZW1sZXZlbCA9PSAyIH0KICAgICAgICAgICA8aDU+IEhlYWRlciAyOiB7JGl0ZW0tPm5hbWV9IDwvaDU+CiAgICAgICAgICAge2lmICRpdGVtLT5kZXNjcmlwdGlvbiAhPSAnJyB9PHNwYW4gY2xhc3M9InNtYWxsIj5EZXNjcmlwdGlvbjo8L3NwYW4+PGJyIC8+IHskaXRlbS0+ZGVzY3JpcHRpb259IHsvaWZ9CiAgICAgICB7L2lmfQogICAgey9pZn0KICAgIHtpZiAkaXRlbS0+aXRlbXR5cGUgPT0gJ2ZpbGUnIH0KCiAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZSB7JGl0ZW0tPnJvd2NsYXNzfSI+CgkJCTxkaXYgY2xhc3M9Imljb25zIj4geyRpdGVtLT5zaXplfQoJCQkJPGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvY2FsY3VsYXRvci5wbmciIHRpdGxlPSJNZDU6IHskaXRlbS0+aGFzaH0iIGFsdD0iTWQ1OiB7JGl0ZW0tPmhhc2h9Ii8+CgkJCQk8YSBocmVmPSJ7JGl0ZW0tPmhyZWZ9IiB0aXRsZT0ieyRpdGVtLT5uYW1lfSI+PGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvZHJpdmVfZGlzay5wbmciLz48L2E+CgkJCTwvZGl2PgoJCQk8cCBjbGFzcz0idGl0bGUiPiB7JGl0ZW0tPmRvd25sb2FkfSA8L3A+CgkgICAge2lmICRpdGVtLT5jYXRlZ29yaWVzICE9ICcnIH08cD48c3BhbiBjbGFzcz0ic21hbGwiPkNhdGVnb3JpZXM6PC9zcGFuPjxiciAvPiB7JGl0ZW0tPmNhdGVnb3JpZXN9PC9wPnsvaWZ9CiAgICAgICAge2lmICRpdGVtLT5kZXNjcmlwdGlvbiAhPSAnJyB9PHA+PHNwYW4gY2xhc3M9InNtYWxsIj5EZXNjcmlwdGlvbjo8L3NwYW4+PGJyIC8+IHskaXRlbS0+ZGVzY3JpcHRpb259PC9wPiB7L2lmfQoJCQk8ZGl2IHN0eWxlPSJjbGVhcjpyaWdodDsiPiA8L2Rpdj4KCQk8L2Rpdj4KICAgIHsvaWZ9Cntmb3JlYWNoZWxzZX0KICAgIHskbm9kb3dubG9hZHN9CnsvZm9yZWFjaH0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/detail_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPiBEZXRhaWxzIG9mIHskaXRlbS0+bmFtZX0gPC9oMz4KCnskaXRlbS0+dGh1bWJ9Cjx0YWJsZT4KPHRyPjx0ZD57JHNpemVsYWJlbH08L3RkPjx0ZD57JGl0ZW0tPnNpemV9PC90ZD48L3RyPgo8dHI+PHRkPnskaGFzaGxhYmVsfTwvdGQ+PHRkPnskaXRlbS0+aGFzaH08L3RkPjwvdHI+Cjx0cj48dGQ+eyRkZXNjcmlwdGlvbmxhYmVsfTwvdGQ+PHRkPnskaXRlbS0+ZGVzY3JpcHRpb259PC90ZD48L3RyPgo8dHI+PHRkPnskY3JlYXRlZGxhYmVsfTwvdGQ+PHRkPnskaXRlbS0+Y3JlYXRlZH08L3RkPjwvdHI+Cjx0cj48dGQ+eyRhY2Nlc3N0eXBlbGFiZWx9PC90ZD48dGQ+e2ZvcmVhY2ggZnJvbT0kaXRlbS0+YWNjZXNzdHlwZXMgaXRlbT1hY2Nlc3N9PGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvYWNjZXNzLXskYWNjZXNzfS5wbmciIHRpdGxlPSJ7JGFjY2Vzc30gYWNjZXNzIiBhbHQ9InskYWNjZXNzfSBhY2Nlc3MiLz57L2ZvcmVhY2h9PC90ZD48L3RyPgo8dHI+PHRkPkJlbG9uZ3MgdG8gY2F0ZWdvcmllczwvdGQ+PHRkPnskaXRlbS0+Y2F0ZWdvcmllc308L3RkPjwvdHI+CjwvdGFibGU+Cjxici8+CnskaXRlbS0+Y291bnRlcmxvY2FsZX0KPGJyLz4KRG93bmxvYWQgeyRpdGVtLT5kb3dubG9hZH0u]]></data>
	</file>
	<file>
	  <filename>/templates/download.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRkb3dubG9hZGluZ30gPGJyLz4KPGJyLz4KeyRkb3dubG9hZGluZ19pbmZvfQo8YnIvPgp7JGJhY2t0b2xpc3RsaW5rfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/download_error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskZXJyb3J9PC9oMz4Ke2lmIGlzc2V0KCRkb3dubG9hZF9lcnJvci5tc2cpfQo8cD57JGRvd25sb2FkX2Vycm9yX21zZ306IHskZG93bmxvYWRfZXJyb3IubXNnfTwvcD4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQo8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWVsYWJlbH06PC9wPg0KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGRlc2NyaXB0aW9ubGFiZWx9OjwvcD4NCjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRkZXNjcmlwdGlvbn08L3A+PC9kaXY+DQoNCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHBhcmVudF9pZGxhYmVsfTo8L3A+DQo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0cGFyZW50X2lkfTwvcD48L2Rpdj4NCg0Ke2lmICFlbXB0eSgkaGlkZGVuKX0NCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGFsaWFzbGFiZWx9OjwvcD4NCjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRhbGlhc308L3A+PC9kaXY+DQp7L2lmfQ0KDQo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRkZWZhdWx0X3RlbXBsYXRlbGFiZWx9OjwvcD4NCjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRkZWZhdWx0X3RlbXBsYXRlfTwvcD48L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxwIGNsYXNzPSJwYWdldGV4dCI+IDwvcD4NCjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4NCjwvZGl2Pg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/editfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPgoJPHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHZpc2libGVsYWJlbH06PC9wPgoJPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHZpc2libGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskbmFtZWxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskYWxpYXNsYWJlbH06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGFsaWFzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRleHRsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0ZXh0fTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHNlcnZlcl9uYW1lbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHNlcnZlcl9uYW1lfTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHR5cGVsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0dHlwZX08L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRzaXplbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHNpemV9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskaGFzaGxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRoYXNofTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGRlc2NyaXB0aW9ubGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dGRlc2NyaXB0aW9ufTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+IDwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZXh0cmF0YWJ9CjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGNyZWF0ZWRsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0Y3JlYXRlZH08L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0aHVtYl9wYXRobGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHRodW1iX3BhdGh9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskYWNjZXNzdHlwZWxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRhY2Nlc3N0eXBlfTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGZldWdyb3Vwc2xhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRmZXVncm91cHN9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR1c2VzdGFydHRleHR9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzdGFydH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPgogICAgPHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHN0YXJ0bGFiZWx9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kc3RhcnRkYXRlcHJlZml4IHRpbWU9JGlucHV0c3RhcnRzIHN0YXJ0X3llYXI9IiswIiBlbmRfeWVhcj0iKzE1In0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRzdGFydGRhdGVwcmVmaXggdGltZT0kaW5wdXRzdGFydHN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskdXNlZXhwaXJhdGlvbnRleHR9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRleHB9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz4KCTxwIGNsYXNzPSdwYWdldGV4dCc+eyRleHBpcmVzbGFiZWx9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kZXhwaXJlZGF0ZXByZWZpeCB0aW1lPSRpbnB1dGV4cGlyZXMgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzE1In0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRleHBpcmVkYXRlcHJlZml4IHRpbWU9JGlucHV0ZXhwaXJlc308L3A+CjwvZGl2PgoKCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHRlbXBsYXRlX2RldGFpbGxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9kZXRhaWx9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0ZW1wbGF0ZV9mb3JtbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHRlbXBsYXRlX2Zvcm19PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0ZW1wbGF0ZV9lbWFpbGxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9lbWFpbH08L3A+PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskY291bnRlcmxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y291bnRlcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQoK]]></data>
	</file>
	<file>
	  <filename>/templates/editfile_assoc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm1hc3NvY30KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aD57JGNhdGVnb3J5dGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRhc3NvY2lhdGlvbnMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQ+eyRlbnRyeS0+aW5wdXRhc3NvY308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtYXNzb2N9]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzdHlsZSB0eXBlPSAidGV4dC9jc3MiIG1lZGlhPSAic2NyZWVuIj4KdGQge3ZlcnRpY2FsLWFsaWduOnRvcDt9Cjwvc3R5bGU+CnsvbGl0ZXJhbH0KeyRzdGFydGZvcm19Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+KnskdGVtcGxhdGVfbmFtZWxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9uYW1lfTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxwIGNsYXNzPSJwYWdldGV4dCI+eyRjb250ZW50bGFiZWx9OjwvcD4KPGJyIHN0eWxlPSJjbGVhcjpsZWZ0OyIvPgo8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0O3dpZHRoOjI4MHB4Ij4KPHRhYmxlIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij4KeyRoZWxwX3RlbXBsYXRlX3ZhcmlhYmxlc30KeyRoZWxwX3RlbXBsYXRlX2dlbmVyYWx9CjwvdGFibGU+PC9kaXY+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjb250ZW50fTwvcD4KPC9kaXY+CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JGFwcGx5fXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/email_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPiBEZWFyIHskZmlyc3RuYW1lfSB7JGxhc3RuYW1lfSA8L2gyPgoKPHA+WW91IHJlcXVlc3RlZCB7JGl0ZW0tPm5hbWV9IGZyb20gbG9jYWxob3N0LiA8cC8+Cgo8cD5Vc2UgbGluayBiZWxvdyB0byBkb3dubG9hZDogPGJyIC8+CnskZHVybH0KPHAvPg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/filetypeinput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp7bGl0ZXJhbH0KZnVuY3Rpb24gRE1yYWRpb3VwZGF0ZSgpCnt7L2xpdGVyYWx9CiAgdmFyIGlkID0gJ3skZm9ybWlkfSc7CntsaXRlcmFsfQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ3VwbG9hZGVkJykuZGlzYWJsZWQgPSB0cnVlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ2ZpbGUnKS5kaXNhYmxlZCA9IHRydWU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnZXh0ZXJuYWwnKS5kaXNhYmxlZCA9IHRydWU7CgogIGlmKCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCArICdyYWRpb3VwbG9hZCcpLmNoZWNrZWQgPT0gdHJ1ZSApCiAgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnZmlsZScpLmRpc2FibGVkID0gZmFsc2U7CiAgfQogIGVsc2UgaWYgKCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCArICdyYWRpb3VwbG9hZGVkJykuY2hlY2tlZCA9PSB0cnVlKQogIHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ3VwbG9hZGVkJykuZGlzYWJsZWQgPSBmYWxzZTsKICB9CiAgZWxzZSBpZiAoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ3JhZGlvZXh0ZXJuYWwnKS5jaGVja2VkID09IHRydWUpCiAgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnZXh0ZXJuYWwnKS5kaXNhYmxlZCA9IGZhbHNlOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnbWQ1JykuZGlzYWJsZWQgPSBmYWxzZTsKICB9Cgp9Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9Im5ldyIgbmFtZT0ieyRmb3JtaWR9cmFkaW91IiBpZD0ieyRmb3JtaWR9cmFkaW91cGxvYWQiICBvbmNoYW5nZT0iRE1yYWRpb3VwZGF0ZSgpIiB7aWYgJGlucHV0dXBsb2FkZWRlbmFibGVkID09IHRydWV9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfS8+Cip7JHVwbG9hZGxhYmVsfTo8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmaWxlfTwvcD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJvbGQiIG5hbWU9InskZm9ybWlkfXJhZGlvdSIgaWQ9InskZm9ybWlkfXJhZGlvdXBsb2FkZWQiICBvbmNoYW5nZT0iRE1yYWRpb3VwZGF0ZSgpIiB7aWYgJGlucHV0dXBsb2FkZWRlbmFibGVkID09IGZhbHNlfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgoqeyR1cGxvYWRlZGxhYmVsfTo8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcm9vdHBhdGh9LyB7JGlucHV0dXBsb2FkZWR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJleHRlcm5hbCIgbmFtZT0ieyRmb3JtaWR9cmFkaW91IiBpZD0ieyRmb3JtaWR9cmFkaW9leHRlcm5hbCIgIG9uY2hhbmdlPSJETXJhZGlvdXBkYXRlKCkiLz4KKnskZXh0ZXJuYWxsYWJlbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij5odHRwOi8vIHskaW5wdXRleHRlcm5hbH08L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGFzaGxhYmVsfTogeyRpbnB1dG1kNX08L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/form_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SGVyZSB5b3UgY2FuIHJlcXVlc3QgZG93bmxvYWQgYnkgZW1haWw6Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRmaXJzdG5hbWVfbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRmaXJzdG5hbWVfaW5wdXR9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskbGFzdG5hbWVfbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRsYXN0bmFtZV9pbnB1dH08L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRlbWFpbF9sYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGVtYWlsX2lucHV0fTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JG1haWxpbmdsaXN0X2xhYmVsfTp7JG1haWxpbmdsaXN0X2lucHV0fTwvcD48L2Rpdj4KCgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskc3VibWl0fTwvcD48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/listcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9IHskcmVvcmRlcmNhdGVnb3J5bGlua308L3A+PC9kaXY+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkgICAgIDxjb2xncm91cD4KCSAgICAgIDxjb2wvPgoJICAgICAgPGNvbC8+CgkgICAgICA8Y29sLz4KCSAgICAgIDxjb2wvPgoJICAgICAgPGNvbCBzdHlsZT0id2lkdGg6MTZweDsiLz4KCSAgICAgIDxjb2wgc3R5bGU9IndpZHRoOjE2cHg7Ii8+CgkgICAgICA8Y29sIHN0eWxlPSJ3aWR0aDoxNnB4OyIvPgoJICAgIDwvY29sZ3JvdXA+CgkJPHRyPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGg+eyRjYXRlZ29yeXRleHR9PC90aD4KCQkJPHRoPnskYWxpYXN0ZXh0fSA8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIiBjb2xzcGFuPSIzIj57JHRhYmxlQWN0aW9uc0hlYWRlcn08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+YWxpYXN9PC90ZD4KCQkJPHRkPnskZW50cnktPmZpbGVuYnR4dH08L3RkPgoJCQk8dGQ+e2lmICRlbnRyeS0+ZmlsZW5iID4gMX17JGVudHJ5LT5yZW9yZGVybGlua317L2lmfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2PgoK]]></data>
	</file>
	<file>
	  <filename>/templates/listfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9IHskc2Nhbmxpbmt9PC9wPgo8L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiID4KPHRoZWFkPgogICAgCSAgICAgPGNvbGdyb3VwPgoJICAgICAgPGNvbC8+CgkgICAgICA8Y29sLz4KCSAgICAgIDxjb2wvPgoJICAgICAgPGNvbC8+CgkgICAgICA8Y29sLz4KCSAgICAgIDxjb2wgc3R5bGU9IndpZHRoOjE2cHg7Ii8+CgkgICAgICA8Y29sIHN0eWxlPSJ3aWR0aDoxNnB4OyIvPgoJICAgICAgPGNvbCBzdHlsZT0id2lkdGg6MTZweDsiLz4KCSAgICA8L2NvbGdyb3VwPgo8dHI+Cjx0aCBjbGFzcz0icGFnZWljb24iPnskdGFibGVJRENvbEhlYWRlcn08L3RoPgo8dGg+eyR0YWJsZU5hbWVDb2xIZWFkZXJ9PC90aD4KPHRoPnskdGFibGVEZXNjcmlwdGlvbkNvbEhlYWRlcn08L3RoPgo8dGggY2xhc3M9InBhZ2VpY29uIj57JHRhYmxlY291bnRlcmhlYWRlcn08L3RoPgo8dGggY2xhc3M9InBhZ2VpY29uIj57JHRhYmxldmlzaWJsZWhlYWRlcn08L3RoPgo8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MTUwcHgiPnskdGFibGVhdmFpbGFibGl0eWhlYWRlcn08L3RoPgo8dGggY2xhc3M9InBhZ2VpY29uIiBjb2xzcGFuPSIzIj57JHRhYmxlQWN0aW9uc0hlYWRlcn08L3RoPgo8L3RyPgo8L3RoZWFkPgo8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9Cjx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+Cjx0ZD57JGVudHJ5LT5pZH08L3RkPgo8dGQgc3R5bGU9IndpZHRoOjIwMHB4OyI+IHskZW50cnktPm5hbWV9PC90ZD4KPHRkPnskZW50cnktPmRlc2NyaXB0aW9ufHRydW5jYXRlOjEwMH08L3RkPgo8dGQ+eyRlbnRyeS0+Y291bnRlcn08L3RkPgo8dGQ+eyRlbnRyeS0+dmlzaWJsZX08L3RkPgo8dGQ+eyRlbnRyeS0+YXZhaWxhYmxlfTwvdGQ+Cjx0ZD57JGVudHJ5LT5jaGFuZ2VsaW5rfTwvdGQ+Cjx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgo8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgo8L3RyPgp7L2ZvcmVhY2h9CjwvdGJvZHk+CjwvdGFibGU+CgoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgo8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+CjwvZGl2Pgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/listtemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIiA+Cjx0aGVhZD4KPHRyPgo8dGg+eyR0YWJsZU5hbWVDb2xIZWFkZXJ9PC90aD4KPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyR0YWJsZURlZmF1bHRDb2xIZWFkZXJ9PC90aD4KPHRoIGNsYXNzPSJwYWdlaWNvbiI+IDwvdGg+Cjx0aCBjbGFzcz0icGFnZWljb24iPiA8L3RoPgo8dGggY2xhc3M9InBhZ2VpY29uIj4gPC90aD4KPC90cj4KPC90aGVhZD4KPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQo8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgo8dGQ+eyRlbnRyeS0+bmFtZWxpbmt9PC90ZD4KPHRkPnskZW50cnktPnRvZ2dsZWRlZmF1bHR9PC90ZD4KPHRkPnskZW50cnktPmR1cGxpY2F0ZWxpbmt9PC90ZD4KPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+Cjx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CjwvdHI+CnsvZm9yZWFjaH0KPC90Ym9keT4KPC90YWJsZT4KPHA+eyRhZGRsaW5rfTwvcD4KPHA+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/list_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzdHlsZSB0eXBlPSAidGV4dC9jc3MiIG1lZGlhPSAic2NyZWVuIj4KLmRvd25sb2FkcyB7d2lkdGg6OTAlO21hcmdpbjowIDUlO30KLmRvd25sb2FkcyBoMyB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7fQouZG93bmxvYWRzIGg0IHt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOjEuMWVtO30KLmRvd25sb2FkcyBoNSB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkIGJsYWNrO21hcmdpbjoxZW0gMC41ZW0gMC41ZW0gIWltcG9ydGFudDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtc2l6ZToxZW07fQouZG93bmxvYWRzIC5maWxlIHtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO21hcmdpbjoycHg7cGFkZGluZzo1cHg7fQouZG93bmxvYWRzIC5kZXNjcmlwdGlvbiB7d2lkdGg6ODAlO30KLmRvd25sb2FkcyAuaWNvbnMge2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6cmlnaHQ7fQouZG93bmxvYWRzIC5zbWFsbCB7Zm9udC1zaXplOjAuOGVtO30KLmRvd25sb2FkcyAudGl0bGUge2ZvbnQtc2l6ZToxLjFlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6ODAlO3RleHQtYWxpZ246Y2VudGVyO30KLmRvd25sb2FkcyBwIHttYXJnaW46MDtwYWRkaW5nOjA7fQouZG93bmxvYWRzIC5yb3cxIHtiYWNrZ3JvdW5kLWNvbG9yOiNkZGQ7fQouZG93bmxvYWRzIC5yb3cyIHtiYWNrZ3JvdW5kLWNvbG9yOiNiYmI7fQo8L3N0eWxlPgp7L2xpdGVyYWx9CjxkaXYgY2xhc3M9ImRvd25sb2FkcyI+CntpZiAkdG9wY2F0ZWdvcnlsaW5rICE9ICcnIH0gVXBwZXIgY2F0ZWdvcnk6IHskdG9wY2F0ZWdvcnlsaW5rfSB7L2lmfQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19CiAgICB7aWYgJGl0ZW0tPml0ZW10eXBlID09ICdoZWFkZXInIH0KICAgICAgIHtpZiAkaXRlbS0+aXRlbWxldmVsID09IDAgfQogICAgICAgICAgIDxoMz4gSGVhZGVyIDA6IHskaXRlbS0+bmFtZX0gPC9oMz4KICAgICAgIHtlbHNlaWYgJGl0ZW0tPml0ZW1sZXZlbCA9PSAxIH0KICAgICAgICAgICA8aDQ+IEhlYWRlciAxOiB7JGl0ZW0tPm5hbWV9IDwvaDQ+CiAgICAgICB7ZWxzZWlmICRpdGVtLT5pdGVtbGV2ZWwgPT0gMiB9CiAgICAgICAgICAgPGg1PiBIZWFkZXIgMjogeyRpdGVtLT5uYW1lfSA8L2g1PgogICAgICAgey9pZn0KICAgICAgICAgICB7aWYgJGl0ZW0tPmRlc2NyaXB0aW9uICE9ICcnIH08c3BhbiBjbGFzcz0ic21hbGwiPkRlc2NyaXB0aW9uOjwvc3Bhbj48YnIgLz4geyRpdGVtLT5kZXNjcmlwdGlvbn0gey9pZn0KCSAgIHtpZiBjb3VudCgkaXRlbS0+c3ViY2F0ZWdvcmllcykgPiAwIH0KICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwiPlN1YmNhdGVnb3JpZXM6e2ZvcmVhY2ggZnJvbT0kaXRlbS0+c3ViY2F0ZWdvcmllcyBpdGVtPXN1YmNhdH17aWYgJHN1YmNhdC5maWxlc25iID4gMH0geyRzdWJjYXQubGlua317L2lmfQoJICAgey9mb3JlYWNofXsvaWZ9PC9zcGFuPjxiciAvPgogICAgey9pZn0KICAgIHtpZiAkaXRlbS0+aXRlbXR5cGUgPT0gJ2ZpbGUnIH0KCiAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZSB7JGl0ZW0tPnJvd2NsYXNzfSI+CgkJCTxkaXYgY2xhc3M9Imljb25zIj4geyRpdGVtLT5zaXplfQoJCQkJPGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvY2FsY3VsYXRvci5wbmciIHRpdGxlPSJNZDU6IHskaXRlbS0+aGFzaH0iIGFsdD0iTWQ1OiB7JGl0ZW0tPmhhc2h9Ii8+CgkJCQk8YSBocmVmPSJ7JGl0ZW0tPmhyZWZ9IiB0aXRsZT0ieyRpdGVtLT5uYW1lfSI+PGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvZHJpdmVfZGlzay5wbmciLz48L2E+Cntmb3JlYWNoIGZyb209JGl0ZW0tPmFjY2Vzc3R5cGVzIGl0ZW09YWNjZXNzfQo8aW1nIHNyYz0iL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2ltYWdlcy9pY29ucy9hY2Nlc3MteyRhY2Nlc3N9LnBuZyIgdGl0bGU9InskYWNjZXNzfSBhY2Nlc3MiIGFsdD0ieyRhY2Nlc3N9IGFjY2VzcyIvPgp7L2ZvcmVhY2h9CgkJCTwvZGl2PgoJCQk8cCBjbGFzcz0idGl0bGUiPiB7JGl0ZW0tPnRodW1ifSB7JGl0ZW0tPmRvd25sb2FkfSA8L3A+CgkgICAge2lmICRpdGVtLT5jYXRlZ29yaWVzICE9ICcnIH08cD48c3BhbiBjbGFzcz0ic21hbGwiPkNhdGVnb3JpZXM6PC9zcGFuPjxiciAvPiB7JGl0ZW0tPmNhdGVnb3JpZXN9PC9wPnsvaWZ9CjxwPjxzcGFuIGNsYXNzPSJzbWFsbCI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvc3Bhbj48L3A+CjxwPjxzcGFuIGNsYXNzPSJzbWFsbCI+eyRpdGVtLT5kZXRhaWx9PC9zcGFuPjwvcD4KCQkJPGRpdiBzdHlsZT0iY2xlYXI6cmlnaHQ7Ij4gPC9kaXY+CgkJPC9kaXY+CiAgICB7L2lmfQp7Zm9yZWFjaGVsc2V9CiAgICB7JG5vZG93bmxvYWRzfQp7L2ZvcmVhY2h9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/plugin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbG91ZG5lc3N9PC9oMz4=]]></data>
	</file>
	<file>
	  <filename>/templates/reordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JGNhdGVnb3J5dGV4dH0gLSB7JHByaW9yaXR5dGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4KCnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxwIGNsYXNzPSJwYWdldGV4dCI+IDwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2PgoK]]></data>
	</file>
	<file>
	  <filename>/templates/reorderitem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBzdHlsZT0id2lkdGg6MTAwcHg7Ij57JHByaW9yaXR5dGV4dH08L3RoPgoJCQk8dGg+eyRpdGVtdGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+eyRlbnRyeS0+cHJpb3JpdHl9PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgoKey9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/scanfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij57JGxhYmVsX25ld2ZpbGVzfTwvZGl2Pgo8YnIvPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiID4KPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRkaWZmIGl0ZW09ZW50cnkgbmFtZT1kaWZmfQo8dHIgY2xhc3M9InJvd3skc21hcnR5LmZvcmVhY2guZGlmZi5pbmRleCUyICsxfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSdyb3dob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0ncm93eyRzbWFydHkuZm9yZWFjaC5kaWZmLmluZGV4JTIgKzF9JzsiPgo8dGQgc3R5bGU9IndpZHRoOjIwMHB4OyI+IAp7JGVudHJ5fQo8L3RkPgo8L3RyPgp7L2ZvcmVhY2h9CjwvdGJvZHk+CjwvdGFibGU+CjxkaXYgc3R5bGU9Im1hcmdpbjogMTBweCAzMHB4IDEwcHggMTBweDsgd2lkdGg6IDk3JTsiPgp7JGJhY2tsaW5rfQo8L2Rpdj4K]]></data>
	</file>
</module>
