# adi_link v0.2 # Enhanced links # Adi Gilbert # http://www.greatoceanmedia.com.au/ # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YToxMDp7czo0OiJuYW1lIjtzOjg6ImFkaV9saW5rIjtzOjc6InZlcnNpb24iO3M6MzoiMC4y IjtzOjY6ImF1dGhvciI7czoxMToiQWRpIEdpbGJlcnQiO3M6MTA6ImF1dGhvcl91cmkiO3M6 MzQ6Imh0dHA6Ly93d3cuZ3JlYXRvY2Vhbm1lZGlhLmNvbS5hdS8iO3M6MTE6ImRlc2NyaXB0 aW9uIjtzOjE0OiJFbmhhbmNlZCBsaW5rcyI7czo0OiJ0eXBlIjtpOjA7czo0OiJoZWxwIjtz OjY4OTk6Igk8aDE+PHN0cm9uZz5hZGlfbGluazwvc3Ryb25nPiAmIzgyMTE7IEVuaGFuY2Vk IGxpbmtzPC9oMT4KCgk8cD5UaGlzIHBsdWdpbiBwcm92aWRlcyBhIG5ldyB0YWcsIDxjb2Rl PiZsdDt0eHA6YWRpX2xpbmsgLyZndDs8L2NvZGU+LCB3aGljaCB3aWxsIG91dHB1dCBsaW5r cyBmcm9tIHZhcmlvdXMgc291cmNlcywgd2l0aCBjdXN0b20gYXR0cmlidXRlcy48L3A+CgoJ PGgyPjxzdHJvbmc+VXNhZ2U8L3N0cm9uZz48L2gyPgoKCTxwPjxzdHJvbmc+YWRpX2xpbms8 L3N0cm9uZz4gY2FuIGJlIHVzZWQgYXMgZm9sbG93czo8L3A+CgoJPHVsPgoJCTxsaT5hcyBh IHNpbmdsZSB0YWc6IDxjb2RlPiZsdDt0eHA6YWRpX2xpbmsgLyZndDs8L2NvZGU+PC9saT4K CQk8bGk+YXMgYSBjb250YWluZXIgdGFnOiA8Y29kZT4mbHQ7dHhwOmFkaV9saW5rJmd0OyAu Li4gJmx0Oy90eHA6YWRpX2xpbmsmZ3Q7PC9jb2RlPjwvbGk+Cgk8L3VsPgoKCTxwPmluOjwv cD4KCgk8dWw+CgkJPGxpPnBhZ2VzPC9saT4KCQk8bGk+Zm9ybXM8L2xpPgoJCTxsaT5hcnRp Y2xlczwvbGk+Cgk8L3VsPgoKCTxoMj48c3Ryb25nPkV4YW1wbGVzPC9zdHJvbmc+PC9oMj4K Cgk8cD48aT5TaW1wbGUgbGluazo8L2k+PC9wPgoKCTxwPjxjb2RlPiZsdDt0eHA6YWRpX2xp bmsgdXJsPSZxdW90O2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJnF1b3Q7IC8mZ3Q7PC9jb2Rl PjwvcD4KCgk8cD4tIGNyZWF0ZXMgbGluayB0byAmIzgyMjA7aHR0cDovL3d3dy5leGFtcGxl LmNvbS8mIzgyMjE7LCB3aXRoIGxpbmsgdGV4dCBvZiAmIzgyMjA7d3d3LmV4YW1wbGUuY29t JiM4MjIxOzwvcD4KCgk8cD48aT5FeHRlcm5hbCBsaW5rOjwvaT48L3A+CgoJPHA+PGNvZGU+ Jmx0O3R4cDphZGlfbGluayB1cmw9JnF1b3Q7d3d3LmV4YW1wbGUuY29tJnF1b3Q7IGV4dF9s aW5rPSZxdW90OzEmcXVvdDsvJmd0OzwvY29kZT48L3A+CgoJPHA+LSBjcmVhdGVzIGxpbmsg d2l0aCA8c3BhbiBjbGFzcz0iY2FwcyI+SFRNTDwvc3Bhbj4gYXR0cmlidXRlczogY2xhc3M9 JiM4MjIwO2V4dF9saW5rJiM4MjIxOyAmYW1wOyByZWw9JiM4MjIwO2V4dGVybmFsJiM4MjIx OzwvcD4KCgk8cD48aT5MaW5rIHVzaW5nIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+ IGZyb20gYW5vdGhlciBzb3VyY2U6PC9pPjwvcD4KCgk8cD48Y29kZT4mbHQ7dHhwOmFkaV9s aW5rJmd0OyZsdDt0eHA6Y3VzdG9tX2ZpZWxkIG5hbWU9JnF1b3Q7bGluayZxdW90Oy8mZ3Q7 Jmx0Oy90eHA6YWRpX2xpbmsmZ3Q7PC9jb2RlPjwvcD4KCgk8cD4tIGNyZWF0ZXMgYSBsaW5r IGZyb20gPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gc3RvcmVkIGluIGEgY3VzdG9t IGZpZWxkIGNhbGxlZCAmIzgyMjA7bGluayYjODIyMTs8L3A+CgoJPHA+PGk+RW5oYW5jZSBs aW5rcyBpbiBhbiBhcnRpY2xlOjwvaT48L3A+Cgo8cHJlPm5vdGV4dGlsZS4gJmx0O3R4cDph ZGlfbGluayBleHRfbGluaz0mcXVvdDsxJnF1b3Q7Jmd0Owo8L3ByZT4KCjxwcmU+KiAmcXVv dDtMaW5rIDEmcXVvdDs6aHR0cDovL3d3dy5saW5rb25lLmNvbQoqICZxdW90O0xpbmsgMiZx dW90OzpodHRwOi8vd3d3Lmxpbmt0d28uY29tCiogJnF1b3Q7TGluayAzJnF1b3Q7Omh0dHA6 Ly93d3cubGlua3RocmVlLmNvbQo8L3ByZT4KCjxwcmU+bm90ZXh0aWxlLiAmbHQ7L3R4cDph ZGlfbGluayZndDsKPC9wcmU+CgoJPHA+Tm90ZTogc2VwYXJhdGUgPGNvZGU+YWRpX2xpbms8 L2NvZGU+IHRhZ3MgZnJvbSBjb250ZW50IHdpdGggYmxhbmsgbGluZXMgJmFtcDsgdXNlICYj ODIyMDtub3RleHRpbGUmIzgyMjE7IHRvIHByZXZlbnQgZW1wdHkgPGNvZGU+Jmx0O3AmZ3Q7 Jmx0Oy9wJmd0OzwvY29kZT4gYmVpbmcgZ2VuZXJhdGVkLjwvcD4KCgk8cD48aT48c3BhbiBj bGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBsaW5rOjwvaT48L3A+CgoJPHA+PGNvZGU+Jmx0O3R4 cDphZGlfbGluayBpZD0mcXVvdDsyMyZxdW90OyBsaW5rX3RleHQ9JnF1b3Q7TmV3IHRleHQm cXVvdDsvJmd0OzwvY29kZT48L3A+CgoJPHA+LSBvdXRwdXRzIGEgc3BlY2lmaWMgPHNwYW4g Y2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4gbGluaywgb3ZlcnJpZGluZyB0aGUgc3RvcmVkIGxp bmsgdGV4dC90aXRsZTwvcD4KCgk8cD48aT5JbiBhIGxpbmsgZm9ybTo8L2k+PC9wPgoKCTxw Pjxjb2RlPiZsdDt0eHA6YWRpX2xpbmsgY2xhc3M9JnF1b3Q7bXljbGFzcyZxdW90OyAvJmd0 OzwvY29kZT48L3A+CgoJPHA+LSB3aGVuIHVzZWQgaW4gYSBMaW5rIEZvcm0sIHdpbGwgb3V0 cHV0IGxpbmsgd2l0aCBjbGFzcyBvZiAmIzgyMjA7bXljbGFzcyYjODIyMTs8L3A+CgoJPHA+ PGk+TGluayB0byBwYWdlIGFuY2hvcjo8L2k+PC9wPgoKCTxwPjxjb2RlPiZsdDt0eHA6YWRp X2xpbmsgYW5jaG9yPSZxdW90O3RvcCZxdW90OyBsaW5rX3RleHQ9JnF1b3Q7YmFjayB0byB0 b3AmcXVvdDsgLyZndDs8L2NvZGU+PC9wPgoKCTxwPi0gb3V0cHV0cyBhIGxpbmsgdG8gPGNv ZGU+I3RvcDwvY29kZT4gb24gY3VycmVudCBwYWdlPC9wPgoKCTxwPjxpPkxpbmsgdG8gc2Vj dGlvbiB3aXRoIGFkZGl0aW9uYWwgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gdmFy czo8L2k+PC9wPgoKCTxwPjxjb2RlPiZsdDt0eHA6YWRpX2xpbmsgc2VjdGlvbj0mcXVvdDtt eXNlY3Rpb24mcXVvdDsgdXJsdmFycz0mcXVvdDt2YXIxPXZhbHVlMSZhbXA7dmFyMj12YWx1 ZTImcXVvdDsgbGlua190ZXh0PSZxdW90O015IFNlY3Rpb24gd2l0aCBleHRyYXMmcXVvdDsg LyZndDs8L2NvZGU+PC9wPgoKCTxwPi0gb3V0cHV0cyBhIGxpbmsgdG8gc2VjdGlvbiAmIzgy MjA7bXlzZWN0aW9uJiM4MjIxOywgd2l0aCBleHRyYSA8c3BhbiBjbGFzcz0iY2FwcyI+VVJM PC9zcGFuPiB2YXJzIGFwcGVuZGVkPC9wPgoKCTxoMj48c3Ryb25nPkF0dHJpYnV0ZXM8L3N0 cm9uZz48L2gyPgoKCTxwPjxjb2RlPmh0bWxfaWQ9JnF1b3Q7aHRtbCBpZCZxdW90OzwvY29k ZT48L3A+CgoJPHA+LSB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPkhUTUw8L3NwYW4+IElEIGFw cGxpZWQgdG8gdGhlIGxpbmsuIERlZmF1bHQgPSAmIzgyMjA7JiM4MjIxOyAobm8gSUQpLjwv cD4KCgk8cD48Y29kZT5jbGFzcz0mcXVvdDtjbGFzcyBuYW1lJnF1b3Q7PC9jb2RlPjwvcD4K Cgk8cD4tIDxzcGFuIGNsYXNzPSJjYXBzIj5DU1M8L3NwYW4+IGNsYXNzIGFwcGxpZWQgdG8g dGhlIGxpbmsuIERlZmF1bHQgPSAmIzgyMjA7JiM4MjIxOyAobm8gY2xhc3MpLjwvcD4KCgk8 cD48Y29kZT51cmw9JnF1b3Q7dXJsJnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIDxzcGFuIGNs YXNzPSJjYXBzIj5VUkw8L3NwYW4+ICh3aXRoIG9yIHdpdGhvdXQgJiM4MjIwO2h0dHA6Ly8m IzgyMjE7IHByZWZpeCkgdXNlZCBmb3IgbGluay4gRGVmYXVsdCA9ICYjODIyMDsmIzgyMjE7 ICg8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiB0YWtlbiBmcm9tIHNvbWUgb3RoZXIg c291cmNlKS48L3A+CgoJPHA+PGNvZGU+bGlua190ZXh0PSZxdW90O3RleHQmcXVvdDs8L2Nv ZGU+PC9wPgoKCTxwPi0gdGV4dCB0byBiZSB1c2VkIGZvciBsaW5rLiBEZWZhdWx0ID0gJiM4 MjIwOyYjODIyMTsgKHVzZSA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPikuIFdpbGwg b3ZlcnJpZGUgdmFsdWUgZnJvbSBkYXRhYmFzZSB3aGVuIHVzZWQgd2l0aCA8c3BhbiBjbGFz cz0iY2FwcyI+VFhQPC9zcGFuPiBsaW5rIGlkLjwvcD4KCgk8cD48Y29kZT50aXRsZT0mcXVv dDt0ZXh0JnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIHRleHQgdG8gYmUgdXNlZCBmb3IgPHNw YW4gY2xhc3M9ImNhcHMiPkhUTUw8L3NwYW4+IHRpdGxlIGF0dHJpYnV0ZS4gRGVmYXVsdCA9 ICYjODIyMDsmIzgyMjE7ICh1c2UgbGluayB0ZXh0KS48L3A+CgoJPHA+PGNvZGU+cHJldHR5 X3VybD0mcXVvdDtib29sZWFuJnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIHN0cmlwICYjODIy MDtodHRwOi8vJiM4MjIxOyBwcmVmaXggJmFtcDsgdHJhaWxpbmcgc2xhc2ggZnJvbSA8c3Bh biBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPi4gRGVmYXVsdCA9ICYjODIyMDsxJiM4MjIxOyAo WWVzKS4gIEZvciB1c2Ugd2hlbiBsaW5rX3RleHQgYXR0cmlidXRlIG5vdCBzcGVjaWZpZWQu PC9wPgoKCTxwPjxjb2RlPmV4dF9saW5rPSZxdW90O2Jvb2xlYW4mcXVvdDs8L2NvZGU+PC9w PgoKCTxwPi0gc3BlY2lmaWVzIHdoZXRoZXIgdGhlIGxpbmsgc2hvdWxkIGJlIHJlbmRlcmVk IGFzIGFuICYjODIyMDtleHRlcm5hbCYjODIyMTsgbGluayBvciBub3QgJiM4MjExOyBzZWUg ZXh0X2NsYXNzICZhbXA7IHJlbF9uYW1lLiBEZWZhdWx0ID0gJiM4MjIwOzAmIzgyMjE7IChO bykuPC9wPgoKCTxwPjxjb2RlPmV4dF9jbGFzcz0mcXVvdDtjbGFzcyBuYW1lJnF1b3Q7PC9j b2RlPjwvcD4KCgk8cD4tIDxzcGFuIGNsYXNzPSJjYXBzIj5DU1M8L3NwYW4+IGNsYXNzIGFw cGxpZWQgdG8gdGhlIGxpbmsgaWYgZXh0X2xpbms9MS4gRGVmYXVsdCA9ICYjODIyMDtleHRf bGluayYjODIyMTsuPC9wPgoKCTxwPjxjb2RlPnJlbF9uYW1lPSZxdW90O3JlbCBuYW1lJnF1 b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIHZhbHVlIGZvciB0aGUgPHNwYW4gY2xhc3M9ImNhcHMi PkhUTUw8L3NwYW4+IHJlbCBhdHRyaWJ1dGUuIERlZmF1bHQgPSAmIzgyMjA7Ym9va21hcmsm IzgyMjE7IChvciAmIzgyMjA7ZXh0ZXJuYWwmIzgyMjE7IGlmIGV4dF9saW5rPSYjODIyMDsx JiM4MjIxOykuPC9wPgoKCTxwPjxjb2RlPmVzY2FwZT0mcXVvdDtodG1sJnF1b3Q7PC9jb2Rl PjwvcD4KCgk8cD4tIGVzY2FwZSA8c3BhbiBjbGFzcz0iY2FwcyI+SFRNTDwvc3Bhbj4gZW50 aXRpZXMgaW4gbGluayB0ZXh0ICZhbXA7IGxpbmsgdGl0bGUuIERlZmF1bHQgPSAmIzgyMjA7 aHRtbCYjODIyMTsgKFllcykuPC9wPgoKCTxwPjxjb2RlPnNpbmdsZV91cmw9JnF1b3Q7Ym9v bGVhbiZxdW90OzwvY29kZT48L3A+CgoJPHA+LSBmb3JjZSBzaW5nbGUgPHNwYW4gY2xhc3M9 ImNhcHMiPlVSTDwvc3Bhbj4gbW9kZS4gRGVmYXVsdCA9ICYjODIyMDswJiM4MjIxOyAoTm8p LiAgRm9yIHVzZSBpbiBjb250YWluZXIgdGFnIG1vZGUgd2hlbiBlbmNsb3NpbmcgYSA8c3Bh biBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiB0aGF0IGRvZXNuJiM4MjE3O3QgaGF2ZSAmIzgy MjA7aHR0cDovLyYjODIyMTsgcHJlZml4LjwvcD4KCgk8cD48Y29kZT5pZD0mcXVvdDtsaW5r IElEIG51bWJlciZxdW90OzwvY29kZT48L3A+CgoJPHA+LSBkaXNwbGF5IHNwZWNpZmljIDxz cGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+IGxpbmsuPC9wPgoKCTxwPjxjb2RlPnVybF9s aW5rX3RleHQ9JnF1b3Q7Ym9vbGVhbiZxdW90OzwvY29kZT48L3A+CgoJPHA+LSB1c2UgPHNw YW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gZm9yIHRoZSBsaW5rIHRleHQuIERlZmF1bHQg PSAmIzgyMjA7MCYjODIyMTsgKE5vKS4gIEZvciB1c2Ugd2l0aCA8c3BhbiBjbGFzcz0iY2Fw cyI+VFhQPC9zcGFuPiBsaW5rcywgYXMgbm9ybWFsbHkgdGhlIHN0b3JlZCBsaW5rIG5hbWUv dGl0bGUgaXMgZGlzcGxheWVkLjwvcD4KCgk8cD48Y29kZT5zdXBwcmVzc19ocmVmPSZxdW90 O2Jvb2xlYW4mcXVvdDs8L2NvZGU+PC9wPgoKCTxwPi0gc3VwcHJlc3Mgb3V0cHV0IG9mIHRo ZSBocmVmIGF0dHJpYnV0ZS4gRGVmYXVsdCA9ICYjODIyMDswJiM4MjIxOyAoTm8pLjwvcD4K Cgk8cD48Y29kZT5zZWN0aW9uPSZxdW90O3NlY3Rpb24gbmFtZSZxdW90OzwvY29kZT48L3A+ CgoJPHA+LSBvdXRwdXQgbGluayB0byBzcGVjaWZpZWQgc2VjdGlvbi4gRGVmYXVsdCA9IG5v dCB1c2VkLiBGb3IgY3VycmVudCBzZWN0aW9uLCB1c2UgPGNvZGU+c2VjdGlvbj0mcXVvdDsm cXVvdDs8L2NvZGU+LjwvcD4KCgk8cD48Y29kZT5hbmNob3I9JnF1b3Q7cGFnZSBhbmNob3Im cXVvdDs8L2NvZGU+PC9wPgoKCTxwPi0gb3V0cHV0IGxpbmsgd2l0aCBwYWdlIGFuY2hvci4g RGVmYXVsdCA9ICYjODIyMDsmIzgyMjE7IChub3QgdXNlZCkuICBJZiBubyA8c3BhbiBjbGFz cz0iY2FwcyI+VVJMPC9zcGFuPiBvciBzZWN0aW9uIHNwZWNpZmllZCB0aGVuIGxpbmsgdG8g Y3VycmVudCBwYWdlIHVzZWQuPC9wPgoKCTxwPjxjb2RlPnVybHZhcnM9JnF1b3Q7VVJMIHZh cmlhYmxlcyZxdW90OzwvY29kZT48L3A+CgoJPHA+LSBhcHBlbmQgc29tZSA8c3BhbiBjbGFz cz0iY2FwcyI+VVJMPC9zcGFuPiB2YXJzLiBEZWZhdWx0ID0gJiM4MjIwOyYjODIyMTsgKG5v bmUpLiBGb3IgZXhhbXBsZSA8Y29kZT51cmx2YXJzPSZxdW90O3ZhcjE9dmFsdWUxJmFtcDt2 YXIyPXZhbHVlMiZxdW90OzwvY29kZT4uPC9wPgoKCTxwPjxjb2RlPmNhdGVnb3J5PSZxdW90 O2NhdGVnb3J5IG5hbWUmcXVvdDs8L2NvZGU+PC9wPgoKCTxwPi0gb3V0cHV0IGxpbmsgd2l0 aCBzcGVjaWZpZWQgY2F0ZWdvcnkuIERlZmF1bHQgPSAmIzgyMjA7JiM4MjIxOyAoTm8gY2F0 ZWdvcnkpLjwvcD4KCgk8aDIgY2xhc3M9ImFkaV9leHRyYXMiPjxzdHJvbmc+QWRkaXRpb25h bCBpbmZvcm1hdGlvbjwvc3Ryb25nPjwvaDI+CgoJPHAgY2xhc3M9ImFkaV9leHRyYXMiPlN1 cHBvcnQgYW5kIGZ1cnRoZXIgaW5mb3JtYXRpb24gY2FuIGJlIG9idGFpbmVkIGZyb20gdGhl IDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS50ZXh0cGF0dGVybi5jb20vdmlld3RvcGljLnBocD9p ZD0yODIyNCI+VGV4dHBhdHRlcm4gc3VwcG9ydCBmb3J1bTwvYT4uIEEgY29weSBvZiB0aGlz IGhlbHAgaXMgYWxzbyBhdmFpbGFibGUgPGEgaHJlZj0iaHR0cDovL3d3dy5ncmVhdG9jZWFu bWVkaWEuY29tLmF1L3R4cC8/cGx1Z2luPWFkaV9saW5rJmFtcDt2ZXJzaW9uPTAuMiI+b25s aW5lPC9hPi4gIE1vcmUgYWRpX3BsdWdpbnMgY2FuIGJlIGZvdW5kIDxhIGhyZWY9Imh0dHA6 Ly93d3cuZ3JlYXRvY2Vhbm1lZGlhLmNvbS5hdS90eHAvIj5oZXJlPC9hPi48L3A+IjtzOjQ6 ImNvZGUiO3M6NTI4MToiCi8qCglhZGlfbGluayAtIEVuaGFuY2VkIGxpbmtzCgoJV3JpdHRl biBieSBBZGkgR2lsYmVydAoKCVJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKCglWZXJzaW9uIGhpc3Rvcnk6CgkJMC4yCQktIGZpeDogbm8g ZXJyb3IgbWVzc2FnZSBpZiBVUkwgbWlzc2luZwoJCQkJLSBuZXcgYXR0cmlidXRlOiAnc3Vw cHJlc3NfaHJlZicgKGZvciBQaGxpcCkKCQkJCS0gbmV3IGF0dHJpYnV0ZTogJ2FuY2hvcicK CQkJCS0gbmV3IGF0dHJpYnV0ZTogJ3NlY3Rpb24nCgkJCQktIG5ldyBhdHRyaWJ1dGU6ICdj YXRlZ29yeScKCQkJCS0gbmV3IGF0dHJpYnV0ZTogJ3VybHZhcnMnCgkJMC4xCQktIGluaXRp YWwgcmVsZWFzZQoqLwoKZnVuY3Rpb24gYWRpX2xpbmsoJGF0dHMsICR0aGluZz0nJykgewoJ Z2xvYmFsICRwcmVmcywkcHJldGV4dCwkdGhpc2xpbms7CgoJZXh0cmFjdChsQXR0cyhhcnJh eSgKCQknaHRtbF9pZCcJCT0+ICcnLAkJCS8vIEhUTUwgSUQKCQknY2xhc3MnCQkJPT4gJycs CQkJLy8gQ1NTIGNsYXNzCgkJJ3RpdGxlJwkJCT0+ICcnLAkJCS8vIFRpdGxlIGF0dHJpYnV0 ZQoJCSdleHRfbGluaycJCT0+ICcwJywJCQkvLyBleHRlcm5hbCBsaW5rIG9yIG5vdAoJCSdl eHRfY2xhc3MnCQk9PiAnZXh0X2xpbmsnLAkvLyBkZWZhdWx0IGV4dGVybmFsIGNsYXNzCgkJ J3JlbF9uYW1lJwkJPT4gJycsCQkJLy8gSFRNTCAicmVsIiBhdHRyaWJ1dGUKCQkndXJsJwkJ CT0+ICcnLAkJCS8vIHRoZSBVUkwKCQknbGlua190ZXh0JwkJPT4gJycsCQkJLy8gbGluayB0 ZXh0CgkJJ3ByZXR0eV91cmwnCT0+ICcxJywJCQkvLyBzdHJpcCAiaHR0cDovLyIgJiB0cmFp bGluZyBzbGFzaCBpZiBVUkwgdXNlZCBhcyBsaW5rIHRleHQKCQknZXNjYXBlJwkJPT4gJ2h0 bWwnLAkJLy8gZXNjYXBlIEhUTUwgZW50aXRpZXMKCQknc2luZ2xlX3VybCcJPT4gJzAnLAkJ CS8vIGZvcmNlIHNpbmdsZSB1cmwgbW9kZQoJCSd1cmxfbGlua190ZXh0Jwk9PiAnMCcsCQkJ Ly8gdXNlIFVSTCBmb3IgdGhlIGxpbmsgdGV4dAoJCSdpZCcJCQk9PiAnJywJCQkvLyBUWFAg bGluayBJRAoJCSdzdXBwcmVzc19ocmVmJwk9PiAnMCcsCQkJLy8gc3VwcHJlc3Mgb3V0cHV0 IG9mICJocmVmIiBhdHRyaWJ1dGUKCQknc2VjdGlvbicJCT0+ICcnLAkJCS8vIHNlY3Rpb24g bmFtZSAoaWYgc3BlY2lmaWVkICYgZW1wdHkgdGhlbiBjdXJyZW50IHNlY3Rpb24pCgkJJ2Fu Y2hvcicJCT0+ICcnLAkJCS8vIHBhZ2UgYW5jaG9yCgkJJ3VybHZhcnMnCQk9PiAnJywJCQkv LyBVUkwgdmFyaWFibGVzIGUuZy4gJ3ZhcjE9dmFsdWUxJnZhcjI9dmFsdWUyJwoJCSdjYXRl Z29yeScJCT0+ICcnLAkJCS8vIGNhdGVnb3J5IG5hbWUgKGlmIHNwZWNpZmllZCAmIGVtcHR5 IHRoZW4gY3VycmVudCBjYXRlZ29yeSkKCQknZGVidWcnCQkJPT4gJzAnLAoJKSwgJGF0dHMp KTsKCglpZiAoJGRlYnVnKSB7CgkJZG1wKCRhdHRzKTsKCQlkbXAoJHByZWZzKTsKCQlkbXAo JHByZXRleHQpOwoJfQoKCS8vIGNoZWNrIGlmICdzZWN0aW9uJyBhdHRyaWJ1dGUgc3BlY2lm aWVkCgkkc2VjdGlvbl9tb2RlID0gYXJyYXlfa2V5X2V4aXN0cygnc2VjdGlvbicsICRhdHRz KTsKCWlmICgkc2VjdGlvbl9tb2RlKSB7CgkJaWYgKCRzZWN0aW9uID09ICcnKQoJCQkkdXJs X2FycmF5WydzJ10gPSAkcHJldGV4dFsncyddOwoJCWVsc2UKCQkJJHVybF9hcnJheVsncydd ID0gJHNlY3Rpb247Cgl9CgoJLy8gY2hlY2sgaWYgJ2NhdGVnb3J5JyBhdHRyaWJ1dGUgc3Bl Y2lmaWVkCgkkY2F0ZWdvcnlfbW9kZSA9IGFycmF5X2tleV9leGlzdHMoJ2NhdGVnb3J5Jywg JGF0dHMpOwoJaWYgKCRjYXRlZ29yeV9tb2RlKSB7CgkJaWYgKCRjYXRlZ29yeSA9PSAnJykK CQkJJHVybF9hcnJheVsnYyddID0gJHByZXRleHRbJ2MnXTsKCQllbHNlCgkJCSR1cmxfYXJy YXlbJ2MnXSA9ICRjYXRlZ29yeTsKCX0KCglpZiAoKCRzZWN0aW9uX21vZGUpIHx8ICgkY2F0 ZWdvcnlfbW9kZSkpCgkJJHVybCA9IHBhZ2VsaW5rdXJsKCR1cmxfYXJyYXkpOwoKCSRzaW5n bGVfbGluayA9IEZBTFNFOwoKCWlmICgkc2luZ2xlX3VybCkgeyAvLyBmb3JjZSAic2luZ2xl IHVybCBlbmNsb3NlZCIKCQkkc2luZ2xlX2xpbmsgPSBUUlVFOwoJCSR1cmwgPSB0cmltKCR0 aGluZyk7Cgl9CgoJLy8gY2hlY2sgaWYgd2UncmUgaW4gYSBsaW5rIGZvcm0KCWlmIChpc3Nl dCgkdGhpc2xpbmspICYmICFlbXB0eSgkdGhpc2xpbmspKSB7IC8vIGFzc3VtZSBsaW5rIGZv cm0KCQkkdXJsID0gJHRoaXNsaW5rWyd1cmwnXTsKCQlpZiAoJGxpbmtfdGV4dCA9PSAiIikg JGxpbmtfdGV4dCA9ICR0aGlzbGlua1snbGlua25hbWUnXTsgLy8gbGlua190ZXh0IGF0dHJp YnV0ZSBvdmVycmlkZXMgREIgdmFsdWUKCX0KCglpZiAoJHRoaW5nID09PSBOVUxMKSAvLyBu b3QgZW5jbG9zaW5nIHRhZywgc28gdXJsIGlzIHN1cHBsaWVkIHZpYSBhdHRyaWJ1dGVzCgkJ JHNpbmdsZV9saW5rID0gVFJVRTsKCWVsc2UgeyAvLyBlbmNsb3NpbmcgdGFnIHNvIHBhcnNl IGl0ICYgc2VlIHdoYXQgaXQgYmVjb21lcwoJCSR0aGlzX3RoaW5nID0gcGFyc2UoJHRoaW5n KTsKCQlpZiAocHJlZ19tYXRjaCgnQF5odHRwOi8vQCcsdHJpbSgkdGhpc190aGluZykpKSB7 IC8vIHNpbmdsZSB1cmwgZW5jbG9zZWQKCQkJJHVybCA9IHRyaW0oJHRoaXNfdGhpbmcpOwoJ CQkkc2luZ2xlX2xpbmsgPSBUUlVFOwoJCX0KCX0KCglpZiAoJGlkKSB7IC8vIHJlYWQgbGlu ayBmcm9tIFRYUCBkYXRhYmFzZQoJCSRzcWxfZmllbGRzID0gInVybCxsaW5rbmFtZSxkZXNj cmlwdGlvbiI7CgkJJHNxbF90YWJsZXMgPSAidHhwX2xpbmsiOwoJCSRzcWxfd2hlcmUgPSAi aWQgPSAiLiRpZDsKCQkkYSA9IHNhZmVfcm93KCRzcWxfZmllbGRzLCRzcWxfdGFibGVzLCRz cWxfd2hlcmUpOwoJCSR1cmwgPSAkYVsndXJsJ107CgkJaWYgKCRsaW5rX3RleHQgPT0gIiIp ICRsaW5rX3RleHQgPSAkYVsnbGlua25hbWUnXTsgLy8gbGlua190ZXh0IGF0dHJpYnV0ZSBv dmVycmlkZXMgREIgdmFsdWUKCX0KCgkvLyBmaXggdXAgc29tZSB2YWx1ZXMKCWlmICgkYW5j aG9yKSB7IC8vIGFuY2hvciBzdXBwbGllZAoJCSRhbmNob3IgPSAnIycuJGFuY2hvcjsKCQkv LyBpZiBubyBzZWN0aW9uIHRoZW4gdXNlIGN1cnJlbnQgcGFnZQoJCWlmICghJHNlY3Rpb25f bW9kZSkgewoJCQkkdXJsID0gJHByZWZzWydzaXRldXJsJ10uJHByZXRleHRbJ3JlcSddOyAv LyBtYWtlIHVwIFVSTCBmb3IgY3VycmVudCBwYWdlCgkJfQoJfQoJaWYgKCR1cmx2YXJzKSAv LyBjaGVjayBpZiB0aGVyZSdzIHNvbWUgVVJMIHZhcnMgYWxyZWFkeSBwcmVzZW50CgkJc3Ry c3RyKCR1cmwsJz8nKSAhPT0gRkFMU0UgPwoJCQkkdXJsdmFycyA9ICcmJy4kdXJsdmFycyA6 IC8vIHRhY2sgb250byBlbmQKCQkJJHVybHZhcnMgPSAnPycuJHVybHZhcnM7IC8vIHN0YXJ0 IGEgbmV3IG9uZQoJaWYgKCRyZWxfbmFtZSA9PSAnJykgLy8gaWYgJ3JlbCcgbm90IHNwZWNp ZmllZCwgc2V0IHNvbWUgZGVmYXVsdHMKCQkkZXh0X2xpbmsgPyAkcmVsX25hbWUgPSAiZXh0 ZXJuYWwiIDogJHJlbF9uYW1lID0gImJvb2ttYXJrIjsKCWlmICgkY2xhc3MgPT0gJycpIC8v IGlmICdjbGFzcycgbm90IHNwZWNpZmllZCwgc2V0IHNvbWUgZGVmYXVsdHMKCQkkZXh0X2xp bmsgPyAkY2xhc3MgPSAiZXh0X2xpbmsiIDogJGNsYXNzID0gIiI7CglpZiAoIXByZWdfbWF0 Y2goJ0BeaHR0cDovL0AnLCR1cmwpKSAkdXJsID0gJ2h0dHA6Ly8nLiR1cmw7IC8vIGNoZWNr IGlmIHN1cHBsaWVkIHVybCBpcyBtaXNzaW5nICJodHRwOi8vIgoJaWYgKCgkbGlua190ZXh0 ID09ICIiKSB8fCAoJHVybF9saW5rX3RleHQpKSAkbGlua190ZXh0ID0gJHVybDsgLy8gZGVm YXVsdCAnbGlua190ZXh0JyB0byBVUkwKCWlmICgkcHJldHR5X3VybCkgewoJCWlmIChwcmVn X21hdGNoKCdAXmh0dHA6Ly9AJywkbGlua190ZXh0KSkgLy8gc3RyaXAgJ2h0dHA6Ly8nCgkJ CSRsaW5rX3RleHQgPSBzdHJfcmVwbGFjZSgnaHR0cDovLycsICcnLCRsaW5rX3RleHQpOwoJ CWlmIChzdWJzdHIoJGxpbmtfdGV4dCwgLTEsIDEpID09ICIvIikgLy8gc3RyaXAgdHJhaWxp bmcgc2xhc2gKCQkJJGxpbmtfdGV4dCA9IHN1YnN0cigkbGlua190ZXh0LDAsLTEpOwoJfQoJ aWYgKCR0aXRsZSA9PSAiIikKCQlpZiAoJGlkKSAvLyB0YWtlIHRpdGxlIGZyb20gZGF0YWJh c2UKCQkJJHRpdGxlID0gJGFbJ2xpbmtuYW1lJ107CgkJZWxzZQoJCQkkdGl0bGUgPSAkbGlu a190ZXh0OyAvLyBkZWZhdWx0ICd0aXRsZScgdG8gJ2xpbmtfdGV4dCcKCWlmICgkZXNjYXBl ID09ICJodG1sIikgewoJCSR1cmwgPSBodG1sc3BlY2lhbGNoYXJzKCR1cmwpOwoJCSR1cmx2 YXJzID0gaHRtbHNwZWNpYWxjaGFycygkdXJsdmFycyk7CgkJJGxpbmtfdGV4dCA9IGh0bWxz cGVjaWFsY2hhcnMoJGxpbmtfdGV4dCk7CgkJJHRpdGxlID0gaHRtbHNwZWNpYWxjaGFycygk dGl0bGUpOwoJfQoKCWlmICgkc2luZ2xlX2xpbmspIHsgLy8gc2luZ2xlIGxpbmsgbW9kZQoJ CWlmICgoJHVybCA9PSAnaHR0cDovLycpICYmICEoJHN1cHByZXNzX2hyZWYpKSAvLyBub3Rl IHRoYXQgJ2h0dHA6Ly8nIGF1dG9tYXRpY2FsbHkgaW5zZXJ0ZWQgYWJvdmUKCQkJcmV0dXJu ICJubyBVUkwiOwoJCWVsc2UgewoJCQkkYXR0ciA9ICcnOwoJCQlpZiAoISRzdXBwcmVzc19o cmVmKSAkYXR0ciA9ICcgaHJlZj0iJy4kdXJsLiR1cmx2YXJzLiRhbmNob3IuJyInOwoJCQlp ZiAoJHRpdGxlKSAkYXR0ciA9ICRhdHRyLicgdGl0bGU9IicuJHRpdGxlLiciJzsKCQkJaWYg KCRyZWxfbmFtZSkgJGF0dHIgPSAkYXR0ci4nIHJlbD0iJy4kcmVsX25hbWUuJyInOwoJCQkv LyBmdW5jdGlvbiBkb1RhZygkY29udGVudCwgJHRhZywgJGNsYXNzID0gJycsICRhdHRzID0g JycsICRpZCA9ICcnKQoJCQlyZXR1cm4gZG9UYWcoJGxpbmtfdGV4dCwiYSIsJGNsYXNzLCRh dHRyLCRodG1sX2lkKTsKCQl9Cgl9CgllbHNlIHsgLy8gYXNzdW1lIGEgYmxvY2sgb2YgcHJl LXBhcnNlZCBsaW5rcyBpcyBlbmNsb3NlZAoJCSR0aGlzX3RoaW5nID0gcGFyc2UoJHRoaW5n KTsKCQlpZiAoJGNsYXNzID09ICIiKQoJCQkkcmVwbGFjZSA9ICIiOwoJCWVsc2UKCQkJJHJl cGxhY2UgPSAnY2xhc3M9IicuJGNsYXNzLiciICc7CgkJJHJlcGxhY2UgLj0gJ3JlbD0iJy4k cmVsX25hbWUuJyIgaHJlZj0iJy4nJDEnOwoJCSRvdXQgPSBwcmVnX3JlcGxhY2UoJy9ocmVm PSIvJywkcmVwbGFjZSwkdGhpc190aGluZyk7CgkJcmV0dXJuIGRvVGFnKCRvdXQsIiIpOwoJ fQp9CiI7czo4OiJoZWxwX3JhdyI7czo0MjI3OiJoMS4gKmFkaV9saW5rKiAtIEVuaGFuY2Vk IGxpbmtzCgpUaGlzIHBsdWdpbiBwcm92aWRlcyBhIG5ldyB0YWcsIEA8dHhwOmFkaV9saW5r IC8+QCwgd2hpY2ggd2lsbCBvdXRwdXQgbGlua3MgZnJvbSB2YXJpb3VzIHNvdXJjZXMsIHdp dGggY3VzdG9tIGF0dHJpYnV0ZXMuCgpoMi4gKlVzYWdlKgoKKmFkaV9saW5rKiBjYW4gYmUg dXNlZCBhcyBmb2xsb3dzOgoKKiBhcyBhIHNpbmdsZSB0YWc6IEA8dHhwOmFkaV9saW5rIC8+ QAoqIGFzIGEgY29udGFpbmVyIHRhZzogQDx0eHA6YWRpX2xpbms+IC4uLiA8L3R4cDphZGlf bGluaz5ACgppbjoKCiogcGFnZXMKKiBmb3JtcwoqIGFydGljbGVzCgpoMi4gKkV4YW1wbGVz KgoKX19TaW1wbGUgbGluazpfXwoKQDx0eHA6YWRpX2xpbmsgdXJsPSJodHRwOi8vd3d3LmV4 YW1wbGUuY29tLyIgLz5ACgotIGNyZWF0ZXMgbGluayB0byAiaHR0cDovL3d3dy5leGFtcGxl LmNvbS8iLCB3aXRoIGxpbmsgdGV4dCBvZiAid3d3LmV4YW1wbGUuY29tIgoKX19FeHRlcm5h bCBsaW5rOl9fCgpAPHR4cDphZGlfbGluayB1cmw9Ind3dy5leGFtcGxlLmNvbSIgZXh0X2xp bms9IjEiLz5ACgotIGNyZWF0ZXMgbGluayB3aXRoIEhUTUwgYXR0cmlidXRlczogY2xhc3M9 ImV4dF9saW5rIiAmIHJlbD0iZXh0ZXJuYWwiCgpfX0xpbmsgdXNpbmcgVVJMIGZyb20gYW5v dGhlciBzb3VyY2U6X18KCkA8dHhwOmFkaV9saW5rPjx0eHA6Y3VzdG9tX2ZpZWxkIG5hbWU9 ImxpbmsiLz48L3R4cDphZGlfbGluaz5ACgotIGNyZWF0ZXMgYSBsaW5rIGZyb20gVVJMIHN0 b3JlZCBpbiBhIGN1c3RvbSBmaWVsZCBjYWxsZWQgImxpbmsiCgpfX0VuaGFuY2UgbGlua3Mg aW4gYW4gYXJ0aWNsZTpfXwoKcHJlLiBub3RleHRpbGUuIDx0eHA6YWRpX2xpbmsgZXh0X2xp bms9IjEiPgoKcHJlLiAqICJMaW5rIDEiOmh0dHA6Ly93d3cubGlua29uZS5jb20KKiAiTGlu ayAyIjpodHRwOi8vd3d3Lmxpbmt0d28uY29tCiogIkxpbmsgMyI6aHR0cDovL3d3dy5saW5r dGhyZWUuY29tCgpwcmUuIG5vdGV4dGlsZS4gPC90eHA6YWRpX2xpbms+CgpOb3RlOiBzZXBh cmF0ZSBAYWRpX2xpbmtAIHRhZ3MgZnJvbSBjb250ZW50IHdpdGggYmxhbmsgbGluZXMgJiB1 c2UgIm5vdGV4dGlsZSIgdG8gcHJldmVudCBlbXB0eSBAPHA+PC9wPkAgYmVpbmcgZ2VuZXJh dGVkLgoKX19UWFAgbGluazpfXwoKQDx0eHA6YWRpX2xpbmsgaWQ9IjIzIiBsaW5rX3RleHQ9 Ik5ldyB0ZXh0Ii8+QAoKLSBvdXRwdXRzIGEgc3BlY2lmaWMgVFhQIGxpbmssIG92ZXJyaWRp bmcgdGhlIHN0b3JlZCBsaW5rIHRleHQvdGl0bGUKCl9fSW4gYSBsaW5rIGZvcm06X18KCkA8 dHhwOmFkaV9saW5rIGNsYXNzPSJteWNsYXNzIiAvPkAKCi0gd2hlbiB1c2VkIGluIGEgTGlu ayBGb3JtLCB3aWxsIG91dHB1dCBsaW5rIHdpdGggY2xhc3Mgb2YgIm15Y2xhc3MiCgpfX0xp bmsgdG8gcGFnZSBhbmNob3I6X18KCkA8dHhwOmFkaV9saW5rIGFuY2hvcj0idG9wIiBsaW5r X3RleHQ9ImJhY2sgdG8gdG9wIiAvPkAKCi0gb3V0cHV0cyBhIGxpbmsgdG8gQCN0b3BAIG9u IGN1cnJlbnQgcGFnZQoKX19MaW5rIHRvIHNlY3Rpb24gd2l0aCBhZGRpdGlvbmFsIFVSTCB2 YXJzOl9fCgpAPHR4cDphZGlfbGluayBzZWN0aW9uPSJteXNlY3Rpb24iIHVybHZhcnM9InZh cjE9dmFsdWUxJnZhcjI9dmFsdWUyIiBsaW5rX3RleHQ9Ik15IFNlY3Rpb24gd2l0aCBleHRy YXMiIC8+QAoKLSBvdXRwdXRzIGEgbGluayB0byBzZWN0aW9uICJteXNlY3Rpb24iLCB3aXRo IGV4dHJhIFVSTCB2YXJzIGFwcGVuZGVkCgpoMi4gKkF0dHJpYnV0ZXMqCgpAaHRtbF9pZD0i aHRtbCBpZCJACgotIHRoZSBIVE1MIElEIGFwcGxpZWQgdG8gdGhlIGxpbmsuIERlZmF1bHQg PSAiIiAobm8gSUQpLgoKQGNsYXNzPSJjbGFzcyBuYW1lIkAKCi0gQ1NTIGNsYXNzIGFwcGxp ZWQgdG8gdGhlIGxpbmsuIERlZmF1bHQgPSAiIiAobm8gY2xhc3MpLgoKQHVybD0idXJsIkAK Ci0gVVJMICh3aXRoIG9yIHdpdGhvdXQgImh0dHA6Ly8iIHByZWZpeCkgdXNlZCBmb3IgbGlu ay4gRGVmYXVsdCA9ICIiIChVUkwgdGFrZW4gZnJvbSBzb21lIG90aGVyIHNvdXJjZSkuCgpA bGlua190ZXh0PSJ0ZXh0IkAKCi0gdGV4dCB0byBiZSB1c2VkIGZvciBsaW5rLiBEZWZhdWx0 ID0gIiIgKHVzZSBVUkwpLiBXaWxsIG92ZXJyaWRlIHZhbHVlIGZyb20gZGF0YWJhc2Ugd2hl biB1c2VkIHdpdGggVFhQIGxpbmsgaWQuCgpAdGl0bGU9InRleHQiQAoKLSB0ZXh0IHRvIGJl IHVzZWQgZm9yIEhUTUwgdGl0bGUgYXR0cmlidXRlLiBEZWZhdWx0ID0gIiIgKHVzZSBsaW5r IHRleHQpLgoKQHByZXR0eV91cmw9ImJvb2xlYW4iQAoKLSBzdHJpcCAiaHR0cDovLyIgcHJl Zml4ICYgdHJhaWxpbmcgc2xhc2ggZnJvbSBVUkwuIERlZmF1bHQgPSAiMSIgKFllcykuICBG b3IgdXNlIHdoZW4gbGlua190ZXh0IGF0dHJpYnV0ZSBub3Qgc3BlY2lmaWVkLgoKQGV4dF9s aW5rPSJib29sZWFuIkAKCi0gc3BlY2lmaWVzIHdoZXRoZXIgdGhlIGxpbmsgc2hvdWxkIGJl IHJlbmRlcmVkIGFzIGFuICJleHRlcm5hbCIgbGluayBvciBub3QgLSBzZWUgZXh0X2NsYXNz ICYgcmVsX25hbWUuIERlZmF1bHQgPSAiMCIgKE5vKS4KCkBleHRfY2xhc3M9ImNsYXNzIG5h bWUiQAoKLSBDU1MgY2xhc3MgYXBwbGllZCB0byB0aGUgbGluayBpZiBleHRfbGluaz0xLiBE ZWZhdWx0ID0gImV4dF9saW5rIi4KCkByZWxfbmFtZT0icmVsIG5hbWUiQAoKLSB2YWx1ZSBm b3IgdGhlIEhUTUwgcmVsIGF0dHJpYnV0ZS4gRGVmYXVsdCA9ICJib29rbWFyayIgKG9yICJl eHRlcm5hbCIgaWYgZXh0X2xpbms9IjEiKS4KCkBlc2NhcGU9Imh0bWwiQAoKLSBlc2NhcGUg SFRNTCBlbnRpdGllcyBpbiBsaW5rIHRleHQgJiBsaW5rIHRpdGxlLiBEZWZhdWx0ID0gImh0 bWwiIChZZXMpLgoKQHNpbmdsZV91cmw9ImJvb2xlYW4iQAoKLSBmb3JjZSBzaW5nbGUgVVJM IG1vZGUuIERlZmF1bHQgPSAiMCIgKE5vKS4gIEZvciB1c2UgaW4gY29udGFpbmVyIHRhZyBt b2RlIHdoZW4gZW5jbG9zaW5nIGEgVVJMIHRoYXQgZG9lc24ndCBoYXZlICJodHRwOi8vIiBw cmVmaXguCgpAaWQ9ImxpbmsgSUQgbnVtYmVyIkAKCi0gZGlzcGxheSBzcGVjaWZpYyBUWFAg bGluay4KCkB1cmxfbGlua190ZXh0PSJib29sZWFuIkAKCi0gdXNlIFVSTCBmb3IgdGhlIGxp bmsgdGV4dC4gRGVmYXVsdCA9ICIwIiAoTm8pLiAgRm9yIHVzZSB3aXRoIFRYUCBsaW5rcywg YXMgbm9ybWFsbHkgdGhlIHN0b3JlZCBsaW5rIG5hbWUvdGl0bGUgaXMgZGlzcGxheWVkLgoK QHN1cHByZXNzX2hyZWY9ImJvb2xlYW4iQAoKLSBzdXBwcmVzcyBvdXRwdXQgb2YgdGhlIGhy ZWYgYXR0cmlidXRlLiBEZWZhdWx0ID0gIjAiIChObykuCgpAc2VjdGlvbj0ic2VjdGlvbiBu YW1lIkAKCi0gb3V0cHV0IGxpbmsgdG8gc3BlY2lmaWVkIHNlY3Rpb24uIERlZmF1bHQgPSBu b3QgdXNlZC4gRm9yIGN1cnJlbnQgc2VjdGlvbiwgdXNlIEBzZWN0aW9uPSIiQC4KCkBhbmNo b3I9InBhZ2UgYW5jaG9yIkAKCi0gb3V0cHV0IGxpbmsgd2l0aCBwYWdlIGFuY2hvci4gRGVm YXVsdCA9ICIiIChub3QgdXNlZCkuICBJZiBubyBVUkwgb3Igc2VjdGlvbiBzcGVjaWZpZWQg dGhlbiBsaW5rIHRvIGN1cnJlbnQgcGFnZSB1c2VkLgoKQHVybHZhcnM9IlVSTCB2YXJpYWJs ZXMiQAoKLSBhcHBlbmQgc29tZSBVUkwgdmFycy4gRGVmYXVsdCA9ICIiIChub25lKS4gRm9y IGV4YW1wbGUgQHVybHZhcnM9InZhcjE9dmFsdWUxJnZhcjI9dmFsdWUyIkAuCgpAY2F0ZWdv cnk9ImNhdGVnb3J5IG5hbWUiQAoKLSBvdXRwdXQgbGluayB3aXRoIHNwZWNpZmllZCBjYXRl Z29yeS4gRGVmYXVsdCA9ICIiIChObyBjYXRlZ29yeSkuCgpoMihhZGlfZXh0cmFzKS4gKkFk ZGl0aW9uYWwgaW5mb3JtYXRpb24qCgpwKGFkaV9leHRyYXMpLiBTdXBwb3J0IGFuZCBmdXJ0 aGVyIGluZm9ybWF0aW9uIGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRoZSAiVGV4dHBhdHRlcm4g c3VwcG9ydCBmb3J1bSI6aHR0cDovL2ZvcnVtLnRleHRwYXR0ZXJuLmNvbS92aWV3dG9waWMu cGhwP2lkPTI4MjI0LiBBIGNvcHkgb2YgdGhpcyBoZWxwIGlzIGFsc28gYXZhaWxhYmxlICJv bmxpbmUiOmh0dHA6Ly93d3cuZ3JlYXRvY2Vhbm1lZGlhLmNvbS5hdS90eHAvP3BsdWdpbj1h ZGlfbGluayZ2ZXJzaW9uPTAuMi4gIE1vcmUgYWRpX3BsdWdpbnMgY2FuIGJlIGZvdW5kICJo ZXJlIjpodHRwOi8vd3d3LmdyZWF0b2NlYW5tZWRpYS5jb20uYXUvdHhwLy4iO3M6MzoibWQ1 IjtzOjMyOiJjNDY2YmNhZDNhZTkwODRhMDBhOThlMWI3MTA4MDg1NSI7fQ==