# Name: soo_page_break v0.1.2 # Type: Client side plugin # Pagination within an article # Author: Jeff Soo # URL: http://ipsedixit.net/txp/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE0OiJzb29fcGFnZV9icmVhayI7czo2OiJhdXRob3IiO3M6 ODoiSmVmZiBTb28iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjU6Imh0dHA6Ly9pcHNlZGl4aXQu bmV0L3R4cC8iO3M6NzoidmVyc2lvbiI7czo1OiIwLjEuMiI7czoxMToiZGVzY3JpcHRpb24i O3M6Mjg6IlBhZ2luYXRpb24gd2l0aGluIGFuIGFydGljbGUiO3M6NDoiaGVscCI7czoxNDc2 MDoiPGgxPnNvb19wYWdlX2JyZWFrPC9oMT4KPHA+VGhpcyBpcyBhIHBsdWdpbiBmb3IgPGEg aHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RleHRwYXR0ZXJuL3RleHRwYXR0ZXJuIj5UZXh0 cGF0dGVybjwvYT4uIEl0IHByb3ZpZGVzIGEgc3VpdGUgb2YgdGFncyBmb3IgaGFuZGxpbmcg YXJ0aWNsZXMgd2l0aCBib2R5IHRleHQgbWFya2VkIHVwIGFjY29yZGluZyB0byBhIGNvdXBs ZSBvZiB2ZXJ5IHNpbXBsZSBydWxlczogaW5kaWNhdGUgcGFnZSBicmVha3Mgd2l0aCAmcXVv dDtbJiM4MjAzO2JyZWFrXSZxdW90OyAob3IgYW5vdGhlciBkZWxpbWl0ZXIgb2YgeW91ciBj aG9pY2UpLCBhbmQgc29tZXdoZXJlIGFmdGVyIHRoZSBicmVhayBwdXQgYSBoZWFkaW5nIGVs ZW1lbnQgKDxjb2RlPmgxPC9jb2RlPiwgPGNvZGU+aDI8L2NvZGU+LCBldGMuKSBjb250YWlu aW5nIHRoZSB0aXRsZSBmb3IgdGhhdCBwYWdlLjwvcD4KPHA+U2VlIDxhIGhyZWY9Imh0dHA6 Ly9pcHNlZGl4aXQubmV0L3R4cC8xNTcvc29vX3BhZ2VfYnJlYWsiPmh0dHA6Ly9pcHNlZGl4 aXQubmV0L3R4cC8xNTcvc29vX3BhZ2VfYnJlYWs8L2E+IGZvciBmdXJ0aGVyIGRlc2NyaXB0 aW9uIHRvIGFuZCAgZG93bmxvYWQgdGhlIGxhdGVzdCB2ZXJzaW9uLCBvciBncmFiIHRoZSB0 aGUgY29tcGlsZWQgY29kZSBmcm9tIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v anNvby9zb29fcGFnZV9icmVhay9yZWxlYXNlcyI+R2l0SHViIHJlcG88L2E+LiBFaXRoZXIg d2F5LCBjb3B5IHRoZSBmdWxsIGNvbnRlbnRzIG9mIHRoZSBjb21waWxlZCBmaWxlIGFuZCBw YXN0ZSBpbnRvIHRoZSA8YSBocmVmPSJodHRwczovL2RvY3MudGV4dHBhdHRlcm4uaW8vYWRt aW5pc3RyYXRpb24vcGx1Z2lucy1wYW5lbCI+VGV4dHBhdHRlcm4gcGx1Z2luIGluc3RhbGxl cjwvYT4sIGFuZCBmb2xsb3cgdGhlIGluc3RydWN0aW9ucyBmcm9tIHRoZXJlLjwvcD4KPGgy PkNvbnRlbnRzPC9oMj4KPHVsPgo8bGk+PGEgaHJlZj0iI3JlcXVpcmVtZW50cyI+UmVxdWly ZW1lbnRzPC9hPjwvbGk+CjxsaT48YSBocmVmPSIjdXNhZ2UiPlVzYWdlPC9hPjwvbGk+Cjxs aT48YSBocmVmPSIjdGFncyI+VGFnczwvYT4KPHVsPgo8bGk+PGEgaHJlZj0iI3Nvb19hcnRp Y2xlX3BhZ2UiPnNvb19hcnRpY2xlX3BhZ2U8L2E+PC9saT4KPGxpPjxhIGhyZWY9IiNzb29f YXJ0aWNsZV9wYWdlX3RpdGxlIj5zb29fYXJ0aWNsZV9wYWdlX3RpdGxlPC9hPjwvbGk+Cjxs aT48YSBocmVmPSIjc29vX2FydGljbGVfcGFnZV9udW1iZXIiPnNvb19hcnRpY2xlX3BhZ2Vf bnVtYmVyPC9hPjwvbGk+CjxsaT48YSBocmVmPSIjc29vX2FydGljbGVfcGFnZV9saW5rIj5z b29fYXJ0aWNsZV9wYWdlX2xpbms8L2E+PC9saT4KPGxpPjxhIGhyZWY9IiNzb29fYXJ0aWNs ZV9wYWdlX25hdiI+c29vX2FydGljbGVfcGFnZV9uYXY8L2E+PC9saT4KPGxpPjxhIGhyZWY9 IiNzb29faWZfYXJ0aWNsZV9wYWdlIj5zb29faWZfYXJ0aWNsZV9wYWdlPC9hPjwvbGk+Cjxs aT48YSBocmVmPSIjc29vX2FydGljbGVfcGFnZV9zZWFyY2hfdXJsIj5zb29fYXJ0aWNsZV9w YWdlX3NlYXJjaF91cmw8L2E+PC9saT4KPC91bD48L2xpPgo8bGk+PGEgaHJlZj0iI2V4YW1w bGVzIj5FeGFtcGxlczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iI2hpc3RvcnkiPkhpc3Rvcnk8 L2E+PC9saT4KPC91bD4KPGgyIGlkPSJyZXF1aXJlbWVudHMiPlJlcXVpcmVtZW50czwvaDI+ CjxwPlRoaXMgcGx1Z2luIHdhcyBkZXZlbG9wZWQgb24gVGV4dHBhdHRlcm4gNC42IGFuZCBo YXMgbm90IGJlZW4gdGVzdGVkIG9uIGVhcmxpZXIgdmVyc2lvbnMuIEl0IHNob3VsZCBydW4g b24gYW55IHN5c3RlbSBjYXBhYmxlIG9mIHJ1bm5pbmcgVHhwIDQuNi4yIG9yIGxhdGVyLiBJ dCBkb2VzIG5vdCBpbnN0YWxsIGFueXRoaW5nIG90aGVyIHRoYW4gaXRzZWxmIGluIHRoZSBk YXRhYmFzZSAobm8gZXh0cmEgdGFibGVzLCBub3IgZXZlbiBwcmVmcywgYWx0aG91Z2ggcHJl ZnMgbWlnaHQgY29tZSBpbiBhIGxhdGVyIHZlcnNpb24pIGFuZCBpcyBwdWJsaWMtc2lkZSBv bmx5LCBub3QgY2hhbmdpbmcgdGhlIGFkbWluIHNpZGUgaW4gYW55IHdheS4gSXQgZG9lcyBu b3QgcmVxdWlyZSBjdXN0b20gZmllbGRzLjwvcD4KPHA+QWxsIG9mIHRoZXNlIHRhZ3MgcmVx dWlyZSBhcnRpY2xlIGNvbnRleHQuPC9wPgo8aDIgaWQ9InVzYWdlIj5Vc2FnZTwvaDI+Cjxw PkFkZCBwYWdlIGJyZWFrcyB0byBhbiBhcnRpY2xlIGJ5IGluc2VydGluZyAmcXVvdDtbJiM4 MjAzO2JyZWFrXSZxdW90OyAodGhlIGRlZmF1bHQgZGVsaW1pdGVyKSBvciBvdGhlciBkZWxp bWl0ZXIgb2YgeW91ciBjaG9pY2UuIEZvciBUZXh0aWxlLWVuYWJsZWQgYXJ0aWNsZXMgYmUg c3VyZSB0byBzdXJyb3VuZCB0aGUgYnJlYWsgZGVsaW1pdGVyIHdpdGggYmxhbmsgbGluZXMs IG90aGVyd2lzZSB0aGUgYnJlYWsgbWF5IG9jY3VyIGluIHRoZSBtaWRkbGUgb2YgYW4gSFRN TCBlbGVtZW50LCBwcm9kdWNpbmcgaW52YWxpZCBIVE1MIG91dHB1dC4gRG8gbm90IHVzZSBI VE1MIHNwZWNpYWwgY2hhcmFjdGVycyBpbiB5b3VyIGJyZWFrIGRlbGltaXRlciwgdW5sZXNz IHlvdSBhcmUgY2VydGFpbiBpdCB3aWxsIG5ldmVyIHVuZGVyZ28gVGV4dGlsZSB0cmFuc2Zv cm1hdGlvbi48L3A+CjxwPkZvciBleGFtcGxlOjwvcD4KPHByZT48Y29kZT4iTm8sIiBzYWlk IE1yLiBQcmVuZGVyZ2FzdC4KClsmIzgyMDM7YnJlYWtdCgpoMi4gQ2hhcHRlciBFaWdodDwv Y29kZT48L3ByZT4KPHA+PGNvZGU+c29vX2FydGljbGVfcGFnZTwvY29kZT4gaXMgYSBkcm9w LWluIHJlcGxhY2VtZW50IGZvciA8Y29kZT5ib2R5PC9jb2RlPi4gSWYgdGhlIGFydGljbGUg aGFzIHBhZ2UgYnJlYWtzLCBpdCB3aWxsIG91dHB1dCB0aGUgcGFnZSBpbmRpY2F0ZWQgYnkg dGhlIFVSTC4gPHN0cm9uZz5zb29fcGFnZV9icmVhazwvc3Ryb25nPiB1c2VzIHRoZSBzdGFu ZGFyZCBUeHAgcGFnaW5hdGlvbiBjb250ZXh0IChpLmUuLCB0aGUgPGNvZGU+cGc8L2NvZGU+ IHBhcmFtZXRlciBpbiB0aGUgVVJMJ3MgcXVlcnkgc3RyaW5nKS4gVHhwIGRvZXNuJ3QgYXBw bHkgcGFnaW5hdGlvbiB0byBpbmRpdmlkdWFsIGFydGljbGVzLCBzbyA8c3Ryb25nPnNvb19w YWdlX2JyZWFrPC9zdHJvbmc+IGRvZXMgbm90IGNvbmZsaWN0IHdpdGggc3RhbmRhcmQgVHhw IGJlaGF2aW9yLjwvcD4KPHA+VGhlIHJlc3Qgb2YgdGhlIHRhZ3MgZGVwZW5kIG9uIGhhdmlu ZyBhIDxjb2RlPnNvb19hcnRpY2xlX3BhZ2U8L2NvZGU+IHRhZyBlYXJsaWVyIGluIHRoZSBh cnRpY2xlIHRhZyBvciBmb3JtLiBZb3UgY2FuIHJ1biA8Y29kZT5zb29fYXJ0aWNsZV9wYWdl PC9jb2RlPiBpbiBxdWlldCBtb2RlIGlmIG5lY2Vzc2FyeS4gSXQgY2FjaGVzIHRoZSBwYWdl cyBpdCBmaW5kcywgc28gdGhlcmUgc2hvdWxkIGJlIG5vIHJlYWwgcGVyZm9ybWFuY2UgaGl0 IGZvciBydW5uaW5nIGl0IHR3aWNlLCBldmVuIGZvciBhIHZlcnkgbG9uZyBhcnRpY2xlLjwv cD4KPHA+PGNvZGU+c29vX2FydGljbGVfcGFnZV90aXRsZTwvY29kZT4gcmV0dXJucyB0aGUg Y29udGVudHMgb2YgdGhlIGZpcnN0IEhUTUwgaGVhZGluZyBlbGVtZW50IChpLmUuLCA8Y29k ZT5oMTwvY29kZT4sIDxjb2RlPmgyPC9jb2RlPiwgZXRjLikgaW4gYSBwYWdlLiBSYXRoZXIg dGhhbiB1c2luZyB0aGUgdGFnIGRpcmVjdGx5LCBpdCBpcyBnZW5lcmFsbHkgbW9yZSB1c2Vm dWwgdG8gYWNjZXNzIGl0IHRocm91Z2ggdGhlIHRleHQtcmVwbGFjZW1lbnQgZmVhdHVyZSBv ZiA8Y29kZT5zb29fYXJ0aWNsZV9wYWdlX2xpbms8L2NvZGU+IG9yIDxjb2RlPnNvb19hcnRp Y2xlX3BhZ2VfbmF2PC9jb2RlPiwgYXMgaW4gdGhlIGZvbGxvd2luZyBleGFtcGxlLDwvcD4K PHByZT48Y29kZT4mbHQ7dHhwOnNvb19hcnRpY2xlX3BhZ2VfbGluayB0ZXh0PSJ7dGl0bGV9 IiAvJmd0OzwvY29kZT48L3ByZT4KPHA+d2hpY2ggZGlzcGxheXMgYSBsaW5rIHRvIHRoZSBu ZXh0IHBhZ2UsIHVzaW5nIHRoZSBwYWdlIHRpdGxlIGFzIHRoZSBsaW5rIHRleHQuPC9wPgo8 cD48Y29kZT5zb29fYXJ0aWNsZV9wYWdlX251bWJlcjwvY29kZT4gZGlzcGxheXMgcGFnZSBp bmZvLCBlLmcuICZxdW90O1BhZ2UgMSBvZiA0JnF1b3Q7Lgo8Y29kZT5zb29fYXJ0aWNsZV9w YWdlX2xpbms8L2NvZGU+IG91dHB1dHMgYSBsaW5rIHRvIHRoZSBmaXJzdCwgcHJldmlvdXMs IG5leHQsIG9yIGxhc3QgcGFnZSwgb3IgdG8gYSBwYXJ0aWN1bGFyIHBhZ2UgbnVtYmVyLgo8 Y29kZT5zb29fYXJ0aWNsZV9wYWdlX25hdjwvY29kZT4gb3V0cHV0cyBhIG5hdiB3aWRnZXQg Zm9yIGFsbCBwYWdlcyBpbiB0aGUgYXJ0aWNsZS4gQnkgZGVmYXVsdCBpdCB1c2VzIHBhZ2Ug bnVtYmVycyBhcyBsaW5rIHRleHQsIGJ1dCBjYW4gYmUgY29uZmlndXJlZCB0byBzaG93IHBh Z2UgdGl0bGVzIGFuZC9vciBvdGhlciB0ZXh0LjwvcD4KPHA+PGNvZGU+c29vX2lmX2FydGlj bGVfcGFnZTwvY29kZT4gaXMgYSBjb25kaXRpb25hbCB3aXRoIHZhcmlvdXMgcG9zc2libGUg dGVzdHMgcGVydGFpbmluZyB0byBhcnRpY2xlIHBhZ2VzLjwvcD4KPHA+PGNvZGU+c29vX2Fy dGljbGVfcGFnZV9zZWFyY2hfdXJsPC9jb2RlPiBjYW4gYmUgdXNlZCBpbiBhIHNlYXJjaCBy ZXN1bHRzIGZvcm0gdG8gbGluayB0byB0aGUgZmlyc3QgYXJ0aWNsZSBwYWdlIG1hdGNoaW5n IHRoZSBzZWFyY2ggdGVybS48L3A+CjxoMiBpZD0idGFncyI+VGFnczwvaDI+CjxoMyBpZD0i c29vX2FydGljbGVfcGFnZSI+c29vX2FydGljbGVfcGFnZTwvaDM+CjxwcmU+PGNvZGU+Jmx0 O3R4cDpzb29fYXJ0aWNsZV9wYWdlIC8mZ3Q7PC9jb2RlPjwvcHJlPgo8aDQ+QXR0cmlidXRl czwvaDQ+Cjx1bD4KPGxpPgo8cD48Y29kZT5kZWxpbWl0ZXI8L2NvZGU+IDxlbT4odGV4dCk8 L2VtPiBkZWZhdWx0IDxjb2RlPlsmIzgyMDM7YnJlYWtdPC9jb2RlPjwvcD4KPHA+VGV4dCB0 byBpbnNlcnQgaW50byBhbiBhcnRpY2xlIGJvZHkgdG8gaW5kaWNhdGUgYSBwYWdlIGJyZWFr PC9wPgo8L2xpPgo8bGk+CjxwPjxjb2RlPnF1aWV0PC9jb2RlPiA8ZW0+KGJvb2xlYW4pPC9l bT4gZGVmYXVsdCA8Y29kZT4wPC9jb2RlPjwvcD4KPHA+V2hldGhlciBvciBub3QgdG8gcnVu IGluIHF1aWV0IG1vZGUsIGkuZS4sIGNhbGN1bGF0ZSBwYWdlIG51bWJlcnMgd2l0aG91dCBz aG93aW5nIGFueSBvdXRwdXQ8L3A+CjwvbGk+CjwvdWw+CjxwPklmIHVzaW5nIGEgZGVsaW1p dGVyIG90aGVyIHRoYW4gdGhlIGRlZmF1bHQgPGNvZGU+WyYjODIwMzticmVha108L2NvZGU+ LCBhbmQgdXNpbmcgbW9yZSB0aGFuIG9uZSA8Y29kZT5zb29fYXJ0aWNsZV9wYWdlPC9jb2Rl PiB0YWcgaW4gYW4gYXJ0aWNsZSBmb3JtLCBzZXQgdGhlIGN1c3RvbSA8Y29kZT5kZWxpbWl0 ZXI8L2NvZGU+IGF0dHJpYnV0ZSBpbiB0aGUgZmlyc3Qgb2YgdGhlIDxjb2RlPnNvb19hcnRp Y2xlX3BhZ2U8L2NvZGU+IHRhZ3MuPC9wPgo8aDMgaWQ9InNvb19hcnRpY2xlX3BhZ2VfdGl0 bGUiPnNvb19hcnRpY2xlX3BhZ2VfdGl0bGU8L2gzPgo8cHJlPjxjb2RlPiZsdDt0eHA6c29v X2FydGljbGVfcGFnZV90aXRsZSAvJmd0OzwvY29kZT48L3ByZT4KPGg0PkF0dHJpYnV0ZXM8 L2g0Pgo8dWw+CjxsaT4KPHA+PGNvZGU+cGFnZV9udW1iZXI8L2NvZGU+IDxlbT4oaW50KTwv ZW0+IGRlZmF1bHQgY3VycmVudCBwYWdlPC9wPgo8cD5QYWdlIG51bWJlciBvZiB0aGUgdGl0 bGUgdG8gZGlzcGxheTwvcD4KPC9saT4KPGxpPgo8cD48Y29kZT5jbGFzczwvY29kZT4gPGVt Pih0ZXh0KTwvZW0+IGRlZmF1bHQgZW1wdHk8L3A+CjxwPkhUTUwgY2xhc3MgYXR0cmlidXRl IGZvciB0aGUgbGluazwvcD4KPC9saT4KPGxpPgo8cD48Y29kZT53cmFwdGFnPC9jb2RlPiA8 ZW0+KHRleHQpPC9lbT4gZGVmYXVsdCBlbXB0eTwvcD4KPHA+SFRNTCB0YWcgbmFtZSAobm8g YnJhY2tldHMpIHRvIHdyYXAgdGhlIG91dHB1dDwvcD4KPC9saT4KPC91bD4KPGgzIGlkPSJz b29fYXJ0aWNsZV9wYWdlX251bWJlciI+c29vX2FydGljbGVfcGFnZV9udW1iZXI8L2gzPgo8 cHJlPjxjb2RlPiZsdDt0eHA6c29vX2FydGljbGVfcGFnZV9udW1iZXIgLyZndDs8L2NvZGU+ PC9wcmU+CjxoND5BdHRyaWJ1dGVzPC9oND4KPHVsPgo8bGk+CjxwPjxjb2RlPnRleHQ8L2Nv ZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IDxjb2RlPntwYWdlfSB7cGd9IHtvZn0ge3Rv dGFsfTwvY29kZT48L3A+CjxwPk91dHB1dCBmb3JtYXQuIDxjb2RlPntwZ308L2NvZGU+IGFu ZCA8Y29kZT57dG90YWx9PC9jb2RlPiB3aWxsIGJlIHJlcGxhY2VkIGJ5IG51bWJlcnMuIDxj b2RlPntwYWdlfTwvY29kZT4gYW5kIDxjb2RlPntvZn08L2NvZGU+IHdpbGwgYmUgcmVwbGFj ZWQgYnkgPGNvZGU+Z1R4dCgpPC9jb2RlPiB2YWx1ZXMsIHBlciBUeHAgaW50ZXJuYXRpb25h bGlzYXRpb24gc2V0dGluZ3MuPC9wPgo8L2xpPgo8bGk+CjxwPjxjb2RlPmNsYXNzPC9jb2Rl PiA8ZW0+KHRleHQpPC9lbT4gZGVmYXVsdCBlbXB0eTwvcD4KPHA+SFRNTCBjbGFzcyBhdHRy aWJ1dGUgZm9yIHRoZSBsaW5rPC9wPgo8L2xpPgo8bGk+CjxwPjxjb2RlPndyYXB0YWc8L2Nv ZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IGVtcHR5PC9wPgo8cD5IVE1MIHRhZyBuYW1l IChubyBicmFja2V0cykgdG8gd3JhcCB0aGUgb3V0cHV0PC9wPgo8L2xpPgo8L3VsPgo8aDMg aWQ9InNvb19hcnRpY2xlX3BhZ2VfbGluayI+c29vX2FydGljbGVfcGFnZV9saW5rPC9oMz4K PHByZT48Y29kZT4mbHQ7dHhwOnNvb19hcnRpY2xlX3BhZ2VfbGluayAvJmd0OzwvY29kZT48 L3ByZT4KPGg0PkF0dHJpYnV0ZXM8L2g0Pgo8cD5SZXF1aXJlZDogYnkgZGVmYXVsdCB0aGlz IHByb2R1Y2VzIGEgbGluayB0byB0aGUgbmV4dCBwYWdlLCBwZXIgdGhlIDxjb2RlPnJlbDwv Y29kZT4gYXR0cmlidXRlLiBJZiB5b3UgY2hhbmdlIDxjb2RlPnJlbDwvY29kZT4gdG8gc29t ZXRoaW5nIG90aGVyIHRoYW4gPGNvZGU+Zmlyc3Q8L2NvZGU+LCA8Y29kZT5sYXN0PC9jb2Rl Piwgb3IgPGNvZGU+cHJldjwvY29kZT4sIHlvdSBtdXN0IHNldCA8Y29kZT5wYWdlX251bWJl cjwvY29kZT4gdG8gYSB2YWxpZCBhcnRpY2xlIHBhZ2UgbnVtYmVyIHRvIGdldCB0aGUgdGFn IHRvIHByb2R1Y2UgYSBsaW5rLjwvcD4KPHVsPgo8bGk+CjxwPjxjb2RlPnBhZ2VfbnVtYmVy PC9jb2RlPiA8ZW0+KGludCk8L2VtPiBkZWZhdWx0IDA8L3A+CjxwPlBhZ2UgbnVtYmVyIHRv IGxpbmsgdG8sIGlmIG5vdCBpbmRpY2F0ZWQgYnkgPGNvZGU+cmVsPC9jb2RlPjwvcD4KPC9s aT4KPGxpPgo8cD48Y29kZT50ZXh0PC9jb2RlPiA8ZW0+KHRleHQpPC9lbT4gZGVmYXVsdCA8 Y29kZT57bmV4dH08L2NvZGU+PC9wPgo8cD5MaW5rIHRleHQuIDxjb2RlPntwZ308L2NvZGU+ IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIHBhZ2UgbnVtYmVyIHRoZSBsaW5rIHBvaW50cyB0 bywgPGNvZGU+e3BhZ2V9PC9jb2RlPiwgPGNvZGU+e3ByZXZ9PC9jb2RlPiwgYW5kIDxjb2Rl PntuZXh0fTwvY29kZT4gd2lsbCBiZSByZXBsYWNlZCBieSA8Y29kZT5nVHh0KCk8L2NvZGU+ IHZhbHVlcywgcGVyIFR4cCBpbnRlcm5hdGlvbmFsaXNhdGlvbiBzZXR0aW5ncywgYW5kIDxj b2RlPnt0aXRsZX08L2NvZGU+IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIDxjb2RlPnNvb19h cnRpY2xlX3BhZ2VfdGl0bGU8L2NvZGU+IG9mIHRoZSBsaW5rZWQgcGFnZSwgaWYgYXZhaWxh YmxlLjwvcD4KPC9saT4KPGxpPgo8cD48Y29kZT5yZWw8L2NvZGU+IDxlbT4odGV4dCk8L2Vt PiBkZWZhdWx0IDxjb2RlPm5leHQ8L2NvZGU+PC9wPgo8cD5MaW5rIHJlbGF0aW9uc2hpcC4g SWYgc2V0IHRvIDxjb2RlPmZpcnN0PC9jb2RlPiwgPGNvZGU+bGFzdDwvY29kZT4sIDxjb2Rl PnByZXY8L2NvZGU+LCBvciA8Y29kZT5uZXh0PC9jb2RlPiB0aGUgbGluayBVUkwgd2lsbCBw b2ludCB0byB0aGF0IHBhZ2UuIE90aGVyd2lzZSwgdGhlIGxpbmsgcGFnZSBudW1iZXIgd2ls bCBiZSBkZXRlcm1pbmVkIGJ5IDxjb2RlPnBhZ2VfbnVtYmVyPC9jb2RlPiAoc2VlIGFib3Zl KS4gSWYgeW91IHNldCA8Y29kZT5yZWw9IiI8L2NvZGU+IHRoZSBIVE1MIDxjb2RlPnJlbDwv Y29kZT4gYXR0cmlidXRlIHdpbGwgYmUgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5LjwvcD4K PC9saT4KPGxpPgo8cD48Y29kZT5yZXY8L2NvZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0 IGVtcHR5PC9wPgo8cD5SZXZlcnNlZCBsaW5rIHJlbGF0aW9uc2hpcC4gTGVhdmUgdW5zZXQg dG8gbGV0IHRoZSB0YWcgYWRkIGFuIGFwcHJvcHJpYXRlIHZhbHVlLjwvcD4KPC9saT4KPGxp Pgo8cD48Y29kZT5zaG93YWx3YXlzPC9jb2RlPiA8ZW0+KGJvb2xlYW4pPC9lbT4gZGVmYXVs dCA8Y29kZT4wPC9jb2RlPjwvcD4KPHA+V2hldGhlciBvciBub3QgdG8gb3V0cHV0IDxjb2Rl PnRleHQ8L2NvZGU+IGlmIHRoZSBsaW5rIGlzIGludmFsaWQgKGUuZy4sIDxjb2RlPnJlbD0i bmV4dCI8L2NvZGU+IHdoZW4geW91IGFyZSBvbiB0aGUgbGFzdCBwYWdlKS48L3A+CjwvbGk+ CjxsaT4KPHA+PGNvZGU+Y2xhc3M8L2NvZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IGVt cHR5PC9wPgo8cD5IVE1MIGNsYXNzIGF0dHJpYnV0ZSBmb3IgdGhlIGxpbms8L3A+CjwvbGk+ CjxsaT4KPHA+PGNvZGU+dGl0bGU8L2NvZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IGVt cHR5PC9wPgo8cD5IVE1MIHRpdGxlIGF0dHJpYnV0ZSBmb3IgdGhlIGxpbmsuIFVzZXMgdGhl IHNhbWUgdGV4dCByZXBsYWNlbWVudCBmb3JtdWxhIGFzIDxjb2RlPnRleHQ8L2NvZGU+LCBh Ym92ZS4gSWYgeW91IGluY2x1ZGUgPGNvZGU+e3RpdGxlfTwvY29kZT4gaGVyZSBhbmQgdXNl IFRleHRpbGUgaW4geW91ciBhcnRpY2xlcywgeW91IHNob3VsZCBhbHNvIHVuc2V0IDxjb2Rl PmVzY2FwZTwvY29kZT4uPC9wPgo8L2xpPgo8bGk+CjxwPjxjb2RlPmVzY2FwZTwvY29kZT4g PGVtPigmcXVvdDtodG1sJnF1b3Q7IG9yIHVuc2V0KTwvZW0+IGRlZmF1bHQgaHRtbDwvcD4K PHA+RXNjYXBlIEhUTUwgZW50aXRpZXMgc3VjaCBhcyAmbHQ7LCAmZ3Q7IGFuZCAmYW1wOyBp biB0aGUgPGNvZGU+dGl0bGU8L2NvZGU+IGF0dHJpYnV0ZTwvcD4KPC9saT4KPC91bD4KPGgz IGlkPSJzb29fYXJ0aWNsZV9wYWdlX25hdiI+c29vX2FydGljbGVfcGFnZV9uYXY8L2gzPgo8 cHJlPjxjb2RlPiZsdDt0eHA6c29vX2FydGljbGVfcGFnZV9uYXYgLyZndDs8L2NvZGU+PC9w cmU+CjxoND5BdHRyaWJ1dGVzPC9oND4KPHVsPgo8bGk+CjxwPjxjb2RlPnRleHQ8L2NvZGU+ IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IDxjb2RlPntwZ308L2NvZGU+IChwYWdlIG51bWJl cik8L3A+CjxwPkxpbmsgdGV4dC4gVXNlcyB0aGUgc2FtZSB0ZXh0IHJlcGxhY2VtZW50IGZv cm11bGEgYXMgPGNvZGU+c29vX2FydGljbGVfcGFnZV9saW5rPC9jb2RlPidzIDxjb2RlPnRl eHQ8L2NvZGU+IGFuZCA8Y29kZT50aXRsZTwvY29kZT4gYXR0cmlidXRlcy48L3A+CjwvbGk+ CjxsaT4KPHA+PGNvZGU+Y2xhc3M8L2NvZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IHNv b19hcnRpY2xlX3BhZ2VfbmF2PC9wPgo8cD5IVE1MIGNsYXNzIGF0dHJpYnV0ZSBmb3IgdGhl IHdyYXB0YWc8L3A+CjwvbGk+CjxsaT4KPHA+PGNvZGU+YWN0aXZlX2NsYXNzPC9jb2RlPiA8 ZW0+KHRleHQpPC9lbT4gZGVmYXVsdCBoZXJlPC9wPgo8cD5IVE1MIGNsYXNzIGF0dHJpYnV0 ZSBmb3IgdGhlIDxjb2RlPnNwYW48L2NvZGU+IHRhZyBjb250YWluaW5nIHRoZSBjdXJyZW50 IHBhZ2UgbnVtYmVyPC9wPgo8L2xpPgo8bGk+CjxwPjxjb2RlPndyYXB0YWc8L2NvZGU+IDxl bT4odGV4dCk8L2VtPiBkZWZhdWx0IGVtcHR5PC9wPgo8cD5IVE1MIHRhZyBuYW1lIChubyBi cmFja2V0cykgdG8gd3JhcCB0aGUgb3V0cHV0PC9wPgo8L2xpPgo8bGk+CjxwPjxjb2RlPmJy ZWFrPC9jb2RlPiA8ZW0+KHRleHQpPC9lbT4gZGVmYXVsdCBicjwvcD4KPHA+SFRNTCB0YWcg bmFtZSAobm8gYnJhY2tldHMpIG9yIHRleHQgdG8gc2VwYXJhdGUgaXRlbXM8L3A+CjwvbGk+ CjwvdWw+CjxoMyBpZD0ic29vX2lmX2FydGljbGVfcGFnZSI+c29vX2lmX2FydGljbGVfcGFn ZTwvaDM+CjxwcmU+PGNvZGU+Jmx0O3R4cDpzb29faWZfYXJ0aWNsZV9wYWdlJmd0OwogICBP dXRwdXQgaWYgdHJ1ZQombHQ7dHhwOmVsc2UgLyZndDsKICAgT3V0cHV0IGlmIGZhbHNlCiZs dDsvdHhwOnNvb19pZl9hcnRpY2xlX3BhZ2UmZ3Q7PC9jb2RlPjwvcHJlPgo8aDQ+QXR0cmli dXRlczwvaDQ+Cjx1bD4KPGxpPjxjb2RlPmZpcnN0PC9jb2RlPiA8ZW0+KGJvb2xlYW4gb3Ig dW5zZXQpPC9lbT4gZGVmYXVsdCB1bnNldDwvbGk+CjxsaT48Y29kZT5sYXN0PC9jb2RlPiA8 ZW0+KGJvb2xlYW4gb3IgdW5zZXQpPC9lbT4gZGVmYXVsdCB1bnNldDwvbGk+CjwvdWw+Cjxo ND5Qb3NzaWJsZSBjb25kaXRpb25hbCB0ZXN0czo8L2g0Pgo8ZGw+CjxkdD5ObyBhdHRyaWJ1 dGVzOjwvZHQ+CjxkZD5Eb2VzIHRoZSBhcnRpY2xlIGhhdmUgbXVsdGlwbGUgcGFnZXM/PC9k ZD4KPGR0Pjxjb2RlPmZpcnN0PSIxIjwvY29kZT48L2R0Pgo8ZGQ+SXMgdGhpcyB0aGUgZmly c3QgcGFnZSBvZiBhIG11bHRpLXBhZ2UgYXJ0aWNsZT88L2RkPgo8ZHQ+PGNvZGU+bGFzdD0i MSI8L2NvZGU+PC9kdD4KPGRkPklzIHRoaXMgdGhlIGxhc3QgcGFnZSBvZiBhIG11bHRpLXBh Z2UgYXJ0aWNsZT88L2RkPgo8ZHQ+PGNvZGU+Zmlyc3Q9IjAiPC9jb2RlPjwvZHQ+CjxkZD5J cyB0aGlzIGEgcGFnZSBvdGhlciB0aGFuIHRoZSBmaXJzdCBwYWdlPzwvZGQ+CjxkdD48Y29k ZT5sYXN0PSIwIjwvY29kZT48L2R0Pgo8ZGQ+SXMgdGhpcyBhIHBhZ2Ugb3RoZXIgdGhhbiB0 aGUgbGFzdCBwYWdlPzwvZGQ+CjxkdD48Y29kZT5maXJzdD0iMCIgbGFzdD0iMCI8L2NvZGU+ PC9kdD4KPGRkPklzIHRoaXMgYSBwYWdlIG90aGVyIHRoYW4gdGhlIGZpcnN0IG9yIGxhc3Qg cGFnZT88L2RkPgo8L2RsPgo8aDMgaWQ9InNvb19hcnRpY2xlX3BhZ2Vfc2VhcmNoX3VybCI+ c29vX2FydGljbGVfcGFnZV9zZWFyY2hfdXJsPC9oMz4KPHByZT48Y29kZT4mbHQ7dHhwOnNv b19hcnRpY2xlX3BhZ2Vfc2VhcmNoX3VybCAvJmd0OyAmbHQ7IS0tIExpbmsgdGV4dCBpcyB0 aGUgVVJMIC0tJmd0OwoKJmx0O3R4cDpzb29fYXJ0aWNsZV9wYWdlX3NlYXJjaF91cmwmZ3Q7 TGluayB0ZXh0Jmx0Oy90eHA6c29vX2FydGljbGVfcGFnZV9zZWFyY2hfdXJsJmd0OzwvY29k ZT48L3ByZT4KPGg0PkF0dHJpYnV0ZXM8L2g0Pgo8dWw+CjxsaT4KPHA+PGNvZGU+Y2xhc3M8 L2NvZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IGVtcHR5PC9wPgo8cD5IVE1MIGNsYXNz IGF0dHJpYnV0ZSBmb3IgdGhlIGxpbms8L3A+CjwvbGk+CjxsaT4KPHA+PGNvZGU+dGl0bGU8 L2NvZGU+IDxlbT4odGV4dCk8L2VtPiBkZWZhdWx0IGVtcHR5PC9wPgo8cD5IVE1MIHRpdGxl IGF0dHJpYnV0ZSBmb3IgdGhlIGxpbms8L3A+CjwvbGk+CjxsaT4KPHA+PGNvZGU+ZXNjYXBl PC9jb2RlPiA8ZW0+KCZxdW90O2h0bWwmcXVvdDsgb3IgdW5zZXQpPC9lbT4gZGVmYXVsdCBo dG1sPC9wPgo8cD5Fc2NhcGUgSFRNTCBlbnRpdGllcyBzdWNoIGFzICZsdDssICZndDsgYW5k ICZhbXA7IGluIHRoZSA8Y29kZT50aXRsZTwvY29kZT4gYXR0cmlidXRlPC9wPgo8L2xpPgo8 L3VsPgo8aDIgaWQ9ImV4YW1wbGVzIj5FeGFtcGxlczwvaDI+CjxoMz5JbiBhbiBhcnRpY2xl IGZvcm08L2gzPgo8cHJlPjxjb2RlPiZsdDt0eHA6c29vX2FydGljbGVfcGFnZSBxdWlldD0i MSIgZGVsaW1pdGVyPSJbcGFnZSBicmVha10iIC8mZ3Q7CiZsdDtoZWFkZXImZ3Q7CiAgICAm bHQ7aDImZ3Q7Jmx0O3R4cDp0aXRsZSAvJmd0OyZsdDsvaDImZ3Q7CiAgICAmbHQ7dHhwOnNv b19hcnRpY2xlX3BhZ2VfbnVtYmVyIHdyYXB0YWc9InAiIC8mZ3Q7CiZsdDsvaGVhZGVyJmd0 OwombHQ7YXJ0aWNsZSZndDsKICAgICZsdDt0eHA6c29vX2FydGljbGVfcGFnZSAvJmd0Owog ICAgJmx0O3R4cDpzb29fYXJ0aWNsZV9wYWdlX25hdiB3cmFwdGFnPSJ1bCIgYnJlYWs9Imxp IiAvJmd0OwombHQ7L2FydGljbGUmZ3Q7PC9jb2RlPjwvcHJlPgo8cD5SdW5uaW5nIDxjb2Rl PnNvb19hcnRpY2xlX3BhZ2U8L2NvZGU+IGluIHF1aWV0IG1vZGUgaXMgbmVjZXNzYXJ5IGhl cmUgYmVjYXVzZSB0aGUgPGNvZGU+c29vX2FydGljbGVfcGFnZV9udW1iZXI8L2NvZGU+IHRh ZyBjb21lcyBiZWZvcmUgdGhlIGFydGljbGUgYm9keSAoaS5lLiwgdGhlIHNlY29uZCA8Y29k ZT5zb29fYXJ0aWNsZV9wYWdlPC9jb2RlPiB0YWcpLiBOb3RlIHRoYXQgYSBjdXN0b20gPGNv ZGU+ZGVsaW1pdGVyPC9jb2RlPiBtdXN0IGJlIHNldCBpbiB0aGUgZmlyc3Qgb2YgdGhvc2Ug dGFncy48L3A+CjxwPlRoaXMgZm9ybSB3b3VsZCB3b3JrIGZpbmUgZm9yIG5vcm1hbCAoaS5l Liwgc2luZ2xlLXBhZ2UpIGFydGljbGVzIHRvbywgd2hlcmUgPGNvZGU+c29vX2FydGljbGVf cGFnZV9udW1iZXI8L2NvZGU+IGFuZCA8Y29kZT5zb29fYXJ0aWNsZV9wYWdlX25hdjwvY29k ZT4gd2lsbCBvdXRwdXQgbm90aGluZywgYW5kIDxjb2RlPnNvb19hcnRpY2xlX3BhZ2U8L2Nv ZGU+IHdpbGwgb3V0cHV0IHRoZSBlbnRpcmUgYXJ0aWNsZSBib2R5LjwvcD4KPGgzPkRpZmZl cmVudCBhcnRpY2xlIGZvcm1zIGZvciBzaW5nbGUtcGFnZSBhbmQgbXVsdGktcGFnZSBhcnRp Y2xlczwvaDM+CjxwcmU+PGNvZGU+Jmx0O3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7 CiAgICZsdDt0eHA6c29vX2FydGljbGVfcGFnZSBxdWlldD0iMSIgLyZndDsKICAgJmx0O3R4 cDpzb29faWZfYXJ0aWNsZV9wYWdlJmd0OwogICAgICAgJmx0O3R4cDphcnRpY2xlIGZvcm09 InBhZ2luYXRlZCIgLyZndDsKICAgJmx0O3R4cDplbHNlIC8mZ3Q7CiAgICAgICAmbHQ7dHhw OmFydGljbGUgLyZndDsKICAgJmx0Oy90eHA6c29vX2lmX2FydGljbGVfcGFnZSZndDsKJmx0 Oy90eHA6aWZfaW5kaXZpZHVhbF9hcnRpY2xlJmd0OzwvY29kZT48L3ByZT4KPGgzPkNvbmRp dGlvbmFsIHRleHQgZm9yIGZvcm1hdHRpbmcgcGFnZSBsaW5rczwvaDM+CjxwcmU+PGNvZGU+ Jmx0O3R4cDpzb29fYXJ0aWNsZV9wYWdlIC8mZ3Q7CiZsdDt0eHA6c29vX2FydGljbGVfcGFn ZV9saW5rIHJlbD0icHJldiIgdGV4dD0ie3ByZXZ9IHtwYWdlfSIgLyZndDsKJmx0O3R4cDpz b29faWZfYXJ0aWNsZV9wYWdlIGZpcnN0PSIwIiBsYXN0PSIwIiZndDsg4oCUICZsdDsvdHhw OnNvb19pZl9hcnRpY2xlX3BhZ2UmZ3Q7CiZsdDt0eHA6c29vX2FydGljbGVfcGFnZV9saW5r IHJlbD0ibmV4dCIgdGV4dD0ie25leHR9IHtwYWdlfSIgLyZndDs8L2NvZGU+PC9wcmU+Cjxw PkJlY2F1c2UgdGhlIDxjb2RlPnByZXY8L2NvZGU+IGFuZCA8Y29kZT5uZXh0PC9jb2RlPiBs aW5rcyBhcmUgbm90IHNldCB0byA8Y29kZT5zaG93YWx3YXlzPC9jb2RlPiwgd2Ugb25seSB3 YW50IHRoZSBzZXBhcmF0b3IgdGV4dCBvbiBhIG1pZGRsZSBwYWdlLCB3aGVuIGJvdGggbGlu a3MgYXJlIHZpc2libGUuPC9wPgo8aDM+SW4gYSBzZWFyY2gtcmVzdWx0cyBhcnRpY2xlIGZv cm08L2gzPgo8cHJlPjxjb2RlPiZsdDt0eHA6c29vX2FydGljbGVfcGFnZSBxdWlldD0iMSIg LyZndDsKJmx0O2gzJmd0OyZsdDt0eHA6c29vX2FydGljbGVfcGFnZV9zZWFyY2hfdXJsJmd0 OyZsdDt0eHA6dGl0bGUgLyZndDsmbHQ7L3R4cDpzb29fYXJ0aWNsZV9wYWdlX3NlYXJjaF91 cmwmZ3Q7Jmx0Oy9oMyZndDsKJmx0O3AmZ3Q7Jmx0O3R4cDpzZWFyY2hfcmVzdWx0X2V4Y2Vy cHQgbGltaXQ9IjIiIC8mZ3Q7CiAgICAmbHQ7YnIgLyZndDsKICAgICZsdDtzbWFsbCZndDsm bHQ7dHhwOnNvb19hcnRpY2xlX3BhZ2Vfc2VhcmNoX3VybCAvJmd0OyA6ICZsdDt0eHA6c2Vh cmNoX3Jlc3VsdF9kYXRlIC8mZ3Q7Jmx0Oy9zbWFsbCZndDsKJmx0Oy9wJmd0OzwvY29kZT48 L3ByZT4KPGgzPjxjb2RlPnNvb19hcnRpY2xlX3BhZ2VfbmF2PC9jb2RlPiBhcyBhIG51bWJl cmVkIHdpZGdldCwgw6AgbGEgR29vZ2xlPC9oMz4KPHByZT48Y29kZT4mbHQ7dHhwOnNvb19h cnRpY2xlX3BhZ2VfbmF2IC8mZ3Q7PC9jb2RlPjwvcHJlPgo8aDM+PGNvZGU+c29vX2FydGlj bGVfcGFnZV9uYXY8L2NvZGU+IGFzIGEgdGFibGUgb2YgY29udGVudHM8L2gzPgo8cHJlPjxj b2RlPiZsdDt0eHA6c29vX2FydGljbGVfcGFnZV9uYXYgd3JhcHRhZz0idWwiIGJyZWFrPSJs aSIgdGV4dD0ie3BnfS4ge3RpdGxlfSIgLyZndDs8L2NvZGU+PC9wcmU+CjxwPm9yPC9wPgo8 cHJlPjxjb2RlPiZsdDt0eHA6c29vX2FydGljbGVfcGFnZV9uYXYgd3JhcHRhZz0ib2wiIGJy ZWFrPSJsaSIgdGV4dD0ie3RpdGxlfSIgLyZndDs8L2NvZGU+PC9wcmU+CjxoMiBpZD0iaGlz dG9yeSI+SGlzdG9yeTwvaDI+CjxoMz4wLjEuMiAoMjAxNy0wMy0xMSk8L2gzPgo8dWw+Cjxs aT5Eb2N1bWVudGF0aW9uIHVwZGF0ZSAmYW1wOyByZWZvcm1hdHRpbmc8L2xpPgo8L3VsPgo8 aDM+MC4xLjEgKDIwMTctMDMtMDkpPC9oMz4KPHVsPgo8bGk+UmVtb3ZlZCA8Y29kZT5zb29f cGFnZV9icmVhazwvY29kZT4gdGFnPC9saT4KPGxpPkFkZGVkIDxjb2RlPnNvb19hcnRpY2xl X3BhZ2VfdGl0bGU8L2NvZGU+IHRhZzwvbGk+CjxsaT5OZXcgb3B0aW9ucyBmb3IgPGNvZGU+ c29vX2FydGljbGVfcGFnZV9saW5rPC9jb2RlPiBhbmQgPGNvZGU+c29vX2FydGljbGVfcGFn ZV9uYXY8L2NvZGU+PC9saT4KPC91bD4KPGgzPjAuMS4wICgyMDE3LTAzLTA4KTwvaDM+Cjxw PkluaXRpYWwgcmVsZWFzZS48L3A+IjtzOjQ6ImNvZGUiO3M6OTIwNzoiCi8vIFJlZ2lzdGVy IHB1YmxpYyB0YWdzLgppZiAoY2xhc3NfZXhpc3RzKCdcVGV4dHBhdHRlcm5cVGFnXFJlZ2lz dHJ5JykpIHsKICAgIFR4cDo6Z2V0KCdcVGV4dHBhdHRlcm5cVGFnXFJlZ2lzdHJ5JykKICAg ICAgICAtPnJlZ2lzdGVyKCdzb29fYXJ0aWNsZV9wYWdlJykKICAgICAgICAtPnJlZ2lzdGVy KCdzb29fYXJ0aWNsZV9wYWdlX3RpdGxlJykKICAgICAgICAtPnJlZ2lzdGVyKCdzb29fYXJ0 aWNsZV9wYWdlX251bWJlcicpCiAgICAgICAgLT5yZWdpc3Rlcignc29vX2FydGljbGVfcGFn ZV9saW5rJykKICAgICAgICAtPnJlZ2lzdGVyKCdzb29fYXJ0aWNsZV9wYWdlX25hdicpCiAg ICAgICAgLT5yZWdpc3Rlcignc29vX2lmX2FydGljbGVfcGFnZScpCiAgICAgICAgLT5yZWdp c3Rlcignc29vX2FydGljbGVfcGFnZV9zZWFyY2hfdXJsJykKICAgICAgICA7Cn0KCmZ1bmN0 aW9uIHNvb19hcnRpY2xlX3BhZ2UoJGF0dHMpCnsKICAgIGdsb2JhbCAkdGhpc2FydGljbGUs ICRpc19hcnRpY2xlX2JvZHksICRwZywgJHNvb19hcnRpY2xlX3BhZ2VzOwoKICAgIHN0YXRp YyAkc29vX2FydGljbGVfcGFnZV9pZDsKCiAgICBhc3NlcnRfYXJ0aWNsZSgpOwoKICAgIGV4 dHJhY3QobEF0dHMoYXJyYXkoCiAgICAgICAgJ2RlbGltaXRlcicgPT4gJ1ticmVha10nLAog ICAgICAgICdxdWlldCcgICAgID0+IDAsCiAgICApLCAkYXR0cykpOwoKICAgIGlmICgkc29v X2FydGljbGVfcGFnZV9pZCAhPSAkdGhpc2FydGljbGVbJ3RoaXNpZCddKSB7CiAgICAgICAg JHNvb19hcnRpY2xlX3BhZ2VfaWQgPSAkdGhpc2FydGljbGVbJ3RoaXNpZCddOwogICAgICAg ICRzb29fYXJ0aWNsZV9wYWdlcyA9IGFycmF5KCk7CgogICAgICAgICRkZWxpbWl0ZXIgPSBw cmVnX3F1b3RlKCRkZWxpbWl0ZXIsICclJyk7CiAgICAgICAgJGRlbGltaXRlciA9ICclKDxw Pik/Jy4kZGVsaW1pdGVyLidccyooPC9wPik/JSc7CiAgICAgICAgJHBhZ2VzID0gcHJlZ19z cGxpdCgkZGVsaW1pdGVyLCAkdGhpc2FydGljbGVbJ2JvZHknXSk7CiAgICAgICAgJHBhZ2Vz ID0gYXJyYXlfbWFwKCd0cmltJywgJHBhZ2VzKTsKCiAgICAgICAgJG1hdGNoZXMgPSBhcnJh eSgpOwogICAgICAgIGZvcmVhY2ggKCRwYWdlcyBhcyAkcGFnZSkgewogICAgICAgICAgICBp ZiAocHJlZ19tYXRjaCgnLzwoaFxkKS4qPz4oLispPzxcL1wxPi8nLCAkcGFnZSwgJG1hdGNo ZXMpKSB7CiAgICAgICAgICAgICAgICAkaGVhZGVyID0gJG1hdGNoZXNbMl07CiAgICAgICAg ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkaGVhZGVyID0gJyc7CiAgICAgICAgICAg IH0KICAgICAgICAgICAgJHNvb19hcnRpY2xlX3BhZ2VzW10gPSBhcnJheSgnaGVhZGVyJyA9 PiAkaGVhZGVyLCAnYm9keScgPT4gJHBhZ2UpOwogICAgICAgIH0KCiAgICAgICAgJHNvb19h cnRpY2xlX3BhZ2VzID0gYXJyYXlfY29tYmluZShyYW5nZSgxLCBjb3VudCgkcGFnZXMpKSwg JHNvb19hcnRpY2xlX3BhZ2VzKTsKICAgIH0KCiAgICAkcGFnZV9udW1iZXIgPSAkcGcgPyAk cGcgOiAxOwogICAgaWYgKCRwYWdlX251bWJlciA+IGNvdW50KCRzb29fYXJ0aWNsZV9wYWdl cykpIHsKICAgICAgICByZXR1cm4gJyc7CiAgICB9CiAgICBpZiAoJHF1aWV0KSB7CiAgICAg ICAgcmV0dXJuICcnOwogICAgfQoKICAgICR3YXNfYXJ0aWNsZV9ib2R5ID0gJGlzX2FydGlj bGVfYm9keTsKICAgICRpc19hcnRpY2xlX2JvZHkgPSAxOwogICAgJG91dCA9IHBhcnNlKCRz b29fYXJ0aWNsZV9wYWdlc1skcGFnZV9udW1iZXJdWydib2R5J10pOwogICAgJGlzX2FydGlj bGVfYm9keSA9ICR3YXNfYXJ0aWNsZV9ib2R5OwoKICAgIHJldHVybiAkb3V0Owp9CgpmdW5j dGlvbiBzb29fYXJ0aWNsZV9wYWdlX3RpdGxlKCRhdHRzKQp7CiAgICBnbG9iYWwgJHBnLCAk c29vX2FydGljbGVfcGFnZXM7CgogICAgZXh0cmFjdChsQXR0cyhhcnJheSgKICAgICAgICAn cGFnZV9udW1iZXInID0+ICRwZyA/ICRwZyA6IDEsCiAgICAgICAgJ2NsYXNzJyAgICAgICA9 PiAnJywKICAgICAgICAnd3JhcHRhZycgICAgID0+ICcnLAogICAgKSwgJGF0dHMpKTsKCiAg ICBhc3NlcnRfYXJ0aWNsZSgpOwoKICAgIGlmICghIGlzX2ludCgkcGFnZV9udW1iZXIpIHx8 ICRwYWdlX251bWJlciA8IDEpIHJldHVybiAnJzsKICAgICRudW1fcGFnZXMgPSBjb3VudCgk c29vX2FydGljbGVfcGFnZXMpOwogICAgaWYgKCRudW1fcGFnZXMgPT0gMSB8fCAkbnVtX3Bh Z2VzIDwgJHBhZ2VfbnVtYmVyKSByZXR1cm4gJyc7CgogICAgaWYgKCR0aXRsZSA9ICRzb29f YXJ0aWNsZV9wYWdlc1skcGFnZV9udW1iZXJdWydoZWFkZXInXSkgewogICAgICAgIHJldHVy biB0YWcoJHRpdGxlLCAkd3JhcHRhZywgYXJyYXkoJ2NsYXNzJz0+JGNsYXNzKSk7CiAgICB9 Cgp9CgpmdW5jdGlvbiBzb29fYXJ0aWNsZV9wYWdlX251bWJlcigkYXR0cykKewogICAgZ2xv YmFsICRwZywgJHNvb19hcnRpY2xlX3BhZ2VzOwoKICAgIGFzc2VydF9hcnRpY2xlKCk7Cgog ICAgZXh0cmFjdChsQXR0cyhhcnJheSgKICAgICAgICAndGV4dCcgICAgPT4gJ3twYWdlfSB7 cGd9IHtvZn0ge3RvdGFsfScsCiAgICAgICAgJ2NsYXNzJyAgID0+ICcnLAogICAgICAgICd3 cmFwdGFnJyA9PiAnJywKICAgICksICRhdHRzKSk7CgogICAgaWYgKGNvdW50KCRzb29fYXJ0 aWNsZV9wYWdlcykgPCAyKSB7CiAgICAgICAgcmV0dXJuICcnOwogICAgfQoKICAgICR0ZXh0 ID0gX3Nvb19hcnRpY2xlX3BhZ2VfcmVwbGFjZSgkdGV4dCwgYXJyYXkoCiAgICAgICAgJ3t0 b3RhbH0nID0+IGNvdW50KCRzb29fYXJ0aWNsZV9wYWdlcyksCiAgICAgICAgJ3twZ30nICAg ID0+ICRwZyA/ICRwZyA6IDEsCiAgICApKTsKICAgIHJldHVybiB0YWcoJHRleHQsICR3cmFw dGFnLCBhcnJheSgnY2xhc3MnPT4kY2xhc3MpKTsKfQoKZnVuY3Rpb24gc29vX2FydGljbGVf cGFnZV9saW5rKCRhdHRzKQp7CiAgICBnbG9iYWwgJHRoaXNhcnRpY2xlLCAkcGcsICRzb29f YXJ0aWNsZV9wYWdlczsKCiAgICBhc3NlcnRfYXJ0aWNsZSgpOwoKICAgIGV4dHJhY3QobEF0 dHMoYXJyYXkoCiAgICAgICAgJ3BhZ2VfbnVtYmVyJyA9PiAwLAogICAgICAgICd0ZXh0JyAg ICAgICAgPT4gJ3tuZXh0fScsCiAgICAgICAgJ3JlbCcgICAgICAgICA9PiAnbmV4dCcsCiAg ICAgICAgJ3JldicgICAgICAgICA9PiAnJywKICAgICAgICAnc2hvd2Fsd2F5cycgID0+IDAs CiAgICAgICAgJ3RpdGxlJyAgICAgICA9PiAnJywKICAgICAgICAnY2xhc3MnICAgICAgID0+ ICcnLAogICAgICAgICdlc2NhcGUnICAgICAgPT4gJ2h0bWwnLAogICAgKSwgJGF0dHMpKTsK CiAgICAkdGhpc3BhZ2UgPSAkcGcgPyAoaW50KSAkcGcgOiAxOwoKICAgICR0b3RhbCA9IGNv dW50KCRzb29fYXJ0aWNsZV9wYWdlcyk7CiAgICBpZiAoKCRwYWdlX251bWJlciA+ICR0b3Rh bCkgfHwgKCR0b3RhbCA9PSAxKSkgewogICAgICAgIHJldHVybiAkc2hvd2Fsd2F5cyA/ICR0 ZXh0IDogJyc7CiAgICB9CgogICAgJGdvdG8gPSBhcnJheSgKICAgICAgICAncHJldicgID0+ ICR0aGlzcGFnZSA+IDEgPyAkdGhpc3BhZ2UgLSAxIDogbnVsbCwKICAgICAgICAnbmV4dCcg ID0+ICR0aGlzcGFnZSA8ICR0b3RhbCA/ICR0aGlzcGFnZSArIDEgOiBudWxsLAogICAgICAg ICdmaXJzdCcgPT4gMSwKICAgICAgICAnbGFzdCcgID0+ICR0b3RhbCwKICAgICk7CgogICAg aWYgKCEgYXJyYXlfa2V5X2V4aXN0cygkcmVsLCAkZ290bykpIHsKICAgICAgICBpZiAoJHBh Z2VfbnVtYmVyID4gMCAmJiAkcGFnZV9udW1iZXIgPD0gJHRvdGFsKSB7CiAgICAgICAgICAg IGlmICghICRyZWwpIHsKICAgICAgICAgICAgICAgIGlmIChpbl9hcnJheSgkcGFnZV9udW1i ZXIsICRnb3RvKSkgewogICAgICAgICAgICAgICAgICAgICRyZWwgPSBhcnJheV9zZWFyY2go JHBhZ2VfbnVtYmVyLCAkZ290byk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg ICAgICAgICAgICAgICRyZWwgPSAncGFnZSAnLiRwYWdlX251bWJlcjsKICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkZ290b1skcmVsXSA9ICRwYWdlX251 bWJlcjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cmlnZ2VyX2Vycm9yKGdUeHQo J2ludmFsaWRfYXR0cmlidXRlX3ZhbHVlJywgYXJyYXkoJ3tuYW1lfScgPT4gJHBhZ2VfbnVt YmVyKSksIEVfVVNFUl9OT1RJQ0UpOwogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAg fQogICAgfQoKICAgICRkaWN0ID0gYXJyYXkoCiAgICAgICAgJ3twZ30nICAgID0+ICRnb3Rv WyRyZWxdLAogICAgICAgICd7dGl0bGV9JyA9PiBzb29fYXJ0aWNsZV9wYWdlX3RpdGxlKGFy cmF5KCdwYWdlX251bWJlcicgPT4gJGdvdG9bJHJlbF0pKSwKICAgICk7CiAgICAkdGV4dCA9 IF9zb29fYXJ0aWNsZV9wYWdlX3JlcGxhY2UoJHRleHQsICRkaWN0KTsKCiAgICBpZiAoJGdv dG9bJHJlbF0gPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gJHNob3dhbHdheXMgPyAkdGV4 dCA6ICcnOwogICAgfQoKICAgIGlmICgkdGl0bGUpIHsKICAgICAgICAkdGl0bGUgPSBfc29v X2FydGljbGVfcGFnZV9yZXBsYWNlKCR0aXRsZSwgJGRpY3QpOwogICAgfQoKICAgICR1cmwg PSBwZXJtbGlua3VybCgkdGhpc2FydGljbGUpOwoKICAgIGlmICgkdXJsKSB7CiAgICAgICAg aWYgKHByZWdfbWF0Y2goJy9cP1x3Kz0vJywgJHVybCkpIHsKICAgICAgICAgICAgJHVybCAu PSAnJmFtcDtwZz0nOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR1cmwgLj0gJz9w Zz0nOwogICAgICAgIH0KICAgICAgICAkdXJsIC49ICRnb3RvWyRyZWxdOwoKICAgICAgICBp ZiAoJGVzY2FwZSA9PSAnaHRtbCcpIHsKICAgICAgICAgICAgJHRpdGxlID0gZXNjYXBlX3Rp dGxlKCR0aXRsZSk7CiAgICAgICAgfQoKICAgICAgICAkcmV2bGVyID0gYXJyYXkoJ25leHQn ID0+ICdwcmV2JywgJ3ByZXYnID0+ICduZXh0Jyk7CiAgICAgICAgaWYgKGlzc2V0KCRyZXZs ZXJbJHJlbF0pKSB7CiAgICAgICAgICAgICRyZXYgPSAkcmV2bGVyWyRyZWxdOwogICAgICAg IH0gZWxzZWlmICghICRyZXYpIHsKICAgICAgICAgICAgaWYgKCR0aGlzcGFnZSA9PSAxKSB7 CiAgICAgICAgICAgICAgICAkcmV2ID0gJ2ZpcnN0JzsKICAgICAgICAgICAgfSBlbHNlaWYg KCR0aGlzcGFnZSA9PSAkdG90YWwpIHsKICAgICAgICAgICAgICAgICRyZXYgPSAnbGFzdCc7 CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcmV2ID0gJ3BhZ2UgJy4k dGhpc3BhZ2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiB0YWco JHRleHQsICdhJywgYXJyYXkoCiAgICAgICAgICAgICdyZWwnICAgPT4gJHJlbCwKICAgICAg ICAgICAgJ3JldicgICA9PiAkcmV2LAogICAgICAgICAgICAnaHJlZicgID0+ICR1cmwsCiAg ICAgICAgICAgICd0aXRsZScgPT4gJHRpdGxlLAogICAgICAgICAgICAnY2xhc3MnID0+ICRj bGFzcwogICAgICAgICAgICApCiAgICAgICAgKTsKICAgIH0KfQoKZnVuY3Rpb24gc29vX2Fy dGljbGVfcGFnZV9uYXYoJGF0dHMpCnsKICAgIGdsb2JhbCAkcGcsICRzb29fYXJ0aWNsZV9w YWdlczsKCiAgICAkdG90YWwgPSBjb3VudCgkc29vX2FydGljbGVfcGFnZXMpOwogICAgaWYg KCR0b3RhbCA8IDIpIHsKICAgICAgICByZXR1cm4gJyc7CiAgICB9CgogICAgYXNzZXJ0X2Fy dGljbGUoKTsKCiAgICBleHRyYWN0KGxBdHRzKGFycmF5KAogICAgICAgICd0ZXh0JyAgICAg ICAgID0+ICd7cGd9JywKICAgICAgICAnY2xhc3MnICAgICAgICA9PiBfX0ZVTkNUSU9OX18s CiAgICAgICAgJ2FjdGl2ZV9jbGFzcycgPT4gJ2hlcmUnLAogICAgICAgICd3cmFwdGFnJyAg ICAgID0+ICcnLAogICAgICAgICdicmVhaycgICAgICAgID0+ICdicicsCiAgICApLCAkYXR0 cykpOwoKICAgICRvdXQgPSBhcnJheSgpOwogICAgJGxpbmtfYXR0cyA9IGFycmF5KAogICAg ICAgICdjbGFzcycgPT4gJGNsYXNzLAogICAgICAgICd0ZXh0JyAgPT4gJHRleHQsCiAgICAg ICAgJ3JlbCcgICA9PiAnJywKICAgICk7CiAgICAkYWN0aXZlX2NsYXNzID0gJGFjdGl2ZV9j bGFzcyA/ICJjbGFzcz1cIiRhY3RpdmVfY2xhc3NcIiIgOiAnJzsKICAgICRwYWdlX251bWJl ciA9ICRwZyA/IChpbnQpICRwZyA6IDE7CgogICAgZm9yICgkbiA9IDE7ICRuIDw9ICR0b3Rh bDsgJG4rKykgewogICAgICAgIGlmICgkbiA9PSAkcGFnZV9udW1iZXIpIHsKICAgICAgICAg ICAgJHRleHQgPSBfc29vX2FydGljbGVfcGFnZV9yZXBsYWNlKCR0ZXh0LCBhcnJheSgKICAg ICAgICAgICAgICAgICd7dGl0bGV9JyA9PiBzb29fYXJ0aWNsZV9wYWdlX3RpdGxlKGFycmF5 KCdwYWdlX251bWJlcicgPT4gJG4pKSwKICAgICAgICAgICAgICAgICd7cGd9JyAgICA9PiAk biwKICAgICAgICAgICAgKSk7CgogICAgICAgICAgICAkb3V0W10gPSB0YWcoJHRleHQsICdz cGFuJywgJGFjdGl2ZV9jbGFzcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGxp bmtfYXR0c1sncGFnZV9udW1iZXInXSA9ICRuOwogICAgICAgICAgICAkbGlua19hdHRzWyd0 aXRsZSddID0gZ1R4dCgncGFnZScpLicgJy4kbjsKICAgICAgICAgICAgJG91dFtdID0gc29v X2FydGljbGVfcGFnZV9saW5rKCRsaW5rX2F0dHMpOwogICAgICAgIH0KICAgIH0KCiAgICBy ZXR1cm4gJG91dCA/IGRvV3JhcCgkb3V0LCAkd3JhcHRhZywgJGJyZWFrLCAkY2xhc3MpIDog Jyc7Cn0KCmZ1bmN0aW9uIHNvb19pZl9hcnRpY2xlX3BhZ2UoJGF0dHMsICR0aGluZykKewog ICAgZ2xvYmFsICRwZywgJHNvb19hcnRpY2xlX3BhZ2VzOwoKICAgIGFzc2VydF9hcnRpY2xl KCk7CgogICAgaWYgKGVtcHR5KCRzb29fYXJ0aWNsZV9wYWdlcykpIHsKICAgICAgICB0cmln Z2VyX2Vycm9yKGdUeHQoJ3RhZ19lcnJvcicpLicgJy5fX0ZVTkNUSU9OX18uJzogc29vX2Fy dGljbGVfcGFnZSAnLmdUeHQoJ3JlcXVpcmVkJyksIEVfVVNFUl9OT1RJQ0UpOwogICAgICAg IHJldHVybiBwYXJzZSgkdGhpbmcpOwogICAgfQogICAgZXh0cmFjdChsQXR0cyhhcnJheSgK ICAgICAgICAnZmlyc3QnID0+IG51bGwsCiAgICAgICAgJ2xhc3QnICA9PiBudWxsLAogICAg KSwgJGF0dHMpKTsKCiAgICAkcGFnZSA9ICRwZyA/ICRwZyA6IDE7CgogICAgaWYgKGNvdW50 KCRzb29fYXJ0aWNsZV9wYWdlcykgPCAyKSB7CiAgICAgICAgJHggPSBmYWxzZTsKICAgIH0g ZWxzZWlmICghIGVtcHR5KCRsYXN0KSkgewogICAgICAgICR4ID0gJHBhZ2UgPT0gY291bnQo JHNvb19hcnRpY2xlX3BhZ2VzKTsKICAgIH0gZWxzZWlmICghIGVtcHR5KCRmaXJzdCkpIHsK ICAgICAgICAkeCA9ICRwYWdlID09IDE7CiAgICB9IGVsc2VpZiAoKCRmaXJzdCA9PT0gIjAi KSAmJiAoJGxhc3QgPT09ICIwIikpIHsKICAgICAgICAkeCA9ICgkcGFnZSAhPSAxKSAmJiAo JHBhZ2UgIT0gY291bnQoJHNvb19hcnRpY2xlX3BhZ2VzKSk7CiAgICB9IGVsc2VpZiAoJGxh c3QgPT09ICIwIikgewogICAgICAgICR4ID0gJHBhZ2UgIT0gY291bnQoJHNvb19hcnRpY2xl X3BhZ2VzKTsKICAgIH0gZWxzZWlmICgkZmlyc3QgPT09ICIwIikgewogICAgICAgICR4ID0g JHBhZ2UgIT0gMTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHggPSB0cnVlOwogICAgfQoKICAg IHJldHVybiAkdGhpbmcgPyBwYXJzZSgkdGhpbmcsICR4KSA6ICR4Owp9CgpmdW5jdGlvbiBz b29fYXJ0aWNsZV9wYWdlX3NlYXJjaF91cmwoJGF0dHMsICR0aGluZykKewogICAgZXh0cmFj dChsQXR0cyhhcnJheSgKICAgICAgICAnY2xhc3MnICA9PiAnJywKICAgICAgICAndGl0bGUn ICA9PiAnJywKICAgICAgICAnZXNjYXBlJyA9PiAnaHRtbCcsCiAgICApLCAkYXR0cykpOwoK ICAgIGdsb2JhbCAkdGhpc2FydGljbGUsICRxLCAkc29vX2FydGljbGVfcGFnZXM7CgogICAg YXNzZXJ0X2FydGljbGUoKTsKCiAgICBpZiAoZW1wdHkoJHNvb19hcnRpY2xlX3BhZ2VzKSkg ewogICAgICAgIHRyaWdnZXJfZXJyb3IoZ1R4dCgndGFnX2Vycm9yJykuJyAnLl9fRlVOQ1RJ T05fXy4nOiBzb29fYXJ0aWNsZV9wYWdlICcuZ1R4dCgncmVxdWlyZWQnKSwgRV9VU0VSX05P VElDRSk7CiAgICAgICAgcmV0dXJuIHBhcnNlKCR0aGluZyk7CiAgICB9CgogICAgJGZvdW5k ID0gZmFsc2U7CiAgICBmb3JlYWNoICgkc29vX2FydGljbGVfcGFnZXMgYXMgJG4gPT4gJHBh Z2UpIHsKICAgICAgICBpZiAoc3RyaXBvcygkcGFnZVsnYm9keSddLCAkcSkpIHsKICAgICAg ICAgICAgJGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAg fQogICAgaWYgKCEgJGZvdW5kKSB7CiAgICAgICAgaWYgKHN0cmlwb3MoJHRoaXNhcnRpY2xl Wyd0aXRsZSddLCAkcSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICRmb3VuZCA9ICRuID0g MTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCEgJGZvdW5kKSByZXR1cm4gJyc7CgogICAg JHVybCA9IHBlcm1saW5rdXJsKCR0aGlzYXJ0aWNsZSk7CgogICAgaWYgKGNvdW50KCRzb29f YXJ0aWNsZV9wYWdlcykgPiAxKSB7CiAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9cP1x3Kz0v JywgJHVybCkpIHsKICAgICAgICAgICAgJHVybCAuPSAnJmFtcDtwZz0nOwogICAgICAgIH0g ZWxzZSB7CiAgICAgICAgICAgICR1cmwgLj0gJz9wZz0nOwogICAgICAgIH0KICAgICAgICAk dXJsIC49ICRuOwogICAgfQoKICAgIGlmICgkdGhpbmcgPT09IG51bGwpIHsKICAgICAgICAk dGhpbmcgPSAkdXJsOwogICAgfQoKICAgIGlmICgkZXNjYXBlID09ICdodG1sJykgewogICAg ICAgICR0aXRsZSA9IGVzY2FwZV90aXRsZSgkdGl0bGUpOwogICAgfQoKICAgIHJldHVybiB0 YWcocGFyc2UoJHRoaW5nKSwgJ2EnLCBhcnJheSgKICAgICAgICAnaHJlZicgPT4gJHVybCwK ICAgICAgICAndGl0bGUnID0+ICR0aXRsZSwKICAgICAgICAnY2xhc3MnID0+ICRjbGFzcwog ICAgKSk7Cn0KCmZ1bmN0aW9uIF9zb29fYXJ0aWNsZV9wYWdlX3JlcGxhY2UoJHRleHQsICRl eHRyYSA9IGFycmF5KCkpCnsKICAgICRkaWN0ID0gYXJyYXkoCiAgICAne3BhZ2V9JyA9PiBn VHh0KCdwYWdlJyksCiAgICAne29mfScgICA9PiBnVHh0KCdvZicpLAogICAgJ3tuZXh0fScg PT4gZ1R4dCgnbmV4dCcpLAogICAgJ3twcmV2fScgPT4gZ1R4dCgncHJldicpLAogICAgKSAr ICRleHRyYTsKCiAgICByZXR1cm4gc3RyX3JlcGxhY2UoYXJyYXlfa2V5cygkZGljdCksICRk aWN0LCAkdGV4dCk7Cn0KIjtzOjQ6InR5cGUiO3M6MToiMCI7czo1OiJmbGFncyI7czoxOiIw IjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6MzoibWQ1IjtzOjMyOiI5OGM2NTY4ZDIyZjc5ODVi MTM2ZDQ4OTIxYWY4YTY3NiI7fQ==