# elk_mediaplayer 0.2a # Provides a simple integration of the Flash Mediaplayer written by Jeroen Wijering, with the playlist feature. # Eric P. Lemoine # http://yuki.focusphere.net # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YTo5OntzOjQ6Im5hbWUiO3M6MTU6ImVsa19tZWRpYXBsYXllciI7czo2OiJhdXRob3IiO3M6MTU6IkVyaWMgUC4gTGVtb2luZSI7czoxMDoiYXV0aG9yX3VyaSI7czoyNjoiaHR0cDovL3l1a2kuZm9jdXNwaGVyZS5uZXQiO3M6NzoidmVyc2lvbiI7czo0OiIwLjJhIjtzOjExOiJkZXNjcmlwdGlvbiI7czoxNTQ6IlByb3ZpZGVzIGEgc2ltcGxlIGludGVncmF0aW9uIG9mIHRoZSBGbGFzaCBNZWRpYXBsYXllciB3cml0dGVuIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuamVyb2Vud2lqZXJpbmcuY29tLyI+SmVyb2VuIFdpamVyaW5nPC9hPiwgd2l0aCB0aGUgcGxheWxpc3QgZmVhdHVyZS4iO3M6NDoiaGVscCI7czoyNzc0OiI8cD5UaGlzIHBsdWdpbiBpcyBhIHNpbXBsaWZpZWQgdmVyc2lvbiBsb29zZWx5IGJhc2VkIG9uIGEgcHJldmlvdXMgaW50ZWdyYXRpb24gKGJhc19mbHZwbGF5ZXIpIG1hZGUgYnkgQmFzdGlhbiBTYWNrZXJtYW5uLjwvcD4NCg0KPHA+SXQgaXMgY2FsbGVkIGZvciBpbnN0YW5jZSBsaWtlIHRoaXMgPGNvZGU+Jmx0O3R4cDplbGtfbWVkaWFwbGF5ZXIgdmlkZW89IjMsNCIgd2lkdGg9IjQwMCIgaGVpZ2h0PSIyMDAiIHBsd2lkdGg9IjIwMCIgLyZndDs8L2NvZGU+PGJyIC8+DQpwcm92aWRlZCB0aGF0IHRoZSBmaWxlIDxjb2RlPm1lZGlhcGxheWVyLnN3ZjwvY29kZT4gaXMgdXBsb2FkZWQgaW4gdGhlIHRleHRwYXR0ZXJuICJmaWxlcyIgZm9sZGVyLCBhbG9uZyB3aXRoIFNXRk9iamVjdCBqYXZhc2NyaXB0IGxpYnJhcnkgMS41IHRoYXQgY2FuIGJlIGZvdW5kIG9uIDxhIGhyZWY9Imh0dHA6Ly93d3cuamVyb2Vud2lqZXJpbmcuY29tLz9pdGVtPUpXX0ZMVl9NZWRpYV9QbGF5ZXIiPkplcm9lbidzIHdlYnNpdGU8L2E+LjwvcD4NCg0KPHA+UGFyYW1ldGVycyBhcmUgKG5vdCBleGhhdXN0aXZlIGFuZCBjYW4gYmUgYWRhcHRlZCBpbiB0aGUgY29kZSBpdHNlbGYpDQo8dWw+DQo8bGk+PGI+dmlkZW88L2I+OiBhIGxpc3Qgb2YgdmlkZW9zIChuYW1lcyBvciBJRHMsIHNlcGFyYXRlZCBieSBjb21tYXMpPC9saT4NCjxsaT48Yj53aWR0aDwvYj46IHdpZHRoIG9mIHRoZSBwbGF5ZXI8L2xpPg0KPGxpPjxiPmhlaWdodDwvYj46IGhlaWdodCBvZiB0aGUgcGxheWVyPC9saT4NCjxsaT48Yj5wbHdpZHRoPC9iPjogaGVpZ2h0IG9mIHRoZSBwbGF5bGlzdCwgaWYgYXBwbGljYWJsZSAoZGVmYXVsdD0wKTwvbGk+DQo8L3VsPg0KPC9wPg0KDQo8cD5OQjogdG8gc2ltcGxpZnkgdGhlIHVzZSBvZiB0aGUgcGx1Z2luLCB0aGUgRmxhc2ggUGxheWVyIHJlcXVpcmVzIGEgcGxheWxpc3QsIGV2ZW4gaWYgZm9yIGp1c3Qgb25lIGZpbGUuIEluIHRoYXQgY2FzZSwgaXQgcmVxdWlyZXMgYSBzcGVjaWFsIHNldHVwIG9mIHRleHRwYXR0ZXJuIHRvIGRlbGl2ZXIgYSBYTUwgZmlsZSB0aGF0IHdpbGwgY3JlYXRlIHRoZSBwbGF5bGlzdCBpdHNlbGYgKHNlZSBmdW5jdGlvbiA8Y29kZT5lbGtfcGxheWxpc3Q8L2NvZGU+KS4NCjxiciAvPg0KVGhpcyBjYW4gYmUgZG9uZSBieSBmb2xsb3dpbmcgdGhlc2Ugc3RlcHM6DQo8dWw+DQo8bGk+IGNyZWF0ZSBhICJwbGF5bGlzdCIgcGFnZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29kZTo8YnIgLz4NCjxjb2RlPiZsdDt0eHA6bWdfc2V0aGVhZGVyIC8mZ3Q7PGJyIC8+DQombHQ7dHhwOm91dHB1dF9mb3JtIGZvcm09InBsYXlsaXN0IiAvJmd0OzwvY29kZT4NCjxiciAvPg0KV2hlcmUgdGhlIHJlcXVpcmVkIHBsdWdpbiA8Y29kZT5tZ19zZXRoZWFkZXI8L2NvZGU+IGFsbG93cyB0byBjaGFuZ2UgdGhlIGhlYWRlciBzZW50IHRvIFhNTC4NCjwvbGk+DQo8bGk+Q3JlYXRlIGEgc2VjdGlvbiAicGxheWxpc3QiLCB1c2luZyB0aGUgcGFnZSAicGxheWxpc3QiPC9saT4NCjxsaT5DcmVhdGUgdGhlIGZvcm0gInBsYXlsaXN0IiBhcyBmb2xsb3dzIChhIGJpdCBkaXJ0eSwgd291bGQgd2VsY29tZSBhIG1vcmUgZWxlZ2FudCBzb2x1dGlvbik8L3A+DQo8cD48Y29kZT4NCiZsdDt0eHA6cGhwJmd0OzxiciAvPg0KJHZpZGVvcyA9IGlzc2V0KCRfR0VUWyJ2Il0pID8gJF9HRVRbInYiXSA6ICIiIDs8YnIgLz4NCnBhcnNlKCImbHQ7dHhwOmVsa19wbGF5bGlzdCBpZD1cIiR2aWRlb3NcIiAvJmd0OyIpIDs8YnIgLz4NCiZsdDsvdHhwOnBocCZndDs8Y29kZT4NCjwvcD4NCjxwPllvdSBjYW4gYWRkIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyB0byBoYXZlIHlvdXIgcGxheWxpc3Qgc29ydGVkIDxjb2RlPnNvcnRieT0iaWQiIHNvcnQ9ImFzYyI8L2NvZGU+IGZvciBpbnN0YW5jZS48YnIgLz4NCklmIHlvdSB3YW50IHRoZSBzb3J0aW5nIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBsaXN0IHlvdSBwcm92aWRlLCBqdXN0IHB1dCBzb3J0PSJub25lIiAoZGVmYXVsdCkgYW5kIG1ha2Ugc3VyZSB5b3UgZ2l2ZSB0aGUgc2FtZSB0eXBlIChpZCBPUiBuYW1lcykgaW4geW91ciBsaXN0Lg0KPC9wPg0KDQoNCjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gaW4gdmVyc2lvbiA+IDAuMSB0aGUgcGx1Z2luIHRha2VzIHRoZSBmaXJzdCBhcnRpY2xlIGltYWdlIChpZiBhbnkgcHJvdmlkZWQpIHRvIHB1dCBhcyBhIHByZXZpZXcgaW1hZ2UgaW4gdGhlIG1lZGlhcGxheWVyLg0KSWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoaXMsIHlvdSBuZWVkIHRvIGNoYW5nZSB0aGUgZm9ybSBhY2NvcmRpbmdseSwgc28gdGhhdCB0aGUgcGFnZSBjYW4gcGFzcyB0aGUgaW1hZ2UgaWQgdG8gdGhlIFhNTCBwbGF5bGlzdDoNCjwvcD4NCjxwPjxjb2RlPg0KJmx0O3R4cDpwaHAmZ3Q7PGJyIC8+DQokdmlkZW9zID0gaXNzZXQoJF9HRVRbInYiXSkgPyAkX0dFVFsidiJdIDogIiIgOzxiciAvPg0KJGltYWdlID0gaXNzZXQoJF9HRVRbImkiXSkgPyAkX0dFVFsiaSJdIDogIiIgOzxici8+DQokc29ydCA9IGlzc2V0KCRfR0VUWyJzdCJdKSA/ICRfR0VUWyJzdCJdIDogIiIgOzxici8+DQokc29ydGJ5ID0gaXNzZXQoJF9HRVRbInNiIl0pID8gJF9HRVRbInNiIl0gOiAiIiA7PGJyLz4NCnBhcnNlKCImbHQ7dHhwOmVsa19wbGF5bGlzdCBpZD1cIiR2aWRlb3NcIiBpbWc9XCIkaW1hZ2VcIiBzb3J0PVwiJHNvcnRcIiBzb3J0Ynk9XCIkc29ydGJ5XCIgLyZndDsiKSA7PGJyIC8+DQombHQ7L3R4cDpwaHAmZ3Q7DQo8L2NvZGU+DQo8L3A+DQoNCiI7czo0OiJjb2RlIjtzOjUwMTM6Ii8vIEZ1bmN0aW9ucyByZWxhdGVkIHRvIGVsa19tZWRpYXBsYXllcg0KLy8gdjAuMmENCg0KZnVuY3Rpb24gZWxrX2hleGFjb2xvcigkcykgew0KICByZXR1cm4gc3RyX3JlcGxhY2UoJyMnLCAnMHgnLCAkcyk7DQp9DQoNCmZ1bmN0aW9uIGVsa19tZWRpYXBsYXllcigkYXR0cykgew0KZ2xvYmFsICR0aGlzYXJ0aWNsZTsNCgkJZXh0cmFjdChsQXR0cyhhcnJheSgNCgkJCSdwbGF5ZXInPT4gJ21lZGlhcGxheWVyLnN3ZicsDQoJCQkndmlkZW8nPT4nJywgDQoJCQknd2lkdGgnPT4gICczMjAnLA0KCQkJJ2hlaWdodCc9PiAgJzI0MCcsDQoJCQkncGx3aWR0aCc9PiAnMCcsIC8vbm8gcGxheWxpc3QgYnkgZGVmYXVsdA0KCQkJJ2F1dG9zdGFydCc9PiAnZmFsc2UnLA0KCQkJJ2JhY2tjb2xvcic9PiAnMHgwMDAwMDAnLCAvL2NhbiBiZSBzZXQgZWl0aGVyIGluICIjMDAwMDAwIiBmb3JtYXQgb3IgIjB4MDAwMDAwIg0KCQkJJ2xpZ2h0Y29sb3InID0+ICcweDAwOTlDQycsDQoJCQknZnJvbnRjb2xvcicgPT4gJzB4RUVFRUVFJywNCgkJCSdzY3JlZW5jb2xvcicgPT4gJzB4MzkyODQyJywNCgkJCSdzb3J0JyA9PiAnbm9uZScsIC8vIGNhbiBiZSBzZXQgdG8gImFzYyIgKGFzY2VuZGluZyksICJkZXNjIiAoZGVzY2VuZGluZykgb3IgIm5vbmUiIChzYW1lIG9yZGVyIGFzIHRoZSBvbmUgZ2l2ZW4pDQoJCQknc29ydGJ5JyA9PiAnaWQnLCAvLyBzb3J0IGJ5ICJpZCIgb3IgIm5hbWUiID8NCgkJKSwkYXR0cykpOw0KDQoJCQkkYmFja2NvbG9yID0gZWxrX2hleGFjb2xvcigkYmFja2NvbG9yKTsNCgkJCSRsaWdodGNvbG9yID0gZWxrX2hleGFjb2xvcigkbGlnaHRjb2xvcik7DQoJCQkkZnJvbnRjb2xvciA9IGVsa19oZXhhY29sb3IoJGZyb250Y29sb3IpOw0KCQkJJHNjcmVlbmNvbG9yID0gZWxrX2hleGFjb2xvcigkc2NyZWVuY29sb3IpOw0KDQoJCQkkb3V0W10gPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2ZpbGVzL3N3Zm9iamVjdC5qcyI+PC9zY3JpcHQ+JzsNCgkJCSRvdXRbXSA9ICc8ZGl2IGlkPSJ2XycuJHZpZGVvLiciIHN0eWxlPSJmb250LXNpemU6ODAlO3dpZHRoOjQwMHB4O2NvbG9yOiMxMTE7Ij5JZiB5b3UgY2FuIHNlZSB0aGlzIG1lc3NhZ2UsIHRoZW4geW91IG5lZWQgdG8gYWN0aXZhdGUgamF2YXNjcmlwdCBhbmQgZmxhc2ggdG8gYmUgYWJsZSB0byBzZWUgdGhlIHZpZGVvcy4uLjwvZGl2Pic7DQoJCQkkb3V0W10gPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPic7DQoJCQkkb3V0W10gPSAidmFyIHNvID0gbmV3IFNXRk9iamVjdCgnL2ZpbGVzL21lZGlhcGxheWVyLnN3ZicsJ3ZpZGVvJHZpZGVvJywnIg0KCQkJCS4oJHdpZHRoKyRwbHdpZHRoKS4iJywnJGhlaWdodCcsJzgnLCciDQoJCQkJLnN0cl9yZXBsYWNlKCcweCcsICcjJywgJHNjcmVlbmNvbG9yKQ0KCQkJCS4iJyk7IjsNCgkJCSRvdXRbXSA9ICJzby5hZGRQYXJhbSgnYWxsb3dzY3JpcHRhY2Nlc3MnLCdhbHdheXMnKTsiOw0KCQkJJG91dFtdID0gInNvLmFkZFBhcmFtKCdhbGxvd2Z1bGxzY3JlZW4nLCd0cnVlJyk7IjsNCgkJCSRvdXRbXSA9ICJzby5hZGRWYXJpYWJsZSgnd2lkdGgnLCciLigkd2lkdGgrJHBsd2lkdGgpLiInKTsiOw0KCQkJJG91dFtdID0gInNvLmFkZFZhcmlhYmxlKCdoZWlnaHQnLCckaGVpZ2h0Jyk7IjsNCgkJCQkJJHZpZGVvcGwgPSAkdmlkZW87DQoJCQkJCWlmKCFlbXB0eSgkdGhpc2FydGljbGVbJ2FydGljbGVfaW1hZ2UnXSkpIHsNCgkJCQkJCSRnZXRJbWdzID0gc3BsaXQoJywnLCR0aGlzYXJ0aWNsZVsnYXJ0aWNsZV9pbWFnZSddKTsNCgkJCQkJCWlmKGNvdW50KCRnZXRJbWdzKSA9PSAxKXsgJHZpZGVvcGwgLj0iJmk9Ii4kZ2V0SW1nc1swXTsgfQ0KCQkJCQkJfSANCgkJCQkJJHZpZGVvcGwgLj0gIiZzdD0kc29ydCZzYj0kc29ydGJ5IjsNCgkJCSRvdXRbXSA9ICJzby5hZGRWYXJpYWJsZSgnZmlsZScsICciLmh1LnJhd3VybGVuY29kZSgicGxheWxpc3Q/dj0kdmlkZW9wbCIpLiInKTsiOyANCgkJCSRvdXRbXSA9ICJzby5hZGRWYXJpYWJsZSgnamF2YXNjcmlwdGlkJywndmlkZW8kdmlkZW8nKTsiOw0KCQkJJG91dFtdID0gInNvLmFkZFZhcmlhYmxlKCdlbmFibGVqcycsJ3RydWUnKTsiOw0KCQkJJG91dFtdID0gInNvLmFkZFZhcmlhYmxlKCdiYWNrY29sb3InLCckYmFja2NvbG9yJyk7IjsgDQoJCQkkb3V0W10gPSAic28uYWRkVmFyaWFibGUoJ2xpZ2h0Y29sb3InLCckbGlnaHRjb2xvcicpOyI7DQoJCQkkb3V0W10gPSAic28uYWRkVmFyaWFibGUoJ2Zyb250Y29sb3InLCckZnJvbnRjb2xvcicpOyI7DQoJCQkkb3V0W10gPSAic28uYWRkVmFyaWFibGUoJ3NjcmVlbmNvbG9yJywnJHNjcmVlbmNvbG9yJyk7IjsNCg0KCQkJJG91dFtdID0gInNvLmFkZFZhcmlhYmxlKCdhdXRvc3RhcnQnLCckYXV0b3N0YXJ0Jyk7IjsNCg0KLy8gZm9yIHRoZSBwbGF5bGlzdCBhcHBlYXJhbmNlDQoJCQlpZigkcGx3aWR0aCkgew0KCQkJJG91dFtdID0gInNvLmFkZFZhcmlhYmxlKCdhdXRvc2Nyb2xsJywndHJ1ZScpOyI7DQovLwkJCSRvdXRbXSA9ICJzby5hZGRWYXJpYWJsZSgnZGlzcGxheWhlaWdodCcsJ3RydWUnKTsiOw0KCQkJJG91dFtdID0gInNvLmFkZFZhcmlhYmxlKCdkaXNwbGF5d2lkdGgnLCckcGx3aWR0aCcpOyI7DQoJCQkkb3V0W10gPSAic28uYWRkVmFyaWFibGUoJ3RodW1ic2lucGxheWxpc3QnLCd0cnVlJyk7IjsNCgkJCX0NCgkJCSRvdXRbXSA9ICJzby53cml0ZSgndl8kdmlkZW8nKTsiOw0KCQkJJG91dFtdID0gJzwvc2NyaXB0PicgOw0KCQkJcmV0dXJuIGpvaW4obiwkb3V0KTsNCgkJfQ0KCQkNCmZ1bmN0aW9uIGVsa19xdW90ZV90aGlzKCRzKQ0Kew0KICAgIHJldHVybigiJyIuYWRkc2xhc2hlcygkcykuIiciKTsNCn0NCg0KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpmdW5jdGlvbiBlbGtfcGxheWxpc3QoJGF0dHMsICR0aGluZz0nJykgew0KICBnbG9iYWwgJERCLCRpbWdfZGlyOw0KICAgZXh0cmFjdChsQXR0cyhhcnJheSgNCiAgICAgICdpZCcgPT4gJycsDQoJICAnaW1nJz0+ICcnLA0KICAgICAgJ25iJyA9PiAwLA0KCSAgJ3NvcnQnID0+ICdub25lJywgLy8gY2FuIGJlIHNldCB0byAiYXNjIiAoYXNjZW5kaW5nKSwgImRlc2MiIChkZXNjZW5kaW5nKSBvciAibm9uZSIgKHNhbWUgb3JkZXIgYXMgdGhlIG9uZSBnaXZlbikNCgkgICdzb3J0YnknID0+ICdpZCcsIC8vIHNvcnQgYnkgImlkIiBvciAibmFtZSIgPw0KICAgKSwkYXR0cykpOw0KDQovLyBHZW5lcmF0ZXMgYSBwbGF5bGlzdCBmcm9tIHRleHRwYXR0ZXJuIGRhdGFiYXNlDQovLyBuZXh0LCBxdWVyeSBmb3IgYSBsaXN0IG9mIHRpdGxlcywgZmlsZXMgYW5kIGxpbmtzLg0KaWYgKCRpZCkgew0KJGlkUSA9IGV4cGxvZGUoJywnLCRpZCk7DQokaWRfbGlzdCA9IGFycmF5X21hcCgiZWxrX3F1b3RlX3RoaXMiLCAkaWRRKTsNCiRpZFEgPSBpbXBsb2RlKCcsJywkaWRfbGlzdCk7DQoNCiRzcWwgPSAiU0VMRUNUIGlkLCBmaWxlbmFtZSwgZGVzY3JpcHRpb24sIHNpemUgRlJPTSBgIi5QRlguInR4cF9maWxlYCBXSEVSRSBgaWRgIElOICgkaWRRKSBPUiBgZmlsZW5hbWVgIGluICgkaWRRKSIgOyANCg0KaWYgKCgkc29ydGJ5ICE9ICdpZCcpICYmICAoJHNvcnRieSAhPSAnbmFtZScpKSAkc29ydGJ5ID0gJ2lkJzsNCnN3aXRjaCAoc3RydG91cHBlcigkc29ydCkpIHsNCmNhc2UgJ0FTQyc6DQogICAgJHNxbCAuPSAiIE9SREVSIEJZIGAkc29ydGJ5YCBBU0MgIjsNCiAgICBicmVhazsNCmNhc2UgJ0RFU0MnOg0KICAgICRzcWwgLj0gIiBPUkRFUiBCWSBgJHNvcnRieWAgREVTQyAiOw0KICAgIGJyZWFrOw0KZGVmYXVsdDoNCiAgICAkc3FsIC49ICIgT1JERVIgQlkgRklFTEQoJHNvcnRieSwgJGlkUSkgIjsNCiAgICBicmVhazsNCn0NCg0KJHJlcyA9IHNhZmVfcXVlcnkoJHNxbCk7DQokbmIgPSBteXNxbF9udW1yb3dzKCRyZXMpOw0KfQ0KDQovLyB0aGlyZCwgYnVpbGQgdGhlIHBsYXlsaXN0DQovL2hlYWRlcigiY29udGVudC10eXBlOnRleHQveG1sO2NoYXJzZXQ9dXRmLTgiKTsNCiRvdXRbXT0gIjxwbGF5bGlzdCB2ZXJzaW9uPScxJyB4bWxucz0naHR0cDovL3hzcGYub3JnL25zLzAvJz4iOw0KJG91dFtdPSAiPHRyYWNrTGlzdD4iOw0KDQppZiAoJG5iKSB7DQoJCS8vY2hlY2tpbmcgYXJ0aWNsZSBpbWFnZXMNCgkJaWYoIWVtcHR5KCRpbWcpKSB7DQoJCQkkaW1nYXJyYXkgPSBzYWZlX3JvdygnaWQsIGV4dCcsJ3R4cF9pbWFnZScsJ2lkID0iJy4kaW1nLiciJyk7DQoJCQkkaW1hZ2VfdGFnID0gIlx0XHQ8aW1hZ2U+Ii5odS4kaW1nX2Rpci4iL3skaW1nYXJyYXlbJ2lkJ119eyRpbWdhcnJheVsnZXh0J119PC9pbWFnZT4iOw0KCQl9IGVsc2UgJGltYWdlX3RhZyA9Jyc7DQoJCQkNCgkJCQ0KCXdoaWxlICgkcm93PSBteXNxbF9mZXRjaF9hcnJheSgkcmVzKSkgeyANCgkgICRvdXRbXT0gIlx0PHRyYWNrPiI7DQoJICAkb3V0W109ICJcdFx0PHRpdGxlPnskcm93WydkZXNjcmlwdGlvbiddfTwvdGl0bGU+IjsNCi8vCSAgJG91dFtdPSAiXHRcdDxsb2NhdGlvbj4iLmh1LiJmaWxlX2Rvd25sb2FkL3skcm93WydpZCddfTwvbG9jYXRpb24+IjsNCgkgICRvdXRbXT0gIlx0XHQ8bG9jYXRpb24+Ii5odS4iZmlsZXMveyRyb3dbJ2ZpbGVuYW1lJ119PC9sb2NhdGlvbj4iOw0KCSAgJG91dFtdPSAiXHRcdDxpbmZvPiN2XyRpZDwvaW5mbz4iOw0KCSAgJG91dFtdPSAiXHRcdDxpZGVudGlmaWVyPnskcm93WydpZCddfTwvaWRlbnRpZmllcj4iOw0KCSAgJG91dFtdPSAiXHRcdDxjcmVhdG9yPihjKSAiLnBhcnNlKCI8dHhwOnNpdGVfbmFtZSAvPiIpLiI8L2NyZWF0b3I+IjsNCgkgIGlmICghZW1wdHkoJGltYWdlX3RhZykpICRvdXRbXT0kaW1hZ2VfdGFnOw0KCSAgJG91dFtdPSAiXHQ8L3RyYWNrPiI7DQoJfQ0KDQp9DQoNCiRvdXRbXT0gIjwvdHJhY2tMaXN0PiI7DQokb3V0W109ICI8L3BsYXlsaXN0PiI7DQoNCnByaW50IGpvaW4obiwkb3V0KTsNCn0NCiI7czo0OiJ0eXBlIjtzOjE6IjAiO3M6MzoibWQ1IjtzOjMyOiJjN2JlOGY0MmE0MjA2MWE1YTdjMjIwNjQwZGE4MTQyNyI7fQ==