[26342] in Perl-Users-Digest
Perl-Users Digest, Issue: 8517 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Oct 12 14:06:19 2005
Date: Wed, 12 Oct 2005 11:05:04 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Wed, 12 Oct 2005 Volume: 10 Number: 8517
Today's topics:
Re: LWP and threads: anything to look out for? xhoster@gmail.com
regexp with sequences of Escape <SteffenNetz@freenet.de>
re: why the perl docs suck <darkon.tdo@gmail.com>
Win32::File::SetAttribute does not work <null@void.0>
Re: Win32::File::SetAttribute does not work <1usa@llenroc.ude.invalid>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 12 Oct 2005 17:01:50 GMT
From: xhoster@gmail.com
Subject: Re: LWP and threads: anything to look out for?
Message-Id: <20051012130150.976$fb@newsreader.com>
John Bokma <john@castleamber.com> wrote:
> xhoster@gmail.com wrote:
>
> > John Bokma <john@castleamber.com> wrote:
> >> I want to move from Parallell UserAgent to using threads.
> >
> > Why?
>
> Good question :-) I think that ParallellUA = UA + threading, and doesn't
> add anything, and since UA is more a core module, I prefer the latter.
I think ParallelUA = UA + nonblocking IO, rather than threading. Assuming
it is well implemented (I haven't used ParallelUA enough to know), I think
non-blocking IO is better than threads for this task.
> Also, with ParallellUA the documentation was a bit unclear to me.
OK, fair enough. Anything in particular you found unclear?
>
> >> (Another option might be forking since IIRC Windows does this using
> >> threads).
> >
> > Maybe forking is better. I prefer it over threading in most
> > circumstances. (It seems to be a theme this week). But it is hard to
> > tell without knowing more about what you are trying to do.
>
> I want to have n workers in parallell, each getting a request from a
> Queue, fetching the page, storing the result, and next.
Store the results on the filesystem or DB, or in Perl memory?
Is the queue dynamically added to (based on the results returned from
earlier tasks in the queue) or is it built in a start-up phase and then
only consumed from then on?
If the queue is dynamically added to, that argues for threads. If each
page-fetch takes less than 1/20 of a second or so (and there are tens of
thousands of them), that argues for threads, (althought I might instead
just batch them up into chunks of several page fetches) . Otherwise, I'd
go with forking with Parallel::ForkManager. (or ParallelUA :) ).
> Sleeping (not
> wasting CPU cycles) in between each fetch.
This part I'm not sure of. Why sleep rather than just fetch the next
item from the queue? Are you sleeping only in the case of an empty queue
(which of course only makes sense if the queue is dynamic)? Or to avoid
overloading the remote server(s) you are fetching from?
Xho
--
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service $9.95/Month 30GB
------------------------------
Date: Wed, 12 Oct 2005 18:39:35 +0200
From: Steffen Netz <SteffenNetz@freenet.de>
Subject: regexp with sequences of Escape
Message-Id: <20051012183935.00000df8@sund35>
--Multipart_Wed__12_Oct_2005_18_39_35_+0200_7Bb1tmQR61=fSx07
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi,
I'm searching for a solution for the following problem:
I have a string:
$s= "bla \foo\\foo1\\foo2\\\ bla2";
I want to get the replacement:
$r= "bla foo_foo1_foo2 bla2";
--Multipart_Wed__12_Oct_2005_18_39_35_+0200_7Bb1tmQR61=fSx07
Content-Type: application/octet-stream; name=orcad.pl
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=orcad.pl
IyEvc3cvb3BlbnNyYy9iaW4vcGVybAojdXNlIHdhcm5pbmdzIDsgCiN1c2Ugc3RyaWN0OyAKCiRi
YXNlX2lkZW50ID0gJ1x3W1x3X10rJzsKJGluZF9uYW1lID0gIiRiYXNlX2lkZW50XFwoXFxkK1xc
KSI7CiRpZGVudCA9ICAiJGJhc2VfaWRlbnR8JGluZF9uYW1lIjsKCiVmb3JtYWwgPSAoCgkgICBS
ID0+IFJlcywKCSAgIEMgPT4gQ2FwLAoJICAgTCA9PiBJbmQKKTsKb3BlbihJTiwiPCRBUkdWWzBd
Iikgb3IgZGllICJDb3VsZCdudCBmaW5kICRBUkdWWzBdICFcbiI7CndoaWxlKDxJTj4pIHsKIyAg
Y2hvbXAoJF8pOwogICRfID0gbWFrZV9jbGVhbigkXyk7CiAgaWYgKCAvXkNPTVBPTkVOVFxzK1te
IF0rLyAuLiAvQ09NUE9ORU5UXHMqOy8pIHsKICAgIHByaW50ICJDOiRfIiBpZiAoICRERUJVRykg
OwogIH0gZWxzaWYgKCAvXlxzKihbUkNMXSlcZCtccys6XHMrKCgkaWRlbnQpKykvIC4uIC9cKTsv
ICkgewogICAgJGMgPSAkMTsKICAgICR3ID0gJDI7CiAgICBpZiAoICAvXlxzKigkY1xkKylccys6
LyApewogICAgICAkY29tcCA9ICRjOwogICAgICAkYW56ID0gMDsKICAgICAgJG5hbWUgPSAkMTsK
ICAgICAgJHdlcnQgPSAkdzsKICAgICAgcHJpbnQgIlJMQyBhbno9JGFuelxuIjsKICAgIH0gZWxz
aWYgKCAvXHdbXHdfXStccyo9PlxzKihcd1tcd19dKykvICkgewogICAgICAkcG9ydFskYW56Kytd
ID0gJDE7CiAgICAgIHByaW50ICJSTEMgYW56PSRhbno6PDwkMT4+XG4iOwogICAgfSBlbHNlIHsK
ICAgICAgcHJpbnQgIlJMQyBhbno9JGFuejogJHBvcnRbMF06JHBvcnRbMV1cbiI7CiAgICAgIHBy
aW50X2luc3RhbmNlKCRuYW1lLCRjb21wLCRmb3JtYWx7JGNvbXB9LG1ha2Vfd2VydCgkd2VydCks
XEBwb3J0KTsKICAgIH0KICAgIG5leHQ7CiAgICB9CgogIH0KCmNsb3NlKElOKTsKCnN1YiBwcmlu
dF9pbnN0YW5jZSB7Cm15KCRuYW1lLCRjb21wLCRmb3JtYWwsJHdlcnQsJHBvcnRzKSA9IEBfOwpw
cmludCA8PEVPRgogICRuYW1lIDogJGNvbXAKICBnZW5lcmljIG1hcCAoCgkgICAgICAgJGZvcm1h
bCA8PSAkd2VydAoJICAgICAgICkKICBwb3J0IG1hcCAoCgkgICAgTjEgPD0gQCRwb3J0c1swXTsK
CSAgICBOMiA8PSBAJHBvcnRzWzFdOwopOwpFT0YKCn0KCnN1YiBtYWtlX2NsZWFuIHsKbXkoJG4p
ID0gICRfWzBdOwpwcmludCAkbiBpZiAoICRERUJVRyk7CiRuID1+IHMvXFwvIy9nOwokbiA9fiBz
LyMjL18vZzsKJG4gPX4gcy8jKFteI10rKSMvJDEvZzsKJG4gPX4gcy9cK1xzL19QTFVTIC9nOwok
biA9fiBzLy1ccy9fTUlOVVMgL2c7CiRuID1+IHMvXHNcKy9QTFVTXyAvZzsKJG4gPX4gcy9ccy0v
IE1JTlVTXy9nOwokbiA9fiBzIy8jXyNnOwokbiA9fiBzL1wuL18vZzsKJG4gPX4gcy8oJGlkZW50
KVxbKFteXV0rKVxdLyQxKCQyKS9nOwoKcHJpbnQgIlx0XHQtPiAkblxuIiBpZiAoICRERUJVRyk7
CgoKcmV0dXJuICRuOwp9CnN1YiBtYWtlX3dlcnQgewogIG15ICggJHcgKSA9ICRfWzBdOwogIHBy
aW50ICRfOwogIGlmICggQHcgPSAoJHcgPX4vKFxkKykoW15cZF0/KShcZCk/LykgKSB7CiAgICAk
bSA9ICQxOwogICAgJGUgPSAkMzsKICAgICR1ID0gJDI7CiAgICBpZiAoIGRlZmluZWQoJHUpICkg
IHsKICAgICAgJHUgPX4gcy9NL01lZ2EvOwogICAgICAkdSA9fiBzL2svS2lsby87CiAgICAgICR1
ID1+IHMvbi9OYW5vLzsKICAgICAgJHUgPX4gcy9ceGE0L01pa3JvLzsKICAgICAgJHUgPX4gcy9t
L01pbGxpLzsKICAgIH0KICAgICRzID0gJG0gLiAoIiRlIiBuZSAnJz8iLiRlIjonLjAnKSAuIChk
ZWZpbmVkKCR1KT8iICogJHUiOicnKTsKICAgIHJldHVybigkcyk7CiAgfQogIGVsc2UgewogICAg
cHJpbnQgIkVycm9yIGluIFdlcnQ6JHc6ICFcbiI7CiAgICByZXR1cm4oJHcpOwogIH0KCn0K
--Multipart_Wed__12_Oct_2005_18_39_35_+0200_7Bb1tmQR61=fSx07
Content-Type: application/octet-stream; name=test.vhd
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=test.vhd
CVxQMS41L1RBMFwgPT4gXEJUX1BJT1syXVwsIAoJXFZfQkFUK1wgOiBJTk9VVCBzdGRfbG9naWMK
CVxWX0JBVC1cIDogSU5PVVQgc3RkX2xvZ2ljCiAgICAgICAgXFAzLjEvU0lNTzAvU0RBXCA9PiBT
REEsIAogICAgICAgIFxQSU9bNF1cID0+IFxCVF9QSU9bNF1cLCAKICAgICAgICAgIExJQlJBUlkg
SUVFRTsgIC0tIFRlc3QgCgogICAgICAgIFVTRSBJRUVFLnN0ZF9sb2dpY18xMTY0LmFsbDsKRU5U
SVRZIExvZ2ljIElTIFBPUlQgKAoJUlNUIDogT1VUIHN0ZF9sb2dpYzsKCVRDSyA6IElOIHN0ZF9s
b2dpYzsKCVRESSA6IElOIHN0ZF9sb2dpYzsKCVRNUyA6IElOIHN0ZF9sb2dpYzsKCVRETyA6IE9V
VCBzdGRfbG9naWM7CglCVF9WQ0MgOiBJTiBzdGRfbG9naWM7CglWYmF0dF9tZXNzIDogT1VUIHN0
ZF9sb2dpYzsKCUFWQ0MgOiBJTiBzdGRfbG9naWM7CglBR05EIDogSU4gc3RkX2xvZ2ljOwoJRFZD
QyA6IElOIHN0ZF9sb2dpYzsKCURHTkQgOiBJTiBzdGRfbG9naWM7CglCVF9HTkQgOiBJTiBzdGRf
bG9naWM7CglCVF9TQ0sgOiBPVVQgc3RkX2xvZ2ljOwoJQlRfTU9TSSA6IE9VVCBzdGRfbG9naWM7
CglCVF9DU0IgOiBPVVQgc3RkX2xvZ2ljOwoJUlNUX0JUIDogT1VUIHN0ZF9sb2dpYzsKCUJUX01J
U08gOiBJTiBzdGRfbG9naWM7CglCVF9TSEROIDogSU4gc3RkX2xvZ2ljOwoJVl9iYXQgOiBJTk9V
VCBzdGRfbG9naWM7CglcVl9CQVQrXCA6IElOT1VUIHN0ZF9sb2dpYwopOyAKCglBVFRSSUJVVEUg
UkVDT05OVFlQRSBvZiBcVl9CQVQrXCA6IHNpZ25hbCBpcyAiU1REIjsKCkVORCBMb2dpYzsKCgoK
QVJDSElURUNUVVJFIFNUUlVDVFVSRSBPRiBMb2dpYyBJUwoKLS0gQ09NUE9ORU5UUwoKQ09NUE9O
RU5UIFwyNzBrXAoJUE9SVCAoCglcMVwgOiBJTk9VVCBzdGRfbG9naWM7CglcMlwgOiBJTk9VVCBz
dGRfbG9naWMKCSk7IEVORCBDT01QT05FTlQ7CgpDT01QT05FTlQgTUFYNDE5NAoJUE9SVCAoCglc
LUlOXCA6IElOIHN0ZF9sb2dpYzsKCVxPVVRcIDogT1VUIHN0ZF9sb2dpYzsKCVwrVkNDXCA6IElO
IHN0ZF9sb2dpYzsKCVwtVkNDXCA6IElOIHN0ZF9sb2dpYzsKCVJHIDogSU5PVVQgc3RkX2xvZ2lj
OwoJUk4gOiBJTk9VVCBzdGRfbG9naWM7CglcK0lOXCA6IElOIHN0ZF9sb2dpYzsKCVJFRiA6IElO
IHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBJUE1TX0lSSFNQCglQT1JU
ICgKCUQwIDogSU5PVVQgc3RkX2xvZ2ljOwoJRDEgOiBJTk9VVCBzdGRfbG9naWM7CglEMiA6IElO
T1VUIHN0ZF9sb2dpYzsKCUQzIDogSU5PVVQgc3RkX2xvZ2ljOwoJRDQgOiBJTk9VVCBzdGRfbG9n
aWM7CglBRDAgOiBJTiBzdGRfbG9naWM7CglENiA6IElOT1VUIHN0ZF9sb2dpYzsKCUQ1IDogSU5P
VVQgc3RkX2xvZ2ljOwoJVkREIDogSU4gc3RkX2xvZ2ljOwoJQUQxIDogSU4gc3RkX2xvZ2ljOwoJ
XElcXFJcXFJcXFhcXFwgOiBJTk9VVCBzdGRfbG9naWM7CglENyA6IElOT1VUIHN0ZF9sb2dpYzsK
CUlSVFggOiBPVVQgc3RkX2xvZ2ljOwoJQUQyIDogSU4gc3RkX2xvZ2ljOwoJQUQzIDogSU4gc3Rk
X2xvZ2ljOwoJQUQ0IDogSU4gc3RkX2xvZ2ljOwoJXENcXFNcXFwgOiBJTiBzdGRfbG9naWM7Cglc
V1xcUlxcXCA6IElOIHN0ZF9sb2dpYzsKCVxPXFxFXFxcIDogSU4gc3RkX2xvZ2ljOwoJXFJcXFNc
XFRcXFwgOiBJTiBzdGRfbG9naWM7CglDTEsgOiBJTiBzdGRfbG9naWM7CglWU1MgOiBJTiBzdGRf
bG9naWM7CglJUlNDTEsgOiBPVVQgc3RkX2xvZ2ljOwoJTkMgOiBJTk9VVCBzdGRfbG9naWM7Cglc
SVxcTlxcVFxcXCA6IE9VVCBzdGRfbG9naWMKCSk7IEVORCBDT01QT05FTlQ7CgpDT01QT05FTlQg
VEZEVTgxMDgKCVBPUlQgKAoJVHhkIDogSU4gc3RkX2xvZ2ljOwoJU0NMSyA6IElOIHN0ZF9sb2dp
YzsKCVZjYyA6IElOIHN0ZF9sb2dpYzsKCUdORCA6IElOIHN0ZF9sb2dpYzsKCVxSXFx4XFxkXFxc
IDogT1VUIHN0ZF9sb2dpYzsKCVZfbG9naWMgOiBJTiBzdGRfbG9naWM7CglJUkVEX0EgOiBJTiBz
dGRfbG9naWM7CglJUkVEX0sgOiBJTk9VVCBzdGRfbG9naWMKCSk7IEVORCBDT01QT05FTlQ7CgpD
T01QT05FTlQgTUFYNDU4NgoJUE9SVCAoCglTQ0wgOiBJTiBzdGRfbG9naWM7CglTREEgOiBJTiBz
dGRfbG9naWM7CglcVitcIDogSU4gc3RkX2xvZ2ljOwoJR05EIDogSU4gc3RkX2xvZ2ljOwoJTk8x
IDogSU5PVVQgc3RkX2xvZ2ljOwoJQ09NIDogSU5PVVQgc3RkX2xvZ2ljOwoJTk8yIDogSU5PVVQg
c3RkX2xvZ2ljOwoJTk8zIDogSU5PVVQgc3RkX2xvZ2ljOwoJTk80IDogSU5PVVQgc3RkX2xvZ2lj
OwoJQSA6IElOIHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBNU1A0MzBG
MTYxMQoJUE9SVCAoCglEVkNDIDogSU4gc3RkX2xvZ2ljOwoJXFA2LjMvQTNcIDogSU5PVVQgc3Rk
X2xvZ2ljOwoJXFA2LjQvQTRcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFA2LjUvQTVcIDogSU5PVVQg
c3RkX2xvZ2ljOwoJXFA2LjYvQTYvREFDMFwgOiBJTk9VVCBzdGRfbG9naWM7CglcUDYuNy9BNy9E
QUMxL1NWU0luXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxWUkVGK1wgOiBPVVQgc3RkX2xvZ2ljOwoJ
WElOIDogSU4gc3RkX2xvZ2ljOwoJWE9VVCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxWZVJFRitcIDog
SU5PVVQgc3RkX2xvZ2ljOwoJXFZSRUYtL1ZlUkVGLVwgOiBJTiBzdGRfbG9naWM7CglcUDEuMC9U
QUNMS1wgOiBJTk9VVCBzdGRfbG9naWM7CglcUDEuMS9UQTBcIDogSU5PVVQgc3RkX2xvZ2ljOwoJ
XFAxLjIvVEExXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQMS4zL1RBMlwgOiBJTk9VVCBzdGRfbG9n
aWM7CglcUDEuNC9TTUNMS1wgOiBJTk9VVCBzdGRfbG9naWM7CglcUDEuNS9UQTBcIDogSU5PVVQg
c3RkX2xvZ2ljOwoJXFAxLjYvVEExXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQMS43L1RBMlwgOiBJ
Tk9VVCBzdGRfbG9naWM7CglcUDIuMC9BQ0xLXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQMi4xL1RB
SU5DTEtcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFAyLjIvQ0FPVVQvVEEwXCA6IElOT1VUIHN0ZF9s
b2dpYzsKCVxQMi4zL0NBMC9UQTFcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFAyLjQvQ0ExL1RBMlwg
OiBJTk9VVCBzdGRfbG9naWM7CglcUDIuNS9Sb3NjXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQMi42
L0FEQzEyQ0xLL0RNQUUwXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQMi43L1RBMFwgOiBJTk9VVCBz
dGRfbG9naWM7CglcUDMuMC9TVEUwXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQMy4xL1NJTU8wL1NE
QVwgOiBJTk9VVCBzdGRfbG9naWM7CglcUDMuMi9TT01JMFwgOiBJTk9VVCBzdGRfbG9naWM7Cglc
UDMuMy9VQ0xLMC9TQ0xcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFAzLjQvVVRYRDBcIDogSU5PVVQg
c3RkX2xvZ2ljOwoJXFAzLjUvVVJYRDBcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFAzLjYvVVRYRDFc
IDogSU5PVVQgc3RkX2xvZ2ljOwoJXFAzLjcvVVJYRDFcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFA0
LjAvVEIwXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQNC4xL1RCMVwgOiBJTk9VVCBzdGRfbG9naWM7
CglcUDQuMi9UQjJcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFA0LjQvVEI0XCA6IElOT1VUIHN0ZF9s
b2dpYzsKCVxQNC41L1RCNVwgOiBJTk9VVCBzdGRfbG9naWM7CglcUDQuNi9UQjZcIDogSU5PVVQg
c3RkX2xvZ2ljOwoJXFA0LjcvVEJDTEtcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFA1LjAvU1RFMVwg
OiBJTk9VVCBzdGRfbG9naWM7CglcUDUuMS9TSU1PMVwgOiBJTk9VVCBzdGRfbG9naWM7CglcUDUu
Mi9TT01JMVwgOiBJTk9VVCBzdGRfbG9naWM7CglcUDUuMy9VTENLMVwgOiBJTk9VVCBzdGRfbG9n
aWM7CglcUDUuNC9NQ0xLXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQNC4zL1RCM1wgOiBJTk9VVCBz
dGRfbG9naWM7CglcUDUuNS9TTUNMS1wgOiBJTk9VVCBzdGRfbG9naWM7CglcUDUuNi9BQ0xLXCA6
IElOT1VUIHN0ZF9sb2dpYzsKCVxQNS43L1RCT3V0SC9TVlNPdXRcIDogSU5PVVQgc3RkX2xvZ2lj
OwoJWFQyT1VUIDogT1VUIHN0ZF9sb2dpYzsKCVhUMklOIDogSU4gc3RkX2xvZ2ljOwoJXFRETy9U
RElcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFRESS9UQ0xLXCA6IElOIHN0ZF9sb2dpYzsKCVRNUyA6
IElOIHN0ZF9sb2dpYzsKCVRDSyA6IElOIHN0ZF9sb2dpYzsKCVxSXFxTXFxUXFwvTk1JXCA6IElO
IHN0ZF9sb2dpYzsKCVxQNi4wL0EwXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVxQNi4xL0ExXCA6IElO
T1VUIHN0ZF9sb2dpYzsKCVxQNi4yL0EyXCA6IElOT1VUIHN0ZF9sb2dpYzsKCUFWU1MgOiBJTiBz
dGRfbG9naWM7CglEVlNTIDogSU4gc3RkX2xvZ2ljOwoJQVZDQyA6IElOIHN0ZF9sb2dpYwoJKTsg
RU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBTTjc0QUhDMUczMgoJUE9SVCAoCglCIDogSU4gc3Rk
X2xvZ2ljOwoJR05EIDogSU4gc3RkX2xvZ2ljOwoJQSA6IElOIHN0ZF9sb2dpYzsKCVkgOiBPVVQg
c3RkX2xvZ2ljOwoJVmNjIDogSU4gc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKQ09NUE9O
RU5UIFwxMG5cCglQT1JUICgKCVwxXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVwyXCA6IElOT1VUIHN0
ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBUUF8xMl9TTwoJUE9SVCAoCglU
UCA6IElOT1VUIHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBcMTB1XAoJ
UE9SVCAoCglQIDogSU5PVVQgc3RkX2xvZ2ljOwoJTiA6IElOT1VUIHN0ZF9sb2dpYwoJKTsgRU5E
IENPTVBPTkVOVDsKCkNPTVBPTkVOVCBMUFYzMjRNVAoJUE9SVCAoCglcK0lOX0FcIDogSU4gc3Rk
X2xvZ2ljOwoJXC1JTl9BXCA6IElOIHN0ZF9sb2dpYzsKCU9VVF9BIDogT1VUIHN0ZF9sb2dpYzsK
CVxWK1wgOiBJTiBzdGRfbG9naWM7CglcVi1cIDogSU4gc3RkX2xvZ2ljOwoJXCtJTl9CXCA6IElO
IHN0ZF9sb2dpYzsKCVwtSU5fQlwgOiBJTiBzdGRfbG9naWM7CglPVVRfQiA6IE9VVCBzdGRfbG9n
aWM7CglcK0lOX0NcIDogSU4gc3RkX2xvZ2ljOwoJXC1JTl9DXCA6IElOIHN0ZF9sb2dpYzsKCU9V
VF9DIDogT1VUIHN0ZF9sb2dpYzsKCVwrSU5fRFwgOiBJTiBzdGRfbG9naWM7CglcLUlOX0RcIDog
SU4gc3RkX2xvZ2ljOwoJT1VUX0QgOiBPVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoK
Q09NUE9ORU5UIEFENTI1NAoJUE9SVCAoCglBMSA6IElOIHN0ZF9sb2dpYzsKCVNEQSA6IElOIHN0
ZF9sb2dpYzsKCUFHTkQgOiBJTiBzdGRfbG9naWM7CglBMiA6IElOIHN0ZF9sb2dpYzsKCUIyIDog
SU4gc3RkX2xvZ2ljOwoJVzIgOiBJTiBzdGRfbG9naWM7CglTQ0wgOiBJTiBzdGRfbG9naWM7CglB
RDEgOiBJTiBzdGRfbG9naWM7CglBMyA6IElOIHN0ZF9sb2dpYzsKCUIzIDogSU4gc3RkX2xvZ2lj
OwoJVzMgOiBJTiBzdGRfbG9naWM7CglCMSA6IElOIHN0ZF9sb2dpYzsKCURWQ0MgOiBJTiBzdGRf
bG9naWM7CglER05EIDogSU4gc3RkX2xvZ2ljOwoJVzAgOiBJTiBzdGRfbG9naWM7CglCMCA6IElO
IHN0ZF9sb2dpYzsKCUEwIDogT1VUIHN0ZF9sb2dpYzsKCUFEMCA6IE9VVCBzdGRfbG9naWM7Cglc
L1dQXCA6IE9VVCBzdGRfbG9naWM7CglXMSA6IE9VVCBzdGRfbG9naWMKCSk7IEVORCBDT01QT05F
TlQ7CgpDT01QT05FTlQgXEExNDBDIDgsME1IeiA4NlNNWFwKCVBPUlQgKAoJXDFcIDogSU5PVVQg
c3RkX2xvZ2ljOwoJXDRcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXDJcIDogSU5PVVQgc3RkX2xvZ2lj
OwoJXDNcIDogSU5PVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKQ09NUE9ORU5UIE1v
ZHVsX0JsdWV0b290aF8yCglQT1JUICgKCUdORCA6IElOIHN0ZF9sb2dpYzsKCVxQSU9bOV1cIDog
T1VUIHN0ZF9sb2dpYzsKCVZERDIgOiBJTiBzdGRfbG9naWM7CglcUElPWzVdXCA6IElOT1VUIHN0
ZF9sb2dpYzsKCVxQSU9bMl1cIDogT1VUIHN0ZF9sb2dpYzsKCVxQSU9bM11cIDogSU4gc3RkX2xv
Z2ljOwoJU1BJX01JU08gOiBPVVQgc3RkX2xvZ2ljOwoJU1BJX0NTQiA6IElOIHN0ZF9sb2dpYzsK
CVNQSV9DTEsgOiBJTiBzdGRfbG9naWM7CglTUElfTU9TSSA6IElOIHN0ZF9sb2dpYzsKCVJFU0VU
IDogSU4gc3RkX2xvZ2ljOwoJVUFSVF9SWCA6IElOIHN0ZF9sb2dpYzsKCVVBUlRfVFggOiBPVVQg
c3RkX2xvZ2ljOwoJVUFSVF9DVFMgOiBJTiBzdGRfbG9naWM7CglVQVJUX1JUUyA6IE9VVCBzdGRf
bG9naWM7CglQQ01fQ0xLIDogT1VUIHN0ZF9sb2dpYzsKCVBDTV9TWU5DIDogT1VUIHN0ZF9sb2dp
YzsKCVBDTV9JTiA6IElOIHN0ZF9sb2dpYzsKCVBDTV9PVVQgOiBPVVQgc3RkX2xvZ2ljOwoJVkRE
MyA6IElOIHN0ZF9sb2dpYzsKCU5DIDogSU5PVVQgc3RkX2xvZ2ljOwoJXFBJT1s0XVwgOiBJTk9V
VCBzdGRfbG9naWM7CglcQUlPWzFdXCA6IElOIHN0ZF9sb2dpYzsKCVxBSU9bMF1cIDogSU4gc3Rk
X2xvZ2ljOwoJXFBJT1s2XVwgOiBJTk9VVCBzdGRfbG9naWM7CglcUElPWzhdXCA6IElOT1VUIHN0
ZF9sb2dpYzsKCVxQSU9bN11cIDogSU5PVVQgc3RkX2xvZ2ljOwoJVkREMSA6IElOIHN0ZF9sb2dp
YwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBcU3RpZnRsLTZcCglQT1JUICgKCVwxXCA6
IElOT1VUIHN0ZF9sb2dpYzsKCVwyXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVwzXCA6IElOT1VUIHN0
ZF9sb2dpYzsKCVw0XCA6IElOT1VUIHN0ZF9sb2dpYzsKCVw1XCA6IElOT1VUIHN0ZF9sb2dpYzsK
CVw2XCA6IElOT1VUIHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBCQVQ3
NTQKCVBPUlQgKAoJQSA6IElOT1VUIHN0ZF9sb2dpYzsKCUsgOiBJTk9VVCBzdGRfbG9naWMKCSk7
IEVORCBDT01QT05FTlQ7CgpDT01QT05FTlQgXFNELUNvbm5lY3RvclwKCVBPUlQgKAoJQ1MgOiBJ
TiBzdGRfbG9naWM7CglESSA6IElOIHN0ZF9sb2dpYzsKCVZTUzEgOiBJTiBzdGRfbG9naWM7CglW
REQgOiBJTiBzdGRfbG9naWM7CglTQ0xLIDogSU4gc3RkX2xvZ2ljOwoJVlNTMiA6IElOIHN0ZF9s
b2dpYzsKCURPIDogT1VUIHN0ZF9sb2dpYzsKCUlSUSA6IE9VVCBzdGRfbG9naWM7CglOQyA6IElO
T1VUIHN0ZF9sb2dpYzsKCUdORCA6IElOT1VUIHN0ZF9sb2dpYzsKCUNhcmREZXRlY3QgOiBJTk9V
VCBzdGRfbG9naWM7CglXcl9Qcm90ZWN0IDogSU5PVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9O
RU5UOwoKQ09NUE9ORU5UIFRMNzcyNgoJUE9SVCAoCglDMiA6IElOIHN0ZF9sb2dpYzsKCUdORCA6
IElOIHN0ZF9sb2dpYzsKCUMxIDogSU4gc3RkX2xvZ2ljOwoJQzYgOiBPVVQgc3RkX2xvZ2ljOwoJ
VmNjIDogSU4gc3RkX2xvZ2ljOwoJQzMgOiBJTk9VVCBzdGRfbG9naWM7CglDNSA6IElOT1VUIHN0
ZF9sb2dpYzsKCUM0IDogSU5PVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKLS0gU0lH
TkFMUwoKU0lHTkFMIE4xNjg3MDY2IDogc3RkX2xvZ2ljOwpTSUdOQUwgU0RfSVJRIDogc3RkX2xv
Z2ljOwpTSUdOQUwgSVJfRDcgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9BRDIgOiBzdGRfbG9naWM7
ClNJR05BTCBJUl9EMiA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xOTY3OTg4IDogc3RkX2xvZ2ljOwpT
SUdOQUwgU0NMIDogc3RkX2xvZ2ljOwpTSUdOQUwgU0RfTU9TSSA6IHN0ZF9sb2dpYzsKU0lHTkFM
IElSX0NMSyA6IHN0ZF9sb2dpYzsKU0lHTkFMIElSX0QzIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE2
ODY5NjYgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9EMCA6IHN0ZF9sb2dpYzsKU0lHTkFMIFZSRUZf
UCA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg2NzI0IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE2ODcx
ODQgOiBzdGRfbG9naWM7ClNJR05BTCBUU1RfRlEgOiBzdGRfbG9naWM7ClNJR05BTCBOMTY4Njc0
MCA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg2NzAyIDogc3RkX2xvZ2ljOwpTSUdOQUwgXC9XUFwg
OiBzdGRfbG9naWM7ClNJR05BTCBOMTk1NjE1OCA6IHN0ZF9sb2dpYzsKU0lHTkFMIElSX0FEMSA6
IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg2OTAyIDogc3RkX2xvZ2ljOwpTSUdOQUwgSVJfRDEgOiBz
dGRfbG9naWM7ClNJR05BTCBOMTY4NjcwNiA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg2OTk0IDog
c3RkX2xvZ2ljOwpTSUdOQUwgTjE2ODY4OTggOiBzdGRfbG9naWM7ClNJR05BTCBJUl9XUiA6IHN0
ZF9sb2dpYzsKU0lHTkFMIElSX0NTIDogc3RkX2xvZ2ljOwpTSUdOQUwgUlNUX0JUMSA6IHN0ZF9s
b2dpYzsKU0lHTkFMIE4xOTA0NTQ2IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjIwNzQ2MjQgOiBzdGRf
bG9naWM7ClNJR05BTCBOMjA3NDQ5OCA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4yMDc0NTQwIDogc3Rk
X2xvZ2ljOwpTSUdOQUwgTjIwNzQ1ODIgOiBzdGRfbG9naWM7ClNJR05BTCBOMTY4NzM3NCA6IHN0
ZF9sb2dpYzsKU0lHTkFMIEJUX1JYRCA6IHN0ZF9sb2dpYzsKU0lHTkFMIFxCVF9QSU9bNF1cIDog
c3RkX2xvZ2ljOwpTSUdOQUwgXEJUX1BJT1syXVwgOiBzdGRfbG9naWM7ClNJR05BTCBCVF9UWEQg
OiBzdGRfbG9naWM7ClNJR05BTCBcQlRfUElPWzNdXCA6IHN0ZF9sb2dpYzsKU0lHTkFMIEJUX1JU
UyA6IHN0ZF9sb2dpYzsKU0lHTkFMIEJUX0NUUyA6IHN0ZF9sb2dpYzsKU0lHTkFMIEJUX1JTVCA6
IHN0ZF9sb2dpYzsKU0lHTkFMIE4xOTY1NDgxIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE2ODY4Mzgg
OiBzdGRfbG9naWM7ClNJR05BTCBSRUZfQ0gzIDogc3RkX2xvZ2ljOwpTSUdOQUwgVl9BTkFMT0df
UkVGIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE2ODY3MDQgOiBzdGRfbG9naWM7ClNJR05BTCBUU1Rf
TUVTUyA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg3MzM0IDogc3RkX2xvZ2ljOwpTSUdOQUwgUkVG
X0NIMSA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg3MDU4IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE5
NDYxNzggOiBzdGRfbG9naWM7ClNJR05BTCBSRUZfQ0gyIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE5
MTk0MTMgOiBzdGRfbG9naWM7ClNJR05BTCBOMTY4NjkyOCA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4x
Njg2OTIyIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE5MTk0MTYgOiBzdGRfbG9naWM7ClNJR05BTCBO
MTkwMTI2MSA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg2NzA4IDogc3RkX2xvZ2ljOwpTSUdOQUwg
TjE2ODY3MTggOiBzdGRfbG9naWM7ClNJR05BTCBOMTY4NzAyNCA6IHN0ZF9sb2dpYzsKU0lHTkFM
IE4xNzQ5ODMwMSA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNzQ5Njc0MSA6IHN0ZF9sb2dpYzsKU0lH
TkFMIE4xNzUwMTMyMSA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNzQ5MjQ5MSA6IHN0ZF9sb2dpYzsK
U0lHTkFMIE4xNzUwMjg2MSA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNzQ5MDU5MSA6IHN0ZF9sb2dp
YzsKU0lHTkFMIE4xNjg2OTQ2IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE2ODY3MzIgOiBzdGRfbG9n
aWM7ClNJR05BTCBOMTk2MzU5MCA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xOTYzNzM2IDogc3RkX2xv
Z2ljOwpTSUdOQUwgTjE5NjUzNDYgOiBzdGRfbG9naWM7ClNJR05BTCBOMTk2NDk5MSA6IHN0ZF9s
b2dpYzsKU0lHTkFMIE4xNjg3MDI2IDogc3RkX2xvZ2ljOwpTSUdOQUwgSVJfVFggOiBzdGRfbG9n
aWM7ClNJR05BTCBJUkVEX0sgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9TQ0xLIDogc3RkX2xvZ2lj
OwpTSUdOQUwgSVJfUlggOiBzdGRfbG9naWM7ClNJR05BTCBOMTk3MjkxMCA6IHN0ZF9sb2dpYzsK
U0lHTkFMIE4xOTIxMDY0IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE5MjExMzAwIDogc3RkX2xvZ2lj
OwpTSUdOQUwgUkVGX0NINCA6IHN0ZF9sb2dpYzsKU0lHTkFMIElSX0FEMyA6IHN0ZF9sb2dpYzsK
U0lHTkFMIElSX0FEMCA6IHN0ZF9sb2dpYzsKU0lHTkFMIElSX0Q2IDogc3RkX2xvZ2ljOwpTSUdO
QUwgTjE5NzQ0MTUgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9SU1QgOiBzdGRfbG9naWM7ClNJR05B
TCBTREEgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9ENSA6IHN0ZF9sb2dpYzsKU0lHTkFMIElSX0FE
NCA6IHN0ZF9sb2dpYzsKU0lHTkFMIFNEX1NDSyA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg2NzIy
IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE5MTUwMzMgOiBzdGRfbG9naWM7ClNJR05BTCBOMTk0MTM3
MSA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg3NjU2IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE5NzQz
NTEgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9JTlQgOiBzdGRfbG9naWM7ClNJR05BTCBJUl9PRSA6
IHN0ZF9sb2dpYzsKU0lHTkFMIFNEX0NTIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjE4OTU0MzggOiBz
dGRfbG9naWM7ClNJR05BTCBOMTk1Nzc2NCA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xNjg3MjQwIDog
c3RkX2xvZ2ljOwpTSUdOQUwgTjE5NjA1NTQgOiBzdGRfbG9naWM7ClNJR05BTCBTRF9NSVNPIDog
c3RkX2xvZ2ljOwpTSUdOQUwgSVJfRDQgOiBzdGRfbG9naWM7ClNJR05BTCBBTkFMT0dfU0lHTkFM
IDogc3RkX2xvZ2ljX3ZlY3RvcigxIFRPIDQpOwpTSUdOQUwgRUxFS1RST0RFIDogc3RkX2xvZ2lj
X3ZlY3RvcigxIFRPIDUpOwoKLS0gR0FURSBJTlNUQU5DRVMKCkJFR0lOCkFWQ0M8PU4xNjg3MzM0
OwpCVF9TSEROPD1OMTk2NTQ4MTsKVERPPD1OMTY4NzM3NDsKVkJBVFRfTUVTUzw9TjE2ODY4Mzg7
ClIyNSA6IFwyNzBrXAlQT1JUIE1BUCgKCVwxXCA9PiBOMjA3NDYyNCwgCglcMlwgPT4gRUxFS1RS
T0RFKDUpCik7ClUxMyA6IE1BWDQxOTQJUE9SVCBNQVAoCglcLUlOXCA9PiBWX0FOQUxPR19SRUYs
IAoJXE9VVFwgPT4gVFNUX01FU1MsIAoJXCtWQ0NcID0+IE4xNjg3MzM0LCAKCVwtVkNDXCA9PiBB
R05ELCAKCVJHID0+IE4xOTE5NDEzLCAKCVJOID0+IE4xOTE5NDE2LCAKCVwrSU5cID0+IEVMRUtU
Uk9ERSg0KSwgCglSRUYgPT4gVl9BTkFMT0dfUkVGCik7ClIyNiA6IFwxMGtcCVBPUlQgTUFQKAoJ
XDFcID0+IEVMRUtUUk9ERSgzKSwgCglcMlwgPT4gTjE3NDkwNTkxCik7ClUxNCA6IElQTVNfSVJI
U1AJUE9SVCBNQVAoCglEMCA9PiBJUl9EMCwgCglEMSA9PiBJUl9EMSwgCglEMiA9PiBJUl9EMiwg
CglEMyA9PiBJUl9EMywgCglENCA9PiBJUl9ENCwgCglBRDAgPT4gSVJfQUQwLCAKCUQ2ID0+IElS
X0Q2LCAKCUQ1ID0+IElSX0Q1LCAKCVZERCA9PiBEVkNDLCAKCUFEMSA9PiBJUl9BRDEsIAoJXElc
XFJcXFJcXFhcXFwgPT4gSVJfUlgsIAoJRDcgPT4gSVJfRDcsIAoJSVJUWCA9PiBJUl9UWCwgCglB
RDIgPT4gSVJfQUQyLCAKCUFEMyA9PiBJUl9BRDMsIAoJQUQ0ID0+IElSX0FENCwgCglcQ1xcU1xc
XCA9PiBJUl9DUywgCglcV1xcUlxcXCA9PiBJUl9XUiwgCglcT1xcRVxcXCA9PiBJUl9PRSwgCglc
UlxcU1xcVFxcXCA9PiBJUl9SU1QsIAoJQ0xLID0+IElSX0NMSywgCglWU1MgPT4gREdORCwgCglJ
UlNDTEsgPT4gSVJfU0NMSywgCglOQyA9PiBPUEVOLCAKCVxJXFxOXFxUXFxcID0+IElSX0lOVAop
OwpVMTUgOiBURkRVODEwOAlQT1JUIE1BUCgKCVR4ZCA9PiBJUl9UWCwgCglTQ0xLID0+IElSX1ND
TEssIAoJVmNjID0+IERWQ0MsIAoJR05EID0+IERHTkQsIAoJXFJcXHhcXGRcXFwgPT4gSVJfUlgs
IAoJVl9sb2dpYyA9PiBEVkNDLCAKCUlSRURfQSA9PiBEVkNDLCAKCUlSRURfSyA9PiBJUkVEX0sK
KTsKUjI3IDogXDFNMlwJUE9SVCBNQVAoCglcMVwgPT4gTjE5MDEyNjEsIAoJXDJcID0+IE4xNjg3
MDI2Cik7ClUxNiA6IE1BWDQ1ODYJUE9SVCBNQVAoCglTQ0wgPT4gU0NMLCAKCVNEQSA9PiBTREEs
IAoJXFYrXCA9PiBEVkNDLCAKCUdORCA9PiBER05ELCAKCU5PMSA9PiBOMTk2MzU5MCwgCglDT00g
PT4gTjE5NjA1NTQsIAoJTk8yID0+IE4xOTYzNzM2LCAKCU5PMyA9PiBOMTk2NDk5MSwgCglOTzQg
PT4gTjE5NjUzNDYsIAoJQSA9PiBER05ECik7ClIyOCA6IFwxTTJcCVBPUlQgTUFQKAoJXDFcID0+
IE4xNjg3MDI2LCAKCVwyXCA9PiBOMTg5NTQzOAopOwpVMTcgOiBNU1A0MzBGMTYxMQlQT1JUIE1B
UCgKCURWQ0MgPT4gRFZDQywgCglcUDYuMy9BM1wgPT4gQU5BTE9HX1NJR05BTCgzKSwgCglcUDYu
NC9BNFwgPT4gQU5BTE9HX1NJR05BTCg0KSwgCglcUDYuNS9BNVwgPT4gXC9XUFwsIAoJXFA2LjYv
QTYvREFDMFwgPT4gVFNUX0ZRLCAKCVxQNi43L0E3L0RBQzEvU1ZTSW5cID0+IFZfQU5BTE9HX1JF
RiwgCglcVlJFRitcID0+IFZSRUZfUCwgCglYSU4gPT4gTjE2ODcyNDAsIAoJWE9VVCA9PiBOMTY4
NzE4NCwgCglcVmVSRUYrXCA9PiBOMTY4NzMzNCwgCglcVlJFRi0vVmVSRUYtXCA9PiBBR05ELCAK
CVxQMS4wL1RBQ0xLXCA9PiBTRF9JUlEsIAoJXFAxLjEvVEEwXCA9PiBJUl9JTlQsIAoJXFAxLjIv
VEExXCA9PiBJUl9BRDQsIAoJXFAxLjMvVEEyXCA9PiBJUl9SU1QsIAoJXFAxLjQvU01DTEtcID0+
IE4xOTY3OTg4LCAKCVxQMS41L1RBMFwgPT4gXEJUX1BJT1syXVwsIAoJXFAxLjYvVEExXCA9PiBc
QlRfUElPWzNdXCwgCglcUDEuNy9UQTJcID0+IFxCVF9QSU9bNF1cLCAKCVxQMi4wL0FDTEtcID0+
IElSX0QwLCAKCVxQMi4xL1RBSU5DTEtcID0+IElSX0QxLCAKCVxQMi4yL0NBT1VUL1RBMFwgPT4g
SVJfRDIsIAoJXFAyLjMvQ0EwL1RBMVwgPT4gSVJfRDMsIAoJXFAyLjQvQ0ExL1RBMlwgPT4gSVJf
RDQsIAoJXFAyLjUvUm9zY1wgPT4gSVJfRDUsIAoJXFAyLjYvQURDMTJDTEsvRE1BRTBcID0+IElS
X0Q2LCAKCVxQMi43L1RBMFwgPT4gSVJfRDcsIAoJXFAzLjAvU1RFMFwgPT4gTjE5NjU0ODEsIAoJ
XFAzLjEvU0lNTzAvU0RBXCA9PiBTREEsIAoJXFAzLjIvU09NSTBcID0+IFJTVF9CVDEsIAoJXFAz
LjMvVUNMSzAvU0NMXCA9PiBTQ0wsIAoJXFAzLjQvVVRYRDBcID0+IEJUX1RYRCwgCglcUDMuNS9V
UlhEMFwgPT4gQlRfUlhELCAKCVxQMy42L1VUWEQxXCA9PiBCVF9SVFMsIAoJXFAzLjcvVVJYRDFc
ID0+IEJUX0NUUywgCglcUDQuMC9UQjBcID0+IE4xOTQxMzcxLCAKCVxQNC4xL1RCMVwgPT4gTjE5
NTc3NjQsIAoJXFA0LjIvVEIyXCA9PiBOMTkxNTAzMywgCglcUDQuNC9UQjRcID0+IElSX0FEMCwg
CglcUDQuNS9UQjVcID0+IElSX0FEMSwgCglcUDQuNi9UQjZcID0+IElSX0FEMiwgCglcUDQuNy9U
QkNMS1wgPT4gSVJfQUQzLCAKCVxQNS4wL1NURTFcID0+IFNEX0NTLCAKCVxQNS4xL1NJTU8xXCA9
PiBTRF9NSVNPLCAKCVxQNS4yL1NPTUkxXCA9PiBTRF9NT1NJLCAKCVxQNS4zL1VMQ0sxXCA9PiBT
RF9TQ0ssIAoJXFA1LjQvTUNMS1wgPT4gSVJfQ0xLLCAKCVxQNC4zL1RCM1wgPT4gTjE5NTYxNTgs
IAoJXFA1LjUvU01DTEtcID0+IElSX0NTLCAKCVxQNS42L0FDTEtcID0+IElSX1dSLCAKCVxQNS43
L1RCT3V0SC9TVlNPdXRcID0+IElSX09FLCAKCVhUMk9VVCA9PiBOMTY4NjcyMiwgCglYVDJJTiA9
PiBOMTY4NjcyNCwgCglcVERPL1RESVwgPT4gTjE2ODczNzQsIAoJXFRESS9UQ0xLXCA9PiBUREks
IAoJVE1TID0+IFRNUywgCglUQ0sgPT4gVENLLCAKCVxSXFxTXFxUXFwvTk1JXCA9PiBSU1QsIAoJ
XFA2LjAvQTBcID0+IE4xNjg2ODM4LCAKCVxQNi4xL0ExXCA9PiBBTkFMT0dfU0lHTkFMKDEpLCAK
CVxQNi4yL0EyXCA9PiBBTkFMT0dfU0lHTkFMKDIpLCAKCUFWU1MgPT4gQUdORCwgCglEVlNTID0+
IERHTkQsIAoJQVZDQyA9PiBOMTY4NzY1NgopOwpSMjkgOiBcMTBrXAlQT1JUIE1BUCgKCVwxXCA9
PiBFTEVLVFJPREUoNSksIAoJXDJcID0+IE4xNzQ5MjQ5MQopOwpVMTggOiBTTjc0QUhDMUczMglQ
T1JUIE1BUCgKCUIgPT4gUlNUX0JULCAKCUdORCA9PiBER05ELCAKCUEgPT4gUlNUX0JUMSwgCglZ
ID0+IEJUX1JTVCwgCglWY2MgPT4gRFZDQwopOwpDMjAgOiBcMTBuXAlQT1JUIE1BUCgKCVwxXCA9
PiBOMTk3MjkxMCwgCglcMlwgPT4gVl9BTkFMT0dfUkVGCik7CkMyMSA6IFwxMDBuXAlQT1JUIE1B
UCgKCVwxXCA9PiBEVkNDLCAKCVwyXCA9PiBER05ECik7CkMyMiA6IFwxMDBuXAlQT1JUIE1BUCgK
CVwxXCA9PiBER05ELCAKCVwyXCA9PiBEVkNDCik7CkMyMyA6IFwxMDBuXAlQT1JUIE1BUCgKCVwx
XCA9PiBEVkNDLCAKCVwyXCA9PiBER05ECik7ClRQMTAgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQ
ID0+IEFOQUxPR19TSUdOQUwoNCkKKTsKQzI0IDogXDEwdVwJUE9SVCBNQVAoCglQID0+IE4xNjg3
NjU2LCAKCU4gPT4gQUdORAopOwpUUDExIDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9PiBFTEVL
VFJPREUoNCkKKTsKQzI1IDogXDEwMG5cCVBPUlQgTUFQKAoJXDFcID0+IERWQ0MsIAoJXDJcID0+
IERHTkQKKTsKQzI2IDogXDEwMG5cCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg3NjU2LCAKCVwyXCA9
PiBBR05ECik7ClRQMTIgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IE4xOTY1NDgxCik7ClIz
MCA6IFwyNzBrXAlQT1JUIE1BUCgKCVwxXCA9PiBOMTkwNDU0NiwgCglcMlwgPT4gRUxFS1RST0RF
KDQpCik7ClIzMSA6IFwxTTJcCVBPUlQgTUFQKAoJXDFcID0+IEFOQUxPR19TSUdOQUwoMyksIAoJ
XDJcID0+IE4xNjg3MDY2Cik7ClRQMTMgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFZfQU5B
TE9HX1JFRgopOwpDMjcgOiBcMjIwcFwJUE9SVCBNQVAoCglcMVwgPT4gRUxFS1RST0RFKDEpLCAK
CVwyXCA9PiBOMTk2MzU5MAopOwpVNCA6IE1BWDQxOTQJUE9SVCBNQVAoCglcLUlOXCA9PiBOMTc1
MDI4NjEsIAoJXE9VVFwgPT4gTjE2ODY3MDgsIAoJXCtWQ0NcID0+IE4xNjg3MzM0LCAKCVwtVkND
XCA9PiBBR05ELCAKCVJHID0+IE4xNjg2NzE4LCAKCVJOID0+IE4xNjg2NzA0LCAKCVwrSU5cID0+
IE4xNzUwMTMyMSwgCglSRUYgPT4gUkVGX0NIMQopOwpUUDE0IDogVFBfMTJfU08JUE9SVCBNQVAo
CglUUCA9PiBFTEVLVFJPREUoNSkKKTsKUjMyIDogXDM5a1wJUE9SVCBNQVAoCglcMVwgPT4gTjE5
MTk0MTMsIAoJXDJcID0+IE4xOTE5NDE2Cik7CkMyOCA6IFwyMnBcCVBPUlQgTUFQKAoJXDFcID0+
IE4xNjg2NzIyLCAKCVwyXCA9PiBER05ECik7ClU1IDogTFBWMzI0TVQJUE9SVCBNQVAoCglcK0lO
X0FcID0+IE4xNjg2NzA2LCAKCVwtSU5fQVwgPT4gTjE2ODY3MDIsIAoJT1VUX0EgPT4gTjE2ODY3
MDIsIAoJXFYrXCA9PiBOMTY4NzMzNCwgCglcVi1cID0+IEFHTkQsIAoJXCtJTl9CXCA9PiBOMTY4
NjcwMiwgCglcLUlOX0JcID0+IE4xNjg2NzQwLCAKCU9VVF9CID0+IEFOQUxPR19TSUdOQUwoMSks
IAoJXCtJTl9DXCA9PiBOMTY4NjkwMiwgCglcLUlOX0NcID0+IE4xNjg2ODk4LCAKCU9VVF9DID0+
IE4xNjg2ODk4LCAKCVwrSU5fRFwgPT4gTjE2ODY4OTgsIAoJXC1JTl9EXCA9PiBOMTY4Njk2Niwg
CglPVVRfRCA9PiBBTkFMT0dfU0lHTkFMKDIpCik7ClRQMTUgOiBUUF8xMl9TTwlQT1JUIE1BUCgK
CVRQID0+IE4xNjg2ODM4Cik7CkMyOSA6IFwyMnBcCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg2NzI0
LCAKCVwyXCA9PiBER05ECik7ClU2IDogQUQ1MjU0CVBPUlQgTUFQKAoJQTEgPT4gTjE2ODY5NjYs
IAoJU0RBID0+IFNEQSwgCglBR05EID0+IEFHTkQsIAoJQTIgPT4gTjE2ODcwNjYsIAoJQjIgPT4g
QUdORCwgCglXMiA9PiBOMTY4NzA2NiwgCglTQ0wgPT4gU0NMLCAKCUFEMSA9PiBEVkNDLCAKCUEz
ID0+IERHTkQsIAoJQjMgPT4gREdORCwgCglXMyA9PiBER05ELCAKCUIxID0+IEFHTkQsIAoJRFZD
QyA9PiBEVkNDLCAKCURHTkQgPT4gREdORCwgCglXMCA9PiBOMTY4Njc0MCwgCglCMCA9PiBBR05E
LCAKCUEwID0+IE4xNjg2NzQwLCAKCUFEMCA9PiBER05ELCAKCVwvV1BcID0+IFwvV1BcLCAKCVcx
ID0+IE4xNjg2OTY2Cik7ClIzMyA6IFw1NjBrXAlQT1JUIE1BUCgKCVwxXCA9PiBWX0FOQUxPR19S
RUYsIAoJXDJcID0+IEVMRUtUUk9ERSg0KQopOwpVNyA6IE1BWDQxOTQJUE9SVCBNQVAoCglcLUlO
XCA9PiBOMTc0OTgzMDEsIAoJXE9VVFwgPT4gTjE5NDYxNzgsIAoJXCtWQ0NcID0+IE4xNjg3MzM0
LCAKCVwtVkNDXCA9PiBBR05ELCAKCVJHID0+IE4xNjg2OTI4LCAKCVJOID0+IE4xNjg2OTIyLCAK
CVwrSU5cID0+IE4xNzQ5Njc0MSwgCglSRUYgPT4gUkVGX0NIMgopOwpUUDE2IDogVFBfMTJfU08J
UE9SVCBNQVAoCglUUCA9PiBWUkVGX1AKKTsKUjM0IDogXDEwMGtcCVBPUlQgTUFQKAoJXDFcID0+
IE4xOTcyOTEwLCAKCVwyXCA9PiBOMTk3NDQxNQopOwpSMzUgOiBcNC43a1wJUE9SVCBNQVAoCglc
MVwgPT4gVl9BTkFMT0dfUkVGLCAKCVwyXCA9PiBOMTkyMTA2NAopOwpUUDE3IDogVFBfMTJfU08J
UE9SVCBNQVAoCglUUCA9PiBSRUZfQ0gxCik7ClRQMSA6IFRQXzEyX1NPCVBPUlQgTUFQKAoJVFAg
PT4gQU5BTE9HX1NJR05BTCgxKQopOwpUUDIgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IEVM
RUtUUk9ERSgxKQopOwpVOSA6IE1BWDQxOTQJUE9SVCBNQVAoCglcLUlOXCA9PiBOMTc0OTI0OTEs
IAoJXE9VVFwgPT4gTjE5MDEyNjEsIAoJXCtWQ0NcID0+IE4xNjg3MzM0LCAKCVwtVkNDXCA9PiBB
R05ELCAKCVJHID0+IE4xNjg3MDI0LCAKCVJOID0+IE4xNjg3MDU4LCAKCVwrSU5cID0+IE4xNzQ5
MDU5MSwgCglSRUYgPT4gUkVGX0NIMwopOwpUUDE4IDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9
PiBEVkNDCik7ClIzNiA6IFwxTVwJUE9SVCBNQVAoCglcMVwgPT4gVl9BTkFMT0dfUkVGLCAKCVwy
XCA9PiBOMTk3NDQxNQopOwpUUDE5IDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9PiBSRUZfQ0gy
Cik7ClIzNyA6IFwxMDBrXAlQT1JUIE1BUCgKCVwxXCA9PiBOMTk3NDM1MSwgCglcMlwgPT4gUkVG
X0NINAopOwpUUDMgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFxCVF9QSU9bMl1cCik7ClRQ
NCA6IFRQXzEyX1NPCVBPUlQgTUFQKAoJVFAgPT4gQU5BTE9HX1NJR05BTCgyKQopOwpSMzggOiBc
MU1cCVBPUlQgTUFQKAoJXDFcID0+IE4xOTc0MzUxLCAKCVwyXCA9PiBBTkFMT0dfU0lHTkFMKDQp
Cik7ClI5IDogXDE1a1wJUE9SVCBNQVAoCglcMVwgPT4gTjE2ODY3MTgsIAoJXDJcID0+IE4xNjg2
NzA0Cik7ClIzOSA6IFwyMlJcCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg3MzM0LCAKCVwyXCA9PiBO
MTY4NzY1NgopOwpUUDUgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IEVMRUtUUk9ERSgyKQop
OwpUUDYgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFxCVF9QSU9bM11cCik7ClRQNyA6IFRQ
XzEyX1NPCVBPUlQgTUFQKAoJVFAgPT4gQU5BTE9HX1NJR05BTCgzKQopOwpUUDggOiBUUF8xMl9T
TwlQT1JUIE1BUCgKCVRQID0+IEVMRUtUUk9ERSgzKQopOwpUUDkgOiBUUF8xMl9TTwlQT1JUIE1B
UCgKCVRQID0+IFxCVF9QSU9bNF1cCik7CkMzMCA6IFwyMjBwXAlQT1JUIE1BUCgKCVwxXCA9PiBF
TEVLVFJPREUoMiksIAoJXDJcID0+IE4xOTYzNzM2Cik7CkMzMSA6IFwyMjBwXAlQT1JUIE1BUCgK
CVwxXCA9PiBFTEVLVFJPREUoMyksIAoJXDJcID0+IE4xOTY0OTkxCik7CkMzMiA6IFwyMjBwXAlQ
T1JUIE1BUCgKCVwxXCA9PiBFTEVLVFJPREUoNSksIAoJXDJcID0+IE4xOTY1MzQ2Cik7ClkxIDog
XEExNDBDIDgsME1IeiA4NlNNWFwJUE9SVCBNQVAoCglcMVwgPT4gTjE2ODY3MjQsIAoJXDRcID0+
IE4xNjg2NzIyLCAKCVwyXCA9PiBPUEVOLCAKCVwzXCA9PiBPUEVOCik7ClkyIDogTUM0MDYJUE9S
VCBNQVAoCglcMVwgPT4gTjE2ODcyNDAsIAoJXDRcID0+IE4xNjg3MTg0LCAKCVwyXCA9PiBPUEVO
LCAKCVwzXCA9PiBPUEVOCik7CkMzMyA6IFwxMHVcCVBPUlQgTUFQKAoJUCA9PiBWUkVGX1AsIAoJ
TiA9PiBBR05ECik7ClRQMjAgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IERHTkQKKTsKQzM0
IDogXDEwMG5cCVBPUlQgTUFQKAoJXDFcID0+IFZSRUZfUCwgCglcMlwgPT4gQUdORAopOwpDMzUg
OiBcMTBuXAlQT1JUIE1BUCgKCVwxXCA9PiBER05ELCAKCVwyXCA9PiBSRUZfQ0gxCik7ClRQMjEg
OiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFJFRl9DSDMKKTsKVFAyMiA6IFRQXzEyX1NPCVBP
UlQgTUFQKAoJVFAgPT4gVl9CQVQKKTsKQzM2IDogXDEwblwJUE9SVCBNQVAoCglcMVwgPT4gREdO
RCwgCglcMlwgPT4gUkVGX0NIMgopOwpSNDAgOiBcMTBrXAlQT1JUIE1BUCgKCVwxXCA9PiBOMTk2
MDU1NCwgCglcMlwgPT4gVFNUX0ZRCik7ClI0MSA6IFwxMGtcCVBPUlQgTUFQKAoJXDFcID0+IEFH
TkQsIAoJXDJcID0+IE4xOTYwNTU0Cik7CkMzNyA6IFwxMDBuXAlQT1JUIE1BUCgKCVwxXCA9PiBC
VF9WQ0MsIAoJXDJcID0+IEJUX0dORAopOwpUUDIzIDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9
PiBSRUZfQ0g0Cik7ClIxMCA6IFwxMGtcCVBPUlQgTUFQKAoJXDFcID0+IEVMRUtUUk9ERSg1KSwg
CglcMlwgPT4gTjE3NTAxMzIxCik7ClI0MiA6IFwxa1wJUE9SVCBNQVAoCglcMVwgPT4gTjE5Njc5
ODgsIAoJXDJcID0+IFRTVF9GUQopOwpUUDI0IDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9PiBc
Vl9CQVQrXAopOwpDMzggOiBcMTAwblwJUE9SVCBNQVAoCglcMVwgPT4gRFZDQywgCglcMlwgPT4g
QlRfR05ECik7ClIxMSA6IFwxTTJcCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg2NzA4LCAKCVwyXCA9
PiBOMTY4NjczMgopOwpSNDMgOiBcMTBrXAlQT1JUIE1BUCgKCVwxXCA9PiBSU1QsIAoJXDJcID0+
IERWQ0MKKTsKQzM5IDogXDEwMG5cCVBPUlQgTUFQKAoJXDFcID0+IERWQ0MsIAoJXDJcID0+IERH
TkQKKTsKVFAyNSA6IFRQXzEyX1NPCVBPUlQgTUFQKAoJVFAgPT4gVFNUX0ZRCik7ClIxMiA6IFwx
TTJcCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg2NzMyLCAKCVwyXCA9PiBOMTY4NjcwNgopOwpNMSA6
IE1vZHVsX0JsdWV0b290aF8yCVBPUlQgTUFQKAoJR05EID0+IEJUX0dORCwgCglcUElPWzldXCA9
PiBPUEVOLCAKCVZERDIgPT4gRFZDQywgCglcUElPWzVdXCA9PiBPUEVOLCAKCVxQSU9bMl1cID0+
IFxCVF9QSU9bMl1cLCAKCVxQSU9bM11cID0+IFxCVF9QSU9bM11cLCAKCVNQSV9NSVNPID0+IEJU
X01JU08sIAoJU1BJX0NTQiA9PiBCVF9DU0IsIAoJU1BJX0NMSyA9PiBCVF9TQ0ssIAoJU1BJX01P
U0kgPT4gQlRfTU9TSSwgCglSRVNFVCA9PiBCVF9SU1QsIAoJVUFSVF9SWCA9PiBCVF9UWEQsIAoJ
VUFSVF9UWCA9PiBCVF9SWEQsIAoJVUFSVF9DVFMgPT4gQlRfQ1RTLCAKCVVBUlRfUlRTID0+IEJU
X1JUUywgCglQQ01fQ0xLID0+IE9QRU4sIAoJUENNX1NZTkMgPT4gT1BFTiwgCglQQ01fSU4gPT4g
QlRfR05ELCAKCVBDTV9PVVQgPT4gT1BFTiwgCglWREQzID0+IERWQ0MsIAoJTkMgPT4gT1BFTiwg
CglcUElPWzRdXCA9PiBcQlRfUElPWzRdXCwgCglcQUlPWzFdXCA9PiAnWicsIAoJXEFJT1swXVwg
PT4gJ1onLCAKCVxQSU9bNl1cID0+IE9QRU4sIAoJXFBJT1s4XVwgPT4gT1BFTiwgCglcUElPWzdd
XCA9PiBPUEVOLCAKCVZERDEgPT4gQlRfVkNDCik7ClRQMjYgOiBUUF8xMl9TTwlQT1JUIE1BUCgK
CVRQID0+IFRTVF9NRVNTCik7ClI0NCA6IFwxMDBrXAlQT1JUIE1BUCgKCVwxXCA9PiBSRUZfQ0gx
LCAKCVwyXCA9PiBOMTk0MTM3MQopOwpUUDI3IDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9PiBC
VF9WQ0MKKTsKUjEzIDogXDEwa1wJUE9SVCBNQVAoCglcMVwgPT4gRUxFS1RST0RFKDEpLCAKCVwy
XCA9PiBOMTc1MDI4NjEKKTsKUjQ1IDogXDFNXAlQT1JUIE1BUCgKCVwxXCA9PiBER05ELCAKCVwy
XCA9PiBSRUZfQ0gxCik7ClI0NiA6IFwxMDBrXAlQT1JUIE1BUCgKCVwxXCA9PiBSRUZfQ0gyLCAK
CVwyXCA9PiBOMTk1Nzc2NAopOwpUUDI4IDogVFBfMTJfU08JUE9SVCBNQVAoCglUUCA9PiBCVF9H
TkQKKTsKUjE0IDogXDFNMlwJUE9SVCBNQVAoCglcMVwgPT4gQU5BTE9HX1NJR05BTCgxKSwgCglc
MlwgPT4gTjE2ODY3NDAKKTsKUjQ3IDogXDFNXAlQT1JUIE1BUCgKCVwxXCA9PiBER05ELCAKCVwy
XCA9PiBSRUZfQ0gyCik7ClRQMjkgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFNEX1NDSwop
OwpSMTUgOiBcMTVrXAlQT1JUIE1BUCgKCVwxXCA9PiBOMTY4NjkyOCwgCglcMlwgPT4gTjE2ODY5
MjIKKTsKSjMgOiBcU3RpZnRsLTZcCVBPUlQgTUFQKAoJXDFcID0+IE4yMDc0NDk4LCAKCVwyXCA9
PiBOMjA3NDU0MCwgCglcM1wgPT4gTjIwNzQ1ODIsIAoJXDRcID0+IE4xOTA0NTQ2LCAKCVw1XCA9
PiBOMjA3NDYyNCwgCglcNlwgPT4gT1BFTgopOwpSNDggOiBcMTBrXAlQT1JUIE1BUCgKCVwxXCA9
PiBER05ELCAKCVwyXCA9PiBSU1RfQlQxCik7ClIxNiA6IFwxMGtcCVBPUlQgTUFQKAoJXDFcID0+
IEVMRUtUUk9ERSgzKSwgCglcMlwgPT4gTjE3NDk2NzQxCik7ClI0OSA6IFwxMGtcCVBPUlQgTUFQ
KAoJXDFcID0+IERHTkQsIAoJXDJcID0+IFJTVF9CVAopOwpSMTcgOiBcMU0yXAlQT1JUIE1BUCgK
CVwxXCA9PiBOMTk0NjE3OCwgCglcMlwgPT4gTjE2ODY5NDYKKTsKUjE4IDogXDFNMlwJUE9SVCBN
QVAoCglcMVwgPT4gTjE2ODY5NDYsIAoJXDJcID0+IE4xNjg2OTAyCik7ClIxOSA6IFwxMGtcCVBP
UlQgTUFQKAoJXDFcID0+IEVMRUtUUk9ERSgyKSwgCglcMlwgPT4gTjE3NDk4MzAxCik7CkQzIDog
QkFUNzU0CVBPUlQgTUFQKAoJQSA9PiBOMTkyMTEzMDAsIAoJSyA9PiBOMTk3MjkxMAopOwpKOCA6
IFxTRC1Db25uZWN0b3JcCVBPUlQgTUFQKAoJQ1MgPT4gU0RfQ1MsIAoJREkgPT4gU0RfTU9TSSwg
CglWU1MxID0+IERHTkQsIAoJVkREID0+IERWQ0MsIAoJU0NMSyA9PiBTRF9TQ0ssIAoJVlNTMiA9
PiBER05ELCAKCURPID0+IFNEX01JU08sIAoJSVJRID0+IFNEX0lSUSwgCglOQyA9PiBER05ELCAK
CUdORCA9PiBPUEVOLCAKCUNhcmREZXRlY3QgPT4gT1BFTiwgCglXcl9Qcm90ZWN0ID0+IE9QRU4K
KTsKQzQwIDogXDEwblwJUE9SVCBNQVAoCglcMVwgPT4gREdORCwgCglcMlwgPT4gUkVGX0NIMwop
OwpDNDEgOiBcMTBuXAlQT1JUIE1BUCgKCVwxXCA9PiBER05ELCAKCVwyXCA9PiBSRUZfQ0g0Cik7
ClRQMzAgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFNEX01JU08KKTsKQzEyIDogXDI3blwJ
UE9SVCBNQVAoCglcMVwgPT4gTjE2ODY3MzIsIAoJXDJcID0+IE4xNjg2NzAyCik7CkMxMyA6IFwx
NW5cCVBPUlQgTUFQKAoJXDFcID0+IFJFRl9DSDEsIAoJXDJcID0+IE4xNjg2NzA2Cik7ClRQMzEg
OiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+IFNEX01PU0kKKTsKQzE0IDogXDI3blwJUE9SVCBN
QVAoCglcMVwgPT4gTjE2ODY5NDYsIAoJXDJcID0+IE4xNjg2ODk4Cik7ClRQMzIgOiBUUF8xMl9T
TwlQT1JUIE1BUCgKCVRQID0+IFNEX0NTCik7ClI1MCA6IFwxMDBrXAlQT1JUIE1BUCgKCVwxXCA9
PiBSRUZfQ0gzLCAKCVwyXCA9PiBOMTkxNTAzMwopOwpUUDMzIDogVFBfMTJfU08JUE9SVCBNQVAo
CglUUCA9PiBJUl9SWAopOwpDMTUgOiBcMTVuXAlQT1JUIE1BUCgKCVwxXCA9PiBSRUZfQ0gyLCAK
CVwyXCA9PiBOMTY4NjkwMgopOwpSNTEgOiBcMU1cCVBPUlQgTUFQKAoJXDFcID0+IERHTkQsIAoJ
XDJcID0+IFJFRl9DSDMKKTsKUjUyIDogXDEwMGtcCVBPUlQgTUFQKAoJXDFcID0+IFJFRl9DSDQs
IAoJXDJcID0+IE4xOTU2MTU4Cik7CkMxNiA6IFwyN25cCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg3
MDI2LCAKCVwyXCA9PiBOMTY4Njk5NAopOwpSMjAgOiBcMU0yXAlQT1JUIE1BUCgKCVwxXCA9PiBB
TkFMT0dfU0lHTkFMKDIpLCAKCVwyXCA9PiBOMTY4Njk2NgopOwpUUDM0IDogVFBfMTJfU08JUE9S
VCBNQVAoCglUUCA9PiBJUl9UWAopOwpSMjEgOiBcMjcwa1wJUE9SVCBNQVAoCglcMVwgPT4gTjIw
NzQ0OTgsIAoJXDJcID0+IEVMRUtUUk9ERSgxKQopOwpSNTMgOiBcMU1cCVBPUlQgTUFQKAoJXDFc
ID0+IERHTkQsIAoJXDJcID0+IFJFRl9DSDQKKTsKQzE3IDogXDE1blwJUE9SVCBNQVAoCglcMVwg
PT4gUkVGX0NIMywgCglcMlwgPT4gTjE4OTU0MzgKKTsKVFAzNSA6IFRQXzEyX1NPCVBPUlQgTUFQ
KAoJVFAgPT4gSVJfU0NMSwopOwpDMTggOiBcMS41blwJUE9SVCBNQVAoCglcMVwgPT4gTjE5MjEw
NjQsIAoJXDJcID0+IFRTVF9NRVNTCik7ClRQMzYgOiBUUF8xMl9TTwlQT1JUIE1BUCgKCVRQID0+
IElSRURfSwopOwpSMjIgOiBcMjcwa1wJUE9SVCBNQVAoCglcMVwgPT4gTjIwNzQ1NDAsIAoJXDJc
ID0+IEVMRUtUUk9ERSgyKQopOwpVMTAgOiBMUFYzMjRNVAlQT1JUIE1BUCgKCVwrSU5fQVwgPT4g
TjE4OTU0MzgsIAoJXC1JTl9BXCA9PiBOMTY4Njk5NCwgCglPVVRfQSA9PiBOMTY4Njk5NCwgCglc
VitcID0+IE4xNjg3MzM0LCAKCVxWLVwgPT4gQUdORCwgCglcK0lOX0JcID0+IE4xNjg2OTk0LCAK
CVwtSU5fQlwgPT4gTjE2ODcwNjYsIAoJT1VUX0IgPT4gQU5BTE9HX1NJR05BTCgzKSwgCglcK0lO
X0NcID0+IE4xOTIxMDY0LCAKCVwtSU5fQ1wgPT4gTjE5NzI5MTAsIAoJT1VUX0MgPT4gTjE5MjEx
MzAwLCAKCVwrSU5fRFwgPT4gTjE5NzQ0MTUsIAoJXC1JTl9EXCA9PiBOMTk3NDM1MSwgCglPVVRf
RCA9PiBBTkFMT0dfU0lHTkFMKDQpCik7ClIyMyA6IFwyNzBrXAlQT1JUIE1BUCgKCVwxXCA9PiBO
MjA3NDU4MiwgCglcMlwgPT4gRUxFS1RST0RFKDMpCik7CkMxOSA6IFwxMG5cCVBPUlQgTUFQKAoJ
XDFcID0+IEFHTkQsIAoJXDJcID0+IFZfQU5BTE9HX1JFRgopOwpVMTIgOiBUTDc3MjYJUE9SVCBN
QVAoCglDMiA9PiBFTEVLVFJPREUoMiksIAoJR05EID0+IEFHTkQsIAoJQzEgPT4gRUxFS1RST0RF
KDEpLCAKCUM2ID0+IE9QRU4sIAoJVmNjID0+IE4xNjg3MzM0LCAKCUMzID0+IEVMRUtUUk9ERSgz
KSwgCglDNSA9PiBFTEVLVFJPREUoNSksIAoJQzQgPT4gRUxFS1RST0RFKDQpCik7ClIyNCA6IFwx
NWtcCVBPUlQgTUFQKAoJXDFcID0+IE4xNjg3MDI0LCAKCVwyXCA9PiBOMTY4NzA1OAopOwpFTkQg
U1RSVUNUVVJFOwoKTElCUkFSWSBJRUVFOwpVU0UgSUVFRS5zdGRfbG9naWNfMTE2NC5hbGw7CkVO
VElUWSBTdXBwbHkgSVMgCgpFTkQgU3VwcGx5OwoKCgpBUkNISVRFQ1RVUkUgU1RSVUNUVVJFIE9G
IFN1cHBseSBJUwoKLS0gQ09NUE9ORU5UUwoKQ09NUE9ORU5UIGJxMjQwMDFQV1AKCVBPUlQgKAoJ
TkMgOiBJTk9VVCBzdGRfbG9naWM7CglcSU5cIDogSU4gc3RkX2xvZ2ljOwoJVmNjIDogSU4gc3Rk
X2xvZ2ljOwoJSVNOUyA6IElOIHN0ZF9sb2dpYzsKCUFQRyA6IElOIHN0ZF9sb2dpYzsKCUVOIDog
SU4gc3RkX2xvZ2ljOwoJVlNFTCA6IElOIHN0ZF9sb2dpYzsKCUdORCA6IElOIHN0ZF9sb2dpYzsK
CUNSIDogSU4gc3RkX2xvZ2ljOwoJXFRNUiBTRUxcIDogSU4gc3RkX2xvZ2ljOwoJU1RBVDEgOiBP
VVQgc3RkX2xvZ2ljOwoJQUdORCA6IElOIHN0ZF9sb2dpYzsKCVZTRU5TRSA6IElOIHN0ZF9sb2dp
YzsKCVxPVVRcIDogSU5PVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKQ09NUE9ORU5U
IFRQUzYyMjAwCglQT1JUICgKCVZpbiA6IElOIHN0ZF9sb2dpYzsKCUVOIDogSU4gc3RkX2xvZ2lj
OwoJR05EIDogSU4gc3RkX2xvZ2ljOwoJRkIgOiBJTiBzdGRfbG9naWM7CglWb3V0IDogT1VUIHN0
ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBcOTFrXAoJUE9SVCAoCglcMVwg
OiBJTk9VVCBzdGRfbG9naWM7CglcMlwgOiBJTk9VVCBzdGRfbG9naWMKCSk7IEVORCBDT01QT05F
TlQ7CgpDT01QT05FTlQgVFBTNjIyMDIKCVBPUlQgKAoJR05EIDogSU4gc3RkX2xvZ2ljOwoJRkIg
OiBJTiBzdGRfbG9naWM7CglFTiA6IElOIHN0ZF9sb2dpYzsKCVZpbiA6IElOIHN0ZF9sb2dpYzsK
CVZvdXQgOiBPVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKQ09NUE9ORU5UIFwxMKRI
XAoJUE9SVCAoCglcMVwgOiBJTk9VVCBzdGRfbG9naWM7CglcMlwgOiBJTk9VVCBzdGRfbG9naWMK
CSk7IEVORCBDT01QT05FTlQ7CgpDT01QT05FTlQgXDUwMGtcCglQT1JUICgKCVwxXCA6IElOT1VU
IHN0ZF9sb2dpYzsKCVwyXCA6IElOT1VUIHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNP
TVBPTkVOVCBcMTAwblwKCVBPUlQgKAoJXDFcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXDJcIDogSU5P
VVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKQ09NUE9ORU5UIFwxMHVcCglQT1JUICgK
CVAgOiBJTk9VVCBzdGRfbG9naWM7CglOIDogSU5PVVQgc3RkX2xvZ2ljCgkpOyBFTkQgQ09NUE9O
RU5UOwoKQ09NUE9ORU5UIFwzMHBcCglQT1JUICgKCVwxXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVwy
XCA6IElOT1VUIHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBcUExGIDUw
Mzc1OVwKCVBPUlQgKAoJXCtcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXC1cIDogSU5PVVQgc3RkX2xv
Z2ljCgkpOyBFTkQgQ09NUE9ORU5UOwoKQ09NUE9ORU5UIFw1MzI2MS0xNDkwXAoJUE9SVCAoCglc
MVwgOiBJTk9VVCBzdGRfbG9naWM7CglcMlwgOiBJTk9VVCBzdGRfbG9naWM7CglcM1wgOiBJTk9V
VCBzdGRfbG9naWM7CglcNFwgOiBJTk9VVCBzdGRfbG9naWM7CglcNVwgOiBJTk9VVCBzdGRfbG9n
aWM7CglcNlwgOiBJTk9VVCBzdGRfbG9naWM7CglcN1wgOiBJTk9VVCBzdGRfbG9naWM7CglcOFwg
OiBJTk9VVCBzdGRfbG9naWM7CglcOVwgOiBJTk9VVCBzdGRfbG9naWM7CglcMTBcIDogSU5PVVQg
c3RkX2xvZ2ljOwoJXDExXCA6IElOT1VUIHN0ZF9sb2dpYzsKCVwxMlwgOiBJTk9VVCBzdGRfbG9n
aWM7CglcMTNcIDogSU5PVVQgc3RkX2xvZ2ljOwoJXDE0XCA6IElOT1VUIHN0ZF9sb2dpYwoJKTsg
RU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBcS2xpbmtlIDIsNVwKCVBPUlQgKAoJQSA6IElOT1VU
IHN0ZF9sb2dpYzsKCUIgOiBJTk9VVCBzdGRfbG9naWM7CglDIDogSU5PVVQgc3RkX2xvZ2ljOwoJ
RCA6IElOT1VUIHN0ZF9sb2dpYzsKCUUgOiBJTk9VVCBzdGRfbG9naWMKCSk7IEVORCBDT01QT05F
TlQ7CgpDT01QT05FTlQgTUJSMDUyMExUMQoJUE9SVCAoCglBIDogSU5PVVQgc3RkX2xvZ2ljOwoJ
SyA6IElOT1VUIHN0ZF9sb2dpYwoJKTsgRU5EIENPTVBPTkVOVDsKCkNPTVBPTkVOVCBMRUQKCVBP
UlQgKAoJQSA6IElOT1VUIHN0ZF9sb2dpYzsKCUMgOiBJTk9VVCBzdGRfbG9naWMKCSk7IEVORCBD
T01QT05FTlQ7CgpDT01QT05FTlQgTmV0enRyZW5uZXIKCVBPUlQgKAoJTmV0MSA6IElOT1VUIHN0
ZF9sb2dpYzsKCU5ldDIgOiBJTk9VVCBzdGRfbG9naWMKCSk7IEVORCBDT01QT05FTlQ7CgpDT01Q
T05FTlQgTG9naWMJIFBPUlQgKAoJUlNUIDogT1VUIHN0ZF9sb2dpYzsKCVRDSyA6IElOIHN0ZF9s
b2dpYzsKCVRESSA6IElOIHN0ZF9sb2dpYzsKCVRNUyA6IElOIHN0ZF9sb2dpYzsKCVRETyA6IE9V
VCBzdGRfbG9naWM7CglCVF9WQ0MgOiBJTiBzdGRfbG9naWM7CglWYmF0dF9tZXNzIDogT1VUIHN0
ZF9sb2dpYzsKCUFWQ0MgOiBJTiBzdGRfbG9naWM7CglBR05EIDogSU4gc3RkX2xvZ2ljOwoJRFZD
QyA6IElOIHN0ZF9sb2dpYzsKCURHTkQgOiBJTiBzdGRfbG9naWM7CglCVF9HTkQgOiBJTiBzdGRf
bG9naWM7CglCVF9TQ0sgOiBPVVQgc3RkX2xvZ2ljOwoJQlRfTU9TSSA6IE9VVCBzdGRfbG9naWM7
CglCVF9DU0IgOiBPVVQgc3RkX2xvZ2ljOwoJUlNUX0JUIDogT1VUIHN0ZF9sb2dpYzsKCUJUX01J
U08gOiBJTiBzdGRfbG9naWM7CglCVF9TSEROIDogSU4gc3RkX2xvZ2ljOwoJVl9iYXQgOiBJTk9V
VCBzdGRfbG9naWM7CglcVl9iYXQrXCA6IElOT1VUIHN0ZF9sb2dpYwopOyBFTkQgQ09NUE9ORU5U
OwoKLS0gU0lHTkFMUwoKU0lHTkFMIFZFWFQgOiBzdGRfbG9naWM7ClNJR05BTCBOMTc0NzkyNjAg
OiBzdGRfbG9naWM7ClNJR05BTCBOMTM4MTAzMyA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4xMzc5MDA2
IDogc3RkX2xvZ2ljOwpTSUdOQUwgQkFUVF9TVEFUIDogc3RkX2xvZ2ljOwpTSUdOQUwgTjIwNDQ2
OTggOiBzdGRfbG9naWM7ClNJR05BTCBWX0JBVF9PTiA6IHN0ZF9sb2dpYzsKU0lHTkFMIE4yMDQ1
NTQ4IDogc3RkX2xvZ2ljOwpTSUdOQUwgTjIwNDQ4NDkgOiBzdGRfbG9naWM7ClNJR05BTCBWSU4g
OiBzdGRfbG9naWM7ClNJR05BTCBCVF9WQ0MgOiBzdGRfbG9naWM7ClNJR05BTCBUREkgOiBzdGRf
bG9naWM7ClNJR05BTCBCVF9TQ0sgOiBzdGRfbG9naWM7ClNJR05BTCBUQ0sgOiBzdGRfbG9naWM7
ClNJR05BTCBWQkFUVF9NRVNTIDogc3RkX2xvZ2ljOwpTSUdOQUwgQlRfR05EIDogc3RkX2xvZ2lj
OwpTSUdOQUwgVERPIDogc3RkX2xvZ2ljOwpTSUdOQUwgVl9CQVQgOiBzdGRfbG9naWM7ClNJR05B
TCBBVkNDIDogc3RkX2xvZ2ljOwpTSUdOQUwgQlRfQ1NCIDogc3RkX2xvZ2ljOwpTSUdOQUwgVE1T
IDogc3RkX2xvZ2ljOwpTSUdOQUwgXFZfQkFUK1wgOiBzdGRfbG9naWM7ClNJR05BTCBCVF9NT1NJ
IDogc3RkX2xvZ2ljOwpTSUdOQUwgREdORCA6IHN0ZF9sb2dpYzsKU0lHTkFMIEFHTkQgOiBzdGRf
bG9naWM7ClNJR05BTCBEVkNDIDogc3RkX2xvZ2ljOwpTSUdOQUwgUlNUIDogc3RkX2xvZ2ljOwpT
SUdOQUwgUlNUX0JUIDogc3RkX2xvZ2ljOwpTSUdOQUwgQlRfTUlTTyA6IHN0ZF9sb2dpYzsKU0lH
TkFMIEJUX1NIRE4gOiBzdGRfbG9naWM7CgotLSBHQVRFIElOU1RBTkNFUwoKQkVHSU4KVTEgOiBi
cTI0MDAxUFdQCVBPUlQgTUFQKAoJTkMgPT4gT1BFTiwgCglcSU5cID0+IE4xMzc5MDA2LCAKCVZj
YyA9PiBWSU4sIAoJSVNOUyA9PiBOMTM3OTAwNiwgCglBUEcgPT4gREdORCwgCglFTiA9PiBWSU4s
IAoJVlNFTCA9PiBWSU4sIAoJR05EID0+IERHTkQsIAoJQ1IgPT4gTjEzODEwMzMsIAoJXFRNUiBT
RUxcID0+IFZJTiwgCglTVEFUMSA9PiBCQVRUX1NUQVQsIAoJQUdORCA9PiBER05ELCAKCVZTRU5T
RSA9PiBWX0JBVCwgCglcT1VUXCA9PiBWX0JBVAopOwpVMiA6IFRQUzYyMjAwCVBPUlQgTUFQKAoJ
VmluID0+IFZfQkFUX09OLCAKCUVOID0+IFZfQkFUX09OLCAKCUdORCA9PiBER05ELCAKCUZCID0+
IE4yMDQ0ODQ5LCAKCVZvdXQgPT4gTjIwNDQ2OTgKKTsKUjEgOiBcOTFrXAlQT1JUIE1BUCgKCVwx
XCA9PiBWX0JBVCwgCglcMlwgPT4gVkJBVFRfTUVTUwopOwpVMyA6IFRQUzYyMjAyCVBPUlQgTUFQ
KAoJR05EID0+IERHTkQsIAoJRkIgPT4gQlRfVkNDLCAKCUVOID0+IEJUX1NIRE4sIAoJVmluID0+
IFZfQkFUX09OLCAKCVZvdXQgPT4gTjIwNDU1NDgKKTsKUjIgOiBcMTMwa1wJUE9SVCBNQVAoCglc
MVwgPT4gVkJBVFRfTUVTUywgCglcMlwgPT4gREdORAopOwpSMyA6IFwwUjQ3XAlQT1JUIE1BUCgK
CVwxXCA9PiBWSU4sIAoJXDJcID0+IE4xMzc5MDA2Cik7ClI0IDogXDBSMFwJUE9SVCBNQVAoCglc
MVwgPT4gVl9CQVQsIAoJXDJcID0+IFxWX0JBVCtcCik7CkwxIDogXDEwpEhcCVBPUlQgTUFQKAoJ
XDFcID0+IE4yMDQ1NTQ4LCAKCVwyXCA9PiBCVF9WQ0MKKTsKUjUgOiBcMTMwa1wJUE9SVCBNQVAo
CglcMVwgPT4gVklOLCAKCVwyXCA9PiBER05ECik7ClI2IDogXDM2MFwJUE9SVCBNQVAoCglcMVwg
PT4gTjE3NDc5MjYwLCAKCVwyXCA9PiBCQVRUX1NUQVQKKTsKTDIgOiBcMTCkSFwJUE9SVCBNQVAo
CglcMVwgPT4gTjIwNDQ2OTgsIAoJXDJcID0+IERWQ0MKKTsKUjcgOiBcMzBrXAlQT1JUIE1BUCgK
CVwxXCA9PiBER05ELCAKCVwyXCA9PiBER05ECik7ClI4IDogXDUwMGtcCVBPUlQgTUFQKAoJXDFc
ID0+IE4yMDQ0ODQ5LCAKCVwyXCA9PiBEVkNDCik7CkMxIDogXDEwMG5cCVBPUlQgTUFQKAoJXDFc
ID0+IFZCQVRUX01FU1MsIAoJXDJcID0+IERHTkQKKTsKQzIgOiBcMTAwblwJUE9SVCBNQVAoCglc
MVwgPT4gVklOLCAKCVwyXCA9PiBER05ECik7CkMzIDogXDEwdVwJUE9SVCBNQVAoCglQID0+IERW
Q0MsIAoJTiA9PiBER05ECik7CkM0IDogXDEwMG5cCVBPUlQgTUFQKAoJXDFcID0+IFZfQkFULCAK
CVwyXCA9PiBER05ECik7CkM1IDogXDEwdVwJUE9SVCBNQVAoCglQID0+IFZJTiwgCglOID0+IERH
TkQKKTsKQzYgOiBcMTB1XAlQT1JUIE1BUCgKCVAgPT4gVl9CQVQsIAoJTiA9PiBER05ECik7CkM3
IDogXDIyMG5cCVBPUlQgTUFQKAoJXDFcID0+IE4xMzgxMDMzLCAKCVwyXCA9PiBER05ECik7CkM4
IDogXDMwcFwJUE9SVCBNQVAoCglcMVwgPT4gRFZDQywgCglcMlwgPT4gTjIwNDQ4NDkKKTsKQzkg
OiBcNC43dVwJUE9SVCBNQVAoCglcMVwgPT4gREdORCwgCglcMlwgPT4gVl9CQVRfT04KKTsKQlQx
IDogXFBMRiA1MDM3NTlcCVBPUlQgTUFQKAoJXCtcID0+IFxWX0JBVCtcLCAKCVwtXCA9PiBER05E
Cik7CkoxIDogXDUzMjYxLTE0OTBcCVBPUlQgTUFQKAoJXDFcID0+IERHTkQsIAoJXDJcID0+IERW
Q0MsIAoJXDNcID0+IEJUX1NDSywgCglcNFwgPT4gQlRfQ1NCLCAKCVw1XCA9PiBCVF9NSVNPLCAK
CVw2XCA9PiBCVF9NT1NJLCAKCVw3XCA9PiBUQ0ssIAoJXDhcID0+IFRESSwgCglcOVwgPT4gVERP
LCAKCVwxMFwgPT4gVE1TLCAKCVwxMVwgPT4gUlNUX0JULCAKCVwxMlwgPT4gVklOLCAKCVwxM1wg
PT4gUlNULCAKCVwxNFwgPT4gQkFUVF9TVEFUCik7CkoyIDogXEtsaW5rZSAyLDVcCVBPUlQgTUFQ
KAoJQSA9PiBWRVhULCAKCUIgPT4gVkVYVCwgCglDID0+IFZfQkFULCAKCUQgPT4gVl9CQVRfT04s
IAoJRSA9PiBER05ECik7CkQxIDogTUJSMDUyMExUMQlQT1JUIE1BUCgKCUEgPT4gVkVYVCwgCglL
ID0+IFZJTgopOwpEMiA6IExFRAlQT1JUIE1BUCgKCUEgPT4gVklOLCAKCUMgPT4gTjE3NDc5MjYw
Cik7CkMxMCA6IFwxMHVcCVBPUlQgTUFQKAoJUCA9PiBCVF9WQ0MsIAoJTiA9PiBER05ECik7CkMx
MSA6IFwxNTBwXAlQT1JUIE1BUCgKCVwxXCA9PiBOMjA0NDg0OSwgCglcMlwgPT4gREdORAopOwpO
MSA6IE5ldHp0cmVubmVyCVBPUlQgTUFQKAoJTmV0MSA9PiBEVkNDLCAKCU5ldDIgPT4gQVZDQwop
OwpSNTQgOiBcMTAwa1wJUE9SVCBNQVAoCglcMVwgPT4gREdORCwgCglcMlwgPT4gTjIwNDQ4NDkK
KTsKTjIgOiBOZXR6dHJlbm5lcglQT1JUIE1BUCgKCU5ldDEgPT4gQUdORCwgCglOZXQyID0+IERH
TkQKKTsKTjMgOiBOZXR6dHJlbm5lcglQT1JUIE1BUCgKCU5ldDEgPT4gQlRfR05ELCAKCU5ldDIg
PT4gREdORAopOwpIQjFfMyA6IExvZ2ljCVBPUlQgTUFQKAoJUlNUID0+IFJTVCwgCglUQ0sgPT4g
VENLLCAKCVRESSA9PiBUREksIAoJVE1TID0+IFRNUywgCglURE8gPT4gVERPLCAKCUJUX1ZDQyA9
PiBCVF9WQ0MsIAoJVmJhdHRfbWVzcyA9PiBWQkFUVF9NRVNTLCAKCUFWQ0MgPT4gQVZDQywgCglB
R05EID0+IEFHTkQsIAoJRFZDQyA9PiBEVkNDLCAKCURHTkQgPT4gREdORCwgCglCVF9HTkQgPT4g
QlRfR05ELCAKCUJUX1NDSyA9PiBCVF9TQ0ssIAoJQlRfTU9TSSA9PiBCVF9NT1NJLCAKCUJUX0NT
QiA9PiBCVF9DU0IsIAoJUlNUX0JUID0+IFJTVF9CVCwgCglCVF9NSVNPID0+IEJUX01JU08sIAoJ
QlRfU0hETiA9PiBCVF9TSEROLCAKCVZfYmF0ID0+IFZfQkFULCAKCVxWX2JhdCtcID0+IFxWX0JB
VCtcCik7CkVORCBTVFJVQ1RVUkU7Cgo=
--Multipart_Wed__12_Oct_2005_18_39_35_+0200_7Bb1tmQR61=fSx07--
------------------------------
Date: Wed, 12 Oct 2005 15:27:34 -0000
From: "David K. Wall" <darkon.tdo@gmail.com>
Subject: re: why the perl docs suck
Message-Id: <Xns96ED749288277dkwwashere@216.168.3.30>
Bernard El-Hagin <bernard.el-haginDODGE_THIS@lido-tech.net> wrote:
>> Fucking idots.
>
>
> We agree here. I hate idots even more than I hate icommas. Don't
> even get me started on iquestionmarks and iMacs.
What about iPod? Is that Perl documentation for an iMac?
--
David, "jammin' to the sound of perldoc"
------------------------------
Date: Wed, 12 Oct 2005 15:18:50 GMT
From: Shea Martin <null@void.0>
Subject: Win32::File::SetAttribute does not work
Message-Id: <uP93f.107813$Ph4.3283986@ursa-nb00s0.nbnet.nb.ca>
Using build 809, on winxp pro.
Win32::File::GetAttributes("somefile.txt", \$attrib);
Win32::File::SetAttributes("somefile.txt", $attrib|READONLY)
|| die "failed to set attribute";
But it does not work. If I manually set the file to readonly, then run
this code on it, it actually removes the readonly attribute, when I
would expect it to do nothing.
Is this a known bug, or am I doing something wrong.
chmod(0444, "somefile.txt) does work.
~S
------------------------------
Date: Wed, 12 Oct 2005 17:26:52 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Win32::File::SetAttribute does not work
Message-Id: <Xns96ED88CDACC11asu1cornelledu@127.0.0.1>
Shea Martin <null@void.0> wrote in
news:uP93f.107813$Ph4.3283986@ursa-nb00s0.nbnet.nb.ca:
> Using build 809, on winxp pro.
>
> Win32::File::GetAttributes("somefile.txt", \$attrib);
> Win32::File::SetAttributes("somefile.txt", $attrib|READONLY)
> || die "failed to set attribute";
>
> But it does not work. If I manually set the file to readonly, then
> run this code on it, it actually removes the readonly attribute, when
> I would expect it to do nothing.
Well, you should always use
use strict;
in your scripts, and post a short but complete program that still
exhibits the problem you are experiencing.
Looking at the documentation for Win32::File, I see
GetAttributes(filename, returnedAttributes)
admittedly, this is not great, but I see no indication that you need to
pass a reference to GetAttributes.
D:\Home\asu1\UseNet\clpmisc> cat tt.pl
#!/usr/bin/perl
use strict;
use warnings;
use Win32::File;
my $attr;
Win32::File::GetAttributes($ARGV[0], $attr)
or die "Cannot get attributes for $ARGV[0]: $!\n";
print "Attributes for $ARGV[0]: $attr\n";
Win32::File::SetAttributes($ARGV[0], $attr | READONLY)
or die "Cannot set READONLY attribute for $ARGV[0]: $!\n";
__END__
D:\Home\asu1\UseNet\clpmisc> attrib test.txt
A D:\Home\asu1\UseNet\clpmisc\test.txt
D:\Home\asu1\UseNet\clpmisc> tt test.txt
Attributes for test.txt: 32
D:\Home\asu1\UseNet\clpmisc> attrib test.txt
A R D:\Home\asu1\UseNet\clpmisc\test.txt
D:\Home\asu1\UseNet\clpmisc> tt test.txt
Attributes for test.txt: 33
D:\Home\asu1\UseNet\clpmisc> attrib test.txt
A R D:\Home\asu1\UseNet\clpmisc\test.txt
Sinan
--
A. Sinan Unur <1usa@llenroc.ude.invalid>
(reverse each component and remove .invalid for email address)
comp.lang.perl.misc guidelines on the WWW:
http://mail.augustmail.com/~tadmc/clpmisc/clpmisc_guidelines.html
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc. For subscription or unsubscription requests, send
#the single line:
#
# subscribe perl-users
#or:
# unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V10 Issue 8517
***************************************