This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
>From: Darren Gallant <address@hidden> >Organization: UCAR/JOSS >Keywords: 200107091620.f69GKI102721 McIDAS HDF AREA Darren, >We received a software package from MSFC. It utilizes quite a few Mcidas >routines. However, it missing the portion which extracts navigation >information from the source GVAR file and writes it to the ascii file. >I'm attempting to get that code from Scott Gennari. OK, sounds good. >Some questions about the MSFC software. > >It looks like this code writes 4*4 km raw data (4*8 km for Water >Vapor) and the Mcidas routines expect 2 byte integer values. >Is this your conclusion as well? I can't say. The GOES-Next (8, 9, 10, 11, ...) has a max resolution of 4 km in the IR channels except for WV which is 8km. There is a 1.7 oversampling in the element direction which gives an effective resolution of just about twice that in the line dimension. So, I wouldn't be suprised by the 4x8 km for the WV, but I would expect 2x4 for the other IR channels and possibly higher for VIS. >When Mcidas creates 1km visible images, doesn't it write 1 >byte raw values? No, not necessarily. >Assuming of course the data is uncalibrated and Mcidas >is ingesting raw GOES imagery (GVAR). GOES-Next data is 10-bit, so it takes two 8-bit bytes to store the data. VIS is no different than the IR channels in this regard. >Are all 1km visible imagery available via ADDE raw and uncalibrated or is >the opposite true. i.e calibrated? If you are referring to the images that Unidata distributes in the IDD, then the VIS images are 1-byte and 4 km resolution. If you are asking a general question, then the answer is that SSEC has the full data, and it is served through ADDE to those sites willing to pay for the data. >Does Mcidas write 1 byte values for calibrated visible imagery? Not necessarily. >It looks to me that GVAR.c always generates calibrated imagery iff >calibration info is available. I'm not sure if it uses calibration info >internal to Mcidas or info written to the raw GVAR file. Do you know which >calibration it uses. I havn't looked at GVAR.c hard enough to have a comment. By the way, I have had a couple of email exchanges with SSEC folks about the problem of coming up with an ADDE server for HDF images. I was told that they would be willing to take a look at a file that you can generate with TeraScan to see what they can see. Can you come up with a couple of good examples (like VIS and an IR channel) that are not overly large? If so, I will relay them to SSEC and see what their comments are. Also, in a previous email you sent a listing of some information that you had for a GOES image and asked if I thought it might be sufficient for coming up with coefficients for GOES navigation. The information you sent looked like: center_lat : 31 39.39 N center_lon : 147 1.20 W pixel_width : 0.6088 pixel_height : 1.3105 total_width : 5637.6297 total_height : 5240.3074 upper_edge_len : unknown lower_edge_len : 5267.6959 left_edge_len : unknown right_edge_len : 5403.8499 upper_left_lat : unknown upper_left_lon : unknown upper_right_lat : 60 26.54 N upper_right_lon : 106 15.40 W ... The comment I got back was: ">What we need in the nav & cal block is detailed in: > >http://www.ssec.wisc.edu/mug/prog_man/Current/progman-126.HTML#32013 >Note...in the calibration block we store the info as it is sent from the >satellite....so some fields are in Gould floating point format. >This info ain't even close to what is needed [please see above web page]." Tom >From address@hidden Wed Jul 25 12:00:01 2001 >Subject: [Fwd: McIDAS converter software] (fwd) Tom, We received a software package from MSFC. It utilizes quite a few Mcidas routines. However, it missing the portion which extracts navigation information from the source GVAR file and writes it to the ascii file. I'm attempting to get that code from Scott Gennari. Some questions about the MSFC software. It looks like this code writes 4*4 km raw data (4*8 km for Water Vapor) and the Mcidas routines expect 2 byte integer values. Is this your conclusion as well? When Mcidas creates 1km visible images, doesn't it write 1 byte raw values? Assuming of course the data is uncalibrated and Mcidas is ingesting raw GOES imagery (GVAR). Are all 1km visible imagery available via ADDE raw and uncalibrated or is the opposite true. i.e calibrated? Does Mcidas write 1 byte values for calibrated visible imagery? It looks to me that GVAR.c always generates calibrated imagery iff calibration info is available. I'm not sure if it uses calibration info internal to Mcidas or info written to the raw GVAR file. Do you know which calibration it uses. Thanks Darren ---------- Forwarded message ---------- Date: Fri, 20 Jul 2001 13:23:50 -0600 From: Steve Williams <address@hidden> Reply-To: address@hidden To: Darren R. Gallant <address@hidden> Subject: [Fwd: McIDAS converter software] Darren, Finally something from Anthony. Go ahead and take a look and let me know if this might work and if we need anything else. Have a great weekend! Steve -- ---------------------------------------------------------------------------- Steve Williams UCAR/Joint Office for Science Support (JOSS) Telephone: (303)497-8164 Facsimile: (303)497-8158 Internet: address@hidden http://www.joss.ucar.edu/ Mailing address: Shipping Address: P.O. Box 3000 UCAR Foothills Laboratory IV Boulder, Colorado, USA 80307 3300 Mitchell Lane, Room 1414 Boulder, Colorado, USA 80301 ---------------------------------------------------------------------------- Received: from ncar.UCAR.EDU (ncar.ucar.edu [128.117.64.4]) by thunder.joss.ucar.edu (8.9.1/8.9.1) with ESMTP id LAA10645 for <address@hidden>; Fri, 20 Jul 2001 11:47:14 -0600 (MDT) Received: from nsstcex2.nsstc.nasa.gov (nsstcex2.nsstc.nasa.gov [198.122.199.137]) by ncar.UCAR.EDU (8.9.1a/) with ESMTP id LAA17660 for <address@hidden>; Fri, 20 Jul 2001 11:45:07 -0600 (MDT) Received: by nsstcex2.nsstc.nasa.gov with Internet Mail Service (5.5.2653.19) id <P2DFXLTV>; Fri, 20 Jul 2001 12:47:07 -0500 Message-ID: <address@hidden> From: "Guillory, Anthony" <address@hidden> To: "'address@hidden'" <address@hidden> Subject: RE: McIDAS converter software Date: Fri, 20 Jul 2001 12:47:06 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Steve, Sorry it has taken me so long to get back to you on this. I've attached a tar file with the makefile and the appropriate fortran routines to do the two variations for hdf -> mcidas that we do. If you need example input for either of these you can anonymous ftp to ftp://geo.msfc.nasa.gov/Weather and look under the GOES-8/hdf and GMS-5/hdf directories. For GOES you will also have to grab the corresponding .txt.Z file in the "doc" directory for GMS you will have to grab the corresponding .cal.Z file in the "calib" directory. The hdf and the other file will have to be in the same directory and you will need to uncompress the both files but you will only need to pass it the filename without the extension it will look for both files. No luck with Christy or Meyer on the data. Paul thinks Mike Goodman's group might know where it has gone too. Thanks for you help and if you do find anything drop Gary J. or Paul or me a note. Anthony R. Guillory NASA/GHCC 320 Sparkman Drive NW Huntsville, AL 35805-1912 (256) 961-7894 (256) 961-7394 FAX address@hidden -----Original Message----- From: Steve Williams [mailto:address@hidden] Sent: Tuesday, July 17, 2001 12:05 PM To: Guillory, Anthony Subject: McIDAS converter software Anthony, Thought I would check with you regarding the McIDAS conversion software we talked about. Is it possible to e-mail or FTP the code? We are getting close to finishing up the SeaSpace conversion side and your piece will complete the McIDAS side. Once complete we can provide you with a copy if you want. Had a nice visit with Jim Arnold here last week. I hadn't seen him in some time. Any luck locating the CHARM I data? I looked around here but couldn't find anything labeled. It might be at home in my personal spreadsheets. I seem to remember we entered these data in LOTUS or DBASE. You might ask Christy or Meyer if that rings a bell? Thanks for your help. Steve -- ---------------------------------------------------------------------------- Steve Williams UCAR/Joint Office for Science Support (JOSS) Telephone: (303)497-8164 Facsimile: (303)497-8158 Internet: address@hidden http://www.joss.ucar.edu/ Mailing address: Shipping Address: P.O. Box 3000 UCAR Foothills Laboratory IV Boulder, Colorado, USA 80307 3300 Mitchell Lane, Room 1414 Boulder, Colorado, USA 80301 ---------------------------------------------------------------------------- ------_=_NextPart_000_01C11143.FE0F6F70 Content-Type: application/octet-stream; name="steve.tar" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="steve.tar" Z2V0YW1lcy5mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDY0NCAAMDAzNzQ0 IAAwMDA2MzIgADAwMDAwMDE2NjQxIDA3MDQ1NDEzMTYzIDAxMzQ2NAAgMAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMGF0a2luc29uAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAZ2hjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAgADAwMDAw MCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABD ICAgICBQUk9HUkFNIEdFVEFNRVMKQwpDICAgICBNQUtFUyBBIE1DSURBUyBBUkVBIEZST00gQSBH VkFSIEhERiBGSUxFCkMKQyAgICAgR0VUQU1FUyA8RmlsZSBOYW1lPiA8QXJlYSBOdW1iZXI+IDxC YW5kIE51bWJlcj4KQwpDICAgICBGaWxlIE5hbWUgLSBGb3JtYXQgWVlERE1NSEhTUyAoMTAgQ2hh cmFjdGVycykgV2l0aG91dCBFeHRlbnNpb24KQyAgICAgICAgICAgICAgICAgRmlsZXMgd2l0aCBF eHRlbnNpb25zIC5oZGYgYW5kIC50eHQgYXJlIFJlcXVpcmVkCkMgICAgIEFyZWEgTnVtLiAtIE5v IGRlZmF1bHQKQyAgICAgQmFuZCBOdW0uIC0gRGVmYXVsdCBpcyAxCkMKICAgICAgU1VCUk9VVElO RSBtYWluMAogICAgICBpbnRlZ2VyICAgZGF0YWRpbSgyKSwgbGluZWRpbSgyKSwgbGluZXN0cnQo MikKICAgICAgaW50ZWdlciAgIGFyZWEsIGJhbmQsIGVyZXMsIGRhdGUsIHRpbWUsIGVjb3IsIGFy YWRpcig2NCkKICAgICAgaW50ZWdlciAgIGVwb2NoLCB5ZWFyLCBkYXksIGhvdXIsIHNlYywgeDEw MCg3KQogICAgICBkaW1lbnNpb24gbnBhcm1zKDY0MCksIHBhcm1zKDY0MCkKICAgICAgaW50ZWdl cioyIGRhdGEoMjAwMDApCiAgICAgIGNoYXJhY3RlcioyMCBkb2NmaWxlLCBoZGZmaWxlLCBmaWxl LCBjZXBvY2gKICAgICAgZXF1aXZhbGVuY2UgKG5wYXJtcywgcGFybXMpCiAgICAgIGRhdGEgeDEw MCAvMTUsIDYyLCA2NCwgMTMxLCAxODYsIDI1OSwgMzE0LwpDCiAgICAgIGlzdGF0ID0gbWNjbWRz dHIgKCcgJywgMSwgJyAnLCBmaWxlKQogICAgICBpc3RhdCA9IG1jY21kaW50ICgnICcsIDIsICdB UkVBJywgMCwgMSwgOTk5OSwgYXJlYSkKICAgICAgaXN0YXQgPSBtY2NtZGludCAoJyAnLCAzLCAn QkFORCcsIDEsIDEsICAgIDUsIGJhbmQpCkMKQyAgICAgNCBLTSBEYXRhLCBFeGNlcHQgV2F0ZXIg VmFwb3IgKDggWCA0KQogICAgICBscmVzID0gNAogICAgICBlcmVzID0gNAogICAgICBpZiAoYmFu ZC5lcS4zKSB0aGVuCiAgICAgIGxyZXMgPSA4CiAgICAgIGVyZXMgPSA0CiAgICAgIGVuZCBpZgog ICAgICBwcmludCAqLCAnQXJlYSwgQmFuZCwgUmVzb2x1dGlvbicsIGFyZWEsIGJhbmQsIGxyZXMs IGVyZXMKQwpDICAgICBBZGQgRmlsZSBFeHRlbnNpb25zIGFuZCBPcGVuIFRleHQgRmlsZQogICAg ICBoZGZmaWxlID0gZmlsZSgxOjEwKS8vJy5oZGYnCiAgICAgIGRvY2ZpbGUgPSBmaWxlKDE6MTAp Ly8nLnR4dCcKICAgICAgb3BlbiAoMTAsIGZpbGU9ZG9jZmlsZSkKICAgICAgcHJpbnQgKiwgJ0hE RiBmaWxlIG5hbWUgJywgaGRmZmlsZQogICAgICBwcmludCAqLCAnRE9DIGZpbGUgbmFtZSAnLCBk b2NmaWxlCkMKQyAgICAgR0VUIFRIRSBSQU5LIEFORCBESU1FTlNJT05TIE9GIFRIRSBTRFMKICAg ICAgaXN0YXQgPSBkc2dkaW1zIChoZGZmaWxlLCBpcmFuaywgZGF0YWRpbSwgMikKICAgICAgcHJp bnQgKiwgJ0hERiBEaW1lbnNpb25zICAnLCBkYXRhZGltCkMKQyAqKiogR0VUIFRIRSBJTUFHRSBQ QVJBTUVURVJTIEZST00gVEhFIERPQ1VNRU5UQVRJT04gRklMRSAqKioKICAgICAgcmVhZCAoMTAs KikKICAgICAgY2FsbCBnZXR2YWwgKGlkKQogICAgICByZWFkICgxMCwqKQpDCkMgICAgIEltYWdl IFN0YXR1cyBCeXRlIDEsIExTIEJpdCAoIzApIG9uICh2YWx1ZT0gIDEpIG1lYW5zIFMtTiBTY2Fu CkMgICAgIEltYWdlIFN0YXR1cyBCeXRlIDIsIE1TIEJpdCAoIzcpIG9uICh2YWx1ZT0xMjgpIG1l YW5zIElNQyBPbgogICAgICBjYWxsIGdldHZhbCAoaW1nc3RhdDEpCiAgICAgIGNhbGwgZ2V0dmFs IChpbWdzdGF0MikKICAgICAgcHJpbnQgKiwgJ0ltYWdlIFN0YXQgQnl0ZTEnLCBpbWdzdGF0MQog ICAgICBwcmludCAqLCAnSW1hZ2UgU3RhdCBCeXRlMicsIGltZ3N0YXQyCkMKICAgICAgZG8gbj0x LDgKICAgICAgcmVhZCAoMTAsKikKICAgICAgZW5kIGRvCiAgICAgIGNhbGwgZ2V0dmFsICh5ZWFy KQogICAgICBjYWxsIGdldHZhbCAoIGRheSkKICAgICAgY2FsbCBnZXR2YWwgKGhvdXIpCiAgICAg IGNhbGwgZ2V0dmFsICggbWluKQogICAgICBjYWxsIGdldHZhbCAoIHNlYykKICAgICAgY2FsbCBn ZXR2YWwgKG1zZWMpCkMKQyAgICAgRm9yIE1jSURBUyBEaXJlY3RvcnksIFVzZSBZZWFycyBTaW5j ZSAxOTAwICgxMDApLCBub3QgQWN0dWFsICgyMDAwKQpDICAgICBkYXRlID0gMTAwMCAqIG1vZCh5 ZWFyLDEwMCkgKyBkYXkKICAgICAgZGF0ZSA9IDEwMDAgKiAoeWVhciAtIDE5MDApICsgZGF5CiAg ICAgIHRpbWUgPSAxMDAwMDAwMCpob3VyICsgMTAwMDAwKm1pbiArIDEwMDAqc2VjICsgbXNlYwog ICAgICBwcmludCAqLCAnSW1hZ2UgRGF0ZSwgVGltZScsIGRhdGUsIHRpbWUKQwogICAgICBkbyBu PTEsOQogICAgICByZWFkICgxMCwqKQogICAgICBlbmQgZG8KICAgICAgY2FsbCBnZXR2YWwgKGVj b3IpCiAgICAgIHJlYWQgKDEwLCopCiAgICAgIGNhbGwgZ2V0dmFsIChsY29yKQogICAgICBwcmlu dCAqLCAnU3RhcnRpbmcgQ29vcmRzICcsIGxjb3IsIGVjb3IKQwpDICoqKiBHRVQgVEhFIE5BVklH QVRJT04gUEFSQU1FVEVSUyBGUk9NIFRIRSBET0NVTUVOVEFUSU9OIEZJTEUgKioqCkMKICAgICAg ZG8gbj0xLDY0MAogICAgICBucGFybXMobikgPSAwCiAgICAgIGVuZCBkbwoKQyAgICAgSW5zZXJ0 IElNQyBhbmQgRmxpcHBlZCAoQml0IDE1IG9uIGZvciBHT0VTLTEwKSBGbGFncwogICAgICBucGFy bXMoMykgPSBpbWdzdGF0MgogICAgICBpZiAoaWQuZXEuMTApIG5wYXJtcyg0KSA9IDMyNzY4CgpD ICAgICBTdGFydCBhdCBSZWZlcmVuY2UgTG9uZ2l0dWRlIChhNSksIFB1dCBpbiBNY0lEQVMgd29y ZCA2CiAgICAgIGRvIG49MSwyMgogICAgICByZWFkICgxMCwqKQogICAgICBlbmQgZG8KICAgICAg ZG8gMTMgbjE9NiwxMgogICAgICAgICBjYWxsIGdldG5hdiAocGFybXMobjEpLCBpbnQpCiAgICAg ICAgIG5wYXJtcyhuMSkgPSBuaW50IChwYXJtcyhuMSkgKiAxMDAwMDAwMC4wKQpDICAgICAgICBw cmludCAqLCAnTUNJREFTIHBvc2l0aW9uIGFuZCB2YWx1ZScsIG4xLCBucGFybXMobjEpCiAgIDEz IGNvbnRpbnVlCkMKQyAgICAgQ29udmVydCBFcG9jaCBEYXRlL1RJbWUgdG8gQkNEIEZvcm1hdAog ICAgICBjYWxsIGdldG5hdiAoeWVhciwgaW50KSAKICAgICAgY2FsbCBnZXRuYXYgKCBkYXksIGlu dCkgCiAgICAgIGNhbGwgZ2V0bmF2IChob3VyLCBpbnQpIAogICAgICBlcG9jaCA9IDEwMDAwKnll YXIgKyAxMCpkYXkgKyBob3VyLzEwCiAgICAgIHdyaXRlIChjZXBvY2gsICcoaTgpJykgZXBvY2gK ICAgICAgcmVhZCAgKGNlcG9jaCwgJyh6OCknKSBlcG9jaAogICAgICBucGFybXMoMTMpID0gZXBv Y2gKICAgICAgcHJpbnQgKiwgJ0Vwb2NoIERhdGUgJywgY2Vwb2NoLCBucGFybXMoMTMpCkMKICAg ICAgY2FsbCBnZXRuYXYgKCBtaW4sIGludCkgCiAgICAgIGNhbGwgZ2V0bmF2ICggc2VjLCBpbnQp IAogICAgICBjYWxsIGdldG5hdiAobXNlYywgaW50KSAKICAgICAgaG91ciA9IG1vZCAoaG91ciwx MCkKICAgICAgZXBvY2ggPSAxMDAwMDAwMCpob3VyICsgMTAwMDAwKm1pbiArIDEwMDAqc2VjICsg bXNlYwogICAgICB3cml0ZSAoY2Vwb2NoLCAnKGk4KScpIGVwb2NoCiAgICAgIHJlYWQgIChjZXBv Y2gsICcoejgpJykgZXBvY2gKICAgICAgbnBhcm1zKDE0KSA9IGVwb2NoCiAgICAgIHByaW50ICos ICdFcG9jaCBUaW1lICcsIGNlcG9jaCwgbnBhcm1zKDE0KQpDCiAgICAgIGRvIDE2IG49MTQsMzM2 CkMKQyAgICAgSUYgQ09ESUNJTCBQT1NJVElPTiA+IDExNiwgT0ZGU0VUIEJZIDEzIFBPU0lUSU9O UwpDICAgICBJRiBDT0RJQ0lMIFBPU0lUSU9OID4gMjI2LCBPRkZTRVQgQlkgMzEgUE9TSVRJT05T CkMgICAgIFRISVMgU0tJUFMgVE8gUE9TSVRJT05TIDEyOSBBTkQgMjU3LCBBRlRFUiAiTU9SRSIK ICAgICAgbjEgPSBuICsgMQogICAgICBpZiAobi5ndC4xMTYpIG4xID0gbiArIDEzCiAgICAgIGlm IChuLmd0LjIyNikgbjEgPSBuICsgMzEKICAgICAgY2FsbCBnZXRuYXYgKHBhcm1zKG4xKSwgaW50 KQpDCkMgICAgIElGIFZBTFVFIElTIE5PVCBJTlRFR0VSLCBTQ0FMRSBBTkQgQ09OVkVSVCBUTyBJ TlRFR0VSCiAgICAgIGlmIChpbnQuZXEuMCkgdGhlbgpDCkMgICAgIEZvciA3IFNwZWNpZmllZCBM b2NhdGlvbnMsIFNjYWxlIGJ5IDEwMAogICAgICBkbyAxOCBqPTEsNwogICAgICAgICBpZiAobjEu ZXEueDEwMChqKSkgdGhlbgogICAgICAgICBucGFybXMobjEpID0gbmludCAocGFybXMobjEpICog MTAwLjApCkMgICAgICAgIHByaW50ICosICduIG4xIG5wYXJtcycsIG4sIG4xLCBucGFybXMobjEp CiAgICAgICAgIGdvIHRvIDE2CiAgICAgICAgIGVuZCBpZgogICAxOCBjb250aW51ZQpjCkMgICAg IE90aGVyd2lzZSwgU2NhbGUgYnkgU2V2ZW4gRGVjaW1hbCBQbGFjZXMKICAgICAgbnBhcm1zKG4x KSA9IG5pbnQgKHBhcm1zKG4xKSAqIDEwMDAwMDAwLjApCiAgICAgIGVuZCBpZgpDICAgICBwcmlu dCAqLCAnTUNJREFTIHBvc2l0aW9uIGFuZCB2YWx1ZScsIG4xLCBucGFybXMobjEpCiAgIDE2IGNv bnRpbnVlCkMKQyAgICAgSW5zZXJ0IERhdGUsIFRpbWUsIEltYWdlci9Tb3VuZGVyIEZsYWcKICAg ICAgbnBhcm1zKDM2OCkgPSBkYXRlCiAgICAgIG5wYXJtcygzNjkpID0gdGltZQogICAgICBucGFy bXMoMzcwKSA9IDEKQwogICAgICBucGFybXMoICAxKSA9IGxpdCgnR1ZBUicpCiAgICAgIG5wYXJt cygxMjgpID0gbGl0KCdNT1JFJykKICAgICAgbnBhcm1zKDI1NikgPSBsaXQoJ01PUkUnKQpDCkMg ICAgIEluc2VydCBGYWN0b3J5IFZhbHVlcyBvZiBDeWNsZXMgYW5kIEluY3JlbWVudHMKQyAgICAg VGhlc2UgYXJlIENvYXJzZSBhbmQgRmluZSBNZWFzdXJlbWVudHMgb2YgU2Vydm8gTW90b3IgU2hh ZnQKQyAgICAgUG9zaXRpb25zIFJlbGF0aXZlIHRvIFNjYW5uaW5nIE1pcnJvciBQb3NpdGlvbnMK ICAgICAgbnBhcm1zKDM4MCkgPSA0CiAgICAgIG5wYXJtcygzODEpID0gMgogICAgICBpZiAoaWQg LmVxLiA4KSB0aGVuCiAgICAgICAgICBucGFybXMoMzgyKSA9IDM0ODcKICAgICAgICAgIG5wYXJt cygzODMpID0gMzA2OAogICAgICBlbHNlIGlmIChpZCAuZXEuICA5KSB0aGVuCiAgICAgICAgICBu cGFybXMoMzgyKSA9IDI3OTUKICAgICAgICAgIG5wYXJtcygzODMpID0gMzA2OAogICAgICBlbHNl IGlmIChpZCAuZXEuIDEwKSB0aGVuCiAgICAgICAgICBucGFybXMoMzgyKSA9IDMyOTkKICAgICAg ICAgIG5wYXJtcygzODMpID0gMzAyNQogICAgICBlbmQgaWYKQyAgICAgCkMgKioqIE1BS0UgVEhF IEFSRUEgKioqCiAgICAgIGRvIG49MSw2NAogICAgICBhcmFkaXIobikgPSAwCiAgICAgIGVuZCBk bwpDCiAgICAgIGFyYWRpciggMikgPSA0CiAgICAgIGFyYWRpciggMykgPSA1NCArIDIqaWQKICAg ICAgYXJhZGlyKCA0KSA9IGRhdGUKICAgICAgYXJhZGlyKCA1KSA9IHRpbWUvMTAwMDAwKjEwMAog ICAgICBhcmFkaXIoIDYpID0gbGNvcgogICAgICBhcmFkaXIoIDcpID0gZWNvcgogICAgICBhcmFk aXIoIDgpID0gMQogICAgICBhcmFkaXIoIDkpID0gZGF0YWRpbSgyKQogICAgICBhcmFkaXIoMTAp ID0gZGF0YWRpbSgxKQogICAgICBhcmFkaXIoMTEpID0gMgogICAgICBhcmFkaXIoMTIpID0gbHJl cwogICAgICBhcmFkaXIoMTMpID0gZXJlcwogICAgICBhcmFkaXIoMTQpID0gMQogICAgICBhcmFk aXIoMTkpID0gMiAqKiAoYmFuZC0xKQogICAgICBhcmFkaXIoMzQpID0gMjgxNgogICAgICBhcmFk aXIoMzUpID0gMjU2CiAgICAgIGFyYWRpcig1MikgPSAnR1ZBUicKICAgICAgYXJhZGlyKDUzKSA9 ICdSQVcgJwpDCkMgICAgIHByaW50ICosIGFyYWRpcgogICAgICBjYWxsIG1ha2FyYSAoYXJlYSwg YXJhZGlyKQpDCkMgICAgIENoZWNrIGZvciBCYWQgRGF0ZSBpbiB0aGUgRGlyZWN0b3J5CkMgICAg IElmIERhdGUgPiBBcmVhIENyZWF0aW9uLCBQdXQgaW4gQ3JlYXRpb24gRGF0ZQogICAgICBjYWxs IHJlYWRkIChhcmVhLCBhcmFkaXIpCiAgICAgIGlmIChhcmFkaXIoNCkgLmd0LiBhcmFkaXIoMTcp KSB0aGVuCiAgICAgIGFyYWRpciggIDQpID0gYXJhZGlyKDE3KQogICAgICBucGFybXMoMzY4KSA9 IGFyYWRpcigxNykKICAgICAgY2FsbCB3cml0ZCAoYXJlYSwgYXJhZGlyKQogICAgICBwcmludCAq LCAnRGlyZWN0b3J5IERhdGUgU2V0IHRvJywgYXJhZGlyKDQpCiAgICAgIGVuZCBpZgpDCiAgICAg IGNhbGwgb3BuYXJhIChhcmVhKQogICAgICBjYWxsIGFyYXB1dCAoYXJlYSwgYXJhZGlyKDM1KSwg NCo2NDAsIG5wYXJtcykKQwpDICoqKiBSRUFEIEFORCBXUklURSBUSEUgUkFTVEVSIERBVEEgQlkg TElORVMgKioqCiAgICAgIGxpbmVkaW0oMSkgPSBkYXRhZGltKDEpCiAgICAgIGxpbmVkaW0oMikg PSAxCiAgICAgIGxpbmVzdHJ0KDEpID0gMQogICAgICBubGluZSA9IGFyYWRpciggOSkKICAgICAg bmVsZW0gPSBhcmFkaXIoMTApCkMKICAgICAgZG8gNTAgbmw9MSxubGluZQogICAgICAgIGxpbmVz dHJ0KDIpID0gbmwKICAgICAgICBpc3RhdCA9IGRzZ3NsYyAoaGRmZmlsZSwgbGluZXN0cnQsIGxp bmVkaW0sIGRhdGEsIGxpbmVkaW0pCkMKICAgICAgICBpZiAobW9kKG5sLDUwMCkuZXEuMCkgcHJp bnQgKiwgbmwsIChkYXRhKG5zKSwgbnM9MTAwMCwxMDA1KQpDCkMgICAgICAgTXVsdGlwbHkgYnkg MzIgZm9yIE1jSURBUwogICAgICAgIGRvIG5zPTEsbmVsZW0KICAgICAgICBkYXRhKG5zKSA9IDMy ICogZGF0YShucykKICAgICAgICBlbmQgZG8KQwogICAgICBjYWxsIHdydGFyYSAoYXJlYSwgbmwt MSwgZGF0YSkKICAgNTAgY29udGludWUKQwogICAgICBjYWxsIHN0YW1wICAoYXJlYSkKICAgICAg Y2FsbCBjbHNhcmEgKGFyZWEpCiAgICAgIHByaW50ICosICdDbG9zZWQgQXJlYScsIGFyZWEKICAg ICAgZW5kCkMKICAgICAgU1VCUk9VVElORSBnZXR2YWwgKGl2YWx1ZSkKQwogICAgICBjaGFyYWN0 ZXIqODAgZG9jCkMKQyAgICAgUmVhZCBSZWNvcmQgYW5kIEZpbmQgRXF1YWwgU2lnbgogICAgICBy ZWFkICgxMCwnKGEpJykgZG9jCiAgICAgIG4xID0gaW5kZXgoZG9jLCc9JykgKyAxCkMKQyAgICAg UmVhZCBpbnRvIGFuIEludGVnZXIgVmFyaWFibGUKICAgICAgcmVhZCAoZG9jKG4xOiksKikgaXZh bHVlCiAgICAgIGVuZAoKICAgICAgU1VCUk9VVElORSBnZXRuYXYgKHBhcm0sIGludCkKQwogICAg ICBjaGFyYWN0ZXIqODAgZG9jCiAgICAgIGVxdWl2YWxlbmNlICh2YWx1ZSwgaXZhbHVlKQpDCkMg ICAgIFJlYWQgUmVjb3JkIGFuZCBGaW5kIEVxdWFsIFNpZ24KICAgICAgcmVhZCAoMTAsJyhhKScp IGRvYwogICAgICBuMSA9IGluZGV4KGRvYywnPScpICsgMQpDCkMgICAgIENoZWNrIGlmIE51bWJl ciBjb250YWlucyBhIERlY2ltYWwgUG9pbnQKQyAgICAgVGhlbiBSZWFkIGludG8gYSBGbG9hdGlu ZyBQb2ludCBvciBJbnRlZ2VyIFZhcmlhYmxlCiAgICAgIGlmIChpbmRleChkb2MobjE6bjErMTAp LCcuJykgLm5lLiAwKSB0aGVuCiAgICAgICAgIGludCA9IDAKICAgICAgICAgcmVhZCAoZG9jKG4x OiksKikgdmFsdWUKICAgICAgZWxzZQogICAgICAgICBpbnQgPSAxCiAgICAgICAgIHJlYWQgKGRv YyhuMTopLCopIGl2YWx1ZQogICAgICBlbmRpZgpDCiAgICAgIHBhcm0gPSB2YWx1ZQogICAgICBl bmQKICAgICAgZW5kCgogICAgICBTVUJST1VUSU5FIGdldG5hdiAocGFybSwgaW50KQpDCiAgICAg IGNoYXJhY3Rlcio4MCBkb2MKICAgICAgZXF1aXZhbGVuY2UgKHZhbHVnZXRnbXMuZgAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwNjQ0IAAwMDM3NDQgADAwMDYzMiAAMDAwMDAw MzMxNzEgMDY3NDU0NTI0NjYgMDEzMzQxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyADAwYXRraW5zb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnaGNj AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMCAAMDAwMDAwIAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMgICAgIFBST0dSQU0gR0VU R01TCkMKQyAgICAgTUFLRVMgQSBNQ0lEQVMgQVJFQSBGUk9NIEEgR01TIEhERiBGSUxFCkMKQyAg ICAgR0VUR01TIDxGaWxlIE5hbWU+IDxBcmVhIE51bWJlcj4gPEJhbmQgTnVtYmVyPgpDCkMgICAg IEZpbGUgTmFtZSAtIEZvcm1hdCBZWURETU1ISFNTICgxMCBDaGFyYWN0ZXJzKSBXaXRob3V0IEV4 dGVuc2lvbgpDICAgICAgICAgICAgICAgICBGaWxlcyB3aXRoIEV4dGVuc2lvbnMgLmhkZiBhbmQg LmNhbCBhcmUgUmVxdWlyZWQKQyAgICAgQXJlYSBOdW0uIC0gTm8gZGVmYXVsdApDICAgICBCYW5k IE51bS4gLSBEZWZhdWx0IGlzIDEKQwogICAgICBzdWJyb3V0aW5lIG1haW4wCiAgICAgIGludGVn ZXIgaG9wZW4sIGZpbGVpZCwgdmZnaWQsIHZmYXRjaCwgdnNmZ2lkCiAgICAgIGludGVnZXIgYXJl YSwgYmFuZCwgYXJhZGlyKDY0KSwgbnBhcm1zKDEyOCkKICAgICAgaW50ZWdlciB0YWJsZSg2NCks IHBhbGV0dGUoNzY4KQogICAgICBpbnRlZ2VyKjEgZGF0YSg2MDAwMDAwKQogICAgICBjaGFyYWN0 ZXIqMTAgZmlsZQogICAgICBjaGFyYWN0ZXIqNDAgaGRmZmlsZSwgY2FsZmlsZSwgZ25hbWUKICAg ICAgaW50ZWdlciBzcyAvODMvLCBuYXZzdGFydCAvMjU2LywgY2Fsc3RhcnQgLzc2OC8sIGRhdGFz dGFydCAvNzkzNi8KICAgICAgY29tbW9uIC9pZGVudC8gZmlsZWlkCkMKICAgICAgaXN0YXQgPSBt Y2NtZHN0ciAoJyAnLCAxLCAnICcsIGZpbGUpCiAgICAgIGlzdGF0ID0gbWNjbWRpbnQgKCcgJywg MiwgJ0FSRUEnLCAwLCAxLCA5OTk5LCBhcmVhKQogICAgICBpc3RhdCA9IG1jY21kaW50ICgnICcs IDMsICdCQU5EJywgMSwgMSwgICAgNCwgYmFuZCkKQwpDICAgICBHRU5FUkFURSBGSUxFIE5BTUVT IEFORCBPUEVOIENBTElCUkFUSU9OIEZJTEUKICAgICAgaGRmZmlsZSA9IGZpbGUvLycuaGRmJwog ICAgICBjYWxmaWxlID0gZmlsZS8vJy5jYWwnCiAgICAgIG9wZW4gKDEwLCBmaWxlPWNhbGZpbGUp CiAgICAgIHByaW50ICosICdIREYgZmlsZSBuYW1lICcsIGhkZmZpbGUKICAgICAgcHJpbnQgKiwg J0NBTCBmaWxlIG5hbWUgJywgY2FsZmlsZQpDCkMgICAgIEdFVCBUSEUgRElNRU5TSU9OUyBPRiBU SEUgSU1BR0UKICAgICAgaXN0YXQgPSBkOGdkaW1zIChoZGZmaWxlLCBpd2lkdGgsIGloZWlnaHQs IGlzcGFsZXR0ZSkKICAgICAgcHJpbnQgKiwgJ0hERiBEaW1lbnNpb25zLCBQYWxldHRlJywgaXdp ZHRoLCBpaGVpZ2h0LCBpc3BhbGV0dGUKQwpDICAgICBPUEVOIEhERiBGSUxFIEZPUiBSRUFESU5H IFZEQVRBCiAgICAgIGZpbGVpZCA9IGhvcGVuIChoZGZmaWxlLCAxLCAwKQogICAgICBpc3RhcnQg PSB2ZnN0YXJ0IChmaWxlaWQpCkMKQyAgICAgR0VUIFRIRSBSRUZFUkVOQ0UgTlVNQkVSIEFORCBJ RCBPRiBUSEUgRklSU1QgVkdST1VQCiAgICAgIG5yZWYgPSB2ZmdpZCAoZmlsZWlkLCAtMSkKICAg ICAgcHJpbnQgKiwgJ0ZpbGVJRCwgUmVmIE5vJywgZmlsZWlkLCBucmVmCkMKQyAgICAgQUNDRVNT IFRIRSBWR1JPVVAgRk9SIFJFQURJTkcKICAgICAgaWR2Z3JvdXAgPSB2ZmF0Y2ggKGZpbGVpZCwg bnJlZiwgJ3InKQpDCkMgICAgIEdFVCBUSEUgTlVNQkVSIE9GIEVOVFJJRVMgQU5EIE5BTUUgT0Yg VEhFIFZHUk9VUAogICAgICBnbmFtZSA9ICcgJwogICAgICBpc3RhdCA9IHZmaW5xIChpZHZncm91 cCwgbmVudHJpZXMsIGduYW1lKQogICAgICBwcmludCAqLCAnVmdyb3VwIEVudHJpZXMnLCBuZW50 cmllcywgJyAgJywgZ25hbWUKQwpDICAgICBHRVQgUkVGRVJFTkNFIE5VTUJFUiBPRiBUSEUgRklS U1QgVkRBVEEKICAgICAgbnJlZiA9IHZzZmdpZCAoZmlsZWlkLCAtMSkKICAgICAgcHJpbnQgKiwg J1N0YXJ0IFJlZiBOby4gJywgbnJlZgogICAgICBwcmludCAqCkMKQyAgICAgR0VUIFRIRSBJTUFH RSBQQVJBTUVURVJTIEZST00gVEhFIFZEQVRBCiAgICAgIGNhbGwgZ2V0dmFsICggOSwgaXNjYW4p CiAgICAgIGNhbGwgZ2V0dmFsICgxNCwgaXllYXIpCiAgICAgIGNhbGwgZ2V0dmFsICgxNSwgIGlt b24pCiAgICAgIGNhbGwgZ2V0dmFsICgxNiwgIGlkYXkpCiAgICAgIGNhbGwgZ2V0dmFsICgxNywg aWhvdXIpCiAgICAgIGNhbGwgZ2V0dmFsICgxOCwgICBtaW4pCiAgICAgIGNhbGwgZ2V0dmFsICgx OSwgIGlzZWMpCiAgICAgIGlzdGF0ID0gbWNkbXl0b2N5ZCAoaWRheSwgaW1vbiwgaXllYXIsIGpk YXRlKQogICAgICBpdGltZSA9IDEwMDAwKmlob3VyICsgMTAwKm1pbgpDCkMgICAgIE1BS0UgVEhF IEFSRUEgRElSRUNUT1JZCiAgICAgIGRvIG49MSw2NAogICAgICBhcmFkaXIobikgPSAwCiAgICAg IGVuZCBkbwpDCiAgICAgIGFyYWRpciggMikgPSA0CiAgICAgIGFyYWRpciggMykgPSBzcwogICAg ICBhcmFkaXIoIDQpID0gamRhdGUKICAgICAgYXJhZGlyKCA1KSA9IGl0aW1lCiAgICAgIGFyYWRp ciggNikgPSA0Kihpc2Nhbi0xKSArIDEKICAgICAgYXJhZGlyKCA3KSA9IDEgICAgCiAgICAgIGFy YWRpciggOCkgPSAxCiAgICAgIGFyYWRpciggOSkgPSBpaGVpZ2h0CiAgICAgIGFyYWRpcigxMCkg PSBpd2lkdGgKICAgICAgYXJhZGlyKDExKSA9IDEKICAgICAgYXJhZGlyKDEyKSA9IDQKICAgICAg YXJhZGlyKDEzKSA9IDQKICAgICAgYXJhZGlyKDE0KSA9IDEKICAgICAgYXJhZGlyKDE5KSA9IDIg KiogKGJhbmQtMSkKICAgICAgYXJhZGlyKDM0KSA9IGRhdGFzdGFydAogICAgICBhcmFkaXIoMzUp ID0gbmF2c3RhcnQKICAgICAgYXJhZGlyKDUyKSA9ICdHTVMgJwogICAgICBhcmFkaXIoNTMpID0g J1JBVyAnCiAgICAgIGFyYWRpcig2MykgPSBjYWxzdGFydApDCkMgICAgIE1BS0UgQU5EIE9QRU4g VEhFIEFSRUEKICAgICAgY2FsbCBtYWthcmEgKGFyZWEsIGFyYWRpcikKICAgICAgY2FsbCBvcG5h cmEgKGFyZWEpCkMKQyAtLS0gV3JpdGUgb3V0IE5hdmlnYXRpb24gdG8gTWNJREFTIEFyZWEKICAg ICAgZG8gbj0xLDEyOAogICAgICBucGFybXMobikgPSAwCiAgICAgIGVuZCBkbwogICAgICBucGFy bXMoMSkgPSAnR09FUycKICAgICAgbnBhcm1zKDIpID0gc3MqMTAwMDAwICsgamRhdGUKICAgICAg bnBhcm1zKDMpID0gaXRpbWUKICAgICAgbnBhcm1zKDQpID0gMQogICAgICBjYWxsIE1ha2VOYXYg KGFyZWEsIG5hdnN0YXJ0LCBucGFybXMpCkMKQyAtLS0gV3JpdGUgb3V0IENhbGlicmF0aW9uIHRv IE1jSURBUyBBcmVhCiAgICAgIGNhbGwgTWFrZUNhbCAoYXJlYSwgY2Fsc3RhcnQpCkMKQyAtLS0g UmVhZCBEYXRhIGZyb20gR01TIEhERiBGaWxlCiAgICAgIGlzdGF0ID0gZDhnaW1nIChoZGZmaWxl LCBkYXRhLCBpd2lkdGgsIGloZWlnaHQsIHBhbGV0dGUpCkMKQyAtLS0gQ3JlYXRlIFRhYmxlIHRv IFNjYWxlIEdNUyBWaXNpYmxlIERhdGEgYnkgNCBmb3IgTWNJREFTIFZhbHVlcwogICAgICBpZiAo YmFuZCAuZXEuIDEpIHRoZW4KICAgICAgZG8gaWk9MSw2NAogICAgICB0YWJsZShpaSkgPSA0ICog KGlpLTEpCiAgICAgIGVuZCBkbwogICAgICBjYWxsIG1waXh0YiAoaXdpZHRoKmloZWlnaHQsIDEs IDEsIGRhdGEsIHRhYmxlKQogICAgICBlbmQgaWYKQwpDIC0tLSBXcml0ZSBEYXRhIHRvIE1jSURB UyBBcmVhCiAgICAgIG5lbGVtID0gMQogICAgICBkbyBubD0xLGloZWlnaHQKICAgICAgY2FsbCB3 cnRhcmEgKGFyZWEsIG5sLTEsIGRhdGEobmVsZW0pKQogICAgICBuZWxlbSA9IG5lbGVtICsgaXdp ZHRoCiAgICAgIGVuZCBkbwpDCiAgICAgIGNhbGwgc3RhbXAgIChhcmVhKQogICAgICBjYWxsIGNs c2FyYSAoYXJlYSkKICAgICAgcHJpbnQgKiwgJ0Nsb3NlZCBBcmVhJywgYXJlYQogICAgICBlbmQK QwogICAgICBTdWJyb3V0aW5lIE1ha2VOYXYgKGFyZWEsIG5hdnN0YXJ0LCBucGFybXMpCkMKQyAg ICAgR0VUIFRIRSBOQVZJR0FUSU9OIFBBUkFNRVRFUlMgRlJPTSBUSEUgVkRBVEEgUkVDT1JEUwpD CiAgICAgIGRpbWVuc2lvbiBucGFybXMoMTI4KQpDCiAgICAgIGNhbGwgZ2V0dmFsICg0MCwgcGlj bGluKQogICAgICBucGFybXMoMTUpID0gbmludCAocGljbGluICogMTAwMDAuMCkKQwogICAgICBj YWxsIGdldHZhbCAoNDQsIG5zZW5zKSAKICAgICAgY2FsbCBnZXR2YWwgKDQ3LCBubGluZSkgCiAg ICAgIGNhbGwgZ2V0dmFsICg0OCwgbmVsZW0pIAogICAgICBucGFybXMoMTcpID0gMjIwNTU2CiAg ICAgIG5wYXJtcygxOCkgPSAxMDAwMDAqbnNlbnMgKyBubGluZQogICAgICBucGFybXMoMTkpID0g MTgyMjMwCiAgICAgIG5wYXJtcygyMCkgPSBuZWxlbQpDCiAgICAgIGNhbGwgZ2V0dmFsICg1MCwg eWF3ICApCiAgICAgIGNhbGwgZ2V0dmFsICg1MSwgcGl0Y2gpCiAgICAgIGNhbGwgZ2V0dmFsICg1 Miwgcm9sbCApCiAgICAgIGNhbGwgZ2V0dmFsICg1NSwgZGdwcmQpCiAgICAgIG5wYXJtcygyMSkg PSBpbGFsbyAocGl0Y2gqZGdwcmQpCiAgICAgIG5wYXJtcygyMikgPSBpbGFsbyAoeWF3ICAqZGdw cmQpCiAgICAgIG5wYXJtcygyMykgPSBpbGFsbyAocm9sbCAqZGdwcmQpCkMKICAgICAgY2FsbCBn ZXR2YWwgKDU5LCBldGlteSkKICAgICAgSmRheSA9IG5pbnQoZXRpbXkpICsgMjQwMDAwMApDCkMg ICAgIFNQTElUIEpVTElBTiBEQVRFIEZST00gNDcxMyBCQyBJTlRPIFlFQVIvTU9OVEgvREFZCkMg ICAgIENPREUgRlJPTSBNQ0lEQVMgRklMRSBkYXRlLmMsIEZVTkNUSU9OIE0wamRfZXh0cmFjdApD ICAgICBGUk9NICJNSUNST1NPRlQgUVVJQ0stQyBQUk9HUkFNTUVSJ1MgVE9PTCBCT1giCiAgICAg IGl4ID0gNCpKZGF5IC0gNjg4NDQ3NwogICAgICBpeSA9IGl4IC8gMTQ2MDk3ICogMTAwCiAgICAg IGlkID0gbW9kKGl4LDE0NjA5NykgLyA0CiAgICAgIGl4ID0gNCppZCArIDMKICAgICAgaXkgPSBp eC8xNDYxICsgaXkKICAgICAgaWQgPSBtb2QoaXgsMTQ2MSkgLyA0ICsgMQogICAgICBpeCA9IDUq aWQgLSAzCiAgICAgIGltID0gaXgvMTUzICsgMQogICAgICBpeSA9IGl5ICsgaW0vMTEKICAgICAg aWQgPSBtb2QoaXgsMTUzKSAvIDUgKyAxCiAgICAgIGlmIChpbS5sdC4xMSkgdGhlbgogICAgICBp bSA9IGltICsgMgogICAgICBlbHNlCiAgICAgIGltID0gaW0gLSAxMAogICAgICBlbmQgaWYKICAg ICAgbnBhcm1zKCA1KSA9IGl5KjEwMDAwICsgaW0qMTAwICsgaWQKICAgICAgcHJpbnQgKiwgJ0p1 bGlhbiBkYXksIEVwb2NoIGRhdGUnLCBKZGF5LCBucGFybXMoNSkKQwogICAgICBjYWxsIGdldHZh bCAoNjAsIHNlbWltYSkKICAgICAgY2FsbCBnZXR2YWwgKDYxLCBlY2NlbiApCiAgICAgIGNhbGwg Z2V0dmFsICg2Miwgb3JiaW5jKQogICAgICBjYWxsIGdldHZhbCAoNjMsIGFzbm9kZSkKICAgICAg Y2FsbCBnZXR2YWwgKDY0LCBwZXJnZWUpCiAgICAgIGNhbGwgZ2V0dmFsICg2NSwgeG1lYW5hKQog ICAgICBucGFybXMoIDcpID0gbmludCAoc2VtaW1hICogICAgIDEwMC4wKQogICAgICBucGFybXMo IDgpID0gbmludCAoZWNjZW4gICogMTAwMDAwMC4wKQogICAgICBucGFybXMoIDkpID0gbmludCAo b3JiaW5jICogICAgMTAwMC4wKQogICAgICBucGFybXMoMTApID0gbmludCAoeG1lYW5hICogICAg MTAwMC4wKQogICAgICBucGFybXMoMTEpID0gbmludCAocGVyZ2VlICogICAgMTAwMC4wKQogICAg ICBucGFybXMoMTIpID0gbmludCAoYXNub2RlICogICAgMTAwMC4wKQpDCiAgICAgIGNhbGwgZ2V0 dmFsICg3NiwgcnBtKQogICAgICBwZXJpb2QgPSA2MC4wIC8gcnBtCiAgICAgIG5wYXJtcygxNikg PSBuaW50IChwZXJpb2QgKiAxMDAwMDAwLjApCkMKICAgICAgY2FsbCBnZXR2YWwgKDc3LCByYXNj ZW4pCiAgICAgIGNhbGwgZ2V0dmFsICg3OCwgZGVjbGluKQogICAgICBucGFybXMoMTMpID0gLWls YWxvIChkZWNsaW4qZGdwcmQpCiAgICAgIG5wYXJtcygxNCkgPSAtaWxhbG8gKHJhc2NlbipkZ3By ZCkKQwogICAgICBjYWxsIGFyYXB1dCAoYXJlYSwgbmF2c3RhcnQsIDQqMTI4LCBucGFybXMpCiAg ICAgIGVuZApDCiAgICAgIFN1YnJvdXRpbmUgR2V0VmFsIChucmVmLCBwYXJtLCBpbnQpCkMKICAg ICAgaW50ZWdlciB2c2ZhdGNoLCB2ZGF0YWlkCiAgICAgIHJlYWwqOCAgZnZkYXRhCiAgICAgIGNo YXJhY3RlcioyMCBmaWVsZAogICAgICBjaGFyYWN0ZXIqODAgbmFtZQogICAgICBlcXVpdmFsZW5j ZSAodmFsdWUsIGl2YWx1ZSkKICAgICAgY29tbW9uIC9pZGVudC8gZmlsZWlkCiAgICAgIGRhdGEg bnJlYyAvMS8sIGludGVybGFjZSAvMC8KQwpDICAgICBBY2Nlc3MgdGhlIFNwZWNpZmllZCBSZWZl cmVuY2UgTnVtYmVyCiAgICAgIHZkYXRhaWQgPSB2c2ZhdGNoIChmaWxlaWQsIG5yZWYsICdyJykK QyAgICAgcHJpbnQgKiwgJ1ZkYXRhIElEJywgdmRhdGFpZApDCkMgICAgIFJlYWQgdGhlIERhdGEg RGVzY3JpcHRpb24gRmllbGQKICAgICAgbmFtZSAgPSAnICcKICAgICAgZmllbGQgPSAnICcKICAg ICAgaXN0YXQgPSB2c2ZpbnEgKHZkYXRhaWQsIG5yZWNzLCBpbnRlciwgZmllbGQsIG5ieXRlcywg bmFtZSkKQyAgICAgcHJpbnQgKiwgbmJ5dGVzLCAnICBCeXRlcyBpbiAgJywgZmllbGQKICAgICAg cHJpbnQgKiwgbmFtZQpDCkMgICAgIFJlYWQgdGhlIERhdGEgYXMgSW50ZWdlcgogICAgICBpZiAo bmJ5dGVzLmVxLjQpIHRoZW4KICAgICAgaXN0YXQgPSB2c2ZyZWFkICh2ZGF0YWlkLCBpdmRhdGEs IG5yZWMsIGludGVybGFjZSkKICAgICAgaXZhbHVlID0gaXZkYXRhCiAgICAgIHByaW50ICosIG5y ZWYsICcgICAnLCBmaWVsZCwgaXZkYXRhCiAgICAgIGVuZCBpZgpDCkMgICAgIFJlYWQgdGhlIERh dGEgYXMgRmxvYXRpbmcgUG9pbnQKICAgICAgaWYgKG5ieXRlcy5lcS44KSB0aGVuCiAgICAgIGlz dGF0ID0gdnNmcmVhZCAodmRhdGFpZCwgZnZkYXRhLCBucmVjLCBpbnRlcmxhY2UpCiAgICAgIHZh bHVlID0gZnZkYXRhCiAgICAgIHByaW50ICosIG5yZWYsICcgICAnLCBmaWVsZCwgZnZkYXRhCiAg ICAgIGVuZCBpZgpDCiAgICAgIHBhcm0gPSB2YWx1ZQogICAgICBlbmQKCiAgICAgIFN1YnJvdXRp bmUgTWFrZUNhbCAoYXJlYSwgY2Fsc3RhcnQpCmMKICAgICAgaW50ZWdlciAgIHZpcyg2NCksIGly MSgyNTYpLCBpcjIoMjU2KSwgaXIzKDI1NiksIGFsYmVkb3MoMjU2KQogICAgICBpbnRlZ2VyICAg YXJlYSwgY2Fsc3RhcnQsIGljYWxibCgyMikKICAgICAgZGltZW5zaW9uIGliZXRhKDcsMyksIGlm YWN0KDMpLCBpZygzKSwgaXYwKDMpLCBpYzAoMykKICAgICAgY2hhcmFjdGVyKjEgY2FsYmwoOTM2 KQogICAgICBjaGFyYWN0ZXIqNiBkYXRlCkMKICAgICAgZG8gaT0xLDIyCiAgICAgIGljYWxibChp KSA9IDAKICAgICAgZW5kIGRvCkMKQyAgICAgUmVhZCBDYWxpYnJhdGlvbiBJbmZvcm1hdGlvbiBJ RAogICAgICBjYWxsIGdldGNhbCAoaWRjYWwsIDApCiAgICAgIHByaW50ICosICdDYWxpYnJhdGlv biBJRCAgICcsIGlkY2FsCkMKQyAgICAgUmVhZCBEYXRhIEdlbmVyYXRlZCBEYXRlIChBU0NJSSBT dGFydGluZyBpbiBDb2x1bW4gNDUpCkMgICAgIENvbnZlcnQgeXl5eW1tZGRoaG1tIHRvIEhleCBG b3JtYXQgaW4gNiBCeXRlIERhdGUgV29yZAogICAgICByZWFkICgxMCwnKHQ0NSx6MTIpJykgZGF0 ZQogICAgICBwcmludCAnKCcnIERhdGUvVGltZScnLHoyMCknLCBkYXRlCkMKQyAgICAgUmVhZCBT ZW5zb3IgU2VsZWN0aW9uOiAxLXByaW1hcnkgMi1yZWR1bmRhbmN5CiAgICAgIGNhbGwgZ2V0Y2Fs IChpZHNlbiwgMCkKICAgICAgcHJpbnQgKiwgJ1NlbnNvciBTZWxlY3Rpb24gJywgaWRzZW4KQwpD ICAgICBJRkFDICBOdW1iZXIgb2YgY2FsaWJyYXRpb24gY29uc3RhbnRzIGluIHNlcmllcyBleHBh bnNpb24gZm9yIGVhY2ggYmFuZApDICAgICBSZWFkIElSIEJldGEgVmFsdWVzIFNjYWxlZCBieSAx MCoqNiAtLSBDYWxpYnJhdGlvbiBjb25zdGFudHMgZm9yIHRoZQpDICAgICB0aHJlZSBJUiBiYW5k cyBmb3IgY29udmVydGluZyBETiB0byBzZW5zb3Igb3V0cHV0IHZvbHRhZ2UgKHNjYWxlZCBpbnRz KQpDICAgICBHICBjb25zdGFudCB0byBiZSB1c2VkICh2b2x0cy93YXR0L2NtKioyL3NyKQpDICAg ICBWMCBjb25zdGFudCB0byBiZSB1c2VkICh6ZXJvIGxldmVsIHZvbHRhZ2UpCkMgICAgIEMwIGNv bnN0YW50IHRvIGJlIHVzZWQKICAgICAgaXNjYWxlID0gNgogICAgICBjYWxsIGdldGNhbCAoSUZB Q1QoMSksIDApCiAgICAgIGRvIG49MSw3CiAgICAgIGNhbGwgZ2V0Y2FsIChJQkVUQShuLDEpLCBp c2NhbGUpCiAgICAgIGVuZCBkbwogICAgICBjYWxsIGdldGNhbCAoSUcgKDEpLCAgICAgaXNjYWxl KQogICAgICBjYWxsIGdldGNhbCAoSVYwKDEpLCAgICAgaXNjYWxlKQogICAgICBjYWxsIGdldGNh bCAoSUMwKDEpLCAgICAgaXNjYWxlKQoKICAgICAgY2FsbCBnZXRjYWwgKElGQUNUKDIpLCAgIDAp CiAgICAgIGRvIG49MSw3CiAgICAgIGNhbGwgZ2V0Y2FsIChJQkVUQShuLDIpLCBpc2NhbGUpCiAg ICAgIGVuZCBkbwogICAgICBjYWxsIGdldGNhbCAoSUcgKDIpLCAgICAgaXNjYWxlKQogICAgICBj YWxsIGdldGNhbCAoSVYwKDIpLCAgICAgaXNjYWxlKQogICAgICBjYWxsIGdldGNhbCAoSUMwKDIp LCAgICAgaXNjYWxlKQoKICAgICAgY2FsbCBnZXRjYWwgKElGQUNUKDMpLCAgIDApCiAgICAgIGRv IG49MSw3CiAgICAgIGNhbGwgZ2V0Y2FsIChJQkVUQShuLDMpLCBpc2NhbGUpCiAgICAgIGVuZCBk bwogICAgICBjYWxsIGdldGNhbCAoSUcgKDMpLCAgICAgaXNjYWxlKQogICAgICBjYWxsIGdldGNh bCAoSVYwKDMpLCAgICAgaXNjYWxlKQogICAgICBjYWxsIGdldGNhbCAoSUMwKDMpLCAgICAgaXNj YWxlKQpDCkMgICAgIFNVQi1CTE9DSyAyOiAgLSBWSVNJQkxFIExFVkVMIFRPIEFMQkVETyBDT05W RVJTSU9OIFRBQkxFUyAtCkMgICAgIDI1Ni0gIDUxMSAoRm91ciA2NC1sZXZlbCB0YWJsZXMgZm9y IFZJUzEsIFZJUzIsIFZJUzMsIFZJUzQpCiAgICAgIGRvIGk9MSw2NAogICAgICAgICBjYWxsIGdl dGNhbCAodmlzKGkpLCA2KQogICAgICAgICBhbGJlZG9zKGkgICAgKSA9IHZpcyhpKQogICAgICAg ICBhbGJlZG9zKGkrNjQgKSA9IHZpcyhpKQogICAgICAgICBhbGJlZG9zKGkrMTI4KSA9IHZpcyhp KQogICAgICAgICBhbGJlZG9zKGkrMTkyKSA9IHZpcyhpKQogICAgICBlbmQgZG8KQwpDICAgICBT VUItQkxPQ0sgMzogIC0gSVIxIExFVkVMIFRPIFRFTVBFUkFUVVJFIENPTlZFUlNJT04gVEFCTEUg LQpDICAgICA1MTItICA3NjcgICBSZWNvcmRzIDEwMS0zNTYgb2YgR01TLTUgQ2FsaWJyYXRpb24g RGF0YSBCbG9jawogICAgICBkbyBpPTEsMjU2CiAgICAgICAgIGNhbGwgZ2V0Y2FsIChpcjEoaSks IDMpCiAgICAgIGVuZCBkbwpDCkMgICAgIFNVQi1CTE9DSyA0OiAgLSBJUjIgTEVWRUwgVE8gVEVN UEVSQVRVUkUgQ09OVkVSU0lPTiBUQUJMRSAtCkMgICAgIDc2OC0gMTAyMyAgIFJlY29yZHMgMzU3 LTYxMiBvZiBHTVMtNSBDYWxpYnJhdGlvbiBEYXRhIEJsb2NrCiAgICAgIGRvIGk9MSwyNTYKICAg ICAgICAgY2FsbCBnZXRjYWwgKGlyMihpKSwgMykKICAgICAgZW5kIGRvCkMKQyAgICAgU1VCLUJM T0NLIDU6ICAtIElSMyBMRVZFTCBUTyBURU1QRVJBVFVSRSBDT05WRVJTSU9OIFRBQkxFIC0KQyAg ICAgMTAyNC0gMTI3OSAgIFJlY29yZHMgNjEzLTg2OCBvZiBHTVMtNSBDYWxpYnJhdGlvbiBEYXRh IEJsb2NrCiAgICAgIGRvIGk9MSwyNTYKICAgICAgICAgY2FsbCBnZXRjYWwgKGlyMyhpKSwgMykK ICAgICAgZW5kIGRvCgpDICAgICBTdGFydCBwYWNraW5nIHRoZSBibG9jayBjb250ZW50cwpDICBX b3JkX0FkZHJlc3MgIENvbnRlbnRzCkMgIC0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkMgICAgICAgICAgICAg ICAgLSBESVJFQ1RPUlkgQkxPQ0sgLQpDICAgICAgMC0gICAgMCAgICJHTVM1IiAgICAgIEZvdXIg Ynl0ZSBBU0NJSSBJRCBvZiBDYWxpYnJhdGlvbiBCbG9jayBGb3JtYXQKQyAgICAgIDEtICAgIDEg ICAweDU4ICAgICAgICBEaXJlY3RvcnkgQmxvY2sgbGVuZ3RoIGluIGJ5dGVzICAoQ3VycmVudGx5 IDg4KQpDICAgICAgMi0gICAgMiAgIFN1Yi1CbG9jayAxIEZvdXIgQnl0ZSBBU0NJSSBJZGVudGlm aWVyICJDT0VGIiAoY29lZmZpY2llbnRzKQpDICAgICAgMy0gICAgMyAgIFN1Yi1CbG9jayAxIFN0 YXJ0aW5nIEJ5dGUgT2Zmc2V0IGZyb20gd29yZCAwICAoQ3VycmVudGx5IDg4KQpDICAgICAgNC0g ICAgNCAgIFN1Yi1CbG9jayAyIEZvdXIgYnl0ZSBJZGVudGlmaWVyICI0VklTIiBvciAiNVZJUyIg KHZpc2libGUpCkMgICAgICA1LSAgICA1ICAgU3ViLUJsb2NrIDIgU3RhcnRpbmcgQnl0ZSBPZmZz ZXQgZnJvbSB3b3JkIDAgYWJvdmUgKDEwMjQpCkMgICAgICA2LSAgICA2ICAgU3ViLUJsb2NrIDMg Rm91ciBieXRlIElkZW50aWZpZXIgIjVJUjEiICAoMTAuNS0xMS41IG1pY3JvbnMpCkMgICAgICA3 LSAgICA3ICAgU3ViLUJsb2NrIDMgU3RhcnRpbmcgQnl0ZSBPZmZzZXQgZnJvbSB3b3JkIDAgYWJv dmUgKDIwNDgpCkMgICAgICA4LSAgICA4ICAgU3ViLUJsb2NrIDQgRm91ciBieXRlIElkZW50aWZp ZXIgIjVJUjIiICAoMTEuNS0xMi41IG1pY3JvbnMpCkMgICAgICA5LSAgICA5ICAgU3ViLUJsb2Nr IDQgU3RhcnRpbmcgQnl0ZSBPZmZzZXQgZnJvbSB3b3JkIDAgYWJvdmUgKDMwNzIpCkMgICAgIDEw LSAgIDEwICAgU3ViLUJsb2NrIDUgRm91ciBieXRlIElkZW50aWZpZXIgIjVJUjMiICAoNi41LTcu MCBtaWNyb25zKQpDICAgICAxMS0gICAxMSAgIFN1Yi1CbG9jayA1IFN0YXJ0aW5nIEJ5dGUgT2Zm c2V0IGZyb20gd29yZCAwIGFib3ZlICg0MDk2KQpDICAgICAxMi0gICAxMiAgIFN1Yi1CbG9jayA2 IEZvdXIgQnl0ZSBJZGVudGlmaWVyICJTUEFSIiAgKHNwYXJlIHdvcmRzKQpDICAgICAxMy0gICAx MyAgIFN1Yi1CbG9jayA2IFN0YXJ0aW5nIEJ5dGUgT2Zmc2V0IGZyb20gd29yZCAwIGFib3ZlICg1 MTIwKQpDICAgICAxNC0gICAyMSAgIFNwYXJlcwogICAgICBJQ0FMQkwoIDEpID0gIkdNUzUiCiAg ICAgIElDQUxCTCggMikgPSA4OAogICAgICBJQ0FMQkwoIDMpID0gIkNPRUYiCiAgICAgIElDQUxC TCggNCkgPSA4OAogICAgICBJQ0FMQkwoIDUpID0gIjVWSVMiCiAgICAgIElDQUxCTCggNikgPSAx MDI0CiAgICAgIElDQUxCTCggNykgPSAiNUlSMSIKICAgICAgSUNBTEJMKCA4KSA9IDIwNDgKICAg ICAgSUNBTEJMKCA5KSA9ICI1SVIyIgogICAgICBJQ0FMQkwoMTApID0gMzA3MgogICAgICBJQ0FM QkwoMTEpID0gIjVJUjMiCiAgICAgIElDQUxCTCgxMikgPSA0MDk2CiAgICAgIElDQUxCTCgxMykg PSAiU1BBUiIKICAgICAgSUNBTEJMKDE0KSA9IDUxMjAKQwogICAgICBDQUxMIE1PVkIgKDQsIElE Q0FMLCBDQUxCTCggMSksIDApIAogICAgICBDQUxMIE1PVkIgKDYsIERBVEUgLCBDQUxCTCggNSks IDApCiAgICAgIENBTEJMKDExKSA9IENIQVIoSURTRU4pCiAgICAgIENBTEJMKDEyKSA9IENIQVIo SUZBQ1QoMSkpCiAgICAgIENBTEwgTU9WQiAoNCwgSUJFVEEoMSwxKSwgQ0FMQkwoMTMpLCAwKQog ICAgICBDQUxMIE1PVkIgKDQsIElCRVRBKDIsMSksIENBTEJMKDE3KSwgMCkKICAgICAgQ0FMTCBN T1ZCICg0LCBJQkVUQSgzLDEpLCBDQUxCTCgyMSksIDApCiAgICAgIENBTEwgTU9WQiAoNCwgSUJF VEEoNCwxKSwgQ0FMQkwoMjUpLCAwKQogICAgICBDQUxMIE1PVkIgKDQsIElCRVRBKDUsMSksIENB TEJMKDI5KSwgMCkKICAgICAgQ0FMTCBNT1ZCICg0LCBJQkVUQSg2LDEpLCBDQUxCTCgzMyksIDAp CiAgICAgIENBTEwgTU9WQiAoNCwgSUJFVEEoNywxKSwgQ0FMQkwoMzcpLCAwKQogICAgICBDQUxM IE1PVkIgKDQsIElHICgxKSwgICAgIENBTEJMKDQxKSwgMCkKICAgICAgQ0FMTCBNT1ZCICg0LCBJ VjAoMSksICAgICBDQUxCTCg0NSksIDApCiAgICAgIENBTEwgTU9WQiAoNCwgSUMwKDEpLCAgICAg Q0FMQkwoNDkpLCAwKQogICAgICBDQUxCTCg1NykgPSBDSEFSKElGQUNUKDIpKSAKICAgICAgQ0FM TCBNT1ZCICg0LCBJQkVUQSgxLDIpLCBDQUxCTCg1OCksIDApCiAgICAgIENBTEwgTU9WQiAoNCwg SUJFVEEoMiwyKSwgQ0FMQkwoNjIpLCAwKQogICAgICBDQUxMIE1PVkIgKDQsIElCRVRBKDMsMiks IENBTEJMKDY2KSwgMCkKICAgICAgQ0FMTCBNT1ZCICg0LCBJQkVUQSg0LDIpLCBDQUxCTCg3MCks IDApCiAgICAgIENBTEwgTU9WQiAoNCwgSUJFVEEoNSwyKSwgQ0FMQkwoNzQpLCAwKQogICAgICBD QUxMIE1PVkIgKDQsIElCRVRBKDYsMiksIENBTEJMKDc4KSwgMCkKICAgICAgQ0FMTCBNT1ZCICg0 LCBJQkVUQSg3LDIpLCBDQUxCTCg4MiksIDApCiAgICAgIENBTEwgTU9WQiAoNCwgSUcgKDIpLCAg ICAgQ0FMQkwoODYpLCAwKQogICAgICBDQUxMIE1PVkIgKDQsIElWMCgyKSwgICAgIENBTEJMKDkw KSwgMCkKICAgICAgQ0FMTCBNT1ZCICg0LCBJQzAoMiksICAgICBDQUxCTCg5NCksIDApCiAgICAg IENBTEJMKDEwMikgPSBDSEFSKElGQUNUKDMpKSAKICAgICAgQ0FMTCBNT1ZCICg0LCBJQkVUQSgx LDMpLCBDQUxCTCgxMDMpLCAwKQogICAgICBDQUxMIE1PVkIgKDQsIElCRVRBKDIsMyksIENBTEJM KDEwNyksIDApCiAgICAgIENBTEwgTU9WQiAoNCwgSUJFVEEoMywzKSwgQ0FMQkwoMTExKSwgMCkK ICAgICAgQ0FMTCBNT1ZCICg0LCBJQkVUQSg0LDMpLCBDQUxCTCgxMTUpLCAwKQogICAgICBDQUxM IE1PVkIgKDQsIElCRVRBKDUsMyksIENBTEJMKDExOSksIDApCiAgICAgIENBTEwgTU9WQiAoNCwg SUJFVEEoNiwzKSwgQ0FMQkwoMTIzKSwgMCkKICAgICAgQ0FMTCBNT1ZCICg0LCBJQkVUQSg3LDMp LCBDQUxCTCgxMjcpLCAwKQogICAgICBDQUxMIE1PVkIgKDQsIElHICgzKSwgICAgIENBTEJMKDEz MSksIDApCiAgICAgIENBTEwgTU9WQiAoNCwgSVYwKDMpLCAgICAgQ0FMQkwoMTM1KSwgMCkKICAg ICAgQ0FMTCBNT1ZCICg0LCBJQzAoMyksICAgICBDQUxCTCgxMzkpLCAwKQoKICAgICAgY2FsbCBh cmFwdXQgKGFyZWEsIGNhbHN0YXJ0LCAgICAgICAgICAgIDQqIDIyLCBpY2FsYmwpCiAgICAgIGNh bGwgYXJhcHV0IChhcmVhLCBjYWxzdGFydCtpY2FsYmwoIDQpLCA0KjIzNCwgY2FsYmwpCiAgICAg IGNhbGwgYXJhcHV0IChhcmVhLCBjYWxzdGFydCtpY2FsYmwoIDYpLCA0KjI1NiwgYWxiZWRvcykK ICAgICAgY2FsbCBhcmFwdXQgKGFyZWEsIGNhbHN0YXJ0K2ljYWxibCggOCksIDQqMjU2LCBpcjEp CiAgICAgIGNhbGwgYXJhcHV0IChhcmVhLCBjYWxzdGFydCtpY2FsYmwoMTApLCA0KjI1NiwgaXIy KQogICAgICBjYWxsIGFyYXB1dCAoYXJlYSwgY2Fsc3RhcnQraWNhbGJsKDEyKSwgNCoyNTYsIGly MykKICAgICAgZW5kIAoKICAgICAgU3Vicm91dGluZSBHZXRDYWwgKGl2YWx1ZSwgaXNjYWxlKQpD ICAgICAgICAgCkMgICAgIElGIElTQ0FMRT0wLCBSRVRVUk4gVEhFIE9SSUdJTkFMIFZBTFVFCkMg ICAgIElGIElTQ0FMRT0zLCBTQ0FMRSBUSEUgVkFMVUUgQlkgMTAqKjMKQyAgICAgSUYgSVNDQUxF PTYsIFNDQUxFIEFCU09MVVRFIFZBTFVFIEJZIDEwKio2LCBUSEVOIElOU0VSVCBTSUdOIEJJVApD ICAgICBUaGlzIFByZXZlbnRzIENvbXBsZW1lbnRzIEZvcm1hdCBmb3IgTmVnYXRpdmUgTnVtYmVy cwpDCiAgICAgIGNoYXJhY3Rlcio4MCBjYWwKQwogICAgICByZWFkICgxMCwnKGEpJykgY2FsCkMK QyAgICAgU2NhbGUgPSAwCiAgICAgIGlmIChpc2NhbGUuZXEuMCkgdGhlbgogICAgICAgIHJlYWQg KGNhbCg0NTopLCopIGl2YWx1ZQpDCkMgICAgIFNjYWxlID0gMwogICAgICBlbHNlIGlmIChpc2Nh bGUuZXEuMykgdGhlbgogICAgICAgIHJlYWQgKGNhbCg0NTopLCopIHZhbHVlCiAgICAgICAgaXZh bHVlID0gbmludCAodmFsdWUgKiAxMDAwKQpjCkMgICAgIFNjYWxlID0gNgogICAgICBlbHNlCiAg ICAgICAgcmVhZCAoY2FsKDQzOiksKikgdmFsdWUKICAgICAgICBpdmFsdWUgPSBuaW50IChhYnMg KHZhbHVlICogMTAwMDAwMCkpCiAgICAgICAgICBpZiAodmFsdWUgLmx0LiAwLjApIHRoZW4KICAg ICAgICAgIGl2YWx1ZSA9IGlic2V0KGl2YWx1ZSwgMzEpCiAgICAgICAgICBlbmQgaWYKICAgICAg ZW5kIGlmCiAgICAgIGVuZCAgIAptcGxlbWVudHMgRm9ybWF0IGZvciBOZWdhdGl2ZSBOdW1iZXJz CkMKICAgICAgY2hhcmFjdGVyKjgwIGNhbApDCiAgICAgIHJlYWQgKDEwLCcoYSknKSBjYWwKQwpD ICAgICBTY2FsZSA9IDAKICAgICAgaWYgKGlzY2FsZS5lcS4wKSB0aGVuCiAgICAgICAgcmVhZCAo Y2FsKDQ1OiksKikgaXZhbHVlCkMKQyAgICAgU2NhbGUgPSAzCiAgICAgIGVsc2UgaWYgKGlzY2Fs ZS5lcS4zKSB0aGVuCiAgICAgICAgcmVhZCAoY2FsKDQ1OiksKikgdmFsdWUKICAgICAgICBpdmFs dWUgPSBuaW50ICh2YWx1ZSAqIDEwMDApCmMKQyAgICAgU2NhbGUgPSA2CiAgICAgIGVsc2UKICAg ICAgICByZWFkIChjYWwoNDM6KSwqKSB2YWx1ZQogICAgICAgIGl2YWx1ZSA9IG5pbnQgKGFicyAo dmFsdWUgKiAxMDAwbWFrZWdldGFtZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw MDY0NCAAMDAzNzQ0IAAwMDA2MzIgADAwMDAwMDAwMzAzIDA3MDQ0MzY2NTQ2IDAxNDA3NQAgMAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMGF0a2luc29u AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ2hjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw MDAwMDAgADAwMDAwMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAjIE1ha2VmaWxlIGZvciBNQ0lEQVMtWAoKTkFNRSA9IGdldGFtZXMKRkxJQiA9 IC1ML3Vzci9sb2NhbC9saWIvIC1sZGYgLWx6IC1sanBlZyAtTC4uL2xpYiAtbG1jaWRhcwoKY29t cGlsZToKCWY3NyAtTzIgLW8zMiAtbyAkKEhPTUUpL21jaWRhcy9iaW4vJChOQU1FKS5rICQoTkFN RSkuZiBtYWluLm8gJChGTElCKQoKCXJtICQoTkFNRSkubwpkICgxMCwnKGEpJykgY2FsCkMKQyAg ICAgU2NhbGUgPSAwCiAgICAgIGlmIChpc2NhbGUuZXEuMCkgdGhlbgogICAgICAgIHJlYWQgKGNh bCg0NTopLCopIGl2YWx1ZQpDCkMgICAgIFNjYWxlID0gMwogICAgICBlbHNlIGlmIChpc2NhbGUu ZXEuMykgdGhlbgogICAgICAgIHJlYWQgKGNhbCg0NTopLCopIHZhbHVlCiAgICAgICAgaXZhbHVl ID0gbmludCAodmFsdWUgKiAxMDAwKQpjCkMgICAgIFNjYWxlID0gNgogICAgICBlbHNlCiAgICAg ICAgcmVhZCAoY2FsKDQzOiksKikgdmFsdWUKICAgICAgICBpdmFsdWUgPSBuaW50IChhYnMgKHZh bHVlICogMTAwMG1ha2VnZXRnbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA2 NDQgADAwMzc0NCAAMDAwNjMyIAAwMDAwMDAwMDMxMiAwNjY3NDAzMzYxNiAwMTM3MzMAIDAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDBhdGtpbnNvbgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdoY2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAw MDAwIAAwMDAwMDAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAIyBNYWtlZmlsZSBmb3IgTUNJREFTLVgKCk5BTUUgPSBnZXRnbXMKRkxJQiA9IG1h aW4ubyAtTC91c3IvbG9jYWwvbGliIC1sZGYgLWxqcGVnIC1seiAtTC4uL2xpYiAtbG1jaWRhcwoK Y29tcGlsZToKCWY3NyAtbzMyIC1vIC91c3IvcGVvcGxlL2F0a2luc29uL21jaWRhcy9iaW4vJChO QU1FKS5rICQoTkFNRSkuZiAkKEZMSUIpCgoJcm0gJChOQU1FKS5vCihhKScpIGNhbApDCkMgICAg IFNjYWxlID0gMAogICAgICBpZiAoaXNjYWxlLmVxLjApIHRoZW4KICAgICAgICByZWFkIChjYWwo NDU6KSwqKSBpdmFsdWUKQwpDICAgICBTY2FsZSA9IDMKICAgICAgZWxzZSBpZiAoaXNjYWxlLmVx LjMpIHRoZW4KICAgICAgICByZWFkIChjYWwoNDU6KSwqKSB2YWx1ZQogICAgICAgIGl2YWx1ZSA9 IG5pbnQgKHZhbHVlICogMTAwMCkKYwpDICAgICBTY2FsZSA9IDYKICAgICAgZWxzZQogICAgICAg IHJlYWQgKGNhbCg0MzopLCopIHZhbHVlCiAgICAgICAgaXZhbHVlID0gbmludCAoYWJzICh2YWx1 ZSAqIDEwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ------_=_NextPart_000_01C11143.FE0F6F70-- --------------487FC3518564201E699274D6--