Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««123»»

Binary Files Import and Export Expand / Collapse
Author
Message
Posted Thursday, August 28, 2008 10:23 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Saturday, April 27, 2013 2:50 PM
Points: 3, Visits: 34
How to I extract binary data greater than 8000 Bytes (varchar(max))? Thank you for any help you can provide.
Post #560647
Posted Thursday, August 28, 2008 12:21 PM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Friday, July 19, 2013 7:07 AM
Points: 210, Visits: 160
Robert (8/28/2008)
I'm also having trouble implementing this without corruption of the file after it's undergone a round trip. I am importing a text file using OPENROWSET and as far as I can see that arrives in the varbinary field perfectly. The query:

SELECT DATALENGTH(FileData) FROM TestFiles

returns a number exactly equal to the test file size.

However when I output it back to a file using the options you specify for bcp, I get a file that is 4 bytes longer than the original. The 4 extra bytes are right at the beginning of the file before the expected data starts and are as follows (in hex):

B5 42 00 00

Any ideas?



try to remove -N in the bcp queryout.
Post #560730
Posted Thursday, August 28, 2008 12:26 PM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Friday, July 19, 2013 7:07 AM
Points: 210, Visits: 160
josephstran (8/28/2008)
How to I extract binary data greater than 8000 Bytes (varchar(max))? Thank you for any help you can provide.


varchar(max) != varbinary(max)

The varbinary(max) can store upto 2GB data.

You can export the data using the bcp command.
I've written an example in the article. It will just take awhile if you want to import/export
big files.
Post #560737
Posted Thursday, August 28, 2008 11:22 PM


SSC-Addicted

SSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-Addicted

Group: General Forum Members
Last Login: Thursday, October 16, 2014 5:40 AM
Points: 418, Visits: 588
sergey.benner , I tried with the single image file as you specified ,, still the image was correpted .. Is there some thing else we need to check ?

Sample code
CREATE TABLE data(data varbinary(max));

INSERT INTO data(data)
SELECT * FROM
OPENROWSET(BULK 'D:\Bals\Potos\Bals\BalsGettap.JPG', SINGLE_BLOB) as f;


declare @cmd varchar(512);
SET @cmd =
'bcp "SELECT data FROM test.dbo.data" queryout D:\Temp\01.jpg -T -N';
EXEC master..xp_cmdshell @cmd;

DATA

0xFFD8FFE000104A46494600010101004800480000FFE101F845786966000049492A000800000006000F0102000E0000005600000010010200060000006400000031010200280000006A00000032010200140000009200000013020300010000000200350E6987040001000000A600000000000000536F6E79204572696373736F6E004B353530690052314B473030312020202020707267435843313235303636395F47454E455249435F4C20302E3000323030383A30363A32312031323A33353A35340015009A82050001000000A80100009D82050001000000B001000027880300010000006400B6000090070004000000303232300390020014000000B80100000490020014000000CC01000001910700040000000102030004920A0001000000E001000007920300010000000200000008920300010000000000000009920300010000001000000000A00700040000003031303001A00300010000000100020002A00400010000006006000003A0040001000000C804000001A40300010000000000584002A40300010000000000000003A40300010000000100000004A4050001000000E801000006A4030001000000010000000CA4030001000000030000000000000001000000200300001C0000000A000000323030383A30363A32312031323A33353A353400323030383A30363A32312031323A33353A353400000000000A0000000000000064000000FFDB0043000503040404030504040405050506070C08070707070F0B0B090C110F1212110F111113161C1713141A1511111821181A1D1D1F1F1F13172224221E241C1E1F1EFFDB0043010505050706070E08080E1E1411141E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1EFFC000110804C8066003012200021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F0100030101010101010101010000000000000102030405060708090A0BFFC400B51100020102040403040705040400010277000102031104052131061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FB228A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A00439A39A0E4528A04146051450160A28A28181A6373DE9C466984E3B53444FCC380291473D39A00001269FB453B892EC35453B6D3BA519A5729450981499029D4D2DCE2840D0983D4534E7BD297E38A664F4F5AA4896BA08C0134000F03B521E7A9A369EC6A81590630734D6503B8A7BB7A0A818B669A4D8DCAC3C91EB49B80A8F3918A463DAAF948E7B8F6618EB5116C8EB4D3DE8FBB54958C65AF41E18FAD3C3F3C5459C74A01EF458CDB68D5A28A2B90F4028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28271400514526680B8B45213406A057429A61E4D04E6940CD321EAC0AE6940C0A318A3340D590B4D27B51BB34D6E09A12072D00F1DE9A7F9D2E7D6838E9544DF4D06F02902E7A53B6669E8B8A2F605A82A83C9A52052E297153734217CE7DAA364DD565803DA98E2A948968A8C9C734C618A9D87351B8AD5325DAC46429A4E00EB4E20E29879EB568C64EDD3413DE8EA68DA7B76A09C77AA32927BA35A8A28AE23D00A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A28010D18A5A2815829314B46280686914DF6A56534801AA464F71D86EF4138EB47347348A1738A6B35385230A10DA7601484F6A4E7D2940A64DC300F4A50BCF4A5C52D2B96A21451487D290F6168A4CE29AC79EB4EC0E561C69AD8149B8E28273C8A76239AE46C33DEA261CF152914C20D6898AC42C3E5C1A6818ED5330A8C035A2666E1695C6F238F5A6F434F38CE29B8CD3429479BD0D4A28A2B90EA0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A422968A04D5C6D213CD29069B83D73548CDDC76E00D1D68C66940A43B3169334B498A45EA2D151E185196A76239FBA1E78A6E7149462989BBEC2E41EF41C1E945078A013108C71499C1A5C1CD1823A9A621AC3918A61EA40EB4FEB9A4E829A288CF039ED4C622A522A323D2AD086118E8299D2A6231DFAD33192702A93279743428A28AE6370A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A439A5A2801A39A75145024AC145145030A28A2800A69F4A752114D13242714629086A701EB412B50C51834BD293AD22831EB48C05193464D317321081ED4D217A66826949CF4A624C888E69081D734F20F534C22AD05EDA8C66C8A8FA74A940C75A423A55A643B6E8BB45145739B851451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140084D3777AD29E6936D523295FA06E349CE68C1A4C9A09BBEA3D4F34EA664D282691698A69B839C53EA3734209596A07A5264D20C52E07AD5109B631B3D475A767147414D39C6698EED8B914C39A7F38A6B648C0E29A26CC6D31CE29C3764823A743EB48C33DEA90D6DA9768A28AC0DC28A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A4CD2D02B8514868CD017168A05140C28A28A0421A4CD2E6931CD325F909F31A3A76A700450541A2E2E5633AF5A5040A7600A08068B859A13147D28C134A06280498829714B45172AC30A0A6ED2B52D145C4E09EA573D7AD254CE3350BA76AB4CCDAEE286038A339E29B8E3EF5274A761293E83DF1D00A638C36690B13C03413FED534AC5F42E51451589A85145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051914119A6E281362F5A4E941A4A64362B11EB4DDC69F806985714D132BEE8706CD26EC534350DC9CD16173E8480E696A35E2A41CD26691770A28A29160690002968A0560A28A28185145140051451400879A8DD58F5A968A69D89947991576766A61016AE1519CE2A368D719C55A999BA7656457148DCD4CE9509073569DC949AD0BD451456074051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005212052D260502619CD26297146298AD71B4DF6A9319A6ECE69A666E2C45C014A49A3A51CD00B44282475A50C29BDE93068B0F99A1E0E6969838EB4BBD477A56294B4D4519EE2969010696914828A28A06145145001451450014526E14849A64B9211D411519522A53D69BD7BD34C86494514549A851451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140828A28A061474A28A0029314B450026050714B49D282442334D2314F1D686A7725C534479029EAC2908A01029EE4ABA6296029A5C9E94312D400451642726DE800B77A0F14B4A4503B0C07DE94B52F1E9460502498BC52628E6978EF41418349CE734AE38A45E94075B0FA28A2A4D428A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A002908A5A280100A5A28A02C028A28A0028A28A0028A28A004A4A773498A09B0114829C293834C2C21E39A69C9A56269A0134D19CB7B0ABBBBD07239A51F2D28E68B828DC6A63AD2B102976E29085EF4059A560073D29C053576F6A539F4A435B6A2608EB41228CD27B1A626494514549B0514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514001A4C52D140AC145145031BB6971412052839A64D9084034018A5A290EC808CD3768E94EA280B20A3145140EC376D0578A7514EE2514828A28A430A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2801A57E7DC09CE31D78FCAB2AF35D8EC2DA192FED6E236925F2F11C65C0C1E4920703BD6BD67EBB3DEDADAA5D5940B71E53832C44E0B277DA7D69A024B7D4ADE6B97B6F9D25538C30E09F407A55879A2495226701E4CEC07BE3AD719E3D377A6CB67AD6957C90195D6392DA43859723E52076619EB5CEEA373A9E83036B56BAF869A62B1CD6E50B46BCFCA70470793C8A3416A7ACD61EA1E24B7B3D4E4D3DEDA6695177023A3579A5BFC46D2AEF58D3964F105FC06585967893E6447527907B935C7F8AF5CFED2D62686C75092EEE1660629F79562A4743E878E950E6A3B86FB1EF3A2F892DB56D49ECED577346BBA5072AC80F4383DBAD6EEE5CE322BC97E14699ABDFEBD2EB7AB6AB9BB8E11198D540678CE70C7F2EB5E9BA669A96334F2ACF34A66393E61CEDF614D3BAB822F514514C61451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451542F355B5B76DB9F31B383B7A0FA9AA8C5C9D909BB17E8AE765D72E58304112678538271CD1FDBB70587CB1000F39079157EC9F744F39D15159306BB6CCA3CE478D89C70370FCEAF595EDADE2B1B6943EC3861D083EE2A5D39475686A699628A28A82828A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A8E59A389599DC0DABB88EE07AD64C5E23B393536B30ADB40C897236E7D3D8D006D532576400AC4CFF00434C37500BA16A6451295DE173D4543A95CAC4890798F13DC652395577056C719A6055B9D7ACEDA2496E1268A332796E5D08D9EE7FD9F715CDEB9F1234FD3F528ADE0B67BC809024951B1B72700FD2ACDF2D95C68F73A5EB0975773C2332472B051216381B1B1C83D4570375E0FB98B4B6D4ED629E11E61CA32F983603EA3A7FF5EA66DA5743567A1D2E9474FF001378E277173772416BF34313A8D8091C37B8F7AED3C430592E9122DCBDB40ADC09648432A9F523F0AF28F04EA56BA1EA8D25CDDB5BC7215433852C00CF461D80CF35AFF1C6E20D474745D275BB35B9B593F7D179C0EEDC06D040EBF854C6A73C79897A3D4F3EBFF0BC4FE339C4212683CEDC6684FCA3D7141D0BCAD712E95A39ADC657CBF2F1B8F639EC45417D2BD9C443DBC96B77204F35639B721207622AB69DA96B12C92D9E9E1E69593CC214E7A7438AF0AACAA54AAF95DCD53BA3AED1F579741944904D249741CE15C9257FD9FA7B5741E1BF177881ECEE2E6EAE616D8C728CD9C67B0FA5737E0FF0CEA9AAEFBE9EF6D922D8CC5D948FDE0EA0F5E79E958F178635D36F25E69D2092DE3665781490739FBC33D41F5AEEA54F1518DAE4DA2F547D2B451457A4485145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051485940C9603F1A805ED99CE2E61E0E3EF8A6A2DEC2BA2C515035DDAA8C9B8887FC08544DAA58A923ED00E0E0E0134D424F641CC8B94567CBAC59A74323F19F950D42DAE5B8FBB14847BE0557B29F6173235A8AC83AF5B820793274CF38AAB37882563FB8B650BC72E7342A520E74742480324E0555B8BFB481B6BCCBBBFBA3935CBDFEA17173216925609C6114E07155C484F434F9631DD85DB35756D564B8061877469DFD4D63CB2045E0F34D9A50BCF24D42E4B9C9A7CCED65A2159751EB2168CF393DE9DB8E324D40ACA067B54892A1601DB683DE8B76024663D01A239E48F98E4656030194E08A866383F29C81DEA30E72722AA2DA0767B9B967ADDE4520DCE24880C156EBF9D6D586B56772423379321FE1723AD713BF0319A709071BC679C834DF2CBE25F7116E5F84F47041190734570969A85C5A8090CCEAA3A0CE715A56DE20BB40A25114A32324FCA6B374AFB32D49F54753456143E25B5326D9A09635E06E0370CF7FC2B66DA786E6159A091644619041A994251DD0D493D0928A28A82828A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028AAFA949710D8CD2DAC42599572887B9AF30D13C633DAF8CD2D7519EE24498334C482628471DFB629A570E973D5EA3B9595A1610C8237EC4AE6ABDE6A305B4D14721016552C242C02E07BFE22AC2BA04F33CD0C8DC862463F0A2C06078A63BCD43478AE7498945DE76891B21914901C7E9D0D7137BF0FF51D50DCDD7F685D5A48ADB25485C666C7A7BFF3AF41D5F5FB4D2F55B2B2BA8E454BB572B381F229500E3F1CD66685E27D2EE7FB4EEADEF22911663B536ED6C8E0D26BAB0BD8D5B2D0AC63B5804AAF35C47108C5C49FEB318F5A8F51D2640239EDE69A53064A42EDC1CF5E6A0D2FC469A8F9296412672C525590943C771C60E47F2ACEF15EA9090D21BBBBD32EAD98AC6EAD94901E390293924AED8F7D0C0F106B7A847E2B821D554269B748BB4A387F2587DF5E3A11E87A54B14F142352D76CBC453B5BDA031C509202B0E9C03D4E2BCD3C4DA8C5A8EA0CBA9EACD1DD4A772BAF1BDC70791C74A8AEFC4F756FA05C59398AE23046F0E9861FED67BE6B8DE362AF61B85F4269358B58A5962775B8469199770C1C1FA57297505BDDDF3C49716D144A3CDC31DA64F5159977A93CB7892A5B7D9C13909CE0A7AD5CBFFB0DCCC6F8BA5B98E3DD8C9E4F4C66B91AA949B937B9492DD1D9695E1E935791E3D2218E39A10AC219A7D81874E09EBDCD6878574BD174EF19EAA9753246F04254C104C5981F40476CF35E7971E23BBB885608A4F2E4886D1839E054DE09FB743AFCD7F706E6CE2703CE9847B80FF68E3B7BD74D1F674F5B6A44948F77F0BF8A6DECF5B8F49B7F0EDCC5A45CB6DFED0900F9A5230C48EB82DC73F5AED6F45A5D24D676CD044E9F7D87CBB7F2AF9B351D47573A9CB1C37771731A4A08489880D8E879AF49F06F8E2D1AE223ABCE13670E7691B9BAF3EA6B5A38C8556E2F7138CA2AE7B0D14515D4014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145516D5F4F0EC9F694254E0E39AA77FAF4512916F1348D8382DC01E95A2A337D08F691EE6D515C84DADDFCA0AF9A91E7FE79AF4FCE9875CD43767CF195C7F08209F7156E85B76839FC8ECAB075ED50E4DA5A3F3FF2D2407A73D3F4ACBB9D76F644C6E00918F94607E5594F34996207524FE74E3051D5BB89C9B340CA71966CF7E4E6A19AE187CC0F00D50F3DC039638349E6EEEAD57CD2DEE4BB3D2C5E5B9CE304E2A58E50CF9E73594F291D0F4A7DB5CBAB124E7352EEFA8D1AC5F68C91F8D359C311C5561705931BB23AE297CF0318AC5F375344D741D316FBCD90A0D42D38E8849FAD365B8DF9504D320211B77522AAEEDA93A5F425058E73DA8329030053410F9C939CF02A37043E715298F615D8B7534348027D3AD44E5874A8DFA65BAD68ACD0B51CCF9E053964DE36E06477EF55C1CE29C4953C1C71571EC4B5D4D0478CC401FBD50C8063703551A420039EB4E8652A30DC8229726972AE4B93BBDA9DB8E318A8C383C8A5DC30303352F405707048F94E0D344AE980E7EA6A51C7350CA0370073427D02C49F69C103391576CB5096DF06095A3607271DFEA3D2B199598E00A50ECAF824D5A27D4EEECBC450B205B88D8381CB2F43532F882CF700E92A82719C6715C3C7700285EF5209C16C6ECD4DA1D506BB5CF4582F2D678C4915C46CA7907754914B1CB1892275743D0A9C8AF3769CF23352417D3DBA816F2B43839F978A3D942DB8F9A47A3D15C758F892E6263E71132E3A74C7E35B561E20B0B956DEC61653821C601FA1A87465D351F3AEA6BD148AC1802A4107B8A5AC8B0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800AE51BC37168DACDC6B7A32307BA655BCB773BE39549E4AE79561D7D0D7574534C2E606B57505ADEE9F70DA7BCB68A5A292409F2C218704AE338C8038F5AD2B531DD4332ACD04D6CFF002A88F1F28E8454F2C4CD324A2571B01F901E1BEB5424863BE86592C5CD9DDC7211E60419DDFED0EE0D3E80CF3CF12697A743E2CB5D3A7D42F27B45CCAD117DBE58E0100D61FC43D122D0F598E4D02D8A413C7B8CDE76E52DC9271D88AED6FA6B5B4F18E9535E69AB35CCB04AB24A13219FA0C7AE78FCAAE595BDBEB1A64B7422B74B73293E43AE08C13F2FB5454A7CFB8EE96E79A687A678AA28A1D627BE8D74E2C4F120E173C9C75FC6B4FC75756322A7F665E25CCAB1E4E641C9EE2B5AFED574F82C56C34D92CED2E256F2D11F7AAFFB3CF51EDEF5CCDFCAD1FDA55ADB4E8DA7629B9A2F998F6FA11ED58D4A768D812B3BA38092E7CD91D05A090A9EC79CF5CD516D49E2D64068633192418E424E056CC769A747A9C4D732CB0A99489445D8566F88B4AD2F4E3E6DBDE4B78E58BEE64D848CFB7B579335ADADF81A28DF73A5F0A6A9632C137876FB4FB1D5A29D1BC804E248475383D80FD2B92BF934EB6BFF00ECFBD3F667924D8AC53775E878EDEF577C0D7BA3C53BEA7752DBDBB85317CA9FBC3C1EE2B9DB0B3D22E35C927D424B816C57F77245265E33DBAF6AF47DC70B493BA46715CB7B1D0CBE178A192332481084F9823647E95D5787F58D46381E1B09EDE080030B34A8338E9DFAF7AE72CF5092E64B58EDEE6DA4891B6BC97276E07A923B57A768674BD474DD62D750B7D16E6530036EF6E03ACEA0FE8E31F8E6B0A34A73B393D3A04A7A599837DA5F87AC20934F6D744F7D2B8F2D620002319FC3154F53D234CD23C2714F06A32497171336F89DF38F4C7BD4B3F897C269E1816B0F87962BD12953394DA4E3BE3FCF4AF3CD5F5BB4B9B297F77BB1D101E8FF00D0D6F2A714F44C13D5267DA145145760828A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28240192702800AC0F126AA23CD9451970EA448E0E00F6A8B5BD7239237B5B46719CAB4806391C715CF4D26F62C58927A93D6BA21050F7A466DF36889146F938E0D2CD1C88BC8247AD4715C2C43008E7A93563ED20C4583601E2894E52638A8AD0A4495C8CD46243CF5A2570CC4D44C48618EF427DC45A56E771A4693E4C8239E31510665015A98C40276F26924B71DFA12329239EF503820D5807A64D212846186E3426D12E09BB95F2339CFE140233915232291B81C1A8991D06ED8769EF549A6269A25460189A59240BC03C9A8438240C504FCC0D0B707AABA1E091C9A96363D0F7AAED202783C548B212723903AD0F5DC9D22EE5956646DCBC114CF306F258F27B544F281D7BD4334858EE0724D28C2E5F3F56587993B0EB513B6466A3470465BAD39B8EB4D5906FA881B1CF7A56218658D3243DF350F984F7AA4AFB09BB6E4CD8C7538ED4B92BDF8A8439270698D21CFD28B5D85CB1190AC5B919A915B1920D570C1941F4A767E5343EC357EA5859148C679C533CC01B19A8958F5CF150B310491D2A547A13295B545C5C6320D058630467E82A9ACD8E09E297CC6271918A1C751C65A6A3A4524FC99DC7B522C8C98E76B7B5058862091C501C8604A823AF229A61A08D213904F5F6A916707820D445C1EA3F2A5555CF5AABDF704F4D09E2725B8AB024382A4551DCC872A6A559B032C739EA6A5B6B61C5DD1B165AC5D5BA08E398A818C7191C56FC1E26511932C3BF0A4FC9C1EBE95C7248A7A60D59898000AD2734FE240A3D8F40D3B50B5BFB759A07E1BF8586187E156EBCF56760B92803A9E0D3AD353BEB672B1DECA074DAE7728E7238ACDC22DE8CABB4B53D028AE7AC7C443685BE54562D80C99208F71EB5B315EDAC9B42DC4796E80B006A5C1A1A9A658A291486190411EA296A0A0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2801AFBF194E48EDEB4824533B459F982838A49A510C6D2383B57938E7155B505B89218E7B3D9E60C1C3646E53DB23A5525DC09A47733F9203A82BBBCC038EBD3EB595A869B7515D497B62C1DA51FBE8CF1B881C11EF53C5A85ADB5E082EC9B79E61C6F276BB0EA01E99C738AD092E228E35767186E17DCFA53D63B05FA1CA6A5A741AAFD9ADEEAD8081A32C8BE66C93CC4E480DD88EBCF35534DD767B445B9D76DA592C17319BD58815C87C2BC98EF8C64818ABDE3CF22586DED6DAFE3B3BDB9914C64F46FA8EE08EB5CEE96D7BA726ABE11B98228E457FB458F94DF2DC824129F37E3C77ED4AE16D0DCB9D56C751B913D95F437705B7CCD1A38C21CE3A75EB591AAE9DA56A9AE5E6A43C3D7725EA2A4A521703CD238DD83D4E2B2FC67A3785992FB51BDB39F46BE6552B2DB12ACAC463903D4D731E18F1878DEE3C4CB126A515C3055836C9002248C7DD76C721811D6A5EAC395DAE83E31B41ACBADFE97E1DB8804640BC32A885C1CE4315EF93C67D6BCF24D413549EC6D6E5331C0FB7CB75DA08CF3923DEBD7FE295F6A9268D2BEB9E196FB480A914D68E581620EE5E3AF6EB5E0046A5A75EA42B637514AE0926688A919FAD6556178DD22A29B46A78AE7823D40D945A741621A4DF179649DE3D726AB0D32433491450798B20C7960EE06A95F49AADC5C4297B2A04878048E71F5AB961712CB748AAFE648E0FCE3815CAB995B9582F33D13E16E8097D617AD0CFA640561C4D05E82A4E78CAD5EF147842F2DB50B2BAD00DB3DFC20098598396EDD7BE45743E079441A1DA477DE1ABFD4F507C88FCA5DB8EE46EE8548E6A6BBB1BA3AADC6A76DA65EE82EAA0ECBA9576E0608C60F3FFEBAF462924677773CB2F742F10C1AF430EA56F751413C9987CF4C46581E4559F8ADA04E979297D3E0B3BC51E61488E3CCE3A8FC2BADF8A17DA878B11C5B4D6865B68D276B5131263231D08EFD0D790BEADAFEBBE27B1B7BFD4E546198B3221215475E7B62851B6C559FC48FB828A28A900A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A29B23A4685DD82A8EA49AC2D4FC40815E2B1397039908E07D07735718396C4CA4A3B9AD7B7D6D68B99A5507B2E793F85731AB6A9737D9894B451370117A91EFEA4D664972ED3B3B9666739624E684B98D5CC8C4F4E315B28A8EDAB22F7D5914CAC4E49C629AB14921DAA339E944B76AC855633927A9A80CF20C6D6C52F7BA95A74277B29482C149C75AAEECE83690455D8EF99719C532E665BB00A458719C9CD2BCBA8251E8506978C0E0D4C8F194058E0E7BD446065725CE73D291222CD80DC76CD5684AE6B97F643244092DB81EC6A17B7289E603C1A660A2E03647434E6B96236B13B7D3B54A5D9957D351B92A324D44D216254639AB8A90BA852C093D2AAC90B47C2A8C76E684F51B5A11E4A9E49E6AC5BCD1B27932AF7C86F4AAE72537E548C7AD461C8357F110ED1249A2C3964CF5C546CCC3EF53C4CC7009381D2954AB6437D692BADC4ECC606CF39A40428001C7D2A478B0BB941C55791B675A774269A44AC78C7350B1C7147983A8A639C73B6A9684CB543F763BD38C85BBE2A02DEA29F91B78A765D4CD36B4449E602393CD46C30339EB51EE19E4D48090B91F7A86AC5A95F71B923A1A40C7383CE69AE4FA73D68072878ED4DED717349E84AA76D3CB7CB9047D2AA6EA7EF2474A9E5BEACB8CB4B12B649F6A18A9E4714237418E4D3986467183D2A1B2ED7444C3B9C5332453E4623EE8E6A37624671CE2AE24C90FE4F20F38C75A72EE3804F06920231D39A9A165270C294C516B719804638CE6A5452401D29C6007013A9349BB6F04F4ACF9BB1AD9018994039C814EDA08077018EDEB4B1B9618350B20E89C63A50B7D46C78461921B8A9EDE544186DD92719CD431391C63F3A5941DD8029BEC2B763403EE19DD9A44652707154A30FDB8A78671C93CD472A04DF52D3E776E07F0A1A5DEBB1D8E7EB8A844FBB716007A0151B9C1049E33CD545D86D2669DBEA77912B46B3C8AA46061BA56A69BE21BA86358EE009C742E786AE604836E48A9639801919FA5539B7A32791743B4B7F125BBC8526B7963C0EB90466AC41AF5848E5599E3C13CB2F15C409B1D0F1425C63938FA567EEBE8559F4677171AFE970AC8CF73F7177700F3F4A8EDBC45A74F73E48F3631B72249136A9FC6B856949724F22AD0944F088CFCC00E98CE2A94216D45767A346E922078D9594F420E41A7579CD96A3776276C372E880636755ADBD2BC524111EA48B8CF12A7A7B8A4E93FB3A8735B73ABA2A0B4BBB6BA8FCCB799245F6353D64D35A32934F60A28A290C28A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A00291881D4814D9D1A485D15CA3329018763EB4A9911A873938C1F7A6055B7BFB69ED924F35007257AF53D08FAD51D7E4BBD2EDBFB4E19F7DBDB8CCD6E57EFA77DA7B1EE2A2F1369D34FA7ECD2E08A52640F2427E50E33D43766CF34DBD9AEEE2CA7B0B8B1B8F9A220EE50CADC8EF576EC0917A0934CD7EC7CD8C473A06C7CCBCA30F5AE7EE34B4CC9650EA92E96F6832ABE66E8E41D54907A632791D7F0A66991EA5A7DB1B9B1D36586689B6DCC4B000B743B3019E187AF7EF56B5CB89F52B378F4E78A7B8688130496EC8E4673DC718A766B405E672DABF8622D6EE21986A0F2DFD98C4D0BE4720643232F183C106A8F899EF60F0F43A96B160E6EEC6E942DDC5283243BB8E7B9538FC2BACD2AEFC43A7451DBC1E1870B805DA499463FBC037A7D6ABCDE2713DC9D2EF7C21A821763978B648A39E486EF9EB4F95DEE869D9EA8E7AF75E9EFAFA2D3F5A81ADE09E20BFBC8C61D979043772739AE5EFBC396DA5EBA7514F100B77D8EC90F99B2485C024007A18C8FC8D74FF102DB5592CAD6F3C35A4EA171696938965865006DDADF3000F6C559D2BC4BE12F1BDA5F5A6AF6715887508CB8F9D7B0EDC1EBD2A5AB6A5376F876380BEF13DF42C62BFB6D4E482D963964930CF1678E7238CF20E7D2B33E3178A759F11AD95C5C25B45696C48DF01059891FC5E9D2B774FD46E3447D67C1B672DD6A1F6362F66CAA144919FE12A7AF1C62BC57C49AA347AA5CAC76F2DBDB45300D684600F51F5AC26D4B4D905ECCB5FDB715D5BAC7731E338C10066BB9F0A784AE22D3A1D6ACA3BCB567C1B4988CC4C0F623F9FB5797F8764D36F359B5B6D48245673384E4741EDEF5F46E9DE20BC927D0B41FB52BE9F6CC50489011E68FE1CE3A1C544211A6D729937AD99E85A5E9DE30934A86C26D674EB12B0004436DBA451D9864E33EF59BE2BF86AFAE58CB35F788B50BABE48C18C80A88CCA0F0CAA390781EBEF5D0DD6A1656D711A5A6EBAB810B7970B1DAC4760A4F6F4ACEF0D5E6B92E813DE6A7733BBDC063046814342CBD5491DFBE0D755DF404EDA9CA687A945A5D841AE49656B61676E7ECD76F120768BF85B39E47E23BD78978F1A4B7F16DD5D7876F4EA1039DC25450848239E2BDA3E2468725DFC37BB99AC92D755B975669A2946F98F7F3067078EBEB5E0705ADEC2AD67138321511FEEC824678AE7C4549452B2D595171926D33EE3A28A2B400A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A64934518F9E451F8D095C4DA43E9934B1C3134B2B84451924F6AA37FAAC56EBF20F318F4E78AE7351D56E6EF2B3155407845E2B5549EEF444F3A7A21FAF5FB5E5D7CACC218F2117D4FF7AB18B36E24F3ED9E2A591F70383CD567908E0FE757CDF656C4DBB89863C33649EB51C8CAA7EF669BE61E46EEB5093824934E2BB8A52B6C3DA50E9F282013E98A6AB81D4E698C411F31E2802265CE727D2A912DDFA8AF372BB41AB36126246DF9F9B81CD56C61B815282BB3DE86D6C524D752F4A3CC04EE031D3DEA99CA9CF4A6A4C429193492397392062A2D6D0A4EFB8EDE7A1348EEA620B8F981F4A6B3724F7EB4CCEE19269A626DA15266575CF233F95684738270C036E18F5ACD206DEBC9F6A588B46720E453959EE24DA7A162F5446C0A9C83CF1DAAA8196CD49712876C81F85314F3C1CD251B22AFA8A579CD029C08C60FE74870A39EB4276D05CADEAC1652A854938355FEF311938F4A9C10C36E6992C4E986C119E9C555C5CB76479C100AD2B63A118CD0D21385E86A42AB244483CD17D034BD88188E94DC93C0A52854E0F34655464019A77D2C4B8DD86D279C74A923E46083C54224C1258F4E95242E73907149B762528DF542B22138E738EB41036617834F6B857E01E0546D8232A6A57375347C88AC53E7E5AA7B65DDC93509383EBEB9A7C330C903B55BBDAC67171279546E0476E948B92FB6A409248408D1989F419A7A45142DBAE2E234DDCE33CE3E9593A8968CEA8D294B62078DF3C0CD31209DCE021FCAADDCEBBA258A0DB1B5C37653D5BDB02AB5E5D7896EED52E12DA1D22CA65F90BA6D738FE75CF2C4381D31C1396E4CF6AF6F1EE9248C67A2EF19FCAA10083C8E3D6B3ACAD745B5FF0049BFBD9AF661C932FDD1C7200AC5F13FC40D22CE331C4D195C101718C7E359AC4CA52B25735FAAD25A1D41BD8A1B830B4C81B38E5A97ED30CA40F3003DEBC423F195ACBA93CD212E7208E9F25759A678A6D1D57CC9719E40ADBDA3225858257B9E8A92638278A91260491DC564695AC59DC9004D173819CD6FC56892A8915B0A46E07D452FACD3BFBC64F0B2BE8C8BCD53C6719A993819CD57BCB6443F24C08ED918A2171B300820568AA464B421D19C772D799818CF5ED48CC9819E9ED51EFEC2988CDBB735356664F413783CA92314EF301182783516087C83804D432310703B75ABDF62755A963AF7E7D2903807827E98A8D4FCB8269ACDF36477A6974617BA34048AC9F853432AF1DAAAC6C5782D907A0F4A9A56E8783F4A4D2295D8F2E3763B1A5B7B868640C1C853C363D2AAB127AD30B301827BD3B244B2FF00DA125624823D28CE08E722B356420E09AB266C26CE0F3D69EDB0FD4B70CC6190CD1B14246D24715734ED66F6C24778AE19C3F58E43B97DAB21643B7939C7352A4836E08C9F5A7CEFAEA2B1DCE9FE2AB09BE5B906DDBFBC4657F3ADF8DD2440F1B2B29E841C835E51BF0300F5ABDA3EBF79A638D8CD71116F9A1623907D3D08A974E33F874625271DCF4BA2A8691AADAEA70EF818871F790F55ABF5CF28B8BB3344D3D828A28A430A28A2800A28A2800A28A4665552CC4003B9A005A64F2C7044D2CAE11146493DAB9ED6FC5B65647C9B60679CF603815C96B3AF5EEAA08B9F2D230D858E32718F7F5ADA345BD5E888E65D0F428758D32681678AF2178D8E010DCFE551A6BDA43DE0B45BF87CE23214B62BCA52E4C5F73E5FA0C5384B6F70C44A7E6C7DE039AD1D282EE4A9499EBB3EA363021792EA2007A30355D35DD2245668EFE170BD706BCA2E7CE451219FCE03E5C93CE3E95125E30079FAD0A8C2DA31F348F65B5BEB5B95DD14C879C6323353ABA37DD653F435E351EA8CA9B779F6A906A72F95B16EA54CB06CAB1ED49D1425267B1D15E7B6BE35BBC448FE5B951827182C7DEB46C3C6036CAD788ADCFC823ED59FB1915CE91D8D15910F88B4B789247B958C32EE3BBB7D6B4E09A29E25961916446190CA720D4384A3BA1A9263C8C82338AC48008F58F267B5D983E64336ECAB0C72BECC3D2B666731A170BBB1D6A08A7B6BD80ED7575CF23382A73FA11425A0DB2BDBCC249A659940E4AE71DBF91C8AF38F1E782F4EBCD42DA6D1AC85A6A227025BB864C0D9D7732F73D8E2BD24DC2C3308679D1642A7CB763F7C0F51DB1DFD6A86A9A9E9B69347713DCDBDB4A576C739C1439EB9F4C537E438371D8F9F6F2CBC42358B8594DA6A17087CBFB506F2E4E0FA0FC2BCA7C63662EAF0DC436B72B77E711731B1E58FA83DF35F417C515D6353CDD278721177048439B7C348323875231BD5B00E7DC578EF887506923173A847B2F63E8517613F51D8D72D56E9ABADC7CF77A987E15D26E24BB82416D1C92ABE62865600C847603D6BEA0F86FE142749B4D4A23A96992BA1796D26C3C4AC4FF093D457C87AB6BB74D73E7452ED95181127A57D19F057E2FE9B69E0B7B1D73ED5E6589263973BC383CE33FE7AD6B8752A91E692D4E794DADF63D935BD36D959354B89C2C902E3730C2A8EFF008715E69F113C51AA68734FAEE8DA869D79A5C8A23B88E23906507B8C601C7E35E9365AEE95AF78722BE4F2E6B6BB8FE58651F330271D2BC77E38FF00C23361E1A8AD6DAC66D3A592E08920B643890E33BB07B8C62B5968B535834CE3A4D662F133492DF6AF2E9E8AAD208C02573D87D2B8BB6D574DB6D5A19E292756C9DF260718EE2B30DD0F398C531F2F942B2638155B4CD2AE751BBB9934D8A5D4634C285853247E158296BE6351DF5D0FD04A28A2B4185145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140054534F1424091C02DD0773542FB5444CA43F31FEF0FE95897376EEC5998B1F52726B78D176BC8C9D5D6C8D4BBD41DD5FE61B08C6D07A0FEA4D66CD763276A804F5AA4F2124924D42D38009C568DF2AF7488DEFA8FBA9CC870CDC28ACF331C9C9FA51339620100E4E6A27393C60547A9A7A122381D4E6A090EE269C09D9C81F9D2628D834D8600BB48CFE951B2920F4E2A57CB7B542F26D200191DE9AB932B2576204CF06976AA77A43203DB14C20B9EB8A35146506F425DCA39041A687F972DC67B5465415C96A8DD57A119C55249EA0DBBD99612442FB4EE008EA0669FB86DC66A0248390BB6A33301927B50E2D8F9E2BA968608FAD215073820E292270C99F6A8DFD41A9B6BA8277D857CE3E942CA402A7F3A69738C1A8989C7156977235B9331C2E01CD2216070463BD441F352193CC554E72383DE9345A7A6A4A9264E18539B0393D0D55C91CE0FA8A709490413CD251B85FB133ED3C8352ABABC2109C95E99355A300FB52C8BB46738A1A4C6AE98E31B31C0049EC07350891D1B18A5F31C1043904523B2B904E16857426D363D9B7A7278AA7333B31E4F5C73568A150483D2A2650E4834E1DC53DAC40A0F033CD38CBB3E53CF6A2588AA65B18155A6BD8618DDEE0A471C632589E9577316D5F55A96E439E41149E679019A47558F1C963815C56B3E38B3B0BB64B60F74146E2C47CA78AE2F58F16EAFAB5BA5D497A9E548D858426DC2FD3F1A569757A0D439D68B53D6AE755D3E11BE4BFB7407FDACD5787C4DE1B8ADA76BCBE76753858A25C93C673F4AF1A9A6B90517CE8C79919383CFE14C135CC56B1A4BB6470304818CD4DE16D19A284959B3DB358F89D631DAC916856BE5AB003328F98FE35CB785B538FC47E28FB3788F57934EB355DC648C6771CF4CFF0D79AC974EF324464778F24EC1C7EB505BDC5CAE210C247593085F9C835CEE0B789DD1AF34B53E95D5FC6DF0A7C1567E7DABDBDE5CC49F24B9DCCCC30064FFF005ABC7BE23FC71BAD76668ECCC71C498DA109E01E848AE56296DEF564FB55923E4E1C8EA3DC560EA1E1F81E62F6B2A6F879507AD47B3827AABBF334A75D6F264B2EADE2DD46DE4BA8D2EDA08FEF900E2B93D4753D484EEB77249BD5B1835D4C7AB78B5AD1ADAD2E977C7FF2CC1DA7FF00D5815CAEABAADD5E6A27EDE10B6FCC84AFCD4A2EAA76695BE66AE516AECA967A85CC7239925660D8FE1ADE8EEEF86966EE325A3040F95B38ABB7B2F86D3C2B1456D1A5C5F4C77F99B7EE8F4FAD72097F35BA1876BAC6FDB771494E724DA561C9538C5753B2D17C4D79E7891EE64518E137715E8DE1BF1CEA21B7DD5E92A3848F3D05784437E2366F2DB8FE215A96DACB2439CAB2631CD3B732B8A3C897BACFA9B4AF16585F6C865BD0663D013C0AEA74D8A39E3F3048A38E3D4D7C97E1BD6E48EE7ED6CCA0918CEEAF53F0FF008D678C2059895AE6A94DC754ECCD233BE87B5CB01C7C8D8FAF4AA92C9244E2365246DC920702B9DD17C6115D98E141BB20FCDF4AE9D352B6936813C592BD071DAA556AB0F8B514E9427BAB154DCA6704F23B548363F18EB52C86C25CB144DC7AB01CD57B836D190D0CA5811C8C6315D10C641BB3D19CD3C2CAD78BB8C90807E53902A2F3003863D7A559859181279CD472C4AF9DB8CD7646699C8E2D3B32BEE7520AB71E87B5598AE95D883C11C7155978C8CD21443D73CFA55EEB5337BE8CBA5D739DC306A394679078A84FEEF386DC3A8A16719C11472681CDD18F71B572C69639549C1A8AE260405C66A2E7A8E39A6909CAC69273C834A0E3A9AA91CCA0F269E262DDE972BE857322D6432F5C534864018531650A0E7A52EF2E00E703DEA6CD0D3B925B5E4F6B702582468E41FC4A706BA3D0FC577D08486F61F3E250419471FE4D72EE18742052C73BA7CA49DB9C9AB52BAB3D499456FB1EA1A3EB967A936C88BAC9D76B0C66B52BCAAD6E916449125647073907152DE6B3AA4533CC97D390ED9C2B000E3B564E9C5BD342936BCCF50AA3A8EA967656B24F24F19D83EE861926BCBAF75CD466977B5CC9BB18C9638FCAAABDF3386258966EA7D6A9505BDEE1ED0EE6F3C5D29907D8E288818CAB9EBF8D451F8AEF50B3482090311B4118DBC73CF7AE1964CE332E3DB34E9EEB74463C1C7424F7A3956C905FB9D7DDF8E2758808EDA3390433723F11EF5837BAEDEDE06324CEC58F3DAB232667007029EFFBB5C03C0AD2EA3A2466A2DEA13CAFB8B31CB1E49AAB2CEF9DC5B20D123B31C134D2BB81C0E9EB4D5BA8EE34CE4614BF5A9A01819CD44B006209E48E95622F97E5C0C74A6E5A590EDADC712BD0BFE14B9429B586E1DA992B229C9EF51F52181E0FAD67CAF76C77D6C86CD12EDDEAC01A80290BD4F5A9198746A15F6F43FA5529488938C77163CF76207B54A44E7A49C55473C606052AC8D110CA3357AEE24E25A1717311F998E3D2B4749D7AF2C27596071955DAB9E40F5E2B165B82FD4629B0C9B493F7B27A1A2EFB029464B43D034DF1FC8B1469A85B248D8C3BC5C11CF5C569C3AE787F55B896786EDAD1A32BE633AECDFF005AF2F02324BB0F9BD8D2ABE3747D55B8208C8350E31BED62B5B6E7B7DAD95B075B846572467270E30471CFD2A568A1948491229064E14A023F222BCA342F11EADA5958EDA68DADD40020917E5007A1AE8EDFC7B289585D69C9B4AFCAD1BE39FC6B39D296F7B94A5741E30D0F47824B7BEB8D3AF61B78B111B8B198FEE47F0968FF00BBD891D38AF967E2E0B2B3D5CC36DACB5F2BB36F568B6C89CFEA0D7D15E31F893730787AEE18347433BAB21DEE428523EF03EBDEBE5DD762BFBED49E5FB13B0FEF0E778EF8AE1C44E34DFBCCDA1AA3134BB1F350B5C5C28F2F24348BC1FC056B691A88D1ECE58ADB588BCA9F0F2C51C5903F3EF58DAD2B4569B6DDE48D13878E43922B1ED1838DE595C37CD58D3A8EEE6EE88E54EF63D96CBC6FE20BED3EDEC6D3547862B45DD14922ED23B9C62AAF88FC45E22BCD2E54BED65E701F39639C91FF00EBAE574FBB36F35BC0ADC3C7F7F3C0CF5CD457F7C915D3426E018C9C100673533C4549BF7762572A76655D3228D9F3245E746243E66CE38AF57F8116D6DE1BD762D6AF351B76B121D65B79D823C6DD9B23B579359B4F757460D3700BE491F7781FD6B63C21AFD9DA4D25BDC096E473907A0FAD6D4EA2E6B75F21557689F7D514515B9A851451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051454724F0C7BB7CAA0A8C919E40FA534AFB09B4B724A2A9CBA85BA6304B7E18C551B8D67E43E5281EF9E7F2AB54A4C875628DAA42EA0E0B28FC6B919EFAE642435CCC464FF0016DFE5F4A83E793048E9DEB5FABA5BC8CFDAC9BB24759717F6902B334CA4A8E554E4FE558BA86A92DCAEC8CB451B0C15FE2FC48E959C232324606793C75A8A43B4E3355054E2F4D58A4E6F7257933DF9A8770CF5A633E0D26FEA4F614A727D421AEC36E250AB80326AB338233DBB512967762A40C0E326A1258B107F4A85AEE6BB6C05863AE08EF51672C79A73EDDD819C01D4D314007A714C6879C704F4A15BD0714AA412411D6893E55E3AD4B7AD87B6A46E703355C923F841F426A6219BAD37CA381814EF6466D7332AB172C4E0014F2EBD01E4D4B2C2C70BD3079A63A2C6801539EFDE9A973684A872BB911901381D29CA993CF4CD3B6A10081D69B2380D800F1577E8851B2D58E7654E1474F4A6657A9EBE94D0497F4A8E6F34821075EF4256D06D27A92C93471B900E7E95035C8DC306A330B632DD69F1C11C6800FC2AFDD5E64F2B7B310CEC4E07F2A72C85B248F6A4C12D8029492A30687AE825EEBB8A8E338229636190477AAE4A8F9B3CFA50B2114B94A525B96CB0CD351F07A0C1E6A2620E09E45355CF20F201A2CC5CD6659F306718EB4F3B990B28CE07355C346C808E4D384A55481919A96AFB1A29596A0AC778DFF773CE29CC46495CE3B543BF008A5CE53269D84BDE64A18A8DB9CE79A6C93201C9031DE9A8C0862C0800139AE27C59AF9493ECD6A72CDD481536BB2ECDEC6BF8A3C5163A5DBB17990B8C8201CE3D2BCAF50F12DD6AD2492DCCAEB1483FD5E29DADA79902C52212657E9FD6A010C11145963198F8471FE150EAF2AB245AA6B7656B4C491BB499488820823FA5568A58EE1C9847EEC74C56849702DA59E1962CEF00A9C7404555B18CDBA79AA09DC7FEF8ACB9E4F565AB0E9E6FF49C8836803673D09A965654DF1BBA7DCEC7AF7FCEA782C52597F7A5F638C87C639ED4C82C5DA692DEE02096301CB81F7C7AD4F35812E67633EDE289EFBCE8E42D1A72401D8D55B92D08774210C63E5E3A56C4F088A0B88E47F29DD331B84E0D605FDFAAE9602C64C9CAB3741F9F7AA4EFAA25FBAAC2CDA8CB6ED1BC58123F2E71D7FC8A2DA6952E4DD2A89770C483A77EB8ED58D1C9E6A492489FEA930093D49352DBCCF18E24901230476ABD6C24D16B5212315B98C8F383F32631C0EC40A3ECDA76BB6D2830C715CAB95DC3233F87A555FB479692465B183C8F5CF5A8ACA73A75D8B8B5631CE0E40238C7B8EF492D0AE656BA30B52D32E2C2E4DBA06C05F95547DEAC59A625B6BAFDDAF4196783546F2B0565F9DE20391EE07B7B5717AED89121996328BF77EED4A8BEBB970A9CCDB3377A11B82F5F7A9627E115B1B45576400EE65F9BFDAA916556FBDFF01A5669D8D149297BC6BDA5EC48A6354FF7775749A4EAEC254646C0AE3ADD2366E3EEFF00B556E39E4B6C9DBF27F177A995352DCD15E2F73D5B49D6CC2DB2190E3AF06BA3B3F10CDC379B9C7E75E4BA76A224C6CF6E2B7ECEFF001F7D79F5AE3A94E4BE1FF8275C657D19E9B0F8A278E353E7E571D8D28F17827123E31CF5AF3CB7B91B78083E839AB125C429C203CF538AC9C62B592D4B5A2BA3D7BC35AFA4F260CA8C070475EB5D42C96139DE5CC6C7A9519CD78BF872FA28940F342118C7D2BB6D3F508DD7734C40E30077AB955941A717A19F2466F53AF0910391708C3DF8C5365199084E76F520E45615A5F4124BB4CB906B5ADBCA75043E01E83D6AE38DEE43C2536C9379001209CFB74A590214DC0629CCB12F4938A8D620E488DFE80F19AEBA78C8B39E782B7C2C43DB34C328C603714C9E57881DEA76F5CE298B716FB82BB1049E38EB5D7192670D5A324BDE449E60EA6944CDE696DC718E98A91511863927BF14C64C0C29CD5A664936AC59864462473F5AB39455C679359C3720C819FAD3F793DFA54B5CCCA8B51562D33EE19CF4A6F041CBF3E951062AA4E78A6860467345ADB15788FDE51B918CF4A905D1CE09C8ED514D287001238155663FC4A40C93C669AD7725F90F9252CE79E29818815089581C38CD39A40720552D34337BEA38BE29DBFF00759C915016E831D69F3C52467648854F519A1B6B4638D9EA5B5B8022D8831EBC534C8586335562603B13EE29B25C246A4960003D4F6ACEAD48D3576541F3685B9785F336923A66A3F30ECC802ABC7751CAE10CC319E5874AA9A85FC16B6EB34930489865581AF2EAE654609BE6365035627EC473ED46EDCC154E7233C7F2AE62E3598DC816776B2E54671DBBE2ACE93ADC492ADACD0C85E4071276C8ED5143348569249581D3695F7375B27EF544CAC460038EA0522C825412A93EB83C54DE60271DC57AF1A89AD0C9C5DF5206254608E9D298AC5F3B46707078AB6CC1A3C3F1EF55A59A4813CC8E369141FBAA704FFF005EA2788505EF3054D5F41A7EF60D29520633C5367BCD3864ADC0CE33B24186FCA9825494078A40E87D0E6B38E3E949F2DCAE4E5D479E99C5465F07A52A30238CD3D62DD2AABC8B1827196E2BAE1356D5994D37B6E3A191477FAD39DD41C8E3351BC6B1070406C1EABC83F8D426452318CD1CD193B06B05765C370070A7F2A64B7471CBD5305738DBCD24F1A48A54CDE4961C37A5439462B51CA5A5D181E29D5350D3CB34F3936D281E5E4657F2AF2CD635C5D41CA460A9470488C90300F4FA5767E2E124169E54F7324C77F5F41DABCDE2D3F4D69A59A4BABB8E68D9BCB2171BC1AF0AAC215A4E6FA6C6AA2D24D334BFB30B5B477535E46D15C47E602063BF20FBD737AA1B1B29248C31555E456C4D308C476F0CAD226CCFCE71F87D6B0EE2D5B51B9740360FE16C66973B94B9A5A222DCBAC9AD4BB0EAB6B3428CD180428CE3BD549F5640A59CA1C938C8ABD7FA5D8D9D9042D2452C881D180CFF003AC07B731128E8642DFDE5AAA50A4A4EDB7DE6CAD08EA6BDBDDC3E4192D1CE63C0719E79ABFA6EC6BB5B8B78F618F391273BB159D6561F66B4134AEA8263B707AE6AFE98E965FBC6B749A39323631C0FAD2AB7A6B9A9EE2D26ADD0FD18A28A2BD218514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145364748D4B3B0551D4938A0361D505CDDC16E0F98E377F74727F2ACFBED5971B2D1BEB211C7E1EB58F24C09C977639272C727939AE88507BC8C25596D1356E75694A622558C9CFB9031FCEAB3EA37A547FA4EDC0EC8327EB59CC4B9C834E11BB2971F757AFB56BEE47A19EB27B97D356BB55C19377BED19A92DF57B956C4852407D4608FCAB20727970053BE5038947AD2BC5E9CA5D9A5B9AF36B1723854814E0F5C9FA5536D52F99C9FB495CF60AB81F4ACE6909EA7348ADDCD3568F423E2EA6C7F69CE63C3CA4FCB8E3033EF551AE46F2EC41278CD53693B546EC4F4A49DBC86DA45996E598E01EB5033963D69B8032739A664F614AFD89B93A320FBC334E69C0185E9554B91D690B1C67352EDBB2B9A4B42C34EE78CD440B3E4E0E05441C9E71D29269C94C703B7145FB0E29B7A8F0C0B1534C94EE5C29E2A34700E1BBD1732285C035177735492D869D8B9DE49F4C7AD35D0C2AAC59493C8C1CE2A3DDB80F414D725B9357D350DC4724F4A744A72314A9192324D59540232D8F6A86EC558ADB5837029C533C91FAD48D8E589E053371604A826A5BB8C722E72CB8C81D2A27DCAFB58F4ED4C2F8192314C767EA3183D73D69584DD91216F31800718F7C51E509548DC7E839CD57762BDA9C92B260A9C53B69A12BB913C6CAE141F702A220A93B9CB7352CAC24EE73EF55A5C86C0E95A46FD4896FA6E3CC8A738EB4B0C8A4E1980CE6A021FA019CD42EC37FCA08FC69A8DF4239E51F32ECE39C67A75AAECC7183C9ED4C01CF280E287F347256AD2B680A4DBD87248E39C50013C934C3367E53DBD0537CC61F757F4A06E5663843BDCFCF81DA80B838C73D2944A09DC78FA544D744CB92724F73549489F690BDC9813D0E690ED1C914DF3D58F51417C726A1265FB48F463E26DC7AD595284E191704631F85526DA0E430E7B52A4841E4F143574545A5A96248361F958804679A85CB2F4E7E94B2DC6400589C564EB17221819F2318E326A5F346371394252E5B99BE26D756DA296186E1893C302319F6AF3D8EF4BC31CADC1193F20E739A7EA92C977704993393F38AB3A7584D71144F1C45243CE3DBBD633969A9D30A4CC949E4B8BA8DA160766410E3273F5A8AE52E1BEFBFCC38C7A8AEBA0D0D22C858F691CF4F5A8A6B6511185941E7AECAE69555BC753B214524705E6C697B2CE5CBA0183919AB36DAA2BA79768431270508EB50F89AC24B79E52803C4E78E3F9D622DC4B0DB3308A349038DAE78C56F19291CF3A7CAD248EB3C31A8462E5A1B893680FF0032824E076E0D6A5F5D5BC715BA87124E81C6F7E32339ED5C9417D6C9A72DC12249509079C63FFAD55352BF92EEDA31B94C8783B78A9946C649F2B687EADAA5DC277CA048B21CE7D39ED595A9DFA5F6D2648D53BA7A1F5AA7A96A33A5C224E99806401D7B551B2B8517AE11B2B2FDD455FBB5A7D9D04ACF5356E2291AE63000D8B83EA0D5850CD312536853C81DBDAA18A0BB79B62EDDA31B40EB566DAD6F16424FDC3D78C9FAD4B6D2B9518CAD745796D448644E7048C7BD477B11B7500B92700723A66BA3856386C4DB7CBE649264B15AA97902EF01CE467D3A1ACA351DFC8D9D26D6861731B3C902F20E1AA440F7904914F188C839C76CD5B9ED64F3259B710AFD41AAD1A334530690649181E95A5D4D194E2E1A985AAE982681E6B7E1D7F83AEEAC68ADDD1B73AFFDF55D9BEC01F632968CE5D31DAB9DD5A19A3BA391B11CFCAB4AD2BDD3D0232BBF7B5220932FCFDBFD9A991D81DB2A7FF654C8D9F1B976D5B8D8B86059170BB96A5DEE75C1A65669CC2DB93EEFF76B674FBD694A867D89FED726B366806E67DEBBBEF73F76880C91386DA8CC17FBB52ED6BADCAB5AF767596F725532E54A1E3EF62A57BA661952073D33583A75EAB298D474F7E95A88D94C82B91DEB0B4A09B668A565645F86EE44E19F8CE714FBDF115CC08823951719EE7358AF712A970194F6C552BA9DDCB2F1951856DB9A708C9352903764771E1FF1648A6359A4EA72E77D7A1693E208CC71937218B7F027E95E096F2676703E5FFC7AB5B4ED52E6D7698E4D807A71573A4A6B989537B3D8F7B5D6D480049838EA6AF5A6A6091871CF7AF15B1F11CB20C4879CF07D6B774DF10FCAB97C76C66B81D39465E66EA71B58F6182FA178C8661CF06ABDE5BE9F7C583C40138391C722B821E23478FCB89C29F5EB5AF67AD44F1A3ABFCDEBD6B65CF169B76139465B1D1C766D00FDC4CE475C31CD598E69224CCB8C742719AC7B7D56375C679F535A7F6A8FC9561D7EB5D11C5CA3F1184B0B093DB526FB52E70D8523B7AD279858831F39EC2A16B8B7B8FBE1727BD24502F9A3CA98807A83CD74D2C4DD1CD3C23E8C9198E4F2706A4562A3839AAB28B95CF96914A3DCE08A3CF8C7DF6F2CFA115D2AAC64724F0F28BB96096C925BAF34C73839CD0ACB280CAD91D3AD4BE59EA39CD68A7D0C5425B90658519C70453C0C9208E9E94AA237B29E6474F908049E48CD6556BC63EA09756376AE010EA72338A845F424B6FCEC8CEDE78FF22A98B0690B4914F2A2EDCF98392BFF00D6AABAD4714B6B2246ECE59001E59E7D339AF33115EAD9F26E7445459A126ADA75BC723CD1BBA32E17CB39DADEFED5992C915DCA6586D0CB6A4869E276FD3D719AE67525B9B58E3B221C13DCF1FAD56B3D56F34EBEFB189E38A75398A51CB7BF3F8D798DD79C6F2636E37D1E86E6A1A9DADB63EC016243C188FF000D6178935237DA77D9E66923914A796821F9241DFE6EC6B3EE6CAFAE355785E33B1B03CE64247E357AD6EAE6C9ADADF529774449C14195DFD857955E2D3BAD7F3344DA22F08E957D1F9B7374122B7FEE07E7D057422CAD74F592F4DE4AFE64993193D3D2AB59451EB5343707508AD911BE606221C01D715A5E2DB4B410C3F67BC79E28DC0219366F15857C54A324E4EDE4854E4DAB6C2D8EAB757B2449672996339CA138208EA01E8722AFDDDFCD691859810C721080413F515E7BAD6A77BE1FBC75B2B2962B6B9C4A017DC091E95B173AF5F1B58DDB4CB98D55371F9094C1E735D1EDF134E1ED29BD01DAF668EB6F3C493D9DB2C423B7915B9DCC3E61C74AC9D1758BCD42F8E9EF7500798E620D85C7B66B9DD5751BAD4DDAED6D2E31E58DCD1C448C01FCEAAE87A84325BEDF28ACE0E37C830C2B29622ACE2DD4DC6B963ADCE8F5FD3AF2D750656B9B69C3FCB2C65B263FA1EF5BBA6DC4F6AA4405409E2C301CE3F3FA57376BA78B94FB53DCB0947319419E7B669B79AD4B6163143288BED0AE4C98FE59AC16266A3CAB5655E0DDDF43AE6BE88C90F91312C32258D9791EFF004A9A78A26413CB2E77763CF4AE22DB5F6B9D3DE68913CC1D70F8CFB5353C4F7F728BA6AC6C21525A39E44C7A6466BD3C2661898FB9242718CB54CEDE17324436B08D46460F148E003949335C25AF88E6BDB94B2FB57CE84AE0719EF5D1DA5F208B649C11C8CF5AF7E862D38F3BD0C2514F4356795F07639DC7F8AB0B518AF9EDDB338F9392DD723D38E86AF5CDF4A20FB5DA5A2DCBC441783FBE2B93BCD66C25BC94436525B49372E0C8481DB18AC7138A8D58DA1B8ED6B15B54B696EB4E9A66BC90A2024230C015C4002DADA4334B1070C366FC9CFD2BBFF1F5F5A69FE0E82CA1909BD907CC01E31F4F5AF2D8EE26B85F2DD5148E42E33FAD723A33F64D6C6BA2436E584CDF320DB9E40ED57ED6FC5ACA1E18A123AE0A64E7FC2B3AEA4171079B1F96B8F9303B9154E2BA7B50249B9FF68FDD5ADE1424E9A4669A66C6A7A95CDCB879642DE5FF00AB07F807A7D2A8D8E2FEF364AA51D7818F5A905C5BDE797008F12E79643D7D2A0983D980648A43197CA7CB90706B4947D9D925A99B873A69334AE85BD869FBDE4B7965F3388DC92E9F85648BA6B86323EC45C723763BD5B8EDACB5691D16EE0B5C8CFEF33D7FC2AAC90B59C78792191F38529D2B269C924F7F3348A51D0FD2FA28A2BD700A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28AA773A8DBC51875266CF4D9823F3E94D45CB613928EE5CAAF75796F6E3F78FC9E81464D625E6AB71387401628CF0029CB1FC6A83392304E2BA23412F89984EACBECA34EF358B87DC900488104063CB03FCB359B2CF248774B2B4878E58FA0C546DB430C36E1EB43797D0B0E95AF3A86914472DF593D447739C914C79323200A594A7DD539F7A809C3509F36E26EDAA1DE61CF1C535A563C063F9D35CE4FA5348C75A1A57B073B4877984F534E405875A8D460F353A15EB5339762A167B8C64340DD8CE29EF20F5A8BCE0AB8CE6A799B436A2981639E7B504E39CD465C939F5A4049E334BA0297443C313C1349E676E38A63124533612C0138CD175D44D49B2467079CD34480F04531C6DEF5106C9FBD4681664A5DB900902942958CC8DF4E69AAE8AA5D9BA741EB4C9646957711841D3D3353746B143370C93F95579A520F073F5A91C863B54E2A278C1190734D49751B4DAD07C2FB9086A79258E055759154E0B019AB36A51D865873EF43689836F427C1DB85383EB492395F943645492322461DB85270BEF55DA4566C638F5ACEF766BB0E6242900F5AB5118D2CFE60BB99B9F5C5515396E7A54923EF2154E00E94DEA244372A0838E7E951E09C7CB5A57D62D6F6714A6556593AAA9E4719191E95441DA9EA7A74A9D1EC0D771878E314D651DC10053919FB9E291CFCA431C9AA4B5D41156E246CE49249E7351ED1B565DC083C11DEA62413827AD472602E31D6B4564AC4B4EF71C141042374EFDEABF9782401907B9A9628CE783815314558FE53963EA693767B936E6238C948950F3C76144A63238A565656C11D0D26D53C91C8FD2A74DCBB323748DB92283100396029F711F944E24E3F955749C676B64FA534EFB09AB315A14DD9033ED55DA119C8503D2AFA8565528D9247229932A06DAE704D529D89943997914BCB010763EB4E241E3763EB56DE10572067DEAACB00EB54A77DCCE745F41225DCBC49C7A52B210B814DD817254922970E899C371F8D2E7EA0A9CAD62095641C0EFCE715C978D2FE381A2B7925C348B922BB524E377007A9AF12F891AAF99E299628595511B6467D477E2A653BB2E14ACEE6F785F4E8EEEE4823E4EBD3FCF35DDDAE9715A2E31CE315CF7C3E45834F8E4070CD5D2DC5C92482D915E46227294DEBA1ECD18DA24375142A87001279CF7FA573DAABC60E1DF667BE3AD6BCF7299DA5B8EF593A83AC9819C7A561CE92B58E851BB393F1098AE7388FEBEB9AE36FED3CC5C796D9EA323A57A35F20C2938E3D00E6B02EA28B7E011B88F4AD2359C1F744BA2A5B9C15C19625F2BCA1EE718AC56BAB8120442E181FEED7A0DFD8AB903CC039C9279AC79AD22DC589F9CFB66BB2957535AEE734F0A93F74E5AFE4798F94EBB7FBB573C2B62ED76B332EF087E60475AD26D3209AE37CA4A01C9C266B634782DAD426C6073CFD294F170E4D37F98E18551D4D38F4E5DE1C0507A8E318CD173000B1852063A93CF14B73AA2E321B923FBBE9C5635C6A8E1406902E0E31EB5C14A6EA5ECED6F53A941256B16E5704201D9B35048E04640277E73C8E959736A8C58ED75F4E38E9524977B9318D8C4536DEB664350BD90EB9BA21C23AF3D467BD626A57CD6F71E6C6FB0E41DA16ADCF3B285DCE1DB032718CD739ADCB8DCE8FF0075B6EDAEBA155B769239ABD2F7798B0756314F994ED439071E869D75769716A1102B38FF0067AAD7337778CC367CBF951A75F3432E1BEEB577DE125A9E77BD7B9B70C5F2A333FCDFDDDB53ED466F97FF0041ACE8AEB7A82BB8B16FE1FE1AB092CABFDEDBFDEAC24DA564CEB8F3349A2F2B31F971F7A9F3985B6305FE1F4FBB55E299D599B7676FF7969CB2EE42037CADDAB39AB6A6F1E66F51DB36A8DA392DF2FCB5784C63830D2FCC5AB372FB5519F23AAD2CAFB62C3B9CE7F8BB54B8CA49390EDCB765C9267745DB2FC83AB6CEB55E4B8519C7CC47DEA4471E53659B3509778FEEB2FCDFEC554799BEC1CCA2B526F3D15955B0BB9B6EEDB41B85C2AC727F15566765F94955A6FF000A156DD56AC89574F566B4572C11555DFF00DAF9BEF559B7BC657044C7E435911BB23B146E0D2C5302BB58E3FE03594B5D62573799D2DBEA9343E66254740476ADAD3F5C78D3734840CF53C5712937945CA49B90F1D2AC9B9911371763B79F9BFC6A79D49A4D0A3748F4FD37C43F20258650D74165AEC72A3832640F4AF18B7BD659B86F9B19E5FF00956A586A7247B009C820E738CD4D48456ACB854B1EB22FD4A798926DCFBD68691ADA826298E48230FDABCCE0D648E5E4CA8F4E2A7B6D5C48331CFE513C83DFF2A9A6A4EEA46929368F5917F1B9C8900AB06F63E3710C0FB579ADB6BE32533C7F7C9AD4B6D61A58C46F31250719EF4D3B3B221BD353B349226CED729CF6A9259AE222120B8F3541E378C1F7AE66D35095584B29241CD6AC7761882EDD6B48D792D0974E125AA2EBDC3E489227507BF506AA35A5A4EE65512091B871BF19ED524972042DE5C837F6A92178A4D8CD170476F5FAD0AB4652BBDCC6784D3DD6674B16AB6D7F0C3737571FD9F2466360A4600CF7A96CFECA923FD9EE448B9C039E78AB5E5B248C62949539C87E6AACC8B0A9912144CF271DAA93524F530746517E4645E4A2DA417773B2486563B327B8FF00EB57337C74C96F42E96A9BCC98328E3E9F402B6F54B9FB44B9B84CAC4BF2613A9C7191543C356135CDCCACB145109472E63C271FD6B8638594AA3D452972EE56B9975AD3DDEDEE2FA09B6004481B39CF6A6DB5D47A9CE20B9B88A0F2BE6D8E3009F63EB5ABADF85F73492C717EF480DE613EDDAB2FC39A34F6E4482E24BDB80F97063CA707A7FF005AB2AF972B393DFEE2346EEBFE01DB5F4CBA3A096FD229A798672BF3003B1245625DEA82326658627206DD9267073DC7A1155F567D467BB27CB8A1464DDB44982A3D31583193048F34971E6AA1C9F33B76AF93AD82A8A6E55168CD12E55A1D346D633FFA6DCB7C862188972C01FC7B5175E24BC8B30AC7F658C6230AA770DA3B1F507B8AC58BC47A60914C6E772A7C881FA1FF000AA77FACFDAE513BC6A3A070A31F8D52A5560AEA24EED5CD7BEF153D95AB5AC127D9F391B50E1083E82B2FC35AC69536A822BED323954A1DC48FBFEFD7AD674B1A5DCAE58C7BD0640714FD2EED74CB8FB4DEDBD93FEE8C64797B7713D0F1DEBB70B4A3C8E52BA7D89AB09CDD94B43A2D5FC4315B242B62920B21948CF958284D711E2A7D4E6903C271081E61C9CF19EF5BB2EBD05898E3FB0A49148E5C02338CF5A8F58D2ADAEA437B64ACF21C811A37507B62AA8D374A519C96FD4DE2B9935739DB099238B22E124925397403A7A56E69DAAACA638105C2FCFE5B909C554D0AC8C2C65D46DC41374002E41E78CD6CC5132EA588E29A28C1CB2638CFB7B56F5ABD252E69C39BCCC9539AD9D917EDF4D81479B2C914698DFC9E456EDAFD822825B8999E4BA8C80A07CC187E15CFEA771617291FDA62DA3843F2E727A56CE99A621B2967B8BD86D2DA39331498C161D318EBD6B39662E9C14A3A790BD94B995E453BFBF4B772F2C8D1367188F835C8C57C24D51AF675FDDC47FD694E4FD6A7F1CC1750E658E75781B94910F4FF00EBD600CD9E85F6892E4BACBC1079FC715D395C95793A92653859D8CFF11EB375ABDFCB34B26D033B40E805634178B6BBA697EE61B6D364679A66D8CDF77E6DA29D7BE65ADBA193E6CAE4A94E95ECD4B4256B27F99368C9B49EA53BDD41E462CA02E7E62CA3EF7FB5569DB75BA65D7EE6E6DD55F6A3A2BAAEE3F776EDA6DECCFE547965551F284FBCD5BB9FBA94624FB36E4B5B00BE953623ED450FC36DF9AB6E1BF12C088434AAC73E593C1AACB209AC05ADD409BB68D8E53A7355E0B56567B88E51B22FBBFDDAE7C4F2B8A4B70E456B22EC5736D6E1637B7F372EC7798FEEFB7D296F05B4D6CA431FFA680763ED59B75AD5DCCD1C372A916D66030319FAD4D6CAF708272BB6D5CE0BA7F7AB2845D35CD25A8DA92D59FA6B451457AC01451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014C9E548633248700552BFD4E3B7631C4165914FCE037DDFF00EBD616A37725CCE1D98F07E55CF0BF856D0A37D65A2329D5B6889EFF005269E50F97445CE173DBDC77354E798C8D904D4441239349B08E09C57439452B44C126DDD8AED8E734846464D007A9A6B3E0707A566E6BA1693EE234840C014C1B8824D064C382013403BB93C0A399D839500E3BE293058F5A50AA464B0EB8A955547538350E762946FB0D8D107045399631C1DA063BD23B2E783519642D962C7E950DBBDCBB2118739C714C662071C629CCD9E074A660927D315570690CDDB89E79148CA73D6A55D838185151EE0BC814D49DF4125A6A37A00314F00019CF6AAD7D70D0C7B95416CF43C55296EAEBC9F30CB18C0C610E4D44A43B5B634DE441EB9F414ACC36E73C0EF5CCFDBA5562434849F6CD584BC9268FE71803D7AD4B92411773664957B1E4D549E648D465B2C7A8AA9179EF0E448A589200231DEA3BCB5BD8A64DA15D194B373C8F4153EDA3B5CA54A4F51BA8DDBA8055B00F4E793597FDA176851034849E8704FE34E9D7CC20BAE4E78A924B899555DA4DA0AE00CF6A51ABA89538A228EF6F96E36CCEDE8DEF53B6A171086DEE361E0540C15834CF23F99BB3C0E0D5AB46B799D95D847D31BB900D539B7B2294229144DE33CABE6391CF1CD4E656DF85918023F2AA8444F2B8F2651E59C8931F29FA1AD081206B6DCB265BFDAA4DB48A8A52571AF753C326E49CC8080304702962D52E48FDE90AA0E7A5569E6416C406F9F76391502CFBF01882A28E69588E557B9D15A6A36F32925C27D69CB748EE4238201C66B9C6995E02A90BB4991F4C52C72B44F86E08ED494F403B3BA6DA9126FDE426E200E141AAAF202081DAB0175077C86B9287181DF3ED551F50D45672C8C2405C1CE7B5691DACC4A777A1D2C44E7D854936D319C839AC1875768816683CD38FBBCFF4AB175AD42B0F9D2284040040A69B6F41AD0B98E73514B924807E951C77914B82ADC1E84D3A599125E8700649C55735B7264B99684A85953248E94E570B329241EF55CDDC333B2C6F9C71CF6A6C618C9901CE3D28566849B8BD4BB33AB0E0F3509CED241AA503491B3B1DC4524F70DEBD7A0A6A16D2E0E571F7939500039CD31590C793F7AA13E6B1C90290EE6E003C555BA5C97EF6A59F3CC5C90C314E3728FCB039ED51209C8F9F900719A8CA3AF5145A3726F25B1763BB5FB9E94F91E23106E49CF4ACD432062541F4AB316194B39287DA94A291A464D9300AFF00329C63B501A518463951C66A8A39473F366A58A731B0607F314D6A2949477249C1116D66DC3A6715F3BF8C101F1B5CA48C3CC3366BE8D8A68DDD4E3A36702BE7AF8811C969F10E60C240C24DC7201C67A565D59B5292B5CF4DF0D308F4E8D10280055BBDB858F277F4EE2B98D0B532B66B83F73A66AD5DDD978F008C75AF1EA2F7EC99EC536DC465E6A0A9BFF787158B26B11E4A994923A5375159A512B96721FB81D2B37FB3A5F30E327D4D54F95AD7734836F42CC9AA023767BFA5529AEE3993F7441C1382284D2EFB684C31E7938AB36FA4CC83322107D71D2A252A704ADB96A2DBB9972BB94FBFCFF2ACF9898E46C8E5BBE2BA89746983020641E800E73542FB4B9A41B5C98C0E7EE75A7EDDBD13B11CAD239A966D87E6C92286BDC0E24C60641AB577A75C07FBBED9AA1369F74181507695F4AB972B493D1911BA77457B9D44AEF52CA7EB596D7BBD0176E5BE62A3F86AC5D69F387767523E6F9722A8BDB3AA8DCAAA5F3F353F6768DD0E4DECC58EE14AEFF33EF0F9B2B53B5C3267E7DCA7FBD5598EDF91DE2FF6BE5A864B820380EAA57DAAE31697B4B19ADAEC9269CAA96DC79ACBD465464E4F3F768B8BA654C31AA3733332B0CF5F6ADA3CD2D5FE06152A5D3452B86DA796A8E376F301E94392F96ADFF017872E7C55E208746B59238A69559816E0715D508B968714E6AC52B47740ACAFFF0001AD00EC63DACECABF7ABD38FC12D7E16DA27B075E8089473522FC1FF10A111C8D6B924818947DDA994237BA66F09A51F88F328A6D9B87F7FF008AAC2B607CCDFC3F2D7A6C1F0875E62EA64B51CECC19456D5B7C199901965D56D0E3FE5985CE6A5C636BB1FB78DACCF1BF95C6559776DFE21FFA0D5FD3B4CBED46610C0AF2484FA57B769FF07B4C251EF353270BFF002CE2AEBF41F0E68FA24420B4B50187FCB4239A708C5BEECCE75924DA479059FC2AD5CC70CDA8C8902C833D33FE4D6C49F0AEC0464BEA93161CE445D6BD9845E7A6FF00BC14E08EF5564B7552463F3156EF72156933C326F85A1EE48B2BDC469D1E54EBF9567DDFC2AD73CB2F0343388CE0EC936EEFC0D7D02B6D12F20E185579A0403E51B5A869B5A03AD2EA7CC1AAF86755D2E4227B7902A75C213F2D633821CA1C82BD7E5AFAA6EECE39A2F2E68BCCE31827A7D2B8AD7FE1D5AEA2EF32C197C67E5E0D4F235A954EB41AB753C3924641F232AECF9BE65A78B875198DFF00E025735D1F89FC19AA69825B8899E48DDB1B31838EC715C64AD3428F09DC1BF8AA1C6CBB9BC6A26FDED51A114BFBA46F9576FF00085C55A86E0A1DA66DC33F29DB58B6F74EAA0FDEDBFDEAB0934A8C1F1F77EEB54544A51E51D3B2775A1BD1DDFCA4B5594BE20828C401D0560ADC46C836336E2BF37CBF76AC0B92CEBFDDA8A916A06929B7A9D0DB6A1B64008E3B83CE6B6E0D4D246551284191D46715C6472BFDE0E8A1BD45584BA6893109009E9C7158C22D2BB25BEE8F46B0D5C81E5C9D73F5AD88AFFCD00C536533C7AD799DB5FCB1E369D98F418AD7D3F532B161E52C47F11E29AE66F47A9AC1A4AE8F408F5065529BF8EF572CB5405111A44CE3A0AE334FD4B1107908D98EC335AB6B766EA7486DE30EE3FAD671569BFCCB7356D4EA567DE33E674AB10DCC80E00DD9182315CAEA7E24D0F41D32792FE6965BB8982476D08C973EE7B557F0F7C446D4EFCA5AE9ED66C06638E6009E9EBDEBA2145CD5EDA18D5AF08AD0ED7FB361BC8C992DC664039031562CEC65B2B4F2160336082067693CFF003C563AF89A6907985A48B230D11CE38F4A9EC6EB56D5770B48A2455383248DD2B554F975D8E49D5535B1D0DB5AD9DCE1E4B836C003BBCC4DC0543797FE17D0FF00732CD6E2490062106371F7AA17108FB9717608C1DDCF15CAE9DE18D23C4FAFDDEB5772CDF6584F956EA80E1C7AD538426FDE324AC8E9BC47E24F0AE87A3CBA96A56D14F11185511E19FB8C1AF251F1AFC3A2F9913C156EB685B20CAE5980EF8AF5AF1269D25E68A2D2D2D12EA1847FC7B38073F4F7AF03F887E08B54892E348B0B9B3B961BD6D8A1643DC8071C11E9512C361EA2E59C6FF32A2AEAE99D5EABAEF87BC5F20BBD20DAC7245858E158842471F5E49AAF6D65E523CB29327387078383D315E1EF1DE59FEF48785D1BA10C0A9AEE7C05E22BBD5641A1EA5334A0A3B5BB67907AE2B8317977B2A7CD4765D19316D3B33B08AE6CADEE0C9215C87C191C65C67A71E959DADB4A6213649473C6462A85FBCA751C49161233825F207FFAEB7F46B6D475259733472476E003197C9233DB3DEB85A8C63CF366AA4DE8732F7AD6DB2391BBF19F4EF576CB5C16A5E52E248CFDF00735B5AEF86747B95924B0D584572A7CC486E060918E467A572361677314A4C922411A1C3BBF719EC2887B1C4C6D07B03938ABB3B3B7D5D6F2D9D34F28273C0DE327D6AEC7A8CF7B02A5EF9A93BB805E223047F4C57276F6D1DAC91DD432978E54C8D8781515D7882F52F1626543038F95BA1CD6B5F0768A54C4A778B933D85EE742D2ED7CA8E05BC9E3E6267
Post #560996
Posted Friday, August 29, 2008 1:18 AM


SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Yesterday @ 3:46 AM
Points: 144, Visits: 244
try to remove -N in the bcp queryout.

If you do that bcp doesn't output anything it just displays the prompt:

Enter the file storage type of field FileData [image]:

which isn't very helpful!
Post #561012
Posted Friday, August 29, 2008 1:58 AM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Friday, July 19, 2013 7:07 AM
Points: 210, Visits: 160
Here is what I did.

create table data(data varchar(max));
INSERT INTO data(data)
SELECT * FROM
OPENROWSET(BULK 'D:\docs\DB\oracle.txt', SINGLE_BLOB) as f ;
declare @cmd varchar(512);
SET @cmd =
'bcp "SELECT data FROM woof.dbo.data" queryout c:\1.txt -T -c -C 1251';
EXEC master..xp_cmdshell @cmd;


Even the Russian characters were preserved perfectly whithin the text file and no jarbled ones.
Post #561032
Posted Friday, August 29, 2008 2:00 AM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Friday, July 19, 2013 7:07 AM
Points: 210, Visits: 160
Errrrrr this line is too long. You could've shown me at least the code
of the create table I would've believed you.
I've just tried even to dump the mp3 and pdf files with this code
I haven't noticed any corruption.
Show me please the output of your
xp_msver.

Post #561034
Posted Friday, August 29, 2008 3:48 AM


SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Yesterday @ 3:46 AM
Points: 144, Visits: 244
Errrrrr this line is too long. You could've shown me at least the code
of the create table I would've believed you.
I've just tried even to dump the mp3 and pdf files with this code
I haven't noticed any corruption.
Show me please the output of your
xp_msver.


OK - the Create table and insert is as follows:
CREATE TABLE TestFiles (
FileId bigint IDENTITY(1,1),
FileDesc nvarchar(100),
FileData varbinary(max)
)

INSERT INTO TestFiles(FileDesc, FileData)
SELECT
'This is my uploaded file',
(SELECT * FROM OPENROWSET(BULK '\\NTSERVER3\Users\Robert\Data\Dump1.txt', SINGLE_BLOB) as f);


When I bcp using your latest suggestion the output file contains ascii characters that are the hex representation of those ascii characters. So if the original file began with the characters 'pti', the output file begins '707469'. Hence the output file is exactly twice as long as the source file except that it has a carriage return line feed combination immediately after the strangely formatted data.

Output from xp_msver is as follows:
Index Name Internal_Value Character_Value
1 ProductName NULL Microsoft SQL Server
2 ProductVersion 589824 9.00.1399.06
3 Language 1033 English (United States)
4 Platform NULL NT INTEL X86
5 Comments NULL NT INTEL X86
6 CompanyName NULL Microsoft Corporation
7 FileDescription NULL SQL Server Windows NT
8 FileVersion NULL 2005.090.1399.00
9 InternalName NULL SQLSERVR
10 LegalCopyright NULL © Microsoft Corp. All rights reserved.
11 LegalTrademarks NULL Microsoft® is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation
12 OriginalFilename NULL SQLSERVR.EXE
13 PrivateBuild NULL NULL
14 SpecialBuild 91684864 NULL
15 WindowsVersion 248381957 5.2 (3790)
16 ProcessorCount 4 4
17 ProcessorActiveMask 15 0000000f
18 ProcessorType 586 PROCESSOR_INTEL_PENTIUM
19 PhysicalMemory 8191 8191 (8588959744)
20 Product ID NULL NULL


And yes I know I'm running this on a SQL installation that hasn't had the service packs installed yet.
Post #561075
Posted Saturday, August 30, 2008 2:45 AM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Friday, July 19, 2013 7:07 AM
Points: 210, Visits: 160
Robert (8/29/2008)
Errrrrr this line is too long. You could've shown me at least the code
of the create table I would've believed you.
I've just tried even to dump the mp3 and pdf files with this code
I haven't noticed any corruption.
Show me please the output of your
xp_msver.



OK - the Create table and insert is as follows:
CREATE TABLE TestFiles (
FileId bigint IDENTITY(1,1),
FileDesc nvarchar(100),
FileData varbinary(max)
)


First of all I would strongly reccomend you to use
the varchar(max) type for the text files.


INSERT INTO TestFiles(FileDesc, FileData)
SELECT
'This is my uploaded file',
(SELECT * FROM OPENROWSET(BULK '\\NTSERVER3\Users\Robert\Data\Dump1.txt', SINGLE_BLOB) as f);



Try to use (SELECT * FROM OPENROWSET(BULK '\\NTSERVER3\Users\Robert\Data\Dump1.txt', SINGLE_CLOB) in conjunction with the varchar(max)


When I bcp using your latest suggestion the output file contains ascii characters that are the hex representation of those ascii characters. So if the original file began with the characters 'pti', the output file begins '707469'. Hence the output file is exactly twice as long as the source file except that it has a carriage return line feed combination immediately after the strangely formatted data.


Ok looks like by default the bcp dumps the file using the UTF8 that what makes your
file twice as big - for each character it takes two bytes although you have to use -w
option in order to dump the text file using Unicode characters instead of -N for binaries.
So try to use e.g.
bcp "select field from yourdb.table" -T -c -C 1250.


Output from xp_msver is as follows:
Index Name Internal_Value Character_Value
1 ProductName NULL Microsoft SQL Server
2 ProductVersion 589824 9.00.1399.06
3 Language 1033 English (United States)
4 Platform NULL NT INTEL X86
5 Comments NULL NT INTEL X86
6 CompanyName NULL Microsoft Corporation
7 FileDescription NULL SQL Server Windows NT
8 FileVersion NULL 2005.090.1399.00
9 InternalName NULL SQLSERVR
10 LegalCopyright NULL © Microsoft Corp. All rights reserved.
11 LegalTrademarks NULL Microsoft® is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation
12 OriginalFilename NULL SQLSERVR.EXE
13 PrivateBuild NULL NULL
14 SpecialBuild 91684864 NULL
15 WindowsVersion 248381957 5.2 (3790)
16 ProcessorCount 4 4
17 ProcessorActiveMask 15 0000000f
18 ProcessorType 586 PROCESSOR_INTEL_PENTIUM
19 PhysicalMemory 8191 8191 (8588959744)
20 Product ID NULL NULL


And yes I know I'm running this on a SQL installation that hasn't had the service packs installed yet.


Nasty :)
Post #561598
Posted Monday, September 1, 2008 3:22 AM


SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Yesterday @ 3:46 AM
Points: 144, Visits: 244
First of all I would strongly reccomend you to use the varchar(max) type for the text files.

For the purposes of experimentation I did so but really I'm looking for a generic solution to store and retrieve any kind of file to and from a database.

Try to use (SELECT * FROM OPENROWSET(BULK '\\NTSERVER3\Users\Robert\Data\Dump1.txt', SINGLE_CLOB) in conjunction with the varchar(max)

I did this with the amended table structure.

Ok looks like by default the bcp dumps the file using the UTF8 that what makes your
file twice as big - for each character it takes two bytes although you have to use -w
option in order to dump the text file using Unicode characters instead of -N for binaries.
So try to use e.g.
bcp "select field from yourdb.table" -T -c -C 1250.

The output file was 2 bytes larger than the input file and those two bytes were an extra carriage return line feed combination on the end of the output file.

I'm beginning to wish I'd never started this!
Post #561910
« Prev Topic | Next Topic »

Add to briefcase ««123»»

Permissions Expand / Collapse