From MAILER-DAEMON Tue Sep  1 11:11:46 2009
Date: 01 Sep 2009 11:11:46 -0400
From: Mail System Internal Data <MAILER-DAEMON@turing.acm.org>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
X-IMAP: 1251817906 0000000000
Status: RO

This text is part of the internal format of your mail folder, and is not
a real message.  It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.

From perlman@turing.acm.org Thu Sep  3 19:37:47 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Thu, 3 Sep 2009 19:37:46 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: "Dunkelberger, Kirk A." <kirk.dunkelberger@ngc.com>
Subject: Re: |STAT request
In-Reply-To: <942D6D831BC6804795094E1D71E5D7D102329216@XMBTX133.northgrum.com>
Message-ID: <Pine.LNX.4.64.0909031937310.1757@turing.acm.org>
References: <942D6D831BC6804795094E1D71E5D7D102329216@XMBTX133.northgrum.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Thank you for your interest in |STAT data manipulation and analysis software.

UNIX |STAT for is now (only) available via Web browsers at a secret location.
 	http://www.hcibib.org/stat/xyzzy/

To obtain UNIX |STAT files, please follow the instructions at:
 	http://www.acm.org/perlman/stat/#access
There are installation notes (e.g., for Mac OS X and Linux) at:
 	http://www.acm.org/perlman/stat/installation.txt

DOS |STAT executables and documentation are available as a WinZip file:
 	http://www.acm.org/perlman/stat/DOS-STAT.ZIP

HTML documentation is available from the |STAT home page:
 	http://www.acm.org/perlman/stat/

On Wed, 2 Sep 2009, Dunkelberger, Kirk A. wrote:

> I AGREE TO ADHERE TO THE CONDITIONS OF USING |STAT.
>   I AGREE NOT TO SHARE THE |STAT LOCATION WITH OTHERS.
>
> I will be using the package on a UNIX platform, if that makes a
> difference in what web address you provide...
>
> Thank you,
> Kirk
>

From perlman@turing.acm.org Wed Sep  9 21:15:09 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Wed, 9 Sep 2009 21:15:08 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Manabu Arai <m-arai@brain.riken.jp>
Subject: Re: request for |STAT
In-Reply-To: <4AA5F040.1010506@brain.riken.jp>
Message-ID: <Pine.LNX.4.64.0909092115050.12900@turing.acm.org>
References: <4AA5F040.1010506@brain.riken.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Thank you for your interest in |STAT data manipulation and analysis software.

UNIX |STAT for is now (only) available via Web browsers at a secret location.
 	http://www.hcibib.org/stat/xyzzy/

To obtain UNIX |STAT files, please follow the instructions at:
 	http://www.acm.org/perlman/stat/#access
There are installation notes (e.g., for Mac OS X and Linux) at:
 	http://www.acm.org/perlman/stat/installation.txt

DOS |STAT executables and documentation are available as a WinZip file:
 	http://www.acm.org/perlman/stat/DOS-STAT.ZIP

HTML documentation is available from the |STAT home page:
 	http://www.acm.org/perlman/stat/

On Tue, 8 Sep 2009, Manabu Arai wrote:

> I AGREE TO ADHERE TO THE CONDITIONS OF USING |STAT.
> I AGREE NOT TO SHARE THE |STAT LOCATION WITH OTHERS.
>

From perlman@turing.acm.org Wed Sep  9 21:15:57 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Wed, 9 Sep 2009 21:15:57 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Superkuh <superkuh@gmail.com>
Subject: Re: |STAT download request
In-Reply-To: <4e6469140909082027u5dba4277ydc79786c36af419c@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.0909092115550.12900@turing.acm.org>
References: <4e6469140909082027u5dba4277ydc79786c36af419c@mail.gmail.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Thank you for your interest in |STAT data manipulation and analysis software.

UNIX |STAT for is now (only) available via Web browsers at a secret location.
 	http://www.hcibib.org/stat/xyzzy/

To obtain UNIX |STAT files, please follow the instructions at:
 	http://www.acm.org/perlman/stat/#access
There are installation notes (e.g., for Mac OS X and Linux) at:
 	http://www.acm.org/perlman/stat/installation.txt

DOS |STAT executables and documentation are available as a WinZip file:
 	http://www.acm.org/perlman/stat/DOS-STAT.ZIP

HTML documentation is available from the |STAT home page:
 	http://www.acm.org/perlman/stat/

On Tue, 8 Sep 2009, Superkuh wrote:

> I AGREE TO ADHERE TO THE CONDITIONS OF USING |STAT.
> I AGREE NOT TO SHARE THE |STAT LOCATION WITH OTHERS.
>

From perlman@turing.acm.org Thu Sep 17 16:58:09 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Thu, 17 Sep 2009 16:58:08 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Gary Perlman at OCLC <perlman@oclc.org>
Subject: change DCARead to use new service
Message-ID: <Pine.LNX.4.64.0909171656320.6514@turing.acm.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

That will take care of existing emails, including identities.

Check on identities usage.

See if email can get the new link (not hotlinked) added.

From perlman@turing.acm.org Thu Sep 17 16:58:41 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Thu, 17 Sep 2009 16:58:40 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Gary Perlman at OCLC <perlman@oclc.org>
Subject: how do major sites do translation
Message-ID: <Pine.LNX.4.64.0909171658140.9374@turing.acm.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Andy may have experience with this.

From perlman@turing.acm.org Tue Sep 22 12:37:29 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Tue, 22 Sep 2009 12:37:29 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Steve Sizemore <steve@ls.berkeley.edu>
Subject: Re: Requesting Unix Stat
In-Reply-To: <20090921184741.GA3793@snowbird>
Message-ID: <Pine.LNX.4.64.0909221237270.24064@turing.acm.org>
References: <20090921184741.GA3793@snowbird>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Thank you for your interest in |STAT data manipulation and analysis software.

UNIX |STAT for is now (only) available via Web browsers at a secret location.
 	http://www.hcibib.org/stat/xyzzy/

To obtain UNIX |STAT files, please follow the instructions at:
 	http://www.acm.org/perlman/stat/#access
There are installation notes (e.g., for Mac OS X and Linux) at:
 	http://www.acm.org/perlman/stat/installation.txt

DOS |STAT executables and documentation are available as a WinZip file:
 	http://www.acm.org/perlman/stat/DOS-STAT.ZIP

HTML documentation is available from the |STAT home page:
 	http://www.acm.org/perlman/stat/

On Mon, 21 Sep 2009, Steve Sizemore wrote:

> I AGREE TO ADHERE TO THE CONDITIONS OF USING |STAT.
> I AGREE NOT TO SHARE THE |STAT LOCATION WITH OTHERS.
>
> Thanks.
> Steve
>

From perlman@turing.acm.org Tue Sep 22 14:45:59 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Tue, 22 Sep 2009 14:45:58 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Gary Perlman at OCLC <perlman@oclc.org>
Subject: chaccess.cgi
Message-ID: <Pine.LNX.4.64.0909221445100.15718@turing.acm.org>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-1463807999-886364135-1253645158=:15718"

---1463807999-886364135-1253645158=:15718
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

---1463807999-886364135-1253645158=:15718
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=chaccess.cgi
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.64.0909221445580.15718@turing.acm.org>
Content-Description: chaccess.cgi
Content-Disposition: attachment; filename=chaccess.cgi

IyEgL3Vzci9iaW4vcGVybA0KDQojIGNoYWNjZXNzLmNnaSAtIFNpbXBsZSBB
Y2Nlc3NpYmlsaXR5IENoZWNrZXINCiMgQ29weXJpZ2h0IDIwMDcgR2FyeSBQ
ZXJsbWFuIChkaXJlY3RvckBoY2liaWIub3JnKQ0KIyBDb3ZlcmVkIGJ5IHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTogaHR0cDovL3d3dy5nbnUu
b3JnL2NvcHlsZWZ0L2dwbC5odG1sDQokcmV2bnVtID0gJHJldmRhdGUgPSAn
JFJldmlzaW9uOiAxLjEyMiAkICREYXRlOiAyMDA5LzA5LzIyIDE4OjI2OjA0
ICQnOw0KDQokcmV2bnVtID1+IHMvXi4qXCRSZXZpc2lvbjpccyovLzsNCiRy
ZXZudW0gPX4gcy9ccysuKiQvLzsNCiRyZXZkYXRlID1+IHMvXi4qXCREYXRl
OlxzKi8vOw0KJHJldmRhdGUgPX4gcy9ccysuKiQvLzsNCiRyZXZkYXRlID1+
IHN8L3wtfGc7DQoNCnVzZSBMV1A6OlNpbXBsZTsgICAgICAgICAgICAgICAg
ICAjIGh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9saWJ3d3ctcGVybC9s
aWIvTFdQL1NpbXBsZS5wbQ0KdXNlIFRpbWU6OkhpUmVzIHF3KGdldHRpbWVv
ZmRheSk7ICMgSGlSZXMgLSBodHRwOi8vd3d3LmF5bmkuY29tL3Blcmxkb2Mv
cGVybDUuOC4wL2xpYi9UaW1lL0hpUmVzLmh0bWwNCg0KJmluaXQoKTsNCg0K
aWYgKCRBUkdWWzBdKSB7DQoJJHVybCA9ICRBUkdWWzBdOw0KCSR1cmwgPSAi
aHR0cDovLyIgLiAkdXJsIHVubGVzcyAoJHVybCA9fiBtfF5odHRwcz86Ly98
aSk7DQoJJnByb2Nlc3MoJHVybCk7DQoJcHJpbnQgImNoYWNjZXNzLXN1bW1h
cnk6IGVycm9ycz0kZXJyb3JDb3VudCB3YXJuaW5ncz0kd2FybmluZ0NvdW50
XG4iOw0KfSBlbHNlIHsNCgkkY2dpID0gMTsNCgklRiA9ICZmb3JtZGF0YSgk
cGdtbmFtZSk7DQoJaWYgKCRGeydpbnB1dCd9KSB7DQoJCSR1cmwgPSAiIjsN
Cgl9IGVsc2Ugew0KCQkkdXJsID0gJEZ7J3VybCd9Ow0KCQlpZiAoJHVybCBl
cSAncmVmZXJlcicpIHsNCgkJCSR1cmwgPSAkRnsndXJsJ30gPSAkRU5WeydI
VFRQX1JFRkVSRVInfTsNCgkJfSBlbHNpZiAoJHVybCkgew0KCQkJJHVybCA9
ICJodHRwOi8vIiAuICR1cmwgdW5sZXNzICgkdXJsID1+IG18Xmh0dHBzPzov
L3xpKTsNCgkJfQ0KCX0NCglwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0
bWw7IGNoYXJzZXQ9VVRGLThcclxuXHJcbiI7DQoJIyBwcmludCAnPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNp
dGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3Nl
LmR0ZCI+JyAuICJcbiI7DQoJcHJpbnQgIjwhRE9DVFlQRSBodG1sIFBVQkxJ
QyAnLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4nPlxu
IjsNCg0KDQoJcHJpbnQgIjxodG1sIGxhbmc9XCJlblwiPlxuIjsNCg0KCSZz
aG93SGVhZCgkdGl0bGUpOw0KDQoJcHJpbnQgIjxib2R5PlxuIjsNCg0KCSZz
aG93VG9wTGlua3MoJHVybCk7DQoJJnNob3dGb3JtKCk7DQoJJnByb2Nlc3Mo
JHVybCwgJEZ7J2lucHV0J30pOw0KDQoJIyBUT0RPIHB1dCBpbiBjb29raWVz
IGZvciBwZXJzaXN0ZW50IG9wdGlvbnMNCgkjIHByaW50ICI8c2NyaXB0IHR5
cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiBsYW5ndWFnZT1cIkphdmFTY3JpcHRc
Ij5cblx0PCEtLVxuIjsNCgkjIHByaW50ICJcdFx0c2V0Q29va2llKFwiJHBn
bW5hbWVcIiwgXCIkcGFybXNcIik7XG4iOw0KCSMgcHJpbnQgIlx0Ly8gLS0+
XG48L3NjcmlwdD5cbiI7DQoJcHJpbnQgIjxoMiBpZD0nY2hhY2Nlc3Mtc3Vt
bWFyeSc+U3VtbWFyeTogZXJyb3JzPSRlcnJvckNvdW50IHdhcm5pbmdzPSR3
YXJuaW5nQ291bnQ8L2gyPlxuIjsNCglwcmludCAiPC9ib2R5PlxuIjsNCglw
cmludCAiPC9odG1sPlxuIjsNCn0NCg0Kc3ViIHNob3dIZWFkIHsNCglsb2Nh
bCAoJHRpdGxlKSA9IChAXyk7DQoJcHJpbnQgIjxoZWFkPlxuIjsNCgkjIGNo
YXJzZXQgc2V0IGFib3ZlLCBidXQgdGhlIGZvbGxvd2luZyBpcyBkZXNpcmVk
IGJ5IHNvbWUgY2hlY2tlcnMNCglwcmludCAiPG1ldGEgaHR0cC1lcXVpdj1c
ImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
VVRGLThcIiAvPlxuIjsNCglwcmludCAiPG1ldGEgbmFtZT1cImRlc2NyaXB0
aW9uXCIgY29udGVudD1cIiRkZXNjcmlwdGlvblwiIC8+XG4iOw0KCXByaW50
ICI8bWV0YSBuYW1lPVwia2V5d29yZHNcIiBjb250ZW50PVwiJGtleXdvcmRz
XCIgLz5cbiI7DQoJcHJpbnQgIjx0aXRsZT4kdGl0bGU8L3RpdGxlPlxuIjsN
CgkkYmFzZUhyZWYgPSAmc2hvd0Jhc2UoJHVybCk7DQoJJnNob3dDU1MoKTsN
CglwcmludCAiPC9oZWFkPlxuIjsNCn0NCg0Kc3ViIHNob3dGb3JtIHsNCglw
cmludCAiPHA+PGEgbmFtZT0nZm9ybTEnPjwvYT5cbiI7DQoJcHJpbnQgIjxm
b3JtIGFjdGlvbj1cImh0dHA6Ly8kRU5WeydTRVJWRVJfTkFNRSd9JEVOVnsn
U0NSSVBUX05BTUUnfVwiIG1ldGhvZD1QT1NUPlxuIjsNCgkmaW5wdXRGaWVs
ZCgndXJsJywgJ1VSTCcsICJVUkwgb2Ygd2ViIHBhZ2UgdG8gY2hlY2siLCAw
LCA2MCk7DQoJcHJpbnQgIjxpbnB1dCB0eXBlPXN1Ym1pdCBhY2Nlc3NrZXk9
YyB2YWx1ZT1cIiR0aXRsZVwiIC8+XG4iOw0KCXByaW50ICI8ZGl2IGNsYXNz
PSdsYWJlbCcgc3R5bGU9XCJtYXJnaW4tbGVmdDogNmVtXCI+XG4iOw0KCSZj
aGVja0JveCgnbGlua3MnLCAnU2hvdyBMaW5rcycsICJTaG93IGxpbmtzIGlu
IHRoZSBkb2N1bWVudCBmb3IgZm9sbG93dXAgY2hlY2tpbmciKTsNCgkmY2hl
Y2tCb3goJ2ltYWdlcycsICdTaG93IEltYWdlcycsICJTaG93IHRoZSBpbWFn
ZXMgaW4gdGhlIG91dHB1dCIpOw0KCSZjaGVja0JveCgnbGFiZWxzJywgJ1No
b3cgTGFiZWxzJywgIlNob3cgdGhlIGxhYmVscyBmb3IgZm9ybSBlbGVtZW50
cyBhbmQgaW1hZ2UgYWx0IHRleHQgaW4gdGhlIG91dHB1dCIpOw0KCSZjaGVj
a0JveCgnd2FybicsICdTaG93IFdhcm5pbmdzJywgIlNob3cgd2FybmluZ3Mg
YWJvdXQgcG9zc2libGUgcHJvYmxlbXMiKTsNCgkmY2hlY2tCb3goJ3NvdXJj
ZScsICdTaG93IEhUTUwnLCAiU2hvdyB0aGUgSFRNTCB0aGF0IHdhcyBwcm9j
ZXNzZWQgaW4gYSBib3giKTsNCglwcmludCAiPC9kaXY+XG4iOw0KCSZpbnB1
dEZpZWxkKCdpbnB1dCcsICdIVE1MIElucHV0JywgIlByb3ZpZGUgSFRNTCBp
bnB1dCBoZXJlIGluc3RlYWQgb2YgYSBVUkwiLCAyLCA2MCwgMSk7DQoJcHJp
bnQgIjwvZm9ybT48YSBuYW1lPSdmb3JtMic+PC9hPlxuIjsNCn0NCg0Kc3Vi
IHNob3dUb3BMaW5rcyB7DQoJbG9jYWwgKCR1cmwpID0gKEBfKTsNCglsb2Nh
bCAoJHN1bW1hcnkpID0gInN1bW1hcnk9J2Zvcm1hdHRpbmcgdGFibGUnIjsN
CglwcmludCAiPHRhYmxlIGNsYXNzPSdvdXRsaW5lZCcgJHN1bW1hcnkgYm9y
ZGVyPScwJyBiZ2NvbG9yPSckYmFubmVyYmcnIGNlbGxwYWRkaW5nPScyJyB3
aWR0aD0nMTAwJScgY2VsbHNwYWNpbmc9JzAnPlxuIjsNCglwcmludCAiPHRy
PlxuIjsNCglwcmludCAiPHRkPlxuIjsNCglwcmludCAiPGgxPiR0aXRsZTwv
aDE+XG4iOw0KCSZzZWN0aW9uTWVudSgkdXJsKTsNCglwcmludCAiPC90ZD5c
biI7DQoJcHJpbnQgIjx0ZCB3aWR0aD0nMjAlJyBub3dyYXAgY2xhc3M9J25h
dmxpbmtzJz4kbmF2bGlua3M8L3RkPlxuIjsNCglwcmludCAiPHRkIHdpZHRo
PScyMCUnIG5vd3JhcCBjbGFzcz0naW5mb2xpbmtzJz4kaW5mb2xpbmtzPC90
ZD5cbiI7DQoJcHJpbnQgIjwvdHI+PC90YWJsZT5cbiI7DQp9DQoNCnN1YiBz
aG93QmFzZSB7DQoJbG9jYWwgKCR1cmwpID0gKEBfKTsNCglsb2NhbCAoJGJh
c2UpID0gJHVybDsNCgkjIFRPRE8gdXNlIGJhc2UgdGFnIGlmIGl0IGFwcGVh
cnMgaW4gaW5wdXQgaHRtbA0KCSRiYXNlID1+IHMvWz9dLiokLy87ICAgICAg
ICAjIHJlbW92ZSBhbnkgcGFyYW1ldGVycyBmcm9tIGJhc2UNCglpZiAoJGJh
c2UgPX4gbXwvXHcrJHwpIHsgIyBpZiB0aGUgdXJsIGlzIGZvciBhIGRpcmVj
dG9yeSAoLyBmb2xsb3dlZCBieSBsZXR0ZXJzKQ0KCQkkYmFzZSAuPSAnLyc7
ICAgICAgIyBhZGQgYSBzbGFzaA0KCX0NCglpZiAoJGJhc2UpIHsNCgkJcHJp
bnQgIjxiYXNlIGhyZWY9XCIkYmFzZVwiIC8+XG4iOw0KCQlpZiAoJGJhc2Ug
PX4gbXwvKFtcd10rWy5dW1x3XSspJHwpIHsNCgkJCSRiYXNlID1+IHN8fC98
Ow0KCQl9DQoJfQ0KCXJldHVybiAkYmFzZTsNCn0NCg0Kc3ViIHNob3dDU1Mg
ew0KCXByaW50ICI8c3R5bGUgdHlwZT0ndGV4dC9jc3MnPlxuIjsNCglwcmlu
dCAiPCEtLVxuIjsNCglwcmludCAiaDEge2JhY2tncm91bmQ6ICRiYW5uZXJi
ZzsgY29sb3I6ICRiYW5uZXJmZzsgbWFyZ2luOiAwOyBmb250LWZhbWlseTog
c2Fucy1zZXJpZn1cbiI7DQoJcHJpbnQgImgyIHtiYWNrZ3JvdW5kOiAkaGVh
ZGluZ2JnOyBjb2xvcjogJGhlYWRpbmdmZzsgbWFyZ2luOiAwOyBmb250LWZh
bWlseTogc2Fucy1zZXJpZn1cbiI7DQoJcHJpbnQgImZvcm0ge2JvcmRlcjog
MXB4IHNvbGlkICM2NjY2NjY7IHBhZGRpbmc6IDVweDsgYmFja2dyb3VuZDog
JGZvcm1iZzt9XG4iOw0KCXByaW50ICJ0aCB7d2lkdGg6IDdlbTsgYmFja2dy
b3VuZDogJGxhYmVsYmc7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IHNhbnMt
c2VyaWZ9XG4iOw0KCXByaW50ICJib2R5IHtiYWNrZ3JvdW5kOiAkbm9ybWFs
Ymd9XG4iOw0KCXByaW50ICIubGFiZWwge2ZvbnQtc2l6ZTogOTAlOyBmb250
LWZhbWlseTogc2Fucy1zZXJpZjsgfVxuIjsNCglwcmludCAiLmluZm9saW5r
cyB7Zm9udC1zaXplOiA3NSU7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyB9
XG4iOw0KCXByaW50ICIubmF2bGlua3Mge2ZvbnQtc2l6ZTogNzUlOyBmb250
LWZhbWlseTogc2Fucy1zZXJpZjsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4i
Ow0KCXByaW50ICIub3V0bGluZWQge2JvcmRlcjogc29saWQgZ3JheSAxcHh9
XG4iOw0KCXByaW50ICIuZXh0cmEge3doaXRlLXNwYWNlOiBub3dyYXA7IGJv
cmRlcjogc29saWQgZ3JheSAxcHg7IHdpZHRoPTAgfVxuIjsNCglwcmludCAi
LmhlbHAge2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyBmb250LXdlaWdodDog
Ym9sZGVyOyBjb2xvcjogZ3JlZW59XG4iOw0KCXByaW50ICIud2FybmluZyB7
Y29sb3I6ICR3YXJuaW5nZmc7IH1cbiI7DQoJcHJpbnQgIi5oaWRkZW4ge2Nv
bG9yOiAjOTk5OTk5OyB9XG4iOw0KCXByaW50ICIuZXJyb3Ige2NvbG9yOiAk
ZXJyb3JmZzsgfVxuIjsNCglwcmludCAiLm1zZyB7Zm9udC1mYW1pbHk6IHNh
bnMtc2VyaWYgfVxuIjsNCglwcmludCAiLS0+XG4iOw0KCXByaW50ICI8L3N0
eWxlPlxuIjsNCn0NCg0Kc3ViIHNlY3Rpb25NZW51IHsNCglsb2NhbCAoJHVy
bCkgPSAoQF8pOw0KCWxvY2FsICgkbWVudSk7DQoJbG9jYWwgKCRzb3VyY2Up
ID0gImh0dHA6Ly8kRU5WeydTRVJWRVJfTkFNRSd9JEVOVnsnU0NSSVBUX05B
TUUnfSI7DQoJJHNvdXJjZSAuPSAiPyRFTlZ7J1FVRVJZX1NUUklORyd9IiBp
ZiAkRU5WeydRVUVSWV9TVFJJTkcnfTsNCgkjIFRPRE8gbWF5YmUgYWRkIGxp
bmsgdG8ganVtcCBvdmVyIHRoaXMgbWVudT8NCglpZiAoJHVybCB8fCAkRnsn
aW5wdXQnfSkgew0KCQkkbWVudSA9ICI8YSBocmVmPSckc291cmNlI2RvY3Vt
ZW50U2VjdGlvbic+RG9jdW1lbnQ8L2E+IjsNCgkJJG1lbnUgLj0gIiB8IDxh
IGhyZWY9JyRzb3VyY2UjZnJhbWVTZWN0aW9uJz5GcmFtZXM8L2E+IjsNCgkJ
JG1lbnUgLj0gIiB8IDxhIGhyZWY9JyRzb3VyY2UjaGVhZGluZ1NlY3Rpb24n
PkhlYWRpbmdzPC9hPiI7DQoJCSRtZW51IC49ICIgfCA8YSBocmVmPSckc291
cmNlI3RhYmxlU2VjdGlvbic+VGFibGVzPC9hPiI7DQoJCSRtZW51IC49ICIg
fCA8YSBocmVmPSckc291cmNlI2ltYWdlc1NlY3Rpb24nPkltYWdlczwvYT4i
Ow0KCQkkbWVudSAuPSAiIHwgPGEgaHJlZj0nJHNvdXJjZSNmb3JtU2VjdGlv
bic+Rm9ybXM8L2E+IjsNCgkJJG1lbnUgLj0gIiB8IDxhIGhyZWY9JyRzb3Vy
Y2UjYWNjZXNza2V5U2VjdGlvbic+QWNjZXNza2V5czwvYT4iOw0KCQkkbWVu
dSAuPSAiIHwgPGEgaHJlZj0nJHNvdXJjZSNzdHlsZVNlY3Rpb24nPlN0eWxl
czwvYT4iOw0KCQkkbWVudSAuPSAiIHwgPGEgaHJlZj0nJHNvdXJjZSNsaW5r
U2VjdGlvbic+TGlua3M8L2E+IiBpZiAkRnsnbGlua3MnfTsNCgl9DQoJcHJp
bnQgIjxkaXYgY2xhc3M9J2luZm9saW5rcyc+JG1lbnU8L2Rpdj5cbiI7DQp9
DQoNCnN1YiBwcm9jZXNzIHsgIyB1cmwgDQogCWxvY2FsICgkdXJsLCAkaW5w
dXQpID0gKEBfKTsNCiAJbG9jYWwgKCRkb2MpOw0KCSZ0YWJsZVN0YXJ0KCk7
DQoJaWYgKCRpbnB1dCkgew0KCQkkZG9jID0gJGlucHV0Ow0KCX0gZWxzaWYg
KCR1cmwpIHsNCgkJbG9jYWwgKCRjb250ZW50X3R5cGUsICRkb2N1bWVudF9s
ZW5ndGgsICRtb2RpZmllZF90aW1lLCAkZXhwaXJlcywgJHNlcnZlcikgPSBo
ZWFkKCR1cmwpOw0KCQlpZiAoISAoJGNvbnRlbnRfdHlwZSAmJiAoJGNvbnRl
bnRfdHlwZSA9fiBtfF50ZXh0L2h0bWx8aSkpKSB7DQoJCQkkY29udGVudF90
eXBlID0gIm5vIHR5cGUiIHVubGVzcyAkY29udGVudF90eXBlOw0KCQkJJnNo
b3dXYXJuKCJEb2N1bWVudCBpcyBOb3QgSFRNTCAoJGNvbnRlbnRfdHlwZSki
KTsNCgkJfQ0KCQlsb2NhbCAoJHNlYzAsICR1c2VjMCkgID0gJmdldHRpbWVv
ZmRheSgpOyAjIEhpUmVzDQoJCSRkb2MgPSBnZXQoJHVybCk7ICMgRkVUQ0gg
VEhFIFVSTA0KCQlsb2NhbCAoJHNlYzEsICR1c2VjMSkgID0gZ2V0dGltZW9m
ZGF5OyAjIEhpUmVzDQoJCSRmZXRjaHRpbWUgPSAkc2VjMSAtICRzZWMwICsg
KCR1c2VjMSAtICR1c2VjMCkgLyAxMDAwMDAwLjA7DQoJfQ0KCSRkb2MgPSAm
cmVtQ29tbWVudHMoJGRvYyk7DQoJaWYgKCRkb2MpIHsNCgkJJmxvZ0l0KCIk
cGdtbmFtZS5sb2ciKTsNCgkJJmNoZWNrSGVhZGVyKCRkb2MsICR1cmwsICRm
ZXRjaHRpbWUpOw0KCQkkRnsnc291cmNlJ30gJiYgJmR1bXAoJGRvYyk7DQoJ
CSZjaGVja0ZyYW1lcygkZG9jKTsNCgkJJmNoZWNrSGVhZGluZ3MoJGRvYyk7
DQoJCSZjaGVja1RhYmxlcygkZG9jKTsNCgkJJmNoZWNrSW1hZ2VzKCRkb2Mp
Ow0KCQkoJG51bWVsZW1lbnRzLCAkbnVtYnV0dG9ucywgJG51bWZvcm1zKSA9
ICZjaGVja0Zvcm0oJGRvYyk7DQoJCSZjaGVja0FjY2Vzc2tleXMoJGRvYywg
JG51bWVsZW1lbnRzLCAkbnVtYnV0dG9ucywgJG51bWZvcm1zKTsNCgkJJmNo
ZWNrU3R5bGVzKCRkb2MpOw0KCQlpZiAoJEZ7J2xpbmtzJ30pIHsNCgkJCSMg
c3RhcnQgbmV3IHRhYmxlIHRvIGZvcmNlIG91dHB1dCB0byBtYWtlIHdoYXQn
cyBiZWVuIGRvbmUgYXBwZWFyIGZhc3Rlcg0KCQkJJnRhYmxlRW5kKCk7DQoJ
CQkmdGFibGVTdGFydCgpOw0KCQkJJmNoZWNrTGlua3MoJGRvYyk7DQoJCX0N
Cgl9IGVsc2lmICgkdXJsKSB7DQoJCSZzaG93RXJyKCJObyBEb2N1bWVudCIp
Ow0KCX0NCgkmdGFibGVFbmQoKTsNCn0NCg0Kc3ViIHRhYmxlU3RhcnQgew0K
CWxvY2FsICgkc3VtbWFyeSkgPSAic3VtbWFyeT0nR2VuZXJhbCBpbmZvcm1h
dGlvbiBhYm91dCB0aGUgYWNjZXNzaWJpbGl0eSBhbmFseXNpcy4nIjsNCgkk
Y2dpICYmIHByaW50ICI8dGFibGUgJHN1bW1hcnkgd2lkdGg9JzEwMCUnIGJv
cmRlcj0nMCcgY2VsbHBhZGRpbmc9JzUnIGNlbGxzcGFjaW5nPScwJz5cbiI7
DQp9DQpzdWIgdGFibGVFbmQgew0KCSRjZ2kgJiYgcHJpbnQgIjwvdGFibGU+
XG4iOw0KfQ0KDQpzdWIgaW5pdCB7DQoJJHRpdGxlICAgID0gIkNoZWNrIEFj
Y2Vzc2liaWxpdHkiOw0KCSRhbmFseXNpc1NlY3Rpb24gID0gJ0FuYWx5c2lz
JzsNCgkkYW5hbHlzaXNTdW1tYXJ5ICA9ICdTdW1tYXJ5JzsNCgkkZXJyb3JD
b3VudCA9IDA7DQoJJHdhcm5pbmdDb3VudCA9IDA7DQoJJG5vcm1hbGZnICAg
PSAiIzAwMDAwMCI7ICRub3JtYWxiZyA9ICIjRkZGRkZGIjsgDQoJJGJhbm5l
cmZnICAgPSAiIzAwMDAwMCI7ICRiYW5uZXJiZyA9ICIjQ0NDQ0NDIjsgDQoJ
JGhlYWRpbmdmZyAgPSAiI0ZGRkZGRiI7ICRoZWFkaW5nYmcgID0gIiM5OTk5
OTkiOw0KCSRlcnJvcmZnICAgID0gJyNDQzAwMDAnOyAkZXJyb3JiZyAgPSAi
I0ZGQUFBQSI7DQoJJHdhcm5pbmdmZyAgPSAiI0NDQUE3NyI7ICR3YXJuaW5n
Ymc9ICIjRkZFRUFBIjsNCgkkbGFiZWxiZyAgPSAiI0VFRUVFRSI7DQoJJGlu
Zm9iZyAgID0gIiNEREZGRUUiOyAjIHNob3cgbGFiZWxzDQoJJGZvcm1iZyAg
ID0gIiNGRkZGRUUiOw0KCSRmb3JtYmcgPSAiI0ZGRUVFRSIgaWYgKCRFTlZ7
J1NDUklQVF9OQU1FJ30gPX4gbXwvc3JjL3wpOyAjIGRldmVsb3BtZW50IGNv
bG9ycw0KCSRva2F5Q29kZSA9IDA7DQoJJGVycm9yQ29kZSA9IDE7DQoJJHdh
cm5pbmdDb2RlID0gMjsNCgkkZW1wdHlBdHRyID0gJyIiJzsNCgkkcGdtbmFt
ZSA9ICIkRU5WeydTQ1JJUFRfTkFNRSd9IjsNCgkkcGdtbmFtZSA9fiBzfC4q
L3x8OyAgICAgICMgcmVtb3ZlIGRpcmVjdG9yeQ0KCSRwZ21uYW1lID1+IHN8
Wy5dLiokfHw7ICAgIyByZW1vdmUgc3VmZml4DQoJJWhlbHAgPSAoDQoJCSdi
dWxsZXRhbHQnLCAgICAnQWx0IHRleHQgZm9yIGEgYnVsbGV0IHNob3VsZCBi
ZSBhIHN5bWJvbCwgbm90IGEgd29yZCcsDQoJCSdzcGFjZXJhbHQnLCAgICAn
QWx0IHRleHQgZm9yIGEgc3BhY2VyIHNob3VsZCBiZSBhIHNwYWNlJywNCgkJ
J3NyY2FsdCcsICAgICAgICdBbHQgdGV4dCBmb3IgYW4gaW1hZ2Ugc2hvdWxk
IG5vdCBiZSB0aGUgaW1hZ2UgZmlsZSBuYW1lJywNCgkJJ2VtcHR5YWx0Jywg
ICAgICdFbXB0eSBhbHQgdGV4dCBtaWdodCBiZSBva2F5IGZvciBzcGFjZXJz
IG9yIGxhYmVsZWQgaWNvbnMsIGJ1dCBub3QgZm9yIGNvbnRlbnQnLA0KCQkn
bm9hbHQnLCAgICAgICAgJ0FsbCBpbWFnZXMgbXVzdCBoYXZlIGFsdCB0ZXh0
LCBldmVuIGlmIGl0IGlzIGJsYW5rJywNCgkJJ25vZGVzYycsICAgICAgICdB
IGRlc2NyaXB0aW9uIGdpdmVzIGEgcmVhZGVyIGFuIG92ZXJ2aWV3IG9mIGEg
cGFnZScsDQoJCSdub2tleXdvcmRzJywgICAnS2V5d29yZHMgZ2l2ZSBzZWFy
Y2ggZW5naW5lcyB0ZXJtcyB0byBpbmRleCcsDQoJCSdub2xhbmd1YWdlJywg
ICAnQSBsYW5nPXh4IGF0dHJpYnV0ZSBoZWxwcyBpbnRlcnByZXQgdGhlIHRl
eHQgb24gYSBwYWdlJywNCgkJJ25vbGFiZWx0YWcnLCAgICdMYWJlbCB0YWdz
IGFyZSByZXF1aXJlZCB0byBhc3NvY2lhdGUgZm9ybSBlbGVtZW50cyB3aXRo
IG1lYW5pbmdmdWwgdGV4dCcsDQoJCSdub2lkYXR0cicsICAgICAnRm9ybSBl
bGVtZW50cyB3aXRob3V0IElEIGF0dHJpYnV0ZXMgY2FuIG5vdCBiZSBhc3Nv
Y2lhdGVkIHdpdGggbGFiZWxzJywNCgkJJ2R1cGlkYXR0cicsICAgICdFYWNo
IGZvcm0gZWxlbWVudCBtdXN0IGhhdmUgYSB1bmlxdWUgSUQgYXR0cmlidXRl
JywNCgkJJ2R1cGxpbmtsYWJlbCcsICdEaWZmZXJlbnQgbGluayB0YXJnZXRz
IHNob3VsZCBoYXZlIGRpZmZlcmVudCBsYWJlbHMnLA0KCQknaW52aXNpbGlu
a2FsdCcsJ0FmdGVyIHJlcGxhY2luZyB0aGUgaW1hZ2UocykgaW4gdGhlIGxp
bmsgbGFiZWwgd2l0aCB0aGUgaW1hZ2UgYWx0IHRleHQsIHRoZXJlIGlzIG5v
dGhpbmcgdG8gaWRlbnRpZnkgdGhlIGxpbmsnLA0KCQknbm9uZGVzY2xhYmVs
JywgJ0xpbmsgbGFiZWxzIHNob3VsZCBiZSBkZXNjcmlwdGl2ZSBvZiB0aGUg
dGFyZ2V0JywNCgkJJ25vZnJhbWVuYW1lJywgICdGcmFtZSB0YWdzIG11c3Qg
aGF2ZSBhIHRpdGxlIGF0dHJpYnV0ZSAob3IgbWF5YmUgYSBuYW1lKScsDQoJ
CSdlbXB0eWZyYW1lbmFtZScsICAnRnJhbWUgbmFtZXMgbXVzdCBub3QgYmUg
ZW1wdHknLA0KCQknaW5saW5lc3R5bGVzJywgJ1dlYiBwYWdlcyBzaG91bGQg
YmUgZGlzcGxheWFibGUgd2l0aCB1c2VyIHN0eWxlc2hlZXRzLCBidXQgaW5s
aW5lIHN0eWxlcyBtYXkgb3ZlcnJpZGUgdXNlciBwcmVmZXJlbmNlcycsDQoJ
CSdjb21wbGV4dGFiJywgICAnVXNlIG9mIHJvd3NwYW4gYW5kL29yIGNvbHNw
YW4gc3R0cmlidXRlcyBtYXkgbWVhbiB0aGF0IGEgdGFibGUgaXMgY29tcGxl
eCBhbmQgcmVxdWlyZXMgYXNzb2NpYXRpbmcgaGVhZGVycyB3aXRoIGNlbGxz
IGluZGl2aWR1YWxseScsDQoJCSdmb250c2l6ZScsICAgICAnRm9udCBzaXpl
cyBzaG91bGQgYmUgbW9kaWZpYWJsZSBieSB1c2VycywgYnV0IGNvbnN0YW50
IGZvbnQtc2l6ZSB2YWx1ZXMgaW4gaW5saW5lIHN0eWxlcyBwcmV2ZW50IHRo
aXMnLA0KCQknZm9udGNvbG9yJywgICAgICdGb250IGNvbG9ycyBzaG91bGQg
YmUgbW9kaWZpYWJsZSBieSB1c2VycywgYnV0IGNvbG9yIHZhbHVlcyBpbiBp
bmxpbmUgc3R5bGVzIG1heSBwcmV2ZW50IHRoaXMnLA0KCQkpOw0KCSRkZXNj
cmlwdGlvbiA9ICJTaW1wbGUgQWNjZXNzaWJpbGl0eSBDaGVja2VyOiByZXBv
cnRzIG1pc3NpbmcgYWx0IHRleHQgZnJvbSBpbWFnZXMgYW5kIG1pc3Npbmcg
bGFiZWwgdGFncyBmcm9tIGZvcm0gZWxlbWVudHMuIjsNCgkka2V5d29yZHMg
PSAiY2hhY2Nlc3MsIEdhcnkgUGVybG1hbiwgc2ltcGxlLCBhY2Nlc3NpYmls
aXR5LCBjaGVjaywgdmFsaWRhdGlvbiwgY29uZm9ybWFuY2UsIGV2YWx1YXRp
b24sIFdDQUcsIFdBSSwgU2VjdGlvbiA1MDgsIGZvcm0sIGlucHV0LCBsYWJl
bCwgaW1hZ2UsIGltZywgYWx0LXRleHQiOw0KCSRlbWFpbCA9ICdkaXJlY3Rv
ckBoY2liaWIub3JnJzsNCgkjICRpbmZvbGlua3MgPSAiQ29tbWVudHM6IDxh
IGhyZWY9J21haWx0bzokZW1haWw/c3ViamVjdD0kcGdtbmFtZTolMjBDb21t
ZW50cyc+JGVtYWlsPC9hPlxuIjsNCglsb2NhbCAoJHNvdXJjZSkgPSAiaHR0
cDovLyRFTlZ7J1NFUlZFUl9OQU1FJ30kRU5WeydTQ1JJUFRfTkFNRSd9IjsN
Cgkkc291cmNlID1+IHMvWy5dY2dpJC8udHh0LzsNCgkkaW5mb2xpbmtzIC49
ICI8ZGl2PkZyZWUgc291cmNlOiA8YSBocmVmPSckc291cmNlJyB0aXRsZT0n
UmV2aXNpb246ICRyZXZudW0gJHJldmRhdGUnPiRwZ21uYW1lLnR4dDwvYT48
L2Rpdj5cbiI7DQoJJGluZm9saW5rcyAuPSAiPGRpdj5SZXNvdXJjZXM6IDxh
IGhyZWY9J2h0dHA6Ly9oY2liaWIub3JnL2FjY2Vzc2liaWxpdHknPmhjaWJp
Yi5vcmcvYWNjZXNzaWJpbGl0eTwvYT48L2Rpdj5cbiI7DQoJJGluZm9saW5r
cyAuPSAiPGRpdj5PdGhlciB0b29sczogPGEgaHJlZj0naHR0cDovL2NoZWNr
d2Vic2l0ZS5lcmlnYW1pLmNvbS9hY2Nlc3NpYmlsaXR5Lmh0bWwnPlRydXdl
eDwvYT4gfCA8YSBocmVmPSdodHRwOi8vY2hlY2tlci5hdHJjLnV0b3JvbnRv
LmNhLyc+Q2hlY2tlcjwvYT48L2Rpdj5cbiI7DQoJIyA8YSBocmVmPSdodHRw
Oi8vd2VieGFjdC53YXRjaGZpcmUuY29tLyc+Qm9iYnk8L2E+IG5vIGxvbmdl
ciBmcmVlIDIwMDgtMDItMDENCgkkbmF2bGlua3MgPSAiPGEgaHJlZj0nI2Zv
cm0xJz5Ta2lwIHRvIEZvcm08L2E+XG4iOw0KCSRuYXZsaW5rcyAuPSAiPGJy
PjxhIGhyZWY9JyNmb3JtMic+U2tpcCBwYXN0IEZvcm08L2E+XG4iOw0KfQ0K
DQpzdWIgY2hlY2tCb3ggew0KIAlsb2NhbCAoJG5hbWUsICRsYWJlbCwgJGhl
bHApID0gKEBfKTsNCglwcmludCAiPGlucHV0IHR5cGU9J2NoZWNrYm94JyB2
YWx1ZT0nY2hlY2tlZCcgbmFtZT0nJG5hbWUnIGlkPSckbmFtZScgJEZ7JG5h
bWV9Lz5cbiI7DQoJcHJpbnQgIlx0PGxhYmVsIHRpdGxlPVwiJGhlbHBcIiBm
b3I9JG5hbWU+JGxhYmVsPC9sYWJlbD4mbmJzcDtcbiI7DQp9DQoNCnN1YiBp
bnB1dEZpZWxkIHsNCiAJbG9jYWwgKCRuYW1lLCAkbGFiZWwsICRoZWxwLCAk
cm93cywgJGNvbHMsICRub2RhdGEpID0gKEBfKTsNCglsb2NhbCAoJHZhbHVl
KSA9IGVzY2FwZSgkRnskbmFtZX0pIHVubGVzcyAkbm9kYXRhOw0KCWxvY2Fs
ICgkc3R5bGUpID0gJ3N0eWxlPSJ3aWR0aDogNmVtIic7DQoJaWYgKCRyb3dz
ID09IDApIHsNCgkJcHJpbnQgIjxsYWJlbCB0aXRsZT1cIiRoZWxwXCIgZm9y
PSRuYW1lICRzdHlsZSBjbGFzcz0nbGFiZWwnPiRsYWJlbDo8L2xhYmVsPlxu
IjsNCgkJcHJpbnQgIjxpbnB1dCBuYW1lPSckbmFtZScgaWQ9JyRuYW1lJyB0
aXRsZT1cIiRoZWxwXCIgc2l6ZT0nJGNvbHMnIHZhbHVlPVwiJHZhbHVlXCIg
Lz5cbiI7DQoJfSBlbHNlIHsNCgkJcHJpbnQgIjxkaXY+XG4iOw0KCQlwcmlu
dCAiPGxhYmVsIHRpdGxlPVwiJGhlbHBcIiBmb3I9JG5hbWUgJHN0eWxlIGNs
YXNzPSdsYWJlbCc+JGxhYmVsOjwvbGFiZWw+XG4iOw0KCQlwcmludCAiPHRl
eHRhcmVhIHJvd3M9JyRyb3dzJyBjb2xzPSckY29scycgbmFtZT0nJG5hbWUn
IGlkPSckbmFtZScgdGl0bGU9XCIkaGVscFwiPiI7DQoJCXByaW50ICR2YWx1
ZTsNCgkJcHJpbnQgIjwvdGV4dGFyZWE+XG4iOw0KCQlwcmludCAiPC9kaXY+
XG4iOw0KCX0NCn0NCg0Kc3ViIGNoZWNrSGVhZGVyIHsgIyBkb2MNCglsb2Nh
bCAoJGRvYywgJHVybCwgJGZldGNodGltZSkgPSAoQF8pOw0KDQoJJnNob3dI
ZWFkZXIoIkRvY3VtZW50IEluZm9ybWF0aW9uIiwgJ2RvY3VtZW50Jyk7DQog
CSR1cmwgJiYgc2hvd0l0KCdVcmwnLCAkdXJsLCAiPGEgaHJlZj1cIiR1cmxc
Ij4kdXJsPC9hPiIpOw0KCWxvY2FsICgkYnl0ZXMpID0gbGVuZ3RoKCRkb2Mp
IC4gIiBjaGFycyI7DQogCXNob3dJdCgnTGVuZ3RoJywgJGJ5dGVzKTsNCglp
ZiAoJGZldGNodGltZSkgew0KCQkkZmV0Y2h0aW1lID0gc3ByaW50ZiAiJS4y
ZiBzZWNzIiwgJGZldGNodGltZTsNCgkJJnNob3dJdCgnRmV0Y2ggVGltZScs
ICRmZXRjaHRpbWUpOw0KCX0NCg0KIAlpZiAoJHRpdGxlID0gJmdldFRpdGxl
KCRkb2MpKSB7DQogCQlzaG93SXQoJ1RpdGxlJywgJHRpdGxlKTsNCiAJfSBl
bHNlIHsNCgkJJnNob3dFcnIoIk5vIFRpdGxlIFRhZyIsICdub3RpdGxlJykg
dW5sZXNzICR0aXRsZTsNCiAJfQ0KIAkkZGVzYyA9ICZnZXRNZXRhKCRkb2Ms
ICdkZXNjcmlwdGlvbicpOw0KCWlmICgmaXNFbXB0eUF0dHIoJGRlc2MpKSB7
DQoJCSZzaG93V2FybigiRW1wdHkgRGVzY3JpcHRpb24iLCAnbm9kZXNjJyk7
DQoJfSBlbHNpZiAoJGRlc2MpIHsNCiAJCXNob3dJdCgnRGVzY3JpcHRpb24n
LCAkZGVzYyk7DQogCX0gZWxzZSB7DQoJCSZzaG93V2FybigiTm8gRGVzY3Jp
cHRpb24iLCAnbm9kZXNjJyk7DQoJfQ0KIAkka2V5d29yZHMgPSAmZ2V0TWV0
YSgkZG9jLCAna2V5d29yZHMnKTsNCglpZiAoJmlzRW1wdHlBdHRyKCRrZXl3
b3JkcykpIHsNCgkJJnNob3dXYXJuKCJFbXB0eSBLZXl3b3JkcyIsICdub2tl
eXdvcmRzJyk7DQoJfSBlbHNpZiAoJGtleXdvcmRzKSB7DQogCQlzaG93SXQo
J0tleXdvcmRzJywgJGtleXdvcmRzKTsNCiAJfSBlbHNlIHsNCgkJJnNob3dX
YXJuKCJObyBLZXl3b3JkcyIsICdub2tleXdvcmRzJyk7DQoJfQ0KCWxvY2Fs
ICgkbGFuZyk7DQoJaWYgKCRkb2MgPX4gbXwoPGh0bWxbXj5dKj4pfGlzKSB7
DQoJCSRsYW5nID0gJmdldEF0dHIoJDEsICdsYW5nJyk7DQoJfQ0KCWlmICgh
JGxhbmcpIHsNCgkJJGxhbmcgPSAmZ2V0TWV0YSgkZG9jLCAiQ29udGVudC1M
YW5ndWFnZSIpOw0KCX0NCglpZiAoJmlzRW1wdHlBdHRyKCRsYW5nKSkgew0K
CQkmc2hvd1dhcm4oIkVtcHR5IExhbmd1YWdlIiwgJ25vbGFuZ3VhZ2UnKTsN
Cgl9IGVsc2lmICgkbGFuZykgew0KCQlsb2NhbCAoJHRyYW5zKTsNCgkJaWYg
KCRsYW5nID1+IC9eKFx3XHcpLykgew0KCQkJKCR0cmFucyA9ICQxKSA9fiB0
ci9BLVovYS16LzsNCgkJCWlmICgkdHJhbnMgZXEgJ2VuJykgew0KCQkJCSR0
cmFucyA9ICcnOw0KCQkJfSBlbHNlIHsNCgkJCQkkdHJhbnMgPSAiPGEgaHJl
Zj0naHR0cDovL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZT9obD1l
biZhbXA7c2w9JHRyYW5zJmFtcDt1PSR1cmwnPnRyYW5zbGF0ZSB0aGlzIHBh
Z2UgYXQgR29vZ2xlPC9hPiI7DQoJCQl9DQoJCX0NCiAJCSZzaG93SXQoJ0xh
bmd1YWdlJywgJGxhbmcsICR0cmFucyk7DQoJfSBlbHNlIHsNCgkJbG9jYWwg
KCR0cmFucyk7DQoJCWlmICgkdXJsID1+IC9bLl0oYXR8YnJ8Y258ZGV8ZXN8
Zml8ZnJ8Z3J8aWx8aXR8amF8a298bXh8bmx8bm98c2UpXGIvKSB7ICMgY291
bnRyeSBjb2RlDQoJCQkkdHJhbnMgPSAkMTsNCgkJCSMgcmVtYXAgY291bnRy
aWVzIHRvIGxhbmd1YWdlcyBpZiB0aGV5IGRvIG5vdCBtYXRjaA0KCQkJJHRy
YW5zID0gJ2RlJyBpZiAkdHJhbnMgZXEgJ2F0JzsNCgkJCSR0cmFucyA9ICdw
dCcgaWYgJHRyYW5zIGVxICdicic7DQoJCQkkdHJhbnMgPSAnZXMnIGlmICR0
cmFucyBlcSAnbXgnOw0KCQkJJHRyYW5zID0gJ2hlJyBpZiAkdHJhbnMgZXEg
J2lsJzsNCgkJCSR0cmFucyA9ICdlbCcgaWYgJHRyYW5zIGVxICdncic7DQoJ
CQkkdHJhbnMgPSAiIDxhIGhyZWY9J2h0dHA6Ly90cmFuc2xhdGUuZ29vZ2xl
LmNvbS90cmFuc2xhdGU/aGw9ZW4mYW1wO3NsPSR0cmFucyZhbXA7dT0kdXJs
Jz50cmFuc2xhdGUgdGhpcyBwYWdlIGF0IEdvb2dsZTwvYT4iOw0KCQl9DQoJ
CSZzaG93V2FybigiTm8gTGFuZ3VhZ2UgU3BlY2lmaWVkJHRyYW5zIiwgJ25v
bGFuZ3VhZ2UnKTsNCgl9DQoJJGNvbnRlbnRUeXBlID0gICZnZXRNZXRhKCRk
b2MsICJDb250ZW50LVR5cGUiKTsNCglpZiAoJGNvbnRlbnRUeXBlID1+IC9c
YmNoYXJzZXQ9KFtcdy1dKikvKSB7DQoJCSRjaGFyc2V0ID0gJDE7DQoJCSZz
aG93SXQoJ0NoYXJzZXQnLCAkY2hhcnNldCk7DQoJfQ0KCSZzaG93TGluZSgp
Ow0KfQ0KDQpzdWIgY2hlY2tIZWFkaW5ncyB7ICMgZG9jDQoJbG9jYWwgKCRk
b2MpID0gKEBfKTsNCglsb2NhbCAoJG51bXRhZ3MpID0gMDsNCglsb2NhbCAo
JGxldmVsLCAkaGVhZGluZyk7DQoJbG9jYWwgKCRoZWFkaW5ncyk7DQoJJGRv
YyA9fiBzfDwvaFsxLTZdPnxcMDAxfGdpOw0KCSZzaG93SGVhZGVyKCJIZWFk
aW5nIFN0cnVjdHVyZSIsICdoZWFkaW5nJyk7DQoJd2hpbGUgKCRkb2MgPX4g
LzxoKFsxLTZdKVxiW14+XSo+KFteXDAwMV0qKVwwMDEvc2kpIHsNCgkJJGRv
YyA9fiBzLy8vOw0KCQkoJGxldmVsLCAkaGVhZGluZykgPSAoJDEsICQyKTsN
CgkJJGhlYWRpbmcgPX4gcy88W14+XSo+Ly9nOw0KCQkkaGxldmVsID0gJGxl
dmVsLTE7DQoJCSRoZWFkaW5ncyAuPSAiPGRpdiB0aXRsZT0nSGVhZGluZyBM
ZXZlbDogJGxldmVsJyBzdHlsZT0nbWFyZ2luLWxlZnQ6ICR7aGxldmVsfWNt
Oyc+JGhlYWRpbmc8L2Rpdj5cbiI7DQoJCSRudW10YWdzKys7DQoJfQ0KCWlm
ICgkbnVtdGFncykgew0KCQkmc2hvd0l0KCdIZWFkaW5ncycsICcnLCAkaGVh
ZGluZ3MpOw0KCQkmc2hvd0xpbmUoKTsNCgl9DQoJJnNob3dDb3VudCgiSGVh
ZGluZyBUYWdzIiwgJG51bXRhZ3MpOw0KfQ0KDQpzdWIgY2hlY2tUYWJsZXMg
eyAjIGRvYw0KCWxvY2FsICgkZG9jKSA9IChAXyk7DQoJbG9jYWwgKCRudW10
YWdzKSA9IDA7DQoJJnNob3dIZWFkZXIoIlRhYmxlcyIsICd0YWJsZScpOw0K
CXdoaWxlICgkZG9jID1+IG18KDx0YWJsZVxiW14+XSo+KXxzaSkgew0KCQkk
ZG9jID1+IHMvLy87DQoJCSRudW10YWdzKys7DQoJCSMgJnNob3dJdCgnVGFi
bGUnLCAkMSk7DQoJfQ0KCWxvY2FsICgkdGFnLCAkdHlwZSk7DQoJbG9jYWwg
KCRudW10aCkgPSAwOw0KCWxvY2FsICgkbnVtdGQpID0gMDsNCglsb2NhbCAo
JHJvd3NwYW4sICRjb2xzcGFuKTsNCgl3aGlsZSAoJGRvYyA9fiBtQCg8KHRk
fHRoKVxiW14+XSo+KUBzaSkgeyAjIGdldCBhbGwgdGQgYW5kIHRoIHRhZ3MN
CgkJJGRvYyA9fiBzLy8vOw0KCQkoJHRhZywgJHR5cGUpID0gKCQxLCAkMik7
DQoJCSMgJnNob3dJdCgnQ2VsbCcsICR0YWcpOw0KCQkkdHlwZSA9fiBzL0Et
Wi9hLXovOw0KCQlpZiAoJHR5cGUgZXEgJ3RoJykgew0KCQkJJG51bXRoKys7
DQoJCQkkcm93c3BhbiA9ICZnZXRBdHRyKCR0YWcsICdyb3dzcGFuJykgdW5s
ZXNzICRyb3dzcGFuOw0KCQkJJGNvbHNwYW4gPSAmZ2V0QXR0cigkdGFnLCAn
Y29sc3BhbicpIHVubGVzcyAkY29sc3BhbjsNCgkJfSBlbHNpZiAoJHR5cGUg
ZXEgJ3RkJykgew0KCQkJJG51bXRkKys7DQoJCX0NCgl9DQoJaWYgKCRyb3dz
cGFuIHx8ICRjb2xzcGFuKSB7DQoJCSMgVE9ETyBlc3BlY2lhbGx5IGlmIHNw
YW4gd2FzIG9uIFRIIHRhZw0KCQkmc2hvd1dhcm4oIlBvc3NpYmx5IENvbXBs
ZXggVGFibGUgSGVhZGluZyBTdHJ1Y3R1cmUiLCAnY29tcGxleHRhYicpOw0K
CQkmc2hvd0xpbmUoKTsNCgl9DQoJaWYgKCRudW10YWdzKSB7DQoJCSZzaG93
Q291bnQoIlRhYmxlcyIsICRudW10YWdzLCAiVEgiLCAkbnVtdGgsICJURCIs
ICRudW10ZCk7DQoJfSBlbHNlIHsNCgkJJnNob3dDb3VudCgiVGFibGVzIiwg
MCk7DQoJfQ0KfQ0KDQpzdWIgY2hlY2tJbWFnZXMgeyAjIGRvYw0KCWxvY2Fs
ICgkZG9jKSA9IChAXyk7DQoJIyA8SU1HDQoJbG9jYWwgKCRudW10YWdzKSA9
IDA7DQoJJnNob3dIZWFkZXIoIkltYWdlIEFsdCBUZXh0IiwgJ2ltYWdlJyk7
DQoJbG9jYWwgKCRzdGF0dXMsICRudW13YXJuLCAkbnVtZXJyKSA9ICgwLCAw
LCAwKTsNCgl3aGlsZSAoJGRvYyA9fiAvKDxpbWcgW14+XSs+KS9zaSkgew0K
CQkkZG9jID1+IHMvLy87DQoJCSRpbWcgPSAkMTsNCgkJbG9jYWwgKCRleHRy
YSkgPSAkRnsnaW1hZ2VzJ30gPyAkaW1nIDogIiI7DQoJCSZzaG93SXQoJ0lt
YWdlJywgJGltZywgJGV4dHJhKTsNCgkJJHN0YXR1cyA9ICZjaGVja0FsdCgk
aW1nKTsNCgkJaWYgKCRzdGF0dXMgPT0gJHdhcm5pbmdDb2RlKSB7DQoJCQkk
bnVtd2FybisrOw0KCQl9IGVsc2lmICgkc3RhdHVzID09ICRlcnJvckNvZGUp
IHsNCgkJCSRudW1lcnIrKzsNCgkJfQ0KCQkmc2hvd0xpbmUoKTsNCgkJJG51
bXRhZ3MrKzsNCgl9DQoJaWYgKCRGeyd3YXJuJ30pIHsNCgkJJnNob3dDb3Vu
dCgiSW1hZ2UgVGFncyIsICRudW10YWdzLCAiRXJyb3JzIiwgJG51bWVyciwg
Ildhcm5pbmdzIiwgJG51bXdhcm4pOw0KCX0gZWxzZSB7DQoJCSZzaG93Q291
bnQoIkltYWdlIFRhZ3MiLCAkbnVtdGFncywgIkVycm9ycyIsICRudW1lcnIp
Ow0KCX0NCn0NCg0Kc3ViIGNoZWNrQWx0IHsgIyB0YWcNCglsb2NhbCAoJHRh
ZykgPSAoQF8pOw0KCWxvY2FsICgkYWx0KSA9ICZnZXRBdHRyKCR0YWcsICdh
bHQnKTsNCglsb2NhbCAoJGZpbGUpID0gJmdldEF0dHIoJHRhZywgJ3NyYycp
Ow0KCXByaW50ICIkZmlsZVxuIjsNCgkkZmlsZSA9fiBzL1srXS8lMkIvZzsg
IyBjb252ZXJ0ICsgdG8gaGV4DQoJJGZpbGUgPX4gc3xeLiovfHw7ICAgICMg
Z2V0IG9ubHkgdGhlIGZpbGUgbmFtZSBwYXJ0IGFmdGVyIHNsYXNoDQoJJGZp
bGUgPX4gc3xbP10uKiR8fDsgICMgZ2V0IG9ubHkgdGhlIGZpbGUgbmFtZSBw
YXJ0IGJlZm9yZSA/IHBhcm1zDQoJJEZ7J2xhYmVscyd9ICYmICZzaG93SXQo
J0FsdC10ZXh0JywgIiRhbHQiLCAnaW5mbycpOw0KCWlmICghICRhbHQpIHsN
CgkJJnNob3dFcnIoIk5vIEFsdC1UZXh0IiwgJ25vYWx0Jyk7DQoJCXJldHVy
biAkZXJyb3JDb2RlOw0KCX0gZWxzaWYgKCZpc0VtcHR5QXR0cigkYWx0KSkg
ew0KCQlpZiAoJGZpbGUgPX4gL1xiKHNwYWNlcnxzcGFjZXxibGFuaylcYi9p
KSB7DQoJCQkmc2hvd1dhcm4oIkluYXBwcm9wcmlhdGUgQUxULVRFWFQgKHNw
YWNlcikiLCAnc3BhY2VyYWx0Jyk7DQoJCQlyZXR1cm4gJHdhcm5pbmdDb2Rl
Ow0KCQl9IGVsc2lmICgkZmlsZSA9fiAvY29ybmVyL2kpIHsNCgkJCTsgIyBu
byBwcm9ibGVtDQoJCX0gZWxzZSB7DQoJCQkmc2hvd1dhcm4oIkVtcHR5IEFM
VC1URVhUIiwgJ2VtcHR5YWx0Jyk7DQoJCQlyZXR1cm4gJHdhcm5pbmdDb2Rl
Ow0KCQl9DQoJfSBlbHNpZiAoJGFsdCA9fiAvXGIoYnVsbGV0fHN0YXIpXGIv
aSAmJiBsZW5ndGgoJGFsdCkgPCAxNSkgew0KCQkmc2hvd1dhcm4oIkluYXBw
cm9wcmlhdGUgQUxULVRFWFQgKGJ1bGxldCkiLCAnYnVsbGV0YWx0Jyk7DQoJ
CXJldHVybiAkd2FybmluZ0NvZGU7DQoJfSBlbHNpZiAoJGFsdCA9fiAvXGIo
c3BhY2VyfHNwYWNlfGJsYW5rKVxiL2kgJiYgbGVuZ3RoKCRhbHQpIDwgMTUp
IHsNCgkJJnNob3dXYXJuKCJJbmFwcHJvcHJpYXRlIEFMVC1URVhUIChzcGFj
ZXIpIiwgJ3NwYWNlcmFsdCcpOw0KCQlyZXR1cm4gJHdhcm5pbmdDb2RlOw0K
CX0gZWxzaWYgKCgkYWx0ID1+IC8kZmlsZS9pKSB8fCAoJGFsdCA9fiAvWy5d
KGdpZnxqcGd8anBlZ3xibXApJC9pKSkgeyAjIGFsdD0iYXJyb3cuZ2lmIg0K
CQkmc2hvd1dhcm4oIkluYXBwcm9wcmlhdGUgQUxULVRFWFQgKGZpbGVuYW1l
KSIsICdzcmNhbHQnKTsNCgkJcmV0dXJuICR3YXJuaW5nQ29kZTsNCgl9DQoJ
cmV0dXJuICRva2F5Q29kZTsNCn0NCg0Kc3ViIGNoZWNrU3R5bGVzIHsgIyBk
b2MNCglsb2NhbCAoJGRvYykgPSAoQF8pOw0KCWxvY2FsICgkdGFnLCAkc3R5
bGUsICRudW1zdHlsZXMpOw0KCSZzaG93SGVhZGVyKCJTdHlsZXMiLCAnc3R5
bGUnKTsNCgl3aGlsZSAoJGRvYyA9fiAvKDxcdypccytbXj5dKz4pL3MpIHsN
CgkJJHRhZyA9ICQxOw0KCQkkZG9jID1+IHMvLy87DQoJCSRzdHlsZSA9ICZn
ZXRBdHRyKCR0YWcsICdzdHlsZScpOw0KCQlpZiAoJHN0eWxlKSB7DQoJCQlp
ZiAoISRudW1zdHlsZXMgJiYgJEZ7J3dhcm4nfSkgew0KCQkJCSZzaG93V2Fy
bigiSW5saW5lIFN0eWxlcyBNYXkgT3ZlcnJpZGUgVXNlciBTdHlsZXMiLCAn
aW5saW5lc3R5bGVzJyk7DQoJCQkJJnNob3dMaW5lKCk7DQoJCQl9DQoJCQkk
bnVtc3R5bGVzKys7DQoJCQlpZiAoJEZ7J3dhcm4nfSkgew0KCQkJCWxvY2Fs
ICgkc2hvd25pdCkgPSAwOw0KCQkJCWlmICgkc3R5bGUgPX4gL2ZvbnQtc2l6
ZTpccypcZCtccyooY218aW58cHh8cHQpXGIvaXMpIHsNCgkJCQkJJnNob3dJ
dCgnU3R5bGUnLCAkdGFnKSB1bmxlc3MgJHNob3duaXQrKzsNCgkJCQkJJnNo
b3dXYXJuKCJGb250IFNpemUgTWF5IE5vdCBCZSBNb2RpZmlhYmxlIiwgJ2Zv
bnRzaXplJykgaWYgJEZ7J3dhcm4nfTsNCgkJCQl9DQoJCQkJaWYgKCRzdHls
ZSA9fiAvXGIoY29sb3J8YmFja2dyb3VuZCk6L2lzKSB7DQoJCQkJCSZzaG93
SXQoJ1N0eWxlJywgJHRhZykgdW5sZXNzICRzaG93bml0Kys7DQoJCQkJCSZz
aG93V2FybigiRm9udCBDb2xvciBNYXkgTm90IEJlIE1vZGlmaWFibGUiLCAn
Zm9udGNvbG9yJykgaWYgJEZ7J3dhcm4nfTsNCgkJCQl9DQoJCQkJJnNob3dM
aW5lKCkgaWYgJHNob3duaXQ7DQoJCQl9DQoJCX0NCgl9DQoJJnNob3dDb3Vu
dCgiSW5saW5lIFN0eWxlcyIsICRudW1zdHlsZXMpOw0KfQ0KDQpzdWIgY2hl
Y2tBY2Nlc3NrZXlzIHsgIyBkb2MgZWxlbWVudHMgc3VibWl0cw0KCWxvY2Fs
ICgkZG9jLCAkbnVtZWxlbWVudHMsICRudW1idXR0b25zLCAkbnVtZm9ybXMp
ID0gKEBfKTsNCglsb2NhbCAoJHRhZywgJGtleSwgJG51bWtleXMpOw0KCSRu
dW1rZXlzID0gMDsNCgkmc2hvd0hlYWRlcigiQWNjZXNzIEtleXMiLCAnYWNj
ZXNza2V5Jyk7DQoJd2hpbGUgKCRkb2MgPX4gLyg8XHcqXHMrW14+XSs+KS9z
KSB7DQoJCSR0YWcgPSAkMTsNCgkJJGRvYyA9fiBzLy8vOw0KCQkka2V5ID0g
JmdldEF0dHIoJHRhZywgJ2FjY2Vzc2tleScpOw0KCQlpZiAoJGtleSkgew0K
CQkJJG51bWtleXMrKzsNCgkJCWxvY2FsICgkaHJlZikgPSAmZ2V0QXR0cigk
dGFnLCAnaHJlZicpOw0KCQkJaWYgKGxlbmd0aCgkaHJlZikgPiAzMCkgew0K
CQkJCSR0YWcgPX4gc3woaHJlZik9KFsiJ10pW14iJ10qKFsiJ10pfCQxPSQy
Li4uJDN8c2k7DQoJCQl9DQoJCQkmc2hvd0l0KCdBY2Nlc3NrZXknLCAkdGFn
LCAka2V5KTsNCgkJCSZzaG93TGluZSgpOw0KCQl9DQoJfQ0KCWlmICgkbnVt
Zm9ybXMpIHsNCgkJJnNob3dDb3VudCgiRm9ybXMiLCAkbnVtZm9ybXMsICJW
aXNpYmxlIEZvcm0gRWxlbWVudHMiLCAkbnVtZWxlbWVudHMsIA0KCQkJIkJ1
dHRvbnMiLCAkbnVtYnV0dG9ucywgIkFjY2Vzc2tleXMiLCAkbnVta2V5cyk7
DQoJfSBlbHNlIHsNCgkJJnNob3dDb3VudCgiRm9ybXMiLCAwLCAiQWNjZXNz
a2V5cyIsICRudW1rZXlzKTsNCgl9DQp9DQoNCiMgaHR0cDovL3d3dy5ub3dw
dWJsaXNoZXJzLmNvbS9oY2kvDQpzdWIgY2hlY2tGcmFtZXMgeyAjIGRvYw0K
CWxvY2FsICgkZG9jKSA9IChAXyk7DQoJIyBjaGVjayBmb3IgbmFtZSBvbiBm
cmFtZQ0KCSZzaG93SGVhZGVyKCJGcmFtZSBOYW1lcy9UaXRsZXMiLCAnZnJh
bWUnKTsNCglsb2NhbCAoJG4pID0gMDsNCglsb2NhbCAoJHN0YXR1cywgJG51
bXdhcm4sICRudW1lcnIpID0gKDAsIDAsIDApOzsNCgl3aGlsZSAoJGRvYyA9
fiAvKDwoaWZyYW1lfGZyYW1lKVxiW14+XSo+KS9zaSkgew0KCQkkZG9jID1+
IHMvLy87DQoJCSRlbGVtZW50ID0gJDE7DQoJCSRuYW1lID0gJmdldEF0dHIo
JGVsZW1lbnQsICduYW1lJyk7DQoJCSR0aXRsZSA9ICZnZXRBdHRyKCRlbGVt
ZW50LCAndGl0bGUnKTsNCgkJJHNyYyA9ICZnZXRBdHRyKCRlbGVtZW50LCAn
c3JjJyk7DQoJCWxvY2FsICgkc2NyaXB0KSA9ICJodHRwOi8vJEVOVnsnU0VS
VkVSX05BTUUnfSRFTlZ7J1NDUklQVF9OQU1FJ30iOw0KCQlsb2NhbCAoJGNv
bWJvKSA9ICZtYWtlSHJlZigkc3JjKTsNCgkJbG9jYWwgKCRocmVmKSA9ICIk
c2NyaXB0P3VybD0kY29tYm8iIC4gJmdldE9wdGlvbnMoKTsNCgkJbG9jYWwg
KCRsaW5rKSA9ICI8YSBocmVmPSckc3JjJz52aWV3IGZyYW1lPC9hPiB8IDxh
IGhyZWY9JyRocmVmJz5jaGVjayBmcmFtZTwvYT4iOw0KCQkmc2hvd0l0KCdG
cmFtZScsICRlbGVtZW50LCAkbGluayk7DQoJCSRuKys7DQoJCWlmICghICRu
YW1lICYmICEgJHRpdGxlKSB7DQoJCQkmc2hvd0VycigiTWlzc2luZyBOYW1l
IGFuZCBUaXRsZSBBdHRyaWJ1dGUgZm9yIEZyYW1lL2lmcmFtZSIsICdub2Zy
YW1lbmFtZScpOw0KCQkJJG51bWVycisrOw0KCQl9IGVsc2lmICgmaXNFbXB0
eUF0dHIoJG5hbWUpIHx8ICZpc0VtcHR5QXR0cigkdGl0bGUpKSB7ICMgQlVH
IHNob3VsZCBiZSBBTkQ/DQoJCQkmc2hvd0VycigiRW1wdHkgTmFtZS9UaXRs
ZSBBdHRyaWJ1dGUgZm9yIEZyYW1lL2lmcmFtZSIsICdub2ZyYW1lbmFtZScp
Ow0KCQkJJG51bWVycisrOw0KCQl9DQoJCWlmICgkRnsnbGFiZWxzJ30pIHsN
CgkJCWlmICgkbmFtZSBlcSAkdGl0bGUpIHsNCgkJCQkmc2hvd0l0KCJGcmFt
ZSBOYW1lL1RpdGxlIiwgJG5hbWUsICdpbmZvJyk7DQoJCQl9IGVsc2Ugew0K
CQkJCSZzaG93SXQoIkZyYW1lIE5hbWUiLCAkbmFtZSwgJ2luZm8nKSBpZiAk
bmFtZTsNCgkJCQkmc2hvd0l0KCJGcmFtZSBUaXRsZSIsICR0aXRsZSwgJ2lu
Zm8nKSBpZiAkdGl0bGUNCgkJCX0NCgkJfQ0KCQkmc2hvd0xpbmUoKTsNCgl9
DQoJJnNob3dDb3VudCgiRnJhbWVzIiwgJG4sICJFcnJvcnMiLCAkbnVtZXJy
KTsNCn0NCg0Kc3ViIGNoZWNrRm9ybSB7ICMgZG9jIC0+IG51bWJlciBvZiB2
aXNpYmxlIGZvcm0gZWxlbWVudHMgb24gcGFnZQ0KCWxvY2FsICgkZG9jKSA9
IChAXyk7DQoJIyBJTlBVVCAvIFRFWFRBUkVBIC8gUEFTU1dPUkQNCgklbGFi
ZWwgPSAmaW5pdExhYmVsKCRkb2MpOw0KCSZzaG93SGVhZGVyKCJGb3JtIExh
YmVsIFRhZ3MiLCAnZm9ybScpOw0KCWxvY2FsICgkbnVtdGFncykgPSAwOw0K
CWxvY2FsICglaWRzKTsNCglsb2NhbCAoJGZvcm1hbWUpOw0KCWxvY2FsICgk
bnVtZm9ybXMpID0gMDsNCglsb2NhbCAoJG51bWVsZW1lbnRzKSA9IDA7DQoJ
bG9jYWwgKCRudW1idXR0b25zKSA9IDA7DQoJbG9jYWwgKCRzdGF0dXMsICRu
dW13YXJuLCAkbnVtZXJyKSA9ICgwLCAwLCAwKTs7DQoJd2hpbGUgKCRkb2Mg
PX4gLyg8KGZvcm18aW5wdXR8dGV4dGFyZWF8c2VsZWN0KVxiW14+XSo+KS9z
aSkgew0KCQkkZG9jID1+IHMvLy87DQoJCSRlbGVtZW50ID0gJDE7DQoJCSMg
c2hvd0l0KCd0eXBlJywgJHR5cGUpOw0KCQlpZiAoJDIgPX4gL2Zvcm0vaSkg
ew0KCQkJJG51bWZvcm1zKys7DQoJCQkkZm9ybW5hbWUgPSAmZ2V0QXR0cigk
ZWxlbWVudCwgJ25hbWUnKTsNCgkJCSRmb3JtbmFtZSA9ICRudW1mb3JtcyB1
bmxlc3MgJGZvcm1uYW1lOw0KCQkJbmV4dDsNCgkJfQ0KCQkkdHlwZSA9ICZn
ZXRBdHRyKCRlbGVtZW50LCAndHlwZScpOw0KCQkkdHlwZSA9ICd0ZXh0JyB1
bmxlc3MgJHR5cGU7DQoJCSRyZWFkb25seSA9ICZnZXRBdHRyKCRlbGVtZW50
LCAncmVhZG9ubHknKTsNCgkJdW5sZXNzICgkdHlwZSA9fiAvaGlkZGVuL2kg
fHwgJHJlYWRvbmx5IGVxICdyZWFkb25seScpIHsNCgkJCSRudW1lbGVtZW50
cysrOw0KCQkJJG51bWJ1dHRvbnMrKyBpZiAkdHlwZSA9fiAvKHN1Ym1pdHxi
dXR0b258aW1hZ2UpL2k7DQoJCX0NCgkJbG9jYWwgKCRmb3JtaW1hZ2UpID0g
KCR0eXBlID1+IC8oaW1hZ2UpL3NpKSAmJiAkRnsnaW1hZ2VzJ307DQoJCSZz
aG93SXQoJ0lucHV0JywgJGVsZW1lbnQsICR0eXBlLCAkZm9ybWltYWdlKTsN
CgkJJG51bXRhZ3MrKzsNCgkJaWYgKCR0eXBlID1+IC8oaW1hZ2UpL3NpKSB7
DQoJCQkkc3RhdHVzID0gJmNoZWNrQWx0KCRlbGVtZW50KTsNCgkJCWlmICgk
c3RhdHVzID09ICR3YXJuaW5nQ29kZSkgew0KCQkJCSRudW13YXJuKys7DQoJ
CQl9IGVsc2lmICgkc3RhdHVzID09ICRlcnJvckNvZGUpIHsNCgkJCQkkbnVt
ZXJyKys7DQoJCQl9DQoJCX0gZWxzaWYgKCR0eXBlID1+IC8odGV4dHxyYWRp
b3xjaGVja2JveHxwYXNzd29yZCkvaSkgew0KCQkJJGlkID0gJmdldEF0dHIo
JGVsZW1lbnQsICdpZCcpOw0KCQkJJHJlYWRvbmx5ID0gJmdldEF0dHIoJGVs
ZW1lbnQsICdyZWFkb25seScpOw0KCQkJaWYgKCRpZCAmJiAkaWRzeyIkZm9y
bW5hbWUkaWQifSkgeyAjIHRoaXMgaWQgaGFzIGJlZW4gdXNlZCBmb3IgYW5v
dGhlciBpdGVtIG9uIHBhZ2UNCgkJCQkmc2hvd0VycigiSUQgKCRpZCkgaGFz
IEJlZW4gVXNlZCBpbiBGb3JtICgkZm9ybW5hbWUpIiwgJ2R1cGlkYXR0cicp
Ow0KCQkJCSRudW1lcnIrKzsNCgkJCX0gZWxzaWYgKCRpZCkgew0KCQkJCSRp
ZHN7IiRmb3JtbmFtZSRpZCJ9Kys7DQoJCQl9DQoJCQlpZiAoJGlkKSB7ICMg
bG9vayBmb3IgbGFiZWwgdGFnIGZvciAkaWQNCgkJCQlpZiAoJGRvYyA9fiBt
QDxsYWJlbFxiW14+XSpmb3I9KCIkaWQifCckaWQnfCRpZFxiKVtePl0qPigu
Kyk8L2xhYmVsPkBzaSkgeyAjIGF0dHItdmFyaWF0aW9ucw0KCQkJCQkjIGxh
YmVsIHRhZyBpcyBwcmVzZW50IGZvciAkaWQNCgkJCQkJJG1hdGNoID0gJDE7
DQoJCQkJCSRsYWJlbCA9ICQyOw0KCQkJCQkkbGFiZWwgPX4gc3w8L2xhYmVs
Pi4qfHxzaTsgIyBtYWtlIGl0IHNob3J0ZXN0IG1hdGNoaW5nIHN0cmluZw0K
CQkJCQkkRnsnbGFiZWxzJ30gJiYgJnNob3dJdCgnTGFiZWwnLCAkbGFiZWws
ICdpbmZvJyk7DQoJCQkJfSBlbHNpZiAoJGxhYmVseyRpZH0gbmUgIiIpIHsN
CgkJCQkJJEZ7J2xhYmVscyd9ICYmICZzaG93SXQoIiRpZCBsYWJlbCIsICRs
YWJlbHskaWR9LCAnaW5mbycpOw0KCQkJCX0gZWxzaWYgKCZpc0VtcHR5QXR0
cigkaWQpKSB7DQoJCQkJCWxvY2FsICgkbmFtZSkgPSAmZ2V0QXR0cigkZWxl
bWVudCwgJ25hbWUnKTsNCgkJCQkJaWYgKCRuYW1lKSB7DQoJCQkJCQkmc2hv
d0VycigiRW1wdHkgSUQgQXR0cmlidXRlIGZvciAnJG5hbWUnIiwgJ25vaWRh
dHRyJyk7DQoJCQkJCQkkbnVtZXJyKys7DQoJCQkJCX0gZWxzZSB7DQoJCQkJ
CQkmc2hvd0VycigiRW1wdHkgSUQgQXR0cmlidXRlIiwgJ25vaWRhdHRyJyk7
DQoJCQkJCQkkbnVtZXJyKys7DQoJCQkJCX0NCgkJCQl9IGVsc2lmICghJHJl
YWRvbmx5KSB7DQoJCQkJCSZzaG93RXJyKCJObyBMYWJlbCBUYWcgZm9yICck
aWQnIGluIEZvcm0gJGZvcm1uYW1lIiwgJ25vbGFiZWx0YWcnKTsNCgkJCQkJ
JG51bWVycisrOw0KCQkJCQkjICZkdW1wKCRkb2MpOw0KCQkJCX0NCgkJCX0g
ZWxzZSB7DQoJCQkJJnNob3dFcnIoIk5vIElEIEF0dHJpYnV0ZSwgc28gbm8g
TGFiZWwgVGFnIFBvc3NpYmxlIiwgJ25vaWRhdHRyJyk7DQoJCQkJJG51bWVy
cisrOw0KCQkJfQ0KCQl9DQoJCSZzaG93TGluZSgpOw0KCX0NCgkmc2hvd0Nv
dW50KCJGb3JtIEVsZW1lbnRzIiwgJG51bXRhZ3MsICJWaXNpYmxlIEZvcm0g
RWxlbWVudHMiLCAkbnVtZWxlbWVudHMsICJFcnJvcnMiLCAkbnVtZXJyKTsN
CglyZXR1cm4gKCRudW1lbGVtZW50cywgJG51bWJ1dHRvbnMsICRudW1mb3Jt
cyk7DQp9DQoNCnN1YiBkdW1wIHsNCglpZiAoJGNnaSkgew0KCQlsb2NhbCAo
JHRleHQpID0gKEBfKTsNCgkJcHJpbnQgIjx0cj5cbiI7DQoJCXByaW50ICI8
dGggYWxpZ249J3JpZ2h0Jz48bGFiZWwgZm9yPSdodG1sJz5IVE1MOjwvbGFi
ZWw+PC90aD5cbiI7DQoJCXByaW50ICI8dGQ+PHRleHRhcmVhIGlkPSdodG1s
JyBjb2xzPSc4MCcgcm93cz0nMTAnPiI7DQoJCXByaW50ICZlc2NhcGUoJHRl
eHQpOw0KCQlwcmludCAiPC90ZXh0YXJlYT48L3RkPjwvdHI+XG4iOw0KCQkm
c2hvd0xpbmUoKQ0KCX0NCn0NCg0Kc3ViIGluaXRMYWJlbCB7DQoJbG9jYWwg
KCRkb2MpID0gKEBfKTsNCglsb2NhbCAoJGF0dHJzLCAkbGFiZWwsICRmb3Ip
Ow0KCSRkb2MgPX4gcy88bGFiZWxcYi9cMDAxL2dpOw0KCSRkb2MgPX4gcy88
XC9sYWJlbD4vXDAwMi9naTsNCglsb2NhbCAoJWxhYmVsKTsNCgl3aGlsZSAo
JGRvYyA9fiAvXDAwMShbXlwwMDJdKilcMDAyLykgew0KCQkkbGFiZWwgPSAk
MTsNCgkJJGRvYyA9fiBzLy8vOw0KCQkkYXR0cnMgPSAkbGFiZWw7DQoJCSRh
dHRycyA9fiBzLz4uKiQvLzsgIyBrZWVwIHRoZSBhdHRyaWJ1dGVzDQoJCWlm
ICgkYXR0cnMgPX4gL2Zvcj0iKFteIl0qKSIvKSB7DQoJCQkkZm9yID0gJDE7
DQoJCX0gZWxzaWYgKCRhdHRycyA9fiAvZm9yPShbXFNdKikvKSB7DQoJCQkk
Zm9yID0gJDE7DQoJCX0NCgkJaWYgKCRmb3IpIHsNCgkJCSRsYWJlbCA9fiBz
L1tePl0qPi8vOyAjIHJlbW92ZSB0aGUgYXR0cmlidXRlcyBiZWZvcmUgZmly
c3QgPg0KCQkJJGxhYmVseyRmb3J9ID0gJGxhYmVsOw0KCQl9DQoJfQ0KCXJl
dHVybiAlbGFiZWw7DQp9DQoNCnN1YiBnZXRPcHRpb25zIHsNCglsb2NhbCAo
JG9wdGlvbiwgJG9wdGlvbnMpOw0KCWZvciAkb3B0aW9uICgnc291cmNlJywg
J2ltYWdlcycsICdsYWJlbHMnLCAnbGlua3MnLCAnd2FybicpIHsgIyANCgkJ
aWYgKCRGeyRvcHRpb259KSB7DQoJCQkkb3B0aW9ucyAuPSAiJiRvcHRpb249
IiAuICZlbmNvZGUoJEZ7JG9wdGlvbn0pOw0KCQl9DQoJfQ0KCXJldHVybiAk
b3B0aW9uczsNCn0NCg0Kc3ViIGNoZWNrTGlua3MgeyAjIGRvYw0KCWxvY2Fs
ICgkZG9jKSA9IChAXyk7DQoJJGRvYyA9fiBzfDwvYVxzKj58XDAwMnxnc2k7
ICMgc2ltcGxpZnkgdGhlIG1hdGNoaW5nIG9mIHRoZSBlbmQgdGFnDQoJbG9j
YWwgKCRudW10YWdzKSA9IDA7DQoJbG9jYWwgKCRzdGF0dXMsICRudW1lcnIs
ICRudW13YXJuKSA9ICgwLCAwLCAwKTsNCglsb2NhbCAoJHRhZywgJGxhYmVs
LCAkaHJlZiwgJG5hbWUsICRmcmFnaWQpOw0KCSZzaG93SGVhZGVyKCdMaW5r
cycsICdsaW5rJyk7DQoJIyAgICAgICAgICAgICAgICAxICAgICAgICAgIDEy
ICAgICAgICAyDQoJd2hpbGUgKCRkb2MgPX4gbXwoPGFcYltePl0qPikoW15c
MDAyXSopXDAwMnxzaSkgew0KCQkkZG9jID1+IHMvLy87DQoJCSgkdGFnLCAk
bGFiZWwpID0gKCQxLCAkMik7DQoJCSRocmVmID0gJmdldEF0dHIoJHRhZywg
J2hyZWYnKTsNCgkJJG5hbWUgPSAmZ2V0QXR0cigkdGFnLCAnbmFtZScpOw0K
CQlpZiAoJGhyZWYpIHsNCgkJCSRzdGF0dXMgPSAmY2hlY2tMaW5rKCRocmVm
LCAkbGFiZWwsICRuYW1lKTsNCgkJCWlmICgkc3RhdHVzID09ICRlcnJvckNv
ZGUpIHsNCgkJCQkkbnVtZXJyKys7DQoJCQl9IGVsc2lmICgkc3RhdHVzID09
ICR3YXJuaW5nQ29kZSkgew0KCQkJCSRudW13YXJuKys7DQoJCQl9DQoJCX0N
CgkJJG51bXRhZ3MrKzsNCgl9DQoJJnNob3dDb3VudCgnTGlua3MnLCAkbnVt
dGFncywgJ0Vycm9ycycsICRudW1lcnIsICdXYXJuaW5ncycsICRudW13YXJu
KTsNCn0NCg0KIyByZWZlcmVuY2UgdG8gZnJhZ21lbnQgKGlkZW50aWZpZWQg
d2l0aCBuYW1lIG9yIGlkKSB3aXRoaW4gZG9jdW1lbnQNCiMgaHR0cDovL3d3
dy53My5vcmcvVFIvaHRtbDQvc3RydWN0L2xpbmtzLmh0bWwjaC0xMi40DQpz
dWIgZ2V0TG9jYWxGcmFnSHJlZiB7DQoJbG9jYWwgKCRocmVmLCAkYmFzZSkg
PSAoQF8pOw0KCWlmICgkaHJlZiA9fiBtfF4kYmFzZS8/fGkpIHsNCgkJJGhy
ZWYgPX4gc3x8fDsNCgl9DQoJaWYgKCRocmVmID1+IC9eIyguKikkLykgew0K
CQlyZXR1cm4gJDE7DQoJfQ0KCXJldHVybiAiIjsNCn0NCg0Kc3ViIGNoZWNr
TGluayB7ICMgaHJlZiBsYWJlbCBuYW1lIC0+IHN0YXR1cw0KCWxvY2FsICgk
aHJlZiwgJGxhYmVsLCAkbmFtZSkgPSAoQF8pOw0KCWxvY2FsICgkc2NyaXB0
KSA9ICJodHRwOi8vJEVOVnsnU0VSVkVSX05BTUUnfSRFTlZ7J1NDUklQVF9O
QU1FJ30iOw0KCWxvY2FsICgkb3B0aW9ucykgPSAmZ2V0T3B0aW9ucygpOw0K
CSMgZml4IHVwIHRoZSBocmVmIGRlcGVuZGluZyBvbiB3aGV0aGVyIGl0J3Mg
YWJzb2x1dGUgb3IgcmVsYXRpdmUNCglsb2NhbCAoJGFic29sdXRlSHJlZikg
PSAmbWFrZUhyZWYoJGhyZWYpOw0KCWxvY2FsICgkcWhyZWYpID0gZW5jb2Rl
KCRhYnNvbHV0ZUhyZWYpOw0KCWxvY2FsICgkbXNnKSA9ICJIUkVGPVskaHJl
Zl0gJmJ1bGw7IExBQkVMPVskbGFiZWxdIjsNCglsb2NhbCAoJHN0YXR1cywg
JG51bXdhcm4sICRudW1lcnIpID0gKDAsIDAsIDApOw0KCSRtc2cgLj0gIiZi
dWxsOyBOQU1FPVskbmFtZV0iIGlmICRuYW1lOw0KCWlmICgkYWJzb2x1dGVI
cmVmID1+IC9eKFsjXXxqYXZhc2NyaXB0OnxtYWlsdG86KS9pKSB7ICMgZG8g
bm90IGZvbGxvdyB0aGlzIGxpbmsNCgkJc2hvd0l0KCdMaW5rJywgJG1zZyk7
DQoJfSBlbHNlIHsNCgkJbG9jYWwgKCR0aXRsZSkgPSAkbGFiZWw7DQoJCSR0
aXRsZSA9fiBzLzxbXj5dKj4vL2c7ICMgcmVtb3ZlIGFueSBodG1sIGZyb20g
bGFiZWwNCgkJJHRpdGxlID1+IHMvXlxzKy8vOyAgICAgIyByZW1vdmUgbGVh
ZGluZyBzcGFjZQ0KCQkkdGl0bGUgPSAidGhpcyBsaW5rIiB1bmxlc3MgJHRp
dGxlOyAjIHByb3ZpZGUgYmFja3VwIHRvIGltYWdlIGxhYmVscw0KCQkjICR0
aXRsZSA9ICJ0aXRsZT0nUnVuICRwZ21uYW1lIG9uICZxdW90OyRhYnNvbHV0
ZUhyZWYmcXVvdDsnIjsNCgkJJHRpdGxlID0gInRpdGxlPSdSdW4gJHBnbW5h
bWUgb24gdGhpcyBsaW5rJyI7DQoJCWxvY2FsICgkY2hlY2tMaW5rKSA9ICI8
YSBocmVmPVwiJHNjcmlwdD91cmw9JHFocmVmJG9wdGlvbnNcIiAkdGl0bGU+
Y2hlY2sgbGluazwvYT4iOw0KCQlsb2NhbCAoJHZpZXdMaW5rKSA9ICI8YSBo
cmVmPSckYWJzb2x1dGVIcmVmJz52aWV3IDxiPiRsYWJlbDwvYj48L2E+IjsN
CgkJc2hvd0l0KCdMaW5rJywgJG1zZywgIiR2aWV3TGluayB8ICRjaGVja0xp
bmsiKTsNCgl9DQoJaWYgKCRsaW5rID1+IC9eKGhlcmV8Y2xpY2sgaGVyZSkk
L2kpIHsNCgkJJnNob3dXYXJuKCJOb24tRGVzY3JpcHRpdmUgTGluayBMYWJl
bCIsICdub25kZXNjbGFiZWwnKTsNCgkJJG51bXdhcm4rKzsNCgl9DQoJbG9j
YWwgKCRsYWJlbE9yaWcpID0gJGxhYmVsOw0KCXdoaWxlICgkbGFiZWwgPX4g
bXwoPGltZ1xzK1tePl0rPil8aSkgeyAgICMgYW4gaW1hZ2UgdGFnIGluIHRo
ZSBsYWJlbA0KCQlsb2NhbCAoJGltZykgPSAoJDEpOyAgICAgICAgICAgICAg
ICAgICMgZ2V0IHRoZSB0YWcNCgkJbG9jYWwgKCRhbHQpID0gJmdldEF0dHIo
JGltZywgJ2FsdCcpOyAjIGdldCB0aGUgYWx0IHRleHQNCgkJJGFsdCA9ICIi
IGlmICgkYWx0IGVxICciIicpOyAgICAgICAgICAjIHJlbW92ZSBlbXB0eSBz
dHJpbmcgIiINCgkJJGFsdCA9ICIiIGlmICgkYWx0IGVxICInJyIpOyAgICAg
ICAgICAjIHJlbW92ZSBlbXB0eSBzdHJpbmcgJycNCgkJJGxhYmVsID1+IHN8
fCRhbHR8aTsgICAgICAgICAgICAgICAgICAjIHVzZSB0aGUgYWx0IHRleHQg
Zm9yIHRoZSBpbWFnZQ0KCQkjICZzaG93V2FybigiUmVwbGFjaW5nIElNRyB0
YWcgd2l0aCBbJGFsdF0iKTsNCgl9DQoJaWYgKCRsYWJlbCA9fiAvXlxzKiQv
KSB7DQoJCWlmICgkbGFiZWxPcmlnIG5lICRsYWJlbCkgew0KCQkJJnNob3dF
cnIoIkludmlzaWJsZSBsaW5rIGxhYmVsIGFmdGVyIGltYWdlIHJlcGxhY2Vk
IGJ5IGFsdCB0ZXh0IiwgJ2ludmlzaWxpbmthbHQnKTsNCgkJCSRudW1lcnIr
KzsNCgkJfSBlbHNlIHsNCgkJCSZzaG93RXJyKCJJbnZpc2libGUgbGluayBs
YWJlbCIpOw0KCQkJJG51bWVycisrOw0KCQl9DQoJfSBlbHNpZiAoJEhyZWZ7
JGxhYmVsfSAmJiAoJEhyZWZ7JGxhYmVsfSBuZSAkaHJlZikpIHsNCgkJJnNo
b3dXYXJuKCJEdXBsaWNhdGVkIExhYmVsIGZvciBEaWZmZXJlbnQgVVJMIiwg
J2R1cGxpbmtsYWJlbCcpOw0KCQkkbnVtd2FybisrOw0KCX0gZWxzZSB7DQoJ
CSRIcmVmeyRsYWJlbH0gPSAkaHJlZjsNCgl9DQoJJnNob3dMaW5lKCk7DQoN
CglpZiAoJG51bWVycikgew0KCQkkc3RhdHVzID0gJGVycm9yQ29kZTsNCgl9
IGVsc2lmICgkbnVtd2Fybikgew0KCQkkc3RhdHVzID0gJHdhcm5pbmdDb2Rl
Ow0KCX0gZWxzZSB7DQoJCSRzdGF0dXMgPSBva2F5Q29kZTsNCgl9DQoNCgly
ZXR1cm4gJHN0YXR1czsgIyBUT0RPIGFkZCBvcHRpb24gdG8gY2hlY2sgKHNw
ZWNpZmljIHR5cGVzKSBsaW5rcywgc2hvdyBmZWVkYmFjayBvbiBwcm9ncmVz
cw0KDQoJbG9jYWwgKCRjb250ZW50X3R5cGUsICRkb2N1bWVudF9sZW5ndGgs
ICRtb2RpZmllZF90aW1lLCAkZXhwaXJlcywgJHNlcnZlcikgPSBoZWFkKCRh
YnNvbHV0ZUhyZWYpOw0KCSRjb250ZW50X3R5cGUgPSAnbWFpbCcgaWYgKCRh
YnNvbHV0ZUhyZWYgPX4gL15tYWlsdG8vaSk7DQoJaWYgKCRjb250ZW50X3R5
cGUpIHsNCgkJbG9jYWwgKCRtc2cpID0gIlRZUEU9WyRjb250ZW50X3R5cGVd
IjsNCgkJJG1zZyAuPSAiIExFTkdUSD1bJGRvY3VtZW50X2xlbmd0aF0iIGlm
ICRkb2N1bWVudF9sZW5ndGg7DQoJCSRtc2cgLj0gIiBNT0RJRklFRD1bJG1v
ZGlmaWVkX3RpbWVdIiBpZiAkbW9kaWZpZWRfdGltZTsNCgkJc2hvd0l0KCdH
ZXQnLCAkbXNnKTsNCgl9IGVsc2Ugew0KCQkmc2hvd0Vycignbm8gY29udGVu
dCB0eXBlJyk7DQoJfQ0KfQ0KDQpzdWIgbWFrZUhyZWYgeyAjIHRoaXMtaHJl
Zg0KCWxvY2FsICgkaHJlZikgPSAoQF8pOw0KCWxvY2FsICgkYmFzZSkgPSAk
YmFzZUhyZWY7DQoJaWYgKCRocmVmID1+IG18Xmh0dHBzPzovL3xpIHx8ICRo
cmVmID1+IC9eKGphdmFzY3JpcHR8bWFpbHRvfG5ld3N8ZnRwfG5udHB8dGVs
bmV0fGdvcGhlcik6L2kpIHsNCgkJcmV0dXJuICRocmVmOw0KCX0gZWxzaWYg
KCRocmVmID1+IG18Xi98KSB7ICAgICAgIyBocmVmIHN0YXJ0cyB3aXRoIC8s
IHNvIHByZXBlbmQgc2VydmVyDQoJCSRiYXNlID1+IHN8XihodHRwcz86Ly8p
fHxpOyAjIGdldCByaWQgb2YgcHJvdG9jb2wgdG8gc2FmZWx5IHJlbW92ZSAv
Kg0KCQlsb2NhbCAoJHByZWZpeCkgPSAkMTsgICAgICAgIyBzYXZlIHByb3Rv
Y29sIHRvIHJlc3RvcmUgbGF0ZXINCgkJJHByZWZpeCA9ICJodHRwOi8vIiB1
bmxlc3MgJHByZWZpeDsgIyBtYWtlIHN1cmUgdGhlcmUgaXMgc29tZXRoaW5n
IHJlc3RvcmVkDQoJCSRiYXNlID1+IHN8Ly4qJHx8OyAgICAgICAgICAjIGNv
bnZlcnQgYmFzZSB0byBkb21haW4gc2VydmVyIHVybA0KCQkkYmFzZSA9ICIk
cHJlZml4JGJhc2UiOw0KCQlyZXR1cm4gIiRiYXNlJGhyZWYiOw0KCX0gZWxz
aWYgKCRocmVmID1+IG18XiN8KSB7DQoJCXJldHVybiAkaHJlZjsNCgl9IGVs
c2Ugew0KCQl3aGlsZSAoJGhyZWYgPX4gbXxeLi4vfCkgew0KCQkJJGhyZWYg
PX4gc3xedHJ1bmNhdGVkfHw7ICAgICMgY2hvcCBvZmYgdGhlIC4uDQoJCQkk
YmFzZSA9fiBzfC9bXi9dKiR8fDsgIyBjaGRpciB0byAuLiBpbiAkYmFzZQ0K
CQl9DQoJCWlmICgkYmFzZSA9fiBtfC8kfCkgeyAjIHNsYXNoIGF0IGVuZA0K
CQkJJGJhc2UgPX4gcy8vLzsgICAgIyB0cmltIGl0IG9mZg0KCQl9DQoJCXJl
dHVybiAiJGJhc2UvJGhyZWYiOyAjIHVzZSAkYmFzZSB3aXRoIHJlbGF0aXZl
IFVSTA0KCX0NCn0NCg0Kc3ViIGdldEF0dHIgeyAjIHRhZyBuYW1lDQoJbG9j
YWwgKCR0YWcsICRuYW1lKSA9IChAXyk7DQoJbG9jYWwgKCR2YWx1ZSk7DQoJ
aWYgKCR0YWcgPX4gbS9ccyRuYW1lPSIoW14iXSopIi9zaSkgeyAjIGF0dHIt
dmFyaWF0aW9uICIgZG91YmxlIHF1b3RlZA0KCQkkdmFsdWUgPSAkMTsNCgkJ
IyAmc2hvd0VycigiZG91YmxlIHF1b3RlIGZvdW5kIGZvciAkbmFtZSwgdmFs
dWU9JHZhbHVlIik7DQoJfSBlbHNpZiAoJHRhZyA9fiBtL1xzJG5hbWU9Jyhb
XiddKiknL3NpKSB7ICMgYXR0ci12YXJpYXRpb24gJyBzaW5nbGUtcXVvdGVk
DQoJCSR2YWx1ZSA9ICQxOw0KCQkjICZzaG93RXJyKCJzaW5nbGUgcXVvdGUg
Zm91bmQgZm9yICRuYW1lLCB2YWx1ZT0kdmFsdWUiKTsNCgl9IGVsc2lmICgk
dGFnID1+IG0vXHMkbmFtZT0oW15ccz5dKilbXHM+XS9zaSkgeyAjIGF0dHIt
dmFyaWF0aW9uIHVucXVvdGVkIChub3Qgc3BhY2Ugb3IgPikNCgkJJHZhbHVl
ID0gJDE7DQoJCSMgJnNob3dFcnIoIm5vIHF1b3RlIGZvdW5kIGZvciAkbmFt
ZSwgdmFsdWU9JHZhbHVlIik7DQoJfSBlbHNlIHsNCgkJcmV0dXJuICIiOw0K
CX0NCglpZiAoJHZhbHVlIGVxICIiKSB7DQoJCXJldHVybiAkZW1wdHlBdHRy
OyAjIHVzZSBzdGFuZGFyZCBmb3JtIGZvciBlbXB0eSBhdHRyaWJ1dGUNCgl9
IGVsc2Ugew0KCQlyZXR1cm4gJDE7DQoJfQ0KfQ0KDQpzdWIgcmVtQ29tbWVu
dHMgew0KCWxvY2FsICgkZG9jKSA9IChAXyk7DQoJJGRvYyA9fiBzLy0tPi9c
MDAyL2c7ICMgbWFwIGNsb3NlciB0byBzaW5nbGUgY2hhciBmb3IgbWluaW1h
bCBtYXRjaA0KCXdoaWxlICgkZG9jID1+IC88IS0tLykgew0KCQkkZG9jID1+
IHMvKDwhLS1bXlwwMDJdKlwwMDIpLy87DQoJCWJyZWFrIHVubGVzcyAkMTsg
IyBtYWtlIHN1cmUgd2UgbWFkZSBhIGNoYW5nZQ0KCX0NCgkkZG9jID1+IHMv
XDAwMi8tLT4vZzsNCglyZXR1cm4gJGRvYzsNCn0NCg0Kc3ViIHNob3dNc2cg
ew0KCWxvY2FsICgkbXNnLCAkbGFiZWwsICRmZ2NvbG9yLCAkYmdjb2xvciwg
JGhlbHApID0gKEBfKTsNCgkkbGFiZWwgPSAnTm90ZScgdW5sZXNzICRsYWJl
bDsNCgkkYmdjb2xvciA9ICRub3JtYWxiZyB1bmxlc3MgJGJnY29sb3I7DQoJ
aWYgKCRjZ2kpIHsNCgkJJGNvdW50eyRsYWJlbH0rKzsNCgkJcHJpbnQgIjx0
ciBjbGFzcz0nbXNnJyBiZ2NvbG9yPSckYmdjb2xvcicgdmFsaWduPSdiYXNl
bGluZSc+XG4iOw0KCQlpZiAoJGxhYmVsIGVxICRhbmFseXNpc1NlY3Rpb24g
fHwgJGxhYmVsIGVxICRhbmFseXNpc1N1bW1hcnkpIHsNCgkJCXByaW50ICI8
dGggYWxpZ249J2xlZnQnIHN0eWxlPSdjb2xvcjokZmdjb2xvcjsgYmFja2dy
b3VuZDokYmdjb2xvcicgbm93cmFwIGNsYXNzPSckbGFiZWwnPiI7DQoJCQlw
cmludCAkbGFiZWw7DQoJCQlwcmludCAiPC90aD5cbiI7DQoJCX0gZWxzZSB7
DQoJCQlwcmludCAiPHRoIGFsaWduPSdyaWdodCcgbm93cmFwIGNsYXNzPSck
bGFiZWwnPiI7DQoJCQlwcmludCAkbGFiZWw7DQoJCQlwcmludCAiOjwvdGg+
XG4iOw0KCQl9DQoJCXByaW50ICI8dGQ+IjsNCgkJcHJpbnQgIjxoMj4iIGlm
ICRsYWJlbCBlcSAkYW5hbHlzaXNTZWN0aW9uOw0KCQlwcmludCAkbXNnOw0K
CQlpZiAoJGhlbHAgJiYgJGhlbHB7JGhlbHB9KSB7DQoJCQlwcmludCAiIDxz
cGFuIGNsYXNzPSdoZWxwJyB0aXRsZT0nJGhlbHB7JGhlbHB9JyBvbmNsaWNr
PSdqYXZhc2NyaXB0OmFsZXJ0KFwiJGhlbHB7JGhlbHB9XCIpJz5baW5mb108
L3NwYW4+Ig0KCQl9DQoJCXByaW50ICI8L2gyPiIgaWYgJGxhYmVsIGVxICRh
bmFseXNpc1NlY3Rpb247DQoJCXByaW50ICI8L3RkPjwvdHI+XG4iOw0KCX0g
ZWxzZSB7DQoJCXByaW50ICJcdCoqKioqKiogJG1zZyAqKioqKipcbiI7DQoJ
fQ0KfQ0KDQpzdWIgc2hvd05vbmUgew0KCWxvY2FsICgkdHlwZSkgPSAoQF8p
Ow0KCSR0eXBlID1+IHRyL2Etei9BLVovOw0KCSZzaG93TXNnKCJOTyAkdHlw
ZSBGT1VORCAod2hpY2ggaXMgb2theSkiKTsNCgkmc2hvd0xpbmUoKTsNCn0N
Cg0Kc3ViIHNob3dDb3VudCB7DQoJbG9jYWwgKEBpdGVtY291bnRzKSA9IChA
Xyk7DQoJbG9jYWwgKCRpdGVtLCAkY291bnQpOw0KCWxvY2FsICgkbXNnKTsN
Cglsb2NhbCAoJGJyKSA9ICRjZ2kgPyAiPGJyPiIgOiAiICAgIjsNCglsb2Nh
bCAoJGJlZ2luQ291bnQpID0gJGNnaSA/ICc8Yj48dHQ+JyA6ICcnOw0KCWxv
Y2FsICgkZW5kQ291bnQpID0gJGNnaSA/ICc8L3R0PjwvYj4nIDogJyc7DQoJ
d2hpbGUgKEBpdGVtY291bnRzKSB7DQoJCSgkaXRlbSwgJGNvdW50KSA9ICgk
aXRlbWNvdW50c1swXSwgJGl0ZW1jb3VudHNbMV0pOw0KCQkkY291bnQgPSAw
IGlmICRjb3VudCBlcSAnJzsNCgkJIyAkaXRlbSA9fiB0ci9hLXovQS1aLzsg
IyBtYXAgdG8gdXBwZXIgY2FzZT8NCgkJc2hpZnQgQGl0ZW1jb3VudHM7IHNo
aWZ0IEBpdGVtY291bnRzOw0KCQkkbXNnIC49ICRiciBpZiAkbXNnOw0KCQkk
bXNnIC49ICIkaXRlbTogJGJlZ2luQ291bnQkY291bnQkZW5kQ291bnQiOw0K
CX0NCgkmc2hvd01zZygkbXNnLCAkYW5hbHlzaXNTdW1tYXJ5KTsNCgkmc2hv
d0xpbmUoKTsNCn0NCg0Kc3ViIHNob3dFcnIgew0KCWxvY2FsICgkbXNnLCAk
aGVscCkgPSAoQF8pOw0KCSZzaG93TXNnKCRtc2csICdFcnJvcicsICRlcnJv
cmZnLCAkZXJyb3JiZywgJGhlbHApOw0KCSRlcnJvckNvdW50Kys7DQp9DQoN
CnN1YiBzaG93V2FybiB7DQoJbG9jYWwgKCRtc2csICRoZWxwKSA9IChAXyk7
DQoJIyAkbXNnID1+IHRyL2Etei9BLVovOyAjIG1hcCB0byB1cHBlciBjYXNl
Pw0KCWlmICgkRnsnd2Fybid9KSB7DQoJCSZzaG93TXNnKCRtc2csICdXYXJu
aW5nJywgJHdhcm5pbmdmZywgJHdhcm5pbmdiZywgJGhlbHApOw0KCQkkd2Fy
bmluZ0NvdW50Kys7DQoJfQ0KfQ0KDQpzdWIgc2hvd0hlYWRlciB7ICMgdGl0
bGUgbmFtZQ0KCWxvY2FsICgkdGl0bGUsICRuYW1lKSA9IChAXyk7DQoJJHRp
dGxlID0gIjxhIG5hbWU9JyR7bmFtZX1TZWN0aW9uJz4kdGl0bGU8L2E+IjsN
Cgkmc2hvd01zZygkdGl0bGUsICRhbmFseXNpc1NlY3Rpb24sICRoZWFkaW5n
ZmcsICRoZWFkaW5nYmcpOw0KCSZzaG93TGluZSgpOw0KfQ0KDQpzdWIgc2hv
d0xpbmUgew0KCXByaW50ICI8dHIgYmdjb2xvcj0nIzY2NjY2Nicgc3R5bGU9
J2hlaWdodDogMXB4Jz48dGQgY29sc3Bhbj0nMic+PC90ZD48L3RyPlxuIiBp
ZiAkY2dpOw0KfQ0KDQpzdWIgc2hvd0l0IHsNCglsb2NhbCAoJG5hbWUsICR2
YWx1ZSwgJGV4dHJhLCAkZm9ybWltYWdlKSA9IChAXyk7DQoJJGZvcm1pbWFn
ZSA9ICR2YWx1ZSBpZiAkZm9ybWltYWdlOw0KCSR2YWx1ZSA9ICZlc2NhcGUo
JHZhbHVlKSBpZiAkY2dpOw0KCWxvY2FsICgkY2xhc3MpOw0KCWlmICghICRu
YW1lKSB7DQoJCXByaW50ICI8dHIgaGVpZ2h0PScyJyBiZ2NvbG9yPScjOTk5
OTk5Jz48dGQ+PC90ZD48dGQ+PC90ZD48L3RyPlxuIjsNCgkJcmV0dXJuOw0K
CX0NCglpZiAoJGV4dHJhIGVxICdpbmZvJykgew0KCQkkZXh0cmEgPSAnJzsN
CgkJJGJnY29sb3IgPSAiYmdjb2xvcj0nJGluZm9iZyciOw0KCX0gZWxzaWYg
KCRleHRyYSA9fiAvXmhpZGRlbiQvaSkgew0KCQkkY2xhc3MgPSAnY2xhc3M9
ImhpZGRlbiInOw0KCX0gZWxzZSB7DQoJCSRiZ2NvbG9yID0gImJnY29sb3I9
JyRub3JtYWxiZyciOw0KCX0NCgkkY291bnR7JG5hbWV9Kys7DQoJaWYgKCRj
Z2kpIHsNCgkJcHJpbnQgIjx0ciB2YWxpZ249J2Jhc2VsaW5lJz5cbiI7DQoJ
CXByaW50ICI8dGggYWxpZ249J3JpZ2h0JyBiZ2NvbG9yPSckbGFiZWxiZycg
bm93cmFwPiRuYW1lOjwvdGg+XG4iOw0KCQlwcmludCAiPHRkICRiZ2NvbG9y
PiI7DQoJCXByaW50ICI8dHQgJGNsYXNzPiR2YWx1ZTwvdHQ+IiBpZiAkdmFs
dWU7DQoJCSRleHRyYSA9ICcnIGlmICgkbmFtZSBlcSAnSW5wdXQnKTsgIyBz
aG93aW5nIGFuIGlucHV0IGZvcm0gZWx0DQoJCSRleHRyYSA9ICRmb3JtaW1h
Z2UgaWYgJGZvcm1pbWFnZTsNCgkJaWYgKCRuYW1lIGVxICdVcmwnICYmICRG
eyd1cmwnfSkgew0KCQkJbG9jYWwgKCRocmVmKSA9ICJodHRwOi8vJEVOVntT
RVJWRVJfTkFNRX0kRU5WeydTQ1JJUFRfTkFNRSd9P3VybD0iIC4gZW5jb2Rl
KCRGeyd1cmwnfSk7DQoJCQkkaHJlZiAuPSAmZ2V0T3B0aW9ucygpOw0KCQkJ
JGV4dHJhID0gIiRleHRyYSAoPGEgdGl0bGU9J0xpbmsgdG8gcmVwZWF0IHRo
aXMgYW5hbHlzaXMnIGhyZWY9JyRocmVmJz5wZXJtYWxpbms8L2E+KSI7DQoJ
CX0NCgkJcHJpbnQgIlxuXHQ8ZGl2IGNsYXNzPSdleHRyYSc+JGV4dHJhPC9k
aXY+XG4iIGlmICRleHRyYTsNCgkJcHJpbnQgIjwvdGQ+XG4iOw0KCQlwcmlu
dCAiPC90cj5cbiI7DQoJfSBlbHNlIHsNCgkJcHJpbnQgIiRuYW1lXG5cdCR2
YWx1ZVxuIjsNCgl9DQp9DQoNCnN1YiBjbGVhbiB7DQogCWxvY2FsICgkcykg
PSAoQF8pOw0KIAkkcyA9fiBzL15ccyovLzsgIyByZW1vdmUgbGVhZGluZyBz
cGFjZQ0KIAkkcyA9fiBzL1xzKiQvLzsgIyByZW1vdmUgdHJhaWxpbmcgc3Bh
Y2UNCiAJcmV0dXJuICRzOw0KfQ0KDQpzdWIgZ2V0TWV0YSB7ICMgZmluZCBt
ZXRhIHRhZyB3aXRoIHN1cHBsaWVkIGF0dHJpYnV0ZSBuYW1lDQogCWxvY2Fs
ICgkZG9jLCAkbmFtZSkgPSAoQF8pOw0KCSMgZmluZCBhIG1ldGEgdGFnIHdp
dGggdGhlIGRlc2lyZWQgbmFtZQ0KIAlpZiAoJGRvYyA9fiBtQCg8bWV0YVxi
W14+XSpcYm5hbWU9KCIkbmFtZSJ8JyRuYW1lJ3wkbmFtZVxiKS4qKUBzaSkg
eyAjIGF0dHItdmFyaWF0aW9ucw0KCQlsb2NhbCAoJHRhZykgPSAkMTsgICAg
ICAgICAgIyBtZXRhIHRhZyBub3QgdGVybWluYXRlZA0KCQkkdGFnID1+IHMv
Pi4qJC8+L3M7ICAgICAgICAgIyBnZXQgcmlkIG9mIHN0dWZmIGFmdGVyIHRo
aXMgbWV0YSB0YWcNCgkJIyAmc2hvd0l0KCdtZXRhJywgJDEpOw0KCQlyZXR1
cm4gJmNsZWFuKCAmZ2V0QXR0cigkdGFnLCAnY29udGVudCcpICk7ICAjIGdl
dCB0aGUgY29udGVudA0KIAl9DQoJaWYgKCRkb2MgPX4gbUAoPG1ldGFcYlte
PF0qXGJodHRwLWVxdWl2PSgiJG5hbWUifCckbmFtZSd8JG5hbWVcYikuKilA
c2kpIHsgI2F0dHItdmFyaWF0aW9ucw0KCQlsb2NhbCAoJHRhZykgPSAkMTsN
CgkJJHRhZyA9fiBzLz4uKiQvPi9zOw0KCQlsb2NhbCAoJGNvbnRlbnQpID0g
JmdldEF0dHIoJHRhZywgJ2NvbnRlbnQnKTsNCgkJcmV0dXJuICZjbGVhbigg
JGNvbnRlbnQgKTsgICMgZ2V0IHRoZSBjb250ZW50DQoJfQ0KIAlyZXR1cm4g
IiI7DQp9DQoNCnN1YiBnZXRUaXRsZSB7DQogCWxvY2FsICgkZG9jKSA9IChA
Xyk7DQogCWlmICgkZG9jID1+IG18PHRpdGxlW14+XSo+KFtePF0qKTwvdGl0
bGU+fGkpIHsNCiAJCXJldHVybiAmY2xlYW4oJDEpOw0KIAl9DQogCXJldHVy
biAiIjsNCn0NCg0Kc3ViIGVuY29kZSB7ICMgc3RyaW5nDQogICAgbG9jYWwg
KCRzdHIpID0gKEBfKTsNCgkkc3RyID1+IHMvKFteQS1aYS16MC05XSkvc3By
aW50ZigiJSUlMDJYIiwgb3JkKCQxKSkvc2VnOw0KCSRzdHIgPX4gcy8lMjAv
Ky9nOw0KCXJldHVybiAkc3RyOw0KfQ0KDQpzdWIgZXNjYXBlIHsgIyBzdHJp
bmcNCglsb2NhbCAoJHMpID0gKEBfKTsNCgkjICRzID1+IHMvJi8mYW1wOy9n
OyAjIGRvbid0IGRvIHRoaXMgb3Igc2dtbCBlbnRpdGllcyBhcmUgYnJva2Vu
DQoJJHMgPX4gcy8iLyZxdW90Oy9nOw0KCSRzID1+IHMvPC8mbHQ7L2c7DQoJ
JHMgPX4gcy88LyZndDsvZzsNCglyZXR1cm4gJHM7DQp9DQoNCnN1YiBnZXRD
b29raWUgeyAjIG5hbWUNCglsb2NhbCAoJGlkZW50LCAkZm9ybWF0KSA9IChA
Xyk7DQoJbG9jYWwgKCRjb29raWUpOw0KCWZvciAoc3BsaXQgKC9bO10gKi8s
ICRFTlZ7J0hUVFBfQ09PS0lFJ30pKSB7DQoJCWlmICgvXiRpZGVudD0oLiop
Lykgew0KCQkJJGNvb2tpZSA9ICQxOw0KCQkJJGNvb2tpZSA9fiBzLyUoW1xk
QS1GYS1mXVtcZEEtRmEtZl0pL3BhY2sgKCJDIiwgaGV4ICgkMSkpL2VnOyAj
IGRlY29kZQ0KCQkJIyBub3cgJGNvb2tpZSBsb29rcyBsaWtlIGE9eHh4JmI9
eXl5JmM9enp6DQoJCQlicmVhazsNCgkJfQ0KCX0NCglpZiAoJGZvcm1hdCkg
ew0KCQkkY29va2llID1+IHMvJi88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7L2c7DQoJfQ0KCXJldHVybiAkY29va2llOw0KfQ0KDQpzdWIg
Z2V0TmFtZVZhbHVlIHsgIyBuYW1lPXZhbHVlDQoJbG9jYWwgKCRwYWlyKSA9
IChAXyk7DQoJbG9jYWwgKCRuYW1lLCAkdmFsdWUpID0gc3BsaXQgKC89Lywg
JHBhaXIsIDIpOw0KICAgICR2YWx1ZSA9fiBzL1wrLyAvZzsNCiAgICAkdmFs
dWUgPX4gcy8lKFtcZEEtRmEtZl1bXGRBLUZhLWZdKS9wYWNrICgiQyIsIGhl
eCAoJDEpKS9lZzsNCglyZXR1cm4gKCRuYW1lLCAkdmFsdWUpOw0KfQ0KDQpz
dWIgZm9ybWRhdGEgeyAjIFtpZGVudF0gLT4gJUYNCglsb2NhbCAoJGlkZW50
KSA9IChAXyk7DQogICAgbG9jYWwgKCpmb3JtZGF0YSk7DQoJIyBmaXJzdCBw
cm9jZXNzIG9wdGlvbnMgc3RvcmVkIGluIGNvb2tpZQ0KCWxvY2FsICgkY29v
a2llKSA9IGdldENvb2tpZSgkaWRlbnQpOyAjIGxvb2tzIGxpa2UgYT14eHgm
Yj15eXkmYz16enoNCglsb2NhbCAoQGNvb2tpZSkgPSBzcGxpdCgvJi8sICRj
b29raWUpOw0KCWxvY2FsICgkbmFtZSwgJHZhbHVlLCAkcGFpcik7DQoJZm9y
ICRwYWlyIChAY29va2llKSB7DQogICAgICAgICgkbmFtZSwgJHZhbHVlKSA9
ICZnZXROYW1lVmFsdWUoJHBhaXIpOw0KCQkjIHByaW50ICI8cHJlPiRuYW1l
ID0gJHZhbHVlPC9wcmU+XG4iOw0KCQkkRnskbmFtZX0gPSAkdmFsdWU7DQoJ
fQ0KCSMgc2Vjb25kIGdldCB0aGUgb3B0aW9ucyBmcm9tIHRoZSBQT1NUIG9y
IEdFVA0KICAgIGlmICgkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICdQT1NU
Jykgew0KICAgICAgICByZWFkIChTVERJTiwgJEYsICRFTlZ7J0NPTlRFTlRf
TEVOR1RIJ30pOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRGID0gJEVOVnsn
UVVFUllfU1RSSU5HJ307DQogICAgfQ0KICAgIEBmb3JtZGF0YSA9IHNwbGl0
ICgvJi8sICRGKTsNCiAgICBmb3IgJHBhaXIgKEBmb3JtZGF0YSkgew0KICAg
ICAgICAoJG5hbWUsICR2YWx1ZSkgPSAmZ2V0TmFtZVZhbHVlKCRwYWlyKTsN
CiAgICAgICAgIyAkRnskbmFtZX0gLj0gIlxuIiBpZiAkRnskbmFtZX07ICMg
YWRkaXRpb25hbCB2YWx1ZXMgYXBwZW5kIHRvIHByZXZpb3VzDQogICAgICAg
ICMgJEZ7JG5hbWV9IC49ICR2YWx1ZTsNCiAgICAgICAgJEZ7JG5hbWV9ID0g
JHZhbHVlOyAjIGFkZGl0aW9uYWwgdmFsdWVzIG92ZXJyaWRlIHByZXZpb3Vz
DQogICAgfQ0KCSMgZmluYWxseSwgaGFuZGxlIGNsZWFyDQoJJEZ7J2NsZWFy
J30gJiYgY2xlYXJGb3JtKCk7DQogICAgcmV0dXJuICglRik7DQp9DQoNCnN1
YiBsb2dJdCB7ICMgZmlsZQ0KCWxvY2FsICgkbG9nZmlsZSkgPSAoQF8pOw0K
CWlmICgkbG9nZmlsZSkgew0KCQlsb2NhbCAoJHNlYywkbWluLCRob3VyLCRt
ZGF5LCRtb24sJHllYXIsJHdkYXksJHlkYXksJGlzZHN0KSA9IGxvY2FsdGlt
ZTsNCgkJbG9jYWwgKCR0aW1lc3RyaW5nKSA9IHNwcmludGYgKCIlMDJkLSUw
MmQtJTAyZCAlMDJkOiUwMmQ6JTAyZCIsDQoJCQkgICAgICAgICR5ZWFyKzE5
MDAsICRtb24rMSwgJG1kYXksICRob3VyLCAkbWluLCAkc2VjKTsNCgkJbG9j
YWwgKCRpcCkgPSAgJEVOVnsnUkVNT1RFX0FERFInfTsNCgkJbG9jYWwgKCR2
ZXJzaW9uKSA9ICdBJzsNCgkJaWYgKG9wZW4gKExPR0ZJTEUsICI+PiRsb2dm
aWxlIikpIHsNCgkJCXByaW50IExPR0ZJTEUgIiR2ZXJzaW9uICR0aW1lc3Ry
aW5nICRpcFxuIjsNCgkJCWNsb3NlIChMT0dGSUxFKTsNCgkJfQ0KCX0NCn0N
Cg0Kc3ViIGlzRW1wdHlBdHRyIHsNCglsb2NhbCAoJHZhbHVlKSA9IChAXyk7
DQoJcmV0dXJuICR2YWx1ZSBlcSAnIiInIHx8ICR2YWx1ZSBlcSAiJyciOw0K
fQ0K

---1463807999-886364135-1253645158=:15718--

From perlman@turing.acm.org Thu Sep 24 22:53:26 2009 -0400
Status: 
X-Status: 
X-Keywords:
Date: Thu, 24 Sep 2009 22:53:25 -0400 (EDT)
From: Gary PERLMAN <perlman@turing.acm.org>
To: Tanya Carpenter <tanya.carpenter@nowpublishers.com>
Subject: Re: Foundations and Trends in Human-Computer Interaction
In-Reply-To: <9021bbc17dcdb1a7765637c689d20afb@smtp.ymlp18.net>
Message-ID: <Pine.LNX.4.64.0909242250440.20853@turing.acm.org>
References: <9021bbc17dcdb1a7765637c689d20afb@smtp.ymlp18.net>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-1463807999-1152997298-1253847205=:20853"

---1463807999-1152997298-1253847205=:20853
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8BIT

Thanks. I have added volume 2 to the HCI Bibliography with links to your site.

I thought you should know that the citation you provide has the wrong pages
on issue 4 (http:/dx.doi.org/10.1561/1100000008). The pages are shown as 373-95,
but the actual pages are 281-373.

Pablo Cesar and Konstantinos Chorianopoulos (2009) "The Evolution of TV Systems, Content, and Users Toward Interactivity", 
Foundations and Trends® in HumanComputer Interaction: Vol. 2: No 4, pp 373-95.

Gary Perlman, Director, HCI Bibliography Project
mailto:director@hcibib.org  http://hcibib.org/

On Tue, 22 Sep 2009, Tanya Carpenter wrote:

> Dear Gary,
>
> I am pleased to announce that Foundations and Trends in Human-Computer Interaction (www.nowpublishers.com/hci) has published the following issue:
>
> Volume 2, Issue 4.
> The Evolution of TV Systems, Content, and Users Towards Interactivity.
> By Pablo Cesar (CWI) and Konstantinos Chorianopoulos (Ionian University).
> http://dx.doi.org/10.1561/1100000008.
>
> The link will take you to the article abstract. If your library has a subscription, you will be able to download the entire article.
> To purchase the book version of this issue, go to the secure Order Form:
> https://www.nowpublishers.com/bookorder.aspx?doi=1100000008&product=HCI
> You will pay the HCI member discount price of US$35 (plus shipping) by quoting the Promotion Code HCI11008.
>
> Best regards,
>
> Tanya Carpenter
> now publishers
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> If you no longer wish to receive FnTHCI alerts, you can unsubscribe here, with my apologies for the intrusion:
>
>
>
> _____________________________
> Unsubscribe: http://ymlp13.com/u.php?YMLPID=geueubegsgmsqhg
> Powered by  YourMailingListProvider
>
---1463807999-1152997298-1253847205=:20853--

