Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#25 2020-11-15 11:15:10

hcgtv
Plugin Author
From: Miami, Florida
Registered: 2005-11-29
Posts: 2,721
Website

Re: We Love TXP

Dragondz wrote #326766:

Hi,
SHould be there a search functionality on the website ?
I dont remember if i had submitted some of my websites then i cant check them right now!
(Remove this one http://welovetxp.com/2009/12/13/aidesign it s no longer available)
Cheers.

Hi, no search for now, but it could be added. As for your site, when I took over WeLoveTXP, most of the links were either dead or the domain was running another blog or cms. We decided to keep them around for nostalgic reasons, check out the latest pages.

Offline

#26 2020-11-15 11:18:47

hcgtv
Plugin Author
From: Miami, Florida
Registered: 2005-11-29
Posts: 2,721
Website

Re: We Love TXP

Bloke wrote #326770:

From what I recall, it doesn’t phone home any more. The only contact we have with our servers is an update check when you visit the Diagnostics panel. The next version will have update checks on the plugins panel but, again, that’s only on that panel, not on installation.

Ok, was worth a shot, back to view source.

By the way, do you have a good handle on the number of TXP installations in the wild?

Offline

#27 2020-11-15 11:23:23

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 10,515
Website GitHub

Re: We Love TXP

hcgtv wrote #326773:

do you have a good handle on the number of TXP installations in the wild?

I don’t, sadly. We can gauge it from download counts, but that’s not accurate. Someone did search for Donald Swain’s “I like your site very much” to see how many have been installed and not altered much. That was interesting!


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#28 2020-11-15 11:30:54

hcgtv
Plugin Author
From: Miami, Florida
Registered: 2005-11-29
Posts: 2,721
Website

Re: We Love TXP

Bloke wrote #326774:

I don’t, sadly. We can gauge it from download counts, but that’s not accurate. Someone did search for Donald Swain’s “I like your site very much” to see how many have been installed and not altered much. That was interesting!

Then I would do an update check of TXP whenever someone enters the admin side for the first time in a session, many projects do this. Heck you can build a map showing TXP in the wild, we did this early on, don’t remember who set it up, but it showed TXP users in the wild.

Offline

#29 2020-11-18 15:03:08

WebmistressM
Member
Registered: 2011-08-12
Posts: 61

Re: We Love TXP

Thanks for the updates to We Love TXP. Unfortunately, the false submissions (someone submitting a fake site or submitting a site that is not built in TXP) are not always easy to eliminate before they press “Submit”.

hcgtv wrote #326777:

Then I would do an update check of TXP whenever someone enters the admin side for the first time in a session, many projects do this. Heck you can build a map showing TXP in the wild, we did this early on, don’t remember who set it up, but it showed TXP users in the wild.

I admit, having a map like this would be cool to see. Im curious what the old incarnation looked like.

Offline

#30 2020-11-18 15:07:32

gaekwad
Server grease monkey
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 3,627
GitHub

Re: We Love TXP

I have clients that I actively obfuscate their choice of CMS, Textpattern included. Reducing the attack surface of any website is part of responsible admin-ing.

Just because we’re happy with evangelising doesn’t mean a non-enthusiast wants to do the same. And the phoning home for a geolocation is a privacy nightmare & legal issue waiting to happen. Hard no from me.

Offline

#31 2020-11-18 15:19:13

hcgtv
Plugin Author
From: Miami, Florida
Registered: 2005-11-29
Posts: 2,721
Website

Re: We Love TXP

WebmistressM wrote #326920:

I admit, having a map like this would be cool to see. Im curious what the old incarnation looked like.

Let me go back through my disk archives, I may find a screenshot.

When we had it up and running it was pretty cool to see, never saw privacy issues, and I’m a stickler for security after I got fleeced by that Nigerian prince.

Offline

#32 2020-11-18 15:39:28

hcgtv
Plugin Author
From: Miami, Florida
Registered: 2005-11-29
Posts: 2,721
Website

Re: We Love TXP

Here is the old thread in the archives, where I hang out the most ;)

Couldn’t find any screens of the map we had up, but it took me down memory lane looking at pics, that’s for sure.

Offline

#33 2020-11-18 16:01:11

hcgtv
Plugin Author
From: Miami, Florida
Registered: 2005-11-29
Posts: 2,721
Website

Re: We Love TXP

WebmistressM wrote #326920:

I admit, having a map like this would be cool to see. Im curious what the old incarnation looked like.

Found the plugin, dated 4/6/2007:

#	+--------------------------------------------------------------+
#	|                                                              |
#	|  bas_lets_see_yours  v0.2                                    |
#	|  Get listed on the TXP Blogmap                               |
#	|                                                              |
#	|  by Bastian Sackermann                                       |
#	|  http://samisdat.org                                         |
#	|                                                              |
#	+--------------------------------------------------------------+

#	+--------------------------------------------------------------+
#	|                                                              |
#	|  This is a plugin for Textpattern - http://textpattern.com/  |
#	|  To install: textpattern > admin > plugins                   |
#	|  Paste this page's content into the 'Install plugin' box:    |
#	|                                                              |
#	+--------------------------------------------------------------+


YToxMTp7czo0OiJuYW1lIjtzOjE4OiJiYXNfbGV0c19zZWVfeW91cnMiO3M6NzoidmVyc2lv
biI7czozOiIwLjIiO3M6NjoiYXV0aG9yIjtzOjE4OiJCYXN0aWFuIFNhY2tlcm1hbW4iO3M6
MTA6ImF1dGhvcl91cmkiO3M6MjA6Imh0dHA6Ly9zYW1pc2RhdC5vcmcvIjtzOjExOiJkZXNj
cmlwdGlvbiI7czoyMjk6IlRoaXMgcGx1Z2luIGJyaW5ncyB5b3VyIHNpdGUgdG8gdGhlIDxh
IGhyZWY9Imh0dHA6Ly90eHBtYWdhemluZS5rYmJ1LmRlL3R4cF9ibG9nbWFwLyI+dHhwX2Js
b2dtYXA8L2E+LjxiciAvPkFjdGl2YXRlIGl0IGFuZCBzYXZlIHNvbWUgaW5mb3JtYXRpb25z
IGFib3V0IHlvdXIgYmxvZyBhdCB0aGUgdGhpcyA8YSBocmVmPSIuL2luZGV4LnBocD9ldmVu
dD1iYXNfbGV0X3NlZSI+ZXh0ZW5zaW9uPC9hPi4iO3M6NDoid29yayI7aTowO3M6NDoidHlw
ZSI7aToxO3M6NjoiaGVhZGVyIjtzOjEwOTA6IiMJKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KIwl8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
DQojCXwgIGJhc19sZXRzX3NlZV95b3VycyAgdjAuMiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwNCiMJfCAgR2V0IGxpc3RlZCBvbiB0aGUgVFhQIEJsb2dtYXAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KIwl8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQojCXwgIGJ5IEJh
c3RpYW4gU2Fja2VybWFubiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwNCiMJfCAgaHR0cDovL3NhbWlzZGF0Lm9yZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfA0KIwl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQojCSstLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCg0KIwkrLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0rDQojCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwNCiMJfCAgVGhpcyBpcyBhIHBsdWdpbiBmb3IgVGV4dHBh
dHRlcm4gLSBodHRwOi8vdGV4dHBhdHRlcm4uY29tLyAgfA0KIwl8ICBUbyBpbnN0YWxsOiB0
ZXh0cGF0dGVybiA+IGFkbWluID4gcGx1Z2lucyAgICAgICAgICAgICAgICAgICB8DQojCXwg
IFBhc3RlIHRoaXMgcGFnZSdzIGNvbnRlbnQgaW50byB0aGUgJ0luc3RhbGwgcGx1Z2luJyBi
b3g6ICAgIHwNCiMJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfA0KIwkrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoiO3M6NDoiaGVscCI7czo0
Mzk5OiIKCTxoMT48c3Ryb25nPkxldHMgU2VlIFlvdXJzPC9zdHJvbmc+PC9oMT4KCgk8cD5J
biBvcmRlciB0byBnZXQgbGlzdGVkIG9uIHRoZSBUWFAgQmxvZ21hcCwgeW91IGhhdmUgdG8g
aW5zdGFsbCBhbmQgYWN0aXZhdGUgdGhpcyBwbHVnaW4uIFRoZSBwbHVnaW4gZ2VuZXJhdGVz
IGEgUkRGIGZpbGUgY29udGFpbmluZyB0aGUgbmVlZGVkIGluZm9ybWF0aW9uICh1c2VyIG5h
bWUsIHNpdGUgZGVzY3JpcHRpb24sIGltYWdlLCBsb25naXR1ZGUvbGF0aXR1ZGUpIG9mIHlv
dXIgVGV4dHBhdHRlcm4gZHJpdmVuIHNpdGUuPC9wPgoKCTxwPk9uY2UgeW91IGFjdGl2YXRl
IHRoZSBwbHVnaW4sIGhpdCB0aGUgRXh0ZW5zaW9ucyB0YWIgYW5kPGJyIC8+CnRoZW4gdGhl
IGxldHNfc2VlX3lvdXJzIHRhYi4gRm9sbG93IHRoZSBpbnN0cnVjdGlvbnM6PC9wPgoKCTxo
MiBpZD0ibmFtZSI+U2l0ZSBOYW1lIGFuZCBTaXRlPC9oMj4KCgk8cD5Zb3UgY2FuJiM4MjE3
O3QgcmUtZWRpdCB5b3VyIHNpdGUgbmFtZSBvbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgcGFn
ZS48L3A+CgoJPGgyIGlkPSJkZXNjIj5TaXRlIERlc2NyaXB0aW9uPC9oMj4KCgk8cD5BZGQg
YSBtZWFuaW5nZnVsIHNpdGUgZGVzY3JpcHRpb24gdXAgdG8gMjU1IGxldHRlcnMgbG9uZy4g
Q2l0aXplbnMgPHN0cm9uZz5vdXRzaWRlIHRoZSBVUyBhbmQgdGhlIFVLPC9zdHJvbmc+IHNo
b3VsZCBhZGQgdGhlaXIgaG9tZXRvd24gbmFtZSBhcyBHb29nbGUgTWFwIHNjYWxpbmcgaXMg
bGltaXRlZCBhbmQgd2lsbCBtb3N0IGxpa2VseSBub3QgZGlzcGxheSB5b3VyIGNpdHkvdmls
bGFnZSBuYW1lLiBQcmVmZXJyZWQgZGVzY3JpcHRpb24gbGFuZ3VhZ2UgaXMgPHN0cm9uZz5F
bmdsaXNoPC9zdHJvbmc+LjwvcD4KCgk8aDIgaWQ9ImNyZWF0b3IiPkNyZWF0b3I8L2gyPgoK
CTxwPkFkZCB5b3VyIGNvcnJlY3QgbmFtZSB1cCB0byAzNSBsZXR0ZXJzIGxvbmcuPC9wPgoK
CTxoMiBpZD0iY291bnRyeSI+Q291bnRyeTwvaDI+CgoJPHA+U2VsZWN0IGEgY291bnRyeSBm
cm9tIHRoZSBkcm9wLWRvd24gbGlzdC48L3A+CgoJPGgyIGlkPSJsYXRfbG9uIj5MYXRpdHVk
ZSBhbmQgTG9uZ2l0dWRlPC9oMj4KCgk8cD5Zb3UgY2FuIGdldCB5b3VyIGxhdGl0dWRlIGFu
ZCBsb25naXR1ZGUgYXQgPGEgaHJlZj0iaHR0cDovL2JyYWlub2ZmLmNvbS9nZW9jb2Rlci8i
IHRpdGxlPSJHZW9jb2RlciI+d29ybGRLaXQgZ2VvY29kZXI8L2E+LjxiciAvPgpJbnNlcnQg
bG9uZyBhbmQgbGF0IGludG8gdGhlIGZvcm0uPC9wPgoKCTxoMiBpZD0iZ21hcF9saW5rIj5H
b29nbGUgTWFwIExpbms8L2gyPgoKCTxwPkNpdGl6ZW5zIG9mIHRoZSBVbml0ZWQgU3RhdGVz
IGFuZCBHcmVhdCBCcml0YWluIGNhbiBhbHNvIGRlZmluZSB0aGVpciBwb3NpdGlvbiBieSBn
ZW5lcmF0aW5nIGEgR29vZ2xlIE1hcCBsaW5rLiBUaGlzIG1ldGhvZCBoYXMgYSBoaWdoZXIg
YWNjdXJhY3kgdGhhbiBnZW9jb2RpbmcuPC9wPgoKCTxwPkdvIHRvIDxhIGhyZWY9Imh0dHA6
Ly9tYXBzLmdvb2dsZS5jb20iIHRpdGxlPSJHb29nbGUgTWFwcyI+R29vZ2xlIE1hcHM8L2E+
LjxiciAvPgpJbnNlcnQgeW91ciBjaXR5IG9yIHlvdXIgcG9zdGFsIGFkZHJlc3MgaW50byB0
aGUgc2VhcmNoIGZpZWxkLjxiciAvPgpPbmNlIHlvdSBnb3QgdGhlIGNvcnJlY3QgcG9zaXRp
b24sIHpvb20gdG8gdGhlIG1heGltdW0gYW5kIGNlbnRlciB0aGUgbWFwIHRvIHlvdXIgcG9z
aXRpb24uPC9wPgoKCTxwPk5vdyBoaXQgdGhlIDxzdHJvbmc+TGluayB0byB0aGlzIHBhZ2U8
L3N0cm9uZz4gYXQgdGhlIHZlcnkgdG9wIHJpZ2h0IG9mIHRoZSBtYXAuIEluIEdvb2dsZSYj
ODIxNztzIGFkZHJlc3MgYmFyIGEgdmVyeSBsb25nIFVSTCBzaG91bGQgYXBwZWFyLCBsaWtl
IHRoaXM6PC9wPgoKCTxwPmh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9mPXEmIzM4O2hs
PWVuJiMzODtxPTEwMjAzJiMzODs8c3Ryb25nPmxsPTxzcGFuIHN0eWxlPSJib3JkZXItYm90
dG9tOjJweCBzb2xpZCBibHVlOyI+NDAuNzE0ODAyPC9zcGFuPiw8YnIgLz4KPHNwYW4gc3R5
bGU9ImJvcmRlci1ib3R0b206MnB4IHNvbGlkIHJlZDsiPi03NC4wMTwvc3Bhbj48L3N0cm9u
Zz4mIzM4O3Nwbj0wLjAyNzMyNCwwLjA4NjUxNzwvcD4KCgk8cD5Eb24mIzgyMTc7dCB3b3Jy
eS4gWW91IG9ubHkgbmVlZCB0aGUgPHN0cm9uZz5ib2xkIHBhcnQ8L3N0cm9uZz4gYWZ0ZXIg
bGw9IDo8YnIgLz4KVGhlIDxzcGFuIHN0eWxlPSJib3JkZXItYm90dG9tOjJweCBzb2xpZCBi
bHVlOyI+Zmlyc3QgbnVtYmVyPC9zcGFuPiBpcyB5b3VyIGxhdGl0dWRlIGFuZCA8c3BhbiBz
dHlsZT0iYm9yZGVyLWJvdHRvbToycHggc29saWQgcmVkOyI+dGhlIHNlY29uZDwvc3Bhbj4g
aXMgbG9uZ2l0dWRlLiBQbGVhc2Ugbm90ZSBkZXBlbmRpbmcgb24gd2hlcmUgeW91IGFyZSwg
eW91ciBsb25nL2xhdCBkZXRhaWxzIG1heSBiZSBuZWdhdGVkLjxiciAvPgpFeGFtcGxlczo8
YnIgLz4KTllDLCBVU0EgaXMgYXBwcm94LiBsYXQgNDAuNzQgYW5kIGxvbmcgLTc0LjAwPGJy
IC8+CkJ1ZW5vcyBBaXJlcywgQXJnZW50aW5hIGlzIGFwcHJveC4gbGF0IC0zNC42MSBhbmQg
bG9uZyAtNTguMzY8YnIgLz4KQ29sb2duZSwgR2VybWFueSBpcyBsYXQgNTAuNTYgYW5kIGxv
bmcgMDYuNTc8L3A+CgoJPHA+R29vZ2xlIE1hcCBMaW5rIHdvcmtzIGZvciBVbml0ZWQgU3Rh
dGVzIGFuZCBHcmVhdCBCcml0YWluIHBvc2l0aW9ucyBwZXJmZWN0bHkuIEZvciBvdGhlciBw
b3NpdGlvbnMgd2UgcmVjb21tZW5kIHdvcmxkS2l0IGdlb2NvZGVyITwvcD4KCgk8aDIgaWQ9
ImltZyI+SW1hZ2U8L2gyPgoKCTxwPkdlbmVyYXRlIGEgNjBweCB4IDYwcHggaW1hZ2UuIFNh
dmUgaXQgb24geW91ciBzZXJ2ZXIuIE1ha2Ugc3VyZSB5b3UgZG9uJiM4MjE3O3QgZGVsZXRl
IGl0IGFzIHdlIGRvIG5vdCBjYWNoZSBpdCE8YnIgLz4KRmlsbCBpbiB0aGUgY29ycmVjdCBw
YXRoIHRvIHRoYXQgaW1hZ2UgKHdpdGggaHR0cDovLykuPC9wPgoKCTxoMj5GdXJ0aGVyIERl
dGFpbHM8L2gyPgoKCTxwPlNhdmUgeW91ciBkZXRhaWxzIG5vdy48YnIgLz4KUmV0dXJuIHRv
IHRoZSBUWFAgQmxvZ21hcCA8YSBocmVmPSJodHRwOi8vdHhwbWFnYXppbmUua2JidS5kZS90
eHBfYmxvZ21hcC9yZWdpc3RlciIgdGl0bGU9IkJsb2dtYXAgcmVnaXN0ZXIgZm9ybSI+cmVn
aXN0ZXIgZm9ybTwvYT4uPGJyIC8+Ckluc2VydCB5b3VyIHNpdGUgVVJMIGFuZCBwaW5nIFRY
UCBCbG9nbWFwLjxiciAvPgpOb3cgeW91IGFyZSBkb25lISBDb25ncmF0dWxhdGlvbnMgOik8
L3A+CgoJPGgyIGlkPSJpbWciPlVuaW5zdGFsbDwvaDI+CgoJPHA+VG8gdW5pbnN0YWxsIHRo
ZSBwbHVnaW4gYW5kIHJlbW92ZSB5b3VyIGJsb2cgZnJvbSB0aGUgQmxvZ21hcCwgcnVuIHRo
ZSBVbmluc3RhbGwtU2NyaXB0IDxzdHJvbmc+Zmlyc3Q8L3N0cm9uZz4uIEZpbmQgdGhlIFVu
aW5zdGFsbC1TY3JpcHQgdW5kZXIgdGhlIGxldHNfc2VlX3lvdXJzIGV4dGVuc2lvbnMgdGFi
LiBGb2xsb3cgdGhlIGluc3RydWN0aW9ucy4gTGFzdCBzdGVwIGlzIGRlbGV0aW5nIHRoZSBw
bHVnaW4uPC9wPgoKCTxoMj48c3Ryb25nPlBsZWFzZSBOb3RlOjwvc3Ryb25nPjwvaDI+CgoJ
PHA+VFhQIEJsb2dtYXAgaXMgYmFzZWQgb24gR29vZ2xlIE1hcC4gR29vZ2xlIE1hcCBzdXBw
bGllcyBoaWdoLXNjYWxlZCBtYXBzIGZvciB0aGUgVW5pdGVkIFN0YXRlcyBhbmQgdGhlIFVu
aXRlZCBLaW5nZG9tIGJ1dCA8c3Ryb25nPm5vdDwvc3Ryb25nPiBmb3IgYW55IG90aGVyIGNv
dW50cnkgeWV0LiBUWFAgYmxvZ21hcCBkaXNwbGF5cyB5b3VyIGxvY2FsaXNhdGlvbiBpbiB0
aGUgcmVzb2x1dGlvbiBHb29nbGUgTWFwIGRlbGl2ZXJzLjwvcD4KCgk8cD5UbyBhdm9pZCBt
aXN1c2Ugb2YgVFhQIEJsb2dtYXAsIHlvdXIgSVAgd2lsbCBiZSBzdG9yZWQgaW4gYSBkYXRh
YmFzZS48YnIgLz4KT2J0cnVzaXZlIHVzZXJzIG9mIFRYUCBCbG9nbWFwIHdpbGwgYmUgYmFu
bmVkLjxiciAvPgpUWFAgQmxvZ21hcCBvbmx5IGFjY2VwdHMgY29ycmVjdCBzdWJtaXNzaW9u
IGRldGFpbHM6PGJyIC8+CmEpIGNvcnJlY3QgbmFtZSwgYikgbWVhbmluZ2Z1bCBzaXRlIGRl
c2NyaXB0aW9uLCBjKSA2MCYjMjE1OzYwcHggaW1hZ2UuPC9wPgoKCTxwPlRYUCBCbG9nbWFw
IHJlc2VydmVzIHRoZSByaWdodCB0byBiYW4gYW5kIGRlbGV0ZSBzaXRlcyBvZiBvZmZlbnNp
dmUgY29udGVudCBhcyB3ZWxsIGFzIHNpdGVzIHByb3BhZ2F0aW5nIGZ1bmRhbWVudGFsIGlk
ZW9sb2dpZXMgbWF5IHRoZXkgYmUgb2YgcG9saXRpY2FsIG9yIHJlbGlnaW91cyBuYXR1cmUu
PGJyIC8+ClRYUCBCbG9nbWFwIGRvZXMgbm90IGFjY2VwdCBzaXRlcyBvZiBhZHVsdCBjb250
ZW50LjwvcD4KCgk8cD5FbmpveS48L3A+CgoKCgogIjtzOjQ6ImNvZGUiO3M6MTk5MTA6Igov
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCglpZiAoQHR4cGludGVyZmFjZSA9PSAnYWRtaW4nKXsKCQkvLyBZb3UgY2Fu
IGluc3RhbGwgdGhlIGFkdmFuY2VkIHByZWZzCgkJYWRkX3ByaXZzKCdiYXNfbGV0X3NlZScs
ICcxLDInKTsKCQlyZWdpc3Rlcl90YWIoImV4dGVuc2lvbnMiLCAnYmFzX2xldF9zZWUnLCAn
TGV0XCdzIHNlZSB5b3VycycpOwoJCXJlZ2lzdGVyX2NhbGxiYWNrKCJiYXNfbGV0X3NlZSIs
ICdiYXNfbGV0X3NlZScpOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gYmFzX2xldF9zZWUo
JGV2ZW50LCRzdGVwKQoJewoJCWdsb2JhbCAkcHJlZnM7CgkJaWYoISRzdGVwIG9yICFpbl9h
cnJheSgkc3RlcCwgYXJyYXkoJ3NhdmUnLCd1bmluc3RhbGwnLCd1bmluc3RhbGxfdHJ1ZScp
KSl7CgkJCWJhc0xldFNlZUVkaXQoKTsKCQl9CgkJZWxzZXsKCQkJJGZ1bmMgPSAnYmFzTGV0
U2VlXycuJHN0ZXA7CgkJCSRmdW5jKCk7CgkJfQoKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9u
IGJhc0xldFNlZUVkaXQoJG1lc3NhZ2U9JycsJGVycm9yPScnKQoJewoJCWdsb2JhbCAkc3Rl
cCwkcHJlZnM7CgkJcGFnZXRvcCgnTG9jYXRlIE1lJywkbWVzc2FnZSk7CgkJYmFzTGV0U2Vl
Rm9ybSgpOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gYmFzTGV0U2VlRm9ybSgkbWVzc2Fn
ZT0nJywkZXJyb3I9JycpCgl7CgkJZ2xvYmFsICR2YXJzLCRzdGVwLCRwcmVmczsKCQlleHRy
YWN0KGJhc0xldFNlZV9pc19pbnN0YWxsZWQoKSk7CgkJJGhlYWRlciA9IHRhZygoJGluc3Rh
bGxlZCA9PSB0cnVlKT8nTG9jYXRlIE1lIDxzbWFsbD5bIDxhIGhyZWY9Ij9ldmVudD1iYXNf
bGV0X3NlZSZhbXA7c3RlcD11bmluc3RhbGwiPnVuaW5zdGFsbDwvYT4gJy5iYXNMZXRTZWVf
aGVscCgndW5pbnN0YWxsJykuJyBdPC9zbWFsbD4nOidMb2NhdGUgTWUnLCdoMScpOwoJCWlm
KCRpbnN0YWxsZWQgPT0gZmFsc2UpewoJCQkkaGVhZGVyLj0gdGFnKCdUaGlzIFBsdWdpbiB3
aWxsIGdlbmVyYXRlIGFuIFJERiBmaWxlLCB3aGljaCBjb250YWlucyBzb21lIGluZm9ybWF0
aW9ucyBhYm91dCB5b3VyIHNpdGUgPGJyIC8+IGFuZCBsb2NhdGUgeW91ciBzaXRlIGJ5IHRo
ZSBnaXZlbiBwb3NpdGlvbi4nLCdwJyk7CgkJCSRoZWFkZXIuPSB0YWcoJ1RoZSB0eHBfYmxv
Z21hcHMgaW5jbHVkZXMgeW91ciBzaXRlIGJ5IHJlYWRpbmcgdGhpcyBSREYuJywncCcpOwoJ
CQkkaGVhZGVyLj0gdGFnKCdQbGVhc2UgZmlsbCBvdXQgdGhlIGZvbGxvd2luZyBmb3JtIGFu
ZCBzYXZlLicsJ3AnKTsKCQl9CgkJZWxzZXsKCQkJaWYoJHZhbGlkID09IGZhbHNlKQoJCQkJ
JGhlYWRlci49IHRhZygnUGxlYXNlIGNvbXBsZXRlIG9yIGNvcnJlY3QgeW91ciA8c3BhbiBz
dHlsZT0iY29sb3I6cmVkOyI+aW5wdXRzPC9zcGFuPicsJ3AnKTsKCQkJZWxzZXsKCQkJCSRo
ZWFkZXIuPSB0YWcoJ0FsbCBpbnB1dHMgYXJlIHNhdmVkIGFuZCBoZSBwbHVnaW4gZGVsaXZl
cnMgdGhpcyA8YSBocmVmPSJodHRwOi8vJy4kc2l0ZXVybC4nP2xldHNfc2VlX3lvdXJzPXRy
dWUiPlJERi48L2E+JywncCcpOwoJCQkJJGhlYWRlci49IHRhZygnTm93IHBpbmcgeW91ciBz
aXRlIGF0IDxhIGhyZWY9Imh0dHA6Ly90eHBtYWdhemluZS5rYmJ1LmRlL3R4cF9ibG9nbWFw
L3JlZ2lzdGVyIj5odHRwOi8vdHhwbWFnYXppbmUua2JidS5kZTwvYT4gdG8gaW5jbHVkZSBp
dCB0byB0aGUgbWFwLjxiciAvPicsJ3AnKTsKCQkJfQoJCX0KCQlpZighZW1wdHkoJG1lc3Nh
Z2UpKQoJCQkkaGVhZGVyIC49ICRtZXNzYWdlOwoJCSR0ZXh0YXJlYSA9ICc8dGV4dGFyZWEg
bmFtZT0iZGVzY3JpcHRpb24iIGNvbHM9IjQwIiByb3dzPSI0IiB0YWJpbmRleD0iNCI+Jy4k
ZGVzYy4nPC90ZXh0YXJlYT4nOwoJCSRvdXRbXSA9IHN0YXJ0VGFibGUoICdlZGl0JyApOwoJ
CSRvdXRbXSA9IHRyKHRkYSgkaGVhZGVyLCcgY29sc3Bhbj0iMiInKSk7CgkJJG91dFtdID0g
YmFzTGV0U2VlVFIoZ1R4dCgnc2l0ZW5hbWUnKSwgJ25hbWUnLCBmYWxzZSwkc2l0ZW5hbWUs
JGluc3RhbGxlZCk7CgkJJG91dFtdID0gYmFzTGV0U2VlVFIoZ1R4dCgnc2l0ZXVybCcpLCAn
dXJsJywgZmFsc2UsJHNpdGV1cmwsJGluc3RhbGxlZCk7CgkJJG91dFtdID0gYmFzTGV0U2Vl
VFIoJ0NyZWF0b3InLCAnY3JlYXRvcicsICdjcmVhdG9yJywkY3JlYXRvciwkaW5zdGFsbGVk
KTsKCQkkb3V0W10gPSBiYXNMZXRTZWVUUihnVHh0KCdkZXNjcmlwdGlvbicpLCAnZGVzYycs
ICdkZXNjJywkZGVzYywkaW5zdGFsbGVkKTsKCQkkb3V0W10gPSBiYXNMZXRTZWVUUihnVHh0
KCdDb3VudHJ5JyksICdjb3VudHJ5JywgJ2NvdW50cnknLCRjb3VudHJ5LCRpbnN0YWxsZWQp
OwoJCSRvdXRbXSA9IGJhc0xldFNlZVRSKGdUeHQoJ0xhdGl0dWRlJyksICdsYXRfbG9uJywg
J2xhdCcsJGxhdCwkaW5zdGFsbGVkKTsKCQkkb3V0W10gPSBiYXNMZXRTZWVUUihnVHh0KCdM
b25naXR1ZGUnKSwgJ2xhdF9sb24nLCAnbG9uJywkbG9uLCRpbnN0YWxsZWQpOwoJCSRvdXRb
XSA9IGJhc0xldFNlZVRSKGdUeHQoJ2ltYWdlJyksICdpbWcnLCAnaW1nJywkaW1nLGZhbHNl
KTsKCQlpZigkaW1nICE9ICcnKQoJCQkkb3V0W10gPSB0cih0ZCgpLnRkKCc8aW1nIHNyYz0i
Jy4kaW1nLiciIHdpdGg9NjAgaGVpZ2h0PTYwIC8+JykpOwoJCSRvdXRbXSA9IHRyKCB0ZCgp
IC4gdGQoZklucHV0KCJoaWRkZW4iLCAiaXNfaW5zdGFsbGVkIiwgKCRpbnN0YWxsZWQgPT0g
dHJ1ZSk/MTowKS4gZklucHV0KCAic3VibWl0IiwgJycsIGdUeHQoICdzYXZlJyApLCAicHVi
bGlzaCIgKSApICkgOwoJCSRvdXRbXSA9IGVuZFRhYmxlKCk7CgkJJG91dFtdID0gZUlucHV0
KCAnYmFzX2xldF9zZWUnICkgLiBzSW5wdXQoJ3NhdmUnICk7CgkJZWNobyBmb3JtKCBqb2lu
KG4sJG91dCkgKTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGJhc0xldFNlZVRSKCRuYW1l
LCAkaGVscCwgJGlucHV0LCR2YWx1ZSwkaW5zdGFsbGVkKXsKCQlpZigkdmFsdWUgPT0gZmFs
c2UgJiYgJGluc3RhbGxlZCA9PSB0cnVlKQoJCQkkbGFiZWwgPSB0YWcoJG5hbWUsJ3NwYW4n
LCcgc3R5bGU9ImNvbG9yOnJlZDsiJykuYmFzTGV0U2VlX2hlbHAoJGhlbHApOwoJCWVsc2UK
CQkJJGxhYmVsID0gJG5hbWUuYmFzTGV0U2VlX2hlbHAoJGhlbHApOwoJCWlmKCRpbnB1dCA9
PSBmYWxzZSkKCQkJJGlucHV0ID0gdGQoJHZhbHVlKTsKCQllbHNlCgkJCSRpbnB1dCA9IGZJ
bnB1dENlbGwoJGlucHV0LCAkdmFsdWUsIDEsIDMwICk7CgkJaWYoJGhlbHAgPT0gJ2Rlc2Mn
KQoJCQkkaW5wdXQgPSB0ZGEoJzx0ZXh0YXJlYSBuYW1lPSJkZXNjcmlwdGlvbiIgY29scz0i
NDAiIHJvd3M9IjQiIHRhYmluZGV4PSI0Ij4nLiR2YWx1ZS4nPC90ZXh0YXJlYT4nLCAnIHZh
bGlnbj0idG9wIicgKTsKCQlpZigkaGVscCA9PSAnY291bnRyeScpCgkJCSRpbnB1dCA9dGQo
YmFzTGV0U2VlX2NvdW50cnkoKSk7CgkJcmV0dXJuIHRyKHRkYSgkbGFiZWwsJyBzdHlsZT0i
dGV4dC1hbGlnbjpyaWdodDt3aWR0aDoyMDBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7IicpLiRp
bnB1dCk7Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBiYXNMZXRTZWVfc2F2ZSgpewoJCXBh
Z2V0b3AoJ0xldFwncyBzZWUgeW91cnMnLCdZb3VyIGNoYW5nZXMgaGFzIGJlZW4gc2F2ZWQn
KTsKCQkkdmFycyA9IGFycmF5KCdkZXNjcmlwdGlvbicsJ2NyZWF0b3InLCdpbWcnLCdjb3Vu
dHJ5JywnbGF0JywnbG9uJywnaXNfaW5zdGFsbGVkJyk7CgkJZXh0cmFjdChncHNhKCR2YXJz
KSk7CgkJaWYoJGlzX2luc3RhbGxlZCA9PSAwKQoJCQkkbWVzc1tdID0gYmFzX2xvY2F0ZV9j
cmVhdGVfcHJlZnMoKTsKCQlzYWZlX3VwZGF0ZSgidHhwX3ByZWZzIiwidmFsID0gJyIuJGRl
c2NyaXB0aW9uLiInIiwibmFtZSA9ICdiYXNfbG9jYXRlX2Rlc2MnIik7CgkJc2FmZV91cGRh
dGUoInR4cF9wcmVmcyIsInZhbCA9ICciLiRjcmVhdG9yLiInIiwibmFtZSA9ICdiYXNfbG9j
YXRlX2NyZWF0b3InIik7CgkJc2FmZV91cGRhdGUoInR4cF9wcmVmcyIsInZhbCA9ICciLiRj
b3VudHJ5LiInIiwibmFtZSA9ICdiYXNfbG9jYXRlX2NvdW50cnknIik7CgkJc2FmZV91cGRh
dGUoInR4cF9wcmVmcyIsInZhbCA9ICciLiRpbWcuIiciLCJuYW1lID0gJ2Jhc19sb2NhdGVf
aW1nJyIpOwoJCXNhZmVfdXBkYXRlKCJ0eHBfcHJlZnMiLCJ2YWwgPSAnIi4kbGF0LiInIiwi
bmFtZSA9ICdiYXNfbG9jYXRlX2xhdCciKTsKCQlzYWZlX3VwZGF0ZSgidHhwX3ByZWZzIiwi
dmFsID0gJyIuJGxvbi4iJyIsIm5hbWUgPSAnYmFzX2xvY2F0ZV9sb24nIik7CgkJYmFzTGV0
U2VlRm9ybSgpOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gYmFzX2xvY2F0ZV9jcmVhdGVf
cHJlZnMoKXsKCQlzYWZlX2luc2VydCgndHhwX3ByZWZzJywicHJlZnNfaWQgPSAnMScsbmFt
ZSA9ICdiYXNfbG9jYXRlX2Rlc2MnLHZhbCA9ICcnLHR5cGUgPSAnMicsZXZlbnQgPSAnYmFz
X2xvY2F0ZScsaHRtbCA9ICd0ZXh0X2lucHV0Jyxwb3NpdGlvbiA9ICcxMCciKTsKCQlzYWZl
X2luc2VydCgndHhwX3ByZWZzJywicHJlZnNfaWQgPSAnMScsbmFtZSA9ICdiYXNfbG9jYXRl
X2NyZWF0b3InLHZhbCA9ICcnLHR5cGUgPSAnMicsZXZlbnQgPSAnYmFzX2xvY2F0ZScsaHRt
bCA9ICd0ZXh0X2lucHV0Jyxwb3NpdGlvbiA9ICcyMCciKTsKCQlzYWZlX2luc2VydCgndHhw
X3ByZWZzJywicHJlZnNfaWQgPSAnMScsbmFtZSA9ICdiYXNfbG9jYXRlX2NvdW50cnknLHZh
bCA9ICcnLHR5cGUgPSAnMicsZXZlbnQgPSAnYmFzX2xvY2F0ZScsaHRtbCA9ICd0ZXh0X2lu
cHV0Jyxwb3NpdGlvbiA9ICczMCciKTsKCQlzYWZlX2luc2VydCgndHhwX3ByZWZzJywicHJl
ZnNfaWQgPSAnMScsbmFtZSA9ICdiYXNfbG9jYXRlX2ltZycsdmFsID0gJycsdHlwZSA9ICcy
JyxldmVudCA9ICdiYXNfbG9jYXRlJyxodG1sID0gJ3RleHRfaW5wdXQnLHBvc2l0aW9uID0g
JzQwJyIpOwoJCXNhZmVfaW5zZXJ0KCd0eHBfcHJlZnMnLCJwcmVmc19pZCA9ICcxJyxuYW1l
ID0gJ2Jhc19sb2NhdGVfbGF0Jyx2YWwgPSAnJyx0eXBlID0gJzInLGV2ZW50ID0gJ2Jhc19s
b2NhdGUnLGh0bWwgPSAndGV4dF9pbnB1dCcscG9zaXRpb24gPSAnNjAnIik7CgkJc2FmZV9p
bnNlcnQoJ3R4cF9wcmVmcycsInByZWZzX2lkID0gJzEnLG5hbWUgPSAnYmFzX2xvY2F0ZV9s
b24nLHZhbCA9ICcnLHR5cGUgPSAnMicsZXZlbnQgPSAnYmFzX2xvY2F0ZScsaHRtbCA9ICd0
ZXh0X2lucHV0Jyxwb3NpdGlvbiA9ICc3MCciKTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9u
IGJhc0xldFNlZV91bmluc3RhbGwoJG1lc3NhZ2U9JycpewoJCXBhZ2V0b3AoJ0xldFwncyBz
ZWUgeW91cnMgVW5pbnN0YWxsJywkbWVzc2FnZSk7CgkJCSRvdXRbXSA9IHRhZygiVW5pbnN0
YWxsIDxzdHJvbmc+TGV0ICdzIHNlZSB5b3Vyczwvc3Ryb25nPiIsICJoMSIpOwoJCQkkb3V0
W10gPSB0YWcoIlRoaXMgd2lsbCByZW1vdmUgYWxsIHBsdWdpbidzIHByZWZlcmVuY2VzIGZy
b20gdGhlIHR4cC1kYXRhYmFzZSIsICJwIik7CgkJCSRvdXRbXSA9IHRhZygiVGhpcyB3aWxs
IG5vdCBkZWxldGUgeW91ciBzaXRlIGZyb20gdGhlIHR4cF9ibG9nbWFwLiBCdXQgaWYgeW91
IHdhbnQsIGl0IGNhbiBiZSBkb25lIGluIHRoZSBuZXh0IHN0ZXAuIiwgInAiKTsKCQkJJG91
dFtdID0gZm9ybSgKCQkJCQlncmFmKCJBcmUgeW91IHN1cmUgPyAiLgoJCQkJCQlmSW5wdXQo
InN1Ym1pdCIsICJ1bmluc3RhbGwiLCAiVW5pbnN0YWxsIiwgInNtYWxsZXJib3giKS4KCQkJ
CQkJZUlucHV0KCJiYXNfbGV0X3NlZSIpLnNJbnB1dCgidW5pbnN0YWxsX3RydWUiKQoJCQkJ
CSkKCQkJCSk7CgkJZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luOjNlbTttYXJnaW4tbGVmdDph
dXRvO21hcmdpbi1yaWdodDphdXRvO3dpZHRoOjMwMHB4OyI+Jy5qb2luKG4sJG91dCkuJzwv
ZGl2Pic7Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBiYXNMZXRTZWVfdW5pbnN0YWxsX3Ry
dWUoKXsKCQlwYWdldG9wKCc8c3Ryb25nPkxldHMgc2VlIHlvdXJzPC9zdHJvbmc+IFVuaW5z
dGFsbGVkJywnTGV0XCdzIHNlZSB5b3VycyBpcyB1bmluc3RhbGxlZCcpOwoJCXNhZmVfZGVs
ZXRlKCd0eHBfcHJlZnMnLCJuYW1lID0gJ2Jhc19sb2NhdGVfZGVzYyciKTsKCQlzYWZlX2Rl
bGV0ZSgndHhwX3ByZWZzJywibmFtZSA9ICdiYXNfbG9jYXRlX2NyZWF0b3InIik7CgkJc2Fm
ZV9kZWxldGUoJ3R4cF9wcmVmcycsIm5hbWUgPSAnYmFzX2xvY2F0ZV9jb3VudHJ5JyIpOwoJ
CXNhZmVfZGVsZXRlKCd0eHBfcHJlZnMnLCJuYW1lID0gJ2Jhc19sb2NhdGVfaW1nJyIpOwoJ
CXNhZmVfZGVsZXRlKCd0eHBfcHJlZnMnLCJuYW1lID0gJ2Jhc19sb2NhdGVfbGF0JyIpOwoJ
CXNhZmVfZGVsZXRlKCd0eHBfcHJlZnMnLCJuYW1lID0gJ2Jhc19sb2NhdGVfbG9uJyIpOwoJ
CSRvdXRbXSA9IHRhZygiPHN0cm9uZz5MZXQncyBzZWUgeW91cnM8L3N0cm9uZz4iLCAiaDEi
KTsKCQkkb3V0W10gPSB0YWcoIkFsbCBwbHVnaW4ncyBwcmVmZXJlbmNlcyBoYXMgYmVlbiBy
ZW1vdmVkIGZyb20gdGhlIHR4cC1kYXRhYmFzZS4iLCAicCIpOwoJCSRvdXRbXSA9IHRhZygi
WW91ciBzaXRlIGlzbmB0IGRlbGV0ZWQgZnJvbSB0aGUgdHhwX2Jsb2dtYXAuIiwgInAiKTsK
CQkkb3V0W10gPSB0YWcoIklmIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCBmcm9tIHRoZSBtYXAs
IDxhIGhyZWY9J2h0dHA6Ly90eHBtYWdhemluZS5rYmJ1LmRlL3R4cF9ibG9nbWFwL3JlZ2lz
dGVyJz5waW5nPC9hPiB5b3VyIHNpdGUgYWdhaW4sIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+
IHlvdSBkZWxldGUgdGhlIHBsdWdpbi4iLCAicCIpOwoJCWVjaG8gJzxkaXYgc3R5bGU9Im1h
cmdpbjozZW07bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt3aWR0aDozMDBw
eDsiPicuam9pbihuLCRvdXQpLic8L2Rpdj4nOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24g
YmFzTGV0U2VlX2lzX2luc3RhbGxlZCgpewoJCSRwcmVmcyA9IGdldF9wcmVmcygpOyAvL3Jl
YWQgcHJlZnMgaW5zdGVhZCBnbG9iYWwKCQkkYmFzWydpbnN0YWxsZWQnXSA9IChpc3NldCgk
cHJlZnNbJ2Jhc19sb2NhdGVfZGVzYyddKSk/dHJ1ZTpmYWxzZTsKCQkkYmFzWydzaXRlbmFt
ZSddID0gKCFlbXB0eSgkcHJlZnNbJ3NpdGVuYW1lJ10pKT8kcHJlZnNbJ3NpdGVuYW1lJ106
ZmFsc2U7CgkJJGJhc1snc2l0ZXVybCddID0gKCFlbXB0eSgkcHJlZnNbJ3NpdGV1cmwnXSkp
PyRwcmVmc1snc2l0ZXVybCddOmZhbHNlOwoJCSRiYXNbJ2Rlc2MnXSA9ICghZW1wdHkoJHBy
ZWZzWydiYXNfbG9jYXRlX2Rlc2MnXSkpPyRwcmVmc1snYmFzX2xvY2F0ZV9kZXNjJ106ZmFs
c2U7CgkJJGJhc1snY3JlYXRvciddID0gKCFlbXB0eSgkcHJlZnNbJ2Jhc19sb2NhdGVfY3Jl
YXRvciddKSk/JHByZWZzWydiYXNfbG9jYXRlX2NyZWF0b3InXTpmYWxzZTsKCQkkYmFzWydj
b3VudHJ5J10gPSAoIWVtcHR5KCRwcmVmc1snYmFzX2xvY2F0ZV9jb3VudHJ5J10pKT8kcHJl
ZnNbJ2Jhc19sb2NhdGVfY291bnRyeSddOmZhbHNlOwoJCSRiYXNbJ2ltZyddID0gKCFlbXB0
eSgkcHJlZnNbJ2Jhc19sb2NhdGVfaW1nJ10pKT8kcHJlZnNbJ2Jhc19sb2NhdGVfaW1nJ106
Jyc7CgkJJGJhc1snbGF0J10gPSAoIWVtcHR5KCRwcmVmc1snYmFzX2xvY2F0ZV9sYXQnXSkp
PyRwcmVmc1snYmFzX2xvY2F0ZV9sYXQnXTpmYWxzZTsKCQkkYmFzWydsb24nXSA9ICghZW1w
dHkoJHByZWZzWydiYXNfbG9jYXRlX2xvbiddKSk/JHByZWZzWydiYXNfbG9jYXRlX2xvbidd
OmZhbHNlOwoJCSRiYXNbJ3ZhbGlkJ10gPSB0cnVlOwoJCWZvcmVhY2goJGJhcyBhcyAka2V5
ID0+ICR2YWx1ZSl7CgkJCWlmKCRrZXkgIT0gJ2ltZycgJiYgJHZhbHVlID09IGZhbHNlKXsK
CQkJCSRiYXNbJ3ZhbGlkJ10gPSBmYWxzZTsKCQkJfQoJCX0KCQlyZXR1cm4gJGJhczsKCgl9
CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCglmdW5jdGlvbiBiYXNMZXRTZWVfaGVscCgkaXRlbSl7CgkJcmV0dXJu
ICcgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ii4vL2luZGV4LnBocD9ldmVudD1wbHVnaW4m
c3RlcD1wbHVnaW5faGVscCZuYW1lPWJhc19sZXRzX3NlZV95b3VycyMnLiRpdGVtLiciIG9u
Y2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZiwgXCdwb3B1cHdpbmRvd1wnLCBcJ3dpZHRo
PTUwMCxoZWlnaHQ9NDAwLHNjcm9sbGJhcnMscmVzaXphYmxlXCcpOyByZXR1cm4gZmFsc2U7
IiBjbGFzcz0icG9waGVscCI+PzwvYT4nOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gYmFz
TGV0U2VlX2NvdW50cnkoKQoJewoJCSRwcmVmcyA9IGdldF9wcmVmcygpOwoJCSRjb3VudHJ5
WyJBRiJdID0gIkFmZ2hhbmlzdGFuIjsKCQkkY291bnRyeVsiQUwiXSA9ICJBbGJhbmlhIjsK
CQkkY291bnRyeVsiRFoiXSA9ICJBbGdlcmlhIjsKCQkkY291bnRyeVsiQVMiXSA9ICJBbWVy
aWNhbiBTYW1vYSI7CgkJJGNvdW50cnlbIkFEIl0gPSAiQW5kb3JyYSI7CgkJJGNvdW50cnlb
IkFPIl0gPSAiQW5nb2xhIjsKCQkkY291bnRyeVsiQUkiXSA9ICJBbmd1aWxsYSI7CgkJJGNv
dW50cnlbIkFRIl0gPSAiQW50YXJjdGljYSI7CgkJJGNvdW50cnlbIkFHIl0gPSAiQW50aWd1
YSBhbmQgQmFyYnVkYSI7CgkJJGNvdW50cnlbIkFSIl0gPSAiQXJnZW50aW5hIjsKCQkkY291
bnRyeVsiQU0iXSA9ICJBcm1lbmlhIjsKCQkkY291bnRyeVsiQVciXSA9ICJBcnViYSI7CgkJ
JGNvdW50cnlbIkFVIl0gPSAiQXVzdHJhbGlhIjsKCQkkY291bnRyeVsiQVQiXSA9ICJBdXN0
cmlhIjsKCQkkY291bnRyeVsiQVoiXSA9ICJBemVyYmFpamFuIjsKCQkkY291bnRyeVsiQlMi
XSA9ICJCYWhhbWFzIjsKCQkkY291bnRyeVsiQkgiXSA9ICJCYWhyYWluIjsKCQkkY291bnRy
eVsiQkQiXSA9ICJCYW5nbGFkZXNoIjsKCQkkY291bnRyeVsiQkIiXSA9ICJCYXJiYWRvcyI7
CgkJJGNvdW50cnlbIkJZIl0gPSAiQmVsYXJ1cyI7CgkJJGNvdW50cnlbIkJFIl0gPSAiQmVs
Z2l1bSI7CgkJJGNvdW50cnlbIkJaIl0gPSAiQmVsaXplIjsKCQkkY291bnRyeVsiQkoiXSA9
ICJCZW5pbiI7CgkJJGNvdW50cnlbIkJNIl0gPSAiQmVybXVkYSI7CgkJJGNvdW50cnlbIkJU
Il0gPSAiQmh1dGFuIjsKCQkkY291bnRyeVsiQk8iXSA9ICJCb2xpdmlhIjsKCQkkY291bnRy
eVsiQkEiXSA9ICJCb3NuaWEgYW5kIEhlcnplZ292aW5hIjsKCQkkY291bnRyeVsiQlciXSA9
ICJCb3Rzd2FuYSI7CgkJJGNvdW50cnlbIkJWIl0gPSAiQm91dmV0IElzbGFuZCI7CgkJJGNv
dW50cnlbIkJSIl0gPSAiQnJhemlsIjsKCQkkY291bnRyeVsiSU8iXSA9ICJCcml0aXNoIElu
ZGlhbiBPY2VhbiBUZXJyaXRvcnkiOwoJCSRjb3VudHJ5WyJCTiJdID0gIkJydW5laSBEYXJ1
c3NhbGFtIjsKCQkkY291bnRyeVsiQkciXSA9ICJCdWxnYXJpYSI7CgkJJGNvdW50cnlbIkJG
Il0gPSAiQnVya2luYSBGYXNvIjsKCQkkY291bnRyeVsiQkkiXSA9ICJCdXJ1bmRpIjsKCQkk
Y291bnRyeVsiS0giXSA9ICJDYW1ib2RpYSI7CgkJJGNvdW50cnlbIkNNIl0gPSAiQ2FtZXJv
b24iOwoJCSRjb3VudHJ5WyJDQSJdID0gIkNhbmFkYSI7CgkJJGNvdW50cnlbIkNWIl0gPSAi
Q2FwZSBWZXJkZSI7CgkJJGNvdW50cnlbIktZIl0gPSAiQ2F5bWFuIElzbGFuZHMiOwoJCSRj
b3VudHJ5WyJDRiJdID0gIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyI7CgkJJGNvdW50cnlb
IlREIl0gPSAiQ2hhZCI7CgkJJGNvdW50cnlbIkNMIl0gPSAiQ2hpbGUiOwoJCSRjb3VudHJ5
WyJDTiJdID0gIkNoaW5hIjsKCQkkY291bnRyeVsiQ1giXSA9ICJDaHJpc3RtYXMgSXNsYW5k
IjsKCQkkY291bnRyeVsiQ0MiXSA9ICJDb2NvcyAoS2VlbGluZykgSXNsYW5kcyI7CgkJJGNv
dW50cnlbIkNPIl0gPSAiQ29sb21iaWEiOwoJCSRjb3VudHJ5WyJLTSJdID0gIkNvbW9yb3Mi
OwoJCSRjb3VudHJ5WyJDRyJdID0gIkNvbmdvIjsKCQkkY291bnRyeVsiQ0QiXSA9ICJDb25n
bywgdGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIjsKCQkkY291bnRyeVsiQ0siXSA9
ICJDb29rIElzbGFuZHMiOwoJCSRjb3VudHJ5WyJDUiJdID0gIkNvc3RhIFJpY2EiOwoJCSRj
b3VudHJ5WyJDSSJdID0gIkNvdGUgRCdJdm9pcmUiOwoJCSRjb3VudHJ5WyJIUiJdID0gIkNy
b2F0aWEiOwoJCSRjb3VudHJ5WyJDVSJdID0gIkN1YmEiOwoJCSRjb3VudHJ5WyJDWSJdID0g
IkN5cHJ1cyI7CgkJJGNvdW50cnlbIkNaIl0gPSAiQ3plY2ggUmVwdWJsaWMiOwoJCSRjb3Vu
dHJ5WyJESyJdID0gIkRlbm1hcmsiOwoJCSRjb3VudHJ5WyJESiJdID0gIkRqaWJvdXRpIjsK
CQkkY291bnRyeVsiRE0iXSA9ICJEb21pbmljYSI7CgkJJGNvdW50cnlbIkRPIl0gPSAiRG9t
aW5pY2FuIFJlcHVibGljIjsKCQkkY291bnRyeVsiRUMiXSA9ICJFY3VhZG9yIjsKCQkkY291
bnRyeVsiRUciXSA9ICJFZ3lwdCI7CgkJJGNvdW50cnlbIlNWIl0gPSAiRWwgU2FsdmFkb3Ii
OwoJCSRjb3VudHJ5WyJHUSJdID0gIkVxdWF0b3JpYWwgR3VpbmVhIjsKCQkkY291bnRyeVsi
RVIiXSA9ICJFcml0cmVhIjsKCQkkY291bnRyeVsiRUUiXSA9ICJFc3RvbmlhIjsKCQkkY291
bnRyeVsiRVQiXSA9ICJFdGhpb3BpYSI7CgkJJGNvdW50cnlbIkZLIl0gPSAiRmFsa2xhbmQg
SXNsYW5kcyAoTWFsdmluYXMpIjsKCQkkY291bnRyeVsiRk8iXSA9ICJGYXJvZSBJc2xhbmRz
IjsKCQkkY291bnRyeVsiRkoiXSA9ICJGaWppIjsKCQkkY291bnRyeVsiRkkiXSA9ICJGaW5s
YW5kIjsKCQkkY291bnRyeVsiRlIiXSA9ICJGcmFuY2UiOwoJCSRjb3VudHJ5WyJHRiJdID0g
IkZyZW5jaCBHdWlhbmEiOwoJCSRjb3VudHJ5WyJQRiJdID0gIkZyZW5jaCBQb2x5bmVzaWEi
OwoJCSRjb3VudHJ5WyJURiJdID0gIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyI7CgkJ
JGNvdW50cnlbIkdBIl0gPSAiR2Fib24iOwoJCSRjb3VudHJ5WyJHTSJdID0gIkdhbWJpYSI7
CgkJJGNvdW50cnlbIkdFIl0gPSAiR2VvcmdpYSI7CgkJJGNvdW50cnlbIkRFIl0gPSAiR2Vy
bWFueSI7CgkJJGNvdW50cnlbIkdIIl0gPSAiR2hhbmEiOwoJCSRjb3VudHJ5WyJHSSJdID0g
IkdpYnJhbHRhciI7CgkJJGNvdW50cnlbIkdSIl0gPSAiR3JlZWNlIjsKCQkkY291bnRyeVsi
R0wiXSA9ICJHcmVlbmxhbmQiOwoJCSRjb3VudHJ5WyJHRCJdID0gIkdyZW5hZGEiOwoJCSRj
b3VudHJ5WyJHUCJdID0gIkd1YWRlbG91cGUiOwoJCSRjb3VudHJ5WyJHVSJdID0gIkd1YW0i
OwoJCSRjb3VudHJ5WyJHVCJdID0gIkd1YXRlbWFsYSI7CgkJJGNvdW50cnlbIkdOIl0gPSAi
R3VpbmVhIjsKCQkkY291bnRyeVsiR1ciXSA9ICJHdWluZWEtQmlzc2F1IjsKCQkkY291bnRy
eVsiR1kiXSA9ICJHdXlhbmEiOwoJCSRjb3VudHJ5WyJIVCJdID0gIkhhaXRpIjsKCQkkY291
bnRyeVsiSE0iXSA9ICJIZWFyZCBJc2xhbmQgYW5kIE1jZG9uYWxkIElzbGFuZHMiOwoJCSRj
b3VudHJ5WyJWQSJdID0gIkhvbHkgU2VlIChWYXRpY2FuIENpdHkgU3RhdGUpIjsKCQkkY291
bnRyeVsiSE4iXSA9ICJIb25kdXJhcyI7CgkJJGNvdW50cnlbIkhLIl0gPSAiSG9uZyBLb25n
IjsKCQkkY291bnRyeVsiSFUiXSA9ICJIdW5nYXJ5IjsKCQkkY291bnRyeVsiSVMiXSA9ICJJ
Y2VsYW5kIjsKCQkkY291bnRyeVsiSU4iXSA9ICJJbmRpYSI7CgkJJGNvdW50cnlbIklEIl0g
PSAiSW5kb25lc2lhIjsKCQkkY291bnRyeVsiSVIiXSA9ICJJcmFuLCBJc2xhbWljIFJlcHVi
bGljIG9mIjsKCQkkY291bnRyeVsiSVEiXSA9ICJJcmFxIjsKCQkkY291bnRyeVsiSUUiXSA9
ICJJcmVsYW5kIjsKCQkkY291bnRyeVsiSUwiXSA9ICJJc3JhZWwiOwoJCSRjb3VudHJ5WyJJ
VCJdID0gIkl0YWx5IjsKCQkkY291bnRyeVsiSk0iXSA9ICJKYW1haWNhIjsKCQkkY291bnRy
eVsiSlAiXSA9ICJKYXBhbiI7CgkJJGNvdW50cnlbIkpPIl0gPSAiSm9yZGFuIjsKCQkkY291
bnRyeVsiS1oiXSA9ICJLYXpha2hzdGFuIjsKCQkkY291bnRyeVsiS0UiXSA9ICJLZW55YSI7
CgkJJGNvdW50cnlbIktJIl0gPSAiS2lyaWJhdGkiOwoJCSRjb3VudHJ5WyJLUCJdID0gIktv
cmVhLCBEZW1vY3JhdGljIFBlb3BsZSdzIFJlcHVibGljIG9mIjsKCQkkY291bnRyeVsiS1Ii
XSA9ICJLb3JlYSwgUmVwdWJsaWMgb2YiOwoJCSRjb3VudHJ5WyJLVyJdID0gIkt1d2FpdCI7
CgkJJGNvdW50cnlbIktHIl0gPSAiS3lyZ3l6c3RhbiI7CgkJJGNvdW50cnlbIkxBIl0gPSAi
TGFvIFBlb3BsZSdzIERlbW9jcmF0aWMgUmVwdWJsaWMiOwoJCSRjb3VudHJ5WyJMViJdID0g
IkxhdHZpYSI7CgkJJGNvdW50cnlbIkxCIl0gPSAiTGViYW5vbiI7CgkJJGNvdW50cnlbIkxT
Il0gPSAiTGVzb3RobyI7CgkJJGNvdW50cnlbIkxSIl0gPSAiTGliZXJpYSI7CgkJJGNvdW50
cnlbIkxZIl0gPSAiTGlieWFuIEFyYWIgSmFtYWhpcml5YSI7CgkJJGNvdW50cnlbIkxJIl0g
PSAiTGllY2h0ZW5zdGVpbiI7CgkJJGNvdW50cnlbIkxUIl0gPSAiTGl0aHVhbmlhIjsKCQkk
Y291bnRyeVsiTFUiXSA9ICJMdXhlbWJvdXJnIjsKCQkkY291bnRyeVsiTU8iXSA9ICJNYWNh
byI7CgkJJGNvdW50cnlbIk1LIl0gPSAiTWFjZWRvbmlhLCB0aGUgRm9ybWVyIFl1Z29zbGF2
IFJlcHVibGljIG9mIjsKCQkkY291bnRyeVsiTUciXSA9ICJNYWRhZ2FzY2FyIjsKCQkkY291
bnRyeVsiTVciXSA9ICJNYWxhd2kiOwoJCSRjb3VudHJ5WyJNWSJdID0gIk1hbGF5c2lhIjsK
CQkkY291bnRyeVsiTVYiXSA9ICJNYWxkaXZlcyI7CgkJJGNvdW50cnlbIk1MIl0gPSAiTWFs
aSI7CgkJJGNvdW50cnlbIk1UIl0gPSAiTWFsdGEiOwoJCSRjb3VudHJ5WyJNSCJdID0gIk1h
cnNoYWxsIElzbGFuZHMiOwoJCSRjb3VudHJ5WyJNUSJdID0gIk1hcnRpbmlxdWUiOwoJCSRj
b3VudHJ5WyJNUiJdID0gIk1hdXJpdGFuaWEiOwoJCSRjb3VudHJ5WyJNVSJdID0gIk1hdXJp
dGl1cyI7CgkJJGNvdW50cnlbIllUIl0gPSAiTWF5b3R0ZSI7CgkJJGNvdW50cnlbIk1YIl0g
PSAiTWV4aWNvIjsKCQkkY291bnRyeVsiRk0iXSA9ICJNaWNyb25lc2lhLCBGZWRlcmF0ZWQg
U3RhdGVzIG9mIjsKCQkkY291bnRyeVsiTUQiXSA9ICJNb2xkb3ZhLCBSZXB1YmxpYyBvZiI7
CgkJJGNvdW50cnlbIk1DIl0gPSAiTW9uYWNvIjsKCQkkY291bnRyeVsiTU4iXSA9ICJNb25n
b2xpYSI7CgkJJGNvdW50cnlbIk1TIl0gPSAiTW9udHNlcnJhdCI7CgkJJGNvdW50cnlbIk1B
Il0gPSAiTW9yb2NjbyI7CgkJJGNvdW50cnlbIk1aIl0gPSAiTW96YW1iaXF1ZSI7CgkJJGNv
dW50cnlbIk1NIl0gPSAiTXlhbm1hciI7CgkJJGNvdW50cnlbIk5BIl0gPSAiTmFtaWJpYSI7
CgkJJGNvdW50cnlbIk5SIl0gPSAiTmF1cnUiOwoJCSRjb3VudHJ5WyJOUCJdID0gIk5lcGFs
IjsKCQkkY291bnRyeVsiTkwiXSA9ICJOZXRoZXJsYW5kcyI7CgkJJGNvdW50cnlbIkFOIl0g
PSAiTmV0aGVybGFuZHMgQW50aWxsZXMiOwoJCSRjb3VudHJ5WyJOQyJdID0gIk5ldyBDYWxl
ZG9uaWEiOwoJCSRjb3VudHJ5WyJOWiJdID0gIk5ldyBaZWFsYW5kIjsKCQkkY291bnRyeVsi
TkkiXSA9ICJOaWNhcmFndWEiOwoJCSRjb3VudHJ5WyJORSJdID0gIk5pZ2VyIjsKCQkkY291
bnRyeVsiTkciXSA9ICJOaWdlcmlhIjsKCQkkY291bnRyeVsiTlUiXSA9ICJOaXVlIjsKCQkk
Y291bnRyeVsiTkYiXSA9ICJOb3Jmb2xrIElzbGFuZCI7CgkJJGNvdW50cnlbIk1QIl0gPSAi
Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIjsKCQkkY291bnRyeVsiTk8iXSA9ICJOb3J3YXki
OwoJCSRjb3VudHJ5WyJPTSJdID0gIk9tYW4iOwoJCSRjb3VudHJ5WyJQSyJdID0gIlBha2lz
dGFuIjsKCQkkY291bnRyeVsiUFciXSA9ICJQYWxhdSI7CgkJJGNvdW50cnlbIlBTIl0gPSAi
UGFsZXN0aW5pYW4gVGVycml0b3J5LCBPY2N1cGllZCI7CgkJJGNvdW50cnlbIlBBIl0gPSAi
UGFuYW1hIjsKCQkkY291bnRyeVsiUEciXSA9ICJQYXB1YSBOZXcgR3VpbmVhIjsKCQkkY291
bnRyeVsiUFkiXSA9ICJQYXJhZ3VheSI7CgkJJGNvdW50cnlbIlBFIl0gPSAiUGVydSI7CgkJ
JGNvdW50cnlbIlBIIl0gPSAiUGhpbGlwcGluZXMiOwoJCSRjb3VudHJ5WyJQTiJdID0gIlBp
dGNhaXJuIjsKCQkkY291bnRyeVsiUEwiXSA9ICJQb2xhbmQiOwoJCSRjb3VudHJ5WyJQVCJd
ID0gIlBvcnR1Z2FsIjsKCQkkY291bnRyeVsiUFIiXSA9ICJQdWVydG8gUmljbyI7CgkJJGNv
dW50cnlbIlFBIl0gPSAiUWF0YXIiOwoJCSRjb3VudHJ5WyJSRSJdID0gIlJldW5pb24iOwoJ
CSRjb3VudHJ5WyJSTyJdID0gIlJvbWFuaWEiOwoJCSRjb3VudHJ5WyJSVSJdID0gIlJ1c3Np
YW4gRmVkZXJhdGlvbiI7CgkJJGNvdW50cnlbIlJXIl0gPSAiUndhbmRhIjsKCQkkY291bnRy
eVsiU0giXSA9ICJTYWludCBIZWxlbmEiOwoJCSRjb3VudHJ5WyJLTiJdID0gIlNhaW50IEtp
dHRzIGFuZCBOZXZpcyI7CgkJJGNvdW50cnlbIkxDIl0gPSAiU2FpbnQgTHVjaWEiOwoJCSRj
b3VudHJ5WyJQTSJdID0gIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iOwoJCSRjb3VudHJ5
WyJWQyJdID0gIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIjsKCQkkY291bnRy
eVsiV1MiXSA9ICJTYW1vYSI7CgkJJGNvdW50cnlbIlNNIl0gPSAiU2FuIE1hcmlubyI7CgkJ
JGNvdW50cnlbIlNUIl0gPSAiU2FvIFRvbWUgYW5kIFByaW5jaXBlIjsKCQkkY291bnRyeVsi
U0EiXSA9ICJTYXVkaSBBcmFiaWEiOwoJCSRjb3VudHJ5WyJTTiJdID0gIlNlbmVnYWwiOwoJ
CSRjb3VudHJ5WyJDUyJdID0gIlNlcmJpYSBhbmQgTW9udGVuZWdybyI7CgkJJGNvdW50cnlb
IlNDIl0gPSAiU2V5Y2hlbGxlcyI7CgkJJGNvdW50cnlbIlNMIl0gPSAiU2llcnJhIExlb25l
IjsKCQkkY291bnRyeVsiU0ciXSA9ICJTaW5nYXBvcmUiOwoJCSRjb3VudHJ5WyJTSyJdID0g
IlNsb3Zha2lhIjsKCQkkY291bnRyeVsiU0kiXSA9ICJTbG92ZW5pYSI7CgkJJGNvdW50cnlb
IlNCIl0gPSAiU29sb21vbiBJc2xhbmRzIjsKCQkkY291bnRyeVsiU08iXSA9ICJTb21hbGlh
IjsKCQkkY291bnRyeVsiWkEiXSA9ICJTb3V0aCBBZnJpY2EiOwoJCSRjb3VudHJ5WyJHUyJd
ID0gIlNvdXRoIEdlb3JnaWEgYW5kIHRoZSBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzIjsKCQkk
Y291bnRyeVsiRVMiXSA9ICJTcGFpbiI7CgkJJGNvdW50cnlbIkxLIl0gPSAiU3JpIExhbmth
IjsKCQkkY291bnRyeVsiU0QiXSA9ICJTdWRhbiI7CgkJJGNvdW50cnlbIlNSIl0gPSAiU3Vy
aW5hbWUiOwoJCSRjb3VudHJ5WyJTSiJdID0gIlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iOwoJ
CSRjb3VudHJ5WyJTWiJdID0gIlN3YXppbGFuZCI7CgkJJGNvdW50cnlbIlNFIl0gPSAiU3dl
ZGVuIjsKCQkkY291bnRyeVsiQ0giXSA9ICJTd2l0emVybGFuZCI7CgkJJGNvdW50cnlbIlNZ
Il0gPSAiU3lyaWFuIEFyYWIgUmVwdWJsaWMiOwoJCSRjb3VudHJ5WyJUVyJdID0gIlRhaXdh
biwgUHJvdmluY2Ugb2YgQ2hpbmEiOwoJCSRjb3VudHJ5WyJUSiJdID0gIlRhamlraXN0YW4i
OwoJCSRjb3VudHJ5WyJUWiJdID0gIlRhbnphbmlhLCBVbml0ZWQgUmVwdWJsaWMgb2YiOwoJ
CSRjb3VudHJ5WyJUSCJdID0gIlRoYWlsYW5kIjsKCQkkY291bnRyeVsiVEwiXSA9ICJUaW1v
ci1MZXN0ZSI7CgkJJGNvdW50cnlbIlRHIl0gPSAiVG9nbyI7CgkJJGNvdW50cnlbIlRLIl0g
PSAiVG9rZWxhdSI7CgkJJGNvdW50cnlbIlRPIl0gPSAiVG9uZ2EiOwoJCSRjb3VudHJ5WyJU
VCJdID0gIlRyaW5pZGFkIGFuZCBUb2JhZ28iOwoJCSRjb3VudHJ5WyJUTiJdID0gIlR1bmlz
aWEiOwoJCSRjb3VudHJ5WyJUUiJdID0gIlR1cmtleSI7CgkJJGNvdW50cnlbIlRNIl0gPSAi
VHVya21lbmlzdGFuIjsKCQkkY291bnRyeVsiVEMiXSA9ICJUdXJrcyBhbmQgQ2FpY29zIElz
bGFuZHMiOwoJCSRjb3VudHJ5WyJUViJdID0gIlR1dmFsdSI7CgkJJGNvdW50cnlbIlVHIl0g
PSAiVWdhbmRhIjsKCQkkY291bnRyeVsiVUEiXSA9ICJVa3JhaW5lIjsKCQkkY291bnRyeVsi
QUUiXSA9ICJVbml0ZWQgQXJhYiBFbWlyYXRlcyI7CgkJJGNvdW50cnlbIkdCIl0gPSAiVW5p
dGVkIEtpbmdkb20iOwoJCSRjb3VudHJ5WyJVUyJdID0gIlVuaXRlZCBTdGF0ZXMiOwoJCSRj
b3VudHJ5WyJVTSJdID0gIlVuaXRlZCBTdGF0ZXMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyI7
CgkJJGNvdW50cnlbIlVZIl0gPSAiVXJ1Z3VheSI7CgkJJGNvdW50cnlbIlVaIl0gPSAiVXpi
ZWtpc3RhbiI7CgkJJGNvdW50cnlbIlZVIl0gPSAiVmFudWF0dSI7CgkJJGNvdW50cnlbIlZF
Il0gPSAiVmVuZXp1ZWxhIjsKCQkkY291bnRyeVsiVk4iXSA9ICJWaWV0IE5hbSI7CgkJJGNv
dW50cnlbIlZHIl0gPSAiVmlyZ2luIElzbGFuZHMsIEJyaXRpc2giOwoJCSRjb3VudHJ5WyJW
SSJdID0gIlZpcmdpbiBJc2xhbmRzLCBVLnMuIjsKCQkkY291bnRyeVsiV0YiXSA9ICJXYWxs
aXMgYW5kIEZ1dHVuYSI7CgkJJGNvdW50cnlbIkVIIl0gPSAiV2VzdGVybiBTYWhhcmEiOwoJ
CSRjb3VudHJ5WyJZRSJdID0gIlllbWVuIjsKCQkkY291bnRyeVsiWk0iXSA9ICJaYW1iaWEi
OwoJCSRjb3VudHJ5WyJaVyJdID0gIlppbWJhYndlIjsKCgkJJG91dFtdID0gJzxzZWxlY3Qg
bmFtZT0iY291bnRyeSIgY2xhc3M9Imxpc3QiIHN0eWxlPSJ3aWR0aDoxMzBweDsiPic7CgkJ
JG91dFtdIC49IHQuJzxvcHRpb24gdmFsdWU9IiI+PC9vcHRpb24+JzsKCQkkdmFsdWUgPSAo
aXNzZXQoJHByZWZzWydiYXNfbG9jYXRlX2NvdW50cnknXSkpPyRwcmVmc1snYmFzX2xvY2F0
ZV9jb3VudHJ5J106Jyc7CgkJZm9yZWFjaCAoJGNvdW50cnkgYXMgJGF2YWx1ZSA9PiAkYWxh
YmVsKSB7CgkJCSRzZWxlY3RlZCA9ICgkYXZhbHVlID09ICR2YWx1ZSB8fCAkYWxhYmVsID09
ICR2YWx1ZSkKCQkJPwknIHNlbGVjdGVkPSJzZWxlY3RlZCInCgkJCToJJyc7CgkJCSRhbGFi
ZWwgPSBodG1sc3BlY2lhbGNoYXJzKCRhbGFiZWwpOwoJCQkkb3V0W10gLj0gdC4nPG9wdGlv
biB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRhdmFsdWUpLiciJy4kc2VsZWN0ZWQuJz4n
LgoJCQkJCSRhbGFiZWwuJzwvb3B0aW9uPic7CgkJfQoJCSRvdXRbXSAuPSAnPC9zZWxlY3Q+
Jy5uOwoJCXJldHVybiBqb2luKG4sJG91dCk7Cgl9CgppZighZW1wdHkoJF9HRVRbJ2xldHNf
c2VlX3lvdXJzJ10pKSB7CglpZighZW1wdHkoJHByZWZzWydzaXRlbmFtZSddKSYmIWVtcHR5
KCRwcmVmc1snc2l0ZXVybCddKSYmIWVtcHR5KCRwcmVmc1snYmFzX2xvY2F0ZV9kZXNjJ10p
JiYhZW1wdHkoJHByZWZzWydiYXNfbG9jYXRlX2NyZWF0b3InXSkgJiYgIWVtcHR5KCRwcmVm
c1snYmFzX2xvY2F0ZV9sYXQnXSkgJiYgIWVtcHR5KCRwcmVmc1snYmFzX2xvY2F0ZV9sb24n
XSkpewoJCWhlYWRlcigiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94aHRtbCt4bWwiKTsK
CQkkb3V0W10gPSc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pic7CgkJ
JG91dFtdID0nPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAy
LzIyLXJkZi1zeW50YXgtbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1l
bnRzLzEuMS8iIHhtbG5zPSJodHRwOi8vcHVybC5vcmcvcnNzLzEuMC8iPic7CgkJJG91dFtd
ID0nPGNoYW5uZWwgcmRmOmFib3V0PSJodHRwOi8vJy5zdHJpcF90YWdzKCRwcmVmc1snc2l0
ZXVybCddKS4nIj4nOwoJCWlmKCRfR0VUWydsZXRzX3NlZV95b3VycyddICE9ICd0cnVlJykK
CQkJJG91dFtdID0nPHZlcmlmeT4nLiRfR0VUWydsZXRzX3NlZV95b3VycyddLic8L3Zlcmlm
eT4nOwoJCSRvdXRbXSA9Jzx0aXRsZT4nLnN0cmlwX3RhZ3MoJHByZWZzWydzaXRlbmFtZSdd
KS4nPC90aXRsZT4nOwoJCSRvdXRbXSA9JzxsaW5rPmh0dHA6Ly8nLnN0cmlwX3RhZ3MoJHBy
ZWZzWydzaXRldXJsJ10pLic8L2xpbms+JzsKCQkkb3V0W10gPSc8ZGVzY3JpcHRpb24+PCFb
Q0RBVEFbJy5zdHJfcmVwbGFjZShhcnJheSgiXHJcbiIsICJcbiIsICJcciIpLCAiIiwgbmwy
YnIoc3RyaXBfdGFncygkcHJlZnNbJ2Jhc19sb2NhdGVfZGVzYyddKSkpLiddXT48L2Rlc2Ny
aXB0aW9uPic7CgkJJG91dFtdID0nPGRjOmNyZWF0b3I+Jy5zdHJpcF90YWdzKCRwcmVmc1sn
YmFzX2xvY2F0ZV9jcmVhdG9yJ10pLic8L2RjOmNyZWF0b3I+JzsKCQkkb3V0W10gPSc8ZGM6
Y292ZXJhZ2U+JzsKCQkkb3V0W10gPSc8cG9pbnQ+JzsKCQkkb3V0W10gPSc8Y291bnRyeT4n
LnN0cmlwX3RhZ3MoJHByZWZzWydiYXNfbG9jYXRlX2NvdW50cnknXSkuJzwvY291bnRyeT4n
OwoJCWlmKCFlbXB0eSgkcHJlZnNbJ2Jhc19sb2NhdGVfbGF0J10pICYmICFlbXB0eSgkcHJl
ZnNbJ2Jhc19sb2NhdGVfbG9uJ10pKXsKCQkJJG91dFtdID0nPGxhdD4nLnN0cmlwX3RhZ3Mo
JHByZWZzWydiYXNfbG9jYXRlX2xhdCddKS4nPC9sYXQ+JzsKCQkJJG91dFtdID0nPGxvbj4n
LnN0cmlwX3RhZ3MoJHByZWZzWydiYXNfbG9jYXRlX2xvbiddKS4nPC9sb24+JzsKCQl9CgkJ
JG91dFtdID0nPC9wb2ludD4nOwoJCSRvdXRbXSA9JzwvZGM6Y292ZXJhZ2U+JzsKCQlpZigh
ZW1wdHkoJHByZWZzWydiYXNfbG9jYXRlX2ltZyddKSl7CgkJCSRvdXRbXSA9JzxpbWFnZSBy
ZGY6cmVzb3VyY2U9Iicuc3RyaXBfdGFncygkcHJlZnNbJ2Jhc19sb2NhdGVfaW1nJ10pLici
IC8+JzsKCQl9CgkJJG91dFtdID0nPC9jaGFubmVsPic7CgkJJG91dFtdID0nPC9yZGY6UkRG
Pic7CgkJZWNobyBqb2luKG4sJG91dCk7CgkJZGllKCk7Cgl9CgllbHNlewoJCWhlYWRlcigi
Q29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94aHRtbCt4bWwiKTsKCQkkb3V0W10gPSc8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pic7CgkJJG91dFtdID0nPHJkZjpS
REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
bnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5z
PSJodHRwOi8vcHVybC5vcmcvcnNzLzEuMC8iPic7CgkJJG91dFtdID0nPGNoYW5uZWwgcmRm
OmFib3V0PSJodHRwOi8vJy5zdHJpcF90YWdzKCRwcmVmc1snc2l0ZXVybCddKS4nIj4nOwoJ
CWlmKCRfR0VUWydsZXRzX3NlZV95b3VycyddICE9ICd0cnVlJykKCQkJJG91dFtdID0nPHZl
cmlmeT4nLiRfR0VUWydsZXRzX3NlZV95b3VycyddLic8L3ZlcmlmeT4nOwoJCSRvdXRbXSA9
Jzx0aXRsZT4nLnN0cmlwX3RhZ3MoJHByZWZzWydzaXRlbmFtZSddKS4nPC90aXRsZT4nOwoJ
CSRvdXRbXSA9JzxsaW5rPmh0dHA6Ly8nLnN0cmlwX3RhZ3MoJHByZWZzWydzaXRldXJsJ10p
Lic8L2xpbms+JzsKCQkkb3V0W10gPSc8ZGVzY3JpcHRpb24+Tm8gRGF0YTwvZGVzY3JpcHRp
b24+JzsKCQkkb3V0W10gPSc8L2NoYW5uZWw+JzsKCQkkb3V0W10gPSc8L3JkZjpSREY+JzsK
CQllY2hvIGpvaW4obiwkb3V0KTsKCQlkaWUoKTsKCX0KfQoKIjtzOjM6Im1kNSI7czozMjoi
MGI2ZmE2N2JmOWI2ZTdhNDIxMjEzZmJiZjQ5NmE5ZTYiO30=

When I get a chance, I’m going to load it up to see the code behind it.

Offline

Board footer

Powered by FluxBB