# Name: smd_parent v0.1 # Type: Client side plugin # A txp:category/cat1/cat2 extension with parent options # Author: Stef Dawson # URL: http://stefdawson.com/ # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjEwOiJzbWRfcGFyZW50IjtzOjc6InZlcnNpb24iO3M6Mzoi MC4xIjtzOjg6InJldmlzaW9uIjtzOjA6IiI7czo2OiJhdXRob3IiO3M6MTE6IlN0ZWYgRGF3 c29uIjtzOjEwOiJhdXRob3JfdXJpIjtzOjIyOiJodHRwOi8vc3RlZmRhd3Nvbi5jb20vIjtz OjExOiJkZXNjcmlwdGlvbiI7czo1NDoiQSB0eHA6Y2F0ZWdvcnkvY2F0MS9jYXQyIGV4dGVu c2lvbiB3aXRoIHBhcmVudCBvcHRpb25zIjtzOjQ6InR5cGUiO3M6MToiMCI7czo0OiJoZWxw IjtzOjYyNTY6Igk8cD48ZGl2IGlkPSJzbWRfaGVscCI+PC9wPgoKCTxoMT5zbWRfcGFyZW50 PC9oMT4KCgk8cD5BbiBleHRlbnNpb24gb2YgPGNvZGU+JiM2MDt0eHA6Y2F0ZWdvcnkgLyYj NjI7PC9jb2RlPiB0aGF0IGFsbG93cyBhbnkgcGFyZW50IGVsZW1lbnQgdG8gYmUgcmV0cmll dmVkLiBXb3JrcyB3aXRoIGFsbCBhcnRpY2xlLCBsaW5rLCBpbWFnZSBhbmQgZmlsZSBjYXRl Z29yeSB0eXBlcywgdGFrZXMgZXhhY3RseSB0aGUgc2FtZSBhcmd1bWVudHMgYXMgdGhlIGNv bnZlbnRpb25hbCA8Y29kZT5jYXRlZ29yeTwvY29kZT4gdGFnIHBsdXMgdGhlIGZvbGxvd2lu ZyBhdHRyaWJ1dGVzLjwvcD4KCgk8aDQgY2xhc3M9ImF0dC1uYW1lICIgaWQ9ImZpZWxkIj5s ZXZlbDwvaDQ+CgoJPHA+VGhlIHBhcmVudCBsZXZlbCB0byByZXR1cm4uIERlZmF1bHRzIHRv ICYjODIyMDsxJiM4MjIxOyAoaS5lLiB0aGUgJiM4MjIwO3RvcG1vc3QgbGV2ZWwmIzgyMjE7 KS4gQW55IGludGVnZXIgcmV0dXJucyB0aGF0IHBhcnRpY3VsYXIgcGFyZW50IGxldmVsOyBh IG5lZ2F0aXZlIG51bWJlciBzcGVjaWZpZXMgYW4gb2Zmc2V0ICYjODIyMDtiYWNrIHVwIHRo ZSB0cmVlJiM4MjIxOyBmcm9tIHRoZSBjdXJyZW50IGNhdGVnb3J5PC9wPgoKCTxoNCBjbGFz cz0iYXR0LW5hbWUgIiBpZD0iZmllbGQiPmNhdG51bTwvaDQ+CgoJPHA+QnkgZGVmYXVsdCB0 aGUgcGx1Z2luIGFsd2F5cyBjaG9vc2VzIHRoZSBnbG9iYWwgY2F0ZWdvcnkgKDxjb2RlPj9j PC9jb2RlPikgdW5sZXNzIHlvdSBvdmVycmlkZSBpdCB3aXRoIHRoZSA8Y29kZT5uYW1lPC9j b2RlPiBhdHRyaWJ1dGUuIElmIHlvdSB1c2UgYSA8Y29kZT4xPC9jb2RlPiBvciBhIDxjb2Rl PjI8L2NvZGU+IGZvciB0aGUgPGNvZGU+Y2F0bnVtPC9jb2RlPiBvcHRpb24geW91IHRlbGwg dGhlIHBsdWdpbiB0byB1c2UgdGhlIGNhdGVnb3J5MSBvciBjYXRlZ29yeTIgdmFsdWUgaW5z dGVhZDwvcD4KCgk8aDMgaWQ9Im5vdGVzIj5Ob3RlczwvaDM+CgoJPG9sPgoJCTxsaT5Vc2lu ZyB0aGUgPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlIDxlbT5hbHdheXM8L2VtPiBvdmVy cmlkZXMgYW55IGNhdG51bSBvciBnbG9iYWwgY2F0ZWdvcnkgKGV2ZW4gaWYgaXQmIzgyMTc7 cyBhIHR5cG8hKTwvbGk+CgkJPGxpPlVzaW5nIDxjb2RlPmNhdG51bTwvY29kZT4gZm9yY2Vz IDxjb2RlPnR5cGU8L2NvZGU+IHRvICYjODIyMDthcnRpY2xlJiM4MjIxOyBmb3Igb2J2aW91 cyByZWFzb25zIGFuZCBhbHNvIGZvcmNlcyB0aGUgdGFnIHRvIGJlIHVzZWQgaW4gYW4gYXJ0 aWNsZSBjb250ZXh0LiBZb3Ugd2lsbCBnZXQgYSB0YWcgd2FybmluZyBpZiB0aGlzIGNvbmRp dGlvbiBpcyBub3QgbWV0LCBleGFjdGx5IGFzIHdpdGggPGNvZGU+JiM2MDt0eHA6Y2F0ZWdv cnkxIC8mIzYyOzwvY29kZT4gb3IgPGNvZGU+JiM2MDt0eHA6Y2F0ZWdvcnkyIC8mIzYyOzwv Y29kZT48L2xpPgoJCTxsaT5JZiBhdCBhbnkgdGltZSB0aGUgcGFyZW50IGxldmVsICYjODIy MDtmYWxscyBvZmYmIzgyMjE7IHRoZSB0cmVlIHlvdSB3aWxsIGdldCBub3RoaW5nIGJhY2s8 L2xpPgoJCTxsaT5JZiB5b3UgdGVsbCB0aGUgcGx1Z2luIHRvIHJldHVybiB0aGUgY3VycmVu dCBjYXRlZ29yeSB5b3Ugd2lsbCBhbHNvIGdldCBub3RoaW5nIGJhY2sgKHVzZSA8Y29kZT4m IzYwO3R4cDpjYXRlZ29yeSAvJiM2Mjs8L2NvZGU+IGZvciB0aGF0ISk8L2xpPgoJPC9vbD4K Cgk8cD5BbGwgb3RoZXIgYXR0cmlidXRlcyA8Y29kZT5jbGFzczwvY29kZT4sIDxjb2RlPmxp bms8L2NvZGU+LCA8Y29kZT50aXRsZTwvY29kZT4sIDxjb2RlPndyYXB0YWc8L2NvZGU+LCA8 Y29kZT5uYW1lPC9jb2RlPiwgPGNvZGU+c2VjdGlvbjwvY29kZT4sIDxjb2RlPnRoaXNfc2Vj dGlvbjwvY29kZT4sIGFuZCA8Y29kZT50eXBlPC9jb2RlPiBhcmUgaG9ub3VyZWQgZXhhY3Rs eSBhcyB0aGV5IGFyZSBpbiA8Y29kZT4mIzYwO3R4cDpjYXRlZ29yeSAvJiM2Mjs8L2NvZGU+ LjwvcD4KCgk8aDI+QXV0aG9yPC9oMj4KCgk8cD48YSBocmVmPSJodHRwOi8vc3RlZmRhd3Nv bi5jb20vY29tbWVudEZvcm0iPlN0ZWYgRGF3c29uPC9hPi4gV3JpdHRlbiBmb3IgPHNwYW4g Y2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4gdXNlciBLamVsZCBEdWl0cyBhbmQgZ2l2ZW4gdG8g dGhlIGNvbW11bml0eS48L3A+CgoJPGgyPkluc3RhbGxhdGlvbiAvIFVuaW5zdGFsbGF0aW9u PC9oMj4KCgk8cD5Eb3dubG9hZCB0aGUgcGx1Z2luIGZyb20gZWl0aGVyIDxhIGhyZWY9Imh0 dHA6Ly90ZXh0cGF0dGVybi5vcmcvcGx1Z2lucy85NDAvc21kX3BhcmVudCI+dGV4dHBhdHRl cm4ub3JnPC9hPiwgb3IgdGhlIDxhIGhyZWY9Imh0dHA6Ly9zdGVmZGF3c29uLmNvbS9zdyI+ c29mdHdhcmUgcGFnZTwvYT4sIHBhc3RlIHRoZSBjb2RlIGludG8gdGhlIDxzcGFuIGNsYXNz PSJjYXBzIj5UWFA8L3NwYW4+IEFkbWluIC0mIzYyOyBQbHVnaW5zIHBhbmUsIGluc3RhbGwg YW5kIGVuYWJsZSB0aGUgcGx1Z2luLjwvcD4KCgk8aDI+RXhhbXBsZXM8L2gyPgoKCTxwPkFs bCBleGFtcGxlcyB1c2UgdGhlIGZvbGxvd2luZyBjYXRlZ29yeSBzdHJ1Y3R1cmUgKGxldmVs IG51bWJlcnMgYXJlIGluIHBhcmVudGhlc2VzKTo8L3A+CgoJPHVsPgoJCTxsaT4oMSkgYW5p bWFsCgk8dWw+CgkJPGxpPigyKSBtYW1tYWwKCTx1bD4KCQk8bGk+KDMpIHRpZ2VyPC9saT4K CQk8bGk+KDMpIGxpb248L2xpPgoJCTxsaT4oMykgaHVtYW4KCTx1bD4KCQk8bGk+KDQpIG1h bGU8L2xpPgoJCTxsaT4oNCkgZmVtYWxlPC9saT4KCTwvdWw+PC9saT4KCQk8bGk+KDMpIHpl YnJhPC9saT4KCTwvdWw+PC9saT4KCQk8bGk+KDIpIHJlcHRpbGUKCTx1bD4KCQk8bGk+KDMp IGNyb2NvZGlsZTwvbGk+CgkJPGxpPigzKSBhbGxpZ2F0b3I8L2xpPgoJPC91bD48L2xpPgoJ PC91bD48L2xpPgoJPC91bD4KCgk8aDMgaWQ9ImVnMSI+RXhhbXBsZSAxPC9oMz4KCgk8cD5U aGUgZm9sbG93aW5nIHRhYmxlIHNob3dzIHRoZSByZXN1bHQgb2YgdmFyaW91cyB0YWcgYXR0 cmlidXRlcyB3aGVuIHlvdSBhcmUgaW4gdGhlIGdsb2JhbCBjYXRlZ29yeSAmIzgyMjA7emVi cmEmIzgyMjE7OjwvcD4KCgk8dGFibGU+CgkJPHRyPgoJCQk8dGg+VGFnIDwvdGg+CgkJCTx0 aD5SZXR1cm5zIDwvdGg+CgkJCTx0aD5FeHBsYW5hdGlvbiA8L3RoPgoJCTwvdHI+CgkJPHRy PgoJCQk8dGQ+IDxjb2RlPiYjNjA7dHhwOnNtZF9wYXJlbnQgLyYjNjI7PC9jb2RlPiA8L3Rk PgoJCQk8dGQ+YW5pbWFsPC90ZD4KCQkJPHRkPkRlZmF1bHQgaXMgdG9wIGxldmVsICgxKSA8 L3RkPgoJCTwvdHI+CgkJPHRyPgoJCQk8dGQ+IDxjb2RlPiYjNjA7dHhwOnNtZF9wYXJlbnQg bGV2ZWw9JiMzNDsyJiMzNDsgLyYjNjI7PC9jb2RlPiA8L3RkPgoJCQk8dGQ+bWFtbWFsPC90 ZD4KCQkJPHRkPlJldHJpZXZlcyBsZXZlbCAyIGNhdGVnb3J5IGluIHRoaXMgYnJhbmNoPC90 ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiA8Y29kZT4mIzYwO3R4cDpzbWRfcGFyZW50IGxl dmVsPSYjMzQ7LTEmIzM0OyAvJiM2Mjs8L2NvZGU+IDwvdGQ+CgkJCTx0ZD5tYW1tYWw8L3Rk PgoJCQk8dGQ+VHJhdmVyc2VzIG9uZSBsZXZlbCAmIzgyMjA7dXAmIzgyMjE7IGZyb20gd2hl cmUgd2UgYXJlPC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiA8Y29kZT4mIzYwO3R4cDpz bWRfcGFyZW50IGxldmVsPSYjMzQ7NDImIzM0OyAvJiM2Mjs8L2NvZGU+IDwvdGQ+CgkJCTx0 ZD4mIzE2MDs8L3RkPgoJCQk8dGQ+VGhlIG5hbWUgb2YgYSAxOTgwcyBwb3AgZ3JvdXAsIG5v dCBhIHZhbGlkIGNhdGVnb3J5IGxldmVsIDotKTwvdGQ+CgkJPC90cj4KCTwvdGFibGU+CgoJ PGgzIGlkPSJlZzIiPkV4YW1wbGUgMjwvaDM+CgoJPHA+V2hlbiB5b3UgYXJlIGluIGFuIGFy dGljbGUgd2l0aCBhIGNhdGVnb3J5MSBvZiAmIzgyMjA7emVicmEmIzgyMjE7IGFuZCBhIGds b2JhbCBjYXRlZ29yeSBvZiAmIzgyMjA7ZmVtYWxlJiM4MjIxOywgdGhlIGZvbGxvd2luZyB0 YWJsZSBzaG93cyB0aGUgcmVzdWx0IG9mIHZhcmlvdXMgdGFnIGF0dHJpYnV0ZXM6PC9wPgoK CTx0YWJsZT4KCQk8dHI+CgkJCTx0aD5UYWcgPC90aD4KCQkJPHRoPlJldHVybnMgPC90aD4K CQkJPHRoPkV4cGxhbmF0aW9uIDwvdGg+CgkJPC90cj4KCQk8dHI+CgkJCTx0ZD4gPGNvZGU+ JiM2MDt0eHA6c21kX3BhcmVudCBsZXZlbD0mIzM0Oy0xJiMzNDsgY2F0bnVtPSYjMzQ7MSYj MzQ7IC8mIzYyOzwvY29kZT4gPC90ZD4KCQkJPHRkPm1hbW1hbDwvdGQ+CgkJCTx0ZD5PbmUg bGV2ZWwgdXAgdGhlIHRyZWU8L3RkPgoJCTwvdHI+CgkJPHRyPgoJCQk8dGQ+IDxjb2RlPiYj NjA7dHhwOnNtZF9wYXJlbnQgbGV2ZWw9JiMzNDstMyYjMzQ7IC8mIzYyOzwvY29kZT4gPC90 ZD4KCQkJPHRkPmFuaW1hbDwvdGQ+CgkJCTx0ZD5UaHJlZSBsZXZlbHMgdXAgdGhlIHRyZWU7 IG9taXR0aW5nIGNhdG51bSB1c2VzIHRoZSBnbG9iYWwgY2F0ZWdvcnkgaW5zdGVhZDwvdGQ+ CgkJPC90cj4KCQk8dHI+CgkJCTx0ZD4gPGNvZGU+JiM2MDt0eHA6c21kX3BhcmVudCBuYW1l PSYjMzQ7Y3JvY29kaWxlJiMzNDsgbGV2ZWw9JiMzNDsyJiMzNDsgY2F0bnVtPSYjMzQ7MSYj MzQ7IC8mIzYyOzwvY29kZT4gPC90ZD4KCQkJPHRkPnJlcHRpbGU8L3RkPgoJCQk8dGQ+UmV0 dXJucyBsZXZlbCAyOyB0aGUgPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlIG92ZXJyaWRl cyA8ZW0+YWxsPC9lbT4gY2F0ZWdvcmllczwvdGQ+CgkJPC90cj4KCTwvdGFibGU+CgoJPGgy IGNsYXNzPSJjaGFuZ2Vsb2ciPkNoYW5nZWxvZzwvaDI+CgoJPHVsPgoJCTxsaT4xNSBKYW4g MDggfCA8YSBocmVmPSJodHRwOi8vc3RlZmRhd3Nvbi5jb20vZG93bmxvYWRzL3NtZF9wYXJl bnRfdjAuMS50eHQiPnYwLjE8L2E+IHwgSW5pdGlhbCByZWxlYXNlPC9saT4KCTwvdWw+CgoJ PHA+PC9kaXY+PC9wPgo8IS0tIC0tLSBCRUdJTiBQTFVHSU4gQ1NTIC0tLSAtLT4KPHN0eWxl IHR5cGU9InRleHQvY3NzIj4KI3NtZF9oZWxwIHsgbGluZS1oZWlnaHQ6MS4zIDt9CiNzbWRf aGVscCBjb2RlIHsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udDogMTA1JS8xMzAlICJDb3VyaWVy IE5ldyIsIGNvdXJpZXIsIG1vbm9zcGFjZTsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZDQzt9 CiNzbWRfaGVscCBjb2RlLmJsb2NrIHsgZm9udC13ZWlnaHQ6bm9ybWFsOyBib3JkZXI6MXB4 IGRvdHRlZCAjOTk5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlNjhjOyBkaXNwbGF5OmJsb2Nr OyBtYXJnaW46MTBweCAxMHB4IDIwcHg7IHBhZGRpbmc6MTBweDsgfQojc21kX2hlbHAgYTps aW5rLCAjc21kX2hlbHAgYTp2aXNpdGVkIHsgY29sb3I6IGJsdWU7IHRleHQtZGVjb3JhdGlv bjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsdWU7IHBhZGRpbmctYm90dG9t OjFweDt9CiNzbWRfaGVscCBhOmhvdmVyLCAjc21kX2hlbHAgYTphY3RpdmUgeyBjb2xvcjog Ymx1ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAycHggc29saWQg Ymx1ZTsgcGFkZGluZy1ib3R0b206MXB4O30KI3NtZF9oZWxwIGgxIHsgY29sb3I6ICMzNjk7 IGZvbnQ6IDIwcHggR2VvcmdpYSwgc2Fucy1zZXJpZjsgbWFyZ2luOiAwOyB0ZXh0LWFsaWdu OiBjZW50ZXI7IH0KI3NtZF9oZWxwIGgyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJs YWNrOyBwYWRkaW5nOjEwcHggMCAwOyBjb2xvcjogIzM2OTsgZm9udDogMTdweCBHZW9yZ2lh LCBzYW5zLXNlcmlmOyB9CiNzbWRfaGVscCBoMyB7IGNvbG9yOiAjNjkzOyBmb250OiBib2xk IDEycHggQXJpYWwsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxcHg7IG1hcmdpbjog MTBweCAwIDA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9CiNzbWRfaGVscCBoNCB7IGZv bnQ6IGJvbGQgMTFweCBBcmlhbCwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDFweDsg bWFyZ2luOiAxMHB4IDAgMCA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQojc21kX2hl bHAgLmF0dC1uYW1lIHsgZm9udC13ZWlnaHQ6Ym9sZDsgfQojc21kX2hlbHAgLm1hbmQgeyBi YWNrZ3JvdW5kOiNlZWU7IGJvcmRlcjoxcHggZG90dGVkICM5OTk7IH0KI3NtZF9oZWxwIHRh YmxlIHt3aWR0aDoxMDAlOyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZy1ib3R0b206MWVt O30KI3NtZF9oZWxwIHRkLCAjc21kX2hlbHAgdGgge2JvcmRlcjoxcHggc29saWQgIzk5OTsg cGFkZGluZzouNWVtO30KPC9zdHlsZT4KPCEtLSAtLS0gRU5EIFBMVUdJTiBDU1MgLS0tIC0t PgoiO3M6MzoiY3NzIjtzOjEyNzE6IjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiNzbWRfaGVs cCB7IGxpbmUtaGVpZ2h0OjEuMyA7fQojc21kX2hlbHAgY29kZSB7IGZvbnQtd2VpZ2h0OmJv bGQ7IGZvbnQ6IDEwNSUvMTMwJSAiQ291cmllciBOZXciLCBjb3VyaWVyLCBtb25vc3BhY2U7 IGJhY2tncm91bmQtY29sb3I6ICNGRkZGQ0M7fQojc21kX2hlbHAgY29kZS5ibG9jayB7IGZv bnQtd2VpZ2h0Om5vcm1hbDsgYm9yZGVyOjFweCBkb3R0ZWQgIzk5OTsgYmFja2dyb3VuZC1j b2xvcjogI2YwZTY4YzsgZGlzcGxheTpibG9jazsgbWFyZ2luOjEwcHggMTBweCAyMHB4OyBw YWRkaW5nOjEwcHg7IH0KI3NtZF9oZWxwIGE6bGluaywgI3NtZF9oZWxwIGE6dmlzaXRlZCB7 IGNvbG9yOiBibHVlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDFw eCBzb2xpZCBibHVlOyBwYWRkaW5nLWJvdHRvbToxcHg7fQojc21kX2hlbHAgYTpob3Zlciwg I3NtZF9oZWxwIGE6YWN0aXZlIHsgY29sb3I6IGJsdWU7IHRleHQtZGVjb3JhdGlvbjogbm9u ZTsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsdWU7IHBhZGRpbmctYm90dG9tOjFweDt9 CiNzbWRfaGVscCBoMSB7IGNvbG9yOiAjMzY5OyBmb250OiAyMHB4IEdlb3JnaWEsIHNhbnMt c2VyaWY7IG1hcmdpbjogMDsgdGV4dC1hbGlnbjogY2VudGVyOyB9CiNzbWRfaGVscCBoMiB7 IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjazsgcGFkZGluZzoxMHB4IDAgMDsgY29s b3I6ICMzNjk7IGZvbnQ6IDE3cHggR2VvcmdpYSwgc2Fucy1zZXJpZjsgfQojc21kX2hlbHAg aDMgeyBjb2xvcjogIzY5MzsgZm9udDogYm9sZCAxMnB4IEFyaWFsLCBzYW5zLXNlcmlmOyBs ZXR0ZXItc3BhY2luZzogMXB4OyBtYXJnaW46IDEwcHggMCAwO3RleHQtdHJhbnNmb3JtOiB1 cHBlcmNhc2U7fQojc21kX2hlbHAgaDQgeyBmb250OiBib2xkIDExcHggQXJpYWwsIHNhbnMt c2VyaWY7IGxldHRlci1zcGFjaW5nOiAxcHg7IG1hcmdpbjogMTBweCAwIDAgO3RleHQtdHJh bnNmb3JtOiB1cHBlcmNhc2U7IH0KI3NtZF9oZWxwIC5hdHQtbmFtZSB7IGZvbnQtd2VpZ2h0 OmJvbGQ7IH0KI3NtZF9oZWxwIC5tYW5kIHsgYmFja2dyb3VuZDojZWVlOyBib3JkZXI6MXB4 IGRvdHRlZCAjOTk5OyB9CiNzbWRfaGVscCB0YWJsZSB7d2lkdGg6MTAwJTsgdGV4dC1hbGln bjpjZW50ZXI7IHBhZGRpbmctYm90dG9tOjFlbTt9CiNzbWRfaGVscCB0ZCwgI3NtZF9oZWxw IHRoIHtib3JkZXI6MXB4IHNvbGlkICM5OTk7IHBhZGRpbmc6LjVlbTt9Cjwvc3R5bGU+Ijtz OjQ6ImNvZGUiO3M6MTI4NDoiZnVuY3Rpb24gc21kX3BhcmVudCgkYXR0cywgJHRoaW5nPScn KSB7CglnbG9iYWwgJHByZXRleHQsICR0aGlzYXJ0aWNsZTsKCglleHRyYWN0KGxBdHRzKGFy cmF5KAoJCSdjYXRudW0nID0+ICcnLAoJCSdsZXZlbCcgPT4gJzEnLAoJCSdjbGFzcycgPT4g JycsCgkJJ2xpbmsnID0+IDAsCgkJJ25hbWUnID0+ICcnLAoJCSdzZWN0aW9uJyA9PiAnJywK CQkndGhpc19zZWN0aW9uJyA9PiAwLAoJCSd0aXRsZScgPT4gMCwKCQkndHlwZScgPT4gJ2Fy dGljbGUnLAoJCSd3cmFwdGFnJyA9PiAnJywKCSksICRhdHRzKSk7CgoJLy8gU2V0IHRoZSBy ZWxldmFudCBjYXRlZ29yeTsgZWl0aGVyIG5hbWVkLCBnbG9iYWwsIGNhdDEgb3IgY2F0MgoJ JGNhdGVnb3J5ID0gKCRuYW1lKSA/ICRuYW1lIDogJHByZXRleHRbJ2MnXTsKCWlmICgkY2F0 bnVtICYmICEkbmFtZSkgewoJCWFzc2VydF9hcnRpY2xlKCk7CgkJJGNhdGVnb3J5ID0gImNh dGVnb3J5Ii4kY2F0bnVtOwoJCSRjYXRlZ29yeSA9ICgkdGhpc2FydGljbGVbJGNhdGVnb3J5 XSkgPyAkdGhpc2FydGljbGVbJGNhdGVnb3J5XSA6ICcnOwoJCSR0eXBlID0gJ2FydGljbGUn OwoJfQoJJG91dCA9ICcnOwoJaWYgKCRjYXRlZ29yeSkgewoJCSR0cmVlID0gZ2V0VHJlZVBh dGgoZG9TbGFzaCgkY2F0ZWdvcnkpLCAkdHlwZSk7CgkJJHJlcUxldmVsID0gJGN1cnJMZXZl bCA9IGNvdW50KCR0cmVlKSAtIDE7CgkJaWYgKHN0cnBvcygkbGV2ZWwsICItIikgPT09IDAp IHsKCQkJJGxldmVsRGlmZiA9IGludHZhbChzdWJzdHIoJGxldmVsLCAxKSk7CgkJCSRyZXFM ZXZlbCA9IChpc19udW1lcmljKCRsZXZlbERpZmYpKSA/ICRjdXJyTGV2ZWwgLSAkbGV2ZWxE aWZmIDogMDsKCQl9IGVsc2UgaWYgKGlzX251bWVyaWMoJGxldmVsKSkgewoJCQkkcmVxTGV2 ZWwgPSAkbGV2ZWw7CgkJfQoJCWlmICgkcmVxTGV2ZWwgPiAwICYmICRyZXFMZXZlbCA8ICRj dXJyTGV2ZWwpIHsKCQkJJGNhdGVnb3J5ID0gJHRyZWVbJHJlcUxldmVsXVsnbmFtZSddOwoJ CQkkb3V0ID0gY2F0ZWdvcnkoYXJyYXkoCgkJCQkJJ2NsYXNzJyA9PiAkY2xhc3MsCgkJCQkJ J2xpbmsnID0+ICRsaW5rLAoJCQkJCSd0aXRsZScgPT4gJHRpdGxlLAoJCQkJCSdzZWN0aW9u JyA9PiAkc2VjdGlvbiwKCQkJCQkndGhpc19zZWN0aW9uJyA9PiAkdGhpc19zZWN0aW9uLAoJ CQkJCSd3cmFwdGFnJyA9PiAkd3JhcHRhZywKCQkJCQknbmFtZScgPT4gJGNhdGVnb3J5LAoJ CQkJCSd0eXBlJyA9PiAkdHlwZSwKCQkJCSkgLCAkdGhpbmcpOwoJCX0KCX0KCXJldHVybiAk b3V0Owp9IjtzOjM6Im1kNSI7czozMjoiZjdiOTA1YWQ0ZWFiYjE0ZDEzYjAwMzUzNmQwN2Nk NDgiO30=