Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

271 lines (268 sloc) 19.494 kB
# mcw_ma_gnolia v0.4
# Ma.gnolia Linkroll
# Mike West
# http://mikewest.org/
# ......................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# ......................................................................
YTo5OntzOjc6InZlcnNpb24iO3M6MzoiMC40IjtzOjY6ImF1dGhvciI7czo5OiJNaWtlIFdl
c3QiO3M6NDoibmFtZSI7czoxMzoibWN3X21hX2dub2xpYSI7czoxMDoiYXV0aG9yX3VyaSI7
czoyMDoiaHR0cDovL21pa2V3ZXN0Lm9yZy8iO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjE4OiJN
YS5nbm9saWEgTGlua3JvbGwiO3M6NDoidHlwZSI7aToxO3M6NDoiaGVscCI7czo1NTY4OiI8
aDI+PGNvZGU+bWN3X21hX2dub2xpYTwvY29kZT48L2gyPgoKPHA+PGNvZGU+bWN3X21hX2du
b2xpYTwvY29kZT4gaXMgYSBUZXh0UGF0dGVybiBwbHVnaW4gdGhhdCBnZW5lcmF0ZXMgYSBj
dXN0b21pemFibGUgTWEuZ25vbGlhIGxpbmsgcm9sbCBmb3IgdXNlIG9uIHlvdXIgd2Vic2l0
ZS4gIDxhIGhyZWY9Imh0dHA6Ly9taWtld2VzdC5vcmcvZmlsZV9kb3dubG9hZC81IiB0aXRs
ZT0iYG1jd19tYV9nbm9saWFgIGRvd25sb2FkIj5Eb3dubG9hZCBpdCBub3c8L2E+LCBhbmQg
c3RhcnQgcGxheWluZyE8L3A+Cgo8aDM+V2hhdCBpcyBpdD88L2gzPgoKPHA+PGEgaHJlZj0i
aHR0cDovL21hLmdub2xpYS5jb20iIHRpdGxlPSJtYS5nbm9saWEuY29tOiBhIHNvY2lhbCBi
b29rbWFya2luZyBzaXRlIj5NYS5nbm9saWE8L2E+IGlzIGEgc29jaWFsIGJvb2ttYXJraW5n
IHNpdGUgKHNvbWV3aGF0IGxpa2UgPGEgaHJlZj0iaHR0cDovL2RlbC5pY2lvLnVzIiB0aXRs
ZT0iZGVsLmljaW8udXM6IGEgc29jaWFsIGJvb2ttYXJraW5nIHNpdGUiPmRlbC5pY2lvLnVz
PC9hPikgdGhhdCBJIHVzZSB0byBrZWVwIHRyYWNrIG9mIGludGVyZXN0aW5nIHdlYnNpdGVz
IEkgY29tZSBhY3Jvc3MuICBJdCBwcm92aWRlcyB0aGUgYnVpbHQgaW4gYWJpbGl0eSB0byBk
aXNwbGF5IHlvdXIgbW9zdCByZWNlbnQgYm9va21hcmtzIG9uIHlvdXIgcGVyc29uYWwgd2Vi
c2l0ZSAoYSAmIzgyMTY7bGluayByb2xsJiM4MjE3OyksIGJ1dCBJIGRvbiYjODIxNzt0IGxp
a2UgdGhlIG1lY2hhbmlzbSBpdCB1c2VzIHRvIG1ha2UgdGhhdCBoYXBwZW4uPC9wPgoKPHA+
PGEgaHJlZj0iaHR0cDovL21hLmdub2xpYS5jb20iIHRpdGxlPSJtYS5nbm9saWEuY29tOiBh
IHNvY2lhbCBib29rbWFya2luZyBzaXRlIj5NYS5nbm9saWE8L2E+IHByb3ZpZGVzIHlvdSB3
aXRoIGEgSmF2YVNjcmlwdCBmaWxlIHRoYXQgdXNlcyA8Y29kZT5kb2N1bWVudC53cml0ZTwv
Y29kZT4gdG8gZHVtcCB0aGUgbGluayByb2xsIHRvIHlvdXIgc2l0ZS4gIFRoaXMgd29ya3Ms
IGJ1dCBpdCYjODIxNztzIG5vdCBleGFjdGx5IGFjY2Vzc2libGUsIG5vciBpcyBpdCB2ZXJ5
IGZsZXhpYmxlLiAgPGNvZGU+bWN3X21hX2dub2xpYTwvY29kZT4gbGV2ZXJhZ2VzIHRoaXMg
YnVpbHQtaW4gbWVjaGFuaXNtIHRvIHByb3ZpZGUgd2hhdCBJIGhvcGUgaXMgYW4gZXh0cmVt
ZWx5IGZsZXhpYmxlIGFuZCBhY2Nlc3NpYmxlIGxpbmsgcm9sbCB3aXRob3V0IHRoZSB1c2Ug
b2YgY2xpZW50LXNpZGUgSmF2YVNjcmlwdC48L3A+Cgo8cD5JbiBhIG51dHNoZWxsLCB0aGUg
cGx1Z2luIGRvd25sb2FkcyBhbmQgY2FjaGVzIHRoZSBKYXZhU2NyaXB0IGZpbGUgc2VydmVy
LXNpZGUgb24gYSBxdWFzaS1ob3VybHkgYmFzaXMsIGV4dHJhY3RzIHRoZSBsaW5rIGluZm9y
bWF0aW9uLCBhbmQgbWFrZXMgdGhlIGRhdGEgYXZhaWxhYmxlIGZvciB5b3UgdmlhIGEgc2Vy
aWVzIG9mIFRleHRQYXR0ZXJuIHRhZ3MgdGhhdCB5b3UgY2FuIHVzZSBpbiB5b3VyIDxjb2Rl
PmZvcm1zPC9jb2RlPiBhbmQgPGNvZGU+cGFnZXM8L2NvZGU+LjwvcD4KCjxoMz5Ib3cgRG8g
SSBVc2UgPGNvZGU+bWN3X21hX2dub2xpYTwvY29kZT4/IChlLmcuIHF1aWNrc3RhcnQpPC9o
Mz4KCjxwPlN0YXJ0IGJ5IDxhIGhyZWY9Imh0dHA6Ly9taWtld2VzdC5vcmcvZmlsZV9kb3du
bG9hZC81IiB0aXRsZT0iYG1jd19tYV9nbm9saWFgIGRvd25sb2FkIj5kb3dubG9hZGluZyB0
aGUgcGx1Z2luPC9hPiBhbmQgaW5zdGFsbGluZyBpdCBsaWtlIHlvdSB3b3VsZCBhbnkgb3Ro
ZXIuICBPbmNlIHlvdSYjODIxNzt2ZSBnb3R0ZW4gdGhlIHBsdWdpbiBpbnN0YWxsZWQsIDxj
b2RlPmVkaXQ8L2NvZGU+IGl0LCBhbmQgZW50ZXIgeW91ciBtYS5nbm9saWEgdXNlcm5hbWUg
YW5kIHRoZSBudW1iZXIgb2YgbGlua3MgeW91JiM4MjE3O2QgbGlrZSBkaXNwbGF5ZWQgaW50
byB0aGUgcHVibGljIGNvbmZpZyBzZWN0aW9uIG9mIHRoZSBQSFAgY29kZSAoc2hvdWxkIGJl
IGxpbmVzIDYgYW5kIDcgb3Igc28pLiAgSWYgeW91IGRvbiYjODIxNzt0IGRvIHRoaXMsIHlv
dSYjODIxNztsbCBiZSBzZWVpbmcgbXkgbGlua3MuICBUaGF0JiM4MjE3O3MgYSBmaW5lIHdh
eSB0byB0ZXN0LCBidXQgeW91JiM4MjE3O2xsIHByb2JhYmx5IHdhbnQgdG8gbWFrZSB0aGlz
IGNoYW5nZSBiZWZvcmUgeW91IGdvIGxpdmUuPC9wPgoKPHA+TmV4dCwgY2xpY2sgb24gdGhl
IDxjb2RlPmV4dGVuc2lvbnM8L2NvZGU+IHRhYiwgYW5kIHRoZW4gb24gdGhlIDxjb2RlPk1h
Lmdub2xpYSBMaW5rcm9sbDwvY29kZT4gc3VidGFiLiAgSGl0dGluZyB0aGlzIHBhZ2Ugd2ls
bCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIDxjb2RlPmZvcm08L2NvZGU+IGNhbGxlZCA8Y29k
ZT5tY3dfbWFfZ25vbGlhPC9jb2RlPiwgYW5kIG9mZmVyIHlvdSB0aGUgb3Bwb3J0dW5pdHkg
dG8gZm9yY2UtdXBkYXRlIHlvdXIgY2FjaGVkIG1hLmdub2xpYSBsaW5rcy4gIEdvIGFoZWFk
IGFuZCBoaXQgdGhhdCBidXR0b24gbm93IHRvIHNwZWVkIHRoaW5ncyB1cCBsYXRlci48L3A+
Cgo8cD5GaW5hbGx5LCBlZGl0IGEgPGNvZGU+cGFnZTwvY29kZT4gdG8gaW5jbHVkZSB0aGUg
PGNvZGU+Jmx0O3R4cDptY3dfbWFfZ25vbGlhIC8mZ3Q7PC9jb2RlPiB0YWcuICBWaW9sYSwg
bWEuZ25vbGlhIGxpbmtzIG9uIHlvdXIgcGFnZS4gIEFzdG91bmRpbmchPC9wPgoKPGgzPkhv
dyBkbyBJIGNvbmZpZ3VyZSB0aGUgb3V0cHV0PzwvaDM+Cgo8cD5FeGNlbGxlbnQgcXVlc3Rp
b24uICBIZXJlJiM4MjE3O3MgYnJpZWYgZG9jdW1lbnRhdGlvbiBvZiBlYWNoIG9mIHRoZSB0
YWdzIHRoaXMgcGx1Z2luIGVuYWJsZXM6PC9wPgoKPHVsPgo8bGk+PHA+PGNvZGU+dHhwOm1j
d19tYV9nbm9saWE8L2NvZGU+ICYjODIxMjsgVGggPGNvZGU+bWN3X21hX2dub2xpYTwvY29k
ZT4gdGFnIGlzIGEgPGVtPnNpbmdsZSB0YWc8L2VtPiB0aGF0IGdldHMKcmVwbGFjZWQgd2l0
aCB0aGUgTGluayBSb2xsLiAgSXQgY2FuIGJlIGluY2x1ZGVkIG9uIGEgPGNvZGU+cGFnZTwv
Y29kZT4gZGlyZWN0bHksIG9yCmFzIHBhcnQgb2YgYSA8Y29kZT5mb3JtPC9jb2RlPiB0aGF0
JiM4MjE3O3MgZGlzcGxheWVkIG9uIGEgcGFnZS48L3A+Cgo8cD5BdHRyaWJ1dGVzOiAgICA8
L3A+Cgo8dWw+CjxsaT48Y29kZT5mb3JtPC9jb2RlPiAmIzgyMTI7IHRoaXMgc3BlY2lmaWVz
IHRoZSA8Y29kZT5mb3JtPC9jb2RlPiB0byBiZSB1c2VkIGZvciBlYWNoIG9mIHRoZQpkaXNw
bGF5ZWQgbGlua3MuICBEZWZhdWx0cyB0byA8Y29kZT5tY3dfbWFfZ25vbGlhPC9jb2RlPi48
L2xpPgo8bGk+PGNvZGU+d3JhcF90YWc8L2NvZGU+ICYjODIxMjsgc3BlY2lmaWVzIHRoZSBi
bG9jay1sZXZlbCB0YWcgdG8gd3JhcCB0aGUgbGlua3MuCkRlZmF1bHRzIHRvIDxjb2RlPnVs
PC9jb2RlPi48L2xpPgoKPGxpPjxjb2RlPmNsYXNzPC9jb2RlPiAmIzgyMTI7IGFwcGxpZXMg
YSBDU1MgY2xhc3MgdG8gdGhlIGJsb2NrLWxldmVsIHRhZyBzcGVjaWZpZWQKIGluIHRoZSA8
Y29kZT53cmFwX3RhZzwvY29kZT4gYXR0cmlidXRlLjwvbGk+CjwvdWw+PC9saT4KPGxpPjxw
Pjxjb2RlPnR4cDptY3dfbWFfZ25vbGlhX3VyaTwvY29kZT4gJiM4MjEyOyBUaGUgPGNvZGU+
bWN3X21hX2dub2xpYV91cmk8L2NvZGU+IHRhZyBpcyBhIDxlbT5zaW5nbGUgdGFnPC9lbT4K
CnRoYXQgZ2V0cyByZXBsYWNlZCB3aXRoIGEgbGluayYjODIxNztzIFVSSSAodGhlIGFjdHVh
bCBhZGRyZXNzIG9mIHRoZSBsaW5rKS48L3A+PC9saT4KPGxpPjxjb2RlPnR4cDptY3dfbWFf
Z25vbGlhX2xpbms8L2NvZGU+ICYjODIxMjsgVGhlIDxjb2RlPm1jd19tYV9nbm9saWFfbGlu
azwvY29kZT4gdGFnIGlzIGEgPGVtPnNpbmdsZSB0YWc8L2VtPgp0aGF0IGdldHMgcmVwbGFj
ZWQgd2l0aCBhIGxpbmsmIzgyMTc7cyBtYS5nbm9saWEgcmVkaXJlY3QgKGUuZy4gPGNvZGU+
aHR0cDovL21hLmdub2xpYS5jb20vYm9va21hcmtzL2J1cHV4ZXNlcS9kaXNwYXRjaDwvY29k
ZT4pPC9saT4KCjxsaT48Y29kZT50eHA6bWN3X21hX2dub2xpYV90aXRsZTwvY29kZT4gJiM4
MjEyOyBUaGUgPGNvZGU+bWN3X21hX2dub2xpYV90aXRsZTwvY29kZT4gdGFnIGlzIGEgPGVt
PnNpbmdsZQp0YWc8L2VtPiB0aGF0IGdldHMgcmVwbGFjZWQgd2l0aCBhIGxpbmsmIzgyMTc7
cyB0aXRsZS48L2xpPgo8bGk+PGNvZGU+dHhwOm1jd19tYV9nbm9saWFfZGVzYzwvY29kZT4g
JiM4MjEyOyBUaGUgPGNvZGU+bWN3X21hX2dub2xpYV9kZXNjPC9jb2RlPiB0YWcgaXMgYSA8
ZW0+c2luZ2xlIHRhZzwvZW0+Cgp0aGF0IGdldHMgcmVwbGFjZWQgd2l0aCBhIGxpbmsmIzgy
MTc7cyBkZXNjcmlwdGlvbi48L2xpPgo8L3VsPgoKPHA+RXhhbXBsZSBwYWdlOjwvcD4KCjxw
cmU+PGNvZGU+UGFnZTogZGVmYXVsdAoKLi4uCiAgICAmbHQ7ZGl2IGlkPSdtYV9nbm9saWFf
bGlua3JvbGwnJmd0OwogICAgICAgICZsdDtoMiZndDtNeSBSZWNlbnQgQm9va21hcmtzJmx0
Oy9oMiZndDsKICAgICAgICAmbHQ7dHhwOm1jd19tYV9nbm9saWEKICAgICAgICAgICAgZm9y
bT0nbWN3X21hX2dub2xpYScKICAgICAgICAgICAgd3JhcF90YWc9J29sJwogICAgICAgICAg
ICBjbGFzcz0nbWFfZ25vbGlhX2xpc3QnCiAgICAgICAgLyZndDsKCiAgICAmbHQ7L2RpdiZn
dDsKLi4uCjwvY29kZT48L3ByZT4KCjxwPkV4YW1wbGUgZm9ybTo8L3A+Cgo8cHJlPjxjb2Rl
PkZvcm06IG1jd19tYV9nbm9saWEKCiZsdDtsaSZndDsKICAgICZsdDthCiAgICAgICAgaHJl
Zj0nJmx0O3R4cDptY3dfbWFfZ25vbGlhX2xpbmsgLyZndDsnCiAgICAgICAgdGl0bGU9JyZs
dDt0eHA6bWN3X21hX2dub2xpYV90aXRsZSAvJmd0OycKICAgICZndDsmbHQ7dHhwOm1jd19t
YV9nbm9saWFfdGl0bGUgLyZndDsmbHQ7L2EmZ3Q7IC0gJmx0O3R4cDptY3dfbWFfZ25vbGlh
X2Rlc2MgLyZndDsKCiZsdDsvbGkmZ3Q7CjwvY29kZT48L3ByZT4KCjxwPldvdWxkIHByb2R1
Y2U6PC9wPgoKPHByZT48Y29kZT4mbHQ7ZGl2IGlkPSdtYV9nbm9saWFfbGlua3JvbGwnJmd0
OwogICAgJmx0O2gyJmd0O015IFJlY2VudCBCb29rbWFya3MmbHQ7L2gyJmd0OwogICAgJmx0
O29sIGNsYXNzPSdtYV9nbm9saWFfbGlzdCcmZ3Q7CgogICAgICAgICZsdDtsaSZndDsKICAg
ICAgICAgICAgJmx0O2EKICAgICAgICAgICAgICAgIGhyZWY9J0xJTktfR09fSEVSRScKICAg
ICAgICAgICAgICAgIHRpdGxlPSdUSVRMRV9HT19IRVJFJwogICAgICAgICAgICAmZ3Q7VElU
TEVfR09fSEVSRSZsdDsvYSZndDsgLSBERVNDUklQVElPTiBHTyBIRVJFCiAgICAgICAgJmx0
Oy9saSZndDsKICAgICAgICAuLi4KICAgICAgICAmbHQ7bGkmZ3Q7CiAgICAgICAgICAgICZs
dDthCiAgICAgICAgICAgICAgICBocmVmPSdMSU5LX0dPX0hFUkUnCiAgICAgICAgICAgICAg
ICB0aXRsZT0nVElUTEVfR09fSEVSRScKICAgICAgICAgICAgJmd0O1RJVExFX0dPX0hFUkUm
bHQ7L2EmZ3Q7IC0gREVTQ1JJUFRJT04gR08gSEVSRQogICAgICAgICZsdDsvbGkmZ3Q7Cgog
ICAgJmx0Oy9vbCZndDsKJmx0Oy9kaXYmZ3Q7CjwvY29kZT48L3ByZT4KCjxwPk5pY2UsIGVo
PzwvcD4iO3M6NDoiY29kZSI7czo4MDc4OiIvKgogICAgUFVCTElDIFBMVUdJTiBDT05GSUcK
ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KICAgICRtY3dfbWFfZ25vbGlhID0gYXJyYXko
CiAgICAgICAgInVzZXJuYW1lIiAgICAgID0+ICJtaWtld2VzdCIsCiAgICAgICAgIm51bV9s
aW5rcyIgICAgID0+ICI0IiwKICAgICAgICAiZmlsdGVyX2J5X3RhZyIgPT4gIiIKICAgICk7
CgovKgogICAgUExVR0lOIENPREUgKG5vIGVkaXRpbmcgYmVsb3cgdGhpcyBsaW5lLCBwbGVh
c2UpCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCiAgICBpZiAoJG1jd19tYV9nbm9saWFb
J2ZpbHRlcl9ieV90YWcnXSkgewogICAgICAgICRsaW5rcm9sbF9wYXRoID0gIi9qcy9ub25l
L3Blb3BsZS8iLiRtY3dfbWFfZ25vbGlhWyd1c2VybmFtZSddLiIvdGFncy8iLiRtY3dfbWFf
Z25vbGlhWydmaWx0ZXJfYnlfdGFnJ10uIi8/bGVuZ3RoPSIuJG1jd19tYV9nbm9saWFbJ251
bV9saW5rcyddOwogICAgfSBlbHNlIHsKICAgICAgICAkbGlua3JvbGxfcGF0aCA9ICIvanMv
bm9uZS9wZW9wbGUvIi4kbWN3X21hX2dub2xpYVsndXNlcm5hbWUnXS4iLz9sZW5ndGg9Ii4k
bWN3X21hX2dub2xpYVsnbnVtX2xpbmtzJ107CiAgICB9CiAgICAkbWN3X21hX2dub2xpYVsn
bGlua3JvbGxfcGF0aCddID0gJGxpbmtyb2xsX3BhdGg7CiAgICAkbWN3X21hX2dub2xpYVsn
bGlua3JvbGxfdXJpJ10gID0gImh0dHA6Ly9tYS5nbm9saWEuY29tIi4kbWN3X21hX2dub2xp
YVsnbGlua3JvbGxfcGF0aCddOwogICAgJG1jd19tYV9nbm9saWFbJ2NhY2hlX2ZpbGUnXSAg
ICA9IGZpbmRfdGVtcF9kaXIoKS4iLyIuJEdMT0JBTFNbJ3ByZWZzJ11bJ2Jsb2dfdWlkJ10u
Ii0tbWN3X21hX2dub2xpYS5kYXRhIjsKCiAgICAkR0xPQkFMU1snX01DV19NQV9HTk9MSUEn
XSA9ICRtY3dfbWFfZ25vbGlhOwoKCgogICAgLyoKICAgICAgICBQTFVHSU4gQ09ERTo6SU5T
VEFOVElBVElPTgogICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICovCiAgICAgICAgaWYgKEB0eHBpbnRl
cmZhY2UgPT0gJ2FkbWluJykgewogICAgICAgIAkkZXZlbnQgICAgICA9ICdtY3dfbWFfZ25v
bGlhJzsKICAgICAgICAJJGV2ZW50X3RhYiAgPSAnTWEuZ25vbGlhIExpbmtyb2xsJzsKCiAg
ICAgICAgCWFkZF9wcml2cygkZXZlbnQsICcxLDInKTsKICAgICAgICAJcmVnaXN0ZXJfdGFi
KCJleHRlbnNpb25zIiwgJGV2ZW50LCAkZXZlbnRfdGFiKTsKICAgICAgICAJcmVnaXN0ZXJf
Y2FsbGJhY2soJ21jd19tYV9nbm9saWFfYWRtaW4nLCAkZXZlbnQpOwogICAgICAgIH0KCiAg
ICAvKgogICAgICAgIFBMVUdJTiBDT0RFOjpNQUlOIEFETUlOIENBTExCQUNLCiAgICAgICAg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogICAgKi8KICAgICAgICBmdW5jdGlvbiBtY3dfbWFfZ25vbGlhX2FkbWluKCRl
dmVudCwgJHN0ZXApIHsKICAgICAgICAgICAgZ2xvYmFsICRfTUNXX01BX0dOT0xJQTsKCiAg
ICAgICAgICAgIGlmICghc2FmZV9yb3coIioiLCAndHhwX2Zvcm0nLCAibmFtZSA9ICdtY3df
bWFfZ25vbGlhJyIpICkgewogICAgICAgICAgICAgICAgJGZvcm0gPSAnPGxpPjxhIGhyZWY9
Ijx0eHA6bWN3X21hX2dub2xpYV9saW5rIC8+IiB0aXRsZT0iPHR4cDptY3dfbWFfZ25vbGlh
X3RpdGxlIC8+Ij48dHhwOm1jd19tYV9nbm9saWFfdGl0bGUgLz48L2E+IDx0eHA6bWN3X21h
X2dub2xpYV9kZXNjIC8+PC9saT4nOwogICAgICAgICAgICAgICAgc2FmZV9pbnNlcnQoJ3R4
cF9mb3JtJywgIm5hbWU9J21jd19tYV9nbm9saWEnLCB0eXBlPSdtaXNjJywgZm9ybT0nIi4k
Zm9ybS4iJyIpOwogICAgICAgICAgICB9CgogICAgCQlwYWdldG9wKCJNYW51YWxseSBVcGRh
dGUgTWEuR25vbGlhIENhY2hlIiwgIiIpOwoKICAgICAgICAgICAgcHJpbnQgIgoJICAgICAg
ICA8c3R5bGUgdHlwZT0ndGV4dC9jc3MnPgoJICAgICAgICAgICAgLnN1Y2Nlc3MgeyBjb2xv
cjogIzAwOTkwMDsgfQoJICAgICAgICAgICAgLmZhaWx1cmUgeyBjb2xvcjogI0ZGMDAwMDsg
fQoJICAgICAgICA8L3N0eWxlPgoKCSAgICAgICAgPHRhYmxlIGNlbGxwYWRkaW5nPScwJyBj
ZWxsc3BhY2luZz0nMCcgYm9yZGVyPScwJyBpZD0nbGlzdCcgYWxpZ249J2NlbnRlcic+Cgkg
ICAgICAgICAgICA8dHI+CgkgICAgICAgICAgICAgICAgPHRkPgoJICAgICAgICAiOwoKICAg
ICAgICAgICAgaWYgKCRzdGVwID09ICdmb3JjZV91cGRhdGUnKSB7CiAgICAgICAgICAgICAg
ICBpZiAodXBkYXRlX21hX2dub2xpYV9jYWNoZSh0cnVlKSAhPSAtMSkgewogICAgICAgICAg
ICAgICAgICAgIHByaW50ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5NYW51
YWwgVXBkYXRlIFJlc3VsdHM8L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+
Q2FjaGUgbWFudWFsIHVwZGF0ZSA8c3Ryb25nIGNsYXNzPSdzdWNjZXNzJz5zdWNjZWVkZWQ8
L3N0cm9uZz4hPC9wPgogICAgICAgICAgICAgICAgICAgICI7CiAgICAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHByaW50ICIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxoMT5NYW51YWwgVXBkYXRlIFJlc3VsdHM8L2gxPgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPHA+Q2FjaGUgbWFudWFsIHVwZGF0ZSA8c3Ryb25nIGNsYXNzPSdm
YWlsdXJlJz5mYWlsZWQ8L3N0cm9uZz4hPC9wPgogICAgICAgICAgICAgICAgICAgICI7CiAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICghaXNfZmls
ZSgkX01DV19NQV9HTk9MSUFbJ2NhY2hlX2ZpbGUnXSkpIHsKICAgICAgICAgICAgICAgICR0
ZXh0ID0gIkNhY2hlIGZpbGUgZG9lcyBub3QgeWV0IGV4aXN0IjsKICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICRmcCAgID0gZm9wZW4oJF9NQ1dfTUFfR05PTElBWydj
YWNoZV9maWxlJ10sICdyJyk7CiAgICAgICAgICAgICAgICAkc3RhdCA9IGZzdGF0KCRmcCk7
CiAgICAgICAgICAgICAgICBmY2xvc2UoJGZwKTsKICAgICAgICAgICAgICAgICR0ZXh0ID0g
IkNhY2hlIGxhc3QgdXBkYXRlZCAiLmRhdGUoJ3InLCAkc3RhdFsnbXRpbWUnXSk7CiAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgIHByaW50ICIKICAgICAgICAgICAgICAgICAgICA8aDE+
TWFudWFsbHkgdXBkYXRlIG1hLmdub2xpYSBjYWNoZTwvaDE+CiAgICAgICAgICAgICAgICAg
ICAgPHA+Ii4kdGV4dC4iPC9wPgogICAgICAgICAgICAgICAgIi5mb3JtKAogICAgICAgICAg
ICAgICAgICAgICAgICBmSW5wdXQoJ3N1Ym1pdCcsICdGb3JjZSBVcGRhdGUnLCAnRm9yY2Ug
VXBkYXRlJywgJ3NtYWxsZXJib3gnKS4KICAgICAgICAgICAgICAgICAgICAgICAgZUlucHV0
KCdtY3dfbWFfZ25vbGlhJykuc0lucHV0KCdmb3JjZV91cGRhdGUnKQogICAgICAgICAgICAg
ICAgKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZV9tYV9nbm9saWFfY2Fj
aGUoJGZvcmNlID0gZmFsc2UpIHsKICAgICAgICAgICAgZ2xvYmFsICRfTUNXX01BX0dOT0xJ
QTsKCiAgICAgICAgICAgIGlmIChpc19maWxlKCRfTUNXX01BX0dOT0xJQVsnY2FjaGVfZmls
ZSddKSkgewogICAgICAgICAgICAgICAgJGZwICAgPSBmb3BlbigkX01DV19NQV9HTk9MSUFb
J2NhY2hlX2ZpbGUnXSwgJ3InKTsKICAgICAgICAgICAgICAgICRzdGF0ID0gZnN0YXQoJGZw
KTsKICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgJHN0YXQgPSBhcnJheSgnbXRpbWUnID0+IDApOwogICAgICAgICAg
ICB9CgogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAg
ICAgICAgKCRzdGF0WydtdGltZSddICsgMzYwMCkgPCB0aW1lKCkKICAgICAgICAgICAgICAg
ICkKICAgICAgICAgICAgICAgIHx8CiAgICAgICAgICAgICAgICAkZm9yY2UgPT0gdHJ1ZQog
ICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIC8vIHRyeSBmc29ja29wZW4gZmlyc3QK
ICAgICAgICAgICAgICAgICRmcCA9IGZzb2Nrb3BlbigKICAgICAgICAgICAgICAgICAgICAi
bWEuZ25vbGlhLmNvbSIsCiAgICAgICAgICAgICAgICAgICAgODAsCiAgICAgICAgICAgICAg
ICAgICAgJGVycm5vLAogICAgICAgICAgICAgICAgICAgICRlcnJzdHIsCiAgICAgICAgICAg
ICAgICAgICAgMjAKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBpZiAoJGZw
KSB7CiAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3QgID0gIkdFVCAiLiRfTUNXX01BX0dO
T0xJQVsnbGlua3JvbGxfcGF0aCddLiIgSFRUUC8xLjBcclxuIjsKICAgICAgICAgICAgICAg
ICAgICAkcmVxdWVzdCAuPSAiSG9zdDogbWEuZ25vbGlhLmNvbVxyXG4iOwogICAgICAgICAg
ICAgICAgICAgICRyZXF1ZXN0IC49ICJVc2VyLUFnZW50OiBtY3dfbWFfZ25vbGlhIDAuM1xy
XG4iOwogICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0IC49ICJDb25uZWN0aW9uOiBDbG9z
ZVxyXG5cclxuIjsKICAgICAgICAgICAgICAgICAgICAkcmVzcG9uc2UgPSAiIjsKICAgICAg
ICAgICAgICAgICAgICBmd3JpdGUoJGZwLCAkcmVxdWVzdCk7CiAgICAgICAgICAgICAgICAg
ICAgJGluSGVhZGVycyA9IDE7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRm
cCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRpbkhlYWRlcnMpIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICRidWZmZXIgPSBmZ2V0cygkZnAsIDEyOCk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15ccyokLycsICRidWZm
ZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluSGVhZGVycyA9IDA7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzcG9uc2UgLj0gZmdl
dHMoJGZwLCAxMjgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICAg
ICAgICAgICRkYXRhID0gJHJlc3BvbnNlOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICAgICAvLyBmc29ja29wZW4gZmFpbGVkIHNvbWVob3c6CiAgICAgICAg
ICAgICAgICAgICAgcHJpbnQgIjxwPkEgY29ubmVjdGlvbiBjb3VsZG4ndCBiZSBvcGVuZWQg
dG8gcmV0cmlldmUgdGhlIG1hLmdub2xpYSBkYXRhLiAgSGVyZSdzIHRoZSBjcmF6eS10ZWNo
bmljYWwgZXJyb3IgbWVzc2FnZTo8YnIgLz4kZXJyc3RyPGJyIC8+UGxlYXNlIHRyeSBhZ2Fp
biBsYXRlciE8L3A+IjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAg
ICAgICAgICB9CgogICAgICAgICAgICAgICAgJGRhdGEgPSBzcGxpdCgnPGR0IGNsYXNzPSJt
YWdub2xpYS1tYXJrIj4nLCAkZGF0YSk7CgkJCQlhcnJheV9zaGlmdCgkZGF0YSk7CiAgICAg
ICAgICAgICAgICAkZGF0YUFycmF5ID0gYXJyYXkoKTsKCgkJCQlmb3JlYWNoICgkZGF0YSBh
cyAkbGluaykgewoJCQkJCSR0ZW1wbGluayA9IGFycmF5KCk7CgkJCQkJcHJlZ19tYXRjaCgi
L1xzKzxhIGhyZWY9XCIoLis/KVwiW14+XSs+XHMqKC4rPylccyo8XC9hPi4rPzxkZC4rPz4o
Lis/KTxcL2RkPi8iLCAkbGluaywgJG91dCk7CgoJCQkJCSR0ZW1wbGlua1sndXJsJ10JPSAk
b3V0WzFdOwoJCQkJCSR0ZW1wbGlua1snbGluayddCT0gJG91dFsxXTsKCQkJCQkkdGVtcGxp
bmtbJ3RpdGxlJ10JPSAkb3V0WzJdOwoJCQkJCSR0ZW1wbGlua1snZGVzYyddCT0gJG91dFsz
XTsKCgkJCQkJYXJyYXlfcHVzaCgkZGF0YUFycmF5LCAkdGVtcGxpbmspOwoJCQkJfQoKICAg
ICAgICAgICAgICAgICRkYXRhID0gc2VyaWFsaXplKCRkYXRhQXJyYXkpOwoKICAgICAgICAg
ICAgICAgICR0ZW1wZmlsZSA9ICRfTUNXX01BX0dOT0xJQVsnY2FjaGVfZmlsZSddOwoKICAg
ICAgICAgICAgICAgICRmaWxlID0gZm9wZW4oJHRlbXBmaWxlLCAidysiKTsKICAgICAgICAg
ICAgICAgIGZ3cml0ZSgkZmlsZSwgJGRhdGEpOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgIC8q
CiAgICAgICAgUExVR0lOIENPREU6OkNMSUVOVCBTSURFIFRBR1MKICAgICAgICAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAgICAqLwogICAgICAgIGZ1bmN0aW9uIG1jd19tYV9nbm9saWEoJGF0dHMpIHsKICAgICAg
ICAgICAgZ2xvYmFsICRfTUNXX01BX0dOT0xJQTsKICAgICAgICAgICAgZXh0cmFjdCgKICAg
ICAgICAgICAgICAgIGxBdHRzKAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAg
ICAgICAgICAgICAgICAgICAiZm9ybSIgICAgID0+ICJtY3dfbWFfZ25vbGlhIiwKICAgICAg
ICAgICAgICAgICAgICAgICAgIndyYXBfdGFnIiA9PiAidWwiLAogICAgICAgICAgICAgICAg
ICAgICAgICAiY2xhc3MiICAgID0+ICJtYV9nbm9saWFfbGlua3MiLAogICAgICAgICAgICAg
ICAgICAgICAgICAiaWQiICAgICAgID0+ICIiCiAgICAgICAgICAgICAgICAgICAgKSwKICAg
ICAgICAgICAgICAgICAgICAkYXR0cwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAp
OwoKICAgICAgICAgICAgdXBkYXRlX21hX2dub2xpYV9jYWNoZSgpOwoKICAgICAgICAgICAg
JGRhdGEgICAgICA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRfTUNXX01BX0dOT0xJQVsnY2FjaGVf
ZmlsZSddKTsKICAgICAgICAgICAgJGxpbmtBcnJheSA9IHVuc2VyaWFsaXplKCRkYXRhKTsK
CiAgICAgICAgICAgIGlmICgkd3JhcF90YWcpIHsKICAgICAgICAgICAgICAgICRzdHJpbmcg
PSAiPCIuJHdyYXBfdGFnLiIgY2xhc3M9JyIuJGNsYXNzLiInPiI7CiAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAkc3RyaW5nID0gIiI7CiAgICAgICAgICAgIH0KCiAg
ICAgICAgICAgICRmb3JtID0gZmV0Y2hfZm9ybSgkZm9ybSk7CgovLyAgICAgICAgICAgIHBy
aW50ICRmb3JtOwoKICAgICAgICAgICAgZm9yZWFjaCgkbGlua0FycmF5IGFzICR0ZW1wbGlu
aykgewogICAgICAgICAgICAgICAgJEdMT0JBTFNbJ19NQ1dfTUFfR05PTElBX0RBVEEnXSA9
ICR0ZW1wbGluazsKICAgICAgICAgICAgICAgICRzdHJpbmcgLj0gcGFyc2UoJGZvcm0pOwog
ICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHdyYXBfdGFnKSB7CiAgICAgICAgICAg
ICAgICAkc3RyaW5nIC49ICI8LyIuJHdyYXBfdGFnLiI+IjsKICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICRzdHJpbmcgLj0gIiI7CiAgICAgICAgICAgIH0KCiAgICAg
ICAgICAgIHJldHVybiAkc3RyaW5nOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbWN3
X21hX2dub2xpYV91cmkoKSAgIHsgcmV0dXJuIG1jd19tYV9nbm9saWFfZGF0YSgndXJsJyk7
IH0KICAgICAgICBmdW5jdGlvbiBtY3dfbWFfZ25vbGlhX2xpbmsoKSAgeyByZXR1cm4gbWN3
X21hX2dub2xpYV9kYXRhKCdsaW5rJyk7IH0KICAgICAgICBmdW5jdGlvbiBtY3dfbWFfZ25v
bGlhX3RpdGxlKCkgeyByZXR1cm4gbWN3X21hX2dub2xpYV9kYXRhKCd0aXRsZScpOyB9CiAg
ICAgICAgZnVuY3Rpb24gbWN3X21hX2dub2xpYV9kZXNjKCkgIHsgcmV0dXJuIG1jd19tYV9n
bm9saWFfZGF0YSgnZGVzYycpOyB9CgogICAgICAgIGZ1bmN0aW9uIG1jd19tYV9nbm9saWFf
ZGF0YSgkdHlwZSkgewogICAgICAgICAgICBnbG9iYWwgJF9NQ1dfTUFfR05PTElBX0RBVEE7
CiAgICAgICAgICAgIHJldHVybiAkX01DV19NQV9HTk9MSUFfREFUQVskdHlwZV07CiAgICAg
ICAgfSI7czozOiJtZDUiO3M6MzI6Ijg1YTA5YzcwZTZmOGQ0N2NhNzI4MWE5NmY3ZWI2NTE0
Ijt9
Jump to Line
Something went wrong with that request. Please try again.